vuetify 3.9.3 → 3.9.4

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 (220) hide show
  1. package/dist/json/attributes.json +3341 -3329
  2. package/dist/json/importMap-labs.json +12 -12
  3. package/dist/json/importMap.json +192 -192
  4. package/dist/json/tags.json +5 -2
  5. package/dist/json/web-types.json +6346 -6317
  6. package/dist/vuetify-labs.cjs +219 -116
  7. package/dist/vuetify-labs.css +3398 -3353
  8. package/dist/vuetify-labs.d.ts +180 -148
  9. package/dist/vuetify-labs.esm.js +219 -116
  10. package/dist/vuetify-labs.esm.js.map +1 -1
  11. package/dist/vuetify-labs.js +219 -116
  12. package/dist/vuetify-labs.min.css +2 -2
  13. package/dist/vuetify.cjs +161 -93
  14. package/dist/vuetify.cjs.map +1 -1
  15. package/dist/vuetify.css +4301 -4271
  16. package/dist/vuetify.d.ts +63 -76
  17. package/dist/vuetify.esm.js +161 -93
  18. package/dist/vuetify.esm.js.map +1 -1
  19. package/dist/vuetify.js +161 -93
  20. package/dist/vuetify.js.map +1 -1
  21. package/dist/vuetify.min.css +2 -2
  22. package/dist/vuetify.min.js +482 -481
  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/VSlider/VSliderThumb.css +2 -2
  56. package/lib/components/VSlider/VSliderThumb.sass +2 -2
  57. package/lib/components/VStepper/VStepperItem.css +2 -0
  58. package/lib/components/VStepper/VStepperItem.sass +3 -0
  59. package/lib/components/VTable/VTable.css +2 -2
  60. package/lib/components/VTable/VTable.js +32 -20
  61. package/lib/components/VTable/VTable.js.map +1 -1
  62. package/lib/components/VTable/VTable.sass +4 -4
  63. package/lib/components/VTreeview/VTreeviewItem.css +6 -0
  64. package/lib/components/VTreeview/VTreeviewItem.sass +7 -0
  65. package/lib/components/VWindow/VWindow.css +8 -0
  66. package/lib/components/VWindow/VWindow.sass +9 -0
  67. package/lib/entry-bundler.js +1 -1
  68. package/lib/framework.d.ts +62 -62
  69. package/lib/framework.js +1 -1
  70. package/lib/labs/VColorInput/VColorInput.css +15 -0
  71. package/lib/labs/VColorInput/VColorInput.d.ts +287 -215
  72. package/lib/labs/VColorInput/VColorInput.js +23 -8
  73. package/lib/labs/VColorInput/VColorInput.js.map +1 -1
  74. package/lib/labs/VColorInput/VColorInput.sass +8 -0
  75. package/lib/labs/VColorInput/_variables.scss +2 -0
  76. package/lib/labs/VVideo/VVideo.css +4 -4
  77. package/lib/labs/VVideo/VVideo.d.ts +10 -0
  78. package/lib/labs/VVideo/VVideo.js +6 -3
  79. package/lib/labs/VVideo/VVideo.js.map +1 -1
  80. package/lib/labs/VVideo/VVideo.sass +4 -2
  81. package/lib/labs/VVideo/VVideoControls.js +33 -16
  82. package/lib/labs/VVideo/VVideoControls.js.map +1 -1
  83. package/lib/labs/VVideo/VVideoVolume.js +1 -1
  84. package/lib/labs/VVideo/VVideoVolume.js.map +1 -1
  85. package/lib/labs/VVideo/_variables.scss +3 -2
  86. package/lib/labs/rules/rules.d.ts +10 -3
  87. package/lib/labs/rules/rules.js +13 -5
  88. package/lib/labs/rules/rules.js.map +1 -1
  89. package/lib/locale/af.d.ts +17 -0
  90. package/lib/locale/af.js +17 -0
  91. package/lib/locale/af.js.map +1 -1
  92. package/lib/locale/ar.d.ts +17 -0
  93. package/lib/locale/ar.js +17 -0
  94. package/lib/locale/ar.js.map +1 -1
  95. package/lib/locale/az.d.ts +17 -0
  96. package/lib/locale/az.js +17 -0
  97. package/lib/locale/az.js.map +1 -1
  98. package/lib/locale/bg.d.ts +17 -0
  99. package/lib/locale/bg.js +17 -0
  100. package/lib/locale/bg.js.map +1 -1
  101. package/lib/locale/ca.d.ts +17 -0
  102. package/lib/locale/ca.js +17 -0
  103. package/lib/locale/ca.js.map +1 -1
  104. package/lib/locale/ckb.d.ts +17 -0
  105. package/lib/locale/ckb.js +17 -0
  106. package/lib/locale/ckb.js.map +1 -1
  107. package/lib/locale/cs.d.ts +17 -0
  108. package/lib/locale/cs.js +17 -0
  109. package/lib/locale/cs.js.map +1 -1
  110. package/lib/locale/da.d.ts +17 -0
  111. package/lib/locale/da.js +17 -0
  112. package/lib/locale/da.js.map +1 -1
  113. package/lib/locale/de.d.ts +17 -0
  114. package/lib/locale/de.js +17 -0
  115. package/lib/locale/de.js.map +1 -1
  116. package/lib/locale/el.d.ts +17 -0
  117. package/lib/locale/el.js +17 -0
  118. package/lib/locale/el.js.map +1 -1
  119. package/lib/locale/en.d.ts +17 -0
  120. package/lib/locale/en.js +17 -0
  121. package/lib/locale/en.js.map +1 -1
  122. package/lib/locale/es.d.ts +17 -0
  123. package/lib/locale/es.js +17 -0
  124. package/lib/locale/es.js.map +1 -1
  125. package/lib/locale/et.d.ts +17 -0
  126. package/lib/locale/et.js +17 -0
  127. package/lib/locale/et.js.map +1 -1
  128. package/lib/locale/fa.d.ts +17 -0
  129. package/lib/locale/fa.js +17 -0
  130. package/lib/locale/fa.js.map +1 -1
  131. package/lib/locale/fi.d.ts +17 -0
  132. package/lib/locale/fi.js +17 -0
  133. package/lib/locale/fi.js.map +1 -1
  134. package/lib/locale/fr.d.ts +17 -0
  135. package/lib/locale/fr.js +17 -0
  136. package/lib/locale/fr.js.map +1 -1
  137. package/lib/locale/he.d.ts +17 -0
  138. package/lib/locale/he.js +17 -0
  139. package/lib/locale/he.js.map +1 -1
  140. package/lib/locale/hr.d.ts +17 -0
  141. package/lib/locale/hr.js +17 -0
  142. package/lib/locale/hr.js.map +1 -1
  143. package/lib/locale/hu.d.ts +17 -0
  144. package/lib/locale/hu.js +17 -0
  145. package/lib/locale/hu.js.map +1 -1
  146. package/lib/locale/id.d.ts +17 -0
  147. package/lib/locale/id.js +17 -0
  148. package/lib/locale/id.js.map +1 -1
  149. package/lib/locale/it.d.ts +17 -0
  150. package/lib/locale/it.js +17 -0
  151. package/lib/locale/it.js.map +1 -1
  152. package/lib/locale/ja.d.ts +17 -0
  153. package/lib/locale/ja.js +17 -0
  154. package/lib/locale/ja.js.map +1 -1
  155. package/lib/locale/km.d.ts +17 -0
  156. package/lib/locale/km.js +17 -0
  157. package/lib/locale/km.js.map +1 -1
  158. package/lib/locale/ko.d.ts +17 -0
  159. package/lib/locale/ko.js +17 -0
  160. package/lib/locale/ko.js.map +1 -1
  161. package/lib/locale/lt.d.ts +17 -0
  162. package/lib/locale/lt.js +17 -0
  163. package/lib/locale/lt.js.map +1 -1
  164. package/lib/locale/lv.d.ts +17 -0
  165. package/lib/locale/lv.js +17 -0
  166. package/lib/locale/lv.js.map +1 -1
  167. package/lib/locale/nl.d.ts +17 -0
  168. package/lib/locale/nl.js +17 -0
  169. package/lib/locale/nl.js.map +1 -1
  170. package/lib/locale/no.d.ts +17 -0
  171. package/lib/locale/no.js +17 -0
  172. package/lib/locale/no.js.map +1 -1
  173. package/lib/locale/pl.d.ts +17 -0
  174. package/lib/locale/pl.js +17 -0
  175. package/lib/locale/pl.js.map +1 -1
  176. package/lib/locale/pt.d.ts +17 -0
  177. package/lib/locale/pt.js +17 -0
  178. package/lib/locale/pt.js.map +1 -1
  179. package/lib/locale/ro.d.ts +17 -0
  180. package/lib/locale/ro.js +17 -0
  181. package/lib/locale/ro.js.map +1 -1
  182. package/lib/locale/ru.d.ts +17 -0
  183. package/lib/locale/ru.js +17 -0
  184. package/lib/locale/ru.js.map +1 -1
  185. package/lib/locale/sk.d.ts +17 -0
  186. package/lib/locale/sk.js +17 -0
  187. package/lib/locale/sk.js.map +1 -1
  188. package/lib/locale/sl.d.ts +17 -0
  189. package/lib/locale/sl.js +17 -0
  190. package/lib/locale/sl.js.map +1 -1
  191. package/lib/locale/sr-Cyrl.d.ts +17 -0
  192. package/lib/locale/sr-Cyrl.js +17 -0
  193. package/lib/locale/sr-Cyrl.js.map +1 -1
  194. package/lib/locale/sr-Latn.d.ts +17 -0
  195. package/lib/locale/sr-Latn.js +17 -0
  196. package/lib/locale/sr-Latn.js.map +1 -1
  197. package/lib/locale/sv.d.ts +17 -0
  198. package/lib/locale/sv.js +17 -0
  199. package/lib/locale/sv.js.map +1 -1
  200. package/lib/locale/th.d.ts +17 -0
  201. package/lib/locale/th.js +17 -0
  202. package/lib/locale/th.js.map +1 -1
  203. package/lib/locale/tr.d.ts +17 -0
  204. package/lib/locale/tr.js +17 -0
  205. package/lib/locale/tr.js.map +1 -1
  206. package/lib/locale/uk.d.ts +17 -0
  207. package/lib/locale/uk.js +17 -0
  208. package/lib/locale/uk.js.map +1 -1
  209. package/lib/locale/vi.d.ts +17 -0
  210. package/lib/locale/vi.js +17 -0
  211. package/lib/locale/vi.js.map +1 -1
  212. package/lib/locale/zh-Hans.d.ts +17 -0
  213. package/lib/locale/zh-Hans.js +17 -0
  214. package/lib/locale/zh-Hans.js.map +1 -1
  215. package/lib/locale/zh-Hant.d.ts +17 -0
  216. package/lib/locale/zh-Hant.js +17 -0
  217. package/lib/locale/zh-Hant.js.map +1 -1
  218. package/lib/util/getScrollParent.js +3 -1
  219. package/lib/util/getScrollParent.js.map +1 -1
  220. package/package.json +2 -2
package/dist/vuetify.js CHANGED
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * Vuetify v3.9.3
2
+ * Vuetify v3.9.4
3
3
  * Forged by John Leider
4
4
  * Released under the MIT License.
5
5
  */
@@ -1613,7 +1613,9 @@
1613
1613
  function hasScrollbar(el) {
1614
1614
  if (!el || el.nodeType !== Node.ELEMENT_NODE) return false;
1615
1615
  const style = window.getComputedStyle(el);
1616
- return style.overflowY === 'scroll' || style.overflowY === 'auto' && el.scrollHeight > el.clientHeight;
1616
+ const hasVerticalScrollbar = style.overflowY === 'scroll' || style.overflowY === 'auto' && el.scrollHeight > el.clientHeight;
1617
+ const hasHorizontalScrollbar = style.overflowX === 'scroll' || style.overflowX === 'auto' && el.scrollWidth > el.clientWidth;
1618
+ return hasVerticalScrollbar || hasHorizontalScrollbar;
1617
1619
  }
1618
1620
  function isPotentiallyScrollable(el) {
1619
1621
  if (!el || el.nodeType !== Node.ELEMENT_NODE) return false;
@@ -2725,6 +2727,23 @@
2725
2727
  unmute: 'Unmute',
2726
2728
  enterFullscreen: 'Full screen',
2727
2729
  exitFullscreen: 'Exit full screen'
2730
+ },
2731
+ colorPicker: {
2732
+ ariaLabel: {
2733
+ eyedropper: 'Select color with eyedropper',
2734
+ hueSlider: 'Hue',
2735
+ alphaSlider: 'Alpha',
2736
+ redInput: 'Red value',
2737
+ greenInput: 'Green value',
2738
+ blueInput: 'Blue value',
2739
+ alphaInput: 'Alpha value',
2740
+ hueInput: 'Hue value',
2741
+ saturationInput: 'Saturation value',
2742
+ lightnessInput: 'Lightness value',
2743
+ hexInput: 'HEX value',
2744
+ hexaInput: 'HEX with alpha value',
2745
+ changeFormat: 'Change color format'
2746
+ }
2728
2747
  }
2729
2748
  };
2730
2749
 
@@ -3323,9 +3342,7 @@
3323
3342
 
3324
3343
  const makeVAppProps = propsFactory({
3325
3344
  ...makeComponentProps(),
3326
- ...makeLayoutProps({
3327
- fullHeight: true
3328
- }),
3345
+ ...omit(makeLayoutProps(), ['fullHeight']),
3329
3346
  ...makeThemeProps()
3330
3347
  }, 'VApp');
3331
3348
  const VApp = genericComponent()({
@@ -3341,7 +3358,10 @@
3341
3358
  getLayoutItem,
3342
3359
  items,
3343
3360
  layoutRef
3344
- } = createLayout(props);
3361
+ } = createLayout({
3362
+ ...props,
3363
+ fullHeight: true
3364
+ });
3345
3365
  const {
3346
3366
  rtlClasses
3347
3367
  } = useRtl();
@@ -6486,7 +6506,7 @@
6486
6506
  });
6487
6507
  const {
6488
6508
  iconSize
6489
- } = useIconSizes(props, () => props.prominent ? 44 : 28);
6509
+ } = useIconSizes(props, () => props.prominent ? 44 : undefined);
6490
6510
  const {
6491
6511
  themeClasses
6492
6512
  } = provideTheme(props);
@@ -6537,7 +6557,7 @@
6537
6557
  const iconProps = {
6538
6558
  density: props.density,
6539
6559
  icon: icon.value,
6540
- size: iconSize.value
6560
+ size: props.iconSize || props.prominent ? iconSize.value : undefined
6541
6561
  };
6542
6562
  return isActive.value && vue.createVNode(props.tag, {
6543
6563
  "class": vue.normalizeClass(['v-alert', props.border && {
@@ -7320,9 +7340,14 @@
7320
7340
  // Utilities
7321
7341
  const RulesSymbol = Symbol.for('vuetify:rules');
7322
7342
  function useRules(fn) {
7323
- const resolveRules = vue.inject(RulesSymbol, null);
7324
- if (!resolveRules) return vue.toRef(fn);
7325
- return resolveRules(fn);
7343
+ const rules = vue.inject(RulesSymbol, null);
7344
+ if (!fn) {
7345
+ if (!rules) {
7346
+ throw new Error('Could not find Vuetify rules injection');
7347
+ }
7348
+ return rules.aliases;
7349
+ }
7350
+ return rules?.resolve(fn) ?? vue.toRef(fn);
7326
7351
  }
7327
7352
 
7328
7353
  // Composables
@@ -11148,11 +11173,11 @@
11148
11173
  function onScroll(e) {
11149
11174
  data.isActive.value = false;
11150
11175
  }
11151
- bindScroll(data.target.value ?? data.contentEl.value, onScroll);
11176
+ bindScroll(getTargetEl(data.target.value, data.contentEl.value), onScroll);
11152
11177
  }
11153
11178
  function blockScrollStrategy(data, props) {
11154
11179
  const offsetParent = data.root.value?.offsetParent;
11155
- const target = Array.isArray(data.target.value) ? document.elementFromPoint(...data.target.value) : data.target.value;
11180
+ const target = getTargetEl(data.target.value, data.contentEl.value);
11156
11181
  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'));
11157
11182
  const scrollbarWidth = window.innerWidth - document.documentElement.offsetWidth;
11158
11183
  const scrollableParent = (el => hasScrollbar(el) && el)(offsetParent || document.documentElement);
@@ -11200,7 +11225,7 @@
11200
11225
  }
11201
11226
  ric = (typeof requestIdleCallback === 'undefined' ? cb => cb() : requestIdleCallback)(() => {
11202
11227
  scope.run(() => {
11203
- bindScroll(data.target.value ?? data.contentEl.value, e => {
11228
+ bindScroll(getTargetEl(data.target.value, data.contentEl.value), e => {
11204
11229
  if (slow) {
11205
11230
  // If the position calculation is slow,
11206
11231
  // defer updates until scrolling is finished.
@@ -11223,10 +11248,10 @@
11223
11248
  cancelAnimationFrame(raf);
11224
11249
  });
11225
11250
  }
11226
-
11227
- /** @private */
11228
- function bindScroll(target, onScroll) {
11229
- const el = Array.isArray(target) ? document.elementFromPoint(...target) : target;
11251
+ function getTargetEl(target, contentEl) {
11252
+ return Array.isArray(target) ? document.elementsFromPoint(...target).find(el => !contentEl?.contains(el)) : target ?? contentEl;
11253
+ }
11254
+ function bindScroll(el, onScroll) {
11230
11255
  const scrollElements = [document, ...getScrollParents(el)];
11231
11256
  scrollElements.forEach(el => {
11232
11257
  el.addEventListener('scroll', onScroll, {
@@ -16222,7 +16247,8 @@
16222
16247
  getColor: (c, v) => ({
16223
16248
  ...c,
16224
16249
  r: Number(v)
16225
- })
16250
+ }),
16251
+ localeKey: 'redInput'
16226
16252
  }, {
16227
16253
  label: 'G',
16228
16254
  max: 255,
@@ -16231,7 +16257,8 @@
16231
16257
  getColor: (c, v) => ({
16232
16258
  ...c,
16233
16259
  g: Number(v)
16234
- })
16260
+ }),
16261
+ localeKey: 'greenInput'
16235
16262
  }, {
16236
16263
  label: 'B',
16237
16264
  max: 255,
@@ -16240,7 +16267,8 @@
16240
16267
  getColor: (c, v) => ({
16241
16268
  ...c,
16242
16269
  b: Number(v)
16243
- })
16270
+ }),
16271
+ localeKey: 'blueInput'
16244
16272
  }, {
16245
16273
  label: 'A',
16246
16274
  max: 1,
@@ -16254,7 +16282,8 @@
16254
16282
  getColor: (c, v) => ({
16255
16283
  ...c,
16256
16284
  a: Number(v)
16257
- })
16285
+ }),
16286
+ localeKey: 'alphaInput'
16258
16287
  }],
16259
16288
  to: HSVtoRGB,
16260
16289
  from: RGBtoHSV
@@ -16276,7 +16305,8 @@
16276
16305
  getColor: (c, v) => ({
16277
16306
  ...c,
16278
16307
  h: Number(v)
16279
- })
16308
+ }),
16309
+ localeKey: 'hueInput'
16280
16310
  }, {
16281
16311
  label: 'S',
16282
16312
  max: 1,
@@ -16285,7 +16315,8 @@
16285
16315
  getColor: (c, v) => ({
16286
16316
  ...c,
16287
16317
  s: Number(v)
16288
- })
16318
+ }),
16319
+ localeKey: 'saturationInput'
16289
16320
  }, {
16290
16321
  label: 'L',
16291
16322
  max: 1,
@@ -16294,7 +16325,8 @@
16294
16325
  getColor: (c, v) => ({
16295
16326
  ...c,
16296
16327
  l: Number(v)
16297
- })
16328
+ }),
16329
+ localeKey: 'lightnessInput'
16298
16330
  }, {
16299
16331
  label: 'A',
16300
16332
  max: 1,
@@ -16308,7 +16340,8 @@
16308
16340
  getColor: (c, v) => ({
16309
16341
  ...c,
16310
16342
  a: Number(v)
16311
- })
16343
+ }),
16344
+ localeKey: 'alphaInput'
16312
16345
  }],
16313
16346
  to: HSVtoHSL,
16314
16347
  from: HSLtoHSV
@@ -16324,7 +16357,8 @@
16324
16357
  inputs: [{
16325
16358
  label: 'HEXA',
16326
16359
  getValue: c => c,
16327
- getColor: (c, v) => v
16360
+ getColor: (c, v) => v,
16361
+ localeKey: 'hexaInput'
16328
16362
  }],
16329
16363
  to: HSVtoHex,
16330
16364
  from: HexToHSV
@@ -16334,7 +16368,8 @@
16334
16368
  inputs: [{
16335
16369
  label: 'HEX',
16336
16370
  getValue: c => c.slice(0, 7),
16337
- getColor: (c, v) => v
16371
+ getColor: (c, v) => v,
16372
+ localeKey: 'hexInput'
16338
16373
  }]
16339
16374
  };
16340
16375
  const modes = {
@@ -16383,6 +16418,9 @@
16383
16418
  let {
16384
16419
  emit
16385
16420
  } = _ref2;
16421
+ const {
16422
+ t
16423
+ } = useLocale();
16386
16424
  const enabledModes = vue.computed(() => {
16387
16425
  return props.modes.map(key => ({
16388
16426
  ...modes[key],
@@ -16397,11 +16435,13 @@
16397
16435
  let {
16398
16436
  getValue,
16399
16437
  getColor,
16438
+ localeKey,
16400
16439
  ...inputProps
16401
16440
  } = _ref3;
16402
16441
  return {
16403
16442
  ...mode.inputProps,
16404
16443
  ...inputProps,
16444
+ ariaLabel: t(`$vuetify.colorPicker.ariaLabel.${localeKey}`),
16405
16445
  disabled: props.disabled,
16406
16446
  value: color && getValue(color),
16407
16447
  onChange: e => {
@@ -16419,6 +16459,7 @@
16419
16459
  "icon": "$unfold",
16420
16460
  "size": "x-small",
16421
16461
  "variant": "plain",
16462
+ "aria-label": t('$vuetify.colorPicker.ariaLabel.changeFormat'),
16422
16463
  "onClick": () => {
16423
16464
  const mi = enabledModes.value.findIndex(m => m.name === props.mode);
16424
16465
  emit('update:mode', enabledModes.value[(mi + 1) % enabledModes.value.length].name);
@@ -17184,6 +17225,9 @@
17184
17225
  let {
17185
17226
  emit
17186
17227
  } = _ref;
17228
+ const {
17229
+ t
17230
+ } = useLocale();
17187
17231
  const abortController = new AbortController();
17188
17232
  vue.onUnmounted(() => abortController.abort());
17189
17233
  async function openEyeDropper() {
@@ -17209,6 +17253,7 @@
17209
17253
  "class": "v-color-picker-preview__eye-dropper",
17210
17254
  "key": "eyeDropper"
17211
17255
  }, [vue.createVNode(VBtn, {
17256
+ "aria-label": t('$vuetify.colorPicker.ariaLabel.eyedropper'),
17212
17257
  "density": "comfortable",
17213
17258
  "disabled": props.disabled,
17214
17259
  "icon": "$eyeDropper",
@@ -17224,6 +17269,7 @@
17224
17269
  "class": "v-color-picker-preview__sliders"
17225
17270
  }, [vue.createVNode(VSlider, {
17226
17271
  "class": "v-color-picker-preview__track v-color-picker-preview__hue",
17272
+ "name": t('$vuetify.colorPicker.ariaLabel.hueSlider'),
17227
17273
  "modelValue": props.color?.h,
17228
17274
  "onUpdate:modelValue": h => emit('update:color', {
17229
17275
  ...(props.color ?? nullColor),
@@ -17239,6 +17285,7 @@
17239
17285
  "hideDetails": true
17240
17286
  }, null), !props.hideAlpha && vue.createVNode(VSlider, {
17241
17287
  "class": "v-color-picker-preview__track v-color-picker-preview__alpha",
17288
+ "name": t('$vuetify.colorPicker.ariaLabel.alphaSlider'),
17242
17289
  "modelValue": props.color?.a ?? 1,
17243
17290
  "onUpdate:modelValue": a => emit('update:color', {
17244
17291
  ...(props.color ?? nullColor),
@@ -21103,11 +21150,16 @@
21103
21150
  if (item.fixed === true) {
21104
21151
  item.fixed = 'start';
21105
21152
  }
21106
- const orderedChildren = side === 'start' ? item.children?.toReversed() : item.children;
21107
21153
  if (item.fixed === side) {
21108
- if (orderedChildren) {
21109
- for (const child of orderedChildren) {
21110
- setFixed(child, side, side);
21154
+ if (item.children) {
21155
+ if (side === 'start') {
21156
+ for (let i = item.children.length - 1; i >= 0; i--) {
21157
+ setFixed(item.children[i], side, side);
21158
+ }
21159
+ } else {
21160
+ for (let i = 0; i < item.children.length; i++) {
21161
+ setFixed(item.children[i], side, side);
21162
+ }
21111
21163
  }
21112
21164
  } else {
21113
21165
  if (!seenFixed && side === 'start') {
@@ -21122,57 +21174,63 @@
21122
21174
  seenFixed = true;
21123
21175
  }
21124
21176
  } else {
21125
- if (orderedChildren) {
21126
- for (const child of orderedChildren) {
21127
- setFixed(child, side);
21177
+ if (item.children) {
21178
+ if (side === 'start') {
21179
+ for (let i = item.children.length - 1; i >= 0; i--) {
21180
+ setFixed(item.children[i], side);
21181
+ }
21182
+ } else {
21183
+ for (let i = 0; i < item.children.length; i++) {
21184
+ setFixed(item.children[i], side);
21185
+ }
21128
21186
  }
21129
21187
  } else {
21130
21188
  seenFixed = false;
21131
21189
  }
21132
21190
  }
21133
21191
  }
21134
- for (const item of items.toReversed()) {
21135
- setFixed(item, 'start');
21192
+ for (let i = items.length - 1; i >= 0; i--) {
21193
+ setFixed(items[i], 'start');
21136
21194
  }
21137
- for (const item of items) {
21138
- setFixed(item, 'end');
21139
- }
21140
- function setFixedOffset(item) {
21141
- let offset = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 0;
21142
- if (!item) return offset;
21143
- if (item.children) {
21144
- item.fixedOffset = offset;
21145
- for (const child of item.children) {
21146
- offset = setFixedOffset(child, offset);
21147
- }
21148
- } else if (item.fixed && item.fixed !== 'end') {
21149
- item.fixedOffset = offset;
21150
- offset += parseFloat(item.width || '0') || 0;
21151
- }
21152
- return offset;
21195
+ for (let i = 0; i < items.length; i++) {
21196
+ setFixed(items[i], 'end');
21153
21197
  }
21154
21198
  let fixedOffset = 0;
21155
- for (const item of items) {
21156
- fixedOffset = setFixedOffset(item, fixedOffset);
21199
+ for (let i = 0; i < items.length; i++) {
21200
+ fixedOffset = setFixedOffset(items[i], fixedOffset);
21157
21201
  }
21158
- function setFixedEndOffset(item) {
21159
- let offset = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 0;
21160
- if (!item) return offset;
21161
- if (item.children) {
21162
- item.fixedEndOffset = offset;
21163
- for (const child of item.children) {
21164
- offset = setFixedEndOffset(child, offset);
21165
- }
21166
- } else if (item.fixed === 'end') {
21167
- item.fixedEndOffset = offset;
21168
- offset += parseFloat(item.width || '0') || 0;
21202
+ let fixedEndOffset = 0;
21203
+ for (let i = items.length - 1; i >= 0; i--) {
21204
+ fixedEndOffset = setFixedEndOffset(items[i], fixedEndOffset);
21205
+ }
21206
+ }
21207
+ function setFixedOffset(item) {
21208
+ let offset = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 0;
21209
+ if (!item) return offset;
21210
+ if (item.children) {
21211
+ item.fixedOffset = offset;
21212
+ for (const child of item.children) {
21213
+ offset = setFixedOffset(child, offset);
21169
21214
  }
21170
- return offset;
21215
+ } else if (item.fixed && item.fixed !== 'end') {
21216
+ item.fixedOffset = offset;
21217
+ offset += parseFloat(item.width || '0') || 0;
21171
21218
  }
21172
- let fixedEndOffset = 0;
21173
- for (const item of items.toReversed()) {
21174
- fixedEndOffset = setFixedEndOffset(item, fixedEndOffset);
21219
+ return offset;
21220
+ }
21221
+ function setFixedEndOffset(item) {
21222
+ let offset = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 0;
21223
+ if (!item) return offset;
21224
+ if (item.children) {
21225
+ item.fixedEndOffset = offset;
21226
+ for (const child of item.children) {
21227
+ offset = setFixedEndOffset(child, offset);
21228
+ }
21229
+ } else if (item.fixed === 'end') {
21230
+ item.fixedEndOffset = offset;
21231
+ offset += parseFloat(item.width || '0') || 0;
21175
21232
  }
21233
+ return offset;
21176
21234
  }
21177
21235
  function parse(items, maxDepth) {
21178
21236
  const headers = [];
@@ -21874,8 +21932,6 @@
21874
21932
  }
21875
21933
  });
21876
21934
 
21877
- // Types
21878
-
21879
21935
  const makeVTableProps = propsFactory({
21880
21936
  fixedHeader: Boolean,
21881
21937
  fixedFooter: Boolean,
@@ -21905,26 +21961,37 @@
21905
21961
  const {
21906
21962
  densityClasses
21907
21963
  } = useDensity(props);
21908
- useRender(() => vue.createVNode(props.tag, {
21909
- "class": vue.normalizeClass(['v-table', {
21910
- 'v-table--fixed-height': !!props.height,
21911
- 'v-table--fixed-header': props.fixedHeader,
21912
- 'v-table--fixed-footer': props.fixedFooter,
21913
- 'v-table--has-top': !!slots.top,
21914
- 'v-table--has-bottom': !!slots.bottom,
21915
- 'v-table--hover': props.hover,
21916
- 'v-table--striped-even': props.striped === 'even',
21917
- 'v-table--striped-odd': props.striped === 'odd'
21918
- }, themeClasses.value, densityClasses.value, props.class]),
21919
- "style": vue.normalizeStyle(props.style)
21920
- }, {
21921
- default: () => [slots.top?.(), slots.default ? vue.createElementVNode("div", {
21922
- "class": "v-table__wrapper",
21923
- "style": {
21924
- height: convertToUnit(props.height)
21964
+ useRender(() => {
21965
+ const tableContentDefaults = {
21966
+ VCheckboxBtn: {
21967
+ density: props.density
21925
21968
  }
21926
- }, [vue.createElementVNode("table", null, [slots.default()])]) : slots.wrapper?.(), slots.bottom?.()]
21927
- }));
21969
+ };
21970
+ return vue.createVNode(props.tag, {
21971
+ "class": vue.normalizeClass(['v-table', {
21972
+ 'v-table--fixed-height': !!props.height,
21973
+ 'v-table--fixed-header': props.fixedHeader,
21974
+ 'v-table--fixed-footer': props.fixedFooter,
21975
+ 'v-table--has-top': !!slots.top,
21976
+ 'v-table--has-bottom': !!slots.bottom,
21977
+ 'v-table--hover': props.hover,
21978
+ 'v-table--striped-even': props.striped === 'even',
21979
+ 'v-table--striped-odd': props.striped === 'odd'
21980
+ }, themeClasses.value, densityClasses.value, props.class]),
21981
+ "style": vue.normalizeStyle(props.style)
21982
+ }, {
21983
+ default: () => [slots.top?.(), vue.createVNode(VDefaultsProvider, {
21984
+ "defaults": tableContentDefaults
21985
+ }, {
21986
+ default: () => [slots.default ? vue.createElementVNode("div", {
21987
+ "class": "v-table__wrapper",
21988
+ "style": {
21989
+ height: convertToUnit(props.height)
21990
+ }
21991
+ }, [vue.createElementVNode("table", null, [slots.default()])]) : slots.wrapper?.()]
21992
+ }), slots.bottom?.()]
21993
+ });
21994
+ });
21928
21995
  return {};
21929
21996
  }
21930
21997
  });
@@ -26257,6 +26324,7 @@
26257
26324
  if (['Enter', 'ArrowLeft', 'ArrowRight', 'Backspace', 'Delete', 'Tab'].includes(e.key) || e.ctrlKey) return;
26258
26325
  if (['ArrowDown', 'ArrowUp'].includes(e.key)) {
26259
26326
  e.preventDefault();
26327
+ e.stopPropagation();
26260
26328
  clampModel();
26261
26329
  // _model is controlled, so need to wait until props['modelValue'] is updated
26262
26330
  await vue.nextTick();
@@ -31475,7 +31543,7 @@
31475
31543
  };
31476
31544
  });
31477
31545
  }
31478
- const version$1 = "3.9.3";
31546
+ const version$1 = "3.9.4";
31479
31547
  createVuetify$1.version = version$1;
31480
31548
 
31481
31549
  // Vue's inject() can only be used in setup
@@ -31500,7 +31568,7 @@
31500
31568
  ...options
31501
31569
  });
31502
31570
  };
31503
- const version = "3.9.3";
31571
+ const version = "3.9.4";
31504
31572
  createVuetify.version = version;
31505
31573
 
31506
31574
  exports.blueprints = index;