@vuetify/v0 0.1.8 → 0.1.9

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 (119) hide show
  1. package/SKILL.md +95 -0
  2. package/dist/adapter-CWp5eQ6R.d.mts +17 -0
  3. package/dist/{adapter-DIx4Rntl.d.mts → adapter-hDuQ9aNN.d.mts} +4 -4
  4. package/dist/browser/index.js +1352 -360
  5. package/dist/components/index.d.mts +2 -2
  6. package/dist/components/index.mjs +23 -23
  7. package/dist/{components-BbxKYAXs.mjs → components-mSy9az8x.mjs} +456 -231
  8. package/dist/composables/index.d.mts +16 -15
  9. package/dist/composables/index.mjs +22 -22
  10. package/dist/{consola-BVzYzeLH.d.mts → consola-C1OjyZVf.d.mts} +1 -1
  11. package/dist/constants/index.d.mts +1 -1
  12. package/dist/constants/index.mjs +1 -1
  13. package/dist/{createDataTable-DZouEhvH.mjs → createDataTable-DIl09siC.mjs} +5 -5
  14. package/dist/{createGroup-BpJFi41X.mjs → createGroup-PvzsLu9E.mjs} +1 -1
  15. package/dist/{createPagination-Bu8vE0JW.mjs → createPagination-DZSJ8aO5.mjs} +5 -5
  16. package/dist/{createSelection-8MX0OHXR.mjs → createSelection-DbWP6c7H.mjs} +1 -1
  17. package/dist/{createSingle-CbuOBb-E.mjs → createSingle-CeAJpbXs.mjs} +6 -6
  18. package/dist/{createTokens-CXlT0Vc6.mjs → createTokens-C1gIuKCK.mjs} +25 -4
  19. package/dist/data-table/adapters/client/index.d.mts +1 -1
  20. package/dist/data-table/adapters/client/index.mjs +3 -3
  21. package/dist/data-table/adapters/index.d.mts +4 -4
  22. package/dist/data-table/adapters/index.mjs +5 -5
  23. package/dist/data-table/adapters/server/index.d.mts +1 -1
  24. package/dist/data-table/adapters/server/index.mjs +3 -3
  25. package/dist/data-table/adapters/virtual/index.d.mts +1 -1
  26. package/dist/data-table/adapters/virtual/index.mjs +3 -3
  27. package/dist/data-table/index.d.mts +5 -5
  28. package/dist/data-table/index.mjs +14 -14
  29. package/dist/date/index.mjs +1 -1
  30. package/dist/features/adapters/posthog/index.mjs +2 -2
  31. package/dist/features/index.d.mts +1 -1
  32. package/dist/features/index.mjs +8 -8
  33. package/dist/{globals-ClSU6mqC.mjs → globals-3i9umzyz.mjs} +1 -1
  34. package/dist/{index-CxW4itj1.d.mts → index-BoK8Ln2f.d.mts} +1 -1
  35. package/dist/{index-B5NU2uB7.d.mts → index-C5XZRWlO.d.mts} +506 -166
  36. package/dist/{index-CmCMrlt3.d.mts → index-CLDBngUs.d.mts} +1 -1
  37. package/dist/{index-63-0oJS8.d.mts → index-D0qnkRbl.d.mts} +389 -183
  38. package/dist/index.d.mts +19 -18
  39. package/dist/index.mjs +23 -23
  40. package/dist/json/attributes.json +60 -0
  41. package/dist/json/importMap.json +24 -0
  42. package/dist/json/tags.json +40 -0
  43. package/dist/json/web-types.json +221 -1
  44. package/dist/locale/adapters/index.d.mts +3 -2
  45. package/dist/locale/adapters/index.mjs +2 -2
  46. package/dist/locale/adapters/v0/index.d.mts +1 -1
  47. package/dist/locale/adapters/v0/index.mjs +2 -2
  48. package/dist/locale/adapters/vue-i18n/index.d.mts +22 -0
  49. package/dist/locale/adapters/vue-i18n/index.mjs +26 -0
  50. package/dist/locale/index.d.mts +4 -3
  51. package/dist/locale/index.mjs +8 -9
  52. package/dist/logger/adapters/consola/index.d.mts +1 -1
  53. package/dist/logger/adapters/index.d.mts +4 -4
  54. package/dist/logger/adapters/index.mjs +2 -2
  55. package/dist/logger/adapters/pino/index.d.mts +1 -1
  56. package/dist/logger/adapters/pino/index.mjs +1 -1
  57. package/dist/logger/adapters/v0/index.d.mts +1 -1
  58. package/dist/logger/adapters/v0/index.mjs +2 -2
  59. package/dist/logger/index.d.mts +5 -5
  60. package/dist/logger/index.mjs +3 -3
  61. package/dist/notifications/index.d.mts +78 -0
  62. package/dist/notifications/index.mjs +215 -0
  63. package/dist/palettes/ant/index.d.mts +1 -1
  64. package/dist/palettes/index.d.mts +2 -2
  65. package/dist/palettes/material/index.d.mts +1 -1
  66. package/dist/palettes/md1/index.d.mts +1 -1
  67. package/dist/palettes/md2/index.d.mts +1 -1
  68. package/dist/palettes/radix/index.d.mts +1 -1
  69. package/dist/palettes/tailwind/index.d.mts +1 -1
  70. package/dist/permissions/adapters/index.d.mts +2 -2
  71. package/dist/permissions/adapters/index.mjs +1 -1
  72. package/dist/permissions/adapters/v0/index.d.mts +1 -1
  73. package/dist/permissions/adapters/v0/index.mjs +1 -1
  74. package/dist/permissions/index.d.mts +1 -1
  75. package/dist/permissions/index.mjs +5 -5
  76. package/dist/{pino-Bzighnkd.d.mts → pino-CM1iLXmi.d.mts} +1 -1
  77. package/dist/{posthog-BE7-t7cV.mjs → posthog-CCQFQ5XD.mjs} +1 -1
  78. package/dist/rules/index.d.mts +1 -1
  79. package/dist/rules/index.mjs +9 -10
  80. package/dist/{server-Ch9J86tb.d.mts → server-Ct-h4-OA.d.mts} +1 -1
  81. package/dist/{server-CZ6ahbEH.mjs → server-DHET3KNW.mjs} +1 -1
  82. package/dist/storage/adapters/index.d.mts +2 -2
  83. package/dist/storage/adapters/memory/index.d.mts +1 -1
  84. package/dist/storage/index.d.mts +3 -3
  85. package/dist/storage/index.mjs +21 -21
  86. package/dist/theme/adapters/index.d.mts +1 -1
  87. package/dist/theme/adapters/index.mjs +2 -2
  88. package/dist/theme/adapters/v0/index.d.mts +1 -1
  89. package/dist/theme/adapters/v0/index.mjs +2 -2
  90. package/dist/theme/index.d.mts +1 -1
  91. package/dist/theme/index.mjs +8 -8
  92. package/dist/{useClickOutside-W0Sur1rC.mjs → useClickOutside-hOhNk4eS.mjs} +860 -126
  93. package/dist/{useFeatures-CUicSI-E.mjs → useFeatures-CXRQvucQ.mjs} +3 -3
  94. package/dist/useLocale-BaufqE5Z.mjs +69 -0
  95. package/dist/{useLogger-DY1Hbcy1.mjs → useLogger-cGK00Ywd.mjs} +2 -2
  96. package/dist/{usePermissions-BSW59R4q.mjs → usePermissions-CR0HkjsF.mjs} +2 -2
  97. package/dist/{useRules-BbA6_gvs.mjs → useRules-LD-_-Hxt.mjs} +2 -2
  98. package/dist/{useTheme-Bdx2Lj5c.mjs → useTheme-Cs79AFNR.mjs} +5 -5
  99. package/dist/utilities/index.d.mts +1 -1
  100. package/dist/utilities/index.mjs +2 -1
  101. package/dist/{v0-BFseIsBi.mjs → v0-BJYwZgtp.mjs} +1 -1
  102. package/dist/v0-BdD1F6JK.d.mts +19 -0
  103. package/dist/{v0-YAqbXudL.mjs → v0-BoWQ8RK0.mjs} +1 -1
  104. package/dist/{v0-CdUL2eOn.d.mts → v0-CMeh39LQ.d.mts} +1 -1
  105. package/dist/v0-CehUknHv.mjs +62 -0
  106. package/dist/{v0-BZINNGoC.d.mts → v0-DFAgNbvC.d.mts} +1 -1
  107. package/dist/{v0-1xxC39wf.d.mts → v0-JPf99NKg.d.mts} +1 -1
  108. package/dist/{v0-2G2476h-.mjs → v0-Zu7neOYg.mjs} +1 -1
  109. package/dist/{virtual-DwBiFA25.d.mts → virtual-B1lRbO7Q.d.mts} +1 -1
  110. package/dist/{virtual-eDNVH1fz.mjs → virtual-D0_D5gkh.mjs} +1 -1
  111. package/package.json +11 -4
  112. package/dist/useLocale-cQlPxbpV.mjs +0 -87
  113. package/dist/v0-CAKa6tzG.d.mts +0 -22
  114. package/dist/v0-CHBrvw49.mjs +0 -35
  115. /package/dist/{adapter-JTFG3Jn8.d.mts → adapter-CJQav2JB.d.mts} +0 -0
  116. /package/dist/{index-MHkcqY_y.d.mts → index-BL4uTXWQ.d.mts} +0 -0
  117. /package/dist/{index-B5ZDDkXv.d.mts → index-BvTD7kU8.d.mts} +0 -0
  118. /package/dist/{index-NsE5nARK.d.mts → index-DSao7i57.d.mts} +0 -0
  119. /package/dist/{memory-BTtRdnNn.d.mts → memory-DyBabFV1.d.mts} +0 -0
package/SKILL.md ADDED
@@ -0,0 +1,95 @@
1
+ ---
2
+ name: vuetify0
3
+ description: Build with @vuetify/v0 headless composables and components for Vue 3. Use when creating selection state (single, multi, grouped, stepped), form validation, tab/dialog/popover UI, provide/inject context, registries, virtual scrolling, pagination, keyboard shortcuts, resize observers, theming, breakpoints, or SSR-safe browser detection. Triggers on v0, vuetify0, headless components, or WAI-ARIA patterns.
4
+ ---
5
+
6
+ # Vuetify0 - Headless Composables & Components
7
+
8
+ Transform Vue 3 apps with unstyled, logic-focused building blocks for design systems.
9
+
10
+ ## Quick Start
11
+
12
+ ```bash
13
+ pnpm install @vuetify/v0
14
+ ```
15
+
16
+ No global plugin required. Import only what you need:
17
+
18
+ ```ts
19
+ import { createSelection } from '@vuetify/v0/composables'
20
+ import { Tabs } from '@vuetify/v0/components'
21
+ ```
22
+
23
+ ## Core Decision Tree
24
+
25
+ **Before writing custom logic**, check if v0 already provides it:
26
+
27
+ | Need | Use |
28
+ |------|-----|
29
+ | Single item selection | `createSingle` |
30
+ | Multi-item selection | `createSelection` |
31
+ | Selection with "select all" | `createGroup` |
32
+ | Step wizard / carousel | `createStep` |
33
+ | Form validation | `createForm` |
34
+ | Shared state (provide/inject) | `createContext` |
35
+ | Browser utilities | `IN_BROWSER`, `useBreakpoints`, `useMediaQuery` |
36
+
37
+ ## Component Architecture
38
+
39
+ All components are **headless** (unstyled) and follow WAI-ARIA patterns:
40
+
41
+ ```vue
42
+ <script setup>
43
+ import { Tabs } from '@vuetify/v0/components'
44
+ </script>
45
+
46
+ <template>
47
+ <Tabs.Root v-model="active">
48
+ <Tabs.List>
49
+ <Tabs.Item value="overview">Overview</Tabs.Item>
50
+ </Tabs.List>
51
+ <Tabs.Panel value="overview">Content</Tabs.Panel>
52
+ </Tabs.Root>
53
+ </template>
54
+ ```
55
+
56
+ **Available components**: Dialog, Tabs, ExpansionPanel, Checkbox, Radio, Popover, Pagination, Select, Slider, Splitter, Switch, Avatar, Breadcrumbs, Form, Input, Scrim
57
+
58
+ ## Essential Patterns
59
+
60
+ ### Selection State
61
+ ```ts
62
+ // Single selection (tabs, theme picker)
63
+ const single = createSingle({ mandatory: 'force' })
64
+
65
+ // Multi-selection (tags, filters)
66
+ const selection = createSelection({ multiple: true })
67
+
68
+ // Group with "select all" (data tables)
69
+ const group = createGroup()
70
+ ```
71
+
72
+ ### Context Sharing
73
+ ```ts
74
+ // Type-safe provide/inject
75
+ const [useTheme, provideTheme] = createContext<Theme>('Theme')
76
+ ```
77
+
78
+ ### Form Validation
79
+ ```ts
80
+ const form = createForm()
81
+ form.register({ id: 'email', rules: [required, email] })
82
+ ```
83
+
84
+ ## Anti-Patterns
85
+
86
+ **Don't reinvent these wheels:**
87
+
88
+ - **Custom selection logic** → Use `createSelection`
89
+ - **Manual provide/inject** → Use `createContext`
90
+ - **SSR checks** → Use `IN_BROWSER` constant
91
+
92
+ ## Resources
93
+
94
+ - **Vuetify MCP** for structured API access: `claude mcp add vuetify-mcp https://mcp.vuetifyjs.com/mcp`
95
+ - **Live docs**: https://0.vuetifyjs.com
@@ -0,0 +1,17 @@
1
+ import { o as ID } from "./index-Dor6eAEc.mjs";
2
+ import { c as TokenTicket, i as TokenContext } from "./index-BoK8Ln2f.mjs";
3
+ import { Ref } from "vue";
4
+
5
+ //#region src/composables/useLocale/adapters/adapter.d.ts
6
+ interface LocaleAdapterContext {
7
+ tokens: TokenContext<TokenTicket>;
8
+ selectedId: Ref<ID | null | undefined>;
9
+ fallbackLocale: ID | undefined;
10
+ has: (id: ID) => boolean;
11
+ }
12
+ interface LocaleAdapter {
13
+ t: (key: string, ...params: unknown[]) => string;
14
+ n: (value: number) => string;
15
+ }
16
+ //#endregion
17
+ export { LocaleAdapterContext as n, LocaleAdapter as t };
@@ -133,13 +133,13 @@ interface PaginationContext {
133
133
  /** Visible page numbers and ellipsis for rendering */
134
134
  items: ComputedRef<PaginationTicket[]>;
135
135
  /** Start index of items on current page (0-indexed) */
136
- pageStart: ComputedRef<number>;
136
+ pageStart: Readonly<Ref<number>>;
137
137
  /** End index of items on current page (exclusive, 0-indexed) */
138
- pageStop: ComputedRef<number>;
138
+ pageStop: Readonly<Ref<number>>;
139
139
  /** Whether current page is the first page */
140
- isFirst: ComputedRef<boolean>;
140
+ isFirst: Readonly<Ref<boolean>>;
141
141
  /** Whether current page is the last page */
142
- isLast: ComputedRef<boolean>;
142
+ isLast: Readonly<Ref<boolean>>;
143
143
  /** Go to first page */
144
144
  first: () => void;
145
145
  /** Go to last page */