vuetify 3.3.4 → 3.3.6

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 (94) hide show
  1. package/dist/json/attributes.json +4 -12
  2. package/dist/json/importMap.json +20 -20
  3. package/dist/json/tags.json +0 -2
  4. package/dist/json/web-types.json +7 -27
  5. package/dist/vuetify-labs.css +49 -27
  6. package/dist/vuetify-labs.d.ts +36 -98
  7. package/dist/vuetify-labs.esm.js +85 -53
  8. package/dist/vuetify-labs.esm.js.map +1 -1
  9. package/dist/vuetify-labs.js +85 -53
  10. package/dist/vuetify-labs.min.css +2 -2
  11. package/dist/vuetify.css +66 -43
  12. package/dist/vuetify.d.ts +5 -5
  13. package/dist/vuetify.esm.js +43 -34
  14. package/dist/vuetify.esm.js.map +1 -1
  15. package/dist/vuetify.js +43 -34
  16. package/dist/vuetify.js.map +1 -1
  17. package/dist/vuetify.min.css +2 -2
  18. package/dist/vuetify.min.js +21 -22
  19. package/dist/vuetify.min.js.map +1 -1
  20. package/lib/components/VAppBar/VAppBar.mjs +12 -9
  21. package/lib/components/VAppBar/VAppBar.mjs.map +1 -1
  22. package/lib/components/VAutocomplete/VAutocomplete.css +12 -4
  23. package/lib/components/VAutocomplete/VAutocomplete.sass +17 -9
  24. package/lib/components/VAutocomplete/_variables.scss +1 -0
  25. package/lib/components/VBreadcrumbs/VBreadcrumbs.css +4 -0
  26. package/lib/components/VBreadcrumbs/VBreadcrumbs.mjs +1 -1
  27. package/lib/components/VBreadcrumbs/VBreadcrumbs.mjs.map +1 -1
  28. package/lib/components/VBreadcrumbs/VBreadcrumbs.sass +4 -0
  29. package/lib/components/VBreadcrumbs/VBreadcrumbsItem.mjs +8 -7
  30. package/lib/components/VBreadcrumbs/VBreadcrumbsItem.mjs.map +1 -1
  31. package/lib/components/VBtn/VBtn.css +1 -1
  32. package/lib/components/VBtn/VBtn.sass +1 -1
  33. package/lib/components/VCombobox/VCombobox.css +12 -4
  34. package/lib/components/VCombobox/VCombobox.sass +17 -9
  35. package/lib/components/VCombobox/_variables.scss +1 -0
  36. package/lib/components/VFooter/VFooter.mjs +4 -2
  37. package/lib/components/VFooter/VFooter.mjs.map +1 -1
  38. package/lib/components/VNavigationDrawer/VNavigationDrawer.mjs +1 -1
  39. package/lib/components/VNavigationDrawer/VNavigationDrawer.mjs.map +1 -1
  40. package/lib/components/VOverlay/VOverlay.mjs +1 -1
  41. package/lib/components/VOverlay/VOverlay.mjs.map +1 -1
  42. package/lib/components/VSelect/VSelect.css +4 -3
  43. package/lib/components/VSelect/VSelect.sass +10 -12
  44. package/lib/components/VSlider/VSliderThumb.mjs +6 -2
  45. package/lib/components/VSlider/VSliderThumb.mjs.map +1 -1
  46. package/lib/components/VTextField/VTextField.css +2 -0
  47. package/lib/components/VTextField/VTextField.mjs +2 -4
  48. package/lib/components/VTextField/VTextField.mjs.map +1 -1
  49. package/lib/components/VTextField/VTextField.sass +3 -1
  50. package/lib/composables/validation.mjs +2 -2
  51. package/lib/composables/validation.mjs.map +1 -1
  52. package/lib/composables/virtual.mjs +7 -5
  53. package/lib/composables/virtual.mjs.map +1 -1
  54. package/lib/entry-bundler.mjs +1 -1
  55. package/lib/framework.mjs +1 -1
  56. package/lib/iconsets/fa.mjs +2 -2
  57. package/lib/iconsets/fa.mjs.map +1 -1
  58. package/lib/iconsets/fa4.mjs +2 -2
  59. package/lib/iconsets/fa4.mjs.map +1 -1
  60. package/lib/index.d.mts +5 -5
  61. package/lib/labs/VDataTable/composables/sort.mjs +4 -1
  62. package/lib/labs/VDataTable/composables/sort.mjs.map +1 -1
  63. package/lib/labs/VDatePicker/VDatePicker.css +3 -5
  64. package/lib/labs/VDatePicker/VDatePicker.mjs +12 -10
  65. package/lib/labs/VDatePicker/VDatePicker.mjs.map +1 -1
  66. package/lib/labs/VDatePicker/VDatePicker.sass +3 -5
  67. package/lib/labs/VDatePicker/VDatePickerControls.css +3 -1
  68. package/lib/labs/VDatePicker/VDatePickerControls.mjs +1 -1
  69. package/lib/labs/VDatePicker/VDatePickerControls.mjs.map +1 -1
  70. package/lib/labs/VDatePicker/VDatePickerControls.sass +3 -3
  71. package/lib/labs/VDatePicker/VDatePickerMonth.css +0 -1
  72. package/lib/labs/VDatePicker/VDatePickerMonth.mjs +0 -5
  73. package/lib/labs/VDatePicker/VDatePickerMonth.mjs.map +1 -1
  74. package/lib/labs/VDatePicker/VDatePickerMonth.sass +0 -1
  75. package/lib/labs/VDatePicker/VDatePickerTitle.sass +1 -1
  76. package/lib/labs/VDatePicker/VDatePickerYears.css +1 -1
  77. package/lib/labs/VDatePicker/VDatePickerYears.sass +1 -1
  78. package/lib/labs/VDatePicker/_variables.scss +0 -5
  79. package/lib/labs/VDatePicker/index.d.mts +36 -98
  80. package/lib/labs/VDateRangePicker/index.d.mts +34 -44
  81. package/lib/labs/VInfiniteScroll/VInfiniteScroll.mjs +24 -4
  82. package/lib/labs/VInfiniteScroll/VInfiniteScroll.mjs.map +1 -1
  83. package/lib/labs/VPicker/VPicker.css +1 -1
  84. package/lib/labs/VPicker/VPicker.sass +1 -1
  85. package/lib/labs/VPicker/_variables.scss +2 -2
  86. package/lib/labs/components.d.mts +36 -98
  87. package/lib/util/helpers.mjs +3 -0
  88. package/lib/util/helpers.mjs.map +1 -1
  89. package/lib/util/injectSelf.mjs +1 -0
  90. package/lib/util/injectSelf.mjs.map +1 -1
  91. package/package.json +2 -2
  92. package/lib/labs/VDatePicker/VDatePickerTable.sass +0 -84
  93. package/lib/labs/VDatePicker/mixins/date-picker-table.mjs +0 -210
  94. package/lib/labs/VDatePicker/mixins/date-picker-table.mjs.map +0 -1
package/dist/vuetify.css CHANGED
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * Vuetify v3.3.4
2
+ * Vuetify v3.3.6
3
3
  * Forged by John Leider
4
4
  * Released under the MIT License.
5
5
  */
@@ -16201,13 +16201,16 @@ html.overflow-y-hidden {
16201
16201
  align-self: flex-start;
16202
16202
  flex: 1 1;
16203
16203
  }
16204
+ .v-autocomplete .v-field input {
16205
+ min-width: 64px;
16206
+ }
16204
16207
  .v-autocomplete .v-field:not(.v-field--focused) input {
16205
16208
  min-width: 0;
16206
16209
  }
16207
16210
  .v-autocomplete .v-field--dirty .v-autocomplete__selection {
16208
16211
  margin-inline-end: 2px;
16209
16212
  }
16210
- .v-autocomplete .v-field--single-line .v-autocomplete__selection-text {
16213
+ .v-autocomplete .v-autocomplete__selection-text {
16211
16214
  overflow: hidden;
16212
16215
  text-overflow: ellipsis;
16213
16216
  white-space: nowrap;
@@ -16223,15 +16226,16 @@ html.overflow-y-hidden {
16223
16226
  }
16224
16227
  .v-autocomplete__selection {
16225
16228
  display: inline-flex;
16229
+ align-items: center;
16226
16230
  letter-spacing: inherit;
16227
16231
  line-height: inherit;
16228
- max-width: 100%;
16232
+ max-width: 90%;
16229
16233
  }
16230
- .v-autocomplete input, .v-autocomplete__selection {
16234
+ .v-autocomplete__selection {
16231
16235
  margin-top: var(--v-input-chips-margin-top);
16232
16236
  margin-bottom: var(--v-input-chips-margin-bottom);
16233
16237
  }
16234
- .v-autocomplete input:first-child, .v-autocomplete__selection:first-child {
16238
+ .v-autocomplete__selection:first-child {
16235
16239
  margin-inline-start: 0;
16236
16240
  }
16237
16241
  .v-autocomplete--selecting-index .v-autocomplete__selection {
@@ -16252,6 +16256,10 @@ html.overflow-y-hidden {
16252
16256
  padding-inline-start: inherit;
16253
16257
  padding-inline-end: inherit;
16254
16258
  }
16259
+ .v-autocomplete--single .v-field--variant-outlined input {
16260
+ top: calc(50% - var(--v-input-chips-margin-top));
16261
+ transform: translateY(-50%);
16262
+ }
16255
16263
  .v-autocomplete--single .v-field--active input {
16256
16264
  transition: none;
16257
16265
  }
@@ -16677,6 +16685,10 @@ html.overflow-y-hidden {
16677
16685
  opacity: var(--v-disabled-opacity);
16678
16686
  pointer-events: none;
16679
16687
  }
16688
+ .v-breadcrumbs-item--link {
16689
+ color: inherit;
16690
+ text-decoration: none;
16691
+ }
16680
16692
  .v-breadcrumbs-item--link:hover {
16681
16693
  text-decoration: underline;
16682
16694
  }
@@ -17078,7 +17090,7 @@ html.overflow-y-hidden {
17078
17090
  .v-card-actions .v-btn {
17079
17091
  padding: 0 8px;
17080
17092
  }
17081
- .v-card-actions .v-btn ~ .v-btn {
17093
+ .v-card-actions .v-btn ~ .v-btn:not(.v-btn-toggle .v-btn) {
17082
17094
  margin-inline-start: 0.5rem;
17083
17095
  }
17084
17096
 
@@ -18847,13 +18859,16 @@ html.overflow-y-hidden {
18847
18859
  align-self: flex-start;
18848
18860
  flex: 1 1;
18849
18861
  }
18862
+ .v-combobox .v-field input {
18863
+ min-width: 64px;
18864
+ }
18850
18865
  .v-combobox .v-field:not(.v-field--focused) input {
18851
18866
  min-width: 0;
18852
18867
  }
18853
18868
  .v-combobox .v-field--dirty .v-combobox__selection {
18854
18869
  margin-inline-end: 2px;
18855
18870
  }
18856
- .v-combobox .v-field--single-line .v-combobox__selection-text {
18871
+ .v-combobox .v-combobox__selection-text {
18857
18872
  overflow: hidden;
18858
18873
  text-overflow: ellipsis;
18859
18874
  white-space: nowrap;
@@ -18869,15 +18884,16 @@ html.overflow-y-hidden {
18869
18884
  }
18870
18885
  .v-combobox__selection {
18871
18886
  display: inline-flex;
18887
+ align-items: center;
18872
18888
  letter-spacing: inherit;
18873
18889
  line-height: inherit;
18874
- max-width: 100%;
18890
+ max-width: 90%;
18875
18891
  }
18876
- .v-combobox input, .v-combobox__selection {
18892
+ .v-combobox__selection {
18877
18893
  margin-top: var(--v-input-chips-margin-top);
18878
18894
  margin-bottom: var(--v-input-chips-margin-bottom);
18879
18895
  }
18880
- .v-combobox input:first-child, .v-combobox__selection:first-child {
18896
+ .v-combobox__selection:first-child {
18881
18897
  margin-inline-start: 0;
18882
18898
  }
18883
18899
  .v-combobox--selecting-index .v-combobox__selection {
@@ -18898,6 +18914,10 @@ html.overflow-y-hidden {
18898
18914
  padding-inline-start: inherit;
18899
18915
  padding-inline-end: inherit;
18900
18916
  }
18917
+ .v-combobox--single .v-field--variant-outlined input {
18918
+ top: calc(50% - var(--v-input-chips-margin-top));
18919
+ transform: translateY(-50%);
18920
+ }
18901
18921
  .v-combobox--single .v-field--active input {
18902
18922
  transition: none;
18903
18923
  }
@@ -21304,7 +21324,7 @@ html.v-overlay-scroll-blocked {
21304
21324
  .v-select .v-field--dirty .v-select__selection {
21305
21325
  margin-inline-end: 2px;
21306
21326
  }
21307
- .v-select .v-field--single-line .v-select__selection-text {
21327
+ .v-select .v-select__selection-text {
21308
21328
  overflow: hidden;
21309
21329
  text-overflow: ellipsis;
21310
21330
  white-space: nowrap;
@@ -21316,15 +21336,16 @@ html.v-overlay-scroll-blocked {
21316
21336
  }
21317
21337
  .v-select__selection {
21318
21338
  display: inline-flex;
21339
+ align-items: center;
21319
21340
  letter-spacing: inherit;
21320
21341
  line-height: inherit;
21321
21342
  max-width: 100%;
21322
21343
  }
21323
- .v-select--chips .v-select__selection, .v-select--selection-slot .v-select__selection {
21344
+ .v-select .v-select__selection {
21324
21345
  margin-top: var(--v-input-chips-margin-top);
21325
21346
  margin-bottom: var(--v-input-chips-margin-bottom);
21326
21347
  }
21327
- .v-select--chips .v-select__selection:first-child, .v-select--selection-slot .v-select__selection:first-child {
21348
+ .v-select .v-select__selection:first-child {
21328
21349
  margin-inline-start: 0;
21329
21350
  }
21330
21351
  .v-select--selected .v-field .v-field__input > input {
@@ -22014,6 +22035,8 @@ html.v-overlay-scroll-blocked {
22014
22035
  flex: 1;
22015
22036
  transition: 0.15s opacity cubic-bezier(0.4, 0, 0.2, 1);
22016
22037
  min-width: 0;
22038
+ margin-top: var(--v-input-chips-margin-top);
22039
+ margin-bottom: var(--v-input-chips-margin-bottom);
22017
22040
  }
22018
22041
  .v-text-field input:focus, .v-text-field input:active {
22019
22042
  outline: none;
@@ -22786,6 +22809,36 @@ html.v-overlay-scroll-blocked {
22786
22809
  }
22787
22810
  .v-color-picker-canvas:hover .v-color-picker-canvas__dot {
22788
22811
  will-change: transform;
22812
+ }.v-color-picker-edit {
22813
+ display: flex;
22814
+ }
22815
+
22816
+ .v-color-picker-edit__input {
22817
+ width: 100%;
22818
+ display: flex;
22819
+ flex-wrap: wrap;
22820
+ justify-content: center;
22821
+ text-align: center;
22822
+ }
22823
+ .v-color-picker-edit__input:not(:last-child).v-locale--is-ltr, .v-locale--is-ltr .v-color-picker-edit__input:not(:last-child) {
22824
+ margin-right: 8px;
22825
+ }
22826
+ .v-color-picker-edit__input:not(:last-child).v-locale--is-rtl, .v-locale--is-rtl .v-color-picker-edit__input:not(:last-child) {
22827
+ margin-left: 8px;
22828
+ }
22829
+ .v-color-picker-edit__input input {
22830
+ border-radius: 4px;
22831
+ margin-bottom: 8px;
22832
+ min-width: 0;
22833
+ outline: none;
22834
+ text-align: center;
22835
+ width: 100%;
22836
+ height: 32px;
22837
+ background: rgba(var(--v-theme-surface-variant), 0.2);
22838
+ color: rgba(var(--v-theme-on-surface));
22839
+ }
22840
+ .v-color-picker-edit__input span {
22841
+ font-size: 0.75rem;
22789
22842
  }.v-color-picker-preview__alpha .v-slider-track__background {
22790
22843
  background-color: transparent !important;
22791
22844
  }
@@ -22852,36 +22905,6 @@ html.v-overlay-scroll-blocked {
22852
22905
  align-items: center;
22853
22906
  display: flex;
22854
22907
  margin-bottom: 24px;
22855
- }.v-color-picker-edit {
22856
- display: flex;
22857
- }
22858
-
22859
- .v-color-picker-edit__input {
22860
- width: 100%;
22861
- display: flex;
22862
- flex-wrap: wrap;
22863
- justify-content: center;
22864
- text-align: center;
22865
- }
22866
- .v-color-picker-edit__input:not(:last-child).v-locale--is-ltr, .v-locale--is-ltr .v-color-picker-edit__input:not(:last-child) {
22867
- margin-right: 8px;
22868
- }
22869
- .v-color-picker-edit__input:not(:last-child).v-locale--is-rtl, .v-locale--is-rtl .v-color-picker-edit__input:not(:last-child) {
22870
- margin-left: 8px;
22871
- }
22872
- .v-color-picker-edit__input input {
22873
- border-radius: 4px;
22874
- margin-bottom: 8px;
22875
- min-width: 0;
22876
- outline: none;
22877
- text-align: center;
22878
- width: 100%;
22879
- height: 32px;
22880
- background: rgba(var(--v-theme-surface-variant), 0.2);
22881
- color: rgba(var(--v-theme-on-surface));
22882
- }
22883
- .v-color-picker-edit__input span {
22884
- font-size: 0.75rem;
22885
22908
  }.v-color-picker-swatches {
22886
22909
  overflow-y: auto;
22887
22910
  }
package/dist/vuetify.d.ts CHANGED
@@ -60012,13 +60012,13 @@ declare module '@vue/runtime-core' {
60012
60012
  VCardSubtitle: typeof import('vuetify/components')['VCardSubtitle']
60013
60013
  VCardText: typeof import('vuetify/components')['VCardText']
60014
60014
  VCardTitle: typeof import('vuetify/components')['VCardTitle']
60015
+ VCarousel: typeof import('vuetify/components')['VCarousel']
60016
+ VCarouselItem: typeof import('vuetify/components')['VCarouselItem']
60015
60017
  VCheckbox: typeof import('vuetify/components')['VCheckbox']
60016
60018
  VCheckboxBtn: typeof import('vuetify/components')['VCheckboxBtn']
60017
60019
  VChip: typeof import('vuetify/components')['VChip']
60018
60020
  VChipGroup: typeof import('vuetify/components')['VChipGroup']
60019
60021
  VCode: typeof import('vuetify/components')['VCode']
60020
- VCarousel: typeof import('vuetify/components')['VCarousel']
60021
- VCarouselItem: typeof import('vuetify/components')['VCarouselItem']
60022
60022
  VColorPicker: typeof import('vuetify/components')['VColorPicker']
60023
60023
  VCombobox: typeof import('vuetify/components')['VCombobox']
60024
60024
  VCounter: typeof import('vuetify/components')['VCounter']
@@ -60069,12 +60069,13 @@ declare module '@vue/runtime-core' {
60069
60069
  VSlideGroup: typeof import('vuetify/components')['VSlideGroup']
60070
60070
  VSlideGroupItem: typeof import('vuetify/components')['VSlideGroupItem']
60071
60071
  VSlider: typeof import('vuetify/components')['VSlider']
60072
- VSwitch: typeof import('vuetify/components')['VSwitch']
60073
60072
  VSnackbar: typeof import('vuetify/components')['VSnackbar']
60073
+ VSwitch: typeof import('vuetify/components')['VSwitch']
60074
60074
  VSystemBar: typeof import('vuetify/components')['VSystemBar']
60075
60075
  VTabs: typeof import('vuetify/components')['VTabs']
60076
60076
  VTab: typeof import('vuetify/components')['VTab']
60077
60077
  VTable: typeof import('vuetify/components')['VTable']
60078
+ VTextarea: typeof import('vuetify/components')['VTextarea']
60078
60079
  VTextField: typeof import('vuetify/components')['VTextField']
60079
60080
  VTimeline: typeof import('vuetify/components')['VTimeline']
60080
60081
  VTimelineItem: typeof import('vuetify/components')['VTimelineItem']
@@ -60086,11 +60087,11 @@ declare module '@vue/runtime-core' {
60086
60087
  VWindowItem: typeof import('vuetify/components')['VWindowItem']
60087
60088
  VDefaultsProvider: typeof import('vuetify/components')['VDefaultsProvider']
60088
60089
  VForm: typeof import('vuetify/components')['VForm']
60089
- VHover: typeof import('vuetify/components')['VHover']
60090
60090
  VContainer: typeof import('vuetify/components')['VContainer']
60091
60091
  VCol: typeof import('vuetify/components')['VCol']
60092
60092
  VRow: typeof import('vuetify/components')['VRow']
60093
60093
  VSpacer: typeof import('vuetify/components')['VSpacer']
60094
+ VHover: typeof import('vuetify/components')['VHover']
60094
60095
  VLayout: typeof import('vuetify/components')['VLayout']
60095
60096
  VLayoutItem: typeof import('vuetify/components')['VLayoutItem']
60096
60097
  VLazy: typeof import('vuetify/components')['VLazy']
@@ -60119,7 +60120,6 @@ declare module '@vue/runtime-core' {
60119
60120
  VExpandTransition: typeof import('vuetify/components')['VExpandTransition']
60120
60121
  VExpandXTransition: typeof import('vuetify/components')['VExpandXTransition']
60121
60122
  VDialogTransition: typeof import('vuetify/components')['VDialogTransition']
60122
- VTextarea: typeof import('vuetify/components')['VTextarea']
60123
60123
  VBottomSheet: typeof import('vuetify/labs/components')['VBottomSheet']
60124
60124
  VDataTable: typeof import('vuetify/labs/components')['VDataTable']
60125
60125
  VDataTableFooter: typeof import('vuetify/labs/components')['VDataTableFooter']
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * Vuetify v3.3.4
2
+ * Vuetify v3.3.6
3
3
  * Forged by John Leider
4
4
  * Released under the MIT License.
5
5
  */
@@ -1286,6 +1286,7 @@ function injectSelf(key) {
1286
1286
  // TS doesn't allow symbol as index type
1287
1287
  return provides[key];
1288
1288
  }
1289
+ return undefined;
1289
1290
  }
1290
1291
 
1291
1292
  function isFixedPosition(el) {
@@ -3636,16 +3637,18 @@ const VAppBar = genericComponent()({
3636
3637
  const extensionHeight = vToolbarRef.value?.extensionHeight ?? 0;
3637
3638
  return height + extensionHeight;
3638
3639
  });
3639
- watchEffect(() => {
3640
- if (scrollBehavior.value.hide) {
3641
- if (scrollBehavior.value.inverted) {
3642
- isActive.value = currentScroll.value > scrollThreshold.value;
3640
+ useToggleScope(computed(() => !!props.scrollBehavior), () => {
3641
+ watchEffect(() => {
3642
+ if (scrollBehavior.value.hide) {
3643
+ if (scrollBehavior.value.inverted) {
3644
+ isActive.value = currentScroll.value > scrollThreshold.value;
3645
+ } else {
3646
+ isActive.value = isScrollingUp.value || currentScroll.value < scrollThreshold.value;
3647
+ }
3643
3648
  } else {
3644
- isActive.value = isScrollingUp.value || currentScroll.value < scrollThreshold.value;
3649
+ isActive.value = true;
3645
3650
  }
3646
- } else {
3647
- isActive.value = true;
3648
- }
3651
+ });
3649
3652
  });
3650
3653
  const {
3651
3654
  ssrBootStyles
@@ -6277,12 +6280,12 @@ function useValidation(props) {
6277
6280
  const handler = typeof rule === 'function' ? rule : () => rule;
6278
6281
  const result = await handler(validationModel.value);
6279
6282
  if (result === true) continue;
6280
- if (typeof result !== 'string') {
6283
+ if (result !== false && typeof result !== 'string') {
6281
6284
  // eslint-disable-next-line no-console
6282
6285
  console.warn(`${result} is not a valid value. Rule functions must return boolean true or a string.`);
6283
6286
  continue;
6284
6287
  }
6285
- results.push(result);
6288
+ results.push(result || '');
6286
6289
  }
6287
6290
  internalErrorMessages.value = results;
6288
6291
  isValidating.value = false;
@@ -9417,7 +9420,7 @@ const makeVOverlayProps = propsFactory({
9417
9420
  modelValue: Boolean,
9418
9421
  persistent: Boolean,
9419
9422
  scrim: {
9420
- type: [String, Boolean],
9423
+ type: [Boolean, String],
9421
9424
  default: true
9422
9425
  },
9423
9426
  zIndex: {
@@ -10351,12 +10354,10 @@ const VTextField = genericComponent()({
10351
10354
  }]]);
10352
10355
  return createVNode(Fragment, null, [props.prefix && createVNode("span", {
10353
10356
  "class": "v-text-field__prefix"
10354
- }, [props.prefix]), slots.default ? createVNode("div", {
10357
+ }, [props.prefix]), createVNode("div", {
10355
10358
  "class": fieldClass,
10356
10359
  "data-no-activator": ""
10357
- }, [slots.default(), inputNode]) : cloneVNode(inputNode, {
10358
- class: fieldClass
10359
- }), props.suffix && createVNode("span", {
10360
+ }, [slots.default ? createVNode(Fragment, null, [slots.default(), inputNode]) : cloneVNode(inputNode)]), props.suffix && createVNode("span", {
10360
10361
  "class": "v-text-field__suffix"
10361
10362
  }, [props.suffix])]);
10362
10363
  }
@@ -11592,20 +11593,21 @@ const VBreadcrumbsItem = genericComponent()({
11592
11593
  textColorStyles
11593
11594
  } = useTextColor(color);
11594
11595
  useRender(() => {
11595
- const Tag = link.isLink.value ? 'a' : props.tag;
11596
- return createVNode(Tag, {
11596
+ return createVNode(props.tag, {
11597
11597
  "class": ['v-breadcrumbs-item', {
11598
11598
  'v-breadcrumbs-item--active': isActive.value,
11599
11599
  'v-breadcrumbs-item--disabled': props.disabled,
11600
- 'v-breadcrumbs-item--link': link.isLink.value,
11601
11600
  [`${props.activeClass}`]: isActive.value && props.activeClass
11602
11601
  }, textColorClasses.value, props.class],
11603
11602
  "style": [textColorStyles.value, props.style],
11604
- "href": link.href.value,
11605
- "aria-current": isActive.value ? 'page' : undefined,
11606
- "onClick": link.navigate
11603
+ "aria-current": isActive.value ? 'page' : undefined
11607
11604
  }, {
11608
- default: () => [slots.default?.() ?? props.title]
11605
+ default: () => [!link.isLink.value ? slots.default?.() ?? props.title : createVNode("a", {
11606
+ "class": "v-breadcrumbs-item--link",
11607
+ "href": link.href.value,
11608
+ "aria-current": isActive.value ? 'page' : undefined,
11609
+ "onClick": link.navigate
11610
+ }, [slots.default?.() ?? props.title])]
11609
11611
  });
11610
11612
  });
11611
11613
  return {};
@@ -11681,7 +11683,7 @@ const VBreadcrumbs = genericComponent()({
11681
11683
  "class": ['v-breadcrumbs', backgroundColorClasses.value, densityClasses.value, roundedClasses.value, props.class],
11682
11684
  "style": [backgroundColorStyles.value, props.style]
11683
11685
  }, {
11684
- default: () => [hasPrepend && createVNode("div", {
11686
+ default: () => [hasPrepend && createVNode("li", {
11685
11687
  "key": "prepend",
11686
11688
  "class": "v-breadcrumbs__prepend"
11687
11689
  }, [!slots.prepend ? createVNode(VIcon, {
@@ -13293,6 +13295,9 @@ const VSliderThumb = genericComponent()({
13293
13295
  emit
13294
13296
  } = _ref;
13295
13297
  const slider = inject$1(VSliderSymbol);
13298
+ const {
13299
+ rtlClasses
13300
+ } = useRtl();
13296
13301
  if (!slider) throw new Error('[Vuetify] v-slider-thumb must be used inside v-slider or v-range-slider');
13297
13302
  const {
13298
13303
  thumbColor,
@@ -13360,7 +13365,7 @@ const VSliderThumb = genericComponent()({
13360
13365
  "class": ['v-slider-thumb', {
13361
13366
  'v-slider-thumb--focused': props.focused,
13362
13367
  'v-slider-thumb--pressed': props.focused && mousePressed.value
13363
- }, props.class],
13368
+ }, props.class, rtlClasses.value],
13364
13369
  "style": [{
13365
13370
  '--v-slider-thumb-position': positionPercentage,
13366
13371
  '--v-slider-thumb-size': convertToUnit(thumbSize.value)
@@ -15343,7 +15348,9 @@ const VFooter = genericComponent()({
15343
15348
  useRender(() => createVNode(props.tag, {
15344
15349
  "ref": resizeRef,
15345
15350
  "class": ['v-footer', themeClasses.value, backgroundColorClasses.value, borderClasses.value, elevationClasses.value, roundedClasses.value, props.class],
15346
- "style": [backgroundColorStyles.value, props.app ? layoutItemStyles.value : undefined, props.style]
15351
+ "style": [backgroundColorStyles.value, props.app ? layoutItemStyles.value : {
15352
+ height: convertToUnit(props.height)
15353
+ }, props.style]
15347
15354
  }, slots));
15348
15355
  return {};
15349
15356
  }
@@ -16306,7 +16313,7 @@ const makeVNavigationDrawerProps = propsFactory({
16306
16313
  default: 56
16307
16314
  },
16308
16315
  scrim: {
16309
- type: [String, Boolean],
16316
+ type: [Boolean, String],
16310
16317
  default: true
16311
16318
  },
16312
16319
  image: String,
@@ -19100,12 +19107,14 @@ function useVirtual(props, items, offset) {
19100
19107
  const direction = scrollTop < lastScrollTop ? UP : DOWN;
19101
19108
  const midPointIndex = calculateMidPointIndex(scrollTop + height / 2);
19102
19109
  const buffer = Math.round(visibleItems.value / 3);
19103
- if (direction === UP && midPointIndex <= first.value + buffer * 2 - 1) {
19104
- first.value = clamp(midPointIndex - buffer, 0, items.value.length);
19105
- } else if (direction === DOWN && midPointIndex >= first.value + buffer * 2 - 1) {
19106
- first.value = clamp(midPointIndex - buffer, 0, items.value.length - visibleItems.value);
19110
+ const firstIndex = midPointIndex - buffer;
19111
+ const lastIndex = first.value + buffer * 2 - 1;
19112
+ if (direction === UP && midPointIndex <= lastIndex) {
19113
+ first.value = clamp(firstIndex, 0, items.value.length);
19114
+ } else if (direction === DOWN && midPointIndex >= lastIndex) {
19115
+ first.value = clamp(firstIndex, 0, items.value.length - visibleItems.value);
19107
19116
  }
19108
- lastScrollTop = containerRef.value.scrollTop;
19117
+ lastScrollTop = scrollTop;
19109
19118
  }
19110
19119
  function scrollToIndex(index) {
19111
19120
  if (!containerRef.value) return;
@@ -20004,7 +20013,7 @@ function createVuetify$1() {
20004
20013
  date
20005
20014
  };
20006
20015
  }
20007
- const version$1 = "3.3.4";
20016
+ const version$1 = "3.3.6";
20008
20017
  createVuetify$1.version = version$1;
20009
20018
 
20010
20019
  // Vue's inject() can only be used in setup
@@ -20029,7 +20038,7 @@ const createVuetify = function () {
20029
20038
  ...options
20030
20039
  });
20031
20040
  };
20032
- const version = "3.3.4";
20041
+ const version = "3.3.6";
20033
20042
  createVuetify.version = version;
20034
20043
 
20035
20044
  export { components, createVuetify, directives, useDefaults, useDisplay, useLayout, useLocale, useRtl, useTheme, version };