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) 11.3 kB
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("react"),t=require("primereact/api"),r=require("primereact/button"),n=require("primereact/componentbase"),o=require("primereact/csstransition"),c=require("primereact/hooks"),a=require("primereact/overlayservice"),i=require("primereact/portal"),l=require("primereact/utils");function u(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}function p(e){if(e&&e.__esModule)return e;var t=Object.create(null);return e&&Object.keys(e).forEach((function(r){if("default"!==r){var n=Object.getOwnPropertyDescriptor(e,r);Object.defineProperty(t,r,n.get?n:{enumerable:!0,get:function(){return e[r]}})}})),t.default=e,Object.freeze(t)}var s=p(e),f=u(t);function m(){return m=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var r=arguments[t];for(var n in r)({}).hasOwnProperty.call(r,n)&&(e[n]=r[n])}return e},m.apply(null,arguments)}function d(e){if(Array.isArray(e))return e}function v(e,t){var r=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=r){var n,o,c,a,i=[],l=!0,u=!1;try{if(c=(r=r.call(e)).next,0===t){if(Object(r)!==r)return;l=!1}else for(;!(l=(n=c.call(r)).done)&&(i.push(n.value),i.length!==t);l=!0);}catch(e){u=!0,o=e}finally{try{if(!l&&null!=r.return&&(a=r.return(),Object(a)!==a))return}finally{if(u)throw o}}return i}}function b(e,t){(null==t||t>e.length)&&(t=e.length);for(var r=0,n=Array(t);r<t;r++)n[r]=e[r];return n}function y(e,t){if(e){if("string"==typeof e)return b(e,t);var r={}.toString.call(e).slice(8,-1);return"Object"===r&&e.constructor&&(r=e.constructor.name),"Map"===r||"Set"===r?Array.from(e):"Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?b(e,t):void 0}}function g(){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 O(e,t){return d(e)||v(e,t)||y(e,t)||g()}function j(e){return j="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},j(e)}function S(e,t){if("object"!=j(e)||!e)return e;var r=e[Symbol.toPrimitive];if(void 0!==r){var n=r.call(e,t||"default");if("object"!=j(n))return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}function h(e){var t=S(e,"string");return"symbol"==j(t)?t:t+""}function E(e,t,r){return(t=h(t))in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}var P=n.ComponentBase.extend({defaultProps:{__TYPE:"ConfirmPopup",accept:null,acceptClassName:null,acceptIcon:null,acceptLabel:null,appendTo:null,children:void 0,className:null,closeOnEscape:!0,content:null,defaultFocus:"accept",dismissable:!0,footer:null,icon:null,message:null,onHide:null,onShow:null,reject:null,rejectClassName:null,rejectIcon:null,rejectLabel:null,style:null,tagKey:void 0,target:null,transitionOptions:null,visible:!1},css:{classes:{root:function(e){var t=e.context;return l.classNames("p-confirm-popup p-component",(0,e.getPropValue)("className"),{"p-input-filled":t&&"filled"===t.inputStyle||"filled"===f.default.inputStyle,"p-ripple-disabled":t&&!1===t.ripple||!1===f.default.ripple})},acceptButton:function(e){return l.classNames("p-confirm-popup-accept p-button-sm",(0,e.getPropValue)("acceptClassName"))},rejectButton:function(e){var t=e.getPropValue;return l.classNames("p-confirm-popup-reject p-button-sm",{"p-button-text":!t("rejectClassName")},t("rejectClassName"))},content:"p-confirm-popup-content",icon:"p-confirm-popup-icon",message:"p-confirm-popup-message",footer:"p-confirm-popup-footer",transition:"p-connected-overlay"},styles:'\n@layer primereact {\n .p-confirm-popup {\n margin-top: 10px; \n }\n\n .p-confirm-popup-flipped {\n margin-top: -10px;\n }\n \n .p-confirm-popup:after, .p-confirm-popup:before {\n bottom: 100%;\n left: calc(var(--overlayArrowLeft, 0) + 1.25rem);\n content: " ";\n height: 0;\n width: 0;\n position: absolute;\n pointer-events: none;\n }\n \n .p-confirm-popup:after {\n border-width: 8px;\n margin-left: -8px;\n }\n \n .p-confirm-popup:before {\n border-width: 10px;\n margin-left: -10px;\n }\n \n .p-confirm-popup-flipped:after, .p-confirm-popup-flipped:before {\n bottom: auto;\n top: 100%;\n }\n \n .p-confirm-popup.p-confirm-popup-flipped:after {\n border-bottom-color: transparent;\n }\n \n .p-confirm-popup.p-confirm-popup-flipped:before {\n border-bottom-color: transparent\n }\n \n .p-confirm-popup .p-confirm-popup-content {\n display: flex;\n align-items: center;\n }\n}\n'}});function N(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}function x(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?N(Object(r),!0).forEach((function(t){E(e,t,r[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):N(Object(r)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))}))}return e}var w=s.memo(s.forwardRef((function(e,u){var p=c.useMergeProps(),d=s.useContext(t.PrimeReactContext),v=P.getProps(e,d),b=O(s.useState(v.visible),2),y=b[0],g=b[1],j=O(s.useState(!1),2),S=j[0],h=j[1],E={props:v,state:{visible:y,reshow:S}},N=P.setMetaData(E),w=N.ptm,C=N.cx,I=N.isUnstyled;n.useHandleStyle(P.css.styles,I,{name:"confirmpopup"});var D=s.useRef(null),R=s.useRef(null),U=s.useRef(null),_=s.useRef(!1),H=s.useRef(null),k=s.useRef(null),A=s.useRef(null),B=s.useRef(!1),L=function(){return k.current||v},q=function(e){return(k.current||v)[e]},T=function(e){for(var t=arguments.length,r=new Array(t>1?t-1:0),n=1;n<t;n++)r[n-1]=arguments[n];return l.ObjectUtils.getPropValue(q(e),r)},M=q("acceptLabel")||t.localeOption("accept"),V=q("rejectLabel")||t.localeOption("reject"),J=v.dismissable&&v.closeOnEscape&&y,K=c.useDisplayOrder("dialog",J);c.useGlobalOnEscapeKey({callback:function(){$("hide")},when:J&&K,priority:[c.ESC_KEY_HANDLING_PRIORITIES.DIALOG,K]});var X=O(c.useOverlayListener({target:q("target"),overlay:D,listener:function(e,t){t.valid&&("outside"===t.type?(v.dismissable&&!_.current&&$("hide"),_.current=!1):d.hideOverlaysOnDocumentScrolling?$("hide"):l.DomHandler.isDocument(e.target)||Q())},when:y}),2),Z=X[0],z=X[1],G=function(){B.current||(B.current=!0,T("accept"),$("accept"))},F=function(){B.current||(B.current=!0,T("reject"),$("reject"))},Y=function(){var e=L();h(!1),e.group===v.group&&(g(!0),B.current=!1,H.current=function(e){!W(e.target)&&(_.current=!0)},a.OverlayService.on("overlay-click",H.current),A.current=document.activeElement)},$=function(e){g(!1),a.OverlayService.off("overlay-click",H.current),H.current=null,e&&T("onHide",e),l.DomHandler.focus(A.current),A.current=null},Q=function(){if(q("target")){l.DomHandler.absolutePosition(D.current,q("target"));var e=l.DomHandler.getOffset(D.current),t=l.DomHandler.getOffset(q("target")),r=0;e.left<t.left&&(r=t.left-e.left),D.current.style.setProperty("--overlayArrowLeft","".concat(r,"px")),e.top<t.top&&!I()&&l.DomHandler.addClass(D.current,"p-confirm-popup-flipped")}},W=function(e){return D&&D.current&&!(D.current.isSameNode(e)||D.current.contains(e))},ee=function(e){if(e.tagKey===v.tagKey){var t=y!==e.visible;q("target")!==e.target&&!v.target?($(),k.current=e,h(!0)):t&&(k.current=e,e.visible?Y():$())}};s.useEffect((function(){v.visible?Y():$()}),[v.visible]),s.useEffect((function(){return v.target||v.message||a.OverlayService.on("confirm-popup",ee),function(){a.OverlayService.off("confirm-popup",ee)}}),[v.target]),c.useUpdateEffect((function(){S&&Y()}),[S]),c.useUnmountEffect((function(){H.current&&(a.OverlayService.off("overlay-click",H.current),H.current=null),a.OverlayService.off("confirm-popup",ee),l.ZIndexUtils.clear(D.current)})),s.useImperativeHandle(u,(function(){return{props:v,confirm:ee}}));var te,re,ne=function(){var e=l.classNames("p-confirm-popup-accept p-button-sm",q("acceptClassName")),t=l.classNames("p-confirm-popup-reject p-button-sm",{"p-button-text":!q("rejectClassName")},q("rejectClassName")),n=p({className:C("footer")},w("footer")),o=p({ref:U,label:V,icon:q("rejectIcon"),className:C("rejectButton",{getPropValue:q}),onClick:F,pt:w("rejectButton"),unstyled:v.unstyled,__parentMetadata:{parent:E}}),c=p({ref:R,label:M,icon:q("acceptIcon"),className:C("acceptButton",{getPropValue:q}),onClick:G,pt:w("acceptButton"),unstyled:v.unstyled,__parentMetadata:{parent:E}}),a=s.createElement("div",n,s.createElement(r.Button,o),s.createElement(r.Button,c));if(q("footer")){var i={accept:G,reject:F,className:"p-confirm-popup-footer",acceptClassName:e,rejectClassName:t,acceptLabel:M,rejectLabel:V,element:a,props:L()};return l.ObjectUtils.getJSXElement(q("footer"),i)}return a},oe=p({ref:D,id:q("id"),className:l.classNames(v.className,C("root",{context:d,getPropValue:q})),style:q("style"),onClick:function(e){_.current=!0,a.OverlayService.emit("overlay-click",{originalEvent:e,target:q("target")})}},P.getOtherProps(v),w("root")),ce=p({classNames:C("transition"),in:y,timeout:{enter:120,exit:100},options:q("transitionOptions"),unmountOnExit:!0,onEnter:function(){l.ZIndexUtils.set("overlay",D.current,d&&d.autoZIndex||f.default.autoZIndex,d&&d.zIndex.overlay||f.default.zIndex.overlay),l.DomHandler.addStyles(D.current,{position:"absolute",top:"0",left:"0"}),Q()},onEntered:function(){Z();var e=q("defaultFocus");void 0!==e&&"accept"!==e||R.current&&R.current.focus(),"reject"===e&&U.current&&U.current.focus(),T("onShow")},onExit:function(){z()},onExited:function(){l.ZIndexUtils.clear(D.current),_.current=!1}},w("transition")),ae=null!=e&&e.content?(te=L(),re={message:l.ObjectUtils.getJSXElement(q("message"),te),acceptBtnRef:R,rejectBtnRef:U,hide:$},s.createElement(o.CSSTransition,m({nodeRef:D},ce),s.createElement("div",oe,l.ObjectUtils.getJSXElement(e.content,re)))):function(){var e,t,r,n,c,a,i=(e=L(),t=l.ObjectUtils.getJSXElement(q("message"),e),r=p({className:C("icon")},w("icon")),n=l.IconUtils.getJSXIcon(q("icon"),x({},r),{props:e}),c=p({className:C("message")},w("message")),a=p({className:C("content")},w("content")),s.createElement("div",a,n,s.createElement("span",c,t))),u=ne();return s.createElement(o.CSSTransition,m({nodeRef:D},ce),s.createElement("div",oe,i,u))}();return s.createElement(i.Portal,{element:ae,appendTo:q("appendTo"),visible:q("visible")})})));w.displayName="ConfirmPopup",exports.ConfirmPopup=w,exports.confirmPopup=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};(e=x(x({},e),{visible:void 0===e.visible||e.visible})).visible&&a.OverlayService.emit("confirm-popup",e);return{show:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};a.OverlayService.emit("confirm-popup",x(x(x({},e),t),{visible:!0}))},hide:function(){a.OverlayService.emit("confirm-popup",{visible:!1})}}};