vuetify 3.7.5 → 3.7.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 (147) hide show
  1. package/dist/_component-variables-labs.sass +1 -0
  2. package/dist/json/attributes.json +3829 -3533
  3. package/dist/json/importMap-labs.json +22 -14
  4. package/dist/json/importMap.json +174 -174
  5. package/dist/json/tags.json +84 -0
  6. package/dist/json/web-types.json +7290 -6349
  7. package/dist/vuetify-labs.css +2544 -2473
  8. package/dist/vuetify-labs.d.ts +1314 -1
  9. package/dist/vuetify-labs.esm.js +363 -23
  10. package/dist/vuetify-labs.esm.js.map +1 -1
  11. package/dist/vuetify-labs.js +363 -23
  12. package/dist/vuetify-labs.min.css +2 -2
  13. package/dist/vuetify.css +5574 -5576
  14. package/dist/vuetify.d.ts +62 -60
  15. package/dist/vuetify.esm.js +41 -19
  16. package/dist/vuetify.esm.js.map +1 -1
  17. package/dist/vuetify.js +41 -19
  18. package/dist/vuetify.js.map +1 -1
  19. package/dist/vuetify.min.css +2 -2
  20. package/dist/vuetify.min.js +40 -39
  21. package/dist/vuetify.min.js.map +1 -1
  22. package/lib/components/VAutocomplete/VAutocomplete.mjs +2 -1
  23. package/lib/components/VAutocomplete/VAutocomplete.mjs.map +1 -1
  24. package/lib/components/VCombobox/VCombobox.mjs +2 -1
  25. package/lib/components/VCombobox/VCombobox.mjs.map +1 -1
  26. package/lib/components/VList/VListItem.mjs +14 -8
  27. package/lib/components/VList/VListItem.mjs.map +1 -1
  28. package/lib/components/VRangeSlider/VRangeSlider.mjs +2 -2
  29. package/lib/components/VRangeSlider/VRangeSlider.mjs.map +1 -1
  30. package/lib/components/VSelect/VSelect.mjs +2 -1
  31. package/lib/components/VSelect/VSelect.mjs.map +1 -1
  32. package/lib/components/VSelectionControl/VSelectionControl.css +1 -3
  33. package/lib/components/VSelectionControl/VSelectionControl.sass +1 -5
  34. package/lib/components/VVirtualScroll/VVirtualScroll.mjs +1 -1
  35. package/lib/components/VVirtualScroll/VVirtualScroll.mjs.map +1 -1
  36. package/lib/composables/nested/nested.mjs +4 -2
  37. package/lib/composables/nested/nested.mjs.map +1 -1
  38. package/lib/composables/virtual.mjs +7 -2
  39. package/lib/composables/virtual.mjs.map +1 -1
  40. package/lib/entry-bundler.mjs +1 -1
  41. package/lib/framework.mjs +1 -1
  42. package/lib/iconsets/mdi.mjs +2 -1
  43. package/lib/iconsets/mdi.mjs.map +1 -1
  44. package/lib/index.d.mts +62 -60
  45. package/lib/labs/VFileUpload/VFileUpload.css +74 -0
  46. package/lib/labs/VFileUpload/VFileUpload.mjs +241 -0
  47. package/lib/labs/VFileUpload/VFileUpload.mjs.map +1 -0
  48. package/lib/labs/VFileUpload/VFileUpload.sass +75 -0
  49. package/lib/labs/VFileUpload/VFileUploadItem.mjs +95 -0
  50. package/lib/labs/VFileUpload/VFileUploadItem.mjs.map +1 -0
  51. package/lib/labs/VFileUpload/_variables.scss +12 -0
  52. package/lib/labs/VFileUpload/index.d.mts +1365 -0
  53. package/lib/labs/VFileUpload/index.mjs +3 -0
  54. package/lib/labs/VFileUpload/index.mjs.map +1 -0
  55. package/lib/labs/VNumberInput/VNumberInput.mjs +7 -4
  56. package/lib/labs/VNumberInput/VNumberInput.mjs.map +1 -1
  57. package/lib/labs/components.d.mts +1348 -37
  58. package/lib/labs/components.mjs +1 -0
  59. package/lib/labs/components.mjs.map +1 -1
  60. package/lib/locale/af.mjs +5 -0
  61. package/lib/locale/af.mjs.map +1 -1
  62. package/lib/locale/ar.mjs +5 -0
  63. package/lib/locale/ar.mjs.map +1 -1
  64. package/lib/locale/az.mjs +5 -0
  65. package/lib/locale/az.mjs.map +1 -1
  66. package/lib/locale/bg.mjs +5 -0
  67. package/lib/locale/bg.mjs.map +1 -1
  68. package/lib/locale/ca.mjs +5 -0
  69. package/lib/locale/ca.mjs.map +1 -1
  70. package/lib/locale/ckb.mjs +5 -0
  71. package/lib/locale/ckb.mjs.map +1 -1
  72. package/lib/locale/cs.mjs +5 -0
  73. package/lib/locale/cs.mjs.map +1 -1
  74. package/lib/locale/da.mjs +5 -0
  75. package/lib/locale/da.mjs.map +1 -1
  76. package/lib/locale/de.mjs +5 -0
  77. package/lib/locale/de.mjs.map +1 -1
  78. package/lib/locale/el.mjs +5 -0
  79. package/lib/locale/el.mjs.map +1 -1
  80. package/lib/locale/en.mjs +5 -0
  81. package/lib/locale/en.mjs.map +1 -1
  82. package/lib/locale/es.mjs +5 -0
  83. package/lib/locale/es.mjs.map +1 -1
  84. package/lib/locale/et.mjs +5 -0
  85. package/lib/locale/et.mjs.map +1 -1
  86. package/lib/locale/fa.mjs +5 -0
  87. package/lib/locale/fa.mjs.map +1 -1
  88. package/lib/locale/fi.mjs +5 -0
  89. package/lib/locale/fi.mjs.map +1 -1
  90. package/lib/locale/fr.mjs +5 -0
  91. package/lib/locale/fr.mjs.map +1 -1
  92. package/lib/locale/he.mjs +5 -0
  93. package/lib/locale/he.mjs.map +1 -1
  94. package/lib/locale/hr.mjs +5 -0
  95. package/lib/locale/hr.mjs.map +1 -1
  96. package/lib/locale/hu.mjs +5 -0
  97. package/lib/locale/hu.mjs.map +1 -1
  98. package/lib/locale/id.mjs +5 -0
  99. package/lib/locale/id.mjs.map +1 -1
  100. package/lib/locale/index.d.mts +215 -0
  101. package/lib/locale/it.mjs +5 -0
  102. package/lib/locale/it.mjs.map +1 -1
  103. package/lib/locale/ja.mjs +5 -0
  104. package/lib/locale/ja.mjs.map +1 -1
  105. package/lib/locale/km.mjs +5 -0
  106. package/lib/locale/km.mjs.map +1 -1
  107. package/lib/locale/ko.mjs +5 -0
  108. package/lib/locale/ko.mjs.map +1 -1
  109. package/lib/locale/lt.mjs +5 -0
  110. package/lib/locale/lt.mjs.map +1 -1
  111. package/lib/locale/lv.mjs +5 -0
  112. package/lib/locale/lv.mjs.map +1 -1
  113. package/lib/locale/nl.mjs +5 -0
  114. package/lib/locale/nl.mjs.map +1 -1
  115. package/lib/locale/no.mjs +5 -0
  116. package/lib/locale/no.mjs.map +1 -1
  117. package/lib/locale/pl.mjs +5 -0
  118. package/lib/locale/pl.mjs.map +1 -1
  119. package/lib/locale/pt.mjs +5 -0
  120. package/lib/locale/pt.mjs.map +1 -1
  121. package/lib/locale/ro.mjs +5 -0
  122. package/lib/locale/ro.mjs.map +1 -1
  123. package/lib/locale/ru.mjs +5 -0
  124. package/lib/locale/ru.mjs.map +1 -1
  125. package/lib/locale/sk.mjs +5 -0
  126. package/lib/locale/sk.mjs.map +1 -1
  127. package/lib/locale/sl.mjs +5 -0
  128. package/lib/locale/sl.mjs.map +1 -1
  129. package/lib/locale/sr-Cyrl.mjs +5 -0
  130. package/lib/locale/sr-Cyrl.mjs.map +1 -1
  131. package/lib/locale/sr-Latn.mjs +5 -0
  132. package/lib/locale/sr-Latn.mjs.map +1 -1
  133. package/lib/locale/sv.mjs +5 -0
  134. package/lib/locale/sv.mjs.map +1 -1
  135. package/lib/locale/th.mjs +5 -0
  136. package/lib/locale/th.mjs.map +1 -1
  137. package/lib/locale/tr.mjs +5 -0
  138. package/lib/locale/tr.mjs.map +1 -1
  139. package/lib/locale/uk.mjs +5 -0
  140. package/lib/locale/uk.mjs.map +1 -1
  141. package/lib/locale/vi.mjs +5 -0
  142. package/lib/locale/vi.mjs.map +1 -1
  143. package/lib/locale/zh-Hans.mjs +5 -0
  144. package/lib/locale/zh-Hans.mjs.map +1 -1
  145. package/lib/locale/zh-Hant.mjs +5 -0
  146. package/lib/locale/zh-Hant.mjs.map +1 -1
  147. package/package.json +2 -2
package/dist/vuetify.js CHANGED
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * Vuetify v3.7.5
2
+ * Vuetify v3.7.6
3
3
  * Forged by John Leider
4
4
  * Released under the MIT License.
5
5
  */
@@ -1771,7 +1771,8 @@
1771
1771
  calendar: 'mdi-calendar',
1772
1772
  treeviewCollapse: 'mdi-menu-down',
1773
1773
  treeviewExpand: 'mdi-menu-right',
1774
- eyeDropper: 'mdi-eyedropper'
1774
+ eyeDropper: 'mdi-eyedropper',
1775
+ upload: 'mdi-cloud-upload'
1775
1776
  };
1776
1777
  const mdi = {
1777
1778
  // Not using mergeProps here, functional components merge props by default (?)
@@ -2475,6 +2476,11 @@
2475
2476
  counter: '{0} files',
2476
2477
  counterSize: '{0} files ({1} in total)'
2477
2478
  },
2479
+ fileUpload: {
2480
+ title: 'Drag and drop files here',
2481
+ divider: 'or',
2482
+ browse: 'Browse Files'
2483
+ },
2478
2484
  timePicker: {
2479
2485
  am: 'AM',
2480
2486
  pm: 'PM',
@@ -8945,7 +8951,9 @@
8945
8951
  isLeaf: vue.computed(() => !parent.root.children.value.get(computedId.value)),
8946
8952
  isGroupActivator: parent.isGroupActivator
8947
8953
  };
8948
- !parent.isGroupActivator && parent.root.register(computedId.value, parent.id.value, isGroup);
8954
+ vue.onBeforeMount(() => {
8955
+ !parent.isGroupActivator && parent.root.register(computedId.value, parent.id.value, isGroup);
8956
+ });
8949
8957
  vue.onBeforeUnmount(() => {
8950
8958
  !parent.isGroupActivator && parent.root.unregister(computedId.value);
8951
8959
  });
@@ -9179,16 +9187,22 @@
9179
9187
  color: isActive.value ? color.value ?? props.baseColor : props.baseColor,
9180
9188
  variant: props.variant
9181
9189
  }));
9190
+
9191
+ // useNestedItem doesn't call register until beforeMount,
9192
+ // so this can't be an immediate watcher as we don't know parent yet
9182
9193
  vue.watch(() => link.isActive?.value, val => {
9183
- if (val && parent.value != null) {
9194
+ if (!val) return;
9195
+ handleActiveLink();
9196
+ });
9197
+ vue.onBeforeMount(() => {
9198
+ if (link.isActive?.value) handleActiveLink();
9199
+ });
9200
+ function handleActiveLink() {
9201
+ if (parent.value != null) {
9184
9202
  root.open(parent.value, true);
9185
9203
  }
9186
- if (val) {
9187
- openOnSelect(val);
9188
- }
9189
- }, {
9190
- immediate: true
9191
- });
9204
+ openOnSelect(true);
9205
+ }
9192
9206
  const {
9193
9207
  themeClasses
9194
9208
  } = provideTheme(props);
@@ -12301,6 +12315,7 @@
12301
12315
  }
12302
12316
  }
12303
12317
  });
12318
+ let scrollTimeout = -1;
12304
12319
  function handleScroll() {
12305
12320
  if (!containerRef.value || !markerRef.value) return;
12306
12321
  const scrollTop = containerRef.value.scrollTop;
@@ -12317,12 +12332,15 @@
12317
12332
  }
12318
12333
  lastScrollTop = scrollTop;
12319
12334
  lastScrollTime = scrollTime;
12335
+ window.clearTimeout(scrollTimeout);
12336
+ scrollTimeout = window.setTimeout(handleScrollend, 500);
12320
12337
  calculateVisibleItems();
12321
12338
  }
12322
12339
  function handleScrollend() {
12323
12340
  if (!containerRef.value || !markerRef.value) return;
12324
12341
  scrollVelocity = 0;
12325
12342
  lastScrollTime = 0;
12343
+ window.clearTimeout(scrollTimeout);
12326
12344
  calculateVisibleItems();
12327
12345
  }
12328
12346
  let raf = -1;
@@ -12368,7 +12386,8 @@
12368
12386
  const computedItems = vue.computed(() => {
12369
12387
  return items.value.slice(first.value, last.value).map((item, index) => ({
12370
12388
  raw: item,
12371
- index: index + first.value
12389
+ index: index + first.value,
12390
+ key: isObject(item) && 'value' in item ? item.value : index + first.value
12372
12391
  }));
12373
12392
  });
12374
12393
  vue.watch(items, () => {
@@ -12483,7 +12502,7 @@
12483
12502
  });
12484
12503
  useRender(() => {
12485
12504
  const children = computedItems.value.map(item => vue.createVNode(VVirtualScrollItem, {
12486
- "key": item.index,
12505
+ "key": item.key,
12487
12506
  "renderless": props.renderless,
12488
12507
  "onUpdate:height": height => handleItemResize(item.index, height)
12489
12508
  }, {
@@ -12882,6 +12901,7 @@
12882
12901
  "color": props.itemColor ?? props.color
12883
12902
  }, listEvents, props.listProps), {
12884
12903
  default: () => [slots['prepend-item']?.(), !displayItems.value.length && !props.hideNoData && (slots['no-data']?.() ?? vue.createVNode(VListItem, {
12904
+ "key": "no-data",
12885
12905
  "title": t(props.noDataText)
12886
12906
  }, null)), vue.createVNode(VVirtualScroll, {
12887
12907
  "ref": vVirtualScrollRef,
@@ -12896,7 +12916,7 @@
12896
12916
  } = _ref2;
12897
12917
  const itemProps = vue.mergeProps(item.props, {
12898
12918
  ref: itemRef,
12899
- key: index,
12919
+ key: item.value,
12900
12920
  onClick: () => select(item, null)
12901
12921
  });
12902
12922
  return slots.item?.({
@@ -13456,6 +13476,7 @@
13456
13476
  "color": props.itemColor ?? props.color
13457
13477
  }, listEvents, props.listProps), {
13458
13478
  default: () => [slots['prepend-item']?.(), !displayItems.value.length && !props.hideNoData && (slots['no-data']?.() ?? vue.createVNode(VListItem, {
13479
+ "key": "no-data",
13459
13480
  "title": t(props.noDataText)
13460
13481
  }, null)), vue.createVNode(VVirtualScroll, {
13461
13482
  "ref": vVirtualScrollRef,
@@ -13470,7 +13491,7 @@
13470
13491
  } = _ref4;
13471
13492
  const itemProps = vue.mergeProps(item.props, {
13472
13493
  ref: itemRef,
13473
- key: index,
13494
+ key: item.value,
13474
13495
  active: highlightFirst.value && index === 0 ? true : undefined,
13475
13496
  onClick: () => select(item, null)
13476
13497
  });
@@ -17335,6 +17356,7 @@
17335
17356
  "color": props.itemColor ?? props.color
17336
17357
  }, listEvents, props.listProps), {
17337
17358
  default: () => [slots['prepend-item']?.(), !displayItems.value.length && !props.hideNoData && (slots['no-data']?.() ?? vue.createVNode(VListItem, {
17359
+ "key": "no-data",
17338
17360
  "title": t(props.noDataText)
17339
17361
  }, null)), vue.createVNode(VVirtualScroll, {
17340
17362
  "ref": vVirtualScrollRef,
@@ -17349,7 +17371,7 @@
17349
17371
  } = _ref4;
17350
17372
  const itemProps = vue.mergeProps(item.props, {
17351
17373
  ref: itemRef,
17352
- key: index,
17374
+ key: item.value,
17353
17375
  active: highlightFirst.value && index === 0 ? true : undefined,
17354
17376
  onClick: () => select(item, null)
17355
17377
  });
@@ -25093,7 +25115,7 @@
25093
25115
  // the thumbs are on top of each other
25094
25116
  // and they are both at minimum value
25095
25117
  // but only if focused from outside.
25096
- if (model.value[0] === model.value[1] && model.value[1] === min.value && e.relatedTarget !== stopThumbRef.value?.$el) {
25118
+ if (max.value !== min.value && model.value[0] === model.value[1] && model.value[1] === min.value && e.relatedTarget !== stopThumbRef.value?.$el) {
25097
25119
  startThumbRef.value?.$el.blur();
25098
25120
  stopThumbRef.value?.$el.focus();
25099
25121
  }
@@ -25122,7 +25144,7 @@
25122
25144
  // the thumbs are on top of each other
25123
25145
  // and they are both at maximum value
25124
25146
  // but only if focused from outside.
25125
- if (model.value[0] === model.value[1] && model.value[0] === max.value && e.relatedTarget !== startThumbRef.value?.$el) {
25147
+ if (max.value !== min.value && model.value[0] === model.value[1] && model.value[0] === max.value && e.relatedTarget !== startThumbRef.value?.$el) {
25126
25148
  stopThumbRef.value?.$el.blur();
25127
25149
  startThumbRef.value?.$el.focus();
25128
25150
  }
@@ -28266,7 +28288,7 @@
28266
28288
  goTo
28267
28289
  };
28268
28290
  }
28269
- const version$1 = "3.7.5";
28291
+ const version$1 = "3.7.6";
28270
28292
  createVuetify$1.version = version$1;
28271
28293
 
28272
28294
  // Vue's inject() can only be used in setup
@@ -28291,7 +28313,7 @@
28291
28313
  ...options
28292
28314
  });
28293
28315
  };
28294
- const version = "3.7.5";
28316
+ const version = "3.7.6";
28295
28317
  createVuetify.version = version;
28296
28318
 
28297
28319
  exports.blueprints = index;