{"version":3,"sources":["common.js","../govuk/common.js","../govuk/vendor/polyfills/Window.js","../govuk/vendor/polyfills/Document.js","../govuk/vendor/polyfills/Element.js","../govuk/vendor/polyfills/Object/defineProperty.js","../govuk/vendor/polyfills/Event.js","../govuk/vendor/polyfills/Function/prototype/bind.js","../govuk/components/button/button.js","../govuk/components/details/details.js","../govuk/components/character-count/character-count.js","../govuk/components/checkboxes/checkboxes.js","../govuk/components/error-summary/error-summary.js","../govuk/components/radios/radios.js","../govuk/core.js","../govuk/vendor/polyfills/DOMTokenList.js","../govuk/vendor/polyfills/Element/prototype/classList.js","../govuk/vendor/polyfills/Element/prototype/matches.js","../govuk/vendor/polyfills/Element/prototype/closest.js","components/button/button.js","components/footer-extended/footer-extended.js","components/character-count/character-count.js","components/customer-surveys/customer-surveys.js","components/header-web/header-web.js","components/search-results/search-results.js","../govuk/components/accordion/accordion.js","../govuk/components/tabs/tabs.js","../govuk/extended.js","components/feedback/feedback.js","components/crossroad/crossroad.js","components/in-page-navigation/in-page-navigation.js","components/search-component/search-component.js","components/table-filter/table-filter.js","components/stepper/stepper.js","../govuk/vendor/polyfills/Element/prototype/nextElementSibling.js","../govuk/vendor/polyfills/Element/prototype/previousElementSibling.js","components/subscription-form/subscription-form.js","components/registration-for-event/registration-for-event.js","components/interactive-map/interactive-map.js","components/accordion/accordion.js","components/tabs/tabs.js","components/table/table.js","extended.js","core.js","../govuk/components/header/header.js","components/header-extended/header-extended.js","components/search-results-filter/search-results-filter.js","all.js","../govuk/all.js"],"names":["nodeListForEach","nodes","callback","window","NodeList","prototype","forEach","i","length","call","toggleClass","node","className","indexOf","replace","undefined","this","WorkerGlobalScope","importScripts","global","constructor","Window","Function","self","HTMLDocument","Document","document","Element","HTMLElement","interval","vbody","appendChild","createElement","frameDocument","contentWindow","cache","shiv","element","deep","key","value","childNode","childNodes","index","nodeType","elements","getElementsByTagName","nativeCreateElement","loopLimit","attachEvent","event","propertyName","nonValue","hasOwnProperty","newValue","oldValue","hasAttribute","name","getAttribute","bodyCheck","onreadystatechange","setInterval","nodeName","String","toLowerCase","removeChild","clearTimeout","body","test","readyState","nativeDefineProperty","supportsAccessors","ERR_ACCESSORS_NOT_SUPPORTED","ERR_VALUE_ACCESSORS","Object","defineProperty","e","object","property","descriptor","TypeError","propertyString","hasValueOrWritable","getterType","get","setterType","set","__defineGetter__","__defineSetter__","Event","unlistenableWindowEvents","click","dblclick","keyup","keypress","keydown","mousedown","mouseup","mousemove","mouseover","mouseenter","mouseleave","mouseout","storage","storagecommit","textinput","existingProto","type","eventInitDict","Error","createEvent","bubbles","cancelable","initEvent","createEventObject","configurable","enumerable","writable","addEventListener","arguments","listener","_events","eventElement","list","events","slice","preventDefault","returnValue","stopPropagation","cancelBubble","stopImmediatePropagation","cancelImmediate","currentTarget","relatedTarget","fromElement","target","srcElement","timeStamp","Date","getTime","clientX","pageX","documentElement","scrollLeft","pageY","clientY","scrollTop","push","removeEventListener","splice","detachEvent","dispatchEvent","cancelBubbleEvent","fireEvent","error","parentWindow","parentNode","array","that","isCallable","$Array","Array","$Object","ObjectPrototype","ArrayPrototype","Empty","to_string","toString","hasToStringTag","Symbol","toStringTag","fnToStr","tryFunctionObject","strClass","array_slice","array_concat","concat","array_push","max","Math","bound","args","boundLength","boundArgs","join","result","apply","Button","$module","debounceFormSubmitTimer","handleKeyDown","keyCode","debounce","setTimeout","bind","DEBOUNCE_TIMEOUT_IN_SECONDS","init","NATIVE_DETAILS","open","Details","CharacterCount","$textarea","querySelector","Checkboxes","$inputs","querySelectorAll","ErrorSummary","Radios","initCore","options","scope","$button","$detail","$characterCount","$checkbox","$radio","handleInputs","$summary","item","$content","id","generateUniqueID","d","performance","now","c","r","random","floor","setAttribute","tabIndex","style","display","setAttributes","expanded","hidden","removeAttribute","destroy","x","classList","toggle","DOMTokenList","createElementNS","dpSupport","defineGetter","fn","el","prop","tokens","tokenMap","maxLength","addIndexGetter","preop","reindex","rSpace","SyntaxError","code","baseVal","split","toLocaleString","idx","contains","token","add","l","remove","ignore","t","force","native","addProp","o","attr","tokenList","THIS","gibberishProperty","visage","mirror","reflections","_R","HTMLLinkElement","HTMLAnchorElement","HTMLAreaElement","defaults","characterCountAttribute","wordCountAttribute","getDataset","countAttribute","maxwords","boundCreateCountMessage","createCountMessage","countMessage","bindChangeEvents","boundChangeEvents","updateCountMessage","boundUpdateCountMessage","dataset","attributes","attribute","match","count","text","countElement","elementId","getElementById","insertAdjacentHTML","describedBy","describedByInfo","insertAdjacentElement","checkIfValueChanged","handleFocus","handleBlur","currentLength","remainingNumber","threshold","charVerb","displayNumber","charNoun","abs","innerHTML","valueChecker","clearInterval","$input","controls","handleClick","inputIsChecked","checked","$target","isCheckbox","hasAriaControls","matches","webkitMatchesSelector","oMatchesSelector","msMatchesSelector","mozMatchesSelector","selector","ownerDocument","closest","SVGElement","parentElement","focus","focusTarget","tagName","href","inputId","getFragmentFromUrl","$legendOrLabel","getAssociatedLegendOrLabel","scrollIntoView","preventScroll","url","pop","$fieldset","legends","$clickedInput","hasSameFormOwner","form","FooterExtended","CustomerSurveys","HeaderWeb","SearchResults","Accordion","moduleId","$sections","$openAllButton","browserSupportsSessionStorage","helper","checkForSessionStorage","controlsClass","openAllClass","iconClass","sectionHeaderClass","sectionHeaderFocusedClass","sectionHeadingClass","sectionSummaryClass","sectionButtonClass","sectionExpandedClass","$yesButton","$noButton","$errorButton","$closeErrorFormButton","$closeHelpFormButton","$textAreaCharacterCount","$submitErrorButton","$writeUsButton","$upButton","handleYesButtonClick","handleNoButtonClick","handleErrorButtonClick","handleCloseHelpFormButtonClick","handleCloseErrorFormButtonClick","handleSubmitButtonClick","handleStatusOfCharacterCountButton","scrollFunction","$noOption","$errorOption","$infoQuestion","$heartSymbol","$feedbackQuestion","$selection","$issueTextArea","$feedbackInfo","selectedOption","issueText","email","subject","emailBody","textContent","location","$remainingCharacterCountMessage","$submitButton","disabled","$helpOption","innerWidth","screen","height","$nextButton","$previousButton","$textAreaFirst","$textAreaSecond","$textAreaThird","$textAreaFourth","$radioButtonWork","$radioButtonPrivate","sendButtonDisabled","textAreaMap","Map","handleCounterOfSubtitles","enableNextButtonForAllSteps","handleRadioButtonWorkClick","handleRadioButtonPrivateClick","handleNextButtonClick","handlePreviousButtonClick","$name","$counter","$subtitles","substring","$textArea","clearTextArea","$text","$hint","lines","$subtitle","$steps","$startIcon","$nextButtonText","blur","line2","line1","onclick","includes","line3","$buttonsDiv","$radios","$textAreas","$bannerCloseBtn","handleCloseBanner","$languageBtn","languegeEscPressed","handleLanguageSwitcherClick","$lastLanguageItem","checkBlurLanguageSwitcherClick","handleBackTabbing","boundCheckBlurLanguageSwitcherClick","$eGovermentButtons","$eGovermentSpacer","$eGovermentButton","handleEgovermentClick","$menuList","$menuItems","$menuItem","handleSubmenuClick","lastElementChild","menuTabbing","navEscPressed","$menuButton","showMobileMenu","menuBtnText","innerText","trim","initMobileMenuTabbing","boundCheckBlurMenuItemClick","checkBlurMenuItemClick","$toggleButton","$activeSearch","firstElementChild","shiftKey","activeElement","$currActiveItem","isEqualNode","width","behavior","$submenuList","$activeItem","closeText","buttonIsActive","nodeValue","$focusableElements","from","filter","s","getComputedStyle","getPropertyValue","$lastMenuItem","resultCards","countOfCardsPerPage","Number","currentPageNumber","subTopicButton","$resultsPerPageDropdown","$backButton","$forwardButton","$backButtonMobile","$forwardButtonMobile","$linkPanelButtons","$filtersButtonMobile","$turnFiltersOffButtonMobile","$showResultsButtonMobile","$backToResultsButtonMobile","$radioButtonsInput","$contentTypeCheckBoxes","$dateFrom","$dateTo","$topicSearchInput","handleSearchItemsFromInput","$subtopicSearchInput","$contentTypeSearchInput","handleFillDate","handleClickPreviousPage","handleClickNextPage","handleClickFiltersButton","handleClickTurnFiltersOffButton","handleClickShowResultsButton","boundHandleClickLinkPanel","handleClickLinkPanel","showResultCardsPerPage","handleClickResultsPerPageDropdown","title","handleClickRadioButton","$checkBox","handleClickContentTypeCheckBox","$filterBar","$searchBar","$searchBarTitle","$orderByDropdown","$resultsPerPage","$orderByDropdownMobile","$pagingMobile","$pagingDesktop","$searchResultsAll","$filterHeaderPanel","$pickedFiltersPanel","$showResultsButton","$contentContainer","$title","$header","$footer","$breadcrumbs","getElementsByClassName","handleSomeFilterPicked","$pickedTopics","$pickedContentTypes","$pickedDates","$isFilterPicked","handleCountForFiltersButton","$countOfPickedFilters","$topic","handleRemovePickedTopic","$contentType","handleRemovePickedContentType","$date","handleRemovePickedDate","$el","$type","$items","$item","$period","$choosenDatesInFiltersContainer","$dateElementInContainer","$contentTypePicked","createTopicInContainer","checkValuesInDateContainer","changeBackgroundForPickedFilters","createSpanElement","$class","$spanElement","$beforeDateClass","$afterDateClass","$beforeDateSpan","$afterDateSpan","middle","insertBefore","after","before","$startIndex","$endIndex","$i","$pageNumberMobile","$card","$numberOfPages","$pageNumberSpan","$pageNumberText","$linkPanelButton","$buttonCaption","$choosenFiltersContainer","$filterContainer","$topicPicked","source","$checkBoxes","handleCountOfPickedContentTypes","$checkBoxToRemove","$insertBeforeFirst","$showResultsMobileButton","$turnFiltersOffMobileButton","$pickedFiltersContainer","prepend","$notEmptySections","$section","disableSubtopic","$contentPanel","$subTopic","removeTopic","$disableFilter","initControls","initSectionHeaders","areAllSectionsOpen","checkIfAllSectionsOpen","updateOpenAllButton","accordionControls","firstChild","onOpenOrCloseAllToggle","header","initHeaderAttributes","setExpanded","isExpanded","onSectionToggle","setInitialState","$headerWrapper","$span","$heading","icon","storeState","nowExpanded","newButtonText","testString","sessionStorage","setItem","getItem","removeItem","exception","console","log","Tabs","$tabs","keys","left","right","up","down","jsHiddenClass","initExtended","$accordion","Feedback","Crossroad","InPageNavigation","SearchComponent","TableFilter","selectedFitlersCount","$activeFilters","removeAllFiltersText","removeAllFilters","removeFilterText","removeFilter","Stepper","$moduleId","$links","$browserSupportsSessionStorage","$helper","$controlsClass","$openAllClass","$iconClass","$sectionHeaderClass","$sectionHeaderFocusedClass","$sectionHeadingClass","$sectionSummaryClass","$sectionButtonClass","$sectionExpandedClass","contentId","contentState","nextSibling","previousSibling","matchMedia","setupResponsiveChecks","setup","mql","addListener","checkMode","teardown","$tabList","$tabListItems","$tab","boundTabClick","onTabClick","boundTabKeydown","onTabKeydown","hideTab","$activeTab","getTab","hash","showTab","boundOnHashChange","onHashChange","unsetAttributes","$tabWithHash","changingHash","$previousTab","getCurrentTab","unhighlightTab","hidePanel","highlightTab","showPanel","panelId","getHref","$panel","getPanel","$newTab","$currentTab","createHistoryEntry","activatePreviousTab","activateNextTab","currentTab","nextTabListItem","nextElementSibling","nextTab","previousTabListItem","previousElementSibling","previousTab","tab","$sendButton","$radioButtons","$self","$radioButton","handleRadioButtonClick","handleSendButtonClick","$thanksForFeedbackBar","$improoveQuestionBar","$uncollapseButton","handleShowItems","handleItemClick","setAriaLabel","arr","$crossroadItems","$uncollapseDiv","$crossroadTitles","$crossroadSubtitles","crossroadItem","$arrTitlesAndElems","$link","handleClickLink","boundCheckCloseClick","checkCloseClick","labelChanged","$id","$panelHeight","offsetHeight","changeCurrentLink","scrollTo","offsetTop","$navigationList","$navTopPosition","pageYOffset","some","$index","scrollY","innerHeight","$currItem","$articleTitle","$linkPanelText","block","inline","$searchInputs","$searchInput","handleSearchInput","$searchLabel","$toggleButtons","$form","$filterInputs","handleClickTogglePanel","handleSubmitFilter","handleFilterValueChange","sendSubmitEvent","handleWindowResize","$expandablePanel","openText","isCategory","$categoryParent","marginBottomTitle","newParentHeight","parseInt","scrollHeight","newToggleText","categoryName","$filter","removeActiveFilter","$filterToRemove","$filterToRemoveValue","option","selectedIndex","renderActiveFilters","removeAllActiveFilters","$activeFiltersPanel","$activeFilter","$removeFilterBtn","$removeAllFilters","$activeFiltersContainer","renderSelectedFiltersCount","submitButton","$selects","$select","$category","$allCategoryFilters","selectedCategoryFiltersCount","handleItemLink","handleItemLinkBlur","$areAllSectionsOpen","$accordionControls","$attr","$icon","$expanded","$nowExpanded","$newButtonText","$result","$testString","SubscriptionForm","RegistrationForEvent","InteractiveMap","$currentData","$currentMode","$sectionSpan","openTitle","closeTitle","sectionTitle","$contentId","$contentState","handleSubmitForm","$submitButtons","handleSubmitClick","$thankYouMsg","$requiredFormItems","$valid","emailRegex","$formGroup","checkValidity","$radioMap","handleRadioButtonModeClick","$radioTable","$selectTimePeriod","renderData","$selectIndicator","$radiosName","$selectedControlOption","src","$tableEl","$tableSrc","$mapEl","$mapSrc","$timePeriodSelect","$timePeriodValue","$timePeriod","$indicatorSelect","$indicatorValue","$indicatorText","$mobileTabs","mobileTabHiddenClass","Table","$feedback","$crossroad","$searchComponent","$stepper","$registrationForEvent","$interactiveMap","$table","$tableFilter","$subscriptionForm","$footerExtended","$customerSurveys","$headerWeb","initCoreGovuk","initExtendedGovuk","Header","HeaderExtended","$lastMenuElement","$firstMenuElement","SearchResultsFilter","toggleMobileTab","$mobilePanel","$mobileTab","$pritnTableBtn","printTable","outerHTML","print","reload","$searchComponents","handleSearchChange","$toggleLanguageSwitchers","$toggleLanguageSwitcher","$hamburgerMenuButton","$closeMenuButton","hideMobileMenu","localStorage","$cookieBanner","headerPosition","getBoundingClientRect","top","cookieBannerHeight","ResizeObserver","observe","$currActiveList","overflow","$mobileMenuElements","initAll","$headerExtended","$searchResultsFilter","initAllGOVUKjs"],"mappings":"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","file":"idsk-frontend.min.js","sourcesContent":["/**\n * TODO: Ideally this would be a NodeList.prototype.forEach polyfill\n * This seems to fail in IE8, requires more investigation.\n * See: https://github.com/imagitama/nodelist-foreach-polyfill\n */\nexport function nodeListForEach(nodes, callback) {\n if (window.NodeList.prototype.forEach) {\n return nodes.forEach(callback);\n }\n for (var i = 0; i < nodes.length; i++) {\n callback.call(window, nodes[i], i, nodes);\n }\n}\n\n/**\n * Toggle class\n * @param {object} node element\n * @param {string} className to toggle\n */\nexport function toggleClass(node, className) {\n if (node === null) {\n return;\n }\n\n if (node.className.indexOf(className) > 0) {\n node.className = node.className.replace(' ' + className, '');\n } else {\n node.className += ' ' + className;\n }\n}","/**\n * TODO: Ideally this would be a NodeList.prototype.forEach polyfill\n * This seems to fail in IE8, requires more investigation.\n * See: https://github.com/imagitama/nodelist-foreach-polyfill\n */\nexport function nodeListForEach(nodes, callback) {\n if (window.NodeList.prototype.forEach) {\n return nodes.forEach(callback)\n }\n for (var i = 0; i < nodes.length; i++) {\n callback.call(window, nodes[i], i, nodes)\n }\n}\n\n// Used to generate a unique string, allows multiple instances of the component without\n// Them conflicting with each other.\n// https://stackoverflow.com/a/8809472\nexport function generateUniqueID() {\n var d = new Date().getTime()\n if (typeof window.performance !== 'undefined' && typeof window.performance.now === 'function') {\n d += window.performance.now() // use high-precision timer if available\n }\n return 'xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx'.replace(/[xy]/g, function (c) {\n var r = (d + Math.random() * 16) % 16 | 0\n d = Math.floor(d / 16)\n return (c === 'x' ? r : (r & 0x3 | 0x8)).toString(16)\n })\n}","(function(undefined) {\n\n// Detection from https://github.com/Financial-Times/polyfill-service/blob/master/packages/polyfill-library/polyfills/Window/detect.js\nvar detect = ('Window' in this)\n\nif (detect) return\n\n// Polyfill from https://cdn.polyfill.io/v2/polyfill.js?features=Window&flags=always\nif ((typeof WorkerGlobalScope === \"undefined\") && (typeof importScripts !== \"function\")) {\n\t(function (global) {\n\t\tif (global.constructor) {\n\t\t\tglobal.Window = global.constructor;\n\t\t} else {\n\t\t\t(global.Window = global.constructor = new Function('return function Window() {}')()).prototype = this;\n\t\t}\n\t}(this));\n}\n\n})\n.call('object' === typeof window && window || 'object' === typeof self && self || 'object' === typeof global && global || {});\n","(function(undefined) {\n\n// Detection from https://github.com/Financial-Times/polyfill-service/blob/master/packages/polyfill-library/polyfills/Document/detect.js\nvar detect = (\"Document\" in this)\n\nif (detect) return\n\n// Polyfill from https://cdn.polyfill.io/v2/polyfill.js?features=Document&flags=always\nif ((typeof WorkerGlobalScope === \"undefined\") && (typeof importScripts !== \"function\")) {\n\n\tif (this.HTMLDocument) { // IE8\n\n\t\t// HTMLDocument is an extension of Document. If the browser has HTMLDocument but not Document, the former will suffice as an alias for the latter.\n\t\tthis.Document = this.HTMLDocument;\n\n\t} else {\n\n\t\t// Create an empty function to act as the missing constructor for the document object, attach the document object as its prototype. The function needs to be anonymous else it is hoisted and causes the feature detect to prematurely pass, preventing the assignments below being made.\n\t\tthis.Document = this.HTMLDocument = document.constructor = (new Function('return function Document() {}')());\n\t\tthis.Document.prototype = document;\n\t}\n}\n\n\n})\n.call('object' === typeof window && window || 'object' === typeof self && self || 'object' === typeof global && global || {});\n","import './Document'\n\n(function(undefined) {\n\n// Detection from https://github.com/Financial-Times/polyfill-service/blob/master/packages/polyfill-library/polyfills/Element/detect.js\nvar detect = ('Element' in this && 'HTMLElement' in this)\n\nif (detect) return\n\n// Polyfill from https://cdn.polyfill.io/v2/polyfill.js?features=Element&flags=always\n(function () {\n\n\t// IE8\n\tif (window.Element && !window.HTMLElement) {\n\t\twindow.HTMLElement = window.Element;\n\t\treturn;\n\t}\n\n\t// create Element constructor\n\twindow.Element = window.HTMLElement = new Function('return function Element() {}')();\n\n\t// generate sandboxed iframe\n\tvar vbody = document.appendChild(document.createElement('body'));\n\tvar frame = vbody.appendChild(document.createElement('iframe'));\n\n\t// use sandboxed iframe to replicate Element functionality\n\tvar frameDocument = frame.contentWindow.document;\n\tvar prototype = Element.prototype = frameDocument.appendChild(frameDocument.createElement('*'));\n\tvar cache = {};\n\n\t// polyfill Element.prototype on an element\n\tvar shiv = function (element, deep) {\n\t\tvar\n\t\tchildNodes = element.childNodes || [],\n\t\tindex = -1,\n\t\tkey, value, childNode;\n\n\t\tif (element.nodeType === 1 && element.constructor !== Element) {\n\t\t\telement.constructor = Element;\n\n\t\t\tfor (key in cache) {\n\t\t\t\tvalue = cache[key];\n\t\t\t\telement[key] = value;\n\t\t\t}\n\t\t}\n\n\t\twhile (childNode = deep && childNodes[++index]) {\n\t\t\tshiv(childNode, deep);\n\t\t}\n\n\t\treturn element;\n\t};\n\n\tvar elements = document.getElementsByTagName('*');\n\tvar nativeCreateElement = document.createElement;\n\tvar interval;\n\tvar loopLimit = 100;\n\n\tprototype.attachEvent('onpropertychange', function (event) {\n\t\tvar\n\t\tpropertyName = event.propertyName,\n\t\tnonValue = !cache.hasOwnProperty(propertyName),\n\t\tnewValue = prototype[propertyName],\n\t\toldValue = cache[propertyName],\n\t\tindex = -1,\n\t\telement;\n\n\t\twhile (element = elements[++index]) {\n\t\t\tif (element.nodeType === 1) {\n\t\t\t\tif (nonValue || element[propertyName] === oldValue) {\n\t\t\t\t\telement[propertyName] = newValue;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\tcache[propertyName] = newValue;\n\t});\n\n\tprototype.constructor = Element;\n\n\tif (!prototype.hasAttribute) {\n\t\t// .hasAttribute\n\t\tprototype.hasAttribute = function hasAttribute(name) {\n\t\t\treturn this.getAttribute(name) !== null;\n\t\t};\n\t}\n\n\t// Apply Element prototype to the pre-existing DOM as soon as the body element appears.\n\tfunction bodyCheck() {\n\t\tif (!(loopLimit--)) clearTimeout(interval);\n\t\tif (document.body && !document.body.prototype && /(complete|interactive)/.test(document.readyState)) {\n\t\t\tshiv(document, true);\n\t\t\tif (interval && document.body.prototype) clearTimeout(interval);\n\t\t\treturn (!!document.body.prototype);\n\t\t}\n\t\treturn false;\n\t}\n\tif (!bodyCheck()) {\n\t\tdocument.onreadystatechange = bodyCheck;\n\t\tinterval = setInterval(bodyCheck, 25);\n\t}\n\n\t// Apply to any new elements created after load\n\tdocument.createElement = function createElement(nodeName) {\n\t\tvar element = nativeCreateElement(String(nodeName).toLowerCase());\n\t\treturn shiv(element);\n\t};\n\n\t// remove sandboxed iframe\n\tdocument.removeChild(vbody);\n}());\n\n})\n.call('object' === typeof window && window || 'object' === typeof self && self || 'object' === typeof global && global || {});\n","(function(undefined) {\n\n// Detection from https://github.com/Financial-Times/polyfill-service/blob/master/packages/polyfill-library/polyfills/Object/defineProperty/detect.js\nvar detect = (\n // In IE8, defineProperty could only act on DOM elements, so full support\n // for the feature requires the ability to set a property on an arbitrary object\n 'defineProperty' in Object && (function() {\n \ttry {\n \t\tvar a = {};\n \t\tObject.defineProperty(a, 'test', {value:42});\n \t\treturn true;\n \t} catch(e) {\n \t\treturn false\n \t}\n }())\n)\n\nif (detect) return\n\n// Polyfill from https://cdn.polyfill.io/v2/polyfill.js?features=Object.defineProperty&flags=always\n(function (nativeDefineProperty) {\n\n\tvar supportsAccessors = Object.prototype.hasOwnProperty('__defineGetter__');\n\tvar ERR_ACCESSORS_NOT_SUPPORTED = 'Getters & setters cannot be defined on this javascript engine';\n\tvar ERR_VALUE_ACCESSORS = 'A property cannot both have accessors and be writable or have a value';\n\n\tObject.defineProperty = function defineProperty(object, property, descriptor) {\n\n\t\t// Where native support exists, assume it\n\t\tif (nativeDefineProperty && (object === window || object === document || object === Element.prototype || object instanceof Element)) {\n\t\t\treturn nativeDefineProperty(object, property, descriptor);\n\t\t}\n\n\t\tif (object === null || !(object instanceof Object || typeof object === 'object')) {\n\t\t\tthrow new TypeError('Object.defineProperty called on non-object');\n\t\t}\n\n\t\tif (!(descriptor instanceof Object)) {\n\t\t\tthrow new TypeError('Property description must be an object');\n\t\t}\n\n\t\tvar propertyString = String(property);\n\t\tvar hasValueOrWritable = 'value' in descriptor || 'writable' in descriptor;\n\t\tvar getterType = 'get' in descriptor && typeof descriptor.get;\n\t\tvar setterType = 'set' in descriptor && typeof descriptor.set;\n\n\t\t// handle descriptor.get\n\t\tif (getterType) {\n\t\t\tif (getterType !== 'function') {\n\t\t\t\tthrow new TypeError('Getter must be a function');\n\t\t\t}\n\t\t\tif (!supportsAccessors) {\n\t\t\t\tthrow new TypeError(ERR_ACCESSORS_NOT_SUPPORTED);\n\t\t\t}\n\t\t\tif (hasValueOrWritable) {\n\t\t\t\tthrow new TypeError(ERR_VALUE_ACCESSORS);\n\t\t\t}\n\t\t\tObject.__defineGetter__.call(object, propertyString, descriptor.get);\n\t\t} else {\n\t\t\tobject[propertyString] = descriptor.value;\n\t\t}\n\n\t\t// handle descriptor.set\n\t\tif (setterType) {\n\t\t\tif (setterType !== 'function') {\n\t\t\t\tthrow new TypeError('Setter must be a function');\n\t\t\t}\n\t\t\tif (!supportsAccessors) {\n\t\t\t\tthrow new TypeError(ERR_ACCESSORS_NOT_SUPPORTED);\n\t\t\t}\n\t\t\tif (hasValueOrWritable) {\n\t\t\t\tthrow new TypeError(ERR_VALUE_ACCESSORS);\n\t\t\t}\n\t\t\tObject.__defineSetter__.call(object, propertyString, descriptor.set);\n\t\t}\n\n\t\t// OK to define value unconditionally - if a getter has been specified as well, an error would be thrown above\n\t\tif ('value' in descriptor) {\n\t\t\tobject[propertyString] = descriptor.value;\n\t\t}\n\n\t\treturn object;\n\t};\n}(Object.defineProperty));\n})\n.call('object' === typeof window && window || 'object' === typeof self && self || 'object' === typeof global && global || {});\n","import './Window'\nimport './Element'\nimport './Object/defineProperty'\n\n(function(undefined) {\n\n// Detection from https://github.com/Financial-Times/polyfill-service/blob/master/packages/polyfill-library/polyfills/Event/detect.js\nvar detect = (\n (function(global) {\n\n \tif (!('Event' in global)) return false;\n \tif (typeof global.Event === 'function') return true;\n\n \ttry {\n\n \t\t// In IE 9-11, the Event object exists but cannot be instantiated\n \t\tnew Event('click');\n \t\treturn true;\n \t} catch(e) {\n \t\treturn false;\n \t}\n }(this))\n)\n\nif (detect) return\n\n// Polyfill from https://cdn.polyfill.io/v2/polyfill.js?features=Event&flags=always\n(function () {\n\tvar unlistenableWindowEvents = {\n\t\tclick: 1,\n\t\tdblclick: 1,\n\t\tkeyup: 1,\n\t\tkeypress: 1,\n\t\tkeydown: 1,\n\t\tmousedown: 1,\n\t\tmouseup: 1,\n\t\tmousemove: 1,\n\t\tmouseover: 1,\n\t\tmouseenter: 1,\n\t\tmouseleave: 1,\n\t\tmouseout: 1,\n\t\tstorage: 1,\n\t\tstoragecommit: 1,\n\t\ttextinput: 1\n\t};\n\n\t// This polyfill depends on availability of `document` so will not run in a worker\n\t// However, we asssume there are no browsers with worker support that lack proper\n\t// support for `Event` within the worker\n\tif (typeof document === 'undefined' || typeof window === 'undefined') return;\n\n\tfunction indexOf(array, element) {\n\t\tvar\n\t\tindex = -1,\n\t\tlength = array.length;\n\n\t\twhile (++index < length) {\n\t\t\tif (index in array && array[index] === element) {\n\t\t\t\treturn index;\n\t\t\t}\n\t\t}\n\n\t\treturn -1;\n\t}\n\n\tvar existingProto = (window.Event && window.Event.prototype) || null;\n\twindow.Event = Window.prototype.Event = function Event(type, eventInitDict) {\n\t\tif (!type) {\n\t\t\tthrow new Error('Not enough arguments');\n\t\t}\n\n\t\tvar event;\n\t\t// Shortcut if browser supports createEvent\n\t\tif ('createEvent' in document) {\n\t\t\tevent = document.createEvent('Event');\n\t\t\tvar bubbles = eventInitDict && eventInitDict.bubbles !== undefined ? eventInitDict.bubbles : false;\n\t\t\tvar cancelable = eventInitDict && eventInitDict.cancelable !== undefined ? eventInitDict.cancelable : false;\n\n\t\t\tevent.initEvent(type, bubbles, cancelable);\n\n\t\t\treturn event;\n\t\t}\n\n\t\tevent = document.createEventObject();\n\n\t\tevent.type = type;\n\t\tevent.bubbles = eventInitDict && eventInitDict.bubbles !== undefined ? eventInitDict.bubbles : false;\n\t\tevent.cancelable = eventInitDict && eventInitDict.cancelable !== undefined ? eventInitDict.cancelable : false;\n\n\t\treturn event;\n\t};\n\tif (existingProto) {\n\t\tObject.defineProperty(window.Event, 'prototype', {\n\t\t\tconfigurable: false,\n\t\t\tenumerable: false,\n\t\t\twritable: true,\n\t\t\tvalue: existingProto\n\t\t});\n\t}\n\n\tif (!('createEvent' in document)) {\n\t\twindow.addEventListener = Window.prototype.addEventListener = Document.prototype.addEventListener = Element.prototype.addEventListener = function addEventListener() {\n\t\t\tvar\n\t\t\telement = this,\n\t\t\ttype = arguments[0],\n\t\t\tlistener = arguments[1];\n\n\t\t\tif (element === window && type in unlistenableWindowEvents) {\n\t\t\t\tthrow new Error('In IE8 the event: ' + type + ' is not available on the window object. Please see https://github.com/Financial-Times/polyfill-service/issues/317 for more information.');\n\t\t\t}\n\n\t\t\tif (!element._events) {\n\t\t\t\telement._events = {};\n\t\t\t}\n\n\t\t\tif (!element._events[type]) {\n\t\t\t\telement._events[type] = function (event) {\n\t\t\t\t\tvar\n\t\t\t\t\tlist = element._events[event.type].list,\n\t\t\t\t\tevents = list.slice(),\n\t\t\t\t\tindex = -1,\n\t\t\t\t\tlength = events.length,\n\t\t\t\t\teventElement;\n\n\t\t\t\t\tevent.preventDefault = function preventDefault() {\n\t\t\t\t\t\tif (event.cancelable !== false) {\n\t\t\t\t\t\t\tevent.returnValue = false;\n\t\t\t\t\t\t}\n\t\t\t\t\t};\n\n\t\t\t\t\tevent.stopPropagation = function stopPropagation() {\n\t\t\t\t\t\tevent.cancelBubble = true;\n\t\t\t\t\t};\n\n\t\t\t\t\tevent.stopImmediatePropagation = function stopImmediatePropagation() {\n\t\t\t\t\t\tevent.cancelBubble = true;\n\t\t\t\t\t\tevent.cancelImmediate = true;\n\t\t\t\t\t};\n\n\t\t\t\t\tevent.currentTarget = element;\n\t\t\t\t\tevent.relatedTarget = event.fromElement || null;\n\t\t\t\t\tevent.target = event.target || event.srcElement || element;\n\t\t\t\t\tevent.timeStamp = new Date().getTime();\n\n\t\t\t\t\tif (event.clientX) {\n\t\t\t\t\t\tevent.pageX = event.clientX + document.documentElement.scrollLeft;\n\t\t\t\t\t\tevent.pageY = event.clientY + document.documentElement.scrollTop;\n\t\t\t\t\t}\n\n\t\t\t\t\twhile (++index < length && !event.cancelImmediate) {\n\t\t\t\t\t\tif (index in events) {\n\t\t\t\t\t\t\teventElement = events[index];\n\n\t\t\t\t\t\t\tif (indexOf(list, eventElement) !== -1 && typeof eventElement === 'function') {\n\t\t\t\t\t\t\t\teventElement.call(element, event);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t};\n\n\t\t\t\telement._events[type].list = [];\n\n\t\t\t\tif (element.attachEvent) {\n\t\t\t\t\telement.attachEvent('on' + type, element._events[type]);\n\t\t\t\t}\n\t\t\t}\n\n\t\t\telement._events[type].list.push(listener);\n\t\t};\n\n\t\twindow.removeEventListener = Window.prototype.removeEventListener = Document.prototype.removeEventListener = Element.prototype.removeEventListener = function removeEventListener() {\n\t\t\tvar\n\t\t\telement = this,\n\t\t\ttype = arguments[0],\n\t\t\tlistener = arguments[1],\n\t\t\tindex;\n\n\t\t\tif (element._events && element._events[type] && element._events[type].list) {\n\t\t\t\tindex = indexOf(element._events[type].list, listener);\n\n\t\t\t\tif (index !== -1) {\n\t\t\t\t\telement._events[type].list.splice(index, 1);\n\n\t\t\t\t\tif (!element._events[type].list.length) {\n\t\t\t\t\t\tif (element.detachEvent) {\n\t\t\t\t\t\t\telement.detachEvent('on' + type, element._events[type]);\n\t\t\t\t\t\t}\n\t\t\t\t\t\tdelete element._events[type];\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t};\n\n\t\twindow.dispatchEvent = Window.prototype.dispatchEvent = Document.prototype.dispatchEvent = Element.prototype.dispatchEvent = function dispatchEvent(event) {\n\t\t\tif (!arguments.length) {\n\t\t\t\tthrow new Error('Not enough arguments');\n\t\t\t}\n\n\t\t\tif (!event || typeof event.type !== 'string') {\n\t\t\t\tthrow new Error('DOM Events Exception 0');\n\t\t\t}\n\n\t\t\tvar element = this, type = event.type;\n\n\t\t\ttry {\n\t\t\t\tif (!event.bubbles) {\n\t\t\t\t\tevent.cancelBubble = true;\n\n\t\t\t\t\tvar cancelBubbleEvent = function (event) {\n\t\t\t\t\t\tevent.cancelBubble = true;\n\n\t\t\t\t\t\t(element || window).detachEvent('on' + type, cancelBubbleEvent);\n\t\t\t\t\t};\n\n\t\t\t\t\tthis.attachEvent('on' + type, cancelBubbleEvent);\n\t\t\t\t}\n\n\t\t\t\tthis.fireEvent('on' + type, event);\n\t\t\t} catch (error) {\n\t\t\t\tevent.target = element;\n\n\t\t\t\tdo {\n\t\t\t\t\tevent.currentTarget = element;\n\n\t\t\t\t\tif ('_events' in element && typeof element._events[type] === 'function') {\n\t\t\t\t\t\telement._events[type].call(element, event);\n\t\t\t\t\t}\n\n\t\t\t\t\tif (typeof element['on' + type] === 'function') {\n\t\t\t\t\t\telement['on' + type].call(element, event);\n\t\t\t\t\t}\n\n\t\t\t\t\telement = element.nodeType === 9 ? element.parentWindow : element.parentNode;\n\t\t\t\t} while (element && !event.cancelBubble);\n\t\t\t}\n\n\t\t\treturn true;\n\t\t};\n\n\t\t// Add the DOMContentLoaded Event\n\t\tdocument.attachEvent('onreadystatechange', function() {\n\t\t\tif (document.readyState === 'complete') {\n\t\t\t\tdocument.dispatchEvent(new Event('DOMContentLoaded', {\n\t\t\t\t\tbubbles: true\n\t\t\t\t}));\n\t\t\t}\n\t\t});\n\t}\n}());\n\n})\n.call('object' === typeof window && window || 'object' === typeof self && self || 'object' === typeof global && global || {});\n","import '../../Object/defineProperty'\n\n(function(undefined) {\n // Detection from https://github.com/Financial-Times/polyfill-service/blob/master/packages/polyfill-library/polyfills/Function/prototype/bind/detect.js\n var detect = 'bind' in Function.prototype\n\n if (detect) return\n\n // Polyfill from https://cdn.polyfill.io/v2/polyfill.js?features=Function.prototype.bind&flags=always\n Object.defineProperty(Function.prototype, 'bind', {\n value: function bind(that) { // .length is 1\n // add necessary es5-shim utilities\n var $Array = Array;\n var $Object = Object;\n var ObjectPrototype = $Object.prototype;\n var ArrayPrototype = $Array.prototype;\n var Empty = function Empty() {};\n var to_string = ObjectPrototype.toString;\n var hasToStringTag = typeof Symbol === 'function' && typeof Symbol.toStringTag === 'symbol';\n var isCallable; /* inlined from https://npmjs.com/is-callable */ var fnToStr = Function.prototype.toString, tryFunctionObject = function tryFunctionObject(value) { try { fnToStr.call(value); return true; } catch (e) { return false; } }, fnClass = '[object Function]', genClass = '[object GeneratorFunction]'; isCallable = function isCallable(value) { if (typeof value !== 'function') { return false; } if (hasToStringTag) { return tryFunctionObject(value); } var strClass = to_string.call(value); return strClass === fnClass || strClass === genClass; };\n var array_slice = ArrayPrototype.slice;\n var array_concat = ArrayPrototype.concat;\n var array_push = ArrayPrototype.push;\n var max = Math.max;\n // /add necessary es5-shim utilities\n\n // 1. Let Target be the this value.\n var target = this;\n // 2. If IsCallable(Target) is false, throw a TypeError exception.\n if (!isCallable(target)) {\n throw new TypeError('Function.prototype.bind called on incompatible ' + target);\n }\n // 3. Let A be a new (possibly empty) internal list of all of the\n // argument values provided after thisArg (arg1, arg2 etc), in order.\n // XXX slicedArgs will stand in for \"A\" if used\n var args = array_slice.call(arguments, 1); // for normal call\n // 4. Let F be a new native ECMAScript object.\n // 11. Set the [[Prototype]] internal property of F to the standard\n // built-in Function prototype object as specified in 15.3.3.1.\n // 12. Set the [[Call]] internal property of F as described in\n // 15.3.4.5.1.\n // 13. Set the [[Construct]] internal property of F as described in\n // 15.3.4.5.2.\n // 14. Set the [[HasInstance]] internal property of F as described in\n // 15.3.4.5.3.\n var bound;\n var binder = function () {\n\n if (this instanceof bound) {\n // 15.3.4.5.2 [[Construct]]\n // When the [[Construct]] internal method of a function object,\n // F that was created using the bind function is called with a\n // list of arguments ExtraArgs, the following steps are taken:\n // 1. Let target be the value of F's [[TargetFunction]]\n // internal property.\n // 2. If target has no [[Construct]] internal method, a\n // TypeError exception is thrown.\n // 3. Let boundArgs be the value of F's [[BoundArgs]] internal\n // property.\n // 4. Let args be a new list containing the same values as the\n // list boundArgs in the same order followed by the same\n // values as the list ExtraArgs in the same order.\n // 5. Return the result of calling the [[Construct]] internal\n // method of target providing args as the arguments.\n\n var result = target.apply(\n this,\n array_concat.call(args, array_slice.call(arguments))\n );\n if ($Object(result) === result) {\n return result;\n }\n return this;\n\n } else {\n // 15.3.4.5.1 [[Call]]\n // When the [[Call]] internal method of a function object, F,\n // which was created using the bind function is called with a\n // this value and a list of arguments ExtraArgs, the following\n // steps are taken:\n // 1. Let boundArgs be the value of F's [[BoundArgs]] internal\n // property.\n // 2. Let boundThis be the value of F's [[BoundThis]] internal\n // property.\n // 3. Let target be the value of F's [[TargetFunction]] internal\n // property.\n // 4. Let args be a new list containing the same values as the\n // list boundArgs in the same order followed by the same\n // values as the list ExtraArgs in the same order.\n // 5. Return the result of calling the [[Call]] internal method\n // of target providing boundThis as the this value and\n // providing args as the arguments.\n\n // equiv: target.call(this, ...boundArgs, ...args)\n return target.apply(\n that,\n array_concat.call(args, array_slice.call(arguments))\n );\n\n }\n\n };\n\n // 15. If the [[Class]] internal property of Target is \"Function\", then\n // a. Let L be the length property of Target minus the length of A.\n // b. Set the length own property of F to either 0 or L, whichever is\n // larger.\n // 16. Else set the length own property of F to 0.\n\n var boundLength = max(0, target.length - args.length);\n\n // 17. Set the attributes of the length own property of F to the values\n // specified in 15.3.5.1.\n var boundArgs = [];\n for (var i = 0; i < boundLength; i++) {\n array_push.call(boundArgs, '$' + i);\n }\n\n // XXX Build a dynamic function with desired amount of arguments is the only\n // way to set the length property of a function.\n // In environments where Content Security Policies enabled (Chrome extensions,\n // for ex.) all use of eval or Function costructor throws an exception.\n // However in all of these environments Function.prototype.bind exists\n // and so this code will never be executed.\n bound = Function('binder', 'return function (' + boundArgs.join(',') + '){ return binder.apply(this, arguments); }')(binder);\n\n if (target.prototype) {\n Empty.prototype = target.prototype;\n bound.prototype = new Empty();\n // Clean up dangling references.\n Empty.prototype = null;\n }\n\n // TODO\n // 18. Set the [[Extensible]] internal property of F to true.\n\n // TODO\n // 19. Let thrower be the [[ThrowTypeError]] function Object (13.2.3).\n // 20. Call the [[DefineOwnProperty]] internal method of F with\n // arguments \"caller\", PropertyDescriptor {[[Get]]: thrower, [[Set]]:\n // thrower, [[Enumerable]]: false, [[Configurable]]: false}, and\n // false.\n // 21. Call the [[DefineOwnProperty]] internal method of F with\n // arguments \"arguments\", PropertyDescriptor {[[Get]]: thrower,\n // [[Set]]: thrower, [[Enumerable]]: false, [[Configurable]]: false},\n // and false.\n\n // TODO\n // NOTE Function objects created using Function.prototype.bind do not\n // have a prototype property or the [[Code]], [[FormalParameters]], and\n // [[Scope]] internal properties.\n // XXX can't delete prototype in pure-js.\n\n // 22. Return F.\n return bound;\n }\n });\n})\n.call('object' === typeof window && window || 'object' === typeof self && self || 'object' === typeof global && global || {});\n","import '../../vendor/polyfills/Event' // addEventListener and event.target normaliziation\nimport '../../vendor/polyfills/Function/prototype/bind'\n\nvar KEY_SPACE = 32\nvar DEBOUNCE_TIMEOUT_IN_SECONDS = 1\n\nfunction Button ($module) {\n this.$module = $module\n this.debounceFormSubmitTimer = null\n}\n\n/**\n* JavaScript 'shim' to trigger the click event of element(s) when the space key is pressed.\n*\n* Created since some Assistive Technologies (for example some Screenreaders)\n* will tell a user to press space on a 'button', so this functionality needs to be shimmed\n* See https://github.com/alphagov/govuk_elements/pull/272#issuecomment-233028270\n*\n* @param {object} event event\n*/\nButton.prototype.handleKeyDown = function (event) {\n // get the target element\n var target = event.target\n // if the element has a role='button' and the pressed key is a space, we'll simulate a click\n if (target.getAttribute('role') === 'button' && event.keyCode === KEY_SPACE) {\n event.preventDefault()\n // trigger the target's click event\n target.click()\n }\n}\n\n/**\n* If the click quickly succeeds a previous click then nothing will happen.\n* This stops people accidentally causing multiple form submissions by\n* double clicking buttons.\n*/\nButton.prototype.debounce = function (event) {\n var target = event.target\n // Check the button that is clicked on has the preventDoubleClick feature enabled\n if (target.getAttribute('data-prevent-double-click') !== 'true') {\n return\n }\n\n // If the timer is still running then we want to prevent the click from submitting the form\n if (this.debounceFormSubmitTimer) {\n event.preventDefault()\n return false\n }\n\n this.debounceFormSubmitTimer = setTimeout(function () {\n this.debounceFormSubmitTimer = null\n }.bind(this), DEBOUNCE_TIMEOUT_IN_SECONDS * 1000)\n}\n\n/**\n* Initialise an event listener for keydown at document level\n* this will help listening for later inserted elements with a role=\"button\"\n*/\nButton.prototype.init = function () {\n this.$module.addEventListener('keydown', this.handleKeyDown)\n this.$module.addEventListener('click', this.debounce)\n}\n\nexport default Button\n","/**\n * JavaScript 'polyfill' for HTML5's
and elements\n * and 'shim' to add accessiblity enhancements for all browsers\n *\n * http://caniuse.com/#feat=details\n */\nimport '../../vendor/polyfills/Function/prototype/bind'\nimport '../../vendor/polyfills/Event' // addEventListener and event.target normaliziation\nimport { generateUniqueID } from '../../common.js'\n\nvar KEY_ENTER = 13\nvar KEY_SPACE = 32\n\n// Create a flag to know if the browser supports navtive details\nvar NATIVE_DETAILS = typeof document.createElement('details').open === 'boolean'\n\nfunction Details ($module) {\n this.$module = $module\n}\n\n/**\n* Handle cross-modal click events\n* @param {object} node element\n* @param {function} callback function\n*/\nDetails.prototype.handleInputs = function (node, callback) {\n node.addEventListener('keypress', function (event) {\n var target = event.target\n // When the key gets pressed - check if it is enter or space\n if (event.keyCode === KEY_ENTER || event.keyCode === KEY_SPACE) {\n if (target.nodeName.toLowerCase() === 'summary') {\n // Prevent space from scrolling the page\n // and enter from submitting a form\n event.preventDefault()\n // Click to let the click event do all the necessary action\n if (target.click) {\n target.click()\n } else {\n // except Safari 5.1 and under don't support .click() here\n callback(event)\n }\n }\n }\n })\n\n // Prevent keyup to prevent clicking twice in Firefox when using space key\n node.addEventListener('keyup', function (event) {\n var target = event.target\n if (event.keyCode === KEY_SPACE) {\n if (target.nodeName.toLowerCase() === 'summary') {\n event.preventDefault()\n }\n }\n })\n\n node.addEventListener('click', callback)\n}\n\nDetails.prototype.init = function () {\n var $module = this.$module\n\n if (!$module) {\n return\n }\n\n // Save shortcuts to the inner summary and content elements\n var $summary = this.$summary = $module.getElementsByTagName('summary').item(0)\n var $content = this.$content = $module.getElementsByTagName('div').item(0)\n\n // If
doesn't have a and a
representing the content\n // it means the required HTML structure is not met so the script will stop\n if (!$summary || !$content) {\n return\n }\n\n // If the content doesn't have an ID, assign it one now\n // which we'll need for the summary's aria-controls assignment\n if (!$content.id) {\n $content.id = 'details-content-' + generateUniqueID()\n }\n\n // Add ARIA role=\"group\" to details\n $module.setAttribute('role', 'group')\n\n // Add role=button to summary\n $summary.setAttribute('role', 'button')\n\n // Add aria-controls\n $summary.setAttribute('aria-controls', $content.id)\n\n // Set tabIndex so the summary is keyboard accessible for non-native elements\n //\n // We have to use the camelcase `tabIndex` property as there is a bug in IE6/IE7 when we set the correct attribute lowercase:\n // See http://web.archive.org/web/20170120194036/http://www.saliences.com/browserBugs/tabIndex.html for more information.\n if (!NATIVE_DETAILS) {\n $summary.tabIndex = 0\n }\n\n // Detect initial open state\n var openAttr = $module.getAttribute('open') !== null\n if (openAttr === true) {\n $summary.setAttribute('aria-expanded', 'true')\n $content.setAttribute('aria-hidden', 'false')\n } else {\n $summary.setAttribute('aria-expanded', 'false')\n $content.setAttribute('aria-hidden', 'true')\n if (!NATIVE_DETAILS) {\n $content.style.display = 'none'\n }\n }\n\n // Bind an event to handle summary elements\n this.handleInputs($summary, this.setAttributes.bind(this))\n}\n\n/**\n* Define a statechange function that updates aria-expanded and style.display\n* @param {object} summary element\n*/\nDetails.prototype.setAttributes = function () {\n var $module = this.$module\n var $summary = this.$summary\n var $content = this.$content\n\n var expanded = $summary.getAttribute('aria-expanded') === 'true'\n var hidden = $content.getAttribute('aria-hidden') === 'true'\n\n $summary.setAttribute('aria-expanded', (expanded ? 'false' : 'true'))\n $content.setAttribute('aria-hidden', (hidden ? 'false' : 'true'))\n\n if (!NATIVE_DETAILS) {\n $content.style.display = (expanded ? 'none' : '')\n\n var hasOpenAttr = $module.getAttribute('open') !== null\n if (!hasOpenAttr) {\n $module.setAttribute('open', 'open')\n } else {\n $module.removeAttribute('open')\n }\n }\n return true\n}\n\n/**\n* Remove the click event from the node element\n* @param {object} node element\n*/\nDetails.prototype.destroy = function (node) {\n node.removeEventListener('keypress')\n node.removeEventListener('keyup')\n node.removeEventListener('click')\n}\n\nexport default Details\n","import '../../vendor/polyfills/Function/prototype/bind'\nimport '../../vendor/polyfills/Event' // addEventListener and event.target normaliziation\nimport '../../vendor/polyfills/Element/prototype/classList'\n\nfunction CharacterCount ($module) {\n this.$module = $module\n this.$textarea = $module.querySelector('.govuk-js-character-count')\n}\n\nCharacterCount.prototype.defaults = {\n characterCountAttribute: 'data-maxlength',\n wordCountAttribute: 'data-maxwords'\n}\n\n// Initialize component\nCharacterCount.prototype.init = function () {\n // Check for module\n var $module = this.$module\n var $textarea = this.$textarea\n if (!$textarea) {\n return\n }\n\n // Read options set using dataset ('data-' values)\n this.options = this.getDataset($module)\n\n // Determine the limit attribute (characters or words)\n var countAttribute = this.defaults.characterCountAttribute\n if (this.options.maxwords) {\n countAttribute = this.defaults.wordCountAttribute\n }\n\n // Save the element limit\n this.maxLength = $module.getAttribute(countAttribute)\n\n // Check for limit\n if (!this.maxLength) {\n return\n }\n\n // Generate and reference message\n var boundCreateCountMessage = this.createCountMessage.bind(this)\n this.countMessage = boundCreateCountMessage()\n\n // If there's a maximum length defined and the count message exists\n if (this.countMessage) {\n // Remove hard limit if set\n $module.removeAttribute('maxlength')\n\n // Bind event changes to the textarea\n var boundChangeEvents = this.bindChangeEvents.bind(this)\n boundChangeEvents()\n\n // Update count message\n var boundUpdateCountMessage = this.updateCountMessage.bind(this)\n boundUpdateCountMessage()\n }\n}\n\n// Read data attributes\nCharacterCount.prototype.getDataset = function (element) {\n var dataset = {}\n var attributes = element.attributes\n if (attributes) {\n for (var i = 0; i < attributes.length; i++) {\n var attribute = attributes[i]\n var match = attribute.name.match(/^data-(.+)/)\n if (match) {\n dataset[match[1]] = attribute.value\n }\n }\n }\n return dataset\n}\n\n// Counts characters or words in text\nCharacterCount.prototype.count = function (text) {\n var length\n if (this.options.maxwords) {\n var tokens = text.match(/\\S+/g) || [] // Matches consecutive non-whitespace chars\n length = tokens.length\n } else {\n length = text.length\n }\n return length\n}\n\n// Generate count message and bind it to the input\n// returns reference to the generated element\nCharacterCount.prototype.createCountMessage = function () {\n var countElement = this.$textarea\n var elementId = countElement.id\n // Check for existing info count message\n var countMessage = document.getElementById(elementId + '-info')\n // If there is no existing info count message we add one right after the field\n if (elementId && !countMessage) {\n countElement.insertAdjacentHTML('afterend', '')\n this.describedBy = countElement.getAttribute('aria-describedby')\n this.describedByInfo = this.describedBy + ' ' + elementId + '-info'\n countElement.setAttribute('aria-describedby', this.describedByInfo)\n countMessage = document.getElementById(elementId + '-info')\n } else {\n // If there is an existing info count message we move it right after the field\n countElement.insertAdjacentElement('afterend', countMessage)\n }\n return countMessage\n}\n\n// Bind input propertychange to the elements and update based on the change\nCharacterCount.prototype.bindChangeEvents = function () {\n var $textarea = this.$textarea\n $textarea.addEventListener('keyup', this.checkIfValueChanged.bind(this))\n\n // Bind focus/blur events to start/stop polling\n $textarea.addEventListener('focus', this.handleFocus.bind(this))\n $textarea.addEventListener('blur', this.handleBlur.bind(this))\n}\n\n// Speech recognition software such as Dragon NaturallySpeaking will modify the\n// fields by directly changing its `value`. These changes don't trigger events\n// in JavaScript, so we need to poll to handle when and if they occur.\nCharacterCount.prototype.checkIfValueChanged = function () {\n if (!this.$textarea.oldValue) this.$textarea.oldValue = ''\n if (this.$textarea.value !== this.$textarea.oldValue) {\n this.$textarea.oldValue = this.$textarea.value\n var boundUpdateCountMessage = this.updateCountMessage.bind(this)\n boundUpdateCountMessage()\n }\n}\n\n// Update message box\nCharacterCount.prototype.updateCountMessage = function () {\n var countElement = this.$textarea\n var options = this.options\n var countMessage = this.countMessage\n\n // Determine the remaining number of characters/words\n var currentLength = this.count(countElement.value)\n var maxLength = this.maxLength\n var remainingNumber = maxLength - currentLength\n\n // Set threshold if presented in options\n var thresholdPercent = options.threshold ? options.threshold : 0\n var thresholdValue = maxLength * thresholdPercent / 100\n if (thresholdValue > currentLength) {\n countMessage.classList.add('govuk-character-count__message--disabled')\n // Ensure threshold is hidden for users of assistive technologies\n countMessage.setAttribute('aria-hidden', true)\n } else {\n countMessage.classList.remove('govuk-character-count__message--disabled')\n // Ensure threshold is visible for users of assistive technologies\n countMessage.removeAttribute('aria-hidden')\n }\n\n // Update styles\n if (remainingNumber < 0) {\n countElement.classList.add('govuk-textarea--error')\n countMessage.classList.remove('govuk-hint')\n countMessage.classList.add('govuk-error-message')\n } else {\n countElement.classList.remove('govuk-textarea--error')\n countMessage.classList.remove('govuk-error-message')\n countMessage.classList.add('govuk-hint')\n }\n\n // Update message\n var charVerb = 'remaining'\n var charNoun = 'character'\n var displayNumber = remainingNumber\n if (options.maxwords) {\n charNoun = 'word'\n }\n charNoun = charNoun + ((remainingNumber === -1 || remainingNumber === 1) ? '' : 's')\n\n charVerb = (remainingNumber < 0) ? 'too many' : 'remaining'\n displayNumber = Math.abs(remainingNumber)\n\n countMessage.innerHTML = 'You have ' + displayNumber + ' ' + charNoun + ' ' + charVerb\n}\n\nCharacterCount.prototype.handleFocus = function () {\n // Check if value changed on focus\n this.valueChecker = setInterval(this.checkIfValueChanged.bind(this), 1000)\n}\n\nCharacterCount.prototype.handleBlur = function () {\n // Cancel value checking on blur\n clearInterval(this.valueChecker)\n}\n\nexport default CharacterCount\n","import '../../vendor/polyfills/Function/prototype/bind'\nimport '../../vendor/polyfills/Event' // addEventListener and event.target normaliziation\nimport '../../vendor/polyfills/Element/prototype/classList'\nimport { nodeListForEach } from '../../common'\n\nfunction Checkboxes ($module) {\n this.$module = $module\n this.$inputs = $module.querySelectorAll('input[type=\"checkbox\"]')\n}\n\nCheckboxes.prototype.init = function () {\n var $module = this.$module\n var $inputs = this.$inputs\n\n /**\n * Loop over all items with [data-controls]\n * Check if they have a matching conditional reveal\n * If they do, assign attributes.\n **/\n nodeListForEach($inputs, function ($input) {\n var controls = $input.getAttribute('data-aria-controls')\n\n // Check if input controls anything\n // Check if content exists, before setting attributes.\n if (!controls || !$module.querySelector('#' + controls)) {\n return\n }\n\n // If we have content that is controlled, set attributes.\n $input.setAttribute('aria-controls', controls)\n $input.removeAttribute('data-aria-controls')\n this.setAttributes($input)\n }.bind(this))\n\n // Handle events\n $module.addEventListener('click', this.handleClick.bind(this))\n}\n\nCheckboxes.prototype.setAttributes = function ($input) {\n var inputIsChecked = $input.checked\n $input.setAttribute('aria-expanded', inputIsChecked)\n\n var $content = this.$module.querySelector('#' + $input.getAttribute('aria-controls'))\n if ($content) {\n $content.classList.toggle('govuk-checkboxes__conditional--hidden', !inputIsChecked)\n }\n}\n\nCheckboxes.prototype.handleClick = function (event) {\n var $target = event.target\n // If a checkbox with aria-controls, handle click\n var isCheckbox = $target.getAttribute('type') === 'checkbox'\n var hasAriaControls = $target.getAttribute('aria-controls')\n if (isCheckbox && hasAriaControls) {\n this.setAttributes($target)\n }\n}\n\nexport default Checkboxes\n","import '../../vendor/polyfills/Function/prototype/bind'\nimport '../../vendor/polyfills/Event' // addEventListener\nimport '../../vendor/polyfills/Element/prototype/closest'\n\nfunction ErrorSummary ($module) {\n this.$module = $module\n}\n\nErrorSummary.prototype.init = function () {\n var $module = this.$module\n if (!$module) {\n return\n }\n $module.focus()\n\n $module.addEventListener('click', this.handleClick.bind(this))\n}\n\n/**\n* Click event handler\n*\n* @param {MouseEvent} event - Click event\n*/\nErrorSummary.prototype.handleClick = function (event) {\n var target = event.target\n if (this.focusTarget(target)) {\n event.preventDefault()\n }\n}\n\n/**\n * Focus the target element\n *\n * By default, the browser will scroll the target into view. Because our labels\n * or legends appear above the input, this means the user will be presented with\n * an input without any context, as the label or legend will be off the top of\n * the screen.\n *\n * Manually handling the click event, scrolling the question into view and then\n * focussing the element solves this.\n *\n * This also results in the label and/or legend being announced correctly in\n * NVDA (as tested in 2018.3.2) - without this only the field type is announced\n * (e.g. \"Edit, has autocomplete\").\n *\n * @param {HTMLElement} $target - Event target\n * @returns {boolean} True if the target was able to be focussed\n */\nErrorSummary.prototype.focusTarget = function ($target) {\n // If the element that was clicked was not a link, return early\n if ($target.tagName !== 'A' || $target.href === false) {\n return false\n }\n\n var inputId = this.getFragmentFromUrl($target.href)\n var $input = document.getElementById(inputId)\n if (!$input) {\n return false\n }\n\n var $legendOrLabel = this.getAssociatedLegendOrLabel($input)\n if (!$legendOrLabel) {\n return false\n }\n\n // Scroll the legend or label into view *before* calling focus on the input to\n // avoid extra scrolling in browsers that don't support `preventScroll` (which\n // at time of writing is most of them...)\n $legendOrLabel.scrollIntoView()\n $input.focus({ preventScroll: true })\n\n return true\n}\n\n/**\n * Get fragment from URL\n *\n * Extract the fragment (everything after the hash) from a URL, but not including\n * the hash.\n *\n * @param {string} url - URL\n * @returns {string} Fragment from URL, without the hash\n */\nErrorSummary.prototype.getFragmentFromUrl = function (url) {\n if (url.indexOf('#') === -1) {\n return false\n }\n\n return url.split('#').pop()\n}\n\n/**\n * Get associated legend or label\n *\n * Returns the first element that exists from this list:\n *\n * - The `` associated with the closest `
` ancestor\n * - The first `