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
|
@@ -1,24 +1,26 @@
|
|
|
1
1
|
import { SvelteMap } from "svelte/reactivity";
|
|
2
|
+
import { type ReadableBoxedValues, type WritableBoxedValues } from "svelte-toolbelt";
|
|
2
3
|
import type { TabsActivationMode } from "./types.js";
|
|
3
|
-
import type {
|
|
4
|
-
import type { BitsFocusEvent, BitsKeyboardEvent, BitsMouseEvent, WithRefProps } from "../../internal/types.js";
|
|
4
|
+
import type { BitsFocusEvent, BitsKeyboardEvent, BitsMouseEvent, WithRefOpts } from "../../internal/types.js";
|
|
5
5
|
import type { Orientation } from "../../shared/index.js";
|
|
6
|
-
import {
|
|
7
|
-
|
|
6
|
+
import { RovingFocusGroup } from "../../internal/roving-focus-group.js";
|
|
7
|
+
interface TabsRootStateOpts extends WithRefOpts, ReadableBoxedValues<{
|
|
8
8
|
orientation: Orientation;
|
|
9
9
|
loop: boolean;
|
|
10
10
|
activationMode: TabsActivationMode;
|
|
11
11
|
disabled: boolean;
|
|
12
|
-
}
|
|
12
|
+
}>, WritableBoxedValues<{
|
|
13
13
|
value: string;
|
|
14
|
-
}
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
14
|
+
}> {
|
|
15
|
+
}
|
|
16
|
+
export declare class TabsRootState {
|
|
17
|
+
static create(opts: TabsRootStateOpts): TabsRootState;
|
|
18
|
+
readonly opts: TabsRootStateOpts;
|
|
19
|
+
readonly rovingFocusGroup: RovingFocusGroup;
|
|
18
20
|
triggerIds: string[];
|
|
19
21
|
readonly valueToTriggerId: SvelteMap<string, string>;
|
|
20
22
|
readonly valueToContentId: SvelteMap<string, string>;
|
|
21
|
-
constructor(opts:
|
|
23
|
+
constructor(opts: TabsRootStateOpts);
|
|
22
24
|
registerTrigger(id: string, value: string): () => void;
|
|
23
25
|
registerContent(id: string, value: string): () => void;
|
|
24
26
|
setValue(v: string): void;
|
|
@@ -27,12 +29,14 @@ declare class TabsRootState {
|
|
|
27
29
|
readonly "data-orientation": "horizontal" | "vertical";
|
|
28
30
|
};
|
|
29
31
|
}
|
|
30
|
-
|
|
31
|
-
|
|
32
|
+
interface TabsListStateOpts extends WithRefOpts {
|
|
33
|
+
}
|
|
34
|
+
export declare class TabsListState {
|
|
32
35
|
#private;
|
|
33
|
-
|
|
36
|
+
static create(opts: TabsListStateOpts): TabsListState;
|
|
37
|
+
readonly opts: TabsListStateOpts;
|
|
34
38
|
readonly root: TabsRootState;
|
|
35
|
-
constructor(opts:
|
|
39
|
+
constructor(opts: TabsListStateOpts, root: TabsRootState);
|
|
36
40
|
readonly props: {
|
|
37
41
|
readonly id: string;
|
|
38
42
|
readonly role: "tablist";
|
|
@@ -41,15 +45,17 @@ declare class TabsListState {
|
|
|
41
45
|
readonly "data-disabled": "" | undefined;
|
|
42
46
|
};
|
|
43
47
|
}
|
|
44
|
-
|
|
48
|
+
interface TabsTriggerStateOpts extends WithRefOpts, ReadableBoxedValues<{
|
|
45
49
|
value: string;
|
|
46
50
|
disabled: boolean;
|
|
47
|
-
}
|
|
48
|
-
|
|
51
|
+
}> {
|
|
52
|
+
}
|
|
53
|
+
export declare class TabsTriggerState {
|
|
49
54
|
#private;
|
|
50
|
-
|
|
55
|
+
static create(opts: TabsTriggerStateOpts): TabsTriggerState;
|
|
56
|
+
readonly opts: TabsTriggerStateOpts;
|
|
51
57
|
readonly root: TabsRootState;
|
|
52
|
-
constructor(opts:
|
|
58
|
+
constructor(opts: TabsTriggerStateOpts, root: TabsRootState);
|
|
53
59
|
onfocus(_: BitsFocusEvent): void;
|
|
54
60
|
onclick(_: BitsMouseEvent): void;
|
|
55
61
|
onkeydown(e: BitsKeyboardEvent): void;
|
|
@@ -69,15 +75,17 @@ declare class TabsTriggerState {
|
|
|
69
75
|
readonly onkeydown: (e: BitsKeyboardEvent) => void;
|
|
70
76
|
};
|
|
71
77
|
}
|
|
72
|
-
|
|
78
|
+
interface TabsContentStateOpts extends WithRefOpts, ReadableBoxedValues<{
|
|
73
79
|
value: string;
|
|
74
|
-
}
|
|
75
|
-
|
|
80
|
+
}> {
|
|
81
|
+
}
|
|
82
|
+
export declare class TabsContentState {
|
|
76
83
|
#private;
|
|
77
|
-
|
|
84
|
+
static create(opts: TabsContentStateOpts): TabsContentState;
|
|
85
|
+
readonly opts: TabsContentStateOpts;
|
|
78
86
|
readonly root: TabsRootState;
|
|
79
|
-
constructor(opts:
|
|
80
|
-
props: {
|
|
87
|
+
constructor(opts: TabsContentStateOpts, root: TabsRootState);
|
|
88
|
+
readonly props: {
|
|
81
89
|
readonly id: string;
|
|
82
90
|
readonly role: "tabpanel";
|
|
83
91
|
readonly hidden: true | undefined;
|
|
@@ -88,8 +96,4 @@ declare class TabsContentState {
|
|
|
88
96
|
readonly "data-orientation": "horizontal" | "vertical";
|
|
89
97
|
};
|
|
90
98
|
}
|
|
91
|
-
export declare function useTabsRoot(props: TabsRootStateProps): TabsRootState;
|
|
92
|
-
export declare function useTabsTrigger(props: TabsTriggerStateProps): TabsTriggerState;
|
|
93
|
-
export declare function useTabsList(props: TabsListStateProps): TabsListState;
|
|
94
|
-
export declare function useTabsContent(props: TabsContentStateProps): TabsContentState;
|
|
95
99
|
export {};
|
|
@@ -3,12 +3,16 @@ import { attachRef } from "svelte-toolbelt";
|
|
|
3
3
|
import { Context, watch } from "runed";
|
|
4
4
|
import { createBitsAttrs, getAriaOrientation, getAriaSelected, getDataDisabled, getDataOrientation, getDisabled, getHidden, } from "../../internal/attrs.js";
|
|
5
5
|
import { kbd } from "../../internal/kbd.js";
|
|
6
|
-
import {
|
|
6
|
+
import { RovingFocusGroup } from "../../internal/roving-focus-group.js";
|
|
7
7
|
const tabsAttrs = createBitsAttrs({
|
|
8
8
|
component: "tabs",
|
|
9
9
|
parts: ["root", "list", "trigger", "content"],
|
|
10
10
|
});
|
|
11
|
-
|
|
11
|
+
const TabsRootContext = new Context("Tabs.Root");
|
|
12
|
+
export class TabsRootState {
|
|
13
|
+
static create(opts) {
|
|
14
|
+
return TabsRootContext.set(new TabsRootState(opts));
|
|
15
|
+
}
|
|
12
16
|
opts;
|
|
13
17
|
rovingFocusGroup;
|
|
14
18
|
triggerIds = $state([]);
|
|
@@ -18,7 +22,7 @@ class TabsRootState {
|
|
|
18
22
|
valueToContentId = new SvelteMap();
|
|
19
23
|
constructor(opts) {
|
|
20
24
|
this.opts = opts;
|
|
21
|
-
this.rovingFocusGroup =
|
|
25
|
+
this.rovingFocusGroup = new RovingFocusGroup({
|
|
22
26
|
candidateAttr: tabsAttrs.trigger,
|
|
23
27
|
rootNode: this.opts.ref,
|
|
24
28
|
loop: this.opts.loop,
|
|
@@ -51,7 +55,10 @@ class TabsRootState {
|
|
|
51
55
|
...attachRef(this.opts.ref),
|
|
52
56
|
}));
|
|
53
57
|
}
|
|
54
|
-
class TabsListState {
|
|
58
|
+
export class TabsListState {
|
|
59
|
+
static create(opts) {
|
|
60
|
+
return new TabsListState(opts, TabsRootContext.get());
|
|
61
|
+
}
|
|
55
62
|
opts;
|
|
56
63
|
root;
|
|
57
64
|
#isDisabled = $derived.by(() => this.root.opts.disabled.current);
|
|
@@ -69,7 +76,10 @@ class TabsListState {
|
|
|
69
76
|
...attachRef(this.opts.ref),
|
|
70
77
|
}));
|
|
71
78
|
}
|
|
72
|
-
class TabsTriggerState {
|
|
79
|
+
export class TabsTriggerState {
|
|
80
|
+
static create(opts) {
|
|
81
|
+
return new TabsTriggerState(opts, TabsRootContext.get());
|
|
82
|
+
}
|
|
73
83
|
opts;
|
|
74
84
|
root;
|
|
75
85
|
#tabIndex = $state(0);
|
|
@@ -139,7 +149,10 @@ class TabsTriggerState {
|
|
|
139
149
|
...attachRef(this.opts.ref),
|
|
140
150
|
}));
|
|
141
151
|
}
|
|
142
|
-
class TabsContentState {
|
|
152
|
+
export class TabsContentState {
|
|
153
|
+
static create(opts) {
|
|
154
|
+
return new TabsContentState(opts, TabsRootContext.get());
|
|
155
|
+
}
|
|
143
156
|
opts;
|
|
144
157
|
root;
|
|
145
158
|
#isActive = $derived.by(() => this.root.opts.value.current === this.opts.value.current);
|
|
@@ -164,19 +177,6 @@ class TabsContentState {
|
|
|
164
177
|
...attachRef(this.opts.ref),
|
|
165
178
|
}));
|
|
166
179
|
}
|
|
167
|
-
const TabsRootContext = new Context("Tabs.Root");
|
|
168
|
-
export function useTabsRoot(props) {
|
|
169
|
-
return TabsRootContext.set(new TabsRootState(props));
|
|
170
|
-
}
|
|
171
|
-
export function useTabsTrigger(props) {
|
|
172
|
-
return new TabsTriggerState(props, TabsRootContext.get());
|
|
173
|
-
}
|
|
174
|
-
export function useTabsList(props) {
|
|
175
|
-
return new TabsListState(props, TabsRootContext.get());
|
|
176
|
-
}
|
|
177
|
-
export function useTabsContent(props) {
|
|
178
|
-
return new TabsContentState(props, TabsRootContext.get());
|
|
179
|
-
}
|
|
180
180
|
function getTabDataState(condition) {
|
|
181
181
|
return condition ? "active" : "inactive";
|
|
182
182
|
}
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
<script lang="ts">
|
|
2
|
-
import {
|
|
2
|
+
import { TimeFieldHiddenInputState } from "../time-field.svelte.js";
|
|
3
3
|
import HiddenInput from "../../utilities/hidden-input.svelte";
|
|
4
4
|
|
|
5
|
-
const hiddenInputState =
|
|
5
|
+
const hiddenInputState = TimeFieldHiddenInputState.create();
|
|
6
6
|
</script>
|
|
7
7
|
|
|
8
8
|
{#if hiddenInputState.shouldRender}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
<script lang="ts">
|
|
2
2
|
import { box, mergeProps } from "svelte-toolbelt";
|
|
3
|
-
import {
|
|
3
|
+
import { TimeFieldInputState } from "../time-field.svelte.js";
|
|
4
4
|
import type { TimeFieldInputProps } from "../types.js";
|
|
5
5
|
import DateFieldHiddenInput from "./time-field-hidden-input.svelte";
|
|
6
6
|
import { createId } from "../../../internal/create-id.js";
|
|
@@ -16,7 +16,7 @@
|
|
|
16
16
|
...restProps
|
|
17
17
|
}: TimeFieldInputProps = $props();
|
|
18
18
|
|
|
19
|
-
const inputState =
|
|
19
|
+
const inputState = TimeFieldInputState.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 { TimeFieldLabelState } from "../time-field.svelte.js";
|
|
4
4
|
import type { TimeFieldLabelProps } from "../types.js";
|
|
5
5
|
import { createId } from "../../../internal/create-id.js";
|
|
6
6
|
|
|
@@ -14,7 +14,7 @@
|
|
|
14
14
|
...restProps
|
|
15
15
|
}: TimeFieldLabelProps = $props();
|
|
16
16
|
|
|
17
|
-
const labelState =
|
|
17
|
+
const labelState = TimeFieldLabelState.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, mergeProps } from "svelte-toolbelt";
|
|
3
|
-
import {
|
|
3
|
+
import { DateFieldSegmentState } from "../time-field.svelte.js";
|
|
4
4
|
import type { TimeFieldSegmentProps } from "../types.js";
|
|
5
5
|
import { createId } from "../../../internal/create-id.js";
|
|
6
6
|
|
|
@@ -15,7 +15,7 @@
|
|
|
15
15
|
...restProps
|
|
16
16
|
}: TimeFieldSegmentProps = $props();
|
|
17
17
|
|
|
18
|
-
const segmentState =
|
|
18
|
+
const segmentState = DateFieldSegmentState.create(part, {
|
|
19
19
|
id: box.with(() => id),
|
|
20
20
|
ref: box.with(
|
|
21
21
|
() => ref,
|
|
@@ -7,7 +7,7 @@
|
|
|
7
7
|
<script lang="ts" generics="T extends TimeValue = Time">
|
|
8
8
|
import { watch } from "runed";
|
|
9
9
|
import { box } from "svelte-toolbelt";
|
|
10
|
-
import {
|
|
10
|
+
import { TimeFieldRootState } from "../time-field.svelte.js";
|
|
11
11
|
import type { TimeFieldRootProps } from "../types.js";
|
|
12
12
|
import { noop } from "../../../internal/noop.js";
|
|
13
13
|
import { getDefaultTime } from "../../../internal/date-time/utils.js";
|
|
@@ -60,7 +60,7 @@
|
|
|
60
60
|
}
|
|
61
61
|
);
|
|
62
62
|
|
|
63
|
-
|
|
63
|
+
TimeFieldRootState.create({
|
|
64
64
|
value: box.with(
|
|
65
65
|
() => value,
|
|
66
66
|
(v) => {
|
|
@@ -1,25 +1,24 @@
|
|
|
1
1
|
import type { Updater } from "svelte/store";
|
|
2
2
|
import { Time } from "@internationalized/date";
|
|
3
|
-
import { type WritableBox, DOMContext } from "svelte-toolbelt";
|
|
4
|
-
import type {
|
|
5
|
-
import type { BitsFocusEvent, BitsKeyboardEvent, BitsMouseEvent, WithRefProps } from "../../internal/types.js";
|
|
3
|
+
import { type WritableBox, DOMContext, type ReadableBoxedValues, type WritableBoxedValues } from "svelte-toolbelt";
|
|
4
|
+
import type { BitsFocusEvent, BitsKeyboardEvent, BitsMouseEvent, WithRefOpts } from "../../internal/types.js";
|
|
6
5
|
import type { TimeSegmentObj, SegmentPart, HourCycle, TimeValidator, TimeOnInvalid, EditableTimeSegmentPart } from "../../shared/date/types.js";
|
|
7
6
|
import { type TimeFormatter } from "../../internal/date-time/formatter.js";
|
|
8
7
|
import { type Announcer } from "../../internal/date-time/announcer.js";
|
|
9
8
|
import type { TimeValue } from "../../shared/date/types.js";
|
|
10
9
|
import type { TimeRangeFieldRootState } from "../time-range-field/time-range-field.svelte.js";
|
|
11
|
-
export declare const timeFieldAttrs: import("../../internal/attrs.js").
|
|
12
|
-
|
|
10
|
+
export declare const timeFieldAttrs: import("../../internal/attrs.js").CreateBitsAttrsReturn<readonly ["input", "label"]>;
|
|
11
|
+
interface SegmentConfig {
|
|
13
12
|
min: number | ((root: TimeFieldRootState) => number);
|
|
14
13
|
max: number | ((root: TimeFieldRootState) => number);
|
|
15
14
|
cycle: number;
|
|
16
15
|
canBeZero?: boolean;
|
|
17
16
|
padZero?: boolean;
|
|
18
|
-
}
|
|
19
|
-
export
|
|
17
|
+
}
|
|
18
|
+
export interface TimeFieldRootStateOpts<T extends TimeValue = Time> extends WritableBoxedValues<{
|
|
20
19
|
value: T | undefined;
|
|
21
20
|
placeholder: TimeValue;
|
|
22
|
-
}
|
|
21
|
+
}>, ReadableBoxedValues<{
|
|
23
22
|
readonlySegments: SegmentPart[];
|
|
24
23
|
validate: TimeValidator<T> | undefined;
|
|
25
24
|
onInvalid: TimeOnInvalid | undefined;
|
|
@@ -34,44 +33,46 @@ export type TimeFieldRootStateProps<T extends TimeValue = Time> = WritableBoxedV
|
|
|
34
33
|
required: boolean;
|
|
35
34
|
errorMessageId: string | undefined;
|
|
36
35
|
isInvalidProp: boolean | undefined;
|
|
37
|
-
}
|
|
36
|
+
}> {
|
|
37
|
+
}
|
|
38
38
|
export declare class TimeFieldRootState<T extends TimeValue = Time> {
|
|
39
39
|
#private;
|
|
40
|
-
|
|
40
|
+
static create<T extends TimeValue = Time>(opts: TimeFieldRootStateOpts<T>, rangeRoot?: TimeRangeFieldRootState<T>): TimeFieldRootState<Time>;
|
|
41
|
+
value: TimeFieldRootStateOpts<T>["value"];
|
|
41
42
|
placeholder: WritableBox<TimeValue>;
|
|
42
|
-
validate:
|
|
43
|
-
minValue:
|
|
44
|
-
maxValue:
|
|
45
|
-
disabled:
|
|
46
|
-
readonly:
|
|
47
|
-
granularity:
|
|
48
|
-
readonlySegments:
|
|
49
|
-
hourCycleProp:
|
|
50
|
-
locale:
|
|
51
|
-
hideTimeZone:
|
|
52
|
-
required:
|
|
53
|
-
onInvalid:
|
|
54
|
-
errorMessageId:
|
|
55
|
-
isInvalidProp:
|
|
43
|
+
validate: TimeFieldRootStateOpts<T>["validate"];
|
|
44
|
+
minValue: TimeFieldRootStateOpts<T>["minValue"];
|
|
45
|
+
maxValue: TimeFieldRootStateOpts<T>["maxValue"];
|
|
46
|
+
disabled: TimeFieldRootStateOpts<T>["disabled"];
|
|
47
|
+
readonly: TimeFieldRootStateOpts<T>["readonly"];
|
|
48
|
+
granularity: TimeFieldRootStateOpts<T>["granularity"];
|
|
49
|
+
readonlySegments: TimeFieldRootStateOpts<T>["readonlySegments"];
|
|
50
|
+
hourCycleProp: TimeFieldRootStateOpts<T>["hourCycle"];
|
|
51
|
+
locale: TimeFieldRootStateOpts<T>["locale"];
|
|
52
|
+
hideTimeZone: TimeFieldRootStateOpts<T>["hideTimeZone"];
|
|
53
|
+
required: TimeFieldRootStateOpts<T>["required"];
|
|
54
|
+
onInvalid: TimeFieldRootStateOpts<T>["onInvalid"];
|
|
55
|
+
errorMessageId: TimeFieldRootStateOpts<T>["errorMessageId"];
|
|
56
|
+
isInvalidProp: TimeFieldRootStateOpts<T>["isInvalidProp"];
|
|
56
57
|
descriptionId: string;
|
|
57
58
|
formatter: TimeFormatter;
|
|
58
59
|
initialSegments: TimeSegmentObj;
|
|
59
60
|
segmentValues: TimeSegmentObj;
|
|
60
61
|
announcer: Announcer;
|
|
61
|
-
readonlySegmentsSet: Set<SegmentPart>;
|
|
62
|
+
readonly readonlySegmentsSet: Set<SegmentPart>;
|
|
62
63
|
segmentStates: import("../../shared/date/types.js").TimeSegmentStateMap;
|
|
63
64
|
descriptionNode: HTMLElement | null;
|
|
64
65
|
validationNode: HTMLElement | null;
|
|
65
66
|
states: import("../../shared/date/types.js").TimeSegmentStateMap;
|
|
66
67
|
dayPeriodNode: HTMLElement | null;
|
|
67
68
|
name: string;
|
|
68
|
-
maxValueTime: Time | undefined;
|
|
69
|
-
minValueTime: Time | undefined;
|
|
70
|
-
valueTime: Time | undefined;
|
|
71
|
-
hourCycle: HourCycle;
|
|
72
|
-
rangeRoot: TimeRangeFieldRootState<T> | undefined;
|
|
69
|
+
readonly maxValueTime: Time | undefined;
|
|
70
|
+
readonly minValueTime: Time | undefined;
|
|
71
|
+
readonly valueTime: Time | undefined;
|
|
72
|
+
readonly hourCycle: HourCycle;
|
|
73
|
+
readonly rangeRoot: TimeRangeFieldRootState<T> | undefined;
|
|
73
74
|
domContext: DOMContext;
|
|
74
|
-
constructor(props:
|
|
75
|
+
constructor(props: TimeFieldRootStateOpts<T>, rangeRoot?: TimeRangeFieldRootState<T>);
|
|
75
76
|
setName(name: string): void;
|
|
76
77
|
setFieldNode(node: HTMLElement | null): void;
|
|
77
78
|
/**
|
|
@@ -143,16 +144,18 @@ export declare class TimeFieldRootState<T extends TimeValue = Time> {
|
|
|
143
144
|
"data-segment": string;
|
|
144
145
|
};
|
|
145
146
|
}
|
|
146
|
-
|
|
147
|
+
interface TimeFieldInputStateOpts extends WithRefOpts, ReadableBoxedValues<{
|
|
147
148
|
name: string;
|
|
148
|
-
}
|
|
149
|
+
}> {
|
|
150
|
+
}
|
|
149
151
|
export declare class TimeFieldInputState {
|
|
150
152
|
#private;
|
|
151
|
-
|
|
153
|
+
static create(opts: TimeFieldInputStateOpts): TimeFieldInputState;
|
|
154
|
+
readonly opts: TimeFieldInputStateOpts;
|
|
152
155
|
readonly root: TimeFieldRootState;
|
|
153
156
|
domContext: DOMContext;
|
|
154
|
-
constructor(opts:
|
|
155
|
-
props: {
|
|
157
|
+
constructor(opts: TimeFieldInputStateOpts, root: TimeFieldRootState);
|
|
158
|
+
readonly props: {
|
|
156
159
|
readonly id: string;
|
|
157
160
|
readonly role: "group";
|
|
158
161
|
readonly "aria-labelledby": string | undefined;
|
|
@@ -162,24 +165,27 @@ export declare class TimeFieldInputState {
|
|
|
162
165
|
readonly "data-disabled": "" | undefined;
|
|
163
166
|
};
|
|
164
167
|
}
|
|
165
|
-
declare class TimeFieldHiddenInputState {
|
|
168
|
+
export declare class TimeFieldHiddenInputState {
|
|
169
|
+
static create(): TimeFieldHiddenInputState;
|
|
166
170
|
readonly root: TimeFieldRootState;
|
|
167
|
-
shouldRender: boolean;
|
|
168
|
-
isoValue: string | undefined;
|
|
171
|
+
readonly shouldRender: boolean;
|
|
172
|
+
readonly isoValue: string | undefined;
|
|
169
173
|
constructor(root: TimeFieldRootState);
|
|
170
|
-
props: {
|
|
174
|
+
readonly props: {
|
|
171
175
|
readonly name: string;
|
|
172
176
|
readonly value: string | undefined;
|
|
173
177
|
readonly required: boolean;
|
|
174
178
|
};
|
|
175
179
|
}
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
|
|
180
|
+
interface TimeFieldLabelStateOpts extends WithRefOpts {
|
|
181
|
+
}
|
|
182
|
+
export declare class TimeFieldLabelState {
|
|
183
|
+
static create(opts: TimeFieldLabelStateOpts): TimeFieldLabelState;
|
|
184
|
+
readonly opts: TimeFieldLabelStateOpts;
|
|
179
185
|
readonly root: TimeFieldRootState;
|
|
180
|
-
constructor(opts:
|
|
186
|
+
constructor(opts: TimeFieldLabelStateOpts, root: TimeFieldRootState);
|
|
181
187
|
onclick(_: BitsMouseEvent): void;
|
|
182
|
-
props: {
|
|
188
|
+
readonly props: {
|
|
183
189
|
readonly id: string;
|
|
184
190
|
readonly "data-invalid": "" | undefined;
|
|
185
191
|
readonly "data-disabled": "" | undefined;
|
|
@@ -188,12 +194,12 @@ declare class TimeFieldLabelState {
|
|
|
188
194
|
}
|
|
189
195
|
declare abstract class BaseTimeSegmentState {
|
|
190
196
|
#private;
|
|
191
|
-
readonly opts:
|
|
197
|
+
readonly opts: WithRefOpts;
|
|
192
198
|
readonly root: TimeFieldRootState;
|
|
193
199
|
readonly announcer: Announcer;
|
|
194
200
|
readonly part: string;
|
|
195
201
|
readonly config: SegmentConfig;
|
|
196
|
-
constructor(opts:
|
|
202
|
+
constructor(opts: WithRefOpts, root: TimeFieldRootState, part: string, config: SegmentConfig);
|
|
197
203
|
onkeydown(e: BitsKeyboardEvent): void;
|
|
198
204
|
onfocusout(_: BitsFocusEvent): void;
|
|
199
205
|
getSegmentProps(): {
|
|
@@ -262,23 +268,24 @@ declare abstract class BaseTimeSegmentState {
|
|
|
262
268
|
};
|
|
263
269
|
}
|
|
264
270
|
declare class TimeFieldHourSegmentState extends BaseTimeSegmentState {
|
|
265
|
-
constructor(opts:
|
|
271
|
+
constructor(opts: WithRefOpts, root: TimeFieldRootState);
|
|
266
272
|
onkeydown(e: BitsKeyboardEvent): void;
|
|
267
273
|
}
|
|
268
274
|
declare class TimeFieldMinuteSegmentState extends BaseTimeSegmentState {
|
|
269
|
-
constructor(opts:
|
|
275
|
+
constructor(opts: WithRefOpts, root: TimeFieldRootState);
|
|
270
276
|
}
|
|
271
277
|
declare class TimeFieldSecondSegmentState extends BaseTimeSegmentState {
|
|
272
|
-
constructor(opts:
|
|
278
|
+
constructor(opts: WithRefOpts, root: TimeFieldRootState);
|
|
279
|
+
}
|
|
280
|
+
interface TimeFieldDayPeriodSegmentStateOpts extends WithRefOpts {
|
|
273
281
|
}
|
|
274
|
-
type TimeFieldDayPeriodSegmentStateProps = WithRefProps;
|
|
275
282
|
declare class TimeFieldDayPeriodSegmentState {
|
|
276
283
|
#private;
|
|
277
|
-
readonly opts:
|
|
284
|
+
readonly opts: TimeFieldDayPeriodSegmentStateOpts;
|
|
278
285
|
readonly root: TimeFieldRootState;
|
|
279
|
-
constructor(opts:
|
|
286
|
+
constructor(opts: TimeFieldDayPeriodSegmentStateOpts, root: TimeFieldRootState);
|
|
280
287
|
onkeydown(e: BitsKeyboardEvent): void;
|
|
281
|
-
props: {
|
|
288
|
+
readonly props: {
|
|
282
289
|
"aria-invalid": "true" | undefined;
|
|
283
290
|
"aria-disabled": "true" | "false";
|
|
284
291
|
"aria-readonly": "true" | "false";
|
|
@@ -334,12 +341,13 @@ declare class TimeFieldDayPeriodSegmentState {
|
|
|
334
341
|
};
|
|
335
342
|
} | undefined;
|
|
336
343
|
}
|
|
337
|
-
|
|
344
|
+
interface TimeFieldLiteralSegmentStateOpts extends WithRefOpts {
|
|
345
|
+
}
|
|
338
346
|
declare class TimeFieldLiteralSegmentState {
|
|
339
|
-
readonly opts:
|
|
347
|
+
readonly opts: TimeFieldLiteralSegmentStateOpts;
|
|
340
348
|
readonly root: TimeFieldRootState;
|
|
341
|
-
constructor(opts:
|
|
342
|
-
props: {
|
|
349
|
+
constructor(opts: TimeFieldLiteralSegmentStateOpts, root: TimeFieldRootState);
|
|
350
|
+
readonly props: {
|
|
343
351
|
readonly "aria-invalid": "true" | undefined;
|
|
344
352
|
readonly "aria-disabled": "true" | "false";
|
|
345
353
|
readonly "aria-readonly": "true" | "false";
|
|
@@ -366,11 +374,11 @@ declare class TimeFieldLiteralSegmentState {
|
|
|
366
374
|
};
|
|
367
375
|
}
|
|
368
376
|
declare class TimeFieldTimeZoneSegmentState {
|
|
369
|
-
readonly opts:
|
|
377
|
+
readonly opts: TimeFieldLiteralSegmentStateOpts;
|
|
370
378
|
readonly root: TimeFieldRootState;
|
|
371
|
-
constructor(opts:
|
|
379
|
+
constructor(opts: TimeFieldLiteralSegmentStateOpts, root: TimeFieldRootState);
|
|
372
380
|
onkeydown(e: BitsKeyboardEvent): void;
|
|
373
|
-
props: {
|
|
381
|
+
readonly props: {
|
|
374
382
|
readonly "data-readonly": "" | undefined;
|
|
375
383
|
readonly "aria-invalid": "true" | undefined;
|
|
376
384
|
readonly "aria-disabled": "true" | "false";
|
|
@@ -407,9 +415,7 @@ declare class TimeFieldTimeZoneSegmentState {
|
|
|
407
415
|
readonly onkeydown: (e: BitsKeyboardEvent) => void;
|
|
408
416
|
};
|
|
409
417
|
}
|
|
410
|
-
export declare
|
|
411
|
-
|
|
412
|
-
|
|
413
|
-
export declare function useTimeFieldSegment(part: SegmentPart, props: WithRefProps): TimeFieldHourSegmentState | TimeFieldMinuteSegmentState | TimeFieldSecondSegmentState | TimeFieldDayPeriodSegmentState | TimeFieldLiteralSegmentState | TimeFieldTimeZoneSegmentState;
|
|
414
|
-
export declare function useTimeFieldLabel(props: TimeFieldLabelStateProps): TimeFieldLabelState;
|
|
418
|
+
export declare class DateFieldSegmentState {
|
|
419
|
+
static create(part: SegmentPart, opts: WithRefOpts): TimeFieldHourSegmentState | TimeFieldMinuteSegmentState | TimeFieldSecondSegmentState | TimeFieldDayPeriodSegmentState | TimeFieldLiteralSegmentState | TimeFieldTimeZoneSegmentState;
|
|
420
|
+
}
|
|
415
421
|
export {};
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { CalendarDateTime, Time, ZonedDateTime } from "@internationalized/date";
|
|
2
|
-
import { onDestroyEffect, attachRef, box, DOMContext } from "svelte-toolbelt";
|
|
2
|
+
import { onDestroyEffect, attachRef, box, DOMContext, } from "svelte-toolbelt";
|
|
3
3
|
import { onMount, untrack } from "svelte";
|
|
4
4
|
import { Context, watch } from "runed";
|
|
5
5
|
import { createBitsAttrs, getAriaDisabled, getAriaHidden, getAriaInvalid, getAriaReadonly, getDataDisabled, getDataInvalid, getDataReadonly, } from "../../internal/attrs.js";
|
|
@@ -17,6 +17,7 @@ export const timeFieldAttrs = createBitsAttrs({
|
|
|
17
17
|
component: "time-field",
|
|
18
18
|
parts: ["input", "label"],
|
|
19
19
|
});
|
|
20
|
+
const TimeFieldRootContext = new Context("TimeField.Root");
|
|
20
21
|
const SEGMENT_CONFIGS = {
|
|
21
22
|
hour: {
|
|
22
23
|
min: (root) => (root.hourCycle === 12 ? 1 : 0),
|
|
@@ -47,6 +48,9 @@ const SEGMENT_CONFIGS = {
|
|
|
47
48
|
},
|
|
48
49
|
};
|
|
49
50
|
export class TimeFieldRootState {
|
|
51
|
+
static create(opts, rangeRoot) {
|
|
52
|
+
return TimeFieldRootContext.set(new TimeFieldRootState(opts, rangeRoot));
|
|
53
|
+
}
|
|
50
54
|
value;
|
|
51
55
|
placeholder;
|
|
52
56
|
validate;
|
|
@@ -452,6 +456,9 @@ export class TimeFieldRootState {
|
|
|
452
456
|
}
|
|
453
457
|
}
|
|
454
458
|
export class TimeFieldInputState {
|
|
459
|
+
static create(opts) {
|
|
460
|
+
return new TimeFieldInputState(opts, TimeFieldRootContext.get());
|
|
461
|
+
}
|
|
455
462
|
opts;
|
|
456
463
|
root;
|
|
457
464
|
domContext;
|
|
@@ -484,7 +491,10 @@ export class TimeFieldInputState {
|
|
|
484
491
|
...attachRef(this.opts.ref, (v) => this.root.setFieldNode(v)),
|
|
485
492
|
}));
|
|
486
493
|
}
|
|
487
|
-
class TimeFieldHiddenInputState {
|
|
494
|
+
export class TimeFieldHiddenInputState {
|
|
495
|
+
static create() {
|
|
496
|
+
return new TimeFieldHiddenInputState(TimeFieldRootContext.get());
|
|
497
|
+
}
|
|
488
498
|
root;
|
|
489
499
|
shouldRender = $derived.by(() => this.root.name !== "");
|
|
490
500
|
isoValue = $derived.by(() => this.root.value.current ? getISOTimeValue(this.root.value.current) : undefined);
|
|
@@ -497,7 +507,10 @@ class TimeFieldHiddenInputState {
|
|
|
497
507
|
required: this.root.required.current,
|
|
498
508
|
}));
|
|
499
509
|
}
|
|
500
|
-
class TimeFieldLabelState {
|
|
510
|
+
export class TimeFieldLabelState {
|
|
511
|
+
static create(opts) {
|
|
512
|
+
return new TimeFieldLabelState(opts, TimeFieldRootContext.get());
|
|
513
|
+
}
|
|
501
514
|
opts;
|
|
502
515
|
root;
|
|
503
516
|
constructor(opts, root) {
|
|
@@ -924,6 +937,27 @@ class TimeFieldTimeZoneSegmentState {
|
|
|
924
937
|
...attachRef(this.opts.ref),
|
|
925
938
|
}));
|
|
926
939
|
}
|
|
940
|
+
export class DateFieldSegmentState {
|
|
941
|
+
static create(part, opts) {
|
|
942
|
+
const root = TimeFieldRootContext.get();
|
|
943
|
+
switch (part) {
|
|
944
|
+
case "hour":
|
|
945
|
+
return new TimeFieldHourSegmentState(opts, root);
|
|
946
|
+
case "minute":
|
|
947
|
+
return new TimeFieldMinuteSegmentState(opts, root);
|
|
948
|
+
case "second":
|
|
949
|
+
return new TimeFieldSecondSegmentState(opts, root);
|
|
950
|
+
case "dayPeriod":
|
|
951
|
+
return new TimeFieldDayPeriodSegmentState(opts, root);
|
|
952
|
+
case "literal":
|
|
953
|
+
return new TimeFieldLiteralSegmentState(opts, root);
|
|
954
|
+
case "timeZoneName":
|
|
955
|
+
return new TimeFieldTimeZoneSegmentState(opts, root);
|
|
956
|
+
default:
|
|
957
|
+
throw new Error(`Invalid part: ${part}`);
|
|
958
|
+
}
|
|
959
|
+
}
|
|
960
|
+
}
|
|
927
961
|
// Utils/helpers
|
|
928
962
|
function isAcceptableDayPeriodKey(key) {
|
|
929
963
|
return (isAcceptableSegmentKey(key) ||
|
|
@@ -941,42 +975,3 @@ function isArrowDown(key) {
|
|
|
941
975
|
function isBackspace(key) {
|
|
942
976
|
return key === kbd.BACKSPACE;
|
|
943
977
|
}
|
|
944
|
-
const TimeFieldRootContext = new Context("TimeField.Root");
|
|
945
|
-
export function useTimeFieldRoot(props, rangeRoot) {
|
|
946
|
-
return TimeFieldRootContext.set(new TimeFieldRootState(props, rangeRoot));
|
|
947
|
-
}
|
|
948
|
-
export function useTimeFieldInput(props) {
|
|
949
|
-
return new TimeFieldInputState(props, TimeFieldRootContext.get());
|
|
950
|
-
}
|
|
951
|
-
export function useTimeFieldHiddenInput() {
|
|
952
|
-
return new TimeFieldHiddenInputState(TimeFieldRootContext.get());
|
|
953
|
-
}
|
|
954
|
-
export function useTimeFieldSegment(part, props) {
|
|
955
|
-
return segmentPartToInstance({
|
|
956
|
-
part,
|
|
957
|
-
segmentProps: props,
|
|
958
|
-
root: TimeFieldRootContext.get(),
|
|
959
|
-
});
|
|
960
|
-
}
|
|
961
|
-
export function useTimeFieldLabel(props) {
|
|
962
|
-
return new TimeFieldLabelState(props, TimeFieldRootContext.get());
|
|
963
|
-
}
|
|
964
|
-
function segmentPartToInstance(props) {
|
|
965
|
-
switch (props.part) {
|
|
966
|
-
case "hour":
|
|
967
|
-
return new TimeFieldHourSegmentState(props.segmentProps, props.root);
|
|
968
|
-
case "minute":
|
|
969
|
-
return new TimeFieldMinuteSegmentState(props.segmentProps, props.root);
|
|
970
|
-
case "second":
|
|
971
|
-
return new TimeFieldSecondSegmentState(props.segmentProps, props.root);
|
|
972
|
-
case "dayPeriod":
|
|
973
|
-
return new TimeFieldDayPeriodSegmentState(props.segmentProps, props.root);
|
|
974
|
-
case "literal":
|
|
975
|
-
return new TimeFieldLiteralSegmentState(props.segmentProps, props.root);
|
|
976
|
-
case "timeZoneName":
|
|
977
|
-
return new TimeFieldTimeZoneSegmentState(props.segmentProps, props.root);
|
|
978
|
-
default:
|
|
979
|
-
// For any date-related parts that shouldn't appear in time field
|
|
980
|
-
throw new Error(`Invalid segment part for time field: ${props.part}`);
|
|
981
|
-
}
|
|
982
|
-
}
|