@vizejs/ui 0.345.0 → 0.350.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/{button-D7sM9Xmj.d.mts → button-CVX8UBXj.d.mts} +6 -7
- package/dist/{button-8BOlFJNu.mjs → button-DT8AKlds.mjs} +2 -2
- package/dist/button.d.mts +1 -1
- package/dist/button.mjs +1 -1
- package/dist/catalog.d.mts +541 -0
- package/dist/catalog.mjs +784 -0
- package/dist/{checkbox-B4y9GUen.mjs → checkbox-BgIvwjyC.mjs} +2 -2
- package/dist/{checkbox-DkwZFC80.d.mts → checkbox-DP3_ko7D.d.mts} +7 -8
- package/dist/checkbox.d.mts +1 -1
- package/dist/checkbox.mjs +1 -1
- package/dist/collection-B_dFZOHO.d.mts +185 -0
- package/dist/collection-eHN150dT.mjs +453 -0
- package/dist/collection.d.mts +2 -0
- package/dist/collection.mjs +2 -0
- package/dist/composite-navigation-QINW9GLy.d.mts +115 -0
- package/dist/composite-navigation-Skx3LZsv.mjs +354 -0
- package/dist/composite-navigation.d.mts +2 -0
- package/dist/composite-navigation.mjs +2 -0
- package/dist/controllable-state.d.mts +1 -1
- package/dist/dismissable-layer-4icKahVs.d.mts +119 -0
- package/dist/dismissable-layer-CwG1gtdz.mjs +488 -0
- package/dist/dismissable-layer.d.mts +2 -0
- package/dist/dismissable-layer.mjs +2 -0
- package/dist/focus-CAWi_I-0.mjs +318 -0
- package/dist/focus-K6dOifoZ.d.mts +112 -0
- package/dist/focus-guards-Bt0C-0qS.d.mts +81 -0
- package/dist/focus-guards-DhMPQAT8.mjs +299 -0
- package/dist/focus-guards.d.mts +2 -0
- package/dist/focus-guards.mjs +2 -0
- package/dist/focus-scope-CavhKWx0.d.mts +100 -0
- package/dist/focus-scope-D9U1aj67.mjs +340 -0
- package/dist/focus-scope-dom-DBwNEWxG.mjs +264 -0
- package/dist/focus-scope.d.mts +2 -0
- package/dist/focus-scope.mjs +2 -0
- package/dist/focus.d.mts +2 -0
- package/dist/focus.mjs +2 -0
- package/dist/hover-BXwwbSaO.d.mts +80 -0
- package/dist/hover.d.mts +2 -0
- package/dist/hover.mjs +197 -0
- package/dist/id-5OAUyVPd.d.mts +126 -0
- package/dist/id-mziSyAse.mjs +137 -0
- package/dist/id.d.mts +2 -0
- package/dist/id.mjs +2 -0
- package/dist/index.d.mts +23 -6
- package/dist/index.mjs +21 -5
- package/dist/inert-outside-CyqtoKQ4.mjs +346 -0
- package/dist/inert-outside-tuHRmaqJ.d.mts +43 -0
- package/dist/inert-outside.d.mts +2 -0
- package/dist/inert-outside.mjs +2 -0
- package/dist/interaction-modality-DOZK0BpZ.mjs +304 -0
- package/dist/interaction-modality-jgHKjPFB.d.mts +89 -0
- package/dist/interaction-modality.d.mts +2 -0
- package/dist/interaction-modality.mjs +2 -0
- package/dist/long-press-Dsul69gk.mjs +340 -0
- package/dist/long-press-cll6z2K9.d.mts +105 -0
- package/dist/long-press.d.mts +2 -0
- package/dist/long-press.mjs +2 -0
- package/dist/media-pdf.d.mts +1 -1
- package/dist/media-pdf.mjs +1 -1
- package/dist/media.d.mts +1 -1
- package/dist/media.mjs +1 -1
- package/dist/move-BOmXDYbh.d.mts +103 -0
- package/dist/move-BVvMHzxr.mjs +386 -0
- package/dist/move.d.mts +2 -0
- package/dist/move.mjs +2 -0
- package/dist/press-N_mE3Mgx.mjs +469 -0
- package/dist/press-event-Cd2OPpmw.mjs +149 -0
- package/dist/press-types-CNqStzJf.d.mts +112 -0
- package/dist/press.d.mts +14 -0
- package/dist/press.mjs +2 -0
- package/dist/{primitive-DJB7pOf3.mjs → primitive-BX31dogp.mjs} +2 -2
- package/dist/{primitive-BtvwikH1.d.mts → primitive-C8jW7DLd.d.mts} +3 -4
- package/dist/primitive.d.mts +1 -1
- package/dist/primitive.mjs +1 -1
- package/dist/scroll-lock-BgVtX4wT.d.mts +49 -0
- package/dist/scroll-lock-Ckbmm0-J.mjs +313 -0
- package/dist/scroll-lock.d.mts +2 -0
- package/dist/scroll-lock.mjs +2 -0
- package/dist/spatial-navigation-CHj9mDZH.d.mts +106 -0
- package/dist/spatial-navigation-D6-UDavU.mjs +301 -0
- package/dist/spatial-navigation.d.mts +2 -0
- package/dist/spatial-navigation.mjs +2 -0
- package/dist/typeahead-B7KDxE_u.mjs +175 -0
- package/dist/typeahead-BbgUB2Bj.d.mts +71 -0
- package/dist/typeahead.d.mts +2 -0
- package/dist/typeahead.mjs +2 -0
- package/dist/visually-hidden-BOqfqBFt.d.mts +17 -0
- package/dist/{visually-hidden-QENRapzW.mjs → visually-hidden-BwDOx5yf.mjs} +2 -2
- package/dist/visually-hidden.d.mts +1 -1
- package/dist/visually-hidden.mjs +1 -1
- package/package.json +99 -11
- package/dist/visually-hidden-BegtnMng.d.mts +0 -19
- /package/dist/{_plugin-vue_export-helper-BVN2DL-U.mjs → _plugin-vue_export-helper-BOaGB7Aw.mjs} +0 -0
- /package/dist/{controllable-state-DXsYJ3yl.d.mts → controllable-state-BtoxKahh.d.mts} +0 -0
- /package/dist/{pdf-source-COxN3A1l.d.mts → pdf-source-BYFK2Pks.d.mts} +0 -0
- /package/dist/{pdf-source-C52YE8tp.mjs → pdf-source-zu1LkCeE.mjs} +0 -0
|
@@ -0,0 +1,80 @@
|
|
|
1
|
+
import { MaybeRefOrGetter, ShallowRef } from "vue";
|
|
2
|
+
|
|
3
|
+
//#region src/hover-types.d.ts
|
|
4
|
+
/** Pointing-device families that have a meaningful hover state. */
|
|
5
|
+
type HoverPointerType = "mouse" | "pen";
|
|
6
|
+
/** Lifecycle notification emitted by a hover controller. */
|
|
7
|
+
type HoverEventType = "hoverend" | "hoverstart";
|
|
8
|
+
/** Immutable snapshot of one hover lifecycle transition. */
|
|
9
|
+
interface HoverEvent {
|
|
10
|
+
/** Hover lifecycle phase represented by this snapshot. */
|
|
11
|
+
readonly type: HoverEventType;
|
|
12
|
+
/** Hover-capable pointing-device family. */
|
|
13
|
+
readonly pointerType: HoverPointerType;
|
|
14
|
+
/** Element whose bound hover props own the interaction. */
|
|
15
|
+
readonly target: Element;
|
|
16
|
+
/** Native event responsible for this transition, or `null` for manual cancellation. */
|
|
17
|
+
readonly originalEvent: Event | null;
|
|
18
|
+
/** Viewport coordinates when present on the native event. */
|
|
19
|
+
readonly x: number | null;
|
|
20
|
+
readonly y: number | null;
|
|
21
|
+
/** Modifier-key snapshots captured from the native event. */
|
|
22
|
+
readonly altKey: boolean;
|
|
23
|
+
readonly ctrlKey: boolean;
|
|
24
|
+
readonly metaKey: boolean;
|
|
25
|
+
readonly shiftKey: boolean;
|
|
26
|
+
/** Whether hover ended due to cancellation rather than a normal boundary exit. */
|
|
27
|
+
readonly isCanceled: boolean;
|
|
28
|
+
}
|
|
29
|
+
/** Options shared by {@link createHover} and {@link useHover}. */
|
|
30
|
+
interface HoverOptions {
|
|
31
|
+
/**
|
|
32
|
+
* Suppress hover while retaining stable bound props.
|
|
33
|
+
* Reactive values are resolved for every relevant native event.
|
|
34
|
+
*
|
|
35
|
+
* @default false
|
|
36
|
+
*/
|
|
37
|
+
readonly isDisabled?: MaybeRefOrGetter<boolean | undefined>;
|
|
38
|
+
/**
|
|
39
|
+
* Restrict recognition to one hover-capable device family.
|
|
40
|
+
*
|
|
41
|
+
* @default undefined
|
|
42
|
+
*/
|
|
43
|
+
readonly pointerType?: MaybeRefOrGetter<HoverPointerType | undefined>;
|
|
44
|
+
/** Called after hover state becomes active. */
|
|
45
|
+
readonly onHoverStart?: (event: HoverEvent) => void;
|
|
46
|
+
/** Called after hover ends or is canceled. */
|
|
47
|
+
readonly onHoverEnd?: (event: HoverEvent) => void;
|
|
48
|
+
/** Called for every distinct hover-state transition. */
|
|
49
|
+
readonly onHoverChange?: (isHovered: boolean) => void;
|
|
50
|
+
}
|
|
51
|
+
/** Native handlers to spread onto exactly one hover host. */
|
|
52
|
+
interface HoverProps {
|
|
53
|
+
readonly onMouseenter: (event: MouseEvent) => void;
|
|
54
|
+
readonly onMouseleave: (event: MouseEvent) => void;
|
|
55
|
+
readonly onMousemove: (event: MouseEvent) => void;
|
|
56
|
+
readonly onPointercancel: (event: PointerEvent) => void;
|
|
57
|
+
readonly onPointerenter: (event: PointerEvent) => void;
|
|
58
|
+
readonly onPointerleave: (event: PointerEvent) => void;
|
|
59
|
+
readonly onPointermove: (event: PointerEvent) => void;
|
|
60
|
+
readonly onTouchstart: (event: TouchEvent) => void;
|
|
61
|
+
}
|
|
62
|
+
/** Stateful hover normalizer with explicit listener ownership. */
|
|
63
|
+
interface HoverController {
|
|
64
|
+
/** Whether a qualifying mouse or pen currently hovers the host. */
|
|
65
|
+
readonly isHovered: Readonly<ShallowRef<boolean>>;
|
|
66
|
+
/** Stable native handlers to merge or spread onto one host. */
|
|
67
|
+
readonly hoverProps: Readonly<HoverProps>;
|
|
68
|
+
/** Cancel the current hover interaction. */
|
|
69
|
+
readonly cancel: () => boolean;
|
|
70
|
+
/** Release document listeners and reactive state. */
|
|
71
|
+
readonly dispose: () => void;
|
|
72
|
+
}
|
|
73
|
+
//#endregion
|
|
74
|
+
//#region src/hover.d.ts
|
|
75
|
+
/** Create an SSR-safe mouse and pen hover normalizer for one host. */
|
|
76
|
+
declare function createHover(options?: HoverOptions): HoverController;
|
|
77
|
+
/** Create a hover normalizer disposed with the current Vue effect scope. */
|
|
78
|
+
declare function useHover(options?: HoverOptions): HoverController;
|
|
79
|
+
//#endregion
|
|
80
|
+
export { HoverEventType as a, HoverProps as c, HoverEvent as i, useHover as n, HoverOptions as o, HoverController as r, HoverPointerType as s, createHover as t };
|
package/dist/hover.d.mts
ADDED
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import { a as HoverEventType, c as HoverProps, i as HoverEvent, n as useHover, o as HoverOptions, r as HoverController, s as HoverPointerType, t as createHover } from "./hover-BXwwbSaO.mjs";
|
|
2
|
+
export { type HoverController, type HoverEvent, type HoverEventType, type HoverOptions, type HoverPointerType, type HoverProps, createHover, useHover };
|
package/dist/hover.mjs
ADDED
|
@@ -0,0 +1,197 @@
|
|
|
1
|
+
import { getCurrentScope, onScopeDispose, shallowReadonly, shallowRef, toValue } from "vue";
|
|
2
|
+
//#region src/hover.ts
|
|
3
|
+
const invalidOptionDiagnostic = "VIZE_UI_HOVER_OPTION";
|
|
4
|
+
const disposedDiagnostic = "VIZE_UI_HOVER_DISPOSED";
|
|
5
|
+
const setupDiagnostic = "VIZE_UI_HOVER_SETUP";
|
|
6
|
+
const pointerTypes = new Set(["mouse", "pen"]);
|
|
7
|
+
function readBoolean(value) {
|
|
8
|
+
const resolved = toValue(value);
|
|
9
|
+
if (resolved === void 0) return false;
|
|
10
|
+
if (typeof resolved !== "boolean") throw new TypeError(`${invalidOptionDiagnostic}: isDisabled must resolve to a boolean`);
|
|
11
|
+
return resolved;
|
|
12
|
+
}
|
|
13
|
+
function readPointerType(value) {
|
|
14
|
+
const resolved = toValue(value) ?? null;
|
|
15
|
+
if (resolved !== null && !pointerTypes.has(resolved)) throw new TypeError(`${invalidOptionDiagnostic}: pointerType must resolve to mouse or pen`);
|
|
16
|
+
return resolved;
|
|
17
|
+
}
|
|
18
|
+
function eventElement(event) {
|
|
19
|
+
const value = event.currentTarget;
|
|
20
|
+
return value && value.nodeType === 1 ? value : null;
|
|
21
|
+
}
|
|
22
|
+
function modifier(event, key) {
|
|
23
|
+
return event && key in event ? Boolean(event[key]) : false;
|
|
24
|
+
}
|
|
25
|
+
function createHoverEvent(type, target, pointerType, originalEvent, isCanceled = false) {
|
|
26
|
+
const hasPoint = originalEvent && "clientX" in originalEvent && "clientY" in originalEvent;
|
|
27
|
+
return Object.freeze({
|
|
28
|
+
type,
|
|
29
|
+
pointerType,
|
|
30
|
+
target,
|
|
31
|
+
originalEvent,
|
|
32
|
+
x: hasPoint ? Number(originalEvent.clientX) : null,
|
|
33
|
+
y: hasPoint ? Number(originalEvent.clientY) : null,
|
|
34
|
+
altKey: modifier(originalEvent, "altKey"),
|
|
35
|
+
ctrlKey: modifier(originalEvent, "ctrlKey"),
|
|
36
|
+
metaKey: modifier(originalEvent, "metaKey"),
|
|
37
|
+
shiftKey: modifier(originalEvent, "shiftKey"),
|
|
38
|
+
isCanceled
|
|
39
|
+
});
|
|
40
|
+
}
|
|
41
|
+
function notifyAll(notifications) {
|
|
42
|
+
const errors = [];
|
|
43
|
+
for (const notify of notifications) try {
|
|
44
|
+
notify();
|
|
45
|
+
} catch (error) {
|
|
46
|
+
errors.push(error);
|
|
47
|
+
}
|
|
48
|
+
if (errors.length === 1) throw errors[0];
|
|
49
|
+
if (errors.length > 1) throw new AggregateError(errors, "Hover callbacks failed");
|
|
50
|
+
}
|
|
51
|
+
function validateOptions(options) {
|
|
52
|
+
for (const name of [
|
|
53
|
+
"onHoverChange",
|
|
54
|
+
"onHoverEnd",
|
|
55
|
+
"onHoverStart"
|
|
56
|
+
]) {
|
|
57
|
+
const callback = options[name];
|
|
58
|
+
if (callback !== void 0 && typeof callback !== "function") throw new TypeError(`${invalidOptionDiagnostic}: ${name} must be a function`);
|
|
59
|
+
}
|
|
60
|
+
if (typeof options.pointerType !== "function") readPointerType(options.pointerType);
|
|
61
|
+
}
|
|
62
|
+
/** Create an SSR-safe mouse and pen hover normalizer for one host. */
|
|
63
|
+
function createHover(options = {}) {
|
|
64
|
+
validateOptions(options);
|
|
65
|
+
const hovered = shallowRef(false);
|
|
66
|
+
let active = null;
|
|
67
|
+
let disposed = false;
|
|
68
|
+
let transitionVersion = 0;
|
|
69
|
+
let lastTouchTime = Number.NEGATIVE_INFINITY;
|
|
70
|
+
const transition = (next, event) => {
|
|
71
|
+
if (hovered.value === next) return;
|
|
72
|
+
hovered.value = next;
|
|
73
|
+
const version = ++transitionVersion;
|
|
74
|
+
const phase = next ? options.onHoverStart : options.onHoverEnd;
|
|
75
|
+
notifyAll([() => phase?.(event), () => {
|
|
76
|
+
if (transitionVersion === version) options.onHoverChange?.(next);
|
|
77
|
+
}]);
|
|
78
|
+
};
|
|
79
|
+
const end = (originalEvent, isCanceled) => {
|
|
80
|
+
const current = active;
|
|
81
|
+
if (!current) return false;
|
|
82
|
+
current.releaseListeners();
|
|
83
|
+
active = null;
|
|
84
|
+
transition(false, createHoverEvent("hoverend", current.target, current.pointerType, originalEvent ?? current.lastEvent, isCanceled));
|
|
85
|
+
return true;
|
|
86
|
+
};
|
|
87
|
+
const installListeners = (document) => {
|
|
88
|
+
const removals = [];
|
|
89
|
+
const listen = (owner, type, callback, capture = true) => {
|
|
90
|
+
owner.addEventListener(type, callback, capture);
|
|
91
|
+
removals.push(() => owner.removeEventListener(type, callback, capture));
|
|
92
|
+
};
|
|
93
|
+
const revalidate = (event) => {
|
|
94
|
+
const current = active;
|
|
95
|
+
if (!current) return;
|
|
96
|
+
current.lastEvent = event;
|
|
97
|
+
const filter = readPointerType(options.pointerType);
|
|
98
|
+
if (readBoolean(options.isDisabled) || filter && filter !== current.pointerType) end(event, true);
|
|
99
|
+
};
|
|
100
|
+
try {
|
|
101
|
+
listen(document, "pointermove", revalidate);
|
|
102
|
+
listen(document, "mousemove", revalidate);
|
|
103
|
+
listen(document, "pointerdown", ((event) => {
|
|
104
|
+
if (event.pointerType === "touch") end(event, true);
|
|
105
|
+
}));
|
|
106
|
+
listen(document, "touchstart", ((event) => {
|
|
107
|
+
lastTouchTime = event.timeStamp;
|
|
108
|
+
end(event, true);
|
|
109
|
+
}));
|
|
110
|
+
listen(document, "visibilitychange", (() => {
|
|
111
|
+
if (document.visibilityState === "hidden") end(null, true);
|
|
112
|
+
}));
|
|
113
|
+
if (document.defaultView) listen(document.defaultView, "blur", (event) => end(event, true), false);
|
|
114
|
+
} catch (error) {
|
|
115
|
+
for (const remove of removals.reverse()) remove();
|
|
116
|
+
throw error;
|
|
117
|
+
}
|
|
118
|
+
return () => {
|
|
119
|
+
for (const remove of removals.splice(0)) remove();
|
|
120
|
+
};
|
|
121
|
+
};
|
|
122
|
+
const start = (event, pointerType) => {
|
|
123
|
+
if (disposed || active || readBoolean(options.isDisabled)) return;
|
|
124
|
+
const filter = readPointerType(options.pointerType);
|
|
125
|
+
if (filter && filter !== pointerType) return;
|
|
126
|
+
const target = eventElement(event);
|
|
127
|
+
if (!target) return;
|
|
128
|
+
active = {
|
|
129
|
+
pointerType,
|
|
130
|
+
releaseListeners: installListeners(target.ownerDocument),
|
|
131
|
+
target,
|
|
132
|
+
lastEvent: event
|
|
133
|
+
};
|
|
134
|
+
transition(true, createHoverEvent("hoverstart", target, pointerType, event));
|
|
135
|
+
};
|
|
136
|
+
const leave = (event) => {
|
|
137
|
+
const current = active;
|
|
138
|
+
if (!current || current.target !== eventElement(event)) return;
|
|
139
|
+
const related = event.relatedTarget;
|
|
140
|
+
if (related && related.nodeType && current.target.contains(related)) return;
|
|
141
|
+
current.lastEvent = event;
|
|
142
|
+
end(event, false);
|
|
143
|
+
};
|
|
144
|
+
const hoverProps = Object.freeze({
|
|
145
|
+
onMouseenter(event) {
|
|
146
|
+
if (event.view && "PointerEvent" in event.view) return;
|
|
147
|
+
const elapsed = event.timeStamp - lastTouchTime;
|
|
148
|
+
if (elapsed >= 0 && elapsed < 800) return;
|
|
149
|
+
start(event, "mouse");
|
|
150
|
+
},
|
|
151
|
+
onMouseleave: leave,
|
|
152
|
+
onMousemove(event) {
|
|
153
|
+
const current = active;
|
|
154
|
+
if (!(event.view && "PointerEvent" in event.view) && current) current.lastEvent = event;
|
|
155
|
+
},
|
|
156
|
+
onPointercancel(event) {
|
|
157
|
+
if (active?.pointerType === event.pointerType) end(event, true);
|
|
158
|
+
},
|
|
159
|
+
onPointerenter(event) {
|
|
160
|
+
if (event.pointerType === "mouse" || event.pointerType === "pen") start(event, event.pointerType);
|
|
161
|
+
},
|
|
162
|
+
onPointerleave: leave,
|
|
163
|
+
onPointermove(event) {
|
|
164
|
+
const current = active;
|
|
165
|
+
if (current?.pointerType === event.pointerType) current.lastEvent = event;
|
|
166
|
+
},
|
|
167
|
+
onTouchstart(event) {
|
|
168
|
+
lastTouchTime = event.timeStamp;
|
|
169
|
+
end(event, true);
|
|
170
|
+
}
|
|
171
|
+
});
|
|
172
|
+
return Object.freeze({
|
|
173
|
+
isHovered: shallowReadonly(hovered),
|
|
174
|
+
hoverProps,
|
|
175
|
+
cancel: () => {
|
|
176
|
+
if (disposed) throw new Error(`${disposedDiagnostic}: the controller has been disposed`);
|
|
177
|
+
return end(null, true);
|
|
178
|
+
},
|
|
179
|
+
dispose: () => {
|
|
180
|
+
if (disposed) return;
|
|
181
|
+
active?.releaseListeners();
|
|
182
|
+
active = null;
|
|
183
|
+
hovered.value = false;
|
|
184
|
+
transitionVersion++;
|
|
185
|
+
disposed = true;
|
|
186
|
+
}
|
|
187
|
+
});
|
|
188
|
+
}
|
|
189
|
+
/** Create a hover normalizer disposed with the current Vue effect scope. */
|
|
190
|
+
function useHover(options = {}) {
|
|
191
|
+
if (!getCurrentScope()) throw new Error(`${setupDiagnostic}: use inside component setup or an active effect scope`);
|
|
192
|
+
const controller = createHover(options);
|
|
193
|
+
onScopeDispose(controller.dispose);
|
|
194
|
+
return controller;
|
|
195
|
+
}
|
|
196
|
+
//#endregion
|
|
197
|
+
export { createHover, useHover };
|
|
@@ -0,0 +1,126 @@
|
|
|
1
|
+
import { ComputedRef, MaybeRefOrGetter } from "vue";
|
|
2
|
+
|
|
3
|
+
//#region src/deterministic-id.d.ts
|
|
4
|
+
declare const deterministicIdBrand: unique symbol;
|
|
5
|
+
/** A validated DOM identifier created or accepted by the deterministic ID system. */
|
|
6
|
+
type DeterministicId = string & {
|
|
7
|
+
readonly [deterministicIdBrand]: "DeterministicId";
|
|
8
|
+
};
|
|
9
|
+
/** Stable request, island, or subtree seed accepted by an ID scope. */
|
|
10
|
+
type DeterministicIdSeed = string | number;
|
|
11
|
+
/** Options for a root deterministic ID scope. */
|
|
12
|
+
interface DeterministicIdScopeOptions {
|
|
13
|
+
/**
|
|
14
|
+
* Namespace prefix used by every ID in the scope.
|
|
15
|
+
*
|
|
16
|
+
* @default "vize"
|
|
17
|
+
*/
|
|
18
|
+
readonly prefix?: string;
|
|
19
|
+
/** Stable request, island, or application seed. */
|
|
20
|
+
readonly seed: DeterministicIdSeed;
|
|
21
|
+
}
|
|
22
|
+
/** Options for a nested deterministic ID scope. */
|
|
23
|
+
interface DeterministicIdChildScopeOptions {
|
|
24
|
+
/**
|
|
25
|
+
* Namespace prefix for the child scope.
|
|
26
|
+
*
|
|
27
|
+
* @default The parent scope prefix
|
|
28
|
+
*/
|
|
29
|
+
readonly prefix?: string;
|
|
30
|
+
/** Stable seed that identifies the child subtree. */
|
|
31
|
+
readonly seed: DeterministicIdSeed;
|
|
32
|
+
}
|
|
33
|
+
/** One request-local namespace that allocates stable, collision-resistant DOM IDs. */
|
|
34
|
+
interface DeterministicIdScope {
|
|
35
|
+
/** Validated namespace prefix. */
|
|
36
|
+
readonly prefix: string;
|
|
37
|
+
/** Complete namespace shared by IDs allocated from this scope. */
|
|
38
|
+
readonly namespace: string;
|
|
39
|
+
/**
|
|
40
|
+
* Allocate the next ID during component setup.
|
|
41
|
+
*
|
|
42
|
+
* The sequence is intentionally independent from child-scope allocation so
|
|
43
|
+
* adding a nested provider cannot renumber sibling control IDs.
|
|
44
|
+
*/
|
|
45
|
+
readonly nextId: (hint?: string) => DeterministicId;
|
|
46
|
+
/** Create a request-local child namespace without sharing its ID counter. */
|
|
47
|
+
readonly createChild: (options: DeterministicIdChildScopeOptions) => DeterministicIdScope;
|
|
48
|
+
}
|
|
49
|
+
/** Options for {@link useDeterministicId}. */
|
|
50
|
+
interface DeterministicIdOptions {
|
|
51
|
+
/**
|
|
52
|
+
* Consumer-owned ID. `null` and `undefined` select the generated fallback.
|
|
53
|
+
*
|
|
54
|
+
* @default undefined
|
|
55
|
+
*/
|
|
56
|
+
readonly id?: MaybeRefOrGetter<string | null | undefined>;
|
|
57
|
+
/**
|
|
58
|
+
* Human-readable role appended to a generated ID.
|
|
59
|
+
*
|
|
60
|
+
* @default "id"
|
|
61
|
+
*/
|
|
62
|
+
readonly hint?: string;
|
|
63
|
+
/**
|
|
64
|
+
* Prefix used when no {@link IdProvider} is present.
|
|
65
|
+
*
|
|
66
|
+
* @default "vize"
|
|
67
|
+
*/
|
|
68
|
+
readonly prefix?: string;
|
|
69
|
+
}
|
|
70
|
+
/**
|
|
71
|
+
* Validate and brand a consumer-owned HTML ID.
|
|
72
|
+
*
|
|
73
|
+
* HTML permits a broad character set, but forbids an empty value and ASCII
|
|
74
|
+
* whitespace. This contract additionally rejects ASCII controls. Consumers
|
|
75
|
+
* remain free to use Unicode and punctuation; CSS selectors may need
|
|
76
|
+
* `CSS.escape()` for those IDs.
|
|
77
|
+
*/
|
|
78
|
+
declare function toDeterministicId(value: string): DeterministicId;
|
|
79
|
+
/** Append a validated semantic part to an existing DOM ID. */
|
|
80
|
+
declare function deriveDeterministicId(id: string, part: string): DeterministicId;
|
|
81
|
+
/** Create an isolated deterministic ID scope for an application or SSR request. */
|
|
82
|
+
declare function createDeterministicIdScope(options: DeterministicIdScopeOptions): DeterministicIdScope;
|
|
83
|
+
/**
|
|
84
|
+
* Allocate one stable ID for the current component instance.
|
|
85
|
+
*
|
|
86
|
+
* Generated IDs use the nearest provider scope. Without a provider, Vue's
|
|
87
|
+
* hydration-stable `useId()` sequence supplies the seed, including a safe
|
|
88
|
+
* application `idPrefix`. The generated fallback is allocated once; changing
|
|
89
|
+
* an explicit reactive ID back to `undefined` restores that same fallback.
|
|
90
|
+
*/
|
|
91
|
+
declare function useDeterministicId(options?: DeterministicIdOptions): ComputedRef<DeterministicId>;
|
|
92
|
+
//#endregion
|
|
93
|
+
//#region src/DeterministicIdProvider.vue.d.ts
|
|
94
|
+
type __VLS_Props = {
|
|
95
|
+
/**
|
|
96
|
+
* Namespace prefix for this subtree.
|
|
97
|
+
*
|
|
98
|
+
* @default The parent prefix when nested; otherwise "vize"
|
|
99
|
+
*/
|
|
100
|
+
readonly prefix?: string;
|
|
101
|
+
/**
|
|
102
|
+
* Stable request, island, or subtree seed.
|
|
103
|
+
*
|
|
104
|
+
* @default Vue's SSR- and hydration-stable useId() value
|
|
105
|
+
*/
|
|
106
|
+
readonly seed?: string | number;
|
|
107
|
+
};
|
|
108
|
+
type __VLS_Slots = {
|
|
109
|
+
default(props: {
|
|
110
|
+
readonly namespace: string;
|
|
111
|
+
readonly prefix: string;
|
|
112
|
+
}): unknown;
|
|
113
|
+
};
|
|
114
|
+
declare const __VLS_base: import("vue").DefineComponent<__VLS_Props, {
|
|
115
|
+
namespace: string;
|
|
116
|
+
prefix: string;
|
|
117
|
+
}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<__VLS_Props> & Readonly<{}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
|
|
118
|
+
declare const __VLS_export: __VLS_WithSlots<typeof __VLS_base, __VLS_Slots>;
|
|
119
|
+
declare const _default: typeof __VLS_export;
|
|
120
|
+
type __VLS_WithSlots<T, S> = T & {
|
|
121
|
+
new (): {
|
|
122
|
+
$slots: S;
|
|
123
|
+
};
|
|
124
|
+
};
|
|
125
|
+
//#endregion
|
|
126
|
+
export { DeterministicIdScope as a, createDeterministicIdScope as c, useDeterministicId as d, DeterministicIdOptions as i, deriveDeterministicId as l, DeterministicId as n, DeterministicIdScopeOptions as o, DeterministicIdChildScopeOptions as r, DeterministicIdSeed as s, _default as t, toDeterministicId as u };
|
|
@@ -0,0 +1,137 @@
|
|
|
1
|
+
import { t as _plugin_vue_export_helper_default } from "./_plugin-vue_export-helper-BOaGB7Aw.mjs";
|
|
2
|
+
import { computed, defineComponent, getCurrentInstance, inject, provide, renderSlot, toValue, unref, useId } from "vue";
|
|
3
|
+
//#region src/deterministic-id.ts
|
|
4
|
+
const deterministicIdScopeKey = Symbol("VizeUiDeterministicIdScope");
|
|
5
|
+
const safePrefix = /^[A-Za-z][A-Za-z0-9_-]*$/;
|
|
6
|
+
const safeSegment = /^[A-Za-z0-9][A-Za-z0-9_-]*$/;
|
|
7
|
+
/**
|
|
8
|
+
* Validate and brand a consumer-owned HTML ID.
|
|
9
|
+
*
|
|
10
|
+
* HTML permits a broad character set, but forbids an empty value and ASCII
|
|
11
|
+
* whitespace. This contract additionally rejects ASCII controls. Consumers
|
|
12
|
+
* remain free to use Unicode and punctuation; CSS selectors may need
|
|
13
|
+
* `CSS.escape()` for those IDs.
|
|
14
|
+
*/
|
|
15
|
+
function toDeterministicId(value) {
|
|
16
|
+
if (!isValidHtmlId(value)) throw new Error("VIZE_UI_ID_VALUE: an id must be non-empty and contain no ASCII whitespace or controls");
|
|
17
|
+
return value;
|
|
18
|
+
}
|
|
19
|
+
function isValidHtmlId(value) {
|
|
20
|
+
if (value.length === 0) return false;
|
|
21
|
+
for (let index = 0; index < value.length; index++) {
|
|
22
|
+
const code = value.charCodeAt(index);
|
|
23
|
+
if (code <= 32 || code === 127) return false;
|
|
24
|
+
}
|
|
25
|
+
return true;
|
|
26
|
+
}
|
|
27
|
+
/** Append a validated semantic part to an existing DOM ID. */
|
|
28
|
+
function deriveDeterministicId(id, part) {
|
|
29
|
+
return toDeterministicId(`${toDeterministicId(id)}-${normalizeSegment(part, "part")}`);
|
|
30
|
+
}
|
|
31
|
+
/** Create an isolated deterministic ID scope for an application or SSR request. */
|
|
32
|
+
function createDeterministicIdScope(options) {
|
|
33
|
+
const prefix = normalizePrefix(options.prefix ?? "vize");
|
|
34
|
+
return createScope(prefix, `${prefix}-${normalizeSeed(options.seed)}`);
|
|
35
|
+
}
|
|
36
|
+
/**
|
|
37
|
+
* Allocate one stable ID for the current component instance.
|
|
38
|
+
*
|
|
39
|
+
* Generated IDs use the nearest provider scope. Without a provider, Vue's
|
|
40
|
+
* hydration-stable `useId()` sequence supplies the seed, including a safe
|
|
41
|
+
* application `idPrefix`. The generated fallback is allocated once; changing
|
|
42
|
+
* an explicit reactive ID back to `undefined` restores that same fallback.
|
|
43
|
+
*/
|
|
44
|
+
function useDeterministicId(options = {}) {
|
|
45
|
+
if (getCurrentInstance() === null) throw new Error("VIZE_UI_ID_SETUP: useDeterministicId() must run during component setup");
|
|
46
|
+
const vueId = useId();
|
|
47
|
+
const scope = useOptionalDeterministicIdScope();
|
|
48
|
+
const hint = normalizeSegment(options.hint ?? "id", "hint");
|
|
49
|
+
const generated = scope?.nextId(hint) ?? toDeterministicId(`${normalizePrefix(options.prefix ?? "vize")}-${normalizeSeed(vueId)}-${hint}`);
|
|
50
|
+
return computed(() => {
|
|
51
|
+
const explicit = options.id === void 0 ? void 0 : toValue(options.id);
|
|
52
|
+
return explicit === null || explicit === void 0 ? generated : toDeterministicId(explicit);
|
|
53
|
+
});
|
|
54
|
+
}
|
|
55
|
+
/** @internal Provide the scope owned by `IdProvider.vue`. */
|
|
56
|
+
function provideDeterministicIdScope(scope) {
|
|
57
|
+
provide(deterministicIdScopeKey, scope);
|
|
58
|
+
return scope;
|
|
59
|
+
}
|
|
60
|
+
/** @internal Read the nearest provider without requiring one. */
|
|
61
|
+
function useOptionalDeterministicIdScope() {
|
|
62
|
+
return inject(deterministicIdScopeKey, void 0);
|
|
63
|
+
}
|
|
64
|
+
function createScope(prefix, namespace) {
|
|
65
|
+
let idSequence = 0;
|
|
66
|
+
let childSequence = 0;
|
|
67
|
+
return Object.freeze({
|
|
68
|
+
prefix,
|
|
69
|
+
namespace,
|
|
70
|
+
nextId: (hint = "id") => toDeterministicId(`${namespace}-${normalizeSegment(hint, "hint")}-${idSequence++}`),
|
|
71
|
+
createChild: (options) => {
|
|
72
|
+
const childPrefix = options.prefix === void 0 ? prefix : normalizePrefix(options.prefix);
|
|
73
|
+
const childSeed = normalizeSeed(options.seed);
|
|
74
|
+
const inheritedNamespace = `${namespace}-scope-${childSequence++}-${childSeed}`;
|
|
75
|
+
return createScope(childPrefix, childPrefix === prefix ? inheritedNamespace : `${childPrefix}-${inheritedNamespace}`);
|
|
76
|
+
}
|
|
77
|
+
});
|
|
78
|
+
}
|
|
79
|
+
function normalizePrefix(value) {
|
|
80
|
+
if (!safePrefix.test(value)) throw new Error("VIZE_UI_ID_PREFIX: a prefix must start with an ASCII letter and contain only letters, digits, _ or -");
|
|
81
|
+
return value;
|
|
82
|
+
}
|
|
83
|
+
function normalizeSeed(value) {
|
|
84
|
+
if (typeof value === "number") {
|
|
85
|
+
if (!Number.isSafeInteger(value) || value < 0) throw new Error("VIZE_UI_ID_SEED: a numeric seed must be a non-negative safe integer");
|
|
86
|
+
return String(value);
|
|
87
|
+
}
|
|
88
|
+
return normalizeSegment(value, "seed");
|
|
89
|
+
}
|
|
90
|
+
function normalizeSegment(value, role) {
|
|
91
|
+
if (!safeSegment.test(value)) throw new Error(`VIZE_UI_ID_${role.toUpperCase()}: ${role} must contain only ASCII letters, digits, _ or - and may not start with punctuation`);
|
|
92
|
+
return value;
|
|
93
|
+
}
|
|
94
|
+
//#endregion
|
|
95
|
+
//#region src/DeterministicIdProvider.vue
|
|
96
|
+
var DeterministicIdProvider_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @__PURE__ */ defineComponent({
|
|
97
|
+
__name: "DeterministicIdProvider",
|
|
98
|
+
props: {
|
|
99
|
+
prefix: {
|
|
100
|
+
type: String,
|
|
101
|
+
required: false,
|
|
102
|
+
default: () => void 0
|
|
103
|
+
},
|
|
104
|
+
seed: {
|
|
105
|
+
type: [String, Number],
|
|
106
|
+
required: false,
|
|
107
|
+
default: () => void 0
|
|
108
|
+
}
|
|
109
|
+
},
|
|
110
|
+
setup(__props, { expose: __expose }) {
|
|
111
|
+
const vueSeed = useId();
|
|
112
|
+
const parent = useOptionalDeterministicIdScope();
|
|
113
|
+
const resolvedSeed = __props.seed ?? vueSeed;
|
|
114
|
+
const scope = parent === void 0 ? createDeterministicIdScope({
|
|
115
|
+
prefix: __props.prefix ?? "vize",
|
|
116
|
+
seed: resolvedSeed
|
|
117
|
+
}) : __props.prefix === void 0 ? parent.createChild({ seed: resolvedSeed }) : parent.createChild({
|
|
118
|
+
prefix: __props.prefix,
|
|
119
|
+
seed: resolvedSeed
|
|
120
|
+
});
|
|
121
|
+
provideDeterministicIdScope(scope);
|
|
122
|
+
const namespace = scope.namespace;
|
|
123
|
+
const resolvedPrefix = scope.prefix;
|
|
124
|
+
__expose({
|
|
125
|
+
namespace,
|
|
126
|
+
prefix: resolvedPrefix
|
|
127
|
+
});
|
|
128
|
+
return (_ctx, _cache) => {
|
|
129
|
+
return renderSlot(_ctx.$slots, "default", {
|
|
130
|
+
namespace: unref(namespace),
|
|
131
|
+
prefix: unref(resolvedPrefix)
|
|
132
|
+
}, void 0, true);
|
|
133
|
+
};
|
|
134
|
+
}
|
|
135
|
+
}), [["__scopeId", "data-v-2521c635"]]);
|
|
136
|
+
//#endregion
|
|
137
|
+
export { useDeterministicId as a, toDeterministicId as i, createDeterministicIdScope as n, deriveDeterministicId as r, DeterministicIdProvider_default as t };
|
package/dist/id.d.mts
ADDED
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import { a as DeterministicIdScope, c as createDeterministicIdScope, d as useDeterministicId, i as DeterministicIdOptions, l as deriveDeterministicId, n as DeterministicId, o as DeterministicIdScopeOptions, r as DeterministicIdChildScopeOptions, s as DeterministicIdSeed, t as _default, u as toDeterministicId } from "./id-5OAUyVPd.mjs";
|
|
2
|
+
export { type DeterministicId, type DeterministicIdChildScopeOptions, type DeterministicIdOptions, type DeterministicIdScope, type DeterministicIdScopeOptions, type DeterministicIdSeed, _default as IdProvider, createDeterministicIdScope, deriveDeterministicId, toDeterministicId, useDeterministicId };
|
package/dist/id.mjs
ADDED
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import { a as useDeterministicId, i as toDeterministicId, n as createDeterministicIdScope, r as deriveDeterministicId, t as DeterministicIdProvider_default } from "./id-mziSyAse.mjs";
|
|
2
|
+
export { DeterministicIdProvider_default as IdProvider, createDeterministicIdScope, deriveDeterministicId, toDeterministicId, useDeterministicId };
|
package/dist/index.d.mts
CHANGED
|
@@ -1,7 +1,24 @@
|
|
|
1
|
-
import { i as getButtonKeyboardAction, n as ButtonKeyboardAction, r as ButtonKeyboardPhase, t as _default } from "./button-
|
|
2
|
-
import { n as PrimitiveElement, r as _default$
|
|
3
|
-
import { n as CheckboxState, r as getCheckboxState, t as _default$1 } from "./checkbox-
|
|
4
|
-
import { i as useControllableState, n as ControllableStateOptions, r as StateUpdate, t as ControllableState } from "./controllable-state-
|
|
1
|
+
import { i as getButtonKeyboardAction, n as ButtonKeyboardAction, r as ButtonKeyboardPhase, t as _default } from "./button-CVX8UBXj.mjs";
|
|
2
|
+
import { n as PrimitiveElement, r as _default$3, t as PrimitiveAs } from "./primitive-C8jW7DLd.mjs";
|
|
3
|
+
import { n as CheckboxState, r as getCheckboxState, t as _default$1 } from "./checkbox-DP3_ko7D.mjs";
|
|
4
|
+
import { i as useControllableState, n as ControllableStateOptions, r as StateUpdate, t as ControllableState } from "./controllable-state-BtoxKahh.mjs";
|
|
5
|
+
import { a as CollectionActiveChangeReason, c as CollectionItemInput, d as CollectionNavigationOptions, f as CollectionRegistration, h as CollectionTextSearchOptions, i as CollectionActiveChange, l as CollectionKey, m as CollectionRegistryOptions, n as normalizeCollectionTextValue, o as CollectionDisabledBehavior, p as CollectionRegistry, r as createCollectionRegistry, s as CollectionItem, t as extractCollectionTextValue, u as CollectionNavigationDirection } from "./collection-B_dFZOHO.mjs";
|
|
6
|
+
import { a as TypeaheadOptions, i as TypeaheadMatch, n as useTypeahead, o as TypeaheadProps, r as TypeaheadController, t as createTypeahead } from "./typeahead-BbgUB2Bj.mjs";
|
|
7
|
+
import { a as CompositeDirection, c as CompositeNavigationBaseOptions, d as CompositeNavigationController, f as CompositeNavigationIntent, h as RovingNavigationOptions, i as CompositeContainerProps, l as CompositeNavigationChange, m as CompositeOrientation, n as useCompositeNavigation, o as CompositeFocusStrategy, p as CompositeNavigationOptions, r as ActiveDescendantNavigationOptions, s as CompositeItemProps, t as createCompositeNavigation, u as CompositeNavigationCommand } from "./composite-navigation-QINW9GLy.mjs";
|
|
5
8
|
import { ComponentContext, createContext } from "./context.mjs";
|
|
6
|
-
import { t as
|
|
7
|
-
|
|
9
|
+
import { a as DismissableLayerDismissEvent, c as DismissableLayerFocusOutsideEvent, d as DismissableLayerOutsideReason, f as DismissableLayerPointerDownOutsideEvent, i as DismissableLayerController, l as DismissableLayerInteractOutsideEvent, m as DismissableLayerProps, n as useDismissableLayer, o as DismissableLayerDismissReason, p as DismissableLayerPointerType, r as DismissableLayerBranchProps, s as DismissableLayerEscapeKeyDownEvent, t as createDismissableLayer, u as DismissableLayerOptions } from "./dismissable-layer-4icKahVs.mjs";
|
|
10
|
+
import { a as FocusGuardPosition, c as FocusGuardRedirectEvent, d as FocusGuardsOptions, i as FocusGuardDirection, l as FocusGuardStylePreset, n as focusGuardPreset, o as FocusGuardProps, r as useFocusGuards, s as FocusGuardReason, t as createFocusGuards, u as FocusGuardsController } from "./focus-guards-Bt0C-0qS.mjs";
|
|
11
|
+
import { a as FocusScopeManager, i as FocusScopeController, n as useFocusScope, o as FocusScopeMoveOptions, r as FocusScopeAutoFocusEvent, s as FocusScopeOptions, t as createFocusScope } from "./focus-scope-CavhKWx0.mjs";
|
|
12
|
+
import { a as useFocusRing, c as FocusController, d as FocusOptions, f as FocusProps, h as FocusWithinOptions, i as useFocus, l as FocusEvent, m as FocusRingOptions, n as createFocusRing, o as useFocusWithin, p as FocusRingController, r as createFocusWithin, s as FocusChangeReason, t as createFocus, u as FocusMode } from "./focus-K6dOifoZ.mjs";
|
|
13
|
+
import { a as HoverEventType, c as HoverProps, i as HoverEvent, n as useHover, o as HoverOptions, r as HoverController, s as HoverPointerType, t as createHover } from "./hover-BXwwbSaO.mjs";
|
|
14
|
+
import { a as DeterministicIdScope, c as createDeterministicIdScope, d as useDeterministicId, i as DeterministicIdOptions, l as deriveDeterministicId, n as DeterministicId, o as DeterministicIdScopeOptions, r as DeterministicIdChildScopeOptions, s as DeterministicIdSeed, t as _default$2, u as toDeterministicId } from "./id-5OAUyVPd.mjs";
|
|
15
|
+
import { a as InertOutsideOptions, i as InertOutsideMode, n as useInertOutside, r as InertOutsideController, t as createInertOutside } from "./inert-outside-tuHRmaqJ.mjs";
|
|
16
|
+
import { a as InteractionModalityChange, c as InteractionModalityTracker, i as InteractionModality, n as isElementFocusVisible, o as InteractionModalityChangeReason, r as useInteractionModality, s as InteractionModalityOptions, t as createInteractionModalityTracker } from "./interaction-modality-jgHKjPFB.mjs";
|
|
17
|
+
import { a as PressOptions, i as PressKeyboardBehavior, n as PressEvent, o as PressPointerType, r as PressEventType, s as PressProps, t as PressController } from "./press-types-CNqStzJf.mjs";
|
|
18
|
+
import { a as LongPressEventType, c as LongPressProps, i as LongPressEvent, n as useLongPress, o as LongPressOptions, r as LongPressController, s as LongPressPointerType, t as createLongPress } from "./long-press-cll6z2K9.mjs";
|
|
19
|
+
import { a as MoveEvent, c as MovePointerType, d as MoveUpdateEvent, i as MoveEndEvent, l as MoveProps, n as useMove, o as MoveEventType, r as MoveController, s as MoveOptions, t as createMove, u as MoveStartEvent } from "./move-BOmXDYbh.mjs";
|
|
20
|
+
import { createPress, usePress } from "./press.mjs";
|
|
21
|
+
import { a as ScrollLockStrategy, i as ScrollLockOptions, n as useScrollLock, r as ScrollLockController, t as createScrollLock } from "./scroll-lock-BgVtX4wT.mjs";
|
|
22
|
+
import { a as SpatialNavigationBoundaryBehavior, c as SpatialNavigationDirection, d as SpatialNavigationProps, f as SpatialNavigationRect, i as SpatialNavigationBoundary, l as SpatialNavigationFocusBehavior, n as useSpatialNavigation, o as SpatialNavigationChange, r as SpatialNavigationAlgorithm, s as SpatialNavigationController, t as createSpatialNavigation, u as SpatialNavigationOptions } from "./spatial-navigation-CHj9mDZH.mjs";
|
|
23
|
+
import { t as _default$4 } from "./visually-hidden-BOqfqBFt.mjs";
|
|
24
|
+
export { type ActiveDescendantNavigationOptions, _default as Button, ButtonKeyboardAction, ButtonKeyboardPhase, _default$1 as Checkbox, CheckboxState, type CollectionActiveChange, type CollectionActiveChangeReason, type CollectionDisabledBehavior, type CollectionItem, type CollectionItemInput, type CollectionKey, type CollectionNavigationDirection, type CollectionNavigationOptions, type CollectionRegistration, type CollectionRegistry, type CollectionRegistryOptions, type CollectionTextSearchOptions, ComponentContext, type CompositeContainerProps, type CompositeDirection, type CompositeFocusStrategy, type CompositeItemProps, type CompositeNavigationBaseOptions, type CompositeNavigationChange, type CompositeNavigationCommand, type CompositeNavigationController, type CompositeNavigationIntent, type CompositeNavigationOptions, type CompositeOrientation, ControllableState, ControllableStateOptions, type DeterministicId, type DeterministicIdChildScopeOptions, type DeterministicIdOptions, type DeterministicIdScope, type DeterministicIdScopeOptions, type DeterministicIdSeed, type DismissableLayerBranchProps, type DismissableLayerController, type DismissableLayerDismissEvent, type DismissableLayerDismissReason, type DismissableLayerEscapeKeyDownEvent, type DismissableLayerFocusOutsideEvent, type DismissableLayerInteractOutsideEvent, type DismissableLayerOptions, type DismissableLayerOutsideReason, type DismissableLayerPointerDownOutsideEvent, type DismissableLayerPointerType, type DismissableLayerProps, type FocusChangeReason, type FocusController, type FocusEvent, type FocusGuardDirection, type FocusGuardPosition, type FocusGuardProps, type FocusGuardReason, type FocusGuardRedirectEvent, type FocusGuardStylePreset, type FocusGuardsController, type FocusGuardsOptions, type FocusMode, type FocusOptions, type FocusProps, type FocusRingController, type FocusRingOptions, type FocusScopeAutoFocusEvent, type FocusScopeController, type FocusScopeManager, type FocusScopeMoveOptions, type FocusScopeOptions, type FocusWithinOptions, type HoverController, type HoverEvent, type HoverEventType, type HoverOptions, type HoverPointerType, type HoverProps, _default$2 as IdProvider, type InertOutsideController, type InertOutsideMode, type InertOutsideOptions, type InteractionModality, type InteractionModalityChange, type InteractionModalityChangeReason, type InteractionModalityOptions, type InteractionModalityTracker, type LongPressController, type LongPressEvent, type LongPressEventType, type LongPressOptions, type LongPressPointerType, type LongPressProps, type MoveController, type MoveEndEvent, type MoveEvent, type MoveEventType, type MoveOptions, type MovePointerType, type MoveProps, type MoveStartEvent, type MoveUpdateEvent, type PressController, type PressEvent, type PressEventType, type PressKeyboardBehavior, type PressOptions, type PressPointerType, type PressProps, _default$3 as Primitive, PrimitiveAs, PrimitiveElement, type RovingNavigationOptions, type ScrollLockController, type ScrollLockOptions, type ScrollLockStrategy, type SpatialNavigationAlgorithm, type SpatialNavigationBoundary, type SpatialNavigationBoundaryBehavior, type SpatialNavigationChange, type SpatialNavigationController, type SpatialNavigationDirection, type SpatialNavigationFocusBehavior, type SpatialNavigationOptions, type SpatialNavigationProps, type SpatialNavigationRect, StateUpdate, type TypeaheadController, type TypeaheadMatch, type TypeaheadOptions, type TypeaheadProps, _default$4 as VisuallyHidden, createCollectionRegistry, createCompositeNavigation, createContext, createDeterministicIdScope, createDismissableLayer, createFocus, createFocusGuards, createFocusRing, createFocusScope, createFocusWithin, createHover, createInertOutside, createInteractionModalityTracker, createLongPress, createMove, createPress, createScrollLock, createSpatialNavigation, createTypeahead, deriveDeterministicId, extractCollectionTextValue, focusGuardPreset, getButtonKeyboardAction, getCheckboxState, isElementFocusVisible, normalizeCollectionTextValue, toDeterministicId, useCompositeNavigation, useControllableState, useDeterministicId, useDismissableLayer, useFocus, useFocusGuards, useFocusRing, useFocusScope, useFocusWithin, useHover, useInertOutside, useInteractionModality, useLongPress, useMove, usePress, useScrollLock, useSpatialNavigation, useTypeahead };
|
package/dist/index.mjs
CHANGED
|
@@ -1,7 +1,23 @@
|
|
|
1
|
-
import { n as getCheckboxState, t as CheckboxControl_default } from "./checkbox-
|
|
1
|
+
import { n as getCheckboxState, t as CheckboxControl_default } from "./checkbox-BgIvwjyC.mjs";
|
|
2
2
|
import { useControllableState } from "./controllable-state.mjs";
|
|
3
|
+
import { n as extractCollectionTextValue, r as normalizeCollectionTextValue, t as createCollectionRegistry } from "./collection-eHN150dT.mjs";
|
|
4
|
+
import { n as useCompositeNavigation, t as createCompositeNavigation } from "./composite-navigation-Skx3LZsv.mjs";
|
|
5
|
+
import { n as useTypeahead, t as createTypeahead } from "./typeahead-B7KDxE_u.mjs";
|
|
3
6
|
import { createContext } from "./context.mjs";
|
|
4
|
-
import { n as getButtonKeyboardAction, t as ActionButton_default } from "./button-
|
|
5
|
-
import { t as
|
|
6
|
-
import { t as
|
|
7
|
-
|
|
7
|
+
import { n as getButtonKeyboardAction, t as ActionButton_default } from "./button-DT8AKlds.mjs";
|
|
8
|
+
import { n as useDismissableLayer, t as createDismissableLayer } from "./dismissable-layer-CwG1gtdz.mjs";
|
|
9
|
+
import { a as useDeterministicId, i as toDeterministicId, n as createDeterministicIdScope, r as deriveDeterministicId, t as DeterministicIdProvider_default } from "./id-mziSyAse.mjs";
|
|
10
|
+
import { n as useInertOutside, t as createInertOutside } from "./inert-outside-CyqtoKQ4.mjs";
|
|
11
|
+
import { n as isElementFocusVisible, r as useInteractionModality, t as createInteractionModalityTracker } from "./interaction-modality-DOZK0BpZ.mjs";
|
|
12
|
+
import { a as useFocusRing, i as useFocus, n as createFocusRing, o as useFocusWithin, r as createFocusWithin, t as createFocus } from "./focus-CAWi_I-0.mjs";
|
|
13
|
+
import { n as useFocusScope, t as createFocusScope } from "./focus-scope-D9U1aj67.mjs";
|
|
14
|
+
import { n as focusGuardPreset, r as useFocusGuards, t as createFocusGuards } from "./focus-guards-DhMPQAT8.mjs";
|
|
15
|
+
import { createHover, useHover } from "./hover.mjs";
|
|
16
|
+
import { n as usePress, t as createPress } from "./press-N_mE3Mgx.mjs";
|
|
17
|
+
import { n as useLongPress, t as createLongPress } from "./long-press-Dsul69gk.mjs";
|
|
18
|
+
import { n as useMove, t as createMove } from "./move-BVvMHzxr.mjs";
|
|
19
|
+
import { n as useScrollLock, t as createScrollLock } from "./scroll-lock-Ckbmm0-J.mjs";
|
|
20
|
+
import { n as useSpatialNavigation, t as createSpatialNavigation } from "./spatial-navigation-D6-UDavU.mjs";
|
|
21
|
+
import { t as PrimitiveElement_default } from "./primitive-BX31dogp.mjs";
|
|
22
|
+
import { t as VisuallyHidden_default } from "./visually-hidden-BwDOx5yf.mjs";
|
|
23
|
+
export { ActionButton_default as Button, CheckboxControl_default as Checkbox, DeterministicIdProvider_default as IdProvider, PrimitiveElement_default as Primitive, VisuallyHidden_default as VisuallyHidden, createCollectionRegistry, createCompositeNavigation, createContext, createDeterministicIdScope, createDismissableLayer, createFocus, createFocusGuards, createFocusRing, createFocusScope, createFocusWithin, createHover, createInertOutside, createInteractionModalityTracker, createLongPress, createMove, createPress, createScrollLock, createSpatialNavigation, createTypeahead, deriveDeterministicId, extractCollectionTextValue, focusGuardPreset, getButtonKeyboardAction, getCheckboxState, isElementFocusVisible, normalizeCollectionTextValue, toDeterministicId, useCompositeNavigation, useControllableState, useDeterministicId, useDismissableLayer, useFocus, useFocusGuards, useFocusRing, useFocusScope, useFocusWithin, useHover, useInertOutside, useInteractionModality, useLongPress, useMove, usePress, useScrollLock, useSpatialNavigation, useTypeahead };
|