vuetify 3.9.3 → 3.9.5

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 (224) hide show
  1. package/dist/json/attributes.json +3354 -3342
  2. package/dist/json/importMap-labs.json +16 -16
  3. package/dist/json/importMap.json +150 -150
  4. package/dist/json/tags.json +5 -2
  5. package/dist/json/web-types.json +6563 -6534
  6. package/dist/vuetify-labs.cjs +222 -119
  7. package/dist/vuetify-labs.css +4072 -4024
  8. package/dist/vuetify-labs.d.ts +167 -135
  9. package/dist/vuetify-labs.esm.js +222 -119
  10. package/dist/vuetify-labs.esm.js.map +1 -1
  11. package/dist/vuetify-labs.js +222 -119
  12. package/dist/vuetify-labs.min.css +2 -2
  13. package/dist/vuetify.cjs +163 -94
  14. package/dist/vuetify.cjs.map +1 -1
  15. package/dist/vuetify.css +4249 -4216
  16. package/dist/vuetify.d.ts +50 -63
  17. package/dist/vuetify.esm.js +163 -94
  18. package/dist/vuetify.esm.js.map +1 -1
  19. package/dist/vuetify.js +163 -94
  20. package/dist/vuetify.js.map +1 -1
  21. package/dist/vuetify.min.css +2 -2
  22. package/dist/vuetify.min.js +483 -482
  23. package/dist/vuetify.min.js.map +1 -1
  24. package/lib/components/VAlert/VAlert.css +9 -2
  25. package/lib/components/VAlert/VAlert.js +2 -2
  26. package/lib/components/VAlert/VAlert.js.map +1 -1
  27. package/lib/components/VAlert/VAlert.sass +10 -3
  28. package/lib/components/VAlert/_variables.scss +1 -1
  29. package/lib/components/VApp/VApp.d.ts +0 -25
  30. package/lib/components/VApp/VApp.js +6 -5
  31. package/lib/components/VApp/VApp.js.map +1 -1
  32. package/lib/components/VColorPicker/VColorPickerCanvas.css +1 -0
  33. package/lib/components/VColorPicker/VColorPickerCanvas.sass +1 -0
  34. package/lib/components/VColorPicker/VColorPickerEdit.css +5 -0
  35. package/lib/components/VColorPicker/VColorPickerEdit.js +8 -1
  36. package/lib/components/VColorPicker/VColorPickerEdit.js.map +1 -1
  37. package/lib/components/VColorPicker/VColorPickerEdit.sass +5 -0
  38. package/lib/components/VColorPicker/VColorPickerPreview.js +8 -1
  39. package/lib/components/VColorPicker/VColorPickerPreview.js.map +1 -1
  40. package/lib/components/VColorPicker/util/index.d.ts +1 -0
  41. package/lib/components/VColorPicker/util/index.js +20 -10
  42. package/lib/components/VColorPicker/util/index.js.map +1 -1
  43. package/lib/components/VConfirmEdit/VConfirmEdit.js +1 -1
  44. package/lib/components/VConfirmEdit/VConfirmEdit.js.map +1 -1
  45. package/lib/components/VDataTable/VDataTable.css +2 -1
  46. package/lib/components/VDataTable/VDataTable.sass +2 -1
  47. package/lib/components/VDataTable/composables/headers.js +53 -42
  48. package/lib/components/VDataTable/composables/headers.js.map +1 -1
  49. package/lib/components/VDataTable/composables/sort.js +1 -1
  50. package/lib/components/VDataTable/composables/sort.js.map +1 -1
  51. package/lib/components/VNumberInput/VNumberInput.js +1 -0
  52. package/lib/components/VNumberInput/VNumberInput.js.map +1 -1
  53. package/lib/components/VOverlay/scrollStrategies.js +7 -7
  54. package/lib/components/VOverlay/scrollStrategies.js.map +1 -1
  55. package/lib/components/VSelect/VSelect.js +1 -1
  56. package/lib/components/VSelect/VSelect.js.map +1 -1
  57. package/lib/components/VSlider/VSliderThumb.css +2 -2
  58. package/lib/components/VSlider/VSliderThumb.sass +2 -2
  59. package/lib/components/VStepper/VStepperItem.css +9 -4
  60. package/lib/components/VStepper/VStepperItem.sass +8 -7
  61. package/lib/components/VTable/VTable.css +2 -2
  62. package/lib/components/VTable/VTable.js +32 -20
  63. package/lib/components/VTable/VTable.js.map +1 -1
  64. package/lib/components/VTable/VTable.sass +4 -4
  65. package/lib/components/VTextField/VTextField.js +1 -0
  66. package/lib/components/VTextField/VTextField.js.map +1 -1
  67. package/lib/components/VTreeview/VTreeviewItem.css +6 -0
  68. package/lib/components/VTreeview/VTreeviewItem.sass +7 -0
  69. package/lib/components/VWindow/VWindow.css +8 -0
  70. package/lib/components/VWindow/VWindow.sass +9 -0
  71. package/lib/entry-bundler.js +1 -1
  72. package/lib/framework.d.ts +49 -49
  73. package/lib/framework.js +1 -1
  74. package/lib/labs/VColorInput/VColorInput.css +15 -0
  75. package/lib/labs/VColorInput/VColorInput.d.ts +287 -215
  76. package/lib/labs/VColorInput/VColorInput.js +24 -10
  77. package/lib/labs/VColorInput/VColorInput.js.map +1 -1
  78. package/lib/labs/VColorInput/VColorInput.sass +8 -0
  79. package/lib/labs/VColorInput/_variables.scss +2 -0
  80. package/lib/labs/VVideo/VVideo.css +4 -4
  81. package/lib/labs/VVideo/VVideo.d.ts +10 -0
  82. package/lib/labs/VVideo/VVideo.js +6 -3
  83. package/lib/labs/VVideo/VVideo.js.map +1 -1
  84. package/lib/labs/VVideo/VVideo.sass +4 -2
  85. package/lib/labs/VVideo/VVideoControls.js +33 -16
  86. package/lib/labs/VVideo/VVideoControls.js.map +1 -1
  87. package/lib/labs/VVideo/VVideoVolume.js +1 -1
  88. package/lib/labs/VVideo/VVideoVolume.js.map +1 -1
  89. package/lib/labs/VVideo/_variables.scss +3 -2
  90. package/lib/labs/rules/rules.d.ts +10 -3
  91. package/lib/labs/rules/rules.js +13 -5
  92. package/lib/labs/rules/rules.js.map +1 -1
  93. package/lib/locale/af.d.ts +17 -0
  94. package/lib/locale/af.js +17 -0
  95. package/lib/locale/af.js.map +1 -1
  96. package/lib/locale/ar.d.ts +17 -0
  97. package/lib/locale/ar.js +17 -0
  98. package/lib/locale/ar.js.map +1 -1
  99. package/lib/locale/az.d.ts +17 -0
  100. package/lib/locale/az.js +17 -0
  101. package/lib/locale/az.js.map +1 -1
  102. package/lib/locale/bg.d.ts +17 -0
  103. package/lib/locale/bg.js +17 -0
  104. package/lib/locale/bg.js.map +1 -1
  105. package/lib/locale/ca.d.ts +17 -0
  106. package/lib/locale/ca.js +17 -0
  107. package/lib/locale/ca.js.map +1 -1
  108. package/lib/locale/ckb.d.ts +17 -0
  109. package/lib/locale/ckb.js +17 -0
  110. package/lib/locale/ckb.js.map +1 -1
  111. package/lib/locale/cs.d.ts +17 -0
  112. package/lib/locale/cs.js +17 -0
  113. package/lib/locale/cs.js.map +1 -1
  114. package/lib/locale/da.d.ts +17 -0
  115. package/lib/locale/da.js +17 -0
  116. package/lib/locale/da.js.map +1 -1
  117. package/lib/locale/de.d.ts +17 -0
  118. package/lib/locale/de.js +17 -0
  119. package/lib/locale/de.js.map +1 -1
  120. package/lib/locale/el.d.ts +17 -0
  121. package/lib/locale/el.js +17 -0
  122. package/lib/locale/el.js.map +1 -1
  123. package/lib/locale/en.d.ts +17 -0
  124. package/lib/locale/en.js +17 -0
  125. package/lib/locale/en.js.map +1 -1
  126. package/lib/locale/es.d.ts +17 -0
  127. package/lib/locale/es.js +17 -0
  128. package/lib/locale/es.js.map +1 -1
  129. package/lib/locale/et.d.ts +17 -0
  130. package/lib/locale/et.js +17 -0
  131. package/lib/locale/et.js.map +1 -1
  132. package/lib/locale/fa.d.ts +17 -0
  133. package/lib/locale/fa.js +17 -0
  134. package/lib/locale/fa.js.map +1 -1
  135. package/lib/locale/fi.d.ts +17 -0
  136. package/lib/locale/fi.js +17 -0
  137. package/lib/locale/fi.js.map +1 -1
  138. package/lib/locale/fr.d.ts +17 -0
  139. package/lib/locale/fr.js +17 -0
  140. package/lib/locale/fr.js.map +1 -1
  141. package/lib/locale/he.d.ts +17 -0
  142. package/lib/locale/he.js +17 -0
  143. package/lib/locale/he.js.map +1 -1
  144. package/lib/locale/hr.d.ts +17 -0
  145. package/lib/locale/hr.js +17 -0
  146. package/lib/locale/hr.js.map +1 -1
  147. package/lib/locale/hu.d.ts +17 -0
  148. package/lib/locale/hu.js +17 -0
  149. package/lib/locale/hu.js.map +1 -1
  150. package/lib/locale/id.d.ts +17 -0
  151. package/lib/locale/id.js +17 -0
  152. package/lib/locale/id.js.map +1 -1
  153. package/lib/locale/it.d.ts +17 -0
  154. package/lib/locale/it.js +17 -0
  155. package/lib/locale/it.js.map +1 -1
  156. package/lib/locale/ja.d.ts +17 -0
  157. package/lib/locale/ja.js +17 -0
  158. package/lib/locale/ja.js.map +1 -1
  159. package/lib/locale/km.d.ts +17 -0
  160. package/lib/locale/km.js +17 -0
  161. package/lib/locale/km.js.map +1 -1
  162. package/lib/locale/ko.d.ts +17 -0
  163. package/lib/locale/ko.js +17 -0
  164. package/lib/locale/ko.js.map +1 -1
  165. package/lib/locale/lt.d.ts +17 -0
  166. package/lib/locale/lt.js +17 -0
  167. package/lib/locale/lt.js.map +1 -1
  168. package/lib/locale/lv.d.ts +17 -0
  169. package/lib/locale/lv.js +17 -0
  170. package/lib/locale/lv.js.map +1 -1
  171. package/lib/locale/nl.d.ts +17 -0
  172. package/lib/locale/nl.js +17 -0
  173. package/lib/locale/nl.js.map +1 -1
  174. package/lib/locale/no.d.ts +17 -0
  175. package/lib/locale/no.js +17 -0
  176. package/lib/locale/no.js.map +1 -1
  177. package/lib/locale/pl.d.ts +17 -0
  178. package/lib/locale/pl.js +17 -0
  179. package/lib/locale/pl.js.map +1 -1
  180. package/lib/locale/pt.d.ts +17 -0
  181. package/lib/locale/pt.js +17 -0
  182. package/lib/locale/pt.js.map +1 -1
  183. package/lib/locale/ro.d.ts +17 -0
  184. package/lib/locale/ro.js +17 -0
  185. package/lib/locale/ro.js.map +1 -1
  186. package/lib/locale/ru.d.ts +17 -0
  187. package/lib/locale/ru.js +17 -0
  188. package/lib/locale/ru.js.map +1 -1
  189. package/lib/locale/sk.d.ts +17 -0
  190. package/lib/locale/sk.js +17 -0
  191. package/lib/locale/sk.js.map +1 -1
  192. package/lib/locale/sl.d.ts +17 -0
  193. package/lib/locale/sl.js +17 -0
  194. package/lib/locale/sl.js.map +1 -1
  195. package/lib/locale/sr-Cyrl.d.ts +17 -0
  196. package/lib/locale/sr-Cyrl.js +17 -0
  197. package/lib/locale/sr-Cyrl.js.map +1 -1
  198. package/lib/locale/sr-Latn.d.ts +17 -0
  199. package/lib/locale/sr-Latn.js +17 -0
  200. package/lib/locale/sr-Latn.js.map +1 -1
  201. package/lib/locale/sv.d.ts +17 -0
  202. package/lib/locale/sv.js +17 -0
  203. package/lib/locale/sv.js.map +1 -1
  204. package/lib/locale/th.d.ts +17 -0
  205. package/lib/locale/th.js +17 -0
  206. package/lib/locale/th.js.map +1 -1
  207. package/lib/locale/tr.d.ts +17 -0
  208. package/lib/locale/tr.js +17 -0
  209. package/lib/locale/tr.js.map +1 -1
  210. package/lib/locale/uk.d.ts +17 -0
  211. package/lib/locale/uk.js +17 -0
  212. package/lib/locale/uk.js.map +1 -1
  213. package/lib/locale/vi.d.ts +17 -0
  214. package/lib/locale/vi.js +17 -0
  215. package/lib/locale/vi.js.map +1 -1
  216. package/lib/locale/zh-Hans.d.ts +17 -0
  217. package/lib/locale/zh-Hans.js +17 -0
  218. package/lib/locale/zh-Hans.js.map +1 -1
  219. package/lib/locale/zh-Hant.d.ts +17 -0
  220. package/lib/locale/zh-Hant.js +17 -0
  221. package/lib/locale/zh-Hant.js.map +1 -1
  222. package/lib/util/getScrollParent.js +3 -1
  223. package/lib/util/getScrollParent.js.map +1 -1
  224. package/package.json +2 -2
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * Vuetify v3.9.3
2
+ * Vuetify v3.9.5
3
3
  * Forged by John Leider
4
4
  * Released under the MIT License.
5
5
  */
@@ -1649,7 +1649,9 @@ function getScrollParents(el, stopAt) {
1649
1649
  function hasScrollbar(el) {
1650
1650
  if (!el || el.nodeType !== Node.ELEMENT_NODE) return false;
1651
1651
  const style = window.getComputedStyle(el);
1652
- return style.overflowY === 'scroll' || style.overflowY === 'auto' && el.scrollHeight > el.clientHeight;
1652
+ const hasVerticalScrollbar = style.overflowY === 'scroll' || style.overflowY === 'auto' && el.scrollHeight > el.clientHeight;
1653
+ const hasHorizontalScrollbar = style.overflowX === 'scroll' || style.overflowX === 'auto' && el.scrollWidth > el.clientWidth;
1654
+ return hasVerticalScrollbar || hasHorizontalScrollbar;
1653
1655
  }
1654
1656
  function isPotentiallyScrollable(el) {
1655
1657
  if (!el || el.nodeType !== Node.ELEMENT_NODE) return false;
@@ -2253,6 +2255,23 @@ var en = {
2253
2255
  unmute: 'Unmute',
2254
2256
  enterFullscreen: 'Full screen',
2255
2257
  exitFullscreen: 'Exit full screen'
2258
+ },
2259
+ colorPicker: {
2260
+ ariaLabel: {
2261
+ eyedropper: 'Select color with eyedropper',
2262
+ hueSlider: 'Hue',
2263
+ alphaSlider: 'Alpha',
2264
+ redInput: 'Red value',
2265
+ greenInput: 'Green value',
2266
+ blueInput: 'Blue value',
2267
+ alphaInput: 'Alpha value',
2268
+ hueInput: 'Hue value',
2269
+ saturationInput: 'Saturation value',
2270
+ lightnessInput: 'Lightness value',
2271
+ hexInput: 'HEX value',
2272
+ hexaInput: 'HEX with alpha value',
2273
+ changeFormat: 'Change color format'
2274
+ }
2256
2275
  }
2257
2276
  };
2258
2277
 
@@ -2851,9 +2870,7 @@ function useTheme() {
2851
2870
 
2852
2871
  const makeVAppProps = propsFactory({
2853
2872
  ...makeComponentProps(),
2854
- ...makeLayoutProps({
2855
- fullHeight: true
2856
- }),
2873
+ ...omit(makeLayoutProps(), ['fullHeight']),
2857
2874
  ...makeThemeProps()
2858
2875
  }, 'VApp');
2859
2876
  const VApp = genericComponent()({
@@ -2869,7 +2886,10 @@ const VApp = genericComponent()({
2869
2886
  getLayoutItem,
2870
2887
  items,
2871
2888
  layoutRef
2872
- } = createLayout(props);
2889
+ } = createLayout({
2890
+ ...props,
2891
+ fullHeight: true
2892
+ });
2873
2893
  const {
2874
2894
  rtlClasses
2875
2895
  } = useRtl();
@@ -6242,7 +6262,7 @@ const VAlert = genericComponent()({
6242
6262
  });
6243
6263
  const {
6244
6264
  iconSize
6245
- } = useIconSizes(props, () => props.prominent ? 44 : 28);
6265
+ } = useIconSizes(props, () => props.prominent ? 44 : undefined);
6246
6266
  const {
6247
6267
  themeClasses
6248
6268
  } = provideTheme(props);
@@ -6293,7 +6313,7 @@ const VAlert = genericComponent()({
6293
6313
  const iconProps = {
6294
6314
  density: props.density,
6295
6315
  icon: icon.value,
6296
- size: iconSize.value
6316
+ size: props.iconSize || props.prominent ? iconSize.value : undefined
6297
6317
  };
6298
6318
  return isActive.value && createVNode(props.tag, {
6299
6319
  "class": normalizeClass(['v-alert', props.border && {
@@ -7076,9 +7096,14 @@ function useForm(props) {
7076
7096
  // Utilities
7077
7097
  const RulesSymbol = Symbol.for('vuetify:rules');
7078
7098
  function useRules(fn) {
7079
- const resolveRules = inject$1(RulesSymbol, null);
7080
- if (!resolveRules) return toRef(fn);
7081
- return resolveRules(fn);
7099
+ const rules = inject$1(RulesSymbol, null);
7100
+ if (!fn) {
7101
+ if (!rules) {
7102
+ throw new Error('Could not find Vuetify rules injection');
7103
+ }
7104
+ return rules.aliases;
7105
+ }
7106
+ return rules?.resolve(fn) ?? toRef(fn);
7082
7107
  }
7083
7108
 
7084
7109
  // Composables
@@ -10904,11 +10929,11 @@ function closeScrollStrategy(data) {
10904
10929
  function onScroll(e) {
10905
10930
  data.isActive.value = false;
10906
10931
  }
10907
- bindScroll(data.target.value ?? data.contentEl.value, onScroll);
10932
+ bindScroll(getTargetEl(data.target.value, data.contentEl.value), onScroll);
10908
10933
  }
10909
10934
  function blockScrollStrategy(data, props) {
10910
10935
  const offsetParent = data.root.value?.offsetParent;
10911
- const target = Array.isArray(data.target.value) ? document.elementFromPoint(...data.target.value) : data.target.value;
10936
+ const target = getTargetEl(data.target.value, data.contentEl.value);
10912
10937
  const scrollElements = [...new Set([...getScrollParents(target, props.contained ? offsetParent : undefined), ...getScrollParents(data.contentEl.value, props.contained ? offsetParent : undefined)])].filter(el => !el.classList.contains('v-overlay-scroll-blocked'));
10913
10938
  const scrollbarWidth = window.innerWidth - document.documentElement.offsetWidth;
10914
10939
  const scrollableParent = (el => hasScrollbar(el) && el)(offsetParent || document.documentElement);
@@ -10956,7 +10981,7 @@ function repositionScrollStrategy(data, props, scope) {
10956
10981
  }
10957
10982
  ric = (typeof requestIdleCallback === 'undefined' ? cb => cb() : requestIdleCallback)(() => {
10958
10983
  scope.run(() => {
10959
- bindScroll(data.target.value ?? data.contentEl.value, e => {
10984
+ bindScroll(getTargetEl(data.target.value, data.contentEl.value), e => {
10960
10985
  if (slow) {
10961
10986
  // If the position calculation is slow,
10962
10987
  // defer updates until scrolling is finished.
@@ -10979,10 +11004,10 @@ function repositionScrollStrategy(data, props, scope) {
10979
11004
  cancelAnimationFrame(raf);
10980
11005
  });
10981
11006
  }
10982
-
10983
- /** @private */
10984
- function bindScroll(target, onScroll) {
10985
- const el = Array.isArray(target) ? document.elementFromPoint(...target) : target;
11007
+ function getTargetEl(target, contentEl) {
11008
+ return Array.isArray(target) ? document.elementsFromPoint(...target).find(el => !contentEl?.contains(el)) : target ?? contentEl;
11009
+ }
11010
+ function bindScroll(el, onScroll) {
10986
11011
  const scrollElements = [document, ...getScrollParents(el)];
10987
11012
  scrollElements.forEach(el => {
10988
11013
  el.addEventListener('scroll', onScroll, {
@@ -12544,6 +12569,7 @@ const VTextField = genericComponent()({
12544
12569
  "name": props.name,
12545
12570
  "placeholder": props.placeholder,
12546
12571
  "size": 1,
12572
+ "role": props.role,
12547
12573
  "type": props.type,
12548
12574
  "onFocus": focus,
12549
12575
  "onBlur": blur
@@ -13319,7 +13345,7 @@ const VSelect = genericComponent()({
13319
13345
  return createVNode(VTextField, mergeProps({
13320
13346
  "ref": vTextFieldRef
13321
13347
  }, textFieldProps, {
13322
- "modelValue": model.value.map(v => v.props.value).join(', '),
13348
+ "modelValue": model.value.map(v => v.props.title).join(', '),
13323
13349
  "onUpdate:modelValue": onModelUpdate,
13324
13350
  "focused": isFocused.value,
13325
13351
  "onUpdate:focused": $event => isFocused.value = $event,
@@ -15978,7 +16004,8 @@ const rgba = {
15978
16004
  getColor: (c, v) => ({
15979
16005
  ...c,
15980
16006
  r: Number(v)
15981
- })
16007
+ }),
16008
+ localeKey: 'redInput'
15982
16009
  }, {
15983
16010
  label: 'G',
15984
16011
  max: 255,
@@ -15987,7 +16014,8 @@ const rgba = {
15987
16014
  getColor: (c, v) => ({
15988
16015
  ...c,
15989
16016
  g: Number(v)
15990
- })
16017
+ }),
16018
+ localeKey: 'greenInput'
15991
16019
  }, {
15992
16020
  label: 'B',
15993
16021
  max: 255,
@@ -15996,7 +16024,8 @@ const rgba = {
15996
16024
  getColor: (c, v) => ({
15997
16025
  ...c,
15998
16026
  b: Number(v)
15999
- })
16027
+ }),
16028
+ localeKey: 'blueInput'
16000
16029
  }, {
16001
16030
  label: 'A',
16002
16031
  max: 1,
@@ -16010,7 +16039,8 @@ const rgba = {
16010
16039
  getColor: (c, v) => ({
16011
16040
  ...c,
16012
16041
  a: Number(v)
16013
- })
16042
+ }),
16043
+ localeKey: 'alphaInput'
16014
16044
  }],
16015
16045
  to: HSVtoRGB,
16016
16046
  from: RGBtoHSV
@@ -16032,7 +16062,8 @@ const hsla = {
16032
16062
  getColor: (c, v) => ({
16033
16063
  ...c,
16034
16064
  h: Number(v)
16035
- })
16065
+ }),
16066
+ localeKey: 'hueInput'
16036
16067
  }, {
16037
16068
  label: 'S',
16038
16069
  max: 1,
@@ -16041,7 +16072,8 @@ const hsla = {
16041
16072
  getColor: (c, v) => ({
16042
16073
  ...c,
16043
16074
  s: Number(v)
16044
- })
16075
+ }),
16076
+ localeKey: 'saturationInput'
16045
16077
  }, {
16046
16078
  label: 'L',
16047
16079
  max: 1,
@@ -16050,7 +16082,8 @@ const hsla = {
16050
16082
  getColor: (c, v) => ({
16051
16083
  ...c,
16052
16084
  l: Number(v)
16053
- })
16085
+ }),
16086
+ localeKey: 'lightnessInput'
16054
16087
  }, {
16055
16088
  label: 'A',
16056
16089
  max: 1,
@@ -16064,7 +16097,8 @@ const hsla = {
16064
16097
  getColor: (c, v) => ({
16065
16098
  ...c,
16066
16099
  a: Number(v)
16067
- })
16100
+ }),
16101
+ localeKey: 'alphaInput'
16068
16102
  }],
16069
16103
  to: HSVtoHSL,
16070
16104
  from: HSLtoHSV
@@ -16080,7 +16114,8 @@ const hexa = {
16080
16114
  inputs: [{
16081
16115
  label: 'HEXA',
16082
16116
  getValue: c => c,
16083
- getColor: (c, v) => v
16117
+ getColor: (c, v) => v,
16118
+ localeKey: 'hexaInput'
16084
16119
  }],
16085
16120
  to: HSVtoHex,
16086
16121
  from: HexToHSV
@@ -16090,7 +16125,8 @@ const hex = {
16090
16125
  inputs: [{
16091
16126
  label: 'HEX',
16092
16127
  getValue: c => c.slice(0, 7),
16093
- getColor: (c, v) => v
16128
+ getColor: (c, v) => v,
16129
+ localeKey: 'hexInput'
16094
16130
  }]
16095
16131
  };
16096
16132
  const modes = {
@@ -16139,6 +16175,9 @@ const VColorPickerEdit = defineComponent({
16139
16175
  let {
16140
16176
  emit
16141
16177
  } = _ref2;
16178
+ const {
16179
+ t
16180
+ } = useLocale();
16142
16181
  const enabledModes = computed(() => {
16143
16182
  return props.modes.map(key => ({
16144
16183
  ...modes[key],
@@ -16153,11 +16192,13 @@ const VColorPickerEdit = defineComponent({
16153
16192
  let {
16154
16193
  getValue,
16155
16194
  getColor,
16195
+ localeKey,
16156
16196
  ...inputProps
16157
16197
  } = _ref3;
16158
16198
  return {
16159
16199
  ...mode.inputProps,
16160
16200
  ...inputProps,
16201
+ ariaLabel: t(`$vuetify.colorPicker.ariaLabel.${localeKey}`),
16161
16202
  disabled: props.disabled,
16162
16203
  value: color && getValue(color),
16163
16204
  onChange: e => {
@@ -16175,6 +16216,7 @@ const VColorPickerEdit = defineComponent({
16175
16216
  "icon": "$unfold",
16176
16217
  "size": "x-small",
16177
16218
  "variant": "plain",
16219
+ "aria-label": t('$vuetify.colorPicker.ariaLabel.changeFormat'),
16178
16220
  "onClick": () => {
16179
16221
  const mi = enabledModes.value.findIndex(m => m.name === props.mode);
16180
16222
  emit('update:mode', enabledModes.value[(mi + 1) % enabledModes.value.length].name);
@@ -16940,6 +16982,9 @@ const VColorPickerPreview = defineComponent({
16940
16982
  let {
16941
16983
  emit
16942
16984
  } = _ref;
16985
+ const {
16986
+ t
16987
+ } = useLocale();
16943
16988
  const abortController = new AbortController();
16944
16989
  onUnmounted(() => abortController.abort());
16945
16990
  async function openEyeDropper() {
@@ -16965,6 +17010,7 @@ const VColorPickerPreview = defineComponent({
16965
17010
  "class": "v-color-picker-preview__eye-dropper",
16966
17011
  "key": "eyeDropper"
16967
17012
  }, [createVNode(VBtn, {
17013
+ "aria-label": t('$vuetify.colorPicker.ariaLabel.eyedropper'),
16968
17014
  "density": "comfortable",
16969
17015
  "disabled": props.disabled,
16970
17016
  "icon": "$eyeDropper",
@@ -16980,6 +17026,7 @@ const VColorPickerPreview = defineComponent({
16980
17026
  "class": "v-color-picker-preview__sliders"
16981
17027
  }, [createVNode(VSlider, {
16982
17028
  "class": "v-color-picker-preview__track v-color-picker-preview__hue",
17029
+ "name": t('$vuetify.colorPicker.ariaLabel.hueSlider'),
16983
17030
  "modelValue": props.color?.h,
16984
17031
  "onUpdate:modelValue": h => emit('update:color', {
16985
17032
  ...(props.color ?? nullColor),
@@ -16995,6 +17042,7 @@ const VColorPickerPreview = defineComponent({
16995
17042
  "hideDetails": true
16996
17043
  }, null), !props.hideAlpha && createVNode(VSlider, {
16997
17044
  "class": "v-color-picker-preview__track v-color-picker-preview__alpha",
17045
+ "name": t('$vuetify.colorPicker.ariaLabel.alphaSlider'),
16998
17046
  "modelValue": props.color?.a ?? 1,
16999
17047
  "onUpdate:modelValue": a => emit('update:color', {
17000
17048
  ...(props.color ?? nullColor),
@@ -20859,11 +20907,16 @@ function parseFixedColumns(items) {
20859
20907
  if (item.fixed === true) {
20860
20908
  item.fixed = 'start';
20861
20909
  }
20862
- const orderedChildren = side === 'start' ? item.children?.toReversed() : item.children;
20863
20910
  if (item.fixed === side) {
20864
- if (orderedChildren) {
20865
- for (const child of orderedChildren) {
20866
- setFixed(child, side, side);
20911
+ if (item.children) {
20912
+ if (side === 'start') {
20913
+ for (let i = item.children.length - 1; i >= 0; i--) {
20914
+ setFixed(item.children[i], side, side);
20915
+ }
20916
+ } else {
20917
+ for (let i = 0; i < item.children.length; i++) {
20918
+ setFixed(item.children[i], side, side);
20919
+ }
20867
20920
  }
20868
20921
  } else {
20869
20922
  if (!seenFixed && side === 'start') {
@@ -20878,57 +20931,63 @@ function parseFixedColumns(items) {
20878
20931
  seenFixed = true;
20879
20932
  }
20880
20933
  } else {
20881
- if (orderedChildren) {
20882
- for (const child of orderedChildren) {
20883
- setFixed(child, side);
20934
+ if (item.children) {
20935
+ if (side === 'start') {
20936
+ for (let i = item.children.length - 1; i >= 0; i--) {
20937
+ setFixed(item.children[i], side);
20938
+ }
20939
+ } else {
20940
+ for (let i = 0; i < item.children.length; i++) {
20941
+ setFixed(item.children[i], side);
20942
+ }
20884
20943
  }
20885
20944
  } else {
20886
20945
  seenFixed = false;
20887
20946
  }
20888
20947
  }
20889
20948
  }
20890
- for (const item of items.toReversed()) {
20891
- setFixed(item, 'start');
20949
+ for (let i = items.length - 1; i >= 0; i--) {
20950
+ setFixed(items[i], 'start');
20892
20951
  }
20893
- for (const item of items) {
20894
- setFixed(item, 'end');
20895
- }
20896
- function setFixedOffset(item) {
20897
- let offset = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 0;
20898
- if (!item) return offset;
20899
- if (item.children) {
20900
- item.fixedOffset = offset;
20901
- for (const child of item.children) {
20902
- offset = setFixedOffset(child, offset);
20903
- }
20904
- } else if (item.fixed && item.fixed !== 'end') {
20905
- item.fixedOffset = offset;
20906
- offset += parseFloat(item.width || '0') || 0;
20907
- }
20908
- return offset;
20952
+ for (let i = 0; i < items.length; i++) {
20953
+ setFixed(items[i], 'end');
20909
20954
  }
20910
20955
  let fixedOffset = 0;
20911
- for (const item of items) {
20912
- fixedOffset = setFixedOffset(item, fixedOffset);
20956
+ for (let i = 0; i < items.length; i++) {
20957
+ fixedOffset = setFixedOffset(items[i], fixedOffset);
20913
20958
  }
20914
- function setFixedEndOffset(item) {
20915
- let offset = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 0;
20916
- if (!item) return offset;
20917
- if (item.children) {
20918
- item.fixedEndOffset = offset;
20919
- for (const child of item.children) {
20920
- offset = setFixedEndOffset(child, offset);
20921
- }
20922
- } else if (item.fixed === 'end') {
20923
- item.fixedEndOffset = offset;
20924
- offset += parseFloat(item.width || '0') || 0;
20959
+ let fixedEndOffset = 0;
20960
+ for (let i = items.length - 1; i >= 0; i--) {
20961
+ fixedEndOffset = setFixedEndOffset(items[i], fixedEndOffset);
20962
+ }
20963
+ }
20964
+ function setFixedOffset(item) {
20965
+ let offset = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 0;
20966
+ if (!item) return offset;
20967
+ if (item.children) {
20968
+ item.fixedOffset = offset;
20969
+ for (const child of item.children) {
20970
+ offset = setFixedOffset(child, offset);
20925
20971
  }
20926
- return offset;
20972
+ } else if (item.fixed && item.fixed !== 'end') {
20973
+ item.fixedOffset = offset;
20974
+ offset += parseFloat(item.width || '0') || 0;
20927
20975
  }
20928
- let fixedEndOffset = 0;
20929
- for (const item of items.toReversed()) {
20930
- fixedEndOffset = setFixedEndOffset(item, fixedEndOffset);
20976
+ return offset;
20977
+ }
20978
+ function setFixedEndOffset(item) {
20979
+ let offset = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 0;
20980
+ if (!item) return offset;
20981
+ if (item.children) {
20982
+ item.fixedEndOffset = offset;
20983
+ for (const child of item.children) {
20984
+ offset = setFixedEndOffset(child, offset);
20985
+ }
20986
+ } else if (item.fixed === 'end') {
20987
+ item.fixedEndOffset = offset;
20988
+ offset += parseFloat(item.width || '0') || 0;
20931
20989
  }
20990
+ return offset;
20932
20991
  }
20933
20992
  function parse(items, maxDepth) {
20934
20993
  const headers = [];
@@ -21630,8 +21689,6 @@ const VDataTableRows = genericComponent()({
21630
21689
  }
21631
21690
  });
21632
21691
 
21633
- // Types
21634
-
21635
21692
  const makeVTableProps = propsFactory({
21636
21693
  fixedHeader: Boolean,
21637
21694
  fixedFooter: Boolean,
@@ -21661,26 +21718,37 @@ const VTable = genericComponent()({
21661
21718
  const {
21662
21719
  densityClasses
21663
21720
  } = useDensity(props);
21664
- useRender(() => createVNode(props.tag, {
21665
- "class": normalizeClass(['v-table', {
21666
- 'v-table--fixed-height': !!props.height,
21667
- 'v-table--fixed-header': props.fixedHeader,
21668
- 'v-table--fixed-footer': props.fixedFooter,
21669
- 'v-table--has-top': !!slots.top,
21670
- 'v-table--has-bottom': !!slots.bottom,
21671
- 'v-table--hover': props.hover,
21672
- 'v-table--striped-even': props.striped === 'even',
21673
- 'v-table--striped-odd': props.striped === 'odd'
21674
- }, themeClasses.value, densityClasses.value, props.class]),
21675
- "style": normalizeStyle(props.style)
21676
- }, {
21677
- default: () => [slots.top?.(), slots.default ? createElementVNode("div", {
21678
- "class": "v-table__wrapper",
21679
- "style": {
21680
- height: convertToUnit(props.height)
21721
+ useRender(() => {
21722
+ const tableContentDefaults = {
21723
+ VCheckboxBtn: {
21724
+ density: props.density
21681
21725
  }
21682
- }, [createElementVNode("table", null, [slots.default()])]) : slots.wrapper?.(), slots.bottom?.()]
21683
- }));
21726
+ };
21727
+ return createVNode(props.tag, {
21728
+ "class": normalizeClass(['v-table', {
21729
+ 'v-table--fixed-height': !!props.height,
21730
+ 'v-table--fixed-header': props.fixedHeader,
21731
+ 'v-table--fixed-footer': props.fixedFooter,
21732
+ 'v-table--has-top': !!slots.top,
21733
+ 'v-table--has-bottom': !!slots.bottom,
21734
+ 'v-table--hover': props.hover,
21735
+ 'v-table--striped-even': props.striped === 'even',
21736
+ 'v-table--striped-odd': props.striped === 'odd'
21737
+ }, themeClasses.value, densityClasses.value, props.class]),
21738
+ "style": normalizeStyle(props.style)
21739
+ }, {
21740
+ default: () => [slots.top?.(), createVNode(VDefaultsProvider, {
21741
+ "defaults": tableContentDefaults
21742
+ }, {
21743
+ default: () => [slots.default ? createElementVNode("div", {
21744
+ "class": "v-table__wrapper",
21745
+ "style": {
21746
+ height: convertToUnit(props.height)
21747
+ }
21748
+ }, [createElementVNode("table", null, [slots.default()])]) : slots.wrapper?.()]
21749
+ }), slots.bottom?.()]
21750
+ });
21751
+ });
21684
21752
  return {};
21685
21753
  }
21686
21754
  });
@@ -26013,6 +26081,7 @@ const VNumberInput = genericComponent()({
26013
26081
  if (['Enter', 'ArrowLeft', 'ArrowRight', 'Backspace', 'Delete', 'Tab'].includes(e.key) || e.ctrlKey) return;
26014
26082
  if (['ArrowDown', 'ArrowUp'].includes(e.key)) {
26015
26083
  e.preventDefault();
26084
+ e.stopPropagation();
26016
26085
  clampModel();
26017
26086
  // _model is controlled, so need to wait until props['modelValue'] is updated
26018
26087
  await nextTick();
@@ -31342,12 +31411,23 @@ const VCalendar = genericComponent()({
31342
31411
 
31343
31412
  // Types
31344
31413
 
31414
+ const availablePipLocations = ['prepend', 'prepend-inner', 'append', 'append-inner'];
31345
31415
  const makeVColorInputProps = propsFactory({
31346
- pip: Boolean,
31416
+ hidePip: Boolean,
31417
+ colorPip: Boolean,
31347
31418
  pipIcon: {
31348
31419
  type: String,
31349
31420
  default: '$color'
31350
31421
  },
31422
+ pipLocation: {
31423
+ type: String,
31424
+ default: 'prepend',
31425
+ validator: v => availablePipLocations.includes(v)
31426
+ },
31427
+ pipVariant: {
31428
+ type: String,
31429
+ default: 'text'
31430
+ },
31351
31431
  ...makeFocusProps(),
31352
31432
  ...makeVConfirmEditProps(),
31353
31433
  ...makeVTextFieldProps(),
@@ -31391,8 +31471,15 @@ const VColorInput = genericComponent()({
31391
31471
  useRender(() => {
31392
31472
  const confirmEditProps = VConfirmEdit.filterProps(props);
31393
31473
  const colorPickerProps = VColorPicker.filterProps(omit(props, ['active', 'color']));
31394
- const textFieldProps = VTextField.filterProps(omit(props, ['prependInnerIcon']));
31395
- const hasPrepend = !!(slots.prepend || props.pipIcon);
31474
+ const textFieldProps = VTextField.filterProps(props);
31475
+ const slotWithPip = props.hidePip ? undefined : {
31476
+ [props.pipLocation]: arg => createElementVNode(Fragment, null, [createVNode(VAvatar, {
31477
+ "class": "v-color-input__pip",
31478
+ "color": props.colorPip ? model.value : undefined,
31479
+ "variant": props.pipVariant,
31480
+ "icon": props.pipIcon
31481
+ }, null), slots[props.pipLocation]?.(arg)])
31482
+ };
31396
31483
  return createVNode(VTextField, mergeProps(textFieldProps, {
31397
31484
  "class": ['v-color-input', props.class],
31398
31485
  "style": props.style,
@@ -31408,10 +31495,7 @@ const VColorInput = genericComponent()({
31408
31495
  }
31409
31496
  }), {
31410
31497
  ...slots,
31411
- prepend: props.pipIcon ? arg => createElementVNode(Fragment, null, [hasPrepend && createVNode(VIcon, {
31412
- "color": props.pip ? model.value : undefined,
31413
- "icon": props.pipIcon
31414
- }, null), slots.prepend?.(arg)]) : undefined,
31498
+ ...slotWithPip,
31415
31499
  default: () => createElementVNode(Fragment, null, [createVNode(VMenu, {
31416
31500
  "modelValue": menu.value,
31417
31501
  "onUpdate:modelValue": $event => menu.value = $event,
@@ -31443,8 +31527,7 @@ const VColorInput = genericComponent()({
31443
31527
  }
31444
31528
  return createVNode(VColorPicker, mergeProps(colorPickerProps, {
31445
31529
  "modelValue": props.hideActions ? model.value : proxyModel.value,
31446
- "onUpdate:modelValue": value => onUpdateModel(value),
31447
- "onMousedown": e => e.preventDefault()
31530
+ "onUpdate:modelValue": value => onUpdateModel(value)
31448
31531
  }), {
31449
31532
  actions: !props.hideActions ? () => slots.actions?.({
31450
31533
  save,
@@ -34141,7 +34224,8 @@ const VVideoControls = genericComponent()({
34141
34224
  t
34142
34225
  } = useLocale();
34143
34226
  const {
34144
- themeClasses
34227
+ themeClasses,
34228
+ current: currentTheme
34145
34229
  } = provideTheme(props);
34146
34230
  const {
34147
34231
  densityClasses
@@ -34156,6 +34240,13 @@ const VVideoControls = genericComponent()({
34156
34240
  const fallbackBackground = props.detached ? 'surface' : undefined;
34157
34241
  return props.backgroundColor ?? fallbackBackground;
34158
34242
  });
34243
+ const trackColor = toRef(() => {
34244
+ if (props.trackColor) {
34245
+ return props.trackColor;
34246
+ }
34247
+ const fallback = currentTheme.value.dark || !props.pills ? undefined : 'surface';
34248
+ return (props.pills ? props.backgroundColor : props.color) ?? fallback;
34249
+ });
34159
34250
  const playing = useProxiedModel(props, 'playing');
34160
34251
  const progress = useProxiedModel(props, 'progress');
34161
34252
  const volume = useProxiedModel(props, 'volume', 0, v => Number(v ?? 0));
@@ -34216,7 +34307,8 @@ const VVideoControls = genericComponent()({
34216
34307
  };
34217
34308
  const regularBtnSize = innerDefaults.VIconBtn.size;
34218
34309
  const playBtnSize = props.pills ? regularBtnSize + 8 : regularBtnSize;
34219
- const pillClasses = ['v-video-control__pill', props.pills ? elevationClasses.value : []];
34310
+ const pillClasses = ['v-video-control__pill', props.pills ? elevationClasses.value : [], props.pills ? backgroundColorClasses.value : []];
34311
+ const pillStyles = props.pills ? backgroundColorStyles.value : [];
34220
34312
  const slotProps = {
34221
34313
  play,
34222
34314
  pause,
@@ -34239,30 +34331,34 @@ const VVideoControls = genericComponent()({
34239
34331
  'v-video-controls--floating': props.floating
34240
34332
  }, {
34241
34333
  'v-video-controls--split-time': props.splitTime
34242
- }, backgroundColorClasses.value, props.detached && !props.pills ? elevationClasses.value : [], densityClasses.value, themeClasses.value]),
34243
- "style": normalizeStyle([backgroundColorStyles.value, {
34334
+ }, !props.pills ? backgroundColorClasses.value : [], props.detached && !props.pills ? elevationClasses.value : [], densityClasses.value, themeClasses.value]),
34335
+ "style": normalizeStyle([!props.pills ? backgroundColorStyles.value : [], {
34244
34336
  '--v-video-controls-pill-height': `${regularBtnSize}px`
34245
34337
  }])
34246
34338
  }, [createVNode(VDefaultsProvider, {
34247
34339
  "defaults": innerDefaults
34248
34340
  }, {
34249
34341
  default: () => [slots.default?.(slotProps) ?? createElementVNode(Fragment, null, [props.variant !== 'mini' && createElementVNode(Fragment, null, [!props.hidePlay && createElementVNode("div", {
34250
- "class": normalizeClass([pillClasses, 'v-video__action-play'])
34342
+ "class": normalizeClass([pillClasses, 'v-video__action-play']),
34343
+ "style": normalizeStyle(pillStyles)
34251
34344
  }, [withDirectives(createVNode(VIconBtn, {
34252
34345
  "icon": playing.value ? '$pause' : '$play',
34253
34346
  "size": playBtnSize,
34254
34347
  "aria-label": labels.value.playAction,
34255
34348
  "onClick": () => playing.value = !playing.value
34256
34349
  }, null), [[Tooltip, labels.value.playAction, 'top']])]), slots.prepend && createElementVNode("div", {
34257
- "class": normalizeClass(pillClasses)
34350
+ "class": normalizeClass(pillClasses),
34351
+ "style": normalizeStyle(pillStyles)
34258
34352
  }, [slots.prepend(slotProps)]), props.splitTime ? createElementVNode("span", {
34259
- "class": normalizeClass([pillClasses, 'v-video__time'])
34353
+ "class": normalizeClass([pillClasses, 'v-video__time']),
34354
+ "style": normalizeStyle(pillStyles)
34260
34355
  }, [currentTime.value.elapsed]) : props.variant !== 'default' ? createElementVNode("span", {
34261
- "class": normalizeClass([pillClasses, 'v-video__time'])
34356
+ "class": normalizeClass([pillClasses, 'v-video__time']),
34357
+ "style": normalizeStyle(pillStyles)
34262
34358
  }, [currentTime.value.elapsed, createTextVNode(" / "), currentTime.value.total]) : '', createVNode(VSlider, {
34263
34359
  "modelValue": props.progress,
34264
34360
  "noKeyboard": true,
34265
- "color": props.trackColor ?? props.color,
34361
+ "color": trackColor.value ?? 'surface-variant',
34266
34362
  "trackColor": props.variant === 'tube' ? 'white' : undefined,
34267
34363
  "class": "v-video__track",
34268
34364
  "thumbLabel": "always",
@@ -34271,18 +34367,22 @@ const VVideoControls = genericComponent()({
34271
34367
  }, {
34272
34368
  'thumb-label': () => currentTime.value.elapsed
34273
34369
  }), props.variant === 'tube' && createVNode(VSpacer, null, null), props.splitTime ? createElementVNode("span", {
34274
- "class": normalizeClass([pillClasses, 'v-video__time'])
34370
+ "class": normalizeClass([pillClasses, 'v-video__time']),
34371
+ "style": normalizeStyle(pillStyles)
34275
34372
  }, [currentTime.value.remaining]) : '']), props.variant === 'mini' && createElementVNode(Fragment, null, [createVNode(VSpacer, null, null), slots.prepend && createElementVNode("div", {
34276
- "class": normalizeClass(pillClasses)
34373
+ "class": normalizeClass(pillClasses),
34374
+ "style": normalizeStyle(pillStyles)
34277
34375
  }, [slots.prepend(slotProps)]), !props.hidePlay && createElementVNode("div", {
34278
- "class": normalizeClass([pillClasses, 'v-video__action-play'])
34376
+ "class": normalizeClass([pillClasses, 'v-video__action-play']),
34377
+ "style": normalizeStyle(pillStyles)
34279
34378
  }, [withDirectives(createVNode(VIconBtn, {
34280
34379
  "icon": playing.value ? '$pause' : '$play',
34281
34380
  "size": playBtnSize,
34282
34381
  "aria-label": labels.value.playAction,
34283
34382
  "onClick": () => playing.value = !playing.value
34284
34383
  }, null), [[Tooltip, labels.value.playAction, 'top']])])]), (!props.hideVolume || !props.hideFullscreen || slots.append) && createElementVNode("div", {
34285
- "class": normalizeClass(pillClasses)
34384
+ "class": normalizeClass(pillClasses),
34385
+ "style": normalizeStyle(pillStyles)
34286
34386
  }, [!props.hideVolume && createVNode(VVideoVolume, mergeProps({
34287
34387
  "key": "volume-control",
34288
34388
  "sliderProps": {
@@ -34309,6 +34409,7 @@ const VVideoControls = genericComponent()({
34309
34409
 
34310
34410
  const allowedVariants = ['background', 'player'];
34311
34411
  const makeVVideoProps = propsFactory({
34412
+ aspectRatio: [String, Number],
34312
34413
  autoplay: Boolean,
34313
34414
  muted: Boolean,
34314
34415
  eager: Boolean,
@@ -34625,7 +34726,9 @@ const VVideo = genericComponent()({
34625
34726
  "class": normalizeClass(['v-video', `v-video--variant-${props.variant}`, `v-video--${state.value}`, {
34626
34727
  'v-video--playing': playing.value
34627
34728
  }, themeClasses.value, densityClasses.value, roundedContainerClasses.value, props.class]),
34628
- "style": normalizeStyle([props.variant === 'background' ? [] : pick(dimensionStyles.value, ['width', 'min-width', 'max-width']), props.style]),
34729
+ "style": normalizeStyle([{
34730
+ '--v-video-aspect-ratio': props.aspectRatio
34731
+ }, props.variant === 'background' ? [] : pick(dimensionStyles.value, ['width', 'minWidth', 'maxWidth']), props.style]),
34629
34732
  "onKeydown": onKeydown,
34630
34733
  "onClick": onClick
34631
34734
  }, [createElementVNode("div", {
@@ -34675,9 +34778,9 @@ const VVideo = genericComponent()({
34675
34778
  }, {
34676
34779
  default: () => [createElementVNode("div", {
34677
34780
  "class": normalizeClass(['v-video__overlay-fill', ...roundedContainerClasses.value])
34678
- }, [overlayPlayIcon])]
34781
+ }, [props.variant === 'player' && overlayPlayIcon])]
34679
34782
  })]
34680
- }), createVNode(VOverlay, mergeProps({
34783
+ }), props.variant === 'player' && createVNode(VOverlay, mergeProps({
34681
34784
  "key": "loading-overlay",
34682
34785
  "modelValue": state.value === 'loading' || waiting.value,
34683
34786
  "opacity": ".1"
@@ -35139,7 +35242,7 @@ function createVuetify$1() {
35139
35242
  };
35140
35243
  });
35141
35244
  }
35142
- const version$1 = "3.9.3";
35245
+ const version$1 = "3.9.5";
35143
35246
  createVuetify$1.version = version$1;
35144
35247
 
35145
35248
  // Vue's inject() can only be used in setup
@@ -35437,7 +35540,7 @@ var index = /*#__PURE__*/Object.freeze({
35437
35540
 
35438
35541
  /* eslint-disable local-rules/sort-imports */
35439
35542
 
35440
- const version = "3.9.3";
35543
+ const version = "3.9.5";
35441
35544
 
35442
35545
  /* eslint-disable local-rules/sort-imports */
35443
35546