@vuetify/nightly 3.8.3-master.2025-05-05 → 3.8.4-master.2025-05-07

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 (62) hide show
  1. package/CHANGELOG.md +3 -35
  2. package/dist/json/attributes.json +3324 -3324
  3. package/dist/json/importMap-labs.json +28 -28
  4. package/dist/json/importMap.json +162 -162
  5. package/dist/json/web-types.json +6199 -6199
  6. package/dist/vuetify-labs.cjs +54 -44
  7. package/dist/vuetify-labs.css +3363 -3359
  8. package/dist/vuetify-labs.d.ts +98 -98
  9. package/dist/vuetify-labs.esm.js +54 -44
  10. package/dist/vuetify-labs.esm.js.map +1 -1
  11. package/dist/vuetify-labs.js +54 -44
  12. package/dist/vuetify-labs.min.css +2 -2
  13. package/dist/vuetify.cjs +33 -11
  14. package/dist/vuetify.cjs.map +1 -1
  15. package/dist/vuetify.css +4003 -3999
  16. package/dist/vuetify.d.ts +127 -127
  17. package/dist/vuetify.esm.js +33 -11
  18. package/dist/vuetify.esm.js.map +1 -1
  19. package/dist/vuetify.js +33 -11
  20. package/dist/vuetify.js.map +1 -1
  21. package/dist/vuetify.min.css +2 -2
  22. package/dist/vuetify.min.js +17 -14
  23. package/dist/vuetify.min.js.map +1 -1
  24. package/lib/components/VAutocomplete/VAutocomplete.d.ts +3 -3
  25. package/lib/components/VAutocomplete/VAutocomplete.js +5 -0
  26. package/lib/components/VAutocomplete/VAutocomplete.js.map +1 -1
  27. package/lib/components/VBottomNavigation/VBottomNavigation.d.ts +6 -6
  28. package/lib/components/VCombobox/VCombobox.d.ts +3 -3
  29. package/lib/components/VDataTable/VDataTable.d.ts +110 -110
  30. package/lib/components/VDataTable/VDataTableHeaders.js +1 -2
  31. package/lib/components/VDataTable/VDataTableHeaders.js.map +1 -1
  32. package/lib/components/VDataTable/VDataTableServer.d.ts +55 -55
  33. package/lib/components/VDataTable/VDataTableVirtual.d.ts +55 -55
  34. package/lib/components/VDataTable/composables/headers.d.ts +75 -75
  35. package/lib/components/VDatePicker/VDatePicker.d.ts +3 -3
  36. package/lib/components/VDatePicker/VDatePickerMonth.d.ts +6 -6
  37. package/lib/components/VFileInput/VFileInput.css +4 -0
  38. package/lib/components/VFileInput/VFileInput.js +21 -3
  39. package/lib/components/VFileInput/VFileInput.js.map +1 -1
  40. package/lib/components/VFileInput/VFileInput.sass +4 -0
  41. package/lib/components/VNumberInput/VNumberInput.d.ts +3 -3
  42. package/lib/components/VOverlay/locationStrategies.js +1 -1
  43. package/lib/components/VOverlay/locationStrategies.js.map +1 -1
  44. package/lib/components/VSelect/VSelect.d.ts +3 -3
  45. package/lib/components/VTabs/VTabs.d.ts +6 -6
  46. package/lib/components/transitions/dialog-transition.js +3 -3
  47. package/lib/components/transitions/dialog-transition.js.map +1 -1
  48. package/lib/entry-bundler.d.ts +6 -6
  49. package/lib/entry-bundler.js +1 -1
  50. package/lib/framework.d.ts +57 -57
  51. package/lib/framework.js +1 -1
  52. package/lib/labs/VCalendar/VCalendar.d.ts +3 -3
  53. package/lib/labs/VCalendar/VCalendarDay.d.ts +3 -3
  54. package/lib/labs/VCalendar/VCalendarInterval.d.ts +3 -3
  55. package/lib/labs/VCalendar/VCalendarMonthDay.d.ts +3 -3
  56. package/lib/labs/VDateInput/VDateInput.d.ts +9 -9
  57. package/lib/labs/VFileUpload/VFileUpload.js +19 -31
  58. package/lib/labs/VFileUpload/VFileUpload.js.map +1 -1
  59. package/lib/labs/VTimePicker/VTimePickerClock.js +2 -2
  60. package/lib/labs/VTimePicker/VTimePickerClock.js.map +1 -1
  61. package/lib/util/helpers.js.map +1 -1
  62. package/package.json +6 -6
package/dist/vuetify.cjs CHANGED
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * Vuetify v3.8.3-master.2025-05-05
2
+ * Vuetify v3.8.4-master.2025-05-07
3
3
  * Forged by John Leider
4
4
  * Released under the MIT License.
5
5
  */
@@ -3413,10 +3413,10 @@
3413
3413
  async onLeave(el, done) {
3414
3414
  await new Promise(resolve => requestAnimationFrame(resolve));
3415
3415
  let dimensions;
3416
- if (!Array.isArray(props.target) && !props.target.offsetParent && saved.has(el)) {
3417
- dimensions = saved.get(el);
3418
- } else {
3416
+ if (!saved.has(el) || Array.isArray(props.target) || props.target.offsetParent || props.target.getClientRects().length) {
3419
3417
  dimensions = getDimensions(props.target, el);
3418
+ } else {
3419
+ dimensions = saved.get(el);
3420
3420
  }
3421
3421
  const {
3422
3422
  x,
@@ -10446,7 +10446,7 @@
10446
10446
  observe = false;
10447
10447
  requestAnimationFrame(() => observe = true);
10448
10448
  if (!data.target.value || !data.contentEl.value) return;
10449
- if (Array.isArray(data.target.value) || data.target.value.offsetParent) {
10449
+ if (Array.isArray(data.target.value) || data.target.value.offsetParent || data.target.value.getClientRects().length) {
10450
10450
  targetBox = getTargetBox(data.target.value);
10451
10451
  } // Otherwise target element is hidden, use last known value
10452
10452
 
@@ -13784,6 +13784,11 @@
13784
13784
  menu.value = true;
13785
13785
  }
13786
13786
  });
13787
+ vue.watch(model, value => {
13788
+ if (!props.multiple && !hasSelectionSlot.value) {
13789
+ search.value = value[0]?.title ?? '';
13790
+ }
13791
+ });
13787
13792
  useRender(() => {
13788
13793
  const hasList = !!(!props.hideNoData || displayItems.value.length || slots['prepend-item'] || slots['append-item'] || slots['no-data']);
13789
13794
  const isDirty = model.value.length > 0;
@@ -20611,7 +20616,6 @@
20611
20616
  });
20612
20617
  };
20613
20618
  const VDataTableMobileHeaderCell = () => {
20614
- const headerProps = vue.mergeProps(props.headerProps ?? {} ?? {});
20615
20619
  const displayItems = vue.computed(() => {
20616
20620
  return columns.value.filter(column => column?.sortable && !props.disableSort);
20617
20621
  });
@@ -20624,7 +20628,7 @@
20624
20628
  "tag": "th",
20625
20629
  "class": [...headerCellClasses.value],
20626
20630
  "colspan": headers.value.length + 1
20627
- }, headerProps), {
20631
+ }, props.headerProps), {
20628
20632
  default: () => [vue.createVNode("div", {
20629
20633
  "class": "v-data-table-header__content"
20630
20634
  }, [vue.createVNode(VSelect, {
@@ -23547,6 +23551,7 @@
23547
23551
  const inputRef = vue.ref();
23548
23552
  const isActive = vue.toRef(() => isFocused.value || props.active);
23549
23553
  const isPlainOrUnderlined = vue.computed(() => ['plain', 'underlined'].includes(props.variant));
23554
+ const isDragging = vue.shallowRef(false);
23550
23555
  function onFocus() {
23551
23556
  if (inputRef.value !== document.activeElement) {
23552
23557
  inputRef.value?.focus();
@@ -23573,11 +23578,26 @@
23573
23578
  }
23574
23579
  function onDragover(e) {
23575
23580
  e.preventDefault();
23581
+ e.stopImmediatePropagation();
23582
+ isDragging.value = true;
23583
+ }
23584
+ function onDragleave(e) {
23585
+ e.preventDefault();
23586
+ isDragging.value = false;
23576
23587
  }
23577
23588
  function onDrop(e) {
23578
23589
  e.preventDefault();
23579
- if (!e.dataTransfer) return;
23580
- model.value = [...(e.dataTransfer.files ?? [])];
23590
+ e.stopImmediatePropagation();
23591
+ isDragging.value = false;
23592
+ if (!e.dataTransfer?.files?.length || !inputRef.value) return;
23593
+ const dataTransfer = new DataTransfer();
23594
+ for (const file of e.dataTransfer.files) {
23595
+ dataTransfer.items.add(file);
23596
+ }
23597
+ inputRef.value.files = dataTransfer.files;
23598
+ inputRef.value.dispatchEvent(new Event('change', {
23599
+ bubbles: true
23600
+ }));
23581
23601
  }
23582
23602
  vue.watch(model, newValue => {
23583
23603
  const hasModelReset = !Array.isArray(newValue) || !newValue.length;
@@ -23599,6 +23619,7 @@
23599
23619
  "modelValue": props.multiple ? model.value : model.value[0],
23600
23620
  "class": ['v-file-input', {
23601
23621
  'v-file-input--chips': !!props.chips,
23622
+ 'v-file-input--dragging': isDragging.value,
23602
23623
  'v-file-input--hide': props.hideInput,
23603
23624
  'v-input--plain-underlined': isPlainOrUnderlined.value
23604
23625
  }, props.class],
@@ -23660,6 +23681,7 @@
23660
23681
  const target = e.target;
23661
23682
  model.value = [...(target.files ?? [])];
23662
23683
  },
23684
+ "onDragleave": onDragleave,
23663
23685
  "onFocus": onFocus,
23664
23686
  "onBlur": blur
23665
23687
  }, slotProps, inputAttrs), null), vue.createVNode("div", {
@@ -29220,7 +29242,7 @@
29220
29242
  };
29221
29243
  });
29222
29244
  }
29223
- const version$1 = "3.8.3-master.2025-05-05";
29245
+ const version$1 = "3.8.4-master.2025-05-07";
29224
29246
  createVuetify$1.version = version$1;
29225
29247
 
29226
29248
  // Vue's inject() can only be used in setup
@@ -29245,7 +29267,7 @@
29245
29267
  ...options
29246
29268
  });
29247
29269
  };
29248
- const version = "3.8.3-master.2025-05-05";
29270
+ const version = "3.8.4-master.2025-05-07";
29249
29271
  createVuetify.version = version;
29250
29272
 
29251
29273
  exports.blueprints = index;