UNPKG

primevue

Version:

PrimeVue is an open source UI library for Vue featuring a rich set of 80+ components, a theme designer, various theme alternatives such as Material, Bootstrap, Tailwind, premium templates and professional support. In addition, it integrates with PrimeBloc

1 lines 34.6 kB
{"version":3,"file":"index.mjs","sources":["../../src/image/BaseImage.vue","../../src/image/Image.vue","../../src/image/Image.vue?vue&type=template&id=50a8cb3f&lang.js"],"sourcesContent":["<script>\nimport BaseComponent from '@primevue/core/basecomponent';\nimport ImageStyle from 'primevue/image/style';\n\nexport default {\n name: 'BaseImage',\n extends: BaseComponent,\n props: {\n preview: {\n type: Boolean,\n default: false\n },\n class: {\n type: null,\n default: null\n },\n style: {\n type: null,\n default: null\n },\n imageStyle: {\n type: null,\n default: null\n },\n imageClass: {\n type: null,\n default: null\n },\n previewButtonProps: {\n type: null,\n default: null\n },\n indicatorIcon: {\n type: String,\n default: undefined\n },\n previewIcon: {\n type: String,\n default: undefined\n },\n zoomInDisabled: {\n type: Boolean,\n default: false\n },\n zoomOutDisabled: {\n type: Boolean,\n default: false\n }\n },\n style: ImageStyle,\n provide() {\n return {\n $pcImage: this,\n $parentInstance: this\n };\n }\n};\n</script>\n","<template>\n <span :class=\"containerClass\" :style=\"style\" v-bind=\"ptmi('root')\">\n <slot name=\"image\" :errorCallback=\"onError\">\n <img :style=\"imageStyle\" :class=\"imageClass\" @error=\"onError\" v-bind=\"{ ...$attrs, ...ptm('image') }\" />\n </slot>\n <button v-if=\"preview\" ref=\"previewButton\" :aria-label=\"zoomImageAriaLabel\" type=\"button\" :class=\"cx('previewMask')\" @click=\"onImageClick\" v-bind=\"{ ...previewButtonProps, ...ptm('previewMask') }\">\n <!-- TODO: indicator* deprecated since v4.0-->\n <slot :name=\"$slots.previewicon ? 'previewicon' : 'indicatoricon'\">\n <component :is=\"previewIcon || indicatorIcon ? 'i' : 'EyeIcon'\" :class=\"cx('previewIcon')\" v-bind=\"ptm('previewIcon')\" />\n </slot>\n </button>\n <Portal>\n <div v-if=\"maskVisible\" :ref=\"maskRef\" v-focustrap role=\"dialog\" :class=\"cx('mask')\" :aria-modal=\"maskVisible\" @click=\"onMaskClick\" @keydown=\"onMaskKeydown\" v-bind=\"ptm('mask')\">\n <div :class=\"cx('toolbar')\" v-bind=\"ptm('toolbar')\">\n <button :class=\"cx('rotateRightButton')\" @click=\"rotateRight\" type=\"button\" :aria-label=\"rightAriaLabel\" v-bind=\"ptm('rotateRightButton')\" data-pc-group-section=\"action\">\n <slot name=\"refresh\">\n <RefreshIcon v-bind=\"ptm('rotateRightIcon')\" />\n </slot>\n </button>\n\n <button :class=\"cx('rotateLeftButton')\" @click=\"rotateLeft\" type=\"button\" :aria-label=\"leftAriaLabel\" v-bind=\"ptm('rotateLeftButton')\" data-pc-group-section=\"action\">\n <slot name=\"undo\">\n <UndoIcon v-bind=\"ptm('rotateLeftIcon')\" />\n </slot>\n </button>\n\n <button :class=\"cx('zoomOutButton')\" @click=\"zoomOut\" type=\"button\" :disabled=\"isZoomOutDisabled\" :aria-label=\"zoomOutAriaLabel\" v-bind=\"ptm('zoomOutButton')\" data-pc-group-section=\"action\">\n <slot name=\"zoomout\">\n <SearchMinusIcon v-bind=\"ptm('zoomOutIcon')\" />\n </slot>\n </button>\n\n <button :class=\"cx('zoomInButton')\" @click=\"zoomIn\" type=\"button\" :disabled=\"isZoomInDisabled\" :aria-label=\"zoomInAriaLabel\" v-bind=\"ptm('zoomInButton')\" data-pc-group-section=\"action\">\n <slot name=\"zoomin\">\n <SearchPlusIcon v-bind=\"ptm('zoomInIcon')\" />\n </slot>\n </button>\n\n <button :class=\"cx('closeButton')\" type=\"button\" @click=\"hidePreview\" :aria-label=\"closeAriaLabel\" autofocus v-bind=\"ptm('closeButton')\" data-pc-group-section=\"action\">\n <slot name=\"close\">\n <TimesIcon v-bind=\"ptm('closeIcon')\" />\n </slot>\n </button>\n </div>\n <transition name=\"p-image-original\" @before-enter=\"onBeforeEnter\" @enter=\"onEnter\" @leave=\"onLeave\" @before-leave=\"onBeforeLeave\" @after-leave=\"onAfterLeave\" v-bind=\"ptm('transition')\">\n <div v-if=\"previewVisible\" v-bind=\"ptm('originalContainer')\">\n <!-- TODO: preview deprecated since v4.0-->\n <slot :name=\"$slots.original ? 'original' : 'preview'\" :class=\"cx('original')\" :style=\"imagePreviewStyle\" :previewCallback=\"onPreviewImageClick\">\n <img :src=\"$attrs.src\" :class=\"cx('original')\" :style=\"imagePreviewStyle\" @click=\"onPreviewImageClick\" v-bind=\"ptm('original')\" />\n </slot>\n </div>\n </transition>\n </div>\n </Portal>\n </span>\n</template>\n\n<script>\nimport { addClass, focus, isAttributeEquals } from '@primeuix/utils/dom';\nimport { ZIndex } from '@primeuix/utils/zindex';\nimport EyeIcon from '@primevue/icons/eye';\nimport RefreshIcon from '@primevue/icons/refresh';\nimport SearchMinusIcon from '@primevue/icons/searchminus';\nimport SearchPlusIcon from '@primevue/icons/searchplus';\nimport TimesIcon from '@primevue/icons/times';\nimport UndoIcon from '@primevue/icons/undo';\nimport FocusTrap from 'primevue/focustrap';\nimport Portal from 'primevue/portal';\nimport { blockBodyScroll, unblockBodyScroll } from 'primevue/utils';\nimport BaseImage from './BaseImage.vue';\n\nexport default {\n name: 'Image',\n extends: BaseImage,\n inheritAttrs: false,\n emits: ['show', 'hide', 'error'],\n mask: null,\n data() {\n return {\n maskVisible: false,\n previewVisible: false,\n rotate: 0,\n scale: 1\n };\n },\n beforeUnmount() {\n if (this.mask) {\n ZIndex.clear(this.container);\n }\n },\n methods: {\n maskRef(el) {\n this.mask = el;\n },\n toolbarRef(el) {\n this.toolbarRef = el;\n },\n onImageClick() {\n if (this.preview) {\n blockBodyScroll();\n this.maskVisible = true;\n setTimeout(() => {\n this.previewVisible = true;\n }, 25);\n }\n },\n onPreviewImageClick() {\n this.previewClick = true;\n },\n onMaskClick(event) {\n const isBarActionsClicked = isAttributeEquals(event.target, 'data-pc-section-group', 'action') || event.target.closest('[data-pc-section-group=\"action\"]');\n\n if (!this.previewClick && !isBarActionsClicked) {\n this.previewVisible = false;\n this.rotate = 0;\n this.scale = 1;\n }\n\n this.previewClick = false;\n },\n onMaskKeydown(event) {\n switch (event.code) {\n case 'Escape':\n this.hidePreview();\n setTimeout(() => {\n focus(this.$refs.previewButton);\n }, 200);\n event.preventDefault();\n\n break;\n\n default:\n break;\n }\n },\n onError() {\n this.$emit('error');\n },\n rotateRight() {\n this.rotate += 90;\n this.previewClick = true;\n },\n rotateLeft() {\n this.rotate -= 90;\n this.previewClick = true;\n },\n zoomIn() {\n this.scale = this.scale + 0.1;\n this.previewClick = true;\n },\n zoomOut() {\n this.scale = this.scale - 0.1;\n this.previewClick = true;\n },\n onBeforeEnter() {\n ZIndex.set('modal', this.mask, this.$primevue.config.zIndex.modal);\n },\n onEnter() {\n this.focus();\n this.$emit('show');\n },\n onBeforeLeave() {\n !this.isUnstyled && addClass(this.mask, 'p-overlay-mask-leave');\n },\n onLeave() {\n unblockBodyScroll();\n this.$emit('hide');\n },\n onAfterLeave(el) {\n ZIndex.clear(el);\n this.maskVisible = false;\n },\n focus() {\n let focusTarget = this.mask.querySelector('[autofocus]');\n\n if (focusTarget) {\n focusTarget.focus();\n }\n },\n hidePreview() {\n this.previewVisible = false;\n this.rotate = 0;\n this.scale = 1;\n unblockBodyScroll();\n }\n },\n computed: {\n containerClass() {\n return [this.cx('root'), this.class];\n },\n rotateClass() {\n return 'p-image-preview-rotate-' + this.rotate;\n },\n imagePreviewStyle() {\n return { transform: 'rotate(' + this.rotate + 'deg) scale(' + this.scale + ')' };\n },\n isZoomInDisabled() {\n return this.zoomInDisabled || this.scale >= 1.5;\n },\n isZoomOutDisabled() {\n return this.zoomOutDisabled || this.scale <= 0.5;\n },\n rightAriaLabel() {\n return this.$primevue.config.locale.aria ? this.$primevue.config.locale.aria.rotateRight : undefined;\n },\n leftAriaLabel() {\n return this.$primevue.config.locale.aria ? this.$primevue.config.locale.aria.rotateLeft : undefined;\n },\n zoomInAriaLabel() {\n return this.$primevue.config.locale.aria ? this.$primevue.config.locale.aria.zoomIn : undefined;\n },\n zoomOutAriaLabel() {\n return this.$primevue.config.locale.aria ? this.$primevue.config.locale.aria.zoomOut : undefined;\n },\n zoomImageAriaLabel() {\n return this.$primevue.config.locale.aria ? this.$primevue.config.locale.aria.zoomImage : undefined;\n },\n closeAriaLabel() {\n return this.$primevue.config.locale.aria ? this.$primevue.config.locale.aria.close : undefined;\n }\n },\n components: {\n Portal: Portal,\n EyeIcon: EyeIcon,\n RefreshIcon: RefreshIcon,\n UndoIcon: UndoIcon,\n SearchMinusIcon: SearchMinusIcon,\n SearchPlusIcon: SearchPlusIcon,\n TimesIcon: TimesIcon\n },\n directives: {\n focustrap: FocusTrap\n }\n};\n</script>\n","<template>\n <span :class=\"containerClass\" :style=\"style\" v-bind=\"ptmi('root')\">\n <slot name=\"image\" :errorCallback=\"onError\">\n <img :style=\"imageStyle\" :class=\"imageClass\" @error=\"onError\" v-bind=\"{ ...$attrs, ...ptm('image') }\" />\n </slot>\n <button v-if=\"preview\" ref=\"previewButton\" :aria-label=\"zoomImageAriaLabel\" type=\"button\" :class=\"cx('previewMask')\" @click=\"onImageClick\" v-bind=\"{ ...previewButtonProps, ...ptm('previewMask') }\">\n <!-- TODO: indicator* deprecated since v4.0-->\n <slot :name=\"$slots.previewicon ? 'previewicon' : 'indicatoricon'\">\n <component :is=\"previewIcon || indicatorIcon ? 'i' : 'EyeIcon'\" :class=\"cx('previewIcon')\" v-bind=\"ptm('previewIcon')\" />\n </slot>\n </button>\n <Portal>\n <div v-if=\"maskVisible\" :ref=\"maskRef\" v-focustrap role=\"dialog\" :class=\"cx('mask')\" :aria-modal=\"maskVisible\" @click=\"onMaskClick\" @keydown=\"onMaskKeydown\" v-bind=\"ptm('mask')\">\n <div :class=\"cx('toolbar')\" v-bind=\"ptm('toolbar')\">\n <button :class=\"cx('rotateRightButton')\" @click=\"rotateRight\" type=\"button\" :aria-label=\"rightAriaLabel\" v-bind=\"ptm('rotateRightButton')\" data-pc-group-section=\"action\">\n <slot name=\"refresh\">\n <RefreshIcon v-bind=\"ptm('rotateRightIcon')\" />\n </slot>\n </button>\n\n <button :class=\"cx('rotateLeftButton')\" @click=\"rotateLeft\" type=\"button\" :aria-label=\"leftAriaLabel\" v-bind=\"ptm('rotateLeftButton')\" data-pc-group-section=\"action\">\n <slot name=\"undo\">\n <UndoIcon v-bind=\"ptm('rotateLeftIcon')\" />\n </slot>\n </button>\n\n <button :class=\"cx('zoomOutButton')\" @click=\"zoomOut\" type=\"button\" :disabled=\"isZoomOutDisabled\" :aria-label=\"zoomOutAriaLabel\" v-bind=\"ptm('zoomOutButton')\" data-pc-group-section=\"action\">\n <slot name=\"zoomout\">\n <SearchMinusIcon v-bind=\"ptm('zoomOutIcon')\" />\n </slot>\n </button>\n\n <button :class=\"cx('zoomInButton')\" @click=\"zoomIn\" type=\"button\" :disabled=\"isZoomInDisabled\" :aria-label=\"zoomInAriaLabel\" v-bind=\"ptm('zoomInButton')\" data-pc-group-section=\"action\">\n <slot name=\"zoomin\">\n <SearchPlusIcon v-bind=\"ptm('zoomInIcon')\" />\n </slot>\n </button>\n\n <button :class=\"cx('closeButton')\" type=\"button\" @click=\"hidePreview\" :aria-label=\"closeAriaLabel\" autofocus v-bind=\"ptm('closeButton')\" data-pc-group-section=\"action\">\n <slot name=\"close\">\n <TimesIcon v-bind=\"ptm('closeIcon')\" />\n </slot>\n </button>\n </div>\n <transition name=\"p-image-original\" @before-enter=\"onBeforeEnter\" @enter=\"onEnter\" @leave=\"onLeave\" @before-leave=\"onBeforeLeave\" @after-leave=\"onAfterLeave\" v-bind=\"ptm('transition')\">\n <div v-if=\"previewVisible\" v-bind=\"ptm('originalContainer')\">\n <!-- TODO: preview deprecated since v4.0-->\n <slot :name=\"$slots.original ? 'original' : 'preview'\" :class=\"cx('original')\" :style=\"imagePreviewStyle\" :previewCallback=\"onPreviewImageClick\">\n <img :src=\"$attrs.src\" :class=\"cx('original')\" :style=\"imagePreviewStyle\" @click=\"onPreviewImageClick\" v-bind=\"ptm('original')\" />\n </slot>\n </div>\n </transition>\n </div>\n </Portal>\n </span>\n</template>\n\n<script>\nimport { addClass, focus, isAttributeEquals } from '@primeuix/utils/dom';\nimport { ZIndex } from '@primeuix/utils/zindex';\nimport EyeIcon from '@primevue/icons/eye';\nimport RefreshIcon from '@primevue/icons/refresh';\nimport SearchMinusIcon from '@primevue/icons/searchminus';\nimport SearchPlusIcon from '@primevue/icons/searchplus';\nimport TimesIcon from '@primevue/icons/times';\nimport UndoIcon from '@primevue/icons/undo';\nimport FocusTrap from 'primevue/focustrap';\nimport Portal from 'primevue/portal';\nimport { blockBodyScroll, unblockBodyScroll } from 'primevue/utils';\nimport BaseImage from './BaseImage.vue';\n\nexport default {\n name: 'Image',\n extends: BaseImage,\n inheritAttrs: false,\n emits: ['show', 'hide', 'error'],\n mask: null,\n data() {\n return {\n maskVisible: false,\n previewVisible: false,\n rotate: 0,\n scale: 1\n };\n },\n beforeUnmount() {\n if (this.mask) {\n ZIndex.clear(this.container);\n }\n },\n methods: {\n maskRef(el) {\n this.mask = el;\n },\n toolbarRef(el) {\n this.toolbarRef = el;\n },\n onImageClick() {\n if (this.preview) {\n blockBodyScroll();\n this.maskVisible = true;\n setTimeout(() => {\n this.previewVisible = true;\n }, 25);\n }\n },\n onPreviewImageClick() {\n this.previewClick = true;\n },\n onMaskClick(event) {\n const isBarActionsClicked = isAttributeEquals(event.target, 'data-pc-section-group', 'action') || event.target.closest('[data-pc-section-group=\"action\"]');\n\n if (!this.previewClick && !isBarActionsClicked) {\n this.previewVisible = false;\n this.rotate = 0;\n this.scale = 1;\n }\n\n this.previewClick = false;\n },\n onMaskKeydown(event) {\n switch (event.code) {\n case 'Escape':\n this.hidePreview();\n setTimeout(() => {\n focus(this.$refs.previewButton);\n }, 200);\n event.preventDefault();\n\n break;\n\n default:\n break;\n }\n },\n onError() {\n this.$emit('error');\n },\n rotateRight() {\n this.rotate += 90;\n this.previewClick = true;\n },\n rotateLeft() {\n this.rotate -= 90;\n this.previewClick = true;\n },\n zoomIn() {\n this.scale = this.scale + 0.1;\n this.previewClick = true;\n },\n zoomOut() {\n this.scale = this.scale - 0.1;\n this.previewClick = true;\n },\n onBeforeEnter() {\n ZIndex.set('modal', this.mask, this.$primevue.config.zIndex.modal);\n },\n onEnter() {\n this.focus();\n this.$emit('show');\n },\n onBeforeLeave() {\n !this.isUnstyled && addClass(this.mask, 'p-overlay-mask-leave');\n },\n onLeave() {\n unblockBodyScroll();\n this.$emit('hide');\n },\n onAfterLeave(el) {\n ZIndex.clear(el);\n this.maskVisible = false;\n },\n focus() {\n let focusTarget = this.mask.querySelector('[autofocus]');\n\n if (focusTarget) {\n focusTarget.focus();\n }\n },\n hidePreview() {\n this.previewVisible = false;\n this.rotate = 0;\n this.scale = 1;\n unblockBodyScroll();\n }\n },\n computed: {\n containerClass() {\n return [this.cx('root'), this.class];\n },\n rotateClass() {\n return 'p-image-preview-rotate-' + this.rotate;\n },\n imagePreviewStyle() {\n return { transform: 'rotate(' + this.rotate + 'deg) scale(' + this.scale + ')' };\n },\n isZoomInDisabled() {\n return this.zoomInDisabled || this.scale >= 1.5;\n },\n isZoomOutDisabled() {\n return this.zoomOutDisabled || this.scale <= 0.5;\n },\n rightAriaLabel() {\n return this.$primevue.config.locale.aria ? this.$primevue.config.locale.aria.rotateRight : undefined;\n },\n leftAriaLabel() {\n return this.$primevue.config.locale.aria ? this.$primevue.config.locale.aria.rotateLeft : undefined;\n },\n zoomInAriaLabel() {\n return this.$primevue.config.locale.aria ? this.$primevue.config.locale.aria.zoomIn : undefined;\n },\n zoomOutAriaLabel() {\n return this.$primevue.config.locale.aria ? this.$primevue.config.locale.aria.zoomOut : undefined;\n },\n zoomImageAriaLabel() {\n return this.$primevue.config.locale.aria ? this.$primevue.config.locale.aria.zoomImage : undefined;\n },\n closeAriaLabel() {\n return this.$primevue.config.locale.aria ? this.$primevue.config.locale.aria.close : undefined;\n }\n },\n components: {\n Portal: Portal,\n EyeIcon: EyeIcon,\n RefreshIcon: RefreshIcon,\n UndoIcon: UndoIcon,\n SearchMinusIcon: SearchMinusIcon,\n SearchPlusIcon: SearchPlusIcon,\n TimesIcon: TimesIcon\n },\n directives: {\n focustrap: FocusTrap\n }\n};\n</script>\n"],"names":["name","BaseComponent","props","preview","type","Boolean","style","imageStyle","imageClass","previewButtonProps","indicatorIcon","String","undefined","previewIcon","zoomInDisabled","zoomOutDisabled","ImageStyle","provide","$pcImage","$parentInstance","BaseImage","inheritAttrs","emits","mask","data","maskVisible","previewVisible","rotate","scale","beforeUnmount","ZIndex","clear","container","methods","maskRef","el","toolbarRef","onImageClick","_this","blockBodyScroll","setTimeout","onPreviewImageClick","previewClick","onMaskClick","event","isBarActionsClicked","isAttributeEquals","target","closest","onMaskKeydown","_this2","code","hidePreview","focus","$refs","previewButton","preventDefault","onError","$emit","rotateRight","rotateLeft","zoomIn","zoomOut","onBeforeEnter","set","$primevue","config","zIndex","modal","onEnter","onBeforeLeave","isUnstyled","addClass","onLeave","unblockBodyScroll","onAfterLeave","focusTarget","querySelector","computed","containerClass","cx","rotateClass","imagePreviewStyle","transform","isZoomInDisabled","isZoomOutDisabled","rightAriaLabel","locale","aria","leftAriaLabel","zoomInAriaLabel","zoomOutAriaLabel","zoomImageAriaLabel","zoomImage","closeAriaLabel","close","components","Portal","EyeIcon","RefreshIcon","UndoIcon","SearchMinusIcon","SearchPlusIcon","TimesIcon","directives","focustrap","FocusTrap","_openBlock","_createElementBlock","_mergeProps","$options","_ctx","ptmi","_renderSlot","$slots","errorCallback","_createElementVNode","apply","arguments","_objectSpread","$attrs","ptm","ref","onClick","previewicon","_createBlock","_resolveDynamicComponent","_createVNode","_component_Portal","$data","_withDirectives","role","onKeydown","_component_RefreshIcon","_component_UndoIcon","disabled","_component_SearchMinusIcon","_component_SearchPlusIcon","autofocus","_component_TimesIcon","_Transition","original","previewCallback","src","_hoisted_8"],"mappings":"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"}