@vuetify/nightly 3.3.12-dev.2023-08-15 → 3.3.12-dev.2023-08-18

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 (66) hide show
  1. package/CHANGELOG.md +6 -2
  2. package/dist/json/attributes.json +51 -11
  3. package/dist/json/importMap.json +4 -4
  4. package/dist/json/tags.json +10 -0
  5. package/dist/json/web-types.json +108 -18
  6. package/dist/vuetify-labs.css +228 -228
  7. package/dist/vuetify-labs.d.ts +283 -111
  8. package/dist/vuetify-labs.esm.js +136 -56
  9. package/dist/vuetify-labs.esm.js.map +1 -1
  10. package/dist/vuetify-labs.js +136 -56
  11. package/dist/vuetify-labs.min.css +2 -2
  12. package/dist/vuetify.css +340 -340
  13. package/dist/vuetify.d.ts +272 -106
  14. package/dist/vuetify.esm.js +136 -56
  15. package/dist/vuetify.esm.js.map +1 -1
  16. package/dist/vuetify.js +136 -56
  17. package/dist/vuetify.js.map +1 -1
  18. package/dist/vuetify.min.css +2 -2
  19. package/dist/vuetify.min.js +767 -761
  20. package/dist/vuetify.min.js.map +1 -1
  21. package/lib/components/VAutocomplete/index.d.mts +14 -8
  22. package/lib/components/VBanner/VBanner.mjs +5 -3
  23. package/lib/components/VBanner/VBanner.mjs.map +1 -1
  24. package/lib/components/VBanner/index.d.mts +10 -0
  25. package/lib/components/VCombobox/index.d.mts +14 -8
  26. package/lib/components/VDialog/index.d.mts +41 -20
  27. package/lib/components/VMenu/index.d.mts +41 -20
  28. package/lib/components/VNavigationDrawer/VNavigationDrawer.mjs +5 -3
  29. package/lib/components/VNavigationDrawer/VNavigationDrawer.mjs.map +1 -1
  30. package/lib/components/VNavigationDrawer/index.d.mts +10 -0
  31. package/lib/components/VOverlay/VOverlay.mjs +9 -4
  32. package/lib/components/VOverlay/VOverlay.mjs.map +1 -1
  33. package/lib/components/VOverlay/index.d.mts +17 -8
  34. package/lib/components/VOverlay/locationStrategies.mjs +9 -9
  35. package/lib/components/VOverlay/locationStrategies.mjs.map +1 -1
  36. package/lib/components/VOverlay/scrollStrategies.mjs +3 -3
  37. package/lib/components/VOverlay/scrollStrategies.mjs.map +1 -1
  38. package/lib/components/VOverlay/useActivator.mjs +50 -21
  39. package/lib/components/VOverlay/useActivator.mjs.map +1 -1
  40. package/lib/components/VSelect/index.d.mts +14 -8
  41. package/lib/components/VSlideGroup/VSlideGroup.mjs +5 -3
  42. package/lib/components/VSlideGroup/VSlideGroup.mjs.map +1 -1
  43. package/lib/components/VSlideGroup/index.d.mts +10 -0
  44. package/lib/components/VSnackbar/index.d.mts +41 -20
  45. package/lib/components/VTabs/index.d.mts +10 -0
  46. package/lib/components/VTooltip/index.d.mts +41 -20
  47. package/lib/components/index.d.mts +243 -104
  48. package/lib/components/transitions/dialog-transition.mjs +4 -3
  49. package/lib/components/transitions/dialog-transition.mjs.map +1 -1
  50. package/lib/components/transitions/index.d.mts +6 -6
  51. package/lib/composables/directiveComponent.mjs +69 -0
  52. package/lib/composables/directiveComponent.mjs.map +1 -0
  53. package/lib/composables/display.mjs +23 -3
  54. package/lib/composables/display.mjs.map +1 -1
  55. package/lib/composables/theme.mjs +7 -7
  56. package/lib/composables/theme.mjs.map +1 -1
  57. package/lib/entry-bundler.mjs +1 -1
  58. package/lib/framework.mjs +1 -1
  59. package/lib/index.d.mts +33 -2
  60. package/lib/labs/VBottomSheet/index.d.mts +14 -8
  61. package/lib/labs/components.d.mts +14 -8
  62. package/lib/util/box.mjs +12 -0
  63. package/lib/util/box.mjs.map +1 -1
  64. package/lib/util/helpers.mjs +9 -1
  65. package/lib/util/helpers.mjs.map +1 -1
  66. package/package.json +1 -1
package/dist/vuetify.js CHANGED
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * Vuetify v3.3.12-dev.2023-08-15
2
+ * Vuetify v3.3.12-dev.2023-08-18
3
3
  * Forged by John Leider
4
4
  * Released under the MIT License.
5
5
  */
@@ -162,7 +162,15 @@
162
162
  return obj !== null && typeof obj === 'object' && !Array.isArray(obj);
163
163
  }
164
164
  function refElement(obj) {
165
- return obj && '$el' in obj ? obj.$el : obj;
165
+ if (obj && '$el' in obj) {
166
+ const el = obj.$el;
167
+ if (el?.nodeType === Node.TEXT_NODE) {
168
+ // Multi-root component, use the first element
169
+ return el.nextElementSibling;
170
+ }
171
+ return el;
172
+ }
173
+ return obj;
166
174
  }
167
175
 
168
176
  // KeyboardEvent.keyCode aliases
@@ -547,6 +555,18 @@
547
555
  }
548
556
  };
549
557
  }
558
+ function getTargetBox(target) {
559
+ if (Array.isArray(target)) {
560
+ return new Box({
561
+ x: target[0],
562
+ y: target[1],
563
+ width: 0,
564
+ height: 0
565
+ });
566
+ } else {
567
+ return target.getBoundingClientRect();
568
+ }
569
+ }
550
570
 
551
571
  // Utilities
552
572
 
@@ -2097,9 +2117,9 @@
2097
2117
  surface: '#FFFFFF',
2098
2118
  'surface-variant': '#424242',
2099
2119
  'on-surface-variant': '#EEEEEE',
2100
- primary: '#6200EE',
2101
- 'primary-darken-1': '#3700B3',
2102
- secondary: '#03DAC6',
2120
+ primary: '#1867C0',
2121
+ 'primary-darken-1': '#1F5592',
2122
+ secondary: '#48A9A6',
2103
2123
  'secondary-darken-1': '#018786',
2104
2124
  error: '#B00020',
2105
2125
  info: '#2196F3',
@@ -2132,10 +2152,10 @@
2132
2152
  surface: '#212121',
2133
2153
  'surface-variant': '#BDBDBD',
2134
2154
  'on-surface-variant': '#424242',
2135
- primary: '#BB86FC',
2136
- 'primary-darken-1': '#3700B3',
2137
- secondary: '#03DAC5',
2138
- 'secondary-darken-1': '#03DAC5',
2155
+ primary: '#2196F3',
2156
+ 'primary-darken-1': '#277CC1',
2157
+ secondary: '#54B6B2',
2158
+ 'secondary-darken-1': '#48A9A6',
2139
2159
  error: '#CF6679',
2140
2160
  info: '#2196F3',
2141
2161
  success: '#4CAF50',
@@ -2620,7 +2640,7 @@
2620
2640
  // Types
2621
2641
 
2622
2642
  const makeVDialogTransitionProps = propsFactory({
2623
- target: Object
2643
+ target: [Object, Array]
2624
2644
  }, 'v-dialog-transition');
2625
2645
  const VDialogTransition = genericComponent()({
2626
2646
  name: 'VDialogTransition',
@@ -2722,7 +2742,7 @@
2722
2742
  return els && [...els];
2723
2743
  }
2724
2744
  function getDimensions(target, el) {
2725
- const targetBox = target.getBoundingClientRect();
2745
+ const targetBox = getTargetBox(target);
2726
2746
  const elBox = nullifyTransforms(el);
2727
2747
  const [originX, originY] = getComputedStyle(el).transformOrigin.split(' ').map(v => parseFloat(v));
2728
2748
  const [anchorSide, anchorOffset] = getComputedStyle(el).getPropertyValue('--v-overlay-anchor-origin').split(' ');
@@ -8408,7 +8428,7 @@
8408
8428
  return contentBox;
8409
8429
  }
8410
8430
  function connectedLocationStrategy(data, props, contentStyles) {
8411
- const activatorFixed = isFixedPosition(data.activatorEl.value);
8431
+ const activatorFixed = Array.isArray(data.target.value) || isFixedPosition(data.target.value);
8412
8432
  if (activatorFixed) {
8413
8433
  Object.assign(contentStyles.value, {
8414
8434
  position: 'fixed',
@@ -8457,11 +8477,11 @@
8457
8477
  const observer = new ResizeObserver(() => {
8458
8478
  if (observe) updateLocation();
8459
8479
  });
8460
- vue.watch([data.activatorEl, data.contentEl], (_ref, _ref2) => {
8461
- let [newActivatorEl, newContentEl] = _ref;
8462
- let [oldActivatorEl, oldContentEl] = _ref2;
8463
- if (oldActivatorEl) observer.unobserve(oldActivatorEl);
8464
- if (newActivatorEl) observer.observe(newActivatorEl);
8480
+ vue.watch([data.target, data.contentEl], (_ref, _ref2) => {
8481
+ let [newTarget, newContentEl] = _ref;
8482
+ let [oldTarget, oldContentEl] = _ref2;
8483
+ if (oldTarget && !Array.isArray(oldTarget)) observer.unobserve(oldTarget);
8484
+ if (newTarget && !Array.isArray(newTarget)) observer.observe(newTarget);
8465
8485
  if (oldContentEl) observer.unobserve(oldContentEl);
8466
8486
  if (newContentEl) observer.observe(newContentEl);
8467
8487
  }, {
@@ -8477,8 +8497,8 @@
8477
8497
  requestAnimationFrame(() => {
8478
8498
  requestAnimationFrame(() => observe = true);
8479
8499
  });
8480
- if (!data.activatorEl.value || !data.contentEl.value) return;
8481
- const targetBox = data.activatorEl.value.getBoundingClientRect();
8500
+ if (!data.target.value || !data.contentEl.value) return;
8501
+ const targetBox = getTargetBox(data.target.value);
8482
8502
  const contentBox = getIntrinsicSize(data.contentEl.value, data.isRtl.value);
8483
8503
  const scrollParents = getScrollParents(data.contentEl.value);
8484
8504
  const viewportMargin = 12;
@@ -8765,11 +8785,11 @@
8765
8785
  function onScroll(e) {
8766
8786
  data.isActive.value = false;
8767
8787
  }
8768
- bindScroll(data.activatorEl.value ?? data.contentEl.value, onScroll);
8788
+ bindScroll(data.targetEl.value ?? data.contentEl.value, onScroll);
8769
8789
  }
8770
8790
  function blockScrollStrategy(data, props) {
8771
8791
  const offsetParent = data.root.value?.offsetParent;
8772
- const scrollElements = [...new Set([...getScrollParents(data.activatorEl.value, props.contained ? offsetParent : undefined), ...getScrollParents(data.contentEl.value, props.contained ? offsetParent : undefined)])].filter(el => !el.classList.contains('v-overlay-scroll-blocked'));
8792
+ const scrollElements = [...new Set([...getScrollParents(data.targetEl.value, props.contained ? offsetParent : undefined), ...getScrollParents(data.contentEl.value, props.contained ? offsetParent : undefined)])].filter(el => !el.classList.contains('v-overlay-scroll-blocked'));
8773
8793
  const scrollbarWidth = window.innerWidth - document.documentElement.offsetWidth;
8774
8794
  const scrollableParent = (el => hasScrollbar(el) && el)(offsetParent || document.documentElement);
8775
8795
  if (scrollableParent) {
@@ -8813,7 +8833,7 @@
8813
8833
  }
8814
8834
  ric = (typeof requestIdleCallback === 'undefined' ? cb => cb() : requestIdleCallback)(() => {
8815
8835
  scope.run(() => {
8816
- bindScroll(data.activatorEl.value ?? data.contentEl.value, e => {
8836
+ bindScroll(data.targetEl.value ?? data.contentEl.value, e => {
8817
8837
  if (slow) {
8818
8838
  // If the position calculation is slow,
8819
8839
  // defer updates until scrolling is finished.
@@ -8894,6 +8914,7 @@
8894
8914
  // Types
8895
8915
 
8896
8916
  const makeActivatorProps = propsFactory({
8917
+ target: [String, Object],
8897
8918
  activator: [String, Object],
8898
8919
  activatorProps: {
8899
8920
  type: Object,
@@ -8916,6 +8937,7 @@
8916
8937
  isActive,
8917
8938
  isTop
8918
8939
  } = _ref;
8940
+ const vm = getCurrentInstance('useActivator');
8919
8941
  const activatorEl = vue.ref();
8920
8942
  let isHovered = false;
8921
8943
  let isFocused = false;
@@ -8933,10 +8955,14 @@
8933
8955
  isActive.value = value;
8934
8956
  }
8935
8957
  });
8958
+ const cursorTarget = vue.ref();
8936
8959
  const availableEvents = {
8937
8960
  onClick: e => {
8938
8961
  e.stopPropagation();
8939
8962
  activatorEl.value = e.currentTarget || e.target;
8963
+ if (!isActive.value) {
8964
+ cursorTarget.value = [e.clientX, e.clientY];
8965
+ }
8940
8966
  isActive.value = !isActive.value;
8941
8967
  },
8942
8968
  onMouseenter: e => {
@@ -9030,6 +9056,15 @@
9030
9056
  isActive.value = false;
9031
9057
  }
9032
9058
  });
9059
+ vue.watch(isActive, val => {
9060
+ if (!val) {
9061
+ setTimeout(() => {
9062
+ cursorTarget.value = undefined;
9063
+ });
9064
+ }
9065
+ }, {
9066
+ flush: 'post'
9067
+ });
9033
9068
  const activatorRef = vue.ref();
9034
9069
  vue.watchEffect(() => {
9035
9070
  if (!activatorRef.value) return;
@@ -9037,7 +9072,15 @@
9037
9072
  activatorEl.value = refElement(activatorRef.value);
9038
9073
  });
9039
9074
  });
9040
- const vm = getCurrentInstance('useActivator');
9075
+ const targetRef = vue.ref();
9076
+ const target = vue.computed(() => {
9077
+ if (props.target === 'cursor' && cursorTarget.value) return cursorTarget.value;
9078
+ if (targetRef.value) return refElement(targetRef.value);
9079
+ return getTarget(props.target, vm) || activatorEl.value;
9080
+ });
9081
+ const targetEl = vue.computed(() => {
9082
+ return Array.isArray(target.value) ? undefined : target.value;
9083
+ });
9041
9084
  let scope;
9042
9085
  vue.watch(() => !!props.activator, val => {
9043
9086
  if (val && IN_BROWSER) {
@@ -9061,6 +9104,9 @@
9061
9104
  return {
9062
9105
  activatorEl,
9063
9106
  activatorRef,
9107
+ target,
9108
+ targetEl,
9109
+ targetRef,
9064
9110
  activatorEvents,
9065
9111
  contentEvents,
9066
9112
  scrimEvents
@@ -9102,31 +9148,34 @@
9102
9148
  }
9103
9149
  function getActivator() {
9104
9150
  let selector = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : props.activator;
9105
- let activator;
9106
- if (selector) {
9107
- if (selector === 'parent') {
9108
- let el = vm?.proxy?.$el?.parentNode;
9109
- while (el.hasAttribute('data-no-activator')) {
9110
- el = el.parentNode;
9111
- }
9112
- activator = el;
9113
- } else if (typeof selector === 'string') {
9114
- // Selector
9115
- activator = document.querySelector(selector);
9116
- } else if ('$el' in selector) {
9117
- // Component (ref)
9118
- activator = selector.$el;
9119
- } else {
9120
- // HTMLElement | Element
9121
- activator = selector;
9122
- }
9123
- }
9151
+ const activator = getTarget(selector, vm);
9124
9152
 
9125
9153
  // The activator should only be a valid element (Ignore comments and text nodes)
9126
- activatorEl.value = activator?.nodeType === Node.ELEMENT_NODE ? activator : null;
9154
+ activatorEl.value = activator?.nodeType === Node.ELEMENT_NODE ? activator : undefined;
9127
9155
  return activatorEl.value;
9128
9156
  }
9129
9157
  }
9158
+ function getTarget(selector, vm) {
9159
+ if (!selector) return;
9160
+ let target;
9161
+ if (selector === 'parent') {
9162
+ let el = vm?.proxy?.$el?.parentNode;
9163
+ while (el.hasAttribute('data-no-activator')) {
9164
+ el = el.parentNode;
9165
+ }
9166
+ target = el;
9167
+ } else if (typeof selector === 'string') {
9168
+ // Selector
9169
+ target = document.querySelector(selector);
9170
+ } else if ('$el' in selector) {
9171
+ // Component (ref)
9172
+ target = selector.$el;
9173
+ } else {
9174
+ // HTMLElement | Element | [x, y]
9175
+ target = selector;
9176
+ }
9177
+ return target;
9178
+ }
9130
9179
 
9131
9180
  // Utilities
9132
9181
 
@@ -9250,10 +9299,30 @@
9250
9299
  ssr: !!ssr
9251
9300
  };
9252
9301
  }
9302
+ const makeDisplayProps = propsFactory({
9303
+ mobileBreakpoint: [Number, String]
9304
+ }, 'display');
9253
9305
  function useDisplay() {
9306
+ let props = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
9307
+ let name = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : getCurrentInstanceName();
9254
9308
  const display = vue.inject(DisplaySymbol);
9255
9309
  if (!display) throw new Error('Could not find Vuetify display injection');
9256
- return display;
9310
+ const mobile = vue.computed(() => {
9311
+ if (!props.mobileBreakpoint) return display.mobile.value;
9312
+ const breakpointValue = typeof props.mobileBreakpoint === 'number' ? props.mobileBreakpoint : display.thresholds.value[props.mobileBreakpoint];
9313
+ return display.width.value < breakpointValue;
9314
+ });
9315
+ const displayClasses = vue.computed(() => {
9316
+ if (!name) return {};
9317
+ return {
9318
+ [`${name}--mobile`]: mobile.value
9319
+ };
9320
+ });
9321
+ return {
9322
+ ...display,
9323
+ displayClasses,
9324
+ mobile
9325
+ };
9257
9326
  }
9258
9327
 
9259
9328
  // Composables
@@ -9570,6 +9639,9 @@
9570
9639
  const {
9571
9640
  activatorEl,
9572
9641
  activatorRef,
9642
+ target,
9643
+ targetEl,
9644
+ targetRef,
9573
9645
  activatorEvents,
9574
9646
  contentEvents,
9575
9647
  scrimEvents
@@ -9595,13 +9667,13 @@
9595
9667
  } = useLocationStrategies(props, {
9596
9668
  isRtl,
9597
9669
  contentEl,
9598
- activatorEl,
9670
+ target,
9599
9671
  isActive
9600
9672
  });
9601
9673
  useScrollStrategies(props, {
9602
9674
  root,
9603
9675
  contentEl,
9604
- activatorEl,
9676
+ targetEl,
9605
9677
  isActive,
9606
9678
  updateLocation
9607
9679
  });
@@ -9669,7 +9741,8 @@
9669
9741
  useRender(() => vue.createVNode(vue.Fragment, null, [slots.activator?.({
9670
9742
  isActive: isActive.value,
9671
9743
  props: vue.mergeProps({
9672
- ref: activatorRef
9744
+ ref: activatorRef,
9745
+ targetRef
9673
9746
  }, activatorEvents.value, props.activatorProps)
9674
9747
  }), isMounted.value && hasContent.value && vue.createVNode(vue.Teleport, {
9675
9748
  "disabled": !teleportTarget.value,
@@ -9692,7 +9765,7 @@
9692
9765
  "appear": true,
9693
9766
  "persisted": true,
9694
9767
  "transition": props.transition,
9695
- "target": activatorEl.value,
9768
+ "target": target.value,
9696
9769
  "onAfterLeave": () => {
9697
9770
  onAfterLeave();
9698
9771
  emit('afterLeave');
@@ -9713,6 +9786,7 @@
9713
9786
  })]));
9714
9787
  return {
9715
9788
  activatorEl,
9789
+ target,
9716
9790
  animateClick,
9717
9791
  contentEl,
9718
9792
  globalTop,
@@ -11830,6 +11904,7 @@
11830
11904
  ...makeComponentProps(),
11831
11905
  ...makeDensityProps(),
11832
11906
  ...makeDimensionProps(),
11907
+ ...makeDisplayProps(),
11833
11908
  ...makeElevationProps(),
11834
11909
  ...makeLocationProps(),
11835
11910
  ...makePositionProps(),
@@ -11851,8 +11926,9 @@
11851
11926
  densityClasses
11852
11927
  } = useDensity(props);
11853
11928
  const {
11929
+ displayClasses,
11854
11930
  mobile
11855
- } = useDisplay();
11931
+ } = useDisplay(props);
11856
11932
  const {
11857
11933
  dimensionStyles
11858
11934
  } = useDimension(props);
@@ -11888,7 +11964,7 @@
11888
11964
  'v-banner--stacked': props.stacked || mobile.value,
11889
11965
  'v-banner--sticky': props.sticky,
11890
11966
  [`v-banner--${props.lines}-line`]: !!props.lines
11891
- }, borderClasses.value, densityClasses.value, elevationClasses.value, positionClasses.value, roundedClasses.value, themeClasses.value, props.class],
11967
+ }, borderClasses.value, densityClasses.value, displayClasses.value, elevationClasses.value, positionClasses.value, roundedClasses.value, themeClasses.value, props.class],
11892
11968
  "style": [dimensionStyles.value, locationStyles.value, props.style],
11893
11969
  "role": "banner"
11894
11970
  }, {
@@ -16886,6 +16962,7 @@
16886
16962
  sticky: Boolean,
16887
16963
  ...makeBorderProps(),
16888
16964
  ...makeComponentProps(),
16965
+ ...makeDisplayProps(),
16889
16966
  ...makeElevationProps(),
16890
16967
  ...makeLayoutItemProps(),
16891
16968
  ...makeRoundedProps(),
@@ -16924,8 +17001,9 @@
16924
17001
  elevationClasses
16925
17002
  } = useElevation(props);
16926
17003
  const {
17004
+ displayClasses,
16927
17005
  mobile
16928
- } = useDisplay();
17006
+ } = useDisplay(props);
16929
17007
  const {
16930
17008
  roundedClasses
16931
17009
  } = useRounded(props);
@@ -17036,7 +17114,7 @@
17036
17114
  'v-navigation-drawer--temporary': isTemporary.value,
17037
17115
  'v-navigation-drawer--active': isActive.value,
17038
17116
  'v-navigation-drawer--sticky': isSticky.value
17039
- }, themeClasses.value, backgroundColorClasses.value, borderClasses.value, elevationClasses.value, roundedClasses.value, props.class],
17117
+ }, themeClasses.value, backgroundColorClasses.value, borderClasses.value, displayClasses.value, elevationClasses.value, roundedClasses.value, props.class],
17040
17118
  "style": [backgroundColorStyles.value, layoutItemStyles.value, dragStyles.value, ssrBootStyles.value, stickyStyles.value, props.style]
17041
17119
  }, scopeId, attrs), {
17042
17120
  default: () => [hasImage && vue.createVNode("div", {
@@ -18088,6 +18166,7 @@
18088
18166
  validator: v => typeof v === 'boolean' || ['always', 'desktop', 'mobile'].includes(v)
18089
18167
  },
18090
18168
  ...makeComponentProps(),
18169
+ ...makeDisplayProps(),
18091
18170
  ...makeTagProps(),
18092
18171
  ...makeGroupProps({
18093
18172
  selectedClass: 'v-slide-group-item--active'
@@ -18107,8 +18186,9 @@
18107
18186
  isRtl
18108
18187
  } = useRtl();
18109
18188
  const {
18189
+ displayClasses,
18110
18190
  mobile
18111
- } = useDisplay();
18191
+ } = useDisplay(props);
18112
18192
  const group = useGroup(props, props.symbol);
18113
18193
  const isOverflowing = vue.shallowRef(false);
18114
18194
  const scrollOffset = vue.shallowRef(0);
@@ -18328,7 +18408,7 @@
18328
18408
  'v-slide-group--vertical': !isHorizontal.value,
18329
18409
  'v-slide-group--has-affixes': hasAffixes.value,
18330
18410
  'v-slide-group--is-overflowing': isOverflowing.value
18331
- }, props.class],
18411
+ }, displayClasses.value, props.class],
18332
18412
  "style": props.style,
18333
18413
  "tabindex": isFocused.value || group.selected.value.length ? -1 : 0,
18334
18414
  "onFocus": onFocus
@@ -20383,7 +20463,7 @@
20383
20463
  date
20384
20464
  };
20385
20465
  }
20386
- const version$1 = "3.3.12-dev.2023-08-15";
20466
+ const version$1 = "3.3.12-dev.2023-08-18";
20387
20467
  createVuetify$1.version = version$1;
20388
20468
 
20389
20469
  // Vue's inject() can only be used in setup
@@ -20408,7 +20488,7 @@
20408
20488
  ...options
20409
20489
  });
20410
20490
  };
20411
- const version = "3.3.12-dev.2023-08-15";
20491
+ const version = "3.3.12-dev.2023-08-18";
20412
20492
  createVuetify.version = version;
20413
20493
 
20414
20494
  exports.components = components;