bits-ui 2.10.0 → 2.11.1
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 +9 -7
- package/dist/bits/accordion/accordion.svelte.js +36 -13
- package/dist/bits/accordion/components/accordion-content.svelte +15 -7
- package/dist/bits/accordion/components/accordion-header.svelte +4 -4
- package/dist/bits/accordion/components/accordion-item.svelte +5 -5
- package/dist/bits/accordion/components/accordion-trigger.svelte +4 -4
- package/dist/bits/accordion/components/accordion.svelte +7 -7
- package/dist/bits/accordion/components/accordion.svelte.d.ts +1 -1
- package/dist/bits/accordion/types.d.ts +17 -8
- package/dist/bits/alert-dialog/components/alert-dialog-action.svelte +3 -3
- package/dist/bits/alert-dialog/components/alert-dialog-cancel.svelte +4 -4
- package/dist/bits/alert-dialog/components/alert-dialog-content.svelte +3 -3
- package/dist/bits/alert-dialog/components/alert-dialog.svelte +4 -4
- package/dist/bits/aspect-ratio/components/aspect-ratio.svelte +4 -4
- package/dist/bits/avatar/components/avatar-fallback.svelte +3 -3
- package/dist/bits/avatar/components/avatar-image.svelte +6 -6
- package/dist/bits/avatar/components/avatar.svelte +5 -5
- package/dist/bits/calendar/calendar.svelte.js +30 -30
- package/dist/bits/calendar/components/calendar-cell.svelte +5 -5
- package/dist/bits/calendar/components/calendar-day.svelte +3 -3
- package/dist/bits/calendar/components/calendar-grid-body.svelte +3 -3
- package/dist/bits/calendar/components/calendar-grid-head.svelte +3 -3
- package/dist/bits/calendar/components/calendar-grid-row.svelte +3 -3
- package/dist/bits/calendar/components/calendar-grid.svelte +3 -3
- package/dist/bits/calendar/components/calendar-head-cell.svelte +3 -3
- package/dist/bits/calendar/components/calendar-header.svelte +3 -3
- package/dist/bits/calendar/components/calendar-heading.svelte +3 -3
- package/dist/bits/calendar/components/calendar-month-select.svelte +6 -6
- package/dist/bits/calendar/components/calendar-next-button.svelte +3 -3
- package/dist/bits/calendar/components/calendar-prev-button.svelte +3 -3
- package/dist/bits/calendar/components/calendar-year-select.svelte +6 -6
- package/dist/bits/calendar/components/calendar.svelte +24 -24
- package/dist/bits/calendar/components/calendar.svelte.d.ts +1 -1
- package/dist/bits/checkbox/checkbox.svelte.d.ts +1 -1
- package/dist/bits/checkbox/checkbox.svelte.js +7 -7
- package/dist/bits/checkbox/components/checkbox-group-label.svelte +3 -3
- package/dist/bits/checkbox/components/checkbox-group.svelte +9 -9
- package/dist/bits/checkbox/components/checkbox-group.svelte.d.ts +1 -1
- package/dist/bits/checkbox/components/checkbox.svelte +11 -11
- package/dist/bits/checkbox/components/checkbox.svelte.d.ts +1 -1
- package/dist/bits/collapsible/collapsible.svelte.d.ts +2 -0
- package/dist/bits/collapsible/collapsible.svelte.js +31 -8
- package/dist/bits/collapsible/components/collapsible-content.svelte +15 -7
- package/dist/bits/collapsible/components/collapsible-trigger.svelte +4 -4
- package/dist/bits/collapsible/components/collapsible.svelte +6 -6
- package/dist/bits/collapsible/types.d.ts +12 -3
- package/dist/bits/combobox/components/combobox-input.svelte +4 -4
- package/dist/bits/combobox/components/combobox-trigger.svelte +3 -3
- package/dist/bits/combobox/components/combobox.svelte +12 -12
- package/dist/bits/command/command.svelte.js +6 -6
- package/dist/bits/command/components/_command-label.svelte +3 -3
- package/dist/bits/command/components/command-empty.svelte +4 -4
- package/dist/bits/command/components/command-group-heading.svelte +3 -3
- package/dist/bits/command/components/command-group-items.svelte +3 -3
- package/dist/bits/command/components/command-group.svelte +5 -5
- package/dist/bits/command/components/command-input.svelte +5 -5
- package/dist/bits/command/components/command-input.svelte.d.ts +1 -1
- package/dist/bits/command/components/command-item.svelte +8 -8
- package/dist/bits/command/components/command-link-item.svelte +8 -8
- package/dist/bits/command/components/command-list.svelte +4 -4
- package/dist/bits/command/components/command-loading.svelte +4 -4
- package/dist/bits/command/components/command-separator.svelte +4 -4
- package/dist/bits/command/components/command-viewport.svelte +3 -3
- package/dist/bits/command/components/command.svelte +12 -12
- package/dist/bits/command/components/command.svelte.d.ts +1 -1
- package/dist/bits/context-menu/components/context-menu-content-static.svelte +5 -5
- package/dist/bits/context-menu/components/context-menu-content.svelte +5 -5
- package/dist/bits/context-menu/components/context-menu-trigger.svelte +12 -5
- package/dist/bits/context-menu/components/context-menu.svelte +5 -5
- package/dist/bits/date-field/components/date-field-input.svelte +4 -4
- package/dist/bits/date-field/components/date-field-label.svelte +3 -3
- package/dist/bits/date-field/components/date-field-segment.svelte +3 -3
- package/dist/bits/date-field/components/date-field.svelte +16 -16
- package/dist/bits/date-field/date-field.svelte.js +17 -17
- package/dist/bits/date-picker/components/date-picker-calendar.svelte +5 -5
- package/dist/bits/date-picker/components/date-picker.svelte +32 -32
- package/dist/bits/date-range-field/components/date-range-field-input.svelte +4 -4
- package/dist/bits/date-range-field/components/date-range-field-label.svelte +3 -3
- package/dist/bits/date-range-field/components/date-range-field.svelte +19 -19
- package/dist/bits/date-range-field/components/date-range-field.svelte.d.ts +1 -1
- package/dist/bits/date-range-field/date-range-field.svelte.js +9 -9
- package/dist/bits/date-range-picker/components/date-range-picker-calendar.svelte +3 -3
- package/dist/bits/date-range-picker/components/date-range-picker.svelte +37 -37
- package/dist/bits/date-range-picker/components/date-range-picker.svelte.d.ts +1 -1
- package/dist/bits/dialog/components/dialog-close.svelte +5 -5
- package/dist/bits/dialog/components/dialog-content.svelte +3 -3
- package/dist/bits/dialog/components/dialog-description.svelte +3 -3
- package/dist/bits/dialog/components/dialog-overlay.svelte +3 -3
- package/dist/bits/dialog/components/dialog-title.svelte +4 -4
- package/dist/bits/dialog/components/dialog-trigger.svelte +4 -4
- package/dist/bits/dialog/components/dialog.svelte +4 -4
- package/dist/bits/dialog/dialog.svelte.d.ts +1 -1
- package/dist/bits/dialog/dialog.svelte.js +4 -4
- package/dist/bits/dropdown-menu/components/dropdown-menu-content-static.svelte +5 -5
- package/dist/bits/dropdown-menu/components/dropdown-menu-content.svelte +5 -5
- package/dist/bits/label/components/label.svelte +3 -3
- package/dist/bits/link-preview/components/link-preview-content-static.svelte +5 -5
- package/dist/bits/link-preview/components/link-preview-content.svelte +5 -5
- package/dist/bits/link-preview/components/link-preview-trigger.svelte +3 -3
- package/dist/bits/link-preview/components/link-preview.svelte +6 -6
- package/dist/bits/link-preview/link-preview.svelte.js +4 -4
- package/dist/bits/menu/components/menu-checkbox-group.svelte +5 -5
- package/dist/bits/menu/components/menu-checkbox-group.svelte.d.ts +1 -1
- package/dist/bits/menu/components/menu-checkbox-item.svelte +9 -9
- package/dist/bits/menu/components/menu-checkbox-item.svelte.d.ts +1 -1
- package/dist/bits/menu/components/menu-content-static.svelte +5 -5
- package/dist/bits/menu/components/menu-content.svelte +5 -5
- package/dist/bits/menu/components/menu-group-heading.svelte +3 -3
- package/dist/bits/menu/components/menu-group.svelte +3 -3
- package/dist/bits/menu/components/menu-item.svelte +6 -6
- package/dist/bits/menu/components/menu-radio-group.svelte +4 -4
- package/dist/bits/menu/components/menu-radio-group.svelte.d.ts +1 -1
- package/dist/bits/menu/components/menu-radio-item.svelte +7 -7
- package/dist/bits/menu/components/menu-separator.svelte +3 -3
- package/dist/bits/menu/components/menu-sub-content-static.svelte +5 -5
- package/dist/bits/menu/components/menu-sub-content.svelte +5 -5
- package/dist/bits/menu/components/menu-sub-trigger.svelte +5 -5
- package/dist/bits/menu/components/menu-sub.svelte +3 -3
- package/dist/bits/menu/components/menu-trigger.svelte +4 -4
- package/dist/bits/menu/components/menu.svelte +5 -5
- package/dist/bits/menu/menu.svelte.d.ts +1 -1
- package/dist/bits/menu/menu.svelte.js +24 -14
- package/dist/bits/menubar/components/menubar-content-static.svelte +8 -8
- package/dist/bits/menubar/components/menubar-content.svelte +8 -8
- package/dist/bits/menubar/components/menubar-menu.svelte +3 -3
- package/dist/bits/menubar/components/menubar-trigger.svelte +4 -4
- package/dist/bits/menubar/components/menubar.svelte +6 -6
- package/dist/bits/menubar/menubar.svelte.js +5 -5
- package/dist/bits/meter/components/meter.svelte +6 -6
- package/dist/bits/navigation-menu/components/navigation-menu-content-impl.svelte +3 -3
- package/dist/bits/navigation-menu/components/navigation-menu-content.svelte +3 -3
- package/dist/bits/navigation-menu/components/navigation-menu-indicator-impl.svelte +3 -3
- package/dist/bits/navigation-menu/components/navigation-menu-indicator.svelte +2 -2
- package/dist/bits/navigation-menu/components/navigation-menu-item.svelte +5 -5
- package/dist/bits/navigation-menu/components/navigation-menu-link.svelte +5 -5
- package/dist/bits/navigation-menu/components/navigation-menu-list.svelte +3 -3
- package/dist/bits/navigation-menu/components/navigation-menu-sub.svelte +5 -5
- package/dist/bits/navigation-menu/components/navigation-menu-sub.svelte.d.ts +1 -1
- package/dist/bits/navigation-menu/components/navigation-menu-trigger.svelte +4 -4
- package/dist/bits/navigation-menu/components/navigation-menu-viewport.svelte +3 -3
- package/dist/bits/navigation-menu/components/navigation-menu.svelte +8 -8
- package/dist/bits/navigation-menu/components/navigation-menu.svelte.d.ts +1 -1
- package/dist/bits/navigation-menu/navigation-menu.svelte.d.ts +6 -6
- package/dist/bits/navigation-menu/navigation-menu.svelte.js +23 -23
- package/dist/bits/pagination/components/pagination-next-button.svelte +4 -4
- package/dist/bits/pagination/components/pagination-page.svelte +5 -5
- package/dist/bits/pagination/components/pagination-prev-button.svelte +4 -4
- package/dist/bits/pagination/components/pagination.svelte +9 -9
- package/dist/bits/pagination/pagination.svelte.d.ts +1 -1
- package/dist/bits/pagination/pagination.svelte.js +2 -2
- package/dist/bits/pin-input/components/pin-input-cell.svelte +4 -4
- package/dist/bits/pin-input/components/pin-input.svelte +14 -14
- package/dist/bits/pin-input/components/pin-input.svelte.d.ts +1 -1
- package/dist/bits/pin-input/pin-input.svelte.d.ts +2 -2
- package/dist/bits/pin-input/pin-input.svelte.js +5 -5
- package/dist/bits/popover/components/popover-close.svelte +3 -3
- package/dist/bits/popover/components/popover-content-static.svelte +6 -6
- package/dist/bits/popover/components/popover-content.svelte +6 -6
- package/dist/bits/popover/components/popover-trigger.svelte +4 -4
- package/dist/bits/popover/components/popover.svelte +3 -3
- package/dist/bits/popover/popover.svelte.js +4 -4
- package/dist/bits/progress/components/progress.svelte +6 -6
- package/dist/bits/radio-group/components/radio-group-item.svelte +5 -5
- package/dist/bits/radio-group/components/radio-group.svelte +10 -10
- package/dist/bits/radio-group/components/radio-group.svelte.d.ts +1 -1
- package/dist/bits/radio-group/radio-group.svelte.js +7 -7
- package/dist/bits/range-calendar/components/range-calendar-cell.svelte +5 -5
- package/dist/bits/range-calendar/components/range-calendar-day.svelte +3 -3
- package/dist/bits/range-calendar/components/range-calendar.svelte +26 -26
- package/dist/bits/range-calendar/components/range-calendar.svelte.d.ts +1 -1
- package/dist/bits/range-calendar/range-calendar.svelte.js +7 -7
- package/dist/bits/rating-group/components/rating-group-item.svelte +5 -5
- package/dist/bits/rating-group/components/rating-group.svelte +14 -14
- package/dist/bits/rating-group/components/rating-group.svelte.d.ts +1 -1
- package/dist/bits/rating-group/rating-group.svelte.js +4 -4
- package/dist/bits/scroll-area/components/scroll-area-corner-impl.svelte +3 -3
- 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 +4 -4
- package/dist/bits/scroll-area/components/scroll-area-thumb-impl.svelte +4 -4
- package/dist/bits/scroll-area/components/scroll-area-viewport.svelte +3 -3
- package/dist/bits/scroll-area/components/scroll-area.svelte +6 -6
- package/dist/bits/scroll-area/scroll-area.svelte.d.ts +2 -2
- package/dist/bits/scroll-area/scroll-area.svelte.js +6 -7
- package/dist/bits/select/components/select-content-static.svelte +5 -5
- package/dist/bits/select/components/select-content.svelte +5 -5
- package/dist/bits/select/components/select-group-heading.svelte +3 -3
- package/dist/bits/select/components/select-group.svelte +3 -3
- package/dist/bits/select/components/select-hidden-input.svelte +2 -2
- package/dist/bits/select/components/select-item.svelte +8 -8
- package/dist/bits/select/components/select-scroll-down-button.svelte +4 -4
- package/dist/bits/select/components/select-scroll-up-button.svelte +4 -4
- package/dist/bits/select/components/select-trigger.svelte +3 -3
- package/dist/bits/select/components/select-viewport.svelte +3 -3
- package/dist/bits/select/components/select.svelte +12 -12
- package/dist/bits/select/select.svelte.js +12 -12
- package/dist/bits/separator/components/separator.svelte +5 -5
- package/dist/bits/separator/separator.svelte.d.ts +2 -2
- package/dist/bits/separator/separator.svelte.js +4 -4
- package/dist/bits/slider/components/slider-range.svelte +3 -3
- package/dist/bits/slider/components/slider-thumb-label.svelte +5 -5
- package/dist/bits/slider/components/slider-thumb.svelte +5 -5
- package/dist/bits/slider/components/slider-tick-label.svelte +5 -5
- package/dist/bits/slider/components/slider-tick.svelte +4 -4
- package/dist/bits/slider/components/slider.svelte +14 -14
- package/dist/bits/slider/components/slider.svelte.d.ts +1 -1
- package/dist/bits/slider/slider.svelte.d.ts +16 -16
- package/dist/bits/slider/slider.svelte.js +20 -20
- package/dist/bits/switch/components/switch-thumb.svelte +3 -3
- package/dist/bits/switch/components/switch.svelte +8 -8
- package/dist/bits/switch/components/switch.svelte.d.ts +1 -1
- package/dist/bits/switch/switch.svelte.js +5 -5
- package/dist/bits/tabs/components/tabs-content.svelte +4 -4
- package/dist/bits/tabs/components/tabs-list.svelte +3 -3
- package/dist/bits/tabs/components/tabs-trigger.svelte +5 -5
- package/dist/bits/tabs/components/tabs.svelte +8 -8
- package/dist/bits/tabs/components/tabs.svelte.d.ts +1 -1
- package/dist/bits/tabs/tabs.svelte.d.ts +5 -5
- package/dist/bits/tabs/tabs.svelte.js +11 -11
- package/dist/bits/time-field/components/time-field-input.svelte +4 -4
- package/dist/bits/time-field/components/time-field-label.svelte +3 -3
- package/dist/bits/time-field/components/time-field-segment.svelte +3 -3
- package/dist/bits/time-field/components/time-field.svelte +16 -16
- package/dist/bits/time-field/time-field.svelte.js +15 -15
- package/dist/bits/time-range-field/components/time-range-field-input.svelte +4 -4
- package/dist/bits/time-range-field/components/time-range-field-label.svelte +3 -3
- package/dist/bits/time-range-field/components/time-range-field.svelte +19 -19
- package/dist/bits/time-range-field/components/time-range-field.svelte.d.ts +1 -1
- package/dist/bits/time-range-field/time-range-field.svelte.js +7 -7
- package/dist/bits/toggle/components/toggle.svelte +5 -5
- package/dist/bits/toggle/toggle.svelte.d.ts +0 -1
- package/dist/bits/toggle/toggle.svelte.js +5 -10
- package/dist/bits/toggle-group/components/toggle-group-item.svelte +5 -5
- package/dist/bits/toggle-group/components/toggle-group.svelte +8 -8
- package/dist/bits/toggle-group/components/toggle-group.svelte.d.ts +1 -1
- package/dist/bits/toggle-group/toggle-group.svelte.d.ts +2 -2
- package/dist/bits/toggle-group/toggle-group.svelte.js +7 -7
- package/dist/bits/toolbar/components/toolbar-button.svelte +4 -4
- package/dist/bits/toolbar/components/toolbar-group-item.svelte +5 -5
- package/dist/bits/toolbar/components/toolbar-group.svelte +5 -5
- package/dist/bits/toolbar/components/toolbar-group.svelte.d.ts +1 -1
- package/dist/bits/toolbar/components/toolbar-link.svelte +3 -3
- package/dist/bits/toolbar/components/toolbar.svelte +5 -5
- package/dist/bits/toolbar/toolbar.svelte.d.ts +4 -4
- package/dist/bits/toolbar/toolbar.svelte.js +11 -11
- package/dist/bits/tooltip/components/tooltip-content-static.svelte +5 -5
- package/dist/bits/tooltip/components/tooltip-content.svelte +7 -5
- package/dist/bits/tooltip/components/tooltip-provider.svelte +7 -7
- package/dist/bits/tooltip/components/tooltip-trigger.svelte +4 -4
- package/dist/bits/tooltip/components/tooltip.svelte +8 -8
- package/dist/bits/tooltip/tooltip.svelte.js +7 -7
- package/dist/bits/tooltip/types.d.ts +1 -1
- package/dist/bits/utilities/config/bits-config.js +2 -2
- package/dist/bits/utilities/config/components/bits-config.svelte +3 -3
- package/dist/bits/utilities/config/prop-resolvers.js +2 -2
- package/dist/bits/utilities/dismissible-layer/dismissible-layer.svelte +7 -7
- package/dist/bits/utilities/dismissible-layer/use-dismissable-layer.svelte.d.ts +3 -2
- package/dist/bits/utilities/dismissible-layer/use-dismissable-layer.svelte.js +8 -5
- package/dist/bits/utilities/escape-layer/escape-layer.svelte +4 -4
- package/dist/bits/utilities/floating-layer/components/floating-layer-anchor.svelte +3 -3
- package/dist/bits/utilities/floating-layer/components/floating-layer-arrow.svelte +3 -3
- package/dist/bits/utilities/floating-layer/components/floating-layer-content.svelte +20 -20
- package/dist/bits/utilities/floating-layer/use-floating-layer.svelte.d.ts +3 -3
- package/dist/bits/utilities/floating-layer/use-floating-layer.svelte.js +9 -9
- package/dist/bits/utilities/focus-scope/focus-scope-manager.js +2 -2
- package/dist/bits/utilities/focus-scope/focus-scope.svelte +5 -5
- package/dist/bits/utilities/presence-layer/presence-layer.svelte +2 -2
- package/dist/bits/utilities/text-selection-layer/text-selection-layer.svelte +5 -5
- package/dist/internal/attrs.d.ts +4 -19
- package/dist/internal/attrs.js +11 -56
- package/dist/internal/body-scroll-lock.svelte.js +5 -5
- package/dist/internal/box-auto-reset.svelte.js +2 -2
- package/dist/internal/date-time/calendar-helpers.svelte.js +4 -4
- package/dist/internal/events.d.ts +0 -6
- package/dist/internal/events.js +0 -17
- package/dist/internal/floating-svelte/use-floating.svelte.js +2 -2
- package/dist/internal/state-machine.js +2 -2
- package/package.json +2 -2
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
<script lang="ts">
|
|
2
|
-
import {
|
|
2
|
+
import { boxWith } from "svelte-toolbelt";
|
|
3
3
|
import type { PresenceLayerImplProps } from "./types.js";
|
|
4
4
|
import { Presence } from "./presence.svelte.js";
|
|
5
5
|
|
|
6
6
|
let { open, forceMount, presence, ref }: PresenceLayerImplProps = $props();
|
|
7
7
|
|
|
8
8
|
const presenceState = new Presence({
|
|
9
|
-
open:
|
|
9
|
+
open: boxWith(() => open),
|
|
10
10
|
ref,
|
|
11
11
|
});
|
|
12
12
|
</script>
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
<script lang="ts">
|
|
2
|
-
import {
|
|
2
|
+
import { boxWith } from "svelte-toolbelt";
|
|
3
3
|
import type { TextSelectionLayerImplProps } from "./types.js";
|
|
4
4
|
import { TextSelectionLayerState } from "./use-text-selection-layer.svelte.js";
|
|
5
5
|
import { noop } from "../../../internal/noop.js";
|
|
@@ -15,10 +15,10 @@
|
|
|
15
15
|
}: TextSelectionLayerImplProps = $props();
|
|
16
16
|
|
|
17
17
|
TextSelectionLayerState.create({
|
|
18
|
-
id:
|
|
19
|
-
onPointerDown:
|
|
20
|
-
onPointerUp:
|
|
21
|
-
enabled:
|
|
18
|
+
id: boxWith(() => id),
|
|
19
|
+
onPointerDown: boxWith(() => onPointerDown),
|
|
20
|
+
onPointerUp: boxWith(() => onPointerUp),
|
|
21
|
+
enabled: boxWith(() => enabled && preventOverflowTextSelection),
|
|
22
22
|
ref,
|
|
23
23
|
});
|
|
24
24
|
</script>
|
package/dist/internal/attrs.d.ts
CHANGED
|
@@ -1,25 +1,10 @@
|
|
|
1
|
+
export declare function boolToStr(condition: boolean): "true" | "false";
|
|
2
|
+
export declare function boolToStrTrueOrUndef(condition: boolean): "true" | undefined;
|
|
3
|
+
export declare function boolToEmptyStrOrUndef(condition: boolean): "" | undefined;
|
|
4
|
+
export declare function boolToTrueOrUndef(condition: boolean): true | undefined;
|
|
1
5
|
export declare function getDataOpenClosed(condition: boolean): "open" | "closed";
|
|
2
6
|
export declare function getDataChecked(condition: boolean): "checked" | "unchecked";
|
|
3
|
-
export declare function getAriaDisabled(condition: boolean): "true" | "false";
|
|
4
|
-
export declare function getAriaReadonly(condition: boolean): "true" | "false";
|
|
5
|
-
export declare function getAriaExpanded(condition: boolean): "true" | "false";
|
|
6
|
-
export declare function getDataDisabled(condition: boolean): "" | undefined;
|
|
7
|
-
export declare function getAriaRequired(condition: boolean): "true" | "false";
|
|
8
|
-
export declare function getAriaSelected(condition: boolean): "true" | "false";
|
|
9
7
|
export declare function getAriaChecked(checked: boolean, indeterminate: boolean): "true" | "false" | "mixed";
|
|
10
|
-
export declare function getAriaOrientation(orientation: "horizontal" | "vertical"): "horizontal" | "vertical";
|
|
11
|
-
export declare function getAriaHidden(condition: boolean): "true" | undefined;
|
|
12
|
-
export declare function getAriaInvalid(condition: boolean): "true" | undefined;
|
|
13
|
-
export declare function getDataOrientation(orientation: "horizontal" | "vertical"): "horizontal" | "vertical";
|
|
14
|
-
export declare function getDataInvalid(condition: boolean): "" | undefined;
|
|
15
|
-
export declare function getDataRequired(condition: boolean): "" | undefined;
|
|
16
|
-
export declare function getDataReadonly(condition: boolean): "" | undefined;
|
|
17
|
-
export declare function getDataSelected(condition: boolean): "" | undefined;
|
|
18
|
-
export declare function getDataUnavailable(condition: boolean): "" | undefined;
|
|
19
|
-
export declare function getHidden(condition: boolean): true | undefined;
|
|
20
|
-
export declare function getDisabled(condition: boolean): true | undefined;
|
|
21
|
-
export declare function getAriaPressed(condition: boolean): "true" | "false";
|
|
22
|
-
export declare function getRequired(condition: boolean): true | undefined;
|
|
23
8
|
export type BitsAttrsConfig<T extends readonly string[]> = {
|
|
24
9
|
component: string;
|
|
25
10
|
parts: T;
|
package/dist/internal/attrs.js
CHANGED
|
@@ -1,26 +1,20 @@
|
|
|
1
|
-
export function
|
|
2
|
-
return condition ? "open" : "closed";
|
|
3
|
-
}
|
|
4
|
-
export function getDataChecked(condition) {
|
|
5
|
-
return condition ? "checked" : "unchecked";
|
|
6
|
-
}
|
|
7
|
-
export function getAriaDisabled(condition) {
|
|
1
|
+
export function boolToStr(condition) {
|
|
8
2
|
return condition ? "true" : "false";
|
|
9
3
|
}
|
|
10
|
-
export function
|
|
11
|
-
return condition ? "true" :
|
|
12
|
-
}
|
|
13
|
-
export function getAriaExpanded(condition) {
|
|
14
|
-
return condition ? "true" : "false";
|
|
4
|
+
export function boolToStrTrueOrUndef(condition) {
|
|
5
|
+
return condition ? "true" : undefined;
|
|
15
6
|
}
|
|
16
|
-
export function
|
|
7
|
+
export function boolToEmptyStrOrUndef(condition) {
|
|
17
8
|
return condition ? "" : undefined;
|
|
18
9
|
}
|
|
19
|
-
export function
|
|
20
|
-
return condition ?
|
|
10
|
+
export function boolToTrueOrUndef(condition) {
|
|
11
|
+
return condition ? true : undefined;
|
|
21
12
|
}
|
|
22
|
-
export function
|
|
23
|
-
return condition ? "
|
|
13
|
+
export function getDataOpenClosed(condition) {
|
|
14
|
+
return condition ? "open" : "closed";
|
|
15
|
+
}
|
|
16
|
+
export function getDataChecked(condition) {
|
|
17
|
+
return condition ? "checked" : "unchecked";
|
|
24
18
|
}
|
|
25
19
|
export function getAriaChecked(checked, indeterminate) {
|
|
26
20
|
if (indeterminate) {
|
|
@@ -28,45 +22,6 @@ export function getAriaChecked(checked, indeterminate) {
|
|
|
28
22
|
}
|
|
29
23
|
return checked ? "true" : "false";
|
|
30
24
|
}
|
|
31
|
-
export function getAriaOrientation(orientation) {
|
|
32
|
-
return orientation;
|
|
33
|
-
}
|
|
34
|
-
export function getAriaHidden(condition) {
|
|
35
|
-
return condition ? "true" : undefined;
|
|
36
|
-
}
|
|
37
|
-
export function getAriaInvalid(condition) {
|
|
38
|
-
return condition ? "true" : undefined;
|
|
39
|
-
}
|
|
40
|
-
export function getDataOrientation(orientation) {
|
|
41
|
-
return orientation;
|
|
42
|
-
}
|
|
43
|
-
export function getDataInvalid(condition) {
|
|
44
|
-
return condition ? "" : undefined;
|
|
45
|
-
}
|
|
46
|
-
export function getDataRequired(condition) {
|
|
47
|
-
return condition ? "" : undefined;
|
|
48
|
-
}
|
|
49
|
-
export function getDataReadonly(condition) {
|
|
50
|
-
return condition ? "" : undefined;
|
|
51
|
-
}
|
|
52
|
-
export function getDataSelected(condition) {
|
|
53
|
-
return condition ? "" : undefined;
|
|
54
|
-
}
|
|
55
|
-
export function getDataUnavailable(condition) {
|
|
56
|
-
return condition ? "" : undefined;
|
|
57
|
-
}
|
|
58
|
-
export function getHidden(condition) {
|
|
59
|
-
return condition ? true : undefined;
|
|
60
|
-
}
|
|
61
|
-
export function getDisabled(condition) {
|
|
62
|
-
return condition ? true : undefined;
|
|
63
|
-
}
|
|
64
|
-
export function getAriaPressed(condition) {
|
|
65
|
-
return condition ? "true" : "false";
|
|
66
|
-
}
|
|
67
|
-
export function getRequired(condition) {
|
|
68
|
-
return condition ? true : undefined;
|
|
69
|
-
}
|
|
70
25
|
export class BitsAttrs {
|
|
71
26
|
#variant;
|
|
72
27
|
#prefix;
|
|
@@ -1,18 +1,18 @@
|
|
|
1
1
|
import { SvelteMap } from "svelte/reactivity";
|
|
2
|
-
import { afterTick,
|
|
2
|
+
import { afterTick, boxWith, onDestroyEffect, } from "svelte-toolbelt";
|
|
3
3
|
import { isIOS } from "./is.js";
|
|
4
|
-
import { addEventListener } from "./events.js";
|
|
5
4
|
import { useId } from "./use-id.js";
|
|
6
5
|
import { watch } from "runed";
|
|
7
6
|
import { SharedState } from "./shared-state.svelte.js";
|
|
8
7
|
import { BROWSER } from "esm-env";
|
|
8
|
+
import { on } from "svelte/events";
|
|
9
9
|
/** A map of lock ids to their `locked` state. */
|
|
10
10
|
const lockMap = new SvelteMap();
|
|
11
11
|
let initialBodyStyle = $state(null);
|
|
12
12
|
let stopTouchMoveListener = null;
|
|
13
13
|
let cleanupTimeoutId = null;
|
|
14
14
|
let isInCleanupTransition = false;
|
|
15
|
-
const anyLocked =
|
|
15
|
+
const anyLocked = boxWith(() => {
|
|
16
16
|
for (const value of lockMap.values()) {
|
|
17
17
|
if (value)
|
|
18
18
|
return true;
|
|
@@ -104,7 +104,7 @@ const bodyLockStackCount = new SharedState(() => {
|
|
|
104
104
|
}
|
|
105
105
|
if (isIOS) {
|
|
106
106
|
// IOS devices are special and require a touchmove listener to prevent scrolling
|
|
107
|
-
stopTouchMoveListener =
|
|
107
|
+
stopTouchMoveListener = on(document, "touchmove", (e) => {
|
|
108
108
|
if (e.target !== document.documentElement)
|
|
109
109
|
return;
|
|
110
110
|
if (e.touches.length > 1)
|
|
@@ -163,7 +163,7 @@ export class BodyScrollLock {
|
|
|
163
163
|
// capture initial style before this lock is registered
|
|
164
164
|
this.#countState.ensureInitialStyleCaptured();
|
|
165
165
|
this.#countState.lockMap.set(this.#id, this.#initialState ?? false);
|
|
166
|
-
this.locked =
|
|
166
|
+
this.locked = boxWith(() => this.#countState.lockMap.get(this.#id) ?? false, (v) => this.#countState.lockMap.set(this.#id, v));
|
|
167
167
|
onDestroyEffect(() => {
|
|
168
168
|
this.#countState.lockMap.delete(this.#id);
|
|
169
169
|
// if not the last lock, we don't need to do anything
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { boxWith } from "svelte-toolbelt";
|
|
2
2
|
import { noop } from "./noop.js";
|
|
3
3
|
const defaultOptions = {
|
|
4
4
|
afterMs: 10000,
|
|
@@ -26,7 +26,7 @@ export function boxAutoReset(defaultValue, options) {
|
|
|
26
26
|
getWindow().clearTimeout(timeout);
|
|
27
27
|
};
|
|
28
28
|
});
|
|
29
|
-
return
|
|
29
|
+
return boxWith(() => value, (v) => {
|
|
30
30
|
value = v;
|
|
31
31
|
onChange?.(v);
|
|
32
32
|
if (timeout)
|
|
@@ -2,7 +2,7 @@ import { endOfMonth, isSameDay, isSameMonth, startOfMonth, } from "@internationa
|
|
|
2
2
|
import { afterTick, getDocument, styleToString, } from "svelte-toolbelt";
|
|
3
3
|
import { untrack } from "svelte";
|
|
4
4
|
import { getDaysInMonth, getLastFirstDayOfWeek, getNextLastDayOfWeek, hasTime, isAfter, isBefore, parseAnyDateValue, parseStringToDateValue, toDate, } from "./utils.js";
|
|
5
|
-
import { createBitsAttrs,
|
|
5
|
+
import { createBitsAttrs, boolToEmptyStrOrUndef } from "../attrs.js";
|
|
6
6
|
import { chunk, isValidIndex } from "../arrays.js";
|
|
7
7
|
import { isBrowser, isHTMLElement } from "../is.js";
|
|
8
8
|
import { kbd } from "../kbd.js";
|
|
@@ -441,9 +441,9 @@ export function getCalendarElementProps({ fullCalendarLabel, id, isInvalid, disa
|
|
|
441
441
|
id,
|
|
442
442
|
role: "application",
|
|
443
443
|
"aria-label": fullCalendarLabel,
|
|
444
|
-
"data-invalid":
|
|
445
|
-
"data-disabled":
|
|
446
|
-
"data-readonly":
|
|
444
|
+
"data-invalid": boolToEmptyStrOrUndef(isInvalid),
|
|
445
|
+
"data-disabled": boolToEmptyStrOrUndef(disabled),
|
|
446
|
+
"data-readonly": boolToEmptyStrOrUndef(readonly),
|
|
447
447
|
};
|
|
448
448
|
}
|
|
449
449
|
export function pickerOpenFocus(e) {
|
|
@@ -1,9 +1,4 @@
|
|
|
1
|
-
import type { Arrayable } from "./types.js";
|
|
2
1
|
export type EventCallback<E extends Event = Event> = (event: E) => void;
|
|
3
|
-
type GeneralEventListener<E = Event> = (evt: E) => unknown;
|
|
4
|
-
export declare function addEventListener<E extends keyof WindowEventMap>(target: Window, event: Arrayable<E>, handler: (this: Window, ev: WindowEventMap[E]) => unknown, options?: boolean | AddEventListenerOptions): VoidFunction;
|
|
5
|
-
export declare function addEventListener<E extends keyof DocumentEventMap>(target: Document, event: Arrayable<E>, handler: (this: Document, ev: DocumentEventMap[E]) => unknown, options?: boolean | AddEventListenerOptions): VoidFunction;
|
|
6
|
-
export declare function addEventListener<E extends keyof HTMLElementEventMap>(target: EventTarget, event: Arrayable<E>, handler: GeneralEventListener<HTMLElementEventMap[E]>, options?: boolean | AddEventListenerOptions): VoidFunction;
|
|
7
2
|
/**
|
|
8
3
|
* Creates a typed event dispatcher and listener pair for custom events
|
|
9
4
|
* @template T - The type of data that will be passed in the event detail
|
|
@@ -18,4 +13,3 @@ export declare class CustomEventDispatcher<T = unknown> {
|
|
|
18
13
|
dispatch(element: EventTarget, detail?: T): CustomEvent<T>;
|
|
19
14
|
listen(element: EventTarget, callback: (event: CustomEvent<T>) => void, options?: AddEventListenerOptions): () => void;
|
|
20
15
|
}
|
|
21
|
-
export {};
|
package/dist/internal/events.js
CHANGED
|
@@ -1,21 +1,4 @@
|
|
|
1
1
|
import { on } from "svelte/events";
|
|
2
|
-
/**
|
|
3
|
-
* Adds an event listener to the specified target element(s) for the given event(s), and returns a function to remove it.
|
|
4
|
-
* @param target The target element(s) to add the event listener to.
|
|
5
|
-
* @param event The event(s) to listen for.
|
|
6
|
-
* @param handler The function to be called when the event is triggered.
|
|
7
|
-
* @param options An optional object that specifies characteristics about the event listener.
|
|
8
|
-
* @returns A function that removes the event listener from the target element(s).
|
|
9
|
-
*/
|
|
10
|
-
export function addEventListener(target, event, handler, options) {
|
|
11
|
-
const events = Array.isArray(event) ? event : [event];
|
|
12
|
-
// Add the event listener to each specified event for the target element(s).
|
|
13
|
-
events.forEach((_event) => target.addEventListener(_event, handler, options));
|
|
14
|
-
// Return a function that removes the event listener from the target element(s).
|
|
15
|
-
return () => {
|
|
16
|
-
events.forEach((_event) => target.removeEventListener(_event, handler, options));
|
|
17
|
-
};
|
|
18
|
-
}
|
|
19
2
|
/**
|
|
20
3
|
* Creates a typed event dispatcher and listener pair for custom events
|
|
21
4
|
* @template T - The type of data that will be passed in the event detail
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { computePosition } from "@floating-ui/dom";
|
|
2
|
-
import {
|
|
2
|
+
import { simpleBox } from "svelte-toolbelt";
|
|
3
3
|
import { get, getDPR, roundByDPR } from "./floating-utils.svelte.js";
|
|
4
4
|
export function useFloating(options) {
|
|
5
5
|
/** Options */
|
|
@@ -15,7 +15,7 @@ export function useFloating(options) {
|
|
|
15
15
|
/** State */
|
|
16
16
|
let x = $state(0);
|
|
17
17
|
let y = $state(0);
|
|
18
|
-
const floating =
|
|
18
|
+
const floating = simpleBox(null);
|
|
19
19
|
// svelte-ignore state_referenced_locally
|
|
20
20
|
let strategy = $state(strategyOption);
|
|
21
21
|
// svelte-ignore state_referenced_locally
|
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { simpleBox } from "svelte-toolbelt";
|
|
2
2
|
export class StateMachine {
|
|
3
3
|
state;
|
|
4
4
|
#machine;
|
|
5
5
|
constructor(initialState, machine) {
|
|
6
|
-
this.state =
|
|
6
|
+
this.state = simpleBox(initialState);
|
|
7
7
|
this.#machine = machine;
|
|
8
8
|
this.dispatch = this.dispatch.bind(this);
|
|
9
9
|
}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "bits-ui",
|
|
3
|
-
"version": "2.
|
|
3
|
+
"version": "2.11.1",
|
|
4
4
|
"license": "MIT",
|
|
5
5
|
"repository": "github:huntabyte/bits-ui",
|
|
6
6
|
"funding": "https://github.com/sponsors/huntabyte",
|
|
@@ -42,7 +42,7 @@
|
|
|
42
42
|
"@floating-ui/dom": "^1.7.1",
|
|
43
43
|
"esm-env": "^1.1.2",
|
|
44
44
|
"runed": "^0.31.1",
|
|
45
|
-
"svelte-toolbelt": "^0.
|
|
45
|
+
"svelte-toolbelt": "^0.10.4",
|
|
46
46
|
"tabbable": "^6.2.0"
|
|
47
47
|
},
|
|
48
48
|
"peerDependencies": {
|