@warp-ds/elements 1.2.0-next.6 → 1.2.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.js +3124 -1301
- package/dist/packages/affix/index.js +8 -6
- package/dist/packages/affix/index.js.map +4 -4
- package/dist/packages/alert/index.js +9 -5
- package/dist/packages/alert/index.js.map +4 -4
- package/dist/packages/attention/index.js +15 -14
- package/dist/packages/attention/index.js.map +4 -4
- package/dist/packages/expandable/index.d.ts +10 -0
- package/dist/packages/expandable/index.js +53 -18
- package/dist/packages/expandable/index.js.map +4 -4
- package/dist/packages/expandable/locales/en/messages.d.mts +1 -0
- package/dist/packages/expandable/locales/fi/messages.d.mts +1 -0
- package/dist/packages/expandable/locales/nb/messages.d.mts +1 -0
- package/dist/packages/select/index.js +16 -15
- package/dist/packages/select/index.js.map +4 -4
- package/dist/packages/toast/index.js +21 -17
- package/dist/packages/toast/index.js.map +4 -4
- package/package.json +1 -1
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
|
-
"sources": ["../../../packages/toast/toast.js", "../../../node_modules/.pnpm/@warp-ds+css@1.3.0/node_modules/@warp-ds/css/component-classes/index.js", "../../../node_modules/.pnpm/element-collapse@1.1.0/node_modules/element-collapse/index.js", "../../../packages/toast/toast-container.js", "../../../packages/utils/window-exists.js", "../../../packages/toast/api.js"],
|
|
4
|
-
"sourcesContent": ["import { css, html } from 'lit';\nimport WarpElement from '@warp-ds/elements-core';\nimport { classMap } from 'lit/directives/class-map.js';\nimport { when } from 'lit/directives/when.js';\nimport { toast as ccToast } from '@warp-ds/css/component-classes';\nimport { expand, collapse } from 'element-collapse';\n\nconst classes = (definition) => {\n const defn = {};\n for (const [key, value] of Object.entries(definition)) {\n for (const className of key.split(' ')) {\n defn[className] = value;\n }\n }\n return classMap(defn);\n};\n\nconst toastType = {\n success: 'success',\n error: 'error',\n warning: 'warning',\n}\n\nexport class WarpToast extends WarpElement {\n static styles = [WarpElement.styles,\n css`\n :host {\n display: block;\n }\n `,\n ];\n\n static properties = {\n id: { type: String, attribute: true, reflect: true },\n type: { type: String, attribute: true, reflect: true },\n text: { type: String, attribute: true, reflect: true },\n canclose: { type: Boolean, attribute: true, reflect: true },\n };\n\n constructor() {\n super();\n this.id = Date.now().toString(36) + Math.random().toString(36).slice(2, 5);\n this.type = 'success';\n this.text = '';\n this.canclose = false;\n }\n\n connectedCallback() {\n super.connectedCallback();\n }\n\n disconnectedCallback() {\n super.disconnectedCallback();\n }\n\n updated() {\n if (!this._expanded && this._wrapper) expand(this._wrapper, () => (this._expanded = true));\n }\n\n get _primaryClasses() {\n return classes({\n [ccToast.toast]: true,\n [ccToast.positive]: this.type === toastType.success,\n [ccToast.warning]: this.type === toastType.warning,\n [ccToast.negative]: this.type === toastType.error,\n });\n }\n\n get _iconClasses() {\n return classes({\n [ccToast.icon]: true,\n [ccToast.iconPositive]: this.type == toastType.success,\n [ccToast.iconWarning]: this.type === toastType.warning,\n [ccToast.iconNegative]: this.type === toastType.error,\n });\n }\n\n get _wrapper() {\n return this.renderRoot?.querySelector(`section`) ?? null;\n }\n\n get _warning() {\n return this.type === toastType.warning;\n }\n\n get _error() {\n return this.type === toastType.error;\n }\n\n get _role() {\n return this._error || this._warning ? 'alert' : 'status';\n }\n\n get _typeLabel() {\n if (this._warning) return 'Varsel';\n if (this._error) return 'Feil';\n return 'Vellykket'\n }\n\n get _iconMarkup() {\n if (this._warning) return html`<w-icon-alert-warning-16></w-icon-alert-warning-16>`;\n if (this._error) return html`<w-icon-alert-error-16></w-icon-alert-error-16>`;\n else return html`<w-icon-alert-success-16></w-icon-alert-success-16>`;\n }\n\n async collapse() {\n return new Promise((resolve) => {\n if (this._expanded && this._wrapper) collapse(this._wrapper, resolve);\n else resolve();\n });\n }\n\n close() {\n const event = new CustomEvent('close', {\n detail: { id: this.id },\n bubbles: true,\n composed: true,\n });\n this.updateComplete.then(() => this.dispatchEvent(event));\n }\n\n render() {\n if (!this.text) return html``;\n return html` <section class=\"${ccToast.wrapper}\" aria-label=\"${this._typeLabel}\">\n <div class=\"${this._primaryClasses}\">\n <div class=\"${this._iconClasses}\">${this._iconMarkup}</div>\n <div role=\"${this._role}\" class=\"${ccToast.content}\">\n <p>${this.text}</p>\n </div>\n ${when(\n this.canclose === true,\n () => html`\n <button class=\"${ccToast.close}\" @click=\"${this.close}\">\n <w-icon-close-16></w-icon-close-16>\n </button>\n `,\n )}\n </div>\n </section>`;\n }\n}\n\nif (!customElements.get('w-toast')) {\n customElements.define('w-toast', WarpToast);\n}\n", "export const pageIndicator = {\n wrapper: 'flex space-x-8 p-8',\n dot: 'h-8 w-8 rounded-full',\n inactive: 'i-bg-$color-pageindicator-background hover:i-bg-$color-pageindicator-background-hover',\n active: 'i-bg-$color-pageindicator-background-selected',\n};\n\n// Deprecated: Use Badge component\nexport const ribbon = {\n base: 'py-4 px-8 border rounded-4 inline-flex last:mb-0',\n info: 'i-border-$color-badge-info-background i-bg-$color-badge-info-background i-text-$color-badge-info-text',\n success: 'i-border-$color-badge-positive-background i-bg-$color-badge-positive-background i-text-$color-badge-positive-text',\n warning: 'i-border-$color-badge-warning-background i-bg-$color-badge-warning-background i-text-$color-badge-warning-text',\n error: 'i-border-$color-badge-negative-background i-bg-$color-badge-negative-background i-text-$color-badge-negative-text',\n disabled: 'i-border-$color-badge-disabled-background i-bg-$color-badge-disabled-background i-text-$color-badge-disabled-text',\n sponsored: 'i-border-$color-badge-price-background i-bg-$color-badge-price-background i-text-$color-badge-price-text',\n neutral: 'i-border-$color-badge-neutral-background i-bg-$color-badge-neutral-background i-text-$color-badge-neutral-text',\n roundedTopRightBottomLeft: 'rounded-tr-0 rounded-bl-0',\n roundedTopLeftBottomRight: 'rounded-tl-0 rounded-br-0',\n};\n\nexport const badge = {\n base: 'py-4 px-8 border-0 rounded-4 text-xs inline-flex',\n neutral: 'i-bg-$color-badge-neutral-background i-text-$color-badge-neutral-text',\n info: 'i-bg-$color-badge-info-background i-text-$color-badge-info-text',\n positive: 'i-bg-$color-badge-positive-background i-text-$color-badge-positive-text',\n warning: 'i-bg-$color-badge-warning-background i-text-$color-badge-warning-text',\n negative: 'i-bg-$color-badge-negative-background i-text-$color-badge-negative-text',\n disabled: 'i-bg-$color-badge-disabled-background i-text-$color-badge-disabled-text',\n price: 'i-bg-$color-badge-price-background i-text-$color-badge-price-text',\n notification: 'i-bg-$color-badge-notification-background i-text-$color-badge-notification-text',\n positionBase: 'absolute backdrop-blur',\n positionTL: 'rounded-tl-0 rounded-tr-0 rounded-bl-0 top-0 left-0',\n positionTR: 'rounded-tl-0 rounded-tr-0 rounded-br-0 top-0 right-0',\n positionBR: 'rounded-tr-0 rounded-br-0 rounded-bl-0 bottom-0 right-0',\n positionBL: 'rounded-tl-0 rounded-br-0 rounded-bl-0 bottom-0 left-0',\n};\n\nexport const slider = {\n wrapper: 'touch-pan-y relative w-full h-44 py-2',\n track:\n 'absolute i-bg-$color-slider-track-background h-4 top-20 rounded-4 w-full ',\n trackDisabled:\n 'pointer-events-none i-bg-$color-slider-track-background-disabled',\n activeTrack:\n 'absolute i-bg-$color-slider-track-background-active h-6 top-[19px] rounded-4',\n activeTrackDisabled:\n 'i-bg-$color-slider-track-background-disabled pointer-events-none',\n thumb:\n 'absolute transition-shadow w-24 h-24 bottom-10 rounded-4 outline-none',\n thumbEnabled:\n 'border-2 i-shadow-$shadow-slider cursor-pointer i-bg-$color-slider-handle-background i-border-$color-slider-handle-border hover:i-bg-$color-slider-handle-background-hover hover:i-border-$color-slider-handle-border-hover hover:slider-handle-shadow-hover active:i-bg-$color-slider-handle-background-active active:i-border-$color-slider-handle-border-active active:slider-handle-shadow-active focus:slider-handle-shadow-hover focus:i-border-$color-slider-handle-border-hover focus:i-bg-$color-slider-handle-background-hover',\n thumbDisabled:\n 'i-bg-$color-slider-handle-background-disabled cursor-disabled pointer-events-none',\n};\n\nexport const box = {\n box: 'group block relative break-words last-child:mb-0 p-16 rounded-8', // Relative here enables w-clickable\n bleed: '-mx-16 sm:mx-0 rounded-l-0 rounded-r-0 sm:rounded-8', // We target L and R to override the default rounded-8\n info: 'i-bg-$color-box-info-background i-text-$color-box-info-text',\n neutral: 'i-bg-$color-box-neutral-background i-text-$color-box-neutral-text',\n bordered: 'border-2 i-border-$color-box-bordered-border i-bg-$color-box-bordered-background i-text-$color-box-bordered-text',\n infoClickable: 'hover:i-bg-$color-box-info-background-hover active:i-bg-$color-box-info-background-hover',\n neutralClickable: 'hover:i-bg-$color-box-neutral-background-hover active:i-bg-$color-box-neutral-background-hover',\n borderedClickable: 'hover:i-bg-$color-box-bordered-background-hover active:i-bg-$color-box-bordered-background-hover hover:i-border-$color-box-bordered-border-hover active:i-border-$color-box-bordered-border-hover',\n};\n\nexport const pill = {\n pill: 'flex items-center',\n button: 'inline-flex items-center focusable text-xs transition-all',\n suggestion: 'i-bg-$color-pill-suggestion-background hover:i-bg-$color-pill-suggestion-background-hover active:i-bg-$color-pill-suggestion-background-active i-text-$color-pill-suggestion-text font-bold',\n filter: 'i-bg-$color-pill-filter-background hover:i-bg-$color-pill-filter-background-hover active:i-bg-$color-pill-filter-background-active i-text-$color-pill-filter-text',\n label: 'pl-12 py-8 rounded-l-full',\n labelWithoutClose: 'pr-12 rounded-r-full',\n labelWithClose: 'pr-2',\n close: 'pr-12 pl-4 pt-4 pb-6 rounded-r-full text-m!',\n a11y: 'sr-only',\n};\n\nexport const step = {\n step: 'group/step',\n stepVertical: 'group/stepv grid-rows-[20px_auto] grid grid-flow-col gap-x-16',\n stepVerticalLeft: 'grid-cols-[20px_1fr]',\n stepVerticalRight: 'grid-cols-[1fr_20px] text-right',\n stepHorizontal: 'group/steph grid-rows-[auto_20px] grid-cols-[1fr_20px_1fr] flex-1 grid gap-y-16 items-center',\n\n stepDot: 'rounded-full border-2 h-20 w-20 transition-colors duration-300 i-text-$color-stepindicator-handle-icon',\n stepDotVerticalRight: 'col-start-2',\n stepDotHorizontal: 'row-start-2 justify-self-end',\n stepDotActive: 'i-border-$color-stepindicator-handle-border-active i-bg-$color-stepindicator-handle-background-active',\n stepDotIncomplete: 'i-border-$color-stepindicator-handle-border i-bg-$color-stepindicator-handle-background',\n\n stepLine: 'group-last/stepv:hidden transition-colors duration-300',\n stepLineVertical: 'w-2 h-full justify-self-center',\n stepLineVerticalRight: 'col-start-2',\n stepLineHorizontal: 'h-2 w-full row-start-2',\n stepLineHorizontalRight: 'group-last/steph:bg-transparent',\n stepLineHorizontalLeft: 'group-first/steph:bg-transparent',\n\n stepLineIncomplete: 'i-bg-$color-stepindicator-track-background',\n stepLineComplete: 'i-bg-$color-stepindicator-track-background-active',\n\n content: 'last:mb-0 group-last/step:last:pb-0',\n contentVertical: 'row-span-2 pb-32',\n contentHorizontal: 'col-span-3 px-16 row-start-1 text-center',\n};\n\nexport const steps = {\n steps: 'w-full',\n stepsHorizontal: 'flex',\n};\n\nexport const card = {\n card: 'cursor-pointer overflow-hidden relative transition-all',\n cardShadow: 'rounded-8 i-shadow-$shadow-card hover:i-shadow-$shadow-card-hover hover:i-bg-$color-card-background-hover tap-highlight-transparent',\n cardFlat: 'border-2 rounded-4',\n cardFlatUnselected:\n 'i-bg-$color-card-flat-background i-border-$color-card-flat-border hover:i-bg-$color-card-flat-background-hover hover:i-border-$color-card-flat-border-hover active:i-bg-$color-card-flat-background-active active:i-border-$color-card-flat-border-active',\n cardFlatSelected:\n 'i-border-$color-card-flat-border-selected i-bg-$color-card-flat-background-selected hover:i-bg-$color-card-flat-background-selected-hover hover:i-border-$color-card-flat-border-selected-hover active:i-border-$color-card-flat-border-active active:i-bg-$color-card-flat-background-active',\n cardSelected:\n 'i-border-$color-card-border-selected i-bg-$color-card-background-selected hover:i-border-$color-card-border-selected-hover hover:i-bg-$color-card-background-selected-hover active:i-border-$color-card-border-selected-active',\n cardOutline:\n 'active:i-border-$color-card-flat-border absolute rounded-8 inset-0 transition-all border-2',\n cardOutlineUnselected: 'i-border-$color-card-border',\n cardOutlineSelected: 'i-border-$color-card-border-selected hover:i-border-$color-card-border-selected-hover',\n a11y: 'sr-only',\n};\n\nexport const switchToggle = {\n switch: 'tap-highlight-transparent',\n label: 'block relative h-24 w-44 cursor-pointer group',\n labelDisabled: 'pointer-events-none',\n track: 'absolute top-0 left-0 h-full w-full rounded-full transition-colors',\n trackActive: 'i-bg-$color-switch-track-background-selected group-hover:i-bg-$color-switch-track-background-selected-hover',\n trackInactive: 'i-bg-$color-switch-track-background group-hover:i-bg-$color-switch-track-background-hover',\n trackDisabled: 'i-bg-$color-switch-track-background-disabled',\n handle: 'absolute transform-gpu h-16 w-16 top-4 left-4 rounded-full transition-transform',\n handleSelected: 'translate-x-20',\n handleNotDisabled: 'i-bg-$color-switch-handle-background i-shadow-$shadow-switch-handle',\n handleDisabled: 'i-bg-$color-switch-handle-background-disabled',\n a11y: 'sr-only',\n};\n\nexport const toaster = {\n container:\n 'fixed transform translate-z-0 bottom-16 left-0 right-0 mx-8 sm:mx-16 z-50 pointer-events-none',\n content: 'w-full',\n toaster:\n 'grid auto-rows-auto justify-items-center justify-center mx-auto pointer-events-none',\n};\n\nexport const toast = {\n wrapper: 'relative overflow-hidden w-full',\n toast:\n 'flex group p-8 mt-16 rounded-8 border-2 w-full pointer-events-auto transition-all',\n positive: 'i-bg-$color-toast-positive-background i-border-$color-toast-positive-subtle-border i-text-$color-toast-positive-text',\n warning: 'i-bg-$color-toast-warning-background i-border-$color-toast-warning-subtle-border i-text-$color-toast-warning-text',\n negative: 'i-bg-$color-toast-negative-background i-border-$color-toast-negative-subtle-border i-text-$color-toast-negative-text',\n icon: 'shrink-0 rounded-full w-[16px] h-[16px] m-[8px]',\n iconPositive: 'i-text-$color-toast-positive-icon',\n iconWarning: 'i-text-$color-toast-warning-icon',\n iconNegative: 'i-text-$color-toast-negative-icon',\n iconLoading: 'animate-bounce',\n content: 'self-center mr-8 py-4 last-child:mb-0',\n close: 'bg-transparent ml-auto p-[8px] i-text-$color-toast-close-icon hover:i-text-$color-toast-close-icon-hover active:i-text-$color-toast-close-icon-active',\n};\n\nexport const tabs = {\n tabContainer: 'mx-auto max-w-screen-md w-full grid relative',\n wunderbar:\n 'absolute i-border-$color-tabs-border-selected -bottom-0 border-b-4 transition-all',\n wrapperUnderlined:\n 'border-b i-border-$color-tabs-border -mx-16 sm:mx-0 px-4 sm:px-0 mb-32 ',\n};\n\nexport const tab = {\n tab: 'grid items-center font-bold gap-8 focusable antialias p-16 pb-8 border-b-4 bg-transparent i-text-$color-tabs-text i-border-$color-tabs-border hover:i-text-$color-tabs-text-hover hover:i-border-$color-tabs-border-hover',\n tabActive: 'i-text-$color-tabs-text-selected',\n icon: 'mx-auto hover:i-text-$color-tabs-text-hover',\n iconUnderlinedActive: 'i-text-$color-tabs-text-selected',\n content: 'flex items-center justify-center gap-8',\n contentUnderlined: 'content-underlined', // content-underlined is a no-op that prevents a quirk in how Vue handles class bindings\n contentUnderlinedActive: 'i-text-$color-tabs-text-selected',\n};\n\n// Todo: Handle dynamic classnames\nexport const gridLayout = {\n cols1: 'grid-cols-1',\n cols2: 'grid-cols-2',\n cols3: 'grid-cols-3',\n cols4: 'grid-cols-4',\n cols5: 'grid-cols-5',\n cols6: 'grid-cols-6',\n cols7: 'grid-cols-7',\n cols8: 'grid-cols-8',\n cols9: 'grid-cols-9',\n};\n\nexport const buttonReset =\n 'focus:outline-none appearance-none cursor-pointer bg-transparent border-0 m-0 p-0 inline-block';\n\nexport const expandable = {\n expandable: 'will-change-height',\n expandableTitle: 'font-bold i-text-$color-expandable-title-text',\n expandableBox: 'i-bg-$color-expandable-background hover:i-bg-$color-expandable-background-hover py-0 px-0 ' + box.box,\n expandableBleed: box.bleed,\n chevron: 'inline-block align-middle i-text-$color-expandable-icon',\n chevronNonBox: 'relative left-8',\n chevronBox: 'absolute right-16',\n chevronTransform: 'transform transition-transform transform-gpu ease-in-out',\n chevronExpand: '-rotate-180',\n chevronCollapse: 'rotate-180',\n expansion: 'overflow-hidden',\n expansionNotExpanded: 'h-0 invisible',\n button: buttonReset + ' hover:underline focus:underline',\n buttonBox: 'w-full text-left relative inline-flex items-center ' + box.box,\n paddingTop: 'pt-0',\n title: 'flex justify-between items-center',\n titleType: 'h4',\n};\n\nconst buttonDefaultStyling = 'font-bold focusable justify-center transition-colors ease-in-out';\n\nconst buttonColors = {\n primary: 'i-text-$color-button-primary-text hover:i-text-$color-button-primary-text i-bg-$color-button-primary-background hover:i-bg-$color-button-primary-background-hover active:i-bg-$color-button-primary-background-active',\n secondary: 'i-text-$color-button-secondary-text hover:i-text-$color-button-secondary-text i-border-$color-button-secondary-border i-bg-$color-button-secondary-background hover:i-bg-$color-button-secondary-background-hover hover:i-border-$color-button-secondary-border-hover active:i-bg-$color-button-secondary-background-active',\n utility: 'i-text-$color-button-utility-text hover:i-text-$color-button-utility-text i-bg-$color-button-utility-background i-border-$color-button-utility-border hover:i-bg-$color-button-utility-background hover:i-border-$color-button-utility-border-hover active:i-border-$color-button-utility-border-active',\n destructive: 'i-bg-$color-button-negative-background i-text-$color-button-negative-text hover:i-text-$color-button-negative-text hover:i-bg-$color-button-negative-background-hover active:i-bg-$color-button-negative-background-active',\n pill: 'i-text-$color-button-pill-icon hover:i-text-$color-button-pill-icon-hover active:i-text-$color-button-pill-icon-active i-bg-$color-button-pill-background hover:i-bg-$color-button-pill-background-hover active:i-bg-$color-button-pill-background-active',\n disabled: 'i-text-$color-button-disabled-text i-bg-$color-button-disabled-background',\n quiet: 'i-bg-$color-button-quiet-background i-text-$color-button-quiet-text hover:i-bg-$color-button-quiet-background-hover active:i-bg-$color-button-quiet-background-active',\n utilityQuiet: 'i-text-$color-button-utility-quiet-text i-bg-$color-button-utility-quiet-background hover:i-bg-$color-button-utility-quiet-background-hover',\n negativeQuiet: 'i-bg-$color-button-negative-quiet-background i-text-$color-button-negative-quiet-text hover:i-bg-$color-button-negative-quiet-background-hover active:i-bg-$color-button-negative-quiet-background-active',\n loading: 'i-text-$color-button-loading-text i-bg-$color-button-loading-background',\n link: 'i-text-$color-button-link-text',\n};\n\nconst buttonTypes = {\n primary: `border-0 rounded-8 ${buttonDefaultStyling}`,\n secondary: `border-2 rounded-8 ${buttonDefaultStyling}`,\n utility: `border rounded-4 ${buttonDefaultStyling}`,\n negative: `border-0 rounded-8 ${buttonDefaultStyling}`,\n pill:\n `p-4 rounded-full border-0 inline-flex items-center justify-center hover:bg-clip-padding ${buttonDefaultStyling}`,\n link: `bg-transparent focusable ease-in-out inline active:underline hover:underline ${buttonColors.link}`,\n};\n\nconst buttonSizes = {\n xsmall: 'py-6 px-16',\n small: 'py-8 px-16',\n medium: 'py-10 px-14',\n large: 'py-12 px-16',\n utility: 'py-[11px] px-[15px]',\n smallUtility: 'py-[7px] px-[15px]',\n pill: 'min-h-[44px] min-w-[44px]',\n pillSmall: 'min-h-32 min-w-32',\n link: 'p-0',\n};\n\nconst buttonTextSizes = {\n medium: 'text-m leading-[24]',\n xsmall: 'text-xs',\n};\n\nconst buttonVariants = {\n inProgress:\n `border-transparent animate-inprogress pointer-events-none ${buttonColors.loading}`, // .button--in-progress, a.button--in-progress:visited\n quiet:\n `border-0 rounded-8 ${buttonDefaultStyling}`,\n utilityQuiet: `border-0 rounded-4 ${buttonDefaultStyling}`,\n negativeQuiet: `border-0 rounded-8 ${buttonDefaultStyling}`,\n isDisabled:\n `font-bold justify-center transition-colors ease-in-out cursor-default pointer-events-none ${buttonColors.disabled}`, // .button:disabled, .button--is-disabled\n};\n\nexport const button = {\n // Buttontypes\n secondary:\n `${buttonSizes.medium} ${buttonTextSizes.medium} ${buttonTypes.secondary} ${buttonColors.secondary}`, // .button--secondary, .button--default, .button\n secondaryHref:\n `${buttonSizes.medium} ${buttonTextSizes.medium} ${buttonTypes.secondary} ${buttonColors.secondary}`,\n secondaryDisabled:\n `${buttonSizes.medium} ${buttonTextSizes.medium} ${buttonTypes.secondary} ${buttonVariants.isDisabled}`,\n secondarySmall: `${buttonTextSizes.xsmall} ${buttonSizes.xsmall} ${buttonTypes.secondary} ${buttonColors.secondary}`,\n secondarySmallDisabled: `${buttonTextSizes.xsmall} ${buttonSizes.xsmall} ${buttonTypes.secondary} ${buttonVariants.isDisabled}`,\n secondaryQuiet:\n `${buttonSizes.medium} ${buttonTextSizes.medium} ${buttonVariants.quiet} ${buttonColors.quiet}`,\n secondaryQuietDisabled:\n `${buttonSizes.medium} ${buttonTextSizes.medium} ${buttonVariants.quiet} ${buttonVariants.isDisabled}`,\n secondarySmallQuiet: `${buttonTextSizes.xsmall} ${buttonSizes.xsmall} ${buttonVariants.quiet} ${buttonColors.quiet}`,\n secondarySmallQuietDisabled: `${buttonTextSizes.xsmall} ${buttonSizes.xsmall} ${buttonVariants.quiet} ${buttonVariants.isDisabled}`,\n secondaryLoading:\n `${buttonSizes.medium} ${buttonTextSizes.medium} ${buttonTypes.secondary} ${buttonVariants.inProgress}`,\n secondarySmallLoading: `${buttonTextSizes.xsmall} ${buttonSizes.xsmall} ${buttonTypes.secondary} ${buttonVariants.inProgress}`,\n secondarySmallQuietLoading: `${buttonTextSizes.xsmall} ${buttonSizes.xsmall} ${buttonVariants.quiet} ${buttonVariants.inProgress}`,\n secondaryQuietLoading:\n `${buttonSizes.medium} ${buttonTextSizes.medium} ${buttonVariants.quiet} ${buttonVariants.inProgress}`,\n\n primary: `${buttonSizes.large} ${buttonTextSizes.medium} ${buttonTypes.primary} ${buttonColors.primary}`, // .button--primary, .button--cta\n primaryDisabled: `${buttonSizes.large} ${buttonTextSizes.medium} ${buttonVariants.isDisabled} ${buttonTypes.primary}`,\n primarySmall: `${buttonSizes.small} ${buttonTextSizes.xsmall} ${buttonTypes.primary} ${buttonColors.primary}`,\n primarySmallDisabled: `${buttonSizes.small} ${buttonTextSizes.xsmall} ${buttonVariants.isDisabled} ${buttonTypes.primary} `,\n primaryQuiet: `${buttonSizes.large} ${buttonTextSizes.medium} ${buttonVariants.quiet} ${buttonColors.quiet}`,\n primaryQuietDisabled: `${buttonSizes.large} ${buttonTextSizes.medium} ${buttonVariants.quiet} ${buttonVariants.isDisabled}`,\n primarySmallQuiet: `${buttonSizes.small} ${buttonTextSizes.xsmall} ${buttonVariants.quiet} ${buttonColors.quiet}`,\n primarySmallQuietDisabled: `${buttonSizes.small} ${buttonTextSizes.xsmall} ${buttonVariants.quiet} ${buttonVariants.isDisabled}`,\n primaryLoading: `${buttonSizes.large} ${buttonTextSizes.medium} ${buttonVariants.inProgress} ${buttonTypes.primary}`,\n primarySmallLoading: `${buttonSizes.small} ${buttonTextSizes.xsmall} ${buttonVariants.inProgress} ${buttonTypes.primary}`,\n primarySmallQuietLoading: `${buttonSizes.small} ${buttonTextSizes.xsmall} ${buttonVariants.quiet} ${buttonVariants.inProgress} ${buttonTypes.primary}`,\n primaryQuietLoading: `${buttonSizes.large} ${buttonTextSizes.medium} ${buttonVariants.quiet} ${buttonVariants.inProgress}`,\n\n utility: `${buttonSizes.utility} ${buttonTextSizes.medium} ${buttonTypes.utility} ${buttonColors.utility}`, // .button--utility\n utilityDisabled: `${buttonSizes.utility} ${buttonTextSizes.medium} ${buttonTypes.utility} ${buttonVariants.isDisabled}`,\n utilityQuiet: `${buttonSizes.large} ${buttonTextSizes.medium} ${buttonVariants.utilityQuiet} ${buttonColors.utilityQuiet}`, // .button--utility-flat\n utilityQuietDisabled: `${buttonSizes.large} ${buttonTextSizes.medium} ${buttonVariants.utilityQuiet} ${buttonVariants.isDisabled}`,\n utilitySmall: `${buttonSizes.smallUtility} ${buttonTextSizes.xsmall} ${buttonTypes.utility} ${buttonColors.utility}`,\n utilitySmallDisabled: `${buttonSizes.smallUtility} ${buttonTextSizes.xsmall} ${buttonTypes.utility} ${buttonVariants.isDisabled}`,\n utilitySmallQuiet: `${buttonSizes.smallUtility} ${buttonTextSizes.xsmall} ${buttonVariants.utilityQuiet} ${buttonColors.utilityQuiet}`,\n utilitySmallQuietDisabled: `${buttonSizes.smallUtility} ${buttonTextSizes.xsmall} ${buttonVariants.utilityQuiet} ${buttonVariants.isDisabled}`,\n utilityLoading: `${buttonSizes.large} ${buttonTextSizes.medium} ${buttonTypes.utility} ${buttonVariants.inProgress}`,\n utilitySmallLoading: `${buttonSizes.smallUtility} ${buttonTextSizes.xsmall} ${buttonTypes.utility} ${buttonVariants.inProgress}`,\n utilityQuietLoading: `${buttonSizes.large} ${buttonTextSizes.medium} ${buttonVariants.inProgress} ${buttonVariants.utilityQuiet}`,\n utilitySmallQuietLoading: `${buttonSizes.smallUtility} ${buttonTextSizes.xsmall} ${buttonVariants.inProgress} ${buttonVariants.utilityQuiet}`,\n\n negative: `${buttonSizes.large} ${buttonTextSizes.medium} ${buttonTypes.negative} ${buttonColors.destructive}`, // .button--destructive\n negativeDisabled: `${buttonSizes.large} ${buttonTextSizes.medium} ${buttonTypes.negative} ${buttonVariants.isDisabled}`,\n negativeQuiet: `${buttonSizes.large} ${buttonTextSizes.medium} ${buttonVariants.negativeQuiet} ${buttonColors.negativeQuiet}`, // .button--destructive-flat\n negativeQuietDisabled: `${buttonSizes.large} ${buttonTextSizes.medium} ${buttonVariants.negativeQuiet}${buttonVariants.isDisabled}`,\n negativeSmall: `${buttonSizes.small} ${buttonTextSizes.xsmall} ${buttonTypes.negative} ${buttonColors.destructive}`,\n negativeSmallDisabled: `${buttonSizes.small} ${buttonTextSizes.xsmall} ${buttonTypes.negative} ${buttonVariants.isDisabled}`,\n negativeSmallQuiet: `${buttonSizes.small} ${buttonTextSizes.xsmall} ${buttonVariants.negativeQuiet} ${buttonColors.negativeQuiet}`,\n negativeSmallQuietDisabled: `${buttonSizes.small} ${buttonTextSizes.xsmall} ${buttonVariants.negativeQuiet} ${buttonVariants.isDisabled}`,\n negativeLoading: `${buttonSizes.large} ${buttonTextSizes.medium} ${buttonTypes.negative} ${buttonVariants.inProgress}`,\n negativeSmallLoading: `${buttonSizes.small} ${buttonTextSizes.xsmall} ${buttonVariants.inProgress} ${buttonTypes.negative}`,\n negativeQuietLoading: `${buttonSizes.large} ${buttonTextSizes.medium} ${buttonVariants.negativeQuiet} ${buttonTypes.negative} ${buttonVariants.inProgress}`,\n negativeSmallQuietLoading: `${buttonSizes.small} ${buttonTextSizes.xsmall} ${buttonVariants.negativeQuiet} ${buttonVariants.inProgress}`,\n\n pill: `${buttonSizes.pill} ${buttonTextSizes.medium} ${buttonTypes.pill} ${buttonColors.pill}`, // .button--pill\n pillSmall: `${buttonSizes.pillSmall} ${buttonTextSizes.xsmall} ${buttonTypes.pill} ${buttonColors.pill}`,\n pillLoading: `${buttonSizes.pill} ${buttonTextSizes.medium} ${buttonTypes.pill} ${buttonVariants.inProgress}`,\n pillSmallLoading: `${buttonSizes.pillSmall} ${buttonTextSizes.xsmall} ${buttonTypes.pill} ${buttonVariants.inProgress}`,\n\n link: `${buttonSizes.link} ${buttonTextSizes.medium} ${buttonTypes.link}`,\n linkSmall: `${buttonSizes.link} ${buttonTextSizes.xsmall} ${buttonTypes.link}`,\n linkAsButton: 'inline-block hover:no-underline text-center',\n a11y: 'sr-only',\n fullWidth: \"w-full max-w-full\",\n contentWidth: \"max-w-max\",\n};\n\nexport const buttonGroup = {\n wrapper: 'inline-flex rounded-4 overflow-hidden',\n raised: 'i-shadow-$shadow-buttongroup',\n vertical: 'flex-col',\n nonOutlinedVertical: 'divide-y',\n nonOutlinedHorizontal: 'divide-x',\n};\n\nexport const buttonGroupItem = {\n wrapper: 'relative i-text-$color-buttongroup-utility-text i-bg-$color-buttongroup-utility-background hover:i-bg-$color-buttongroup-utility-background-hover active:i-text-$color-buttongroup-utility-text-selected active:i-bg-$color-buttongroup-utility-background-selected',\n outlined: 'border hover:z-30 i-border-$color-buttongroup-utility-border active:i-border-$color-buttongroup-utility-border-selected',\n outlinedVertical: '-mb-1 last:mb-0 first:rounded-lt-4 first:rounded-rt-4 last:rounded-lb-4 last:rounded-rb-4',\n outlinedHorizontal: '-mr-1 last:mr-0 first:rounded-lt-4 first:rounded-lb-4 last:rounded-rt-4 last:rounded-rb-4',\n outlinedVerticalResets: 'px-1 pt-1 last:pb-1 -mb-1 last:mb-0',\n outlinedHorizontalResets: 'py-1 pl-1 last:pr-1 -mr-1 last:mr-0',\n outlinedSelected: 'i-border-$color-buttongroup-utility-border-selected',\n selected: 'z-30 i-text-$color-buttongroup-utility-text-selected! i-bg-$color-buttongroup-utility-background-selected!',\n};\n\nexport const modal = {\n //TODO: this class can be removed when we have the solution for opacity and we can add rgba values to the background of the backdrop\n transparentBg: `before:i-bg-$color-modal-backdrop-background before:content-[\"\"] before:absolute before:top-0 before:bottom-0 before:left-0 before:right-0 before:opacity-25`,\n backdrop:\n 'fixed inset-0 flex sm:place-content-center sm:place-items-center items-end z-20 [--w-modal-max-height:80%] [--w-modal-width:640px]',\n modal:\n 'pb-safe-[32] i-shadow-$shadow-modal max-h-[--w-modal-max-height] min-h-[--w-modal-min-height] w-[--w-modal-width] h-[--w-modal-height] relative transition-300 ease-in-out backface-hidden will-change-height rounded-8 mx-0 sm:mx-16 i-bg-$color-modal-background flex flex-col overflow-hidden outline-none space-y-16 pt-8 sm:pt-32 sm:pb-32 rounded-b-0 sm:rounded-b-8',\n content:\n 'block overflow-y-auto overflow-x-hidden last-child:mb-0 grow shrink px-16 sm:px-32 relative',\n footer: 'flex justify-end shrink-0 px-16 sm:px-32',\n transitionTitle: 'transition-all duration-300',\n transitionTitleCenter: 'justify-self-center',\n transitionTitleColSpan: 'col-span-2',\n title:\n '-mt-4 sm:-mt-8 h-40 sm:h-48 grid gap-8 sm:gap-16 grid-cols-[auto_1fr_auto] items-center px-16 sm:px-32 border-b sm:border-b-0 shrink-0',\n titleText: 'mb-0 h4 sm:h3',\n titleButton: `${buttonTextSizes.medium} ${buttonTypes.pill} ${buttonColors.pill} sm:min-h-[44px] sm:min-w-[44px] min-h-[32px] min-w-[32px]`,\n titleButtonLeft: '-ml-8 sm:-ml-12 justify-self-start',\n titleButtonRight: '-mr-8 sm:-mr-12 justify-self-end',\n titleButtonIcon: 'h-16 w-16 sm:h-24 sm:w-24',\n titleButtonIconRotated: 'transform rotate-90',\n};\n\nexport const alert = {\n alert: \"flex p-16 border border-l-4 rounded-4\",\n willChangeHeight: \"will-change-height\",\n textWrapper: \"last-child:mb-0 text-s\",\n title: \"text-s\",\n icon: \"w-16 mr-8 min-w-16\",\n negative: \"i-border-$color-alert-negative-subtle-border i-bg-$color-alert-negative-background i-text-$color-alert-negative-text i-border-l-$color-alert-negative-border\",\n negativeIcon: \"i-text-$color-alert-negative-icon\",\n positive: \"i-border-$color-alert-positive-subtle-border i-bg-$color-alert-positive-background i-text-$color-alert-positive-text i-border-l-$color-alert-positive-border\",\n positiveIcon: \"i-text-$color-alert-positive-icon\",\n warning: \"i-border-$color-alert-warning-subtle-border i-bg-$color-alert-warning-background i-text-$color-alert-warning-text i-border-l-$color-alert-warning-border\",\n warningIcon: \"i-text-$color-alert-warning-icon\",\n info: \"i-border-$color-alert-info-subtle-border i-bg-$color-alert-info-background i-text-$color-alert-info-text i-border-l-$color-alert-info-border\",\n infoIcon: \"i-text-$color-alert-info-icon\",\n};\n\nexport const input = {\n default: 'block text-m mb-0 leading-m i-text-$color-input-text-filled i-bg-$color-input-background i-border-$color-input-border hover:i-border-$color-input-border-hover active:i-border-$color-input-border-active rounded-4 py-12 px-8 block border-1 w-full focusable focus:[--w-outline-offset:-2px] caret-current',\n textArea: 'min-h-[42] sm:min-h-[45]',\n disabled: 'i-bg-$color-input-background-disabled i-border-$color-input-border-disabled hover:i-border-$color-input-border-disabled! i-text-$color-input-text-disabled pointer-events-none',\n invalid: 'i-border-$color-input-border-negative i-text-$color-input-text-negative!',\n readOnly: 'pl-0 bg-transparent border-0 pointer-events-none i-text-$color-input-text-read-only',\n placeholder: 'placeholder:i-text-$color-input-text-placeholder',\n wrapper: 'relative',\n suffix: 'pr-40',\n prefix: 'pl-40',\n};\n\nexport const select = {\n default: 'block text-m mb-0 leading-m i-text-$color-select-text i-bg-$color-select-background i-border-$color-select-border hover:i-border-$color-select-border-hover active:i-border-$color-select-border-active rounded-4 py-12 px-8 block border-1 w-full focusable focus:[--w-outline-offset:-2px] appearance-none pr-32 cursor-pointer caret-current',\n disabled: 'i-bg-$color-select-background-disabled i-border-$color-select-border-disabled hover:i-border-$color-select-border-disabled! active:i-border-$color-select-border-disabled! i-text-$color-select-text-disabled pointer-events-none',\n invalid: 'i-border-$color-select-border-negative',\n readOnly: 'pl-0 bg-transparent border-0 pointer-events-none before:hidden',\n wrapper: 'relative',\n selectWrapper: `relative before:block before:absolute before:right-0 before:bottom-0 before:w-32 before:h-full before:pointer-events-none `,\n chevron: 'absolute top-[30%] block right-0 bottom-0 w-32 h-full i-text-$color-select-icon pointer-events-none cursor-pointer',\n chevronDisabled: 'opacity-25',\n};\n\nexport const label = {\n label: 'antialiased block relative text-s font-bold pb-4 cursor-pointer i-text-$color-label-text',\n labelInvalid: 'i-text-$color-label-text-negative',\n optional: 'pl-8 font-normal text-s i-text-$color-label-optional-text',\n};\n\nexport const helpText = {\n helpText: 'text-xs mt-4 block i-text-$color-helptext-text',\n helpTextValid: 'i-text-$color-helptext-text-positive',\n helpTextInvalid: 'i-text-$color-helptext-text-negative',\n};\n\nconst prefixSuffixWrapperBase =\n 'absolute top-0 bottom-0 flex justify-center items-center focusable focus:[--w-outline-offset:-2px] bg-transparent ';\n\nexport const suffix = {\n wrapper: prefixSuffixWrapperBase + 'right-0',\n wrapperWithLabel: 'w-max pr-12',\n wrapperWithIcon: 'w-40',\n label: 'antialiased block relative cursor-default pb-0 font-bold text-xs i-text-$color-label-text',\n};\n\nexport const prefix = {\n wrapper: prefixSuffixWrapperBase + 'left-0',\n wrapperWithLabel: 'w-max pl-12',\n wrapperWithIcon: 'w-40',\n label: 'antialiased block relative cursor-default pb-0 font-bold text-xs i-text-$color-label-text',\n};\n\nexport const breadcrumbs = {\n wrapper: 'flex space-x-8',\n text: 'i-text-$color-breadcrumbs-text',\n link: 'i-text-$color-breadcrumbs-link-text',\n separator: 'select-none i-text-$color-breadcrumbs-icon',\n a11y: 'sr-only',\n};\n\nexport const toggle = {\n field: 'relative text-m',\n wrapper: 'relative py-1',\n deadToggleWrapper: 'h-20 w-20 pointer-events-none',\n input: 'peer',\n deadToggleInput: 'hidden',\n inputDisabled: 'pointer-events-none',\n focusable: 'peer-focus:focusable',\n focusableWithin: 'focus-within:focusable',\n label: 'cursor-pointer text-m i-text-$color-label-text py-2 pl-28 select-none relative block before:block before:border before:absolute before:transition-all before:left-0 before:w-20 before:h-20 before:top-2',\n deadToggleLabel: '-mt-2',\n noContent: `before:content-[\"\"]`,\n indeterminate: `before:flex! before:items-center before:justify-center before:i-text-$color-checkbox-icon before:text-center before:font-bold before:content-[\"-\"] peer-indeterminate:before:i-border-$color-checkbox-border-selected peer-indeterminate:before:i-bg-$color-checkbox-background-selected peer-indeterminate:hover:before:i-border-$color-checkbox-border-hover peer-indeterminate:hover:before:i-bg-$color-checkbox-background-selected-hover`,\n labelDisabled: 'pointer-events-none',\n checkbox: 'before:rounded-2 hover:before:i-border-$color-checkbox-border-hover hover:before:i-bg-$color-checkbox-background-hover',\n checkboxChecked: 'peer-checked:before:i-border-$color-checkbox-border-selected peer-checked:before:i-bg-$color-checkbox-background-selected peer-checked:peer-hover:before:i-border-$color-checkbox-border-selected-hover peer-checked:peer-hover:before:i-bg-$color-checkbox-background-selected-hover',\n checkboxInvalid: 'before:i-bg-$color-checkbox-negative-background hover:before:i-bg-$color-checkbox-negative-background-hover peer-checked:before:i-border-$color-checkbox-negative-border-selected hover:before:i-border-$color-checkbox-negative-border-hover peer-checked:before:i-bg-$color-checkbox-negative-background-selected peer-checked:peer-hover:before:i-bg-$color-checkbox-negative-background-selected-hover peer-checked:peer-hover:before:i-border-$color-checkbox-negative-border-selected-hover',\n checkboxDisabled: 'before:i-bg-$color-checkbox-background-disabled before:i-border-$color-checkbox-border-disabled peer-checked:before:i-border-$color-checkbox-border-selected-disabled peer-checked:before:i-bg-$color-checkbox-background-selected-disabled',\n labelCheckboxBorder: 'i-border-$color-checkbox-border',\n radio: 'before:rounded-full peer-checked:before:border-[6] peer-checked:peer-hover:before:i-border-$color-radio-border-selected-hover peer-hover:before:i-border-$color-radio-border-hover peer-hover:before:i-bg-$color-radio-background-hover',\n radioChecked: 'peer-checked:before:i-border-$color-radio-border-selected',\n radioInvalid: 'before:i-bg-$color-radio-negative-background peer-hover:before:i-bg-$color-radio-negative-background-hover before:i-border-$color-radio-negative-border peer-hover:before:i-border-$color-radio-negative-border-hover peer-checked:before:i-border-$color-radio-negative-border-selected peer-checked:peer-hover:before:i-border-$color-radio-negative-border-selected-hover ',\n radioDisabled: 'before:i-bg-$color-radio-background-disabled before:i-border-$color-radio-border-disabled peer-checked:before:i-border-$color-radio-border-selected-disabled',\n labelRadioBorder: 'i-border-$color-radio-border',\n radioButtons: 'inline-flex relative font-bold rounded-8',\n radioButtonsGroup: 'group',\n radioButtonsLabel: 'peer-hover:peer-not-checked:i-bg-$color-buttongroup-primary-background-hover peer-checked:i-text-$color-buttongroup-primary-text-selected peer-checked:i-bg-$color-buttongroup-primary-background-selected peer-checked:i-border-$color-buttongroup-primary-border-selected block relative text-s font-bold cursor-pointer i-text-$color-buttongroup-primary-text text-center i-bg-$color-buttongroup-primary-background border-2 i-border-$color-buttongroup-primary-border py-8 pl-12 pr-14 group-first-of-type:rounded-tl-8 group-first-of-type:rounded-bl-8 group-last-of-type:rounded-tr-8 group-last-of-type:rounded-br-8 group-not-last-of-type:border-r-0 peer-checked:z-10 group-not-first:-ml-2',\n radioButtonsJustified: 'flex!',\n radioButtonsGroupJustified: 'grow-1 shrink-0 basis-auto',\n radioButtonsLabelSmall: 'text-xs py-[5px]! px-[8px]!',\n icon: `peer-checked:before:bg-center before:bg-[url(var(--w-form-check-mark))]`,\n a11y: 'sr-only',\n};\n\nexport const clickable = {\n toggle: 'absolute inset-0 h-full w-full appearance-none cursor-pointer focusable focusable-inset',\n label: `px-12 ${label.label} py-8! cursor-pointer focusable focusable-inset`,\n buttonOrLink: 'bg-transparent focusable',\n buttonOrLinkStretch: 'inset-0 absolute',\n};\n\nexport const combobox = {\n wrapper: 'relative',\n combobox: 'absolute left-0 right-0 pb-8 rounded-8 i-bg-$color-combobox-background i-shadow-$shadow-combobox',\n textMatch: 'font-bold',\n listbox: 'm-0 p-0 select-none list-none',\n option: 'block cursor-pointer p-8 hover:i-bg-$color-combobox-option-background-hover',\n optionSelected: 'i-bg-$color-combobox-option-background-selected hover:i-bg-$color-combobox-option-background-selected-hover',\n a11y: 'sr-only',\n};\n\nexport const attention = {\n base: 'border-2 relative flex items-start',\n tooltip:\n 'i-bg-$color-tooltip-background i-border-$color-tooltip-background i-shadow-$shadow-tooltip i-text-$color-tooltip-text rounded-4 py-6 px-8',\n callout: 'i-bg-$color-callout-background i-border-$color-callout-border i-text-$color-callout-text py-8 px-16 rounded-8',\n highlight: 'i-bg-$color-callout-background i-border-$color-callout-border i-text-$color-callout-text py-8 px-16 rounded-8 drop-shadow-m',\n popover:\n 'i-bg-$color-popover-background i-border-$color-popover-background i-text-$color-popover-paragraph-text rounded-8 p-16 drop-shadow-m',\n arrowBase:\n 'absolute h-[14px] w-[14px] border-2 border-b-0 border-r-0 rounded-tl-4 transform',\n arrowDirectionLeft: '-left-[8px]',\n arrowDirectionRight: '-right-[8px]',\n arrowDirectionBottom: '-bottom-[8px]',\n arrowDirectionTop: '-top-[8px]',\n arrowTooltip: 'i-bg-$color-tooltip-background i-border-$color-tooltip-background',\n arrowCallout: 'i-bg-$color-callout-background i-border-$color-callout-border',\n arrowPopover: 'i-bg-$color-popover-background i-border-$color-popover-background',\n arrowHighlight: 'i-bg-$color-callout-background i-border-$color-callout-border',\n content: 'last-child:mb-0',\n notCallout: 'absolute z-50',\n closeBtn: `${buttonTextSizes.medium} ${buttonTypes.pill} ${buttonColors.pill} justify-self-end -mr-8 ml-8`,\n};", "const windowExists = (typeof window !== 'undefined')\n\nlet prefersMotion = true\n\nif (windowExists) {\n const query = window.matchMedia('(prefers-reduced-motion: reduce)')\n const callback = ({ matches }) => prefersMotion = !matches\n // older browsers don't support the new API, and the old API is deprecated\n if (query.addEventListener) query.addEventListener('change', callback)\n callback(query)\n}\n\nconst removeTransition = el => {\n el.style.transition = null\n el.style.backfaceVisibility = null\n el.style.overflow = null\n}\n\nconst addTransition = (el) => {\n // we set timing to something insanely short\n // when reducing motion so the after-* hooks still fire\n const timing = prefersMotion ? 'var(--f-expansion-duration, 0.3s)' : '0.01s'\n el.style.transition = `height ${timing}`\n el.style.backfaceVisibility = 'hidden'\n el.style.overflow = 'hidden'\n}\n\nconst getAfterExpandCallback = (el, done) => () => {\n el.style.height = 'auto'\n el.style.overflow = null\n if (done) done()\n}\n\nconst getAfterCollapseCallback = (done) => () => {\n if (done) done()\n}\n\n/**\n * Transitions an element from 0 to a detected height\n * Will return a Promise when no 'done' callback is provided\n * @type {(el: HTMLElement, done?: function) => void | Promise<void>}\n */\nexport const expand = (el, done) => {\n const returnPromise = (() => {\n if (!done) return new Promise(r => { done = r })\n })()\n const afterExpandCallback = getAfterExpandCallback(el, done)\n removeTransition(el)\n el.style.height = 'auto'\n let dest = el.scrollHeight\n windowExists && requestAnimationFrame(() => {\n el.addEventListener('transitionend', afterExpandCallback, { once: true })\n el.style.height = '0px'\n el.style.transitionTimingFunction = 'ease-out'\n addTransition(el)\n requestAnimationFrame(() => el.style.height = dest + 'px')\n })\n if (returnPromise) return returnPromise\n}\n\n/**\n * Transitions an element from a detected height to 0\n * Will return a Promise when no 'done' callback is provided\n * @type {(el: HTMLElement, done?: function) => void | Promise<void>}\n */\nexport const collapse = (el, done) => {\n const returnPromise = (() => {\n if (!done) return new Promise(r => { done = r })\n })()\n const afterCollapseCallback = getAfterCollapseCallback(done)\n removeTransition(el)\n let original = el.scrollHeight\n windowExists && requestAnimationFrame(() => {\n el.addEventListener('transitionend', afterCollapseCallback, { once: true })\n el.style.height = original + 'px'\n el.style.transitionTimingFunction = 'ease-in'\n addTransition(el)\n requestAnimationFrame(() => el.style.height = '0px')\n })\n if (returnPromise) return returnPromise\n}\n", "import { css, html } from \"lit\";\nimport WarpElement from \"@warp-ds/elements-core\";\nimport { toaster as ccToaster } from \"@warp-ds/css/component-classes\";\nimport { repeat } from \"lit/directives/repeat.js\";\n\n/**\n * Toast helper function options\n * @typedef {Object} ToastOptions\n * @property {(number|string)} [id] Custom identifier\n * @property {('success'|'error'|'warning')} [type] Type of alert\n * @property {String} [text] The toast message. Only needed when updating text on existing toast\n * @property {(number|string)} [duration] Duration of toast in milliseconds. Defaults to 5000. For accessibility reasons, toasts should never be interactive and therefore need to auto remove. If you must disable auto remove, set duration to Number.POSITIVE_INFINITY.\n * @property {Boolean} [canClose] Whether the toast can be dismissed. Defaults to false. WARNING! For accessibility reasons, toasts should not be interactive and canclose should always be false. If the toast absolutely must be dismissble, set this to true.\n */\n\nexport class WarpToastContainer extends WarpElement {\n static styles = [\n WarpElement.styles,\n css`\n :host {\n display: block;\n }\n `,\n ];\n\n static properties = {\n _toasts: { state: true },\n };\n\n constructor() {\n super();\n this._toasts = new Map();\n }\n\n connectedCallback() {\n super.connectedCallback();\n\n // regularly check if any toasts have expired\n this._interval = setInterval(() => {\n // sort toasts into keep and remove\n const keep = [];\n const remove = [];\n for (const toast of this._toasts) {\n if (Date.now() <= toast[1].duration) keep.push(toast);\n else remove.push(toast);\n }\n // collapse toasts that will be removed\n const collapseTasks = [];\n for (const [id] of remove) {\n const el = this.renderRoot.querySelector(`#${id}`);\n collapseTasks.push(el.collapse());\n }\n // once all toasts that should be removed have been collapsed, remove them from the map\n Promise.all(collapseTasks).then(() => {\n if (keep.length != this._toasts.size) this._toasts = new Map(keep);\n });\n }, 500);\n }\n\n disconnectedCallback() {\n super.disconnectedCallback();\n if (this._interval) clearTimeout(this._interval);\n }\n\n static init() {\n let el = document.querySelector(\"w-toast-container\");\n if (!el) {\n el = document.createElement(\"w-toast-container\");\n document.body.appendChild(el);\n }\n return el;\n }\n\n get _toastsArray() {\n return Array.from(this._toasts).map(([, toast]) => toast);\n }\n\n /**\n *\n * @param {String|Number} id\n * @returns {ToastOptions}\n */\n get(id) {\n if (!id)\n throw new Error('undefined \"id\" given when attempting to retrieve toast');\n if (typeof id !== \"string\" && !Number.isInteger(id))\n throw new Error(\n '\"id\" must be number or string when attempting to retrieve toast'\n );\n return this._toasts.get(id);\n }\n\n /**\n *\n * @param {Object} toast\n * @returns {WarpToastContainer}\n */\n set(toast) {\n if (!toast.id) throw new Error('invalid or undefined \"id\" on toast object');\n const result = this._toasts.set(toast.id, {\n ...toast,\n duration: Date.now() + (toast.duration || 5000),\n });\n this._toasts = new Map(Array.from(this._toasts));\n return result;\n }\n\n /**\n *\n * @param {String|Number} id\n * @returns {ToastOptions | false}\n */\n async del(id) {\n if (!id)\n throw new Error('undefined \"id\" given when attempting to retrieve toast');\n if (typeof id !== \"string\" && !Number.isInteger(id))\n throw new Error(\n '\"id\" must be number or string when attempting to retrieve toast'\n );\n const el = this.renderRoot.querySelector(`#${id}`);\n if (!this._toasts.has(id)) return false;\n await el.collapse();\n const result = this._toasts.delete(id);\n this._toasts = new Map(Array.from(this._toasts));\n return result;\n }\n\n render() {\n return html`\n <aside class=\"${ccToaster.container}\">\n <div class=\"${ccToaster.toaster}\" id=\"w-toast-container-list\">\n ${repeat(\n this._toastsArray,\n (toast) => toast.id,\n (toast) =>\n html` <w-toast\n class=\"${ccToaster.content}\"\n id=\"${toast.id}\"\n type=\"${toast.type}\"\n text=\"${toast.text}\"\n ?canclose=${toast.canclose}\n @close=${() => this.del(toast.id)}\n >\n </w-toast>`\n )}\n </div>\n </aside>\n `;\n }\n}\n\nif (!customElements.get(\"w-toast-container\")) {\n customElements.define(\"w-toast-container\", WarpToastContainer);\n}\n", "export const windowExists = typeof window !== 'undefined';\n", "import { windowExists } from '../utils/window-exists';\n\n/**\n * Toast helper function options\n * @typedef {Object} ToastOptions\n * @property {(number|string)} [id] Custom identifier\n * @property {('success'|'error'|'warning'|'info')} [type] Type of alert\n * @property {String} [text] The toast message. Only needed when updating text on existing toast\n * @property {(number|string)} [duration] Duration of toast in milliseconds. Defaults to 5000. For accessibility reasons, toasts should never be interactive and therefore need to auto remove. If you must disable auto remove, set duration to Number.POSITIVE_INFINITY.\n * @property {Boolean} [canclose] Whether the toast can be dismissed. Defaults to false. WARNING! For accessibility reasons, toasts should not be interactive and canclose should always be false. If the toast absolutely must be dismissble, set this to true.\n */\n\n/**\n * Creates a new toast\n * @param {String} message Message\n * @param {ToastOptions?} options Toast options\n * @returns {ToastOptions} Toast details\n */\nexport function toast(message, options) {\n if (!windowExists) return;\n const toast = customElements.get('w-toast-container').init();\n\n const data = {\n id: Date.now().toString(36) + Math.random().toString(36).slice(2, 5),\n text: message,\n duration: 5000,\n type: 'success',\n ...options,\n };\n\n toast.set(data);\n return data;\n}\n\n/**\n * Remove an existing toast\n * @param {String|Number} id Toast identifier\n * @return {Promise<Boolean>} Resolves to true if deleted, false if not found\n */\nexport function removeToast(id) {\n if (!windowExists) return;\n const toast = customElements.get('w-toast-container').init();\n return toast.del(id);\n}\n\n/**\n * Update an existing toast\n * @param {String|Number} id Toast identifier\n * @param {ToastOptions?} options Toast options\n * @returns {WarpToastContainer} Toast details\n */\nexport function updateToast(id, options) {\n if (!windowExists) return;\n const toast = customElements.get('w-toast-container').init();\n toast.set({ ...toast.get(id), ...options });\n return toast.get(id);\n}\n"],
|
|
5
|
-
"mappings": "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",
|
|
6
|
-
"names": ["css", "html", "WarpElement", "classMap", "when", "box", "toaster", "toast", "buttonReset", "expandable", "box", "buttonDefaultStyling", "buttonColors", "buttonTypes", "buttonSizes", "buttonTextSizes", "buttonVariants", "button", "modal", "buttonTextSizes", "buttonTypes", "buttonColors", "label", "prefixSuffixWrapperBase", "suffix", "prefix", "clickable", "label", "attention", "buttonTextSizes", "buttonTypes", "buttonColors", "windowExists", "prefersMotion", "query", "callback", "matches", "removeTransition", "el", "addTransition", "timing", "getAfterExpandCallback", "done", "getAfterCollapseCallback", "expand", "returnPromise", "r", "afterExpandCallback", "dest", "collapse", "afterCollapseCallback", "original", "classes", "definition", "defn", "key", "value", "className", "classMap", "toastType", "WarpToast", "WarpElement", "expand", "toast", "_a", "_b", "html", "resolve", "collapse", "event", "when", "__publicField", "css", "css", "html", "WarpElement", "repeat", "WarpToastContainer", "WarpElement", "keep", "remove", "toast", "collapseTasks", "id", "el", "result", "__spreadProps", "__spreadValues", "html", "toaster", "repeat", "__publicField", "css", "windowExists", "toast", "message", "options", "windowExists", "data", "__spreadValues", "removeToast", "id", "updateToast"]
|
|
3
|
+
"sources": ["../../../packages/toast/toast.js", "../../../node_modules/.pnpm/@warp-ds+css@1.3.0/node_modules/@warp-ds/css/component-classes/index.js", "../../../node_modules/.pnpm/element-collapse@1.1.0/node_modules/element-collapse/index.js", "../../../node_modules/.pnpm/@warp-ds+icons@1.1.1/node_modules/@warp-ds/icons/node_modules/.pnpm/unraw@3.0.0/node_modules/unraw/dist/errors.js", "../../../node_modules/.pnpm/@warp-ds+icons@1.1.1/node_modules/@warp-ds/icons/node_modules/.pnpm/unraw@3.0.0/node_modules/unraw/dist/index.js", "../../../node_modules/.pnpm/@warp-ds+icons@1.1.1/node_modules/@warp-ds/icons/elements/alert-warning-16.js", "../../../node_modules/.pnpm/@warp-ds+icons@1.1.1/node_modules/@warp-ds/icons/node_modules/.pnpm/@lingui+core@4.5.0/node_modules/@lingui/core/dist/index.mjs", "../../../node_modules/.pnpm/@warp-ds+icons@1.1.1/node_modules/@warp-ds/icons/src/raw/alert-warning/locales/nb/messages.mjs", "../../../node_modules/.pnpm/@warp-ds+icons@1.1.1/node_modules/@warp-ds/icons/src/raw/alert-warning/locales/en/messages.mjs", "../../../node_modules/.pnpm/@warp-ds+icons@1.1.1/node_modules/@warp-ds/icons/src/raw/alert-warning/locales/fi/messages.mjs", "../../../node_modules/.pnpm/@warp-ds+icons@1.1.1/node_modules/@warp-ds/icons/src/utils/i18n.ts", "../../../node_modules/.pnpm/@warp-ds+icons@1.1.1/node_modules/@warp-ds/icons/node_modules/.pnpm/unraw@3.0.0/node_modules/unraw/dist/errors.js", "../../../node_modules/.pnpm/@warp-ds+icons@1.1.1/node_modules/@warp-ds/icons/node_modules/.pnpm/unraw@3.0.0/node_modules/unraw/dist/index.js", "../../../node_modules/.pnpm/@warp-ds+icons@1.1.1/node_modules/@warp-ds/icons/elements/alert-error-16.js", "../../../node_modules/.pnpm/@warp-ds+icons@1.1.1/node_modules/@warp-ds/icons/node_modules/.pnpm/@lingui+core@4.5.0/node_modules/@lingui/core/dist/index.mjs", "../../../node_modules/.pnpm/@warp-ds+icons@1.1.1/node_modules/@warp-ds/icons/src/raw/alert-error/locales/nb/messages.mjs", "../../../node_modules/.pnpm/@warp-ds+icons@1.1.1/node_modules/@warp-ds/icons/src/raw/alert-error/locales/en/messages.mjs", "../../../node_modules/.pnpm/@warp-ds+icons@1.1.1/node_modules/@warp-ds/icons/src/raw/alert-error/locales/fi/messages.mjs", "../../../node_modules/.pnpm/@warp-ds+icons@1.1.1/node_modules/@warp-ds/icons/src/utils/i18n.ts", "../../../node_modules/.pnpm/@warp-ds+icons@1.1.1/node_modules/@warp-ds/icons/node_modules/.pnpm/unraw@3.0.0/node_modules/unraw/dist/errors.js", "../../../node_modules/.pnpm/@warp-ds+icons@1.1.1/node_modules/@warp-ds/icons/node_modules/.pnpm/unraw@3.0.0/node_modules/unraw/dist/index.js", "../../../node_modules/.pnpm/@warp-ds+icons@1.1.1/node_modules/@warp-ds/icons/elements/alert-success-16.js", "../../../node_modules/.pnpm/@warp-ds+icons@1.1.1/node_modules/@warp-ds/icons/node_modules/.pnpm/@lingui+core@4.5.0/node_modules/@lingui/core/dist/index.mjs", "../../../node_modules/.pnpm/@warp-ds+icons@1.1.1/node_modules/@warp-ds/icons/src/raw/alert-success/locales/nb/messages.mjs", "../../../node_modules/.pnpm/@warp-ds+icons@1.1.1/node_modules/@warp-ds/icons/src/raw/alert-success/locales/en/messages.mjs", "../../../node_modules/.pnpm/@warp-ds+icons@1.1.1/node_modules/@warp-ds/icons/src/raw/alert-success/locales/fi/messages.mjs", "../../../node_modules/.pnpm/@warp-ds+icons@1.1.1/node_modules/@warp-ds/icons/src/utils/i18n.ts", "../../../node_modules/.pnpm/@warp-ds+icons@1.1.1/node_modules/@warp-ds/icons/node_modules/.pnpm/unraw@3.0.0/node_modules/unraw/dist/errors.js", "../../../node_modules/.pnpm/@warp-ds+icons@1.1.1/node_modules/@warp-ds/icons/node_modules/.pnpm/unraw@3.0.0/node_modules/unraw/dist/index.js", "../../../node_modules/.pnpm/@warp-ds+icons@1.1.1/node_modules/@warp-ds/icons/elements/close-16.js", "../../../node_modules/.pnpm/@warp-ds+icons@1.1.1/node_modules/@warp-ds/icons/node_modules/.pnpm/@lingui+core@4.5.0/node_modules/@lingui/core/dist/index.mjs", "../../../node_modules/.pnpm/@warp-ds+icons@1.1.1/node_modules/@warp-ds/icons/src/raw/close/locales/nb/messages.mjs", "../../../node_modules/.pnpm/@warp-ds+icons@1.1.1/node_modules/@warp-ds/icons/src/raw/close/locales/en/messages.mjs", "../../../node_modules/.pnpm/@warp-ds+icons@1.1.1/node_modules/@warp-ds/icons/src/raw/close/locales/fi/messages.mjs", "../../../node_modules/.pnpm/@warp-ds+icons@1.1.1/node_modules/@warp-ds/icons/src/utils/i18n.ts", "../../../packages/toast/toast-container.js", "../../../packages/utils/window-exists.js", "../../../packages/toast/api.js"],
|
|
4
|
+
"sourcesContent": ["import { css, html } from 'lit';\nimport WarpElement from '@warp-ds/elements-core';\nimport { classMap } from 'lit/directives/class-map.js';\nimport { when } from 'lit/directives/when.js';\nimport { toast as ccToast } from '@warp-ds/css/component-classes';\nimport { expand, collapse } from 'element-collapse';\nimport '@warp-ds/icons/elements/alert-warning-16'\nimport '@warp-ds/icons/elements/alert-error-16'\nimport '@warp-ds/icons/elements/alert-success-16'\nimport '@warp-ds/icons/elements/close-16'\n\nconst classes = (definition) => {\n const defn = {};\n for (const [key, value] of Object.entries(definition)) {\n for (const className of key.split(' ')) {\n defn[className] = value;\n }\n }\n return classMap(defn);\n};\n\nconst toastType = {\n success: 'success',\n error: 'error',\n warning: 'warning',\n}\n\nexport class WarpToast extends WarpElement {\n static styles = [WarpElement.styles,\n css`\n :host {\n display: block;\n }\n `,\n ];\n\n static properties = {\n id: { type: String, attribute: true, reflect: true },\n type: { type: String, attribute: true, reflect: true },\n text: { type: String, attribute: true, reflect: true },\n canclose: { type: Boolean, attribute: true, reflect: true },\n };\n\n constructor() {\n super();\n this.id = Date.now().toString(36) + Math.random().toString(36).slice(2, 5);\n this.type = 'success';\n this.text = '';\n this.canclose = false;\n }\n\n connectedCallback() {\n super.connectedCallback();\n }\n\n disconnectedCallback() {\n super.disconnectedCallback();\n }\n\n updated() {\n if (!this._expanded && this._wrapper) expand(this._wrapper, () => (this._expanded = true));\n }\n\n get _primaryClasses() {\n return classes({\n [ccToast.toast]: true,\n [ccToast.positive]: this.type === toastType.success,\n [ccToast.warning]: this.type === toastType.warning,\n [ccToast.negative]: this.type === toastType.error,\n });\n }\n\n get _iconClasses() {\n return classes({\n [ccToast.icon]: true,\n [ccToast.iconPositive]: this.type == toastType.success,\n [ccToast.iconWarning]: this.type === toastType.warning,\n [ccToast.iconNegative]: this.type === toastType.error,\n });\n }\n\n get _wrapper() {\n return this.renderRoot?.querySelector(`section`) ?? null;\n }\n\n get _warning() {\n return this.type === toastType.warning;\n }\n\n get _error() {\n return this.type === toastType.error;\n }\n\n get _role() {\n return this._error || this._warning ? 'alert' : 'status';\n }\n\n get _typeLabel() {\n if (this._warning) return 'Varsel';\n if (this._error) return 'Feil';\n return 'Vellykket'\n }\n\n get _iconMarkup() {\n if (this._warning) return html`<w-icon-alert-warning-16></w-icon-alert-warning-16>`;\n if (this._error) return html`<w-icon-alert-error-16></w-icon-alert-error-16>`;\n else return html`<w-icon-alert-success-16></w-icon-alert-success-16>`;\n }\n\n async collapse() {\n return new Promise((resolve) => {\n if (this._expanded && this._wrapper) collapse(this._wrapper, resolve);\n else resolve();\n });\n }\n\n close() {\n const event = new CustomEvent('close', {\n detail: { id: this.id },\n bubbles: true,\n composed: true,\n });\n this.updateComplete.then(() => this.dispatchEvent(event));\n }\n\n render() {\n if (!this.text) return html``;\n return html` <section class=\"${ccToast.wrapper}\" aria-label=\"${this._typeLabel}\">\n <div class=\"${this._primaryClasses}\">\n <div class=\"${this._iconClasses}\">${this._iconMarkup}</div>\n <div role=\"${this._role}\" class=\"${ccToast.content}\">\n <p>${this.text}</p>\n </div>\n ${when(\n this.canclose === true,\n () => html`\n <button class=\"${ccToast.close}\" @click=\"${this.close}\">\n <w-icon-close-16></w-icon-close-16>\n </button>\n `,\n )}\n </div>\n </section>`;\n }\n}\n\nif (!customElements.get('w-toast')) {\n customElements.define('w-toast', WarpToast);\n}\n", "export const pageIndicator = {\n wrapper: 'flex space-x-8 p-8',\n dot: 'h-8 w-8 rounded-full',\n inactive: 'i-bg-$color-pageindicator-background hover:i-bg-$color-pageindicator-background-hover',\n active: 'i-bg-$color-pageindicator-background-selected',\n};\n\n// Deprecated: Use Badge component\nexport const ribbon = {\n base: 'py-4 px-8 border rounded-4 inline-flex last:mb-0',\n info: 'i-border-$color-badge-info-background i-bg-$color-badge-info-background i-text-$color-badge-info-text',\n success: 'i-border-$color-badge-positive-background i-bg-$color-badge-positive-background i-text-$color-badge-positive-text',\n warning: 'i-border-$color-badge-warning-background i-bg-$color-badge-warning-background i-text-$color-badge-warning-text',\n error: 'i-border-$color-badge-negative-background i-bg-$color-badge-negative-background i-text-$color-badge-negative-text',\n disabled: 'i-border-$color-badge-disabled-background i-bg-$color-badge-disabled-background i-text-$color-badge-disabled-text',\n sponsored: 'i-border-$color-badge-price-background i-bg-$color-badge-price-background i-text-$color-badge-price-text',\n neutral: 'i-border-$color-badge-neutral-background i-bg-$color-badge-neutral-background i-text-$color-badge-neutral-text',\n roundedTopRightBottomLeft: 'rounded-tr-0 rounded-bl-0',\n roundedTopLeftBottomRight: 'rounded-tl-0 rounded-br-0',\n};\n\nexport const badge = {\n base: 'py-4 px-8 border-0 rounded-4 text-xs inline-flex',\n neutral: 'i-bg-$color-badge-neutral-background i-text-$color-badge-neutral-text',\n info: 'i-bg-$color-badge-info-background i-text-$color-badge-info-text',\n positive: 'i-bg-$color-badge-positive-background i-text-$color-badge-positive-text',\n warning: 'i-bg-$color-badge-warning-background i-text-$color-badge-warning-text',\n negative: 'i-bg-$color-badge-negative-background i-text-$color-badge-negative-text',\n disabled: 'i-bg-$color-badge-disabled-background i-text-$color-badge-disabled-text',\n price: 'i-bg-$color-badge-price-background i-text-$color-badge-price-text',\n notification: 'i-bg-$color-badge-notification-background i-text-$color-badge-notification-text',\n positionBase: 'absolute backdrop-blur',\n positionTL: 'rounded-tl-0 rounded-tr-0 rounded-bl-0 top-0 left-0',\n positionTR: 'rounded-tl-0 rounded-tr-0 rounded-br-0 top-0 right-0',\n positionBR: 'rounded-tr-0 rounded-br-0 rounded-bl-0 bottom-0 right-0',\n positionBL: 'rounded-tl-0 rounded-br-0 rounded-bl-0 bottom-0 left-0',\n};\n\nexport const slider = {\n wrapper: 'touch-pan-y relative w-full h-44 py-2',\n track:\n 'absolute i-bg-$color-slider-track-background h-4 top-20 rounded-4 w-full ',\n trackDisabled:\n 'pointer-events-none i-bg-$color-slider-track-background-disabled',\n activeTrack:\n 'absolute i-bg-$color-slider-track-background-active h-6 top-[19px] rounded-4',\n activeTrackDisabled:\n 'i-bg-$color-slider-track-background-disabled pointer-events-none',\n thumb:\n 'absolute transition-shadow w-24 h-24 bottom-10 rounded-4 outline-none',\n thumbEnabled:\n 'border-2 i-shadow-$shadow-slider cursor-pointer i-bg-$color-slider-handle-background i-border-$color-slider-handle-border hover:i-bg-$color-slider-handle-background-hover hover:i-border-$color-slider-handle-border-hover hover:slider-handle-shadow-hover active:i-bg-$color-slider-handle-background-active active:i-border-$color-slider-handle-border-active active:slider-handle-shadow-active focus:slider-handle-shadow-hover focus:i-border-$color-slider-handle-border-hover focus:i-bg-$color-slider-handle-background-hover',\n thumbDisabled:\n 'i-bg-$color-slider-handle-background-disabled cursor-disabled pointer-events-none',\n};\n\nexport const box = {\n box: 'group block relative break-words last-child:mb-0 p-16 rounded-8', // Relative here enables w-clickable\n bleed: '-mx-16 sm:mx-0 rounded-l-0 rounded-r-0 sm:rounded-8', // We target L and R to override the default rounded-8\n info: 'i-bg-$color-box-info-background i-text-$color-box-info-text',\n neutral: 'i-bg-$color-box-neutral-background i-text-$color-box-neutral-text',\n bordered: 'border-2 i-border-$color-box-bordered-border i-bg-$color-box-bordered-background i-text-$color-box-bordered-text',\n infoClickable: 'hover:i-bg-$color-box-info-background-hover active:i-bg-$color-box-info-background-hover',\n neutralClickable: 'hover:i-bg-$color-box-neutral-background-hover active:i-bg-$color-box-neutral-background-hover',\n borderedClickable: 'hover:i-bg-$color-box-bordered-background-hover active:i-bg-$color-box-bordered-background-hover hover:i-border-$color-box-bordered-border-hover active:i-border-$color-box-bordered-border-hover',\n};\n\nexport const pill = {\n pill: 'flex items-center',\n button: 'inline-flex items-center focusable text-xs transition-all',\n suggestion: 'i-bg-$color-pill-suggestion-background hover:i-bg-$color-pill-suggestion-background-hover active:i-bg-$color-pill-suggestion-background-active i-text-$color-pill-suggestion-text font-bold',\n filter: 'i-bg-$color-pill-filter-background hover:i-bg-$color-pill-filter-background-hover active:i-bg-$color-pill-filter-background-active i-text-$color-pill-filter-text',\n label: 'pl-12 py-8 rounded-l-full',\n labelWithoutClose: 'pr-12 rounded-r-full',\n labelWithClose: 'pr-2',\n close: 'pr-12 pl-4 pt-4 pb-6 rounded-r-full text-m!',\n a11y: 'sr-only',\n};\n\nexport const step = {\n step: 'group/step',\n stepVertical: 'group/stepv grid-rows-[20px_auto] grid grid-flow-col gap-x-16',\n stepVerticalLeft: 'grid-cols-[20px_1fr]',\n stepVerticalRight: 'grid-cols-[1fr_20px] text-right',\n stepHorizontal: 'group/steph grid-rows-[auto_20px] grid-cols-[1fr_20px_1fr] flex-1 grid gap-y-16 items-center',\n\n stepDot: 'rounded-full border-2 h-20 w-20 transition-colors duration-300 i-text-$color-stepindicator-handle-icon',\n stepDotVerticalRight: 'col-start-2',\n stepDotHorizontal: 'row-start-2 justify-self-end',\n stepDotActive: 'i-border-$color-stepindicator-handle-border-active i-bg-$color-stepindicator-handle-background-active',\n stepDotIncomplete: 'i-border-$color-stepindicator-handle-border i-bg-$color-stepindicator-handle-background',\n\n stepLine: 'group-last/stepv:hidden transition-colors duration-300',\n stepLineVertical: 'w-2 h-full justify-self-center',\n stepLineVerticalRight: 'col-start-2',\n stepLineHorizontal: 'h-2 w-full row-start-2',\n stepLineHorizontalRight: 'group-last/steph:bg-transparent',\n stepLineHorizontalLeft: 'group-first/steph:bg-transparent',\n\n stepLineIncomplete: 'i-bg-$color-stepindicator-track-background',\n stepLineComplete: 'i-bg-$color-stepindicator-track-background-active',\n\n content: 'last:mb-0 group-last/step:last:pb-0',\n contentVertical: 'row-span-2 pb-32',\n contentHorizontal: 'col-span-3 px-16 row-start-1 text-center',\n};\n\nexport const steps = {\n steps: 'w-full',\n stepsHorizontal: 'flex',\n};\n\nexport const card = {\n card: 'cursor-pointer overflow-hidden relative transition-all',\n cardShadow: 'rounded-8 i-shadow-$shadow-card hover:i-shadow-$shadow-card-hover hover:i-bg-$color-card-background-hover tap-highlight-transparent',\n cardFlat: 'border-2 rounded-4',\n cardFlatUnselected:\n 'i-bg-$color-card-flat-background i-border-$color-card-flat-border hover:i-bg-$color-card-flat-background-hover hover:i-border-$color-card-flat-border-hover active:i-bg-$color-card-flat-background-active active:i-border-$color-card-flat-border-active',\n cardFlatSelected:\n 'i-border-$color-card-flat-border-selected i-bg-$color-card-flat-background-selected hover:i-bg-$color-card-flat-background-selected-hover hover:i-border-$color-card-flat-border-selected-hover active:i-border-$color-card-flat-border-active active:i-bg-$color-card-flat-background-active',\n cardSelected:\n 'i-border-$color-card-border-selected i-bg-$color-card-background-selected hover:i-border-$color-card-border-selected-hover hover:i-bg-$color-card-background-selected-hover active:i-border-$color-card-border-selected-active',\n cardOutline:\n 'active:i-border-$color-card-flat-border absolute rounded-8 inset-0 transition-all border-2',\n cardOutlineUnselected: 'i-border-$color-card-border',\n cardOutlineSelected: 'i-border-$color-card-border-selected hover:i-border-$color-card-border-selected-hover',\n a11y: 'sr-only',\n};\n\nexport const switchToggle = {\n switch: 'tap-highlight-transparent',\n label: 'block relative h-24 w-44 cursor-pointer group',\n labelDisabled: 'pointer-events-none',\n track: 'absolute top-0 left-0 h-full w-full rounded-full transition-colors',\n trackActive: 'i-bg-$color-switch-track-background-selected group-hover:i-bg-$color-switch-track-background-selected-hover',\n trackInactive: 'i-bg-$color-switch-track-background group-hover:i-bg-$color-switch-track-background-hover',\n trackDisabled: 'i-bg-$color-switch-track-background-disabled',\n handle: 'absolute transform-gpu h-16 w-16 top-4 left-4 rounded-full transition-transform',\n handleSelected: 'translate-x-20',\n handleNotDisabled: 'i-bg-$color-switch-handle-background i-shadow-$shadow-switch-handle',\n handleDisabled: 'i-bg-$color-switch-handle-background-disabled',\n a11y: 'sr-only',\n};\n\nexport const toaster = {\n container:\n 'fixed transform translate-z-0 bottom-16 left-0 right-0 mx-8 sm:mx-16 z-50 pointer-events-none',\n content: 'w-full',\n toaster:\n 'grid auto-rows-auto justify-items-center justify-center mx-auto pointer-events-none',\n};\n\nexport const toast = {\n wrapper: 'relative overflow-hidden w-full',\n toast:\n 'flex group p-8 mt-16 rounded-8 border-2 w-full pointer-events-auto transition-all',\n positive: 'i-bg-$color-toast-positive-background i-border-$color-toast-positive-subtle-border i-text-$color-toast-positive-text',\n warning: 'i-bg-$color-toast-warning-background i-border-$color-toast-warning-subtle-border i-text-$color-toast-warning-text',\n negative: 'i-bg-$color-toast-negative-background i-border-$color-toast-negative-subtle-border i-text-$color-toast-negative-text',\n icon: 'shrink-0 rounded-full w-[16px] h-[16px] m-[8px]',\n iconPositive: 'i-text-$color-toast-positive-icon',\n iconWarning: 'i-text-$color-toast-warning-icon',\n iconNegative: 'i-text-$color-toast-negative-icon',\n iconLoading: 'animate-bounce',\n content: 'self-center mr-8 py-4 last-child:mb-0',\n close: 'bg-transparent ml-auto p-[8px] i-text-$color-toast-close-icon hover:i-text-$color-toast-close-icon-hover active:i-text-$color-toast-close-icon-active',\n};\n\nexport const tabs = {\n tabContainer: 'mx-auto max-w-screen-md w-full grid relative',\n wunderbar:\n 'absolute i-border-$color-tabs-border-selected -bottom-0 border-b-4 transition-all',\n wrapperUnderlined:\n 'border-b i-border-$color-tabs-border -mx-16 sm:mx-0 px-4 sm:px-0 mb-32 ',\n};\n\nexport const tab = {\n tab: 'grid items-center font-bold gap-8 focusable antialias p-16 pb-8 border-b-4 bg-transparent i-text-$color-tabs-text i-border-$color-tabs-border hover:i-text-$color-tabs-text-hover hover:i-border-$color-tabs-border-hover',\n tabActive: 'i-text-$color-tabs-text-selected',\n icon: 'mx-auto hover:i-text-$color-tabs-text-hover',\n iconUnderlinedActive: 'i-text-$color-tabs-text-selected',\n content: 'flex items-center justify-center gap-8',\n contentUnderlined: 'content-underlined', // content-underlined is a no-op that prevents a quirk in how Vue handles class bindings\n contentUnderlinedActive: 'i-text-$color-tabs-text-selected',\n};\n\n// Todo: Handle dynamic classnames\nexport const gridLayout = {\n cols1: 'grid-cols-1',\n cols2: 'grid-cols-2',\n cols3: 'grid-cols-3',\n cols4: 'grid-cols-4',\n cols5: 'grid-cols-5',\n cols6: 'grid-cols-6',\n cols7: 'grid-cols-7',\n cols8: 'grid-cols-8',\n cols9: 'grid-cols-9',\n};\n\nexport const buttonReset =\n 'focus:outline-none appearance-none cursor-pointer bg-transparent border-0 m-0 p-0 inline-block';\n\nexport const expandable = {\n expandable: 'will-change-height',\n expandableTitle: 'font-bold i-text-$color-expandable-title-text',\n expandableBox: 'i-bg-$color-expandable-background hover:i-bg-$color-expandable-background-hover py-0 px-0 ' + box.box,\n expandableBleed: box.bleed,\n chevron: 'inline-block align-middle i-text-$color-expandable-icon',\n chevronNonBox: 'relative left-8',\n chevronBox: 'absolute right-16',\n chevronTransform: 'transform transition-transform transform-gpu ease-in-out',\n chevronExpand: '-rotate-180',\n chevronCollapse: 'rotate-180',\n expansion: 'overflow-hidden',\n expansionNotExpanded: 'h-0 invisible',\n button: buttonReset + ' hover:underline focus:underline',\n buttonBox: 'w-full text-left relative inline-flex items-center ' + box.box,\n paddingTop: 'pt-0',\n title: 'flex justify-between items-center',\n titleType: 'h4',\n};\n\nconst buttonDefaultStyling = 'font-bold focusable justify-center transition-colors ease-in-out';\n\nconst buttonColors = {\n primary: 'i-text-$color-button-primary-text hover:i-text-$color-button-primary-text i-bg-$color-button-primary-background hover:i-bg-$color-button-primary-background-hover active:i-bg-$color-button-primary-background-active',\n secondary: 'i-text-$color-button-secondary-text hover:i-text-$color-button-secondary-text i-border-$color-button-secondary-border i-bg-$color-button-secondary-background hover:i-bg-$color-button-secondary-background-hover hover:i-border-$color-button-secondary-border-hover active:i-bg-$color-button-secondary-background-active',\n utility: 'i-text-$color-button-utility-text hover:i-text-$color-button-utility-text i-bg-$color-button-utility-background i-border-$color-button-utility-border hover:i-bg-$color-button-utility-background hover:i-border-$color-button-utility-border-hover active:i-border-$color-button-utility-border-active',\n destructive: 'i-bg-$color-button-negative-background i-text-$color-button-negative-text hover:i-text-$color-button-negative-text hover:i-bg-$color-button-negative-background-hover active:i-bg-$color-button-negative-background-active',\n pill: 'i-text-$color-button-pill-icon hover:i-text-$color-button-pill-icon-hover active:i-text-$color-button-pill-icon-active i-bg-$color-button-pill-background hover:i-bg-$color-button-pill-background-hover active:i-bg-$color-button-pill-background-active',\n disabled: 'i-text-$color-button-disabled-text i-bg-$color-button-disabled-background',\n quiet: 'i-bg-$color-button-quiet-background i-text-$color-button-quiet-text hover:i-bg-$color-button-quiet-background-hover active:i-bg-$color-button-quiet-background-active',\n utilityQuiet: 'i-text-$color-button-utility-quiet-text i-bg-$color-button-utility-quiet-background hover:i-bg-$color-button-utility-quiet-background-hover',\n negativeQuiet: 'i-bg-$color-button-negative-quiet-background i-text-$color-button-negative-quiet-text hover:i-bg-$color-button-negative-quiet-background-hover active:i-bg-$color-button-negative-quiet-background-active',\n loading: 'i-text-$color-button-loading-text i-bg-$color-button-loading-background',\n link: 'i-text-$color-button-link-text',\n};\n\nconst buttonTypes = {\n primary: `border-0 rounded-8 ${buttonDefaultStyling}`,\n secondary: `border-2 rounded-8 ${buttonDefaultStyling}`,\n utility: `border rounded-4 ${buttonDefaultStyling}`,\n negative: `border-0 rounded-8 ${buttonDefaultStyling}`,\n pill:\n `p-4 rounded-full border-0 inline-flex items-center justify-center hover:bg-clip-padding ${buttonDefaultStyling}`,\n link: `bg-transparent focusable ease-in-out inline active:underline hover:underline ${buttonColors.link}`,\n};\n\nconst buttonSizes = {\n xsmall: 'py-6 px-16',\n small: 'py-8 px-16',\n medium: 'py-10 px-14',\n large: 'py-12 px-16',\n utility: 'py-[11px] px-[15px]',\n smallUtility: 'py-[7px] px-[15px]',\n pill: 'min-h-[44px] min-w-[44px]',\n pillSmall: 'min-h-32 min-w-32',\n link: 'p-0',\n};\n\nconst buttonTextSizes = {\n medium: 'text-m leading-[24]',\n xsmall: 'text-xs',\n};\n\nconst buttonVariants = {\n inProgress:\n `border-transparent animate-inprogress pointer-events-none ${buttonColors.loading}`, // .button--in-progress, a.button--in-progress:visited\n quiet:\n `border-0 rounded-8 ${buttonDefaultStyling}`,\n utilityQuiet: `border-0 rounded-4 ${buttonDefaultStyling}`,\n negativeQuiet: `border-0 rounded-8 ${buttonDefaultStyling}`,\n isDisabled:\n `font-bold justify-center transition-colors ease-in-out cursor-default pointer-events-none ${buttonColors.disabled}`, // .button:disabled, .button--is-disabled\n};\n\nexport const button = {\n // Buttontypes\n secondary:\n `${buttonSizes.medium} ${buttonTextSizes.medium} ${buttonTypes.secondary} ${buttonColors.secondary}`, // .button--secondary, .button--default, .button\n secondaryHref:\n `${buttonSizes.medium} ${buttonTextSizes.medium} ${buttonTypes.secondary} ${buttonColors.secondary}`,\n secondaryDisabled:\n `${buttonSizes.medium} ${buttonTextSizes.medium} ${buttonTypes.secondary} ${buttonVariants.isDisabled}`,\n secondarySmall: `${buttonTextSizes.xsmall} ${buttonSizes.xsmall} ${buttonTypes.secondary} ${buttonColors.secondary}`,\n secondarySmallDisabled: `${buttonTextSizes.xsmall} ${buttonSizes.xsmall} ${buttonTypes.secondary} ${buttonVariants.isDisabled}`,\n secondaryQuiet:\n `${buttonSizes.medium} ${buttonTextSizes.medium} ${buttonVariants.quiet} ${buttonColors.quiet}`,\n secondaryQuietDisabled:\n `${buttonSizes.medium} ${buttonTextSizes.medium} ${buttonVariants.quiet} ${buttonVariants.isDisabled}`,\n secondarySmallQuiet: `${buttonTextSizes.xsmall} ${buttonSizes.xsmall} ${buttonVariants.quiet} ${buttonColors.quiet}`,\n secondarySmallQuietDisabled: `${buttonTextSizes.xsmall} ${buttonSizes.xsmall} ${buttonVariants.quiet} ${buttonVariants.isDisabled}`,\n secondaryLoading:\n `${buttonSizes.medium} ${buttonTextSizes.medium} ${buttonTypes.secondary} ${buttonVariants.inProgress}`,\n secondarySmallLoading: `${buttonTextSizes.xsmall} ${buttonSizes.xsmall} ${buttonTypes.secondary} ${buttonVariants.inProgress}`,\n secondarySmallQuietLoading: `${buttonTextSizes.xsmall} ${buttonSizes.xsmall} ${buttonVariants.quiet} ${buttonVariants.inProgress}`,\n secondaryQuietLoading:\n `${buttonSizes.medium} ${buttonTextSizes.medium} ${buttonVariants.quiet} ${buttonVariants.inProgress}`,\n\n primary: `${buttonSizes.large} ${buttonTextSizes.medium} ${buttonTypes.primary} ${buttonColors.primary}`, // .button--primary, .button--cta\n primaryDisabled: `${buttonSizes.large} ${buttonTextSizes.medium} ${buttonVariants.isDisabled} ${buttonTypes.primary}`,\n primarySmall: `${buttonSizes.small} ${buttonTextSizes.xsmall} ${buttonTypes.primary} ${buttonColors.primary}`,\n primarySmallDisabled: `${buttonSizes.small} ${buttonTextSizes.xsmall} ${buttonVariants.isDisabled} ${buttonTypes.primary} `,\n primaryQuiet: `${buttonSizes.large} ${buttonTextSizes.medium} ${buttonVariants.quiet} ${buttonColors.quiet}`,\n primaryQuietDisabled: `${buttonSizes.large} ${buttonTextSizes.medium} ${buttonVariants.quiet} ${buttonVariants.isDisabled}`,\n primarySmallQuiet: `${buttonSizes.small} ${buttonTextSizes.xsmall} ${buttonVariants.quiet} ${buttonColors.quiet}`,\n primarySmallQuietDisabled: `${buttonSizes.small} ${buttonTextSizes.xsmall} ${buttonVariants.quiet} ${buttonVariants.isDisabled}`,\n primaryLoading: `${buttonSizes.large} ${buttonTextSizes.medium} ${buttonVariants.inProgress} ${buttonTypes.primary}`,\n primarySmallLoading: `${buttonSizes.small} ${buttonTextSizes.xsmall} ${buttonVariants.inProgress} ${buttonTypes.primary}`,\n primarySmallQuietLoading: `${buttonSizes.small} ${buttonTextSizes.xsmall} ${buttonVariants.quiet} ${buttonVariants.inProgress} ${buttonTypes.primary}`,\n primaryQuietLoading: `${buttonSizes.large} ${buttonTextSizes.medium} ${buttonVariants.quiet} ${buttonVariants.inProgress}`,\n\n utility: `${buttonSizes.utility} ${buttonTextSizes.medium} ${buttonTypes.utility} ${buttonColors.utility}`, // .button--utility\n utilityDisabled: `${buttonSizes.utility} ${buttonTextSizes.medium} ${buttonTypes.utility} ${buttonVariants.isDisabled}`,\n utilityQuiet: `${buttonSizes.large} ${buttonTextSizes.medium} ${buttonVariants.utilityQuiet} ${buttonColors.utilityQuiet}`, // .button--utility-flat\n utilityQuietDisabled: `${buttonSizes.large} ${buttonTextSizes.medium} ${buttonVariants.utilityQuiet} ${buttonVariants.isDisabled}`,\n utilitySmall: `${buttonSizes.smallUtility} ${buttonTextSizes.xsmall} ${buttonTypes.utility} ${buttonColors.utility}`,\n utilitySmallDisabled: `${buttonSizes.smallUtility} ${buttonTextSizes.xsmall} ${buttonTypes.utility} ${buttonVariants.isDisabled}`,\n utilitySmallQuiet: `${buttonSizes.smallUtility} ${buttonTextSizes.xsmall} ${buttonVariants.utilityQuiet} ${buttonColors.utilityQuiet}`,\n utilitySmallQuietDisabled: `${buttonSizes.smallUtility} ${buttonTextSizes.xsmall} ${buttonVariants.utilityQuiet} ${buttonVariants.isDisabled}`,\n utilityLoading: `${buttonSizes.large} ${buttonTextSizes.medium} ${buttonTypes.utility} ${buttonVariants.inProgress}`,\n utilitySmallLoading: `${buttonSizes.smallUtility} ${buttonTextSizes.xsmall} ${buttonTypes.utility} ${buttonVariants.inProgress}`,\n utilityQuietLoading: `${buttonSizes.large} ${buttonTextSizes.medium} ${buttonVariants.inProgress} ${buttonVariants.utilityQuiet}`,\n utilitySmallQuietLoading: `${buttonSizes.smallUtility} ${buttonTextSizes.xsmall} ${buttonVariants.inProgress} ${buttonVariants.utilityQuiet}`,\n\n negative: `${buttonSizes.large} ${buttonTextSizes.medium} ${buttonTypes.negative} ${buttonColors.destructive}`, // .button--destructive\n negativeDisabled: `${buttonSizes.large} ${buttonTextSizes.medium} ${buttonTypes.negative} ${buttonVariants.isDisabled}`,\n negativeQuiet: `${buttonSizes.large} ${buttonTextSizes.medium} ${buttonVariants.negativeQuiet} ${buttonColors.negativeQuiet}`, // .button--destructive-flat\n negativeQuietDisabled: `${buttonSizes.large} ${buttonTextSizes.medium} ${buttonVariants.negativeQuiet}${buttonVariants.isDisabled}`,\n negativeSmall: `${buttonSizes.small} ${buttonTextSizes.xsmall} ${buttonTypes.negative} ${buttonColors.destructive}`,\n negativeSmallDisabled: `${buttonSizes.small} ${buttonTextSizes.xsmall} ${buttonTypes.negative} ${buttonVariants.isDisabled}`,\n negativeSmallQuiet: `${buttonSizes.small} ${buttonTextSizes.xsmall} ${buttonVariants.negativeQuiet} ${buttonColors.negativeQuiet}`,\n negativeSmallQuietDisabled: `${buttonSizes.small} ${buttonTextSizes.xsmall} ${buttonVariants.negativeQuiet} ${buttonVariants.isDisabled}`,\n negativeLoading: `${buttonSizes.large} ${buttonTextSizes.medium} ${buttonTypes.negative} ${buttonVariants.inProgress}`,\n negativeSmallLoading: `${buttonSizes.small} ${buttonTextSizes.xsmall} ${buttonVariants.inProgress} ${buttonTypes.negative}`,\n negativeQuietLoading: `${buttonSizes.large} ${buttonTextSizes.medium} ${buttonVariants.negativeQuiet} ${buttonTypes.negative} ${buttonVariants.inProgress}`,\n negativeSmallQuietLoading: `${buttonSizes.small} ${buttonTextSizes.xsmall} ${buttonVariants.negativeQuiet} ${buttonVariants.inProgress}`,\n\n pill: `${buttonSizes.pill} ${buttonTextSizes.medium} ${buttonTypes.pill} ${buttonColors.pill}`, // .button--pill\n pillSmall: `${buttonSizes.pillSmall} ${buttonTextSizes.xsmall} ${buttonTypes.pill} ${buttonColors.pill}`,\n pillLoading: `${buttonSizes.pill} ${buttonTextSizes.medium} ${buttonTypes.pill} ${buttonVariants.inProgress}`,\n pillSmallLoading: `${buttonSizes.pillSmall} ${buttonTextSizes.xsmall} ${buttonTypes.pill} ${buttonVariants.inProgress}`,\n\n link: `${buttonSizes.link} ${buttonTextSizes.medium} ${buttonTypes.link}`,\n linkSmall: `${buttonSizes.link} ${buttonTextSizes.xsmall} ${buttonTypes.link}`,\n linkAsButton: 'inline-block hover:no-underline text-center',\n a11y: 'sr-only',\n fullWidth: \"w-full max-w-full\",\n contentWidth: \"max-w-max\",\n};\n\nexport const buttonGroup = {\n wrapper: 'inline-flex rounded-4 overflow-hidden',\n raised: 'i-shadow-$shadow-buttongroup',\n vertical: 'flex-col',\n nonOutlinedVertical: 'divide-y',\n nonOutlinedHorizontal: 'divide-x',\n};\n\nexport const buttonGroupItem = {\n wrapper: 'relative i-text-$color-buttongroup-utility-text i-bg-$color-buttongroup-utility-background hover:i-bg-$color-buttongroup-utility-background-hover active:i-text-$color-buttongroup-utility-text-selected active:i-bg-$color-buttongroup-utility-background-selected',\n outlined: 'border hover:z-30 i-border-$color-buttongroup-utility-border active:i-border-$color-buttongroup-utility-border-selected',\n outlinedVertical: '-mb-1 last:mb-0 first:rounded-lt-4 first:rounded-rt-4 last:rounded-lb-4 last:rounded-rb-4',\n outlinedHorizontal: '-mr-1 last:mr-0 first:rounded-lt-4 first:rounded-lb-4 last:rounded-rt-4 last:rounded-rb-4',\n outlinedVerticalResets: 'px-1 pt-1 last:pb-1 -mb-1 last:mb-0',\n outlinedHorizontalResets: 'py-1 pl-1 last:pr-1 -mr-1 last:mr-0',\n outlinedSelected: 'i-border-$color-buttongroup-utility-border-selected',\n selected: 'z-30 i-text-$color-buttongroup-utility-text-selected! i-bg-$color-buttongroup-utility-background-selected!',\n};\n\nexport const modal = {\n //TODO: this class can be removed when we have the solution for opacity and we can add rgba values to the background of the backdrop\n transparentBg: `before:i-bg-$color-modal-backdrop-background before:content-[\"\"] before:absolute before:top-0 before:bottom-0 before:left-0 before:right-0 before:opacity-25`,\n backdrop:\n 'fixed inset-0 flex sm:place-content-center sm:place-items-center items-end z-20 [--w-modal-max-height:80%] [--w-modal-width:640px]',\n modal:\n 'pb-safe-[32] i-shadow-$shadow-modal max-h-[--w-modal-max-height] min-h-[--w-modal-min-height] w-[--w-modal-width] h-[--w-modal-height] relative transition-300 ease-in-out backface-hidden will-change-height rounded-8 mx-0 sm:mx-16 i-bg-$color-modal-background flex flex-col overflow-hidden outline-none space-y-16 pt-8 sm:pt-32 sm:pb-32 rounded-b-0 sm:rounded-b-8',\n content:\n 'block overflow-y-auto overflow-x-hidden last-child:mb-0 grow shrink px-16 sm:px-32 relative',\n footer: 'flex justify-end shrink-0 px-16 sm:px-32',\n transitionTitle: 'transition-all duration-300',\n transitionTitleCenter: 'justify-self-center',\n transitionTitleColSpan: 'col-span-2',\n title:\n '-mt-4 sm:-mt-8 h-40 sm:h-48 grid gap-8 sm:gap-16 grid-cols-[auto_1fr_auto] items-center px-16 sm:px-32 border-b sm:border-b-0 shrink-0',\n titleText: 'mb-0 h4 sm:h3',\n titleButton: `${buttonTextSizes.medium} ${buttonTypes.pill} ${buttonColors.pill} sm:min-h-[44px] sm:min-w-[44px] min-h-[32px] min-w-[32px]`,\n titleButtonLeft: '-ml-8 sm:-ml-12 justify-self-start',\n titleButtonRight: '-mr-8 sm:-mr-12 justify-self-end',\n titleButtonIcon: 'h-16 w-16 sm:h-24 sm:w-24',\n titleButtonIconRotated: 'transform rotate-90',\n};\n\nexport const alert = {\n alert: \"flex p-16 border border-l-4 rounded-4\",\n willChangeHeight: \"will-change-height\",\n textWrapper: \"last-child:mb-0 text-s\",\n title: \"text-s\",\n icon: \"w-16 mr-8 min-w-16\",\n negative: \"i-border-$color-alert-negative-subtle-border i-bg-$color-alert-negative-background i-text-$color-alert-negative-text i-border-l-$color-alert-negative-border\",\n negativeIcon: \"i-text-$color-alert-negative-icon\",\n positive: \"i-border-$color-alert-positive-subtle-border i-bg-$color-alert-positive-background i-text-$color-alert-positive-text i-border-l-$color-alert-positive-border\",\n positiveIcon: \"i-text-$color-alert-positive-icon\",\n warning: \"i-border-$color-alert-warning-subtle-border i-bg-$color-alert-warning-background i-text-$color-alert-warning-text i-border-l-$color-alert-warning-border\",\n warningIcon: \"i-text-$color-alert-warning-icon\",\n info: \"i-border-$color-alert-info-subtle-border i-bg-$color-alert-info-background i-text-$color-alert-info-text i-border-l-$color-alert-info-border\",\n infoIcon: \"i-text-$color-alert-info-icon\",\n};\n\nexport const input = {\n default: 'block text-m mb-0 leading-m i-text-$color-input-text-filled i-bg-$color-input-background i-border-$color-input-border hover:i-border-$color-input-border-hover active:i-border-$color-input-border-active rounded-4 py-12 px-8 block border-1 w-full focusable focus:[--w-outline-offset:-2px] caret-current',\n textArea: 'min-h-[42] sm:min-h-[45]',\n disabled: 'i-bg-$color-input-background-disabled i-border-$color-input-border-disabled hover:i-border-$color-input-border-disabled! i-text-$color-input-text-disabled pointer-events-none',\n invalid: 'i-border-$color-input-border-negative i-text-$color-input-text-negative!',\n readOnly: 'pl-0 bg-transparent border-0 pointer-events-none i-text-$color-input-text-read-only',\n placeholder: 'placeholder:i-text-$color-input-text-placeholder',\n wrapper: 'relative',\n suffix: 'pr-40',\n prefix: 'pl-40',\n};\n\nexport const select = {\n default: 'block text-m mb-0 leading-m i-text-$color-select-text i-bg-$color-select-background i-border-$color-select-border hover:i-border-$color-select-border-hover active:i-border-$color-select-border-active rounded-4 py-12 px-8 block border-1 w-full focusable focus:[--w-outline-offset:-2px] appearance-none pr-32 cursor-pointer caret-current',\n disabled: 'i-bg-$color-select-background-disabled i-border-$color-select-border-disabled hover:i-border-$color-select-border-disabled! active:i-border-$color-select-border-disabled! i-text-$color-select-text-disabled pointer-events-none',\n invalid: 'i-border-$color-select-border-negative',\n readOnly: 'pl-0 bg-transparent border-0 pointer-events-none before:hidden',\n wrapper: 'relative',\n selectWrapper: `relative before:block before:absolute before:right-0 before:bottom-0 before:w-32 before:h-full before:pointer-events-none `,\n chevron: 'absolute top-[30%] block right-0 bottom-0 w-32 h-full i-text-$color-select-icon pointer-events-none cursor-pointer',\n chevronDisabled: 'opacity-25',\n};\n\nexport const label = {\n label: 'antialiased block relative text-s font-bold pb-4 cursor-pointer i-text-$color-label-text',\n labelInvalid: 'i-text-$color-label-text-negative',\n optional: 'pl-8 font-normal text-s i-text-$color-label-optional-text',\n};\n\nexport const helpText = {\n helpText: 'text-xs mt-4 block i-text-$color-helptext-text',\n helpTextValid: 'i-text-$color-helptext-text-positive',\n helpTextInvalid: 'i-text-$color-helptext-text-negative',\n};\n\nconst prefixSuffixWrapperBase =\n 'absolute top-0 bottom-0 flex justify-center items-center focusable focus:[--w-outline-offset:-2px] bg-transparent ';\n\nexport const suffix = {\n wrapper: prefixSuffixWrapperBase + 'right-0',\n wrapperWithLabel: 'w-max pr-12',\n wrapperWithIcon: 'w-40',\n label: 'antialiased block relative cursor-default pb-0 font-bold text-xs i-text-$color-label-text',\n};\n\nexport const prefix = {\n wrapper: prefixSuffixWrapperBase + 'left-0',\n wrapperWithLabel: 'w-max pl-12',\n wrapperWithIcon: 'w-40',\n label: 'antialiased block relative cursor-default pb-0 font-bold text-xs i-text-$color-label-text',\n};\n\nexport const breadcrumbs = {\n wrapper: 'flex space-x-8',\n text: 'i-text-$color-breadcrumbs-text',\n link: 'i-text-$color-breadcrumbs-link-text',\n separator: 'select-none i-text-$color-breadcrumbs-icon',\n a11y: 'sr-only',\n};\n\nexport const toggle = {\n field: 'relative text-m',\n wrapper: 'relative py-1',\n deadToggleWrapper: 'h-20 w-20 pointer-events-none',\n input: 'peer',\n deadToggleInput: 'hidden',\n inputDisabled: 'pointer-events-none',\n focusable: 'peer-focus:focusable',\n focusableWithin: 'focus-within:focusable',\n label: 'cursor-pointer text-m i-text-$color-label-text py-2 pl-28 select-none relative block before:block before:border before:absolute before:transition-all before:left-0 before:w-20 before:h-20 before:top-2',\n deadToggleLabel: '-mt-2',\n noContent: `before:content-[\"\"]`,\n indeterminate: `before:flex! before:items-center before:justify-center before:i-text-$color-checkbox-icon before:text-center before:font-bold before:content-[\"-\"] peer-indeterminate:before:i-border-$color-checkbox-border-selected peer-indeterminate:before:i-bg-$color-checkbox-background-selected peer-indeterminate:hover:before:i-border-$color-checkbox-border-hover peer-indeterminate:hover:before:i-bg-$color-checkbox-background-selected-hover`,\n labelDisabled: 'pointer-events-none',\n checkbox: 'before:rounded-2 hover:before:i-border-$color-checkbox-border-hover hover:before:i-bg-$color-checkbox-background-hover',\n checkboxChecked: 'peer-checked:before:i-border-$color-checkbox-border-selected peer-checked:before:i-bg-$color-checkbox-background-selected peer-checked:peer-hover:before:i-border-$color-checkbox-border-selected-hover peer-checked:peer-hover:before:i-bg-$color-checkbox-background-selected-hover',\n checkboxInvalid: 'before:i-bg-$color-checkbox-negative-background hover:before:i-bg-$color-checkbox-negative-background-hover peer-checked:before:i-border-$color-checkbox-negative-border-selected hover:before:i-border-$color-checkbox-negative-border-hover peer-checked:before:i-bg-$color-checkbox-negative-background-selected peer-checked:peer-hover:before:i-bg-$color-checkbox-negative-background-selected-hover peer-checked:peer-hover:before:i-border-$color-checkbox-negative-border-selected-hover',\n checkboxDisabled: 'before:i-bg-$color-checkbox-background-disabled before:i-border-$color-checkbox-border-disabled peer-checked:before:i-border-$color-checkbox-border-selected-disabled peer-checked:before:i-bg-$color-checkbox-background-selected-disabled',\n labelCheckboxBorder: 'i-border-$color-checkbox-border',\n radio: 'before:rounded-full peer-checked:before:border-[6] peer-checked:peer-hover:before:i-border-$color-radio-border-selected-hover peer-hover:before:i-border-$color-radio-border-hover peer-hover:before:i-bg-$color-radio-background-hover',\n radioChecked: 'peer-checked:before:i-border-$color-radio-border-selected',\n radioInvalid: 'before:i-bg-$color-radio-negative-background peer-hover:before:i-bg-$color-radio-negative-background-hover before:i-border-$color-radio-negative-border peer-hover:before:i-border-$color-radio-negative-border-hover peer-checked:before:i-border-$color-radio-negative-border-selected peer-checked:peer-hover:before:i-border-$color-radio-negative-border-selected-hover ',\n radioDisabled: 'before:i-bg-$color-radio-background-disabled before:i-border-$color-radio-border-disabled peer-checked:before:i-border-$color-radio-border-selected-disabled',\n labelRadioBorder: 'i-border-$color-radio-border',\n radioButtons: 'inline-flex relative font-bold rounded-8',\n radioButtonsGroup: 'group',\n radioButtonsLabel: 'peer-hover:peer-not-checked:i-bg-$color-buttongroup-primary-background-hover peer-checked:i-text-$color-buttongroup-primary-text-selected peer-checked:i-bg-$color-buttongroup-primary-background-selected peer-checked:i-border-$color-buttongroup-primary-border-selected block relative text-s font-bold cursor-pointer i-text-$color-buttongroup-primary-text text-center i-bg-$color-buttongroup-primary-background border-2 i-border-$color-buttongroup-primary-border py-8 pl-12 pr-14 group-first-of-type:rounded-tl-8 group-first-of-type:rounded-bl-8 group-last-of-type:rounded-tr-8 group-last-of-type:rounded-br-8 group-not-last-of-type:border-r-0 peer-checked:z-10 group-not-first:-ml-2',\n radioButtonsJustified: 'flex!',\n radioButtonsGroupJustified: 'grow-1 shrink-0 basis-auto',\n radioButtonsLabelSmall: 'text-xs py-[5px]! px-[8px]!',\n icon: `peer-checked:before:bg-center before:bg-[url(var(--w-form-check-mark))]`,\n a11y: 'sr-only',\n};\n\nexport const clickable = {\n toggle: 'absolute inset-0 h-full w-full appearance-none cursor-pointer focusable focusable-inset',\n label: `px-12 ${label.label} py-8! cursor-pointer focusable focusable-inset`,\n buttonOrLink: 'bg-transparent focusable',\n buttonOrLinkStretch: 'inset-0 absolute',\n};\n\nexport const combobox = {\n wrapper: 'relative',\n combobox: 'absolute left-0 right-0 pb-8 rounded-8 i-bg-$color-combobox-background i-shadow-$shadow-combobox',\n textMatch: 'font-bold',\n listbox: 'm-0 p-0 select-none list-none',\n option: 'block cursor-pointer p-8 hover:i-bg-$color-combobox-option-background-hover',\n optionSelected: 'i-bg-$color-combobox-option-background-selected hover:i-bg-$color-combobox-option-background-selected-hover',\n a11y: 'sr-only',\n};\n\nexport const attention = {\n base: 'border-2 relative flex items-start',\n tooltip:\n 'i-bg-$color-tooltip-background i-border-$color-tooltip-background i-shadow-$shadow-tooltip i-text-$color-tooltip-text rounded-4 py-6 px-8',\n callout: 'i-bg-$color-callout-background i-border-$color-callout-border i-text-$color-callout-text py-8 px-16 rounded-8',\n highlight: 'i-bg-$color-callout-background i-border-$color-callout-border i-text-$color-callout-text py-8 px-16 rounded-8 drop-shadow-m',\n popover:\n 'i-bg-$color-popover-background i-border-$color-popover-background i-text-$color-popover-paragraph-text rounded-8 p-16 drop-shadow-m',\n arrowBase:\n 'absolute h-[14px] w-[14px] border-2 border-b-0 border-r-0 rounded-tl-4 transform',\n arrowDirectionLeft: '-left-[8px]',\n arrowDirectionRight: '-right-[8px]',\n arrowDirectionBottom: '-bottom-[8px]',\n arrowDirectionTop: '-top-[8px]',\n arrowTooltip: 'i-bg-$color-tooltip-background i-border-$color-tooltip-background',\n arrowCallout: 'i-bg-$color-callout-background i-border-$color-callout-border',\n arrowPopover: 'i-bg-$color-popover-background i-border-$color-popover-background',\n arrowHighlight: 'i-bg-$color-callout-background i-border-$color-callout-border',\n content: 'last-child:mb-0',\n notCallout: 'absolute z-50',\n closeBtn: `${buttonTextSizes.medium} ${buttonTypes.pill} ${buttonColors.pill} justify-self-end -mr-8 ml-8`,\n};", "const windowExists = (typeof window !== 'undefined')\n\nlet prefersMotion = true\n\nif (windowExists) {\n const query = window.matchMedia('(prefers-reduced-motion: reduce)')\n const callback = ({ matches }) => prefersMotion = !matches\n // older browsers don't support the new API, and the old API is deprecated\n if (query.addEventListener) query.addEventListener('change', callback)\n callback(query)\n}\n\nconst removeTransition = el => {\n el.style.transition = null\n el.style.backfaceVisibility = null\n el.style.overflow = null\n}\n\nconst addTransition = (el) => {\n // we set timing to something insanely short\n // when reducing motion so the after-* hooks still fire\n const timing = prefersMotion ? 'var(--f-expansion-duration, 0.3s)' : '0.01s'\n el.style.transition = `height ${timing}`\n el.style.backfaceVisibility = 'hidden'\n el.style.overflow = 'hidden'\n}\n\nconst getAfterExpandCallback = (el, done) => () => {\n el.style.height = 'auto'\n el.style.overflow = null\n if (done) done()\n}\n\nconst getAfterCollapseCallback = (done) => () => {\n if (done) done()\n}\n\n/**\n * Transitions an element from 0 to a detected height\n * Will return a Promise when no 'done' callback is provided\n * @type {(el: HTMLElement, done?: function) => void | Promise<void>}\n */\nexport const expand = (el, done) => {\n const returnPromise = (() => {\n if (!done) return new Promise(r => { done = r })\n })()\n const afterExpandCallback = getAfterExpandCallback(el, done)\n removeTransition(el)\n el.style.height = 'auto'\n let dest = el.scrollHeight\n windowExists && requestAnimationFrame(() => {\n el.addEventListener('transitionend', afterExpandCallback, { once: true })\n el.style.height = '0px'\n el.style.transitionTimingFunction = 'ease-out'\n addTransition(el)\n requestAnimationFrame(() => el.style.height = dest + 'px')\n })\n if (returnPromise) return returnPromise\n}\n\n/**\n * Transitions an element from a detected height to 0\n * Will return a Promise when no 'done' callback is provided\n * @type {(el: HTMLElement, done?: function) => void | Promise<void>}\n */\nexport const collapse = (el, done) => {\n const returnPromise = (() => {\n if (!done) return new Promise(r => { done = r })\n })()\n const afterCollapseCallback = getAfterCollapseCallback(done)\n removeTransition(el)\n let original = el.scrollHeight\n windowExists && requestAnimationFrame(() => {\n el.addEventListener('transitionend', afterCollapseCallback, { once: true })\n el.style.height = original + 'px'\n el.style.transitionTimingFunction = 'ease-in'\n addTransition(el)\n requestAnimationFrame(() => el.style.height = '0px')\n })\n if (returnPromise) return returnPromise\n}\n", "\"use strict\";\n// NOTE: don't construct errors here or they'll have the wrong stack trace.\n// NOTE: don't make custom error class; the JS engines use `SyntaxError`\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.errorMessages = exports.ErrorType = void 0;\n/**\n * Keys for possible error messages used by `unraw`.\n * Note: These do _not_ map to actual error object types. All errors thrown\n * are `SyntaxError`.\n */\n// Don't use const enum or JS users won't be able to access the enum values\nvar ErrorType;\n(function (ErrorType) {\n /**\n * Thrown when a badly formed Unicode escape sequence is found. Possible\n * reasons include the code being too short (`\"\\u25\"`) or having invalid\n * characters (`\"\\u2$A5\"`).\n */\n ErrorType[\"MalformedUnicode\"] = \"MALFORMED_UNICODE\";\n /**\n * Thrown when a badly formed hexadecimal escape sequence is found. Possible\n * reasons include the code being too short (`\"\\x2\"`) or having invalid\n * characters (`\"\\x2$\"`).\n */\n ErrorType[\"MalformedHexadecimal\"] = \"MALFORMED_HEXADECIMAL\";\n /**\n * Thrown when a Unicode code point escape sequence has too high of a code\n * point. The maximum code point allowed is `\\u{10FFFF}`, so `\\u{110000}` and\n * higher will throw this error.\n */\n ErrorType[\"CodePointLimit\"] = \"CODE_POINT_LIMIT\";\n /**\n * Thrown when an octal escape sequences is encountered and `allowOctals` is\n * `false`. For example, `unraw(\"\\234\", false)`.\n */\n ErrorType[\"OctalDeprecation\"] = \"OCTAL_DEPRECATION\";\n /**\n * Thrown only when a single backslash is found at the end of a string. For\n * example, `\"\\\\\"` or `\"test\\\\x24\\\\\"`.\n */\n ErrorType[\"EndOfString\"] = \"END_OF_STRING\";\n})(ErrorType = exports.ErrorType || (exports.ErrorType = {}));\n/** Map of error message names to the full text of the message. */\nexports.errorMessages = new Map([\n [ErrorType.MalformedUnicode, \"malformed Unicode character escape sequence\"],\n [\n ErrorType.MalformedHexadecimal,\n \"malformed hexadecimal character escape sequence\"\n ],\n [\n ErrorType.CodePointLimit,\n \"Unicode codepoint must not be greater than 0x10FFFF in escape sequence\"\n ],\n [\n ErrorType.OctalDeprecation,\n '\"0\"-prefixed octal literals and octal escape sequences are deprecated; ' +\n 'for octal literals use the \"0o\" prefix instead'\n ],\n [ErrorType.EndOfString, \"malformed escape sequence at end of string\"]\n]);\n", "\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.unraw = exports.errorMessages = exports.ErrorType = void 0;\nconst errors_1 = require(\"./errors\");\nObject.defineProperty(exports, \"ErrorType\", { enumerable: true, get: function () { return errors_1.ErrorType; } });\nObject.defineProperty(exports, \"errorMessages\", { enumerable: true, get: function () { return errors_1.errorMessages; } });\n/**\n * Parse a string as a base-16 number. This is more strict than `parseInt` as it\n * will not allow any other characters, including (for example) \"+\", \"-\", and\n * \".\".\n * @param hex A string containing a hexadecimal number.\n * @returns The parsed integer, or `NaN` if the string is not a valid hex\n * number.\n */\nfunction parseHexToInt(hex) {\n const isOnlyHexChars = !hex.match(/[^a-f0-9]/i);\n return isOnlyHexChars ? parseInt(hex, 16) : NaN;\n}\n/**\n * Check the validity and length of a hexadecimal code and optionally enforces\n * a specific number of hex digits.\n * @param hex The string to validate and parse.\n * @param errorName The name of the error message to throw a `SyntaxError` with\n * if `hex` is invalid. This is used to index `errorMessages`.\n * @param enforcedLength If provided, will throw an error if `hex` is not\n * exactly this many characters.\n * @returns The parsed hex number as a normal number.\n * @throws {SyntaxError} If the code is not valid.\n */\nfunction validateAndParseHex(hex, errorName, enforcedLength) {\n const parsedHex = parseHexToInt(hex);\n if (Number.isNaN(parsedHex) ||\n (enforcedLength !== undefined && enforcedLength !== hex.length)) {\n throw new SyntaxError(errors_1.errorMessages.get(errorName));\n }\n return parsedHex;\n}\n/**\n * Parse a two-digit hexadecimal character escape code.\n * @param code The two-digit hexadecimal number that represents the character to\n * output.\n * @returns The single character represented by the code.\n * @throws {SyntaxError} If the code is not valid hex or is not the right\n * length.\n */\nfunction parseHexadecimalCode(code) {\n const parsedCode = validateAndParseHex(code, errors_1.ErrorType.MalformedHexadecimal, 2);\n return String.fromCharCode(parsedCode);\n}\n/**\n * Parse a four-digit Unicode character escape code.\n * @param code The four-digit unicode number that represents the character to\n * output.\n * @param surrogateCode Optional four-digit unicode surrogate that represents\n * the other half of the character to output.\n * @returns The single character represented by the code.\n * @throws {SyntaxError} If the codes are not valid hex or are not the right\n * length.\n */\nfunction parseUnicodeCode(code, surrogateCode) {\n const parsedCode = validateAndParseHex(code, errors_1.ErrorType.MalformedUnicode, 4);\n if (surrogateCode !== undefined) {\n const parsedSurrogateCode = validateAndParseHex(surrogateCode, errors_1.ErrorType.MalformedUnicode, 4);\n return String.fromCharCode(parsedCode, parsedSurrogateCode);\n }\n return String.fromCharCode(parsedCode);\n}\n/**\n * Test if the text is surrounded by curly braces (`{}`).\n * @param text Text to check.\n * @returns `true` if the text is in the form `{*}`.\n */\nfunction isCurlyBraced(text) {\n return text.charAt(0) === \"{\" && text.charAt(text.length - 1) === \"}\";\n}\n/**\n * Parse a Unicode code point character escape code.\n * @param codePoint A unicode escape code point, including the surrounding curly\n * braces.\n * @returns The single character represented by the code.\n * @throws {SyntaxError} If the code is not valid hex or does not have the\n * surrounding curly braces.\n */\nfunction parseUnicodeCodePointCode(codePoint) {\n if (!isCurlyBraced(codePoint)) {\n throw new SyntaxError(errors_1.errorMessages.get(errors_1.ErrorType.MalformedUnicode));\n }\n const withoutBraces = codePoint.slice(1, -1);\n const parsedCode = validateAndParseHex(withoutBraces, errors_1.ErrorType.MalformedUnicode);\n try {\n return String.fromCodePoint(parsedCode);\n }\n catch (err) {\n throw err instanceof RangeError\n ? new SyntaxError(errors_1.errorMessages.get(errors_1.ErrorType.CodePointLimit))\n : err;\n }\n}\n// Have to give overload that takes boolean for when compiler doesn't know if\n// true or false\nfunction parseOctalCode(code, error = false) {\n if (error) {\n throw new SyntaxError(errors_1.errorMessages.get(errors_1.ErrorType.OctalDeprecation));\n }\n // The original regex only allows digits so we don't need to have a strict\n // octal parser like hexToInt. Length is not enforced for octals.\n const parsedCode = parseInt(code, 8);\n return String.fromCharCode(parsedCode);\n}\n/**\n * Map of unescaped letters to their corresponding special JS escape characters.\n * Intentionally does not include characters that map to themselves like \"\\'\".\n */\nconst singleCharacterEscapes = new Map([\n [\"b\", \"\\b\"],\n [\"f\", \"\\f\"],\n [\"n\", \"\\n\"],\n [\"r\", \"\\r\"],\n [\"t\", \"\\t\"],\n [\"v\", \"\\v\"],\n [\"0\", \"\\0\"]\n]);\n/**\n * Parse a single character escape sequence and return the matching character.\n * If none is matched, defaults to `code`.\n * @param code A single character code.\n */\nfunction parseSingleCharacterCode(code) {\n return singleCharacterEscapes.get(code) || code;\n}\n/**\n * Matches every escape sequence possible, including invalid ones.\n *\n * All capture groups (described below) are unique (only one will match), except\n * for 4, which can only potentially match if 3 does.\n *\n * **Capture Groups:**\n * 0. A single backslash\n * 1. Hexadecimal code\n * 2. Unicode code point code with surrounding curly braces\n * 3. Unicode escape code with surrogate\n * 4. Surrogate code\n * 5. Unicode escape code without surrogate\n * 6. Octal code _NOTE: includes \"0\"._\n * 7. A single character (will never be \\, x, u, or 0-3)\n */\nconst escapeMatch = /\\\\(?:(\\\\)|x([\\s\\S]{0,2})|u(\\{[^}]*\\}?)|u([\\s\\S]{4})\\\\u([^{][\\s\\S]{0,3})|u([\\s\\S]{0,4})|([0-3]?[0-7]{1,2})|([\\s\\S])|$)/g;\n/**\n * Replace raw escape character strings with their escape characters.\n * @param raw A string where escape characters are represented as raw string\n * values like `\\'` rather than `'`.\n * @param allowOctals If `true`, will process the now-deprecated octal escape\n * sequences (ie, `\\111`).\n * @returns The processed string, with escape characters replaced by their\n * respective actual Unicode characters.\n */\nfunction unraw(raw, allowOctals = false) {\n return raw.replace(escapeMatch, function (_, backslash, hex, codePoint, unicodeWithSurrogate, surrogate, unicode, octal, singleCharacter) {\n // Compare groups to undefined because empty strings mean different errors\n // Otherwise, `\\u` would fail the same as `\\` which is wrong.\n if (backslash !== undefined) {\n return \"\\\\\";\n }\n if (hex !== undefined) {\n return parseHexadecimalCode(hex);\n }\n if (codePoint !== undefined) {\n return parseUnicodeCodePointCode(codePoint);\n }\n if (unicodeWithSurrogate !== undefined) {\n return parseUnicodeCode(unicodeWithSurrogate, surrogate);\n }\n if (unicode !== undefined) {\n return parseUnicodeCode(unicode);\n }\n if (octal === \"0\") {\n return \"\\0\";\n }\n if (octal !== undefined) {\n return parseOctalCode(octal, !allowOctals);\n }\n if (singleCharacter !== undefined) {\n return parseSingleCharacterCode(singleCharacter);\n }\n throw new SyntaxError(errors_1.errorMessages.get(errors_1.ErrorType.EndOfString));\n });\n}\nexports.unraw = unraw;\nexports.default = unraw;\n", "import { LitElement } from 'lit';\nimport { unsafeStatic, html } from \"lit/static-html.js\";\nimport { i18n } from '@lingui/core';\nimport { messages as nbMessages} from '../src/raw/alert-warning/locales/nb/messages.mjs';\nimport { messages as enMessages} from '../src/raw/alert-warning/locales/en/messages.mjs';\nimport { messages as fiMessages} from '../src/raw/alert-warning/locales/fi/messages.mjs';\nimport { activateI18n } from '../src/utils/i18n';\nactivateI18n(enMessages, nbMessages, fiMessages);\n\n\nexport class IconAlertWarning16 extends LitElement {\n render() {\n const title = i18n.t({ message: `Yellow warning triangle with exclamation point`, id: 'icon.title.alert-warning', comment: 'Title for alert warning icon' });\n \n return html`<svg xmlns=\"http://www.w3.org/2000/svg\"width=\"16\"height=\"16\"fill=\"none\"viewBox=\"0 0 16 16\">${unsafeStatic(`<title>${title}</title>`)}<path fill=\"currentColor\" d=\"M.245 12.01 6.159 1.083c.782-1.445 2.9-1.445 3.682 0l5.914 10.925c.734 1.357-.271 2.991-1.84 2.991H2.084C.517 15-.49 13.366.246 12.01Z\"></path><path fill=\"#fff\" fill-rule=\"evenodd\" d=\"M8 3.25a.75.75 0 0 1 .75.75v5a.75.75 0 0 1-1.5 0V4A.75.75 0 0 1 8 3.25Z\" clip-rule=\"evenodd\"></path><path fill=\"#fff\" d=\"M8.8 11.8a.8.8 0 1 1-1.6 0 .8.8 0 0 1 1.6 0Z\"></path></svg>`; }\n}\nif (!customElements.get('w-icon-alert-warning-16')) {\n customElements.define('w-icon-alert-warning-16', IconAlertWarning16);\n}", "import unraw from 'unraw';\nimport { compileMessage } from '@lingui/message-utils/compileMessage';\n\nconst isString = (s) => typeof s === \"string\";\nconst isFunction = (f) => typeof f === \"function\";\n\nconst cache = /* @__PURE__ */ new Map();\nfunction normalizeLocales(locales) {\n const out = Array.isArray(locales) ? locales : [locales];\n return [...out, \"en\"];\n}\nfunction date(locales, value, format) {\n const _locales = normalizeLocales(locales);\n const formatter = getMemoized(\n () => cacheKey(\"date\", _locales, format),\n () => new Intl.DateTimeFormat(_locales, format)\n );\n return formatter.format(isString(value) ? new Date(value) : value);\n}\nfunction number(locales, value, format) {\n const _locales = normalizeLocales(locales);\n const formatter = getMemoized(\n () => cacheKey(\"number\", _locales, format),\n () => new Intl.NumberFormat(_locales, format)\n );\n return formatter.format(value);\n}\nfunction plural(locales, ordinal, value, { offset = 0, ...rules }) {\n const _locales = normalizeLocales(locales);\n const plurals = ordinal ? getMemoized(\n () => cacheKey(\"plural-ordinal\", _locales),\n () => new Intl.PluralRules(_locales, { type: \"ordinal\" })\n ) : getMemoized(\n () => cacheKey(\"plural-cardinal\", _locales),\n () => new Intl.PluralRules(_locales, { type: \"cardinal\" })\n );\n return rules[value] ?? rules[plurals.select(value - offset)] ?? rules.other;\n}\nfunction getMemoized(getKey, construct) {\n const key = getKey();\n let formatter = cache.get(key);\n if (!formatter) {\n formatter = construct();\n cache.set(key, formatter);\n }\n return formatter;\n}\nfunction cacheKey(type, locales, options) {\n const localeKey = locales.join(\"-\");\n return `${type}-${localeKey}-${JSON.stringify(options)}`;\n}\n\nconst formats = {\n __proto__: null,\n date: date,\n number: number,\n plural: plural\n};\n\nconst UNICODE_REGEX = /\\\\u[a-fA-F0-9]{4}|\\\\x[a-fA-F0-9]{2}/g;\nconst getDefaultFormats = (locale, locales, formats = {}) => {\n locales = locales || locale;\n const style = (format) => isString(format) ? formats[format] || { style: format } : format;\n const replaceOctothorpe = (value, message) => {\n const numberFormat = Object.keys(formats).length ? style(\"number\") : {};\n const valueStr = number(locales, value, numberFormat);\n return message.replace(\"#\", valueStr);\n };\n return {\n plural: (value, cases) => {\n const { offset = 0 } = cases;\n const message = plural(locales, false, value, cases);\n return replaceOctothorpe(value - offset, message);\n },\n selectordinal: (value, cases) => {\n const { offset = 0 } = cases;\n const message = plural(locales, true, value, cases);\n return replaceOctothorpe(value - offset, message);\n },\n select: (value, rules) => rules[value] ?? rules.other,\n number: (value, format) => number(locales, value, style(format)),\n date: (value, format) => date(locales, value, style(format)),\n undefined: (value) => value\n };\n};\nfunction interpolate(translation, locale, locales) {\n return (values, formats = {}) => {\n const formatters = getDefaultFormats(locale, locales, formats);\n const formatMessage = (message) => {\n if (!Array.isArray(message))\n return message;\n return message.reduce((message2, token) => {\n if (isString(token))\n return message2 + token;\n const [name, type, format] = token;\n let interpolatedFormat = {};\n if (format != null && !isString(format)) {\n Object.keys(format).forEach((key) => {\n interpolatedFormat[key] = formatMessage(format[key]);\n });\n } else {\n interpolatedFormat = format;\n }\n const value = formatters[type](values[name], interpolatedFormat);\n if (value == null)\n return message2;\n return message2 + value;\n }, \"\");\n };\n const result = formatMessage(translation);\n if (isString(result) && UNICODE_REGEX.test(result)) {\n return unraw(result.trim());\n }\n if (isString(result))\n return result.trim();\n return result;\n };\n}\n\nvar __defProp$1 = Object.defineProperty;\nvar __defNormalProp$1 = (obj, key, value) => key in obj ? __defProp$1(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;\nvar __publicField$1 = (obj, key, value) => {\n __defNormalProp$1(obj, typeof key !== \"symbol\" ? key + \"\" : key, value);\n return value;\n};\nclass EventEmitter {\n constructor() {\n __publicField$1(this, \"_events\", {});\n }\n on(event, listener) {\n if (!this._hasEvent(event))\n this._events[event] = [];\n this._events[event].push(listener);\n return () => this.removeListener(event, listener);\n }\n removeListener(event, listener) {\n if (!this._hasEvent(event))\n return;\n const index = this._events[event].indexOf(listener);\n if (~index)\n this._events[event].splice(index, 1);\n }\n emit(event, ...args) {\n if (!this._hasEvent(event))\n return;\n this._events[event].map((listener) => listener.apply(this, args));\n }\n _hasEvent(event) {\n return Array.isArray(this._events[event]);\n }\n}\n\nvar __defProp = Object.defineProperty;\nvar __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;\nvar __publicField = (obj, key, value) => {\n __defNormalProp(obj, typeof key !== \"symbol\" ? key + \"\" : key, value);\n return value;\n};\nclass I18n extends EventEmitter {\n constructor(params) {\n super();\n __publicField(this, \"_locale\");\n __publicField(this, \"_locales\");\n __publicField(this, \"_localeData\");\n __publicField(this, \"_messages\");\n __publicField(this, \"_missing\");\n /**\n * Alias for {@see I18n._}\n */\n __publicField(this, \"t\", this._.bind(this));\n this._messages = {};\n this._localeData = {};\n if (params.missing != null)\n this._missing = params.missing;\n if (params.messages != null)\n this.load(params.messages);\n if (params.localeData != null)\n this.loadLocaleData(params.localeData);\n if (params.locale != null || params.locales != null) {\n this.activate(params.locale, params.locales);\n }\n }\n get locale() {\n return this._locale;\n }\n get locales() {\n return this._locales;\n }\n get messages() {\n return this._messages[this._locale] ?? {};\n }\n /**\n * @deprecated this has no effect. Please remove this from the code. Deprecated in v4\n */\n get localeData() {\n return this._localeData[this._locale] ?? {};\n }\n _loadLocaleData(locale, localeData) {\n if (this._localeData[locale] == null) {\n this._localeData[locale] = localeData;\n } else {\n Object.assign(this._localeData[locale], localeData);\n }\n }\n /**\n * @deprecated Plurals automatically used from Intl.PluralRules you can safely remove this call. Deprecated in v4\n */\n loadLocaleData(localeOrAllData, localeData) {\n if (localeData != null) {\n this._loadLocaleData(localeOrAllData, localeData);\n } else {\n Object.keys(localeOrAllData).forEach(\n (locale) => this._loadLocaleData(locale, localeOrAllData[locale])\n );\n }\n this.emit(\"change\");\n }\n _load(locale, messages) {\n if (this._messages[locale] == null) {\n this._messages[locale] = messages;\n } else {\n Object.assign(this._messages[locale], messages);\n }\n }\n load(localeOrMessages, messages) {\n if (messages != null) {\n this._load(localeOrMessages, messages);\n } else {\n Object.keys(localeOrMessages).forEach(\n (locale) => this._load(locale, localeOrMessages[locale])\n );\n }\n this.emit(\"change\");\n }\n /**\n * @param options {@link LoadAndActivateOptions}\n */\n loadAndActivate({ locale, locales, messages }) {\n this._locale = locale;\n this._locales = locales || void 0;\n this._messages[this._locale] = messages;\n this.emit(\"change\");\n }\n activate(locale, locales) {\n if (process.env.NODE_ENV !== \"production\") {\n if (!this._messages[locale]) {\n console.warn(`Messages for locale \"${locale}\" not loaded.`);\n }\n }\n this._locale = locale;\n this._locales = locales;\n this.emit(\"change\");\n }\n _(id, values = {}, { message, formats } = {}) {\n if (!isString(id)) {\n values = id.values || values;\n message = id.message;\n id = id.id;\n }\n const messageMissing = !this.messages[id];\n const missing = this._missing;\n if (missing && messageMissing) {\n return isFunction(missing) ? missing(this._locale, id) : missing;\n }\n if (messageMissing) {\n this.emit(\"missing\", { id, locale: this._locale });\n }\n let translation = this.messages[id] || message || id;\n if (process.env.NODE_ENV !== \"production\") {\n translation = isString(translation) ? compileMessage(translation) : translation;\n }\n if (isString(translation) && UNICODE_REGEX.test(translation))\n return JSON.parse(`\"${translation}\"`);\n if (isString(translation))\n return translation;\n return interpolate(\n translation,\n this._locale,\n this._locales\n )(values, formats);\n }\n date(value, format) {\n return date(this._locales || this._locale, value, format);\n }\n number(value, format) {\n return number(this._locales || this._locale, value, format);\n }\n}\nfunction setupI18n(params = {}) {\n return new I18n(params);\n}\n\nconst i18n = setupI18n();\n\nexport { I18n, formats, i18n, setupI18n };\n", "/*eslint-disable*/export const messages=JSON.parse(\"{\\\"icon.title.alert-warning\\\":\\\"Gul varseltrekant med utropstegn\\\"}\");", "/*eslint-disable*/export const messages=JSON.parse(\"{\\\"icon.title.alert-warning\\\":\\\"Yellow warning triangle with exclamation point\\\"}\");", "/*eslint-disable*/export const messages=JSON.parse(\"{\\\"icon.title.alert-warning\\\":\\\"Keltainen varoituskolmio, jonka sis\u00E4ll\u00E4 on huutomerkki\\\"}\");", "import { Messages, i18n } from '@lingui/core';\n\nexport const supportedLocales = ['en', 'nb', 'fi'] as const;\ntype SupportedLocale = (typeof supportedLocales)[number];\n\nexport const defaultLocale = 'en';\n\nexport const getSupportedLocale = (usedLocale: string) => {\n return (\n supportedLocales.find(\n (locale) =>\n usedLocale === locale || usedLocale.toLowerCase().includes(locale)\n ) || defaultLocale\n );\n};\n\nexport function detectLocale(): SupportedLocale {\n if (typeof window === 'undefined') {\n /**\n * Server locale detection. This requires e.g LANG environment variable to be set on the server.\n */\n const serverLocale =\n process.env.NMP_LANGUAGE ||\n Intl.DateTimeFormat().resolvedOptions().locale;\n return getSupportedLocale(serverLocale);\n }\n\n try {\n /**\n * Client locale detection. Expects the lang attribute to be defined.\n */\n const htmlLocale = document.documentElement.lang;\n return getSupportedLocale(htmlLocale);\n } catch (e) {\n console.warn('could not detect locale, falling back to source locale', e);\n return defaultLocale;\n }\n}\n\nexport const getMessages = (\n locale: SupportedLocale,\n enMsg: Messages,\n nbMsg: Messages,\n fiMsg: Messages\n) => {\n if (locale === 'nb') return nbMsg;\n if (locale === 'fi') return fiMsg;\n // Default to English\n return enMsg;\n};\n\nexport const activateI18n = (\n enMessages: Messages,\n nbMessages: Messages,\n fiMessages: Messages\n) => {\n const locale = detectLocale();\n const messages = getMessages(locale, enMessages, nbMessages, fiMessages);\n i18n.load(locale, messages);\n i18n.activate(locale);\n};\n", "\"use strict\";\n// NOTE: don't construct errors here or they'll have the wrong stack trace.\n// NOTE: don't make custom error class; the JS engines use `SyntaxError`\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.errorMessages = exports.ErrorType = void 0;\n/**\n * Keys for possible error messages used by `unraw`.\n * Note: These do _not_ map to actual error object types. All errors thrown\n * are `SyntaxError`.\n */\n// Don't use const enum or JS users won't be able to access the enum values\nvar ErrorType;\n(function (ErrorType) {\n /**\n * Thrown when a badly formed Unicode escape sequence is found. Possible\n * reasons include the code being too short (`\"\\u25\"`) or having invalid\n * characters (`\"\\u2$A5\"`).\n */\n ErrorType[\"MalformedUnicode\"] = \"MALFORMED_UNICODE\";\n /**\n * Thrown when a badly formed hexadecimal escape sequence is found. Possible\n * reasons include the code being too short (`\"\\x2\"`) or having invalid\n * characters (`\"\\x2$\"`).\n */\n ErrorType[\"MalformedHexadecimal\"] = \"MALFORMED_HEXADECIMAL\";\n /**\n * Thrown when a Unicode code point escape sequence has too high of a code\n * point. The maximum code point allowed is `\\u{10FFFF}`, so `\\u{110000}` and\n * higher will throw this error.\n */\n ErrorType[\"CodePointLimit\"] = \"CODE_POINT_LIMIT\";\n /**\n * Thrown when an octal escape sequences is encountered and `allowOctals` is\n * `false`. For example, `unraw(\"\\234\", false)`.\n */\n ErrorType[\"OctalDeprecation\"] = \"OCTAL_DEPRECATION\";\n /**\n * Thrown only when a single backslash is found at the end of a string. For\n * example, `\"\\\\\"` or `\"test\\\\x24\\\\\"`.\n */\n ErrorType[\"EndOfString\"] = \"END_OF_STRING\";\n})(ErrorType = exports.ErrorType || (exports.ErrorType = {}));\n/** Map of error message names to the full text of the message. */\nexports.errorMessages = new Map([\n [ErrorType.MalformedUnicode, \"malformed Unicode character escape sequence\"],\n [\n ErrorType.MalformedHexadecimal,\n \"malformed hexadecimal character escape sequence\"\n ],\n [\n ErrorType.CodePointLimit,\n \"Unicode codepoint must not be greater than 0x10FFFF in escape sequence\"\n ],\n [\n ErrorType.OctalDeprecation,\n '\"0\"-prefixed octal literals and octal escape sequences are deprecated; ' +\n 'for octal literals use the \"0o\" prefix instead'\n ],\n [ErrorType.EndOfString, \"malformed escape sequence at end of string\"]\n]);\n", "\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.unraw = exports.errorMessages = exports.ErrorType = void 0;\nconst errors_1 = require(\"./errors\");\nObject.defineProperty(exports, \"ErrorType\", { enumerable: true, get: function () { return errors_1.ErrorType; } });\nObject.defineProperty(exports, \"errorMessages\", { enumerable: true, get: function () { return errors_1.errorMessages; } });\n/**\n * Parse a string as a base-16 number. This is more strict than `parseInt` as it\n * will not allow any other characters, including (for example) \"+\", \"-\", and\n * \".\".\n * @param hex A string containing a hexadecimal number.\n * @returns The parsed integer, or `NaN` if the string is not a valid hex\n * number.\n */\nfunction parseHexToInt(hex) {\n const isOnlyHexChars = !hex.match(/[^a-f0-9]/i);\n return isOnlyHexChars ? parseInt(hex, 16) : NaN;\n}\n/**\n * Check the validity and length of a hexadecimal code and optionally enforces\n * a specific number of hex digits.\n * @param hex The string to validate and parse.\n * @param errorName The name of the error message to throw a `SyntaxError` with\n * if `hex` is invalid. This is used to index `errorMessages`.\n * @param enforcedLength If provided, will throw an error if `hex` is not\n * exactly this many characters.\n * @returns The parsed hex number as a normal number.\n * @throws {SyntaxError} If the code is not valid.\n */\nfunction validateAndParseHex(hex, errorName, enforcedLength) {\n const parsedHex = parseHexToInt(hex);\n if (Number.isNaN(parsedHex) ||\n (enforcedLength !== undefined && enforcedLength !== hex.length)) {\n throw new SyntaxError(errors_1.errorMessages.get(errorName));\n }\n return parsedHex;\n}\n/**\n * Parse a two-digit hexadecimal character escape code.\n * @param code The two-digit hexadecimal number that represents the character to\n * output.\n * @returns The single character represented by the code.\n * @throws {SyntaxError} If the code is not valid hex or is not the right\n * length.\n */\nfunction parseHexadecimalCode(code) {\n const parsedCode = validateAndParseHex(code, errors_1.ErrorType.MalformedHexadecimal, 2);\n return String.fromCharCode(parsedCode);\n}\n/**\n * Parse a four-digit Unicode character escape code.\n * @param code The four-digit unicode number that represents the character to\n * output.\n * @param surrogateCode Optional four-digit unicode surrogate that represents\n * the other half of the character to output.\n * @returns The single character represented by the code.\n * @throws {SyntaxError} If the codes are not valid hex or are not the right\n * length.\n */\nfunction parseUnicodeCode(code, surrogateCode) {\n const parsedCode = validateAndParseHex(code, errors_1.ErrorType.MalformedUnicode, 4);\n if (surrogateCode !== undefined) {\n const parsedSurrogateCode = validateAndParseHex(surrogateCode, errors_1.ErrorType.MalformedUnicode, 4);\n return String.fromCharCode(parsedCode, parsedSurrogateCode);\n }\n return String.fromCharCode(parsedCode);\n}\n/**\n * Test if the text is surrounded by curly braces (`{}`).\n * @param text Text to check.\n * @returns `true` if the text is in the form `{*}`.\n */\nfunction isCurlyBraced(text) {\n return text.charAt(0) === \"{\" && text.charAt(text.length - 1) === \"}\";\n}\n/**\n * Parse a Unicode code point character escape code.\n * @param codePoint A unicode escape code point, including the surrounding curly\n * braces.\n * @returns The single character represented by the code.\n * @throws {SyntaxError} If the code is not valid hex or does not have the\n * surrounding curly braces.\n */\nfunction parseUnicodeCodePointCode(codePoint) {\n if (!isCurlyBraced(codePoint)) {\n throw new SyntaxError(errors_1.errorMessages.get(errors_1.ErrorType.MalformedUnicode));\n }\n const withoutBraces = codePoint.slice(1, -1);\n const parsedCode = validateAndParseHex(withoutBraces, errors_1.ErrorType.MalformedUnicode);\n try {\n return String.fromCodePoint(parsedCode);\n }\n catch (err) {\n throw err instanceof RangeError\n ? new SyntaxError(errors_1.errorMessages.get(errors_1.ErrorType.CodePointLimit))\n : err;\n }\n}\n// Have to give overload that takes boolean for when compiler doesn't know if\n// true or false\nfunction parseOctalCode(code, error = false) {\n if (error) {\n throw new SyntaxError(errors_1.errorMessages.get(errors_1.ErrorType.OctalDeprecation));\n }\n // The original regex only allows digits so we don't need to have a strict\n // octal parser like hexToInt. Length is not enforced for octals.\n const parsedCode = parseInt(code, 8);\n return String.fromCharCode(parsedCode);\n}\n/**\n * Map of unescaped letters to their corresponding special JS escape characters.\n * Intentionally does not include characters that map to themselves like \"\\'\".\n */\nconst singleCharacterEscapes = new Map([\n [\"b\", \"\\b\"],\n [\"f\", \"\\f\"],\n [\"n\", \"\\n\"],\n [\"r\", \"\\r\"],\n [\"t\", \"\\t\"],\n [\"v\", \"\\v\"],\n [\"0\", \"\\0\"]\n]);\n/**\n * Parse a single character escape sequence and return the matching character.\n * If none is matched, defaults to `code`.\n * @param code A single character code.\n */\nfunction parseSingleCharacterCode(code) {\n return singleCharacterEscapes.get(code) || code;\n}\n/**\n * Matches every escape sequence possible, including invalid ones.\n *\n * All capture groups (described below) are unique (only one will match), except\n * for 4, which can only potentially match if 3 does.\n *\n * **Capture Groups:**\n * 0. A single backslash\n * 1. Hexadecimal code\n * 2. Unicode code point code with surrounding curly braces\n * 3. Unicode escape code with surrogate\n * 4. Surrogate code\n * 5. Unicode escape code without surrogate\n * 6. Octal code _NOTE: includes \"0\"._\n * 7. A single character (will never be \\, x, u, or 0-3)\n */\nconst escapeMatch = /\\\\(?:(\\\\)|x([\\s\\S]{0,2})|u(\\{[^}]*\\}?)|u([\\s\\S]{4})\\\\u([^{][\\s\\S]{0,3})|u([\\s\\S]{0,4})|([0-3]?[0-7]{1,2})|([\\s\\S])|$)/g;\n/**\n * Replace raw escape character strings with their escape characters.\n * @param raw A string where escape characters are represented as raw string\n * values like `\\'` rather than `'`.\n * @param allowOctals If `true`, will process the now-deprecated octal escape\n * sequences (ie, `\\111`).\n * @returns The processed string, with escape characters replaced by their\n * respective actual Unicode characters.\n */\nfunction unraw(raw, allowOctals = false) {\n return raw.replace(escapeMatch, function (_, backslash, hex, codePoint, unicodeWithSurrogate, surrogate, unicode, octal, singleCharacter) {\n // Compare groups to undefined because empty strings mean different errors\n // Otherwise, `\\u` would fail the same as `\\` which is wrong.\n if (backslash !== undefined) {\n return \"\\\\\";\n }\n if (hex !== undefined) {\n return parseHexadecimalCode(hex);\n }\n if (codePoint !== undefined) {\n return parseUnicodeCodePointCode(codePoint);\n }\n if (unicodeWithSurrogate !== undefined) {\n return parseUnicodeCode(unicodeWithSurrogate, surrogate);\n }\n if (unicode !== undefined) {\n return parseUnicodeCode(unicode);\n }\n if (octal === \"0\") {\n return \"\\0\";\n }\n if (octal !== undefined) {\n return parseOctalCode(octal, !allowOctals);\n }\n if (singleCharacter !== undefined) {\n return parseSingleCharacterCode(singleCharacter);\n }\n throw new SyntaxError(errors_1.errorMessages.get(errors_1.ErrorType.EndOfString));\n });\n}\nexports.unraw = unraw;\nexports.default = unraw;\n", "import { LitElement } from 'lit';\nimport { unsafeStatic, html } from \"lit/static-html.js\";\nimport { i18n } from '@lingui/core';\nimport { messages as nbMessages} from '../src/raw/alert-error/locales/nb/messages.mjs';\nimport { messages as enMessages} from '../src/raw/alert-error/locales/en/messages.mjs';\nimport { messages as fiMessages} from '../src/raw/alert-error/locales/fi/messages.mjs';\nimport { activateI18n } from '../src/utils/i18n';\nactivateI18n(enMessages, nbMessages, fiMessages);\n\n\nexport class IconAlertError16 extends LitElement {\n render() {\n const title = i18n.t({ message: `Red octagon with white exclamation point`, id: 'icon.title.alert-error', comment: 'Title for alert error icon' });\n \n return html`<svg xmlns=\"http://www.w3.org/2000/svg\"width=\"16\"height=\"16\"fill=\"none\"viewBox=\"0 0 16 16\">${unsafeStatic(`<title>${title}</title>`)}<path fill=\"currentColor\" d=\"M4.1.586A2 2 0 0 1 5.516 0h4.97A2 2 0 0 1 11.9.586L15.413 4.1A2 2 0 0 1 16 5.514v4.97a2 2 0 0 1-.586 1.415L11.9 15.413a2 2 0 0 1-1.415.586h-4.97a2 2 0 0 1-1.414-.586L.586 11.9A2 2 0 0 1 0 10.485v-4.97A2 2 0 0 1 .586 4.1L4.1.586Z\"></path><path fill=\"#fff\" fill-rule=\"evenodd\" d=\"M8 3.25a.75.75 0 0 1 .75.75v5a.75.75 0 1 1-1.5 0V4A.75.75 0 0 1 8 3.25Z\" clip-rule=\"evenodd\"></path><path fill=\"#fff\" d=\"M8.8 11.8a.8.8 0 1 1-1.6 0 .8.8 0 0 1 1.6 0Z\"></path></svg>`; }\n}\nif (!customElements.get('w-icon-alert-error-16')) {\n customElements.define('w-icon-alert-error-16', IconAlertError16);\n}", "import unraw from 'unraw';\nimport { compileMessage } from '@lingui/message-utils/compileMessage';\n\nconst isString = (s) => typeof s === \"string\";\nconst isFunction = (f) => typeof f === \"function\";\n\nconst cache = /* @__PURE__ */ new Map();\nfunction normalizeLocales(locales) {\n const out = Array.isArray(locales) ? locales : [locales];\n return [...out, \"en\"];\n}\nfunction date(locales, value, format) {\n const _locales = normalizeLocales(locales);\n const formatter = getMemoized(\n () => cacheKey(\"date\", _locales, format),\n () => new Intl.DateTimeFormat(_locales, format)\n );\n return formatter.format(isString(value) ? new Date(value) : value);\n}\nfunction number(locales, value, format) {\n const _locales = normalizeLocales(locales);\n const formatter = getMemoized(\n () => cacheKey(\"number\", _locales, format),\n () => new Intl.NumberFormat(_locales, format)\n );\n return formatter.format(value);\n}\nfunction plural(locales, ordinal, value, { offset = 0, ...rules }) {\n const _locales = normalizeLocales(locales);\n const plurals = ordinal ? getMemoized(\n () => cacheKey(\"plural-ordinal\", _locales),\n () => new Intl.PluralRules(_locales, { type: \"ordinal\" })\n ) : getMemoized(\n () => cacheKey(\"plural-cardinal\", _locales),\n () => new Intl.PluralRules(_locales, { type: \"cardinal\" })\n );\n return rules[value] ?? rules[plurals.select(value - offset)] ?? rules.other;\n}\nfunction getMemoized(getKey, construct) {\n const key = getKey();\n let formatter = cache.get(key);\n if (!formatter) {\n formatter = construct();\n cache.set(key, formatter);\n }\n return formatter;\n}\nfunction cacheKey(type, locales, options) {\n const localeKey = locales.join(\"-\");\n return `${type}-${localeKey}-${JSON.stringify(options)}`;\n}\n\nconst formats = {\n __proto__: null,\n date: date,\n number: number,\n plural: plural\n};\n\nconst UNICODE_REGEX = /\\\\u[a-fA-F0-9]{4}|\\\\x[a-fA-F0-9]{2}/g;\nconst getDefaultFormats = (locale, locales, formats = {}) => {\n locales = locales || locale;\n const style = (format) => isString(format) ? formats[format] || { style: format } : format;\n const replaceOctothorpe = (value, message) => {\n const numberFormat = Object.keys(formats).length ? style(\"number\") : {};\n const valueStr = number(locales, value, numberFormat);\n return message.replace(\"#\", valueStr);\n };\n return {\n plural: (value, cases) => {\n const { offset = 0 } = cases;\n const message = plural(locales, false, value, cases);\n return replaceOctothorpe(value - offset, message);\n },\n selectordinal: (value, cases) => {\n const { offset = 0 } = cases;\n const message = plural(locales, true, value, cases);\n return replaceOctothorpe(value - offset, message);\n },\n select: (value, rules) => rules[value] ?? rules.other,\n number: (value, format) => number(locales, value, style(format)),\n date: (value, format) => date(locales, value, style(format)),\n undefined: (value) => value\n };\n};\nfunction interpolate(translation, locale, locales) {\n return (values, formats = {}) => {\n const formatters = getDefaultFormats(locale, locales, formats);\n const formatMessage = (message) => {\n if (!Array.isArray(message))\n return message;\n return message.reduce((message2, token) => {\n if (isString(token))\n return message2 + token;\n const [name, type, format] = token;\n let interpolatedFormat = {};\n if (format != null && !isString(format)) {\n Object.keys(format).forEach((key) => {\n interpolatedFormat[key] = formatMessage(format[key]);\n });\n } else {\n interpolatedFormat = format;\n }\n const value = formatters[type](values[name], interpolatedFormat);\n if (value == null)\n return message2;\n return message2 + value;\n }, \"\");\n };\n const result = formatMessage(translation);\n if (isString(result) && UNICODE_REGEX.test(result)) {\n return unraw(result.trim());\n }\n if (isString(result))\n return result.trim();\n return result;\n };\n}\n\nvar __defProp$1 = Object.defineProperty;\nvar __defNormalProp$1 = (obj, key, value) => key in obj ? __defProp$1(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;\nvar __publicField$1 = (obj, key, value) => {\n __defNormalProp$1(obj, typeof key !== \"symbol\" ? key + \"\" : key, value);\n return value;\n};\nclass EventEmitter {\n constructor() {\n __publicField$1(this, \"_events\", {});\n }\n on(event, listener) {\n if (!this._hasEvent(event))\n this._events[event] = [];\n this._events[event].push(listener);\n return () => this.removeListener(event, listener);\n }\n removeListener(event, listener) {\n if (!this._hasEvent(event))\n return;\n const index = this._events[event].indexOf(listener);\n if (~index)\n this._events[event].splice(index, 1);\n }\n emit(event, ...args) {\n if (!this._hasEvent(event))\n return;\n this._events[event].map((listener) => listener.apply(this, args));\n }\n _hasEvent(event) {\n return Array.isArray(this._events[event]);\n }\n}\n\nvar __defProp = Object.defineProperty;\nvar __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;\nvar __publicField = (obj, key, value) => {\n __defNormalProp(obj, typeof key !== \"symbol\" ? key + \"\" : key, value);\n return value;\n};\nclass I18n extends EventEmitter {\n constructor(params) {\n super();\n __publicField(this, \"_locale\");\n __publicField(this, \"_locales\");\n __publicField(this, \"_localeData\");\n __publicField(this, \"_messages\");\n __publicField(this, \"_missing\");\n /**\n * Alias for {@see I18n._}\n */\n __publicField(this, \"t\", this._.bind(this));\n this._messages = {};\n this._localeData = {};\n if (params.missing != null)\n this._missing = params.missing;\n if (params.messages != null)\n this.load(params.messages);\n if (params.localeData != null)\n this.loadLocaleData(params.localeData);\n if (params.locale != null || params.locales != null) {\n this.activate(params.locale, params.locales);\n }\n }\n get locale() {\n return this._locale;\n }\n get locales() {\n return this._locales;\n }\n get messages() {\n return this._messages[this._locale] ?? {};\n }\n /**\n * @deprecated this has no effect. Please remove this from the code. Deprecated in v4\n */\n get localeData() {\n return this._localeData[this._locale] ?? {};\n }\n _loadLocaleData(locale, localeData) {\n if (this._localeData[locale] == null) {\n this._localeData[locale] = localeData;\n } else {\n Object.assign(this._localeData[locale], localeData);\n }\n }\n /**\n * @deprecated Plurals automatically used from Intl.PluralRules you can safely remove this call. Deprecated in v4\n */\n loadLocaleData(localeOrAllData, localeData) {\n if (localeData != null) {\n this._loadLocaleData(localeOrAllData, localeData);\n } else {\n Object.keys(localeOrAllData).forEach(\n (locale) => this._loadLocaleData(locale, localeOrAllData[locale])\n );\n }\n this.emit(\"change\");\n }\n _load(locale, messages) {\n if (this._messages[locale] == null) {\n this._messages[locale] = messages;\n } else {\n Object.assign(this._messages[locale], messages);\n }\n }\n load(localeOrMessages, messages) {\n if (messages != null) {\n this._load(localeOrMessages, messages);\n } else {\n Object.keys(localeOrMessages).forEach(\n (locale) => this._load(locale, localeOrMessages[locale])\n );\n }\n this.emit(\"change\");\n }\n /**\n * @param options {@link LoadAndActivateOptions}\n */\n loadAndActivate({ locale, locales, messages }) {\n this._locale = locale;\n this._locales = locales || void 0;\n this._messages[this._locale] = messages;\n this.emit(\"change\");\n }\n activate(locale, locales) {\n if (process.env.NODE_ENV !== \"production\") {\n if (!this._messages[locale]) {\n console.warn(`Messages for locale \"${locale}\" not loaded.`);\n }\n }\n this._locale = locale;\n this._locales = locales;\n this.emit(\"change\");\n }\n _(id, values = {}, { message, formats } = {}) {\n if (!isString(id)) {\n values = id.values || values;\n message = id.message;\n id = id.id;\n }\n const messageMissing = !this.messages[id];\n const missing = this._missing;\n if (missing && messageMissing) {\n return isFunction(missing) ? missing(this._locale, id) : missing;\n }\n if (messageMissing) {\n this.emit(\"missing\", { id, locale: this._locale });\n }\n let translation = this.messages[id] || message || id;\n if (process.env.NODE_ENV !== \"production\") {\n translation = isString(translation) ? compileMessage(translation) : translation;\n }\n if (isString(translation) && UNICODE_REGEX.test(translation))\n return JSON.parse(`\"${translation}\"`);\n if (isString(translation))\n return translation;\n return interpolate(\n translation,\n this._locale,\n this._locales\n )(values, formats);\n }\n date(value, format) {\n return date(this._locales || this._locale, value, format);\n }\n number(value, format) {\n return number(this._locales || this._locale, value, format);\n }\n}\nfunction setupI18n(params = {}) {\n return new I18n(params);\n}\n\nconst i18n = setupI18n();\n\nexport { I18n, formats, i18n, setupI18n };\n", "/*eslint-disable*/export const messages=JSON.parse(\"{\\\"icon.title.alert-error\\\":\\\"R\u00F8d \u00E5ttekant med hvitt utropstegn\\\"}\");", "/*eslint-disable*/export const messages=JSON.parse(\"{\\\"icon.title.alert-error\\\":\\\"Red octagon with white exclamation point\\\"}\");", "/*eslint-disable*/export const messages=JSON.parse(\"{\\\"icon.title.alert-error\\\":\\\"Punainen kahdeksankulmio, jonka sis\u00E4ll\u00E4 on valkoinen huutomerkki\\\"}\");", "import { Messages, i18n } from '@lingui/core';\n\nexport const supportedLocales = ['en', 'nb', 'fi'] as const;\ntype SupportedLocale = (typeof supportedLocales)[number];\n\nexport const defaultLocale = 'en';\n\nexport const getSupportedLocale = (usedLocale: string) => {\n return (\n supportedLocales.find(\n (locale) =>\n usedLocale === locale || usedLocale.toLowerCase().includes(locale)\n ) || defaultLocale\n );\n};\n\nexport function detectLocale(): SupportedLocale {\n if (typeof window === 'undefined') {\n /**\n * Server locale detection. This requires e.g LANG environment variable to be set on the server.\n */\n const serverLocale =\n process.env.NMP_LANGUAGE ||\n Intl.DateTimeFormat().resolvedOptions().locale;\n return getSupportedLocale(serverLocale);\n }\n\n try {\n /**\n * Client locale detection. Expects the lang attribute to be defined.\n */\n const htmlLocale = document.documentElement.lang;\n return getSupportedLocale(htmlLocale);\n } catch (e) {\n console.warn('could not detect locale, falling back to source locale', e);\n return defaultLocale;\n }\n}\n\nexport const getMessages = (\n locale: SupportedLocale,\n enMsg: Messages,\n nbMsg: Messages,\n fiMsg: Messages\n) => {\n if (locale === 'nb') return nbMsg;\n if (locale === 'fi') return fiMsg;\n // Default to English\n return enMsg;\n};\n\nexport const activateI18n = (\n enMessages: Messages,\n nbMessages: Messages,\n fiMessages: Messages\n) => {\n const locale = detectLocale();\n const messages = getMessages(locale, enMessages, nbMessages, fiMessages);\n i18n.load(locale, messages);\n i18n.activate(locale);\n};\n", "\"use strict\";\n// NOTE: don't construct errors here or they'll have the wrong stack trace.\n// NOTE: don't make custom error class; the JS engines use `SyntaxError`\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.errorMessages = exports.ErrorType = void 0;\n/**\n * Keys for possible error messages used by `unraw`.\n * Note: These do _not_ map to actual error object types. All errors thrown\n * are `SyntaxError`.\n */\n// Don't use const enum or JS users won't be able to access the enum values\nvar ErrorType;\n(function (ErrorType) {\n /**\n * Thrown when a badly formed Unicode escape sequence is found. Possible\n * reasons include the code being too short (`\"\\u25\"`) or having invalid\n * characters (`\"\\u2$A5\"`).\n */\n ErrorType[\"MalformedUnicode\"] = \"MALFORMED_UNICODE\";\n /**\n * Thrown when a badly formed hexadecimal escape sequence is found. Possible\n * reasons include the code being too short (`\"\\x2\"`) or having invalid\n * characters (`\"\\x2$\"`).\n */\n ErrorType[\"MalformedHexadecimal\"] = \"MALFORMED_HEXADECIMAL\";\n /**\n * Thrown when a Unicode code point escape sequence has too high of a code\n * point. The maximum code point allowed is `\\u{10FFFF}`, so `\\u{110000}` and\n * higher will throw this error.\n */\n ErrorType[\"CodePointLimit\"] = \"CODE_POINT_LIMIT\";\n /**\n * Thrown when an octal escape sequences is encountered and `allowOctals` is\n * `false`. For example, `unraw(\"\\234\", false)`.\n */\n ErrorType[\"OctalDeprecation\"] = \"OCTAL_DEPRECATION\";\n /**\n * Thrown only when a single backslash is found at the end of a string. For\n * example, `\"\\\\\"` or `\"test\\\\x24\\\\\"`.\n */\n ErrorType[\"EndOfString\"] = \"END_OF_STRING\";\n})(ErrorType = exports.ErrorType || (exports.ErrorType = {}));\n/** Map of error message names to the full text of the message. */\nexports.errorMessages = new Map([\n [ErrorType.MalformedUnicode, \"malformed Unicode character escape sequence\"],\n [\n ErrorType.MalformedHexadecimal,\n \"malformed hexadecimal character escape sequence\"\n ],\n [\n ErrorType.CodePointLimit,\n \"Unicode codepoint must not be greater than 0x10FFFF in escape sequence\"\n ],\n [\n ErrorType.OctalDeprecation,\n '\"0\"-prefixed octal literals and octal escape sequences are deprecated; ' +\n 'for octal literals use the \"0o\" prefix instead'\n ],\n [ErrorType.EndOfString, \"malformed escape sequence at end of string\"]\n]);\n", "\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.unraw = exports.errorMessages = exports.ErrorType = void 0;\nconst errors_1 = require(\"./errors\");\nObject.defineProperty(exports, \"ErrorType\", { enumerable: true, get: function () { return errors_1.ErrorType; } });\nObject.defineProperty(exports, \"errorMessages\", { enumerable: true, get: function () { return errors_1.errorMessages; } });\n/**\n * Parse a string as a base-16 number. This is more strict than `parseInt` as it\n * will not allow any other characters, including (for example) \"+\", \"-\", and\n * \".\".\n * @param hex A string containing a hexadecimal number.\n * @returns The parsed integer, or `NaN` if the string is not a valid hex\n * number.\n */\nfunction parseHexToInt(hex) {\n const isOnlyHexChars = !hex.match(/[^a-f0-9]/i);\n return isOnlyHexChars ? parseInt(hex, 16) : NaN;\n}\n/**\n * Check the validity and length of a hexadecimal code and optionally enforces\n * a specific number of hex digits.\n * @param hex The string to validate and parse.\n * @param errorName The name of the error message to throw a `SyntaxError` with\n * if `hex` is invalid. This is used to index `errorMessages`.\n * @param enforcedLength If provided, will throw an error if `hex` is not\n * exactly this many characters.\n * @returns The parsed hex number as a normal number.\n * @throws {SyntaxError} If the code is not valid.\n */\nfunction validateAndParseHex(hex, errorName, enforcedLength) {\n const parsedHex = parseHexToInt(hex);\n if (Number.isNaN(parsedHex) ||\n (enforcedLength !== undefined && enforcedLength !== hex.length)) {\n throw new SyntaxError(errors_1.errorMessages.get(errorName));\n }\n return parsedHex;\n}\n/**\n * Parse a two-digit hexadecimal character escape code.\n * @param code The two-digit hexadecimal number that represents the character to\n * output.\n * @returns The single character represented by the code.\n * @throws {SyntaxError} If the code is not valid hex or is not the right\n * length.\n */\nfunction parseHexadecimalCode(code) {\n const parsedCode = validateAndParseHex(code, errors_1.ErrorType.MalformedHexadecimal, 2);\n return String.fromCharCode(parsedCode);\n}\n/**\n * Parse a four-digit Unicode character escape code.\n * @param code The four-digit unicode number that represents the character to\n * output.\n * @param surrogateCode Optional four-digit unicode surrogate that represents\n * the other half of the character to output.\n * @returns The single character represented by the code.\n * @throws {SyntaxError} If the codes are not valid hex or are not the right\n * length.\n */\nfunction parseUnicodeCode(code, surrogateCode) {\n const parsedCode = validateAndParseHex(code, errors_1.ErrorType.MalformedUnicode, 4);\n if (surrogateCode !== undefined) {\n const parsedSurrogateCode = validateAndParseHex(surrogateCode, errors_1.ErrorType.MalformedUnicode, 4);\n return String.fromCharCode(parsedCode, parsedSurrogateCode);\n }\n return String.fromCharCode(parsedCode);\n}\n/**\n * Test if the text is surrounded by curly braces (`{}`).\n * @param text Text to check.\n * @returns `true` if the text is in the form `{*}`.\n */\nfunction isCurlyBraced(text) {\n return text.charAt(0) === \"{\" && text.charAt(text.length - 1) === \"}\";\n}\n/**\n * Parse a Unicode code point character escape code.\n * @param codePoint A unicode escape code point, including the surrounding curly\n * braces.\n * @returns The single character represented by the code.\n * @throws {SyntaxError} If the code is not valid hex or does not have the\n * surrounding curly braces.\n */\nfunction parseUnicodeCodePointCode(codePoint) {\n if (!isCurlyBraced(codePoint)) {\n throw new SyntaxError(errors_1.errorMessages.get(errors_1.ErrorType.MalformedUnicode));\n }\n const withoutBraces = codePoint.slice(1, -1);\n const parsedCode = validateAndParseHex(withoutBraces, errors_1.ErrorType.MalformedUnicode);\n try {\n return String.fromCodePoint(parsedCode);\n }\n catch (err) {\n throw err instanceof RangeError\n ? new SyntaxError(errors_1.errorMessages.get(errors_1.ErrorType.CodePointLimit))\n : err;\n }\n}\n// Have to give overload that takes boolean for when compiler doesn't know if\n// true or false\nfunction parseOctalCode(code, error = false) {\n if (error) {\n throw new SyntaxError(errors_1.errorMessages.get(errors_1.ErrorType.OctalDeprecation));\n }\n // The original regex only allows digits so we don't need to have a strict\n // octal parser like hexToInt. Length is not enforced for octals.\n const parsedCode = parseInt(code, 8);\n return String.fromCharCode(parsedCode);\n}\n/**\n * Map of unescaped letters to their corresponding special JS escape characters.\n * Intentionally does not include characters that map to themselves like \"\\'\".\n */\nconst singleCharacterEscapes = new Map([\n [\"b\", \"\\b\"],\n [\"f\", \"\\f\"],\n [\"n\", \"\\n\"],\n [\"r\", \"\\r\"],\n [\"t\", \"\\t\"],\n [\"v\", \"\\v\"],\n [\"0\", \"\\0\"]\n]);\n/**\n * Parse a single character escape sequence and return the matching character.\n * If none is matched, defaults to `code`.\n * @param code A single character code.\n */\nfunction parseSingleCharacterCode(code) {\n return singleCharacterEscapes.get(code) || code;\n}\n/**\n * Matches every escape sequence possible, including invalid ones.\n *\n * All capture groups (described below) are unique (only one will match), except\n * for 4, which can only potentially match if 3 does.\n *\n * **Capture Groups:**\n * 0. A single backslash\n * 1. Hexadecimal code\n * 2. Unicode code point code with surrounding curly braces\n * 3. Unicode escape code with surrogate\n * 4. Surrogate code\n * 5. Unicode escape code without surrogate\n * 6. Octal code _NOTE: includes \"0\"._\n * 7. A single character (will never be \\, x, u, or 0-3)\n */\nconst escapeMatch = /\\\\(?:(\\\\)|x([\\s\\S]{0,2})|u(\\{[^}]*\\}?)|u([\\s\\S]{4})\\\\u([^{][\\s\\S]{0,3})|u([\\s\\S]{0,4})|([0-3]?[0-7]{1,2})|([\\s\\S])|$)/g;\n/**\n * Replace raw escape character strings with their escape characters.\n * @param raw A string where escape characters are represented as raw string\n * values like `\\'` rather than `'`.\n * @param allowOctals If `true`, will process the now-deprecated octal escape\n * sequences (ie, `\\111`).\n * @returns The processed string, with escape characters replaced by their\n * respective actual Unicode characters.\n */\nfunction unraw(raw, allowOctals = false) {\n return raw.replace(escapeMatch, function (_, backslash, hex, codePoint, unicodeWithSurrogate, surrogate, unicode, octal, singleCharacter) {\n // Compare groups to undefined because empty strings mean different errors\n // Otherwise, `\\u` would fail the same as `\\` which is wrong.\n if (backslash !== undefined) {\n return \"\\\\\";\n }\n if (hex !== undefined) {\n return parseHexadecimalCode(hex);\n }\n if (codePoint !== undefined) {\n return parseUnicodeCodePointCode(codePoint);\n }\n if (unicodeWithSurrogate !== undefined) {\n return parseUnicodeCode(unicodeWithSurrogate, surrogate);\n }\n if (unicode !== undefined) {\n return parseUnicodeCode(unicode);\n }\n if (octal === \"0\") {\n return \"\\0\";\n }\n if (octal !== undefined) {\n return parseOctalCode(octal, !allowOctals);\n }\n if (singleCharacter !== undefined) {\n return parseSingleCharacterCode(singleCharacter);\n }\n throw new SyntaxError(errors_1.errorMessages.get(errors_1.ErrorType.EndOfString));\n });\n}\nexports.unraw = unraw;\nexports.default = unraw;\n", "import { LitElement } from 'lit';\nimport { unsafeStatic, html } from \"lit/static-html.js\";\nimport { i18n } from '@lingui/core';\nimport { messages as nbMessages} from '../src/raw/alert-success/locales/nb/messages.mjs';\nimport { messages as enMessages} from '../src/raw/alert-success/locales/en/messages.mjs';\nimport { messages as fiMessages} from '../src/raw/alert-success/locales/fi/messages.mjs';\nimport { activateI18n } from '../src/utils/i18n';\nactivateI18n(enMessages, nbMessages, fiMessages);\n\n\nexport class IconAlertSuccess16 extends LitElement {\n render() {\n const title = i18n.t({ message: `Green circle with checkmark`, id: 'icon.title.alert-success', comment: 'Title for alert success icon' });\n \n return html`<svg xmlns=\"http://www.w3.org/2000/svg\"width=\"16\"height=\"16\"fill=\"none\"viewBox=\"0 0 16 16\">${unsafeStatic(`<title>${title}</title>`)}<circle cx=\"8\" cy=\"8\" r=\"8\" fill=\"currentColor\" transform=\"rotate(180 8 8)\"></circle><path fill=\"#fff\" fill-rule=\"evenodd\" d=\"M11.498 4.94a.75.75 0 0 1 .063 1.058l-4 4.5a.75.75 0 0 1-1.091.032l-2-2a.75.75 0 0 1 1.06-1.06l1.438 1.437 3.471-3.905a.75.75 0 0 1 1.06-.063Z\" clip-rule=\"evenodd\"></path></svg>`; }\n}\nif (!customElements.get('w-icon-alert-success-16')) {\n customElements.define('w-icon-alert-success-16', IconAlertSuccess16);\n}", "import unraw from 'unraw';\nimport { compileMessage } from '@lingui/message-utils/compileMessage';\n\nconst isString = (s) => typeof s === \"string\";\nconst isFunction = (f) => typeof f === \"function\";\n\nconst cache = /* @__PURE__ */ new Map();\nfunction normalizeLocales(locales) {\n const out = Array.isArray(locales) ? locales : [locales];\n return [...out, \"en\"];\n}\nfunction date(locales, value, format) {\n const _locales = normalizeLocales(locales);\n const formatter = getMemoized(\n () => cacheKey(\"date\", _locales, format),\n () => new Intl.DateTimeFormat(_locales, format)\n );\n return formatter.format(isString(value) ? new Date(value) : value);\n}\nfunction number(locales, value, format) {\n const _locales = normalizeLocales(locales);\n const formatter = getMemoized(\n () => cacheKey(\"number\", _locales, format),\n () => new Intl.NumberFormat(_locales, format)\n );\n return formatter.format(value);\n}\nfunction plural(locales, ordinal, value, { offset = 0, ...rules }) {\n const _locales = normalizeLocales(locales);\n const plurals = ordinal ? getMemoized(\n () => cacheKey(\"plural-ordinal\", _locales),\n () => new Intl.PluralRules(_locales, { type: \"ordinal\" })\n ) : getMemoized(\n () => cacheKey(\"plural-cardinal\", _locales),\n () => new Intl.PluralRules(_locales, { type: \"cardinal\" })\n );\n return rules[value] ?? rules[plurals.select(value - offset)] ?? rules.other;\n}\nfunction getMemoized(getKey, construct) {\n const key = getKey();\n let formatter = cache.get(key);\n if (!formatter) {\n formatter = construct();\n cache.set(key, formatter);\n }\n return formatter;\n}\nfunction cacheKey(type, locales, options) {\n const localeKey = locales.join(\"-\");\n return `${type}-${localeKey}-${JSON.stringify(options)}`;\n}\n\nconst formats = {\n __proto__: null,\n date: date,\n number: number,\n plural: plural\n};\n\nconst UNICODE_REGEX = /\\\\u[a-fA-F0-9]{4}|\\\\x[a-fA-F0-9]{2}/g;\nconst getDefaultFormats = (locale, locales, formats = {}) => {\n locales = locales || locale;\n const style = (format) => isString(format) ? formats[format] || { style: format } : format;\n const replaceOctothorpe = (value, message) => {\n const numberFormat = Object.keys(formats).length ? style(\"number\") : {};\n const valueStr = number(locales, value, numberFormat);\n return message.replace(\"#\", valueStr);\n };\n return {\n plural: (value, cases) => {\n const { offset = 0 } = cases;\n const message = plural(locales, false, value, cases);\n return replaceOctothorpe(value - offset, message);\n },\n selectordinal: (value, cases) => {\n const { offset = 0 } = cases;\n const message = plural(locales, true, value, cases);\n return replaceOctothorpe(value - offset, message);\n },\n select: (value, rules) => rules[value] ?? rules.other,\n number: (value, format) => number(locales, value, style(format)),\n date: (value, format) => date(locales, value, style(format)),\n undefined: (value) => value\n };\n};\nfunction interpolate(translation, locale, locales) {\n return (values, formats = {}) => {\n const formatters = getDefaultFormats(locale, locales, formats);\n const formatMessage = (message) => {\n if (!Array.isArray(message))\n return message;\n return message.reduce((message2, token) => {\n if (isString(token))\n return message2 + token;\n const [name, type, format] = token;\n let interpolatedFormat = {};\n if (format != null && !isString(format)) {\n Object.keys(format).forEach((key) => {\n interpolatedFormat[key] = formatMessage(format[key]);\n });\n } else {\n interpolatedFormat = format;\n }\n const value = formatters[type](values[name], interpolatedFormat);\n if (value == null)\n return message2;\n return message2 + value;\n }, \"\");\n };\n const result = formatMessage(translation);\n if (isString(result) && UNICODE_REGEX.test(result)) {\n return unraw(result.trim());\n }\n if (isString(result))\n return result.trim();\n return result;\n };\n}\n\nvar __defProp$1 = Object.defineProperty;\nvar __defNormalProp$1 = (obj, key, value) => key in obj ? __defProp$1(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;\nvar __publicField$1 = (obj, key, value) => {\n __defNormalProp$1(obj, typeof key !== \"symbol\" ? key + \"\" : key, value);\n return value;\n};\nclass EventEmitter {\n constructor() {\n __publicField$1(this, \"_events\", {});\n }\n on(event, listener) {\n if (!this._hasEvent(event))\n this._events[event] = [];\n this._events[event].push(listener);\n return () => this.removeListener(event, listener);\n }\n removeListener(event, listener) {\n if (!this._hasEvent(event))\n return;\n const index = this._events[event].indexOf(listener);\n if (~index)\n this._events[event].splice(index, 1);\n }\n emit(event, ...args) {\n if (!this._hasEvent(event))\n return;\n this._events[event].map((listener) => listener.apply(this, args));\n }\n _hasEvent(event) {\n return Array.isArray(this._events[event]);\n }\n}\n\nvar __defProp = Object.defineProperty;\nvar __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;\nvar __publicField = (obj, key, value) => {\n __defNormalProp(obj, typeof key !== \"symbol\" ? key + \"\" : key, value);\n return value;\n};\nclass I18n extends EventEmitter {\n constructor(params) {\n super();\n __publicField(this, \"_locale\");\n __publicField(this, \"_locales\");\n __publicField(this, \"_localeData\");\n __publicField(this, \"_messages\");\n __publicField(this, \"_missing\");\n /**\n * Alias for {@see I18n._}\n */\n __publicField(this, \"t\", this._.bind(this));\n this._messages = {};\n this._localeData = {};\n if (params.missing != null)\n this._missing = params.missing;\n if (params.messages != null)\n this.load(params.messages);\n if (params.localeData != null)\n this.loadLocaleData(params.localeData);\n if (params.locale != null || params.locales != null) {\n this.activate(params.locale, params.locales);\n }\n }\n get locale() {\n return this._locale;\n }\n get locales() {\n return this._locales;\n }\n get messages() {\n return this._messages[this._locale] ?? {};\n }\n /**\n * @deprecated this has no effect. Please remove this from the code. Deprecated in v4\n */\n get localeData() {\n return this._localeData[this._locale] ?? {};\n }\n _loadLocaleData(locale, localeData) {\n if (this._localeData[locale] == null) {\n this._localeData[locale] = localeData;\n } else {\n Object.assign(this._localeData[locale], localeData);\n }\n }\n /**\n * @deprecated Plurals automatically used from Intl.PluralRules you can safely remove this call. Deprecated in v4\n */\n loadLocaleData(localeOrAllData, localeData) {\n if (localeData != null) {\n this._loadLocaleData(localeOrAllData, localeData);\n } else {\n Object.keys(localeOrAllData).forEach(\n (locale) => this._loadLocaleData(locale, localeOrAllData[locale])\n );\n }\n this.emit(\"change\");\n }\n _load(locale, messages) {\n if (this._messages[locale] == null) {\n this._messages[locale] = messages;\n } else {\n Object.assign(this._messages[locale], messages);\n }\n }\n load(localeOrMessages, messages) {\n if (messages != null) {\n this._load(localeOrMessages, messages);\n } else {\n Object.keys(localeOrMessages).forEach(\n (locale) => this._load(locale, localeOrMessages[locale])\n );\n }\n this.emit(\"change\");\n }\n /**\n * @param options {@link LoadAndActivateOptions}\n */\n loadAndActivate({ locale, locales, messages }) {\n this._locale = locale;\n this._locales = locales || void 0;\n this._messages[this._locale] = messages;\n this.emit(\"change\");\n }\n activate(locale, locales) {\n if (process.env.NODE_ENV !== \"production\") {\n if (!this._messages[locale]) {\n console.warn(`Messages for locale \"${locale}\" not loaded.`);\n }\n }\n this._locale = locale;\n this._locales = locales;\n this.emit(\"change\");\n }\n _(id, values = {}, { message, formats } = {}) {\n if (!isString(id)) {\n values = id.values || values;\n message = id.message;\n id = id.id;\n }\n const messageMissing = !this.messages[id];\n const missing = this._missing;\n if (missing && messageMissing) {\n return isFunction(missing) ? missing(this._locale, id) : missing;\n }\n if (messageMissing) {\n this.emit(\"missing\", { id, locale: this._locale });\n }\n let translation = this.messages[id] || message || id;\n if (process.env.NODE_ENV !== \"production\") {\n translation = isString(translation) ? compileMessage(translation) : translation;\n }\n if (isString(translation) && UNICODE_REGEX.test(translation))\n return JSON.parse(`\"${translation}\"`);\n if (isString(translation))\n return translation;\n return interpolate(\n translation,\n this._locale,\n this._locales\n )(values, formats);\n }\n date(value, format) {\n return date(this._locales || this._locale, value, format);\n }\n number(value, format) {\n return number(this._locales || this._locale, value, format);\n }\n}\nfunction setupI18n(params = {}) {\n return new I18n(params);\n}\n\nconst i18n = setupI18n();\n\nexport { I18n, formats, i18n, setupI18n };\n", "/*eslint-disable*/export const messages=JSON.parse(\"{\\\"icon.title.alert-success\\\":\\\"Gr\u00F8nn sirkel med sjekkmerke\\\"}\");", "/*eslint-disable*/export const messages=JSON.parse(\"{\\\"icon.title.alert-success\\\":\\\"Green circle with checkmark\\\"}\");", "/*eslint-disable*/export const messages=JSON.parse(\"{\\\"icon.title.alert-success\\\":\\\"Vihre\u00E4 ympyr\u00E4, jonka sis\u00E4ll\u00E4 on valintamerkki\\\"}\");", "import { Messages, i18n } from '@lingui/core';\n\nexport const supportedLocales = ['en', 'nb', 'fi'] as const;\ntype SupportedLocale = (typeof supportedLocales)[number];\n\nexport const defaultLocale = 'en';\n\nexport const getSupportedLocale = (usedLocale: string) => {\n return (\n supportedLocales.find(\n (locale) =>\n usedLocale === locale || usedLocale.toLowerCase().includes(locale)\n ) || defaultLocale\n );\n};\n\nexport function detectLocale(): SupportedLocale {\n if (typeof window === 'undefined') {\n /**\n * Server locale detection. This requires e.g LANG environment variable to be set on the server.\n */\n const serverLocale =\n process.env.NMP_LANGUAGE ||\n Intl.DateTimeFormat().resolvedOptions().locale;\n return getSupportedLocale(serverLocale);\n }\n\n try {\n /**\n * Client locale detection. Expects the lang attribute to be defined.\n */\n const htmlLocale = document.documentElement.lang;\n return getSupportedLocale(htmlLocale);\n } catch (e) {\n console.warn('could not detect locale, falling back to source locale', e);\n return defaultLocale;\n }\n}\n\nexport const getMessages = (\n locale: SupportedLocale,\n enMsg: Messages,\n nbMsg: Messages,\n fiMsg: Messages\n) => {\n if (locale === 'nb') return nbMsg;\n if (locale === 'fi') return fiMsg;\n // Default to English\n return enMsg;\n};\n\nexport const activateI18n = (\n enMessages: Messages,\n nbMessages: Messages,\n fiMessages: Messages\n) => {\n const locale = detectLocale();\n const messages = getMessages(locale, enMessages, nbMessages, fiMessages);\n i18n.load(locale, messages);\n i18n.activate(locale);\n};\n", "\"use strict\";\n// NOTE: don't construct errors here or they'll have the wrong stack trace.\n// NOTE: don't make custom error class; the JS engines use `SyntaxError`\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.errorMessages = exports.ErrorType = void 0;\n/**\n * Keys for possible error messages used by `unraw`.\n * Note: These do _not_ map to actual error object types. All errors thrown\n * are `SyntaxError`.\n */\n// Don't use const enum or JS users won't be able to access the enum values\nvar ErrorType;\n(function (ErrorType) {\n /**\n * Thrown when a badly formed Unicode escape sequence is found. Possible\n * reasons include the code being too short (`\"\\u25\"`) or having invalid\n * characters (`\"\\u2$A5\"`).\n */\n ErrorType[\"MalformedUnicode\"] = \"MALFORMED_UNICODE\";\n /**\n * Thrown when a badly formed hexadecimal escape sequence is found. Possible\n * reasons include the code being too short (`\"\\x2\"`) or having invalid\n * characters (`\"\\x2$\"`).\n */\n ErrorType[\"MalformedHexadecimal\"] = \"MALFORMED_HEXADECIMAL\";\n /**\n * Thrown when a Unicode code point escape sequence has too high of a code\n * point. The maximum code point allowed is `\\u{10FFFF}`, so `\\u{110000}` and\n * higher will throw this error.\n */\n ErrorType[\"CodePointLimit\"] = \"CODE_POINT_LIMIT\";\n /**\n * Thrown when an octal escape sequences is encountered and `allowOctals` is\n * `false`. For example, `unraw(\"\\234\", false)`.\n */\n ErrorType[\"OctalDeprecation\"] = \"OCTAL_DEPRECATION\";\n /**\n * Thrown only when a single backslash is found at the end of a string. For\n * example, `\"\\\\\"` or `\"test\\\\x24\\\\\"`.\n */\n ErrorType[\"EndOfString\"] = \"END_OF_STRING\";\n})(ErrorType = exports.ErrorType || (exports.ErrorType = {}));\n/** Map of error message names to the full text of the message. */\nexports.errorMessages = new Map([\n [ErrorType.MalformedUnicode, \"malformed Unicode character escape sequence\"],\n [\n ErrorType.MalformedHexadecimal,\n \"malformed hexadecimal character escape sequence\"\n ],\n [\n ErrorType.CodePointLimit,\n \"Unicode codepoint must not be greater than 0x10FFFF in escape sequence\"\n ],\n [\n ErrorType.OctalDeprecation,\n '\"0\"-prefixed octal literals and octal escape sequences are deprecated; ' +\n 'for octal literals use the \"0o\" prefix instead'\n ],\n [ErrorType.EndOfString, \"malformed escape sequence at end of string\"]\n]);\n", "\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.unraw = exports.errorMessages = exports.ErrorType = void 0;\nconst errors_1 = require(\"./errors\");\nObject.defineProperty(exports, \"ErrorType\", { enumerable: true, get: function () { return errors_1.ErrorType; } });\nObject.defineProperty(exports, \"errorMessages\", { enumerable: true, get: function () { return errors_1.errorMessages; } });\n/**\n * Parse a string as a base-16 number. This is more strict than `parseInt` as it\n * will not allow any other characters, including (for example) \"+\", \"-\", and\n * \".\".\n * @param hex A string containing a hexadecimal number.\n * @returns The parsed integer, or `NaN` if the string is not a valid hex\n * number.\n */\nfunction parseHexToInt(hex) {\n const isOnlyHexChars = !hex.match(/[^a-f0-9]/i);\n return isOnlyHexChars ? parseInt(hex, 16) : NaN;\n}\n/**\n * Check the validity and length of a hexadecimal code and optionally enforces\n * a specific number of hex digits.\n * @param hex The string to validate and parse.\n * @param errorName The name of the error message to throw a `SyntaxError` with\n * if `hex` is invalid. This is used to index `errorMessages`.\n * @param enforcedLength If provided, will throw an error if `hex` is not\n * exactly this many characters.\n * @returns The parsed hex number as a normal number.\n * @throws {SyntaxError} If the code is not valid.\n */\nfunction validateAndParseHex(hex, errorName, enforcedLength) {\n const parsedHex = parseHexToInt(hex);\n if (Number.isNaN(parsedHex) ||\n (enforcedLength !== undefined && enforcedLength !== hex.length)) {\n throw new SyntaxError(errors_1.errorMessages.get(errorName));\n }\n return parsedHex;\n}\n/**\n * Parse a two-digit hexadecimal character escape code.\n * @param code The two-digit hexadecimal number that represents the character to\n * output.\n * @returns The single character represented by the code.\n * @throws {SyntaxError} If the code is not valid hex or is not the right\n * length.\n */\nfunction parseHexadecimalCode(code) {\n const parsedCode = validateAndParseHex(code, errors_1.ErrorType.MalformedHexadecimal, 2);\n return String.fromCharCode(parsedCode);\n}\n/**\n * Parse a four-digit Unicode character escape code.\n * @param code The four-digit unicode number that represents the character to\n * output.\n * @param surrogateCode Optional four-digit unicode surrogate that represents\n * the other half of the character to output.\n * @returns The single character represented by the code.\n * @throws {SyntaxError} If the codes are not valid hex or are not the right\n * length.\n */\nfunction parseUnicodeCode(code, surrogateCode) {\n const parsedCode = validateAndParseHex(code, errors_1.ErrorType.MalformedUnicode, 4);\n if (surrogateCode !== undefined) {\n const parsedSurrogateCode = validateAndParseHex(surrogateCode, errors_1.ErrorType.MalformedUnicode, 4);\n return String.fromCharCode(parsedCode, parsedSurrogateCode);\n }\n return String.fromCharCode(parsedCode);\n}\n/**\n * Test if the text is surrounded by curly braces (`{}`).\n * @param text Text to check.\n * @returns `true` if the text is in the form `{*}`.\n */\nfunction isCurlyBraced(text) {\n return text.charAt(0) === \"{\" && text.charAt(text.length - 1) === \"}\";\n}\n/**\n * Parse a Unicode code point character escape code.\n * @param codePoint A unicode escape code point, including the surrounding curly\n * braces.\n * @returns The single character represented by the code.\n * @throws {SyntaxError} If the code is not valid hex or does not have the\n * surrounding curly braces.\n */\nfunction parseUnicodeCodePointCode(codePoint) {\n if (!isCurlyBraced(codePoint)) {\n throw new SyntaxError(errors_1.errorMessages.get(errors_1.ErrorType.MalformedUnicode));\n }\n const withoutBraces = codePoint.slice(1, -1);\n const parsedCode = validateAndParseHex(withoutBraces, errors_1.ErrorType.MalformedUnicode);\n try {\n return String.fromCodePoint(parsedCode);\n }\n catch (err) {\n throw err instanceof RangeError\n ? new SyntaxError(errors_1.errorMessages.get(errors_1.ErrorType.CodePointLimit))\n : err;\n }\n}\n// Have to give overload that takes boolean for when compiler doesn't know if\n// true or false\nfunction parseOctalCode(code, error = false) {\n if (error) {\n throw new SyntaxError(errors_1.errorMessages.get(errors_1.ErrorType.OctalDeprecation));\n }\n // The original regex only allows digits so we don't need to have a strict\n // octal parser like hexToInt. Length is not enforced for octals.\n const parsedCode = parseInt(code, 8);\n return String.fromCharCode(parsedCode);\n}\n/**\n * Map of unescaped letters to their corresponding special JS escape characters.\n * Intentionally does not include characters that map to themselves like \"\\'\".\n */\nconst singleCharacterEscapes = new Map([\n [\"b\", \"\\b\"],\n [\"f\", \"\\f\"],\n [\"n\", \"\\n\"],\n [\"r\", \"\\r\"],\n [\"t\", \"\\t\"],\n [\"v\", \"\\v\"],\n [\"0\", \"\\0\"]\n]);\n/**\n * Parse a single character escape sequence and return the matching character.\n * If none is matched, defaults to `code`.\n * @param code A single character code.\n */\nfunction parseSingleCharacterCode(code) {\n return singleCharacterEscapes.get(code) || code;\n}\n/**\n * Matches every escape sequence possible, including invalid ones.\n *\n * All capture groups (described below) are unique (only one will match), except\n * for 4, which can only potentially match if 3 does.\n *\n * **Capture Groups:**\n * 0. A single backslash\n * 1. Hexadecimal code\n * 2. Unicode code point code with surrounding curly braces\n * 3. Unicode escape code with surrogate\n * 4. Surrogate code\n * 5. Unicode escape code without surrogate\n * 6. Octal code _NOTE: includes \"0\"._\n * 7. A single character (will never be \\, x, u, or 0-3)\n */\nconst escapeMatch = /\\\\(?:(\\\\)|x([\\s\\S]{0,2})|u(\\{[^}]*\\}?)|u([\\s\\S]{4})\\\\u([^{][\\s\\S]{0,3})|u([\\s\\S]{0,4})|([0-3]?[0-7]{1,2})|([\\s\\S])|$)/g;\n/**\n * Replace raw escape character strings with their escape characters.\n * @param raw A string where escape characters are represented as raw string\n * values like `\\'` rather than `'`.\n * @param allowOctals If `true`, will process the now-deprecated octal escape\n * sequences (ie, `\\111`).\n * @returns The processed string, with escape characters replaced by their\n * respective actual Unicode characters.\n */\nfunction unraw(raw, allowOctals = false) {\n return raw.replace(escapeMatch, function (_, backslash, hex, codePoint, unicodeWithSurrogate, surrogate, unicode, octal, singleCharacter) {\n // Compare groups to undefined because empty strings mean different errors\n // Otherwise, `\\u` would fail the same as `\\` which is wrong.\n if (backslash !== undefined) {\n return \"\\\\\";\n }\n if (hex !== undefined) {\n return parseHexadecimalCode(hex);\n }\n if (codePoint !== undefined) {\n return parseUnicodeCodePointCode(codePoint);\n }\n if (unicodeWithSurrogate !== undefined) {\n return parseUnicodeCode(unicodeWithSurrogate, surrogate);\n }\n if (unicode !== undefined) {\n return parseUnicodeCode(unicode);\n }\n if (octal === \"0\") {\n return \"\\0\";\n }\n if (octal !== undefined) {\n return parseOctalCode(octal, !allowOctals);\n }\n if (singleCharacter !== undefined) {\n return parseSingleCharacterCode(singleCharacter);\n }\n throw new SyntaxError(errors_1.errorMessages.get(errors_1.ErrorType.EndOfString));\n });\n}\nexports.unraw = unraw;\nexports.default = unraw;\n", "import { LitElement } from 'lit';\nimport { unsafeStatic, html } from \"lit/static-html.js\";\nimport { i18n } from '@lingui/core';\nimport { messages as nbMessages} from '../src/raw/close/locales/nb/messages.mjs';\nimport { messages as enMessages} from '../src/raw/close/locales/en/messages.mjs';\nimport { messages as fiMessages} from '../src/raw/close/locales/fi/messages.mjs';\nimport { activateI18n } from '../src/utils/i18n';\nactivateI18n(enMessages, nbMessages, fiMessages);\n\n\nexport class IconClose16 extends LitElement {\n render() {\n const title = i18n.t({ message: `Cross`, id: 'icon.title.close', comment: 'Title for close icon' });\n \n return html`<svg xmlns=\"http://www.w3.org/2000/svg\"width=\"16\"height=\"16\"fill=\"none\"viewBox=\"0 0 16 16\">${unsafeStatic(`<title>${title}</title>`)}<path stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"1.5\" d=\"m12.5 3.5-9 9M3.5 3.5l9 9\"></path></svg>`; }\n}\nif (!customElements.get('w-icon-close-16')) {\n customElements.define('w-icon-close-16', IconClose16);\n}", "import unraw from 'unraw';\nimport { compileMessage } from '@lingui/message-utils/compileMessage';\n\nconst isString = (s) => typeof s === \"string\";\nconst isFunction = (f) => typeof f === \"function\";\n\nconst cache = /* @__PURE__ */ new Map();\nfunction normalizeLocales(locales) {\n const out = Array.isArray(locales) ? locales : [locales];\n return [...out, \"en\"];\n}\nfunction date(locales, value, format) {\n const _locales = normalizeLocales(locales);\n const formatter = getMemoized(\n () => cacheKey(\"date\", _locales, format),\n () => new Intl.DateTimeFormat(_locales, format)\n );\n return formatter.format(isString(value) ? new Date(value) : value);\n}\nfunction number(locales, value, format) {\n const _locales = normalizeLocales(locales);\n const formatter = getMemoized(\n () => cacheKey(\"number\", _locales, format),\n () => new Intl.NumberFormat(_locales, format)\n );\n return formatter.format(value);\n}\nfunction plural(locales, ordinal, value, { offset = 0, ...rules }) {\n const _locales = normalizeLocales(locales);\n const plurals = ordinal ? getMemoized(\n () => cacheKey(\"plural-ordinal\", _locales),\n () => new Intl.PluralRules(_locales, { type: \"ordinal\" })\n ) : getMemoized(\n () => cacheKey(\"plural-cardinal\", _locales),\n () => new Intl.PluralRules(_locales, { type: \"cardinal\" })\n );\n return rules[value] ?? rules[plurals.select(value - offset)] ?? rules.other;\n}\nfunction getMemoized(getKey, construct) {\n const key = getKey();\n let formatter = cache.get(key);\n if (!formatter) {\n formatter = construct();\n cache.set(key, formatter);\n }\n return formatter;\n}\nfunction cacheKey(type, locales, options) {\n const localeKey = locales.join(\"-\");\n return `${type}-${localeKey}-${JSON.stringify(options)}`;\n}\n\nconst formats = {\n __proto__: null,\n date: date,\n number: number,\n plural: plural\n};\n\nconst UNICODE_REGEX = /\\\\u[a-fA-F0-9]{4}|\\\\x[a-fA-F0-9]{2}/g;\nconst getDefaultFormats = (locale, locales, formats = {}) => {\n locales = locales || locale;\n const style = (format) => isString(format) ? formats[format] || { style: format } : format;\n const replaceOctothorpe = (value, message) => {\n const numberFormat = Object.keys(formats).length ? style(\"number\") : {};\n const valueStr = number(locales, value, numberFormat);\n return message.replace(\"#\", valueStr);\n };\n return {\n plural: (value, cases) => {\n const { offset = 0 } = cases;\n const message = plural(locales, false, value, cases);\n return replaceOctothorpe(value - offset, message);\n },\n selectordinal: (value, cases) => {\n const { offset = 0 } = cases;\n const message = plural(locales, true, value, cases);\n return replaceOctothorpe(value - offset, message);\n },\n select: (value, rules) => rules[value] ?? rules.other,\n number: (value, format) => number(locales, value, style(format)),\n date: (value, format) => date(locales, value, style(format)),\n undefined: (value) => value\n };\n};\nfunction interpolate(translation, locale, locales) {\n return (values, formats = {}) => {\n const formatters = getDefaultFormats(locale, locales, formats);\n const formatMessage = (message) => {\n if (!Array.isArray(message))\n return message;\n return message.reduce((message2, token) => {\n if (isString(token))\n return message2 + token;\n const [name, type, format] = token;\n let interpolatedFormat = {};\n if (format != null && !isString(format)) {\n Object.keys(format).forEach((key) => {\n interpolatedFormat[key] = formatMessage(format[key]);\n });\n } else {\n interpolatedFormat = format;\n }\n const value = formatters[type](values[name], interpolatedFormat);\n if (value == null)\n return message2;\n return message2 + value;\n }, \"\");\n };\n const result = formatMessage(translation);\n if (isString(result) && UNICODE_REGEX.test(result)) {\n return unraw(result.trim());\n }\n if (isString(result))\n return result.trim();\n return result;\n };\n}\n\nvar __defProp$1 = Object.defineProperty;\nvar __defNormalProp$1 = (obj, key, value) => key in obj ? __defProp$1(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;\nvar __publicField$1 = (obj, key, value) => {\n __defNormalProp$1(obj, typeof key !== \"symbol\" ? key + \"\" : key, value);\n return value;\n};\nclass EventEmitter {\n constructor() {\n __publicField$1(this, \"_events\", {});\n }\n on(event, listener) {\n if (!this._hasEvent(event))\n this._events[event] = [];\n this._events[event].push(listener);\n return () => this.removeListener(event, listener);\n }\n removeListener(event, listener) {\n if (!this._hasEvent(event))\n return;\n const index = this._events[event].indexOf(listener);\n if (~index)\n this._events[event].splice(index, 1);\n }\n emit(event, ...args) {\n if (!this._hasEvent(event))\n return;\n this._events[event].map((listener) => listener.apply(this, args));\n }\n _hasEvent(event) {\n return Array.isArray(this._events[event]);\n }\n}\n\nvar __defProp = Object.defineProperty;\nvar __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;\nvar __publicField = (obj, key, value) => {\n __defNormalProp(obj, typeof key !== \"symbol\" ? key + \"\" : key, value);\n return value;\n};\nclass I18n extends EventEmitter {\n constructor(params) {\n super();\n __publicField(this, \"_locale\");\n __publicField(this, \"_locales\");\n __publicField(this, \"_localeData\");\n __publicField(this, \"_messages\");\n __publicField(this, \"_missing\");\n /**\n * Alias for {@see I18n._}\n */\n __publicField(this, \"t\", this._.bind(this));\n this._messages = {};\n this._localeData = {};\n if (params.missing != null)\n this._missing = params.missing;\n if (params.messages != null)\n this.load(params.messages);\n if (params.localeData != null)\n this.loadLocaleData(params.localeData);\n if (params.locale != null || params.locales != null) {\n this.activate(params.locale, params.locales);\n }\n }\n get locale() {\n return this._locale;\n }\n get locales() {\n return this._locales;\n }\n get messages() {\n return this._messages[this._locale] ?? {};\n }\n /**\n * @deprecated this has no effect. Please remove this from the code. Deprecated in v4\n */\n get localeData() {\n return this._localeData[this._locale] ?? {};\n }\n _loadLocaleData(locale, localeData) {\n if (this._localeData[locale] == null) {\n this._localeData[locale] = localeData;\n } else {\n Object.assign(this._localeData[locale], localeData);\n }\n }\n /**\n * @deprecated Plurals automatically used from Intl.PluralRules you can safely remove this call. Deprecated in v4\n */\n loadLocaleData(localeOrAllData, localeData) {\n if (localeData != null) {\n this._loadLocaleData(localeOrAllData, localeData);\n } else {\n Object.keys(localeOrAllData).forEach(\n (locale) => this._loadLocaleData(locale, localeOrAllData[locale])\n );\n }\n this.emit(\"change\");\n }\n _load(locale, messages) {\n if (this._messages[locale] == null) {\n this._messages[locale] = messages;\n } else {\n Object.assign(this._messages[locale], messages);\n }\n }\n load(localeOrMessages, messages) {\n if (messages != null) {\n this._load(localeOrMessages, messages);\n } else {\n Object.keys(localeOrMessages).forEach(\n (locale) => this._load(locale, localeOrMessages[locale])\n );\n }\n this.emit(\"change\");\n }\n /**\n * @param options {@link LoadAndActivateOptions}\n */\n loadAndActivate({ locale, locales, messages }) {\n this._locale = locale;\n this._locales = locales || void 0;\n this._messages[this._locale] = messages;\n this.emit(\"change\");\n }\n activate(locale, locales) {\n if (process.env.NODE_ENV !== \"production\") {\n if (!this._messages[locale]) {\n console.warn(`Messages for locale \"${locale}\" not loaded.`);\n }\n }\n this._locale = locale;\n this._locales = locales;\n this.emit(\"change\");\n }\n _(id, values = {}, { message, formats } = {}) {\n if (!isString(id)) {\n values = id.values || values;\n message = id.message;\n id = id.id;\n }\n const messageMissing = !this.messages[id];\n const missing = this._missing;\n if (missing && messageMissing) {\n return isFunction(missing) ? missing(this._locale, id) : missing;\n }\n if (messageMissing) {\n this.emit(\"missing\", { id, locale: this._locale });\n }\n let translation = this.messages[id] || message || id;\n if (process.env.NODE_ENV !== \"production\") {\n translation = isString(translation) ? compileMessage(translation) : translation;\n }\n if (isString(translation) && UNICODE_REGEX.test(translation))\n return JSON.parse(`\"${translation}\"`);\n if (isString(translation))\n return translation;\n return interpolate(\n translation,\n this._locale,\n this._locales\n )(values, formats);\n }\n date(value, format) {\n return date(this._locales || this._locale, value, format);\n }\n number(value, format) {\n return number(this._locales || this._locale, value, format);\n }\n}\nfunction setupI18n(params = {}) {\n return new I18n(params);\n}\n\nconst i18n = setupI18n();\n\nexport { I18n, formats, i18n, setupI18n };\n", "/*eslint-disable*/export const messages=JSON.parse(\"{\\\"icon.title.close\\\":\\\"Kryss\\\"}\");", "/*eslint-disable*/export const messages=JSON.parse(\"{\\\"icon.title.close\\\":\\\"Cross\\\"}\");", "/*eslint-disable*/export const messages=JSON.parse(\"{\\\"icon.title.close\\\":\\\"Risti\\\"}\");", "import { Messages, i18n } from '@lingui/core';\n\nexport const supportedLocales = ['en', 'nb', 'fi'] as const;\ntype SupportedLocale = (typeof supportedLocales)[number];\n\nexport const defaultLocale = 'en';\n\nexport const getSupportedLocale = (usedLocale: string) => {\n return (\n supportedLocales.find(\n (locale) =>\n usedLocale === locale || usedLocale.toLowerCase().includes(locale)\n ) || defaultLocale\n );\n};\n\nexport function detectLocale(): SupportedLocale {\n if (typeof window === 'undefined') {\n /**\n * Server locale detection. This requires e.g LANG environment variable to be set on the server.\n */\n const serverLocale =\n process.env.NMP_LANGUAGE ||\n Intl.DateTimeFormat().resolvedOptions().locale;\n return getSupportedLocale(serverLocale);\n }\n\n try {\n /**\n * Client locale detection. Expects the lang attribute to be defined.\n */\n const htmlLocale = document.documentElement.lang;\n return getSupportedLocale(htmlLocale);\n } catch (e) {\n console.warn('could not detect locale, falling back to source locale', e);\n return defaultLocale;\n }\n}\n\nexport const getMessages = (\n locale: SupportedLocale,\n enMsg: Messages,\n nbMsg: Messages,\n fiMsg: Messages\n) => {\n if (locale === 'nb') return nbMsg;\n if (locale === 'fi') return fiMsg;\n // Default to English\n return enMsg;\n};\n\nexport const activateI18n = (\n enMessages: Messages,\n nbMessages: Messages,\n fiMessages: Messages\n) => {\n const locale = detectLocale();\n const messages = getMessages(locale, enMessages, nbMessages, fiMessages);\n i18n.load(locale, messages);\n i18n.activate(locale);\n};\n", "import { css, html } from \"lit\";\nimport WarpElement from \"@warp-ds/elements-core\";\nimport { toaster as ccToaster } from \"@warp-ds/css/component-classes\";\nimport { repeat } from \"lit/directives/repeat.js\";\n\n/**\n * Toast helper function options\n * @typedef {Object} ToastOptions\n * @property {(number|string)} [id] Custom identifier\n * @property {('success'|'error'|'warning')} [type] Type of alert\n * @property {String} [text] The toast message. Only needed when updating text on existing toast\n * @property {(number|string)} [duration] Duration of toast in milliseconds. Defaults to 5000. For accessibility reasons, toasts should never be interactive and therefore need to auto remove. If you must disable auto remove, set duration to Number.POSITIVE_INFINITY.\n * @property {Boolean} [canClose] Whether the toast can be dismissed. Defaults to false. WARNING! For accessibility reasons, toasts should not be interactive and canclose should always be false. If the toast absolutely must be dismissble, set this to true.\n */\n\nexport class WarpToastContainer extends WarpElement {\n static styles = [\n WarpElement.styles,\n css`\n :host {\n display: block;\n }\n `,\n ];\n\n static properties = {\n _toasts: { state: true },\n };\n\n constructor() {\n super();\n this._toasts = new Map();\n }\n\n connectedCallback() {\n super.connectedCallback();\n\n // regularly check if any toasts have expired\n this._interval = setInterval(() => {\n // sort toasts into keep and remove\n const keep = [];\n const remove = [];\n for (const toast of this._toasts) {\n if (Date.now() <= toast[1].duration) keep.push(toast);\n else remove.push(toast);\n }\n // collapse toasts that will be removed\n const collapseTasks = [];\n for (const [id] of remove) {\n const el = this.renderRoot.querySelector(`#${id}`);\n collapseTasks.push(el.collapse());\n }\n // once all toasts that should be removed have been collapsed, remove them from the map\n Promise.all(collapseTasks).then(() => {\n if (keep.length != this._toasts.size) this._toasts = new Map(keep);\n });\n }, 500);\n }\n\n disconnectedCallback() {\n super.disconnectedCallback();\n if (this._interval) clearTimeout(this._interval);\n }\n\n static init() {\n let el = document.querySelector(\"w-toast-container\");\n if (!el) {\n el = document.createElement(\"w-toast-container\");\n document.body.appendChild(el);\n }\n return el;\n }\n\n get _toastsArray() {\n return Array.from(this._toasts).map(([, toast]) => toast);\n }\n\n /**\n *\n * @param {String|Number} id\n * @returns {ToastOptions}\n */\n get(id) {\n if (!id)\n throw new Error('undefined \"id\" given when attempting to retrieve toast');\n if (typeof id !== \"string\" && !Number.isInteger(id))\n throw new Error(\n '\"id\" must be number or string when attempting to retrieve toast'\n );\n return this._toasts.get(id);\n }\n\n /**\n *\n * @param {Object} toast\n * @returns {WarpToastContainer}\n */\n set(toast) {\n if (!toast.id) throw new Error('invalid or undefined \"id\" on toast object');\n const result = this._toasts.set(toast.id, {\n ...toast,\n duration: Date.now() + (toast.duration || 5000),\n });\n this._toasts = new Map(Array.from(this._toasts));\n return result;\n }\n\n /**\n *\n * @param {String|Number} id\n * @returns {ToastOptions | false}\n */\n async del(id) {\n if (!id)\n throw new Error('undefined \"id\" given when attempting to retrieve toast');\n if (typeof id !== \"string\" && !Number.isInteger(id))\n throw new Error(\n '\"id\" must be number or string when attempting to retrieve toast'\n );\n const el = this.renderRoot.querySelector(`#${id}`);\n if (!this._toasts.has(id)) return false;\n await el.collapse();\n const result = this._toasts.delete(id);\n this._toasts = new Map(Array.from(this._toasts));\n return result;\n }\n\n render() {\n return html`\n <aside class=\"${ccToaster.container}\">\n <div class=\"${ccToaster.toaster}\" id=\"w-toast-container-list\">\n ${repeat(\n this._toastsArray,\n (toast) => toast.id,\n (toast) =>\n html` <w-toast\n class=\"${ccToaster.content}\"\n id=\"${toast.id}\"\n type=\"${toast.type}\"\n text=\"${toast.text}\"\n ?canclose=${toast.canclose}\n @close=${() => this.del(toast.id)}\n >\n </w-toast>`\n )}\n </div>\n </aside>\n `;\n }\n}\n\nif (!customElements.get(\"w-toast-container\")) {\n customElements.define(\"w-toast-container\", WarpToastContainer);\n}\n", "export const windowExists = typeof window !== 'undefined';\n", "import { windowExists } from '../utils/window-exists';\n\n/**\n * Toast helper function options\n * @typedef {Object} ToastOptions\n * @property {(number|string)} [id] Custom identifier\n * @property {('success'|'error'|'warning'|'info')} [type] Type of alert\n * @property {String} [text] The toast message. Only needed when updating text on existing toast\n * @property {(number|string)} [duration] Duration of toast in milliseconds. Defaults to 5000. For accessibility reasons, toasts should never be interactive and therefore need to auto remove. If you must disable auto remove, set duration to Number.POSITIVE_INFINITY.\n * @property {Boolean} [canclose] Whether the toast can be dismissed. Defaults to false. WARNING! For accessibility reasons, toasts should not be interactive and canclose should always be false. If the toast absolutely must be dismissble, set this to true.\n */\n\n/**\n * Creates a new toast\n * @param {String} message Message\n * @param {ToastOptions?} options Toast options\n * @returns {ToastOptions} Toast details\n */\nexport function toast(message, options) {\n if (!windowExists) return;\n const toast = customElements.get('w-toast-container').init();\n\n const data = {\n id: Date.now().toString(36) + Math.random().toString(36).slice(2, 5),\n text: message,\n duration: 5000,\n type: 'success',\n ...options,\n };\n\n toast.set(data);\n return data;\n}\n\n/**\n * Remove an existing toast\n * @param {String|Number} id Toast identifier\n * @return {Promise<Boolean>} Resolves to true if deleted, false if not found\n */\nexport function removeToast(id) {\n if (!windowExists) return;\n const toast = customElements.get('w-toast-container').init();\n return toast.del(id);\n}\n\n/**\n * Update an existing toast\n * @param {String|Number} id Toast identifier\n * @param {ToastOptions?} options Toast options\n * @returns {WarpToastContainer} Toast details\n */\nexport function updateToast(id, options) {\n if (!windowExists) return;\n const toast = customElements.get('w-toast-container').init();\n toast.set({ ...toast.get(id), ...options });\n return toast.get(id);\n}\n"],
|
|
5
|
+
"mappings": "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",
|
|
6
|
+
"names": ["css", "html", "WarpElement", "classMap", "when", "box", "toaster", "toast", "buttonReset", "expandable", "box", "buttonDefaultStyling", "buttonColors", "buttonTypes", "buttonSizes", "buttonTextSizes", "buttonVariants", "button", "modal", "buttonTextSizes", "buttonTypes", "buttonColors", "label", "prefixSuffixWrapperBase", "suffix", "prefix", "clickable", "label", "attention", "buttonTextSizes", "buttonTypes", "buttonColors", "windowExists", "prefersMotion", "query", "callback", "matches", "removeTransition", "el", "addTransition", "timing", "getAfterExpandCallback", "done", "getAfterCollapseCallback", "expand", "returnPromise", "r", "afterExpandCallback", "dest", "collapse", "afterCollapseCallback", "original", "LitElement", "unsafeStatic", "html", "require_errors", "__commonJSMin", "exports", "ErrorType", "require_dist", "errors_1", "I", "parseHexToInt", "hex", "validateAndParseHex", "errorName", "enforcedLength", "parsedHex", "parseHexadecimalCode", "code", "parsedCode", "parseUnicodeCode", "surrogateCode", "parsedSurrogateCode", "isCurlyBraced", "text", "parseUnicodeCodePointCode", "codePoint", "withoutBraces", "err", "parseOctalCode", "error", "singleCharacterEscapes", "parseSingleCharacterCode", "escapeMatch", "unraw", "raw", "allowOctals", "_", "backslash", "unicodeWithSurrogate", "surrogate", "unicode", "octal", "singleCharacter", "import_unraw", "se", "$", "isString", "s", "isFunction", "f", "cache", "normalizeLocales", "locales", "date", "value", "format", "_locales", "getMemoized", "cacheKey", "number", "plural", "ordinal", "_a", "_b", "offset", "rules", "__objRest", "plurals", "getKey", "construct", "key", "formatter", "type", "options", "localeKey", "UNICODE_REGEX", "getDefaultFormats", "locale", "formats", "style", "replaceOctothorpe", "message", "numberFormat", "valueStr", "cases", "interpolate", "translation", "values", "formatters", "formatMessage", "message2", "token", "name", "interpolatedFormat", "result", "q", "__defProp$1", "__defNormalProp$1", "obj", "__publicField$1", "EventEmitter", "event", "listener", "index", "args", "__defProp", "__defNormalProp", "__publicField", "I18n", "params", "localeData", "localeOrAllData", "messages", "localeOrMessages", "id", "messageMissing", "missing", "setupI18n", "i18n", "supportedLocales", "defaultLocale", "getSupportedLocale", "usedLocale", "detectLocale", "serverLocale", "htmlLocale", "e", "getMessages", "enMsg", "nbMsg", "fiMsg", "activateI18n", "enMessages", "nbMessages", "fiMessages", "IconAlertWarning16", "title", "LitElement", "unsafeStatic", "html", "require_errors", "__commonJSMin", "exports", "ErrorType", "require_dist", "errors_1", "I", "parseHexToInt", "hex", "validateAndParseHex", "errorName", "enforcedLength", "parsedHex", "parseHexadecimalCode", "code", "parsedCode", "parseUnicodeCode", "surrogateCode", "parsedSurrogateCode", "isCurlyBraced", "text", "parseUnicodeCodePointCode", "codePoint", "withoutBraces", "err", "parseOctalCode", "error", "singleCharacterEscapes", "parseSingleCharacterCode", "escapeMatch", "unraw", "raw", "allowOctals", "_", "backslash", "unicodeWithSurrogate", "surrogate", "unicode", "octal", "singleCharacter", "import_unraw", "se", "$", "isString", "s", "isFunction", "f", "cache", "normalizeLocales", "locales", "date", "value", "format", "_locales", "getMemoized", "cacheKey", "number", "plural", "ordinal", "_a", "_b", "offset", "rules", "__objRest", "plurals", "getKey", "construct", "key", "formatter", "type", "options", "localeKey", "UNICODE_REGEX", "getDefaultFormats", "locale", "formats", "style", "replaceOctothorpe", "message", "numberFormat", "valueStr", "cases", "interpolate", "translation", "values", "formatters", "formatMessage", "message2", "token", "name", "interpolatedFormat", "result", "q", "__defProp$1", "__defNormalProp$1", "obj", "__publicField$1", "EventEmitter", "event", "listener", "index", "args", "__defProp", "__defNormalProp", "__publicField", "I18n", "params", "localeData", "localeOrAllData", "messages", "localeOrMessages", "id", "messageMissing", "missing", "setupI18n", "i18n", "supportedLocales", "defaultLocale", "getSupportedLocale", "usedLocale", "detectLocale", "serverLocale", "htmlLocale", "e", "getMessages", "enMsg", "nbMsg", "fiMsg", "activateI18n", "enMessages", "nbMessages", "fiMessages", "IconAlertError16", "title", "LitElement", "unsafeStatic", "html", "require_errors", "__commonJSMin", "exports", "ErrorType", "require_dist", "errors_1", "I", "parseHexToInt", "hex", "validateAndParseHex", "errorName", "enforcedLength", "parsedHex", "parseHexadecimalCode", "code", "parsedCode", "parseUnicodeCode", "surrogateCode", "parsedSurrogateCode", "isCurlyBraced", "text", "parseUnicodeCodePointCode", "codePoint", "withoutBraces", "err", "parseOctalCode", "error", "singleCharacterEscapes", "parseSingleCharacterCode", "escapeMatch", "unraw", "raw", "allowOctals", "_", "backslash", "unicodeWithSurrogate", "surrogate", "unicode", "octal", "singleCharacter", "import_unraw", "ne", "$", "isString", "s", "isFunction", "f", "cache", "normalizeLocales", "locales", "date", "value", "format", "_locales", "getMemoized", "cacheKey", "number", "plural", "ordinal", "_a", "_b", "offset", "rules", "__objRest", "plurals", "getKey", "construct", "key", "formatter", "type", "options", "localeKey", "UNICODE_REGEX", "getDefaultFormats", "locale", "formats", "style", "replaceOctothorpe", "message", "numberFormat", "valueStr", "cases", "interpolate", "translation", "values", "formatters", "formatMessage", "message2", "token", "name", "interpolatedFormat", "result", "G", "__defProp$1", "__defNormalProp$1", "obj", "__publicField$1", "EventEmitter", "event", "listener", "index", "args", "__defProp", "__defNormalProp", "__publicField", "I18n", "params", "localeData", "localeOrAllData", "messages", "localeOrMessages", "id", "messageMissing", "missing", "setupI18n", "i18n", "supportedLocales", "defaultLocale", "getSupportedLocale", "usedLocale", "detectLocale", "serverLocale", "htmlLocale", "e", "getMessages", "enMsg", "nbMsg", "fiMsg", "activateI18n", "enMessages", "nbMessages", "fiMessages", "IconAlertSuccess16", "title", "LitElement", "unsafeStatic", "html", "require_errors", "__commonJSMin", "exports", "ErrorType", "require_dist", "errors_1", "I", "parseHexToInt", "hex", "validateAndParseHex", "errorName", "enforcedLength", "parsedHex", "parseHexadecimalCode", "code", "parsedCode", "parseUnicodeCode", "surrogateCode", "parsedSurrogateCode", "isCurlyBraced", "text", "parseUnicodeCodePointCode", "codePoint", "withoutBraces", "err", "parseOctalCode", "error", "singleCharacterEscapes", "parseSingleCharacterCode", "escapeMatch", "unraw", "raw", "allowOctals", "_", "backslash", "unicodeWithSurrogate", "surrogate", "unicode", "octal", "singleCharacter", "import_unraw", "ne", "j", "isString", "s", "isFunction", "f", "cache", "normalizeLocales", "locales", "date", "value", "format", "_locales", "getMemoized", "cacheKey", "number", "plural", "ordinal", "_a", "_b", "offset", "rules", "__objRest", "plurals", "getKey", "construct", "key", "formatter", "type", "options", "localeKey", "UNICODE_REGEX", "getDefaultFormats", "locale", "formats", "style", "replaceOctothorpe", "message", "numberFormat", "valueStr", "cases", "interpolate", "translation", "values", "formatters", "formatMessage", "message2", "token", "name", "interpolatedFormat", "result", "q", "__defProp$1", "__defNormalProp$1", "obj", "__publicField$1", "EventEmitter", "event", "listener", "index", "args", "__defProp", "__defNormalProp", "__publicField", "I18n", "params", "localeData", "localeOrAllData", "messages", "localeOrMessages", "id", "messageMissing", "missing", "setupI18n", "i18n", "supportedLocales", "defaultLocale", "getSupportedLocale", "usedLocale", "detectLocale", "serverLocale", "htmlLocale", "e", "getMessages", "enMsg", "nbMsg", "fiMsg", "activateI18n", "enMessages", "nbMessages", "fiMessages", "IconClose16", "title", "classes", "definition", "defn", "key", "value", "className", "classMap", "toastType", "WarpToast", "WarpElement", "expand", "toast", "_a", "_b", "html", "resolve", "collapse", "event", "when", "__publicField", "css", "css", "html", "WarpElement", "repeat", "WarpToastContainer", "WarpElement", "keep", "remove", "toast", "collapseTasks", "id", "el", "result", "__spreadProps", "__spreadValues", "html", "toaster", "repeat", "__publicField", "css", "windowExists", "toast", "message", "options", "windowExists", "data", "__spreadValues", "removeToast", "id", "updateToast"]
|
|
7
7
|
}
|