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
2 lines (1 loc) • 10.4 kB
JavaScript
this.primevue=this.primevue||{},this.primevue.image=function(e,t,o,r,n,i,a,l,c,s,u,m){"use strict";function p(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}var f=p(e),d=p(t),v=p(o),b=p(r),h=p(n),g=p(i),y=p(a),k=p(l),w={name:"Image",extends:{name:"BaseImage",extends:p(s).default,props:{preview:{type:Boolean,default:!1},class:{type:null,default:null},style:{type:null,default:null},imageStyle:{type:null,default:null},imageClass:{type:null,default:null},previewButtonProps:{type:null,default:null},indicatorIcon:{type:String,default:void 0},zoomInDisabled:{type:Boolean,default:!1},zoomOutDisabled:{type:Boolean,default:!1}},style:p(u).default,provide:function(){return{$parentInstance:this}}},inheritAttrs:!1,emits:["show","hide","error"],mask:null,data:function(){return{maskVisible:!1,previewVisible:!1,rotate:0,scale:1}},beforeUnmount:function(){this.mask&&c.ZIndexUtils.clear(this.container)},methods:{maskRef:function(e){this.mask=e},toolbarRef:function(e){this.toolbarRef=e},onImageClick:function(){var e=this;this.preview&&(c.DomHandler.blockBodyScroll(),this.maskVisible=!0,setTimeout((function(){e.previewVisible=!0}),25))},onPreviewImageClick:function(){this.previewClick=!0},onMaskClick:function(e){var t=c.DomHandler.isAttributeEquals(e.target,"data-pc-section-group","action")||e.target.closest('[data-pc-section-group="action"]');this.previewClick||t||(this.previewVisible=!1,this.rotate=0,this.scale=1),this.previewClick=!1},onMaskKeydown:function(e){var t=this;if("Escape"===e.code)this.hidePreview(),setTimeout((function(){c.DomHandler.focus(t.$refs.previewButton)}),200),e.preventDefault()},onError:function(){this.$emit("error")},rotateRight:function(){this.rotate+=90,this.previewClick=!0},rotateLeft:function(){this.rotate-=90,this.previewClick=!0},zoomIn:function(){this.scale=this.scale+.1,this.previewClick=!0},zoomOut:function(){this.scale=this.scale-.1,this.previewClick=!0},onBeforeEnter:function(){c.ZIndexUtils.set("modal",this.mask,this.$primevue.config.zIndex.modal)},onEnter:function(){this.focus(),this.$emit("show")},onBeforeLeave:function(){!this.isUnstyled&&c.DomHandler.addClass(this.mask,"p-component-overlay-leave")},onLeave:function(){c.DomHandler.unblockBodyScroll(),this.$emit("hide")},onAfterLeave:function(e){c.ZIndexUtils.clear(e),this.maskVisible=!1},focus:function(){var e=this.mask.querySelector("[autofocus]");e&&e.focus()},hidePreview:function(){this.previewVisible=!1,this.rotate=0,this.scale=1,c.DomHandler.unblockBodyScroll()}},computed:{containerClass:function(){return[this.cx("root"),this.class]},rotateClass:function(){return"p-image-preview-rotate-"+this.rotate},imagePreviewStyle:function(){return{transform:"rotate("+this.rotate+"deg) scale("+this.scale+")"}},isZoomInDisabled:function(){return this.zoomInDisabled||this.scale>=1.5},isZoomOutDisabled:function(){return this.zoomOutDisabled||this.scale<=.5},rightAriaLabel:function(){return this.$primevue.config.locale.aria?this.$primevue.config.locale.aria.rotateRight:void 0},leftAriaLabel:function(){return this.$primevue.config.locale.aria?this.$primevue.config.locale.aria.rotateLeft:void 0},zoomInAriaLabel:function(){return this.$primevue.config.locale.aria?this.$primevue.config.locale.aria.zoomIn:void 0},zoomOutAriaLabel:function(){return this.$primevue.config.locale.aria?this.$primevue.config.locale.aria.zoomOut:void 0},zoomImageAriaLabel:function(){return this.$primevue.config.locale.aria?this.$primevue.config.locale.aria.zoomImage:void 0},closeAriaLabel:function(){return this.$primevue.config.locale.aria?this.$primevue.config.locale.aria.close:void 0}},components:{Portal:k.default,EyeIcon:d.default,RefreshIcon:v.default,UndoIcon:y.default,SearchMinusIcon:b.default,SearchPlusIcon:h.default,TimesIcon:g.default},directives:{focustrap:f.default}};function P(e){return P="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},P(e)}function I(e,t){var o=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),o.push.apply(o,r)}return o}function C(e){for(var t=1;t<arguments.length;t++){var o=null!=arguments[t]?arguments[t]:{};t%2?I(Object(o),!0).forEach((function(t){B(e,t,o[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(o)):I(Object(o)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(o,t))}))}return e}function B(e,t,o){var r;return(t="symbol"==P(r=z(t,"string"))?r:String(r))in e?Object.defineProperty(e,t,{value:o,enumerable:!0,configurable:!0,writable:!0}):e[t]=o,e}function z(e,t){if("object"!=P(e)||!e)return e;var o=e[Symbol.toPrimitive];if(void 0!==o){var r=o.call(e,t||"default");if("object"!=P(r))return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}var E=["aria-label"],S=["aria-modal"],L=["aria-label"],O=["aria-label"],V=["disabled","aria-label"],$=["disabled","aria-label"],D=["aria-label"],x=["src"];return w.render=function(e,t,o,r,n,i){var a=m.resolveComponent("RefreshIcon"),l=m.resolveComponent("UndoIcon"),c=m.resolveComponent("SearchMinusIcon"),s=m.resolveComponent("SearchPlusIcon"),u=m.resolveComponent("TimesIcon"),p=m.resolveComponent("Portal"),f=m.resolveDirective("focustrap");return m.openBlock(),m.createElementBlock("span",m.mergeProps({class:i.containerClass,style:e.style},e.ptm("root"),{"data-pc-name":"image"}),[m.renderSlot(e.$slots,"image",{onError:i.onError,errorCallback:i.onError},(function(){return[m.createElementVNode("img",m.mergeProps({style:e.imageStyle,class:[e.cx("image"),e.imageClass],onError:t[0]||(t[0]=function(){return i.onError&&i.onError.apply(i,arguments)})},C(C({},e.$attrs),e.ptm("image"))),null,16)]})),e.preview?(m.openBlock(),m.createElementBlock("button",m.mergeProps({key:0,ref:"previewButton","aria-label":i.zoomImageAriaLabel,type:"button",class:e.cx("button"),onClick:t[1]||(t[1]=function(){return i.onImageClick&&i.onImageClick.apply(i,arguments)})},C(C({},e.previewButtonProps),e.ptm("button"))),[m.renderSlot(e.$slots,"indicatoricon",{},(function(){return[(m.openBlock(),m.createBlock(m.resolveDynamicComponent(e.indicatorIcon?"i":"EyeIcon"),m.mergeProps({class:e.cx("icon")},e.ptm("icon")),null,16,["class"]))]}))],16,E)):m.createCommentVNode("",!0),m.createVNode(p,null,{default:m.withCtx((function(){return[n.maskVisible?m.withDirectives((m.openBlock(),m.createElementBlock("div",m.mergeProps({key:0,ref:i.maskRef,role:"dialog",class:e.cx("mask"),"aria-modal":n.maskVisible,onClick:t[8]||(t[8]=function(){return i.onMaskClick&&i.onMaskClick.apply(i,arguments)}),onKeydown:t[9]||(t[9]=function(){return i.onMaskKeydown&&i.onMaskKeydown.apply(i,arguments)})},e.ptm("mask")),[m.createElementVNode("div",m.mergeProps({class:e.cx("toolbar")},e.ptm("toolbar")),[m.createElementVNode("button",m.mergeProps({class:e.cx("rotateRightButton"),onClick:t[2]||(t[2]=function(){return i.rotateRight&&i.rotateRight.apply(i,arguments)}),type:"button","aria-label":i.rightAriaLabel},e.ptm("rotateRightButton"),{"data-pc-group-section":"action"}),[m.renderSlot(e.$slots,"refresh",{},(function(){return[m.createVNode(a,m.normalizeProps(m.guardReactiveProps(e.ptm("rotateRightIcon"))),null,16)]}))],16,L),m.createElementVNode("button",m.mergeProps({class:e.cx("rotateLeftButton"),onClick:t[3]||(t[3]=function(){return i.rotateLeft&&i.rotateLeft.apply(i,arguments)}),type:"button","aria-label":i.leftAriaLabel},e.ptm("rotateLeftButton"),{"data-pc-group-section":"action"}),[m.renderSlot(e.$slots,"undo",{},(function(){return[m.createVNode(l,m.normalizeProps(m.guardReactiveProps(e.ptm("rotateLeftIcon"))),null,16)]}))],16,O),m.createElementVNode("button",m.mergeProps({class:e.cx("zoomOutButton"),onClick:t[4]||(t[4]=function(){return i.zoomOut&&i.zoomOut.apply(i,arguments)}),type:"button",disabled:i.isZoomOutDisabled,"aria-label":i.zoomOutAriaLabel},e.ptm("zoomOutButton"),{"data-pc-group-section":"action"}),[m.renderSlot(e.$slots,"zoomout",{},(function(){return[m.createVNode(c,m.normalizeProps(m.guardReactiveProps(e.ptm("zoomOutIcon"))),null,16)]}))],16,V),m.createElementVNode("button",m.mergeProps({class:e.cx("zoomInButton"),onClick:t[5]||(t[5]=function(){return i.zoomIn&&i.zoomIn.apply(i,arguments)}),type:"button",disabled:i.isZoomInDisabled,"aria-label":i.zoomInAriaLabel},e.ptm("zoomInButton"),{"data-pc-group-section":"action"}),[m.renderSlot(e.$slots,"zoomin",{},(function(){return[m.createVNode(s,m.normalizeProps(m.guardReactiveProps(e.ptm("zoomInIcon"))),null,16)]}))],16,$),m.createElementVNode("button",m.mergeProps({class:e.cx("closeButton"),type:"button",onClick:t[6]||(t[6]=function(){return i.hidePreview&&i.hidePreview.apply(i,arguments)}),"aria-label":i.closeAriaLabel,autofocus:""},e.ptm("closeButton"),{"data-pc-group-section":"action"}),[m.renderSlot(e.$slots,"close",{},(function(){return[m.createVNode(u,m.normalizeProps(m.guardReactiveProps(e.ptm("closeIcon"))),null,16)]}))],16,D)],16),m.createVNode(m.Transition,m.mergeProps({name:"p-image-preview",onBeforeEnter:i.onBeforeEnter,onEnter:i.onEnter,onLeave:i.onLeave,onBeforeLeave:i.onBeforeLeave,onAfterLeave:i.onAfterLeave},e.ptm("transition")),{default:m.withCtx((function(){return[n.previewVisible?(m.openBlock(),m.createElementBlock("div",m.normalizeProps(m.mergeProps({key:0},e.ptm("previewContainer"))),[m.renderSlot(e.$slots,"preview",{class:m.normalizeClass(e.cx("preview")),style:m.normalizeStyle(i.imagePreviewStyle),onClick:i.onPreviewImageClick,previewCallback:i.onPreviewImageClick},(function(){return[m.createElementVNode("img",m.mergeProps({src:e.$attrs.src,class:e.cx("preview"),style:i.imagePreviewStyle,onClick:t[7]||(t[7]=function(){return i.onPreviewImageClick&&i.onPreviewImageClick.apply(i,arguments)})},e.ptm("preview")),null,16,x)]}))],16)):m.createCommentVNode("",!0)]})),_:3},16,["onBeforeEnter","onEnter","onLeave","onBeforeLeave","onAfterLeave"])],16,S)),[[f]]):m.createCommentVNode("",!0)]})),_:3})],16)},w}(primevue.focustrap,primevue.icons.eye,primevue.icons.refresh,primevue.icons.searchminus,primevue.icons.searchplus,primevue.icons.times,primevue.icons.undo,primevue.portal,primevue.utils,primevue.basecomponent,primevue.image.style,Vue);