vuetify 3.3.16 → 3.3.17

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 (76) hide show
  1. package/dist/json/attributes.json +1249 -1257
  2. package/dist/json/importMap.json +4 -4
  3. package/dist/json/tags.json +9 -6
  4. package/dist/json/web-types.json +1728 -1696
  5. package/dist/vuetify-labs.css +166 -132
  6. package/dist/vuetify-labs.d.ts +1425 -1341
  7. package/dist/vuetify-labs.esm.js +93 -59
  8. package/dist/vuetify-labs.esm.js.map +1 -1
  9. package/dist/vuetify-labs.js +93 -59
  10. package/dist/vuetify-labs.min.css +2 -2
  11. package/dist/vuetify.css +98 -99
  12. package/dist/vuetify.d.ts +2 -2
  13. package/dist/vuetify.esm.js +34 -27
  14. package/dist/vuetify.esm.js.map +1 -1
  15. package/dist/vuetify.js +34 -27
  16. package/dist/vuetify.js.map +1 -1
  17. package/dist/vuetify.min.css +2 -2
  18. package/dist/vuetify.min.js +15 -12
  19. package/dist/vuetify.min.js.map +1 -1
  20. package/lib/blueprints/md3.mjs +3 -0
  21. package/lib/blueprints/md3.mjs.map +1 -1
  22. package/lib/components/VApp/VApp.mjs +1 -2
  23. package/lib/components/VApp/VApp.mjs.map +1 -1
  24. package/lib/components/VRangeSlider/VRangeSlider.mjs +2 -2
  25. package/lib/components/VRangeSlider/VRangeSlider.mjs.map +1 -1
  26. package/lib/components/VSelectionControl/VSelectionControl.css +0 -1
  27. package/lib/components/VSelectionControl/VSelectionControl.sass +0 -1
  28. package/lib/components/VSlider/VSlider.mjs +2 -2
  29. package/lib/components/VSlider/VSlider.mjs.map +1 -1
  30. package/lib/components/VTabs/VTabs.mjs +4 -4
  31. package/lib/components/VTabs/VTabs.mjs.map +1 -1
  32. package/lib/components/VTabs/index.d.mts +1 -1
  33. package/lib/components/index.d.mts +1 -1
  34. package/lib/composables/color.mjs +7 -4
  35. package/lib/composables/color.mjs.map +1 -1
  36. package/lib/composables/layout.mjs +1 -1
  37. package/lib/composables/layout.mjs.map +1 -1
  38. package/lib/composables/theme.mjs +0 -11
  39. package/lib/composables/theme.mjs.map +1 -1
  40. package/lib/entry-bundler.mjs +1 -1
  41. package/lib/framework.mjs +1 -1
  42. package/lib/index.d.mts +1 -1
  43. package/lib/labs/VBottomSheet/VBottomSheet.mjs +1 -1
  44. package/lib/labs/VBottomSheet/VBottomSheet.mjs.map +1 -1
  45. package/lib/labs/VBottomSheet/index.d.mts +3 -11
  46. package/lib/labs/VDataTable/composables/select.mjs +1 -1
  47. package/lib/labs/VDataTable/composables/select.mjs.map +1 -1
  48. package/lib/labs/VDatePicker/VDatePicker.mjs +16 -6
  49. package/lib/labs/VDatePicker/VDatePicker.mjs.map +1 -1
  50. package/lib/labs/VDatePicker/VDatePickerControls.css +29 -2
  51. package/lib/labs/VDatePicker/VDatePickerControls.mjs +18 -17
  52. package/lib/labs/VDatePicker/VDatePickerControls.mjs.map +1 -1
  53. package/lib/labs/VDatePicker/VDatePickerControls.sass +30 -2
  54. package/lib/labs/VDatePicker/VDatePickerHeader.css +10 -1
  55. package/lib/labs/VDatePicker/VDatePickerHeader.mjs +12 -4
  56. package/lib/labs/VDatePicker/VDatePickerHeader.mjs.map +1 -1
  57. package/lib/labs/VDatePicker/VDatePickerHeader.sass +11 -1
  58. package/lib/labs/VDatePicker/VDatePickerMonth.mjs +1 -2
  59. package/lib/labs/VDatePicker/VDatePickerMonth.mjs.map +1 -1
  60. package/lib/labs/VDatePicker/VDatePickerYears.mjs +1 -1
  61. package/lib/labs/VDatePicker/VDatePickerYears.mjs.map +1 -1
  62. package/lib/labs/VDatePicker/index.d.mts +184 -101
  63. package/lib/labs/VDateRangePicker/index.d.mts +67 -61
  64. package/lib/labs/VPicker/VPicker.css +0 -1
  65. package/lib/labs/VPicker/VPicker.mjs +16 -5
  66. package/lib/labs/VPicker/VPicker.mjs.map +1 -1
  67. package/lib/labs/VPicker/VPicker.sass +1 -1
  68. package/lib/labs/VPicker/index.d.mts +47 -35
  69. package/lib/labs/components.d.mts +1425 -1341
  70. package/lib/labs/date/adapters/vuetify.mjs +5 -0
  71. package/lib/labs/date/adapters/vuetify.mjs.map +1 -1
  72. package/lib/locale/pl.mjs +14 -14
  73. package/lib/locale/pl.mjs.map +1 -1
  74. package/lib/util/colorUtils.mjs +11 -0
  75. package/lib/util/colorUtils.mjs.map +1 -1
  76. package/package.json +2 -2
package/dist/vuetify.js CHANGED
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * Vuetify v3.3.16
2
+ * Vuetify v3.3.17
3
3
  * Forged by John Leider
4
4
  * Released under the MIT License.
5
5
  */
@@ -1109,6 +1109,17 @@
1109
1109
  function getForeground(color) {
1110
1110
  const blackContrast = Math.abs(APCAcontrast(parseColor(0), parseColor(color)));
1111
1111
  const whiteContrast = Math.abs(APCAcontrast(parseColor(0xffffff), parseColor(color)));
1112
+
1113
+ // TODO: warn about poor color selections
1114
+ // const contrastAsText = Math.abs(APCAcontrast(colorVal, colorToInt(theme.colors.background)))
1115
+ // const minContrast = Math.max(blackContrast, whiteContrast)
1116
+ // if (minContrast < 60) {
1117
+ // consoleInfo(`${key} theme color ${color} has poor contrast (${minContrast.toFixed()}%)`)
1118
+ // } else if (contrastAsText < 60 && !['background', 'surface'].includes(color)) {
1119
+ // consoleInfo(`${key} theme color ${color} has poor contrast as text (${contrastAsText.toFixed()}%)`)
1120
+ // }
1121
+
1122
+ // Prefer white text if both have an acceptable contrast ratio
1112
1123
  return whiteContrast > Math.min(blackContrast, 50) ? '#fff' : '#000';
1113
1124
  }
1114
1125
 
@@ -1702,7 +1713,7 @@
1702
1713
  'v-layout--full-height': props.fullHeight
1703
1714
  }]);
1704
1715
  const layoutStyles = vue.computed(() => ({
1705
- zIndex: rootZIndex.value,
1716
+ zIndex: parentLayout ? rootZIndex.value : undefined,
1706
1717
  position: parentLayout ? 'relative' : undefined,
1707
1718
  overflow: parentLayout ? 'hidden' : undefined
1708
1719
  }));
@@ -2223,17 +2234,6 @@
2223
2234
  if (/^on-[a-z]/.test(color) || theme.colors[`on-${color}`]) continue;
2224
2235
  const onColor = `on-${color}`;
2225
2236
  const colorVal = parseColor(theme.colors[color]);
2226
-
2227
- // TODO: warn about poor color selections
2228
- // const contrastAsText = Math.abs(APCAcontrast(colorVal, colorToInt(theme.colors.background)))
2229
- // const minContrast = Math.max(blackContrast, whiteContrast)
2230
- // if (minContrast < 60) {
2231
- // consoleInfo(`${key} theme color ${color} has poor contrast (${minContrast.toFixed()}%)`)
2232
- // } else if (contrastAsText < 60 && !['background', 'surface'].includes(color)) {
2233
- // consoleInfo(`${key} theme color ${color} has poor contrast as text (${contrastAsText.toFixed()}%)`)
2234
- // }
2235
-
2236
- // Prefer white text if both have an acceptable contrast ratio
2237
2237
  theme.colors[onColor] = getForeground(colorVal);
2238
2238
  }
2239
2239
  }
@@ -2393,7 +2393,6 @@
2393
2393
  const theme = provideTheme(props);
2394
2394
  const {
2395
2395
  layoutClasses,
2396
- layoutStyles,
2397
2396
  getLayoutItem,
2398
2397
  items,
2399
2398
  layoutRef
@@ -2404,7 +2403,7 @@
2404
2403
  useRender(() => vue.createVNode("div", {
2405
2404
  "ref": layoutRef,
2406
2405
  "class": ['v-application', theme.themeClasses.value, layoutClasses.value, rtlClasses.value, props.class],
2407
- "style": [layoutStyles.value, props.style]
2406
+ "style": [props.style]
2408
2407
  }, [vue.createVNode("div", {
2409
2408
  "class": "v-application__wrap"
2410
2409
  }, [slots.default?.()])]));
@@ -3266,9 +3265,12 @@
3266
3265
  if (isCssColor(colors.value.background)) {
3267
3266
  styles.backgroundColor = colors.value.background;
3268
3267
  if (!colors.value.text) {
3269
- const textColor = getForeground(styles.backgroundColor);
3270
- styles.color = textColor;
3271
- styles.caretColor = textColor;
3268
+ const backgroundColor = parseColor(colors.value.background);
3269
+ if (backgroundColor.a == null || backgroundColor.a === 1) {
3270
+ const textColor = getForeground(backgroundColor);
3271
+ styles.color = textColor;
3272
+ styles.caretColor = textColor;
3273
+ }
3272
3274
  }
3273
3275
  } else {
3274
3276
  classes.push(`bg-${colors.value.background}`);
@@ -14132,11 +14134,11 @@
14132
14134
  "focused": isFocused.value
14133
14135
  }), {
14134
14136
  ...slots,
14135
- prepend: hasPrepend ? slotProps => vue.createVNode(vue.Fragment, null, [slots.label?.(slotProps) ?? props.label ? vue.createVNode(VLabel, {
14137
+ prepend: hasPrepend ? slotProps => vue.createVNode(vue.Fragment, null, [slots.label?.(slotProps) ?? (props.label ? vue.createVNode(VLabel, {
14136
14138
  "id": slotProps.id.value,
14137
14139
  "class": "v-slider__label",
14138
14140
  "text": props.label
14139
- }, null) : undefined, slots.prepend?.(slotProps)]) : undefined,
14141
+ }, null) : undefined), slots.prepend?.(slotProps)]) : undefined,
14140
14142
  default: _ref4 => {
14141
14143
  let {
14142
14144
  id,
@@ -17717,10 +17719,10 @@
17717
17719
  "focused": isFocused.value
17718
17720
  }), {
17719
17721
  ...slots,
17720
- prepend: hasPrepend ? slotProps => vue.createVNode(vue.Fragment, null, [slots.label?.(slotProps) ?? props.label ? vue.createVNode(VLabel, {
17722
+ prepend: hasPrepend ? slotProps => vue.createVNode(vue.Fragment, null, [slots.label?.(slotProps) ?? (props.label ? vue.createVNode(VLabel, {
17721
17723
  "class": "v-slider__label",
17722
17724
  "text": props.label
17723
- }, null) : undefined, slots.prepend?.(slotProps)]) : undefined,
17725
+ }, null) : undefined), slots.prepend?.(slotProps)]) : undefined,
17724
17726
  default: _ref4 => {
17725
17727
  let {
17726
17728
  id,
@@ -18805,8 +18807,8 @@
18805
18807
  function parseItems(items) {
18806
18808
  if (!items) return [];
18807
18809
  return items.map(item => {
18808
- if (typeof item === 'string') return {
18809
- title: item,
18810
+ if (!isObject(item)) return {
18811
+ text: item,
18810
18812
  value: item
18811
18813
  };
18812
18814
  return item;
@@ -18884,7 +18886,7 @@
18884
18886
  "symbol": VTabsSymbol
18885
18887
  }), {
18886
18888
  default: () => [slots.default ? slots.default() : parsedItems.value.map(item => vue.createVNode(VTab, vue.mergeProps(item, {
18887
- "key": item.title
18889
+ "key": item.text
18888
18890
  }), null))]
18889
18891
  });
18890
18892
  });
@@ -20106,6 +20108,11 @@
20106
20108
  day: 'numeric'
20107
20109
  };
20108
20110
  break;
20111
+ case 'shortDate':
20112
+ options = {
20113
+ year: 'numeric'
20114
+ };
20115
+ break;
20109
20116
  default:
20110
20117
  options = {
20111
20118
  timeZone: 'UTC',
@@ -20395,7 +20402,7 @@
20395
20402
  date
20396
20403
  };
20397
20404
  }
20398
- const version$1 = "3.3.16";
20405
+ const version$1 = "3.3.17";
20399
20406
  createVuetify$1.version = version$1;
20400
20407
 
20401
20408
  // Vue's inject() can only be used in setup
@@ -20420,7 +20427,7 @@
20420
20427
  ...options
20421
20428
  });
20422
20429
  };
20423
- const version = "3.3.16";
20430
+ const version = "3.3.17";
20424
20431
  createVuetify.version = version;
20425
20432
 
20426
20433
  exports.components = components;