UNPKG

primereact

Version:

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

2 lines (1 loc) 14.4 kB
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("react"),t=require("primereact/api"),n=require("primereact/componentbase"),o=require("primereact/csstransition"),r=require("primereact/hooks"),a=require("primereact/iconbase"),i=require("primereact/icons/eye"),l=require("primereact/icons/refresh"),c=require("primereact/icons/searchminus"),s=require("primereact/icons/searchplus"),u=require("primereact/icons/times"),p=require("primereact/icons/undo"),m=require("primereact/portal"),f=require("primereact/utils");function d(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}function g(e){if(e&&e.__esModule)return e;var t=Object.create(null);return e&&Object.keys(e).forEach((function(n){if("default"!==n){var o=Object.getOwnPropertyDescriptor(e,n);Object.defineProperty(t,n,o.get?o:{enumerable:!0,get:function(){return e[n]}})}})),t.default=e,Object.freeze(t)}var b=g(e),y=d(t);function v(){return v=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var o in n)Object.prototype.hasOwnProperty.call(n,o)&&(e[o]=n[o])}return e},v.apply(this,arguments)}function w(e){return w="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},w(e)}function I(e,t){if("object"!==w(e)||null===e)return e;var n=e[Symbol.toPrimitive];if(void 0!==n){var o=n.call(e,t||"default");if("object"!==w(o))return o;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}function h(e){var t=I(e,"string");return"symbol"===w(t)?t:String(t)}function O(e){if(Array.isArray(e))return e}function C(e,t){var n=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=n){var o,r,a,i,l=[],c=!0,s=!1;try{if(a=(n=n.call(e)).next,0===t){if(Object(n)!==n)return;c=!1}else for(;!(c=(o=a.call(n)).done)&&(l.push(o.value),l.length!==t);c=!0);}catch(e){s=!0,r=e}finally{try{if(!c&&null!=n.return&&(i=n.return(),Object(i)!==i))return}finally{if(s)throw r}}return l}}function E(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,o=new Array(t);n<t;n++)o[n]=e[n];return o}function S(e,t){if(e){if("string"==typeof e)return E(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?E(e,t):void 0}}function P(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}function j(e,t){return O(e)||C(e,t)||S(e,t)||P()}var x=b.memo(b.forwardRef((function(e,t){var n=a.IconBase.getPTI(e);return b.createElement("svg",v({ref:t,width:"14",height:"14",viewBox:"0 0 14 14",fill:"none",xmlns:"http://www.w3.org/2000/svg"},n),b.createElement("path",{fillRule:"evenodd",clipRule:"evenodd",d:"M7.0118 10C6.93296 10.0003 6.85484 9.98495 6.78202 9.95477C6.7091 9.92454 6.64297 9.88008 6.58749 9.82399L3.38288 6.62399C3.27675 6.51025 3.21897 6.35982 3.22171 6.20438C3.22446 6.04893 3.28752 5.90063 3.39761 5.7907C3.5077 5.68077 3.65622 5.6178 3.81188 5.61505C3.96755 5.61231 4.1182 5.67001 4.23211 5.77599L6.41125 7.95201V0.6C6.41125 0.44087 6.47456 0.288258 6.58724 0.175736C6.69993 0.063214 6.85276 0 7.01212 0C7.17148 0 7.32431 0.063214 7.43699 0.175736C7.54968 0.288258 7.61298 0.44087 7.61298 0.6V7.95198L9.7921 5.77599C9.90601 5.67001 10.0567 5.61231 10.2123 5.61505C10.368 5.6178 10.5165 5.68077 10.6266 5.7907C10.7367 5.90063 10.7997 6.04893 10.8025 6.20438C10.8052 6.35982 10.7475 6.51025 10.6413 6.62399L7.43671 9.82399C7.38124 9.88008 7.3151 9.92454 7.24219 9.95477C7.16938 9.98495 7.09127 10.0003 7.01244 10C7.01233 10 7.01223 10 7.01212 10C7.01201 10 7.0119 10 7.0118 10ZM13.45 13.3115C13.0749 13.7235 12.5521 13.971 11.9952 14H2.02889C1.75106 13.9887 1.47819 13.9228 1.2259 13.806C0.973606 13.6893 0.74684 13.524 0.558578 13.3197C0.370316 13.1153 0.224251 12.8759 0.128742 12.6152C0.0332333 12.3544 -0.00984502 12.0774 0.00197194 11.8V9.39999C0.00197194 9.24086 0.065277 9.08825 0.177961 8.97572C0.290645 8.8632 0.443477 8.79999 0.602836 8.79999C0.762195 8.79999 0.915027 8.8632 1.02771 8.97572C1.1404 9.08825 1.2037 9.24086 1.2037 9.39999V11.8C1.18301 12.0375 1.25469 12.2739 1.40385 12.4601C1.55302 12.6463 1.76823 12.768 2.00485 12.8H11.9952C12.2318 12.768 12.4471 12.6463 12.5962 12.4601C12.7454 12.2739 12.8171 12.0375 12.7964 11.8V9.39999C12.7964 9.24086 12.8597 9.08825 12.9724 8.97572C13.085 8.8632 13.2379 8.79999 13.3972 8.79999C13.5566 8.79999 13.7094 8.8632 13.8221 8.97572C13.9348 9.08825 13.9981 9.24086 13.9981 9.39999V11.8C14.0221 12.3563 13.8251 12.8995 13.45 13.3115Z",fill:"currentColor"}))})));x.displayName="DownloadIcon";var k=n.ComponentBase.extend({defaultProps:{__TYPE:"Image",alt:null,className:null,closeIcon:null,crossOrigin:null,decoding:null,downloadIcon:null,downloadable:!1,height:null,imageClassName:null,imageStyle:null,indicatorIcon:null,loading:null,onError:null,onHide:null,onShow:null,preview:!1,referrerPolicy:null,rotateLeftIcon:null,rotateRightIcon:null,src:null,template:null,useMap:null,width:null,zoomInIcon:null,zoomOutIcon:null,zoomSrc:null,children:void 0,closeOnEscape:!0},css:{classes:{button:"p-image-preview-indicator",mask:"p-image-mask p-component-overlay p-component-overlay-enter",toolbar:"p-image-toolbar",downloadButton:"p-image-action p-link",rotateRightButton:"p-image-action p-link",rotateLeftButton:"p-image-action p-link",zoomOutButton:"p-image-action p-link",zoomInButton:"p-image-action p-link",closeButton:"p-image-action p-link",preview:"p-image-preview",icon:"p-image-preview-icon",root:function(e){return f.classNames("p-image p-component",{"p-image-preview-container":e.props.preview})},transition:"p-image-preview"},styles:"\n@layer primereact {\n .p-image-mask {\n display: flex;\n align-items: center;\n justify-content: center;\n }\n \n .p-image-preview-container {\n position: relative;\n display: inline-block;\n line-height: 0;\n }\n \n .p-image-preview-indicator {\n position: absolute;\n left: 0;\n top: 0;\n width: 100%;\n height: 100%;\n display: flex;\n align-items: center;\n justify-content: center;\n opacity: 0;\n transition: opacity .3s;\n border: none;\n padding: 0;\n }\n \n .p-image-preview-icon {\n font-size: 1.5rem;\n }\n \n .p-image-preview-container:hover > .p-image-preview-indicator {\n opacity: 1;\n cursor: pointer;\n }\n \n .p-image-preview-container > img {\n cursor: pointer;\n }\n \n .p-image-toolbar {\n position: absolute;\n top: 0;\n right: 0;\n display: flex;\n z-index: 1;\n }\n \n .p-image-action.p-link {\n display: flex;\n justify-content: center;\n align-items: center;\n }\n \n .p-image-preview {\n transition: transform .15s;\n max-width: 100vw;\n max-height: 100vh;\n width: 100%;\n height: 100%;\n }\n \n .p-image-preview-enter {\n opacity: 0;\n transform: scale(0.7);\n }\n \n .p-image-preview-enter-active {\n opacity: 1;\n transform: scale(1);\n transition: all 150ms cubic-bezier(0, 0, 0.2, 1);\n }\n \n .p-image-preview-enter-done {\n transform: none;\n }\n \n .p-image-preview-exit {\n opacity: 1;\n }\n \n .p-image-preview-exit-active {\n opacity: 0;\n transform: scale(0.7);\n transition: all 150ms cubic-bezier(0.4, 0.0, 0.2, 1);\n }\n}\n",inlineStyles:{preview:function(e){return{transform:"rotate("+e.rotateState+"deg) scale("+e.scaleState+")"}}}}});function N(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);t&&(o=o.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,o)}return n}function z(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?N(Object(n),!0).forEach((function(t){var o,r,a;o=e,a=n[t],(r=h(r=t))in o?Object.defineProperty(o,r,{value:a,enumerable:!0,configurable:!0,writable:!0}):o[r]=a})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):N(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}var B=b.memo(b.forwardRef((function(e,a){var d=r.useMergeProps(),g=b.useContext(t.PrimeReactContext),w=k.getProps(e,g),I=j(b.useState(!1),2),h=I[0],O=I[1],C=j(b.useState(!1),2),E=C[0],S=C[1],P=j(b.useState(0),2),N=P[0],B=P[1],R=j(b.useState(1),2),U=R[0],D=R[1],q=b.useRef(null),M=b.useRef(null),H=b.useRef(null),L=b.useRef(null),T=b.useRef(null),A=U<=.5,_=U>=1.5,J=k.setMetaData({props:w,state:{maskVisible:h,previewVisible:E,rotate:N,scale:U}}),V=J.ptm,X=J.cx,Z=J.sx,G=J.isUnstyled;r.useGlobalOnEscapeKey({callback:function(){Y()},when:w.closeOnEscape&&h,priority:[r.ESC_KEY_HANDLING_PRIORITIES.IMAGE,0]}),n.useHandleStyle(k.css.styles,G,{name:"image"});var K=function(){w.preview&&(O(!0),f.DomHandler.blockBodyScroll(),setTimeout((function(){S(!0)}),25))},Y=function(){S(!1),f.DomHandler.unblockBodyScroll(),B(0),D(1)},F=function(e){[e.target.classList].includes("p-image-action")||e.target.closest(".p-image-action")||Y()},$=function(e){if("Escape"===e.code)Y(),setTimeout((function(){f.DomHandler.focus(T.current)}),200),e.preventDefault()},Q=function(){f.DomHandler.saveAs({name:w.alt,src:w.src})},W=function(e){e.stopPropagation(),B((function(e){return e+90}))},ee=function(e){e.stopPropagation(),B((function(e){return e-90}))},te=function(e){e.stopPropagation(),D((function(e){return _?e:e+.1}))},ne=function(e){e.stopPropagation(),D((function(e){return A?e:e-.1}))},oe=function(){f.ZIndexUtils.set("modal",H.current,g&&g.autoZIndex||y.default.autoZIndex,g&&g.zIndex.modal||y.default.zIndex.modal)},re=function(){w.onShow&&w.onShow()},ae=function(){!G()&&f.DomHandler.addClass(H.current,"p-component-overlay-leave")},ie=function(){w.onHide&&w.onHide()},le=function(){f.ZIndexUtils.clear(H.current),O(!1)};r.useUnmountEffect((function(){H.current&&f.ZIndexUtils.clear(H.current)}));b.useImperativeHandle(a,(function(){return{props:w,show:K,hide:Y,getElement:function(){return q.current},getImage:function(){return M.current}}}));var ce,se,ue=w.src,pe=w.alt,me=w.width,fe=w.height,de=w.crossOrigin,ge=w.referrerPolicy,be=w.useMap,ye=w.loading,ve=function(){var e=w.downloadable,n=w.alt,r=w.crossOrigin,a=w.referrerPolicy,i=w.useMap,m=w.loading,g=d(V("downloadIcon")),y=d(V("rotateRightIcon")),I=d(V("rotateLeftIcon")),O=d(V("zoomOutIcon")),C=d(V("zoomInIcon")),S=d(V("closeIcon")),P=f.IconUtils.getJSXIcon(w.downloadIcon||b.createElement(x,null),z({},g),{props:w}),j=f.IconUtils.getJSXIcon(w.rotateRightIcon||b.createElement(l.RefreshIcon,null),z({},y),{props:w}),k=f.IconUtils.getJSXIcon(w.rotateLeftIcon||b.createElement(p.UndoIcon,null),z({},I),{props:w}),B=f.IconUtils.getJSXIcon(w.zoomOutIcon||b.createElement(c.SearchMinusIcon,null),z({},O),{props:w}),R=f.IconUtils.getJSXIcon(w.zoomInIcon||b.createElement(s.SearchPlusIcon,null),z({},C),{props:w}),D=f.IconUtils.getJSXIcon(w.closeIcon||b.createElement(u.TimesIcon,null),z({},S),{props:w}),q=d({ref:H,role:"dialog",className:X("mask"),"aria-modal":h,onClick:F,onKeyDown:$},V("mask")),M=d({className:X("toolbar")},V("toolbar")),T=d({className:X("downloadButton"),onPointerUp:Q,type:"button"},V("downloadButton")),J=d({className:X("rotateRightButton"),onClick:W,type:"button","aria-label":t.localeOption("aria")?t.localeOption("aria").rotateRight:void 0,"data-pc-group-section":"action"},V("rotateRightButton")),G=d({className:X("rotateLeftButton"),onClick:ee,type:"button","aria-label":t.localeOption("aria")?t.localeOption("aria").rotateLeft:void 0,"data-pc-group-section":"action"},V("rotateLeftButton")),K=d({className:f.classNames(X("zoomOutButton"),{"p-disabled":A}),style:{pointerEvents:"auto"},onClick:ne,type:"button",disabled:A,"aria-label":t.localeOption("aria")?t.localeOption("aria").zoomOut:void 0,"data-pc-group-section":"action"},V("zoomOutButton")),ce=d({className:f.classNames(X("zoomInButton"),{"p-disabled":_}),style:{pointerEvents:"auto"},onClick:te,type:"button",disabled:_,"aria-label":t.localeOption("aria")?t.localeOption("aria").zoomIn:void 0,"data-pc-group-section":"action"},V("zoomInButton")),se=d({className:X("closeButton"),type:"button",onClick:Y,"aria-label":t.localeOption("aria")?t.localeOption("aria").close:void 0,autoFocus:!0,"data-pc-group-section":"action"},V("closeButton")),ue=d({src:w.zoomSrc||w.src,className:X("preview"),style:Z("preview",{rotateState:N,scaleState:U}),crossOrigin:r,referrerPolicy:a,useMap:i,loading:m},V("preview")),pe=d({ref:L},V("previewContainer")),me=d({classNames:X("transition"),in:E,timeout:{enter:150,exit:150},unmountOnExit:!0,onEntering:oe,onEntered:re,onExit:ae,onExiting:ie,onExited:le},V("transition"));return b.createElement("div",q,b.createElement("div",M,e&&b.createElement("button",T,P),b.createElement("button",J,j),b.createElement("button",G,k),b.createElement("button",K,B),b.createElement("button",ce,R),b.createElement("button",se,D)),b.createElement(o.CSSTransition,v({nodeRef:L},me),b.createElement("div",pe,b.createElement("img",v({alt:n},ue)))))}(),we=d({className:X("icon")},V("icon")),Ie=f.IconUtils.getJSXIcon(w.indicatorIcon||b.createElement(i.EyeIcon,we),z({},we),{props:w}),he=w.template?f.ObjectUtils.getJSXElement(w.template,w):Ie,Oe=(ce=t.localeOption("aria")?t.localeOption("aria").zoomImage:void 0,se=d({ref:T,className:X("button"),onClick:K,type:"button","aria-label":ce},V("button")),w.preview?b.createElement("button",se,he):null),Ce=d({ref:M,src:ue,className:w.imageClassName,width:me,height:fe,crossOrigin:de,referrerPolicy:ge,useMap:be,loading:ye,style:w.imageStyle,onError:w.onError},V("image")),Ee=w.src&&b.createElement("img",v({},Ce,{alt:pe})),Se=d({ref:q,className:f.classNames(w.className,X("root"))},k.getOtherProps(w),V("root"));return b.createElement("span",Se,Ee,Oe,h&&b.createElement(m.Portal,{element:ve,appendTo:document.body}))})));B.displayName="Image",exports.Image=B;