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,13 +1,12 @@
|
|
|
1
|
-
import { DOMContext } from "svelte-toolbelt";
|
|
1
|
+
import { DOMContext, type ReadableBoxedValues, type WritableBoxedValues } from "svelte-toolbelt";
|
|
2
2
|
import type { PinInputCell, PinInputRootProps as RootComponentProps } from "./types.js";
|
|
3
|
-
import type {
|
|
4
|
-
import type { BitsEvent, BitsFocusEvent, BitsKeyboardEvent, BitsMouseEvent, WithRefProps } from "../../internal/types.js";
|
|
3
|
+
import type { BitsEvent, BitsFocusEvent, BitsKeyboardEvent, BitsMouseEvent, WithRefOpts } from "../../internal/types.js";
|
|
5
4
|
export declare const REGEXP_ONLY_DIGITS = "^\\d+$";
|
|
6
5
|
export declare const REGEXP_ONLY_CHARS = "^[a-zA-Z]+$";
|
|
7
6
|
export declare const REGEXP_ONLY_DIGITS_AND_CHARS = "^[a-zA-Z0-9]+$";
|
|
8
|
-
|
|
7
|
+
interface PinInputRootStateOpts extends WithRefOpts, WritableBoxedValues<{
|
|
9
8
|
value: string;
|
|
10
|
-
}
|
|
9
|
+
}>, ReadableBoxedValues<{
|
|
11
10
|
inputId: string;
|
|
12
11
|
disabled: boolean;
|
|
13
12
|
onComplete: (...args: any[]) => void;
|
|
@@ -18,14 +17,16 @@ type PinInputRootStateProps = WithRefProps<WritableBoxedValues<{
|
|
|
18
17
|
textAlign: RootComponentProps["textalign"];
|
|
19
18
|
autocomplete: RootComponentProps["autocomplete"];
|
|
20
19
|
inputmode: RootComponentProps["inputmode"];
|
|
21
|
-
}
|
|
22
|
-
|
|
20
|
+
}> {
|
|
21
|
+
}
|
|
22
|
+
export declare class PinInputRootState {
|
|
23
23
|
#private;
|
|
24
|
-
|
|
24
|
+
static create(opts: PinInputRootStateOpts): PinInputRootState;
|
|
25
|
+
readonly opts: PinInputRootStateOpts;
|
|
25
26
|
domContext: DOMContext;
|
|
26
|
-
constructor(opts:
|
|
27
|
+
constructor(opts: PinInputRootStateOpts);
|
|
27
28
|
onkeydown: (e: BitsKeyboardEvent) => void;
|
|
28
|
-
rootProps: {
|
|
29
|
+
readonly rootProps: {
|
|
29
30
|
readonly id: string;
|
|
30
31
|
readonly style: {
|
|
31
32
|
position: string;
|
|
@@ -35,7 +36,7 @@ declare class PinInputRootState {
|
|
|
35
36
|
pointerEvents: string;
|
|
36
37
|
};
|
|
37
38
|
};
|
|
38
|
-
inputWrapperProps: {
|
|
39
|
+
readonly inputWrapperProps: {
|
|
39
40
|
readonly style: {
|
|
40
41
|
readonly position: "absolute";
|
|
41
42
|
readonly inset: 0;
|
|
@@ -48,7 +49,7 @@ declare class PinInputRootState {
|
|
|
48
49
|
onmouseover: (_: BitsMouseEvent) => void;
|
|
49
50
|
onmouseleave: (_: BitsMouseEvent) => void;
|
|
50
51
|
onblur: (_: BitsFocusEvent) => void;
|
|
51
|
-
inputProps: {
|
|
52
|
+
readonly inputProps: {
|
|
52
53
|
id: string;
|
|
53
54
|
style: {
|
|
54
55
|
position: string;
|
|
@@ -89,7 +90,7 @@ declare class PinInputRootState {
|
|
|
89
90
|
onfocus: (_: BitsFocusEvent<HTMLInputElement>) => void;
|
|
90
91
|
onblur: (_: BitsFocusEvent) => void;
|
|
91
92
|
};
|
|
92
|
-
snippetProps: {
|
|
93
|
+
readonly snippetProps: {
|
|
93
94
|
cells: {
|
|
94
95
|
char: string | null;
|
|
95
96
|
isActive: boolean;
|
|
@@ -99,19 +100,19 @@ declare class PinInputRootState {
|
|
|
99
100
|
isHovering: boolean;
|
|
100
101
|
};
|
|
101
102
|
}
|
|
102
|
-
|
|
103
|
+
interface PinInputCellStateOpts extends WithRefOpts, ReadableBoxedValues<{
|
|
103
104
|
cell: PinInputCell;
|
|
104
|
-
}
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
105
|
+
}> {
|
|
106
|
+
}
|
|
107
|
+
export declare class PinInputCellState {
|
|
108
|
+
static create(opts: PinInputCellStateOpts): PinInputCellState;
|
|
109
|
+
readonly opts: PinInputCellStateOpts;
|
|
110
|
+
constructor(opts: PinInputCellStateOpts);
|
|
111
|
+
readonly props: {
|
|
109
112
|
readonly id: string;
|
|
110
113
|
readonly "data-active": "" | undefined;
|
|
111
114
|
readonly "data-inactive": "" | undefined;
|
|
112
115
|
};
|
|
113
116
|
}
|
|
114
117
|
export declare function syncTimeouts(cb: (...args: any[]) => unknown, domContext: DOMContext): number[];
|
|
115
|
-
export declare function usePinInput(props: PinInputRootStateProps): PinInputRootState;
|
|
116
|
-
export declare function usePinInputCell(props: PinInputCellStateProps): PinInputCellState;
|
|
117
118
|
export {};
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { Previous, watch } from "runed";
|
|
2
2
|
import { onMount } from "svelte";
|
|
3
|
-
import { box, attachRef, DOMContext } from "svelte-toolbelt";
|
|
3
|
+
import { box, attachRef, DOMContext, } from "svelte-toolbelt";
|
|
4
4
|
import { usePasswordManagerBadge } from "./usePasswordManager.svelte.js";
|
|
5
5
|
import { createBitsAttrs, getDisabled } from "../../internal/attrs.js";
|
|
6
6
|
import { on } from "svelte/events";
|
|
@@ -27,7 +27,10 @@ const KEYS_TO_IGNORE = [
|
|
|
27
27
|
"Control",
|
|
28
28
|
"Meta",
|
|
29
29
|
];
|
|
30
|
-
class PinInputRootState {
|
|
30
|
+
export class PinInputRootState {
|
|
31
|
+
static create(opts) {
|
|
32
|
+
return new PinInputRootState(opts);
|
|
33
|
+
}
|
|
31
34
|
opts;
|
|
32
35
|
#inputRef = box(null);
|
|
33
36
|
#isHoveringInput = $state(false);
|
|
@@ -389,7 +392,10 @@ class PinInputRootState {
|
|
|
389
392
|
isHovering: this.#isHoveringInput,
|
|
390
393
|
}));
|
|
391
394
|
}
|
|
392
|
-
class PinInputCellState {
|
|
395
|
+
export class PinInputCellState {
|
|
396
|
+
static create(opts) {
|
|
397
|
+
return new PinInputCellState(opts);
|
|
398
|
+
}
|
|
393
399
|
opts;
|
|
394
400
|
constructor(opts) {
|
|
395
401
|
this.opts = opts;
|
|
@@ -417,9 +423,3 @@ function safeInsertRule(sheet, rule) {
|
|
|
417
423
|
console.error("pin input could not insert CSS rule:", rule);
|
|
418
424
|
}
|
|
419
425
|
}
|
|
420
|
-
export function usePinInput(props) {
|
|
421
|
-
return new PinInputRootState(props);
|
|
422
|
-
}
|
|
423
|
-
export function usePinInputCell(props) {
|
|
424
|
-
return new PinInputCellState(props);
|
|
425
|
-
}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
<script lang="ts">
|
|
2
2
|
import { box, mergeProps } from "svelte-toolbelt";
|
|
3
3
|
import type { PopoverCloseProps } from "../types.js";
|
|
4
|
-
import {
|
|
4
|
+
import { PopoverCloseState } from "../popover.svelte.js";
|
|
5
5
|
import { createId } from "../../../internal/create-id.js";
|
|
6
6
|
|
|
7
7
|
const uid = $props.id();
|
|
@@ -14,7 +14,7 @@
|
|
|
14
14
|
...restProps
|
|
15
15
|
}: PopoverCloseProps = $props();
|
|
16
16
|
|
|
17
|
-
const closeState =
|
|
17
|
+
const closeState = PopoverCloseState.create({
|
|
18
18
|
id: box.with(() => id),
|
|
19
19
|
ref: box.with(
|
|
20
20
|
() => ref,
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
<script lang="ts">
|
|
2
2
|
import { box, mergeProps } from "svelte-toolbelt";
|
|
3
3
|
import type { PopoverContentStaticProps } from "../types.js";
|
|
4
|
-
import {
|
|
4
|
+
import { PopoverContentState } from "../popover.svelte.js";
|
|
5
5
|
import PopperLayer from "../../utilities/popper-layer/popper-layer.svelte";
|
|
6
6
|
import { noop } from "../../../internal/noop.js";
|
|
7
7
|
import { createId } from "../../../internal/create-id.js";
|
|
@@ -24,7 +24,7 @@
|
|
|
24
24
|
...restProps
|
|
25
25
|
}: PopoverContentStaticProps = $props();
|
|
26
26
|
|
|
27
|
-
const contentState =
|
|
27
|
+
const contentState = PopoverContentState.create({
|
|
28
28
|
id: box.with(() => id),
|
|
29
29
|
ref: box.with(
|
|
30
30
|
() => ref,
|
|
@@ -70,7 +70,7 @@
|
|
|
70
70
|
{...contentState.popperProps}
|
|
71
71
|
ref={contentState.opts.ref}
|
|
72
72
|
isStatic
|
|
73
|
-
|
|
73
|
+
open={contentState.root.opts.open.current}
|
|
74
74
|
{id}
|
|
75
75
|
{trapFocus}
|
|
76
76
|
{preventScroll}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
<script lang="ts">
|
|
2
2
|
import { box, mergeProps } from "svelte-toolbelt";
|
|
3
3
|
import type { PopoverContentProps } from "../types.js";
|
|
4
|
-
import {
|
|
4
|
+
import { PopoverContentState } from "../popover.svelte.js";
|
|
5
5
|
import PopperLayer from "../../utilities/popper-layer/popper-layer.svelte";
|
|
6
6
|
import { noop } from "../../../internal/noop.js";
|
|
7
7
|
import { createId } from "../../../internal/create-id.js";
|
|
@@ -24,7 +24,7 @@
|
|
|
24
24
|
...restProps
|
|
25
25
|
}: PopoverContentProps = $props();
|
|
26
26
|
|
|
27
|
-
const contentState =
|
|
27
|
+
const contentState = PopoverContentState.create({
|
|
28
28
|
id: box.with(() => id),
|
|
29
29
|
ref: box.with(
|
|
30
30
|
() => ref,
|
|
@@ -70,7 +70,7 @@
|
|
|
70
70
|
{...mergedProps}
|
|
71
71
|
{...contentState.popperProps}
|
|
72
72
|
ref={contentState.opts.ref}
|
|
73
|
-
|
|
73
|
+
open={contentState.root.opts.open.current}
|
|
74
74
|
{id}
|
|
75
75
|
{trapFocus}
|
|
76
76
|
{preventScroll}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
<script lang="ts">
|
|
2
2
|
import { box, mergeProps } from "svelte-toolbelt";
|
|
3
3
|
import type { PopoverTriggerProps } from "../types.js";
|
|
4
|
-
import {
|
|
4
|
+
import { PopoverTriggerState } from "../popover.svelte.js";
|
|
5
5
|
import { createId } from "../../../internal/create-id.js";
|
|
6
6
|
import FloatingLayerAnchor from "../../utilities/floating-layer/components/floating-layer-anchor.svelte";
|
|
7
7
|
|
|
@@ -17,7 +17,7 @@
|
|
|
17
17
|
...restProps
|
|
18
18
|
}: PopoverTriggerProps = $props();
|
|
19
19
|
|
|
20
|
-
const triggerState =
|
|
20
|
+
const triggerState = PopoverTriggerState.create({
|
|
21
21
|
id: box.with(() => id),
|
|
22
22
|
ref: box.with(
|
|
23
23
|
() => ref,
|
|
@@ -1,13 +1,18 @@
|
|
|
1
1
|
<script lang="ts">
|
|
2
2
|
import { box } from "svelte-toolbelt";
|
|
3
3
|
import type { PopoverRootProps } from "../types.js";
|
|
4
|
-
import {
|
|
4
|
+
import { PopoverRootState } from "../popover.svelte.js";
|
|
5
5
|
import FloatingLayer from "../../utilities/floating-layer/components/floating-layer.svelte";
|
|
6
6
|
import { noop } from "../../../internal/noop.js";
|
|
7
7
|
|
|
8
|
-
let {
|
|
8
|
+
let {
|
|
9
|
+
open = $bindable(false),
|
|
10
|
+
onOpenChange = noop,
|
|
11
|
+
onOpenChangeComplete = noop,
|
|
12
|
+
children,
|
|
13
|
+
}: PopoverRootProps = $props();
|
|
9
14
|
|
|
10
|
-
|
|
15
|
+
PopoverRootState.create({
|
|
11
16
|
open: box.with(
|
|
12
17
|
() => open,
|
|
13
18
|
(v) => {
|
|
@@ -15,6 +20,7 @@
|
|
|
15
20
|
onOpenChange(v);
|
|
16
21
|
}
|
|
17
22
|
),
|
|
23
|
+
onOpenChangeComplete: box.with(() => onOpenChangeComplete),
|
|
18
24
|
});
|
|
19
25
|
</script>
|
|
20
26
|
|
|
@@ -1,28 +1,33 @@
|
|
|
1
|
-
import { type ReadableBoxedValues } from "svelte-toolbelt";
|
|
2
|
-
import type {
|
|
3
|
-
|
|
4
|
-
type PopoverRootStateProps = WritableBoxedValues<{
|
|
1
|
+
import { type ReadableBoxedValues, type WritableBoxedValues } from "svelte-toolbelt";
|
|
2
|
+
import type { BitsKeyboardEvent, BitsMouseEvent, BitsPointerEvent, OnChangeFn, WithRefOpts } from "../../internal/types.js";
|
|
3
|
+
interface PopoverRootStateOpts extends WritableBoxedValues<{
|
|
5
4
|
open: boolean;
|
|
6
|
-
}
|
|
7
|
-
|
|
8
|
-
|
|
5
|
+
}>, ReadableBoxedValues<{
|
|
6
|
+
onOpenChangeComplete: OnChangeFn<boolean>;
|
|
7
|
+
}> {
|
|
8
|
+
}
|
|
9
|
+
export declare class PopoverRootState {
|
|
10
|
+
static create(opts: PopoverRootStateOpts): PopoverRootState;
|
|
11
|
+
readonly opts: PopoverRootStateOpts;
|
|
9
12
|
contentNode: HTMLElement | null;
|
|
10
13
|
triggerNode: HTMLElement | null;
|
|
11
|
-
constructor(opts:
|
|
14
|
+
constructor(opts: PopoverRootStateOpts);
|
|
12
15
|
toggleOpen(): void;
|
|
13
16
|
handleClose(): void;
|
|
14
17
|
}
|
|
15
|
-
|
|
18
|
+
interface PopoverTriggerStateOpts extends WithRefOpts, ReadableBoxedValues<{
|
|
16
19
|
disabled: boolean;
|
|
17
|
-
}
|
|
18
|
-
|
|
20
|
+
}> {
|
|
21
|
+
}
|
|
22
|
+
export declare class PopoverTriggerState {
|
|
19
23
|
#private;
|
|
20
|
-
|
|
24
|
+
static create(opts: PopoverTriggerStateOpts): PopoverTriggerState;
|
|
25
|
+
readonly opts: PopoverTriggerStateOpts;
|
|
21
26
|
readonly root: PopoverRootState;
|
|
22
|
-
constructor(opts:
|
|
27
|
+
constructor(opts: PopoverTriggerStateOpts, root: PopoverRootState);
|
|
23
28
|
onclick(e: BitsMouseEvent): void;
|
|
24
29
|
onkeydown(e: BitsKeyboardEvent): void;
|
|
25
|
-
props: {
|
|
30
|
+
readonly props: {
|
|
26
31
|
readonly id: string;
|
|
27
32
|
readonly "aria-haspopup": "dialog";
|
|
28
33
|
readonly "aria-expanded": "true" | "false";
|
|
@@ -33,22 +38,24 @@ declare class PopoverTriggerState {
|
|
|
33
38
|
readonly onclick: (e: BitsMouseEvent) => void;
|
|
34
39
|
};
|
|
35
40
|
}
|
|
36
|
-
|
|
41
|
+
interface PopoverContentStateOpts extends WithRefOpts, ReadableBoxedValues<{
|
|
37
42
|
onInteractOutside: (e: PointerEvent) => void;
|
|
38
43
|
onEscapeKeydown: (e: KeyboardEvent) => void;
|
|
39
44
|
onCloseAutoFocus: (e: Event) => void;
|
|
40
|
-
}
|
|
41
|
-
|
|
42
|
-
|
|
45
|
+
}> {
|
|
46
|
+
}
|
|
47
|
+
export declare class PopoverContentState {
|
|
48
|
+
static create(opts: PopoverContentStateOpts): PopoverContentState;
|
|
49
|
+
readonly opts: PopoverContentStateOpts;
|
|
43
50
|
readonly root: PopoverRootState;
|
|
44
|
-
constructor(opts:
|
|
51
|
+
constructor(opts: PopoverContentStateOpts, root: PopoverRootState);
|
|
45
52
|
onInteractOutside: (e: PointerEvent) => void;
|
|
46
53
|
onEscapeKeydown: (e: KeyboardEvent) => void;
|
|
47
54
|
onCloseAutoFocus: (e: Event) => void;
|
|
48
|
-
snippetProps: {
|
|
55
|
+
readonly snippetProps: {
|
|
49
56
|
open: boolean;
|
|
50
57
|
};
|
|
51
|
-
props: {
|
|
58
|
+
readonly props: {
|
|
52
59
|
readonly id: string;
|
|
53
60
|
readonly tabindex: -1;
|
|
54
61
|
readonly "data-state": "open" | "closed";
|
|
@@ -56,28 +63,26 @@ declare class PopoverContentState {
|
|
|
56
63
|
readonly pointerEvents: "auto";
|
|
57
64
|
};
|
|
58
65
|
};
|
|
59
|
-
popperProps: {
|
|
66
|
+
readonly popperProps: {
|
|
60
67
|
onInteractOutside: (e: PointerEvent) => void;
|
|
61
68
|
onEscapeKeydown: (e: KeyboardEvent) => void;
|
|
62
69
|
onCloseAutoFocus: (e: Event) => void;
|
|
63
70
|
};
|
|
64
71
|
}
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
72
|
+
interface PopoverCloseStateOpts extends WithRefOpts {
|
|
73
|
+
}
|
|
74
|
+
export declare class PopoverCloseState {
|
|
75
|
+
static create(opts: PopoverCloseStateOpts): PopoverCloseState;
|
|
76
|
+
readonly opts: PopoverCloseStateOpts;
|
|
68
77
|
readonly root: PopoverRootState;
|
|
69
|
-
constructor(opts:
|
|
78
|
+
constructor(opts: PopoverCloseStateOpts, root: PopoverRootState);
|
|
70
79
|
onclick(_: BitsPointerEvent): void;
|
|
71
80
|
onkeydown(e: BitsKeyboardEvent): void;
|
|
72
|
-
props: {
|
|
81
|
+
readonly props: {
|
|
73
82
|
readonly id: string;
|
|
74
83
|
readonly onclick: (_: BitsPointerEvent) => void;
|
|
75
84
|
readonly onkeydown: (e: BitsKeyboardEvent) => void;
|
|
76
85
|
readonly type: "button";
|
|
77
86
|
};
|
|
78
87
|
}
|
|
79
|
-
export declare function usePopoverRoot(props: PopoverRootStateProps): PopoverRootState;
|
|
80
|
-
export declare function usePopoverTrigger(props: PopoverTriggerStateProps): PopoverTriggerState;
|
|
81
|
-
export declare function usePopoverContent(props: PopoverContentStateProps): PopoverContentState;
|
|
82
|
-
export declare function usePopoverClose(props: PopoverCloseStateProps): PopoverCloseState;
|
|
83
88
|
export {};
|
|
@@ -1,18 +1,30 @@
|
|
|
1
|
-
import { attachRef } from "svelte-toolbelt";
|
|
1
|
+
import { attachRef, box, } from "svelte-toolbelt";
|
|
2
2
|
import { Context } from "runed";
|
|
3
3
|
import { kbd } from "../../internal/kbd.js";
|
|
4
4
|
import { createBitsAttrs, getAriaExpanded, getDataOpenClosed } from "../../internal/attrs.js";
|
|
5
5
|
import { isElement } from "../../internal/is.js";
|
|
6
|
+
import { OpenChangeComplete } from "../../internal/open-change-complete.js";
|
|
6
7
|
const popoverAttrs = createBitsAttrs({
|
|
7
8
|
component: "popover",
|
|
8
9
|
parts: ["root", "trigger", "content", "close"],
|
|
9
10
|
});
|
|
10
|
-
|
|
11
|
+
const PopoverRootContext = new Context("Popover.Root");
|
|
12
|
+
export class PopoverRootState {
|
|
13
|
+
static create(opts) {
|
|
14
|
+
return PopoverRootContext.set(new PopoverRootState(opts));
|
|
15
|
+
}
|
|
11
16
|
opts;
|
|
12
17
|
contentNode = $state(null);
|
|
13
18
|
triggerNode = $state(null);
|
|
14
19
|
constructor(opts) {
|
|
15
20
|
this.opts = opts;
|
|
21
|
+
new OpenChangeComplete({
|
|
22
|
+
ref: box.with(() => this.contentNode),
|
|
23
|
+
open: this.opts.open,
|
|
24
|
+
onComplete: () => {
|
|
25
|
+
this.opts.onOpenChangeComplete.current(this.opts.open.current);
|
|
26
|
+
},
|
|
27
|
+
});
|
|
16
28
|
}
|
|
17
29
|
toggleOpen() {
|
|
18
30
|
this.opts.open.current = !this.opts.open.current;
|
|
@@ -23,7 +35,10 @@ class PopoverRootState {
|
|
|
23
35
|
this.opts.open.current = false;
|
|
24
36
|
}
|
|
25
37
|
}
|
|
26
|
-
class PopoverTriggerState {
|
|
38
|
+
export class PopoverTriggerState {
|
|
39
|
+
static create(opts) {
|
|
40
|
+
return new PopoverTriggerState(opts, PopoverRootContext.get());
|
|
41
|
+
}
|
|
27
42
|
opts;
|
|
28
43
|
root;
|
|
29
44
|
constructor(opts, root) {
|
|
@@ -67,7 +82,10 @@ class PopoverTriggerState {
|
|
|
67
82
|
...attachRef(this.opts.ref, (v) => (this.root.triggerNode = v)),
|
|
68
83
|
}));
|
|
69
84
|
}
|
|
70
|
-
class PopoverContentState {
|
|
85
|
+
export class PopoverContentState {
|
|
86
|
+
static create(opts) {
|
|
87
|
+
return new PopoverContentState(opts, PopoverRootContext.get());
|
|
88
|
+
}
|
|
71
89
|
opts;
|
|
72
90
|
root;
|
|
73
91
|
constructor(opts, root) {
|
|
@@ -115,7 +133,10 @@ class PopoverContentState {
|
|
|
115
133
|
onCloseAutoFocus: this.onCloseAutoFocus,
|
|
116
134
|
};
|
|
117
135
|
}
|
|
118
|
-
class PopoverCloseState {
|
|
136
|
+
export class PopoverCloseState {
|
|
137
|
+
static create(opts) {
|
|
138
|
+
return new PopoverCloseState(opts, PopoverRootContext.get());
|
|
139
|
+
}
|
|
119
140
|
opts;
|
|
120
141
|
root;
|
|
121
142
|
constructor(opts, root) {
|
|
@@ -142,19 +163,3 @@ class PopoverCloseState {
|
|
|
142
163
|
...attachRef(this.opts.ref),
|
|
143
164
|
}));
|
|
144
165
|
}
|
|
145
|
-
//
|
|
146
|
-
// CONTEXT METHODS
|
|
147
|
-
//
|
|
148
|
-
const PopoverRootContext = new Context("Popover.Root");
|
|
149
|
-
export function usePopoverRoot(props) {
|
|
150
|
-
return PopoverRootContext.set(new PopoverRootState(props));
|
|
151
|
-
}
|
|
152
|
-
export function usePopoverTrigger(props) {
|
|
153
|
-
return new PopoverTriggerState(props, PopoverRootContext.get());
|
|
154
|
-
}
|
|
155
|
-
export function usePopoverContent(props) {
|
|
156
|
-
return new PopoverContentState(props, PopoverRootContext.get());
|
|
157
|
-
}
|
|
158
|
-
export function usePopoverClose(props) {
|
|
159
|
-
return new PopoverCloseState(props, PopoverRootContext.get());
|
|
160
|
-
}
|
|
@@ -13,6 +13,10 @@ export type PopoverRootPropsWithoutHTML = WithChildren<{
|
|
|
13
13
|
* A callback that is called when the popover's open state changes.
|
|
14
14
|
*/
|
|
15
15
|
onOpenChange?: OnChangeFn<boolean>;
|
|
16
|
+
/**
|
|
17
|
+
* A callback that is called when the popover's open state changes and the animation is complete.
|
|
18
|
+
*/
|
|
19
|
+
onOpenChangeComplete?: OnChangeFn<boolean>;
|
|
16
20
|
}>;
|
|
17
21
|
export type PopoverRootProps = PopoverRootPropsWithoutHTML;
|
|
18
22
|
export type PopoverContentPropsWithoutHTML = WithChildNoChildrenSnippetProps<Omit<PopperLayerProps, "content" | "loop">, FloatingContentSnippetProps>;
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
<script lang="ts">
|
|
2
2
|
import { box, mergeProps } from "svelte-toolbelt";
|
|
3
3
|
import type { ProgressRootProps } from "../types.js";
|
|
4
|
-
import {
|
|
4
|
+
import { ProgressRootState } from "../progress.svelte.js";
|
|
5
5
|
import { createId } from "../../../internal/create-id.js";
|
|
6
6
|
|
|
7
7
|
const uid = $props.id();
|
|
@@ -17,7 +17,7 @@
|
|
|
17
17
|
...restProps
|
|
18
18
|
}: ProgressRootProps = $props();
|
|
19
19
|
|
|
20
|
-
const rootState =
|
|
20
|
+
const rootState = ProgressRootState.create({
|
|
21
21
|
value: box.with(() => value),
|
|
22
22
|
max: box.with(() => max),
|
|
23
23
|
min: box.with(() => min),
|
|
@@ -1,14 +1,16 @@
|
|
|
1
|
-
import type
|
|
2
|
-
import type {
|
|
3
|
-
|
|
1
|
+
import { type ReadableBoxedValues } from "svelte-toolbelt";
|
|
2
|
+
import type { WithRefOpts } from "../../internal/types.js";
|
|
3
|
+
interface ProgressRootStateOpts extends WithRefOpts, ReadableBoxedValues<{
|
|
4
4
|
value: number | null;
|
|
5
5
|
max: number;
|
|
6
6
|
min: number;
|
|
7
|
-
}
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
7
|
+
}> {
|
|
8
|
+
}
|
|
9
|
+
export declare class ProgressRootState {
|
|
10
|
+
static create(opts: ProgressRootStateOpts): ProgressRootState;
|
|
11
|
+
readonly opts: ProgressRootStateOpts;
|
|
12
|
+
constructor(opts: ProgressRootStateOpts);
|
|
13
|
+
readonly props: {
|
|
12
14
|
readonly role: "progressbar";
|
|
13
15
|
readonly value: number | null;
|
|
14
16
|
readonly "aria-valuemin": number;
|
|
@@ -21,5 +23,4 @@ declare class ProgressRootState {
|
|
|
21
23
|
readonly "data-indeterminate": "" | undefined;
|
|
22
24
|
};
|
|
23
25
|
}
|
|
24
|
-
export declare function useProgressRootState(props: ProgressRootStateProps): ProgressRootState;
|
|
25
26
|
export {};
|
|
@@ -4,7 +4,10 @@ const progressAttrs = createBitsAttrs({
|
|
|
4
4
|
component: "progress",
|
|
5
5
|
parts: ["root"],
|
|
6
6
|
});
|
|
7
|
-
class ProgressRootState {
|
|
7
|
+
export class ProgressRootState {
|
|
8
|
+
static create(opts) {
|
|
9
|
+
return new ProgressRootState(opts);
|
|
10
|
+
}
|
|
8
11
|
opts;
|
|
9
12
|
constructor(opts) {
|
|
10
13
|
this.opts = opts;
|
|
@@ -29,6 +32,3 @@ function getProgressDataState(value, max) {
|
|
|
29
32
|
return "indeterminate";
|
|
30
33
|
return value === max ? "loaded" : "loading";
|
|
31
34
|
}
|
|
32
|
-
export function useProgressRootState(props) {
|
|
33
|
-
return new ProgressRootState(props);
|
|
34
|
-
}
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
<script lang="ts">
|
|
2
2
|
import HiddenInput from "../../utilities/hidden-input.svelte";
|
|
3
|
-
import {
|
|
3
|
+
import { RadioGroupInputState } from "../radio-group.svelte.js";
|
|
4
4
|
|
|
5
|
-
const inputState =
|
|
5
|
+
const inputState = RadioGroupInputState.create();
|
|
6
6
|
</script>
|
|
7
7
|
|
|
8
8
|
{#if inputState.shouldRender}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
<script lang="ts">
|
|
2
2
|
import { box, mergeProps } from "svelte-toolbelt";
|
|
3
3
|
import type { RadioGroupItemProps } from "../types.js";
|
|
4
|
-
import {
|
|
4
|
+
import { RadioGroupItemState } from "../radio-group.svelte.js";
|
|
5
5
|
import { createId } from "../../../internal/create-id.js";
|
|
6
6
|
|
|
7
7
|
const uid = $props.id();
|
|
@@ -16,7 +16,7 @@
|
|
|
16
16
|
...restProps
|
|
17
17
|
}: RadioGroupItemProps = $props();
|
|
18
18
|
|
|
19
|
-
const itemState =
|
|
19
|
+
const itemState = RadioGroupItemState.create({
|
|
20
20
|
value: box.with(() => value),
|
|
21
21
|
disabled: box.with(() => disabled ?? false),
|
|
22
22
|
id: box.with(() => id),
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
<script lang="ts">
|
|
2
2
|
import { box, mergeProps } from "svelte-toolbelt";
|
|
3
3
|
import type { RadioGroupRootProps } from "../types.js";
|
|
4
|
-
import {
|
|
4
|
+
import { RadioGroupRootState } from "../radio-group.svelte.js";
|
|
5
5
|
import RadioGroupInput from "./radio-group-input.svelte";
|
|
6
6
|
import { createId } from "../../../internal/create-id.js";
|
|
7
7
|
import { noop } from "../../../internal/noop.js";
|
|
@@ -18,17 +18,19 @@
|
|
|
18
18
|
loop = true,
|
|
19
19
|
name = undefined,
|
|
20
20
|
required = false,
|
|
21
|
+
readonly = false,
|
|
21
22
|
id = createId(uid),
|
|
22
23
|
onValueChange = noop,
|
|
23
24
|
...restProps
|
|
24
25
|
}: RadioGroupRootProps = $props();
|
|
25
26
|
|
|
26
|
-
const rootState =
|
|
27
|
+
const rootState = RadioGroupRootState.create({
|
|
27
28
|
orientation: box.with(() => orientation),
|
|
28
29
|
disabled: box.with(() => disabled),
|
|
29
30
|
loop: box.with(() => loop),
|
|
30
31
|
name: box.with(() => name),
|
|
31
32
|
required: box.with(() => required),
|
|
33
|
+
readonly: box.with(() => readonly),
|
|
32
34
|
id: box.with(() => id),
|
|
33
35
|
value: box.with(
|
|
34
36
|
() => value,
|