{"version":3,"sources":["webpack:///60.52f5a0f9.bundle.js","webpack:///./src/js/components/ExperienceListing.js"],"names":["webpackJsonp","225","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","ExperienceList","el","checkLength","_Component","this","dom","$container","$el","$content","find","$title","$left","$right","$item","$callout","$toggle","contentHeight","height","leftHeightInit","toArray","reduce","acc","current","outerHeight","on","expandList","itemTotal","leftHeight","rightHeight","hide","addClass","each","show","e","preventDefault","currentHeight","$tl","TimelineMax","hasClass","removeClass","text","data","to","ease","Expo","easeInOut","onComplete","refreshWaypoint","animate","scrollTop","offset","top","checkLengthCloseExpand","TweenMax","set","css","className","from","easeOut","trigger","Component"],"mappings":"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","file":"60.52f5a0f9.bundle.js","sourcesContent":["webpackJsonp([60],{\n\n/***/ 225:\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 _gsap = __webpack_require__(90);\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 ExperienceList = function (_Component) {\n _inherits(ExperienceList, _Component);\n\n function ExperienceList(el) {\n _classCallCheck(this, ExperienceList);\n\n var _this = _possibleConstructorReturn(this, (ExperienceList.__proto__ || Object.getPrototypeOf(ExperienceList)).call(this, el));\n\n _this.checkLength();\n return _this;\n }\n\n _createClass(ExperienceList, [{\n key: 'setupDefaults',\n value: function setupDefaults() {\n this.dom = {\n $container: this.$el,\n $content: this.$el.find('.wh-experience-listing__wrapper'),\n $title: this.$el.find('.wh-experience-listing__title'),\n $left: this.$el.find('.wh-experience-listing__items'),\n $right: this.$el.find('.wh-experience-listing__callouts'),\n $item: this.$el.find('.wh-experience-item'),\n $callout: this.$el.find('.wh-experience-callout'),\n $toggle: this.$el.find('.wh-experience-listing__toggle')\n };\n\n this.contentHeight = this.dom.$content.height();\n this.leftHeightInit = this.dom.$left.toArray().reduce(function (acc, current) {\n return acc + $(current).outerHeight();\n }, 0);\n }\n }, {\n key: 'addListeners',\n value: function addListeners() {\n this.dom.$toggle.on('click touch', this.expandList.bind(this));\n }\n }, {\n key: 'checkLength',\n value: function checkLength() {\n var _this2 = this;\n\n var itemTotal = this.dom.$item.length;\n //Left column has been split into 2 different divs for PDF printability, therefore, we need the total height\n var leftHeight = this.dom.$left.toArray().reduce(function (acc, current) {\n return acc + $(current).outerHeight();\n }, 0);\n var rightHeight = 0;\n\n //if less than 3 experience items, set expanded state on left column\n if (itemTotal <= 3) {\n this.dom.$toggle.hide();\n this.dom.$content.addClass('expanded');\n }\n\n //Show related content callouts until, right column is taller than left col\n $(this.dom.$callout).each(function (i, el) {\n $(el).show();\n\n rightHeight = _this2.dom.$right.outerHeight();\n if (rightHeight > leftHeight) {\n $(el).hide();\n return false;\n }\n });\n }\n }, {\n key: 'checkLengthCloseExpand',\n value: function checkLengthCloseExpand() {\n var _this3 = this;\n\n var rightHeight = 0;\n var leftHeight = this.leftHeightInit;\n\n $(this.dom.$callout).each(function (i, el) {\n $(el).show();\n\n rightHeight = _this3.dom.$right.outerHeight();\n if (rightHeight > leftHeight) {\n $(el).hide();\n return false;\n }\n });\n }\n }, {\n key: 'expandList',\n value: function expandList(e) {\n var _this4 = this;\n\n e.preventDefault();\n\n var currentHeight = this.dom.$content.height();\n var $tl = new _gsap.TimelineMax();\n\n if (this.$el.hasClass('expanded')) {\n\n this.$el.removeClass('expanded');\n this.dom.$toggle.text(this.dom.$toggle.data('show-more'));\n\n this.dom.$toggle.removeClass('btn--readless').addClass('btn--readmore');\n\n $tl.to(this.dom.$content, 0.5, { height: this.contentHeight, ease: _gsap.Expo.easeInOut, onComplete: function onComplete() {\n _this4.dom.$content.removeClass('expanded');\n _this4.refreshWaypoint();\n } }, 0);\n\n $('html, body').animate({\n scrollTop: this.dom.$content.offset().top - 150\n }, 1300);\n\n $(this.dom.$callout).each(function (i, el) {\n $(el).hide();\n });\n\n this.checkLengthCloseExpand();\n } else {\n this.$el.addClass('expanded');\n this.dom.$toggle.text(this.dom.$toggle.data('show-less'));\n\n this.dom.$toggle.removeClass('btn--readmore').addClass('btn--readless');\n\n _gsap.TweenMax.set(this.dom.$content, { height: 'auto' });\n $tl.to(this.dom.$content, 0, { css: { className: '+=expanded' } }, 0).from(this.dom.$content, 0.5, { height: currentHeight, ease: _gsap.Expo.easeOut, onComplete: function onComplete() {\n return _this4.refreshWaypoint();\n } }, 0);\n $(this.dom.$callout).each(function (i, el) {\n $(el).show();\n });\n }\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 ExperienceList;\n}(_component2.default);\n\nexports.default = ExperienceList;\n/* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(10)))\n\n/***/ })\n\n});\n\n\n// WEBPACK FOOTER //\n// 60.52f5a0f9.bundle.js","import Component from 'component';\nimport { TimelineMax, Expo, TweenMax } from 'gsap';\n\nclass ExperienceList extends Component{\n constructor(el){\n super(el);\n\n this.checkLength();\n }\n\n setupDefaults(){\n this.dom = {\n $container: this.$el,\n $content: this.$el.find('.wh-experience-listing__wrapper'),\n $title: this.$el.find('.wh-experience-listing__title'),\n $left: this.$el.find('.wh-experience-listing__items'),\n $right: this.$el.find('.wh-experience-listing__callouts'),\n $item: this.$el.find('.wh-experience-item'),\n $callout: this.$el.find('.wh-experience-callout'),\n $toggle: this.$el.find('.wh-experience-listing__toggle')\n };\n\n this.contentHeight = this.dom.$content.height();\n this.leftHeightInit = this.dom.$left.toArray().reduce((acc, current) => {\n return acc + $(current).outerHeight();\n }, 0);\n }\n\n addListeners(){\n this.dom.$toggle.on('click touch', ::this.expandList);\n }\n\n checkLength() {\n const itemTotal = this.dom.$item.length;\n //Left column has been split into 2 different divs for PDF printability, therefore, we need the total height\n const leftHeight = this.dom.$left.toArray().reduce((acc, current) => {\n return acc + $(current).outerHeight();\n }, 0);\n let rightHeight = 0;\n\n //if less than 3 experience items, set expanded state on left column\n if (itemTotal <= 3) {\n this.dom.$toggle.hide();\n this.dom.$content.addClass('expanded');\n }\n\n //Show related content callouts until, right column is taller than left col\n $(this.dom.$callout).each((i, el) => {\n $(el).show();\n\n rightHeight = this.dom.$right.outerHeight();\n if (rightHeight > leftHeight) {\n $(el).hide();\n return false;\n }\n });\n }\n\n checkLengthCloseExpand() {\n let rightHeight = 0;\n const leftHeight = this.leftHeightInit;\n\n $(this.dom.$callout).each((i, el) => {\n $(el).show();\n\n rightHeight = this.dom.$right.outerHeight();\n if (rightHeight > leftHeight) {\n $(el).hide();\n return false;\n }\n });\n }\n\n expandList(e){\n e.preventDefault();\n\n const currentHeight = this.dom.$content.height();\n const $tl = new TimelineMax();\n\n if (this.$el.hasClass('expanded')){\n\n this.$el.removeClass('expanded');\n this.dom.$toggle.text(this.dom.$toggle.data('show-more'));\n\n this.dom.$toggle.removeClass('btn--readless').addClass('btn--readmore');\n\n $tl.to(this.dom.$content, 0.5, { height: this.contentHeight, ease: Expo.easeInOut, onComplete: () => {\n this.dom.$content.removeClass('expanded');\n this.refreshWaypoint();\n } }, 0);\n\n $('html, body').animate({\n scrollTop: this.dom.$content.offset().top - 150\n }, 1300);\n\n $(this.dom.$callout).each((i, el) => {\n $(el).hide();\n });\n\n this.checkLengthCloseExpand();\n\n } else {\n this.$el.addClass('expanded');\n this.dom.$toggle.text(this.dom.$toggle.data('show-less'));\n\n this.dom.$toggle.removeClass('btn--readmore').addClass('btn--readless');\n\n TweenMax.set(this.dom.$content, { height: 'auto' });\n $tl.to(this.dom.$content, 0, { css:{ className:'+=expanded' } }, 0)\n .from(this.dom.$content, 0.5, { height: currentHeight, ease: Expo.easeOut, onComplete: () => this.refreshWaypoint() }, 0);\n $(this.dom.$callout).each((i, el) => {\n $(el).show();\n });\n }\n }\n\n refreshWaypoint() {\n if ($('.wh-section-nav').length) {\n $('.wh-section-nav').trigger('sectionNav:refresh');\n }\n }\n}\n\nexport default ExperienceList;\n\n\n\n// WEBPACK FOOTER //\n// ./src/js/components/ExperienceListing.js"],"sourceRoot":""}