element-plus
Version:
A Component Library for Vue 3
1 lines • 6.85 kB
Source Map (JSON)
{"version":3,"file":"image.mjs","names":[],"sources":["../../../../../../packages/components/image/src/image.ts"],"sourcesContent":["import {\n buildProps,\n definePropType,\n isNumber,\n mutable,\n} from '@element-plus/utils'\n\nimport type { ExtractPublicPropTypes } from 'vue'\nimport type Image from './image.vue'\n\nexport type ImageFitType =\n | ''\n | 'contain'\n | 'cover'\n | 'fill'\n | 'none'\n | 'scale-down'\nexport type ImageCrossorigin = 'anonymous' | 'use-credentials' | ''\n\nexport interface ImageProps {\n /**\n * @description when enabling preview, use this flag to control whether clicking on backdrop can exit preview mode.\n */\n hideOnClickModal?: boolean\n /**\n * @description image source, same as native.\n */\n src?: string\n /**\n * @description indicate how the image should be resized to fit its container, same as [object-fit](https://developer.mozilla.org/en-US/docs/Web/CSS/object-fit).\n */\n fit?: ImageFitType\n /**\n * @description Indicates how the browser should load the image, same as [native](https://developer.mozilla.org/en-US/docs/Web/HTML/Reference/Elements/img#loading)\n */\n loading?: 'eager' | 'lazy'\n /**\n * @description whether to use lazy load.\n */\n lazy?: boolean\n /**\n * @description the container to add scroll listener when using lazy load.\n */\n scrollContainer?: string | HTMLElement\n /**\n * @description allow big image preview.\n */\n previewSrcList?: string[]\n /**\n * @description whether to append image-viewer to body. A nested parent element attribute transform should have this attribute set to `true`.\n */\n previewTeleported?: boolean\n /**\n * @description set image preview z-index.\n */\n zIndex?: number\n /**\n * @description initial preview image index, less than the length of `url-list`.\n */\n initialIndex?: number\n /**\n * @description whether the viewer preview is infinite.\n */\n infinite?: boolean\n /**\n * @description whether the image-viewer can be closed by pressing ESC.\n */\n closeOnPressEscape?: boolean\n /**\n * @description the zoom rate of the image viewer zoom event\n */\n zoomRate?: number\n /**\n * @description preview image scale.\n */\n scale?: number\n /**\n * @description the min scale of the image viewer zoom event.\n */\n minScale?: number\n /**\n * @description the max scale of the image viewer zoom event.\n */\n maxScale?: number\n /**\n * @description show preview image progress content.\n */\n showProgress?: boolean\n /**\n * @description set HTML attribute: crossorigin.\n */\n crossorigin?: ImageCrossorigin\n}\n\n/**\n * @deprecated Removed after 3.0.0, Use `ImageProps` instead.\n */\nexport const imageProps = buildProps({\n /**\n * @description when enabling preview, use this flag to control whether clicking on backdrop can exit preview mode.\n */\n hideOnClickModal: Boolean,\n /**\n * @description image source, same as native.\n */\n src: {\n type: String,\n default: '',\n },\n /**\n * @description indicate how the image should be resized to fit its container, same as [object-fit](https://developer.mozilla.org/en-US/docs/Web/CSS/object-fit).\n */\n fit: {\n type: String,\n values: ['', 'contain', 'cover', 'fill', 'none', 'scale-down'],\n default: '',\n },\n /**\n * @description Indicates how the browser should load the image, same as [native](https://developer.mozilla.org/en-US/docs/Web/HTML/Reference/Elements/img#loading)\n */\n loading: {\n type: String,\n values: ['eager', 'lazy'],\n },\n /**\n * @description whether to use lazy load.\n */\n lazy: Boolean,\n /**\n * @description the container to add scroll listener when using lazy load.\n */\n scrollContainer: {\n type: definePropType<string | HTMLElement | undefined>([String, Object]),\n },\n /**\n * @description allow big image preview.\n */\n previewSrcList: {\n type: definePropType<string[]>(Array),\n default: () => mutable([] as const),\n },\n /**\n * @description whether to append image-viewer to body. A nested parent element attribute transform should have this attribute set to `true`.\n */\n previewTeleported: Boolean,\n /**\n * @description set image preview z-index.\n */\n zIndex: {\n type: Number,\n },\n /**\n * @description initial preview image index, less than the length of `url-list`.\n */\n initialIndex: {\n type: Number,\n default: 0,\n },\n /**\n * @description whether the viewer preview is infinite.\n */\n infinite: {\n type: Boolean,\n default: true,\n },\n /**\n * @description whether the image-viewer can be closed by pressing ESC.\n */\n closeOnPressEscape: {\n type: Boolean,\n default: true,\n },\n /**\n * @description the zoom rate of the image viewer zoom event\n */\n zoomRate: {\n type: Number,\n default: 1.2,\n },\n /**\n * @description preview image scale.\n */\n scale: {\n type: Number,\n default: 1,\n },\n /**\n * @description the min scale of the image viewer zoom event.\n */\n minScale: {\n type: Number,\n default: 0.2,\n },\n /**\n * @description the max scale of the image viewer zoom event.\n */\n maxScale: {\n type: Number,\n default: 7,\n },\n /**\n * @description show preview image progress content.\n */\n showProgress: Boolean,\n /**\n * @description set HTML attribute: crossorigin.\n */\n crossorigin: {\n type: definePropType<ImageCrossorigin>(String),\n },\n} as const)\n\n/**\n * @deprecated Removed after 3.0.0, Use `ImageProps` instead.\n */\nexport type ImagePropsPublic = ExtractPublicPropTypes<typeof imageProps>\n\nexport const imageEmits = {\n load: (evt: Event) => evt instanceof Event,\n error: (evt: Event) => evt instanceof Event,\n switch: (val: number) => isNumber(val),\n close: () => true,\n show: () => true,\n}\nexport type ImageEmits = typeof imageEmits\nexport type ImageInstance = InstanceType<typeof Image> & unknown\n"],"mappings":";;;;;;;;AAiGA,MAAa,aAAa,WAAW;CAInC,kBAAkB;CAIlB,KAAK;EACH,MAAM;EACN,SAAS;EACV;CAID,KAAK;EACH,MAAM;EACN,QAAQ;GAAC;GAAI;GAAW;GAAS;GAAQ;GAAQ;GAAa;EAC9D,SAAS;EACV;CAID,SAAS;EACP,MAAM;EACN,QAAQ,CAAC,SAAS,OAAO;EAC1B;CAID,MAAM;CAIN,iBAAiB,EACf,MAAM,eAAiD,CAAC,QAAQ,OAAO,CAAC,EACzE;CAID,gBAAgB;EACd,MAAM,eAAyB,MAAM;EACrC,eAAe,QAAQ,EAAE,CAAU;EACpC;CAID,mBAAmB;CAInB,QAAQ,EACN,MAAM,QACP;CAID,cAAc;EACZ,MAAM;EACN,SAAS;EACV;CAID,UAAU;EACR,MAAM;EACN,SAAS;EACV;CAID,oBAAoB;EAClB,MAAM;EACN,SAAS;EACV;CAID,UAAU;EACR,MAAM;EACN,SAAS;EACV;CAID,OAAO;EACL,MAAM;EACN,SAAS;EACV;CAID,UAAU;EACR,MAAM;EACN,SAAS;EACV;CAID,UAAU;EACR,MAAM;EACN,SAAS;EACV;CAID,cAAc;CAId,aAAa,EACX,MAAM,eAAiC,OAAO,EAC/C;CACF,CAAU;AAOX,MAAa,aAAa;CACxB,OAAO,QAAe,eAAe;CACrC,QAAQ,QAAe,eAAe;CACtC,SAAS,QAAgB,SAAS,IAAI;CACtC,aAAa;CACb,YAAY;CACb"}