@vuetify/v0 0.1.6 → 0.1.8

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 (162) hide show
  1. package/README.md +0 -1
  2. package/dist/{adapter-Bjs_Nx_J.mjs → adapter-B4zE-hA5.mjs} +5 -8
  3. package/dist/adapter-CqP9Z4JU.d.mts +1087 -0
  4. package/dist/{adapter-CLs-OrSN.d.mts → adapter-DIx4Rntl.d.mts} +5 -48
  5. package/dist/adapters-BjeDmKc6.mjs +1 -0
  6. package/dist/adapters-Bv5aRv3l.mjs +1 -0
  7. package/dist/adapters-C66XaKkw.mjs +1 -0
  8. package/dist/adapters-DkVblyML.mjs +1 -0
  9. package/dist/adapters-uJLWGQJl.mjs +1 -0
  10. package/dist/browser/index.js +2380 -1080
  11. package/dist/components/index.d.mts +2 -20
  12. package/dist/components/index.mjs +34 -39
  13. package/dist/{components-GiQh_RfQ.mjs → components-BbxKYAXs.mjs} +1129 -392
  14. package/dist/composables/index.d.mts +18 -17
  15. package/dist/composables/index.mjs +34 -37
  16. package/dist/{consola-DiUk9j3y.d.mts → consola-BVzYzeLH.d.mts} +1 -1
  17. package/dist/{consola-GBy8XRuL.mjs → consola-Ceox8BWi.mjs} +1 -2
  18. package/dist/constants/index.d.mts +1 -1
  19. package/dist/constants/index.mjs +3 -5
  20. package/dist/{createDataTable-lSofI5rU.mjs → createDataTable-DZouEhvH.mjs} +9 -11
  21. package/dist/{createGroup-CCb7Zfyw.mjs → createGroup-BpJFi41X.mjs} +5 -8
  22. package/dist/{createPagination-lagznd8i.mjs → createPagination-Bu8vE0JW.mjs} +3 -5
  23. package/dist/{createSelection-Zo4RQpYe.mjs → createSelection-8MX0OHXR.mjs} +9 -12
  24. package/dist/{createSingle-BH9wNDrS.mjs → createSingle-CbuOBb-E.mjs} +3 -5
  25. package/dist/{createTokens-Cu1efg9Z.mjs → createTokens-CXlT0Vc6.mjs} +25 -27
  26. package/dist/{createTrinity-Cii8-B2r.mjs → createTrinity-C_c8eedz.mjs} +10 -13
  27. package/dist/data-table/adapters/client/index.d.mts +1 -2
  28. package/dist/data-table/adapters/client/index.mjs +7 -9
  29. package/dist/data-table/adapters/index.d.mts +4 -4
  30. package/dist/data-table/adapters/index.mjs +10 -12
  31. package/dist/data-table/adapters/server/index.d.mts +1 -2
  32. package/dist/data-table/adapters/server/index.mjs +5 -7
  33. package/dist/data-table/adapters/virtual/index.d.mts +1 -2
  34. package/dist/data-table/adapters/virtual/index.mjs +7 -9
  35. package/dist/data-table/index.d.mts +5 -6
  36. package/dist/data-table/index.mjs +22 -25
  37. package/dist/date/index.d.mts +1 -3
  38. package/dist/date/index.mjs +3932 -3943
  39. package/dist/features/adapters/flagsmith/index.d.mts +2 -4
  40. package/dist/features/adapters/flagsmith/index.mjs +2 -3
  41. package/dist/features/adapters/launchdarkly/index.d.mts +1 -3
  42. package/dist/features/adapters/launchdarkly/index.mjs +2 -3
  43. package/dist/features/adapters/posthog/index.d.mts +1 -3
  44. package/dist/features/adapters/posthog/index.mjs +3 -4
  45. package/dist/features/index.d.mts +2 -16
  46. package/dist/features/index.mjs +13 -18
  47. package/dist/{flagsmith-CHmpPGR7.mjs → flagsmith-CrWUeIhT.mjs} +1 -2
  48. package/dist/{globals-D6FBsWDI.mjs → globals-ClSU6mqC.mjs} +2 -3
  49. package/dist/{htmlElements-d8iBCGpO.mjs → htmlElements-DcYtv0hg.mjs} +7 -10
  50. package/dist/{index-De0SQt1w.d.mts → index-63-0oJS8.d.mts} +381 -981
  51. package/dist/{index-DlUIZN-F.d.mts → index-B5NU2uB7.d.mts} +2754 -1642
  52. package/dist/index-CeNfBYuo.d.mts +46 -0
  53. package/dist/{index-DIK84tM4.d.mts → index-CmCMrlt3.d.mts} +3 -3
  54. package/dist/index-CxW4itj1.d.mts +858 -0
  55. package/dist/{index-BFBN5Zl3.d.mts → index-Dor6eAEc.d.mts} +0 -1
  56. package/dist/{index-UNwEBkQT.d.mts → index-MHkcqY_y.d.mts} +1 -2
  57. package/dist/{index-BuOz3Rgm.d.mts → index-dJKXAO5D.d.mts} +1 -2
  58. package/dist/index.d.mts +22 -20
  59. package/dist/index.mjs +38 -40
  60. package/dist/json/attributes.json +252 -0
  61. package/dist/json/importMap.json +60 -0
  62. package/dist/json/tags.json +128 -0
  63. package/dist/json/web-types.json +1023 -228
  64. package/dist/{launchdarkly-W8t8ZANX.mjs → launchdarkly-jF2KZGoH.mjs} +1 -2
  65. package/dist/locale/adapters/index.d.mts +1 -2
  66. package/dist/locale/adapters/index.mjs +4 -6
  67. package/dist/locale/adapters/v0/index.d.mts +1 -2
  68. package/dist/locale/adapters/v0/index.mjs +3 -5
  69. package/dist/locale/index.d.mts +2 -16
  70. package/dist/locale/index.mjs +14 -17
  71. package/dist/logger/adapters/consola/index.d.mts +1 -2
  72. package/dist/logger/adapters/consola/index.mjs +2 -3
  73. package/dist/logger/adapters/index.d.mts +4 -4
  74. package/dist/logger/adapters/index.mjs +6 -8
  75. package/dist/logger/adapters/pino/index.d.mts +1 -2
  76. package/dist/logger/adapters/pino/index.mjs +3 -5
  77. package/dist/logger/adapters/v0/index.d.mts +1 -2
  78. package/dist/logger/adapters/v0/index.mjs +3 -5
  79. package/dist/logger/index.d.mts +5 -16
  80. package/dist/logger/index.mjs +8 -10
  81. package/dist/{memory-BsZGbGnG.mjs → memory-XCMtkld1.mjs} +1 -2
  82. package/dist/palettes/ant/generate/index.d.mts +9 -0
  83. package/dist/palettes/ant/generate/index.mjs +98 -0
  84. package/dist/palettes/ant/index.d.mts +6 -0
  85. package/dist/palettes/ant/index.mjs +149 -0
  86. package/dist/palettes/index.d.mts +12 -0
  87. package/dist/palettes/index.mjs +1 -0
  88. package/dist/palettes/leonardo/generate/index.d.mts +10 -0
  89. package/dist/palettes/leonardo/generate/index.mjs +120 -0
  90. package/dist/palettes/material/generate/index.d.mts +10 -0
  91. package/dist/palettes/material/generate/index.mjs +103 -0
  92. package/dist/palettes/material/index.d.mts +6 -0
  93. package/dist/palettes/material/index.mjs +173 -0
  94. package/dist/palettes/md1/index.d.mts +6 -0
  95. package/dist/palettes/md1/index.mjs +261 -0
  96. package/dist/palettes/md2/index.d.mts +6 -0
  97. package/dist/palettes/md2/index.mjs +297 -0
  98. package/dist/palettes/radix/index.d.mts +6 -0
  99. package/dist/palettes/radix/index.mjs +439 -0
  100. package/dist/palettes/tailwind/index.d.mts +6 -0
  101. package/dist/palettes/tailwind/index.mjs +291 -0
  102. package/dist/permissions/adapters/index.d.mts +2 -17
  103. package/dist/permissions/adapters/index.mjs +4 -6
  104. package/dist/permissions/adapters/v0/index.d.mts +1 -17
  105. package/dist/permissions/adapters/v0/index.mjs +3 -5
  106. package/dist/permissions/index.d.mts +1 -16
  107. package/dist/permissions/index.mjs +12 -15
  108. package/dist/{pino-BD5PCzAF.mjs → pino-B7tJ3m18.mjs} +2 -4
  109. package/dist/{pino-p-jDkNQd.d.mts → pino-Bzighnkd.d.mts} +1 -2
  110. package/dist/{posthog-BxaG8sYi.mjs → posthog-BE7-t7cV.mjs} +2 -4
  111. package/dist/rules/index.d.mts +2 -0
  112. package/dist/rules/index.mjs +15 -0
  113. package/dist/{server-DgOdFYMU.mjs → server-CZ6ahbEH.mjs} +2 -4
  114. package/dist/{server-CGAeOGPC.d.mts → server-Ch9J86tb.d.mts} +1 -2
  115. package/dist/storage/adapters/index.d.mts +2 -2
  116. package/dist/storage/adapters/index.mjs +2 -3
  117. package/dist/storage/adapters/memory/index.d.mts +1 -1
  118. package/dist/storage/adapters/memory/index.mjs +2 -3
  119. package/dist/storage/index.d.mts +3 -16
  120. package/dist/storage/index.mjs +33 -37
  121. package/dist/theme/adapters/index.d.mts +1 -16
  122. package/dist/theme/adapters/index.mjs +4 -6
  123. package/dist/theme/adapters/v0/index.d.mts +1 -16
  124. package/dist/theme/adapters/v0/index.mjs +3 -5
  125. package/dist/theme/index.d.mts +1 -16
  126. package/dist/theme/index.mjs +13 -16
  127. package/dist/{toArray-BBZH-G2X.mjs → toArray-VdROPpy-.mjs} +2 -4
  128. package/dist/types/index.d.mts +1 -1
  129. package/dist/types/index.mjs +1 -1
  130. package/dist/{useClickOutside-Bm_3mbcT.mjs → useClickOutside-W0Sur1rC.mjs} +671 -211
  131. package/dist/{useFeatures-BS4mit8z.mjs → useFeatures-CUicSI-E.mjs} +5 -8
  132. package/dist/{useLocale-DJJmg-wv.mjs → useLocale-cQlPxbpV.mjs} +14 -12
  133. package/dist/{useLogger-C8G5jgNk.mjs → useLogger-DY1Hbcy1.mjs} +13 -16
  134. package/dist/{usePermissions-C5Mkotol.mjs → usePermissions-BSW59R4q.mjs} +5 -7
  135. package/dist/useRules-BbA6_gvs.mjs +144 -0
  136. package/dist/{useTheme-BBnASLr3.mjs → useTheme-Bdx2Lj5c.mjs} +11 -13
  137. package/dist/utilities/index.d.mts +1 -2
  138. package/dist/utilities/index.mjs +426 -4
  139. package/dist/{v0-BOxb3nD1.d.mts → v0-1xxC39wf.d.mts} +1 -2
  140. package/dist/{v0-DzvhDU1W.mjs → v0-2G2476h-.mjs} +3 -6
  141. package/dist/{v0-DtO_ICXr.mjs → v0-B1QQGE4O.mjs} +2 -5
  142. package/dist/{v0-lua6ffdk.mjs → v0-BFseIsBi.mjs} +3 -5
  143. package/dist/{v0-Bh8d1j_p.d.mts → v0-BZINNGoC.d.mts} +2 -2
  144. package/dist/{v0-DHMoZ7dS.d.mts → v0-CAKa6tzG.d.mts} +1 -1
  145. package/dist/{v0-BWBSVkew.mjs → v0-CHBrvw49.mjs} +3 -5
  146. package/dist/{v0-CVr15VcY.d.mts → v0-CdUL2eOn.d.mts} +1 -2
  147. package/dist/{v0-CWUF_HqP.mjs → v0-YAqbXudL.mjs} +3 -5
  148. package/dist/{virtual-CVb9hRUU.d.mts → virtual-DwBiFA25.d.mts} +1 -2
  149. package/dist/{virtual-BEOqkQvm.mjs → virtual-eDNVH1fz.mjs} +3 -5
  150. package/package.json +40 -11
  151. package/dist/adapter-DcwxFryd.d.mts +0 -97
  152. package/dist/adapters-BGJKsBrw.mjs +0 -1
  153. package/dist/adapters-BQ-Lr3PW.mjs +0 -1
  154. package/dist/adapters-DEXpW9If.mjs +0 -1
  155. package/dist/adapters-Q9WaOsJp.mjs +0 -1
  156. package/dist/adapters-SSDVth5e.mjs +0 -1
  157. package/dist/constants-B8pMSkcW.mjs +0 -1
  158. package/dist/utilities-CcJtp9Gx.mjs +0 -429
  159. /package/dist/{adapter-CJIj5ySf.d.mts → adapter-JTFG3Jn8.d.mts} +0 -0
  160. /package/dist/{index-Bv1VN_j5.d.mts → index-B5ZDDkXv.d.mts} +0 -0
  161. /package/dist/{index-BDTbJClL.d.mts → index-NsE5nARK.d.mts} +0 -0
  162. /package/dist/{memory-DVjquu_v.d.mts → memory-BTtRdnNn.d.mts} +0 -0
@@ -1,11 +1,9 @@
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
-
1
+ import { isArray, isBoolean, isFunction, isObject } from "./utilities/index.mjs";
2
+ import { o as createPluginContext } from "./useLogger-DY1Hbcy1.mjs";
3
+ import { t as createTokens } from "./createTokens-CXlT0Vc6.mjs";
4
+ import { t as createGroup } from "./createGroup-BpJFi41X.mjs";
6
5
  //#region src/composables/useFeatures/adapters/generic/index.ts
7
6
  var FeaturesAdapter = class {};
8
-
9
7
  //#endregion
10
8
  //#region src/composables/useFeatures/index.ts
11
9
  /**
@@ -117,6 +115,5 @@ const [createFeaturesContext, createFeaturesPlugin, useFeatures] = createPluginC
117
115
  }
118
116
  }
119
117
  });
120
-
121
118
  //#endregion
122
- export { FeaturesAdapter as a, useFeatures as i, createFeaturesContext as n, createFeaturesPlugin as r, createFeatures as t };
119
+ export { FeaturesAdapter as a, useFeatures as i, createFeaturesContext as n, createFeaturesPlugin as r, createFeatures as t };
@@ -1,10 +1,9 @@
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
-
1
+ import { isString } from "./utilities/index.mjs";
2
+ import { o as createPluginContext } from "./useLogger-DY1Hbcy1.mjs";
3
+ import { t as createTokens } from "./createTokens-CXlT0Vc6.mjs";
4
+ import { t as createSingle } from "./createSingle-CbuOBb-E.mjs";
5
+ import { t as toArray } from "./toArray-VdROPpy-.mjs";
6
+ import { t as Vuetify0LocaleAdapter } from "./v0-CHBrvw49.mjs";
8
7
  //#region src/composables/useLocale/index.ts
9
8
  /**
10
9
  * @module useLocale
@@ -32,7 +31,7 @@ import { t as Vuetify0LocaleAdapter } from "./v0-BWBSVkew.mjs";
32
31
  * @see https://0.vuetifyjs.com/composables/plugins/use-locale
33
32
  */
34
33
  function createLocale(_options = {}) {
35
- const { adapter = new Vuetify0LocaleAdapter(), messages = {}, ...options } = _options;
34
+ const { adapter = new Vuetify0LocaleAdapter(), messages = {}, fallback: fallbackLocale, ...options } = _options;
36
35
  const tokens = createTokens(messages);
37
36
  const registry = createSingle(options);
38
37
  for (const id in messages) {
@@ -45,8 +44,12 @@ function createLocale(_options = {}) {
45
44
  if (!locale) return adapter.t(fallback ?? key, ...args);
46
45
  const path = `${locale}.${key}`;
47
46
  const message = tokens.get(path)?.value;
48
- const template = /* @__PURE__ */ isString(message) ? resolve(locale, message) : fallback ?? key;
49
- return adapter.t(template, ...args);
47
+ if (/* @__PURE__ */ isString(message)) return adapter.t(resolve(locale, message), ...args);
48
+ if (fallbackLocale) {
49
+ const fbMessage = tokens.get(`${fallbackLocale}.${key}`)?.value;
50
+ if (/* @__PURE__ */ isString(fbMessage)) return adapter.t(resolve(fallbackLocale, fbMessage), ...args);
51
+ }
52
+ return adapter.t(fallback ?? key, ...args);
50
53
  }
51
54
  function n(value, ...params) {
52
55
  return adapter.n(value, registry.selectedId.value, ...params);
@@ -80,6 +83,5 @@ function createLocaleFallback() {
80
83
  };
81
84
  }
82
85
  const [createLocaleContext, createLocalePlugin, useLocale] = createPluginContext("v0:locale", (options) => createLocale(options), { fallback: () => createLocaleFallback() });
83
-
84
86
  //#endregion
85
- export { useLocale as a, createLocalePlugin as i, createLocaleContext as n, createLocaleFallback as r, createLocale as t };
87
+ export { useLocale as a, createLocalePlugin as i, createLocaleContext as n, createLocaleFallback as r, createLocale as t };
@@ -1,9 +1,8 @@
1
- import { s as __LOGGER_ENABLED__, t as IN_BROWSER } from "./globals-D6FBsWDI.mjs";
2
- import { h as isUndefined } from "./utilities-CcJtp9Gx.mjs";
3
- import { i as useContext, n as createContext, t as createTrinity } from "./createTrinity-Cii8-B2r.mjs";
4
- import { t as Vuetify0LoggerAdapter } from "./v0-lua6ffdk.mjs";
1
+ import { s as __LOGGER_ENABLED__, t as IN_BROWSER } from "./globals-ClSU6mqC.mjs";
2
+ import { isUndefined } from "./utilities/index.mjs";
3
+ import { i as useContext, n as createContext, t as createTrinity } from "./createTrinity-C_c8eedz.mjs";
4
+ import { t as Vuetify0LoggerAdapter } from "./v0-BFseIsBi.mjs";
5
5
  import { hasInjectionContext } from "vue";
6
-
7
6
  //#region src/composables/createPlugin/index.ts
8
7
  /**
9
8
  * @module createPlugin
@@ -89,21 +88,21 @@ function createPluginContext(defaultNamespace, factory, config) {
89
88
  const { namespace = defaultNamespace, ...options } = _options;
90
89
  const [_use, _provide] = createContext(namespace);
91
90
  const context = factory(options);
92
- function provide$1(_context = context, app) {
91
+ function provide(_context = context, app) {
93
92
  return _provide(_context, app);
94
93
  }
95
- return createTrinity(_use, provide$1, context);
94
+ return createTrinity(_use, provide, context);
96
95
  }
97
96
  function createXPlugin(_options = {}) {
98
97
  const { namespace = defaultNamespace, ...options } = _options;
99
- const [, provide$1, context] = createXContext({
98
+ const [, provide, context] = createXContext({
100
99
  ...options,
101
100
  namespace
102
101
  });
103
102
  return createPlugin({
104
103
  namespace,
105
104
  provide: (app) => {
106
- provide$1(context, app);
105
+ provide(context, app);
107
106
  },
108
107
  setup: config?.setup ? (app) => config.setup(context, app, options) : void 0
109
108
  });
@@ -122,7 +121,6 @@ function createPluginContext(defaultNamespace, factory, config) {
122
121
  useX
123
122
  ];
124
123
  }
125
-
126
124
  //#endregion
127
125
  //#region src/composables/useLogger/index.ts
128
126
  /**
@@ -170,7 +168,7 @@ function createLogger(options = {}) {
170
168
  const { adapter = new Vuetify0LoggerAdapter({ prefix: options.prefix }), level: initialLevel = "info", enabled: initialEnabled = __LOGGER_ENABLED__ } = options;
171
169
  let currentLevel = initialLevel;
172
170
  let isEnabled = initialEnabled;
173
- function value(level$1) {
171
+ function value(level) {
174
172
  return {
175
173
  trace: 0,
176
174
  debug: 1,
@@ -179,11 +177,11 @@ function createLogger(options = {}) {
179
177
  error: 4,
180
178
  fatal: 5,
181
179
  silent: 6
182
- }[level$1] ?? 2;
180
+ }[level] ?? 2;
183
181
  }
184
- function can(level$1) {
182
+ function can(level) {
185
183
  if (!isEnabled) return false;
186
- return value(level$1) >= value(currentLevel);
184
+ return value(level) >= value(currentLevel);
187
185
  }
188
186
  function format(message) {
189
187
  return message;
@@ -278,6 +276,5 @@ const [createLoggerContext, createLoggerPlugin, useLogger] = createPluginContext
278
276
  if (!/* @__PURE__ */ isUndefined(process.env.NODE_ENV !== "production") && process.env.NODE_ENV !== "production" && IN_BROWSER) window.__v0Logger__ = context;
279
277
  }
280
278
  });
281
-
282
279
  //#endregion
283
- export { createPlugin as a, useLogger as i, createLoggerContext as n, createPluginContext as o, createLoggerPlugin as r, createLogger as t };
280
+ export { createPlugin as a, useLogger as i, createLoggerContext as n, createPluginContext as o, createLoggerPlugin as r, createLogger as t };
@@ -1,8 +1,7 @@
1
- import { o as createPluginContext } from "./useLogger-C8G5jgNk.mjs";
2
- import { t as createTokens } from "./createTokens-Cu1efg9Z.mjs";
3
- import { t as toArray } from "./toArray-BBZH-G2X.mjs";
4
- import { t as Vuetify0PermissionAdapter } from "./v0-DtO_ICXr.mjs";
5
-
1
+ import { o as createPluginContext } from "./useLogger-DY1Hbcy1.mjs";
2
+ import { t as createTokens } from "./createTokens-CXlT0Vc6.mjs";
3
+ import { t as toArray } from "./toArray-VdROPpy-.mjs";
4
+ import { t as Vuetify0PermissionAdapter } from "./v0-B1QQGE4O.mjs";
6
5
  //#region src/composables/usePermissions/index.ts
7
6
  /**
8
7
  * @module usePermissions
@@ -123,6 +122,5 @@ const [createPermissionsContext, createPermissionsPlugin, usePermissions] = crea
123
122
  * app.mount('#app')
124
123
  * ```
125
124
  */
126
-
127
125
  //#endregion
128
- export { usePermissions as i, createPermissionsContext as n, createPermissionsPlugin as r, createPermissions as t };
126
+ export { usePermissions as i, createPermissionsContext as n, createPermissionsPlugin as r, createPermissions as t };
@@ -0,0 +1,144 @@
1
+ import { instanceExists, isFunction, isObject } from "./utilities/index.mjs";
2
+ import { o as createPluginContext } from "./useLogger-DY1Hbcy1.mjs";
3
+ import { a as useLocale } from "./useLocale-cQlPxbpV.mjs";
4
+ //#region src/composables/useRules/adapters/standard.ts
5
+ /**
6
+ * Type guard for Standard Schema objects.
7
+ * Checks for the `~standard` property that all conforming libraries expose.
8
+ *
9
+ * @param value The value to check.
10
+ * @returns `true` if the value conforms to the Standard Schema interface.
11
+ */
12
+ function isStandardSchema(value) {
13
+ return /* @__PURE__ */ isObject(value) && "~standard" in value;
14
+ }
15
+ /**
16
+ * Converts a Standard Schema object into a `FormValidationRule`.
17
+ *
18
+ * Used internally by `resolve()` — both for schemas passed directly and for
19
+ * schemas returned by alias builders. Handles both sync and async validation.
20
+ * Returns the first issue message on failure.
21
+ *
22
+ * @param schema Any Standard Schema-conforming object (Zod v3.24+, Valibot, ArkType, etc.)
23
+ * @returns A `FormValidationRule` that resolves to `true` or an error string.
24
+ *
25
+ * @see https://standardschema.dev/
26
+ */
27
+ function toRule(schema) {
28
+ return async (value) => {
29
+ let result = schema["~standard"].validate(value);
30
+ if (result instanceof Promise) result = await result;
31
+ return result.issues?.[0]?.message ?? true;
32
+ };
33
+ }
34
+ //#endregion
35
+ //#region src/composables/useRules/index.ts
36
+ /**
37
+ * @module useRules
38
+ *
39
+ * @remarks
40
+ * Validation rule composable with Standard Schema support.
41
+ *
42
+ * Key features:
43
+ * - Standard Schema auto-detection (Zod, Valibot, ArkType, etc.)
44
+ * - String alias resolution to FormValidationRule[] via predicate lookup
45
+ * - Custom alias registration (predicates, not builders)
46
+ * - Trinity pattern for DI
47
+ * - Plugin factory for app-level installation
48
+ *
49
+ * Validation return values:
50
+ * - `true` — validation passes
51
+ * - `string` — validation fails, the string IS the error message
52
+ * - `false` — validation fails, error message resolved from locale (`$rules.<name>`)
53
+ *
54
+ * Integrates with createValidation for rule resolution, useLocale for i18n.
55
+ */
56
+ /**
57
+ * Wraps an alias predicate so that `false` results are
58
+ * resolved to a locale-aware error message via `$rules.<name>`.
59
+ *
60
+ * - `true` → pass
61
+ * - `string` → fail with that message
62
+ * - `false` → fail, look up message from locale
63
+ */
64
+ function resolveAlias(name, predicate, locale) {
65
+ return (value) => {
66
+ const result = predicate(value);
67
+ if (result instanceof Promise) return result.then((resolved) => {
68
+ if (resolved === true) return true;
69
+ if (resolved === false) return locale?.t(`$rules.${name}`) ?? name;
70
+ return resolved;
71
+ });
72
+ if (result === true) return true;
73
+ if (result === false) return locale?.t(`$rules.${name}`) ?? name;
74
+ return result;
75
+ };
76
+ }
77
+ function createResolve(aliases, locale) {
78
+ return function resolve(rules) {
79
+ const result = [];
80
+ for (const rule of rules) {
81
+ if (/* @__PURE__ */ isFunction(rule)) {
82
+ result.push(rule);
83
+ continue;
84
+ }
85
+ if (isStandardSchema(rule)) {
86
+ result.push(toRule(rule));
87
+ continue;
88
+ }
89
+ const predicate = aliases[rule];
90
+ if (predicate) result.push(resolveAlias(rule, predicate, locale));
91
+ }
92
+ return result;
93
+ };
94
+ }
95
+ /**
96
+ * Creates a new rules instance.
97
+ *
98
+ * @param options The options for the rules instance.
99
+ * @returns A new rules instance with resolve() and aliases.
100
+ *
101
+ * @see https://0.vuetifyjs.com/composables/plugins/use-rules
102
+ *
103
+ * @example
104
+ * ```ts
105
+ * import { createRules } from '@vuetify/v0'
106
+ *
107
+ * const rules = createRules({
108
+ * aliases: {
109
+ * required: (v) => !!v || false,
110
+ * },
111
+ * })
112
+ *
113
+ * // Resolve alias strings to validation functions
114
+ * const resolved = rules.resolve(['required'])
115
+ * ```
116
+ */
117
+ function createRules(_options = {}) {
118
+ const { aliases: customAliases } = _options;
119
+ let locale;
120
+ try {
121
+ if (instanceExists()) locale = useLocale();
122
+ } catch {}
123
+ const aliases = { ...customAliases };
124
+ return {
125
+ resolve: createResolve(aliases, locale),
126
+ aliases
127
+ };
128
+ }
129
+ /**
130
+ * Creates a fallback rules instance for use outside component scope.
131
+ * No locale lookup — `false` returns fall back to the alias name.
132
+ *
133
+ * @returns A standalone rules context with empty aliases.
134
+ */
135
+ function createRulesFallback() {
136
+ const aliases = {};
137
+ return {
138
+ resolve: createResolve(aliases),
139
+ aliases
140
+ };
141
+ }
142
+ const [createRulesContext, createRulesPlugin, useRules] = createPluginContext("v0:rules", (options) => createRules(options), { fallback: () => createRulesFallback() });
143
+ //#endregion
144
+ export { useRules as a, createRulesPlugin as i, createRulesContext as n, isStandardSchema as o, createRulesFallback as r, createRules as t };
@@ -1,9 +1,8 @@
1
- import { o as createPluginContext } from "./useLogger-C8G5jgNk.mjs";
2
- import { t as createTokens } from "./createTokens-Cu1efg9Z.mjs";
3
- import { t as createSingle } from "./createSingle-BH9wNDrS.mjs";
4
- import { t as Vuetify0ThemeAdapter } from "./v0-DzvhDU1W.mjs";
1
+ import { o as createPluginContext } from "./useLogger-DY1Hbcy1.mjs";
2
+ import { t as createTokens } from "./createTokens-CXlT0Vc6.mjs";
3
+ import { t as createSingle } from "./createSingle-CbuOBb-E.mjs";
4
+ import { t as Vuetify0ThemeAdapter } from "./v0-2G2476h-.mjs";
5
5
  import { computed, shallowRef, toRef } from "vue";
6
-
7
6
  //#region src/composables/useTheme/index.ts
8
7
  /**
9
8
  * @module useTheme
@@ -83,14 +82,14 @@ function createTheme(_options = {}) {
83
82
  return resolved;
84
83
  });
85
84
  const isDark = toRef(() => registry.selectedItem.value?.dark ?? false);
86
- function cycle(themes$1 = names.value) {
87
- const current = themes$1.indexOf(registry.selectedId.value ?? "");
88
- const next = current === -1 ? 0 : (current + 1) % themes$1.length;
89
- registry.select(themes$1[next]);
85
+ function cycle(themes = names.value) {
86
+ const current = themes.indexOf(registry.selectedId.value ?? "");
87
+ const next = current === -1 ? 0 : (current + 1) % themes.length;
88
+ registry.select(themes[next]);
90
89
  }
91
- function resolve(colors$1) {
90
+ function resolve(colors) {
92
91
  const resolved = {};
93
- for (const [key, value] of Object.entries(colors$1)) resolved[key] = tokens.isAlias(value) ? tokens.resolve(value) : value;
92
+ for (const [key, value] of Object.entries(colors)) resolved[key] = tokens.isAlias(value) ? tokens.resolve(value) : value;
94
93
  return resolved;
95
94
  }
96
95
  function register(registration = {}) {
@@ -130,6 +129,5 @@ const [createThemeContext, createThemePlugin, useTheme] = createPluginContext("v
130
129
  adapter.setup(app, context, target);
131
130
  }
132
131
  });
133
-
134
132
  //#endregion
135
- export { useTheme as i, createThemeContext as n, createThemePlugin as r, createTheme as t };
133
+ export { useTheme as i, createThemeContext as n, createThemePlugin as r, createTheme as t };
@@ -1,3 +1,2 @@
1
- import "../index-BFBN5Zl3.mjs";
2
- 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-UNwEBkQT.mjs";
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-MHkcqY_y.mjs";
3
2
  export { clamp, debounce, instanceExists, instanceName, isArray, isBoolean, isElement, isFunction, isNaN, isNull, isNullOrUndefined, isNumber, isObject, isPrimitive, isString, isSymbol, isUndefined, mergeDeep, range, useId };