@vuetify/v0 0.1.10 → 0.1.12
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/{adapter-CqP9Z4JU.d.mts → adapter-BWMm0JAQ.d.mts} +7 -7
- package/dist/{adapter-B4zE-hA5.mjs → adapter-DXRKF27V.mjs} +7 -4
- package/dist/{adapter-hDuQ9aNN.d.mts → adapter-DvT8lTup.d.mts} +3 -3
- package/dist/browser/index.js +1277 -232
- package/dist/components/index.d.mts +2 -2
- package/dist/components/index.mjs +24 -24
- package/dist/{components-TiigKVsl.mjs → components-CrZmJSH3.mjs} +1148 -346
- package/dist/composables/index.d.mts +7 -7
- package/dist/composables/index.mjs +22 -22
- package/dist/constants/index.mjs +1 -1
- package/dist/{createDataTable-DoqbfLt0.mjs → createDataTable-DKCm5-7f.mjs} +3 -3
- package/dist/{createGroup-DpbGTwFy.mjs → createGroup-CFMocwej.mjs} +1 -1
- package/dist/{createPagination-DZSJ8aO5.mjs → createPagination-CeGMgKCx.mjs} +10 -1
- package/dist/{createSelection-B6bQNyuF.mjs → createSelection-Cl1nX0he.mjs} +1 -1
- package/dist/{createSingle-fWHREEJO.mjs → createSingle-BxOPkL3l.mjs} +1 -1
- package/dist/{createTokens-N8QIWw_D.mjs → createTokens-C67MMcZJ.mjs} +2 -3
- package/dist/data-table/adapters/client/index.d.mts +1 -1
- package/dist/data-table/adapters/client/index.mjs +4 -4
- package/dist/data-table/adapters/index.d.mts +4 -4
- package/dist/data-table/adapters/index.mjs +6 -6
- package/dist/data-table/adapters/server/index.d.mts +1 -1
- package/dist/data-table/adapters/server/index.mjs +3 -3
- package/dist/data-table/adapters/virtual/index.d.mts +1 -1
- package/dist/data-table/adapters/virtual/index.mjs +4 -4
- package/dist/data-table/index.d.mts +5 -5
- package/dist/data-table/index.mjs +15 -15
- package/dist/date/index.d.mts +9 -6
- package/dist/date/index.mjs +44 -21
- package/dist/features/adapters/launchdarkly/index.mjs +1 -1
- package/dist/features/adapters/posthog/index.mjs +2 -2
- package/dist/features/index.d.mts +1 -1
- package/dist/features/index.mjs +8 -8
- package/dist/{globals-F7fiJVG1.mjs → globals-uLTsqsl2.mjs} +1 -1
- package/dist/{index-DXdQb5BV.d.mts → index-BN-lmMJM.d.mts} +1377 -358
- package/dist/{index-Cv1XUHyA.d.mts → index-B_pScNDG.d.mts} +20 -1
- package/dist/{index-Dfa5Wb4T.d.mts → index-CBER-Sxt.d.mts} +33 -6
- package/dist/{index-CLDBngUs.d.mts → index-CdUIc68E.d.mts} +1 -1
- package/dist/index.d.mts +10 -10
- package/dist/index.mjs +25 -25
- package/dist/json/attributes.json +193 -1
- package/dist/json/importMap.json +52 -0
- package/dist/json/tags.json +108 -0
- package/dist/json/web-types.json +627 -3
- package/dist/{launchdarkly-jF2KZGoH.mjs → launchdarkly-DEqUn7qm.mjs} +7 -5
- package/dist/locale/adapters/index.mjs +2 -2
- package/dist/locale/adapters/v0/index.mjs +2 -2
- package/dist/locale/adapters/vue-i18n/index.mjs +1 -1
- package/dist/locale/index.d.mts +1 -1
- package/dist/locale/index.mjs +8 -8
- package/dist/logger/adapters/index.mjs +2 -2
- package/dist/logger/adapters/pino/index.mjs +1 -1
- package/dist/logger/adapters/v0/index.mjs +2 -2
- package/dist/logger/index.d.mts +1 -1
- package/dist/logger/index.mjs +3 -3
- package/dist/notifications/index.d.mts +1 -1
- package/dist/notifications/index.mjs +1 -1
- package/dist/palettes/index.d.mts +1 -1
- package/dist/permissions/adapters/index.d.mts +2 -2
- package/dist/permissions/adapters/index.mjs +1 -1
- package/dist/permissions/adapters/v0/index.d.mts +1 -1
- package/dist/permissions/adapters/v0/index.mjs +1 -1
- package/dist/permissions/index.d.mts +1 -1
- package/dist/permissions/index.mjs +5 -5
- package/dist/posthog-DSkHSLCw.mjs +45 -0
- package/dist/rules/index.d.mts +1 -1
- package/dist/rules/index.mjs +9 -9
- package/dist/{server-Ct-h4-OA.d.mts → server-CSLVeyyI.d.mts} +1 -1
- package/dist/{server-DHET3KNW.mjs → server-CYYGvVps.mjs} +1 -1
- package/dist/storage/index.d.mts +1 -1
- package/dist/storage/index.mjs +22 -22
- package/dist/theme/adapters/index.d.mts +1 -1
- package/dist/theme/adapters/index.mjs +2 -2
- package/dist/theme/adapters/v0/index.d.mts +1 -1
- package/dist/theme/adapters/v0/index.mjs +2 -2
- package/dist/theme/index.d.mts +1 -1
- package/dist/theme/index.mjs +8 -8
- package/dist/{useClickOutside-DNuJQ9EG.mjs → useClickOutside-hbi0BOL-.mjs} +143 -25
- package/dist/{useFeatures-CWNXTIXk.mjs → useFeatures-DNQ8V1So.mjs} +3 -3
- package/dist/{useLocale-Dzl6lCCF.mjs → useLocale-BpjMU7hm.mjs} +4 -4
- package/dist/{useLogger-Bw836Jbg.mjs → useLogger-jmvgVE6N.mjs} +3 -3
- package/dist/{usePermissions-DrRVDeVy.mjs → usePermissions-TIV4dGj1.mjs} +2 -2
- package/dist/{useRules-TMGuA8al.mjs → useRules-sRYyyrvM.mjs} +2 -2
- package/dist/{useTheme-qMpg3Ti6.mjs → useTheme-vAXldHit.mjs} +14 -7
- package/dist/utilities/index.d.mts +2 -2
- package/dist/utilities/index.mjs +125 -21
- package/dist/{v0-BBRwZ3at.d.mts → v0-B6ILFiMN.d.mts} +1 -1
- package/dist/{v0-CMeh39LQ.d.mts → v0-CQ2qHo5-.d.mts} +1 -1
- package/dist/{v0-BoWQ8RK0.mjs → v0-D87sooe0.mjs} +2 -2
- package/dist/{v0-BsuBuBSa.mjs → v0-Dem6wjKF.mjs} +1 -1
- package/dist/{v0-DgaVf3xM.mjs → v0-JMByI2xs.mjs} +1 -1
- package/dist/{v0-CIEQpOK2.mjs → v0-vIA3663g.mjs} +8 -3
- package/dist/{virtual-D0_D5gkh.mjs → virtual-D75KhU6Q.mjs} +2 -2
- package/dist/{virtual-B1lRbO7Q.d.mts → virtual-Dg0Cm5Hn.d.mts} +1 -1
- package/package.json +1 -1
- package/dist/posthog-CdcdfMYS.mjs +0 -48
package/dist/browser/index.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import * as Vue from "vue";
|
|
2
|
-
import { Fragment, Teleport, TransitionGroup, computed, createBlock, createCommentVNode, createElementBlock,
|
|
2
|
+
import { Fragment, Teleport, TransitionGroup, computed, createBlock, createCommentVNode, createElementBlock, createTextVNode, createVNode, defineComponent, effectScope, guardReactiveProps, hasInjectionContext, inject, isRef, mergeModels, mergeProps, nextTick, normalizeProps, normalizeStyle, onActivated, onBeforeUnmount, onDeactivated, onMounted, onScopeDispose, onUnmounted, openBlock, provide, reactive, readonly, ref, renderList, renderSlot, resolveDynamicComponent, shallowReactive, shallowReadonly, shallowRef, toDisplayString, toRaw, toRef, toValue, unref, useAttrs, useId as useId$1, useModel, useTemplateRef, vShow, watch, watchEffect, withCtx, withDirectives } from "vue";
|
|
3
3
|
/**
|
|
4
4
|
* Set of HTML elements that are self-closing (void elements)
|
|
5
5
|
* These elements cannot have children and don't need closing tags
|
|
@@ -74,6 +74,104 @@ function isSelfClosingTag(tag) {
|
|
|
74
74
|
return SELF_CLOSING_TAGS.has(tag.toLowerCase());
|
|
75
75
|
}
|
|
76
76
|
//#endregion
|
|
77
|
+
//#region src/utilities/color.ts
|
|
78
|
+
function hexToRgb(hex) {
|
|
79
|
+
const clean = hex.startsWith("#") ? hex.slice(1) : hex;
|
|
80
|
+
if (clean.length === 3 || clean.length === 4) {
|
|
81
|
+
const r = Number.parseInt(clean[0] + clean[0], 16);
|
|
82
|
+
const g = Number.parseInt(clean[1] + clean[1], 16);
|
|
83
|
+
const b = Number.parseInt(clean[2] + clean[2], 16);
|
|
84
|
+
const a = clean.length === 4 ? Number.parseInt(clean[3] + clean[3], 16) : void 0;
|
|
85
|
+
return a === void 0 ? {
|
|
86
|
+
r,
|
|
87
|
+
g,
|
|
88
|
+
b
|
|
89
|
+
} : {
|
|
90
|
+
r,
|
|
91
|
+
g,
|
|
92
|
+
b,
|
|
93
|
+
a
|
|
94
|
+
};
|
|
95
|
+
}
|
|
96
|
+
const r = Number.parseInt(clean.slice(0, 2), 16);
|
|
97
|
+
const g = Number.parseInt(clean.slice(2, 4), 16);
|
|
98
|
+
const b = Number.parseInt(clean.slice(4, 6), 16);
|
|
99
|
+
const a = clean.length === 8 ? Number.parseInt(clean.slice(6, 8), 16) : void 0;
|
|
100
|
+
return a === void 0 ? {
|
|
101
|
+
r,
|
|
102
|
+
g,
|
|
103
|
+
b
|
|
104
|
+
} : {
|
|
105
|
+
r,
|
|
106
|
+
g,
|
|
107
|
+
b,
|
|
108
|
+
a
|
|
109
|
+
};
|
|
110
|
+
}
|
|
111
|
+
function rgbToHex({ r, g, b, a }) {
|
|
112
|
+
const hex = "#" + [
|
|
113
|
+
r,
|
|
114
|
+
g,
|
|
115
|
+
b
|
|
116
|
+
].map((c) => c.toString(16).padStart(2, "0")).join("");
|
|
117
|
+
if (a !== void 0) return hex + a.toString(16).padStart(2, "0");
|
|
118
|
+
return hex;
|
|
119
|
+
}
|
|
120
|
+
//#endregion
|
|
121
|
+
//#region src/utilities/apca.ts
|
|
122
|
+
const Rco = .2126729;
|
|
123
|
+
const Gco = .7151522;
|
|
124
|
+
const Bco = .072175;
|
|
125
|
+
const normBG = .56;
|
|
126
|
+
const normTXT = .57;
|
|
127
|
+
const revBG = .65;
|
|
128
|
+
const revTXT = .62;
|
|
129
|
+
const blkThrs = .022;
|
|
130
|
+
const blkClmp = 1.414;
|
|
131
|
+
const scaleBoW = 1.14;
|
|
132
|
+
const scaleWoB = 1.14;
|
|
133
|
+
const loBoWoffset = .027;
|
|
134
|
+
const loWoBoffset = .027;
|
|
135
|
+
const deltaYmin = 5e-4;
|
|
136
|
+
function linearize(channel) {
|
|
137
|
+
const val = channel / 255;
|
|
138
|
+
return val <= .04045 ? val / 12.92 : Math.pow((val + .055) / 1.055, 2.4);
|
|
139
|
+
}
|
|
140
|
+
function luminance(rgb) {
|
|
141
|
+
return Rco * linearize(rgb.r) + Gco * linearize(rgb.g) + Bco * linearize(rgb.b);
|
|
142
|
+
}
|
|
143
|
+
function clamp$1(y) {
|
|
144
|
+
return y > blkThrs ? y : y + Math.pow(blkThrs - y, blkClmp);
|
|
145
|
+
}
|
|
146
|
+
function apca(text, background) {
|
|
147
|
+
const txtY = clamp$1(luminance(text));
|
|
148
|
+
const bgY = clamp$1(luminance(background));
|
|
149
|
+
if (Math.abs(bgY - txtY) < deltaYmin) return 0;
|
|
150
|
+
let contrast;
|
|
151
|
+
if (bgY > txtY) {
|
|
152
|
+
contrast = (Math.pow(bgY, normBG) - Math.pow(txtY, normTXT)) * scaleBoW;
|
|
153
|
+
return contrast < loBoWoffset ? 0 : (contrast - loBoWoffset) * 100;
|
|
154
|
+
} else {
|
|
155
|
+
contrast = (Math.pow(bgY, revBG) - Math.pow(txtY, revTXT)) * scaleWoB;
|
|
156
|
+
return contrast > -loWoBoffset ? 0 : (contrast + loWoBoffset) * 100;
|
|
157
|
+
}
|
|
158
|
+
}
|
|
159
|
+
const BLACK = {
|
|
160
|
+
r: 0,
|
|
161
|
+
g: 0,
|
|
162
|
+
b: 0
|
|
163
|
+
};
|
|
164
|
+
const WHITE = {
|
|
165
|
+
r: 255,
|
|
166
|
+
g: 255,
|
|
167
|
+
b: 255
|
|
168
|
+
};
|
|
169
|
+
function foreground(hex) {
|
|
170
|
+
const rgb = hexToRgb(hex);
|
|
171
|
+
const onWhite = Math.abs(apca(WHITE, rgb));
|
|
172
|
+
return Math.abs(apca(BLACK, rgb)) > onWhite ? "#000000" : "#ffffff";
|
|
173
|
+
}
|
|
174
|
+
//#endregion
|
|
77
175
|
//#region src/constants/globals.ts
|
|
78
176
|
const IN_BROWSER = typeof window !== "undefined";
|
|
79
177
|
const SUPPORTS_TOUCH = IN_BROWSER && ("ontouchstart" in window || window.navigator.maxTouchPoints > 0);
|
|
@@ -81,7 +179,7 @@ const SUPPORTS_MATCH_MEDIA = IN_BROWSER && "matchMedia" in window && typeof wind
|
|
|
81
179
|
const SUPPORTS_OBSERVER = IN_BROWSER && "ResizeObserver" in window;
|
|
82
180
|
const SUPPORTS_INTERSECTION_OBSERVER = IN_BROWSER && "IntersectionObserver" in window;
|
|
83
181
|
const SUPPORTS_MUTATION_OBSERVER = IN_BROWSER && "MutationObserver" in window;
|
|
84
|
-
const version = "0.1.
|
|
182
|
+
const version = "0.1.12";
|
|
85
183
|
/* v8 ignore next -- build-time constant, __DEV__ short-circuits in tests */
|
|
86
184
|
const __LOGGER_ENABLED__ = false;
|
|
87
185
|
//#endregion
|
|
@@ -359,14 +457,14 @@ function isNaN(item) {
|
|
|
359
457
|
return /* @__PURE__ */ isNumber(item) && Number.isNaN(item);
|
|
360
458
|
}
|
|
361
459
|
/**
|
|
362
|
-
* Deeply merges source objects into a target object
|
|
460
|
+
* Deeply merges source objects into a target object, returning a new object
|
|
363
461
|
*
|
|
364
|
-
* @param target The
|
|
462
|
+
* @param target The base object to merge into
|
|
365
463
|
* @param sources One or more source objects to merge from
|
|
366
|
-
* @returns
|
|
464
|
+
* @returns A new merged object (inputs are not mutated)
|
|
367
465
|
*
|
|
368
466
|
* @remarks
|
|
369
|
-
* -
|
|
467
|
+
* - Creates and returns a new object — inputs are never mutated
|
|
370
468
|
* - Nested objects are recursively merged
|
|
371
469
|
* - Arrays are replaced, not merged
|
|
372
470
|
* - Primitives from sources overwrite target values
|
|
@@ -374,8 +472,9 @@ function isNaN(item) {
|
|
|
374
472
|
* @example
|
|
375
473
|
* ```ts
|
|
376
474
|
* const target = { a: 1, b: { c: 2 } }
|
|
377
|
-
* mergeDeep(target, { b: { d: 3 } })
|
|
378
|
-
* //
|
|
475
|
+
* const result = mergeDeep(target, { b: { d: 3 } })
|
|
476
|
+
* // result is { a: 1, b: { c: 2, d: 3 } }
|
|
477
|
+
* // target is unchanged
|
|
379
478
|
*
|
|
380
479
|
* // Multiple sources
|
|
381
480
|
* mergeDeep({}, { a: 1 }, { b: 2 }) // { a: 1, b: 2 }
|
|
@@ -389,22 +488,27 @@ const UNSAFE_KEYS = new Set([
|
|
|
389
488
|
"constructor",
|
|
390
489
|
"prototype"
|
|
391
490
|
]);
|
|
491
|
+
function isPlainObject(value) {
|
|
492
|
+
if (typeof value !== "object" || value === null || Array.isArray(value)) return false;
|
|
493
|
+
const proto = Object.getPrototypeOf(value);
|
|
494
|
+
return proto === Object.prototype || proto === null;
|
|
495
|
+
}
|
|
392
496
|
/* @__NO_SIDE_EFFECTS__ */
|
|
393
497
|
function mergeDeep(target, ...sources) {
|
|
394
|
-
|
|
395
|
-
const
|
|
396
|
-
|
|
397
|
-
if (
|
|
398
|
-
|
|
399
|
-
|
|
400
|
-
|
|
401
|
-
|
|
402
|
-
|
|
403
|
-
|
|
404
|
-
|
|
405
|
-
}
|
|
406
|
-
}
|
|
407
|
-
return
|
|
498
|
+
const out = {};
|
|
499
|
+
for (const key in target) if (Object.prototype.hasOwnProperty.call(target, key)) out[key] = target[key];
|
|
500
|
+
for (const source of sources) {
|
|
501
|
+
if (!/* @__PURE__ */ isObject(source)) continue;
|
|
502
|
+
for (const key in source) {
|
|
503
|
+
if (UNSAFE_KEYS.has(key)) continue;
|
|
504
|
+
if (!Object.prototype.hasOwnProperty.call(source, key)) continue;
|
|
505
|
+
const sourceValue = source[key];
|
|
506
|
+
if (/* @__PURE__ */ isUndefined(sourceValue)) continue;
|
|
507
|
+
const targetValue = out[key];
|
|
508
|
+
out[key] = isPlainObject(sourceValue) && isPlainObject(targetValue) ? /* @__PURE__ */ mergeDeep(targetValue, sourceValue) : sourceValue;
|
|
509
|
+
}
|
|
510
|
+
}
|
|
511
|
+
return out;
|
|
408
512
|
}
|
|
409
513
|
let idCounter = 0;
|
|
410
514
|
/**
|
|
@@ -715,10 +819,10 @@ function getInstalled(app) {
|
|
|
715
819
|
function createPlugin(options) {
|
|
716
820
|
return { install(app) {
|
|
717
821
|
app.runWithContext(() => {
|
|
718
|
-
options.provide(app);
|
|
719
822
|
const installed = getInstalled(app);
|
|
720
823
|
if (installed.has(options.namespace)) return;
|
|
721
824
|
installed.add(options.namespace);
|
|
825
|
+
options.provide(app);
|
|
722
826
|
options.setup?.(app);
|
|
723
827
|
});
|
|
724
828
|
} };
|
|
@@ -1981,12 +2085,6 @@ const _sfc_main$2 = /* @__PURE__ */ defineComponent({
|
|
|
1981
2085
|
},
|
|
1982
2086
|
emits: ["load", "error"],
|
|
1983
2087
|
setup(__props, { emit: __emit }) {
|
|
1984
|
-
const props = createPropsRestProxy(__props, [
|
|
1985
|
-
"as",
|
|
1986
|
-
"renderless",
|
|
1987
|
-
"priority",
|
|
1988
|
-
"namespace"
|
|
1989
|
-
]);
|
|
1990
2088
|
const emit = __emit;
|
|
1991
2089
|
const context = useAvatarRoot(__props.namespace);
|
|
1992
2090
|
const ticket = context.register({
|
|
@@ -2012,9 +2110,9 @@ const _sfc_main$2 = /* @__PURE__ */ defineComponent({
|
|
|
2012
2110
|
isSelected: ticket.isSelected.value,
|
|
2013
2111
|
attrs: {
|
|
2014
2112
|
role: "img",
|
|
2113
|
+
src: __props.src,
|
|
2015
2114
|
onLoad,
|
|
2016
|
-
onError
|
|
2017
|
-
...props
|
|
2115
|
+
onError
|
|
2018
2116
|
}
|
|
2019
2117
|
}));
|
|
2020
2118
|
return (_ctx, _cache) => {
|
|
@@ -3342,8 +3440,7 @@ function createTokens(tokens = {}, options = {}) {
|
|
|
3342
3440
|
}
|
|
3343
3441
|
function resolve(token, visited = /* @__PURE__ */ new Set()) {
|
|
3344
3442
|
const cacheKey = /* @__PURE__ */ isString(token) ? token : JSON.stringify(token);
|
|
3345
|
-
|
|
3346
|
-
if (!/* @__PURE__ */ isUndefined(cached)) return cached;
|
|
3443
|
+
if (cache.has(cacheKey)) return cache.get(cacheKey);
|
|
3347
3444
|
const reference = isTokenAlias(token) ? token.$value : token;
|
|
3348
3445
|
const isAliasReference = /* @__PURE__ */ isString(reference) && isAlias(reference);
|
|
3349
3446
|
const clean = isAliasReference ? reference.slice(1, -1) : String(reference);
|
|
@@ -4513,7 +4610,7 @@ const _sfc_main$16 = /* @__PURE__ */ defineComponent({
|
|
|
4513
4610
|
"data-disabled": isDisabled.value ? true : void 0,
|
|
4514
4611
|
"data-selected": group && isSelected.value ? true : void 0,
|
|
4515
4612
|
"data-solo": isSolo.value ? true : void 0,
|
|
4516
|
-
"onClick": onClick
|
|
4613
|
+
"onClick": ticket ? onClick : void 0
|
|
4517
4614
|
}));
|
|
4518
4615
|
const slotProps = toRef(() => ({
|
|
4519
4616
|
isLoading: isLoading.value,
|
|
@@ -4529,7 +4626,8 @@ const _sfc_main$16 = /* @__PURE__ */ defineComponent({
|
|
|
4529
4626
|
...slotProps.value.attrs
|
|
4530
4627
|
}, {
|
|
4531
4628
|
as: __props.as,
|
|
4532
|
-
renderless: __props.renderless
|
|
4629
|
+
renderless: __props.renderless,
|
|
4630
|
+
onClick
|
|
4533
4631
|
}), {
|
|
4534
4632
|
default: withCtx(() => [renderSlot(_ctx.$slots, "default", normalizeProps(guardReactiveProps(slotProps.value)))]),
|
|
4535
4633
|
_: 3
|
|
@@ -4952,22 +5050,20 @@ const _sfc_main$21 = /* @__PURE__ */ defineComponent({
|
|
|
4952
5050
|
props: {
|
|
4953
5051
|
label: {},
|
|
4954
5052
|
disabled: { type: Boolean },
|
|
4955
|
-
namespace: {},
|
|
4956
|
-
groupNamespace: {},
|
|
5053
|
+
namespace: { default: "v0:checkbox:root" },
|
|
5054
|
+
groupNamespace: { default: "v0:checkbox:group" },
|
|
4957
5055
|
ariaLabelledby: {},
|
|
4958
5056
|
ariaDescribedby: {},
|
|
4959
|
-
as: {},
|
|
5057
|
+
as: { default: "button" },
|
|
4960
5058
|
renderless: { type: Boolean }
|
|
4961
5059
|
},
|
|
4962
5060
|
setup(__props) {
|
|
4963
5061
|
const attrs = useAttrs();
|
|
4964
|
-
const
|
|
4965
|
-
const { as = "button", renderless, label, namespace = "v0:checkbox:root", groupNamespace = "v0:checkbox:group" } = props;
|
|
4966
|
-
const group = useCheckboxGroup(groupNamespace);
|
|
5062
|
+
const group = useCheckboxGroup(__props.groupNamespace);
|
|
4967
5063
|
const id = useId$1();
|
|
4968
5064
|
const isAllSelected = toRef(() => group.isAllSelected.value);
|
|
4969
5065
|
const isMixed = toRef(() => group.isMixed.value);
|
|
4970
|
-
const isDisabled = toRef(() => toValue(
|
|
5066
|
+
const isDisabled = toRef(() => toValue(__props.disabled) || toValue(group.disabled));
|
|
4971
5067
|
const dataState = toRef(() => isMixed.value ? "indeterminate" : isAllSelected.value ? "checked" : "unchecked");
|
|
4972
5068
|
function onClick() {
|
|
4973
5069
|
if (isDisabled.value) return;
|
|
@@ -4979,9 +5075,9 @@ const _sfc_main$21 = /* @__PURE__ */ defineComponent({
|
|
|
4979
5075
|
if (isDisabled.value) return;
|
|
4980
5076
|
group.toggleAll();
|
|
4981
5077
|
}
|
|
4982
|
-
|
|
5078
|
+
const context = {
|
|
4983
5079
|
id,
|
|
4984
|
-
label,
|
|
5080
|
+
label: __props.label,
|
|
4985
5081
|
value: void 0,
|
|
4986
5082
|
name: void 0,
|
|
4987
5083
|
form: void 0,
|
|
@@ -4993,9 +5089,10 @@ const _sfc_main$21 = /* @__PURE__ */ defineComponent({
|
|
|
4993
5089
|
toggle: group.toggleAll,
|
|
4994
5090
|
mix: () => {},
|
|
4995
5091
|
unmix: () => {}
|
|
4996
|
-
}
|
|
5092
|
+
};
|
|
5093
|
+
provideCheckboxRoot(__props.namespace, context);
|
|
4997
5094
|
const slotProps = toRef(() => ({
|
|
4998
|
-
label,
|
|
5095
|
+
label: __props.label,
|
|
4999
5096
|
isAllSelected: isAllSelected.value,
|
|
5000
5097
|
isMixed: isMixed.value,
|
|
5001
5098
|
isDisabled: isDisabled.value,
|
|
@@ -5003,13 +5100,13 @@ const _sfc_main$21 = /* @__PURE__ */ defineComponent({
|
|
|
5003
5100
|
unselectAll: group.unselectAll,
|
|
5004
5101
|
toggleAll: group.toggleAll,
|
|
5005
5102
|
attrs: {
|
|
5006
|
-
"type": as === "button" ? "button" : void 0,
|
|
5103
|
+
"type": __props.as === "button" ? "button" : void 0,
|
|
5007
5104
|
"role": "checkbox",
|
|
5008
5105
|
"aria-checked": isMixed.value ? "mixed" : isAllSelected.value,
|
|
5009
5106
|
"aria-disabled": isDisabled.value || void 0,
|
|
5010
|
-
"aria-label": label || void 0,
|
|
5011
|
-
"aria-labelledby":
|
|
5012
|
-
"aria-describedby":
|
|
5107
|
+
"aria-label": __props.label || void 0,
|
|
5108
|
+
"aria-labelledby": __props.ariaLabelledby || void 0,
|
|
5109
|
+
"aria-describedby": __props.ariaDescribedby || void 0,
|
|
5013
5110
|
"tabindex": isDisabled.value ? void 0 : 0,
|
|
5014
5111
|
"data-state": dataState.value,
|
|
5015
5112
|
"data-disabled": isDisabled.value ? true : void 0
|
|
@@ -5020,8 +5117,8 @@ const _sfc_main$21 = /* @__PURE__ */ defineComponent({
|
|
|
5020
5117
|
...unref(attrs),
|
|
5021
5118
|
...slotProps.value.attrs
|
|
5022
5119
|
}, {
|
|
5023
|
-
as:
|
|
5024
|
-
renderless:
|
|
5120
|
+
as: __props.as,
|
|
5121
|
+
renderless: __props.renderless,
|
|
5025
5122
|
onClick,
|
|
5026
5123
|
onKeydown
|
|
5027
5124
|
}), {
|
|
@@ -5187,13 +5284,22 @@ const _sfc_main$23 = /* @__PURE__ */ defineComponent({
|
|
|
5187
5284
|
*/
|
|
5188
5285
|
function createPagination(_options = {}) {
|
|
5189
5286
|
const { page: _page = 1, itemsPerPage: _itemsPerPage = 10, size: _size = 0, visible: _visible = 7, ellipsis = "..." } = _options;
|
|
5190
|
-
const
|
|
5287
|
+
const _raw = isRef(_page) ? _page : shallowRef(_page);
|
|
5191
5288
|
const pages = computed(() => {
|
|
5192
5289
|
const size = toValue(_size);
|
|
5193
5290
|
const perPage = toValue(_itemsPerPage);
|
|
5194
5291
|
if (size <= 0 || /* @__PURE__ */ isNaN(size)) return 0;
|
|
5195
5292
|
return Math.ceil(size / perPage);
|
|
5196
5293
|
});
|
|
5294
|
+
const page = computed({
|
|
5295
|
+
get: () => {
|
|
5296
|
+
const p = pages.value;
|
|
5297
|
+
return p > 0 && _raw.value > p ? p : _raw.value;
|
|
5298
|
+
},
|
|
5299
|
+
set: (v) => {
|
|
5300
|
+
_raw.value = v;
|
|
5301
|
+
}
|
|
5302
|
+
});
|
|
5197
5303
|
function first() {
|
|
5198
5304
|
page.value = 1;
|
|
5199
5305
|
}
|
|
@@ -5395,8 +5501,8 @@ function usePagination(namespace = "v0:pagination") {
|
|
|
5395
5501
|
function defaultFilter(query, item, keys, mode = "some") {
|
|
5396
5502
|
const queries = toArray(query).map((q) => String(q).toLowerCase());
|
|
5397
5503
|
const stringValues = (/* @__PURE__ */ isObject(item) ? keys?.length ? keys.map((k) => item[k]) : Object.values(item) : [item]).map((v) => String(v).toLowerCase());
|
|
5398
|
-
if (mode === "some") return stringValues.some((val) => val.includes(
|
|
5399
|
-
if (mode === "every") return stringValues.every((val) => val.includes(
|
|
5504
|
+
if (mode === "some") return queries.some((q) => stringValues.some((val) => val.includes(q)));
|
|
5505
|
+
if (mode === "every") return queries.every((q) => stringValues.every((val) => val.includes(q)));
|
|
5400
5506
|
const joined = stringValues.join("\0");
|
|
5401
5507
|
if (mode === "union") return queries.some((q) => joined.includes(q));
|
|
5402
5508
|
if (mode === "intersection") return queries.every((q) => joined.includes(q));
|
|
@@ -5531,8 +5637,11 @@ function getNestedValue(obj, key) {
|
|
|
5531
5637
|
}
|
|
5532
5638
|
function compareValues(a, b, locale) {
|
|
5533
5639
|
if (a === b) return 0;
|
|
5534
|
-
|
|
5535
|
-
|
|
5640
|
+
const aNil = /* @__PURE__ */ isNullOrUndefined(a);
|
|
5641
|
+
const bNil = /* @__PURE__ */ isNullOrUndefined(b);
|
|
5642
|
+
if (aNil && bNil) return 0;
|
|
5643
|
+
if (aNil) return 1;
|
|
5644
|
+
if (bNil) return -1;
|
|
5536
5645
|
if (/* @__PURE__ */ isString(a) && /* @__PURE__ */ isString(b)) return a.localeCompare(b, locale);
|
|
5537
5646
|
if (/* @__PURE__ */ isNumber(a) && /* @__PURE__ */ isNumber(b)) {
|
|
5538
5647
|
if (/* @__PURE__ */ isNaN(a)) return 1;
|
|
@@ -6475,6 +6584,18 @@ const defaultLocales = {
|
|
|
6475
6584
|
ar: "ar-SA"
|
|
6476
6585
|
};
|
|
6477
6586
|
/**
|
|
6587
|
+
* Derive firstDayOfWeek from an Intl locale string.
|
|
6588
|
+
* Returns 0-6 (0=Sun) or 0 as fallback.
|
|
6589
|
+
*/
|
|
6590
|
+
function deriveFirstDayOfWeek(locale) {
|
|
6591
|
+
try {
|
|
6592
|
+
const info = new Intl.Locale(locale).getWeekInfo?.();
|
|
6593
|
+
return info ? info.firstDay % 7 : 0;
|
|
6594
|
+
} catch {
|
|
6595
|
+
return 0;
|
|
6596
|
+
}
|
|
6597
|
+
}
|
|
6598
|
+
/**
|
|
6478
6599
|
* Creates a new date context.
|
|
6479
6600
|
*
|
|
6480
6601
|
* @param options Adapter and locale configuration.
|
|
@@ -6499,7 +6620,7 @@ const defaultLocales = {
|
|
|
6499
6620
|
* ```
|
|
6500
6621
|
*/
|
|
6501
6622
|
function createDate(options) {
|
|
6502
|
-
const { locales = defaultLocales, adapter, locale: initialLocale } = options;
|
|
6623
|
+
const { locales = defaultLocales, adapter, locale: initialLocale, firstDayOfWeek: explicitFirstDay } = options;
|
|
6503
6624
|
let selectedId;
|
|
6504
6625
|
try {
|
|
6505
6626
|
if (instanceExists()) selectedId = useLocale().selectedId;
|
|
@@ -6513,17 +6634,27 @@ function createDate(options) {
|
|
|
6513
6634
|
const fallback = initialLocale ?? adapter.locale ?? "en-US";
|
|
6514
6635
|
return fallback.includes("-") ? fallback : locales[fallback] ?? fallback;
|
|
6515
6636
|
});
|
|
6637
|
+
const firstDayOfWeek = computed(() => {
|
|
6638
|
+
if (!/* @__PURE__ */ isUndefined(explicitFirstDay)) return explicitFirstDay;
|
|
6639
|
+
const loc = locale.value;
|
|
6640
|
+
return loc ? deriveFirstDayOfWeek(loc) : 0;
|
|
6641
|
+
});
|
|
6516
6642
|
if (instanceExists()) onScopeDispose(watchEffect(() => {
|
|
6517
6643
|
const loc = locale.value;
|
|
6518
6644
|
if (loc && adapter.locale !== loc) adapter.locale = loc;
|
|
6645
|
+
const fdow = firstDayOfWeek.value;
|
|
6646
|
+
if (adapter.firstDayOfWeek !== fdow) adapter.firstDayOfWeek = fdow;
|
|
6519
6647
|
}));
|
|
6520
6648
|
else {
|
|
6521
6649
|
const loc = locale.value;
|
|
6522
6650
|
if (loc && adapter.locale !== loc) adapter.locale = loc;
|
|
6651
|
+
const fdow = firstDayOfWeek.value;
|
|
6652
|
+
if (adapter.firstDayOfWeek !== fdow) adapter.firstDayOfWeek = fdow;
|
|
6523
6653
|
}
|
|
6524
6654
|
return {
|
|
6525
6655
|
adapter,
|
|
6526
|
-
locale
|
|
6656
|
+
locale,
|
|
6657
|
+
firstDayOfWeek
|
|
6527
6658
|
};
|
|
6528
6659
|
}
|
|
6529
6660
|
/**
|
|
@@ -7776,7 +7907,8 @@ const multipleOpenStrategy = {
|
|
|
7776
7907
|
*/
|
|
7777
7908
|
const singleOpenStrategy = {
|
|
7778
7909
|
onOpen: (id, context) => {
|
|
7779
|
-
|
|
7910
|
+
const toClose = [...context.openedIds].filter((openedId) => openedId !== id);
|
|
7911
|
+
for (const openedId of toClose) context.openedIds.delete(openedId);
|
|
7780
7912
|
},
|
|
7781
7913
|
onClose: void 0
|
|
7782
7914
|
};
|
|
@@ -7878,8 +8010,13 @@ function createNested(_options = {}) {
|
|
|
7878
8010
|
return openedIds.has(id);
|
|
7879
8011
|
}
|
|
7880
8012
|
function open(ids) {
|
|
8013
|
+
if (toValue(group.disabled)) return;
|
|
7881
8014
|
for (const id of toArray(ids)) {
|
|
7882
8015
|
if (!group.has(id)) continue;
|
|
8016
|
+
const item = group.get(id);
|
|
8017
|
+
if (!item || toValue(item.disabled)) continue;
|
|
8018
|
+
openedIds.add(id);
|
|
8019
|
+
resolvedOpenStrategy.onOpen?.(id, context);
|
|
7883
8020
|
if (revealOnOpen) {
|
|
7884
8021
|
let parentId = parents.get(id);
|
|
7885
8022
|
while (!/* @__PURE__ */ isUndefined(parentId)) {
|
|
@@ -7887,20 +8024,24 @@ function createNested(_options = {}) {
|
|
|
7887
8024
|
parentId = parents.get(parentId);
|
|
7888
8025
|
}
|
|
7889
8026
|
}
|
|
7890
|
-
openedIds.add(id);
|
|
7891
|
-
resolvedOpenStrategy.onOpen?.(id, context);
|
|
7892
8027
|
}
|
|
7893
8028
|
}
|
|
7894
8029
|
function close(ids) {
|
|
8030
|
+
if (toValue(group.disabled)) return;
|
|
7895
8031
|
for (const id of toArray(ids)) {
|
|
7896
8032
|
if (!group.has(id)) continue;
|
|
8033
|
+
const item = group.get(id);
|
|
8034
|
+
if (!item || toValue(item.disabled)) continue;
|
|
7897
8035
|
openedIds.delete(id);
|
|
7898
8036
|
resolvedOpenStrategy.onClose?.(id, context);
|
|
7899
8037
|
}
|
|
7900
8038
|
}
|
|
7901
8039
|
function flip(ids) {
|
|
8040
|
+
if (toValue(group.disabled)) return;
|
|
7902
8041
|
for (const id of toArray(ids)) {
|
|
7903
8042
|
if (!group.has(id)) continue;
|
|
8043
|
+
const item = group.get(id);
|
|
8044
|
+
if (!item || toValue(item.disabled)) continue;
|
|
7904
8045
|
if (opened(id)) close(id);
|
|
7905
8046
|
else open(id);
|
|
7906
8047
|
}
|
|
@@ -7940,10 +8081,20 @@ function createNested(_options = {}) {
|
|
|
7940
8081
|
}
|
|
7941
8082
|
}
|
|
7942
8083
|
function expandAll() {
|
|
7943
|
-
|
|
8084
|
+
if (toValue(group.disabled)) return;
|
|
8085
|
+
for (const [id, childList] of children) if (childList.length > 0) {
|
|
8086
|
+
const item = group.get(id);
|
|
8087
|
+
if (item && toValue(item.disabled)) continue;
|
|
8088
|
+
openedIds.add(id);
|
|
8089
|
+
}
|
|
7944
8090
|
}
|
|
7945
8091
|
function collapseAll() {
|
|
7946
|
-
|
|
8092
|
+
if (toValue(group.disabled)) return;
|
|
8093
|
+
const toClose = [...openedIds].filter((id) => {
|
|
8094
|
+
const item = group.get(id);
|
|
8095
|
+
return !item || !toValue(item.disabled);
|
|
8096
|
+
});
|
|
8097
|
+
for (const id of toClose) openedIds.delete(id);
|
|
7947
8098
|
}
|
|
7948
8099
|
function activated(id) {
|
|
7949
8100
|
return activeIds.has(id);
|
|
@@ -8024,7 +8175,7 @@ function createNested(_options = {}) {
|
|
|
8024
8175
|
function siblings(id) {
|
|
8025
8176
|
if (!group.has(id)) return [];
|
|
8026
8177
|
const parentId = parents.get(id);
|
|
8027
|
-
if (/* @__PURE__ */ isUndefined(parentId)) return
|
|
8178
|
+
if (/* @__PURE__ */ isUndefined(parentId)) return Array.from(rootIds);
|
|
8028
8179
|
return children.get(parentId) ?? [];
|
|
8029
8180
|
}
|
|
8030
8181
|
/**
|
|
@@ -8035,6 +8186,28 @@ function createNested(_options = {}) {
|
|
|
8035
8186
|
const index = siblings(id).indexOf(id);
|
|
8036
8187
|
return index === -1 ? 0 : index + 1;
|
|
8037
8188
|
}
|
|
8189
|
+
/**
|
|
8190
|
+
* Returns depth-first traversal of visible (open) nodes.
|
|
8191
|
+
* A node is visible if all its ancestors are open.
|
|
8192
|
+
* Used by useRovingFocus to determine keyboard navigation order.
|
|
8193
|
+
*/
|
|
8194
|
+
function visibleItems() {
|
|
8195
|
+
const result = [];
|
|
8196
|
+
const rootItems = Array.from(rootIds);
|
|
8197
|
+
function walk(ids) {
|
|
8198
|
+
for (const id of ids) {
|
|
8199
|
+
const item = group.get(id);
|
|
8200
|
+
if (!item) continue;
|
|
8201
|
+
result.push(item);
|
|
8202
|
+
if (opened(id)) {
|
|
8203
|
+
const childIds = children.get(id);
|
|
8204
|
+
if (childIds?.length) walk(childIds);
|
|
8205
|
+
}
|
|
8206
|
+
}
|
|
8207
|
+
}
|
|
8208
|
+
walk(rootItems);
|
|
8209
|
+
return result;
|
|
8210
|
+
}
|
|
8038
8211
|
function updateAncestors(id) {
|
|
8039
8212
|
const { selectedIds, mixedIds } = group;
|
|
8040
8213
|
let parentId = parents.get(id);
|
|
@@ -8061,8 +8234,11 @@ function createNested(_options = {}) {
|
|
|
8061
8234
|
return getDescendants(id).filter((did) => isLeaf(did));
|
|
8062
8235
|
}
|
|
8063
8236
|
function select(ids) {
|
|
8237
|
+
if (toValue(group.disabled)) return;
|
|
8064
8238
|
for (const id of toArray(ids)) {
|
|
8065
8239
|
if (!group.has(id)) continue;
|
|
8240
|
+
const item = group.get(id);
|
|
8241
|
+
if (!item || toValue(item.disabled)) continue;
|
|
8066
8242
|
if (selectionMode === "independent") group.select(id);
|
|
8067
8243
|
else if (selectionMode === "leaf") if (isLeaf(id)) group.select(id);
|
|
8068
8244
|
else for (const lid of getLeafDescendants(id)) group.select(lid);
|
|
@@ -8075,6 +8251,8 @@ function createNested(_options = {}) {
|
|
|
8075
8251
|
mixedIds.delete(id);
|
|
8076
8252
|
selectedIds.add(id);
|
|
8077
8253
|
for (const did of getDescendants(id)) {
|
|
8254
|
+
const desc = group.get(did);
|
|
8255
|
+
if (desc && toValue(desc.disabled)) continue;
|
|
8078
8256
|
mixedIds.delete(did);
|
|
8079
8257
|
selectedIds.add(did);
|
|
8080
8258
|
}
|
|
@@ -8083,8 +8261,11 @@ function createNested(_options = {}) {
|
|
|
8083
8261
|
}
|
|
8084
8262
|
}
|
|
8085
8263
|
function unselect(ids) {
|
|
8264
|
+
if (toValue(group.disabled)) return;
|
|
8086
8265
|
for (const id of toArray(ids)) {
|
|
8087
8266
|
if (!group.has(id)) continue;
|
|
8267
|
+
const item = group.get(id);
|
|
8268
|
+
if (!item || toValue(item.disabled)) continue;
|
|
8088
8269
|
if (selectionMode === "independent") group.unselect(id);
|
|
8089
8270
|
else if (selectionMode === "leaf") if (isLeaf(id)) group.unselect(id);
|
|
8090
8271
|
else for (const lid of getLeafDescendants(id)) group.unselect(lid);
|
|
@@ -8097,6 +8278,8 @@ function createNested(_options = {}) {
|
|
|
8097
8278
|
mixedIds.delete(id);
|
|
8098
8279
|
selectedIds.delete(id);
|
|
8099
8280
|
for (const did of getDescendants(id)) {
|
|
8281
|
+
const desc = group.get(did);
|
|
8282
|
+
if (desc && toValue(desc.disabled)) continue;
|
|
8100
8283
|
mixedIds.delete(did);
|
|
8101
8284
|
selectedIds.delete(did);
|
|
8102
8285
|
}
|
|
@@ -8105,15 +8288,43 @@ function createNested(_options = {}) {
|
|
|
8105
8288
|
}
|
|
8106
8289
|
}
|
|
8107
8290
|
function toggle(ids) {
|
|
8108
|
-
|
|
8109
|
-
|
|
8110
|
-
|
|
8111
|
-
|
|
8112
|
-
if (
|
|
8113
|
-
else
|
|
8291
|
+
if (toValue(group.disabled)) return;
|
|
8292
|
+
for (const id of toArray(ids)) {
|
|
8293
|
+
const item = group.get(id);
|
|
8294
|
+
if (!item || toValue(item.disabled)) continue;
|
|
8295
|
+
if (selectionMode === "independent") group.toggle(id);
|
|
8296
|
+
else if (selectionMode === "leaf") if (isLeaf(id)) group.toggle(id);
|
|
8297
|
+
else {
|
|
8298
|
+
const leafIds = getLeafDescendants(id);
|
|
8299
|
+
if (leafIds.every((lid) => group.selected(lid))) for (const lid of leafIds) group.unselect(lid);
|
|
8300
|
+
else for (const lid of leafIds) group.select(lid);
|
|
8301
|
+
}
|
|
8302
|
+
else if (group.selected(id) || group.mixed(id)) unselect(id);
|
|
8303
|
+
else select(id);
|
|
8114
8304
|
}
|
|
8115
|
-
|
|
8116
|
-
|
|
8305
|
+
}
|
|
8306
|
+
function selectAll() {
|
|
8307
|
+
if (toValue(group.disabled)) return;
|
|
8308
|
+
const { selectedIds, mixedIds } = group;
|
|
8309
|
+
for (const item of group.values()) {
|
|
8310
|
+
if (toValue(item.disabled)) continue;
|
|
8311
|
+
selectedIds.add(item.id);
|
|
8312
|
+
}
|
|
8313
|
+
mixedIds.clear();
|
|
8314
|
+
}
|
|
8315
|
+
function unselectAll() {
|
|
8316
|
+
if (toValue(group.disabled)) return;
|
|
8317
|
+
const first = group.selectedIds.values().next().value;
|
|
8318
|
+
group.selectedIds.clear();
|
|
8319
|
+
group.mixedIds.clear();
|
|
8320
|
+
if (toValue(mandatoryOption) && first) {
|
|
8321
|
+
group.selectedIds.add(first);
|
|
8322
|
+
updateAncestors(first);
|
|
8323
|
+
}
|
|
8324
|
+
}
|
|
8325
|
+
function toggleAll() {
|
|
8326
|
+
if (group.isAllSelected.value) unselectAll();
|
|
8327
|
+
else selectAll();
|
|
8117
8328
|
}
|
|
8118
8329
|
/**
|
|
8119
8330
|
* Converts the tree to a flat array with parentId references.
|
|
@@ -8158,6 +8369,7 @@ function createNested(_options = {}) {
|
|
|
8158
8369
|
const item = {
|
|
8159
8370
|
...rest,
|
|
8160
8371
|
id,
|
|
8372
|
+
el: registration.el,
|
|
8161
8373
|
parentId: batching ? pendingParents.get(id) : parents.get(id),
|
|
8162
8374
|
isOpen: toRef(() => opened(id)),
|
|
8163
8375
|
isActive: toRef(() => activated(id)),
|
|
@@ -8178,6 +8390,9 @@ function createNested(_options = {}) {
|
|
|
8178
8390
|
position: () => position(id)
|
|
8179
8391
|
};
|
|
8180
8392
|
const ticket = group.register(item);
|
|
8393
|
+
ticket.select = () => select(id);
|
|
8394
|
+
ticket.unselect = () => unselect(id);
|
|
8395
|
+
ticket.toggle = () => toggle(id);
|
|
8181
8396
|
if (registration.active) activate(id);
|
|
8182
8397
|
if (nested?.length) for (const child of nested) register({
|
|
8183
8398
|
...child,
|
|
@@ -8272,6 +8487,7 @@ function createNested(_options = {}) {
|
|
|
8272
8487
|
activeIndexes,
|
|
8273
8488
|
roots,
|
|
8274
8489
|
leaves,
|
|
8490
|
+
visibleItems,
|
|
8275
8491
|
getPath,
|
|
8276
8492
|
getAncestors,
|
|
8277
8493
|
getDescendants,
|
|
@@ -8295,10 +8511,14 @@ function createNested(_options = {}) {
|
|
|
8295
8511
|
activated,
|
|
8296
8512
|
deactivateAll,
|
|
8297
8513
|
toFlat,
|
|
8514
|
+
multiple: toValue(multipleOption),
|
|
8298
8515
|
openStrategy: resolvedOpenStrategy,
|
|
8299
8516
|
select,
|
|
8300
8517
|
unselect,
|
|
8301
8518
|
toggle,
|
|
8519
|
+
selectAll,
|
|
8520
|
+
unselectAll,
|
|
8521
|
+
toggleAll,
|
|
8302
8522
|
register,
|
|
8303
8523
|
unregister,
|
|
8304
8524
|
offboard,
|
|
@@ -9811,6 +10031,11 @@ const [createRtlContext, createRtlPlugin, useRtl] = createPluginContext("v0:rtl"
|
|
|
9811
10031
|
* Also reusable for color picker tracks, media scrubbers,
|
|
9812
10032
|
* gradient editors, and other 1D value-on-track controls.
|
|
9813
10033
|
*/
|
|
10034
|
+
function decimalPlaces(n) {
|
|
10035
|
+
const s = String(n);
|
|
10036
|
+
const dot = s.indexOf(".");
|
|
10037
|
+
return dot === -1 ? 0 : s.length - dot - 1;
|
|
10038
|
+
}
|
|
9814
10039
|
/**
|
|
9815
10040
|
* Creates slider state with value math, step snapping, and multi-thumb support.
|
|
9816
10041
|
*
|
|
@@ -9874,10 +10099,12 @@ function createSlider(options = {}) {
|
|
|
9874
10099
|
const thumbs = computed(() => Array.from(model.selectedItems.value).toSorted((a, b) => a.index - b.index));
|
|
9875
10100
|
const values = computed(() => thumbs.value.map((t) => toValue(t.value)));
|
|
9876
10101
|
const selectedValues = computed(() => values.value);
|
|
10102
|
+
const decimals = Math.max(decimalPlaces(step), decimalPlaces(min));
|
|
9877
10103
|
function snap(value) {
|
|
9878
10104
|
if (step <= 0) return /* @__PURE__ */ clamp(value, min, max);
|
|
9879
10105
|
const clamped = /* @__PURE__ */ clamp(value, min, max);
|
|
9880
|
-
|
|
10106
|
+
const result = min + Math.round((clamped - min) / step) * step;
|
|
10107
|
+
return /* @__PURE__ */ clamp(decimals > 0 ? +result.toFixed(decimals) : result, min, max);
|
|
9881
10108
|
}
|
|
9882
10109
|
function fromValue(value) {
|
|
9883
10110
|
if (extent === 0) return 0;
|
|
@@ -10575,6 +10802,7 @@ const [createStorageContext, createStoragePlugin, useStorage] = createPluginCont
|
|
|
10575
10802
|
var ThemeAdapter = class {
|
|
10576
10803
|
stylesheetId = "v0-theme-stylesheet";
|
|
10577
10804
|
prefix;
|
|
10805
|
+
rgb = false;
|
|
10578
10806
|
constructor(prefix) {
|
|
10579
10807
|
this.prefix = prefix;
|
|
10580
10808
|
}
|
|
@@ -10583,12 +10811,16 @@ var ThemeAdapter = class {
|
|
|
10583
10811
|
for (const theme in colors) {
|
|
10584
10812
|
const themeColors = colors[theme];
|
|
10585
10813
|
if (!themeColors) continue;
|
|
10586
|
-
const vars = Object.entries(themeColors).map(([key, val]) => ` --${this.prefix}-${key}: ${val};`).join("\n");
|
|
10814
|
+
const vars = Object.entries(themeColors).map(([key, val]) => ` --${this.prefix}-${key}: ${this.rgb ? this.decompose(val) : val};`).join("\n");
|
|
10587
10815
|
css += `[data-theme="${theme}"] {\n${vars}\n}\n`;
|
|
10588
10816
|
}
|
|
10589
10817
|
if (!/* @__PURE__ */ isUndefined(isDark)) css += `:root {\n color-scheme: ${isDark ? "dark" : "light"};\n}\n`;
|
|
10590
10818
|
return css;
|
|
10591
10819
|
}
|
|
10820
|
+
decompose(hex) {
|
|
10821
|
+
const { r, g, b, a } = hexToRgb(hex);
|
|
10822
|
+
return /* @__PURE__ */ isUndefined(a) ? `${r}, ${g}, ${b}` : `${r}, ${g}, ${b}, ${a}`;
|
|
10823
|
+
}
|
|
10592
10824
|
};
|
|
10593
10825
|
//#endregion
|
|
10594
10826
|
//#region src/composables/useTheme/adapters/v0.ts
|
|
@@ -10701,7 +10933,7 @@ var Vuetify0ThemeAdapter = class extends ThemeAdapter {
|
|
|
10701
10933
|
* ```
|
|
10702
10934
|
*/
|
|
10703
10935
|
function createTheme(_options = {}) {
|
|
10704
|
-
const { themes = {}, palette = {}, ...options } = _options;
|
|
10936
|
+
const { themes = {}, palette = {}, foreground: genForeground, ...options } = _options;
|
|
10705
10937
|
const tokens = createTokens({
|
|
10706
10938
|
palette,
|
|
10707
10939
|
...themes
|
|
@@ -10721,7 +10953,12 @@ function createTheme(_options = {}) {
|
|
|
10721
10953
|
const resolved = {};
|
|
10722
10954
|
for (const theme of registry.values()) {
|
|
10723
10955
|
if (theme.lazy && theme.id !== registry.selectedId.value) continue;
|
|
10724
|
-
|
|
10956
|
+
const themeColors = resolve(theme.value);
|
|
10957
|
+
if (genForeground) for (const [key, value] of Object.entries(themeColors)) {
|
|
10958
|
+
const onKey = `on-${key}`;
|
|
10959
|
+
if (!key.startsWith("on-") && !(onKey in themeColors)) themeColors[onKey] = foreground(value);
|
|
10960
|
+
}
|
|
10961
|
+
resolved[theme.id] = themeColors;
|
|
10725
10962
|
}
|
|
10726
10963
|
return resolved;
|
|
10727
10964
|
});
|
|
@@ -10772,7 +11009,8 @@ function createThemeFallback() {
|
|
|
10772
11009
|
}
|
|
10773
11010
|
const [createThemeContext, createThemePlugin, useTheme] = createPluginContext("v0:theme", (options) => createTheme(options), {
|
|
10774
11011
|
fallback: () => createThemeFallback(),
|
|
10775
|
-
setup: (context, app, { adapter = new Vuetify0ThemeAdapter(), target }) => {
|
|
11012
|
+
setup: (context, app, { adapter = new Vuetify0ThemeAdapter(), target, rgb }) => {
|
|
11013
|
+
if (rgb) adapter.rgb = true;
|
|
10776
11014
|
adapter.setup(app, context, target);
|
|
10777
11015
|
}
|
|
10778
11016
|
});
|
|
@@ -12605,18 +12843,23 @@ const _sfc_main$39 = /* @__PURE__ */ defineComponent({
|
|
|
12605
12843
|
touched.value = true;
|
|
12606
12844
|
if (shouldValidate("blur")) validation.validate();
|
|
12607
12845
|
});
|
|
12846
|
+
let resetting = false;
|
|
12608
12847
|
watch(model, (val) => {
|
|
12609
12848
|
isPristine.value = val === initialValue;
|
|
12610
|
-
if (shouldValidate("input")) validation.validate();
|
|
12849
|
+
if (!resetting && shouldValidate("input")) validation.validate();
|
|
12611
12850
|
});
|
|
12612
12851
|
function validate() {
|
|
12613
12852
|
return validation.validate();
|
|
12614
12853
|
}
|
|
12615
12854
|
function reset() {
|
|
12855
|
+
resetting = true;
|
|
12616
12856
|
model.value = initialValue;
|
|
12617
12857
|
isPristine.value = true;
|
|
12618
12858
|
touched.value = false;
|
|
12619
12859
|
validation.reset();
|
|
12860
|
+
nextTick(() => {
|
|
12861
|
+
resetting = false;
|
|
12862
|
+
});
|
|
12620
12863
|
}
|
|
12621
12864
|
const state = toRef(() => {
|
|
12622
12865
|
if (isValid.value === false) return "invalid";
|
|
@@ -12877,11 +13120,77 @@ const Input = {
|
|
|
12877
13120
|
Root: _sfc_main$39
|
|
12878
13121
|
};
|
|
12879
13122
|
//#endregion
|
|
13123
|
+
//#region src/components/Locale/Locale.vue
|
|
13124
|
+
const _sfc_main$40 = /* @__PURE__ */ defineComponent({
|
|
13125
|
+
name: "Locale",
|
|
13126
|
+
inheritAttrs: false,
|
|
13127
|
+
__name: "Locale",
|
|
13128
|
+
props: {
|
|
13129
|
+
locale: {},
|
|
13130
|
+
renderless: {
|
|
13131
|
+
type: Boolean,
|
|
13132
|
+
default: false
|
|
13133
|
+
},
|
|
13134
|
+
as: { default: "div" }
|
|
13135
|
+
},
|
|
13136
|
+
setup(__props) {
|
|
13137
|
+
const parent = useLocale();
|
|
13138
|
+
const selectedId = toRef(() => __props.locale);
|
|
13139
|
+
const selectedItem = toRef(() => parent.get(__props.locale));
|
|
13140
|
+
const rootT = parent._rootT ?? parent.t;
|
|
13141
|
+
const rootN = parent._rootN ?? parent.n;
|
|
13142
|
+
function t(key, ...params) {
|
|
13143
|
+
const prev = new Set(parent.selectedIds);
|
|
13144
|
+
parent.selectedIds.clear();
|
|
13145
|
+
parent.selectedIds.add(__props.locale);
|
|
13146
|
+
try {
|
|
13147
|
+
return rootT(key, ...params);
|
|
13148
|
+
} finally {
|
|
13149
|
+
parent.selectedIds.clear();
|
|
13150
|
+
for (const id of prev) parent.selectedIds.add(id);
|
|
13151
|
+
}
|
|
13152
|
+
}
|
|
13153
|
+
function n(value) {
|
|
13154
|
+
const prev = new Set(parent.selectedIds);
|
|
13155
|
+
parent.selectedIds.clear();
|
|
13156
|
+
parent.selectedIds.add(__props.locale);
|
|
13157
|
+
try {
|
|
13158
|
+
return rootN(value);
|
|
13159
|
+
} finally {
|
|
13160
|
+
parent.selectedIds.clear();
|
|
13161
|
+
for (const id of prev) parent.selectedIds.add(id);
|
|
13162
|
+
}
|
|
13163
|
+
}
|
|
13164
|
+
provideContext("v0:locale", {
|
|
13165
|
+
...parent,
|
|
13166
|
+
selectedId,
|
|
13167
|
+
selectedItem,
|
|
13168
|
+
t,
|
|
13169
|
+
n,
|
|
13170
|
+
_rootT: rootT,
|
|
13171
|
+
_rootN: rootN
|
|
13172
|
+
});
|
|
13173
|
+
const attrs = toRef(() => ({
|
|
13174
|
+
"data-locale": __props.locale,
|
|
13175
|
+
"lang": __props.locale
|
|
13176
|
+
}));
|
|
13177
|
+
return (_ctx, _cache) => {
|
|
13178
|
+
return __props.renderless ? renderSlot(_ctx.$slots, "default", {
|
|
13179
|
+
key: 0,
|
|
13180
|
+
attrs: attrs.value
|
|
13181
|
+
}) : (openBlock(), createBlock(resolveDynamicComponent(__props.as), normalizeProps(mergeProps({ key: 1 }, attrs.value)), {
|
|
13182
|
+
default: withCtx(() => [renderSlot(_ctx.$slots, "default", { attrs: attrs.value })]),
|
|
13183
|
+
_: 3
|
|
13184
|
+
}, 16));
|
|
13185
|
+
};
|
|
13186
|
+
}
|
|
13187
|
+
});
|
|
13188
|
+
//#endregion
|
|
12880
13189
|
//#region src/components/Pagination/PaginationRoot.vue
|
|
12881
13190
|
const [usePaginationRoot, providePaginationRoot] = createContext();
|
|
12882
13191
|
const [usePaginationControls, providePaginationControls] = createContext({ suffix: "controls" });
|
|
12883
13192
|
const [usePaginationItems, providePaginationItems] = createContext({ suffix: "items" });
|
|
12884
|
-
const _sfc_main$
|
|
13193
|
+
const _sfc_main$47 = /* @__PURE__ */ defineComponent({
|
|
12885
13194
|
name: "PaginationRoot",
|
|
12886
13195
|
__name: "PaginationRoot",
|
|
12887
13196
|
props: /* @__PURE__ */ mergeModels({
|
|
@@ -12983,7 +13292,7 @@ const _sfc_main$46 = /* @__PURE__ */ defineComponent({
|
|
|
12983
13292
|
});
|
|
12984
13293
|
//#endregion
|
|
12985
13294
|
//#region src/components/Pagination/PaginationEllipsis.vue
|
|
12986
|
-
const _sfc_main$
|
|
13295
|
+
const _sfc_main$41 = /* @__PURE__ */ defineComponent({
|
|
12987
13296
|
name: "PaginationEllipsis",
|
|
12988
13297
|
__name: "PaginationEllipsis",
|
|
12989
13298
|
props: {
|
|
@@ -13026,7 +13335,7 @@ const _sfc_main$40 = /* @__PURE__ */ defineComponent({
|
|
|
13026
13335
|
});
|
|
13027
13336
|
//#endregion
|
|
13028
13337
|
//#region src/components/Pagination/PaginationFirst.vue
|
|
13029
|
-
const _sfc_main$
|
|
13338
|
+
const _sfc_main$42 = /* @__PURE__ */ defineComponent({
|
|
13030
13339
|
name: "PaginationFirst",
|
|
13031
13340
|
__name: "PaginationFirst",
|
|
13032
13341
|
props: {
|
|
@@ -13083,7 +13392,7 @@ const _sfc_main$41 = /* @__PURE__ */ defineComponent({
|
|
|
13083
13392
|
});
|
|
13084
13393
|
//#endregion
|
|
13085
13394
|
//#region src/components/Pagination/PaginationItem.vue
|
|
13086
|
-
const _sfc_main$
|
|
13395
|
+
const _sfc_main$43 = /* @__PURE__ */ defineComponent({
|
|
13087
13396
|
name: "PaginationItem",
|
|
13088
13397
|
__name: "PaginationItem",
|
|
13089
13398
|
props: {
|
|
@@ -13151,7 +13460,7 @@ const _sfc_main$42 = /* @__PURE__ */ defineComponent({
|
|
|
13151
13460
|
});
|
|
13152
13461
|
//#endregion
|
|
13153
13462
|
//#region src/components/Pagination/PaginationLast.vue
|
|
13154
|
-
const _sfc_main$
|
|
13463
|
+
const _sfc_main$44 = /* @__PURE__ */ defineComponent({
|
|
13155
13464
|
name: "PaginationLast",
|
|
13156
13465
|
__name: "PaginationLast",
|
|
13157
13466
|
props: {
|
|
@@ -13208,7 +13517,7 @@ const _sfc_main$43 = /* @__PURE__ */ defineComponent({
|
|
|
13208
13517
|
});
|
|
13209
13518
|
//#endregion
|
|
13210
13519
|
//#region src/components/Pagination/PaginationNext.vue
|
|
13211
|
-
const _sfc_main$
|
|
13520
|
+
const _sfc_main$45 = /* @__PURE__ */ defineComponent({
|
|
13212
13521
|
name: "PaginationNext",
|
|
13213
13522
|
__name: "PaginationNext",
|
|
13214
13523
|
props: {
|
|
@@ -13265,7 +13574,7 @@ const _sfc_main$44 = /* @__PURE__ */ defineComponent({
|
|
|
13265
13574
|
});
|
|
13266
13575
|
//#endregion
|
|
13267
13576
|
//#region src/components/Pagination/PaginationPrev.vue
|
|
13268
|
-
const _sfc_main$
|
|
13577
|
+
const _sfc_main$46 = /* @__PURE__ */ defineComponent({
|
|
13269
13578
|
name: "PaginationPrev",
|
|
13270
13579
|
__name: "PaginationPrev",
|
|
13271
13580
|
props: {
|
|
@@ -13322,7 +13631,7 @@ const _sfc_main$45 = /* @__PURE__ */ defineComponent({
|
|
|
13322
13631
|
});
|
|
13323
13632
|
//#endregion
|
|
13324
13633
|
//#region src/components/Pagination/PaginationStatus.vue
|
|
13325
|
-
const _sfc_main$
|
|
13634
|
+
const _sfc_main$48 = /* @__PURE__ */ defineComponent({
|
|
13326
13635
|
name: "PaginationStatus",
|
|
13327
13636
|
__name: "PaginationStatus",
|
|
13328
13637
|
props: {
|
|
@@ -13374,19 +13683,19 @@ const _sfc_main$47 = /* @__PURE__ */ defineComponent({
|
|
|
13374
13683
|
* @see https://0.vuetifyjs.com/components/pagination
|
|
13375
13684
|
*/
|
|
13376
13685
|
const Pagination = {
|
|
13377
|
-
Root: _sfc_main$
|
|
13378
|
-
Item: _sfc_main$
|
|
13379
|
-
First: _sfc_main$
|
|
13380
|
-
Prev: _sfc_main$
|
|
13381
|
-
Ellipsis: _sfc_main$
|
|
13382
|
-
Next: _sfc_main$
|
|
13383
|
-
Last: _sfc_main$
|
|
13384
|
-
Status: _sfc_main$
|
|
13686
|
+
Root: _sfc_main$47,
|
|
13687
|
+
Item: _sfc_main$43,
|
|
13688
|
+
First: _sfc_main$42,
|
|
13689
|
+
Prev: _sfc_main$46,
|
|
13690
|
+
Ellipsis: _sfc_main$41,
|
|
13691
|
+
Next: _sfc_main$45,
|
|
13692
|
+
Last: _sfc_main$44,
|
|
13693
|
+
Status: _sfc_main$48
|
|
13385
13694
|
};
|
|
13386
13695
|
//#endregion
|
|
13387
13696
|
//#region src/components/Popover/PopoverRoot.vue
|
|
13388
13697
|
const [usePopoverContext, providePopoverContext] = createContext("Popover");
|
|
13389
|
-
const _sfc_main$
|
|
13698
|
+
const _sfc_main$51 = /* @__PURE__ */ defineComponent({
|
|
13390
13699
|
name: "PopoverRoot",
|
|
13391
13700
|
__name: "PopoverRoot",
|
|
13392
13701
|
props: /* @__PURE__ */ mergeModels({
|
|
@@ -13429,7 +13738,7 @@ const _sfc_main$50 = /* @__PURE__ */ defineComponent({
|
|
|
13429
13738
|
});
|
|
13430
13739
|
//#endregion
|
|
13431
13740
|
//#region src/components/Popover/PopoverActivator.vue
|
|
13432
|
-
const _sfc_main$
|
|
13741
|
+
const _sfc_main$49 = /* @__PURE__ */ defineComponent({
|
|
13433
13742
|
name: "PopoverActivator",
|
|
13434
13743
|
__name: "PopoverActivator",
|
|
13435
13744
|
props: {
|
|
@@ -13438,11 +13747,10 @@ const _sfc_main$48 = /* @__PURE__ */ defineComponent({
|
|
|
13438
13747
|
renderless: { type: Boolean }
|
|
13439
13748
|
},
|
|
13440
13749
|
setup(__props) {
|
|
13441
|
-
const props = createPropsRestProxy(__props, ["as"]);
|
|
13442
13750
|
const context = usePopoverContext();
|
|
13443
|
-
const popovertarget = toRef(() =>
|
|
13751
|
+
const popovertarget = toRef(() => __props.target ?? context.id);
|
|
13444
13752
|
const style = toRef(() => {
|
|
13445
|
-
if (
|
|
13753
|
+
if (__props.target) return { anchorName: `--${__props.target}` };
|
|
13446
13754
|
return context.anchorStyles.value;
|
|
13447
13755
|
});
|
|
13448
13756
|
const slotProps = toRef(() => ({
|
|
@@ -13466,7 +13774,7 @@ const _sfc_main$48 = /* @__PURE__ */ defineComponent({
|
|
|
13466
13774
|
});
|
|
13467
13775
|
//#endregion
|
|
13468
13776
|
//#region src/components/Popover/PopoverContent.vue
|
|
13469
|
-
const _sfc_main$
|
|
13777
|
+
const _sfc_main$50 = /* @__PURE__ */ defineComponent({
|
|
13470
13778
|
name: "PopoverContent",
|
|
13471
13779
|
__name: "PopoverContent",
|
|
13472
13780
|
props: {
|
|
@@ -13478,18 +13786,17 @@ const _sfc_main$49 = /* @__PURE__ */ defineComponent({
|
|
|
13478
13786
|
},
|
|
13479
13787
|
emits: ["beforetoggle"],
|
|
13480
13788
|
setup(__props, { emit: __emit }) {
|
|
13481
|
-
const props = createPropsRestProxy(__props, ["positionArea", "positionTry"]);
|
|
13482
13789
|
const emit = __emit;
|
|
13483
13790
|
const context = usePopoverContext();
|
|
13484
13791
|
const ref = useTemplateRef("ref");
|
|
13485
|
-
const id = toRef(() =>
|
|
13792
|
+
const id = toRef(() => __props.id ?? context.id);
|
|
13486
13793
|
const style = toRef(() => {
|
|
13487
|
-
if (
|
|
13794
|
+
if (__props.id) return {
|
|
13488
13795
|
"position": "fixed",
|
|
13489
13796
|
"margin": "unset",
|
|
13490
13797
|
"inset-area": __props.positionArea ?? "bottom",
|
|
13491
13798
|
"position-area": __props.positionArea ?? "bottom",
|
|
13492
|
-
"position-anchor": `--${
|
|
13799
|
+
"position-anchor": `--${__props.id}`,
|
|
13493
13800
|
"position-try-fallbacks": __props.positionTry ?? "most-width bottom"
|
|
13494
13801
|
};
|
|
13495
13802
|
return context.contentStyles.value;
|
|
@@ -13509,7 +13816,7 @@ const _sfc_main$49 = /* @__PURE__ */ defineComponent({
|
|
|
13509
13816
|
return openBlock(), createBlock(unref(_sfc_main), mergeProps({
|
|
13510
13817
|
ref_key: "ref",
|
|
13511
13818
|
ref,
|
|
13512
|
-
as:
|
|
13819
|
+
as: __props.as,
|
|
13513
13820
|
style: style.value
|
|
13514
13821
|
}, slotProps.value.attrs, { onBeforetoggle: onBeforeToggle }), {
|
|
13515
13822
|
default: withCtx(() => [renderSlot(_ctx.$slots, "default", normalizeProps(guardReactiveProps(slotProps.value)))]),
|
|
@@ -13526,14 +13833,14 @@ const _sfc_main$49 = /* @__PURE__ */ defineComponent({
|
|
|
13526
13833
|
* @see https://0.vuetifyjs.com/components/popover
|
|
13527
13834
|
*/
|
|
13528
13835
|
const Popover = {
|
|
13529
|
-
Root: _sfc_main$
|
|
13530
|
-
Activator: _sfc_main$
|
|
13531
|
-
Content: _sfc_main$
|
|
13836
|
+
Root: _sfc_main$51,
|
|
13837
|
+
Activator: _sfc_main$49,
|
|
13838
|
+
Content: _sfc_main$50
|
|
13532
13839
|
};
|
|
13533
13840
|
//#endregion
|
|
13534
13841
|
//#region src/components/Radio/RadioGroup.vue
|
|
13535
13842
|
const [useRadioGroup, provideRadioGroup] = createContext();
|
|
13536
|
-
const _sfc_main$
|
|
13843
|
+
const _sfc_main$52 = /* @__PURE__ */ defineComponent({
|
|
13537
13844
|
name: "RadioGroup",
|
|
13538
13845
|
__name: "RadioGroup",
|
|
13539
13846
|
props: /* @__PURE__ */ mergeModels({
|
|
@@ -13598,7 +13905,7 @@ const _sfc_main$51 = /* @__PURE__ */ defineComponent({
|
|
|
13598
13905
|
//#endregion
|
|
13599
13906
|
//#region src/components/Radio/RadioRoot.vue
|
|
13600
13907
|
const [useRadioRoot, provideRadioRoot] = createContext();
|
|
13601
|
-
const _sfc_main$
|
|
13908
|
+
const _sfc_main$55 = /* @__PURE__ */ defineComponent({
|
|
13602
13909
|
name: "RadioRoot",
|
|
13603
13910
|
inheritAttrs: false,
|
|
13604
13911
|
__name: "RadioRoot",
|
|
@@ -13719,7 +14026,7 @@ const _sfc_main$54 = /* @__PURE__ */ defineComponent({
|
|
|
13719
14026
|
}), {
|
|
13720
14027
|
default: withCtx(() => [renderSlot(_ctx.$slots, "default", normalizeProps(guardReactiveProps(slotProps.value)))]),
|
|
13721
14028
|
_: 3
|
|
13722
|
-
}, 16, ["as", "renderless"]), unref(name) ? (openBlock(), createBlock(_sfc_main$
|
|
14029
|
+
}, 16, ["as", "renderless"]), unref(name) ? (openBlock(), createBlock(_sfc_main$53, { key: 0 })) : createCommentVNode("v-if", true)], 64);
|
|
13723
14030
|
};
|
|
13724
14031
|
}
|
|
13725
14032
|
});
|
|
@@ -13743,7 +14050,7 @@ const visuallyHiddenStyle$2 = {
|
|
|
13743
14050
|
whiteSpace: "nowrap",
|
|
13744
14051
|
border: "0"
|
|
13745
14052
|
};
|
|
13746
|
-
const _sfc_main$
|
|
14053
|
+
const _sfc_main$53 = /* @__PURE__ */ defineComponent({
|
|
13747
14054
|
name: "RadioHiddenInput",
|
|
13748
14055
|
__name: "RadioHiddenInput",
|
|
13749
14056
|
props: {
|
|
@@ -13780,7 +14087,7 @@ const _sfc_main$52 = /* @__PURE__ */ defineComponent({
|
|
|
13780
14087
|
});
|
|
13781
14088
|
//#endregion
|
|
13782
14089
|
//#region src/components/Radio/RadioIndicator.vue
|
|
13783
|
-
const _sfc_main$
|
|
14090
|
+
const _sfc_main$54 = /* @__PURE__ */ defineComponent({
|
|
13784
14091
|
name: "RadioIndicator",
|
|
13785
14092
|
__name: "RadioIndicator",
|
|
13786
14093
|
props: {
|
|
@@ -13845,14 +14152,14 @@ const _sfc_main$53 = /* @__PURE__ */ defineComponent({
|
|
|
13845
14152
|
* ```
|
|
13846
14153
|
*/
|
|
13847
14154
|
const Radio = {
|
|
13848
|
-
Group: _sfc_main$
|
|
13849
|
-
HiddenInput: _sfc_main$
|
|
13850
|
-
Indicator: _sfc_main$
|
|
13851
|
-
Root: _sfc_main$
|
|
14155
|
+
Group: _sfc_main$52,
|
|
14156
|
+
HiddenInput: _sfc_main$53,
|
|
14157
|
+
Indicator: _sfc_main$54,
|
|
14158
|
+
Root: _sfc_main$55
|
|
13852
14159
|
};
|
|
13853
14160
|
//#endregion
|
|
13854
14161
|
//#region src/components/Scrim/Scrim.vue
|
|
13855
|
-
const _sfc_main$
|
|
14162
|
+
const _sfc_main$56 = /* @__PURE__ */ defineComponent({
|
|
13856
14163
|
name: "Scrim",
|
|
13857
14164
|
inheritAttrs: false,
|
|
13858
14165
|
__name: "Scrim",
|
|
@@ -13946,7 +14253,7 @@ const visuallyHiddenStyle$1 = {
|
|
|
13946
14253
|
whiteSpace: "nowrap",
|
|
13947
14254
|
border: "0"
|
|
13948
14255
|
};
|
|
13949
|
-
const _sfc_main$
|
|
14256
|
+
const _sfc_main$104 = /* @__PURE__ */ defineComponent({
|
|
13950
14257
|
name: "SelectHiddenInput",
|
|
13951
14258
|
__name: "SelectHiddenInput",
|
|
13952
14259
|
props: { namespace: { default: "v0:select" } },
|
|
@@ -13980,7 +14287,7 @@ const _sfc_main$92 = /* @__PURE__ */ defineComponent({
|
|
|
13980
14287
|
//#endregion
|
|
13981
14288
|
//#region src/components/Select/SelectRoot.vue
|
|
13982
14289
|
const [useSelectContext, provideSelectContext] = createContext();
|
|
13983
|
-
const _sfc_main$
|
|
14290
|
+
const _sfc_main$62 = /* @__PURE__ */ defineComponent({
|
|
13984
14291
|
name: "SelectRoot",
|
|
13985
14292
|
__name: "SelectRoot",
|
|
13986
14293
|
props: /* @__PURE__ */ mergeModels({
|
|
@@ -14092,13 +14399,13 @@ const _sfc_main$61 = /* @__PURE__ */ defineComponent({
|
|
|
14092
14399
|
}, {
|
|
14093
14400
|
default: withCtx(() => [renderSlot(_ctx.$slots, "default", normalizeProps(guardReactiveProps(slotProps.value)))]),
|
|
14094
14401
|
_: 3
|
|
14095
|
-
}, 8, ["as"]), __props.name ? (openBlock(), createBlock(_sfc_main$
|
|
14402
|
+
}, 8, ["as"]), __props.name ? (openBlock(), createBlock(_sfc_main$104, { key: 0 })) : createCommentVNode("v-if", true)], 64);
|
|
14096
14403
|
};
|
|
14097
14404
|
}
|
|
14098
14405
|
});
|
|
14099
14406
|
//#endregion
|
|
14100
14407
|
//#region src/components/Select/SelectActivator.vue
|
|
14101
|
-
const _sfc_main$
|
|
14408
|
+
const _sfc_main$57 = /* @__PURE__ */ defineComponent({
|
|
14102
14409
|
name: "SelectActivator",
|
|
14103
14410
|
__name: "SelectActivator",
|
|
14104
14411
|
props: {
|
|
@@ -14176,7 +14483,7 @@ const _sfc_main$56 = /* @__PURE__ */ defineComponent({
|
|
|
14176
14483
|
});
|
|
14177
14484
|
//#endregion
|
|
14178
14485
|
//#region src/components/Select/SelectContent.vue
|
|
14179
|
-
const _sfc_main$
|
|
14486
|
+
const _sfc_main$58 = /* @__PURE__ */ defineComponent({
|
|
14180
14487
|
name: "SelectContent",
|
|
14181
14488
|
__name: "SelectContent",
|
|
14182
14489
|
props: {
|
|
@@ -14213,7 +14520,7 @@ const _sfc_main$57 = /* @__PURE__ */ defineComponent({
|
|
|
14213
14520
|
});
|
|
14214
14521
|
//#endregion
|
|
14215
14522
|
//#region src/components/Select/SelectCue.vue
|
|
14216
|
-
const _sfc_main$
|
|
14523
|
+
const _sfc_main$59 = /* @__PURE__ */ defineComponent({
|
|
14217
14524
|
name: "SelectCue",
|
|
14218
14525
|
__name: "SelectCue",
|
|
14219
14526
|
props: {
|
|
@@ -14240,7 +14547,7 @@ const _sfc_main$58 = /* @__PURE__ */ defineComponent({
|
|
|
14240
14547
|
});
|
|
14241
14548
|
//#endregion
|
|
14242
14549
|
//#region src/components/Select/SelectItem.vue
|
|
14243
|
-
const _sfc_main$
|
|
14550
|
+
const _sfc_main$60 = /* @__PURE__ */ defineComponent({
|
|
14244
14551
|
name: "SelectItem",
|
|
14245
14552
|
__name: "SelectItem",
|
|
14246
14553
|
props: {
|
|
@@ -14295,7 +14602,7 @@ const _sfc_main$59 = /* @__PURE__ */ defineComponent({
|
|
|
14295
14602
|
});
|
|
14296
14603
|
//#endregion
|
|
14297
14604
|
//#region src/components/Select/SelectPlaceholder.vue
|
|
14298
|
-
const _sfc_main$
|
|
14605
|
+
const _sfc_main$61 = /* @__PURE__ */ defineComponent({
|
|
14299
14606
|
name: "SelectPlaceholder",
|
|
14300
14607
|
__name: "SelectPlaceholder",
|
|
14301
14608
|
props: {
|
|
@@ -14319,7 +14626,7 @@ const _sfc_main$60 = /* @__PURE__ */ defineComponent({
|
|
|
14319
14626
|
});
|
|
14320
14627
|
//#endregion
|
|
14321
14628
|
//#region src/components/Select/SelectValue.vue
|
|
14322
|
-
const _sfc_main$
|
|
14629
|
+
const _sfc_main$63 = /* @__PURE__ */ defineComponent({
|
|
14323
14630
|
name: "SelectValue",
|
|
14324
14631
|
__name: "SelectValue",
|
|
14325
14632
|
props: {
|
|
@@ -14397,18 +14704,18 @@ const _sfc_main$62 = /* @__PURE__ */ defineComponent({
|
|
|
14397
14704
|
* ```
|
|
14398
14705
|
*/
|
|
14399
14706
|
const Select = {
|
|
14400
|
-
Root: _sfc_main$
|
|
14401
|
-
Activator: _sfc_main$
|
|
14402
|
-
Value: _sfc_main$
|
|
14403
|
-
Content: _sfc_main$
|
|
14404
|
-
Cue: _sfc_main$
|
|
14405
|
-
Item: _sfc_main$
|
|
14406
|
-
Placeholder: _sfc_main$
|
|
14707
|
+
Root: _sfc_main$62,
|
|
14708
|
+
Activator: _sfc_main$57,
|
|
14709
|
+
Value: _sfc_main$63,
|
|
14710
|
+
Content: _sfc_main$58,
|
|
14711
|
+
Cue: _sfc_main$59,
|
|
14712
|
+
Item: _sfc_main$60,
|
|
14713
|
+
Placeholder: _sfc_main$61
|
|
14407
14714
|
};
|
|
14408
14715
|
//#endregion
|
|
14409
14716
|
//#region src/components/Selection/SelectionRoot.vue
|
|
14410
14717
|
const [useSelectionRoot, provideSelectionRoot] = createContext();
|
|
14411
|
-
const _sfc_main$
|
|
14718
|
+
const _sfc_main$65 = /* @__PURE__ */ defineComponent({
|
|
14412
14719
|
name: "SelectionRoot",
|
|
14413
14720
|
__name: "SelectionRoot",
|
|
14414
14721
|
props: /* @__PURE__ */ mergeModels({
|
|
@@ -14460,7 +14767,7 @@ const _sfc_main$64 = /* @__PURE__ */ defineComponent({
|
|
|
14460
14767
|
});
|
|
14461
14768
|
//#endregion
|
|
14462
14769
|
//#region src/components/Selection/SelectionItem.vue
|
|
14463
|
-
const _sfc_main$
|
|
14770
|
+
const _sfc_main$64 = /* @__PURE__ */ defineComponent({
|
|
14464
14771
|
name: "SelectionItem",
|
|
14465
14772
|
__name: "SelectionItem",
|
|
14466
14773
|
props: {
|
|
@@ -14510,12 +14817,12 @@ const _sfc_main$63 = /* @__PURE__ */ defineComponent({
|
|
|
14510
14817
|
* @see https://0.vuetifyjs.com/components/selection
|
|
14511
14818
|
*/
|
|
14512
14819
|
const Selection = {
|
|
14513
|
-
Root: _sfc_main$
|
|
14514
|
-
Item: _sfc_main$
|
|
14820
|
+
Root: _sfc_main$65,
|
|
14821
|
+
Item: _sfc_main$64
|
|
14515
14822
|
};
|
|
14516
14823
|
//#endregion
|
|
14517
14824
|
//#region src/components/Snackbar/SnackbarPortal.vue
|
|
14518
|
-
const _sfc_main$
|
|
14825
|
+
const _sfc_main$75 = /* @__PURE__ */ defineComponent({
|
|
14519
14826
|
name: "SnackbarPortal",
|
|
14520
14827
|
inheritAttrs: false,
|
|
14521
14828
|
__name: "SnackbarPortal",
|
|
@@ -14556,7 +14863,7 @@ const _sfc_main$74 = /* @__PURE__ */ defineComponent({
|
|
|
14556
14863
|
//#endregion
|
|
14557
14864
|
//#region src/components/Snackbar/SnackbarQueue.vue
|
|
14558
14865
|
const [useSnackbarQueueContext, provideSnackbarQueueContext] = createContext({ suffix: "queue" });
|
|
14559
|
-
const _sfc_main$
|
|
14866
|
+
const _sfc_main$76 = /* @__PURE__ */ defineComponent({
|
|
14560
14867
|
name: "SnackbarQueue",
|
|
14561
14868
|
__name: "SnackbarQueue",
|
|
14562
14869
|
props: {
|
|
@@ -14625,7 +14932,7 @@ const _sfc_main$75 = /* @__PURE__ */ defineComponent({
|
|
|
14625
14932
|
//#endregion
|
|
14626
14933
|
//#region src/components/Snackbar/SnackbarRoot.vue
|
|
14627
14934
|
const [useSnackbarRootContext, provideSnackbarRootContext] = createContext({ suffix: "root" });
|
|
14628
|
-
const _sfc_main$
|
|
14935
|
+
const _sfc_main$77 = /* @__PURE__ */ defineComponent({
|
|
14629
14936
|
name: "SnackbarRoot",
|
|
14630
14937
|
__name: "SnackbarRoot",
|
|
14631
14938
|
props: {
|
|
@@ -14660,7 +14967,7 @@ const _sfc_main$76 = /* @__PURE__ */ defineComponent({
|
|
|
14660
14967
|
});
|
|
14661
14968
|
//#endregion
|
|
14662
14969
|
//#region src/components/Snackbar/SnackbarContent.vue
|
|
14663
|
-
const _sfc_main$
|
|
14970
|
+
const _sfc_main$74 = /* @__PURE__ */ defineComponent({
|
|
14664
14971
|
name: "SnackbarContent",
|
|
14665
14972
|
__name: "SnackbarContent",
|
|
14666
14973
|
props: {
|
|
@@ -14678,7 +14985,7 @@ const _sfc_main$73 = /* @__PURE__ */ defineComponent({
|
|
|
14678
14985
|
});
|
|
14679
14986
|
//#endregion
|
|
14680
14987
|
//#region src/components/Snackbar/SnackbarClose.vue
|
|
14681
|
-
const _sfc_main$
|
|
14988
|
+
const _sfc_main$73 = /* @__PURE__ */ defineComponent({
|
|
14682
14989
|
name: "SnackbarClose",
|
|
14683
14990
|
__name: "SnackbarClose",
|
|
14684
14991
|
props: {
|
|
@@ -14732,16 +15039,16 @@ const _sfc_main$72 = /* @__PURE__ */ defineComponent({
|
|
|
14732
15039
|
* ```
|
|
14733
15040
|
*/
|
|
14734
15041
|
const Snackbar = {
|
|
14735
|
-
Portal: _sfc_main$
|
|
14736
|
-
Queue: _sfc_main$
|
|
14737
|
-
Root: _sfc_main$
|
|
14738
|
-
Content: _sfc_main$
|
|
14739
|
-
Close: _sfc_main$
|
|
15042
|
+
Portal: _sfc_main$75,
|
|
15043
|
+
Queue: _sfc_main$76,
|
|
15044
|
+
Root: _sfc_main$77,
|
|
15045
|
+
Content: _sfc_main$74,
|
|
15046
|
+
Close: _sfc_main$73
|
|
14740
15047
|
};
|
|
14741
15048
|
//#endregion
|
|
14742
15049
|
//#region src/components/Slider/SliderRoot.vue
|
|
14743
15050
|
const [useSliderRoot, provideSliderRoot] = createContext();
|
|
14744
|
-
const _sfc_main$
|
|
15051
|
+
const _sfc_main$70 = /* @__PURE__ */ defineComponent({
|
|
14745
15052
|
name: "SliderRoot",
|
|
14746
15053
|
inheritAttrs: false,
|
|
14747
15054
|
__name: "SliderRoot",
|
|
@@ -14873,7 +15180,7 @@ const _sfc_main$69 = /* @__PURE__ */ defineComponent({
|
|
|
14873
15180
|
default: withCtx(() => [renderSlot(_ctx.$slots, "default", normalizeProps(guardReactiveProps(slotProps.value)))]),
|
|
14874
15181
|
_: 3
|
|
14875
15182
|
}, 16, ["as", "renderless"]), __props.name ? (openBlock(true), createElementBlock(Fragment, { key: 0 }, renderList(unref(slider).values.value, (_, index) => {
|
|
14876
|
-
return openBlock(), createBlock(_sfc_main$
|
|
15183
|
+
return openBlock(), createBlock(_sfc_main$68, {
|
|
14877
15184
|
key: index,
|
|
14878
15185
|
index
|
|
14879
15186
|
}, null, 8, ["index"]);
|
|
@@ -14889,7 +15196,7 @@ const _hoisted_1$1 = [
|
|
|
14889
15196
|
"name",
|
|
14890
15197
|
"value"
|
|
14891
15198
|
];
|
|
14892
|
-
const _sfc_main$
|
|
15199
|
+
const _sfc_main$68 = /* @__PURE__ */ defineComponent({
|
|
14893
15200
|
name: "SliderHiddenInput",
|
|
14894
15201
|
__name: "SliderHiddenInput",
|
|
14895
15202
|
props: {
|
|
@@ -14914,7 +15221,7 @@ const _sfc_main$67 = /* @__PURE__ */ defineComponent({
|
|
|
14914
15221
|
});
|
|
14915
15222
|
//#endregion
|
|
14916
15223
|
//#region src/components/Slider/SliderRange.vue
|
|
14917
|
-
const _sfc_main$
|
|
15224
|
+
const _sfc_main$69 = /* @__PURE__ */ defineComponent({
|
|
14918
15225
|
name: "SliderRange",
|
|
14919
15226
|
inheritAttrs: false,
|
|
14920
15227
|
__name: "SliderRange",
|
|
@@ -14975,7 +15282,7 @@ const _sfc_main$68 = /* @__PURE__ */ defineComponent({
|
|
|
14975
15282
|
});
|
|
14976
15283
|
//#endregion
|
|
14977
15284
|
//#region src/components/Slider/SliderThumb.vue
|
|
14978
|
-
const _sfc_main$
|
|
15285
|
+
const _sfc_main$71 = /* @__PURE__ */ defineComponent({
|
|
14979
15286
|
name: "SliderThumb",
|
|
14980
15287
|
inheritAttrs: false,
|
|
14981
15288
|
__name: "SliderThumb",
|
|
@@ -15089,7 +15396,7 @@ const _sfc_main$70 = /* @__PURE__ */ defineComponent({
|
|
|
15089
15396
|
});
|
|
15090
15397
|
//#endregion
|
|
15091
15398
|
//#region src/components/Slider/SliderTrack.vue
|
|
15092
|
-
const _sfc_main$
|
|
15399
|
+
const _sfc_main$72 = /* @__PURE__ */ defineComponent({
|
|
15093
15400
|
name: "SliderTrack",
|
|
15094
15401
|
inheritAttrs: false,
|
|
15095
15402
|
__name: "SliderTrack",
|
|
@@ -15183,16 +15490,16 @@ const _sfc_main$71 = /* @__PURE__ */ defineComponent({
|
|
|
15183
15490
|
* ```
|
|
15184
15491
|
*/
|
|
15185
15492
|
const Slider = {
|
|
15186
|
-
Root: _sfc_main$
|
|
15187
|
-
Track: _sfc_main$
|
|
15188
|
-
Range: _sfc_main$
|
|
15189
|
-
Thumb: _sfc_main$
|
|
15190
|
-
HiddenInput: _sfc_main$
|
|
15493
|
+
Root: _sfc_main$70,
|
|
15494
|
+
Track: _sfc_main$72,
|
|
15495
|
+
Range: _sfc_main$69,
|
|
15496
|
+
Thumb: _sfc_main$71,
|
|
15497
|
+
HiddenInput: _sfc_main$68
|
|
15191
15498
|
};
|
|
15192
15499
|
//#endregion
|
|
15193
15500
|
//#region src/components/Splitter/SplitterRoot.vue
|
|
15194
15501
|
const [useSplitterRoot, provideSplitterRoot] = createContext("v0:splitter");
|
|
15195
|
-
const _sfc_main$
|
|
15502
|
+
const _sfc_main$80 = /* @__PURE__ */ defineComponent({
|
|
15196
15503
|
name: "SplitterRoot",
|
|
15197
15504
|
inheritAttrs: false,
|
|
15198
15505
|
__name: "SplitterRoot",
|
|
@@ -15213,6 +15520,8 @@ const _sfc_main$79 = /* @__PURE__ */ defineComponent({
|
|
|
15213
15520
|
const rootEl = toRef(() => rootAtom.value?.element ?? null);
|
|
15214
15521
|
const draggingHandle = shallowRef(null);
|
|
15215
15522
|
const dragging = toRef(() => !/* @__PURE__ */ isNull(draggingHandle.value));
|
|
15523
|
+
const expandAccum = /* @__PURE__ */ new Map();
|
|
15524
|
+
const EXPAND_THRESHOLD = 5;
|
|
15216
15525
|
const panels = createSelection({
|
|
15217
15526
|
multiple: true,
|
|
15218
15527
|
enroll: true,
|
|
@@ -15242,15 +15551,38 @@ const _sfc_main$79 = /* @__PURE__ */ defineComponent({
|
|
|
15242
15551
|
const min2 = effectiveMin(after);
|
|
15243
15552
|
const lower = Math.max(min1, total - after.maxSize);
|
|
15244
15553
|
const upper = Math.min(before.maxSize, total - min2);
|
|
15245
|
-
|
|
15554
|
+
let size = /* @__PURE__ */ clamp(before.size + delta, lower, upper);
|
|
15555
|
+
const beforeCollapsed = !toValue(before.isSelected);
|
|
15556
|
+
if (before.collapsible && !beforeCollapsed && size <= before.minSize && delta < 0) {
|
|
15557
|
+
size = before.collapsedSize;
|
|
15558
|
+
before.unselect();
|
|
15559
|
+
expandAccum.set(before.id, 0);
|
|
15560
|
+
} else if (before.collapsible && beforeCollapsed && delta > 0) {
|
|
15561
|
+
const accum = (expandAccum.get(before.id) ?? 0) + delta;
|
|
15562
|
+
expandAccum.set(before.id, accum);
|
|
15563
|
+
if (accum >= EXPAND_THRESHOLD) {
|
|
15564
|
+
size = /* @__PURE__ */ clamp(Math.max(accum, before.minSize), before.minSize, before.maxSize);
|
|
15565
|
+
before.select();
|
|
15566
|
+
expandAccum.delete(before.id);
|
|
15567
|
+
} else size = before.collapsedSize;
|
|
15568
|
+
}
|
|
15569
|
+
const afterSize = total - size;
|
|
15570
|
+
const afterCollapsed = !toValue(after.isSelected);
|
|
15571
|
+
if (after.collapsible && !afterCollapsed && afterSize <= after.minSize && delta > 0) {
|
|
15572
|
+
size = total - after.collapsedSize;
|
|
15573
|
+
after.unselect();
|
|
15574
|
+
expandAccum.set(after.id, 0);
|
|
15575
|
+
} else if (after.collapsible && afterCollapsed && delta < 0) {
|
|
15576
|
+
const accum = (expandAccum.get(after.id) ?? 0) + Math.abs(delta);
|
|
15577
|
+
expandAccum.set(after.id, accum);
|
|
15578
|
+
if (accum >= EXPAND_THRESHOLD) {
|
|
15579
|
+
size = total - /* @__PURE__ */ clamp(Math.max(accum, after.minSize), after.minSize, after.maxSize);
|
|
15580
|
+
after.select();
|
|
15581
|
+
expandAccum.delete(after.id);
|
|
15582
|
+
} else size = total - after.collapsedSize;
|
|
15583
|
+
}
|
|
15246
15584
|
before.size = size;
|
|
15247
15585
|
after.size = total - size;
|
|
15248
|
-
for (const p of [before, after]) {
|
|
15249
|
-
if (!p.collapsible) continue;
|
|
15250
|
-
const collapsed = !toValue(p.isSelected);
|
|
15251
|
-
if (!collapsed && p.size <= p.collapsedSize) p.unselect();
|
|
15252
|
-
else if (collapsed && p.size > p.collapsedSize) p.select();
|
|
15253
|
-
}
|
|
15254
15586
|
if (options?.emit) emitLayout();
|
|
15255
15587
|
}
|
|
15256
15588
|
function collapse(index, neighborIndex) {
|
|
@@ -15317,6 +15649,7 @@ const _sfc_main$79 = /* @__PURE__ */ defineComponent({
|
|
|
15317
15649
|
}
|
|
15318
15650
|
function onEndDrag() {
|
|
15319
15651
|
draggingHandle.value = null;
|
|
15652
|
+
expandAccum.clear();
|
|
15320
15653
|
emitLayout();
|
|
15321
15654
|
}
|
|
15322
15655
|
function emitLayout() {
|
|
@@ -15378,7 +15711,7 @@ const _sfc_main$79 = /* @__PURE__ */ defineComponent({
|
|
|
15378
15711
|
});
|
|
15379
15712
|
//#endregion
|
|
15380
15713
|
//#region src/components/Splitter/SplitterPanel.vue
|
|
15381
|
-
const _sfc_main$
|
|
15714
|
+
const _sfc_main$79 = /* @__PURE__ */ defineComponent({
|
|
15382
15715
|
name: "SplitterPanel",
|
|
15383
15716
|
inheritAttrs: false,
|
|
15384
15717
|
__name: "SplitterPanel",
|
|
@@ -15407,18 +15740,29 @@ const _sfc_main$78 = /* @__PURE__ */ defineComponent({
|
|
|
15407
15740
|
const emit = __emit;
|
|
15408
15741
|
const splitter = useSplitterRoot();
|
|
15409
15742
|
const panelId = /* @__PURE__ */ useId();
|
|
15743
|
+
const rootSize = shallowRef(0);
|
|
15744
|
+
if (/* @__PURE__ */ isString(__props.maxSize)) useResizeObserver(splitter.rootEl, (entries) => {
|
|
15745
|
+
const rect = entries[0]?.contentRect;
|
|
15746
|
+
rootSize.value = splitter.orientation.value === "horizontal" ? rect?.width ?? 0 : rect?.height ?? 0;
|
|
15747
|
+
});
|
|
15748
|
+
function resolveMaxSize() {
|
|
15749
|
+
if (!/* @__PURE__ */ isString(__props.maxSize)) return __props.maxSize;
|
|
15750
|
+
const px = Number.parseFloat(__props.maxSize);
|
|
15751
|
+
const dimension = rootSize.value || (splitter.orientation.value === "horizontal" ? splitter.rootEl.value?.offsetWidth : splitter.rootEl.value?.offsetHeight) || 0;
|
|
15752
|
+
return dimension > 0 ? px / dimension * 100 : 100;
|
|
15753
|
+
}
|
|
15410
15754
|
const ticket = splitter.panels.register({
|
|
15411
15755
|
id: panelId,
|
|
15412
15756
|
size: __props.defaultSize,
|
|
15413
15757
|
minSize: __props.minSize,
|
|
15414
|
-
maxSize:
|
|
15758
|
+
maxSize: resolveMaxSize(),
|
|
15415
15759
|
collapsible: __props.collapsible,
|
|
15416
15760
|
collapsedSize: __props.collapsedSize,
|
|
15417
15761
|
defaultSize: __props.defaultSize
|
|
15418
15762
|
});
|
|
15419
15763
|
watchEffect(() => {
|
|
15420
15764
|
ticket.minSize = __props.minSize;
|
|
15421
|
-
ticket.maxSize =
|
|
15765
|
+
ticket.maxSize = resolveMaxSize();
|
|
15422
15766
|
ticket.collapsible = __props.collapsible;
|
|
15423
15767
|
ticket.collapsedSize = __props.collapsedSize;
|
|
15424
15768
|
ticket.defaultSize = __props.defaultSize;
|
|
@@ -15495,7 +15839,7 @@ const _sfc_main$78 = /* @__PURE__ */ defineComponent({
|
|
|
15495
15839
|
});
|
|
15496
15840
|
//#endregion
|
|
15497
15841
|
//#region src/components/Splitter/SplitterHandle.vue
|
|
15498
|
-
const _sfc_main$
|
|
15842
|
+
const _sfc_main$78 = /* @__PURE__ */ defineComponent({
|
|
15499
15843
|
name: "SplitterHandle",
|
|
15500
15844
|
inheritAttrs: false,
|
|
15501
15845
|
__name: "SplitterHandle",
|
|
@@ -15718,14 +16062,14 @@ const _sfc_main$77 = /* @__PURE__ */ defineComponent({
|
|
|
15718
16062
|
* ```
|
|
15719
16063
|
*/
|
|
15720
16064
|
const Splitter = {
|
|
15721
|
-
Root: _sfc_main$
|
|
15722
|
-
Panel: _sfc_main$
|
|
15723
|
-
Handle: _sfc_main$
|
|
16065
|
+
Root: _sfc_main$80,
|
|
16066
|
+
Panel: _sfc_main$79,
|
|
16067
|
+
Handle: _sfc_main$78
|
|
15724
16068
|
};
|
|
15725
16069
|
//#endregion
|
|
15726
16070
|
//#region src/components/Switch/SwitchGroup.vue
|
|
15727
16071
|
const [useSwitchGroup, provideSwitchGroup] = createContext();
|
|
15728
|
-
const _sfc_main$
|
|
16072
|
+
const _sfc_main$83 = /* @__PURE__ */ defineComponent({
|
|
15729
16073
|
name: "SwitchGroup",
|
|
15730
16074
|
__name: "SwitchGroup",
|
|
15731
16075
|
props: /* @__PURE__ */ mergeModels({
|
|
@@ -15794,7 +16138,7 @@ const _sfc_main$82 = /* @__PURE__ */ defineComponent({
|
|
|
15794
16138
|
//#endregion
|
|
15795
16139
|
//#region src/components/Switch/SwitchRoot.vue
|
|
15796
16140
|
const [useSwitchRoot, provideSwitchRoot] = createContext();
|
|
15797
|
-
const _sfc_main$
|
|
16141
|
+
const _sfc_main$85 = /* @__PURE__ */ defineComponent({
|
|
15798
16142
|
name: "SwitchRoot",
|
|
15799
16143
|
inheritAttrs: false,
|
|
15800
16144
|
__name: "SwitchRoot",
|
|
@@ -15924,7 +16268,7 @@ const _sfc_main$84 = /* @__PURE__ */ defineComponent({
|
|
|
15924
16268
|
}), {
|
|
15925
16269
|
default: withCtx(() => [renderSlot(_ctx.$slots, "default", normalizeProps(guardReactiveProps(slotProps.value)))]),
|
|
15926
16270
|
_: 3
|
|
15927
|
-
}, 16, ["as", "renderless"]), __props.name ? (openBlock(), createBlock(_sfc_main$
|
|
16271
|
+
}, 16, ["as", "renderless"]), __props.name ? (openBlock(), createBlock(_sfc_main$84, { key: 0 })) : createCommentVNode("v-if", true)], 64);
|
|
15928
16272
|
};
|
|
15929
16273
|
}
|
|
15930
16274
|
});
|
|
@@ -15948,7 +16292,7 @@ const visuallyHiddenStyle = {
|
|
|
15948
16292
|
whiteSpace: "nowrap",
|
|
15949
16293
|
border: "0"
|
|
15950
16294
|
};
|
|
15951
|
-
const _sfc_main$
|
|
16295
|
+
const _sfc_main$84 = /* @__PURE__ */ defineComponent({
|
|
15952
16296
|
name: "SwitchHiddenInput",
|
|
15953
16297
|
__name: "SwitchHiddenInput",
|
|
15954
16298
|
props: {
|
|
@@ -15986,29 +16330,27 @@ const _sfc_main$83 = /* @__PURE__ */ defineComponent({
|
|
|
15986
16330
|
});
|
|
15987
16331
|
//#endregion
|
|
15988
16332
|
//#region src/components/Switch/SwitchSelectAll.vue
|
|
15989
|
-
const _sfc_main$
|
|
16333
|
+
const _sfc_main$86 = /* @__PURE__ */ defineComponent({
|
|
15990
16334
|
name: "SwitchSelectAll",
|
|
15991
16335
|
inheritAttrs: false,
|
|
15992
16336
|
__name: "SwitchSelectAll",
|
|
15993
16337
|
props: {
|
|
15994
16338
|
label: {},
|
|
15995
16339
|
disabled: { type: Boolean },
|
|
15996
|
-
namespace: {},
|
|
15997
|
-
groupNamespace: {},
|
|
16340
|
+
namespace: { default: "v0:switch:root" },
|
|
16341
|
+
groupNamespace: { default: "v0:switch:group" },
|
|
15998
16342
|
ariaLabelledby: {},
|
|
15999
16343
|
ariaDescribedby: {},
|
|
16000
|
-
as: {},
|
|
16344
|
+
as: { default: "button" },
|
|
16001
16345
|
renderless: { type: Boolean }
|
|
16002
16346
|
},
|
|
16003
16347
|
setup(__props) {
|
|
16004
16348
|
const attrs = useAttrs();
|
|
16005
|
-
const
|
|
16006
|
-
const { as = "button", renderless, label, namespace = "v0:switch:root", groupNamespace = "v0:switch:group" } = props;
|
|
16007
|
-
const group = useSwitchGroup(groupNamespace);
|
|
16349
|
+
const group = useSwitchGroup(__props.groupNamespace);
|
|
16008
16350
|
const id = useId$1();
|
|
16009
16351
|
const isAllSelected = toRef(() => group.isAllSelected.value);
|
|
16010
16352
|
const isMixed = toRef(() => group.isMixed.value);
|
|
16011
|
-
const isDisabled = toRef(() => toValue(
|
|
16353
|
+
const isDisabled = toRef(() => toValue(__props.disabled) || toValue(group.disabled));
|
|
16012
16354
|
const dataState = toRef(() => isMixed.value ? "indeterminate" : isAllSelected.value ? "checked" : "unchecked");
|
|
16013
16355
|
function onClick() {
|
|
16014
16356
|
if (isDisabled.value) return;
|
|
@@ -16020,9 +16362,9 @@ const _sfc_main$85 = /* @__PURE__ */ defineComponent({
|
|
|
16020
16362
|
if (isDisabled.value) return;
|
|
16021
16363
|
group.toggleAll();
|
|
16022
16364
|
}
|
|
16023
|
-
|
|
16365
|
+
const context = {
|
|
16024
16366
|
id,
|
|
16025
|
-
label,
|
|
16367
|
+
label: __props.label,
|
|
16026
16368
|
value: void 0,
|
|
16027
16369
|
name: void 0,
|
|
16028
16370
|
form: void 0,
|
|
@@ -16034,9 +16376,10 @@ const _sfc_main$85 = /* @__PURE__ */ defineComponent({
|
|
|
16034
16376
|
toggle: group.toggleAll,
|
|
16035
16377
|
mix: () => {},
|
|
16036
16378
|
unmix: () => {}
|
|
16037
|
-
}
|
|
16379
|
+
};
|
|
16380
|
+
provideSwitchRoot(__props.namespace, context);
|
|
16038
16381
|
const slotProps = toRef(() => ({
|
|
16039
|
-
label,
|
|
16382
|
+
label: __props.label,
|
|
16040
16383
|
isAllSelected: isAllSelected.value,
|
|
16041
16384
|
isMixed: isMixed.value,
|
|
16042
16385
|
isDisabled: isDisabled.value,
|
|
@@ -16044,13 +16387,13 @@ const _sfc_main$85 = /* @__PURE__ */ defineComponent({
|
|
|
16044
16387
|
unselectAll: group.unselectAll,
|
|
16045
16388
|
toggleAll: group.toggleAll,
|
|
16046
16389
|
attrs: {
|
|
16047
|
-
"type": as === "button" ? "button" : void 0,
|
|
16390
|
+
"type": __props.as === "button" ? "button" : void 0,
|
|
16048
16391
|
"role": "switch",
|
|
16049
16392
|
"aria-checked": isMixed.value ? "mixed" : isAllSelected.value,
|
|
16050
16393
|
"aria-disabled": isDisabled.value || void 0,
|
|
16051
|
-
"aria-label": label || void 0,
|
|
16052
|
-
"aria-labelledby":
|
|
16053
|
-
"aria-describedby":
|
|
16394
|
+
"aria-label": __props.label || void 0,
|
|
16395
|
+
"aria-labelledby": __props.ariaLabelledby || void 0,
|
|
16396
|
+
"aria-describedby": __props.ariaDescribedby || void 0,
|
|
16054
16397
|
"tabindex": isDisabled.value ? void 0 : 0,
|
|
16055
16398
|
"data-state": dataState.value,
|
|
16056
16399
|
"data-disabled": isDisabled.value ? true : void 0
|
|
@@ -16061,8 +16404,8 @@ const _sfc_main$85 = /* @__PURE__ */ defineComponent({
|
|
|
16061
16404
|
...unref(attrs),
|
|
16062
16405
|
...slotProps.value.attrs
|
|
16063
16406
|
}, {
|
|
16064
|
-
as:
|
|
16065
|
-
renderless:
|
|
16407
|
+
as: __props.as,
|
|
16408
|
+
renderless: __props.renderless,
|
|
16066
16409
|
onClick,
|
|
16067
16410
|
onKeydown
|
|
16068
16411
|
}), {
|
|
@@ -16074,7 +16417,7 @@ const _sfc_main$85 = /* @__PURE__ */ defineComponent({
|
|
|
16074
16417
|
});
|
|
16075
16418
|
//#endregion
|
|
16076
16419
|
//#region src/components/Switch/SwitchThumb.vue
|
|
16077
|
-
const _sfc_main$
|
|
16420
|
+
const _sfc_main$87 = /* @__PURE__ */ defineComponent({
|
|
16078
16421
|
name: "SwitchThumb",
|
|
16079
16422
|
__name: "SwitchThumb",
|
|
16080
16423
|
props: {
|
|
@@ -16109,7 +16452,7 @@ const _sfc_main$86 = /* @__PURE__ */ defineComponent({
|
|
|
16109
16452
|
});
|
|
16110
16453
|
//#endregion
|
|
16111
16454
|
//#region src/components/Switch/SwitchTrack.vue
|
|
16112
|
-
const _sfc_main$
|
|
16455
|
+
const _sfc_main$88 = /* @__PURE__ */ defineComponent({
|
|
16113
16456
|
name: "SwitchTrack",
|
|
16114
16457
|
__name: "SwitchTrack",
|
|
16115
16458
|
props: {
|
|
@@ -16168,17 +16511,17 @@ const _sfc_main$87 = /* @__PURE__ */ defineComponent({
|
|
|
16168
16511
|
* ```
|
|
16169
16512
|
*/
|
|
16170
16513
|
const Switch = {
|
|
16171
|
-
Group: _sfc_main$
|
|
16172
|
-
HiddenInput: _sfc_main$
|
|
16173
|
-
Root: _sfc_main$
|
|
16174
|
-
SelectAll: _sfc_main$
|
|
16175
|
-
Thumb: _sfc_main$
|
|
16176
|
-
Track: _sfc_main$
|
|
16514
|
+
Group: _sfc_main$83,
|
|
16515
|
+
HiddenInput: _sfc_main$84,
|
|
16516
|
+
Root: _sfc_main$85,
|
|
16517
|
+
SelectAll: _sfc_main$86,
|
|
16518
|
+
Thumb: _sfc_main$87,
|
|
16519
|
+
Track: _sfc_main$88
|
|
16177
16520
|
};
|
|
16178
16521
|
//#endregion
|
|
16179
16522
|
//#region src/components/Single/SingleRoot.vue
|
|
16180
16523
|
const [useSingleRoot, provideSingleRoot] = createContext();
|
|
16181
|
-
const _sfc_main$
|
|
16524
|
+
const _sfc_main$67 = /* @__PURE__ */ defineComponent({
|
|
16182
16525
|
name: "SingleRoot",
|
|
16183
16526
|
__name: "SingleRoot",
|
|
16184
16527
|
props: /* @__PURE__ */ mergeModels({
|
|
@@ -16224,7 +16567,7 @@ const _sfc_main$66 = /* @__PURE__ */ defineComponent({
|
|
|
16224
16567
|
});
|
|
16225
16568
|
//#endregion
|
|
16226
16569
|
//#region src/components/Single/SingleItem.vue
|
|
16227
|
-
const _sfc_main$
|
|
16570
|
+
const _sfc_main$66 = /* @__PURE__ */ defineComponent({
|
|
16228
16571
|
name: "SingleItem",
|
|
16229
16572
|
__name: "SingleItem",
|
|
16230
16573
|
props: {
|
|
@@ -16274,13 +16617,13 @@ const _sfc_main$65 = /* @__PURE__ */ defineComponent({
|
|
|
16274
16617
|
* @see https://0.vuetifyjs.com/components/single
|
|
16275
16618
|
*/
|
|
16276
16619
|
const Single = {
|
|
16277
|
-
Root: _sfc_main$
|
|
16278
|
-
Item: _sfc_main$
|
|
16620
|
+
Root: _sfc_main$67,
|
|
16621
|
+
Item: _sfc_main$66
|
|
16279
16622
|
};
|
|
16280
16623
|
//#endregion
|
|
16281
16624
|
//#region src/components/Step/StepRoot.vue
|
|
16282
16625
|
const [useStepRoot, provideStepRoot] = createContext();
|
|
16283
|
-
const _sfc_main$
|
|
16626
|
+
const _sfc_main$82 = /* @__PURE__ */ defineComponent({
|
|
16284
16627
|
name: "StepRoot",
|
|
16285
16628
|
__name: "StepRoot",
|
|
16286
16629
|
props: /* @__PURE__ */ mergeModels({
|
|
@@ -16331,7 +16674,7 @@ const _sfc_main$81 = /* @__PURE__ */ defineComponent({
|
|
|
16331
16674
|
});
|
|
16332
16675
|
//#endregion
|
|
16333
16676
|
//#region src/components/Step/StepItem.vue
|
|
16334
|
-
const _sfc_main$
|
|
16677
|
+
const _sfc_main$81 = /* @__PURE__ */ defineComponent({
|
|
16335
16678
|
name: "StepItem",
|
|
16336
16679
|
__name: "StepItem",
|
|
16337
16680
|
props: {
|
|
@@ -16381,13 +16724,13 @@ const _sfc_main$80 = /* @__PURE__ */ defineComponent({
|
|
|
16381
16724
|
* @see https://0.vuetifyjs.com/components/step
|
|
16382
16725
|
*/
|
|
16383
16726
|
const Step = {
|
|
16384
|
-
Root: _sfc_main$
|
|
16385
|
-
Item: _sfc_main$
|
|
16727
|
+
Root: _sfc_main$82,
|
|
16728
|
+
Item: _sfc_main$81
|
|
16386
16729
|
};
|
|
16387
16730
|
//#endregion
|
|
16388
16731
|
//#region src/components/Tabs/TabsRoot.vue
|
|
16389
16732
|
const [useTabsRoot, provideTabsRoot] = createContext();
|
|
16390
|
-
const _sfc_main$
|
|
16733
|
+
const _sfc_main$92 = /* @__PURE__ */ defineComponent({
|
|
16391
16734
|
name: "TabsRoot",
|
|
16392
16735
|
__name: "TabsRoot",
|
|
16393
16736
|
props: /* @__PURE__ */ mergeModels({
|
|
@@ -16455,7 +16798,7 @@ const _sfc_main$91 = /* @__PURE__ */ defineComponent({
|
|
|
16455
16798
|
});
|
|
16456
16799
|
//#endregion
|
|
16457
16800
|
//#region src/components/Tabs/TabsList.vue
|
|
16458
|
-
const _sfc_main$
|
|
16801
|
+
const _sfc_main$90 = /* @__PURE__ */ defineComponent({
|
|
16459
16802
|
name: "TabsList",
|
|
16460
16803
|
inheritAttrs: false,
|
|
16461
16804
|
__name: "TabsList",
|
|
@@ -16496,7 +16839,7 @@ const _sfc_main$89 = /* @__PURE__ */ defineComponent({
|
|
|
16496
16839
|
});
|
|
16497
16840
|
//#endregion
|
|
16498
16841
|
//#region src/components/Tabs/TabsItem.vue
|
|
16499
|
-
const _sfc_main$
|
|
16842
|
+
const _sfc_main$89 = /* @__PURE__ */ defineComponent({
|
|
16500
16843
|
name: "TabsItem",
|
|
16501
16844
|
inheritAttrs: false,
|
|
16502
16845
|
__name: "TabsItem",
|
|
@@ -16534,33 +16877,69 @@ const _sfc_main$88 = /* @__PURE__ */ defineComponent({
|
|
|
16534
16877
|
if (selected) toValue(selected.el)?.focus();
|
|
16535
16878
|
});
|
|
16536
16879
|
}
|
|
16880
|
+
function focusAdjacent(direction) {
|
|
16881
|
+
const all = tabs.values();
|
|
16882
|
+
const current = all.findIndex((t) => t.id === ticket.id);
|
|
16883
|
+
const length = all.length;
|
|
16884
|
+
const circular = tabs.circular.value;
|
|
16885
|
+
let index = current + direction;
|
|
16886
|
+
let hops = 0;
|
|
16887
|
+
while (hops < length) {
|
|
16888
|
+
if (circular) index = (index % length + length) % length;
|
|
16889
|
+
else if (index < 0 || index >= length) return;
|
|
16890
|
+
const item = all[index];
|
|
16891
|
+
if (item && !toValue(item.disabled)) {
|
|
16892
|
+
nextTick(() => toValue(item.el)?.focus());
|
|
16893
|
+
return;
|
|
16894
|
+
}
|
|
16895
|
+
index += direction;
|
|
16896
|
+
hops++;
|
|
16897
|
+
}
|
|
16898
|
+
}
|
|
16899
|
+
function focusEdge(edge) {
|
|
16900
|
+
const item = tabs.seek(edge);
|
|
16901
|
+
if (item) nextTick(() => toValue(item.el)?.focus());
|
|
16902
|
+
}
|
|
16537
16903
|
function onKeydown(e) {
|
|
16538
16904
|
const isHorizontal = tabs.orientation.value === "horizontal";
|
|
16905
|
+
const manual = tabs.activation.value === "manual";
|
|
16539
16906
|
if (isHorizontal && e.key === "ArrowRight" || !isHorizontal && e.key === "ArrowDown") {
|
|
16540
16907
|
e.preventDefault();
|
|
16541
|
-
|
|
16542
|
-
|
|
16908
|
+
if (manual) focusAdjacent(1);
|
|
16909
|
+
else {
|
|
16910
|
+
tabs.next();
|
|
16911
|
+
focusSelectedTab();
|
|
16912
|
+
}
|
|
16543
16913
|
return;
|
|
16544
16914
|
}
|
|
16545
16915
|
if (isHorizontal && e.key === "ArrowLeft" || !isHorizontal && e.key === "ArrowUp") {
|
|
16546
16916
|
e.preventDefault();
|
|
16547
|
-
|
|
16548
|
-
|
|
16917
|
+
if (manual) focusAdjacent(-1);
|
|
16918
|
+
else {
|
|
16919
|
+
tabs.prev();
|
|
16920
|
+
focusSelectedTab();
|
|
16921
|
+
}
|
|
16549
16922
|
return;
|
|
16550
16923
|
}
|
|
16551
16924
|
if (e.key === "Home") {
|
|
16552
16925
|
e.preventDefault();
|
|
16553
|
-
|
|
16554
|
-
|
|
16926
|
+
if (manual) focusEdge("first");
|
|
16927
|
+
else {
|
|
16928
|
+
tabs.first();
|
|
16929
|
+
focusSelectedTab();
|
|
16930
|
+
}
|
|
16555
16931
|
return;
|
|
16556
16932
|
}
|
|
16557
16933
|
if (e.key === "End") {
|
|
16558
16934
|
e.preventDefault();
|
|
16559
|
-
|
|
16560
|
-
|
|
16561
|
-
|
|
16935
|
+
if (manual) focusEdge("last");
|
|
16936
|
+
else {
|
|
16937
|
+
tabs.last();
|
|
16938
|
+
focusSelectedTab();
|
|
16939
|
+
}
|
|
16940
|
+
return;
|
|
16562
16941
|
}
|
|
16563
|
-
if (
|
|
16942
|
+
if (manual && (e.key === "Enter" || e.key === " ")) {
|
|
16564
16943
|
e.preventDefault();
|
|
16565
16944
|
ticket.select();
|
|
16566
16945
|
}
|
|
@@ -16611,7 +16990,7 @@ const _sfc_main$88 = /* @__PURE__ */ defineComponent({
|
|
|
16611
16990
|
});
|
|
16612
16991
|
//#endregion
|
|
16613
16992
|
//#region src/components/Tabs/TabsPanel.vue
|
|
16614
|
-
const _sfc_main$
|
|
16993
|
+
const _sfc_main$91 = /* @__PURE__ */ defineComponent({
|
|
16615
16994
|
name: "TabsPanel",
|
|
16616
16995
|
inheritAttrs: false,
|
|
16617
16996
|
__name: "TabsPanel",
|
|
@@ -16692,10 +17071,676 @@ const _sfc_main$90 = /* @__PURE__ */ defineComponent({
|
|
|
16692
17071
|
* ```
|
|
16693
17072
|
*/
|
|
16694
17073
|
const Tabs = {
|
|
16695
|
-
Root: _sfc_main$
|
|
16696
|
-
List: _sfc_main$
|
|
16697
|
-
Item: _sfc_main$
|
|
16698
|
-
Panel: _sfc_main$
|
|
17074
|
+
Root: _sfc_main$92,
|
|
17075
|
+
List: _sfc_main$90,
|
|
17076
|
+
Item: _sfc_main$89,
|
|
17077
|
+
Panel: _sfc_main$91
|
|
17078
|
+
};
|
|
17079
|
+
//#endregion
|
|
17080
|
+
//#region src/components/Theme/Theme.vue
|
|
17081
|
+
const _sfc_main$93 = /* @__PURE__ */ defineComponent({
|
|
17082
|
+
name: "Theme",
|
|
17083
|
+
inheritAttrs: false,
|
|
17084
|
+
__name: "Theme",
|
|
17085
|
+
props: {
|
|
17086
|
+
theme: {},
|
|
17087
|
+
renderless: {
|
|
17088
|
+
type: Boolean,
|
|
17089
|
+
default: false
|
|
17090
|
+
},
|
|
17091
|
+
as: { default: "div" }
|
|
17092
|
+
},
|
|
17093
|
+
setup(__props) {
|
|
17094
|
+
const parent = useTheme();
|
|
17095
|
+
const selectedId = toRef(() => __props.theme);
|
|
17096
|
+
const selectedItem = toRef(() => parent.get(__props.theme));
|
|
17097
|
+
const isDark = toRef(() => selectedItem.value?.dark ?? false);
|
|
17098
|
+
provideContext("v0:theme", {
|
|
17099
|
+
...parent,
|
|
17100
|
+
selectedId,
|
|
17101
|
+
selectedItem,
|
|
17102
|
+
isDark
|
|
17103
|
+
});
|
|
17104
|
+
const attrs = toRef(() => ({ "data-theme": __props.theme }));
|
|
17105
|
+
return (_ctx, _cache) => {
|
|
17106
|
+
return __props.renderless ? renderSlot(_ctx.$slots, "default", {
|
|
17107
|
+
key: 0,
|
|
17108
|
+
attrs: attrs.value
|
|
17109
|
+
}) : (openBlock(), createBlock(resolveDynamicComponent(__props.as), normalizeProps(mergeProps({ key: 1 }, attrs.value)), {
|
|
17110
|
+
default: withCtx(() => [renderSlot(_ctx.$slots, "default", { attrs: attrs.value })]),
|
|
17111
|
+
_: 3
|
|
17112
|
+
}, 16));
|
|
17113
|
+
};
|
|
17114
|
+
}
|
|
17115
|
+
});
|
|
17116
|
+
//#endregion
|
|
17117
|
+
//#region src/components/Treeview/TreeviewRoot.vue
|
|
17118
|
+
const [useTreeviewRoot, provideTreeviewRoot] = createContext();
|
|
17119
|
+
const _sfc_main$102 = /* @__PURE__ */ defineComponent({
|
|
17120
|
+
name: "TreeviewRoot",
|
|
17121
|
+
__name: "TreeviewRoot",
|
|
17122
|
+
props: /* @__PURE__ */ mergeModels({
|
|
17123
|
+
namespace: { default: "v0:treeview" },
|
|
17124
|
+
disabled: {
|
|
17125
|
+
type: Boolean,
|
|
17126
|
+
default: false
|
|
17127
|
+
},
|
|
17128
|
+
enroll: {
|
|
17129
|
+
type: Boolean,
|
|
17130
|
+
default: false
|
|
17131
|
+
},
|
|
17132
|
+
mandatory: {
|
|
17133
|
+
type: [Boolean, String],
|
|
17134
|
+
default: false
|
|
17135
|
+
},
|
|
17136
|
+
multiple: {
|
|
17137
|
+
type: Boolean,
|
|
17138
|
+
default: true
|
|
17139
|
+
},
|
|
17140
|
+
open: { default: "multiple" },
|
|
17141
|
+
openAll: {
|
|
17142
|
+
type: Boolean,
|
|
17143
|
+
default: false
|
|
17144
|
+
},
|
|
17145
|
+
reveal: {
|
|
17146
|
+
type: Boolean,
|
|
17147
|
+
default: false
|
|
17148
|
+
},
|
|
17149
|
+
selection: { default: "cascade" },
|
|
17150
|
+
active: { default: "single" }
|
|
17151
|
+
}, {
|
|
17152
|
+
"modelValue": {},
|
|
17153
|
+
"modelModifiers": {}
|
|
17154
|
+
}),
|
|
17155
|
+
emits: /* @__PURE__ */ mergeModels(["update:model-value"], ["update:modelValue"]),
|
|
17156
|
+
setup(__props) {
|
|
17157
|
+
const model = useModel(__props, "modelValue");
|
|
17158
|
+
const nested = createNested({
|
|
17159
|
+
disabled: toRef(() => __props.disabled),
|
|
17160
|
+
enroll: __props.enroll,
|
|
17161
|
+
mandatory: __props.mandatory,
|
|
17162
|
+
multiple: __props.multiple,
|
|
17163
|
+
open: __props.open,
|
|
17164
|
+
openAll: __props.openAll,
|
|
17165
|
+
reveal: __props.reveal,
|
|
17166
|
+
selection: __props.selection,
|
|
17167
|
+
active: __props.active,
|
|
17168
|
+
events: true
|
|
17169
|
+
});
|
|
17170
|
+
useProxyModel(nested, model, { multiple: __props.multiple });
|
|
17171
|
+
provideTreeviewRoot(__props.namespace, nested);
|
|
17172
|
+
const slotProps = toRef(() => ({
|
|
17173
|
+
isDisabled: toValue(nested.disabled),
|
|
17174
|
+
isNoneSelected: nested.isNoneSelected.value,
|
|
17175
|
+
isAllSelected: nested.isAllSelected.value,
|
|
17176
|
+
isMixed: nested.isMixed.value,
|
|
17177
|
+
select: nested.select,
|
|
17178
|
+
unselect: nested.unselect,
|
|
17179
|
+
toggle: nested.toggle,
|
|
17180
|
+
selectAll: nested.selectAll,
|
|
17181
|
+
unselectAll: nested.unselectAll,
|
|
17182
|
+
expandAll: nested.expandAll,
|
|
17183
|
+
collapseAll: nested.collapseAll
|
|
17184
|
+
}));
|
|
17185
|
+
return (_ctx, _cache) => {
|
|
17186
|
+
return renderSlot(_ctx.$slots, "default", normalizeProps(guardReactiveProps(slotProps.value)));
|
|
17187
|
+
};
|
|
17188
|
+
}
|
|
17189
|
+
});
|
|
17190
|
+
//#endregion
|
|
17191
|
+
//#region src/components/Treeview/TreeviewList.vue
|
|
17192
|
+
const [useTreeviewList, provideTreeviewList] = createContext({ suffix: "list" });
|
|
17193
|
+
const _sfc_main$101 = /* @__PURE__ */ defineComponent({
|
|
17194
|
+
name: "TreeviewList",
|
|
17195
|
+
__name: "TreeviewList",
|
|
17196
|
+
props: {
|
|
17197
|
+
namespace: { default: "v0:treeview" },
|
|
17198
|
+
multiselectable: { type: Boolean },
|
|
17199
|
+
label: {},
|
|
17200
|
+
as: { default: "ul" },
|
|
17201
|
+
renderless: { type: Boolean }
|
|
17202
|
+
},
|
|
17203
|
+
setup(__props) {
|
|
17204
|
+
const nested = useTreeviewRoot(__props.namespace);
|
|
17205
|
+
const roving = useRovingFocus(() => nested.visibleItems().map((item) => ({
|
|
17206
|
+
id: item.id,
|
|
17207
|
+
el: item.el,
|
|
17208
|
+
disabled: toRef(() => toValue(item.disabled))
|
|
17209
|
+
})), { orientation: "vertical" });
|
|
17210
|
+
provideTreeviewList(__props.namespace, roving);
|
|
17211
|
+
function onFocusin(e) {
|
|
17212
|
+
const target = e.target;
|
|
17213
|
+
if (target.getAttribute("role") !== "treeitem") return;
|
|
17214
|
+
const match = nested.visibleItems().find((item) => toValue(item.el) === target);
|
|
17215
|
+
if (match && roving.focusedId.value !== match.id) roving.focusedId.value = match.id;
|
|
17216
|
+
}
|
|
17217
|
+
function expandable(ticket) {
|
|
17218
|
+
if (!ticket) return false;
|
|
17219
|
+
return (toValue(ticket.el)?.hasAttribute("aria-expanded") ?? false) || !toValue(ticket.isLeaf);
|
|
17220
|
+
}
|
|
17221
|
+
function isRtl(e) {
|
|
17222
|
+
if (!IN_BROWSER) return false;
|
|
17223
|
+
const el = e.currentTarget;
|
|
17224
|
+
return el ? getComputedStyle(el).direction === "rtl" : false;
|
|
17225
|
+
}
|
|
17226
|
+
function openOrChild(ticket) {
|
|
17227
|
+
if (expandable(ticket) && !toValue(ticket.isOpen)) nested.open(ticket.id);
|
|
17228
|
+
else if (toValue(ticket.isOpen)) {
|
|
17229
|
+
const childIds = nested.children.get(ticket.id);
|
|
17230
|
+
if (childIds?.length) roving.focus(childIds[0]);
|
|
17231
|
+
}
|
|
17232
|
+
}
|
|
17233
|
+
function closeOrParent(ticket) {
|
|
17234
|
+
if (toValue(ticket.isOpen) && expandable(ticket)) nested.close(ticket.id);
|
|
17235
|
+
else if (!/* @__PURE__ */ isNullOrUndefined(ticket.parentId)) roving.focus(ticket.parentId);
|
|
17236
|
+
}
|
|
17237
|
+
function onKeydown(e) {
|
|
17238
|
+
const id = roving.focusedId.value;
|
|
17239
|
+
const ticket = /* @__PURE__ */ isNullOrUndefined(id) ? void 0 : nested.get(id);
|
|
17240
|
+
const rtl = isRtl(e);
|
|
17241
|
+
switch (e.key) {
|
|
17242
|
+
case "ArrowUp":
|
|
17243
|
+
e.preventDefault();
|
|
17244
|
+
roving.prev();
|
|
17245
|
+
break;
|
|
17246
|
+
case "ArrowDown":
|
|
17247
|
+
e.preventDefault();
|
|
17248
|
+
roving.next();
|
|
17249
|
+
break;
|
|
17250
|
+
case "ArrowRight":
|
|
17251
|
+
e.preventDefault();
|
|
17252
|
+
if (!ticket) break;
|
|
17253
|
+
if (rtl) closeOrParent(ticket);
|
|
17254
|
+
else openOrChild(ticket);
|
|
17255
|
+
break;
|
|
17256
|
+
case "ArrowLeft":
|
|
17257
|
+
e.preventDefault();
|
|
17258
|
+
if (!ticket) break;
|
|
17259
|
+
if (rtl) openOrChild(ticket);
|
|
17260
|
+
else closeOrParent(ticket);
|
|
17261
|
+
break;
|
|
17262
|
+
case "Home":
|
|
17263
|
+
e.preventDefault();
|
|
17264
|
+
roving.first();
|
|
17265
|
+
break;
|
|
17266
|
+
case "End":
|
|
17267
|
+
e.preventDefault();
|
|
17268
|
+
roving.last();
|
|
17269
|
+
break;
|
|
17270
|
+
case "Enter":
|
|
17271
|
+
e.preventDefault();
|
|
17272
|
+
if (ticket) {
|
|
17273
|
+
if (expandable(ticket)) nested.flip(ticket.id);
|
|
17274
|
+
nested.activate(ticket.id);
|
|
17275
|
+
}
|
|
17276
|
+
break;
|
|
17277
|
+
case " ":
|
|
17278
|
+
e.preventDefault();
|
|
17279
|
+
if (ticket) nested.toggle(ticket.id);
|
|
17280
|
+
break;
|
|
17281
|
+
case "*":
|
|
17282
|
+
e.preventDefault();
|
|
17283
|
+
if (ticket) {
|
|
17284
|
+
const sibs = nested.siblings(ticket.id);
|
|
17285
|
+
for (const sibId of sibs) if (expandable(nested.get(sibId))) nested.open(sibId);
|
|
17286
|
+
}
|
|
17287
|
+
break;
|
|
17288
|
+
}
|
|
17289
|
+
}
|
|
17290
|
+
const slotProps = toRef(() => ({ attrs: {
|
|
17291
|
+
"role": "tree",
|
|
17292
|
+
"aria-multiselectable": __props.multiselectable ?? nested.multiple,
|
|
17293
|
+
"aria-label": __props.label || void 0,
|
|
17294
|
+
onKeydown,
|
|
17295
|
+
onFocusin
|
|
17296
|
+
} }));
|
|
17297
|
+
return (_ctx, _cache) => {
|
|
17298
|
+
return openBlock(), createBlock(unref(_sfc_main), mergeProps(slotProps.value.attrs, {
|
|
17299
|
+
as: __props.as,
|
|
17300
|
+
renderless: __props.renderless
|
|
17301
|
+
}), {
|
|
17302
|
+
default: withCtx(() => [renderSlot(_ctx.$slots, "default", normalizeProps(guardReactiveProps(slotProps.value)))]),
|
|
17303
|
+
_: 3
|
|
17304
|
+
}, 16, ["as", "renderless"]);
|
|
17305
|
+
};
|
|
17306
|
+
}
|
|
17307
|
+
});
|
|
17308
|
+
//#endregion
|
|
17309
|
+
//#region src/components/Treeview/TreeviewItem.vue
|
|
17310
|
+
const [useTreeviewItem, provideTreeviewItem] = createContext({ suffix: "item" });
|
|
17311
|
+
const _sfc_main$100 = /* @__PURE__ */ defineComponent({
|
|
17312
|
+
name: "TreeviewItem",
|
|
17313
|
+
__name: "TreeviewItem",
|
|
17314
|
+
props: {
|
|
17315
|
+
id: {},
|
|
17316
|
+
value: {},
|
|
17317
|
+
disabled: {},
|
|
17318
|
+
namespace: { default: "v0:treeview" },
|
|
17319
|
+
as: { default: "li" },
|
|
17320
|
+
renderless: { type: Boolean }
|
|
17321
|
+
},
|
|
17322
|
+
setup(__props) {
|
|
17323
|
+
const nested = useTreeviewRoot(__props.namespace);
|
|
17324
|
+
const rootRef = useTemplateRef("root");
|
|
17325
|
+
const el = toRef(() => rootRef.value?.element ?? void 0);
|
|
17326
|
+
const parentId = useTreeviewItem(__props.namespace, null)?.ticket.id;
|
|
17327
|
+
const ticket = nested.register({
|
|
17328
|
+
id: __props.id,
|
|
17329
|
+
value: __props.value,
|
|
17330
|
+
disabled: __props.disabled,
|
|
17331
|
+
parentId,
|
|
17332
|
+
el
|
|
17333
|
+
});
|
|
17334
|
+
const isDisabled = toRef(() => toValue(ticket.disabled) || toValue(nested.disabled));
|
|
17335
|
+
const hasContent = shallowRef(false);
|
|
17336
|
+
const roving = useTreeviewList(__props.namespace, null);
|
|
17337
|
+
onBeforeUnmount(() => nested.unregister(ticket.id));
|
|
17338
|
+
provideTreeviewItem(__props.namespace, {
|
|
17339
|
+
ticket,
|
|
17340
|
+
isDisabled,
|
|
17341
|
+
hasContent
|
|
17342
|
+
});
|
|
17343
|
+
const slotProps = toRef(() => ({
|
|
17344
|
+
id: ticket.id,
|
|
17345
|
+
value: __props.value,
|
|
17346
|
+
isSelected: toValue(ticket.isSelected),
|
|
17347
|
+
isMixed: toValue(ticket.isMixed),
|
|
17348
|
+
isDisabled: toValue(isDisabled),
|
|
17349
|
+
isOpen: toValue(ticket.isOpen),
|
|
17350
|
+
isActive: toValue(ticket.isActive),
|
|
17351
|
+
isLeaf: toValue(ticket.isLeaf),
|
|
17352
|
+
depth: toValue(ticket.depth),
|
|
17353
|
+
select: ticket.select,
|
|
17354
|
+
unselect: ticket.unselect,
|
|
17355
|
+
toggle: ticket.toggle,
|
|
17356
|
+
flip: ticket.flip,
|
|
17357
|
+
open: ticket.open,
|
|
17358
|
+
close: ticket.close,
|
|
17359
|
+
activate: ticket.activate,
|
|
17360
|
+
deactivate: ticket.deactivate
|
|
17361
|
+
}));
|
|
17362
|
+
return (_ctx, _cache) => {
|
|
17363
|
+
return openBlock(), createBlock(unref(_sfc_main), {
|
|
17364
|
+
ref: "root",
|
|
17365
|
+
"aria-disabled": slotProps.value.isDisabled || void 0,
|
|
17366
|
+
"aria-expanded": hasContent.value ? slotProps.value.isOpen : void 0,
|
|
17367
|
+
"aria-level": slotProps.value.depth + 1,
|
|
17368
|
+
"aria-posinset": unref(ticket).position(),
|
|
17369
|
+
"aria-selected": slotProps.value.isSelected,
|
|
17370
|
+
"aria-setsize": unref(ticket).siblings().length,
|
|
17371
|
+
as: __props.as,
|
|
17372
|
+
"data-active": slotProps.value.isActive || void 0,
|
|
17373
|
+
"data-disabled": slotProps.value.isDisabled || void 0,
|
|
17374
|
+
"data-open": slotProps.value.isOpen || void 0,
|
|
17375
|
+
"data-selected": slotProps.value.isSelected || void 0,
|
|
17376
|
+
renderless: __props.renderless,
|
|
17377
|
+
role: "treeitem",
|
|
17378
|
+
style: normalizeStyle({ "--v0-treeview-depth": slotProps.value.depth }),
|
|
17379
|
+
tabindex: unref(roving) ? unref(roving).isTabbable(unref(ticket).id) ? 0 : -1 : void 0
|
|
17380
|
+
}, {
|
|
17381
|
+
default: withCtx(() => [renderSlot(_ctx.$slots, "default", normalizeProps(guardReactiveProps(slotProps.value)))]),
|
|
17382
|
+
_: 3
|
|
17383
|
+
}, 8, [
|
|
17384
|
+
"aria-disabled",
|
|
17385
|
+
"aria-expanded",
|
|
17386
|
+
"aria-level",
|
|
17387
|
+
"aria-posinset",
|
|
17388
|
+
"aria-selected",
|
|
17389
|
+
"aria-setsize",
|
|
17390
|
+
"as",
|
|
17391
|
+
"data-active",
|
|
17392
|
+
"data-disabled",
|
|
17393
|
+
"data-open",
|
|
17394
|
+
"data-selected",
|
|
17395
|
+
"renderless",
|
|
17396
|
+
"style",
|
|
17397
|
+
"tabindex"
|
|
17398
|
+
]);
|
|
17399
|
+
};
|
|
17400
|
+
}
|
|
17401
|
+
});
|
|
17402
|
+
//#endregion
|
|
17403
|
+
//#region src/components/Treeview/TreeviewActivator.vue
|
|
17404
|
+
const _sfc_main$94 = /* @__PURE__ */ defineComponent({
|
|
17405
|
+
name: "TreeviewActivator",
|
|
17406
|
+
__name: "TreeviewActivator",
|
|
17407
|
+
props: {
|
|
17408
|
+
namespace: { default: "v0:treeview" },
|
|
17409
|
+
as: { default: "button" },
|
|
17410
|
+
renderless: { type: Boolean }
|
|
17411
|
+
},
|
|
17412
|
+
setup(__props) {
|
|
17413
|
+
const item = useTreeviewItem(__props.namespace);
|
|
17414
|
+
const slotProps = toRef(() => ({
|
|
17415
|
+
isOpen: toValue(item.ticket.isOpen),
|
|
17416
|
+
isLeaf: toValue(item.ticket.isLeaf),
|
|
17417
|
+
isDisabled: item.isDisabled.value,
|
|
17418
|
+
flip: item.ticket.flip,
|
|
17419
|
+
attrs: {
|
|
17420
|
+
"role": __props.as === "button" ? void 0 : "button",
|
|
17421
|
+
"tabindex": -1,
|
|
17422
|
+
"aria-disabled": item.isDisabled.value || void 0,
|
|
17423
|
+
"data-disabled": item.isDisabled.value || void 0,
|
|
17424
|
+
"data-open": toValue(item.ticket.isOpen) || void 0,
|
|
17425
|
+
"disabled": __props.as === "button" ? item.isDisabled.value : void 0,
|
|
17426
|
+
"type": __props.as === "button" ? "button" : void 0,
|
|
17427
|
+
"onClick": item.ticket.flip
|
|
17428
|
+
}
|
|
17429
|
+
}));
|
|
17430
|
+
return (_ctx, _cache) => {
|
|
17431
|
+
return openBlock(), createBlock(unref(_sfc_main), mergeProps(slotProps.value.attrs, {
|
|
17432
|
+
as: __props.as,
|
|
17433
|
+
renderless: __props.renderless
|
|
17434
|
+
}), {
|
|
17435
|
+
default: withCtx(() => [renderSlot(_ctx.$slots, "default", normalizeProps(guardReactiveProps(slotProps.value)))]),
|
|
17436
|
+
_: 3
|
|
17437
|
+
}, 16, ["as", "renderless"]);
|
|
17438
|
+
};
|
|
17439
|
+
}
|
|
17440
|
+
});
|
|
17441
|
+
//#endregion
|
|
17442
|
+
//#region src/components/Treeview/TreeviewCheckbox.vue
|
|
17443
|
+
const _sfc_main$95 = /* @__PURE__ */ defineComponent({
|
|
17444
|
+
name: "TreeviewCheckbox",
|
|
17445
|
+
__name: "TreeviewCheckbox",
|
|
17446
|
+
props: {
|
|
17447
|
+
namespace: { default: "v0:treeview" },
|
|
17448
|
+
as: { default: "div" },
|
|
17449
|
+
renderless: { type: Boolean }
|
|
17450
|
+
},
|
|
17451
|
+
setup(__props) {
|
|
17452
|
+
const item = useTreeviewItem(__props.namespace);
|
|
17453
|
+
const slotProps = toRef(() => ({
|
|
17454
|
+
isSelected: toValue(item.ticket.isSelected),
|
|
17455
|
+
isMixed: toValue(item.ticket.isMixed),
|
|
17456
|
+
isDisabled: item.isDisabled.value,
|
|
17457
|
+
toggle: item.ticket.toggle,
|
|
17458
|
+
select: item.ticket.select,
|
|
17459
|
+
unselect: item.ticket.unselect,
|
|
17460
|
+
attrs: {
|
|
17461
|
+
"role": "checkbox",
|
|
17462
|
+
"aria-checked": toValue(item.ticket.isMixed) ? "mixed" : toValue(item.ticket.isSelected),
|
|
17463
|
+
"aria-disabled": item.isDisabled.value || void 0,
|
|
17464
|
+
"tabindex": -1,
|
|
17465
|
+
"data-selected": toValue(item.ticket.isSelected) || void 0,
|
|
17466
|
+
"data-disabled": item.isDisabled.value || void 0,
|
|
17467
|
+
"data-mixed": toValue(item.ticket.isMixed) || void 0,
|
|
17468
|
+
"onClick": item.ticket.toggle
|
|
17469
|
+
}
|
|
17470
|
+
}));
|
|
17471
|
+
return (_ctx, _cache) => {
|
|
17472
|
+
return openBlock(), createBlock(unref(_sfc_main), mergeProps(slotProps.value.attrs, {
|
|
17473
|
+
as: __props.as,
|
|
17474
|
+
renderless: __props.renderless
|
|
17475
|
+
}), {
|
|
17476
|
+
default: withCtx(() => [renderSlot(_ctx.$slots, "default", normalizeProps(guardReactiveProps(slotProps.value)))]),
|
|
17477
|
+
_: 3
|
|
17478
|
+
}, 16, ["as", "renderless"]);
|
|
17479
|
+
};
|
|
17480
|
+
}
|
|
17481
|
+
});
|
|
17482
|
+
//#endregion
|
|
17483
|
+
//#region src/components/Treeview/TreeviewContent.vue
|
|
17484
|
+
const _sfc_main$96 = /* @__PURE__ */ defineComponent({
|
|
17485
|
+
name: "TreeviewContent",
|
|
17486
|
+
__name: "TreeviewContent",
|
|
17487
|
+
props: { namespace: { default: "v0:treeview" } },
|
|
17488
|
+
setup(__props) {
|
|
17489
|
+
const item = useTreeviewItem(__props.namespace);
|
|
17490
|
+
item.hasContent.value = true;
|
|
17491
|
+
onDeactivated(() => {
|
|
17492
|
+
item.hasContent.value = false;
|
|
17493
|
+
});
|
|
17494
|
+
onActivated(() => {
|
|
17495
|
+
item.hasContent.value = true;
|
|
17496
|
+
});
|
|
17497
|
+
onBeforeUnmount(() => {
|
|
17498
|
+
item.hasContent.value = false;
|
|
17499
|
+
});
|
|
17500
|
+
return (_ctx, _cache) => {
|
|
17501
|
+
return toValue(unref(item).ticket.isOpen) ? renderSlot(_ctx.$slots, "default", {
|
|
17502
|
+
key: 0,
|
|
17503
|
+
isOpen: toValue(unref(item).ticket.isOpen)
|
|
17504
|
+
}) : createCommentVNode("v-if", true);
|
|
17505
|
+
};
|
|
17506
|
+
}
|
|
17507
|
+
});
|
|
17508
|
+
//#endregion
|
|
17509
|
+
//#region src/components/Treeview/TreeviewCue.vue
|
|
17510
|
+
const _sfc_main$97 = /* @__PURE__ */ defineComponent({
|
|
17511
|
+
name: "TreeviewCue",
|
|
17512
|
+
__name: "TreeviewCue",
|
|
17513
|
+
props: {
|
|
17514
|
+
namespace: { default: "v0:treeview" },
|
|
17515
|
+
as: { default: "span" },
|
|
17516
|
+
renderless: { type: Boolean }
|
|
17517
|
+
},
|
|
17518
|
+
setup(__props) {
|
|
17519
|
+
const item = useTreeviewItem(__props.namespace);
|
|
17520
|
+
const isOpen = toRef(() => toValue(item.ticket.isOpen));
|
|
17521
|
+
const state = toRef(() => isOpen.value ? "open" : "closed");
|
|
17522
|
+
const slotProps = toRef(() => ({
|
|
17523
|
+
isOpen: isOpen.value,
|
|
17524
|
+
isLeaf: !item.hasContent.value,
|
|
17525
|
+
attrs: {
|
|
17526
|
+
"aria-hidden": true,
|
|
17527
|
+
"data-state": state.value,
|
|
17528
|
+
"style": { visibility: item.hasContent.value ? "visible" : "hidden" }
|
|
17529
|
+
}
|
|
17530
|
+
}));
|
|
17531
|
+
return (_ctx, _cache) => {
|
|
17532
|
+
return openBlock(), createBlock(unref(_sfc_main), mergeProps(slotProps.value.attrs, {
|
|
17533
|
+
as: __props.as,
|
|
17534
|
+
renderless: __props.renderless
|
|
17535
|
+
}), {
|
|
17536
|
+
default: withCtx(() => [renderSlot(_ctx.$slots, "default", normalizeProps(guardReactiveProps(slotProps.value)))]),
|
|
17537
|
+
_: 3
|
|
17538
|
+
}, 16, ["as", "renderless"]);
|
|
17539
|
+
};
|
|
17540
|
+
}
|
|
17541
|
+
});
|
|
17542
|
+
//#endregion
|
|
17543
|
+
//#region src/components/Treeview/TreeviewGroup.vue
|
|
17544
|
+
const _sfc_main$98 = /* @__PURE__ */ defineComponent({
|
|
17545
|
+
name: "TreeviewGroup",
|
|
17546
|
+
__name: "TreeviewGroup",
|
|
17547
|
+
props: {
|
|
17548
|
+
as: { default: "ul" },
|
|
17549
|
+
renderless: { type: Boolean }
|
|
17550
|
+
},
|
|
17551
|
+
setup(__props) {
|
|
17552
|
+
const slotProps = toRef(() => ({ attrs: { role: "group" } }));
|
|
17553
|
+
return (_ctx, _cache) => {
|
|
17554
|
+
return openBlock(), createBlock(unref(_sfc_main), mergeProps(slotProps.value.attrs, {
|
|
17555
|
+
as: __props.as,
|
|
17556
|
+
renderless: __props.renderless
|
|
17557
|
+
}), {
|
|
17558
|
+
default: withCtx(() => [renderSlot(_ctx.$slots, "default", normalizeProps(guardReactiveProps(slotProps.value)))]),
|
|
17559
|
+
_: 3
|
|
17560
|
+
}, 16, ["as", "renderless"]);
|
|
17561
|
+
};
|
|
17562
|
+
}
|
|
17563
|
+
});
|
|
17564
|
+
//#endregion
|
|
17565
|
+
//#region src/components/Treeview/TreeviewIndicator.vue
|
|
17566
|
+
const _sfc_main$99 = /* @__PURE__ */ defineComponent({
|
|
17567
|
+
name: "TreeviewIndicator",
|
|
17568
|
+
__name: "TreeviewIndicator",
|
|
17569
|
+
props: {
|
|
17570
|
+
namespace: { default: "v0:treeview" },
|
|
17571
|
+
as: { default: "span" },
|
|
17572
|
+
renderless: { type: Boolean }
|
|
17573
|
+
},
|
|
17574
|
+
setup(__props) {
|
|
17575
|
+
const item = useTreeviewItem(__props.namespace);
|
|
17576
|
+
const isSelected = toRef(() => toValue(item.ticket.isSelected));
|
|
17577
|
+
const isMixed = toRef(() => toValue(item.ticket.isMixed));
|
|
17578
|
+
const isVisible = toRef(() => isSelected.value || isMixed.value);
|
|
17579
|
+
const state = toRef(() => isMixed.value ? "indeterminate" : isSelected.value ? "checked" : "unchecked");
|
|
17580
|
+
const slotProps = toRef(() => ({
|
|
17581
|
+
isSelected: isSelected.value,
|
|
17582
|
+
isMixed: isMixed.value,
|
|
17583
|
+
attrs: {
|
|
17584
|
+
"aria-hidden": true,
|
|
17585
|
+
"data-state": state.value,
|
|
17586
|
+
"style": { visibility: isVisible.value ? "visible" : "hidden" }
|
|
17587
|
+
}
|
|
17588
|
+
}));
|
|
17589
|
+
return (_ctx, _cache) => {
|
|
17590
|
+
return openBlock(), createBlock(unref(_sfc_main), mergeProps(slotProps.value.attrs, {
|
|
17591
|
+
as: __props.as,
|
|
17592
|
+
renderless: __props.renderless
|
|
17593
|
+
}), {
|
|
17594
|
+
default: withCtx(() => [renderSlot(_ctx.$slots, "default", normalizeProps(guardReactiveProps(slotProps.value)))]),
|
|
17595
|
+
_: 3
|
|
17596
|
+
}, 16, ["as", "renderless"]);
|
|
17597
|
+
};
|
|
17598
|
+
}
|
|
17599
|
+
});
|
|
17600
|
+
//#endregion
|
|
17601
|
+
//#region src/components/Treeview/TreeviewSelectAll.vue
|
|
17602
|
+
const _sfc_main$103 = /* @__PURE__ */ defineComponent({
|
|
17603
|
+
name: "TreeviewSelectAll",
|
|
17604
|
+
__name: "TreeviewSelectAll",
|
|
17605
|
+
props: {
|
|
17606
|
+
label: {},
|
|
17607
|
+
disabled: {
|
|
17608
|
+
type: Boolean,
|
|
17609
|
+
default: false
|
|
17610
|
+
},
|
|
17611
|
+
namespace: { default: "v0:treeview" },
|
|
17612
|
+
as: { default: "div" },
|
|
17613
|
+
renderless: { type: Boolean }
|
|
17614
|
+
},
|
|
17615
|
+
setup(__props) {
|
|
17616
|
+
const nested = useTreeviewRoot(__props.namespace);
|
|
17617
|
+
const isAllSelected = toRef(() => nested.isAllSelected.value);
|
|
17618
|
+
const isMixed = toRef(() => nested.isMixed.value);
|
|
17619
|
+
const isDisabled = toRef(() => __props.disabled || toValue(nested.disabled));
|
|
17620
|
+
const state = toRef(() => isMixed.value ? "indeterminate" : isAllSelected.value ? "checked" : "unchecked");
|
|
17621
|
+
function onClick() {
|
|
17622
|
+
if (isDisabled.value) return;
|
|
17623
|
+
nested.toggleAll();
|
|
17624
|
+
}
|
|
17625
|
+
function onKeydown(e) {
|
|
17626
|
+
if (e.key !== "Enter" && e.key !== " ") return;
|
|
17627
|
+
e.preventDefault();
|
|
17628
|
+
if (isDisabled.value) return;
|
|
17629
|
+
nested.toggleAll();
|
|
17630
|
+
}
|
|
17631
|
+
function noop() {}
|
|
17632
|
+
const empty = [];
|
|
17633
|
+
provideTreeviewItem(__props.namespace, {
|
|
17634
|
+
ticket: {
|
|
17635
|
+
id: "__select-all__",
|
|
17636
|
+
index: -1,
|
|
17637
|
+
value: void 0,
|
|
17638
|
+
valueIsIndex: false,
|
|
17639
|
+
unregister: noop,
|
|
17640
|
+
disabled: isDisabled,
|
|
17641
|
+
isSelected: isAllSelected,
|
|
17642
|
+
select: nested.selectAll,
|
|
17643
|
+
unselect: nested.unselectAll,
|
|
17644
|
+
toggle: nested.toggleAll,
|
|
17645
|
+
isMixed,
|
|
17646
|
+
mix: noop,
|
|
17647
|
+
unmix: noop,
|
|
17648
|
+
el: void 0,
|
|
17649
|
+
parentId: void 0,
|
|
17650
|
+
isOpen: shallowRef(false),
|
|
17651
|
+
isActive: shallowRef(false),
|
|
17652
|
+
isLeaf: shallowRef(true),
|
|
17653
|
+
depth: shallowRef(0),
|
|
17654
|
+
open: noop,
|
|
17655
|
+
close: noop,
|
|
17656
|
+
flip: noop,
|
|
17657
|
+
reveal: noop,
|
|
17658
|
+
activate: noop,
|
|
17659
|
+
deactivate: noop,
|
|
17660
|
+
getPath: () => [],
|
|
17661
|
+
getAncestors: () => [],
|
|
17662
|
+
getDescendants: () => [],
|
|
17663
|
+
isAncestorOf: () => false,
|
|
17664
|
+
hasAncestor: () => false,
|
|
17665
|
+
siblings: () => empty,
|
|
17666
|
+
position: () => 0
|
|
17667
|
+
},
|
|
17668
|
+
isDisabled,
|
|
17669
|
+
hasContent: shallowRef(false)
|
|
17670
|
+
});
|
|
17671
|
+
const slotProps = toRef(() => ({
|
|
17672
|
+
label: __props.label,
|
|
17673
|
+
isAllSelected: isAllSelected.value,
|
|
17674
|
+
isMixed: isMixed.value,
|
|
17675
|
+
isDisabled: isDisabled.value,
|
|
17676
|
+
selectAll: nested.selectAll,
|
|
17677
|
+
unselectAll: nested.unselectAll,
|
|
17678
|
+
toggleAll: nested.toggleAll,
|
|
17679
|
+
attrs: {
|
|
17680
|
+
"role": "checkbox",
|
|
17681
|
+
"aria-checked": isMixed.value ? "mixed" : isAllSelected.value,
|
|
17682
|
+
"aria-disabled": isDisabled.value || void 0,
|
|
17683
|
+
"aria-label": __props.label || void 0,
|
|
17684
|
+
"tabindex": isDisabled.value ? void 0 : 0,
|
|
17685
|
+
"data-state": state.value,
|
|
17686
|
+
"data-disabled": isDisabled.value ? true : void 0,
|
|
17687
|
+
"onClick": onClick,
|
|
17688
|
+
"onKeydown": onKeydown
|
|
17689
|
+
}
|
|
17690
|
+
}));
|
|
17691
|
+
return (_ctx, _cache) => {
|
|
17692
|
+
return openBlock(), createBlock(unref(_sfc_main), mergeProps(slotProps.value.attrs, {
|
|
17693
|
+
as: __props.as,
|
|
17694
|
+
renderless: __props.renderless
|
|
17695
|
+
}), {
|
|
17696
|
+
default: withCtx(() => [renderSlot(_ctx.$slots, "default", normalizeProps(guardReactiveProps(slotProps.value)))]),
|
|
17697
|
+
_: 3
|
|
17698
|
+
}, 16, ["as", "renderless"]);
|
|
17699
|
+
};
|
|
17700
|
+
}
|
|
17701
|
+
});
|
|
17702
|
+
//#endregion
|
|
17703
|
+
//#region src/components/Treeview/index.ts
|
|
17704
|
+
/**
|
|
17705
|
+
* Treeview component with sub-components for hierarchical data.
|
|
17706
|
+
*
|
|
17707
|
+
* @see https://0.vuetifyjs.com/components/treeview
|
|
17708
|
+
*
|
|
17709
|
+
* @example
|
|
17710
|
+
* ```vue
|
|
17711
|
+
* <script setup lang="ts">
|
|
17712
|
+
* import { Treeview } from '@vuetify/v0'
|
|
17713
|
+
* <\/script>
|
|
17714
|
+
*
|
|
17715
|
+
* <template>
|
|
17716
|
+
* <Treeview.Root>
|
|
17717
|
+
* <Treeview.List>
|
|
17718
|
+
* <Treeview.Item>
|
|
17719
|
+
* <Treeview.Activator>Documents</Treeview.Activator>
|
|
17720
|
+
* <Treeview.Content>
|
|
17721
|
+
* <Treeview.Group>
|
|
17722
|
+
* <Treeview.Item>
|
|
17723
|
+
* <Treeview.Activator>Resume.pdf</Treeview.Activator>
|
|
17724
|
+
* </Treeview.Item>
|
|
17725
|
+
* </Treeview.Group>
|
|
17726
|
+
* </Treeview.Content>
|
|
17727
|
+
* </Treeview.Item>
|
|
17728
|
+
* </Treeview.List>
|
|
17729
|
+
* </Treeview.Root>
|
|
17730
|
+
* </template>
|
|
17731
|
+
* ```
|
|
17732
|
+
*/
|
|
17733
|
+
const Treeview = {
|
|
17734
|
+
Root: _sfc_main$102,
|
|
17735
|
+
List: _sfc_main$101,
|
|
17736
|
+
Item: _sfc_main$100,
|
|
17737
|
+
Activator: _sfc_main$94,
|
|
17738
|
+
Content: _sfc_main$96,
|
|
17739
|
+
Cue: _sfc_main$97,
|
|
17740
|
+
Group: _sfc_main$98,
|
|
17741
|
+
Checkbox: _sfc_main$95,
|
|
17742
|
+
Indicator: _sfc_main$99,
|
|
17743
|
+
SelectAll: _sfc_main$103
|
|
16699
17744
|
};
|
|
16700
17745
|
//#endregion
|
|
16701
|
-
export { _sfc_main as Atom, Avatar, _sfc_main$1 as AvatarFallback, _sfc_main$2 as AvatarImage, _sfc_main$3 as AvatarRoot, Breadcrumbs, _sfc_main$4 as BreadcrumbsDivider, _sfc_main$5 as BreadcrumbsEllipsis, _sfc_main$6 as BreadcrumbsItem, _sfc_main$7 as BreadcrumbsLink, _sfc_main$8 as BreadcrumbsList, _sfc_main$9 as BreadcrumbsPage, _sfc_main$10 as BreadcrumbsRoot, Button, _sfc_main$11 as ButtonContent, _sfc_main$12 as ButtonGroup, _sfc_main$13 as ButtonHiddenInput, _sfc_main$14 as ButtonIcon, _sfc_main$15 as ButtonLoading, _sfc_main$16 as ButtonRoot, COMMON_ELEMENTS, Checkbox, _sfc_main$17 as CheckboxGroup, _sfc_main$18 as CheckboxHiddenInput, _sfc_main$19 as CheckboxIndicator, _sfc_main$20 as CheckboxRoot, _sfc_main$21 as CheckboxSelectAll, ClientAdapter, ConsolaLoggerAdapter, DataTableAdapter, Dialog, _sfc_main$22 as DialogActivator, _sfc_main$23 as DialogClose, _sfc_main$24 as DialogContent, _sfc_main$25 as DialogDescription, _sfc_main$26 as DialogRoot, _sfc_main$27 as DialogTitle, ExpansionPanel, _sfc_main$28 as ExpansionPanelActivator, _sfc_main$29 as ExpansionPanelContent, _sfc_main$30 as ExpansionPanelHeader, _sfc_main$31 as ExpansionPanelItem, _sfc_main$32 as ExpansionPanelRoot, FeaturesAdapter, _sfc_main$33 as Form, Group, _sfc_main$34 as GroupItem, _sfc_main$35 as GroupRoot, IN_BROWSER, Input, _sfc_main$36 as InputControl, _sfc_main$37 as InputDescription, _sfc_main$38 as InputError, _sfc_main$39 as InputRoot, MemoryAdapter, Pagination, _sfc_main$
|
|
17746
|
+
export { _sfc_main as Atom, Avatar, _sfc_main$1 as AvatarFallback, _sfc_main$2 as AvatarImage, _sfc_main$3 as AvatarRoot, Breadcrumbs, _sfc_main$4 as BreadcrumbsDivider, _sfc_main$5 as BreadcrumbsEllipsis, _sfc_main$6 as BreadcrumbsItem, _sfc_main$7 as BreadcrumbsLink, _sfc_main$8 as BreadcrumbsList, _sfc_main$9 as BreadcrumbsPage, _sfc_main$10 as BreadcrumbsRoot, Button, _sfc_main$11 as ButtonContent, _sfc_main$12 as ButtonGroup, _sfc_main$13 as ButtonHiddenInput, _sfc_main$14 as ButtonIcon, _sfc_main$15 as ButtonLoading, _sfc_main$16 as ButtonRoot, COMMON_ELEMENTS, Checkbox, _sfc_main$17 as CheckboxGroup, _sfc_main$18 as CheckboxHiddenInput, _sfc_main$19 as CheckboxIndicator, _sfc_main$20 as CheckboxRoot, _sfc_main$21 as CheckboxSelectAll, ClientAdapter, ConsolaLoggerAdapter, DataTableAdapter, Dialog, _sfc_main$22 as DialogActivator, _sfc_main$23 as DialogClose, _sfc_main$24 as DialogContent, _sfc_main$25 as DialogDescription, _sfc_main$26 as DialogRoot, _sfc_main$27 as DialogTitle, ExpansionPanel, _sfc_main$28 as ExpansionPanelActivator, _sfc_main$29 as ExpansionPanelContent, _sfc_main$30 as ExpansionPanelHeader, _sfc_main$31 as ExpansionPanelItem, _sfc_main$32 as ExpansionPanelRoot, FeaturesAdapter, _sfc_main$33 as Form, Group, _sfc_main$34 as GroupItem, _sfc_main$35 as GroupRoot, IN_BROWSER, Input, _sfc_main$36 as InputControl, _sfc_main$37 as InputDescription, _sfc_main$38 as InputError, _sfc_main$39 as InputRoot, _sfc_main$40 as Locale, MemoryAdapter, Pagination, _sfc_main$41 as PaginationEllipsis, _sfc_main$42 as PaginationFirst, _sfc_main$43 as PaginationItem, _sfc_main$44 as PaginationLast, _sfc_main$45 as PaginationNext, _sfc_main$46 as PaginationPrev, _sfc_main$47 as PaginationRoot, _sfc_main$48 as PaginationStatus, PermissionAdapter, PinoLoggerAdapter, Popover, _sfc_main$49 as PopoverActivator, _sfc_main$50 as PopoverContent, _sfc_main$51 as PopoverRoot, Radio, _sfc_main$52 as RadioGroup, _sfc_main$53 as RadioHiddenInput, _sfc_main$54 as RadioIndicator, _sfc_main$55 as RadioRoot, SELF_CLOSING_TAGS, SUPPORTS_INTERSECTION_OBSERVER, SUPPORTS_MATCH_MEDIA, SUPPORTS_MUTATION_OBSERVER, SUPPORTS_OBSERVER, SUPPORTS_TOUCH, _sfc_main$56 as Scrim, Select, _sfc_main$57 as SelectActivator, _sfc_main$58 as SelectContent, _sfc_main$59 as SelectCue, _sfc_main$60 as SelectItem, _sfc_main$61 as SelectPlaceholder, _sfc_main$62 as SelectRoot, _sfc_main$63 as SelectValue, Selection, _sfc_main$64 as SelectionItem, _sfc_main$65 as SelectionRoot, ServerAdapter, Single, _sfc_main$66 as SingleItem, _sfc_main$67 as SingleRoot, Slider, _sfc_main$68 as SliderHiddenInput, _sfc_main$69 as SliderRange, _sfc_main$70 as SliderRoot, _sfc_main$71 as SliderThumb, _sfc_main$72 as SliderTrack, Snackbar, _sfc_main$73 as SnackbarClose, _sfc_main$74 as SnackbarContent, _sfc_main$75 as SnackbarPortal, _sfc_main$76 as SnackbarQueue, _sfc_main$77 as SnackbarRoot, Splitter, _sfc_main$78 as SplitterHandle, _sfc_main$79 as SplitterPanel, _sfc_main$80 as SplitterRoot, Step, _sfc_main$81 as StepItem, _sfc_main$82 as StepRoot, Switch, _sfc_main$83 as SwitchGroup, _sfc_main$84 as SwitchHiddenInput, _sfc_main$85 as SwitchRoot, _sfc_main$86 as SwitchSelectAll, _sfc_main$87 as SwitchThumb, _sfc_main$88 as SwitchTrack, Tabs, _sfc_main$89 as TabsItem, _sfc_main$90 as TabsList, _sfc_main$91 as TabsPanel, _sfc_main$92 as TabsRoot, _sfc_main$93 as Theme, Treeview, _sfc_main$94 as TreeviewActivator, _sfc_main$95 as TreeviewCheckbox, _sfc_main$96 as TreeviewContent, _sfc_main$97 as TreeviewCue, _sfc_main$98 as TreeviewGroup, _sfc_main$99 as TreeviewIndicator, _sfc_main$100 as TreeviewItem, _sfc_main$101 as TreeviewList, _sfc_main$102 as TreeviewRoot, _sfc_main$103 as TreeviewSelectAll, VirtualAdapter, Vuetify0LocaleAdapter, Vuetify0LoggerAdapter, Vuetify0RtlAdapter, Vuetify0ThemeAdapter, __LOGGER_ENABLED__, apca, clamp, createBreadcrumbs, createBreadcrumbsContext, createBreakpoints, createBreakpointsContext, createBreakpointsPlugin, createContext, createDataTable, createDataTableContext, createDate, createDateContext, createDatePlugin, createFallbackHydration, createFeatures, createFeaturesContext, createFeaturesPlugin, createFilter, createFilterContext, createForm, createFormContext, createGroup, createGroupContext, createHydration, createHydrationContext, createHydrationPlugin, createLocale, createLocaleContext, createLocaleFallback, createLocalePlugin, createLogger, createLoggerContext, createLoggerPlugin, createModel, createNested, createNestedContext, createNotifications, createNotificationsContext, createNotificationsPlugin, createOverflow, createOverflowContext, createPagination, createPaginationContext, createPermissions, createPermissionsContext, createPermissionsPlugin, createPlugin, createPluginContext, createQueue, createQueueContext, createRegistry, createRegistryContext, createRtl, createRtlContext, createRtlFallback, createRtlPlugin, createRules, createRulesContext, createRulesFallback, createRulesPlugin, createSelection, createSelectionContext, createSingle, createSingleContext, createSlider, createStack, createStackContext, createStackPlugin, createStep, createStepContext, createStorage, createStorageContext, createStoragePlugin, createTheme, createThemeContext, createThemePlugin, createTimeline, createTimelineContext, createTokens, createTokensContext, createTrinity, createValidation, createVirtual, createVirtualContext, flatten, foreground, hexToRgb, instanceExists, instanceName, isArray, isBoolean, isElement, isFunction, isNaN, isNull, isNullOrUndefined, isNumber, isObject, isPrimitive, isSelfClosingTag, isStandardSchema, isString, isSymbol, isUndefined, mergeDeep, multipleOpenStrategy, provideAvatarRoot, provideBreadcrumbsRoot, provideButtonGroup, provideButtonRoot, provideCheckboxGroup, provideCheckboxRoot, provideContext, provideDialogContext, provideExpansionPanelItem, provideExpansionPanelRoot, provideGroupRoot, provideInputRoot, providePaginationControls, providePaginationItems, providePaginationRoot, providePopoverContext, provideRadioGroup, provideRadioRoot, provideSelectContext, provideSelectionRoot, provideSingleRoot, provideSliderRoot, provideSnackbarQueueContext, provideSnackbarRootContext, provideSplitterRoot, provideStepRoot, provideSwitchGroup, provideSwitchRoot, provideTabsRoot, provideTreeviewItem, provideTreeviewList, provideTreeviewRoot, range, rgbToHex, singleOpenStrategy, toArray, toElement, toReactive, useAvatarRoot, useBreadcrumbs, useBreadcrumbsRoot, useBreakpoints, useButtonGroup, useButtonRoot, useCheckboxGroup, useCheckboxRoot, useClickOutside, useContext, useDataTable, useDate, useDialogContext, useDocumentEventListener, useElementIntersection, useElementSize, useEventListener, useExpansionPanelItem, useExpansionPanelRoot, useFeatures, useFilter, useForm, useGroup, useGroupRoot, useHotkey, useHydration, useId, useInputRoot, useIntersectionObserver, useLazy, useLocale, useLogger, useMediaQuery, useMutationObserver, useNested, useNotifications, useOverflow, usePagination, usePaginationControls, usePaginationItems, usePaginationRoot, usePermissions, usePopover, usePopoverContext, usePrefersContrast, usePrefersDark, usePrefersReducedMotion, useProxyModel, useProxyRegistry, useQueue, useRadioGroup, useRadioRoot, useRaf, useRegistry, useResizeObserver, useRovingFocus, useRtl, useRules, useSelectContext, useSelection, useSelectionRoot, useSingle, useSingleRoot, useSliderRoot, useSnackbarQueueContext, useSnackbarRootContext, useSplitterRoot, useStack, useStep, useStepRoot, useStorage, useSwitchGroup, useSwitchRoot, useTabsRoot, useTheme, useTimeline, useTimer, useToggleScope, useTokens, useTreeviewItem, useTreeviewList, useTreeviewRoot, useVirtual, useVirtualFocus, useWindowEventListener, version };
|