@vuetify/nightly 3.7.1-master.2024-08-29 → 3.7.1-master.2024-09-01

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 (37) hide show
  1. package/dist/json/importMap-labs.json +20 -20
  2. package/dist/json/importMap.json +134 -134
  3. package/dist/json/web-types.json +1 -1
  4. package/dist/vuetify-labs.css +4938 -4938
  5. package/dist/vuetify-labs.d.ts +57 -0
  6. package/dist/vuetify-labs.esm.js +38 -40
  7. package/dist/vuetify-labs.esm.js.map +1 -1
  8. package/dist/vuetify-labs.js +38 -40
  9. package/dist/vuetify-labs.min.css +2 -2
  10. package/dist/vuetify.css +1481 -1481
  11. package/dist/vuetify.d.ts +104 -47
  12. package/dist/vuetify.esm.js +26 -9
  13. package/dist/vuetify.esm.js.map +1 -1
  14. package/dist/vuetify.js +26 -9
  15. package/dist/vuetify.js.map +1 -1
  16. package/dist/vuetify.min.css +2 -2
  17. package/dist/vuetify.min.js +22 -22
  18. package/dist/vuetify.min.js.map +1 -1
  19. package/lib/components/VAutocomplete/index.d.mts +3 -0
  20. package/lib/components/VCombobox/index.d.mts +3 -0
  21. package/lib/components/VList/VList.mjs +4 -2
  22. package/lib/components/VList/VList.mjs.map +1 -1
  23. package/lib/components/VList/VListItem.mjs +5 -2
  24. package/lib/components/VList/VListItem.mjs.map +1 -1
  25. package/lib/components/VList/index.d.mts +57 -0
  26. package/lib/components/VSelect/index.d.mts +3 -0
  27. package/lib/components/index.d.mts +57 -0
  28. package/lib/composables/nested/nested.mjs +15 -3
  29. package/lib/composables/nested/nested.mjs.map +1 -1
  30. package/lib/entry-bundler.mjs +1 -1
  31. package/lib/framework.mjs +1 -1
  32. package/lib/index.d.mts +47 -47
  33. package/lib/labs/VTreeview/VTreeview.mjs +3 -12
  34. package/lib/labs/VTreeview/VTreeview.mjs.map +1 -1
  35. package/lib/labs/VTreeview/VTreeviewItem.mjs +9 -20
  36. package/lib/labs/VTreeview/VTreeviewItem.mjs.map +1 -1
  37. package/package.json +1 -1
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * Vuetify v3.7.1-master.2024-08-29
2
+ * Vuetify v3.7.1-master.2024-09-01
3
3
  * Forged by John Leider
4
4
  * Released under the MIT License.
5
5
  */
@@ -8485,7 +8485,8 @@
8485
8485
  opened: vue.ref(new Set()),
8486
8486
  activated: vue.ref(new Set()),
8487
8487
  selected: vue.ref(new Map()),
8488
- selectedValues: vue.ref([])
8488
+ selectedValues: vue.ref([]),
8489
+ getPath: () => []
8489
8490
  }
8490
8491
  };
8491
8492
  const makeNestedProps = propsFactory({
@@ -8563,6 +8564,7 @@
8563
8564
  return path;
8564
8565
  }
8565
8566
  const vm = getCurrentInstance('nested');
8567
+ const nodeIds = new Set();
8566
8568
  const nested = {
8567
8569
  id: vue.shallowRef(),
8568
8570
  root: {
@@ -8579,6 +8581,14 @@
8579
8581
  return arr;
8580
8582
  }),
8581
8583
  register: (id, parentId, isGroup) => {
8584
+ if (nodeIds.has(id)) {
8585
+ const path = getPath(id).join(' -> ');
8586
+ const newPath = getPath(parentId).concat(id).join(' -> ');
8587
+ consoleError(`Multiple nodes with the same ID\n\t${path}\n\t${newPath}`);
8588
+ return;
8589
+ } else {
8590
+ nodeIds.add(id);
8591
+ }
8582
8592
  parentId && id !== parentId && parents.value.set(id, parentId);
8583
8593
  isGroup && children.value.set(id, []);
8584
8594
  if (parentId != null) {
@@ -8587,6 +8597,7 @@
8587
8597
  },
8588
8598
  unregister: id => {
8589
8599
  if (isUnmounted) return;
8600
+ nodeIds.delete(id);
8590
8601
  children.value.delete(id);
8591
8602
  const parent = parents.value.get(id);
8592
8603
  if (parent) {
@@ -8663,7 +8674,8 @@
8663
8674
  newActivated && (activated.value = newActivated);
8664
8675
  },
8665
8676
  children,
8666
- parents
8677
+ parents,
8678
+ getPath
8667
8679
  }
8668
8680
  };
8669
8681
  vue.provide(VNestedSymbol, nested);
@@ -8908,7 +8920,8 @@
8908
8920
  isGroupActivator,
8909
8921
  root,
8910
8922
  parent,
8911
- openOnSelect
8923
+ openOnSelect,
8924
+ id: uid
8912
8925
  } = useNestedItem(id, false);
8913
8926
  const list = useList();
8914
8927
  const isActive = vue.computed(() => props.active !== false && (props.active || link.isActive?.value || (root.activatable.value ? isActivated.value : isSelected.value)));
@@ -9094,7 +9107,9 @@
9094
9107
  isGroupActivator,
9095
9108
  isSelected,
9096
9109
  list,
9097
- select
9110
+ select,
9111
+ root,
9112
+ id: uid
9098
9113
  };
9099
9114
  }
9100
9115
  });
@@ -9495,7 +9510,8 @@
9495
9510
  children,
9496
9511
  open,
9497
9512
  parents,
9498
- select
9513
+ select,
9514
+ getPath
9499
9515
  } = useNested(props);
9500
9516
  const lineClasses = vue.computed(() => props.lines ? `v-list--${props.lines}-line` : undefined);
9501
9517
  const activeColor = vue.toRef(props, 'activeColor');
@@ -9587,7 +9603,8 @@
9587
9603
  select,
9588
9604
  focus,
9589
9605
  children,
9590
- parents
9606
+ parents,
9607
+ getPath
9591
9608
  };
9592
9609
  }
9593
9610
  });
@@ -29564,25 +29581,13 @@
29564
29581
  emit
29565
29582
  } = _ref;
29566
29583
  const link = useLink(props, attrs);
29567
- const rawId = vue.computed(() => props.value === undefined ? link.href.value : props.value);
29568
29584
  const vListItemRef = vue.ref();
29569
- const {
29570
- activate,
29571
- isActivated,
29572
- isGroupActivator,
29573
- root,
29574
- id
29575
- } = useNestedItem(rawId, false);
29576
- const isActivatableGroupActivator = vue.computed(() => root.activatable.value && isGroupActivator);
29585
+ const isActivatableGroupActivator = vue.computed(() => vListItemRef.value?.root.activatable.value && vListItemRef.value?.isGroupActivator);
29577
29586
  const isClickable = vue.computed(() => !props.disabled && props.link !== false && (props.link || link.isClickable.value || props.value != null && !!vListItemRef.value?.list || isActivatableGroupActivator.value));
29578
29587
  function activateItem(e) {
29579
- if (!isClickable.value || !isActivatableGroupActivator.value && isGroupActivator) return;
29580
- if (root.activatable.value) {
29581
- if (isActivatableGroupActivator.value) {
29582
- activate(!isActivated.value, e);
29583
- } else {
29584
- vListItemRef.value?.activate(!vListItemRef.value?.isActivated, e);
29585
- }
29588
+ if (!isClickable.value || !isActivatableGroupActivator.value && vListItemRef.value?.isGroupActivator) return;
29589
+ if (vListItemRef.value?.root.activatable.value) {
29590
+ vListItemRef.value?.activate(!vListItemRef.value?.isActivated, e);
29586
29591
  }
29587
29592
  }
29588
29593
  const visibleIds = vue.inject(VTreeviewSymbol, {
@@ -29591,11 +29596,13 @@
29591
29596
  useRender(() => {
29592
29597
  const listItemProps = omit(VListItem.filterProps(props), ['onClick']);
29593
29598
  const hasPrepend = slots.prepend || props.toggleIcon;
29594
- return vue.createVNode(VListItem, vue.mergeProps(listItemProps, {
29595
- "active": isActivated.value,
29599
+ return vue.createVNode(VListItem, vue.mergeProps({
29600
+ "ref": vListItemRef
29601
+ }, listItemProps, {
29602
+ "active": vListItemRef.value?.isActivated,
29596
29603
  "class": ['v-treeview-item', {
29597
29604
  'v-treeview-item--activatable-group-activator': isActivatableGroupActivator.value,
29598
- 'v-treeview-item--filtered': visibleIds.value && !visibleIds.value.has(id.value)
29605
+ 'v-treeview-item--filtered': visibleIds.value && !visibleIds.value.has(vListItemRef.value?.id)
29599
29606
  }, props.class],
29600
29607
  "ripple": false,
29601
29608
  "onClick": props.onClick ?? activateItem
@@ -29814,22 +29821,13 @@
29814
29821
  filteredItems
29815
29822
  } = useFilter(props, flatItems, search);
29816
29823
  const visibleIds = vue.computed(() => {
29817
- if (!search.value) {
29818
- return null;
29819
- }
29824
+ if (!search.value) return null;
29825
+ const getPath = vListRef.value?.getPath;
29826
+ if (!getPath) return null;
29820
29827
  return new Set(filteredItems.value.flatMap(item => {
29821
29828
  return [...getPath(item.props.value), ...getChildren(item.props.value)];
29822
29829
  }));
29823
29830
  });
29824
- function getPath(id) {
29825
- const path = [];
29826
- let parent = id;
29827
- while (parent != null) {
29828
- path.unshift(parent);
29829
- parent = vListRef.value?.parents.get(parent);
29830
- }
29831
- return path;
29832
- }
29833
29831
  function getChildren(id) {
29834
29832
  const arr = [];
29835
29833
  const queue = (vListRef.value?.children.get(id) ?? []).slice();
@@ -30394,7 +30392,7 @@
30394
30392
  goTo
30395
30393
  };
30396
30394
  }
30397
- const version$1 = "3.7.1-master.2024-08-29";
30395
+ const version$1 = "3.7.1-master.2024-09-01";
30398
30396
  createVuetify$1.version = version$1;
30399
30397
 
30400
30398
  // Vue's inject() can only be used in setup
@@ -30647,7 +30645,7 @@
30647
30645
 
30648
30646
  /* eslint-disable local-rules/sort-imports */
30649
30647
 
30650
- const version = "3.7.1-master.2024-08-29";
30648
+ const version = "3.7.1-master.2024-09-01";
30651
30649
 
30652
30650
  /* eslint-disable local-rules/sort-imports */
30653
30651