@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/CHANGELOG.md +8 -2
- package/dist/json/attributes.json +1850 -1834
- package/dist/json/importMap.json +44 -44
- package/dist/json/tags.json +4 -0
- package/dist/json/web-types.json +3295 -3259
- package/dist/vuetify-labs.css +1383 -1380
- package/dist/vuetify-labs.d.ts +48 -2
- package/dist/vuetify-labs.esm.js +111 -101
- package/dist/vuetify-labs.esm.js.map +1 -1
- package/dist/vuetify-labs.js +110 -100
- package/dist/vuetify-labs.min.css +2 -2
- package/dist/vuetify.css +182 -179
- package/dist/vuetify.d.ts +59 -13
- package/dist/vuetify.esm.js +111 -101
- package/dist/vuetify.esm.js.map +1 -1
- package/dist/vuetify.js +110 -100
- package/dist/vuetify.js.map +1 -1
- package/dist/vuetify.min.css +2 -2
- package/dist/vuetify.min.js +133 -132
- package/dist/vuetify.min.js.map +1 -1
- package/lib/components/VCarousel/index.d.mts +24 -1
- package/lib/components/VImg/VImg.css +3 -0
- package/lib/components/VImg/VImg.mjs +14 -3
- package/lib/components/VImg/VImg.mjs.map +1 -1
- package/lib/components/VImg/VImg.sass +3 -0
- package/lib/components/VImg/_variables.scss +3 -0
- package/lib/components/VImg/index.d.mts +24 -1
- package/lib/components/index.d.mts +48 -2
- package/lib/entry-bundler.mjs +1 -1
- package/lib/framework.mjs +1 -1
- package/lib/index.d.mts +11 -11
- package/lib/locale/index.d.mts +124 -22
- package/lib/locale/index.mjs +2 -0
- package/lib/locale/index.mjs.map +1 -1
- package/lib/locale/km.mjs +100 -0
- package/lib/locale/km.mjs.map +1 -0
- package/package.json +1 -1
|
@@ -1073,6 +1073,7 @@ declare const VCarouselItem: {
|
|
|
1073
1073
|
options: IntersectionObserverInit;
|
|
1074
1074
|
cover: boolean;
|
|
1075
1075
|
src: string | srcObject;
|
|
1076
|
+
rounded: string | number | boolean;
|
|
1076
1077
|
reverseTransition: string | boolean;
|
|
1077
1078
|
}> & Omit<{
|
|
1078
1079
|
inline: boolean;
|
|
@@ -1085,6 +1086,7 @@ declare const VCarouselItem: {
|
|
|
1085
1086
|
height?: string | number | undefined;
|
|
1086
1087
|
width?: string | number | undefined;
|
|
1087
1088
|
aspectRatio?: string | number | undefined;
|
|
1089
|
+
color?: string | undefined;
|
|
1088
1090
|
maxHeight?: string | number | undefined;
|
|
1089
1091
|
maxWidth?: string | number | undefined;
|
|
1090
1092
|
minHeight?: string | number | undefined;
|
|
@@ -1100,6 +1102,7 @@ declare const VCarouselItem: {
|
|
|
1100
1102
|
sizes?: string | undefined;
|
|
1101
1103
|
srcset?: string | undefined;
|
|
1102
1104
|
contentClass?: string | undefined;
|
|
1105
|
+
rounded?: string | number | boolean | undefined;
|
|
1103
1106
|
gradient?: string | undefined;
|
|
1104
1107
|
lazySrc?: string | undefined;
|
|
1105
1108
|
selectedClass?: string | undefined;
|
|
@@ -1132,6 +1135,7 @@ declare const VCarouselItem: {
|
|
|
1132
1135
|
height?: string | number | undefined;
|
|
1133
1136
|
width?: string | number | undefined;
|
|
1134
1137
|
aspectRatio?: string | number | undefined;
|
|
1138
|
+
color?: string | undefined;
|
|
1135
1139
|
maxHeight?: string | number | undefined;
|
|
1136
1140
|
maxWidth?: string | number | undefined;
|
|
1137
1141
|
minHeight?: string | number | undefined;
|
|
@@ -1147,6 +1151,7 @@ declare const VCarouselItem: {
|
|
|
1147
1151
|
sizes?: string | undefined;
|
|
1148
1152
|
srcset?: string | undefined;
|
|
1149
1153
|
contentClass?: string | undefined;
|
|
1154
|
+
rounded?: string | number | boolean | undefined;
|
|
1150
1155
|
gradient?: string | undefined;
|
|
1151
1156
|
lazySrc?: string | undefined;
|
|
1152
1157
|
selectedClass?: string | undefined;
|
|
@@ -1169,7 +1174,7 @@ declare const VCarouselItem: {
|
|
|
1169
1174
|
"v-slot:placeholder"?: false | (() => vue.VNodeChild) | undefined;
|
|
1170
1175
|
"v-slot:error"?: false | (() => vue.VNodeChild) | undefined;
|
|
1171
1176
|
"v-slot:sources"?: false | (() => vue.VNodeChild) | undefined;
|
|
1172
|
-
}, "inline" | "transition" | "style" | "draggable" | "eager" | "disabled" | "options" | "cover" | "src" | "reverseTransition">;
|
|
1177
|
+
}, "inline" | "transition" | "style" | "draggable" | "eager" | "disabled" | "options" | "cover" | "src" | "rounded" | "reverseTransition">;
|
|
1173
1178
|
$attrs: {
|
|
1174
1179
|
[x: string]: unknown;
|
|
1175
1180
|
};
|
|
@@ -1206,6 +1211,7 @@ declare const VCarouselItem: {
|
|
|
1206
1211
|
height?: string | number | undefined;
|
|
1207
1212
|
width?: string | number | undefined;
|
|
1208
1213
|
aspectRatio?: string | number | undefined;
|
|
1214
|
+
color?: string | undefined;
|
|
1209
1215
|
maxHeight?: string | number | undefined;
|
|
1210
1216
|
maxWidth?: string | number | undefined;
|
|
1211
1217
|
minHeight?: string | number | undefined;
|
|
@@ -1221,6 +1227,7 @@ declare const VCarouselItem: {
|
|
|
1221
1227
|
sizes?: string | undefined;
|
|
1222
1228
|
srcset?: string | undefined;
|
|
1223
1229
|
contentClass?: string | undefined;
|
|
1230
|
+
rounded?: string | number | boolean | undefined;
|
|
1224
1231
|
gradient?: string | undefined;
|
|
1225
1232
|
lazySrc?: string | undefined;
|
|
1226
1233
|
selectedClass?: string | undefined;
|
|
@@ -1253,6 +1260,7 @@ declare const VCarouselItem: {
|
|
|
1253
1260
|
options: IntersectionObserverInit;
|
|
1254
1261
|
cover: boolean;
|
|
1255
1262
|
src: string | srcObject;
|
|
1263
|
+
rounded: string | number | boolean;
|
|
1256
1264
|
reverseTransition: string | boolean;
|
|
1257
1265
|
}, {}, string, vue.SlotsType<Partial<{
|
|
1258
1266
|
default: () => vue.VNode<vue.RendererNode, vue.RendererElement, {
|
|
@@ -1299,6 +1307,7 @@ declare const VCarouselItem: {
|
|
|
1299
1307
|
height?: string | number | undefined;
|
|
1300
1308
|
width?: string | number | undefined;
|
|
1301
1309
|
aspectRatio?: string | number | undefined;
|
|
1310
|
+
color?: string | undefined;
|
|
1302
1311
|
maxHeight?: string | number | undefined;
|
|
1303
1312
|
maxWidth?: string | number | undefined;
|
|
1304
1313
|
minHeight?: string | number | undefined;
|
|
@@ -1314,6 +1323,7 @@ declare const VCarouselItem: {
|
|
|
1314
1323
|
sizes?: string | undefined;
|
|
1315
1324
|
srcset?: string | undefined;
|
|
1316
1325
|
contentClass?: string | undefined;
|
|
1326
|
+
rounded?: string | number | boolean | undefined;
|
|
1317
1327
|
gradient?: string | undefined;
|
|
1318
1328
|
lazySrc?: string | undefined;
|
|
1319
1329
|
selectedClass?: string | undefined;
|
|
@@ -1352,6 +1362,7 @@ declare const VCarouselItem: {
|
|
|
1352
1362
|
height?: string | number | undefined;
|
|
1353
1363
|
width?: string | number | undefined;
|
|
1354
1364
|
aspectRatio?: string | number | undefined;
|
|
1365
|
+
color?: string | undefined;
|
|
1355
1366
|
maxHeight?: string | number | undefined;
|
|
1356
1367
|
maxWidth?: string | number | undefined;
|
|
1357
1368
|
minHeight?: string | number | undefined;
|
|
@@ -1367,6 +1378,7 @@ declare const VCarouselItem: {
|
|
|
1367
1378
|
sizes?: string | undefined;
|
|
1368
1379
|
srcset?: string | undefined;
|
|
1369
1380
|
contentClass?: string | undefined;
|
|
1381
|
+
rounded?: string | number | boolean | undefined;
|
|
1370
1382
|
gradient?: string | undefined;
|
|
1371
1383
|
lazySrc?: string | undefined;
|
|
1372
1384
|
selectedClass?: string | undefined;
|
|
@@ -1399,6 +1411,7 @@ declare const VCarouselItem: {
|
|
|
1399
1411
|
options: IntersectionObserverInit;
|
|
1400
1412
|
cover: boolean;
|
|
1401
1413
|
src: string | srcObject;
|
|
1414
|
+
rounded: string | number | boolean;
|
|
1402
1415
|
reverseTransition: string | boolean;
|
|
1403
1416
|
}, {}, string, vue.SlotsType<Partial<{
|
|
1404
1417
|
default: () => vue.VNode<vue.RendererNode, vue.RendererElement, {
|
|
@@ -1431,6 +1444,10 @@ declare const VCarouselItem: {
|
|
|
1431
1444
|
type: (StringConstructor | BooleanConstructor)[];
|
|
1432
1445
|
default: undefined;
|
|
1433
1446
|
};
|
|
1447
|
+
rounded: {
|
|
1448
|
+
type: (StringConstructor | BooleanConstructor | NumberConstructor)[];
|
|
1449
|
+
default: undefined;
|
|
1450
|
+
};
|
|
1434
1451
|
height: (StringConstructor | NumberConstructor)[];
|
|
1435
1452
|
maxHeight: (StringConstructor | NumberConstructor)[];
|
|
1436
1453
|
maxWidth: (StringConstructor | NumberConstructor)[];
|
|
@@ -1442,6 +1459,7 @@ declare const VCarouselItem: {
|
|
|
1442
1459
|
inline: BooleanConstructor;
|
|
1443
1460
|
alt: StringConstructor;
|
|
1444
1461
|
cover: BooleanConstructor;
|
|
1462
|
+
color: StringConstructor;
|
|
1445
1463
|
draggable: {
|
|
1446
1464
|
type: vue.PropType<boolean | "false" | "true">;
|
|
1447
1465
|
default: undefined;
|
|
@@ -1483,6 +1501,10 @@ declare const VCarouselItem: {
|
|
|
1483
1501
|
type: (StringConstructor | BooleanConstructor)[];
|
|
1484
1502
|
default: undefined;
|
|
1485
1503
|
};
|
|
1504
|
+
rounded: {
|
|
1505
|
+
type: (StringConstructor | BooleanConstructor | NumberConstructor)[];
|
|
1506
|
+
default: undefined;
|
|
1507
|
+
};
|
|
1486
1508
|
height: (StringConstructor | NumberConstructor)[];
|
|
1487
1509
|
maxHeight: (StringConstructor | NumberConstructor)[];
|
|
1488
1510
|
maxWidth: (StringConstructor | NumberConstructor)[];
|
|
@@ -1494,6 +1516,7 @@ declare const VCarouselItem: {
|
|
|
1494
1516
|
inline: BooleanConstructor;
|
|
1495
1517
|
alt: StringConstructor;
|
|
1496
1518
|
cover: BooleanConstructor;
|
|
1519
|
+
color: StringConstructor;
|
|
1497
1520
|
draggable: {
|
|
1498
1521
|
type: vue.PropType<boolean | "false" | "true">;
|
|
1499
1522
|
default: undefined;
|
|
@@ -4,14 +4,17 @@ import "./VImg.css";
|
|
|
4
4
|
|
|
5
5
|
// Components
|
|
6
6
|
import { makeVResponsiveProps, VResponsive } from "../VResponsive/VResponsive.mjs"; // Composables
|
|
7
|
+
import { useBackgroundColor } from "../../composables/color.mjs";
|
|
7
8
|
import { makeComponentProps } from "../../composables/component.mjs";
|
|
9
|
+
import { makeRoundedProps, useRounded } from "../../composables/rounded.mjs";
|
|
8
10
|
import { makeTransitionProps, MaybeTransition } from "../../composables/transition.mjs"; // Directives
|
|
9
11
|
import intersect from "../../directives/intersect/index.mjs"; // Utilities
|
|
10
|
-
import { computed, nextTick, onBeforeMount, ref, shallowRef, vShow, watch, withDirectives } from 'vue';
|
|
12
|
+
import { computed, nextTick, onBeforeMount, ref, shallowRef, toRef, vShow, watch, withDirectives } from 'vue';
|
|
11
13
|
import { convertToUnit, genericComponent, propsFactory, SUPPORTS_INTERSECTION, useRender } from "../../util/index.mjs"; // Types
|
|
12
14
|
export const makeVImgProps = propsFactory({
|
|
13
15
|
alt: String,
|
|
14
16
|
cover: Boolean,
|
|
17
|
+
color: String,
|
|
15
18
|
draggable: {
|
|
16
19
|
type: [Boolean, String],
|
|
17
20
|
default: undefined
|
|
@@ -40,6 +43,7 @@ export const makeVImgProps = propsFactory({
|
|
|
40
43
|
position: String,
|
|
41
44
|
...makeVResponsiveProps(),
|
|
42
45
|
...makeComponentProps(),
|
|
46
|
+
...makeRoundedProps(),
|
|
43
47
|
...makeTransitionProps()
|
|
44
48
|
}, 'VImg');
|
|
45
49
|
export const VImg = genericComponent()({
|
|
@@ -58,6 +62,13 @@ export const VImg = genericComponent()({
|
|
|
58
62
|
emit,
|
|
59
63
|
slots
|
|
60
64
|
} = _ref;
|
|
65
|
+
const {
|
|
66
|
+
backgroundColorClasses,
|
|
67
|
+
backgroundColorStyles
|
|
68
|
+
} = useBackgroundColor(toRef(props, 'color'));
|
|
69
|
+
const {
|
|
70
|
+
roundedClasses
|
|
71
|
+
} = useRounded(props);
|
|
61
72
|
const currentSrc = shallowRef(''); // Set from srcset
|
|
62
73
|
const image = ref();
|
|
63
74
|
const state = shallowRef(props.eager ? 'loading' : 'idle');
|
|
@@ -250,10 +261,10 @@ export const VImg = genericComponent()({
|
|
|
250
261
|
return _withDirectives(_createVNode(VResponsive, _mergeProps({
|
|
251
262
|
"class": ['v-img', {
|
|
252
263
|
'v-img--booting': !isBooted.value
|
|
253
|
-
}, props.class],
|
|
264
|
+
}, backgroundColorClasses.value, roundedClasses.value, props.class],
|
|
254
265
|
"style": [{
|
|
255
266
|
width: convertToUnit(props.width === 'auto' ? naturalWidth.value : props.width)
|
|
256
|
-
}, props.style]
|
|
267
|
+
}, backgroundColorStyles.value, props.style]
|
|
257
268
|
}, responsiveProps, {
|
|
258
269
|
"aspectRatio": aspectRatio.value,
|
|
259
270
|
"aria-label": props.alt,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"VImg.mjs","names":["makeVResponsiveProps","VResponsive","makeComponentProps","makeTransitionProps","MaybeTransition","intersect","computed","nextTick","onBeforeMount","ref","shallowRef","vShow","watch","withDirectives","convertToUnit","genericComponent","propsFactory","SUPPORTS_INTERSECTION","useRender","makeVImgProps","alt","String","cover","Boolean","draggable","type","default","undefined","eager","gradient","lazySrc","options","Object","root","rootMargin","threshold","sizes","src","crossorigin","referrerpolicy","srcset","position","VImg","name","directives","props","emits","loadstart","value","load","error","setup","_ref","emit","slots","currentSrc","image","state","naturalWidth","naturalHeight","normalisedSrc","aspect","Number","aspectRatio","init","val","oldVal","pollForSize","isIntersecting","lazyImg","Image","setTimeout","complete","onError","onLoad","getSrc","img","timer","timeout","arguments","length","poll","clearTimeout","imgHeight","imgWidth","window","endsWith","startsWith","containClasses","__image","_createVNode","objectPosition","sources","transition","__preloadImage","__placeholder","placeholder","__error","__gradient","backgroundImage","isBooted","stop","requestAnimationFrame","responsiveProps","filterProps","_withDirectives","_mergeProps","class","width","style","additional","_Fragment","_resolveDirective","handler","once"],"sources":["../../../src/components/VImg/VImg.tsx"],"sourcesContent":["// Styles\nimport './VImg.sass'\n\n// Components\nimport { makeVResponsiveProps, VResponsive } from '@/components/VResponsive/VResponsive'\n\n// Composables\nimport { makeComponentProps } from '@/composables/component'\nimport { makeTransitionProps, MaybeTransition } from '@/composables/transition'\n\n// Directives\nimport intersect from '@/directives/intersect'\n\n// Utilities\nimport {\n computed,\n nextTick,\n onBeforeMount,\n ref,\n shallowRef,\n vShow,\n watch,\n withDirectives,\n} from 'vue'\nimport {\n convertToUnit,\n genericComponent,\n propsFactory,\n SUPPORTS_INTERSECTION,\n useRender,\n} from '@/util'\n\n// Types\nimport type { PropType } from 'vue'\n\n// not intended for public use, this is passed in by vuetify-loader\nexport interface srcObject {\n src?: string\n srcset?: string\n lazySrc?: string\n aspect: number\n}\n\nexport type VImgSlots = {\n default: never\n placeholder: never\n error: never\n sources: never\n}\n\nexport const makeVImgProps = propsFactory({\n alt: String,\n cover: Boolean,\n draggable: {\n type: [Boolean, String] as PropType<boolean | 'true' | 'false'>,\n default: undefined,\n },\n eager: Boolean,\n gradient: String,\n lazySrc: String,\n options: {\n type: Object as PropType<IntersectionObserverInit>,\n // For more information on types, navigate to:\n // https://developer.mozilla.org/en-US/docs/Web/API/Intersection_Observer_API\n default: () => ({\n root: undefined,\n rootMargin: undefined,\n threshold: undefined,\n }),\n },\n sizes: String,\n src: {\n type: [String, Object] as PropType<string | srcObject>,\n default: '',\n },\n crossorigin: String as PropType<'' | 'anonymous' | 'use-credentials'>,\n referrerpolicy: String as PropType<\n | 'no-referrer'\n | 'no-referrer-when-downgrade'\n | 'origin'\n | 'origin-when-cross-origin'\n | 'same-origin'\n | 'strict-origin'\n | 'strict-origin-when-cross-origin'\n | 'unsafe-url'\n >,\n srcset: String,\n position: String,\n\n ...makeVResponsiveProps(),\n ...makeComponentProps(),\n ...makeTransitionProps(),\n}, 'VImg')\n\nexport const VImg = genericComponent<VImgSlots>()({\n name: 'VImg',\n\n directives: { intersect },\n\n props: makeVImgProps(),\n\n emits: {\n loadstart: (value: string | undefined) => true,\n load: (value: string | undefined) => true,\n error: (value: string | undefined) => true,\n },\n\n setup (props, { emit, slots }) {\n const currentSrc = shallowRef('') // Set from srcset\n const image = ref<HTMLImageElement>()\n const state = shallowRef<'idle' | 'loading' | 'loaded' | 'error'>(props.eager ? 'loading' : 'idle')\n const naturalWidth = shallowRef<number>()\n const naturalHeight = shallowRef<number>()\n\n const normalisedSrc = computed<srcObject>(() => {\n return props.src && typeof props.src === 'object'\n ? {\n src: props.src.src,\n srcset: props.srcset || props.src.srcset,\n lazySrc: props.lazySrc || props.src.lazySrc,\n aspect: Number(props.aspectRatio || props.src.aspect || 0),\n } : {\n src: props.src,\n srcset: props.srcset,\n lazySrc: props.lazySrc,\n aspect: Number(props.aspectRatio || 0),\n }\n })\n const aspectRatio = computed(() => {\n return normalisedSrc.value.aspect || naturalWidth.value! / naturalHeight.value! || 0\n })\n\n watch(() => props.src, () => {\n init(state.value !== 'idle')\n })\n watch(aspectRatio, (val, oldVal) => {\n if (!val && oldVal && image.value) {\n pollForSize(image.value)\n }\n })\n\n // TODO: getSrc when window width changes\n\n onBeforeMount(() => init())\n\n function init (isIntersecting?: boolean) {\n if (props.eager && isIntersecting) return\n if (\n SUPPORTS_INTERSECTION &&\n !isIntersecting &&\n !props.eager\n ) return\n\n state.value = 'loading'\n\n if (normalisedSrc.value.lazySrc) {\n const lazyImg = new Image()\n lazyImg.src = normalisedSrc.value.lazySrc\n pollForSize(lazyImg, null)\n }\n\n if (!normalisedSrc.value.src) return\n\n nextTick(() => {\n emit('loadstart', image.value?.currentSrc || normalisedSrc.value.src)\n\n setTimeout(() => {\n if (image.value?.complete) {\n if (!image.value.naturalWidth) {\n onError()\n }\n\n if (state.value === 'error') return\n\n if (!aspectRatio.value) pollForSize(image.value, null)\n if (state.value === 'loading') onLoad()\n } else {\n if (!aspectRatio.value) pollForSize(image.value!)\n getSrc()\n }\n })\n })\n }\n\n function onLoad () {\n getSrc()\n pollForSize(image.value!)\n state.value = 'loaded'\n emit('load', image.value?.currentSrc || normalisedSrc.value.src)\n }\n\n function onError () {\n state.value = 'error'\n emit('error', image.value?.currentSrc || normalisedSrc.value.src)\n }\n\n function getSrc () {\n const img = image.value\n if (img) currentSrc.value = img.currentSrc || img.src\n }\n\n let timer = -1\n function pollForSize (img: HTMLImageElement, timeout: number | null = 100) {\n const poll = () => {\n clearTimeout(timer)\n const { naturalHeight: imgHeight, naturalWidth: imgWidth } = img\n\n if (imgHeight || imgWidth) {\n naturalWidth.value = imgWidth\n naturalHeight.value = imgHeight\n } else if (!img.complete && state.value === 'loading' && timeout != null) {\n timer = window.setTimeout(poll, timeout)\n } else if (img.currentSrc.endsWith('.svg') || img.currentSrc.startsWith('data:image/svg+xml')) {\n naturalWidth.value = 1\n naturalHeight.value = 1\n }\n }\n\n poll()\n }\n\n const containClasses = computed(() => ({\n 'v-img__img--cover': props.cover,\n 'v-img__img--contain': !props.cover,\n }))\n\n const __image = () => {\n if (!normalisedSrc.value.src || state.value === 'idle') return null\n\n const img = (\n <img\n class={['v-img__img', containClasses.value]}\n style={{ objectPosition: props.position }}\n src={ normalisedSrc.value.src }\n srcset={ normalisedSrc.value.srcset }\n alt={ props.alt }\n crossorigin={ props.crossorigin }\n referrerpolicy={ props.referrerpolicy }\n draggable={ props.draggable }\n sizes={ props.sizes }\n ref={ image }\n onLoad={ onLoad }\n onError={ onError }\n />\n )\n\n const sources = slots.sources?.()\n\n return (\n <MaybeTransition transition={ props.transition } appear>\n {\n withDirectives(\n sources\n ? <picture class=\"v-img__picture\">{ sources }{ img }</picture>\n : img,\n [[vShow, state.value === 'loaded']]\n )\n }\n </MaybeTransition>\n )\n }\n\n const __preloadImage = () => (\n <MaybeTransition transition={ props.transition }>\n { normalisedSrc.value.lazySrc && state.value !== 'loaded' && (\n <img\n class={['v-img__img', 'v-img__img--preload', containClasses.value]}\n style={{ objectPosition: props.position }}\n src={ normalisedSrc.value.lazySrc }\n alt={ props.alt }\n crossorigin={ props.crossorigin }\n referrerpolicy={ props.referrerpolicy }\n draggable={ props.draggable }\n />\n )}\n </MaybeTransition>\n )\n\n const __placeholder = () => {\n if (!slots.placeholder) return null\n\n return (\n <MaybeTransition transition={ props.transition } appear>\n { (state.value === 'loading' || (state.value === 'error' && !slots.error)) &&\n <div class=\"v-img__placeholder\">{ slots.placeholder() }</div>\n }\n </MaybeTransition>\n )\n }\n\n const __error = () => {\n if (!slots.error) return null\n\n return (\n <MaybeTransition transition={ props.transition } appear>\n { state.value === 'error' &&\n <div class=\"v-img__error\">{ slots.error() }</div>\n }\n </MaybeTransition>\n )\n }\n\n const __gradient = () => {\n if (!props.gradient) return null\n\n return <div class=\"v-img__gradient\" style={{ backgroundImage: `linear-gradient(${props.gradient})` }} />\n }\n\n const isBooted = shallowRef(false)\n {\n const stop = watch(aspectRatio, val => {\n if (val) {\n // Doesn't work with nextTick, idk why\n requestAnimationFrame(() => {\n requestAnimationFrame(() => {\n isBooted.value = true\n })\n })\n stop()\n }\n })\n }\n\n useRender(() => {\n const responsiveProps = VResponsive.filterProps(props)\n return (\n <VResponsive\n class={[\n 'v-img',\n { 'v-img--booting': !isBooted.value },\n props.class,\n ]}\n style={[\n { width: convertToUnit(props.width === 'auto' ? naturalWidth.value : props.width) },\n props.style,\n ]}\n { ...responsiveProps }\n aspectRatio={ aspectRatio.value }\n aria-label={ props.alt }\n role={ props.alt ? 'img' : undefined }\n v-intersect={[{\n handler: init,\n options: props.options,\n }, null, ['once']]}\n >{{\n additional: () => (\n <>\n <__image />\n <__preloadImage />\n <__gradient />\n <__placeholder />\n <__error />\n </>\n ),\n default: slots.default,\n }}</VResponsive>\n )\n })\n\n return {\n currentSrc,\n image,\n state,\n naturalWidth,\n naturalHeight,\n }\n },\n})\n\nexport type VImg = InstanceType<typeof VImg>\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"VImg.mjs","names":["makeVResponsiveProps","VResponsive","useBackgroundColor","makeComponentProps","makeRoundedProps","useRounded","makeTransitionProps","MaybeTransition","intersect","computed","nextTick","onBeforeMount","ref","shallowRef","toRef","vShow","watch","withDirectives","convertToUnit","genericComponent","propsFactory","SUPPORTS_INTERSECTION","useRender","makeVImgProps","alt","String","cover","Boolean","color","draggable","type","default","undefined","eager","gradient","lazySrc","options","Object","root","rootMargin","threshold","sizes","src","crossorigin","referrerpolicy","srcset","position","VImg","name","directives","props","emits","loadstart","value","load","error","setup","_ref","emit","slots","backgroundColorClasses","backgroundColorStyles","roundedClasses","currentSrc","image","state","naturalWidth","naturalHeight","normalisedSrc","aspect","Number","aspectRatio","init","val","oldVal","pollForSize","isIntersecting","lazyImg","Image","setTimeout","complete","onError","onLoad","getSrc","img","timer","timeout","arguments","length","poll","clearTimeout","imgHeight","imgWidth","window","endsWith","startsWith","containClasses","__image","_createVNode","objectPosition","sources","transition","__preloadImage","__placeholder","placeholder","__error","__gradient","backgroundImage","isBooted","stop","requestAnimationFrame","responsiveProps","filterProps","_withDirectives","_mergeProps","class","width","style","additional","_Fragment","_resolveDirective","handler","once"],"sources":["../../../src/components/VImg/VImg.tsx"],"sourcesContent":["// Styles\nimport './VImg.sass'\n\n// Components\nimport { makeVResponsiveProps, VResponsive } from '@/components/VResponsive/VResponsive'\n\n// Composables\nimport { useBackgroundColor } from '@/composables/color'\nimport { makeComponentProps } from '@/composables/component'\nimport { makeRoundedProps, useRounded } from '@/composables/rounded'\nimport { makeTransitionProps, MaybeTransition } from '@/composables/transition'\n\n// Directives\nimport intersect from '@/directives/intersect'\n\n// Utilities\nimport {\n computed,\n nextTick,\n onBeforeMount,\n ref,\n shallowRef,\n toRef,\n vShow,\n watch,\n withDirectives,\n} from 'vue'\nimport {\n convertToUnit,\n genericComponent,\n propsFactory,\n SUPPORTS_INTERSECTION,\n useRender,\n} from '@/util'\n\n// Types\nimport type { PropType } from 'vue'\n\n// not intended for public use, this is passed in by vuetify-loader\nexport interface srcObject {\n src?: string\n srcset?: string\n lazySrc?: string\n aspect: number\n}\n\nexport type VImgSlots = {\n default: never\n placeholder: never\n error: never\n sources: never\n}\n\nexport const makeVImgProps = propsFactory({\n alt: String,\n cover: Boolean,\n color: String,\n draggable: {\n type: [Boolean, String] as PropType<boolean | 'true' | 'false'>,\n default: undefined,\n },\n eager: Boolean,\n gradient: String,\n lazySrc: String,\n options: {\n type: Object as PropType<IntersectionObserverInit>,\n // For more information on types, navigate to:\n // https://developer.mozilla.org/en-US/docs/Web/API/Intersection_Observer_API\n default: () => ({\n root: undefined,\n rootMargin: undefined,\n threshold: undefined,\n }),\n },\n sizes: String,\n src: {\n type: [String, Object] as PropType<string | srcObject>,\n default: '',\n },\n crossorigin: String as PropType<'' | 'anonymous' | 'use-credentials'>,\n referrerpolicy: String as PropType<\n | 'no-referrer'\n | 'no-referrer-when-downgrade'\n | 'origin'\n | 'origin-when-cross-origin'\n | 'same-origin'\n | 'strict-origin'\n | 'strict-origin-when-cross-origin'\n | 'unsafe-url'\n >,\n srcset: String,\n position: String,\n\n ...makeVResponsiveProps(),\n ...makeComponentProps(),\n ...makeRoundedProps(),\n ...makeTransitionProps(),\n}, 'VImg')\n\nexport const VImg = genericComponent<VImgSlots>()({\n name: 'VImg',\n\n directives: { intersect },\n\n props: makeVImgProps(),\n\n emits: {\n loadstart: (value: string | undefined) => true,\n load: (value: string | undefined) => true,\n error: (value: string | undefined) => true,\n },\n\n setup (props, { emit, slots }) {\n const { backgroundColorClasses, backgroundColorStyles } = useBackgroundColor(toRef(props, 'color'))\n const { roundedClasses } = useRounded(props)\n\n const currentSrc = shallowRef('') // Set from srcset\n const image = ref<HTMLImageElement>()\n const state = shallowRef<'idle' | 'loading' | 'loaded' | 'error'>(props.eager ? 'loading' : 'idle')\n const naturalWidth = shallowRef<number>()\n const naturalHeight = shallowRef<number>()\n\n const normalisedSrc = computed<srcObject>(() => {\n return props.src && typeof props.src === 'object'\n ? {\n src: props.src.src,\n srcset: props.srcset || props.src.srcset,\n lazySrc: props.lazySrc || props.src.lazySrc,\n aspect: Number(props.aspectRatio || props.src.aspect || 0),\n } : {\n src: props.src,\n srcset: props.srcset,\n lazySrc: props.lazySrc,\n aspect: Number(props.aspectRatio || 0),\n }\n })\n const aspectRatio = computed(() => {\n return normalisedSrc.value.aspect || naturalWidth.value! / naturalHeight.value! || 0\n })\n\n watch(() => props.src, () => {\n init(state.value !== 'idle')\n })\n watch(aspectRatio, (val, oldVal) => {\n if (!val && oldVal && image.value) {\n pollForSize(image.value)\n }\n })\n\n // TODO: getSrc when window width changes\n\n onBeforeMount(() => init())\n\n function init (isIntersecting?: boolean) {\n if (props.eager && isIntersecting) return\n if (\n SUPPORTS_INTERSECTION &&\n !isIntersecting &&\n !props.eager\n ) return\n\n state.value = 'loading'\n\n if (normalisedSrc.value.lazySrc) {\n const lazyImg = new Image()\n lazyImg.src = normalisedSrc.value.lazySrc\n pollForSize(lazyImg, null)\n }\n\n if (!normalisedSrc.value.src) return\n\n nextTick(() => {\n emit('loadstart', image.value?.currentSrc || normalisedSrc.value.src)\n\n setTimeout(() => {\n if (image.value?.complete) {\n if (!image.value.naturalWidth) {\n onError()\n }\n\n if (state.value === 'error') return\n\n if (!aspectRatio.value) pollForSize(image.value, null)\n if (state.value === 'loading') onLoad()\n } else {\n if (!aspectRatio.value) pollForSize(image.value!)\n getSrc()\n }\n })\n })\n }\n\n function onLoad () {\n getSrc()\n pollForSize(image.value!)\n state.value = 'loaded'\n emit('load', image.value?.currentSrc || normalisedSrc.value.src)\n }\n\n function onError () {\n state.value = 'error'\n emit('error', image.value?.currentSrc || normalisedSrc.value.src)\n }\n\n function getSrc () {\n const img = image.value\n if (img) currentSrc.value = img.currentSrc || img.src\n }\n\n let timer = -1\n function pollForSize (img: HTMLImageElement, timeout: number | null = 100) {\n const poll = () => {\n clearTimeout(timer)\n const { naturalHeight: imgHeight, naturalWidth: imgWidth } = img\n\n if (imgHeight || imgWidth) {\n naturalWidth.value = imgWidth\n naturalHeight.value = imgHeight\n } else if (!img.complete && state.value === 'loading' && timeout != null) {\n timer = window.setTimeout(poll, timeout)\n } else if (img.currentSrc.endsWith('.svg') || img.currentSrc.startsWith('data:image/svg+xml')) {\n naturalWidth.value = 1\n naturalHeight.value = 1\n }\n }\n\n poll()\n }\n\n const containClasses = computed(() => ({\n 'v-img__img--cover': props.cover,\n 'v-img__img--contain': !props.cover,\n }))\n\n const __image = () => {\n if (!normalisedSrc.value.src || state.value === 'idle') return null\n\n const img = (\n <img\n class={['v-img__img', containClasses.value]}\n style={{ objectPosition: props.position }}\n src={ normalisedSrc.value.src }\n srcset={ normalisedSrc.value.srcset }\n alt={ props.alt }\n crossorigin={ props.crossorigin }\n referrerpolicy={ props.referrerpolicy }\n draggable={ props.draggable }\n sizes={ props.sizes }\n ref={ image }\n onLoad={ onLoad }\n onError={ onError }\n />\n )\n\n const sources = slots.sources?.()\n\n return (\n <MaybeTransition transition={ props.transition } appear>\n {\n withDirectives(\n sources\n ? <picture class=\"v-img__picture\">{ sources }{ img }</picture>\n : img,\n [[vShow, state.value === 'loaded']]\n )\n }\n </MaybeTransition>\n )\n }\n\n const __preloadImage = () => (\n <MaybeTransition transition={ props.transition }>\n { normalisedSrc.value.lazySrc && state.value !== 'loaded' && (\n <img\n class={['v-img__img', 'v-img__img--preload', containClasses.value]}\n style={{ objectPosition: props.position }}\n src={ normalisedSrc.value.lazySrc }\n alt={ props.alt }\n crossorigin={ props.crossorigin }\n referrerpolicy={ props.referrerpolicy }\n draggable={ props.draggable }\n />\n )}\n </MaybeTransition>\n )\n\n const __placeholder = () => {\n if (!slots.placeholder) return null\n\n return (\n <MaybeTransition transition={ props.transition } appear>\n { (state.value === 'loading' || (state.value === 'error' && !slots.error)) &&\n <div class=\"v-img__placeholder\">{ slots.placeholder() }</div>\n }\n </MaybeTransition>\n )\n }\n\n const __error = () => {\n if (!slots.error) return null\n\n return (\n <MaybeTransition transition={ props.transition } appear>\n { state.value === 'error' &&\n <div class=\"v-img__error\">{ slots.error() }</div>\n }\n </MaybeTransition>\n )\n }\n\n const __gradient = () => {\n if (!props.gradient) return null\n\n return <div class=\"v-img__gradient\" style={{ backgroundImage: `linear-gradient(${props.gradient})` }} />\n }\n\n const isBooted = shallowRef(false)\n {\n const stop = watch(aspectRatio, val => {\n if (val) {\n // Doesn't work with nextTick, idk why\n requestAnimationFrame(() => {\n requestAnimationFrame(() => {\n isBooted.value = true\n })\n })\n stop()\n }\n })\n }\n\n useRender(() => {\n const responsiveProps = VResponsive.filterProps(props)\n return (\n <VResponsive\n class={[\n 'v-img',\n { 'v-img--booting': !isBooted.value },\n backgroundColorClasses.value,\n roundedClasses.value,\n props.class,\n ]}\n style={[\n { width: convertToUnit(props.width === 'auto' ? naturalWidth.value : props.width) },\n backgroundColorStyles.value,\n props.style,\n ]}\n { ...responsiveProps }\n aspectRatio={ aspectRatio.value }\n aria-label={ props.alt }\n role={ props.alt ? 'img' : undefined }\n v-intersect={[{\n handler: init,\n options: props.options,\n }, null, ['once']]}\n >{{\n additional: () => (\n <>\n <__image />\n <__preloadImage />\n <__gradient />\n <__placeholder />\n <__error />\n </>\n ),\n default: slots.default,\n }}</VResponsive>\n )\n })\n\n return {\n currentSrc,\n image,\n state,\n naturalWidth,\n naturalHeight,\n }\n },\n})\n\nexport type VImg = InstanceType<typeof VImg>\n"],"mappings":"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"}
|
|
@@ -26,6 +26,7 @@ declare const VImg: {
|
|
|
26
26
|
options: IntersectionObserverInit;
|
|
27
27
|
cover: boolean;
|
|
28
28
|
src: string | srcObject;
|
|
29
|
+
rounded: string | number | boolean;
|
|
29
30
|
}> & Omit<{
|
|
30
31
|
inline: boolean;
|
|
31
32
|
transition: string | boolean | (vue.TransitionProps & {
|
|
@@ -39,6 +40,7 @@ declare const VImg: {
|
|
|
39
40
|
height?: string | number | undefined;
|
|
40
41
|
width?: string | number | undefined;
|
|
41
42
|
aspectRatio?: string | number | undefined;
|
|
43
|
+
color?: string | undefined;
|
|
42
44
|
maxHeight?: string | number | undefined;
|
|
43
45
|
maxWidth?: string | number | undefined;
|
|
44
46
|
minHeight?: string | number | undefined;
|
|
@@ -52,6 +54,7 @@ declare const VImg: {
|
|
|
52
54
|
sizes?: string | undefined;
|
|
53
55
|
srcset?: string | undefined;
|
|
54
56
|
contentClass?: string | undefined;
|
|
57
|
+
rounded?: string | number | boolean | undefined;
|
|
55
58
|
gradient?: string | undefined;
|
|
56
59
|
lazySrc?: string | undefined;
|
|
57
60
|
$children?: vue.VNodeChild | (() => vue.VNodeChild) | {
|
|
@@ -87,6 +90,7 @@ declare const VImg: {
|
|
|
87
90
|
height?: string | number | undefined;
|
|
88
91
|
width?: string | number | undefined;
|
|
89
92
|
aspectRatio?: string | number | undefined;
|
|
93
|
+
color?: string | undefined;
|
|
90
94
|
maxHeight?: string | number | undefined;
|
|
91
95
|
maxWidth?: string | number | undefined;
|
|
92
96
|
minHeight?: string | number | undefined;
|
|
@@ -100,6 +104,7 @@ declare const VImg: {
|
|
|
100
104
|
sizes?: string | undefined;
|
|
101
105
|
srcset?: string | undefined;
|
|
102
106
|
contentClass?: string | undefined;
|
|
107
|
+
rounded?: string | number | boolean | undefined;
|
|
103
108
|
gradient?: string | undefined;
|
|
104
109
|
lazySrc?: string | undefined;
|
|
105
110
|
} & {
|
|
@@ -124,7 +129,7 @@ declare const VImg: {
|
|
|
124
129
|
onError?: ((value: string | undefined) => any) | undefined;
|
|
125
130
|
onLoad?: ((value: string | undefined) => any) | undefined;
|
|
126
131
|
onLoadstart?: ((value: string | undefined) => any) | undefined;
|
|
127
|
-
}, "inline" | "transition" | "style" | "draggable" | "eager" | "options" | "cover" | "src">;
|
|
132
|
+
}, "inline" | "transition" | "style" | "draggable" | "eager" | "options" | "cover" | "src" | "rounded">;
|
|
128
133
|
$attrs: {
|
|
129
134
|
[x: string]: unknown;
|
|
130
135
|
};
|
|
@@ -163,6 +168,7 @@ declare const VImg: {
|
|
|
163
168
|
height?: string | number | undefined;
|
|
164
169
|
width?: string | number | undefined;
|
|
165
170
|
aspectRatio?: string | number | undefined;
|
|
171
|
+
color?: string | undefined;
|
|
166
172
|
maxHeight?: string | number | undefined;
|
|
167
173
|
maxWidth?: string | number | undefined;
|
|
168
174
|
minHeight?: string | number | undefined;
|
|
@@ -176,6 +182,7 @@ declare const VImg: {
|
|
|
176
182
|
sizes?: string | undefined;
|
|
177
183
|
srcset?: string | undefined;
|
|
178
184
|
contentClass?: string | undefined;
|
|
185
|
+
rounded?: string | number | boolean | undefined;
|
|
179
186
|
gradient?: string | undefined;
|
|
180
187
|
lazySrc?: string | undefined;
|
|
181
188
|
} & {
|
|
@@ -221,6 +228,7 @@ declare const VImg: {
|
|
|
221
228
|
options: IntersectionObserverInit;
|
|
222
229
|
cover: boolean;
|
|
223
230
|
src: string | srcObject;
|
|
231
|
+
rounded: string | number | boolean;
|
|
224
232
|
}, {}, string, vue.SlotsType<Partial<{
|
|
225
233
|
default: () => vue.VNode<vue.RendererNode, vue.RendererElement, {
|
|
226
234
|
[key: string]: any;
|
|
@@ -268,6 +276,7 @@ declare const VImg: {
|
|
|
268
276
|
height?: string | number | undefined;
|
|
269
277
|
width?: string | number | undefined;
|
|
270
278
|
aspectRatio?: string | number | undefined;
|
|
279
|
+
color?: string | undefined;
|
|
271
280
|
maxHeight?: string | number | undefined;
|
|
272
281
|
maxWidth?: string | number | undefined;
|
|
273
282
|
minHeight?: string | number | undefined;
|
|
@@ -281,6 +290,7 @@ declare const VImg: {
|
|
|
281
290
|
sizes?: string | undefined;
|
|
282
291
|
srcset?: string | undefined;
|
|
283
292
|
contentClass?: string | undefined;
|
|
293
|
+
rounded?: string | number | boolean | undefined;
|
|
284
294
|
gradient?: string | undefined;
|
|
285
295
|
lazySrc?: string | undefined;
|
|
286
296
|
} & {
|
|
@@ -329,6 +339,7 @@ declare const VImg: {
|
|
|
329
339
|
height?: string | number | undefined;
|
|
330
340
|
width?: string | number | undefined;
|
|
331
341
|
aspectRatio?: string | number | undefined;
|
|
342
|
+
color?: string | undefined;
|
|
332
343
|
maxHeight?: string | number | undefined;
|
|
333
344
|
maxWidth?: string | number | undefined;
|
|
334
345
|
minHeight?: string | number | undefined;
|
|
@@ -342,6 +353,7 @@ declare const VImg: {
|
|
|
342
353
|
sizes?: string | undefined;
|
|
343
354
|
srcset?: string | undefined;
|
|
344
355
|
contentClass?: string | undefined;
|
|
356
|
+
rounded?: string | number | boolean | undefined;
|
|
345
357
|
gradient?: string | undefined;
|
|
346
358
|
lazySrc?: string | undefined;
|
|
347
359
|
} & {
|
|
@@ -387,6 +399,7 @@ declare const VImg: {
|
|
|
387
399
|
options: IntersectionObserverInit;
|
|
388
400
|
cover: boolean;
|
|
389
401
|
src: string | srcObject;
|
|
402
|
+
rounded: string | number | boolean;
|
|
390
403
|
}, {}, string, vue.SlotsType<Partial<{
|
|
391
404
|
default: () => vue.VNode<vue.RendererNode, vue.RendererElement, {
|
|
392
405
|
[key: string]: any;
|
|
@@ -408,6 +421,10 @@ declare const VImg: {
|
|
|
408
421
|
default: string;
|
|
409
422
|
validator: (val: unknown) => boolean;
|
|
410
423
|
};
|
|
424
|
+
rounded: {
|
|
425
|
+
type: (StringConstructor | BooleanConstructor | NumberConstructor)[];
|
|
426
|
+
default: undefined;
|
|
427
|
+
};
|
|
411
428
|
class: PropType<any>;
|
|
412
429
|
style: {
|
|
413
430
|
type: PropType<vue.StyleValue>;
|
|
@@ -424,6 +441,7 @@ declare const VImg: {
|
|
|
424
441
|
inline: BooleanConstructor;
|
|
425
442
|
alt: StringConstructor;
|
|
426
443
|
cover: BooleanConstructor;
|
|
444
|
+
color: StringConstructor;
|
|
427
445
|
draggable: {
|
|
428
446
|
type: PropType<boolean | "false" | "true">;
|
|
429
447
|
default: undefined;
|
|
@@ -456,6 +474,10 @@ declare const VImg: {
|
|
|
456
474
|
default: string;
|
|
457
475
|
validator: (val: unknown) => boolean;
|
|
458
476
|
};
|
|
477
|
+
rounded: {
|
|
478
|
+
type: (StringConstructor | BooleanConstructor | NumberConstructor)[];
|
|
479
|
+
default: undefined;
|
|
480
|
+
};
|
|
459
481
|
class: PropType<any>;
|
|
460
482
|
style: {
|
|
461
483
|
type: PropType<vue.StyleValue>;
|
|
@@ -472,6 +494,7 @@ declare const VImg: {
|
|
|
472
494
|
inline: BooleanConstructor;
|
|
473
495
|
alt: StringConstructor;
|
|
474
496
|
cover: BooleanConstructor;
|
|
497
|
+
color: StringConstructor;
|
|
475
498
|
draggable: {
|
|
476
499
|
type: PropType<boolean | "false" | "true">;
|
|
477
500
|
default: undefined;
|