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
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
import { watch } from "runed";
|
|
3
3
|
import { box } from "svelte-toolbelt";
|
|
4
4
|
import type { DateValue } from "@internationalized/date";
|
|
5
|
-
import {
|
|
5
|
+
import { DateFieldRootState } from "../date-field.svelte.js";
|
|
6
6
|
import type { DateFieldRootProps } from "../types.js";
|
|
7
7
|
import { noop } from "../../../internal/noop.js";
|
|
8
8
|
import { getDefaultDate } from "../../../internal/date-time/utils.js";
|
|
@@ -55,7 +55,7 @@
|
|
|
55
55
|
}
|
|
56
56
|
);
|
|
57
57
|
|
|
58
|
-
|
|
58
|
+
DateFieldRootState.create({
|
|
59
59
|
value: box.with(
|
|
60
60
|
() => value,
|
|
61
61
|
(v) => {
|
|
@@ -1,14 +1,13 @@
|
|
|
1
1
|
import type { Updater } from "svelte/store";
|
|
2
2
|
import type { DateValue } from "@internationalized/date";
|
|
3
|
-
import { type WritableBox, DOMContext } from "svelte-toolbelt";
|
|
3
|
+
import { type WritableBox, DOMContext, type ReadableBoxedValues, type WritableBoxedValues } from "svelte-toolbelt";
|
|
4
4
|
import type { DateRangeFieldRootState } from "../date-range-field/date-range-field.svelte.js";
|
|
5
|
-
import type {
|
|
6
|
-
import type { BitsFocusEvent, BitsKeyboardEvent, BitsMouseEvent, WithRefProps } from "../../internal/types.js";
|
|
5
|
+
import type { BitsFocusEvent, BitsKeyboardEvent, BitsMouseEvent, WithRefOpts } from "../../internal/types.js";
|
|
7
6
|
import type { DateAndTimeSegmentObj, DateOnInvalid, DateSegmentObj, DateSegmentPart, DateValidator, Granularity, HourCycle, SegmentPart, SegmentValueObj, TimeSegmentObj, EditableTimeSegmentPart } from "../../shared/date/types.js";
|
|
8
7
|
import { type Formatter } from "../../internal/date-time/formatter.js";
|
|
9
8
|
import { type Announcer } from "../../internal/date-time/announcer.js";
|
|
10
|
-
export declare const dateFieldAttrs: import("../../internal/attrs.js").
|
|
11
|
-
|
|
9
|
+
export declare const dateFieldAttrs: import("../../internal/attrs.js").CreateBitsAttrsReturn<readonly ["input", "label", "segment"]>;
|
|
10
|
+
interface SegmentConfig {
|
|
12
11
|
min: number | ((root: DateFieldRootState) => number);
|
|
13
12
|
max: number | ((root: DateFieldRootState) => number);
|
|
14
13
|
cycle: number;
|
|
@@ -23,11 +22,11 @@ type SegmentConfig = {
|
|
|
23
22
|
value: boolean;
|
|
24
23
|
};
|
|
25
24
|
}) => string | null;
|
|
26
|
-
}
|
|
27
|
-
|
|
25
|
+
}
|
|
26
|
+
interface DateFieldRootStateOpts extends WritableBoxedValues<{
|
|
28
27
|
value: DateValue | undefined;
|
|
29
28
|
placeholder: DateValue;
|
|
30
|
-
}
|
|
29
|
+
}>, ReadableBoxedValues<{
|
|
31
30
|
readonlySegments: SegmentPart[];
|
|
32
31
|
validate: DateValidator | undefined;
|
|
33
32
|
onInvalid: DateOnInvalid | undefined;
|
|
@@ -42,31 +41,33 @@ export type DateFieldRootStateProps = WritableBoxedValues<{
|
|
|
42
41
|
required: boolean;
|
|
43
42
|
errorMessageId: string | undefined;
|
|
44
43
|
isInvalidProp: boolean | undefined;
|
|
45
|
-
}
|
|
44
|
+
}> {
|
|
45
|
+
}
|
|
46
46
|
export declare class DateFieldRootState {
|
|
47
47
|
#private;
|
|
48
|
-
|
|
48
|
+
static create(opts: DateFieldRootStateOpts, rangeRoot?: DateRangeFieldRootState): DateFieldRootState;
|
|
49
|
+
value: DateFieldRootStateOpts["value"];
|
|
49
50
|
placeholder: WritableBox<DateValue>;
|
|
50
|
-
validate:
|
|
51
|
-
minValue:
|
|
52
|
-
maxValue:
|
|
53
|
-
disabled:
|
|
54
|
-
readonly:
|
|
55
|
-
granularity:
|
|
56
|
-
readonlySegments:
|
|
57
|
-
hourCycle:
|
|
58
|
-
locale:
|
|
59
|
-
hideTimeZone:
|
|
60
|
-
required:
|
|
61
|
-
onInvalid:
|
|
62
|
-
errorMessageId:
|
|
63
|
-
isInvalidProp:
|
|
51
|
+
validate: DateFieldRootStateOpts["validate"];
|
|
52
|
+
minValue: DateFieldRootStateOpts["minValue"];
|
|
53
|
+
maxValue: DateFieldRootStateOpts["maxValue"];
|
|
54
|
+
disabled: DateFieldRootStateOpts["disabled"];
|
|
55
|
+
readonly: DateFieldRootStateOpts["readonly"];
|
|
56
|
+
granularity: DateFieldRootStateOpts["granularity"];
|
|
57
|
+
readonlySegments: DateFieldRootStateOpts["readonlySegments"];
|
|
58
|
+
hourCycle: DateFieldRootStateOpts["hourCycle"];
|
|
59
|
+
locale: DateFieldRootStateOpts["locale"];
|
|
60
|
+
hideTimeZone: DateFieldRootStateOpts["hideTimeZone"];
|
|
61
|
+
required: DateFieldRootStateOpts["required"];
|
|
62
|
+
onInvalid: DateFieldRootStateOpts["onInvalid"];
|
|
63
|
+
errorMessageId: DateFieldRootStateOpts["errorMessageId"];
|
|
64
|
+
isInvalidProp: DateFieldRootStateOpts["isInvalidProp"];
|
|
64
65
|
descriptionId: string;
|
|
65
66
|
formatter: Formatter;
|
|
66
67
|
initialSegments: SegmentValueObj;
|
|
67
68
|
segmentValues: SegmentValueObj;
|
|
68
69
|
announcer: Announcer;
|
|
69
|
-
readonlySegmentsSet: Set<SegmentPart>;
|
|
70
|
+
readonly readonlySegmentsSet: Set<SegmentPart>;
|
|
70
71
|
segmentStates: import("../../internal/date-time/field/types.js").SegmentStateMap;
|
|
71
72
|
descriptionNode: HTMLElement | null;
|
|
72
73
|
validationNode: HTMLElement | null;
|
|
@@ -75,7 +76,7 @@ export declare class DateFieldRootState {
|
|
|
75
76
|
rangeRoot: DateRangeFieldRootState | undefined;
|
|
76
77
|
name: string;
|
|
77
78
|
domContext: DOMContext;
|
|
78
|
-
constructor(props:
|
|
79
|
+
constructor(props: DateFieldRootStateOpts, rangeRoot?: DateRangeFieldRootState);
|
|
79
80
|
setName(name: string): void;
|
|
80
81
|
/**
|
|
81
82
|
* Sets the field node for the `DateFieldRootState` instance. We use this method so we can
|
|
@@ -99,7 +100,7 @@ export declare class DateFieldRootState {
|
|
|
99
100
|
getLabelNode(): HTMLElement | null;
|
|
100
101
|
setValue(value: DateValue | undefined): void;
|
|
101
102
|
syncSegmentValues(value: DateValue): void;
|
|
102
|
-
validationStatus: false | {
|
|
103
|
+
readonly validationStatus: false | {
|
|
103
104
|
readonly reason: "custom";
|
|
104
105
|
readonly message: string | string[];
|
|
105
106
|
} | {
|
|
@@ -109,21 +110,21 @@ export declare class DateFieldRootState {
|
|
|
109
110
|
readonly reason: "max";
|
|
110
111
|
readonly message?: undefined;
|
|
111
112
|
};
|
|
112
|
-
isInvalid: boolean;
|
|
113
|
-
inferredGranularity: Granularity;
|
|
114
|
-
dateRef: DateValue;
|
|
115
|
-
allSegmentContent: {
|
|
113
|
+
readonly isInvalid: boolean;
|
|
114
|
+
readonly inferredGranularity: Granularity;
|
|
115
|
+
readonly dateRef: DateValue;
|
|
116
|
+
readonly allSegmentContent: {
|
|
116
117
|
obj: import("../../internal/date-time/field/types.js").SegmentContentObj;
|
|
117
118
|
arr: {
|
|
118
119
|
part: import("../../internal/date-time/field/types.js").SegmentPart;
|
|
119
120
|
value: string;
|
|
120
121
|
}[];
|
|
121
122
|
};
|
|
122
|
-
segmentContents: {
|
|
123
|
+
readonly segmentContents: {
|
|
123
124
|
part: import("../../internal/date-time/field/types.js").SegmentPart;
|
|
124
125
|
value: string;
|
|
125
126
|
}[];
|
|
126
|
-
sharedSegmentAttrs: {
|
|
127
|
+
readonly sharedSegmentAttrs: {
|
|
127
128
|
role: string;
|
|
128
129
|
contenteditable: string;
|
|
129
130
|
tabindex: number;
|
|
@@ -160,16 +161,18 @@ export declare class DateFieldRootState {
|
|
|
160
161
|
"data-segment": string;
|
|
161
162
|
};
|
|
162
163
|
}
|
|
163
|
-
|
|
164
|
+
interface DateFieldInputStateOpts extends WithRefOpts, ReadableBoxedValues<{
|
|
164
165
|
name: string;
|
|
165
|
-
}
|
|
166
|
+
}> {
|
|
167
|
+
}
|
|
166
168
|
export declare class DateFieldInputState {
|
|
167
169
|
#private;
|
|
168
|
-
|
|
170
|
+
static create(opts: DateFieldInputStateOpts): DateFieldInputState;
|
|
171
|
+
readonly opts: DateFieldInputStateOpts;
|
|
169
172
|
readonly root: DateFieldRootState;
|
|
170
173
|
readonly domContext: DOMContext;
|
|
171
|
-
constructor(opts:
|
|
172
|
-
props: {
|
|
174
|
+
constructor(opts: DateFieldInputStateOpts, root: DateFieldRootState);
|
|
175
|
+
readonly props: {
|
|
173
176
|
readonly id: string;
|
|
174
177
|
readonly role: "group";
|
|
175
178
|
readonly "aria-labelledby": string | undefined;
|
|
@@ -179,24 +182,27 @@ export declare class DateFieldInputState {
|
|
|
179
182
|
readonly "data-disabled": "" | undefined;
|
|
180
183
|
};
|
|
181
184
|
}
|
|
182
|
-
declare class DateFieldHiddenInputState {
|
|
185
|
+
export declare class DateFieldHiddenInputState {
|
|
186
|
+
static create(): DateFieldHiddenInputState;
|
|
183
187
|
readonly root: DateFieldRootState;
|
|
184
|
-
shouldRender: boolean;
|
|
185
|
-
isoValue: string;
|
|
188
|
+
readonly shouldRender: boolean;
|
|
189
|
+
readonly isoValue: string;
|
|
186
190
|
constructor(root: DateFieldRootState);
|
|
187
|
-
props: {
|
|
191
|
+
readonly props: {
|
|
188
192
|
name: string;
|
|
189
193
|
value: string;
|
|
190
194
|
required: boolean;
|
|
191
195
|
};
|
|
192
196
|
}
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
|
|
197
|
+
interface DateFieldLabelStateOpts extends WithRefOpts {
|
|
198
|
+
}
|
|
199
|
+
export declare class DateFieldLabelState {
|
|
200
|
+
static create(opts: DateFieldLabelStateOpts): DateFieldLabelState;
|
|
201
|
+
readonly opts: DateFieldLabelStateOpts;
|
|
196
202
|
readonly root: DateFieldRootState;
|
|
197
|
-
constructor(opts:
|
|
203
|
+
constructor(opts: DateFieldLabelStateOpts, root: DateFieldRootState);
|
|
198
204
|
onclick(_: BitsMouseEvent): void;
|
|
199
|
-
props: {
|
|
205
|
+
readonly props: {
|
|
200
206
|
readonly id: string;
|
|
201
207
|
readonly "data-invalid": "" | undefined;
|
|
202
208
|
readonly "data-disabled": "" | undefined;
|
|
@@ -205,12 +211,12 @@ declare class DateFieldLabelState {
|
|
|
205
211
|
}
|
|
206
212
|
declare abstract class BaseNumericSegmentState {
|
|
207
213
|
#private;
|
|
208
|
-
readonly opts:
|
|
214
|
+
readonly opts: WithRefOpts;
|
|
209
215
|
readonly root: DateFieldRootState;
|
|
210
216
|
readonly announcer: Announcer;
|
|
211
217
|
readonly part: string;
|
|
212
218
|
readonly config: SegmentConfig;
|
|
213
|
-
constructor(opts:
|
|
219
|
+
constructor(opts: WithRefOpts, root: DateFieldRootState, part: string, config: SegmentConfig);
|
|
214
220
|
onkeydown(e: BitsKeyboardEvent): void;
|
|
215
221
|
onfocusout(_: BitsFocusEvent): void;
|
|
216
222
|
getSegmentProps(): {
|
|
@@ -280,34 +286,36 @@ declare abstract class BaseNumericSegmentState {
|
|
|
280
286
|
}
|
|
281
287
|
declare class DateFieldYearSegmentState extends BaseNumericSegmentState {
|
|
282
288
|
#private;
|
|
283
|
-
constructor(opts:
|
|
289
|
+
constructor(opts: WithRefOpts, root: DateFieldRootState);
|
|
284
290
|
onkeydown(e: BitsKeyboardEvent): void;
|
|
285
291
|
onfocusout(_: BitsFocusEvent): void;
|
|
286
292
|
}
|
|
287
293
|
declare class DateFieldDaySegmentState extends BaseNumericSegmentState {
|
|
288
|
-
constructor(opts:
|
|
294
|
+
constructor(opts: WithRefOpts, root: DateFieldRootState);
|
|
289
295
|
}
|
|
290
296
|
declare class DateFieldMonthSegmentState extends BaseNumericSegmentState {
|
|
291
|
-
constructor(opts:
|
|
297
|
+
constructor(opts: WithRefOpts, root: DateFieldRootState);
|
|
292
298
|
}
|
|
293
299
|
declare class DateFieldHourSegmentState extends BaseNumericSegmentState {
|
|
294
|
-
constructor(opts:
|
|
300
|
+
constructor(opts: WithRefOpts, root: DateFieldRootState);
|
|
295
301
|
onkeydown(e: BitsKeyboardEvent): void;
|
|
296
302
|
}
|
|
297
303
|
declare class DateFieldMinuteSegmentState extends BaseNumericSegmentState {
|
|
298
|
-
constructor(opts:
|
|
304
|
+
constructor(opts: WithRefOpts, root: DateFieldRootState);
|
|
299
305
|
}
|
|
300
306
|
declare class DateFieldSecondSegmentState extends BaseNumericSegmentState {
|
|
301
|
-
constructor(opts:
|
|
307
|
+
constructor(opts: WithRefOpts, root: DateFieldRootState);
|
|
302
308
|
}
|
|
303
|
-
|
|
304
|
-
|
|
309
|
+
interface DateFieldDayPeriodSegmentStateOpts extends WithRefOpts {
|
|
310
|
+
}
|
|
311
|
+
export declare class DateFieldDayPeriodSegmentState {
|
|
305
312
|
#private;
|
|
306
|
-
|
|
313
|
+
static create(opts: DateFieldDayPeriodSegmentStateOpts): DateFieldDayPeriodSegmentState;
|
|
314
|
+
readonly opts: DateFieldDayPeriodSegmentStateOpts;
|
|
307
315
|
readonly root: DateFieldRootState;
|
|
308
|
-
constructor(opts:
|
|
316
|
+
constructor(opts: DateFieldDayPeriodSegmentStateOpts, root: DateFieldRootState);
|
|
309
317
|
onkeydown(e: BitsKeyboardEvent): void;
|
|
310
|
-
props: {
|
|
318
|
+
readonly props: {
|
|
311
319
|
"aria-invalid": "true" | undefined;
|
|
312
320
|
"aria-disabled": "true" | "false";
|
|
313
321
|
"aria-readonly": "true" | "false";
|
|
@@ -363,12 +371,14 @@ declare class DateFieldDayPeriodSegmentState {
|
|
|
363
371
|
};
|
|
364
372
|
} | undefined;
|
|
365
373
|
}
|
|
366
|
-
|
|
367
|
-
|
|
368
|
-
|
|
374
|
+
interface DateFieldLiteralSegmentStateOpts extends WithRefOpts {
|
|
375
|
+
}
|
|
376
|
+
export declare class DateFieldLiteralSegmentState {
|
|
377
|
+
static create(opts: DateFieldLiteralSegmentStateOpts): DateFieldLiteralSegmentState;
|
|
378
|
+
readonly opts: DateFieldLiteralSegmentStateOpts;
|
|
369
379
|
readonly root: DateFieldRootState;
|
|
370
|
-
constructor(opts:
|
|
371
|
-
props: {
|
|
380
|
+
constructor(opts: DateFieldLiteralSegmentStateOpts, root: DateFieldRootState);
|
|
381
|
+
readonly props: {
|
|
372
382
|
readonly "aria-invalid": "true" | undefined;
|
|
373
383
|
readonly "aria-disabled": "true" | "false";
|
|
374
384
|
readonly "aria-readonly": "true" | "false";
|
|
@@ -394,12 +404,15 @@ declare class DateFieldDayLiteralSegmentState {
|
|
|
394
404
|
readonly "aria-hidden": "true" | undefined;
|
|
395
405
|
};
|
|
396
406
|
}
|
|
397
|
-
|
|
398
|
-
|
|
407
|
+
interface DateFieldTimeZoneSegmentStateOpts extends WithRefOpts {
|
|
408
|
+
}
|
|
409
|
+
export declare class DateFieldTimeZoneSegmentState {
|
|
410
|
+
static create(opts: DateFieldTimeZoneSegmentStateOpts): DateFieldTimeZoneSegmentState;
|
|
411
|
+
readonly opts: DateFieldTimeZoneSegmentStateOpts;
|
|
399
412
|
readonly root: DateFieldRootState;
|
|
400
|
-
constructor(opts:
|
|
413
|
+
constructor(opts: DateFieldTimeZoneSegmentStateOpts, root: DateFieldRootState);
|
|
401
414
|
onkeydown(e: BitsKeyboardEvent): void;
|
|
402
|
-
props: {
|
|
415
|
+
readonly props: {
|
|
403
416
|
readonly "data-readonly": "" | undefined;
|
|
404
417
|
readonly "aria-invalid": "true" | undefined;
|
|
405
418
|
readonly "aria-disabled": "true" | "false";
|
|
@@ -435,9 +448,7 @@ declare class DateFieldTimeZoneSegmentState {
|
|
|
435
448
|
readonly onkeydown: (e: BitsKeyboardEvent) => void;
|
|
436
449
|
};
|
|
437
450
|
}
|
|
438
|
-
export declare
|
|
439
|
-
|
|
440
|
-
|
|
441
|
-
export declare function useDateFieldSegment(part: SegmentPart, props: WithRefProps): DateFieldYearSegmentState | DateFieldDaySegmentState | DateFieldMonthSegmentState | DateFieldHourSegmentState | DateFieldMinuteSegmentState | DateFieldSecondSegmentState | DateFieldDayPeriodSegmentState | DateFieldDayLiteralSegmentState | DateFieldTimeZoneSegmentState;
|
|
442
|
-
export declare function useDateFieldLabel(props: DateFieldLabelStateProps): DateFieldLabelState;
|
|
451
|
+
export declare class DateFieldSegmentState {
|
|
452
|
+
static create(part: SegmentPart, opts: WithRefOpts): DateFieldYearSegmentState | DateFieldDaySegmentState | DateFieldMonthSegmentState | DateFieldHourSegmentState | DateFieldMinuteSegmentState | DateFieldSecondSegmentState | DateFieldDayPeriodSegmentState | DateFieldLiteralSegmentState | DateFieldTimeZoneSegmentState;
|
|
453
|
+
}
|
|
443
454
|
export {};
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { box, onDestroyEffect, attachRef, DOMContext } from "svelte-toolbelt";
|
|
1
|
+
import { box, onDestroyEffect, attachRef, DOMContext, } from "svelte-toolbelt";
|
|
2
2
|
import { onMount, untrack } from "svelte";
|
|
3
3
|
import { Context, watch } from "runed";
|
|
4
4
|
import { createBitsAttrs, getAriaDisabled, getAriaHidden, getAriaInvalid, getAriaReadonly, getDataDisabled, getDataInvalid, getDataReadonly, } from "../../internal/attrs.js";
|
|
@@ -69,7 +69,11 @@ const SEGMENT_CONFIGS = {
|
|
|
69
69
|
padZero: true,
|
|
70
70
|
},
|
|
71
71
|
};
|
|
72
|
+
const DateFieldRootContext = new Context("DateField.Root");
|
|
72
73
|
export class DateFieldRootState {
|
|
74
|
+
static create(opts, rangeRoot) {
|
|
75
|
+
return DateFieldRootContext.set(new DateFieldRootState(opts, rangeRoot));
|
|
76
|
+
}
|
|
73
77
|
value;
|
|
74
78
|
placeholder;
|
|
75
79
|
validate;
|
|
@@ -564,6 +568,9 @@ export class DateFieldRootState {
|
|
|
564
568
|
}
|
|
565
569
|
}
|
|
566
570
|
export class DateFieldInputState {
|
|
571
|
+
static create(opts) {
|
|
572
|
+
return new DateFieldInputState(opts, DateFieldRootContext.get());
|
|
573
|
+
}
|
|
567
574
|
opts;
|
|
568
575
|
root;
|
|
569
576
|
domContext;
|
|
@@ -572,8 +579,8 @@ export class DateFieldInputState {
|
|
|
572
579
|
this.root = root;
|
|
573
580
|
this.domContext = new DOMContext(opts.ref);
|
|
574
581
|
this.root.domContext = this.domContext;
|
|
575
|
-
|
|
576
|
-
this.root.setName(
|
|
582
|
+
watch(() => this.opts.name.current, (v) => {
|
|
583
|
+
this.root.setName(v);
|
|
577
584
|
});
|
|
578
585
|
}
|
|
579
586
|
#ariaDescribedBy = $derived.by(() => {
|
|
@@ -596,7 +603,10 @@ export class DateFieldInputState {
|
|
|
596
603
|
...attachRef(this.opts.ref, (v) => this.root.setFieldNode(v)),
|
|
597
604
|
}));
|
|
598
605
|
}
|
|
599
|
-
class DateFieldHiddenInputState {
|
|
606
|
+
export class DateFieldHiddenInputState {
|
|
607
|
+
static create() {
|
|
608
|
+
return new DateFieldHiddenInputState(DateFieldRootContext.get());
|
|
609
|
+
}
|
|
600
610
|
root;
|
|
601
611
|
shouldRender = $derived.by(() => this.root.name !== "");
|
|
602
612
|
isoValue = $derived.by(() => this.root.value.current ? this.root.value.current.toString() : "");
|
|
@@ -611,7 +621,10 @@ class DateFieldHiddenInputState {
|
|
|
611
621
|
};
|
|
612
622
|
});
|
|
613
623
|
}
|
|
614
|
-
class DateFieldLabelState {
|
|
624
|
+
export class DateFieldLabelState {
|
|
625
|
+
static create(opts) {
|
|
626
|
+
return new DateFieldLabelState(opts, DateFieldRootContext.get());
|
|
627
|
+
}
|
|
615
628
|
opts;
|
|
616
629
|
root;
|
|
617
630
|
constructor(opts, root) {
|
|
@@ -899,7 +912,6 @@ class BaseNumericSegmentState {
|
|
|
899
912
|
};
|
|
900
913
|
});
|
|
901
914
|
}
|
|
902
|
-
// Year segment needs special handling
|
|
903
915
|
class DateFieldYearSegmentState extends BaseNumericSegmentState {
|
|
904
916
|
#pressedKeys = [];
|
|
905
917
|
#backspaceCount = 0;
|
|
@@ -1018,7 +1030,6 @@ class DateFieldYearSegmentState extends BaseNumericSegmentState {
|
|
|
1018
1030
|
});
|
|
1019
1031
|
}
|
|
1020
1032
|
}
|
|
1021
|
-
// Create segment states using the base class
|
|
1022
1033
|
class DateFieldDaySegmentState extends BaseNumericSegmentState {
|
|
1023
1034
|
constructor(opts, root) {
|
|
1024
1035
|
super(opts, root, "day", SEGMENT_CONFIGS.day);
|
|
@@ -1068,7 +1079,10 @@ class DateFieldSecondSegmentState extends BaseNumericSegmentState {
|
|
|
1068
1079
|
super(opts, root, "second", SEGMENT_CONFIGS.second);
|
|
1069
1080
|
}
|
|
1070
1081
|
}
|
|
1071
|
-
class DateFieldDayPeriodSegmentState {
|
|
1082
|
+
export class DateFieldDayPeriodSegmentState {
|
|
1083
|
+
static create(opts) {
|
|
1084
|
+
return new DateFieldDayPeriodSegmentState(opts, DateFieldRootContext.get());
|
|
1085
|
+
}
|
|
1072
1086
|
opts;
|
|
1073
1087
|
root;
|
|
1074
1088
|
#announcer;
|
|
@@ -1141,7 +1155,10 @@ class DateFieldDayPeriodSegmentState {
|
|
|
1141
1155
|
};
|
|
1142
1156
|
});
|
|
1143
1157
|
}
|
|
1144
|
-
class
|
|
1158
|
+
export class DateFieldLiteralSegmentState {
|
|
1159
|
+
static create(opts) {
|
|
1160
|
+
return new DateFieldLiteralSegmentState(opts, DateFieldRootContext.get());
|
|
1161
|
+
}
|
|
1145
1162
|
opts;
|
|
1146
1163
|
root;
|
|
1147
1164
|
constructor(opts, root) {
|
|
@@ -1155,7 +1172,10 @@ class DateFieldDayLiteralSegmentState {
|
|
|
1155
1172
|
...attachRef(this.opts.ref),
|
|
1156
1173
|
}));
|
|
1157
1174
|
}
|
|
1158
|
-
class DateFieldTimeZoneSegmentState {
|
|
1175
|
+
export class DateFieldTimeZoneSegmentState {
|
|
1176
|
+
static create(opts) {
|
|
1177
|
+
return new DateFieldTimeZoneSegmentState(opts, DateFieldRootContext.get());
|
|
1178
|
+
}
|
|
1159
1179
|
opts;
|
|
1160
1180
|
root;
|
|
1161
1181
|
constructor(opts, root) {
|
|
@@ -1185,7 +1205,31 @@ class DateFieldTimeZoneSegmentState {
|
|
|
1185
1205
|
...attachRef(this.opts.ref),
|
|
1186
1206
|
}));
|
|
1187
1207
|
}
|
|
1188
|
-
|
|
1208
|
+
export class DateFieldSegmentState {
|
|
1209
|
+
static create(part, opts) {
|
|
1210
|
+
const root = DateFieldRootContext.get();
|
|
1211
|
+
switch (part) {
|
|
1212
|
+
case "day":
|
|
1213
|
+
return new DateFieldDaySegmentState(opts, root);
|
|
1214
|
+
case "month":
|
|
1215
|
+
return new DateFieldMonthSegmentState(opts, root);
|
|
1216
|
+
case "year":
|
|
1217
|
+
return new DateFieldYearSegmentState(opts, root);
|
|
1218
|
+
case "hour":
|
|
1219
|
+
return new DateFieldHourSegmentState(opts, root);
|
|
1220
|
+
case "minute":
|
|
1221
|
+
return new DateFieldMinuteSegmentState(opts, root);
|
|
1222
|
+
case "second":
|
|
1223
|
+
return new DateFieldSecondSegmentState(opts, root);
|
|
1224
|
+
case "dayPeriod":
|
|
1225
|
+
return new DateFieldDayPeriodSegmentState(opts, root);
|
|
1226
|
+
case "literal":
|
|
1227
|
+
return new DateFieldLiteralSegmentState(opts, root);
|
|
1228
|
+
case "timeZoneName":
|
|
1229
|
+
return new DateFieldTimeZoneSegmentState(opts, root);
|
|
1230
|
+
}
|
|
1231
|
+
}
|
|
1232
|
+
}
|
|
1189
1233
|
function isAcceptableDayPeriodKey(key) {
|
|
1190
1234
|
return (isAcceptableSegmentKey(key) ||
|
|
1191
1235
|
key === kbd.A ||
|
|
@@ -1202,48 +1246,6 @@ function isArrowDown(key) {
|
|
|
1202
1246
|
function isBackspace(key) {
|
|
1203
1247
|
return key === kbd.BACKSPACE;
|
|
1204
1248
|
}
|
|
1205
|
-
const DateFieldRootContext = new Context("DateField.Root");
|
|
1206
|
-
export function useDateFieldRoot(props, rangeRoot) {
|
|
1207
|
-
return DateFieldRootContext.set(new DateFieldRootState(props, rangeRoot));
|
|
1208
|
-
}
|
|
1209
|
-
export function useDateFieldInput(props) {
|
|
1210
|
-
return new DateFieldInputState(props, DateFieldRootContext.get());
|
|
1211
|
-
}
|
|
1212
|
-
export function useDateFieldHiddenInput() {
|
|
1213
|
-
return new DateFieldHiddenInputState(DateFieldRootContext.get());
|
|
1214
|
-
}
|
|
1215
|
-
export function useDateFieldSegment(part, props) {
|
|
1216
|
-
return segmentPartToInstance({
|
|
1217
|
-
part,
|
|
1218
|
-
segmentProps: props,
|
|
1219
|
-
root: DateFieldRootContext.get(),
|
|
1220
|
-
});
|
|
1221
|
-
}
|
|
1222
|
-
export function useDateFieldLabel(props) {
|
|
1223
|
-
return new DateFieldLabelState(props, DateFieldRootContext.get());
|
|
1224
|
-
}
|
|
1225
|
-
function segmentPartToInstance(props) {
|
|
1226
|
-
switch (props.part) {
|
|
1227
|
-
case "day":
|
|
1228
|
-
return new DateFieldDaySegmentState(props.segmentProps, props.root);
|
|
1229
|
-
case "month":
|
|
1230
|
-
return new DateFieldMonthSegmentState(props.segmentProps, props.root);
|
|
1231
|
-
case "year":
|
|
1232
|
-
return new DateFieldYearSegmentState(props.segmentProps, props.root);
|
|
1233
|
-
case "hour":
|
|
1234
|
-
return new DateFieldHourSegmentState(props.segmentProps, props.root);
|
|
1235
|
-
case "minute":
|
|
1236
|
-
return new DateFieldMinuteSegmentState(props.segmentProps, props.root);
|
|
1237
|
-
case "second":
|
|
1238
|
-
return new DateFieldSecondSegmentState(props.segmentProps, props.root);
|
|
1239
|
-
case "dayPeriod":
|
|
1240
|
-
return new DateFieldDayPeriodSegmentState(props.segmentProps, props.root);
|
|
1241
|
-
case "literal":
|
|
1242
|
-
return new DateFieldDayLiteralSegmentState(props.segmentProps, props.root);
|
|
1243
|
-
case "timeZoneName":
|
|
1244
|
-
return new DateFieldTimeZoneSegmentState(props.segmentProps, props.root);
|
|
1245
|
-
}
|
|
1246
|
-
}
|
|
1247
1249
|
function prependYearZeros(year) {
|
|
1248
1250
|
const digits = String(year).length;
|
|
1249
1251
|
const diff = 4 - digits;
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
import { box, mergeProps } from "svelte-toolbelt";
|
|
3
3
|
import type { DatePickerCalendarProps } from "../types.js";
|
|
4
4
|
import { DatePickerRootContext } from "../date-picker.svelte.js";
|
|
5
|
-
import {
|
|
5
|
+
import { CalendarRootState } from "../../calendar/calendar.svelte.js";
|
|
6
6
|
import { createId } from "../../../internal/create-id.js";
|
|
7
7
|
|
|
8
8
|
const uid = $props.id();
|
|
@@ -17,7 +17,7 @@
|
|
|
17
17
|
|
|
18
18
|
const datePickerRootState = DatePickerRootContext.get();
|
|
19
19
|
|
|
20
|
-
const calendarState =
|
|
20
|
+
const calendarState = CalendarRootState.create({
|
|
21
21
|
id: box.with(() => id),
|
|
22
22
|
ref: box.with(
|
|
23
23
|
() => ref,
|
|
@@ -3,11 +3,11 @@
|
|
|
3
3
|
import { watch } from "runed";
|
|
4
4
|
import { box } from "svelte-toolbelt";
|
|
5
5
|
import type { DateValue } from "@internationalized/date";
|
|
6
|
-
import {
|
|
6
|
+
import { DatePickerRootState } from "../date-picker.svelte.js";
|
|
7
7
|
import type { DatePickerRootProps } from "../types.js";
|
|
8
8
|
import { noop } from "../../../internal/noop.js";
|
|
9
|
-
import {
|
|
10
|
-
import {
|
|
9
|
+
import { PopoverRootState } from "../../popover/popover.svelte.js";
|
|
10
|
+
import { DateFieldRootState } from "../../date-field/date-field.svelte.js";
|
|
11
11
|
import { FloatingLayer } from "../../utilities/floating-layer/index.js";
|
|
12
12
|
import { getDefaultDate } from "../../../internal/date-time/utils.js";
|
|
13
13
|
import { resolveLocaleProp } from "../../utilities/config/prop-resolvers.js";
|
|
@@ -15,6 +15,7 @@
|
|
|
15
15
|
let {
|
|
16
16
|
open = $bindable(false),
|
|
17
17
|
onOpenChange = noop,
|
|
18
|
+
onOpenChangeComplete = noop,
|
|
18
19
|
value = $bindable(),
|
|
19
20
|
onValueChange = noop,
|
|
20
21
|
placeholder = $bindable(),
|
|
@@ -80,7 +81,7 @@
|
|
|
80
81
|
}
|
|
81
82
|
}
|
|
82
83
|
|
|
83
|
-
const pickerRootState =
|
|
84
|
+
const pickerRootState = DatePickerRootState.create({
|
|
84
85
|
open: box.with(
|
|
85
86
|
() => open,
|
|
86
87
|
(v) => {
|
|
@@ -129,11 +130,12 @@
|
|
|
129
130
|
yearFormat: box.with(() => yearFormat),
|
|
130
131
|
});
|
|
131
132
|
|
|
132
|
-
|
|
133
|
+
PopoverRootState.create({
|
|
133
134
|
open: pickerRootState.opts.open,
|
|
135
|
+
onOpenChangeComplete: box.with(() => onOpenChangeComplete),
|
|
134
136
|
});
|
|
135
137
|
|
|
136
|
-
|
|
138
|
+
DateFieldRootState.create({
|
|
137
139
|
value: pickerRootState.opts.value,
|
|
138
140
|
disabled: pickerRootState.opts.disabled,
|
|
139
141
|
readonly: pickerRootState.opts.readonly,
|
|
@@ -1,13 +1,14 @@
|
|
|
1
1
|
import type { DateValue } from "@internationalized/date";
|
|
2
2
|
import { Context } from "runed";
|
|
3
|
-
import type
|
|
3
|
+
import { type ReadableBoxedValues, type WritableBoxedValues } from "svelte-toolbelt";
|
|
4
4
|
import type { DateMatcher, SegmentPart } from "../../shared/index.js";
|
|
5
5
|
import type { Granularity, HourCycle, WeekStartsOn } from "../../shared/date/types.js";
|
|
6
|
-
|
|
6
|
+
export declare const DatePickerRootContext: Context<DatePickerRootState>;
|
|
7
|
+
interface DatePickerRootStateOpts extends WritableBoxedValues<{
|
|
7
8
|
value: DateValue | undefined;
|
|
8
9
|
open: boolean;
|
|
9
10
|
placeholder: DateValue;
|
|
10
|
-
}
|
|
11
|
+
}>, ReadableBoxedValues<{
|
|
11
12
|
readonlySegments: SegmentPart[];
|
|
12
13
|
isDateUnavailable: DateMatcher;
|
|
13
14
|
isDateDisabled: DateMatcher;
|
|
@@ -32,13 +33,12 @@ type DatePickerRootStateProps = WritableBoxedValues<{
|
|
|
32
33
|
onDateSelect?: () => void;
|
|
33
34
|
monthFormat: Intl.DateTimeFormatOptions["month"] | ((month: number) => string);
|
|
34
35
|
yearFormat: Intl.DateTimeFormatOptions["year"] | ((year: number) => string);
|
|
35
|
-
}>
|
|
36
|
+
}> {
|
|
36
37
|
defaultPlaceholder: DateValue;
|
|
37
|
-
};
|
|
38
|
-
declare class DatePickerRootState {
|
|
39
|
-
readonly opts: DatePickerRootStateProps;
|
|
40
|
-
constructor(opts: DatePickerRootStateProps);
|
|
41
38
|
}
|
|
42
|
-
export declare
|
|
43
|
-
|
|
39
|
+
export declare class DatePickerRootState {
|
|
40
|
+
static create(opts: DatePickerRootStateOpts): DatePickerRootState;
|
|
41
|
+
readonly opts: DatePickerRootStateOpts;
|
|
42
|
+
constructor(opts: DatePickerRootStateOpts);
|
|
43
|
+
}
|
|
44
44
|
export {};
|
|
@@ -1,11 +1,12 @@
|
|
|
1
1
|
import { Context } from "runed";
|
|
2
|
-
|
|
2
|
+
import {} from "svelte-toolbelt";
|
|
3
|
+
export const DatePickerRootContext = new Context("DatePicker.Root");
|
|
4
|
+
export class DatePickerRootState {
|
|
5
|
+
static create(opts) {
|
|
6
|
+
return DatePickerRootContext.set(new DatePickerRootState(opts));
|
|
7
|
+
}
|
|
3
8
|
opts;
|
|
4
9
|
constructor(opts) {
|
|
5
10
|
this.opts = opts;
|
|
6
11
|
}
|
|
7
12
|
}
|
|
8
|
-
export const DatePickerRootContext = new Context("DatePicker.Root");
|
|
9
|
-
export function useDatePickerRoot(props) {
|
|
10
|
-
return DatePickerRootContext.set(new DatePickerRootState(props));
|
|
11
|
-
}
|
|
@@ -36,6 +36,10 @@ export type DatePickerRootPropsWithoutHTML = WithChildren<{
|
|
|
36
36
|
* A callback function called when the open state changes.
|
|
37
37
|
*/
|
|
38
38
|
onOpenChange?: OnChangeFn<boolean>;
|
|
39
|
+
/**
|
|
40
|
+
* A callback function called when the open state changes complete.
|
|
41
|
+
*/
|
|
42
|
+
onOpenChangeComplete?: OnChangeFn<boolean>;
|
|
39
43
|
/**
|
|
40
44
|
* A function that returns true if the given date is unavailable,
|
|
41
45
|
* where if selected, the date field will be marked as invalid.
|