@vuetify/nightly 3.7.7-master.2025-01-20 → 3.7.7-master.2025-01-22

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 (38) hide show
  1. package/CHANGELOG.md +24 -3
  2. package/dist/json/attributes.json +3480 -3480
  3. package/dist/json/importMap-labs.json +22 -22
  4. package/dist/json/importMap.json +182 -182
  5. package/dist/json/web-types.json +6396 -6396
  6. package/dist/vuetify-labs.css +4332 -4326
  7. package/dist/vuetify-labs.esm.js +20 -16
  8. package/dist/vuetify-labs.esm.js.map +1 -1
  9. package/dist/vuetify-labs.js +20 -16
  10. package/dist/vuetify-labs.min.css +2 -2
  11. package/dist/vuetify.css +3627 -3627
  12. package/dist/vuetify.d.ts +65 -65
  13. package/dist/vuetify.esm.js +14 -12
  14. package/dist/vuetify.esm.js.map +1 -1
  15. package/dist/vuetify.js +14 -12
  16. package/dist/vuetify.js.map +1 -1
  17. package/dist/vuetify.min.css +2 -2
  18. package/dist/vuetify.min.js +6 -6
  19. package/dist/vuetify.min.js.map +1 -1
  20. package/lib/components/VField/VField.mjs +0 -8
  21. package/lib/components/VField/VField.mjs.map +1 -1
  22. package/lib/components/VInput/InputIcon.mjs +10 -2
  23. package/lib/components/VInput/InputIcon.mjs.map +1 -1
  24. package/lib/entry-bundler.mjs +1 -1
  25. package/lib/framework.mjs +1 -1
  26. package/lib/index.d.mts +65 -65
  27. package/lib/labs/VTimePicker/VTimePicker.mjs +1 -1
  28. package/lib/labs/VTimePicker/VTimePicker.mjs.map +1 -1
  29. package/lib/labs/VTreeview/VTreeviewChildren.mjs +3 -1
  30. package/lib/labs/VTreeview/VTreeviewChildren.mjs.map +1 -1
  31. package/lib/labs/VTreeview/VTreeviewItem.css +6 -0
  32. package/lib/labs/VTreeview/VTreeviewItem.mjs +2 -2
  33. package/lib/labs/VTreeview/VTreeviewItem.mjs.map +1 -1
  34. package/lib/labs/VTreeview/VTreeviewItem.sass +6 -0
  35. package/lib/labs/VTreeview/_variables.scss +1 -0
  36. package/lib/util/helpers.mjs +3 -0
  37. package/lib/util/helpers.mjs.map +1 -1
  38. package/package.json +1 -1
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * Vuetify v3.7.7-master.2025-01-20
2
+ * Vuetify v3.7.7-master.2025-01-22
3
3
  * Forged by John Leider
4
4
  * Released under the MIT License.
5
5
  */
@@ -468,6 +468,9 @@
468
468
  function eventName(propName) {
469
469
  return propName[2].toLowerCase() + propName.slice(3);
470
470
  }
471
+
472
+ // TODO: this should be an array but vue's types don't accept arrays: vuejs/core#8025
473
+
471
474
  const EventProp = () => [Function, Array];
472
475
  function hasEvent(props, name) {
473
476
  name = 'on' + vue.capitalize(name);
@@ -6461,11 +6464,18 @@
6461
6464
  clear: 'clear'
6462
6465
  }[name];
6463
6466
  const listener = props[`onClick:${name}`];
6467
+ function onKeydown(e) {
6468
+ if (e.key !== 'Enter' && e.key !== ' ') return;
6469
+ e.preventDefault();
6470
+ e.stopPropagation();
6471
+ callEvent(listener, new PointerEvent('click', e));
6472
+ }
6464
6473
  const label = listener && localeKey ? t(`$vuetify.input.${localeKey}`, props.label ?? '') : undefined;
6465
6474
  return vue.createVNode(VIcon, {
6466
6475
  "icon": props[`${name}Icon`],
6467
6476
  "aria-label": label,
6468
- "onClick": listener
6477
+ "onClick": listener,
6478
+ "onKeydown": onKeydown
6469
6479
  }, null);
6470
6480
  }
6471
6481
  return {
@@ -11583,12 +11593,6 @@
11583
11593
  e.preventDefault();
11584
11594
  }
11585
11595
  }
11586
- function onKeydownClear(e) {
11587
- if (e.key !== 'Enter' && e.key !== ' ') return;
11588
- e.preventDefault();
11589
- e.stopPropagation();
11590
- props['onClick:clear']?.(new MouseEvent('click'));
11591
- }
11592
11596
  useRender(() => {
11593
11597
  const isOutlined = props.variant === 'outlined';
11594
11598
  const hasPrepend = !!(slots['prepend-inner'] || props.prependInnerIcon);
@@ -11680,14 +11684,12 @@
11680
11684
  default: () => [slots.clear ? slots.clear({
11681
11685
  ...slotProps.value,
11682
11686
  props: {
11683
- onKeydown: onKeydownClear,
11684
11687
  onFocus: focus,
11685
11688
  onBlur: blur,
11686
11689
  onClick: props['onClick:clear']
11687
11690
  }
11688
11691
  }) : vue.createVNode(InputIcon, {
11689
11692
  "name": "clear",
11690
- "onKeydown": onKeydownClear,
11691
11693
  "onFocus": focus,
11692
11694
  "onBlur": blur
11693
11695
  }, null)]
@@ -29846,7 +29848,7 @@
29846
29848
  emit('update:second', value);
29847
29849
  break;
29848
29850
  }
29849
- const emitChange = selecting.value === (props.useSeconds ? SelectingTimes.Second : SelectingTimes.Minute);
29851
+ const emitChange = inputHour.value !== null && inputMinute.value !== null && (props.useSeconds ? inputSecond.value !== null : true);
29850
29852
  if (selecting.value === SelectingTimes.Hour) {
29851
29853
  selecting.value = SelectingTimes.Minute;
29852
29854
  } else if (props.useSeconds && selecting.value === SelectingTimes.Minute) {
@@ -29996,10 +29998,10 @@
29996
29998
  }), {
29997
29999
  ...slots,
29998
30000
  prepend: hasPrepend ? slotProps => {
29999
- return vue.createVNode(vue.Fragment, null, [props.toggleIcon && vue.createVNode(VListItemAction, {
30001
+ return vue.createVNode(vue.Fragment, null, [vue.createVNode(VListItemAction, {
30000
30002
  "start": false
30001
30003
  }, {
30002
- default: () => [vue.createVNode(VBtn, {
30004
+ default: () => [props.toggleIcon && vue.createVNode(VBtn, {
30003
30005
  "density": "compact",
30004
30006
  "icon": props.toggleIcon,
30005
30007
  "loading": props.loading,
@@ -30025,6 +30027,7 @@
30025
30027
  // Types
30026
30028
 
30027
30029
  const makeVTreeviewChildrenProps = propsFactory({
30030
+ disabled: Boolean,
30028
30031
  loadChildren: Function,
30029
30032
  loadingIcon: {
30030
30033
  type: String,
@@ -30054,7 +30057,7 @@
30054
30057
  slots
30055
30058
  } = _ref;
30056
30059
  const isLoading = vue.reactive(new Set());
30057
- const isClickOnOpen = vue.computed(() => props.openOnClick != null ? props.openOnClick : props.selectable);
30060
+ const isClickOnOpen = vue.computed(() => !props.disabled && (props.openOnClick != null ? props.openOnClick : props.selectable));
30058
30061
  async function checkChildren(item) {
30059
30062
  try {
30060
30063
  if (!props.items?.length || !props.loadChildren) return;
@@ -30081,6 +30084,7 @@
30081
30084
  prepend: slotProps => vue.createVNode(vue.Fragment, null, [props.selectable && (!children || children && !['leaf', 'single-leaf'].includes(props.selectStrategy)) && vue.createVNode("div", null, [vue.createVNode(VCheckboxBtn, {
30082
30085
  "key": item.value,
30083
30086
  "modelValue": slotProps.isSelected,
30087
+ "disabled": props.disabled,
30084
30088
  "loading": loading,
30085
30089
  "color": props.selectedColor,
30086
30090
  "indeterminate": slotProps.isIndeterminate,
@@ -30784,7 +30788,7 @@
30784
30788
  goTo
30785
30789
  };
30786
30790
  }
30787
- const version$1 = "3.7.7-master.2025-01-20";
30791
+ const version$1 = "3.7.7-master.2025-01-22";
30788
30792
  createVuetify$1.version = version$1;
30789
30793
 
30790
30794
  // Vue's inject() can only be used in setup
@@ -31037,7 +31041,7 @@
31037
31041
 
31038
31042
  /* eslint-disable local-rules/sort-imports */
31039
31043
 
31040
- const version = "3.7.7-master.2025-01-20";
31044
+ const version = "3.7.7-master.2025-01-22";
31041
31045
 
31042
31046
  /* eslint-disable local-rules/sort-imports */
31043
31047