{"version":3,"sources":["webpack:///./src/feature/primary-teacher/primary-teacher.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","webpack:///./node_modules/core-js/modules/es.array.map.js"],"names":["CourseDetailsSummary","element","_this","_classCallCheck","this","_possibleConstructorReturn","_getPrototypeOf","call","initDomCache","el","map","body","window","features","dom","primaryTeacherLimitedText","querySelector","toggleButton","addClick","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","arrayMethods","arrayMethodHasSpeciesSupport","internalMap","proto","callbackfn","arguments"],"mappings":"89BAEMA,cACL,SAAAA,EAAYC,GAAS,IAAAC,EAAA,mGAAAC,CAAAC,KAAAJ,IACpBE,EAAAG,EAAAD,KAAAE,EAAAN,GAAAO,KAAAH,KAAMH,KACDO,eAELN,EAAKO,GAAKR,EACVC,EAAKQ,IAAMR,EAAKO,GAChBP,EAAKS,KAAOC,OAAOC,SAASC,IAAIH,KAChCT,EAAKa,0BAA4Bb,EAAKO,GAAGO,cAAc,yCACvDd,EAAKe,aAAef,EAAKO,GAAGO,cAAc,4BAC1Cd,EAAKgB,WATehB,wPADaiB,wDAahBC,EAAQC,GACzBjB,KAAKgB,OAASA,EACd,IAAME,EAAiClB,KAAKgB,OAAOJ,cAAZ,aAAAO,OAAuCF,EAAvC,OACjCG,EAAyCpB,KAAKgB,OAAOK,aAAa,iBAClEC,EAAuCtB,KAAKgB,OAAOK,aAAa,eAClEH,EAA+BK,YAAcH,GAChDF,EAA+BK,UAAYD,EAC3CN,EAAOQ,aAAa,QAASF,KAE7BJ,EAA+BK,UAAYH,EAC3CJ,EAAOQ,aAAa,QAASJ,mCAIxBJ,GACNhB,KAAKgB,OAASA,EACVhB,KAAKgB,OAAOS,UAAUC,SAAS,OAClC1B,KAAKgB,OAAOS,UAAUE,OAAO,MAC7B3B,KAAKgB,OAAOS,UAAUG,IAAI,SAE1B5B,KAAKgB,OAAOS,UAAUE,OAAO,OAC7B3B,KAAKgB,OAAOS,UAAUG,IAAI,0CAIjB,IAAAC,EAAA7B,KAENA,KAAKW,4BACRX,KAAKW,0BAA0BmB,iBAAiB,QAAS,WACxDD,EAAKxB,GAAGoB,UAAUM,OAAO,qBACzBF,EAAKG,kBAAkBH,EAAKlB,0BAA2B,kCAGvD,IAAIsB,EAAeJ,EAAKlB,0BAA0BU,aAAa,iBAE9DY,EADoB,SAAjBA,EACY,QAEA,OAEhBJ,EAAKlB,0BAA0Ba,aAAa,gBAAiBS,KAE9DzB,OAAOsB,iBAAiB,UAAW,SAACI,GACjBC,SAASC,gBAAkBP,EAAKlB,2BACnB,KAAduB,EAAEG,UAClBH,EAAEI,iBAEFT,EAAKlB,0BAA0B4B,YAK9BvC,KAAKa,eACRb,KAAKa,aAAaiB,iBAAiB,QAAS,WAC3CD,EAAKxB,GAAGoB,UAAUM,OAAO,qBACzBF,EAAKE,OAAOF,EAAKhB,cACjBgB,EAAKG,kBAAkBH,EAAKhB,aAAc,qBAG1C,IAAIoB,EAAeJ,EAAKhB,aAAaQ,aAAa,iBAEjDY,EADoB,SAAjBA,EACY,QAEA,OAEhBJ,EAAKhB,aAAaW,aAAa,gBAAiBS,KAEjDzB,OAAOsB,iBAAiB,UAAW,SAACI,GACjBC,SAASC,gBAAkBP,EAAKhB,cACnB,KAAdqB,EAAEG,UAClBH,EAAEI,iBAEFT,EAAKhB,aAAa0B,iDAOR3C,iCC7Ff,IAAA4C,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,wCCA7B,IAAAD,EAAQC,EAAQ,GAChBY,EAAmBZ,EAAQ,IAC3Ba,EAAmCb,EAAQ,IAE3Cc,EAAAF,EAAA,GAMAb,EAAA,CAAGM,OAAA,QAAAU,OAAA,EAAAR,QALHM,EAAA,QAK4D,CAC5DhD,IAAA,SAAAmD,GACA,OAAAF,EAAAvD,KAAAyD,EAAAC,UAAA","file":"19-e861865b.pkg.js","sourcesContent":["import BaseFeature from '../../foundation/base/base';\r\n\r\nclass CourseDetailsSummary extends BaseFeature {\r\n\tconstructor(element) {\r\n\t\tsuper(element);\r\n\t\tthis.initDomCache();\r\n\r\n\t\tthis.el = element;\r\n\t\tthis.map = this.el;\r\n\t\tthis.body = window.features.dom.body;\r\n\t\tthis.primaryTeacherLimitedText = this.el.querySelector('[data-js=\"primaryTeacherLimitedText\"]');\r\n\t\tthis.toggleButton = this.el.querySelector('[data-js=\"toggleButton\"]');\r\n\t\tthis.addClick();\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 primary teacher\r\n\t\tif (this.primaryTeacherLimitedText) {\r\n\t\t\tthis.primaryTeacherLimitedText.addEventListener('click', () => {\r\n\t\t\t\tthis.el.classList.toggle('is-folded-content');\r\n\t\t\t\tthis.toggleButtonLabel(this.primaryTeacherLimitedText, 'textSingleAccordionButtonLabel');\r\n\r\n\t\t\t\t// Accessibility\r\n\t\t\t\tlet elementState = this.primaryTeacherLimitedText.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.primaryTeacherLimitedText.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.primaryTeacherLimitedText;\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.primaryTeacherLimitedText.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 CourseDetailsSummary;\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","'use strict';\nvar $ = require('../internals/export');\nvar arrayMethods = require('../internals/array-methods');\nvar arrayMethodHasSpeciesSupport = require('../internals/array-method-has-species-support');\n\nvar internalMap = arrayMethods(1);\nvar SPECIES_SUPPORT = arrayMethodHasSpeciesSupport('map');\n\n// `Array.prototype.map` method\n// https://tc39.github.io/ecma262/#sec-array.prototype.map\n// with adding support of @@species\n$({ target: 'Array', proto: true, forced: !SPECIES_SUPPORT }, {\n map: function map(callbackfn /* , thisArg */) {\n return internalMap(this, callbackfn, arguments[1]);\n }\n});\n"],"sourceRoot":""}