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
package/dist/vuetify.cjs CHANGED
@@ -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
  */
@@ -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, {
@@ -12788,6 +12813,7 @@
12788
12813
  "name": props.name,
12789
12814
  "placeholder": props.placeholder,
12790
12815
  "size": 1,
12816
+ "role": props.role,
12791
12817
  "type": props.type,
12792
12818
  "onFocus": focus,
12793
12819
  "onBlur": blur
@@ -13563,7 +13589,7 @@
13563
13589
  return vue.createVNode(VTextField, vue.mergeProps({
13564
13590
  "ref": vTextFieldRef
13565
13591
  }, textFieldProps, {
13566
- "modelValue": model.value.map(v => v.props.value).join(', '),
13592
+ "modelValue": model.value.map(v => v.props.title).join(', '),
13567
13593
  "onUpdate:modelValue": onModelUpdate,
13568
13594
  "focused": isFocused.value,
13569
13595
  "onUpdate:focused": $event => isFocused.value = $event,
@@ -16222,7 +16248,8 @@
16222
16248
  getColor: (c, v) => ({
16223
16249
  ...c,
16224
16250
  r: Number(v)
16225
- })
16251
+ }),
16252
+ localeKey: 'redInput'
16226
16253
  }, {
16227
16254
  label: 'G',
16228
16255
  max: 255,
@@ -16231,7 +16258,8 @@
16231
16258
  getColor: (c, v) => ({
16232
16259
  ...c,
16233
16260
  g: Number(v)
16234
- })
16261
+ }),
16262
+ localeKey: 'greenInput'
16235
16263
  }, {
16236
16264
  label: 'B',
16237
16265
  max: 255,
@@ -16240,7 +16268,8 @@
16240
16268
  getColor: (c, v) => ({
16241
16269
  ...c,
16242
16270
  b: Number(v)
16243
- })
16271
+ }),
16272
+ localeKey: 'blueInput'
16244
16273
  }, {
16245
16274
  label: 'A',
16246
16275
  max: 1,
@@ -16254,7 +16283,8 @@
16254
16283
  getColor: (c, v) => ({
16255
16284
  ...c,
16256
16285
  a: Number(v)
16257
- })
16286
+ }),
16287
+ localeKey: 'alphaInput'
16258
16288
  }],
16259
16289
  to: HSVtoRGB,
16260
16290
  from: RGBtoHSV
@@ -16276,7 +16306,8 @@
16276
16306
  getColor: (c, v) => ({
16277
16307
  ...c,
16278
16308
  h: Number(v)
16279
- })
16309
+ }),
16310
+ localeKey: 'hueInput'
16280
16311
  }, {
16281
16312
  label: 'S',
16282
16313
  max: 1,
@@ -16285,7 +16316,8 @@
16285
16316
  getColor: (c, v) => ({
16286
16317
  ...c,
16287
16318
  s: Number(v)
16288
- })
16319
+ }),
16320
+ localeKey: 'saturationInput'
16289
16321
  }, {
16290
16322
  label: 'L',
16291
16323
  max: 1,
@@ -16294,7 +16326,8 @@
16294
16326
  getColor: (c, v) => ({
16295
16327
  ...c,
16296
16328
  l: Number(v)
16297
- })
16329
+ }),
16330
+ localeKey: 'lightnessInput'
16298
16331
  }, {
16299
16332
  label: 'A',
16300
16333
  max: 1,
@@ -16308,7 +16341,8 @@
16308
16341
  getColor: (c, v) => ({
16309
16342
  ...c,
16310
16343
  a: Number(v)
16311
- })
16344
+ }),
16345
+ localeKey: 'alphaInput'
16312
16346
  }],
16313
16347
  to: HSVtoHSL,
16314
16348
  from: HSLtoHSV
@@ -16324,7 +16358,8 @@
16324
16358
  inputs: [{
16325
16359
  label: 'HEXA',
16326
16360
  getValue: c => c,
16327
- getColor: (c, v) => v
16361
+ getColor: (c, v) => v,
16362
+ localeKey: 'hexaInput'
16328
16363
  }],
16329
16364
  to: HSVtoHex,
16330
16365
  from: HexToHSV
@@ -16334,7 +16369,8 @@
16334
16369
  inputs: [{
16335
16370
  label: 'HEX',
16336
16371
  getValue: c => c.slice(0, 7),
16337
- getColor: (c, v) => v
16372
+ getColor: (c, v) => v,
16373
+ localeKey: 'hexInput'
16338
16374
  }]
16339
16375
  };
16340
16376
  const modes = {
@@ -16383,6 +16419,9 @@
16383
16419
  let {
16384
16420
  emit
16385
16421
  } = _ref2;
16422
+ const {
16423
+ t
16424
+ } = useLocale();
16386
16425
  const enabledModes = vue.computed(() => {
16387
16426
  return props.modes.map(key => ({
16388
16427
  ...modes[key],
@@ -16397,11 +16436,13 @@
16397
16436
  let {
16398
16437
  getValue,
16399
16438
  getColor,
16439
+ localeKey,
16400
16440
  ...inputProps
16401
16441
  } = _ref3;
16402
16442
  return {
16403
16443
  ...mode.inputProps,
16404
16444
  ...inputProps,
16445
+ ariaLabel: t(`$vuetify.colorPicker.ariaLabel.${localeKey}`),
16405
16446
  disabled: props.disabled,
16406
16447
  value: color && getValue(color),
16407
16448
  onChange: e => {
@@ -16419,6 +16460,7 @@
16419
16460
  "icon": "$unfold",
16420
16461
  "size": "x-small",
16421
16462
  "variant": "plain",
16463
+ "aria-label": t('$vuetify.colorPicker.ariaLabel.changeFormat'),
16422
16464
  "onClick": () => {
16423
16465
  const mi = enabledModes.value.findIndex(m => m.name === props.mode);
16424
16466
  emit('update:mode', enabledModes.value[(mi + 1) % enabledModes.value.length].name);
@@ -17184,6 +17226,9 @@
17184
17226
  let {
17185
17227
  emit
17186
17228
  } = _ref;
17229
+ const {
17230
+ t
17231
+ } = useLocale();
17187
17232
  const abortController = new AbortController();
17188
17233
  vue.onUnmounted(() => abortController.abort());
17189
17234
  async function openEyeDropper() {
@@ -17209,6 +17254,7 @@
17209
17254
  "class": "v-color-picker-preview__eye-dropper",
17210
17255
  "key": "eyeDropper"
17211
17256
  }, [vue.createVNode(VBtn, {
17257
+ "aria-label": t('$vuetify.colorPicker.ariaLabel.eyedropper'),
17212
17258
  "density": "comfortable",
17213
17259
  "disabled": props.disabled,
17214
17260
  "icon": "$eyeDropper",
@@ -17224,6 +17270,7 @@
17224
17270
  "class": "v-color-picker-preview__sliders"
17225
17271
  }, [vue.createVNode(VSlider, {
17226
17272
  "class": "v-color-picker-preview__track v-color-picker-preview__hue",
17273
+ "name": t('$vuetify.colorPicker.ariaLabel.hueSlider'),
17227
17274
  "modelValue": props.color?.h,
17228
17275
  "onUpdate:modelValue": h => emit('update:color', {
17229
17276
  ...(props.color ?? nullColor),
@@ -17239,6 +17286,7 @@
17239
17286
  "hideDetails": true
17240
17287
  }, null), !props.hideAlpha && vue.createVNode(VSlider, {
17241
17288
  "class": "v-color-picker-preview__track v-color-picker-preview__alpha",
17289
+ "name": t('$vuetify.colorPicker.ariaLabel.alphaSlider'),
17242
17290
  "modelValue": props.color?.a ?? 1,
17243
17291
  "onUpdate:modelValue": a => emit('update:color', {
17244
17292
  ...(props.color ?? nullColor),
@@ -21103,11 +21151,16 @@
21103
21151
  if (item.fixed === true) {
21104
21152
  item.fixed = 'start';
21105
21153
  }
21106
- const orderedChildren = side === 'start' ? item.children?.toReversed() : item.children;
21107
21154
  if (item.fixed === side) {
21108
- if (orderedChildren) {
21109
- for (const child of orderedChildren) {
21110
- setFixed(child, side, side);
21155
+ if (item.children) {
21156
+ if (side === 'start') {
21157
+ for (let i = item.children.length - 1; i >= 0; i--) {
21158
+ setFixed(item.children[i], side, side);
21159
+ }
21160
+ } else {
21161
+ for (let i = 0; i < item.children.length; i++) {
21162
+ setFixed(item.children[i], side, side);
21163
+ }
21111
21164
  }
21112
21165
  } else {
21113
21166
  if (!seenFixed && side === 'start') {
@@ -21122,57 +21175,63 @@
21122
21175
  seenFixed = true;
21123
21176
  }
21124
21177
  } else {
21125
- if (orderedChildren) {
21126
- for (const child of orderedChildren) {
21127
- setFixed(child, side);
21178
+ if (item.children) {
21179
+ if (side === 'start') {
21180
+ for (let i = item.children.length - 1; i >= 0; i--) {
21181
+ setFixed(item.children[i], side);
21182
+ }
21183
+ } else {
21184
+ for (let i = 0; i < item.children.length; i++) {
21185
+ setFixed(item.children[i], side);
21186
+ }
21128
21187
  }
21129
21188
  } else {
21130
21189
  seenFixed = false;
21131
21190
  }
21132
21191
  }
21133
21192
  }
21134
- for (const item of items.toReversed()) {
21135
- setFixed(item, 'start');
21193
+ for (let i = items.length - 1; i >= 0; i--) {
21194
+ setFixed(items[i], 'start');
21136
21195
  }
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;
21196
+ for (let i = 0; i < items.length; i++) {
21197
+ setFixed(items[i], 'end');
21153
21198
  }
21154
21199
  let fixedOffset = 0;
21155
- for (const item of items) {
21156
- fixedOffset = setFixedOffset(item, fixedOffset);
21200
+ for (let i = 0; i < items.length; i++) {
21201
+ fixedOffset = setFixedOffset(items[i], fixedOffset);
21157
21202
  }
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;
21203
+ let fixedEndOffset = 0;
21204
+ for (let i = items.length - 1; i >= 0; i--) {
21205
+ fixedEndOffset = setFixedEndOffset(items[i], fixedEndOffset);
21206
+ }
21207
+ }
21208
+ function setFixedOffset(item) {
21209
+ let offset = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 0;
21210
+ if (!item) return offset;
21211
+ if (item.children) {
21212
+ item.fixedOffset = offset;
21213
+ for (const child of item.children) {
21214
+ offset = setFixedOffset(child, offset);
21169
21215
  }
21170
- return offset;
21216
+ } else if (item.fixed && item.fixed !== 'end') {
21217
+ item.fixedOffset = offset;
21218
+ offset += parseFloat(item.width || '0') || 0;
21171
21219
  }
21172
- let fixedEndOffset = 0;
21173
- for (const item of items.toReversed()) {
21174
- fixedEndOffset = setFixedEndOffset(item, fixedEndOffset);
21220
+ return offset;
21221
+ }
21222
+ function setFixedEndOffset(item) {
21223
+ let offset = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 0;
21224
+ if (!item) return offset;
21225
+ if (item.children) {
21226
+ item.fixedEndOffset = offset;
21227
+ for (const child of item.children) {
21228
+ offset = setFixedEndOffset(child, offset);
21229
+ }
21230
+ } else if (item.fixed === 'end') {
21231
+ item.fixedEndOffset = offset;
21232
+ offset += parseFloat(item.width || '0') || 0;
21175
21233
  }
21234
+ return offset;
21176
21235
  }
21177
21236
  function parse(items, maxDepth) {
21178
21237
  const headers = [];
@@ -21874,8 +21933,6 @@
21874
21933
  }
21875
21934
  });
21876
21935
 
21877
- // Types
21878
-
21879
21936
  const makeVTableProps = propsFactory({
21880
21937
  fixedHeader: Boolean,
21881
21938
  fixedFooter: Boolean,
@@ -21905,26 +21962,37 @@
21905
21962
  const {
21906
21963
  densityClasses
21907
21964
  } = 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)
21965
+ useRender(() => {
21966
+ const tableContentDefaults = {
21967
+ VCheckboxBtn: {
21968
+ density: props.density
21925
21969
  }
21926
- }, [vue.createElementVNode("table", null, [slots.default()])]) : slots.wrapper?.(), slots.bottom?.()]
21927
- }));
21970
+ };
21971
+ return vue.createVNode(props.tag, {
21972
+ "class": vue.normalizeClass(['v-table', {
21973
+ 'v-table--fixed-height': !!props.height,
21974
+ 'v-table--fixed-header': props.fixedHeader,
21975
+ 'v-table--fixed-footer': props.fixedFooter,
21976
+ 'v-table--has-top': !!slots.top,
21977
+ 'v-table--has-bottom': !!slots.bottom,
21978
+ 'v-table--hover': props.hover,
21979
+ 'v-table--striped-even': props.striped === 'even',
21980
+ 'v-table--striped-odd': props.striped === 'odd'
21981
+ }, themeClasses.value, densityClasses.value, props.class]),
21982
+ "style": vue.normalizeStyle(props.style)
21983
+ }, {
21984
+ default: () => [slots.top?.(), vue.createVNode(VDefaultsProvider, {
21985
+ "defaults": tableContentDefaults
21986
+ }, {
21987
+ default: () => [slots.default ? vue.createElementVNode("div", {
21988
+ "class": "v-table__wrapper",
21989
+ "style": {
21990
+ height: convertToUnit(props.height)
21991
+ }
21992
+ }, [vue.createElementVNode("table", null, [slots.default()])]) : slots.wrapper?.()]
21993
+ }), slots.bottom?.()]
21994
+ });
21995
+ });
21928
21996
  return {};
21929
21997
  }
21930
21998
  });
@@ -26257,6 +26325,7 @@
26257
26325
  if (['Enter', 'ArrowLeft', 'ArrowRight', 'Backspace', 'Delete', 'Tab'].includes(e.key) || e.ctrlKey) return;
26258
26326
  if (['ArrowDown', 'ArrowUp'].includes(e.key)) {
26259
26327
  e.preventDefault();
26328
+ e.stopPropagation();
26260
26329
  clampModel();
26261
26330
  // _model is controlled, so need to wait until props['modelValue'] is updated
26262
26331
  await vue.nextTick();
@@ -31475,7 +31544,7 @@
31475
31544
  };
31476
31545
  });
31477
31546
  }
31478
- const version$1 = "3.9.3";
31547
+ const version$1 = "3.9.5";
31479
31548
  createVuetify$1.version = version$1;
31480
31549
 
31481
31550
  // Vue's inject() can only be used in setup
@@ -31500,7 +31569,7 @@
31500
31569
  ...options
31501
31570
  });
31502
31571
  };
31503
- const version = "3.9.3";
31572
+ const version = "3.9.5";
31504
31573
  createVuetify.version = version;
31505
31574
 
31506
31575
  exports.blueprints = index;