@vuetify/v0 0.2.0 → 1.0.0-alpha.0

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 (153) hide show
  1. package/README.md +124 -58
  2. package/dist/{adapter-DIZk5xrU.d.mts → adapter-BZjmDNJF.d.mts} +7 -7
  3. package/dist/{adapter-DXRKF27V.mjs → adapter-CCIeOzqr.mjs} +10 -8
  4. package/dist/{adapter-MT5TiIjj.d.mts → adapter-CcHB7rs3.d.mts} +2 -2
  5. package/dist/adapter-T7AedXkz.d.mts +96 -0
  6. package/dist/adapters-BOVGPozf.mjs +2 -0
  7. package/dist/adapters-BbNfjyvY.mjs +5 -0
  8. package/dist/adapters-BhNTUuxE.mjs +2 -0
  9. package/dist/adapters-D49L7m2R.mjs +3 -0
  10. package/dist/adapters-RwNU3wNj.mjs +4 -0
  11. package/dist/browser/index.js +12238 -9321
  12. package/dist/components/index.d.mts +3 -3
  13. package/dist/components/index.mjs +2 -36
  14. package/dist/{components-lme-T9bN.mjs → components-Dc7sUTsg.mjs} +4771 -2631
  15. package/dist/composables/index.d.mts +19 -19
  16. package/dist/composables/index.mjs +26 -34
  17. package/dist/{consola-bPHDMwrK.d.mts → consola-Byg0ybzh.d.mts} +2 -2
  18. package/dist/constants/index.d.mts +1 -1
  19. package/dist/constants/index.mjs +1 -1
  20. package/dist/{createDataTable-DGG3Kgau.mjs → createDataTable-BbUL9Vva.mjs} +7 -4
  21. package/dist/{createGroup-C38Mc-se.mjs → createGroup-C2WCfYPB.mjs} +24 -22
  22. package/dist/{createPagination-CeGMgKCx.mjs → createPagination-Tp4C4He8.mjs} +6 -4
  23. package/dist/{createSelection-GS1yfwki.mjs → createSelection-AmMX6sjc.mjs} +17 -13
  24. package/dist/{createSingle-Dh2gp4kv.mjs → createSingle-CffpxK__.mjs} +11 -9
  25. package/dist/{createTokens-Ckczb95n.mjs → createTokens-qv02qq4_.mjs} +9 -8
  26. package/dist/{createTrinity-C_c8eedz.mjs → createTrinity-vvXk0ARD.mjs} +3 -3
  27. package/dist/data-table/adapters/client/index.d.mts +1 -1
  28. package/dist/data-table/adapters/client/index.mjs +1 -6
  29. package/dist/data-table/adapters/index.d.mts +4 -4
  30. package/dist/data-table/adapters/index.mjs +5 -9
  31. package/dist/data-table/adapters/server/index.d.mts +1 -1
  32. package/dist/data-table/adapters/server/index.mjs +1 -4
  33. package/dist/data-table/adapters/virtual/index.d.mts +1 -1
  34. package/dist/data-table/adapters/virtual/index.mjs +1 -6
  35. package/dist/data-table/index.d.mts +5 -5
  36. package/dist/data-table/index.mjs +5 -21
  37. package/dist/date/index.d.mts +2 -1
  38. package/dist/date/index.mjs +31 -6952
  39. package/dist/features/adapters/flagsmith/index.d.mts +1 -13
  40. package/dist/features/adapters/flagsmith/index.mjs +1 -1
  41. package/dist/features/adapters/launchdarkly/index.d.mts +1 -12
  42. package/dist/features/adapters/launchdarkly/index.mjs +1 -1
  43. package/dist/features/adapters/posthog/index.d.mts +1 -12
  44. package/dist/features/adapters/posthog/index.mjs +1 -2
  45. package/dist/features/index.d.mts +2 -2
  46. package/dist/features/index.mjs +1 -12
  47. package/dist/{flagsmith-CrWUeIhT.mjs → flagsmith-DQnnahG5.mjs} +9 -2
  48. package/dist/{globals-B6VQTLVM.mjs → globals-CAv9vqkP.mjs} +1 -1
  49. package/dist/{index-BsNeOyXe.d.mts → index-76fQGkkO.d.mts} +1 -1
  50. package/dist/{index-Y0Bo7jx-.d.mts → index-BUsrN1vL.d.mts} +29 -29
  51. package/dist/{index-D7Yh-7yN.d.mts → index-B_AlCD7t.d.mts} +1 -1
  52. package/dist/{index-BAix61Ke.d.mts → index-B_XLHftL.d.mts} +3946 -3566
  53. package/dist/{index-pwVD-IDb.d.mts → index-CDcl4wPo.d.mts} +1 -1
  54. package/dist/{index-CuUuJj3-.d.mts → index-D26_u_WI.d.mts} +8138 -5421
  55. package/dist/{index-D5ehwqoP.d.mts → index-DoGxDgdN.d.mts} +3 -3
  56. package/dist/{index-A6Vo3pb6.d.mts → index-Dxx0eMLi.d.mts} +13 -2
  57. package/dist/index-F2Fmxnzi.d.mts +13 -0
  58. package/dist/index-M8EpGjjA.d.mts +13 -0
  59. package/dist/index-PWQavSPf.d.mts +1 -0
  60. package/dist/index-c55Utzva.d.mts +1 -0
  61. package/dist/index-tyzwWFHS.d.mts +14 -0
  62. package/dist/index.d.mts +23 -23
  63. package/dist/index.mjs +29 -36
  64. package/dist/json/attributes.json +678 -34
  65. package/dist/json/importMap.json +166 -2
  66. package/dist/json/tags.json +348 -12
  67. package/dist/json/web-types.json +3074 -1038
  68. package/dist/{launchdarkly-DEqUn7qm.mjs → launchdarkly-2_48EJ1_.mjs} +8 -1
  69. package/dist/locale/adapters/index.d.mts +2 -2
  70. package/dist/locale/adapters/index.mjs +2 -3
  71. package/dist/locale/adapters/v0/index.d.mts +1 -1
  72. package/dist/locale/adapters/v0/index.mjs +1 -2
  73. package/dist/locale/adapters/vue-i18n/index.d.mts +1 -1
  74. package/dist/locale/adapters/vue-i18n/index.mjs +0 -1
  75. package/dist/locale/index.d.mts +3 -3
  76. package/dist/locale/index.mjs +2 -12
  77. package/dist/logger/adapters/consola/index.d.mts +1 -1
  78. package/dist/logger/adapters/index.d.mts +4 -4
  79. package/dist/logger/adapters/index.mjs +3 -4
  80. package/dist/logger/adapters/pino/index.d.mts +2 -2
  81. package/dist/logger/adapters/pino/index.mjs +1 -2
  82. package/dist/logger/adapters/v0/index.d.mts +1 -1
  83. package/dist/logger/adapters/v0/index.mjs +1 -2
  84. package/dist/logger/index.d.mts +5 -5
  85. package/dist/logger/index.mjs +3 -6
  86. package/dist/notifications/index.d.mts +1 -1
  87. package/dist/notifications/index.mjs +1 -1
  88. package/dist/palettes/ant/index.d.mts +1 -1
  89. package/dist/palettes/index.d.mts +3 -3
  90. package/dist/palettes/material/index.d.mts +1 -1
  91. package/dist/palettes/md1/index.d.mts +1 -1
  92. package/dist/palettes/md2/index.d.mts +1 -1
  93. package/dist/palettes/radix/index.d.mts +1 -1
  94. package/dist/palettes/tailwind/index.d.mts +1 -1
  95. package/dist/permissions/adapters/index.d.mts +1 -2
  96. package/dist/permissions/adapters/index.mjs +2 -3
  97. package/dist/permissions/adapters/v0/index.d.mts +1 -1
  98. package/dist/permissions/adapters/v0/index.mjs +1 -2
  99. package/dist/permissions/index.d.mts +1 -1
  100. package/dist/permissions/index.mjs +2 -11
  101. package/dist/{pino-B7tJ3m18.mjs → pino-9L79n6y6.mjs} +0 -7
  102. package/dist/{pino-BUGULcfS.d.mts → pino-BxddSW2l.d.mts} +11 -3
  103. package/dist/{posthog-BUVv9Rky.mjs → posthog-B8PEtlFr.mjs} +8 -8
  104. package/dist/rules/index.d.mts +1 -1
  105. package/dist/rules/index.mjs +1 -13
  106. package/dist/{server-CYYGvVps.mjs → server-CIftA0pK.mjs} +1 -1
  107. package/dist/{server-Ciw0ZhhL.d.mts → server-DNUTnISs.d.mts} +1 -1
  108. package/dist/storage/adapters/index.d.mts +2 -2
  109. package/dist/storage/adapters/memory/index.d.mts +1 -1
  110. package/dist/storage/index.d.mts +3 -3
  111. package/dist/storage/index.mjs +1 -33
  112. package/dist/theme/adapters/index.d.mts +1 -1
  113. package/dist/theme/adapters/index.mjs +3 -4
  114. package/dist/theme/adapters/unhead/index.d.mts +1 -1
  115. package/dist/theme/adapters/unhead/index.mjs +1 -3
  116. package/dist/theme/adapters/v0/index.d.mts +1 -1
  117. package/dist/theme/adapters/v0/index.mjs +1 -3
  118. package/dist/theme/index.d.mts +1 -1
  119. package/dist/theme/index.mjs +3 -14
  120. package/dist/{toArray-VdROPpy-.mjs → toArray-doLQVI56.mjs} +2 -0
  121. package/dist/types/index.d.mts +1 -1
  122. package/dist/{unhead-CMUN7pv4.mjs → unhead-BYw3a366.mjs} +4 -3
  123. package/dist/{createCombobox-DgFUWLKw.mjs → useClickOutside-CnCQkh7M.mjs} +6313 -5560
  124. package/dist/{useFeatures-_uwRwuBy.mjs → useFeatures-CMpkbU8Q.mjs} +11 -9
  125. package/dist/{useLocale-BNecStw9.mjs → useLocale-BYmoHpo6.mjs} +10 -9
  126. package/dist/{useLogger-B3ijAgn0.mjs → useLogger-BfaFH-Bi.mjs} +8 -6
  127. package/dist/{usePermissions-5g7JSb3-.mjs → usePermissions-y3Uum3nO.mjs} +6 -5
  128. package/dist/{useRules-BnQZP8n2.mjs → useRules-eqSXpP9V.mjs} +5 -2
  129. package/dist/{useTheme-CKcE6z3t.mjs → useTheme-CFH6I91x.mjs} +10 -9
  130. package/dist/utilities/index.d.mts +2 -2
  131. package/dist/utilities/index.mjs +18 -3
  132. package/dist/{v0-B_8xEDpf.d.mts → v0-BAG8p0si.d.mts} +1 -1
  133. package/dist/{v0-WOPq3YTM.d.mts → v0-BpgPZ1qB.d.mts} +1 -1
  134. package/dist/{v0-C64RQgkl.mjs → v0-BqikIgl0.mjs} +1 -1
  135. package/dist/{v0-C3cGdshz.d.mts → v0-C2UMaHUa.d.mts} +1 -1
  136. package/dist/{v0-Dab-mQua.mjs → v0-CFV8A5PF.mjs} +1 -1
  137. package/dist/{v0-D87sooe0.mjs → v0-DOq_Ia5H.mjs} +2 -2
  138. package/dist/{v0-3e8B6fd8.mjs → v0-DXqYgj7J.mjs} +1 -1
  139. package/dist/{virtual-By1prSSj.d.mts → virtual-BaQWQ9ji.d.mts} +1 -1
  140. package/dist/{virtual-D75KhU6Q.mjs → virtual-D1HwNBLS.mjs} +2 -2
  141. package/package.json +10 -14
  142. package/dist/adapter-cc0r4Pfu.d.mts +0 -1087
  143. package/dist/adapters-BjeDmKc6.mjs +0 -1
  144. package/dist/adapters-Bv5aRv3l.mjs +0 -1
  145. package/dist/adapters-BvwLemDt.mjs +0 -1
  146. package/dist/adapters-DkVblyML.mjs +0 -1
  147. package/dist/adapters-uJLWGQJl.mjs +0 -1
  148. package/dist/v0-BRnEUnx1.d.mts +0 -10
  149. /package/dist/{adapter-CST7kApg.d.mts → adapter-DNKjooxI.d.mts} +0 -0
  150. /package/dist/{index-BvlxDVXg.d.mts → index-D6mQAEs2.d.mts} +0 -0
  151. /package/dist/{index-C9Wj_it8.d.mts → index-DxruGeVY.d.mts} +0 -0
  152. /package/dist/{memory-CC5pKIAp.d.mts → memory-DUyWthic.d.mts} +0 -0
  153. /package/dist/{v0-B1QQGE4O.mjs → v0-4OQBCeda.mjs} +0 -0
package/README.md CHANGED
@@ -39,7 +39,7 @@ This is a **pnpm monorepo** containing:
39
39
  | [`@vuetify/v0`](./packages/0) | Core headless components and composables |
40
40
  | [`@vuetify/paper`](./packages/paper) | Styling and layout primitives |
41
41
  | [`apps/docs`](./apps/docs) | Documentation site ([0.vuetifyjs.com](https://0.vuetifyjs.com)) |
42
- | [`playground`](./playground) | Interactive development environment |
42
+ | [`apps/playground`](./apps/playground) | Interactive development environment |
43
43
 
44
44
  ## Requirements
45
45
 
@@ -77,23 +77,69 @@ import { ... } from '@vuetify/v0/date' // Date adapter and utilities
77
77
 
78
78
  ### Components
79
79
 
80
+ #### Primitives
81
+
82
+ | Component | Description |
83
+ |-----------|-------------|
84
+ | [Atom](https://0.vuetifyjs.com/components/primitives/atom) | Polymorphic base element with dynamic `as` prop and renderless mode |
85
+ | [Portal](https://0.vuetifyjs.com/components/primitives/portal) | Teleport wrapper with automatic z-index stacking via useStack |
86
+ | [Presence](https://0.vuetifyjs.com/components/primitives/presence) | Animation-agnostic mount lifecycle with lazy mounting and exit timing |
87
+
88
+ #### Providers
89
+
90
+ | Component | Description |
91
+ |-----------|-------------|
92
+ | [Group](https://0.vuetifyjs.com/components/providers/group) | Multi-selection with tri-state support |
93
+ | [Locale](https://0.vuetifyjs.com/components/providers/locale) | Locale context provider for internationalization |
94
+ | [Scrim](https://0.vuetifyjs.com/components/providers/scrim) | Overlay backdrop with click-to-dismiss and z-index management |
95
+ | [Selection](https://0.vuetifyjs.com/components/providers/selection) | Multi-selection state with v-model binding |
96
+ | [Single](https://0.vuetifyjs.com/components/providers/single) | Single-selection with automatic deselection |
97
+ | [Step](https://0.vuetifyjs.com/components/providers/step) | Sequential navigation (first, last, next, prev) |
98
+ | [Theme](https://0.vuetifyjs.com/components/providers/theme) | Theme context provider with CSS variable injection |
99
+
100
+ #### Actions
101
+
80
102
  | Component | Description |
81
103
  |-----------|-------------|
82
- | **Atom** | Polymorphic base element. Renders as any HTML element via `as` prop with renderless mode support |
83
- | **Avatar** | Image with fallback display. Compound component with Root, Image, and Fallback sub-components |
84
- | **Breadcrumbs** | Responsive navigation trail with overflow support. Root, List, Item, Link, Page, Divider, Ellipsis sub-components |
85
- | **Checkbox** | Standalone or group checkbox with tri-state. Root, Group, SelectAll, Indicator, HiddenInput sub-components |
86
- | **Dialog** | Modal dialog using native `<dialog>`. Root, Activator, Content, Title, Description, Close sub-components |
87
- | **ExpansionPanel** | Accordion/collapsible panels. Supports single (accordion) or multi-expand modes |
88
- | **Group** | Multi-selection with tri-state support. Provides `selectAll`, `unselectAll`, `toggleAll` |
89
- | **Pagination** | Page navigation with ellipsis. Root, Item, First, Prev, Next, Last, Ellipsis, Status sub-components |
90
- | **Popover** | CSS anchor-positioned popup. Root, Anchor, and Content sub-components |
91
- | **Radio** | Radio button group with single-selection. Group, Root, Indicator, HiddenInput sub-components |
92
- | **Scrim** | Backdrop/scrim overlay for overlay systems |
93
- | **Selection** | Generic single/multi-selection. Configurable via `multiple` prop |
94
- | **Single** | Single-selection specialization of Selection |
95
- | **Step** | Navigation/stepper with first, last, next, prev controls |
96
- | **Tabs** | Accessible tab interface. Root, List, Item, Panel sub-components |
104
+ | [Button](https://0.vuetifyjs.com/components/actions/button) | Button with loading grace period, toggle groups, and icon accessibility |
105
+ | [Toggle](https://0.vuetifyjs.com/components/actions/toggle) | Pressable on/off button with standalone and group modes |
106
+
107
+ #### Forms
108
+
109
+ | Component | Description |
110
+ |-----------|-------------|
111
+ | [Checkbox](https://0.vuetifyjs.com/components/forms/checkbox) | Dual-mode checkbox (standalone/group) with tri-state support |
112
+ | [Combobox](https://0.vuetifyjs.com/components/forms/combobox) | Filterable selection with autocomplete, virtual focus, and custom input |
113
+ | [Form](https://0.vuetifyjs.com/components/forms/form) | Form validation coordinator with submit handling and error aggregation |
114
+ | [Input](https://0.vuetifyjs.com/components/forms/input) | Text input with label, description, error messages, and character counting |
115
+ | [NumberField](https://0.vuetifyjs.com/components/forms/number-field) | Numeric input with increment/decrement, scrub, and Intl formatting |
116
+ | [Radio](https://0.vuetifyjs.com/components/forms/radio) | Radio group with single-selection and keyboard navigation |
117
+ | [Select](https://0.vuetifyjs.com/components/forms/select) | Dropdown selection with virtual focus and multi-select support |
118
+ | [Rating](https://0.vuetifyjs.com/components/forms/rating) | Star/icon rating with hover preview, half-stars, and keyboard navigation |
119
+ | [Slider](https://0.vuetifyjs.com/components/forms/slider) | Range input with snapping, range mode, and custom tracks |
120
+ | [Switch](https://0.vuetifyjs.com/components/forms/switch) | Toggle switch with on/off states and label association |
121
+
122
+ #### Disclosure
123
+
124
+ | Component | Description |
125
+ |-----------|-------------|
126
+ | [AlertDialog](https://0.vuetifyjs.com/components/disclosure/alert-dialog) | Confirmation dialog with deferred close and `wait()`/`close()` pattern |
127
+ | [Collapsible](https://0.vuetifyjs.com/components/disclosure/collapsible) | Single-item disclosure toggle for showing and hiding content |
128
+ | [Dialog](https://0.vuetifyjs.com/components/disclosure/dialog) | Modal dialog using native `<dialog>` with focus management |
129
+ | [ExpansionPanel](https://0.vuetifyjs.com/components/disclosure/expansion-panel) | Accordion-style collapsible panels |
130
+ | [Popover](https://0.vuetifyjs.com/components/disclosure/popover) | CSS anchor-positioned popup content |
131
+ | [Tabs](https://0.vuetifyjs.com/components/disclosure/tabs) | Tab panel navigation with keyboard support and lazy content rendering |
132
+ | [Treeview](https://0.vuetifyjs.com/components/disclosure/treeview) | Hierarchical tree with nested selection and expand/collapse |
133
+
134
+ #### Semantic
135
+
136
+ | Component | Description |
137
+ |-----------|-------------|
138
+ | [Avatar](https://0.vuetifyjs.com/components/semantic/avatar) | Image/fallback avatar with priority loading |
139
+ | [Breadcrumbs](https://0.vuetifyjs.com/components/semantic/breadcrumbs) | Navigation breadcrumbs with overflow detection and truncation |
140
+ | [Pagination](https://0.vuetifyjs.com/components/semantic/pagination) | Page navigation with semantic `<nav>` wrapper |
141
+ | [Snackbar](https://0.vuetifyjs.com/components/semantic/snackbar) | Toast notification with queue, positioning, and auto-dismiss |
142
+ | [Splitter](https://0.vuetifyjs.com/components/semantic/splitter) | Resizable panel layout with drag handles |
97
143
 
98
144
  ### Composables
99
145
 
@@ -101,78 +147,98 @@ import { ... } from '@vuetify/v0/date' // Date adapter and utilities
101
147
 
102
148
  Core factories that provide the foundation for all other composables:
103
149
 
104
- - **`createContext`** - Type-safe Vue dependency injection wrapper
105
- - **`createPlugin`** - Vue plugin factory with context provision
106
- - **`createTrinity`** - Context triple pattern: `[use, provide, default]`
150
+ - [`createContext`](https://0.vuetifyjs.com/composables/foundation/create-context) - Type-safe Vue dependency injection wrapper
151
+ - [`createPlugin`](https://0.vuetifyjs.com/composables/foundation/create-plugin) - Vue plugin factory with context provision
152
+ - [`createTrinity`](https://0.vuetifyjs.com/composables/foundation/create-trinity) - Context triple pattern: `[use, provide, default]`
107
153
 
108
154
  #### Registration
109
155
 
110
156
  Base data structures that most other composables build upon:
111
157
 
112
- - **`createRegistry`** - Enhanced Map with indexing, caching, and event support
113
- - **`createQueue`** - FIFO queue with timeout management (notifications/toasts)
114
- - **`createTimeline`** - Bounded undo/redo history
115
- - **`createTokens`** - Design token registry with alias resolution
116
- - **`createDataTable`** - Data table with sort, filter, pagination, row selection, grouping, and adapter pattern
158
+ - [`createRegistry`](https://0.vuetifyjs.com/composables/registration/create-registry) - Enhanced Map with indexing, caching, and event support
159
+ - [`createQueue`](https://0.vuetifyjs.com/composables/registration/create-queue) - FIFO queue with timeout management (notifications/toasts)
160
+ - [`createTimeline`](https://0.vuetifyjs.com/composables/registration/create-timeline) - Bounded undo/redo history
161
+ - [`createTokens`](https://0.vuetifyjs.com/composables/registration/create-tokens) - Design token registry with alias resolution
162
+
163
+ #### Data
164
+
165
+ - [`createDataTable`](https://0.vuetifyjs.com/composables/data/create-data-table) - Data table with sort, filter, pagination, row selection, grouping, and adapter pattern
166
+ - [`createFilter`](https://0.vuetifyjs.com/composables/data/create-filter) - Reactive array filtering with multiple modes
167
+ - [`createPagination`](https://0.vuetifyjs.com/composables/data/create-pagination) - Lightweight page navigation
168
+ - [`createVirtual`](https://0.vuetifyjs.com/composables/data/create-virtual) - Virtual scrolling for large lists
117
169
 
118
170
  #### Selection
119
171
 
120
172
  Selection management composables built on `createRegistry`:
121
173
 
122
- - **`createSelection`** - Base selection with Set-based tracking
123
- - **`createGroup`** - Multi-selection with tri-state/mixed support
124
- - **`createSingle`** - Single-selection specialization
125
- - **`createStep`** - Navigation through items (first, last, next, prev)
126
- - **`createBreadcrumbs`** - Breadcrumb navigation model with depth tracking, truncation, and path traversal
127
- - **`createNested`** - Hierarchical tree management with parent-child relationships and open state
174
+ - [`createSelection`](https://0.vuetifyjs.com/composables/selection/create-selection) - Base selection with Set-based tracking
175
+ - [`createModel`](https://0.vuetifyjs.com/composables/selection/create-model) - Value store for single-value state
176
+ - [`createGroup`](https://0.vuetifyjs.com/composables/selection/create-group) - Multi-selection with tri-state/mixed support
177
+ - [`createSingle`](https://0.vuetifyjs.com/composables/selection/create-single) - Single-selection specialization
178
+ - [`createStep`](https://0.vuetifyjs.com/composables/selection/create-step) - Navigation through items (first, last, next, prev)
179
+ - [`createNested`](https://0.vuetifyjs.com/composables/selection/create-nested) - Hierarchical tree management with parent-child relationships and open state
128
180
 
129
181
  #### Forms
130
182
 
131
- - **`createForm`** - Form validation and state management with async rules
183
+ - [`createForm`](https://0.vuetifyjs.com/composables/forms/create-form) - Form validation and state management with async rules
184
+ - [`createInput`](https://0.vuetifyjs.com/composables/forms/create-input) - Shared form field state: validation, dirty/pristine, ARIA IDs
185
+ - [`createNumberField`](https://0.vuetifyjs.com/composables/forms/create-number-field) - Numeric input state with formatting, stepping, and validation
186
+ - [`createValidation`](https://0.vuetifyjs.com/composables/forms/create-validation) - Field-level validation with sync/async rules
187
+ - [`createCombobox`](https://0.vuetifyjs.com/composables/forms/create-combobox) - Combobox state management with filtering and virtual focus
188
+ - [`createRating`](https://0.vuetifyjs.com/composables/forms/create-rating) - Bounded rating value with discrete items and half-step support
189
+ - [`createSlider`](https://0.vuetifyjs.com/composables/forms/create-slider) - Slider state with snapping, range mode, and step control
132
190
 
133
191
  #### Reactivity
134
192
 
135
- - **`useProxyModel`** - Bridge selection context to component v-model
136
- - **`useProxyRegistry`** - Convert registry Map to reactive object
193
+ - [`useProxyModel`](https://0.vuetifyjs.com/composables/reactivity/use-proxy-model) - Bridge selection context to component v-model
194
+ - [`useProxyRegistry`](https://0.vuetifyjs.com/composables/reactivity/use-proxy-registry) - Convert registry Map to reactive object
137
195
 
138
196
  #### Utilities
139
197
 
140
- - **`useFilter`** - Reactive array filtering with multiple modes
141
- - **`usePagination`** - Lightweight page navigation (non-registry based)
142
- - **`useVirtual`** - Virtual scrolling for large lists
143
- - **`useOverflow`** - Container overflow measurement for item capacity
198
+ - [`createBreadcrumbs`](https://0.vuetifyjs.com/composables/utilities/create-breadcrumbs) - Breadcrumb navigation model with depth tracking and path traversal
199
+ - [`createOverflow`](https://0.vuetifyjs.com/composables/utilities/create-overflow) - Container overflow measurement for item capacity
144
200
 
145
201
  #### Transformers
146
202
 
147
- - **`toArray`** - Array transformation utilities
148
- - **`toReactive`** - Reactive object conversion
203
+ - [`toArray`](https://0.vuetifyjs.com/composables/transformers/to-array) - Array transformation utilities
204
+ - [`toElement`](https://0.vuetifyjs.com/composables/transformers/to-element) - Normalize refs, selectors, and elements to DOM elements
205
+ - [`toReactive`](https://0.vuetifyjs.com/composables/transformers/to-reactive) - Reactive object conversion
149
206
 
150
207
  #### System
151
208
 
152
- - **`useClickOutside`** - Click outside detection with cleanup
153
- - **`useEventListener`** - Lifecycle-managed event listeners
154
- - **`useHotkey`** - Hotkey combinations and sequences
155
- - **`useIntersectionObserver`** - Intersection observer with auto-cleanup
156
- - **`useLazy`** - Deferred content rendering for dialogs, menus, and tooltips
157
- - **`useMediaQuery`** - Reactive CSS media query matching
158
- - **`useMutationObserver`** - DOM mutation observation
159
- - **`useResizeObserver`** - Resize observer utilities
160
- - **`useToggleScope`** - Conditional effect scope management
209
+ - [`useClickOutside`](https://0.vuetifyjs.com/composables/system/use-click-outside) - Click outside detection with cleanup
210
+ - [`useEventListener`](https://0.vuetifyjs.com/composables/system/use-event-listener) - Lifecycle-managed event listeners
211
+ - [`useHotkey`](https://0.vuetifyjs.com/composables/system/use-hotkey) - Hotkey combinations and sequences
212
+ - [`useIntersectionObserver`](https://0.vuetifyjs.com/composables/system/use-intersection-observer) - Intersection observer with auto-cleanup
213
+ - [`useLazy`](https://0.vuetifyjs.com/composables/system/use-lazy) - Deferred content rendering for dialogs, menus, and tooltips
214
+ - [`useMediaQuery`](https://0.vuetifyjs.com/composables/system/use-media-query) - Reactive CSS media query matching
215
+ - [`useMutationObserver`](https://0.vuetifyjs.com/composables/system/use-mutation-observer) - DOM mutation observation
216
+ - [`usePopover`](https://0.vuetifyjs.com/composables/system/use-popover) - Popover positioning and anchor management
217
+ - [`useRaf`](https://0.vuetifyjs.com/composables/system/use-raf) - requestAnimationFrame loop with start/stop control
218
+ - [`useResizeObserver`](https://0.vuetifyjs.com/composables/system/use-resize-observer) - Resize observer utilities
219
+ - [`useRovingFocus`](https://0.vuetifyjs.com/composables/system/use-roving-focus) - Roving tabindex keyboard navigation
220
+ - [`usePresence`](https://0.vuetifyjs.com/composables/system/use-presence) - Animation-agnostic mount lifecycle with lazy mounting and exit timing
221
+ - [`useTimer`](https://0.vuetifyjs.com/composables/system/use-timer) - Countdown and interval timer with pause/resume
222
+ - [`useToggleScope`](https://0.vuetifyjs.com/composables/system/use-toggle-scope) - Conditional effect scope management
223
+ - [`useVirtualFocus`](https://0.vuetifyjs.com/composables/system/use-virtual-focus) - Virtual focus management via aria-activedescendant
161
224
 
162
225
  #### Plugins
163
226
 
164
227
  Plugin-capable composables following the trinity pattern:
165
228
 
166
- - **`useBreakpoints`** - Responsive breakpoint detection
167
- - **`useDate`** - Date manipulation with adapter pattern and locale sync
168
- - **`useFeatures`** - Feature flags with variations
169
- - **`useHydration`** - SSR hydration helpers
170
- - **`useLocale`** - Internationalization with message interpolation
171
- - **`useLogger`** - Logging adapter (consola/pino/custom)
172
- - **`usePermissions`** - RBAC/ABAC permission system
173
- - **`useStack`** - Overlay z-index stacking with automatic scrim coordination
174
- - **`useStorage`** - Storage adapter (localStorage/sessionStorage/memory)
175
- - **`useTheme`** - Theme management with CSS variable injection
229
+ - [`useBreakpoints`](https://0.vuetifyjs.com/composables/plugins/use-breakpoints) - Responsive breakpoint detection
230
+ - [`useDate`](https://0.vuetifyjs.com/composables/plugins/use-date) - Date manipulation with adapter pattern and locale sync
231
+ - [`useFeatures`](https://0.vuetifyjs.com/composables/plugins/use-features) - Feature flags with variations
232
+ - [`useHydration`](https://0.vuetifyjs.com/composables/plugins/use-hydration) - SSR hydration helpers
233
+ - [`useLocale`](https://0.vuetifyjs.com/composables/plugins/use-locale) - Internationalization with message interpolation
234
+ - [`useLogger`](https://0.vuetifyjs.com/composables/plugins/use-logger) - Logging adapter (consola/pino/custom)
235
+ - [`useNotifications`](https://0.vuetifyjs.com/composables/plugins/use-notifications) - Toast/snackbar queue management with positioning
236
+ - [`usePermissions`](https://0.vuetifyjs.com/composables/plugins/use-permissions) - RBAC/ABAC permission system
237
+ - [`useRtl`](https://0.vuetifyjs.com/composables/plugins/use-rtl) - Right-to-left text direction detection and management
238
+ - [`useRules`](https://0.vuetifyjs.com/composables/plugins/use-rules) - Validation rule adapter with built-in rule library
239
+ - [`useStack`](https://0.vuetifyjs.com/composables/plugins/use-stack) - Overlay z-index stacking with automatic scrim coordination
240
+ - [`useStorage`](https://0.vuetifyjs.com/composables/plugins/use-storage) - Storage adapter (localStorage/sessionStorage/memory)
241
+ - [`useTheme`](https://0.vuetifyjs.com/composables/plugins/use-theme) - Theme management with CSS variable injection
176
242
 
177
243
  ## Design Principles
178
244
 
@@ -1,11 +1,11 @@
1
- import { t as ContextTrinity } from "./index-BsNeOyXe.mjs";
2
- import * as vue from "vue";
1
+ import { t as ContextTrinity } from "./index-76fQGkkO.mjs";
2
+ import * as _$vue from "vue";
3
3
  import { ComputedRef, MaybeRefOrGetter, Ref, ShallowRef, WritableComputedRef } from "vue";
4
4
 
5
5
  //#region src/composables/createFilter/index.d.ts
6
6
  type Primitive = string | number | boolean;
7
7
  type FilterQuery = MaybeRefOrGetter<Primitive | Primitive[]>;
8
- type FilterItem = Primitive | Record<string, any>;
8
+ type FilterItem = Primitive | Record<string, unknown>;
9
9
  type FilterMode = 'some' | 'every' | 'union' | 'intersection';
10
10
  type FilterFunction = (query: Primitive | Primitive[], item: FilterItem) => boolean;
11
11
  interface FilterOptions {
@@ -45,7 +45,7 @@ interface FilterContextOptions extends FilterOptions {
45
45
  * @template E The type of the filter context
46
46
  * @returns A filter context
47
47
  *
48
- * @see https://0.vuetifyjs.com/composables/utilities/use-filter
48
+ * @see https://0.vuetifyjs.com/composables/data/create-filter
49
49
  *
50
50
  * @example
51
51
  * ```ts
@@ -68,7 +68,7 @@ declare function createFilter<Z extends FilterItem = FilterItem, E extends Filte
68
68
  * @template E The type of the filter context
69
69
  * @returns A trinity tuple: [useContext, provideContext, defaultContext]
70
70
  *
71
- * @see https://0.vuetifyjs.com/composables/utilities/use-filter
71
+ * @see https://0.vuetifyjs.com/composables/data/create-filter
72
72
  *
73
73
  * @example
74
74
  * ```ts
@@ -97,7 +97,7 @@ declare function createFilterContext<Z extends FilterItem = FilterItem, E extend
97
97
  * @template E The type of the filter context.
98
98
  * @returns The current filter context.
99
99
  *
100
- * @see https://0.vuetifyjs.com/composables/utilities/use-filter
100
+ * @see https://0.vuetifyjs.com/composables/data/create-filter
101
101
  *
102
102
  * @example
103
103
  * ```vue
@@ -291,7 +291,7 @@ declare abstract class DataTableAdapter<T extends Record<string, unknown>> imple
291
291
  /** Create the filter pipeline stage */
292
292
  protected filter(context: DataTableAdapterContext<T>): {
293
293
  allItems: Readonly<Ref<T[], T[]>>;
294
- filteredItems: vue.ComputedRef<T[]>;
294
+ filteredItems: _$vue.ComputedRef<T[]>;
295
295
  };
296
296
  /** Create the sort pipeline stage */
297
297
  protected sort(filteredItems: Readonly<Ref<readonly T[]>>, sortBy: Readonly<Ref<SortEntry[]>>, locale?: Readonly<Ref<string | undefined>>, customSorts?: Partial<Record<string, (a: unknown, b: unknown) => number>>): Readonly<Ref<readonly T[]>>;
@@ -1,10 +1,12 @@
1
- import { isNaN, isNullOrUndefined, isNumber, isObject, isString } from "./utilities/index.mjs";
2
- import { i as useContext, n as createContext, t as createTrinity } from "./createTrinity-C_c8eedz.mjs";
3
- import { t as toArray } from "./toArray-VdROPpy-.mjs";
1
+ import { isArray, isNaN, isNullOrUndefined, isNumber, isObject, isString } from "./utilities/index.mjs";
2
+ import { i as useContext, n as createContext, t as createTrinity } from "./createTrinity-vvXk0ARD.mjs";
3
+ import { t as toArray } from "./toArray-doLQVI56.mjs";
4
4
  import { computed, shallowRef, toRef, toValue } from "vue";
5
5
  //#region src/composables/createFilter/index.ts
6
6
  /**
7
- * @module useFilter
7
+ * @module createFilter
8
+ *
9
+ * @see https://0.vuetifyjs.com/composables/data/create-filter
8
10
  *
9
11
  * @remarks
10
12
  * Reactive array filtering composable with multiple filter modes.
@@ -37,7 +39,7 @@ function defaultFilter(query, item, keys, mode = "some") {
37
39
  * @template E The type of the filter context
38
40
  * @returns A filter context
39
41
  *
40
- * @see https://0.vuetifyjs.com/composables/utilities/use-filter
42
+ * @see https://0.vuetifyjs.com/composables/data/create-filter
41
43
  *
42
44
  * @example
43
45
  * ```ts
@@ -81,7 +83,7 @@ function createFilter(options = {}) {
81
83
  * @template E The type of the filter context
82
84
  * @returns A trinity tuple: [useContext, provideContext, defaultContext]
83
85
  *
84
- * @see https://0.vuetifyjs.com/composables/utilities/use-filter
86
+ * @see https://0.vuetifyjs.com/composables/data/create-filter
85
87
  *
86
88
  * @example
87
89
  * ```ts
@@ -118,7 +120,7 @@ function createFilterContext(_options = {}) {
118
120
  * @template E The type of the filter context.
119
121
  * @returns The current filter context.
120
122
  *
121
- * @see https://0.vuetifyjs.com/composables/utilities/use-filter
123
+ * @see https://0.vuetifyjs.com/composables/data/create-filter
122
124
  *
123
125
  * @example
124
126
  * ```vue
@@ -179,7 +181,7 @@ var DataTableAdapter = class {
179
181
  keys: [...context.filterableKeys],
180
182
  customFilter: (query, item) => {
181
183
  if (!/* @__PURE__ */ isObject(item)) return false;
182
- const q = String(Array.isArray(query) ? query[0] : query).toLowerCase();
184
+ const q = String(/* @__PURE__ */ isArray(query) ? query[0] : query).toLowerCase();
183
185
  if (!q) return true;
184
186
  const obj = item;
185
187
  for (const key of context.filterableKeys) {
@@ -1,5 +1,5 @@
1
- import { o as ID } from "./index-D7Yh-7yN.mjs";
2
- import { c as TokenTicket, i as TokenContext } from "./index-Y0Bo7jx-.mjs";
1
+ import { o as ID } from "./index-B_AlCD7t.mjs";
2
+ import { c as TokenTicket, i as TokenContext } from "./index-BUsrN1vL.mjs";
3
3
  import { Ref } from "vue";
4
4
 
5
5
  //#region src/composables/useLocale/adapters/adapter.d.ts
@@ -0,0 +1,96 @@
1
+ import { Temporal } from "@js-temporal/polyfill";
2
+
3
+ //#region src/composables/useDate/adapters/adapter.d.ts
4
+ interface DateAdapter<T = Temporal.PlainDateTime> {
5
+ /** Current locale for formatting */
6
+ locale?: string;
7
+ /** First day of week. 0=Sunday, 1=Monday, ... 6=Saturday. Managed by the plugin. */
8
+ firstDayOfWeek?: number;
9
+ /** Create a date from various input types */
10
+ date: (value?: unknown) => T | null;
11
+ /** Convert to JavaScript Date object */
12
+ toJsDate: (value: T) => Date;
13
+ /** Parse ISO 8601 string */
14
+ parseISO: (date: string) => T;
15
+ /** Convert to ISO 8601 string */
16
+ toISO: (date: T) => string;
17
+ /** Parse date string with custom format */
18
+ parse: (value: string, format: string) => T | null;
19
+ /** Check if value is a valid date (type predicate for narrowing) */
20
+ isValid: (date: unknown) => date is T;
21
+ /** Check if value is null (type predicate for narrowing) */
22
+ isNull: (value: T | null) => value is null;
23
+ /** Get current locale code */
24
+ getCurrentLocaleCode: () => string;
25
+ /** Check if current locale uses 12-hour cycle */
26
+ is12HourCycleInCurrentLocale: () => boolean;
27
+ /** Format date using preset format key */
28
+ format: (date: T, formatString: string) => string;
29
+ /** Format date using custom format string */
30
+ formatByString: (date: T, formatString: string) => string;
31
+ /** Get helper text for format string (e.g., "mm/dd/yyyy") */
32
+ getFormatHelperText: (format: string) => string;
33
+ /** Format number according to locale */
34
+ formatNumber: (numberToFormat: string) => string;
35
+ /** Get meridiem text (AM/PM) for locale */
36
+ getMeridiemText: (ampm: 'am' | 'pm') => string;
37
+ startOfDay: (date: T) => T;
38
+ endOfDay: (date: T) => T;
39
+ startOfWeek: (date: T) => T;
40
+ endOfWeek: (date: T) => T;
41
+ startOfMonth: (date: T) => T;
42
+ endOfMonth: (date: T) => T;
43
+ startOfYear: (date: T) => T;
44
+ endOfYear: (date: T) => T;
45
+ addSeconds: (date: T, amount: number) => T;
46
+ addMinutes: (date: T, amount: number) => T;
47
+ addHours: (date: T, amount: number) => T;
48
+ addDays: (date: T, amount: number) => T;
49
+ addWeeks: (date: T, amount: number) => T;
50
+ addMonths: (date: T, amount: number) => T;
51
+ addYears: (date: T, amount: number) => T;
52
+ isAfter: (date: T, comparing: T) => boolean;
53
+ isAfterDay: (date: T, comparing: T) => boolean;
54
+ isAfterMonth: (date: T, comparing: T) => boolean;
55
+ isAfterYear: (date: T, comparing: T) => boolean;
56
+ isBefore: (date: T, comparing: T) => boolean;
57
+ isBeforeDay: (date: T, comparing: T) => boolean;
58
+ isBeforeMonth: (date: T, comparing: T) => boolean;
59
+ isBeforeYear: (date: T, comparing: T) => boolean;
60
+ isEqual: (date: T, comparing: T) => boolean;
61
+ isSameDay: (date: T, comparing: T) => boolean;
62
+ isSameMonth: (date: T, comparing: T) => boolean;
63
+ isSameYear: (date: T, comparing: T) => boolean;
64
+ isSameHour: (date: T, comparing: T) => boolean;
65
+ isWithinRange: (date: T, range: [T, T]) => boolean;
66
+ getYear: (date: T) => number;
67
+ getMonth: (date: T) => number;
68
+ getDate: (date: T) => number;
69
+ getHours: (date: T) => number;
70
+ getMinutes: (date: T) => number;
71
+ getSeconds: (date: T) => number;
72
+ /** @param comparing - Can be T or ISO string */
73
+ getDiff: (date: T, comparing: T | string, unit?: string) => number;
74
+ /** @param minimalDays - Minimum days in first week for it to count as week 1 */
75
+ getWeek: (date: T, minimalDays?: number) => number;
76
+ /** Get number of days in the month */
77
+ getDaysInMonth: (date: T) => number;
78
+ setYear: (date: T, year: number) => T;
79
+ setMonth: (date: T, month: number) => T;
80
+ setDate: (date: T, day: number) => T;
81
+ setHours: (date: T, hours: number) => T;
82
+ setMinutes: (date: T, minutes: number) => T;
83
+ setSeconds: (date: T, seconds: number) => T;
84
+ getWeekdays: (weekdayFormat?: 'long' | 'short' | 'narrow') => string[];
85
+ getWeekArray: (date: T) => T[][];
86
+ /** Get array of months in a year (12 dates, one for each month) */
87
+ getMonthArray: (date: T) => T[];
88
+ /** Get array of years between start and end dates */
89
+ getYearRange: (start: T, end: T) => T[];
90
+ getNextMonth: (date: T) => T;
91
+ getPreviousMonth: (date: T) => T;
92
+ /** Merge date from one value with time from another */
93
+ mergeDateAndTime: (date: T, time: T) => T;
94
+ }
95
+ //#endregion
96
+ export { DateAdapter as t };
@@ -0,0 +1,2 @@
1
+ import "./v0-CFV8A5PF.mjs";
2
+ export {};
@@ -0,0 +1,5 @@
1
+ import "./adapter-CCIeOzqr.mjs";
2
+ import "./v0-DOq_Ia5H.mjs";
3
+ import "./server-CIftA0pK.mjs";
4
+ import "./virtual-D1HwNBLS.mjs";
5
+ export {};
@@ -0,0 +1,2 @@
1
+ import "./v0-4OQBCeda.mjs";
2
+ export {};
@@ -0,0 +1,3 @@
1
+ import "./pino-9L79n6y6.mjs";
2
+ import "./v0-BqikIgl0.mjs";
3
+ export {};
@@ -0,0 +1,4 @@
1
+ import "./adapter-Drq1v5wV.mjs";
2
+ import "./v0-DXqYgj7J.mjs";
3
+ import "./unhead-BYw3a366.mjs";
4
+ export {};