@vielzeug/refine 1.7.0 → 2.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +5 -12
- package/dist/_dev.cjs +1 -1
- package/dist/_dev.cjs.map +1 -1
- package/dist/_dev.js +2 -5
- package/dist/_dev.js.map +1 -1
- package/dist/_virtual/_rolldown/runtime.cjs +1 -1
- package/dist/accordion-item.cjs +26 -24
- package/dist/accordion-item.cjs.map +1 -1
- package/dist/accordion-item.js +53 -51
- package/dist/accordion-item.js.map +1 -1
- package/dist/accordion.cjs +3 -1
- package/dist/accordion.cjs.map +1 -1
- package/dist/accordion.js +5 -3
- package/dist/accordion.js.map +1 -1
- package/dist/alert.cjs +1 -1
- package/dist/alert.cjs.map +1 -1
- package/dist/alert.js +1 -1
- package/dist/alert.js.map +1 -1
- package/dist/async.cjs +14 -12
- package/dist/async.cjs.map +1 -1
- package/dist/async.js +5 -4
- package/dist/async.js.map +1 -1
- package/dist/avatar-group.cjs +7 -0
- package/dist/avatar-group.cjs.map +1 -0
- package/dist/avatar-group.js +34 -0
- package/dist/avatar-group.js.map +1 -0
- package/dist/avatar.cjs +21 -16
- package/dist/avatar.cjs.map +1 -1
- package/dist/avatar.js +38 -54
- package/dist/avatar.js.map +1 -1
- package/dist/badge.cjs +4 -2
- package/dist/badge.cjs.map +1 -1
- package/dist/badge.js +6 -4
- package/dist/badge.js.map +1 -1
- package/dist/box.cjs +3 -1
- package/dist/box.cjs.map +1 -1
- package/dist/box.js +24 -18
- package/dist/box.js.map +1 -1
- package/dist/breadcrumb.cjs +4 -4
- package/dist/breadcrumb.cjs.map +1 -1
- package/dist/breadcrumb.js +4 -4
- package/dist/breadcrumb.js.map +1 -1
- package/dist/button-group.cjs +3 -3
- package/dist/button-group.cjs.map +1 -1
- package/dist/button-group.js +18 -16
- package/dist/button-group.js.map +1 -1
- package/dist/button.cjs +16 -12
- package/dist/button.cjs.map +1 -1
- package/dist/button.js +31 -28
- package/dist/button.js.map +1 -1
- package/dist/calendar.cjs +94 -69
- package/dist/calendar.cjs.map +1 -1
- package/dist/calendar.js +131 -99
- package/dist/calendar.js.map +1 -1
- package/dist/card.cjs +7 -7
- package/dist/card.cjs.map +1 -1
- package/dist/card.js +53 -49
- package/dist/card.js.map +1 -1
- package/dist/carousel.cjs +65 -57
- package/dist/carousel.cjs.map +1 -1
- package/dist/carousel.js +157 -201
- package/dist/carousel.js.map +1 -1
- package/dist/chat-message.cjs +21 -19
- package/dist/chat-message.cjs.map +1 -1
- package/dist/chat-message.js +18 -15
- package/dist/chat-message.js.map +1 -1
- package/dist/checkbox-group.cjs +12 -10
- package/dist/checkbox-group.cjs.map +1 -1
- package/dist/checkbox-group.js +75 -77
- package/dist/checkbox-group.js.map +1 -1
- package/dist/checkbox.cjs +4 -4
- package/dist/checkbox.cjs.map +1 -1
- package/dist/checkbox.js +55 -55
- package/dist/checkbox.js.map +1 -1
- package/dist/chip.cjs +22 -20
- package/dist/chip.cjs.map +1 -1
- package/dist/chip.js +15 -12
- package/dist/chip.js.map +1 -1
- package/dist/code-window.cjs +11 -5
- package/dist/code-window.cjs.map +1 -1
- package/dist/code-window.js +9 -4
- package/dist/code-window.js.map +1 -1
- package/dist/combobox.cjs +63 -58
- package/dist/combobox.cjs.map +1 -1
- package/dist/combobox.js +199 -197
- package/dist/combobox.js.map +1 -1
- package/dist/command-palette.cjs +49 -29
- package/dist/command-palette.cjs.map +1 -1
- package/dist/command-palette.js +150 -119
- package/dist/command-palette.js.map +1 -1
- package/dist/content/avatar/avatar-group.d.ts +33 -0
- package/dist/content/avatar/avatar-group.d.ts.map +1 -0
- package/dist/content/avatar/avatar.d.ts +0 -32
- package/dist/content/avatar/avatar.d.ts.map +1 -1
- package/dist/content/card/card.css.cjs +1 -1
- package/dist/content/card/card.css.cjs.map +1 -1
- package/dist/content/card/card.css.js +1 -1
- package/dist/content/card/card.css.js.map +1 -1
- package/dist/content/card/card.d.ts.map +1 -1
- package/dist/content/carousel/carousel-slide.cjs +3 -1
- package/dist/content/carousel/carousel-slide.cjs.map +1 -1
- package/dist/content/carousel/carousel-slide.css.cjs +1 -1
- package/dist/content/carousel/carousel-slide.css.cjs.map +1 -1
- package/dist/content/carousel/carousel-slide.css.js +1 -1
- package/dist/content/carousel/carousel-slide.css.js.map +1 -1
- package/dist/content/carousel/carousel-slide.js +3 -1
- package/dist/content/carousel/carousel-slide.js.map +1 -1
- package/dist/content/carousel/carousel.css.cjs +1 -1
- package/dist/content/carousel/carousel.css.cjs.map +1 -1
- package/dist/content/carousel/carousel.css.js +1 -1
- package/dist/content/carousel/carousel.css.js.map +1 -1
- package/dist/content/carousel/carousel.d.ts +5 -19
- package/dist/content/carousel/carousel.d.ts.map +1 -1
- package/dist/content/chat-message/chat-message.d.ts.map +1 -1
- package/dist/content/code-window/code-window.d.ts.map +1 -1
- package/dist/content/icon/icon.d.ts.map +1 -1
- package/dist/content/index.d.ts +10 -2
- package/dist/content/index.d.ts.map +1 -1
- package/dist/content/list/_list-item-reveal.cjs +1 -1
- package/dist/content/list/_list-item-reveal.cjs.map +1 -1
- package/dist/content/list/_list-item-reveal.d.ts +2 -2
- package/dist/content/list/_list-item-reveal.d.ts.map +1 -1
- package/dist/content/list/_list-item-reveal.js +2 -2
- package/dist/content/list/_list-item-reveal.js.map +1 -1
- package/dist/content/list/list.d.ts.map +1 -1
- package/dist/content/marquee/index.d.ts +2 -0
- package/dist/content/marquee/index.d.ts.map +1 -0
- package/dist/content/marquee/marquee.css.cjs +2 -0
- package/dist/content/marquee/marquee.css.cjs.map +1 -0
- package/dist/content/marquee/marquee.css.js +6 -0
- package/dist/content/marquee/marquee.css.js.map +1 -0
- package/dist/content/marquee/marquee.d.ts +44 -0
- package/dist/content/marquee/marquee.d.ts.map +1 -0
- package/dist/content/stepper/_is-step-navigable.cjs +2 -0
- package/dist/content/stepper/_is-step-navigable.cjs.map +1 -0
- package/dist/content/stepper/_is-step-navigable.d.ts +14 -0
- package/dist/content/stepper/_is-step-navigable.d.ts.map +1 -0
- package/dist/content/stepper/_is-step-navigable.js +8 -0
- package/dist/content/stepper/_is-step-navigable.js.map +1 -0
- package/dist/content/stepper/step.css.cjs +2 -0
- package/dist/content/stepper/step.css.cjs.map +1 -0
- package/dist/content/stepper/step.css.js +6 -0
- package/dist/content/stepper/step.css.js.map +1 -0
- package/dist/content/stepper/step.d.ts +63 -0
- package/dist/content/stepper/step.d.ts.map +1 -0
- package/dist/content/stepper/stepper.css.cjs +2 -0
- package/dist/content/stepper/stepper.css.cjs.map +1 -0
- package/dist/content/stepper/stepper.css.js +6 -0
- package/dist/content/stepper/stepper.css.js.map +1 -0
- package/dist/content/stepper/stepper.d.ts +88 -0
- package/dist/content/stepper/stepper.d.ts.map +1 -0
- package/dist/copy-command.cjs +9 -3
- package/dist/copy-command.cjs.map +1 -1
- package/dist/copy-command.js +9 -3
- package/dist/copy-command.js.map +1 -1
- package/dist/{headless → core}/_internal.d.ts +3 -5
- package/dist/core/_internal.d.ts.map +1 -0
- package/dist/core/announcer.cjs.map +1 -0
- package/dist/core/announcer.d.ts.map +1 -0
- package/dist/{headless → core}/announcer.js +1 -1
- package/dist/core/announcer.js.map +1 -0
- package/dist/core/aria-reflection.cjs.map +1 -0
- package/dist/core/aria-reflection.d.ts.map +1 -0
- package/dist/{headless → core}/aria-reflection.js +1 -1
- package/dist/core/aria-reflection.js.map +1 -0
- package/dist/core/auto-resize.cjs.map +1 -0
- package/dist/core/auto-resize.d.ts.map +1 -0
- package/dist/{headless → core}/auto-resize.js +1 -1
- package/dist/core/auto-resize.js.map +1 -0
- package/dist/core/checkable.cjs.map +1 -0
- package/dist/core/checkable.d.ts.map +1 -0
- package/dist/{headless → core}/checkable.js +1 -1
- package/dist/core/checkable.js.map +1 -0
- package/dist/core/choice-field.cjs +2 -0
- package/dist/core/choice-field.cjs.map +1 -0
- package/dist/core/choice-field.d.ts.map +1 -0
- package/dist/{headless → core}/choice-field.js +3 -2
- package/dist/core/choice-field.js.map +1 -0
- package/dist/core/composer.cjs.map +1 -0
- package/dist/core/composer.d.ts.map +1 -0
- package/dist/{headless → core}/composer.js +1 -1
- package/dist/core/composer.js.map +1 -0
- package/dist/{headless → core}/date-picker.cjs +1 -1
- package/dist/core/date-picker.cjs.map +1 -0
- package/dist/core/date-picker.d.ts.map +1 -0
- package/dist/{headless → core}/date-picker.js +3 -3
- package/dist/core/date-picker.js.map +1 -0
- package/dist/core/direction.cjs.map +1 -0
- package/dist/core/direction.d.ts.map +1 -0
- package/dist/{headless → core}/direction.js +1 -1
- package/dist/core/direction.js.map +1 -0
- package/dist/core/field-base.cjs +2 -0
- package/dist/core/field-base.cjs.map +1 -0
- package/dist/{headless → core}/field-base.d.ts +3 -3
- package/dist/core/field-base.d.ts.map +1 -0
- package/dist/core/field-base.js +66 -0
- package/dist/core/field-base.js.map +1 -0
- package/dist/core/focus.cjs.map +1 -0
- package/dist/core/focus.d.ts.map +1 -0
- package/dist/{headless → core}/focus.js +1 -1
- package/dist/core/focus.js.map +1 -0
- package/dist/{headless → core}/index.d.ts +7 -6
- package/dist/core/index.d.ts.map +1 -0
- package/dist/{headless → core}/keyboard.cjs +1 -1
- package/dist/core/keyboard.cjs.map +1 -0
- package/dist/core/keyboard.d.ts.map +1 -0
- package/dist/{headless → core}/keyboard.js +2 -2
- package/dist/core/keyboard.js.map +1 -0
- package/dist/core/light-dom.cjs.map +1 -0
- package/dist/core/light-dom.d.ts.map +1 -0
- package/dist/{headless → core}/light-dom.js +1 -1
- package/dist/core/light-dom.js.map +1 -0
- package/dist/core/nav.cjs.map +1 -0
- package/dist/core/nav.d.ts.map +1 -0
- package/dist/{headless → core}/nav.js +1 -1
- package/dist/core/nav.js.map +1 -0
- package/dist/core/numbers.cjs.map +1 -0
- package/dist/core/numbers.d.ts.map +1 -0
- package/dist/{headless → core}/numbers.js +1 -1
- package/dist/core/numbers.js.map +1 -0
- package/dist/core/option-list.cjs +2 -0
- package/dist/core/option-list.cjs.map +1 -0
- package/dist/core/option-list.d.ts +49 -0
- package/dist/core/option-list.d.ts.map +1 -0
- package/dist/core/option-list.js +65 -0
- package/dist/core/option-list.js.map +1 -0
- package/dist/core/ore.cjs.map +1 -0
- package/dist/{headless → core}/ore.d.ts +2 -2
- package/dist/core/ore.d.ts.map +1 -0
- package/dist/{headless → core}/ore.js +1 -1
- package/dist/core/ore.js.map +1 -0
- package/dist/core/overlay.cjs +2 -0
- package/dist/core/overlay.cjs.map +1 -0
- package/dist/core/overlay.d.ts +41 -0
- package/dist/core/overlay.d.ts.map +1 -0
- package/dist/core/overlay.js +17 -0
- package/dist/core/overlay.js.map +1 -0
- package/dist/core/paginated-list.d.ts.map +1 -0
- package/dist/core/parse.cjs.map +1 -0
- package/dist/core/parse.d.ts.map +1 -0
- package/dist/{headless → core}/parse.js +1 -1
- package/dist/core/parse.js.map +1 -0
- package/dist/core/positioner.cjs +2 -0
- package/dist/core/positioner.cjs.map +1 -0
- package/dist/core/positioner.d.ts.map +1 -0
- package/dist/{headless → core}/positioner.js +7 -7
- package/dist/core/positioner.js.map +1 -0
- package/dist/core/ref-callback.cjs +2 -0
- package/dist/core/ref-callback.cjs.map +1 -0
- package/dist/core/ref-callback.d.ts.map +1 -0
- package/dist/{headless → core}/ref-callback.js +2 -2
- package/dist/core/ref-callback.js.map +1 -0
- package/dist/core/signals.cjs +2 -0
- package/dist/core/signals.cjs.map +1 -0
- package/dist/core/signals.d.ts.map +1 -0
- package/dist/{headless → core}/signals.js +3 -2
- package/dist/core/signals.js.map +1 -0
- package/dist/core/slider.cjs +2 -0
- package/dist/core/slider.cjs.map +1 -0
- package/dist/core/slider.d.ts.map +1 -0
- package/dist/{headless → core}/slider.js +3 -3
- package/dist/{headless/slider.cjs.map → core/slider.js.map} +1 -1
- package/dist/core/spinner.cjs +2 -0
- package/dist/core/spinner.cjs.map +1 -0
- package/dist/core/spinner.d.ts.map +1 -0
- package/dist/{headless → core}/spinner.js +3 -3
- package/dist/{headless/spinner.cjs.map → core/spinner.js.map} +1 -1
- package/dist/core/swipe.cjs.map +1 -0
- package/dist/core/swipe.d.ts.map +1 -0
- package/dist/{headless → core}/swipe.js +1 -1
- package/dist/core/swipe.js.map +1 -0
- package/dist/core/text-field.cjs.map +1 -0
- package/dist/core/text-field.d.ts.map +1 -0
- package/dist/{headless → core}/text-field.js +1 -1
- package/dist/core/text-field.js.map +1 -0
- package/dist/core/typeahead.cjs.map +1 -0
- package/dist/core/typeahead.d.ts.map +1 -0
- package/dist/{headless → core}/typeahead.js +1 -1
- package/dist/core/typeahead.js.map +1 -0
- package/dist/custom-elements.json +4433 -3949
- package/dist/datagrid.cjs +320 -271
- package/dist/datagrid.cjs.map +1 -1
- package/dist/datagrid.js +489 -435
- package/dist/datagrid.js.map +1 -1
- package/dist/date-picker.cjs +77 -62
- package/dist/date-picker.cjs.map +1 -1
- package/dist/date-picker.js +169 -146
- package/dist/date-picker.js.map +1 -1
- package/dist/dialog.cjs +3 -3
- package/dist/dialog.cjs.map +1 -1
- package/dist/dialog.js +18 -7
- package/dist/dialog.js.map +1 -1
- package/dist/disclosure/tab-panel/tab-panel.d.ts.map +1 -1
- package/dist/disclosure/tabs/tabs.d.ts.map +1 -1
- package/dist/drawer.cjs +5 -5
- package/dist/drawer.cjs.map +1 -1
- package/dist/drawer.js +52 -47
- package/dist/drawer.js.map +1 -1
- package/dist/errors.cjs.map +1 -1
- package/dist/errors.js.map +1 -1
- package/dist/feedback/async/async.d.ts.map +1 -1
- package/dist/feedback/chip/chip.d.ts.map +1 -1
- package/dist/feedback/progress/progress.d.ts.map +1 -1
- package/dist/feedback/skeleton/skeleton.d.ts.map +1 -1
- package/dist/feedback/toast/index.d.ts +1 -1
- package/dist/feedback/toast/index.d.ts.map +1 -1
- package/dist/feedback/toast/toast.d.ts +16 -68
- package/dist/feedback/toast/toast.d.ts.map +1 -1
- package/dist/feedback/typing-indicator/typing-indicator.d.ts +1 -1
- package/dist/file-input.cjs +111 -78
- package/dist/file-input.cjs.map +1 -1
- package/dist/file-input.js +220 -184
- package/dist/file-input.js.map +1 -1
- package/dist/grid-item.cjs +3 -1
- package/dist/grid-item.cjs.map +1 -1
- package/dist/grid-item.js +3 -1
- package/dist/grid-item.js.map +1 -1
- package/dist/grid.cjs +3 -1
- package/dist/grid.cjs.map +1 -1
- package/dist/grid.js +6 -5
- package/dist/grid.js.map +1 -1
- package/dist/icon.cjs +5 -1
- package/dist/icon.cjs.map +1 -1
- package/dist/icon.js +50 -47
- package/dist/icon.js.map +1 -1
- package/dist/index.cjs +1 -1
- package/dist/index.d.ts +7 -8
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +2 -67
- package/dist/input.cjs +44 -40
- package/dist/input.cjs.map +1 -1
- package/dist/input.js +132 -130
- package/dist/input.js.map +1 -1
- package/dist/inputs/button-group/button-group.css.cjs +1 -1
- package/dist/inputs/button-group/button-group.css.cjs.map +1 -1
- package/dist/inputs/button-group/button-group.css.js +1 -1
- package/dist/inputs/button-group/button-group.css.js.map +1 -1
- package/dist/inputs/button-group/button-group.d.ts +6 -3
- package/dist/inputs/button-group/button-group.d.ts.map +1 -1
- package/dist/inputs/calendar/calendar.d.ts.map +1 -1
- package/dist/inputs/checkbox/checkbox.d.ts +6 -5
- package/dist/inputs/checkbox/checkbox.d.ts.map +1 -1
- package/dist/inputs/checkbox-group/checkbox-group.d.ts +1 -1
- package/dist/inputs/checkbox-group/checkbox-group.d.ts.map +1 -1
- package/dist/inputs/combobox/combobox.d.ts +4 -2
- package/dist/inputs/combobox/combobox.d.ts.map +1 -1
- package/dist/inputs/combobox/combobox.types.d.ts +5 -7
- package/dist/inputs/combobox/combobox.types.d.ts.map +1 -1
- package/dist/inputs/datagrid/datagrid-column.cjs +1 -1
- package/dist/inputs/datagrid/datagrid-column.cjs.map +1 -1
- package/dist/inputs/datagrid/datagrid-column.d.ts +1 -1
- package/dist/inputs/datagrid/datagrid-column.d.ts.map +1 -1
- package/dist/inputs/datagrid/datagrid-column.js +5 -5
- package/dist/inputs/datagrid/datagrid-column.js.map +1 -1
- package/dist/inputs/datagrid/datagrid-model.cjs +2 -0
- package/dist/inputs/datagrid/datagrid-model.cjs.map +1 -0
- package/dist/inputs/datagrid/datagrid-model.d.ts +101 -0
- package/dist/inputs/datagrid/datagrid-model.d.ts.map +1 -0
- package/dist/inputs/datagrid/datagrid-model.js +202 -0
- package/dist/inputs/datagrid/datagrid-model.js.map +1 -0
- package/dist/inputs/datagrid/datagrid-nav.cjs.map +1 -1
- package/dist/inputs/datagrid/datagrid.d.ts +44 -45
- package/dist/inputs/datagrid/datagrid.d.ts.map +1 -1
- package/dist/inputs/date-picker/date-picker.d.ts +4 -4
- package/dist/inputs/date-picker/date-picker.d.ts.map +1 -1
- package/dist/inputs/file-input/file-input-upload.cjs +1 -1
- package/dist/inputs/file-input/file-input-upload.cjs.map +1 -1
- package/dist/inputs/file-input/file-input-upload.d.ts.map +1 -1
- package/dist/inputs/file-input/file-input-upload.js +6 -3
- package/dist/inputs/file-input/file-input-upload.js.map +1 -1
- package/dist/inputs/file-input/file-input.d.ts.map +1 -1
- package/dist/inputs/index.d.ts +0 -4
- package/dist/inputs/index.d.ts.map +1 -1
- package/dist/inputs/input/input.d.ts +4 -10
- package/dist/inputs/input/input.d.ts.map +1 -1
- package/dist/inputs/message-composer/message-composer.d.ts +6 -10
- package/dist/inputs/message-composer/message-composer.d.ts.map +1 -1
- package/dist/inputs/number-input/number-input.d.ts +4 -10
- package/dist/inputs/number-input/number-input.d.ts.map +1 -1
- package/dist/inputs/otp-input/otp-input.d.ts +4 -6
- package/dist/inputs/otp-input/otp-input.d.ts.map +1 -1
- package/dist/inputs/radio/radio.d.ts +4 -3
- package/dist/inputs/radio/radio.d.ts.map +1 -1
- package/dist/inputs/radio-group/radio-group.d.ts +1 -1
- package/dist/inputs/radio-group/radio-group.d.ts.map +1 -1
- package/dist/inputs/rating/rating.d.ts +4 -5
- package/dist/inputs/rating/rating.d.ts.map +1 -1
- package/dist/inputs/select/select.d.ts +7 -9
- package/dist/inputs/select/select.d.ts.map +1 -1
- package/dist/inputs/shared/field-binding.cjs.map +1 -1
- package/dist/inputs/shared/field-binding.d.ts +1 -1
- package/dist/inputs/shared/field-binding.js.map +1 -1
- package/dist/inputs/shared/index.d.ts +0 -1
- package/dist/inputs/shared/index.d.ts.map +1 -1
- package/dist/inputs/shared/native-field-event.cjs +2 -0
- package/dist/inputs/shared/native-field-event.cjs.map +1 -0
- package/dist/inputs/shared/native-field-event.d.ts +6 -0
- package/dist/inputs/shared/native-field-event.d.ts.map +1 -0
- package/dist/inputs/shared/native-field-event.js +29 -0
- package/dist/inputs/shared/native-field-event.js.map +1 -0
- package/dist/inputs/shared/templates.cjs +18 -12
- package/dist/inputs/shared/templates.cjs.map +1 -1
- package/dist/inputs/shared/templates.d.ts +1 -1
- package/dist/inputs/shared/templates.d.ts.map +1 -1
- package/dist/inputs/shared/templates.js +19 -13
- package/dist/inputs/shared/templates.js.map +1 -1
- package/dist/inputs/slider/slider.css.cjs +1 -1
- package/dist/inputs/slider/slider.css.cjs.map +1 -1
- package/dist/inputs/slider/slider.css.js +1 -1
- package/dist/inputs/slider/slider.css.js.map +1 -1
- package/dist/inputs/slider/slider.d.ts +7 -10
- package/dist/inputs/slider/slider.d.ts.map +1 -1
- package/dist/inputs/switch/switch.d.ts +4 -3
- package/dist/inputs/switch/switch.d.ts.map +1 -1
- package/dist/inputs/textarea/textarea.d.ts +4 -10
- package/dist/inputs/textarea/textarea.d.ts.map +1 -1
- package/dist/inputs/time-picker/time-picker.d.ts +4 -4
- package/dist/inputs/time-picker/time-picker.d.ts.map +1 -1
- package/dist/layout/box/box.d.ts.map +1 -1
- package/dist/layout/navbar/navbar.css.cjs +1 -1
- package/dist/layout/navbar/navbar.css.cjs.map +1 -1
- package/dist/layout/navbar/navbar.css.js +1 -1
- package/dist/layout/navbar/navbar.css.js.map +1 -1
- package/dist/layout/navbar/navbar.d.ts +10 -0
- package/dist/layout/navbar/navbar.d.ts.map +1 -1
- package/dist/layout/sidebar/sidebar-item.css.cjs +1 -1
- package/dist/layout/sidebar/sidebar-item.css.cjs.map +1 -1
- package/dist/layout/sidebar/sidebar-item.css.js +1 -1
- package/dist/layout/sidebar/sidebar-item.css.js.map +1 -1
- package/dist/layout/sidebar/sidebar.css.cjs +1 -1
- package/dist/layout/sidebar/sidebar.css.cjs.map +1 -1
- package/dist/layout/sidebar/sidebar.css.js +1 -1
- package/dist/layout/sidebar/sidebar.css.js.map +1 -1
- package/dist/layout/sidebar/sidebar.d.ts.map +1 -1
- package/dist/list-item.cjs +2 -2
- package/dist/list-item.cjs.map +1 -1
- package/dist/list-item.js +4 -4
- package/dist/list-item.js.map +1 -1
- package/dist/list.cjs +3 -1
- package/dist/list.cjs.map +1 -1
- package/dist/list.js +28 -25
- package/dist/list.js.map +1 -1
- package/dist/marquee.cjs +32 -0
- package/dist/marquee.cjs.map +1 -0
- package/dist/marquee.js +93 -0
- package/dist/marquee.js.map +1 -0
- package/dist/menu.cjs +7 -7
- package/dist/menu.cjs.map +1 -1
- package/dist/menu.js +135 -103
- package/dist/menu.js.map +1 -1
- package/dist/message-composer.cjs +33 -31
- package/dist/message-composer.cjs.map +1 -1
- package/dist/message-composer.js +123 -123
- package/dist/message-composer.js.map +1 -1
- package/dist/navbar.cjs +17 -15
- package/dist/navbar.cjs.map +1 -1
- package/dist/navbar.js +108 -89
- package/dist/navbar.js.map +1 -1
- package/dist/number-input.cjs +19 -19
- package/dist/number-input.cjs.map +1 -1
- package/dist/number-input.js +94 -97
- package/dist/number-input.js.map +1 -1
- package/dist/otp-input.cjs +15 -13
- package/dist/otp-input.cjs.map +1 -1
- package/dist/otp-input.js +83 -82
- package/dist/otp-input.js.map +1 -1
- package/dist/overlay/command-palette/command-palette.d.ts +2 -2
- package/dist/overlay/command-palette/command-palette.d.ts.map +1 -1
- package/dist/overlay/command-palette/command-palette.types.d.ts +4 -5
- package/dist/overlay/command-palette/command-palette.types.d.ts.map +1 -1
- package/dist/overlay/dialog/dialog.d.ts +7 -6
- package/dist/overlay/dialog/dialog.d.ts.map +1 -1
- package/dist/overlay/drawer/drawer.d.ts +7 -10
- package/dist/overlay/drawer/drawer.d.ts.map +1 -1
- package/dist/overlay/index.d.ts +1 -1
- package/dist/overlay/index.d.ts.map +1 -1
- package/dist/overlay/menu/menu.d.ts +9 -7
- package/dist/overlay/menu/menu.d.ts.map +1 -1
- package/dist/overlay/popover/popover.d.ts +6 -11
- package/dist/overlay/popover/popover.d.ts.map +1 -1
- package/dist/overlay/shared/await-exit.cjs +1 -1
- package/dist/overlay/shared/await-exit.cjs.map +1 -1
- package/dist/overlay/shared/await-exit.js +1 -1
- package/dist/overlay/shared/await-exit.js.map +1 -1
- package/dist/overlay/shared/use-dialog.cjs +1 -1
- package/dist/overlay/shared/use-dialog.cjs.map +1 -1
- package/dist/overlay/shared/use-dialog.d.ts +13 -3
- package/dist/overlay/shared/use-dialog.d.ts.map +1 -1
- package/dist/overlay/shared/use-dialog.js +80 -72
- package/dist/overlay/shared/use-dialog.js.map +1 -1
- package/dist/overlay/shared/use-floating-trigger.cjs +1 -1
- package/dist/overlay/shared/use-floating-trigger.cjs.map +1 -1
- package/dist/overlay/shared/use-floating-trigger.d.ts +3 -1
- package/dist/overlay/shared/use-floating-trigger.d.ts.map +1 -1
- package/dist/overlay/shared/use-floating-trigger.js +64 -70
- package/dist/overlay/shared/use-floating-trigger.js.map +1 -1
- package/dist/overlay/tooltip/tooltip.d.ts +9 -0
- package/dist/overlay/tooltip/tooltip.d.ts.map +1 -1
- package/dist/pagination.cjs +69 -55
- package/dist/pagination.cjs.map +1 -1
- package/dist/pagination.js +70 -56
- package/dist/pagination.js.map +1 -1
- package/dist/password-strength.cjs +6 -4
- package/dist/password-strength.cjs.map +1 -1
- package/dist/password-strength.js +6 -4
- package/dist/password-strength.js.map +1 -1
- package/dist/popover.cjs +4 -4
- package/dist/popover.cjs.map +1 -1
- package/dist/popover.js +28 -17
- package/dist/popover.js.map +1 -1
- package/dist/progress.cjs +25 -17
- package/dist/progress.cjs.map +1 -1
- package/dist/progress.js +29 -22
- package/dist/progress.js.map +1 -1
- package/dist/radio-group.cjs +14 -12
- package/dist/radio-group.cjs.map +1 -1
- package/dist/radio-group.js +88 -90
- package/dist/radio-group.js.map +1 -1
- package/dist/radio.cjs +4 -4
- package/dist/radio.cjs.map +1 -1
- package/dist/radio.js +90 -90
- package/dist/radio.js.map +1 -1
- package/dist/rating.cjs +18 -16
- package/dist/rating.cjs.map +1 -1
- package/dist/rating.js +69 -69
- package/dist/rating.js.map +1 -1
- package/dist/refine.cjs +1670 -1325
- package/dist/refine.cjs.map +1 -1
- package/dist/refine.iife.js +1673 -1328
- package/dist/refine.iife.js.map +1 -1
- package/dist/refine.js +1758 -1413
- package/dist/refine.js.map +1 -1
- package/dist/register.d.ts +21 -0
- package/dist/register.d.ts.map +1 -0
- package/dist/select.cjs +59 -51
- package/dist/select.cjs.map +1 -1
- package/dist/select.js +189 -182
- package/dist/select.js.map +1 -1
- package/dist/separator.cjs +9 -9
- package/dist/separator.cjs.map +1 -1
- package/dist/separator.js +9 -9
- package/dist/separator.js.map +1 -1
- package/dist/shared/index.d.ts +1 -1
- package/dist/shared/prop-bundles.cjs +1 -1
- package/dist/shared/prop-bundles.cjs.map +1 -1
- package/dist/shared/prop-bundles.js +4 -2
- package/dist/shared/prop-bundles.js.map +1 -1
- package/dist/shared/size-presets.cjs +1 -1
- package/dist/shared/size-presets.cjs.map +1 -1
- package/dist/shared/size-presets.d.ts +3 -0
- package/dist/shared/size-presets.d.ts.map +1 -1
- package/dist/shared/size-presets.js +4 -1
- package/dist/shared/size-presets.js.map +1 -1
- package/dist/sidebar.cjs +8 -8
- package/dist/sidebar.cjs.map +1 -1
- package/dist/sidebar.js +25 -25
- package/dist/sidebar.js.map +1 -1
- package/dist/skeleton.cjs +4 -6
- package/dist/skeleton.cjs.map +1 -1
- package/dist/skeleton.js +21 -22
- package/dist/skeleton.js.map +1 -1
- package/dist/slider.cjs +14 -14
- package/dist/slider.cjs.map +1 -1
- package/dist/slider.js +160 -168
- package/dist/slider.js.map +1 -1
- package/dist/step.cjs +47 -0
- package/dist/step.cjs.map +1 -0
- package/dist/step.js +127 -0
- package/dist/step.js.map +1 -0
- package/dist/stepper.cjs +8 -0
- package/dist/stepper.cjs.map +1 -0
- package/dist/stepper.js +101 -0
- package/dist/stepper.js.map +1 -0
- package/dist/styles/index.d.ts +0 -28
- package/dist/styles/index.d.ts.map +1 -1
- package/dist/styles/mixins/shape.css.cjs +2 -2
- package/dist/styles/mixins/shape.css.cjs.map +1 -1
- package/dist/styles/mixins/shape.css.js +6 -6
- package/dist/styles/mixins/shape.css.js.map +1 -1
- package/dist/styles/tokens.css +4 -0
- package/dist/switch.cjs +4 -4
- package/dist/switch.cjs.map +1 -1
- package/dist/switch.js +44 -44
- package/dist/switch.js.map +1 -1
- package/dist/tab-item.cjs +3 -3
- package/dist/tab-item.cjs.map +1 -1
- package/dist/tab-item.js +24 -24
- package/dist/tab-item.js.map +1 -1
- package/dist/tab-panel.cjs +9 -7
- package/dist/tab-panel.cjs.map +1 -1
- package/dist/tab-panel.js +15 -14
- package/dist/tab-panel.js.map +1 -1
- package/dist/table.cjs +3 -1
- package/dist/table.cjs.map +1 -1
- package/dist/table.js +3 -1
- package/dist/table.js.map +1 -1
- package/dist/tabs.cjs +6 -6
- package/dist/tabs.cjs.map +1 -1
- package/dist/tabs.js +30 -29
- package/dist/tabs.js.map +1 -1
- package/dist/text.cjs +3 -1
- package/dist/text.cjs.map +1 -1
- package/dist/text.js +3 -1
- package/dist/text.js.map +1 -1
- package/dist/textarea.cjs +22 -22
- package/dist/textarea.cjs.map +1 -1
- package/dist/textarea.js +110 -112
- package/dist/textarea.js.map +1 -1
- package/dist/time-picker.cjs +69 -61
- package/dist/time-picker.cjs.map +1 -1
- package/dist/time-picker.js +146 -132
- package/dist/time-picker.js.map +1 -1
- package/dist/toast.cjs +22 -22
- package/dist/toast.cjs.map +1 -1
- package/dist/toast.js +280 -173
- package/dist/toast.js.map +1 -1
- package/dist/tooltip.cjs +5 -5
- package/dist/tooltip.cjs.map +1 -1
- package/dist/tooltip.js +61 -51
- package/dist/tooltip.js.map +1 -1
- package/dist/typing-indicator.cjs +1 -1
- package/dist/typing-indicator.cjs.map +1 -1
- package/dist/typing-indicator.js +5 -5
- package/dist/typing-indicator.js.map +1 -1
- package/dist/utils/link.cjs.map +1 -1
- package/dist/utils/link.d.ts +2 -2
- package/package.json +36 -117
- package/dist/form.cjs +0 -11
- package/dist/form.cjs.map +0 -1
- package/dist/form.js +0 -59
- package/dist/form.js.map +0 -1
- package/dist/headless/_internal.d.ts.map +0 -1
- package/dist/headless/announcer.cjs.map +0 -1
- package/dist/headless/announcer.d.ts.map +0 -1
- package/dist/headless/announcer.js.map +0 -1
- package/dist/headless/aria-reflection.cjs.map +0 -1
- package/dist/headless/aria-reflection.d.ts.map +0 -1
- package/dist/headless/aria-reflection.js.map +0 -1
- package/dist/headless/auto-resize.cjs.map +0 -1
- package/dist/headless/auto-resize.d.ts.map +0 -1
- package/dist/headless/auto-resize.js.map +0 -1
- package/dist/headless/checkable.cjs.map +0 -1
- package/dist/headless/checkable.d.ts.map +0 -1
- package/dist/headless/checkable.js.map +0 -1
- package/dist/headless/choice-field.cjs +0 -2
- package/dist/headless/choice-field.cjs.map +0 -1
- package/dist/headless/choice-field.d.ts.map +0 -1
- package/dist/headless/choice-field.js.map +0 -1
- package/dist/headless/composer.cjs.map +0 -1
- package/dist/headless/composer.d.ts.map +0 -1
- package/dist/headless/composer.js.map +0 -1
- package/dist/headless/datagrid.cjs +0 -2
- package/dist/headless/datagrid.cjs.map +0 -1
- package/dist/headless/datagrid.d.ts +0 -158
- package/dist/headless/datagrid.d.ts.map +0 -1
- package/dist/headless/datagrid.js +0 -55
- package/dist/headless/datagrid.js.map +0 -1
- package/dist/headless/date-picker.cjs.map +0 -1
- package/dist/headless/date-picker.d.ts.map +0 -1
- package/dist/headless/date-picker.js.map +0 -1
- package/dist/headless/direction.cjs.map +0 -1
- package/dist/headless/direction.d.ts.map +0 -1
- package/dist/headless/direction.js.map +0 -1
- package/dist/headless/field-base.cjs +0 -2
- package/dist/headless/field-base.cjs.map +0 -1
- package/dist/headless/field-base.d.ts.map +0 -1
- package/dist/headless/field-base.js +0 -72
- package/dist/headless/field-base.js.map +0 -1
- package/dist/headless/focus.cjs.map +0 -1
- package/dist/headless/focus.d.ts.map +0 -1
- package/dist/headless/focus.js.map +0 -1
- package/dist/headless/index.d.ts.map +0 -1
- package/dist/headless/keyboard.cjs.map +0 -1
- package/dist/headless/keyboard.d.ts.map +0 -1
- package/dist/headless/keyboard.js.map +0 -1
- package/dist/headless/light-dom.cjs.map +0 -1
- package/dist/headless/light-dom.d.ts.map +0 -1
- package/dist/headless/light-dom.js.map +0 -1
- package/dist/headless/nav.cjs.map +0 -1
- package/dist/headless/nav.d.ts.map +0 -1
- package/dist/headless/nav.js.map +0 -1
- package/dist/headless/numbers.cjs.map +0 -1
- package/dist/headless/numbers.d.ts.map +0 -1
- package/dist/headless/numbers.js.map +0 -1
- package/dist/headless/option-list.cjs +0 -2
- package/dist/headless/option-list.cjs.map +0 -1
- package/dist/headless/option-list.d.ts +0 -107
- package/dist/headless/option-list.d.ts.map +0 -1
- package/dist/headless/option-list.js +0 -66
- package/dist/headless/option-list.js.map +0 -1
- package/dist/headless/ore.cjs.map +0 -1
- package/dist/headless/ore.d.ts.map +0 -1
- package/dist/headless/ore.js.map +0 -1
- package/dist/headless/overlay.cjs +0 -2
- package/dist/headless/overlay.cjs.map +0 -1
- package/dist/headless/overlay.d.ts +0 -64
- package/dist/headless/overlay.d.ts.map +0 -1
- package/dist/headless/overlay.js +0 -32
- package/dist/headless/overlay.js.map +0 -1
- package/dist/headless/paginated-list.cjs +0 -2
- package/dist/headless/paginated-list.cjs.map +0 -1
- package/dist/headless/paginated-list.d.ts.map +0 -1
- package/dist/headless/paginated-list.js +0 -34
- package/dist/headless/paginated-list.js.map +0 -1
- package/dist/headless/parse.cjs.map +0 -1
- package/dist/headless/parse.d.ts.map +0 -1
- package/dist/headless/parse.js.map +0 -1
- package/dist/headless/positioner.cjs +0 -2
- package/dist/headless/positioner.cjs.map +0 -1
- package/dist/headless/positioner.d.ts.map +0 -1
- package/dist/headless/positioner.js.map +0 -1
- package/dist/headless/ref-callback.cjs +0 -2
- package/dist/headless/ref-callback.cjs.map +0 -1
- package/dist/headless/ref-callback.d.ts.map +0 -1
- package/dist/headless/ref-callback.js.map +0 -1
- package/dist/headless/selection-control.cjs +0 -2
- package/dist/headless/selection-control.cjs.map +0 -1
- package/dist/headless/selection-control.d.ts +0 -30
- package/dist/headless/selection-control.d.ts.map +0 -1
- package/dist/headless/selection-control.js +0 -44
- package/dist/headless/selection-control.js.map +0 -1
- package/dist/headless/signals.cjs +0 -2
- package/dist/headless/signals.cjs.map +0 -1
- package/dist/headless/signals.d.ts.map +0 -1
- package/dist/headless/signals.js.map +0 -1
- package/dist/headless/slider.cjs +0 -2
- package/dist/headless/slider.d.ts.map +0 -1
- package/dist/headless/slider.js.map +0 -1
- package/dist/headless/sort-control.cjs +0 -2
- package/dist/headless/sort-control.cjs.map +0 -1
- package/dist/headless/sort-control.d.ts +0 -22
- package/dist/headless/sort-control.d.ts.map +0 -1
- package/dist/headless/sort-control.js +0 -36
- package/dist/headless/sort-control.js.map +0 -1
- package/dist/headless/spinner.cjs +0 -2
- package/dist/headless/spinner.d.ts.map +0 -1
- package/dist/headless/spinner.js.map +0 -1
- package/dist/headless/swipe.cjs.map +0 -1
- package/dist/headless/swipe.d.ts.map +0 -1
- package/dist/headless/swipe.js.map +0 -1
- package/dist/headless/text-field.cjs.map +0 -1
- package/dist/headless/text-field.d.ts.map +0 -1
- package/dist/headless/text-field.js.map +0 -1
- package/dist/headless/typeahead.cjs.map +0 -1
- package/dist/headless/typeahead.d.ts.map +0 -1
- package/dist/headless/typeahead.js.map +0 -1
- package/dist/headless.cjs +0 -1
- package/dist/headless.js +0 -30
- package/dist/inputs/datagrid/datagrid-controls.cjs +0 -2
- package/dist/inputs/datagrid/datagrid-controls.cjs.map +0 -1
- package/dist/inputs/datagrid/datagrid-controls.d.ts +0 -98
- package/dist/inputs/datagrid/datagrid-controls.d.ts.map +0 -1
- package/dist/inputs/datagrid/datagrid-controls.js +0 -147
- package/dist/inputs/datagrid/datagrid-controls.js.map +0 -1
- package/dist/inputs/form/form.css.cjs +0 -2
- package/dist/inputs/form/form.css.cjs.map +0 -1
- package/dist/inputs/form/form.css.js +0 -6
- package/dist/inputs/form/form.css.js.map +0 -1
- package/dist/inputs/form/form.d.ts +0 -59
- package/dist/inputs/form/form.d.ts.map +0 -1
- package/dist/inputs/shared/form-context.cjs +0 -2
- package/dist/inputs/shared/form-context.cjs.map +0 -1
- package/dist/inputs/shared/form-context.d.ts +0 -55
- package/dist/inputs/shared/form-context.d.ts.map +0 -1
- package/dist/inputs/shared/form-context.js +0 -15
- package/dist/inputs/shared/form-context.js.map +0 -1
- package/dist/keymap/dist/_dev.cjs +0 -2
- package/dist/keymap/dist/_dev.cjs.map +0 -1
- package/dist/keymap/dist/_dev.js +0 -4
- package/dist/keymap/dist/_dev.js.map +0 -1
- package/dist/keymap/dist/format.cjs +0 -1
- package/dist/keymap/dist/format.js +0 -1
- package/dist/keymap/dist/index.cjs +0 -1
- package/dist/keymap/dist/index.js +0 -4
- package/dist/keymap/dist/keymap.cjs +0 -2
- package/dist/keymap/dist/keymap.cjs.map +0 -1
- package/dist/keymap/dist/keymap.js +0 -221
- package/dist/keymap/dist/keymap.js.map +0 -1
- package/dist/keymap/dist/layer.cjs +0 -1
- package/dist/keymap/dist/layer.js +0 -1
- package/dist/styles/index.cjs +0 -2
- package/dist/styles/index.cjs.map +0 -1
- package/dist/styles/index.js +0 -25
- package/dist/styles/index.js.map +0 -1
- package/dist/styles/styles.css +0 -5
- package/dist/testing/index.d.ts +0 -233
- package/dist/testing/index.d.ts.map +0 -1
- package/dist/testing.cjs +0 -2
- package/dist/testing.cjs.map +0 -1
- package/dist/testing.js +0 -43
- package/dist/testing.js.map +0 -1
- /package/dist/{headless → core}/announcer.cjs +0 -0
- /package/dist/{headless → core}/announcer.d.ts +0 -0
- /package/dist/{headless → core}/aria-reflection.cjs +0 -0
- /package/dist/{headless → core}/aria-reflection.d.ts +0 -0
- /package/dist/{headless → core}/auto-resize.cjs +0 -0
- /package/dist/{headless → core}/auto-resize.d.ts +0 -0
- /package/dist/{headless → core}/checkable.cjs +0 -0
- /package/dist/{headless → core}/checkable.d.ts +0 -0
- /package/dist/{headless → core}/choice-field.d.ts +0 -0
- /package/dist/{headless → core}/composer.cjs +0 -0
- /package/dist/{headless → core}/composer.d.ts +0 -0
- /package/dist/{headless → core}/date-picker.d.ts +0 -0
- /package/dist/{headless → core}/direction.cjs +0 -0
- /package/dist/{headless → core}/direction.d.ts +0 -0
- /package/dist/{headless → core}/focus.cjs +0 -0
- /package/dist/{headless → core}/focus.d.ts +0 -0
- /package/dist/{headless → core}/keyboard.d.ts +0 -0
- /package/dist/{headless → core}/light-dom.cjs +0 -0
- /package/dist/{headless → core}/light-dom.d.ts +0 -0
- /package/dist/{headless → core}/nav.cjs +0 -0
- /package/dist/{headless → core}/nav.d.ts +0 -0
- /package/dist/{headless → core}/numbers.cjs +0 -0
- /package/dist/{headless → core}/numbers.d.ts +0 -0
- /package/dist/{headless → core}/ore.cjs +0 -0
- /package/dist/{headless → core}/paginated-list.d.ts +0 -0
- /package/dist/{headless → core}/parse.cjs +0 -0
- /package/dist/{headless → core}/parse.d.ts +0 -0
- /package/dist/{headless → core}/positioner.d.ts +0 -0
- /package/dist/{headless → core}/ref-callback.d.ts +0 -0
- /package/dist/{headless → core}/signals.d.ts +0 -0
- /package/dist/{headless → core}/slider.d.ts +0 -0
- /package/dist/{headless → core}/spinner.d.ts +0 -0
- /package/dist/{headless → core}/swipe.cjs +0 -0
- /package/dist/{headless → core}/swipe.d.ts +0 -0
- /package/dist/{headless → core}/text-field.cjs +0 -0
- /package/dist/{headless → core}/text-field.d.ts +0 -0
- /package/dist/{headless → core}/typeahead.cjs +0 -0
- /package/dist/{headless → core}/typeahead.d.ts +0 -0
|
@@ -1,147 +0,0 @@
|
|
|
1
|
-
import { computed as e, signal as t, watch as n } from "@vielzeug/ripple";
|
|
2
|
-
//#region src/inputs/datagrid/datagrid-controls.ts
|
|
3
|
-
var r = [
|
|
4
|
-
{
|
|
5
|
-
label: "Contains",
|
|
6
|
-
value: "contains"
|
|
7
|
-
},
|
|
8
|
-
{
|
|
9
|
-
label: "Equals",
|
|
10
|
-
value: "equals"
|
|
11
|
-
},
|
|
12
|
-
{
|
|
13
|
-
label: "Greater than",
|
|
14
|
-
value: "gt"
|
|
15
|
-
},
|
|
16
|
-
{
|
|
17
|
-
label: "Less than",
|
|
18
|
-
value: "lt"
|
|
19
|
-
}
|
|
20
|
-
], i = (i) => {
|
|
21
|
-
let a = t(""), o = t(!1), s = t(/* @__PURE__ */ new Set()), c = t(/* @__PURE__ */ new Set()), l = t(/* @__PURE__ */ new Map()), u = e(() => {
|
|
22
|
-
let e = new Set((i.filterOptions.value ?? []).map((e) => e.key)), t = [...c.value].filter((t) => !e.has(t));
|
|
23
|
-
if (!t.length) return /* @__PURE__ */ new Map();
|
|
24
|
-
let n = i.rows.value, r = /* @__PURE__ */ new Map();
|
|
25
|
-
for (let e of t) {
|
|
26
|
-
let t = /* @__PURE__ */ new Set(), i = [];
|
|
27
|
-
for (let r of n) {
|
|
28
|
-
let n = r[e], a = n == null ? "" : String(n);
|
|
29
|
-
t.has(a) || (t.add(a), i.push({
|
|
30
|
-
label: a || "(empty)",
|
|
31
|
-
value: a
|
|
32
|
-
}));
|
|
33
|
-
}
|
|
34
|
-
r.set(e, i);
|
|
35
|
-
}
|
|
36
|
-
return r;
|
|
37
|
-
}), d = e(() => {
|
|
38
|
-
let e = i.filterOptions.value ?? [], t = new Set(e.map((e) => e.key)), n = [...c.value].filter((e) => !t.has(e)).map((e) => ({
|
|
39
|
-
key: e,
|
|
40
|
-
label: i.columns.value.find((t) => t.key === e)?.label ?? e,
|
|
41
|
-
operators: r,
|
|
42
|
-
options: u.value.get(e) ?? []
|
|
43
|
-
}));
|
|
44
|
-
return [...e.map((e) => ({
|
|
45
|
-
...e,
|
|
46
|
-
operators: e.operators ?? r
|
|
47
|
-
})), ...n];
|
|
48
|
-
});
|
|
49
|
-
n(e(() => new Set(i.columns.value.map((e) => e.key))), (e) => {
|
|
50
|
-
let t = new Set([...c.value].filter((t) => e.has(t)));
|
|
51
|
-
t.size !== c.value.size && (c.value = t);
|
|
52
|
-
let n = new Map([...l.value].filter(([t]) => e.has(t)));
|
|
53
|
-
n.size !== l.value.size && (l.value = n);
|
|
54
|
-
}, { immediate: !1 });
|
|
55
|
-
let f = e(() => {
|
|
56
|
-
let e = i.rows.value, t = a.value.trim().toLowerCase();
|
|
57
|
-
return t ? e.filter((e) => Object.values(e).some((e) => e != null && String(e).toLowerCase().includes(t))) : e;
|
|
58
|
-
});
|
|
59
|
-
return {
|
|
60
|
-
activateFilterKey: (e) => {
|
|
61
|
-
c.value.has(e) || (c.value = /* @__PURE__ */ new Set([...c.value, e]));
|
|
62
|
-
},
|
|
63
|
-
clearAllFilters: () => {
|
|
64
|
-
c.value = /* @__PURE__ */ new Set(), l.value = /* @__PURE__ */ new Map();
|
|
65
|
-
},
|
|
66
|
-
filterDefs: d,
|
|
67
|
-
filteredRows: e(() => {
|
|
68
|
-
let e = f.value, t = l.value;
|
|
69
|
-
if (!t.size) return e;
|
|
70
|
-
let n = new Set(i.columns.value.map((e) => e.key));
|
|
71
|
-
return e.filter((e) => {
|
|
72
|
-
for (let [r, i] of t) {
|
|
73
|
-
if (!i.values.size || !n.has(r)) continue;
|
|
74
|
-
let t = e[r], a = t == null ? "" : String(t);
|
|
75
|
-
if (i.operator === "equals") {
|
|
76
|
-
if (!i.values.has(a)) return !1;
|
|
77
|
-
} else if (i.operator === "contains") {
|
|
78
|
-
if (![...i.values].some((e) => a.toLowerCase().includes(e.toLowerCase()))) return !1;
|
|
79
|
-
} else if (i.operator === "gt" || i.operator === "lt") {
|
|
80
|
-
let e = parseFloat(a), t = [...i.values].map(parseFloat).filter((e) => !isNaN(e));
|
|
81
|
-
if (!t.length) continue;
|
|
82
|
-
if (i.operator === "gt") {
|
|
83
|
-
if (!t.some((t) => e > t)) return !1;
|
|
84
|
-
} else if (!t.some((t) => e < t)) return !1;
|
|
85
|
-
}
|
|
86
|
-
}
|
|
87
|
-
return !0;
|
|
88
|
-
});
|
|
89
|
-
}),
|
|
90
|
-
filterValues: l,
|
|
91
|
-
hiddenColumns: s,
|
|
92
|
-
removeFilter: (e) => {
|
|
93
|
-
let t = new Set(c.value);
|
|
94
|
-
t.delete(e), c.value = t;
|
|
95
|
-
let n = new Map(l.value);
|
|
96
|
-
n.delete(e), l.value = n;
|
|
97
|
-
},
|
|
98
|
-
resetFilters: () => {
|
|
99
|
-
c.value = /* @__PURE__ */ new Set(), l.value = /* @__PURE__ */ new Map();
|
|
100
|
-
},
|
|
101
|
-
resetSearch: () => {
|
|
102
|
-
a.value = "", o.value = !1;
|
|
103
|
-
},
|
|
104
|
-
searchActive: o,
|
|
105
|
-
searchQuery: a,
|
|
106
|
-
setActiveFilterKeys: (e) => {
|
|
107
|
-
let t = new Set(e);
|
|
108
|
-
c.value = t;
|
|
109
|
-
let n = new Map(l.value), r = !1;
|
|
110
|
-
for (let e of n.keys()) t.has(e) || (n.delete(e), r = !0);
|
|
111
|
-
r && (l.value = n);
|
|
112
|
-
},
|
|
113
|
-
setFilter: (e, t) => {
|
|
114
|
-
let n = new Map(l.value);
|
|
115
|
-
if (t.length === 0) n.delete(e);
|
|
116
|
-
else {
|
|
117
|
-
let r = n.get(e);
|
|
118
|
-
n.set(e, {
|
|
119
|
-
operator: r?.operator ?? "contains",
|
|
120
|
-
values: new Set(t)
|
|
121
|
-
});
|
|
122
|
-
}
|
|
123
|
-
l.value = n;
|
|
124
|
-
},
|
|
125
|
-
setFilterOperator: (e, t) => {
|
|
126
|
-
let n = new Map(l.value), r = n.get(e);
|
|
127
|
-
r && (n.set(e, {
|
|
128
|
-
...r,
|
|
129
|
-
operator: t
|
|
130
|
-
}), l.value = n);
|
|
131
|
-
},
|
|
132
|
-
setSearchQuery: (e) => {
|
|
133
|
-
a.value = e;
|
|
134
|
-
},
|
|
135
|
-
toggleColumnVisibility: (e) => {
|
|
136
|
-
let t = new Set(s.value);
|
|
137
|
-
t.has(e) ? t.delete(e) : t.add(e), s.value = t;
|
|
138
|
-
},
|
|
139
|
-
toggleSearch: () => {
|
|
140
|
-
o.value && (a.value = ""), o.value = !o.value;
|
|
141
|
-
}
|
|
142
|
-
};
|
|
143
|
-
};
|
|
144
|
-
//#endregion
|
|
145
|
-
export { i as createDataGridControls };
|
|
146
|
-
|
|
147
|
-
//# sourceMappingURL=datagrid-controls.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"datagrid-controls.js","names":[],"sources":["../../../src/inputs/datagrid/datagrid-controls.ts"],"sourcesContent":["import { computed, signal, type Readable, watch } from '@vielzeug/ripple';\n\nimport type { DataGridColumn } from '../../headless';\n\n// ── Types ──────────────────────────────────────────────────────────────────────\n\n/**\n * A single filter option definition — the available choices shown in the filter picker\n * for one column. When `filterOptions` is not provided on the grid, options are\n * auto-derived from the current row data.\n */\nexport type FilterOption = {\n key: string;\n label: string;\n operators?: { label: string; value: string }[];\n options: { label?: string; value: string }[];\n};\n\nexport type FilterOperator = 'contains' | 'equals' | 'gt' | 'lt';\n\nexport type FilterRule = {\n operator: FilterOperator;\n values: Set<string>;\n};\n\nexport type DataGridView = {\n /** Unique identifier for this view. */\n id: string;\n /** Display label shown in the tab. */\n label: string;\n};\n\nexport type DataGridControlsOptions = {\n /** Reactive column definitions — used to auto-derive filter options and prune stale state. */\n columns: Readable<DataGridColumn[]>;\n /**\n * Pre-defined filter option definitions per column key.\n * When set, these replace auto-derived options for matching keys.\n */\n filterOptions: Readable<FilterOption[] | undefined>;\n /** Reactive row data — searched and filtered to produce `filteredRows`. */\n rows: Readable<Record<string, unknown>[]>;\n};\n\nexport type DataGridControlsHandle = {\n /** Add a column key to the active filter set (makes its rule appear in the UI). */\n activateFilterKey(key: string): void;\n /** Clear all active filter rules and values. */\n clearAllFilters(): void;\n /**\n * Merged filter option definitions (provided + user-activated auto-derived).\n * A key's presence means its filter rule is visible in the UI.\n */\n readonly filterDefs: Readable<FilterOption[]>;\n /**\n * Rows after applying search and filter. Pass this as the `items` source\n * to the table control so the headless module owns the full data pipeline.\n */\n readonly filteredRows: Readable<Record<string, unknown>[]>;\n /** Unified filter state: column key → filter rule (operator + values). */\n readonly filterValues: Readable<Map<string, FilterRule>>;\n /** Set of column keys hidden by the user. */\n readonly hiddenColumns: Readable<Set<string>>;\n /** Remove a column's filter rule and clear its selected values. */\n removeFilter(key: string): void;\n /** Clear all active filter rules and values. Alias for clearAllFilters, provided for symmetry with resetSearch. */\n resetFilters(): void;\n /** Clear search state (query + active flag). Column visibility is a persistent preference and is never reset. */\n resetSearch(): void;\n /** Whether the inline search input is currently open. */\n readonly searchActive: Readable<boolean>;\n /** Current text search query. */\n readonly searchQuery: Readable<string>;\n /** Set the active filter keys at once, pruning stale values. */\n setActiveFilterKeys(keys: string[]): void;\n /** Apply or update a multi-select filter for a column. Pass [] to clear that column's values. */\n setFilter(key: string, values: string[]): void;\n /** Update the operator for a specific filter rule. */\n setFilterOperator(key: string, operator: FilterOperator): void;\n /** Set the raw search query text directly. */\n setSearchQuery(q: string): void;\n /** Toggle a column's visibility. */\n toggleColumnVisibility(key: string): void;\n /** Toggle search open/closed. Clears the query on close. */\n toggleSearch(): void;\n};\n\n// ── Implementation ─────────────────────────────────────────────────────────────\n\nconst DEFAULT_OPERATORS: { label: string; value: FilterOperator }[] = [\n { label: 'Contains', value: 'contains' },\n { label: 'Equals', value: 'equals' },\n { label: 'Greater than', value: 'gt' },\n { label: 'Less than', value: 'lt' },\n];\n\n/**\n * Headless controls for ore-datagrid: search, filter, column visibility, and derived rows.\n *\n * Design notes:\n * - Filter state uses two signals: activeFilterKeys (Set) drives filterDefs and\n * the filter rule DOM; filterValues (Map) tracks selected values per key.\n * Separating them prevents filterDefs from recomputing on value changes, which\n * would otherwise destroy and recreate the combobox mid-interaction.\n * - colOptions is computed lazily — only for columns with active filter rules,\n * so the common case (no active filters) costs O(0) row iterations.\n * - filteredRows is derived here (not in the component) so the full data pipeline\n * lives in one place and can be unit-tested end-to-end.\n */\nexport const createDataGridControls = (options: DataGridControlsOptions): DataGridControlsHandle => {\n const searchQuery = signal('');\n const searchActive = signal(false);\n const hiddenColumns = signal(new Set<string>());\n\n // Two-signal filter state: activeFilterKeys tracks which rules exist (drives\n // filterDefs / DOM structure); filterValues tracks selected values per key.\n // Separating them prevents filterDefs from recomputing — and the filter rule\n // DOM from being torn down — every time a value is selected.\n const activeFilterKeys = signal(new Set<string>());\n const filterValues = signal(new Map<string, FilterRule>());\n\n // Derive options only for columns that have an active filter rule and are not\n // covered by externally-provided filterOptions. Lazy: O(activeRules × rows).\n const colOptions = computed(() => {\n const externalKeys = new Set((options.filterOptions.value ?? []).map((f) => f.key));\n const activeKeys = [...activeFilterKeys.value].filter((k) => !externalKeys.has(k));\n\n if (!activeKeys.length) return new Map<string, { label: string; value: string }[]>();\n\n const rows = options.rows.value;\n const map = new Map<string, { label: string; value: string }[]>();\n\n for (const key of activeKeys) {\n const seen = new Set<string>();\n const opts: { label: string; value: string }[] = [];\n\n for (const row of rows) {\n const v = row[key];\n const s = v == null ? '' : String(v);\n\n if (!seen.has(s)) {\n seen.add(s);\n opts.push({ label: s || '(empty)', value: s });\n }\n }\n\n map.set(key, opts);\n }\n\n return map;\n });\n\n // Merge provided filter options with auto-derived ones for active keys.\n // Depends only on activeFilterKeys (not filterValues) so adding/removing a\n // value does not tear down the filter rule DOM.\n const filterDefs = computed<FilterOption[]>(() => {\n const provided = options.filterOptions.value ?? [];\n const providedKeys = new Set(provided.map((f) => f.key));\n const derived = [...activeFilterKeys.value]\n .filter((k) => !providedKeys.has(k))\n .map((k) => {\n const col = options.columns.value.find((c) => c.key === k);\n\n return {\n key: k,\n label: col?.label ?? k,\n operators: DEFAULT_OPERATORS,\n options: colOptions.value.get(k) ?? [],\n };\n });\n\n return [...provided.map((f) => ({ ...f, operators: f.operators ?? DEFAULT_OPERATORS })), ...derived];\n });\n\n // Prune stale filter rules when columns are removed.\n watch(\n computed(() => new Set(options.columns.value.map((c) => c.key))),\n (keySet) => {\n const prunedKeys = new Set([...activeFilterKeys.value].filter((k) => keySet.has(k)));\n\n if (prunedKeys.size !== activeFilterKeys.value.size) activeFilterKeys.value = prunedKeys;\n\n const prunedValues = new Map([...filterValues.value].filter(([k]) => keySet.has(k)));\n\n if (prunedValues.size !== filterValues.value.size) filterValues.value = prunedValues;\n },\n { immediate: false },\n );\n\n // Full data pipeline: search then filter. Lives here so the headless module\n // owns the complete input→output contract and can be tested end-to-end.\n const searchedRows = computed(() => {\n const rows = options.rows.value;\n const q = searchQuery.value.trim().toLowerCase();\n\n if (!q) return rows;\n\n return rows.filter((row) => Object.values(row).some((v) => v != null && String(v).toLowerCase().includes(q)));\n });\n\n const filteredRows = computed(() => {\n const rows = searchedRows.value;\n const fv = filterValues.value;\n\n if (!fv.size) return rows;\n\n const currentKeys = new Set(options.columns.value.map((c) => c.key));\n\n return rows.filter((row) => {\n for (const [key, rule] of fv) {\n if (!rule.values.size || !currentKeys.has(key)) continue;\n\n const cell = row[key];\n const cellValue = cell == null ? '' : String(cell);\n\n if (rule.operator === 'equals') {\n if (!rule.values.has(cellValue)) return false;\n } else if (rule.operator === 'contains') {\n if (![...rule.values].some((v) => cellValue.toLowerCase().includes(v.toLowerCase()))) return false;\n } else if (rule.operator === 'gt' || rule.operator === 'lt') {\n const num = parseFloat(cellValue);\n const targets = [...rule.values].map(parseFloat).filter((n) => !isNaN(n));\n\n if (!targets.length) continue;\n\n if (rule.operator === 'gt') {\n if (!targets.some((t) => num > t)) return false;\n } else {\n if (!targets.some((t) => num < t)) return false;\n }\n }\n }\n\n return true;\n });\n });\n\n const setFilter = (key: string, values: string[]): void => {\n const next = new Map(filterValues.value);\n\n if (values.length === 0) {\n next.delete(key);\n } else {\n const existing = next.get(key);\n\n next.set(key, { operator: existing?.operator ?? 'contains', values: new Set(values) });\n }\n\n filterValues.value = next;\n };\n\n const setFilterOperator = (key: string, operator: FilterOperator): void => {\n const next = new Map(filterValues.value);\n const existing = next.get(key);\n\n if (existing) {\n next.set(key, { ...existing, operator });\n\n filterValues.value = next;\n }\n };\n\n const activateFilterKey = (key: string): void => {\n if (activeFilterKeys.value.has(key)) return;\n\n activeFilterKeys.value = new Set([...activeFilterKeys.value, key]);\n };\n\n const removeFilter = (key: string): void => {\n const nextKeys = new Set(activeFilterKeys.value);\n\n nextKeys.delete(key);\n activeFilterKeys.value = nextKeys;\n\n const nextValues = new Map(filterValues.value);\n\n nextValues.delete(key);\n filterValues.value = nextValues;\n };\n\n const clearAllFilters = (): void => {\n activeFilterKeys.value = new Set();\n filterValues.value = new Map();\n };\n\n const setSearchQuery = (q: string): void => {\n searchQuery.value = q;\n };\n\n const setActiveFilterKeys = (keys: string[]): void => {\n const nextKeys = new Set(keys);\n\n activeFilterKeys.value = nextKeys;\n\n // Prune values for keys that are no longer active.\n const nextValues = new Map(filterValues.value);\n let changed = false;\n\n for (const k of nextValues.keys()) {\n if (!nextKeys.has(k)) {\n nextValues.delete(k);\n changed = true;\n }\n }\n\n if (changed) filterValues.value = nextValues;\n };\n\n const toggleColumnVisibility = (key: string): void => {\n const next = new Set(hiddenColumns.value);\n\n if (next.has(key)) {\n next.delete(key);\n } else {\n next.add(key);\n }\n\n hiddenColumns.value = next;\n };\n\n const toggleSearch = (): void => {\n if (searchActive.value) searchQuery.value = '';\n\n searchActive.value = !searchActive.value;\n };\n\n const resetSearch = (): void => {\n searchQuery.value = '';\n searchActive.value = false;\n };\n\n const resetFilters = (): void => {\n activeFilterKeys.value = new Set();\n filterValues.value = new Map();\n };\n\n return {\n activateFilterKey,\n clearAllFilters,\n filterDefs,\n filteredRows,\n filterValues,\n hiddenColumns,\n removeFilter,\n resetFilters,\n resetSearch,\n searchActive,\n searchQuery,\n setActiveFilterKeys,\n setFilter,\n setFilterOperator,\n setSearchQuery,\n toggleColumnVisibility,\n toggleSearch,\n };\n};\n"],"mappings":"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"}
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
var e=`@layer refine.base{:host{display:block}form{gap:var(--form-gap,var(--size-4,1rem));align-items:start;display:grid}}@layer refine.orientation{:host([orientation=horizontal]) form{flex-wrap:wrap;align-items:center;display:flex}}`;exports.default=e;
|
|
2
|
-
//# sourceMappingURL=form.css.cjs.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"form.css.cjs","names":[],"sources":["../../../src/inputs/form/form.css?inline"],"sourcesContent":["@layer refine.base {\n :host {\n display: block;\n }\n\n form {\n display: grid;\n gap: var(--form-gap, var(--size-4, 1rem));\n align-items: start;\n }\n}\n\n@layer refine.orientation {\n :host([orientation='horizontal']) form {\n display: flex;\n flex-wrap: wrap;\n align-items: center;\n }\n}\n"],"mappings":""}
|
|
@@ -1,6 +0,0 @@
|
|
|
1
|
-
//#region src/inputs/form/form.css?inline
|
|
2
|
-
var e = "@layer refine.base{:host{display:block}form{gap:var(--form-gap,var(--size-4,1rem));align-items:start;display:grid}}@layer refine.orientation{:host([orientation=horizontal]) form{flex-wrap:wrap;align-items:center;display:flex}}";
|
|
3
|
-
//#endregion
|
|
4
|
-
export { e as default };
|
|
5
|
-
|
|
6
|
-
//# sourceMappingURL=form.css.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"form.css.js","names":[],"sources":["../../../src/inputs/form/form.css?inline"],"sourcesContent":["@layer refine.base {\n :host {\n display: block;\n }\n\n form {\n display: grid;\n gap: var(--form-gap, var(--size-4, 1rem));\n align-items: start;\n }\n}\n\n@layer refine.orientation {\n :host([orientation='horizontal']) form {\n display: flex;\n flex-wrap: wrap;\n align-items: center;\n }\n}\n"],"mappings":""}
|
|
@@ -1,59 +0,0 @@
|
|
|
1
|
-
import type { ValidationTrigger } from '../../headless';
|
|
2
|
-
import type { ComponentSize, VisualVariant } from '../../types';
|
|
3
|
-
/** Form component properties */
|
|
4
|
-
export type OreFormProps = {
|
|
5
|
-
/** Disabled state */
|
|
6
|
-
disabled?: boolean;
|
|
7
|
-
/** No validate */
|
|
8
|
-
novalidate?: boolean;
|
|
9
|
-
/** Layout orientation for child fields */
|
|
10
|
-
orientation?: 'horizontal' | 'vertical';
|
|
11
|
-
/** Form size preset */
|
|
12
|
-
size?: ComponentSize;
|
|
13
|
-
/** Validate on: 'submit' | 'change' | 'blur' | 'input' */
|
|
14
|
-
validateOn?: ValidationTrigger;
|
|
15
|
-
/** Form visual variant — propagated to all child form fields via FormContext */
|
|
16
|
-
variant?: VisualVariant;
|
|
17
|
-
};
|
|
18
|
-
/** Events emitted by the form component */
|
|
19
|
-
export type OreFormEvents = {
|
|
20
|
-
/** Emitted when the form is reset */
|
|
21
|
-
reset: {
|
|
22
|
-
originalEvent: Event;
|
|
23
|
-
};
|
|
24
|
-
/** Emitted when the form is submitted */
|
|
25
|
-
submit: {
|
|
26
|
-
formData: FormData;
|
|
27
|
-
originalEvent: SubmitEvent;
|
|
28
|
-
};
|
|
29
|
-
};
|
|
30
|
-
/**
|
|
31
|
-
* A wrapper for standard HTML form that provides context to child ore-* form fields.
|
|
32
|
-
* Manages shared state like size, variant, and validation timing.
|
|
33
|
-
*
|
|
34
|
-
* @element ore-form
|
|
35
|
-
*
|
|
36
|
-
* @attr {boolean} disabled - Disable all child fields
|
|
37
|
-
* @attr {boolean} novalidate - Disable native browser validation
|
|
38
|
-
* @attr {string} validate-on - When to trigger validation: 'submit' | 'change' | 'blur' | 'input' (default: 'submit')
|
|
39
|
-
*
|
|
40
|
-
* @fires submit - detail: { formData, originalEvent }
|
|
41
|
-
* @fires reset - detail: { originalEvent }
|
|
42
|
-
*
|
|
43
|
-
* @slot - Form controls and content rendered inside the form element.
|
|
44
|
-
* @cssprop --form-gap - Gap between form control rows
|
|
45
|
-
* @part form - Form root element.
|
|
46
|
-
* @example
|
|
47
|
-
* ```html
|
|
48
|
-
* <ore-form @submit=${(e) => console.log(e.detail.formData)}>
|
|
49
|
-
* <ore-input name="username" label="Username" required></ore-input>
|
|
50
|
-
* <ore-select name="role" label="Role">
|
|
51
|
-
* <option value="user">User</option>
|
|
52
|
-
* <option value="admin">Admin</option>
|
|
53
|
-
* </ore-select>
|
|
54
|
-
* <ore-button type="submit">Submit</ore-button>
|
|
55
|
-
* </ore-form>
|
|
56
|
-
* ```
|
|
57
|
-
*/
|
|
58
|
-
export declare const FORM_TAG: "ore-form";
|
|
59
|
-
//# sourceMappingURL=form.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"form.d.ts","sourceRoot":"","sources":["../../../src/inputs/form/form.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAC;AACxD,OAAO,KAAK,EAAE,aAAa,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAKhE,gCAAgC;AAChC,MAAM,MAAM,YAAY,GAAG;IACzB,qBAAqB;IACrB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,kBAAkB;IAClB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,0CAA0C;IAC1C,WAAW,CAAC,EAAE,YAAY,GAAG,UAAU,CAAC;IACxC,uBAAuB;IACvB,IAAI,CAAC,EAAE,aAAa,CAAC;IACrB,0DAA0D;IAC1D,UAAU,CAAC,EAAE,iBAAiB,CAAC;IAC/B,gFAAgF;IAChF,OAAO,CAAC,EAAE,aAAa,CAAC;CACzB,CAAC;AAEF,2CAA2C;AAC3C,MAAM,MAAM,aAAa,GAAG;IAC1B,qCAAqC;IACrC,KAAK,EAAE;QAAE,aAAa,EAAE,KAAK,CAAA;KAAE,CAAC;IAChC,yCAAyC;IACzC,MAAM,EAAE;QAAE,QAAQ,EAAE,QAAQ,CAAC;QAAC,aAAa,EAAE,WAAW,CAAA;KAAE,CAAC;CAC5D,CAAC;AAEF;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;AACH,eAAO,MAAM,QAAQ,EAAG,UAAmB,CAAC"}
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
let e=require("@vielzeug/ore"),t=require("@vielzeug/ripple");var n=(0,e.createContext)(`FormContext`),r=(e,n)=>({disabled:(0,t.computed)(()=>!!e.disabled?.value||!!n?.disabled?.value),size:(0,t.computed)(()=>e.size?.value??n?.size?.value),variant:(0,t.computed)(()=>e.variant?.value??n?.variant?.value)}),i=(t,n)=>{let i=r(t,n);return(0,e.bind)({attr:{disabled:()=>i.disabled.value?``:void 0}}),i};exports.FORM_CTX=n,exports.mergeFormContext=r,exports.useFormContext=i;
|
|
2
|
-
//# sourceMappingURL=form-context.cjs.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"form-context.cjs","names":[],"sources":["../../../src/inputs/shared/form-context.ts"],"sourcesContent":["import { bind, createContext } from '@vielzeug/ore';\nimport { computed, type Readable } from '@vielzeug/ripple';\n\nimport type { ValidationTrigger } from '../../headless';\nimport type { ComponentSize, VisualVariant } from '../../types';\n\nexport type FormContext = {\n /** Whether all child fields are disabled */\n disabled: Readable<boolean>;\n /** Default size propagated to all child form fields */\n size: Readable<ComponentSize | undefined>;\n /**\n * When to validate child form controls:\n * - `'submit'` (default): only on form submit\n * - `'blur'`: validate each field when it loses focus\n * - `'change'`: validate on every value change\n * - `'input'`: validate on every input event\n */\n validateOn: Readable<ValidationTrigger>;\n /** Default variant propagated to all child form fields */\n variant: Readable<VisualVariant | undefined>;\n};\n\nexport const FORM_CTX = createContext<FormContext>('FormContext');\n\n// ── Prop resolver ─────────────────────────────────────────────────────────────\n\ntype FormContextResolvedProps = {\n disabled: Readable<boolean>;\n size: Readable<ComponentSize | undefined>;\n variant: Readable<VisualVariant | undefined>;\n};\n\n/**\n * Pure resolver: merges local prop signals with an optional `FormContext`.\n * Returns computed `disabled`, `size`, and `variant` signals without any\n * side-effects — suitable for unit testing and composition.\n */\nexport const mergeFormContext = (\n props: {\n disabled?: Readable<boolean | undefined> | Readable<boolean>;\n size?: Readable<string | undefined> | Readable<string>;\n variant?: Readable<string | undefined> | Readable<string>;\n },\n formCtx?: FormContext,\n): FormContextResolvedProps => ({\n disabled: computed(() => Boolean(props.disabled?.value) || Boolean(formCtx?.disabled?.value)),\n size: computed(\n (): ComponentSize | undefined => (props.size?.value ?? formCtx?.size?.value) as ComponentSize | undefined,\n ),\n variant: computed(\n (): VisualVariant | undefined => (props.variant?.value ?? formCtx?.variant?.value) as VisualVariant | undefined,\n ),\n});\n\n/**\n * Resolves form context props AND automatically reflects the computed `disabled`\n * state as a `disabled` attribute on the host element.\n *\n * The `use` prefix signals that calling this function performs a side-effect\n * (`bind()` on the current component's host) in addition to returning the\n * resolved props — a real composable, since `bind` resolves the active\n * component through implicit context rather than being passed in.\n *\n * Accepts `FormContext | undefined` directly — pass `inject(FORM_CTX)`.\n *\n * `props` here is a field component's *own* full props object (from `setup(props)`), not a\n * narrowed struct — this reads `props.disabled`/`props.size`/`props.variant` off it directly,\n * by name. That's easy to miss when auditing a component: `props.variant` can look unused\n * (never appears as `props.variant` anywhere else in the file) purely because its only reader\n * is this call — grepping for `useFormContext(props` is the tell.\n */\nexport const useFormContext = (\n props: Parameters<typeof mergeFormContext>[0],\n formCtx?: FormContext,\n): FormContextResolvedProps => {\n const resolved = mergeFormContext(props, formCtx);\n\n bind({\n attr: {\n disabled: () => (resolved.disabled.value ? '' : undefined),\n },\n });\n\n return resolved;\n};\n"],"mappings":"6DAuBA,IAAa,GAAA,EAAA,EAAA,cAAA,CAAsC,aAAa,EAenD,GACX,EAKA,KAC8B,CAC9B,UAAA,EAAA,EAAA,SAAA,KAAyB,EAAQ,EAAM,UAAU,OAAU,EAAQ,GAAS,UAAU,KAAM,EAC5F,MAAA,EAAA,EAAA,SAAA,KACoC,EAAM,MAAM,OAAS,GAAS,MAAM,KACxE,EACA,SAAA,EAAA,EAAA,SAAA,KACoC,EAAM,SAAS,OAAS,GAAS,SAAS,KAC9E,CACF,GAmBa,GACX,EACA,IAC6B,CAC7B,IAAM,EAAW,EAAiB,EAAO,CAAO,EAQhD,OANA,EAAA,EAAA,KAAA,CAAK,CACH,KAAM,CACJ,aAAiB,EAAS,SAAS,MAAQ,GAAK,IAAA,EAClD,CACF,CAAC,EAEM,CACT"}
|
|
@@ -1,55 +0,0 @@
|
|
|
1
|
-
import { type Readable } from '@vielzeug/ripple';
|
|
2
|
-
import type { ValidationTrigger } from '../../headless';
|
|
3
|
-
import type { ComponentSize, VisualVariant } from '../../types';
|
|
4
|
-
export type FormContext = {
|
|
5
|
-
/** Whether all child fields are disabled */
|
|
6
|
-
disabled: Readable<boolean>;
|
|
7
|
-
/** Default size propagated to all child form fields */
|
|
8
|
-
size: Readable<ComponentSize | undefined>;
|
|
9
|
-
/**
|
|
10
|
-
* When to validate child form controls:
|
|
11
|
-
* - `'submit'` (default): only on form submit
|
|
12
|
-
* - `'blur'`: validate each field when it loses focus
|
|
13
|
-
* - `'change'`: validate on every value change
|
|
14
|
-
* - `'input'`: validate on every input event
|
|
15
|
-
*/
|
|
16
|
-
validateOn: Readable<ValidationTrigger>;
|
|
17
|
-
/** Default variant propagated to all child form fields */
|
|
18
|
-
variant: Readable<VisualVariant | undefined>;
|
|
19
|
-
};
|
|
20
|
-
export declare const FORM_CTX: import("@vielzeug/ore").InjectionKey<FormContext>;
|
|
21
|
-
type FormContextResolvedProps = {
|
|
22
|
-
disabled: Readable<boolean>;
|
|
23
|
-
size: Readable<ComponentSize | undefined>;
|
|
24
|
-
variant: Readable<VisualVariant | undefined>;
|
|
25
|
-
};
|
|
26
|
-
/**
|
|
27
|
-
* Pure resolver: merges local prop signals with an optional `FormContext`.
|
|
28
|
-
* Returns computed `disabled`, `size`, and `variant` signals without any
|
|
29
|
-
* side-effects — suitable for unit testing and composition.
|
|
30
|
-
*/
|
|
31
|
-
export declare const mergeFormContext: (props: {
|
|
32
|
-
disabled?: Readable<boolean | undefined> | Readable<boolean>;
|
|
33
|
-
size?: Readable<string | undefined> | Readable<string>;
|
|
34
|
-
variant?: Readable<string | undefined> | Readable<string>;
|
|
35
|
-
}, formCtx?: FormContext) => FormContextResolvedProps;
|
|
36
|
-
/**
|
|
37
|
-
* Resolves form context props AND automatically reflects the computed `disabled`
|
|
38
|
-
* state as a `disabled` attribute on the host element.
|
|
39
|
-
*
|
|
40
|
-
* The `use` prefix signals that calling this function performs a side-effect
|
|
41
|
-
* (`bind()` on the current component's host) in addition to returning the
|
|
42
|
-
* resolved props — a real composable, since `bind` resolves the active
|
|
43
|
-
* component through implicit context rather than being passed in.
|
|
44
|
-
*
|
|
45
|
-
* Accepts `FormContext | undefined` directly — pass `inject(FORM_CTX)`.
|
|
46
|
-
*
|
|
47
|
-
* `props` here is a field component's *own* full props object (from `setup(props)`), not a
|
|
48
|
-
* narrowed struct — this reads `props.disabled`/`props.size`/`props.variant` off it directly,
|
|
49
|
-
* by name. That's easy to miss when auditing a component: `props.variant` can look unused
|
|
50
|
-
* (never appears as `props.variant` anywhere else in the file) purely because its only reader
|
|
51
|
-
* is this call — grepping for `useFormContext(props` is the tell.
|
|
52
|
-
*/
|
|
53
|
-
export declare const useFormContext: (props: Parameters<typeof mergeFormContext>[0], formCtx?: FormContext) => FormContextResolvedProps;
|
|
54
|
-
export {};
|
|
55
|
-
//# sourceMappingURL=form-context.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"form-context.d.ts","sourceRoot":"","sources":["../../../src/inputs/shared/form-context.ts"],"names":[],"mappings":"AACA,OAAO,EAAY,KAAK,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAE3D,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAC;AACxD,OAAO,KAAK,EAAE,aAAa,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAEhE,MAAM,MAAM,WAAW,GAAG;IACxB,4CAA4C;IAC5C,QAAQ,EAAE,QAAQ,CAAC,OAAO,CAAC,CAAC;IAC5B,uDAAuD;IACvD,IAAI,EAAE,QAAQ,CAAC,aAAa,GAAG,SAAS,CAAC,CAAC;IAC1C;;;;;;OAMG;IACH,UAAU,EAAE,QAAQ,CAAC,iBAAiB,CAAC,CAAC;IACxC,0DAA0D;IAC1D,OAAO,EAAE,QAAQ,CAAC,aAAa,GAAG,SAAS,CAAC,CAAC;CAC9C,CAAC;AAEF,eAAO,MAAM,QAAQ,mDAA4C,CAAC;AAIlE,KAAK,wBAAwB,GAAG;IAC9B,QAAQ,EAAE,QAAQ,CAAC,OAAO,CAAC,CAAC;IAC5B,IAAI,EAAE,QAAQ,CAAC,aAAa,GAAG,SAAS,CAAC,CAAC;IAC1C,OAAO,EAAE,QAAQ,CAAC,aAAa,GAAG,SAAS,CAAC,CAAC;CAC9C,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,gBAAgB,GAC3B,OAAO;IACL,QAAQ,CAAC,EAAE,QAAQ,CAAC,OAAO,GAAG,SAAS,CAAC,GAAG,QAAQ,CAAC,OAAO,CAAC,CAAC;IAC7D,IAAI,CAAC,EAAE,QAAQ,CAAC,MAAM,GAAG,SAAS,CAAC,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC;IACvD,OAAO,CAAC,EAAE,QAAQ,CAAC,MAAM,GAAG,SAAS,CAAC,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC;CAC3D,EACD,UAAU,WAAW,KACpB,wBAQD,CAAC;AAEH;;;;;;;;;;;;;;;;GAgBG;AACH,eAAO,MAAM,cAAc,GACzB,OAAO,UAAU,CAAC,OAAO,gBAAgB,CAAC,CAAC,CAAC,CAAC,EAC7C,UAAU,WAAW,KACpB,wBAUF,CAAC"}
|
|
@@ -1,15 +0,0 @@
|
|
|
1
|
-
import { bind as e, createContext as t } from "@vielzeug/ore";
|
|
2
|
-
import { computed as n } from "@vielzeug/ripple";
|
|
3
|
-
//#region src/inputs/shared/form-context.ts
|
|
4
|
-
var r = t("FormContext"), i = (e, t) => ({
|
|
5
|
-
disabled: n(() => !!e.disabled?.value || !!t?.disabled?.value),
|
|
6
|
-
size: n(() => e.size?.value ?? t?.size?.value),
|
|
7
|
-
variant: n(() => e.variant?.value ?? t?.variant?.value)
|
|
8
|
-
}), a = (t, n) => {
|
|
9
|
-
let r = i(t, n);
|
|
10
|
-
return e({ attr: { disabled: () => r.disabled.value ? "" : void 0 } }), r;
|
|
11
|
-
};
|
|
12
|
-
//#endregion
|
|
13
|
-
export { r as FORM_CTX, i as mergeFormContext, a as useFormContext };
|
|
14
|
-
|
|
15
|
-
//# sourceMappingURL=form-context.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"form-context.js","names":[],"sources":["../../../src/inputs/shared/form-context.ts"],"sourcesContent":["import { bind, createContext } from '@vielzeug/ore';\nimport { computed, type Readable } from '@vielzeug/ripple';\n\nimport type { ValidationTrigger } from '../../headless';\nimport type { ComponentSize, VisualVariant } from '../../types';\n\nexport type FormContext = {\n /** Whether all child fields are disabled */\n disabled: Readable<boolean>;\n /** Default size propagated to all child form fields */\n size: Readable<ComponentSize | undefined>;\n /**\n * When to validate child form controls:\n * - `'submit'` (default): only on form submit\n * - `'blur'`: validate each field when it loses focus\n * - `'change'`: validate on every value change\n * - `'input'`: validate on every input event\n */\n validateOn: Readable<ValidationTrigger>;\n /** Default variant propagated to all child form fields */\n variant: Readable<VisualVariant | undefined>;\n};\n\nexport const FORM_CTX = createContext<FormContext>('FormContext');\n\n// ── Prop resolver ─────────────────────────────────────────────────────────────\n\ntype FormContextResolvedProps = {\n disabled: Readable<boolean>;\n size: Readable<ComponentSize | undefined>;\n variant: Readable<VisualVariant | undefined>;\n};\n\n/**\n * Pure resolver: merges local prop signals with an optional `FormContext`.\n * Returns computed `disabled`, `size`, and `variant` signals without any\n * side-effects — suitable for unit testing and composition.\n */\nexport const mergeFormContext = (\n props: {\n disabled?: Readable<boolean | undefined> | Readable<boolean>;\n size?: Readable<string | undefined> | Readable<string>;\n variant?: Readable<string | undefined> | Readable<string>;\n },\n formCtx?: FormContext,\n): FormContextResolvedProps => ({\n disabled: computed(() => Boolean(props.disabled?.value) || Boolean(formCtx?.disabled?.value)),\n size: computed(\n (): ComponentSize | undefined => (props.size?.value ?? formCtx?.size?.value) as ComponentSize | undefined,\n ),\n variant: computed(\n (): VisualVariant | undefined => (props.variant?.value ?? formCtx?.variant?.value) as VisualVariant | undefined,\n ),\n});\n\n/**\n * Resolves form context props AND automatically reflects the computed `disabled`\n * state as a `disabled` attribute on the host element.\n *\n * The `use` prefix signals that calling this function performs a side-effect\n * (`bind()` on the current component's host) in addition to returning the\n * resolved props — a real composable, since `bind` resolves the active\n * component through implicit context rather than being passed in.\n *\n * Accepts `FormContext | undefined` directly — pass `inject(FORM_CTX)`.\n *\n * `props` here is a field component's *own* full props object (from `setup(props)`), not a\n * narrowed struct — this reads `props.disabled`/`props.size`/`props.variant` off it directly,\n * by name. That's easy to miss when auditing a component: `props.variant` can look unused\n * (never appears as `props.variant` anywhere else in the file) purely because its only reader\n * is this call — grepping for `useFormContext(props` is the tell.\n */\nexport const useFormContext = (\n props: Parameters<typeof mergeFormContext>[0],\n formCtx?: FormContext,\n): FormContextResolvedProps => {\n const resolved = mergeFormContext(props, formCtx);\n\n bind({\n attr: {\n disabled: () => (resolved.disabled.value ? '' : undefined),\n },\n });\n\n return resolved;\n};\n"],"mappings":";;;AAuBA,IAAa,IAAW,EAA2B,aAAa,GAenD,KACX,GAKA,OAC8B;CAC9B,UAAU,QAAe,EAAQ,EAAM,UAAU,SAAU,EAAQ,GAAS,UAAU,KAAM;CAC5F,MAAM,QAC8B,EAAM,MAAM,SAAS,GAAS,MAAM,KACxE;CACA,SAAS,QAC2B,EAAM,SAAS,SAAS,GAAS,SAAS,KAC9E;AACF,IAmBa,KACX,GACA,MAC6B;CAC7B,IAAM,IAAW,EAAiB,GAAO,CAAO;CAQhD,OANA,EAAK,EACH,MAAM,EACJ,gBAAiB,EAAS,SAAS,QAAQ,KAAK,KAAA,EAClD,EACF,CAAC,GAEM;AACT"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"_dev.cjs","names":[],"sources":["../../../../keymap/dist/_dev.js"],"sourcesContent":["//#region src/_dev.ts\nvar e = !globalThis.__KEYMAP_PROD__;\nfunction t(t) {\n\te && console.warn(`[@vielzeug/keymap] ${t}`);\n}\n//#endregion\nexport { t as warn };\n\n//# sourceMappingURL=_dev.js.map"],"mappings":"AACS,WAAW"}
|
package/dist/keymap/dist/_dev.js
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"_dev.js","names":[],"sources":["../../../../keymap/dist/_dev.js"],"sourcesContent":["//#region src/_dev.ts\nvar e = !globalThis.__KEYMAP_PROD__;\nfunction t(t) {\n\te && console.warn(`[@vielzeug/keymap] ${t}`);\n}\n//#endregion\nexport { t as warn };\n\n//# sourceMappingURL=_dev.js.map"],"mappings":"AACS,WAAW"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
require("./_dev.cjs");
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import "./_dev.js";
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
require("./format.cjs");const e=require("./keymap.cjs");require("./layer.cjs"),exports.createKeymap=e.createKeymap;
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
var e=class e extends Error{constructor(e,t){super(e,t),this.name=new.target.name,Object.setPrototypeOf(this,new.target.prototype)}static is(t){return t instanceof e}},t=class extends e{constructor(e){super(e)}};function n(){if(typeof navigator>`u`)return`ctrl`;let e=navigator.userAgentData?.platform??navigator.platform??``;return/mac/i.test(e)?`meta`:`ctrl`}var r={alt:`alt`,cmd:`meta`,command:`meta`,control:`ctrl`,ctrl:`ctrl`,meta:`meta`,opt:`alt`,option:`alt`,shift:`shift`,win:`meta`},i={del:`delete`,down:`arrowdown`,esc:`escape`,left:`arrowleft`,right:`arrowright`,space:` `,spacebar:` `,up:`arrowup`};function a(e){return{...r,mod:e}}function o(e,t){let n=e.toLowerCase();return Object.hasOwn(t,n)?t[n]:null}function s(e){return Object.hasOwn(i,e)?i[e]:e}function c(e,r=n()){let i=e.trim().split(`+`).filter(Boolean).map(e=>e.toLowerCase());if(i.length===0)return null;let c=a(r),l=new Set,u=[];for(let e of i){let t=o(e,c);t?l.add(t):u.push(e)}if(u.length===0)return null;if(u.length>1)throw new t(`Ambiguous shortcut step: "${e}" — multiple non-modifier keys found`);return{key:s(u[0]),modifiers:l}}function l(e,r=n()){return e.trim().split(/\s+/).filter(Boolean).map(n=>{let i=c(n,r);if(i===null)throw new t(`Invalid shortcut step: "${n}" in "${e}"`);return i})}function u(e){return e.map(e=>{let t=[...e.modifiers].sort().join(`+`);return t?`${t}+${e.key}`:e.key}).join(` `)}function d(e,t){if(typeof e.key!=`string`||e.key.toLowerCase()!==t.key)return!1;let{modifiers:n}=t;return!(e.altKey!==n.has(`alt`)||e.ctrlKey!==n.has(`ctrl`)||e.metaKey!==n.has(`meta`)||e.shiftKey!==n.has(`shift`))}var f=!globalThis.__KEYMAP_PROD__;function p(e){f&&console.warn(`[@vielzeug/keymap] ${e}`)}function m(e){if(typeof e==`function`)return{handler:e,priority:0,trigger:`keydown`};let t=e.priority??0;return Number.isFinite(t)||p(`binding priority must be a finite number; received ${t}. Using 0.`),{handler:e.handler,priority:Number.isFinite(t)?t:0,trigger:e.trigger??`keydown`,when:e.when}}function h(e,t){let n=0,r=[],i=null;function a(){i!==null&&(clearTimeout(i),i=null)}function o(){a(),n=0,r=[]}function s(c){let l=n===0?e():r,u=[];for(let e of l){let t=e.shortcut[n];t&&d(c,t)&&u.push(e)}if(u.length===0){let e=n!==0;return o(),e?s(c):null}a();let f=u.find(e=>e.shortcut.length===n+1);return f?(o(),f):(r=u,n++,i=setTimeout(o,t),null)}return{advance:s,reset:o}}function g(e={},t={}){let{chordTimeout:r=1e3,modKey:i=n(),preventDefault:a=!0,stopPropagation:o=!1,when:s}=t,c=Number.isFinite(r)&&r>0?r:1e3;c!==r&&p(`chordTimeout must be a positive finite number; received ${r}. Using default of 1000ms.`);let d=new Map,f=[],g=[];function _(){f=[],g=[];for(let e of d.values())e.trigger===`keydown`?f.push(e):g.push(e)}function v(e,t){let n=l(e,i),r=u(n);return d.set(r,{shortcut:n,...m(t)}),_(),r}function y(e){let t=d.delete(e);return t&&_(),t}function b(e){return y(u(l(e,i)))}for(let[t,n]of Object.entries(e)){let e=l(t,i),r=u(e);d.set(r,{shortcut:e,...m(n)})}_();let x=h(()=>f,c),S=h(()=>g,c),C=new Set,w=new Map;function T(e){return function(t){if(s&&!s())return;let n=e.advance(t);n&&(n.when&&!n.when()||(a&&t.preventDefault(),o&&t.stopPropagation(),n.handler(t)))}}let E=T(x),D=T(S),O=new AbortController,k=!1;return{bind(e,t){let n=v(e,t);return()=>{y(n)}},get disposalSignal(){return O.signal},dispose(){if(!k){k=!0,O.abort();for(let e of C)e();C.clear(),x.reset(),S.reset()}},get disposed(){return k},listBindings(){return[...d.values()].map(e=>({priority:e.priority,shortcut:e.shortcut.map(e=>({key:e.key,modifiers:new Set(e.modifiers)})),trigger:e.trigger}))},mount(e){let t=w.get(e)??0;t>0&&p(`mount() called for a target that is already mounted — this registers a duplicate listener`),w.set(e,t+1),e.addEventListener(`keydown`,E),e.addEventListener(`keyup`,D);let n=()=>{e.removeEventListener(`keydown`,E),e.removeEventListener(`keyup`,D),C.delete(n);let t=(w.get(e)??1)-1;t<=0?w.delete(e):w.set(e,t)};return C.add(n),n},[Symbol.dispose](){this.dispose()},unbind(e){b(e)||p(`unbind() called for unknown shortcut: "${e}"`)}}}exports.KeymapError=e,exports.KeymapParseError=t,exports.canonicalizeShortcut=u,exports.createKeymap=g,exports.detectModKey=n,exports.matchStep=d,exports.parseShortcut=l,exports.parseStep=c;
|
|
2
|
-
//# sourceMappingURL=keymap.cjs.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"keymap.cjs","names":[],"sources":["../../../../keymap/dist/keymap.js"],"sourcesContent":["var e=class e extends Error{constructor(e,t){super(e,t),this.name=new.target.name,Object.setPrototypeOf(this,new.target.prototype)}static is(t){return t instanceof e}},t=class extends e{constructor(e){super(e)}};function n(){if(typeof navigator>`u`)return`ctrl`;let e=navigator.userAgentData?.platform??navigator.platform??``;return/mac/i.test(e)?`meta`:`ctrl`}var r={alt:`alt`,cmd:`meta`,command:`meta`,control:`ctrl`,ctrl:`ctrl`,meta:`meta`,opt:`alt`,option:`alt`,shift:`shift`,win:`meta`},i={del:`delete`,down:`arrowdown`,esc:`escape`,left:`arrowleft`,right:`arrowright`,space:` `,spacebar:` `,up:`arrowup`};function a(e){return{...r,mod:e}}function o(e,t){let n=e.toLowerCase();return Object.hasOwn(t,n)?t[n]:null}function s(e){return Object.hasOwn(i,e)?i[e]:e}function c(e,r=n()){let i=e.trim().split(`+`).filter(Boolean).map(e=>e.toLowerCase());if(i.length===0)return null;let c=a(r),l=new Set,u=[];for(let e of i){let t=o(e,c);t?l.add(t):u.push(e)}if(u.length===0)return null;if(u.length>1)throw new t(`Ambiguous shortcut step: \"${e}\" — multiple non-modifier keys found`);return{key:s(u[0]),modifiers:l}}function l(e,r=n()){return e.trim().split(/\\s+/).filter(Boolean).map(n=>{let i=c(n,r);if(i===null)throw new t(`Invalid shortcut step: \"${n}\" in \"${e}\"`);return i})}function u(e){return e.map(e=>{let t=[...e.modifiers].sort().join(`+`);return t?`${t}+${e.key}`:e.key}).join(` `)}function d(e,t){if(typeof e.key!=`string`||e.key.toLowerCase()!==t.key)return!1;let{modifiers:n}=t;return!(e.altKey!==n.has(`alt`)||e.ctrlKey!==n.has(`ctrl`)||e.metaKey!==n.has(`meta`)||e.shiftKey!==n.has(`shift`))}function f(e,t){return e.length>t.length?!1:u(e)===u(t.slice(0,e.length))}function p(e,t,n={}){let{modKey:r,trigger:i=`keydown`}=n,a=l(e,r);return a.length===0?[]:t.filter(e=>e.trigger===i&&(f(a,e.shortcut)||f(e.shortcut,a)))}var m=!globalThis.__KEYMAP_PROD__;function h(e){m&&console.warn(`[@vielzeug/keymap] ${e}`)}var g={\" \":`Space`,arrowdown:`↓`,arrowleft:`←`,arrowright:`→`,arrowup:`↑`,backspace:`⌫`,delete:`⌦`,end:`End`,enter:`↵`,escape:`Esc`,home:`Home`,pagedown:`PgDn`,pageup:`PgUp`,tab:`⇥`},_={alt:`⌥`,ctrl:`⌃`,meta:`⌘`,shift:`⇧`},v={alt:`Alt`,ctrl:`Ctrl`,meta:`Win`,shift:`Shift`},y=[`ctrl`,`alt`,`shift`,`meta`];function b(e,t=n()){if(!e.trim())return h(`formatShortcut() received an empty shortcut string`),``;let r;try{r=l(e,t)}catch{return h(`formatShortcut() received an invalid shortcut: \"${e}\"`),``}let i=t===`meta`;return r.map(e=>{let t=y.filter(t=>e.modifiers.has(t)).map(e=>i?_[e]:v[e]),n=g[e.key]??e.key.toUpperCase();return i?`${t.join(``)}${n}`:[...t,n].join(`+`)}).join(` `)}function x(e){if(typeof e==`function`)return{handler:e,priority:0,trigger:`keydown`};let t=e.priority??0;return Number.isFinite(t)||h(`binding priority must be a finite number; received ${t}. Using 0.`),{handler:e.handler,priority:Number.isFinite(t)?t:0,trigger:e.trigger??`keydown`,when:e.when}}function S(e,t){let n=0,r=[],i=null;function a(){i!==null&&(clearTimeout(i),i=null)}function o(){a(),n=0,r=[]}function s(c){let l=n===0?e():r,u=[];for(let e of l){let t=e.shortcut[n];t&&d(c,t)&&u.push(e)}if(u.length===0){let e=n!==0;return o(),e?s(c):null}a();let f=u.find(e=>e.shortcut.length===n+1);return f?(o(),f):(r=u,n++,i=setTimeout(o,t),null)}return{advance:s,reset:o}}function C(e={},t={}){let{chordTimeout:r=1e3,modKey:i=n(),preventDefault:a=!0,stopPropagation:o=!1,when:s}=t,c=Number.isFinite(r)&&r>0?r:1e3;c!==r&&h(`chordTimeout must be a positive finite number; received ${r}. Using default of 1000ms.`);let d=new Map,f=[],p=[];function m(){f=[],p=[];for(let e of d.values())e.trigger===`keydown`?f.push(e):p.push(e)}function g(e,t){let n=l(e,i),r=u(n);return d.set(r,{shortcut:n,...x(t)}),m(),r}function _(e){let t=d.delete(e);return t&&m(),t}function v(e){return _(u(l(e,i)))}for(let[t,n]of Object.entries(e)){let e=l(t,i),r=u(e);d.set(r,{shortcut:e,...x(n)})}m();let y=S(()=>f,c),b=S(()=>p,c),C=new Set,w=new Map;function T(e){return function(t){if(s&&!s())return;let n=e.advance(t);n&&(n.when&&!n.when()||(a&&t.preventDefault(),o&&t.stopPropagation(),n.handler(t)))}}let E=T(y),D=T(b),O=new AbortController,k=!1;return{bind(e,t){let n=g(e,t);return()=>{_(n)}},get disposalSignal(){return O.signal},dispose(){if(!k){k=!0,O.abort();for(let e of C)e();C.clear(),y.reset(),b.reset()}},get disposed(){return k},listBindings(){return[...d.values()].map(e=>({priority:e.priority,shortcut:e.shortcut.map(e=>({key:e.key,modifiers:new Set(e.modifiers)})),trigger:e.trigger}))},mount(e){let t=w.get(e)??0;t>0&&h(`mount() called for a target that is already mounted — this registers a duplicate listener`),w.set(e,t+1),e.addEventListener(`keydown`,E),e.addEventListener(`keyup`,D);let n=()=>{e.removeEventListener(`keydown`,E),e.removeEventListener(`keyup`,D),C.delete(n);let t=(w.get(e)??1)-1;t<=0?w.delete(e):w.set(e,t)};return C.add(n),n},[Symbol.dispose](){this.dispose()},unbind(e){v(e)||h(`unbind() called for unknown shortcut: \"${e}\"`)}}}function w(e,t={},n={}){let r=!0,i=C(t,{...n,when:()=>r&&(n.when?.()??!0)});return{activate(){r=!0},get active(){return r},bind(e,t){return i.bind(e,t)},deactivate(){r=!1},get disposalSignal(){return i.disposalSignal},dispose(){i.dispose()},get disposed(){return i.disposed},listBindings(){return i.listBindings()},mount(e){return i.mount(e)},get parent(){return e},[Symbol.dispose](){this.dispose()},unbind(e){i.unbind(e)}}}export{e as KeymapError,t as KeymapParseError,u as canonicalizeShortcut,C as createKeymap,w as createKeymapLayer,n as detectModKey,p as findShortcutConflicts,b as formatShortcut,d as matchStep,l as parseShortcut,c as parseStep};\n//# sourceMappingURL=keymap.js.map"],"mappings":"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"}
|