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
  */
@@ -1609,7 +1609,9 @@ function getScrollParents(el, stopAt) {
1609
1609
  function hasScrollbar(el) {
1610
1610
  if (!el || el.nodeType !== Node.ELEMENT_NODE) return false;
1611
1611
  const style = window.getComputedStyle(el);
1612
- return style.overflowY === 'scroll' || style.overflowY === 'auto' && el.scrollHeight > el.clientHeight;
1612
+ const hasVerticalScrollbar = style.overflowY === 'scroll' || style.overflowY === 'auto' && el.scrollHeight > el.clientHeight;
1613
+ const hasHorizontalScrollbar = style.overflowX === 'scroll' || style.overflowX === 'auto' && el.scrollWidth > el.clientWidth;
1614
+ return hasVerticalScrollbar || hasHorizontalScrollbar;
1613
1615
  }
1614
1616
  function isPotentiallyScrollable(el) {
1615
1617
  if (!el || el.nodeType !== Node.ELEMENT_NODE) return false;
@@ -2721,6 +2723,23 @@ var en = {
2721
2723
  unmute: 'Unmute',
2722
2724
  enterFullscreen: 'Full screen',
2723
2725
  exitFullscreen: 'Exit full screen'
2726
+ },
2727
+ colorPicker: {
2728
+ ariaLabel: {
2729
+ eyedropper: 'Select color with eyedropper',
2730
+ hueSlider: 'Hue',
2731
+ alphaSlider: 'Alpha',
2732
+ redInput: 'Red value',
2733
+ greenInput: 'Green value',
2734
+ blueInput: 'Blue value',
2735
+ alphaInput: 'Alpha value',
2736
+ hueInput: 'Hue value',
2737
+ saturationInput: 'Saturation value',
2738
+ lightnessInput: 'Lightness value',
2739
+ hexInput: 'HEX value',
2740
+ hexaInput: 'HEX with alpha value',
2741
+ changeFormat: 'Change color format'
2742
+ }
2724
2743
  }
2725
2744
  };
2726
2745
 
@@ -3319,9 +3338,7 @@ function useTheme() {
3319
3338
 
3320
3339
  const makeVAppProps = propsFactory({
3321
3340
  ...makeComponentProps(),
3322
- ...makeLayoutProps({
3323
- fullHeight: true
3324
- }),
3341
+ ...omit(makeLayoutProps(), ['fullHeight']),
3325
3342
  ...makeThemeProps()
3326
3343
  }, 'VApp');
3327
3344
  const VApp = genericComponent()({
@@ -3337,7 +3354,10 @@ const VApp = genericComponent()({
3337
3354
  getLayoutItem,
3338
3355
  items,
3339
3356
  layoutRef
3340
- } = createLayout(props);
3357
+ } = createLayout({
3358
+ ...props,
3359
+ fullHeight: true
3360
+ });
3341
3361
  const {
3342
3362
  rtlClasses
3343
3363
  } = useRtl();
@@ -6482,7 +6502,7 @@ const VAlert = genericComponent()({
6482
6502
  });
6483
6503
  const {
6484
6504
  iconSize
6485
- } = useIconSizes(props, () => props.prominent ? 44 : 28);
6505
+ } = useIconSizes(props, () => props.prominent ? 44 : undefined);
6486
6506
  const {
6487
6507
  themeClasses
6488
6508
  } = provideTheme(props);
@@ -6533,7 +6553,7 @@ const VAlert = genericComponent()({
6533
6553
  const iconProps = {
6534
6554
  density: props.density,
6535
6555
  icon: icon.value,
6536
- size: iconSize.value
6556
+ size: props.iconSize || props.prominent ? iconSize.value : undefined
6537
6557
  };
6538
6558
  return isActive.value && createVNode(props.tag, {
6539
6559
  "class": normalizeClass(['v-alert', props.border && {
@@ -7316,9 +7336,14 @@ function useForm(props) {
7316
7336
  // Utilities
7317
7337
  const RulesSymbol = Symbol.for('vuetify:rules');
7318
7338
  function useRules(fn) {
7319
- const resolveRules = inject$1(RulesSymbol, null);
7320
- if (!resolveRules) return toRef(fn);
7321
- return resolveRules(fn);
7339
+ const rules = inject$1(RulesSymbol, null);
7340
+ if (!fn) {
7341
+ if (!rules) {
7342
+ throw new Error('Could not find Vuetify rules injection');
7343
+ }
7344
+ return rules.aliases;
7345
+ }
7346
+ return rules?.resolve(fn) ?? toRef(fn);
7322
7347
  }
7323
7348
 
7324
7349
  // Composables
@@ -11144,11 +11169,11 @@ function closeScrollStrategy(data) {
11144
11169
  function onScroll(e) {
11145
11170
  data.isActive.value = false;
11146
11171
  }
11147
- bindScroll(data.target.value ?? data.contentEl.value, onScroll);
11172
+ bindScroll(getTargetEl(data.target.value, data.contentEl.value), onScroll);
11148
11173
  }
11149
11174
  function blockScrollStrategy(data, props) {
11150
11175
  const offsetParent = data.root.value?.offsetParent;
11151
- const target = Array.isArray(data.target.value) ? document.elementFromPoint(...data.target.value) : data.target.value;
11176
+ const target = getTargetEl(data.target.value, data.contentEl.value);
11152
11177
  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'));
11153
11178
  const scrollbarWidth = window.innerWidth - document.documentElement.offsetWidth;
11154
11179
  const scrollableParent = (el => hasScrollbar(el) && el)(offsetParent || document.documentElement);
@@ -11196,7 +11221,7 @@ function repositionScrollStrategy(data, props, scope) {
11196
11221
  }
11197
11222
  ric = (typeof requestIdleCallback === 'undefined' ? cb => cb() : requestIdleCallback)(() => {
11198
11223
  scope.run(() => {
11199
- bindScroll(data.target.value ?? data.contentEl.value, e => {
11224
+ bindScroll(getTargetEl(data.target.value, data.contentEl.value), e => {
11200
11225
  if (slow) {
11201
11226
  // If the position calculation is slow,
11202
11227
  // defer updates until scrolling is finished.
@@ -11219,10 +11244,10 @@ function repositionScrollStrategy(data, props, scope) {
11219
11244
  cancelAnimationFrame(raf);
11220
11245
  });
11221
11246
  }
11222
-
11223
- /** @private */
11224
- function bindScroll(target, onScroll) {
11225
- const el = Array.isArray(target) ? document.elementFromPoint(...target) : target;
11247
+ function getTargetEl(target, contentEl) {
11248
+ return Array.isArray(target) ? document.elementsFromPoint(...target).find(el => !contentEl?.contains(el)) : target ?? contentEl;
11249
+ }
11250
+ function bindScroll(el, onScroll) {
11226
11251
  const scrollElements = [document, ...getScrollParents(el)];
11227
11252
  scrollElements.forEach(el => {
11228
11253
  el.addEventListener('scroll', onScroll, {
@@ -12784,6 +12809,7 @@ const VTextField = genericComponent()({
12784
12809
  "name": props.name,
12785
12810
  "placeholder": props.placeholder,
12786
12811
  "size": 1,
12812
+ "role": props.role,
12787
12813
  "type": props.type,
12788
12814
  "onFocus": focus,
12789
12815
  "onBlur": blur
@@ -13559,7 +13585,7 @@ const VSelect = genericComponent()({
13559
13585
  return createVNode(VTextField, mergeProps({
13560
13586
  "ref": vTextFieldRef
13561
13587
  }, textFieldProps, {
13562
- "modelValue": model.value.map(v => v.props.value).join(', '),
13588
+ "modelValue": model.value.map(v => v.props.title).join(', '),
13563
13589
  "onUpdate:modelValue": onModelUpdate,
13564
13590
  "focused": isFocused.value,
13565
13591
  "onUpdate:focused": $event => isFocused.value = $event,
@@ -16218,7 +16244,8 @@ const rgba = {
16218
16244
  getColor: (c, v) => ({
16219
16245
  ...c,
16220
16246
  r: Number(v)
16221
- })
16247
+ }),
16248
+ localeKey: 'redInput'
16222
16249
  }, {
16223
16250
  label: 'G',
16224
16251
  max: 255,
@@ -16227,7 +16254,8 @@ const rgba = {
16227
16254
  getColor: (c, v) => ({
16228
16255
  ...c,
16229
16256
  g: Number(v)
16230
- })
16257
+ }),
16258
+ localeKey: 'greenInput'
16231
16259
  }, {
16232
16260
  label: 'B',
16233
16261
  max: 255,
@@ -16236,7 +16264,8 @@ const rgba = {
16236
16264
  getColor: (c, v) => ({
16237
16265
  ...c,
16238
16266
  b: Number(v)
16239
- })
16267
+ }),
16268
+ localeKey: 'blueInput'
16240
16269
  }, {
16241
16270
  label: 'A',
16242
16271
  max: 1,
@@ -16250,7 +16279,8 @@ const rgba = {
16250
16279
  getColor: (c, v) => ({
16251
16280
  ...c,
16252
16281
  a: Number(v)
16253
- })
16282
+ }),
16283
+ localeKey: 'alphaInput'
16254
16284
  }],
16255
16285
  to: HSVtoRGB,
16256
16286
  from: RGBtoHSV
@@ -16272,7 +16302,8 @@ const hsla = {
16272
16302
  getColor: (c, v) => ({
16273
16303
  ...c,
16274
16304
  h: Number(v)
16275
- })
16305
+ }),
16306
+ localeKey: 'hueInput'
16276
16307
  }, {
16277
16308
  label: 'S',
16278
16309
  max: 1,
@@ -16281,7 +16312,8 @@ const hsla = {
16281
16312
  getColor: (c, v) => ({
16282
16313
  ...c,
16283
16314
  s: Number(v)
16284
- })
16315
+ }),
16316
+ localeKey: 'saturationInput'
16285
16317
  }, {
16286
16318
  label: 'L',
16287
16319
  max: 1,
@@ -16290,7 +16322,8 @@ const hsla = {
16290
16322
  getColor: (c, v) => ({
16291
16323
  ...c,
16292
16324
  l: Number(v)
16293
- })
16325
+ }),
16326
+ localeKey: 'lightnessInput'
16294
16327
  }, {
16295
16328
  label: 'A',
16296
16329
  max: 1,
@@ -16304,7 +16337,8 @@ const hsla = {
16304
16337
  getColor: (c, v) => ({
16305
16338
  ...c,
16306
16339
  a: Number(v)
16307
- })
16340
+ }),
16341
+ localeKey: 'alphaInput'
16308
16342
  }],
16309
16343
  to: HSVtoHSL,
16310
16344
  from: HSLtoHSV
@@ -16320,7 +16354,8 @@ const hexa = {
16320
16354
  inputs: [{
16321
16355
  label: 'HEXA',
16322
16356
  getValue: c => c,
16323
- getColor: (c, v) => v
16357
+ getColor: (c, v) => v,
16358
+ localeKey: 'hexaInput'
16324
16359
  }],
16325
16360
  to: HSVtoHex,
16326
16361
  from: HexToHSV
@@ -16330,7 +16365,8 @@ const hex = {
16330
16365
  inputs: [{
16331
16366
  label: 'HEX',
16332
16367
  getValue: c => c.slice(0, 7),
16333
- getColor: (c, v) => v
16368
+ getColor: (c, v) => v,
16369
+ localeKey: 'hexInput'
16334
16370
  }]
16335
16371
  };
16336
16372
  const modes = {
@@ -16379,6 +16415,9 @@ const VColorPickerEdit = defineComponent({
16379
16415
  let {
16380
16416
  emit
16381
16417
  } = _ref2;
16418
+ const {
16419
+ t
16420
+ } = useLocale();
16382
16421
  const enabledModes = computed(() => {
16383
16422
  return props.modes.map(key => ({
16384
16423
  ...modes[key],
@@ -16393,11 +16432,13 @@ const VColorPickerEdit = defineComponent({
16393
16432
  let {
16394
16433
  getValue,
16395
16434
  getColor,
16435
+ localeKey,
16396
16436
  ...inputProps
16397
16437
  } = _ref3;
16398
16438
  return {
16399
16439
  ...mode.inputProps,
16400
16440
  ...inputProps,
16441
+ ariaLabel: t(`$vuetify.colorPicker.ariaLabel.${localeKey}`),
16401
16442
  disabled: props.disabled,
16402
16443
  value: color && getValue(color),
16403
16444
  onChange: e => {
@@ -16415,6 +16456,7 @@ const VColorPickerEdit = defineComponent({
16415
16456
  "icon": "$unfold",
16416
16457
  "size": "x-small",
16417
16458
  "variant": "plain",
16459
+ "aria-label": t('$vuetify.colorPicker.ariaLabel.changeFormat'),
16418
16460
  "onClick": () => {
16419
16461
  const mi = enabledModes.value.findIndex(m => m.name === props.mode);
16420
16462
  emit('update:mode', enabledModes.value[(mi + 1) % enabledModes.value.length].name);
@@ -17180,6 +17222,9 @@ const VColorPickerPreview = defineComponent({
17180
17222
  let {
17181
17223
  emit
17182
17224
  } = _ref;
17225
+ const {
17226
+ t
17227
+ } = useLocale();
17183
17228
  const abortController = new AbortController();
17184
17229
  onUnmounted(() => abortController.abort());
17185
17230
  async function openEyeDropper() {
@@ -17205,6 +17250,7 @@ const VColorPickerPreview = defineComponent({
17205
17250
  "class": "v-color-picker-preview__eye-dropper",
17206
17251
  "key": "eyeDropper"
17207
17252
  }, [createVNode(VBtn, {
17253
+ "aria-label": t('$vuetify.colorPicker.ariaLabel.eyedropper'),
17208
17254
  "density": "comfortable",
17209
17255
  "disabled": props.disabled,
17210
17256
  "icon": "$eyeDropper",
@@ -17220,6 +17266,7 @@ const VColorPickerPreview = defineComponent({
17220
17266
  "class": "v-color-picker-preview__sliders"
17221
17267
  }, [createVNode(VSlider, {
17222
17268
  "class": "v-color-picker-preview__track v-color-picker-preview__hue",
17269
+ "name": t('$vuetify.colorPicker.ariaLabel.hueSlider'),
17223
17270
  "modelValue": props.color?.h,
17224
17271
  "onUpdate:modelValue": h => emit('update:color', {
17225
17272
  ...(props.color ?? nullColor),
@@ -17235,6 +17282,7 @@ const VColorPickerPreview = defineComponent({
17235
17282
  "hideDetails": true
17236
17283
  }, null), !props.hideAlpha && createVNode(VSlider, {
17237
17284
  "class": "v-color-picker-preview__track v-color-picker-preview__alpha",
17285
+ "name": t('$vuetify.colorPicker.ariaLabel.alphaSlider'),
17238
17286
  "modelValue": props.color?.a ?? 1,
17239
17287
  "onUpdate:modelValue": a => emit('update:color', {
17240
17288
  ...(props.color ?? nullColor),
@@ -21099,11 +21147,16 @@ function parseFixedColumns(items) {
21099
21147
  if (item.fixed === true) {
21100
21148
  item.fixed = 'start';
21101
21149
  }
21102
- const orderedChildren = side === 'start' ? item.children?.toReversed() : item.children;
21103
21150
  if (item.fixed === side) {
21104
- if (orderedChildren) {
21105
- for (const child of orderedChildren) {
21106
- setFixed(child, side, side);
21151
+ if (item.children) {
21152
+ if (side === 'start') {
21153
+ for (let i = item.children.length - 1; i >= 0; i--) {
21154
+ setFixed(item.children[i], side, side);
21155
+ }
21156
+ } else {
21157
+ for (let i = 0; i < item.children.length; i++) {
21158
+ setFixed(item.children[i], side, side);
21159
+ }
21107
21160
  }
21108
21161
  } else {
21109
21162
  if (!seenFixed && side === 'start') {
@@ -21118,57 +21171,63 @@ function parseFixedColumns(items) {
21118
21171
  seenFixed = true;
21119
21172
  }
21120
21173
  } else {
21121
- if (orderedChildren) {
21122
- for (const child of orderedChildren) {
21123
- setFixed(child, side);
21174
+ if (item.children) {
21175
+ if (side === 'start') {
21176
+ for (let i = item.children.length - 1; i >= 0; i--) {
21177
+ setFixed(item.children[i], side);
21178
+ }
21179
+ } else {
21180
+ for (let i = 0; i < item.children.length; i++) {
21181
+ setFixed(item.children[i], side);
21182
+ }
21124
21183
  }
21125
21184
  } else {
21126
21185
  seenFixed = false;
21127
21186
  }
21128
21187
  }
21129
21188
  }
21130
- for (const item of items.toReversed()) {
21131
- setFixed(item, 'start');
21189
+ for (let i = items.length - 1; i >= 0; i--) {
21190
+ setFixed(items[i], 'start');
21132
21191
  }
21133
- for (const item of items) {
21134
- setFixed(item, 'end');
21135
- }
21136
- function setFixedOffset(item) {
21137
- let offset = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 0;
21138
- if (!item) return offset;
21139
- if (item.children) {
21140
- item.fixedOffset = offset;
21141
- for (const child of item.children) {
21142
- offset = setFixedOffset(child, offset);
21143
- }
21144
- } else if (item.fixed && item.fixed !== 'end') {
21145
- item.fixedOffset = offset;
21146
- offset += parseFloat(item.width || '0') || 0;
21147
- }
21148
- return offset;
21192
+ for (let i = 0; i < items.length; i++) {
21193
+ setFixed(items[i], 'end');
21149
21194
  }
21150
21195
  let fixedOffset = 0;
21151
- for (const item of items) {
21152
- fixedOffset = setFixedOffset(item, fixedOffset);
21196
+ for (let i = 0; i < items.length; i++) {
21197
+ fixedOffset = setFixedOffset(items[i], fixedOffset);
21153
21198
  }
21154
- function setFixedEndOffset(item) {
21155
- let offset = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 0;
21156
- if (!item) return offset;
21157
- if (item.children) {
21158
- item.fixedEndOffset = offset;
21159
- for (const child of item.children) {
21160
- offset = setFixedEndOffset(child, offset);
21161
- }
21162
- } else if (item.fixed === 'end') {
21163
- item.fixedEndOffset = offset;
21164
- offset += parseFloat(item.width || '0') || 0;
21199
+ let fixedEndOffset = 0;
21200
+ for (let i = items.length - 1; i >= 0; i--) {
21201
+ fixedEndOffset = setFixedEndOffset(items[i], fixedEndOffset);
21202
+ }
21203
+ }
21204
+ function setFixedOffset(item) {
21205
+ let offset = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 0;
21206
+ if (!item) return offset;
21207
+ if (item.children) {
21208
+ item.fixedOffset = offset;
21209
+ for (const child of item.children) {
21210
+ offset = setFixedOffset(child, offset);
21165
21211
  }
21166
- return offset;
21212
+ } else if (item.fixed && item.fixed !== 'end') {
21213
+ item.fixedOffset = offset;
21214
+ offset += parseFloat(item.width || '0') || 0;
21167
21215
  }
21168
- let fixedEndOffset = 0;
21169
- for (const item of items.toReversed()) {
21170
- fixedEndOffset = setFixedEndOffset(item, fixedEndOffset);
21216
+ return offset;
21217
+ }
21218
+ function setFixedEndOffset(item) {
21219
+ let offset = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 0;
21220
+ if (!item) return offset;
21221
+ if (item.children) {
21222
+ item.fixedEndOffset = offset;
21223
+ for (const child of item.children) {
21224
+ offset = setFixedEndOffset(child, offset);
21225
+ }
21226
+ } else if (item.fixed === 'end') {
21227
+ item.fixedEndOffset = offset;
21228
+ offset += parseFloat(item.width || '0') || 0;
21171
21229
  }
21230
+ return offset;
21172
21231
  }
21173
21232
  function parse(items, maxDepth) {
21174
21233
  const headers = [];
@@ -21870,8 +21929,6 @@ const VDataTableRows = genericComponent()({
21870
21929
  }
21871
21930
  });
21872
21931
 
21873
- // Types
21874
-
21875
21932
  const makeVTableProps = propsFactory({
21876
21933
  fixedHeader: Boolean,
21877
21934
  fixedFooter: Boolean,
@@ -21901,26 +21958,37 @@ const VTable = genericComponent()({
21901
21958
  const {
21902
21959
  densityClasses
21903
21960
  } = useDensity(props);
21904
- useRender(() => createVNode(props.tag, {
21905
- "class": normalizeClass(['v-table', {
21906
- 'v-table--fixed-height': !!props.height,
21907
- 'v-table--fixed-header': props.fixedHeader,
21908
- 'v-table--fixed-footer': props.fixedFooter,
21909
- 'v-table--has-top': !!slots.top,
21910
- 'v-table--has-bottom': !!slots.bottom,
21911
- 'v-table--hover': props.hover,
21912
- 'v-table--striped-even': props.striped === 'even',
21913
- 'v-table--striped-odd': props.striped === 'odd'
21914
- }, themeClasses.value, densityClasses.value, props.class]),
21915
- "style": normalizeStyle(props.style)
21916
- }, {
21917
- default: () => [slots.top?.(), slots.default ? createElementVNode("div", {
21918
- "class": "v-table__wrapper",
21919
- "style": {
21920
- height: convertToUnit(props.height)
21961
+ useRender(() => {
21962
+ const tableContentDefaults = {
21963
+ VCheckboxBtn: {
21964
+ density: props.density
21921
21965
  }
21922
- }, [createElementVNode("table", null, [slots.default()])]) : slots.wrapper?.(), slots.bottom?.()]
21923
- }));
21966
+ };
21967
+ return createVNode(props.tag, {
21968
+ "class": normalizeClass(['v-table', {
21969
+ 'v-table--fixed-height': !!props.height,
21970
+ 'v-table--fixed-header': props.fixedHeader,
21971
+ 'v-table--fixed-footer': props.fixedFooter,
21972
+ 'v-table--has-top': !!slots.top,
21973
+ 'v-table--has-bottom': !!slots.bottom,
21974
+ 'v-table--hover': props.hover,
21975
+ 'v-table--striped-even': props.striped === 'even',
21976
+ 'v-table--striped-odd': props.striped === 'odd'
21977
+ }, themeClasses.value, densityClasses.value, props.class]),
21978
+ "style": normalizeStyle(props.style)
21979
+ }, {
21980
+ default: () => [slots.top?.(), createVNode(VDefaultsProvider, {
21981
+ "defaults": tableContentDefaults
21982
+ }, {
21983
+ default: () => [slots.default ? createElementVNode("div", {
21984
+ "class": "v-table__wrapper",
21985
+ "style": {
21986
+ height: convertToUnit(props.height)
21987
+ }
21988
+ }, [createElementVNode("table", null, [slots.default()])]) : slots.wrapper?.()]
21989
+ }), slots.bottom?.()]
21990
+ });
21991
+ });
21924
21992
  return {};
21925
21993
  }
21926
21994
  });
@@ -26253,6 +26321,7 @@ const VNumberInput = genericComponent()({
26253
26321
  if (['Enter', 'ArrowLeft', 'ArrowRight', 'Backspace', 'Delete', 'Tab'].includes(e.key) || e.ctrlKey) return;
26254
26322
  if (['ArrowDown', 'ArrowUp'].includes(e.key)) {
26255
26323
  e.preventDefault();
26324
+ e.stopPropagation();
26256
26325
  clampModel();
26257
26326
  // _model is controlled, so need to wait until props['modelValue'] is updated
26258
26327
  await nextTick();
@@ -31471,7 +31540,7 @@ function createVuetify$1() {
31471
31540
  };
31472
31541
  });
31473
31542
  }
31474
- const version$1 = "3.9.3";
31543
+ const version$1 = "3.9.5";
31475
31544
  createVuetify$1.version = version$1;
31476
31545
 
31477
31546
  // Vue's inject() can only be used in setup
@@ -31496,7 +31565,7 @@ const createVuetify = function () {
31496
31565
  ...options
31497
31566
  });
31498
31567
  };
31499
- const version = "3.9.3";
31568
+ const version = "3.9.5";
31500
31569
  createVuetify.version = version;
31501
31570
 
31502
31571
  export { index as blueprints, components, createVuetify, directives, useDate, useDefaults, useDisplay, useGoTo, useHotkey, useLayout, useLocale, useRtl, useTheme, version };