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
  */
@@ -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), {
@@ -16629,7 +16631,7 @@ const VColorPicker = defineComponent({
16629
16631
  hue.value = hsva.h;
16630
16632
  model.value = hsva;
16631
16633
  };
16632
- onMounted(() => {
16634
+ onBeforeMount(() => {
16633
16635
  if (!props.modes.includes(mode.value)) mode.value = props.modes[0];
16634
16636
  });
16635
16637
  provideDefaults({
@@ -18388,7 +18390,9 @@ function providePagination(options) {
18388
18390
  if (itemsPerPage.value === -1 || itemsLength.value === 0) return 1;
18389
18391
  return Math.ceil(itemsLength.value / itemsPerPage.value);
18390
18392
  });
18391
- watchEffect(() => {
18393
+
18394
+ // Don't run immediately, items may not have been loaded yet: #17966
18395
+ watch([page, pageCount], () => {
18392
18396
  if (page.value > pageCount.value) {
18393
18397
  page.value = pageCount.value;
18394
18398
  }
@@ -29646,36 +29650,32 @@ const VTreeviewChildren = genericComponent()({
29646
29650
  props: makeVTreeviewChildrenProps(),
29647
29651
  setup(props, _ref) {
29648
29652
  let {
29649
- emit,
29650
29653
  slots
29651
29654
  } = _ref;
29652
- const isLoading = shallowRef(null);
29655
+ const isLoading = reactive(new Set());
29653
29656
  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();
29657
+ async function checkChildren(item) {
29658
+ try {
29659
+ if (!props.items?.length || !props.loadChildren) return;
29657
29660
  if (item?.children?.length === 0) {
29658
- isLoading.value = item.value;
29659
- props.loadChildren(item).then(resolve);
29660
- return;
29661
+ isLoading.add(item.value);
29662
+ await props.loadChildren(item.raw);
29661
29663
  }
29662
- resolve();
29663
- }).finally(() => {
29664
- isLoading.value = null;
29665
- });
29664
+ } finally {
29665
+ isLoading.delete(item.value);
29666
+ }
29666
29667
  }
29667
29668
  function selectItem(select, isSelected) {
29668
29669
  if (props.selectable) {
29669
29670
  select(!isSelected);
29670
29671
  }
29671
29672
  }
29672
- return () => slots.default?.() ?? props.items?.map(_ref2 => {
29673
- let {
29673
+ return () => slots.default?.() ?? props.items?.map(item => {
29674
+ const {
29674
29675
  children,
29675
- props: itemProps,
29676
- raw: item
29677
- } = _ref2;
29678
- const loading = isLoading.value === item.value;
29676
+ props: itemProps
29677
+ } = item;
29678
+ const loading = isLoading.has(item.value);
29679
29679
  const slotsWithItem = {
29680
29680
  prepend: slotProps => createVNode(Fragment, null, [props.selectable && (!children || children && !['leaf', 'single-leaf'].includes(props.selectStrategy)) && createVNode("div", null, [createVNode(VCheckboxBtn, {
29681
29681
  "key": item.value,
@@ -29694,26 +29694,29 @@ const VTreeviewChildren = genericComponent()({
29694
29694
  }
29695
29695
  }, null)]), slots.prepend?.({
29696
29696
  ...slotProps,
29697
- item
29697
+ item: item.raw,
29698
+ internalItem: item
29698
29699
  })]),
29699
29700
  append: slots.append ? slotProps => slots.append?.({
29700
29701
  ...slotProps,
29701
- item
29702
+ item: item.raw,
29703
+ internalItem: item
29702
29704
  }) : undefined,
29703
29705
  title: slots.title ? slotProps => slots.title?.({
29704
29706
  ...slotProps,
29705
- item
29707
+ item: item.raw,
29708
+ internalItem: item
29706
29709
  }) : undefined
29707
29710
  };
29708
29711
  const treeviewGroupProps = VTreeviewGroup.filterProps(itemProps);
29709
29712
  const treeviewChildrenProps = VTreeviewChildren.filterProps(props);
29710
29713
  return children ? createVNode(VTreeviewGroup, mergeProps(treeviewGroupProps, {
29711
- "value": props.returnObject ? item : treeviewGroupProps?.value
29714
+ "value": props.returnObject ? item.raw : treeviewGroupProps?.value
29712
29715
  }), {
29713
- activator: _ref3 => {
29716
+ activator: _ref2 => {
29714
29717
  let {
29715
29718
  props: activatorProps
29716
- } = _ref3;
29719
+ } = _ref2;
29717
29720
  const listItemProps = {
29718
29721
  ...itemProps,
29719
29722
  ...activatorProps,
@@ -29722,7 +29725,7 @@ const VTreeviewChildren = genericComponent()({
29722
29725
  onClick: isClickOnOpen.value ? [() => checkChildren(item), activatorProps.onClick] : undefined
29723
29726
  };
29724
29727
  return createVNode(VTreeviewItem, mergeProps(listItemProps, {
29725
- "value": props.returnObject ? toRaw(item) : itemProps.value,
29728
+ "value": props.returnObject ? toRaw(item.raw) : itemProps.value,
29726
29729
  "loading": loading
29727
29730
  }), slotsWithItem);
29728
29731
  },
@@ -29731,9 +29734,11 @@ const VTreeviewChildren = genericComponent()({
29731
29734
  "returnObject": props.returnObject
29732
29735
  }), slots)
29733
29736
  }) : slots.item?.({
29734
- props: itemProps
29737
+ props: itemProps,
29738
+ item: item.raw,
29739
+ internalItem: item
29735
29740
  }) ?? createVNode(VTreeviewItem, mergeProps(itemProps, {
29736
- "value": props.returnObject ? toRaw(item) : itemProps.value
29741
+ "value": props.returnObject ? toRaw(item.raw) : itemProps.value
29737
29742
  }), slotsWithItem);
29738
29743
  });
29739
29744
  }
@@ -29807,7 +29812,8 @@ const VTreeview = genericComponent()({
29807
29812
  const getPath = vListRef.value?.getPath;
29808
29813
  if (!getPath) return null;
29809
29814
  return new Set(filteredItems.value.flatMap(item => {
29810
- return [...getPath(item.props.value), ...getChildren(item.props.value)];
29815
+ const itemVal = props.returnObject ? item.raw : item.props.value;
29816
+ return [...getPath(itemVal), ...getChildren(itemVal)].map(toRaw);
29811
29817
  }));
29812
29818
  });
29813
29819
  function getChildren(id) {
@@ -30228,7 +30234,7 @@ function findComponentParent(vnode, root) {
30228
30234
  const walk = children => {
30229
30235
  for (const child of children) {
30230
30236
  if (!child) continue;
30231
- if (child === vnode) {
30237
+ if (child === vnode || child.el && vnode.el && child.el === vnode.el) {
30232
30238
  return true;
30233
30239
  }
30234
30240
  stack.add(child);
@@ -30248,7 +30254,8 @@ function findComponentParent(vnode, root) {
30248
30254
  return false;
30249
30255
  };
30250
30256
  if (!walk([root.subTree])) {
30251
- throw new Error('Could not find original vnode');
30257
+ consoleError('Could not find original vnode, component will not inherit provides');
30258
+ return root;
30252
30259
  }
30253
30260
 
30254
30261
  // Return the first component parent
@@ -30374,7 +30381,7 @@ function createVuetify$1() {
30374
30381
  goTo
30375
30382
  };
30376
30383
  }
30377
- const version$1 = "3.7.2";
30384
+ const version$1 = "3.7.3";
30378
30385
  createVuetify$1.version = version$1;
30379
30386
 
30380
30387
  // Vue's inject() can only be used in setup
@@ -30627,7 +30634,7 @@ var index = /*#__PURE__*/Object.freeze({
30627
30634
 
30628
30635
  /* eslint-disable local-rules/sort-imports */
30629
30636
 
30630
- const version = "3.7.2";
30637
+ const version = "3.7.3";
30631
30638
 
30632
30639
  /* eslint-disable local-rules/sort-imports */
30633
30640