vuetify 3.7.2 → 3.7.3

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 (83) hide show
  1. package/dist/json/attributes.json +1 -1
  2. package/dist/json/importMap-labs.json +22 -22
  3. package/dist/json/importMap.json +160 -160
  4. package/dist/json/web-types.json +2 -2
  5. package/dist/vuetify-labs.css +3147 -3147
  6. package/dist/vuetify-labs.d.ts +194 -194
  7. package/dist/vuetify-labs.esm.js +45 -38
  8. package/dist/vuetify-labs.esm.js.map +1 -1
  9. package/dist/vuetify-labs.js +45 -38
  10. package/dist/vuetify-labs.min.css +2 -2
  11. package/dist/vuetify.css +2105 -2105
  12. package/dist/vuetify.d.ts +210 -210
  13. package/dist/vuetify.esm.js +15 -10
  14. package/dist/vuetify.esm.js.map +1 -1
  15. package/dist/vuetify.js +15 -10
  16. package/dist/vuetify.js.map +1 -1
  17. package/dist/vuetify.min.css +2 -2
  18. package/dist/vuetify.min.js +12 -12
  19. package/dist/vuetify.min.js.map +1 -1
  20. package/lib/components/VAutocomplete/index.d.mts +22 -22
  21. package/lib/components/VBottomSheet/VBottomSheet.sass +2 -1
  22. package/lib/components/VBottomSheet/index.d.mts +4 -4
  23. package/lib/components/VCarousel/index.d.mts +2 -2
  24. package/lib/components/VCheckbox/index.d.mts +2 -2
  25. package/lib/components/VChip/VChip.mjs +2 -1
  26. package/lib/components/VChip/VChip.mjs.map +1 -1
  27. package/lib/components/VColorPicker/VColorPicker.mjs +2 -2
  28. package/lib/components/VColorPicker/VColorPicker.mjs.map +1 -1
  29. package/lib/components/VCombobox/index.d.mts +22 -22
  30. package/lib/components/VConfirmEdit/__test__/VConfirmEdit.spec.browser.mjs +87 -0
  31. package/lib/components/VConfirmEdit/__test__/VConfirmEdit.spec.browser.mjs.map +1 -0
  32. package/lib/components/VDataTable/composables/paginate.mjs +4 -2
  33. package/lib/components/VDataTable/composables/paginate.mjs.map +1 -1
  34. package/lib/components/VDataTable/index.d.mts +6 -6
  35. package/lib/components/VDatePicker/index.d.mts +2 -2
  36. package/lib/components/VDialog/index.d.mts +22 -22
  37. package/lib/components/VField/_variables.scss +2 -1
  38. package/lib/components/VFileInput/__tests__/text.txt +1 -0
  39. package/lib/components/VFileInput/index.d.mts +3 -3
  40. package/lib/components/VInput/index.d.mts +2 -2
  41. package/lib/components/VList/VListItem.mjs +1 -0
  42. package/lib/components/VList/VListItem.mjs.map +1 -1
  43. package/lib/components/VMenu/index.d.mts +20 -20
  44. package/lib/components/VMessages/index.d.mts +8 -8
  45. package/lib/components/VNavigationDrawer/index.d.mts +7 -7
  46. package/lib/components/VOverflowBtn/VOverflowBtn.sass +6 -5
  47. package/lib/components/VOverlay/index.d.mts +4 -4
  48. package/lib/components/VProgressLinear/_variables.scss +2 -1
  49. package/lib/components/VRadioGroup/index.d.mts +2 -2
  50. package/lib/components/VSelect/index.d.mts +22 -22
  51. package/lib/components/VSnackbar/index.d.mts +31 -31
  52. package/lib/components/VSpeedDial/index.d.mts +2 -2
  53. package/lib/components/VSwitch/index.d.mts +2 -2
  54. package/lib/components/VTable/_mixins.scss +2 -2
  55. package/lib/components/VTabs/VTabs.sass +1 -1
  56. package/lib/components/VTextField/index.d.mts +3 -3
  57. package/lib/components/VTextarea/index.d.mts +3 -3
  58. package/lib/components/VTooltip/index.d.mts +24 -24
  59. package/lib/components/VWindow/index.d.mts +2 -2
  60. package/lib/components/index.d.mts +157 -157
  61. package/lib/composables/directiveComponent.mjs +4 -3
  62. package/lib/composables/directiveComponent.mjs.map +1 -1
  63. package/lib/composables/nested/nested.mjs +2 -2
  64. package/lib/composables/nested/nested.mjs.map +1 -1
  65. package/lib/directives/ripple/index.mjs.map +1 -1
  66. package/lib/entry-bundler.mjs +1 -1
  67. package/lib/framework.mjs +1 -1
  68. package/lib/index.d.mts +53 -53
  69. package/lib/labs/VNumberInput/index.d.mts +9 -9
  70. package/lib/labs/VSnackbarQueue/index.d.mts +52 -52
  71. package/lib/labs/VTreeview/VTreeview.mjs +2 -1
  72. package/lib/labs/VTreeview/VTreeview.mjs.map +1 -1
  73. package/lib/labs/VTreeview/VTreeviewChildren.mjs +29 -28
  74. package/lib/labs/VTreeview/VTreeviewChildren.mjs.map +1 -1
  75. package/lib/labs/VTreeview/index.d.mts +7 -7
  76. package/lib/labs/components.d.mts +68 -68
  77. package/lib/styles/settings/_colors.scss +257 -256
  78. package/lib/styles/utilities/_display.sass +2 -1
  79. package/lib/styles/utilities/_elevation.scss +2 -1
  80. package/lib/styles/utilities/_screenreaders.sass +2 -1
  81. package/package.json +23 -16
  82. package/lib/components/VConfirmEdit/__test__/VConfirmEdit.spec.cy.mjs +0 -74
  83. 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.3
3
3
  * Forged by John Leider
4
4
  * Released under the MIT License.
5
5
  */
@@ -8047,7 +8047,8 @@
8047
8047
  }, slots.append)]), hasClose && vue.createVNode("button", vue.mergeProps({
8048
8048
  "key": "close",
8049
8049
  "class": "v-chip__close",
8050
- "type": "button"
8050
+ "type": "button",
8051
+ "data-testid": "close-chip"
8051
8052
  }, closeProps.value), [!slots.close ? vue.createVNode(VIcon, {
8052
8053
  "key": "close-icon",
8053
8054
  "icon": props.closeIcon,
@@ -8589,8 +8590,8 @@
8589
8590
  }),
8590
8591
  register: (id, parentId, isGroup) => {
8591
8592
  if (nodeIds.has(id)) {
8592
- const path = getPath(id).join(' -> ');
8593
- const newPath = getPath(parentId).concat(id).join(' -> ');
8593
+ const path = getPath(id).map(String).join(' -> ');
8594
+ const newPath = getPath(parentId).concat(id).map(String).join(' -> ');
8594
8595
  consoleError(`Multiple nodes with the same ID\n\t${path}\n\t${newPath}`);
8595
8596
  return;
8596
8597
  } else {
@@ -9024,6 +9025,7 @@
9024
9025
  }, themeClasses.value, borderClasses.value, colorClasses.value, densityClasses.value, elevationClasses.value, lineClasses.value, roundedClasses.value, variantClasses.value, props.class],
9025
9026
  "style": [colorStyles.value, dimensionStyles.value, props.style],
9026
9027
  "tabindex": isClickable.value ? list ? -2 : 0 : undefined,
9028
+ "aria-selected": root.activatable.value ? isActivated.value : isSelected.value,
9027
9029
  "onClick": onClick,
9028
9030
  "onKeydown": isClickable.value && !isLink.value && onKeyDown
9029
9031
  }, link.linkProps), {
@@ -16633,7 +16635,7 @@
16633
16635
  hue.value = hsva.h;
16634
16636
  model.value = hsva;
16635
16637
  };
16636
- vue.onMounted(() => {
16638
+ vue.onBeforeMount(() => {
16637
16639
  if (!props.modes.includes(mode.value)) mode.value = props.modes[0];
16638
16640
  });
16639
16641
  provideDefaults({
@@ -18392,7 +18394,9 @@
18392
18394
  if (itemsPerPage.value === -1 || itemsLength.value === 0) return 1;
18393
18395
  return Math.ceil(itemsLength.value / itemsPerPage.value);
18394
18396
  });
18395
- vue.watchEffect(() => {
18397
+
18398
+ // Don't run immediately, items may not have been loaded yet: #17966
18399
+ vue.watch([page, pageCount], () => {
18396
18400
  if (page.value > pageCount.value) {
18397
18401
  page.value = pageCount.value;
18398
18402
  }
@@ -29650,36 +29654,32 @@
29650
29654
  props: makeVTreeviewChildrenProps(),
29651
29655
  setup(props, _ref) {
29652
29656
  let {
29653
- emit,
29654
29657
  slots
29655
29658
  } = _ref;
29656
- const isLoading = vue.shallowRef(null);
29659
+ const isLoading = vue.reactive(new Set());
29657
29660
  const isClickOnOpen = vue.computed(() => props.openOnClick != null ? props.openOnClick : props.selectable);
29658
- function checkChildren(item) {
29659
- return new Promise(resolve => {
29660
- if (!props.items?.length || !props.loadChildren) return resolve();
29661
+ async function checkChildren(item) {
29662
+ try {
29663
+ if (!props.items?.length || !props.loadChildren) return;
29661
29664
  if (item?.children?.length === 0) {
29662
- isLoading.value = item.value;
29663
- props.loadChildren(item).then(resolve);
29664
- return;
29665
+ isLoading.add(item.value);
29666
+ await props.loadChildren(item.raw);
29665
29667
  }
29666
- resolve();
29667
- }).finally(() => {
29668
- isLoading.value = null;
29669
- });
29668
+ } finally {
29669
+ isLoading.delete(item.value);
29670
+ }
29670
29671
  }
29671
29672
  function selectItem(select, isSelected) {
29672
29673
  if (props.selectable) {
29673
29674
  select(!isSelected);
29674
29675
  }
29675
29676
  }
29676
- return () => slots.default?.() ?? props.items?.map(_ref2 => {
29677
- let {
29677
+ return () => slots.default?.() ?? props.items?.map(item => {
29678
+ const {
29678
29679
  children,
29679
- props: itemProps,
29680
- raw: item
29681
- } = _ref2;
29682
- const loading = isLoading.value === item.value;
29680
+ props: itemProps
29681
+ } = item;
29682
+ const loading = isLoading.has(item.value);
29683
29683
  const slotsWithItem = {
29684
29684
  prepend: slotProps => vue.createVNode(vue.Fragment, null, [props.selectable && (!children || children && !['leaf', 'single-leaf'].includes(props.selectStrategy)) && vue.createVNode("div", null, [vue.createVNode(VCheckboxBtn, {
29685
29685
  "key": item.value,
@@ -29698,26 +29698,29 @@
29698
29698
  }
29699
29699
  }, null)]), slots.prepend?.({
29700
29700
  ...slotProps,
29701
- item
29701
+ item: item.raw,
29702
+ internalItem: item
29702
29703
  })]),
29703
29704
  append: slots.append ? slotProps => slots.append?.({
29704
29705
  ...slotProps,
29705
- item
29706
+ item: item.raw,
29707
+ internalItem: item
29706
29708
  }) : undefined,
29707
29709
  title: slots.title ? slotProps => slots.title?.({
29708
29710
  ...slotProps,
29709
- item
29711
+ item: item.raw,
29712
+ internalItem: item
29710
29713
  }) : undefined
29711
29714
  };
29712
29715
  const treeviewGroupProps = VTreeviewGroup.filterProps(itemProps);
29713
29716
  const treeviewChildrenProps = VTreeviewChildren.filterProps(props);
29714
29717
  return children ? vue.createVNode(VTreeviewGroup, vue.mergeProps(treeviewGroupProps, {
29715
- "value": props.returnObject ? item : treeviewGroupProps?.value
29718
+ "value": props.returnObject ? item.raw : treeviewGroupProps?.value
29716
29719
  }), {
29717
- activator: _ref3 => {
29720
+ activator: _ref2 => {
29718
29721
  let {
29719
29722
  props: activatorProps
29720
- } = _ref3;
29723
+ } = _ref2;
29721
29724
  const listItemProps = {
29722
29725
  ...itemProps,
29723
29726
  ...activatorProps,
@@ -29726,7 +29729,7 @@
29726
29729
  onClick: isClickOnOpen.value ? [() => checkChildren(item), activatorProps.onClick] : undefined
29727
29730
  };
29728
29731
  return vue.createVNode(VTreeviewItem, vue.mergeProps(listItemProps, {
29729
- "value": props.returnObject ? vue.toRaw(item) : itemProps.value,
29732
+ "value": props.returnObject ? vue.toRaw(item.raw) : itemProps.value,
29730
29733
  "loading": loading
29731
29734
  }), slotsWithItem);
29732
29735
  },
@@ -29735,9 +29738,11 @@
29735
29738
  "returnObject": props.returnObject
29736
29739
  }), slots)
29737
29740
  }) : slots.item?.({
29738
- props: itemProps
29741
+ props: itemProps,
29742
+ item: item.raw,
29743
+ internalItem: item
29739
29744
  }) ?? vue.createVNode(VTreeviewItem, vue.mergeProps(itemProps, {
29740
- "value": props.returnObject ? vue.toRaw(item) : itemProps.value
29745
+ "value": props.returnObject ? vue.toRaw(item.raw) : itemProps.value
29741
29746
  }), slotsWithItem);
29742
29747
  });
29743
29748
  }
@@ -29811,7 +29816,8 @@
29811
29816
  const getPath = vListRef.value?.getPath;
29812
29817
  if (!getPath) return null;
29813
29818
  return new Set(filteredItems.value.flatMap(item => {
29814
- return [...getPath(item.props.value), ...getChildren(item.props.value)];
29819
+ const itemVal = props.returnObject ? item.raw : item.props.value;
29820
+ return [...getPath(itemVal), ...getChildren(itemVal)].map(vue.toRaw);
29815
29821
  }));
29816
29822
  });
29817
29823
  function getChildren(id) {
@@ -30232,7 +30238,7 @@
30232
30238
  const walk = children => {
30233
30239
  for (const child of children) {
30234
30240
  if (!child) continue;
30235
- if (child === vnode) {
30241
+ if (child === vnode || child.el && vnode.el && child.el === vnode.el) {
30236
30242
  return true;
30237
30243
  }
30238
30244
  stack.add(child);
@@ -30252,7 +30258,8 @@
30252
30258
  return false;
30253
30259
  };
30254
30260
  if (!walk([root.subTree])) {
30255
- throw new Error('Could not find original vnode');
30261
+ consoleError('Could not find original vnode, component will not inherit provides');
30262
+ return root;
30256
30263
  }
30257
30264
 
30258
30265
  // Return the first component parent
@@ -30378,7 +30385,7 @@
30378
30385
  goTo
30379
30386
  };
30380
30387
  }
30381
- const version$1 = "3.7.2";
30388
+ const version$1 = "3.7.3";
30382
30389
  createVuetify$1.version = version$1;
30383
30390
 
30384
30391
  // Vue's inject() can only be used in setup
@@ -30631,7 +30638,7 @@
30631
30638
 
30632
30639
  /* eslint-disable local-rules/sort-imports */
30633
30640
 
30634
- const version = "3.7.2";
30641
+ const version = "3.7.3";
30635
30642
 
30636
30643
  /* eslint-disable local-rules/sort-imports */
30637
30644