@vuetify/v0 0.1.4 → 0.1.6
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-D_0ptsPm.mjs → adapter-Bjs_Nx_J.mjs} +8 -10
- package/dist/{adapter-BN-h5JbD.d.mts → adapter-CLs-OrSN.d.mts} +4 -4
- package/dist/browser/index.js +2150 -277
- package/dist/components/index.d.mts +8 -8
- package/dist/components/index.mjs +28 -28
- package/dist/{components-CMuzTJdK.mjs → components-GiQh_RfQ.mjs} +1570 -114
- package/dist/composables/index.d.mts +7 -7
- package/dist/composables/index.mjs +27 -27
- package/dist/constants/index.mjs +1 -1
- package/dist/{createDataTable-BJnmvxfb.mjs → createDataTable-lSofI5rU.mjs} +5 -5
- package/dist/{createGroup-CPhp6FUh.mjs → createGroup-CCb7Zfyw.mjs} +6 -5
- package/dist/{createPagination-cyOWlpfH.mjs → createPagination-lagznd8i.mjs} +2 -2
- package/dist/{createSelection-uqEbFgha.mjs → createSelection-Zo4RQpYe.mjs} +217 -61
- package/dist/{createSingle-B59ya3aa.mjs → createSingle-BH9wNDrS.mjs} +2 -2
- package/dist/{createTokens-BlhLdHXE.mjs → createTokens-Cu1efg9Z.mjs} +21 -3
- package/dist/{createTrinity-EeHQSsb6.mjs → createTrinity-Cii8-B2r.mjs} +1 -1
- package/dist/data-table/adapters/client/index.d.mts +2 -2
- package/dist/data-table/adapters/client/index.mjs +7 -7
- package/dist/data-table/adapters/index.d.mts +4 -4
- package/dist/data-table/adapters/index.mjs +9 -9
- package/dist/data-table/adapters/server/index.d.mts +2 -2
- package/dist/data-table/adapters/server/index.mjs +5 -5
- package/dist/data-table/adapters/virtual/index.d.mts +2 -2
- package/dist/data-table/adapters/virtual/index.mjs +7 -7
- package/dist/data-table/index.d.mts +5 -5
- package/dist/data-table/index.mjs +19 -19
- package/dist/date/index.mjs +2 -2
- package/dist/features/adapters/posthog/index.mjs +2 -2
- package/dist/features/index.d.mts +6 -6
- package/dist/features/index.mjs +12 -12
- package/dist/{globals-B_GVfG06.mjs → globals-D6FBsWDI.mjs} +1 -1
- package/dist/{index-7mWYFHA6.d.mts → index-DIK84tM4.d.mts} +1 -1
- package/dist/{index-Dd0m0LIJ.d.mts → index-De0SQt1w.d.mts} +849 -56
- package/dist/{index-CQrDeqsK.d.mts → index-DlUIZN-F.d.mts} +1858 -500
- package/dist/index.d.mts +8 -8
- package/dist/index.mjs +28 -28
- package/dist/json/attributes.json +366 -10
- package/dist/json/importMap.json +68 -0
- package/dist/json/tags.json +159 -0
- package/dist/json/web-types.json +1107 -41
- package/dist/locale/adapters/index.mjs +3 -3
- package/dist/locale/adapters/v0/index.mjs +3 -3
- package/dist/locale/index.d.mts +6 -6
- package/dist/locale/index.mjs +12 -12
- package/dist/logger/adapters/index.mjs +4 -4
- package/dist/logger/adapters/pino/index.mjs +3 -3
- package/dist/logger/adapters/v0/index.mjs +3 -3
- package/dist/logger/index.d.mts +6 -6
- package/dist/logger/index.mjs +6 -6
- package/dist/permissions/adapters/index.d.mts +7 -7
- package/dist/permissions/adapters/index.mjs +3 -3
- package/dist/permissions/adapters/v0/index.d.mts +7 -7
- package/dist/permissions/adapters/v0/index.mjs +3 -3
- package/dist/permissions/index.d.mts +6 -6
- package/dist/permissions/index.mjs +10 -10
- package/dist/{pino-01x_NmWp.mjs → pino-BD5PCzAF.mjs} +1 -1
- package/dist/{posthog-BrGBPPir.mjs → posthog-BxaG8sYi.mjs} +1 -1
- package/dist/{server-6cs14bj1.d.mts → server-CGAeOGPC.d.mts} +1 -1
- package/dist/{server-ClCwiLMA.mjs → server-DgOdFYMU.mjs} +1 -1
- package/dist/storage/index.d.mts +6 -6
- package/dist/storage/index.mjs +26 -26
- package/dist/theme/adapters/index.d.mts +6 -6
- package/dist/theme/adapters/index.mjs +3 -3
- package/dist/theme/adapters/v0/index.d.mts +6 -6
- package/dist/theme/adapters/v0/index.mjs +3 -3
- package/dist/theme/index.d.mts +6 -6
- package/dist/theme/index.mjs +11 -11
- package/dist/{toArray-DIeXVX1C.mjs → toArray-BBZH-G2X.mjs} +1 -1
- package/dist/{useClickOutside-p8HP07At.mjs → useClickOutside-Bm_3mbcT.mjs} +348 -104
- package/dist/{useFeatures-C4JF3Hgr.mjs → useFeatures-BS4mit8z.mjs} +4 -4
- package/dist/{useLocale-DlbShzF-.mjs → useLocale-DJJmg-wv.mjs} +6 -6
- package/dist/{useLogger-CO9JwbSJ.mjs → useLogger-C8G5jgNk.mjs} +4 -4
- package/dist/{usePermissions-DQVT_4nD.mjs → usePermissions-C5Mkotol.mjs} +4 -4
- package/dist/{useTheme-Bcw1Ebyt.mjs → useTheme-BBnASLr3.mjs} +4 -4
- package/dist/utilities/index.mjs +2 -2
- package/dist/{utilities-BqS1sC1W.mjs → utilities-CcJtp9Gx.mjs} +1 -1
- package/dist/{v0-BtQCSBOG.mjs → v0-BWBSVkew.mjs} +2 -2
- package/dist/{v0-C-9dv_1S.d.mts → v0-Bh8d1j_p.d.mts} +1 -1
- package/dist/{v0-RepwEY1F.d.mts → v0-CVr15VcY.d.mts} +1 -1
- package/dist/{v0-BogbIzpM.mjs → v0-CWUF_HqP.mjs} +2 -2
- package/dist/{v0-B40YkIQ-.mjs → v0-DtO_ICXr.mjs} +1 -1
- package/dist/{v0-ONBWyQYQ.mjs → v0-DzvhDU1W.mjs} +2 -2
- package/dist/{v0-CtjuUUPl.mjs → v0-lua6ffdk.mjs} +2 -2
- package/dist/{virtual-BP9WXRzN.mjs → virtual-BEOqkQvm.mjs} +2 -2
- package/dist/{virtual-B3IPkHC0.d.mts → virtual-CVb9hRUU.d.mts} +1 -1
- package/package.json +1 -1
|
@@ -1,15 +1,15 @@
|
|
|
1
|
-
import { a as SUPPORTS_OBSERVER, i as SUPPORTS_MUTATION_OBSERVER, n as SUPPORTS_INTERSECTION_OBSERVER, r as SUPPORTS_MATCH_MEDIA, t as IN_BROWSER } from "./globals-
|
|
2
|
-
import { a as isElement, c as isNull, g as mergeDeep, h as isUndefined, l as isNullOrUndefined, o as isFunction, p as isString, t as clamp, u as isNumber, v as useId$1, y as instanceExists } from "./utilities-
|
|
3
|
-
import { i as useContext, n as createContext, t as createTrinity } from "./createTrinity-
|
|
4
|
-
import { a as createPlugin, i as useLogger, o as createPluginContext } from "./useLogger-
|
|
5
|
-
import { i as createRegistry } from "./createTokens-
|
|
6
|
-
import { t as createSelection } from "./createSelection-
|
|
7
|
-
import { t as createSingle } from "./createSingle-
|
|
8
|
-
import { t as createGroup } from "./createGroup-
|
|
9
|
-
import { t as toArray } from "./toArray-
|
|
10
|
-
import { a as useLocale } from "./useLocale-
|
|
1
|
+
import { a as SUPPORTS_OBSERVER, i as SUPPORTS_MUTATION_OBSERVER, n as SUPPORTS_INTERSECTION_OBSERVER, r as SUPPORTS_MATCH_MEDIA, t as IN_BROWSER } from "./globals-D6FBsWDI.mjs";
|
|
2
|
+
import { a as isElement, c as isNull, d as isObject, g as mergeDeep, h as isUndefined, l as isNullOrUndefined, o as isFunction, p as isString, t as clamp, u as isNumber, v as useId$1, y as instanceExists } from "./utilities-CcJtp9Gx.mjs";
|
|
3
|
+
import { i as useContext, n as createContext, t as createTrinity } from "./createTrinity-Cii8-B2r.mjs";
|
|
4
|
+
import { a as createPlugin, i as useLogger, o as createPluginContext } from "./useLogger-C8G5jgNk.mjs";
|
|
5
|
+
import { i as createRegistry } from "./createTokens-Cu1efg9Z.mjs";
|
|
6
|
+
import { i as createModel, t as createSelection } from "./createSelection-Zo4RQpYe.mjs";
|
|
7
|
+
import { t as createSingle } from "./createSingle-BH9wNDrS.mjs";
|
|
8
|
+
import { t as createGroup } from "./createGroup-CCb7Zfyw.mjs";
|
|
9
|
+
import { t as toArray } from "./toArray-BBZH-G2X.mjs";
|
|
10
|
+
import { a as useLocale } from "./useLocale-DJJmg-wv.mjs";
|
|
11
11
|
import { t as MemoryAdapter } from "./memory-BsZGbGnG.mjs";
|
|
12
|
-
import { computed, effectScope, isRef, nextTick, onScopeDispose, reactive, readonly, ref, shallowReactive, shallowReadonly, shallowRef,
|
|
12
|
+
import { computed, effectScope, isRef, nextTick, onScopeDispose, reactive, readonly, ref, shallowReactive, shallowReadonly, shallowRef, toRef, toValue, unref, watch, watchEffect } from "vue";
|
|
13
13
|
|
|
14
14
|
//#region src/composables/createBreadcrumbs/index.ts
|
|
15
15
|
/**
|
|
@@ -245,6 +245,41 @@ const [createHydrationContext, createHydrationPlugin, useHydration] = createPlug
|
|
|
245
245
|
}
|
|
246
246
|
});
|
|
247
247
|
|
|
248
|
+
//#endregion
|
|
249
|
+
//#region src/composables/toElement/index.ts
|
|
250
|
+
/**
|
|
251
|
+
* Resolves a {@link MaybeElementRef} to a DOM Element or undefined.
|
|
252
|
+
*
|
|
253
|
+
* Handles:
|
|
254
|
+
* - `Ref<Element>`, `ShallowRef<HTMLElement>`, getter functions
|
|
255
|
+
* - Vue component instances (extracts `$el`)
|
|
256
|
+
* - Raw DOM elements (pass-through)
|
|
257
|
+
* - null/undefined (returns undefined)
|
|
258
|
+
*
|
|
259
|
+
* @param target The element ref, getter, or raw value to resolve
|
|
260
|
+
* @returns The resolved DOM Element, or undefined if not available
|
|
261
|
+
*
|
|
262
|
+
* @see https://0.vuetifyjs.com/composables/transformers/to-element
|
|
263
|
+
*
|
|
264
|
+
* @example
|
|
265
|
+
* ```ts
|
|
266
|
+
* import { toElement } from '@vuetify/v0'
|
|
267
|
+
*
|
|
268
|
+
* const el = shallowRef<HTMLElement | null>(null)
|
|
269
|
+
* toElement(el) // HTMLElement | undefined
|
|
270
|
+
*
|
|
271
|
+
* const component = ref<ComponentPublicInstance>()
|
|
272
|
+
* toElement(component) // Element | undefined (from $el)
|
|
273
|
+
* ```
|
|
274
|
+
*/
|
|
275
|
+
/* @__NO_SIDE_EFFECTS__ */
|
|
276
|
+
function toElement(target) {
|
|
277
|
+
const raw = typeof target === "function" ? target() : target && typeof target === "object" && "value" in target ? target.value : target;
|
|
278
|
+
if (!raw) return void 0;
|
|
279
|
+
if (raw instanceof Element) return raw;
|
|
280
|
+
if ("$el" in raw) return raw.$el;
|
|
281
|
+
}
|
|
282
|
+
|
|
248
283
|
//#endregion
|
|
249
284
|
//#region src/composables/createObserver/index.ts
|
|
250
285
|
/**
|
|
@@ -262,7 +297,7 @@ const [createHydrationContext, createHydrationPlugin, useHydration] = createPlug
|
|
|
262
297
|
*/
|
|
263
298
|
function createObserver(target, userCallback, config) {
|
|
264
299
|
const { isHydrated } = useHydration();
|
|
265
|
-
const
|
|
300
|
+
const resolved = toRef(() => /* @__PURE__ */ toElement(target));
|
|
266
301
|
const observer = shallowRef(void 0);
|
|
267
302
|
const isPaused = shallowRef(false);
|
|
268
303
|
const isActive = toRef(() => !!observer.value);
|
|
@@ -275,11 +310,12 @@ function createObserver(target, userCallback, config) {
|
|
|
275
310
|
}
|
|
276
311
|
function setup() {
|
|
277
312
|
if (/* @__PURE__ */ isNull(observer.value)) return;
|
|
278
|
-
|
|
313
|
+
const el = resolved.value;
|
|
314
|
+
if (!isHydrated.value || !config.supports || !/* @__PURE__ */ isElement(el) || isPaused.value) return;
|
|
279
315
|
observer.value = config.create(invoke);
|
|
280
|
-
config.observe(observer.value,
|
|
316
|
+
config.observe(observer.value, el);
|
|
281
317
|
if (config.immediate) {
|
|
282
|
-
const entries = config.immediate(
|
|
318
|
+
const entries = config.immediate(el);
|
|
283
319
|
if (config.onceIncludesImmediate) invoke(entries);
|
|
284
320
|
else {
|
|
285
321
|
config.onEntry?.(entries);
|
|
@@ -287,13 +323,13 @@ function createObserver(target, userCallback, config) {
|
|
|
287
323
|
}
|
|
288
324
|
}
|
|
289
325
|
}
|
|
290
|
-
watch(
|
|
326
|
+
watch(resolved, (el, oldEl) => {
|
|
291
327
|
if (oldEl || observer.value) cleanup();
|
|
292
328
|
if (isHydrated.value && /* @__PURE__ */ isElement(el)) setup();
|
|
293
329
|
}, { immediate: true });
|
|
294
330
|
let stopHydrationWatch;
|
|
295
331
|
if (!isHydrated.value) stopHydrationWatch = watch(() => isHydrated.value, (hydrated) => {
|
|
296
|
-
if (hydrated && /* @__PURE__ */ isElement(
|
|
332
|
+
if (hydrated && /* @__PURE__ */ isElement(resolved.value) && !observer.value) {
|
|
297
333
|
setup();
|
|
298
334
|
stopHydrationWatch?.();
|
|
299
335
|
stopHydrationWatch = void 0;
|
|
@@ -667,23 +703,22 @@ function useOverflow(namespace = "v0:overflow") {
|
|
|
667
703
|
* @module useProxyModel
|
|
668
704
|
*
|
|
669
705
|
* @remarks
|
|
670
|
-
* Proxy composable for bidirectional sync between
|
|
706
|
+
* Proxy composable for bidirectional sync between a model context and v-model.
|
|
671
707
|
*
|
|
672
708
|
* Key features:
|
|
673
709
|
* - Bidirectional synchronization
|
|
674
710
|
* - Array and single-value modes
|
|
675
711
|
* - Automatic cleanup on scope disposal
|
|
676
|
-
* -
|
|
712
|
+
* - Works with any ModelContext (Selection, Slider, etc.)
|
|
677
713
|
*
|
|
678
|
-
* Bridges the gap between
|
|
714
|
+
* Bridges the gap between model composables and Vue's v-model.
|
|
679
715
|
*/
|
|
680
716
|
/**
|
|
681
|
-
* Syncs a ref with a
|
|
717
|
+
* Syncs a ref with a model context bidirectionally.
|
|
682
718
|
*
|
|
683
|
-
* @param
|
|
719
|
+
* @param context The model context to bind to.
|
|
684
720
|
* @param model The ref to sync.
|
|
685
721
|
* @param options The options for the proxy model.
|
|
686
|
-
* @template Z The type of the selection ticket.
|
|
687
722
|
* @returns A function to stop the sync.
|
|
688
723
|
*
|
|
689
724
|
* @see https://0.vuetifyjs.com/composables/forms/use-proxy-model
|
|
@@ -702,8 +737,8 @@ function useOverflow(namespace = "v0:overflow") {
|
|
|
702
737
|
* const stop = useProxyModel(registry, model)
|
|
703
738
|
* ```
|
|
704
739
|
*/
|
|
705
|
-
function useProxyModel(
|
|
706
|
-
const multiple = options?.multiple ?? false;
|
|
740
|
+
function useProxyModel(context, model, options) {
|
|
741
|
+
const multiple = options?.multiple ?? context.multiple ?? false;
|
|
707
742
|
const _transformIn = options?.transformIn;
|
|
708
743
|
const _transformOut = options?.transformOut;
|
|
709
744
|
function transformIn(val) {
|
|
@@ -714,39 +749,20 @@ function useProxyModel(registry, model, options) {
|
|
|
714
749
|
if (/* @__PURE__ */ isFunction(_transformOut)) return _transformOut(val);
|
|
715
750
|
return toValue(multiple) ? val : val[0];
|
|
716
751
|
}
|
|
752
|
+
const applyOptions = toValue(multiple) === toValue(context.multiple ?? false) ? void 0 : { multiple: toValue(multiple) };
|
|
717
753
|
const modelAsArray = transformIn(model);
|
|
718
754
|
const pending = new Set(modelAsArray);
|
|
719
|
-
|
|
720
|
-
|
|
721
|
-
|
|
722
|
-
if (ids) {
|
|
723
|
-
for (const id of ids) registry.select(id);
|
|
724
|
-
pending.delete(value);
|
|
725
|
-
}
|
|
726
|
-
}
|
|
727
|
-
const registryWatch = watch(registry.selectedValues, (val) => {
|
|
755
|
+
context.apply(modelAsArray, applyOptions);
|
|
756
|
+
for (const value of modelAsArray) if (Array.from(context.selectedValues.value).includes(value)) pending.delete(value);
|
|
757
|
+
const contextWatch = watch(context.selectedValues, (val) => {
|
|
728
758
|
modelWatch.pause();
|
|
729
759
|
model.value = transformOut(Array.from(toValue(val)));
|
|
730
760
|
modelWatch.resume();
|
|
731
761
|
}, { flush: "sync" });
|
|
732
762
|
const modelWatch = watch(model, (val) => {
|
|
733
|
-
|
|
734
|
-
|
|
735
|
-
|
|
736
|
-
for (const value of transformIn(val)) {
|
|
737
|
-
const ids = registry.browse(toRaw(value));
|
|
738
|
-
if (ids) for (const id of ids) targetIds.add(id);
|
|
739
|
-
}
|
|
740
|
-
if (toValue(multiple)) {
|
|
741
|
-
for (const id of currentIds.difference(targetIds)) registry.selectedIds.delete(id);
|
|
742
|
-
for (const id of targetIds.difference(currentIds)) registry.selectedIds.add(id);
|
|
743
|
-
} else {
|
|
744
|
-
const next = targetIds.values().next().value;
|
|
745
|
-
const last = currentIds.values().next().value;
|
|
746
|
-
if (!/* @__PURE__ */ isUndefined(last)) registry.unselect(last);
|
|
747
|
-
if (!/* @__PURE__ */ isUndefined(next)) registry.select(next);
|
|
748
|
-
}
|
|
749
|
-
registryWatch.resume();
|
|
763
|
+
contextWatch.pause();
|
|
764
|
+
context.apply(transformIn(val), applyOptions);
|
|
765
|
+
contextWatch.resume();
|
|
750
766
|
}, {
|
|
751
767
|
flush: "sync",
|
|
752
768
|
deep: toValue(multiple)
|
|
@@ -754,18 +770,18 @@ function useProxyModel(registry, model, options) {
|
|
|
754
770
|
function onRegister(data) {
|
|
755
771
|
const ticket = data;
|
|
756
772
|
if (!pending.has(ticket.value) || toValue(ticket.disabled)) return;
|
|
757
|
-
|
|
773
|
+
contextWatch.pause();
|
|
758
774
|
modelWatch.pause();
|
|
759
|
-
|
|
775
|
+
context.select?.(ticket.id);
|
|
760
776
|
pending.delete(ticket.value);
|
|
761
777
|
modelWatch.resume();
|
|
762
|
-
|
|
778
|
+
contextWatch.resume();
|
|
763
779
|
}
|
|
764
|
-
|
|
780
|
+
context.on?.("register:ticket", onRegister);
|
|
765
781
|
function stop() {
|
|
766
|
-
|
|
782
|
+
contextWatch();
|
|
767
783
|
modelWatch();
|
|
768
|
-
|
|
784
|
+
context.off?.("register:ticket", onRegister);
|
|
769
785
|
}
|
|
770
786
|
onScopeDispose(stop, true);
|
|
771
787
|
return stop;
|
|
@@ -972,30 +988,42 @@ function createDefaultBreakpoints() {
|
|
|
972
988
|
* ```
|
|
973
989
|
*/
|
|
974
990
|
function createBreakpoints(_options = {}) {
|
|
975
|
-
const {
|
|
991
|
+
const { ssr, ...options } = _options;
|
|
992
|
+
const { mobileBreakpoint, breakpoints } = /* @__PURE__ */ mergeDeep(createDefaultBreakpoints(), options);
|
|
976
993
|
const sorted = Object.entries(breakpoints).toSorted((a, b) => a[1] - b[1]);
|
|
977
994
|
const names = sorted.map(([n]) => n);
|
|
978
995
|
const mb = /* @__PURE__ */ isNumber(mobileBreakpoint) ? mobileBreakpoint : breakpoints[mobileBreakpoint] ?? breakpoints.md;
|
|
979
|
-
const
|
|
980
|
-
const
|
|
981
|
-
const
|
|
982
|
-
|
|
983
|
-
|
|
984
|
-
|
|
985
|
-
|
|
986
|
-
|
|
987
|
-
|
|
988
|
-
|
|
989
|
-
const
|
|
990
|
-
const
|
|
991
|
-
const
|
|
992
|
-
const
|
|
993
|
-
const
|
|
994
|
-
const
|
|
995
|
-
const
|
|
996
|
-
const
|
|
997
|
-
const
|
|
998
|
-
const
|
|
996
|
+
const isSSR = !IN_BROWSER && !!ssr;
|
|
997
|
+
const initialWidth = isSSR ? ssr.clientWidth : 0;
|
|
998
|
+
const initialHeight = isSSR ? ssr.clientHeight ?? 0 : 0;
|
|
999
|
+
let initialName = "xs";
|
|
1000
|
+
if (isSSR) {
|
|
1001
|
+
for (let i = sorted.length - 1; i >= 0; i--) if (initialWidth >= sorted[i][1]) {
|
|
1002
|
+
initialName = sorted[i][0];
|
|
1003
|
+
break;
|
|
1004
|
+
}
|
|
1005
|
+
}
|
|
1006
|
+
const initialIndex = names.indexOf(initialName);
|
|
1007
|
+
const name = shallowRef(initialName);
|
|
1008
|
+
const width = shallowRef(initialWidth);
|
|
1009
|
+
const height = shallowRef(initialHeight);
|
|
1010
|
+
const isMobile = shallowRef(isSSR ? initialWidth < mb : true);
|
|
1011
|
+
const xs = shallowRef(initialIndex === 0);
|
|
1012
|
+
const sm = shallowRef(initialIndex === 1);
|
|
1013
|
+
const md = shallowRef(initialIndex === 2);
|
|
1014
|
+
const lg = shallowRef(initialIndex === 3);
|
|
1015
|
+
const xl = shallowRef(initialIndex === 4);
|
|
1016
|
+
const xxl = shallowRef(initialIndex === 5);
|
|
1017
|
+
const smAndUp = shallowRef(initialIndex >= 1);
|
|
1018
|
+
const mdAndUp = shallowRef(initialIndex >= 2);
|
|
1019
|
+
const lgAndUp = shallowRef(initialIndex >= 3);
|
|
1020
|
+
const xlAndUp = shallowRef(initialIndex >= 4);
|
|
1021
|
+
const xxlAndUp = shallowRef(initialIndex >= 5);
|
|
1022
|
+
const smAndDown = shallowRef(initialIndex <= 1);
|
|
1023
|
+
const mdAndDown = shallowRef(initialIndex <= 2);
|
|
1024
|
+
const lgAndDown = shallowRef(initialIndex <= 3);
|
|
1025
|
+
const xlAndDown = shallowRef(initialIndex <= 4);
|
|
1026
|
+
const xxlAndDown = shallowRef(initialIndex <= 5);
|
|
999
1027
|
function update() {
|
|
1000
1028
|
if (!IN_BROWSER) return;
|
|
1001
1029
|
width.value = window.innerWidth;
|
|
@@ -1047,10 +1075,12 @@ function createBreakpoints(_options = {}) {
|
|
|
1047
1075
|
lgAndDown: readonly(lgAndDown),
|
|
1048
1076
|
xlAndDown: readonly(xlAndDown),
|
|
1049
1077
|
xxlAndDown: readonly(xxlAndDown),
|
|
1078
|
+
ssr: isSSR,
|
|
1050
1079
|
update
|
|
1051
1080
|
};
|
|
1052
1081
|
}
|
|
1053
|
-
function createBreakpointsFallback() {
|
|
1082
|
+
function createBreakpointsFallback(options = {}) {
|
|
1083
|
+
if (options.ssr) return createBreakpoints(options);
|
|
1054
1084
|
return {
|
|
1055
1085
|
breakpoints: createDefaultBreakpoints().breakpoints,
|
|
1056
1086
|
name: readonly(shallowRef("xs")),
|
|
@@ -1073,12 +1103,14 @@ function createBreakpointsFallback() {
|
|
|
1073
1103
|
lgAndDown: readonly(shallowRef(false)),
|
|
1074
1104
|
xlAndDown: readonly(shallowRef(false)),
|
|
1075
1105
|
xxlAndDown: readonly(shallowRef(false)),
|
|
1106
|
+
ssr: false,
|
|
1076
1107
|
update: () => {}
|
|
1077
1108
|
};
|
|
1078
1109
|
}
|
|
1079
1110
|
const [createBreakpointsContext, createBreakpointsPlugin, useBreakpoints] = createPluginContext("v0:breakpoints", (options) => createBreakpoints(options), {
|
|
1080
1111
|
fallback: () => createBreakpointsFallback(),
|
|
1081
1112
|
setup: (context, app, _options) => {
|
|
1113
|
+
if (IN_BROWSER) context.update();
|
|
1082
1114
|
app.mixin({ mounted() {
|
|
1083
1115
|
if (!/* @__PURE__ */ isNull(this.$parent)) return;
|
|
1084
1116
|
const hydration = useHydration();
|
|
@@ -1555,6 +1587,9 @@ const keyAliasMap = {
|
|
|
1555
1587
|
space: " ",
|
|
1556
1588
|
return: "enter",
|
|
1557
1589
|
del: "delete",
|
|
1590
|
+
plus: "+",
|
|
1591
|
+
slash: "/",
|
|
1592
|
+
underscore: "_",
|
|
1558
1593
|
minus: "-",
|
|
1559
1594
|
hyphen: "-"
|
|
1560
1595
|
};
|
|
@@ -1600,7 +1635,7 @@ function splitKeyCombination(combination, isInternal = false) {
|
|
|
1600
1635
|
"++",
|
|
1601
1636
|
"//",
|
|
1602
1637
|
"__"
|
|
1603
|
-
].some((v) => combination.startsWith(v)) || combination.includes("++") || combination.includes("__") || combination === "+" || combination === "_" || combination.length > 1 && (combination.endsWith("+") || combination.endsWith("_")) && combination.at(-2) !== combination.at(-1) || combination === "++" || combination === "--" || combination === "__") {
|
|
1638
|
+
].some((v) => combination.startsWith(v)) || combination.includes("++") || combination.includes("//") || combination.includes("__") || combination === "+" || combination === "/" || combination === "_" || combination.length > 1 && (combination.endsWith("+") || combination.endsWith("/") || combination.endsWith("_")) && combination.at(-2) !== combination.at(-1) || combination === "++" || combination === "--" || combination === "__") {
|
|
1604
1639
|
if (!isInternal) logger.warn(`Invalid hotkey combination: "${combination}" has invalid structure`);
|
|
1605
1640
|
return emptyResult;
|
|
1606
1641
|
}
|
|
@@ -1666,7 +1701,11 @@ function splitKeySequence(str) {
|
|
|
1666
1701
|
logger.warn("Invalid hotkey sequence: empty string provided");
|
|
1667
1702
|
return [];
|
|
1668
1703
|
}
|
|
1669
|
-
const hasInvalidStart = str.startsWith("-") && ![
|
|
1704
|
+
const hasInvalidStart = str.startsWith("-") && ![
|
|
1705
|
+
"-",
|
|
1706
|
+
"---",
|
|
1707
|
+
"--+"
|
|
1708
|
+
].includes(str);
|
|
1670
1709
|
const hasInvalidEnd = str.endsWith("-") && !str.endsWith("+-") && !str.endsWith("_-") && str !== "-" && str !== "---";
|
|
1671
1710
|
if (hasInvalidStart || hasInvalidEnd) {
|
|
1672
1711
|
logger.warn(`Invalid hotkey sequence: "${str}" contains invalid combinations`);
|
|
@@ -2892,10 +2931,15 @@ function createNested(_options = {}) {
|
|
|
2892
2931
|
openedIds.clear();
|
|
2893
2932
|
activeIds.clear();
|
|
2894
2933
|
rootIds.clear();
|
|
2895
|
-
group.
|
|
2934
|
+
group.clear();
|
|
2896
2935
|
}
|
|
2897
2936
|
function reset() {
|
|
2898
|
-
clear();
|
|
2937
|
+
children.clear();
|
|
2938
|
+
parents.clear();
|
|
2939
|
+
openedIds.clear();
|
|
2940
|
+
activeIds.clear();
|
|
2941
|
+
rootIds.clear();
|
|
2942
|
+
group.reset();
|
|
2899
2943
|
}
|
|
2900
2944
|
const context = {
|
|
2901
2945
|
...group,
|
|
@@ -3180,6 +3224,191 @@ function useQueue(namespace = "v0:queue") {
|
|
|
3180
3224
|
return useContext(namespace);
|
|
3181
3225
|
}
|
|
3182
3226
|
|
|
3227
|
+
//#endregion
|
|
3228
|
+
//#region src/composables/createSlider/index.ts
|
|
3229
|
+
/**
|
|
3230
|
+
* @module createSlider
|
|
3231
|
+
*
|
|
3232
|
+
* @see https://0.vuetifyjs.com/composables/forms/create-slider
|
|
3233
|
+
*
|
|
3234
|
+
* @remarks
|
|
3235
|
+
* Composable for managing slider state: value math, step snapping,
|
|
3236
|
+
* percentage conversion, and multi-thumb value operations.
|
|
3237
|
+
*
|
|
3238
|
+
* Extends createModel for useProxyModel compatibility:
|
|
3239
|
+
* - createRegistry → createModel → createSlider (ticket-per-thumb)
|
|
3240
|
+
*
|
|
3241
|
+
* Each thumb is a model ticket with a `shallowRef<number>` value.
|
|
3242
|
+
* Values are derived from ordered tickets, not a standalone ref.
|
|
3243
|
+
*
|
|
3244
|
+
* Designed for single-thumb, range, and multi-thumb sliders.
|
|
3245
|
+
* Also reusable for color picker tracks, media scrubbers,
|
|
3246
|
+
* gradient editors, and other 1D value-on-track controls.
|
|
3247
|
+
*/
|
|
3248
|
+
/**
|
|
3249
|
+
* Creates slider state with value math, step snapping, and multi-thumb support.
|
|
3250
|
+
*
|
|
3251
|
+
* Extends createModel for useProxyModel compatibility. Each thumb is a model
|
|
3252
|
+
* ticket with a shallowRef<number> value. Values are derived from the ordered
|
|
3253
|
+
* tickets, enabling proper registration/unregistration lifecycle.
|
|
3254
|
+
*
|
|
3255
|
+
* @param options Slider configuration.
|
|
3256
|
+
* @returns Slider context with values, math functions, and thumb operations.
|
|
3257
|
+
*
|
|
3258
|
+
* @see https://0.vuetifyjs.com/composables/forms/create-slider
|
|
3259
|
+
* @see {@link createModel} for the base model composable.
|
|
3260
|
+
*
|
|
3261
|
+
* @example Single thumb
|
|
3262
|
+
* ```ts
|
|
3263
|
+
* import { createSlider } from '@vuetify/v0'
|
|
3264
|
+
*
|
|
3265
|
+
* const slider = createSlider({ min: 0, max: 100, step: 5 })
|
|
3266
|
+
* const ticket = slider.register({ value: 50 })
|
|
3267
|
+
* slider.up(0) // values: [55]
|
|
3268
|
+
* slider.fromValue(50) // 50
|
|
3269
|
+
* ```
|
|
3270
|
+
*
|
|
3271
|
+
* @example Range slider
|
|
3272
|
+
* ```ts
|
|
3273
|
+
* import { createSlider } from '@vuetify/v0'
|
|
3274
|
+
*
|
|
3275
|
+
* const slider = createSlider({ min: 0, max: 100, step: 1, range: true })
|
|
3276
|
+
* slider.register({ value: 25 })
|
|
3277
|
+
* slider.register({ value: 75 })
|
|
3278
|
+
* slider.set(0, 30) // values: [30, 75]
|
|
3279
|
+
* slider.set(1, 60) // values: [30, 60]
|
|
3280
|
+
* ```
|
|
3281
|
+
*
|
|
3282
|
+
* @example Custom pointer interaction (media scrubber)
|
|
3283
|
+
* ```ts
|
|
3284
|
+
* import { createSlider } from '@vuetify/v0'
|
|
3285
|
+
*
|
|
3286
|
+
* const slider = createSlider({ min: 0, max: 217, step: 0.1 })
|
|
3287
|
+
* slider.register({ value: 0 })
|
|
3288
|
+
*
|
|
3289
|
+
* // pointer → fromPercent → set → fromValue → UI
|
|
3290
|
+
* const percent = (clientX - rect.left) / rect.width * 100
|
|
3291
|
+
* slider.set(0, slider.fromPercent(percent))
|
|
3292
|
+
* const position = slider.fromValue(slider.values.value[0])
|
|
3293
|
+
* ```
|
|
3294
|
+
*/
|
|
3295
|
+
function createSlider(options = {}) {
|
|
3296
|
+
const { min = 0, max = 100, step = 1, disabled: disabledProp = false, readonly: readonlyProp = false, orientation: orientationProp = "horizontal", inverted: invertedProp = false, minStepsBetweenThumbs = 0, crossover = false, range = false } = options;
|
|
3297
|
+
const model = createModel({
|
|
3298
|
+
disabled: disabledProp,
|
|
3299
|
+
multiple: true,
|
|
3300
|
+
events: true
|
|
3301
|
+
});
|
|
3302
|
+
const disabled = toRef(() => toValue(disabledProp));
|
|
3303
|
+
const readonly$1 = toRef(() => toValue(readonlyProp));
|
|
3304
|
+
const orientation = toRef(() => toValue(orientationProp));
|
|
3305
|
+
const inverted = toRef(() => toValue(invertedProp));
|
|
3306
|
+
const extent = max - min;
|
|
3307
|
+
let pending = null;
|
|
3308
|
+
const thumbs = computed(() => Array.from(model.selectedItems.value).toSorted((a, b) => a.index - b.index));
|
|
3309
|
+
const values = computed(() => thumbs.value.map((t) => toValue(t.value)));
|
|
3310
|
+
const selectedValues = computed(() => values.value);
|
|
3311
|
+
function snap(value) {
|
|
3312
|
+
if (step <= 0) return /* @__PURE__ */ clamp(value, min, max);
|
|
3313
|
+
const clamped = /* @__PURE__ */ clamp(value, min, max);
|
|
3314
|
+
return /* @__PURE__ */ clamp(min + Math.round((clamped - min) / step) * step, min, max);
|
|
3315
|
+
}
|
|
3316
|
+
function fromValue(value) {
|
|
3317
|
+
if (extent === 0) return 0;
|
|
3318
|
+
const p = (value - min) / extent * 100;
|
|
3319
|
+
return inverted.value ? 100 - p : p;
|
|
3320
|
+
}
|
|
3321
|
+
function fromPercent(p) {
|
|
3322
|
+
return snap(min + (inverted.value ? 100 - p : p) / 100 * extent);
|
|
3323
|
+
}
|
|
3324
|
+
function register(input) {
|
|
3325
|
+
const initialValue = /* @__PURE__ */ isObject(input) ? input.value : input;
|
|
3326
|
+
const thumbIndex = thumbs.value.length;
|
|
3327
|
+
const pendingValue = pending?.[thumbIndex];
|
|
3328
|
+
const val = /* @__PURE__ */ isUndefined(pendingValue) ? snap(initialValue ?? min) : snap(pendingValue);
|
|
3329
|
+
const ticket = model.register({ value: shallowRef(val) });
|
|
3330
|
+
if (!model.selectedIds.has(ticket.id)) model.selectedIds.add(ticket.id);
|
|
3331
|
+
if (pending && thumbs.value.length >= pending.length) pending = null;
|
|
3332
|
+
return ticket;
|
|
3333
|
+
}
|
|
3334
|
+
function apply(incoming, _options) {
|
|
3335
|
+
const snapped = incoming.map((v) => snap(Number(v)));
|
|
3336
|
+
if (thumbs.value.length === 0) {
|
|
3337
|
+
pending = snapped;
|
|
3338
|
+
return;
|
|
3339
|
+
}
|
|
3340
|
+
for (let index = 0; index < snapped.length; index++) {
|
|
3341
|
+
const ticket = thumbs.value[index];
|
|
3342
|
+
if (!ticket || !isRef(ticket.value)) continue;
|
|
3343
|
+
let constrained = snapped[index];
|
|
3344
|
+
if (!crossover) {
|
|
3345
|
+
const gap = minStepsBetweenThumbs * step;
|
|
3346
|
+
const prev = index > 0 ? snapped[index - 1] : void 0;
|
|
3347
|
+
const following = index < snapped.length - 1 ? snapped[index + 1] : void 0;
|
|
3348
|
+
if (!/* @__PURE__ */ isUndefined(prev)) constrained = Math.max(constrained, prev + gap);
|
|
3349
|
+
if (!/* @__PURE__ */ isUndefined(following)) constrained = Math.min(constrained, following - gap);
|
|
3350
|
+
}
|
|
3351
|
+
ticket.value.value = /* @__PURE__ */ clamp(constrained, min, max);
|
|
3352
|
+
}
|
|
3353
|
+
}
|
|
3354
|
+
function set(index, value) {
|
|
3355
|
+
if (readonly$1.value) return;
|
|
3356
|
+
const snapped = snap(value);
|
|
3357
|
+
const current = values.value;
|
|
3358
|
+
let constrained = snapped;
|
|
3359
|
+
if (!crossover) {
|
|
3360
|
+
const gap = minStepsBetweenThumbs * step;
|
|
3361
|
+
const prev = current[index - 1];
|
|
3362
|
+
const following = current[index + 1];
|
|
3363
|
+
if (index > 0 && !/* @__PURE__ */ isUndefined(prev)) constrained = Math.max(constrained, prev + gap);
|
|
3364
|
+
if (index < current.length - 1 && !/* @__PURE__ */ isUndefined(following)) constrained = Math.min(constrained, following - gap);
|
|
3365
|
+
}
|
|
3366
|
+
constrained = /* @__PURE__ */ clamp(constrained, min, max);
|
|
3367
|
+
const ticket = thumbs.value[index];
|
|
3368
|
+
if (ticket && isRef(ticket.value)) ticket.value.value = constrained;
|
|
3369
|
+
}
|
|
3370
|
+
function up(index, multiplier = 1) {
|
|
3371
|
+
set(index, (values.value[index] ?? min) + step * multiplier);
|
|
3372
|
+
}
|
|
3373
|
+
function down(index, multiplier = 1) {
|
|
3374
|
+
set(index, (values.value[index] ?? min) - step * multiplier);
|
|
3375
|
+
}
|
|
3376
|
+
function floor(index) {
|
|
3377
|
+
set(index, min);
|
|
3378
|
+
}
|
|
3379
|
+
function ceil(index) {
|
|
3380
|
+
set(index, max);
|
|
3381
|
+
}
|
|
3382
|
+
return {
|
|
3383
|
+
...model,
|
|
3384
|
+
values,
|
|
3385
|
+
selectedValues,
|
|
3386
|
+
apply,
|
|
3387
|
+
range,
|
|
3388
|
+
min,
|
|
3389
|
+
max,
|
|
3390
|
+
step,
|
|
3391
|
+
minStepsBetweenThumbs,
|
|
3392
|
+
crossover,
|
|
3393
|
+
disabled,
|
|
3394
|
+
readonly: readonly$1,
|
|
3395
|
+
orientation,
|
|
3396
|
+
inverted,
|
|
3397
|
+
register,
|
|
3398
|
+
snap,
|
|
3399
|
+
fromValue,
|
|
3400
|
+
fromPercent,
|
|
3401
|
+
set,
|
|
3402
|
+
up,
|
|
3403
|
+
down,
|
|
3404
|
+
floor,
|
|
3405
|
+
ceil,
|
|
3406
|
+
get size() {
|
|
3407
|
+
return model.size;
|
|
3408
|
+
}
|
|
3409
|
+
};
|
|
3410
|
+
}
|
|
3411
|
+
|
|
3183
3412
|
//#endregion
|
|
3184
3413
|
//#region src/composables/useStack/index.ts
|
|
3185
3414
|
/**
|
|
@@ -3653,31 +3882,50 @@ function createStorage(options = {}) {
|
|
|
3653
3882
|
const { adapter = IN_BROWSER ? window.localStorage : new MemoryAdapter(), prefix = "v0:", serializer = {
|
|
3654
3883
|
read: JSON.parse,
|
|
3655
3884
|
write: JSON.stringify
|
|
3656
|
-
} } = options;
|
|
3885
|
+
}, ttl } = options;
|
|
3657
3886
|
const cache = /* @__PURE__ */ new Map();
|
|
3658
3887
|
const watchers = /* @__PURE__ */ new Map();
|
|
3659
3888
|
function has(key) {
|
|
3660
3889
|
const prefixedKey = `${prefix}${key}`;
|
|
3661
3890
|
return cache.has(prefixedKey);
|
|
3662
3891
|
}
|
|
3663
|
-
function
|
|
3664
|
-
const
|
|
3665
|
-
if (
|
|
3666
|
-
|
|
3667
|
-
|
|
3668
|
-
|
|
3669
|
-
|
|
3892
|
+
function readStored(prefixedKey) {
|
|
3893
|
+
const raw = adapter?.getItem(prefixedKey);
|
|
3894
|
+
if (!raw) return void 0;
|
|
3895
|
+
try {
|
|
3896
|
+
const parsed = serializer.read(raw);
|
|
3897
|
+
if (ttl && parsed && typeof parsed === "object" && "__ttl" in parsed && "__v" in parsed) {
|
|
3898
|
+
if (Date.now() - parsed.__t > ttl) {
|
|
3899
|
+
adapter?.removeItem(prefixedKey);
|
|
3900
|
+
return;
|
|
3901
|
+
}
|
|
3902
|
+
return parsed.__v;
|
|
3903
|
+
}
|
|
3904
|
+
return parsed;
|
|
3670
3905
|
} catch (error) {
|
|
3671
3906
|
console.error(`[v0:storage] Failed to parse stored value for key "${prefixedKey}":`, error);
|
|
3907
|
+
return;
|
|
3908
|
+
}
|
|
3909
|
+
}
|
|
3910
|
+
function writeStored(prefixedKey, value) {
|
|
3911
|
+
const wrapped = ttl ? {
|
|
3912
|
+
__ttl: 1,
|
|
3913
|
+
__v: value,
|
|
3914
|
+
__t: Date.now()
|
|
3915
|
+
} : value;
|
|
3916
|
+
try {
|
|
3917
|
+
adapter?.setItem(prefixedKey, serializer.write(wrapped));
|
|
3918
|
+
} catch (error) {
|
|
3919
|
+
console.error(`[v0:storage] Failed to write key "${prefixedKey}":`, error);
|
|
3672
3920
|
}
|
|
3673
|
-
|
|
3921
|
+
}
|
|
3922
|
+
function get(key, defaultValue) {
|
|
3923
|
+
const prefixedKey = `${prefix}${key}`;
|
|
3924
|
+
if (cache.has(prefixedKey)) return cache.get(prefixedKey);
|
|
3925
|
+
const valueRef = ref(readStored(prefixedKey) ?? defaultValue);
|
|
3674
3926
|
const stop = watch(valueRef, (newValue) => {
|
|
3675
3927
|
if (/* @__PURE__ */ isNullOrUndefined(newValue)) adapter?.removeItem(prefixedKey);
|
|
3676
|
-
else
|
|
3677
|
-
adapter?.setItem(prefixedKey, serializer.write(newValue));
|
|
3678
|
-
} catch (error) {
|
|
3679
|
-
console.error(`[v0:storage] Failed to write key "${prefixedKey}":`, error);
|
|
3680
|
-
}
|
|
3928
|
+
else writeStored(prefixedKey, newValue);
|
|
3681
3929
|
}, { deep: true });
|
|
3682
3930
|
watchers.set(prefixedKey, stop);
|
|
3683
3931
|
cache.set(prefixedKey, valueRef);
|
|
@@ -3711,14 +3959,10 @@ function createStorage(options = {}) {
|
|
|
3711
3959
|
const valueRef = cache.get(e.key);
|
|
3712
3960
|
if (!valueRef) return;
|
|
3713
3961
|
watchers.get(e.key)?.();
|
|
3714
|
-
valueRef.value = e.newValue == null ? void 0 :
|
|
3962
|
+
valueRef.value = e.newValue == null ? void 0 : readStored(e.key);
|
|
3715
3963
|
const stop = watch(valueRef, (newValue) => {
|
|
3716
3964
|
if (/* @__PURE__ */ isNullOrUndefined(newValue)) adapter?.removeItem(e.key);
|
|
3717
|
-
else
|
|
3718
|
-
adapter?.setItem(e.key, serializer.write(newValue));
|
|
3719
|
-
} catch (error) {
|
|
3720
|
-
console.error(`[v0:storage] Failed to write key "${e.key}":`, error);
|
|
3721
|
-
}
|
|
3965
|
+
else writeStored(e.key, newValue);
|
|
3722
3966
|
}, { deep: true });
|
|
3723
3967
|
watchers.set(e.key, stop);
|
|
3724
3968
|
});
|
|
@@ -4677,4 +4921,4 @@ function useClickOutside(target, handler, options = {}) {
|
|
|
4677
4921
|
}
|
|
4678
4922
|
|
|
4679
4923
|
//#endregion
|
|
4680
|
-
export {
|
|
4924
|
+
export { useProxyModel as $, multipleOpenStrategy as A, useHotkey as B, createSlider as C, createNested as D, useQueue as E, usePrefersDark as F, createDateContext as G, createFormContext as H, usePrefersReducedMotion as I, createBreakpoints as J, createDatePlugin as K, useLazy as L, useMutationObserver as M, useMediaQuery as N, createNestedContext as O, usePrefersContrast as P, toReactive as Q, useElementIntersection as R, useStack as S, createQueueContext as T, useForm as U, createForm as V, createDate as W, createBreakpointsPlugin as X, createBreakpointsContext as Y, useBreakpoints as Z, createStepContext as _, createVirtual as a, toElement as at, createStackContext as b, useToggleScope as c, createHydrationContext as ct, useTimeline as d, createBreadcrumbs as dt, createOverflow as et, createStorage as f, createBreadcrumbsContext as ft, createStep as g, useStorage as h, useWindowEventListener as i, useResizeObserver as it, singleOpenStrategy as j, useNested as k, createTimeline as l, createHydrationPlugin as lt, createStoragePlugin as m, useDocumentEventListener as n, useOverflow as nt, createVirtualContext as o, createFallbackHydration as ot, createStorageContext as p, useBreadcrumbs as pt, useDate as q, useEventListener as r, useElementSize as rt, useVirtual as s, createHydration as st, useClickOutside as t, createOverflowContext as tt, createTimelineContext as u, useHydration as ut, useStep as v, createQueue as w, createStackPlugin as x, createStack as y, useIntersectionObserver as z };
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import { d as isObject, i as isBoolean, o as isFunction, r as isArray } from "./utilities-
|
|
2
|
-
import { o as createPluginContext } from "./useLogger-
|
|
3
|
-
import { t as createTokens } from "./createTokens-
|
|
4
|
-
import { t as createGroup } from "./createGroup-
|
|
1
|
+
import { d as isObject, i as isBoolean, o as isFunction, r as isArray } from "./utilities-CcJtp9Gx.mjs";
|
|
2
|
+
import { o as createPluginContext } from "./useLogger-C8G5jgNk.mjs";
|
|
3
|
+
import { t as createTokens } from "./createTokens-Cu1efg9Z.mjs";
|
|
4
|
+
import { t as createGroup } from "./createGroup-CCb7Zfyw.mjs";
|
|
5
5
|
|
|
6
6
|
//#region src/composables/useFeatures/adapters/generic/index.ts
|
|
7
7
|
var FeaturesAdapter = class {};
|
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
import { p as isString } from "./utilities-
|
|
2
|
-
import { o as createPluginContext } from "./useLogger-
|
|
3
|
-
import { t as createTokens } from "./createTokens-
|
|
4
|
-
import { t as createSingle } from "./createSingle-
|
|
5
|
-
import { t as toArray } from "./toArray-
|
|
6
|
-
import { t as Vuetify0LocaleAdapter } from "./v0-
|
|
1
|
+
import { p as isString } from "./utilities-CcJtp9Gx.mjs";
|
|
2
|
+
import { o as createPluginContext } from "./useLogger-C8G5jgNk.mjs";
|
|
3
|
+
import { t as createTokens } from "./createTokens-Cu1efg9Z.mjs";
|
|
4
|
+
import { t as createSingle } from "./createSingle-BH9wNDrS.mjs";
|
|
5
|
+
import { t as toArray } from "./toArray-BBZH-G2X.mjs";
|
|
6
|
+
import { t as Vuetify0LocaleAdapter } from "./v0-BWBSVkew.mjs";
|
|
7
7
|
|
|
8
8
|
//#region src/composables/useLocale/index.ts
|
|
9
9
|
/**
|