@sectile/vue 0.18.3 → 0.20.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 +127 -14
- package/dist/accordion.js +1 -1
- package/dist/accordion.js.map +1 -1
- package/dist/carousel.d.ts +20 -0
- package/dist/carousel.js +1 -1
- package/dist/carousel.js.map +1 -1
- package/dist/cascade-list.js +1 -1
- package/dist/cascade-list.js.map +1 -1
- package/dist/cascade-select.js +1 -1
- package/dist/cascade-select.js.map +1 -1
- package/dist/chart.js +1 -1
- package/dist/chart.js.map +1 -1
- package/dist/checkbox-group.js +1 -1
- package/dist/checkbox-group.js.map +1 -1
- package/dist/checkbox-tree.d.ts +102 -0
- package/dist/checkbox-tree.js +2 -0
- package/dist/checkbox-tree.js.map +1 -0
- package/dist/checkbox.js +1 -1
- package/dist/checkbox.js.map +1 -1
- package/dist/color-picker.d.ts +24 -0
- package/dist/color-picker.js +1 -1
- package/dist/color-picker.js.map +1 -1
- package/dist/combobox.d.ts +47 -1
- package/dist/combobox.js +1 -1
- package/dist/combobox.js.map +1 -1
- package/dist/component-handle.d.ts +8 -0
- package/dist/component-handle.js +2 -0
- package/dist/component-handle.js.map +1 -0
- package/dist/context-menu.d.ts +1 -0
- package/dist/context-menu.js +2 -0
- package/dist/context-menu.js.map +1 -0
- package/dist/drag-drop.d.ts +23 -0
- package/dist/drag-drop.js +2 -0
- package/dist/drag-drop.js.map +1 -0
- package/dist/editable.d.ts +3 -0
- package/dist/editable.js +1 -1
- package/dist/editable.js.map +1 -1
- package/dist/form/context.d.ts +3 -0
- package/dist/form/context.js +1 -1
- package/dist/form/context.js.map +1 -1
- package/dist/form/contracts.d.ts +1 -0
- package/dist/form/control-inventory.d.ts +20 -0
- package/dist/form/control-inventory.js +1 -1
- package/dist/form/control-inventory.js.map +1 -1
- package/dist/form/control.d.ts +44 -1
- package/dist/form/control.js +1 -1
- package/dist/form/control.js.map +1 -1
- package/dist/form/field.d.ts +10 -0
- package/dist/form/field.js +1 -1
- package/dist/form/field.js.map +1 -1
- package/dist/form/file-input.d.ts +229 -0
- package/dist/form/file-input.js +2 -0
- package/dist/form/file-input.js.map +1 -0
- package/dist/form/file-upload/group.d.ts +28 -0
- package/dist/form/file-upload/group.js +2 -0
- package/dist/form/file-upload/group.js.map +1 -0
- package/dist/form/file-upload.d.ts +26 -0
- package/dist/form/file-upload.js +2 -0
- package/dist/form/file-upload.js.map +1 -0
- package/dist/form/root.js +1 -1
- package/dist/form/root.js.map +1 -1
- package/dist/form-boundary.d.ts +2 -0
- package/dist/form-boundary.js +2 -0
- package/dist/form-boundary.js.map +1 -0
- package/dist/fullscreen.d.ts +16 -0
- package/dist/fullscreen.js +2 -0
- package/dist/fullscreen.js.map +1 -0
- package/dist/host-provider.d.ts +99 -1
- package/dist/host-provider.js +1 -1
- package/dist/host-provider.js.map +1 -1
- package/dist/image.d.ts +24 -0
- package/dist/image.js +2 -0
- package/dist/image.js.map +1 -0
- package/dist/index.d.ts +6 -5
- package/dist/index.js +1 -1
- package/dist/index.js.map +1 -1
- package/dist/input/native-field.d.ts +33 -6
- package/dist/input/native-field.js +1 -1
- package/dist/input/native-field.js.map +1 -1
- package/dist/input/native-range-field.d.ts +16 -7
- package/dist/input/native-range-field.js +1 -1
- package/dist/input/native-range-field.js.map +1 -1
- package/dist/internal/cascade-choice.js +1 -1
- package/dist/internal/cascade-choice.js.map +1 -1
- package/dist/internal/connection-lifetime.d.ts +10 -0
- package/dist/internal/connection-lifetime.js +2 -0
- package/dist/internal/connection-lifetime.js.map +1 -0
- package/dist/internal/popup-presentation.d.ts +32 -0
- package/dist/internal/popup-presentation.js +2 -0
- package/dist/internal/popup-presentation.js.map +1 -0
- package/dist/internal/portal-move.d.ts +11 -0
- package/dist/internal/portal-move.js +2 -0
- package/dist/internal/portal-move.js.map +1 -0
- package/dist/internal/scheduled-task.js +1 -1
- package/dist/internal/scheduled-task.js.map +1 -1
- package/dist/internal/tabs-context.d.ts +11 -0
- package/dist/internal/tabs-context.js +1 -1
- package/dist/internal/tabs-context.js.map +1 -1
- package/dist/internal/tree-parts.d.ts +142 -0
- package/dist/internal/tree-parts.js +2 -0
- package/dist/internal/tree-parts.js.map +1 -0
- package/dist/listbox.d.ts +11 -0
- package/dist/listbox.js +1 -1
- package/dist/listbox.js.map +1 -1
- package/dist/media-gesture.d.ts +20 -0
- package/dist/media-gesture.js +2 -0
- package/dist/media-gesture.js.map +1 -0
- package/dist/menu.d.ts +239 -0
- package/dist/menu.js +1 -1
- package/dist/menu.js.map +1 -1
- package/dist/meter-group.js +1 -1
- package/dist/meter-group.js.map +1 -1
- package/dist/multi-thumb-slider.js +1 -1
- package/dist/multi-thumb-slider.js.map +1 -1
- package/dist/number-field.d.ts +18 -1
- package/dist/number-field.js +1 -1
- package/dist/number-field.js.map +1 -1
- package/dist/overlay/dialog.d.ts +1 -0
- package/dist/overlay/dialog.js.map +1 -1
- package/dist/overlay/drawer.d.ts +33 -4
- package/dist/overlay/drawer.js +1 -1
- package/dist/overlay/drawer.js.map +1 -1
- package/dist/overlay/popover.d.ts +2 -1
- package/dist/overlay/popover.js.map +1 -1
- package/dist/overlay/popup.d.ts +50 -2
- package/dist/overlay/popup.js +1 -1
- package/dist/overlay/popup.js.map +1 -1
- package/dist/overlay/tooltip.d.ts +38 -3
- package/dist/overlay/tooltip.js +1 -1
- package/dist/overlay/tooltip.js.map +1 -1
- package/dist/pagination.js +1 -1
- package/dist/pagination.js.map +1 -1
- package/dist/pin-input.js +1 -1
- package/dist/pin-input.js.map +1 -1
- package/dist/presence/presence.d.ts +1 -1
- package/dist/presence/presence.js +1 -1
- package/dist/presence/presence.js.map +1 -1
- package/dist/primitive.d.ts +37 -3
- package/dist/primitive.js +1 -1
- package/dist/primitive.js.map +1 -1
- package/dist/quantity-field.js +1 -1
- package/dist/quantity-field.js.map +1 -1
- package/dist/radio-group.js +1 -1
- package/dist/radio-group.js.map +1 -1
- package/dist/rating.js +1 -1
- package/dist/rating.js.map +1 -1
- package/dist/reorder.d.ts +169 -77
- package/dist/reorder.js +1 -1
- package/dist/reorder.js.map +1 -1
- package/dist/select.d.ts +21 -0
- package/dist/select.js +1 -1
- package/dist/select.js.map +1 -1
- package/dist/slider.js +1 -1
- package/dist/slider.js.map +1 -1
- package/dist/spin-button.d.ts +19 -0
- package/dist/spin-button.js +1 -1
- package/dist/spin-button.js.map +1 -1
- package/dist/stepper.js +1 -1
- package/dist/stepper.js.map +1 -1
- package/dist/switch.js +1 -1
- package/dist/switch.js.map +1 -1
- package/dist/tabs.d.ts +2 -0
- package/dist/tabs.js +1 -1
- package/dist/tabs.js.map +1 -1
- package/dist/tabular/components.d.ts +5 -0
- package/dist/tabular/components.js.map +1 -1
- package/dist/tabular/controller.d.ts +1 -0
- package/dist/tabular/controller.js +1 -1
- package/dist/tabular/controller.js.map +1 -1
- package/dist/tabular/data-grid.d.ts +4 -4
- package/dist/tabular/data-grid.js +1 -1
- package/dist/tabular/data-grid.js.map +1 -1
- package/dist/tabular/data-table.d.ts +4 -4
- package/dist/tabular/data-table.js +1 -1
- package/dist/tabular/data-table.js.map +1 -1
- package/dist/tabular/data-tree-grid.d.ts +4 -4
- package/dist/tabular/data-tree-grid.js +1 -1
- package/dist/tabular/data-tree-grid.js.map +1 -1
- package/dist/tabular/parts.d.ts +11 -1
- package/dist/tabular/parts.js +1 -1
- package/dist/tabular/parts.js.map +1 -1
- package/dist/tags-input.d.ts +12 -1
- package/dist/tags-input.js +1 -1
- package/dist/tags-input.js.map +1 -1
- package/dist/temporal/calendar.d.ts +15 -111
- package/dist/temporal/calendar.js +1 -1
- package/dist/temporal/calendar.js.map +1 -1
- package/dist/temporal/capabilities/date-picker.js +1 -1
- package/dist/temporal/capabilities/date-picker.js.map +1 -1
- package/dist/temporal/capabilities/date-time-picker.js +1 -1
- package/dist/temporal/capabilities/date-time-picker.js.map +1 -1
- package/dist/temporal/capabilities/date-time-range-picker.js +1 -1
- package/dist/temporal/capabilities/date-time-range-picker.js.map +1 -1
- package/dist/temporal/capability.d.ts +13 -1
- package/dist/temporal/capability.js.map +1 -1
- package/dist/temporal/date-field.d.ts +1 -1
- package/dist/temporal/date-field.js +1 -1
- package/dist/temporal/date-field.js.map +1 -1
- package/dist/temporal/date-picker.d.ts +3 -1
- package/dist/temporal/date-picker.js.map +1 -1
- package/dist/temporal/date-range-field.d.ts +20 -0
- package/dist/temporal/date-range-field.js +1 -1
- package/dist/temporal/date-range-field.js.map +1 -1
- package/dist/temporal/date-range-picker.d.ts +3 -1
- package/dist/temporal/date-range-picker.js.map +1 -1
- package/dist/temporal/date-time-field.d.ts +4 -1
- package/dist/temporal/date-time-field.js +1 -1
- package/dist/temporal/date-time-field.js.map +1 -1
- package/dist/temporal/date-time-picker.d.ts +3 -1
- package/dist/temporal/date-time-picker.js +1 -1
- package/dist/temporal/date-time-picker.js.map +1 -1
- package/dist/temporal/date-time-range-field.d.ts +158 -0
- package/dist/temporal/date-time-range-field.js +2 -0
- package/dist/temporal/date-time-range-field.js.map +1 -0
- package/dist/temporal/date-time-range-picker.d.ts +3 -1
- package/dist/temporal/date-time-range-picker.js +1 -1
- package/dist/temporal/date-time-range-picker.js.map +1 -1
- package/dist/temporal/internal/time-presentation.d.ts +15 -0
- package/dist/temporal/internal/time-presentation.js +2 -0
- package/dist/temporal/internal/time-presentation.js.map +1 -0
- package/dist/temporal/month-picker.d.ts +3 -1
- package/dist/temporal/month-picker.js.map +1 -1
- package/dist/temporal/month-range-picker.d.ts +3 -1
- package/dist/temporal/month-range-picker.js.map +1 -1
- package/dist/temporal/picker.d.ts +23 -1
- package/dist/temporal/picker.js +1 -1
- package/dist/temporal/picker.js.map +1 -1
- package/dist/temporal/range-calendar.d.ts +119 -2
- package/dist/temporal/range-calendar.js +1 -1
- package/dist/temporal/range-calendar.js.map +1 -1
- package/dist/temporal/temporal-provider.d.ts +23 -0
- package/dist/temporal/temporal-provider.js +1 -1
- package/dist/temporal/temporal-provider.js.map +1 -1
- package/dist/temporal/time-field.d.ts +4 -1
- package/dist/temporal/time-field.js +1 -1
- package/dist/temporal/time-field.js.map +1 -1
- package/dist/temporal/time-picker.d.ts +112 -0
- package/dist/temporal/time-picker.js +2 -0
- package/dist/temporal/time-picker.js.map +1 -0
- package/dist/temporal/time-range-field.d.ts +32 -1
- package/dist/temporal/time-range-field.js +1 -1
- package/dist/temporal/time-range-field.js.map +1 -1
- package/dist/temporal/year-picker.d.ts +3 -1
- package/dist/temporal/year-picker.js.map +1 -1
- package/dist/temporal/year-range-picker.d.ts +3 -1
- package/dist/temporal/year-range-picker.js.map +1 -1
- package/dist/text.d.ts +43 -1
- package/dist/text.js +1 -1
- package/dist/text.js.map +1 -1
- package/dist/timer.d.ts +16 -5
- package/dist/timer.js +1 -1
- package/dist/timer.js.map +1 -1
- package/dist/toast.js +1 -1
- package/dist/toast.js.map +1 -1
- package/dist/toggle-group.js +1 -1
- package/dist/toggle-group.js.map +1 -1
- package/dist/toolbar.js +1 -1
- package/dist/toolbar.js.map +1 -1
- package/dist/transfer.d.ts +191 -0
- package/dist/transfer.js +2 -0
- package/dist/transfer.js.map +1 -0
- package/dist/tree-grid.d.ts +122 -0
- package/dist/tree-grid.js +1 -1
- package/dist/tree-grid.js.map +1 -1
- package/dist/tree-select.d.ts +186 -0
- package/dist/tree-select.js +2 -0
- package/dist/tree-select.js.map +1 -0
- package/dist/tree-view.js +1 -1
- package/dist/tree-view.js.map +1 -1
- package/dist/virtual/virtual-collection.d.ts +2 -0
- package/dist/virtual/virtual-collection.js.map +1 -1
- package/dist/virtual/virtual-grid.d.ts +12 -2
- package/dist/virtual/virtual-grid.js +1 -1
- package/dist/virtual/virtual-grid.js.map +1 -1
- package/dist/virtual/virtual-list.d.ts +12 -3
- package/dist/virtual/virtual-list.js +1 -1
- package/dist/virtual/virtual-list.js.map +1 -1
- package/dist/virtual/virtual-masonry.d.ts +12 -2
- package/dist/virtual/virtual-masonry.js +1 -1
- package/dist/virtual/virtual-masonry.js.map +1 -1
- package/dist/virtual/virtual-spatial.d.ts +12 -2
- package/dist/virtual/virtual-spatial.js +1 -1
- package/dist/virtual/virtual-spatial.js.map +1 -1
- package/dist/window-splitter.js +1 -1
- package/dist/window-splitter.js.map +1 -1
- package/package.json +88 -17
package/dist/host-provider.d.ts
CHANGED
|
@@ -1,4 +1,6 @@
|
|
|
1
|
-
import { type ComputedRef, type PropType, type SlotsType, type VNodeChild } from 'vue';
|
|
1
|
+
import { type Component, type ComputedRef, type MaybeRefOrGetter, type PropType, type ShallowRef, type SlotsType, type VNodeChild } from 'vue';
|
|
2
|
+
import type { LayerHostConnection, LayerReservation } from '@sectile/dom/layer-host';
|
|
3
|
+
import type { DOMLayerPresentationSnapshot, PopupCloseReason } from '@sectile/dom/dialog';
|
|
2
4
|
export type HostDirection = 'ltr' | 'rtl';
|
|
3
5
|
export type HostPortalTarget = string | HTMLElement;
|
|
4
6
|
export type HostIdGenerator = () => string;
|
|
@@ -6,7 +8,78 @@ export interface HostProviderProps {
|
|
|
6
8
|
readonly direction?: HostDirection;
|
|
7
9
|
readonly portalTarget?: HostPortalTarget;
|
|
8
10
|
readonly createId?: HostIdGenerator;
|
|
11
|
+
/** Undefined inherits the parent; null requires managed admission that is not yet available. */
|
|
12
|
+
readonly layerHost?: MaybeRefOrGetter<LayerHostConnection | null | undefined>;
|
|
13
|
+
/** Suspend native presentation without changing descendant accepted models. */
|
|
14
|
+
readonly active?: MaybeRefOrGetter<boolean>;
|
|
9
15
|
}
|
|
16
|
+
/** Borrow the logical ancestor across Portal without creating another layer owner. */
|
|
17
|
+
export interface HostLayerParent {
|
|
18
|
+
readonly active: Readonly<ShallowRef<boolean>>;
|
|
19
|
+
readonly open: Readonly<ShallowRef<boolean>>;
|
|
20
|
+
readonly inline?: Readonly<ShallowRef<boolean>>;
|
|
21
|
+
readonly element: Readonly<ShallowRef<HTMLElement | undefined>>;
|
|
22
|
+
readonly presentation: Readonly<ShallowRef<DOMLayerPresentationSnapshot | undefined>>;
|
|
23
|
+
readonly available: ComputedRef<boolean>;
|
|
24
|
+
}
|
|
25
|
+
export declare function provideHostLayerParent(parent: Omit<HostLayerParent, 'available'>): void;
|
|
26
|
+
export declare function useHostLayerParent(): HostLayerParent | undefined;
|
|
27
|
+
/** A scoped invocation observes the existing Dialog/Drawer owner, not its requests as state. */
|
|
28
|
+
export interface HostPopupBinding {
|
|
29
|
+
/** A reserved root starts open so native construction consumes its initial slot. */
|
|
30
|
+
readonly reservation?: LayerReservation;
|
|
31
|
+
readonly restoreFocusTarget?: HTMLElement;
|
|
32
|
+
attach(requestClose: () => void): void;
|
|
33
|
+
onCloseRequest(reason: PopupCloseReason): void;
|
|
34
|
+
onOpenChange(open: boolean): void;
|
|
35
|
+
/** Actual native availability, distinct from the accepted open model. */
|
|
36
|
+
onActiveChange?(active: boolean): void;
|
|
37
|
+
onAfterClose(): void;
|
|
38
|
+
/** The caller releases any reservation not consumed by native admission. */
|
|
39
|
+
detach(): void;
|
|
40
|
+
}
|
|
41
|
+
/** Bind one descendant Dialog/Drawer root; nested and sibling roots stay independent. */
|
|
42
|
+
export declare function provideHostPopup(binding: HostPopupBinding): void;
|
|
43
|
+
/** Claim the invocation binding once during the supported popup root's setup. */
|
|
44
|
+
export declare function useHostPopup(): HostPopupBinding | undefined;
|
|
45
|
+
export interface HostPortalProps {
|
|
46
|
+
readonly to?: HostPortalTarget;
|
|
47
|
+
readonly disabled?: boolean;
|
|
48
|
+
readonly defer?: boolean;
|
|
49
|
+
}
|
|
50
|
+
/** Supply a logical boundary receiving HostPortalProps, without owning its target. */
|
|
51
|
+
export declare function provideHostPortal(boundary: Component): void;
|
|
52
|
+
export declare const HostPortal: import("vue").DefineComponent<import("vue").ExtractPropTypes<{
|
|
53
|
+
to: {
|
|
54
|
+
type: PropType<HostPortalTarget>;
|
|
55
|
+
default: undefined;
|
|
56
|
+
};
|
|
57
|
+
disabled: {
|
|
58
|
+
type: BooleanConstructor;
|
|
59
|
+
default: boolean;
|
|
60
|
+
};
|
|
61
|
+
defer: {
|
|
62
|
+
type: BooleanConstructor;
|
|
63
|
+
default: boolean;
|
|
64
|
+
};
|
|
65
|
+
}>, () => VNodeChild, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
|
|
66
|
+
to: {
|
|
67
|
+
type: PropType<HostPortalTarget>;
|
|
68
|
+
default: undefined;
|
|
69
|
+
};
|
|
70
|
+
disabled: {
|
|
71
|
+
type: BooleanConstructor;
|
|
72
|
+
default: boolean;
|
|
73
|
+
};
|
|
74
|
+
defer: {
|
|
75
|
+
type: BooleanConstructor;
|
|
76
|
+
default: boolean;
|
|
77
|
+
};
|
|
78
|
+
}>> & Readonly<{}>, {
|
|
79
|
+
to: HostPortalTarget;
|
|
80
|
+
disabled: boolean;
|
|
81
|
+
defer: boolean;
|
|
82
|
+
}, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
|
|
10
83
|
export declare const HostProvider: import("vue").DefineComponent<import("vue").ExtractPropTypes<{
|
|
11
84
|
direction: {
|
|
12
85
|
type: PropType<HostDirection>;
|
|
@@ -20,6 +93,14 @@ export declare const HostProvider: import("vue").DefineComponent<import("vue").E
|
|
|
20
93
|
type: PropType<HostIdGenerator>;
|
|
21
94
|
default: undefined;
|
|
22
95
|
};
|
|
96
|
+
layerHost: {
|
|
97
|
+
type: PropType<MaybeRefOrGetter<LayerHostConnection | null | undefined>>;
|
|
98
|
+
default: undefined;
|
|
99
|
+
};
|
|
100
|
+
active: {
|
|
101
|
+
type: PropType<MaybeRefOrGetter<boolean>>;
|
|
102
|
+
default: boolean;
|
|
103
|
+
};
|
|
23
104
|
}>, () => VNodeChild, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
|
|
24
105
|
direction: {
|
|
25
106
|
type: PropType<HostDirection>;
|
|
@@ -33,13 +114,30 @@ export declare const HostProvider: import("vue").DefineComponent<import("vue").E
|
|
|
33
114
|
type: PropType<HostIdGenerator>;
|
|
34
115
|
default: undefined;
|
|
35
116
|
};
|
|
117
|
+
layerHost: {
|
|
118
|
+
type: PropType<MaybeRefOrGetter<LayerHostConnection | null | undefined>>;
|
|
119
|
+
default: undefined;
|
|
120
|
+
};
|
|
121
|
+
active: {
|
|
122
|
+
type: PropType<MaybeRefOrGetter<boolean>>;
|
|
123
|
+
default: boolean;
|
|
124
|
+
};
|
|
36
125
|
}>> & Readonly<{}>, {
|
|
37
126
|
direction: HostDirection;
|
|
38
127
|
portalTarget: HostPortalTarget;
|
|
39
128
|
createId: HostIdGenerator;
|
|
129
|
+
layerHost: MaybeRefOrGetter<LayerHostConnection | null | undefined>;
|
|
130
|
+
active: MaybeRefOrGetter<boolean>;
|
|
40
131
|
}, SlotsType<{
|
|
41
132
|
default: () => VNodeChild;
|
|
42
133
|
}>, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
|
|
43
134
|
export declare function useHostDirection(): ComputedRef<HostDirection>;
|
|
44
135
|
export declare function useHostPortalTarget(): ComputedRef<HostPortalTarget | undefined>;
|
|
45
136
|
export declare function useHostId(): string;
|
|
137
|
+
export declare function useHostLayer(): ComputedRef<LayerHostConnection | null | undefined>;
|
|
138
|
+
/** Supply layer admission in setup without adding a renderer boundary. */
|
|
139
|
+
export declare function provideHostLayer(layerHost: NonNullable<HostProviderProps['layerHost']> | null): void;
|
|
140
|
+
/** Combine logical availability with this component's cached lifecycle. */
|
|
141
|
+
export declare function useHostActive(): ComputedRef<boolean>;
|
|
142
|
+
/** Propagate successful native availability to logical descendants. */
|
|
143
|
+
export declare function provideHostActive(active: NonNullable<HostProviderProps['active']>): void;
|
package/dist/host-provider.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{Fragment,computed,defineComponent,h,inject,provide,useId}from
|
|
1
|
+
import{Fragment,Teleport,computed,defineComponent,h,inject,onActivated,onBeforeUpdate,onDeactivated,onScopeDispose,onUpdated,provide,shallowRef,toValue,useId}from'vue';import{usePortalMove}from'./internal/portal-move.js';const hostContextKey=Symbol('SectileHost');const portalBoundaryKey=Symbol('SectileHostPortalBoundary');const popupBindingKey=Symbol('SectileHostPopup');const layerParentKey=Symbol('SectileHostLayerParent');export function provideHostLayerParent(parent){provide(layerParentKey,{...parent,available:computed(()=>parent.active.value&&(parent.inline?.value===true||parent.open.value&&(parent.presentation.value===undefined||parent.presentation.value.phase==='active')))})}export function useHostLayerParent(){return inject(layerParentKey,undefined)}export function provideHostPopup(binding){provide(popupBindingKey,{binding})}export function useHostPopup(){const scope=inject(popupBindingKey,undefined);const binding=scope?.binding;if(scope!==undefined){scope.binding=undefined;provide(popupBindingKey,undefined)}return binding}export function provideHostPortal(boundary){provide(portalBoundaryKey,boundary)}export const HostPortal=/* @__PURE__ */defineComponent({name:'SectileHostPortal',inheritAttrs:false,props:{to:{type:[String,Object],default:undefined},disabled:{type:Boolean,default:false},defer:{type:Boolean,default:false}},setup(props,{slots}){const target=useHostPortalTarget();const boundary=inject(portalBoundaryKey,undefined);const move=usePortalMove();let pending;let previousRequest,previousDisabled=props.disabled;let destination;onBeforeUpdate(()=>{if((props.to??target.value??'body')===previousRequest&&props.disabled===previousDisabled)return;pending?.completeMove(false);pending=move?.read?.();pending?.prepareMove()});onUpdated(()=>{const held=pending;pending=undefined;held?.completeMove()});onScopeDispose(()=>{const held=pending;pending=undefined;destination=undefined;previousRequest=undefined;held?.completeMove(false)});return()=>{const requested=props.to??target.value??'body';previousRequest=requested;previousDisabled=props.disabled;const to=props.disabled?destination??requested:requested;destination=to;return h(Teleport,{to,disabled:props.disabled,defer:props.defer},boundary?[h(boundary,{to:requested,disabled:props.disabled,defer:props.defer},slots)]:slots['default']?.())}}});function provideHost(props){const parent=inject(hostContextKey,undefined);provide(hostContextKey,{direction:computed(()=>props.direction??parent?.direction.value??'ltr'),portalTarget:computed(()=>props.portalTarget??parent?.portalTarget.value),layerHost:computed(()=>props.layerHost===undefined?parent?.layerHost.value:toValue(props.layerHost)),active:computed(()=>(parent?.active.value??true)&&(props.active===undefined||toValue(props.active))),createId:()=>props.createId?.()??parent?.createId()??useId()})}export const HostProvider=defineComponent({name:'SectileHostProvider',inheritAttrs:false,props:{direction:{type:String,default:undefined},portalTarget:{type:[String,Object],default:undefined},createId:{type:Function,default:undefined},layerHost:{type:[Object,Function],default:undefined},active:{type:[Boolean,Object,Function],default:true}},slots:Object,setup(props,{slots}){provideHost(props);return()=>h(Fragment,null,slots['default']?.()??[])}});export function useHostDirection(){const context=inject(hostContextKey,undefined);return context?.direction??computed(()=>'ltr')}export function useHostPortalTarget(){const context=inject(hostContextKey,undefined);return context?.portalTarget??computed(()=>undefined)}export function useHostId(){const context=inject(hostContextKey,undefined);return context?.createId()??useId()}export function useHostLayer(){return inject(hostContextKey,undefined)?.layerHost??computed(()=>undefined)}export function provideHostLayer(layerHost){provideHost({layerHost})}export function useHostActive(){const parent=inject(hostContextKey,undefined);const active=shallowRef(true);onDeactivated(()=>{active.value=false});onActivated(()=>{active.value=true});return computed(()=>active.value&&(parent?.active.value??true))}export function provideHostActive(active){provideHost({active})}
|
|
2
2
|
//# sourceMappingURL=host-provider.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/host-provider.ts"],"mappings":"
|
|
1
|
+
{"version":3,"file":"host-provider.js","names":["Fragment","Teleport","computed","defineComponent","h","inject","onActivated","onBeforeUpdate","onDeactivated","onScopeDispose","onUpdated","provide","shallowRef","toValue","useId","usePortalMove","hostContextKey","Symbol","portalBoundaryKey","popupBindingKey","layerParentKey","provideHostLayerParent","parent","available","active","value","inline","open","presentation","undefined","phase","useHostLayerParent","provideHostPopup","binding","useHostPopup","scope","provideHostPortal","boundary","HostPortal","name","inheritAttrs","props","to","type","String","Object","default","disabled","Boolean","defer","setup","slots","target","useHostPortalTarget","move","pending","previousRequest","previousDisabled","destination","completeMove","read","prepareMove","held","requested","provideHost","direction","portalTarget","layerHost","createId","HostProvider","Function","useHostDirection","context","useHostId","useHostLayer","provideHostLayer","useHostActive","provideHostActive"],"sources":["../src/host-provider.ts"],"mappings":"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","ignoreList":[]}
|
package/dist/image.d.ts
ADDED
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import { type Ref, type ShallowRef } from 'vue';
|
|
2
|
+
import { type ImageErrorCode, type ImageSnapshot } from '@sectile/dom/image';
|
|
3
|
+
export type { ImageErrorCode, ImageSnapshot, ImageStatus } from '@sectile/dom/image';
|
|
4
|
+
/** Request attributes rendered by the caller; observation never writes them. */
|
|
5
|
+
export interface ImageSource {
|
|
6
|
+
readonly src?: string | undefined;
|
|
7
|
+
readonly srcset?: string | undefined;
|
|
8
|
+
readonly sizes?: string | undefined;
|
|
9
|
+
readonly crossOrigin?: string | null | undefined;
|
|
10
|
+
readonly referrerPolicy?: string | undefined;
|
|
11
|
+
}
|
|
12
|
+
export interface UseImageOptions {
|
|
13
|
+
readonly element: Readonly<Ref<HTMLImageElement | null>>;
|
|
14
|
+
readonly source: () => ImageSource;
|
|
15
|
+
readonly active?: Readonly<Ref<boolean>>;
|
|
16
|
+
}
|
|
17
|
+
export interface UseImageReturn {
|
|
18
|
+
/** Undefined before mount, while inactive, and after the owning scope retires. */
|
|
19
|
+
readonly snapshot: Readonly<ShallowRef<ImageSnapshot | undefined>>;
|
|
20
|
+
/** Native connection admission failure; not an automatic retry or image status. */
|
|
21
|
+
readonly error: Readonly<ShallowRef<ImageErrorCode | undefined>>;
|
|
22
|
+
}
|
|
23
|
+
/** Component-scoped shallow publication over the canonical DOM image owner. */
|
|
24
|
+
export declare function useImage(options: UseImageOptions): UseImageReturn;
|
package/dist/image.js
ADDED
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import{getCurrentInstance,isRef,shallowReadonly,shallowRef}from"vue";import{connectImage}from"@sectile/dom/image";import{useConnectionLifetime}from"./internal/connection-lifetime.js";const sameInput=(a,b)=>a!==void 0&&b!==void 0&&a.every((value,index)=>Object.is(value,b[index]));function useImage(options){if(!getCurrentInstance())throw Object.assign(new TypeError("useImage requires component setup"),{code:"vue.image-scope-required"});if(!isRef(options.element)||typeof options.source!=="function"||options.active!==void 0&&(!isRef(options.active)||typeof options.active.value!=="boolean")){throw Object.assign(new TypeError("useImage requires an element ref, source getter and optional active ref"),{code:"vue.image-invalid"})}let element=options.element;let source=options.source;let active=options.active;let alive=true,native,epoch;const snapshot=shallowRef(),error=shallowRef();const read=()=>{const image=element?.value??null,enabled=alive&&active?.value!==false;const value=enabled&&image?source?.():void 0;return[image,enabled,value?.src,value?.srcset,value?.sizes,value?.crossOrigin,value?.referrerPolicy]};const release=()=>{epoch=void 0;const held=native;native=void 0;try{held?.disconnect()}finally{snapshot.value=void 0;error.value=void 0}};const attach=([image,enabled])=>{if(!enabled||!image)return;const token={};epoch=token;const result=connectImage({element:image,onChange(value){if(alive&&epoch===token)snapshot.value=value}});if(result.ok){if(alive&&epoch===token)native=result.value;else result.value.disconnect()}else if(epoch===token){epoch=void 0;error.value=result.error.code}};useConnectionLifetime({read,equal:sameInput,connect:attach,disconnect:release,dispose(){alive=false;element=void 0;source=void 0;active=void 0}});return Object.freeze({snapshot:shallowReadonly(snapshot),error:shallowReadonly(error)})}export{useImage};
|
|
2
|
+
//# sourceMappingURL=image.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/image.ts"],"mappings":"AAAA,OAAS,mBAAoB,MAAO,gBAAiB,eAA6C,MAClG,OAAS,iBAAmF,qBAC5F,OAAS,0BAA6B,oCAwBtC,MAAM,UAAY,CAAC,EAA2B,IAAuC,IAAM,QAAa,IAAM,QACzG,EAAE,MAAM,CAAC,MAAO,QAAU,OAAO,GAAG,MAAO,EAAE,KAAK,CAAC,CAAC,EAGnD,SAAU,SAAS,QAAwB,CAC/C,GAAI,CAAC,mBAAkB,EAAI,MAAM,OAAO,OAAO,IAAI,UAAU,mCAAmC,EAAG,CAAE,KAAM,0BAA0B,CAAE,EACvI,GAAI,CAAC,MAAM,QAAQ,OAAO,GAAK,OAAO,QAAQ,SAAW,YACpD,QAAQ,SAAW,SAAc,CAAC,MAAM,QAAQ,MAAM,GAAK,OAAO,QAAQ,OAAO,QAAU,WAAY,CAC1G,MAAM,OAAO,OAAO,IAAI,UAAU,yEAAyE,EAAG,CAAE,KAAM,mBAAmB,CAAE,CAC7I,CACA,IAAI,QAAkD,QAAQ,QAC9D,IAAI,OAAgD,QAAQ,OAC5D,IAAI,OAAoC,QAAQ,OAChD,IAAI,MAAQ,KAAM,OAAqC,MACvD,MAAM,SAAW,WAAU,EAAmB,MAAQ,WAAU,EAChE,MAAM,KAAO,IAAiB,CAC5B,MAAM,MAAQ,SAAS,OAAS,KAAM,QAAU,OAAS,QAAQ,QAAU,MAC3E,MAAM,MAAQ,SAAW,MAAQ,SAAQ,EAAK,OAC9C,MAAO,CAAC,MAAO,QAAS,OAAO,IAAK,OAAO,OACzC,OAAO,MAAO,OAAO,YAAa,OAAO,cAAc,CAC3D,EACA,MAAM,QAAU,IAAW,CACzB,MAAQ,OACR,MAAM,KAAO,OAAQ,OAAS,OAC9B,GAAI,CAAE,MAAM,WAAU,CAAI,SAChB,SAAS,MAAQ,OAAW,MAAM,MAAQ,MAAW,CACjE,EACA,MAAM,OAAS,CAAC,CAAC,MAAO,OAAO,IAAuB,CACpD,GAAI,CAAC,SAAW,CAAC,MAAO,OACxB,MAAM,MAAQ,CAAA,EAAI,MAAQ,MAC1B,MAAM,OAAS,aAAa,CAAE,QAAS,MAAO,SAAS,MAAK,CAC1D,GAAI,OAAS,QAAU,MAAO,SAAS,MAAQ,KACjD,CAAC,CAAE,EACH,GAAI,OAAO,GAAI,CACb,GAAI,OAAS,QAAU,MAAO,OAAS,OAAO,WACzC,OAAO,MAAM,WAAU,CAC9B,SAAW,QAAU,MAAO,CAAE,MAAQ,OAAW,MAAM,MAAQ,OAAO,MAAM,IAAM,CACpF,EACA,sBAAkC,CAAE,KAAM,MAAO,UAAW,QAAS,OAAQ,WAAY,QAAS,SAAO,CACvG,MAAQ,MAAO,QAAU,OAAW,OAAS,OAAW,OAAS,MACnE,CAAC,CAAE,EACH,OAAO,OAAO,OAAO,CAAE,SAAU,gBAAgB,QAAQ,EAAG,MAAO,gBAAgB,KAAK,CAAC,CAAE,CAC7F","names":[],"file":"image.js"}
|
package/dist/index.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
export { SequenceReorderItem, SequenceReorderRoot, TreeReorderItem, TreeReorderRoot, type ReorderItemProps, type ReorderItemSlotProps, type ReorderOrientation, type ReorderRootSlotProps, type SequenceReorderRootProps, type TreeReorderNode, type TreeReorderRootProps, type TreeReorderRootSlotProps, } from './reorder.js';
|
|
1
|
+
export { SequenceReorderItem, SequenceReorderHandle, SequenceReorderRoot, TreeReorderItem, TreeReorderHandle, TreeReorderRoot, TreeReorderDropTarget, type TreeReorderDropTargetProps, type TreeReorderExpose, type TreeReorderTarget, type TreeReorderRootEmits, type TreeReorderRootSlots, type SequenceReorderRootEmits, type SequenceReorderRootSlots, type ReorderItemProps, type ReorderHandleProps, type ReorderItemSlotProps, type ReorderOrientation, type ReorderRootSlotProps, type SequenceReorderRootProps, type TreeReorderNode, type TreeReorderRootProps, type TreeReorderRootSlotProps, } from './reorder.js';
|
|
2
2
|
export { HostProvider, useHostDirection, useHostId, useHostPortalTarget, type HostDirection, type HostIdGenerator, type HostPortalTarget, type HostProviderProps, } from './host-provider.js';
|
|
3
3
|
export { AccordionContent, AccordionHeader, AccordionItem, AccordionRoot, AccordionTrigger, type AccordionItemProps, type AccordionItemSlotProps, type AccordionPartProps, type AccordionRootProps, type AccordionRootSlotProps, type AccordionType, type AccordionValue, } from './accordion.js';
|
|
4
4
|
export { AlertDialogClose, AlertDialogContent, AlertDialogDescription, AlertDialogOverlay, AlertDialogPortal, AlertDialogRoot, AlertDialogTitle, AlertDialogTrigger, type AlertDialogPartProps, type AlertDialogPortalProps, type AlertDialogInteractOutsideHandler, type AlertDialogRootProps, type AlertDialogRootSlotProps, } from './overlay/alert-dialog.js';
|
|
@@ -14,7 +14,7 @@ export { SwitchRoot, SwitchThumb, type SwitchRootProps, type SwitchSlotProps, ty
|
|
|
14
14
|
export { ToggleButton, type ToggleButtonProps, type ToggleButtonSlotProps, } from './toggle-button.js';
|
|
15
15
|
export { ToggleGroupItem, ToggleGroupRoot, type ToggleGroupItemProps, type ToggleGroupItemSlotProps, type ToggleGroupRootProps, type ToggleGroupRootSlotProps, } from './toggle-group.js';
|
|
16
16
|
export { TooltipContent, TooltipPortal, TooltipRoot, TooltipTrigger, type TooltipPartProps, type TooltipPortalProps, type TooltipRootProps, type TooltipRootSlotProps, } from './overlay/tooltip.js';
|
|
17
|
-
export { TextField, type TextFieldModelModifiers, type TextFieldProps, } from './text.js';
|
|
17
|
+
export { TextField, type TextFieldModelModifiers, type TextFieldProps, type TextFieldExpose, type TextFieldSnapshot, type TextFieldQuery, type TextFieldQueryOptions, type TextFieldReplacement, type TextFieldEditResult, type TextFieldEditRejection, } from './text.js';
|
|
18
18
|
export { EditableArea, EditableCancelTrigger, EditableEditTrigger, EditableInput, EditablePreview, EditableRoot, EditableSubmitTrigger, type EditablePartProps, type EditableRootProps, type EditableRootSlotProps, } from './editable.js';
|
|
19
19
|
export { ListboxItem, ListboxItemIndicator, ListboxItemText, ListboxRoot, type ListboxItemProps, type ListboxItemSlotProps, type ListboxPartProps, type ListboxRootProps, type ListboxRootSlotProps, type ListboxSelectionMode, type ListboxValue, } from './listbox.js';
|
|
20
20
|
export { RadioGroupIndicator, RadioGroupItem, RadioGroupRoot, type RadioGroupIndicatorProps, type RadioGroupItemProps, type RadioGroupItemSlotProps, type RadioGroupRootProps, type RadioGroupRootSlotProps, } from './radio-group.js';
|
|
@@ -30,8 +30,9 @@ export { PinInputInput, PinInputRoot, type PinInputInputProps, type PinInputInpu
|
|
|
30
30
|
export { QuantityFieldInput, QuantityFieldRoot, QuantityFieldUnitSelect, QuantityFieldValue, type QuantityFieldInputProps, type QuantityFieldPartProps, type QuantityFieldRootProps, type QuantityFieldRootSlotProps, } from './quantity-field.js';
|
|
31
31
|
export { TagsInputClear, TagsInputInput, TagsInputItem, TagsInputItemDelete, TagsInputItemText, TagsInputRoot, type TagsInputItemProps, type TagsInputItemSlotProps, type TagsInputPartProps, type TagsInputRootProps, type TagsInputRootSlotProps, } from './tags-input.js';
|
|
32
32
|
export { WindowSplitterHandle, WindowSplitterPane, WindowSplitterRoot, type WindowSplitterPaneProps, type WindowSplitterRootProps, } from './window-splitter.js';
|
|
33
|
-
export { ComboboxContent, ComboboxEmpty, ComboboxInput, ComboboxItem, ComboboxRoot, type ComboboxItemProps, type ComboboxItemSlotProps, type ComboboxPartProps, type ComboboxRootProps, type ComboboxRootSlotProps, } from './combobox.js';
|
|
33
|
+
export { ComboboxContent, ComboboxEditor, ComboboxEmpty, ComboboxInput, ComboboxItem, ComboboxResults, ComboboxRoot, type ComboboxItemProps, type ComboboxItemSlotProps, type ComboboxPartProps, type ComboboxResultsSlotProps, type ComboboxRootProps, type ComboboxRootSlotProps, } from './combobox.js';
|
|
34
34
|
export { MenuButtonContent, MenuButtonRoot, MenuButtonTrigger, MenuItem, MenuRoot, MenuSeparator, MenuSubContent, MenubarRoot, type MenuButtonRootProps, type MenuItemProps, type MenuItemSlotProps, type MenuPartProps, type MenuRootProps, type MenuRootSlotProps, type MenuSubContentProps, } from './menu.js';
|
|
35
|
+
export { ContextMenuRoot, ContextMenuTrigger, ContextMenuContent, ContextMenuItem, ContextMenuSubContent, ContextMenuSeparator, type ContextMenuRootProps, type ContextMenuRootSlotProps, type ContextMenuItemProps, type ContextMenuItemSlotProps, type ContextMenuPartProps, type ContextMenuSubContentProps, type ContextMenuOpenChangeHandler, type ContextMenuInvokeHandler, } from './context-menu.js';
|
|
35
36
|
export { NavigationMenuContent, NavigationMenuIndicator, NavigationMenuItem, NavigationMenuLink, NavigationMenuList, NavigationMenuRoot, NavigationMenuTrigger, NavigationMenuViewport, type NavigationMenuContentProps, type NavigationMenuItemProps, type NavigationMenuItemSlotProps, type NavigationMenuRootProps, type NavigationMenuRootSlotProps, } from './navigation-menu.js';
|
|
36
37
|
export { SelectContent, SelectItem, SelectItemIndicator, SelectRoot, SelectTrigger, SelectValue, type SelectItemProps, type SelectItemSlotProps, type SelectPartProps, type SelectRootProps, type SelectRootSlotProps, } from './select.js';
|
|
37
38
|
export { ToolbarItem, ToolbarRoot, ToolbarSeparator, type ToolbarItemProps, type ToolbarItemSlotProps, type ToolbarPartProps, type ToolbarRootProps, type ToolbarRootSlotProps, } from './toolbar.js';
|
|
@@ -44,7 +45,7 @@ export { CascadeSelectColumn, CascadeSelectContent, CascadeSelectItem, CascadeSe
|
|
|
44
45
|
export { ColorPickerAlphaSlider, ColorPickerArea, ColorPickerAreaThumb, ColorPickerChannelInput, ColorPickerControl, ColorPickerCoordinateInput, ColorPickerCoordinateSlider, ColorPickerFormatTrigger, ColorPickerHueSlider, ColorPickerLabel, ColorPickerNativeInput, ColorPickerRoot, ColorPickerSwatch, ColorPickerTextInput, ColorPickerValueText, type ColorPickerChannelInputProps, type ColorPickerCoordinateInputProps, type ColorPickerCoordinateSliderProps, type ColorPickerFormatTriggerProps, type ColorPickerPartProps, type ColorPickerRootProps, type ColorPickerRootSlotProps } from './color-picker.js';
|
|
45
46
|
export { GridCell, GridRoot, GridRow, type GridCellSlotProps, type GridPartProps, type GridRootProps, type GridRootSlotProps, } from './grid.js';
|
|
46
47
|
export { TreeViewDisclosure, TreeViewGroup, TreeViewItem, TreeViewRoot, type TreeViewGroupProps, type TreeViewItemSlotProps, type TreeViewPartProps, type TreeViewRootProps, type TreeViewRootSlotProps, type TreeViewSelectionMode, } from './tree-view.js';
|
|
47
|
-
export { TreeGridCell, TreeGridDisclosure, TreeGridEditor, TreeGridRoot, TreeGridRow, type TreeGridCellSlotProps, type TreeGridPartProps, type TreeGridRootProps, type TreeGridRootSlotProps, type TreeGridRowSlotProps, } from './tree-grid.js';
|
|
48
|
+
export { TreeGridCell, TreeGridDisclosure, TreeGridEditor, TreeGridGroup, TreeGridHeader, TreeGridHeaderCell, TreeGridRoot, TreeGridRow, type TreeGridCellSlotProps, type TreeGridPartProps, type TreeGridGroupProps, type TreeGridHeaderCellProps, type TreeGridHeaderCellSlotProps, type TreeGridRootProps, type TreeGridRootSlotProps, type TreeGridRowSlotProps, } from './tree-grid.js';
|
|
48
49
|
export type { CarouselIndicatorLabelResolver, CarouselSlideLabelResolver, } from './carousel.js';
|
|
49
50
|
export type { CascadeListTextValueResolver, } from './cascade-list.js';
|
|
50
51
|
export type { CascadeSelectTextValueResolver, } from './cascade-select.js';
|
|
@@ -84,7 +85,7 @@ export type { StepperActivateHandler, StepperHighlightHandler, StepperValueChang
|
|
|
84
85
|
export type { SwitchValueChangeHandler, } from './switch.js';
|
|
85
86
|
export type { TabsActivateHandler, TabsHighlightHandler, TabsValueChangeHandler, } from './tabs.js';
|
|
86
87
|
export type { TagsInputInputValueChangeHandler, TagsInputValueChangeHandler, } from './tags-input.js';
|
|
87
|
-
export type { TextFieldValueChangeHandler, } from './text.js';
|
|
88
|
+
export type { TextFieldValueChangeHandler, TextFieldSnapshotChangeHandler, } from './text.js';
|
|
88
89
|
export type { TimerCompleteHandler, TimerTickHandler, } from './timer.js';
|
|
89
90
|
export type { ToggleButtonValueChangeHandler, } from './toggle-button.js';
|
|
90
91
|
export type { ToggleGroupHighlightHandler, ToggleGroupValueChangeHandler, } from './toggle-group.js';
|
package/dist/index.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{SequenceReorderItem,SequenceReorderRoot,TreeReorderItem,TreeReorderRoot}from"./reorder.js";import{HostProvider,useHostDirection,useHostId,useHostPortalTarget}from"./host-provider.js";import{AccordionContent,AccordionHeader,AccordionItem,AccordionRoot,AccordionTrigger}from"./accordion.js";import{AlertDialogClose,AlertDialogContent,AlertDialogDescription,AlertDialogOverlay,AlertDialogPortal,AlertDialogRoot,AlertDialogTitle,AlertDialogTrigger}from"./overlay/alert-dialog.js";import{CheckboxIndicator,CheckboxRoot}from"./checkbox.js";import{Primitive}from"./primitive.js";import{DisclosureContent,DisclosureRoot,DisclosureTrigger}from"./disclosure.js";import{DialogClose,DialogContent,DialogDescription,DialogOverlay,DialogPortal,DialogRoot,DialogTitle,DialogTrigger}from"./overlay/dialog.js";import{DrawerClose,DrawerContent,DrawerDescription,DrawerHandle,DrawerOverlay,DrawerPortal,DrawerRoot,DrawerTitle,DrawerTrigger}from"./overlay/drawer.js";import{PopoverAnchor,PopoverArrow,PopoverClose,PopoverContent,PopoverDescription,PopoverPortal,PopoverRoot,PopoverTitle,PopoverTrigger}from"./overlay/popover.js";import{NumberField}from"./number-field.js";import{SwitchRoot,SwitchThumb}from"./switch.js";import{ToggleButton}from"./toggle-button.js";import{ToggleGroupItem,ToggleGroupRoot}from"./toggle-group.js";import{TooltipContent,TooltipPortal,TooltipRoot,TooltipTrigger}from"./overlay/tooltip.js";import{TextField}from"./text.js";import{EditableArea,EditableCancelTrigger,EditableEditTrigger,EditableInput,EditablePreview,EditableRoot,EditableSubmitTrigger}from"./editable.js";import{ListboxItem,ListboxItemIndicator,ListboxItemText,ListboxRoot}from"./listbox.js";import{RadioGroupIndicator,RadioGroupItem,RadioGroupRoot}from"./radio-group.js";import{RatingClear,RatingIndicator,RatingItem,RatingRoot}from"./rating.js";import{TabsContent,TabsIndicator,TabsList,TabsRoot,TabsTrigger}from"./tabs.js";import{SliderRange,SliderRoot,SliderThumb,SliderTrack}from"./slider.js";import{SpinButtonDecrement,SpinButtonIncrement,SpinButtonInput,SpinButtonRoot}from"./spin-button.js";import{StepperContent,StepperIndicator,StepperList,StepperNext,StepperPrevious,StepperRoot,StepperStep}from"./stepper.js";import{CheckboxGroupIndicator,CheckboxGroupItem,CheckboxGroupRoot}from"./checkbox-group.js";import{MultiThumbSliderRange,MultiThumbSliderRoot,MultiThumbSliderThumb,MultiThumbSliderTrack}from"./multi-thumb-slider.js";import{PaginationFirst,PaginationItem,PaginationLast,PaginationNext,PaginationPrevious,PaginationRoot}from"./pagination.js";import{PinInputInput,PinInputRoot}from"./pin-input.js";import{QuantityFieldInput,QuantityFieldRoot,QuantityFieldUnitSelect,QuantityFieldValue}from"./quantity-field.js";import{TagsInputClear,TagsInputInput,TagsInputItem,TagsInputItemDelete,TagsInputItemText,TagsInputRoot}from"./tags-input.js";import{WindowSplitterHandle,WindowSplitterPane,WindowSplitterRoot}from"./window-splitter.js";import{ComboboxContent,ComboboxEmpty,ComboboxInput,ComboboxItem,ComboboxRoot}from"./combobox.js";import{MenuButtonContent,MenuButtonRoot,MenuButtonTrigger,MenuItem,MenuRoot,MenuSeparator,MenuSubContent,MenubarRoot}from"./menu.js";import{NavigationMenuContent,NavigationMenuIndicator,NavigationMenuItem,NavigationMenuLink,NavigationMenuList,NavigationMenuRoot,NavigationMenuTrigger,NavigationMenuViewport}from"./navigation-menu.js";import{SelectContent,SelectItem,SelectItemIndicator,SelectRoot,SelectTrigger,SelectValue}from"./select.js";import{ToolbarItem,ToolbarRoot,ToolbarSeparator}from"./toolbar.js";import{CarouselIndicator,CarouselIndicatorGroup,CarouselNext,CarouselPause,CarouselPrevious,CarouselRoot,CarouselSlide,CarouselTrack,CarouselViewport}from"./carousel.js";import{FeedItem,FeedLoadEarlier,FeedLoadNewer,FeedRoot}from"./feed.js";import{ToastProvider,ToastViewport,ToastRoot,ToastTitle,ToastDescription,ToastClose,useToast}from"./toast.js";import{TimerActionTrigger,TimerArea,TimerControl,TimerItem,TimerRoot,TimerSeparator}from"./timer.js";import{CascadeListColumn,CascadeListItem,CascadeListItemChevron,CascadeListItemIndicator,CascadeListRoot,CascadeListValue}from"./cascade-list.js";import{CascadeSelectColumn,CascadeSelectContent,CascadeSelectItem,CascadeSelectItemChevron,CascadeSelectItemIndicator,CascadeSelectRoot,CascadeSelectTrigger,CascadeSelectValue}from"./cascade-select.js";import{ColorPickerAlphaSlider,ColorPickerArea,ColorPickerAreaThumb,ColorPickerChannelInput,ColorPickerControl,ColorPickerCoordinateInput,ColorPickerCoordinateSlider,ColorPickerFormatTrigger,ColorPickerHueSlider,ColorPickerLabel,ColorPickerNativeInput,ColorPickerRoot,ColorPickerSwatch,ColorPickerTextInput,ColorPickerValueText}from"./color-picker.js";import{GridCell,GridRoot,GridRow}from"./grid.js";import{TreeViewDisclosure,TreeViewGroup,TreeViewItem,TreeViewRoot}from"./tree-view.js";import{TreeGridCell,TreeGridDisclosure,TreeGridEditor,TreeGridRoot,TreeGridRow}from"./tree-grid.js";import{MeterIndicator,MeterRoot,MeterTrack,MeterValueText}from"./meter.js";import{MeterGroupIndicator,MeterGroupItem,MeterGroupItemIndicator,MeterGroupItemLabel,MeterGroupItemValue,MeterGroupList,MeterGroupRoot,MeterGroupSegment,MeterGroupTrack,MeterGroupValueText}from"./meter-group.js";import{ProgressIndicator,ProgressRoot,ProgressTrack,ProgressValueText}from"./progress.js";export{AccordionContent,AccordionHeader,AccordionItem,AccordionRoot,AccordionTrigger,AlertDialogClose,AlertDialogContent,AlertDialogDescription,AlertDialogOverlay,AlertDialogPortal,AlertDialogRoot,AlertDialogTitle,AlertDialogTrigger,CarouselIndicator,CarouselIndicatorGroup,CarouselNext,CarouselPause,CarouselPrevious,CarouselRoot,CarouselSlide,CarouselTrack,CarouselViewport,CascadeListColumn,CascadeListItem,CascadeListItemChevron,CascadeListItemIndicator,CascadeListRoot,CascadeListValue,CascadeSelectColumn,CascadeSelectContent,CascadeSelectItem,CascadeSelectItemChevron,CascadeSelectItemIndicator,CascadeSelectRoot,CascadeSelectTrigger,CascadeSelectValue,CheckboxGroupIndicator,CheckboxGroupItem,CheckboxGroupRoot,CheckboxIndicator,CheckboxRoot,ColorPickerAlphaSlider,ColorPickerArea,ColorPickerAreaThumb,ColorPickerChannelInput,ColorPickerControl,ColorPickerCoordinateInput,ColorPickerCoordinateSlider,ColorPickerFormatTrigger,ColorPickerHueSlider,ColorPickerLabel,ColorPickerNativeInput,ColorPickerRoot,ColorPickerSwatch,ColorPickerTextInput,ColorPickerValueText,ComboboxContent,ComboboxEmpty,ComboboxInput,ComboboxItem,ComboboxRoot,DialogClose,DialogContent,DialogDescription,DialogOverlay,DialogPortal,DialogRoot,DialogTitle,DialogTrigger,DisclosureContent,DisclosureRoot,DisclosureTrigger,DrawerClose,DrawerContent,DrawerDescription,DrawerHandle,DrawerOverlay,DrawerPortal,DrawerRoot,DrawerTitle,DrawerTrigger,EditableArea,EditableCancelTrigger,EditableEditTrigger,EditableInput,EditablePreview,EditableRoot,EditableSubmitTrigger,FeedItem,FeedLoadEarlier,FeedLoadNewer,FeedRoot,GridCell,GridRoot,GridRow,HostProvider,ListboxItem,ListboxItemIndicator,ListboxItemText,ListboxRoot,MenuButtonContent,MenuButtonRoot,MenuButtonTrigger,MenuItem,MenuRoot,MenuSeparator,MenuSubContent,MenubarRoot,MeterGroupIndicator,MeterGroupItem,MeterGroupItemIndicator,MeterGroupItemLabel,MeterGroupItemValue,MeterGroupList,MeterGroupRoot,MeterGroupSegment,MeterGroupTrack,MeterGroupValueText,MeterIndicator,MeterRoot,MeterTrack,MeterValueText,MultiThumbSliderRange,MultiThumbSliderRoot,MultiThumbSliderThumb,MultiThumbSliderTrack,NavigationMenuContent,NavigationMenuIndicator,NavigationMenuItem,NavigationMenuLink,NavigationMenuList,NavigationMenuRoot,NavigationMenuTrigger,NavigationMenuViewport,NumberField,PaginationFirst,PaginationItem,PaginationLast,PaginationNext,PaginationPrevious,PaginationRoot,PinInputInput,PinInputRoot,PopoverAnchor,PopoverArrow,PopoverClose,PopoverContent,PopoverDescription,PopoverPortal,PopoverRoot,PopoverTitle,PopoverTrigger,Primitive,ProgressIndicator,ProgressRoot,ProgressTrack,ProgressValueText,QuantityFieldInput,QuantityFieldRoot,QuantityFieldUnitSelect,QuantityFieldValue,RadioGroupIndicator,RadioGroupItem,RadioGroupRoot,RatingClear,RatingIndicator,RatingItem,RatingRoot,SelectContent,SelectItem,SelectItemIndicator,SelectRoot,SelectTrigger,SelectValue,SequenceReorderItem,SequenceReorderRoot,SliderRange,SliderRoot,SliderThumb,SliderTrack,SpinButtonDecrement,SpinButtonIncrement,SpinButtonInput,SpinButtonRoot,StepperContent,StepperIndicator,StepperList,StepperNext,StepperPrevious,StepperRoot,StepperStep,SwitchRoot,SwitchThumb,TabsContent,TabsIndicator,TabsList,TabsRoot,TabsTrigger,TagsInputClear,TagsInputInput,TagsInputItem,TagsInputItemDelete,TagsInputItemText,TagsInputRoot,TextField,TimerActionTrigger,TimerArea,TimerControl,TimerItem,TimerRoot,TimerSeparator,ToastClose,ToastDescription,ToastProvider,ToastRoot,ToastTitle,ToastViewport,ToggleButton,ToggleGroupItem,ToggleGroupRoot,ToolbarItem,ToolbarRoot,ToolbarSeparator,TooltipContent,TooltipPortal,TooltipRoot,TooltipTrigger,TreeGridCell,TreeGridDisclosure,TreeGridEditor,TreeGridRoot,TreeGridRow,TreeReorderItem,TreeReorderRoot,TreeViewDisclosure,TreeViewGroup,TreeViewItem,TreeViewRoot,WindowSplitterHandle,WindowSplitterPane,WindowSplitterRoot,useHostDirection,useHostId,useHostPortalTarget,useToast};
|
|
1
|
+
import{SequenceReorderItem,SequenceReorderHandle,SequenceReorderRoot,TreeReorderItem,TreeReorderHandle,TreeReorderRoot,TreeReorderDropTarget}from"./reorder.js";import{HostProvider,useHostDirection,useHostId,useHostPortalTarget}from"./host-provider.js";import{AccordionContent,AccordionHeader,AccordionItem,AccordionRoot,AccordionTrigger}from"./accordion.js";import{AlertDialogClose,AlertDialogContent,AlertDialogDescription,AlertDialogOverlay,AlertDialogPortal,AlertDialogRoot,AlertDialogTitle,AlertDialogTrigger}from"./overlay/alert-dialog.js";import{CheckboxIndicator,CheckboxRoot}from"./checkbox.js";import{Primitive}from"./primitive.js";import{DisclosureContent,DisclosureRoot,DisclosureTrigger}from"./disclosure.js";import{DialogClose,DialogContent,DialogDescription,DialogOverlay,DialogPortal,DialogRoot,DialogTitle,DialogTrigger}from"./overlay/dialog.js";import{DrawerClose,DrawerContent,DrawerDescription,DrawerHandle,DrawerOverlay,DrawerPortal,DrawerRoot,DrawerTitle,DrawerTrigger}from"./overlay/drawer.js";import{PopoverAnchor,PopoverArrow,PopoverClose,PopoverContent,PopoverDescription,PopoverPortal,PopoverRoot,PopoverTitle,PopoverTrigger}from"./overlay/popover.js";import{NumberField}from"./number-field.js";import{SwitchRoot,SwitchThumb}from"./switch.js";import{ToggleButton}from"./toggle-button.js";import{ToggleGroupItem,ToggleGroupRoot}from"./toggle-group.js";import{TooltipContent,TooltipPortal,TooltipRoot,TooltipTrigger}from"./overlay/tooltip.js";import{TextField}from"./text.js";import{EditableArea,EditableCancelTrigger,EditableEditTrigger,EditableInput,EditablePreview,EditableRoot,EditableSubmitTrigger}from"./editable.js";import{ListboxItem,ListboxItemIndicator,ListboxItemText,ListboxRoot}from"./listbox.js";import{RadioGroupIndicator,RadioGroupItem,RadioGroupRoot}from"./radio-group.js";import{RatingClear,RatingIndicator,RatingItem,RatingRoot}from"./rating.js";import{TabsContent,TabsIndicator,TabsList,TabsRoot,TabsTrigger}from"./tabs.js";import{SliderRange,SliderRoot,SliderThumb,SliderTrack}from"./slider.js";import{SpinButtonDecrement,SpinButtonIncrement,SpinButtonInput,SpinButtonRoot}from"./spin-button.js";import{StepperContent,StepperIndicator,StepperList,StepperNext,StepperPrevious,StepperRoot,StepperStep}from"./stepper.js";import{CheckboxGroupIndicator,CheckboxGroupItem,CheckboxGroupRoot}from"./checkbox-group.js";import{MultiThumbSliderRange,MultiThumbSliderRoot,MultiThumbSliderThumb,MultiThumbSliderTrack}from"./multi-thumb-slider.js";import{PaginationFirst,PaginationItem,PaginationLast,PaginationNext,PaginationPrevious,PaginationRoot}from"./pagination.js";import{PinInputInput,PinInputRoot}from"./pin-input.js";import{QuantityFieldInput,QuantityFieldRoot,QuantityFieldUnitSelect,QuantityFieldValue}from"./quantity-field.js";import{TagsInputClear,TagsInputInput,TagsInputItem,TagsInputItemDelete,TagsInputItemText,TagsInputRoot}from"./tags-input.js";import{WindowSplitterHandle,WindowSplitterPane,WindowSplitterRoot}from"./window-splitter.js";import{ComboboxContent,ComboboxEditor,ComboboxEmpty,ComboboxInput,ComboboxItem,ComboboxResults,ComboboxRoot}from"./combobox.js";import{MenuButtonContent,MenuButtonRoot,MenuButtonTrigger,MenuItem,MenuRoot,MenuSeparator,MenuSubContent,MenubarRoot}from"./menu.js";import{ContextMenuRoot,ContextMenuTrigger,ContextMenuContent,ContextMenuItem,ContextMenuSubContent,ContextMenuSeparator}from"./context-menu.js";import{NavigationMenuContent,NavigationMenuIndicator,NavigationMenuItem,NavigationMenuLink,NavigationMenuList,NavigationMenuRoot,NavigationMenuTrigger,NavigationMenuViewport}from"./navigation-menu.js";import{SelectContent,SelectItem,SelectItemIndicator,SelectRoot,SelectTrigger,SelectValue}from"./select.js";import{ToolbarItem,ToolbarRoot,ToolbarSeparator}from"./toolbar.js";import{CarouselIndicator,CarouselIndicatorGroup,CarouselNext,CarouselPause,CarouselPrevious,CarouselRoot,CarouselSlide,CarouselTrack,CarouselViewport}from"./carousel.js";import{FeedItem,FeedLoadEarlier,FeedLoadNewer,FeedRoot}from"./feed.js";import{ToastProvider,ToastViewport,ToastRoot,ToastTitle,ToastDescription,ToastClose,useToast}from"./toast.js";import{TimerActionTrigger,TimerArea,TimerControl,TimerItem,TimerRoot,TimerSeparator}from"./timer.js";import{CascadeListColumn,CascadeListItem,CascadeListItemChevron,CascadeListItemIndicator,CascadeListRoot,CascadeListValue}from"./cascade-list.js";import{CascadeSelectColumn,CascadeSelectContent,CascadeSelectItem,CascadeSelectItemChevron,CascadeSelectItemIndicator,CascadeSelectRoot,CascadeSelectTrigger,CascadeSelectValue}from"./cascade-select.js";import{ColorPickerAlphaSlider,ColorPickerArea,ColorPickerAreaThumb,ColorPickerChannelInput,ColorPickerControl,ColorPickerCoordinateInput,ColorPickerCoordinateSlider,ColorPickerFormatTrigger,ColorPickerHueSlider,ColorPickerLabel,ColorPickerNativeInput,ColorPickerRoot,ColorPickerSwatch,ColorPickerTextInput,ColorPickerValueText}from"./color-picker.js";import{GridCell,GridRoot,GridRow}from"./grid.js";import{TreeViewDisclosure,TreeViewGroup,TreeViewItem,TreeViewRoot}from"./tree-view.js";import{TreeGridCell,TreeGridDisclosure,TreeGridEditor,TreeGridGroup,TreeGridHeader,TreeGridHeaderCell,TreeGridRoot,TreeGridRow}from"./tree-grid.js";import{MeterIndicator,MeterRoot,MeterTrack,MeterValueText}from"./meter.js";import{MeterGroupIndicator,MeterGroupItem,MeterGroupItemIndicator,MeterGroupItemLabel,MeterGroupItemValue,MeterGroupList,MeterGroupRoot,MeterGroupSegment,MeterGroupTrack,MeterGroupValueText}from"./meter-group.js";import{ProgressIndicator,ProgressRoot,ProgressTrack,ProgressValueText}from"./progress.js";export{AccordionContent,AccordionHeader,AccordionItem,AccordionRoot,AccordionTrigger,AlertDialogClose,AlertDialogContent,AlertDialogDescription,AlertDialogOverlay,AlertDialogPortal,AlertDialogRoot,AlertDialogTitle,AlertDialogTrigger,CarouselIndicator,CarouselIndicatorGroup,CarouselNext,CarouselPause,CarouselPrevious,CarouselRoot,CarouselSlide,CarouselTrack,CarouselViewport,CascadeListColumn,CascadeListItem,CascadeListItemChevron,CascadeListItemIndicator,CascadeListRoot,CascadeListValue,CascadeSelectColumn,CascadeSelectContent,CascadeSelectItem,CascadeSelectItemChevron,CascadeSelectItemIndicator,CascadeSelectRoot,CascadeSelectTrigger,CascadeSelectValue,CheckboxGroupIndicator,CheckboxGroupItem,CheckboxGroupRoot,CheckboxIndicator,CheckboxRoot,ColorPickerAlphaSlider,ColorPickerArea,ColorPickerAreaThumb,ColorPickerChannelInput,ColorPickerControl,ColorPickerCoordinateInput,ColorPickerCoordinateSlider,ColorPickerFormatTrigger,ColorPickerHueSlider,ColorPickerLabel,ColorPickerNativeInput,ColorPickerRoot,ColorPickerSwatch,ColorPickerTextInput,ColorPickerValueText,ComboboxContent,ComboboxEditor,ComboboxEmpty,ComboboxInput,ComboboxItem,ComboboxResults,ComboboxRoot,ContextMenuContent,ContextMenuItem,ContextMenuRoot,ContextMenuSeparator,ContextMenuSubContent,ContextMenuTrigger,DialogClose,DialogContent,DialogDescription,DialogOverlay,DialogPortal,DialogRoot,DialogTitle,DialogTrigger,DisclosureContent,DisclosureRoot,DisclosureTrigger,DrawerClose,DrawerContent,DrawerDescription,DrawerHandle,DrawerOverlay,DrawerPortal,DrawerRoot,DrawerTitle,DrawerTrigger,EditableArea,EditableCancelTrigger,EditableEditTrigger,EditableInput,EditablePreview,EditableRoot,EditableSubmitTrigger,FeedItem,FeedLoadEarlier,FeedLoadNewer,FeedRoot,GridCell,GridRoot,GridRow,HostProvider,ListboxItem,ListboxItemIndicator,ListboxItemText,ListboxRoot,MenuButtonContent,MenuButtonRoot,MenuButtonTrigger,MenuItem,MenuRoot,MenuSeparator,MenuSubContent,MenubarRoot,MeterGroupIndicator,MeterGroupItem,MeterGroupItemIndicator,MeterGroupItemLabel,MeterGroupItemValue,MeterGroupList,MeterGroupRoot,MeterGroupSegment,MeterGroupTrack,MeterGroupValueText,MeterIndicator,MeterRoot,MeterTrack,MeterValueText,MultiThumbSliderRange,MultiThumbSliderRoot,MultiThumbSliderThumb,MultiThumbSliderTrack,NavigationMenuContent,NavigationMenuIndicator,NavigationMenuItem,NavigationMenuLink,NavigationMenuList,NavigationMenuRoot,NavigationMenuTrigger,NavigationMenuViewport,NumberField,PaginationFirst,PaginationItem,PaginationLast,PaginationNext,PaginationPrevious,PaginationRoot,PinInputInput,PinInputRoot,PopoverAnchor,PopoverArrow,PopoverClose,PopoverContent,PopoverDescription,PopoverPortal,PopoverRoot,PopoverTitle,PopoverTrigger,Primitive,ProgressIndicator,ProgressRoot,ProgressTrack,ProgressValueText,QuantityFieldInput,QuantityFieldRoot,QuantityFieldUnitSelect,QuantityFieldValue,RadioGroupIndicator,RadioGroupItem,RadioGroupRoot,RatingClear,RatingIndicator,RatingItem,RatingRoot,SelectContent,SelectItem,SelectItemIndicator,SelectRoot,SelectTrigger,SelectValue,SequenceReorderHandle,SequenceReorderItem,SequenceReorderRoot,SliderRange,SliderRoot,SliderThumb,SliderTrack,SpinButtonDecrement,SpinButtonIncrement,SpinButtonInput,SpinButtonRoot,StepperContent,StepperIndicator,StepperList,StepperNext,StepperPrevious,StepperRoot,StepperStep,SwitchRoot,SwitchThumb,TabsContent,TabsIndicator,TabsList,TabsRoot,TabsTrigger,TagsInputClear,TagsInputInput,TagsInputItem,TagsInputItemDelete,TagsInputItemText,TagsInputRoot,TextField,TimerActionTrigger,TimerArea,TimerControl,TimerItem,TimerRoot,TimerSeparator,ToastClose,ToastDescription,ToastProvider,ToastRoot,ToastTitle,ToastViewport,ToggleButton,ToggleGroupItem,ToggleGroupRoot,ToolbarItem,ToolbarRoot,ToolbarSeparator,TooltipContent,TooltipPortal,TooltipRoot,TooltipTrigger,TreeGridCell,TreeGridDisclosure,TreeGridEditor,TreeGridGroup,TreeGridHeader,TreeGridHeaderCell,TreeGridRoot,TreeGridRow,TreeReorderDropTarget,TreeReorderHandle,TreeReorderItem,TreeReorderRoot,TreeViewDisclosure,TreeViewGroup,TreeViewItem,TreeViewRoot,WindowSplitterHandle,WindowSplitterPane,WindowSplitterRoot,useHostDirection,useHostId,useHostPortalTarget,useToast};
|
|
2
2
|
//# sourceMappingURL=index.js.map
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/index.ts"],"mappings":"AAAA,OACE,oBACA,oBACA,gBACA,
|
|
1
|
+
{"version":3,"sources":["../src/index.ts"],"mappings":"AAAA,OACE,oBACA,sBACA,oBACA,gBACA,kBACA,gBACA,0BAiBK,eAEP,OACE,aACA,iBACA,UACA,wBAKK,qBACP,OACE,iBACA,gBACA,cACA,cACA,qBAQK,iBACP,OACE,iBACA,mBACA,uBACA,mBACA,kBACA,gBACA,iBACA,uBAMK,4BACP,OACE,kBACA,iBAKK,gBACP,OAAS,cAAwD,iBACjE,OACE,kBACA,eACA,sBAKK,kBACP,OACE,YACA,cACA,kBACA,cACA,aACA,WACA,YACA,kBAMK,sBACP,OACE,YACA,cACA,kBACA,aACA,cACA,aACA,WACA,YACA,kBAOK,sBACP,OACE,cACA,aACA,aACA,eACA,mBACA,cACA,YACA,aACA,mBAMK,uBAEP,OAAS,gBAA0C,oBACnD,OACE,WACA,gBAIK,cACP,OACE,iBAGK,qBACP,OACE,gBACA,oBAKK,oBACP,OACE,eACA,cACA,YACA,mBAKK,uBACP,OACE,cAUK,YACP,OACE,aACA,sBACA,oBACA,cACA,gBACA,aACA,0BAIK,gBACP,OACE,YACA,qBACA,gBACA,gBAQK,eACP,OACE,oBACA,eACA,mBAMK,mBACP,OACE,YACA,gBACA,WACA,eAIK,cACP,OACE,YACA,cACA,SACA,SACA,gBAUK,YACP,OACE,YACA,WACA,YACA,gBAIK,cACP,OACE,oBACA,oBACA,gBACA,mBAKK,mBACP,OACE,eACA,iBACA,YACA,YACA,gBACA,YACA,gBAIK,eACP,OACE,uBACA,kBACA,sBAIK,sBACP,OACE,sBACA,qBACA,sBACA,0BAMK,0BACP,OACE,gBACA,eACA,eACA,eACA,mBACA,mBAKK,kBACP,OACE,cACA,iBAKK,iBACP,OACE,mBACA,kBACA,wBACA,uBAKK,sBACP,OACE,eACA,eACA,cACA,oBACA,kBACA,kBAMK,kBACP,OACE,qBACA,mBACA,uBAGK,uBACP,OACE,gBACA,eACA,cACA,cACA,aACA,gBACA,iBAOK,gBACP,OACE,kBACA,eACA,kBACA,SACA,SACA,cACA,eACA,gBAQK,YACP,OACE,gBAAiB,mBAAoB,mBAAoB,gBAAiB,sBAAuB,yBAG5F,oBACP,OACE,sBACA,wBACA,mBACA,mBACA,mBACA,mBACA,sBACA,2BAMK,uBACP,OACE,cACA,WACA,oBACA,WACA,cACA,gBAMK,cACP,OACE,YACA,YACA,qBAMK,eACP,OACE,kBACA,uBACA,aACA,cACA,iBACA,aACA,cACA,cACA,qBAKK,gBACP,OACE,SACA,gBACA,cACA,aAKK,YACP,OAAS,cAAe,cAAe,UAAW,WAAY,iBAAkB,WAAY,aAA8J,aAC1P,OAAS,mBAAoB,UAAW,aAAc,UAAW,UAAW,mBAAqF,aACjK,OAAS,kBAAmB,gBAAiB,uBAAwB,yBAA0B,gBAAiB,qBAAqO,oBACrV,OAAS,oBAAqB,qBAAsB,kBAAmB,yBAA0B,2BAA4B,kBAAmB,qBAAsB,uBAAqP,sBAC3Z,OAAS,uBAAwB,gBAAiB,qBAAsB,wBAAyB,mBAAoB,2BAA4B,4BAA6B,yBAA0B,qBAAsB,iBAAkB,uBAAwB,gBAAiB,kBAAmB,qBAAsB,yBAAqQ,oBACvkB,OACE,SACA,SACA,YAKK,YACP,OACE,mBACA,cACA,aACA,iBAOK,iBACP,OACE,aACA,mBACA,eACA,cACA,eACA,mBACA,aACA,gBASK,iBAsNP,OACE,eACA,UACA,WACA,mBAKK,aACP,OACE,oBACA,eACA,wBACA,oBACA,oBACA,eACA,eACA,kBACA,gBACA,wBAWK,mBACP,OACE,kBACA,aACA,cACA,sBAKK","names":[],"file":"index.js"}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
|
-
import { type DefineComponent, type PropType } from 'vue';
|
|
1
|
+
import { type DefineComponent, type ComputedRef, type ComponentObjectPropsOptions, type PropType, type ShallowRef } from 'vue';
|
|
2
|
+
import type { TextEditingState } from '@sectile/core/text';
|
|
2
3
|
export interface NativeFieldConnection<Value> {
|
|
3
4
|
getSnapshot(): {
|
|
4
5
|
readonly revision: number;
|
|
@@ -12,6 +13,21 @@ export interface NativeFieldConnection<Value> {
|
|
|
12
13
|
};
|
|
13
14
|
disconnect(): void;
|
|
14
15
|
}
|
|
16
|
+
export interface NativeFieldValueControl<Value> {
|
|
17
|
+
readonly element: HTMLInputElement | null;
|
|
18
|
+
readonly composing: Readonly<ShallowRef<boolean>>;
|
|
19
|
+
commit(value: Value | null): boolean;
|
|
20
|
+
}
|
|
21
|
+
type NativeFieldValueBinding<Value> = (control: NativeFieldValueControl<Value>) => () => void;
|
|
22
|
+
export interface NativeFieldCommandHost<Value> {
|
|
23
|
+
readonly connection: NativeFieldConnection<Value> | undefined;
|
|
24
|
+
readonly mounted: boolean;
|
|
25
|
+
readonly composing: boolean;
|
|
26
|
+
readonly disabled: boolean;
|
|
27
|
+
readonly readOnly: boolean;
|
|
28
|
+
}
|
|
29
|
+
/** Scope a composition command to its single native input, not the outer field. */
|
|
30
|
+
export declare function provideNativeFieldValueControl<Value>(attach: NativeFieldValueBinding<Value>): void;
|
|
15
31
|
export interface NativeFieldFactoryOptions<Value, Policies = Readonly<Record<string, unknown>>> {
|
|
16
32
|
readonly input: HTMLInputElement;
|
|
17
33
|
readonly policies?: Policies;
|
|
@@ -25,15 +41,25 @@ export interface NativeFieldFactoryOptions<Value, Policies = Readonly<Record<str
|
|
|
25
41
|
readonly onValueChange: (value: Value | null) => void;
|
|
26
42
|
readonly onUpdate: () => void;
|
|
27
43
|
}
|
|
28
|
-
export interface
|
|
44
|
+
export interface NativeFieldPresentation<Value, Policies, Format = undefined> {
|
|
45
|
+
readonly format?: Format;
|
|
46
|
+
readonly inputMode?: 'decimal' | 'numeric' | 'text';
|
|
47
|
+
readonly placeholder?: string;
|
|
48
|
+
formatValue(value: Value): string;
|
|
49
|
+
create(options: NativeFieldFactoryOptions<Value, Policies>): NativeFieldConnection<Value>;
|
|
50
|
+
rebase?(value: Value | null, inputState: TextEditingState, previousFormat: Format | undefined): TextEditingState;
|
|
51
|
+
}
|
|
52
|
+
export interface NativeFieldComponentConfig<Value, Policies = Readonly<Record<string, unknown>>, Format = undefined, ExtraProps extends object = {}> extends NativeFieldPresentation<Value, Policies, Format> {
|
|
29
53
|
readonly name: string;
|
|
30
54
|
readonly scope: string;
|
|
31
55
|
readonly valueType: PropType<Value | null>;
|
|
32
56
|
readonly inputMode: 'decimal' | 'numeric' | 'text';
|
|
33
57
|
readonly nativeInputType?: 'date' | 'time' | 'datetime-local';
|
|
34
|
-
readonly
|
|
35
|
-
|
|
36
|
-
|
|
58
|
+
readonly presentationProps?: ComponentObjectPropsOptions<ExtraProps>;
|
|
59
|
+
/** Explicit user selection differs from controlled-value synchronization. */
|
|
60
|
+
commitValue?(connection: NativeFieldConnection<Value>, value: Value | null): boolean;
|
|
61
|
+
exposeValueCommands?(host: NativeFieldCommandHost<Value>, expose: (value: object) => void): void;
|
|
62
|
+
usePresentation?(props: Readonly<NativeFieldPublicProps<Value, Policies> & ExtraProps>): ComputedRef<NativeFieldPresentation<Value, Policies, Format> | undefined>;
|
|
37
63
|
}
|
|
38
64
|
export interface NativeFieldPublicProps<Value, Policies = Readonly<Record<string, unknown>>> {
|
|
39
65
|
readonly modelValue?: Value | null;
|
|
@@ -45,4 +71,5 @@ export interface NativeFieldPublicProps<Value, Policies = Readonly<Record<string
|
|
|
45
71
|
readonly label?: string;
|
|
46
72
|
readonly native?: boolean;
|
|
47
73
|
}
|
|
48
|
-
export declare function createNativeFieldComponent<Value, Policies = Readonly<Record<string, unknown
|
|
74
|
+
export declare function createNativeFieldComponent<Value, Policies = Readonly<Record<string, unknown>>, Format = undefined, ExtraProps extends object = {}>(config: NativeFieldComponentConfig<Value, Policies, Format, ExtraProps>): DefineComponent<NativeFieldPublicProps<Value, Policies> & ExtraProps>;
|
|
75
|
+
export {};
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{defineComponent,h,mergeProps,onBeforeUnmount,onMounted,shallowRef,watch}from"vue";import{useNativeInputFormControl}from"../form/control.js";import{useControlledStateInvariant}from"../internal/controlled-state.js";import{captureNativeTextState}from"./native-text-state.js";function createNativeFieldComponent(config){return defineComponent({name:config.name,inheritAttrs:false,props:{modelValue:{type:config.valueType,default:void 0},defaultValue:{type:config.valueType,default:null},policies:{type:Object,default:void 0},disabled:{type:Boolean,default:false},readonly:{type:Boolean,default:false},required:{type:Boolean,default:false},label:{type:String,default:void 0},native:{type:Boolean,default:false}},emits:{"update:modelValue":_value=>true},setup(props,{attrs,emit}){const
|
|
1
|
+
import{defineComponent,getCurrentInstance,h,inject,mergeProps,onBeforeUnmount,onMounted,provide,shallowRef,ssrContextKey,watch}from"vue";import{hiddenInputSubmissionCapabilities,useFormControlFlags,useFormSubmissionProps,useNativeInputFormControl}from"../form/control.js";import{useControlledStateInvariant}from"../internal/controlled-state.js";import{captureNativeTextState}from"./native-text-state.js";import{useNextTickTask}from"../internal/scheduled-task.js";const nativeFieldValueBinding=Symbol("SectileNativeFieldValueBinding");function provideNativeFieldValueControl(attach){provide(nativeFieldValueBinding,attach)}function createNativeFieldComponent(config){return defineComponent({name:config.name,inheritAttrs:false,props:{...config.presentationProps,modelValue:{type:config.valueType,default:void 0},defaultValue:{type:config.valueType,default:null},policies:{type:Object,default:void 0},disabled:{type:Boolean,default:false},readonly:{type:Boolean,default:false},required:{type:Boolean,default:false},label:{type:String,default:void 0},native:{type:Boolean,default:false}},emits:{"update:modelValue":_value=>true},setup(props,{attrs,emit}){const flags=useFormControlFlags(props);const valueBinding=config.commitValue===void 0?void 0:inject(nativeFieldValueBinding,void 0);const composingState=valueBinding===void 0?void 0:shallowRef(false);let detachValueControl;const requestedPresentation=config.usePresentation?.(props);const presentation=shallowRef(requestedPresentation?.value??config);const input=shallowRef();let connection;let mounted=false;const controlled=useControlledStateInvariant(config.name,"modelValue",()=>props.modelValue);let acceptedValue=controlled?props.modelValue:void 0;const initialProjectedValue=controlled?props.modelValue:props.defaultValue;let resetValue=initialProjectedValue??null;const projectedText=shallowRef(initialProjectedValue===null||initialProjectedValue===void 0?"":presentation.value.formatValue(initialProjectedValue));const renderServerValue=inject(ssrContextKey,void 0)!==void 0,defaultText=projectedText.value;const projectOptions=()=>({native:props.native,...flags.value});const projected=shallowRef(projectOptions());let inputComposing=false;let reconnectPending=false;let reconnectTimer=null;const capture=()=>{const target=connection;const element=input.value;if(target===void 0||element===void 0)return void 0;return{value:target.getValue(),inputState:captureNativeTextState(element,target.getText())}};const connect=(preserved,reset=false)=>{const element=input.value;if(element===void 0)return;const wanted=requestedPresentation?.value??config;const previous=presentation.value;const dirty=preserved!==void 0&&(preserved.inputState.composition!==null||preserved.inputState.snapshot.text!==(preserved.value===null?"":previous.formatValue(preserved.value)));const deferred=wanted!==previous&&dirty;const next=deferred?previous:wanted;if(preserved!==void 0&&next!==previous){preserved={value:preserved.value,inputState:next.rebase?.(preserved.value,preserved.inputState,previous.format)??preserved.inputState}}connection?.disconnect();const nextOptions=projectOptions();projected.value=deferred?{...nextOptions,native:projected.value.native}:nextOptions;presentation.value=next;const fieldOptions={input:element,disabled:flags.value.disabled,readOnly:flags.value.readonly,required:flags.value.required,native:projected.value.native,onValueChange:value=>{emit("update:modelValue",value)},onUpdate:()=>{const target=connection;if(target===void 0)return;projectedText.value=target.getText();if((requestedPresentation?.value??config)!==presentation.value)presentationTask?.schedule()}};if(props.policies!==void 0)fieldOptions.policies=props.policies;if(controlled)fieldOptions.value=acceptedValue;else fieldOptions.defaultValue=reset?resetValue:preserved===void 0?props.defaultValue:preserved.value;if(preserved!==void 0)fieldOptions.defaultInputState=preserved.inputState;if(props.label!==void 0)fieldOptions.label=props.label;connection=next.create(fieldOptions);projectedText.value=connection.getText()};const resetTask=useNextTickTask(()=>{if(mounted)connect(void 0,true)});const settlePresentation=()=>{if(!mounted||inputComposing||(requestedPresentation?.value??config)===presentation.value)return;const preserved=capture();if(preserved!==void 0&&preserved.inputState.composition===null&&preserved.inputState.snapshot.text===(preserved.value===null?"":presentation.value.formatValue(preserved.value)))connect(preserved)};const presentationTask=requestedPresentation===void 0?void 0:useNextTickTask(settlePresentation);const participation=useNativeInputFormControl(input,{reset:()=>{if(!mounted)return;if(reconnectTimer!==null)clearTimeout(reconnectTimer);reconnectTimer=null;reconnectPending=false;inputComposing=false;if(composingState!==void 0)composingState.value=false;resetTask.schedule()}});const submission=participation.participating?useFormSubmissionProps({element:input,capabilities:hiddenInputSubmissionCapabilities}):void 0;const requestConnect=()=>{if(!mounted)return;if(inputComposing){reconnectPending=true;return}connect(capture())};const setInputComposing=composing=>{inputComposing=composing;if(composingState!==void 0)composingState.value=composing;if(!composing&&(requestedPresentation?.value??config)!==presentation.value)presentationTask?.schedule();if(composing||!reconnectPending||reconnectTimer!==null)return;reconnectTimer=setTimeout(()=>{reconnectTimer=null;if(inputComposing)return;reconnectPending=false;connect(capture())},0)};config.exposeValueCommands?.({get connection(){return connection},get mounted(){return mounted},get composing(){return inputComposing},get disabled(){return flags.value.disabled},get readOnly(){return flags.value.readonly}},commands=>{const instance=getCurrentInstance();for(const[name,method]of Object.entries(commands))Object.defineProperty(instance.proxy,name,{configurable:true,value:method})});onMounted(()=>{if(controlled)acceptedValue=props.modelValue;mounted=true;connect();resetValue=connection?.getValue()??null;if(valueBinding!==void 0&&composingState!==void 0)detachValueControl=valueBinding({get element(){return input.value??null},composing:composingState,commit(value){if(!mounted||connection===void 0||props.disabled||props.readonly||inputComposing)return false;if((requestedPresentation?.value??config)!==presentation.value)connect();return config.commitValue?.(connection,value)??false}})});onBeforeUnmount(()=>{mounted=false;resetTask.cancel();presentationTask?.cancel();detachValueControl?.();detachValueControl=void 0;if(composingState!==void 0)composingState.value=false;if(reconnectTimer!==null)clearTimeout(reconnectTimer);reconnectTimer=null;reconnectPending=false;connection?.disconnect();connection=void 0;input.value=void 0});watch(()=>props.modelValue,value=>{if(!controlled||value===void 0||connection===void 0)return;const result=connection.syncControlledValues({value});if(!result.ok)throw new TypeError("Controlled native field synchronization failed.");acceptedValue=value;projectedText.value=connection.getText()});watch([()=>props.policies,()=>flags.value.disabled,()=>flags.value.readonly,()=>flags.value.required,()=>props.label,()=>props.native],requestConnect);if(requestedPresentation!==void 0)watch(requestedPresentation,settlePresentation);const setInput=element=>{input.value=element instanceof HTMLInputElement?element:void 0};return()=>h("input",mergeProps(submission?.value??{},attrs,{ref:setInput,"data-scope":config.scope,"data-part":"input",type:projected.value.native&&config.nativeInputType!==void 0?config.nativeInputType:"text",inputmode:projected.value.native?void 0:presentation.value.inputMode??config.inputMode,placeholder:attrs["placeholder"]??(projected.value.native?void 0:presentation.value.placeholder),disabled:projected.value.disabled,readonly:projected.value.readonly,required:projected.value.required,"aria-disabled":String(projected.value.disabled),"aria-readonly":String(projected.value.readonly),"aria-label":props.label,onCompositionstart:()=>setInputComposing(true),onCompositionend:()=>setInputComposing(false),...renderServerValue?{value:projectedText.value}:{defaultValue:defaultText}},participation.controlProps.value))}})}export{createNativeFieldComponent,provideNativeFieldValueControl};
|
|
2
2
|
//# sourceMappingURL=native-field.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/input/native-field.ts"],"mappings":"AAAA,OACE,gBACA,EACA,WACA,gBACA,UACA,WACA,
|
|
1
|
+
{"version":3,"sources":["../../src/input/native-field.ts"],"mappings":"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","names":[],"file":"native-field.js"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { type SetupContext, type SlotsType, type VNodeChild } from 'vue';
|
|
1
|
+
import { type ComputedRef, type SetupContext, type SlotsType, type VNodeChild } from 'vue';
|
|
2
2
|
import type { TextEditingState } from '@sectile/core/text';
|
|
3
3
|
import { type PrimitiveAs } from '../primitive.js';
|
|
4
4
|
interface RangeFieldState<Value> {
|
|
@@ -20,6 +20,8 @@ interface RangeFieldSlotProps<Value> {
|
|
|
20
20
|
readonly readonly: boolean;
|
|
21
21
|
}
|
|
22
22
|
interface RangeFieldProps<Value, Policies> {
|
|
23
|
+
readonly name?: string | undefined;
|
|
24
|
+
readonly form?: string | undefined;
|
|
23
25
|
readonly modelValue: Value | null | undefined;
|
|
24
26
|
readonly defaultValue: Value | null;
|
|
25
27
|
readonly policies: Policies | undefined;
|
|
@@ -31,13 +33,14 @@ interface RangeFieldProps<Value, Policies> {
|
|
|
31
33
|
readonly as: PrimitiveAs;
|
|
32
34
|
readonly asChild: boolean;
|
|
33
35
|
}
|
|
34
|
-
interface RangeFieldOptions<Value, Policies> {
|
|
36
|
+
interface RangeFieldOptions<Value, Policies, State = never> {
|
|
35
37
|
readonly startInput: HTMLInputElement;
|
|
36
38
|
readonly endInput: HTMLInputElement;
|
|
37
39
|
readonly value?: Value | null;
|
|
38
40
|
readonly defaultValue?: Value | null;
|
|
39
41
|
readonly defaultStartInputState?: TextEditingState;
|
|
40
42
|
readonly defaultEndInputState?: TextEditingState;
|
|
43
|
+
readonly defaultState?: State;
|
|
41
44
|
readonly policies?: Policies;
|
|
42
45
|
readonly disabled: boolean;
|
|
43
46
|
readonly readOnly: boolean;
|
|
@@ -67,15 +70,21 @@ interface RangeFieldConnection<Value, State> {
|
|
|
67
70
|
}>;
|
|
68
71
|
disconnect(): void;
|
|
69
72
|
}
|
|
70
|
-
export interface
|
|
73
|
+
export interface NativeRangePresentation<Value, Policies, State extends RangeFieldState<Value>> {
|
|
74
|
+
readonly inputMode?: 'numeric' | 'text';
|
|
75
|
+
readonly placeholder?: string;
|
|
76
|
+
initial(options: {
|
|
77
|
+
readonly value: Value | null;
|
|
78
|
+
}): RangeResult<State>;
|
|
79
|
+
create(options: RangeFieldOptions<Value, Policies, State>): RangeFieldConnection<Value, State>;
|
|
80
|
+
rebase?(state: State, start: TextEditingState, end: TextEditingState): RangeResult<State>;
|
|
81
|
+
}
|
|
82
|
+
export interface NativeRangeFieldConfig<Value, Policies, State extends RangeFieldState<Value>> extends NativeRangePresentation<Value, Policies, State> {
|
|
71
83
|
readonly name: string;
|
|
72
84
|
readonly scope: string;
|
|
73
85
|
readonly contextKey: symbol;
|
|
74
86
|
readonly reset?: boolean;
|
|
75
|
-
|
|
76
|
-
readonly value: Value | null;
|
|
77
|
-
}): RangeResult<State>;
|
|
78
|
-
create(options: RangeFieldOptions<Value, Policies>): RangeFieldConnection<Value, State>;
|
|
87
|
+
usePresentation?(): ComputedRef<NativeRangePresentation<Value, Policies, State> | undefined>;
|
|
79
88
|
}
|
|
80
89
|
export declare function setupNativeRangeField<Value, Policies, State extends RangeFieldState<Value>>(config: NativeRangeFieldConfig<Value, Policies, State>, props: RangeFieldProps<Value, Policies>, { attrs, emit, slots }: SetupContext<{
|
|
81
90
|
'update:modelValue': (value: Value | null) => boolean;
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{computed,defineComponent,h,inject,mergeProps,onBeforeUnmount,onMounted,provide,shallowRef,watch}from"vue";import{hiddenInputSubmissionCapabilities,useCompositeFormControl}from"../form/control.js";import{Primitive}from"../primitive.js";import{useControlledStateInvariant}from"../internal/controlled-state.js";import{useNextTickTask}from"../internal/scheduled-task.js";import{captureNativeTextState}from"./native-text-state.js";function setupNativeRangeField(config,props,{attrs,emit,slots}){const controlled=useControlledStateInvariant(config.name,"modelValue",()=>props.modelValue);const
|
|
1
|
+
import{computed,defineComponent,h,inject,mergeProps,onBeforeUnmount,onMounted,provide,shallowRef,ssrContextKey,watch}from"vue";import{hiddenInputSubmissionCapabilities,useCompositeFormControl,useFormControlFlags,useFormMetadataPresence,useFormSubmissionProps}from"../form/control.js";import{Primitive}from"../primitive.js";import{useControlledStateInvariant}from"../internal/controlled-state.js";import{useNextTickTask}from"../internal/scheduled-task.js";import{captureNativeTextState}from"./native-text-state.js";function setupNativeRangeField(config,props,{attrs,emit,slots}){const controlled=useControlledStateInvariant(config.name,"modelValue",()=>props.modelValue);const requested=config.usePresentation?.();const presentation=shallowRef(requested?.value??config);const initial=presentation.value.initial({value:controlled?props.modelValue:props.defaultValue});if(!initial.ok)throw new TypeError(initial.error.message);const snapshot=shallowRef(initial.value);const startInput=shallowRef(null);const endInput=shallowRef(null);const root=shallowRef(null);let mounted=false;let connection=null;const submissions=[{element:startInput,relativeName:"start",capabilities:hiddenInputSubmissionCapabilities},{element:endInput,relativeName:"end",capabilities:hiddenInputSubmissionCapabilities}];const explicit=useFormMetadataPresence();const flags=useFormControlFlags(props);const endpointSubmissionProps=(endpoint,index)=>{const inherited=useFormSubmissionProps(submissions[index]);return computed(()=>{const attributes={...inherited.value};if(explicit.value.includes("name")){const name=props.name;attributes["name"]=name===void 0||name===""?name:`${name}.${endpoint}`}if(explicit.value.includes("form"))attributes["form"]=props.form;Object.assign(attributes,flags.value);return attributes})};const submissionProps={start:endpointSubmissionProps("start",0),end:endpointSubmissionProps("end",1)};const participation=useCompositeFormControl({root,focusTarget:startInput,submissions,...config.reset?{reset:()=>resetTask?.schedule()}:{}});const refresh=()=>{if(connection!==null)snapshot.value=connection.getSnapshot().state;if((requested?.value??config)!==presentation.value)presentationTask?.schedule()};const mount=(preserveNative=false,convertedState)=>{if(!mounted||startInput.value===null||endInput.value===null)return;let startState=preserveNative&&connection!==null?captureNativeTextState(startInput.value,snapshot.value.start.inputState.snapshot.text):void 0;let endState=preserveNative&&connection!==null?captureNativeTextState(endInput.value,snapshot.value.end.inputState.snapshot.text):void 0;const wanted=requested?.value??config;let next=presentation.value;let restored=snapshot.value;if(wanted!==next&&startState!==void 0&&endState!==void 0){const converted=convertedState===void 0?wanted.rebase?.(snapshot.value,startState,endState):{ok:true,value:convertedState};if(converted?.ok){next=wanted;restored=converted.value;startState=restored.start.inputState;endState=restored.end.inputState}}else if(!preserveNative){next=wanted;const converted=next.initial({value:controlled?props.modelValue:snapshot.value.value});if(!converted.ok)throw new TypeError(converted.error.message);restored=converted.value}connection?.disconnect();presentation.value=next;const fieldOptions={startInput:startInput.value,endInput:endInput.value,disabled:flags.value.disabled,readOnly:flags.value.readonly,required:flags.value.required,onValueChange:value=>emit("update:modelValue",value),onUpdate:refresh};if(controlled)fieldOptions.value=props.modelValue;else fieldOptions.defaultValue=snapshot.value.value;fieldOptions.defaultState=restored;if(startState!==void 0)fieldOptions.defaultStartInputState=startState;if(endState!==void 0)fieldOptions.defaultEndInputState=endState;const{policies,startLabel,endLabel}=props;if(policies!==void 0)fieldOptions.policies=policies;if(startLabel!==void 0)fieldOptions.startLabel=startLabel;if(endLabel!==void 0)fieldOptions.endLabel=endLabel;connection=next.create(fieldOptions);refresh()};const mountTask=useNextTickTask(()=>mount(true));const resetTask=config.reset?useNextTickTask(()=>{if(!controlled)snapshot.value=initial.value;mount()}):void 0;let composingInputs=0;let reconnectPending=false;let reconnectTimer=null;const settlePresentation=()=>{if(!mounted||composingInputs!==0||(requested?.value??config)===presentation.value||startInput.value===null||endInput.value===null)return;const wanted=requested?.value??config;const converted=wanted.rebase?.(snapshot.value,captureNativeTextState(startInput.value,snapshot.value.start.inputState.snapshot.text),captureNativeTextState(endInput.value,snapshot.value.end.inputState.snapshot.text));if(converted?.ok)mount(true,converted.value)};const presentationTask=requested===void 0?void 0:useNextTickTask(settlePresentation);const requestMount=()=>{if(composingInputs!==0){reconnectPending=true;return}mountTask.schedule()};const setInputComposing=(endpoint,composing)=>{const bit=endpoint==="start"?1:2;if(composing)composingInputs|=bit;else composingInputs&=~bit;if(composingInputs===0&&(requested?.value??config)!==presentation.value)presentationTask?.schedule();if(composingInputs!==0||!reconnectPending||reconnectTimer!==null)return;reconnectTimer=setTimeout(()=>{reconnectTimer=null;if(!mounted||composingInputs!==0)return;reconnectPending=false;mountTask.schedule()},0)};onMounted(()=>{mounted=true;mount()});onBeforeUnmount(()=>{mounted=false;if(reconnectTimer!==null)clearTimeout(reconnectTimer);reconnectTimer=null;reconnectPending=false;composingInputs=0;mountTask.cancel();resetTask?.cancel();presentationTask?.cancel();connection?.disconnect();connection=null});watch(()=>props.modelValue,value=>{if(!controlled||value===void 0||connection===null)return;const result=connection.syncControlledValues({value});if(!result.ok)throw new TypeError(result.error.message);snapshot.value=result.value.state;if((requested?.value??config)!==presentation.value)presentationTask?.schedule()});watch([()=>props.policies,()=>flags.value.disabled,()=>flags.value.readonly,()=>flags.value.required,()=>props.startLabel,()=>props.endLabel],requestMount);if(requested!==void 0)watch(requested,settlePresentation);const slotProps=computed(()=>Object.freeze({value:snapshot.value.value,startText:snapshot.value.start.inputState.snapshot.text,endText:snapshot.value.end.inputState.snapshot.text,active:snapshot.value.active,disabled:flags.value.disabled,readonly:flags.value.readonly}));provide(config.contextKey,{slotProps,startInput,endInput,setInputComposing,get required(){return flags.value.required},isInputComposing:endpoint=>(composingInputs&(endpoint==="start"?1:2))!==0,placeholder:computed(()=>presentation.value.placeholder),inputMode:computed(()=>presentation.value.inputMode??"numeric"),submissionProps});return()=>h(Primitive,mergeProps(participation.controlProps.value,attrs,{as:props.as,asChild:props.asChild,elementRef:element=>{root.value=element},role:"group","data-scope":config.scope,"data-part":"root","data-disabled":flags.value.disabled?"":void 0,"data-readonly":flags.value.readonly?"":void 0}),{default:()=>slots["default"]?.(slotProps.value)})}function createNativeRangeFieldInput(contextKey,scope,placeholder,endpoint,name,rootName){return defineComponent({name,inheritAttrs:false,setup(_props,{attrs}){const context=inject(contextKey);if(context===void 0)throw new TypeError(`${name} must be used inside ${rootName}.`);const renderServerValue=inject(ssrContextKey,void 0)!==void 0;return()=>h("input",mergeProps(context.submissionProps[endpoint].value,attrs,{ref:element=>{context[endpoint==="start"?"startInput":"endInput"].value=element},type:"text",inputmode:context.inputMode.value,placeholder:context.placeholder.value??placeholder,...renderServerValue?{value:endpoint==="start"?context.slotProps.value.startText:context.slotProps.value.endText}:{},onCompositionstart:()=>context.setInputComposing(endpoint,true),onCompositionend:()=>context.setInputComposing(endpoint,false),"aria-disabled":String(context.slotProps.value.disabled),"aria-readonly":String(context.slotProps.value.readonly),"data-scope":scope,"data-part":`${endpoint}-input`,"data-active":context.slotProps.value.active===endpoint?"":void 0}))}})}export{createNativeRangeFieldInput,setupNativeRangeField};
|
|
2
2
|
//# sourceMappingURL=native-range-field.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/input/native-range-field.ts"],"mappings":"AAAA,OACE,SAAU,gBAAiB,EAAG,OAAQ,WAAY,gBAAiB,UACnE,QAAS,WAAY,
|
|
1
|
+
{"version":3,"sources":["../../src/input/native-range-field.ts"],"mappings":"AAAA,OACE,SAAU,gBAAiB,EAAG,OAAQ,WAAY,gBAAiB,UACnE,QAAS,WAAY,cAAe,UAE/B,MAEP,OAAS,kCAAmC,wBAAyB,oBAAqB,wBAAyB,2BAA8B,qBACjJ,OAAS,cAAmC,kBAC5C,OAAS,gCAAmC,kCAC5C,OAAS,oBAAuB,gCAChC,OAAS,2BAA8B,yBAuFjC,SAAU,sBACd,OACA,MACA,CAAE,MAAO,KAAM,KAAK,EAEyD,CAE7E,MAAM,WAAa,4BAA4B,OAAO,KAAM,aAAc,IAAM,MAAM,UAAU,EAChG,MAAM,UAAY,OAAO,kBAAiB,EAC1C,MAAM,aAAe,WAA4D,WAAW,OAAS,MAAM,EAC3G,MAAM,QAAU,aAAa,MAAM,QAAQ,CAAE,MAAO,WAAa,MAAM,WAA6B,MAAM,YAAY,CAAE,EACxH,GAAI,CAAC,QAAQ,GAAI,MAAM,IAAI,UAAU,QAAQ,MAAM,OAAO,EAC1D,MAAM,SAAW,WAAkB,QAAQ,KAAK,EAChD,MAAM,WAAa,WAAoC,IAAI,EAC3D,MAAM,SAAW,WAAoC,IAAI,EACzD,MAAM,KAAO,WAA+B,IAAI,EAChD,IAAI,QAAU,MACd,IAAI,WAAwD,KAC5D,MAAM,YAAc,CAClB,CAAE,QAAS,WAAY,aAAc,QAAS,aAAc,iCAAiC,EAC7F,CAAE,QAAS,SAAU,aAAc,MAAO,aAAc,iCAAiC,GAE3F,MAAM,SAAW,wBAAuB,EACxC,MAAM,MAAQ,oBAAoB,KAAK,EACvC,MAAM,wBAA0B,CAAC,SAA2B,QAAgB,CAC1E,MAAM,UAAY,uBAAuB,YAAY,KAAK,CAAC,EAC3D,OAAO,SAA4C,IAAK,CACtD,MAAM,WAAa,CAAE,GAAG,UAAU,KAAK,EACvC,GAAI,SAAS,MAAM,SAAS,MAAM,EAAG,CACnC,MAAM,KAAO,MAAM,KAEnB,WAAW,MAAM,EAAI,OAAS,QAAa,OAAS,GAAK,KAAO,GAAG,IAAI,IAAI,QAAQ,EACrF,CACA,GAAI,SAAS,MAAM,SAAS,MAAM,EAAG,WAAW,MAAM,EAAI,MAAM,KAChE,OAAO,OAAO,WAAY,MAAM,KAAK,EACrC,OAAO,UACT,CAAC,CACH,EACA,MAAM,gBAAkB,CAAE,MAAO,wBAAwB,QAAS,CAAC,EAAG,IAAK,wBAAwB,MAAO,CAAC,CAAC,EAC5G,MAAM,cAAgB,wBAAwB,CAC5C,KACA,YAAa,WACb,YACA,GAAI,OAAO,MAAQ,CAAE,MAAO,IAAM,WAAW,SAAQ,CAAE,EAAK,CAAA,EAC7D,EACD,MAAM,QAAU,IAAW,CACzB,GAAI,aAAe,KAAM,SAAS,MAAQ,WAAW,YAAW,EAAG,MACnE,IAAK,WAAW,OAAS,UAAY,aAAa,MAAO,kBAAkB,SAAQ,CACrF,EACA,MAAM,MAAQ,CAAC,eAAiB,MAAO,iBAAgC,CACrE,GAAI,CAAC,SAAW,WAAW,QAAU,MAAQ,SAAS,QAAU,KAAM,OACtE,IAAI,WAAa,gBAAkB,aAAe,KAC9C,uBAAuB,WAAW,MAAO,SAAS,MAAM,MAAM,WAAW,SAAS,IAAI,EACtF,OACJ,IAAI,SAAW,gBAAkB,aAAe,KAC5C,uBAAuB,SAAS,MAAO,SAAS,MAAM,IAAI,WAAW,SAAS,IAAI,EAClF,OACJ,MAAM,OAAS,WAAW,OAAS,OACnC,IAAI,KAAO,aAAa,MACxB,IAAI,SAAW,SAAS,MACxB,GAAI,SAAW,MAAQ,aAAe,QAAa,WAAa,OAAW,CACzE,MAAM,UAAY,iBAAmB,OACjC,OAAO,SAAS,SAAS,MAAO,WAAY,QAAQ,EACpD,CAAE,GAAI,KAAe,MAAO,cAAc,EAC9C,GAAI,WAAW,GAAI,CAAE,KAAO,OAAQ,SAAW,UAAU,MAAO,WAAa,SAAS,MAAM,WAAY,SAAW,SAAS,IAAI,UAAY,CAC9I,SAAW,CAAC,eAAgB,CAC1B,KAAO,OACP,MAAM,UAAY,KAAK,QAAQ,CAAE,MAAO,WAAa,MAAM,WAA6B,SAAS,MAAM,KAAK,CAAE,EAC9G,GAAI,CAAC,UAAU,GAAI,MAAM,IAAI,UAAU,UAAU,MAAM,OAAO,EAC9D,SAAW,UAAU,KACvB,CACA,YAAY,WAAU,EAAI,aAAa,MAAQ,KAC/C,MAAM,aAEF,CACF,WAAY,WAAW,MACvB,SAAU,SAAS,MACnB,SAAU,MAAM,MAAM,SACtB,SAAU,MAAM,MAAM,SACtB,SAAU,MAAM,MAAM,SACtB,cAAgB,OAAU,KAAK,oBAAqB,KAAK,EACzD,SAAU,SAEZ,GAAI,WAAY,aAAa,MAAQ,MAAM,gBACtC,aAAa,aAAe,SAAS,MAAM,MAChD,aAAa,aAAe,SAC5B,GAAI,aAAe,OAAW,aAAa,uBAAyB,WACpE,GAAI,WAAa,OAAW,aAAa,qBAAuB,SAChE,KAAM,CAAE,SAAU,WAAY,QAAQ,EAAK,MAC3C,GAAI,WAAa,OAAW,aAAa,SAAW,SACpD,GAAI,aAAe,OAAW,aAAa,WAAa,WACxD,GAAI,WAAa,OAAW,aAAa,SAAW,SACpD,WAAa,KAAK,OAAO,YAAY,EACrC,QAAO,CACT,EACA,MAAM,UAAY,gBAAgB,IAAM,MAAM,IAAI,CAAC,EACnD,MAAM,UAAY,OAAO,MAAQ,gBAAgB,IAAK,CACpD,GAAI,CAAC,WAAY,SAAS,MAAQ,QAAQ,MAC1C,MAAK,CACP,CAAC,EAAI,OACL,IAAI,gBAAkB,EACtB,IAAI,iBAAmB,MACvB,IAAI,eAAuD,KAC3D,MAAM,mBAAqB,IAAW,CACpC,GAAI,CAAC,SAAW,kBAAoB,IAAM,WAAW,OAAS,UAAY,aAAa,OAAS,WAAW,QAAU,MAAQ,SAAS,QAAU,KAAM,OACtJ,MAAM,OAAS,WAAW,OAAS,OACnC,MAAM,UAAY,OAAO,SAAS,SAAS,MAAO,uBAAuB,WAAW,MAAO,SAAS,MAAM,MAAM,WAAW,SAAS,IAAI,EAAG,uBAAuB,SAAS,MAAO,SAAS,MAAM,IAAI,WAAW,SAAS,IAAI,CAAC,EAC9N,GAAI,WAAW,GAAI,MAAM,KAAM,UAAU,KAAK,CAChD,EACA,MAAM,iBAAmB,YAAc,OAAY,OAAY,gBAAgB,kBAAkB,EACjG,MAAM,aAAe,IAAW,CAC9B,GAAI,kBAAoB,EAAG,CAAE,iBAAmB,KAAM,MAAQ,CAC9D,UAAU,SAAQ,CACpB,EACA,MAAM,kBAAoB,CAAC,SAA2B,YAA4B,CAChF,MAAM,IAAM,WAAa,QAAU,EAAI,EACvC,GAAI,UAAW,iBAAmB,SAC7B,iBAAmB,CAAC,IACzB,GAAI,kBAAoB,IAAM,WAAW,OAAS,UAAY,aAAa,MAAO,kBAAkB,SAAQ,EAC5G,GAAI,kBAAoB,GAAK,CAAC,kBAAoB,iBAAmB,KAAM,OAC3E,eAAiB,WAAW,IAAK,CAC/B,eAAiB,KACjB,GAAI,CAAC,SAAW,kBAAoB,EAAG,OACvC,iBAAmB,MACnB,UAAU,SAAQ,CACpB,EAAG,CAAC,CACN,EACA,UAAU,IAAK,CAAG,QAAU,KAAM,MAAK,CAAI,CAAC,EAC5C,gBAAgB,IAAK,CACnB,QAAU,MACV,GAAI,iBAAmB,KAAM,aAAa,cAAc,EACxD,eAAiB,KACjB,iBAAmB,MACnB,gBAAkB,EAClB,UAAU,OAAM,EAAI,WAAW,OAAM,EAAI,kBAAkB,OAAM,EACjE,YAAY,WAAU,EACtB,WAAa,IACf,CAAC,EACD,MAAM,IAAM,MAAM,WAAa,OAAS,CACtC,GAAI,CAAC,YAAc,QAAU,QAAa,aAAe,KAAM,OAC/D,MAAM,OAAS,WAAW,qBAAqB,CAAE,KAAK,CAAE,EACxD,GAAI,CAAC,OAAO,GAAI,MAAM,IAAI,UAAU,OAAO,MAAM,OAAO,EACxD,SAAS,MAAQ,OAAO,MAAM,MAC9B,IAAK,WAAW,OAAS,UAAY,aAAa,MAAO,kBAAkB,SAAQ,CACrF,CAAC,EACD,MAAM,CAAC,IAAM,MAAM,SAAU,IAAM,MAAM,MAAM,SAAU,IAAM,MAAM,MAAM,SACzE,IAAM,MAAM,MAAM,SAAU,IAAM,MAAM,WAAY,IAAM,MAAM,QAAQ,EAAG,YAAY,EACzF,GAAI,YAAc,OAAW,MAAM,UAAW,kBAAkB,EAChE,MAAM,UAAY,SAAqC,IAAM,OAAO,OAAO,CACzE,MAAO,SAAS,MAAM,MACtB,UAAW,SAAS,MAAM,MAAM,WAAW,SAAS,KACpD,QAAS,SAAS,MAAM,IAAI,WAAW,SAAS,KAChD,OAAQ,SAAS,MAAM,OACvB,SAAU,MAAM,MAAM,SACtB,SAAU,MAAM,MAAM,SACvB,CAAC,EACF,QAAkC,OAAO,WAAY,CACnD,UAAW,WAAY,SAAU,kBACjC,IAAI,UAAQ,CAAK,OAAO,MAAM,MAAM,QAAU,EAC9C,iBAAmB,WAAc,iBAAmB,WAAa,QAAU,EAAI,MAAQ,EACvF,YAAa,SAAS,IAAM,aAAa,MAAM,WAAW,EAC1D,UAAW,SAAS,IAAM,aAAa,MAAM,WAAa,SAAS,EACnE,gBACD,EACD,MAAO,IAAkB,EAAE,UAAW,WAAW,cAAc,aAAa,MAAO,MAAO,CACxF,GAAI,MAAM,GAAI,QAAS,MAAM,QAC7B,WAAa,SAAoB,CAAG,KAAK,MAAQ,OAA+B,EAChF,KAAM,QAAS,aAAc,OAAO,MAAO,YAAa,OACxD,gBAAiB,MAAM,MAAM,SAAW,GAAK,OAC7C,gBAAiB,MAAM,MAAM,SAAW,GAAK,OAC9C,EAAG,CAAE,QAAS,IAAM,MAAM,SAAS,IAAI,UAAU,KAAK,CAAC,CAAE,CAC5D,CAEM,SAAU,4BACd,WAAoB,MAAe,YAAqB,SAA2B,KAAc,SAAgB,CAEjH,OAAO,gBAAgB,CACrB,KAAM,aAAc,MACpB,MAAM,OAAQ,CAAE,KAAK,EAAE,CACrB,MAAM,QAAU,OAAmC,UAAU,EAC7D,GAAI,UAAY,OAAW,MAAM,IAAI,UAAU,GAAG,IAAI,wBAAwB,QAAQ,GAAG,EACzF,MAAM,kBAAoB,OAAO,cAAe,MAAS,IAAM,OAC/D,MAAO,IAAkB,EAAE,QAAS,WAAW,QAAQ,gBAAgB,QAAQ,EAAE,MAAO,MAAO,CAC7F,IAAM,SAAoB,CAAG,QAAQ,WAAa,QAAU,aAAe,UAAU,EAAE,MAAQ,OAAoC,EACnI,KAAM,OAAQ,UAAW,QAAQ,UAAU,MAAO,YAAa,QAAQ,YAAY,OAAS,YAC5F,GAAI,kBAAoB,CAAE,MAAO,WAAa,QAAU,QAAQ,UAAU,MAAM,UAAY,QAAQ,UAAU,MAAM,OAAO,EAAK,CAAA,EAChI,mBAAoB,IAAM,QAAQ,kBAAkB,SAAU,IAAI,EAClE,iBAAkB,IAAM,QAAQ,kBAAkB,SAAU,KAAK,EACjE,gBAAiB,OAAO,QAAQ,UAAU,MAAM,QAAQ,EACxD,gBAAiB,OAAO,QAAQ,UAAU,MAAM,QAAQ,EACxD,aAAc,MAAO,YAAa,GAAG,QAAQ,SAC7C,cAAe,QAAQ,UAAU,MAAM,SAAW,SAAW,GAAK,OACnE,CAAC,CACJ,EACD,CACH","names":[],"file":"native-range-field.js"}
|