@vuetify/v0 1.2.0 → 1.2.2

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 (173) hide show
  1. package/README.md +34 -0
  2. package/dist/{adapter-TiGrumDi.mjs → adapter-B6R54NMr.mjs} +1 -1
  3. package/dist/{adapter-D5nT3bLw.d.mts → adapter-BC1VWu0H.d.mts} +0 -1
  4. package/dist/{adapter-PDTe5nFT.d.mts → adapter-BP7jNtvH.d.mts} +3 -4
  5. package/dist/{adapter-CqS8xexO.d.mts → adapter-Bi799Zn7.d.mts} +2 -3
  6. package/dist/{adapter-ClB-53_F.d.mts → adapter-CbkRdMju.d.mts} +0 -1
  7. package/dist/{adapter-BiQV5j8B.mjs → adapter-DMzQI6ma.mjs} +8 -6
  8. package/dist/{adapter-BXunW_mw.d.mts → adapter-w8SEWO2v.d.mts} +1 -2
  9. package/dist/{adapter-BuSfpxur.mjs → adapter-z5dFxm0f.mjs} +1 -1
  10. package/dist/browser/index.d.ts +1288 -1112
  11. package/dist/browser/index.js +619 -523
  12. package/dist/components/index.d.mts +2 -2
  13. package/dist/components/index.mjs +1 -1
  14. package/dist/{components-DBhVg-t1.mjs → components-CSFzUH3d.mjs} +407 -384
  15. package/dist/composables/index.d.mts +22 -22
  16. package/dist/composables/index.mjs +40 -40
  17. package/dist/{composables-ZGhVN2EJ.mjs → composables-CLNFa1uu.mjs} +55 -47
  18. package/dist/{consola-cad-VEV2.mjs → consola-B9K6H_EB.mjs} +1 -1
  19. package/dist/{consola-CdMU53rU.d.mts → consola-BGm_oQkS.d.mts} +1 -2
  20. package/dist/constants/index.d.mts +1 -1
  21. package/dist/constants/index.mjs +2 -2
  22. package/dist/{createDataTable-VmQEDn-7.mjs → createDataTable-CfJCltDt.mjs} +15 -13
  23. package/dist/{createGroup-B_LL7xRr.mjs → createGroup-CKE5o-VH.mjs} +17 -5
  24. package/dist/{createPlugin-Oo6t-vBw.mjs → createPlugin-YYkwbiUd.mjs} +3 -2
  25. package/dist/{createRegistry-DVdvep0v.mjs → createRegistry-D31hPifx.mjs} +10 -7
  26. package/dist/{createSelection-BNdDz8oY.mjs → createSelection-DdTgggyM.mjs} +5 -3
  27. package/dist/{createSingle-DHyIQ9Cj.mjs → createSingle-hQWwVTVX.mjs} +4 -3
  28. package/dist/{createTokens-DoISbwd7.mjs → createTokens-DuZrXRfN.mjs} +6 -5
  29. package/dist/data-table/adapters/client/index.d.mts +1 -1
  30. package/dist/data-table/adapters/client/index.mjs +1 -1
  31. package/dist/data-table/adapters/index.d.mts +6 -5
  32. package/dist/data-table/adapters/index.mjs +4 -4
  33. package/dist/data-table/adapters/server/index.d.mts +1 -1
  34. package/dist/data-table/adapters/server/index.mjs +1 -1
  35. package/dist/data-table/adapters/virtual/index.d.mts +1 -1
  36. package/dist/data-table/adapters/virtual/index.mjs +1 -1
  37. package/dist/data-table/index.d.mts +6 -6
  38. package/dist/data-table/index.mjs +5 -5
  39. package/dist/date/index.d.mts +1 -2
  40. package/dist/date/index.mjs +3 -3
  41. package/dist/features/adapters/flagsmith/index.d.mts +1 -1
  42. package/dist/features/adapters/flagsmith/index.mjs +1 -1
  43. package/dist/features/adapters/launchdarkly/index.d.mts +1 -1
  44. package/dist/features/adapters/launchdarkly/index.mjs +2 -1
  45. package/dist/features/adapters/posthog/index.d.mts +1 -1
  46. package/dist/features/adapters/posthog/index.mjs +3 -2
  47. package/dist/features/index.d.mts +3 -3
  48. package/dist/features/index.mjs +2 -2
  49. package/dist/{flagsmith-DcIDrI7_.d.mts → flagsmith-BA8q5LAx.d.mts} +1 -2
  50. package/dist/{globals-DaoKtIGF.mjs → globals-DVcr1oW0.mjs} +1 -1
  51. package/dist/{htmlElements-CHXZfsZu.mjs → htmlElements-Bt1XN_d8.mjs} +1 -1
  52. package/dist/{index-H_hl6-4b.d.mts → index-ClUa0Bl7.d.mts} +0 -1
  53. package/dist/{index-Cx0cWGlx.d.mts → index-Ct0Pmzpx.d.mts} +182 -64
  54. package/dist/{index-Di9e8sOm.d.mts → index-DDwX_0Um.d.mts} +6 -6
  55. package/dist/{index-DjRE4lLl.d.mts → index-DMQv04YO.d.mts} +19 -12
  56. package/dist/{index-D0ub61GV.d.mts → index-Dlr9_rf1.d.mts} +2 -3
  57. package/dist/index-DmDf_FmM.d.mts +4 -0
  58. package/dist/{index-Cm6CbqI6.d.mts → index-DqAML7MT.d.mts} +1103 -1059
  59. package/dist/{index-DtiaWx5U.d.mts → index-XNZrgWCq.d.mts} +1 -2
  60. package/dist/{index-DSPkZ0ql.d.mts → index-Y6VfllT2.d.mts} +26 -21
  61. package/dist/index-h87SNntw.d.mts +2 -0
  62. package/dist/index.d.mts +25 -25
  63. package/dist/index.mjs +43 -43
  64. package/dist/json/attributes.json +14 -2
  65. package/dist/json/tags.json +3 -0
  66. package/dist/json/web-types.json +32 -3
  67. package/dist/{launchdarkly-CUzunYol.d.mts → launchdarkly-CWhPi3lZ.d.mts} +1 -2
  68. package/dist/locale/adapters/index.d.mts +4 -3
  69. package/dist/locale/adapters/index.mjs +2 -2
  70. package/dist/locale/adapters/v0/index.d.mts +1 -1
  71. package/dist/locale/adapters/v0/index.mjs +1 -1
  72. package/dist/locale/adapters/vue-i18n/index.d.mts +1 -2
  73. package/dist/locale/adapters/vue-i18n/index.mjs +1 -1
  74. package/dist/locale/index.d.mts +4 -4
  75. package/dist/locale/index.mjs +3 -3
  76. package/dist/locale/messages/en/index.d.mts +3 -0
  77. package/dist/locale/messages/en/index.mjs +1 -0
  78. package/dist/logger/adapters/consola/index.d.mts +1 -1
  79. package/dist/logger/adapters/consola/index.mjs +1 -1
  80. package/dist/logger/adapters/index.d.mts +4 -4
  81. package/dist/logger/adapters/index.mjs +4 -4
  82. package/dist/logger/adapters/pino/index.d.mts +1 -1
  83. package/dist/logger/adapters/pino/index.mjs +1 -1
  84. package/dist/logger/adapters/v0/index.d.mts +1 -1
  85. package/dist/logger/adapters/v0/index.mjs +1 -1
  86. package/dist/logger/index.d.mts +6 -6
  87. package/dist/logger/index.mjs +5 -5
  88. package/dist/notifications/index.d.mts +1 -2
  89. package/dist/notifications/index.mjs +4 -2
  90. package/dist/palettes/ant/generate/index.d.mts +0 -1
  91. package/dist/palettes/ant/generate/index.mjs +1 -1
  92. package/dist/palettes/ant/index.d.mts +1 -2
  93. package/dist/palettes/index.d.mts +3 -4
  94. package/dist/palettes/leonardo/generate/index.d.mts +0 -1
  95. package/dist/palettes/leonardo/generate/index.mjs +1 -1
  96. package/dist/palettes/material/generate/index.d.mts +0 -1
  97. package/dist/palettes/material/generate/index.mjs +1 -1
  98. package/dist/palettes/material/index.d.mts +1 -2
  99. package/dist/palettes/md1/index.d.mts +1 -2
  100. package/dist/palettes/md2/index.d.mts +1 -2
  101. package/dist/palettes/radix/index.d.mts +1 -2
  102. package/dist/palettes/tailwind/index.d.mts +1 -2
  103. package/dist/permissions/adapters/index.d.mts +1 -1
  104. package/dist/permissions/adapters/index.mjs +1 -1
  105. package/dist/permissions/adapters/v0/index.d.mts +1 -1
  106. package/dist/permissions/adapters/v0/index.mjs +1 -1
  107. package/dist/permissions/index.d.mts +1 -1
  108. package/dist/permissions/index.mjs +2 -2
  109. package/dist/{pino-BscMO3RR.mjs → pino-DOI2Y-WP.mjs} +1 -1
  110. package/dist/{pino-DjeWBFnj.d.mts → pino-cSCLlizQ.d.mts} +1 -2
  111. package/dist/popover/adapters/floating-ui/index.d.mts +1 -2
  112. package/dist/popover/adapters/floating-ui/index.mjs +4 -3
  113. package/dist/popover/index.d.mts +3 -3
  114. package/dist/popover/index.mjs +2 -2
  115. package/dist/{posthog-CJAYssdr.d.mts → posthog-Bzaj2Jbd.d.mts} +1 -2
  116. package/dist/rules/index.d.mts +2 -2
  117. package/dist/rules/index.mjs +1 -1
  118. package/dist/{server-m7iD1vOr.mjs → server-CSXNc-my.mjs} +1 -1
  119. package/dist/{server-5vbJ7GGs.d.mts → server-bE0UxPFS.d.mts} +1 -2
  120. package/dist/storage/adapters/index.d.mts +2 -2
  121. package/dist/storage/adapters/index.mjs +1 -1
  122. package/dist/storage/adapters/memory/index.d.mts +1 -1
  123. package/dist/storage/adapters/memory/index.mjs +1 -1
  124. package/dist/storage/index.d.mts +4 -4
  125. package/dist/storage/index.mjs +2 -2
  126. package/dist/theme/adapters/index.d.mts +1 -1
  127. package/dist/theme/adapters/index.mjs +3 -3
  128. package/dist/theme/adapters/unhead/index.d.mts +1 -1
  129. package/dist/theme/adapters/unhead/index.mjs +1 -1
  130. package/dist/theme/adapters/v0/index.d.mts +1 -1
  131. package/dist/theme/adapters/v0/index.mjs +1 -1
  132. package/dist/theme/index.d.mts +1 -1
  133. package/dist/theme/index.mjs +4 -4
  134. package/dist/{toArray-MY9Kb1Qy.mjs → toArray-DCZRopC6.mjs} +1 -1
  135. package/dist/types/index.d.mts +1 -1
  136. package/dist/{unhead-C8zbWr45.mjs → unhead-hPXFvbDX.mjs} +2 -2
  137. package/dist/{useEventListener-2eAMwUdw.mjs → useEventListener-DI-1-WPJ.mjs} +2 -2
  138. package/dist/{useFeatures-DLafCOWt.mjs → useFeatures-CuTiM9YA.mjs} +4 -4
  139. package/dist/{useLocale-K_45ulPt.mjs → useLocale-OjumdVbi.mjs} +4 -4
  140. package/dist/{useLogger-YyWuYvrH.mjs → useLogger-CuGy-g9B.mjs} +3 -3
  141. package/dist/{useNotifications-Kh_KvM7j.mjs → useNotifications-BuZuDxSy.mjs} +6 -5
  142. package/dist/{usePermissions-BCGwsOES.mjs → usePermissions-CabbzZd_.mjs} +4 -4
  143. package/dist/{usePopover-BTo0AGIQ.mjs → usePopover-7WMiJ9Zt.mjs} +15 -12
  144. package/dist/{useRovingFocus-CkRnVmJ1.mjs → useRovingFocus-DuYBgzOA.mjs} +132 -94
  145. package/dist/{useRules-BuE5ffOJ.mjs → useRules-Bg7yBYP5.mjs} +5 -5
  146. package/dist/{useStorage-BT8-mjVs.mjs → useStorage-BtuW9p_Q.mjs} +7 -6
  147. package/dist/{useTheme-DkK6tPqY.mjs → useTheme-CfrtMZFH.mjs} +6 -6
  148. package/dist/{useTimer-CGVXk397.mjs → useTimer-aOp5haHg.mjs} +1 -1
  149. package/dist/utilities/index.d.mts +1 -1
  150. package/dist/utilities/index.mjs +66 -43
  151. package/dist/{v0-D0Exc2bO.mjs → v0-B9gSaems.mjs} +2 -2
  152. package/dist/{v0-SuxTihEe.mjs → v0-BusOrX6s.mjs} +2 -2
  153. package/dist/{v0-GI9U-rPA.d.mts → v0-CMqoGujd.d.mts} +1 -2
  154. package/dist/{v0-yZ2ZUtVF.mjs → v0-DoHWpAZn.mjs} +1 -1
  155. package/dist/{v0-CDW1Ktk-.d.mts → v0-IFGH9KS0.d.mts} +1 -2
  156. package/dist/{v0-B_53w7Fu.mjs → v0-Lo13oRUf.mjs} +2 -2
  157. package/dist/{v0-DfFK-p4X.d.mts → v0-QlSKvaAH.d.mts} +1 -2
  158. package/dist/{virtual-Bbu26O_h.mjs → virtual-Bsnip0cm.mjs} +1 -1
  159. package/dist/{virtual-JIdFLpTQ.d.mts → virtual-DrLIdUr1.d.mts} +1 -2
  160. package/package.json +10 -10
  161. package/dist/index-CX869wwk.d.mts +0 -1
  162. package/dist/index-CsuikFeJ.d.mts +0 -1
  163. /package/dist/{adapter-Chznb9Ju.mjs → adapter-B5mEUP5W.mjs} +0 -0
  164. /package/dist/{adapter-CrRJuxRk.mjs → adapter-B5teFrQH.mjs} +0 -0
  165. /package/dist/{adapter-D8zizQVP.mjs → adapter-BTNELv6-.mjs} +0 -0
  166. /package/dist/{adapter-ryk5H6YZ.d.mts → adapter-CHvvxw4c.d.mts} +0 -0
  167. /package/dist/{adapter-8UADsA3-.mjs → adapter-CxCiZYZO.mjs} +0 -0
  168. /package/dist/{createTrinity-z-3q9QWR.mjs → createTrinity-DJROWgXU.mjs} +0 -0
  169. /package/dist/{index-u_qSc2xS.d.mts → index-Bmr3SnAx.d.mts} +0 -0
  170. /package/dist/{index-Djhiy3nS.d.mts → index-Cyv2jtYx.d.mts} +0 -0
  171. /package/dist/{memory-CR6zvuaP.mjs → memory-C-Hi69Zc.mjs} +0 -0
  172. /package/dist/{memory-B7z1RR9r.d.mts → memory-DyA22X2q.d.mts} +0 -0
  173. /package/dist/{v0-Ch0yBKEj.mjs → v0-C4TLCYZJ.mjs} +0 -0
@@ -1,18 +1,21 @@
1
- import { a as ID, i as Extensible, o as MaybeArray } from "./index-DtiaWx5U.mjs";
2
- import { t as ContextTrinity } from "./index-H_hl6-4b.mjs";
3
- import { a as RegistryEventName, c as RegistryTicketInput, o as RegistryOptions, r as RegistryEventCallback, s as RegistryTicket, t as RegistryContext } from "./index-DSPkZ0ql.mjs";
4
- import { i as PopoverPlacement, n as PopoverAdapterContext, t as PopoverAdapter } from "./adapter-ClB-53_F.mjs";
5
- import { _ as FilterMode } from "./adapter-PDTe5nFT.mjs";
6
- import { _ as ColumnNode, c as DataTableOptions, n as DataTableColumnTicketInput, r as DataTableContext, t as DataTableColumnTicket } from "./index-Di9e8sOm.mjs";
7
- import { c as TokenTicket, i as TokenContext, o as TokenOptions, r as TokenCollection } from "./index-D0ub61GV.mjs";
8
- import { A as MatchRange, k as IgnoreAccents } from "./index-DjRE4lLl.mjs";
9
- import { t as DateAdapter } from "./adapter-D5nT3bLw.mjs";
10
- import { n as FeaturesAdapterFlags, t as FeaturesAdapter } from "./adapter-BXunW_mw.mjs";
11
- import { t as LocaleAdapter } from "./adapter-CqS8xexO.mjs";
12
- import { t as LoggerAdapter } from "./adapter-ryk5H6YZ.mjs";
13
- import { n as StorageAdapter } from "./memory-B7z1RR9r.mjs";
1
+ import { a as ID, i as Extensible, o as MaybeArray } from "./index-XNZrgWCq.mjs";
2
+ import { t as ContextTrinity } from "./index-ClUa0Bl7.mjs";
3
+ import { a as RegistryEventName, c as RegistryTicketInput, o as RegistryOptions, r as RegistryEventCallback, s as RegistryTicket, t as RegistryContext } from "./index-Y6VfllT2.mjs";
4
+ import { i as PopoverPlacement, n as PopoverAdapterContext, t as PopoverAdapter } from "./adapter-CbkRdMju.mjs";
5
+ import { _ as FilterMode } from "./adapter-BP7jNtvH.mjs";
6
+ import { _ as ColumnNode, c as DataTableOptions, n as DataTableColumnTicketInput, r as DataTableContext, t as DataTableColumnTicket } from "./index-DDwX_0Um.mjs";
7
+ import { c as TokenTicket, i as TokenContext, o as TokenOptions, r as TokenCollection } from "./index-Dlr9_rf1.mjs";
8
+ import { A as MatchRange, k as IgnoreAccents } from "./index-DMQv04YO.mjs";
9
+ import { t as DateAdapter } from "./adapter-BC1VWu0H.mjs";
10
+ import { n as FeaturesAdapterFlags, t as FeaturesAdapter } from "./adapter-w8SEWO2v.mjs";
11
+ import "./flagsmith-BA8q5LAx.mjs";
12
+ import "./launchdarkly-CWhPi3lZ.mjs";
13
+ import "./posthog-Bzaj2Jbd.mjs";
14
+ import { t as LocaleAdapter } from "./adapter-Bi799Zn7.mjs";
15
+ import "./index-h87SNntw.mjs";
16
+ import { t as LoggerAdapter } from "./adapter-CHvvxw4c.mjs";
17
+ import { n as StorageAdapter } from "./memory-DyA22X2q.mjs";
14
18
  import { App, ComponentPublicInstance, ComputedRef, InjectionKey, MaybeRef, MaybeRefOrGetter, Reactive, Ref, ShallowReactive, ShallowRef, UnwrapNestedRefs, WatchSource, WritableComputedRef } from "vue";
15
-
16
19
  //#region src/composables/createModel/index.d.ts
17
20
  /**
18
21
  * Input type for model tickets - what users provide to register().
@@ -29,7 +32,9 @@ interface ModelTicketInput<V = unknown> extends RegistryTicketInput<V> {
29
32
  * @template Z The input ticket type that extends ModelTicketInput.
30
33
  */
31
34
  type ModelTicket<Z extends ModelTicketInput = ModelTicketInput> = RegistryTicket & Z & {
32
- /** Disabled state of the ticket (guaranteed to exist on output) */disabled: MaybeRefOrGetter<boolean>; /** Whether the ticket is currently selected */
35
+ /** Disabled state of the ticket (guaranteed to exist on output) */
36
+ disabled: MaybeRefOrGetter<boolean>;
37
+ /** Whether the ticket is currently selected */
33
38
  isSelected: Readonly<Ref<boolean, boolean>>;
34
39
  };
35
40
  /**
@@ -366,8 +371,11 @@ interface SelectionTicketInput<V = unknown> extends ModelTicketInput<V> {}
366
371
  * - `toggle()` - Method to toggle selection state
367
372
  */
368
373
  type SelectionTicket<Z extends SelectionTicketInput = SelectionTicketInput> = ModelTicket<Z> & {
369
- /** Select self */select: () => void; /** Unselect self */
370
- unselect: () => void; /** Toggle self on and off */
374
+ /** Select self */
375
+ select: () => void;
376
+ /** Unselect self */
377
+ unselect: () => void;
378
+ /** Toggle self on and off */
371
379
  toggle: () => void;
372
380
  };
373
381
  /**
@@ -641,9 +649,12 @@ interface OverflowOptions {
641
649
  /**
642
650
  * Container element to track. Can be a ref, getter, or MaybeRefOrGetter.
643
651
  * When provided, useOverflow tracks this element's width automatically.
644
- * Accepts null for compatibility with Vue's useTemplateRef.
652
+ * Also accepts Vue `useTemplateRef` Vue 3.5.42 wraps that in a deep
653
+ * `Readonly<Ref>` that is not assignable to `MaybeRefOrGetter`.
645
654
  */
646
- container?: MaybeRefOrGetter<Element | null | undefined>;
655
+ container?: MaybeRefOrGetter<Element | null | undefined> | {
656
+ readonly value: unknown;
657
+ };
647
658
  /** Gap between items in pixels */
648
659
  gap?: MaybeRefOrGetter<number>;
649
660
  /** Reserved space in pixels (for nav buttons, ellipsis, etc) */
@@ -1044,8 +1055,11 @@ interface GroupTicketInput<V = unknown> extends SelectionTicketInput<V> {
1044
1055
  * Includes all input properties plus selection and tri-state methods.
1045
1056
  */
1046
1057
  type GroupTicket<Z extends GroupTicketInput = GroupTicketInput> = SelectionTicket<Z> & {
1047
- /** Whether the ticket is in a mixed/indeterminate state */isMixed: Readonly<Ref<boolean>>; /** Set self to mixed/indeterminate state */
1048
- mix: () => void; /** Clear mixed/indeterminate state from self */
1058
+ /** Whether the ticket is in a mixed/indeterminate state */
1059
+ isMixed: Readonly<Ref<boolean>>;
1060
+ /** Set self to mixed/indeterminate state */
1061
+ mix: () => void;
1062
+ /** Clear mixed/indeterminate state from self */
1049
1063
  unmix: () => void;
1050
1064
  };
1051
1065
  /**
@@ -1604,17 +1618,18 @@ declare function createPopoverFallback(): PopoverPluginContext;
1604
1618
  * import { FloatingUIPopoverAdapter } from '@vuetify/v0/popover/adapters/floating-ui'
1605
1619
  *
1606
1620
  * export const [useAppPopover, provideAppPopover, appPopover] = createPopoverContext({
1607
- * namespace: 'app:popover-plugin',
1621
+ * namespace: 'app:popover',
1608
1622
  * adapter: new FloatingUIPopoverAdapter(),
1609
1623
  * })
1610
1624
  * ```
1611
1625
  *
1612
1626
  * Plugin trinity for an app-wide popover positioning adapter.
1613
1627
  *
1614
- * Namespace is `v0:popover-plugin` not `v0:popover`, which `Popover.Root`
1615
- * already owns for compound context. The generated consumer is module-private;
1616
- * `usePopover()` consults it internally. Fallback is `{ adapter: undefined }`,
1617
- * so zero-config matches today's `V0PopoverAdapter` default.
1628
+ * Namespace is `v0:popover`. Compound `Popover.Root` context lives at
1629
+ * `v0:popover:root` so the two do not collide. The generated consumer is
1630
+ * module-private; `usePopover()` consults it internally. Fallback is
1631
+ * `{ adapter: undefined }`, so zero-config matches today's `V0PopoverAdapter`
1632
+ * default.
1618
1633
  *
1619
1634
  * @example
1620
1635
  * ```ts
@@ -1689,7 +1704,7 @@ interface ClientComboboxAdapterOptions {
1689
1704
  /** Filter matching mode */
1690
1705
  mode?: FilterMode;
1691
1706
  /** Object keys to match against (for object values) */
1692
- keys?: string[];
1707
+ keys?: MaybeRefOrGetter<readonly string[]>;
1693
1708
  /** Custom filter function — overrides default matching */
1694
1709
  filter?: (query: string, value: unknown) => boolean;
1695
1710
  }
@@ -2416,6 +2431,17 @@ interface ValidationOptions extends GroupOptions {
2416
2431
  rules?: RuleInput[];
2417
2432
  /** Value source for validate() when called without arguments. */
2418
2433
  value?: MaybeRefOrGetter<unknown>;
2434
+ /**
2435
+ * Form injection key. Must match the parent Form's `namespace`.
2436
+ *
2437
+ * @default 'v0:form'
2438
+ *
2439
+ * @example
2440
+ * ```ts
2441
+ * createValidation({ formNamespace: 'v0:billing' })
2442
+ * ```
2443
+ */
2444
+ formNamespace?: string;
2419
2445
  }
2420
2446
  /**
2421
2447
  * Creates a per-input validation instance.
@@ -2578,7 +2604,16 @@ interface InputOptions<T = string> {
2578
2604
  name?: string;
2579
2605
  /** Associate with form by ID. */
2580
2606
  form?: string;
2581
- /** Whether required. */
2607
+ /**
2608
+ * Form injection key. Must match the parent Form's `namespace`.
2609
+ *
2610
+ * @default 'v0:form'
2611
+ */
2612
+ formNamespace?: string;
2613
+ /**
2614
+ * Whether required. When true, a presence rule is registered so Form
2615
+ * submit fails on empty values even with `novalidate`.
2616
+ */
2582
2617
  required?: boolean;
2583
2618
  /** Disabled state. */
2584
2619
  disabled?: MaybeRefOrGetter<boolean>;
@@ -3138,24 +3173,43 @@ interface NestedTicketInput<V = unknown> extends GroupTicketInput<V> {
3138
3173
  * @template Z The input ticket type that extends NestedTicketInput.
3139
3174
  */
3140
3175
  type NestedTicket<Z extends NestedTicketInput = NestedTicketInput> = GroupTicket<Z> & {
3141
- /** ID of the parent ticket, or undefined if this is a root item. Static — set at registration time. */parentId: ID | undefined; /** Reference to the DOM element for focus management */
3142
- el: MaybeRefOrGetter<Element | null | undefined> | undefined; /** Whether this ticket is currently open/expanded */
3143
- isOpen: Readonly<Ref<boolean>>; /** Whether this ticket is currently active/highlighted */
3144
- isActive: Readonly<Ref<boolean>>; /** Whether this ticket is a leaf node (has no children) */
3145
- isLeaf: Readonly<Ref<boolean>>; /** Depth in tree (0 = root) */
3146
- depth: Readonly<Ref<number>>; /** Open/expand this ticket */
3147
- open: () => void; /** Close/collapse this ticket */
3148
- close: () => void; /** Flip this ticket's open/closed state */
3149
- flip: () => void; /** Reveal this ticket by opening all ancestors */
3150
- reveal: () => void; /** Activate/highlight this ticket */
3151
- activate: () => void; /** Deactivate/unhighlight this ticket */
3152
- deactivate: () => void; /** Get path from root to self (includes self) */
3153
- getPath: () => ID[]; /** Get ancestors excluding self */
3154
- getAncestors: () => ID[]; /** Get all descendants */
3155
- getDescendants: () => ID[]; /** Check if this ticket is an ancestor of the given ID */
3156
- isAncestorOf: (descendantId: ID) => boolean; /** Check if this ticket has the given ID as an ancestor */
3157
- hasAncestor: (ancestorId: ID) => boolean; /** Get sibling IDs (including self) */
3158
- siblings: () => ID[]; /** Get 1-indexed position among siblings (for aria-posinset) */
3176
+ /** ID of the parent ticket, or undefined if this is a root item. Static — set at registration time. */
3177
+ parentId: ID | undefined;
3178
+ /** Reference to the DOM element for focus management */
3179
+ el: MaybeRefOrGetter<Element | null | undefined> | undefined;
3180
+ /** Whether this ticket is currently open/expanded */
3181
+ isOpen: Readonly<Ref<boolean>>;
3182
+ /** Whether this ticket is currently active/highlighted */
3183
+ isActive: Readonly<Ref<boolean>>;
3184
+ /** Whether this ticket is a leaf node (has no children) */
3185
+ isLeaf: Readonly<Ref<boolean>>;
3186
+ /** Depth in tree (0 = root) */
3187
+ depth: Readonly<Ref<number>>;
3188
+ /** Open/expand this ticket */
3189
+ open: () => void;
3190
+ /** Close/collapse this ticket */
3191
+ close: () => void;
3192
+ /** Flip this ticket's open/closed state */
3193
+ flip: () => void;
3194
+ /** Reveal this ticket by opening all ancestors */
3195
+ reveal: () => void;
3196
+ /** Activate/highlight this ticket */
3197
+ activate: () => void;
3198
+ /** Deactivate/unhighlight this ticket */
3199
+ deactivate: () => void;
3200
+ /** Get path from root to self (includes self) */
3201
+ getPath: () => ID[];
3202
+ /** Get ancestors excluding self */
3203
+ getAncestors: () => ID[];
3204
+ /** Get all descendants */
3205
+ getDescendants: () => ID[];
3206
+ /** Check if this ticket is an ancestor of the given ID */
3207
+ isAncestorOf: (descendantId: ID) => boolean;
3208
+ /** Check if this ticket has the given ID as an ancestor */
3209
+ hasAncestor: (ancestorId: ID) => boolean;
3210
+ /** Get sibling IDs (including self) */
3211
+ siblings: () => ID[];
3212
+ /** Get 1-indexed position among siblings (for aria-posinset) */
3159
3213
  position: () => number;
3160
3214
  };
3161
3215
  /**
@@ -3165,7 +3219,8 @@ type NestedTicket<Z extends NestedTicketInput = NestedTicketInput> = GroupTicket
3165
3219
  * @template Z The input ticket type that extends NestedTicketInput.
3166
3220
  */
3167
3221
  type NestedRegistration<Z extends NestedTicketInput = NestedTicketInput> = Partial<Z> & {
3168
- /** Inline children to register with this item as parent */children?: NestedRegistration<Z>[];
3222
+ /** Inline children to register with this item as parent */
3223
+ children?: NestedRegistration<Z>[];
3169
3224
  };
3170
3225
  /**
3171
3226
  * Context for managing nested/hierarchical item collections.
@@ -3514,6 +3569,17 @@ interface NumberFieldOptions extends NumericOptions {
3514
3569
  label?: string;
3515
3570
  /** Form field name. */
3516
3571
  name?: string;
3572
+ /**
3573
+ * Form injection key. Must match the parent Form's `namespace`.
3574
+ *
3575
+ * @default 'v0:form'
3576
+ */
3577
+ formNamespace?: string;
3578
+ /**
3579
+ * Whether required. When true, a presence rule is registered so Form
3580
+ * submit fails on empty values even with `novalidate`.
3581
+ */
3582
+ required?: boolean;
3517
3583
  /** Validation rules. */
3518
3584
  rules?: InputOptions<number | null>['rules'];
3519
3585
  /** Manual error state override — forces invalid. */
@@ -5761,6 +5827,14 @@ declare class KeyboardAdapter<Z extends DragType = DragType> extends DragDropAda
5761
5827
  * Layout axis a drop zone resolves indices along.
5762
5828
  */
5763
5829
  type Orientation = 'vertical' | 'horizontal';
5830
+ /**
5831
+ * `MaybeRefOrGetter<T>` plus Vue 3.5.42 `useTemplateRef` / `shallowReadonly`
5832
+ * results. Those wrap in a deep `Readonly<Ref<T>>` that is not assignable
5833
+ * to `Ref<T>`.
5834
+ */
5835
+ type MaybeReadonlyRefOrGetter<T> = MaybeRefOrGetter<T> | {
5836
+ readonly value: unknown;
5837
+ };
5764
5838
  /**
5765
5839
  * Discriminated payload describing what is being dragged. Consumers extend
5766
5840
  * this with concrete `type` literals plus a matching `value`.
@@ -5903,8 +5977,8 @@ type ActiveDrag<Z extends DragType = DragType> = Z extends DragType ? {
5903
5977
  type DraggableTicketInput<Z extends DragType = DragType> = Z extends DragType ? RegistryTicketInput & {
5904
5978
  type: Z['type'];
5905
5979
  value: Z['value'];
5906
- el: MaybeRefOrGetter<HTMLElement | null>;
5907
- disabled?: MaybeRefOrGetter<boolean>;
5980
+ el: MaybeReadonlyRefOrGetter<HTMLElement | null>;
5981
+ disabled?: MaybeReadonlyRefOrGetter<boolean>;
5908
5982
  onBeforeStart?: (drag: ActiveDrag<Z>) => boolean | void;
5909
5983
  onMove?: (drag: ActiveDrag<Z>) => void;
5910
5984
  onCancel?: (drag: ActiveDrag<Z>, reason: 'cancel' | 'reject') => void;
@@ -5949,11 +6023,11 @@ type DraggableTicket<Z extends DragType = DragType> = Z extends DragType ? Regis
5949
6023
  * ```
5950
6024
  */
5951
6025
  interface DropZoneTicketInput<Z extends DragType = DragType> extends RegistryTicketInput {
5952
- el: MaybeRefOrGetter<HTMLElement | null>;
6026
+ el: MaybeReadonlyRefOrGetter<HTMLElement | null>;
5953
6027
  /** Allowed drag types or a synchronous predicate. Async predicates (Promise / thenable returns) are rejected with a warning — `accept` must return synchronously. */
5954
6028
  accept?: Z['type'][] | ((drag: ActiveDrag<Z>) => boolean);
5955
6029
  orientation?: Orientation;
5956
- disabled?: MaybeRefOrGetter<boolean>;
6030
+ disabled?: MaybeReadonlyRefOrGetter<boolean>;
5957
6031
  onEnter?: (drag: ActiveDrag<Z>) => void;
5958
6032
  onLeave?: (drag: ActiveDrag<Z>) => void;
5959
6033
  onBeforeDrop?: (drag: ActiveDrag<Z>, position: DropPosition) => boolean | void;
@@ -7041,18 +7115,31 @@ interface NotificationTicketInput extends RegistryTicketInput {
7041
7115
  * Returned by {@link send}, {@link register}, and {@link onboard}.
7042
7116
  */
7043
7117
  type NotificationTicket<Z extends NotificationTicketInput = NotificationTicketInput> = RegistryTicket & Z & {
7044
- /** When the notification was created. */createdAt: Date; /** When the notification was marked as read, or `null` if unread. */
7045
- readAt: Date | null; /** When the notification was seen in the viewport, or `null` if unseen. */
7046
- seenAt: Date | null; /** When the notification was archived, or `null` if active. */
7047
- archivedAt: Date | null; /** Snooze expiry, or `null` if not snoozed. */
7048
- snoozedUntil: Date | null; /** Mark as read. Sets `readAt` to now. */
7049
- read: () => void; /** Mark as unread. Clears `readAt`. */
7050
- unread: () => void; /** Mark as seen. Sets `seenAt` to now. */
7051
- seen: () => void; /** Archive. Sets `archivedAt` to now. */
7052
- archive: () => void; /** Restore from archive. Clears `archivedAt`. */
7053
- unarchive: () => void; /** Snooze until the given time. */
7054
- snooze: (until: Date) => void; /** Cancel snooze. Clears `snoozedUntil`. */
7055
- wake: () => void; /** Remove from the display queue only. Registry entry is preserved for inbox/history. Use `ticket.unregister()` for full removal. */
7118
+ /** When the notification was created. */
7119
+ createdAt: Date;
7120
+ /** When the notification was marked as read, or `null` if unread. */
7121
+ readAt: Date | null;
7122
+ /** When the notification was seen in the viewport, or `null` if unseen. */
7123
+ seenAt: Date | null;
7124
+ /** When the notification was archived, or `null` if active. */
7125
+ archivedAt: Date | null;
7126
+ /** Snooze expiry, or `null` if not snoozed. */
7127
+ snoozedUntil: Date | null;
7128
+ /** Mark as read. Sets `readAt` to now. */
7129
+ read: () => void;
7130
+ /** Mark as unread. Clears `readAt`. */
7131
+ unread: () => void;
7132
+ /** Mark as seen. Sets `seenAt` to now. */
7133
+ seen: () => void;
7134
+ /** Archive. Sets `archivedAt` to now. */
7135
+ archive: () => void;
7136
+ /** Restore from archive. Clears `archivedAt`. */
7137
+ unarchive: () => void;
7138
+ /** Snooze until the given time. */
7139
+ snooze: (until: Date) => void;
7140
+ /** Cancel snooze. Clears `snoozedUntil`. */
7141
+ wake: () => void;
7142
+ /** Remove from the display queue only. Registry entry is preserved for inbox/history. Use `ticket.unregister()` for full removal. */
7056
7143
  dismiss: () => void;
7057
7144
  };
7058
7145
  /**
@@ -7189,6 +7276,36 @@ interface PermissionPluginOptions extends PermissionContextOptions {}
7189
7276
  */
7190
7277
  declare function createPermissions(_options?: PermissionOptions): PermissionContext;
7191
7278
  declare const createPermissionsContext: <_E extends PermissionContext<PermissionTicket> = PermissionContext<PermissionTicket>>(_options?: PermissionContextOptions | undefined) => ContextTrinity<_E>, createPermissionsPlugin: (_options?: PermissionContextOptions | undefined) => Plugin, usePermissions: <_E extends PermissionContext<PermissionTicket> = PermissionContext<PermissionTicket>>(namespace?: string) => _E;
7279
+ /**
7280
+ * Creates a new permissions plugin.
7281
+ *
7282
+ * @param options The options for the permissions plugin.
7283
+ * @template Z The type of the permission ticket.
7284
+ * @template E The type of the permission context.
7285
+ * @returns A new permissions plugin.
7286
+ *
7287
+ * @see https://0.vuetifyjs.com/composables/plugins/use-permissions
7288
+ *
7289
+ * @example
7290
+ * ```ts
7291
+ * import { createApp } from 'vue'
7292
+ * import { createPermissionsPlugin } from '@vuetify/v0'
7293
+ * import App from './App.vue'
7294
+ *
7295
+ * const app = createApp(App)
7296
+ *
7297
+ * app.use(
7298
+ * createPermissionsPlugin({
7299
+ * permissions: {
7300
+ * admin: [['read', 'users']],
7301
+ * editor: [['edit', 'posts']],
7302
+ * },
7303
+ * })
7304
+ * )
7305
+ *
7306
+ * app.mount('#app')
7307
+ * ```
7308
+ */
7192
7309
  //#endregion
7193
7310
  //#region src/composables/usePresence/index.d.ts
7194
7311
  type PresenceState = 'unmounted' | 'mounted' | 'present' | 'leaving';
@@ -7747,7 +7864,8 @@ type StackTicket<Z extends StackTicketInput = StackTicketInput> = SelectionTicke
7747
7864
  /**
7748
7865
  * Whether this overlay is backed by a scrim/backdrop
7749
7866
  */
7750
- scrim: Readonly<Ref<boolean>>; /** The overlay's DOM element, if provided at registration. */
7867
+ scrim: Readonly<Ref<boolean>>;
7868
+ /** The overlay's DOM element, if provided at registration. */
7751
7869
  el?: MaybeRefOrGetter<Element | null | undefined>;
7752
7870
  /**
7753
7871
  * The calculated z-index for this overlay
@@ -1,9 +1,9 @@
1
- import { a as ID, i as Extensible } from "./index-DtiaWx5U.mjs";
2
- import { t as ContextTrinity } from "./index-H_hl6-4b.mjs";
3
- import { c as RegistryTicketInput, s as RegistryTicket, t as RegistryContext } from "./index-DSPkZ0ql.mjs";
4
- import { a as SortEntry, c as PaginationOptions, i as SortDirection, o as PaginationContext, t as DataTableAdapter, v as FilterOptions } from "./adapter-PDTe5nFT.mjs";
1
+ import { a as ID, i as Extensible } from "./index-XNZrgWCq.mjs";
2
+ import { t as ContextTrinity } from "./index-ClUa0Bl7.mjs";
3
+ import { c as RegistryTicketInput, s as RegistryTicket, t as RegistryContext } from "./index-Y6VfllT2.mjs";
4
+ import { a as SortEntry, c as PaginationOptions, i as SortDirection, o as PaginationContext, t as DataTableAdapter, v as FilterOptions } from "./adapter-BP7jNtvH.mjs";
5
+ import "./index-DmDf_FmM.mjs";
5
6
  import { MaybeRefOrGetter, Ref, ShallowRef } from "vue";
6
-
7
7
  //#region src/composables/createDataTable/columns.d.ts
8
8
  /**
9
9
  * @module createDataTable/columns
@@ -222,7 +222,7 @@ interface DataTableOptions<T extends object> {
222
222
  openAll?: boolean;
223
223
  /** Allow multiple rows expanded simultaneously. @default true */
224
224
  expandMultiple?: boolean;
225
- /** Locale for sorting (defaults to useLocale's selected locale or browser default) */
225
+ /** Locale for sorting. When set, wins over useLocale; otherwise useLocale or the browser default. */
226
226
  locale?: string;
227
227
  /** Pipeline adapter. @default ClientDataTableAdapter */
228
228
  adapter?: DataTableAdapter<T>;
@@ -1,5 +1,4 @@
1
- import { a as ID, c as V0ErrorCode, l as V0ErrorDetails, r as DeepPartial } from "./index-DtiaWx5U.mjs";
2
-
1
+ import { a as ID, c as V0ErrorCode, l as V0ErrorDetails, r as DeepPartial } from "./index-XNZrgWCq.mjs";
3
2
  //#region src/utilities/color.d.ts
4
3
  interface RGB {
5
4
  r: number;
@@ -8,12 +7,7 @@ interface RGB {
8
7
  a?: number;
9
8
  }
10
9
  declare function hexToRgb(hex: string): RGB;
11
- declare function rgbToHex({
12
- r,
13
- g,
14
- b,
15
- a
16
- }: RGB): string;
10
+ declare function rgbToHex({ r, g, b, a }: RGB): string;
17
11
  //#endregion
18
12
  //#region src/utilities/apca.d.ts
19
13
  declare function apca(text: RGB, background: RGB): number;
@@ -43,10 +37,15 @@ type MatchRange = readonly [number, number];
43
37
  /**
44
38
  * Which side of a comparison has its accents folded before matching.
45
39
  *
46
- * - `'query'` — only the query, so typing `café` finds plain `cafe`
47
- * - `'target'` — only the text, so typing `cafe` finds accented `café`
48
- * - `true` — both sides
49
- * - `false` — neither
40
+ * - `'query'` — folds the query, so typing `café` finds plain `cafe`
41
+ * - `'target'` — folds the text, so typing `cafe` finds accented `café`
42
+ * - `true` — both sides fold, so any accent variant matches any other
43
+ * - `false` — neither folds, exact match only
44
+ *
45
+ * `'query'` and `'target'` fold only one side, but a spelling that already
46
+ * agrees on both sides still matches verbatim — folding one side never
47
+ * hides a match the other side already has. They still don't fold each
48
+ * other's accents together, so `café` won't match `cafè` under either.
50
49
  */
51
50
  type IgnoreAccents = boolean | 'query' | 'target';
52
51
  interface FindMatchRangesOptions {
@@ -59,6 +58,11 @@ interface FindMatchRangesOptions {
59
58
  * folding accents on either side. Returned indices always address the original
60
59
  * `text`, even when folding or case-conversion changed its length.
61
60
  *
61
+ * Directional folding (`'query'` or `'target'`) only transforms one side, but
62
+ * a spelling that's already identical on both sides — accents and all — is
63
+ * merged in verbatim, so folding one side never hides a match the other side
64
+ * already has.
65
+ *
62
66
  * @param text The string to search.
63
67
  * @param query The term to look for. An empty query yields no ranges.
64
68
  * @param options Optional `ignoreCase`, `ignoreAccents`, `matchAll`.
@@ -73,6 +77,9 @@ interface FindMatchRangesOptions {
73
77
  *
74
78
  * findMatchRanges('Łódź', 'Lo', { ignoreAccents: 'target' })
75
79
  * // [[0, 2]]
80
+ *
81
+ * findMatchRanges('… Kraków …', 'Kraków', { ignoreAccents: 'query' })
82
+ * // [[2, 8]] — typing the exact accented name always finds itself
76
83
  * ```
77
84
  */
78
85
  declare function findMatchRanges(text: string, query: string, options?: FindMatchRangesOptions): MatchRange[];
@@ -1,6 +1,5 @@
1
- import { t as ContextTrinity } from "./index-H_hl6-4b.mjs";
2
- import { n as RegistryContextOptions, o as RegistryOptions, s as RegistryTicket, t as RegistryContext } from "./index-DSPkZ0ql.mjs";
3
-
1
+ import { t as ContextTrinity } from "./index-ClUa0Bl7.mjs";
2
+ import { n as RegistryContextOptions, o as RegistryOptions, s as RegistryTicket, t as RegistryContext } from "./index-Y6VfllT2.mjs";
4
3
  //#region src/composables/createTokens/index.d.ts
5
4
  interface TokenAlias<T = unknown> {
6
5
  [key: string]: unknown;
@@ -0,0 +1,4 @@
1
+ import "./adapter-BP7jNtvH.mjs";
2
+ import "./server-bE0UxPFS.mjs";
3
+ import "./v0-CMqoGujd.mjs";
4
+ import "./virtual-DrLIdUr1.mjs";