carbon-components
Version:
The Carbon Design System is IBM’s open-source design system for products and experiences.
1 lines • 165 kB
JavaScript
var CarbonComponents=function(e){"use strict";var t="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:{},n={prefix:"bx",selectorTabbable:"\n a[href], area[href], input:not([disabled]):not([tabindex='-1']),\n button:not([disabled]):not([tabindex='-1']),select:not([disabled]):not([tabindex='-1']),\n textarea:not([disabled]):not([tabindex='-1']),\n iframe, object, embed, *[tabindex]:not([tabindex='-1']), *[contenteditable=true]\n ",selectorFocusable:"\n a[href], area[href], input:not([disabled]),\n button:not([disabled]),select:not([disabled]),\n textarea:not([disabled]),\n iframe, object, embed, *[tabindex], *[contenteditable=true]\n "};function o(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);t&&(o=o.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,o)}return n}function a(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?o(Object(n),!0).forEach((function(t){c(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):o(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}function i(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function r(e,t){for(var n=0;n<t.length;n++){var o=t[n];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(e,o.key,o)}}function s(e,t,n){return t&&r(e.prototype,t),n&&r(e,n),Object.defineProperty(e,"prototype",{writable:!1}),e}function c(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function l(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),Object.defineProperty(e,"prototype",{writable:!1}),t&&d(e,t)}function u(e){return(u=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}function d(e,t){return(d=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function p(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function h(e,t){if(t&&("object"==typeof t||"function"==typeof t))return t;if(void 0!==t)throw new TypeError("Derived constructors may only return object or undefined");return p(e)}function f(e){var t=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}();return function(){var n,o=u(e);if(t){var a=u(this).constructor;n=Reflect.construct(o,arguments,a)}else n=o.apply(this,arguments);return h(this,n)}}function m(e,t){for(;!Object.prototype.hasOwnProperty.call(e,t)&&null!==(e=u(e)););return e}function g(){return(g="undefined"!=typeof Reflect&&Reflect.get?Reflect.get:function(e,t,n){var o=m(e,t);if(o){var a=Object.getOwnPropertyDescriptor(o,t);return a.get?a.get.call(arguments.length<3?e:n):a.value}}).apply(this,arguments)}function v(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var n=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null==n)return;var o,a,i=[],r=!0,s=!1;try{for(n=n.call(e);!(r=(o=n.next()).done)&&(i.push(o.value),!t||i.length!==t);r=!0);}catch(e){s=!0,a=e}finally{try{r||null==n.return||n.return()}finally{if(s)throw a}}return i}(e,t)||y(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function b(e){return function(e){if(Array.isArray(e))return w(e)}(e)||function(e){if("undefined"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(e)||y(e)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function y(e,t){if(e){if("string"==typeof e)return w(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?w(e,t):void 0}}function w(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,o=new Array(t);n<t;n++)o[n]=e[n];return o}function S(e){return e.reduce((function(e,t){return Array.isArray(t)?e.push.apply(e,b(S(t))):e.push(t),e}),[])}function C(){for(var e=arguments.length,t=new Array(e),n=0;n<e;n++)t[n]=arguments[n];return S(t).reduce((function(e,t){return t(e)}),function(){return s((function e(){i(this,e)}))}())}function k(e){return function(e){l(n,e);var t=f(n);function n(e){var o,a=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};if(i(this,n),c(p(o=t.call(this,e,a)),"children",[]),!e||e.nodeType!==Node.ELEMENT_NODE)throw new TypeError("DOM element should be given to initialize this widget.");return o.element=e,o.options=Object.assign(Object.create(o.constructor.options),a),o.constructor.components.set(o.element,p(o)),o}return s(n,[{key:"release",value:function(){for(var e=this.children.pop();e;e=this.children.pop())e.release();return this.constructor.components.delete(this.element),null}}],[{key:"create",value:function(e,t){return this.components.get(e)||new this(e,t)}}]),n}(e)}function _(e){return function(e){l(n,e);var t=f(n);function n(){return i(this,n),t.apply(this,arguments)}return s(n,null,[{key:"init",value:function(){var e=this,t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:document,n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},o=Object.assign(Object.create(this.options),n);if(!t||t.nodeType!==Node.ELEMENT_NODE&&t.nodeType!==Node.DOCUMENT_NODE)throw new TypeError("DOM document or DOM element should be given to search for and initialize this widget.");t.nodeType===Node.ELEMENT_NODE&&t.matches(o.selectorInit)?this.create(t,n):Array.prototype.forEach.call(t.querySelectorAll(o.selectorInit),(function(t){return e.create(t,n)}))}}]),n}(e)}function E(e){return function(e){l(n,e);var t=f(n);function n(){var e;i(this,n);for(var o=arguments.length,a=new Array(o),r=0;r<o;r++)a[r]=arguments[r];return c(p(e=t.call.apply(t,[this].concat(a))),"handles",new Set),e}return s(n,[{key:"manage",value:function(e){return this.handles.add(e),e}},{key:"unmanage",value:function(e){return this.handles.delete(e),e}},{key:"release",value:function(){var e=this;return this.handles.forEach((function(t){t.release(),e.handles.delete(t)})),g(u(n.prototype),"release",this).call(this)}}]),n}(e)}function D(e){for(var t=arguments.length,n=new Array(t>1?t-1:0),o=1;o<t;o++)n[o-1]=arguments[o];return e.addEventListener.apply(e,n),{release:function(){return e.removeEventListener.apply(e,n),null}}}var T={true:"true",false:"false",mixed:"mixed"},x=function(e){l(o,e);var t=f(o);function o(e,n){var a;return i(this,o),(a=t.call(this,e,n)).manage(D(a.element,"click",(function(e){a._handleClick(e)}))),a.manage(D(a.element,"focus",(function(e){a._handleFocus(e)}))),a.manage(D(a.element,"blur",(function(e){a._handleBlur(e)}))),a._indeterminateCheckbox(),a._initCheckbox(),a}return s(o,[{key:"_handleClick",value:function(){!0===this.element.checked?(this.element.setAttribute("checked",""),this.element.setAttribute("aria-checked","true"),this.element.checked=!0,this.element.parentElement.classList.contains(this.options.classLabel)&&this.element.parentElement.setAttribute(this.options.attribContainedCheckboxState,"true")):!1===this.element.checked&&(this.element.removeAttribute("checked"),this.element.setAttribute("aria-checked","false"),this.element.checked=!1,this.element.parentElement.classList.contains(this.options.classLabel)&&this.element.parentElement.setAttribute(this.options.attribContainedCheckboxState,"false"))}},{key:"_handleFocus",value:function(){this.element.parentElement.classList.contains(this.options.classLabel)&&this.element.parentElement.classList.add(this.options.classLabelFocused)}},{key:"_handleBlur",value:function(){this.element.parentElement.classList.contains(this.options.classLabel)&&this.element.parentElement.classList.remove(this.options.classLabelFocused)}},{key:"setState",value:function(e){if(void 0===e||void 0===T[e])throw new TypeError("setState expects a value of true, false or mixed.");this.element.setAttribute("aria-checked",e),this.element.indeterminate=e===T.mixed,this.element.checked=e===T.true;var t=this.element.closest(this.options.selectorContainedCheckboxState);t&&t.setAttribute(this.options.attribContainedCheckboxState,e)}},{key:"setDisabled",value:function(e){if(void 0===e)throw new TypeError("setDisabled expects a boolean value of true or false");!0===e?this.element.setAttribute("disabled",!0):!1===e&&this.element.removeAttribute("disabled");var t=this.element.closest(this.options.selectorContainedCheckboxDisabled);t&&t.setAttribute(this.options.attribContainedCheckboxDisabled,e)}},{key:"_indeterminateCheckbox",value:function(){"mixed"===this.element.getAttribute("aria-checked")&&(this.element.indeterminate=!0),!0===this.element.indeterminate&&this.element.setAttribute("aria-checked","mixed"),this.element.parentElement.classList.contains(this.options.classLabel)&&!0===this.element.indeterminate&&this.element.parentElement.setAttribute(this.options.attribContainedCheckboxState,"mixed")}},{key:"_initCheckbox",value:function(){!0===this.element.checked&&this.element.setAttribute("aria-checked","true"),this.element.parentElement.classList.contains(this.options.classLabel)&&this.element.checked&&this.element.parentElement.setAttribute(this.options.attribContainedCheckboxState,"true"),this.element.parentElement.classList.contains(this.options.classLabel)&&this.element.parentElement.setAttribute(this.options.attribContainedCheckboxDisabled,"false"),this.element.parentElement.classList.contains(this.options.classLabel)&&this.element.disabled&&this.element.parentElement.setAttribute(this.options.attribContainedCheckboxDisabled,"true")}}],[{key:"options",get:function(){var e=n.prefix;return{selectorInit:".".concat(e,"--checkbox"),selectorContainedCheckboxState:"[data-contained-checkbox-state]",selectorContainedCheckboxDisabled:"[data-contained-checkbox-disabled]",classLabel:"".concat(e,"--checkbox-label"),classLabelFocused:"".concat(e,"--checkbox-label__focus"),attribContainedCheckboxState:"data-contained-checkbox-state",attribContainedCheckboxDisabled:"data-contained-checkbox-disabled"}}}]),o}(C(k,_,E));c(x,"components",new WeakMap),c(x,"stateChangeTypes",T);var A=x;function M(e){return function(e){l(n,e);var t=f(n);function n(){return i(this,n),t.apply(this,arguments)}return s(n,[{key:"_changeState",value:function(){throw new Error("_changeState() should be overridden to perform actual change in state.")}},{key:"changeState",value:function(){for(var e=this,t=arguments.length,n=new Array(t),o=0;o<t;o++)n[o]=arguments[o];var a="string"==typeof n[0]?n.shift():void 0,i=Object(n[0])===n[0]&&"function"!=typeof n[0]?n.shift():void 0,r="function"==typeof n[0]?n.shift():void 0;if("function"!=typeof this.shouldStateBeChanged||this.shouldStateBeChanged(a,i)){var s={group:i&&i.group,state:a},c=[s.group,a].filter(Boolean).join("-").split("-").map((function(e){return e[0].toUpperCase()+e.substr(1)})).join(""),l=new CustomEvent(this.options["eventBefore".concat(c)],{bubbles:!0,cancelable:!0,detail:i}),u=i&&i.delegatorNode||this.element,d=!u.dispatchEvent(l);if(d){if(r){var p=new Error("Changing state (".concat(JSON.stringify(s),") has been canceled."));p.canceled=!0,r(p)}}else{var h=[a,i].filter(Boolean);this._changeState.apply(this,b(h).concat([function(){u.dispatchEvent(new CustomEvent(e.options["eventAfter".concat(c)],{bubbles:!0,cancelable:!0,detail:i})),r&&r()}]))}}else r&&r(null,!0)}}]),n}(e)}function N(e,t){var n=e.target,o=e.currentTarget;if("function"==typeof n.matches){if(n.matches(t))return n;if(n.matches("".concat(t," *"))){var a=n.closest(t);if((o.nodeType===Node.DOCUMENT_NODE?o.documentElement:o).contains(a))return a}}}var L=function(e){return Array.prototype.slice.call(e)},I=function(e){l(o,e);var t=f(o);function o(e){var n,a=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};if(i(this,o),c(p(n=t.call(this,e,a)),"_changeState",(function(e,t,o){"delete-filename-fileuploader"===e&&n.container.removeChild(t.filenameElement),"function"==typeof o&&o()})),c(p(n),"_handleDeleteButton",(function(e){var t=N(e,n.options.selectorCloseButton);t&&n.changeState("delete-filename-fileuploader",{initialEvt:e,filenameElement:t.closest(n.options.selectorSelectedFile)})})),c(p(n),"_handleDragDrop",(function(e){var t=n.element.contains(e.target);if(Array.prototype.indexOf.call(e.dataTransfer.types,"Files")>=0&&!N(e,n.options.selectorOtherDropContainers)){var o=t&&N(e,n.options.selectorDropContainer);if("dragover"===e.type){e.preventDefault();var a=o?"copy":"none";Array.isArray(e.dataTransfer.types)&&(e.dataTransfer.effectAllowed=a),e.dataTransfer.dropEffect=a,n.dropContainer.classList.toggle(n.options.classDragOver,Boolean(o))}"dragleave"===e.type&&n.dropContainer.classList.toggle(n.options.classDragOver,!1),o&&"drop"===e.type&&(e.preventDefault(),n._displayFilenames(e.dataTransfer.files),n.dropContainer.classList.remove(n.options.classDragOver))}})),n.input=n.element.querySelector(n.options.selectorInput),n.container=n.element.querySelector(n.options.selectorContainer),n.dropContainer=n.element.querySelector(n.options.selectorDropContainer),!n.input)throw new TypeError("Cannot find the file input box.");if(!n.container)throw new TypeError("Cannot find the file names container.");return n.inputId=n.input.getAttribute("id"),n.manage(D(n.input,"change",(function(){return n._displayFilenames()}))),n.manage(D(n.container,"click",n._handleDeleteButton)),n.manage(D(n.element.ownerDocument,"dragleave",n._handleDragDrop)),n.manage(D(n.dropContainer,"dragover",n._handleDragDrop)),n.manage(D(n.dropContainer,"drop",n._handleDragDrop)),n}return s(o,[{key:"_filenamesHTML",value:function(e,t){return'<span class="'.concat(this.options.classSelectedFile,'">\n <p class="').concat(this.options.classFileName,'">').concat(e,'</p>\n <span data-for="').concat(t,'" class="').concat(this.options.classStateContainer,'"></span>\n </span>')}},{key:"_uploadHTML",value:function(){return'\n <div class="'.concat(this.options.classLoadingAnimation,'">\n <div data-inline-loading-spinner class="').concat(this.options.classLoading,'">\n <svg class="').concat(this.options.classLoadingSvg,'" viewBox="-75 -75 150 150">\n <circle class="').concat(this.options.classLoadingBackground,'" cx="0" cy="0" r="37.5" />\n <circle class="').concat(this.options.classLoadingStroke,'" cx="0" cy="0" r="37.5" />\n </svg>\n </div>\n </div>')}},{key:"_closeButtonHTML",value:function(){return'\n <button class="'.concat(this.options.classFileClose,'" type="button" aria-label="close">\n <svg aria-hidden="true" viewBox="0 0 16 16" width="16" height="16">\n <path fill="#231F20" d="M12 4.7l-.7-.7L8 7.3 4.7 4l-.7.7L7.3 8 4 11.3l.7.7L8 8.7l3.3 3.3.7-.7L8.7 8z"/>\n </svg>\n </button>')}},{key:"_checkmarkHTML",value:function(){return'\n <svg focusable="false"\n preserveAspectRatio="xMidYMid meet"\n style="will-change: transform;"\n xmlns="http://www.w3.org/2000/svg"\n class="'.concat(this.options.classFileComplete,'"\n width="16" height="16" viewBox="0 0 16 16"\n aria-hidden="true">\n <path d="M8 1C4.1 1 1 4.1 1 8s3.1 7 7 7 7-3.1 7-7-3.1-7-7-7zM7 11L4.3 8.3l.9-.8L7 9.3l4-3.9.9.8L7 11z"></path>\n <path d="M7 11L4.3 8.3l.9-.8L7 9.3l4-3.9.9.8L7 11z" data-icon-path="inner-path" opacity="0"></path>\n </svg>\n ')}},{key:"_getStateContainers",value:function(){var e=L(this.element.querySelectorAll("[data-for=".concat(this.inputId,"]")));if(0===e.length)throw new TypeError("State container elements not found; invoke _displayFilenames() first");if(e[0].dataset.for!==this.inputId)throw new TypeError("File input id must equal [data-for] attribute");return e}},{key:"_displayFilenames",value:function(){var e=this,t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:this.input.files,n=this.element.querySelector(this.options.selectorContainer),o=L(t).map((function(t){return e._filenamesHTML(t.name,e.inputId)})).join("");n.insertAdjacentHTML("afterbegin",o)}},{key:"_removeState",value:function(e){if(!e||e.nodeType!==Node.ELEMENT_NODE)throw new TypeError("DOM element should be given to initialize this widget.");for(;e.firstChild;)e.removeChild(e.firstChild)}},{key:"_handleStateChange",value:function(e,t,n){var o=this;void 0===t?e.forEach((function(e){o._removeState(e),e.insertAdjacentHTML("beforeend",n)})):e.forEach((function(e,a){a===t&&(o._removeState(e),e.insertAdjacentHTML("beforeend",n))}))}},{key:"setState",value:function(e,t){var n=this._getStateContainers();"edit"===e&&this._handleStateChange(n,t,this._closeButtonHTML()),"upload"===e&&this._handleStateChange(n,t,this._uploadHTML()),"complete"===e&&this._handleStateChange(n,t,this._checkmarkHTML())}}],[{key:"options",get:function(){var e=n.prefix;return{selectorInit:"[data-file]",selectorInput:'input[type="file"].'.concat(e,"--file-input"),selectorContainer:"[data-file-container]",selectorCloseButton:".".concat(e,"--file-close"),selectorSelectedFile:".".concat(e,"--file__selected-file"),selectorDropContainer:"[data-file-drop-container]",selectorOtherDropContainers:"[data-drop-container]",classLoading:"".concat(e,"--loading ").concat(e,"--loading--small"),classLoadingAnimation:"".concat(e,"--inline-loading__animation"),classLoadingSvg:"".concat(e,"--loading__svg"),classLoadingBackground:"".concat(e,"--loading__background"),classLoadingStroke:"".concat(e,"--loading__stroke"),classFileName:"".concat(e,"--file-filename"),classFileClose:"".concat(e,"--file-close"),classFileComplete:"".concat(e,"--file-complete"),classSelectedFile:"".concat(e,"--file__selected-file"),classStateContainer:"".concat(e,"--file__state-container"),classDragOver:"".concat(e,"--file__drop-container--drag-over"),eventBeforeDeleteFilenameFileuploader:"fileuploader-before-delete-filename",eventAfterDeleteFilenameFileuploader:"fileuploader-after-delete-filename"}}}]),o}(C(k,_,M,E));c(I,"components",new WeakMap);var O=I,F=function(e){return Array.prototype.slice.call(e)},P=function(e){l(o,e);var t=f(o);function o(e,n){var a;return i(this,o),(a=t.call(this,e,n)).manage(D(a.element,"click",(function(e){a._handleClick(e)}))),a}return s(o,[{key:"_handleClick",value:function(e){var t=N(e,this.options.selectorButton);t&&this.changeState({group:"selected",item:t,launchingEvent:e})}},{key:"_changeState",value:function(e,t){var n=this,o=e.item,a=o.querySelector(this.options.selectorLink);a&&(F(this.element.querySelectorAll(this.options.selectorLink)).forEach((function(e){e!==a&&e.setAttribute("aria-selected","false")})),a.setAttribute("aria-selected","true")),F(this.element.querySelectorAll(this.options.selectorButton)).forEach((function(e){e!==o&&(e.setAttribute("aria-selected",!1),e.classList.toggle(n.options.classActive,!1),F(e.ownerDocument.querySelectorAll(e.dataset.target)).forEach((function(e){e.setAttribute("hidden",""),e.setAttribute("aria-hidden","true")})))})),o.classList.toggle(this.options.classActive,!0),o.setAttribute("aria-selected",!0),F(o.ownerDocument.querySelectorAll(o.dataset.target)).forEach((function(e){e.removeAttribute("hidden"),e.setAttribute("aria-hidden","false")})),t&&t()}},{key:"setActive",value:function(e,t){this.changeState({group:"selected",item:e},(function(n){n?t&&t(Object.assign(n,{item:e})):t&&t(null,e)}))}}],[{key:"options",get:function(){var e=n.prefix;return{selectorInit:"[data-content-switcher]",selectorButton:'input[type="radio"], .'.concat(e,"--content-switcher-btn"),classActive:"".concat(e,"--content-switcher--selected"),eventBeforeSelected:"content-switcher-beingselected",eventAfterSelected:"content-switcher-selected"}}}]),o}(C(k,_,M,E));c(P,"components",new WeakMap);var B=P,q=function(e){l(o,e);var t=f(o);function o(e,n){var a;i(this,o),(a=t.call(this,e,n)).manage(D(a.element,"keydown",(function(e){a._handleKeyDown(e)}))),a.manage(D(a.element.ownerDocument,"click",(function(e){a._handleDocumentClick(e)})));var r=a.element.querySelector(a.options.selectorButtonSelected);return r&&a._updateTriggerText(r),a}return s(o,[{key:"_changeState",value:function(e,t){var n=this;g(u(o.prototype),"_changeState",this).call(this,e,(function(o){o||n._updateTriggerText(e.item);for(var a=arguments.length,i=new Array(a>1?a-1:0),r=1;r<a;r++)i[r-1]=arguments[r];t.apply(void 0,[o].concat(i))}))}},{key:"_handleClick",value:function(e){var t=N(e,this.options.selectorButton),n=N(e,this.options.selectorTrigger);t&&!t.classList.contains(this.options.classButtonDisabled)&&(g(u(o.prototype),"_handleClick",this).call(this,e),this._updateMenuState(!1)),n&&this._updateMenuState()}},{key:"_handleDocumentClick",value:function(e){this.element.contains(e.target)||this._updateMenuState(!1)}},{key:"_handleKeyDown",value:function(e){var t=this;if(N(e,this.options.selectorTrigger))13===e.which&&this._updateMenuState();else{var n,o={37:this.constructor.NAVIGATE.BACKWARD,39:this.constructor.NAVIGATE.FORWARD}[e.which];if(o){var a=(n=this.element.querySelectorAll(this.options.selectorButtonEnabled),Array.prototype.slice.call(n)),i=this.element.querySelector(this.options.selectorButtonSelected),r=Math.max(a.indexOf(i)+o,-1),s=r>=0&&r<a.length?r:r-Math.sign(r)*a.length;this.setActive(a[s],(function(e,n){if(n){var o=n.querySelector(t.options.selectorLink);o&&o.focus()}})),e.preventDefault()}}}},{key:"_updateMenuState",value:function(e){var t=this.element.querySelector(this.options.selectorMenu),n=this.element.querySelector(this.options.selectorTrigger);t&&(t.classList.toggle(this.options.classHidden,void 0===e?e:!e),t.classList.contains(this.options.classHidden)?n.classList.remove(this.options.classOpen):n.classList.add(this.options.classOpen))}},{key:"_updateTriggerText",value:function(e){var t=this.element.querySelector(this.options.selectorTriggerText);t&&(t.textContent=e.textContent)}}],[{key:"options",get:function(){var e=n.prefix;return Object.assign(Object.create(B.options),{selectorInit:"[data-tabs]",selectorMenu:".".concat(e,"--tabs__nav"),selectorTrigger:".".concat(e,"--tabs-trigger"),selectorTriggerText:".".concat(e,"--tabs-trigger-text"),selectorButton:".".concat(e,"--tabs__nav-item"),selectorButtonEnabled:".".concat(e,"--tabs__nav-item:not(.").concat(e,"--tabs__nav-item--disabled)"),selectorButtonSelected:".".concat(e,"--tabs__nav-item--selected"),selectorLink:".".concat(e,"--tabs__nav-link"),classActive:"".concat(e,"--tabs__nav-item--selected"),classHidden:"".concat(e,"--tabs__nav--hidden"),classOpen:"".concat(e,"--tabs-trigger--open"),classButtonDisabled:"".concat(e,"--tabs__nav-item--disabled"),eventBeforeSelected:"tab-beingselected",eventAfterSelected:"tab-selected"})}}]),o}(B);c(q,"components",new WeakMap),c(q,"NAVIGATE",{BACKWARD:-1,FORWARD:1});var H=q;function j(e){if(!e||"function"==typeof e)return{launchingElement:null,launchingEvent:null};var t=e.delegateTarget||e.currentTarget||e,n=e.currentTarget&&e;if(t&&!t.nodeType)throw new TypeError("DOM Node should be given for launching element.");if(n&&!n.type)throw new TypeError("DOM event should be given for launching event.");return{launchingElement:t,launchingEvent:n}}var R=[M,function(e){return function(e){l(n,e);var t=f(n);function n(){return i(this,n),t.apply(this,arguments)}return s(n,[{key:"show",value:function(e,t){e&&"function"!=typeof e||(t=e),this.changeState("shown",j(e),t)}},{key:"hide",value:function(e,t){e&&"function"!=typeof e||(t=e),this.changeState("hidden",j(e),t)}}]),n}(e)}];var V=[E,function(e){return function(e){l(n,e);var t=f(n);function n(e,o){var a;i(this,n),a=t.call(this,e,o);var r="onfocusin"in window,s=r?"focusin":"focus",c=r?"focusout":"blur";return a.manage(D(a.element.ownerDocument,s,(function(e){(a.options.contentNode||a.element).contains(e.target)||a.handleBlur(e)}),!r)),a.manage(D(a.element.ownerDocument,c,(function(e){e.relatedTarget||a.handleBlur(e)}),!r)),a}return s(n,[{key:"handleBlur",value:function(){throw new Error("Components inheriting TrackBlur mix-in must implement handleBlur() method.")}}]),n}(e)}],Y=function(){var e=[],t=!1;function n(){e.forEach((function(e){e()})),t=!1}function o(){t||(t=!0,window.requestAnimationFrame(n))}return{add:function(t){return e.length||window.addEventListener("resize",o),function(t){t&&e.indexOf(t)<0&&e.push(t)}(t),{release:function(){var n=e.indexOf(t);n>=0&&e.splice(n,1)}}}}}(),W=function(e){l(o,e);var t=f(o);function o(e,n){var a;i(this,o);var r=(a=t.call(this,e,n)).element.getAttribute(a.options.attribDirection);return a.options.direction||(a.options.direction=r||"bottom"),r||a.element.setAttribute(a.options.attribDirection,a.options.direction),a.manage(D(a.element.ownerDocument,"keydown",(function(e){a._handleKeydown(e)}))),a}return s(o,[{key:"_handleKeydown",value:function(e){var t=e.which,n=this.options,o=n.triggerNode,a=n.refNode,i=this.element.contains(e.target);switch(t){case 27:this.changeState("hidden",j(e),(function(){i&&(o||a).focus()}))}}},{key:"handleBlur",value:function(e){if(this.element.classList.contains(this.options.classShown)){this.changeState("hidden",j(e));var t=this.options,n=t.refNode,o=t.triggerNode;(null===e.relatedTarget||this.element.contains(e.relatedTarget))&&n&&e.target!==n&&HTMLElement.prototype.focus.call(o||n)}}},{key:"_getContainer",value:function(){return this.element.closest(this.options.selectorContainer)||this.element.ownerDocument.body}},{key:"_getPos",value:function(){var e=this.element,t=this.options,n=t.refNode,o=t.offset,a=t.direction;if(!n)throw new Error("Cannot find the reference node for positioning floating menu.");return function(e){var t,n=e.menuSize,o=e.refPosition,a=e.offset,i=void 0===a?{}:a,r=e.direction,s=void 0===r?"bottom":r,l=e.scrollX,u=void 0===l?0:l,d=e.scrollY,p=void 0===d?0:d,h=o.left,f=void 0===h?0:h,m=o.top,g=void 0===m?0:m,v=o.right,b=void 0===v?0:v,y=o.bottom,w=void 0===y?0:y,S=n.width,C=n.height,k=i.top,_=void 0===k?0:k,E=i.left,D=void 0===E?0:E,T=(f+b)/2,x=(g+w)/2;return(t={},c(t,"left",{left:f-S+u-D,top:x-C/2+p+_}),c(t,"top",{left:T-S/2+u+D,top:g-C+p-_}),c(t,"right",{left:b+u+D,top:x-C/2+p+_}),c(t,"bottom",{left:T-S/2+u+D,top:w+p+_}),t)[s]}({menuSize:e.getBoundingClientRect(),refPosition:n.getBoundingClientRect(),offset:"function"!=typeof o?o:o(e,a,n),direction:a,scrollX:n.ownerDocument.defaultView.pageXOffset,scrollY:n.ownerDocument.defaultView.pageYOffset})}},{key:"_testStyles",value:function(){if(this.options.debugStyle){var e=this.element,t=e.ownerDocument.defaultView.getComputedStyle(e),n={position:"absolute",right:"auto",margin:0};Object.keys(n).forEach((function(e){("number"==typeof n[e]?parseFloat(n[e]):n[e])!==t.getPropertyValue(e)&&console.warn("Floating menu component expects ".concat(e,": ").concat(n[e]," style."))}))}}},{key:"_place",value:function(){var e=this.element,t=this._getPos(),n=t.left,o=t.top;e.style.left="".concat(n,"px"),e.style.top="".concat(o,"px"),this._testStyles()}},{key:"shouldStateBeChanged",value:function(e){return("shown"===e||"hidden"===e)&&e!==(this.element.classList.contains(this.options.classShown)?"shown":"hidden")}},{key:"_changeState",value:function(e,t,o){var a=this,i="shown"===e,r=this.options,s=r.refNode,c=r.classShown,l=r.classRefShown,u=r.triggerNode;if(!s)throw new TypeError("Cannot find the reference node for changing the style.");if("shown"===e&&(this.hResize||(this.hResize=Y.add((function(){a._place()}))),this._getContainer().appendChild(this.element)),this.element.setAttribute("aria-hidden",(!i).toString()),(u||s).setAttribute("aria-expanded",i.toString()),this.element.classList.toggle(c,i),l&&s.classList.toggle(l,i),"shown"===e&&(this._place(),!this.element.hasAttribute(this.options.attribAvoidFocusOnOpen))){var d=this.element.querySelector(this.options.selectorPrimaryFocus),p=this.options.contentNode||this.element,h=p.querySelector(n.selectorTabbable),f=p.matches(n.selectorFocusable)?p:p.querySelector(n.selectorFocusable);d?d.focus():h?h.focus():f?f.focus():this.element.focus()}"hidden"===e&&this.hResize&&(this.hResize.release(),this.hResize=null),o()}},{key:"release",value:function(){this.hResize&&(this.hResize.release(),this.hResize=null),g(u(o.prototype),"release",this).call(this)}}]),o}(C(k,R,V,E));c(W,"options",{selectorContainer:"[data-floating-menu-container]",selectorPrimaryFocus:"[data-floating-menu-primary-focus]",attribDirection:"data-floating-menu-direction",attribAvoidFocusOnOpen:"data-avoid-focus-on-open",classShown:"",classRefShown:"",eventBeforeShown:"floating-menu-beingshown",eventAfterShown:"floating-menu-shown",eventBeforeHidden:"floating-menu-beinghidden",eventAfterHidden:"floating-menu-hidden",refNode:null,offset:{left:0,top:0}}),c(W,"components",new WeakMap);var U=W,K=function(){var e;return c(e={},"top","bottom"),c(e,"bottom","top"),c(e,"left","left"),c(e,"right","right"),e}(),G=function(){var e;return c(e={},"top",-2),c(e,"bottom",-1),c(e,"left",-2),c(e,"right",-1),e}(),z=function(e,t,n){var o=K[t],a=G[t];o&&a||console.warn("Wrong floating menu direction:",t);var i=e.offsetWidth,r=e.offsetHeight,s=J.components.get(n);if(!s)throw new TypeError("Overflow menu instance cannot be found.");var c=e.classList.contains(s.options.classMenuFlip);return"top"===o||"bottom"===o?{left:(c?-1:1)*(i/2-n.offsetWidth/2),top:0}:"left"===o||"right"===o?{left:0,top:(c?-1:1)*(r/2-n.offsetHeight/2)}:void 0},J=function(e){l(o,e);var t=f(o);function o(e,n){var a;return i(this,o),c(p(a=t.call(this,e,n)),"getCurrentNavigation",(function(){var e=a.element.ownerDocument.activeElement;return e.nodeType===Node.ELEMENT_NODE&&e.matches(a.options.selectorItem)?e:null})),c(p(a),"navigate",(function(e){for(var t=b(a.element.ownerDocument.querySelectorAll(a.options.selectorItem)),n=a.getCurrentNavigation()||a.element.querySelector(a.options.selectorItemSelected),o=function(n){var o=Math.max(t.indexOf(n)+e,-1);return t[function(e,t){return e+(e>=0?0:t)}(function(e,t){return e-(e<t?0:t)}(o,t.length),t.length)]},i=o(n);i&&i!==n;i=o(i))if(!i.matches(a.options.selectorItemHidden)&&!i.parentNode.matches(a.options.selectorItemHidden)&&!i.matches(a.options.selectorItemSelected)){i.focus();break}})),"button"!==a.element.getAttribute("role")&&(a.triggerNode=a.element.querySelector(a.options.selectorTrigger)),a.manage(D(a.element.ownerDocument,"click",(function(e){a._handleDocumentClick(e),a.wasOpenBeforeClick=void 0}))),a.manage(D(a.element.ownerDocument,"keydown",(function(e){a._handleKeyPress(e)}))),a.manage(D(a.element,"mousedown",(function(){a.wasOpenBeforeClick=e.classList.contains(a.options.classShown)}))),a}return s(o,[{key:"changeState",value:function(e,t,n){if(!this.optionMenu){var o=this.element.querySelector(this.options.selectorOptionMenu);if(!o)throw new Error("Cannot find the target menu.");this.optionMenu=U.create(o,{refNode:this.element,classShown:this.options.classMenuShown,classRefShown:this.options.classShown,offset:this.options.objMenuOffset,triggerNode:this.triggerNode,contentNode:this.element.querySelector(this.options.selectorContent)}),this.children.push(this.optionMenu)}this.optionMenu.element.classList.contains(this.options.classMenuFlip)&&(this.optionMenu.options.offset=this.options.objMenuOffsetFlip),this.optionMenu.changeState(e,Object.assign(t,{delegatorNode:this.element}),n)}},{key:"_handleDocumentClick",value:function(e){var t=this,n=this.element,o=this.optionMenu,a=this.wasOpenBeforeClick,i=this.triggerNode,r=n.contains(e.target),s=o&&o.element.contains(e.target),c=r&&!a?"shown":"hidden";r&&("A"===n.tagName&&e.preventDefault(),e.delegateTarget=n),s&&!N(e,this.options.selectorItem)||this.changeState(c,j(e),(function(){"hidden"===c&&s&&t[i?"triggerNode":"element"].focus()}))}},{key:"_handleKeyPress",value:function(e){var t=this,n=e.which,o=this.element,a=this.optionMenu,i=this.options,r=this.triggerNode,s=a&&a.element.contains(e.target),c=this.element.classList.contains(this.options.classShown),l=r?"triggerNode":"element";switch(n){case 13:case 32:if(!c&&this.element.ownerDocument.activeElement!==this.element)return;var u=o.contains(e.target),d=u&&!o.classList.contains(i.classShown)?"shown":"hidden";u&&(e.delegateTarget=o,e.preventDefault(),this.changeState(d,j(e),(function(){"hidden"===d&&s&&t[l].focus()})));break;case 38:case 40:if(!c)return;e.preventDefault();var p={38:-1,40:1}[e.which];this.navigate(p)}}}],[{key:"options",get:function(){var e=n.prefix;return{selectorInit:"[data-overflow-menu]",selectorOptionMenu:".".concat(e,"--overflow-menu-options"),selectorTrigger:"button[aria-haspopup]",selectorContent:".".concat(e,"--overflow-menu-options__content"),selectorItem:"\n .".concat(e,"--overflow-menu-options--open\n .").concat(e,"--overflow-menu-options__option:not(.").concat(e,"--overflow-menu-options__option--disabled) >\n .").concat(e,"--overflow-menu-options__btn\n "),classShown:"".concat(e,"--overflow-menu--open"),classMenuShown:"".concat(e,"--overflow-menu-options--open"),classMenuFlip:"".concat(e,"--overflow-menu--flip"),objMenuOffset:z,objMenuOffsetFlip:z}}}]),o}(C(k,_,R,E));c(J,"components",new WeakMap);var $=J;function X(e){var t=function(e){l(n,e);var t=f(n);function n(){return i(this,n),t.apply(this,arguments)}return s(n,null,[{key:"init",value:function(){var e=this,t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:document,n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},o=Object.assign(Object.create(this.options),n);if(!t||t.nodeType!==Node.ELEMENT_NODE&&t.nodeType!==Node.DOCUMENT_NODE)throw new TypeError("DOM document or DOM element should be given to search for and initialize this widget.");if(t.nodeType!==Node.ELEMENT_NODE||!t.matches(o.selectorInit)){var a=o.initEventNames.map((function(a){return D(t,a,(function(t){var a=N(t,"[".concat(o.attribInitTarget,"]"));if(a){t.delegateTarget=a;var i=a.ownerDocument.querySelectorAll(a.getAttribute(o.attribInitTarget));if(i.length>1)throw new Error("Target widget must be unique.");if(1===i.length){"A"===a.tagName&&t.preventDefault();var r=e.create(i[0],n);"function"==typeof r.createdByLauncher&&r.createdByLauncher(t)}}}))}));return{release:function(){for(var e=a.pop();e;e=a.pop())e.release()}}}return this.create(t,n),""}}]),n}(e);return c(t,"forLazyInit",!0),t}var Z=function(e){l(o,e);var t=f(o);function o(e,a){var r;return i(this,o),c(p(r=t.call(this,e,a)),"_handleFocusinListener",void 0),c(p(r),"_handleKeydownListener",void 0),c(p(r),"_handleFocusin",(function(e){var t=r.element.querySelector(r.options.selectorModalContainer)||r.element;r.element.classList.contains(r.options.classVisible)&&!t.contains(e.target)&&r.options.selectorsFloatingMenus.every((function(t){return!N(e,t)}))&&r.element.querySelector(n.selectorTabbable).focus()})),r._hookCloseActions(),r}return s(o,[{key:"createdByLauncher",value:function(e){this.show(e)}},{key:"shouldStateBeChanged",value:function(e){return"shown"===e?!this.element.classList.contains(this.options.classVisible):this.element.classList.contains(this.options.classVisible)}},{key:"_changeState",value:function(e,t,o){var a,i=this;if(this._handleFocusinListener&&(this._handleFocusinListener=this.unmanage(this._handleFocusinListener).release()),"shown"===e){var r="onfocusin"in this.element.ownerDocument.defaultView,s=r?"focusin":"focus";this._handleFocusinListener=this.manage(D(this.element.ownerDocument,s,this._handleFocusin,!r))}"hidden"===e?(this.element.classList.toggle(this.options.classVisible,!1),this.element.ownerDocument.body.classList.toggle(this.options.classBody,!1),(this.options.selectorFocusOnClose||this.previouslyFocusedNode)&&(this.element.ownerDocument.querySelector(this.options.selectorFocusOnClose)||this.previouslyFocusedNode).focus()):"shown"===e&&(this.element.classList.toggle(this.options.classVisible,!0),this.element.ownerDocument.body.classList.toggle(this.options.classBody,!0)),a=this.manage(D(this.element,"transitionend",(function(){(a&&(a=i.unmanage(a).release()),"shown"===e&&i.element.offsetWidth>0&&i.element.offsetHeight>0)&&(i.previouslyFocusedNode=i.element.ownerDocument.activeElement,(i.element.querySelector(i.options.selectorPrimaryFocus)||i.element.querySelector(n.selectorTabbable)).focus());o()})))}},{key:"_hookCloseActions",value:function(){var e=this;this.manage(D(this.element,"click",(function(t){var n=N(t,e.options.selectorModalClose);n&&(t.delegateTarget=n),(n||t.target===e.element)&&e.hide(t)}))),this._handleKeydownListener&&(this._handleKeydownListener=this.unmanage(this._handleKeydownListener).release()),this._handleKeydownListener=this.manage(D(this.element.ownerDocument.body,"keydown",(function(t){27===t.which&&e.shouldStateBeChanged("hidden")&&(t.stopPropagation(),e.hide(t))})))}}],[{key:"options",get:function(){var e=n.prefix;return{selectorInit:"[data-modal]",selectorModalClose:"[data-modal-close]",selectorPrimaryFocus:"[data-modal-primary-focus]",selectorsFloatingMenus:[".".concat(e,"--overflow-menu-options"),".".concat(e,"--tooltip"),".flatpickr-calendar"],selectorModalContainer:".".concat(e,"--modal-container"),classVisible:"is-visible",classBody:"".concat(e,"--body--with-modal-open"),attribInitTarget:"data-modal-target",initEventNames:["click"],eventBeforeShown:"modal-beingshown",eventAfterShown:"modal-shown",eventBeforeHidden:"modal-beinghidden",eventAfterHidden:"modal-hidden"}}}]),o}(C(k,X,R,E));c(Z,"components",new WeakMap);var Q=Z,ee=function(e){l(o,e);var t=f(o);function o(e,n){var a;return i(this,o),(a=t.call(this,e,n)).active=a.options.active,a.set(a.active),a}return s(o,[{key:"set",value:function(e){if("boolean"!=typeof e)throw new TypeError("set expects a boolean.");this.active=e,this.element.classList.toggle(this.options.classLoadingStop,!this.active);var t=this.element.parentNode;return t&&t.classList.contains(this.options.classLoadingOverlay)&&t.classList.toggle(this.options.classLoadingOverlayStop,!this.active),this}},{key:"toggle",value:function(){return this.set(!this.active)}},{key:"isActive",value:function(){return this.active}},{key:"end",value:function(){var e=this;this.set(!1);var t=this.manage(D(this.element,"animationend",(function(n){t&&(t=e.unmanage(t).release()),"rotate-end-p2"===n.animationName&&e._deleteElement()})))}},{key:"_deleteElement",value:function(){var e=this.element.parentNode;e.removeChild(this.element),e.classList.contains(this.options.selectorLoadingOverlay)&&e.remove()}}],[{key:"options",get:function(){var e=n.prefix;return{selectorInit:"[data-loading]",selectorLoadingOverlay:".".concat(e,"--loading-overlay"),classLoadingOverlay:"".concat(e,"--loading-overlay"),classLoadingStop:"".concat(e,"--loading--stop"),classLoadingOverlayStop:"".concat(e,"--loading-overlay--stop"),active:!0}}}]),o}(C(k,_,E));c(ee,"components",new WeakMap);var te=ee;function ne(e,t,n){n?e.setAttribute(t,""):e.removeAttribute(t)}var oe=function(e){l(o,e);var t=f(o);function o(e,n){var a;i(this,o);var r=(a=t.call(this,e,n)).options.initialState;return r&&a.setState(r),a}return s(o,[{key:"setState",value:function(e){var t=this.constructor.states,n=Object.keys(t).map((function(e){return t[e]}));if(n.indexOf(e)<0)throw new Error("One of the following value should be given as the state: ".concat(n.join(", ")));var o=this.element,a=this.options,i=a.selectorSpinner,r=a.selectorFinished,s=a.selectorError,c=a.selectorTextActive,l=a.selectorTextFinished,u=a.selectorTextError,d=o.querySelector(i),p=o.querySelector(r),h=o.querySelector(s),f=o.querySelector(c),m=o.querySelector(l),g=o.querySelector(u);return d&&(d.classList.toggle(this.options.classLoadingStop,e!==t.ACTIVE),ne(d,"hidden",e!==t.INACTIVE&&e!==t.ACTIVE)),p&&ne(p,"hidden",e!==t.FINISHED),h&&ne(h,"hidden",e!==t.ERROR),f&&ne(f,"hidden",e!==t.ACTIVE),m&&ne(m,"hidden",e!==t.FINISHED),g&&ne(g,"hidden",e!==t.ERROR),this}}],[{key:"options",get:function(){return{selectorInit:"[data-inline-loading]",selectorSpinner:"[data-inline-loading-spinner]",selectorFinished:"[data-inline-loading-finished]",selectorError:"[data-inline-loading-error]",selectorTextActive:"[data-inline-loading-text-active]",selectorTextFinished:"[data-inline-loading-text-finished]",selectorTextError:"[data-inline-loading-text-error]",classLoadingStop:"".concat(n.prefix,"--loading--stop")}}}]),o}(C(k,_,E));c(oe,"states",{INACTIVE:"inactive",ACTIVE:"active",FINISHED:"finished",ERROR:"error"}),c(oe,"components",new WeakMap);var ae=oe,ie=function(e){return Array.prototype.slice.call(e)},re=function(e){l(o,e);var t=f(o);function o(e,n){var a;return i(this,o),(a=t.call(this,e,n)).manage(D(a.element.ownerDocument,"click",(function(e){a._toggle(e)}))),a.manage(D(a.element,"keydown",(function(e){a._handleKeyDown(e)}))),a.manage(D(a.element,"click",(function(e){var t=N(e,a.options.selectorItem);t&&a.select(t)}))),a.element.querySelector(a.options.selectorTrigger)&&a.element.querySelector(a.options.selectorMenu)&&a.manage(D(a.element,"mouseover",(function(e){var t=N(e,a.options.selectorItem);t&&a._updateFocus(t)}))),a}return s(o,[{key:"_handleKeyDown",value:function(e){var t=this.element.classList.contains(this.options.classOpen),n={38:this.constructor.NAVIGATE.BACKWARD,40:this.constructor.NAVIGATE.FORWARD}[e.which];if(t&&void 0!==n)this.navigate(n),e.preventDefault();else{var o=this.getCurrentNavigation();!o||!t||13!==e.which&&32!==e.which||this.element.ownerDocument.activeElement.matches(this.options.selectorItem)||(e.preventDefault(),this.select(o)),this._toggle(e)}}},{key:"_focusCleanup",value:function(){var e=this.element.querySelector(this.options.selectorTrigger)?this.element.querySelector(this.options.selectorMenu):null;if(e){e.removeAttribute("aria-activedescendant");var t=this.element.querySelector(this.options.selectorItemFocused);t&&t.classList.remove(this.options.classFocused)}}},{key:"_updateFocus",value:function(e){var t=this.element.querySelector(this.options.selectorTrigger)?this.element.querySelector(this.options.selectorMenu):null,n=t.querySelector(this.options.selectorItemFocused);e.classList.add(this.options.classFocused),t.setAttribute("aria-activedescendant",e.id),n&&n.classList.remove(this.options.classFocused)}},{key:"_toggle",value:function(e){var t=this;if(!this.element.classList.contains(this.options.classDisabled)){var n=this.element.querySelector(this.options.selectorTrigger);if(40===e.which&&!e.target.matches(this.options.selectorItem)||(!n||!n.contains(e.target))&&[13,32].indexOf(e.which)>=0&&!e.target.matches(this.options.selectorItem)||27===e.which||"click"===e.type){var o=this.element.classList.contains(this.options.classOpen),a=this.element.contains(e.target),i={add:a&&40===e.which&&!o,remove:(!a||27===e.which)&&o,toggle:a&&27!==e.which&&40!==e.which},r=!1;Object.keys(i).forEach((function(e){i[e]&&(r=!0,t.element.classList[e](t.options.classOpen))}));var s=ie(this.element.querySelectorAll(this.options.selectorItem)),c=n?this.element.querySelector(this.options.selectorMenu):null;if(r&&this.element.classList.contains(this.options.classOpen)){if(n&&n.setAttribute("aria-expanded","true"),(c||this.element).focus(),c){var l=c.querySelector(this.options.selectorLinkSelected);c.setAttribute("aria-activedescendant",(l||s[0]).id),(l||s[0]).classList.add(this.options.classFocused)}}else r&&(a||i.remove)&&(setTimeout((function(){return(n||t.element).focus()}),0),n&&n.setAttribute("aria-expanded","false"),this._focusCleanup());n||s.forEach((function(e){t.element.classList.contains(t.options.classOpen)?e.tabIndex=0:e.tabIndex=-1}));var u=this.element.querySelector(this.options.selectorMenu);u&&(u.tabIndex=this.element.classList.contains(this.options.classOpen)?"0":"-1")}}}},{key:"getCurrentNavigation",value:function(){var e;if(this.element.querySelector(this.options.selectorTrigger)){var t=this.element.querySelector(this.options.selectorMenu),n=t.getAttribute("aria-activedescendant");e=n?t.querySelector("#".concat(n)):null}else{var o=this.element.ownerDocument.activeElement;e=o.nodeType===Node.ELEMENT_NODE&&o.matches(this.options.selectorItem)?o:null}return e}},{key:"navigate",value:function(e){for(var t=ie(this.element.querySelectorAll(this.options.selectorItem)),n=this.getCurrentNavigation()||this.element.querySelector(this.options.selectorLinkSelected),o=function(n){var o,a,i=Math.max(t.indexOf(n)+e,-1);return t[function(e,t){return e+(e>=0?0:t)}((o=i,a=t.length,o-(o<a?0:a)),t.length)]},a=this.element.classList.contains(this.options.classShowSelected),i=o(n);i&&i!==n;i=o(i))if(!i.matches(this.options.selectorItemHidden)&&!i.parentNode.matches(this.options.selectorItemHidden)&&(a||!a&&!i.parentElement.matches(this.options.selectorItemSelected))){this.element.querySelector(this.options.selectorTrigger)?this._updateFocus(i):i.focus();break}}},{key:"select",value:function(e){var t=this,n=new CustomEvent(this.options.eventBeforeSelected,{bubbles:!0,cancelable:!0,detail:{item:e}});if(this.element.dispatchEvent(n)){if("navigation"!==this.element.dataset.dropdownType){var o=this.element.querySelector(this.options.selectorTrigger)||"inline"===this.element.dataset.dropdownType?this.options.selectorTextInner:this.options.selectorText,a=this.element.querySelector(o);a&&(a.innerHTML=e.innerHTML),e.parentElement.classList.add(this.options.classSelected)}this.element.dataset.value=e.parentElement.dataset.value,ie(this.element.querySelectorAll(this.options.selectorLinkSelected)).forEach((function(n){e!==n&&n.parentElement.classList.remove(t.options.classSelected)})),this.element.dispatchEvent(new CustomEvent(this.options.eventAfterSelected,{bubbles:!0,cancelable:!0,detail:{item:e}}))}}},{key:"handleBlur",value:function(){this.element.classList.remove(this.options.classOpen),this._focusCleanup()}}],[{key:"options",get:function(){var e=n.prefix;return{selectorInit:"[data-dropdown]",selectorTrigger:"button.".concat(e,"--dropdown-text"),selectorMenu:".".concat(e,"--dropdown-list"),selectorText:".".concat(e,"--dropdown-text"),selectorTextInner:".".concat(e,"--dropdown-text__inner"),selectorItem:".".concat(e,"--dropdown-link"),selectorItemSelected:".".concat(e,"--dropdown--selected"),selectorItemFocused:".".concat(e,"--dropdown--focused"),selectorItemHidden:'[hidden],[aria-hidden="true"]',selectorLinkSelected:".".concat(e,"--dropdown--selected .").concat(e,"--dropdown-link"),classShowSelected:"".concat(e,"--dropdown--show-selected"),classSelected:"".concat(e,"--dropdown--selected"),classFocused:"".concat(e,"--dropdown--focused"),classOpen:"".concat(e,"--dropdown--open"),classDisabled:"".concat(e,"--dropdown--disabled"),eventBeforeSelected:"dropdown-beingselected",eventAfterSelected:"dropdown-selected"}}}]),o}(C(k,_,V));c(re,"components",new WeakMap),c(re,"NAVIGATE",{BACKWARD:-1,FORWARD:1});var se=re,ce=function(e){l(o,e);var t=f(o);function o(e,n){var a;return i(this,o),(a=t.call(this,e,n)).manage(D(a.element.querySelector(".up-icon"),"click",(function(e){a._handleClick(e)}))),a.manage(D(a.element.querySelector(".down-icon"),"click",(function(e){a._handleClick(e)}))),a}return s(o,[{key:"_handleClick",value:function(e){var t=this.element.querySelector(this.options.selectorInput),n=e.currentTarget.getAttribute("class").split(" "),o=Number(t.min),a=Number(t.max),i=Number(t.step)||1;if(n.indexOf("up-icon")>=0){var r=Number(t.value)+i;""===t.max?t.value=r:t.value<a&&(t.value=r>a?a:r<o?o:r)}else if(n.indexOf("down-icon")>=0){var s=Number(t.value)-i;""===t.min?t.value=s:t.value>o&&(t.value=s<o?o:s>a?a:s)}t.dispatchEvent(new CustomEvent("change",{bubbles:!0,cancelable:!1}))}}],[{key:"options",get:function(){return{selectorInit:"[data-numberinput]",selectorInput:".".concat(n.prefix,"--number input")}}}]),o}(C(k,_,E));c(ce,"components",new WeakMap);var le=ce,ue=function(e){return Array.prototype.slice.call(e)},de=function(e){l(o,e);var t=f(o);function o(e,n){var a;return i(this,o),c(p(a=t.call(this,e,n)),"_sortToggle",(function(e){var t=e.element,n=e.previousValue;ue(a.tableHeaders).forEach((function(e){var n=e.querySelector(a.options.selectorTableSort);null!==n&&n!==t&&(n.classList.remove(a.options.classTableSortActive),n.classList.remove(a.options.classTableSortAscending))})),n?"ascending"===n?(t.dataset.previousValue="descending",t.classList.add(a.options.classTableSortActive),t.classList.remove(a.options.classTableSortAscending)):"descending"===n&&(t.removeAttribute("data-previous-value"),t.classList.remove(a.options.classTableSortActive),t.classList.remove(a.options.classTableSortAscending)):(t.dataset.previousValue="ascending",t.classList.add(a.options.classTableSortActive),t.classList.add(a.options.classTableSortAscending))})),c(p(a),"_selectToggle",(function(e){var t=e.element,n=t.checked;a.state.checkboxCount+=n?1:-1,a.countEl.textContent=a.state.checkboxCount,t.parentNode.parentNode.classList.toggle(a.options.classTableSelected),a._actionBarToggle(a.state.checkboxCount>0)})),c(p(a),"_selectAllToggle",(function(e){var t=e.element.checked,n=ue(a.element.querySelectorAll(a.options.selectorCheckbox));a.state.checkboxCount=t?n.length-1:0,n.forEach((function(e){e.checked=t;var n=e.parentNode.parentNode;t&&n?n.classList.add(a.options.classTableSelected):n.classList.remove(a.options.classTableSelected)})),a._actionBarToggle(a.state.checkboxCount>0),a.batchActionEl&&(a.countEl.textContent=a.state.checkboxCount)})),c(p(a),"_actionBarCancel",(function(){var e=ue(a.element.querySelectorAll(a.options.selectorCheckbox));ue(a.element.querySelectorAll(a.options.selectorTableSelected)).forEach((function(e){e.classList.remove(a.options.classTableSelected)})),e.forEach