vuetify 3.7.2 → 3.7.4

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 (104) hide show
  1. package/dist/json/attributes.json +5843 -5795
  2. package/dist/json/importMap-labs.json +16 -16
  3. package/dist/json/importMap.json +150 -150
  4. package/dist/json/tags.json +14 -1
  5. package/dist/json/web-types.json +10397 -10309
  6. package/dist/vuetify-labs.css +2362 -2362
  7. package/dist/vuetify-labs.d.ts +196 -195
  8. package/dist/vuetify-labs.esm.js +68 -45
  9. package/dist/vuetify-labs.esm.js.map +1 -1
  10. package/dist/vuetify-labs.js +68 -45
  11. package/dist/vuetify-labs.min.css +2 -2
  12. package/dist/vuetify.css +2822 -2822
  13. package/dist/vuetify.d.ts +212 -211
  14. package/dist/vuetify.esm.js +38 -17
  15. package/dist/vuetify.esm.js.map +1 -1
  16. package/dist/vuetify.js +38 -17
  17. package/dist/vuetify.js.map +1 -1
  18. package/dist/vuetify.min.css +2 -2
  19. package/dist/vuetify.min.js +28 -28
  20. package/dist/vuetify.min.js.map +1 -1
  21. package/lib/components/VAutocomplete/index.d.mts +22 -22
  22. package/lib/components/VBottomSheet/VBottomSheet.sass +2 -1
  23. package/lib/components/VBottomSheet/index.d.mts +4 -4
  24. package/lib/components/VBtn/VBtn.css +2 -2
  25. package/lib/components/VBtn/VBtn.sass +7 -8
  26. package/lib/components/VBtnToggle/VBtnToggle.css +3 -0
  27. package/lib/components/VBtnToggle/VBtnToggle.sass +3 -0
  28. package/lib/components/VCarousel/index.d.mts +2 -2
  29. package/lib/components/VCheckbox/index.d.mts +2 -2
  30. package/lib/components/VChip/VChip.mjs +2 -1
  31. package/lib/components/VChip/VChip.mjs.map +1 -1
  32. package/lib/components/VCode/index.mjs +1 -1
  33. package/lib/components/VCode/index.mjs.map +1 -1
  34. package/lib/components/VColorPicker/VColorPicker.mjs +2 -2
  35. package/lib/components/VColorPicker/VColorPicker.mjs.map +1 -1
  36. package/lib/components/VCombobox/index.d.mts +22 -22
  37. package/lib/components/VConfirmEdit/__test__/VConfirmEdit.spec.browser.mjs +87 -0
  38. package/lib/components/VConfirmEdit/__test__/VConfirmEdit.spec.browser.mjs.map +1 -0
  39. package/lib/components/VDataTable/VDataTableFooter.mjs.map +1 -1
  40. package/lib/components/VDataTable/composables/paginate.mjs +4 -2
  41. package/lib/components/VDataTable/composables/paginate.mjs.map +1 -1
  42. package/lib/components/VDataTable/index.d.mts +7 -6
  43. package/lib/components/VDatePicker/index.d.mts +2 -2
  44. package/lib/components/VDialog/VDialog.css +3 -7
  45. package/lib/components/VDialog/VDialog.mjs +8 -1
  46. package/lib/components/VDialog/VDialog.mjs.map +1 -1
  47. package/lib/components/VDialog/VDialog.sass +6 -7
  48. package/lib/components/VDialog/index.d.mts +22 -22
  49. package/lib/components/VField/_variables.scss +2 -1
  50. package/lib/components/VFileInput/__tests__/text.txt +1 -0
  51. package/lib/components/VFileInput/index.d.mts +3 -3
  52. package/lib/components/VInput/index.d.mts +2 -2
  53. package/lib/components/VKbd/index.mjs +1 -1
  54. package/lib/components/VKbd/index.mjs.map +1 -1
  55. package/lib/components/VList/VListItem.css +8 -7
  56. package/lib/components/VList/VListItem.mjs +1 -0
  57. package/lib/components/VList/VListItem.mjs.map +1 -1
  58. package/lib/components/VList/VListItem.sass +16 -10
  59. package/lib/components/VList/_variables.scss +0 -11
  60. package/lib/components/VMenu/VMenu.mjs +15 -6
  61. package/lib/components/VMenu/VMenu.mjs.map +1 -1
  62. package/lib/components/VMenu/index.d.mts +20 -20
  63. package/lib/components/VMessages/index.d.mts +8 -8
  64. package/lib/components/VNavigationDrawer/index.d.mts +7 -7
  65. package/lib/components/VOverflowBtn/VOverflowBtn.sass +6 -5
  66. package/lib/components/VOverlay/index.d.mts +4 -4
  67. package/lib/components/VProgressLinear/_variables.scss +2 -1
  68. package/lib/components/VRadioGroup/index.d.mts +2 -2
  69. package/lib/components/VSelect/index.d.mts +22 -22
  70. package/lib/components/VSnackbar/index.d.mts +31 -31
  71. package/lib/components/VSpeedDial/index.d.mts +2 -2
  72. package/lib/components/VSwitch/index.d.mts +2 -2
  73. package/lib/components/VTable/_mixins.scss +2 -2
  74. package/lib/components/VTabs/VTabs.sass +1 -1
  75. package/lib/components/VTextField/index.d.mts +3 -3
  76. package/lib/components/VTextarea/index.d.mts +3 -3
  77. package/lib/components/VTooltip/index.d.mts +24 -24
  78. package/lib/components/VWindow/index.d.mts +2 -2
  79. package/lib/components/index.d.mts +158 -157
  80. package/lib/composables/directiveComponent.mjs +4 -3
  81. package/lib/composables/directiveComponent.mjs.map +1 -1
  82. package/lib/composables/nested/nested.mjs +2 -2
  83. package/lib/composables/nested/nested.mjs.map +1 -1
  84. package/lib/directives/ripple/index.mjs.map +1 -1
  85. package/lib/entry-bundler.mjs +1 -1
  86. package/lib/framework.mjs +1 -1
  87. package/lib/index.d.mts +53 -53
  88. package/lib/labs/VNumberInput/index.d.mts +9 -9
  89. package/lib/labs/VSnackbarQueue/index.d.mts +52 -52
  90. package/lib/labs/VTreeview/VTreeview.mjs +2 -1
  91. package/lib/labs/VTreeview/VTreeview.mjs.map +1 -1
  92. package/lib/labs/VTreeview/VTreeviewChildren.mjs +29 -28
  93. package/lib/labs/VTreeview/VTreeviewChildren.mjs.map +1 -1
  94. package/lib/labs/VTreeview/index.d.mts +7 -7
  95. package/lib/labs/components.d.mts +68 -68
  96. package/lib/locale/el.mjs +0 -0
  97. package/lib/locale/index.mjs +0 -0
  98. package/lib/styles/settings/_colors.scss +257 -256
  99. package/lib/styles/utilities/_display.sass +2 -1
  100. package/lib/styles/utilities/_elevation.scss +2 -1
  101. package/lib/styles/utilities/_screenreaders.sass +2 -1
  102. package/package.json +23 -16
  103. package/lib/components/VConfirmEdit/__test__/VConfirmEdit.spec.cy.mjs +0 -74
  104. package/lib/components/VConfirmEdit/__test__/VConfirmEdit.spec.cy.mjs.map +0 -1
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * Vuetify v3.7.2
2
+ * Vuetify v3.7.4
3
3
  * Forged by John Leider
4
4
  * Released under the MIT License.
5
5
  */
@@ -8043,7 +8043,8 @@ const VChip = genericComponent()({
8043
8043
  }, slots.append)]), hasClose && createVNode("button", mergeProps({
8044
8044
  "key": "close",
8045
8045
  "class": "v-chip__close",
8046
- "type": "button"
8046
+ "type": "button",
8047
+ "data-testid": "close-chip"
8047
8048
  }, closeProps.value), [!slots.close ? createVNode(VIcon, {
8048
8049
  "key": "close-icon",
8049
8050
  "icon": props.closeIcon,
@@ -8585,8 +8586,8 @@ const useNested = props => {
8585
8586
  }),
8586
8587
  register: (id, parentId, isGroup) => {
8587
8588
  if (nodeIds.has(id)) {
8588
- const path = getPath(id).join(' -> ');
8589
- const newPath = getPath(parentId).concat(id).join(' -> ');
8589
+ const path = getPath(id).map(String).join(' -> ');
8590
+ const newPath = getPath(parentId).concat(id).map(String).join(' -> ');
8590
8591
  consoleError(`Multiple nodes with the same ID\n\t${path}\n\t${newPath}`);
8591
8592
  return;
8592
8593
  } else {
@@ -9020,6 +9021,7 @@ const VListItem = genericComponent()({
9020
9021
  }, themeClasses.value, borderClasses.value, colorClasses.value, densityClasses.value, elevationClasses.value, lineClasses.value, roundedClasses.value, variantClasses.value, props.class],
9021
9022
  "style": [colorStyles.value, dimensionStyles.value, props.style],
9022
9023
  "tabindex": isClickable.value ? list ? -2 : 0 : undefined,
9024
+ "aria-selected": root.activatable.value ? isActivated.value : isSelected.value,
9023
9025
  "onClick": onClick,
9024
9026
  "onKeydown": isClickable.value && !isLink.value && onKeyDown
9025
9027
  }, link.linkProps), {
@@ -11207,7 +11209,10 @@ const VMenu = genericComponent()({
11207
11209
  }, 40);
11208
11210
  }
11209
11211
  });
11210
- onBeforeUnmount(() => parent?.unregister());
11212
+ onBeforeUnmount(() => {
11213
+ parent?.unregister();
11214
+ document.removeEventListener('focusin', onFocusIn);
11215
+ });
11211
11216
  onDeactivated(() => isActive.value = false);
11212
11217
  async function onFocusIn(e) {
11213
11218
  const before = e.relatedTarget;
@@ -11227,13 +11232,19 @@ const VMenu = genericComponent()({
11227
11232
  watch(isActive, val => {
11228
11233
  if (val) {
11229
11234
  parent?.register();
11230
- document.addEventListener('focusin', onFocusIn, {
11231
- once: true
11232
- });
11235
+ if (IN_BROWSER) {
11236
+ document.addEventListener('focusin', onFocusIn, {
11237
+ once: true
11238
+ });
11239
+ }
11233
11240
  } else {
11234
11241
  parent?.unregister();
11235
- document.removeEventListener('focusin', onFocusIn);
11242
+ if (IN_BROWSER) {
11243
+ document.removeEventListener('focusin', onFocusIn);
11244
+ }
11236
11245
  }
11246
+ }, {
11247
+ immediate: true
11237
11248
  });
11238
11249
  function onClickOutside(e) {
11239
11250
  parent?.closeParents(e);
@@ -13749,6 +13760,9 @@ const VDialog = genericComponent()({
13749
13760
  }
13750
13761
  }
13751
13762
  }
13763
+ onBeforeUnmount(() => {
13764
+ document.removeEventListener('focusin', onFocusin);
13765
+ });
13752
13766
  if (IN_BROWSER) {
13753
13767
  watch(() => isActive.value && props.retainFocus, val => {
13754
13768
  val ? document.addEventListener('focusin', onFocusin) : document.removeEventListener('focusin', onFocusin);
@@ -13796,6 +13810,10 @@ const VDialog = genericComponent()({
13796
13810
  "aria-modal": "true",
13797
13811
  "activatorProps": activatorProps,
13798
13812
  "contentProps": contentProps,
13813
+ "height": !props.fullscreen ? props.height : undefined,
13814
+ "width": !props.fullscreen ? props.width : undefined,
13815
+ "maxHeight": !props.fullscreen ? props.maxHeight : undefined,
13816
+ "maxWidth": !props.fullscreen ? props.maxWidth : undefined,
13799
13817
  "role": "dialog",
13800
13818
  "onAfterEnter": onAfterEnter,
13801
13819
  "onAfterLeave": onAfterLeave
@@ -14892,7 +14910,7 @@ const VCarouselItem = genericComponent()({
14892
14910
  });
14893
14911
 
14894
14912
  // Styles
14895
- const VCode = createSimpleFunctional('v-code');
14913
+ const VCode = createSimpleFunctional('v-code', 'code');
14896
14914
 
14897
14915
  // Types
14898
14916
 
@@ -16629,7 +16647,7 @@ const VColorPicker = defineComponent({
16629
16647
  hue.value = hsva.h;
16630
16648
  model.value = hsva;
16631
16649
  };
16632
- onMounted(() => {
16650
+ onBeforeMount(() => {
16633
16651
  if (!props.modes.includes(mode.value)) mode.value = props.modes[0];
16634
16652
  });
16635
16653
  provideDefaults({
@@ -18388,7 +18406,9 @@ function providePagination(options) {
18388
18406
  if (itemsPerPage.value === -1 || itemsLength.value === 0) return 1;
18389
18407
  return Math.ceil(itemsLength.value / itemsPerPage.value);
18390
18408
  });
18391
- watchEffect(() => {
18409
+
18410
+ // Don't run immediately, items may not have been loaded yet: #17966
18411
+ watch([page, pageCount], () => {
18392
18412
  if (page.value > pageCount.value) {
18393
18413
  page.value = pageCount.value;
18394
18414
  }
@@ -23459,7 +23479,7 @@ const VItem = genericComponent()({
23459
23479
  });
23460
23480
 
23461
23481
  // Styles
23462
- const VKbd = createSimpleFunctional('v-kbd');
23482
+ const VKbd = createSimpleFunctional('v-kbd', 'kbd');
23463
23483
 
23464
23484
  const makeVLayoutProps = propsFactory({
23465
23485
  ...makeComponentProps(),
@@ -29646,36 +29666,32 @@ const VTreeviewChildren = genericComponent()({
29646
29666
  props: makeVTreeviewChildrenProps(),
29647
29667
  setup(props, _ref) {
29648
29668
  let {
29649
- emit,
29650
29669
  slots
29651
29670
  } = _ref;
29652
- const isLoading = shallowRef(null);
29671
+ const isLoading = reactive(new Set());
29653
29672
  const isClickOnOpen = computed(() => props.openOnClick != null ? props.openOnClick : props.selectable);
29654
- function checkChildren(item) {
29655
- return new Promise(resolve => {
29656
- if (!props.items?.length || !props.loadChildren) return resolve();
29673
+ async function checkChildren(item) {
29674
+ try {
29675
+ if (!props.items?.length || !props.loadChildren) return;
29657
29676
  if (item?.children?.length === 0) {
29658
- isLoading.value = item.value;
29659
- props.loadChildren(item).then(resolve);
29660
- return;
29677
+ isLoading.add(item.value);
29678
+ await props.loadChildren(item.raw);
29661
29679
  }
29662
- resolve();
29663
- }).finally(() => {
29664
- isLoading.value = null;
29665
- });
29680
+ } finally {
29681
+ isLoading.delete(item.value);
29682
+ }
29666
29683
  }
29667
29684
  function selectItem(select, isSelected) {
29668
29685
  if (props.selectable) {
29669
29686
  select(!isSelected);
29670
29687
  }
29671
29688
  }
29672
- return () => slots.default?.() ?? props.items?.map(_ref2 => {
29673
- let {
29689
+ return () => slots.default?.() ?? props.items?.map(item => {
29690
+ const {
29674
29691
  children,
29675
- props: itemProps,
29676
- raw: item
29677
- } = _ref2;
29678
- const loading = isLoading.value === item.value;
29692
+ props: itemProps
29693
+ } = item;
29694
+ const loading = isLoading.has(item.value);
29679
29695
  const slotsWithItem = {
29680
29696
  prepend: slotProps => createVNode(Fragment, null, [props.selectable && (!children || children && !['leaf', 'single-leaf'].includes(props.selectStrategy)) && createVNode("div", null, [createVNode(VCheckboxBtn, {
29681
29697
  "key": item.value,
@@ -29694,26 +29710,29 @@ const VTreeviewChildren = genericComponent()({
29694
29710
  }
29695
29711
  }, null)]), slots.prepend?.({
29696
29712
  ...slotProps,
29697
- item
29713
+ item: item.raw,
29714
+ internalItem: item
29698
29715
  })]),
29699
29716
  append: slots.append ? slotProps => slots.append?.({
29700
29717
  ...slotProps,
29701
- item
29718
+ item: item.raw,
29719
+ internalItem: item
29702
29720
  }) : undefined,
29703
29721
  title: slots.title ? slotProps => slots.title?.({
29704
29722
  ...slotProps,
29705
- item
29723
+ item: item.raw,
29724
+ internalItem: item
29706
29725
  }) : undefined
29707
29726
  };
29708
29727
  const treeviewGroupProps = VTreeviewGroup.filterProps(itemProps);
29709
29728
  const treeviewChildrenProps = VTreeviewChildren.filterProps(props);
29710
29729
  return children ? createVNode(VTreeviewGroup, mergeProps(treeviewGroupProps, {
29711
- "value": props.returnObject ? item : treeviewGroupProps?.value
29730
+ "value": props.returnObject ? item.raw : treeviewGroupProps?.value
29712
29731
  }), {
29713
- activator: _ref3 => {
29732
+ activator: _ref2 => {
29714
29733
  let {
29715
29734
  props: activatorProps
29716
- } = _ref3;
29735
+ } = _ref2;
29717
29736
  const listItemProps = {
29718
29737
  ...itemProps,
29719
29738
  ...activatorProps,
@@ -29722,7 +29741,7 @@ const VTreeviewChildren = genericComponent()({
29722
29741
  onClick: isClickOnOpen.value ? [() => checkChildren(item), activatorProps.onClick] : undefined
29723
29742
  };
29724
29743
  return createVNode(VTreeviewItem, mergeProps(listItemProps, {
29725
- "value": props.returnObject ? toRaw(item) : itemProps.value,
29744
+ "value": props.returnObject ? toRaw(item.raw) : itemProps.value,
29726
29745
  "loading": loading
29727
29746
  }), slotsWithItem);
29728
29747
  },
@@ -29731,9 +29750,11 @@ const VTreeviewChildren = genericComponent()({
29731
29750
  "returnObject": props.returnObject
29732
29751
  }), slots)
29733
29752
  }) : slots.item?.({
29734
- props: itemProps
29753
+ props: itemProps,
29754
+ item: item.raw,
29755
+ internalItem: item
29735
29756
  }) ?? createVNode(VTreeviewItem, mergeProps(itemProps, {
29736
- "value": props.returnObject ? toRaw(item) : itemProps.value
29757
+ "value": props.returnObject ? toRaw(item.raw) : itemProps.value
29737
29758
  }), slotsWithItem);
29738
29759
  });
29739
29760
  }
@@ -29807,7 +29828,8 @@ const VTreeview = genericComponent()({
29807
29828
  const getPath = vListRef.value?.getPath;
29808
29829
  if (!getPath) return null;
29809
29830
  return new Set(filteredItems.value.flatMap(item => {
29810
- return [...getPath(item.props.value), ...getChildren(item.props.value)];
29831
+ const itemVal = props.returnObject ? item.raw : item.props.value;
29832
+ return [...getPath(itemVal), ...getChildren(itemVal)].map(toRaw);
29811
29833
  }));
29812
29834
  });
29813
29835
  function getChildren(id) {
@@ -30228,7 +30250,7 @@ function findComponentParent(vnode, root) {
30228
30250
  const walk = children => {
30229
30251
  for (const child of children) {
30230
30252
  if (!child) continue;
30231
- if (child === vnode) {
30253
+ if (child === vnode || child.el && vnode.el && child.el === vnode.el) {
30232
30254
  return true;
30233
30255
  }
30234
30256
  stack.add(child);
@@ -30248,7 +30270,8 @@ function findComponentParent(vnode, root) {
30248
30270
  return false;
30249
30271
  };
30250
30272
  if (!walk([root.subTree])) {
30251
- throw new Error('Could not find original vnode');
30273
+ consoleError('Could not find original vnode, component will not inherit provides');
30274
+ return root;
30252
30275
  }
30253
30276
 
30254
30277
  // Return the first component parent
@@ -30374,7 +30397,7 @@ function createVuetify$1() {
30374
30397
  goTo
30375
30398
  };
30376
30399
  }
30377
- const version$1 = "3.7.2";
30400
+ const version$1 = "3.7.4";
30378
30401
  createVuetify$1.version = version$1;
30379
30402
 
30380
30403
  // Vue's inject() can only be used in setup
@@ -30627,7 +30650,7 @@ var index = /*#__PURE__*/Object.freeze({
30627
30650
 
30628
30651
  /* eslint-disable local-rules/sort-imports */
30629
30652
 
30630
- const version = "3.7.2";
30653
+ const version = "3.7.4";
30631
30654
 
30632
30655
  /* eslint-disable local-rules/sort-imports */
30633
30656