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