{"version":3,"sources":["webpack:///62.1e4e69ef.bundle.js","webpack:///./src/js/components/Accordion.js"],"names":["webpackJsonp","218","module","exports","__webpack_require__","$","_classCallCheck","instance","Constructor","TypeError","_possibleConstructorReturn","self","call","ReferenceError","_inherits","subClass","superClass","prototype","Object","create","constructor","value","enumerable","writable","configurable","setPrototypeOf","__proto__","defineProperty","_createClass","defineProperties","target","props","i","length","descriptor","key","protoProps","staticProps","_component2","obj","__esModule","default","_component","Accordion","el","config","_Component","this","dom","$list","$el","find","$item","$tab","$toggleAll","cssClasses","item","itemContent","itemTabIcon","open","allExpanded","initExpanded","openTabs","numTabs","init","on","onToggleDisplay","onToggleAll","hasClass","each","e","preventDefault","$target","currentTarget","$parent","getParentItem","close","$content","getItemContent","addClass","html","lastElementChild","hidden","refreshWaypoint","removeClass","$e","parents","trigger","Component"],"mappings":"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","file":"62.1e4e69ef.bundle.js","sourcesContent":["webpackJsonp([62],{\n\n/***/ 218:\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n/* WEBPACK VAR INJECTION */(function($) {\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _component = __webpack_require__(33);\n\nvar _component2 = _interopRequireDefault(_component);\n\nvar _index = __webpack_require__(139);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\nvar Accordion = function (_Component) {\n _inherits(Accordion, _Component);\n\n function Accordion(el, config) {\n _classCallCheck(this, Accordion);\n\n return _possibleConstructorReturn(this, (Accordion.__proto__ || Object.getPrototypeOf(Accordion)).call(this, el, config));\n }\n\n _createClass(Accordion, [{\n key: 'setupDefaults',\n value: function setupDefaults() {\n this.dom = {\n $list: this.$el.find('.wh-accordion__list'),\n $item: this.$el.find('.wh-accordion-item'),\n $tab: this.$el.find('.wh-accordion-item__tab'),\n $toggleAll: this.$el.find('.wh-accordion__toggle-all')\n };\n\n this.cssClasses = {\n item: 'wh-accordion-item',\n itemContent: 'wh-accordion-item__content',\n itemTabIcon: 'wh-accordion-item__tab-icon',\n open: 'wh-accordion-item--open',\n allExpanded: 'wh-accordion--all-expanded',\n initExpanded: 'wh-accordion--init-expanded'\n };\n\n this.openTabs = 0;\n this.numTabs = this.dom.$item.length;\n\n this.init();\n }\n }, {\n key: 'addListeners',\n value: function addListeners() {\n this.dom.$tab.on('click', this.onToggleDisplay.bind(this));\n this.dom.$toggleAll.on('click', this.onToggleAll.bind(this));\n }\n }, {\n key: 'init',\n value: function init() {\n var _this2 = this;\n\n //Check if the tabs should be expaned\n if (this.$el.hasClass(this.cssClasses.initExpanded)) {\n this.dom.$item.each(function (i, el) {\n _this2.open($(el));\n });\n }\n }\n }, {\n key: 'onToggleDisplay',\n value: function onToggleDisplay(e) {\n e.preventDefault();\n\n var $target = $(e.currentTarget);\n var $parent = this.getParentItem($target);\n\n if (!$parent.hasClass(this.cssClasses.open)) {\n this.open($parent);\n } else {\n this.close($parent);\n }\n }\n }, {\n key: 'onToggleAll',\n value: function onToggleAll(e) {\n var _this3 = this;\n\n e.preventDefault();\n\n var allExpanded = this.$el.hasClass(this.cssClasses.allExpanded);\n\n if (allExpanded) {\n this.dom.$item.each(function (i, el) {\n _this3.close($(el));\n });\n this.openTabs = 0;\n } else {\n this.dom.$item.each(function (i, el) {\n _this3.open($(el));\n });\n this.openTabs = this.numTabs;\n }\n }\n }, {\n key: 'open',\n value: function open($item) {\n var _this4 = this;\n\n var $content = this.getItemContent($item);\n\n $item.addClass(this.cssClasses.open);\n $item.find('.' + this.cssClasses.itemTabIcon).html('\\u2013');\n $item[0].lastElementChild.hidden = false;\n\n (0, _index.open)($content, 0.4, 'easeOut', function () {\n return _this4.refreshWaypoint();\n });\n\n this.openTabs++;\n\n if (this.openTabs === this.numTabs) {\n this.$el.addClass(this.cssClasses.allExpanded);\n }\n }\n }, {\n key: 'close',\n value: function close($item) {\n var _this5 = this;\n\n var $content = this.getItemContent($item);\n\n $item.removeClass(this.cssClasses.open);\n $item.find('.' + this.cssClasses.itemTabIcon).html('+');\n $item[0].lastElementChild.hidden = true;\n\n (0, _index.close)($content, 0.4, 'easeOut', function () {\n return _this5.refreshWaypoint();\n });\n\n this.openTabs--;\n\n if (this.openTabs < this.numTabs) {\n this.$el.removeClass(this.cssClasses.allExpanded);\n }\n }\n }, {\n key: 'getParentItem',\n value: function getParentItem($e) {\n return $e.parents('.' + this.cssClasses.item);\n }\n }, {\n key: 'getItemContent',\n value: function getItemContent($e) {\n return $e.find('.' + this.cssClasses.itemContent);\n }\n }, {\n key: 'refreshWaypoint',\n value: function refreshWaypoint() {\n if ($('.wh-section-nav').length) {\n $('.wh-section-nav').trigger('sectionNav:refresh');\n }\n }\n }]);\n\n return Accordion;\n}(_component2.default);\n\nexports.default = Accordion;\n/* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(10)))\n\n/***/ })\n\n});\n\n\n// WEBPACK FOOTER //\n// 62.1e4e69ef.bundle.js","import Component from 'component';\nimport { open, close } from '../helpers/index.js';\n\nclass Accordion extends Component{\n constructor(el, config){\n super(el, config);\n }\n\n setupDefaults(){\n this.dom = {\n $list: this.$el.find('.wh-accordion__list'),\n $item: this.$el.find('.wh-accordion-item'),\n $tab: this.$el.find('.wh-accordion-item__tab'),\n $toggleAll: this.$el.find('.wh-accordion__toggle-all')\n };\n\n this.cssClasses = {\n item: 'wh-accordion-item',\n itemContent: 'wh-accordion-item__content',\n itemTabIcon: 'wh-accordion-item__tab-icon',\n open: 'wh-accordion-item--open',\n allExpanded: 'wh-accordion--all-expanded',\n initExpanded: 'wh-accordion--init-expanded'\n };\n\n this.openTabs = 0;\n this.numTabs = this.dom.$item.length;\n\n this.init();\n }\n\n addListeners(){\n this.dom.$tab.on('click', ::this.onToggleDisplay);\n this.dom.$toggleAll.on('click', ::this.onToggleAll);\n }\n\n init() {\n //Check if the tabs should be expaned\n if (this.$el.hasClass(this.cssClasses.initExpanded)){\n this.dom.$item.each((i, el) => {\n this.open($(el));\n });\n }\n }\n\n onToggleDisplay(e) {\n e.preventDefault();\n\n const $target = $(e.currentTarget);\n const $parent = this.getParentItem($target);\n\n if (!$parent.hasClass(this.cssClasses.open)) {\n this.open($parent);\n } else {\n this.close($parent);\n }\n }\n\n onToggleAll(e) {\n e.preventDefault();\n\n const allExpanded = this.$el.hasClass(this.cssClasses.allExpanded);\n\n if (allExpanded) {\n this.dom.$item.each((i, el) => {\n this.close($(el));\n });\n this.openTabs = 0;\n } else {\n this.dom.$item.each((i, el) => {\n this.open($(el));\n });\n this.openTabs = this.numTabs;\n }\n }\n\n open($item) {\n const $content = this.getItemContent($item);\n\n $item.addClass(this.cssClasses.open);\n $item.find(`.${this.cssClasses.itemTabIcon}`).html('\\u2013');\n $item[0].lastElementChild.hidden = false;\n\n open($content, 0.4, 'easeOut', () => this.refreshWaypoint());\n\n this.openTabs++;\n\n if (this.openTabs === this.numTabs) {\n this.$el.addClass(this.cssClasses.allExpanded);\n }\n }\n\n close($item) {\n const $content = this.getItemContent($item);\n\n $item.removeClass(this.cssClasses.open);\n $item.find(`.${this.cssClasses.itemTabIcon}`).html('+');\n $item[0].lastElementChild.hidden = true;\n\n close($content, 0.4, 'easeOut', () => this.refreshWaypoint());\n\n this.openTabs--;\n\n if (this.openTabs < this.numTabs) {\n this.$el.removeClass(this.cssClasses.allExpanded);\n }\n }\n\n getParentItem($e) {\n return $e.parents(`.${this.cssClasses.item}`);\n }\n\n getItemContent($e) {\n return $e.find(`.${this.cssClasses.itemContent}`);\n }\n\n refreshWaypoint() {\n if ($('.wh-section-nav').length) {\n $('.wh-section-nav').trigger('sectionNav:refresh');\n }\n }\n}\n\nexport default Accordion;\n\n\n\n// WEBPACK FOOTER //\n// ./src/js/components/Accordion.js"],"sourceRoot":""}