@vuetify/nightly 3.8.6-master.2025-05-26 → 3.8.7-dev.2025-05-27

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 (117) hide show
  1. package/CHANGELOG.md +24 -24
  2. package/dist/json/attributes.json +3294 -3218
  3. package/dist/json/importMap-labs.json +26 -26
  4. package/dist/json/importMap.json +192 -192
  5. package/dist/json/tags.json +19 -0
  6. package/dist/json/web-types.json +5776 -5504
  7. package/dist/vuetify-labs.cjs +305 -128
  8. package/dist/vuetify-labs.css +5202 -5174
  9. package/dist/vuetify-labs.d.ts +1580 -1351
  10. package/dist/vuetify-labs.esm.js +306 -129
  11. package/dist/vuetify-labs.esm.js.map +1 -1
  12. package/dist/vuetify-labs.js +305 -128
  13. package/dist/vuetify-labs.min.css +2 -2
  14. package/dist/vuetify.cjs +299 -117
  15. package/dist/vuetify.cjs.map +1 -1
  16. package/dist/vuetify.css +4512 -4484
  17. package/dist/vuetify.d.ts +739 -518
  18. package/dist/vuetify.esm.js +300 -118
  19. package/dist/vuetify.esm.js.map +1 -1
  20. package/dist/vuetify.js +299 -117
  21. package/dist/vuetify.js.map +1 -1
  22. package/dist/vuetify.min.css +2 -2
  23. package/dist/vuetify.min.js +1194 -1184
  24. package/dist/vuetify.min.js.map +1 -1
  25. package/lib/components/VAlert/VAlert.css +6 -1
  26. package/lib/components/VAlert/VAlert.d.ts +35 -0
  27. package/lib/components/VAlert/VAlert.js +15 -10
  28. package/lib/components/VAlert/VAlert.js.map +1 -1
  29. package/lib/components/VAlert/VAlert.sass +7 -1
  30. package/lib/components/VAutocomplete/VAutocomplete.d.ts +133 -96
  31. package/lib/components/VAutocomplete/VAutocomplete.js +19 -2
  32. package/lib/components/VAutocomplete/VAutocomplete.js.map +1 -1
  33. package/lib/components/VBtnGroup/VBtnGroup.css +30 -7
  34. package/lib/components/VBtnGroup/VBtnGroup.d.ts +58 -32
  35. package/lib/components/VBtnGroup/VBtnGroup.js +7 -3
  36. package/lib/components/VBtnGroup/VBtnGroup.js.map +1 -1
  37. package/lib/components/VBtnGroup/VBtnGroup.sass +44 -17
  38. package/lib/components/VBtnToggle/VBtnToggle.d.ts +25 -0
  39. package/lib/components/VCheckbox/VCheckbox.d.ts +3 -3
  40. package/lib/components/VChipGroup/VChipGroup.d.ts +10 -0
  41. package/lib/components/VCombobox/VCombobox.d.ts +133 -96
  42. package/lib/components/VCombobox/VCombobox.js +20 -2
  43. package/lib/components/VCombobox/VCombobox.js.map +1 -1
  44. package/lib/components/VDataTable/VDataTable.d.ts +18 -0
  45. package/lib/components/VDataTable/VDataTableHeaders.d.ts +13 -0
  46. package/lib/components/VDataTable/VDataTableHeaders.js +4 -2
  47. package/lib/components/VDataTable/VDataTableHeaders.js.map +1 -1
  48. package/lib/components/VDataTable/VDataTableServer.d.ts +13 -0
  49. package/lib/components/VDataTable/VDataTableVirtual.d.ts +13 -0
  50. package/lib/components/VDatePicker/VDatePicker.d.ts +10 -0
  51. package/lib/components/VDatePicker/VDatePickerMonth.d.ts +10 -0
  52. package/lib/components/VDatePicker/VDatePickerMonth.js +1 -1
  53. package/lib/components/VDatePicker/VDatePickerMonth.js.map +1 -1
  54. package/lib/components/VField/VField.d.ts +3 -3
  55. package/lib/components/VFileInput/VFileInput.d.ts +15 -15
  56. package/lib/components/VInput/VInput.d.ts +4 -4
  57. package/lib/components/VList/VListChildren.js.map +1 -1
  58. package/lib/components/VNumberInput/VNumberInput.d.ts +103 -89
  59. package/lib/components/VNumberInput/VNumberInput.js +19 -4
  60. package/lib/components/VNumberInput/VNumberInput.js.map +1 -1
  61. package/lib/components/VOtpInput/VOtpInput.js +2 -1
  62. package/lib/components/VOtpInput/VOtpInput.js.map +1 -1
  63. package/lib/components/VOverlay/VOverlay.css +1 -1
  64. package/lib/components/VOverlay/_variables.scss +1 -1
  65. package/lib/components/VRadioGroup/VRadioGroup.d.ts +3 -3
  66. package/lib/components/VRangeSlider/VRangeSlider.d.ts +3 -3
  67. package/lib/components/VSelect/VSelect.d.ts +138 -96
  68. package/lib/components/VSelect/VSelect.js +21 -3
  69. package/lib/components/VSelect/VSelect.js.map +1 -1
  70. package/lib/components/VSlideGroup/VSlideGroup.d.ts +10 -0
  71. package/lib/components/VSlideGroup/VSlideGroup.js +2 -1
  72. package/lib/components/VSlideGroup/VSlideGroup.js.map +1 -1
  73. package/lib/components/VSlider/VSlider.d.ts +3 -3
  74. package/lib/components/VSwitch/VSwitch.d.ts +3 -3
  75. package/lib/components/VTabs/VTabs.d.ts +10 -0
  76. package/lib/components/VTextField/VTextField.d.ts +27 -27
  77. package/lib/components/VTextarea/VTextarea.d.ts +15 -15
  78. package/lib/composables/calendar.d.ts +6 -0
  79. package/lib/composables/calendar.js +2 -1
  80. package/lib/composables/calendar.js.map +1 -1
  81. package/lib/composables/date/DateAdapter.d.ts +1 -1
  82. package/lib/composables/date/DateAdapter.js.map +1 -1
  83. package/lib/composables/date/adapters/vuetify.d.ts +1 -1
  84. package/lib/composables/date/adapters/vuetify.js +4 -4
  85. package/lib/composables/date/adapters/vuetify.js.map +1 -1
  86. package/lib/composables/date/date.d.ts +1 -1
  87. package/lib/composables/date/index.d.ts +1 -0
  88. package/lib/composables/date/index.js +1 -0
  89. package/lib/composables/date/index.js.map +1 -1
  90. package/lib/composables/filter.js +3 -0
  91. package/lib/composables/filter.js.map +1 -1
  92. package/lib/composables/iconSizes.d.ts +28 -0
  93. package/lib/composables/iconSizes.js +23 -0
  94. package/lib/composables/iconSizes.js.map +1 -0
  95. package/lib/composables/theme.d.ts +6 -1
  96. package/lib/composables/theme.js +94 -26
  97. package/lib/composables/theme.js.map +1 -1
  98. package/lib/composables/virtual.js +6 -1
  99. package/lib/composables/virtual.js.map +1 -1
  100. package/lib/entry-bundler.d.ts +1 -1
  101. package/lib/entry-bundler.js +1 -1
  102. package/lib/entry-bundler.js.map +1 -1
  103. package/lib/framework.d.ts +73 -68
  104. package/lib/framework.js +1 -1
  105. package/lib/framework.js.map +1 -1
  106. package/lib/labs/VCalendar/VCalendar.d.ts +10 -0
  107. package/lib/labs/VColorInput/VColorInput.d.ts +3 -3
  108. package/lib/labs/VDateInput/VDateInput.d.ts +97 -87
  109. package/lib/labs/VFileUpload/VFileUpload.d.ts +3 -3
  110. package/lib/labs/VIconBtn/VIconBtn.d.ts +29 -29
  111. package/lib/labs/VIconBtn/VIconBtn.js +7 -11
  112. package/lib/labs/VIconBtn/VIconBtn.js.map +1 -1
  113. package/lib/labs/entry-bundler.d.ts +1 -1
  114. package/lib/util/globals.d.ts +1 -0
  115. package/lib/util/globals.js +1 -0
  116. package/lib/util/globals.js.map +1 -1
  117. package/package.json +3 -1
@@ -322,8 +322,8 @@ export declare const VFileUpload: {
322
322
  rounded?: string | number | boolean | undefined;
323
323
  closeDelay?: string | number | undefined;
324
324
  openDelay?: string | number | undefined;
325
- subtitle?: string | undefined;
326
325
  thickness?: string | number | undefined;
326
+ subtitle?: string | undefined;
327
327
  } & {
328
328
  $children?: import("vue").VNodeChild | (() => import("vue").VNodeChild) | {
329
329
  browse?: ((arg: {
@@ -468,8 +468,8 @@ export declare const VFileUpload: {
468
468
  rounded?: string | number | boolean | undefined;
469
469
  closeDelay?: string | number | undefined;
470
470
  openDelay?: string | number | undefined;
471
- subtitle?: string | undefined;
472
471
  thickness?: string | number | undefined;
472
+ subtitle?: string | undefined;
473
473
  } & {
474
474
  $children?: import("vue").VNodeChild | (() => import("vue").VNodeChild) | {
475
475
  browse?: ((arg: {
@@ -590,8 +590,8 @@ export declare const VFileUpload: {
590
590
  rounded?: string | number | boolean | undefined;
591
591
  closeDelay?: string | number | undefined;
592
592
  openDelay?: string | number | undefined;
593
- subtitle?: string | undefined;
594
593
  thickness?: string | number | undefined;
594
+ subtitle?: string | undefined;
595
595
  } & {
596
596
  $children?: import("vue").VNodeChild | (() => import("vue").VNodeChild) | {
597
597
  browse?: ((arg: {
@@ -13,6 +13,8 @@ export declare const makeVIconBtnProps: <Defaults extends {
13
13
  tag?: unknown;
14
14
  rounded?: unknown;
15
15
  tile?: unknown;
16
+ iconSize?: unknown;
17
+ iconSizes?: unknown;
16
18
  elevation?: unknown;
17
19
  class?: unknown;
18
20
  style?: unknown;
@@ -28,8 +30,6 @@ export declare const makeVIconBtnProps: <Defaults extends {
28
30
  hideOverlay?: unknown;
29
31
  icon?: unknown;
30
32
  iconColor?: unknown;
31
- iconSize?: unknown;
32
- iconSizes?: unknown;
33
33
  loading?: unknown;
34
34
  opacity?: unknown;
35
35
  readonly?: unknown;
@@ -94,6 +94,20 @@ export declare const makeVIconBtnProps: <Defaults extends {
94
94
  type: PropType<unknown extends Defaults["tile"] ? boolean : boolean | Defaults["tile"]>;
95
95
  default: unknown extends Defaults["tile"] ? boolean : boolean | Defaults["tile"];
96
96
  };
97
+ iconSize: unknown extends Defaults["iconSize"] ? PropType<string | number> : {
98
+ type: PropType<unknown extends Defaults["iconSize"] ? string | number : string | number | Defaults["iconSize"]>;
99
+ default: unknown extends Defaults["iconSize"] ? string | number : NonNullable<string | number> | Defaults["iconSize"];
100
+ };
101
+ iconSizes: unknown extends Defaults["iconSizes"] ? {
102
+ type: PropType<[VIconBtnSizes, number][]>;
103
+ default: () => (string | number)[][];
104
+ } : Omit<{
105
+ type: PropType<[VIconBtnSizes, number][]>;
106
+ default: () => (string | number)[][];
107
+ }, "type" | "default"> & {
108
+ type: PropType<unknown extends Defaults["iconSizes"] ? [VIconBtnSizes, number][] : [VIconBtnSizes, number][] | Defaults["iconSizes"]>;
109
+ default: unknown extends Defaults["iconSizes"] ? [VIconBtnSizes, number][] : [VIconBtnSizes, number][] | Defaults["iconSizes"];
110
+ };
97
111
  elevation: unknown extends Defaults["elevation"] ? {
98
112
  type: (StringConstructor | NumberConstructor)[];
99
113
  validator(v: any): boolean;
@@ -178,20 +192,6 @@ export declare const makeVIconBtnProps: <Defaults extends {
178
192
  type: PropType<unknown extends Defaults["iconColor"] ? string : string | Defaults["iconColor"]>;
179
193
  default: unknown extends Defaults["iconColor"] ? string : string | Defaults["iconColor"];
180
194
  };
181
- iconSize: unknown extends Defaults["iconSize"] ? PropType<string | number> : {
182
- type: PropType<unknown extends Defaults["iconSize"] ? string | number : string | number | Defaults["iconSize"]>;
183
- default: unknown extends Defaults["iconSize"] ? string | number : NonNullable<string | number> | Defaults["iconSize"];
184
- };
185
- iconSizes: unknown extends Defaults["iconSizes"] ? {
186
- type: PropType<[VIconBtnSizes, number][]>;
187
- default: () => (string | number)[][];
188
- } : Omit<{
189
- type: PropType<[VIconBtnSizes, number][]>;
190
- default: () => (string | number)[][];
191
- }, "type" | "default"> & {
192
- type: PropType<unknown extends Defaults["iconSizes"] ? [VIconBtnSizes, number][] : [VIconBtnSizes, number][] | Defaults["iconSizes"]>;
193
- default: unknown extends Defaults["iconSizes"] ? [VIconBtnSizes, number][] : [VIconBtnSizes, number][] | Defaults["iconSizes"];
194
- };
195
195
  loading: unknown extends Defaults["loading"] ? BooleanConstructor : {
196
196
  type: PropType<unknown extends Defaults["loading"] ? boolean : boolean | Defaults["loading"]>;
197
197
  default: unknown extends Defaults["loading"] ? boolean : boolean | Defaults["loading"];
@@ -269,9 +269,9 @@ export declare const VIconBtn: {
269
269
  rounded?: string | number | boolean | undefined;
270
270
  activeColor?: string | undefined;
271
271
  iconColor?: string | undefined;
272
+ iconSize?: string | number | undefined;
272
273
  activeIcon?: IconValue | undefined;
273
274
  activeVariant?: "flat" | "text" | "elevated" | "tonal" | "outlined" | "plain" | undefined;
274
- iconSize?: string | number | undefined;
275
275
  } & {
276
276
  $children?: import("vue").VNodeChild | (() => import("vue").VNodeChild) | {
277
277
  default?: (() => import("vue").VNodeChild) | undefined;
@@ -343,9 +343,9 @@ export declare const VIconBtn: {
343
343
  rounded?: string | number | boolean | undefined;
344
344
  activeColor?: string | undefined;
345
345
  iconColor?: string | undefined;
346
+ iconSize?: string | number | undefined;
346
347
  activeIcon?: IconValue | undefined;
347
348
  activeVariant?: "flat" | "text" | "elevated" | "tonal" | "outlined" | "plain" | undefined;
348
- iconSize?: string | number | undefined;
349
349
  } & {
350
350
  $children?: import("vue").VNodeChild | (() => import("vue").VNodeChild) | {
351
351
  default?: (() => import("vue").VNodeChild) | undefined;
@@ -409,9 +409,9 @@ export declare const VIconBtn: {
409
409
  rounded?: string | number | boolean | undefined;
410
410
  activeColor?: string | undefined;
411
411
  iconColor?: string | undefined;
412
+ iconSize?: string | number | undefined;
412
413
  activeIcon?: IconValue | undefined;
413
414
  activeVariant?: "flat" | "text" | "elevated" | "tonal" | "outlined" | "plain" | undefined;
414
- iconSize?: string | number | undefined;
415
415
  } & {
416
416
  $children?: import("vue").VNodeChild | (() => import("vue").VNodeChild) | {
417
417
  default?: (() => import("vue").VNodeChild) | undefined;
@@ -470,6 +470,11 @@ export declare const VIconBtn: {
470
470
  default: undefined;
471
471
  };
472
472
  tile: BooleanConstructor;
473
+ iconSize: PropType<VIconBtnSizes | number | string>;
474
+ iconSizes: {
475
+ type: PropType<[VIconBtnSizes, number][]>;
476
+ default: () => (string | number)[][];
477
+ };
473
478
  elevation: {
474
479
  type: (StringConstructor | NumberConstructor)[];
475
480
  validator(v: any): boolean;
@@ -497,11 +502,6 @@ export declare const VIconBtn: {
497
502
  hideOverlay: BooleanConstructor;
498
503
  icon: PropType<IconValue>;
499
504
  iconColor: StringConstructor;
500
- iconSize: PropType<VIconBtnSizes | number | string>;
501
- iconSizes: {
502
- type: PropType<[VIconBtnSizes, number][]>;
503
- default: () => (string | number)[][];
504
- };
505
505
  loading: BooleanConstructor;
506
506
  opacity: (StringConstructor | NumberConstructor)[];
507
507
  readonly: BooleanConstructor;
@@ -541,6 +541,11 @@ export declare const VIconBtn: {
541
541
  default: undefined;
542
542
  };
543
543
  tile: BooleanConstructor;
544
+ iconSize: PropType<VIconBtnSizes | number | string>;
545
+ iconSizes: {
546
+ type: PropType<[VIconBtnSizes, number][]>;
547
+ default: () => (string | number)[][];
548
+ };
544
549
  elevation: {
545
550
  type: (StringConstructor | NumberConstructor)[];
546
551
  validator(v: any): boolean;
@@ -568,11 +573,6 @@ export declare const VIconBtn: {
568
573
  hideOverlay: BooleanConstructor;
569
574
  icon: PropType<IconValue>;
570
575
  iconColor: StringConstructor;
571
- iconSize: PropType<VIconBtnSizes | number | string>;
572
- iconSizes: {
573
- type: PropType<[VIconBtnSizes, number][]>;
574
- default: () => (string | number)[][];
575
- };
576
576
  loading: BooleanConstructor;
577
577
  opacity: (StringConstructor | NumberConstructor)[];
578
578
  readonly: BooleanConstructor;
@@ -9,6 +9,7 @@ import { VProgressCircular } from "../../components/VProgressCircular/index.js";
9
9
  import { makeBorderProps, useBorder } from "../../composables/border.js";
10
10
  import { makeComponentProps } from "../../composables/component.js";
11
11
  import { makeElevationProps, useElevation } from "../../composables/elevation.js";
12
+ import { makeIconSizeProps, useIconSizes } from "../../composables/iconSizes.js";
12
13
  import { useProxiedModel } from "../../composables/proxiedModel.js";
13
14
  import { makeRoundedProps, useRounded } from "../../composables/rounded.js";
14
15
  import { makeTagProps } from "../../composables/tag.js";
@@ -34,11 +35,6 @@ export const makeVIconBtnProps = propsFactory({
34
35
  hideOverlay: Boolean,
35
36
  icon: [String, Function, Object],
36
37
  iconColor: String,
37
- iconSize: [Number, String],
38
- iconSizes: {
39
- type: Array,
40
- default: () => [['x-small', 10], ['small', 16], ['default', 24], ['large', 28], ['x-large', 32]]
41
- },
42
38
  loading: Boolean,
43
39
  opacity: [Number, String],
44
40
  readonly: Boolean,
@@ -58,6 +54,7 @@ export const makeVIconBtnProps = propsFactory({
58
54
  ...makeBorderProps(),
59
55
  ...makeComponentProps(),
60
56
  ...makeElevationProps(),
57
+ ...makeIconSizeProps(),
61
58
  ...makeRoundedProps(),
62
59
  ...makeTagProps({
63
60
  tag: 'button'
@@ -112,7 +109,6 @@ export const VIconBtn = genericComponent()({
112
109
  })()
113
110
  }));
114
111
  const btnSizeMap = new Map(props.sizes);
115
- const iconSizeMap = new Map(props.iconSizes);
116
112
  function onClick() {
117
113
  if (props.disabled || props.readonly || isActive.value === undefined || props.tag === 'a' && attrs.href) return;
118
114
  isActive.value = !isActive.value;
@@ -124,12 +120,12 @@ export const VIconBtn = genericComponent()({
124
120
  const btnSize = hasNamedSize ? btnSizeMap.get(_btnSize) : _btnSize;
125
121
  const btnHeight = props.height ?? btnSize;
126
122
  const btnWidth = props.width ?? btnSize;
127
- const _iconSize = props.iconSize;
128
- const hasNamedIconSize = iconSizeMap.has(_iconSize);
129
- const iconSize = !_iconSize ? hasNamedSize ? iconSizeMap.get(_btnSize) : iconSizeMap.get('default') : hasNamedIconSize ? iconSizeMap.get(_iconSize) : _iconSize;
123
+ const {
124
+ iconSize
125
+ } = useIconSizes(props, () => new Map(props.iconSizes).get(_btnSize));
130
126
  const iconProps = {
131
127
  icon,
132
- size: iconSize,
128
+ size: iconSize.value,
133
129
  iconColor: props.iconColor,
134
130
  opacity: props.opacity
135
131
  };
@@ -172,7 +168,7 @@ export const VIconBtn = genericComponent()({
172
168
  "color": typeof props.loading === 'boolean' ? undefined : props.loading,
173
169
  "indeterminate": "disable-shrink",
174
170
  "width": "2",
175
- "size": iconSize
171
+ "size": iconSize.value
176
172
  }, null)])]
177
173
  });
178
174
  });
@@ -1 +1 @@
1
- {"version":3,"file":"VIconBtn.js","names":["VDefaultsProvider","VIcon","VProgressCircular","makeBorderProps","useBorder","makeComponentProps","makeElevationProps","useElevation","useProxiedModel","makeRoundedProps","useRounded","makeTagProps","makeThemeProps","provideTheme","genOverlays","makeVariantProps","useVariant","toDisplayString","convertToUnit","genericComponent","propsFactory","useRender","makeVIconBtnProps","active","type","Boolean","default","undefined","activeColor","String","activeIcon","Function","Object","activeVariant","baseVariant","disabled","height","Number","width","hideOverlay","icon","iconColor","iconSize","iconSizes","Array","loading","opacity","readonly","rotate","size","sizes","text","tag","variant","VIconBtn","name","props","emits","value","setup","_ref","attrs","slots","isActive","themeClasses","borderClasses","elevationClasses","roundedClasses","colorClasses","colorStyles","variantClasses","color","btnSizeMap","Map","iconSizeMap","onClick","href","_btnSize","hasNamedSize","has","btnSize","get","btnHeight","btnWidth","_iconSize","hasNamedIconSize","iconProps","_createVNode","_normalizeClass","class","_normalizeStyle","style","_createElementVNode","_mergeProps","loader"],"sources":["../../../src/labs/VIconBtn/VIconBtn.tsx"],"sourcesContent":["// Styles\nimport './VIconBtn.scss'\n\n// Components\nimport { VDefaultsProvider } from '@/components/VDefaultsProvider'\nimport { VIcon } from '@/components/VIcon'\nimport { VProgressCircular } from '@/components/VProgressCircular'\n\n// Composables\nimport { makeBorderProps, useBorder } from '@/composables/border'\nimport { makeComponentProps } from '@/composables/component'\nimport { makeElevationProps, useElevation } from '@/composables/elevation'\nimport { useProxiedModel } from '@/composables/proxiedModel'\nimport { makeRoundedProps, useRounded } from '@/composables/rounded'\nimport { makeTagProps } from '@/composables/tag'\nimport { makeThemeProps, provideTheme } from '@/composables/theme'\nimport { genOverlays, makeVariantProps, useVariant } from '@/composables/variant'\n\n// Utilities\nimport { toDisplayString } from 'vue'\nimport { convertToUnit, genericComponent, propsFactory, useRender } from '@/util'\n\n// Types\nimport type { PropType } from 'vue'\nimport type { IconValue } from '@/composables/icons'\nimport type { Variant } from '@/composables/variant'\n\nexport type VIconBtnSlots = {\n default: never\n loader: never\n}\n\nexport type VIconBtnSizes = 'x-small' | 'small' | 'default' | 'large' | 'x-large'\n\nexport const makeVIconBtnProps = propsFactory({\n active: {\n type: Boolean,\n default: undefined,\n },\n activeColor: String,\n activeIcon: [String, Function, Object] as PropType<IconValue>,\n activeVariant: String as PropType<Variant>,\n baseVariant: {\n type: String as PropType<Variant>,\n default: 'tonal',\n },\n disabled: Boolean,\n height: [Number, String],\n width: [Number, String],\n hideOverlay: Boolean,\n icon: [String, Function, Object] as PropType<IconValue>,\n iconColor: String,\n iconSize: [Number, String] as PropType<VIconBtnSizes | number | string>,\n iconSizes: {\n type: Array as PropType<[VIconBtnSizes, number][]>,\n default: () => ([\n ['x-small', 10],\n ['small', 16],\n ['default', 24],\n ['large', 28],\n ['x-large', 32],\n ]),\n },\n loading: Boolean,\n opacity: [Number, String],\n readonly: Boolean,\n rotate: [Number, String],\n size: {\n type: [Number, String] as PropType<VIconBtnSizes | number | string>,\n default: 'default',\n },\n sizes: {\n type: Array as PropType<[VIconBtnSizes, number][]>,\n default: () => ([\n ['x-small', 16],\n ['small', 24],\n ['default', 40],\n ['large', 48],\n ['x-large', 56],\n ]),\n },\n text: {\n type: [String, Number, Boolean],\n default: undefined,\n },\n\n ...makeBorderProps(),\n ...makeComponentProps(),\n ...makeElevationProps(),\n ...makeRoundedProps(),\n ...makeTagProps({ tag: 'button' }),\n ...makeThemeProps(),\n ...makeVariantProps({ variant: 'flat' } as const),\n}, 'VIconBtn')\n\nexport const VIconBtn = genericComponent<VIconBtnSlots>()({\n name: 'VIconBtn',\n\n props: makeVIconBtnProps(),\n\n emits: {\n 'update:active': (value: boolean) => true,\n },\n\n setup (props, { attrs, slots }) {\n const isActive = useProxiedModel(props, 'active')\n\n const { themeClasses } = provideTheme(props)\n const { borderClasses } = useBorder(props)\n const { elevationClasses } = useElevation(props)\n const { roundedClasses } = useRounded(props)\n\n const { colorClasses, colorStyles, variantClasses } = useVariant(() => ({\n color: (() => {\n if (props.disabled) return undefined\n if (!isActive.value) return props.color\n // Use an inline fallback as opposed to setting a default color\n // because non-toggle buttons are default flat whereas toggle\n // buttons are default tonal and active flat. The exact use\n // case for this is a toggle button with no active color.\n return props.activeColor ?? props.color ?? 'surface-variant'\n })(),\n variant: (() => {\n if (isActive.value === undefined) return props.variant\n if (isActive.value) return props.activeVariant ?? props.variant\n return props.baseVariant ?? props.variant\n })(),\n }))\n\n const btnSizeMap = new Map(props.sizes)\n const iconSizeMap = new Map(props.iconSizes)\n\n function onClick () {\n if (\n props.disabled ||\n props.readonly ||\n isActive.value === undefined ||\n (props.tag === 'a' && attrs.href)\n ) return\n\n isActive.value = !isActive.value\n }\n\n useRender(() => {\n const icon = isActive.value ? props.activeIcon ?? props.icon : props.icon\n\n const _btnSize = props.size as VIconBtnSizes\n const hasNamedSize = btnSizeMap.has(_btnSize)\n const btnSize = hasNamedSize ? btnSizeMap.get(_btnSize) : _btnSize\n const btnHeight = props.height ?? btnSize\n const btnWidth = props.width ?? btnSize\n\n const _iconSize = props.iconSize as VIconBtnSizes\n const hasNamedIconSize = iconSizeMap.has(_iconSize)\n\n const iconSize = !_iconSize\n ? hasNamedSize ? iconSizeMap.get(_btnSize) : iconSizeMap.get('default')\n : hasNamedIconSize ? iconSizeMap.get(_iconSize) : _iconSize\n\n const iconProps = { icon, size: iconSize, iconColor: props.iconColor, opacity: props.opacity }\n\n return (\n <props.tag\n class={[\n {\n 'v-icon-btn': true,\n 'v-icon-btn--active': isActive.value,\n 'v-icon-btn--disabled': props.disabled,\n 'v-icon-btn--loading': props.loading,\n 'v-icon-btn--readonly': props.readonly,\n [`v-icon-btn--${props.size}`]: true,\n },\n themeClasses.value,\n colorClasses.value,\n borderClasses.value,\n elevationClasses.value,\n roundedClasses.value,\n variantClasses.value,\n props.class,\n ]}\n style={[\n {\n '--v-icon-btn-rotate': convertToUnit(props.rotate, 'deg'),\n '--v-icon-btn-height': convertToUnit(btnHeight),\n '--v-icon-btn-width': convertToUnit(btnWidth),\n },\n colorStyles.value,\n props.style,\n ]}\n tabindex={ props.disabled || props.readonly ? -1 : 0 }\n onClick={ onClick }\n >\n { genOverlays(!props.hideOverlay, 'v-icon-btn') }\n\n <div class=\"v-icon-btn__content\" data-no-activator=\"\">\n { (!slots.default && icon) ? (\n <VIcon\n key=\"content-icon\"\n { ...iconProps }\n />\n ) : (\n <VDefaultsProvider\n key=\"content-defaults\"\n disabled={ !icon }\n defaults={{ VIcon: { ...iconProps } }}\n v-slots={{\n default: () => slots.default?.() ?? toDisplayString(props.text),\n }}\n />\n )}\n </div>\n\n { !!props.loading && (\n <span key=\"loader\" class=\"v-icon-btn__loader\">\n { slots.loader?.() ?? (\n <VProgressCircular\n color={ typeof props.loading === 'boolean' ? undefined : props.loading }\n indeterminate=\"disable-shrink\"\n width=\"2\"\n size={ iconSize }\n />\n )}\n </span>\n )}\n </props.tag>\n )\n })\n\n return {}\n },\n})\n\nexport type VIconBtn = InstanceType<typeof VIconBtn>\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"VIconBtn.js","names":["VDefaultsProvider","VIcon","VProgressCircular","makeBorderProps","useBorder","makeComponentProps","makeElevationProps","useElevation","makeIconSizeProps","useIconSizes","useProxiedModel","makeRoundedProps","useRounded","makeTagProps","makeThemeProps","provideTheme","genOverlays","makeVariantProps","useVariant","toDisplayString","convertToUnit","genericComponent","propsFactory","useRender","makeVIconBtnProps","active","type","Boolean","default","undefined","activeColor","String","activeIcon","Function","Object","activeVariant","baseVariant","disabled","height","Number","width","hideOverlay","icon","iconColor","loading","opacity","readonly","rotate","size","sizes","Array","text","tag","variant","VIconBtn","name","props","emits","value","setup","_ref","attrs","slots","isActive","themeClasses","borderClasses","elevationClasses","roundedClasses","colorClasses","colorStyles","variantClasses","color","btnSizeMap","Map","onClick","href","_btnSize","hasNamedSize","has","btnSize","get","btnHeight","btnWidth","iconSize","iconSizes","iconProps","_createVNode","_normalizeClass","class","_normalizeStyle","style","_createElementVNode","_mergeProps","loader"],"sources":["../../../src/labs/VIconBtn/VIconBtn.tsx"],"sourcesContent":["// Styles\nimport './VIconBtn.scss'\n\n// Components\nimport { VDefaultsProvider } from '@/components/VDefaultsProvider'\nimport { VIcon } from '@/components/VIcon'\nimport { VProgressCircular } from '@/components/VProgressCircular'\n\n// Composables\nimport { makeBorderProps, useBorder } from '@/composables/border'\nimport { makeComponentProps } from '@/composables/component'\nimport { makeElevationProps, useElevation } from '@/composables/elevation'\nimport { makeIconSizeProps, useIconSizes } from '@/composables/iconSizes'\nimport { useProxiedModel } from '@/composables/proxiedModel'\nimport { makeRoundedProps, useRounded } from '@/composables/rounded'\nimport { makeTagProps } from '@/composables/tag'\nimport { makeThemeProps, provideTheme } from '@/composables/theme'\nimport { genOverlays, makeVariantProps, useVariant } from '@/composables/variant'\n\n// Utilities\nimport { toDisplayString } from 'vue'\nimport { convertToUnit, genericComponent, propsFactory, useRender } from '@/util'\n\n// Types\nimport type { PropType } from 'vue'\nimport type { IconValue } from '@/composables/icons'\nimport type { Variant } from '@/composables/variant'\n\nexport type VIconBtnSlots = {\n default: never\n loader: never\n}\n\nexport type VIconBtnSizes = 'x-small' | 'small' | 'default' | 'large' | 'x-large'\n\nexport const makeVIconBtnProps = propsFactory({\n active: {\n type: Boolean,\n default: undefined,\n },\n activeColor: String,\n activeIcon: [String, Function, Object] as PropType<IconValue>,\n activeVariant: String as PropType<Variant>,\n baseVariant: {\n type: String as PropType<Variant>,\n default: 'tonal',\n },\n disabled: Boolean,\n height: [Number, String],\n width: [Number, String],\n hideOverlay: Boolean,\n icon: [String, Function, Object] as PropType<IconValue>,\n iconColor: String,\n loading: Boolean,\n opacity: [Number, String],\n readonly: Boolean,\n rotate: [Number, String],\n size: {\n type: [Number, String] as PropType<VIconBtnSizes | number | string>,\n default: 'default',\n },\n sizes: {\n type: Array as PropType<[VIconBtnSizes, number][]>,\n default: () => ([\n ['x-small', 16],\n ['small', 24],\n ['default', 40],\n ['large', 48],\n ['x-large', 56],\n ]),\n },\n text: {\n type: [String, Number, Boolean],\n default: undefined,\n },\n\n ...makeBorderProps(),\n ...makeComponentProps(),\n ...makeElevationProps(),\n ...makeIconSizeProps(),\n ...makeRoundedProps(),\n ...makeTagProps({ tag: 'button' }),\n ...makeThemeProps(),\n ...makeVariantProps({ variant: 'flat' } as const),\n}, 'VIconBtn')\n\nexport const VIconBtn = genericComponent<VIconBtnSlots>()({\n name: 'VIconBtn',\n\n props: makeVIconBtnProps(),\n\n emits: {\n 'update:active': (value: boolean) => true,\n },\n\n setup (props, { attrs, slots }) {\n const isActive = useProxiedModel(props, 'active')\n\n const { themeClasses } = provideTheme(props)\n const { borderClasses } = useBorder(props)\n const { elevationClasses } = useElevation(props)\n const { roundedClasses } = useRounded(props)\n\n const { colorClasses, colorStyles, variantClasses } = useVariant(() => ({\n color: (() => {\n if (props.disabled) return undefined\n if (!isActive.value) return props.color\n // Use an inline fallback as opposed to setting a default color\n // because non-toggle buttons are default flat whereas toggle\n // buttons are default tonal and active flat. The exact use\n // case for this is a toggle button with no active color.\n return props.activeColor ?? props.color ?? 'surface-variant'\n })(),\n variant: (() => {\n if (isActive.value === undefined) return props.variant\n if (isActive.value) return props.activeVariant ?? props.variant\n return props.baseVariant ?? props.variant\n })(),\n }))\n\n const btnSizeMap = new Map(props.sizes)\n\n function onClick () {\n if (\n props.disabled ||\n props.readonly ||\n isActive.value === undefined ||\n (props.tag === 'a' && attrs.href)\n ) return\n\n isActive.value = !isActive.value\n }\n\n useRender(() => {\n const icon = isActive.value ? props.activeIcon ?? props.icon : props.icon\n\n const _btnSize = props.size as VIconBtnSizes\n const hasNamedSize = btnSizeMap.has(_btnSize)\n const btnSize = hasNamedSize ? btnSizeMap.get(_btnSize) : _btnSize\n const btnHeight = props.height ?? btnSize\n const btnWidth = props.width ?? btnSize\n const { iconSize } = useIconSizes(props, () => new Map(props.iconSizes).get(_btnSize))\n\n const iconProps = {\n icon,\n size: iconSize.value,\n iconColor: props.iconColor,\n opacity: props.opacity,\n }\n\n return (\n <props.tag\n class={[\n {\n 'v-icon-btn': true,\n 'v-icon-btn--active': isActive.value,\n 'v-icon-btn--disabled': props.disabled,\n 'v-icon-btn--loading': props.loading,\n 'v-icon-btn--readonly': props.readonly,\n [`v-icon-btn--${props.size}`]: true,\n },\n themeClasses.value,\n colorClasses.value,\n borderClasses.value,\n elevationClasses.value,\n roundedClasses.value,\n variantClasses.value,\n props.class,\n ]}\n style={[\n {\n '--v-icon-btn-rotate': convertToUnit(props.rotate, 'deg'),\n '--v-icon-btn-height': convertToUnit(btnHeight),\n '--v-icon-btn-width': convertToUnit(btnWidth),\n },\n colorStyles.value,\n props.style,\n ]}\n tabindex={ props.disabled || props.readonly ? -1 : 0 }\n onClick={ onClick }\n >\n { genOverlays(!props.hideOverlay, 'v-icon-btn') }\n\n <div class=\"v-icon-btn__content\" data-no-activator=\"\">\n { (!slots.default && icon) ? (\n <VIcon\n key=\"content-icon\"\n { ...iconProps }\n />\n ) : (\n <VDefaultsProvider\n key=\"content-defaults\"\n disabled={ !icon }\n defaults={{ VIcon: { ...iconProps } }}\n v-slots={{\n default: () => slots.default?.() ?? toDisplayString(props.text),\n }}\n />\n )}\n </div>\n\n { !!props.loading && (\n <span key=\"loader\" class=\"v-icon-btn__loader\">\n { slots.loader?.() ?? (\n <VProgressCircular\n color={ typeof props.loading === 'boolean' ? undefined : props.loading }\n indeterminate=\"disable-shrink\"\n width=\"2\"\n size={ iconSize.value }\n />\n )}\n </span>\n )}\n </props.tag>\n )\n })\n\n return {}\n },\n})\n\nexport type VIconBtn = InstanceType<typeof VIconBtn>\n"],"mappings":"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","ignoreList":[]}
@@ -58,7 +58,7 @@ export declare const createVuetify: (options?: VuetifyOptions) => {
58
58
  setYear: (date: unknown, year: number) => unknown;
59
59
  getDiff: (date: unknown, comparing: unknown, unit?: string) => number;
60
60
  getWeekArray: (date: unknown, firstDayOfWeek?: number | string) => unknown[][];
61
- getWeekdays: (firstDayOfWeek?: number | string) => string[];
61
+ getWeekdays: (firstDayOfWeek?: number | string, weekdayFormat?: "long" | "short" | "narrow") => string[];
62
62
  getWeek: (date: unknown, firstDayOfWeek?: number | string, firstWeekMinSize?: number) => number;
63
63
  getMonth: (date: unknown) => number;
64
64
  setMonth: (date: unknown, month: number) => unknown;
@@ -2,3 +2,4 @@ export declare const IN_BROWSER: boolean;
2
2
  export declare const SUPPORTS_INTERSECTION: boolean;
3
3
  export declare const SUPPORTS_TOUCH: boolean;
4
4
  export declare const SUPPORTS_EYE_DROPPER: boolean;
5
+ export declare const SUPPORTS_MATCH_MEDIA: boolean;
@@ -2,4 +2,5 @@ export const IN_BROWSER = typeof window !== 'undefined';
2
2
  export const SUPPORTS_INTERSECTION = IN_BROWSER && 'IntersectionObserver' in window;
3
3
  export const SUPPORTS_TOUCH = IN_BROWSER && ('ontouchstart' in window || window.navigator.maxTouchPoints > 0);
4
4
  export const SUPPORTS_EYE_DROPPER = IN_BROWSER && 'EyeDropper' in window;
5
+ export const SUPPORTS_MATCH_MEDIA = IN_BROWSER && 'matchMedia' in window && typeof window.matchMedia === 'function';
5
6
  //# sourceMappingURL=globals.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"globals.js","names":["IN_BROWSER","window","SUPPORTS_INTERSECTION","SUPPORTS_TOUCH","navigator","maxTouchPoints","SUPPORTS_EYE_DROPPER"],"sources":["../../src/util/globals.ts"],"sourcesContent":["export const IN_BROWSER = typeof window !== 'undefined'\nexport const SUPPORTS_INTERSECTION = IN_BROWSER && 'IntersectionObserver' in window\nexport const SUPPORTS_TOUCH = IN_BROWSER && ('ontouchstart' in window || window.navigator.maxTouchPoints > 0)\nexport const SUPPORTS_EYE_DROPPER = IN_BROWSER && 'EyeDropper' in window\n"],"mappings":"AAAA,OAAO,MAAMA,UAAU,GAAG,OAAOC,MAAM,KAAK,WAAW;AACvD,OAAO,MAAMC,qBAAqB,GAAGF,UAAU,IAAI,sBAAsB,IAAIC,MAAM;AACnF,OAAO,MAAME,cAAc,GAAGH,UAAU,KAAK,cAAc,IAAIC,MAAM,IAAIA,MAAM,CAACG,SAAS,CAACC,cAAc,GAAG,CAAC,CAAC;AAC7G,OAAO,MAAMC,oBAAoB,GAAGN,UAAU,IAAI,YAAY,IAAIC,MAAM","ignoreList":[]}
1
+ {"version":3,"file":"globals.js","names":["IN_BROWSER","window","SUPPORTS_INTERSECTION","SUPPORTS_TOUCH","navigator","maxTouchPoints","SUPPORTS_EYE_DROPPER","SUPPORTS_MATCH_MEDIA","matchMedia"],"sources":["../../src/util/globals.ts"],"sourcesContent":["export const IN_BROWSER = typeof window !== 'undefined'\nexport const SUPPORTS_INTERSECTION = IN_BROWSER && 'IntersectionObserver' in window\nexport const SUPPORTS_TOUCH = IN_BROWSER && ('ontouchstart' in window || window.navigator.maxTouchPoints > 0)\nexport const SUPPORTS_EYE_DROPPER = IN_BROWSER && 'EyeDropper' in window\nexport const SUPPORTS_MATCH_MEDIA = IN_BROWSER && 'matchMedia' in window && typeof window.matchMedia === 'function'\n"],"mappings":"AAAA,OAAO,MAAMA,UAAU,GAAG,OAAOC,MAAM,KAAK,WAAW;AACvD,OAAO,MAAMC,qBAAqB,GAAGF,UAAU,IAAI,sBAAsB,IAAIC,MAAM;AACnF,OAAO,MAAME,cAAc,GAAGH,UAAU,KAAK,cAAc,IAAIC,MAAM,IAAIA,MAAM,CAACG,SAAS,CAACC,cAAc,GAAG,CAAC,CAAC;AAC7G,OAAO,MAAMC,oBAAoB,GAAGN,UAAU,IAAI,YAAY,IAAIC,MAAM;AACxE,OAAO,MAAMM,oBAAoB,GAAGP,UAAU,IAAI,YAAY,IAAIC,MAAM,IAAI,OAAOA,MAAM,CAACO,UAAU,KAAK,UAAU","ignoreList":[]}
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@vuetify/nightly",
3
3
  "description": "Vue Material Component Framework",
4
- "version": "3.8.6-master.2025-05-26",
4
+ "version": "3.8.7-dev.2025-05-27",
5
5
  "author": {
6
6
  "name": "John Leider",
7
7
  "email": "john@vuetifyjs.com"
@@ -76,6 +76,8 @@
76
76
  "./labs/components": "./lib/labs/components.js",
77
77
  "./labs/*": "./lib/labs/*/index.js",
78
78
  "./util/colors": "./lib/util/colors.js",
79
+ "./date/adapters/*": "./lib/composables/date/adapters/*.js",
80
+ "./util/transitions": "./lib/components/transitions/createTransition.js",
79
81
  "./dist/vuetify.js": {
80
82
  "types": "./dist/vuetify.d.ts",
81
83
  "import": "./dist/vuetify.esm.js",