@vielzeug/refine 1.1.1
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/README.md +89 -0
- package/dist/_dev.cjs +2 -0
- package/dist/_dev.cjs.map +1 -0
- package/dist/_dev.d.ts +2 -0
- package/dist/_dev.d.ts.map +1 -0
- package/dist/_dev.js +9 -0
- package/dist/_dev.js.map +1 -0
- package/dist/_virtual/_rolldown/runtime.cjs +1 -0
- package/dist/accordion-item.cjs +26 -0
- package/dist/accordion-item.cjs.map +1 -0
- package/dist/accordion-item.js +124 -0
- package/dist/accordion-item.js.map +1 -0
- package/dist/accordion.cjs +2 -0
- package/dist/accordion.cjs.map +1 -0
- package/dist/accordion.js +47 -0
- package/dist/accordion.js.map +1 -0
- package/dist/alert.cjs +36 -0
- package/dist/alert.cjs.map +1 -0
- package/dist/alert.js +93 -0
- package/dist/alert.js.map +1 -0
- package/dist/async.cjs +55 -0
- package/dist/async.cjs.map +1 -0
- package/dist/async.js +99 -0
- package/dist/async.js.map +1 -0
- package/dist/avatar.cjs +18 -0
- package/dist/avatar.cjs.map +1 -0
- package/dist/avatar.js +108 -0
- package/dist/avatar.js.map +1 -0
- package/dist/badge.cjs +7 -0
- package/dist/badge.cjs.map +1 -0
- package/dist/badge.js +65 -0
- package/dist/badge.js.map +1 -0
- package/dist/box.cjs +2 -0
- package/dist/box.cjs.map +1 -0
- package/dist/box.js +31 -0
- package/dist/box.js.map +1 -0
- package/dist/breadcrumb.cjs +21 -0
- package/dist/breadcrumb.cjs.map +1 -0
- package/dist/breadcrumb.js +57 -0
- package/dist/breadcrumb.js.map +1 -0
- package/dist/button-group.cjs +6 -0
- package/dist/button-group.cjs.map +1 -0
- package/dist/button-group.js +33 -0
- package/dist/button-group.js.map +1 -0
- package/dist/button.cjs +18 -0
- package/dist/button.cjs.map +1 -0
- package/dist/button.js +124 -0
- package/dist/button.js.map +1 -0
- package/dist/calendar.cjs +126 -0
- package/dist/calendar.cjs.map +1 -0
- package/dist/calendar.js +300 -0
- package/dist/calendar.js.map +1 -0
- package/dist/card.cjs +23 -0
- package/dist/card.cjs.map +1 -0
- package/dist/card.js +87 -0
- package/dist/card.js.map +1 -0
- package/dist/carousel.cjs +61 -0
- package/dist/carousel.cjs.map +1 -0
- package/dist/carousel.js +280 -0
- package/dist/carousel.js.map +1 -0
- package/dist/checkbox-group.cjs +18 -0
- package/dist/checkbox-group.cjs.map +1 -0
- package/dist/checkbox-group.js +118 -0
- package/dist/checkbox-group.js.map +1 -0
- package/dist/checkbox.cjs +11 -0
- package/dist/checkbox.cjs.map +1 -0
- package/dist/checkbox.js +88 -0
- package/dist/checkbox.js.map +1 -0
- package/dist/chip.cjs +42 -0
- package/dist/chip.cjs.map +1 -0
- package/dist/chip.js +133 -0
- package/dist/chip.js.map +1 -0
- package/dist/code-window.cjs +19 -0
- package/dist/code-window.cjs.map +1 -0
- package/dist/code-window.js +41 -0
- package/dist/code-window.js.map +1 -0
- package/dist/combobox.cjs +103 -0
- package/dist/combobox.cjs.map +1 -0
- package/dist/combobox.js +444 -0
- package/dist/combobox.js.map +1 -0
- package/dist/content/avatar/avatar-group.css?inline.cjs +2 -0
- package/dist/content/avatar/avatar-group.css?inline.cjs.map +1 -0
- package/dist/content/avatar/avatar-group.css?inline.js +6 -0
- package/dist/content/avatar/avatar-group.css?inline.js.map +1 -0
- package/dist/content/avatar/avatar.css?inline.cjs +2 -0
- package/dist/content/avatar/avatar.css?inline.cjs.map +1 -0
- package/dist/content/avatar/avatar.css?inline.js +6 -0
- package/dist/content/avatar/avatar.css?inline.js.map +1 -0
- package/dist/content/avatar/avatar.d.ts +88 -0
- package/dist/content/avatar/avatar.d.ts.map +1 -0
- package/dist/content/breadcrumb/breadcrumb-item.css?inline.cjs +2 -0
- package/dist/content/breadcrumb/breadcrumb-item.css?inline.cjs.map +1 -0
- package/dist/content/breadcrumb/breadcrumb-item.css?inline.js +6 -0
- package/dist/content/breadcrumb/breadcrumb-item.css?inline.js.map +1 -0
- package/dist/content/breadcrumb/breadcrumb.css?inline.cjs +2 -0
- package/dist/content/breadcrumb/breadcrumb.css?inline.cjs.map +1 -0
- package/dist/content/breadcrumb/breadcrumb.css?inline.js +6 -0
- package/dist/content/breadcrumb/breadcrumb.css?inline.js.map +1 -0
- package/dist/content/breadcrumb/breadcrumb.d.ts +57 -0
- package/dist/content/breadcrumb/breadcrumb.d.ts.map +1 -0
- package/dist/content/card/card.css?inline.cjs +2 -0
- package/dist/content/card/card.css?inline.cjs.map +1 -0
- package/dist/content/card/card.css?inline.js +6 -0
- package/dist/content/card/card.css?inline.js.map +1 -0
- package/dist/content/card/card.d.ts +74 -0
- package/dist/content/card/card.d.ts.map +1 -0
- package/dist/content/carousel/carousel-slide.cjs +2 -0
- package/dist/content/carousel/carousel-slide.cjs.map +1 -0
- package/dist/content/carousel/carousel-slide.css?inline.cjs +2 -0
- package/dist/content/carousel/carousel-slide.css?inline.cjs.map +1 -0
- package/dist/content/carousel/carousel-slide.css?inline.js +6 -0
- package/dist/content/carousel/carousel-slide.css?inline.js.map +1 -0
- package/dist/content/carousel/carousel-slide.d.ts +2 -0
- package/dist/content/carousel/carousel-slide.d.ts.map +1 -0
- package/dist/content/carousel/carousel-slide.js +18 -0
- package/dist/content/carousel/carousel-slide.js.map +1 -0
- package/dist/content/carousel/carousel.css?inline.cjs +2 -0
- package/dist/content/carousel/carousel.css?inline.cjs.map +1 -0
- package/dist/content/carousel/carousel.css?inline.js +6 -0
- package/dist/content/carousel/carousel.css?inline.js.map +1 -0
- package/dist/content/carousel/carousel.d.ts +110 -0
- package/dist/content/carousel/carousel.d.ts.map +1 -0
- package/dist/content/carousel/index.d.ts +3 -0
- package/dist/content/carousel/index.d.ts.map +1 -0
- package/dist/content/code-window/code-window.css?inline.cjs +2 -0
- package/dist/content/code-window/code-window.css?inline.cjs.map +1 -0
- package/dist/content/code-window/code-window.css?inline.js +6 -0
- package/dist/content/code-window/code-window.css?inline.js.map +1 -0
- package/dist/content/code-window/code-window.d.ts +61 -0
- package/dist/content/code-window/code-window.d.ts.map +1 -0
- package/dist/content/copy-command/copy-command.css?inline.cjs +2 -0
- package/dist/content/copy-command/copy-command.css?inline.cjs.map +1 -0
- package/dist/content/copy-command/copy-command.css?inline.js +6 -0
- package/dist/content/copy-command/copy-command.css?inline.js.map +1 -0
- package/dist/content/copy-command/copy-command.d.ts +66 -0
- package/dist/content/copy-command/copy-command.d.ts.map +1 -0
- package/dist/content/icon/icon.css?inline.cjs +2 -0
- package/dist/content/icon/icon.css?inline.cjs.map +1 -0
- package/dist/content/icon/icon.css?inline.js +6 -0
- package/dist/content/icon/icon.css?inline.js.map +1 -0
- package/dist/content/icon/icon.d.ts +45 -0
- package/dist/content/icon/icon.d.ts.map +1 -0
- package/dist/content/index.d.ts +23 -0
- package/dist/content/index.d.ts.map +1 -0
- package/dist/content/pagination/pagination.css?inline.cjs +2 -0
- package/dist/content/pagination/pagination.css?inline.cjs.map +1 -0
- package/dist/content/pagination/pagination.css?inline.js +6 -0
- package/dist/content/pagination/pagination.css?inline.js.map +1 -0
- package/dist/content/pagination/pagination.d.ts +61 -0
- package/dist/content/pagination/pagination.d.ts.map +1 -0
- package/dist/content/separator/separator.css?inline.cjs +2 -0
- package/dist/content/separator/separator.css?inline.cjs.map +1 -0
- package/dist/content/separator/separator.css?inline.js +6 -0
- package/dist/content/separator/separator.css?inline.js.map +1 -0
- package/dist/content/separator/separator.d.ts +38 -0
- package/dist/content/separator/separator.d.ts.map +1 -0
- package/dist/content/table/table.css?inline.cjs +2 -0
- package/dist/content/table/table.css?inline.cjs.map +1 -0
- package/dist/content/table/table.css?inline.js +6 -0
- package/dist/content/table/table.css?inline.js.map +1 -0
- package/dist/content/table/table.d.ts +76 -0
- package/dist/content/table/table.d.ts.map +1 -0
- package/dist/content/text/text.css?inline.cjs +2 -0
- package/dist/content/text/text.css?inline.cjs.map +1 -0
- package/dist/content/text/text.css?inline.js +6 -0
- package/dist/content/text/text.css?inline.js.map +1 -0
- package/dist/content/text/text.d.ts +55 -0
- package/dist/content/text/text.d.ts.map +1 -0
- package/dist/copy-command.cjs +17 -0
- package/dist/copy-command.cjs.map +1 -0
- package/dist/copy-command.js +55 -0
- package/dist/copy-command.js.map +1 -0
- package/dist/custom-elements.json +12641 -0
- package/dist/datagrid.cjs +435 -0
- package/dist/datagrid.cjs.map +1 -0
- package/dist/datagrid.js +764 -0
- package/dist/datagrid.js.map +1 -0
- package/dist/date-picker.cjs +133 -0
- package/dist/date-picker.cjs.map +1 -0
- package/dist/date-picker.js +315 -0
- package/dist/date-picker.js.map +1 -0
- package/dist/dialog.cjs +28 -0
- package/dist/dialog.cjs.map +1 -0
- package/dist/dialog.js +88 -0
- package/dist/dialog.js.map +1 -0
- package/dist/disclosure/accordion/accordion.css?inline.cjs +2 -0
- package/dist/disclosure/accordion/accordion.css?inline.cjs.map +1 -0
- package/dist/disclosure/accordion/accordion.css?inline.js +6 -0
- package/dist/disclosure/accordion/accordion.css?inline.js.map +1 -0
- package/dist/disclosure/accordion/accordion.d.ts +62 -0
- package/dist/disclosure/accordion/accordion.d.ts.map +1 -0
- package/dist/disclosure/accordion-item/accordion-item.css?inline.cjs +2 -0
- package/dist/disclosure/accordion-item/accordion-item.css?inline.cjs.map +1 -0
- package/dist/disclosure/accordion-item/accordion-item.css?inline.js +6 -0
- package/dist/disclosure/accordion-item/accordion-item.css?inline.js.map +1 -0
- package/dist/disclosure/accordion-item/accordion-item.d.ts +70 -0
- package/dist/disclosure/accordion-item/accordion-item.d.ts.map +1 -0
- package/dist/disclosure/index.d.ts +11 -0
- package/dist/disclosure/index.d.ts.map +1 -0
- package/dist/disclosure/tab-item/tab-item.css?inline.cjs +2 -0
- package/dist/disclosure/tab-item/tab-item.css?inline.cjs.map +1 -0
- package/dist/disclosure/tab-item/tab-item.css?inline.js +6 -0
- package/dist/disclosure/tab-item/tab-item.css?inline.js.map +1 -0
- package/dist/disclosure/tab-item/tab-item.d.ts +49 -0
- package/dist/disclosure/tab-item/tab-item.d.ts.map +1 -0
- package/dist/disclosure/tab-panel/tab-panel.css?inline.cjs +2 -0
- package/dist/disclosure/tab-panel/tab-panel.css?inline.cjs.map +1 -0
- package/dist/disclosure/tab-panel/tab-panel.css?inline.js +6 -0
- package/dist/disclosure/tab-panel/tab-panel.css?inline.js.map +1 -0
- package/dist/disclosure/tab-panel/tab-panel.d.ts +33 -0
- package/dist/disclosure/tab-panel/tab-panel.d.ts.map +1 -0
- package/dist/disclosure/tabs/tabs.css?inline.cjs +2 -0
- package/dist/disclosure/tabs/tabs.css?inline.cjs.map +1 -0
- package/dist/disclosure/tabs/tabs.css?inline.js +6 -0
- package/dist/disclosure/tabs/tabs.css?inline.js.map +1 -0
- package/dist/disclosure/tabs/tabs.d.ts +75 -0
- package/dist/disclosure/tabs/tabs.d.ts.map +1 -0
- package/dist/drawer.cjs +32 -0
- package/dist/drawer.cjs.map +1 -0
- package/dist/drawer.js +199 -0
- package/dist/drawer.js.map +1 -0
- package/dist/errors.cjs +2 -0
- package/dist/errors.cjs.map +1 -0
- package/dist/errors.d.ts +9 -0
- package/dist/errors.d.ts.map +1 -0
- package/dist/errors.js +13 -0
- package/dist/errors.js.map +1 -0
- package/dist/feedback/alert/alert.css?inline.cjs +2 -0
- package/dist/feedback/alert/alert.css?inline.cjs.map +1 -0
- package/dist/feedback/alert/alert.css?inline.js +6 -0
- package/dist/feedback/alert/alert.css?inline.js.map +1 -0
- package/dist/feedback/alert/alert.d.ts +74 -0
- package/dist/feedback/alert/alert.d.ts.map +1 -0
- package/dist/feedback/async/async.css?inline.cjs +2 -0
- package/dist/feedback/async/async.css?inline.cjs.map +1 -0
- package/dist/feedback/async/async.css?inline.js +6 -0
- package/dist/feedback/async/async.css?inline.js.map +1 -0
- package/dist/feedback/async/async.d.ts +54 -0
- package/dist/feedback/async/async.d.ts.map +1 -0
- package/dist/feedback/badge/badge.css?inline.cjs +2 -0
- package/dist/feedback/badge/badge.css?inline.cjs.map +1 -0
- package/dist/feedback/badge/badge.css?inline.js +6 -0
- package/dist/feedback/badge/badge.css?inline.js.map +1 -0
- package/dist/feedback/badge/badge.d.ts +69 -0
- package/dist/feedback/badge/badge.d.ts.map +1 -0
- package/dist/feedback/chip/chip.css?inline.cjs +2 -0
- package/dist/feedback/chip/chip.css?inline.cjs.map +1 -0
- package/dist/feedback/chip/chip.css?inline.js +6 -0
- package/dist/feedback/chip/chip.css?inline.js.map +1 -0
- package/dist/feedback/chip/chip.d.ts +136 -0
- package/dist/feedback/chip/chip.d.ts.map +1 -0
- package/dist/feedback/index.d.ts +17 -0
- package/dist/feedback/index.d.ts.map +1 -0
- package/dist/feedback/password-strength/password-strength.css?inline.cjs +2 -0
- package/dist/feedback/password-strength/password-strength.css?inline.cjs.map +1 -0
- package/dist/feedback/password-strength/password-strength.css?inline.js +6 -0
- package/dist/feedback/password-strength/password-strength.css?inline.js.map +1 -0
- package/dist/feedback/password-strength/password-strength.d.ts +66 -0
- package/dist/feedback/password-strength/password-strength.d.ts.map +1 -0
- package/dist/feedback/progress/progress.css?inline.cjs +2 -0
- package/dist/feedback/progress/progress.css?inline.cjs.map +1 -0
- package/dist/feedback/progress/progress.css?inline.js +6 -0
- package/dist/feedback/progress/progress.css?inline.js.map +1 -0
- package/dist/feedback/progress/progress.d.ts +68 -0
- package/dist/feedback/progress/progress.d.ts.map +1 -0
- package/dist/feedback/skeleton/skeleton.css?inline.cjs +2 -0
- package/dist/feedback/skeleton/skeleton.css?inline.cjs.map +1 -0
- package/dist/feedback/skeleton/skeleton.css?inline.js +6 -0
- package/dist/feedback/skeleton/skeleton.css?inline.js.map +1 -0
- package/dist/feedback/skeleton/skeleton.d.ts +63 -0
- package/dist/feedback/skeleton/skeleton.d.ts.map +1 -0
- package/dist/feedback/toast/index.d.ts +2 -0
- package/dist/feedback/toast/index.d.ts.map +1 -0
- package/dist/feedback/toast/toast.css?inline.cjs +2 -0
- package/dist/feedback/toast/toast.css?inline.cjs.map +1 -0
- package/dist/feedback/toast/toast.css?inline.js +6 -0
- package/dist/feedback/toast/toast.css?inline.js.map +1 -0
- package/dist/feedback/toast/toast.d.ts +127 -0
- package/dist/feedback/toast/toast.d.ts.map +1 -0
- package/dist/file-input.cjs +70 -0
- package/dist/file-input.cjs.map +1 -0
- package/dist/file-input.js +209 -0
- package/dist/file-input.js.map +1 -0
- package/dist/form.cjs +11 -0
- package/dist/form.cjs.map +1 -0
- package/dist/form.js +56 -0
- package/dist/form.js.map +1 -0
- package/dist/grid-item.cjs +2 -0
- package/dist/grid-item.cjs.map +1 -0
- package/dist/grid-item.js +35 -0
- package/dist/grid-item.js.map +1 -0
- package/dist/grid.cjs +2 -0
- package/dist/grid.cjs.map +1 -0
- package/dist/grid.js +90 -0
- package/dist/grid.js.map +1 -0
- package/dist/headless/_internal.d.ts +17 -0
- package/dist/headless/_internal.d.ts.map +1 -0
- package/dist/headless/announcer.cjs +2 -0
- package/dist/headless/announcer.cjs.map +1 -0
- package/dist/headless/announcer.d.ts +25 -0
- package/dist/headless/announcer.d.ts.map +1 -0
- package/dist/headless/announcer.js +24 -0
- package/dist/headless/announcer.js.map +1 -0
- package/dist/headless/checkable.cjs +2 -0
- package/dist/headless/checkable.cjs.map +1 -0
- package/dist/headless/checkable.d.ts +42 -0
- package/dist/headless/checkable.d.ts.map +1 -0
- package/dist/headless/checkable.js +36 -0
- package/dist/headless/checkable.js.map +1 -0
- package/dist/headless/choice-field.cjs +2 -0
- package/dist/headless/choice-field.cjs.map +1 -0
- package/dist/headless/choice-field.d.ts +36 -0
- package/dist/headless/choice-field.d.ts.map +1 -0
- package/dist/headless/choice-field.js +42 -0
- package/dist/headless/choice-field.js.map +1 -0
- package/dist/headless/datagrid.cjs +2 -0
- package/dist/headless/datagrid.cjs.map +1 -0
- package/dist/headless/datagrid.d.ts +158 -0
- package/dist/headless/datagrid.d.ts.map +1 -0
- package/dist/headless/datagrid.js +55 -0
- package/dist/headless/datagrid.js.map +1 -0
- package/dist/headless/date-picker.cjs +2 -0
- package/dist/headless/date-picker.cjs.map +1 -0
- package/dist/headless/date-picker.d.ts +114 -0
- package/dist/headless/date-picker.d.ts.map +1 -0
- package/dist/headless/date-picker.js +184 -0
- package/dist/headless/date-picker.js.map +1 -0
- package/dist/headless/dialog-focus.cjs +2 -0
- package/dist/headless/dialog-focus.cjs.map +1 -0
- package/dist/headless/dialog-focus.d.ts +40 -0
- package/dist/headless/dialog-focus.d.ts.map +1 -0
- package/dist/headless/dialog-focus.js +22 -0
- package/dist/headless/dialog-focus.js.map +1 -0
- package/dist/headless/direction.cjs +2 -0
- package/dist/headless/direction.cjs.map +1 -0
- package/dist/headless/direction.d.ts +11 -0
- package/dist/headless/direction.d.ts.map +1 -0
- package/dist/headless/direction.js +14 -0
- package/dist/headless/direction.js.map +1 -0
- package/dist/headless/field-base.cjs +2 -0
- package/dist/headless/field-base.cjs.map +1 -0
- package/dist/headless/field-base.d.ts +148 -0
- package/dist/headless/field-base.d.ts.map +1 -0
- package/dist/headless/field-base.js +46 -0
- package/dist/headless/field-base.js.map +1 -0
- package/dist/headless/focus-trap.cjs +2 -0
- package/dist/headless/focus-trap.cjs.map +1 -0
- package/dist/headless/focus-trap.d.ts +45 -0
- package/dist/headless/focus-trap.d.ts.map +1 -0
- package/dist/headless/focus-trap.js +51 -0
- package/dist/headless/focus-trap.js.map +1 -0
- package/dist/headless/focus.cjs +2 -0
- package/dist/headless/focus.cjs.map +1 -0
- package/dist/headless/focus.d.ts +34 -0
- package/dist/headless/focus.d.ts.map +1 -0
- package/dist/headless/focus.js +34 -0
- package/dist/headless/focus.js.map +1 -0
- package/dist/headless/index.d.ts +28 -0
- package/dist/headless/index.d.ts.map +1 -0
- package/dist/headless/keyboard.cjs +2 -0
- package/dist/headless/keyboard.cjs.map +1 -0
- package/dist/headless/keyboard.d.ts +52 -0
- package/dist/headless/keyboard.d.ts.map +1 -0
- package/dist/headless/keyboard.js +29 -0
- package/dist/headless/keyboard.js.map +1 -0
- package/dist/headless/light-dom.cjs +2 -0
- package/dist/headless/light-dom.cjs.map +1 -0
- package/dist/headless/light-dom.d.ts +12 -0
- package/dist/headless/light-dom.d.ts.map +1 -0
- package/dist/headless/light-dom.js +6 -0
- package/dist/headless/light-dom.js.map +1 -0
- package/dist/headless/nav.cjs +2 -0
- package/dist/headless/nav.cjs.map +1 -0
- package/dist/headless/nav.d.ts +66 -0
- package/dist/headless/nav.d.ts.map +1 -0
- package/dist/headless/nav.js +115 -0
- package/dist/headless/nav.js.map +1 -0
- package/dist/headless/numbers.cjs +2 -0
- package/dist/headless/numbers.cjs.map +1 -0
- package/dist/headless/numbers.d.ts +14 -0
- package/dist/headless/numbers.d.ts.map +1 -0
- package/dist/headless/numbers.js +9 -0
- package/dist/headless/numbers.js.map +1 -0
- package/dist/headless/option-list.cjs +2 -0
- package/dist/headless/option-list.cjs.map +1 -0
- package/dist/headless/option-list.d.ts +107 -0
- package/dist/headless/option-list.d.ts.map +1 -0
- package/dist/headless/option-list.js +66 -0
- package/dist/headless/option-list.js.map +1 -0
- package/dist/headless/ore.cjs +2 -0
- package/dist/headless/ore.cjs.map +1 -0
- package/dist/headless/ore.d.ts +20 -0
- package/dist/headless/ore.d.ts.map +1 -0
- package/dist/headless/ore.js +9 -0
- package/dist/headless/ore.js.map +1 -0
- package/dist/headless/overlay.cjs +2 -0
- package/dist/headless/overlay.cjs.map +1 -0
- package/dist/headless/overlay.d.ts +62 -0
- package/dist/headless/overlay.d.ts.map +1 -0
- package/dist/headless/overlay.js +29 -0
- package/dist/headless/overlay.js.map +1 -0
- package/dist/headless/paginated-list.cjs +2 -0
- package/dist/headless/paginated-list.cjs.map +1 -0
- package/dist/headless/paginated-list.d.ts +42 -0
- package/dist/headless/paginated-list.d.ts.map +1 -0
- package/dist/headless/paginated-list.js +34 -0
- package/dist/headless/paginated-list.js.map +1 -0
- package/dist/headless/parse.cjs +2 -0
- package/dist/headless/parse.cjs.map +1 -0
- package/dist/headless/parse.d.ts +15 -0
- package/dist/headless/parse.d.ts.map +1 -0
- package/dist/headless/parse.js +9 -0
- package/dist/headless/parse.js.map +1 -0
- package/dist/headless/positioner.cjs +2 -0
- package/dist/headless/positioner.cjs.map +1 -0
- package/dist/headless/positioner.d.ts +40 -0
- package/dist/headless/positioner.d.ts.map +1 -0
- package/dist/headless/positioner.js +38 -0
- package/dist/headless/positioner.js.map +1 -0
- package/dist/headless/selection-control.cjs +2 -0
- package/dist/headless/selection-control.cjs.map +1 -0
- package/dist/headless/selection-control.d.ts +30 -0
- package/dist/headless/selection-control.d.ts.map +1 -0
- package/dist/headless/selection-control.js +44 -0
- package/dist/headless/selection-control.js.map +1 -0
- package/dist/headless/signals.cjs +2 -0
- package/dist/headless/signals.cjs.map +1 -0
- package/dist/headless/signals.d.ts +20 -0
- package/dist/headless/signals.d.ts.map +1 -0
- package/dist/headless/signals.js +12 -0
- package/dist/headless/signals.js.map +1 -0
- package/dist/headless/slider.cjs +2 -0
- package/dist/headless/slider.cjs.map +1 -0
- package/dist/headless/slider.d.ts +28 -0
- package/dist/headless/slider.d.ts.map +1 -0
- package/dist/headless/slider.js +40 -0
- package/dist/headless/slider.js.map +1 -0
- package/dist/headless/sort-control.cjs +2 -0
- package/dist/headless/sort-control.cjs.map +1 -0
- package/dist/headless/sort-control.d.ts +22 -0
- package/dist/headless/sort-control.d.ts.map +1 -0
- package/dist/headless/sort-control.js +36 -0
- package/dist/headless/sort-control.js.map +1 -0
- package/dist/headless/spinner.cjs +2 -0
- package/dist/headless/spinner.cjs.map +1 -0
- package/dist/headless/spinner.d.ts +19 -0
- package/dist/headless/spinner.d.ts.map +1 -0
- package/dist/headless/spinner.js +52 -0
- package/dist/headless/spinner.js.map +1 -0
- package/dist/headless/swipe.cjs +2 -0
- package/dist/headless/swipe.cjs.map +1 -0
- package/dist/headless/swipe.d.ts +38 -0
- package/dist/headless/swipe.d.ts.map +1 -0
- package/dist/headless/swipe.js +58 -0
- package/dist/headless/swipe.js.map +1 -0
- package/dist/headless/text-field.cjs +2 -0
- package/dist/headless/text-field.cjs.map +1 -0
- package/dist/headless/text-field.d.ts +45 -0
- package/dist/headless/text-field.d.ts.map +1 -0
- package/dist/headless/text-field.js +41 -0
- package/dist/headless/text-field.js.map +1 -0
- package/dist/headless/typeahead.cjs +2 -0
- package/dist/headless/typeahead.cjs.map +1 -0
- package/dist/headless/typeahead.d.ts +53 -0
- package/dist/headless/typeahead.d.ts.map +1 -0
- package/dist/headless/typeahead.js +23 -0
- package/dist/headless/typeahead.js.map +1 -0
- package/dist/headless.cjs +1 -0
- package/dist/headless.js +26 -0
- package/dist/icon.cjs +2 -0
- package/dist/icon.cjs.map +1 -0
- package/dist/icon.js +87 -0
- package/dist/icon.js.map +1 -0
- package/dist/index.cjs +1 -0
- package/dist/index.d.ts +9 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +61 -0
- package/dist/input.cjs +67 -0
- package/dist/input.cjs.map +1 -0
- package/dist/input.js +184 -0
- package/dist/input.js.map +1 -0
- package/dist/inputs/button/button.css?inline.cjs +2 -0
- package/dist/inputs/button/button.css?inline.cjs.map +1 -0
- package/dist/inputs/button/button.css?inline.js +6 -0
- package/dist/inputs/button/button.css?inline.js.map +1 -0
- package/dist/inputs/button/button.d.ts +85 -0
- package/dist/inputs/button/button.d.ts.map +1 -0
- package/dist/inputs/button-group/button-group.css?inline.cjs +2 -0
- package/dist/inputs/button-group/button-group.css?inline.cjs.map +1 -0
- package/dist/inputs/button-group/button-group.css?inline.js +6 -0
- package/dist/inputs/button-group/button-group.css?inline.js.map +1 -0
- package/dist/inputs/button-group/button-group.d.ts +64 -0
- package/dist/inputs/button-group/button-group.d.ts.map +1 -0
- package/dist/inputs/calendar/calendar.css?inline.cjs +2 -0
- package/dist/inputs/calendar/calendar.css?inline.cjs.map +1 -0
- package/dist/inputs/calendar/calendar.css?inline.js +6 -0
- package/dist/inputs/calendar/calendar.css?inline.js.map +1 -0
- package/dist/inputs/calendar/calendar.d.ts +134 -0
- package/dist/inputs/calendar/calendar.d.ts.map +1 -0
- package/dist/inputs/checkbox/checkbox.css?inline.cjs +2 -0
- package/dist/inputs/checkbox/checkbox.css?inline.cjs.map +1 -0
- package/dist/inputs/checkbox/checkbox.css?inline.js +6 -0
- package/dist/inputs/checkbox/checkbox.css?inline.js.map +1 -0
- package/dist/inputs/checkbox/checkbox.d.ts +60 -0
- package/dist/inputs/checkbox/checkbox.d.ts.map +1 -0
- package/dist/inputs/checkbox-group/checkbox-group.css?inline.cjs +2 -0
- package/dist/inputs/checkbox-group/checkbox-group.css?inline.cjs.map +1 -0
- package/dist/inputs/checkbox-group/checkbox-group.css?inline.js +6 -0
- package/dist/inputs/checkbox-group/checkbox-group.css?inline.js.map +1 -0
- package/dist/inputs/checkbox-group/checkbox-group.d.ts +75 -0
- package/dist/inputs/checkbox-group/checkbox-group.d.ts.map +1 -0
- package/dist/inputs/combobox/combobox-options.cjs +2 -0
- package/dist/inputs/combobox/combobox-options.cjs.map +1 -0
- package/dist/inputs/combobox/combobox-options.d.ts +6 -0
- package/dist/inputs/combobox/combobox-options.d.ts.map +1 -0
- package/dist/inputs/combobox/combobox-options.js +26 -0
- package/dist/inputs/combobox/combobox-options.js.map +1 -0
- package/dist/inputs/combobox/combobox.css?inline.cjs +2 -0
- package/dist/inputs/combobox/combobox.css?inline.cjs.map +1 -0
- package/dist/inputs/combobox/combobox.css?inline.js +6 -0
- package/dist/inputs/combobox/combobox.css?inline.js.map +1 -0
- package/dist/inputs/combobox/combobox.d.ts +45 -0
- package/dist/inputs/combobox/combobox.d.ts.map +1 -0
- package/dist/inputs/combobox/combobox.types.d.ts +45 -0
- package/dist/inputs/combobox/combobox.types.d.ts.map +1 -0
- package/dist/inputs/datagrid/datagrid-column.cjs +2 -0
- package/dist/inputs/datagrid/datagrid-column.cjs.map +1 -0
- package/dist/inputs/datagrid/datagrid-column.d.ts +7 -0
- package/dist/inputs/datagrid/datagrid-column.d.ts.map +1 -0
- package/dist/inputs/datagrid/datagrid-column.js +31 -0
- package/dist/inputs/datagrid/datagrid-column.js.map +1 -0
- package/dist/inputs/datagrid/datagrid-controls.cjs +2 -0
- package/dist/inputs/datagrid/datagrid-controls.cjs.map +1 -0
- package/dist/inputs/datagrid/datagrid-controls.d.ts +98 -0
- package/dist/inputs/datagrid/datagrid-controls.d.ts.map +1 -0
- package/dist/inputs/datagrid/datagrid-controls.js +147 -0
- package/dist/inputs/datagrid/datagrid-controls.js.map +1 -0
- package/dist/inputs/datagrid/datagrid-nav.cjs +2 -0
- package/dist/inputs/datagrid/datagrid-nav.cjs.map +1 -0
- package/dist/inputs/datagrid/datagrid-nav.d.ts +33 -0
- package/dist/inputs/datagrid/datagrid-nav.d.ts.map +1 -0
- package/dist/inputs/datagrid/datagrid-nav.js +51 -0
- package/dist/inputs/datagrid/datagrid-nav.js.map +1 -0
- package/dist/inputs/datagrid/datagrid.css?inline.cjs +2 -0
- package/dist/inputs/datagrid/datagrid.css?inline.cjs.map +1 -0
- package/dist/inputs/datagrid/datagrid.css?inline.js +6 -0
- package/dist/inputs/datagrid/datagrid.css?inline.js.map +1 -0
- package/dist/inputs/datagrid/datagrid.d.ts +302 -0
- package/dist/inputs/datagrid/datagrid.d.ts.map +1 -0
- package/dist/inputs/date-picker/date-picker.css?inline.cjs +2 -0
- package/dist/inputs/date-picker/date-picker.css?inline.cjs.map +1 -0
- package/dist/inputs/date-picker/date-picker.css?inline.js +6 -0
- package/dist/inputs/date-picker/date-picker.css?inline.js.map +1 -0
- package/dist/inputs/date-picker/date-picker.d.ts +112 -0
- package/dist/inputs/date-picker/date-picker.d.ts.map +1 -0
- package/dist/inputs/file-input/file-input.css?inline.cjs +2 -0
- package/dist/inputs/file-input/file-input.css?inline.cjs.map +1 -0
- package/dist/inputs/file-input/file-input.css?inline.js +6 -0
- package/dist/inputs/file-input/file-input.css?inline.js.map +1 -0
- package/dist/inputs/file-input/file-input.d.ts +90 -0
- package/dist/inputs/file-input/file-input.d.ts.map +1 -0
- package/dist/inputs/form/form.css?inline.cjs +2 -0
- package/dist/inputs/form/form.css?inline.cjs.map +1 -0
- package/dist/inputs/form/form.css?inline.js +6 -0
- package/dist/inputs/form/form.css?inline.js.map +1 -0
- package/dist/inputs/form/form.d.ts +59 -0
- package/dist/inputs/form/form.d.ts.map +1 -0
- package/dist/inputs/index.d.ts +47 -0
- package/dist/inputs/index.d.ts.map +1 -0
- package/dist/inputs/input/input.css?inline.cjs +2 -0
- package/dist/inputs/input/input.css?inline.cjs.map +1 -0
- package/dist/inputs/input/input.css?inline.js +6 -0
- package/dist/inputs/input/input.css?inline.js.map +1 -0
- package/dist/inputs/input/input.d.ts +96 -0
- package/dist/inputs/input/input.d.ts.map +1 -0
- package/dist/inputs/number-input/number-input.css?inline.cjs +2 -0
- package/dist/inputs/number-input/number-input.css?inline.cjs.map +1 -0
- package/dist/inputs/number-input/number-input.css?inline.js +6 -0
- package/dist/inputs/number-input/number-input.css?inline.js.map +1 -0
- package/dist/inputs/number-input/number-input.d.ts +102 -0
- package/dist/inputs/number-input/number-input.d.ts.map +1 -0
- package/dist/inputs/otp-input/otp-input.css?inline.cjs +2 -0
- package/dist/inputs/otp-input/otp-input.css?inline.cjs.map +1 -0
- package/dist/inputs/otp-input/otp-input.css?inline.js +6 -0
- package/dist/inputs/otp-input/otp-input.css?inline.js.map +1 -0
- package/dist/inputs/otp-input/otp-input.d.ts +82 -0
- package/dist/inputs/otp-input/otp-input.d.ts.map +1 -0
- package/dist/inputs/radio/radio.css?inline.cjs +2 -0
- package/dist/inputs/radio/radio.css?inline.cjs.map +1 -0
- package/dist/inputs/radio/radio.css?inline.js +6 -0
- package/dist/inputs/radio/radio.css?inline.js.map +1 -0
- package/dist/inputs/radio/radio.d.ts +56 -0
- package/dist/inputs/radio/radio.d.ts.map +1 -0
- package/dist/inputs/radio-group/radio-group.css?inline.cjs +2 -0
- package/dist/inputs/radio-group/radio-group.css?inline.cjs.map +1 -0
- package/dist/inputs/radio-group/radio-group.css?inline.js +6 -0
- package/dist/inputs/radio-group/radio-group.css?inline.js.map +1 -0
- package/dist/inputs/radio-group/radio-group.d.ts +74 -0
- package/dist/inputs/radio-group/radio-group.d.ts.map +1 -0
- package/dist/inputs/rating/rating.css?inline.cjs +2 -0
- package/dist/inputs/rating/rating.css?inline.cjs.map +1 -0
- package/dist/inputs/rating/rating.css?inline.js +6 -0
- package/dist/inputs/rating/rating.css?inline.js.map +1 -0
- package/dist/inputs/rating/rating.d.ts +68 -0
- package/dist/inputs/rating/rating.d.ts.map +1 -0
- package/dist/inputs/select/select.css?inline.cjs +2 -0
- package/dist/inputs/select/select.css?inline.cjs.map +1 -0
- package/dist/inputs/select/select.css?inline.js +6 -0
- package/dist/inputs/select/select.css?inline.js.map +1 -0
- package/dist/inputs/select/select.d.ts +89 -0
- package/dist/inputs/select/select.d.ts.map +1 -0
- package/dist/inputs/shared/field-binding.cjs +2 -0
- package/dist/inputs/shared/field-binding.cjs.map +1 -0
- package/dist/inputs/shared/field-binding.d.ts +31 -0
- package/dist/inputs/shared/field-binding.d.ts.map +1 -0
- package/dist/inputs/shared/field-binding.js +31 -0
- package/dist/inputs/shared/field-binding.js.map +1 -0
- package/dist/inputs/shared/form-context.cjs +2 -0
- package/dist/inputs/shared/form-context.cjs.map +1 -0
- package/dist/inputs/shared/form-context.d.ts +49 -0
- package/dist/inputs/shared/form-context.d.ts.map +1 -0
- package/dist/inputs/shared/form-context.js +15 -0
- package/dist/inputs/shared/form-context.js.map +1 -0
- package/dist/inputs/shared/index.d.ts +5 -0
- package/dist/inputs/shared/index.d.ts.map +1 -0
- package/dist/inputs/shared/templates.cjs +11 -0
- package/dist/inputs/shared/templates.cjs.map +1 -0
- package/dist/inputs/shared/templates.d.ts +13 -0
- package/dist/inputs/shared/templates.d.ts.map +1 -0
- package/dist/inputs/shared/templates.js +18 -0
- package/dist/inputs/shared/templates.js.map +1 -0
- package/dist/inputs/shared/use-form-action.cjs +2 -0
- package/dist/inputs/shared/use-form-action.cjs.map +1 -0
- package/dist/inputs/shared/use-form-action.d.ts +17 -0
- package/dist/inputs/shared/use-form-action.d.ts.map +1 -0
- package/dist/inputs/shared/use-form-action.js +19 -0
- package/dist/inputs/shared/use-form-action.js.map +1 -0
- package/dist/inputs/slider/slider.css?inline.cjs +2 -0
- package/dist/inputs/slider/slider.css?inline.cjs.map +1 -0
- package/dist/inputs/slider/slider.css?inline.js +6 -0
- package/dist/inputs/slider/slider.css?inline.js.map +1 -0
- package/dist/inputs/slider/slider.d.ts +95 -0
- package/dist/inputs/slider/slider.d.ts.map +1 -0
- package/dist/inputs/switch/switch.css?inline.cjs +2 -0
- package/dist/inputs/switch/switch.css?inline.cjs.map +1 -0
- package/dist/inputs/switch/switch.css?inline.js +6 -0
- package/dist/inputs/switch/switch.css?inline.js.map +1 -0
- package/dist/inputs/switch/switch.d.ts +56 -0
- package/dist/inputs/switch/switch.d.ts.map +1 -0
- package/dist/inputs/textarea/textarea.css?inline.cjs +2 -0
- package/dist/inputs/textarea/textarea.css?inline.cjs.map +1 -0
- package/dist/inputs/textarea/textarea.css?inline.js +6 -0
- package/dist/inputs/textarea/textarea.css?inline.js.map +1 -0
- package/dist/inputs/textarea/textarea.d.ts +91 -0
- package/dist/inputs/textarea/textarea.d.ts.map +1 -0
- package/dist/inputs/time-picker/time-picker.css?inline.cjs +2 -0
- package/dist/inputs/time-picker/time-picker.css?inline.cjs.map +1 -0
- package/dist/inputs/time-picker/time-picker.css?inline.js +6 -0
- package/dist/inputs/time-picker/time-picker.css?inline.js.map +1 -0
- package/dist/inputs/time-picker/time-picker.d.ts +103 -0
- package/dist/inputs/time-picker/time-picker.d.ts.map +1 -0
- package/dist/layout/box/box.css?inline.cjs +2 -0
- package/dist/layout/box/box.css?inline.cjs.map +1 -0
- package/dist/layout/box/box.css?inline.js +6 -0
- package/dist/layout/box/box.css?inline.js.map +1 -0
- package/dist/layout/box/box.d.ts +52 -0
- package/dist/layout/box/box.d.ts.map +1 -0
- package/dist/layout/grid/grid.css?inline.cjs +2 -0
- package/dist/layout/grid/grid.css?inline.cjs.map +1 -0
- package/dist/layout/grid/grid.css?inline.js +6 -0
- package/dist/layout/grid/grid.css?inline.js.map +1 -0
- package/dist/layout/grid/grid.d.ts +105 -0
- package/dist/layout/grid/grid.d.ts.map +1 -0
- package/dist/layout/grid-item/grid-item.css?inline.cjs +2 -0
- package/dist/layout/grid-item/grid-item.css?inline.cjs.map +1 -0
- package/dist/layout/grid-item/grid-item.css?inline.js +6 -0
- package/dist/layout/grid-item/grid-item.css?inline.js.map +1 -0
- package/dist/layout/grid-item/grid-item.d.ts +54 -0
- package/dist/layout/grid-item/grid-item.d.ts.map +1 -0
- package/dist/layout/index.d.ts +11 -0
- package/dist/layout/index.d.ts.map +1 -0
- package/dist/layout/navbar/navbar.css?inline.cjs +2 -0
- package/dist/layout/navbar/navbar.css?inline.cjs.map +1 -0
- package/dist/layout/navbar/navbar.css?inline.js +6 -0
- package/dist/layout/navbar/navbar.css?inline.js.map +1 -0
- package/dist/layout/navbar/navbar.d.ts +153 -0
- package/dist/layout/navbar/navbar.d.ts.map +1 -0
- package/dist/layout/sidebar/sidebar-group.css?inline.cjs +2 -0
- package/dist/layout/sidebar/sidebar-group.css?inline.cjs.map +1 -0
- package/dist/layout/sidebar/sidebar-group.css?inline.js +6 -0
- package/dist/layout/sidebar/sidebar-group.css?inline.js.map +1 -0
- package/dist/layout/sidebar/sidebar-item.css?inline.cjs +2 -0
- package/dist/layout/sidebar/sidebar-item.css?inline.cjs.map +1 -0
- package/dist/layout/sidebar/sidebar-item.css?inline.js +6 -0
- package/dist/layout/sidebar/sidebar-item.css?inline.js.map +1 -0
- package/dist/layout/sidebar/sidebar.css?inline.cjs +2 -0
- package/dist/layout/sidebar/sidebar.css?inline.cjs.map +1 -0
- package/dist/layout/sidebar/sidebar.css?inline.js +6 -0
- package/dist/layout/sidebar/sidebar.css?inline.js.map +1 -0
- package/dist/layout/sidebar/sidebar.d.ts +226 -0
- package/dist/layout/sidebar/sidebar.d.ts.map +1 -0
- package/dist/menu.cjs +30 -0
- package/dist/menu.cjs.map +1 -0
- package/dist/menu.js +197 -0
- package/dist/menu.js.map +1 -0
- package/dist/navbar.cjs +68 -0
- package/dist/navbar.cjs.map +1 -0
- package/dist/navbar.js +283 -0
- package/dist/navbar.js.map +1 -0
- package/dist/number-input.cjs +40 -0
- package/dist/number-input.cjs.map +1 -0
- package/dist/number-input.js +141 -0
- package/dist/number-input.js.map +1 -0
- package/dist/ore/dist/_dev.cjs +2 -0
- package/dist/ore/dist/_dev.cjs.map +1 -0
- package/dist/ore/dist/_dev.js +12 -0
- package/dist/ore/dist/_dev.js.map +1 -0
- package/dist/ore/dist/aria.cjs +2 -0
- package/dist/ore/dist/aria.cjs.map +1 -0
- package/dist/ore/dist/aria.js +37 -0
- package/dist/ore/dist/aria.js.map +1 -0
- package/dist/ore/dist/base-element.cjs +2 -0
- package/dist/ore/dist/base-element.cjs.map +1 -0
- package/dist/ore/dist/base-element.js +146 -0
- package/dist/ore/dist/base-element.js.map +1 -0
- package/dist/ore/dist/context-bag.cjs +2 -0
- package/dist/ore/dist/context-bag.cjs.map +1 -0
- package/dist/ore/dist/context-bag.js +28 -0
- package/dist/ore/dist/context-bag.js.map +1 -0
- package/dist/ore/dist/context.cjs +2 -0
- package/dist/ore/dist/context.cjs.map +1 -0
- package/dist/ore/dist/context.js +38 -0
- package/dist/ore/dist/context.js.map +1 -0
- package/dist/ore/dist/define.cjs +2 -0
- package/dist/ore/dist/define.cjs.map +1 -0
- package/dist/ore/dist/define.js +27 -0
- package/dist/ore/dist/define.js.map +1 -0
- package/dist/ore/dist/directives/classMap.cjs +1 -0
- package/dist/ore/dist/directives/classMap.js +1 -0
- package/dist/ore/dist/directives/each.cjs +1 -0
- package/dist/ore/dist/directives/each.js +5 -0
- package/dist/ore/dist/directives/live.cjs +2 -0
- package/dist/ore/dist/directives/live.cjs.map +1 -0
- package/dist/ore/dist/directives/live.js +6 -0
- package/dist/ore/dist/directives/live.js.map +1 -0
- package/dist/ore/dist/directives/model.cjs +1 -0
- package/dist/ore/dist/directives/model.js +3 -0
- package/dist/ore/dist/directives/raw.cjs +2 -0
- package/dist/ore/dist/directives/raw.cjs.map +1 -0
- package/dist/ore/dist/directives/raw.js +35 -0
- package/dist/ore/dist/directives/raw.js.map +1 -0
- package/dist/ore/dist/directives/styleMap.cjs +2 -0
- package/dist/ore/dist/directives/styleMap.cjs.map +1 -0
- package/dist/ore/dist/directives/styleMap.js +20 -0
- package/dist/ore/dist/directives/styleMap.js.map +1 -0
- package/dist/ore/dist/directives/when.cjs +2 -0
- package/dist/ore/dist/directives/when.cjs.map +1 -0
- package/dist/ore/dist/directives/when.js +33 -0
- package/dist/ore/dist/directives/when.js.map +1 -0
- package/dist/ore/dist/directives.cjs +1 -0
- package/dist/ore/dist/directives.js +8 -0
- package/dist/ore/dist/errors.cjs +3 -0
- package/dist/ore/dist/errors.cjs.map +1 -0
- package/dist/ore/dist/errors.js +41 -0
- package/dist/ore/dist/errors.js.map +1 -0
- package/dist/ore/dist/host-bind.cjs +2 -0
- package/dist/ore/dist/host-bind.cjs.map +1 -0
- package/dist/ore/dist/host-bind.js +60 -0
- package/dist/ore/dist/host-bind.js.map +1 -0
- package/dist/ore/dist/observers/intersection-observe.cjs +2 -0
- package/dist/ore/dist/observers/intersection-observe.cjs.map +1 -0
- package/dist/ore/dist/observers/intersection-observe.js +12 -0
- package/dist/ore/dist/observers/intersection-observe.js.map +1 -0
- package/dist/ore/dist/observers/media-observe.cjs +1 -0
- package/dist/ore/dist/observers/media-observe.js +1 -0
- package/dist/ore/dist/observers/mutation-observe.cjs +1 -0
- package/dist/ore/dist/observers/mutation-observe.js +1 -0
- package/dist/ore/dist/observers/resize-observe.cjs +2 -0
- package/dist/ore/dist/observers/resize-observe.cjs.map +1 -0
- package/dist/ore/dist/observers/resize-observe.js +20 -0
- package/dist/ore/dist/observers/resize-observe.js.map +1 -0
- package/dist/ore/dist/observers.cjs +1 -0
- package/dist/ore/dist/observers.js +5 -0
- package/dist/ore/dist/props.cjs +2 -0
- package/dist/ore/dist/props.cjs.map +1 -0
- package/dist/ore/dist/props.js +54 -0
- package/dist/ore/dist/props.js.map +1 -0
- package/dist/ore/dist/runtime.cjs +2 -0
- package/dist/ore/dist/runtime.cjs.map +1 -0
- package/dist/ore/dist/runtime.js +33 -0
- package/dist/ore/dist/runtime.js.map +1 -0
- package/dist/ore/dist/slots.cjs +2 -0
- package/dist/ore/dist/slots.cjs.map +1 -0
- package/dist/ore/dist/slots.js +61 -0
- package/dist/ore/dist/slots.js.map +1 -0
- package/dist/ore/dist/testing/flush.cjs +2 -0
- package/dist/ore/dist/testing/flush.cjs.map +1 -0
- package/dist/ore/dist/testing/flush.js +11 -0
- package/dist/ore/dist/testing/flush.js.map +1 -0
- package/dist/ore/dist/testing/mount.cjs +2 -0
- package/dist/ore/dist/testing/mount.cjs.map +1 -0
- package/dist/ore/dist/testing/mount.js +94 -0
- package/dist/ore/dist/testing/mount.js.map +1 -0
- package/dist/ore/dist/testing/query.cjs +2 -0
- package/dist/ore/dist/testing/query.cjs.map +1 -0
- package/dist/ore/dist/testing/query.js +12 -0
- package/dist/ore/dist/testing/query.js.map +1 -0
- package/dist/ore/dist/testing/render-hook.cjs +1 -0
- package/dist/ore/dist/testing/render-hook.js +4 -0
- package/dist/ore/dist/testing/testing.cjs +1 -0
- package/dist/ore/dist/testing/testing.js +4 -0
- package/dist/ore/dist/testing/wait.cjs +1 -0
- package/dist/ore/dist/testing/wait.js +1 -0
- package/dist/ore/dist/testing.cjs +1 -0
- package/dist/ore/dist/testing.js +6 -0
- package/dist/ore/dist/types/bindings.cjs +2 -0
- package/dist/ore/dist/types/bindings.cjs.map +1 -0
- package/dist/ore/dist/types/bindings.js +15 -0
- package/dist/ore/dist/types/bindings.js.map +1 -0
- package/dist/ore/dist/types.cjs +2 -0
- package/dist/ore/dist/types.cjs.map +1 -0
- package/dist/ore/dist/types.js +15 -0
- package/dist/ore/dist/types.js.map +1 -0
- package/dist/ore/dist/utils/aria.cjs +2 -0
- package/dist/ore/dist/utils/aria.cjs.map +1 -0
- package/dist/ore/dist/utils/aria.js +6 -0
- package/dist/ore/dist/utils/aria.js.map +1 -0
- package/dist/ore/dist/utils/css.cjs +2 -0
- package/dist/ore/dist/utils/css.cjs.map +1 -0
- package/dist/ore/dist/utils/css.js +18 -0
- package/dist/ore/dist/utils/css.js.map +1 -0
- package/dist/ore/dist/utils/dom.cjs +2 -0
- package/dist/ore/dist/utils/dom.cjs.map +1 -0
- package/dist/ore/dist/utils/dom.js +47 -0
- package/dist/ore/dist/utils/dom.js.map +1 -0
- package/dist/ore/dist/utils/emit.cjs +2 -0
- package/dist/ore/dist/utils/emit.cjs.map +1 -0
- package/dist/ore/dist/utils/emit.js +16 -0
- package/dist/ore/dist/utils/emit.js.map +1 -0
- package/dist/ore/dist/utils/id.cjs +2 -0
- package/dist/ore/dist/utils/id.cjs.map +1 -0
- package/dist/ore/dist/utils/id.js +4 -0
- package/dist/ore/dist/utils/id.js.map +1 -0
- package/dist/otp-input.cjs +21 -0
- package/dist/otp-input.cjs.map +1 -0
- package/dist/otp-input.js +145 -0
- package/dist/otp-input.js.map +1 -0
- package/dist/overlay/dialog/dialog.css?inline.cjs +2 -0
- package/dist/overlay/dialog/dialog.css?inline.cjs.map +1 -0
- package/dist/overlay/dialog/dialog.css?inline.js +6 -0
- package/dist/overlay/dialog/dialog.css?inline.js.map +1 -0
- package/dist/overlay/dialog/dialog.d.ts +108 -0
- package/dist/overlay/dialog/dialog.d.ts.map +1 -0
- package/dist/overlay/drawer/drawer.css?inline.cjs +2 -0
- package/dist/overlay/drawer/drawer.css?inline.cjs.map +1 -0
- package/dist/overlay/drawer/drawer.css?inline.js +6 -0
- package/dist/overlay/drawer/drawer.css?inline.js.map +1 -0
- package/dist/overlay/drawer/drawer.d.ts +111 -0
- package/dist/overlay/drawer/drawer.d.ts.map +1 -0
- package/dist/overlay/index.d.ts +11 -0
- package/dist/overlay/index.d.ts.map +1 -0
- package/dist/overlay/menu/menu-item.css?inline.cjs +2 -0
- package/dist/overlay/menu/menu-item.css?inline.cjs.map +1 -0
- package/dist/overlay/menu/menu-item.css?inline.js +6 -0
- package/dist/overlay/menu/menu-item.css?inline.js.map +1 -0
- package/dist/overlay/menu/menu-separator.css?inline.cjs +2 -0
- package/dist/overlay/menu/menu-separator.css?inline.cjs.map +1 -0
- package/dist/overlay/menu/menu-separator.css?inline.js +6 -0
- package/dist/overlay/menu/menu-separator.css?inline.js.map +1 -0
- package/dist/overlay/menu/menu.css?inline.cjs +2 -0
- package/dist/overlay/menu/menu.css?inline.cjs.map +1 -0
- package/dist/overlay/menu/menu.css?inline.js +6 -0
- package/dist/overlay/menu/menu.css?inline.js.map +1 -0
- package/dist/overlay/menu/menu.d.ts +110 -0
- package/dist/overlay/menu/menu.d.ts.map +1 -0
- package/dist/overlay/popover/popover.css?inline.cjs +2 -0
- package/dist/overlay/popover/popover.css?inline.cjs.map +1 -0
- package/dist/overlay/popover/popover.css?inline.js +6 -0
- package/dist/overlay/popover/popover.css?inline.js.map +1 -0
- package/dist/overlay/popover/popover.d.ts +56 -0
- package/dist/overlay/popover/popover.d.ts.map +1 -0
- package/dist/overlay/shared/await-exit.cjs +2 -0
- package/dist/overlay/shared/await-exit.cjs.map +1 -0
- package/dist/overlay/shared/await-exit.d.ts +14 -0
- package/dist/overlay/shared/await-exit.d.ts.map +1 -0
- package/dist/overlay/shared/await-exit.js +18 -0
- package/dist/overlay/shared/await-exit.js.map +1 -0
- package/dist/overlay/shared/background-lock.cjs +2 -0
- package/dist/overlay/shared/background-lock.cjs.map +1 -0
- package/dist/overlay/shared/background-lock.d.ts +22 -0
- package/dist/overlay/shared/background-lock.d.ts.map +1 -0
- package/dist/overlay/shared/background-lock.js +25 -0
- package/dist/overlay/shared/background-lock.js.map +1 -0
- package/dist/overlay/shared/use-dialog.cjs +2 -0
- package/dist/overlay/shared/use-dialog.cjs.map +1 -0
- package/dist/overlay/shared/use-dialog.d.ts +76 -0
- package/dist/overlay/shared/use-dialog.d.ts.map +1 -0
- package/dist/overlay/shared/use-dialog.js +92 -0
- package/dist/overlay/shared/use-dialog.js.map +1 -0
- package/dist/overlay/shared/use-floating-trigger.cjs +2 -0
- package/dist/overlay/shared/use-floating-trigger.cjs.map +1 -0
- package/dist/overlay/shared/use-floating-trigger.d.ts +67 -0
- package/dist/overlay/shared/use-floating-trigger.d.ts.map +1 -0
- package/dist/overlay/shared/use-floating-trigger.js +128 -0
- package/dist/overlay/shared/use-floating-trigger.js.map +1 -0
- package/dist/overlay/tooltip/tooltip.css?inline.cjs +2 -0
- package/dist/overlay/tooltip/tooltip.css?inline.cjs.map +1 -0
- package/dist/overlay/tooltip/tooltip.css?inline.js +6 -0
- package/dist/overlay/tooltip/tooltip.css?inline.js.map +1 -0
- package/dist/overlay/tooltip/tooltip.d.ts +72 -0
- package/dist/overlay/tooltip/tooltip.d.ts.map +1 -0
- package/dist/pagination.cjs +63 -0
- package/dist/pagination.cjs.map +1 -0
- package/dist/pagination.js +113 -0
- package/dist/pagination.js.map +1 -0
- package/dist/password-strength.cjs +19 -0
- package/dist/password-strength.cjs.map +1 -0
- package/dist/password-strength.js +69 -0
- package/dist/password-strength.js.map +1 -0
- package/dist/popover.cjs +16 -0
- package/dist/popover.cjs.map +1 -0
- package/dist/popover.js +81 -0
- package/dist/popover.js.map +1 -0
- package/dist/progress.cjs +46 -0
- package/dist/progress.cjs.map +1 -0
- package/dist/progress.js +96 -0
- package/dist/progress.js.map +1 -0
- package/dist/radio-group.cjs +25 -0
- package/dist/radio-group.cjs.map +1 -0
- package/dist/radio-group.js +145 -0
- package/dist/radio-group.js.map +1 -0
- package/dist/radio.cjs +10 -0
- package/dist/radio.cjs.map +1 -0
- package/dist/radio.js +146 -0
- package/dist/radio.js.map +1 -0
- package/dist/rating.cjs +28 -0
- package/dist/rating.cjs.map +1 -0
- package/dist/rating.js +123 -0
- package/dist/rating.js.map +1 -0
- package/dist/refine.cjs +2705 -0
- package/dist/refine.cjs.map +1 -0
- package/dist/refine.iife.js +2705 -0
- package/dist/refine.iife.js.map +1 -0
- package/dist/refine.js +2705 -0
- package/dist/refine.js.map +1 -0
- package/dist/select.cjs +79 -0
- package/dist/select.cjs.map +1 -0
- package/dist/select.js +289 -0
- package/dist/select.js.map +1 -0
- package/dist/separator.cjs +27 -0
- package/dist/separator.cjs.map +1 -0
- package/dist/separator.js +47 -0
- package/dist/separator.js.map +1 -0
- package/dist/shared/index.d.ts +14 -0
- package/dist/shared/index.d.ts.map +1 -0
- package/dist/shared/prop-bundles.cjs +2 -0
- package/dist/shared/prop-bundles.cjs.map +1 -0
- package/dist/shared/prop-bundles.d.ts +45 -0
- package/dist/shared/prop-bundles.d.ts.map +1 -0
- package/dist/shared/prop-bundles.js +13 -0
- package/dist/shared/prop-bundles.js.map +1 -0
- package/dist/shared/size-presets.cjs +2 -0
- package/dist/shared/size-presets.cjs.map +1 -0
- package/dist/shared/size-presets.d.ts +101 -0
- package/dist/shared/size-presets.d.ts.map +1 -0
- package/dist/shared/size-presets.js +96 -0
- package/dist/shared/size-presets.js.map +1 -0
- package/dist/shared/types.d.ts +76 -0
- package/dist/shared/types.d.ts.map +1 -0
- package/dist/sidebar.cjs +123 -0
- package/dist/sidebar.cjs.map +1 -0
- package/dist/sidebar.js +344 -0
- package/dist/sidebar.js.map +1 -0
- package/dist/skeleton.cjs +10 -0
- package/dist/skeleton.cjs.map +1 -0
- package/dist/skeleton.js +59 -0
- package/dist/skeleton.js.map +1 -0
- package/dist/slider.cjs +27 -0
- package/dist/slider.cjs.map +1 -0
- package/dist/slider.js +219 -0
- package/dist/slider.js.map +1 -0
- package/dist/styles/animation.css +94 -0
- package/dist/styles/index.cjs +2 -0
- package/dist/styles/index.cjs.map +1 -0
- package/dist/styles/index.d.ts +41 -0
- package/dist/styles/index.d.ts.map +1 -0
- package/dist/styles/index.js +24 -0
- package/dist/styles/index.js.map +1 -0
- package/dist/styles/layer.css +19 -0
- package/dist/styles/mixins/accessibility.css.cjs +51 -0
- package/dist/styles/mixins/accessibility.css.cjs.map +1 -0
- package/dist/styles/mixins/accessibility.css.d.ts +80 -0
- package/dist/styles/mixins/accessibility.css.d.ts.map +1 -0
- package/dist/styles/mixins/accessibility.css.js +56 -0
- package/dist/styles/mixins/accessibility.css.js.map +1 -0
- package/dist/styles/mixins/animation.css.cjs +133 -0
- package/dist/styles/mixins/animation.css.cjs.map +1 -0
- package/dist/styles/mixins/animation.css.d.ts +43 -0
- package/dist/styles/mixins/animation.css.d.ts.map +1 -0
- package/dist/styles/mixins/animation.css.js +166 -0
- package/dist/styles/mixins/animation.css.js.map +1 -0
- package/dist/styles/mixins/shape.css.cjs +66 -0
- package/dist/styles/mixins/shape.css.cjs.map +1 -0
- package/dist/styles/mixins/shape.css.d.ts +96 -0
- package/dist/styles/mixins/shape.css.d.ts.map +1 -0
- package/dist/styles/mixins/shape.css.js +98 -0
- package/dist/styles/mixins/shape.css.js.map +1 -0
- package/dist/styles/mixins/states.css.cjs +37 -0
- package/dist/styles/mixins/states.css.cjs.map +1 -0
- package/dist/styles/mixins/states.css.d.ts +27 -0
- package/dist/styles/mixins/states.css.d.ts.map +1 -0
- package/dist/styles/mixins/states.css.js +44 -0
- package/dist/styles/mixins/states.css.js.map +1 -0
- package/dist/styles/mixins/table-base.css.cjs +94 -0
- package/dist/styles/mixins/table-base.css.cjs.map +1 -0
- package/dist/styles/mixins/table-base.css.d.ts +24 -0
- package/dist/styles/mixins/table-base.css.d.ts.map +1 -0
- package/dist/styles/mixins/table-base.css.js +99 -0
- package/dist/styles/mixins/table-base.css.js.map +1 -0
- package/dist/styles/mixins/theme.css.cjs +80 -0
- package/dist/styles/mixins/theme.css.cjs.map +1 -0
- package/dist/styles/mixins/theme.css.d.ts +77 -0
- package/dist/styles/mixins/theme.css.d.ts.map +1 -0
- package/dist/styles/mixins/theme.css.js +98 -0
- package/dist/styles/mixins/theme.css.js.map +1 -0
- package/dist/styles/mixins/variants.css.cjs +55 -0
- package/dist/styles/mixins/variants.css.cjs.map +1 -0
- package/dist/styles/mixins/variants.css.d.ts +22 -0
- package/dist/styles/mixins/variants.css.d.ts.map +1 -0
- package/dist/styles/mixins/variants.css.js +60 -0
- package/dist/styles/mixins/variants.css.js.map +1 -0
- package/dist/styles/preflight.css +239 -0
- package/dist/styles/styles.css +5 -0
- package/dist/styles/theme.css +553 -0
- package/dist/switch.cjs +10 -0
- package/dist/switch.cjs.map +1 -0
- package/dist/switch.js +79 -0
- package/dist/switch.js.map +1 -0
- package/dist/tab-item.cjs +17 -0
- package/dist/tab-item.cjs.map +1 -0
- package/dist/tab-item.js +62 -0
- package/dist/tab-item.js.map +1 -0
- package/dist/tab-panel.cjs +14 -0
- package/dist/tab-panel.cjs.map +1 -0
- package/dist/tab-panel.js +61 -0
- package/dist/tab-panel.js.map +1 -0
- package/dist/table.cjs +2 -0
- package/dist/table.cjs.map +1 -0
- package/dist/table.js +101 -0
- package/dist/table.js.map +1 -0
- package/dist/tabs.cjs +17 -0
- package/dist/tabs.cjs.map +1 -0
- package/dist/tabs.js +126 -0
- package/dist/tabs.js.map +1 -0
- package/dist/testing/index.d.ts +233 -0
- package/dist/testing/index.d.ts.map +1 -0
- package/dist/testing.cjs +2 -0
- package/dist/testing.cjs.map +1 -0
- package/dist/testing.js +44 -0
- package/dist/testing.js.map +1 -0
- package/dist/text.cjs +2 -0
- package/dist/text.cjs.map +1 -0
- package/dist/text.js +34 -0
- package/dist/text.js.map +1 -0
- package/dist/textarea.cjs +33 -0
- package/dist/textarea.cjs.map +1 -0
- package/dist/textarea.js +137 -0
- package/dist/textarea.js.map +1 -0
- package/dist/time-picker.cjs +98 -0
- package/dist/time-picker.cjs.map +1 -0
- package/dist/time-picker.js +261 -0
- package/dist/time-picker.js.map +1 -0
- package/dist/toast.cjs +69 -0
- package/dist/toast.cjs.map +1 -0
- package/dist/toast.js +316 -0
- package/dist/toast.js.map +1 -0
- package/dist/tooltip.cjs +15 -0
- package/dist/tooltip.cjs.map +1 -0
- package/dist/tooltip.js +121 -0
- package/dist/tooltip.js.map +1 -0
- package/dist/types/index.d.ts +2 -0
- package/dist/types/index.d.ts.map +1 -0
- package/dist/utils/css.cjs +2 -0
- package/dist/utils/css.cjs.map +1 -0
- package/dist/utils/css.d.ts +10 -0
- package/dist/utils/css.d.ts.map +1 -0
- package/dist/utils/css.js +10 -0
- package/dist/utils/css.js.map +1 -0
- package/dist/utils/index.d.ts +3 -0
- package/dist/utils/index.d.ts.map +1 -0
- package/dist/utils/link.cjs +2 -0
- package/dist/utils/link.cjs.map +1 -0
- package/dist/utils/link.d.ts +44 -0
- package/dist/utils/link.d.ts.map +1 -0
- package/dist/utils/link.js +19 -0
- package/dist/utils/link.js.map +1 -0
- package/package.json +464 -0
package/dist/combobox.js
ADDED
|
@@ -0,0 +1,444 @@
|
|
|
1
|
+
import { reducedMotionMixin as e, srOnlyMixin as t } from "./styles/mixins/accessibility.css.js";
|
|
2
|
+
import { lifecycleSignal as n } from "./headless/ore.js";
|
|
3
|
+
import { createChoiceField as r } from "./headless/choice-field.js";
|
|
4
|
+
import { createInteraction as i } from "./headless/keyboard.js";
|
|
5
|
+
import { createOptionList as ee } from "./headless/option-list.js";
|
|
6
|
+
import { FORM_CTX as te, useFormContext as ne } from "./inputs/shared/form-context.js";
|
|
7
|
+
import { filterOptions as a, getCreatableLabel as re, makeCreatableValue as ie, parseSlottedOptions as ae } from "./inputs/combobox/combobox-options.js";
|
|
8
|
+
import o from "./inputs/combobox/combobox.css?inline.js";
|
|
9
|
+
import { define as s, html as c, inject as oe, prop as l, ref as se, useField as ce } from "@vielzeug/ore";
|
|
10
|
+
import { computed as u, signal as d } from "@vielzeug/ripple";
|
|
11
|
+
//#region src/inputs/combobox/combobox.ts
|
|
12
|
+
var f = "ore-combobox";
|
|
13
|
+
s(f, {
|
|
14
|
+
formAssociated: !0,
|
|
15
|
+
props: {
|
|
16
|
+
autoclose: l.bool(!1),
|
|
17
|
+
color: l.string(),
|
|
18
|
+
creatable: l.bool(!1),
|
|
19
|
+
disabled: l.bool(!1),
|
|
20
|
+
error: l.string(),
|
|
21
|
+
fullwidth: l.bool(!1),
|
|
22
|
+
helper: l.string(),
|
|
23
|
+
label: l.string(),
|
|
24
|
+
"label-placement": l.oneOf(["inset", "outside"], "inset"),
|
|
25
|
+
loading: l.bool(!1),
|
|
26
|
+
multiple: l.bool(!1),
|
|
27
|
+
name: l.string(),
|
|
28
|
+
"no-filter": l.bool(!1),
|
|
29
|
+
options: l.data(),
|
|
30
|
+
placeholder: l.string("Select..."),
|
|
31
|
+
rounded: l.string(),
|
|
32
|
+
size: l.string(),
|
|
33
|
+
value: l.string(),
|
|
34
|
+
variant: l.string()
|
|
35
|
+
},
|
|
36
|
+
setup(e, { bind: t, el: o, emit: s, onCleanup: l, onElement: f, watch: p }) {
|
|
37
|
+
let m = oe(te), h = ne(t, e, m), g = d(""), _ = null, v = null, y = null, b = null, x = se(), S = n(l), C = null, w = r({
|
|
38
|
+
disabled: h.disabled,
|
|
39
|
+
error: e.error,
|
|
40
|
+
getFormField: () => C,
|
|
41
|
+
helper: e.helper,
|
|
42
|
+
label: e.label,
|
|
43
|
+
labelPlacement: e["label-placement"],
|
|
44
|
+
multiple: e.multiple,
|
|
45
|
+
prefix: "combobox",
|
|
46
|
+
signal: S,
|
|
47
|
+
validateOn: m?.validateOn,
|
|
48
|
+
value: e.value
|
|
49
|
+
}), T = d([]), E = ee({
|
|
50
|
+
getBoundary: () => o,
|
|
51
|
+
getFocusedOptionElement: () => y?.querySelector("[data-focused]") ?? null,
|
|
52
|
+
getItems: () => T.value,
|
|
53
|
+
getOptionId: (e) => `${w.fieldId}-opt-${e}`,
|
|
54
|
+
getPanel: () => y,
|
|
55
|
+
getReference: () => v,
|
|
56
|
+
getTrigger: () => _,
|
|
57
|
+
isDisabled: () => w.disabled.value,
|
|
58
|
+
onClose: (e) => {
|
|
59
|
+
s("close", { reason: e }), S.aborted || be(), w.triggerValidation("blur");
|
|
60
|
+
},
|
|
61
|
+
onOpen: (e) => s("open", { reason: e }),
|
|
62
|
+
restoreFocus: !1,
|
|
63
|
+
signal: S
|
|
64
|
+
}), { disabled: D, fieldId: O, selectedValues: k, triggerValidation: A } = w;
|
|
65
|
+
C = ce({
|
|
66
|
+
disabled: w.disabled,
|
|
67
|
+
toFormValue: (e) => e,
|
|
68
|
+
value: w.formValue
|
|
69
|
+
});
|
|
70
|
+
let { focusedIndex: j, isOpen: M, scrollFocusedIntoView: le, updatePosition: ue } = E, N = () => !!e.multiple.value, de = () => !!e.creatable.value, fe = () => !!e["no-filter"].value;
|
|
71
|
+
t({ attr: {
|
|
72
|
+
open: () => M.value ? !0 : void 0,
|
|
73
|
+
size: h.size,
|
|
74
|
+
variant: h.variant
|
|
75
|
+
} });
|
|
76
|
+
let P = null, F = !1, I = u(() => k.value[0] ?? "");
|
|
77
|
+
Object.defineProperty(o, "value", {
|
|
78
|
+
configurable: !0,
|
|
79
|
+
get: () => N() ? k.value : I.value,
|
|
80
|
+
set: (e) => {
|
|
81
|
+
let t = e;
|
|
82
|
+
if (Array.isArray(t)) {
|
|
83
|
+
w.setValues(t.map((e) => String(e ?? "")));
|
|
84
|
+
return;
|
|
85
|
+
}
|
|
86
|
+
if (t == null || t === "") {
|
|
87
|
+
w.clear();
|
|
88
|
+
return;
|
|
89
|
+
}
|
|
90
|
+
w.setValues([String(t)]);
|
|
91
|
+
}
|
|
92
|
+
});
|
|
93
|
+
let pe = () => k.value.length > 0;
|
|
94
|
+
function L() {
|
|
95
|
+
_?.focus();
|
|
96
|
+
}
|
|
97
|
+
let R = d([]), z = d([]), me = () => !!e.loading.value;
|
|
98
|
+
function he(e) {
|
|
99
|
+
return {
|
|
100
|
+
disabled: !!e.disabled,
|
|
101
|
+
iconEl: e.iconEl ?? null,
|
|
102
|
+
label: e.label ?? e.value,
|
|
103
|
+
value: e.value
|
|
104
|
+
};
|
|
105
|
+
}
|
|
106
|
+
let B = u(() => {
|
|
107
|
+
let t = e.options.value, n = Array.isArray(t) ? t.map(he) : R.value;
|
|
108
|
+
return z.value.length === 0 ? n : [...n, ...z.value];
|
|
109
|
+
}), V = {
|
|
110
|
+
clear: () => {
|
|
111
|
+
w.clear();
|
|
112
|
+
},
|
|
113
|
+
remove: (e) => {
|
|
114
|
+
w.removeValue(e);
|
|
115
|
+
},
|
|
116
|
+
select: (e) => {
|
|
117
|
+
w.selectValue(e);
|
|
118
|
+
},
|
|
119
|
+
toggle: (e) => {
|
|
120
|
+
w.toggleValue(e);
|
|
121
|
+
}
|
|
122
|
+
};
|
|
123
|
+
function H(e = Array.from(o.children)) {
|
|
124
|
+
if (R.value = ae(e), !N()) {
|
|
125
|
+
let e = B.value.find((e) => e.value === I.value);
|
|
126
|
+
g.value = e?.label ?? I.value;
|
|
127
|
+
}
|
|
128
|
+
}
|
|
129
|
+
H(), p(() => {
|
|
130
|
+
let e = a(B.value, g.value, fe());
|
|
131
|
+
T.value = N() ? e.filter((e) => !k.value.includes(e.value)) : e;
|
|
132
|
+
});
|
|
133
|
+
let U = u(() => re(g.value, de(), T.value)), ge = () => N() && k.value.length > 0 ? "" : e.placeholder.value || "", _e = u(() => k.value), ve = u(() => k.value.map((e) => B.value.find((t) => t.value === e)?.label ?? e));
|
|
134
|
+
function W(e) {
|
|
135
|
+
s("change", {
|
|
136
|
+
labels: ve.value,
|
|
137
|
+
originalEvent: e,
|
|
138
|
+
values: _e.value
|
|
139
|
+
});
|
|
140
|
+
}
|
|
141
|
+
function ye(e) {
|
|
142
|
+
e.stopPropagation();
|
|
143
|
+
let t = e.detail?.value;
|
|
144
|
+
t !== void 0 && (V.remove(t), W(e), A("change"));
|
|
145
|
+
}
|
|
146
|
+
function be() {
|
|
147
|
+
if (!N()) {
|
|
148
|
+
let e = B.value.find((e) => e.value === I.value);
|
|
149
|
+
F = !0, g.value = e?.label ?? "", Promise.resolve().then(() => {
|
|
150
|
+
F = !1;
|
|
151
|
+
});
|
|
152
|
+
return;
|
|
153
|
+
}
|
|
154
|
+
g.value = "";
|
|
155
|
+
}
|
|
156
|
+
p(() => {
|
|
157
|
+
if (M.value && !N() && I.value && j.value === -1 && g.value === "") {
|
|
158
|
+
let e = T.value.findIndex((e) => e.value === I.value);
|
|
159
|
+
e >= 0 && E.set(e);
|
|
160
|
+
}
|
|
161
|
+
});
|
|
162
|
+
function G(e = !0, t = "programmatic") {
|
|
163
|
+
if (e && (P = g.value, g.value = ""), !N() && I.value) {
|
|
164
|
+
let e = a(B.value, "", fe()).findIndex((e) => e.value === I.value);
|
|
165
|
+
e >= 0 && E.set(e);
|
|
166
|
+
}
|
|
167
|
+
E.open(t), !N() && I.value && j.value >= 0 && requestAnimationFrame(() => {
|
|
168
|
+
le();
|
|
169
|
+
});
|
|
170
|
+
}
|
|
171
|
+
function K(e = "programmatic") {
|
|
172
|
+
E.close(e);
|
|
173
|
+
}
|
|
174
|
+
let xe = i({
|
|
175
|
+
disabled: D,
|
|
176
|
+
onPress: () => {
|
|
177
|
+
M.value || G(!0, "click"), L();
|
|
178
|
+
}
|
|
179
|
+
}), Se = i({
|
|
180
|
+
disabled: D,
|
|
181
|
+
keys: ["Enter"],
|
|
182
|
+
onPress: (e) => {
|
|
183
|
+
let t = T.value;
|
|
184
|
+
M.value && j.value >= 0 && j.value < t.length ? q(t[j.value], e) : M.value && j.value === -1 && U.value ? Ee(g.value, e) : M.value || G(!0, "keyboard");
|
|
185
|
+
}
|
|
186
|
+
});
|
|
187
|
+
function q(t, n) {
|
|
188
|
+
t.disabled || (N() ? (V.toggle(t.value), g.value = "", W(n), A("change"), e.autoclose.value && K(), L(), requestAnimationFrame(() => L())) : (V.select(t.value), g.value = t.label, W(n), A("change"), K(), L()));
|
|
189
|
+
}
|
|
190
|
+
function J(e) {
|
|
191
|
+
let t = e.getAttribute("data-option-index"), n = t ? Number(t) : -1;
|
|
192
|
+
if (Number.isInteger(n) && n >= 0 && n < T.value.length) return T.value[n] ?? null;
|
|
193
|
+
let r = e.getAttribute("data-option-value");
|
|
194
|
+
if (r) {
|
|
195
|
+
let e = T.value.find((e) => e.value === r);
|
|
196
|
+
if (e) return e;
|
|
197
|
+
}
|
|
198
|
+
let i = e.querySelector("span")?.textContent?.trim() ?? e.textContent?.trim() ?? "";
|
|
199
|
+
return i ? T.value.find((e) => e.label === i || e.value === i) ?? null : null;
|
|
200
|
+
}
|
|
201
|
+
function Ce(e) {
|
|
202
|
+
e.stopPropagation(), V.clear(), g.value = "", W(e), A("change"), L();
|
|
203
|
+
}
|
|
204
|
+
function Y(e) {
|
|
205
|
+
let t = e.target, n = t.value;
|
|
206
|
+
if (!F && n !== g.value) {
|
|
207
|
+
if (g.value = n, !N()) {
|
|
208
|
+
let e = k.value[0], t = e ? B.value.find((t) => t.value === e)?.label ?? e : "";
|
|
209
|
+
n === "" && P === t && (P = null);
|
|
210
|
+
}
|
|
211
|
+
E.navigate("first"), M.value || G(!1, "keyboard"), s("search", { query: t.value });
|
|
212
|
+
}
|
|
213
|
+
}
|
|
214
|
+
function we() {}
|
|
215
|
+
function Te(e) {
|
|
216
|
+
if (!D.value && !E.handleKeydown(e)) switch (e.key) {
|
|
217
|
+
case "ArrowDown":
|
|
218
|
+
e.preventDefault(), M.value ? E.navigate("next") : (G(!0, "keyboard"), E.navigate("first"));
|
|
219
|
+
break;
|
|
220
|
+
case "ArrowUp":
|
|
221
|
+
e.preventDefault(), M.value ? E.navigate("prev") : G(!0, "keyboard");
|
|
222
|
+
break;
|
|
223
|
+
case "Backspace":
|
|
224
|
+
N() && !g.value && k.value.length > 0 && (w.removeValue(k.value[k.value.length - 1] ?? ""), W(e), A("change"));
|
|
225
|
+
break;
|
|
226
|
+
case "Enter":
|
|
227
|
+
Se.handleKeydown(e);
|
|
228
|
+
break;
|
|
229
|
+
case "Tab":
|
|
230
|
+
K("programmatic");
|
|
231
|
+
break;
|
|
232
|
+
default: break;
|
|
233
|
+
}
|
|
234
|
+
}
|
|
235
|
+
function Ee(e, t) {
|
|
236
|
+
let n = e.trim();
|
|
237
|
+
if (!n) return;
|
|
238
|
+
let r = {
|
|
239
|
+
disabled: !1,
|
|
240
|
+
iconEl: null,
|
|
241
|
+
label: n,
|
|
242
|
+
value: ie(n)
|
|
243
|
+
};
|
|
244
|
+
z.value = [...z.value, r], q(r, t);
|
|
245
|
+
}
|
|
246
|
+
let De = (() => {
|
|
247
|
+
let e = new MutationObserver(() => {
|
|
248
|
+
H();
|
|
249
|
+
});
|
|
250
|
+
return e.observe(o, {
|
|
251
|
+
attributeFilter: [
|
|
252
|
+
"disabled",
|
|
253
|
+
"label",
|
|
254
|
+
"value"
|
|
255
|
+
],
|
|
256
|
+
attributes: !0,
|
|
257
|
+
childList: !0,
|
|
258
|
+
subtree: !0
|
|
259
|
+
}), () => e.disconnect();
|
|
260
|
+
})(), Oe = (e) => {
|
|
261
|
+
let t = e.target;
|
|
262
|
+
if (!(t instanceof Element)) return;
|
|
263
|
+
let n = t.closest(".option");
|
|
264
|
+
if (!n) return;
|
|
265
|
+
let r = J(n);
|
|
266
|
+
if (!r || r.disabled) return;
|
|
267
|
+
let i = T.value.findIndex((e) => e.value === r.value);
|
|
268
|
+
i >= 0 && E.set(i);
|
|
269
|
+
}, X = o.shadowRoot;
|
|
270
|
+
X && X.addEventListener("pointermove", Oe);
|
|
271
|
+
let Z = (e) => {
|
|
272
|
+
let t = (e) => {
|
|
273
|
+
let t = e.target;
|
|
274
|
+
if (!(t instanceof Element)) return;
|
|
275
|
+
if (t.closest(".no-results-create")) {
|
|
276
|
+
e.preventDefault(), e.stopPropagation(), Ee(g.value, e);
|
|
277
|
+
return;
|
|
278
|
+
}
|
|
279
|
+
let n = t.closest(".option");
|
|
280
|
+
if (!n) return;
|
|
281
|
+
e.preventDefault(), e.stopPropagation();
|
|
282
|
+
let r = J(n);
|
|
283
|
+
r && q(r, e);
|
|
284
|
+
}, n = (e) => {
|
|
285
|
+
let t = e.target;
|
|
286
|
+
if (!(t instanceof Element)) return;
|
|
287
|
+
let n = t.closest(".option");
|
|
288
|
+
if (!n) return;
|
|
289
|
+
let r = J(n);
|
|
290
|
+
if (!r) return;
|
|
291
|
+
let i = T.value.findIndex((e) => e.value === r.value);
|
|
292
|
+
i >= 0 && E.set(i);
|
|
293
|
+
};
|
|
294
|
+
return e.addEventListener("click", t), e.addEventListener("pointermove", n), () => {
|
|
295
|
+
e.removeEventListener("click", t), e.removeEventListener("pointermove", n);
|
|
296
|
+
};
|
|
297
|
+
}, Q = null, $ = null, ke = (e) => {
|
|
298
|
+
b = e, $ !== e && (Q?.(), Q = null, $ = null, e && (Q = Z(e), $ = e));
|
|
299
|
+
}, Ae = () => {
|
|
300
|
+
b && ($ === b && Q || (Q?.(), Q = Z(b), $ = b));
|
|
301
|
+
};
|
|
302
|
+
return p(() => {
|
|
303
|
+
Ae(), M.value ? (y && "showPopover" in y && !y.matches(":popover-open") && y.showPopover(), ue()) : y && "hidePopover" in y && y.matches(":popover-open") && y.hidePopover();
|
|
304
|
+
}), f(x, (e) => {
|
|
305
|
+
v = e;
|
|
306
|
+
let t = e.shadowRoot?.querySelector("input") ?? null;
|
|
307
|
+
if (!t) return;
|
|
308
|
+
_ = t, t.setAttribute("role", "combobox"), t.setAttribute("autocomplete", "off"), t.setAttribute("aria-autocomplete", "list"), t.setAttribute("aria-haspopup", "listbox"), t.setAttribute("spellcheck", "false"), t.setAttribute("aria-controls", `${O}-listbox`);
|
|
309
|
+
let n = () => {
|
|
310
|
+
M.value || G(!0, "click"), L();
|
|
311
|
+
};
|
|
312
|
+
return t.addEventListener("input", Y), t.addEventListener("keydown", Te), t.addEventListener("focus", we), t.addEventListener("click", n), () => {
|
|
313
|
+
_ = null, v = null, t.removeEventListener("input", Y), t.removeEventListener("keydown", Te), t.removeEventListener("focus", we), t.removeEventListener("click", n);
|
|
314
|
+
};
|
|
315
|
+
}), p(() => {
|
|
316
|
+
if (!x.value) return;
|
|
317
|
+
let t = _;
|
|
318
|
+
t && (t.setAttribute("aria-expanded", String(M.value)), D.value ? t.setAttribute("aria-disabled", "true") : t.removeAttribute("aria-disabled"), e.error.value ? (t.setAttribute("aria-invalid", "true"), t.setAttribute("aria-errormessage", `${O}-error`)) : (t.removeAttribute("aria-invalid"), t.removeAttribute("aria-errormessage")));
|
|
319
|
+
}), p(() => {
|
|
320
|
+
if (!x.value) return;
|
|
321
|
+
let e = _;
|
|
322
|
+
e && e.value !== g.value && (e.value = g.value);
|
|
323
|
+
}), l(() => {
|
|
324
|
+
X?.removeEventListener("pointermove", Oe), Q?.(), Q = null, $ = null, De();
|
|
325
|
+
}), c`
|
|
326
|
+
<slot></slot>
|
|
327
|
+
<ore-input
|
|
328
|
+
class="trigger"
|
|
329
|
+
ref=${x}
|
|
330
|
+
:label="${() => e.label.value ?? ""}"
|
|
331
|
+
:placeholder="${ge}"
|
|
332
|
+
:label-placement="${() => e["label-placement"].value ?? "inset"}"
|
|
333
|
+
:color="${() => e.color?.value ?? void 0}"
|
|
334
|
+
:size="${() => h.size?.value ?? void 0}"
|
|
335
|
+
:variant="${() => h.variant?.value ?? void 0}"
|
|
336
|
+
:rounded="${() => e.rounded?.value ?? void 0}"
|
|
337
|
+
:helper="${() => e.helper.value ?? ""}"
|
|
338
|
+
:error="${() => e.error.value ?? ""}"
|
|
339
|
+
?disabled="${D}"
|
|
340
|
+
?required="${() => !1}"
|
|
341
|
+
?fullwidth="${() => e.fullwidth.value ? !0 : void 0}"
|
|
342
|
+
:name="${() => e.name.value ?? ""}"
|
|
343
|
+
@click="${(e) => {
|
|
344
|
+
xe.handleClick(e);
|
|
345
|
+
}}"
|
|
346
|
+
part="wrapper">
|
|
347
|
+
<div slot="prefix" class="chips-row">
|
|
348
|
+
<!-- Keep chip list diffing isolated so input node identity stays stable. -->
|
|
349
|
+
<span class="chips-list">
|
|
350
|
+
${() => (N() ? k.value : []).map((t) => c`
|
|
351
|
+
<ore-chip
|
|
352
|
+
value=${t}
|
|
353
|
+
label=${B.value.find((e) => e.value === t)?.label ?? t}
|
|
354
|
+
mode="removable"
|
|
355
|
+
variant="flat"
|
|
356
|
+
size="sm"
|
|
357
|
+
color="${e.color}"
|
|
358
|
+
@remove=${ye}>
|
|
359
|
+
${B.value.find((e) => e.value === t)?.label ?? t}
|
|
360
|
+
</ore-chip>
|
|
361
|
+
`)}
|
|
362
|
+
</span>
|
|
363
|
+
</div>
|
|
364
|
+
<span slot="suffix" class="combobox-suffix" aria-hidden="true">
|
|
365
|
+
<button
|
|
366
|
+
class="clear-btn"
|
|
367
|
+
part="clear-btn"
|
|
368
|
+
type="button"
|
|
369
|
+
aria-label="Clear"
|
|
370
|
+
tabindex="-1"
|
|
371
|
+
?hidden=${() => !pe()}
|
|
372
|
+
@click="${Ce}">
|
|
373
|
+
<ore-icon name="x" size="12" stroke-width="2.5" aria-hidden="true"></ore-icon>
|
|
374
|
+
</button>
|
|
375
|
+
<span class="combobox-suffix-end">
|
|
376
|
+
<span class="loader"></span>
|
|
377
|
+
<span class="chevron">
|
|
378
|
+
<ore-icon name="chevron-down" size="14" stroke-width="2" aria-hidden="true"></ore-icon>
|
|
379
|
+
</span>
|
|
380
|
+
</span>
|
|
381
|
+
</span>
|
|
382
|
+
</ore-input>
|
|
383
|
+
<span
|
|
384
|
+
class="sr-only"
|
|
385
|
+
id="${() => `${O}-error`}"
|
|
386
|
+
role="alert"
|
|
387
|
+
aria-live="assertive"
|
|
388
|
+
?hidden="${() => !e.error.value}"
|
|
389
|
+
>${() => e.error.value ?? ""}</span
|
|
390
|
+
>
|
|
391
|
+
<div
|
|
392
|
+
class="dropdown"
|
|
393
|
+
part="dropdown"
|
|
394
|
+
id="${() => `${O}-dropdown`}"
|
|
395
|
+
popover="manual"
|
|
396
|
+
?data-open=${() => M.value}
|
|
397
|
+
ref=${(e) => {
|
|
398
|
+
y = e;
|
|
399
|
+
}}>
|
|
400
|
+
<div
|
|
401
|
+
role="listbox"
|
|
402
|
+
id="${() => `${O}-listbox`}"
|
|
403
|
+
:style="${() => M.value && T.value.length > 0 ? `height:${T.value.length * 36}px;` : ""}"
|
|
404
|
+
aria-label="${() => e.label.value || e.placeholder.value || "Options"}"
|
|
405
|
+
ref=${(e) => {
|
|
406
|
+
ke(e);
|
|
407
|
+
}}>
|
|
408
|
+
${() => M.value ? me() ? c`<div class="dropdown-loading">Loading...</div>` : T.value.length === 0 ? U.value ? c`<button
|
|
409
|
+
type="button"
|
|
410
|
+
class="no-results-create"
|
|
411
|
+
?data-focused=${() => j.value === -1}>
|
|
412
|
+
${U.value}
|
|
413
|
+
</button>` : c`<div class="no-results" role="presentation">No results found</div>` : T.value.map((e, t) => c`<div
|
|
414
|
+
class="option"
|
|
415
|
+
role="option"
|
|
416
|
+
id="${`${O}-opt-${t}`}"
|
|
417
|
+
data-option-index="${t}"
|
|
418
|
+
data-option-value="${e.value}"
|
|
419
|
+
:aria-selected="${() => String(N() ? k.value.includes(e.value) : I.value === e.value)}"
|
|
420
|
+
aria-disabled="${String(e.disabled)}"
|
|
421
|
+
style="${`position:absolute;top:0;left:0;right:0;transform:translateY(${t * 36}px);`}"
|
|
422
|
+
?data-focused=${() => j.value === t}
|
|
423
|
+
?data-selected=${() => N() ? k.value.includes(e.value) : I.value === e.value}
|
|
424
|
+
?data-disabled=${e.disabled}>
|
|
425
|
+
<span>${e.label}</span>
|
|
426
|
+
<span class="option-check" aria-hidden="true"
|
|
427
|
+
><ore-icon name="check" size="14" stroke-width="2.5" aria-hidden="true"></ore-icon
|
|
428
|
+
></span>
|
|
429
|
+
</div>`) : ""}
|
|
430
|
+
</div>
|
|
431
|
+
</div>
|
|
432
|
+
`;
|
|
433
|
+
},
|
|
434
|
+
shadow: { delegatesFocus: !0 },
|
|
435
|
+
styles: [
|
|
436
|
+
e,
|
|
437
|
+
t,
|
|
438
|
+
o
|
|
439
|
+
]
|
|
440
|
+
});
|
|
441
|
+
//#endregion
|
|
442
|
+
export { f as COMBOBOX_TAG };
|
|
443
|
+
|
|
444
|
+
//# sourceMappingURL=combobox.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"combobox.js","names":[],"sources":["../src/inputs/combobox/combobox.ts"],"sourcesContent":["import { define, useField, html, inject, prop, ref } from '@vielzeug/ore';\nimport { computed, signal } from '@vielzeug/ripple';\n\nimport type { AddEventListeners, ComponentSize, RoundedSize, ThemeColor } from '../../types';\nimport type { OreComboboxEvents, OreComboboxProps, ComboboxOptionInput, ComboboxOptionItem } from './combobox.types';\n\nimport {\n lifecycleSignal,\n createChoiceField,\n createInteraction,\n createOptionList,\n type DialogCloseReason,\n type OverlayOpenReason,\n} from '../../headless';\nimport { reducedMotionMixin, srOnlyMixin } from '../../styles';\nimport { FORM_CTX, useFormContext } from '../shared/form-context';\nimport { filterOptions, getCreatableLabel, makeCreatableValue, parseSlottedOptions } from './combobox-options';\nimport '../../feedback/chip/chip';\nimport '../input/input';\nimport componentStyles from './combobox.css?inline';\n\nexport type { OreComboboxEvents, OreComboboxProps } from './combobox.types';\n\n/**\n * A searchable select field with multiple selection, custom option creation, and large-list support.\n *\n * @element ore-combobox\n *\n * @attr {string} value - Selected value(s). Use comma-separated for multiple.\n * @attr {boolean} multiple - Enable multiple selection\n * @attr {boolean} creatable - Allow users to create custom options from search query\n * @attr {boolean} no-filter - Disable client-side filtering (useful for server-side search)\n * @attr {string} placeholder - Placeholder text\n *\n * @fires {CustomEvent} change - Emitted when selection changes. detail: { value: string | string[], values: string[], labels: string[] }\n * @fires {CustomEvent} search - Emitted when user types. detail: { query: string }\n *\n * @slot - Slotted combobox options and option groups\n * @cssprop --combobox-dropdown-bg - Dropdown panel background color\n * @cssprop --combobox-dropdown-border-color - Dropdown panel border color\n * @cssprop --combobox-option-hover-bg - Option background on hover\n * @cssprop --combobox-option-focus-bg - Option background when keyboard-focused\n * @cssprop --combobox-option-selected-bg - Option background when selected\n * @cssprop --combobox-option-selected-focus-bg - Option background when selected and focused\n * @cssprop --input-bg - Field background (passed through to ore-input)\n * @cssprop --input-border-color - Field border color (passed through to ore-input)\n *\n * @part wrapper - Root wrapper around the entire field\n * @part label - Label element shown inside or outside the field\n * @part field - Field container that holds the trigger input and clear button\n * @part input - Search input used to filter and select options\n * @part clear-btn - Button that clears the current selection/query\n * @part dropdown - Popup list container for options\n * @part helper-text - Helper text displayed below the field\n * @example\n * ```html\n * <ore-combobox label=\"Country\" name=\"country\">\n * <ore-combobox-option value=\"us\">United States</ore-combobox-option>\n * <ore-combobox-option value=\"gb\">United Kingdom</ore-combobox-option>\n * <ore-combobox-option value=\"de\" disabled>Germany</ore-combobox-option>\n * </ore-combobox>\n * ```\n */\nexport const COMBOBOX_TAG = 'ore-combobox' as const;\ndefine<OreComboboxProps, OreComboboxEvents>(COMBOBOX_TAG, {\n formAssociated: true,\n props: {\n autoclose: prop.bool(false),\n color: prop.string<ThemeColor>(),\n creatable: prop.bool(false),\n disabled: prop.bool(false),\n error: prop.string(),\n fullwidth: prop.bool(false),\n helper: prop.string(),\n label: prop.string(),\n 'label-placement': prop.oneOf(['inset', 'outside'] as const, 'inset'),\n loading: prop.bool(false),\n multiple: prop.bool(false),\n name: prop.string(),\n 'no-filter': prop.bool(false),\n options: prop.data<ComboboxOptionInput[]>(),\n placeholder: prop.string('Select...'),\n rounded: prop.string<RoundedSize>(),\n size: prop.string<ComponentSize>(),\n value: prop.string(),\n variant: prop.string<'flat' | 'solid' | 'bordered' | 'outline' | 'ghost'>(),\n },\n setup(props, { bind, el, emit, onCleanup, onElement, watch }) {\n const formCtx = inject(FORM_CTX);\n const fCtxProps = useFormContext(bind, props, formCtx);\n const query = signal('');\n\n // Element refs needed by the composite option-list factory.\n let inputEl: HTMLInputElement | null = null;\n let fieldEl: HTMLElement | null = null; // set to the ore-input host once it mounts\n let dropdownEl: HTMLElement | null = null;\n let listboxEl: HTMLElement | null = null;\n\n // Ref to the ore-input host; resolved when the template renders.\n const bitInputRef = ref<HTMLElement>();\n\n const abortSignal = lifecycleSignal(onCleanup);\n let _formField: { reportValidity(): void } | null = null;\n const choice = createChoiceField({\n disabled: fCtxProps.disabled,\n error: props.error,\n getFormField: () => _formField,\n helper: props.helper,\n label: props.label,\n labelPlacement: props['label-placement'],\n multiple: props.multiple,\n prefix: 'combobox',\n signal: abortSignal,\n validateOn: formCtx?.validateOn,\n value: props.value,\n });\n\n // filteredOptions signal declared before optionList so the getItems getter\n // captures the live signal reference rather than needing a factory indirection.\n const filteredOptions = signal<ComboboxOptionItem[]>([]);\n\n const optionList = createOptionList<ComboboxOptionItem>({\n getBoundary: () => el,\n getFocusedOptionElement: () => dropdownEl?.querySelector<HTMLElement>('[data-focused]') ?? null,\n getItems: () => filteredOptions.value,\n getOptionId: (index) => `${choice.fieldId}-opt-${index}`,\n getPanel: () => dropdownEl,\n getReference: () => fieldEl,\n getTrigger: () => inputEl,\n isDisabled: () => choice.disabled.value,\n onClose: (reason) => {\n emit('close', { reason });\n\n if (!abortSignal.aborted) restoreQueryFromSelection();\n\n choice.triggerValidation('blur');\n },\n onOpen: (reason) => emit('open', { reason }),\n restoreFocus: false,\n signal: abortSignal,\n });\n\n const { disabled: isDisabled, fieldId: comboId, selectedValues, triggerValidation } = choice;\n\n _formField = useField<string>({ disabled: choice.disabled, toFormValue: (v) => v, value: choice.formValue });\n\n const { focusedIndex, isOpen, scrollFocusedIntoView, updatePosition } = optionList;\n // ── State ────────────────────────────────────────────────────────────────\n const isMultiple = () => Boolean(props.multiple.value);\n const isCreatable = () => Boolean(props.creatable.value);\n const isNoFilter = () => Boolean(props['no-filter'].value);\n\n bind({\n attr: {\n open: () => (isOpen.value ? true : undefined),\n size: fCtxProps.size,\n variant: fCtxProps.variant,\n },\n });\n\n let lastQueryBeforeClear: string | null = null;\n let isRestoringQuery = false;\n\n // Convenience getter for single-select\n const selectedValue = computed(() => selectedValues.value[0] ?? '');\n\n // Expose .value as a JS property accessor on the host element\n Object.defineProperty(el, 'value', {\n configurable: true,\n get: () => (isMultiple() ? selectedValues.value : selectedValue.value),\n set: (val: unknown) => {\n const v = val as string | string[] | null | undefined;\n\n if (Array.isArray(v)) {\n choice.setValues(v.map((entry) => String(entry ?? '')));\n\n return;\n }\n\n if (v == null || v === '') {\n choice.clear();\n\n return;\n }\n\n choice.setValues([String(v)]);\n },\n });\n\n const hasValue = () => selectedValues.value.length > 0;\n\n function focusLiveInput() {\n inputEl?.focus();\n }\n\n // ── Options ──────────────────────────────────────────────────────────────\n const slottedOptions = signal<ComboboxOptionItem[]>([]);\n const createdOptions = signal<ComboboxOptionItem[]>([]);\n const isLoading = () => Boolean(props.loading.value);\n\n function normalizeOption(option: ComboboxOptionInput): ComboboxOptionItem {\n return {\n disabled: Boolean(option.disabled),\n iconEl: option.iconEl ?? null,\n label: option.label ?? option.value,\n value: option.value,\n };\n }\n\n // Merged options: explicit prop value overrides slotted options.\n const allOptions = computed<ComboboxOptionItem[]>(() => {\n const optionsProp = props.options.value;\n const base = Array.isArray(optionsProp) ? optionsProp.map(normalizeOption) : slottedOptions.value;\n\n if (createdOptions.value.length === 0) return base;\n\n return [...base, ...createdOptions.value];\n });\n\n const selectionController = {\n clear: () => {\n choice.clear();\n },\n remove: (key: string) => {\n choice.removeValue(key);\n },\n select: (key: string) => {\n choice.selectValue(key);\n },\n toggle: (key: string) => {\n choice.toggleValue(key);\n },\n };\n\n function readOptions(elements: Element[] = Array.from(el.children)) {\n slottedOptions.value = parseSlottedOptions(elements);\n\n if (!isMultiple()) {\n const match = allOptions.value.find((option) => option.value === selectedValue.value);\n\n query.value = match?.label ?? selectedValue.value;\n }\n }\n\n // Initialize from light DOM immediately; onMounted/observer keep this in sync afterwards.\n readOptions();\n\n watch(() => {\n const nextOptions = filterOptions(allOptions.value, query.value, isNoFilter());\n\n filteredOptions.value = isMultiple()\n ? nextOptions.filter((option) => !selectedValues.value.includes(option.value))\n : nextOptions;\n });\n\n // \"Create\" option shown when creatable + query doesn't match any existing option\n const creatableLabel = computed(() => {\n return getCreatableLabel(query.value, isCreatable(), filteredOptions.value);\n });\n const inputPlaceholder = () =>\n isMultiple() && selectedValues.value.length > 0 ? '' : props.placeholder.value || '';\n\n const selectedValueItems = computed(() => selectedValues.value);\n const selectedLabelItems = computed(() =>\n selectedValues.value.map((value) => allOptions.value.find((option) => option.value === value)?.label ?? value),\n );\n\n function emitChange(originalEvent?: Event) {\n emit('change', { labels: selectedLabelItems.value, originalEvent, values: selectedValueItems.value });\n }\n\n function removeChip(event: Event): void {\n event.stopPropagation();\n\n const value = (event as CustomEvent<{ value?: string }>).detail?.value;\n\n if (value === undefined) return;\n\n selectionController.remove(value);\n emitChange(event);\n triggerValidation('change');\n }\n\n function restoreQueryFromSelection() {\n // Keep input text and selected value in sync whenever the popup closes.\n if (!isMultiple()) {\n const match = allOptions.value.find((option) => option.value === selectedValue.value);\n\n isRestoringQuery = true;\n query.value = match?.label ?? '';\n Promise.resolve().then(() => {\n isRestoringQuery = false;\n });\n\n return;\n }\n\n query.value = '';\n }\n\n watch(() => {\n if (isOpen.value && !isMultiple() && selectedValue.value && focusedIndex.value === -1 && query.value === '') {\n const selectedIndex = filteredOptions.value.findIndex((option) => option.value === selectedValue.value);\n\n if (selectedIndex >= 0) {\n optionList.set(selectedIndex);\n }\n }\n });\n\n // ── Open / Close ─────────────────────────────────────────────────────────\n function openPopup(clearFilter = true, reason: OverlayOpenReason = 'programmatic') {\n if (clearFilter) {\n lastQueryBeforeClear = query.value;\n query.value = '';\n }\n\n // Pre-compute focused index BEFORE opening so the first render has it set\n if (!isMultiple() && selectedValue.value) {\n const freshOptions = filterOptions(allOptions.value, '', isNoFilter());\n const selectedIndex = freshOptions.findIndex((option) => option.value === selectedValue.value);\n\n if (selectedIndex >= 0) {\n optionList.set(selectedIndex);\n }\n }\n\n optionList.open(reason);\n\n if (!isMultiple() && selectedValue.value && focusedIndex.value >= 0) {\n requestAnimationFrame(() => {\n scrollFocusedIntoView();\n });\n }\n }\n\n function closePopup(reason: DialogCloseReason = 'programmatic') {\n optionList.close(reason);\n }\n\n const fieldPress = createInteraction({\n disabled: isDisabled,\n onPress: () => {\n if (!isOpen.value) openPopup(true, 'click');\n\n focusLiveInput();\n },\n });\n\n const enterPress = createInteraction({\n disabled: isDisabled,\n keys: ['Enter'],\n onPress: (originalEvent: Event) => {\n const opts = filteredOptions.value;\n\n if (isOpen.value && focusedIndex.value >= 0 && focusedIndex.value < opts.length) {\n selectOption(opts[focusedIndex.value], originalEvent);\n } else if (isOpen.value && focusedIndex.value === -1 && creatableLabel.value) {\n // Focused on the \"create\" item\n createOption(query.value, originalEvent);\n } else if (!isOpen.value) {\n openPopup(true, 'keyboard');\n }\n },\n });\n\n // ── Selection ────────────────────────────────────────────────────────────\n function selectOption(opt: ComboboxOptionItem, originalEvent?: Event) {\n if (opt.disabled) return;\n\n if (isMultiple()) {\n selectionController.toggle(opt.value);\n query.value = '';\n emitChange(originalEvent);\n triggerValidation('change');\n\n if (props.autoclose.value) {\n closePopup();\n }\n\n // Keep dropdown open in multiple mode (unless autoclose is true)\n focusLiveInput();\n requestAnimationFrame(() => focusLiveInput());\n } else {\n selectionController.select(opt.value);\n query.value = opt.label;\n emitChange(originalEvent);\n triggerValidation('change');\n closePopup();\n focusLiveInput();\n }\n }\n function resolveOptionFromElement(optionEl: HTMLElement): ComboboxOptionItem | null {\n const indexAttr = optionEl.getAttribute('data-option-index');\n const index = indexAttr ? Number(indexAttr) : -1;\n\n if (Number.isInteger(index) && index >= 0 && index < filteredOptions.value.length) {\n return filteredOptions.value[index] ?? null;\n }\n\n const valueAttr = optionEl.getAttribute('data-option-value');\n\n if (valueAttr) {\n const byValue = filteredOptions.value.find((option) => option.value === valueAttr);\n\n if (byValue) return byValue;\n }\n\n const labelText = optionEl.querySelector('span')?.textContent?.trim() ?? optionEl.textContent?.trim() ?? '';\n\n if (!labelText) return null;\n\n return filteredOptions.value.find((option) => option.label === labelText || option.value === labelText) ?? null;\n }\n function clearValue(e: Event) {\n e.stopPropagation();\n selectionController.clear();\n query.value = '';\n emitChange(e);\n triggerValidation('change');\n focusLiveInput();\n }\n function handleInput(e: InputEvent) {\n const target = e.target as HTMLInputElement;\n const newValue = target.value;\n\n // Skip all input processing if we're in the middle of restoring the query\n // This prevents the clearing logic from firing during close/restore\n if (isRestoringQuery) {\n return;\n }\n\n if (newValue === query.value) return;\n\n query.value = newValue;\n\n if (!isMultiple()) {\n const currentItem = selectedValues.value[0];\n const currentLabel = currentItem\n ? (allOptions.value.find((o) => o.value === currentItem)?.label ?? currentItem)\n : '';\n\n // Preserve the current selection while typing. Selection should only\n // change when a new option is committed or when the user explicitly clears.\n const isJustOpening = newValue === '' && lastQueryBeforeClear === currentLabel;\n\n if (isJustOpening) {\n lastQueryBeforeClear = null;\n }\n }\n\n optionList.navigate('first');\n\n if (!isOpen.value) openPopup(false, 'keyboard');\n\n emit('search', { query: target.value });\n }\n function handleFocus() {\n // Intentionally no-op: open only on explicit click or keyboard.\n // Opening on every focus surprises users tabbing through a form.\n }\n\n // ── Keyboard Navigation ──────────────────────────────────────────────────\n function handleKeydown(e: KeyboardEvent) {\n if (isDisabled.value) return;\n\n if (optionList.handleKeydown(e)) return;\n\n switch (e.key) {\n case 'ArrowDown':\n e.preventDefault();\n\n if (!isOpen.value) {\n openPopup(true, 'keyboard');\n optionList.navigate('first');\n } else {\n optionList.navigate('next');\n }\n\n break;\n case 'ArrowUp':\n e.preventDefault();\n\n if (!isOpen.value) {\n openPopup(true, 'keyboard');\n } else {\n optionList.navigate('prev');\n }\n\n break;\n case 'Backspace':\n // In multiple mode, remove the last chip when the input is empty\n if (isMultiple() && !query.value && selectedValues.value.length > 0) {\n choice.removeValue(selectedValues.value[selectedValues.value.length - 1] ?? '');\n emitChange(e);\n triggerValidation('change');\n }\n\n break;\n case 'Enter':\n enterPress.handleKeydown(e);\n\n break;\n case 'Tab':\n closePopup('programmatic');\n break;\n default:\n break;\n }\n }\n\n // ── Create option ────────────────────────────────────────────────────────\n function createOption(rawQuery: string, originalEvent?: Event) {\n const actualLabel = rawQuery.trim();\n\n if (!actualLabel) return;\n\n const value = makeCreatableValue(actualLabel);\n const newOpt: ComboboxOptionItem = { disabled: false, iconEl: null, label: actualLabel, value };\n\n createdOptions.value = [...createdOptions.value, newOpt];\n selectOption(newOpt, originalEvent);\n }\n // ── Lifecycle ────────────────────────────────────────────────────────────\n\n const observeLightDomOptions = (): (() => void) => {\n const observer = new MutationObserver(() => {\n readOptions();\n });\n\n observer.observe(el, {\n attributeFilter: ['disabled', 'label', 'value'],\n attributes: true,\n childList: true,\n subtree: true,\n });\n\n return () => observer.disconnect();\n };\n\n const stopObserving = observeLightDomOptions();\n\n const handleShadowOptionPointerMove = (event: PointerEvent): void => {\n const target = event.target;\n\n if (!(target instanceof Element)) return;\n\n const optionEl = target.closest<HTMLElement>('.option');\n\n if (!optionEl) return;\n\n const option = resolveOptionFromElement(optionEl);\n\n if (!option || option.disabled) return;\n\n const focusedIdx = filteredOptions.value.findIndex((candidate) => candidate.value === option.value);\n\n if (focusedIdx >= 0) {\n optionList.set(focusedIdx);\n }\n };\n const shadowRoot = el.shadowRoot;\n\n if (shadowRoot) {\n shadowRoot.addEventListener('pointermove', handleShadowOptionPointerMove as EventListener);\n }\n\n const createListboxListeners = (listEl: HTMLElement): (() => void) => {\n const handleActivate = (event: Event) => {\n const target = event.target;\n\n if (!(target instanceof Element)) return;\n\n const createRow = target.closest<HTMLElement>('.no-results-create');\n\n if (createRow) {\n event.preventDefault();\n event.stopPropagation();\n createOption(query.value, event);\n\n return;\n }\n\n const optionEl = target.closest<HTMLElement>('.option');\n\n if (!optionEl) return;\n\n event.preventDefault();\n event.stopPropagation();\n\n const option = resolveOptionFromElement(optionEl);\n\n if (!option) return;\n\n selectOption(option, event);\n };\n\n const handlePointerMove = (event: PointerEvent) => {\n const target = event.target;\n\n if (!(target instanceof Element)) return;\n\n const optionEl = target.closest<HTMLElement>('.option');\n\n if (!optionEl) return;\n\n const option = resolveOptionFromElement(optionEl);\n\n if (!option) return;\n\n const focusedIdx = filteredOptions.value.findIndex((candidate) => candidate.value === option.value);\n\n if (focusedIdx >= 0) {\n optionList.set(focusedIdx);\n }\n };\n\n listEl.addEventListener('click', handleActivate);\n listEl.addEventListener('pointermove', handlePointerMove);\n\n return () => {\n listEl.removeEventListener('click', handleActivate);\n listEl.removeEventListener('pointermove', handlePointerMove);\n };\n };\n\n let stopListboxListeners: (() => void) | null = null;\n let listboxListenersTarget: HTMLElement | null = null;\n\n const setListboxElement = (el: HTMLElement | null): void => {\n listboxEl = el;\n\n if (listboxListenersTarget === el) return;\n\n stopListboxListeners?.();\n stopListboxListeners = null;\n listboxListenersTarget = null;\n\n if (!el) return;\n\n stopListboxListeners = createListboxListeners(el);\n listboxListenersTarget = el;\n };\n\n const ensureListboxListeners = (): void => {\n if (!listboxEl) return;\n\n if (listboxListenersTarget === listboxEl && stopListboxListeners) return;\n\n stopListboxListeners?.();\n stopListboxListeners = createListboxListeners(listboxEl);\n listboxListenersTarget = listboxEl;\n };\n\n watch(() => {\n ensureListboxListeners();\n\n if (isOpen.value) {\n if (dropdownEl && 'showPopover' in dropdownEl && !dropdownEl.matches(':popover-open')) dropdownEl.showPopover();\n\n updatePosition();\n } else {\n if (dropdownEl && 'hidePopover' in dropdownEl && dropdownEl.matches(':popover-open')) dropdownEl.hidePopover();\n }\n });\n\n // Once ore-input is in the DOM, grab its inner <input> from its shadow root\n // and attach all combobox-specific ARIA + event handlers imperatively.\n // MUST be registered before the ARIA effects below so inputEl is set first\n // when bitInputRef fires (effects run in registration order).\n onElement(bitInputRef, (bitInputEl) => {\n fieldEl = bitInputEl;\n\n const rawInput = bitInputEl.shadowRoot?.querySelector<HTMLInputElement>('input') ?? null;\n\n if (!rawInput) return;\n\n inputEl = rawInput;\n\n rawInput.setAttribute('role', 'combobox');\n rawInput.setAttribute('autocomplete', 'off');\n rawInput.setAttribute('aria-autocomplete', 'list');\n rawInput.setAttribute('aria-haspopup', 'listbox');\n rawInput.setAttribute('spellcheck', 'false');\n rawInput.setAttribute('aria-controls', `${comboId}-listbox`);\n\n const handleInputClick = (): void => {\n if (!isOpen.value) openPopup(true, 'click');\n\n focusLiveInput();\n };\n\n rawInput.addEventListener('input', handleInput as EventListener);\n rawInput.addEventListener('keydown', handleKeydown as EventListener);\n rawInput.addEventListener('focus', handleFocus);\n rawInput.addEventListener('click', handleInputClick);\n\n return () => {\n inputEl = null;\n fieldEl = null;\n rawInput.removeEventListener('input', handleInput as EventListener);\n rawInput.removeEventListener('keydown', handleKeydown as EventListener);\n rawInput.removeEventListener('focus', handleFocus);\n rawInput.removeEventListener('click', handleInputClick);\n };\n });\n\n // Reactively sync combobox-specific ARIA attrs that ore-input doesn't manage.\n // Uses bitInputRef (a signal) as the gate so the effect re-runs when the\n // inner input mounts — inputEl is a plain variable and would not trigger re-runs.\n watch(() => {\n if (!bitInputRef.value) return;\n\n const el = inputEl;\n\n if (!el) return;\n\n el.setAttribute('aria-expanded', String(isOpen.value));\n\n if (isDisabled.value) {\n el.setAttribute('aria-disabled', 'true');\n } else {\n el.removeAttribute('aria-disabled');\n }\n\n if (props.error.value) {\n el.setAttribute('aria-invalid', 'true');\n el.setAttribute('aria-errormessage', `${comboId}-error`);\n } else {\n el.removeAttribute('aria-invalid');\n el.removeAttribute('aria-errormessage');\n }\n });\n\n // Reactively sync the query signal into the raw input value.\n watch(() => {\n if (!bitInputRef.value) return;\n\n const el = inputEl;\n\n if (!el) return;\n\n if (el.value !== query.value) el.value = query.value;\n });\n\n onCleanup(() => {\n shadowRoot?.removeEventListener('pointermove', handleShadowOptionPointerMove as EventListener);\n stopListboxListeners?.();\n stopListboxListeners = null;\n listboxListenersTarget = null;\n stopObserving();\n });\n\n const inputColor = () => props.color?.value ?? undefined;\n const inputSize = () => fCtxProps.size?.value ?? undefined;\n const inputVariant = () => fCtxProps.variant?.value ?? undefined;\n const inputRounded = () => props.rounded?.value ?? undefined;\n const inputFullwidth = () => (props.fullwidth.value ? true : undefined);\n\n return html`\n <slot></slot>\n <ore-input\n class=\"trigger\"\n ref=${bitInputRef}\n :label=\"${() => props.label.value ?? ''}\"\n :placeholder=\"${inputPlaceholder}\"\n :label-placement=\"${() => props['label-placement'].value ?? 'inset'}\"\n :color=\"${inputColor}\"\n :size=\"${inputSize}\"\n :variant=\"${inputVariant}\"\n :rounded=\"${inputRounded}\"\n :helper=\"${() => props.helper.value ?? ''}\"\n :error=\"${() => props.error.value ?? ''}\"\n ?disabled=\"${isDisabled}\"\n ?required=\"${() => false}\"\n ?fullwidth=\"${inputFullwidth}\"\n :name=\"${() => props.name.value ?? ''}\"\n @click=\"${(e: MouseEvent) => {\n fieldPress.handleClick(e);\n }}\"\n part=\"wrapper\">\n <div slot=\"prefix\" class=\"chips-row\">\n <!-- Keep chip list diffing isolated so input node identity stays stable. -->\n <span class=\"chips-list\">\n ${() =>\n (isMultiple() ? selectedValues.value : []).map(\n (value) => html`\n <ore-chip\n value=${value}\n label=${allOptions.value.find((option) => option.value === value)?.label ?? value}\n mode=\"removable\"\n variant=\"flat\"\n size=\"sm\"\n color=\"${props.color}\"\n @remove=${removeChip}>\n ${allOptions.value.find((option) => option.value === value)?.label ?? value}\n </ore-chip>\n `,\n )}\n </span>\n </div>\n <span slot=\"suffix\" class=\"combobox-suffix\" aria-hidden=\"true\">\n <button\n class=\"clear-btn\"\n part=\"clear-btn\"\n type=\"button\"\n aria-label=\"Clear\"\n tabindex=\"-1\"\n ?hidden=${() => !hasValue()}\n @click=\"${clearValue}\">\n <ore-icon name=\"x\" size=\"12\" stroke-width=\"2.5\" aria-hidden=\"true\"></ore-icon>\n </button>\n <span class=\"combobox-suffix-end\">\n <span class=\"loader\"></span>\n <span class=\"chevron\">\n <ore-icon name=\"chevron-down\" size=\"14\" stroke-width=\"2\" aria-hidden=\"true\"></ore-icon>\n </span>\n </span>\n </span>\n </ore-input>\n <span\n class=\"sr-only\"\n id=\"${() => `${comboId}-error`}\"\n role=\"alert\"\n aria-live=\"assertive\"\n ?hidden=\"${() => !props.error.value}\"\n >${() => props.error.value ?? ''}</span\n >\n <div\n class=\"dropdown\"\n part=\"dropdown\"\n id=\"${() => `${comboId}-dropdown`}\"\n popover=\"manual\"\n ?data-open=${() => isOpen.value}\n ref=${(el: HTMLElement | null) => {\n dropdownEl = el;\n }}>\n <div\n role=\"listbox\"\n id=\"${() => `${comboId}-listbox`}\"\n :style=\"${() =>\n isOpen.value && filteredOptions.value.length > 0 ? `height:${filteredOptions.value.length * 36}px;` : ''}\"\n aria-label=\"${() => props.label.value || props.placeholder.value || 'Options'}\"\n ref=${(el: HTMLElement | null) => {\n setListboxElement(el);\n }}>\n ${() => {\n if (!isOpen.value) return '';\n\n if (isLoading()) {\n return html`<div class=\"dropdown-loading\">Loading...</div>`;\n }\n\n if (filteredOptions.value.length === 0) {\n if (creatableLabel.value) {\n return html`<button\n type=\"button\"\n class=\"no-results-create\"\n ?data-focused=${() => focusedIndex.value === -1}>\n ${creatableLabel.value}\n </button>`;\n }\n\n return html`<div class=\"no-results\" role=\"presentation\">No results found</div>`;\n }\n\n return filteredOptions.value.map((option, index) => {\n return html`<div\n class=\"option\"\n role=\"option\"\n id=\"${`${comboId}-opt-${index}`}\"\n data-option-index=\"${index}\"\n data-option-value=\"${option.value}\"\n :aria-selected=\"${() =>\n String(\n isMultiple() ? selectedValues.value.includes(option.value) : selectedValue.value === option.value,\n )}\"\n aria-disabled=\"${String(option.disabled)}\"\n style=\"${`position:absolute;top:0;left:0;right:0;transform:translateY(${index * 36}px);`}\"\n ?data-focused=${() => focusedIndex.value === index}\n ?data-selected=${() =>\n isMultiple() ? selectedValues.value.includes(option.value) : selectedValue.value === option.value}\n ?data-disabled=${option.disabled}>\n <span>${option.label}</span>\n <span class=\"option-check\" aria-hidden=\"true\"\n ><ore-icon name=\"check\" size=\"14\" stroke-width=\"2.5\" aria-hidden=\"true\"></ore-icon\n ></span>\n </div>`;\n });\n }}\n </div>\n </div>\n `;\n },\n shadow: { delegatesFocus: true },\n styles: [reducedMotionMixin, srOnlyMixin, componentStyles],\n}) as unknown as AddEventListeners<OreComboboxEvents>;\n"],"mappings":"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"}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
var e=`@layer refine.base{:host{flex-direction:row;display:inline-flex}::slotted(ore-avatar){--avatar-border:var(--border-2) solid var(--color-canvas);margin-left:calc(var(--avatar-group-overlap,-.75rem))}::slotted(ore-avatar:first-child){margin-left:0}:host([dir=rtl]) ::slotted(ore-avatar),:host(:dir(rtl)) ::slotted(ore-avatar){margin-right:calc(var(--avatar-group-overlap,-.75rem));margin-left:0}:host([dir=rtl]) ::slotted(ore-avatar:first-child),:host(:dir(rtl)) ::slotted(ore-avatar:first-child){margin-right:0}::slotted(ore-avatar[data-avatar-group-hidden]){display:none}.overflow-badge{--_size:var(--avatar-size,var(--size-10));box-sizing:border-box;width:var(--_size);height:var(--_size);margin-left:calc(var(--avatar-group-overlap,-.75rem));font-size:var(--text-xs);font-weight:var(--font-semibold);color:var(--color-contrast-700);-webkit-user-select:none;user-select:none;background:var(--color-contrast-200);border:var(--border-2) solid var(--color-canvas);border-radius:var(--rounded-full);flex-shrink:0;justify-content:center;align-items:center;display:inline-flex}:host([dir=rtl]) .overflow-badge,:host(:dir(rtl)) .overflow-badge{margin-right:calc(var(--avatar-group-overlap,-.75rem));margin-left:0}}`;exports.default=e;
|
|
2
|
+
//# sourceMappingURL=avatar-group.css?inline.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"avatar-group.css?inline.cjs","names":[],"sources":["../../../src/content/avatar/avatar-group.css?inline"],"sourcesContent":["@layer refine.base {\n :host {\n display: inline-flex;\n flex-direction: row;\n }\n\n /* Overlap avatars, latest first */\n ::slotted(ore-avatar) {\n --avatar-border: var(--border-2) solid var(--color-canvas);\n\n margin-left: calc(var(--avatar-group-overlap, -0.75rem));\n }\n\n ::slotted(ore-avatar:first-child) {\n margin-left: 0;\n }\n\n :host([dir='rtl']) ::slotted(ore-avatar),\n :host(:dir(rtl)) ::slotted(ore-avatar) {\n margin-right: calc(var(--avatar-group-overlap, -0.75rem));\n margin-left: 0;\n }\n\n :host([dir='rtl']) ::slotted(ore-avatar:first-child),\n :host(:dir(rtl)) ::slotted(ore-avatar:first-child) {\n margin-right: 0;\n }\n\n ::slotted(ore-avatar[data-avatar-group-hidden]) {\n display: none;\n }\n\n .overflow-badge {\n --_size: var(--avatar-size, var(--size-10));\n\n box-sizing: border-box;\n display: inline-flex;\n flex-shrink: 0;\n align-items: center;\n justify-content: center;\n width: var(--_size);\n height: var(--_size);\n margin-left: calc(var(--avatar-group-overlap, -0.75rem));\n font-size: var(--text-xs);\n font-weight: var(--font-semibold);\n color: var(--color-contrast-700);\n user-select: none;\n background: var(--color-contrast-200);\n border: var(--border-2) solid var(--color-canvas);\n border-radius: var(--rounded-full);\n }\n\n :host([dir='rtl']) .overflow-badge,\n :host(:dir(rtl)) .overflow-badge {\n margin-right: calc(var(--avatar-group-overlap, -0.75rem));\n margin-left: 0;\n }\n}\n"],"mappings":""}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
//#region src/content/avatar/avatar-group.css?inline
|
|
2
|
+
var e = "@layer refine.base{:host{flex-direction:row;display:inline-flex}::slotted(ore-avatar){--avatar-border:var(--border-2) solid var(--color-canvas);margin-left:calc(var(--avatar-group-overlap,-.75rem))}::slotted(ore-avatar:first-child){margin-left:0}:host([dir=rtl]) ::slotted(ore-avatar),:host(:dir(rtl)) ::slotted(ore-avatar){margin-right:calc(var(--avatar-group-overlap,-.75rem));margin-left:0}:host([dir=rtl]) ::slotted(ore-avatar:first-child),:host(:dir(rtl)) ::slotted(ore-avatar:first-child){margin-right:0}::slotted(ore-avatar[data-avatar-group-hidden]){display:none}.overflow-badge{--_size:var(--avatar-size,var(--size-10));box-sizing:border-box;width:var(--_size);height:var(--_size);margin-left:calc(var(--avatar-group-overlap,-.75rem));font-size:var(--text-xs);font-weight:var(--font-semibold);color:var(--color-contrast-700);-webkit-user-select:none;user-select:none;background:var(--color-contrast-200);border:var(--border-2) solid var(--color-canvas);border-radius:var(--rounded-full);flex-shrink:0;justify-content:center;align-items:center;display:inline-flex}:host([dir=rtl]) .overflow-badge,:host(:dir(rtl)) .overflow-badge{margin-right:calc(var(--avatar-group-overlap,-.75rem));margin-left:0}}";
|
|
3
|
+
//#endregion
|
|
4
|
+
export { e as default };
|
|
5
|
+
|
|
6
|
+
//# sourceMappingURL=avatar-group.css?inline.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"avatar-group.css?inline.js","names":[],"sources":["../../../src/content/avatar/avatar-group.css?inline"],"sourcesContent":["@layer refine.base {\n :host {\n display: inline-flex;\n flex-direction: row;\n }\n\n /* Overlap avatars, latest first */\n ::slotted(ore-avatar) {\n --avatar-border: var(--border-2) solid var(--color-canvas);\n\n margin-left: calc(var(--avatar-group-overlap, -0.75rem));\n }\n\n ::slotted(ore-avatar:first-child) {\n margin-left: 0;\n }\n\n :host([dir='rtl']) ::slotted(ore-avatar),\n :host(:dir(rtl)) ::slotted(ore-avatar) {\n margin-right: calc(var(--avatar-group-overlap, -0.75rem));\n margin-left: 0;\n }\n\n :host([dir='rtl']) ::slotted(ore-avatar:first-child),\n :host(:dir(rtl)) ::slotted(ore-avatar:first-child) {\n margin-right: 0;\n }\n\n ::slotted(ore-avatar[data-avatar-group-hidden]) {\n display: none;\n }\n\n .overflow-badge {\n --_size: var(--avatar-size, var(--size-10));\n\n box-sizing: border-box;\n display: inline-flex;\n flex-shrink: 0;\n align-items: center;\n justify-content: center;\n width: var(--_size);\n height: var(--_size);\n margin-left: calc(var(--avatar-group-overlap, -0.75rem));\n font-size: var(--text-xs);\n font-weight: var(--font-semibold);\n color: var(--color-contrast-700);\n user-select: none;\n background: var(--color-contrast-200);\n border: var(--border-2) solid var(--color-canvas);\n border-radius: var(--rounded-full);\n }\n\n :host([dir='rtl']) .overflow-badge,\n :host(:dir(rtl)) .overflow-badge {\n margin-right: calc(var(--avatar-group-overlap, -0.75rem));\n margin-left: 0;\n }\n}\n"],"mappings":""}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
var e=`@layer refine.base{:host{--_bg:var(--avatar-bg,var(--_theme-backdrop,var(--color-contrast-200)));--_color:var(--avatar-color,var(--_theme-base,var(--color-contrast-700)));--_radius:var(--avatar-radius,var(--rounded-full));--_font-weight:var(--avatar-font-weight,var(--font-semibold));--_border:var(--avatar-border,none);--_border-color:var(--avatar-border-color,var(--color-canvas));--_size:var(--avatar-size,var(--size-10));--_font-size:var(--avatar-font-size,var(--text-sm));flex-shrink:0;display:inline-flex;position:relative}.avatar{box-sizing:border-box;width:var(--_size);height:var(--_size);font-size:var(--_font-size);font-weight:var(--_font-weight);color:var(--_color);text-transform:uppercase;-webkit-user-select:none;user-select:none;background:var(--_bg);border:var(--_border);border-color:var(--_border-color);border-radius:var(--_radius);justify-content:center;align-items:center;line-height:1;display:inline-flex;overflow:hidden}img{object-fit:cover;width:100%;height:100%;display:block}img[hidden]{display:none}.initials{justify-content:center;align-items:center;width:100%;height:100%;display:inline-flex}.icon-fallback{width:100%;height:100%;color:var(--_color);opacity:.6;justify-content:center;align-items:center;display:inline-flex}.status{border:2px solid var(--_border-color,var(--color-canvas));border-radius:var(--rounded-full);width:.75em;height:.75em;position:absolute;bottom:0}.status:not(:lang(ae),:lang(ar),:lang(arc),:lang(bcc),:lang(bqi),:lang(ckb),:lang(dv),:lang(fa),:lang(glk),:lang(he),:lang(ku),:lang(mzn),:lang(nqo),:lang(pnb),:lang(ps),:lang(sd),:lang(ug),:lang(ur),:lang(yi)){right:0}.status:is(:lang(ae),:lang(ar),:lang(arc),:lang(bcc),:lang(bqi),:lang(ckb),:lang(dv),:lang(fa),:lang(glk),:lang(he),:lang(ku),:lang(mzn),:lang(nqo),:lang(pnb),:lang(ps),:lang(sd),:lang(ug),:lang(ur),:lang(yi)){left:0}.status[data-status=online]{background:var(--color-success)}.status[data-status=offline]{background:var(--color-contrast-400)}.status[data-status=busy]{background:var(--color-error)}.status[data-status=away]{background:var(--color-warning)}}@media (forced-colors:active){.avatar{forced-color-adjust:none;border:1px solid buttontext}.status{background:highlight;border:2px solid buttontext}}`;exports.default=e;
|
|
2
|
+
//# sourceMappingURL=avatar.css?inline.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"avatar.css?inline.cjs","names":[],"sources":["../../../src/content/avatar/avatar.css?inline"],"sourcesContent":["@layer refine.base {\n :host {\n --_bg: var(--avatar-bg, var(--_theme-backdrop, var(--color-contrast-200)));\n --_color: var(--avatar-color, var(--_theme-base, var(--color-contrast-700)));\n --_radius: var(--avatar-radius, var(--rounded-full));\n --_font-weight: var(--avatar-font-weight, var(--font-semibold));\n --_border: var(--avatar-border, none);\n --_border-color: var(--avatar-border-color, var(--color-canvas));\n --_size: var(--avatar-size, var(--size-10));\n --_font-size: var(--avatar-font-size, var(--text-sm));\n\n position: relative;\n display: inline-flex;\n flex-shrink: 0;\n }\n\n .avatar {\n box-sizing: border-box;\n display: inline-flex;\n align-items: center;\n justify-content: center;\n width: var(--_size);\n height: var(--_size);\n overflow: hidden;\n font-size: var(--_font-size);\n font-weight: var(--_font-weight);\n line-height: 1;\n color: var(--_color);\n text-transform: uppercase;\n user-select: none;\n background: var(--_bg);\n border: var(--_border);\n border-color: var(--_border-color);\n border-radius: var(--_radius);\n }\n\n img {\n display: block;\n width: 100%;\n height: 100%;\n object-fit: cover;\n }\n\n img[hidden] {\n display: none;\n }\n\n .initials {\n display: inline-flex;\n align-items: center;\n justify-content: center;\n width: 100%;\n height: 100%;\n }\n\n .icon-fallback {\n display: inline-flex;\n align-items: center;\n justify-content: center;\n width: 100%;\n height: 100%;\n color: var(--_color);\n opacity: 0.6;\n }\n\n .status {\n position: absolute;\n inset-inline-end: 0;\n bottom: 0;\n width: 0.75em;\n height: 0.75em;\n border: 2px solid var(--_border-color, var(--color-canvas));\n border-radius: var(--rounded-full);\n }\n\n .status[data-status='online'] {\n background: var(--color-success);\n }\n\n .status[data-status='offline'] {\n background: var(--color-contrast-400);\n }\n\n .status[data-status='busy'] {\n background: var(--color-error);\n }\n\n .status[data-status='away'] {\n background: var(--color-warning);\n }\n}\n\n/* forcedColorsMixin targets :host; avatar needs the border on .avatar (different geometry),\n so forced-color rules are kept inline and unlayered to match mixin convention. */\n@media (forced-colors: active) {\n .avatar {\n forced-color-adjust: none;\n border: 1px solid ButtonText;\n }\n\n .status {\n background: Highlight;\n border: 2px solid ButtonText;\n }\n}\n"],"mappings":""}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
//#region src/content/avatar/avatar.css?inline
|
|
2
|
+
var e = "@layer refine.base{:host{--_bg:var(--avatar-bg,var(--_theme-backdrop,var(--color-contrast-200)));--_color:var(--avatar-color,var(--_theme-base,var(--color-contrast-700)));--_radius:var(--avatar-radius,var(--rounded-full));--_font-weight:var(--avatar-font-weight,var(--font-semibold));--_border:var(--avatar-border,none);--_border-color:var(--avatar-border-color,var(--color-canvas));--_size:var(--avatar-size,var(--size-10));--_font-size:var(--avatar-font-size,var(--text-sm));flex-shrink:0;display:inline-flex;position:relative}.avatar{box-sizing:border-box;width:var(--_size);height:var(--_size);font-size:var(--_font-size);font-weight:var(--_font-weight);color:var(--_color);text-transform:uppercase;-webkit-user-select:none;user-select:none;background:var(--_bg);border:var(--_border);border-color:var(--_border-color);border-radius:var(--_radius);justify-content:center;align-items:center;line-height:1;display:inline-flex;overflow:hidden}img{object-fit:cover;width:100%;height:100%;display:block}img[hidden]{display:none}.initials{justify-content:center;align-items:center;width:100%;height:100%;display:inline-flex}.icon-fallback{width:100%;height:100%;color:var(--_color);opacity:.6;justify-content:center;align-items:center;display:inline-flex}.status{border:2px solid var(--_border-color,var(--color-canvas));border-radius:var(--rounded-full);width:.75em;height:.75em;position:absolute;bottom:0}.status:not(:lang(ae),:lang(ar),:lang(arc),:lang(bcc),:lang(bqi),:lang(ckb),:lang(dv),:lang(fa),:lang(glk),:lang(he),:lang(ku),:lang(mzn),:lang(nqo),:lang(pnb),:lang(ps),:lang(sd),:lang(ug),:lang(ur),:lang(yi)){right:0}.status:is(:lang(ae),:lang(ar),:lang(arc),:lang(bcc),:lang(bqi),:lang(ckb),:lang(dv),:lang(fa),:lang(glk),:lang(he),:lang(ku),:lang(mzn),:lang(nqo),:lang(pnb),:lang(ps),:lang(sd),:lang(ug),:lang(ur),:lang(yi)){left:0}.status[data-status=online]{background:var(--color-success)}.status[data-status=offline]{background:var(--color-contrast-400)}.status[data-status=busy]{background:var(--color-error)}.status[data-status=away]{background:var(--color-warning)}}@media (forced-colors:active){.avatar{forced-color-adjust:none;border:1px solid buttontext}.status{background:highlight;border:2px solid buttontext}}";
|
|
3
|
+
//#endregion
|
|
4
|
+
export { e as default };
|
|
5
|
+
|
|
6
|
+
//# sourceMappingURL=avatar.css?inline.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"avatar.css?inline.js","names":[],"sources":["../../../src/content/avatar/avatar.css?inline"],"sourcesContent":["@layer refine.base {\n :host {\n --_bg: var(--avatar-bg, var(--_theme-backdrop, var(--color-contrast-200)));\n --_color: var(--avatar-color, var(--_theme-base, var(--color-contrast-700)));\n --_radius: var(--avatar-radius, var(--rounded-full));\n --_font-weight: var(--avatar-font-weight, var(--font-semibold));\n --_border: var(--avatar-border, none);\n --_border-color: var(--avatar-border-color, var(--color-canvas));\n --_size: var(--avatar-size, var(--size-10));\n --_font-size: var(--avatar-font-size, var(--text-sm));\n\n position: relative;\n display: inline-flex;\n flex-shrink: 0;\n }\n\n .avatar {\n box-sizing: border-box;\n display: inline-flex;\n align-items: center;\n justify-content: center;\n width: var(--_size);\n height: var(--_size);\n overflow: hidden;\n font-size: var(--_font-size);\n font-weight: var(--_font-weight);\n line-height: 1;\n color: var(--_color);\n text-transform: uppercase;\n user-select: none;\n background: var(--_bg);\n border: var(--_border);\n border-color: var(--_border-color);\n border-radius: var(--_radius);\n }\n\n img {\n display: block;\n width: 100%;\n height: 100%;\n object-fit: cover;\n }\n\n img[hidden] {\n display: none;\n }\n\n .initials {\n display: inline-flex;\n align-items: center;\n justify-content: center;\n width: 100%;\n height: 100%;\n }\n\n .icon-fallback {\n display: inline-flex;\n align-items: center;\n justify-content: center;\n width: 100%;\n height: 100%;\n color: var(--_color);\n opacity: 0.6;\n }\n\n .status {\n position: absolute;\n inset-inline-end: 0;\n bottom: 0;\n width: 0.75em;\n height: 0.75em;\n border: 2px solid var(--_border-color, var(--color-canvas));\n border-radius: var(--rounded-full);\n }\n\n .status[data-status='online'] {\n background: var(--color-success);\n }\n\n .status[data-status='offline'] {\n background: var(--color-contrast-400);\n }\n\n .status[data-status='busy'] {\n background: var(--color-error);\n }\n\n .status[data-status='away'] {\n background: var(--color-warning);\n }\n}\n\n/* forcedColorsMixin targets :host; avatar needs the border on .avatar (different geometry),\n so forced-color rules are kept inline and unlayered to match mixin convention. */\n@media (forced-colors: active) {\n .avatar {\n forced-color-adjust: none;\n border: 1px solid ButtonText;\n }\n\n .status {\n background: Highlight;\n border: 2px solid ButtonText;\n }\n}\n"],"mappings":""}
|