@vuetify/v0 0.1.13 → 0.2.1
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.
- package/README.md +124 -58
- package/dist/{adapter-DvT8lTup.d.mts → adapter-BZjmDNJF.d.mts} +7 -7
- package/dist/{adapter-DXRKF27V.mjs → adapter-CCIeOzqr.mjs} +10 -8
- package/dist/{adapter-D3dUnE__.d.mts → adapter-CcHB7rs3.d.mts} +2 -2
- package/dist/adapter-Drq1v5wV.mjs +27 -0
- package/dist/adapter-T7AedXkz.d.mts +96 -0
- package/dist/adapters-BbNfjyvY.mjs +5 -0
- package/dist/adapters-BhNTUuxE.mjs +2 -0
- package/dist/adapters-BzRMo72Y.mjs +4 -0
- package/dist/adapters-Cd8NDs18.mjs +3 -0
- package/dist/adapters-_DyP1X4U.mjs +2 -0
- package/dist/browser/index.js +13363 -9466
- package/dist/components/index.d.mts +3 -2
- package/dist/components/index.mjs +2 -34
- package/dist/{components-C6stt5NV.mjs → components-C142GPl_.mjs} +5676 -2942
- package/dist/composables/index.d.mts +19 -19
- package/dist/composables/index.mjs +26 -32
- package/dist/{consola-C1OjyZVf.d.mts → consola-Byg0ybzh.d.mts} +2 -2
- package/dist/constants/index.d.mts +1 -1
- package/dist/constants/index.mjs +1 -1
- package/dist/{createDataTable-DHxv--aj.mjs → createDataTable-DKE5QsMe.mjs} +7 -4
- package/dist/{createGroup-BqN4Ve83.mjs → createGroup-CzRZ9COh.mjs} +24 -22
- package/dist/{createPagination-CeGMgKCx.mjs → createPagination-Tp4C4He8.mjs} +6 -4
- package/dist/{createSelection-BsHsL_qW.mjs → createSelection-Dsb3I0zm.mjs} +17 -13
- package/dist/{createSingle-BBwE5j_k.mjs → createSingle-C7IGUjP6.mjs} +11 -9
- package/dist/{createTokens-CpapxkYX.mjs → createTokens-CHTawmud.mjs} +9 -8
- package/dist/{createTrinity-C_c8eedz.mjs → createTrinity-vvXk0ARD.mjs} +3 -3
- package/dist/data-table/adapters/client/index.d.mts +1 -1
- package/dist/data-table/adapters/client/index.mjs +1 -6
- package/dist/data-table/adapters/index.d.mts +4 -4
- package/dist/data-table/adapters/index.mjs +5 -9
- package/dist/data-table/adapters/server/index.d.mts +1 -1
- package/dist/data-table/adapters/server/index.mjs +1 -4
- package/dist/data-table/adapters/virtual/index.d.mts +1 -1
- package/dist/data-table/adapters/virtual/index.mjs +1 -6
- package/dist/data-table/index.d.mts +5 -5
- package/dist/data-table/index.mjs +5 -21
- package/dist/date/index.d.mts +2 -1
- package/dist/date/index.mjs +45 -6954
- package/dist/features/adapters/flagsmith/index.d.mts +1 -13
- package/dist/features/adapters/flagsmith/index.mjs +1 -1
- package/dist/features/adapters/launchdarkly/index.d.mts +1 -12
- package/dist/features/adapters/launchdarkly/index.mjs +1 -1
- package/dist/features/adapters/posthog/index.d.mts +1 -12
- package/dist/features/adapters/posthog/index.mjs +1 -2
- package/dist/features/index.d.mts +2 -2
- package/dist/features/index.mjs +1 -12
- package/dist/{flagsmith-CrWUeIhT.mjs → flagsmith-DQnnahG5.mjs} +9 -2
- package/dist/{globals-DCznFHqN.mjs → globals-BrRJkuSY.mjs} +1 -1
- package/dist/{index-CeNfBYuo.d.mts → index-76fQGkkO.d.mts} +1 -1
- package/dist/{index-vcUKp9YE.d.mts → index-BFuSOgUi.d.mts} +8768 -5372
- package/dist/{index-YyqYAay2.d.mts → index-BUsrN1vL.d.mts} +29 -29
- package/dist/{index-Dor6eAEc.d.mts → index-B_AlCD7t.d.mts} +1 -1
- package/dist/{index-CBER-Sxt.d.mts → index-B_XLHftL.d.mts} +4202 -3645
- package/dist/{index-dJKXAO5D.d.mts → index-CDcl4wPo.d.mts} +1 -1
- package/dist/{index-CdUIc68E.d.mts → index-DoGxDgdN.d.mts} +3 -3
- package/dist/{index-B_pScNDG.d.mts → index-Dxx0eMLi.d.mts} +40 -2
- package/dist/index-F2Fmxnzi.d.mts +13 -0
- package/dist/index-M8EpGjjA.d.mts +13 -0
- package/dist/index-PWQavSPf.d.mts +1 -0
- package/dist/index-c55Utzva.d.mts +1 -0
- package/dist/index-tyzwWFHS.d.mts +14 -0
- package/dist/index.d.mts +23 -23
- package/dist/index.mjs +29 -34
- package/dist/json/attributes.json +918 -82
- package/dist/json/importMap.json +210 -2
- package/dist/json/tags.json +448 -14
- package/dist/json/web-types.json +3670 -1052
- package/dist/{launchdarkly-DEqUn7qm.mjs → launchdarkly-2_48EJ1_.mjs} +8 -1
- package/dist/locale/adapters/index.d.mts +2 -2
- package/dist/locale/adapters/index.mjs +2 -3
- package/dist/locale/adapters/v0/index.d.mts +1 -1
- package/dist/locale/adapters/v0/index.mjs +1 -2
- package/dist/locale/adapters/vue-i18n/index.d.mts +1 -1
- package/dist/locale/adapters/vue-i18n/index.mjs +0 -1
- package/dist/locale/index.d.mts +3 -3
- package/dist/locale/index.mjs +2 -12
- package/dist/logger/adapters/consola/index.d.mts +1 -1
- package/dist/logger/adapters/index.d.mts +4 -4
- package/dist/logger/adapters/index.mjs +3 -4
- package/dist/logger/adapters/pino/index.d.mts +2 -2
- package/dist/logger/adapters/pino/index.mjs +1 -2
- package/dist/logger/adapters/v0/index.d.mts +1 -1
- package/dist/logger/adapters/v0/index.mjs +1 -2
- package/dist/logger/index.d.mts +5 -5
- package/dist/logger/index.mjs +3 -6
- package/dist/notifications/index.d.mts +1 -1
- package/dist/notifications/index.mjs +1 -1
- package/dist/palettes/ant/index.d.mts +1 -1
- package/dist/palettes/index.d.mts +3 -3
- package/dist/palettes/material/index.d.mts +1 -1
- package/dist/palettes/md1/index.d.mts +1 -1
- package/dist/palettes/md2/index.d.mts +1 -1
- package/dist/palettes/radix/index.d.mts +1 -1
- package/dist/palettes/tailwind/index.d.mts +1 -1
- package/dist/permissions/adapters/index.d.mts +1 -2
- package/dist/permissions/adapters/index.mjs +2 -3
- package/dist/permissions/adapters/v0/index.d.mts +1 -1
- package/dist/permissions/adapters/v0/index.mjs +1 -2
- package/dist/permissions/index.d.mts +1 -1
- package/dist/permissions/index.mjs +2 -11
- package/dist/{pino-B7tJ3m18.mjs → pino-9L79n6y6.mjs} +0 -7
- package/dist/{pino-CM1iLXmi.d.mts → pino-BxddSW2l.d.mts} +11 -3
- package/dist/{posthog-BugD9w3g.mjs → posthog-Ccm8FQfD.mjs} +8 -8
- package/dist/rules/index.d.mts +1 -1
- package/dist/rules/index.mjs +1 -13
- package/dist/{server-CYYGvVps.mjs → server-CIftA0pK.mjs} +1 -1
- package/dist/{server-CSLVeyyI.d.mts → server-DNUTnISs.d.mts} +1 -1
- package/dist/storage/adapters/index.d.mts +2 -2
- package/dist/storage/adapters/memory/index.d.mts +1 -1
- package/dist/storage/index.d.mts +3 -3
- package/dist/storage/index.mjs +1 -31
- package/dist/theme/adapters/index.d.mts +2 -2
- package/dist/theme/adapters/index.mjs +5 -4
- package/dist/theme/adapters/unhead/index.d.mts +2 -0
- package/dist/theme/adapters/unhead/index.mjs +2 -0
- package/dist/theme/adapters/v0/index.d.mts +2 -2
- package/dist/theme/adapters/v0/index.mjs +2 -3
- package/dist/theme/index.d.mts +2 -2
- package/dist/theme/index.mjs +4 -13
- package/dist/{toArray-VdROPpy-.mjs → toArray-doLQVI56.mjs} +2 -0
- package/dist/types/index.d.mts +1 -1
- package/dist/unhead--58lO3Z-.mjs +64 -0
- package/dist/{useClickOutside-CBsF7hh4.mjs → useClickOutside-BjO3Nty9.mjs} +5982 -4928
- package/dist/{useFeatures-CkIfpj7l.mjs → useFeatures-D9bGOvh4.mjs} +11 -9
- package/dist/{useLocale-D3btFSZv.mjs → useLocale-BRQTt3Ka.mjs} +15 -10
- package/dist/{useLogger-C3crtWEd.mjs → useLogger-Daz-Zr0z.mjs} +34 -10
- package/dist/{usePermissions-DmaYLhw5.mjs → usePermissions-Yp3guoLH.mjs} +6 -5
- package/dist/{useRules-Dkj_-0ay.mjs → useRules-BFPH7q8w.mjs} +5 -2
- package/dist/{useTheme-MJA1p7YK.mjs → useTheme-zRa0Nh_g.mjs} +16 -12
- package/dist/utilities/index.d.mts +2 -2
- package/dist/utilities/index.mjs +28 -13
- package/dist/{v0-CQ2qHo5-.d.mts → v0-BAG8p0si.d.mts} +1 -1
- package/dist/{v0-2IcFDTW5.mjs → v0-Bno8FQ_F.mjs} +1 -1
- package/dist/{v0-3zDdS4II.d.mts → v0-BpgPZ1qB.d.mts} +1 -1
- package/dist/{v0-JPf99NKg.d.mts → v0-C2UMaHUa.d.mts} +1 -1
- package/dist/{v0-pzmWhctY.mjs → v0-CcV0VwYd.mjs} +7 -32
- package/dist/{v0-CB-GCB-s.mjs → v0-D-AEQbvj.mjs} +1 -1
- package/dist/{v0-D87sooe0.mjs → v0-DOq_Ia5H.mjs} +2 -2
- package/dist/{virtual-Dg0Cm5Hn.d.mts → virtual-BaQWQ9ji.d.mts} +1 -1
- package/dist/{virtual-D75KhU6Q.mjs → virtual-D1HwNBLS.mjs} +2 -2
- package/package.json +11 -14
- package/dist/adapter-BWMm0JAQ.d.mts +0 -1087
- package/dist/adapters-BjeDmKc6.mjs +0 -1
- package/dist/adapters-Bv5aRv3l.mjs +0 -1
- package/dist/adapters-C66XaKkw.mjs +0 -1
- package/dist/adapters-DkVblyML.mjs +0 -1
- package/dist/adapters-uJLWGQJl.mjs +0 -1
- package/dist/v0-B6ILFiMN.d.mts +0 -10
- /package/dist/{adapter-CJQav2JB.d.mts → adapter-DNKjooxI.d.mts} +0 -0
- /package/dist/{index-BvTD7kU8.d.mts → index-D6mQAEs2.d.mts} +0 -0
- /package/dist/{index-DSao7i57.d.mts → index-DxruGeVY.d.mts} +0 -0
- /package/dist/{memory-DyBabFV1.d.mts → memory-DUyWthic.d.mts} +0 -0
- /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
|
-
|
|
|
83
|
-
|
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
|
88
|
-
|
|
89
|
-
|
|
|
90
|
-
|
|
|
91
|
-
|
|
|
92
|
-
|
|
|
93
|
-
|
|
|
94
|
-
|
|
|
95
|
-
|
|
|
96
|
-
|
|
|
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
|
-
-
|
|
105
|
-
-
|
|
106
|
-
-
|
|
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
|
-
-
|
|
113
|
-
-
|
|
114
|
-
-
|
|
115
|
-
-
|
|
116
|
-
|
|
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
|
-
-
|
|
123
|
-
-
|
|
124
|
-
-
|
|
125
|
-
-
|
|
126
|
-
-
|
|
127
|
-
-
|
|
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
|
-
-
|
|
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
|
-
-
|
|
136
|
-
-
|
|
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
|
-
-
|
|
141
|
-
-
|
|
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
|
-
-
|
|
148
|
-
-
|
|
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
|
-
-
|
|
153
|
-
-
|
|
154
|
-
-
|
|
155
|
-
-
|
|
156
|
-
-
|
|
157
|
-
-
|
|
158
|
-
-
|
|
159
|
-
-
|
|
160
|
-
-
|
|
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
|
-
-
|
|
167
|
-
-
|
|
168
|
-
-
|
|
169
|
-
-
|
|
170
|
-
-
|
|
171
|
-
-
|
|
172
|
-
-
|
|
173
|
-
-
|
|
174
|
-
-
|
|
175
|
-
-
|
|
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-
|
|
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,
|
|
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/
|
|
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/
|
|
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/
|
|
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-
|
|
3
|
-
import { t as toArray } from "./toArray-
|
|
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
|
|
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/
|
|
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/
|
|
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/
|
|
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(
|
|
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-
|
|
2
|
-
import { c as TokenTicket, i as TokenContext } from "./index-
|
|
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,27 @@
|
|
|
1
|
+
import { hexToRgb, isUndefined } from "./utilities/index.mjs";
|
|
2
|
+
//#region src/composables/useTheme/adapters/adapter.ts
|
|
3
|
+
var ThemeAdapter = class {
|
|
4
|
+
stylesheetId = "v0-theme-stylesheet";
|
|
5
|
+
prefix;
|
|
6
|
+
rgb = false;
|
|
7
|
+
constructor(prefix) {
|
|
8
|
+
this.prefix = prefix;
|
|
9
|
+
}
|
|
10
|
+
generate(colors, isDark) {
|
|
11
|
+
let css = "";
|
|
12
|
+
for (const theme in colors) {
|
|
13
|
+
const themeColors = colors[theme];
|
|
14
|
+
if (!themeColors) continue;
|
|
15
|
+
const vars = Object.entries(themeColors).map(([key, val]) => ` --${this.prefix}-${key}: ${this.rgb ? this.decompose(val) : val};`).join("\n");
|
|
16
|
+
css += `[data-theme="${theme}"] {\n${vars}\n color: var(--${this.prefix}-on-background);\n}\n`;
|
|
17
|
+
}
|
|
18
|
+
if (!/* @__PURE__ */ isUndefined(isDark)) css += `:root {\n color-scheme: ${isDark ? "dark" : "light"};\n}\n`;
|
|
19
|
+
return css;
|
|
20
|
+
}
|
|
21
|
+
decompose(hex) {
|
|
22
|
+
const { r, g, b, a } = hexToRgb(hex);
|
|
23
|
+
return /* @__PURE__ */ isUndefined(a) ? `${r}, ${g}, ${b}` : `${r}, ${g}, ${b}, ${a}`;
|
|
24
|
+
}
|
|
25
|
+
};
|
|
26
|
+
//#endregion
|
|
27
|
+
export { ThemeAdapter as t };
|
|
@@ -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 };
|