vuetify 3.8.3 → 3.8.5

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 (117) hide show
  1. package/dist/_component-variables-labs.sass +1 -0
  2. package/dist/json/attributes.json +4267 -3919
  3. package/dist/json/importMap-labs.json +28 -24
  4. package/dist/json/importMap.json +164 -164
  5. package/dist/json/tags.json +92 -0
  6. package/dist/json/web-types.json +8380 -7153
  7. package/dist/vuetify-labs.cjs +374 -79
  8. package/dist/vuetify-labs.css +3864 -3836
  9. package/dist/vuetify-labs.d.ts +5818 -1810
  10. package/dist/vuetify-labs.esm.js +374 -79
  11. package/dist/vuetify-labs.esm.js.map +1 -1
  12. package/dist/vuetify-labs.js +374 -79
  13. package/dist/vuetify-labs.min.css +2 -2
  14. package/dist/vuetify.cjs +53 -30
  15. package/dist/vuetify.cjs.map +1 -1
  16. package/dist/vuetify.css +3556 -3531
  17. package/dist/vuetify.d.ts +4121 -1210
  18. package/dist/vuetify.esm.js +53 -30
  19. package/dist/vuetify.esm.js.map +1 -1
  20. package/dist/vuetify.js +53 -30
  21. package/dist/vuetify.js.map +1 -1
  22. package/dist/vuetify.min.css +2 -2
  23. package/dist/vuetify.min.js +30 -27
  24. package/dist/vuetify.min.js.map +1 -1
  25. package/lib/components/VAutocomplete/VAutocomplete.d.ts +795 -77
  26. package/lib/components/VBadge/VBadge.d.ts +22 -46
  27. package/lib/components/VBottomNavigation/VBottomNavigation.d.ts +6 -6
  28. package/lib/components/VBottomSheet/VBottomSheet.css +1 -1
  29. package/lib/components/VBottomSheet/VBottomSheet.d.ts +1434 -80
  30. package/lib/components/VBottomSheet/VBottomSheet.sass +1 -1
  31. package/lib/components/VBtn/VBtn.css +25 -0
  32. package/lib/components/VBtn/VBtn.sass +9 -0
  33. package/lib/components/VBtn/_variables.scss +1 -0
  34. package/lib/components/VCombobox/VCombobox.d.ts +795 -77
  35. package/lib/components/VCounter/VCounter.d.ts +22 -46
  36. package/lib/components/VDataIterator/VDataIterator.d.ts +22 -46
  37. package/lib/components/VDataTable/VDataTable.d.ts +110 -110
  38. package/lib/components/VDataTable/VDataTableHeaders.js +1 -2
  39. package/lib/components/VDataTable/VDataTableHeaders.js.map +1 -1
  40. package/lib/components/VDataTable/VDataTableServer.d.ts +62 -189
  41. package/lib/components/VDataTable/VDataTableServer.js.map +1 -1
  42. package/lib/components/VDataTable/VDataTableVirtual.d.ts +62 -189
  43. package/lib/components/VDataTable/VDataTableVirtual.js.map +1 -1
  44. package/lib/components/VDataTable/composables/headers.d.ts +75 -75
  45. package/lib/components/VDataTable/composables/select.js +1 -1
  46. package/lib/components/VDataTable/composables/select.js.map +1 -1
  47. package/lib/components/VDatePicker/VDatePicker.d.ts +3 -3
  48. package/lib/components/VDatePicker/VDatePickerMonth.d.ts +6 -6
  49. package/lib/components/VDialog/VDialog.d.ts +1048 -146
  50. package/lib/components/VDialog/VDialog.js +1 -1
  51. package/lib/components/VDialog/VDialog.js.map +1 -1
  52. package/lib/components/VFab/VFab.d.ts +22 -46
  53. package/lib/components/VFileInput/VFileInput.css +4 -0
  54. package/lib/components/VFileInput/VFileInput.js +21 -3
  55. package/lib/components/VFileInput/VFileInput.js.map +1 -1
  56. package/lib/components/VFileInput/VFileInput.sass +4 -0
  57. package/lib/components/VImg/VImg.d.ts +22 -49
  58. package/lib/components/VLazy/VLazy.d.ts +22 -46
  59. package/lib/components/VMenu/VMenu.d.ts +1048 -146
  60. package/lib/components/VMenu/VMenu.js.map +1 -1
  61. package/lib/components/VMessages/VMessages.d.ts +22 -46
  62. package/lib/components/VNumberInput/VNumberInput.d.ts +3 -3
  63. package/lib/components/VOverlay/VOverlay.d.ts +22 -49
  64. package/lib/components/VOverlay/locationStrategies.js +1 -1
  65. package/lib/components/VOverlay/locationStrategies.js.map +1 -1
  66. package/lib/components/VSelect/VSelect.d.ts +1235 -93
  67. package/lib/components/VSnackbar/VSnackbar.d.ts +58 -109
  68. package/lib/components/VSnackbarQueue/VSnackbarQueue.d.ts +25 -47
  69. package/lib/components/VSnackbarQueue/VSnackbarQueue.js.map +1 -1
  70. package/lib/components/VSpeedDial/VSpeedDial.d.ts +1434 -80
  71. package/lib/components/VTable/VTable.css +2 -6
  72. package/lib/components/VTable/VTable.sass +4 -22
  73. package/lib/components/VTabs/VTabs.d.ts +6 -6
  74. package/lib/components/VTextField/VTextField.js +5 -3
  75. package/lib/components/VTextField/VTextField.js.map +1 -1
  76. package/lib/components/VTooltip/VTooltip.d.ts +58 -109
  77. package/lib/components/VTooltip/VTooltip.js +2 -2
  78. package/lib/components/VTooltip/VTooltip.js.map +1 -1
  79. package/lib/components/transitions/dialog-transition.js +3 -3
  80. package/lib/components/transitions/dialog-transition.js.map +1 -1
  81. package/lib/composables/dateFormat.d.ts +24 -0
  82. package/lib/composables/dateFormat.js +112 -0
  83. package/lib/composables/dateFormat.js.map +1 -0
  84. package/lib/composables/transition.d.ts +10 -20
  85. package/lib/composables/transition.js +15 -12
  86. package/lib/composables/transition.js.map +1 -1
  87. package/lib/entry-bundler.d.ts +6 -6
  88. package/lib/entry-bundler.js +1 -1
  89. package/lib/framework.d.ts +113 -149
  90. package/lib/framework.js +1 -1
  91. package/lib/iconsets/mdi.js +2 -1
  92. package/lib/iconsets/mdi.js.map +1 -1
  93. package/lib/labs/VCalendar/VCalendar.d.ts +3 -3
  94. package/lib/labs/VCalendar/VCalendarDay.d.ts +3 -3
  95. package/lib/labs/VCalendar/VCalendarInterval.d.ts +3 -3
  96. package/lib/labs/VCalendar/VCalendarMonthDay.d.ts +3 -3
  97. package/lib/labs/VColorInput/VColorInput.css +4 -0
  98. package/lib/labs/VColorInput/VColorInput.d.ts +1767 -0
  99. package/lib/labs/VColorInput/VColorInput.js +129 -0
  100. package/lib/labs/VColorInput/VColorInput.js.map +1 -0
  101. package/lib/labs/VColorInput/VColorInput.sass +7 -0
  102. package/lib/labs/VColorInput/_variables.scss +2 -0
  103. package/lib/labs/VColorInput/index.d.ts +1 -0
  104. package/lib/labs/VColorInput/index.js +2 -0
  105. package/lib/labs/VColorInput/index.js.map +1 -0
  106. package/lib/labs/VDateInput/VDateInput.d.ts +96 -34
  107. package/lib/labs/VDateInput/VDateInput.js +71 -17
  108. package/lib/labs/VDateInput/VDateInput.js.map +1 -1
  109. package/lib/labs/VFileUpload/VFileUpload.js +19 -31
  110. package/lib/labs/VFileUpload/VFileUpload.js.map +1 -1
  111. package/lib/labs/VTimePicker/VTimePickerClock.js +2 -2
  112. package/lib/labs/VTimePicker/VTimePickerClock.js.map +1 -1
  113. package/lib/labs/components.d.ts +1 -0
  114. package/lib/labs/components.js +1 -0
  115. package/lib/labs/components.js.map +1 -1
  116. package/lib/util/helpers.js.map +1 -1
  117. package/package.json +7 -8
package/dist/vuetify.js CHANGED
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * Vuetify v3.8.3
2
+ * Vuetify v3.8.5
3
3
  * Forged by John Leider
4
4
  * Released under the MIT License.
5
5
  */
@@ -1773,7 +1773,8 @@
1773
1773
  treeviewCollapse: 'mdi-menu-down',
1774
1774
  treeviewExpand: 'mdi-menu-right',
1775
1775
  eyeDropper: 'mdi-eyedropper',
1776
- upload: 'mdi-cloud-upload'
1776
+ upload: 'mdi-cloud-upload',
1777
+ color: 'mdi-palette'
1777
1778
  };
1778
1779
  const mdi = {
1779
1780
  // Not using mergeProps here, functional components merge props by default (?)
@@ -3413,10 +3414,10 @@
3413
3414
  async onLeave(el, done) {
3414
3415
  await new Promise(resolve => requestAnimationFrame(resolve));
3415
3416
  let dimensions;
3416
- if (!Array.isArray(props.target) && !props.target.offsetParent && saved.has(el)) {
3417
- dimensions = saved.get(el);
3418
- } else {
3417
+ if (!saved.has(el) || Array.isArray(props.target) || props.target.offsetParent || props.target.getClientRects().length) {
3419
3418
  dimensions = getDimensions(props.target, el);
3419
+ } else {
3420
+ dimensions = saved.get(el);
3420
3421
  }
3421
3422
  const {
3422
3423
  x,
@@ -3741,7 +3742,7 @@
3741
3742
 
3742
3743
  const makeTransitionProps = propsFactory({
3743
3744
  transition: {
3744
- type: [Boolean, String, Object],
3745
+ type: null,
3745
3746
  default: 'fade-transition',
3746
3747
  validator: val => val !== true
3747
3748
  }
@@ -3759,16 +3760,19 @@
3759
3760
  const {
3760
3761
  component = group ? vue.TransitionGroup : vue.Transition,
3761
3762
  ...customProps
3762
- } = typeof transition === 'object' ? transition : {};
3763
- return vue.h(component, vue.mergeProps(typeof transition === 'string' ? {
3764
- name: disabled ? '' : transition
3765
- } : customProps, typeof transition === 'string' ? {} : Object.fromEntries(Object.entries({
3766
- disabled,
3767
- group
3768
- }).filter(_ref2 => {
3769
- let [_, v] = _ref2;
3770
- return v !== undefined;
3771
- })), rest), slots);
3763
+ } = isObject(transition) ? transition : {};
3764
+ let transitionProps;
3765
+ if (isObject(transition)) {
3766
+ transitionProps = vue.mergeProps(customProps, JSON.parse(JSON.stringify({
3767
+ disabled,
3768
+ group
3769
+ })), rest);
3770
+ } else {
3771
+ transitionProps = vue.mergeProps({
3772
+ name: disabled || !transition ? '' : transition
3773
+ }, rest);
3774
+ }
3775
+ return vue.h(component, transitionProps, slots);
3772
3776
  };
3773
3777
 
3774
3778
  // Utilities
@@ -10443,7 +10447,7 @@
10443
10447
  observe = false;
10444
10448
  requestAnimationFrame(() => observe = true);
10445
10449
  if (!data.target.value || !data.contentEl.value) return;
10446
- if (Array.isArray(data.target.value) || data.target.value.offsetParent) {
10450
+ if (Array.isArray(data.target.value) || data.target.value.offsetParent || data.target.value.getClientRects().length) {
10447
10451
  targetBox = getTargetBox(data.target.value);
10448
10452
  } // Otherwise target element is hidden, use last known value
10449
10453
 
@@ -12363,11 +12367,12 @@
12363
12367
  onFocus();
12364
12368
  emit('click:control', e);
12365
12369
  }
12366
- function onClear(e) {
12370
+ function onClear(e, reset) {
12367
12371
  e.stopPropagation();
12368
12372
  onFocus();
12369
12373
  vue.nextTick(() => {
12370
12374
  model.value = null;
12375
+ reset();
12371
12376
  callEvent(props['onClick:clear'], e);
12372
12377
  });
12373
12378
  }
@@ -12412,13 +12417,14 @@
12412
12417
  isDisabled,
12413
12418
  isDirty,
12414
12419
  isReadonly,
12415
- isValid
12420
+ isValid,
12421
+ reset
12416
12422
  } = _ref2;
12417
12423
  return vue.createVNode(VField, vue.mergeProps({
12418
12424
  "ref": vFieldRef,
12419
12425
  "onMousedown": onControlMousedown,
12420
12426
  "onClick": onControlClick,
12421
- "onClick:clear": onClear,
12427
+ "onClick:clear": e => onClear(e, reset),
12422
12428
  "onClick:prependInner": props['onClick:prependInner'],
12423
12429
  "onClick:appendInner": props['onClick:appendInner'],
12424
12430
  "role": props.role
@@ -14398,7 +14404,7 @@
14398
14404
  }
14399
14405
  function onAfterEnter() {
14400
14406
  emit('afterEnter');
14401
- if (overlay.value?.contentEl && !overlay.value.contentEl.contains(document.activeElement)) {
14407
+ if ((props.scrim || props.retainFocus) && overlay.value?.contentEl && !overlay.value.contentEl.contains(document.activeElement)) {
14402
14408
  overlay.value.contentEl.focus({
14403
14409
  preventScroll: true
14404
14410
  });
@@ -19270,7 +19276,7 @@
19270
19276
  index = index ?? currentPage.value.findIndex(i => i.value === item.value);
19271
19277
  if (props.selectStrategy !== 'single' && event?.shiftKey && lastSelectedIndex.value !== null) {
19272
19278
  const [start, end] = [lastSelectedIndex.value, index].sort((a, b) => a - b);
19273
- items.push(...currentPage.value.slice(start, end + 1));
19279
+ items.push(...currentPage.value.slice(start, end + 1).filter(item => item.selectable));
19274
19280
  } else {
19275
19281
  items.push(item);
19276
19282
  lastSelectedIndex.value = index;
@@ -20606,7 +20612,6 @@
20606
20612
  });
20607
20613
  };
20608
20614
  const VDataTableMobileHeaderCell = () => {
20609
- const headerProps = vue.mergeProps(props.headerProps ?? {} ?? {});
20610
20615
  const displayItems = vue.computed(() => {
20611
20616
  return columns.value.filter(column => column?.sortable && !props.disableSort);
20612
20617
  });
@@ -20619,7 +20624,7 @@
20619
20624
  "tag": "th",
20620
20625
  "class": [...headerCellClasses.value],
20621
20626
  "colspan": headers.value.length + 1
20622
- }, headerProps), {
20627
+ }, props.headerProps), {
20623
20628
  default: () => [vue.createVNode("div", {
20624
20629
  "class": "v-data-table-header__content"
20625
20630
  }, [vue.createVNode(VSelect, {
@@ -23542,6 +23547,7 @@
23542
23547
  const inputRef = vue.ref();
23543
23548
  const isActive = vue.toRef(() => isFocused.value || props.active);
23544
23549
  const isPlainOrUnderlined = vue.computed(() => ['plain', 'underlined'].includes(props.variant));
23550
+ const isDragging = vue.shallowRef(false);
23545
23551
  function onFocus() {
23546
23552
  if (inputRef.value !== document.activeElement) {
23547
23553
  inputRef.value?.focus();
@@ -23568,11 +23574,26 @@
23568
23574
  }
23569
23575
  function onDragover(e) {
23570
23576
  e.preventDefault();
23577
+ e.stopImmediatePropagation();
23578
+ isDragging.value = true;
23579
+ }
23580
+ function onDragleave(e) {
23581
+ e.preventDefault();
23582
+ isDragging.value = false;
23571
23583
  }
23572
23584
  function onDrop(e) {
23573
23585
  e.preventDefault();
23574
- if (!e.dataTransfer) return;
23575
- 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
+ }));
23576
23597
  }
23577
23598
  vue.watch(model, newValue => {
23578
23599
  const hasModelReset = !Array.isArray(newValue) || !newValue.length;
@@ -23594,6 +23615,7 @@
23594
23615
  "modelValue": props.multiple ? model.value : model.value[0],
23595
23616
  "class": ['v-file-input', {
23596
23617
  'v-file-input--chips': !!props.chips,
23618
+ 'v-file-input--dragging': isDragging.value,
23597
23619
  'v-file-input--hide': props.hideInput,
23598
23620
  'v-input--plain-underlined': isPlainOrUnderlined.value
23599
23621
  }, props.class],
@@ -23655,6 +23677,7 @@
23655
23677
  const target = e.target;
23656
23678
  model.value = [...(target.files ?? [])];
23657
23679
  },
23680
+ "onDragleave": onDragleave,
23658
23681
  "onFocus": onFocus,
23659
23682
  "onBlur": blur
23660
23683
  }, slotProps, inputAttrs), null), vue.createVNode("div", {
@@ -28642,7 +28665,7 @@
28642
28665
  origin: 'auto',
28643
28666
  scrim: false,
28644
28667
  scrollStrategy: 'reposition',
28645
- transition: false
28668
+ transition: null
28646
28669
  }), ['absolute', 'persistent'])
28647
28670
  }, 'VTooltip');
28648
28671
  const VTooltip = genericComponent()({
@@ -28669,7 +28692,7 @@
28669
28692
  return props.origin === 'auto' || props.origin === 'overlap' || props.origin.split(' ').length > 1 || props.location.split(' ').length > 1 ? props.origin : props.origin + ' center';
28670
28693
  });
28671
28694
  const transition = vue.toRef(() => {
28672
- if (props.transition) return props.transition;
28695
+ if (props.transition != null) return props.transition;
28673
28696
  return isActive.value ? 'scale-transition' : 'fade-transition';
28674
28697
  });
28675
28698
  const activatorProps = vue.computed(() => vue.mergeProps({
@@ -29215,7 +29238,7 @@
29215
29238
  };
29216
29239
  });
29217
29240
  }
29218
- const version$1 = "3.8.3";
29241
+ const version$1 = "3.8.5";
29219
29242
  createVuetify$1.version = version$1;
29220
29243
 
29221
29244
  // Vue's inject() can only be used in setup
@@ -29240,7 +29263,7 @@
29240
29263
  ...options
29241
29264
  });
29242
29265
  };
29243
- const version = "3.8.3";
29266
+ const version = "3.8.5";
29244
29267
  createVuetify.version = version;
29245
29268
 
29246
29269
  exports.blueprints = index;