bits-ui 2.7.0 → 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 +2 -2
- package/dist/bits/radio-group/radio-group.svelte.d.ts +21 -19
- package/dist/bits/radio-group/radio-group.svelte.js +15 -15
- 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 +72 -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
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
<script lang="ts">
|
|
2
2
|
import { box, mergeProps } from "svelte-toolbelt";
|
|
3
3
|
import type { ToggleRootProps } from "../types.js";
|
|
4
|
-
import {
|
|
4
|
+
import { ToggleRootState } from "../toggle.svelte.js";
|
|
5
5
|
import { createId } from "../../../internal/create-id.js";
|
|
6
6
|
import { noop } from "../../../internal/noop.js";
|
|
7
7
|
|
|
@@ -19,7 +19,7 @@
|
|
|
19
19
|
...restProps
|
|
20
20
|
}: ToggleRootProps = $props();
|
|
21
21
|
|
|
22
|
-
const toggleState =
|
|
22
|
+
const toggleState = ToggleRootState.create({
|
|
23
23
|
pressed: box.with(
|
|
24
24
|
() => pressed,
|
|
25
25
|
(v) => {
|
|
@@ -1,15 +1,17 @@
|
|
|
1
|
-
import type
|
|
2
|
-
import type { BitsMouseEvent,
|
|
3
|
-
export declare const toggleAttrs: import("../../internal/attrs.js").
|
|
4
|
-
|
|
1
|
+
import { type ReadableBoxedValues, type WritableBoxedValues } from "svelte-toolbelt";
|
|
2
|
+
import type { BitsMouseEvent, WithRefOpts } from "../../internal/types.js";
|
|
3
|
+
export declare const toggleAttrs: import("../../internal/attrs.js").CreateBitsAttrsReturn<readonly ["root"]>;
|
|
4
|
+
interface ToggleRootStateOpts extends WithRefOpts, ReadableBoxedValues<{
|
|
5
5
|
disabled: boolean;
|
|
6
|
-
}
|
|
6
|
+
}>, WritableBoxedValues<{
|
|
7
7
|
pressed: boolean;
|
|
8
|
-
}
|
|
9
|
-
|
|
8
|
+
}> {
|
|
9
|
+
}
|
|
10
|
+
export declare class ToggleRootState {
|
|
10
11
|
#private;
|
|
11
|
-
|
|
12
|
-
|
|
12
|
+
static create(opts: ToggleRootStateOpts): ToggleRootState;
|
|
13
|
+
readonly opts: ToggleRootStateOpts;
|
|
14
|
+
constructor(opts: ToggleRootStateOpts);
|
|
13
15
|
onclick(_: BitsMouseEvent): void;
|
|
14
16
|
readonly snippetProps: {
|
|
15
17
|
pressed: boolean;
|
|
@@ -23,6 +25,5 @@ declare class ToggleRootState {
|
|
|
23
25
|
readonly onclick: (_: BitsMouseEvent) => void;
|
|
24
26
|
};
|
|
25
27
|
}
|
|
26
|
-
export declare function useToggleRoot(props: ToggleRootStateProps): ToggleRootState;
|
|
27
28
|
export declare function getToggleDataState(condition: boolean): "on" | "off";
|
|
28
29
|
export {};
|
|
@@ -4,7 +4,10 @@ export const toggleAttrs = createBitsAttrs({
|
|
|
4
4
|
component: "toggle",
|
|
5
5
|
parts: ["root"],
|
|
6
6
|
});
|
|
7
|
-
class ToggleRootState {
|
|
7
|
+
export class ToggleRootState {
|
|
8
|
+
static create(opts) {
|
|
9
|
+
return new ToggleRootState(opts);
|
|
10
|
+
}
|
|
8
11
|
opts;
|
|
9
12
|
constructor(opts) {
|
|
10
13
|
this.opts = opts;
|
|
@@ -34,9 +37,6 @@ class ToggleRootState {
|
|
|
34
37
|
...attachRef(this.opts.ref),
|
|
35
38
|
}));
|
|
36
39
|
}
|
|
37
|
-
export function useToggleRoot(props) {
|
|
38
|
-
return new ToggleRootState(props);
|
|
39
|
-
}
|
|
40
40
|
export function getToggleDataState(condition) {
|
|
41
41
|
return condition ? "on" : "off";
|
|
42
42
|
}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
<script lang="ts">
|
|
2
2
|
import { box, mergeProps } from "svelte-toolbelt";
|
|
3
3
|
import type { ToggleGroupItemProps } from "../types.js";
|
|
4
|
-
import {
|
|
4
|
+
import { ToggleGroupItemState } from "../toggle-group.svelte.js";
|
|
5
5
|
import { createId } from "../../../internal/create-id.js";
|
|
6
6
|
|
|
7
7
|
const uid = $props.id();
|
|
@@ -17,7 +17,7 @@
|
|
|
17
17
|
...restProps
|
|
18
18
|
}: ToggleGroupItemProps = $props();
|
|
19
19
|
|
|
20
|
-
const itemState =
|
|
20
|
+
const itemState = ToggleGroupItemState.create({
|
|
21
21
|
id: box.with(() => id),
|
|
22
22
|
value: box.with(() => value),
|
|
23
23
|
disabled: box.with(() => disabled ?? false),
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
import { type WritableBox, box } from "svelte-toolbelt";
|
|
3
3
|
import { mergeProps } from "svelte-toolbelt";
|
|
4
4
|
import type { ToggleGroupRootProps } from "../types.js";
|
|
5
|
-
import {
|
|
5
|
+
import { ToggleGroupRootState } from "../toggle-group.svelte.js";
|
|
6
6
|
import { createId } from "../../../internal/create-id.js";
|
|
7
7
|
import { noop } from "../../../internal/noop.js";
|
|
8
8
|
import { watch } from "runed";
|
|
@@ -39,7 +39,7 @@
|
|
|
39
39
|
}
|
|
40
40
|
);
|
|
41
41
|
|
|
42
|
-
const rootState =
|
|
42
|
+
const rootState = ToggleGroupRootState.create({
|
|
43
43
|
id: box.with(() => id),
|
|
44
44
|
value: box.with(
|
|
45
45
|
() => value!,
|
|
@@ -1,65 +1,81 @@
|
|
|
1
|
-
import { type WritableBox } from "svelte-toolbelt";
|
|
2
|
-
import type { ReadableBoxedValues, WritableBoxedValues } from "../../internal/box.svelte.js";
|
|
1
|
+
import { type WritableBox, type ReadableBoxedValues, type WritableBoxedValues } from "svelte-toolbelt";
|
|
3
2
|
import type { Orientation } from "../../shared/index.js";
|
|
4
|
-
import {
|
|
5
|
-
import
|
|
6
|
-
export declare const toggleGroupAttrs: import("../../internal/attrs.js").
|
|
7
|
-
|
|
3
|
+
import type { BitsKeyboardEvent, BitsMouseEvent, WithRefOpts } from "../../internal/types.js";
|
|
4
|
+
import { RovingFocusGroup } from "../../internal/roving-focus-group.js";
|
|
5
|
+
export declare const toggleGroupAttrs: import("../../internal/attrs.js").CreateBitsAttrsReturn<readonly ["root", "item"]>;
|
|
6
|
+
interface ToggleGroupBaseStateOpts extends WithRefOpts, ReadableBoxedValues<{
|
|
8
7
|
disabled: boolean;
|
|
9
8
|
rovingFocus: boolean;
|
|
10
9
|
loop: boolean;
|
|
11
10
|
orientation: Orientation;
|
|
12
|
-
}
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
11
|
+
}> {
|
|
12
|
+
}
|
|
13
|
+
declare abstract class ToggleGroupBaseState {
|
|
14
|
+
readonly opts: ToggleGroupBaseStateOpts;
|
|
15
|
+
readonly rovingFocusGroup: RovingFocusGroup;
|
|
16
|
+
constructor(opts: ToggleGroupBaseStateOpts);
|
|
17
|
+
readonly props: {
|
|
18
18
|
readonly id: string;
|
|
19
19
|
readonly role: "group";
|
|
20
20
|
readonly "data-orientation": "horizontal" | "vertical";
|
|
21
21
|
readonly "data-disabled": "" | undefined;
|
|
22
22
|
};
|
|
23
23
|
}
|
|
24
|
-
|
|
24
|
+
interface ToggleGroupSingleStateOpts extends ToggleGroupBaseStateOpts, WritableBoxedValues<{
|
|
25
25
|
value: string;
|
|
26
|
-
}
|
|
26
|
+
}> {
|
|
27
|
+
}
|
|
27
28
|
declare class ToggleGroupSingleState extends ToggleGroupBaseState {
|
|
28
|
-
readonly opts:
|
|
29
|
+
readonly opts: ToggleGroupSingleStateOpts;
|
|
29
30
|
isMulti: boolean;
|
|
30
|
-
anyPressed: boolean;
|
|
31
|
-
constructor(opts:
|
|
31
|
+
readonly anyPressed: boolean;
|
|
32
|
+
constructor(opts: ToggleGroupSingleStateOpts);
|
|
32
33
|
includesItem(item: string): boolean;
|
|
33
34
|
toggleItem(item: string, id: string): void;
|
|
34
35
|
}
|
|
35
|
-
|
|
36
|
+
interface ToggleGroupMultipleStateOpts extends ToggleGroupBaseStateOpts, WritableBoxedValues<{
|
|
36
37
|
value: string[];
|
|
37
|
-
}
|
|
38
|
+
}> {
|
|
39
|
+
}
|
|
38
40
|
declare class ToggleGroupMultipleState extends ToggleGroupBaseState {
|
|
39
|
-
readonly opts:
|
|
41
|
+
readonly opts: ToggleGroupMultipleStateOpts;
|
|
40
42
|
isMulti: boolean;
|
|
41
|
-
anyPressed: boolean;
|
|
42
|
-
constructor(opts:
|
|
43
|
+
readonly anyPressed: boolean;
|
|
44
|
+
constructor(opts: ToggleGroupMultipleStateOpts);
|
|
43
45
|
includesItem(item: string): boolean;
|
|
44
46
|
toggleItem(item: string, id: string): void;
|
|
45
47
|
}
|
|
46
|
-
type
|
|
47
|
-
|
|
48
|
+
type ToggleGroup = ToggleGroupSingleState | ToggleGroupMultipleState;
|
|
49
|
+
interface ToggleGroupRootOpts extends WithRefOpts, ReadableBoxedValues<{
|
|
50
|
+
disabled: boolean;
|
|
51
|
+
rovingFocus: boolean;
|
|
52
|
+
loop: boolean;
|
|
53
|
+
orientation: Orientation;
|
|
54
|
+
}> {
|
|
55
|
+
type: "single" | "multiple";
|
|
56
|
+
value: WritableBox<string> | WritableBox<string[]>;
|
|
57
|
+
}
|
|
58
|
+
export declare class ToggleGroupRootState {
|
|
59
|
+
static create(opts: ToggleGroupRootOpts): ToggleGroup;
|
|
60
|
+
}
|
|
61
|
+
interface ToggleGroupItemStateOpts extends WithRefOpts, ReadableBoxedValues<{
|
|
48
62
|
value: string;
|
|
49
63
|
disabled: boolean;
|
|
50
|
-
}
|
|
51
|
-
|
|
64
|
+
}> {
|
|
65
|
+
}
|
|
66
|
+
export declare class ToggleGroupItemState {
|
|
52
67
|
#private;
|
|
53
|
-
|
|
54
|
-
readonly
|
|
55
|
-
|
|
68
|
+
static create(opts: ToggleGroupItemStateOpts): ToggleGroupItemState;
|
|
69
|
+
readonly opts: ToggleGroupItemStateOpts;
|
|
70
|
+
readonly root: ToggleGroup;
|
|
71
|
+
readonly isPressed: boolean;
|
|
72
|
+
constructor(opts: ToggleGroupItemStateOpts, root: ToggleGroup);
|
|
56
73
|
onclick(_: BitsMouseEvent): void;
|
|
57
74
|
onkeydown(e: BitsKeyboardEvent): void;
|
|
58
|
-
|
|
59
|
-
snippetProps: {
|
|
75
|
+
readonly snippetProps: {
|
|
60
76
|
pressed: boolean;
|
|
61
77
|
};
|
|
62
|
-
props: {
|
|
78
|
+
readonly props: {
|
|
63
79
|
readonly id: string;
|
|
64
80
|
readonly role: "radio" | undefined;
|
|
65
81
|
readonly tabindex: number;
|
|
@@ -74,15 +90,4 @@ declare class ToggleGroupItemState {
|
|
|
74
90
|
readonly onkeydown: (e: BitsKeyboardEvent) => void;
|
|
75
91
|
};
|
|
76
92
|
}
|
|
77
|
-
type InitToggleGroupProps = WithRefProps<{
|
|
78
|
-
type: "single" | "multiple";
|
|
79
|
-
value: WritableBox<string> | WritableBox<string[]>;
|
|
80
|
-
} & ReadableBoxedValues<{
|
|
81
|
-
disabled: boolean;
|
|
82
|
-
rovingFocus: boolean;
|
|
83
|
-
loop: boolean;
|
|
84
|
-
orientation: Orientation;
|
|
85
|
-
}>>;
|
|
86
|
-
export declare function useToggleGroupRoot(props: InitToggleGroupProps): ToggleGroupState;
|
|
87
|
-
export declare function useToggleGroupItem(props: Omit<ToggleGroupItemStateProps, "rootState">): ToggleGroupItemState;
|
|
88
93
|
export {};
|
|
@@ -1,18 +1,19 @@
|
|
|
1
|
-
import { attachRef } from "svelte-toolbelt";
|
|
1
|
+
import { attachRef, } from "svelte-toolbelt";
|
|
2
2
|
import { Context } from "runed";
|
|
3
3
|
import { createBitsAttrs, getAriaChecked, getAriaPressed, getDataDisabled, getDataOrientation, getDisabled, } from "../../internal/attrs.js";
|
|
4
4
|
import { kbd } from "../../internal/kbd.js";
|
|
5
|
-
import {
|
|
5
|
+
import { RovingFocusGroup } from "../../internal/roving-focus-group.js";
|
|
6
6
|
export const toggleGroupAttrs = createBitsAttrs({
|
|
7
7
|
component: "toggle-group",
|
|
8
8
|
parts: ["root", "item"],
|
|
9
9
|
});
|
|
10
|
+
const ToggleGroupRootContext = new Context("ToggleGroup.Root");
|
|
10
11
|
class ToggleGroupBaseState {
|
|
11
12
|
opts;
|
|
12
13
|
rovingFocusGroup;
|
|
13
14
|
constructor(opts) {
|
|
14
15
|
this.opts = opts;
|
|
15
|
-
this.rovingFocusGroup =
|
|
16
|
+
this.rovingFocusGroup = new RovingFocusGroup({
|
|
16
17
|
candidateAttr: toggleGroupAttrs.item,
|
|
17
18
|
rootNode: opts.ref,
|
|
18
19
|
loop: opts.loop,
|
|
@@ -70,10 +71,29 @@ class ToggleGroupMultipleState extends ToggleGroupBaseState {
|
|
|
70
71
|
}
|
|
71
72
|
}
|
|
72
73
|
}
|
|
73
|
-
class
|
|
74
|
+
export class ToggleGroupRootState {
|
|
75
|
+
static create(opts) {
|
|
76
|
+
const { type, ...rest } = opts;
|
|
77
|
+
const rootState = type === "single"
|
|
78
|
+
? new ToggleGroupSingleState(rest)
|
|
79
|
+
: new ToggleGroupMultipleState(rest);
|
|
80
|
+
return ToggleGroupRootContext.set(rootState);
|
|
81
|
+
}
|
|
82
|
+
}
|
|
83
|
+
export class ToggleGroupItemState {
|
|
84
|
+
static create(opts) {
|
|
85
|
+
return new ToggleGroupItemState(opts, ToggleGroupRootContext.get());
|
|
86
|
+
}
|
|
74
87
|
opts;
|
|
75
88
|
root;
|
|
76
89
|
#isDisabled = $derived.by(() => this.opts.disabled.current || this.root.opts.disabled.current);
|
|
90
|
+
isPressed = $derived.by(() => this.root.includesItem(this.opts.value.current));
|
|
91
|
+
#ariaChecked = $derived.by(() => {
|
|
92
|
+
return this.root.isMulti ? undefined : getAriaChecked(this.isPressed, false);
|
|
93
|
+
});
|
|
94
|
+
#ariaPressed = $derived.by(() => {
|
|
95
|
+
return this.root.isMulti ? getAriaPressed(this.isPressed) : undefined;
|
|
96
|
+
});
|
|
77
97
|
constructor(opts, root) {
|
|
78
98
|
this.opts = opts;
|
|
79
99
|
this.root = root;
|
|
@@ -110,13 +130,6 @@ class ToggleGroupItemState {
|
|
|
110
130
|
return;
|
|
111
131
|
this.root.rovingFocusGroup.handleKeydown(this.opts.ref.current, e);
|
|
112
132
|
}
|
|
113
|
-
isPressed = $derived.by(() => this.root.includesItem(this.opts.value.current));
|
|
114
|
-
#ariaChecked = $derived.by(() => {
|
|
115
|
-
return this.root.isMulti ? undefined : getAriaChecked(this.isPressed, false);
|
|
116
|
-
});
|
|
117
|
-
#ariaPressed = $derived.by(() => {
|
|
118
|
-
return this.root.isMulti ? getAriaPressed(this.isPressed) : undefined;
|
|
119
|
-
});
|
|
120
133
|
#tabIndex = $state(0);
|
|
121
134
|
snippetProps = $derived.by(() => ({
|
|
122
135
|
pressed: this.isPressed,
|
|
@@ -139,20 +152,6 @@ class ToggleGroupItemState {
|
|
|
139
152
|
...attachRef(this.opts.ref),
|
|
140
153
|
}));
|
|
141
154
|
}
|
|
142
|
-
//
|
|
143
|
-
// HELPERS
|
|
144
|
-
//
|
|
145
155
|
function getToggleItemDataState(condition) {
|
|
146
156
|
return condition ? "on" : "off";
|
|
147
157
|
}
|
|
148
|
-
const ToggleGroupRootContext = new Context("ToggleGroup.Root");
|
|
149
|
-
export function useToggleGroupRoot(props) {
|
|
150
|
-
const { type, ...rest } = props;
|
|
151
|
-
const rootState = type === "single"
|
|
152
|
-
? new ToggleGroupSingleState(rest)
|
|
153
|
-
: new ToggleGroupMultipleState(rest);
|
|
154
|
-
return ToggleGroupRootContext.set(rootState);
|
|
155
|
-
}
|
|
156
|
-
export function useToggleGroupItem(props) {
|
|
157
|
-
return new ToggleGroupItemState(props, ToggleGroupRootContext.get());
|
|
158
|
-
}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
<script lang="ts">
|
|
2
2
|
import { box, mergeProps } from "svelte-toolbelt";
|
|
3
3
|
import type { ToolbarButtonProps } from "../types.js";
|
|
4
|
-
import {
|
|
4
|
+
import { ToolbarButtonState } from "../toolbar.svelte.js";
|
|
5
5
|
import { createId } from "../../../internal/create-id.js";
|
|
6
6
|
|
|
7
7
|
const uid = $props.id();
|
|
@@ -16,7 +16,7 @@
|
|
|
16
16
|
...restProps
|
|
17
17
|
}: ToolbarButtonProps = $props();
|
|
18
18
|
|
|
19
|
-
const buttonState =
|
|
19
|
+
const buttonState = ToolbarButtonState.create({
|
|
20
20
|
id: box.with(() => id),
|
|
21
21
|
disabled: box.with(() => disabled ?? false),
|
|
22
22
|
ref: box.with(
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
<script lang="ts">
|
|
2
2
|
import { box, mergeProps } from "svelte-toolbelt";
|
|
3
3
|
import type { ToolbarGroupItemProps } from "../types.js";
|
|
4
|
-
import {
|
|
4
|
+
import { ToolbarGroupItemState } from "../toolbar.svelte.js";
|
|
5
5
|
import { createId } from "../../../internal/create-id.js";
|
|
6
6
|
|
|
7
7
|
const uid = $props.id();
|
|
@@ -17,7 +17,7 @@
|
|
|
17
17
|
...restProps
|
|
18
18
|
}: ToolbarGroupItemProps = $props();
|
|
19
19
|
|
|
20
|
-
const groupItemState =
|
|
20
|
+
const groupItemState = ToolbarGroupItemState.create({
|
|
21
21
|
id: box.with(() => id),
|
|
22
22
|
value: box.with(() => value),
|
|
23
23
|
disabled: box.with(() => disabled ?? false),
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
import { type WritableBox, box } from "svelte-toolbelt";
|
|
3
3
|
import { mergeProps } from "svelte-toolbelt";
|
|
4
4
|
import type { ToolbarGroupProps } from "../types.js";
|
|
5
|
-
import {
|
|
5
|
+
import { ToolbarGroupState } from "../toolbar.svelte.js";
|
|
6
6
|
import { createId } from "../../../internal/create-id.js";
|
|
7
7
|
import { noop } from "../../../internal/noop.js";
|
|
8
8
|
import { watch } from "runed";
|
|
@@ -36,7 +36,7 @@
|
|
|
36
36
|
}
|
|
37
37
|
);
|
|
38
38
|
|
|
39
|
-
const groupState =
|
|
39
|
+
const groupState = ToolbarGroupState.create({
|
|
40
40
|
id: box.with(() => id),
|
|
41
41
|
disabled: box.with(() => disabled),
|
|
42
42
|
type,
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
<script lang="ts">
|
|
2
2
|
import { box, mergeProps } from "svelte-toolbelt";
|
|
3
|
-
import {
|
|
3
|
+
import { ToolbarLinkState } from "../toolbar.svelte.js";
|
|
4
4
|
import type { ToolbarLinkProps } from "../types.js";
|
|
5
5
|
import { createId } from "../../../internal/create-id.js";
|
|
6
6
|
|
|
@@ -15,7 +15,7 @@
|
|
|
15
15
|
...restProps
|
|
16
16
|
}: ToolbarLinkProps = $props();
|
|
17
17
|
|
|
18
|
-
const linkState =
|
|
18
|
+
const linkState = ToolbarLinkState.create({
|
|
19
19
|
id: box.with(() => id),
|
|
20
20
|
ref: box.with(
|
|
21
21
|
() => ref,
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
<script lang="ts">
|
|
2
2
|
import { box, mergeProps } from "svelte-toolbelt";
|
|
3
3
|
import type { ToolbarRootProps } from "../types.js";
|
|
4
|
-
import {
|
|
4
|
+
import { ToolbarRootState } from "../toolbar.svelte.js";
|
|
5
5
|
import { createId } from "../../../internal/create-id.js";
|
|
6
6
|
|
|
7
7
|
const uid = $props.id();
|
|
@@ -16,7 +16,7 @@
|
|
|
16
16
|
...restProps
|
|
17
17
|
}: ToolbarRootProps = $props();
|
|
18
18
|
|
|
19
|
-
const rootState =
|
|
19
|
+
const rootState = ToolbarRootState.create({
|
|
20
20
|
id: box.with(() => id),
|
|
21
21
|
orientation: box.with(() => orientation),
|
|
22
22
|
loop: box.with(() => loop),
|
|
@@ -1,30 +1,32 @@
|
|
|
1
|
-
import { type WritableBox } from "svelte-toolbelt";
|
|
2
|
-
import type { ReadableBoxedValues, WritableBoxedValues } from "../../internal/box.svelte.js";
|
|
3
|
-
import { type UseRovingFocusReturn } from "../../internal/use-roving-focus.svelte.js";
|
|
1
|
+
import { type WritableBox, type WritableBoxedValues, type ReadableBoxedValues } from "svelte-toolbelt";
|
|
4
2
|
import type { Orientation } from "../../shared/index.js";
|
|
5
|
-
import type { BitsKeyboardEvent, BitsMouseEvent,
|
|
6
|
-
|
|
7
|
-
|
|
3
|
+
import type { BitsKeyboardEvent, BitsMouseEvent, WithRefOpts } from "../../internal/types.js";
|
|
4
|
+
import { RovingFocusGroup } from "../../internal/roving-focus-group.js";
|
|
5
|
+
export declare const toolbarAttrs: import("../../internal/attrs.js").CreateBitsAttrsReturn<readonly ["root", "item", "group", "group-item", "link", "button"]>;
|
|
6
|
+
interface ToolbarRootStateOpts extends WithRefOpts, ReadableBoxedValues<{
|
|
8
7
|
orientation: Orientation;
|
|
9
8
|
loop: boolean;
|
|
10
|
-
}
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
9
|
+
}> {
|
|
10
|
+
}
|
|
11
|
+
export declare class ToolbarRootState {
|
|
12
|
+
static create(opts: ToolbarRootStateOpts): ToolbarRootState;
|
|
13
|
+
readonly opts: ToolbarRootStateOpts;
|
|
14
|
+
readonly rovingFocusGroup: RovingFocusGroup;
|
|
15
|
+
constructor(opts: ToolbarRootStateOpts);
|
|
15
16
|
readonly props: {
|
|
16
17
|
readonly id: string;
|
|
17
18
|
readonly role: "toolbar";
|
|
18
19
|
readonly "data-orientation": Orientation;
|
|
19
20
|
};
|
|
20
21
|
}
|
|
21
|
-
|
|
22
|
+
interface ToolbarGroupBaseStateOpts extends WithRefOpts, ReadableBoxedValues<{
|
|
22
23
|
disabled: boolean;
|
|
23
|
-
}
|
|
24
|
-
|
|
25
|
-
|
|
24
|
+
}> {
|
|
25
|
+
}
|
|
26
|
+
declare abstract class ToolbarGroupBaseState {
|
|
27
|
+
readonly opts: ToolbarGroupBaseStateOpts;
|
|
26
28
|
readonly root: ToolbarRootState;
|
|
27
|
-
constructor(opts:
|
|
29
|
+
constructor(opts: ToolbarGroupBaseStateOpts, root: ToolbarRootState);
|
|
28
30
|
readonly props: {
|
|
29
31
|
readonly id: string;
|
|
30
32
|
readonly role: "group";
|
|
@@ -32,41 +34,54 @@ declare class ToolbarGroupBaseState {
|
|
|
32
34
|
readonly "data-disabled": "" | undefined;
|
|
33
35
|
};
|
|
34
36
|
}
|
|
35
|
-
|
|
37
|
+
interface ToolbarGroupSingleStateOpts extends ToolbarGroupBaseStateOpts, WritableBoxedValues<{
|
|
36
38
|
value: string;
|
|
37
|
-
}
|
|
39
|
+
}> {
|
|
40
|
+
}
|
|
38
41
|
declare class ToolbarGroupSingleState extends ToolbarGroupBaseState {
|
|
39
|
-
readonly opts:
|
|
42
|
+
readonly opts: ToolbarGroupSingleStateOpts;
|
|
40
43
|
readonly root: ToolbarRootState;
|
|
41
44
|
readonly isMulti: false;
|
|
42
45
|
readonly anyPressed: boolean;
|
|
43
|
-
constructor(opts:
|
|
46
|
+
constructor(opts: ToolbarGroupSingleStateOpts, root: ToolbarRootState);
|
|
44
47
|
includesItem(item: string): boolean;
|
|
45
48
|
toggleItem(item: string): void;
|
|
46
49
|
}
|
|
47
|
-
|
|
50
|
+
interface ToolbarGroupMultipleStateOpts extends ToolbarGroupBaseStateOpts, WritableBoxedValues<{
|
|
48
51
|
value: string[];
|
|
49
|
-
}
|
|
52
|
+
}> {
|
|
53
|
+
}
|
|
50
54
|
declare class ToolbarGroupMultipleState extends ToolbarGroupBaseState {
|
|
51
|
-
readonly opts:
|
|
55
|
+
readonly opts: ToolbarGroupMultipleStateOpts;
|
|
52
56
|
readonly root: ToolbarRootState;
|
|
53
57
|
readonly isMulti: true;
|
|
54
58
|
readonly anyPressed: boolean;
|
|
55
|
-
constructor(opts:
|
|
59
|
+
constructor(opts: ToolbarGroupMultipleStateOpts, root: ToolbarRootState);
|
|
56
60
|
includesItem(item: string): boolean;
|
|
57
61
|
toggleItem(item: string): void;
|
|
58
62
|
}
|
|
59
|
-
type
|
|
60
|
-
|
|
63
|
+
type ToolbarGroup = ToolbarGroupSingleState | ToolbarGroupMultipleState;
|
|
64
|
+
interface ToolbarGroupRootOpts extends WithRefOpts, ReadableBoxedValues<{
|
|
65
|
+
disabled: boolean;
|
|
66
|
+
}> {
|
|
67
|
+
type: "single" | "multiple";
|
|
68
|
+
value: WritableBox<string> | WritableBox<string[]>;
|
|
69
|
+
}
|
|
70
|
+
export declare class ToolbarGroupState {
|
|
71
|
+
static create(opts: ToolbarGroupRootOpts): ToolbarGroup;
|
|
72
|
+
}
|
|
73
|
+
interface ToolbarGroupItemStateOpts extends WithRefOpts, ReadableBoxedValues<{
|
|
61
74
|
value: string;
|
|
62
75
|
disabled: boolean;
|
|
63
|
-
}
|
|
64
|
-
|
|
76
|
+
}> {
|
|
77
|
+
}
|
|
78
|
+
export declare class ToolbarGroupItemState {
|
|
65
79
|
#private;
|
|
66
|
-
|
|
67
|
-
readonly
|
|
80
|
+
static create(opts: ToolbarGroupItemStateOpts): ToolbarGroupItemState;
|
|
81
|
+
readonly opts: ToolbarGroupItemStateOpts;
|
|
82
|
+
readonly group: ToolbarGroup;
|
|
68
83
|
readonly root: ToolbarRootState;
|
|
69
|
-
constructor(opts:
|
|
84
|
+
constructor(opts: ToolbarGroupItemStateOpts, group: ToolbarGroup, root: ToolbarRootState);
|
|
70
85
|
onclick(_: BitsMouseEvent): void;
|
|
71
86
|
onkeydown(e: BitsKeyboardEvent): void;
|
|
72
87
|
readonly isPressed: boolean;
|
|
@@ -85,12 +100,14 @@ declare class ToolbarGroupItemState {
|
|
|
85
100
|
readonly onkeydown: (e: BitsKeyboardEvent) => void;
|
|
86
101
|
};
|
|
87
102
|
}
|
|
88
|
-
|
|
89
|
-
|
|
103
|
+
interface ToolbarLinkStateOpts extends WithRefOpts {
|
|
104
|
+
}
|
|
105
|
+
export declare class ToolbarLinkState {
|
|
90
106
|
#private;
|
|
91
|
-
|
|
107
|
+
static create(opts: ToolbarLinkStateOpts): ToolbarLinkState;
|
|
108
|
+
readonly opts: ToolbarLinkStateOpts;
|
|
92
109
|
readonly root: ToolbarRootState;
|
|
93
|
-
constructor(opts:
|
|
110
|
+
constructor(opts: ToolbarLinkStateOpts, root: ToolbarRootState);
|
|
94
111
|
onkeydown(e: BitsKeyboardEvent): void;
|
|
95
112
|
readonly props: {
|
|
96
113
|
readonly id: string;
|
|
@@ -100,14 +117,16 @@ declare class ToolbarLinkState {
|
|
|
100
117
|
readonly onkeydown: (e: BitsKeyboardEvent) => void;
|
|
101
118
|
};
|
|
102
119
|
}
|
|
103
|
-
|
|
120
|
+
interface ToolbarButtonStateOpts extends WithRefOpts, ReadableBoxedValues<{
|
|
104
121
|
disabled: boolean;
|
|
105
|
-
}
|
|
106
|
-
|
|
122
|
+
}> {
|
|
123
|
+
}
|
|
124
|
+
export declare class ToolbarButtonState {
|
|
107
125
|
#private;
|
|
108
|
-
|
|
126
|
+
static create(opts: ToolbarButtonStateOpts): ToolbarButtonState;
|
|
127
|
+
readonly opts: ToolbarButtonStateOpts;
|
|
109
128
|
readonly root: ToolbarRootState;
|
|
110
|
-
constructor(opts:
|
|
129
|
+
constructor(opts: ToolbarButtonStateOpts, root: ToolbarRootState);
|
|
111
130
|
onkeydown(e: BitsKeyboardEvent): void;
|
|
112
131
|
readonly props: {
|
|
113
132
|
readonly id: string;
|
|
@@ -119,15 +138,4 @@ declare class ToolbarButtonState {
|
|
|
119
138
|
readonly onkeydown: (e: BitsKeyboardEvent) => void;
|
|
120
139
|
};
|
|
121
140
|
}
|
|
122
|
-
export declare function useToolbarRoot(props: ToolbarRootStateProps): ToolbarRootState;
|
|
123
|
-
type InitToolbarGroupProps = WithRefProps<{
|
|
124
|
-
type: "single" | "multiple";
|
|
125
|
-
value: WritableBox<string> | WritableBox<string[]>;
|
|
126
|
-
} & ReadableBoxedValues<{
|
|
127
|
-
disabled: boolean;
|
|
128
|
-
}>>;
|
|
129
|
-
export declare function useToolbarGroup(props: InitToolbarGroupProps): ToolbarGroupState;
|
|
130
|
-
export declare function useToolbarGroupItem(props: ToolbarGroupItemStateProps): ToolbarGroupItemState;
|
|
131
|
-
export declare function useToolbarButton(props: ToolbarButtonStateProps): ToolbarButtonState;
|
|
132
|
-
export declare function useToolbarLink(props: ToolbarLinkStateProps): ToolbarLinkState;
|
|
133
141
|
export {};
|