bits-ui 1.7.0 → 2.1.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/dist/bits/accordion/accordion.svelte.d.ts +56 -53
- package/dist/bits/accordion/accordion.svelte.js +78 -89
- package/dist/bits/accordion/components/accordion-content.svelte +5 -3
- package/dist/bits/accordion/components/accordion-header.svelte +4 -2
- package/dist/bits/accordion/components/accordion-item.svelte +6 -3
- package/dist/bits/accordion/components/accordion-trigger.svelte +4 -2
- package/dist/bits/accordion/components/accordion.svelte +4 -2
- package/dist/bits/alert-dialog/components/alert-dialog-action.svelte +4 -2
- package/dist/bits/alert-dialog/components/alert-dialog-cancel.svelte +4 -2
- package/dist/bits/alert-dialog/components/alert-dialog-content.svelte +8 -3
- package/dist/bits/aspect-ratio/aspect-ratio.svelte.js +2 -2
- package/dist/bits/aspect-ratio/components/aspect-ratio.svelte +4 -2
- package/dist/bits/avatar/avatar.svelte.js +4 -4
- package/dist/bits/avatar/components/avatar-fallback.svelte +4 -2
- package/dist/bits/avatar/components/avatar-image.svelte +4 -2
- package/dist/bits/avatar/components/avatar.svelte +4 -2
- package/dist/bits/button/components/button.svelte +1 -1
- package/dist/bits/calendar/calendar.svelte.d.ts +1 -9
- package/dist/bits/calendar/calendar.svelte.js +47 -38
- package/dist/bits/calendar/components/calendar-cell.svelte +4 -2
- package/dist/bits/calendar/components/calendar-day.svelte +4 -2
- package/dist/bits/calendar/components/calendar-grid-body.svelte +4 -2
- package/dist/bits/calendar/components/calendar-grid-head.svelte +4 -2
- package/dist/bits/calendar/components/calendar-grid-row.svelte +4 -2
- package/dist/bits/calendar/components/calendar-grid.svelte +4 -2
- package/dist/bits/calendar/components/calendar-head-cell.svelte +4 -2
- package/dist/bits/calendar/components/calendar-header.svelte +4 -2
- package/dist/bits/calendar/components/calendar-heading.svelte +4 -2
- package/dist/bits/calendar/components/calendar-next-button.svelte +4 -2
- package/dist/bits/calendar/components/calendar-prev-button.svelte +4 -2
- package/dist/bits/checkbox/checkbox.svelte.js +4 -14
- package/dist/bits/checkbox/components/checkbox-group-label.svelte +4 -2
- package/dist/bits/checkbox/components/checkbox-group.svelte +4 -2
- package/dist/bits/checkbox/components/checkbox.svelte +4 -2
- package/dist/bits/collapsible/collapsible.svelte.js +4 -10
- package/dist/bits/collapsible/components/collapsible-content.svelte +5 -3
- package/dist/bits/collapsible/components/collapsible-trigger.svelte +4 -2
- package/dist/bits/collapsible/components/collapsible.svelte +4 -2
- package/dist/bits/combobox/components/combobox-input.svelte +1 -1
- package/dist/bits/combobox/components/combobox.svelte +1 -1
- package/dist/bits/command/command.svelte.js +13 -45
- package/dist/bits/command/components/_command-label.svelte +6 -7
- package/dist/bits/command/components/_command-label.svelte.d.ts +1 -1
- package/dist/bits/command/components/command-empty.svelte +4 -2
- package/dist/bits/command/components/command-group-heading.svelte +4 -2
- package/dist/bits/command/components/command-group-items.svelte +4 -2
- package/dist/bits/command/components/command-group.svelte +4 -2
- package/dist/bits/command/components/command-input.svelte +4 -2
- package/dist/bits/command/components/command-item.svelte +4 -2
- package/dist/bits/command/components/command-link-item.svelte +4 -2
- package/dist/bits/command/components/command-list.svelte +4 -2
- package/dist/bits/command/components/command-loading.svelte +4 -2
- package/dist/bits/command/components/command-separator.svelte +4 -2
- package/dist/bits/command/components/command-viewport.svelte +4 -2
- package/dist/bits/command/components/command.svelte +4 -2
- package/dist/bits/context-menu/components/context-menu-content-static.svelte +2 -3
- package/dist/bits/context-menu/components/context-menu-content.svelte +2 -3
- package/dist/bits/context-menu/components/context-menu-trigger.svelte +1 -1
- package/dist/bits/date-field/components/date-field-input.svelte +4 -2
- package/dist/bits/date-field/components/date-field-label.svelte +4 -2
- package/dist/bits/date-field/components/date-field-segment.svelte +4 -2
- package/dist/bits/date-field/date-field.svelte.d.ts +4 -4
- package/dist/bits/date-field/date-field.svelte.js +15 -33
- package/dist/bits/date-picker/components/date-picker-calendar.svelte +4 -2
- package/dist/bits/date-range-field/components/date-range-field-input.svelte +4 -2
- package/dist/bits/date-range-field/components/date-range-field-label.svelte +4 -2
- package/dist/bits/date-range-field/components/date-range-field.svelte +4 -2
- package/dist/bits/date-range-field/date-range-field.svelte.js +3 -13
- package/dist/bits/date-range-picker/components/date-range-picker-calendar.svelte +4 -2
- package/dist/bits/dialog/components/dialog-close.svelte +4 -2
- package/dist/bits/dialog/components/dialog-content.svelte +8 -2
- package/dist/bits/dialog/components/dialog-description.svelte +4 -2
- package/dist/bits/dialog/components/dialog-overlay.svelte +8 -3
- package/dist/bits/dialog/components/dialog-title.svelte +4 -2
- package/dist/bits/dialog/components/dialog-trigger.svelte +4 -2
- package/dist/bits/dialog/dialog.svelte.d.ts +1 -1
- package/dist/bits/dialog/dialog.svelte.js +19 -47
- package/dist/bits/dropdown-menu/components/dropdown-menu-content-static.svelte +6 -5
- package/dist/bits/dropdown-menu/components/dropdown-menu-content.svelte +6 -5
- package/dist/bits/index.d.ts +2 -0
- package/dist/bits/index.js +2 -0
- package/dist/bits/label/components/label.svelte +4 -2
- package/dist/bits/label/label.svelte.js +2 -2
- package/dist/bits/link-preview/components/link-preview-content-static.svelte +6 -2
- package/dist/bits/link-preview/components/link-preview-content.svelte +6 -2
- package/dist/bits/link-preview/components/link-preview-trigger.svelte +5 -3
- package/dist/bits/link-preview/link-preview.svelte.js +3 -14
- package/dist/bits/menu/components/menu-checkbox-group.svelte +4 -2
- package/dist/bits/menu/components/menu-checkbox-item.svelte +6 -4
- package/dist/bits/menu/components/menu-content-static.svelte +6 -5
- package/dist/bits/menu/components/menu-content.svelte +6 -5
- package/dist/bits/menu/components/menu-group-heading.svelte +4 -2
- package/dist/bits/menu/components/menu-group.svelte +4 -2
- package/dist/bits/menu/components/menu-item.svelte +4 -2
- package/dist/bits/menu/components/menu-radio-group.svelte +4 -2
- package/dist/bits/menu/components/menu-radio-item.svelte +4 -2
- package/dist/bits/menu/components/menu-separator.svelte +4 -2
- package/dist/bits/menu/components/menu-sub-content-static.svelte +6 -5
- package/dist/bits/menu/components/menu-sub-content.svelte +6 -5
- package/dist/bits/menu/components/menu-sub-trigger.svelte +6 -3
- package/dist/bits/menu/components/menu-trigger.svelte +5 -3
- package/dist/bits/menu/menu.svelte.d.ts +7 -20
- package/dist/bits/menu/menu.svelte.js +26 -54
- package/dist/bits/menubar/components/menubar-content-static.svelte +4 -2
- package/dist/bits/menubar/components/menubar-content.svelte +4 -2
- package/dist/bits/menubar/components/menubar-menu.svelte +4 -2
- package/dist/bits/menubar/components/menubar-trigger.svelte +14 -6
- package/dist/bits/menubar/components/menubar.svelte +4 -2
- package/dist/bits/menubar/menubar.svelte.d.ts +24 -20
- package/dist/bits/menubar/menubar.svelte.js +40 -56
- package/dist/bits/meter/components/meter.svelte +4 -2
- package/dist/bits/meter/meter.svelte.js +2 -2
- package/dist/bits/navigation-menu/components/navigation-menu-content-impl.svelte +5 -2
- package/dist/bits/navigation-menu/components/navigation-menu-content.svelte +8 -3
- package/dist/bits/navigation-menu/components/navigation-menu-indicator-impl.svelte +4 -2
- package/dist/bits/navigation-menu/components/navigation-menu-indicator.svelte +6 -4
- package/dist/bits/navigation-menu/components/navigation-menu-item.svelte +8 -3
- package/dist/bits/navigation-menu/components/navigation-menu-link.svelte +4 -2
- package/dist/bits/navigation-menu/components/navigation-menu-list.svelte +4 -2
- package/dist/bits/navigation-menu/components/navigation-menu-sub.svelte +4 -2
- package/dist/bits/navigation-menu/components/navigation-menu-trigger.svelte +4 -2
- package/dist/bits/navigation-menu/components/navigation-menu-viewport.svelte +7 -3
- package/dist/bits/navigation-menu/components/navigation-menu.svelte +4 -2
- package/dist/bits/navigation-menu/navigation-menu.svelte.d.ts +29 -17
- package/dist/bits/navigation-menu/navigation-menu.svelte.js +107 -74
- package/dist/bits/navigation-menu/types.d.ts +14 -7
- package/dist/bits/pagination/components/pagination-next-button.svelte +4 -2
- package/dist/bits/pagination/components/pagination-page.svelte +4 -2
- package/dist/bits/pagination/components/pagination-prev-button.svelte +4 -2
- package/dist/bits/pagination/components/pagination.svelte +4 -2
- package/dist/bits/pagination/pagination.svelte.js +4 -4
- package/dist/bits/pin-input/components/pin-input-cell.svelte +4 -2
- package/dist/bits/pin-input/components/pin-input.svelte +5 -3
- package/dist/bits/pin-input/pin-input.svelte.js +4 -10
- package/dist/bits/popover/components/popover-close.svelte +4 -2
- package/dist/bits/popover/components/popover-content-static.svelte +6 -2
- package/dist/bits/popover/components/popover-content.svelte +6 -2
- package/dist/bits/popover/components/popover-trigger.svelte +5 -3
- package/dist/bits/popover/popover.svelte.js +4 -18
- package/dist/bits/progress/components/progress.svelte +4 -2
- package/dist/bits/progress/progress.svelte.js +2 -2
- package/dist/bits/radio-group/components/radio-group-item.svelte +4 -2
- package/dist/bits/radio-group/components/radio-group.svelte +4 -2
- package/dist/bits/radio-group/radio-group.svelte.js +4 -7
- package/dist/bits/range-calendar/components/range-calendar-cell.svelte +4 -2
- package/dist/bits/range-calendar/components/range-calendar-day.svelte +4 -2
- package/dist/bits/range-calendar/components/range-calendar.svelte +4 -2
- package/dist/bits/range-calendar/range-calendar.svelte.js +4 -4
- package/dist/bits/scroll-area/components/scroll-area-corner.svelte +8 -2
- package/dist/bits/scroll-area/components/scroll-area-scrollbar-auto.svelte +4 -1
- package/dist/bits/scroll-area/components/scroll-area-scrollbar-hover.svelte +1 -1
- package/dist/bits/scroll-area/components/scroll-area-scrollbar-scroll.svelte +5 -1
- package/dist/bits/scroll-area/components/scroll-area-scrollbar.svelte +4 -2
- package/dist/bits/scroll-area/components/scroll-area-thumb.svelte +8 -3
- package/dist/bits/scroll-area/components/scroll-area-viewport.svelte +4 -2
- package/dist/bits/scroll-area/components/scroll-area.svelte +4 -2
- package/dist/bits/scroll-area/scroll-area.svelte.js +13 -47
- package/dist/bits/select/components/select-content-static.svelte +6 -2
- package/dist/bits/select/components/select-content.svelte +6 -2
- package/dist/bits/select/components/select-group-heading.svelte +3 -2
- package/dist/bits/select/components/select-group.svelte +4 -2
- package/dist/bits/select/components/select-item.svelte +4 -2
- package/dist/bits/select/components/select-scroll-down-button.svelte +4 -2
- package/dist/bits/select/components/select-scroll-up-button.svelte +4 -2
- package/dist/bits/select/components/select-trigger.svelte +5 -3
- package/dist/bits/select/components/select-viewport.svelte +4 -2
- package/dist/bits/select/components/select.svelte +1 -1
- package/dist/bits/select/select.svelte.d.ts +0 -18
- package/dist/bits/select/select.svelte.js +10 -43
- package/dist/bits/separator/components/separator.svelte +4 -2
- package/dist/bits/separator/separator.svelte.js +2 -2
- package/dist/bits/slider/components/slider-range.svelte +4 -2
- package/dist/bits/slider/components/slider-thumb-label.svelte +50 -0
- package/dist/bits/slider/components/slider-thumb-label.svelte.d.ts +4 -0
- package/dist/bits/slider/components/slider-thumb.svelte +4 -2
- package/dist/bits/slider/components/slider-tick-label.svelte +50 -0
- package/dist/bits/slider/components/slider-tick-label.svelte.d.ts +4 -0
- package/dist/bits/slider/components/slider-tick.svelte +4 -2
- package/dist/bits/slider/components/slider.svelte +26 -5
- package/dist/bits/slider/exports.d.ts +3 -1
- package/dist/bits/slider/exports.js +2 -0
- package/dist/bits/slider/helpers.d.ts +14 -0
- package/dist/bits/slider/helpers.js +122 -0
- package/dist/bits/slider/slider.svelte.d.ts +93 -6
- package/dist/bits/slider/slider.svelte.js +198 -101
- package/dist/bits/slider/types.d.ts +111 -11
- package/dist/bits/switch/components/switch-thumb.svelte +4 -2
- package/dist/bits/switch/components/switch.svelte +4 -2
- package/dist/bits/switch/switch.svelte.js +3 -3
- package/dist/bits/tabs/components/tabs-content.svelte +4 -2
- package/dist/bits/tabs/components/tabs-list.svelte +4 -2
- package/dist/bits/tabs/components/tabs-trigger.svelte +4 -2
- package/dist/bits/tabs/components/tabs.svelte +4 -2
- package/dist/bits/tabs/tabs.svelte.js +6 -6
- package/dist/bits/time-field/components/time-field-hidden-input.svelte +10 -0
- package/dist/bits/{date-field/components/date-field-error.svelte.d.ts → time-field/components/time-field-hidden-input.svelte.d.ts} +6 -14
- package/dist/bits/time-field/components/time-field-input.svelte +39 -0
- package/dist/bits/time-field/components/time-field-input.svelte.d.ts +4 -0
- package/dist/bits/time-field/components/time-field-label.svelte +34 -0
- package/dist/bits/time-field/components/time-field-label.svelte.d.ts +4 -0
- package/dist/bits/time-field/components/time-field-segment.svelte +37 -0
- package/dist/bits/time-field/components/time-field-segment.svelte.d.ts +4 -0
- package/dist/bits/time-field/components/time-field.svelte +94 -0
- package/dist/bits/time-field/components/time-field.svelte.d.ts +20 -0
- package/dist/bits/time-field/exports.d.ts +5 -0
- package/dist/bits/time-field/exports.js +4 -0
- package/dist/bits/time-field/index.d.ts +1 -0
- package/dist/bits/time-field/index.js +1 -0
- package/dist/bits/time-field/time-field.svelte.d.ts +415 -0
- package/dist/bits/time-field/time-field.svelte.js +971 -0
- package/dist/bits/time-field/types.d.ts +137 -0
- package/dist/bits/time-field/types.js +1 -0
- package/dist/bits/time-range-field/components/time-range-field-input.svelte +43 -0
- package/dist/bits/time-range-field/components/time-range-field-input.svelte.d.ts +4 -0
- package/dist/bits/time-range-field/components/time-range-field-label.svelte +34 -0
- package/dist/bits/time-range-field/components/time-range-field-label.svelte.d.ts +4 -0
- package/dist/bits/time-range-field/components/time-range-field.svelte +144 -0
- package/dist/bits/time-range-field/components/time-range-field.svelte.d.ts +20 -0
- package/dist/bits/time-range-field/exports.d.ts +5 -0
- package/dist/bits/time-range-field/exports.js +4 -0
- package/dist/bits/time-range-field/index.d.ts +1 -0
- package/dist/bits/time-range-field/index.js +1 -0
- package/dist/bits/time-range-field/time-range-field.svelte.d.ts +90 -0
- package/dist/bits/time-range-field/time-range-field.svelte.js +210 -0
- package/dist/bits/time-range-field/types.d.ts +150 -0
- package/dist/bits/time-range-field/types.js +1 -0
- package/dist/bits/toggle/components/toggle.svelte +4 -2
- package/dist/bits/toggle/toggle.svelte.js +2 -2
- package/dist/bits/toggle-group/components/toggle-group-item.svelte +4 -2
- package/dist/bits/toggle-group/components/toggle-group.svelte +4 -2
- package/dist/bits/toggle-group/toggle-group.svelte.js +4 -4
- package/dist/bits/toolbar/components/toolbar-button.svelte +4 -2
- package/dist/bits/toolbar/components/toolbar-group-item.svelte +4 -2
- package/dist/bits/toolbar/components/toolbar-group.svelte +4 -2
- package/dist/bits/toolbar/components/toolbar-link.svelte +4 -2
- package/dist/bits/toolbar/components/toolbar.svelte +4 -2
- package/dist/bits/toolbar/toolbar.svelte.js +7 -7
- package/dist/bits/tooltip/components/tooltip-content-static.svelte +6 -2
- package/dist/bits/tooltip/components/tooltip-content.svelte +6 -2
- package/dist/bits/tooltip/components/tooltip-trigger.svelte +5 -3
- package/dist/bits/tooltip/tooltip.svelte.js +3 -14
- package/dist/bits/utilities/dismissible-layer/dismissible-layer.svelte +2 -0
- package/dist/bits/utilities/dismissible-layer/types.d.ts +2 -0
- package/dist/bits/utilities/dismissible-layer/use-dismissable-layer.svelte.d.ts +3 -3
- package/dist/bits/utilities/dismissible-layer/use-dismissable-layer.svelte.js +16 -25
- package/dist/bits/utilities/floating-layer/components/floating-layer-anchor.svelte +2 -1
- package/dist/bits/utilities/floating-layer/types.d.ts +1 -0
- package/dist/bits/utilities/floating-layer/use-floating-layer.svelte.d.ts +3 -2
- package/dist/bits/utilities/floating-layer/use-floating-layer.svelte.js +5 -26
- package/dist/bits/utilities/focus-scope/focus-scope.svelte +2 -0
- package/dist/bits/utilities/focus-scope/types.d.ts +2 -0
- package/dist/bits/utilities/focus-scope/use-focus-scope.svelte.d.ts +2 -1
- package/dist/bits/utilities/focus-scope/use-focus-scope.svelte.js +2 -8
- package/dist/bits/utilities/popper-layer/popper-layer-inner.svelte +4 -0
- package/dist/bits/utilities/popper-layer/popper-layer.svelte +3 -1
- package/dist/bits/utilities/presence-layer/presence-layer.svelte +2 -2
- package/dist/bits/utilities/presence-layer/types.d.ts +2 -1
- package/dist/bits/utilities/presence-layer/use-presence.svelte.d.ts +1 -1
- package/dist/bits/utilities/presence-layer/use-presence.svelte.js +19 -36
- package/dist/bits/utilities/text-selection-layer/text-selection-layer.svelte +2 -0
- package/dist/bits/utilities/text-selection-layer/types.d.ts +2 -0
- package/dist/bits/utilities/text-selection-layer/use-text-selection-layer.svelte.d.ts +3 -1
- package/dist/bits/utilities/text-selection-layer/use-text-selection-layer.svelte.js +2 -8
- package/dist/index.d.ts +1 -1
- package/dist/index.js +1 -1
- package/dist/internal/create-id.d.ts +8 -0
- package/dist/internal/create-id.js +5 -0
- package/dist/internal/date-time/field/helpers.d.ts +1 -0
- package/dist/internal/date-time/field/helpers.js +8 -2
- package/dist/internal/date-time/field/parts.d.ts +3 -1
- package/dist/internal/date-time/field/parts.js +10 -2
- package/dist/internal/date-time/field/segments.d.ts +9 -0
- package/dist/internal/date-time/field/segments.js +65 -0
- package/dist/internal/date-time/field/time-helpers.d.ts +77 -0
- package/dist/internal/date-time/field/time-helpers.js +301 -0
- package/dist/internal/date-time/field/types.d.ts +2 -2
- package/dist/internal/date-time/formatter.d.ts +11 -1
- package/dist/internal/date-time/formatter.js +56 -0
- package/dist/internal/date-time/utils.d.ts +7 -2
- package/dist/internal/date-time/utils.js +15 -1
- package/dist/internal/dom-context.svelte.d.ts +9 -0
- package/dist/internal/dom-context.svelte.js +26 -0
- package/dist/internal/use-roving-focus.svelte.d.ts +3 -3
- package/dist/internal/use-roving-focus.svelte.js +10 -11
- package/dist/shared/date/types.d.ts +27 -4
- package/dist/shared/index.d.ts +9 -2
- package/dist/types.d.ts +2 -0
- package/package.json +18 -16
- package/dist/bits/date-field/components/date-field-error.svelte +0 -0
|
@@ -2,10 +2,12 @@
|
|
|
2
2
|
import { box, mergeProps } from "svelte-toolbelt";
|
|
3
3
|
import type { CommandSeparatorProps } from "../types.js";
|
|
4
4
|
import { useCommandSeparator } from "../command.svelte.js";
|
|
5
|
-
import {
|
|
5
|
+
import { createId } from "../../../internal/create-id.js";
|
|
6
|
+
|
|
7
|
+
const uid = $props.id();
|
|
6
8
|
|
|
7
9
|
let {
|
|
8
|
-
id =
|
|
10
|
+
id = createId(uid),
|
|
9
11
|
ref = $bindable(null),
|
|
10
12
|
forceMount = false,
|
|
11
13
|
children,
|
|
@@ -2,10 +2,12 @@
|
|
|
2
2
|
import { box, mergeProps } from "svelte-toolbelt";
|
|
3
3
|
import { useCommandViewport } from "../command.svelte.js";
|
|
4
4
|
import type { CommandViewportProps } from "../types.js";
|
|
5
|
-
import {
|
|
5
|
+
import { createId } from "../../../internal/create-id.js";
|
|
6
|
+
|
|
7
|
+
const uid = $props.id();
|
|
6
8
|
|
|
7
9
|
let {
|
|
8
|
-
id =
|
|
10
|
+
id = createId(uid),
|
|
9
11
|
ref = $bindable(null),
|
|
10
12
|
children,
|
|
11
13
|
child,
|
|
@@ -4,11 +4,13 @@
|
|
|
4
4
|
import type { CommandRootProps } from "../types.js";
|
|
5
5
|
import CommandLabel from "./_command-label.svelte";
|
|
6
6
|
import { noop } from "../../../internal/noop.js";
|
|
7
|
-
import {
|
|
7
|
+
import { createId } from "../../../internal/create-id.js";
|
|
8
8
|
import { computeCommandScore } from "../index.js";
|
|
9
9
|
|
|
10
|
+
const uid = $props.id();
|
|
11
|
+
|
|
10
12
|
let {
|
|
11
|
-
id =
|
|
13
|
+
id = createId(uid),
|
|
12
14
|
ref = $bindable(null),
|
|
13
15
|
value = $bindable(""),
|
|
14
16
|
onValueChange = noop,
|
|
@@ -5,7 +5,6 @@
|
|
|
5
5
|
import { useId } from "../../../internal/use-id.js";
|
|
6
6
|
import { noop } from "../../../internal/noop.js";
|
|
7
7
|
import PopperLayer from "../../utilities/popper-layer/popper-layer.svelte";
|
|
8
|
-
import Mounted from "../../utilities/mounted.svelte";
|
|
9
8
|
import { getFloatingContentCSSVars } from "../../../internal/floating-svelte/floating-utils.svelte.js";
|
|
10
9
|
import PopperLayerForceMount from "../../utilities/popper-layer/popper-layer-force-mount.svelte";
|
|
11
10
|
|
|
@@ -66,6 +65,7 @@
|
|
|
66
65
|
<PopperLayerForceMount
|
|
67
66
|
{...mergedProps}
|
|
68
67
|
{...contentState.popperProps}
|
|
68
|
+
ref={contentState.opts.ref}
|
|
69
69
|
isStatic
|
|
70
70
|
side="right"
|
|
71
71
|
sideOffset={2}
|
|
@@ -91,13 +91,13 @@
|
|
|
91
91
|
{@render children?.()}
|
|
92
92
|
</div>
|
|
93
93
|
{/if}
|
|
94
|
-
<Mounted bind:mounted={contentState.mounted} />
|
|
95
94
|
{/snippet}
|
|
96
95
|
</PopperLayerForceMount>
|
|
97
96
|
{:else if !forceMount}
|
|
98
97
|
<PopperLayer
|
|
99
98
|
{...mergedProps}
|
|
100
99
|
{...contentState.popperProps}
|
|
100
|
+
ref={contentState.opts.ref}
|
|
101
101
|
isStatic
|
|
102
102
|
side="right"
|
|
103
103
|
sideOffset={2}
|
|
@@ -123,7 +123,6 @@
|
|
|
123
123
|
{@render children?.()}
|
|
124
124
|
</div>
|
|
125
125
|
{/if}
|
|
126
|
-
<Mounted bind:mounted={contentState.mounted} />
|
|
127
126
|
{/snippet}
|
|
128
127
|
</PopperLayer>
|
|
129
128
|
{/if}
|
|
@@ -5,7 +5,6 @@
|
|
|
5
5
|
import { useId } from "../../../internal/use-id.js";
|
|
6
6
|
import { noop } from "../../../internal/noop.js";
|
|
7
7
|
import PopperLayer from "../../utilities/popper-layer/popper-layer.svelte";
|
|
8
|
-
import Mounted from "../../utilities/mounted.svelte";
|
|
9
8
|
import { getFloatingContentCSSVars } from "../../../internal/floating-svelte/floating-utils.svelte.js";
|
|
10
9
|
import PopperLayerForceMount from "../../utilities/popper-layer/popper-layer-force-mount.svelte";
|
|
11
10
|
|
|
@@ -68,6 +67,7 @@
|
|
|
68
67
|
<PopperLayerForceMount
|
|
69
68
|
{...mergedProps}
|
|
70
69
|
{...contentState.popperProps}
|
|
70
|
+
ref={contentState.opts.ref}
|
|
71
71
|
side="right"
|
|
72
72
|
sideOffset={2}
|
|
73
73
|
align="start"
|
|
@@ -94,13 +94,13 @@
|
|
|
94
94
|
</div>
|
|
95
95
|
</div>
|
|
96
96
|
{/if}
|
|
97
|
-
<Mounted bind:mounted={contentState.mounted} />
|
|
98
97
|
{/snippet}
|
|
99
98
|
</PopperLayerForceMount>
|
|
100
99
|
{:else if !forceMount}
|
|
101
100
|
<PopperLayer
|
|
102
101
|
{...mergedProps}
|
|
103
102
|
{...contentState.popperProps}
|
|
103
|
+
ref={contentState.opts.ref}
|
|
104
104
|
side="right"
|
|
105
105
|
sideOffset={2}
|
|
106
106
|
align="start"
|
|
@@ -127,7 +127,6 @@
|
|
|
127
127
|
</div>
|
|
128
128
|
</div>
|
|
129
129
|
{/if}
|
|
130
|
-
<Mounted bind:mounted={contentState.mounted} />
|
|
131
130
|
{/snippet}
|
|
132
131
|
</PopperLayer>
|
|
133
132
|
{/if}
|
|
@@ -28,7 +28,7 @@
|
|
|
28
28
|
);
|
|
29
29
|
</script>
|
|
30
30
|
|
|
31
|
-
<FloatingLayer.Anchor {id} virtualEl={triggerState.virtualElement}>
|
|
31
|
+
<FloatingLayer.Anchor {id} virtualEl={triggerState.virtualElement} ref={triggerState.opts.ref}>
|
|
32
32
|
{#if child}
|
|
33
33
|
{@render child({ props: mergedProps })}
|
|
34
34
|
{:else}
|
|
@@ -3,10 +3,12 @@
|
|
|
3
3
|
import { useDateFieldInput } from "../date-field.svelte.js";
|
|
4
4
|
import type { DateFieldInputProps } from "../types.js";
|
|
5
5
|
import DateFieldHiddenInput from "./date-field-hidden-input.svelte";
|
|
6
|
-
import {
|
|
6
|
+
import { createId } from "../../../internal/create-id.js";
|
|
7
|
+
|
|
8
|
+
const uid = $props.id();
|
|
7
9
|
|
|
8
10
|
let {
|
|
9
|
-
id =
|
|
11
|
+
id = createId(uid),
|
|
10
12
|
ref = $bindable(null),
|
|
11
13
|
name = "",
|
|
12
14
|
children,
|
|
@@ -2,10 +2,12 @@
|
|
|
2
2
|
import { box, mergeProps } from "svelte-toolbelt";
|
|
3
3
|
import { useDateFieldLabel } from "../date-field.svelte.js";
|
|
4
4
|
import type { DateFieldLabelProps } from "../types.js";
|
|
5
|
-
import {
|
|
5
|
+
import { createId } from "../../../internal/create-id.js";
|
|
6
|
+
|
|
7
|
+
const uid = $props.id();
|
|
6
8
|
|
|
7
9
|
let {
|
|
8
|
-
id =
|
|
10
|
+
id = createId(uid),
|
|
9
11
|
ref = $bindable(null),
|
|
10
12
|
children,
|
|
11
13
|
child,
|
|
@@ -2,10 +2,12 @@
|
|
|
2
2
|
import { box, mergeProps } from "svelte-toolbelt";
|
|
3
3
|
import { useDateFieldSegment } from "../date-field.svelte.js";
|
|
4
4
|
import type { DateFieldSegmentProps } from "../types.js";
|
|
5
|
-
import {
|
|
5
|
+
import { createId } from "../../../internal/create-id.js";
|
|
6
|
+
|
|
7
|
+
const uid = $props.id();
|
|
6
8
|
|
|
7
9
|
let {
|
|
8
|
-
id =
|
|
10
|
+
id = createId(uid),
|
|
9
11
|
ref = $bindable(null),
|
|
10
12
|
children,
|
|
11
13
|
child,
|
|
@@ -4,7 +4,7 @@ import { type WritableBox } from "svelte-toolbelt";
|
|
|
4
4
|
import type { DateRangeFieldRootState } from "../date-range-field/date-range-field.svelte.js";
|
|
5
5
|
import type { ReadableBoxedValues, WritableBoxedValues } from "../../internal/box.svelte.js";
|
|
6
6
|
import type { BitsFocusEvent, BitsKeyboardEvent, BitsMouseEvent, WithRefProps } from "../../internal/types.js";
|
|
7
|
-
import type { DateAndTimeSegmentObj, DateOnInvalid, DateSegmentObj, DateSegmentPart, DateValidator, Granularity, HourCycle, SegmentPart, SegmentValueObj, TimeSegmentObj,
|
|
7
|
+
import type { DateAndTimeSegmentObj, DateOnInvalid, DateSegmentObj, DateSegmentPart, DateValidator, Granularity, HourCycle, SegmentPart, SegmentValueObj, TimeSegmentObj, EditableTimeSegmentPart } from "../../shared/date/types.js";
|
|
8
8
|
import { type Formatter } from "../../internal/date-time/formatter.js";
|
|
9
9
|
import { type Announcer } from "../../internal/date-time/announcer.js";
|
|
10
10
|
export declare const DATE_FIELD_INPUT_ATTR = "data-date-field-input";
|
|
@@ -134,7 +134,7 @@ export declare class DateFieldRootState {
|
|
|
134
134
|
caretColor: string;
|
|
135
135
|
};
|
|
136
136
|
};
|
|
137
|
-
updateSegment<T extends keyof DateAndTimeSegmentObj>(part: T, cb: T extends DateSegmentPart ? Updater<DateSegmentObj[T]> : T extends
|
|
137
|
+
updateSegment<T extends keyof DateAndTimeSegmentObj>(part: T, cb: T extends DateSegmentPart ? Updater<DateSegmentObj[T]> : T extends EditableTimeSegmentPart ? Updater<TimeSegmentObj[T]> : Updater<DateAndTimeSegmentObj[T]>): void;
|
|
138
138
|
handleSegmentClick(e: BitsMouseEvent): void;
|
|
139
139
|
getBaseSegmentAttrs(part: SegmentPart, segmentId: string): {
|
|
140
140
|
"aria-invalid": "true" | undefined;
|
|
@@ -319,7 +319,7 @@ declare class DateFieldDayPeriodSegmentState {
|
|
|
319
319
|
"aria-label": string;
|
|
320
320
|
"aria-valuemin": number;
|
|
321
321
|
"aria-valuemax": number;
|
|
322
|
-
"aria-valuenow": number
|
|
322
|
+
"aria-valuenow": number;
|
|
323
323
|
"aria-valuetext": "AM" | "PM";
|
|
324
324
|
onkeydown: (e: BitsKeyboardEvent) => void;
|
|
325
325
|
onclick: (e: BitsMouseEvent) => void;
|
|
@@ -349,7 +349,7 @@ declare class DateFieldDayPeriodSegmentState {
|
|
|
349
349
|
"aria-label": string;
|
|
350
350
|
"aria-valuemin": number;
|
|
351
351
|
"aria-valuemax": number;
|
|
352
|
-
"aria-valuenow": number
|
|
352
|
+
"aria-valuenow": number;
|
|
353
353
|
"aria-valuetext": "AM" | "PM";
|
|
354
354
|
onkeydown: (e: BitsKeyboardEvent) => void;
|
|
355
355
|
onclick: (e: BitsMouseEvent) => void;
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { box, onDestroyEffect,
|
|
1
|
+
import { box, onDestroyEffect, attachRef } from "svelte-toolbelt";
|
|
2
2
|
import { onMount, untrack } from "svelte";
|
|
3
|
-
import { Context } from "runed";
|
|
3
|
+
import { Context, watch } from "runed";
|
|
4
4
|
import { getAriaDisabled, getAriaHidden, getAriaInvalid, getAriaReadonly, getDataDisabled, getDataInvalid, getDataReadonly, } from "../../internal/attrs.js";
|
|
5
5
|
import { isBrowser, isNumberString } from "../../internal/is.js";
|
|
6
6
|
import { kbd } from "../../internal/kbd.js";
|
|
@@ -8,7 +8,7 @@ import { useId } from "../../internal/use-id.js";
|
|
|
8
8
|
import { createFormatter } from "../../internal/date-time/formatter.js";
|
|
9
9
|
import { getAnnouncer } from "../../internal/date-time/announcer.js";
|
|
10
10
|
import { areAllSegmentsFilled, createContent, getValueFromSegments, inferGranularity, initSegmentStates, initializeSegmentValues, isAcceptableSegmentKey, isDateAndTimeSegmentObj, isDateSegmentPart, isFirstSegment, removeDescriptionElement, setDescription, } from "../../internal/date-time/field/helpers.js";
|
|
11
|
-
import { DATE_SEGMENT_PARTS,
|
|
11
|
+
import { DATE_SEGMENT_PARTS, EDITABLE_TIME_SEGMENT_PARTS, } from "../../internal/date-time/field/parts.js";
|
|
12
12
|
import { getDaysInMonth, isBefore, toDate } from "../../internal/date-time/utils.js";
|
|
13
13
|
import { getFirstSegment, handleSegmentNavigation, isSegmentNavigationKey, moveToNextSegment, moveToPrevSegment, } from "../../internal/date-time/field/segments.js";
|
|
14
14
|
export const DATE_FIELD_INPUT_ATTR = "data-date-field-input";
|
|
@@ -183,13 +183,10 @@ export class DateFieldRootState {
|
|
|
183
183
|
this.segmentValues = initializeSegmentValues(this.inferredGranularity);
|
|
184
184
|
}
|
|
185
185
|
});
|
|
186
|
-
|
|
187
|
-
this.validationStatus
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
this.onInvalid.current?.(this.validationStatus.reason, this.validationStatus.message);
|
|
191
|
-
}
|
|
192
|
-
});
|
|
186
|
+
watch(() => this.validationStatus, () => {
|
|
187
|
+
if (this.validationStatus !== false) {
|
|
188
|
+
this.onInvalid.current?.(this.validationStatus.reason, this.validationStatus.message);
|
|
189
|
+
}
|
|
193
190
|
});
|
|
194
191
|
}
|
|
195
192
|
setName(name) {
|
|
@@ -281,7 +278,7 @@ export class DateFieldRootState {
|
|
|
281
278
|
return [part, `${partValue}`];
|
|
282
279
|
});
|
|
283
280
|
if ("hour" in value) {
|
|
284
|
-
const timeValues =
|
|
281
|
+
const timeValues = EDITABLE_TIME_SEGMENT_PARTS.map((part) => {
|
|
285
282
|
if (part === "dayPeriod") {
|
|
286
283
|
if (this.states.dayPeriod.updating) {
|
|
287
284
|
return [part, this.states.dayPeriod.updating];
|
|
@@ -562,12 +559,6 @@ export class DateFieldInputState {
|
|
|
562
559
|
$effect(() => {
|
|
563
560
|
this.root.setName(this.opts.name.current);
|
|
564
561
|
});
|
|
565
|
-
useRefById({
|
|
566
|
-
...opts,
|
|
567
|
-
onRefChange: (node) => {
|
|
568
|
-
this.root.setFieldNode(node);
|
|
569
|
-
},
|
|
570
|
-
});
|
|
571
562
|
}
|
|
572
563
|
#ariaDescribedBy = $derived.by(() => {
|
|
573
564
|
if (!isBrowser)
|
|
@@ -586,6 +577,7 @@ export class DateFieldInputState {
|
|
|
586
577
|
"data-invalid": this.root.isInvalid ? "" : undefined,
|
|
587
578
|
"data-disabled": getDataDisabled(this.root.disabled.current),
|
|
588
579
|
[DATE_FIELD_INPUT_ATTR]: "",
|
|
580
|
+
...attachRef(this.opts.ref, (v) => this.root.setFieldNode(v)),
|
|
589
581
|
}));
|
|
590
582
|
}
|
|
591
583
|
class DateFieldHiddenInputState {
|
|
@@ -610,12 +602,6 @@ class DateFieldLabelState {
|
|
|
610
602
|
this.opts = opts;
|
|
611
603
|
this.root = root;
|
|
612
604
|
this.onclick = this.onclick.bind(this);
|
|
613
|
-
useRefById({
|
|
614
|
-
...opts,
|
|
615
|
-
onRefChange: (node) => {
|
|
616
|
-
this.root.setLabelNode(node);
|
|
617
|
-
},
|
|
618
|
-
});
|
|
619
605
|
}
|
|
620
606
|
onclick(_) {
|
|
621
607
|
if (this.root.disabled.current)
|
|
@@ -631,6 +617,7 @@ class DateFieldLabelState {
|
|
|
631
617
|
"data-disabled": getDataDisabled(this.root.disabled.current),
|
|
632
618
|
[DATE_FIELD_LABEL_ATTR]: "",
|
|
633
619
|
onclick: this.onclick,
|
|
620
|
+
...attachRef(this.opts.ref, (v) => this.root.setLabelNode(v)),
|
|
634
621
|
}));
|
|
635
622
|
}
|
|
636
623
|
// Base class for numeric segments
|
|
@@ -648,7 +635,6 @@ class BaseNumericSegmentState {
|
|
|
648
635
|
this.announcer = root.announcer;
|
|
649
636
|
this.onkeydown = this.onkeydown.bind(this);
|
|
650
637
|
this.onfocusout = this.onfocusout.bind(this);
|
|
651
|
-
useRefById(opts);
|
|
652
638
|
}
|
|
653
639
|
#getMax() {
|
|
654
640
|
return typeof this.config.max === "function" ? this.config.max(this.root) : this.config.max;
|
|
@@ -893,6 +879,7 @@ class BaseNumericSegmentState {
|
|
|
893
879
|
onfocusout: this.onfocusout,
|
|
894
880
|
onclick: this.root.handleSegmentClick,
|
|
895
881
|
...this.root.getBaseSegmentAttrs(this.part, this.opts.id.current),
|
|
882
|
+
...attachRef(this.opts.ref),
|
|
896
883
|
};
|
|
897
884
|
});
|
|
898
885
|
}
|
|
@@ -1074,12 +1061,6 @@ class DateFieldDayPeriodSegmentState {
|
|
|
1074
1061
|
this.root = root;
|
|
1075
1062
|
this.#announcer = this.root.announcer;
|
|
1076
1063
|
this.onkeydown = this.onkeydown.bind(this);
|
|
1077
|
-
useRefById({
|
|
1078
|
-
...opts,
|
|
1079
|
-
onRefChange: (node) => {
|
|
1080
|
-
this.root.dayPeriodNode = node;
|
|
1081
|
-
},
|
|
1082
|
-
});
|
|
1083
1064
|
}
|
|
1084
1065
|
onkeydown(e) {
|
|
1085
1066
|
if (e.ctrlKey || e.metaKey || this.root.disabled.current)
|
|
@@ -1126,7 +1107,7 @@ class DateFieldDayPeriodSegmentState {
|
|
|
1126
1107
|
return;
|
|
1127
1108
|
const valueMin = 0;
|
|
1128
1109
|
const valueMax = 12;
|
|
1129
|
-
const valueNow = segmentValues.dayPeriod
|
|
1110
|
+
const valueNow = segmentValues.dayPeriod === "AM" ? 0 : 12;
|
|
1130
1111
|
const valueText = segmentValues.dayPeriod ?? "AM";
|
|
1131
1112
|
return {
|
|
1132
1113
|
...this.root.sharedSegmentAttrs,
|
|
@@ -1140,6 +1121,7 @@ class DateFieldDayPeriodSegmentState {
|
|
|
1140
1121
|
onkeydown: this.onkeydown,
|
|
1141
1122
|
onclick: this.root.handleSegmentClick,
|
|
1142
1123
|
...this.root.getBaseSegmentAttrs("dayPeriod", this.opts.id.current),
|
|
1124
|
+
...attachRef(this.opts.ref, (v) => (this.root.dayPeriodNode = v)),
|
|
1143
1125
|
};
|
|
1144
1126
|
});
|
|
1145
1127
|
}
|
|
@@ -1149,12 +1131,12 @@ class DateFieldDayLiteralSegmentState {
|
|
|
1149
1131
|
constructor(opts, root) {
|
|
1150
1132
|
this.opts = opts;
|
|
1151
1133
|
this.root = root;
|
|
1152
|
-
useRefById(opts);
|
|
1153
1134
|
}
|
|
1154
1135
|
props = $derived.by(() => ({
|
|
1155
1136
|
id: this.opts.id.current,
|
|
1156
1137
|
"aria-hidden": getAriaHidden(true),
|
|
1157
1138
|
...this.root.getBaseSegmentAttrs("literal", this.opts.id.current),
|
|
1139
|
+
...attachRef(this.opts.ref),
|
|
1158
1140
|
}));
|
|
1159
1141
|
}
|
|
1160
1142
|
class DateFieldTimeZoneSegmentState {
|
|
@@ -1164,7 +1146,6 @@ class DateFieldTimeZoneSegmentState {
|
|
|
1164
1146
|
this.opts = opts;
|
|
1165
1147
|
this.root = root;
|
|
1166
1148
|
this.onkeydown = this.onkeydown.bind(this);
|
|
1167
|
-
useRefById(opts);
|
|
1168
1149
|
}
|
|
1169
1150
|
onkeydown(e) {
|
|
1170
1151
|
if (e.key !== kbd.TAB)
|
|
@@ -1186,6 +1167,7 @@ class DateFieldTimeZoneSegmentState {
|
|
|
1186
1167
|
tabindex: 0,
|
|
1187
1168
|
...this.root.getBaseSegmentAttrs("timeZoneName", this.opts.id.current),
|
|
1188
1169
|
"data-readonly": getDataReadonly(true),
|
|
1170
|
+
...attachRef(this.opts.ref),
|
|
1189
1171
|
}));
|
|
1190
1172
|
}
|
|
1191
1173
|
// Utils/helpers
|
|
@@ -2,13 +2,15 @@
|
|
|
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 { useId } from "../../../internal/use-id.js";
|
|
6
5
|
import { useCalendarRoot } from "../../calendar/calendar.svelte.js";
|
|
6
|
+
import { createId } from "../../../internal/create-id.js";
|
|
7
|
+
|
|
8
|
+
const uid = $props.id();
|
|
7
9
|
|
|
8
10
|
let {
|
|
9
11
|
children,
|
|
10
12
|
child,
|
|
11
|
-
id =
|
|
13
|
+
id = createId(uid),
|
|
12
14
|
ref = $bindable(null),
|
|
13
15
|
...restProps
|
|
14
16
|
}: DatePickerCalendarProps = $props();
|
|
@@ -2,11 +2,13 @@
|
|
|
2
2
|
import { box, mergeProps } from "svelte-toolbelt";
|
|
3
3
|
import type { DateRangeFieldInputProps } from "../types.js";
|
|
4
4
|
import { useDateRangeFieldInput } from "../date-range-field.svelte.js";
|
|
5
|
-
import {
|
|
5
|
+
import { createId } from "../../../internal/create-id.js";
|
|
6
6
|
import DateFieldHiddenInput from "../../date-field/components/date-field-hidden-input.svelte";
|
|
7
7
|
|
|
8
|
+
const uid = $props.id();
|
|
9
|
+
|
|
8
10
|
let {
|
|
9
|
-
id =
|
|
11
|
+
id = createId(uid),
|
|
10
12
|
ref = $bindable(null),
|
|
11
13
|
name = "",
|
|
12
14
|
child,
|
|
@@ -2,10 +2,12 @@
|
|
|
2
2
|
import { box, mergeProps } from "svelte-toolbelt";
|
|
3
3
|
import { useDateRangeFieldLabel } from "../date-range-field.svelte.js";
|
|
4
4
|
import type { DateRangeFieldLabelProps } from "../types.js";
|
|
5
|
-
import {
|
|
5
|
+
import { createId } from "../../../internal/create-id.js";
|
|
6
|
+
|
|
7
|
+
const uid = $props.id();
|
|
6
8
|
|
|
7
9
|
let {
|
|
8
|
-
id =
|
|
10
|
+
id = createId(uid),
|
|
9
11
|
ref = $bindable(null),
|
|
10
12
|
children,
|
|
11
13
|
child,
|
|
@@ -3,14 +3,16 @@
|
|
|
3
3
|
import type { DateValue } from "@internationalized/date";
|
|
4
4
|
import { useDateRangeFieldRoot } from "../date-range-field.svelte.js";
|
|
5
5
|
import type { DateRangeFieldRootProps } from "../types.js";
|
|
6
|
-
import {
|
|
6
|
+
import { createId } from "../../../internal/create-id.js";
|
|
7
7
|
import { noop } from "../../../internal/noop.js";
|
|
8
8
|
import type { DateRange } from "../../../shared/index.js";
|
|
9
9
|
import { getDefaultDate } from "../../../internal/date-time/utils.js";
|
|
10
10
|
import { watch } from "runed";
|
|
11
11
|
|
|
12
|
+
const uid = $props.id();
|
|
13
|
+
|
|
12
14
|
let {
|
|
13
|
-
id =
|
|
15
|
+
id = createId(uid),
|
|
14
16
|
ref = $bindable(null),
|
|
15
17
|
value = $bindable(),
|
|
16
18
|
onValueChange = noop,
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { box, onDestroyEffect,
|
|
1
|
+
import { box, onDestroyEffect, attachRef } from "svelte-toolbelt";
|
|
2
2
|
import { Context, watch } from "runed";
|
|
3
3
|
import { DateFieldInputState, useDateFieldRoot } from "../date-field/date-field.svelte.js";
|
|
4
4
|
import { useId } from "../../internal/use-id.js";
|
|
@@ -24,12 +24,6 @@ export class DateRangeFieldRootState {
|
|
|
24
24
|
constructor(opts) {
|
|
25
25
|
this.opts = opts;
|
|
26
26
|
this.formatter = createFormatter(this.opts.locale.current);
|
|
27
|
-
useRefById({
|
|
28
|
-
...opts,
|
|
29
|
-
onRefChange: (node) => {
|
|
30
|
-
this.fieldNode = node;
|
|
31
|
-
},
|
|
32
|
-
});
|
|
33
27
|
onDestroyEffect(() => {
|
|
34
28
|
removeDescriptionElement(this.descriptionId);
|
|
35
29
|
});
|
|
@@ -136,6 +130,7 @@ export class DateRangeFieldRootState {
|
|
|
136
130
|
role: "group",
|
|
137
131
|
[DATE_RANGE_FIELD_ROOT_ATTR]: "",
|
|
138
132
|
"data-invalid": getDataInvalid(this.isInvalid),
|
|
133
|
+
...attachRef(this.opts.ref, (v) => (this.fieldNode = v)),
|
|
139
134
|
}));
|
|
140
135
|
}
|
|
141
136
|
class DateRangeFieldLabelState {
|
|
@@ -144,12 +139,6 @@ class DateRangeFieldLabelState {
|
|
|
144
139
|
constructor(opts, root) {
|
|
145
140
|
this.opts = opts;
|
|
146
141
|
this.root = root;
|
|
147
|
-
useRefById({
|
|
148
|
-
...opts,
|
|
149
|
-
onRefChange: (node) => {
|
|
150
|
-
root.labelNode = node;
|
|
151
|
-
},
|
|
152
|
-
});
|
|
153
142
|
}
|
|
154
143
|
#onclick = () => {
|
|
155
144
|
if (this.root.opts.disabled.current)
|
|
@@ -166,6 +155,7 @@ class DateRangeFieldLabelState {
|
|
|
166
155
|
"data-disabled": getDataDisabled(this.root.opts.disabled.current),
|
|
167
156
|
[DATE_RANGE_FIELD_LABEL_ATTR]: "",
|
|
168
157
|
onclick: this.#onclick,
|
|
158
|
+
...attachRef(this.opts.ref, (v) => (this.root.labelNode = v)),
|
|
169
159
|
}));
|
|
170
160
|
}
|
|
171
161
|
export const DateRangeFieldRootContext = new Context("DateRangeField.Root");
|
|
@@ -2,13 +2,15 @@
|
|
|
2
2
|
import { box, mergeProps } from "svelte-toolbelt";
|
|
3
3
|
import type { DateRangePickerCalendarProps } from "../types.js";
|
|
4
4
|
import { DateRangePickerRootContext } from "../date-range-picker.svelte.js";
|
|
5
|
-
import {
|
|
5
|
+
import { createId } from "../../../internal/create-id.js";
|
|
6
6
|
import { useRangeCalendarRoot } from "../../range-calendar/range-calendar.svelte.js";
|
|
7
7
|
|
|
8
|
+
const uid = $props.id();
|
|
9
|
+
|
|
8
10
|
let {
|
|
9
11
|
children,
|
|
10
12
|
child,
|
|
11
|
-
id =
|
|
13
|
+
id = createId(uid),
|
|
12
14
|
ref = $bindable(null),
|
|
13
15
|
...restProps
|
|
14
16
|
}: DateRangePickerCalendarProps = $props();
|
|
@@ -2,12 +2,14 @@
|
|
|
2
2
|
import { box, mergeProps } from "svelte-toolbelt";
|
|
3
3
|
import { useDialogClose } from "../dialog.svelte.js";
|
|
4
4
|
import type { DialogCloseProps } from "../types.js";
|
|
5
|
-
import {
|
|
5
|
+
import { createId } from "../../../internal/create-id.js";
|
|
6
|
+
|
|
7
|
+
const uid = $props.id();
|
|
6
8
|
|
|
7
9
|
let {
|
|
8
10
|
children,
|
|
9
11
|
child,
|
|
10
|
-
id =
|
|
12
|
+
id = createId(uid),
|
|
11
13
|
ref = $bindable(null),
|
|
12
14
|
disabled = false,
|
|
13
15
|
...restProps
|
|
@@ -7,13 +7,15 @@
|
|
|
7
7
|
import FocusScope from "../../utilities/focus-scope/focus-scope.svelte";
|
|
8
8
|
import PresenceLayer from "../../utilities/presence-layer/presence-layer.svelte";
|
|
9
9
|
import TextSelectionLayer from "../../utilities/text-selection-layer/text-selection-layer.svelte";
|
|
10
|
-
import {
|
|
10
|
+
import { createId } from "../../../internal/create-id.js";
|
|
11
11
|
import { noop } from "../../../internal/noop.js";
|
|
12
12
|
import ScrollLock from "../../utilities/scroll-lock/scroll-lock.svelte";
|
|
13
13
|
import { shouldTrapFocus } from "../../../internal/should-trap-focus.js";
|
|
14
14
|
|
|
15
|
+
const uid = $props.id();
|
|
16
|
+
|
|
15
17
|
let {
|
|
16
|
-
id =
|
|
18
|
+
id = createId(uid),
|
|
17
19
|
children,
|
|
18
20
|
child,
|
|
19
21
|
ref = $bindable(null),
|
|
@@ -43,9 +45,11 @@
|
|
|
43
45
|
{...mergedProps}
|
|
44
46
|
{forceMount}
|
|
45
47
|
present={contentState.root.opts.open.current || forceMount}
|
|
48
|
+
ref={contentState.opts.ref}
|
|
46
49
|
>
|
|
47
50
|
{#snippet presence()}
|
|
48
51
|
<FocusScope
|
|
52
|
+
ref={contentState.opts.ref}
|
|
49
53
|
loop
|
|
50
54
|
trapFocus={shouldTrapFocus({
|
|
51
55
|
forceMount,
|
|
@@ -73,6 +77,7 @@
|
|
|
73
77
|
>
|
|
74
78
|
<DismissibleLayer
|
|
75
79
|
{...mergedProps}
|
|
80
|
+
ref={contentState.opts.ref}
|
|
76
81
|
enabled={contentState.root.opts.open.current}
|
|
77
82
|
onInteractOutside={(e) => {
|
|
78
83
|
onInteractOutside(e);
|
|
@@ -82,6 +87,7 @@
|
|
|
82
87
|
>
|
|
83
88
|
<TextSelectionLayer
|
|
84
89
|
{...mergedProps}
|
|
90
|
+
ref={contentState.opts.ref}
|
|
85
91
|
enabled={contentState.root.opts.open.current}
|
|
86
92
|
>
|
|
87
93
|
{#if child}
|
|
@@ -2,10 +2,12 @@
|
|
|
2
2
|
import { box, mergeProps } from "svelte-toolbelt";
|
|
3
3
|
import { useDialogDescription } from "../dialog.svelte.js";
|
|
4
4
|
import type { DialogDescriptionProps } from "../types.js";
|
|
5
|
-
import {
|
|
5
|
+
import { createId } from "../../../internal/create-id.js";
|
|
6
|
+
|
|
7
|
+
const uid = $props.id();
|
|
6
8
|
|
|
7
9
|
let {
|
|
8
|
-
id =
|
|
10
|
+
id = createId(uid),
|
|
9
11
|
children,
|
|
10
12
|
child,
|
|
11
13
|
ref = $bindable(null),
|
|
@@ -2,11 +2,13 @@
|
|
|
2
2
|
import { box, mergeProps } from "svelte-toolbelt";
|
|
3
3
|
import { useDialogOverlay } from "../dialog.svelte.js";
|
|
4
4
|
import type { DialogOverlayProps } from "../types.js";
|
|
5
|
-
import {
|
|
5
|
+
import { createId } from "../../../internal/create-id.js";
|
|
6
6
|
import PresenceLayer from "../../utilities/presence-layer/presence-layer.svelte";
|
|
7
7
|
|
|
8
|
+
const uid = $props.id();
|
|
9
|
+
|
|
8
10
|
let {
|
|
9
|
-
id =
|
|
11
|
+
id = createId(uid),
|
|
10
12
|
forceMount = false,
|
|
11
13
|
child,
|
|
12
14
|
children,
|
|
@@ -25,7 +27,10 @@
|
|
|
25
27
|
const mergedProps = $derived(mergeProps(restProps, overlayState.props));
|
|
26
28
|
</script>
|
|
27
29
|
|
|
28
|
-
<PresenceLayer
|
|
30
|
+
<PresenceLayer
|
|
31
|
+
present={overlayState.root.opts.open.current || forceMount}
|
|
32
|
+
ref={overlayState.opts.ref}
|
|
33
|
+
>
|
|
29
34
|
{#snippet presence()}
|
|
30
35
|
{#if child}
|
|
31
36
|
{@render child({ props: mergeProps(mergedProps), ...overlayState.snippetProps })}
|
|
@@ -2,10 +2,12 @@
|
|
|
2
2
|
import { box, mergeProps } from "svelte-toolbelt";
|
|
3
3
|
import { useDialogTitle } from "../dialog.svelte.js";
|
|
4
4
|
import type { DialogTitleProps } from "../types.js";
|
|
5
|
-
import {
|
|
5
|
+
import { createId } from "../../../internal/create-id.js";
|
|
6
|
+
|
|
7
|
+
const uid = $props.id();
|
|
6
8
|
|
|
7
9
|
let {
|
|
8
|
-
id =
|
|
10
|
+
id = createId(uid),
|
|
9
11
|
ref = $bindable(null),
|
|
10
12
|
child,
|
|
11
13
|
children,
|
|
@@ -2,10 +2,12 @@
|
|
|
2
2
|
import { box, mergeProps } from "svelte-toolbelt";
|
|
3
3
|
import { useDialogTrigger } from "../dialog.svelte.js";
|
|
4
4
|
import type { DialogTriggerProps } from "../types.js";
|
|
5
|
-
import {
|
|
5
|
+
import { createId } from "../../../internal/create-id.js";
|
|
6
|
+
|
|
7
|
+
const uid = $props.id();
|
|
6
8
|
|
|
7
9
|
let {
|
|
8
|
-
id =
|
|
10
|
+
id = createId(uid),
|
|
9
11
|
ref = $bindable(null),
|
|
10
12
|
children,
|
|
11
13
|
child,
|