{"version":3,"sources":["webpack:///./src/feature/text-single-accordion/text-single-accordion.js","webpack:///./node_modules/core-js/modules/es.object.get-prototype-of.js","webpack:///./node_modules/core-js/modules/es.object.set-prototype-of.js"],"names":["TextSingleAccordion","element","_this","_classCallCheck","this","_possibleConstructorReturn","_getPrototypeOf","call","initDomCache","el","ticking","singleAccordion","body","window","features","dom","textSingleAccordion","querySelector","toggleButton","addClick","log","BaseFeature","button","attributeValue","textSingleAccordionButtonLabel","concat","textSingleAccordionButtonCollapseTitle","getAttribute","textSingleAccordionButtonExpandTitle","innerHTML","setAttribute","classList","contains","remove","add","_this2","addEventListener","toggle","toggleButtonLabel","elementState","e","document","activeElement","keyCode","preventDefault","click","$","__webpack_require__","fails","toObject","nativeGetPrototypeOf","CORRECT_PROTOTYPE_GETTER","target","stat","forced","sham","getPrototypeOf","it","setPrototypeOf"],"mappings":"u9BAEMA,cACL,SAAAA,EAAYC,GAAS,IAAAC,EAAA,mGAAAC,CAAAC,KAAAJ,IACpBE,EAAAG,EAAAD,KAAAE,EAAAN,GAAAO,KAAAH,KAAMH,KAEDO,eAELN,EAAKO,GAAKR,EACVC,EAAKQ,SAAU,EACfR,EAAKS,gBAAkBT,EAAKO,GAC5BP,EAAKU,KAAOC,OAAOC,SAASC,IAAIH,KAChCV,EAAKc,oBAAsBd,EAAKO,GAAGQ,cAAc,yCACjDf,EAAKgB,aAAehB,EAAKO,GAAGQ,cAAc,4BAC1Cf,EAAKiB,WACLjB,EAAKkB,MAZelB,wPADYmB,wDAgBfC,EAAQC,GACzBnB,KAAKkB,OAASA,EACd,IAAME,EAAiCpB,KAAKkB,OAAOL,cAAZ,aAAAQ,OAAuCF,EAAvC,OACjCG,EAAyCtB,KAAKkB,OAAOK,aAAa,iBAClEC,EAAuCxB,KAAKkB,OAAOK,aAAa,eAClEH,EAA+BK,YAAcH,GAChDF,EAA+BK,UAAYD,EAC3CN,EAAOQ,aAAa,QAASF,KAE7BJ,EAA+BK,UAAYH,EAC3CJ,EAAOQ,aAAa,QAASJ,mCAIxBJ,GACNlB,KAAKkB,OAASA,EACVlB,KAAKkB,OAAOS,UAAUC,SAAS,OAClC5B,KAAKkB,OAAOS,UAAUE,OAAO,MAC7B7B,KAAKkB,OAAOS,UAAUG,IAAI,SAE1B9B,KAAKkB,OAAOS,UAAUE,OAAO,OAC7B7B,KAAKkB,OAAOS,UAAUG,IAAI,0CAIjB,IAAAC,EAAA/B,KAENA,KAAKY,sBACRZ,KAAKY,oBAAoBoB,iBAAiB,QAAS,WAClDD,EAAK1B,GAAGsB,UAAUM,OAAO,qBACzBF,EAAKG,kBAAkBH,EAAKnB,oBAAqB,kCAGjD,IAAIuB,EAAeJ,EAAKnB,oBAAoBW,aAAa,iBAExDY,EADoB,SAAjBA,EACY,QAEA,OAEhBJ,EAAKnB,oBAAoBc,aAAa,gBAAiBS,KAExD1B,OAAOuB,iBAAiB,UAAW,SAACI,GACjBC,SAASC,gBAAkBP,EAAKnB,qBACnB,KAAdwB,EAAEG,UAClBH,EAAEI,iBAEFT,EAAKnB,oBAAoB6B,YAKxBzC,KAAKc,eACRd,KAAKc,aAAakB,iBAAiB,QAAS,WAC3CD,EAAK1B,GAAGsB,UAAUM,OAAO,qBACzBF,EAAKE,OAAOF,EAAKjB,cACjBiB,EAAKG,kBAAkBH,EAAKjB,aAAc,qBAG1C,IAAIqB,EAAeJ,EAAKjB,aAAaS,aAAa,iBAEjDY,EADoB,SAAjBA,EACY,QAEA,OAEhBJ,EAAKjB,aAAaY,aAAa,gBAAiBS,KAEjD1B,OAAOuB,iBAAiB,UAAW,SAACI,GACjBC,SAASC,gBAAkBP,EAAKjB,cACnB,KAAdsB,EAAEG,UAClBH,EAAEI,iBAEFT,EAAKjB,aAAa2B,iDAOR7C,iCChGf,IAAA8C,EAAQC,EAAQ,GAChBC,EAAYD,EAAQ,GACpBE,EAAeF,EAAQ,IACvBG,EAA2BH,EAAQ,IACnCI,EAA+BJ,EAAQ,KAKvCD,EAAA,CAAGM,OAAA,SAAAC,MAAA,EAAAC,OAJHN,EAAA,WAA6CE,EAAA,KAI1CK,MAAAJ,GAA6F,CAChGK,eAAA,SAAAC,GACA,OAAAP,EAAAD,EAAAQ,4BCXQV,EAAQ,EAKhBD,CAAA,CAAGM,OAAA,SAAAC,MAAA,GAA+B,CAClCK,eALqBX,EAAQ","file":"37-ce570b9a.pkg.js","sourcesContent":["import BaseFeature from '../../foundation/base/base';\r\n\r\nclass TextSingleAccordion extends BaseFeature {\r\n\tconstructor(element) {\r\n\t\tsuper(element);\r\n\r\n\t\tthis.initDomCache();\r\n\r\n\t\tthis.el = element;\r\n\t\tthis.ticking = false;\r\n\t\tthis.singleAccordion = this.el;\r\n\t\tthis.body = window.features.dom.body;\r\n\t\tthis.textSingleAccordion = this.el.querySelector('[data-js=\"textSingleAccordionButton\"]');\r\n\t\tthis.toggleButton = this.el.querySelector('[data-js=\"toggleButton\"]');\r\n\t\tthis.addClick();\r\n\t\tthis.log();\r\n\t}\r\n\r\n\ttoggleButtonLabel(button, attributeValue) {\r\n\t\tthis.button = button;\r\n\t\tconst textSingleAccordionButtonLabel = this.button.querySelector(`[data-js=\"${attributeValue}\"]`);\r\n\t\tconst textSingleAccordionButtonCollapseTitle = this.button.getAttribute('data-collapse');\r\n\t\tconst textSingleAccordionButtonExpandTitle = this.button.getAttribute('data-expand');\r\n\t\tif (textSingleAccordionButtonLabel.innerHTML === textSingleAccordionButtonCollapseTitle) {\r\n\t\t\ttextSingleAccordionButtonLabel.innerHTML = textSingleAccordionButtonExpandTitle;\r\n\t\t\tbutton.setAttribute('title', textSingleAccordionButtonExpandTitle);\r\n\t\t} else {\r\n\t\t\ttextSingleAccordionButtonLabel.innerHTML = textSingleAccordionButtonCollapseTitle;\r\n\t\t\tbutton.setAttribute('title', textSingleAccordionButtonCollapseTitle);\r\n\t\t}\r\n\t}\r\n\r\n\ttoggle(button) {\r\n\t\tthis.button = button;\r\n\t\tif (this.button.classList.contains('on')) {\r\n\t\t\tthis.button.classList.remove('on');\r\n\t\t\tthis.button.classList.add('off');\r\n\t\t} else {\r\n\t\t\tthis.button.classList.remove('off');\r\n\t\t\tthis.button.classList.add('on');\r\n\t\t}\r\n\t}\r\n\r\n\taddClick() {\r\n\t\t// Expand submenu\r\n\t\tif (this.textSingleAccordion) {\r\n\t\t\tthis.textSingleAccordion.addEventListener('click', () => {\r\n\t\t\t\tthis.el.classList.toggle('is-folded-content');\r\n\t\t\t\tthis.toggleButtonLabel(this.textSingleAccordion, 'textSingleAccordionButtonLabel');\r\n\r\n\t\t\t\t// Accessibility\r\n\t\t\t\tlet elementState = this.textSingleAccordion.getAttribute('aria-expanded');\r\n\t\t\t\tif (elementState === 'true') {\r\n\t\t\t\t\telementState = 'false';\r\n\t\t\t\t} else {\r\n\t\t\t\t\telementState = 'true';\r\n\t\t\t\t}\r\n\t\t\t\tthis.textSingleAccordion.setAttribute('aria-expanded', elementState);\r\n\t\t\t});\r\n\t\t\twindow.addEventListener('keydown', (e) => {\r\n\t\t\t\tconst isFocused = document.activeElement === this.textSingleAccordion;\r\n\t\t\t\tif (isFocused && e.keyCode === 13) {\r\n\t\t\t\t\te.preventDefault();\r\n\t\t\t\t\t// Trigger the button element with a click\r\n\t\t\t\t\tthis.textSingleAccordion.click();\r\n\t\t\t\t}\r\n\t\t\t});\r\n\t\t}\r\n\r\n\t\tif (this.toggleButton) {\r\n\t\t\tthis.toggleButton.addEventListener('click', () => {\r\n\t\t\t\tthis.el.classList.toggle('is-folded-content');\r\n\t\t\t\tthis.toggle(this.toggleButton);\r\n\t\t\t\tthis.toggleButtonLabel(this.toggleButton, 'toggleButtonLabel');\r\n\r\n\t\t\t\t// Accessibility\r\n\t\t\t\tlet elementState = this.toggleButton.getAttribute('aria-expanded');\r\n\t\t\t\tif (elementState === 'true') {\r\n\t\t\t\t\telementState = 'false';\r\n\t\t\t\t} else {\r\n\t\t\t\t\telementState = 'true';\r\n\t\t\t\t}\r\n\t\t\t\tthis.toggleButton.setAttribute('aria-expanded', elementState);\r\n\t\t\t});\r\n\t\t\twindow.addEventListener('keydown', (e) => {\r\n\t\t\t\tconst isFocused = document.activeElement === this.toggleButton;\r\n\t\t\t\tif (isFocused && e.keyCode === 13) {\r\n\t\t\t\t\te.preventDefault();\r\n\t\t\t\t\t// Trigger the button element with a click\r\n\t\t\t\t\tthis.toggleButton.click();\r\n\t\t\t\t}\r\n\t\t\t});\r\n\t\t}\r\n\t}\r\n}\r\n\r\nexport default TextSingleAccordion;\r\n","var $ = require('../internals/export');\nvar fails = require('../internals/fails');\nvar toObject = require('../internals/to-object');\nvar nativeGetPrototypeOf = require('../internals/object-get-prototype-of');\nvar CORRECT_PROTOTYPE_GETTER = require('../internals/correct-prototype-getter');\nvar FAILS_ON_PRIMITIVES = fails(function () { nativeGetPrototypeOf(1); });\n\n// `Object.getPrototypeOf` method\n// https://tc39.github.io/ecma262/#sec-object.getprototypeof\n$({ target: 'Object', stat: true, forced: FAILS_ON_PRIMITIVES, sham: !CORRECT_PROTOTYPE_GETTER }, {\n getPrototypeOf: function getPrototypeOf(it) {\n return nativeGetPrototypeOf(toObject(it));\n }\n});\n\n","var $ = require('../internals/export');\nvar setPrototypeOf = require('../internals/object-set-prototype-of');\n\n// `Object.setPrototypeOf` method\n// https://tc39.github.io/ecma262/#sec-object.setprototypeof\n$({ target: 'Object', stat: true }, {\n setPrototypeOf: setPrototypeOf\n});\n"],"sourceRoot":""}