@vuetify/nightly 3.6.3-master.2024-05-05 → 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 (67) hide show
  1. package/CHANGELOG.md +11 -2
  2. package/dist/json/attributes.json +148 -8
  3. package/dist/json/importMap-labs.json +16 -16
  4. package/dist/json/importMap.json +118 -118
  5. package/dist/json/tags.json +36 -1
  6. package/dist/json/web-types.json +436 -26
  7. package/dist/vuetify-labs.css +2038 -1778
  8. package/dist/vuetify-labs.d.ts +631 -317
  9. package/dist/vuetify-labs.esm.js +72 -92
  10. package/dist/vuetify-labs.esm.js.map +1 -1
  11. package/dist/vuetify-labs.js +72 -92
  12. package/dist/vuetify-labs.min.css +3 -3
  13. package/dist/vuetify.css +2396 -2136
  14. package/dist/vuetify.d.ts +276 -318
  15. package/dist/vuetify.esm.js +19 -17
  16. package/dist/vuetify.esm.js.map +1 -1
  17. package/dist/vuetify.js +19 -17
  18. package/dist/vuetify.js.map +1 -1
  19. package/dist/vuetify.min.css +3 -3
  20. package/dist/vuetify.min.js +15 -15
  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/VTabs/VTabs.mjs +8 -3
  49. package/lib/components/VTabs/VTabs.mjs.map +1 -1
  50. package/lib/components/VToolbar/VToolbar.css +5 -5
  51. package/lib/components/VToolbar/_variables.scss +3 -3
  52. package/lib/components/VTooltip/index.d.mts +27 -33
  53. package/lib/components/index.d.mts +236 -278
  54. package/lib/composables/component.mjs +1 -1
  55. package/lib/composables/component.mjs.map +1 -1
  56. package/lib/entry-bundler.mjs +1 -1
  57. package/lib/framework.mjs +1 -1
  58. package/lib/index.d.mts +40 -40
  59. package/lib/labs/VNumberInput/VNumberInput.mjs +57 -81
  60. package/lib/labs/VNumberInput/VNumberInput.mjs.map +1 -1
  61. package/lib/labs/VNumberInput/index.d.mts +402 -34
  62. package/lib/labs/VSnackbarQueue/index.d.mts +41 -47
  63. package/lib/labs/VTreeview/index.d.mts +6 -6
  64. package/lib/labs/components.d.mts +442 -86
  65. package/lib/styles/generic/_colors.scss +1 -0
  66. package/lib/styles/main.css +260 -0
  67. package/package.json +2 -2
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * Vuetify v3.6.3-master.2024-05-05
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,
@@ -26507,6 +26505,7 @@
26507
26505
  },
26508
26506
  setup(props, _ref) {
26509
26507
  let {
26508
+ attrs,
26510
26509
  slots
26511
26510
  } = _ref;
26512
26511
  const model = useProxiedModel(props, 'modelValue');
@@ -26518,6 +26517,9 @@
26518
26517
  backgroundColorClasses,
26519
26518
  backgroundColorStyles
26520
26519
  } = useBackgroundColor(vue.toRef(props, 'bgColor'));
26520
+ const {
26521
+ scopeId
26522
+ } = useScopeId();
26521
26523
  provideDefaults({
26522
26524
  VTab: {
26523
26525
  color: vue.toRef(props, 'color'),
@@ -26544,7 +26546,7 @@
26544
26546
  }, backgroundColorStyles.value, props.style],
26545
26547
  "role": "tablist",
26546
26548
  "symbol": VTabsSymbol
26547
- }), {
26549
+ }, scopeId, attrs), {
26548
26550
  default: () => [slots.default?.() ?? items.value.map(item => slots.tab?.({
26549
26551
  item
26550
26552
  }) ?? vue.createVNode(VTab, vue.mergeProps(item, {
@@ -26555,11 +26557,11 @@
26555
26557
  item
26556
26558
  })
26557
26559
  }))]
26558
- }), hasWindow && vue.createVNode(VTabsWindow, {
26560
+ }), hasWindow && vue.createVNode(VTabsWindow, vue.mergeProps({
26559
26561
  "modelValue": model.value,
26560
26562
  "onUpdate:modelValue": $event => model.value = $event,
26561
26563
  "key": "tabs-window"
26562
- }, {
26564
+ }, scopeId), {
26563
26565
  default: () => [items.value.map(item => slots.item?.({
26564
26566
  item
26565
26567
  }) ?? vue.createVNode(VTabsWindowItem, {
@@ -27844,19 +27846,13 @@
27844
27846
  type: Number,
27845
27847
  default: 1
27846
27848
  },
27847
- ...only(makeVInputProps(), ['density', 'disabled', 'focused', 'hideDetails', 'hint', 'label', 'persistentHint', 'readonly']),
27848
- ...only(makeVFieldProps(), ['baseColor', 'bgColor', 'class', 'color', 'disabled', 'error', 'loading', 'reverse', 'rounded', 'style', 'theme', 'variant']),
27849
- ...makeFocusProps()
27849
+ ...omit(makeVTextFieldProps(), ['appendInnerIcon', 'prependInnerIcon'])
27850
27850
  }, 'VNumberInput');
27851
27851
  const VNumberInput = genericComponent()({
27852
27852
  name: 'VNumberInput',
27853
27853
  inheritAttrs: false,
27854
27854
  props: {
27855
- ...makeVNumberInputProps(),
27856
- modelValue: {
27857
- type: Number,
27858
- default: undefined
27859
- }
27855
+ ...makeVNumberInputProps()
27860
27856
  },
27861
27857
  emits: {
27862
27858
  'update:modelValue': val => true
@@ -27868,12 +27864,6 @@
27868
27864
  slots
27869
27865
  } = _ref;
27870
27866
  const model = useProxiedModel(props, 'modelValue');
27871
- const {
27872
- isFocused,
27873
- focus,
27874
- blur
27875
- } = useFocus(props);
27876
- const inputRef = vue.ref();
27877
27867
  const stepDecimals = vue.computed(() => getDecimals(props.step));
27878
27868
  const modelDecimals = vue.computed(() => model.value != null ? getDecimals(model.value) : 0);
27879
27869
  const canIncrease = vue.computed(() => {
@@ -27889,9 +27879,6 @@
27889
27879
  model.value = clamp(model.value, props.min, props.max);
27890
27880
  }
27891
27881
  });
27892
- function onFocus() {
27893
- if (!isFocused.value) focus();
27894
- }
27895
27882
  const controlVariant = vue.computed(() => {
27896
27883
  return props.hideInput ? 'stacked' : props.controlVariant;
27897
27884
  });
@@ -27921,7 +27908,7 @@
27921
27908
  toggleUpDown(false);
27922
27909
  }
27923
27910
  function onKeydown(e) {
27924
- if (['Enter', 'ArrowLeft', 'ArrowRight', 'Backspace'].includes(e.key) || e.ctrlKey) return;
27911
+ if (['Enter', 'ArrowLeft', 'ArrowRight', 'Backspace', 'Tab'].includes(e.key) || e.ctrlKey) return;
27925
27912
  if (['ArrowDown'].includes(e.key)) {
27926
27913
  e.preventDefault();
27927
27914
  toggleUpDown(false);
@@ -27938,17 +27925,14 @@
27938
27925
  e.preventDefault();
27939
27926
  }
27940
27927
  }
27941
- function onInput(e) {
27942
- const el = e.target;
27943
- model.value = el.value ? +el.value : undefined;
27928
+ function onModelUpdate(v) {
27929
+ model.value = v ? +v : undefined;
27944
27930
  }
27945
27931
  useRender(() => {
27946
- const fieldProps = filterFieldProps(props);
27947
- const [rootAttrs, inputAttrs] = filterInputAttrs(attrs);
27948
27932
  const {
27949
27933
  modelValue: _,
27950
- ...inputProps
27951
- } = VInput.filterProps(props);
27934
+ ...textFieldProps
27935
+ } = VTextField.filterProps(props);
27952
27936
  function controlNode() {
27953
27937
  const defaultHeight = controlVariant.value === 'stacked' ? 'auto' : '100%';
27954
27938
  return vue.createVNode("div", {
@@ -27961,6 +27945,7 @@
27961
27945
  "name": "decrement-btn",
27962
27946
  "icon": "$expand",
27963
27947
  "size": "small",
27948
+ "tabindex": "-1",
27964
27949
  "onClick": onClickDown
27965
27950
  }, null) : vue.createVNode(VDefaultsProvider, {
27966
27951
  "key": "decrement-defaults",
@@ -27985,7 +27970,8 @@
27985
27970
  "name": "increment-btn",
27986
27971
  "icon": "$collapse",
27987
27972
  "onClick": onClickUp,
27988
- "size": "small"
27973
+ "size": "small",
27974
+ "tabindex": "-1"
27989
27975
  }, null) : vue.createVNode(VDefaultsProvider, {
27990
27976
  "key": "increment-defaults",
27991
27977
  "defaults": {
@@ -28006,7 +27992,36 @@
28006
27992
  "vertical": true
28007
27993
  }, null) : undefined;
28008
27994
  }
28009
- 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,
28010
28025
  "class": ['v-number-input', {
28011
28026
  'v-number-input--default': controlVariant.value === 'default',
28012
28027
  'v-number-input--hide-input': props.hideInput,
@@ -28015,57 +28030,22 @@
28015
28030
  'v-number-input--split': controlVariant.value === 'split',
28016
28031
  'v-number-input--stacked': controlVariant.value === 'stacked'
28017
28032
  }, props.class]
28018
- }, rootAttrs, inputProps, {
28019
- "focused": isFocused.value,
28033
+ }, textFieldProps, {
28020
28034
  "style": props.style
28021
28035
  }), {
28022
28036
  ...slots,
28023
- default: () => vue.createVNode(VField, vue.mergeProps(fieldProps, {
28024
- "active": true,
28025
- "focused": isFocused.value
28026
- }), {
28027
- ...slots,
28028
- default: _ref2 => {
28029
- let {
28030
- props: {
28031
- class: fieldClass,
28032
- ...slotProps
28033
- }
28034
- } = _ref2;
28035
- return vue.createVNode("input", vue.mergeProps({
28036
- "ref": inputRef,
28037
- "type": "text",
28038
- "value": model.value,
28039
- "onInput": onInput,
28040
- "onKeydown": onKeydown,
28041
- "class": fieldClass,
28042
- "onFocus": onFocus,
28043
- "onBlur": blur
28044
- }, inputAttrs), null);
28045
- },
28046
- 'append-inner': controlVariant.value === 'split' ? () => vue.createVNode("div", {
28047
- "class": "v-number-input__control"
28048
- }, [vue.createVNode(VDivider, {
28049
- "vertical": true
28050
- }, null), vue.createVNode(VBtn, {
28051
- "flat": true,
28052
- "height": "100%",
28053
- "icon": "$plus",
28054
- "tile": true,
28055
- "onClick": onClickUp
28056
- }, null)]) : !props.reverse ? () => vue.createVNode(vue.Fragment, null, [dividerNode(), controlNode()]) : undefined,
28057
- 'prepend-inner': controlVariant.value === 'split' ? () => vue.createVNode("div", {
28058
- "class": "v-number-input__control"
28059
- }, [vue.createVNode(VBtn, {
28060
- "flat": true,
28061
- "height": "100%",
28062
- "icon": "$minus",
28063
- "tile": true,
28064
- "onClick": onClickDown
28065
- }, null), vue.createVNode(VDivider, {
28066
- "vertical": true
28067
- }, null)]) : props.reverse ? () => vue.createVNode(vue.Fragment, null, [controlNode(), dividerNode()]) : undefined
28068
- })
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
28069
28049
  });
28070
28050
  });
28071
28051
  }
@@ -29768,7 +29748,7 @@
29768
29748
  goTo
29769
29749
  };
29770
29750
  }
29771
- const version$1 = "3.6.3-master.2024-05-05";
29751
+ const version$1 = "3.6.3-master.2024-05-07";
29772
29752
  createVuetify$1.version = version$1;
29773
29753
 
29774
29754
  // Vue's inject() can only be used in setup
@@ -30021,7 +30001,7 @@
30021
30001
 
30022
30002
  /* eslint-disable local-rules/sort-imports */
30023
30003
 
30024
- const version = "3.6.3-master.2024-05-05";
30004
+ const version = "3.6.3-master.2024-05-07";
30025
30005
 
30026
30006
  /* eslint-disable local-rules/sort-imports */
30027
30007