{"version":3,"sources":["webpack://Sh/webpack/universalModuleDefinition","webpack://Sh/webpack/bootstrap","webpack://Sh/./src/js/app.js","webpack://Sh/./src/js/components/accordion-controller.js","webpack://Sh/./src/js/components/accordion.js","webpack://Sh/./src/js/components/alphabetic-navigation.js","webpack://Sh/./src/js/components/animated-reveal.js","webpack://Sh/./src/js/components/comment-form.js","webpack://Sh/./src/js/components/cookie-compliance.js","webpack://Sh/./src/js/components/criterion-list.js","webpack://Sh/./src/js/components/emitter.js","webpack://Sh/./src/js/components/entries-navigation.js","webpack://Sh/./src/js/components/facebook-page-feed.js","webpack://Sh/./src/js/components/filter-buttons.js","webpack://Sh/./src/js/components/forms.js","webpack://Sh/./src/js/components/keyword-edit.js","webpack://Sh/./src/js/components/keyword-toggle.js","webpack://Sh/./src/js/components/modalbox.js","webpack://Sh/./src/js/components/notification.js","webpack://Sh/./src/js/components/overlay.js","webpack://Sh/./src/js/components/page-header-search.js","webpack://Sh/./src/js/components/panel-layout.js","webpack://Sh/./src/js/components/reveal.js","webpack://Sh/./src/js/components/search-filters-overlay.js","webpack://Sh/./src/js/components/search-layer.js","webpack://Sh/./src/js/components/shortcuts.js","webpack://Sh/./src/js/components/site-footer.js","webpack://Sh/./src/js/components/site-header.js","webpack://Sh/./src/js/components/slider.js","webpack://Sh/./src/js/components/status-controls.js","webpack://Sh/./src/js/components/stickybits.js","webpack://Sh/./src/js/components/subscribe-panel.js","webpack://Sh/./src/js/components/table.js","webpack://Sh/./src/js/components/toggle-button.js","webpack://Sh/./src/js/components/update-log.js","webpack://Sh/./src/js/components/utils.js","webpack://Sh/./src/js/components/video.js","webpack://Sh/./src/js/constants.js","webpack://Sh/./src/js/polyfills.js","webpack://Sh/./src/js/vendor/flatpickr/da.js","webpack://Sh/./src/js/view.js"],"names":["DesignsystemApp","isKanalen","document","querySelector","classList","contains","addEventListener","console","warn","init","EVENTS","DOCUMENT_UPDATE","updateModules","e","accordionControllers","querySelectorAll","map","elem","controller","AccordionController","accordions","noController","closest","accordion","Accordion","alphabeticNavigations","alphabeticNavigation","AlphabeticNavigation","commentForms","commentForm","CommentForm","cookieCompliances","cookieCompliance","CookieCompliance","criterionLists","criterionList","CriterionList","entriesNavigations","entriesNavigation","EntriesNavigation","filterButtonses","filterButtons","FilterButtons","formses","forms","Forms","keywordEdits","keywordEdit","KeywordEdit","keywordToggles","keywordToggle","KeywordToggle","modalTriggers","trigger","template","getAttribute","content","innerHTML","createElement","fixBody","cssClasses","instantiationFail","modal","ModalBox","notifications","notification","Notification","pageHeaderSearches","pageHeaderSearch","PageHeaderSearch","panelLayouts","panelLayout","PanelLayout","reveals","reveal","Reveal","searchFiltersOverlays","searchFiltersOverlay","SearchFiltersOverlay","searchLayers","searchLayer","SearchLayer","shortcutses","shortcuts","Shortcuts","siteFooters","siteFooter","SiteFooter","siteHeaders","siteHeader","SiteHeader","sliders","slider","Slider","statusControlses","statusControls","StatusControls","subscribePanels","subscribePanel","SubscribePanel","toggleButtons","toggleButton","ToggleButton","updateLogs","updateLog","UpdateLog","masonryUpdates","Emitter","videos","video","Video","fbFeed","FacebookPageFeed","stickybits","Stickybits","forEach","PrototypeApp","App","el","setAttribute","autoOpen","allOpen","wW","window","innerWidth","uuid","Utils","uniqueId","dataAutoOpen","dataset","autoopen","onToggleAll","bind","setTimeout","preventDefault","stopPropagation","error","id","View","options","getInitialOptions","open","close","key","hasOwnProperty","internalButtons","onToggle","button","handleInlineButtonClick","savedWindowWidth","style","display","on","updateHeight","event","allowMultiple","allowToggle","duration","target","currentTarget","isOpen","add","height","TweenLite","to","opacity","from","onComplete","remove","removeAttribute","width","outerWidth","buttons","toggleAllButton","notMultiple","multiple","toggleFilterButton","isAllButton","all","toggle","AnimatedReveal","scrollMagicController","ScrollMagic","Controller","scenes","defaultProps","distance","animatedElements","wh","innerHeight","documentElement","clientHeight","body","scene","Scene","triggerElement","offset","addTo","elementInView","push","element","animtype","animtarget","children","tl","TimelineLite","staggerFromTo","y","toProps","delay","animdelay","ease","animease","easeOut","Power3","fromProps","x","scale","animduration","tagsContainer","textArea","tagButtons","toggleAllTagButton","onBodyClick","onFocus","tagButton","onTagClick","panelUpdate","HTMLElement","foundEl","cookie","getCookie","cookieProps","name","acceptButton","rejectButton","acceptHandler","rejectHandler","setCookie","expires","expirationDate","domain","date","Date","setDate","getDate","days","dateStr","toGMTString","labelId","labelid","countLabelRef","instanceId","clearAll","criterionElements","criteria","criterion","toggleCriterion","active","countActives","argument","activeCount","length","textContent","addListener","removeListner","evnet","handler","off","ES6EventEmitter","entryButtons","animationDuration","secondaries","secondariesContent","oldEntryId","currentEntryId","oldSecondaryId","currentSecondaryId","currentSecondaryContentId","currentEntryButton","currentSecondary","secondaryOpen","secondaryCloseButtons","secondaryCloseButton","secondaryCloseHandler","bodyRef","htmlRef","resizeHandler","entryButton","clickHandler","primaryEntryHandler","parseInt","currentSecondaryContent","controlSecondaryNavigation","animate","force","showingNewContent","newSecondary","resetSecondary","resetSecondaryContent","getHeight","measureCols","rearrangeEntries","cols","FBready","debounce","handleResize","fbAsyncInit","FB","Event","subscribe","fbPageEl","iFrameWrapper","firstElementChild","iframe","w","offsetWidth","currentWidth","XFBML","parse","labelRefId","labelRef","selectedCount","formFields","Select","Radio","Textarea","CheckBox","Text","FileUpload","DatePicker","MultipleSelect","formItem","onBlur","onChange","onSelect","blur","selectedIndex","text","onClick","checked","minHeight","scrollHeight","maxHeight","adjustHeight","value","outerHeight","getComputedStyle","diff","Math","min","max","multipleCaption","fileNames","find","changeHandle","fileName","fileList","files","replace","split","pop","Object","assign","locale","Danish","calendar","flatpickr","container","hiddenSelect","controllerId","cuid","selectedItems","render","list","triggerBtn","listContainer","dropdownArrow","listItems","selectAllBtn","clearAllBtn","initialLabel","innerText","option","selected","selectText","listItemIds","item","addEvents","setSelectedListItem","toggleListVisibility","selectAllOptions","clearAllOptions","handleKeys","closeList","type","includes","splice","indexOf","bundleBtnColorToggle","keyCode","ENTER_KEY_CODE","requestAnimationFrame","selectListItem","SPACEBAR_KEY_CODE","DOWN_ARROW_KEY_CODE","focusNextListItem","UP_ARROW_KEY_CODE","ESCAPE_KEY_CODE","checkbox","disabled","ifOneChosenText","trim","focus","direction","activeElement","currentActiveElIndex","html","chooseAllLabel","uncheckAllLabel","i","keywordRemove","keywordInput","removeHandler","inputHandler","settings","className","defaultTemplateContent","overlay","Overlay","isFixed","isActive","append","onClose","hide","isGallery","removeWithTransitions","esc","handle","defaults","isBlurred","whiteBg","overlays","overlayCount","appendChild","handleToggle","onTransitionEnd","parentElement","mobileFiltersVisible","input","filters","selects","clearButton","showButton","showFilters","clearSearch","showClearButton","select","itemSelector","gutter","columnWidth","percentPosition","msnry","Masonry","layout","revealedText","hiddenText","triggerRef","headline","contentInner","closeButton","submitButton","backButton","lists","categoryButtons","categoryButtonLabels","listData","openHandler","clearHandler","closeHandler","backHandler","categoryButton","categoryHandler","currentListId","currentList","listActivesHandler","listEmptyHandler","listInitHandler","foundNonEmpty","checkForEmptyLists","clearTimeout","toggleTimeout","label","default","category","listid","isOverlay","searchToggleRef","typeAhead","searchToggles","searchInput","searchToggleHandler","inputChangeHandler","inputFocusHandler","inputBlurHandler","openSearchLayer","closeSearchLayer","bodyClickHandler","removeEventListener","closeTypeAhead","insideHeader","openTypeAhead","which","typeAheadTimeout","onToggleButton","useStickyClasses","dropdown","show","decks","deckCount","lastDeck","noColor","mainNavigationRef","mainNavigationToggle","navigationToggleHandler","forceClose","nextButton","previousButton","pagination","loop","autoplay","properties","wrapperClass","slideClass","navigation","nextEl","prevEl","spaceBetween","disableOnInteraction","swiper","Swiper","statusControlsToggle","toggleStatusControls","stickybitsInstance","stickyClass","stuckClass","stickyChangeClass","parentClass","update","TableScroll","table","wrapper","scrollButton","handleScroll","scrollLeft","tables","toggleUpdateLog","el_style","el_display","el_position","position","el_visibility","visibility","el_max_height","wanted_height","offsetHeight","docElem","win","box","top","left","doc","ownerDocument","getBoundingClientRect","getWindow","pageYOffset","clientTop","pageXOffset","clientLeft","obj","isWindow","nodeType","defaultView","parentNode","removeChild","str","random","toString","substr","play","image","handlePlay","log","Element","prototype","matches","msMatchesSelector","webkitMatchesSelector","s","CustomEvent","params","bubbles","cancelable","detail","evt","createEvent","initCustomEvent","weekdays","shorthand","longhand","months","ordinal","firstDayOfWeek","rangeSeparator","weekAbbreviation","time_24hr"],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD,O;QCVA;QACA;QACA;QACA;QACA;;QAEA;QACA;QACA;QACA,QAAQ,oBAAoB;QAC5B;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;;QAEA;QACA;QACA;;QAEA;QACA;;QAEA;QACA;QACA;QACA;QACA;QACA,iBAAiB,4BAA4B;QAC7C;QACA;QACA,kBAAkB,2BAA2B;QAC7C;QACA;QACA;QACA;QACA;QACA;QACA;QACA;;QAEA;QACA;;QAEA;QACA;;QAEA;QACA;QACA;QACA;QACA;QACA;;QAEA;;QAEA;QACA;;QAEA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;;QAEA;QACA;;QAEA;QACA;;QAEA;QACA;QACA;;;QAGA;QACA;;QAEA;QACA;;QAEA;QACA;QACA;QACA,0CAA0C,gCAAgC;QAC1E;QACA;;QAEA;QACA;QACA;QACA,wDAAwD,kBAAkB;QAC1E;QACA,iDAAiD,cAAc;QAC/D;;QAEA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA,yCAAyC,iCAAiC;QAC1E,gHAAgH,mBAAmB,EAAE;QACrI;QACA;;QAEA;QACA;QACA;QACA,2BAA2B,0BAA0B,EAAE;QACvD,iCAAiC,eAAe;QAChD;QACA;QACA;;QAEA;QACA,sDAAsD,+DAA+D;;QAErH;QACA;;QAEA;QACA;QACA;QACA;QACA,gBAAgB,uBAAuB;QACvC;;;QAGA;QACA;QACA;QACA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACvJA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA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","file":"app.js","sourcesContent":["(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = factory();\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine([], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"Sh\"] = factory();\n\telse\n\t\troot[\"Sh\"] = factory();\n})(window, function() {\nreturn "," \t// install a JSONP callback for chunk loading\n \tfunction webpackJsonpCallback(data) {\n \t\tvar chunkIds = data[0];\n \t\tvar moreModules = data[1];\n \t\tvar executeModules = data[2];\n\n \t\t// add \"moreModules\" to the modules object,\n \t\t// then flag all \"chunkIds\" as loaded and fire callback\n \t\tvar moduleId, chunkId, i = 0, resolves = [];\n \t\tfor(;i < chunkIds.length; i++) {\n \t\t\tchunkId = chunkIds[i];\n \t\t\tif(Object.prototype.hasOwnProperty.call(installedChunks, chunkId) && installedChunks[chunkId]) {\n \t\t\t\tresolves.push(installedChunks[chunkId][0]);\n \t\t\t}\n \t\t\tinstalledChunks[chunkId] = 0;\n \t\t}\n \t\tfor(moduleId in moreModules) {\n \t\t\tif(Object.prototype.hasOwnProperty.call(moreModules, moduleId)) {\n \t\t\t\tmodules[moduleId] = moreModules[moduleId];\n \t\t\t}\n \t\t}\n \t\tif(parentJsonpFunction) parentJsonpFunction(data);\n\n \t\twhile(resolves.length) {\n \t\t\tresolves.shift()();\n \t\t}\n\n \t\t// add entry modules from loaded chunk to deferred list\n \t\tdeferredModules.push.apply(deferredModules, executeModules || []);\n\n \t\t// run deferred modules when all chunks ready\n \t\treturn checkDeferredModules();\n \t};\n \tfunction checkDeferredModules() {\n \t\tvar result;\n \t\tfor(var i = 0; i < deferredModules.length; i++) {\n \t\t\tvar deferredModule = deferredModules[i];\n \t\t\tvar fulfilled = true;\n \t\t\tfor(var j = 1; j < deferredModule.length; j++) {\n \t\t\t\tvar depId = deferredModule[j];\n \t\t\t\tif(installedChunks[depId] !== 0) fulfilled = false;\n \t\t\t}\n \t\t\tif(fulfilled) {\n \t\t\t\tdeferredModules.splice(i--, 1);\n \t\t\t\tresult = __webpack_require__(__webpack_require__.s = deferredModule[0]);\n \t\t\t}\n \t\t}\n\n \t\treturn result;\n \t}\n\n \t// The module cache\n \tvar installedModules = {};\n\n \t// object to store loaded and loading chunks\n \t// undefined = chunk not loaded, null = chunk preloaded/prefetched\n \t// Promise = chunk loading, 0 = chunk loaded\n \tvar installedChunks = {\n \t\t\"app\": 0\n \t};\n\n \tvar deferredModules = [];\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId]) {\n \t\t\treturn installedModules[moduleId].exports;\n \t\t}\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\ti: moduleId,\n \t\t\tl: false,\n \t\t\texports: {}\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.l = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// define getter function for harmony exports\n \t__webpack_require__.d = function(exports, name, getter) {\n \t\tif(!__webpack_require__.o(exports, name)) {\n \t\t\tObject.defineProperty(exports, name, { enumerable: true, get: getter });\n \t\t}\n \t};\n\n \t// define __esModule on exports\n \t__webpack_require__.r = function(exports) {\n \t\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n \t\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n \t\t}\n \t\tObject.defineProperty(exports, '__esModule', { value: true });\n \t};\n\n \t// create a fake namespace object\n \t// mode & 1: value is a module id, require it\n \t// mode & 2: merge all properties of value into the ns\n \t// mode & 4: return value when already ns object\n \t// mode & 8|1: behave like require\n \t__webpack_require__.t = function(value, mode) {\n \t\tif(mode & 1) value = __webpack_require__(value);\n \t\tif(mode & 8) return value;\n \t\tif((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;\n \t\tvar ns = Object.create(null);\n \t\t__webpack_require__.r(ns);\n \t\tObject.defineProperty(ns, 'default', { enumerable: true, value: value });\n \t\tif(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));\n \t\treturn ns;\n \t};\n\n \t// getDefaultExport function for compatibility with non-harmony modules\n \t__webpack_require__.n = function(module) {\n \t\tvar getter = module && module.__esModule ?\n \t\t\tfunction getDefault() { return module['default']; } :\n \t\t\tfunction getModuleExports() { return module; };\n \t\t__webpack_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"\";\n\n \tvar jsonpArray = window[\"webpackJsonpSh\"] = window[\"webpackJsonpSh\"] || [];\n \tvar oldJsonpFunction = jsonpArray.push.bind(jsonpArray);\n \tjsonpArray.push = webpackJsonpCallback;\n \tjsonpArray = jsonpArray.slice();\n \tfor(var i = 0; i < jsonpArray.length; i++) webpackJsonpCallback(jsonpArray[i]);\n \tvar parentJsonpFunction = oldJsonpFunction;\n\n\n \t// add entry module to deferred list\n \tdeferredModules.push([\"./src/js/app.js\",\"vendor\"]);\n \t// run deferred modules when ready\n \treturn checkDeferredModules();\n","import stickybits from \"stickybits\";\nimport focusvisible from \"focus-visible\";\nimport objectFitImages from \"object-fit-images\";\nimport \"./polyfills\";\nimport Accordion from \"./components/accordion\";\nimport AccordionController from \"./components/accordion-controller\";\nimport AlphabeticNavigation from \"./components/alphabetic-navigation\";\nimport AnimatedReveal from \"./components/animated-reveal\";\nimport Reveal from \"./components/reveal\";\nimport CommentForm from \"./components/comment-form\";\nimport CookieCompliance from \"./components/cookie-compliance\";\nimport CriterionList from \"./components/criterion-list\";\nimport EntriesNavigation from \"./components/entries-navigation\";\nimport FilterButtons from \"./components/filter-buttons\";\nimport Forms from \"./components/forms\";\nimport KeywordEdit from \"./components/keyword-edit\";\nimport KeywordToggle from \"./components/keyword-toggle\";\nimport ModalBox from \"./components/modalbox\";\nimport Notification from \"./components/notification\";\nimport PageHeaderSearch from \"./components/page-header-search\";\nimport PanelLayout from \"./components/panel-layout\";\nimport SearchLayer from \"./components/search-layer\";\nimport SearchFiltersOverlay from \"./components/search-filters-overlay\";\nimport Shortcuts from \"./components/shortcuts\";\nimport SiteFooter from \"./components/site-footer\";\nimport SiteHeader from \"./components/site-header\";\nimport Slider from \"./components/slider\";\nimport StatusControls from \"./components/status-controls\";\nimport SubscribePanel from \"./components/subscribe-panel\";\nimport ToggleButton from \"./components/toggle-button\";\nimport UpdateLog from \"./components/update-log\";\nimport Stickybits from \"./components/stickybits\";\nimport Emitter from \"./components/emitter\";\nimport Video from \"./components/video\";\nimport Tables from \"./components/table\";\nimport FacebookPageFeed from \"./components/facebook-page-feed\";\nimport { EVENTS } from \"./constants\";\n\nclass DesignsystemApp {\n\tconstructor() {\n\t\tconst isKanalen = document\n\t\t\t.querySelector(\"body\")\n\t\t\t.classList.contains(\"theme-kanalen\");\n\t\tif (isKanalen) {\n\t\t\tdocument.addEventListener(\"vue:started\", () => {\n\t\t\t\tconsole.warn(\n\t\t\t\t\t\"vue app ready and the designsystem app is aware.\"\n\t\t\t\t);\n\t\t\t\t// We are not sure if we should start the designsystem app from a b\n\t\t\t\tthis.init();\n\t\t\t});\n\t\t} else {\n\t\t\tthis.init();\n\t\t}\n\t\tdocument.addEventListener(EVENTS.DOCUMENT_UPDATE, () => {\n\t\t\tthis.updateModules();\n\t\t});\n\t}\n\tinit(e = \"event\") {\n\t\t// document.addEventListener('vue:started' this.initApp)\n\n\t\tlet accordionControllers = document.querySelectorAll(\n\t\t\t\".js--accordion-controller\"\n\t\t);\n\t\t[...accordionControllers].map(elem => {\n\t\t\tlet controller = new AccordionController(elem);\n\t\t});\n\n\t\tlet accordions = document.querySelectorAll(\".js--accordion\");\n\t\t[...accordions].map(elem => {\n\t\t\tlet noController = !elem.closest(\".js--accordion-controller\");\n\t\t\tif (noController) {\n\t\t\t\tlet accordion = new Accordion(elem);\n\t\t\t}\n\t\t});\n\n\t\tlet alphabeticNavigations = document.querySelectorAll(\n\t\t\t\".js--alphabetic-navigation\"\n\t\t);\n\t\t[...alphabeticNavigations].map(elem => {\n\t\t\tlet alphabeticNavigation = new AlphabeticNavigation(elem);\n\t\t});\n\n\t\tlet commentForms = document.querySelectorAll(\".js--comment-form\");\n\t\t[...commentForms].map(elem => {\n\t\t\tlet commentForm = new CommentForm(elem);\n\t\t});\n\n\t\tlet cookieCompliances = document.querySelectorAll(\n\t\t\t\".js--cookie-compliance\"\n\t\t);\n\t\t[...cookieCompliances].map(elem => {\n\t\t\tlet cookieCompliance = new CookieCompliance(elem);\n\t\t});\n\n\t\tlet criterionLists = document.querySelectorAll(\".js--criterion-list\");\n\t\t[...criterionLists].map(elem => {\n\t\t\tlet criterionList = new CriterionList(elem);\n\t\t});\n\n\t\tlet entriesNavigations = document.querySelectorAll(\n\t\t\t\".js--entries-navigation\"\n\t\t);\n\t\t[...entriesNavigations].map(elem => {\n\t\t\tlet entriesNavigation = new EntriesNavigation(elem);\n\t\t});\n\n\t\tlet filterButtonses = document.querySelectorAll(\".js--filter-buttons\");\n\t\t[...filterButtonses].map(elem => {\n\t\t\tlet filterButtons = new FilterButtons(elem);\n\t\t});\n\n\t\tlet formses = document.querySelectorAll(\".form\");\n\t\t[...formses].map(elem => {\n\t\t\tlet forms = new Forms(elem);\n\t\t});\n\n\t\tlet keywordEdits = document.querySelectorAll(\".js--keyword-edit\");\n\t\t[...keywordEdits].map(elem => {\n\t\t\tlet keywordEdit = new KeywordEdit(elem);\n\t\t});\n\n\t\tlet keywordToggles = document.querySelectorAll(\".js--keyword-toggle\");\n\t\t[...keywordToggles].map(elem => {\n\t\t\tlet keywordToggle = new KeywordToggle(elem);\n\t\t});\n\n\t\tlet modalTriggers = document.querySelectorAll(\".js--open-modal\");\n\t\t[...modalTriggers].map(trigger => {\n\t\t\ttrigger.addEventListener(\"click\", function() {\n\t\t\t\tlet template = this.getAttribute(\"data-template\")\n\t\t\t\t\t\t? document.querySelector(\n\t\t\t\t\t\t\t\t\"#\" + this.getAttribute(\"data-template\")\n\t\t\t\t\t\t )\n\t\t\t\t\t\t: null,\n\t\t\t\t\tcontent = template\n\t\t\t\t\t\t? template.innerHTML\n\t\t\t\t\t\t: document.createElement(\"
TEMPLATE MISSING
\"),\n\t\t\t\t\tfixBody = this.getAttribute(\"data-fixbody\")\n\t\t\t\t\t\t? this.getAttribute(\"data-fixbody\") == \"true\"\n\t\t\t\t\t\t: false,\n\t\t\t\t\tcssClasses = template.getAttribute(\"data-classes\")\n\t\t\t\t\t\t? template.getAttribute(\"data-classes\")\n\t\t\t\t\t\t: \"\";\n\n\t\t\t\tcssClasses += this.getAttribute(\"data-classes\")\n\t\t\t\t\t? \" \" + this.getAttribute(\"data-classes\")\n\t\t\t\t\t: \"\";\n\n\t\t\t\tlet instantiationFail = false;\n\n\t\t\t\tif (typeof template == \"undefined\") {\n\t\t\t\t\tinstantiationFail = true;\n\t\t\t\t}\n\t\t\t\tif (typeof content == \"undefined\") {\n\t\t\t\t\tinstantiationFail = true;\n\t\t\t\t}\n\t\t\t\tif (typeof fixBody == \"undefined\") {\n\t\t\t\t\tinstantiationFail = true;\n\t\t\t\t}\n\t\t\t\tif (typeof cssClasses == \"undefined\") {\n\t\t\t\t\tinstantiationFail = true;\n\t\t\t\t}\n\t\t\t\tif (instantiationFail) return false;\n\n\t\t\t\tlet modal = new ModalBox({\n\t\t\t\t\tcontent: content,\n\t\t\t\t\tcssClasses: cssClasses,\n\t\t\t\t\tfixBody: fixBody\n\t\t\t\t});\n\t\t\t\tmodal;\n\t\t\t});\n\t\t});\n\n\t\tlet notifications = document.querySelectorAll(\".js--notification\");\n\t\t[...notifications].map(elem => {\n\t\t\tlet notification = new Notification(elem);\n\t\t});\n\n\t\tlet pageHeaderSearches = document.querySelectorAll(\n\t\t\t\".js--page-header-search\"\n\t\t);\n\t\t[...pageHeaderSearches].map(elem => {\n\t\t\tlet pageHeaderSearch = new PageHeaderSearch(elem);\n\t\t});\n\n\t\tlet panelLayouts = document.querySelectorAll(\".js--panel-layout\");\n\t\t[...panelLayouts].map(elem => {\n\t\t\tlet panelLayout = new PanelLayout(elem);\n\t\t});\n\n\t\tlet reveals = document.querySelectorAll(\".js--reveal\");\n\t\t[...reveals].map(elem => {\n\t\t\tlet reveal = new Reveal(elem);\n\t\t});\n\n\t\tlet searchFiltersOverlays = document.querySelectorAll(\n\t\t\t\".js--search-filters-overlay\"\n\t\t);\n\t\t[...searchFiltersOverlays].map(elem => {\n\t\t\tlet searchFiltersOverlay = new SearchFiltersOverlay(elem);\n\t\t});\n\n\t\tlet searchLayers = document.querySelectorAll(\".js--search-layer\");\n\t\t[...searchLayers].map(elem => {\n\t\t\tlet searchLayer = new SearchLayer(elem);\n\t\t});\n\n\t\tlet shortcutses = document.querySelectorAll(\".js--shortcuts\");\n\t\t[...shortcutses].map(elem => {\n\t\t\tlet shortcuts = new Shortcuts(elem);\n\t\t});\n\n\t\tlet siteFooters = document.querySelectorAll(\".js--site-footer\");\n\t\t[...siteFooters].map(elem => {\n\t\t\tlet siteFooter = new SiteFooter(elem);\n\t\t});\n\n\t\tlet siteHeaders = document.querySelectorAll(\".js--site-header\");\n\t\t[...siteHeaders].map(elem => {\n\t\t\tlet siteHeader = new SiteHeader(elem);\n\t\t});\n\n\t\tlet sliders = document.querySelectorAll(\".js--slider\");\n\t\t[...sliders].map(elem => {\n\t\t\tlet slider = new Slider(elem);\n\t\t});\n\n\t\tlet statusControlses = document.querySelectorAll(\n\t\t\t\".js--status-controls\"\n\t\t);\n\t\t[...statusControlses].map(elem => {\n\t\t\tlet statusControls = new StatusControls(elem);\n\t\t});\n\n\t\tlet subscribePanels = document.querySelectorAll(\".js--subscribe-panel\");\n\t\t[...subscribePanels].map(elem => {\n\t\t\tlet subscribePanel = new SubscribePanel(elem);\n\t\t});\n\n\t\tlet toggleButtons = document.querySelectorAll(\".js--toggle-button\");\n\t\t[...toggleButtons].map(elem => {\n\t\t\tlet toggleButton = new ToggleButton(elem);\n\t\t});\n\n\t\tlet updateLogs = document.querySelectorAll(\".js--update-log\");\n\t\t[...updateLogs].map(elem => {\n\t\t\tlet updateLog = new UpdateLog(elem);\n\t\t});\n\n\t\t//Update the masonry layout\n\t\tlet masonryUpdates = document.querySelectorAll(\".js--masonry-update\");\n\t\t[...masonryUpdates].map(elem => {\n\t\t\telem.addEventListener(\"click\", () =>\n\t\t\t\tEmitter.trigger(\"panel:update\")\n\t\t\t);\n\t\t});\n\n\t\tlet videos = document.querySelectorAll(\".js--video\");\n\t\t[...videos].map(elem => {\n\t\t\tlet video = new Video(elem);\n\t\t});\n\n\t\tconst fbFeed = document.querySelector(\".facebook-wrapper\");\n\t\tif (fbFeed) new FacebookPageFeed(fbFeed);\n\n\t\tconst stickybits = new Stickybits();\n\t}\n\t// for modules that's ready to be re initiated\n\tupdateModules() {\n\t\tconst reveals = document.querySelectorAll(\".js--reveal\");\n\t\t[...reveals].forEach(elem => {\n\t\t\tconst reveal = new Reveal(elem);\n\t\t});\n\t\tconst formses = document.querySelectorAll(\".form\");\n\t\t[...formses].map(elem => {\n\t\t\tlet forms = new Forms(elem);\n\t\t});\n\n\t\tlet accordionControllers = document.querySelectorAll(\n\t\t\t\".js--accordion-controller\"\n\t\t);\n\t\t[...accordionControllers].map(elem => {\n\t\t\tlet controller = new AccordionController(elem);\n\t\t});\n\n\t\tlet accordions = document.querySelectorAll(\".js--accordion\");\n\t\t[...accordions].map(elem => {\n\t\t\tlet noController = !elem.closest(\".js--accordion-controller\");\n\t\t\tif (noController) {\n\t\t\t\tlet accordion = new Accordion(elem);\n\t\t\t}\n\t\t});\n\t}\n\n\tstatic factory() {\n\t\treturn new PrototypeApp();\n\t}\n}\n\nconst App = new DesignsystemApp();\n\nexport {\n\tApp,\n\tAccordionController,\n\tAccordion,\n\tAlphabeticNavigation,\n\tAnimatedReveal,\n\tReveal,\n\tCommentForm,\n\tCookieCompliance,\n\tCriterionList,\n\tEntriesNavigation,\n\tFilterButtons,\n\tForms,\n\tKeywordEdit,\n\tKeywordToggle,\n\tModalBox,\n\tNotification,\n\tPageHeaderSearch,\n\tPanelLayout,\n\tSearchLayer,\n\tSearchFiltersOverlay,\n\tShortcuts,\n\tSiteFooter,\n\tSiteHeader,\n\tSlider,\n\tStatusControls,\n\tSubscribePanel,\n\tToggleButton,\n\tUpdateLog,\n\tStickybits,\n\tFacebookPageFeed\n};\n","import Emitter from './emitter';\nimport Accordion from './accordion';\nimport Utils from './utils';\nimport View from '../view';\nclass AccordionController extends View {\n\n\tconstructor(el){\n\t\tsuper(el);\n\t\tif(this.el.getAttribute('data-mounted')) return;\n\t\tthis.el.setAttribute('data-mounted', true);\n\t\tthis.autoOpen = false;\n\t\tthis.allOpen = false;\n\t\tvar wW = window.innerWidth;\n\t\tthis.uuid = Utils.uniqueId(4);\n\t\t\n\t\tvar dataAutoOpen = this.el.dataset.autoopen;\n\n\t\tif ( dataAutoOpen ) {\n\t\t\tif ( dataAutoOpen == \"desktop\" && wW > 767 ) {\n\t\t\t\tthis.autoOpen = true;\n\t\t\t}\n\t\t\telse if ( dataAutoOpen == \"mobile\" && window.innerWidth < 768) {\n\t\t\t\tthis.autoOpen = true;\n\t\t\t}\n\t\t}\n\n\t\tlet accordions = this.el.querySelectorAll('.js--accordion');\n\t\t\t[...accordions].map((elem)=> {\n\t\t\t\tconst accordion = new Accordion(elem, this.uuid);\n\t\t\t});\n\n\t\tthis.trigger = this.el.querySelector('.js--accordion-controller-trigger');\n\t\tthis.trigger && this.trigger.addEventListener('click', this.onToggleAll.bind(this));\n\n\t\tif ( this.autoOpen ) setTimeout(function(){\n\t\t\tthis.onToggleAll(null);\n\t\t}.bind(this), 200);\n\t}\n\n\tonToggleAll(e){\n\t\ttry {\n\t\t\te.preventDefault();\n\t\t\te.stopPropagation();\n\t\t} catch (error) { }\n\t\tthis.allOpen = !this.allOpen;\n\t\tEmitter.trigger(this.allOpen ? 'accordion:open' : 'accordion:close', { id: this.uuid });\n\t}\n}\n\nexport default AccordionController;\n","import Emitter from \"./emitter\";\nimport Utils from \"./utils\";\nimport View from \"../view\";\nimport { TweenLite } from \"gsap\";\n\nclass Accordion extends View {\n\tget getInitialOptions() {\n\t\treturn {\n\t\t\tallowMultiple: true,\n\t\t\tallowToggle: true,\n\t\t\tduration: 0.3\n\t\t};\n\t}\n\tconstructor(el, id = null) {\n\t\tsuper(el);\n\t\t// this.el = Utils.elProxy(el);\n\n\t\tthis.id = id;\n\t\tif (this.el.getAttribute(\"data-mounted\")) return;\n\t\tthis.options = this.getInitialOptions;\n\t\tthis.el.setAttribute(\"data-mounted\", true);\n\n\t\tthis.open = this.open.bind(this);\n\t\tthis.close = this.close.bind(this);\n\n\t\tfor (let key in this.el.dataset) {\n\t\t\tif (this.options.hasOwnProperty(key)) {\n\t\t\t\tthis.options[key] =\n\t\t\t\t\tthis.el.dataset[key] === \"true\" ? true : false;\n\t\t\t}\n\t\t}\n\n\t\tthis.trigger = this.el.querySelector(\".js--accordion-trigger\");\n\t\tthis.internalButtons = this.el.querySelectorAll(\".button\");\n\n\t\tthis.trigger.addEventListener(\"click\", this.onToggle.bind(this));\n\n\t\t[...this.internalButtons].map(button => {\n\t\t\tbutton.addEventListener(\n\t\t\t\t\"click\",\n\t\t\t\tthis.handleInlineButtonClick.bind(this)\n\t\t\t);\n\t\t});\n\n\t\tthis.savedWindowWidth = 0;\n\n\t\tthis.content = this.el.querySelector(\".js--accordion-content\");\n\n\t\tthis.content.setAttribute(\n\t\t\t\"aria-hidden\",\n\t\t\tthis.trigger.getAttribute(\"aria-expanded\") == \"false\"\n\t\t);\n\t\tthis.content.style.display =\n\t\t\tthis.trigger.getAttribute(\"aria-expanded\") == \"true\"\n\t\t\t\t? \"block\"\n\t\t\t\t: \"none\";\n\n\t\tEmitter.on(\"accordion:update\", this.updateHeight.bind(this));\n\t\tEmitter.on(\"accordion:close\", event => {\n\t\t\tif (this.id === event.id) {\n\t\t\t\tthis.close(this);\n\t\t\t}\n\t\t});\n\t\tEmitter.on(\"accordion:open\", event => {\n\t\t\tif (this.id === event.id) {\n\t\t\t\tthis.open();\n\t\t\t}\n\t\t});\n\t}\n\n\tonToggle(e) {\n\t\te.preventDefault();\n\t\te.stopPropagation();\n\t\tconst target = e.currentTarget;\n\t\t// const content = target.parentElement.nextElementSibling;\n\t\t// Check if the current toggle is expanded.\n\t\tconst isOpen = this.trigger.getAttribute(\"aria-expanded\") == \"true\";\n\n\t\tif (!isOpen) {\n\t\t\t// to open state\n\t\t\tthis.open();\n\n\t\t} else if (\n\t\t\tthis.options.allowToggle ||\n\t\t\t(this.options.allowMultiple && isOpen)\n\t\t) {\n\t\t\t// to close\n\t\t\tthis.close();\n\t\t}\n\t}\n\n\thandleInlineButtonClick(event) {\n\t\tevent.stopPropagation();\n\t}\n\n\topen() {\n\t\tthis.content.setAttribute(\"aria-hidden\", \"false\");\n\t\tthis.el.classList.add(\"is-active\");\n\t\tthis.content.style.height = \"auto\";\n\t\tthis.content.style.display = \"block\";\n\n\t\tTweenLite.to(this.content, this.options.duration, { opacity: 1 });\n\t\tTweenLite.from(this.content, this.options.duration, {\n\t\t\theight: 0,\n\t\t\tonComplete: () => {\n\t\t\t\t// Set the expanded state on the triggering element\n\t\t\t\tthis.trigger.setAttribute(\"aria-expanded\", \"true\");\n\n\t\t\t\t// If toggling is not allowed, set disabled state on trigger\n\t\t\t\tif (!this.options.allowToggle) {\n\t\t\t\t\tthis.trigger.setAttribute(\"aria-disabled\", \"true\");\n\t\t\t\t}\n\t\t\t}\n\t\t});\n\t\tsetTimeout(\n\t\t\tfunction() {\n\t\t\t\tEmitter.trigger(\"panel:update\");\n\t\t\t}.bind(this),\n\t\t\t500\n\t\t);\n\t}\n\n\tclose() {\n\t\t// Set the expanded state on the triggering element\n\t\tthis.el.classList.remove(\"is-active\");\n\t\t// animate content to closed\n\n\t\tTweenLite.to(this.content, this.options.duration, {\n\t\t\theight: 0,\n\t\t\topacity: 0,\n\t\t\tonComplete: () => {\n\t\t\t\tthis.trigger.setAttribute(\"aria-expanded\", \"false\");\n\t\t\t\t// Hide the accordion sections, using aria-controls to specify the desired section\n\t\t\t\tthis.content.setAttribute(\"aria-hidden\", \"true\");\n\t\t\t\tthis.content.style.display = \"none\";\n\t\t\t\t// When toggling is not allowed, clean up disabled state\n\t\t\t\tif (!this.options.allowToggle) {\n\t\t\t\t\tthis.trigger.removeAttribute(\"aria-disabled\");\n\t\t\t\t}\n\t\t\t\tsetTimeout(\n\t\t\t\t\tfunction() {\n\t\t\t\t\t\tEmitter.trigger(\"panel:update\");\n\t\t\t\t\t}.bind(this),\n\t\t\t\t\t500\n\t\t\t\t);\n\t\t\t}\n\t\t});\n\t}\n\n\tresizeHandler(event) {\n\t\tvar width = window.outerWidth;\n\t\tif (this.savedWindowWidth === width) return false;\n\t\telse {\n\t\t\tthis.savedWindowWidth = width;\n\t\t\tthis.updateHeight();\n\t\t}\n\t}\n\n\tupdateHeight(event) {\n\t\t// if ( this.active ) {\n\t\t// \tthis.content.style.maxHeight = 'none';\n\t\t// \tthis.maxHeight = this.content.offsetHeight;\n\t\t// }\n\t\t// else {\n\t\t// \tthis.content.style.maxHeight = '0px';\n\t\t// }\n\t\treturn;\n\t}\n\tstatic eventEmitter() {\n\t\treturn Emitter;\n\t}\n}\n\nexport default Accordion;\n\n// import Base from '../../basics/js/base';\n// import { TweenLite } from 'gsap';\n\n// // with inspiration from https://www.w3.org/TR/wai-aria-practices/examples/accordion/accordion.html\n\n// /**\n// * @param {HTMLElement} el accordion container\n// * @param {Obj} options Object containing options for allowMultiple, allowToggle, duration\n// */\n\n// class Accordion extends Base {\n// \tget initialOptions() {\n// \t\treturn {\n// \t\t\tallowMultiple: false,\n// \t\t\tallowToggle: false,\n// \t\t\tduration: 0.3\n// \t\t}\n// \t}\n// \tconstructor(el, options) {\n// \t\tsuper(el, options);\n// \t\tthis.active = false;\n\n// \t\tfor (let key in this.el.dataset) {\n// \t\t\tif( this.options.hasOwnProperty( key ) ) {\n// \t\t\t\tthis.options[key] = this.el.dataset[key] === \"true\" ? true : false;\n// \t\t\t}\n// \t\t}\n\n// \t\tconsole.log('hi from Accordion', this.options);\n// \t\t//const button = this.el.querySelector('.button');\n// \t\t//button.addEventListener('click', this.handleInlineButtonClick.bind(this));\n\n// \t\t//scope binding\n// //\t\tthis.onToggle = this.onToggle.bind(this);\n// \t\tthis.triggers = this.find('*:not(.accordion) .js--accordion-trigger');\n// \t\tconsole.log(this.triggers)\n\n// \t}\n\n// \tdelegateEvents () {\n// \t\t[].forEach.call(this.el.children, cn => { // allow nesting of accordions\n// \t\t\tif(cn.classList.contains('accordion__title')) {\n// \t\t\t\tthis.on('click', cn.querySelector('.js--accordion-trigger'), this.onToggle.bind(this));\n\n// \t\t\t}\n// \t\t});\n\n// \t\tthis.on('keydown', this.el, this.onKeyDown.bind(this));\n// \t}\n\n// \tundelegateEvents () {\n// \t\t[].forEach.call(this.el.children, cn => { // allow nesting\n// \t\t\tif(cn.classList.contains('accordion__title')) {\n// \t\t\t\tthis.off('click', cn.querySelector('.js--accordion-trigger'), this.onToggle.bind(this));\n\n// \t\t\t}\n// \t\t});\n// \t\tthis.off('keydown', this.el, this.onKeyDown.bind(this));\n// \t}\n\n// \tonToggle(e) {\n// \t\te.preventDefault();\n// \t\te.stopPropagation();\n// \t\tconst target = e.currentTarget;\n// \t\t//const content = target.parentElement.nextElementSibling;\n// \t\t// Check if the current toggle is expanded.\n// \t\tconst isOpen = target.getAttribute('aria-expanded') == 'true';\n// \t\tconst active = this.find('[aria-expanded=\"true\"]')[0];\n// \t\tconst content = this.find(`#${target.getAttribute('aria-controls')}`)[0];\n// \t\t// without allowMultiple, close the open accordion\n// \t\tif (!this.options.allowMultiple && active && active !== target) { // to close\n// \t\t\tconst tmpContent = this.find(`#${active.getAttribute('aria-controls')}`)[0];\n// \t\t\t// animate content to closed\n// \t\t\tTweenLite.to(tmpContent, this.options.duration, { height:0, onComplete: ()=>{\n// \t\t\t\t// Set the expanded state on the triggering element\n// \t\t\t\tactive.setAttribute('aria-expanded', 'false');\n// \t\t\t\t// Hide the accordion sections, using aria-controls to specify the desired section\n// \t\t\t\ttmpContent.setAttribute('aria-hidden', 'true');\n// \t\t\t\t// When toggling is not allowed, clean up disabled state\n// \t\t\t\tif (!this.options.allowToggle) {\n// \t\t\t\t\tactive.removeAttribute('aria-disabled');\n// \t\t\t\t}\n// \t\t\t}})\n// \t\t}\n// \t\tif (!isOpen) { // to open state\n// \t\t\t// Hide the accordion sections, using aria-controls to specify the desired section\n// \t\t\tcontent.setAttribute('aria-hidden', 'false');\n// \t\t\tcontent.style.height = \"auto\";\n// \t\t\tTweenLite.to(content, this.options.duration, { opacity: 1});\n// \t\t\tTweenLite.from(content, this.options.duration, { height:0, onComplete:()=>{\n// \t\t\t\t// Set the expanded state on the triggering element\n// \t\t\t\ttarget.setAttribute('aria-expanded', 'true');\n// \t\t\t\t// set state class\n// \t\t\t\ttarget.parentElement.classList.add('is-open');\n// \t\t\t\t// If toggling is not allowed, set disabled state on trigger\n// \t\t\t\tif (!this.options.allowToggle) {\n// \t\t\t\t target.setAttribute('aria-disabled', 'true');\n// \t\t\t\t}\n// \t\t\t}});\n// \t\t} else if (this.options.allowToggle || this.options.allowMultiple && isOpen) { // to close\n// \t\t\tTweenLite.to(content, this.options.duration, {height: 0, opacity: 0, onComplete:()=>{\n// \t\t\t\t// Set the expanded state on the triggering element\n// \t\t\t\ttarget.parentElement.classList.remove('is-open');\n// \t\t\t\ttarget.setAttribute('aria-expanded', 'false');\n// \t\t\t\t// Hide the accordion sections, using aria-controls to specify the desired section\n// \t\t\t\tcontent.setAttribute('aria-hidden', 'true');\n// \t\t\t}})\n// \t\t}\n// \t}\n\n// \tonKeyDown (e) {\n// \t\tconsole.log(e);\n// \t}\n\n// \thandleInlineButtonClick(e){\n// \t\te.stopPropagation();\n// \t}\n\n// }\n\n// export default Accordion;\n","class AlphabeticNavigation {\n\n\tconstructor(el) {\n\t\tthis.el = el;\n\t\tthis.buttons = this.el.querySelectorAll('.button');\n\t\tthis.toggleAllButton = this.el.querySelector('[data-all]');\n\t\tthis.notMultiple = this.el.dataset.multiple === 'false';\n\n\t\t[...this.buttons].map((button)=>{\n\t\t\tbutton.addEventListener('click', this.toggleFilterButton.bind(this));\n\t\t});\n\t}\n\n\ttoggleFilterButton(event) {\n\t\tlet button = event.currentTarget,\n\t\t\tisAllButton = button.dataset.all ? true : false;\n\n\t\tif ( isAllButton || this.notMultiple ) {\n\t\t\t[...this.buttons].map((button)=>{\n\t\t\t\tbutton.classList.remove('is-active');\n\t\t\t});\n\t\t}\n\t\telse {\n\t\t\tthis.toggleAllButton.classList.remove('is-active');\n\t\t}\n\t\tbutton.classList.toggle('is-active');\n\t}\n}\n\nexport default AlphabeticNavigation;\n","\nimport TimelineLite from 'gsap/umd/TimelineLite';\nimport TweenLite from 'gsap/umd/TweenLite';\nimport Power3 from 'gsap/umd/EasePack';\nimport ScrollMagic from 'scrollmagic';\n\nclass AnimatedReveal {\n\n\tconstructor() {\n\t\tthis.scrollMagicController = new ScrollMagic.Controller();\n\t\tthis.scenes = [];\n\n\t\tthis.defaultProps = {\n\t\t\tdistance: 30\n\t\t};\n\n\t\tlet animatedElements = document.querySelectorAll('.js--animated-reveal');\n\n\t\tlet wh = window.innerHeight\n\t\t|| document.documentElement.clientHeight\n\t\t|| document.body.clientHeight;\n\n\t\t[...animatedElements].map((elem)=>{\n\t\t\tlet scene = new ScrollMagic.Scene({triggerElement: elem, offset:-(wh/5)});\n\t\t\t\tscene.addTo(this.scrollMagicController);\n\t\t\t\tscene.on(\"enter\", this.elementInView.bind(this));\n\n\t\t\tthis.scenes.push(scene);\n\t\t});\n\t}\n\n\telementInView(event) {\n\t\tlet element = event.target.triggerElement();\n\t\tlet dataset = element.dataset;\n\n\t\tif ( !element.classList.contains('is-animated') ) {\n\t\t\telement.classList.add('is-animated');\n\n\t\t\tif (dataset.animtype == 'stagger' && dataset.animtarget) {\n\t\t\t\tlet children = element.querySelectorAll('.'+dataset.animtarget);\n\t\t\t\tlet tl = new TimelineLite();\n\t\t\t\ttl.staggerFromTo(children, 0.4, {y:-10,opacity:0},{y:0,opacity:1}, 0.1, \"stagger\");\n\t\t\t}\n\t\t\telse {\n\t\t\t\tlet toProps = {\n\t\t\t\t\tdelay:dataset.animdelay ? dataset.animdelay : 0,\n\t\t\t\t\tease:dataset.animease ? window[dataset.animease].easeOut : Power3.easeOut\n\t\t\t\t};\n\t\t\t\tlet fromProps = {\n\t\t\t\t\tdelay:dataset.animdelay ? dataset.animdelay : 0,\n\t\t\t\t\tease:dataset.animease ? window[dataset.animease].easeOut : Power3.easeOut\n\t\t\t\t};\n\n\t\t\t\tswitch (dataset.animtype){\n\t\t\t\t\tcase 'up':\n\t\t\t\t\t\tfromProps.opacity = 1;\n\t\t\t\t\t\ttoProps.opacity = 1;\n\t\t\t\t\t\tfromProps.y = this.defaultProps.distance;\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tcase 'fade':\n\t\t\t\t\t\ttoProps.opacity = 1;\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tcase 'fadedown':\n\t\t\t\t\t\ttoProps.opacity = 1;\n\t\t\t\t\t\tfromProps.y = -this.defaultProps.distance;\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tcase 'fadeup':\n\t\t\t\t\t\ttoProps.opacity = 1;\n\t\t\t\t\t\tfromProps.y = this.defaultProps.distance;\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tcase 'faderight':\n\t\t\t\t\t\ttoProps.opacity = 1;\n\t\t\t\t\t\tfromProps.x = this.defaultProps.distance;\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tcase 'fadeleft':\n\t\t\t\t\t\ttoProps.opacity = 1;\n\t\t\t\t\t\tfromProps.x = -this.defaultProps.distance;\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tcase 'fadescale':\n\t\t\t\t\t\ttoProps.opacity = 1;\n\t\t\t\t\t\tfromProps.scale = 0.6;\n\t\t\t\t\t\tbreak;\n\t\t\t\t}\n\t\t\t\tlet duration = dataset.animduration ? dataset.animduration : 2;\n\n\t\t\t\tTweenLite.to(element,duration,toProps);\n\t\t\t\tTweenLite.from(element,duration,fromProps);\n\t\t\t}\n\t\t}\n\t}\n}\n\n\nexport default new AnimatedReveal();\n","import Emitter from './emitter';\nimport View from '../view';\n\nclass CommentForm extends View {\n\tconstructor(el) {\n\t\tsuper(el);\n\t\tthis.button = this.el.querySelector('.js--comment-form-button');\n\t\tthis.tagsContainer = this.el.querySelector('.js--comment-form-tags');\n\t\tthis.textArea = this.el.querySelector('textarea');\n\t\tthis.tagButtons = this.el.querySelectorAll('.js--tag');\n\t\tthis.toggleAllTagButton = this.el.querySelector('[data-all]');\n\t\t\n\t\t\t\t\n\t\tif (!this.el.classList.contains('is-active')) {\n\t\t\tdocument.querySelector('body').addEventListener('click', this.onBodyClick.bind(this) );\n\t\t}\n\t\t\n\t\t\n\t\tthis.textArea.addEventListener('focus', this.onFocus.bind(this) );\n\n\t\t[...this.tagButtons].map((tagButton)=> {\n\t\t\ttagButton.addEventListener('click', this.onTagClick.bind(this) );\n\t\t});\n\n\n\t\tEmitter.on('textarea:resize', this.panelUpdate.bind(this) );\n\t\t\n\t}\n\n\tonFocus() {\t\n\t\tthis.tagsContainer.setAttribute('style','display: block;');\n\t\tif (this.button instanceof HTMLElement){\n\t\t\tthis.button.setAttribute('style','display: inline-block;');\n\t\t}\n\t\tsetTimeout(function(){\n\t\t\tthis.el.classList.add('is-active');\t\t\t\t\t\n\t\t\tthis.panelUpdate();\n\t\t}.bind(this), 50);\n\t}\n\n\tonBodyClick(event) {\n\t\t\n\t\tif ( !this.el.classList.contains('is-active') ) return false;\n\t\t\n\n\t\tvar foundEl = event.target.closest('.js--comment-form');\n\n\t\tif ( !foundEl ) {\n\t\t\tthis.el.classList.remove('is-active');\n\t\t\t\n\t\t\tsetTimeout(function() {\n\t\t\t\tthis.tagsContainer.setAttribute('style','');\n\t\t\t\tif (this.button instanceof HTMLElement){\n\t\t\t\t\tthis.button.setAttribute('style','');\n\t\t\t\t}\n\t\t\t\tthis.panelUpdate();\n\t\t\t}.bind(this), 300);\n\t\t}\n\t}\n\n\tonTagClick(event){\n\t\t\n\t\tlet tagButton = event.currentTarget;\n\t\tvar isAllButton = tagButton.dataset.all ? true : false;\n\n\t\tif ( isAllButton ) {\n\t\t\t[...this.tagButtons].map((tagButton)=> {\n\t\t\t\ttagButton.classList.remove('is-active');\n\t\t\t\t\n\t\t\t});\n\t\t}\n\t\telse {\n\t\t\tthis.toggleAllTagButton.classList.remove('is-active');\t\t\t\n\t\t}\n\t\ttagButton.classList.toggle('is-active');\t\t\n\t}\n\n\tpanelUpdate(){\n\t\tEmitter.trigger('accordion:update');\n\n\t\tsetTimeout(function() {\n\t\t\tEmitter.trigger('panel:update');\n\t\t}.bind(this), 500);\n\t}\n}\n\n\nexport default CommentForm;\n","import { isCookieEnabled, getCookie, setCookie, removeCookie } from 'tiny-cookie';\nimport Utils from './utils';\nimport View from '../view';\n\nclass CookieCompliance extends View {\n\n\tconstructor(el) {\n\t\tsuper(el);\n\n\t\tlet cookie = getCookie(window.cookieProps.name);\n\n\t\tlet acceptButton = this.el.querySelector('.js--accept');\n\t\tlet rejectButton = this.el.querySelector('.js--reject');\n\n\t\tacceptButton.addEventListener('click', this.acceptHandler.bind(this) );\n\t\trejectButton.addEventListener('click', this.rejectHandler.bind(this) );\n\n\n\t\tif ( cookie == 'true' ){\n\t\t\tUtils.remove(this.el);\n\t\t}\n\t\telse {\n\t\t\tsetTimeout(function(){\n\t\t\t\tthis.el.classList.add('is-active');\n\t\t\t}.bind(this),3000);\n\t\t}\n\t}\n\n\tacceptHandler() {\n\t\tsetCookie(window.cookieProps.name, \"true\", { expires:this.expirationDate(), domain:window.cookieProps.domain } );\n\n\t\tUtils.remove(this.el);\n\t}\n\n\trejectHandler() {\n\t\tsetCookie(window.cookieProps.name, \"false\", { expires:this.expirationDate(), domain:window.cookieProps.domain } );\n\n\t\tUtils.remove(this.el);\n\t}\n\n\texpirationDate() {\n\t\tlet date = new Date();\n\t\tdate.setDate(date.getDate() + window.cookieProps.days);\n\t\tlet dateStr = date.toGMTString();\n\n\t\treturn dateStr;\n\t}\n}\n\nexport default CookieCompliance;\n","import Emitter from './emitter';\n\nclass CriterionList {\n\n\tconstructor(el) {\n\t\tthis.el = el;\n\n\t\tthis.labelId = this.el.dataset.labelid;\n\n\t\tif ( this.labelId ) this.countLabelRef = document.querySelector('#'+this.labelId);\n\n\t\tEmitter.trigger('criterionlist:init', this.instanceId);\n\t\tEmitter.on('criterionlist:clear', this.clearAll.bind(this));\n\n\t\tthis.criterionElements = this.el.querySelectorAll('.js--criterion');\n\n\t\tthis.criteria = this.el.querySelectorAll('.js--criterion');\n\t\t[...this.criteria].map((criterion)=>{\n\t\t\tcriterion.addEventListener('click',this.toggleCriterion.bind(this));\n\t\t});\n\n\t}\n\n\ttoggleCriterion(event) {\n\t\tlet criterion = event.currentTarget;\n\t\tcriterion.classList.toggle('is-active');\n\t\tlet active = criterion.classList.contains('is-active');\n\t\tcriterion.setAttribute('aria-checked', active);\n\n\t\tthis.countActives();\n\t}\n\n\tcountActives(argument) {\n\t\tlet activeCount = this.el.querySelectorAll('a.is-active').length;\n\t\tif ( activeCount > 0 ) {\n\t\t\tEmitter.trigger('criterionlist:actives', this.instanceId);\n\t\t\tif ( this.countLabelRef ) {\n\t\t\t\tthis.countLabelRef.textContent = activeCount + \" valgt\";\n\t\t\t\tthis.countLabelRef.classList.add('is-active');\n\t\t\t}\n\t\t}\n\t\telse {\n\t\t\tEmitter.trigger('criterionlist:empty', this.instanceId);\n\t\t\tif ( this.countLabelRef ) {\n\t\t\t\tthis.countLabelRef.classList.remove('is-active');\n\t\t\t}\n\t\t}\n\t}\n\n\tclearAll() {\n\t\t[...this.criteria].map((criterion)=>{\n\t\t\tcriterion.classList.remove('is-active');\n\t\t});\n\t}\n\n}\n\nexport default CriterionList;\n","import ES6EventEmitter from \"es6-event-emitter\";\n\nclass Emitter extends ES6EventEmitter {\n\tconstructor() {\n\t\tsuper();\n\t\tthis.addListener = this.addListener.bind(this);\n\t\tthis.removeListner = this.removeListner.bind(this);\n\t}\n\taddListener(evnet, handler) {\n\t\tthis.on(event, handler);\n\t}\n\tremoveListner(evnet, handler) {\n\t\tthis.off(event, handler);\n\t}\n}\n\n// export singleton\nexport default new Emitter();\n","import Utils from './utils';\n\nclass EntriesNavigation {\n\n\tconstructor(el) {\n\t\tthis.el = el;\n\n\t\tthis.entryButtons = null;\n\t\tthis.animationDuration = 150;\n\t\tthis.secondaries = null;\n\t\tthis.secondariesContent = null;\n\n\t\tthis.oldEntryId = -1;\n\t\tthis.currentEntryId = -1;\n\t\tthis.oldSecondaryId = -1;\n\t\tthis.currentSecondaryId = -1;\n\t\tthis.currentSecondaryContentId = -1;\n\n\t\tthis.currentEntryButton = null;\n\t\tthis.currentSecondary = null;\n\t\tthis.secondaryOpen = false;\n\n\t\tthis.savedWindowWidth = 0;\n\n\t\tthis.secondaryCloseButtons = this.el.querySelectorAll('.js--secondary-close');\n\t\t[...this.secondaryCloseButtons].map((secondaryCloseButton)=>{\n\t\t\tsecondaryCloseButton.addEventListener('click',this.secondaryCloseHandler.bind(this));\n\t\t});\n\n\t\tthis.secondaries = this.el.querySelectorAll('.js--entries-navigation-secondary');\n\t\tthis.secondariesContent = this.el.querySelectorAll('.js--secondary-content');\n\t\tthis.entryButtons = this.el.querySelectorAll('.js--primary-entry');\n\n\n\t\tthis.bodyRef = document.querySelector('body');\n\t\tthis.htmlRef = document.querySelector('html');\n\n\n\t\tthis.savedWindowWidth = window.innerWidth;\n\n\t\twindow.addEventListener('resize', this.resizeHandler.bind(this) );\n\n\t\t[...this.entryButtons].map((entryButton)=>{\n\t\t\tentryButton.addEventListener('click', this.clickHandler.bind(this) );\n\t\t});\n\n\t}\n\n\tclickHandler(event) {\n\t\tthis.primaryEntryHandler(event);\n\t}\n\n\tprimaryEntryHandler(event) {\n\n\t\tif ( !event.currentTarget ) return false;\n\n\n\t\tthis.oldEntryId = this.currentEntryId;\n\t\tif ( this.currentEntryButton instanceof HTMLElement ) {\n\t\t\tthis.currentEntryButton.setAttribute('aria-expanded', 'false');\n\t\t}\n\t\tthis.currentEntryButton = event.currentTarget;\n\n\t\tthis.currentEntryId = parseInt(this.currentEntryButton.getAttribute('data-entryid'));\n\t\tthis.oldSecondaryId = this.currentSecondaryId;\n\n\t\tthis.currentSecondaryId = parseInt(this.currentEntryButton.getAttribute('data-secondaryid'));\n\t\tthis.currentSecondaryContentId = parseInt(this.currentEntryButton.getAttribute('data-contentid'));\n\n\t\tthis.currentSecondary = this.secondaries[this.currentSecondaryId];\n\t\tthis.currentSecondaryContent = this.currentSecondary.querySelector(\"[data-contentid='\"+this.currentSecondaryContentId+\"']\");\n\n\t\t// Log.db(\"cEI=\"+this.currentEntryId+\", cSI=\"+this.currentSecondaryId+\", cSCI=\"+this.currentSecondaryContentId);\n\t\t// Log.db(\"this.secondaries\",this.secondaries);\n\t\t// Log.db(\"this.currentSecondary\",this.currentSecondary);\n\t\t// Log.db(\"this.currentSecondaryContent\",this.currentSecondaryContent);\n\n\t\tif ( this.oldEntryId == this.currentEntryId ) {\n\t\t\t//clicked same button again\n\t\t\tthis.controlSecondaryNavigation(false);\n\t\t}\n\t\telse if ( this.oldSecondaryId == this.currentSecondaryId ) {\n\t\t\t//clicked something new - same secondary\n\t\t\tthis.controlSecondaryNavigation(true);\n\t\t}\n\t\telse {\n\t\t\t//clicked something new - secondary open\n\t\t\tthis.controlSecondaryNavigation(true, true);\n\t\t}\n\t}\n\n\tresetSecondaryContent(animate) {\n\t\t[...this.secondariesContent].map((elem)=>{\n\t\t\telem.classList.remove('is-animating');\n\t\t\tif ( animate ) setTimeout(function() {elem.classList.remove('is-active');}.bind(this),this.animationDuration);\n\t\t\telse elem.classList.remove('is-active');\n\t\t});\n\t}\n\n\tresetSecondary(animate, force) {\n\t\t[...this.secondaries].map((elem)=>{\n\t\t\tif ( elem != this.currentSecondary || force ) {\n\t\t\t\telem.classList.remove('is-animating');\n\t\t\t\tif ( animate ) setTimeout(function() {elem.classList.remove('is-active');}.bind(this),this.animationDuration);\n\t\t\t\telse elem.classList.remove('is-active');\n\t\t\t\telem.setAttribute(\"style\",\"\");\n\t\t\t}\n\t\t});\n\t}\n\n\tcontrolSecondaryNavigation(showingNewContent, newSecondary) {\n\n\t\tif ( showingNewContent ) {\n\n\t\t\tif ( newSecondary ) {\n\t\t\t\tthis.resetSecondary(true);\n\t\t\t}\n\t\t\tthis.resetSecondaryContent();\n\t\t\tthis.currentSecondary.classList.add('is-active');\n\n\t\t\tsetTimeout(function() {\n\t\t\t\tthis.currentSecondary.classList.add('is-animating');\n\t\t\t\tthis.currentSecondaryContent.classList.add('is-active');\n\t\t\t\tvar height = Utils.getHeight(this.currentSecondaryContent);\n\n\t\t\t\tthis.currentSecondary.setAttribute(\"style\",\"height:\"+height+\"px;\");\n\n\t\t\t\tsetTimeout(function() {\n\t\t\t\t\tthis.currentSecondaryContent.classList.add('is-animating');\n\t\t\t\t}.bind(this), 50);\n\n\t\t\t}.bind(this), 50);\n\n\t\t\tthis.currentEntryButton.setAttribute('aria-expanded', 'true');\n\t\t}\n\t\telse {\n\t\t\tthis.resetSecondary(true,true);\n\t\t\tthis.resetSecondaryContent(true);\n\n\t\t\tthis.oldEntryId = -1;\n\t\t\tthis.currentEntryId = -1;\n\t\t\tthis.oldSecondaryId = -1;\n\t\t\tthis.currentSecondaryId = -1;\n\t\t\tthis.currentSecondaryContentId = -1;\n\t\t}\n\t}\n\n\tresizeHandler() {\n\n\t\tvar width = window.innerWidth;\n\t\tif ( this.savedWindowWidth === width ) return false;\n\t\telse {\n\t\t\tthis.savedWindowWidth = width;\n\t\t\tthis.measureCols();\n\t\t}\n\t}\n\n\tmeasureCols(){\n\t\tvar width = window.outerWidth;\n\t\tif ( typeof width == \"undefined\" || width <= 0) width = window.innerWidth;\n\n\t\t//Log.db(\"measureCols | width=\"+width)\n\t\tif ( width < 768 ) {\n\t\t\t//mobile landscape\n\t\t\tthis.rearrangeEntries(1);\n\t\t}\n\t\telse if ( width < 1024) {\n\t\t\t//tablet portrait\n\t\t\tthis.rearrangeEntries(2);\n\t\t}\n\t\telse {\n\t\t\t//tablet landscape + desktop\n\t\t\tthis.rearrangeEntries(3);\n\t\t}\n\t}\n\n\trearrangeEntries(cols) {\n\t\t// Log.fn(\"EntriesNavigation | rearrangeEntries\");\n\t}\n\n\tsecondaryCloseHandler() {\n\t\tthis.controlSecondaryNavigation(false);\n\t}\n\n}\n\nexport default EntriesNavigation;\n","import View from '../view';\nimport debounce from 'debounce';\n\nclass FacebookPageFeed extends View {\n\n\tconstructor(el){\n super(el);\n this.el = el;\n this.FBready = false;\n\n // Listen to render event to make sure we can manipulate it\n window.addEventListener('resize', debounce(() => this.handleResize(), 300));\n\n window.fbAsyncInit = () => {\n FB.Event.subscribe('xfbml.render', () => {\n this.FBready = true;\n if (!this.fbPageEl) this.fbPageEl = el.querySelector('.fb-page');\n if (!this.iFrameWrapper) this.iFrameWrapper = this.fbPageEl.firstElementChild;\n if (!this.iframe) this.iframe = el.querySelector('iframe');\n this.handleResize();\n });\n }\n }\n\n handleResize() {\n if (!this.FBready) return;\n const w = this.el.offsetWidth;\n if (w === this.currentWidth) return;\n this.currentWidth = w;\n\n this.fbPageEl.setAttribute('data-width', w);\n this.fbPageEl.setAttribute('data-height', w);\n this.iframe.style.width = `${w}px`;\n this.iframe.style.height = `${w}px`;\n this.iFrameWrapper.style.width = `${w}px`;\n this.iFrameWrapper.style.height = `${w}px`;\n if (FB) FB.XFBML.parse();\n }\n\n}\n\nexport default FacebookPageFeed;\n","class FilterButtons {\n\n\tconstructor(el) {\n\t\tthis.el = el;\n\n\t\tthis.labelRefId = this.el.dataset.labelid;\n\n\t\tif ( this.labelRefId.length > 0 ) {\n\t\t\tthis.labelRef = document.querySelector('#'+this.labelRefId);\n\t\t}\n\n\t\tthis.buttons = this.el.querySelectorAll('.button');\n\t\tthis.toggleAllButton = this.el.querySelector('[data-all]');\n\n\t\t[...this.buttons].map((button)=>{\n\t\t\tbutton.addEventListener('click',this.toggleFilterButton.bind(this) );\n\t\t});\n\t}\n\n\n\ttoggleFilterButton(event) {\n\t\tvar selectedCount = 0;\n\n\t\tvar isAllButton = event.currentTarget.dataset.all ? true : false;\n\t\tif ( isAllButton ) {\n\t\t\t[...this.buttons].map((button)=>{\n\t\t\t\tbutton.classList.remove('is-active');\n\t\t\t});\n\t\t}\n\t\telse {\n\t\t\tthis.toggleAllButton.classList.remove('is-active');\n\t\t}\n\t\tevent.currentTarget.classList.toggle('is-active');\n\n\t\tsetTimeout(function() {\n\t\t\tselectedCount = this.el.querySelectorAll('.button.is-active').length;\n\t\t\tif ( isAllButton ) selectedCount = 0;\n\n\t\t\tif ( this.labelRef instanceof HTMLElement ) {\n\t\t\t\tthis.labelRef.textContent = selectedCount + \" valgt\";\n\t\t\t}\n\t\t\tif ( selectedCount == 0 ) {\n\t\t\t\tthis.labelRef.textContent = \"\";\n\t\t\t}\n\t\t}.bind(this),50);\n\t}\n}\n\nexport default FilterButtons;\n","import flatpickr from \"flatpickr/dist/flatpickr\";\nimport { Danish } from \"../vendor/flatpickr/da\";\nimport Emitter from \"./emitter\";\nimport View from \"../view\";\nimport cuid from \"cuid\";\nimport { html, render } from \"es5-lit-html\";\n\nclass Forms extends View {\n\tconstructor(el) {\n\t\tsuper(el);\n\n\t\tlet formFields = this.el.querySelectorAll(\".form__field\");\n\n\t\t[...formFields].map(elem => {\n\t\t\tif (!elem.classList.contains(\"is-bound\")) {\n\t\t\t\tif (elem.classList.contains(\"form__field--select\")) {\n\t\t\t\t\tif (!elem.classList.contains(\"js--select-multiple\")) {\n\t\t\t\t\t\tnew Select(elem);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tif (elem.classList.contains(\"form__field--radio\")) {\n\t\t\t\t\tnew Radio(elem);\n\t\t\t\t}\n\t\t\t\tif (elem.classList.contains(\"form__field--textarea\")) {\n\t\t\t\t\tnew Textarea(elem);\n\t\t\t\t}\n\t\t\t\tif (elem.classList.contains(\"form__field--checkbox\")) {\n\t\t\t\t\tnew CheckBox(elem);\n\t\t\t\t}\n\t\t\t\tif (elem.classList.contains(\"form__field--text\")) {\n\t\t\t\t\tnew Text(elem);\n\t\t\t\t}\n\t\t\t\tif (elem.classList.contains(\"form__field--file\")) {\n\t\t\t\t\tnew FileUpload(elem);\n\t\t\t\t}\n\t\t\t\tif (elem.classList.contains(\"form__field--date\")) {\n\t\t\t\t\tnew DatePicker(elem);\n\t\t\t\t}\n\t\t\t\tif (elem.classList.contains(\"js--select-multiple\")) {\n\t\t\t\t\tnew MultipleSelect(elem);\n\t\t\t\t}\n\t\t\t}\n\t\t});\n\t}\n}\n\n//Select\nclass Select {\n\tconstructor(el) {\n\t\tthis.el = el;\n\n\t\tthis.el.classList.add(\"is-bound\");\n\t\tthis.formItem = this.el.querySelector(\".form__item\");\n\n\t\tthis.formItem.addEventListener(\"focus\", this.onFocus.bind(this));\n\t\tthis.formItem.addEventListener(\"blur\", this.onBlur.bind(this));\n\t\tthis.formItem.addEventListener(\"change\", this.onChange.bind(this));\n\t\tthis.formItem.addEventListener(\"select\", this.onSelect.bind(this));\n\t}\n\n\tonFocus() {\n\t\tif (this.el.classList.contains(\"is-disabled\")) return;\n\t\tthis.el.classList.add(\"has-focus\");\n\t\tthis.el.classList.add(\"is-filled\");\n\t}\n\n\tonChange() {\n\t\tthis.formItem.blur();\n\t\tthis.onBlur();\n\t}\n\n\tonSelect() {}\n\n\tonBlur() {\n\t\tthis.el.classList.remove(\"has-focus\");\n\t\tif (\n\t\t\tthis.formItem.options[this.formItem.selectedIndex].text == \"default\"\n\t\t) {\n\t\t\tthis.el.classList.remove(\"is-filled\");\n\t\t}\n\t}\n}\n\n//Radio\nclass Radio {\n\tconstructor(el) {\n\t\tthis.el = el;\n\n\t\tthis.el.classList.add(\"is-bound\");\n\t\tthis.formItem = this.el.querySelector(\".form__item\");\n\t\tEmitter.on(\"radio:change\", this.onChange.bind(this));\n\n\t\tthis.formItem.addEventListener(\"click\", this.onClick.bind(this));\n\t}\n\n\tonClick(e) {\n\t\tEmitter.trigger(\"radio:change\", e, this.formItem.name);\n\t}\n\n\tonChange(e, name) {\n\t\tif (this.formItem.name === name) {\n\t\t\tthis.el.classList.toggle(\"is--checked\", this.formItem.checked);\n\t\t}\n\t}\n}\n\n//CheckBox\nclass CheckBox {\n\tconstructor(el) {\n\t\tthis.el = el;\n\t\tthis.formItem = this.el.querySelector(\".form__item\");\n\n\t\tthis.el.classList.add(\"is-bound\");\n\t\tthis.formItem.addEventListener(\"click\", this.onClick.bind(this));\n\t}\n\n\tonClick(e) {}\n}\n\n//Textarea\nclass Textarea {\n\tconstructor(el) {\n\t\tthis.el = el;\n\n\t\tthis.el.classList.add(\"is-bound\");\n\t\tthis.formItem = this.el.querySelector(\".form__item\");\n\t\tthis.minHeight = this.formItem.scrollHeight;\n\t\tthis.maxHeight = 150;\n\n\t\tthis.formItem.addEventListener(\"focus\", this.onFocus.bind(this));\n\t\tthis.formItem.addEventListener(\"blur\", this.onBlur.bind(this));\n\t\tthis.formItem.addEventListener(\"input\", this.adjustHeight.bind(this));\n\n\t\twindow.addEventListener(\"resize\", this.adjustHeight.bind(this));\n\n\t\t// we adjust height to the initial content\n\t\tthis.adjustHeight();\n\t}\n\n\tonFocus() {\n\t\tif (this.el.classList.contains(\"is-disabled\")) return;\n\t\tthis.el.classList.add(\"has-focus\");\n\t\tthis.el.classList.add(\"is-filled\");\n\t}\n\n\tonBlur() {\n\t\tthis.el.classList.remove(\"has-focus\");\n\t\tif (this.formItem.value.length == 0)\n\t\t\tthis.el.classList.remove(\"is-filled\");\n\t}\n\n\tadjustHeight() {\n\t\t// compute the height difference which is caused by border and outline\n\t\tvar outerHeight = parseInt(\n\t\t\twindow.getComputedStyle(this.formItem).height,\n\t\t\t10\n\t\t);\n\t\tvar diff = outerHeight - this.formItem.clientHeight;\n\n\t\t// set the height to 0 in case of it has to be shrinked\n\t\tthis.formItem.style.height = 0;\n\n\t\t// set the correct height\n\t\t// el.scrollHeight is the full height of the content, not just the visible part\n\t\tthis.formItem.style.height =\n\t\t\tMath.min(\n\t\t\t\tthis.maxHeight,\n\t\t\t\tMath.max(this.minHeight, this.formItem.scrollHeight + diff)\n\t\t\t) + \"px\";\n\n\t\tEmitter.trigger(\"textarea:resize\");\n\t}\n}\n\n//Text\nclass Text {\n\tconstructor(el) {\n\t\tthis.el = el;\n\n\t\tthis.el.classList.add(\"is-bound\");\n\t\tthis.formItem = this.el.querySelector(\".form__item\");\n\n\t\tthis.formItem.addEventListener(\"focus\", this.onFocus.bind(this));\n\t\tthis.formItem.addEventListener(\"blur\", this.onBlur.bind(this));\n\t}\n\n\tonFocus() {\n\t\tif (this.el.classList.contains(\"is-disabled\")) return;\n\t\tthis.el.classList.add(\"has-focus\");\n\t\tthis.el.classList.add(\"is-filled\");\n\t}\n\n\tonBlur() {\n\t\tthis.el.classList.remove(\"has-focus\");\n\t\tif (this.formItem.value.length == 0)\n\t\t\tthis.el.classList.remove(\"is-filled\");\n\t}\n}\n\n//FileUpload\nclass FileUpload {\n\tconstructor(el) {\n\t\tthis.el = el;\n\n\t\tthis.el.classList.add(\"is-bound\");\n\t\tthis.formItem = this.el.querySelector(\".form__item\");\n\t\tthis.multipleCaption = this.formItem.getAttribute(\n\t\t\t\"data-multiplecaption\"\n\t\t);\n\t\tthis.fileNames = this.find(\".file-names\");\n\n\t\tthis.formItem.addEventListener(\"change\", this.changeHandle.bind(this));\n\t}\n\n\tchangeHandler(event) {\n\t\tvar fileName = \"\";\n\t\tvar fileList = this.formItem.files;\n\t\tif (fileList && fileList.length > 1) {\n\t\t\tfileName = (this.multipleCaption || \"\").replace(\n\t\t\t\t\"{count}\",\n\t\t\t\tfileList.length\n\t\t\t);\n\t\t} else {\n\t\t\tfileName = event.target.value.split(\"\\\\\").pop();\n\t\t}\n\n\t\tif (fileName) this.fileNames.text = fileName;\n\t}\n}\n\nclass DatePicker {\n\tconstructor(el) {\n\t\tthis.el = el;\n\t\tthis.options = Object.assign({ locale: Danish }, this.el.dataset);\n\t\tthis.calendar = flatpickr(\n\t\t\tthis.el.querySelector(\".form__item\"),\n\t\t\tthis.options\n\t\t);\n\t}\n}\n\nclass MultipleSelect {\n\tconstructor(el) {\n\t\tthis.el = el;\n\n\t\tthis.el.classList.add(\"is-bound\");\n\t\tthis.container = this.el.querySelector(\".select-multiple-container\");\n\t\tthis.hiddenSelect = this.el.querySelector(\".hidden-select\");\n\n\t\tthis.controllerId = cuid();\n\n\t\tthis.selectedItems = [];\n\n\t\trender(this.render(), this.container);\n\n\t\tthis.list = this.el.querySelector(\".dropdown__list\");\n\t\tthis.triggerBtn = this.el.querySelector(\".form__item\");\n\t\tthis.listContainer = this.el.querySelector(\".dropdown__list-container\");\n\t\tthis.dropdownArrow = this.el.querySelector(\".dropdown__arrow\");\n\t\tthis.listItems = this.el.querySelectorAll(\".dropdown__list-item\");\n\t\tthis.selectAllBtn = this.el.querySelector(\".select-all\");\n\t\tthis.clearAllBtn = this.el.querySelector(\".clear-all\");\n\t\tthis.initialLabel = this.el.querySelector(\n\t\t\t\".form__label__text\"\n\t\t).innerText;\n\t\tthis.isOpen = false;\n\n\t\t[...this.hiddenSelect.options].forEach(option => {\n\t\t\tif (option.selected === true) {\n\t\t\t\tthis.selectedItems.push(option.dataset.id);\n\t\t\t}\n\t\t});\n\t\tthis.triggerBtn.id = this.controllerId;\n\n\t\tthis.selectText = this.el.querySelector(\".select-text\");\n\n\t\tthis.listItemIds = [];\n\n\t\t// Add each list item's id to the listItems array\n\t\tthis.listItems.forEach(item => this.listItemIds.push(item.dataset.id));\n\n\t\tthis.addEvents();\n\t}\n\n\taddEvents() {\n\t\tthis.setSelectedListItem();\n\t\t// Init dropdown\n\t\tthis.triggerBtn.addEventListener(\"click\", e =>\n\t\t\tthis.toggleListVisibility(e)\n\t\t);\n\n\t\tthis.selectAllBtn.addEventListener(\"click\", e => {\n\t\t\tthis.selectAllOptions(e);\n\t\t});\n\t\tthis.clearAllBtn.addEventListener(\"click\", e => {\n\t\t\tthis.clearAllOptions(e);\n\t\t});\n\t\tthis.listContainer.addEventListener(\"transitionend\", () => {\n\t\t\tthis.listContainer.classList.toggle(\"is-hidden\", !this.isOpen);\n\t\t});\n\t\t// key events\n\t\twindow.addEventListener(\"keydown\", this.handleKeys.bind(this), false);\n\t\tdocument.addEventListener(\n\t\t\t\"click\",\n\t\t\te => {\n\t\t\t\tif (\n\t\t\t\t\tthis.isOpen &&\n\t\t\t\t\t!e.target.closest(\".form__field--select-multiple\")\n\t\t\t\t) {\n\t\t\t\t\tthis.closeList();\n\t\t\t\t}\n\t\t\t},\n\t\t\tfalse\n\t\t);\n\t\t// checkboxes\n\t\tthis.el.addEventListener(\"click\", e => {\n\t\t\t// checkbox click\n\t\t\tif (\n\t\t\t\te.target.type === \"checkbox\" &&\n\t\t\t\te.target.classList.contains(\"form__item\")\n\t\t\t) {\n\t\t\t\tconst item = e.target;\n\t\t\t\tif (!this.selectedItems.includes(item.id)) {\n\t\t\t\t\tthis.selectedItems.push(item.id);\n\t\t\t\t\t[...this.hiddenSelect.options].forEach(option => {\n\t\t\t\t\t\tif (option.dataset.id === item.id) {\n\t\t\t\t\t\t\toption.setAttribute(\"selected\", true);\n\t\t\t\t\t\t}\n\t\t\t\t\t});\n\t\t\t\t} else {\n\t\t\t\t\tthis.selectedItems.splice(\n\t\t\t\t\t\tthis.selectedItems.indexOf(item.id),\n\t\t\t\t\t\t1\n\t\t\t\t\t);\n\t\t\t\t\t[...this.hiddenSelect.options].forEach(option => {\n\t\t\t\t\t\tif (option.dataset.id === item.id) {\n\t\t\t\t\t\t\toption.removeAttribute(\"selected\", true);\n\t\t\t\t\t\t}\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t\tthis.setSelectedListItem(e);\n\t\t\t\tthis.bundleBtnColorToggle(e);\n\t\t\t}\n\t\t});\n\t}\n\n\thandleKeys(e) {\n\t\tif (!this.isOpen) return;\n\t\t// e.preventDefault();\n\t\tswitch (e.keyCode) {\n\t\t\tcase ENTER_KEY_CODE:\n\t\t\t\tif (e.target.id === this.controllerId) {\n\t\t\t\t\twindow.requestAnimationFrame(() => {\n\t\t\t\t\t\tthis.setSelectedListItem(e);\n\t\t\t\t\t\tthis.bundleBtnColorToggle(e);\n\t\t\t\t\t\tthis.closeList();\n\t\t\t\t\t});\n\t\t\t\t} else {\n\t\t\t\t\tthis.selectListItem(e);\n\t\t\t\t}\n\t\t\t\treturn;\n\t\t\tcase SPACEBAR_KEY_CODE[1]:\n\t\t\t\tif (e.target.classList.contains(\"dropdown__list-item\")) {\n\t\t\t\t\tthis.selectListItem(e);\n\t\t\t\t}\n\n\t\t\tcase DOWN_ARROW_KEY_CODE:\n\t\t\t\tthis.focusNextListItem(DOWN_ARROW_KEY_CODE);\n\t\t\t\treturn;\n\n\t\t\tcase UP_ARROW_KEY_CODE:\n\t\t\t\tthis.focusNextListItem(UP_ARROW_KEY_CODE);\n\t\t\t\treturn;\n\n\t\t\tcase ESCAPE_KEY_CODE:\n\t\t\t\tthis.closeList();\n\t\t\t\treturn;\n\n\t\t\tdefault:\n\t\t\t\treturn;\n\t\t}\n\t}\n\tselectListItem(e) {\n\t\te.preventDefault();\n\t\tconst item = e.target;\n\t\tconst checkbox = item.querySelector(\"input\");\n\t\tif (!this.selectedItems.includes(item.dataset.id)) {\n\t\t\tthis.selectedItems.push(item.dataset.id);\n\t\t\t[...this.hiddenSelect.options].forEach(option => {\n\t\t\t\tif (option.dataset.id === item.dataset.id) {\n\t\t\t\t\toption.setAttribute(\"selected\", true);\n\t\t\t\t}\n\t\t\t});\n\n\t\t\tif (checkbox) {\n\t\t\t\tcheckbox.checked = true;\n\t\t\t}\n\t\t} else {\n\t\t\tthis.selectedItems.splice(\n\t\t\t\tthis.selectedItems.indexOf(item.dataset.id),\n\t\t\t\t1\n\t\t\t);\n\t\t\t[...this.hiddenSelect.options].forEach(option => {\n\t\t\t\tif (option.dataset.id === item.dataset.id) {\n\t\t\t\t\toption.removeAttribute(\"selected\", true);\n\t\t\t\t}\n\t\t\t});\n\t\t\tif (checkbox) {\n\t\t\t\tcheckbox.checked = false;\n\t\t\t}\n\t\t}\n\t\tthis.setSelectedListItem(e);\n\t\tthis.bundleBtnColorToggle(e);\n\t}\n\tbundleBtnColorToggle(e) {\n\t\tthis.selectAllBtn.disabled =\n\t\t\tthis.selectedItems.length === this.listItems.length;\n\t\tthis.clearAllBtn.disabled = this.selectedItems.length === 0;\n\t}\n\n\t// takes an event and updates the currently selected item in the \"select\" box.\n\tsetSelectedListItem(e) {\n\t\tlet ifOneChosenText;\n\t\tthis.listItems.forEach(item => {\n\t\t\tif (this.selectedItems[0] === item.dataset.id) {\n\t\t\t\tifOneChosenText = item.innerText;\n\t\t\t}\n\t\t});\n\n\t\tlet text = \"\";\n\t\tif (this.selectedItems.length > 1) {\n\t\t\ttext = `${this.selectedItems.length} valgt`;\n\t\t} else if (this.selectedItems.length == 1) {\n\t\t\ttext = ifOneChosenText;\n\t\t} else {\n\t\t\ttext = this.initialLabel;\n\t\t}\n\n\t\tthis.selectText.innerText = text.trim();\n\t}\n\n\t// closes the list and updates the aria-expanded value.\n\tcloseList() {\n\t\tthis.isOpen = false;\n\t\tthis.list.classList.remove(\"open\");\n\t\t// this.dropdownArrow.classList.remove(\"expanded\");\n\t\tthis.listContainer.setAttribute(\"aria-expanded\", false);\n\t\tthis.triggerBtn.focus();\n\t}\n\n\t// takes an event. If the Escape key was pressed, close the list. Otherwise, if the user has clicked or pressed the Spacebar or Enter key, toggle the expanded state and update the aria-expanded value accordingly. Finally, if the down or up arrow keys were pressed, focus the next list item.\n\ttoggleListVisibility(e) {\n\t\tthis.isOpen = !this.isOpen;\n\t\tif (this.isOpen) {\n\t\t\tthis.listContainer.classList.remove(\"is-hidden\");\n\t\t}\n\t\twindow.requestAnimationFrame(() => {\n\t\t\tthis.listContainer.setAttribute(\"aria-expanded\", this.isOpen);\n\t\t});\n\t}\n\n\tselectAllOptions(e) {\n\t\tthis.listItems.forEach(item => {\n\t\t\tconst checkbox = item.querySelector(\"input\");\n\t\t\tif (!this.selectedItems.includes(item.dataset.id)) {\n\t\t\t\tthis.selectedItems.push(item.dataset.id);\n\t\t\t\tcheckbox.checked = true;\n\t\t\t}\n\t\t});\n\t\t[...this.hiddenSelect.options].forEach(option => {\n\t\t\toption.setAttribute(\"selected\", true);\n\t\t});\n\t\tthis.bundleBtnColorToggle(e);\n\t\tthis.setSelectedListItem();\n\t}\n\tclearAllOptions(e) {\n\t\tthis.listItems.forEach(item => {\n\t\t\tconst checkbox = item.querySelector(\"input\");\n\t\t\tif (this.selectedItems.includes(item.dataset.id)) {\n\t\t\t\tthis.selectedItems.splice(\n\t\t\t\t\tthis.selectedItems.indexOf(item.dataset.id),\n\t\t\t\t\t1\n\t\t\t\t);\n\t\t\t\tcheckbox.checked = false;\n\t\t\t}\n\t\t\t[...this.hiddenSelect.options].forEach(option => {\n\t\t\t\toption.removeAttribute(\"selected\", true);\n\t\t\t});\n\t\t});\n\t\tthis.bundleBtnColorToggle();\n\t\tthis.setSelectedListItem();\n\t}\n\n\t/* takes a direction which is either the const DOWN_ARROW_KEY_PRESSED or UP_ARROW_KEY_PRESSED. If the user is currently focused on the \"select\", focus on the first list item. Otherwise we need to find the index of the currently focused list item. This is where the listItemsId array comes in handy. Now that we know where in the list the currently focused item is, we can decide what to do. If the user pressed the down arrow key, and they're not at the last list item, focus on the next list item. If the user pressed the up arrow key, and they're not at the first list item, focus on the previous list item. */\n\tfocusNextListItem(direction) {\n\t\tif (\n\t\t\tdocument.activeElement.id === this.controllerId &&\n\t\t\tdirection !== UP_ARROW_KEY_CODE\n\t\t) {\n\t\t\tthis.list.children[0].focus();\n\t\t} else {\n\t\t\tconst currentActiveElIndex = this.listItemIds.indexOf(\n\t\t\t\tdocument.activeElement.dataset.id\n\t\t\t);\n\n\t\t\tif (direction === DOWN_ARROW_KEY_CODE) {\n\t\t\t\tif (currentActiveElIndex < this.listItemIds.length - 1) {\n\t\t\t\t\tthis.list.children[currentActiveElIndex + 1].focus();\n\t\t\t\t}\n\t\t\t} else if (direction === UP_ARROW_KEY_CODE) {\n\t\t\t\tif (currentActiveElIndex > 0) {\n\t\t\t\t\tthis.list.children[currentActiveElIndex - 1].focus();\n\t\t\t\t}\n\t\t\t\tif (currentActiveElIndex === 0) {\n\t\t\t\t\tthis.triggerBtn.focus();\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\trender() {\n\t\treturn html`\n\t\t\t