@vuetify/nightly 3.6.3-master.2024-05-06 → 3.6.3-master.2024-05-07

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 (61) hide show
  1. package/CHANGELOG.md +8 -2
  2. package/dist/json/attributes.json +148 -8
  3. package/dist/json/importMap-labs.json +4 -4
  4. package/dist/json/importMap.json +112 -112
  5. package/dist/json/tags.json +36 -1
  6. package/dist/json/web-types.json +433 -23
  7. package/dist/vuetify-labs.css +1744 -1744
  8. package/dist/vuetify-labs.d.ts +631 -317
  9. package/dist/vuetify-labs.esm.js +65 -89
  10. package/dist/vuetify-labs.esm.js.map +1 -1
  11. package/dist/vuetify-labs.js +65 -89
  12. package/dist/vuetify-labs.min.css +2 -2
  13. package/dist/vuetify.css +4507 -4507
  14. package/dist/vuetify.d.ts +273 -315
  15. package/dist/vuetify.esm.js +12 -14
  16. package/dist/vuetify.esm.js.map +1 -1
  17. package/dist/vuetify.js +12 -14
  18. package/dist/vuetify.js.map +1 -1
  19. package/dist/vuetify.min.css +2 -2
  20. package/dist/vuetify.min.js +11 -11
  21. package/dist/vuetify.min.js.map +1 -1
  22. package/lib/components/VAutocomplete/VAutocomplete.mjs +1 -1
  23. package/lib/components/VAutocomplete/VAutocomplete.mjs.map +1 -1
  24. package/lib/components/VAutocomplete/index.d.mts +18 -18
  25. package/lib/components/VBottomSheet/index.d.mts +9 -15
  26. package/lib/components/VCarousel/index.d.mts +6 -6
  27. package/lib/components/VCombobox/index.d.mts +18 -18
  28. package/lib/components/VDialog/index.d.mts +27 -33
  29. package/lib/components/VFileInput/VFileInput.mjs +1 -1
  30. package/lib/components/VFileInput/VFileInput.mjs.map +1 -1
  31. package/lib/components/VFileInput/index.d.mts +9 -9
  32. package/lib/components/VImg/index.d.mts +6 -6
  33. package/lib/components/VList/VListItem.mjs +3 -2
  34. package/lib/components/VList/VListItem.mjs.map +1 -1
  35. package/lib/components/VList/index.d.mts +6 -6
  36. package/lib/components/VMenu/index.d.mts +27 -33
  37. package/lib/components/VOverlay/VOverlay.mjs +2 -5
  38. package/lib/components/VOverlay/VOverlay.mjs.map +1 -1
  39. package/lib/components/VOverlay/index.d.mts +9 -15
  40. package/lib/components/VResponsive/VResponsive.mjs +1 -1
  41. package/lib/components/VResponsive/VResponsive.mjs.map +1 -1
  42. package/lib/components/VResponsive/index.d.mts +6 -6
  43. package/lib/components/VSelect/index.d.mts +18 -18
  44. package/lib/components/VSlideGroup/VSlideGroup.mjs.map +1 -1
  45. package/lib/components/VSnackbar/VSnackbar.mjs.map +1 -1
  46. package/lib/components/VSnackbar/index.d.mts +41 -47
  47. package/lib/components/VSpeedDial/index.d.mts +9 -15
  48. package/lib/components/VTooltip/index.d.mts +27 -33
  49. package/lib/components/index.d.mts +236 -278
  50. package/lib/composables/component.mjs +1 -1
  51. package/lib/composables/component.mjs.map +1 -1
  52. package/lib/entry-bundler.mjs +1 -1
  53. package/lib/framework.mjs +1 -1
  54. package/lib/index.d.mts +37 -37
  55. package/lib/labs/VNumberInput/VNumberInput.mjs +57 -81
  56. package/lib/labs/VNumberInput/VNumberInput.mjs.map +1 -1
  57. package/lib/labs/VNumberInput/index.d.mts +402 -34
  58. package/lib/labs/VSnackbarQueue/index.d.mts +41 -47
  59. package/lib/labs/VTreeview/index.d.mts +6 -6
  60. package/lib/labs/components.d.mts +442 -86
  61. package/package.json +2 -2
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * Vuetify v3.6.3-master.2024-05-06
2
+ * Vuetify v3.6.3-master.2024-05-07
3
3
  * Forged by John Leider
4
4
  * Released under the MIT License.
5
5
  */
@@ -74,7 +74,7 @@
74
74
 
75
75
  // Composables
76
76
  const makeComponentProps = propsFactory({
77
- class: [String, Array],
77
+ class: [String, Array, Object],
78
78
  style: {
79
79
  type: [String, Array, Object],
80
80
  default: null
@@ -3005,7 +3005,7 @@
3005
3005
  }
3006
3006
  const makeVResponsiveProps = propsFactory({
3007
3007
  aspectRatio: [String, Number],
3008
- contentClass: String,
3008
+ contentClass: null,
3009
3009
  inline: Boolean,
3010
3010
  ...makeComponentProps(),
3011
3011
  ...makeDimensionProps()
@@ -8759,7 +8759,7 @@
8759
8759
  appendIcon: IconValue,
8760
8760
  baseColor: String,
8761
8761
  disabled: Boolean,
8762
- lines: String,
8762
+ lines: [Boolean, String],
8763
8763
  link: {
8764
8764
  type: Boolean,
8765
8765
  default: undefined
@@ -8870,8 +8870,9 @@
8870
8870
  }));
8871
8871
  function onClick(e) {
8872
8872
  emit('click', e);
8873
- if (isGroupActivator || !isClickable.value) return;
8873
+ if (!isClickable.value) return;
8874
8874
  link.navigate?.(e);
8875
+ if (isGroupActivator) return;
8875
8876
  if (root.activatable.value) {
8876
8877
  activate(!isActivated.value, e);
8877
8878
  } else if (root.selectable.value) {
@@ -10685,10 +10686,7 @@
10685
10686
  disabled: Boolean,
10686
10687
  opacity: [Number, String],
10687
10688
  noClickAnimation: Boolean,
10688
- modelValue: {
10689
- type: Boolean,
10690
- default: null
10691
- },
10689
+ modelValue: Boolean,
10692
10690
  persistent: Boolean,
10693
10691
  scrim: {
10694
10692
  type: [Boolean, String],
@@ -10731,7 +10729,7 @@
10731
10729
  } = _ref;
10732
10730
  const model = useProxiedModel(props, 'modelValue');
10733
10731
  const isActive = vue.computed({
10734
- get: () => Boolean(model.value),
10732
+ get: () => model.value,
10735
10733
  set: v => {
10736
10734
  if (!(v && props.disabled)) model.value = v;
10737
10735
  }
@@ -12968,7 +12966,7 @@
12968
12966
  select(displayItems.value[0]);
12969
12967
  }
12970
12968
  menu.value = false;
12971
- search.value = '';
12969
+ if (props.multiple || hasSelectionSlot.value) search.value = '';
12972
12970
  selectionIndex.value = -1;
12973
12971
  }
12974
12972
  });
@@ -22563,7 +22561,7 @@
22563
22561
  const {
22564
22562
  t
22565
22563
  } = useLocale();
22566
- const model = useProxiedModel(props, 'modelValue', props.modelValue, val => wrapInArray(val), val => props.multiple || Array.isArray(props.modelValue) ? val : val[0]);
22564
+ const model = useProxiedModel(props, 'modelValue', props.modelValue, val => wrapInArray(val), val => props.multiple || Array.isArray(props.modelValue) ? val : val[0] ?? null);
22567
22565
  const {
22568
22566
  isFocused,
22569
22567
  focus,
@@ -27848,19 +27846,13 @@
27848
27846
  type: Number,
27849
27847
  default: 1
27850
27848
  },
27851
- ...only(makeVInputProps(), ['density', 'disabled', 'focused', 'hideDetails', 'hint', 'label', 'persistentHint', 'readonly']),
27852
- ...only(makeVFieldProps(), ['baseColor', 'bgColor', 'class', 'color', 'disabled', 'error', 'loading', 'reverse', 'rounded', 'style', 'theme', 'variant']),
27853
- ...makeFocusProps()
27849
+ ...omit(makeVTextFieldProps(), ['appendInnerIcon', 'prependInnerIcon'])
27854
27850
  }, 'VNumberInput');
27855
27851
  const VNumberInput = genericComponent()({
27856
27852
  name: 'VNumberInput',
27857
27853
  inheritAttrs: false,
27858
27854
  props: {
27859
- ...makeVNumberInputProps(),
27860
- modelValue: {
27861
- type: Number,
27862
- default: undefined
27863
- }
27855
+ ...makeVNumberInputProps()
27864
27856
  },
27865
27857
  emits: {
27866
27858
  'update:modelValue': val => true
@@ -27872,12 +27864,6 @@
27872
27864
  slots
27873
27865
  } = _ref;
27874
27866
  const model = useProxiedModel(props, 'modelValue');
27875
- const {
27876
- isFocused,
27877
- focus,
27878
- blur
27879
- } = useFocus(props);
27880
- const inputRef = vue.ref();
27881
27867
  const stepDecimals = vue.computed(() => getDecimals(props.step));
27882
27868
  const modelDecimals = vue.computed(() => model.value != null ? getDecimals(model.value) : 0);
27883
27869
  const canIncrease = vue.computed(() => {
@@ -27893,9 +27879,6 @@
27893
27879
  model.value = clamp(model.value, props.min, props.max);
27894
27880
  }
27895
27881
  });
27896
- function onFocus() {
27897
- if (!isFocused.value) focus();
27898
- }
27899
27882
  const controlVariant = vue.computed(() => {
27900
27883
  return props.hideInput ? 'stacked' : props.controlVariant;
27901
27884
  });
@@ -27925,7 +27908,7 @@
27925
27908
  toggleUpDown(false);
27926
27909
  }
27927
27910
  function onKeydown(e) {
27928
- if (['Enter', 'ArrowLeft', 'ArrowRight', 'Backspace'].includes(e.key) || e.ctrlKey) return;
27911
+ if (['Enter', 'ArrowLeft', 'ArrowRight', 'Backspace', 'Tab'].includes(e.key) || e.ctrlKey) return;
27929
27912
  if (['ArrowDown'].includes(e.key)) {
27930
27913
  e.preventDefault();
27931
27914
  toggleUpDown(false);
@@ -27942,17 +27925,14 @@
27942
27925
  e.preventDefault();
27943
27926
  }
27944
27927
  }
27945
- function onInput(e) {
27946
- const el = e.target;
27947
- model.value = el.value ? +el.value : undefined;
27928
+ function onModelUpdate(v) {
27929
+ model.value = v ? +v : undefined;
27948
27930
  }
27949
27931
  useRender(() => {
27950
- const fieldProps = filterFieldProps(props);
27951
- const [rootAttrs, inputAttrs] = filterInputAttrs(attrs);
27952
27932
  const {
27953
27933
  modelValue: _,
27954
- ...inputProps
27955
- } = VInput.filterProps(props);
27934
+ ...textFieldProps
27935
+ } = VTextField.filterProps(props);
27956
27936
  function controlNode() {
27957
27937
  const defaultHeight = controlVariant.value === 'stacked' ? 'auto' : '100%';
27958
27938
  return vue.createVNode("div", {
@@ -27965,6 +27945,7 @@
27965
27945
  "name": "decrement-btn",
27966
27946
  "icon": "$expand",
27967
27947
  "size": "small",
27948
+ "tabindex": "-1",
27968
27949
  "onClick": onClickDown
27969
27950
  }, null) : vue.createVNode(VDefaultsProvider, {
27970
27951
  "key": "decrement-defaults",
@@ -27989,7 +27970,8 @@
27989
27970
  "name": "increment-btn",
27990
27971
  "icon": "$collapse",
27991
27972
  "onClick": onClickUp,
27992
- "size": "small"
27973
+ "size": "small",
27974
+ "tabindex": "-1"
27993
27975
  }, null) : vue.createVNode(VDefaultsProvider, {
27994
27976
  "key": "increment-defaults",
27995
27977
  "defaults": {
@@ -28010,7 +27992,36 @@
28010
27992
  "vertical": true
28011
27993
  }, null) : undefined;
28012
27994
  }
28013
- return vue.createVNode(VInput, vue.mergeProps({
27995
+ const appendInnerControl = controlVariant.value === 'split' ? vue.createVNode("div", {
27996
+ "class": "v-number-input__control"
27997
+ }, [vue.createVNode(VDivider, {
27998
+ "vertical": true
27999
+ }, null), vue.createVNode(VBtn, {
28000
+ "flat": true,
28001
+ "height": "100%",
28002
+ "icon": "$plus",
28003
+ "tile": true,
28004
+ "tabindex": "-1",
28005
+ "onClick": onClickUp
28006
+ }, null)]) : !props.reverse ? vue.createVNode(vue.Fragment, null, [dividerNode(), controlNode()]) : undefined;
28007
+ const hasAppendInner = slots['append-inner'] || appendInnerControl;
28008
+ const prependInnerControl = controlVariant.value === 'split' ? vue.createVNode("div", {
28009
+ "class": "v-number-input__control"
28010
+ }, [vue.createVNode(VBtn, {
28011
+ "flat": true,
28012
+ "height": "100%",
28013
+ "icon": "$minus",
28014
+ "tile": true,
28015
+ "tabindex": "-1",
28016
+ "onClick": onClickDown
28017
+ }, null), vue.createVNode(VDivider, {
28018
+ "vertical": true
28019
+ }, null)]) : props.reverse ? vue.createVNode(vue.Fragment, null, [controlNode(), dividerNode()]) : undefined;
28020
+ const hasPrependInner = slots['prepend-inner'] || prependInnerControl;
28021
+ return vue.createVNode(VTextField, vue.mergeProps({
28022
+ "modelValue": model.value,
28023
+ "onUpdate:modelValue": onModelUpdate,
28024
+ "onKeydown": onKeydown,
28014
28025
  "class": ['v-number-input', {
28015
28026
  'v-number-input--default': controlVariant.value === 'default',
28016
28027
  'v-number-input--hide-input': props.hideInput,
@@ -28019,57 +28030,22 @@
28019
28030
  'v-number-input--split': controlVariant.value === 'split',
28020
28031
  'v-number-input--stacked': controlVariant.value === 'stacked'
28021
28032
  }, props.class]
28022
- }, rootAttrs, inputProps, {
28023
- "focused": isFocused.value,
28033
+ }, textFieldProps, {
28024
28034
  "style": props.style
28025
28035
  }), {
28026
28036
  ...slots,
28027
- default: () => vue.createVNode(VField, vue.mergeProps(fieldProps, {
28028
- "active": true,
28029
- "focused": isFocused.value
28030
- }), {
28031
- ...slots,
28032
- default: _ref2 => {
28033
- let {
28034
- props: {
28035
- class: fieldClass,
28036
- ...slotProps
28037
- }
28038
- } = _ref2;
28039
- return vue.createVNode("input", vue.mergeProps({
28040
- "ref": inputRef,
28041
- "type": "text",
28042
- "value": model.value,
28043
- "onInput": onInput,
28044
- "onKeydown": onKeydown,
28045
- "class": fieldClass,
28046
- "onFocus": onFocus,
28047
- "onBlur": blur
28048
- }, inputAttrs), null);
28049
- },
28050
- 'append-inner': controlVariant.value === 'split' ? () => vue.createVNode("div", {
28051
- "class": "v-number-input__control"
28052
- }, [vue.createVNode(VDivider, {
28053
- "vertical": true
28054
- }, null), vue.createVNode(VBtn, {
28055
- "flat": true,
28056
- "height": "100%",
28057
- "icon": "$plus",
28058
- "tile": true,
28059
- "onClick": onClickUp
28060
- }, null)]) : !props.reverse ? () => vue.createVNode(vue.Fragment, null, [dividerNode(), controlNode()]) : undefined,
28061
- 'prepend-inner': controlVariant.value === 'split' ? () => vue.createVNode("div", {
28062
- "class": "v-number-input__control"
28063
- }, [vue.createVNode(VBtn, {
28064
- "flat": true,
28065
- "height": "100%",
28066
- "icon": "$minus",
28067
- "tile": true,
28068
- "onClick": onClickDown
28069
- }, null), vue.createVNode(VDivider, {
28070
- "vertical": true
28071
- }, null)]) : props.reverse ? () => vue.createVNode(vue.Fragment, null, [controlNode(), dividerNode()]) : undefined
28072
- })
28037
+ 'append-inner': hasAppendInner ? function () {
28038
+ for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
28039
+ args[_key] = arguments[_key];
28040
+ }
28041
+ return vue.createVNode(vue.Fragment, null, [slots['append-inner']?.(...args), appendInnerControl]);
28042
+ } : undefined,
28043
+ 'prepend-inner': hasPrependInner ? function () {
28044
+ for (var _len2 = arguments.length, args = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {
28045
+ args[_key2] = arguments[_key2];
28046
+ }
28047
+ return vue.createVNode(vue.Fragment, null, [prependInnerControl, slots['prepend-inner']?.(...args)]);
28048
+ } : undefined
28073
28049
  });
28074
28050
  });
28075
28051
  }
@@ -29772,7 +29748,7 @@
29772
29748
  goTo
29773
29749
  };
29774
29750
  }
29775
- const version$1 = "3.6.3-master.2024-05-06";
29751
+ const version$1 = "3.6.3-master.2024-05-07";
29776
29752
  createVuetify$1.version = version$1;
29777
29753
 
29778
29754
  // Vue's inject() can only be used in setup
@@ -30025,7 +30001,7 @@
30025
30001
 
30026
30002
  /* eslint-disable local-rules/sort-imports */
30027
30003
 
30028
- const version = "3.6.3-master.2024-05-06";
30004
+ const version = "3.6.3-master.2024-05-07";
30029
30005
 
30030
30006
  /* eslint-disable local-rules/sort-imports */
30031
30007