@vuetify/v0 1.0.0-beta.3 → 1.0.0-beta.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +1 -1
- package/dist/{adapter-D2ABPTpo.d.mts → adapter-BI-oyZCe.d.mts} +3 -2
- package/dist/{adapter-CQoi3rdC.d.mts → adapter-Butx_2UU.d.mts} +1 -1
- package/dist/{adapter-Cj7vxEdB.mjs → adapter-CJY6aQIS.mjs} +5 -1
- package/dist/browser/index.d.ts +25318 -0
- package/dist/browser/index.js +266 -161
- package/dist/components/index.d.mts +1 -1
- package/dist/components/index.mjs +1 -1
- package/dist/{components-Df1uIUcB.mjs → components-CQ570531.mjs} +114 -73
- package/dist/composables/index.d.mts +7 -7
- package/dist/composables/index.mjs +22 -22
- package/dist/{composables-C7MhsS5q.mjs → composables-Dp_S74ft.mjs} +11 -11
- package/dist/constants/index.mjs +1 -1
- package/dist/{createDataTable-DfggVqO1.mjs → createDataTable-xLtNGdr7.mjs} +3 -3
- package/dist/{createGroup-vfCXVfYV.mjs → createGroup-CBsJPLpN.mjs} +1 -1
- package/dist/{createRegistry-Ve2QNpZv.mjs → createRegistry-CRsG7t_g.mjs} +2 -2
- package/dist/{createSelection-CT2UG109.mjs → createSelection-DuaoHPSc.mjs} +8 -3
- package/dist/{createSingle-DTI4qvUd.mjs → createSingle-CiKU87Hj.mjs} +1 -1
- package/dist/{createTokens-C5bl_n6G.mjs → createTokens-4BZfgv9F.mjs} +6 -6
- package/dist/data-table/index.d.mts +1 -1
- package/dist/data-table/index.mjs +1 -1
- package/dist/date/index.mjs +1 -1
- package/dist/features/adapters/flagsmith/index.d.mts +1 -1
- package/dist/features/adapters/launchdarkly/index.d.mts +1 -1
- package/dist/features/adapters/posthog/index.d.mts +1 -1
- package/dist/features/adapters/posthog/index.mjs +1 -1
- package/dist/features/index.d.mts +2 -2
- package/dist/features/index.mjs +1 -1
- package/dist/{flagsmith-CXzNBqm3.d.mts → flagsmith-DA2GCyGv.d.mts} +1 -1
- package/dist/{globals-D78-6Zqq.mjs → globals-B0pQgO4u.mjs} +1 -1
- package/dist/{index-LMiCHwZl.d.mts → index-BBJnOUyA.d.mts} +2 -1
- package/dist/{index-Caq7DXRO.d.mts → index-BkTaCktP.d.mts} +7 -7
- package/dist/{index-B5OhvOR2.d.mts → index-CV7bOS7B.d.mts} +71 -14
- package/dist/{index-Bmz8PZMY.d.mts → index-CfHm03dg.d.mts} +1 -1
- package/dist/{index-B9YmdGZ3.d.mts → index-CyNk9FpR.d.mts} +3 -0
- package/dist/{index-DRrHHgE7.d.mts → index-DgPFPx_7.d.mts} +2 -2
- package/dist/{index-rJ_lhMYJ.d.mts → index-pM8UX1XI.d.mts} +2 -2
- package/dist/index.d.mts +10 -10
- package/dist/index.mjs +24 -24
- package/dist/json/attributes.json +4 -4
- package/dist/json/web-types.json +6 -6
- package/dist/{launchdarkly-DvhloBts.d.mts → launchdarkly-Bp8p9PMD.d.mts} +1 -1
- package/dist/locale/adapters/index.d.mts +2 -2
- package/dist/locale/adapters/index.mjs +1 -1
- package/dist/locale/adapters/v0/index.d.mts +1 -1
- package/dist/locale/adapters/v0/index.mjs +1 -1
- package/dist/locale/adapters/vue-i18n/index.d.mts +2 -1
- package/dist/locale/adapters/vue-i18n/index.mjs +3 -0
- package/dist/locale/index.d.mts +3 -3
- package/dist/locale/index.mjs +2 -2
- package/dist/locale/messages/en/index.d.mts +70 -0
- package/dist/locale/messages/en/index.mjs +56 -0
- package/dist/logger/adapters/index.mjs +1 -1
- package/dist/logger/adapters/v0/index.mjs +1 -1
- package/dist/logger/index.d.mts +1 -1
- package/dist/logger/index.mjs +2 -2
- package/dist/notifications/index.d.mts +1 -1
- package/dist/notifications/index.mjs +2 -2
- package/dist/palettes/ant/index.d.mts +1 -1
- package/dist/palettes/index.d.mts +3 -3
- package/dist/palettes/material/index.d.mts +1 -1
- package/dist/palettes/md1/index.d.mts +1 -1
- package/dist/palettes/md2/index.d.mts +1 -1
- package/dist/palettes/radix/index.d.mts +1 -1
- package/dist/palettes/tailwind/index.d.mts +1 -1
- package/dist/permissions/adapters/index.d.mts +1 -1
- package/dist/permissions/adapters/v0/index.d.mts +1 -1
- package/dist/permissions/index.d.mts +1 -1
- package/dist/permissions/index.mjs +1 -1
- package/dist/{posthog-BOT5W7Ds.d.mts → posthog-sFqk0bGy.d.mts} +1 -1
- package/dist/rules/index.d.mts +1 -1
- package/dist/rules/index.mjs +1 -1
- package/dist/storage/index.d.mts +1 -1
- package/dist/storage/index.mjs +1 -1
- package/dist/theme/adapters/index.d.mts +1 -1
- package/dist/theme/adapters/index.mjs +3 -3
- package/dist/theme/adapters/unhead/index.d.mts +1 -1
- package/dist/theme/adapters/unhead/index.mjs +1 -1
- package/dist/theme/adapters/v0/index.d.mts +1 -1
- package/dist/theme/adapters/v0/index.mjs +1 -1
- package/dist/theme/index.d.mts +1 -1
- package/dist/theme/index.mjs +4 -4
- package/dist/types/index.d.mts +1 -1
- package/dist/{unhead-t2_gsao2.mjs → unhead-Bn7eatWe.mjs} +10 -5
- package/dist/{useEventListener-BuETafFi.mjs → useEventListener-D1ETqQMm.mjs} +1 -1
- package/dist/{useFeatures-DyNG1_ge.mjs → useFeatures-D3DFBsYY.mjs} +3 -3
- package/dist/{useLocale-CYq4yT7b.mjs → useLocale-B44zLhFE.mjs} +9 -4
- package/dist/{useLogger-BEG9pAe8.mjs → useLogger-D7Fqcp_l.mjs} +2 -2
- package/dist/{useNotifications-BrZooK2S.mjs → useNotifications-DMHmr9C1.mjs} +4 -4
- package/dist/{usePermissions-BvaZwUe8.mjs → usePermissions-S0As54sf.mjs} +2 -2
- package/dist/{useRovingFocus-4F5-mWO7.mjs → useRovingFocus-u7uhPx2H.mjs} +106 -81
- package/dist/{useRules-B3vAa7tc.mjs → useRules-ByuxbMsA.mjs} +2 -2
- package/dist/{useStorage-lqTLed0e.mjs → useStorage-Fy5tWYkG.mjs} +3 -3
- package/dist/{useTheme-BGmROwu-.mjs → useTheme-DrR7HoLL.mjs} +4 -4
- package/dist/utilities/index.d.mts +1 -1
- package/dist/utilities/index.mjs +4 -3
- package/dist/{v0-4a_MJXIm.mjs → v0-BDdBMbzN.mjs} +1 -1
- package/dist/{v0-UJs1EiJ7.mjs → v0-BXjZknUK.mjs} +18 -5
- package/dist/{v0-D7NA38Vu.d.mts → v0-Cf5DZ4lw.d.mts} +3 -1
- package/dist/{v0-B08xQqj6.mjs → v0-DwKPTLJv.mjs} +16 -10
- package/package.json +4 -4
package/dist/browser/index.js
CHANGED
|
@@ -135,7 +135,7 @@ const SUPPORTS_MATCH_MEDIA = IN_BROWSER && "matchMedia" in window && typeof wind
|
|
|
135
135
|
const SUPPORTS_OBSERVER = IN_BROWSER && "ResizeObserver" in window;
|
|
136
136
|
const SUPPORTS_INTERSECTION_OBSERVER = IN_BROWSER && "IntersectionObserver" in window;
|
|
137
137
|
const SUPPORTS_MUTATION_OBSERVER = IN_BROWSER && "MutationObserver" in window;
|
|
138
|
-
const version = "1.0.0-beta.
|
|
138
|
+
const version = "1.0.0-beta.4";
|
|
139
139
|
/* v8 ignore next -- build-time constant, __DEV__ short-circuits in tests */
|
|
140
140
|
const __LOGGER_ENABLED__ = false;
|
|
141
141
|
//#endregion
|
|
@@ -478,12 +478,12 @@ function isPlainObject(value) {
|
|
|
478
478
|
/* @__NO_SIDE_EFFECTS__ */
|
|
479
479
|
function mergeDeep(target, ...sources) {
|
|
480
480
|
const out = {};
|
|
481
|
-
for (const key in target) if (Object.
|
|
481
|
+
for (const key in target) if (Object.hasOwn(target, key)) out[key] = target[key];
|
|
482
482
|
for (const source of sources) {
|
|
483
483
|
if (!/* @__PURE__ */ isObject(source)) continue;
|
|
484
484
|
for (const key in source) {
|
|
485
485
|
if (UNSAFE_KEYS.has(key)) continue;
|
|
486
|
-
if (!Object.
|
|
486
|
+
if (!Object.hasOwn(source, key)) continue;
|
|
487
487
|
const sourceValue = source[key];
|
|
488
488
|
if (/* @__PURE__ */ isUndefined(sourceValue)) continue;
|
|
489
489
|
const targetValue = out[key];
|
|
@@ -649,6 +649,7 @@ var V0Error = class extends Error {
|
|
|
649
649
|
seed;
|
|
650
650
|
variant;
|
|
651
651
|
adapter;
|
|
652
|
+
prefix;
|
|
652
653
|
constructor(message, details) {
|
|
653
654
|
const { cause, ...rest } = details;
|
|
654
655
|
super(message, /* @__PURE__ */ isUndefined(cause) ? void 0 : { cause });
|
|
@@ -1702,7 +1703,7 @@ function createRegistry(options) {
|
|
|
1702
1703
|
...patch,
|
|
1703
1704
|
id
|
|
1704
1705
|
});
|
|
1705
|
-
const hasValue = Object.
|
|
1706
|
+
const hasValue = Object.hasOwn(patch, "value");
|
|
1706
1707
|
let value = existing.value;
|
|
1707
1708
|
let valueIsIndex = existing.valueIsIndex;
|
|
1708
1709
|
if (hasValue) {
|
|
@@ -2187,7 +2188,7 @@ function createModel(_options = {}) {
|
|
|
2187
2188
|
if (!toValue(multiple)) selectedIds.clear();
|
|
2188
2189
|
if (/* @__PURE__ */ isUndefined(value)) return;
|
|
2189
2190
|
const id = registry.browse(toRaw(value))?.values().next().value;
|
|
2190
|
-
if (!/* @__PURE__ */ isUndefined(id))
|
|
2191
|
+
if (!/* @__PURE__ */ isUndefined(id)) select(id);
|
|
2191
2192
|
}
|
|
2192
2193
|
function register(registration = {}) {
|
|
2193
2194
|
const id = registration.id ?? /* @__PURE__ */ useId();
|
|
@@ -2380,7 +2381,12 @@ function createSelection(_options = {}) {
|
|
|
2380
2381
|
}
|
|
2381
2382
|
if (isMultiple) {
|
|
2382
2383
|
for (const id of currentIds) if (!targetIds.has(id)) unselect(id);
|
|
2383
|
-
for (const id of targetIds)
|
|
2384
|
+
for (const id of targetIds) {
|
|
2385
|
+
if (currentIds.has(id)) continue;
|
|
2386
|
+
const ticket = model.get(id);
|
|
2387
|
+
if (ticket && toValue(ticket.disabled)) continue;
|
|
2388
|
+
model.selectedIds.add(id);
|
|
2389
|
+
}
|
|
2384
2390
|
} else {
|
|
2385
2391
|
const next = targetIds.values().next().value;
|
|
2386
2392
|
const last = currentIds.values().next().value;
|
|
@@ -2770,7 +2776,7 @@ function createTokens(tokens = {}, options = {}) {
|
|
|
2770
2776
|
if (segments.length > 0) {
|
|
2771
2777
|
if (isTokenAlias(current)) current = current.$value;
|
|
2772
2778
|
for (const segment of segments) {
|
|
2773
|
-
if (!/* @__PURE__ */ isObject(current) ||
|
|
2779
|
+
if (!/* @__PURE__ */ isObject(current) || UNSAFE_KEYS.has(segment) || !Object.prototype.hasOwnProperty.call(current, segment)) {
|
|
2774
2780
|
current = void 0;
|
|
2775
2781
|
break;
|
|
2776
2782
|
}
|
|
@@ -2905,7 +2911,7 @@ function flatten(tokens, prefix = "", flat = false) {
|
|
|
2905
2911
|
const { tokens: currentTokens, prefix: currentPrefix, flat } = stack.pop();
|
|
2906
2912
|
const meta = {};
|
|
2907
2913
|
for (const k in currentTokens) {
|
|
2908
|
-
if (!Object.
|
|
2914
|
+
if (!Object.hasOwn(currentTokens, k)) continue;
|
|
2909
2915
|
if (k.startsWith("$")) meta[k] = currentTokens[k];
|
|
2910
2916
|
}
|
|
2911
2917
|
if (Object.keys(meta).length > 0 && currentPrefix) flattened.push({
|
|
@@ -2913,7 +2919,7 @@ function flatten(tokens, prefix = "", flat = false) {
|
|
|
2913
2919
|
value: meta
|
|
2914
2920
|
});
|
|
2915
2921
|
for (const key in currentTokens) {
|
|
2916
|
-
if (!Object.
|
|
2922
|
+
if (!Object.hasOwn(currentTokens, key)) continue;
|
|
2917
2923
|
if (UNSAFE_KEYS.has(key)) continue;
|
|
2918
2924
|
if (key.startsWith("$")) continue;
|
|
2919
2925
|
const value = currentTokens[key];
|
|
@@ -2932,7 +2938,7 @@ function flatten(tokens, prefix = "", flat = false) {
|
|
|
2932
2938
|
});
|
|
2933
2939
|
const inner = value.$value;
|
|
2934
2940
|
if (/* @__PURE__ */ isObject(inner) && !flat) for (const innerKey in inner) {
|
|
2935
|
-
if (!Object.
|
|
2941
|
+
if (!Object.hasOwn(inner, innerKey)) continue;
|
|
2936
2942
|
if (UNSAFE_KEYS.has(innerKey)) continue;
|
|
2937
2943
|
if (innerKey.startsWith("$")) continue;
|
|
2938
2944
|
const child = inner[innerKey];
|
|
@@ -2987,21 +2993,27 @@ var V0LocaleAdapter = class extends LocaleAdapter {
|
|
|
2987
2993
|
this.context = context;
|
|
2988
2994
|
}
|
|
2989
2995
|
t(key, ...params) {
|
|
2990
|
-
const
|
|
2991
|
-
|
|
2992
|
-
|
|
2993
|
-
|
|
2994
|
-
|
|
2995
|
-
const fbMessage = this.context.tokens.get(`${this.context.fallbackLocale}.${key}`)?.value;
|
|
2996
|
-
if (/* @__PURE__ */ isString(fbMessage)) return this.interpolate(this.resolve(this.context.fallbackLocale, fbMessage), params);
|
|
2997
|
-
}
|
|
2998
|
-
return this.interpolate(key, params);
|
|
2996
|
+
const found = this.lookup(key, params);
|
|
2997
|
+
return /* @__PURE__ */ isUndefined(found) ? this.interpolate(key, params) : found;
|
|
2998
|
+
}
|
|
2999
|
+
ti(key, ...params) {
|
|
3000
|
+
return this.lookup(key, params);
|
|
2999
3001
|
}
|
|
3000
3002
|
n(value) {
|
|
3001
3003
|
const locale = this.context.selectedId.value;
|
|
3002
3004
|
if (!IN_BROWSER || !locale) return value.toString();
|
|
3003
3005
|
return new Intl.NumberFormat(String(locale)).format(value);
|
|
3004
3006
|
}
|
|
3007
|
+
lookup(key, params) {
|
|
3008
|
+
const locale = this.context.selectedId.value;
|
|
3009
|
+
if (!locale) return void 0;
|
|
3010
|
+
const message = this.context.tokens.get(`${locale}.${key}`)?.value;
|
|
3011
|
+
if (/* @__PURE__ */ isString(message)) return this.interpolate(this.resolve(locale, message), params);
|
|
3012
|
+
if (this.context.fallbackLocale) {
|
|
3013
|
+
const fb = this.context.tokens.get(`${this.context.fallbackLocale}.${key}`)?.value;
|
|
3014
|
+
if (/* @__PURE__ */ isString(fb)) return this.interpolate(this.resolve(this.context.fallbackLocale, fb), params);
|
|
3015
|
+
}
|
|
3016
|
+
}
|
|
3005
3017
|
resolve(locale, str, visited = /* @__PURE__ */ new Set()) {
|
|
3006
3018
|
return str.replace(/{([a-zA-Z0-9.\-_]+)}/g, (match, key) => {
|
|
3007
3019
|
const [prefix, ...rest] = key.split(".");
|
|
@@ -3087,6 +3099,9 @@ function createLocale(_options = {}) {
|
|
|
3087
3099
|
function t(key, ...params) {
|
|
3088
3100
|
return adapter.t(key, ...params);
|
|
3089
3101
|
}
|
|
3102
|
+
function ti(key, ...params) {
|
|
3103
|
+
return adapter.ti(key, ...params);
|
|
3104
|
+
}
|
|
3090
3105
|
function n(value) {
|
|
3091
3106
|
return adapter.n(value);
|
|
3092
3107
|
}
|
|
@@ -3098,6 +3113,7 @@ function createLocale(_options = {}) {
|
|
|
3098
3113
|
return {
|
|
3099
3114
|
...registry,
|
|
3100
3115
|
t,
|
|
3116
|
+
ti,
|
|
3101
3117
|
n,
|
|
3102
3118
|
register,
|
|
3103
3119
|
get size() {
|
|
@@ -3109,6 +3125,7 @@ function createLocaleFallback() {
|
|
|
3109
3125
|
return {
|
|
3110
3126
|
size: 0,
|
|
3111
3127
|
t: (key) => key,
|
|
3128
|
+
ti: () => void 0,
|
|
3112
3129
|
n: String
|
|
3113
3130
|
};
|
|
3114
3131
|
}
|
|
@@ -3137,7 +3154,7 @@ const _sfc_main$3 = /* @__PURE__ */ defineComponent({
|
|
|
3137
3154
|
isOpen: context.isOpen.value,
|
|
3138
3155
|
attrs: {
|
|
3139
3156
|
"type": __props.as === "button" ? "button" : void 0,
|
|
3140
|
-
"aria-label": locale.
|
|
3157
|
+
"aria-label": locale.ti("AlertDialog.close") ?? "Close",
|
|
3141
3158
|
"onClick": onClick
|
|
3142
3159
|
}
|
|
3143
3160
|
}));
|
|
@@ -3478,6 +3495,19 @@ function useClickOutside(target, handler, options = {}) {
|
|
|
3478
3495
|
});
|
|
3479
3496
|
}
|
|
3480
3497
|
/**
|
|
3498
|
+
* Check if the event target is a strict descendant of any target element.
|
|
3499
|
+
*
|
|
3500
|
+
* @remarks Used by bounds mode so content rendered *inside* the element but
|
|
3501
|
+
* positioned outside its box (e.g. a top-layer overlay teleported into a
|
|
3502
|
+
* native `<dialog>`) is not treated as an outside click. A backdrop click has
|
|
3503
|
+
* `target === el`, so it is not a strict descendant and still counts as outside.
|
|
3504
|
+
*/
|
|
3505
|
+
function isDescendant(eventTarget) {
|
|
3506
|
+
/* v8 ignore next -- defensive guard, callers always pass an Element */
|
|
3507
|
+
if (!(eventTarget instanceof Node)) return false;
|
|
3508
|
+
return getTargets().some((el) => el !== eventTarget && el.contains(eventTarget));
|
|
3509
|
+
}
|
|
3510
|
+
/**
|
|
3481
3511
|
* Validate that the target is still in the DOM.
|
|
3482
3512
|
*/
|
|
3483
3513
|
function isValidTarget(eventTarget) {
|
|
@@ -3517,7 +3547,7 @@ function useClickOutside(target, handler, options = {}) {
|
|
|
3517
3547
|
const dy = Math.abs(event.clientY - startPosition.y);
|
|
3518
3548
|
if (dx >= touchScrollThreshold || dy >= touchScrollThreshold) return;
|
|
3519
3549
|
}
|
|
3520
|
-
if ((bounds ? startedOutsideBounds && isOutsideBounds(event.clientX, event.clientY) : isOutside(pointerdownTarget) && isOutside(pointerupTarget)) && !shouldIgnore(path)) handler(event);
|
|
3550
|
+
if ((bounds ? startedOutsideBounds && isOutsideBounds(event.clientX, event.clientY) && !isDescendant(pointerdownTarget) && !isDescendant(pointerupTarget) : isOutside(pointerdownTarget) && isOutside(pointerupTarget)) && !shouldIgnore(path)) handler(event);
|
|
3521
3551
|
}
|
|
3522
3552
|
/**
|
|
3523
3553
|
* Handle window blur - detect focus moving to iframe.
|
|
@@ -3574,6 +3604,63 @@ function useClickOutside(target, handler, options = {}) {
|
|
|
3574
3604
|
};
|
|
3575
3605
|
}
|
|
3576
3606
|
//#endregion
|
|
3607
|
+
//#region src/composables/toElement/index.ts
|
|
3608
|
+
/**
|
|
3609
|
+
* @module toElement
|
|
3610
|
+
*
|
|
3611
|
+
* @see https://0.vuetifyjs.com/composables/transformers/to-element
|
|
3612
|
+
*
|
|
3613
|
+
* @remarks
|
|
3614
|
+
* Resolves various element reference types to a DOM Element.
|
|
3615
|
+
*
|
|
3616
|
+
* Accepts refs, getters, raw DOM elements, or Vue component instances
|
|
3617
|
+
* and normalizes them to a plain Element. Uses structural typing to
|
|
3618
|
+
* avoid cross-version Vue Ref incompatibilities.
|
|
3619
|
+
*
|
|
3620
|
+
* @example
|
|
3621
|
+
* ```ts
|
|
3622
|
+
* import { shallowRef } from 'vue'
|
|
3623
|
+
* import { toElement } from '@vuetify/v0'
|
|
3624
|
+
*
|
|
3625
|
+
* const el = shallowRef<HTMLElement | null>(null)
|
|
3626
|
+
* const resolved = toElement(el) // HTMLElement | undefined
|
|
3627
|
+
* ```
|
|
3628
|
+
*/
|
|
3629
|
+
/**
|
|
3630
|
+
* Resolves a {@link MaybeElementRef} to a DOM Element or undefined.
|
|
3631
|
+
*
|
|
3632
|
+
* Handles:
|
|
3633
|
+
* - `Ref<Element>`, `ShallowRef<HTMLElement>`, getter functions
|
|
3634
|
+
* - Vue component instances (extracts `$el`)
|
|
3635
|
+
* - Raw DOM elements (pass-through)
|
|
3636
|
+
* - null/undefined (returns undefined)
|
|
3637
|
+
*
|
|
3638
|
+
* @param target The element ref, getter, or raw value to resolve
|
|
3639
|
+
* @returns The resolved DOM Element, or undefined if not available
|
|
3640
|
+
*
|
|
3641
|
+
* @see https://0.vuetifyjs.com/composables/transformers/to-element
|
|
3642
|
+
*
|
|
3643
|
+
* @example
|
|
3644
|
+
* ```ts
|
|
3645
|
+
* import { toElement } from '@vuetify/v0'
|
|
3646
|
+
*
|
|
3647
|
+
* const el = shallowRef<HTMLElement | null>(null)
|
|
3648
|
+
* toElement(el) // HTMLElement | undefined
|
|
3649
|
+
*
|
|
3650
|
+
* const component = ref<ComponentPublicInstance>()
|
|
3651
|
+
* toElement(component) // Element | undefined (from $el)
|
|
3652
|
+
* ```
|
|
3653
|
+
*/
|
|
3654
|
+
/* @__NO_SIDE_EFFECTS__ */
|
|
3655
|
+
function toElement(target) {
|
|
3656
|
+
if (!target) return void 0;
|
|
3657
|
+
if (/* @__PURE__ */ isElement(target)) return target;
|
|
3658
|
+
const raw = /* @__PURE__ */ isFunction(target) ? target() : /* @__PURE__ */ isObject(target) && "value" in target ? target.value : target;
|
|
3659
|
+
if (!raw) return void 0;
|
|
3660
|
+
if (/* @__PURE__ */ isElement(raw)) return raw;
|
|
3661
|
+
if (/* @__PURE__ */ isObject(raw) && "$el" in raw) return raw.$el;
|
|
3662
|
+
}
|
|
3663
|
+
//#endregion
|
|
3577
3664
|
//#region src/composables/useStack/index.ts
|
|
3578
3665
|
/**
|
|
3579
3666
|
* @module useStack
|
|
@@ -3631,7 +3718,7 @@ function createStack(_options = {}) {
|
|
|
3631
3718
|
multiple: true
|
|
3632
3719
|
});
|
|
3633
3720
|
function selectedScrims() {
|
|
3634
|
-
return Array.from(selection.selectedIds).map((id) => selection.get(id)).filter((ticket) => !!ticket && ticket.scrim !== false);
|
|
3721
|
+
return Array.from(selection.selectedIds).map((id) => selection.get(id)).filter((ticket) => !!ticket && ticket.scrim.value !== false);
|
|
3635
3722
|
}
|
|
3636
3723
|
const isActive = toRef(() => selectedScrims().length > 0);
|
|
3637
3724
|
const top = toRef(() => selectedScrims().at(-1));
|
|
@@ -3639,14 +3726,22 @@ function createStack(_options = {}) {
|
|
|
3639
3726
|
const ticket = top.value;
|
|
3640
3727
|
return ticket ? ticket.zIndex.value - 1 : 0;
|
|
3641
3728
|
});
|
|
3642
|
-
const isBlocking = toRef(() => top.value?.blocking ?? false);
|
|
3729
|
+
const isBlocking = toRef(() => toValue(top.value?.blocking) ?? false);
|
|
3730
|
+
const topElement = toRef(() => {
|
|
3731
|
+
const scrims = selectedScrims();
|
|
3732
|
+
for (let i = scrims.length - 1; i >= 0; i--) {
|
|
3733
|
+
const el = /* @__PURE__ */ toElement(toValue(scrims[i].el));
|
|
3734
|
+
if (el) return el;
|
|
3735
|
+
}
|
|
3736
|
+
return null;
|
|
3737
|
+
});
|
|
3643
3738
|
function ids() {
|
|
3644
3739
|
return Array.from(selection.selectedIds);
|
|
3645
3740
|
}
|
|
3646
3741
|
function register(input = {}) {
|
|
3647
3742
|
const id = input.id ?? /* @__PURE__ */ useId();
|
|
3648
|
-
const blocking = input.blocking ?? false;
|
|
3649
|
-
const scrim = input.scrim ?? true;
|
|
3743
|
+
const blocking = toRef(() => toValue(input.blocking) ?? false);
|
|
3744
|
+
const scrim = toRef(() => toValue(input.scrim) ?? true);
|
|
3650
3745
|
const onDismiss = input.onDismiss;
|
|
3651
3746
|
const zIndex = toRef(() => {
|
|
3652
3747
|
const position = ids().indexOf(id);
|
|
@@ -3659,18 +3754,18 @@ function createStack(_options = {}) {
|
|
|
3659
3754
|
return list.at(-1) === id;
|
|
3660
3755
|
});
|
|
3661
3756
|
function dismiss() {
|
|
3662
|
-
if (blocking) return;
|
|
3757
|
+
if (blocking.value) return;
|
|
3663
3758
|
onDismiss?.();
|
|
3664
3759
|
selection.unselect(id);
|
|
3665
3760
|
}
|
|
3666
3761
|
const ticket = selection.register({
|
|
3762
|
+
...input,
|
|
3667
3763
|
blocking,
|
|
3668
3764
|
scrim,
|
|
3669
3765
|
onDismiss,
|
|
3670
3766
|
zIndex,
|
|
3671
3767
|
globalTop,
|
|
3672
3768
|
dismiss,
|
|
3673
|
-
...input,
|
|
3674
3769
|
id
|
|
3675
3770
|
});
|
|
3676
3771
|
if (/* @__PURE__ */ instanceExists()) onScopeDispose(() => {
|
|
@@ -3685,6 +3780,7 @@ function createStack(_options = {}) {
|
|
|
3685
3780
|
top,
|
|
3686
3781
|
scrimZIndex,
|
|
3687
3782
|
isBlocking,
|
|
3783
|
+
topElement,
|
|
3688
3784
|
get size() {
|
|
3689
3785
|
return selection.size;
|
|
3690
3786
|
}
|
|
@@ -3751,6 +3847,7 @@ function createStackPlugin(_options = {}) {
|
|
|
3751
3847
|
}
|
|
3752
3848
|
let fallbackStack;
|
|
3753
3849
|
function getStackFallback() {
|
|
3850
|
+
if (!IN_BROWSER) return createStack();
|
|
3754
3851
|
if (!fallbackStack) fallbackStack = createStack();
|
|
3755
3852
|
return fallbackStack;
|
|
3756
3853
|
}
|
|
@@ -3942,7 +4039,8 @@ const _sfc_main$4 = /* @__PURE__ */ defineComponent({
|
|
|
3942
4039
|
const contentRef = useTemplateRef("content");
|
|
3943
4040
|
const ticket = useStack().register({
|
|
3944
4041
|
onDismiss: () => context.close(),
|
|
3945
|
-
blocking: __props.blocking
|
|
4042
|
+
blocking: () => __props.blocking,
|
|
4043
|
+
el: () => contentRef.value?.element
|
|
3946
4044
|
});
|
|
3947
4045
|
watch(context.isOpen, (isOpen) => {
|
|
3948
4046
|
if (isOpen) ticket.select();
|
|
@@ -4368,63 +4466,6 @@ const [createHydrationContext, createHydrationPlugin, useHydration] = createPlug
|
|
|
4368
4466
|
}
|
|
4369
4467
|
});
|
|
4370
4468
|
//#endregion
|
|
4371
|
-
//#region src/composables/toElement/index.ts
|
|
4372
|
-
/**
|
|
4373
|
-
* @module toElement
|
|
4374
|
-
*
|
|
4375
|
-
* @see https://0.vuetifyjs.com/composables/transformers/to-element
|
|
4376
|
-
*
|
|
4377
|
-
* @remarks
|
|
4378
|
-
* Resolves various element reference types to a DOM Element.
|
|
4379
|
-
*
|
|
4380
|
-
* Accepts refs, getters, raw DOM elements, or Vue component instances
|
|
4381
|
-
* and normalizes them to a plain Element. Uses structural typing to
|
|
4382
|
-
* avoid cross-version Vue Ref incompatibilities.
|
|
4383
|
-
*
|
|
4384
|
-
* @example
|
|
4385
|
-
* ```ts
|
|
4386
|
-
* import { shallowRef } from 'vue'
|
|
4387
|
-
* import { toElement } from '@vuetify/v0'
|
|
4388
|
-
*
|
|
4389
|
-
* const el = shallowRef<HTMLElement | null>(null)
|
|
4390
|
-
* const resolved = toElement(el) // HTMLElement | undefined
|
|
4391
|
-
* ```
|
|
4392
|
-
*/
|
|
4393
|
-
/**
|
|
4394
|
-
* Resolves a {@link MaybeElementRef} to a DOM Element or undefined.
|
|
4395
|
-
*
|
|
4396
|
-
* Handles:
|
|
4397
|
-
* - `Ref<Element>`, `ShallowRef<HTMLElement>`, getter functions
|
|
4398
|
-
* - Vue component instances (extracts `$el`)
|
|
4399
|
-
* - Raw DOM elements (pass-through)
|
|
4400
|
-
* - null/undefined (returns undefined)
|
|
4401
|
-
*
|
|
4402
|
-
* @param target The element ref, getter, or raw value to resolve
|
|
4403
|
-
* @returns The resolved DOM Element, or undefined if not available
|
|
4404
|
-
*
|
|
4405
|
-
* @see https://0.vuetifyjs.com/composables/transformers/to-element
|
|
4406
|
-
*
|
|
4407
|
-
* @example
|
|
4408
|
-
* ```ts
|
|
4409
|
-
* import { toElement } from '@vuetify/v0'
|
|
4410
|
-
*
|
|
4411
|
-
* const el = shallowRef<HTMLElement | null>(null)
|
|
4412
|
-
* toElement(el) // HTMLElement | undefined
|
|
4413
|
-
*
|
|
4414
|
-
* const component = ref<ComponentPublicInstance>()
|
|
4415
|
-
* toElement(component) // Element | undefined (from $el)
|
|
4416
|
-
* ```
|
|
4417
|
-
*/
|
|
4418
|
-
/* @__NO_SIDE_EFFECTS__ */
|
|
4419
|
-
function toElement(target) {
|
|
4420
|
-
if (!target) return void 0;
|
|
4421
|
-
if (/* @__PURE__ */ isElement(target)) return target;
|
|
4422
|
-
const raw = /* @__PURE__ */ isFunction(target) ? target() : /* @__PURE__ */ isObject(target) && "value" in target ? target.value : target;
|
|
4423
|
-
if (!raw) return void 0;
|
|
4424
|
-
if (/* @__PURE__ */ isElement(raw)) return raw;
|
|
4425
|
-
if (/* @__PURE__ */ isObject(raw) && "$el" in raw) return raw.$el;
|
|
4426
|
-
}
|
|
4427
|
-
//#endregion
|
|
4428
4469
|
//#region src/composables/createObserver/index.ts
|
|
4429
4470
|
/**
|
|
4430
4471
|
* @module createObserver
|
|
@@ -5352,8 +5393,7 @@ const _sfc_main$13 = /* @__PURE__ */ defineComponent({
|
|
|
5352
5393
|
});
|
|
5353
5394
|
const count = toRef(() => hidden.value.length);
|
|
5354
5395
|
const slotProps = toRef(() => {
|
|
5355
|
-
const
|
|
5356
|
-
const ariaLabel = translated === LABEL_KEY ? `+${count.value}` : translated;
|
|
5396
|
+
const ariaLabel = locale.ti(LABEL_KEY, { count: count.value }) ?? `+${count.value} more`;
|
|
5357
5397
|
return {
|
|
5358
5398
|
count: count.value,
|
|
5359
5399
|
hidden: hidden.value,
|
|
@@ -6117,7 +6157,7 @@ const _sfc_main$21 = /* @__PURE__ */ defineComponent({
|
|
|
6117
6157
|
prev: breadcrumbs.prev,
|
|
6118
6158
|
select: breadcrumbs.select,
|
|
6119
6159
|
attrs: {
|
|
6120
|
-
"aria-label": __props.label ?? locale.
|
|
6160
|
+
"aria-label": __props.label ?? locale.ti("Breadcrumbs.label") ?? "Breadcrumbs",
|
|
6121
6161
|
"role": __props.as === "nav" ? void 0 : "navigation"
|
|
6122
6162
|
}
|
|
6123
6163
|
}));
|
|
@@ -7001,7 +7041,7 @@ const _sfc_main$27 = /* @__PURE__ */ defineComponent({
|
|
|
7001
7041
|
"aria-disabled": isDisabled.value || isPassive.value,
|
|
7002
7042
|
"aria-busy": isLoading.value ? true : void 0,
|
|
7003
7043
|
"aria-pressed": group ? isSelected.value : void 0,
|
|
7004
|
-
"aria-label": __props.ariaLabel || (isSolo.value ? locale.
|
|
7044
|
+
"aria-label": __props.ariaLabel || (!__props.renderless && isSolo.value ? locale.ti("Button.label") ?? "Button" : void 0),
|
|
7005
7045
|
"tabindex": isDisabled.value ? -1 : 0,
|
|
7006
7046
|
"data-loading": isLoading.value ? true : void 0,
|
|
7007
7047
|
"data-passive": isPassive.value ? true : void 0,
|
|
@@ -7594,7 +7634,7 @@ const _sfc_main$34 = /* @__PURE__ */ defineComponent({
|
|
|
7594
7634
|
attrs: {
|
|
7595
7635
|
"role": "region",
|
|
7596
7636
|
"aria-roledescription": "carousel",
|
|
7597
|
-
"aria-label": __props.label ?? locale.
|
|
7637
|
+
"aria-label": __props.label ?? locale.ti("Carousel.label") ?? "Carousel",
|
|
7598
7638
|
"aria-disabled": toValue(step.disabled),
|
|
7599
7639
|
"data-disabled": toValue(step.disabled) || void 0
|
|
7600
7640
|
}
|
|
@@ -7853,10 +7893,10 @@ const _sfc_main$29 = /* @__PURE__ */ defineComponent({
|
|
|
7853
7893
|
"id": `${carousel.rootId}-slide-${ticket.index}`,
|
|
7854
7894
|
"role": "group",
|
|
7855
7895
|
"aria-roledescription": "slide",
|
|
7856
|
-
"aria-label": locale.
|
|
7896
|
+
"aria-label": locale.ti("Carousel.slide", {
|
|
7857
7897
|
current: ticket.index + 1,
|
|
7858
7898
|
size: carousel.size
|
|
7859
|
-
})
|
|
7899
|
+
}) ?? `Slide ${ticket.index + 1} of ${carousel.size}`,
|
|
7860
7900
|
"aria-hidden": isActive.value ? void 0 : true,
|
|
7861
7901
|
"data-selected": toValue(ticket.isSelected) || void 0,
|
|
7862
7902
|
"data-active": isActive.value || void 0,
|
|
@@ -7914,7 +7954,7 @@ const _sfc_main$32 = /* @__PURE__ */ defineComponent({
|
|
|
7914
7954
|
isAtEdge: isAtEdge.value,
|
|
7915
7955
|
attrs: {
|
|
7916
7956
|
"type": __props.as === "button" ? "button" : void 0,
|
|
7917
|
-
"aria-label": locale.
|
|
7957
|
+
"aria-label": locale.ti("Carousel.prev") ?? "Previous slide",
|
|
7918
7958
|
"aria-controls": viewportId,
|
|
7919
7959
|
"aria-disabled": isDisabled.value,
|
|
7920
7960
|
"disabled": __props.as === "button" ? isDisabled.value : void 0,
|
|
@@ -7970,7 +8010,7 @@ const _sfc_main$31 = /* @__PURE__ */ defineComponent({
|
|
|
7970
8010
|
isAtEdge: isAtEdge.value,
|
|
7971
8011
|
attrs: {
|
|
7972
8012
|
"type": __props.as === "button" ? "button" : void 0,
|
|
7973
|
-
"aria-label": locale.
|
|
8013
|
+
"aria-label": locale.ti("Carousel.next") ?? "Next slide",
|
|
7974
8014
|
"aria-controls": viewportId,
|
|
7975
8015
|
"aria-disabled": isDisabled.value,
|
|
7976
8016
|
"disabled": __props.as === "button" ? isDisabled.value : void 0,
|
|
@@ -8073,10 +8113,10 @@ const _sfc_main$28 = /* @__PURE__ */ defineComponent({
|
|
|
8073
8113
|
"tabindex": isSelected ? 0 : -1,
|
|
8074
8114
|
"aria-selected": isSelected,
|
|
8075
8115
|
"aria-controls": `${carousel.rootId}-slide-${i}`,
|
|
8076
|
-
"aria-label": locale.
|
|
8116
|
+
"aria-label": locale.ti("Carousel.indicator", {
|
|
8077
8117
|
current: i + 1,
|
|
8078
8118
|
size
|
|
8079
|
-
})
|
|
8119
|
+
}) ?? `Go to slide ${i + 1} of ${size}`,
|
|
8080
8120
|
"data-selected": isSelected || void 0,
|
|
8081
8121
|
"data-active": isActive || void 0,
|
|
8082
8122
|
"onClick"() {
|
|
@@ -8088,7 +8128,7 @@ const _sfc_main$28 = /* @__PURE__ */ defineComponent({
|
|
|
8088
8128
|
}),
|
|
8089
8129
|
attrs: {
|
|
8090
8130
|
"role": "tablist",
|
|
8091
|
-
"aria-label": __props.label ?? locale.
|
|
8131
|
+
"aria-label": __props.label ?? locale.ti("Carousel.indicators") ?? "Carousel indicators",
|
|
8092
8132
|
"aria-orientation": carousel.orientation.value
|
|
8093
8133
|
}
|
|
8094
8134
|
};
|
|
@@ -8147,8 +8187,8 @@ const _sfc_main$33 = /* @__PURE__ */ defineComponent({
|
|
|
8147
8187
|
"aria-valuenow": percent,
|
|
8148
8188
|
"aria-valuemin": 0,
|
|
8149
8189
|
"aria-valuemax": 100,
|
|
8150
|
-
"aria-valuetext": locale.
|
|
8151
|
-
"aria-label": locale.
|
|
8190
|
+
"aria-valuetext": locale.ti("Carousel.progress", { percent }) ?? `${percent}% complete`,
|
|
8191
|
+
"aria-label": locale.ti("Carousel.progressLabel") ?? "Carousel progress",
|
|
8152
8192
|
"data-state": state.value,
|
|
8153
8193
|
"style": { width: `${percent}%` }
|
|
8154
8194
|
}
|
|
@@ -8199,10 +8239,10 @@ const _sfc_main$30 = /* @__PURE__ */ defineComponent({
|
|
|
8199
8239
|
if (/* @__PURE__ */ isUndefined(prevIndex)) return;
|
|
8200
8240
|
clearTimeout(pending);
|
|
8201
8241
|
pending = setTimeout(() => {
|
|
8202
|
-
text.value = locale.
|
|
8242
|
+
text.value = locale.ti("Carousel.liveRegion", {
|
|
8203
8243
|
current: index + 1,
|
|
8204
8244
|
size: carousel.size
|
|
8205
|
-
})
|
|
8245
|
+
}) ?? `Slide ${index + 1} of ${carousel.size}`;
|
|
8206
8246
|
}, 100);
|
|
8207
8247
|
});
|
|
8208
8248
|
onBeforeUnmount(() => clearTimeout(pending));
|
|
@@ -9416,6 +9456,7 @@ function useDelay(callback, options = {}) {
|
|
|
9416
9456
|
function usePopover(options = {}) {
|
|
9417
9457
|
const { id: _id, positionArea = "bottom", positionTry = "most-width bottom", openDelay, closeDelay } = options;
|
|
9418
9458
|
const id = _id ?? /* @__PURE__ */ useId();
|
|
9459
|
+
const anchor = `--${String(id).replace(/[^a-zA-Z0-9_-]/g, "")}`;
|
|
9419
9460
|
const isOpen = options.isOpen ?? shallowRef(false);
|
|
9420
9461
|
const delay = useDelay((direction) => {
|
|
9421
9462
|
isOpen.value = direction;
|
|
@@ -9436,7 +9477,7 @@ function usePopover(options = {}) {
|
|
|
9436
9477
|
function cancel() {
|
|
9437
9478
|
delay.stop();
|
|
9438
9479
|
}
|
|
9439
|
-
const anchorStyles = toRef(() => ({ anchorName:
|
|
9480
|
+
const anchorStyles = toRef(() => ({ anchorName: anchor }));
|
|
9440
9481
|
const contentAttrs = toRef(() => ({
|
|
9441
9482
|
id,
|
|
9442
9483
|
popover: ""
|
|
@@ -9446,7 +9487,7 @@ function usePopover(options = {}) {
|
|
|
9446
9487
|
"margin": "unset",
|
|
9447
9488
|
"inset-area": positionArea,
|
|
9448
9489
|
"position-area": positionArea,
|
|
9449
|
-
"position-anchor":
|
|
9490
|
+
"position-anchor": anchor,
|
|
9450
9491
|
"position-try-fallbacks": positionTry
|
|
9451
9492
|
}));
|
|
9452
9493
|
/* v8 ignore start -- browser popover API */
|
|
@@ -11017,7 +11058,7 @@ const _sfc_main$55 = /* @__PURE__ */ defineComponent({
|
|
|
11017
11058
|
isOpen: context.isOpen.value,
|
|
11018
11059
|
attrs: {
|
|
11019
11060
|
"type": __props.as === "button" ? "button" : void 0,
|
|
11020
|
-
"aria-label": locale.
|
|
11061
|
+
"aria-label": locale.ti("Dialog.close") ?? "Close",
|
|
11021
11062
|
"onClick": onClick
|
|
11022
11063
|
}
|
|
11023
11064
|
}));
|
|
@@ -11057,7 +11098,8 @@ const _sfc_main$56 = /* @__PURE__ */ defineComponent({
|
|
|
11057
11098
|
const contentRef = useTemplateRef("content");
|
|
11058
11099
|
const ticket = useStack().register({
|
|
11059
11100
|
onDismiss: () => context.close(),
|
|
11060
|
-
blocking: __props.blocking
|
|
11101
|
+
blocking: () => __props.blocking,
|
|
11102
|
+
el: () => contentRef.value?.element
|
|
11061
11103
|
});
|
|
11062
11104
|
watch(context.isOpen, (isOpen) => {
|
|
11063
11105
|
if (isOpen) ticket.select();
|
|
@@ -13616,16 +13658,17 @@ function createNumberField(options = {}) {
|
|
|
13616
13658
|
const result = Number(cleaned);
|
|
13617
13659
|
return Number.isNaN(result) ? null : result;
|
|
13618
13660
|
}
|
|
13619
|
-
function commit() {
|
|
13620
|
-
|
|
13621
|
-
if (
|
|
13661
|
+
function commit(next) {
|
|
13662
|
+
const val = arguments.length === 0 ? value.value : next;
|
|
13663
|
+
if (/* @__PURE__ */ isNull(val)) return;
|
|
13664
|
+
if (!shouldClamp && (val < numeric.min || val > numeric.max)) {
|
|
13622
13665
|
if (numeric.step > 0 && Number.isFinite(numeric.min)) {
|
|
13623
|
-
const steps = Math.round((
|
|
13666
|
+
const steps = Math.round((val - numeric.min) / numeric.step);
|
|
13624
13667
|
value.value = numeric.min + steps * numeric.step;
|
|
13625
13668
|
}
|
|
13626
13669
|
return;
|
|
13627
13670
|
}
|
|
13628
|
-
value.value = numeric.snap(
|
|
13671
|
+
value.value = numeric.snap(val);
|
|
13629
13672
|
}
|
|
13630
13673
|
return {
|
|
13631
13674
|
value,
|
|
@@ -13851,7 +13894,7 @@ const _sfc_main$78 = /* @__PURE__ */ defineComponent({
|
|
|
13851
13894
|
function onBlur() {
|
|
13852
13895
|
const parsed = root.parse(text.value);
|
|
13853
13896
|
root.value.value = parsed;
|
|
13854
|
-
root.commit();
|
|
13897
|
+
root.commit(parsed);
|
|
13855
13898
|
root.isFocused.value = false;
|
|
13856
13899
|
syncText();
|
|
13857
13900
|
}
|
|
@@ -13874,7 +13917,7 @@ const _sfc_main$78 = /* @__PURE__ */ defineComponent({
|
|
|
13874
13917
|
Enter: () => {
|
|
13875
13918
|
const parsed = root.parse(text.value);
|
|
13876
13919
|
root.value.value = parsed;
|
|
13877
|
-
root.commit();
|
|
13920
|
+
root.commit(parsed);
|
|
13878
13921
|
}
|
|
13879
13922
|
}[e.key];
|
|
13880
13923
|
if (!action) return;
|
|
@@ -14003,7 +14046,7 @@ const _sfc_main$79 = /* @__PURE__ */ defineComponent({
|
|
|
14003
14046
|
return {
|
|
14004
14047
|
"type": "button",
|
|
14005
14048
|
"tabindex": -1,
|
|
14006
|
-
"aria-label": locale.
|
|
14049
|
+
"aria-label": locale.ti("NumberField.decrement") ?? "Decrement",
|
|
14007
14050
|
"disabled": disabled || void 0,
|
|
14008
14051
|
"data-disabled": disabled ? true : void 0,
|
|
14009
14052
|
onBlur,
|
|
@@ -14144,7 +14187,7 @@ const _sfc_main$82 = /* @__PURE__ */ defineComponent({
|
|
|
14144
14187
|
return {
|
|
14145
14188
|
"type": "button",
|
|
14146
14189
|
"tabindex": -1,
|
|
14147
|
-
"aria-label": locale.
|
|
14190
|
+
"aria-label": locale.ti("NumberField.increment") ?? "Increment",
|
|
14148
14191
|
"disabled": disabled || void 0,
|
|
14149
14192
|
"data-disabled": disabled ? true : void 0,
|
|
14150
14193
|
onBlur,
|
|
@@ -14495,23 +14538,20 @@ const _sfc_main$87 = /* @__PURE__ */ defineComponent({
|
|
|
14495
14538
|
reserved: indicatorWidth,
|
|
14496
14539
|
reverse: () => __props.priority === "end"
|
|
14497
14540
|
});
|
|
14498
|
-
|
|
14499
|
-
|
|
14500
|
-
|
|
14501
|
-
const ticket = tickets[index];
|
|
14502
|
-
if (!ticket) return true;
|
|
14503
|
-
if (toValue(ticket.disabled)) return true;
|
|
14541
|
+
const hidden = computed(() => {
|
|
14542
|
+
const set = /* @__PURE__ */ new Set();
|
|
14543
|
+
if (__props.disabled) return set;
|
|
14504
14544
|
const cap = overflow.capacity.value;
|
|
14505
|
-
if (cap === Infinity) return
|
|
14506
|
-
|
|
14507
|
-
|
|
14508
|
-
for (const [i,
|
|
14509
|
-
|
|
14510
|
-
|
|
14511
|
-
|
|
14512
|
-
|
|
14513
|
-
|
|
14514
|
-
return
|
|
14545
|
+
if (cap === Infinity) return set;
|
|
14546
|
+
const tickets = registry.values();
|
|
14547
|
+
const enabled = [];
|
|
14548
|
+
for (const [i, ticket] of tickets.entries()) if (!toValue(ticket.disabled)) enabled.push(i);
|
|
14549
|
+
const total = enabled.length;
|
|
14550
|
+
for (let rank = 0; rank < total; rank++) if (!(__props.priority === "end" ? rank >= total - cap : rank < cap)) set.add(enabled[rank]);
|
|
14551
|
+
return set;
|
|
14552
|
+
});
|
|
14553
|
+
function isVisible(index) {
|
|
14554
|
+
return !hidden.value.has(index);
|
|
14515
14555
|
}
|
|
14516
14556
|
provideOverflowRoot(__props.namespace, {
|
|
14517
14557
|
overflow,
|
|
@@ -15086,7 +15126,7 @@ const _sfc_main$94 = /* @__PURE__ */ defineComponent({
|
|
|
15086
15126
|
prev: pagination.prev,
|
|
15087
15127
|
select: pagination.select,
|
|
15088
15128
|
attrs: {
|
|
15089
|
-
"aria-label": locale.
|
|
15129
|
+
"aria-label": locale.ti("Pagination.label") ?? "Pagination",
|
|
15090
15130
|
"role": __props.as === "nav" ? void 0 : "navigation"
|
|
15091
15131
|
}
|
|
15092
15132
|
}));
|
|
@@ -15183,7 +15223,7 @@ const _sfc_main$89 = /* @__PURE__ */ defineComponent({
|
|
|
15183
15223
|
isDisabled: isDisabled.value,
|
|
15184
15224
|
first,
|
|
15185
15225
|
attrs: {
|
|
15186
|
-
"aria-label": locale.
|
|
15226
|
+
"aria-label": locale.ti("Pagination.first") ?? "First page",
|
|
15187
15227
|
"aria-disabled": isDisabled.value,
|
|
15188
15228
|
"data-disabled": isDisabled.value || void 0,
|
|
15189
15229
|
"disabled": __props.as === "button" ? isDisabled.value : void 0,
|
|
@@ -15237,7 +15277,7 @@ const _sfc_main$90 = /* @__PURE__ */ defineComponent({
|
|
|
15237
15277
|
}, { immediate: true });
|
|
15238
15278
|
const isSelected = toRef(() => pagination.page.value === __props.value);
|
|
15239
15279
|
const ariaLabel = toRef(() => {
|
|
15240
|
-
return isSelected.value ? locale.
|
|
15280
|
+
return isSelected.value ? locale.ti("Pagination.currentPage", { page: __props.value }) ?? `Page ${__props.value}, current` : locale.ti("Pagination.goToPage", { page: __props.value }) ?? `Go to page ${__props.value}`;
|
|
15241
15281
|
});
|
|
15242
15282
|
function select() {
|
|
15243
15283
|
if (__props.disabled) return;
|
|
@@ -15308,7 +15348,7 @@ const _sfc_main$91 = /* @__PURE__ */ defineComponent({
|
|
|
15308
15348
|
isDisabled: isDisabled.value,
|
|
15309
15349
|
last,
|
|
15310
15350
|
attrs: {
|
|
15311
|
-
"aria-label": locale.
|
|
15351
|
+
"aria-label": locale.ti("Pagination.last") ?? "Last page",
|
|
15312
15352
|
"aria-disabled": isDisabled.value,
|
|
15313
15353
|
"data-disabled": isDisabled.value || void 0,
|
|
15314
15354
|
"disabled": __props.as === "button" ? isDisabled.value : void 0,
|
|
@@ -15365,7 +15405,7 @@ const _sfc_main$92 = /* @__PURE__ */ defineComponent({
|
|
|
15365
15405
|
isDisabled: isDisabled.value,
|
|
15366
15406
|
next,
|
|
15367
15407
|
attrs: {
|
|
15368
|
-
"aria-label": locale.
|
|
15408
|
+
"aria-label": locale.ti("Pagination.next") ?? "Next page",
|
|
15369
15409
|
"aria-disabled": isDisabled.value,
|
|
15370
15410
|
"data-disabled": isDisabled.value || void 0,
|
|
15371
15411
|
"disabled": __props.as === "button" ? isDisabled.value : void 0,
|
|
@@ -15422,7 +15462,7 @@ const _sfc_main$93 = /* @__PURE__ */ defineComponent({
|
|
|
15422
15462
|
isDisabled: isDisabled.value,
|
|
15423
15463
|
prev,
|
|
15424
15464
|
attrs: {
|
|
15425
|
-
"aria-label": locale.
|
|
15465
|
+
"aria-label": locale.ti("Pagination.prev") ?? "Previous page",
|
|
15426
15466
|
"aria-disabled": isDisabled.value,
|
|
15427
15467
|
"data-disabled": isDisabled.value || void 0,
|
|
15428
15468
|
"disabled": __props.as === "button" ? isDisabled.value : void 0,
|
|
@@ -15466,10 +15506,10 @@ const _sfc_main$95 = /* @__PURE__ */ defineComponent({
|
|
|
15466
15506
|
if (/* @__PURE__ */ isUndefined(prevPage)) return;
|
|
15467
15507
|
clearTimeout(pending);
|
|
15468
15508
|
pending = setTimeout(() => {
|
|
15469
|
-
text.value = locale.
|
|
15509
|
+
text.value = locale.ti("Pagination.status", {
|
|
15470
15510
|
page,
|
|
15471
15511
|
pages: pagination.pages
|
|
15472
|
-
})
|
|
15512
|
+
}) ?? `Page ${page} of ${pagination.pages}`;
|
|
15473
15513
|
}, 100);
|
|
15474
15514
|
});
|
|
15475
15515
|
onBeforeUnmount(() => clearTimeout(pending));
|
|
@@ -15768,7 +15808,7 @@ const _sfc_main$96 = /* @__PURE__ */ defineComponent({
|
|
|
15768
15808
|
const context = usePopoverContext();
|
|
15769
15809
|
const popovertarget = toRef(() => __props.target ?? context.id);
|
|
15770
15810
|
const style = toRef(() => {
|
|
15771
|
-
if (__props.target) return { anchorName: `--${__props.target}` };
|
|
15811
|
+
if (__props.target) return { anchorName: `--${String(__props.target).replace(/[^a-zA-Z0-9_-]/g, "")}` };
|
|
15772
15812
|
return context.anchorStyles.value;
|
|
15773
15813
|
});
|
|
15774
15814
|
const slotProps = toRef(() => ({
|
|
@@ -15815,7 +15855,7 @@ const _sfc_main$97 = /* @__PURE__ */ defineComponent({
|
|
|
15815
15855
|
"margin": "unset",
|
|
15816
15856
|
"inset-area": __props.positionArea ?? "bottom",
|
|
15817
15857
|
"position-area": __props.positionArea ?? "bottom",
|
|
15818
|
-
"position-anchor": `--${__props.id}`,
|
|
15858
|
+
"position-anchor": `--${String(__props.id).replace(/[^a-zA-Z0-9_-]/g, "")}`,
|
|
15819
15859
|
"position-try-fallbacks": __props.positionTry ?? "most-width bottom"
|
|
15820
15860
|
};
|
|
15821
15861
|
return context.contentStyles.value;
|
|
@@ -15953,12 +15993,14 @@ const _sfc_main$99 = /* @__PURE__ */ defineComponent({
|
|
|
15953
15993
|
emits: ["close"],
|
|
15954
15994
|
setup(__props, { emit: __emit }) {
|
|
15955
15995
|
const emit = __emit;
|
|
15956
|
-
const
|
|
15957
|
-
|
|
15958
|
-
|
|
15996
|
+
const stack = useStack();
|
|
15997
|
+
const ticket = stack.register({
|
|
15998
|
+
blocking: () => __props.blocking,
|
|
15999
|
+
scrim: () => __props.scrim,
|
|
15959
16000
|
onDismiss: () => emit("close")
|
|
15960
16001
|
});
|
|
15961
16002
|
ticket.select();
|
|
16003
|
+
const target = toRef(() => __props.to === "top-layer" ? stack.topElement.value ?? "body" : __props.to);
|
|
15962
16004
|
const slotProps = toRef(() => ({
|
|
15963
16005
|
zIndex: ticket.zIndex.value,
|
|
15964
16006
|
close: ticket.dismiss
|
|
@@ -15966,7 +16008,7 @@ const _sfc_main$99 = /* @__PURE__ */ defineComponent({
|
|
|
15966
16008
|
return (_ctx, _cache) => {
|
|
15967
16009
|
return openBlock(), createBlock(Teleport, {
|
|
15968
16010
|
disabled: __props.disabled,
|
|
15969
|
-
to:
|
|
16011
|
+
to: target.value
|
|
15970
16012
|
}, [renderSlot(_ctx.$slots, "default", normalizeProps(guardReactiveProps(slotProps.value)))], 8, ["disabled", "to"]);
|
|
15971
16013
|
};
|
|
15972
16014
|
}
|
|
@@ -17447,10 +17489,10 @@ const _sfc_main$114 = /* @__PURE__ */ defineComponent({
|
|
|
17447
17489
|
"aria-valuenow": rating.value.value,
|
|
17448
17490
|
"aria-valuemin": 0,
|
|
17449
17491
|
"aria-valuemax": rating.size,
|
|
17450
|
-
"aria-valuetext": locale.
|
|
17492
|
+
"aria-valuetext": locale.ti("Rating.valueText", {
|
|
17451
17493
|
value: rating.value.value,
|
|
17452
17494
|
size: rating.size
|
|
17453
|
-
})
|
|
17495
|
+
}) ?? `${rating.value.value} of ${rating.size} stars`,
|
|
17454
17496
|
"aria-disabled": isDisabled.value ? true : void 0,
|
|
17455
17497
|
"aria-readonly": isReadonly.value ? true : void 0,
|
|
17456
17498
|
"data-disabled": isDisabled.value ? true : void 0,
|
|
@@ -17722,16 +17764,16 @@ const _sfc_main$115 = /* @__PURE__ */ defineComponent({
|
|
|
17722
17764
|
setup(__props) {
|
|
17723
17765
|
const attrs = useAttrs();
|
|
17724
17766
|
const stack = useStack();
|
|
17725
|
-
const tickets = computed(() => Array.from(stack.selectedItems.value).filter((ticket) => ticket.scrim !== false));
|
|
17767
|
+
const tickets = computed(() => Array.from(stack.selectedItems.value).filter((ticket) => ticket.scrim.value !== false));
|
|
17726
17768
|
function onDismiss(ticket) {
|
|
17727
|
-
if (!ticket.blocking) ticket.dismiss();
|
|
17769
|
+
if (!ticket.blocking.value) ticket.dismiss();
|
|
17728
17770
|
}
|
|
17729
17771
|
function getSlotProps(ticket) {
|
|
17730
17772
|
const zIndex = ticket.zIndex.value - 1;
|
|
17731
17773
|
return {
|
|
17732
17774
|
ticket,
|
|
17733
17775
|
zIndex,
|
|
17734
|
-
isBlocking: ticket.blocking,
|
|
17776
|
+
isBlocking: ticket.blocking.value,
|
|
17735
17777
|
dismiss: () => onDismiss(ticket),
|
|
17736
17778
|
attrs: {
|
|
17737
17779
|
style: { zIndex },
|
|
@@ -19483,8 +19525,12 @@ const _sfc_main$134 = /* @__PURE__ */ defineComponent({
|
|
|
19483
19525
|
__name: "SnackbarPortal",
|
|
19484
19526
|
props: {
|
|
19485
19527
|
teleport: {
|
|
19486
|
-
type: [
|
|
19487
|
-
|
|
19528
|
+
type: [
|
|
19529
|
+
String,
|
|
19530
|
+
Object,
|
|
19531
|
+
Boolean
|
|
19532
|
+
],
|
|
19533
|
+
default: "top-layer"
|
|
19488
19534
|
},
|
|
19489
19535
|
as: { default: "div" },
|
|
19490
19536
|
renderless: { type: Boolean }
|
|
@@ -19597,7 +19643,7 @@ function createQueue(_options = {}) {
|
|
|
19597
19643
|
}
|
|
19598
19644
|
function register(registration = {}) {
|
|
19599
19645
|
const id = registration.id ?? /* @__PURE__ */ useId();
|
|
19600
|
-
const timeout = Object.
|
|
19646
|
+
const timeout = Object.hasOwn(registration, "timeout") ? registration.timeout : _timeout;
|
|
19601
19647
|
const ticket = {
|
|
19602
19648
|
...registration,
|
|
19603
19649
|
id,
|
|
@@ -20396,7 +20442,7 @@ const _sfc_main$132 = /* @__PURE__ */ defineComponent({
|
|
|
20396
20442
|
}
|
|
20397
20443
|
const slotProps = toRef(() => ({ attrs: {
|
|
20398
20444
|
"type": __props.as === "button" ? "button" : void 0,
|
|
20399
|
-
"aria-label": locale.
|
|
20445
|
+
"aria-label": locale.ti("Snackbar.close") ?? "Dismiss",
|
|
20400
20446
|
"onClick": onClick
|
|
20401
20447
|
} }));
|
|
20402
20448
|
return (_ctx, _cache) => {
|
|
@@ -22317,6 +22363,10 @@ var ThemeAdapter = class ThemeAdapter {
|
|
|
22317
22363
|
*/
|
|
22318
22364
|
dispose;
|
|
22319
22365
|
constructor(prefix) {
|
|
22366
|
+
if (!ThemeAdapter.SAFE_IDENT.test(prefix)) throw new V0Error(`Invalid theme prefix: "${prefix}". Expected an identifier matching ${ThemeAdapter.SAFE_IDENT}.`, {
|
|
22367
|
+
code: "V0_THEME_INVALID_PREFIX",
|
|
22368
|
+
prefix
|
|
22369
|
+
});
|
|
22320
22370
|
this.prefix = prefix;
|
|
22321
22371
|
}
|
|
22322
22372
|
generate(colors, isDark) {
|
|
@@ -22357,12 +22407,18 @@ var V0StyleSheetThemeAdapter = class extends ThemeAdapter {
|
|
|
22357
22407
|
this.update(colors, isDark);
|
|
22358
22408
|
});
|
|
22359
22409
|
if (/* @__PURE__ */ isNull(target)) {
|
|
22360
|
-
this.dispose =
|
|
22410
|
+
this.dispose = () => {
|
|
22411
|
+
stopWatch();
|
|
22412
|
+
this.detach();
|
|
22413
|
+
};
|
|
22361
22414
|
return;
|
|
22362
22415
|
}
|
|
22363
22416
|
const targetEl = target instanceof HTMLElement ? target : /* @__PURE__ */ isString(target) ? document.querySelector(target) : app._container || document.querySelector("#app") || document.body;
|
|
22364
22417
|
if (!targetEl) {
|
|
22365
|
-
this.dispose =
|
|
22418
|
+
this.dispose = () => {
|
|
22419
|
+
stopWatch();
|
|
22420
|
+
this.detach();
|
|
22421
|
+
};
|
|
22366
22422
|
return;
|
|
22367
22423
|
}
|
|
22368
22424
|
if (context.selectedId.value) targetEl.dataset.theme = String(context.selectedId.value);
|
|
@@ -22373,6 +22429,7 @@ var V0StyleSheetThemeAdapter = class extends ThemeAdapter {
|
|
|
22373
22429
|
this.dispose = () => {
|
|
22374
22430
|
stopWatch();
|
|
22375
22431
|
stopTheme();
|
|
22432
|
+
this.detach();
|
|
22376
22433
|
};
|
|
22377
22434
|
} else {
|
|
22378
22435
|
const head = app._context?.provides?.usehead ?? app._context?.provides?.head;
|
|
@@ -22382,7 +22439,8 @@ var V0StyleSheetThemeAdapter = class extends ThemeAdapter {
|
|
|
22382
22439
|
htmlAttrs: { "data-theme": id ? String(id) : "" },
|
|
22383
22440
|
style: [{
|
|
22384
22441
|
innerHTML: this.generate(context.colors.value, context.isDark.value),
|
|
22385
|
-
id: this.stylesheetId
|
|
22442
|
+
id: this.stylesheetId,
|
|
22443
|
+
...this.cspNonce ? { nonce: this.cspNonce } : {}
|
|
22386
22444
|
}]
|
|
22387
22445
|
});
|
|
22388
22446
|
if (entry?.dispose) this.dispose = entry.dispose;
|
|
@@ -22401,6 +22459,11 @@ var V0StyleSheetThemeAdapter = class extends ThemeAdapter {
|
|
|
22401
22459
|
}
|
|
22402
22460
|
this.sheet.replaceSync(styles);
|
|
22403
22461
|
}
|
|
22462
|
+
detach() {
|
|
22463
|
+
if (!IN_BROWSER) return;
|
|
22464
|
+
document.adoptedStyleSheets = document.adoptedStyleSheets.filter((s) => s !== this.sheet);
|
|
22465
|
+
this.sheet = void 0;
|
|
22466
|
+
}
|
|
22404
22467
|
};
|
|
22405
22468
|
//#endregion
|
|
22406
22469
|
//#region src/composables/useTheme/adapters/unhead.ts
|
|
@@ -22416,8 +22479,10 @@ var V0StyleSheetThemeAdapter = class extends ThemeAdapter {
|
|
|
22416
22479
|
*/
|
|
22417
22480
|
var V0UnheadThemeAdapter = class extends ThemeAdapter {
|
|
22418
22481
|
entry;
|
|
22482
|
+
cspNonce;
|
|
22419
22483
|
constructor(options = {}) {
|
|
22420
22484
|
super(options.prefix ?? "v0");
|
|
22485
|
+
this.cspNonce = options.cspNonce;
|
|
22421
22486
|
this.stylesheetId = options.stylesheetId ?? this.stylesheetId;
|
|
22422
22487
|
}
|
|
22423
22488
|
setup(app, context, target) {
|
|
@@ -22428,7 +22493,8 @@ var V0UnheadThemeAdapter = class extends ThemeAdapter {
|
|
|
22428
22493
|
htmlAttrs: { "data-theme": id ? String(id) : "" },
|
|
22429
22494
|
style: [{
|
|
22430
22495
|
innerHTML: this.generate(context.colors.value, context.isDark.value),
|
|
22431
|
-
id: this.stylesheetId
|
|
22496
|
+
id: this.stylesheetId,
|
|
22497
|
+
...this.cspNonce ? { nonce: this.cspNonce } : {}
|
|
22432
22498
|
}]
|
|
22433
22499
|
});
|
|
22434
22500
|
}
|
|
@@ -22447,7 +22513,8 @@ var V0UnheadThemeAdapter = class extends ThemeAdapter {
|
|
|
22447
22513
|
htmlAttrs: { "data-theme": themeStr },
|
|
22448
22514
|
style: [{
|
|
22449
22515
|
innerHTML: this.generate(colors, isDark),
|
|
22450
|
-
id: this.stylesheetId
|
|
22516
|
+
id: this.stylesheetId,
|
|
22517
|
+
...this.cspNonce ? { nonce: this.cspNonce } : {}
|
|
22451
22518
|
}]
|
|
22452
22519
|
});
|
|
22453
22520
|
});
|
|
@@ -22461,7 +22528,8 @@ var V0UnheadThemeAdapter = class extends ThemeAdapter {
|
|
|
22461
22528
|
if (!this.entry) return;
|
|
22462
22529
|
this.entry.patch?.({ style: [{
|
|
22463
22530
|
innerHTML: this.generate(colors, isDark),
|
|
22464
|
-
id: this.stylesheetId
|
|
22531
|
+
id: this.stylesheetId,
|
|
22532
|
+
...this.cspNonce ? { nonce: this.cspNonce } : {}
|
|
22465
22533
|
}] });
|
|
22466
22534
|
}
|
|
22467
22535
|
};
|
|
@@ -24166,6 +24234,7 @@ function useRovingFocus(items, options = {}) {
|
|
|
24166
24234
|
}
|
|
24167
24235
|
//#endregion
|
|
24168
24236
|
//#region src/components/Treeview/TreeviewList.vue
|
|
24237
|
+
const FOCUSABLE = "a[href],button:not([disabled]),input:not([disabled]),select:not([disabled]),textarea:not([disabled]),[tabindex]";
|
|
24169
24238
|
const [useTreeviewList, provideTreeviewList] = createContext({ suffix: "list" });
|
|
24170
24239
|
const _sfc_main$166 = /* @__PURE__ */ defineComponent({
|
|
24171
24240
|
name: "TreeviewList",
|
|
@@ -24214,7 +24283,43 @@ const _sfc_main$166 = /* @__PURE__ */ defineComponent({
|
|
|
24214
24283
|
if (toValue(ticket.isOpen) && expandable(ticket)) nested.close(ticket.id);
|
|
24215
24284
|
else if (!/* @__PURE__ */ isNullOrUndefined(ticket.parentId)) roving.focus(ticket.parentId);
|
|
24216
24285
|
}
|
|
24286
|
+
function focusableChildren(el) {
|
|
24287
|
+
return Array.from(el.querySelectorAll(FOCUSABLE)).filter((child) => child.getAttribute("tabindex") !== "-1" && child.getAttribute("aria-disabled") !== "true" && child.closest("[role=\"treeitem\"]") === el);
|
|
24288
|
+
}
|
|
24289
|
+
function nextItemId(id) {
|
|
24290
|
+
/* v8 ignore next -- defensive: source is always a registered visible item */
|
|
24291
|
+
if (/* @__PURE__ */ isNullOrUndefined(id)) return void 0;
|
|
24292
|
+
const visible = nested.visibleItems();
|
|
24293
|
+
const index = visible.findIndex((item) => item.id === id);
|
|
24294
|
+
/* v8 ignore next -- defensive: a registered item is always found in visibleItems */
|
|
24295
|
+
if (index === -1) return void 0;
|
|
24296
|
+
return visible.slice(index + 1).find((item) => !toValue(item.disabled))?.id;
|
|
24297
|
+
}
|
|
24217
24298
|
function onKeydown(e) {
|
|
24299
|
+
const target = e.target;
|
|
24300
|
+
const itemEl = target.closest("[role=\"treeitem\"]");
|
|
24301
|
+
const onItem = target === e.currentTarget || target.getAttribute("role") === "treeitem";
|
|
24302
|
+
if (e.key === "Tab") {
|
|
24303
|
+
if (!itemEl) return;
|
|
24304
|
+
const controls = focusableChildren(itemEl);
|
|
24305
|
+
if (controls.length === 0) return;
|
|
24306
|
+
if (!e.shiftKey && onItem) {
|
|
24307
|
+
e.preventDefault();
|
|
24308
|
+
controls[0].focus();
|
|
24309
|
+
} else if (!e.shiftKey && target === controls.at(-1)) {
|
|
24310
|
+
const source = nested.visibleItems().find((item) => toValue(item.el) === itemEl)?.id;
|
|
24311
|
+
const next = nextItemId(source);
|
|
24312
|
+
if (!/* @__PURE__ */ isNullOrUndefined(next)) {
|
|
24313
|
+
e.preventDefault();
|
|
24314
|
+
roving.focus(next);
|
|
24315
|
+
}
|
|
24316
|
+
} else if (e.shiftKey && target === controls[0]) {
|
|
24317
|
+
e.preventDefault();
|
|
24318
|
+
itemEl.focus();
|
|
24319
|
+
}
|
|
24320
|
+
return;
|
|
24321
|
+
}
|
|
24322
|
+
if (!onItem) return;
|
|
24218
24323
|
const id = roving.focusedId.value;
|
|
24219
24324
|
const ticket = /* @__PURE__ */ isNullOrUndefined(id) ? void 0 : nested.get(id);
|
|
24220
24325
|
const rtl = isRtl(e);
|
|
@@ -27574,7 +27679,7 @@ function createMapProxy(refObject) {
|
|
|
27574
27679
|
mapHandlers[Symbol.iterator] = mapHandlers.entries;
|
|
27575
27680
|
mapProxy = new Proxy(/* @__PURE__ */ new Map(), { get(_, p) {
|
|
27576
27681
|
if (p === "size") return refObject.value.size;
|
|
27577
|
-
if (Object.
|
|
27682
|
+
if (Object.hasOwn(mapHandlers, p)) return mapHandlers[p];
|
|
27578
27683
|
const map = refObject.value;
|
|
27579
27684
|
const value = Reflect.get(map, p);
|
|
27580
27685
|
return /* @__PURE__ */ isFunction(value) ? value.bind(map) : value;
|
|
@@ -27613,7 +27718,7 @@ function createSetProxy(refObject) {
|
|
|
27613
27718
|
setHandlers[Symbol.iterator] = setHandlers.values;
|
|
27614
27719
|
setProxy = new Proxy(/* @__PURE__ */ new Set(), { get(_, p) {
|
|
27615
27720
|
if (p === "size") return refObject.value.size;
|
|
27616
|
-
if (Object.
|
|
27721
|
+
if (Object.hasOwn(setHandlers, p)) return setHandlers[p];
|
|
27617
27722
|
const set = refObject.value;
|
|
27618
27723
|
const value = Reflect.get(set, p);
|
|
27619
27724
|
return /* @__PURE__ */ isFunction(value) ? value.bind(set) : value;
|