vuetify 3.3.22 → 3.3.23

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 (39) hide show
  1. package/dist/json/attributes.json +24 -24
  2. package/dist/json/importMap.json +60 -60
  3. package/dist/json/web-types.json +25 -25
  4. package/dist/vuetify-labs.css +4611 -4610
  5. package/dist/vuetify-labs.esm.js +57 -35
  6. package/dist/vuetify-labs.esm.js.map +1 -1
  7. package/dist/vuetify-labs.js +56 -34
  8. package/dist/vuetify-labs.min.css +2 -2
  9. package/dist/vuetify.css +5609 -5608
  10. package/dist/vuetify.d.ts +16 -16
  11. package/dist/vuetify.esm.js +57 -35
  12. package/dist/vuetify.esm.js.map +1 -1
  13. package/dist/vuetify.js +56 -34
  14. package/dist/vuetify.js.map +1 -1
  15. package/dist/vuetify.min.css +2 -2
  16. package/dist/vuetify.min.js +749 -749
  17. package/dist/vuetify.min.js.map +1 -1
  18. package/lib/components/VAutocomplete/VAutocomplete.mjs +13 -10
  19. package/lib/components/VAutocomplete/VAutocomplete.mjs.map +1 -1
  20. package/lib/components/VCombobox/VCombobox.mjs +13 -10
  21. package/lib/components/VCombobox/VCombobox.mjs.map +1 -1
  22. package/lib/components/VNavigationDrawer/VNavigationDrawer.css +1 -0
  23. package/lib/components/VNavigationDrawer/VNavigationDrawer.sass +1 -0
  24. package/lib/components/VSelect/VSelect.mjs +13 -10
  25. package/lib/components/VSelect/VSelect.mjs.map +1 -1
  26. package/lib/composables/color.mjs +2 -2
  27. package/lib/composables/color.mjs.map +1 -1
  28. package/lib/entry-bundler.mjs +1 -1
  29. package/lib/framework.mjs +1 -1
  30. package/lib/index.d.mts +16 -16
  31. package/lib/labs/date/adapters/vuetify.mjs +6 -3
  32. package/lib/labs/date/adapters/vuetify.mjs.map +1 -1
  33. package/lib/locale/fr.mjs +19 -19
  34. package/lib/locale/fr.mjs.map +1 -1
  35. package/lib/util/colorUtils.mjs +3 -0
  36. package/lib/util/colorUtils.mjs.map +1 -1
  37. package/lib/util/helpers.mjs +8 -1
  38. package/lib/util/helpers.mjs.map +1 -1
  39. package/package.json +2 -2
package/dist/vuetify.d.ts CHANGED
@@ -60611,18 +60611,6 @@ declare module '@vue/runtime-core' {
60611
60611
  }
60612
60612
 
60613
60613
  export interface GlobalComponents {
60614
- VSystemBar: typeof import('vuetify/components')['VSystemBar']
60615
- VTabs: typeof import('vuetify/components')['VTabs']
60616
- VTab: typeof import('vuetify/components')['VTab']
60617
- VTable: typeof import('vuetify/components')['VTable']
60618
- VTextarea: typeof import('vuetify/components')['VTextarea']
60619
- VTextField: typeof import('vuetify/components')['VTextField']
60620
- VTimeline: typeof import('vuetify/components')['VTimeline']
60621
- VTimelineItem: typeof import('vuetify/components')['VTimelineItem']
60622
- VToolbar: typeof import('vuetify/components')['VToolbar']
60623
- VToolbarTitle: typeof import('vuetify/components')['VToolbarTitle']
60624
- VToolbarItems: typeof import('vuetify/components')['VToolbarItems']
60625
- VTooltip: typeof import('vuetify/components')['VTooltip']
60626
60614
  VApp: typeof import('vuetify/components')['VApp']
60627
60615
  VAppBar: typeof import('vuetify/components')['VAppBar']
60628
60616
  VAppBarNavIcon: typeof import('vuetify/components')['VAppBarNavIcon']
@@ -60632,6 +60620,9 @@ declare module '@vue/runtime-core' {
60632
60620
  VAutocomplete: typeof import('vuetify/components')['VAutocomplete']
60633
60621
  VAvatar: typeof import('vuetify/components')['VAvatar']
60634
60622
  VBadge: typeof import('vuetify/components')['VBadge']
60623
+ VBanner: typeof import('vuetify/components')['VBanner']
60624
+ VBannerActions: typeof import('vuetify/components')['VBannerActions']
60625
+ VBannerText: typeof import('vuetify/components')['VBannerText']
60635
60626
  VBottomNavigation: typeof import('vuetify/components')['VBottomNavigation']
60636
60627
  VBreadcrumbs: typeof import('vuetify/components')['VBreadcrumbs']
60637
60628
  VBreadcrumbsItem: typeof import('vuetify/components')['VBreadcrumbsItem']
@@ -60704,12 +60695,20 @@ declare module '@vue/runtime-core' {
60704
60695
  VSlider: typeof import('vuetify/components')['VSlider']
60705
60696
  VSnackbar: typeof import('vuetify/components')['VSnackbar']
60706
60697
  VSwitch: typeof import('vuetify/components')['VSwitch']
60698
+ VSystemBar: typeof import('vuetify/components')['VSystemBar']
60699
+ VTabs: typeof import('vuetify/components')['VTabs']
60700
+ VTab: typeof import('vuetify/components')['VTab']
60701
+ VTable: typeof import('vuetify/components')['VTable']
60702
+ VTextarea: typeof import('vuetify/components')['VTextarea']
60703
+ VTextField: typeof import('vuetify/components')['VTextField']
60704
+ VTimeline: typeof import('vuetify/components')['VTimeline']
60705
+ VTimelineItem: typeof import('vuetify/components')['VTimelineItem']
60706
+ VToolbar: typeof import('vuetify/components')['VToolbar']
60707
+ VToolbarTitle: typeof import('vuetify/components')['VToolbarTitle']
60708
+ VToolbarItems: typeof import('vuetify/components')['VToolbarItems']
60709
+ VTooltip: typeof import('vuetify/components')['VTooltip']
60707
60710
  VWindow: typeof import('vuetify/components')['VWindow']
60708
60711
  VWindowItem: typeof import('vuetify/components')['VWindowItem']
60709
- VBanner: typeof import('vuetify/components')['VBanner']
60710
- VBannerActions: typeof import('vuetify/components')['VBannerActions']
60711
- VBannerText: typeof import('vuetify/components')['VBannerText']
60712
- VThemeProvider: typeof import('vuetify/components')['VThemeProvider']
60713
60712
  VDefaultsProvider: typeof import('vuetify/components')['VDefaultsProvider']
60714
60713
  VForm: typeof import('vuetify/components')['VForm']
60715
60714
  VContainer: typeof import('vuetify/components')['VContainer']
@@ -60726,6 +60725,7 @@ declare module '@vue/runtime-core' {
60726
60725
  VRadio: typeof import('vuetify/components')['VRadio']
60727
60726
  VRangeSlider: typeof import('vuetify/components')['VRangeSlider']
60728
60727
  VResponsive: typeof import('vuetify/components')['VResponsive']
60728
+ VThemeProvider: typeof import('vuetify/components')['VThemeProvider']
60729
60729
  VValidation: typeof import('vuetify/components')['VValidation']
60730
60730
  VVirtualScroll: typeof import('vuetify/components')['VVirtualScroll']
60731
60731
  VFabTransition: typeof import('vuetify/components')['VFabTransition']
@@ -1,10 +1,10 @@
1
1
  /*!
2
- * Vuetify v3.3.22
2
+ * Vuetify v3.3.23
3
3
  * Forged by John Leider
4
4
  * Released under the MIT License.
5
5
  */
6
6
 
7
- import { Fragment, reactive, computed, watchEffect, toRefs, capitalize, warn, ref, unref, provide, shallowRef, inject as inject$1, defineComponent as defineComponent$1, camelize, h, getCurrentInstance as getCurrentInstance$1, onBeforeUnmount, watch, readonly, onDeactivated, onActivated, onMounted, onScopeDispose, effectScope, toRaw, createVNode, TransitionGroup, Transition, mergeProps, onBeforeMount, nextTick, withDirectives, resolveDirective, vShow, isRef, toRef, Text, resolveDynamicComponent, Teleport, cloneVNode, createTextVNode, onBeforeUpdate, vModelText } from 'vue';
7
+ import { Fragment, reactive, computed, watchEffect, toRefs, capitalize, isVNode, Comment, warn, ref, unref, provide, shallowRef, inject as inject$1, defineComponent as defineComponent$1, camelize, h, getCurrentInstance as getCurrentInstance$1, onBeforeUnmount, watch, readonly, onDeactivated, onActivated, onMounted, onScopeDispose, effectScope, toRaw, createVNode, TransitionGroup, Transition, mergeProps, onBeforeMount, nextTick, withDirectives, resolveDirective, vShow, isRef, toRef, Text, resolveDynamicComponent, Teleport, cloneVNode, createTextVNode, onBeforeUpdate, vModelText } from 'vue';
8
8
 
9
9
  // Types
10
10
  // eslint-disable-line vue/prefer-import-from-vue
@@ -465,6 +465,13 @@ function matchesSelector(el, selector) {
465
465
  return null;
466
466
  }
467
467
  }
468
+ function ensureValidVNode(vnodes) {
469
+ return vnodes.some(child => {
470
+ if (!isVNode(child)) return true;
471
+ if (child.type === Comment) return false;
472
+ return child.type !== Fragment || ensureValidVNode(child.children);
473
+ }) ? vnodes : null;
474
+ }
468
475
 
469
476
  // Utilities
470
477
  const block = ['top', 'bottom'];
@@ -845,6 +852,9 @@ function toXYZ(_ref) {
845
852
  function isCssColor(color) {
846
853
  return !!color && /^(#|var\(--|(rgb|hsl)a?\()/.test(color);
847
854
  }
855
+ function isParsableColor(color) {
856
+ return isCssColor(color) && !/^((rgb|hsl)a?\()?var\(--/.test(color);
857
+ }
848
858
  const cssColorRe = /^(?<fn>(?:rgb|hsl)a?)\((?<values>.+)\)/;
849
859
  const mappers = {
850
860
  rgb: (r, g, b, a) => ({
@@ -3269,7 +3279,7 @@ function useColor(colors) {
3269
3279
  if (colors.value.background) {
3270
3280
  if (isCssColor(colors.value.background)) {
3271
3281
  styles.backgroundColor = colors.value.background;
3272
- if (!colors.value.text) {
3282
+ if (!colors.value.text && isParsableColor(colors.value.background)) {
3273
3283
  const backgroundColor = parseColor(colors.value.background);
3274
3284
  if (backgroundColor.a == null || backgroundColor.a === 1) {
3275
3285
  const textColor = getForeground(backgroundColor);
@@ -11151,6 +11161,16 @@ const VSelect = genericComponent()({
11151
11161
  modelValue: true,
11152
11162
  'onUpdate:modelValue': undefined
11153
11163
  };
11164
+ const hasSlot = hasChips ? !!slots.chip : !!slots.selection;
11165
+ const slotContent = hasSlot ? ensureValidVNode(hasChips ? slots.chip({
11166
+ item,
11167
+ index,
11168
+ props: slotProps
11169
+ }) : slots.selection({
11170
+ item,
11171
+ index
11172
+ })) : undefined;
11173
+ if (hasSlot && !slotContent) return undefined;
11154
11174
  return createVNode("div", {
11155
11175
  "key": item.value,
11156
11176
  "class": "v-select__selection"
@@ -11170,15 +11190,8 @@ const VSelect = genericComponent()({
11170
11190
  }
11171
11191
  }
11172
11192
  }, {
11173
- default: () => [slots.chip?.({
11174
- item,
11175
- index,
11176
- props: slotProps
11177
- })]
11178
- }) : slots.selection?.({
11179
- item,
11180
- index
11181
- }) ?? createVNode("span", {
11193
+ default: () => [slotContent]
11194
+ }) : slotContent ?? createVNode("span", {
11182
11195
  "class": "v-select__selection-text"
11183
11196
  }, [item.title, props.multiple && index < model.value.length - 1 && createVNode("span", {
11184
11197
  "class": "v-select__selection-comma"
@@ -11679,6 +11692,16 @@ const VAutocomplete = genericComponent()({
11679
11692
  modelValue: true,
11680
11693
  'onUpdate:modelValue': undefined
11681
11694
  };
11695
+ const hasSlot = hasChips ? !!slots.chip : !!slots.selection;
11696
+ const slotContent = hasSlot ? ensureValidVNode(hasChips ? slots.chip({
11697
+ item,
11698
+ index,
11699
+ props: slotProps
11700
+ }) : slots.selection({
11701
+ item,
11702
+ index
11703
+ })) : undefined;
11704
+ if (hasSlot && !slotContent) return undefined;
11682
11705
  return createVNode("div", {
11683
11706
  "key": item.value,
11684
11707
  "class": ['v-autocomplete__selection', index === selectionIndex.value && ['v-autocomplete__selection--selected', textColorClasses.value]],
@@ -11699,15 +11722,8 @@ const VAutocomplete = genericComponent()({
11699
11722
  }
11700
11723
  }
11701
11724
  }, {
11702
- default: () => [slots.chip?.({
11703
- item,
11704
- index,
11705
- props: slotProps
11706
- })]
11707
- }) : slots.selection?.({
11708
- item,
11709
- index
11710
- }) ?? createVNode("span", {
11725
+ default: () => [slotContent]
11726
+ }) : slotContent ?? createVNode("span", {
11711
11727
  "class": "v-autocomplete__selection-text"
11712
11728
  }, [item.title, props.multiple && index < model.value.length - 1 && createVNode("span", {
11713
11729
  "class": "v-autocomplete__selection-comma"
@@ -15231,6 +15247,16 @@ const VCombobox = genericComponent()({
15231
15247
  modelValue: true,
15232
15248
  'onUpdate:modelValue': undefined
15233
15249
  };
15250
+ const hasSlot = hasChips ? !!slots.chip : !!slots.selection;
15251
+ const slotContent = hasSlot ? ensureValidVNode(hasChips ? slots.chip({
15252
+ item,
15253
+ index,
15254
+ props: slotProps
15255
+ }) : slots.selection({
15256
+ item,
15257
+ index
15258
+ })) : undefined;
15259
+ if (hasSlot && !slotContent) return undefined;
15234
15260
  return createVNode("div", {
15235
15261
  "key": item.value,
15236
15262
  "class": ['v-combobox__selection', index === selectionIndex.value && ['v-combobox__selection--selected', textColorClasses.value]],
@@ -15251,15 +15277,8 @@ const VCombobox = genericComponent()({
15251
15277
  }
15252
15278
  }
15253
15279
  }, {
15254
- default: () => [slots.chip?.({
15255
- item,
15256
- index,
15257
- props: slotProps
15258
- })]
15259
- }) : slots.selection?.({
15260
- item,
15261
- index
15262
- }) ?? createVNode("span", {
15280
+ default: () => [slotContent]
15281
+ }) : slotContent ?? createVNode("span", {
15263
15282
  "class": "v-combobox__selection-text"
15264
15283
  }, [item.title, props.multiple && index < model.value.length - 1 && createVNode("span", {
15265
15284
  "class": "v-combobox__selection-comma"
@@ -20081,7 +20100,6 @@ function getWeekdays(locale) {
20081
20100
  });
20082
20101
  }
20083
20102
  function format(value, formatString, locale) {
20084
- const date = new Date(value);
20085
20103
  let options = {};
20086
20104
  switch (formatString) {
20087
20105
  case 'fullDateWithWeekday':
@@ -20100,7 +20118,11 @@ function format(value, formatString, locale) {
20100
20118
  };
20101
20119
  break;
20102
20120
  case 'keyboardDate':
20103
- options = {};
20121
+ options = {
20122
+ day: '2-digit',
20123
+ month: '2-digit',
20124
+ year: 'numeric'
20125
+ };
20104
20126
  break;
20105
20127
  case 'monthAndDate':
20106
20128
  options = {
@@ -20130,7 +20152,7 @@ function format(value, formatString, locale) {
20130
20152
  timeZoneName: 'short'
20131
20153
  };
20132
20154
  }
20133
- return new Intl.DateTimeFormat(locale, options).format(date);
20155
+ return new Intl.DateTimeFormat(locale, options).format(date(value) ?? undefined);
20134
20156
  }
20135
20157
  function toISO(adapter, value) {
20136
20158
  const date = adapter.toJsDate(value);
@@ -20430,7 +20452,7 @@ function createVuetify$1() {
20430
20452
  date
20431
20453
  };
20432
20454
  }
20433
- const version$1 = "3.3.22";
20455
+ const version$1 = "3.3.23";
20434
20456
  createVuetify$1.version = version$1;
20435
20457
 
20436
20458
  // Vue's inject() can only be used in setup
@@ -20455,7 +20477,7 @@ const createVuetify = function () {
20455
20477
  ...options
20456
20478
  });
20457
20479
  };
20458
- const version = "3.3.22";
20480
+ const version = "3.3.23";
20459
20481
  createVuetify.version = version;
20460
20482
 
20461
20483
  export { components, createVuetify, directives, useDefaults, useDisplay, useLayout, useLocale, useRtl, useTheme, version };