{"version":3,"sources":["webpack://wagtail/webpack/runtime/chunk loaded","webpack://wagtail/./client/src/entrypoints/admin/core.js","webpack://wagtail/external \"jQuery\"","webpack://wagtail/webpack/bootstrap","webpack://wagtail/webpack/runtime/compat get default export","webpack://wagtail/webpack/runtime/define property getters","webpack://wagtail/webpack/runtime/global","webpack://wagtail/webpack/runtime/harmony module decorator","webpack://wagtail/webpack/runtime/hasOwnProperty shorthand","webpack://wagtail/webpack/runtime/make namespace object","webpack://wagtail/webpack/runtime/runtimeId","webpack://wagtail/webpack/runtime/jsonp chunk loading","webpack://wagtail/webpack/startup"],"names":["deferred","__values","this","o","s","Symbol","iterator","m","i","call","length","next","value","done","TypeError","__importDefault","mod","__esModule","exports","jquery_1","window","addMessage","status","text","addClass","empty","append","addMsgTimeout","setTimeout","clearTimeout","escapeHtml","map","'","replace","char","initTagField","id","autocompleteUrl","options","finalOptions","Object","assign","autocomplete","source","preprocessTag","val","indexOf","tagit","enableDirtyFormCheck","formSelector","$form","confirmationMessage","alwaysDirty","commentApp","callback","initialData","formSubmitted","updateCallback","formDirty","commentsDirty","on","isDirty","isCommentsDirty","updateIsCommentsDirtyTimeout","selectors","selectIsDirty","store","getState","subscribe","newIsCommentsDirty","updateIsDirtyTimeout","updateIsDirty","formData","FormData","keys","Array","from","filter","key","startsWith","size","some","newValue","getAll","oldValue","get","isArray","index","isFormDirty","initialFormData","Map","forEach","set","updateDirtyCheck","trigger","validInputNodeInList","nodeList","e_1","_a","nodeList_1","nodeList_1_1","node","nodeType","ELEMENT_NODE","includes","tagName","e_1_1","error","MutationObserver","mutationList","e_2","mutationList_1","mutationList_1_1","mutation","addedNodes","removedNodes","e_2_1","observe","childList","attributes","subtree","addEventListener","event","returnValue","document","toggleClass","hasClass","removeClass","find","fitNav","css","height","$logoContainer","lastMouseX","lastDir","dirChangeCount","disableWag","dir","mouseX","pageX","initLogo","closest","each","autosize","update","showTab","tabButtonElem","tab","tabNavElem","dataset","currentTab","dispatchEvent","CustomEvent","detail","location","hash","cleanedHash","querySelector","e","preventDefault","history","replaceState","attr","$dropdown","stopPropagation","e2","relTarg","relatedTarget","toElement","parents","is","off","headerSearch","searchCurrentIndex_1","searchNextIndex_1","$input_1","termInput","$inputContainer_1","parent","data","search_1","workingClasses","newQuery","getURLParam_1","trim","index_1","ajax","url","q","success","targetOutput","html","slideDown","Event","complete","wagtail","ui","initDropDowns","name","results","RegExp","exec","search","$self","$replacementElem","dataName","cancelSpinner","prop","removeData","form","checkValidity","noValidate","timeout","reEnableAfter","LISTING_ACTIVE_CLASS","ICON_DOWN","ICON_UP","IS_OPEN","clickEvent","TOGGLE_SELECTOR","ARIA","DropDownController","dropDowns","closeAllExcept","dropDown","item","state","isOpen","closeDropDown","add","push","getByIndex","getOpenDropDown","needle","DropDown","el","registry","console","$parent","clickOutsideDropDown","bind","openDropDown","handleClick","handleKeyEvent","initDropDown","handleKeyPress","which","open_1","qsa","element","selector","slice","querySelectorAll","prototype","toggle","classList","setAttribute","remove","removeEventListener","relTarget","ready","inputElement","buttonElement","selectedButtonElement","module","jQuery","__webpack_module_cache__","__webpack_require__","moduleId","cachedModule","undefined","loaded","__webpack_modules__","O","result","chunkIds","fn","priority","notFulfilled","Infinity","fulfilled","j","every","splice","n","getter","d","a","definition","defineProperty","enumerable","g","globalThis","Function","hmd","create","children","Error","obj","hasOwnProperty","r","toStringTag","installedChunks","321","chunkId","webpackJsonpCallback","parentChunkLoadingFunction","moreModules","runtime","chunkLoadingGlobal","__webpack_exports__"],"mappings":"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","file":"wagtail/admin/static/wagtailadmin/js/core.js","sourcesContent":["var deferred = [];\n__webpack_require__.O = (result, chunkIds, fn, priority) => {\n\tif(chunkIds) {\n\t\tpriority = priority || 0;\n\t\tfor(var i = deferred.length; i > 0 && deferred[i - 1][2] > priority; i--) deferred[i] = deferred[i - 1];\n\t\tdeferred[i] = [chunkIds, fn, priority];\n\t\treturn;\n\t}\n\tvar notFulfilled = Infinity;\n\tfor (var i = 0; i < deferred.length; i++) {\n\t\tvar [chunkIds, fn, priority] = deferred[i];\n\t\tvar fulfilled = true;\n\t\tfor (var j = 0; j < chunkIds.length; j++) {\n\t\t\tif ((priority & 1 === 0 || notFulfilled >= priority) && Object.keys(__webpack_require__.O).every((key) => (__webpack_require__.O[key](chunkIds[j])))) {\n\t\t\t\tchunkIds.splice(j--, 1);\n\t\t\t} else {\n\t\t\t\tfulfilled = false;\n\t\t\t\tif(priority < notFulfilled) notFulfilled = priority;\n\t\t\t}\n\t\t}\n\t\tif(fulfilled) {\n\t\t\tdeferred.splice(i--, 1)\n\t\t\tresult = fn();\n\t\t}\n\t}\n\treturn result;\n};","\"use strict\";\nvar __values = (this && this.__values) || function(o) {\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\n if (m) return m.call(o);\n if (o && typeof o.length === \"number\") return {\n next: function () {\n if (o && i >= o.length) o = void 0;\n return { value: o && o[i++], done: !o };\n }\n };\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\n};\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nexports.__esModule = true;\nvar jquery_1 = __importDefault(require(\"jquery\"));\n/* generic function for adding a message to message area through JS alone */\nfunction addMessage(status, text) {\n jquery_1[\"default\"]('.messages').addClass('new').empty()\n .append('');\n var addMsgTimeout = setTimeout(function () {\n jquery_1[\"default\"]('.messages').addClass('appear');\n clearTimeout(addMsgTimeout);\n }, 100);\n}\nwindow.addMessage = addMessage;\nfunction escapeHtml(text) {\n var map = {\n '&': '&',\n '<': '<',\n '>': '>',\n '\"': '"',\n '\\'': '''\n };\n return text.replace(/[&<>\"']/g, function (char) { return map[char]; });\n}\nwindow.escapeHtml = escapeHtml;\nfunction initTagField(id, autocompleteUrl, options) {\n var finalOptions = Object.assign({\n autocomplete: { source: autocompleteUrl },\n preprocessTag: function (val) {\n // Double quote a tag if it contains a space\n // and if it isn't already quoted.\n if (val && val[0] !== '\"' && val.indexOf(' ') > -1) {\n return '\"' + val + '\"';\n }\n return val;\n },\n }, options);\n jquery_1[\"default\"]('#' + id).tagit(finalOptions);\n}\nwindow.initTagField = initTagField;\n/*\n * Enables a \"dirty form check\", prompting the user if they are navigating away\n * from a page with unsaved changes, as well as optionally controlling other\n * behaviour via a callback\n *\n * It takes the following parameters:\n *\n * - formSelector - A CSS selector to select the form to apply this check to.\n *\n * - options - An object for passing in options. Possible options are:\n * - confirmationMessage - The message to display in the prompt.\n * - alwaysDirty - When set to true the form will always be considered dirty,\n * prompting the user even when nothing has been changed.\n * - commentApp - The CommentApp used by the commenting system, if the dirty check\n * should include comments\n * - callback - A function to be run when the dirty status of the form, or the comments\n * system (if using) changes, taking formDirty, commentsDirty as arguments\n*/\nfunction enableDirtyFormCheck(formSelector, options) {\n var $form = jquery_1[\"default\"](formSelector);\n var confirmationMessage = options.confirmationMessage || ' ';\n var alwaysDirty = options.alwaysDirty || false;\n var commentApp = options.commentApp || null;\n var callback = options.callback || null;\n var initialData = null;\n var formSubmitted = false;\n var updateCallback = function (formDirty, commentsDirty) {\n if (callback) {\n callback(formDirty, commentsDirty);\n }\n };\n $form.on('submit', function () {\n formSubmitted = true;\n });\n var isDirty = alwaysDirty;\n var isCommentsDirty = false;\n var updateIsCommentsDirtyTimeout = -1;\n if (commentApp) {\n isCommentsDirty = commentApp.selectors.selectIsDirty(commentApp.store.getState());\n commentApp.store.subscribe(function () {\n // Update on a timeout to match the timings for responding to page form changes\n clearTimeout(updateIsCommentsDirtyTimeout);\n updateIsCommentsDirtyTimeout = setTimeout(function () {\n var newIsCommentsDirty = commentApp.selectors.selectIsDirty(commentApp.store.getState());\n if (newIsCommentsDirty !== isCommentsDirty) {\n isCommentsDirty = newIsCommentsDirty;\n updateCallback(isDirty, isCommentsDirty);\n }\n }, isCommentsDirty ? 3000 : 300);\n });\n }\n updateCallback(isDirty, isCommentsDirty);\n var updateIsDirtyTimeout = -1;\n var isFormDirty = function () {\n if (alwaysDirty) {\n return true;\n }\n else if (!initialData) {\n return false;\n }\n var formData = new FormData($form[0]);\n var keys = Array.from(formData.keys()).filter(function (key) { return !key.startsWith('comments-'); });\n if (keys.length !== initialData.size) {\n return true;\n }\n return keys.some(function (key) {\n var newValue = formData.getAll(key);\n var oldValue = initialData.get(key);\n if (newValue === oldValue) {\n return false;\n }\n else if (Array.isArray(newValue) && Array.isArray(oldValue)) {\n return newValue.length !== oldValue.length || newValue.some(function (value, index) { return value !== oldValue[index]; });\n }\n return false;\n });\n };\n var updateIsDirty = function () {\n var previousIsDirty = isDirty;\n isDirty = isFormDirty();\n if (previousIsDirty !== isDirty) {\n updateCallback(isDirty, isCommentsDirty);\n }\n };\n // Delay snapshotting the form’s data to avoid race conditions with form widgets that might process the values.\n // User interaction with the form within that delay also won’t trigger the confirmation message.\n if (!alwaysDirty) {\n setTimeout(function () {\n var initialFormData = new FormData($form[0]);\n initialData = new Map();\n Array.from(initialFormData.keys())\n .filter(function (key) { return !key.startsWith('comments-'); })\n .forEach(function (key) { return initialData.set(key, initialFormData.getAll(key)); });\n var updateDirtyCheck = function () {\n clearTimeout(updateIsDirtyTimeout);\n // If the form is dirty, it is relatively unlikely to become clean again, so\n // run the dirty check on a relatively long timer that we reset on any form update\n // otherwise, use a short timer both for nicer UX and to ensure widgets\n // like Draftail have time to serialize their data\n updateIsDirtyTimeout = setTimeout(updateIsDirty, isDirty ? 3000 : 300);\n };\n $form.on('change keyup', updateDirtyCheck).trigger('change');\n var validInputNodeInList = function (nodeList) {\n var e_1, _a;\n try {\n for (var nodeList_1 = __values(nodeList), nodeList_1_1 = nodeList_1.next(); !nodeList_1_1.done; nodeList_1_1 = nodeList_1.next()) {\n var node = nodeList_1_1.value;\n if (node.nodeType === node.ELEMENT_NODE && ['INPUT', 'TEXTAREA', 'SELECT'].includes(node.tagName)) {\n return true;\n }\n }\n }\n catch (e_1_1) { e_1 = { error: e_1_1 }; }\n finally {\n try {\n if (nodeList_1_1 && !nodeList_1_1.done && (_a = nodeList_1[\"return\"])) _a.call(nodeList_1);\n }\n finally { if (e_1) throw e_1.error; }\n }\n return false;\n };\n var observer = new MutationObserver(function (mutationList) {\n var e_2, _a;\n try {\n for (var mutationList_1 = __values(mutationList), mutationList_1_1 = mutationList_1.next(); !mutationList_1_1.done; mutationList_1_1 = mutationList_1.next()) {\n var mutation = mutationList_1_1.value;\n if (validInputNodeInList(mutation.addedNodes) || validInputNodeInList(mutation.removedNodes)) {\n updateDirtyCheck();\n return;\n }\n }\n }\n catch (e_2_1) { e_2 = { error: e_2_1 }; }\n finally {\n try {\n if (mutationList_1_1 && !mutationList_1_1.done && (_a = mutationList_1[\"return\"])) _a.call(mutationList_1);\n }\n finally { if (e_2) throw e_2.error; }\n }\n });\n observer.observe($form[0], {\n childList: true,\n attributes: false,\n subtree: true\n });\n }, 1000 * 10);\n }\n // eslint-disable-next-line consistent-return\n window.addEventListener('beforeunload', function (event) {\n clearTimeout(updateIsDirtyTimeout);\n updateIsDirty();\n var displayConfirmation = (!formSubmitted && (isDirty || isCommentsDirty));\n if (displayConfirmation) {\n // eslint-disable-next-line no-param-reassign\n event.returnValue = confirmationMessage;\n return confirmationMessage;\n }\n });\n}\nwindow.enableDirtyFormCheck = enableDirtyFormCheck;\njquery_1[\"default\"](function () {\n // Add class to the body from which transitions may be hung so they don't appear to transition as the page loads\n jquery_1[\"default\"]('body').addClass('ready');\n // Enable toggle to open/close nav\n jquery_1[\"default\"](document).on('click', '#nav-toggle', function () {\n jquery_1[\"default\"]('body').toggleClass('nav-open');\n if (!jquery_1[\"default\"]('body').hasClass('nav-open')) {\n jquery_1[\"default\"]('body').addClass('nav-closed');\n }\n else {\n jquery_1[\"default\"]('body').removeClass('nav-closed');\n }\n });\n // Enable toggle to open/close user settings\n // eslint-disable-next-line func-names\n jquery_1[\"default\"](document).on('click', '#account-settings', function () {\n jquery_1[\"default\"]('.nav-main').toggleClass('nav-main--open-footer');\n jquery_1[\"default\"](this).find('em').toggleClass('icon-arrow-down-after icon-arrow-up-after');\n });\n // Resize nav to fit height of window. This is an unimportant bell/whistle to make it look nice\n // eslint-disable-next-line func-names\n var fitNav = function () {\n jquery_1[\"default\"]('.nav-wrapper').css('min-height', jquery_1[\"default\"](window).height());\n };\n fitNav();\n jquery_1[\"default\"](window).on('resize', function () {\n fitNav();\n });\n // Logo interactivity\n function initLogo() {\n var sensitivity = 8; // the amount of times the user must stroke the wagtail to trigger the animation\n var $logoContainer = jquery_1[\"default\"]('[data-animated-logo-container]');\n var lastMouseX = 0;\n var lastDir = '';\n var dirChangeCount = 0;\n function enableWag() {\n $logoContainer.removeClass('logo-serious').addClass('logo-playful');\n }\n function disableWag() {\n $logoContainer.removeClass('logo-playful').addClass('logo-serious');\n }\n $logoContainer.on('mousemove', function (event) {\n var mouseX = event.pageX;\n var dir;\n if (mouseX > lastMouseX) {\n dir = 'r';\n }\n else if (mouseX < lastMouseX) {\n dir = 'l';\n }\n if (dir !== lastDir && lastDir !== '') {\n dirChangeCount += 1;\n }\n if (dirChangeCount > sensitivity) {\n enableWag();\n }\n lastMouseX = mouseX;\n lastDir = dir;\n });\n $logoContainer.on('mouseleave', function () {\n dirChangeCount = 0;\n disableWag();\n });\n disableWag();\n }\n initLogo();\n // Enable nice focus effects on all fields. This enables help text on hover.\n // eslint-disable-next-line func-names\n jquery_1[\"default\"](document).on('focus mouseover', 'input,textarea,select', function () {\n jquery_1[\"default\"](this).closest('.field').addClass('focused');\n jquery_1[\"default\"](this).closest('fieldset').addClass('focused');\n jquery_1[\"default\"](this).closest('li').addClass('focused');\n });\n // eslint-disable-next-line func-names\n jquery_1[\"default\"](document).on('blur mouseout', 'input,textarea,select', function () {\n jquery_1[\"default\"](this).closest('.field').removeClass('focused');\n jquery_1[\"default\"](this).closest('fieldset').removeClass('focused');\n jquery_1[\"default\"](this).closest('li').removeClass('focused');\n });\n /* Functions that need to run/rerun when active tabs are changed */\n jquery_1[\"default\"](document).on('shown.bs.tab', function () {\n // Resize autosize textareas\n // eslint-disable-next-line func-names\n jquery_1[\"default\"]('textarea[data-autosize-on]').each(function () {\n // eslint-disable-next-line no-undef\n autosize.update(jquery_1[\"default\"](this).get());\n });\n });\n /* tabs */\n var showTab = function (tabButtonElem) {\n jquery_1[\"default\"](tabButtonElem).tab('show');\n // Update data-current-tab attribute on the [data-tab-nav] element\n var tabNavElem = tabButtonElem.closest('[data-tab-nav]');\n tabNavElem.dataset.currentTab = tabButtonElem.dataset.tab;\n // Trigger switch event\n tabNavElem.dispatchEvent(new CustomEvent('switch', { detail: { tab: tabButtonElem.dataset.tab } }));\n };\n if (window.location.hash) {\n /* look for a tab matching the URL hash and activate it if found */\n var cleanedHash = window.location.hash.replace(/[^\\w\\-#]/g, '');\n var tab = document.querySelector('a[href=\"' + cleanedHash + '\"][data-tab]');\n if (tab)\n showTab(tab);\n }\n // eslint-disable-next-line func-names\n jquery_1[\"default\"](document).on('click', '[data-tab-nav] a', function (e) {\n e.preventDefault();\n showTab(this);\n window.history.replaceState(null, null, jquery_1[\"default\"](this).attr('href'));\n });\n // eslint-disable-next-line func-names\n jquery_1[\"default\"](document).on('click', '.tab-toggle', function (e) {\n e.preventDefault();\n jquery_1[\"default\"]('[data-tab-nav] a[href=\"' + jquery_1[\"default\"](this).attr('href') + '\"]').trigger('click');\n });\n // eslint-disable-next-line func-names\n jquery_1[\"default\"]('.dropdown').each(function () {\n var $dropdown = jquery_1[\"default\"](this);\n jquery_1[\"default\"]('.dropdown-toggle', $dropdown).on('click', function (e) {\n e.stopPropagation();\n $dropdown.toggleClass('open');\n if ($dropdown.hasClass('open')) {\n // If a dropdown is opened, add an event listener for document clicks to close it\n jquery_1[\"default\"](document).on('click.dropdown.cancel', function (e2) {\n var relTarg = e2.relatedTarget || e2.toElement;\n // Only close dropdown if the click target wasn't a child of this dropdown\n if (!jquery_1[\"default\"](relTarg).parents().is($dropdown)) {\n $dropdown.removeClass('open');\n jquery_1[\"default\"](document).off('click.dropdown.cancel');\n }\n });\n }\n else {\n jquery_1[\"default\"](document).off('click.dropdown.cancel');\n }\n });\n });\n /* Dropzones */\n // eslint-disable-next-line func-names\n jquery_1[\"default\"]('.drop-zone').on('dragover', function () {\n jquery_1[\"default\"](this).addClass('hovered');\n // eslint-disable-next-line func-names\n }).on('dragleave dragend drop', function () {\n jquery_1[\"default\"](this).removeClass('hovered');\n });\n /* Header search behaviour */\n if (window.headerSearch) {\n var searchCurrentIndex_1 = 0;\n var searchNextIndex_1 = 0;\n var $input_1 = jquery_1[\"default\"](window.headerSearch.termInput);\n var $inputContainer_1 = $input_1.parent();\n $input_1.on('keyup cut paste change', function () {\n clearTimeout($input_1.data('timer'));\n // eslint-disable-next-line @typescript-eslint/no-use-before-define\n $input_1.data('timer', setTimeout(search_1, 200));\n });\n // auto focus on search box\n $input_1.trigger('focus');\n // eslint-disable-next-line func-names\n var search_1 = function () {\n var workingClasses = 'icon-spinner';\n var newQuery = $input_1.val();\n // eslint-disable-next-line @typescript-eslint/no-use-before-define\n var currentQuery = getURLParam_1('q');\n // only do the query if it has changed for trimmed queries\n // eg. \" \" === \"\" and \"firstword \" ==== \"firstword\"\n if (currentQuery.trim() !== newQuery.trim()) {\n $inputContainer_1.addClass(workingClasses);\n searchNextIndex_1++;\n var index_1 = searchNextIndex_1;\n jquery_1[\"default\"].ajax({\n url: window.headerSearch.url,\n // eslint-disable-next-line id-length\n data: { q: newQuery },\n success: function (data) {\n if (index_1 > searchCurrentIndex_1) {\n searchCurrentIndex_1 = index_1;\n jquery_1[\"default\"](window.headerSearch.targetOutput).html(data).slideDown(800);\n window.history.replaceState(null, null, '?q=' + newQuery);\n $input_1[0].dispatchEvent(new Event('search-success'));\n }\n },\n complete: function () {\n window.wagtail.ui.initDropDowns();\n $inputContainer_1.removeClass(workingClasses);\n }\n });\n }\n };\n // eslint-disable-next-line func-names\n var getURLParam_1 = function (name) {\n var results = new RegExp('[\\\\?&]' + name + '=([^]*)').exec(window.location.search);\n if (results) {\n return results[1];\n }\n return '';\n };\n }\n /* Debounce submission of long-running forms and add spinner to give sense of activity */\n // eslint-disable-next-line func-names\n jquery_1[\"default\"](document).on('click', 'button.button-longrunning', function () {\n var $self = jquery_1[\"default\"](this);\n var $replacementElem = jquery_1[\"default\"]('em', $self);\n var reEnableAfter = 30;\n var dataName = 'disabledtimeout';\n // eslint-disable-next-line func-names\n window.cancelSpinner = function () {\n $self.prop('disabled', '').removeData(dataName).removeClass('button-longrunning-active');\n if ($self.data('clicked-text')) {\n $replacementElem.text($self.data('original-text'));\n }\n };\n // If client-side validation is active on this form, and is going to block submission of the\n // form, don't activate the spinner\n var form = $self.closest('form').get(0);\n if (form && form.checkValidity && !form.noValidate && (!form.checkValidity())) {\n return;\n }\n // Disabling a button prevents it submitting the form, so disabling\n // must occur on a brief timeout only after this function returns.\n var timeout = setTimeout(function () {\n if (!$self.data(dataName)) {\n // Button re-enables after a timeout to prevent button becoming\n // permanently un-usable\n $self.data(dataName, setTimeout(function () {\n clearTimeout($self.data(dataName));\n // eslint-disable-next-line no-undef\n cancelSpinner();\n }, reEnableAfter * 1000));\n if ($self.data('clicked-text') && $replacementElem.length) {\n // Save current button text\n $self.data('original-text', $replacementElem.text());\n $replacementElem.text($self.data('clicked-text'));\n }\n // Disabling button must be done last: disabled buttons can't be\n // modified in the normal way, it would seem.\n $self.addClass('button-longrunning-active').prop('disabled', 'true');\n }\n clearTimeout(timeout);\n }, 10);\n });\n});\n// =============================================================================\n// Wagtail global module, mainly useful for debugging.\n// =============================================================================\n// =============================================================================\n// Inline dropdown module\n// =============================================================================\nvar wagtail = window.wagtail || {};\nif (!wagtail.ui) {\n wagtail.ui = {};\n}\n// Constants\nvar DROPDOWN_SELECTOR = '[data-dropdown]';\nvar LISTING_TITLE_SELECTOR = '[data-listing-page-title]';\nvar LISTING_ACTIVE_CLASS = 'listing__item--active';\nvar ICON_DOWN = 'icon-arrow-down';\nvar ICON_UP = 'icon-arrow-up';\nvar IS_OPEN = 'is-open';\nvar clickEvent = 'click';\nvar TOGGLE_SELECTOR = '[data-dropdown-toggle]';\nvar ARIA = 'aria-hidden';\nvar keys = {\n ESC: 27,\n ENTER: 13,\n SPACE: 32\n};\n/**\n * Singleton controller and registry for DropDown components.\n *\n * Mostly used to maintain open/closed state of components and easily\n * toggle them when the focus changes.\n */\nvar DropDownController = {\n dropDowns: [],\n closeAllExcept: function (dropDown) {\n var index = this.dropDowns.indexOf(dropDown);\n this.dropDowns.forEach(function (item, i) {\n if (i !== index && item.state.isOpen) {\n item.closeDropDown();\n }\n });\n },\n add: function (dropDown) {\n this.dropDowns.push(dropDown);\n },\n get: function () {\n return this.dropDowns;\n },\n getByIndex: function (index) {\n return this.dropDowns[index];\n },\n getOpenDropDown: function () {\n var needle = null;\n this.dropDowns.forEach(function (item) {\n if (item.state.isOpen) {\n needle = item;\n }\n });\n return needle;\n }\n};\n/**\n * DropDown component\n *\n * Template: _button_with_dropdown.html\n *\n * Can contain a list of links\n * Controllable via a toggle class or the keyboard.\n */\nfunction DropDown(el, registry) {\n if (!el || !registry) {\n if ('error' in console) {\n // eslint-disable-next-line max-len, no-console\n console.error('A dropdown was created without an element or the DropDownController.\\nMake sure to pass both to your component.');\n return;\n }\n }\n this.el = el;\n this.$parent = jquery_1[\"default\"](el).parents(LISTING_TITLE_SELECTOR);\n this.state = {\n isOpen: false\n };\n this.registry = registry;\n this.clickOutsideDropDown = this.clickOutsideDropDown.bind(this);\n this.closeDropDown = this.closeDropDown.bind(this);\n this.openDropDown = this.openDropDown.bind(this);\n this.handleClick = this.handleClick.bind(this);\n this.handleKeyEvent = this.handleKeyEvent.bind(this);\n el.addEventListener(clickEvent, this.handleClick);\n el.addEventListener('keydown', this.handleKeyEvent);\n this.$parent.data('close', this.closeDropDown);\n}\nDropDown.prototype = {\n handleKeyEvent: function (e) {\n var validTriggers = [keys.SPACE, keys.ENTER];\n if (validTriggers.indexOf(e.which) > -1) {\n e.preventDefault();\n this.handleClick(e);\n }\n },\n handleClick: function (e) {\n if (!this.state.isOpen) {\n this.openDropDown(e);\n }\n else {\n this.closeDropDown(e);\n }\n },\n openDropDown: function (e) {\n e.stopPropagation();\n e.preventDefault();\n var el = this.el;\n var $parent = this.$parent;\n var toggle = el.querySelector(TOGGLE_SELECTOR);\n this.state.isOpen = true;\n this.registry.closeAllExcept(this);\n el.classList.add(IS_OPEN);\n el.setAttribute(ARIA, false);\n toggle.classList.remove(ICON_DOWN);\n toggle.classList.add(ICON_UP);\n document.addEventListener(clickEvent, this.clickOutsideDropDown, false);\n $parent.addClass(LISTING_ACTIVE_CLASS);\n },\n closeDropDown: function () {\n this.state.isOpen = false;\n var el = this.el;\n var $parent = this.$parent;\n var toggle = el.querySelector(TOGGLE_SELECTOR);\n document.removeEventListener(clickEvent, this.clickOutsideDropDown, false);\n el.classList.remove(IS_OPEN);\n toggle.classList.add(ICON_DOWN);\n toggle.classList.remove(ICON_UP);\n el.setAttribute(ARIA, true);\n $parent.removeClass(LISTING_ACTIVE_CLASS);\n },\n clickOutsideDropDown: function (e) {\n var el = this.el;\n var relTarget = e.relatedTarget || e.toElement;\n if (!jquery_1[\"default\"](relTarget).parents().is(el)) {\n this.closeDropDown();\n }\n }\n};\nfunction initDropDown() {\n var dropDown = new DropDown(this, DropDownController);\n DropDownController.add(dropDown);\n}\nfunction handleKeyPress(e) {\n if (e.which === keys.ESC) {\n var open_1 = DropDownController.getOpenDropDown();\n if (open_1) {\n open_1.closeDropDown();\n }\n }\n}\nfunction initDropDowns() {\n jquery_1[\"default\"](DROPDOWN_SELECTOR).each(initDropDown);\n jquery_1[\"default\"](document).on('keydown', handleKeyPress);\n}\njquery_1[\"default\"](document).ready(initDropDowns);\nwagtail.ui.initDropDowns = initDropDowns;\nwagtail.ui.DropDownController = DropDownController;\n// provide a workaround for NodeList#forEach not being available in IE 11\nfunction qsa(element, selector) {\n return [].slice.call(element.querySelectorAll(selector));\n}\n// Initialise button selectors\nfunction initButtonSelects() {\n qsa(document, '.button-select').forEach(function (element) {\n var inputElement = element.querySelector('input[type=\"hidden\"]');\n qsa(element, '.button-select__option').forEach(function (buttonElement) {\n buttonElement.addEventListener('click', function (e) {\n e.preventDefault();\n inputElement.value = buttonElement.value;\n qsa(element, '.button-select__option--selected').forEach(function (selectedButtonElement) {\n selectedButtonElement.classList.remove('button-select__option--selected');\n });\n buttonElement.classList.add('button-select__option--selected');\n });\n });\n });\n}\njquery_1[\"default\"](document).ready(initButtonSelects);\nwindow.wagtail = wagtail;\n","module.exports = jQuery;","// The module cache\nvar __webpack_module_cache__ = {};\n\n// The require function\nfunction __webpack_require__(moduleId) {\n\t// Check if module is in cache\n\tvar cachedModule = __webpack_module_cache__[moduleId];\n\tif (cachedModule !== undefined) {\n\t\treturn cachedModule.exports;\n\t}\n\t// Create a new module (and put it into the cache)\n\tvar module = __webpack_module_cache__[moduleId] = {\n\t\tid: moduleId,\n\t\tloaded: false,\n\t\texports: {}\n\t};\n\n\t// Execute the module function\n\t__webpack_modules__[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n\t// Flag the module as loaded\n\tmodule.loaded = true;\n\n\t// Return the exports of the module\n\treturn module.exports;\n}\n\n// expose the modules object (__webpack_modules__)\n__webpack_require__.m = __webpack_modules__;\n\n","// getDefaultExport function for compatibility with non-harmony modules\n__webpack_require__.n = (module) => {\n\tvar getter = module && module.__esModule ?\n\t\t() => (module['default']) :\n\t\t() => (module);\n\t__webpack_require__.d(getter, { a: getter });\n\treturn getter;\n};","// define getter functions for harmony exports\n__webpack_require__.d = (exports, definition) => {\n\tfor(var key in definition) {\n\t\tif(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\n\t\t\tObject.defineProperty(exports, key, { enumerable: true, get: definition[key] });\n\t\t}\n\t}\n};","__webpack_require__.g = (function() {\n\tif (typeof globalThis === 'object') return globalThis;\n\ttry {\n\t\treturn this || new Function('return this')();\n\t} catch (e) {\n\t\tif (typeof window === 'object') return window;\n\t}\n})();","__webpack_require__.hmd = (module) => {\n\tmodule = Object.create(module);\n\tif (!module.children) module.children = [];\n\tObject.defineProperty(module, 'exports', {\n\t\tenumerable: true,\n\t\tset: () => {\n\t\t\tthrow new Error('ES Modules may not assign module.exports or exports.*, Use ESM export syntax, instead: ' + module.id);\n\t\t}\n\t});\n\treturn module;\n};","__webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop))","// define __esModule on exports\n__webpack_require__.r = (exports) => {\n\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n\t}\n\tObject.defineProperty(exports, '__esModule', { value: true });\n};","__webpack_require__.j = 321;","// no baseURI\n\n// object to store loaded and loading chunks\n// undefined = chunk not loaded, null = chunk preloaded/prefetched\n// [resolve, reject, Promise] = chunk loading, 0 = chunk loaded\nvar installedChunks = {\n\t321: 0\n};\n\n// no chunk on demand loading\n\n// no prefetching\n\n// no preloaded\n\n// no HMR\n\n// no HMR manifest\n\n__webpack_require__.O.j = (chunkId) => (installedChunks[chunkId] === 0);\n\n// install a JSONP callback for chunk loading\nvar webpackJsonpCallback = (parentChunkLoadingFunction, data) => {\n\tvar [chunkIds, moreModules, runtime] = data;\n\t// add \"moreModules\" to the modules object,\n\t// then flag all \"chunkIds\" as loaded and fire callback\n\tvar moduleId, chunkId, i = 0;\n\tfor(moduleId in moreModules) {\n\t\tif(__webpack_require__.o(moreModules, moduleId)) {\n\t\t\t__webpack_require__.m[moduleId] = moreModules[moduleId];\n\t\t}\n\t}\n\tif(runtime) var result = runtime(__webpack_require__);\n\tif(parentChunkLoadingFunction) parentChunkLoadingFunction(data);\n\tfor(;i < chunkIds.length; i++) {\n\t\tchunkId = chunkIds[i];\n\t\tif(__webpack_require__.o(installedChunks, chunkId) && installedChunks[chunkId]) {\n\t\t\tinstalledChunks[chunkId][0]();\n\t\t}\n\t\tinstalledChunks[chunkIds[i]] = 0;\n\t}\n\treturn __webpack_require__.O(result);\n}\n\nvar chunkLoadingGlobal = globalThis[\"webpackChunkwagtail\"] = globalThis[\"webpackChunkwagtail\"] || [];\nchunkLoadingGlobal.forEach(webpackJsonpCallback.bind(null, 0));\nchunkLoadingGlobal.push = webpackJsonpCallback.bind(null, chunkLoadingGlobal.push.bind(chunkLoadingGlobal));","// startup\n// Load entry module and return exports\n// This entry module depends on other loaded chunks and execution need to be delayed\n__webpack_require__.O(undefined, [751], () => (__webpack_require__(94639)))\nvar __webpack_exports__ = __webpack_require__.O(undefined, [751], () => (__webpack_require__(90971)))\n__webpack_exports__ = __webpack_require__.O(__webpack_exports__);\n"],"sourceRoot":""}