@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
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
//#region src/feedback/progress/progress.css?inline
|
|
2
|
+
var e = "@layer refine.base{:host{--_height:var(--progress-height,var(--size-2,.5rem));--_radius:var(--progress-radius,var(--rounded-lg));--_circle-size:var(--progress-circle-size,6rem);--_circular-label-size:var(--progress-circular-label-size,var(--text-xl,1.25rem));--_circular-title-size:var(--progress-circular-title-size,var(--text-xs,.75rem));width:100%;display:block}.track{width:100%;height:var(--_height);background:var(--progress-track-bg,var(--color-contrast-300,#ddd));border-radius:var(--_radius);overflow:hidden}.fill{width:var(--_percent,0%);background:var(--progress-fill,var(--_theme-base,#3b82f6));border-radius:inherit;transform-origin:0;height:100%;transition:var(--_motion-transition,width var(--transition-normal))}:host(:dir(rtl)) .fill{transform-origin:100%}@keyframes ore-progress-slide{0%{transform:translate(-150%)scaleX(.6)}50%{transform:translate(50%)scaleX(1)}to{transform:translate(300%)scaleX(.6)}}:host([indeterminate]) .fill{width:40%;animation:var(--_motion-animation,ore-progress-slide var(--duration-1500) var(--ease-linear) infinite)}:host(:dir(rtl)[indeterminate]) .fill{animation-direction:reverse}:host([type=vertical]){--_width:var(--progress-width,var(--size-2,.5rem));width:auto;display:inline-flex}:host([type=vertical]) .wrapper{gap:var(--progress-label-gap,var(--space-1,.25rem));flex-direction:row;width:auto;height:100%}:host([type=vertical]) .track{width:var(--_width);height:100%;overflow:hidden}:host([type=vertical]) .fill{width:100%;height:var(--_percent,0%);transform-origin:bottom;transition:var(--_motion-transition,height var(--transition-normal))}:host([type=vertical][indeterminate]) .fill{height:40%;animation:var(--_motion-animation,ore-progress-slide-v var(--duration-1500) var(--ease-linear) infinite)}@keyframes ore-progress-slide-v{0%{transform:translateY(150%)scaleY(.6)}50%{transform:translateY(-50%)scaleY(1)}to{transform:translateY(-300%)scaleY(.6)}}.bar-row-vertical{flex-direction:column;align-items:center;height:100%;display:flex}:host([type=vertical]) .track-outer{flex:1;justify-content:center;align-items:stretch;width:auto;height:100%;display:flex}.wrapper{gap:var(--progress-label-gap,var(--space-1,.25rem));flex-direction:column;width:100%;display:flex}.header{gap:var(--space-2,.5rem);justify-content:space-between;align-items:baseline;display:none}:host([title]) .header{display:flex}.progress-title{font-size:var(--text-sm,.875rem);font-weight:var(--font-weight-medium,500);color:var(--progress-title-color,currentColor);line-height:1.25}.header-label{display:none}:host([title][label]) .header-label{display:inline}.bar-row{display:contents}:host([label]:not([title])) .bar-row{gap:var(--progress-label-gap,var(--space-2,.5rem));align-items:center;width:100%;display:flex}.track-outer{width:100%;position:relative}:host([label]:not([title])) .track-outer{flex:1;width:auto;min-width:0}.end-label{font-size:var(--text-sm,.875rem);color:var(--progress-label-color,currentColor);white-space:nowrap;flex-shrink:0;line-height:1.25}.row-label{display:none}:host([label]:not([title])) .row-label{display:inline}.floating-label{bottom:calc(100% + var(--space-1,.25rem));left:var(--_percent,0%);padding:var(--space-0-5,.125rem) var(--space-2,.5rem);font-size:var(--text-xs,.75rem);font-weight:var(--font-weight-medium,500);color:var(--color-white,#fff);white-space:nowrap;pointer-events:none;-webkit-user-select:none;user-select:none;background:var(--progress-fill,var(--_theme-base,#3b82f6));border-radius:var(--rounded-md,.375rem);line-height:1;display:none;position:absolute;transform:translate(-50%)}:host([floating-label]:not([indeterminate])) .floating-label{display:block}:host([floating-label]:not([indeterminate])) .wrapper{padding-top:calc(var(--text-xs,.75rem) + var(--space-1,.25rem) * 3)}.circular-track{width:var(--_circle-size);height:var(--_circle-size);justify-content:center;align-items:center;display:inline-flex;position:relative}.circular-track svg{width:100%;height:100%;overflow:visible;transform:rotate(-90deg)}.circular-inner{gap:var(--space-0-5,.125rem);padding:calc(8% + var(--_height));text-align:center;pointer-events:none;flex-direction:column;justify-content:center;align-items:center;display:flex;position:absolute;inset:0;overflow:hidden}.circular-label{text-overflow:ellipsis;max-width:100%;font-size:var(--_circular-label-size);font-weight:var(--font-weight-semibold,600);color:var(--progress-label-color,currentColor);white-space:nowrap;line-height:1;overflow:hidden}.circular-title{text-overflow:ellipsis;max-width:100%;font-size:var(--_circular-title-size);color:var(--progress-title-color,var(--color-contrast-500,#6b7280));white-space:nowrap;line-height:1.25;overflow:hidden}.circular-label:empty,.circular-title:empty{display:none}.circle-bg{fill:none;stroke:var(--progress-track-bg,var(--color-contrast-300,#ddd));stroke-width:var(--progress-stroke-width,calc(var(--_height) * 1.2))}.circle-fill{fill:none;stroke:var(--progress-fill,var(--_theme-base,#3b82f6));stroke-width:var(--progress-stroke-width,calc(var(--_height) * 1.2));stroke-linecap:round;transition:var(--_motion-transition,stroke-dashoffset var(--transition-normal))}@keyframes ore-progress-spin{0%{transform:rotate(-90deg)}to{transform:rotate(270deg)}}@keyframes ore-progress-dash{0%{stroke-dasharray:1px var(--_circ);stroke-dashoffset:var(--_circ)}40%{stroke-dasharray:calc(var(--_circ) * .75) var(--_circ);stroke-dashoffset:calc(var(--_circ) * -.1)}60%{stroke-dasharray:calc(var(--_circ) * .75) var(--_circ);stroke-dashoffset:calc(var(--_circ) * -.1)}to{stroke-dasharray:1px var(--_circ);stroke-dashoffset:calc(var(--_circ) * -.9)}}:host([indeterminate]) .circular-track svg{animation:var(--_motion-animation,ore-progress-spin var(--duration-1400) var(--ease-linear) infinite)}:host([indeterminate]) .circle-fill{animation:var(--_motion-animation,ore-progress-dash var(--duration-1400) var(--ease-in-out) infinite)}}@layer refine.utilities{:host([size=sm]){--_height:var(--size-1,.25rem);--_circle-size:4rem;--_circular-label-size:var(--text-sm,.875rem);--_circular-title-size:var(--text-2xs,.625rem)}:host([size=md]){--_height:var(--size-2,.5rem);--_circle-size:6rem}:host([size=lg]){--_height:var(--size-3-5,.875rem);--_circle-size:9rem;--_circular-label-size:var(--text-3xl);--_circular-title-size:var(--text-sm,.875rem)}}@media (prefers-reduced-motion:reduce){:host([indeterminate]) .fill{opacity:.6;width:100%}:host([indeterminate]) .circle-fill{stroke-dasharray:none}:host([type=vertical][indeterminate]) .fill{opacity:.6;height:100%}}";
|
|
3
|
+
//#endregion
|
|
4
|
+
export { e as default };
|
|
5
|
+
|
|
6
|
+
//# sourceMappingURL=progress.css?inline.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"progress.css?inline.js","names":[],"sources":["../../../src/feedback/progress/progress.css?inline"],"sourcesContent":["@layer refine.base {\n :host {\n --_height: var(--progress-height, var(--size-2, 0.5rem));\n --_radius: var(--progress-radius, var(--rounded-lg));\n --_circle-size: var(--progress-circle-size, 6rem);\n --_circular-label-size: var(--progress-circular-label-size, var(--text-xl, 1.25rem));\n --_circular-title-size: var(--progress-circular-title-size, var(--text-xs, 0.75rem));\n\n display: block;\n\n /* Stretch to fill the parent container (matches native <progress> behaviour).\n The host's width is set against its parent, so % widths inside shadow DOM\n (.track, .fill) resolve correctly in any flex/grid/block context. */\n width: 100%;\n }\n\n /* ========================================\n Linear Bar\n ======================================== */\n\n .track {\n width: 100%;\n height: var(--_height);\n overflow: hidden;\n\n /* contrast-300 (88% lightness) gives a visible groove in light mode */\n background: var(--progress-track-bg, var(--color-contrast-300, #ddd));\n border-radius: var(--_radius);\n }\n\n .fill {\n width: var(--_percent, 0%);\n height: 100%;\n background: var(--progress-fill, var(--_theme-base, #3b82f6));\n border-radius: inherit;\n transform-origin: left;\n transition: var(--_motion-transition, width var(--transition-normal));\n }\n\n /* In RTL the fill grows from the inline-end (physical right) side */\n :host(:dir(rtl)) .fill {\n transform-origin: right;\n }\n\n /* Indeterminate: sliding bar */\n @keyframes ore-progress-slide {\n 0% {\n transform: translateX(-150%) scaleX(0.6);\n }\n\n 50% {\n transform: translateX(50%) scaleX(1);\n }\n\n 100% {\n transform: translateX(300%) scaleX(0.6);\n }\n }\n\n :host([indeterminate]) .fill {\n width: 40%;\n animation: var(--_motion-animation, ore-progress-slide var(--duration-1500) var(--ease-linear) infinite);\n }\n\n /* In RTL the indeterminate bar sweeps right-to-left */\n :host(:dir(rtl)[indeterminate]) .fill {\n animation-direction: reverse;\n }\n\n /* ========================================\n Vertical Bar\n ======================================== */\n\n :host([type='vertical']) {\n --_width: var(--progress-width, var(--size-2, 0.5rem));\n\n display: inline-flex;\n width: auto;\n }\n\n :host([type='vertical']) .wrapper {\n flex-direction: row;\n gap: var(--progress-label-gap, var(--space-1, 0.25rem));\n width: auto;\n height: 100%;\n }\n\n :host([type='vertical']) .track {\n width: var(--_width);\n height: 100%;\n overflow: hidden;\n }\n\n :host([type='vertical']) .fill {\n width: 100%;\n height: var(--_percent, 0%);\n transform-origin: bottom;\n transition: var(--_motion-transition, height var(--transition-normal));\n }\n\n :host([type='vertical'][indeterminate]) .fill {\n height: 40%;\n animation: var(--_motion-animation, ore-progress-slide-v var(--duration-1500) var(--ease-linear) infinite);\n }\n\n @keyframes ore-progress-slide-v {\n 0% {\n transform: translateY(150%) scaleY(0.6);\n }\n\n 50% {\n transform: translateY(-50%) scaleY(1);\n }\n\n 100% {\n transform: translateY(-300%) scaleY(0.6);\n }\n }\n\n .bar-row-vertical {\n display: flex;\n flex-direction: column;\n align-items: center;\n height: 100%;\n }\n\n :host([type='vertical']) .track-outer {\n display: flex;\n flex: 1 1 0%;\n align-items: stretch;\n justify-content: center;\n width: auto;\n height: 100%;\n }\n\n /* ========================================\n Wrapper / Label / Title / Floating label\n ======================================== */\n\n /* Flex-column shell for the linear variant */\n .wrapper {\n display: flex;\n flex-direction: column;\n gap: var(--progress-label-gap, var(--space-1, 0.25rem));\n width: 100%;\n }\n\n /* Header row ─ visible only when [title] is present */\n .header {\n display: none;\n gap: var(--space-2, 0.5rem);\n align-items: baseline;\n justify-content: space-between;\n }\n\n :host([title]) .header {\n display: flex;\n }\n\n .progress-title {\n font-size: var(--text-sm, 0.875rem);\n font-weight: var(--font-weight-medium, 500);\n line-height: 1.25;\n color: var(--progress-title-color, currentColor);\n }\n\n /* Label inside the header ─ only when both [title] and [label] are set */\n .header-label {\n display: none;\n }\n\n :host([title][label]) .header-label {\n display: inline;\n }\n\n /* Bar row ─ transparent wrapper by default; becomes a flex row when\n [label] is present without [title] so the label sits beside the bar */\n .bar-row {\n display: contents;\n }\n\n :host([label]:not([title])) .bar-row {\n display: flex;\n gap: var(--progress-label-gap, var(--space-2, 0.5rem));\n align-items: center;\n width: 100%;\n }\n\n /* Outer track container ─ always position:relative for floating-label */\n .track-outer {\n position: relative;\n width: 100%;\n }\n\n :host([label]:not([title])) .track-outer {\n flex: 1 1 0%;\n width: auto;\n min-width: 0;\n }\n\n /* Shared label typography */\n .end-label {\n flex-shrink: 0;\n font-size: var(--text-sm, 0.875rem);\n line-height: 1.25;\n color: var(--progress-label-color, currentColor);\n white-space: nowrap;\n }\n\n /* Trailing end label ─ shown only when [label] is present without [title] */\n .row-label {\n display: none;\n }\n\n :host([label]:not([title])) .row-label {\n display: inline;\n }\n\n /* Floating label chip ─────────────────────────────────────────────────\n Positioned above the fill endpoint.\n Formula: left = X% (fill width) − Y (half chip width)\n Implemented as: left: var(--_percent); transform: translateX(-50%) */\n .floating-label {\n position: absolute;\n bottom: calc(100% + var(--space-1, 0.25rem));\n left: var(--_percent, 0%);\n display: none;\n padding: var(--space-0-5, 0.125rem) var(--space-2, 0.5rem);\n font-size: var(--text-xs, 0.75rem);\n font-weight: var(--font-weight-medium, 500);\n line-height: 1;\n color: var(--color-white, #fff);\n white-space: nowrap;\n pointer-events: none;\n user-select: none;\n background: var(--progress-fill, var(--_theme-base, #3b82f6));\n border-radius: var(--rounded-md, 0.375rem);\n transform: translateX(-50%);\n }\n\n :host([floating-label]:not([indeterminate])) .floating-label {\n display: block;\n }\n\n /* Reserve vertical space above the track so the chip does not clip */\n :host([floating-label]:not([indeterminate])) .wrapper {\n padding-top: calc(var(--text-xs, 0.75rem) + var(--space-1, 0.25rem) * 3);\n }\n\n /* ========================================\n Circular variant\n ======================================== */\n\n .circular-track {\n position: relative; /* anchor the inner text overlay */\n display: inline-flex;\n align-items: center;\n justify-content: center;\n width: var(--_circle-size);\n height: var(--_circle-size);\n }\n\n .circular-track svg {\n width: 100%;\n height: 100%;\n overflow: visible;\n transform: rotate(-90deg);\n }\n\n /* Inner overlay — label + title stacked and centered inside the ring */\n .circular-inner {\n position: absolute;\n inset: 0;\n display: flex;\n flex-direction: column;\n gap: var(--space-0-5, 0.125rem);\n align-items: center;\n justify-content: center;\n\n /* Inset from the stroke edge so text stays clear of the ring */\n padding: calc(8% + var(--_height));\n overflow: hidden;\n text-align: center;\n pointer-events: none;\n }\n\n .circular-label {\n max-width: 100%;\n overflow: hidden;\n text-overflow: ellipsis;\n font-size: var(--_circular-label-size);\n font-weight: var(--font-weight-semibold, 600);\n line-height: 1;\n color: var(--progress-label-color, currentColor);\n white-space: nowrap;\n }\n\n .circular-title {\n max-width: 100%;\n overflow: hidden;\n text-overflow: ellipsis;\n font-size: var(--_circular-title-size);\n line-height: 1.25;\n color: var(--progress-title-color, var(--color-contrast-500, #6b7280));\n white-space: nowrap;\n }\n\n /* Hide empty inner text nodes so flexbox gap doesn't create phantom space */\n .circular-label:empty,\n .circular-title:empty {\n display: none;\n }\n\n .circle-bg {\n fill: none;\n stroke: var(--progress-track-bg, var(--color-contrast-300, #ddd));\n stroke-width: var(--progress-stroke-width, calc(var(--_height) * 1.2));\n }\n\n .circle-fill {\n fill: none;\n stroke: var(--progress-fill, var(--_theme-base, #3b82f6));\n stroke-width: var(--progress-stroke-width, calc(var(--_height) * 1.2));\n stroke-linecap: round;\n transition: var(--_motion-transition, stroke-dashoffset var(--transition-normal));\n }\n\n @keyframes ore-progress-spin {\n from {\n transform: rotate(-90deg);\n }\n\n to {\n transform: rotate(270deg);\n }\n }\n\n @keyframes ore-progress-dash {\n 0% {\n stroke-dasharray: 1px var(--_circ);\n stroke-dashoffset: var(--_circ);\n }\n\n 40% {\n stroke-dasharray: calc(var(--_circ) * 0.75) var(--_circ);\n stroke-dashoffset: calc(var(--_circ) * -0.1);\n }\n\n 60% {\n stroke-dasharray: calc(var(--_circ) * 0.75) var(--_circ);\n stroke-dashoffset: calc(var(--_circ) * -0.1);\n }\n\n 100% {\n stroke-dasharray: 1px var(--_circ);\n stroke-dashoffset: calc(var(--_circ) * -0.9);\n }\n }\n\n :host([indeterminate]) .circular-track svg {\n animation: var(--_motion-animation, ore-progress-spin var(--duration-1400) var(--ease-linear) infinite);\n }\n\n :host([indeterminate]) .circle-fill {\n animation: var(--_motion-animation, ore-progress-dash var(--duration-1400) var(--ease-in-out) infinite);\n }\n}\n\n@layer refine.utilities {\n :host([size='sm']) {\n --_height: var(--size-1, 0.25rem);\n --_circle-size: 4rem;\n --_circular-label-size: var(--text-sm, 0.875rem);\n --_circular-title-size: var(--text-2xs, 0.625rem);\n }\n\n :host([size='md']) {\n --_height: var(--size-2, 0.5rem);\n --_circle-size: 6rem;\n }\n\n :host([size='lg']) {\n --_height: var(--size-3-5, 0.875rem);\n --_circle-size: 9rem;\n --_circular-label-size: var(--text-3xl);\n --_circular-title-size: var(--text-sm, 0.875rem);\n }\n}\n\n/* Extra indeterminate state overrides — cannot be expressed via CSS variables alone */\n@media (prefers-reduced-motion: reduce) {\n :host([indeterminate]) .fill {\n width: 100%;\n opacity: 0.6;\n }\n\n :host([indeterminate]) .circle-fill {\n stroke-dasharray: none;\n }\n\n :host([type='vertical'][indeterminate]) .fill {\n height: 100%;\n opacity: 0.6;\n }\n}\n"],"mappings":""}
|
|
@@ -0,0 +1,68 @@
|
|
|
1
|
+
import type { ComponentSize, ThemeColor } from '../../types';
|
|
2
|
+
/** Progress bar component properties */
|
|
3
|
+
export type OreProgressProps = {
|
|
4
|
+
/** Theme color for the fill bar */
|
|
5
|
+
color?: ThemeColor;
|
|
6
|
+
/** Floating chip centered above the fill endpoint (linear only). Hidden in indeterminate mode. Position formula: left = fill% − half chip width (CSS: left:X%; transform:translateX(−50%)). */
|
|
7
|
+
'floating-label'?: string;
|
|
8
|
+
/** When true, shows an infinite animation — use when progress is unknown. */
|
|
9
|
+
indeterminate?: boolean;
|
|
10
|
+
/** Accessible name AND visible text label.
|
|
11
|
+
* - Linear without `title`: rendered at the end of the bar.
|
|
12
|
+
* - Linear with `title`: moved into the header row above the bar.
|
|
13
|
+
* - Circular: large text centered inside the ring. */
|
|
14
|
+
label?: string;
|
|
15
|
+
/** Maximum value. Defaults to 100. */
|
|
16
|
+
max?: number;
|
|
17
|
+
/** Size variant controlling bar height */
|
|
18
|
+
size?: ComponentSize;
|
|
19
|
+
/** Title text.
|
|
20
|
+
* - Linear: displayed as a header above the bar; moves `label` into the header row.
|
|
21
|
+
* - Circular: smaller text displayed below the `label` inside the ring. */
|
|
22
|
+
title?: string;
|
|
23
|
+
/** 'linear' (default), 'circular', or 'vertical' */
|
|
24
|
+
type?: 'linear' | 'circular' | 'vertical';
|
|
25
|
+
/** Current progress value (0 to `max`). Ignored when `indeterminate`. */
|
|
26
|
+
value?: number;
|
|
27
|
+
/** Human-readable value text for screen readers (e.g. "Step 2 of 5", "75%"). Overrides the raw aria-valuenow when set. */
|
|
28
|
+
'value-text'?: string;
|
|
29
|
+
};
|
|
30
|
+
/**
|
|
31
|
+
* A linear progress bar for conveying operation progress.
|
|
32
|
+
* Supports determinate (known value) and indeterminate (unknown duration) modes.
|
|
33
|
+
*
|
|
34
|
+
* @element ore-progress
|
|
35
|
+
*
|
|
36
|
+
* @attr {number} value - Current value (0–max). Defaults to 0.
|
|
37
|
+
* @attr {number} max - Maximum value. Defaults to 100.
|
|
38
|
+
* @attr {boolean} indeterminate - Show infinite animation (ignores value/max).
|
|
39
|
+
* @attr {string} color - Theme color: 'primary' | 'success' | 'warning' | 'error' | …
|
|
40
|
+
* @attr {string} size - Bar height/width: 'sm' | 'md' | 'lg'
|
|
41
|
+
* @attr {string} type - 'linear' (default) | 'circular' | 'vertical'
|
|
42
|
+
*
|
|
43
|
+
* @cssprop --progress-width - Bar width override (vertical only)
|
|
44
|
+
* @attr {string} label - Visible text label + accessible name. Linear: at bar end (or header row with title). Circular: large text centered inside the ring.
|
|
45
|
+
* @attr {string} title - Title text. Linear: header above the bar (moves label to header row). Circular: smaller text below the label inside the ring.
|
|
46
|
+
* @attr {string} floating-label - Floating chip centered above the fill endpoint (linear only); hidden when indeterminate.
|
|
47
|
+
*
|
|
48
|
+
* @cssprop --progress-height - Bar height override
|
|
49
|
+
* @cssprop --progress-track-bg - Track background color
|
|
50
|
+
* @cssprop --progress-fill - Fill bar color
|
|
51
|
+
* @cssprop --progress-radius - Border radius
|
|
52
|
+
* @cssprop --progress-label-gap - Gap between header/bar row and between bar and trailing label (default 0.25 rem)
|
|
53
|
+
* @cssprop --progress-title-color - Title text color (defaults to currentColor)
|
|
54
|
+
* @cssprop --progress-label-color - Label text color (defaults to currentColor)
|
|
55
|
+
* @cssprop --progress-circle-size - Circular indicator diameter (default 6rem)
|
|
56
|
+
* @cssprop --progress-circular-label-size - Font size of the label inside the ring (default --text-xl)
|
|
57
|
+
* @cssprop --progress-circular-title-size - Font size of the title inside the ring (default --text-xs)
|
|
58
|
+
*
|
|
59
|
+
* @part fill - Progress fill element.
|
|
60
|
+
* @example
|
|
61
|
+
* ```html
|
|
62
|
+
* <ore-progress value="45"></ore-progress>
|
|
63
|
+
* <ore-progress value="75" max="100" color="success" size="lg"></ore-progress>
|
|
64
|
+
* <ore-progress indeterminate color="primary" label="Loading…"></ore-progress>
|
|
65
|
+
* ```
|
|
66
|
+
*/
|
|
67
|
+
export declare const PROGRESS_TAG: "ore-progress";
|
|
68
|
+
//# sourceMappingURL=progress.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"progress.d.ts","sourceRoot":"","sources":["../../../src/feedback/progress/progress.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,aAAa,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAM7D,wCAAwC;AACxC,MAAM,MAAM,gBAAgB,GAAG;IAC7B,mCAAmC;IACnC,KAAK,CAAC,EAAE,UAAU,CAAC;IACnB,+LAA+L;IAC/L,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,6EAA6E;IAC7E,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB;;;0DAGsD;IACtD,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,sCAAsC;IACtC,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,0CAA0C;IAC1C,IAAI,CAAC,EAAE,aAAa,CAAC;IACrB;;+EAE2E;IAC3E,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,oDAAoD;IACpD,IAAI,CAAC,EAAE,QAAQ,GAAG,UAAU,GAAG,UAAU,CAAC;IAC1C,yEAAyE;IACzE,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,0HAA0H;IAC1H,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB,CAAC;AAEF;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAoCG;AACH,eAAO,MAAM,YAAY,EAAG,cAAuB,CAAC"}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
var e=`@layer refine.base{:host{--_bg:var(--skeleton-bg,var(--color-contrast-200));--_highlight:var(--skeleton-highlight,var(--color-contrast-100));--_radius:var(--skeleton-radius,var(--rounded-lg));--_circle-size:var(--skeleton-size,var(--size-10));--_width:var(--skeleton-width,100%);--_height:var(--skeleton-height,var(--size-4));--_line-gap:var(--skeleton-line-gap,var(--size-2));--_last-line-width:var(--skeleton-last-line-width,60%);--_duration:var(--skeleton-duration,1.6s);--_stripe-size:var(--skeleton-stripe-size,8px);width:var(--_width);height:var(--_height);display:inline-block}.stack{gap:var(--_line-gap);width:100%;height:100%;display:grid}.bone{background:var(--_bg);border-radius:var(--_radius);width:100%;height:100%;position:relative;overflow:hidden}.bone:after{content:"";background:linear-gradient(90deg, var(--_bg) 0%, var(--_highlight) 50%, var(--_bg) 100%);animation:var(--_motion-animation,ore-skeleton-shimmer var(--_duration) linear infinite);position:absolute;inset:0;transform:translate(-100%)}:host([data-animated=false]) .bone:after{display:none}:host([data-paused]) .bone:after{animation-play-state:paused}@keyframes ore-skeleton-shimmer{to{transform:translate(100%)}}:host(:dir(rtl)) .bone:after{animation-direction:reverse}}@layer refine.variants{:host([variant=circle]){--_radius:var(--rounded-full);width:var(--skeleton-width,var(--_circle-size));height:var(--skeleton-height,var(--_circle-size));aspect-ratio:1}:host([variant=text]){--_height:var(--size-3);--_radius:var(--rounded-sm);height:auto}:host([variant=text]) .stack{height:auto}:host([variant=text]) .bone{height:var(--_height)}:host([variant=text]) .bone[data-last=true]{width:var(--_last-line-width)}}@layer refine.striped{:host([striped]) .stack{width:99%}:host([striped]) .bone{--_stripe-color:var(--skeleton-stripe-color,var(--color-contrast-400));border:var(--border) dashed var(--_stripe-color);background-color:#0000}:host([striped]) .bone:before{--_stripe-color:var(--skeleton-stripe-color,var(--color-contrast-300));content:"";background-color:var(--_stripe-color);-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3E%3Cline x1='0' y1='8' x2='8' y2='0' stroke='white' stroke-width='1'/%3E%3C/svg%3E");mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3E%3Cline x1='0' y1='8' x2='8' y2='0' stroke='white' stroke-width='1'/%3E%3C/svg%3E");-webkit-mask-size:var(--_stripe-size) var(--_stripe-size);-webkit-mask-size:var(--_stripe-size) var(--_stripe-size);mask-size:var(--_stripe-size) var(--_stripe-size);position:absolute;inset:0}:host([striped]) .bone:after{display:none}}@layer refine.utilities{:host([size=sm]){--_height:var(--size-3);--_circle-size:var(--size-8)}:host([size=md]){--_height:var(--size-4);--_circle-size:var(--size-10)}:host([size=lg]){--_height:var(--size-6);--_circle-size:var(--size-14)}}@media (forced-colors:active){.bone{background:buttonface;border:1px solid buttontext}.bone:after{display:none}}`;exports.default=e;
|
|
2
|
+
//# sourceMappingURL=skeleton.css?inline.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"skeleton.css?inline.cjs","names":[],"sources":["../../../src/feedback/skeleton/skeleton.css?inline"],"sourcesContent":["@layer refine.base {\n :host {\n --_bg: var(--skeleton-bg, var(--color-contrast-200));\n --_highlight: var(--skeleton-highlight, var(--color-contrast-100));\n --_radius: var(--skeleton-radius, var(--rounded-lg));\n --_circle-size: var(--skeleton-size, var(--size-10));\n --_width: var(--skeleton-width, 100%);\n --_height: var(--skeleton-height, var(--size-4));\n --_line-gap: var(--skeleton-line-gap, var(--size-2));\n --_last-line-width: var(--skeleton-last-line-width, 60%);\n --_duration: var(--skeleton-duration, 1.6s);\n --_stripe-size: var(--skeleton-stripe-size, 8px);\n\n display: inline-block;\n width: var(--_width);\n height: var(--_height);\n }\n\n .stack {\n display: grid;\n gap: var(--_line-gap);\n width: 100%;\n height: 100%;\n }\n\n .bone {\n position: relative;\n width: 100%;\n height: 100%;\n overflow: hidden;\n background: var(--_bg);\n border-radius: var(--_radius);\n }\n\n .bone::after {\n position: absolute;\n inset: 0;\n content: '';\n background: linear-gradient(90deg, var(--_bg) 0%, var(--_highlight) 50%, var(--_bg) 100%);\n transform: translateX(-100%);\n animation: var(--_motion-animation, ore-skeleton-shimmer var(--_duration) linear infinite);\n }\n\n :host([data-animated='false']) .bone::after {\n display: none;\n }\n\n /* Pause shimmer when scrolled out of the viewport — no visible effect, saves GPU */\n :host([data-paused]) .bone::after {\n animation-play-state: paused;\n }\n\n @keyframes ore-skeleton-shimmer {\n to {\n transform: translateX(100%);\n }\n }\n\n /* In RTL the shimmer should sweep right-to-left */\n :host(:dir(rtl)) .bone::after {\n animation-direction: reverse;\n }\n}\n\n@layer refine.variants {\n /* Circle variant — avatars, icons */\n :host([variant='circle']) {\n --_radius: var(--rounded-full);\n\n width: var(--skeleton-width, var(--_circle-size));\n height: var(--skeleton-height, var(--_circle-size));\n aspect-ratio: 1 / 1;\n }\n\n /* Text variant — thinner, for inline text lines */\n :host([variant='text']) {\n --_height: var(--size-3);\n --_radius: var(--rounded-sm);\n\n height: auto;\n }\n\n :host([variant='text']) .stack {\n height: auto;\n }\n\n :host([variant='text']) .bone {\n height: var(--_height);\n }\n\n :host([variant='text']) .bone[data-last='true'] {\n width: var(--_last-line-width);\n }\n}\n\n@layer refine.striped {\n :host([striped]) .stack {\n width: 99%;\n }\n\n :host([striped]) .bone {\n --_stripe-color: var(--skeleton-stripe-color, var(--color-contrast-400));\n\n background-color: transparent;\n border: var(--border) dashed var(--_stripe-color);\n }\n\n :host([striped]) .bone::before {\n --_stripe-color: var(--skeleton-stripe-color, var(--color-contrast-300));\n\n position: absolute;\n inset: 0;\n content: '';\n background-color: var(--_stripe-color);\n mask-image: url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3E%3Cline x1='0' y1='8' x2='8' y2='0' stroke='white' stroke-width='1'/%3E%3C/svg%3E\");\n mask-size: var(--_stripe-size) var(--_stripe-size);\n }\n\n :host([striped]) .bone::after {\n display: none;\n }\n}\n\n@layer refine.utilities {\n :host([size='sm']) {\n --_height: var(--size-3);\n --_circle-size: var(--size-8);\n }\n\n :host([size='md']) {\n --_height: var(--size-4);\n --_circle-size: var(--size-10);\n }\n\n :host([size='lg']) {\n --_height: var(--size-6);\n --_circle-size: var(--size-14);\n }\n}\n\n@media (forced-colors: active) {\n .bone {\n background: ButtonFace;\n border: 1px solid ButtonText;\n }\n\n .bone::after {\n display: none;\n }\n}\n"],"mappings":""}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
//#region src/feedback/skeleton/skeleton.css?inline
|
|
2
|
+
var e = "@layer refine.base{:host{--_bg:var(--skeleton-bg,var(--color-contrast-200));--_highlight:var(--skeleton-highlight,var(--color-contrast-100));--_radius:var(--skeleton-radius,var(--rounded-lg));--_circle-size:var(--skeleton-size,var(--size-10));--_width:var(--skeleton-width,100%);--_height:var(--skeleton-height,var(--size-4));--_line-gap:var(--skeleton-line-gap,var(--size-2));--_last-line-width:var(--skeleton-last-line-width,60%);--_duration:var(--skeleton-duration,1.6s);--_stripe-size:var(--skeleton-stripe-size,8px);width:var(--_width);height:var(--_height);display:inline-block}.stack{gap:var(--_line-gap);width:100%;height:100%;display:grid}.bone{background:var(--_bg);border-radius:var(--_radius);width:100%;height:100%;position:relative;overflow:hidden}.bone:after{content:\"\";background:linear-gradient(90deg, var(--_bg) 0%, var(--_highlight) 50%, var(--_bg) 100%);animation:var(--_motion-animation,ore-skeleton-shimmer var(--_duration) linear infinite);position:absolute;inset:0;transform:translate(-100%)}:host([data-animated=false]) .bone:after{display:none}:host([data-paused]) .bone:after{animation-play-state:paused}@keyframes ore-skeleton-shimmer{to{transform:translate(100%)}}:host(:dir(rtl)) .bone:after{animation-direction:reverse}}@layer refine.variants{:host([variant=circle]){--_radius:var(--rounded-full);width:var(--skeleton-width,var(--_circle-size));height:var(--skeleton-height,var(--_circle-size));aspect-ratio:1}:host([variant=text]){--_height:var(--size-3);--_radius:var(--rounded-sm);height:auto}:host([variant=text]) .stack{height:auto}:host([variant=text]) .bone{height:var(--_height)}:host([variant=text]) .bone[data-last=true]{width:var(--_last-line-width)}}@layer refine.striped{:host([striped]) .stack{width:99%}:host([striped]) .bone{--_stripe-color:var(--skeleton-stripe-color,var(--color-contrast-400));border:var(--border) dashed var(--_stripe-color);background-color:#0000}:host([striped]) .bone:before{--_stripe-color:var(--skeleton-stripe-color,var(--color-contrast-300));content:\"\";background-color:var(--_stripe-color);-webkit-mask-image:url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3E%3Cline x1='0' y1='8' x2='8' y2='0' stroke='white' stroke-width='1'/%3E%3C/svg%3E\");mask-image:url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3E%3Cline x1='0' y1='8' x2='8' y2='0' stroke='white' stroke-width='1'/%3E%3C/svg%3E\");-webkit-mask-size:var(--_stripe-size) var(--_stripe-size);-webkit-mask-size:var(--_stripe-size) var(--_stripe-size);mask-size:var(--_stripe-size) var(--_stripe-size);position:absolute;inset:0}:host([striped]) .bone:after{display:none}}@layer refine.utilities{:host([size=sm]){--_height:var(--size-3);--_circle-size:var(--size-8)}:host([size=md]){--_height:var(--size-4);--_circle-size:var(--size-10)}:host([size=lg]){--_height:var(--size-6);--_circle-size:var(--size-14)}}@media (forced-colors:active){.bone{background:buttonface;border:1px solid buttontext}.bone:after{display:none}}";
|
|
3
|
+
//#endregion
|
|
4
|
+
export { e as default };
|
|
5
|
+
|
|
6
|
+
//# sourceMappingURL=skeleton.css?inline.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"skeleton.css?inline.js","names":[],"sources":["../../../src/feedback/skeleton/skeleton.css?inline"],"sourcesContent":["@layer refine.base {\n :host {\n --_bg: var(--skeleton-bg, var(--color-contrast-200));\n --_highlight: var(--skeleton-highlight, var(--color-contrast-100));\n --_radius: var(--skeleton-radius, var(--rounded-lg));\n --_circle-size: var(--skeleton-size, var(--size-10));\n --_width: var(--skeleton-width, 100%);\n --_height: var(--skeleton-height, var(--size-4));\n --_line-gap: var(--skeleton-line-gap, var(--size-2));\n --_last-line-width: var(--skeleton-last-line-width, 60%);\n --_duration: var(--skeleton-duration, 1.6s);\n --_stripe-size: var(--skeleton-stripe-size, 8px);\n\n display: inline-block;\n width: var(--_width);\n height: var(--_height);\n }\n\n .stack {\n display: grid;\n gap: var(--_line-gap);\n width: 100%;\n height: 100%;\n }\n\n .bone {\n position: relative;\n width: 100%;\n height: 100%;\n overflow: hidden;\n background: var(--_bg);\n border-radius: var(--_radius);\n }\n\n .bone::after {\n position: absolute;\n inset: 0;\n content: '';\n background: linear-gradient(90deg, var(--_bg) 0%, var(--_highlight) 50%, var(--_bg) 100%);\n transform: translateX(-100%);\n animation: var(--_motion-animation, ore-skeleton-shimmer var(--_duration) linear infinite);\n }\n\n :host([data-animated='false']) .bone::after {\n display: none;\n }\n\n /* Pause shimmer when scrolled out of the viewport — no visible effect, saves GPU */\n :host([data-paused]) .bone::after {\n animation-play-state: paused;\n }\n\n @keyframes ore-skeleton-shimmer {\n to {\n transform: translateX(100%);\n }\n }\n\n /* In RTL the shimmer should sweep right-to-left */\n :host(:dir(rtl)) .bone::after {\n animation-direction: reverse;\n }\n}\n\n@layer refine.variants {\n /* Circle variant — avatars, icons */\n :host([variant='circle']) {\n --_radius: var(--rounded-full);\n\n width: var(--skeleton-width, var(--_circle-size));\n height: var(--skeleton-height, var(--_circle-size));\n aspect-ratio: 1 / 1;\n }\n\n /* Text variant — thinner, for inline text lines */\n :host([variant='text']) {\n --_height: var(--size-3);\n --_radius: var(--rounded-sm);\n\n height: auto;\n }\n\n :host([variant='text']) .stack {\n height: auto;\n }\n\n :host([variant='text']) .bone {\n height: var(--_height);\n }\n\n :host([variant='text']) .bone[data-last='true'] {\n width: var(--_last-line-width);\n }\n}\n\n@layer refine.striped {\n :host([striped]) .stack {\n width: 99%;\n }\n\n :host([striped]) .bone {\n --_stripe-color: var(--skeleton-stripe-color, var(--color-contrast-400));\n\n background-color: transparent;\n border: var(--border) dashed var(--_stripe-color);\n }\n\n :host([striped]) .bone::before {\n --_stripe-color: var(--skeleton-stripe-color, var(--color-contrast-300));\n\n position: absolute;\n inset: 0;\n content: '';\n background-color: var(--_stripe-color);\n mask-image: url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3E%3Cline x1='0' y1='8' x2='8' y2='0' stroke='white' stroke-width='1'/%3E%3C/svg%3E\");\n mask-size: var(--_stripe-size) var(--_stripe-size);\n }\n\n :host([striped]) .bone::after {\n display: none;\n }\n}\n\n@layer refine.utilities {\n :host([size='sm']) {\n --_height: var(--size-3);\n --_circle-size: var(--size-8);\n }\n\n :host([size='md']) {\n --_height: var(--size-4);\n --_circle-size: var(--size-10);\n }\n\n :host([size='lg']) {\n --_height: var(--size-6);\n --_circle-size: var(--size-14);\n }\n}\n\n@media (forced-colors: active) {\n .bone {\n background: ButtonFace;\n border: 1px solid ButtonText;\n }\n\n .bone::after {\n display: none;\n }\n}\n"],"mappings":""}
|
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
import type { ComponentSize } from '../../types';
|
|
2
|
+
/** Skeleton loader component properties */
|
|
3
|
+
export type OreSkeletonProps = {
|
|
4
|
+
/** Toggle shimmer animation */
|
|
5
|
+
animated?: boolean;
|
|
6
|
+
/** Height override (e.g. '1rem', '3rem') */
|
|
7
|
+
height?: string;
|
|
8
|
+
/** Number of text lines for `variant='text'` */
|
|
9
|
+
lines?: number;
|
|
10
|
+
/** Radius override (e.g. '9999px', 'var(--rounded-xl)') */
|
|
11
|
+
radius?: string;
|
|
12
|
+
/** Size preset controlling line height and circle size */
|
|
13
|
+
size?: ComponentSize;
|
|
14
|
+
/** Render diagonal stripes instead of the shimmer — useful as a design-mode placeholder */
|
|
15
|
+
striped?: boolean;
|
|
16
|
+
/** Visual variant: 'rect' (default), 'circle', or 'text' */
|
|
17
|
+
variant?: 'rect' | 'circle' | 'text';
|
|
18
|
+
/** Width override (e.g. '12rem', '70%') */
|
|
19
|
+
width?: string;
|
|
20
|
+
};
|
|
21
|
+
/**
|
|
22
|
+
* A shimmer placeholder that represents loading content.
|
|
23
|
+
* Control dimensions via the `--skeleton-width` and `--skeleton-height` CSS custom properties,
|
|
24
|
+
* or via `width` / `height` inline styles.
|
|
25
|
+
*
|
|
26
|
+
* @element ore-skeleton
|
|
27
|
+
*
|
|
28
|
+
* @attr {string} variant - Shape: 'rect' (default) | 'circle' | 'text'
|
|
29
|
+
* @attr {string} size - Height/circle preset: 'sm' | 'md' | 'lg'
|
|
30
|
+
* @attr {string} width - Width override (CSS length/percentage)
|
|
31
|
+
* @attr {string} height - Height override (CSS length)
|
|
32
|
+
* @attr {string} radius - Radius override
|
|
33
|
+
* @attr {boolean} animated - Disable with `animated="false"`
|
|
34
|
+
* @attr {number} lines - Text line count (only for `variant='text'`)
|
|
35
|
+
* @attr {boolean} striped - Replace shimmer with diagonal stripes
|
|
36
|
+
*
|
|
37
|
+
* @cssprop --skeleton-bg - Base shimmer color
|
|
38
|
+
* @cssprop --skeleton-highlight - Shimmer highlight color
|
|
39
|
+
* @cssprop --skeleton-radius - Border radius
|
|
40
|
+
* @cssprop --skeleton-size - Circle fallback size
|
|
41
|
+
* @cssprop --skeleton-width - Width (default: 100%)
|
|
42
|
+
* @cssprop --skeleton-height - Height (default: var(--size-4))
|
|
43
|
+
* @cssprop --skeleton-line-gap - Vertical gap between text lines
|
|
44
|
+
* @cssprop --skeleton-last-line-width - Width of the final text line
|
|
45
|
+
* @cssprop --skeleton-duration - Shimmer animation duration
|
|
46
|
+
* @cssprop --skeleton-stripe-size - Width of each diagonal stripe (default: 6px)
|
|
47
|
+
*
|
|
48
|
+
* @part stack - Stack container.
|
|
49
|
+
* @part bone - Skeleton bone element.
|
|
50
|
+
* @example
|
|
51
|
+
* ```html
|
|
52
|
+
* <!-- Paragraph lines -->
|
|
53
|
+
* <ore-skeleton variant="text" lines="3" width="100%"></ore-skeleton>
|
|
54
|
+
*
|
|
55
|
+
* <!-- Avatar -->
|
|
56
|
+
* <ore-skeleton variant="circle" size="md"></ore-skeleton>
|
|
57
|
+
*
|
|
58
|
+
* <!-- Card image -->
|
|
59
|
+
* <ore-skeleton width="100%" height="10rem"></ore-skeleton>
|
|
60
|
+
* ```
|
|
61
|
+
*/
|
|
62
|
+
export declare const SKELETON_TAG: "ore-skeleton";
|
|
63
|
+
//# sourceMappingURL=skeleton.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"skeleton.d.ts","sourceRoot":"","sources":["../../../src/feedback/skeleton/skeleton.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAOjD,2CAA2C;AAC3C,MAAM,MAAM,gBAAgB,GAAG;IAC7B,+BAA+B;IAC/B,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,4CAA4C;IAC5C,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,gDAAgD;IAChD,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,2DAA2D;IAC3D,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,0DAA0D;IAC1D,IAAI,CAAC,EAAE,aAAa,CAAC;IACrB,2FAA2F;IAC3F,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,4DAA4D;IAC5D,OAAO,CAAC,EAAE,MAAM,GAAG,QAAQ,GAAG,MAAM,CAAC;IACrC,2CAA2C;IAC3C,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB,CAAC;AAEF;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAwCG;AACH,eAAO,MAAM,YAAY,EAAG,cAAuB,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/feedback/toast/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,kBAAkB,EAClB,KAAK,EACL,SAAS,EACT,KAAK,cAAc,EACnB,KAAK,aAAa,EAClB,KAAK,YAAY,EACjB,KAAK,SAAS,EACd,KAAK,YAAY,EACjB,KAAK,kBAAkB,GACxB,MAAM,SAAS,CAAC"}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
var e=`@layer refine.base{:host{--_position:var(--toast-position,fixed);--_inset-top:var(--toast-inset-top,auto);--_inset-bottom:var(--toast-inset-bottom,1rem);--_inset-right:var(--toast-inset-right,1rem);--_inset-left:var(--toast-inset-left,auto);--_z-index:var(--toast-z-index,9999);--_max-width:var(--toast-max-width,400px);--_gap:var(--toast-gap,.5rem);position:var(--_position);inset:var(--_inset-top) var(--_inset-right) var(--_inset-bottom) var(--_inset-left);z-index:var(--_z-index);gap:var(--_gap);max-width:var(--_max-width);pointer-events:none;flex-direction:column;display:flex}:host([position=top-left]){--_inset-top:1rem;--_inset-bottom:auto;--_inset-left:1rem;--_inset-right:auto}:host([position=top-center]){--_inset-top:1rem;--_inset-bottom:auto;--_inset-left:50%;--_inset-right:auto;transform:translate(-50%)}:host([position=top-right]){--_inset-top:1rem;--_inset-bottom:auto;--_inset-right:1rem;--_inset-left:auto}:host([position=bottom-left]){--_inset-bottom:1rem;--_inset-left:1rem;--_inset-right:auto;--_inset-top:auto}:host([position=bottom-center]){--_inset-bottom:1rem;--_inset-left:50%;--_inset-right:auto;--_inset-top:auto;transform:translate(-50%)}:host([position=bottom-right]){--_inset-bottom:1rem;--_inset-right:1rem;--_inset-left:auto;--_inset-top:auto}.toast-container{perspective:1200px;perspective-origin:50%;transition:row-gap var(--transition-normal);grid-template-rows:1fr;grid-template-columns:1fr;row-gap:0;display:grid}.toast-live-region{display:contents}:host(.hovered) .toast-container{row-gap:var(--_gap)}:host(:not(.hovered)) .toast-wrapper{grid-area:1/1;align-self:end}:host([position^=top]:not(.hovered)) .toast-wrapper{align-self:start}.toast-wrapper{pointer-events:auto;touch-action:pan-y;position:relative}:host(:not(.hovered)) .toast-wrapper:last-child{z-index:3;transform:translateY(0)scale(1)}:host(:not(.hovered)) .toast-wrapper:nth-last-child(2){z-index:2;pointer-events:none;transform:translateY(-8px)scale(.95)}:host(:not(.hovered)) .toast-wrapper:nth-last-child(3){z-index:1;pointer-events:none;transform:translateY(-14px)scale(.9)}:host(:not(.hovered)) .toast-wrapper:nth-last-child(n+4){visibility:hidden;pointer-events:none}:host([position^=top]) .toast-wrapper{transform-origin:top}:host([position^=top]:not(.hovered)) .toast-wrapper:nth-last-child(2){transform:translateY(8px)scale(.95)}:host([position^=top]:not(.hovered)) .toast-wrapper:nth-last-child(3){transform:translateY(14px)scale(.9)}:host(.hovered) .toast-wrapper{z-index:auto;visibility:visible;pointer-events:auto;grid-area:auto/1;align-self:stretch;transform:none}:host(.hovered) .toast-wrapper:nth-last-child(2){transition-delay:var(--duration-75)}:host(.hovered) .toast-wrapper:nth-last-child(3){transition-delay:var(--duration-100)}:host(.hovered) .toast-wrapper:nth-last-child(n+4){transition-delay:var(--duration-150)}.toast-inner{opacity:1;transition:opacity var(--toast-exit-duration,.3s) var(--ease-out);position:relative}.toast-inner.entering{opacity:0;transition:none}.toast-inner.exiting{pointer-events:none;opacity:0}::slotted(ore-alert),ore-alert{width:100%;box-shadow:var(--shadow-lg);--_motion-animation:none;margin:0}.toast-actions{gap:var(--size-4);justify-content:flex-end;display:flex}@media (width<=480px){:host{--_max-width:calc(100vw - var(--size-4));--_inset-right:var(--size-2);--_inset-left:var(--size-2)}:host([position=top-center]),:host([position=bottom-center]){--_inset-left:var(--size-2);transform:none}:host([position=top-center]):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)),:host([position=bottom-center]):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)){left:var(--size-2)}:host([position=top-center]):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)){right:var(--size-2)}:host([position=bottom-center]):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)){right:var(--size-2)}}}`;exports.default=e;
|
|
2
|
+
//# sourceMappingURL=toast.css?inline.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"toast.css?inline.cjs","names":[],"sources":["../../../src/feedback/toast/toast.css?inline"],"sourcesContent":["@layer refine.base {\n :host {\n --_position: var(--toast-position, fixed);\n --_inset-top: var(--toast-inset-top, auto);\n --_inset-bottom: var(--toast-inset-bottom, 1rem);\n --_inset-right: var(--toast-inset-right, 1rem);\n --_inset-left: var(--toast-inset-left, auto);\n --_z-index: var(--toast-z-index, 9999);\n --_max-width: var(--toast-max-width, 400px);\n --_gap: var(--toast-gap, 0.5rem);\n\n position: var(--_position);\n inset: var(--_inset-top) var(--_inset-right) var(--_inset-bottom) var(--_inset-left);\n z-index: var(--_z-index);\n display: flex;\n flex-direction: column;\n gap: var(--_gap);\n max-width: var(--_max-width);\n pointer-events: none;\n }\n\n /* ── Position variants ────────────────────────────────────────────────── */\n\n :host([position='top-left']) {\n --_inset-top: 1rem;\n --_inset-bottom: auto;\n --_inset-left: 1rem;\n --_inset-right: auto;\n }\n\n :host([position='top-center']) {\n --_inset-top: 1rem;\n --_inset-bottom: auto;\n --_inset-left: 50%;\n --_inset-right: auto;\n\n transform: translateX(-50%);\n }\n\n :host([position='top-right']) {\n --_inset-top: 1rem;\n --_inset-bottom: auto;\n --_inset-right: 1rem;\n --_inset-left: auto;\n }\n\n :host([position='bottom-left']) {\n --_inset-bottom: 1rem;\n --_inset-left: 1rem;\n --_inset-right: auto;\n --_inset-top: auto;\n }\n\n :host([position='bottom-center']) {\n --_inset-bottom: 1rem;\n --_inset-left: 50%;\n --_inset-right: auto;\n --_inset-top: auto;\n\n transform: translateX(-50%);\n }\n\n :host([position='bottom-right']) {\n --_inset-bottom: 1rem;\n --_inset-right: 1rem;\n --_inset-left: auto;\n --_inset-top: auto;\n }\n\n /* ── Container ────────────────────────────────────────────────────────── */\n\n .toast-container {\n display: grid;\n grid-template-rows: 1fr;\n grid-template-columns: 1fr;\n row-gap: 0;\n perspective: 1200px;\n perspective-origin: center center;\n transition: row-gap var(--transition-normal);\n }\n\n /* ARIA live regions are layout-transparent. */\n .toast-live-region {\n display: contents;\n }\n\n :host(.hovered) .toast-container {\n row-gap: var(--_gap);\n }\n\n /* ── Wrapper (layout / stacking only — no animation) ─────────────────── */\n\n /* .toast-wrapper owns: grid position, z-index, stacking transforms. */\n\n /* It never has opacity or transition set on it directly. */\n\n /* This keeps stacking rules and animation rules on separate elements, */\n\n /* eliminating all specificity conflicts and !important usage. */\n\n :host(:not(.hovered)) .toast-wrapper {\n grid-row: 1;\n grid-column: 1;\n align-self: end;\n }\n\n :host([position^='top']:not(.hovered)) .toast-wrapper {\n align-self: start;\n }\n\n .toast-wrapper {\n position: relative;\n pointer-events: auto;\n touch-action: pan-y;\n }\n\n /* Stacking (collapsed) — 3D perspective stack */\n :host(:not(.hovered)) .toast-wrapper:nth-last-child(1) {\n z-index: 3;\n transform: translateY(0) scale(1);\n }\n\n :host(:not(.hovered)) .toast-wrapper:nth-last-child(2) {\n z-index: 2;\n pointer-events: none;\n transform: translateY(-8px) scale(0.95);\n }\n\n :host(:not(.hovered)) .toast-wrapper:nth-last-child(3) {\n z-index: 1;\n pointer-events: none;\n transform: translateY(-14px) scale(0.9);\n }\n\n :host(:not(.hovered)) .toast-wrapper:nth-last-child(n + 4) {\n visibility: hidden;\n pointer-events: none;\n }\n\n /* Top positions: reverse stacking direction */\n :host([position^='top']) .toast-wrapper {\n transform-origin: center top;\n }\n\n :host([position^='top']:not(.hovered)) .toast-wrapper:nth-last-child(2) {\n transform: translateY(8px) scale(0.95);\n }\n\n :host([position^='top']:not(.hovered)) .toast-wrapper:nth-last-child(3) {\n transform: translateY(14px) scale(0.9);\n }\n\n /* Expanded (hovered) — stacking transforms are released per wrapper */\n :host(.hovered) .toast-wrapper {\n z-index: auto;\n visibility: visible;\n grid-row: auto;\n grid-column: 1;\n align-self: stretch;\n pointer-events: auto;\n transform: none;\n }\n\n /* Staggered expand delays (applied to wrapper transform only) */\n :host(.hovered) .toast-wrapper:nth-last-child(2) {\n transition-delay: var(--duration-75);\n }\n\n :host(.hovered) .toast-wrapper:nth-last-child(3) {\n transition-delay: var(--duration-100);\n }\n\n :host(.hovered) .toast-wrapper:nth-last-child(n + 4) {\n transition-delay: var(--duration-150);\n }\n\n /* ── Inner (animation target only — no layout role) ──────────────────── */\n\n /* .toast-inner owns: opacity, entry/exit transitions. */\n\n /* It never participates in stacking (that's the wrapper's job). */\n\n /* Swipe gesture also animates .toast-inner to keep wrapper state clean. */\n\n .toast-inner {\n position: relative;\n opacity: 1;\n transition: opacity var(--toast-exit-duration, 300ms) var(--ease-out);\n }\n\n /* Entry: snap to invisible with no transition, then rely on class removal to animate in */\n .toast-inner.entering {\n opacity: 0;\n transition: none;\n }\n\n /* Exit: fade out — wrapper stays in-flow so grid doesn't snap shut prematurely */\n .toast-inner.exiting {\n pointer-events: none;\n opacity: 0;\n }\n\n /* ── Alert inside toast ───────────────────────────────────────────────── */\n\n ::slotted(ore-alert),\n ore-alert {\n width: 100%;\n margin: 0;\n box-shadow: var(--shadow-lg);\n\n /* Suppress ore-alert's own collapse animation — the toast-inner opacity\n fade is the canonical exit. Passing --motion-animation: none overrides\n the @keyframes ore-alert-exit that fires on [dismissing]. */\n --_motion-animation: none;\n }\n\n /* ── Action buttons ───────────────────────────────────────────────────── */\n\n .toast-actions {\n display: flex;\n gap: var(--size-4);\n justify-content: flex-end;\n }\n\n /* ── Responsive: small screens ────────────────────────────────────────── */\n\n @media (width <= 480px) {\n :host {\n --_max-width: calc(100vw - var(--size-4));\n --_inset-right: var(--size-2);\n --_inset-left: var(--size-2);\n }\n\n :host([position='top-center']),\n :host([position='bottom-center']) {\n --_inset-left: var(--size-2);\n\n inset-inline-start: var(--size-2);\n transform: none;\n }\n }\n}\n"],"mappings":""}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
//#region src/feedback/toast/toast.css?inline
|
|
2
|
+
var e = "@layer refine.base{:host{--_position:var(--toast-position,fixed);--_inset-top:var(--toast-inset-top,auto);--_inset-bottom:var(--toast-inset-bottom,1rem);--_inset-right:var(--toast-inset-right,1rem);--_inset-left:var(--toast-inset-left,auto);--_z-index:var(--toast-z-index,9999);--_max-width:var(--toast-max-width,400px);--_gap:var(--toast-gap,.5rem);position:var(--_position);inset:var(--_inset-top) var(--_inset-right) var(--_inset-bottom) var(--_inset-left);z-index:var(--_z-index);gap:var(--_gap);max-width:var(--_max-width);pointer-events:none;flex-direction:column;display:flex}:host([position=top-left]){--_inset-top:1rem;--_inset-bottom:auto;--_inset-left:1rem;--_inset-right:auto}:host([position=top-center]){--_inset-top:1rem;--_inset-bottom:auto;--_inset-left:50%;--_inset-right:auto;transform:translate(-50%)}:host([position=top-right]){--_inset-top:1rem;--_inset-bottom:auto;--_inset-right:1rem;--_inset-left:auto}:host([position=bottom-left]){--_inset-bottom:1rem;--_inset-left:1rem;--_inset-right:auto;--_inset-top:auto}:host([position=bottom-center]){--_inset-bottom:1rem;--_inset-left:50%;--_inset-right:auto;--_inset-top:auto;transform:translate(-50%)}:host([position=bottom-right]){--_inset-bottom:1rem;--_inset-right:1rem;--_inset-left:auto;--_inset-top:auto}.toast-container{perspective:1200px;perspective-origin:50%;transition:row-gap var(--transition-normal);grid-template-rows:1fr;grid-template-columns:1fr;row-gap:0;display:grid}.toast-live-region{display:contents}:host(.hovered) .toast-container{row-gap:var(--_gap)}:host(:not(.hovered)) .toast-wrapper{grid-area:1/1;align-self:end}:host([position^=top]:not(.hovered)) .toast-wrapper{align-self:start}.toast-wrapper{pointer-events:auto;touch-action:pan-y;position:relative}:host(:not(.hovered)) .toast-wrapper:last-child{z-index:3;transform:translateY(0)scale(1)}:host(:not(.hovered)) .toast-wrapper:nth-last-child(2){z-index:2;pointer-events:none;transform:translateY(-8px)scale(.95)}:host(:not(.hovered)) .toast-wrapper:nth-last-child(3){z-index:1;pointer-events:none;transform:translateY(-14px)scale(.9)}:host(:not(.hovered)) .toast-wrapper:nth-last-child(n+4){visibility:hidden;pointer-events:none}:host([position^=top]) .toast-wrapper{transform-origin:top}:host([position^=top]:not(.hovered)) .toast-wrapper:nth-last-child(2){transform:translateY(8px)scale(.95)}:host([position^=top]:not(.hovered)) .toast-wrapper:nth-last-child(3){transform:translateY(14px)scale(.9)}:host(.hovered) .toast-wrapper{z-index:auto;visibility:visible;pointer-events:auto;grid-area:auto/1;align-self:stretch;transform:none}:host(.hovered) .toast-wrapper:nth-last-child(2){transition-delay:var(--duration-75)}:host(.hovered) .toast-wrapper:nth-last-child(3){transition-delay:var(--duration-100)}:host(.hovered) .toast-wrapper:nth-last-child(n+4){transition-delay:var(--duration-150)}.toast-inner{opacity:1;transition:opacity var(--toast-exit-duration,.3s) var(--ease-out);position:relative}.toast-inner.entering{opacity:0;transition:none}.toast-inner.exiting{pointer-events:none;opacity:0}::slotted(ore-alert),ore-alert{width:100%;box-shadow:var(--shadow-lg);--_motion-animation:none;margin:0}.toast-actions{gap:var(--size-4);justify-content:flex-end;display:flex}@media (width<=480px){:host{--_max-width:calc(100vw - var(--size-4));--_inset-right:var(--size-2);--_inset-left:var(--size-2)}:host([position=top-center]),:host([position=bottom-center]){--_inset-left:var(--size-2);transform:none}:host([position=top-center]):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)),:host([position=bottom-center]):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)){left:var(--size-2)}:host([position=top-center]):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)){right:var(--size-2)}:host([position=bottom-center]):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)){right:var(--size-2)}}}";
|
|
3
|
+
//#endregion
|
|
4
|
+
export { e as default };
|
|
5
|
+
|
|
6
|
+
//# sourceMappingURL=toast.css?inline.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"toast.css?inline.js","names":[],"sources":["../../../src/feedback/toast/toast.css?inline"],"sourcesContent":["@layer refine.base {\n :host {\n --_position: var(--toast-position, fixed);\n --_inset-top: var(--toast-inset-top, auto);\n --_inset-bottom: var(--toast-inset-bottom, 1rem);\n --_inset-right: var(--toast-inset-right, 1rem);\n --_inset-left: var(--toast-inset-left, auto);\n --_z-index: var(--toast-z-index, 9999);\n --_max-width: var(--toast-max-width, 400px);\n --_gap: var(--toast-gap, 0.5rem);\n\n position: var(--_position);\n inset: var(--_inset-top) var(--_inset-right) var(--_inset-bottom) var(--_inset-left);\n z-index: var(--_z-index);\n display: flex;\n flex-direction: column;\n gap: var(--_gap);\n max-width: var(--_max-width);\n pointer-events: none;\n }\n\n /* ── Position variants ────────────────────────────────────────────────── */\n\n :host([position='top-left']) {\n --_inset-top: 1rem;\n --_inset-bottom: auto;\n --_inset-left: 1rem;\n --_inset-right: auto;\n }\n\n :host([position='top-center']) {\n --_inset-top: 1rem;\n --_inset-bottom: auto;\n --_inset-left: 50%;\n --_inset-right: auto;\n\n transform: translateX(-50%);\n }\n\n :host([position='top-right']) {\n --_inset-top: 1rem;\n --_inset-bottom: auto;\n --_inset-right: 1rem;\n --_inset-left: auto;\n }\n\n :host([position='bottom-left']) {\n --_inset-bottom: 1rem;\n --_inset-left: 1rem;\n --_inset-right: auto;\n --_inset-top: auto;\n }\n\n :host([position='bottom-center']) {\n --_inset-bottom: 1rem;\n --_inset-left: 50%;\n --_inset-right: auto;\n --_inset-top: auto;\n\n transform: translateX(-50%);\n }\n\n :host([position='bottom-right']) {\n --_inset-bottom: 1rem;\n --_inset-right: 1rem;\n --_inset-left: auto;\n --_inset-top: auto;\n }\n\n /* ── Container ────────────────────────────────────────────────────────── */\n\n .toast-container {\n display: grid;\n grid-template-rows: 1fr;\n grid-template-columns: 1fr;\n row-gap: 0;\n perspective: 1200px;\n perspective-origin: center center;\n transition: row-gap var(--transition-normal);\n }\n\n /* ARIA live regions are layout-transparent. */\n .toast-live-region {\n display: contents;\n }\n\n :host(.hovered) .toast-container {\n row-gap: var(--_gap);\n }\n\n /* ── Wrapper (layout / stacking only — no animation) ─────────────────── */\n\n /* .toast-wrapper owns: grid position, z-index, stacking transforms. */\n\n /* It never has opacity or transition set on it directly. */\n\n /* This keeps stacking rules and animation rules on separate elements, */\n\n /* eliminating all specificity conflicts and !important usage. */\n\n :host(:not(.hovered)) .toast-wrapper {\n grid-row: 1;\n grid-column: 1;\n align-self: end;\n }\n\n :host([position^='top']:not(.hovered)) .toast-wrapper {\n align-self: start;\n }\n\n .toast-wrapper {\n position: relative;\n pointer-events: auto;\n touch-action: pan-y;\n }\n\n /* Stacking (collapsed) — 3D perspective stack */\n :host(:not(.hovered)) .toast-wrapper:nth-last-child(1) {\n z-index: 3;\n transform: translateY(0) scale(1);\n }\n\n :host(:not(.hovered)) .toast-wrapper:nth-last-child(2) {\n z-index: 2;\n pointer-events: none;\n transform: translateY(-8px) scale(0.95);\n }\n\n :host(:not(.hovered)) .toast-wrapper:nth-last-child(3) {\n z-index: 1;\n pointer-events: none;\n transform: translateY(-14px) scale(0.9);\n }\n\n :host(:not(.hovered)) .toast-wrapper:nth-last-child(n + 4) {\n visibility: hidden;\n pointer-events: none;\n }\n\n /* Top positions: reverse stacking direction */\n :host([position^='top']) .toast-wrapper {\n transform-origin: center top;\n }\n\n :host([position^='top']:not(.hovered)) .toast-wrapper:nth-last-child(2) {\n transform: translateY(8px) scale(0.95);\n }\n\n :host([position^='top']:not(.hovered)) .toast-wrapper:nth-last-child(3) {\n transform: translateY(14px) scale(0.9);\n }\n\n /* Expanded (hovered) — stacking transforms are released per wrapper */\n :host(.hovered) .toast-wrapper {\n z-index: auto;\n visibility: visible;\n grid-row: auto;\n grid-column: 1;\n align-self: stretch;\n pointer-events: auto;\n transform: none;\n }\n\n /* Staggered expand delays (applied to wrapper transform only) */\n :host(.hovered) .toast-wrapper:nth-last-child(2) {\n transition-delay: var(--duration-75);\n }\n\n :host(.hovered) .toast-wrapper:nth-last-child(3) {\n transition-delay: var(--duration-100);\n }\n\n :host(.hovered) .toast-wrapper:nth-last-child(n + 4) {\n transition-delay: var(--duration-150);\n }\n\n /* ── Inner (animation target only — no layout role) ──────────────────── */\n\n /* .toast-inner owns: opacity, entry/exit transitions. */\n\n /* It never participates in stacking (that's the wrapper's job). */\n\n /* Swipe gesture also animates .toast-inner to keep wrapper state clean. */\n\n .toast-inner {\n position: relative;\n opacity: 1;\n transition: opacity var(--toast-exit-duration, 300ms) var(--ease-out);\n }\n\n /* Entry: snap to invisible with no transition, then rely on class removal to animate in */\n .toast-inner.entering {\n opacity: 0;\n transition: none;\n }\n\n /* Exit: fade out — wrapper stays in-flow so grid doesn't snap shut prematurely */\n .toast-inner.exiting {\n pointer-events: none;\n opacity: 0;\n }\n\n /* ── Alert inside toast ───────────────────────────────────────────────── */\n\n ::slotted(ore-alert),\n ore-alert {\n width: 100%;\n margin: 0;\n box-shadow: var(--shadow-lg);\n\n /* Suppress ore-alert's own collapse animation — the toast-inner opacity\n fade is the canonical exit. Passing --motion-animation: none overrides\n the @keyframes ore-alert-exit that fires on [dismissing]. */\n --_motion-animation: none;\n }\n\n /* ── Action buttons ───────────────────────────────────────────────────── */\n\n .toast-actions {\n display: flex;\n gap: var(--size-4);\n justify-content: flex-end;\n }\n\n /* ── Responsive: small screens ────────────────────────────────────────── */\n\n @media (width <= 480px) {\n :host {\n --_max-width: calc(100vw - var(--size-4));\n --_inset-right: var(--size-2);\n --_inset-left: var(--size-2);\n }\n\n :host([position='top-center']),\n :host([position='bottom-center']) {\n --_inset-left: var(--size-2);\n\n inset-inline-start: var(--size-2);\n transform: none;\n }\n }\n}\n"],"mappings":""}
|
|
@@ -0,0 +1,127 @@
|
|
|
1
|
+
import type { ComponentSize, RoundedSize, ThemeColor } from '../../types';
|
|
2
|
+
export type OreToastEvents = {
|
|
3
|
+
add: {
|
|
4
|
+
id: string;
|
|
5
|
+
};
|
|
6
|
+
dismiss: {
|
|
7
|
+
id: string;
|
|
8
|
+
};
|
|
9
|
+
};
|
|
10
|
+
export type OreToastProps = {
|
|
11
|
+
max?: number;
|
|
12
|
+
position?: 'top-left' | 'top-center' | 'top-right' | 'bottom-left' | 'bottom-center' | 'bottom-right';
|
|
13
|
+
};
|
|
14
|
+
/** Individual toast notification */
|
|
15
|
+
export type ToastItem = {
|
|
16
|
+
actions?: Array<{
|
|
17
|
+
color?: ThemeColor;
|
|
18
|
+
label: string;
|
|
19
|
+
onClick?: () => void;
|
|
20
|
+
variant?: 'solid' | 'flat' | 'bordered';
|
|
21
|
+
}>;
|
|
22
|
+
color?: ThemeColor;
|
|
23
|
+
dismissible?: boolean;
|
|
24
|
+
/** Auto-dismiss delay in ms. Set to 0 for persistent toasts (default: 5000) */
|
|
25
|
+
duration?: number;
|
|
26
|
+
heading?: string;
|
|
27
|
+
/** Show message and actions side-by-side (horizontal layout) */
|
|
28
|
+
horizontal?: boolean;
|
|
29
|
+
/** Auto-generated via crypto.randomUUID() if omitted */
|
|
30
|
+
id?: string;
|
|
31
|
+
message: string;
|
|
32
|
+
/** Metadata text (e.g. timestamp) shown in the alert meta slot */
|
|
33
|
+
meta?: string;
|
|
34
|
+
/** Called after the toast is fully dismissed and removed */
|
|
35
|
+
onDismiss?: () => void;
|
|
36
|
+
rounded?: RoundedSize | '';
|
|
37
|
+
size?: ComponentSize;
|
|
38
|
+
/**
|
|
39
|
+
* Urgency level for screen readers.
|
|
40
|
+
* - `'polite'` (default): announced after the user finishes their current action.
|
|
41
|
+
* - `'assertive'`: interrupts the user immediately. Use only for critical errors.
|
|
42
|
+
*/
|
|
43
|
+
urgency?: 'polite' | 'assertive';
|
|
44
|
+
variant?: 'solid' | 'flat' | 'bordered';
|
|
45
|
+
};
|
|
46
|
+
/** Public API of the ore-toast element */
|
|
47
|
+
export interface ToastElement extends HTMLElement {
|
|
48
|
+
add: (toast: ToastItem) => string;
|
|
49
|
+
clear: () => void;
|
|
50
|
+
dismiss: (id: string) => void;
|
|
51
|
+
update: (id: string, updates: Partial<ToastItem>) => void;
|
|
52
|
+
}
|
|
53
|
+
export declare const TOAST_TAG: "ore-toast";
|
|
54
|
+
export type ToastServiceConfig = OreToastProps;
|
|
55
|
+
export interface ToastService {
|
|
56
|
+
/** Add a toast and return its id */
|
|
57
|
+
add(item: ToastItem): string;
|
|
58
|
+
/** Dismiss all toasts (animated, in parallel) */
|
|
59
|
+
clear(): void;
|
|
60
|
+
/**
|
|
61
|
+
* Configure the auto-created container.
|
|
62
|
+
* Has no effect if called after the first `add()` — logs a dev warning in that case.
|
|
63
|
+
*/
|
|
64
|
+
configure(config: ToastServiceConfig): void;
|
|
65
|
+
/** Dismiss a toast by id (animated) */
|
|
66
|
+
dismiss(id: string): void;
|
|
67
|
+
/** Shortcut: error toast with red color (assertive live region) */
|
|
68
|
+
error(message: string, opts?: Partial<ToastItem>): string;
|
|
69
|
+
/** Shortcut: info toast */
|
|
70
|
+
info(message: string, opts?: Partial<ToastItem>): string;
|
|
71
|
+
/**
|
|
72
|
+
* Shows a loading toast tied to a promise.
|
|
73
|
+
* Updates to success/error when the promise settles.
|
|
74
|
+
*/
|
|
75
|
+
promise<T>(promise: Promise<T>, messages: {
|
|
76
|
+
error: string | ((err: unknown) => string);
|
|
77
|
+
loading: string;
|
|
78
|
+
success: string | ((data: T) => string);
|
|
79
|
+
}): Promise<T>;
|
|
80
|
+
/** Shortcut: success toast with green color */
|
|
81
|
+
success(message: string, opts?: Partial<ToastItem>): string;
|
|
82
|
+
/** Update an existing toast in-place */
|
|
83
|
+
update(id: string, updates: Partial<ToastItem>): void;
|
|
84
|
+
/** Shortcut: warning toast */
|
|
85
|
+
warning(message: string, opts?: Partial<ToastItem>): string;
|
|
86
|
+
}
|
|
87
|
+
/**
|
|
88
|
+
* Creates a scoped toast service backed by an `ore-toast` element.
|
|
89
|
+
*
|
|
90
|
+
* The service lazily creates an `<ore-toast>` element inside `root` on first
|
|
91
|
+
* use. Pass a custom root to scope notifications to a sub-tree (e.g. a drawer),
|
|
92
|
+
* or use the pre-built `toast` singleton which targets `document.body`.
|
|
93
|
+
*
|
|
94
|
+
* @example
|
|
95
|
+
* ```ts
|
|
96
|
+
* // Scoped instance
|
|
97
|
+
* const drawerToast = createToastService(drawerEl);
|
|
98
|
+
* drawerToast.success('Saved inside drawer');
|
|
99
|
+
*
|
|
100
|
+
* // The default singleton
|
|
101
|
+
* import { toast } from '@vielzeug/refine';
|
|
102
|
+
* toast.success('Saved!');
|
|
103
|
+
* ```
|
|
104
|
+
*/
|
|
105
|
+
export declare function createToastService(root?: ParentNode): ToastService;
|
|
106
|
+
/**
|
|
107
|
+
* Singleton toast service — finds or creates a single `<ore-toast>` on `document.body`.
|
|
108
|
+
*
|
|
109
|
+
* @example
|
|
110
|
+
* ```ts
|
|
111
|
+
* import { toast } from '@vielzeug/refine';
|
|
112
|
+
*
|
|
113
|
+
* toast.success('Changes saved!');
|
|
114
|
+
* toast.error('Upload failed', { duration: 0 });
|
|
115
|
+
*
|
|
116
|
+
* const id = toast.add({ message: 'Uploading…', duration: 0, dismissible: false });
|
|
117
|
+
* toast.update(id, { message: 'Done!', color: 'success', duration: 3000, dismissible: true });
|
|
118
|
+
*
|
|
119
|
+
* await toast.promise(uploadFile(), {
|
|
120
|
+
* loading: 'Uploading…',
|
|
121
|
+
* success: (url) => `Uploaded to ${url}`,
|
|
122
|
+
* error: 'Upload failed',
|
|
123
|
+
* });
|
|
124
|
+
* ```
|
|
125
|
+
*/
|
|
126
|
+
export declare const toast: ToastService;
|
|
127
|
+
//# sourceMappingURL=toast.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"toast.d.ts","sourceRoot":"","sources":["../../../src/feedback/toast/toast.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,70 @@
|
|
|
1
|
+
Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=require("./styles/mixins/shape.css.cjs"),t=require("./styles/mixins/theme.css.cjs"),n=require("./styles/index.cjs"),r=require("./shared/size-presets.cjs"),i=require("./headless/keyboard.cjs"),a=require("./inputs/shared/form-context.cjs"),o=require("./inputs/file-input/file-input.css?inline.cjs");let s=require("@vielzeug/ore"),c=require("@vielzeug/ripple"),l=require("@vielzeug/dnd");var u=e=>{if(e===0)return`0 B`;let t=1024,n=[`B`,`KB`,`MB`,`GB`,`TB`],r=Math.floor(Math.log(e)/Math.log(t));return parseFloat((e/t**r).toFixed(1))+` `+n[r]},d=(e,t)=>!t||e.size<=t,f=`ore-file-input`;(0,s.define)(f,{formAssociated:!0,props:{accept:s.prop.string(),color:s.prop.string(),disabled:s.prop.bool(!1),error:s.prop.string(),helper:s.prop.string(),label:s.prop.string(),"max-files":s.prop.number(0),"max-size":s.prop.number(0),multiple:s.prop.bool(!1),name:s.prop.string(),ref:s.prop.json(void 0),required:s.prop.bool(!1),size:s.prop.string()},setup(e,{bind:t,emit:n,onCleanup:r,onElement:o,onEvent:f,onMounted:p}){let m=(0,c.signal)([]),h=(0,c.signal)(!1),g=a.useFormContext(t,e,(0,s.inject)(a.FORM_CTX)),_=g.disabled,v=(0,c.computed)(()=>e[`max-files`].value??0),y=(0,c.computed)(()=>e[`max-size`].value??0);(0,s.useField)({disabled:_,toFormValue:t=>{if(t.length===0)return null;let n=e.name.value||`file`,r=new FormData;for(let e of t)r.append(n,e);return r},value:m});let b=(0,c.computed)(()=>!!e.error.value);t({attr:{"drag-over":()=>h.value?!0:void 0,invalid:()=>b.value?!0:void 0,size:g.size}});let x=(0,s.createStableId)(`file-input`),S=`label-${x}`,C=`helper-${x}`,w=`error-${x}`,T=(0,s.ref)(),E=(0,s.ref)(),D=(0,c.computed)(()=>{let t=[];e.accept.value&&t.push(e.accept.value.split(`,`).map(e=>e.trim()).join(`, `));let n=y.value;n>0&&t.push(`max ${u(n)}`);let r=v.value;return r>0&&t.push(`up to ${r} file${r===1?``:`s`}`),t.join(` · `)});function O(t,r){if(_.value)return;let i=e.accept.value,a=!!e.multiple.value,o=Array.from(t);a||(o=o.slice(0,1)),o=o.filter(e=>(0,l.matchesAccept)(e,i?i.split(`,`).map(e=>e.trim()):[])&&d(e,y.value));let s=a?[...m.value]:[];for(let e of o)s.includes(e)||s.push(e);v.value>0&&s.length>v.value&&(s=s.slice(0,v.value)),m.value=s,n(`change`,{files:m.value,originalEvent:r,value:m.value})}function k(e,t){m.value=m.value.filter(t=>t!==e),n(`remove`,{file:e,files:m.value,originalEvent:t,value:m.value}),n(`change`,{files:m.value,originalEvent:t,value:m.value})}return o(E,t=>{e.ref.value?.(t);let n=(0,c.watch)(e.ref,e=>{e?.(t)});return()=>{n.dispose(),e.ref.value?.(null)}}),p(()=>{let e=E.value,t=T.value,n=!1,a=i.createInteraction({disabled:_,onPress:()=>{e.click()}});f(e,`change`,e=>{let t=e.target;t.files?.length&&O(Array.from(t.files),e),t.value=``}),f(t,`click`,t=>{if(t.target!==e){if(n){n=!1;return}_.value||e.click()}}),f(t,`keydown`,e=>{n=a.handleKeydown(e)&&e.key===`Enter`});let o=(0,l.createDropZone)({disabled:_.value,element:t,onDrop:e=>O(e),onHoverChange:e=>{h.value=e}});r(()=>o.dispose())}),s.html`
|
|
2
|
+
<div class="file-input-wrapper" part="wrapper">
|
|
3
|
+
<label class="label-outside" id="${S}" part="label" ?hidden=${()=>!e.label.value}
|
|
4
|
+
>${e.label}</label
|
|
5
|
+
>
|
|
6
|
+
<div
|
|
7
|
+
class="dropzone"
|
|
8
|
+
part="dropzone"
|
|
9
|
+
ref=${T}
|
|
10
|
+
role="button"
|
|
11
|
+
:tabindex="${()=>_.value?`-1`:`0`}"
|
|
12
|
+
:aria-disabled="${()=>String(_.value)}"
|
|
13
|
+
:aria-label="${()=>e.label.value?null:`File upload drop zone`}"
|
|
14
|
+
:aria-labelledby="${()=>e.label.value?S:null}"
|
|
15
|
+
aria-describedby="${C}">
|
|
16
|
+
<input
|
|
17
|
+
type="file"
|
|
18
|
+
ref=${E}
|
|
19
|
+
part="input"
|
|
20
|
+
id="${x}"
|
|
21
|
+
:accept="${e.accept}"
|
|
22
|
+
?multiple="${e.multiple}"
|
|
23
|
+
?required="${e.required}"
|
|
24
|
+
?disabled="${_}"
|
|
25
|
+
:name="${e.name}"
|
|
26
|
+
hidden
|
|
27
|
+
inert
|
|
28
|
+
tabindex="-1" />
|
|
29
|
+
<div class="dropzone-content">
|
|
30
|
+
<span class="dropzone-icon" aria-hidden="true">
|
|
31
|
+
<ore-icon name="upload" size="36" stroke-width="1.5" aria-hidden="true"></ore-icon>
|
|
32
|
+
</span>
|
|
33
|
+
<span class="dropzone-title">Drop files here or <u>click to browse</u></span>
|
|
34
|
+
<span class="dropzone-hint" ?hidden=${()=>!D.value}>${D}</span>
|
|
35
|
+
</div>
|
|
36
|
+
</div>
|
|
37
|
+
<ul class="file-list" role="list" aria-label="Selected files" ?hidden=${()=>m.value.length===0}>
|
|
38
|
+
${()=>m.value.map(e=>s.html`
|
|
39
|
+
<li class="file-item">
|
|
40
|
+
<span class="file-icon" aria-hidden="true">
|
|
41
|
+
<ore-icon name="file" size="18" stroke-width="1.75" aria-hidden="true"></ore-icon>
|
|
42
|
+
</span>
|
|
43
|
+
<span class="file-meta">
|
|
44
|
+
<span class="file-name" title="${e.name}">${e.name}</span>
|
|
45
|
+
<span class="file-size">${u(e.size)}</span>
|
|
46
|
+
</span>
|
|
47
|
+
<button
|
|
48
|
+
class="file-remove"
|
|
49
|
+
type="button"
|
|
50
|
+
aria-label="${`Remove ${e.name}`}"
|
|
51
|
+
@click=${t=>k(e,t)}>
|
|
52
|
+
<ore-icon name="x" size="12" stroke-width="2.5" aria-hidden="true"></ore-icon>
|
|
53
|
+
</button>
|
|
54
|
+
</li>
|
|
55
|
+
`)}
|
|
56
|
+
</ul>
|
|
57
|
+
<div class="helper-text" id="${C}" part="helper" ?hidden=${()=>b.value||!e.helper.value}>
|
|
58
|
+
${e.helper}
|
|
59
|
+
</div>
|
|
60
|
+
<div
|
|
61
|
+
class="helper-text helper-text-error"
|
|
62
|
+
id="${w}"
|
|
63
|
+
role="alert"
|
|
64
|
+
part="error"
|
|
65
|
+
?hidden=${()=>!b.value}>
|
|
66
|
+
${()=>e.error.value??``}
|
|
67
|
+
</div>
|
|
68
|
+
</div>
|
|
69
|
+
`},shadow:{delegatesFocus:!0},styles:[...n.fieldMixins,e.sizeVariantMixin(r.FILE_INPUT_SIZE_PRESET),t.forcedColorsFocusMixin(`.dropzone`),o.default]}),exports.FILE_INPUT_TAG=f;
|
|
70
|
+
//# sourceMappingURL=file-input.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"file-input.cjs","names":[],"sources":["../src/inputs/file-input/file-input.ts"],"sourcesContent":["import { createDropZone, matchesAccept } from '@vielzeug/dnd';\nimport { createStableId, define, useField, html, inject, prop, ref } from '@vielzeug/ore';\nimport { computed, signal, watch } from '@vielzeug/ripple';\n\nimport { createInteraction } from '../../headless';\nimport { FILE_INPUT_SIZE_PRESET } from '../../shared';\nimport { fieldMixins, forcedColorsFocusMixin, sizeVariantMixin } from '../../styles';\nimport { FORM_CTX, useFormContext } from '../shared/form-context';\nimport componentStyles from './file-input.css?inline';\n\nconst formatBytes = (bytes: number) => {\n if (bytes === 0) return '0 B';\n\n const k = 1024;\n const sizes = ['B', 'KB', 'MB', 'GB', 'TB'];\n const i = Math.floor(Math.log(bytes) / Math.log(k));\n\n return parseFloat((bytes / Math.pow(k, i)).toFixed(1)) + ' ' + sizes[i];\n};\n\nconst isFileSizeAllowed = (file: File, maxSize?: number) => !maxSize || file.size <= maxSize;\n\n/** File input component properties */\nexport type OreFileInputProps = {\n /** Accepted file types (comma-separated, e.g. '.jpg, .png, image/*') */\n accept?: string;\n /** Theme color tint */\n color?: string;\n /** Disabled state */\n disabled?: boolean;\n /** Error message text */\n error?: string;\n /** Helper text displayed below the input */\n helper?: string;\n /** Input label text */\n label?: string;\n /** Max number of files allowed (only used if multiple is true) */\n 'max-files'?: number;\n /** Max size of a single file in bytes */\n 'max-size'?: number;\n /** Allow multiple files selection */\n multiple?: boolean;\n /** Form field name */\n name?: string;\n /**\n * JS-only callback fired with the inner `<input type=\"file\">` element when it\n * mounts, and with `null` when it unmounts. Intended for composed components\n * that need imperative access to the raw element.\n * Set as a JS property: `bitFileInput.ref = (el) => { ... }`.\n */\n ref?: ((el: HTMLInputElement | null) => void) | null;\n /** Required field */\n required?: boolean;\n /** Field size preset */\n size?: string;\n};\n\n/** Events emitted by the file-input component */\nexport type OreFileInputEvents = {\n /** Emitted when files are added or removed */\n change: { files: File[]; originalEvent?: Event; value: File[] };\n /** Emitted when a specific file is removed */\n remove: { file: File; files: File[]; originalEvent?: Event; value: File[] };\n};\n\n/**\n * A file upload field with drag-and-drop support and built-in validation messaging.\n *\n * @element ore-file-input\n *\n * @attr {string} accept - Comma-separated file extensions or MIME types\n * @attr {boolean} multiple - Enable multiple files selection\n * @attr {number} max-files - Max number of files allowed\n * @attr {number} max-size - Max size of each file in bytes\n * @attr {boolean} disabled - Disable interaction\n * @attr {string} error - Show an error state/message\n * @attr {string} helper - Provide helper context below the dropzone\n *\n * @fires change - detail: { files: File[], value: File[] }\n * @fires remove - detail: { file: File, files: File[] }\n *\n * @cssprop --file-input-bg - Dropzone background color\n * @cssprop --file-input-border-color - Dropzone border color\n * @cssprop --file-input-font-size - Font size\n * @cssprop --file-input-radius - Dropzone border radius\n * @cssprop --file-input-min-height - Minimum dropzone height\n * @cssprop --file-input-hover-bg - Dropzone background on hover (flat/ghost variants)\n * @cssprop --file-input-hover-border-color - Dropzone border on hover (flat/bordered variants)\n * @cssprop --file-input-focus-bg - Dropzone background when focused/drag-over (flat variant)\n * @cssprop --file-input-focus-border-color - Dropzone border when focused/drag-over (flat variant)\n * @part wrapper - Root wrapper around the file input field\n * @part label - Visible label rendered above the dropzone\n * @part dropzone - Interactive drag-and-drop target\n * @part input - Native file input element\n * @part helper - Helper text shown beneath the dropzone\n * @part error - Error message shown beneath the field\n * @example\n * ```html\n * <ore-file-input label=\"Upload files\" accept=\"image/*\" multiple />\n * <ore-file-input label=\"Resume\" accept=\".pdf,.doc,.docx\" max-size=\"5242880\" />\n * <ore-file-input variant=\"bordered\" color=\"primary\" />\n * ```\n */\nexport const FILE_INPUT_TAG = 'ore-file-input' as const;\ndefine<OreFileInputProps, OreFileInputEvents>(FILE_INPUT_TAG, {\n formAssociated: true,\n props: {\n accept: prop.string(),\n color: prop.string(),\n disabled: prop.bool(false),\n error: prop.string(),\n helper: prop.string(),\n label: prop.string(),\n 'max-files': prop.number(0),\n 'max-size': prop.number(0),\n multiple: prop.bool(false),\n name: prop.string(),\n ref: prop.json(undefined as ((el: HTMLInputElement | null) => void) | null | undefined),\n required: prop.bool(false),\n size: prop.string(),\n },\n setup(props, { bind, emit, onCleanup, onElement, onEvent, onMounted }) {\n // ============================================\n // State\n // ============================================\n\n const files = signal<File[]>([]);\n const isDragging = signal(false);\n const formCtx = inject(FORM_CTX);\n const fCtxProps = useFormContext(bind, props, formCtx);\n const isDisabled = fCtxProps.disabled;\n const maxFilesLimit = computed(() => props['max-files'].value ?? 0);\n const maxSizeLimit = computed(() => props['max-size'].value ?? 0);\n\n // ============================================\n // Form Integration\n // ============================================\n\n useField({\n disabled: isDisabled,\n toFormValue: (fi: File[]) => {\n if (fi.length === 0) return null;\n\n const name = props.name.value || 'file';\n const fd = new FormData();\n\n for (const file of fi) fd.append(name, file);\n\n return fd;\n },\n value: files,\n });\n\n // Sync host attributes for CSS selectors\n const isInvalid = computed(() => Boolean(props.error.value));\n\n bind({\n attr: {\n 'drag-over': () => (isDragging.value ? true : undefined),\n invalid: () => (isInvalid.value ? true : undefined),\n size: fCtxProps.size,\n },\n });\n\n // ============================================\n // IDs\n // ============================================\n const fileInputId = createStableId('file-input');\n const labelId = `label-${fileInputId}`;\n const helperId = `helper-${fileInputId}`;\n const errorId = `error-${fileInputId}`;\n\n // ============================================\n // Refs\n // ============================================\n const dropzoneRef = ref<HTMLDivElement>();\n const inputRef = ref<HTMLInputElement>();\n const hintText = computed(() => {\n const parts: string[] = [];\n\n if (props.accept.value) {\n parts.push(\n props.accept.value\n .split(',')\n .map((s: string) => s.trim())\n .join(', '),\n );\n }\n\n const maxSize = maxSizeLimit.value;\n\n if (maxSize > 0) parts.push(`max ${formatBytes(maxSize)}`);\n\n const maxFiles = maxFilesLimit.value;\n\n if (maxFiles > 0) parts.push(`up to ${maxFiles} file${maxFiles !== 1 ? 's' : ''}`);\n\n return parts.join(' · ');\n });\n\n // ============================================\n // File Management\n // ============================================\n function addFiles(newFiles: File[], originalEvent?: Event): void {\n if (isDisabled.value) return;\n\n const acceptVal = props.accept.value;\n const isMultiple = Boolean(props.multiple.value);\n let incoming = Array.from(newFiles);\n\n if (!isMultiple) incoming = incoming.slice(0, 1);\n\n incoming = incoming.filter(\n (f) =>\n matchesAccept(f, acceptVal ? acceptVal.split(',').map((t) => t.trim()) : []) &&\n isFileSizeAllowed(f, maxSizeLimit.value),\n );\n\n let updated: File[] = isMultiple ? [...files.value] : [];\n\n for (const f of incoming) {\n if (!updated.includes(f)) updated.push(f);\n }\n\n if (maxFilesLimit.value > 0 && updated.length > maxFilesLimit.value) {\n updated = updated.slice(0, maxFilesLimit.value);\n }\n\n files.value = updated;\n emit('change', { files: files.value, originalEvent, value: files.value });\n }\n function removeFile(file: File, originalEvent?: Event): void {\n files.value = files.value.filter((f) => f !== file);\n emit('remove', { file, files: files.value, originalEvent, value: files.value });\n emit('change', { files: files.value, originalEvent, value: files.value });\n }\n\n // ============================================\n // Mount\n // ============================================\n // ============================================\n // Template\n // ============================================\n onElement(inputRef, (inp) => {\n props.ref.value?.(inp);\n\n const sub = watch(props.ref, (cb) => {\n cb?.(inp);\n });\n\n return () => {\n sub.dispose();\n props.ref.value?.(null);\n };\n });\n\n onMounted(() => {\n const inp = inputRef.value!;\n const dz = dropzoneRef.value!;\n let skipNextClick = false;\n const pressControl = createInteraction({\n disabled: isDisabled,\n onPress: () => {\n inp.click();\n },\n });\n\n // Native input → add files\n onEvent(inp, 'change', (e: Event) => {\n const input = e.target as HTMLInputElement;\n\n if (input.files?.length) addFiles(Array.from(input.files), e);\n\n input.value = ''; // reset so the same file triggers change again\n });\n // Click dropzone → open file picker\n onEvent(dz, 'click', (e: MouseEvent) => {\n if (e.target === inp) return;\n\n if (skipNextClick) {\n skipNextClick = false;\n\n return;\n }\n\n if (!isDisabled.value) inp.click();\n });\n // Keyboard: Enter / Space → open picker\n onEvent(dz, 'keydown', (e: KeyboardEvent) => {\n skipNextClick = pressControl.handleKeydown(e) && e.key === 'Enter';\n });\n\n const dropZone = createDropZone({\n disabled: isDisabled.value,\n element: dz,\n onDrop: (droppedFiles) => addFiles(droppedFiles),\n onHoverChange: (hovered) => {\n isDragging.value = hovered;\n },\n });\n\n onCleanup(() => dropZone.dispose());\n });\n\n return html`\n <div class=\"file-input-wrapper\" part=\"wrapper\">\n <label class=\"label-outside\" id=\"${labelId}\" part=\"label\" ?hidden=${() => !props.label.value}\n >${props.label}</label\n >\n <div\n class=\"dropzone\"\n part=\"dropzone\"\n ref=${dropzoneRef}\n role=\"button\"\n :tabindex=\"${() => (isDisabled.value ? '-1' : '0')}\"\n :aria-disabled=\"${() => String(isDisabled.value)}\"\n :aria-label=\"${() => (!props.label.value ? 'File upload drop zone' : null)}\"\n :aria-labelledby=\"${() => (props.label.value ? labelId : null)}\"\n aria-describedby=\"${helperId}\">\n <input\n type=\"file\"\n ref=${inputRef}\n part=\"input\"\n id=\"${fileInputId}\"\n :accept=\"${props.accept}\"\n ?multiple=\"${props.multiple}\"\n ?required=\"${props.required}\"\n ?disabled=\"${isDisabled}\"\n :name=\"${props.name}\"\n hidden\n inert\n tabindex=\"-1\" />\n <div class=\"dropzone-content\">\n <span class=\"dropzone-icon\" aria-hidden=\"true\">\n <ore-icon name=\"upload\" size=\"36\" stroke-width=\"1.5\" aria-hidden=\"true\"></ore-icon>\n </span>\n <span class=\"dropzone-title\">Drop files here or <u>click to browse</u></span>\n <span class=\"dropzone-hint\" ?hidden=${() => !hintText.value}>${hintText}</span>\n </div>\n </div>\n <ul class=\"file-list\" role=\"list\" aria-label=\"Selected files\" ?hidden=${() => files.value.length === 0}>\n ${() =>\n files.value.map(\n (file: File) => html`\n <li class=\"file-item\">\n <span class=\"file-icon\" aria-hidden=\"true\">\n <ore-icon name=\"file\" size=\"18\" stroke-width=\"1.75\" aria-hidden=\"true\"></ore-icon>\n </span>\n <span class=\"file-meta\">\n <span class=\"file-name\" title=\"${file.name}\">${file.name}</span>\n <span class=\"file-size\">${formatBytes(file.size)}</span>\n </span>\n <button\n class=\"file-remove\"\n type=\"button\"\n aria-label=\"${`Remove ${file.name}`}\"\n @click=${(e: Event) => removeFile(file, e)}>\n <ore-icon name=\"x\" size=\"12\" stroke-width=\"2.5\" aria-hidden=\"true\"></ore-icon>\n </button>\n </li>\n `,\n )}\n </ul>\n <div class=\"helper-text\" id=\"${helperId}\" part=\"helper\" ?hidden=${() => isInvalid.value || !props.helper.value}>\n ${props.helper}\n </div>\n <div\n class=\"helper-text helper-text-error\"\n id=\"${errorId}\"\n role=\"alert\"\n part=\"error\"\n ?hidden=${() => !isInvalid.value}>\n ${() => props.error.value ?? ''}\n </div>\n </div>\n `;\n },\n shadow: { delegatesFocus: true },\n styles: [\n ...fieldMixins,\n sizeVariantMixin(FILE_INPUT_SIZE_PRESET),\n forcedColorsFocusMixin('.dropzone'),\n componentStyles,\n ],\n});\n"],"mappings":"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"}
|