@vuetify/nightly 3.8.8-master.2025-06-08 → 3.8.9-dev.2025-06-11

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 (175) hide show
  1. package/CHANGELOG.md +39 -16
  2. package/dist/json/attributes.json +3215 -3091
  3. package/dist/json/importMap-labs.json +44 -44
  4. package/dist/json/importMap.json +166 -166
  5. package/dist/json/tags.json +32 -1
  6. package/dist/json/web-types.json +6040 -5654
  7. package/dist/vuetify-labs.cjs +397 -154
  8. package/dist/vuetify-labs.css +4053 -4019
  9. package/dist/vuetify-labs.d.ts +2604 -2064
  10. package/dist/vuetify-labs.esm.js +398 -155
  11. package/dist/vuetify-labs.esm.js.map +1 -1
  12. package/dist/vuetify-labs.js +397 -154
  13. package/dist/vuetify-labs.min.css +2 -2
  14. package/dist/vuetify.cjs +391 -143
  15. package/dist/vuetify.cjs.map +1 -1
  16. package/dist/vuetify.css +3715 -3681
  17. package/dist/vuetify.d.ts +1600 -1100
  18. package/dist/vuetify.esm.js +392 -144
  19. package/dist/vuetify.esm.js.map +1 -1
  20. package/dist/vuetify.js +391 -143
  21. package/dist/vuetify.js.map +1 -1
  22. package/dist/vuetify.min.css +2 -2
  23. package/dist/vuetify.min.js +1198 -1183
  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/VAppBar/VAppBar.d.ts +15 -3
  31. package/lib/components/VAppBar/VAppBarNavIcon.d.ts +20 -10
  32. package/lib/components/VAutocomplete/VAutocomplete.d.ts +154 -103
  33. package/lib/components/VAutocomplete/VAutocomplete.js +21 -3
  34. package/lib/components/VAutocomplete/VAutocomplete.js.map +1 -1
  35. package/lib/components/VBadge/VBadge.d.ts +60 -0
  36. package/lib/components/VBadge/VBadge.js +7 -2
  37. package/lib/components/VBadge/VBadge.js.map +1 -1
  38. package/lib/components/VBtn/VBtn.d.ts +20 -10
  39. package/lib/components/VBtnGroup/VBtnGroup.css +30 -7
  40. package/lib/components/VBtnGroup/VBtnGroup.d.ts +58 -32
  41. package/lib/components/VBtnGroup/VBtnGroup.js +7 -3
  42. package/lib/components/VBtnGroup/VBtnGroup.js.map +1 -1
  43. package/lib/components/VBtnGroup/VBtnGroup.sass +44 -17
  44. package/lib/components/VBtnToggle/VBtnToggle.d.ts +25 -0
  45. package/lib/components/VCard/VCard.d.ts +20 -10
  46. package/lib/components/VCheckbox/VCheckbox.d.ts +23 -13
  47. package/lib/components/VCheckbox/VCheckboxBtn.d.ts +20 -10
  48. package/lib/components/VChip/VChip.d.ts +20 -10
  49. package/lib/components/VChipGroup/VChipGroup.d.ts +10 -0
  50. package/lib/components/VCombobox/VCombobox.d.ts +154 -103
  51. package/lib/components/VCombobox/VCombobox.js +22 -3
  52. package/lib/components/VCombobox/VCombobox.js.map +1 -1
  53. package/lib/components/VDataTable/VDataTable.d.ts +60 -0
  54. package/lib/components/VDataTable/VDataTableHeaders.d.ts +13 -0
  55. package/lib/components/VDataTable/VDataTableHeaders.js +4 -2
  56. package/lib/components/VDataTable/VDataTableHeaders.js.map +1 -1
  57. package/lib/components/VDataTable/VDataTableServer.d.ts +42 -0
  58. package/lib/components/VDataTable/VDataTableVirtual.d.ts +42 -0
  59. package/lib/components/VDatePicker/VDatePicker.d.ts +10 -0
  60. package/lib/components/VDatePicker/VDatePickerMonth.d.ts +10 -0
  61. package/lib/components/VDatePicker/VDatePickerMonth.js +1 -1
  62. package/lib/components/VDatePicker/VDatePickerMonth.js.map +1 -1
  63. package/lib/components/VExpansionPanel/VExpansionPanel.d.ts +20 -10
  64. package/lib/components/VExpansionPanel/VExpansionPanelTitle.d.ts +20 -10
  65. package/lib/components/VExpansionPanel/VExpansionPanels.d.ts +20 -10
  66. package/lib/components/VFab/VFab.d.ts +20 -10
  67. package/lib/components/VField/VField.d.ts +3 -3
  68. package/lib/components/VFileInput/VFileInput.d.ts +15 -15
  69. package/lib/components/VInfiniteScroll/VInfiniteScroll.d.ts +9 -3
  70. package/lib/components/VInfiniteScroll/VInfiniteScroll.js +29 -0
  71. package/lib/components/VInfiniteScroll/VInfiniteScroll.js.map +1 -1
  72. package/lib/components/VInput/VInput.d.ts +4 -4
  73. package/lib/components/VList/VList.d.ts +13 -0
  74. package/lib/components/VList/VList.js +4 -1
  75. package/lib/components/VList/VList.js.map +1 -1
  76. package/lib/components/VList/VListChildren.js.map +1 -1
  77. package/lib/components/VList/VListItem.d.ts +23 -10
  78. package/lib/components/VList/VListItem.js +7 -3
  79. package/lib/components/VList/VListItem.js.map +1 -1
  80. package/lib/components/VList/list.d.ts +9 -2
  81. package/lib/components/VList/list.js +7 -0
  82. package/lib/components/VList/list.js.map +1 -1
  83. package/lib/components/VNumberInput/VNumberInput.d.ts +103 -89
  84. package/lib/components/VNumberInput/VNumberInput.js +19 -4
  85. package/lib/components/VNumberInput/VNumberInput.js.map +1 -1
  86. package/lib/components/VOtpInput/VOtpInput.js +2 -1
  87. package/lib/components/VOtpInput/VOtpInput.js.map +1 -1
  88. package/lib/components/VOverlay/VOverlay.css +1 -1
  89. package/lib/components/VOverlay/_variables.scss +1 -1
  90. package/lib/components/VRadio/VRadio.d.ts +20 -10
  91. package/lib/components/VRadioGroup/VRadioGroup.d.ts +23 -13
  92. package/lib/components/VRangeSlider/VRangeSlider.d.ts +3 -3
  93. package/lib/components/VSelect/VSelect.d.ts +171 -107
  94. package/lib/components/VSelect/VSelect.js +27 -8
  95. package/lib/components/VSelect/VSelect.js.map +1 -1
  96. package/lib/components/VSelectionControl/VSelectionControl.d.ts +20 -10
  97. package/lib/components/VSelectionControlGroup/VSelectionControlGroup.d.ts +28 -14
  98. package/lib/components/VSlideGroup/VSlideGroup.d.ts +10 -0
  99. package/lib/components/VSlideGroup/VSlideGroup.js +2 -1
  100. package/lib/components/VSlideGroup/VSlideGroup.js.map +1 -1
  101. package/lib/components/VSlider/VSlider.d.ts +3 -3
  102. package/lib/components/VSlider/VSliderThumb.d.ts +20 -10
  103. package/lib/components/VStepper/VStepperItem.d.ts +28 -14
  104. package/lib/components/VSwitch/VSwitch.d.ts +23 -13
  105. package/lib/components/VTable/VTable.css +6 -0
  106. package/lib/components/VTable/VTable.d.ts +55 -24
  107. package/lib/components/VTable/VTable.js +9 -2
  108. package/lib/components/VTable/VTable.js.map +1 -1
  109. package/lib/components/VTable/VTable.sass +14 -0
  110. package/lib/components/VTable/_variables.scss +1 -0
  111. package/lib/components/VTabs/VTab.d.ts +56 -28
  112. package/lib/components/VTabs/VTabs.d.ts +10 -0
  113. package/lib/components/VTextField/VTextField.d.ts +27 -27
  114. package/lib/components/VTextarea/VTextarea.d.ts +15 -15
  115. package/lib/components/VToolbar/VToolbar.d.ts +15 -3
  116. package/lib/components/VToolbar/VToolbar.js +6 -3
  117. package/lib/components/VToolbar/VToolbar.js.map +1 -1
  118. package/lib/composables/calendar.d.ts +6 -0
  119. package/lib/composables/calendar.js +2 -1
  120. package/lib/composables/calendar.js.map +1 -1
  121. package/lib/composables/date/DateAdapter.d.ts +3 -3
  122. package/lib/composables/date/DateAdapter.js.map +1 -1
  123. package/lib/composables/date/adapters/string.d.ts +54 -0
  124. package/lib/composables/date/adapters/string.js +153 -0
  125. package/lib/composables/date/adapters/string.js.map +1 -0
  126. package/lib/composables/date/adapters/vuetify.d.ts +1 -1
  127. package/lib/composables/date/adapters/vuetify.js +5 -5
  128. package/lib/composables/date/adapters/vuetify.js.map +1 -1
  129. package/lib/composables/date/date.d.ts +3 -3
  130. package/lib/composables/date/date.js +1 -1
  131. package/lib/composables/date/date.js.map +1 -1
  132. package/lib/composables/date/index.d.ts +1 -0
  133. package/lib/composables/date/index.js +1 -0
  134. package/lib/composables/date/index.js.map +1 -1
  135. package/lib/composables/filter.js +3 -0
  136. package/lib/composables/filter.js.map +1 -1
  137. package/lib/composables/iconSizes.d.ts +28 -0
  138. package/lib/composables/iconSizes.js +23 -0
  139. package/lib/composables/iconSizes.js.map +1 -0
  140. package/lib/composables/list-items.js +2 -2
  141. package/lib/composables/list-items.js.map +1 -1
  142. package/lib/composables/theme.d.ts +6 -1
  143. package/lib/composables/theme.js +94 -26
  144. package/lib/composables/theme.js.map +1 -1
  145. package/lib/composables/virtual.js +6 -1
  146. package/lib/composables/virtual.js.map +1 -1
  147. package/lib/directives/ripple/index.d.ts +2 -1
  148. package/lib/directives/ripple/index.js +12 -7
  149. package/lib/directives/ripple/index.js.map +1 -1
  150. package/lib/entry-bundler.d.ts +3 -3
  151. package/lib/entry-bundler.js +1 -1
  152. package/lib/entry-bundler.js.map +1 -1
  153. package/lib/framework.d.ts +86 -71
  154. package/lib/framework.js +1 -1
  155. package/lib/framework.js.map +1 -1
  156. package/lib/labs/VCalendar/VCalendar.d.ts +10 -0
  157. package/lib/labs/VColorInput/VColorInput.d.ts +3 -3
  158. package/lib/labs/VDateInput/VDateInput.d.ts +97 -87
  159. package/lib/labs/VFileUpload/VFileUpload.d.ts +3 -3
  160. package/lib/labs/VFileUpload/VFileUploadItem.d.ts +20 -10
  161. package/lib/labs/VIconBtn/VIconBtn.d.ts +29 -29
  162. package/lib/labs/VIconBtn/VIconBtn.js +7 -11
  163. package/lib/labs/VIconBtn/VIconBtn.js.map +1 -1
  164. package/lib/labs/VStepperVertical/VStepperVertical.d.ts +20 -10
  165. package/lib/labs/VStepperVertical/VStepperVerticalItem.d.ts +20 -10
  166. package/lib/labs/VTreeview/VTreeview.d.ts +13 -0
  167. package/lib/labs/VTreeview/VTreeviewItem.d.ts +20 -10
  168. package/lib/labs/entry-bundler.d.ts +3 -3
  169. package/lib/util/globals.d.ts +1 -0
  170. package/lib/util/globals.js +1 -0
  171. package/lib/util/globals.js.map +1 -1
  172. package/lib/util/helpers.d.ts +1 -1
  173. package/lib/util/helpers.js +0 -1
  174. package/lib/util/helpers.js.map +1 -1
  175. package/package.json +3 -1
@@ -110,6 +110,10 @@
110
110
  padding-bottom: 16px;
111
111
  }
112
112
 
113
+ .v-alert:not(:has(.v-alert-title)) .v-alert__content {
114
+ padding-top: 0.125rem;
115
+ }
116
+
113
117
  .v-alert__border {
114
118
  border-radius: inherit;
115
119
  bottom: 0;
@@ -146,6 +150,7 @@
146
150
  .v-alert__close {
147
151
  flex: 0 1 auto;
148
152
  grid-area: close;
153
+ margin-block: -2px;
149
154
  }
150
155
 
151
156
  .v-alert__content {
@@ -156,7 +161,6 @@
156
161
 
157
162
  .v-alert__append,
158
163
  .v-alert__close {
159
- align-self: flex-start;
160
164
  margin-inline-start: 16px;
161
165
  }
162
166
 
@@ -174,6 +178,7 @@
174
178
  align-items: center;
175
179
  grid-area: prepend;
176
180
  margin-inline-end: 16px;
181
+ min-height: 1.75rem;
177
182
  }
178
183
  .v-alert--prominent .v-alert__prepend {
179
184
  align-self: center;
@@ -11,6 +11,8 @@ export declare const makeVAlertProps: <Defaults extends {
11
11
  tile?: unknown;
12
12
  position?: unknown;
13
13
  location?: unknown;
14
+ iconSize?: unknown;
15
+ iconSizes?: unknown;
14
16
  elevation?: unknown;
15
17
  height?: unknown;
16
18
  maxHeight?: unknown;
@@ -97,6 +99,20 @@ export declare const makeVAlertProps: <Defaults extends {
97
99
  type: PropType<unknown extends Defaults["location"] ? import("../../util/index.js").Anchor | null : import("../../util/index.js").Anchor | Defaults["location"] | null>;
98
100
  default: unknown extends Defaults["location"] ? import("../../util/index.js").Anchor | null : NonNullable<import("../../util/index.js").Anchor | null> | Defaults["location"];
99
101
  };
102
+ iconSize: unknown extends Defaults["iconSize"] ? PropType<string | number> : {
103
+ type: PropType<unknown extends Defaults["iconSize"] ? string | number : string | number | Defaults["iconSize"]>;
104
+ default: unknown extends Defaults["iconSize"] ? string | number : NonNullable<string | number> | Defaults["iconSize"];
105
+ };
106
+ iconSizes: unknown extends Defaults["iconSizes"] ? {
107
+ type: PropType<[import("../../labs/VIconBtn/VIconBtn.js").VIconBtnSizes, number][]>;
108
+ default: () => (string | number)[][];
109
+ } : Omit<{
110
+ type: PropType<[import("../../labs/VIconBtn/VIconBtn.js").VIconBtnSizes, number][]>;
111
+ default: () => (string | number)[][];
112
+ }, "type" | "default"> & {
113
+ type: PropType<unknown extends Defaults["iconSizes"] ? [import("../../labs/VIconBtn/VIconBtn.js").VIconBtnSizes, number][] : [import("../../labs/VIconBtn/VIconBtn.js").VIconBtnSizes, number][] | Defaults["iconSizes"]>;
114
+ default: unknown extends Defaults["iconSizes"] ? [import("../../labs/VIconBtn/VIconBtn.js").VIconBtnSizes, number][] : [import("../../labs/VIconBtn/VIconBtn.js").VIconBtnSizes, number][] | Defaults["iconSizes"];
115
+ };
100
116
  elevation: unknown extends Defaults["elevation"] ? {
101
117
  type: (StringConstructor | NumberConstructor)[];
102
118
  validator(v: any): boolean;
@@ -259,6 +275,7 @@ export declare const VAlert: {
259
275
  tile: boolean;
260
276
  closable: boolean;
261
277
  prominent: boolean;
278
+ iconSizes: [import("../../labs/VIconBtn/VIconBtn.js").VIconBtnSizes, number][];
262
279
  closeIcon: IconValue;
263
280
  closeLabel: string;
264
281
  } & {
@@ -280,6 +297,7 @@ export declare const VAlert: {
280
297
  theme?: string | undefined;
281
298
  elevation?: string | number | undefined;
282
299
  rounded?: string | number | boolean | undefined;
300
+ iconSize?: string | number | undefined;
283
301
  } & {
284
302
  $children?: import("vue").VNodeChild | (() => import("vue").VNodeChild) | {
285
303
  default?: (() => import("vue").VNodeChild) | undefined;
@@ -327,6 +345,7 @@ export declare const VAlert: {
327
345
  tile: boolean;
328
346
  closable: boolean;
329
347
  prominent: boolean;
348
+ iconSizes: [import("../../labs/VIconBtn/VIconBtn.js").VIconBtnSizes, number][];
330
349
  closeIcon: IconValue;
331
350
  closeLabel: string;
332
351
  }, true, {}, import("vue").SlotsType<Partial<{
@@ -355,6 +374,7 @@ export declare const VAlert: {
355
374
  tile: boolean;
356
375
  closable: boolean;
357
376
  prominent: boolean;
377
+ iconSizes: [import("../../labs/VIconBtn/VIconBtn.js").VIconBtnSizes, number][];
358
378
  closeIcon: IconValue;
359
379
  closeLabel: string;
360
380
  } & {
@@ -376,6 +396,7 @@ export declare const VAlert: {
376
396
  theme?: string | undefined;
377
397
  elevation?: string | number | undefined;
378
398
  rounded?: string | number | boolean | undefined;
399
+ iconSize?: string | number | undefined;
379
400
  } & {
380
401
  $children?: import("vue").VNodeChild | (() => import("vue").VNodeChild) | {
381
402
  default?: (() => import("vue").VNodeChild) | undefined;
@@ -420,6 +441,7 @@ export declare const VAlert: {
420
441
  tile: boolean;
421
442
  closable: boolean;
422
443
  prominent: boolean;
444
+ iconSizes: [import("../../labs/VIconBtn/VIconBtn.js").VIconBtnSizes, number][];
423
445
  closeIcon: IconValue;
424
446
  closeLabel: string;
425
447
  }>;
@@ -436,6 +458,7 @@ export declare const VAlert: {
436
458
  tile: boolean;
437
459
  closable: boolean;
438
460
  prominent: boolean;
461
+ iconSizes: [import("../../labs/VIconBtn/VIconBtn.js").VIconBtnSizes, number][];
439
462
  closeIcon: IconValue;
440
463
  closeLabel: string;
441
464
  } & {
@@ -457,6 +480,7 @@ export declare const VAlert: {
457
480
  theme?: string | undefined;
458
481
  elevation?: string | number | undefined;
459
482
  rounded?: string | number | boolean | undefined;
483
+ iconSize?: string | number | undefined;
460
484
  } & {
461
485
  $children?: import("vue").VNodeChild | (() => import("vue").VNodeChild) | {
462
486
  default?: (() => import("vue").VNodeChild) | undefined;
@@ -504,6 +528,7 @@ export declare const VAlert: {
504
528
  tile: boolean;
505
529
  closable: boolean;
506
530
  prominent: boolean;
531
+ iconSizes: [import("../../labs/VIconBtn/VIconBtn.js").VIconBtnSizes, number][];
507
532
  closeIcon: IconValue;
508
533
  closeLabel: string;
509
534
  }, {}, string, import("vue").SlotsType<Partial<{
@@ -540,6 +565,11 @@ export declare const VAlert: {
540
565
  validator: (v: any) => boolean;
541
566
  };
542
567
  location: PropType<import("../../util/index.js").Anchor | null>;
568
+ iconSize: PropType<import("../../labs/VIconBtn/VIconBtn.js").VIconBtnSizes | number | string>;
569
+ iconSizes: {
570
+ type: PropType<[import("../../labs/VIconBtn/VIconBtn.js").VIconBtnSizes, number][]>;
571
+ default: () => (string | number)[][];
572
+ };
543
573
  elevation: {
544
574
  type: (StringConstructor | NumberConstructor)[];
545
575
  validator(v: any): boolean;
@@ -614,6 +644,11 @@ export declare const VAlert: {
614
644
  validator: (v: any) => boolean;
615
645
  };
616
646
  location: PropType<import("../../util/index.js").Anchor | null>;
647
+ iconSize: PropType<import("../../labs/VIconBtn/VIconBtn.js").VIconBtnSizes | number | string>;
648
+ iconSizes: {
649
+ type: PropType<[import("../../labs/VIconBtn/VIconBtn.js").VIconBtnSizes, number][]>;
650
+ default: () => (string | number)[][];
651
+ };
617
652
  elevation: {
618
653
  type: (StringConstructor | NumberConstructor)[];
619
654
  validator(v: any): boolean;
@@ -1,4 +1,4 @@
1
- import { normalizeClass as _normalizeClass, normalizeStyle as _normalizeStyle, createElementVNode as _createElementVNode, createVNode as _createVNode, mergeProps as _mergeProps } from "vue";
1
+ import { normalizeClass as _normalizeClass, normalizeStyle as _normalizeStyle, createElementVNode as _createElementVNode, mergeProps as _mergeProps, createVNode as _createVNode } from "vue";
2
2
  // Styles
3
3
  import "./VAlert.css";
4
4
 
@@ -13,6 +13,7 @@ import { makeDensityProps, useDensity } from "../../composables/density.js";
13
13
  import { makeDimensionProps, useDimension } from "../../composables/dimensions.js";
14
14
  import { makeElevationProps, useElevation } from "../../composables/elevation.js";
15
15
  import { IconValue } from "../../composables/icons.js";
16
+ import { makeIconSizeProps, useIconSizes } from "../../composables/iconSizes.js";
16
17
  import { useLocale } from "../../composables/locale.js";
17
18
  import { makeLocationProps, useLocation } from "../../composables/location.js";
18
19
  import { makePositionProps, usePosition } from "../../composables/position.js";
@@ -60,6 +61,7 @@ export const makeVAlertProps = propsFactory({
60
61
  ...makeDensityProps(),
61
62
  ...makeDimensionProps(),
62
63
  ...makeElevationProps(),
64
+ ...makeIconSizeProps(),
63
65
  ...makeLocationProps(),
64
66
  ...makePositionProps(),
65
67
  ...makeRoundedProps(),
@@ -87,6 +89,9 @@ export const VAlert = genericComponent()({
87
89
  if (!props.type) return props.icon;
88
90
  return props.icon ?? `$${props.type}`;
89
91
  });
92
+ const {
93
+ iconSize
94
+ } = useIconSizes(props, () => props.prominent ? 44 : 28);
90
95
  const {
91
96
  themeClasses
92
97
  } = provideTheme(props);
@@ -134,6 +139,11 @@ export const VAlert = genericComponent()({
134
139
  const hasPrepend = !!(slots.prepend || icon.value);
135
140
  const hasTitle = !!(slots.title || props.title);
136
141
  const hasClose = !!(slots.close || props.closable);
142
+ const iconProps = {
143
+ density: props.density,
144
+ icon: icon.value,
145
+ size: iconSize.value
146
+ };
137
147
  return isActive.value && _createVNode(props.tag, {
138
148
  "class": _normalizeClass(['v-alert', props.border && {
139
149
  'v-alert--border': !!props.border,
@@ -151,19 +161,14 @@ export const VAlert = genericComponent()({
151
161
  }, null), hasPrepend && _createElementVNode("div", {
152
162
  "key": "prepend",
153
163
  "class": "v-alert__prepend"
154
- }, [!slots.prepend ? _createVNode(VIcon, {
155
- "key": "prepend-icon",
156
- "density": props.density,
157
- "icon": icon.value,
158
- "size": props.prominent ? 44 : 28
159
- }, null) : _createVNode(VDefaultsProvider, {
164
+ }, [!slots.prepend ? _createVNode(VIcon, _mergeProps({
165
+ "key": "prepend-icon"
166
+ }, iconProps), null) : _createVNode(VDefaultsProvider, {
160
167
  "key": "prepend-defaults",
161
168
  "disabled": !icon.value,
162
169
  "defaults": {
163
170
  VIcon: {
164
- density: props.density,
165
- icon: icon.value,
166
- size: props.prominent ? 44 : 28
171
+ ...iconProps
167
172
  }
168
173
  }
169
174
  }, slots.prepend)]), _createElementVNode("div", {
@@ -1 +1 @@
1
- {"version":3,"file":"VAlert.js","names":["VAlertTitle","VBtn","VDefaultsProvider","VIcon","useTextColor","makeComponentProps","makeDensityProps","useDensity","makeDimensionProps","useDimension","makeElevationProps","useElevation","IconValue","useLocale","makeLocationProps","useLocation","makePositionProps","usePosition","useProxiedModel","makeRoundedProps","useRounded","makeTagProps","makeThemeProps","provideTheme","genOverlays","makeVariantProps","useVariant","toRef","genericComponent","propsFactory","allowedTypes","makeVAlertProps","border","type","Boolean","String","validator","val","includes","borderColor","closable","closeIcon","default","closeLabel","icon","Function","Object","modelValue","prominent","title","text","variant","VAlert","name","props","emits","e","value","setup","_ref","emit","slots","isActive","undefined","themeClasses","colorClasses","colorStyles","variantClasses","color","densityClasses","dimensionStyles","elevationClasses","locationStyles","positionClasses","roundedClasses","textColorClasses","textColorStyles","t","closeProps","onClick","hasPrepend","prepend","hasTitle","hasClose","close","_createVNode","tag","_normalizeClass","class","_normalizeStyle","style","_createElementVNode","density","size","append","_mergeProps"],"sources":["../../../src/components/VAlert/VAlert.tsx"],"sourcesContent":["// Styles\nimport './VAlert.sass'\n\n// Components\nimport { VAlertTitle } from './VAlertTitle'\nimport { VBtn } from '@/components/VBtn'\nimport { VDefaultsProvider } from '@/components/VDefaultsProvider'\nimport { VIcon } from '@/components/VIcon'\n\n// Composables\nimport { useTextColor } from '@/composables/color'\nimport { makeComponentProps } from '@/composables/component'\nimport { makeDensityProps, useDensity } from '@/composables/density'\nimport { makeDimensionProps, useDimension } from '@/composables/dimensions'\nimport { makeElevationProps, useElevation } from '@/composables/elevation'\nimport { IconValue } from '@/composables/icons'\nimport { useLocale } from '@/composables/locale'\nimport { makeLocationProps, useLocation } from '@/composables/location'\nimport { makePositionProps, usePosition } from '@/composables/position'\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 { toRef } from 'vue'\nimport { genericComponent, propsFactory } from '@/util'\n\n// Types\nimport type { PropType } from 'vue'\n\nconst allowedTypes = ['success', 'info', 'warning', 'error'] as const\n\ntype ContextualType = typeof allowedTypes[number]\n\nexport const makeVAlertProps = propsFactory({\n border: {\n type: [Boolean, String] as PropType<boolean | 'top' | 'end' | 'bottom' | 'start'>,\n validator: (val: boolean | string) => {\n return typeof val === 'boolean' || [\n 'top',\n 'end',\n 'bottom',\n 'start',\n ].includes(val)\n },\n },\n borderColor: String,\n closable: Boolean,\n closeIcon: {\n type: IconValue,\n default: '$close',\n },\n closeLabel: {\n type: String,\n default: '$vuetify.close',\n },\n icon: {\n type: [Boolean, String, Function, Object] as PropType<false | IconValue>,\n default: null,\n },\n modelValue: {\n type: Boolean,\n default: true,\n },\n prominent: Boolean,\n title: String,\n text: String,\n type: {\n type: String as PropType<ContextualType>,\n validator: (val: ContextualType) => allowedTypes.includes(val),\n },\n\n ...makeComponentProps(),\n ...makeDensityProps(),\n ...makeDimensionProps(),\n ...makeElevationProps(),\n ...makeLocationProps(),\n ...makePositionProps(),\n ...makeRoundedProps(),\n ...makeTagProps(),\n ...makeThemeProps(),\n ...makeVariantProps({ variant: 'flat' } as const),\n}, 'VAlert')\n\nexport type VAlertSlots = {\n default: never\n prepend: never\n title: never\n text: never\n append: never\n close: { props: Record<string, any> }\n}\n\nexport const VAlert = genericComponent<VAlertSlots>()({\n name: 'VAlert',\n\n props: makeVAlertProps(),\n\n emits: {\n 'click:close': (e: MouseEvent) => true,\n 'update:modelValue': (value: boolean) => true,\n },\n\n setup (props, { emit, slots }) {\n const isActive = useProxiedModel(props, 'modelValue')\n const icon = toRef(() => {\n if (props.icon === false) return undefined\n if (!props.type) return props.icon\n\n return props.icon ?? `$${props.type}`\n })\n\n const { themeClasses } = provideTheme(props)\n const { colorClasses, colorStyles, variantClasses } = useVariant(() => ({\n color: props.color ?? props.type,\n variant: props.variant,\n }))\n const { densityClasses } = useDensity(props)\n const { dimensionStyles } = useDimension(props)\n const { elevationClasses } = useElevation(props)\n const { locationStyles } = useLocation(props)\n const { positionClasses } = usePosition(props)\n const { roundedClasses } = useRounded(props)\n const { textColorClasses, textColorStyles } = useTextColor(() => props.borderColor)\n const { t } = useLocale()\n\n const closeProps = toRef(() => ({\n 'aria-label': t(props.closeLabel),\n onClick (e: MouseEvent) {\n isActive.value = false\n\n emit('click:close', e)\n },\n }))\n\n return () => {\n const hasPrepend = !!(slots.prepend || icon.value)\n const hasTitle = !!(slots.title || props.title)\n const hasClose = !!(slots.close || props.closable)\n\n return isActive.value && (\n <props.tag\n class={[\n 'v-alert',\n props.border && {\n 'v-alert--border': !!props.border,\n [`v-alert--border-${props.border === true ? 'start' : props.border}`]: true,\n },\n {\n 'v-alert--prominent': props.prominent,\n },\n themeClasses.value,\n colorClasses.value,\n densityClasses.value,\n elevationClasses.value,\n positionClasses.value,\n roundedClasses.value,\n variantClasses.value,\n props.class,\n ]}\n style={[\n colorStyles.value,\n dimensionStyles.value,\n locationStyles.value,\n props.style,\n ]}\n role=\"alert\"\n >\n { genOverlays(false, 'v-alert') }\n\n { props.border && (\n <div\n key=\"border\"\n class={[\n 'v-alert__border',\n textColorClasses.value,\n ]}\n style={ textColorStyles.value }\n />\n )}\n\n { hasPrepend && (\n <div key=\"prepend\" class=\"v-alert__prepend\">\n { !slots.prepend ? (\n <VIcon\n key=\"prepend-icon\"\n density={ props.density }\n icon={ icon.value }\n size={ props.prominent ? 44 : 28 }\n />\n ) : (\n <VDefaultsProvider\n key=\"prepend-defaults\"\n disabled={ !icon.value }\n defaults={{\n VIcon: {\n density: props.density,\n icon: icon.value,\n size: props.prominent ? 44 : 28,\n },\n }}\n v-slots:default={ slots.prepend }\n />\n )}\n </div>\n )}\n\n <div class=\"v-alert__content\">\n { hasTitle && (\n <VAlertTitle key=\"title\">\n { slots.title?.() ?? props.title }\n </VAlertTitle>\n )}\n\n { slots.text?.() ?? props.text }\n\n { slots.default?.() }\n </div>\n\n { slots.append && (\n <div key=\"append\" class=\"v-alert__append\">\n { slots.append() }\n </div>\n )}\n\n { hasClose && (\n <div key=\"close\" class=\"v-alert__close\">\n { !slots.close ? (\n <VBtn\n key=\"close-btn\"\n icon={ props.closeIcon }\n size=\"x-small\"\n variant=\"text\"\n { ...closeProps.value }\n />\n ) : (\n <VDefaultsProvider\n key=\"close-defaults\"\n defaults={{\n VBtn: {\n icon: props.closeIcon,\n size: 'x-small',\n variant: 'text',\n },\n }}\n >\n { slots.close?.({ props: closeProps.value }) }\n </VDefaultsProvider>\n )}\n </div>\n )}\n </props.tag>\n )\n }\n },\n})\n\nexport type VAlert = InstanceType<typeof VAlert>\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"VAlert.js","names":["VAlertTitle","VBtn","VDefaultsProvider","VIcon","useTextColor","makeComponentProps","makeDensityProps","useDensity","makeDimensionProps","useDimension","makeElevationProps","useElevation","IconValue","makeIconSizeProps","useIconSizes","useLocale","makeLocationProps","useLocation","makePositionProps","usePosition","useProxiedModel","makeRoundedProps","useRounded","makeTagProps","makeThemeProps","provideTheme","genOverlays","makeVariantProps","useVariant","toRef","genericComponent","propsFactory","allowedTypes","makeVAlertProps","border","type","Boolean","String","validator","val","includes","borderColor","closable","closeIcon","default","closeLabel","icon","Function","Object","modelValue","prominent","title","text","variant","VAlert","name","props","emits","e","value","setup","_ref","emit","slots","isActive","undefined","iconSize","themeClasses","colorClasses","colorStyles","variantClasses","color","densityClasses","dimensionStyles","elevationClasses","locationStyles","positionClasses","roundedClasses","textColorClasses","textColorStyles","t","closeProps","onClick","hasPrepend","prepend","hasTitle","hasClose","close","iconProps","density","size","_createVNode","tag","_normalizeClass","class","_normalizeStyle","style","_createElementVNode","_mergeProps","append"],"sources":["../../../src/components/VAlert/VAlert.tsx"],"sourcesContent":["// Styles\nimport './VAlert.sass'\n\n// Components\nimport { VAlertTitle } from './VAlertTitle'\nimport { VBtn } from '@/components/VBtn'\nimport { VDefaultsProvider } from '@/components/VDefaultsProvider'\nimport { VIcon } from '@/components/VIcon'\n\n// Composables\nimport { useTextColor } from '@/composables/color'\nimport { makeComponentProps } from '@/composables/component'\nimport { makeDensityProps, useDensity } from '@/composables/density'\nimport { makeDimensionProps, useDimension } from '@/composables/dimensions'\nimport { makeElevationProps, useElevation } from '@/composables/elevation'\nimport { IconValue } from '@/composables/icons'\nimport { makeIconSizeProps, useIconSizes } from '@/composables/iconSizes'\nimport { useLocale } from '@/composables/locale'\nimport { makeLocationProps, useLocation } from '@/composables/location'\nimport { makePositionProps, usePosition } from '@/composables/position'\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 { toRef } from 'vue'\nimport { genericComponent, propsFactory } from '@/util'\n\n// Types\nimport type { PropType } from 'vue'\n\nconst allowedTypes = ['success', 'info', 'warning', 'error'] as const\n\ntype ContextualType = typeof allowedTypes[number]\n\nexport const makeVAlertProps = propsFactory({\n border: {\n type: [Boolean, String] as PropType<boolean | 'top' | 'end' | 'bottom' | 'start'>,\n validator: (val: boolean | string) => {\n return typeof val === 'boolean' || [\n 'top',\n 'end',\n 'bottom',\n 'start',\n ].includes(val)\n },\n },\n borderColor: String,\n closable: Boolean,\n closeIcon: {\n type: IconValue,\n default: '$close',\n },\n closeLabel: {\n type: String,\n default: '$vuetify.close',\n },\n icon: {\n type: [Boolean, String, Function, Object] as PropType<false | IconValue>,\n default: null,\n },\n modelValue: {\n type: Boolean,\n default: true,\n },\n prominent: Boolean,\n title: String,\n text: String,\n type: {\n type: String as PropType<ContextualType>,\n validator: (val: ContextualType) => allowedTypes.includes(val),\n },\n\n ...makeComponentProps(),\n ...makeDensityProps(),\n ...makeDimensionProps(),\n ...makeElevationProps(),\n ...makeIconSizeProps(),\n ...makeLocationProps(),\n ...makePositionProps(),\n ...makeRoundedProps(),\n ...makeTagProps(),\n ...makeThemeProps(),\n ...makeVariantProps({ variant: 'flat' } as const),\n}, 'VAlert')\n\nexport type VAlertSlots = {\n default: never\n prepend: never\n title: never\n text: never\n append: never\n close: { props: Record<string, any> }\n}\n\nexport const VAlert = genericComponent<VAlertSlots>()({\n name: 'VAlert',\n\n props: makeVAlertProps(),\n\n emits: {\n 'click:close': (e: MouseEvent) => true,\n 'update:modelValue': (value: boolean) => true,\n },\n\n setup (props, { emit, slots }) {\n const isActive = useProxiedModel(props, 'modelValue')\n const icon = toRef(() => {\n if (props.icon === false) return undefined\n if (!props.type) return props.icon\n\n return props.icon ?? `$${props.type}`\n })\n\n const { iconSize } = useIconSizes(props, () => props.prominent ? 44 : 28)\n const { themeClasses } = provideTheme(props)\n const { colorClasses, colorStyles, variantClasses } = useVariant(() => ({\n color: props.color ?? props.type,\n variant: props.variant,\n }))\n const { densityClasses } = useDensity(props)\n const { dimensionStyles } = useDimension(props)\n const { elevationClasses } = useElevation(props)\n const { locationStyles } = useLocation(props)\n const { positionClasses } = usePosition(props)\n const { roundedClasses } = useRounded(props)\n const { textColorClasses, textColorStyles } = useTextColor(() => props.borderColor)\n const { t } = useLocale()\n\n const closeProps = toRef(() => ({\n 'aria-label': t(props.closeLabel),\n onClick (e: MouseEvent) {\n isActive.value = false\n\n emit('click:close', e)\n },\n }))\n\n return () => {\n const hasPrepend = !!(slots.prepend || icon.value)\n const hasTitle = !!(slots.title || props.title)\n const hasClose = !!(slots.close || props.closable)\n\n const iconProps = {\n density: props.density,\n icon: icon.value,\n size: iconSize.value,\n }\n\n return isActive.value && (\n <props.tag\n class={[\n 'v-alert',\n props.border && {\n 'v-alert--border': !!props.border,\n [`v-alert--border-${props.border === true ? 'start' : props.border}`]: true,\n },\n {\n 'v-alert--prominent': props.prominent,\n },\n themeClasses.value,\n colorClasses.value,\n densityClasses.value,\n elevationClasses.value,\n positionClasses.value,\n roundedClasses.value,\n variantClasses.value,\n props.class,\n ]}\n style={[\n colorStyles.value,\n dimensionStyles.value,\n locationStyles.value,\n props.style,\n ]}\n role=\"alert\"\n >\n { genOverlays(false, 'v-alert') }\n\n { props.border && (\n <div\n key=\"border\"\n class={[\n 'v-alert__border',\n textColorClasses.value,\n ]}\n style={ textColorStyles.value }\n />\n )}\n\n { hasPrepend && (\n <div key=\"prepend\" class=\"v-alert__prepend\">\n { !slots.prepend ? (\n <VIcon key=\"prepend-icon\" { ...iconProps } />\n ) : (\n <VDefaultsProvider\n key=\"prepend-defaults\"\n disabled={ !icon.value }\n defaults={{ VIcon: { ...iconProps } }}\n v-slots:default={ slots.prepend }\n />\n )}\n </div>\n )}\n\n <div class=\"v-alert__content\">\n { hasTitle && (\n <VAlertTitle key=\"title\">\n { slots.title?.() ?? props.title }\n </VAlertTitle>\n )}\n\n { slots.text?.() ?? props.text }\n\n { slots.default?.() }\n </div>\n\n { slots.append && (\n <div key=\"append\" class=\"v-alert__append\">\n { slots.append() }\n </div>\n )}\n\n { hasClose && (\n <div key=\"close\" class=\"v-alert__close\">\n { !slots.close ? (\n <VBtn\n key=\"close-btn\"\n icon={ props.closeIcon }\n size=\"x-small\"\n variant=\"text\"\n { ...closeProps.value }\n />\n ) : (\n <VDefaultsProvider\n key=\"close-defaults\"\n defaults={{\n VBtn: {\n icon: props.closeIcon,\n size: 'x-small',\n variant: 'text',\n },\n }}\n >\n { slots.close?.({ props: closeProps.value }) }\n </VDefaultsProvider>\n )}\n </div>\n )}\n </props.tag>\n )\n }\n },\n})\n\nexport type VAlert = InstanceType<typeof VAlert>\n"],"mappings":"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","ignoreList":[]}
@@ -1,3 +1,4 @@
1
+ @use '../../styles/settings'
1
2
  @use '../../styles/tools'
2
3
  @use './variables' as *
3
4
 
@@ -42,6 +43,10 @@
42
43
  &.v-alert--border-bottom
43
44
  padding-bottom: $alert-padding + $alert-border-thin-width + $modifier
44
45
 
46
+ &:not(:has(.v-alert-title))
47
+ .v-alert__content
48
+ padding-top: calc(($alert-title-line-height - settings.$line-height-root * 1rem) / 2)
49
+
45
50
  .v-alert__border
46
51
  border-radius: inherit
47
52
  bottom: 0
@@ -70,6 +75,7 @@
70
75
  .v-alert__close
71
76
  flex: 0 1 auto
72
77
  grid-area: close
78
+ margin-block: -2px
73
79
 
74
80
  .v-alert__content
75
81
  align-self: center
@@ -78,7 +84,6 @@
78
84
 
79
85
  .v-alert__append,
80
86
  .v-alert__close
81
- align-self: flex-start
82
87
  margin-inline-start: $alert-append-margin-inline-start
83
88
 
84
89
  .v-alert__append
@@ -94,6 +99,7 @@
94
99
  align-items: center
95
100
  grid-area: prepend
96
101
  margin-inline-end: $alert-prepend-margin-inline-end
102
+ min-height: $alert-title-line-height
97
103
 
98
104
  .v-alert--prominent &
99
105
  align-self: center
@@ -159,7 +159,13 @@ export declare const makeVAppBarProps: <Defaults extends {
159
159
  type: PropType<unknown extends Defaults["density"] ? import("../VToolbar/VToolbar.js").Density : import("../VToolbar/VToolbar.js").Density | Defaults["density"]>;
160
160
  default: unknown extends Defaults["density"] ? import("../VToolbar/VToolbar.js").Density : NonNullable<import("../VToolbar/VToolbar.js").Density> | Defaults["density"];
161
161
  };
162
- extended: unknown extends Defaults["extended"] ? BooleanConstructor : {
162
+ extended: unknown extends Defaults["extended"] ? {
163
+ type: BooleanConstructor;
164
+ default: null;
165
+ } : Omit<{
166
+ type: BooleanConstructor;
167
+ default: null;
168
+ }, "type" | "default"> & {
163
169
  type: PropType<unknown extends Defaults["extended"] ? boolean : boolean | Defaults["extended"]>;
164
170
  default: unknown extends Defaults["extended"] ? boolean : boolean | Defaults["extended"];
165
171
  };
@@ -509,7 +515,10 @@ export declare const VAppBar: {
509
515
  default: string;
510
516
  validator: (v: any) => boolean;
511
517
  };
512
- extended: BooleanConstructor;
518
+ extended: {
519
+ type: BooleanConstructor;
520
+ default: null;
521
+ };
513
522
  extensionHeight: {
514
523
  type: (StringConstructor | NumberConstructor)[];
515
524
  default: number;
@@ -578,7 +587,10 @@ export declare const VAppBar: {
578
587
  default: string;
579
588
  validator: (v: any) => boolean;
580
589
  };
581
- extended: BooleanConstructor;
590
+ extended: {
591
+ type: BooleanConstructor;
592
+ default: null;
593
+ };
582
594
  extensionHeight: {
583
595
  type: (StringConstructor | NumberConstructor)[];
584
596
  default: number;
@@ -298,14 +298,18 @@ export declare const makeVAppBarNavIconProps: <Defaults extends {
298
298
  default: boolean;
299
299
  }, "type" | "default"> & {
300
300
  type: import("vue").PropType<unknown extends Defaults["ripple"] ? boolean | {
301
- class: string;
301
+ class?: string;
302
+ keys?: number[];
302
303
  } | undefined : boolean | {
303
- class: string;
304
+ class?: string;
305
+ keys?: number[];
304
306
  } | Defaults["ripple"] | undefined>;
305
307
  default: unknown extends Defaults["ripple"] ? boolean | {
306
- class: string;
308
+ class?: string;
309
+ keys?: number[];
307
310
  } | undefined : NonNullable<boolean | {
308
- class: string;
311
+ class?: string;
312
+ keys?: number[];
309
313
  } | undefined> | Defaults["ripple"];
310
314
  };
311
315
  text: unknown extends Defaults["text"] ? {
@@ -338,7 +342,8 @@ export declare const VAppBarNavIcon: {
338
342
  slim: boolean;
339
343
  stacked: boolean;
340
344
  ripple: boolean | {
341
- class: string;
345
+ class?: string;
346
+ keys?: number[];
342
347
  } | undefined;
343
348
  } & {
344
349
  location?: import("../../util/index.js").Anchor | null | undefined;
@@ -405,7 +410,8 @@ export declare const VAppBarNavIcon: {
405
410
  slim: boolean;
406
411
  stacked: boolean;
407
412
  ripple: boolean | {
408
- class: string;
413
+ class?: string;
414
+ keys?: number[];
409
415
  } | undefined;
410
416
  }, true, {}, import("vue").SlotsType<Partial<{
411
417
  default: () => import("vue").VNode[];
@@ -437,7 +443,8 @@ export declare const VAppBarNavIcon: {
437
443
  slim: boolean;
438
444
  stacked: boolean;
439
445
  ripple: boolean | {
440
- class: string;
446
+ class?: string;
447
+ keys?: number[];
441
448
  } | undefined;
442
449
  } & {
443
450
  location?: import("../../util/index.js").Anchor | null | undefined;
@@ -504,7 +511,8 @@ export declare const VAppBarNavIcon: {
504
511
  slim: boolean;
505
512
  stacked: boolean;
506
513
  ripple: boolean | {
507
- class: string;
514
+ class?: string;
515
+ keys?: number[];
508
516
  } | undefined;
509
517
  }>;
510
518
  __isFragment?: never;
@@ -528,7 +536,8 @@ export declare const VAppBarNavIcon: {
528
536
  slim: boolean;
529
537
  stacked: boolean;
530
538
  ripple: boolean | {
531
- class: string;
539
+ class?: string;
540
+ keys?: number[];
532
541
  } | undefined;
533
542
  } & {
534
543
  location?: import("../../util/index.js").Anchor | null | undefined;
@@ -595,7 +604,8 @@ export declare const VAppBarNavIcon: {
595
604
  slim: boolean;
596
605
  stacked: boolean;
597
606
  ripple: boolean | {
598
- class: string;
607
+ class?: string;
608
+ keys?: number[];
599
609
  } | undefined;
600
610
  }, {}, string, import("vue").SlotsType<Partial<{
601
611
  default: () => import("vue").VNode[];