luxen-ui 0.7.0 → 0.9.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/bin/cli.mjs +189 -18
- package/cdn/chunks/decorate.js +1 -1
- package/cdn/chunks/floating-ui.dom.js +1 -1
- package/cdn/chunks/floating-ui.dom.js.map +1 -1
- package/cdn/chunks/lit-html.js +3 -0
- package/cdn/chunks/lit-html.js.map +1 -0
- package/cdn/chunks/lit.js +1 -2
- package/cdn/chunks/lit.js.map +1 -1
- package/cdn/chunks/static-html.js +2 -0
- package/cdn/chunks/static-html.js.map +1 -0
- package/cdn/custom-elements.json +3174 -16266
- package/cdn/elements/avatar/avatar.d.ts +13 -0
- package/cdn/elements/avatar/avatar.d.ts.map +1 -1
- package/cdn/elements/avatar/avatar.js +8 -8
- package/cdn/elements/avatar/avatar.js.map +1 -1
- package/cdn/elements/button/button.meta.d.ts +33 -0
- package/cdn/elements/button/button.meta.d.ts.map +1 -0
- package/cdn/elements/button/button.meta.js +0 -0
- package/cdn/elements/button-group/button-group.d.ts +33 -0
- package/cdn/elements/button-group/button-group.d.ts.map +1 -0
- package/cdn/elements/button-group/button-group.js +2 -0
- package/cdn/elements/button-group/button-group.js.map +1 -0
- package/cdn/elements/button-group/index.d.ts +2 -0
- package/cdn/elements/button-group/index.d.ts.map +1 -0
- package/cdn/elements/button-group/index.js +2 -0
- package/cdn/elements/button-group/index.js.map +1 -0
- package/cdn/elements/carousel/carousel.d.ts +6 -0
- package/cdn/elements/carousel/carousel.d.ts.map +1 -1
- package/cdn/elements/carousel/carousel.js +5 -5
- package/cdn/elements/carousel/carousel.js.map +1 -1
- package/cdn/elements/carousel-item/carousel-item.d.ts +2 -0
- package/cdn/elements/carousel-item/carousel-item.d.ts.map +1 -1
- package/cdn/elements/carousel-item/carousel-item.js +1 -1
- package/cdn/elements/carousel-item/carousel-item.js.map +1 -1
- package/cdn/elements/checkbox/checkbox.meta.d.ts +31 -0
- package/cdn/elements/checkbox/checkbox.meta.d.ts.map +1 -0
- package/cdn/elements/checkbox/checkbox.meta.js +0 -0
- package/cdn/elements/close-button/close-button.meta.d.ts +24 -0
- package/cdn/elements/close-button/close-button.meta.d.ts.map +1 -0
- package/cdn/elements/close-button/close-button.meta.js +0 -0
- package/cdn/elements/dialog/dialog.d.ts +12 -6
- package/cdn/elements/dialog/dialog.d.ts.map +1 -1
- package/cdn/elements/dialog/dialog.js +8 -5
- package/cdn/elements/dialog/dialog.js.map +1 -1
- package/cdn/elements/dialog/dialog.styles.js +1 -1
- package/cdn/elements/dialog/dialog.styles.js.map +1 -1
- package/cdn/elements/disclosure/disclosure.meta.d.ts +28 -0
- package/cdn/elements/disclosure/disclosure.meta.d.ts.map +1 -0
- package/cdn/elements/disclosure/disclosure.meta.js +0 -0
- package/cdn/elements/divider/divider.d.ts +1 -1
- package/cdn/elements/divider/divider.js.map +1 -1
- package/cdn/elements/drawer/drawer.d.ts +5 -0
- package/cdn/elements/drawer/drawer.d.ts.map +1 -1
- package/cdn/elements/drawer/drawer.js +1 -1
- package/cdn/elements/drawer/drawer.js.map +1 -1
- package/cdn/elements/dropdown/dropdown.d.ts +11 -1
- package/cdn/elements/dropdown/dropdown.d.ts.map +1 -1
- package/cdn/elements/dropdown/dropdown.js +2 -2
- package/cdn/elements/dropdown/dropdown.js.map +1 -1
- package/cdn/elements/dropdown-item/dropdown-item.d.ts +2 -0
- package/cdn/elements/dropdown-item/dropdown-item.d.ts.map +1 -1
- package/cdn/elements/dropdown-item/dropdown-item.js +5 -5
- package/cdn/elements/dropdown-item/dropdown-item.js.map +1 -1
- package/cdn/elements/dropdown-label/dropdown-label.d.ts +17 -0
- package/cdn/elements/dropdown-label/dropdown-label.d.ts.map +1 -0
- package/cdn/elements/dropdown-label/dropdown-label.js +4 -0
- package/cdn/elements/dropdown-label/dropdown-label.js.map +1 -0
- package/cdn/elements/dropdown-label/index.d.ts +2 -0
- package/cdn/elements/dropdown-label/index.d.ts.map +1 -0
- package/cdn/elements/dropdown-label/index.js +2 -0
- package/cdn/elements/dropdown-label/index.js.map +1 -0
- package/cdn/elements/form-field/form-field.d.ts +62 -0
- package/cdn/elements/form-field/form-field.d.ts.map +1 -0
- package/cdn/elements/form-field/form-field.js +2 -0
- package/cdn/elements/form-field/form-field.js.map +1 -0
- package/cdn/elements/form-field/index.d.ts +2 -0
- package/cdn/elements/form-field/index.d.ts.map +1 -0
- package/cdn/elements/form-field/index.js +2 -0
- package/cdn/elements/form-field/index.js.map +1 -0
- package/cdn/elements/icon/icon.js +1 -1
- package/cdn/elements/icon/icon.js.map +1 -1
- package/cdn/elements/input-otp/input-otp.d.ts +2 -0
- package/cdn/elements/input-otp/input-otp.d.ts.map +1 -1
- package/cdn/elements/input-otp/input-otp.js.map +1 -1
- package/cdn/elements/input-stepper/input-stepper.d.ts +2 -0
- package/cdn/elements/input-stepper/input-stepper.d.ts.map +1 -1
- package/cdn/elements/input-stepper/input-stepper.js +1 -1
- package/cdn/elements/input-stepper/input-stepper.js.map +1 -1
- package/cdn/elements/kbd/kbd.meta.d.ts +14 -0
- package/cdn/elements/kbd/kbd.meta.d.ts.map +1 -0
- package/cdn/elements/kbd/kbd.meta.js +0 -0
- package/cdn/elements/popover/popover.js +2 -2
- package/cdn/elements/popover/popover.js.map +1 -1
- package/cdn/elements/progress/progress.meta.d.ts +22 -0
- package/cdn/elements/progress/progress.meta.d.ts.map +1 -0
- package/cdn/elements/progress/progress.meta.js +0 -0
- package/cdn/elements/prose-editor/prose-editor.d.ts +12 -1
- package/cdn/elements/prose-editor/prose-editor.d.ts.map +1 -1
- package/cdn/elements/prose-editor/prose-editor.js +42 -42
- package/cdn/elements/prose-editor/prose-editor.js.map +1 -1
- package/cdn/elements/rating/rating.d.ts +2 -0
- package/cdn/elements/rating/rating.d.ts.map +1 -1
- package/cdn/elements/rating/rating.js +5 -5
- package/cdn/elements/rating/rating.js.map +1 -1
- package/cdn/elements/select/select.meta.d.ts +28 -0
- package/cdn/elements/select/select.meta.d.ts.map +1 -0
- package/cdn/elements/select/select.meta.js +0 -0
- package/cdn/elements/skeleton/skeleton.d.ts +3 -0
- package/cdn/elements/skeleton/skeleton.d.ts.map +1 -1
- package/cdn/elements/skeleton/skeleton.js.map +1 -1
- package/cdn/elements/spinner/spinner.js +1 -1
- package/cdn/elements/spinner/spinner.js.map +1 -1
- package/cdn/elements/sticky-bar/sticky-bar.js +1 -1
- package/cdn/elements/sticky-bar/sticky-bar.js.map +1 -1
- package/cdn/elements/stories-viewer/stories-viewer.d.ts +1 -1
- package/cdn/elements/stories-viewer/stories-viewer.d.ts.map +1 -1
- package/cdn/elements/stories-viewer/stories-viewer.js +27 -27
- package/cdn/elements/stories-viewer/stories-viewer.js.map +1 -1
- package/cdn/elements/story/story.d.ts +10 -1
- package/cdn/elements/story/story.d.ts.map +1 -1
- package/cdn/elements/story/story.js +20 -20
- package/cdn/elements/story/story.js.map +1 -1
- package/cdn/elements/toast/toast.d.ts +5 -0
- package/cdn/elements/toast/toast.d.ts.map +1 -1
- package/cdn/elements/toast/toast.js.map +1 -1
- package/cdn/elements/tooltip/tooltip.js +2 -2
- package/cdn/elements/tooltip/tooltip.js.map +1 -1
- package/cdn/elements/tree/tree.d.ts +2 -0
- package/cdn/elements/tree/tree.d.ts.map +1 -1
- package/cdn/elements/tree/tree.js +1 -1
- package/cdn/elements/tree/tree.js.map +1 -1
- package/cdn/elements/tree-item/tree-item.d.ts +2 -0
- package/cdn/elements/tree-item/tree-item.d.ts.map +1 -1
- package/cdn/elements/tree-item/tree-item.js +6 -6
- package/cdn/elements/tree-item/tree-item.js.map +1 -1
- package/cdn/registry.d.ts +1 -1
- package/cdn/registry.d.ts.map +1 -1
- package/cdn/registry.js.map +1 -1
- package/cdn/shared/controllers/has-slot-controller.d.ts +37 -0
- package/cdn/shared/controllers/has-slot-controller.d.ts.map +1 -0
- package/cdn/shared/controllers/has-slot-controller.js +2 -0
- package/cdn/shared/controllers/has-slot-controller.js.map +1 -0
- package/cdn/shared/controllers/popover.d.ts +2 -0
- package/cdn/shared/controllers/popover.d.ts.map +1 -1
- package/cdn/shared/controllers/popover.js +1 -1
- package/cdn/shared/controllers/popover.js.map +1 -1
- package/cdn/shared/styles/checkbox-appearance.styles.d.ts +9 -0
- package/cdn/shared/styles/checkbox-appearance.styles.d.ts.map +1 -0
- package/cdn/shared/styles/checkbox-appearance.styles.js +2 -0
- package/cdn/shared/styles/checkbox-appearance.styles.js.map +1 -0
- package/cdn/shared/styles/host.styles.js +1 -1
- package/cdn/standalone.css +337 -9
- package/cdn/standalone.js +513 -46
- package/cdn/standalone.js.map +1 -1
- package/cdn/static-tag.d.ts +17 -0
- package/cdn/static-tag.d.ts.map +1 -0
- package/cdn/static-tag.js +2 -0
- package/cdn/static-tag.js.map +1 -0
- package/cdn/styles/elements/button-group.css +88 -0
- package/cdn/styles/elements/button.css +7 -2
- package/cdn/styles/elements/checkbox.css +101 -0
- package/cdn/styles/elements/form-field.css +67 -0
- package/cdn/styles/elements/input-stepper/default.css +10 -4
- package/cdn/styles/elements/input-stepper/rounded.css +9 -3
- package/cdn/styles/preset.css +49 -0
- package/cdn/styles/tokens/forms.css +52 -0
- package/cdn/styles/tokens.css +49 -0
- package/dist/css/elements/button-group.css +88 -0
- package/dist/css/elements/button.css +7 -2
- package/dist/css/elements/checkbox.css +101 -0
- package/dist/css/elements/form-field.css +67 -0
- package/dist/css/elements/input-stepper/default.css +10 -4
- package/dist/css/elements/input-stepper/rounded.css +9 -3
- package/dist/css/preset.css +49 -0
- package/dist/css/tokens/forms.css +52 -0
- package/dist/css/tokens.css +49 -0
- package/dist/custom-elements.json +3174 -16266
- package/dist/elements/avatar/avatar.css +37 -10
- package/dist/elements/avatar/avatar.d.ts +13 -0
- package/dist/elements/avatar/avatar.d.ts.map +1 -1
- package/dist/elements/avatar/avatar.js +14 -1
- package/dist/elements/button/button.meta.d.ts +33 -0
- package/dist/elements/button/button.meta.d.ts.map +1 -0
- package/dist/elements/button/button.meta.js +44 -0
- package/dist/elements/button-group/button-group.d.ts +33 -0
- package/dist/elements/button-group/button-group.d.ts.map +1 -0
- package/dist/elements/button-group/button-group.js +57 -0
- package/dist/elements/button-group/index.d.ts +2 -0
- package/dist/elements/button-group/index.d.ts.map +1 -0
- package/dist/elements/button-group/index.js +4 -0
- package/dist/elements/carousel/carousel.d.ts +6 -0
- package/dist/elements/carousel/carousel.d.ts.map +1 -1
- package/dist/elements/carousel/carousel.js +6 -0
- package/dist/elements/carousel-item/carousel-item.d.ts +2 -0
- package/dist/elements/carousel-item/carousel-item.d.ts.map +1 -1
- package/dist/elements/carousel-item/carousel-item.js +2 -0
- package/dist/elements/checkbox/checkbox.meta.d.ts +31 -0
- package/dist/elements/checkbox/checkbox.meta.d.ts.map +1 -0
- package/dist/elements/checkbox/checkbox.meta.js +41 -0
- package/dist/elements/close-button/close-button.meta.d.ts +24 -0
- package/dist/elements/close-button/close-button.meta.d.ts.map +1 -0
- package/dist/elements/close-button/close-button.meta.js +30 -0
- package/dist/elements/dialog/dialog.css +15 -0
- package/dist/elements/dialog/dialog.d.ts +12 -6
- package/dist/elements/dialog/dialog.d.ts.map +1 -1
- package/dist/elements/dialog/dialog.js +21 -7
- package/dist/elements/disclosure/disclosure.meta.d.ts +28 -0
- package/dist/elements/disclosure/disclosure.meta.d.ts.map +1 -0
- package/dist/elements/disclosure/disclosure.meta.js +34 -0
- package/dist/elements/divider/divider.d.ts +1 -1
- package/dist/elements/divider/divider.js +1 -1
- package/dist/elements/drawer/drawer.d.ts +5 -0
- package/dist/elements/drawer/drawer.d.ts.map +1 -1
- package/dist/elements/drawer/drawer.js +5 -0
- package/dist/elements/dropdown/dropdown.css +0 -1
- package/dist/elements/dropdown/dropdown.d.ts +11 -1
- package/dist/elements/dropdown/dropdown.d.ts.map +1 -1
- package/dist/elements/dropdown/dropdown.js +23 -4
- package/dist/elements/dropdown-item/dropdown-item.d.ts +2 -0
- package/dist/elements/dropdown-item/dropdown-item.d.ts.map +1 -1
- package/dist/elements/dropdown-item/dropdown-item.js +2 -0
- package/dist/elements/dropdown-label/dropdown-label.css +18 -0
- package/dist/elements/dropdown-label/dropdown-label.d.ts +17 -0
- package/dist/elements/dropdown-label/dropdown-label.d.ts.map +1 -0
- package/dist/elements/dropdown-label/dropdown-label.js +31 -0
- package/dist/elements/dropdown-label/index.d.ts +2 -0
- package/dist/elements/dropdown-label/index.d.ts.map +1 -0
- package/dist/elements/dropdown-label/index.js +4 -0
- package/dist/elements/form-field/form-field.d.ts +62 -0
- package/dist/elements/form-field/form-field.d.ts.map +1 -0
- package/dist/elements/form-field/form-field.js +191 -0
- package/dist/elements/form-field/index.d.ts +2 -0
- package/dist/elements/form-field/index.d.ts.map +1 -0
- package/dist/elements/form-field/index.js +4 -0
- package/dist/elements/input-otp/input-otp.d.ts +2 -0
- package/dist/elements/input-otp/input-otp.d.ts.map +1 -1
- package/dist/elements/input-otp/input-otp.js +2 -0
- package/dist/elements/input-stepper/input-stepper.d.ts +2 -0
- package/dist/elements/input-stepper/input-stepper.d.ts.map +1 -1
- package/dist/elements/input-stepper/input-stepper.js +5 -1
- package/dist/elements/kbd/kbd.meta.d.ts +14 -0
- package/dist/elements/kbd/kbd.meta.d.ts.map +1 -0
- package/dist/elements/kbd/kbd.meta.js +20 -0
- package/dist/elements/progress/progress.meta.d.ts +22 -0
- package/dist/elements/progress/progress.meta.d.ts.map +1 -0
- package/dist/elements/progress/progress.meta.js +28 -0
- package/dist/elements/prose-editor/prose-editor.d.ts +12 -1
- package/dist/elements/prose-editor/prose-editor.d.ts.map +1 -1
- package/dist/elements/prose-editor/prose-editor.js +58 -13
- package/dist/elements/rating/rating.d.ts +2 -0
- package/dist/elements/rating/rating.d.ts.map +1 -1
- package/dist/elements/rating/rating.js +2 -0
- package/dist/elements/select/select.meta.d.ts +28 -0
- package/dist/elements/select/select.meta.d.ts.map +1 -0
- package/dist/elements/select/select.meta.js +34 -0
- package/dist/elements/skeleton/skeleton.d.ts +3 -0
- package/dist/elements/skeleton/skeleton.d.ts.map +1 -1
- package/dist/elements/skeleton/skeleton.js +3 -0
- package/dist/elements/stories-viewer/stories-viewer.d.ts +1 -1
- package/dist/elements/stories-viewer/stories-viewer.d.ts.map +1 -1
- package/dist/elements/stories-viewer/stories-viewer.js +23 -19
- package/dist/elements/story/story.d.ts +10 -1
- package/dist/elements/story/story.d.ts.map +1 -1
- package/dist/elements/story/story.js +29 -17
- package/dist/elements/toast/toast.d.ts +5 -0
- package/dist/elements/toast/toast.d.ts.map +1 -1
- package/dist/elements/toast/toast.js +5 -0
- package/dist/elements/tree/tree.d.ts +2 -0
- package/dist/elements/tree/tree.d.ts.map +1 -1
- package/dist/elements/tree/tree.js +13 -1
- package/dist/elements/tree-item/tree-item.css +6 -12
- package/dist/elements/tree-item/tree-item.d.ts +2 -0
- package/dist/elements/tree-item/tree-item.d.ts.map +1 -1
- package/dist/elements/tree-item/tree-item.js +5 -2
- package/dist/metadata/avatar.json +93 -0
- package/dist/metadata/badge.json +59 -0
- package/dist/metadata/button-group.json +49 -0
- package/dist/metadata/button.json +138 -0
- package/dist/metadata/carousel-item.json +32 -0
- package/dist/metadata/carousel.json +388 -0
- package/dist/metadata/checkbox.json +89 -0
- package/dist/metadata/close-button.json +90 -0
- package/dist/metadata/dialog.json +163 -0
- package/dist/metadata/disclosure.json +88 -0
- package/dist/metadata/divider.json +65 -0
- package/dist/metadata/drawer.json +176 -0
- package/dist/metadata/dropdown-item.json +85 -0
- package/dist/metadata/dropdown-label.json +37 -0
- package/dist/metadata/dropdown.json +165 -0
- package/dist/metadata/form-field.json +87 -0
- package/dist/metadata/icon.json +49 -0
- package/dist/metadata/index.json +4342 -0
- package/dist/metadata/input-otp.json +86 -0
- package/dist/metadata/input-stepper.json +122 -0
- package/dist/metadata/kbd.json +37 -0
- package/dist/metadata/popover.json +157 -0
- package/dist/metadata/progress.json +71 -0
- package/dist/metadata/prose-editor.json +365 -0
- package/dist/metadata/rating.json +126 -0
- package/dist/metadata/select.json +82 -0
- package/dist/metadata/skeleton.json +56 -0
- package/dist/metadata/spinner.json +47 -0
- package/dist/metadata/sticky-bar.json +93 -0
- package/dist/metadata/stories-viewer.json +316 -0
- package/dist/metadata/stories.json +109 -0
- package/dist/metadata/story.json +148 -0
- package/dist/metadata/tabs.json +74 -0
- package/dist/metadata/toast.json +122 -0
- package/dist/metadata/tooltip.json +144 -0
- package/dist/metadata/tree-item.json +199 -0
- package/dist/metadata/tree.json +130 -0
- package/dist/registry.d.ts +1 -1
- package/dist/registry.d.ts.map +1 -1
- package/dist/shared/controllers/has-slot-controller.d.ts +37 -0
- package/dist/shared/controllers/has-slot-controller.d.ts.map +1 -0
- package/dist/shared/controllers/has-slot-controller.js +66 -0
- package/dist/shared/controllers/popover.d.ts +2 -0
- package/dist/shared/controllers/popover.d.ts.map +1 -1
- package/dist/shared/controllers/popover.js +14 -1
- package/dist/shared/styles/checkbox-appearance.css +92 -0
- package/dist/shared/styles/checkbox-appearance.styles.d.ts +9 -0
- package/dist/shared/styles/checkbox-appearance.styles.d.ts.map +1 -0
- package/dist/shared/styles/checkbox-appearance.styles.js +9 -0
- package/dist/static-tag.d.ts +17 -0
- package/dist/static-tag.d.ts.map +1 -0
- package/dist/static-tag.js +22 -0
- package/dist/templates/elements/avatar.md +30 -31
- package/dist/templates/elements/badge.md +9 -15
- package/dist/templates/elements/button-group.md +164 -0
- package/dist/templates/elements/button.md +39 -51
- package/dist/templates/elements/checkbox.md +200 -0
- package/dist/templates/elements/close-button.md +24 -36
- package/dist/templates/elements/dialog.md +73 -54
- package/dist/templates/elements/drawer.md +39 -52
- package/dist/templates/elements/form-field.md +115 -0
- package/dist/templates/elements/progress.md +13 -23
- package/dist/templates/elements/prose-editor.md +71 -76
- package/dist/templates/elements/select.md +20 -31
- package/dist/templates/elements/sticky-bar.md +16 -60
- package/dist/templates/elements/toast.md +33 -53
- package/dist/templates/elements/tree.md +46 -74
- package/elements.json +73 -1
- package/package.json +10 -3
- package/templates/SKILL.md.tpl +20 -2
- package/templates/integration.md.tpl +1 -1
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
import{i as e}from"../../chunks/lit.js";import{a as t}from"../../chunks/lit-html.js";import{LuxenElement as n}from"../../shared/luxen-element.js";import r from"../../shared/styles/host.styles.js";var i=e(`:host{--color:var(--l-color-text-tertiary);display:block}.label{letter-spacing:.03em;text-transform:uppercase;color:var(--color);white-space:nowrap;-webkit-user-select:none;user-select:none;padding:.375rem .5rem .125rem;font-size:.6875rem;font-weight:600;line-height:1.4}`),a=class extends n{static{this.styles=[r,i]}connectedCallback(){super.connectedCallback(),this.setAttribute(`role`,`presentation`)}render(){return t`<div class="label">
|
|
2
|
+
<slot></slot>
|
|
3
|
+
</div>`}};export{a as DropdownLabel};
|
|
4
|
+
//# sourceMappingURL=dropdown-label.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"dropdown-label.js","names":[],"sources":["../../../src/html/elements/dropdown-label/dropdown-label.css?inline","../../../src/html/elements/dropdown-label/dropdown-label.ts"],"sourcesContent":[":host {\n display: block;\n --color: var(--l-color-text-tertiary);\n}\n\n.label {\n /* Inline padding aligns with dropdown-item's `0.375rem 0.5rem` so labels and\n items line up; extra top padding adds breathing room above each section. */\n padding: 0.375rem 0.5rem 0.125rem;\n font-size: 0.6875rem; /* 11px */\n font-weight: 600;\n letter-spacing: 0.03em;\n text-transform: uppercase;\n line-height: 1.4;\n color: var(--color);\n white-space: nowrap;\n user-select: none;\n}\n","import { html, unsafeCSS, type CSSResultGroup } from 'lit';\nimport { LuxenElement } from '../../shared/luxen-element.js';\nimport hostStyles from '../../shared/styles/host.styles.js';\nimport rawStyles from './dropdown-label.css?inline';\n\nconst styles = unsafeCSS(rawStyles);\n\n/**\n * A non-interactive section label for grouping items inside `<l-dropdown>`.\n *\n * @slot - Label text.\n *\n * @cssproperty --color - Text color. Defaults to `var(--l-color-text-tertiary)`.\n *\n * @customElement l-dropdown-label\n */\nexport class DropdownLabel extends LuxenElement {\n static override styles: CSSResultGroup = [hostStyles, styles];\n\n override connectedCallback() {\n super.connectedCallback();\n // Set the role on the host — that's the node that lands in the\n // `role=\"menu\"` light-DOM subtree (mirrors `l-divider`'s `role=\"separator\"`).\n // A role on the shadow-DOM `.label` <div> would not change how the host is\n // announced. `presentation` keeps the label out of menu-item navigation\n // while its text is still read as plain content.\n this.setAttribute('role', 'presentation');\n }\n\n override render() {\n return html`<div class=\"label\">\n <slot></slot>\n </div>`;\n }\n}\n"],"mappings":"oMCKA,IAAM,EAAS,EAAU,kRAAU,CAWtB,EAAb,cAAmC,CAAa,oBACL,CAAC,EAAY,EAAO,CAE7D,mBAA6B,CAC3B,MAAM,mBAAmB,CAMzB,KAAK,aAAa,OAAQ,eAAe,CAG3C,QAAkB,CAChB,MAAO,EAAI"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/html/elements/dropdown-label/index.ts"],"names":[],"mappings":"AAEA,cAAc,qBAAqB,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","names":[],"sources":["../../../src/html/elements/dropdown-label/index.ts"],"sourcesContent":["import { define } from '../../define.js';\nimport { DropdownLabel } from './dropdown-label.js';\nexport * from './dropdown-label.js';\ndefine('dropdown-label', DropdownLabel);\n"],"mappings":"6FAGA,EAAO,iBAAkB,EAAc"}
|
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
import { LuxenElement } from '../../shared/luxen-element.js';
|
|
2
|
+
/**
|
|
3
|
+
* @summary Progressively enhances a label + control + messages group: wires the
|
|
4
|
+
* accessibility plumbing (`id`/`for`, `aria-describedby`, `aria-invalid`,
|
|
5
|
+
* required marker) and picks an inline or stacked layout from the control type.
|
|
6
|
+
*
|
|
7
|
+
* Styling stays on the control (`.l-checkbox`, …); inside a field a bare control
|
|
8
|
+
* is auto-styled by the element CSS. Add `unstyled` to keep the ARIA wiring while
|
|
9
|
+
* opting out of that auto-styling (e.g. for a third-party control).
|
|
10
|
+
*
|
|
11
|
+
* @example
|
|
12
|
+
* ```html
|
|
13
|
+
* <l-form-field>
|
|
14
|
+
* <label>Subscribe to the newsletter</label>
|
|
15
|
+
* <input type="checkbox" />
|
|
16
|
+
* <p class="l-hint">One email a month, unsubscribe anytime.</p>
|
|
17
|
+
* <p class="l-error">Please make a choice to continue.</p>
|
|
18
|
+
* </l-form-field>
|
|
19
|
+
* ```
|
|
20
|
+
*
|
|
21
|
+
* @slot - A `<label>`, one form control (`input` / `select` / `textarea`), and
|
|
22
|
+
* optional `.l-hint` / `.l-error` message elements, in any order.
|
|
23
|
+
*
|
|
24
|
+
* @cssClass .l-hint - Helper text element. Always visible; linked via `aria-describedby`.
|
|
25
|
+
* @cssClass .l-error - Error message element. Hidden until invalid, then revealed with `role="alert"` and linked via `aria-describedby`.
|
|
26
|
+
*
|
|
27
|
+
* @customElement l-form-field
|
|
28
|
+
*/
|
|
29
|
+
export declare class FormField extends LuxenElement {
|
|
30
|
+
createRenderRoot(): this;
|
|
31
|
+
/** Layout, derived from the control type (`inline` for checkbox/radio/switch, otherwise `stacked`). Set one to force it. */
|
|
32
|
+
layout?: 'inline' | 'stacked';
|
|
33
|
+
/** Reflected when the control is required. Drives the label marker. */
|
|
34
|
+
required: boolean;
|
|
35
|
+
/** Reflected when the control is not required. */
|
|
36
|
+
optional: boolean;
|
|
37
|
+
/** Reflected once the control is invalid after interaction (or set to force the invalid state). */
|
|
38
|
+
invalid: boolean;
|
|
39
|
+
/** Opt out of auto-styling the control; the ARIA wiring is preserved. */
|
|
40
|
+
unstyled: boolean;
|
|
41
|
+
private _control;
|
|
42
|
+
private _hint;
|
|
43
|
+
private _error;
|
|
44
|
+
private _hasInteracted;
|
|
45
|
+
private _wired;
|
|
46
|
+
/** describedby ids set by the author that we must preserve. */
|
|
47
|
+
private _externalDescribedby;
|
|
48
|
+
connectedCallback(): void;
|
|
49
|
+
disconnectedCallback(): void;
|
|
50
|
+
private _setup;
|
|
51
|
+
private _teardown;
|
|
52
|
+
private _onInvalid;
|
|
53
|
+
private _onInteract;
|
|
54
|
+
private _updateValidity;
|
|
55
|
+
private _updateDescribedby;
|
|
56
|
+
}
|
|
57
|
+
declare global {
|
|
58
|
+
interface HTMLElementTagNameMap {
|
|
59
|
+
'l-form-field': FormField;
|
|
60
|
+
}
|
|
61
|
+
}
|
|
62
|
+
//# sourceMappingURL=form-field.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"form-field.d.ts","sourceRoot":"","sources":["../../../src/html/elements/form-field/form-field.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAE,MAAM,+BAA+B,CAAC;AAO7D;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AACH,qBAAa,SAAU,SAAQ,YAAY;IAChC,gBAAgB;IAIzB,4HAA4H;IAE5H,MAAM,CAAC,EAAE,QAAQ,GAAG,SAAS,CAAC;IAE9B,uEAAuE;IAEvE,QAAQ,UAAS;IAEjB,kDAAkD;IAElD,QAAQ,UAAS;IAEjB,mGAAmG;IAEnG,OAAO,UAAS;IAEhB,yEAAyE;IAEzE,QAAQ,UAAS;IAEjB,OAAO,CAAC,QAAQ,CAA4B;IAC5C,OAAO,CAAC,KAAK,CAA4B;IACzC,OAAO,CAAC,MAAM,CAA4B;IAC1C,OAAO,CAAC,cAAc,CAAS;IAC/B,OAAO,CAAC,MAAM,CAAS;IACvB,+DAA+D;IAC/D,OAAO,CAAC,oBAAoB,CAAgB;IAEnC,iBAAiB;IASjB,oBAAoB;IAM7B,OAAO,CAAC,MAAM;IA4Dd,OAAO,CAAC,SAAS;IASjB,OAAO,CAAC,UAAU,CAKhB;IAEF,OAAO,CAAC,WAAW,CAGjB;IAEF,OAAO,CAAC,eAAe;IAavB,OAAO,CAAC,kBAAkB;CAS3B;AAED,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,qBAAqB;QAC7B,cAAc,EAAE,SAAS,CAAC;KAC3B;CACF"}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import{uniqueId as e}from"../../registry.js";import{LuxenElement as t}from"../../shared/luxen-element.js";import{i as n,t as r}from"../../chunks/decorate.js";var i=`input, select, textarea`,a=class extends t{constructor(...e){super(...e),this.required=!1,this.optional=!1,this.invalid=!1,this.unstyled=!1,this._control=null,this._hint=null,this._error=null,this._hasInteracted=!1,this._wired=!1,this._externalDescribedby=[],this._onInvalid=e=>{e.preventDefault(),this._hasInteracted=!0,this._updateValidity()},this._onInteract=()=>{this._hasInteracted=!0,this._updateValidity()}}createRenderRoot(){return this}connectedCallback(){super.connectedCallback(),this._setup()||setTimeout(()=>this._setup(),0)}disconnectedCallback(){super.disconnectedCallback(),this._teardown(),this._wired=!1}_setup(){if(this._wired)return!0;if(this._control=this.querySelector(i),!this._control)return!1;this._wired=!0;let t=this._control;this._hint=this.querySelector(`.l-hint`),this._error=this.querySelector(`.l-error`),this._error&&!this._error.hasAttribute(`role`)&&this._error.setAttribute(`role`,`alert`),t.id||=e(`field`);let n=this.querySelector(`label`);n&&!n.htmlFor&&!n.contains(t)&&(n.htmlFor=t.id),this._hint&&!this._hint.id&&(this._hint.id=e(`hint`)),this._error&&!this._error.id&&(this._error.id=e(`error`));let r=new Set([this._hint?.id,this._error?.id].filter(Boolean));if(this._externalDescribedby=(t.getAttribute(`aria-describedby`)??``).split(/\s+/).filter(e=>e&&!r.has(e)),!this.layout){let e=t.tagName===`INPUT`&&([`checkbox`,`radio`].includes(t.type)||t.getAttribute(`role`)===`switch`);this.layout=e?`inline`:`stacked`}this.required=t.hasAttribute(`required`),this.optional=!this.required;let a=this.invalid||t.getAttribute(`aria-invalid`)===`true`;return this._error&&(this._error.hidden=!a),this._hasInteracted=a,t.addEventListener(`invalid`,this._onInvalid),t.addEventListener(`blur`,this._onInteract),t.addEventListener(`change`,this._onInteract),t.addEventListener(`input`,this._onInteract),this._updateValidity(),!0}_teardown(){let e=this._control;e&&(e.removeEventListener(`invalid`,this._onInvalid),e.removeEventListener(`blur`,this._onInteract),e.removeEventListener(`change`,this._onInteract),e.removeEventListener(`input`,this._onInteract))}_updateValidity(){let e=this._control;if(!e)return;let t=this._hasInteracted&&!e.checkValidity();this.invalid=t,t?e.setAttribute(`aria-invalid`,`true`):e.removeAttribute(`aria-invalid`),this._error&&(this._error.hidden=!t),this._updateDescribedby()}_updateDescribedby(){let e=this._control;if(!e)return;let t=[...this._externalDescribedby];this._hint?.id&&t.push(this._hint.id),this._error&&!this._error.hidden&&this._error.id&&t.push(this._error.id),t.length?e.setAttribute(`aria-describedby`,t.join(` `)):e.removeAttribute(`aria-describedby`)}};r([n({reflect:!0})],a.prototype,`layout`,void 0),r([n({type:Boolean,reflect:!0})],a.prototype,`required`,void 0),r([n({type:Boolean,reflect:!0})],a.prototype,`optional`,void 0),r([n({type:Boolean,reflect:!0})],a.prototype,`invalid`,void 0),r([n({type:Boolean,reflect:!0})],a.prototype,`unstyled`,void 0);export{a as FormField};
|
|
2
|
+
//# sourceMappingURL=form-field.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"form-field.js","names":[],"sources":["../../../src/html/elements/form-field/form-field.ts"],"sourcesContent":["import { property } from 'lit/decorators.js';\nimport { LuxenElement } from '../../shared/luxen-element.js';\nimport { uniqueId } from '../../registry.js';\n\ntype FormControl = HTMLInputElement | HTMLSelectElement | HTMLTextAreaElement;\n\nconst CONTROL_SELECTOR = 'input, select, textarea';\n\n/**\n * @summary Progressively enhances a label + control + messages group: wires the\n * accessibility plumbing (`id`/`for`, `aria-describedby`, `aria-invalid`,\n * required marker) and picks an inline or stacked layout from the control type.\n *\n * Styling stays on the control (`.l-checkbox`, …); inside a field a bare control\n * is auto-styled by the element CSS. Add `unstyled` to keep the ARIA wiring while\n * opting out of that auto-styling (e.g. for a third-party control).\n *\n * @example\n * ```html\n * <l-form-field>\n * <label>Subscribe to the newsletter</label>\n * <input type=\"checkbox\" />\n * <p class=\"l-hint\">One email a month, unsubscribe anytime.</p>\n * <p class=\"l-error\">Please make a choice to continue.</p>\n * </l-form-field>\n * ```\n *\n * @slot - A `<label>`, one form control (`input` / `select` / `textarea`), and\n * optional `.l-hint` / `.l-error` message elements, in any order.\n *\n * @cssClass .l-hint - Helper text element. Always visible; linked via `aria-describedby`.\n * @cssClass .l-error - Error message element. Hidden until invalid, then revealed with `role=\"alert\"` and linked via `aria-describedby`.\n *\n * @customElement l-form-field\n */\nexport class FormField extends LuxenElement {\n override createRenderRoot() {\n return this;\n }\n\n /** Layout, derived from the control type (`inline` for checkbox/radio/switch, otherwise `stacked`). Set one to force it. */\n @property({ reflect: true })\n layout?: 'inline' | 'stacked';\n\n /** Reflected when the control is required. Drives the label marker. */\n @property({ type: Boolean, reflect: true })\n required = false;\n\n /** Reflected when the control is not required. */\n @property({ type: Boolean, reflect: true })\n optional = false;\n\n /** Reflected once the control is invalid after interaction (or set to force the invalid state). */\n @property({ type: Boolean, reflect: true })\n invalid = false;\n\n /** Opt out of auto-styling the control; the ARIA wiring is preserved. */\n @property({ type: Boolean, reflect: true })\n unstyled = false;\n\n private _control: FormControl | null = null;\n private _hint: HTMLElement | null = null;\n private _error: HTMLElement | null = null;\n private _hasInteracted = false;\n private _wired = false;\n /** describedby ids set by the author that we must preserve. */\n private _externalDescribedby: string[] = [];\n\n override connectedCallback() {\n super.connectedCallback();\n // Run synchronously when the children are already parsed (the common case:\n // the element is defined after its markup). Fall back to a macrotask — which,\n // unlike requestAnimationFrame, still fires in a hidden tab — if the element\n // upgrades mid-parse before its children exist.\n if (!this._setup()) setTimeout(() => this._setup(), 0);\n }\n\n override disconnectedCallback() {\n super.disconnectedCallback();\n this._teardown();\n this._wired = false;\n }\n\n private _setup(): boolean {\n if (this._wired) return true;\n this._control = this.querySelector<FormControl>(CONTROL_SELECTOR);\n if (!this._control) return false;\n this._wired = true;\n const control = this._control;\n\n this._hint = this.querySelector('.l-hint');\n this._error = this.querySelector('.l-error');\n // The error is announced when revealed; the field owns this (the message is\n // a plain element with no JS of its own).\n if (this._error && !this._error.hasAttribute('role')) {\n this._error.setAttribute('role', 'alert');\n }\n\n // id / label[for]\n if (!control.id) control.id = uniqueId('field');\n const label = this.querySelector('label');\n if (label && !label.htmlFor && !label.contains(control)) {\n label.htmlFor = control.id;\n }\n\n // Ensure message elements have ids for aria-describedby.\n if (this._hint && !this._hint.id) this._hint.id = uniqueId('hint');\n if (this._error && !this._error.id) this._error.id = uniqueId('error');\n\n // Capture author-provided describedby ids (minus our managed ones).\n const managed = new Set([this._hint?.id, this._error?.id].filter(Boolean) as string[]);\n this._externalDescribedby = (control.getAttribute('aria-describedby') ?? '')\n .split(/\\s+/)\n .filter((id) => id && !managed.has(id));\n\n // Layout from control type (unless explicitly forced).\n if (!this.layout) {\n const isToggle =\n control.tagName === 'INPUT' &&\n (['checkbox', 'radio'].includes((control as HTMLInputElement).type) ||\n control.getAttribute('role') === 'switch');\n this.layout = isToggle ? 'inline' : 'stacked';\n }\n\n // Required marker (control is the source of truth).\n this.required = control.hasAttribute('required');\n this.optional = !this.required;\n\n // Error is hidden until the field is invalid after interaction (or already\n // flagged invalid by the author / server).\n const preInvalid = this.invalid || control.getAttribute('aria-invalid') === 'true';\n if (this._error) this._error.hidden = !preInvalid;\n this._hasInteracted = preInvalid;\n\n control.addEventListener('invalid', this._onInvalid);\n control.addEventListener('blur', this._onInteract);\n control.addEventListener('change', this._onInteract);\n control.addEventListener('input', this._onInteract);\n\n this._updateValidity();\n return true;\n }\n\n private _teardown() {\n const control = this._control;\n if (!control) return;\n control.removeEventListener('invalid', this._onInvalid);\n control.removeEventListener('blur', this._onInteract);\n control.removeEventListener('change', this._onInteract);\n control.removeEventListener('input', this._onInteract);\n }\n\n private _onInvalid = (event: Event) => {\n // Suppress the native validation bubble in favour of `l-error`.\n event.preventDefault();\n this._hasInteracted = true;\n this._updateValidity();\n };\n\n private _onInteract = () => {\n this._hasInteracted = true;\n this._updateValidity();\n };\n\n private _updateValidity() {\n const control = this._control;\n if (!control) return;\n const showError = this._hasInteracted && !control.checkValidity();\n\n this.invalid = showError;\n if (showError) control.setAttribute('aria-invalid', 'true');\n else control.removeAttribute('aria-invalid');\n\n if (this._error) this._error.hidden = !showError;\n this._updateDescribedby();\n }\n\n private _updateDescribedby() {\n const control = this._control;\n if (!control) return;\n const ids = [...this._externalDescribedby];\n if (this._hint?.id) ids.push(this._hint.id);\n if (this._error && !this._error.hidden && this._error.id) ids.push(this._error.id);\n if (ids.length) control.setAttribute('aria-describedby', ids.join(' '));\n else control.removeAttribute('aria-describedby');\n }\n}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'l-form-field': FormField;\n }\n}\n"],"mappings":"8JAMA,IAAM,EAAmB,0BA6BZ,EAAb,cAA+B,CAAa,6CAW/B,iBAIA,gBAID,iBAIC,iBAE4B,gBACH,iBACC,yBACZ,eACR,6BAEwB,EAAE,iBAsFrB,GAAiB,CAErC,EAAM,gBAAgB,CACtB,KAAK,eAAiB,GACtB,KAAK,iBAAiB,uBAGI,CAC1B,KAAK,eAAiB,GACtB,KAAK,iBAAiB,EA7HxB,kBAA4B,CAC1B,OAAO,KA+BT,mBAA6B,CAC3B,MAAM,mBAAmB,CAKpB,KAAK,QAAQ,EAAE,eAAiB,KAAK,QAAQ,CAAE,EAAE,CAGxD,sBAAgC,CAC9B,MAAM,sBAAsB,CAC5B,KAAK,WAAW,CAChB,KAAK,OAAS,GAGhB,QAA0B,CACxB,GAAI,KAAK,OAAQ,MAAO,GAExB,GADA,KAAK,SAAW,KAAK,cAA2B,EAAiB,CAC7D,CAAC,KAAK,SAAU,MAAO,GAC3B,KAAK,OAAS,GACd,IAAM,EAAU,KAAK,SAErB,KAAK,MAAQ,KAAK,cAAc,UAAU,CAC1C,KAAK,OAAS,KAAK,cAAc,WAAW,CAGxC,KAAK,QAAU,CAAC,KAAK,OAAO,aAAa,OAAO,EAClD,KAAK,OAAO,aAAa,OAAQ,QAAQ,CAI3C,AAAiB,EAAQ,KAAK,EAAS,QAAQ,CAC/C,IAAM,EAAQ,KAAK,cAAc,QAAQ,CACrC,GAAS,CAAC,EAAM,SAAW,CAAC,EAAM,SAAS,EAAQ,GACrD,EAAM,QAAU,EAAQ,IAItB,KAAK,OAAS,CAAC,KAAK,MAAM,KAAI,KAAK,MAAM,GAAK,EAAS,OAAO,EAC9D,KAAK,QAAU,CAAC,KAAK,OAAO,KAAI,KAAK,OAAO,GAAK,EAAS,QAAQ,EAGtE,IAAM,EAAU,IAAI,IAAI,CAAC,KAAK,OAAO,GAAI,KAAK,QAAQ,GAAG,CAAC,OAAO,QAAQ,CAAa,CAMtF,GALA,KAAK,sBAAwB,EAAQ,aAAa,mBAAmB,EAAI,IACtE,MAAM,MAAM,CACZ,OAAQ,GAAO,GAAM,CAAC,EAAQ,IAAI,EAAG,CAAC,CAGrC,CAAC,KAAK,OAAQ,CAChB,IAAM,EACJ,EAAQ,UAAY,UACnB,CAAC,WAAY,QAAQ,CAAC,SAAU,EAA6B,KAAK,EACjE,EAAQ,aAAa,OAAO,GAAK,UACrC,KAAK,OAAS,EAAW,SAAW,UAItC,KAAK,SAAW,EAAQ,aAAa,WAAW,CAChD,KAAK,SAAW,CAAC,KAAK,SAItB,IAAM,EAAa,KAAK,SAAW,EAAQ,aAAa,eAAe,GAAK,OAU5E,OATI,KAAK,SAAQ,KAAK,OAAO,OAAS,CAAC,GACvC,KAAK,eAAiB,EAEtB,EAAQ,iBAAiB,UAAW,KAAK,WAAW,CACpD,EAAQ,iBAAiB,OAAQ,KAAK,YAAY,CAClD,EAAQ,iBAAiB,SAAU,KAAK,YAAY,CACpD,EAAQ,iBAAiB,QAAS,KAAK,YAAY,CAEnD,KAAK,iBAAiB,CACf,GAGT,WAAoB,CAClB,IAAM,EAAU,KAAK,SAChB,IACL,EAAQ,oBAAoB,UAAW,KAAK,WAAW,CACvD,EAAQ,oBAAoB,OAAQ,KAAK,YAAY,CACrD,EAAQ,oBAAoB,SAAU,KAAK,YAAY,CACvD,EAAQ,oBAAoB,QAAS,KAAK,YAAY,EAexD,iBAA0B,CACxB,IAAM,EAAU,KAAK,SACrB,GAAI,CAAC,EAAS,OACd,IAAM,EAAY,KAAK,gBAAkB,CAAC,EAAQ,eAAe,CAEjE,KAAK,QAAU,EACX,EAAW,EAAQ,aAAa,eAAgB,OAAO,CACtD,EAAQ,gBAAgB,eAAe,CAExC,KAAK,SAAQ,KAAK,OAAO,OAAS,CAAC,GACvC,KAAK,oBAAoB,CAG3B,oBAA6B,CAC3B,IAAM,EAAU,KAAK,SACrB,GAAI,CAAC,EAAS,OACd,IAAM,EAAM,CAAC,GAAG,KAAK,qBAAqB,CACtC,KAAK,OAAO,IAAI,EAAI,KAAK,KAAK,MAAM,GAAG,CACvC,KAAK,QAAU,CAAC,KAAK,OAAO,QAAU,KAAK,OAAO,IAAI,EAAI,KAAK,KAAK,OAAO,GAAG,CAC9E,EAAI,OAAQ,EAAQ,aAAa,mBAAoB,EAAI,KAAK,IAAI,CAAC,CAClE,EAAQ,gBAAgB,mBAAmB,MA/IjD,EAAS,CAAE,QAAS,GAAM,CAAC,CAAA,CAAA,EAAA,UAAA,SAAA,IAAA,GAAA,IAI3B,EAAS,CAAE,KAAM,QAAS,QAAS,GAAM,CAAC,CAAA,CAAA,EAAA,UAAA,WAAA,IAAA,GAAA,IAI1C,EAAS,CAAE,KAAM,QAAS,QAAS,GAAM,CAAC,CAAA,CAAA,EAAA,UAAA,WAAA,IAAA,GAAA,IAI1C,EAAS,CAAE,KAAM,QAAS,QAAS,GAAM,CAAC,CAAA,CAAA,EAAA,UAAA,UAAA,IAAA,GAAA,IAI1C,EAAS,CAAE,KAAM,QAAS,QAAS,GAAM,CAAC,CAAA,CAAA,EAAA,UAAA,WAAA,IAAA,GAAA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/html/elements/form-field/index.ts"],"names":[],"mappings":"AAEA,cAAc,iBAAiB,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","names":[],"sources":["../../../src/html/elements/form-field/index.ts"],"sourcesContent":["import { define } from '../../define.js';\nimport { FormField } from './form-field.js';\nexport * from './form-field.js';\ndefine('form-field', FormField);\n"],"mappings":"qFAGA,EAAO,aAAc,EAAU"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import{a as e,l as t}from"../../chunks/lit.js";import{LuxenElement as n}from"../../shared/luxen-element.js";import{i as r,t as i}from"../../chunks/decorate.js";import a from"../../shared/styles/host.styles.js";var o=Object.freeze({left:0,top:0,width:16,height:16}),s=Object.freeze({rotate:0,vFlip:!1,hFlip:!1}),c=Object.freeze({...o,...s}),l=Object.freeze({...c,body:``,hidden:!1}),u=Object.freeze({width:null,height:null}),d=Object.freeze({...u,...s});function f(e,t=0){let n=e.replace(/^-?[0-9.]*/,``);function r(e){for(;e<0;)e+=4;return e%4}if(n===``){let t=parseInt(e);return isNaN(t)?0:r(t)}else if(n!==e){let t=0;switch(n){case`%`:t=25;break;case`deg`:t=90}if(t){let i=parseFloat(e.slice(0,e.length-n.length));return isNaN(i)?0:(i/=t,i%1==0?r(i):0)}}return t}var p=/[\s,]+/;function m(e,t){t.split(p).forEach(t=>{switch(t.trim()){case`horizontal`:e.hFlip=!0;break;case`vertical`:e.vFlip=!0;break}})}var h={...d,preserveAspectRatio:``};function g(e){let t={...h},n=(t,n)=>e.getAttribute(t)||n;return t.width=n(`width`,null),t.height=n(`height`,null),t.rotate=f(n(`rotate`,``)),m(t,n(`flip`,``)),t.preserveAspectRatio=n(`preserveAspectRatio`,n(`preserveaspectratio`,``)),t}function _(e,t){for(let n in h)if(e[n]!==t[n])return!0;return!1}var v=/^[a-z0-9]+(-[a-z0-9]+)*$/,y=(e,t,n,r=``)=>{let i=e.split(`:`);if(e.slice(0,1)===`@`){if(i.length<2||i.length>3)return null;r=i.shift().slice(1)}if(i.length>3||!i.length)return null;if(i.length>1){let e=i.pop(),n=i.pop(),a={provider:i.length>0?i[0]:r,prefix:n,name:e};return t&&!b(a)?null:a}let a=i[0],o=a.split(`-`);if(o.length>1){let e={provider:r,prefix:o.shift(),name:o.join(`-`)};return t&&!b(e)?null:e}if(n&&r===``){let e={provider:r,prefix:``,name:a};return t&&!b(e,n)?null:e}return null},b=(e,t)=>e?!!((t&&e.prefix===``||e.prefix)&&e.name):!1;function x(e,t){let n=e.icons,r=e.aliases||Object.create(null),i=Object.create(null);function a(e){if(n[e])return i[e]=[];if(!(e in i)){i[e]=null;let t=r[e]&&r[e].parent,n=t&&a(t);n&&(i[e]=[t].concat(n))}return i[e]}return Object.keys(n).concat(Object.keys(r)).forEach(a),i}function ee(e,t){let n={};!e.hFlip!=!t.hFlip&&(n.hFlip=!0),!e.vFlip!=!t.vFlip&&(n.vFlip=!0);let r=((e.rotate||0)+(t.rotate||0))%4;return r&&(n.rotate=r),n}function te(e,t){let n=ee(e,t);for(let r in l)r in s?r in e&&!(r in n)&&(n[r]=s[r]):r in t?n[r]=t[r]:r in e&&(n[r]=e[r]);return n}function ne(e,t,n){let r=e.icons,i=e.aliases||Object.create(null),a={};function o(e){a=te(r[e]||i[e],a)}return o(t),n.forEach(o),te(e,a)}function S(e,t){let n=[];if(typeof e!=`object`||typeof e.icons!=`object`)return n;e.not_found instanceof Array&&e.not_found.forEach(e=>{t(e,null),n.push(e)});let r=x(e);for(let i in r){let a=r[i];a&&(t(i,ne(e,i,a)),n.push(i))}return n}var re={provider:``,aliases:{},not_found:{},...o};function C(e,t){for(let n in t)if(n in e&&typeof e[n]!=typeof t[n])return!1;return!0}function ie(e){if(typeof e!=`object`||!e)return null;let t=e;if(typeof t.prefix!=`string`||!e.icons||typeof e.icons!=`object`||!C(e,re))return null;let n=t.icons;for(let e in n){let t=n[e];if(!e||typeof t.body!=`string`||!C(t,l))return null}let r=t.aliases||Object.create(null);for(let e in r){let t=r[e],i=t.parent;if(!e||typeof i!=`string`||!n[i]&&!r[i]||!C(t,l))return null}return t}var w=Object.create(null);function ae(e,t){return{provider:e,prefix:t,icons:Object.create(null),missing:new Set}}function T(e,t){let n=w[e]||(w[e]=Object.create(null));return n[t]||(n[t]=ae(e,t))}function oe(e,t){return ie(t)?S(t,(t,n)=>{n?e.icons[t]=n:e.missing.add(t)}):[]}function se(e,t,n){try{if(typeof n.body==`string`)return e.icons[t]={...n},!0}catch{}return!1}function ce(e,t){let n=[];return(typeof e==`string`?[e]:Object.keys(w)).forEach(e=>{(typeof e==`string`&&typeof t==`string`?[t]:Object.keys(w[e]||{})).forEach(t=>{let r=T(e,t);n=n.concat(Object.keys(r.icons).map(n=>(e===``?``:`@`+e+`:`)+t+`:`+n))})}),n}var E=!1;function D(e){return typeof e==`boolean`&&(E=e),E}function O(e){let t=typeof e==`string`?y(e,!0,E):e;if(t){let e=T(t.provider,t.prefix),n=t.name;return e.icons[n]||(e.missing.has(n)?null:void 0)}}function le(e,t){let n=y(e,!0,E);if(!n)return!1;let r=T(n.provider,n.prefix);return t?se(r,n.name,t):(r.missing.add(n.name),!0)}function k(e,t){if(typeof e!=`object`)return!1;if(typeof t!=`string`&&(t=e.provider||``),E&&!t&&!e.prefix){let t=!1;return ie(e)&&(e.prefix=``,S(e,(e,n)=>{le(e,n)&&(t=!0)})),t}let n=e.prefix;return b({prefix:n,name:`a`})?!!oe(T(t,n),e):!1}function ue(e){return!!O(e)}function de(e){let t=O(e);return t&&{...c,...t}}function A(e,t){e.forEach(e=>{let n=e.loaderCallbacks;n&&(e.loaderCallbacks=n.filter(e=>e.id!==t))})}function fe(e){e.pendingCallbacksFlag||(e.pendingCallbacksFlag=!0,setTimeout(()=>{e.pendingCallbacksFlag=!1;let t=e.loaderCallbacks?e.loaderCallbacks.slice(0):[];if(!t.length)return;let n=!1,r=e.provider,i=e.prefix;t.forEach(t=>{let a=t.icons,o=a.pending.length;a.pending=a.pending.filter(t=>{if(t.prefix!==i)return!0;let o=t.name;if(e.icons[o])a.loaded.push({provider:r,prefix:i,name:o});else if(e.missing.has(o))a.missing.push({provider:r,prefix:i,name:o});else return n=!0,!0;return!1}),a.pending.length!==o&&(n||A([e],t.id),t.callback(a.loaded.slice(0),a.missing.slice(0),a.pending.slice(0),t.abort))})}))}var pe=0;function me(e,t,n){let r=pe++,i=A.bind(null,n,r);if(!t.pending.length)return i;let a={id:r,icons:t,callback:e,abort:i};return n.forEach(e=>{(e.loaderCallbacks||=[]).push(a)}),i}function he(e){let t={loaded:[],missing:[],pending:[]},n=Object.create(null);e.sort((e,t)=>e.provider===t.provider?e.prefix===t.prefix?e.name.localeCompare(t.name):e.prefix.localeCompare(t.prefix):e.provider.localeCompare(t.provider));let r={provider:``,prefix:``,name:``};return e.forEach(e=>{if(r.name===e.name&&r.prefix===e.prefix&&r.provider===e.provider)return;r=e;let i=e.provider,a=e.prefix,o=e.name,s=n[i]||(n[i]=Object.create(null)),c=s[a]||(s[a]=T(i,a)),l;l=o in c.icons?t.loaded:a===``||c.missing.has(o)?t.missing:t.pending;let u={provider:i,prefix:a,name:o};l.push(u)}),t}var j=Object.create(null);function ge(e,t){j[e]=t}function M(e){return j[e]||j[``]}function _e(e,t=!0,n=!1){let r=[];return e.forEach(e=>{let i=typeof e==`string`?y(e,t,n):e;i&&r.push(i)}),r}function N(e){let t;if(typeof e.resources==`string`)t=[e.resources];else if(t=e.resources,!(t instanceof Array)||!t.length)return null;return{resources:t,path:e.path||`/`,maxURL:e.maxURL||500,rotate:e.rotate||750,timeout:e.timeout||5e3,random:e.random===!0,index:e.index||0,dataAfterTimeout:e.dataAfterTimeout!==!1}}for(var P=Object.create(null),F=[`https://api.simplesvg.com`,`https://api.unisvg.com`],I=[];F.length>0;)F.length===1||Math.random()>.5?I.push(F.shift()):I.push(F.pop());P[``]=N({resources:[`https://api.iconify.design`].concat(I)});function ve(e,t){let n=N(t);return n===null?!1:(P[e]=n,!0)}function L(e){return P[e]}function ye(){return Object.keys(P)}var be={resources:[],index:0,timeout:2e3,rotate:750,random:!1,dataAfterTimeout:!1};function xe(e,t,n,r){let i=e.resources.length,a=e.random?Math.floor(Math.random()*i):e.index,o;if(e.random){let t=e.resources.slice(0);for(o=[];t.length>1;){let e=Math.floor(Math.random()*t.length);o.push(t[e]),t=t.slice(0,e).concat(t.slice(e+1))}o=o.concat(t)}else o=e.resources.slice(a).concat(e.resources.slice(0,a));let s=Date.now(),c=`pending`,l=0,u,d=null,f=[],p=[];typeof r==`function`&&p.push(r);function m(){d&&=(clearTimeout(d),null)}function h(){c===`pending`&&(c=`aborted`),m(),f.forEach(e=>{e.status===`pending`&&(e.status=`aborted`)}),f=[]}function g(e,t){t&&(p=[]),typeof e==`function`&&p.push(e)}function _(){return{startTime:s,payload:t,status:c,queriesSent:l,queriesPending:f.length,subscribe:g,abort:h}}function v(){c=`failed`,p.forEach(e=>{e(void 0,u)})}function y(){f.forEach(e=>{e.status===`pending`&&(e.status=`aborted`)}),f=[]}function b(t,n,r){let i=n!==`success`;switch(f=f.filter(e=>e!==t),c){case`pending`:break;case`failed`:if(i||!e.dataAfterTimeout)return;break;default:return}if(n===`abort`){u=r,v();return}if(i){u=r,f.length||(o.length?x():v());return}if(m(),y(),!e.random){let n=e.resources.indexOf(t.resource);n!==-1&&n!==e.index&&(e.index=n)}c=`completed`,p.forEach(e=>{e(r)})}function x(){if(c!==`pending`)return;m();let r=o.shift();if(r===void 0){if(f.length){d=setTimeout(()=>{m(),c===`pending`&&(y(),v())},e.timeout);return}v();return}let i={status:`pending`,resource:r,callback:(e,t)=>{b(i,e,t)}};f.push(i),l++,d=setTimeout(x,e.rotate),n(r,t,i.callback)}return setTimeout(x),_}function Se(e){let t={...be,...e},n=[];function r(){n=n.filter(e=>e().status===`pending`)}function i(e,i,a){let o=xe(t,e,i,(e,t)=>{r(),a&&a(e,t)});return n.push(o),o}function a(e){return n.find(t=>e(t))||null}return{query:i,find:a,setIndex:e=>{t.index=e},getIndex:()=>t.index,cleanup:r}}function Ce(){}var R=Object.create(null);function we(e){if(!R[e]){let t=L(e);if(!t)return;R[e]={config:t,redundancy:Se(t)}}return R[e]}function z(e,t,n){let r,i;if(typeof e==`string`){let t=M(e);if(!t)return n(void 0,424),Ce;i=t.send;let a=we(e);a&&(r=a.redundancy)}else{let t=N(e);if(t){r=Se(t);let n=M(e.resources?e.resources[0]:``);n&&(i=n.send)}}return!r||!i?(n(void 0,424),Ce):r.query(t,i,n)().abort}function B(){}function Te(e){e.iconsLoaderFlag||(e.iconsLoaderFlag=!0,setTimeout(()=>{e.iconsLoaderFlag=!1,fe(e)}))}function Ee(e){let t=[],n=[];return e.forEach(e=>{(e.match(v)?t:n).push(e)}),{valid:t,invalid:n}}function V(e,t,n){function r(){let n=e.pendingIcons;t.forEach(t=>{n&&n.delete(t),e.icons[t]||e.missing.add(t)})}if(n&&typeof n==`object`)try{if(!oe(e,n).length){r();return}}catch(e){console.error(e)}r(),Te(e)}function H(e,t){e instanceof Promise?e.then(e=>{t(e)}).catch(()=>{t(null)}):t(e)}function De(e,t){e.iconsToLoad?e.iconsToLoad=e.iconsToLoad.concat(t).sort():e.iconsToLoad=t,e.iconsQueueFlag||(e.iconsQueueFlag=!0,setTimeout(()=>{e.iconsQueueFlag=!1;let{provider:t,prefix:n}=e,r=e.iconsToLoad;if(delete e.iconsToLoad,!r||!r.length)return;let i=e.loadIcon;if(e.loadIcons&&(r.length>1||!i)){H(e.loadIcons(r,n,t),t=>{V(e,r,t)});return}if(i){r.forEach(r=>{H(i(r,n,t),t=>{V(e,[r],t?{prefix:n,icons:{[r]:t}}:null)})});return}let{valid:a,invalid:o}=Ee(r);if(o.length&&V(e,o,null),!a.length)return;let s=n.match(v)?M(t):null;if(!s){V(e,a,null);return}s.prepare(t,n,a).forEach(n=>{z(t,n,t=>{V(e,n.icons,t)})})}))}var U=(e,t)=>{let n=he(_e(e,!0,D()));if(!n.pending.length){let e=!0;return t&&setTimeout(()=>{e&&t(n.loaded,n.missing,n.pending,B)}),()=>{e=!1}}let r=Object.create(null),i=[],a,o;return n.pending.forEach(e=>{let{provider:t,prefix:n}=e;if(n===o&&t===a)return;a=t,o=n,i.push(T(t,n));let s=r[t]||(r[t]=Object.create(null));s[n]||(s[n]=[])}),n.pending.forEach(e=>{let{provider:t,prefix:n,name:i}=e,a=T(t,n),o=a.pendingIcons||=new Set;o.has(i)||(o.add(i),r[t][n].push(i))}),i.forEach(e=>{let t=r[e.provider][e.prefix];t.length&&De(e,t)}),t?me(t,n,i):B},Oe=e=>new Promise((t,n)=>{let r=typeof e==`string`?y(e,!0):e;if(!r){n(e);return}U([r||e],i=>{if(i.length&&r){let e=O(r);if(e){t({...c,...e});return}}n(e)})});function W(e){try{let t=typeof e==`string`?JSON.parse(e):e;if(typeof t.body==`string`)return{...t}}catch{}}function ke(e,t){if(typeof e==`object`)return{data:W(e),value:e};if(typeof e!=`string`)return{value:e};if(e.includes(`{`)){let t=W(e);if(t)return{data:t,value:e}}let n=y(e,!0,!0);if(!n)return{value:e};let r=O(n);return r!==void 0||!n.prefix?{value:e,name:n,data:r}:{value:e,name:n,loading:U([n],()=>t(e,n,O(n)))}}var G=!1;try{G=navigator.vendor.indexOf(`Apple`)===0}catch{}function Ae(e,t){switch(t){case`svg`:case`bg`:case`mask`:return t}return t!==`style`&&(G||e.indexOf(`<a`)===-1)?`svg`:e.indexOf(`currentColor`)===-1?`bg`:`mask`}var je=/(-?[0-9.]*[0-9]+[0-9.]*)/g,Me=/^-?[0-9.]*[0-9]+[0-9.]*$/g;function K(e,t,n){if(t===1)return e;if(n||=100,typeof e==`number`)return Math.ceil(e*t*n)/n;if(typeof e!=`string`)return e;let r=e.split(je);if(r===null||!r.length)return e;let i=[],a=r.shift(),o=Me.test(a);for(;;){if(o){let e=parseFloat(a);isNaN(e)?i.push(a):i.push(Math.ceil(e*t*n)/n)}else i.push(a);if(a=r.shift(),a===void 0)return i.join(``);o=!o}}function Ne(e,t=`defs`){let n=``,r=e.indexOf(`<`+t);for(;r>=0;){let i=e.indexOf(`>`,r),a=e.indexOf(`</`+t);if(i===-1||a===-1)break;let o=e.indexOf(`>`,a);if(o===-1)break;n+=e.slice(i+1,a).trim(),e=e.slice(0,r).trim()+e.slice(o+1)}return{defs:n,content:e}}function Pe(e,t){return e?`<defs>`+e+`</defs>`+t:t}function Fe(e,t,n){let r=Ne(e);return Pe(r.defs,t+r.content+n)}var Ie=e=>e===`unset`||e===`undefined`||e===`none`;function Le(e,t){let n={...c,...e},r={...d,...t},i={left:n.left,top:n.top,width:n.width,height:n.height},a=n.body;[n,r].forEach(e=>{let t=[],n=e.hFlip,r=e.vFlip,o=e.rotate;n?r?o+=2:(t.push(`translate(`+(i.width+i.left).toString()+` `+(0-i.top).toString()+`)`),t.push(`scale(-1 1)`),i.top=i.left=0):r&&(t.push(`translate(`+(0-i.left).toString()+` `+(i.height+i.top).toString()+`)`),t.push(`scale(1 -1)`),i.top=i.left=0);let s;switch(o<0&&(o-=Math.floor(o/4)*4),o%=4,o){case 1:s=i.height/2+i.top,t.unshift(`rotate(90 `+s.toString()+` `+s.toString()+`)`);break;case 2:t.unshift(`rotate(180 `+(i.width/2+i.left).toString()+` `+(i.height/2+i.top).toString()+`)`);break;case 3:s=i.width/2+i.left,t.unshift(`rotate(-90 `+s.toString()+` `+s.toString()+`)`);break}o%2==1&&(i.left!==i.top&&(s=i.left,i.left=i.top,i.top=s),i.width!==i.height&&(s=i.width,i.width=i.height,i.height=s)),t.length&&(a=Fe(a,`<g transform="`+t.join(` `)+`">`,`</g>`))});let o=r.width,s=r.height,l=i.width,u=i.height,f,p;o===null?(p=s===null?`1em`:s===`auto`?u:s,f=K(p,l/u)):(f=o===`auto`?l:o,p=s===null?K(f,u/l):s===`auto`?u:s);let m={},h=(e,t)=>{Ie(t)||(m[e]=t.toString())};h(`width`,f),h(`height`,p);let g=[i.left,i.top,l,u];return m.viewBox=g.join(` `),{attributes:m,viewBox:g,body:a}}function q(e,t){let n=e.indexOf(`xlink:`)===-1?``:` xmlns:xlink="http://www.w3.org/1999/xlink"`;for(let e in t)n+=` `+e+`="`+t[e]+`"`;return`<svg xmlns="http://www.w3.org/2000/svg"`+n+`>`+e+`</svg>`}function Re(e){return e.replace(/"/g,`'`).replace(/%/g,`%25`).replace(/#/g,`%23`).replace(/</g,`%3C`).replace(/>/g,`%3E`).replace(/\s+/g,` `)}function ze(e){return`data:image/svg+xml,`+Re(e)}function Be(e){return`url("`+ze(e)+`")`}var J=(()=>{let e;try{if(e=fetch,typeof e==`function`)return e}catch{}})();function Ve(e){J=e}function He(){return J}function Ue(e,t){let n=L(e);if(!n)return 0;let r;if(!n.maxURL)r=0;else{let e=0;n.resources.forEach(t=>{e=Math.max(e,t.length)});let i=t+`.json?icons=`;r=n.maxURL-e-n.path.length-i.length}return r}function We(e){return e===404}var Ge=(e,t,n)=>{let r=[],i=Ue(e,t),a=`icons`,o={type:a,provider:e,prefix:t,icons:[]},s=0;return n.forEach((n,c)=>{s+=n.length+1,s>=i&&c>0&&(r.push(o),o={type:a,provider:e,prefix:t,icons:[]},s=n.length),o.icons.push(n)}),r.push(o),r};function Ke(e){if(typeof e==`string`){let t=L(e);if(t)return t.path}return`/`}var qe={prepare:Ge,send:(e,t,n)=>{if(!J){n(`abort`,424);return}let r=Ke(t.provider);switch(t.type){case`icons`:{let e=t.prefix,n=t.icons.join(`,`),i=new URLSearchParams({icons:n});r+=e+`.json?`+i.toString();break}case`custom`:{let e=t.uri;r+=e.slice(0,1)===`/`?e.slice(1):e;break}default:n(`abort`,400);return}let i=503;J(e+r).then(e=>{let t=e.status;if(t!==200){setTimeout(()=>{n(We(t)?`abort`:`next`,t)});return}return i=501,e.json()}).then(e=>{if(typeof e!=`object`||!e){setTimeout(()=>{e===404?n(`abort`,e):n(`next`,i)});return}setTimeout(()=>{n(`success`,e)})}).catch(()=>{n(`next`,i)})}};function Je(e,t,n){T(n||``,t).loadIcons=e}function Ye(e,t,n){T(n||``,t).loadIcon=e}var Y=`data-style`,Xe=``;function Ze(e){Xe=e}function Qe(e,t){let n=Array.from(e.childNodes).find(e=>e.hasAttribute&&e.hasAttribute(Y));n||(n=document.createElement(`style`),n.setAttribute(Y,Y),e.appendChild(n)),n.textContent=`:host{display:inline-block;vertical-align:`+(t?`-0.125em`:`0`)+`}span,svg{display:block;margin:auto}`+Xe}function $e(){ge(``,qe),D(!0);let e;try{e=window}catch{}if(e){if(e.IconifyPreload!==void 0){let t=e.IconifyPreload,n=`Invalid IconifyPreload syntax.`;typeof t==`object`&&t&&(t instanceof Array?t:[t]).forEach(e=>{try{(typeof e!=`object`||!e||e instanceof Array||typeof e.icons!=`object`||typeof e.prefix!=`string`||!k(e))&&console.error(n)}catch{console.error(n)}})}if(e.IconifyProviders!==void 0){let t=e.IconifyProviders;if(typeof t==`object`&&t)for(let e in t){let n=`IconifyProviders[`+e+`] is invalid.`;try{let r=t[e];if(typeof r!=`object`||!r||r.resources===void 0)continue;ve(e,r)||console.error(n)}catch{console.error(n)}}}}return{iconLoaded:ue,getIcon:de,listIcons:ce,addIcon:le,addCollection:k,calculateSize:K,buildIcon:Le,iconToHTML:q,svgToURL:Be,loadIcons:U,loadIcon:Oe,addAPIProvider:ve,setCustomIconLoader:Ye,setCustomIconsLoader:Je,appendCustomStyle:Ze,_api:{getAPIConfig:L,setAPIModule:ge,sendAPIQuery:z,setFetch:Ve,getFetch:He,listAPIProviders:ye}}}var X={"background-color":`currentColor`},et={"background-color":`transparent`},tt={image:`var(--svg)`,repeat:`no-repeat`,size:`100% 100%`},nt={"-webkit-mask":X,mask:X,background:et};for(let e in nt){let t=nt[e];for(let n in tt)t[e+`-`+n]=tt[n]}function rt(e){return e?e+(e.match(/^[-0-9.]+$/)?`px`:``):`inherit`}function it(e,t,n){let r=document.createElement(`span`),i=e.body;i.indexOf(`<a`)!==-1&&(i+=`<!-- `+Date.now()+` -->`);let a=e.attributes,o=Be(q(i,{...a,width:t.width+``,height:t.height+``})),s=r.style,c={"--svg":o,width:rt(a.width),height:rt(a.height),...n?X:et};for(let e in c)s.setProperty(e,c[e]);return r}var Z;function at(){try{Z=window.trustedTypes.createPolicy(`iconify`,{createHTML:e=>e})}catch{Z=null}}function ot(e){return Z===void 0&&at(),Z?Z.createHTML(e):e}function st(e){let t=document.createElement(`span`),n=e.attributes,r=``;return n.width||(r=`width: inherit;`),n.height||(r+=`height: inherit;`),r&&(n.style=r),t.innerHTML=ot(q(e.body,n)),t.firstChild}function Q(e){return Array.from(e.childNodes).find(e=>{let t=e.tagName&&e.tagName.toUpperCase();return t===`SPAN`||t===`SVG`})}function ct(e,t){let n=t.icon.data,r=t.customisations,i=Le(n,r);r.preserveAspectRatio&&(i.attributes.preserveAspectRatio=r.preserveAspectRatio);let a=t.renderedMode,o;switch(a){case`svg`:o=st(i);break;default:o=it(i,{...c,...n},a===`mask`)}let s=Q(e);s?o.tagName===`SPAN`&&s.tagName===o.tagName?s.setAttribute(`style`,o.getAttribute(`style`)):e.replaceChild(o,s):e.appendChild(o)}function lt(e,t,n){return{rendered:!1,inline:t,icon:e,lastRender:n&&(n.rendered?n:n.lastRender)}}function ut(e=`iconify-icon`){let t,n;try{t=window.customElements,n=window.HTMLElement}catch{return}if(!t||!n)return;let r=t.get(e);if(r)return r;let i=[`icon`,`mode`,`inline`,`noobserver`,`width`,`height`,`rotate`,`flip`],a=class extends n{_shadowRoot;_initialised=!1;_state;_checkQueued=!1;_connected=!1;_observer=null;_visible=!0;constructor(){super();let e=this._shadowRoot=this.attachShadow({mode:`open`}),t=this.hasAttribute(`inline`);Qe(e,t),this._state=lt({value:``},t),this._queueCheck()}connectedCallback(){this._connected=!0,this.startObserver()}disconnectedCallback(){this._connected=!1,this.stopObserver()}static get observedAttributes(){return i.slice(0)}attributeChangedCallback(e){switch(e){case`inline`:{let e=this.hasAttribute(`inline`),t=this._state;e!==t.inline&&(t.inline=e,Qe(this._shadowRoot,e));break}case`noobserver`:this.hasAttribute(`noobserver`)?this.startObserver():this.stopObserver();break;default:this._queueCheck()}}get icon(){let e=this.getAttribute(`icon`);if(e&&e.slice(0,1)===`{`)try{return JSON.parse(e)}catch{}return e}set icon(e){typeof e==`object`&&(e=JSON.stringify(e)),this.setAttribute(`icon`,e)}get inline(){return this.hasAttribute(`inline`)}set inline(e){e?this.setAttribute(`inline`,`true`):this.removeAttribute(`inline`)}get observer(){return this.hasAttribute(`observer`)}set observer(e){e?this.setAttribute(`observer`,`true`):this.removeAttribute(`observer`)}restartAnimation(){let e=this._state;if(e.rendered){let t=this._shadowRoot;if(e.renderedMode===`svg`)try{t.lastChild.setCurrentTime(0);return}catch{}ct(t,e)}}get status(){let e=this._state;return e.rendered?`rendered`:e.icon.data===null?`failed`:`loading`}_queueCheck(){this._checkQueued||(this._checkQueued=!0,setTimeout(()=>{this._check()}))}_check(){if(!this._checkQueued)return;this._checkQueued=!1;let e=this._state,t=this.getAttribute(`icon`);if(t!==e.icon.value){this._iconChanged(t);return}if(!e.rendered||!this._visible)return;let n=this.getAttribute(`mode`),r=g(this);(e.attrMode!==n||_(e.customisations,r)||!Q(this._shadowRoot))&&this._renderIcon(e.icon,r,n)}_iconChanged(e){let t=ke(e,(e,t,n)=>{let r=this._state;if(r.rendered||this.getAttribute(`icon`)!==e)return;let i={value:e,name:t,data:n};i.data?this._gotIconData(i):r.icon=i});t.data?this._gotIconData(t):this._state=lt(t,this._state.inline,this._state)}_forceRender(){if(!this._visible){let e=Q(this._shadowRoot);e&&this._shadowRoot.removeChild(e);return}this._queueCheck()}_gotIconData(e){this._checkQueued=!1,this._renderIcon(e,g(this),this.getAttribute(`mode`))}_renderIcon(e,t,n){let r=Ae(e.data.body,n),i=this._state.inline;ct(this._shadowRoot,this._state={rendered:!0,icon:e,inline:i,customisations:t,attrMode:n,renderedMode:r})}startObserver(){if(!this._observer&&!this.hasAttribute(`noobserver`))try{this._observer=new IntersectionObserver(e=>{let t=e.some(e=>e.isIntersecting);t!==this._visible&&(this._visible=t,this._forceRender())}),this._observer.observe(this)}catch{if(this._observer){try{this._observer.disconnect()}catch{}this._observer=null}}}stopObserver(){this._observer&&(this._observer.disconnect(),this._observer=null,this._visible=!0,this._connected&&this._forceRender())}};i.forEach(e=>{e in a.prototype||Object.defineProperty(a.prototype,e,{get:function(){return this.getAttribute(e)},set:function(t){t===null?this.removeAttribute(e):this.setAttribute(e,t)}})});let o=$e();for(let e in o)a[e]=a.prototype[e]=o[e];return t.define(e,a),a}var{iconLoaded:dt,getIcon:ft,listIcons:pt,addIcon:mt,addCollection:ht,calculateSize:gt,buildIcon:_t,iconToHTML:vt,svgToURL:yt,loadIcons:bt,loadIcon:xt,setCustomIconLoader:St,setCustomIconsLoader:Ct,addAPIProvider:wt,_api:Tt}=ut()||$e(),Et=t(`:host{--color:currentColor;color:var(--color);display:contents}iconify-icon{color:inherit}`),$=class extends n{constructor(...e){super(...e),this.name=``}static{this.styles=[a,Et]}updated(e){e.has(`label`)&&(this.label?(this.setAttribute(`role`,`img`),this.setAttribute(`aria-label`,this.label)):(this.removeAttribute(`role`),this.removeAttribute(`aria-label`)))}render(){return e`
|
|
1
|
+
import{i as e}from"../../chunks/lit.js";import{a as t}from"../../chunks/lit-html.js";import{LuxenElement as n}from"../../shared/luxen-element.js";import{i as r,t as i}from"../../chunks/decorate.js";import a from"../../shared/styles/host.styles.js";var o=Object.freeze({left:0,top:0,width:16,height:16}),s=Object.freeze({rotate:0,vFlip:!1,hFlip:!1}),c=Object.freeze({...o,...s}),l=Object.freeze({...c,body:``,hidden:!1}),u=Object.freeze({width:null,height:null}),d=Object.freeze({...u,...s});function f(e,t=0){let n=e.replace(/^-?[0-9.]*/,``);function r(e){for(;e<0;)e+=4;return e%4}if(n===``){let t=parseInt(e);return isNaN(t)?0:r(t)}else if(n!==e){let t=0;switch(n){case`%`:t=25;break;case`deg`:t=90}if(t){let i=parseFloat(e.slice(0,e.length-n.length));return isNaN(i)?0:(i/=t,i%1==0?r(i):0)}}return t}var p=/[\s,]+/;function m(e,t){t.split(p).forEach(t=>{switch(t.trim()){case`horizontal`:e.hFlip=!0;break;case`vertical`:e.vFlip=!0;break}})}var h={...d,preserveAspectRatio:``};function g(e){let t={...h},n=(t,n)=>e.getAttribute(t)||n;return t.width=n(`width`,null),t.height=n(`height`,null),t.rotate=f(n(`rotate`,``)),m(t,n(`flip`,``)),t.preserveAspectRatio=n(`preserveAspectRatio`,n(`preserveaspectratio`,``)),t}function _(e,t){for(let n in h)if(e[n]!==t[n])return!0;return!1}var v=/^[a-z0-9]+(-[a-z0-9]+)*$/,y=(e,t,n,r=``)=>{let i=e.split(`:`);if(e.slice(0,1)===`@`){if(i.length<2||i.length>3)return null;r=i.shift().slice(1)}if(i.length>3||!i.length)return null;if(i.length>1){let e=i.pop(),n=i.pop(),a={provider:i.length>0?i[0]:r,prefix:n,name:e};return t&&!b(a)?null:a}let a=i[0],o=a.split(`-`);if(o.length>1){let e={provider:r,prefix:o.shift(),name:o.join(`-`)};return t&&!b(e)?null:e}if(n&&r===``){let e={provider:r,prefix:``,name:a};return t&&!b(e,n)?null:e}return null},b=(e,t)=>e?!!((t&&e.prefix===``||e.prefix)&&e.name):!1;function x(e,t){let n=e.icons,r=e.aliases||Object.create(null),i=Object.create(null);function a(e){if(n[e])return i[e]=[];if(!(e in i)){i[e]=null;let t=r[e]&&r[e].parent,n=t&&a(t);n&&(i[e]=[t].concat(n))}return i[e]}return Object.keys(n).concat(Object.keys(r)).forEach(a),i}function ee(e,t){let n={};!e.hFlip!=!t.hFlip&&(n.hFlip=!0),!e.vFlip!=!t.vFlip&&(n.vFlip=!0);let r=((e.rotate||0)+(t.rotate||0))%4;return r&&(n.rotate=r),n}function te(e,t){let n=ee(e,t);for(let r in l)r in s?r in e&&!(r in n)&&(n[r]=s[r]):r in t?n[r]=t[r]:r in e&&(n[r]=e[r]);return n}function ne(e,t,n){let r=e.icons,i=e.aliases||Object.create(null),a={};function o(e){a=te(r[e]||i[e],a)}return o(t),n.forEach(o),te(e,a)}function S(e,t){let n=[];if(typeof e!=`object`||typeof e.icons!=`object`)return n;e.not_found instanceof Array&&e.not_found.forEach(e=>{t(e,null),n.push(e)});let r=x(e);for(let i in r){let a=r[i];a&&(t(i,ne(e,i,a)),n.push(i))}return n}var re={provider:``,aliases:{},not_found:{},...o};function C(e,t){for(let n in t)if(n in e&&typeof e[n]!=typeof t[n])return!1;return!0}function ie(e){if(typeof e!=`object`||!e)return null;let t=e;if(typeof t.prefix!=`string`||!e.icons||typeof e.icons!=`object`||!C(e,re))return null;let n=t.icons;for(let e in n){let t=n[e];if(!e||typeof t.body!=`string`||!C(t,l))return null}let r=t.aliases||Object.create(null);for(let e in r){let t=r[e],i=t.parent;if(!e||typeof i!=`string`||!n[i]&&!r[i]||!C(t,l))return null}return t}var w=Object.create(null);function ae(e,t){return{provider:e,prefix:t,icons:Object.create(null),missing:new Set}}function T(e,t){let n=w[e]||(w[e]=Object.create(null));return n[t]||(n[t]=ae(e,t))}function oe(e,t){return ie(t)?S(t,(t,n)=>{n?e.icons[t]=n:e.missing.add(t)}):[]}function se(e,t,n){try{if(typeof n.body==`string`)return e.icons[t]={...n},!0}catch{}return!1}function ce(e,t){let n=[];return(typeof e==`string`?[e]:Object.keys(w)).forEach(e=>{(typeof e==`string`&&typeof t==`string`?[t]:Object.keys(w[e]||{})).forEach(t=>{let r=T(e,t);n=n.concat(Object.keys(r.icons).map(n=>(e===``?``:`@`+e+`:`)+t+`:`+n))})}),n}var E=!1;function D(e){return typeof e==`boolean`&&(E=e),E}function O(e){let t=typeof e==`string`?y(e,!0,E):e;if(t){let e=T(t.provider,t.prefix),n=t.name;return e.icons[n]||(e.missing.has(n)?null:void 0)}}function le(e,t){let n=y(e,!0,E);if(!n)return!1;let r=T(n.provider,n.prefix);return t?se(r,n.name,t):(r.missing.add(n.name),!0)}function k(e,t){if(typeof e!=`object`)return!1;if(typeof t!=`string`&&(t=e.provider||``),E&&!t&&!e.prefix){let t=!1;return ie(e)&&(e.prefix=``,S(e,(e,n)=>{le(e,n)&&(t=!0)})),t}let n=e.prefix;return b({prefix:n,name:`a`})?!!oe(T(t,n),e):!1}function ue(e){return!!O(e)}function de(e){let t=O(e);return t&&{...c,...t}}function A(e,t){e.forEach(e=>{let n=e.loaderCallbacks;n&&(e.loaderCallbacks=n.filter(e=>e.id!==t))})}function fe(e){e.pendingCallbacksFlag||(e.pendingCallbacksFlag=!0,setTimeout(()=>{e.pendingCallbacksFlag=!1;let t=e.loaderCallbacks?e.loaderCallbacks.slice(0):[];if(!t.length)return;let n=!1,r=e.provider,i=e.prefix;t.forEach(t=>{let a=t.icons,o=a.pending.length;a.pending=a.pending.filter(t=>{if(t.prefix!==i)return!0;let o=t.name;if(e.icons[o])a.loaded.push({provider:r,prefix:i,name:o});else if(e.missing.has(o))a.missing.push({provider:r,prefix:i,name:o});else return n=!0,!0;return!1}),a.pending.length!==o&&(n||A([e],t.id),t.callback(a.loaded.slice(0),a.missing.slice(0),a.pending.slice(0),t.abort))})}))}var pe=0;function me(e,t,n){let r=pe++,i=A.bind(null,n,r);if(!t.pending.length)return i;let a={id:r,icons:t,callback:e,abort:i};return n.forEach(e=>{(e.loaderCallbacks||=[]).push(a)}),i}function he(e){let t={loaded:[],missing:[],pending:[]},n=Object.create(null);e.sort((e,t)=>e.provider===t.provider?e.prefix===t.prefix?e.name.localeCompare(t.name):e.prefix.localeCompare(t.prefix):e.provider.localeCompare(t.provider));let r={provider:``,prefix:``,name:``};return e.forEach(e=>{if(r.name===e.name&&r.prefix===e.prefix&&r.provider===e.provider)return;r=e;let i=e.provider,a=e.prefix,o=e.name,s=n[i]||(n[i]=Object.create(null)),c=s[a]||(s[a]=T(i,a)),l;l=o in c.icons?t.loaded:a===``||c.missing.has(o)?t.missing:t.pending;let u={provider:i,prefix:a,name:o};l.push(u)}),t}var j=Object.create(null);function ge(e,t){j[e]=t}function M(e){return j[e]||j[``]}function _e(e,t=!0,n=!1){let r=[];return e.forEach(e=>{let i=typeof e==`string`?y(e,t,n):e;i&&r.push(i)}),r}function N(e){let t;if(typeof e.resources==`string`)t=[e.resources];else if(t=e.resources,!(t instanceof Array)||!t.length)return null;return{resources:t,path:e.path||`/`,maxURL:e.maxURL||500,rotate:e.rotate||750,timeout:e.timeout||5e3,random:e.random===!0,index:e.index||0,dataAfterTimeout:e.dataAfterTimeout!==!1}}for(var P=Object.create(null),F=[`https://api.simplesvg.com`,`https://api.unisvg.com`],I=[];F.length>0;)F.length===1||Math.random()>.5?I.push(F.shift()):I.push(F.pop());P[``]=N({resources:[`https://api.iconify.design`].concat(I)});function ve(e,t){let n=N(t);return n===null?!1:(P[e]=n,!0)}function L(e){return P[e]}function ye(){return Object.keys(P)}var be={resources:[],index:0,timeout:2e3,rotate:750,random:!1,dataAfterTimeout:!1};function xe(e,t,n,r){let i=e.resources.length,a=e.random?Math.floor(Math.random()*i):e.index,o;if(e.random){let t=e.resources.slice(0);for(o=[];t.length>1;){let e=Math.floor(Math.random()*t.length);o.push(t[e]),t=t.slice(0,e).concat(t.slice(e+1))}o=o.concat(t)}else o=e.resources.slice(a).concat(e.resources.slice(0,a));let s=Date.now(),c=`pending`,l=0,u,d=null,f=[],p=[];typeof r==`function`&&p.push(r);function m(){d&&=(clearTimeout(d),null)}function h(){c===`pending`&&(c=`aborted`),m(),f.forEach(e=>{e.status===`pending`&&(e.status=`aborted`)}),f=[]}function g(e,t){t&&(p=[]),typeof e==`function`&&p.push(e)}function _(){return{startTime:s,payload:t,status:c,queriesSent:l,queriesPending:f.length,subscribe:g,abort:h}}function v(){c=`failed`,p.forEach(e=>{e(void 0,u)})}function y(){f.forEach(e=>{e.status===`pending`&&(e.status=`aborted`)}),f=[]}function b(t,n,r){let i=n!==`success`;switch(f=f.filter(e=>e!==t),c){case`pending`:break;case`failed`:if(i||!e.dataAfterTimeout)return;break;default:return}if(n===`abort`){u=r,v();return}if(i){u=r,f.length||(o.length?x():v());return}if(m(),y(),!e.random){let n=e.resources.indexOf(t.resource);n!==-1&&n!==e.index&&(e.index=n)}c=`completed`,p.forEach(e=>{e(r)})}function x(){if(c!==`pending`)return;m();let r=o.shift();if(r===void 0){if(f.length){d=setTimeout(()=>{m(),c===`pending`&&(y(),v())},e.timeout);return}v();return}let i={status:`pending`,resource:r,callback:(e,t)=>{b(i,e,t)}};f.push(i),l++,d=setTimeout(x,e.rotate),n(r,t,i.callback)}return setTimeout(x),_}function Se(e){let t={...be,...e},n=[];function r(){n=n.filter(e=>e().status===`pending`)}function i(e,i,a){let o=xe(t,e,i,(e,t)=>{r(),a&&a(e,t)});return n.push(o),o}function a(e){return n.find(t=>e(t))||null}return{query:i,find:a,setIndex:e=>{t.index=e},getIndex:()=>t.index,cleanup:r}}function Ce(){}var R=Object.create(null);function we(e){if(!R[e]){let t=L(e);if(!t)return;R[e]={config:t,redundancy:Se(t)}}return R[e]}function z(e,t,n){let r,i;if(typeof e==`string`){let t=M(e);if(!t)return n(void 0,424),Ce;i=t.send;let a=we(e);a&&(r=a.redundancy)}else{let t=N(e);if(t){r=Se(t);let n=M(e.resources?e.resources[0]:``);n&&(i=n.send)}}return!r||!i?(n(void 0,424),Ce):r.query(t,i,n)().abort}function B(){}function Te(e){e.iconsLoaderFlag||(e.iconsLoaderFlag=!0,setTimeout(()=>{e.iconsLoaderFlag=!1,fe(e)}))}function Ee(e){let t=[],n=[];return e.forEach(e=>{(e.match(v)?t:n).push(e)}),{valid:t,invalid:n}}function V(e,t,n){function r(){let n=e.pendingIcons;t.forEach(t=>{n&&n.delete(t),e.icons[t]||e.missing.add(t)})}if(n&&typeof n==`object`)try{if(!oe(e,n).length){r();return}}catch(e){console.error(e)}r(),Te(e)}function H(e,t){e instanceof Promise?e.then(e=>{t(e)}).catch(()=>{t(null)}):t(e)}function De(e,t){e.iconsToLoad?e.iconsToLoad=e.iconsToLoad.concat(t).sort():e.iconsToLoad=t,e.iconsQueueFlag||(e.iconsQueueFlag=!0,setTimeout(()=>{e.iconsQueueFlag=!1;let{provider:t,prefix:n}=e,r=e.iconsToLoad;if(delete e.iconsToLoad,!r||!r.length)return;let i=e.loadIcon;if(e.loadIcons&&(r.length>1||!i)){H(e.loadIcons(r,n,t),t=>{V(e,r,t)});return}if(i){r.forEach(r=>{H(i(r,n,t),t=>{V(e,[r],t?{prefix:n,icons:{[r]:t}}:null)})});return}let{valid:a,invalid:o}=Ee(r);if(o.length&&V(e,o,null),!a.length)return;let s=n.match(v)?M(t):null;if(!s){V(e,a,null);return}s.prepare(t,n,a).forEach(n=>{z(t,n,t=>{V(e,n.icons,t)})})}))}var U=(e,t)=>{let n=he(_e(e,!0,D()));if(!n.pending.length){let e=!0;return t&&setTimeout(()=>{e&&t(n.loaded,n.missing,n.pending,B)}),()=>{e=!1}}let r=Object.create(null),i=[],a,o;return n.pending.forEach(e=>{let{provider:t,prefix:n}=e;if(n===o&&t===a)return;a=t,o=n,i.push(T(t,n));let s=r[t]||(r[t]=Object.create(null));s[n]||(s[n]=[])}),n.pending.forEach(e=>{let{provider:t,prefix:n,name:i}=e,a=T(t,n),o=a.pendingIcons||=new Set;o.has(i)||(o.add(i),r[t][n].push(i))}),i.forEach(e=>{let t=r[e.provider][e.prefix];t.length&&De(e,t)}),t?me(t,n,i):B},Oe=e=>new Promise((t,n)=>{let r=typeof e==`string`?y(e,!0):e;if(!r){n(e);return}U([r||e],i=>{if(i.length&&r){let e=O(r);if(e){t({...c,...e});return}}n(e)})});function W(e){try{let t=typeof e==`string`?JSON.parse(e):e;if(typeof t.body==`string`)return{...t}}catch{}}function ke(e,t){if(typeof e==`object`)return{data:W(e),value:e};if(typeof e!=`string`)return{value:e};if(e.includes(`{`)){let t=W(e);if(t)return{data:t,value:e}}let n=y(e,!0,!0);if(!n)return{value:e};let r=O(n);return r!==void 0||!n.prefix?{value:e,name:n,data:r}:{value:e,name:n,loading:U([n],()=>t(e,n,O(n)))}}var G=!1;try{G=navigator.vendor.indexOf(`Apple`)===0}catch{}function Ae(e,t){switch(t){case`svg`:case`bg`:case`mask`:return t}return t!==`style`&&(G||e.indexOf(`<a`)===-1)?`svg`:e.indexOf(`currentColor`)===-1?`bg`:`mask`}var je=/(-?[0-9.]*[0-9]+[0-9.]*)/g,Me=/^-?[0-9.]*[0-9]+[0-9.]*$/g;function K(e,t,n){if(t===1)return e;if(n||=100,typeof e==`number`)return Math.ceil(e*t*n)/n;if(typeof e!=`string`)return e;let r=e.split(je);if(r===null||!r.length)return e;let i=[],a=r.shift(),o=Me.test(a);for(;;){if(o){let e=parseFloat(a);isNaN(e)?i.push(a):i.push(Math.ceil(e*t*n)/n)}else i.push(a);if(a=r.shift(),a===void 0)return i.join(``);o=!o}}function Ne(e,t=`defs`){let n=``,r=e.indexOf(`<`+t);for(;r>=0;){let i=e.indexOf(`>`,r),a=e.indexOf(`</`+t);if(i===-1||a===-1)break;let o=e.indexOf(`>`,a);if(o===-1)break;n+=e.slice(i+1,a).trim(),e=e.slice(0,r).trim()+e.slice(o+1)}return{defs:n,content:e}}function Pe(e,t){return e?`<defs>`+e+`</defs>`+t:t}function Fe(e,t,n){let r=Ne(e);return Pe(r.defs,t+r.content+n)}var Ie=e=>e===`unset`||e===`undefined`||e===`none`;function Le(e,t){let n={...c,...e},r={...d,...t},i={left:n.left,top:n.top,width:n.width,height:n.height},a=n.body;[n,r].forEach(e=>{let t=[],n=e.hFlip,r=e.vFlip,o=e.rotate;n?r?o+=2:(t.push(`translate(`+(i.width+i.left).toString()+` `+(0-i.top).toString()+`)`),t.push(`scale(-1 1)`),i.top=i.left=0):r&&(t.push(`translate(`+(0-i.left).toString()+` `+(i.height+i.top).toString()+`)`),t.push(`scale(1 -1)`),i.top=i.left=0);let s;switch(o<0&&(o-=Math.floor(o/4)*4),o%=4,o){case 1:s=i.height/2+i.top,t.unshift(`rotate(90 `+s.toString()+` `+s.toString()+`)`);break;case 2:t.unshift(`rotate(180 `+(i.width/2+i.left).toString()+` `+(i.height/2+i.top).toString()+`)`);break;case 3:s=i.width/2+i.left,t.unshift(`rotate(-90 `+s.toString()+` `+s.toString()+`)`);break}o%2==1&&(i.left!==i.top&&(s=i.left,i.left=i.top,i.top=s),i.width!==i.height&&(s=i.width,i.width=i.height,i.height=s)),t.length&&(a=Fe(a,`<g transform="`+t.join(` `)+`">`,`</g>`))});let o=r.width,s=r.height,l=i.width,u=i.height,f,p;o===null?(p=s===null?`1em`:s===`auto`?u:s,f=K(p,l/u)):(f=o===`auto`?l:o,p=s===null?K(f,u/l):s===`auto`?u:s);let m={},h=(e,t)=>{Ie(t)||(m[e]=t.toString())};h(`width`,f),h(`height`,p);let g=[i.left,i.top,l,u];return m.viewBox=g.join(` `),{attributes:m,viewBox:g,body:a}}function q(e,t){let n=e.indexOf(`xlink:`)===-1?``:` xmlns:xlink="http://www.w3.org/1999/xlink"`;for(let e in t)n+=` `+e+`="`+t[e]+`"`;return`<svg xmlns="http://www.w3.org/2000/svg"`+n+`>`+e+`</svg>`}function Re(e){return e.replace(/"/g,`'`).replace(/%/g,`%25`).replace(/#/g,`%23`).replace(/</g,`%3C`).replace(/>/g,`%3E`).replace(/\s+/g,` `)}function ze(e){return`data:image/svg+xml,`+Re(e)}function Be(e){return`url("`+ze(e)+`")`}var J=(()=>{let e;try{if(e=fetch,typeof e==`function`)return e}catch{}})();function Ve(e){J=e}function He(){return J}function Ue(e,t){let n=L(e);if(!n)return 0;let r;if(!n.maxURL)r=0;else{let e=0;n.resources.forEach(t=>{e=Math.max(e,t.length)});let i=t+`.json?icons=`;r=n.maxURL-e-n.path.length-i.length}return r}function We(e){return e===404}var Ge=(e,t,n)=>{let r=[],i=Ue(e,t),a=`icons`,o={type:a,provider:e,prefix:t,icons:[]},s=0;return n.forEach((n,c)=>{s+=n.length+1,s>=i&&c>0&&(r.push(o),o={type:a,provider:e,prefix:t,icons:[]},s=n.length),o.icons.push(n)}),r.push(o),r};function Ke(e){if(typeof e==`string`){let t=L(e);if(t)return t.path}return`/`}var qe={prepare:Ge,send:(e,t,n)=>{if(!J){n(`abort`,424);return}let r=Ke(t.provider);switch(t.type){case`icons`:{let e=t.prefix,n=t.icons.join(`,`),i=new URLSearchParams({icons:n});r+=e+`.json?`+i.toString();break}case`custom`:{let e=t.uri;r+=e.slice(0,1)===`/`?e.slice(1):e;break}default:n(`abort`,400);return}let i=503;J(e+r).then(e=>{let t=e.status;if(t!==200){setTimeout(()=>{n(We(t)?`abort`:`next`,t)});return}return i=501,e.json()}).then(e=>{if(typeof e!=`object`||!e){setTimeout(()=>{e===404?n(`abort`,e):n(`next`,i)});return}setTimeout(()=>{n(`success`,e)})}).catch(()=>{n(`next`,i)})}};function Je(e,t,n){T(n||``,t).loadIcons=e}function Ye(e,t,n){T(n||``,t).loadIcon=e}var Y=`data-style`,Xe=``;function Ze(e){Xe=e}function Qe(e,t){let n=Array.from(e.childNodes).find(e=>e.hasAttribute&&e.hasAttribute(Y));n||(n=document.createElement(`style`),n.setAttribute(Y,Y),e.appendChild(n)),n.textContent=`:host{display:inline-block;vertical-align:`+(t?`-0.125em`:`0`)+`}span,svg{display:block;margin:auto}`+Xe}function $e(){ge(``,qe),D(!0);let e;try{e=window}catch{}if(e){if(e.IconifyPreload!==void 0){let t=e.IconifyPreload,n=`Invalid IconifyPreload syntax.`;typeof t==`object`&&t&&(t instanceof Array?t:[t]).forEach(e=>{try{(typeof e!=`object`||!e||e instanceof Array||typeof e.icons!=`object`||typeof e.prefix!=`string`||!k(e))&&console.error(n)}catch{console.error(n)}})}if(e.IconifyProviders!==void 0){let t=e.IconifyProviders;if(typeof t==`object`&&t)for(let e in t){let n=`IconifyProviders[`+e+`] is invalid.`;try{let r=t[e];if(typeof r!=`object`||!r||r.resources===void 0)continue;ve(e,r)||console.error(n)}catch{console.error(n)}}}}return{iconLoaded:ue,getIcon:de,listIcons:ce,addIcon:le,addCollection:k,calculateSize:K,buildIcon:Le,iconToHTML:q,svgToURL:Be,loadIcons:U,loadIcon:Oe,addAPIProvider:ve,setCustomIconLoader:Ye,setCustomIconsLoader:Je,appendCustomStyle:Ze,_api:{getAPIConfig:L,setAPIModule:ge,sendAPIQuery:z,setFetch:Ve,getFetch:He,listAPIProviders:ye}}}var X={"background-color":`currentColor`},et={"background-color":`transparent`},tt={image:`var(--svg)`,repeat:`no-repeat`,size:`100% 100%`},nt={"-webkit-mask":X,mask:X,background:et};for(let e in nt){let t=nt[e];for(let n in tt)t[e+`-`+n]=tt[n]}function rt(e){return e?e+(e.match(/^[-0-9.]+$/)?`px`:``):`inherit`}function it(e,t,n){let r=document.createElement(`span`),i=e.body;i.indexOf(`<a`)!==-1&&(i+=`<!-- `+Date.now()+` -->`);let a=e.attributes,o=Be(q(i,{...a,width:t.width+``,height:t.height+``})),s=r.style,c={"--svg":o,width:rt(a.width),height:rt(a.height),...n?X:et};for(let e in c)s.setProperty(e,c[e]);return r}var Z;function at(){try{Z=window.trustedTypes.createPolicy(`iconify`,{createHTML:e=>e})}catch{Z=null}}function ot(e){return Z===void 0&&at(),Z?Z.createHTML(e):e}function st(e){let t=document.createElement(`span`),n=e.attributes,r=``;return n.width||(r=`width: inherit;`),n.height||(r+=`height: inherit;`),r&&(n.style=r),t.innerHTML=ot(q(e.body,n)),t.firstChild}function Q(e){return Array.from(e.childNodes).find(e=>{let t=e.tagName&&e.tagName.toUpperCase();return t===`SPAN`||t===`SVG`})}function ct(e,t){let n=t.icon.data,r=t.customisations,i=Le(n,r);r.preserveAspectRatio&&(i.attributes.preserveAspectRatio=r.preserveAspectRatio);let a=t.renderedMode,o;switch(a){case`svg`:o=st(i);break;default:o=it(i,{...c,...n},a===`mask`)}let s=Q(e);s?o.tagName===`SPAN`&&s.tagName===o.tagName?s.setAttribute(`style`,o.getAttribute(`style`)):e.replaceChild(o,s):e.appendChild(o)}function lt(e,t,n){return{rendered:!1,inline:t,icon:e,lastRender:n&&(n.rendered?n:n.lastRender)}}function ut(e=`iconify-icon`){let t,n;try{t=window.customElements,n=window.HTMLElement}catch{return}if(!t||!n)return;let r=t.get(e);if(r)return r;let i=[`icon`,`mode`,`inline`,`noobserver`,`width`,`height`,`rotate`,`flip`],a=class extends n{_shadowRoot;_initialised=!1;_state;_checkQueued=!1;_connected=!1;_observer=null;_visible=!0;constructor(){super();let e=this._shadowRoot=this.attachShadow({mode:`open`}),t=this.hasAttribute(`inline`);Qe(e,t),this._state=lt({value:``},t),this._queueCheck()}connectedCallback(){this._connected=!0,this.startObserver()}disconnectedCallback(){this._connected=!1,this.stopObserver()}static get observedAttributes(){return i.slice(0)}attributeChangedCallback(e){switch(e){case`inline`:{let e=this.hasAttribute(`inline`),t=this._state;e!==t.inline&&(t.inline=e,Qe(this._shadowRoot,e));break}case`noobserver`:this.hasAttribute(`noobserver`)?this.startObserver():this.stopObserver();break;default:this._queueCheck()}}get icon(){let e=this.getAttribute(`icon`);if(e&&e.slice(0,1)===`{`)try{return JSON.parse(e)}catch{}return e}set icon(e){typeof e==`object`&&(e=JSON.stringify(e)),this.setAttribute(`icon`,e)}get inline(){return this.hasAttribute(`inline`)}set inline(e){e?this.setAttribute(`inline`,`true`):this.removeAttribute(`inline`)}get observer(){return this.hasAttribute(`observer`)}set observer(e){e?this.setAttribute(`observer`,`true`):this.removeAttribute(`observer`)}restartAnimation(){let e=this._state;if(e.rendered){let t=this._shadowRoot;if(e.renderedMode===`svg`)try{t.lastChild.setCurrentTime(0);return}catch{}ct(t,e)}}get status(){let e=this._state;return e.rendered?`rendered`:e.icon.data===null?`failed`:`loading`}_queueCheck(){this._checkQueued||(this._checkQueued=!0,setTimeout(()=>{this._check()}))}_check(){if(!this._checkQueued)return;this._checkQueued=!1;let e=this._state,t=this.getAttribute(`icon`);if(t!==e.icon.value){this._iconChanged(t);return}if(!e.rendered||!this._visible)return;let n=this.getAttribute(`mode`),r=g(this);(e.attrMode!==n||_(e.customisations,r)||!Q(this._shadowRoot))&&this._renderIcon(e.icon,r,n)}_iconChanged(e){let t=ke(e,(e,t,n)=>{let r=this._state;if(r.rendered||this.getAttribute(`icon`)!==e)return;let i={value:e,name:t,data:n};i.data?this._gotIconData(i):r.icon=i});t.data?this._gotIconData(t):this._state=lt(t,this._state.inline,this._state)}_forceRender(){if(!this._visible){let e=Q(this._shadowRoot);e&&this._shadowRoot.removeChild(e);return}this._queueCheck()}_gotIconData(e){this._checkQueued=!1,this._renderIcon(e,g(this),this.getAttribute(`mode`))}_renderIcon(e,t,n){let r=Ae(e.data.body,n),i=this._state.inline;ct(this._shadowRoot,this._state={rendered:!0,icon:e,inline:i,customisations:t,attrMode:n,renderedMode:r})}startObserver(){if(!this._observer&&!this.hasAttribute(`noobserver`))try{this._observer=new IntersectionObserver(e=>{let t=e.some(e=>e.isIntersecting);t!==this._visible&&(this._visible=t,this._forceRender())}),this._observer.observe(this)}catch{if(this._observer){try{this._observer.disconnect()}catch{}this._observer=null}}}stopObserver(){this._observer&&(this._observer.disconnect(),this._observer=null,this._visible=!0,this._connected&&this._forceRender())}};i.forEach(e=>{e in a.prototype||Object.defineProperty(a.prototype,e,{get:function(){return this.getAttribute(e)},set:function(t){t===null?this.removeAttribute(e):this.setAttribute(e,t)}})});let o=$e();for(let e in o)a[e]=a.prototype[e]=o[e];return t.define(e,a),a}var{iconLoaded:dt,getIcon:ft,listIcons:pt,addIcon:mt,addCollection:ht,calculateSize:gt,buildIcon:_t,iconToHTML:vt,svgToURL:yt,loadIcons:bt,loadIcon:xt,setCustomIconLoader:St,setCustomIconsLoader:Ct,addAPIProvider:wt,_api:Tt}=ut()||$e(),Et=e(`:host{--color:currentColor;color:var(--color);display:contents}iconify-icon{color:inherit}`),$=class extends n{constructor(...e){super(...e),this.name=``}static{this.styles=[a,Et]}updated(e){e.has(`label`)&&(this.label?(this.setAttribute(`role`,`img`),this.setAttribute(`aria-label`,this.label)):(this.removeAttribute(`role`),this.removeAttribute(`aria-label`)))}render(){return t`
|
|
2
2
|
<iconify-icon
|
|
3
3
|
icon=${this.name}
|
|
4
4
|
aria-hidden="true"
|