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

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.
@@ -1,10 +1,10 @@
1
1
  /*!
2
- * Vuetify v3.4.0-dev.2023-11-09
2
+ * Vuetify v3.4.0-dev.2023-12-01
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
@@ -2989,6 +2989,101 @@ const VResponsive = genericComponent()({
2989
2989
 
2990
2990
  // Types
2991
2991
 
2992
+ // Composables
2993
+ function useColor(colors) {
2994
+ return destructComputed(() => {
2995
+ const classes = [];
2996
+ const styles = {};
2997
+ if (colors.value.background) {
2998
+ if (isCssColor(colors.value.background)) {
2999
+ styles.backgroundColor = colors.value.background;
3000
+ if (!colors.value.text && isParsableColor(colors.value.background)) {
3001
+ const backgroundColor = parseColor(colors.value.background);
3002
+ if (backgroundColor.a == null || backgroundColor.a === 1) {
3003
+ const textColor = getForeground(backgroundColor);
3004
+ styles.color = textColor;
3005
+ styles.caretColor = textColor;
3006
+ }
3007
+ }
3008
+ } else {
3009
+ classes.push(`bg-${colors.value.background}`);
3010
+ }
3011
+ }
3012
+ if (colors.value.text) {
3013
+ if (isCssColor(colors.value.text)) {
3014
+ styles.color = colors.value.text;
3015
+ styles.caretColor = colors.value.text;
3016
+ } else {
3017
+ classes.push(`text-${colors.value.text}`);
3018
+ }
3019
+ }
3020
+ return {
3021
+ colorClasses: classes,
3022
+ colorStyles: styles
3023
+ };
3024
+ });
3025
+ }
3026
+ function useTextColor(props, name) {
3027
+ const colors = computed(() => ({
3028
+ text: isRef(props) ? props.value : name ? props[name] : null
3029
+ }));
3030
+ const {
3031
+ colorClasses: textColorClasses,
3032
+ colorStyles: textColorStyles
3033
+ } = useColor(colors);
3034
+ return {
3035
+ textColorClasses,
3036
+ textColorStyles
3037
+ };
3038
+ }
3039
+ function useBackgroundColor(props, name) {
3040
+ const colors = computed(() => ({
3041
+ background: isRef(props) ? props.value : name ? props[name] : null
3042
+ }));
3043
+ const {
3044
+ colorClasses: backgroundColorClasses,
3045
+ colorStyles: backgroundColorStyles
3046
+ } = useColor(colors);
3047
+ return {
3048
+ backgroundColorClasses,
3049
+ backgroundColorStyles
3050
+ };
3051
+ }
3052
+
3053
+ // Utilities
3054
+
3055
+ // Types
3056
+
3057
+ // Composables
3058
+ const makeRoundedProps = propsFactory({
3059
+ rounded: {
3060
+ type: [Boolean, Number, String],
3061
+ default: undefined
3062
+ }
3063
+ }, 'rounded');
3064
+ function useRounded(props) {
3065
+ let name = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : getCurrentInstanceName();
3066
+ const roundedClasses = computed(() => {
3067
+ const rounded = isRef(props) ? props.value : props.rounded;
3068
+ const classes = [];
3069
+ if (rounded === true || rounded === '') {
3070
+ classes.push(`${name}--rounded`);
3071
+ } else if (typeof rounded === 'string' || rounded === 0) {
3072
+ for (const value of String(rounded).split(' ')) {
3073
+ classes.push(`rounded-${value}`);
3074
+ }
3075
+ }
3076
+ return classes;
3077
+ });
3078
+ return {
3079
+ roundedClasses
3080
+ };
3081
+ }
3082
+
3083
+ // Utilities
3084
+
3085
+ // Types
3086
+
2992
3087
  const makeTransitionProps = propsFactory({
2993
3088
  transition: {
2994
3089
  type: [Boolean, String, Object],
@@ -3069,6 +3164,7 @@ const Intersect = {
3069
3164
  const makeVImgProps = propsFactory({
3070
3165
  alt: String,
3071
3166
  cover: Boolean,
3167
+ color: String,
3072
3168
  draggable: {
3073
3169
  type: [Boolean, String],
3074
3170
  default: undefined
@@ -3097,6 +3193,7 @@ const makeVImgProps = propsFactory({
3097
3193
  position: String,
3098
3194
  ...makeVResponsiveProps(),
3099
3195
  ...makeComponentProps(),
3196
+ ...makeRoundedProps(),
3100
3197
  ...makeTransitionProps()
3101
3198
  }, 'VImg');
3102
3199
  const VImg = genericComponent()({
@@ -3115,6 +3212,13 @@ const VImg = genericComponent()({
3115
3212
  emit,
3116
3213
  slots
3117
3214
  } = _ref;
3215
+ const {
3216
+ backgroundColorClasses,
3217
+ backgroundColorStyles
3218
+ } = useBackgroundColor(toRef(props, 'color'));
3219
+ const {
3220
+ roundedClasses
3221
+ } = useRounded(props);
3118
3222
  const currentSrc = shallowRef(''); // Set from srcset
3119
3223
  const image = ref();
3120
3224
  const state = shallowRef(props.eager ? 'loading' : 'idle');
@@ -3307,10 +3411,10 @@ const VImg = genericComponent()({
3307
3411
  return withDirectives(createVNode(VResponsive, mergeProps({
3308
3412
  "class": ['v-img', {
3309
3413
  'v-img--booting': !isBooted.value
3310
- }, props.class],
3414
+ }, backgroundColorClasses.value, roundedClasses.value, props.class],
3311
3415
  "style": [{
3312
3416
  width: convertToUnit(props.width === 'auto' ? naturalWidth.value : props.width)
3313
- }, props.style]
3417
+ }, backgroundColorStyles.value, props.style]
3314
3418
  }, responsiveProps, {
3315
3419
  "aspectRatio": aspectRatio.value,
3316
3420
  "aria-label": props.alt,
@@ -3366,71 +3470,6 @@ function useBorder(props) {
3366
3470
 
3367
3471
  // Types
3368
3472
 
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
3473
  // Composables
3435
3474
  const makeElevationProps = propsFactory({
3436
3475
  elevation: {
@@ -3457,36 +3496,6 @@ function useElevation(props) {
3457
3496
  };
3458
3497
  }
3459
3498
 
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
3499
  // Types
3491
3500
 
3492
3501
  const allowedDensities$1 = [null, 'prominent', 'default', 'comfortable', 'compact'];
@@ -25103,7 +25112,7 @@ function createVuetify$1() {
25103
25112
  date
25104
25113
  };
25105
25114
  }
25106
- const version$1 = "3.4.0-dev.2023-11-09";
25115
+ const version$1 = "3.4.0-dev.2023-12-01";
25107
25116
  createVuetify$1.version = version$1;
25108
25117
 
25109
25118
  // Vue's inject() can only be used in setup
@@ -25128,7 +25137,7 @@ const createVuetify = function () {
25128
25137
  ...options
25129
25138
  });
25130
25139
  };
25131
- const version = "3.4.0-dev.2023-11-09";
25140
+ const version = "3.4.0-dev.2023-12-01";
25132
25141
  createVuetify.version = version;
25133
25142
 
25134
25143
  export { components, createVuetify, directives, useDate, useDefaults, useDisplay, useLayout, useLocale, useRtl, useTheme, version };