@vuetify/v0 0.1.9 → 0.1.11

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.
Files changed (114) hide show
  1. package/dist/{adapter-CWp5eQ6R.d.mts → adapter-CN3E66HY.d.mts} +1 -1
  2. package/dist/{adapter-CqP9Z4JU.d.mts → adapter-Dv4TFNh9.d.mts} +7 -7
  3. package/dist/browser/index.js +4522 -3226
  4. package/dist/components/index.d.mts +2 -2
  5. package/dist/components/index.mjs +19 -19
  6. package/dist/{components-mSy9az8x.mjs → components-Cxi4P1uo.mjs} +1374 -277
  7. package/dist/composables/index.d.mts +14 -14
  8. package/dist/composables/index.mjs +18 -18
  9. package/dist/{consola-C1OjyZVf.d.mts → consola-mE3TUsie.d.mts} +1 -1
  10. package/dist/constants/index.d.mts +1 -1
  11. package/dist/constants/index.mjs +1 -1
  12. package/dist/{createDataTable-DIl09siC.mjs → createDataTable-DnaaoU_Q.mjs} +2 -2
  13. package/dist/{createGroup-PvzsLu9E.mjs → createGroup-BgDjEOXE.mjs} +1 -1
  14. package/dist/{createSelection-DbWP6c7H.mjs → createSelection-I3pID-Mh.mjs} +1 -1
  15. package/dist/{createSingle-CeAJpbXs.mjs → createSingle-CqX-KXFr.mjs} +1 -1
  16. package/dist/{createTokens-C1gIuKCK.mjs → createTokens-vyh3quuB.mjs} +2 -2
  17. package/dist/data-table/adapters/client/index.mjs +1 -1
  18. package/dist/data-table/adapters/index.mjs +1 -1
  19. package/dist/data-table/adapters/server/index.mjs +1 -1
  20. package/dist/data-table/adapters/virtual/index.mjs +1 -1
  21. package/dist/data-table/index.d.mts +1 -1
  22. package/dist/data-table/index.mjs +10 -10
  23. package/dist/date/index.d.mts +9 -6
  24. package/dist/date/index.mjs +22 -15
  25. package/dist/features/adapters/flagsmith/index.d.mts +1 -13
  26. package/dist/features/adapters/launchdarkly/index.d.mts +1 -12
  27. package/dist/features/adapters/posthog/index.d.mts +1 -12
  28. package/dist/features/adapters/posthog/index.mjs +2 -2
  29. package/dist/features/index.d.mts +2 -2
  30. package/dist/features/index.mjs +8 -8
  31. package/dist/{globals-3i9umzyz.mjs → globals-TLLuB8XQ.mjs} +1 -1
  32. package/dist/index-BTG8veDR.d.mts +13 -0
  33. package/dist/{index-C5XZRWlO.d.mts → index-Bz8iXBEX.d.mts} +2475 -960
  34. package/dist/index-CDGG7lCB.d.mts +1 -0
  35. package/dist/index-CrqJIYCP.d.mts +13 -0
  36. package/dist/index-D9G_YWS_.d.mts +14 -0
  37. package/dist/{index-BL4uTXWQ.d.mts → index-Dlz-FzrC.d.mts} +20 -21
  38. package/dist/index-LhFpnU-f.d.mts +1 -0
  39. package/dist/{index-BoK8Ln2f.d.mts → index-YyqYAay2.d.mts} +9 -1
  40. package/dist/{index-D0qnkRbl.d.mts → index-bMdAIUKN.d.mts} +86 -15
  41. package/dist/index.d.mts +17 -17
  42. package/dist/index.mjs +20 -20
  43. package/dist/json/attributes.json +329 -1
  44. package/dist/json/importMap.json +80 -0
  45. package/dist/json/tags.json +172 -0
  46. package/dist/json/web-types.json +2635 -1621
  47. package/dist/locale/adapters/index.d.mts +2 -2
  48. package/dist/locale/adapters/index.mjs +2 -2
  49. package/dist/locale/adapters/v0/index.d.mts +1 -1
  50. package/dist/locale/adapters/v0/index.mjs +2 -2
  51. package/dist/locale/adapters/vue-i18n/index.d.mts +1 -1
  52. package/dist/locale/adapters/vue-i18n/index.mjs +1 -1
  53. package/dist/locale/index.d.mts +3 -3
  54. package/dist/locale/index.mjs +8 -8
  55. package/dist/logger/adapters/consola/index.d.mts +1 -1
  56. package/dist/logger/adapters/index.d.mts +4 -4
  57. package/dist/logger/adapters/index.mjs +2 -2
  58. package/dist/logger/adapters/pino/index.d.mts +1 -1
  59. package/dist/logger/adapters/pino/index.mjs +1 -1
  60. package/dist/logger/adapters/v0/index.d.mts +1 -1
  61. package/dist/logger/adapters/v0/index.mjs +2 -2
  62. package/dist/logger/index.d.mts +5 -5
  63. package/dist/logger/index.mjs +3 -3
  64. package/dist/notifications/index.d.mts +1 -2
  65. package/dist/notifications/index.mjs +1 -1
  66. package/dist/palettes/ant/index.d.mts +1 -1
  67. package/dist/palettes/index.d.mts +2 -3
  68. package/dist/palettes/material/index.d.mts +1 -1
  69. package/dist/palettes/md1/index.d.mts +1 -1
  70. package/dist/palettes/md2/index.d.mts +1 -1
  71. package/dist/palettes/radix/index.d.mts +1 -1
  72. package/dist/palettes/tailwind/index.d.mts +1 -1
  73. package/dist/permissions/adapters/index.d.mts +1 -2
  74. package/dist/permissions/adapters/index.mjs +1 -1
  75. package/dist/permissions/adapters/v0/index.d.mts +1 -1
  76. package/dist/permissions/adapters/v0/index.mjs +1 -1
  77. package/dist/permissions/index.d.mts +1 -1
  78. package/dist/permissions/index.mjs +5 -5
  79. package/dist/{pino-CM1iLXmi.d.mts → pino-DUx_ooLa.d.mts} +1 -1
  80. package/dist/{posthog-CCQFQ5XD.mjs → posthog-0A_Ageii.mjs} +1 -1
  81. package/dist/rules/index.d.mts +1 -1
  82. package/dist/rules/index.mjs +9 -9
  83. package/dist/storage/adapters/index.d.mts +2 -2
  84. package/dist/storage/adapters/memory/index.d.mts +1 -1
  85. package/dist/storage/index.d.mts +3 -3
  86. package/dist/storage/index.mjs +17 -17
  87. package/dist/theme/adapters/index.d.mts +1 -1
  88. package/dist/theme/adapters/index.mjs +2 -2
  89. package/dist/theme/adapters/v0/index.d.mts +1 -1
  90. package/dist/theme/adapters/v0/index.mjs +2 -2
  91. package/dist/theme/index.d.mts +1 -1
  92. package/dist/theme/index.mjs +8 -8
  93. package/dist/{useClickOutside-hOhNk4eS.mjs → useClickOutside-R0S58NVr.mjs} +262 -151
  94. package/dist/{useFeatures-CXRQvucQ.mjs → useFeatures-Bn16wSHD.mjs} +3 -3
  95. package/dist/{useLocale-BaufqE5Z.mjs → useLocale-B8NaQT2b.mjs} +10 -4
  96. package/dist/{useLogger-cGK00Ywd.mjs → useLogger-xp_tiLJ5.mjs} +2 -2
  97. package/dist/{usePermissions-CR0HkjsF.mjs → usePermissions-nkU9OBB8.mjs} +2 -2
  98. package/dist/{useRules-LD-_-Hxt.mjs → useRules-RkVMgycJ.mjs} +2 -2
  99. package/dist/{useTheme-Cs79AFNR.mjs → useTheme-QFLbV6tH.mjs} +18 -8
  100. package/dist/utilities/index.d.mts +2 -2
  101. package/dist/utilities/index.mjs +120 -51
  102. package/dist/{v0-Zu7neOYg.mjs → v0-AoEx-7U5.mjs} +8 -3
  103. package/dist/{v0-JPf99NKg.d.mts → v0-BdhPBG_p.d.mts} +1 -1
  104. package/dist/{v0-BdD1F6JK.d.mts → v0-CItl0K-e.d.mts} +1 -1
  105. package/dist/{v0-CehUknHv.mjs → v0-CkxwC3wm.mjs} +1 -1
  106. package/dist/{v0-BJYwZgtp.mjs → v0-Di7YUWAH.mjs} +1 -1
  107. package/package.json +1 -1
  108. package/dist/v0-DFAgNbvC.d.mts +0 -10
  109. /package/dist/{adapter-CJQav2JB.d.mts → adapter-DcJbLnTC.d.mts} +0 -0
  110. /package/dist/{index-BvTD7kU8.d.mts → index-BAHMiB95.d.mts} +0 -0
  111. /package/dist/{index-dJKXAO5D.d.mts → index-BC1S8-8J.d.mts} +0 -0
  112. /package/dist/{index-CLDBngUs.d.mts → index-B_fIwnhR.d.mts} +0 -0
  113. /package/dist/{index-DSao7i57.d.mts → index-DiLStryt.d.mts} +0 -0
  114. /package/dist/{memory-DyBabFV1.d.mts → memory-CDrksYgA.d.mts} +0 -0
@@ -1,7 +1,8 @@
1
- import { o as createPluginContext } from "./useLogger-cGK00Ywd.mjs";
2
- import { t as createTokens } from "./createTokens-C1gIuKCK.mjs";
3
- import { t as createSingle } from "./createSingle-CeAJpbXs.mjs";
4
- import { t as Vuetify0ThemeAdapter } from "./v0-Zu7neOYg.mjs";
1
+ import { foreground } from "./utilities/index.mjs";
2
+ import { o as createPluginContext } from "./useLogger-xp_tiLJ5.mjs";
3
+ import { r as flatten, t as createTokens } from "./createTokens-vyh3quuB.mjs";
4
+ import { t as createSingle } from "./createSingle-CqX-KXFr.mjs";
5
+ import { t as Vuetify0ThemeAdapter } from "./v0-AoEx-7U5.mjs";
5
6
  import { computed, shallowRef, toRef } from "vue";
6
7
  //#region src/composables/useTheme/index.ts
7
8
  /**
@@ -57,7 +58,7 @@ import { computed, shallowRef, toRef } from "vue";
57
58
  * ```
58
59
  */
59
60
  function createTheme(_options = {}) {
60
- const { themes = {}, palette = {}, ...options } = _options;
61
+ const { themes = {}, palette = {}, foreground: genForeground, ...options } = _options;
61
62
  const tokens = createTokens({
62
63
  palette,
63
64
  ...themes
@@ -77,7 +78,12 @@ function createTheme(_options = {}) {
77
78
  const resolved = {};
78
79
  for (const theme of registry.values()) {
79
80
  if (theme.lazy && theme.id !== registry.selectedId.value) continue;
80
- resolved[theme.id] = resolve(theme.value);
81
+ const themeColors = resolve(theme.value);
82
+ if (genForeground) for (const [key, value] of Object.entries(themeColors)) {
83
+ const onKey = `on-${key}`;
84
+ if (!key.startsWith("on-") && !(onKey in themeColors)) themeColors[onKey] = foreground(value);
85
+ }
86
+ resolved[theme.id] = themeColors;
81
87
  }
82
88
  return resolved;
83
89
  });
@@ -93,10 +99,13 @@ function createTheme(_options = {}) {
93
99
  return resolved;
94
100
  }
95
101
  function register(registration = {}) {
102
+ const { colors, ...rest } = registration;
103
+ if (colors && rest.id && !registry.has(rest.id)) tokens.onboard(flatten({ [rest.id]: { colors } }, "", true));
96
104
  const item = {
97
105
  lazy: false,
98
106
  dark: false,
99
- ...registration
107
+ ...rest,
108
+ ...colors ? { value: colors } : {}
100
109
  };
101
110
  return registry.register(item);
102
111
  }
@@ -125,7 +134,8 @@ function createThemeFallback() {
125
134
  }
126
135
  const [createThemeContext, createThemePlugin, useTheme] = createPluginContext("v0:theme", (options) => createTheme(options), {
127
136
  fallback: () => createThemeFallback(),
128
- setup: (context, app, { adapter = new Vuetify0ThemeAdapter(), target }) => {
137
+ setup: (context, app, { adapter = new Vuetify0ThemeAdapter(), target, rgb }) => {
138
+ if (rgb) adapter.rgb = true;
129
139
  adapter.setup(app, context, target);
130
140
  }
131
141
  });
@@ -1,2 +1,2 @@
1
- import { _ as isUndefined, a as isArray, b as useId, c as isFunction, d as isNullOrUndefined, f as isNumber, g as isSymbol, h as isString, i as debounce, l as isNaN, m as isPrimitive, n as instanceName, o as isBoolean, p as isObject, r as clamp, s as isElement, t as instanceExists, u as isNull, v as mergeDeep, y as range } from "../index-BL4uTXWQ.mjs";
2
- export { clamp, debounce, instanceExists, instanceName, isArray, isBoolean, isElement, isFunction, isNaN, isNull, isNullOrUndefined, isNumber, isObject, isPrimitive, isString, isSymbol, isUndefined, mergeDeep, range, useId };
1
+ import { C as hexToRgb, S as RGB, _ as mergeDeep, a as isBoolean, b as apca, c as isNaN, d as isNumber, f as isObject, g as isUndefined, h as isSymbol, i as isArray, l as isNull, m as isString, n as instanceName, o as isElement, p as isPrimitive, r as clamp, s as isFunction, t as instanceExists, u as isNullOrUndefined, v as range, w as rgbToHex, x as foreground, y as useId } from "../index-Dlz-FzrC.mjs";
2
+ export { RGB, apca, clamp, foreground, hexToRgb, instanceExists, instanceName, isArray, isBoolean, isElement, isFunction, isNaN, isNull, isNullOrUndefined, isNumber, isObject, isPrimitive, isString, isSymbol, isUndefined, mergeDeep, range, rgbToHex, useId };
@@ -1,6 +1,104 @@
1
- import { t as IN_BROWSER } from "../globals-3i9umzyz.mjs";
1
+ import { t as IN_BROWSER } from "../globals-TLLuB8XQ.mjs";
2
2
  import * as Vue from "vue";
3
3
  import { useId as useId$1 } from "vue";
4
+ //#region src/utilities/color.ts
5
+ function hexToRgb(hex) {
6
+ const clean = hex.startsWith("#") ? hex.slice(1) : hex;
7
+ if (clean.length === 3 || clean.length === 4) {
8
+ const r = Number.parseInt(clean[0] + clean[0], 16);
9
+ const g = Number.parseInt(clean[1] + clean[1], 16);
10
+ const b = Number.parseInt(clean[2] + clean[2], 16);
11
+ const a = clean.length === 4 ? Number.parseInt(clean[3] + clean[3], 16) : void 0;
12
+ return a === void 0 ? {
13
+ r,
14
+ g,
15
+ b
16
+ } : {
17
+ r,
18
+ g,
19
+ b,
20
+ a
21
+ };
22
+ }
23
+ const r = Number.parseInt(clean.slice(0, 2), 16);
24
+ const g = Number.parseInt(clean.slice(2, 4), 16);
25
+ const b = Number.parseInt(clean.slice(4, 6), 16);
26
+ const a = clean.length === 8 ? Number.parseInt(clean.slice(6, 8), 16) : void 0;
27
+ return a === void 0 ? {
28
+ r,
29
+ g,
30
+ b
31
+ } : {
32
+ r,
33
+ g,
34
+ b,
35
+ a
36
+ };
37
+ }
38
+ function rgbToHex({ r, g, b, a }) {
39
+ const hex = "#" + [
40
+ r,
41
+ g,
42
+ b
43
+ ].map((c) => c.toString(16).padStart(2, "0")).join("");
44
+ if (a !== void 0) return hex + a.toString(16).padStart(2, "0");
45
+ return hex;
46
+ }
47
+ //#endregion
48
+ //#region src/utilities/apca.ts
49
+ const Rco = .2126729;
50
+ const Gco = .7151522;
51
+ const Bco = .072175;
52
+ const normBG = .56;
53
+ const normTXT = .57;
54
+ const revBG = .65;
55
+ const revTXT = .62;
56
+ const blkThrs = .022;
57
+ const blkClmp = 1.414;
58
+ const scaleBoW = 1.14;
59
+ const scaleWoB = 1.14;
60
+ const loBoWoffset = .027;
61
+ const loWoBoffset = .027;
62
+ const deltaYmin = 5e-4;
63
+ function linearize(channel) {
64
+ const val = channel / 255;
65
+ return val <= .04045 ? val / 12.92 : Math.pow((val + .055) / 1.055, 2.4);
66
+ }
67
+ function luminance(rgb) {
68
+ return Rco * linearize(rgb.r) + Gco * linearize(rgb.g) + Bco * linearize(rgb.b);
69
+ }
70
+ function clamp$1(y) {
71
+ return y > blkThrs ? y : y + Math.pow(blkThrs - y, blkClmp);
72
+ }
73
+ function apca(text, background) {
74
+ const txtY = clamp$1(luminance(text));
75
+ const bgY = clamp$1(luminance(background));
76
+ if (Math.abs(bgY - txtY) < deltaYmin) return 0;
77
+ let contrast;
78
+ if (bgY > txtY) {
79
+ contrast = (Math.pow(bgY, normBG) - Math.pow(txtY, normTXT)) * scaleBoW;
80
+ return contrast < loBoWoffset ? 0 : (contrast - loBoWoffset) * 100;
81
+ } else {
82
+ contrast = (Math.pow(bgY, revBG) - Math.pow(txtY, revTXT)) * scaleWoB;
83
+ return contrast > -loWoBoffset ? 0 : (contrast + loWoBoffset) * 100;
84
+ }
85
+ }
86
+ const BLACK = {
87
+ r: 0,
88
+ g: 0,
89
+ b: 0
90
+ };
91
+ const WHITE = {
92
+ r: 255,
93
+ g: 255,
94
+ b: 255
95
+ };
96
+ function foreground(hex) {
97
+ const rgb = hexToRgb(hex);
98
+ const onWhite = Math.abs(apca(WHITE, rgb));
99
+ return Math.abs(apca(BLACK, rgb)) > onWhite ? "#000000" : "#ffffff";
100
+ }
101
+ //#endregion
4
102
  //#region src/utilities/instance.ts
5
103
  /**
6
104
  * Vue 3.6+ exposes `currentInstance` for Vapor mode compatibility.
@@ -282,14 +380,14 @@ function isNaN(item) {
282
380
  return /* @__PURE__ */ isNumber(item) && Number.isNaN(item);
283
381
  }
284
382
  /**
285
- * Deeply merges source objects into a target object
383
+ * Deeply merges source objects into a target object, returning a new object
286
384
  *
287
- * @param target The target object to merge into (will be mutated)
385
+ * @param target The base object to merge into
288
386
  * @param sources One or more source objects to merge from
289
- * @returns The mutated target object
387
+ * @returns A new merged object (inputs are not mutated)
290
388
  *
291
389
  * @remarks
292
- * - Mutates the target object in place
390
+ * - Creates and returns a new object inputs are never mutated
293
391
  * - Nested objects are recursively merged
294
392
  * - Arrays are replaced, not merged
295
393
  * - Primitives from sources overwrite target values
@@ -297,8 +395,9 @@ function isNaN(item) {
297
395
  * @example
298
396
  * ```ts
299
397
  * const target = { a: 1, b: { c: 2 } }
300
- * mergeDeep(target, { b: { d: 3 } })
301
- * // target is now { a: 1, b: { c: 2, d: 3 } }
398
+ * const result = mergeDeep(target, { b: { d: 3 } })
399
+ * // result is { a: 1, b: { c: 2, d: 3 } }
400
+ * // target is unchanged
302
401
  *
303
402
  * // Multiple sources
304
403
  * mergeDeep({}, { a: 1 }, { b: 2 }) // { a: 1, b: 2 }
@@ -314,20 +413,20 @@ const UNSAFE_KEYS = new Set([
314
413
  ]);
315
414
  /* @__NO_SIDE_EFFECTS__ */
316
415
  function mergeDeep(target, ...sources) {
317
- if (sources.length === 0) return target;
318
- const source = sources.shift();
319
- if (/* @__PURE__ */ isObject(target) && /* @__PURE__ */ isObject(source)) for (const key in source) {
320
- if (UNSAFE_KEYS.has(key)) continue;
321
- if (!Object.prototype.hasOwnProperty.call(source, key)) continue;
322
- const sourceValue = source[key];
323
- if (/* @__PURE__ */ isUndefined(sourceValue)) continue;
324
- const targetValue = target[key];
325
- if (/* @__PURE__ */ isObject(sourceValue)) {
326
- if (!/* @__PURE__ */ isObject(targetValue)) Object.assign(target, { [key]: {} });
327
- target[key];
328
- } else Object.assign(target, { [key]: sourceValue });
416
+ const out = {};
417
+ for (const key in target) if (Object.prototype.hasOwnProperty.call(target, key)) out[key] = target[key];
418
+ for (const source of sources) {
419
+ if (!/* @__PURE__ */ isObject(source)) continue;
420
+ for (const key in source) {
421
+ if (UNSAFE_KEYS.has(key)) continue;
422
+ if (!Object.prototype.hasOwnProperty.call(source, key)) continue;
423
+ const sourceValue = source[key];
424
+ if (/* @__PURE__ */ isUndefined(sourceValue)) continue;
425
+ const targetValue = out[key];
426
+ out[key] = /* @__PURE__ */ isObject(sourceValue) && /* @__PURE__ */ isObject(targetValue) ? /* @__PURE__ */ mergeDeep(targetValue, sourceValue) : sourceValue;
427
+ }
329
428
  }
330
- return /* @__PURE__ */ mergeDeep(target, ...sources);
429
+ return out;
331
430
  }
332
431
  let idCounter = 0;
333
432
  /**
@@ -393,35 +492,5 @@ function clamp(value, min = 0, max = 1) {
393
492
  function range(length, start = 0) {
394
493
  return Array.from({ length }, (_, index) => start + index);
395
494
  }
396
- /**
397
- * Debounces a function call by the specified delay
398
- *
399
- * @param fn The function to debounce
400
- * @param delay The delay in milliseconds
401
- * @returns A debounced function with clear and immediate methods
402
- *
403
- * @example
404
- * ```ts
405
- * const debouncedFn = debounce(() => console.log('called'), 500)
406
- * debouncedFn() // Will call after 500ms
407
- * debouncedFn.clear() // Cancel pending call
408
- * debouncedFn.immediate() // Call immediately
409
- * ```
410
- */
411
- function debounce(fn, delay) {
412
- let timeoutId;
413
- function debounced(...args) {
414
- if (!/* @__PURE__ */ isUndefined(timeoutId)) clearTimeout(timeoutId);
415
- timeoutId = setTimeout(() => fn(...args), delay);
416
- }
417
- debounced.clear = () => {
418
- if (!/* @__PURE__ */ isUndefined(timeoutId)) clearTimeout(timeoutId);
419
- };
420
- debounced.immediate = (...args) => {
421
- debounced.clear();
422
- fn(...args);
423
- };
424
- return debounced;
425
- }
426
495
  //#endregion
427
- export { clamp, debounce, instanceExists, instanceName, isArray, isBoolean, isElement, isFunction, isNaN, isNull, isNullOrUndefined, isNumber, isObject, isPrimitive, isString, isSymbol, isUndefined, mergeDeep, range, useId };
496
+ export { apca, clamp, foreground, hexToRgb, instanceExists, instanceName, isArray, isBoolean, isElement, isFunction, isNaN, isNull, isNullOrUndefined, isNumber, isObject, isPrimitive, isString, isSymbol, isUndefined, mergeDeep, range, rgbToHex, useId };
@@ -1,10 +1,11 @@
1
- import { t as IN_BROWSER } from "./globals-3i9umzyz.mjs";
2
- import { isNull, isString, isUndefined } from "./utilities/index.mjs";
1
+ import { t as IN_BROWSER } from "./globals-TLLuB8XQ.mjs";
2
+ import { hexToRgb, isNull, isString, isUndefined } from "./utilities/index.mjs";
3
3
  import { onScopeDispose, watch } from "vue";
4
4
  //#region src/composables/useTheme/adapters/adapter.ts
5
5
  var ThemeAdapter = class {
6
6
  stylesheetId = "v0-theme-stylesheet";
7
7
  prefix;
8
+ rgb = false;
8
9
  constructor(prefix) {
9
10
  this.prefix = prefix;
10
11
  }
@@ -13,12 +14,16 @@ var ThemeAdapter = class {
13
14
  for (const theme in colors) {
14
15
  const themeColors = colors[theme];
15
16
  if (!themeColors) continue;
16
- const vars = Object.entries(themeColors).map(([key, val]) => ` --${this.prefix}-${key}: ${val};`).join("\n");
17
+ const vars = Object.entries(themeColors).map(([key, val]) => ` --${this.prefix}-${key}: ${this.rgb ? this.decompose(val) : val};`).join("\n");
17
18
  css += `[data-theme="${theme}"] {\n${vars}\n}\n`;
18
19
  }
19
20
  if (!/* @__PURE__ */ isUndefined(isDark)) css += `:root {\n color-scheme: ${isDark ? "dark" : "light"};\n}\n`;
20
21
  return css;
21
22
  }
23
+ decompose(hex) {
24
+ const { r, g, b, a } = hexToRgb(hex);
25
+ return /* @__PURE__ */ isUndefined(a) ? `${r}, ${g}, ${b}` : `${r}, ${g}, ${b}, ${a}`;
26
+ }
22
27
  };
23
28
  //#endregion
24
29
  //#region src/composables/useTheme/adapters/v0.ts
@@ -1,4 +1,4 @@
1
- import { t as LoggerAdapter } from "./adapter-CJQav2JB.mjs";
1
+ import { t as LoggerAdapter } from "./adapter-DcJbLnTC.mjs";
2
2
 
3
3
  //#region src/composables/useLogger/adapters/v0.d.ts
4
4
  /**
@@ -1,4 +1,4 @@
1
- import { n as LocaleAdapterContext, t as LocaleAdapter } from "./adapter-CWp5eQ6R.mjs";
1
+ import { n as LocaleAdapterContext, t as LocaleAdapter } from "./adapter-CN3E66HY.mjs";
2
2
 
3
3
  //#region src/composables/useLocale/adapters/v0.d.ts
4
4
  /**
@@ -1,4 +1,4 @@
1
- import { t as IN_BROWSER } from "./globals-3i9umzyz.mjs";
1
+ import { t as IN_BROWSER } from "./globals-TLLuB8XQ.mjs";
2
2
  import { isObject, isString, isUndefined } from "./utilities/index.mjs";
3
3
  //#region src/composables/useLocale/adapters/v0.ts
4
4
  /**
@@ -1,4 +1,4 @@
1
- import { t as IN_BROWSER } from "./globals-3i9umzyz.mjs";
1
+ import { t as IN_BROWSER } from "./globals-TLLuB8XQ.mjs";
2
2
  import { isFunction } from "./utilities/index.mjs";
3
3
  //#region src/composables/useLogger/adapters/v0.ts
4
4
  /**
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@vuetify/v0",
3
- "version": "0.1.9",
3
+ "version": "0.1.11",
4
4
  "description": "A meta UI framework for building applications, component libraries, and design systems with Vue 3",
5
5
  "license": "MIT",
6
6
  "types": "./dist/index.d.mts",
@@ -1,10 +0,0 @@
1
- import { o as ID } from "./index-Dor6eAEc.mjs";
2
- import { en as PermissionContext, in as PermissionTicket, ln as PermissionAdapter } from "./index-D0qnkRbl.mjs";
3
-
4
- //#region src/composables/usePermissions/adapters/v0.d.ts
5
- declare class Vuetify0PermissionAdapter extends PermissionAdapter {
6
- constructor();
7
- can<Z extends PermissionTicket = PermissionTicket>(role: ID, action: string, subject: string, context: Record<string, any>, permissions: PermissionContext<Z>): boolean;
8
- }
9
- //#endregion
10
- export { Vuetify0PermissionAdapter as t };