@vuetify/nightly 3.4.0-dev.2023-11-09 → 3.4.0-dev.2023-12-07

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.
package/dist/vuetify.d.ts CHANGED
@@ -14719,6 +14719,7 @@ declare const VImg: {
14719
14719
  options: IntersectionObserverInit;
14720
14720
  cover: boolean;
14721
14721
  src: string | srcObject;
14722
+ rounded: string | number | boolean;
14722
14723
  }> & Omit<{
14723
14724
  inline: boolean;
14724
14725
  transition: string | boolean | (vue.TransitionProps & {
@@ -14732,6 +14733,7 @@ declare const VImg: {
14732
14733
  height?: string | number | undefined;
14733
14734
  width?: string | number | undefined;
14734
14735
  aspectRatio?: string | number | undefined;
14736
+ color?: string | undefined;
14735
14737
  maxHeight?: string | number | undefined;
14736
14738
  maxWidth?: string | number | undefined;
14737
14739
  minHeight?: string | number | undefined;
@@ -14745,6 +14747,7 @@ declare const VImg: {
14745
14747
  sizes?: string | undefined;
14746
14748
  srcset?: string | undefined;
14747
14749
  contentClass?: string | undefined;
14750
+ rounded?: string | number | boolean | undefined;
14748
14751
  gradient?: string | undefined;
14749
14752
  lazySrc?: string | undefined;
14750
14753
  $children?: vue.VNodeChild | (() => vue.VNodeChild) | {
@@ -14780,6 +14783,7 @@ declare const VImg: {
14780
14783
  height?: string | number | undefined;
14781
14784
  width?: string | number | undefined;
14782
14785
  aspectRatio?: string | number | undefined;
14786
+ color?: string | undefined;
14783
14787
  maxHeight?: string | number | undefined;
14784
14788
  maxWidth?: string | number | undefined;
14785
14789
  minHeight?: string | number | undefined;
@@ -14793,6 +14797,7 @@ declare const VImg: {
14793
14797
  sizes?: string | undefined;
14794
14798
  srcset?: string | undefined;
14795
14799
  contentClass?: string | undefined;
14800
+ rounded?: string | number | boolean | undefined;
14796
14801
  gradient?: string | undefined;
14797
14802
  lazySrc?: string | undefined;
14798
14803
  } & {
@@ -14817,7 +14822,7 @@ declare const VImg: {
14817
14822
  onError?: ((value: string | undefined) => any) | undefined;
14818
14823
  onLoad?: ((value: string | undefined) => any) | undefined;
14819
14824
  onLoadstart?: ((value: string | undefined) => any) | undefined;
14820
- }, "inline" | "transition" | "style" | "draggable" | "eager" | "options" | "cover" | "src">;
14825
+ }, "inline" | "transition" | "style" | "draggable" | "eager" | "options" | "cover" | "src" | "rounded">;
14821
14826
  $attrs: {
14822
14827
  [x: string]: unknown;
14823
14828
  };
@@ -14856,6 +14861,7 @@ declare const VImg: {
14856
14861
  height?: string | number | undefined;
14857
14862
  width?: string | number | undefined;
14858
14863
  aspectRatio?: string | number | undefined;
14864
+ color?: string | undefined;
14859
14865
  maxHeight?: string | number | undefined;
14860
14866
  maxWidth?: string | number | undefined;
14861
14867
  minHeight?: string | number | undefined;
@@ -14869,6 +14875,7 @@ declare const VImg: {
14869
14875
  sizes?: string | undefined;
14870
14876
  srcset?: string | undefined;
14871
14877
  contentClass?: string | undefined;
14878
+ rounded?: string | number | boolean | undefined;
14872
14879
  gradient?: string | undefined;
14873
14880
  lazySrc?: string | undefined;
14874
14881
  } & {
@@ -14914,6 +14921,7 @@ declare const VImg: {
14914
14921
  options: IntersectionObserverInit;
14915
14922
  cover: boolean;
14916
14923
  src: string | srcObject;
14924
+ rounded: string | number | boolean;
14917
14925
  }, {}, string, vue.SlotsType<Partial<{
14918
14926
  default: () => vue.VNode<vue.RendererNode, vue.RendererElement, {
14919
14927
  [key: string]: any;
@@ -14961,6 +14969,7 @@ declare const VImg: {
14961
14969
  height?: string | number | undefined;
14962
14970
  width?: string | number | undefined;
14963
14971
  aspectRatio?: string | number | undefined;
14972
+ color?: string | undefined;
14964
14973
  maxHeight?: string | number | undefined;
14965
14974
  maxWidth?: string | number | undefined;
14966
14975
  minHeight?: string | number | undefined;
@@ -14974,6 +14983,7 @@ declare const VImg: {
14974
14983
  sizes?: string | undefined;
14975
14984
  srcset?: string | undefined;
14976
14985
  contentClass?: string | undefined;
14986
+ rounded?: string | number | boolean | undefined;
14977
14987
  gradient?: string | undefined;
14978
14988
  lazySrc?: string | undefined;
14979
14989
  } & {
@@ -15022,6 +15032,7 @@ declare const VImg: {
15022
15032
  height?: string | number | undefined;
15023
15033
  width?: string | number | undefined;
15024
15034
  aspectRatio?: string | number | undefined;
15035
+ color?: string | undefined;
15025
15036
  maxHeight?: string | number | undefined;
15026
15037
  maxWidth?: string | number | undefined;
15027
15038
  minHeight?: string | number | undefined;
@@ -15035,6 +15046,7 @@ declare const VImg: {
15035
15046
  sizes?: string | undefined;
15036
15047
  srcset?: string | undefined;
15037
15048
  contentClass?: string | undefined;
15049
+ rounded?: string | number | boolean | undefined;
15038
15050
  gradient?: string | undefined;
15039
15051
  lazySrc?: string | undefined;
15040
15052
  } & {
@@ -15080,6 +15092,7 @@ declare const VImg: {
15080
15092
  options: IntersectionObserverInit;
15081
15093
  cover: boolean;
15082
15094
  src: string | srcObject;
15095
+ rounded: string | number | boolean;
15083
15096
  }, {}, string, vue.SlotsType<Partial<{
15084
15097
  default: () => vue.VNode<vue.RendererNode, vue.RendererElement, {
15085
15098
  [key: string]: any;
@@ -15101,6 +15114,10 @@ declare const VImg: {
15101
15114
  default: string;
15102
15115
  validator: (val: unknown) => boolean;
15103
15116
  };
15117
+ rounded: {
15118
+ type: (StringConstructor | BooleanConstructor | NumberConstructor)[];
15119
+ default: undefined;
15120
+ };
15104
15121
  class: PropType<any>;
15105
15122
  style: {
15106
15123
  type: PropType<vue.StyleValue>;
@@ -15117,6 +15134,7 @@ declare const VImg: {
15117
15134
  inline: BooleanConstructor;
15118
15135
  alt: StringConstructor;
15119
15136
  cover: BooleanConstructor;
15137
+ color: StringConstructor;
15120
15138
  draggable: {
15121
15139
  type: PropType<boolean | "false" | "true">;
15122
15140
  default: undefined;
@@ -15149,6 +15167,10 @@ declare const VImg: {
15149
15167
  default: string;
15150
15168
  validator: (val: unknown) => boolean;
15151
15169
  };
15170
+ rounded: {
15171
+ type: (StringConstructor | BooleanConstructor | NumberConstructor)[];
15172
+ default: undefined;
15173
+ };
15152
15174
  class: PropType<any>;
15153
15175
  style: {
15154
15176
  type: PropType<vue.StyleValue>;
@@ -15165,6 +15187,7 @@ declare const VImg: {
15165
15187
  inline: BooleanConstructor;
15166
15188
  alt: StringConstructor;
15167
15189
  cover: BooleanConstructor;
15190
+ color: StringConstructor;
15168
15191
  draggable: {
15169
15192
  type: PropType<boolean | "false" | "true">;
15170
15193
  default: undefined;
@@ -15206,6 +15229,7 @@ declare const VCarouselItem: {
15206
15229
  options: IntersectionObserverInit;
15207
15230
  cover: boolean;
15208
15231
  src: string | srcObject;
15232
+ rounded: string | number | boolean;
15209
15233
  reverseTransition: string | boolean;
15210
15234
  }> & Omit<{
15211
15235
  inline: boolean;
@@ -15218,6 +15242,7 @@ declare const VCarouselItem: {
15218
15242
  height?: string | number | undefined;
15219
15243
  width?: string | number | undefined;
15220
15244
  aspectRatio?: string | number | undefined;
15245
+ color?: string | undefined;
15221
15246
  maxHeight?: string | number | undefined;
15222
15247
  maxWidth?: string | number | undefined;
15223
15248
  minHeight?: string | number | undefined;
@@ -15233,6 +15258,7 @@ declare const VCarouselItem: {
15233
15258
  sizes?: string | undefined;
15234
15259
  srcset?: string | undefined;
15235
15260
  contentClass?: string | undefined;
15261
+ rounded?: string | number | boolean | undefined;
15236
15262
  gradient?: string | undefined;
15237
15263
  lazySrc?: string | undefined;
15238
15264
  selectedClass?: string | undefined;
@@ -15265,6 +15291,7 @@ declare const VCarouselItem: {
15265
15291
  height?: string | number | undefined;
15266
15292
  width?: string | number | undefined;
15267
15293
  aspectRatio?: string | number | undefined;
15294
+ color?: string | undefined;
15268
15295
  maxHeight?: string | number | undefined;
15269
15296
  maxWidth?: string | number | undefined;
15270
15297
  minHeight?: string | number | undefined;
@@ -15280,6 +15307,7 @@ declare const VCarouselItem: {
15280
15307
  sizes?: string | undefined;
15281
15308
  srcset?: string | undefined;
15282
15309
  contentClass?: string | undefined;
15310
+ rounded?: string | number | boolean | undefined;
15283
15311
  gradient?: string | undefined;
15284
15312
  lazySrc?: string | undefined;
15285
15313
  selectedClass?: string | undefined;
@@ -15302,7 +15330,7 @@ declare const VCarouselItem: {
15302
15330
  "v-slot:placeholder"?: false | (() => vue.VNodeChild) | undefined;
15303
15331
  "v-slot:error"?: false | (() => vue.VNodeChild) | undefined;
15304
15332
  "v-slot:sources"?: false | (() => vue.VNodeChild) | undefined;
15305
- }, "inline" | "transition" | "style" | "draggable" | "eager" | "disabled" | "options" | "cover" | "src" | "reverseTransition">;
15333
+ }, "inline" | "transition" | "style" | "draggable" | "eager" | "disabled" | "options" | "cover" | "src" | "rounded" | "reverseTransition">;
15306
15334
  $attrs: {
15307
15335
  [x: string]: unknown;
15308
15336
  };
@@ -15339,6 +15367,7 @@ declare const VCarouselItem: {
15339
15367
  height?: string | number | undefined;
15340
15368
  width?: string | number | undefined;
15341
15369
  aspectRatio?: string | number | undefined;
15370
+ color?: string | undefined;
15342
15371
  maxHeight?: string | number | undefined;
15343
15372
  maxWidth?: string | number | undefined;
15344
15373
  minHeight?: string | number | undefined;
@@ -15354,6 +15383,7 @@ declare const VCarouselItem: {
15354
15383
  sizes?: string | undefined;
15355
15384
  srcset?: string | undefined;
15356
15385
  contentClass?: string | undefined;
15386
+ rounded?: string | number | boolean | undefined;
15357
15387
  gradient?: string | undefined;
15358
15388
  lazySrc?: string | undefined;
15359
15389
  selectedClass?: string | undefined;
@@ -15386,6 +15416,7 @@ declare const VCarouselItem: {
15386
15416
  options: IntersectionObserverInit;
15387
15417
  cover: boolean;
15388
15418
  src: string | srcObject;
15419
+ rounded: string | number | boolean;
15389
15420
  reverseTransition: string | boolean;
15390
15421
  }, {}, string, vue.SlotsType<Partial<{
15391
15422
  default: () => vue.VNode<vue.RendererNode, vue.RendererElement, {
@@ -15432,6 +15463,7 @@ declare const VCarouselItem: {
15432
15463
  height?: string | number | undefined;
15433
15464
  width?: string | number | undefined;
15434
15465
  aspectRatio?: string | number | undefined;
15466
+ color?: string | undefined;
15435
15467
  maxHeight?: string | number | undefined;
15436
15468
  maxWidth?: string | number | undefined;
15437
15469
  minHeight?: string | number | undefined;
@@ -15447,6 +15479,7 @@ declare const VCarouselItem: {
15447
15479
  sizes?: string | undefined;
15448
15480
  srcset?: string | undefined;
15449
15481
  contentClass?: string | undefined;
15482
+ rounded?: string | number | boolean | undefined;
15450
15483
  gradient?: string | undefined;
15451
15484
  lazySrc?: string | undefined;
15452
15485
  selectedClass?: string | undefined;
@@ -15485,6 +15518,7 @@ declare const VCarouselItem: {
15485
15518
  height?: string | number | undefined;
15486
15519
  width?: string | number | undefined;
15487
15520
  aspectRatio?: string | number | undefined;
15521
+ color?: string | undefined;
15488
15522
  maxHeight?: string | number | undefined;
15489
15523
  maxWidth?: string | number | undefined;
15490
15524
  minHeight?: string | number | undefined;
@@ -15500,6 +15534,7 @@ declare const VCarouselItem: {
15500
15534
  sizes?: string | undefined;
15501
15535
  srcset?: string | undefined;
15502
15536
  contentClass?: string | undefined;
15537
+ rounded?: string | number | boolean | undefined;
15503
15538
  gradient?: string | undefined;
15504
15539
  lazySrc?: string | undefined;
15505
15540
  selectedClass?: string | undefined;
@@ -15532,6 +15567,7 @@ declare const VCarouselItem: {
15532
15567
  options: IntersectionObserverInit;
15533
15568
  cover: boolean;
15534
15569
  src: string | srcObject;
15570
+ rounded: string | number | boolean;
15535
15571
  reverseTransition: string | boolean;
15536
15572
  }, {}, string, vue.SlotsType<Partial<{
15537
15573
  default: () => vue.VNode<vue.RendererNode, vue.RendererElement, {
@@ -15564,6 +15600,10 @@ declare const VCarouselItem: {
15564
15600
  type: (StringConstructor | BooleanConstructor)[];
15565
15601
  default: undefined;
15566
15602
  };
15603
+ rounded: {
15604
+ type: (StringConstructor | BooleanConstructor | NumberConstructor)[];
15605
+ default: undefined;
15606
+ };
15567
15607
  height: (StringConstructor | NumberConstructor)[];
15568
15608
  maxHeight: (StringConstructor | NumberConstructor)[];
15569
15609
  maxWidth: (StringConstructor | NumberConstructor)[];
@@ -15575,6 +15615,7 @@ declare const VCarouselItem: {
15575
15615
  inline: BooleanConstructor;
15576
15616
  alt: StringConstructor;
15577
15617
  cover: BooleanConstructor;
15618
+ color: StringConstructor;
15578
15619
  draggable: {
15579
15620
  type: vue.PropType<boolean | "false" | "true">;
15580
15621
  default: undefined;
@@ -15616,6 +15657,10 @@ declare const VCarouselItem: {
15616
15657
  type: (StringConstructor | BooleanConstructor)[];
15617
15658
  default: undefined;
15618
15659
  };
15660
+ rounded: {
15661
+ type: (StringConstructor | BooleanConstructor | NumberConstructor)[];
15662
+ default: undefined;
15663
+ };
15619
15664
  height: (StringConstructor | NumberConstructor)[];
15620
15665
  maxHeight: (StringConstructor | NumberConstructor)[];
15621
15666
  maxWidth: (StringConstructor | NumberConstructor)[];
@@ -15627,6 +15672,7 @@ declare const VCarouselItem: {
15627
15672
  inline: BooleanConstructor;
15628
15673
  alt: StringConstructor;
15629
15674
  cover: BooleanConstructor;
15675
+ color: StringConstructor;
15630
15676
  draggable: {
15631
15677
  type: vue.PropType<boolean | "false" | "true">;
15632
15678
  default: undefined;
@@ -80041,22 +80087,22 @@ declare module '@vue/runtime-core' {
80041
80087
 
80042
80088
  export interface GlobalComponents {
80043
80089
  VApp: typeof import('vuetify/components')['VApp']
80044
- VAlert: typeof import('vuetify/components')['VAlert']
80045
- VAlertTitle: typeof import('vuetify/components')['VAlertTitle']
80046
80090
  VAppBar: typeof import('vuetify/components')['VAppBar']
80047
80091
  VAppBarNavIcon: typeof import('vuetify/components')['VAppBarNavIcon']
80048
80092
  VAppBarTitle: typeof import('vuetify/components')['VAppBarTitle']
80093
+ VAlert: typeof import('vuetify/components')['VAlert']
80094
+ VAlertTitle: typeof import('vuetify/components')['VAlertTitle']
80049
80095
  VAutocomplete: typeof import('vuetify/components')['VAutocomplete']
80050
80096
  VAvatar: typeof import('vuetify/components')['VAvatar']
80051
80097
  VBadge: typeof import('vuetify/components')['VBadge']
80098
+ VBanner: typeof import('vuetify/components')['VBanner']
80099
+ VBannerActions: typeof import('vuetify/components')['VBannerActions']
80100
+ VBannerText: typeof import('vuetify/components')['VBannerText']
80052
80101
  VBottomNavigation: typeof import('vuetify/components')['VBottomNavigation']
80053
80102
  VBottomSheet: typeof import('vuetify/components')['VBottomSheet']
80054
80103
  VBreadcrumbs: typeof import('vuetify/components')['VBreadcrumbs']
80055
80104
  VBreadcrumbsItem: typeof import('vuetify/components')['VBreadcrumbsItem']
80056
80105
  VBreadcrumbsDivider: typeof import('vuetify/components')['VBreadcrumbsDivider']
80057
- VBanner: typeof import('vuetify/components')['VBanner']
80058
- VBannerActions: typeof import('vuetify/components')['VBannerActions']
80059
- VBannerText: typeof import('vuetify/components')['VBannerText']
80060
80106
  VBtn: typeof import('vuetify/components')['VBtn']
80061
80107
  VBtnGroup: typeof import('vuetify/components')['VBtnGroup']
80062
80108
  VBtnToggle: typeof import('vuetify/components')['VBtnToggle']
@@ -80082,6 +80128,12 @@ declare module '@vue/runtime-core' {
80082
80128
  VDataTableRow: typeof import('vuetify/components')['VDataTableRow']
80083
80129
  VDataTableVirtual: typeof import('vuetify/components')['VDataTableVirtual']
80084
80130
  VDataTableServer: typeof import('vuetify/components')['VDataTableServer']
80131
+ VDatePicker: typeof import('vuetify/components')['VDatePicker']
80132
+ VDatePickerControls: typeof import('vuetify/components')['VDatePickerControls']
80133
+ VDatePickerHeader: typeof import('vuetify/components')['VDatePickerHeader']
80134
+ VDatePickerMonth: typeof import('vuetify/components')['VDatePickerMonth']
80135
+ VDatePickerMonths: typeof import('vuetify/components')['VDatePickerMonths']
80136
+ VDatePickerYears: typeof import('vuetify/components')['VDatePickerYears']
80085
80137
  VDialog: typeof import('vuetify/components')['VDialog']
80086
80138
  VDivider: typeof import('vuetify/components')['VDivider']
80087
80139
  VExpansionPanels: typeof import('vuetify/components')['VExpansionPanels']
@@ -80190,12 +80242,6 @@ declare module '@vue/runtime-core' {
80190
80242
  VExpandTransition: typeof import('vuetify/components')['VExpandTransition']
80191
80243
  VExpandXTransition: typeof import('vuetify/components')['VExpandXTransition']
80192
80244
  VDialogTransition: typeof import('vuetify/components')['VDialogTransition']
80193
- VDatePicker: typeof import('vuetify/components')['VDatePicker']
80194
- VDatePickerControls: typeof import('vuetify/components')['VDatePickerControls']
80195
- VDatePickerHeader: typeof import('vuetify/components')['VDatePickerHeader']
80196
- VDatePickerMonth: typeof import('vuetify/components')['VDatePickerMonth']
80197
- VDatePickerMonths: typeof import('vuetify/components')['VDatePickerMonths']
80198
- VDatePickerYears: typeof import('vuetify/components')['VDatePickerYears']
80199
80245
  VPicker: typeof import('vuetify/labs/components')['VPicker']
80200
80246
  VPickerTitle: typeof import('vuetify/labs/components')['VPickerTitle']
80201
80247
  VConfirmEdit: typeof import('vuetify/labs/components')['VConfirmEdit']
@@ -1,10 +1,10 @@
1
1
  /*!
2
- * Vuetify v3.4.0-dev.2023-11-09
2
+ * Vuetify v3.4.0-dev.2023-12-07
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, isVNode, Comment, unref, warn, ref, 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, onUnmounted, withModifiers, toDisplayString, onBeforeUpdate, vModelText } from 'vue';
7
+ import { Fragment, reactive, computed, watchEffect, toRefs, capitalize, isVNode, Comment, unref, warn, ref, 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, isRef, toRef, onBeforeMount, nextTick, withDirectives, resolveDirective, vShow, Text, resolveDynamicComponent, Teleport, cloneVNode, createTextVNode, onUnmounted, withModifiers, toDisplayString, onBeforeUpdate, vModelText } from 'vue';
8
8
 
9
9
  // Types
10
10
  // eslint-disable-line vue/prefer-import-from-vue
@@ -1933,6 +1933,7 @@ const defaultRtl = {
1933
1933
  id: false,
1934
1934
  it: false,
1935
1935
  ja: false,
1936
+ km: false,
1936
1937
  ko: false,
1937
1938
  lv: false,
1938
1939
  lt: false,
@@ -2989,6 +2990,101 @@ const VResponsive = genericComponent()({
2989
2990
 
2990
2991
  // Types
2991
2992
 
2993
+ // Composables
2994
+ function useColor(colors) {
2995
+ return destructComputed(() => {
2996
+ const classes = [];
2997
+ const styles = {};
2998
+ if (colors.value.background) {
2999
+ if (isCssColor(colors.value.background)) {
3000
+ styles.backgroundColor = colors.value.background;
3001
+ if (!colors.value.text && isParsableColor(colors.value.background)) {
3002
+ const backgroundColor = parseColor(colors.value.background);
3003
+ if (backgroundColor.a == null || backgroundColor.a === 1) {
3004
+ const textColor = getForeground(backgroundColor);
3005
+ styles.color = textColor;
3006
+ styles.caretColor = textColor;
3007
+ }
3008
+ }
3009
+ } else {
3010
+ classes.push(`bg-${colors.value.background}`);
3011
+ }
3012
+ }
3013
+ if (colors.value.text) {
3014
+ if (isCssColor(colors.value.text)) {
3015
+ styles.color = colors.value.text;
3016
+ styles.caretColor = colors.value.text;
3017
+ } else {
3018
+ classes.push(`text-${colors.value.text}`);
3019
+ }
3020
+ }
3021
+ return {
3022
+ colorClasses: classes,
3023
+ colorStyles: styles
3024
+ };
3025
+ });
3026
+ }
3027
+ function useTextColor(props, name) {
3028
+ const colors = computed(() => ({
3029
+ text: isRef(props) ? props.value : name ? props[name] : null
3030
+ }));
3031
+ const {
3032
+ colorClasses: textColorClasses,
3033
+ colorStyles: textColorStyles
3034
+ } = useColor(colors);
3035
+ return {
3036
+ textColorClasses,
3037
+ textColorStyles
3038
+ };
3039
+ }
3040
+ function useBackgroundColor(props, name) {
3041
+ const colors = computed(() => ({
3042
+ background: isRef(props) ? props.value : name ? props[name] : null
3043
+ }));
3044
+ const {
3045
+ colorClasses: backgroundColorClasses,
3046
+ colorStyles: backgroundColorStyles
3047
+ } = useColor(colors);
3048
+ return {
3049
+ backgroundColorClasses,
3050
+ backgroundColorStyles
3051
+ };
3052
+ }
3053
+
3054
+ // Utilities
3055
+
3056
+ // Types
3057
+
3058
+ // Composables
3059
+ const makeRoundedProps = propsFactory({
3060
+ rounded: {
3061
+ type: [Boolean, Number, String],
3062
+ default: undefined
3063
+ }
3064
+ }, 'rounded');
3065
+ function useRounded(props) {
3066
+ let name = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : getCurrentInstanceName();
3067
+ const roundedClasses = computed(() => {
3068
+ const rounded = isRef(props) ? props.value : props.rounded;
3069
+ const classes = [];
3070
+ if (rounded === true || rounded === '') {
3071
+ classes.push(`${name}--rounded`);
3072
+ } else if (typeof rounded === 'string' || rounded === 0) {
3073
+ for (const value of String(rounded).split(' ')) {
3074
+ classes.push(`rounded-${value}`);
3075
+ }
3076
+ }
3077
+ return classes;
3078
+ });
3079
+ return {
3080
+ roundedClasses
3081
+ };
3082
+ }
3083
+
3084
+ // Utilities
3085
+
3086
+ // Types
3087
+
2992
3088
  const makeTransitionProps = propsFactory({
2993
3089
  transition: {
2994
3090
  type: [Boolean, String, Object],
@@ -3069,6 +3165,7 @@ const Intersect = {
3069
3165
  const makeVImgProps = propsFactory({
3070
3166
  alt: String,
3071
3167
  cover: Boolean,
3168
+ color: String,
3072
3169
  draggable: {
3073
3170
  type: [Boolean, String],
3074
3171
  default: undefined
@@ -3097,6 +3194,7 @@ const makeVImgProps = propsFactory({
3097
3194
  position: String,
3098
3195
  ...makeVResponsiveProps(),
3099
3196
  ...makeComponentProps(),
3197
+ ...makeRoundedProps(),
3100
3198
  ...makeTransitionProps()
3101
3199
  }, 'VImg');
3102
3200
  const VImg = genericComponent()({
@@ -3115,6 +3213,13 @@ const VImg = genericComponent()({
3115
3213
  emit,
3116
3214
  slots
3117
3215
  } = _ref;
3216
+ const {
3217
+ backgroundColorClasses,
3218
+ backgroundColorStyles
3219
+ } = useBackgroundColor(toRef(props, 'color'));
3220
+ const {
3221
+ roundedClasses
3222
+ } = useRounded(props);
3118
3223
  const currentSrc = shallowRef(''); // Set from srcset
3119
3224
  const image = ref();
3120
3225
  const state = shallowRef(props.eager ? 'loading' : 'idle');
@@ -3307,10 +3412,10 @@ const VImg = genericComponent()({
3307
3412
  return withDirectives(createVNode(VResponsive, mergeProps({
3308
3413
  "class": ['v-img', {
3309
3414
  'v-img--booting': !isBooted.value
3310
- }, props.class],
3415
+ }, backgroundColorClasses.value, roundedClasses.value, props.class],
3311
3416
  "style": [{
3312
3417
  width: convertToUnit(props.width === 'auto' ? naturalWidth.value : props.width)
3313
- }, props.style]
3418
+ }, backgroundColorStyles.value, props.style]
3314
3419
  }, responsiveProps, {
3315
3420
  "aspectRatio": aspectRatio.value,
3316
3421
  "aria-label": props.alt,
@@ -3366,71 +3471,6 @@ function useBorder(props) {
3366
3471
 
3367
3472
  // Types
3368
3473
 
3369
- // Composables
3370
- function useColor(colors) {
3371
- return destructComputed(() => {
3372
- const classes = [];
3373
- const styles = {};
3374
- if (colors.value.background) {
3375
- if (isCssColor(colors.value.background)) {
3376
- styles.backgroundColor = colors.value.background;
3377
- if (!colors.value.text && isParsableColor(colors.value.background)) {
3378
- const backgroundColor = parseColor(colors.value.background);
3379
- if (backgroundColor.a == null || backgroundColor.a === 1) {
3380
- const textColor = getForeground(backgroundColor);
3381
- styles.color = textColor;
3382
- styles.caretColor = textColor;
3383
- }
3384
- }
3385
- } else {
3386
- classes.push(`bg-${colors.value.background}`);
3387
- }
3388
- }
3389
- if (colors.value.text) {
3390
- if (isCssColor(colors.value.text)) {
3391
- styles.color = colors.value.text;
3392
- styles.caretColor = colors.value.text;
3393
- } else {
3394
- classes.push(`text-${colors.value.text}`);
3395
- }
3396
- }
3397
- return {
3398
- colorClasses: classes,
3399
- colorStyles: styles
3400
- };
3401
- });
3402
- }
3403
- function useTextColor(props, name) {
3404
- const colors = computed(() => ({
3405
- text: isRef(props) ? props.value : name ? props[name] : null
3406
- }));
3407
- const {
3408
- colorClasses: textColorClasses,
3409
- colorStyles: textColorStyles
3410
- } = useColor(colors);
3411
- return {
3412
- textColorClasses,
3413
- textColorStyles
3414
- };
3415
- }
3416
- function useBackgroundColor(props, name) {
3417
- const colors = computed(() => ({
3418
- background: isRef(props) ? props.value : name ? props[name] : null
3419
- }));
3420
- const {
3421
- colorClasses: backgroundColorClasses,
3422
- colorStyles: backgroundColorStyles
3423
- } = useColor(colors);
3424
- return {
3425
- backgroundColorClasses,
3426
- backgroundColorStyles
3427
- };
3428
- }
3429
-
3430
- // Utilities
3431
-
3432
- // Types
3433
-
3434
3474
  // Composables
3435
3475
  const makeElevationProps = propsFactory({
3436
3476
  elevation: {
@@ -3457,36 +3497,6 @@ function useElevation(props) {
3457
3497
  };
3458
3498
  }
3459
3499
 
3460
- // Utilities
3461
-
3462
- // Types
3463
-
3464
- // Composables
3465
- const makeRoundedProps = propsFactory({
3466
- rounded: {
3467
- type: [Boolean, Number, String],
3468
- default: undefined
3469
- }
3470
- }, 'rounded');
3471
- function useRounded(props) {
3472
- let name = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : getCurrentInstanceName();
3473
- const roundedClasses = computed(() => {
3474
- const rounded = isRef(props) ? props.value : props.rounded;
3475
- const classes = [];
3476
- if (rounded === true || rounded === '') {
3477
- classes.push(`${name}--rounded`);
3478
- } else if (typeof rounded === 'string' || rounded === 0) {
3479
- for (const value of String(rounded).split(' ')) {
3480
- classes.push(`rounded-${value}`);
3481
- }
3482
- }
3483
- return classes;
3484
- });
3485
- return {
3486
- roundedClasses
3487
- };
3488
- }
3489
-
3490
3500
  // Types
3491
3501
 
3492
3502
  const allowedDensities$1 = [null, 'prominent', 'default', 'comfortable', 'compact'];
@@ -25103,7 +25113,7 @@ function createVuetify$1() {
25103
25113
  date
25104
25114
  };
25105
25115
  }
25106
- const version$1 = "3.4.0-dev.2023-11-09";
25116
+ const version$1 = "3.4.0-dev.2023-12-07";
25107
25117
  createVuetify$1.version = version$1;
25108
25118
 
25109
25119
  // Vue's inject() can only be used in setup
@@ -25128,7 +25138,7 @@ const createVuetify = function () {
25128
25138
  ...options
25129
25139
  });
25130
25140
  };
25131
- const version = "3.4.0-dev.2023-11-09";
25141
+ const version = "3.4.0-dev.2023-12-07";
25132
25142
  createVuetify.version = version;
25133
25143
 
25134
25144
  export { components, createVuetify, directives, useDate, useDefaults, useDisplay, useLayout, useLocale, useRtl, useTheme, version };