@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
@@ -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
  */
@@ -3409,10 +3409,10 @@ const VDialogTransition = genericComponent()({
3409
3409
  async onLeave(el, done) {
3410
3410
  await new Promise(resolve => requestAnimationFrame(resolve));
3411
3411
  let dimensions;
3412
- if (!Array.isArray(props.target) && !props.target.offsetParent && saved.has(el)) {
3413
- dimensions = saved.get(el);
3414
- } else {
3412
+ if (!saved.has(el) || Array.isArray(props.target) || props.target.offsetParent || props.target.getClientRects().length) {
3415
3413
  dimensions = getDimensions(props.target, el);
3414
+ } else {
3415
+ dimensions = saved.get(el);
3416
3416
  }
3417
3417
  const {
3418
3418
  x,
@@ -10442,7 +10442,7 @@ function connectedLocationStrategy(data, props, contentStyles) {
10442
10442
  observe = false;
10443
10443
  requestAnimationFrame(() => observe = true);
10444
10444
  if (!data.target.value || !data.contentEl.value) return;
10445
- if (Array.isArray(data.target.value) || data.target.value.offsetParent) {
10445
+ if (Array.isArray(data.target.value) || data.target.value.offsetParent || data.target.value.getClientRects().length) {
10446
10446
  targetBox = getTargetBox(data.target.value);
10447
10447
  } // Otherwise target element is hidden, use last known value
10448
10448
 
@@ -13780,6 +13780,11 @@ const VAutocomplete = genericComponent()({
13780
13780
  menu.value = true;
13781
13781
  }
13782
13782
  });
13783
+ watch(model, value => {
13784
+ if (!props.multiple && !hasSelectionSlot.value) {
13785
+ search.value = value[0]?.title ?? '';
13786
+ }
13787
+ });
13783
13788
  useRender(() => {
13784
13789
  const hasList = !!(!props.hideNoData || displayItems.value.length || slots['prepend-item'] || slots['append-item'] || slots['no-data']);
13785
13790
  const isDirty = model.value.length > 0;
@@ -20607,7 +20612,6 @@ const VDataTableHeaders = genericComponent()({
20607
20612
  });
20608
20613
  };
20609
20614
  const VDataTableMobileHeaderCell = () => {
20610
- const headerProps = mergeProps(props.headerProps ?? {} ?? {});
20611
20615
  const displayItems = computed(() => {
20612
20616
  return columns.value.filter(column => column?.sortable && !props.disableSort);
20613
20617
  });
@@ -20620,7 +20624,7 @@ const VDataTableHeaders = genericComponent()({
20620
20624
  "tag": "th",
20621
20625
  "class": [...headerCellClasses.value],
20622
20626
  "colspan": headers.value.length + 1
20623
- }, headerProps), {
20627
+ }, props.headerProps), {
20624
20628
  default: () => [createVNode("div", {
20625
20629
  "class": "v-data-table-header__content"
20626
20630
  }, [createVNode(VSelect, {
@@ -23543,6 +23547,7 @@ const VFileInput = genericComponent()({
23543
23547
  const inputRef = ref();
23544
23548
  const isActive = toRef(() => isFocused.value || props.active);
23545
23549
  const isPlainOrUnderlined = computed(() => ['plain', 'underlined'].includes(props.variant));
23550
+ const isDragging = shallowRef(false);
23546
23551
  function onFocus() {
23547
23552
  if (inputRef.value !== document.activeElement) {
23548
23553
  inputRef.value?.focus();
@@ -23569,11 +23574,26 @@ const VFileInput = genericComponent()({
23569
23574
  }
23570
23575
  function onDragover(e) {
23571
23576
  e.preventDefault();
23577
+ e.stopImmediatePropagation();
23578
+ isDragging.value = true;
23579
+ }
23580
+ function onDragleave(e) {
23581
+ e.preventDefault();
23582
+ isDragging.value = false;
23572
23583
  }
23573
23584
  function onDrop(e) {
23574
23585
  e.preventDefault();
23575
- if (!e.dataTransfer) return;
23576
- model.value = [...(e.dataTransfer.files ?? [])];
23586
+ e.stopImmediatePropagation();
23587
+ isDragging.value = false;
23588
+ if (!e.dataTransfer?.files?.length || !inputRef.value) return;
23589
+ const dataTransfer = new DataTransfer();
23590
+ for (const file of e.dataTransfer.files) {
23591
+ dataTransfer.items.add(file);
23592
+ }
23593
+ inputRef.value.files = dataTransfer.files;
23594
+ inputRef.value.dispatchEvent(new Event('change', {
23595
+ bubbles: true
23596
+ }));
23577
23597
  }
23578
23598
  watch(model, newValue => {
23579
23599
  const hasModelReset = !Array.isArray(newValue) || !newValue.length;
@@ -23595,6 +23615,7 @@ const VFileInput = genericComponent()({
23595
23615
  "modelValue": props.multiple ? model.value : model.value[0],
23596
23616
  "class": ['v-file-input', {
23597
23617
  'v-file-input--chips': !!props.chips,
23618
+ 'v-file-input--dragging': isDragging.value,
23598
23619
  'v-file-input--hide': props.hideInput,
23599
23620
  'v-input--plain-underlined': isPlainOrUnderlined.value
23600
23621
  }, props.class],
@@ -23656,6 +23677,7 @@ const VFileInput = genericComponent()({
23656
23677
  const target = e.target;
23657
23678
  model.value = [...(target.files ?? [])];
23658
23679
  },
23680
+ "onDragleave": onDragleave,
23659
23681
  "onFocus": onFocus,
23660
23682
  "onBlur": blur
23661
23683
  }, slotProps, inputAttrs), null), createVNode("div", {
@@ -29216,7 +29238,7 @@ function createVuetify$1() {
29216
29238
  };
29217
29239
  });
29218
29240
  }
29219
- const version$1 = "3.8.3-master.2025-05-05";
29241
+ const version$1 = "3.8.4-master.2025-05-07";
29220
29242
  createVuetify$1.version = version$1;
29221
29243
 
29222
29244
  // Vue's inject() can only be used in setup
@@ -29241,7 +29263,7 @@ const createVuetify = function () {
29241
29263
  ...options
29242
29264
  });
29243
29265
  };
29244
- const version = "3.8.3-master.2025-05-05";
29266
+ const version = "3.8.4-master.2025-05-07";
29245
29267
  createVuetify.version = version;
29246
29268
 
29247
29269
  export { index as blueprints, components, createVuetify, directives, useDate, useDefaults, useDisplay, useGoTo, useLayout, useLocale, useRtl, useTheme, version };