@vuetify/nightly 3.6.10-master.2024-06-21 → 3.6.11-dev.2024-07-03

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 (92) hide show
  1. package/CHANGELOG.md +13 -2
  2. package/dist/json/attributes.json +291 -119
  3. package/dist/json/importMap-labs.json +28 -28
  4. package/dist/json/importMap.json +106 -106
  5. package/dist/json/tags.json +49 -6
  6. package/dist/json/web-types.json +601 -211
  7. package/dist/vuetify-labs.css +2575 -2559
  8. package/dist/vuetify-labs.d.ts +802 -519
  9. package/dist/vuetify-labs.esm.js +86 -71
  10. package/dist/vuetify-labs.esm.js.map +1 -1
  11. package/dist/vuetify-labs.js +86 -71
  12. package/dist/vuetify-labs.min.css +2 -2
  13. package/dist/vuetify.css +627 -611
  14. package/dist/vuetify.d.ts +716 -505
  15. package/dist/vuetify.esm.js +36 -16
  16. package/dist/vuetify.esm.js.map +1 -1
  17. package/dist/vuetify.js +36 -16
  18. package/dist/vuetify.js.map +1 -1
  19. package/dist/vuetify.min.css +2 -2
  20. package/dist/vuetify.min.js +24 -24
  21. package/dist/vuetify.min.js.map +1 -1
  22. package/lib/components/VAppBar/index.d.mts +6 -0
  23. package/lib/components/VAutocomplete/index.d.mts +49 -49
  24. package/lib/components/VAvatar/VAvatar.css +7 -0
  25. package/lib/components/VAvatar/VAvatar.mjs +6 -1
  26. package/lib/components/VAvatar/VAvatar.mjs.map +1 -1
  27. package/lib/components/VAvatar/VAvatar.sass +1 -0
  28. package/lib/components/VAvatar/_variables.scss +13 -0
  29. package/lib/components/VAvatar/index.d.mts +6 -0
  30. package/lib/components/VBottomSheet/index.d.mts +7 -7
  31. package/lib/components/VBreadcrumbs/index.d.mts +8 -8
  32. package/lib/components/VBtn/VBtn.mjs +3 -1
  33. package/lib/components/VBtn/VBtn.mjs.map +1 -1
  34. package/lib/components/VBtn/index.d.mts +6 -0
  35. package/lib/components/VCarousel/index.d.mts +16 -7
  36. package/lib/components/VCheckbox/index.d.mts +6 -6
  37. package/lib/components/VCombobox/index.d.mts +49 -49
  38. package/lib/components/VDialog/index.d.mts +31 -31
  39. package/lib/components/VExpansionPanel/VExpansionPanelTitle.mjs +7 -2
  40. package/lib/components/VExpansionPanel/VExpansionPanelTitle.mjs.map +1 -1
  41. package/lib/components/VExpansionPanel/index.d.mts +122 -14
  42. package/lib/components/VFab/index.d.mts +6 -0
  43. package/lib/components/VFileInput/index.d.mts +18 -18
  44. package/lib/components/VForm/index.d.mts +9 -9
  45. package/lib/components/VGrid/VContainer.mjs +6 -1
  46. package/lib/components/VGrid/VContainer.mjs.map +1 -1
  47. package/lib/components/VGrid/index.d.mts +36 -0
  48. package/lib/components/VImg/VImg.css +9 -0
  49. package/lib/components/VImg/VImg.mjs +2 -0
  50. package/lib/components/VImg/VImg.mjs.map +1 -1
  51. package/lib/components/VImg/VImg.sass +9 -0
  52. package/lib/components/VImg/index.d.mts +16 -7
  53. package/lib/components/VInput/index.d.mts +6 -6
  54. package/lib/components/VList/index.d.mts +12 -12
  55. package/lib/components/VMenu/index.d.mts +33 -33
  56. package/lib/components/VOverlay/VOverlay.mjs +1 -1
  57. package/lib/components/VOverlay/VOverlay.mjs.map +1 -1
  58. package/lib/components/VOverlay/index.d.mts +7 -7
  59. package/lib/components/VRadioGroup/index.d.mts +6 -6
  60. package/lib/components/VRangeSlider/index.d.mts +6 -6
  61. package/lib/components/VSelect/index.d.mts +49 -49
  62. package/lib/components/VSlideGroup/VSlideGroup.mjs +3 -1
  63. package/lib/components/VSlideGroup/VSlideGroup.mjs.map +1 -1
  64. package/lib/components/VSlideGroup/index.d.mts +6 -0
  65. package/lib/components/VSlider/index.d.mts +6 -6
  66. package/lib/components/VSnackbar/index.d.mts +33 -33
  67. package/lib/components/VSpeedDial/index.d.mts +9 -9
  68. package/lib/components/VSwitch/index.d.mts +6 -6
  69. package/lib/components/VTabs/index.d.mts +21 -3
  70. package/lib/components/VTextField/index.d.mts +18 -18
  71. package/lib/components/VTextarea/index.d.mts +18 -18
  72. package/lib/components/VTooltip/index.d.mts +39 -39
  73. package/lib/components/VValidation/index.d.mts +9 -8
  74. package/lib/components/index.d.mts +675 -464
  75. package/lib/composables/validation.mjs +8 -6
  76. package/lib/composables/validation.mjs.map +1 -1
  77. package/lib/entry-bundler.mjs +1 -1
  78. package/lib/entry-bundler.mjs.map +1 -1
  79. package/lib/framework.mjs +1 -1
  80. package/lib/framework.mjs.map +1 -1
  81. package/lib/index.d.mts +41 -41
  82. package/lib/labs/VDateInput/index.d.mts +6 -6
  83. package/lib/labs/VNumberInput/VNumberInput.mjs +48 -55
  84. package/lib/labs/VNumberInput/VNumberInput.mjs.map +1 -1
  85. package/lib/labs/VNumberInput/index.d.mts +6 -6
  86. package/lib/labs/VSnackbarQueue/index.d.mts +42 -42
  87. package/lib/labs/VStepperVertical/VStepperVertical.mjs +2 -0
  88. package/lib/labs/VStepperVertical/VStepperVertical.mjs.map +1 -1
  89. package/lib/labs/VStepperVertical/index.d.mts +90 -18
  90. package/lib/labs/VTreeview/index.d.mts +16 -16
  91. package/lib/labs/components.d.mts +160 -88
  92. package/package.json +1 -1
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * Vuetify v3.6.10-master.2024-06-21
2
+ * Vuetify v3.6.11-dev.2024-07-03
3
3
  * Forged by John Leider
4
4
  * Released under the MIT License.
5
5
  */
@@ -3252,6 +3252,7 @@
3252
3252
  // not intended for public use, this is passed in by vuetify-loader
3253
3253
 
3254
3254
  const makeVImgProps = propsFactory({
3255
+ absolute: Boolean,
3255
3256
  alt: String,
3256
3257
  cover: Boolean,
3257
3258
  color: String,
@@ -3508,6 +3509,7 @@
3508
3509
  const responsiveProps = VResponsive.filterProps(props);
3509
3510
  return vue.withDirectives(vue.createVNode(VResponsive, vue.mergeProps({
3510
3511
  "class": ['v-img', {
3512
+ 'v-img--absolute': props.absolute,
3511
3513
  'v-img--booting': !isBooted.value
3512
3514
  }, backgroundColorClasses.value, roundedClasses.value, props.class],
3513
3515
  "style": [{
@@ -5514,6 +5516,7 @@
5514
5516
  type: Boolean,
5515
5517
  default: undefined
5516
5518
  },
5519
+ activeColor: String,
5517
5520
  baseColor: String,
5518
5521
  symbol: {
5519
5522
  type: null,
@@ -5605,10 +5608,11 @@
5605
5608
  }
5606
5609
  return group?.isSelected.value;
5607
5610
  });
5611
+ const color = vue.computed(() => isActive.value ? props.activeColor ?? props.color : props.color);
5608
5612
  const variantProps = vue.computed(() => {
5609
5613
  const showColor = group?.isSelected.value && (!link.isLink.value || link.isActive?.value) || !group || link.isActive?.value;
5610
5614
  return {
5611
- color: showColor ? props.color ?? props.baseColor : props.baseColor,
5615
+ color: showColor ? color.value ?? props.baseColor : props.baseColor,
5612
5616
  variant: props.variant
5613
5617
  };
5614
5618
  });
@@ -5949,6 +5953,7 @@
5949
5953
  icon: IconValue,
5950
5954
  image: String,
5951
5955
  text: String,
5956
+ ...makeBorderProps(),
5952
5957
  ...makeComponentProps(),
5953
5958
  ...makeDensityProps(),
5954
5959
  ...makeRoundedProps(),
@@ -5969,6 +5974,9 @@
5969
5974
  const {
5970
5975
  themeClasses
5971
5976
  } = provideTheme(props);
5977
+ const {
5978
+ borderClasses
5979
+ } = useBorder(props);
5972
5980
  const {
5973
5981
  colorClasses,
5974
5982
  colorStyles,
@@ -5988,7 +5996,7 @@
5988
5996
  "class": ['v-avatar', {
5989
5997
  'v-avatar--start': props.start,
5990
5998
  'v-avatar--end': props.end
5991
- }, themeClasses.value, colorClasses.value, densityClasses.value, roundedClasses.value, sizeClasses.value, variantClasses.value, props.class],
5999
+ }, themeClasses.value, borderClasses.value, colorClasses.value, densityClasses.value, roundedClasses.value, sizeClasses.value, variantClasses.value, props.class],
5992
6000
  "style": [colorStyles.value, sizeStyles.value, props.style]
5993
6001
  }, {
5994
6002
  default: () => [!slots.default ? props.image ? vue.createVNode(VImg, {
@@ -6688,12 +6696,14 @@
6688
6696
  const validateOn = vue.computed(() => {
6689
6697
  let value = (props.validateOn ?? form?.validateOn.value) || 'input';
6690
6698
  if (value === 'lazy') value = 'input lazy';
6699
+ if (value === 'eager') value = 'input eager';
6691
6700
  const set = new Set(value?.split(' ') ?? []);
6692
6701
  return {
6693
- blur: set.has('blur') || set.has('input'),
6694
6702
  input: set.has('input'),
6695
- submit: set.has('submit'),
6696
- lazy: set.has('lazy')
6703
+ blur: set.has('blur') || set.has('input') || set.has('invalid-input'),
6704
+ invalidInput: set.has('invalid-input'),
6705
+ lazy: set.has('lazy'),
6706
+ eager: set.has('eager')
6697
6707
  };
6698
6708
  });
6699
6709
  const isValid = vue.computed(() => {
@@ -6730,11 +6740,11 @@
6730
6740
  });
6731
6741
  vue.onMounted(async () => {
6732
6742
  if (!validateOn.value.lazy) {
6733
- await validate(true);
6743
+ await validate(!validateOn.value.eager);
6734
6744
  }
6735
6745
  form?.update(uid.value, isValid.value, errorMessages.value);
6736
6746
  });
6737
- useToggleScope(() => validateOn.value.input, () => {
6747
+ useToggleScope(() => validateOn.value.input || validateOn.value.invalidInput && isValid.value === false, () => {
6738
6748
  vue.watch(validationModel, () => {
6739
6749
  if (validationModel.value != null) {
6740
6750
  validate();
@@ -6762,7 +6772,7 @@
6762
6772
  async function resetValidation() {
6763
6773
  isPristine.value = true;
6764
6774
  if (!validateOn.value.lazy) {
6765
- await validate(true);
6775
+ await validate(!validateOn.value.eager);
6766
6776
  } else {
6767
6777
  internalErrorMessages.value = [];
6768
6778
  }
@@ -7702,7 +7712,9 @@
7702
7712
  selected: group.selected,
7703
7713
  scrollTo,
7704
7714
  scrollOffset,
7705
- focus
7715
+ focus,
7716
+ hasPrev,
7717
+ hasNext
7706
7718
  };
7707
7719
  }
7708
7720
  });
@@ -10833,7 +10845,7 @@
10833
10845
  const potentialShadowDomRoot = vue.computed(() => activatorEl?.value?.getRootNode());
10834
10846
  const {
10835
10847
  teleportTarget
10836
- } = useTeleport(vue.computed(() => props.attach || props.contained || potentialShadowDomRoot.value instanceof ShadowRoot ? potentialShadowDomRoot.value : false));
10848
+ } = useTeleport(vue.computed(() => props.attach || props.contained || potentialShadowDomRoot.value instanceof ShadowRoot ? potentialShadowDomRoot.value ?? true : false));
10837
10849
  const {
10838
10850
  dimensionStyles
10839
10851
  } = useDimension(props);
@@ -20904,6 +20916,7 @@
20904
20916
  default: false
20905
20917
  },
20906
20918
  ...makeComponentProps(),
20919
+ ...makeDimensionProps(),
20907
20920
  ...makeTagProps()
20908
20921
  }, 'VContainer');
20909
20922
  const VContainer = genericComponent()({
@@ -20916,11 +20929,14 @@
20916
20929
  const {
20917
20930
  rtlClasses
20918
20931
  } = useRtl();
20932
+ const {
20933
+ dimensionStyles
20934
+ } = useDimension(props);
20919
20935
  useRender(() => vue.createVNode(props.tag, {
20920
20936
  "class": ['v-container', {
20921
20937
  'v-container--fluid': props.fluid
20922
20938
  }, rtlClasses.value, props.class],
20923
- "style": props.style
20939
+ "style": [dimensionStyles.value, props.style]
20924
20940
  }, slots));
20925
20941
  return {};
20926
20942
  }
@@ -22333,7 +22349,8 @@
22333
22349
  default: false
22334
22350
  },
22335
22351
  readonly: Boolean,
22336
- ...makeComponentProps()
22352
+ ...makeComponentProps(),
22353
+ ...makeDimensionProps()
22337
22354
  }, 'VExpansionPanelTitle');
22338
22355
  const VExpansionPanelTitle = genericComponent()({
22339
22356
  name: 'VExpansionPanelTitle',
@@ -22351,6 +22368,9 @@
22351
22368
  backgroundColorClasses,
22352
22369
  backgroundColorStyles
22353
22370
  } = useBackgroundColor(props, 'color');
22371
+ const {
22372
+ dimensionStyles
22373
+ } = useDimension(props);
22354
22374
  const slotProps = vue.computed(() => ({
22355
22375
  collapseIcon: props.collapseIcon,
22356
22376
  disabled: expansionPanel.disabled.value,
@@ -22365,7 +22385,7 @@
22365
22385
  'v-expansion-panel-title--focusable': props.focusable,
22366
22386
  'v-expansion-panel-title--static': props.static
22367
22387
  }, backgroundColorClasses.value, props.class],
22368
- "style": [backgroundColorStyles.value, props.style],
22388
+ "style": [backgroundColorStyles.value, dimensionStyles.value, props.style],
22369
22389
  "type": "button",
22370
22390
  "tabindex": expansionPanel.disabled.value ? -1 : undefined,
22371
22391
  "disabled": expansionPanel.disabled.value,
@@ -28055,6 +28075,10 @@
28055
28075
  const controlVariant = vue.computed(() => {
28056
28076
  return props.hideInput ? 'stacked' : props.controlVariant;
28057
28077
  });
28078
+ const incrementIcon = vue.computed(() => controlVariant.value === 'split' ? '$plus' : '$collapse');
28079
+ const decrementIcon = vue.computed(() => controlVariant.value === 'split' ? '$minus' : '$expand');
28080
+ const controlNodeSize = vue.computed(() => controlVariant.value === 'split' ? 'default' : 'small');
28081
+ const controlNodeDefaultHeight = vue.computed(() => controlVariant.value === 'stacked' ? 'auto' : '100%');
28058
28082
  const incrementSlotProps = vue.computed(() => ({
28059
28083
  click: onClickUp
28060
28084
  }));
@@ -28112,18 +28136,42 @@
28112
28136
  modelValue: _,
28113
28137
  ...textFieldProps
28114
28138
  } = VTextField.filterProps(props);
28115
- function controlNode() {
28116
- const defaultHeight = controlVariant.value === 'stacked' ? 'auto' : '100%';
28117
- return vue.createVNode("div", {
28118
- "class": "v-number-input__control"
28119
- }, [!slots.decrement ? vue.createVNode(VBtn, {
28139
+ function incrementControlNode() {
28140
+ return !slots.increment ? vue.createVNode(VBtn, {
28141
+ "disabled": !canIncrease.value,
28142
+ "flat": true,
28143
+ "key": "increment-btn",
28144
+ "height": controlNodeDefaultHeight.value,
28145
+ "name": "increment-btn",
28146
+ "icon": incrementIcon.value,
28147
+ "onClick": onClickUp,
28148
+ "onMousedown": onControlMousedown,
28149
+ "size": controlNodeSize.value,
28150
+ "tabindex": "-1"
28151
+ }, null) : vue.createVNode(VDefaultsProvider, {
28152
+ "key": "increment-defaults",
28153
+ "defaults": {
28154
+ VBtn: {
28155
+ disabled: !canIncrease.value,
28156
+ flat: true,
28157
+ height: controlNodeDefaultHeight.value,
28158
+ size: controlNodeSize.value,
28159
+ icon: incrementIcon.value
28160
+ }
28161
+ }
28162
+ }, {
28163
+ default: () => [slots.increment(incrementSlotProps.value)]
28164
+ });
28165
+ }
28166
+ function decrementControlNode() {
28167
+ return !slots.decrement ? vue.createVNode(VBtn, {
28120
28168
  "disabled": !canDecrease.value,
28121
28169
  "flat": true,
28122
28170
  "key": "decrement-btn",
28123
- "height": defaultHeight,
28171
+ "height": controlNodeDefaultHeight.value,
28124
28172
  "name": "decrement-btn",
28125
- "icon": "$expand",
28126
- "size": "small",
28173
+ "icon": decrementIcon.value,
28174
+ "size": controlNodeSize.value,
28127
28175
  "tabindex": "-1",
28128
28176
  "onClick": onClickDown,
28129
28177
  "onMousedown": onControlMousedown
@@ -28133,40 +28181,21 @@
28133
28181
  VBtn: {
28134
28182
  disabled: !canDecrease.value,
28135
28183
  flat: true,
28136
- height: defaultHeight,
28137
- size: 'small',
28138
- icon: '$expand'
28184
+ height: controlNodeDefaultHeight.value,
28185
+ size: controlNodeSize.value,
28186
+ icon: decrementIcon.value
28139
28187
  }
28140
28188
  }
28141
28189
  }, {
28142
28190
  default: () => [slots.decrement(decrementSlotProps.value)]
28143
- }), vue.createVNode(VDivider, {
28191
+ });
28192
+ }
28193
+ function controlNode() {
28194
+ return vue.createVNode("div", {
28195
+ "class": "v-number-input__control"
28196
+ }, [decrementControlNode(), vue.createVNode(VDivider, {
28144
28197
  "vertical": controlVariant.value !== 'stacked'
28145
- }, null), !slots.increment ? vue.createVNode(VBtn, {
28146
- "disabled": !canIncrease.value,
28147
- "flat": true,
28148
- "key": "increment-btn",
28149
- "height": defaultHeight,
28150
- "name": "increment-btn",
28151
- "icon": "$collapse",
28152
- "onClick": onClickUp,
28153
- "onMousedown": onControlMousedown,
28154
- "size": "small",
28155
- "tabindex": "-1"
28156
- }, null) : vue.createVNode(VDefaultsProvider, {
28157
- "key": "increment-defaults",
28158
- "defaults": {
28159
- VBtn: {
28160
- disabled: !canIncrease.value,
28161
- flat: true,
28162
- height: defaultHeight,
28163
- size: 'small',
28164
- icon: '$collapse'
28165
- }
28166
- }
28167
- }, {
28168
- default: () => [slots.increment(incrementSlotProps.value)]
28169
- })]);
28198
+ }, null), incrementControlNode()]);
28170
28199
  }
28171
28200
  function dividerNode() {
28172
28201
  return !props.hideInput && !props.inset ? vue.createVNode(VDivider, {
@@ -28177,27 +28206,11 @@
28177
28206
  "class": "v-number-input__control"
28178
28207
  }, [vue.createVNode(VDivider, {
28179
28208
  "vertical": true
28180
- }, null), vue.createVNode(VBtn, {
28181
- "flat": true,
28182
- "height": "100%",
28183
- "icon": "$plus",
28184
- "tile": true,
28185
- "tabindex": "-1",
28186
- "onClick": onClickUp,
28187
- "onMousedown": onControlMousedown
28188
- }, null)]) : !props.reverse ? vue.createVNode(vue.Fragment, null, [dividerNode(), controlNode()]) : undefined;
28209
+ }, null), incrementControlNode()]) : !props.reverse ? vue.createVNode(vue.Fragment, null, [dividerNode(), controlNode()]) : undefined;
28189
28210
  const hasAppendInner = slots['append-inner'] || appendInnerControl;
28190
28211
  const prependInnerControl = controlVariant.value === 'split' ? vue.createVNode("div", {
28191
28212
  "class": "v-number-input__control"
28192
- }, [vue.createVNode(VBtn, {
28193
- "flat": true,
28194
- "height": "100%",
28195
- "icon": "$minus",
28196
- "tile": true,
28197
- "tabindex": "-1",
28198
- "onClick": onClickDown,
28199
- "onMousedown": onControlMousedown
28200
- }, null), vue.createVNode(VDivider, {
28213
+ }, [decrementControlNode(), vue.createVNode(VDivider, {
28201
28214
  "vertical": true
28202
28215
  }, null)]) : props.reverse ? vue.createVNode(vue.Fragment, null, [controlNode(), dividerNode()]) : undefined;
28203
28216
  const hasPrependInner = slots['prepend-inner'] || prependInnerControl;
@@ -28423,6 +28436,7 @@
28423
28436
  const vExpansionPanelsRef = vue.ref();
28424
28437
  const {
28425
28438
  color,
28439
+ eager,
28426
28440
  editable,
28427
28441
  prevText,
28428
28442
  nextText,
@@ -28441,6 +28455,7 @@
28441
28455
  provideDefaults({
28442
28456
  VStepperVerticalItem: {
28443
28457
  color,
28458
+ eager,
28444
28459
  editable,
28445
28460
  prevText,
28446
28461
  nextText,
@@ -30266,7 +30281,7 @@
30266
30281
  goTo
30267
30282
  };
30268
30283
  }
30269
- const version$1 = "3.6.10-master.2024-06-21";
30284
+ const version$1 = "3.6.11-dev.2024-07-03";
30270
30285
  createVuetify$1.version = version$1;
30271
30286
 
30272
30287
  // Vue's inject() can only be used in setup
@@ -30519,7 +30534,7 @@
30519
30534
 
30520
30535
  /* eslint-disable local-rules/sort-imports */
30521
30536
 
30522
- const version = "3.6.10-master.2024-06-21";
30537
+ const version = "3.6.11-dev.2024-07-03";
30523
30538
 
30524
30539
  /* eslint-disable local-rules/sort-imports */
30525
30540