@vuetify/v0 1.0.0-rc.7 → 1.0.0-rc.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 (89) hide show
  1. package/README.md +2 -2
  2. package/dist/{adapter-CMdKyFLz.d.mts → adapter-CVNRHfrz.d.mts} +1 -1
  3. package/dist/browser/index.d.ts +73 -36
  4. package/dist/browser/index.js +254 -122
  5. package/dist/components/index.d.mts +1 -1
  6. package/dist/components/index.mjs +1 -1
  7. package/dist/{components-D87gpuRI.mjs → components-BVbls2Zu.mjs} +64 -31
  8. package/dist/composables/index.d.mts +6 -6
  9. package/dist/composables/index.mjs +21 -21
  10. package/dist/{composables-DAc4DbYb.mjs → composables-BT7flkAT.mjs} +18 -12
  11. package/dist/constants/index.mjs +1 -1
  12. package/dist/{createDataTable-C86TFzxJ.mjs → createDataTable-s3eVS4Zu.mjs} +3 -3
  13. package/dist/{createGroup-DKVmhWJZ.mjs → createGroup-B6LPZBb5.mjs} +1 -1
  14. package/dist/{createRegistry-DaRYxox5.mjs → createRegistry-BGTmeeis.mjs} +23 -13
  15. package/dist/{createSelection-CZFfJnBv.mjs → createSelection-CyN6WFYU.mjs} +27 -13
  16. package/dist/{createSingle-D08Et-36.mjs → createSingle-B2ccuoDn.mjs} +1 -1
  17. package/dist/{createTokens-BY_7TedA.mjs → createTokens-CmFlFaiL.mjs} +8 -7
  18. package/dist/data-table/index.d.mts +1 -1
  19. package/dist/data-table/index.mjs +1 -1
  20. package/dist/date/index.mjs +1 -1
  21. package/dist/features/adapters/posthog/index.mjs +1 -1
  22. package/dist/features/index.d.mts +1 -1
  23. package/dist/features/index.mjs +1 -1
  24. package/dist/{globals-Djy_aCgG.mjs → globals-RL3Sag6Q.mjs} +1 -1
  25. package/dist/{index-B5ybQyJO.d.mts → index-BwNRi6BK.d.mts} +9 -7
  26. package/dist/{index-CUdlfMMw.d.mts → index-CfoyBH6V.d.mts} +144 -110
  27. package/dist/{index-CIf2yTGR.d.mts → index-CrFFilCd.d.mts} +2 -2
  28. package/dist/{index-CfSenWTN.d.mts → index-DCtHbY0a.d.mts} +1 -1
  29. package/dist/{index-DTYOP7ci.d.mts → index-RGiSdjYt.d.mts} +8 -7
  30. package/dist/index.d.mts +7 -7
  31. package/dist/index.mjs +23 -23
  32. package/dist/json/attributes.json +28 -0
  33. package/dist/json/tags.json +7 -0
  34. package/dist/json/web-types.json +65 -2
  35. package/dist/locale/adapters/index.d.mts +2 -2
  36. package/dist/locale/adapters/index.mjs +1 -1
  37. package/dist/locale/adapters/v0/index.d.mts +1 -1
  38. package/dist/locale/adapters/v0/index.mjs +1 -1
  39. package/dist/locale/adapters/vue-i18n/index.d.mts +1 -1
  40. package/dist/locale/index.d.mts +3 -3
  41. package/dist/locale/index.mjs +2 -2
  42. package/dist/locale/messages/en/index.d.mts +6 -0
  43. package/dist/locale/messages/en/index.mjs +3 -1
  44. package/dist/logger/adapters/index.mjs +1 -1
  45. package/dist/logger/adapters/v0/index.mjs +1 -1
  46. package/dist/logger/index.d.mts +1 -1
  47. package/dist/logger/index.mjs +2 -2
  48. package/dist/notifications/index.d.mts +1 -1
  49. package/dist/notifications/index.mjs +2 -2
  50. package/dist/palettes/ant/index.d.mts +1 -1
  51. package/dist/palettes/index.d.mts +2 -2
  52. package/dist/palettes/material/index.d.mts +1 -1
  53. package/dist/palettes/md1/index.d.mts +1 -1
  54. package/dist/palettes/md2/index.d.mts +1 -1
  55. package/dist/palettes/radix/index.d.mts +1 -1
  56. package/dist/palettes/tailwind/index.d.mts +1 -1
  57. package/dist/permissions/adapters/index.d.mts +1 -1
  58. package/dist/permissions/adapters/v0/index.d.mts +1 -1
  59. package/dist/permissions/index.d.mts +1 -1
  60. package/dist/permissions/index.mjs +1 -1
  61. package/dist/rules/index.d.mts +1 -1
  62. package/dist/rules/index.mjs +1 -1
  63. package/dist/storage/index.d.mts +1 -1
  64. package/dist/storage/index.mjs +1 -1
  65. package/dist/theme/adapters/index.d.mts +1 -1
  66. package/dist/theme/adapters/index.mjs +2 -2
  67. package/dist/theme/adapters/unhead/index.d.mts +1 -1
  68. package/dist/theme/adapters/unhead/index.mjs +1 -1
  69. package/dist/theme/adapters/v0/index.d.mts +1 -1
  70. package/dist/theme/adapters/v0/index.mjs +1 -1
  71. package/dist/theme/index.d.mts +1 -1
  72. package/dist/theme/index.mjs +3 -3
  73. package/dist/{unhead-CAPMhSV7.mjs → unhead-CEoip0pl.mjs} +20 -2
  74. package/dist/{useEventListener-BtOsc1qg.mjs → useEventListener-CBJTFVtj.mjs} +1 -1
  75. package/dist/{useFeatures-B5I-8W8H.mjs → useFeatures-BZszg39v.mjs} +4 -4
  76. package/dist/{useLocale-AKOyyv43.mjs → useLocale-DeC8QRi3.mjs} +4 -4
  77. package/dist/{useLogger-bHW-Guij.mjs → useLogger-6LS-fgWD.mjs} +2 -2
  78. package/dist/{useNotifications-P-1VQHi8.mjs → useNotifications-DD7vR-tx.mjs} +3 -3
  79. package/dist/{usePermissions-nuWucbL_.mjs → usePermissions-BIfS_ihQ.mjs} +2 -2
  80. package/dist/{useRovingFocus-BfbmLJoo.mjs → useRovingFocus-Dzw1c9uA.mjs} +109 -76
  81. package/dist/{useRules-SLj8Le-M.mjs → useRules-BzgsUHWa.mjs} +2 -2
  82. package/dist/{useStorage-B4eV6lZZ.mjs → useStorage-5nEMSv-y.mjs} +3 -3
  83. package/dist/{useTheme-SVM2VmlS.mjs → useTheme-K1dwhgeW.mjs} +4 -4
  84. package/dist/utilities/index.mjs +1 -1
  85. package/dist/{v0-BoEyw8RC.mjs → v0-BOXWgl8G.mjs} +1 -1
  86. package/dist/{v0-DcTsWvzJ.d.mts → v0-C0OfckSF.d.mts} +1 -1
  87. package/dist/{v0-gVrU_ObF.mjs → v0-CFy_iJEG.mjs} +19 -2
  88. package/dist/{v0-D5BwU_Up.mjs → v0-DsrbK05t.mjs} +1 -1
  89. package/package.json +13 -8
package/README.md CHANGED
@@ -28,7 +28,7 @@
28
28
 
29
29
  Headless Vue 3 UI primitives and composables for building modern applications and design systems. `@vuetify/v0` is the foundation of the Vuetify ecosystem, offering lightweight, unstyled building blocks with full TypeScript support and accessibility features built-in.
30
30
 
31
- > **Note:** v0 is a release candidate — the v1 stable set is locked. Install with `npm i @vuetify/v0@rc`. Preview APIs may still see minor, documented changes before the stable release.
31
+ > **Note:** v0 is a release candidate — the v1 stable set is locked. Install with `npm i @vuetify/v0@rc`. Preview APIs may still see minor, documented changes before the stable v1.0.0 release on July 22, 2026 (final candidate, rc.9, lands July 21).
32
32
 
33
33
  ## Repository Structure
34
34
 
@@ -301,7 +301,7 @@ pnpm validate
301
301
 
302
302
  ## Contributing
303
303
 
304
- Vuetify0 is a release candidate — open for final validation, bug reports, and contributions. See the [Roadmap](https://0.vuetifyjs.com/roadmap#release-candidate) for what's planned and how to get involved.
304
+ Vuetify0 is a release candidate — open for final validation, bug reports, and contributions. The stable v1.0.0 release ships July 22, 2026 (final candidate, rc.9, on July 21). See the [Roadmap](https://0.vuetifyjs.com/roadmap#release-candidate) for what's planned and how to get involved.
305
305
 
306
306
  ## License
307
307
 
@@ -1,5 +1,5 @@
1
1
  import { a as ID } from "./index-CyNk9FpR.mjs";
2
- import { c as TokenTicket, i as TokenContext } from "./index-CIf2yTGR.mjs";
2
+ import { c as TokenTicket, i as TokenContext } from "./index-CrFFilCd.mjs";
3
3
  import { Ref } from "vue";
4
4
 
5
5
  //#region src/composables/useLocale/adapters/adapter.d.ts
@@ -946,7 +946,7 @@ interface RegistryTicket<V = unknown> {
946
946
  /**
947
947
  * The index of the ticket in the registry.
948
948
  *
949
- * @remarks Automatically managed by the registry. Assigned at registration and updated during reindexing; a supplied index is ignored — use `move()` to position a ticket. It's not recommended to manually set this. A ticket read via `values()`/`entries()` immediately after `unregister()`/`offboard()` may carry a stale index until the next position-reading call (`register`/`upsert`/`browse`/`lookup`/`move`/`reorder`/`seek`) drains the deferred reindex.
949
+ * @remarks Automatically managed by the registry. Assigned at registration and updated during reindexing; a supplied index is ignored — use `move()` to position a ticket. It's not recommended to manually set this. When a removal defers its reindex — a tail-block removal, or a registry with no index-derived values — a ticket read via `values()`/`entries()` may carry a stale index until the next position-reading call (`register`/`upsert`/`browse`/`lookup`/`move`/`reorder`/`seek`) drains it. A mid-list `unregister`/`offboard` that shifts index-derived survivors reindexes eagerly, so those reads are already current.
950
950
  */
951
951
  index: number;
952
952
  /** The value associated with the ticket. If not provided, it defaults to the index. */
@@ -1464,12 +1464,13 @@ interface RegistryContext<Z extends RegistryTicketInput = RegistryTicketInput, E
1464
1464
  * @param ids An array of ticket IDs to unregister.
1465
1465
  * @returns An array of `Partial<Z>` — the inputs that were registered, with
1466
1466
  * registry-managed fields (`index`, `valueIsIndex`, `unregister`) stripped.
1467
- * The `id` is preserved only when `valueIsIndex` was false (i.e. the user
1468
- * supplied a meaningful value); otherwise the id is stripped so the receiving
1469
- * registry can assign a fresh one. Order matches the input `ids` array. Missing
1470
- * ids are silently skipped the returned array may be shorter than `ids`.
1471
- * @remarks Unregisters multiple tickets in a single operation with optimized
1472
- * reindexing. The inverse of `onboard`: onboard takes inputs and returns outputs;
1467
+ * A user-supplied `id` is preserved so identity survives the transfer; an
1468
+ * auto-generated `id` is stripped so the receiving registry can assign a fresh
1469
+ * one. The `value` is stripped only when it was index-derived (`valueIsIndex`).
1470
+ * Order matches the input `ids` array. Missing ids are silently skipped the
1471
+ * returned array may be shorter than `ids`.
1472
+ * @remarks Unregisters multiple tickets in a single compaction pass, reindexing
1473
+ * eagerly only when index-derived survivors shift. The inverse of `onboard`: onboard takes inputs and returns outputs;
1473
1474
  * offboard takes ids and returns the inputs back. Pair with `onboard` on a
1474
1475
  * different registry to move tickets across registries.
1475
1476
  *
@@ -1790,7 +1791,9 @@ interface ModelContext<Z extends ModelTicketInput = ModelTicketInput, E extends
1790
1791
  * Unselect a ticket by ID
1791
1792
  *
1792
1793
  * @param id The ID of the ticket to unselect.
1793
- * @remarks Removes the ID from `selectedIds`. No-op if the model instance is disabled.
1794
+ * @remarks Removes the ID from `selectedIds`.
1795
+ * No-op if the model instance is disabled, the ticket doesn't exist, or the ticket is disabled.
1796
+ * Wholesale operations (`apply`, `reset`, `clear`) bypass this guard so disabled ids can always drain.
1794
1797
  *
1795
1798
  * @example
1796
1799
  * ```ts
@@ -1805,7 +1808,7 @@ interface ModelContext<Z extends ModelTicketInput = ModelTicketInput, E extends
1805
1808
  *
1806
1809
  * @param id The ID of the ticket to toggle.
1807
1810
  * @remarks Calls `select(id)` if not selected, `unselect(id)` if already selected.
1808
- * No-op if the model instance is disabled.
1811
+ * No-op if the model instance is disabled or the ticket is disabled.
1809
1812
  *
1810
1813
  * @example
1811
1814
  * ```ts
@@ -2322,6 +2325,8 @@ declare function useImage(options: UseImageOptions): UseImageReturn;
2322
2325
  interface AvatarImageProps extends AtomProps {
2323
2326
  /** Image source URL */
2324
2327
  src?: string;
2328
+ /** Accessible alt text. */
2329
+ alt?: string;
2325
2330
  /** Priority for display order (higher = more preferred) */
2326
2331
  priority?: number;
2327
2332
  /** Namespace for retrieving avatar context */
@@ -2346,17 +2351,18 @@ interface AvatarImageSlotProps {
2346
2351
  attrs: {
2347
2352
  role: 'img';
2348
2353
  src?: string;
2354
+ alt?: string;
2349
2355
  onLoad: (e: Event) => void;
2350
2356
  onError: (e: Event) => void;
2351
2357
  };
2352
2358
  }
2353
2359
  declare const _default$12: typeof __VLS_export$157;
2354
2360
  declare const __VLS_export$157: __VLS_WithSlots$118<_$vue.DefineComponent<AvatarImageProps, {}, {}, {}, {}, _$vue.ComponentOptionsMixin, _$vue.ComponentOptionsMixin, {
2355
- load: (e: Event) => any;
2356
2361
  error: (e: Event) => any;
2362
+ load: (e: Event) => any;
2357
2363
  }, string, _$vue.PublicProps, Readonly<AvatarImageProps> & Readonly<{
2358
- onLoad?: ((e: Event) => any) | undefined;
2359
2364
  onError?: ((e: Event) => any) | undefined;
2365
+ onLoad?: ((e: Event) => any) | undefined;
2360
2366
  }>, {}, {}, {}, {}, string, _$vue.ComponentProvideOptions, false, {}, any>, {
2361
2367
  default: (props: AvatarImageSlotProps) => any;
2362
2368
  }>;
@@ -2673,11 +2679,11 @@ declare const Avatar: {
2673
2679
  */
2674
2680
  Image: {
2675
2681
  new (...args: any[]): _$vue.CreateComponentPublicInstanceWithMixins<Readonly<AvatarImageProps> & Readonly<{
2676
- onLoad?: ((e: Event) => any) | undefined;
2677
2682
  onError?: ((e: Event) => any) | undefined;
2683
+ onLoad?: ((e: Event) => any) | undefined;
2678
2684
  }>, {}, {}, {}, {}, _$vue.ComponentOptionsMixin, _$vue.ComponentOptionsMixin, {
2679
- load: (e: Event) => any;
2680
2685
  error: (e: Event) => any;
2686
+ load: (e: Event) => any;
2681
2687
  }, _$vue.PublicProps, {}, false, {}, {}, _$vue.GlobalComponents, _$vue.GlobalDirectives, string, {}, any, _$vue.ComponentProvideOptions, {
2682
2688
  P: {};
2683
2689
  B: {};
@@ -2686,18 +2692,18 @@ declare const Avatar: {
2686
2692
  M: {};
2687
2693
  Defaults: {};
2688
2694
  }, Readonly<AvatarImageProps> & Readonly<{
2689
- onLoad?: ((e: Event) => any) | undefined;
2690
2695
  onError?: ((e: Event) => any) | undefined;
2696
+ onLoad?: ((e: Event) => any) | undefined;
2691
2697
  }>, {}, {}, {}, {}, {}>;
2692
2698
  __isFragment?: never;
2693
2699
  __isTeleport?: never;
2694
2700
  __isSuspense?: never;
2695
2701
  } & _$vue.ComponentOptionsBase<Readonly<AvatarImageProps> & Readonly<{
2696
- onLoad?: ((e: Event) => any) | undefined;
2697
2702
  onError?: ((e: Event) => any) | undefined;
2703
+ onLoad?: ((e: Event) => any) | undefined;
2698
2704
  }>, {}, {}, {}, {}, _$vue.ComponentOptionsMixin, _$vue.ComponentOptionsMixin, {
2699
- load: (e: Event) => any;
2700
2705
  error: (e: Event) => any;
2706
+ load: (e: Event) => any;
2701
2707
  }, string, {}, {}, string, {}, _$vue.GlobalComponents, _$vue.GlobalDirectives, string, _$vue.ComponentProvideOptions> & _$vue.VNodeProps & _$vue.AllowedComponentProps & _$vue.ComponentCustomProps & (new () => {
2702
2708
  $slots: {
2703
2709
  default: (props: AvatarImageSlotProps) => any;
@@ -7973,6 +7979,8 @@ interface FormProps extends AtomProps {
7973
7979
  disabled?: boolean;
7974
7980
  /** Sets all registered fields to readonly */
7975
7981
  readonly?: boolean;
7982
+ /** Suppress native constraint validation (default: true) — set false to restore browser validation UI */
7983
+ novalidate?: boolean;
7976
7984
  }
7977
7985
  interface FormSlotProps {
7978
7986
  /** Aggregate validity: null = unvalidated, true = all valid, false = any invalid */
@@ -7989,6 +7997,7 @@ interface FormSlotProps {
7989
7997
  reset: () => void;
7990
7998
  /** Attributes to bind to the form element */
7991
7999
  attrs: {
8000
+ novalidate: true | undefined;
7992
8001
  onSubmit: (event: Event) => void;
7993
8002
  onReset: (event: Event) => void;
7994
8003
  };
@@ -8361,12 +8370,12 @@ interface ImageImgSlotProps {
8361
8370
  }
8362
8371
  declare const _default$70: typeof __VLS_export$98;
8363
8372
  declare const __VLS_export$98: __VLS_WithSlots$73<_$vue.DefineComponent<ImageImgProps, {}, {}, {}, {}, _$vue.ComponentOptionsMixin, _$vue.ComponentOptionsMixin, {
8364
- load: (e: Event) => any;
8365
8373
  error: (e: Event) => any;
8374
+ load: (e: Event) => any;
8366
8375
  loadstart: (src: string) => any;
8367
8376
  }, string, _$vue.PublicProps, Readonly<ImageImgProps> & Readonly<{
8368
- onLoad?: ((e: Event) => any) | undefined;
8369
8377
  onError?: ((e: Event) => any) | undefined;
8378
+ onLoad?: ((e: Event) => any) | undefined;
8370
8379
  onLoadstart?: ((src: string) => any) | undefined;
8371
8380
  }>, {}, {}, {}, {}, string, _$vue.ComponentProvideOptions, false, {}, any>, {
8372
8381
  default: (props: ImageImgSlotProps) => any;
@@ -8483,12 +8492,12 @@ declare const Image: {
8483
8492
  */
8484
8493
  Img: {
8485
8494
  new (...args: any[]): _$vue.CreateComponentPublicInstanceWithMixins<Readonly<ImageImgProps> & Readonly<{
8486
- onLoad?: ((e: Event) => any) | undefined;
8487
8495
  onError?: ((e: Event) => any) | undefined;
8496
+ onLoad?: ((e: Event) => any) | undefined;
8488
8497
  onLoadstart?: ((src: string) => any) | undefined;
8489
8498
  }>, {}, {}, {}, {}, _$vue.ComponentOptionsMixin, _$vue.ComponentOptionsMixin, {
8490
- load: (e: Event) => any;
8491
8499
  error: (e: Event) => any;
8500
+ load: (e: Event) => any;
8492
8501
  loadstart: (src: string) => any;
8493
8502
  }, _$vue.PublicProps, {}, false, {}, {}, _$vue.GlobalComponents, _$vue.GlobalDirectives, string, {}, any, _$vue.ComponentProvideOptions, {
8494
8503
  P: {};
@@ -8498,20 +8507,20 @@ declare const Image: {
8498
8507
  M: {};
8499
8508
  Defaults: {};
8500
8509
  }, Readonly<ImageImgProps> & Readonly<{
8501
- onLoad?: ((e: Event) => any) | undefined;
8502
8510
  onError?: ((e: Event) => any) | undefined;
8511
+ onLoad?: ((e: Event) => any) | undefined;
8503
8512
  onLoadstart?: ((src: string) => any) | undefined;
8504
8513
  }>, {}, {}, {}, {}, {}>;
8505
8514
  __isFragment?: never;
8506
8515
  __isTeleport?: never;
8507
8516
  __isSuspense?: never;
8508
8517
  } & _$vue.ComponentOptionsBase<Readonly<ImageImgProps> & Readonly<{
8509
- onLoad?: ((e: Event) => any) | undefined;
8510
8518
  onError?: ((e: Event) => any) | undefined;
8519
+ onLoad?: ((e: Event) => any) | undefined;
8511
8520
  onLoadstart?: ((src: string) => any) | undefined;
8512
8521
  }>, {}, {}, {}, {}, _$vue.ComponentOptionsMixin, _$vue.ComponentOptionsMixin, {
8513
- load: (e: Event) => any;
8514
8522
  error: (e: Event) => any;
8523
+ load: (e: Event) => any;
8515
8524
  loadstart: (src: string) => any;
8516
8525
  }, string, {}, {}, string, {}, _$vue.GlobalComponents, _$vue.GlobalDirectives, string, _$vue.ComponentProvideOptions> & _$vue.VNodeProps & _$vue.AllowedComponentProps & _$vue.ComponentCustomProps & (new () => {
8517
8526
  $slots: {
@@ -11540,7 +11549,7 @@ interface SliderContext extends Omit<ModelContext<SliderTicketInput, SliderTicke
11540
11549
  * @param value Raw value to set.
11541
11550
  *
11542
11551
  * @remarks
11543
- * No-op when `readonly` is `true`. The value is snapped to step, clamped to min/max,
11552
+ * No-op when `disabled` or `readonly` is `true`. The value is snapped to step, clamped to min/max,
11544
11553
  * and constrained by adjacent thumbs when `crossover` is `false`.
11545
11554
  *
11546
11555
  * @see {@link up} and {@link down} for relative adjustments.
@@ -11817,7 +11826,7 @@ interface TokenAlias<T = unknown> {
11817
11826
  $deprecated?: boolean | string;
11818
11827
  }
11819
11828
  type TokenPrimitive = string | number | boolean | null | Function;
11820
- type TokenValue = TokenPrimitive | TokenAlias;
11829
+ type TokenValue = TokenPrimitive | TokenAlias | TokenCollection;
11821
11830
  interface TokenCollection {
11822
11831
  [key: string]: TokenValue | TokenCollection;
11823
11832
  }
@@ -18166,6 +18175,8 @@ interface PopoverActivatorSlotProps {
18166
18175
  attrs: {
18167
18176
  'popovertarget': string;
18168
18177
  'type': 'button' | undefined;
18178
+ 'aria-expanded': boolean;
18179
+ 'aria-controls': string;
18169
18180
  'data-open': true | undefined;
18170
18181
  'style': Record<string, string>;
18171
18182
  };
@@ -19902,10 +19913,11 @@ interface ScrimSlotProps {
19902
19913
  dismiss: () => void;
19903
19914
  /** Attributes to bind to the scrim element */
19904
19915
  attrs: {
19905
- style: {
19916
+ 'aria-hidden': 'true';
19917
+ 'style': {
19906
19918
  zIndex: number;
19907
19919
  };
19908
- onClick: () => void;
19920
+ 'onClick': () => void;
19909
19921
  };
19910
19922
  }
19911
19923
  declare const _default$115: typeof __VLS_export$53;
@@ -20028,6 +20040,9 @@ interface SelectActivatorSlotProps {
20028
20040
  'aria-expanded': boolean;
20029
20041
  'aria-haspopup': 'listbox';
20030
20042
  'aria-controls': string;
20043
+ 'aria-disabled': boolean;
20044
+ 'disabled': true | undefined;
20045
+ 'tabindex': 0 | undefined;
20031
20046
  'data-open': true | undefined;
20032
20047
  'style': Record<string, string>;
20033
20048
  'onClick': () => void;
@@ -20088,6 +20103,7 @@ interface SelectContentSlotProps {
20088
20103
  'id': string;
20089
20104
  'popover': '';
20090
20105
  'role': 'listbox';
20106
+ 'aria-labelledby': string;
20091
20107
  'aria-multiselectable': true | undefined;
20092
20108
  'tabindex': -1;
20093
20109
  'style': Record<string, string>;
@@ -20978,6 +20994,10 @@ interface SliderRootProps extends AtomProps {
20978
20994
  name?: string;
20979
20995
  /** Associate with form by ID */
20980
20996
  form?: string;
20997
+ /** Accessible name for the group */
20998
+ label?: string;
20999
+ /** ID of element that labels this group */
21000
+ ariaLabelledby?: string;
20981
21001
  /** Namespace for context provision */
20982
21002
  namespace?: string;
20983
21003
  }
@@ -21014,6 +21034,9 @@ interface SliderRootSlotProps {
21014
21034
  ceil: (index: number) => void;
21015
21035
  /** Pre-computed attributes for binding */
21016
21036
  attrs: {
21037
+ 'role': 'group';
21038
+ 'aria-label': string | undefined;
21039
+ 'aria-labelledby': string | undefined;
21017
21040
  'data-disabled': true | undefined;
21018
21041
  'data-readonly': true | undefined;
21019
21042
  'data-orientation': 'horizontal' | 'vertical';
@@ -22438,7 +22461,7 @@ interface SwitchRootSlotProps<V = unknown> {
22438
22461
  attrs: {
22439
22462
  'type': 'button' | undefined;
22440
22463
  'role': 'switch';
22441
- 'aria-checked': boolean | 'mixed';
22464
+ 'aria-checked': boolean;
22442
22465
  'aria-disabled': boolean;
22443
22466
  'aria-label': string | undefined;
22444
22467
  'aria-labelledby': string | undefined;
@@ -22507,7 +22530,7 @@ interface SwitchSelectAllSlotProps {
22507
22530
  attrs: {
22508
22531
  'type': 'button' | undefined;
22509
22532
  'role': 'switch';
22510
- 'aria-checked': boolean | 'mixed';
22533
+ 'aria-checked': boolean;
22511
22534
  'aria-disabled': boolean;
22512
22535
  'aria-label': string | undefined;
22513
22536
  'aria-labelledby': string | undefined;
@@ -22539,12 +22562,10 @@ interface SwitchThumbSlotProps {
22539
22562
  isChecked: boolean;
22540
22563
  /** Whether the parent switch is in a mixed/indeterminate state */
22541
22564
  isMixed: boolean;
22542
- /** Pre-computed data attributes and visibility style for styling */
22565
+ /** Pre-computed data attributes for styling */
22543
22566
  attrs: {
22567
+ 'aria-hidden': 'true';
22544
22568
  'data-state': SwitchState;
22545
- 'style': {
22546
- visibility: 'visible' | 'hidden';
22547
- };
22548
22569
  };
22549
22570
  }
22550
22571
  declare const _default$146: typeof __VLS_export$22;
@@ -22569,6 +22590,7 @@ interface SwitchTrackSlotProps {
22569
22590
  isMixed: boolean;
22570
22591
  /** Pre-computed data attributes for styling */
22571
22592
  attrs: {
22593
+ 'aria-hidden': 'true';
22572
22594
  'data-state': SwitchState;
22573
22595
  };
22574
22596
  }
@@ -22820,10 +22842,10 @@ declare const Switch: {
22820
22842
  };
22821
22843
  });
22822
22844
  /**
22823
- * Sliding knob indicator for switches.
22845
+ * Sliding knob for switches.
22824
22846
  *
22825
- * Renders as a span with `data-state` attribute for CSS styling.
22826
- * Hidden via `visibility: hidden` when unchecked and not mixed.
22847
+ * Renders as a span with a `data-state` attribute for CSS styling.
22848
+ * Always visible; drive its off/on position and color from `data-state`.
22827
22849
  * Must be used within a Switch.Root or Switch.SelectAll.
22828
22850
  *
22829
22851
  * @see https://0.vuetifyjs.com/components/forms/switch
@@ -23303,6 +23325,12 @@ interface ToggleGroupProps extends AtomProps {
23303
23325
  mandatory?: boolean | 'force';
23304
23326
  /** Layout direction for ARIA */
23305
23327
  orientation?: ToggleOrientation;
23328
+ /** Accessible name for the group */
23329
+ label?: string;
23330
+ /** ID of element that labels this group */
23331
+ ariaLabelledby?: string;
23332
+ /** ID of element that describes this group */
23333
+ ariaDescribedby?: string;
23306
23334
  }
23307
23335
  interface ToggleGroupSlotProps {
23308
23336
  /** Whether the toggle group is disabled */
@@ -23310,6 +23338,9 @@ interface ToggleGroupSlotProps {
23310
23338
  /** Attributes to bind to the root element */
23311
23339
  attrs: {
23312
23340
  'role': 'group';
23341
+ 'aria-label': string | undefined;
23342
+ 'aria-labelledby': string | undefined;
23343
+ 'aria-describedby': string | undefined;
23313
23344
  'aria-orientation': ToggleOrientation;
23314
23345
  'aria-disabled': boolean;
23315
23346
  'data-orientation': ToggleOrientation;
@@ -23483,6 +23514,9 @@ declare const Toggle: {
23483
23514
  multiple?: boolean | undefined;
23484
23515
  mandatory?: boolean | "force" | undefined;
23485
23516
  orientation?: ToggleOrientation | undefined;
23517
+ label?: string | undefined;
23518
+ ariaLabelledby?: string | undefined;
23519
+ ariaDescribedby?: string | undefined;
23486
23520
  as?: (DOMElement | null) | undefined;
23487
23521
  renderless?: boolean | undefined;
23488
23522
  modelValue?: (T | T[]) | undefined;
@@ -23692,6 +23726,7 @@ interface TooltipActivatorSlotProps {
23692
23726
  'onClick': () => void;
23693
23727
  'onKeydown': (e: KeyboardEvent) => void;
23694
23728
  };
23729
+ styles: Record<string, string>;
23695
23730
  }
23696
23731
  declare const _default$156: typeof __VLS_export$11;
23697
23732
  declare const __VLS_export$11: __VLS_WithSlots$9<_$vue.DefineComponent<TooltipActivatorProps, {}, {}, {}, {}, _$vue.ComponentOptionsMixin, _$vue.ComponentOptionsMixin, {}, string, _$vue.PublicProps, Readonly<TooltipActivatorProps> & Readonly<{}>, {}, {}, {}, {}, string, _$vue.ComponentProvideOptions, false, {}, any>, {
@@ -23718,6 +23753,7 @@ interface TooltipContentSlotProps {
23718
23753
  'data-interactive': true | undefined;
23719
23754
  'onPointerenter': (e: PointerEvent) => void;
23720
23755
  'onPointerleave': (e: PointerEvent) => void;
23756
+ 'onKeydown': (e: KeyboardEvent) => void;
23721
23757
  };
23722
23758
  styles: Record<string, string>;
23723
23759
  }
@@ -24051,6 +24087,7 @@ interface TreeviewItemSlotProps<V = unknown> {
24051
24087
  'aria-expanded': boolean | undefined;
24052
24088
  'aria-level': number;
24053
24089
  'aria-posinset': number;
24090
+ 'aria-current': 'true' | undefined;
24054
24091
  'aria-selected': boolean;
24055
24092
  'aria-setsize': number;
24056
24093
  'data-active': true | undefined;