{"version":3,"file":"js/vendors-326461f8.min.js?t=1743075070513","mappings":"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","sources":["webpack://frontend/./node_modules/@vonage/vivid/shared/form-associated.js","webpack://frontend/./node_modules/@vonage/vivid/shared/icon.js","webpack://frontend/./node_modules/@vonage/vivid/shared/enums.js"],"sourcesContent":["import { a as attr, o as observable, e as emptyArray, D as DOM, c as booleanConverter } from './index.js';\nimport { k as keyEnter } from './key-codes.js';\n\nconst proxySlotName = \"form-associated-proxy\";\nconst ElementInternalsKey = \"ElementInternals\";\n/**\n * @alpha\n */\nconst supportsElementInternals = ElementInternalsKey in window &&\n \"setFormValue\" in window[ElementInternalsKey].prototype;\nconst InternalsMap = new WeakMap();\n/**\n * Base function for providing Custom Element Form Association.\n *\n * @alpha\n */\nfunction FormAssociated(BaseCtor) {\n const C = class extends BaseCtor {\n constructor(...args) {\n super(...args);\n /**\n * Track whether the value has been changed from the initial value\n */\n this.dirtyValue = false;\n /**\n * Sets the element's disabled state. A disabled element will not be included during form submission.\n *\n * @remarks\n * HTML Attribute: disabled\n */\n this.disabled = false;\n /**\n * These are events that are still fired by the proxy\n * element based on user / programmatic interaction.\n *\n * The proxy implementation should be transparent to\n * the app author, so block these events from emitting.\n */\n this.proxyEventsToBlock = [\"change\", \"click\"];\n this.proxyInitialized = false;\n this.required = false;\n this.initialValue = this.initialValue || \"\";\n if (!this.elementInternals) {\n // When elementInternals is not supported, formResetCallback is\n // bound to an event listener, so ensure the handler's `this`\n // context is correct.\n this.formResetCallback = this.formResetCallback.bind(this);\n }\n }\n /**\n * Must evaluate to true to enable elementInternals.\n * Feature detects API support and resolve respectively\n *\n * @internal\n */\n static get formAssociated() {\n return supportsElementInternals;\n }\n /**\n * Returns the validity state of the element\n *\n * @alpha\n */\n get validity() {\n return this.elementInternals\n ? this.elementInternals.validity\n : this.proxy.validity;\n }\n /**\n * Retrieve a reference to the associated form.\n * Returns null if not associated to any form.\n *\n * @alpha\n */\n get form() {\n return this.elementInternals ? this.elementInternals.form : this.proxy.form;\n }\n /**\n * Retrieve the localized validation message,\n * or custom validation message if set.\n *\n * @alpha\n */\n get validationMessage() {\n return this.elementInternals\n ? this.elementInternals.validationMessage\n : this.proxy.validationMessage;\n }\n /**\n * Whether the element will be validated when the\n * form is submitted\n */\n get willValidate() {\n return this.elementInternals\n ? this.elementInternals.willValidate\n : this.proxy.willValidate;\n }\n /**\n * A reference to all associated label elements\n */\n get labels() {\n if (this.elementInternals) {\n return Object.freeze(Array.from(this.elementInternals.labels));\n }\n else if (this.proxy instanceof HTMLElement &&\n this.proxy.ownerDocument &&\n this.id) {\n // Labels associated by wrapping the element: \n const parentLabels = this.proxy.labels;\n // Labels associated using the `for` attribute\n const forLabels = Array.from(this.proxy.getRootNode().querySelectorAll(`[for='${this.id}']`));\n const labels = parentLabels\n ? forLabels.concat(Array.from(parentLabels))\n : forLabels;\n return Object.freeze(labels);\n }\n else {\n return emptyArray;\n }\n }\n /**\n * Invoked when the `value` property changes\n * @param previous - the previous value\n * @param next - the new value\n *\n * @remarks\n * If elements extending `FormAssociated` implement a `valueChanged` method\n * They must be sure to invoke `super.valueChanged(previous, next)` to ensure\n * proper functioning of `FormAssociated`\n */\n valueChanged(previous, next) {\n this.dirtyValue = true;\n if (this.proxy instanceof HTMLElement) {\n this.proxy.value = this.value;\n }\n this.currentValue = this.value;\n this.setFormValue(this.value);\n this.validate();\n }\n currentValueChanged() {\n this.value = this.currentValue;\n }\n /**\n * Invoked when the `initialValue` property changes\n *\n * @param previous - the previous value\n * @param next - the new value\n *\n * @remarks\n * If elements extending `FormAssociated` implement a `initialValueChanged` method\n * They must be sure to invoke `super.initialValueChanged(previous, next)` to ensure\n * proper functioning of `FormAssociated`\n */\n initialValueChanged(previous, next) {\n // If the value is clean and the component is connected to the DOM\n // then set value equal to the attribute value.\n if (!this.dirtyValue) {\n this.value = this.initialValue;\n this.dirtyValue = false;\n }\n }\n /**\n * Invoked when the `disabled` property changes\n *\n * @param previous - the previous value\n * @param next - the new value\n *\n * @remarks\n * If elements extending `FormAssociated` implement a `disabledChanged` method\n * They must be sure to invoke `super.disabledChanged(previous, next)` to ensure\n * proper functioning of `FormAssociated`\n */\n disabledChanged(previous, next) {\n if (this.proxy instanceof HTMLElement) {\n this.proxy.disabled = this.disabled;\n }\n DOM.queueUpdate(() => this.classList.toggle(\"disabled\", this.disabled));\n }\n /**\n * Invoked when the `name` property changes\n *\n * @param previous - the previous value\n * @param next - the new value\n *\n * @remarks\n * If elements extending `FormAssociated` implement a `nameChanged` method\n * They must be sure to invoke `super.nameChanged(previous, next)` to ensure\n * proper functioning of `FormAssociated`\n */\n nameChanged(previous, next) {\n if (this.proxy instanceof HTMLElement) {\n this.proxy.name = this.name;\n }\n }\n /**\n * Invoked when the `required` property changes\n *\n * @param previous - the previous value\n * @param next - the new value\n *\n * @remarks\n * If elements extending `FormAssociated` implement a `requiredChanged` method\n * They must be sure to invoke `super.requiredChanged(previous, next)` to ensure\n * proper functioning of `FormAssociated`\n */\n requiredChanged(prev, next) {\n if (this.proxy instanceof HTMLElement) {\n this.proxy.required = this.required;\n }\n DOM.queueUpdate(() => this.classList.toggle(\"required\", this.required));\n this.validate();\n }\n /**\n * The element internals object. Will only exist\n * in browsers supporting the attachInternals API\n */\n get elementInternals() {\n if (!supportsElementInternals) {\n return null;\n }\n let internals = InternalsMap.get(this);\n if (!internals) {\n internals = this.attachInternals();\n InternalsMap.set(this, internals);\n }\n return internals;\n }\n /**\n * @internal\n */\n connectedCallback() {\n super.connectedCallback();\n this.addEventListener(\"keypress\", this._keypressHandler);\n if (!this.value) {\n this.value = this.initialValue;\n this.dirtyValue = false;\n }\n if (!this.elementInternals) {\n this.attachProxy();\n if (this.form) {\n this.form.addEventListener(\"reset\", this.formResetCallback);\n }\n }\n }\n /**\n * @internal\n */\n disconnectedCallback() {\n super.disconnectedCallback();\n this.proxyEventsToBlock.forEach(name => this.proxy.removeEventListener(name, this.stopPropagation));\n if (!this.elementInternals && this.form) {\n this.form.removeEventListener(\"reset\", this.formResetCallback);\n }\n }\n /**\n * Return the current validity of the element.\n */\n checkValidity() {\n return this.elementInternals\n ? this.elementInternals.checkValidity()\n : this.proxy.checkValidity();\n }\n /**\n * Return the current validity of the element.\n * If false, fires an invalid event at the element.\n */\n reportValidity() {\n return this.elementInternals\n ? this.elementInternals.reportValidity()\n : this.proxy.reportValidity();\n }\n /**\n * Set the validity of the control. In cases when the elementInternals object is not\n * available (and the proxy element is used to report validity), this function will\n * do nothing unless a message is provided, at which point the setCustomValidity method\n * of the proxy element will be invoked with the provided message.\n * @param flags - Validity flags\n * @param message - Optional message to supply\n * @param anchor - Optional element used by UA to display an interactive validation UI\n */\n setValidity(flags, message, anchor) {\n if (this.elementInternals) {\n this.elementInternals.setValidity(flags, message, anchor);\n }\n else if (typeof message === \"string\") {\n this.proxy.setCustomValidity(message);\n }\n }\n /**\n * Invoked when a connected component's form or fieldset has its disabled\n * state changed.\n * @param disabled - the disabled value of the form / fieldset\n */\n formDisabledCallback(disabled) {\n this.disabled = disabled;\n }\n formResetCallback() {\n this.value = this.initialValue;\n this.dirtyValue = false;\n }\n /**\n * Attach the proxy element to the DOM\n */\n attachProxy() {\n var _a;\n if (!this.proxyInitialized) {\n this.proxyInitialized = true;\n this.proxy.style.display = \"none\";\n this.proxyEventsToBlock.forEach(name => this.proxy.addEventListener(name, this.stopPropagation));\n // These are typically mapped to the proxy during\n // property change callbacks, but during initialization\n // on the initial call of the callback, the proxy is\n // still undefined. We should find a better way to address this.\n this.proxy.disabled = this.disabled;\n this.proxy.required = this.required;\n if (typeof this.name === \"string\") {\n this.proxy.name = this.name;\n }\n if (typeof this.value === \"string\") {\n this.proxy.value = this.value;\n }\n this.proxy.setAttribute(\"slot\", proxySlotName);\n this.proxySlot = document.createElement(\"slot\");\n this.proxySlot.setAttribute(\"name\", proxySlotName);\n }\n (_a = this.shadowRoot) === null || _a === void 0 ? void 0 : _a.appendChild(this.proxySlot);\n this.appendChild(this.proxy);\n }\n /**\n * Detach the proxy element from the DOM\n */\n detachProxy() {\n var _a;\n this.removeChild(this.proxy);\n (_a = this.shadowRoot) === null || _a === void 0 ? void 0 : _a.removeChild(this.proxySlot);\n }\n /** {@inheritDoc (FormAssociated:interface).validate} */\n validate(anchor) {\n if (this.proxy instanceof HTMLElement) {\n this.setValidity(this.proxy.validity, this.proxy.validationMessage, anchor);\n }\n }\n /**\n * Associates the provided value (and optional state) with the parent form.\n * @param value - The value to set\n * @param state - The state object provided to during session restores and when autofilling.\n */\n setFormValue(value, state) {\n if (this.elementInternals) {\n this.elementInternals.setFormValue(value, state || value);\n }\n }\n _keypressHandler(e) {\n switch (e.key) {\n case keyEnter:\n if (this.form instanceof HTMLFormElement) {\n // Implicit submission\n const defaultButton = this.form.querySelector(\"[type=submit]\");\n defaultButton === null || defaultButton === void 0 ? void 0 : defaultButton.click();\n }\n break;\n }\n }\n /**\n * Used to stop propagation of proxy element events\n * @param e - Event object\n */\n stopPropagation(e) {\n e.stopPropagation();\n }\n };\n attr({ mode: \"boolean\" })(C.prototype, \"disabled\");\n attr({ mode: \"fromView\", attribute: \"value\" })(C.prototype, \"initialValue\");\n attr({ attribute: \"current-value\" })(C.prototype, \"currentValue\");\n attr(C.prototype, \"name\");\n attr({ mode: \"boolean\" })(C.prototype, \"required\");\n observable(C.prototype, \"value\");\n return C;\n}\n/**\n * @alpha\n */\nfunction CheckableFormAssociated(BaseCtor) {\n class C extends FormAssociated(BaseCtor) {\n }\n class D extends C {\n constructor(...args) {\n super(args);\n /**\n * Tracks whether the \"checked\" property has been changed.\n * This is necessary to provide consistent behavior with\n * normal input checkboxes\n */\n this.dirtyChecked = false;\n /**\n * Provides the default checkedness of the input element\n * Passed down to proxy\n *\n * @public\n * @remarks\n * HTML Attribute: checked\n */\n this.checkedAttribute = false;\n /**\n * The checked state of the control.\n *\n * @public\n */\n this.checked = false;\n // Re-initialize dirtyChecked because initialization of other values\n // causes it to become true\n this.dirtyChecked = false;\n }\n checkedAttributeChanged() {\n this.defaultChecked = this.checkedAttribute;\n }\n /**\n * @internal\n */\n defaultCheckedChanged() {\n if (!this.dirtyChecked) {\n // Setting this.checked will cause us to enter a dirty state,\n // but if we are clean when defaultChecked is changed, we want to stay\n // in a clean state, so reset this.dirtyChecked\n this.checked = this.defaultChecked;\n this.dirtyChecked = false;\n }\n }\n checkedChanged(prev, next) {\n if (!this.dirtyChecked) {\n this.dirtyChecked = true;\n }\n this.currentChecked = this.checked;\n this.updateForm();\n if (this.proxy instanceof HTMLInputElement) {\n this.proxy.checked = this.checked;\n }\n if (prev !== undefined) {\n this.$emit(\"change\");\n }\n this.validate();\n }\n currentCheckedChanged(prev, next) {\n this.checked = this.currentChecked;\n }\n updateForm() {\n const value = this.checked ? this.value : null;\n this.setFormValue(value, value);\n }\n connectedCallback() {\n super.connectedCallback();\n this.updateForm();\n }\n formResetCallback() {\n super.formResetCallback();\n this.checked = !!this.checkedAttribute;\n this.dirtyChecked = false;\n }\n }\n attr({ attribute: \"checked\", mode: \"boolean\" })(D.prototype, \"checkedAttribute\");\n attr({ attribute: \"current-checked\", converter: booleanConverter })(D.prototype, \"currentChecked\");\n observable(D.prototype, \"defaultChecked\");\n observable(D.prototype, \"checked\");\n return D;\n}\n\nexport { CheckableFormAssociated as C, FormAssociated as F };\n","import { _ as _curry1, a as _curry2, b as _has } from './_has.js';\nimport { a as attr, F as FoundationElement, o as observable, v as volatile } from './index.js';\n\nfunction _arity(n, fn) {\n /* eslint-disable no-unused-vars */\n switch (n) {\n case 0:\n return function () {\n return fn.apply(this, arguments);\n };\n\n case 1:\n return function (a0) {\n return fn.apply(this, arguments);\n };\n\n case 2:\n return function (a0, a1) {\n return fn.apply(this, arguments);\n };\n\n case 3:\n return function (a0, a1, a2) {\n return fn.apply(this, arguments);\n };\n\n case 4:\n return function (a0, a1, a2, a3) {\n return fn.apply(this, arguments);\n };\n\n case 5:\n return function (a0, a1, a2, a3, a4) {\n return fn.apply(this, arguments);\n };\n\n case 6:\n return function (a0, a1, a2, a3, a4, a5) {\n return fn.apply(this, arguments);\n };\n\n case 7:\n return function (a0, a1, a2, a3, a4, a5, a6) {\n return fn.apply(this, arguments);\n };\n\n case 8:\n return function (a0, a1, a2, a3, a4, a5, a6, a7) {\n return fn.apply(this, arguments);\n };\n\n case 9:\n return function (a0, a1, a2, a3, a4, a5, a6, a7, a8) {\n return fn.apply(this, arguments);\n };\n\n case 10:\n return function (a0, a1, a2, a3, a4, a5, a6, a7, a8, a9) {\n return fn.apply(this, arguments);\n };\n\n default:\n throw new Error('First argument to _arity must be a non-negative integer no greater than ten');\n }\n}\n\nfunction _identity(x) {\n return x;\n}\n\n/**\n * A function that does nothing but return the parameter supplied to it. Good\n * as a default or placeholder function.\n *\n * @func\n * @memberOf R\n * @since v0.1.0\n * @category Function\n * @sig a -> a\n * @param {*} x The value to return.\n * @return {*} The input value, `x`.\n * @example\n *\n * R.identity(1); //=> 1\n *\n * const obj = {};\n * R.identity(obj) === obj; //=> true\n * @symb R.identity(a) = a\n */\n\nvar identity =\n/*#__PURE__*/\n_curry1(_identity);\n\n/**\n * Creates a new function that, when invoked, caches the result of calling `fn`\n * for a given argument set and returns the result. Subsequent calls to the\n * memoized `fn` with the same argument set will not result in an additional\n * call to `fn`; instead, the cached result for that set of arguments will be\n * returned.\n *\n * Care must be taken when implementing key generation to avoid key collision,\n * or if tracking references, memory leaks and mutating arguments.\n *\n * @func\n * @memberOf R\n * @since v0.24.0\n * @category Function\n * @sig (*... -> String) -> (*... -> a) -> (*... -> a)\n * @param {Function} fn The function to generate the cache key.\n * @param {Function} fn The function to memoize.\n * @return {Function} Memoized version of `fn`.\n * @example\n *\n * let count = 0;\n * const factorial = R.memoizeWith(Number, n => {\n * count += 1;\n * return R.product(R.range(1, n + 1));\n * });\n * factorial(5); //=> 120\n * factorial(5); //=> 120\n * factorial(5); //=> 120\n * count; //=> 1\n */\n\nvar memoizeWith =\n/*#__PURE__*/\n_curry2(function memoizeWith(mFn, fn) {\n var cache = {};\n return _arity(fn.length, function () {\n var key = mFn.apply(this, arguments);\n\n if (!_has(key, cache)) {\n cache[key] = fn.apply(this, arguments);\n }\n\n return cache[key];\n });\n});\n\nconst ICONS_BASE_URL = \"https://icon.resources.vonage.com\";\nconst ICONS_VERSION = \"4.5.9\";\n\nconst numberConverter = {\n toView(value) {\n if (value === void 0) {\n return null;\n }\n return value.toString();\n },\n fromView(value) {\n if (typeof value === \"string\") {\n value = parseFloat(value.toString());\n }\n if (typeof value !== \"number\") {\n return void 0;\n }\n return isNaN(value) || !isFinite(value) ? void 0 : value;\n }\n};\n\nconst PLACEHOLDER_ICON = `\n \n \n \n \n \n \n \n \n \n \n`;\n\nvar __defProp = Object.defineProperty;\nvar __getOwnPropDesc = Object.getOwnPropertyDescriptor;\nvar __decorateClass = (decorators, target, key, kind) => {\n var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc(target, key) : target;\n for (var i = decorators.length - 1, decorator; i >= 0; i--)\n if (decorator = decorators[i])\n result = (kind ? decorator(target, key, result) : decorator(result)) || result;\n if (kind && result)\n __defProp(target, key, result);\n return result;\n};\nconst PLACEHOLDER_DELAY = 500;\nconst PLACEHOLDER_TIMEOUT = 2e3;\nconst baseUrlTemplate = (resource, version) => [ICONS_BASE_URL, `v${version}`, resource].join(\"/\");\nconst assertIsValidResponse = ({ ok, headers }) => {\n if (!ok || headers.get(\"content-type\") !== \"image/svg+xml\") {\n throw new Error(\"Something went wrong\");\n }\n};\nconst extractSvg = (response) => {\n assertIsValidResponse(response);\n return response.text();\n};\nconst loadSvg = (iconId) => fetch(baseUrlTemplate([iconId, \"svg\"].join(\".\"), ICONS_VERSION)).then(\n extractSvg\n);\nconst resolveIcon = memoizeWith(\n identity,\n (iconId = \"\") => iconId.trim() ? loadSvg(iconId) : Promise.resolve(\"\")\n);\nclass Icon extends FoundationElement {\n constructor() {\n super(...arguments);\n this.iconLoaded = false;\n }\n get iconUrl() {\n return !this.name ? this._svg : baseUrlTemplate(`${this.name}.svg`, ICONS_VERSION);\n }\n async nameChanged() {\n this._svg = void 0;\n this.iconLoaded = false;\n let timeout = setTimeout(() => {\n this._svg = PLACEHOLDER_ICON;\n timeout = setTimeout(() => {\n if (this._svg === PLACEHOLDER_ICON) {\n this._svg = void 0;\n }\n }, PLACEHOLDER_TIMEOUT);\n }, PLACEHOLDER_DELAY);\n await resolveIcon(this.name).then((svg) => {\n this._svg = svg;\n }).catch(() => {\n this._svg = void 0;\n }).finally(() => {\n clearTimeout(timeout);\n this.iconLoaded = true;\n });\n }\n}\n__decorateClass([\n attr\n], Icon.prototype, \"connotation\", 2);\n__decorateClass([\n attr({ converter: numberConverter })\n], Icon.prototype, \"size\", 2);\n__decorateClass([\n observable\n], Icon.prototype, \"_svg\", 2);\n__decorateClass([\n observable\n], Icon.prototype, \"iconLoaded\", 2);\n__decorateClass([\n attr\n], Icon.prototype, \"name\", 2);\n__decorateClass([\n volatile\n], Icon.prototype, \"iconUrl\", 1);\n\nexport { Icon as I, memoizeWith as m };\n","var Connotation = /* @__PURE__ */ ((Connotation2) => {\n Connotation2[\"Accent\"] = \"accent\";\n Connotation2[\"CTA\"] = \"cta\";\n Connotation2[\"Success\"] = \"success\";\n Connotation2[\"Alert\"] = \"alert\";\n Connotation2[\"Warning\"] = \"warning\";\n Connotation2[\"Information\"] = \"information\";\n Connotation2[\"Announcement\"] = \"announcement\";\n return Connotation2;\n})(Connotation || {});\nvar ConnotationDecorative = /* @__PURE__ */ ((ConnotationDecorative2) => {\n ConnotationDecorative2[\"Pacific\"] = \"pacific\";\n return ConnotationDecorative2;\n})(ConnotationDecorative || {});\nvar Shape = /* @__PURE__ */ ((Shape2) => {\n Shape2[\"Rounded\"] = \"rounded\";\n Shape2[\"Pill\"] = \"pill\";\n Shape2[\"Circled\"] = \"circled\";\n Shape2[\"Sharp\"] = \"sharp\";\n return Shape2;\n})(Shape || {});\nvar Appearance = /* @__PURE__ */ ((Appearance2) => {\n Appearance2[\"Filled\"] = \"filled\";\n Appearance2[\"Outlined\"] = \"outlined\";\n Appearance2[\"Duotone\"] = \"duotone\";\n Appearance2[\"Fieldset\"] = \"fieldset\";\n Appearance2[\"Subtle\"] = \"subtle\";\n Appearance2[\"Ghost\"] = \"ghost\";\n Appearance2[\"GhostLight\"] = \"ghost-light\";\n Appearance2[\"OutlinedLight\"] = \"outlined-light\";\n Appearance2[\"Listitem\"] = \"listitem\";\n Appearance2[\"Elevated\"] = \"elevated\";\n return Appearance2;\n})(Appearance || {});\nvar Size = /* @__PURE__ */ ((Size2) => {\n Size2[\"UltraCondensed\"] = \"ultra-condensed\";\n Size2[\"SuperCondensed\"] = \"super-condensed\";\n Size2[\"ExtraCondensed\"] = \"extra-condensed\";\n Size2[\"SemiCondensed\"] = \"semi-condensed\";\n Size2[\"Condensed\"] = \"condensed\";\n Size2[\"Normal\"] = \"normal\";\n Size2[\"SemiExpanded\"] = \"semi-expanded\";\n Size2[\"Expanded\"] = \"expanded\";\n Size2[\"ExtraExpanded\"] = \"extra-expanded\";\n Size2[\"SuperExpanded\"] = \"super-expanded\";\n Size2[\"UltraExpanded\"] = \"ultra-expanded\";\n return Size2;\n})(Size || {});\nvar LayoutSize = /* @__PURE__ */ ((LayoutSize2) => {\n LayoutSize2[\"Small\"] = \"small\";\n LayoutSize2[\"Medium\"] = \"medium\";\n LayoutSize2[\"Large\"] = \"large\";\n return LayoutSize2;\n})(LayoutSize || {});\nvar TabsSize = /* @__PURE__ */ ((TabsSize2) => {\n TabsSize2[\"Small\"] = \"small\";\n return TabsSize2;\n})(TabsSize || {});\nvar Position = /* @__PURE__ */ ((Position2) => {\n Position2[\"Top\"] = \"TOP\";\n Position2[\"Bottom\"] = \"BOTTOM\";\n Position2[\"Start\"] = \"START\";\n Position2[\"Center\"] = \"CENTER\";\n Position2[\"End\"] = \"END\";\n return Position2;\n})(Position || {});\nvar Role = /* @__PURE__ */ ((Role2) => {\n Role2[\"Status\"] = \"status\";\n Role2[\"Alert\"] = \"alert\";\n return Role2;\n})(Role || {});\nvar AriaLive = /* @__PURE__ */ ((AriaLive2) => {\n AriaLive2[\"Polite\"] = \"polite\";\n AriaLive2[\"Assertive\"] = \"assertive\";\n return AriaLive2;\n})(AriaLive || {});\nvar MediaSkipBy = /* @__PURE__ */ ((MediaSkipBy2) => {\n MediaSkipBy2[\"Zero\"] = \"0\";\n MediaSkipBy2[\"Five\"] = \"5\";\n MediaSkipBy2[\"Ten\"] = \"10\";\n MediaSkipBy2[\"Thirty\"] = \"30\";\n return MediaSkipBy2;\n})(MediaSkipBy || {});\n\nexport { Appearance as A, Connotation as C, LayoutSize as L, MediaSkipBy as M, Position as P, Role as R, Shape as S, TabsSize as T, ConnotationDecorative as a, Size as b, AriaLive as c };\n"],"names":["proxySlotName","ElementInternalsKey","supportsElementInternals","window","prototype","InternalsMap","WeakMap","FormAssociated","BaseCtor","C","constructor","args","super","this","dirtyValue","disabled","proxyEventsToBlock","proxyInitialized","required","initialValue","elementInternals","formResetCallback","bind","formAssociated","validity","proxy","form","validationMessage","willValidate","labels","Object","freeze","Array","from","HTMLElement","ownerDocument","id","parentLabels","forLabels","getRootNode","querySelectorAll","concat","e","valueChanged","previous","next","value","currentValue","setFormValue","validate","currentValueChanged","initialValueChanged","disabledChanged","D","queueUpdate","classList","toggle","nameChanged","name","requiredChanged","prev","internals","get","attachInternals","set","connectedCallback","addEventListener","_keypressHandler","attachProxy","disconnectedCallback","forEach","removeEventListener","stopPropagation","checkValidity","reportValidity","setValidity","flags","message","anchor","setCustomValidity","formDisabledCallback","_a","style","display","setAttribute","proxySlot","document","createElement","shadowRoot","appendChild","detachProxy","removeChild","state","key","k","HTMLFormElement","defaultButton","querySelector","click","a","mode","attribute","o","CheckableFormAssociated","dirtyChecked","checkedAttribute","checked","checkedAttributeChanged","defaultChecked","defaultCheckedChanged","checkedChanged","currentChecked","updateForm","HTMLInputElement","undefined","$emit","currentCheckedChanged","converter","_identity","x","identity","_","memoizeWith","mFn","fn","cache","n","apply","arguments","a0","a1","a2","a3","a4","a5","a6","a7","a8","a9","Error","_arity","length","ICONS_BASE_URL","ICONS_VERSION","numberConverter","toView","toString","fromView","parseFloat","isNaN","isFinite","PLACEHOLDER_ICON","__defProp","defineProperty","__getOwnPropDesc","getOwnPropertyDescriptor","__decorateClass","decorators","target","kind","decorator","result","i","baseUrlTemplate","resource","version","join","extractSvg","response","ok","headers","assertIsValidResponse","text","resolveIcon","iconId","trim","fetch","then","loadSvg","Promise","resolve","Icon","F","iconLoaded","iconUrl","_svg","timeout","setTimeout","svg","catch","finally","clearTimeout","v","Connotation","Connotation2","Shape","Shape2","Appearance","Appearance2","Size","Size2","MediaSkipBy","MediaSkipBy2"],"sourceRoot":""}