bits-ui 2.6.2 → 2.8.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 +4 -4
- package/dist/bits/accordion/accordion.svelte.d.ts +66 -58
- package/dist/bits/accordion/accordion.svelte.js +56 -51
- package/dist/bits/accordion/components/accordion-content.svelte +4 -4
- package/dist/bits/accordion/components/accordion-header.svelte +2 -2
- package/dist/bits/accordion/components/accordion-item.svelte +2 -2
- package/dist/bits/accordion/components/accordion-trigger.svelte +2 -2
- package/dist/bits/accordion/components/accordion.svelte +2 -2
- package/dist/bits/alert-dialog/components/alert-dialog-action.svelte +2 -2
- package/dist/bits/alert-dialog/components/alert-dialog-cancel.svelte +2 -2
- package/dist/bits/alert-dialog/components/alert-dialog-content.svelte +3 -3
- package/dist/bits/alert-dialog/components/alert-dialog.svelte +9 -3
- package/dist/bits/aspect-ratio/aspect-ratio.svelte.d.ts +10 -16
- package/dist/bits/aspect-ratio/aspect-ratio.svelte.js +4 -11
- package/dist/bits/aspect-ratio/components/aspect-ratio.svelte +2 -2
- package/dist/bits/avatar/avatar.svelte.d.ts +25 -33
- package/dist/bits/avatar/avatar.svelte.js +20 -21
- package/dist/bits/avatar/components/avatar-fallback.svelte +2 -2
- package/dist/bits/avatar/components/avatar-image.svelte +2 -2
- package/dist/bits/avatar/components/avatar.svelte +2 -2
- package/dist/bits/calendar/calendar.svelte.d.ts +117 -106
- package/dist/bits/calendar/calendar.svelte.js +51 -52
- package/dist/bits/calendar/components/calendar-cell.svelte +2 -2
- package/dist/bits/calendar/components/calendar-day.svelte +2 -2
- package/dist/bits/calendar/components/calendar-grid-body.svelte +2 -2
- package/dist/bits/calendar/components/calendar-grid-head.svelte +2 -2
- package/dist/bits/calendar/components/calendar-grid-row.svelte +2 -2
- package/dist/bits/calendar/components/calendar-grid.svelte +2 -2
- package/dist/bits/calendar/components/calendar-head-cell.svelte +2 -2
- package/dist/bits/calendar/components/calendar-header.svelte +2 -2
- package/dist/bits/calendar/components/calendar-heading.svelte +5 -5
- package/dist/bits/calendar/components/calendar-month-select.svelte +2 -2
- package/dist/bits/calendar/components/calendar-next-button.svelte +2 -2
- package/dist/bits/calendar/components/calendar-prev-button.svelte +2 -2
- package/dist/bits/calendar/components/calendar-year-select.svelte +2 -2
- package/dist/bits/calendar/components/calendar.svelte +2 -2
- package/dist/bits/checkbox/checkbox.svelte.d.ts +37 -34
- package/dist/bits/checkbox/checkbox.svelte.js +19 -22
- package/dist/bits/checkbox/components/checkbox-group-label.svelte +2 -2
- package/dist/bits/checkbox/components/checkbox-group.svelte +2 -2
- package/dist/bits/checkbox/components/checkbox-input.svelte +2 -2
- package/dist/bits/checkbox/components/checkbox.svelte +2 -2
- package/dist/bits/collapsible/collapsible.svelte.d.ts +30 -27
- package/dist/bits/collapsible/collapsible.svelte.js +23 -15
- package/dist/bits/collapsible/components/collapsible-content.svelte +5 -5
- package/dist/bits/collapsible/components/collapsible-content.svelte.d.ts +1 -4
- package/dist/bits/collapsible/components/collapsible-trigger.svelte +2 -2
- package/dist/bits/collapsible/components/collapsible.svelte +4 -2
- package/dist/bits/collapsible/types.d.ts +4 -0
- package/dist/bits/combobox/components/combobox-input.svelte +2 -2
- package/dist/bits/combobox/components/combobox-trigger.svelte +2 -2
- package/dist/bits/combobox/components/combobox.svelte +4 -2
- package/dist/bits/command/command.svelte.d.ts +103 -92
- package/dist/bits/command/command.svelte.js +55 -57
- package/dist/bits/command/components/_command-label.svelte +2 -2
- package/dist/bits/command/components/command-empty.svelte +2 -2
- package/dist/bits/command/components/command-group-heading.svelte +2 -2
- package/dist/bits/command/components/command-group-items.svelte +2 -2
- package/dist/bits/command/components/command-group.svelte +2 -2
- package/dist/bits/command/components/command-input.svelte +2 -2
- package/dist/bits/command/components/command-item.svelte +2 -2
- package/dist/bits/command/components/command-link-item.svelte +2 -2
- package/dist/bits/command/components/command-list.svelte +2 -2
- package/dist/bits/command/components/command-loading.svelte +2 -2
- package/dist/bits/command/components/command-separator.svelte +2 -2
- package/dist/bits/command/components/command-viewport.svelte +2 -2
- package/dist/bits/command/components/command.svelte +2 -2
- package/dist/bits/context-menu/components/context-menu-content-static.svelte +3 -3
- package/dist/bits/context-menu/components/context-menu-content.svelte +3 -3
- package/dist/bits/context-menu/components/context-menu-trigger.svelte +2 -2
- package/dist/bits/context-menu/components/context-menu.svelte +16 -11
- package/dist/bits/date-field/components/date-field-hidden-input.svelte +2 -2
- package/dist/bits/date-field/components/date-field-input.svelte +2 -2
- package/dist/bits/date-field/components/date-field-label.svelte +2 -2
- package/dist/bits/date-field/components/date-field-segment.svelte +2 -2
- package/dist/bits/date-field/components/date-field.svelte +2 -2
- package/dist/bits/date-field/date-field.svelte.d.ts +85 -74
- package/dist/bits/date-field/date-field.svelte.js +55 -53
- package/dist/bits/date-picker/components/date-picker-calendar.svelte +2 -2
- package/dist/bits/date-picker/components/date-picker.svelte +8 -6
- package/dist/bits/date-picker/date-picker.svelte.d.ts +10 -10
- package/dist/bits/date-picker/date-picker.svelte.js +6 -5
- package/dist/bits/date-picker/types.d.ts +4 -0
- package/dist/bits/date-range-field/components/date-range-field-input.svelte +2 -2
- package/dist/bits/date-range-field/components/date-range-field-label.svelte +2 -2
- package/dist/bits/date-range-field/components/date-range-field.svelte +2 -2
- package/dist/bits/date-range-field/date-range-field.svelte.d.ts +32 -29
- package/dist/bits/date-range-field/date-range-field.svelte.js +33 -32
- package/dist/bits/date-range-picker/components/date-range-picker-calendar.svelte +2 -2
- package/dist/bits/date-range-picker/components/date-range-picker.svelte +8 -6
- package/dist/bits/date-range-picker/date-range-picker.svelte.d.ts +10 -10
- package/dist/bits/date-range-picker/date-range-picker.svelte.js +6 -5
- package/dist/bits/date-range-picker/types.d.ts +4 -0
- package/dist/bits/dialog/components/dialog-close.svelte +2 -2
- package/dist/bits/dialog/components/dialog-content.svelte +3 -3
- package/dist/bits/dialog/components/dialog-description.svelte +2 -2
- package/dist/bits/dialog/components/dialog-overlay.svelte +3 -6
- package/dist/bits/dialog/components/dialog-title.svelte +2 -2
- package/dist/bits/dialog/components/dialog-trigger.svelte +2 -2
- package/dist/bits/dialog/components/dialog.svelte +9 -3
- package/dist/bits/dialog/dialog.svelte.d.ts +75 -65
- package/dist/bits/dialog/dialog.svelte.js +47 -38
- package/dist/bits/dialog/types.d.ts +4 -0
- package/dist/bits/dropdown-menu/components/dropdown-menu-content-static.svelte +3 -3
- package/dist/bits/dropdown-menu/components/dropdown-menu-content.svelte +3 -3
- package/dist/bits/label/components/label.svelte +2 -2
- package/dist/bits/label/label.svelte.d.ts +8 -7
- package/dist/bits/label/label.svelte.js +4 -4
- package/dist/bits/link-preview/components/link-preview-content-static.svelte +3 -3
- package/dist/bits/link-preview/components/link-preview-content.svelte +3 -3
- package/dist/bits/link-preview/components/link-preview-trigger.svelte +2 -2
- package/dist/bits/link-preview/components/link-preview.svelte +4 -2
- package/dist/bits/link-preview/link-preview.svelte.d.ts +28 -25
- package/dist/bits/link-preview/link-preview.svelte.js +24 -16
- package/dist/bits/link-preview/types.d.ts +4 -0
- package/dist/bits/menu/components/menu-arrow.svelte +2 -2
- package/dist/bits/menu/components/menu-checkbox-group.svelte +2 -2
- package/dist/bits/menu/components/menu-checkbox-item.svelte +2 -2
- package/dist/bits/menu/components/menu-content-static.svelte +3 -3
- package/dist/bits/menu/components/menu-content.svelte +3 -3
- package/dist/bits/menu/components/menu-group-heading.svelte +2 -2
- package/dist/bits/menu/components/menu-group.svelte +2 -2
- package/dist/bits/menu/components/menu-item.svelte +2 -2
- package/dist/bits/menu/components/menu-radio-group.svelte +2 -2
- package/dist/bits/menu/components/menu-radio-item.svelte +2 -2
- package/dist/bits/menu/components/menu-separator.svelte +2 -2
- package/dist/bits/menu/components/menu-sub-content-static.svelte +3 -3
- package/dist/bits/menu/components/menu-sub-content.svelte +3 -3
- package/dist/bits/menu/components/menu-sub-trigger.svelte +2 -2
- package/dist/bits/menu/components/menu-sub.svelte +9 -3
- package/dist/bits/menu/components/menu-trigger.svelte +2 -2
- package/dist/bits/menu/components/menu.svelte +16 -11
- package/dist/bits/menu/menu.svelte.d.ts +136 -119
- package/dist/bits/menu/menu.svelte.js +106 -96
- package/dist/bits/menu/types.d.ts +8 -0
- package/dist/bits/menubar/components/menubar-content-static.svelte +2 -2
- package/dist/bits/menubar/components/menubar-content.svelte +2 -2
- package/dist/bits/menubar/components/menubar-menu.svelte +2 -2
- package/dist/bits/menubar/components/menubar-trigger.svelte +4 -4
- package/dist/bits/menubar/components/menubar.svelte +2 -2
- package/dist/bits/menubar/menubar.svelte.d.ts +37 -34
- package/dist/bits/menubar/menubar.svelte.js +21 -21
- package/dist/bits/meter/components/meter.svelte +2 -2
- package/dist/bits/meter/meter.svelte.d.ts +10 -9
- package/dist/bits/meter/meter.svelte.js +4 -4
- package/dist/bits/navigation-menu/components/navigation-menu-content-impl.svelte +2 -2
- package/dist/bits/navigation-menu/components/navigation-menu-content.svelte +3 -3
- package/dist/bits/navigation-menu/components/navigation-menu-indicator-impl.svelte +2 -2
- package/dist/bits/navigation-menu/components/navigation-menu-indicator.svelte +3 -3
- package/dist/bits/navigation-menu/components/navigation-menu-item.svelte +2 -2
- package/dist/bits/navigation-menu/components/navigation-menu-link.svelte +2 -2
- package/dist/bits/navigation-menu/components/navigation-menu-list.svelte +2 -2
- package/dist/bits/navigation-menu/components/navigation-menu-sub.svelte +2 -2
- package/dist/bits/navigation-menu/components/navigation-menu-trigger.svelte +2 -2
- package/dist/bits/navigation-menu/components/navigation-menu-viewport.svelte +3 -3
- package/dist/bits/navigation-menu/components/navigation-menu.svelte +2 -2
- package/dist/bits/navigation-menu/navigation-menu.svelte.d.ts +116 -109
- package/dist/bits/navigation-menu/navigation-menu.svelte.js +78 -81
- package/dist/bits/pagination/components/pagination-next-button.svelte +2 -2
- package/dist/bits/pagination/components/pagination-page.svelte +2 -2
- package/dist/bits/pagination/components/pagination-prev-button.svelte +2 -2
- package/dist/bits/pagination/components/pagination.svelte +2 -2
- package/dist/bits/pagination/pagination.svelte.d.ts +34 -32
- package/dist/bits/pagination/pagination.svelte.js +15 -15
- package/dist/bits/pin-input/components/pin-input-cell.svelte +2 -2
- package/dist/bits/pin-input/components/pin-input.svelte +2 -2
- package/dist/bits/pin-input/pin-input.svelte.d.ts +22 -21
- package/dist/bits/pin-input/pin-input.svelte.js +9 -9
- package/dist/bits/popover/components/popover-close.svelte +2 -2
- package/dist/bits/popover/components/popover-content-static.svelte +3 -3
- package/dist/bits/popover/components/popover-content.svelte +3 -3
- package/dist/bits/popover/components/popover-trigger.svelte +2 -2
- package/dist/bits/popover/components/popover.svelte +9 -3
- package/dist/bits/popover/popover.svelte.d.ts +36 -31
- package/dist/bits/popover/popover.svelte.js +26 -21
- package/dist/bits/popover/types.d.ts +4 -0
- package/dist/bits/progress/components/progress.svelte +2 -2
- package/dist/bits/progress/progress.svelte.d.ts +10 -9
- package/dist/bits/progress/progress.svelte.js +4 -4
- package/dist/bits/radio-group/components/radio-group-input.svelte +2 -2
- package/dist/bits/radio-group/components/radio-group-item.svelte +2 -2
- package/dist/bits/radio-group/components/radio-group.svelte +4 -2
- package/dist/bits/radio-group/radio-group.svelte.d.ts +26 -19
- package/dist/bits/radio-group/radio-group.svelte.js +26 -19
- package/dist/bits/radio-group/types.d.ts +13 -6
- package/dist/bits/range-calendar/components/range-calendar-cell.svelte +2 -2
- package/dist/bits/range-calendar/components/range-calendar-day.svelte +2 -2
- package/dist/bits/range-calendar/components/range-calendar.svelte +2 -2
- package/dist/bits/range-calendar/range-calendar.svelte.d.ts +21 -20
- package/dist/bits/range-calendar/range-calendar.svelte.js +12 -12
- package/dist/bits/rating-group/components/rating-group-input.svelte +2 -2
- package/dist/bits/rating-group/components/rating-group-item.svelte +2 -2
- package/dist/bits/rating-group/components/rating-group.svelte +2 -2
- package/dist/bits/rating-group/rating-group.svelte.d.ts +19 -18
- package/dist/bits/rating-group/rating-group.svelte.js +16 -17
- package/dist/bits/scroll-area/components/scroll-area-corner-impl.svelte +2 -2
- package/dist/bits/scroll-area/components/scroll-area-scrollbar-auto.svelte +3 -3
- package/dist/bits/scroll-area/components/scroll-area-scrollbar-hover.svelte +6 -6
- package/dist/bits/scroll-area/components/scroll-area-scrollbar-scroll.svelte +3 -3
- package/dist/bits/scroll-area/components/scroll-area-scrollbar-shared.svelte +2 -2
- package/dist/bits/scroll-area/components/scroll-area-scrollbar-visible.svelte +2 -2
- package/dist/bits/scroll-area/components/scroll-area-scrollbar-x.svelte +2 -2
- package/dist/bits/scroll-area/components/scroll-area-scrollbar-y.svelte +2 -2
- package/dist/bits/scroll-area/components/scroll-area-scrollbar.svelte +2 -2
- package/dist/bits/scroll-area/components/scroll-area-thumb-impl.svelte +2 -2
- package/dist/bits/scroll-area/components/scroll-area-thumb.svelte +2 -5
- package/dist/bits/scroll-area/components/scroll-area-viewport.svelte +2 -2
- package/dist/bits/scroll-area/components/scroll-area.svelte +2 -2
- package/dist/bits/scroll-area/scroll-area.svelte.d.ts +98 -78
- package/dist/bits/scroll-area/scroll-area.svelte.js +78 -74
- package/dist/bits/select/components/select-content-static.svelte +3 -3
- package/dist/bits/select/components/select-content.svelte +3 -3
- package/dist/bits/select/components/select-group-heading.svelte +2 -2
- package/dist/bits/select/components/select-group.svelte +2 -2
- package/dist/bits/select/components/select-hidden-input.svelte +2 -2
- package/dist/bits/select/components/select-item.svelte +2 -2
- package/dist/bits/select/components/select-scroll-down-button.svelte +2 -2
- package/dist/bits/select/components/select-scroll-up-button.svelte +2 -2
- package/dist/bits/select/components/select-trigger.svelte +2 -2
- package/dist/bits/select/components/select-viewport.svelte +2 -2
- package/dist/bits/select/components/select.svelte +4 -2
- package/dist/bits/select/select.svelte.d.ts +127 -113
- package/dist/bits/select/select.svelte.js +74 -62
- package/dist/bits/select/types.d.ts +4 -0
- package/dist/bits/separator/components/separator.svelte +2 -2
- package/dist/bits/separator/separator.svelte.d.ts +9 -8
- package/dist/bits/separator/separator.svelte.js +4 -4
- package/dist/bits/slider/components/slider-range.svelte +2 -2
- package/dist/bits/slider/components/slider-thumb-label.svelte +2 -2
- package/dist/bits/slider/components/slider-thumb.svelte +2 -2
- package/dist/bits/slider/components/slider-tick-label.svelte +2 -2
- package/dist/bits/slider/components/slider-tick.svelte +2 -2
- package/dist/bits/slider/components/slider.svelte +2 -2
- package/dist/bits/slider/slider.svelte.d.ts +82 -73
- package/dist/bits/slider/slider.svelte.js +30 -28
- package/dist/bits/switch/components/switch-input.svelte +2 -2
- package/dist/bits/switch/components/switch-thumb.svelte +2 -2
- package/dist/bits/switch/components/switch.svelte +2 -2
- package/dist/bits/switch/switch.svelte.d.ts +19 -17
- package/dist/bits/switch/switch.svelte.js +13 -13
- package/dist/bits/tabs/components/tabs-content.svelte +2 -2
- package/dist/bits/tabs/components/tabs-list.svelte +2 -2
- package/dist/bits/tabs/components/tabs-trigger.svelte +2 -2
- package/dist/bits/tabs/components/tabs.svelte +2 -2
- package/dist/bits/tabs/tabs.svelte.d.ts +33 -29
- package/dist/bits/tabs/tabs.svelte.js +19 -19
- package/dist/bits/time-field/components/time-field-hidden-input.svelte +2 -2
- package/dist/bits/time-field/components/time-field-input.svelte +2 -2
- package/dist/bits/time-field/components/time-field-label.svelte +2 -2
- package/dist/bits/time-field/components/time-field-segment.svelte +2 -2
- package/dist/bits/time-field/components/time-field.svelte +2 -2
- package/dist/bits/time-field/time-field.svelte.d.ts +72 -66
- package/dist/bits/time-field/time-field.svelte.js +37 -42
- package/dist/bits/time-range-field/components/time-range-field-input.svelte +2 -2
- package/dist/bits/time-range-field/components/time-range-field-label.svelte +2 -2
- package/dist/bits/time-range-field/components/time-range-field.svelte +2 -2
- package/dist/bits/time-range-field/time-range-field.svelte.d.ts +35 -31
- package/dist/bits/time-range-field/time-range-field.svelte.js +34 -32
- package/dist/bits/toggle/components/toggle.svelte +2 -2
- package/dist/bits/toggle/toggle.svelte.d.ts +11 -10
- package/dist/bits/toggle/toggle.svelte.js +4 -4
- package/dist/bits/toggle-group/components/toggle-group-item.svelte +2 -2
- package/dist/bits/toggle-group/components/toggle-group.svelte +2 -2
- package/dist/bits/toggle-group/toggle-group.svelte.d.ts +48 -43
- package/dist/bits/toggle-group/toggle-group.svelte.js +24 -25
- package/dist/bits/toolbar/components/toolbar-button.svelte +2 -2
- package/dist/bits/toolbar/components/toolbar-group-item.svelte +2 -2
- package/dist/bits/toolbar/components/toolbar-group.svelte +2 -2
- package/dist/bits/toolbar/components/toolbar-link.svelte +2 -2
- package/dist/bits/toolbar/components/toolbar.svelte +2 -2
- package/dist/bits/toolbar/toolbar.svelte.d.ts +59 -51
- package/dist/bits/toolbar/toolbar.svelte.js +32 -30
- package/dist/bits/tooltip/components/tooltip-content-static.svelte +3 -3
- package/dist/bits/tooltip/components/tooltip-content.svelte +3 -3
- package/dist/bits/tooltip/components/tooltip-provider.svelte +2 -2
- package/dist/bits/tooltip/components/tooltip-trigger.svelte +2 -2
- package/dist/bits/tooltip/components/tooltip.svelte +4 -2
- package/dist/bits/tooltip/tooltip.svelte.d.ts +33 -29
- package/dist/bits/tooltip/tooltip.svelte.js +33 -28
- package/dist/bits/tooltip/types.d.ts +4 -0
- package/dist/bits/utilities/config/bits-config.d.ts +1 -1
- package/dist/bits/utilities/dismissible-layer/dismissible-layer.svelte +2 -2
- package/dist/bits/utilities/dismissible-layer/use-dismissable-layer.svelte.d.ts +6 -7
- package/dist/bits/utilities/dismissible-layer/use-dismissable-layer.svelte.js +3 -3
- package/dist/bits/utilities/escape-layer/escape-layer.svelte +2 -2
- package/dist/bits/utilities/escape-layer/use-escape-layer.svelte.d.ts +6 -7
- package/dist/bits/utilities/escape-layer/use-escape-layer.svelte.js +3 -3
- package/dist/bits/utilities/floating-layer/components/floating-layer-anchor.svelte +2 -2
- package/dist/bits/utilities/floating-layer/components/floating-layer-arrow.svelte +2 -2
- package/dist/bits/utilities/floating-layer/components/floating-layer-content.svelte +2 -2
- package/dist/bits/utilities/floating-layer/components/floating-layer.svelte +2 -2
- package/dist/bits/utilities/floating-layer/use-floating-layer.svelte.d.ts +25 -23
- package/dist/bits/utilities/floating-layer/use-floating-layer.svelte.js +25 -25
- package/dist/bits/utilities/focus-scope/use-focus-scope.svelte.d.ts +1 -1
- package/dist/bits/utilities/focus-scope/use-focus-scope.svelte.js +1 -1
- package/dist/bits/utilities/popper-layer/popper-layer-force-mount.svelte +1 -1
- package/dist/bits/utilities/popper-layer/popper-layer-force-mount.svelte.d.ts +1 -1
- package/dist/bits/utilities/popper-layer/popper-layer-inner.svelte +1 -1
- package/dist/bits/utilities/popper-layer/popper-layer-inner.svelte.d.ts +1 -1
- package/dist/bits/utilities/popper-layer/popper-layer.svelte +3 -3
- package/dist/bits/utilities/presence-layer/presence-layer.svelte +8 -8
- package/dist/bits/utilities/presence-layer/presence.svelte.d.ts +42 -0
- package/dist/bits/utilities/presence-layer/presence.svelte.js +116 -0
- package/dist/bits/utilities/presence-layer/types.d.ts +3 -5
- package/dist/bits/utilities/scroll-lock/scroll-lock.svelte +2 -2
- package/dist/bits/utilities/text-selection-layer/text-selection-layer.svelte +2 -2
- package/dist/bits/utilities/text-selection-layer/use-text-selection-layer.svelte.d.ts +7 -7
- package/dist/bits/utilities/text-selection-layer/use-text-selection-layer.svelte.js +3 -3
- package/dist/internal/animations-complete.d.ts +12 -0
- package/dist/internal/animations-complete.js +55 -0
- package/dist/internal/arrays.js +20 -36
- package/dist/internal/attrs.d.ts +9 -2
- package/dist/internal/attrs.js +21 -11
- package/dist/internal/body-scroll-lock.svelte.d.ts +10 -0
- package/dist/internal/body-scroll-lock.svelte.js +106 -0
- package/dist/internal/data-typeahead.svelte.d.ts +15 -0
- package/dist/internal/data-typeahead.svelte.js +33 -0
- package/dist/internal/date-time/calendar-helpers.svelte.d.ts +1 -1
- package/dist/internal/dom-typeahead.svelte.d.ts +14 -0
- package/dist/internal/dom-typeahead.svelte.js +44 -0
- package/dist/internal/dom.d.ts +0 -2
- package/dist/internal/dom.js +0 -15
- package/dist/internal/{use-grace-area.svelte.d.ts → grace-area.svelte.d.ts} +5 -4
- package/dist/internal/{use-grace-area.svelte.js → grace-area.svelte.js} +60 -56
- package/dist/internal/open-change-complete.d.ts +13 -0
- package/dist/internal/open-change-complete.js +24 -0
- package/dist/internal/{use-roving-focus.svelte.d.ts → roving-focus-group.d.ts} +9 -8
- package/dist/internal/{use-roving-focus.svelte.js → roving-focus-group.js} +30 -34
- package/dist/internal/shared-state.svelte.d.ts +6 -0
- package/dist/internal/shared-state.svelte.js +31 -0
- package/dist/internal/should-trap-focus.js +1 -2
- package/dist/internal/state-machine.d.ts +16 -0
- package/dist/internal/state-machine.js +18 -0
- package/dist/internal/svelte-resize-observer.svelte.d.ts +6 -0
- package/dist/internal/svelte-resize-observer.svelte.js +25 -0
- package/dist/internal/tabbable.d.ts +0 -1
- package/dist/internal/tabbable.js +0 -11
- package/dist/internal/timeout-fn.d.ts +16 -0
- package/dist/internal/timeout-fn.js +38 -0
- package/dist/internal/types.d.ts +2 -2
- package/package.json +1 -1
- package/dist/bits/utilities/presence-layer/use-presence.svelte.d.ts +0 -4
- package/dist/bits/utilities/presence-layer/use-presence.svelte.js +0 -97
- package/dist/internal/box.svelte.d.ts +0 -21
- package/dist/internal/box.svelte.js +0 -26
- package/dist/internal/create-event-hook.svelte.d.ts +0 -18
- package/dist/internal/create-event-hook.svelte.js +0 -29
- package/dist/internal/create-shared-hook.svelte.d.ts +0 -2
- package/dist/internal/create-shared-hook.svelte.js +0 -27
- package/dist/internal/sleep.d.ts +0 -1
- package/dist/internal/sleep.js +0 -3
- package/dist/internal/use-after-animations.svelte.d.ts +0 -5
- package/dist/internal/use-after-animations.svelte.js +0 -27
- package/dist/internal/use-body-scroll-lock.svelte.d.ts +0 -6
- package/dist/internal/use-body-scroll-lock.svelte.js +0 -106
- package/dist/internal/use-data-typeahead.svelte.d.ts +0 -15
- package/dist/internal/use-data-typeahead.svelte.js +0 -34
- package/dist/internal/use-dom-typeahead.svelte.d.ts +0 -13
- package/dist/internal/use-dom-typeahead.svelte.js +0 -32
- package/dist/internal/use-form-control.svelte.d.ts +0 -4
- package/dist/internal/use-form-control.svelte.js +0 -16
- package/dist/internal/use-resize-observer.svelte.d.ts +0 -2
- package/dist/internal/use-resize-observer.svelte.js +0 -17
- package/dist/internal/use-state-machine.svelte.d.ts +0 -24
- package/dist/internal/use-state-machine.svelte.js +0 -28
- package/dist/internal/use-timeout-fn.svelte.d.ts +0 -25
- package/dist/internal/use-timeout-fn.svelte.js +0 -39
|
@@ -4,21 +4,29 @@
|
|
|
4
4
|
* Credit to Jenna Smith (@jjenzz) for the original implementation.
|
|
5
5
|
* Incredible thought must have went into solving all the intricacies of this component.
|
|
6
6
|
*/
|
|
7
|
-
import { Context, useDebounce } from "runed";
|
|
7
|
+
import { Context, useDebounce, watch } from "runed";
|
|
8
8
|
import { untrack } from "svelte";
|
|
9
|
-
import { box, executeCallbacks, attachRef, DOMContext, getWindow } from "svelte-toolbelt";
|
|
9
|
+
import { box, executeCallbacks, attachRef, DOMContext, getWindow, } from "svelte-toolbelt";
|
|
10
10
|
import { addEventListener } from "../../internal/events.js";
|
|
11
11
|
import { mergeProps, useId } from "../../shared/index.js";
|
|
12
|
-
import { useStateMachine } from "../../internal/use-state-machine.svelte.js";
|
|
13
12
|
import { clamp } from "../../internal/clamp.js";
|
|
14
|
-
import { useResizeObserver } from "../../internal/use-resize-observer.svelte.js";
|
|
15
13
|
import { on } from "svelte/events";
|
|
16
14
|
import { createBitsAttrs } from "../../internal/attrs.js";
|
|
15
|
+
import { StateMachine } from "../../internal/state-machine.js";
|
|
16
|
+
import { SvelteResizeObserver } from "../../internal/svelte-resize-observer.svelte.js";
|
|
17
17
|
const scrollAreaAttrs = createBitsAttrs({
|
|
18
18
|
component: "scroll-area",
|
|
19
19
|
parts: ["root", "viewport", "corner", "thumb", "scrollbar"],
|
|
20
20
|
});
|
|
21
|
-
|
|
21
|
+
export const ScrollAreaRootContext = new Context("ScrollArea.Root");
|
|
22
|
+
export const ScrollAreaScrollbarContext = new Context("ScrollArea.Scrollbar");
|
|
23
|
+
export const ScrollAreaScrollbarVisibleContext = new Context("ScrollArea.ScrollbarVisible");
|
|
24
|
+
export const ScrollAreaScrollbarAxisContext = new Context("ScrollArea.ScrollbarAxis");
|
|
25
|
+
export const ScrollAreaScrollbarSharedContext = new Context("ScrollArea.ScrollbarShared");
|
|
26
|
+
export class ScrollAreaRootState {
|
|
27
|
+
static create(opts) {
|
|
28
|
+
return ScrollAreaRootContext.set(new ScrollAreaRootState(opts));
|
|
29
|
+
}
|
|
22
30
|
opts;
|
|
23
31
|
scrollAreaNode = $state(null);
|
|
24
32
|
viewportNode = $state(null);
|
|
@@ -46,7 +54,10 @@ class ScrollAreaRootState {
|
|
|
46
54
|
...attachRef(this.opts.ref, (v) => (this.scrollAreaNode = v)),
|
|
47
55
|
}));
|
|
48
56
|
}
|
|
49
|
-
class ScrollAreaViewportState {
|
|
57
|
+
export class ScrollAreaViewportState {
|
|
58
|
+
static create(opts) {
|
|
59
|
+
return new ScrollAreaViewportState(opts, ScrollAreaRootContext.get());
|
|
60
|
+
}
|
|
50
61
|
opts;
|
|
51
62
|
root;
|
|
52
63
|
#contentId = box(useId());
|
|
@@ -78,7 +89,10 @@ class ScrollAreaViewportState {
|
|
|
78
89
|
...attachRef(this.#contentRef, (v) => (this.root.contentNode = v)),
|
|
79
90
|
}));
|
|
80
91
|
}
|
|
81
|
-
class ScrollAreaScrollbarState {
|
|
92
|
+
export class ScrollAreaScrollbarState {
|
|
93
|
+
static create(opts) {
|
|
94
|
+
return ScrollAreaScrollbarContext.set(new ScrollAreaScrollbarState(opts, ScrollAreaRootContext.get()));
|
|
95
|
+
}
|
|
82
96
|
opts;
|
|
83
97
|
root;
|
|
84
98
|
isHorizontal = $derived.by(() => this.opts.orientation.current === "horizontal");
|
|
@@ -86,19 +100,26 @@ class ScrollAreaScrollbarState {
|
|
|
86
100
|
constructor(opts, root) {
|
|
87
101
|
this.opts = opts;
|
|
88
102
|
this.root = root;
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
103
|
+
watch(() => this.isHorizontal, (isHorizontal) => {
|
|
104
|
+
if (isHorizontal) {
|
|
105
|
+
this.root.scrollbarXEnabled = true;
|
|
106
|
+
return () => {
|
|
107
|
+
this.root.scrollbarXEnabled = false;
|
|
108
|
+
};
|
|
109
|
+
}
|
|
110
|
+
else {
|
|
111
|
+
this.root.scrollbarYEnabled = true;
|
|
112
|
+
return () => {
|
|
113
|
+
this.root.scrollbarYEnabled = false;
|
|
114
|
+
};
|
|
115
|
+
}
|
|
98
116
|
});
|
|
99
117
|
}
|
|
100
118
|
}
|
|
101
|
-
class ScrollAreaScrollbarHoverState {
|
|
119
|
+
export class ScrollAreaScrollbarHoverState {
|
|
120
|
+
static create() {
|
|
121
|
+
return new ScrollAreaScrollbarHoverState(ScrollAreaScrollbarContext.get());
|
|
122
|
+
}
|
|
102
123
|
scrollbar;
|
|
103
124
|
root;
|
|
104
125
|
isVisible = $state(false);
|
|
@@ -136,10 +157,13 @@ class ScrollAreaScrollbarHoverState {
|
|
|
136
157
|
"data-state": this.isVisible ? "visible" : "hidden",
|
|
137
158
|
}));
|
|
138
159
|
}
|
|
139
|
-
class ScrollAreaScrollbarScrollState {
|
|
160
|
+
export class ScrollAreaScrollbarScrollState {
|
|
161
|
+
static create() {
|
|
162
|
+
return new ScrollAreaScrollbarScrollState(ScrollAreaScrollbarContext.get());
|
|
163
|
+
}
|
|
140
164
|
scrollbar;
|
|
141
165
|
root;
|
|
142
|
-
machine =
|
|
166
|
+
machine = new StateMachine("hidden", {
|
|
143
167
|
hidden: {
|
|
144
168
|
SCROLL: "scrolling",
|
|
145
169
|
},
|
|
@@ -203,7 +227,10 @@ class ScrollAreaScrollbarScrollState {
|
|
|
203
227
|
onpointerleave: this.onpointerleave,
|
|
204
228
|
}));
|
|
205
229
|
}
|
|
206
|
-
class ScrollAreaScrollbarAutoState {
|
|
230
|
+
export class ScrollAreaScrollbarAutoState {
|
|
231
|
+
static create() {
|
|
232
|
+
return new ScrollAreaScrollbarAutoState(ScrollAreaScrollbarContext.get());
|
|
233
|
+
}
|
|
207
234
|
scrollbar;
|
|
208
235
|
root;
|
|
209
236
|
isVisible = $state(false);
|
|
@@ -218,14 +245,17 @@ class ScrollAreaScrollbarAutoState {
|
|
|
218
245
|
const isOverflowY = viewportNode.offsetHeight < viewportNode.scrollHeight;
|
|
219
246
|
this.isVisible = this.scrollbar.isHorizontal ? isOverflowX : isOverflowY;
|
|
220
247
|
}, 10);
|
|
221
|
-
|
|
222
|
-
|
|
248
|
+
new SvelteResizeObserver(() => this.root.viewportNode, handleResize);
|
|
249
|
+
new SvelteResizeObserver(() => this.root.contentNode, handleResize);
|
|
223
250
|
}
|
|
224
251
|
props = $derived.by(() => ({
|
|
225
252
|
"data-state": this.isVisible ? "visible" : "hidden",
|
|
226
253
|
}));
|
|
227
254
|
}
|
|
228
|
-
class ScrollAreaScrollbarVisibleState {
|
|
255
|
+
export class ScrollAreaScrollbarVisibleState {
|
|
256
|
+
static create() {
|
|
257
|
+
return ScrollAreaScrollbarVisibleContext.set(new ScrollAreaScrollbarVisibleState(ScrollAreaScrollbarContext.get()));
|
|
258
|
+
}
|
|
229
259
|
scrollbar;
|
|
230
260
|
root;
|
|
231
261
|
thumbNode = $state(null);
|
|
@@ -313,12 +343,15 @@ class ScrollAreaScrollbarVisibleState {
|
|
|
313
343
|
this.root.viewportNode.scrollTop = this.getScrollPosition(pointerPos, this.root.opts.dir.current);
|
|
314
344
|
}
|
|
315
345
|
}
|
|
316
|
-
class ScrollAreaScrollbarXState {
|
|
346
|
+
export class ScrollAreaScrollbarXState {
|
|
347
|
+
static create(opts) {
|
|
348
|
+
return ScrollAreaScrollbarAxisContext.set(new ScrollAreaScrollbarXState(opts, ScrollAreaScrollbarVisibleContext.get()));
|
|
349
|
+
}
|
|
317
350
|
opts;
|
|
318
351
|
scrollbarVis;
|
|
319
352
|
root;
|
|
320
|
-
computedStyle = $state();
|
|
321
353
|
scrollbar;
|
|
354
|
+
computedStyle = $state();
|
|
322
355
|
constructor(opts, scrollbarVis) {
|
|
323
356
|
this.opts = opts;
|
|
324
357
|
this.scrollbarVis = scrollbarVis;
|
|
@@ -391,7 +424,10 @@ class ScrollAreaScrollbarXState {
|
|
|
391
424
|
...attachRef(this.scrollbar.opts.ref, (v) => (this.root.scrollbarXNode = v)),
|
|
392
425
|
}));
|
|
393
426
|
}
|
|
394
|
-
class ScrollAreaScrollbarYState {
|
|
427
|
+
export class ScrollAreaScrollbarYState {
|
|
428
|
+
static create(opts) {
|
|
429
|
+
return ScrollAreaScrollbarAxisContext.set(new ScrollAreaScrollbarYState(opts, ScrollAreaScrollbarVisibleContext.get()));
|
|
430
|
+
}
|
|
395
431
|
opts;
|
|
396
432
|
scrollbarVis;
|
|
397
433
|
root;
|
|
@@ -472,7 +508,10 @@ class ScrollAreaScrollbarYState {
|
|
|
472
508
|
...attachRef(this.scrollbar.opts.ref, (v) => (this.root.scrollbarYNode = v)),
|
|
473
509
|
}));
|
|
474
510
|
}
|
|
475
|
-
class ScrollAreaScrollbarSharedState {
|
|
511
|
+
export class ScrollAreaScrollbarSharedState {
|
|
512
|
+
static create() {
|
|
513
|
+
return ScrollAreaScrollbarSharedContext.set(new ScrollAreaScrollbarSharedState(ScrollAreaScrollbarAxisContext.get()));
|
|
514
|
+
}
|
|
476
515
|
scrollbarState;
|
|
477
516
|
root;
|
|
478
517
|
scrollbarVis;
|
|
@@ -519,8 +558,8 @@ class ScrollAreaScrollbarSharedState {
|
|
|
519
558
|
// $effect.pre(() => {
|
|
520
559
|
// this.handleThumbPositionChange();
|
|
521
560
|
// });
|
|
522
|
-
|
|
523
|
-
|
|
561
|
+
new SvelteResizeObserver(() => this.scrollbar.opts.ref.current, this.handleResize);
|
|
562
|
+
new SvelteResizeObserver(() => this.root.contentNode, this.handleResize);
|
|
524
563
|
this.onpointerdown = this.onpointerdown.bind(this);
|
|
525
564
|
this.onpointermove = this.onpointermove.bind(this);
|
|
526
565
|
this.onpointerup = this.onpointerup.bind(this);
|
|
@@ -571,7 +610,10 @@ class ScrollAreaScrollbarSharedState {
|
|
|
571
610
|
onpointerup: this.onpointerup,
|
|
572
611
|
}));
|
|
573
612
|
}
|
|
574
|
-
class ScrollAreaThumbImplState {
|
|
613
|
+
export class ScrollAreaThumbImplState {
|
|
614
|
+
static create(opts) {
|
|
615
|
+
return new ScrollAreaThumbImplState(opts, ScrollAreaScrollbarSharedContext.get());
|
|
616
|
+
}
|
|
575
617
|
opts;
|
|
576
618
|
scrollbarState;
|
|
577
619
|
#root;
|
|
@@ -631,7 +673,10 @@ class ScrollAreaThumbImplState {
|
|
|
631
673
|
...attachRef(this.opts.ref, (v) => (this.scrollbarState.scrollbarVis.thumbNode = v)),
|
|
632
674
|
}));
|
|
633
675
|
}
|
|
634
|
-
class ScrollAreaCornerImplState {
|
|
676
|
+
export class ScrollAreaCornerImplState {
|
|
677
|
+
static create(opts) {
|
|
678
|
+
return new ScrollAreaCornerImplState(opts, ScrollAreaRootContext.get());
|
|
679
|
+
}
|
|
635
680
|
opts;
|
|
636
681
|
root;
|
|
637
682
|
#width = $state(0);
|
|
@@ -640,12 +685,12 @@ class ScrollAreaCornerImplState {
|
|
|
640
685
|
constructor(opts, root) {
|
|
641
686
|
this.opts = opts;
|
|
642
687
|
this.root = root;
|
|
643
|
-
|
|
688
|
+
new SvelteResizeObserver(() => this.root.scrollbarXNode, () => {
|
|
644
689
|
const height = this.root.scrollbarXNode?.offsetHeight || 0;
|
|
645
690
|
this.root.cornerHeight = height;
|
|
646
691
|
this.#height = height;
|
|
647
692
|
});
|
|
648
|
-
|
|
693
|
+
new SvelteResizeObserver(() => this.root.scrollbarYNode, () => {
|
|
649
694
|
const width = this.root.scrollbarYNode?.offsetWidth || 0;
|
|
650
695
|
this.root.cornerWidth = width;
|
|
651
696
|
this.#width = width;
|
|
@@ -665,47 +710,6 @@ class ScrollAreaCornerImplState {
|
|
|
665
710
|
...attachRef(this.opts.ref),
|
|
666
711
|
}));
|
|
667
712
|
}
|
|
668
|
-
export const ScrollAreaRootContext = new Context("ScrollArea.Root");
|
|
669
|
-
export const ScrollAreaScrollbarContext = new Context("ScrollArea.Scrollbar");
|
|
670
|
-
export const ScrollAreaScrollbarVisibleContext = new Context("ScrollArea.ScrollbarVisible");
|
|
671
|
-
export const ScrollAreaScrollbarAxisContext = new Context("ScrollArea.ScrollbarAxis");
|
|
672
|
-
export const ScrollAreaScrollbarSharedContext = new Context("ScrollArea.ScrollbarShared");
|
|
673
|
-
export function useScrollAreaRoot(props) {
|
|
674
|
-
return ScrollAreaRootContext.set(new ScrollAreaRootState(props));
|
|
675
|
-
}
|
|
676
|
-
export function useScrollAreaViewport(props) {
|
|
677
|
-
return new ScrollAreaViewportState(props, ScrollAreaRootContext.get());
|
|
678
|
-
}
|
|
679
|
-
export function useScrollAreaScrollbar(props) {
|
|
680
|
-
return ScrollAreaScrollbarContext.set(new ScrollAreaScrollbarState(props, ScrollAreaRootContext.get()));
|
|
681
|
-
}
|
|
682
|
-
export function useScrollAreaScrollbarVisible() {
|
|
683
|
-
return ScrollAreaScrollbarVisibleContext.set(new ScrollAreaScrollbarVisibleState(ScrollAreaScrollbarContext.get()));
|
|
684
|
-
}
|
|
685
|
-
export function useScrollAreaScrollbarAuto() {
|
|
686
|
-
return new ScrollAreaScrollbarAutoState(ScrollAreaScrollbarContext.get());
|
|
687
|
-
}
|
|
688
|
-
export function useScrollAreaScrollbarScroll() {
|
|
689
|
-
return new ScrollAreaScrollbarScrollState(ScrollAreaScrollbarContext.get());
|
|
690
|
-
}
|
|
691
|
-
export function useScrollAreaScrollbarHover() {
|
|
692
|
-
return new ScrollAreaScrollbarHoverState(ScrollAreaScrollbarContext.get());
|
|
693
|
-
}
|
|
694
|
-
export function useScrollAreaScrollbarX(props) {
|
|
695
|
-
return ScrollAreaScrollbarAxisContext.set(new ScrollAreaScrollbarXState(props, ScrollAreaScrollbarVisibleContext.get()));
|
|
696
|
-
}
|
|
697
|
-
export function useScrollAreaScrollbarY(props) {
|
|
698
|
-
return ScrollAreaScrollbarAxisContext.set(new ScrollAreaScrollbarYState(props, ScrollAreaScrollbarVisibleContext.get()));
|
|
699
|
-
}
|
|
700
|
-
export function useScrollAreaScrollbarShared() {
|
|
701
|
-
return ScrollAreaScrollbarSharedContext.set(new ScrollAreaScrollbarSharedState(ScrollAreaScrollbarAxisContext.get()));
|
|
702
|
-
}
|
|
703
|
-
export function useScrollAreaThumb(props) {
|
|
704
|
-
return new ScrollAreaThumbImplState(props, ScrollAreaScrollbarSharedContext.get());
|
|
705
|
-
}
|
|
706
|
-
export function useScrollAreaCorner(props) {
|
|
707
|
-
return new ScrollAreaCornerImplState(props, ScrollAreaRootContext.get());
|
|
708
|
-
}
|
|
709
713
|
function toInt(value) {
|
|
710
714
|
return value ? Number.parseInt(value, 10) : 0;
|
|
711
715
|
}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
<script lang="ts">
|
|
2
2
|
import { box, mergeProps } from "svelte-toolbelt";
|
|
3
3
|
import type { SelectContentStaticProps } from "../types.js";
|
|
4
|
-
import {
|
|
4
|
+
import { SelectContentState } from "../select.svelte.js";
|
|
5
5
|
import PopperLayer from "../../utilities/popper-layer/popper-layer.svelte";
|
|
6
6
|
import { createId } from "../../../internal/create-id.js";
|
|
7
7
|
import { noop } from "../../../internal/noop.js";
|
|
@@ -21,7 +21,7 @@
|
|
|
21
21
|
...restProps
|
|
22
22
|
}: SelectContentStaticProps = $props();
|
|
23
23
|
|
|
24
|
-
const contentState =
|
|
24
|
+
const contentState = SelectContentState.create({
|
|
25
25
|
id: box.with(() => id),
|
|
26
26
|
ref: box.with(
|
|
27
27
|
() => ref,
|
|
@@ -62,7 +62,7 @@
|
|
|
62
62
|
{...contentState.popperProps}
|
|
63
63
|
ref={contentState.opts.ref}
|
|
64
64
|
isStatic
|
|
65
|
-
|
|
65
|
+
open={contentState.root.opts.open.current}
|
|
66
66
|
{id}
|
|
67
67
|
{preventScroll}
|
|
68
68
|
forceMount={false}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
<script lang="ts">
|
|
2
2
|
import { box, mergeProps } from "svelte-toolbelt";
|
|
3
3
|
import type { SelectContentProps } from "../types.js";
|
|
4
|
-
import {
|
|
4
|
+
import { SelectContentState } from "../select.svelte.js";
|
|
5
5
|
import PopperLayer from "../../utilities/popper-layer/popper-layer.svelte";
|
|
6
6
|
import { noop } from "../../../internal/noop.js";
|
|
7
7
|
import PopperLayerForceMount from "../../utilities/popper-layer/popper-layer-force-mount.svelte";
|
|
@@ -22,7 +22,7 @@
|
|
|
22
22
|
...restProps
|
|
23
23
|
}: SelectContentProps = $props();
|
|
24
24
|
|
|
25
|
-
const contentState =
|
|
25
|
+
const contentState = SelectContentState.create({
|
|
26
26
|
id: box.with(() => id),
|
|
27
27
|
ref: box.with(
|
|
28
28
|
() => ref,
|
|
@@ -65,7 +65,7 @@
|
|
|
65
65
|
{...contentState.popperProps}
|
|
66
66
|
ref={contentState.opts.ref}
|
|
67
67
|
{side}
|
|
68
|
-
|
|
68
|
+
open={contentState.root.opts.open.current}
|
|
69
69
|
{id}
|
|
70
70
|
{preventScroll}
|
|
71
71
|
forceMount={false}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
<script lang="ts">
|
|
2
2
|
import { box, mergeProps } from "svelte-toolbelt";
|
|
3
3
|
import type { SelectGroupHeadingProps } from "../types.js";
|
|
4
|
-
import {
|
|
4
|
+
import { SelectGroupHeadingState } from "../select.svelte.js";
|
|
5
5
|
import { createId } from "../../../internal/create-id.js";
|
|
6
6
|
|
|
7
7
|
const uid = $props.id();
|
|
@@ -13,7 +13,7 @@
|
|
|
13
13
|
...restProps
|
|
14
14
|
}: SelectGroupHeadingProps = $props();
|
|
15
15
|
|
|
16
|
-
const groupHeadingState =
|
|
16
|
+
const groupHeadingState = SelectGroupHeadingState.create({
|
|
17
17
|
id: box.with(() => id),
|
|
18
18
|
ref: box.with(
|
|
19
19
|
() => ref,
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
<script lang="ts">
|
|
2
2
|
import { box, mergeProps } from "svelte-toolbelt";
|
|
3
|
-
import {
|
|
3
|
+
import { SelectGroupState } from "../select.svelte.js";
|
|
4
4
|
import type { SelectGroupProps } from "../types.js";
|
|
5
5
|
import { createId } from "../../../internal/create-id.js";
|
|
6
6
|
|
|
@@ -14,7 +14,7 @@
|
|
|
14
14
|
...restProps
|
|
15
15
|
}: SelectGroupProps = $props();
|
|
16
16
|
|
|
17
|
-
const groupState =
|
|
17
|
+
const groupState = SelectGroupState.create({
|
|
18
18
|
id: box.with(() => id),
|
|
19
19
|
ref: box.with(
|
|
20
20
|
() => ref,
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
<script lang="ts">
|
|
2
2
|
import { box } from "svelte-toolbelt";
|
|
3
|
-
import {
|
|
3
|
+
import { SelectHiddenInputState } from "../select.svelte.js";
|
|
4
4
|
import type { HTMLInputAttributes } from "svelte/elements";
|
|
5
5
|
import HiddenInput from "../../utilities/hidden-input.svelte";
|
|
6
6
|
|
|
@@ -9,7 +9,7 @@
|
|
|
9
9
|
autocomplete,
|
|
10
10
|
}: { value?: string } & Omit<HTMLInputAttributes, "value"> = $props();
|
|
11
11
|
|
|
12
|
-
const hiddenInputState =
|
|
12
|
+
const hiddenInputState = SelectHiddenInputState.create({
|
|
13
13
|
value: box.with(() => value),
|
|
14
14
|
});
|
|
15
15
|
</script>
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
<script lang="ts">
|
|
2
2
|
import { box, mergeProps } from "svelte-toolbelt";
|
|
3
|
-
import {
|
|
3
|
+
import { SelectItemState } from "../select.svelte.js";
|
|
4
4
|
import type { SelectItemProps } from "../types.js";
|
|
5
5
|
import { createId } from "../../../internal/create-id.js";
|
|
6
6
|
import { noop } from "../../../internal/noop.js";
|
|
@@ -21,7 +21,7 @@
|
|
|
21
21
|
...restProps
|
|
22
22
|
}: SelectItemProps = $props();
|
|
23
23
|
|
|
24
|
-
const itemState =
|
|
24
|
+
const itemState = SelectItemState.create({
|
|
25
25
|
id: box.with(() => id),
|
|
26
26
|
ref: box.with(
|
|
27
27
|
() => ref,
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
<script lang="ts">
|
|
2
2
|
import { box, mergeProps } from "svelte-toolbelt";
|
|
3
3
|
import type { SelectScrollDownButtonProps } from "../types.js";
|
|
4
|
-
import {
|
|
4
|
+
import { SelectScrollDownButtonState } from "../select.svelte.js";
|
|
5
5
|
import { createId } from "../../../internal/create-id.js";
|
|
6
6
|
import { Mounted } from "../../utilities/index.js";
|
|
7
7
|
|
|
@@ -16,7 +16,7 @@
|
|
|
16
16
|
...restProps
|
|
17
17
|
}: SelectScrollDownButtonProps = $props();
|
|
18
18
|
|
|
19
|
-
const scrollButtonState =
|
|
19
|
+
const scrollButtonState = SelectScrollDownButtonState.create({
|
|
20
20
|
id: box.with(() => id),
|
|
21
21
|
ref: box.with(
|
|
22
22
|
() => ref,
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
<script lang="ts">
|
|
2
2
|
import { box, mergeProps } from "svelte-toolbelt";
|
|
3
3
|
import type { SelectScrollUpButtonProps } from "../types.js";
|
|
4
|
-
import {
|
|
4
|
+
import { SelectScrollUpButtonState } from "../select.svelte.js";
|
|
5
5
|
import { createId } from "../../../internal/create-id.js";
|
|
6
6
|
import { Mounted } from "../../utilities/index.js";
|
|
7
7
|
|
|
@@ -16,7 +16,7 @@
|
|
|
16
16
|
...restProps
|
|
17
17
|
}: SelectScrollUpButtonProps = $props();
|
|
18
18
|
|
|
19
|
-
const scrollButtonState =
|
|
19
|
+
const scrollButtonState = SelectScrollUpButtonState.create({
|
|
20
20
|
id: box.with(() => id),
|
|
21
21
|
ref: box.with(
|
|
22
22
|
() => ref,
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
<script lang="ts">
|
|
2
2
|
import { box, mergeProps } from "svelte-toolbelt";
|
|
3
|
-
import {
|
|
3
|
+
import { SelectTriggerState } from "../select.svelte.js";
|
|
4
4
|
import type { SelectTriggerProps } from "../types.js";
|
|
5
5
|
import { createId } from "../../../internal/create-id.js";
|
|
6
6
|
import { FloatingLayer } from "../../utilities/floating-layer/index.js";
|
|
@@ -16,7 +16,7 @@
|
|
|
16
16
|
...restProps
|
|
17
17
|
}: SelectTriggerProps = $props();
|
|
18
18
|
|
|
19
|
-
const triggerState =
|
|
19
|
+
const triggerState = SelectTriggerState.create({
|
|
20
20
|
id: box.with(() => id),
|
|
21
21
|
ref: box.with(
|
|
22
22
|
() => ref,
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
<script lang="ts">
|
|
2
2
|
import { box, mergeProps } from "svelte-toolbelt";
|
|
3
3
|
import type { SelectViewportProps } from "../types.js";
|
|
4
|
-
import {
|
|
4
|
+
import { SelectViewportState } from "../select.svelte.js";
|
|
5
5
|
import { createId } from "../../../internal/create-id.js";
|
|
6
6
|
|
|
7
7
|
const uid = $props.id();
|
|
@@ -14,7 +14,7 @@
|
|
|
14
14
|
...restProps
|
|
15
15
|
}: SelectViewportProps = $props();
|
|
16
16
|
|
|
17
|
-
const viewportState =
|
|
17
|
+
const viewportState = SelectViewportState.create({
|
|
18
18
|
id: box.with(() => id),
|
|
19
19
|
ref: box.with(
|
|
20
20
|
() => ref,
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
import FloatingLayer from "../../utilities/floating-layer/components/floating-layer.svelte";
|
|
3
3
|
import { noop } from "../../../internal/noop.js";
|
|
4
4
|
import { type WritableBox, box } from "svelte-toolbelt";
|
|
5
|
-
import {
|
|
5
|
+
import { SelectRootState } from "../select.svelte.js";
|
|
6
6
|
import type { SelectRootProps } from "../types.js";
|
|
7
7
|
import SelectHiddenInput from "./select-hidden-input.svelte";
|
|
8
8
|
import { watch } from "runed";
|
|
@@ -15,6 +15,7 @@
|
|
|
15
15
|
type,
|
|
16
16
|
open = $bindable(false),
|
|
17
17
|
onOpenChange = noop,
|
|
18
|
+
onOpenChangeComplete = noop,
|
|
18
19
|
loop = false,
|
|
19
20
|
scrollAlignment = "nearest",
|
|
20
21
|
required = false,
|
|
@@ -41,7 +42,7 @@
|
|
|
41
42
|
|
|
42
43
|
let inputValue = $state("");
|
|
43
44
|
|
|
44
|
-
const rootState =
|
|
45
|
+
const rootState = SelectRootState.create({
|
|
45
46
|
type,
|
|
46
47
|
value: box.with(
|
|
47
48
|
() => value!,
|
|
@@ -70,6 +71,7 @@
|
|
|
70
71
|
() => inputValue,
|
|
71
72
|
(v) => (inputValue = v)
|
|
72
73
|
),
|
|
74
|
+
onOpenChangeComplete: box.with(() => onOpenChangeComplete),
|
|
73
75
|
});
|
|
74
76
|
</script>
|
|
75
77
|
|