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) 8.19 kB
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("react"),t=require("primereact/api"),r=require("primereact/button"),n=require("primereact/csstransition"),o=require("primereact/hooks"),i=require("primereact/overlayservice"),c=require("primereact/portal"),l=require("primereact/utils");function a(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}function u(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=u(e),p=a(t);function f(){return f=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var r=arguments[t];for(var n in r)Object.prototype.hasOwnProperty.call(r,n)&&(e[n]=r[n])}return e},f.apply(this,arguments)}function m(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,i,c,l=[],a=!0,u=!1;try{if(i=(r=r.call(e)).next,0===t){if(Object(r)!==r)return;a=!1}else for(;!(a=(n=i.call(r)).done)&&(l.push(n.value),l.length!==t);a=!0);}catch(e){u=!0,o=e}finally{try{if(!a&&null!=r.return&&(c=r.return(),Object(c)!==c))return}finally{if(u)throw o}}return l}}function b(e,t){(null==t||t>e.length)&&(t=e.length);for(var r=0,n=new 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=Object.prototype.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 d(){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 g(e,t){return m(e)||v(e,t)||y(e,t)||d()}function O(e){return O="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},O(e)}function j(e,t){if("object"!==O(e)||null===e)return e;var r=e[Symbol.toPrimitive];if(void 0!==r){var n=r.call(e,t||"default");if("object"!==O(n))return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}function S(e){var t=j(e,"string");return"symbol"===O(t)?t:String(t)}function P(e,t,r){return(t=S(t))in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}var h={defaultProps:{__TYPE:"ConfirmPopup",tagKey:void 0,target:null,visible:!1,message:null,rejectLabel:null,acceptLabel:null,icon:null,rejectIcon:null,acceptIcon:null,rejectClassName:null,acceptClassName:null,className:null,style:null,appendTo:null,dismissable:!0,footer:null,onShow:null,onHide:null,accept:null,reject:null,transitionOptions:null,children:void 0},getProps:function(e){return l.ObjectUtils.getMergedProps(e,h.defaultProps)},getOtherProps:function(e){return l.ObjectUtils.getDiffProps(e,h.defaultProps)}};function E(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 N(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?E(Object(r),!0).forEach((function(t){P(e,t,r[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):E(Object(r)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))}))}return e}var w=s.memo(s.forwardRef((function(e,a){var u=h.getProps(e),m=g(s.useState(u.visible),2),v=m[0],b=m[1],y=g(s.useState(!1),2),d=y[0],O=y[1],j=s.useRef(null),S=s.useRef(null),P=s.useRef(!1),E=s.useRef(null),N=s.useRef(null),w=function(){return N.current||u},C=function(e){return(N.current||u)[e]},x=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(C(e),r)},I=C("acceptLabel")||t.localeOption("accept"),U=C("rejectLabel")||t.localeOption("reject"),k=g(o.useOverlayListener({target:C("target"),overlay:j,listener:function(e,t){t.valid&&("outside"===t.type?u.dismissable&&!P.current&&T("hide"):T("hide")),P.current=!1},when:v}),2),D=k[0],q=k[1],A=function(e){P.current=!0,i.OverlayService.emit("overlay-click",{originalEvent:e,target:C("target")})},L=function(){x("accept"),T("accept")},H=function(){x("reject"),T("reject")},R=function(){b(!0),O(!1),E.current=function(e){!X(e.target)&&(P.current=!0)},i.OverlayService.on("overlay-click",E.current)},T=function(e){b(!1),i.OverlayService.off("overlay-click",E.current),E.current=null,e&&x("onHide",e)},_=function(){l.ZIndexUtils.set("overlay",j.current,p.default.autoZIndex,p.default.zIndex.overlay),K()},M=function(){D(),S.current&&S.current.focus(),x("onShow")},Z=function(){q()},J=function(){l.ZIndexUtils.clear(j.current),P.current=!1},K=function(){if(C("target")){l.DomHandler.absolutePosition(j.current,C("target"));var e=l.DomHandler.getOffset(j.current),t=l.DomHandler.getOffset(C("target")),r=0;e.left<t.left&&(r=t.left-e.left),j.current.style.setProperty("--overlayArrowLeft","".concat(r,"px")),e.top<t.top&&l.DomHandler.addClass(j.current,"p-confirm-popup-flipped")}},X=function(e){return j&&j.current&&!(j.current.isSameNode(e)||j.current.contains(e))},z=function(e){if(e.tagKey===u.tagKey){var t=v!==e.visible;C("target")!==e.target&&!u.target?(T(),N.current=e,O(!0)):t&&(N.current=e,e.visible?R():T())}};s.useEffect((function(){u.visible?R():T()}),[u.visible]),s.useEffect((function(){return u.target||u.message||i.OverlayService.on("confirm-popup",z),function(){i.OverlayService.off("confirm-popup",z)}}),[u.target]),o.useUpdateEffect((function(){d&&R()}),[d]),o.useUnmountEffect((function(){E.current&&(i.OverlayService.off("overlay-click",E.current),E.current=null),i.OverlayService.off("confirm-popup",z),l.ZIndexUtils.clear(j.current)})),s.useImperativeHandle(a,(function(){return{props:u,confirm:z}}));var B,V,Y,$,F,G,Q,W=function(){var e=l.classNames("p-confirm-popup-accept p-button-sm",C("acceptClassName")),t=l.classNames("p-confirm-popup-reject p-button-sm",{"p-button-text":!C("rejectClassName")},C("rejectClassName")),n=s.createElement("div",{className:"p-confirm-popup-footer"},s.createElement(r.Button,{label:U,icon:C("rejectIcon"),className:t,onClick:H}),s.createElement(r.Button,{ref:S,label:I,icon:C("acceptIcon"),className:e,onClick:L}));if(C("footer")){var o={accept:L,reject:H,className:"p-confirm-popup-footer",acceptClassName:e,rejectClassName:t,acceptLabel:I,rejectLabel:U,element:n,props:w()};return l.ObjectUtils.getJSXElement(C("footer"),o)}return n},ee=($=h.getOtherProps(u),F=l.classNames("p-confirm-popup p-component",C("className"),{"p-input-filled":"filled"===p.default.inputStyle,"p-ripple-disabled":!1===p.default.ripple}),B=w(),V=l.ObjectUtils.getJSXElement(C("message"),B),Y=l.IconUtils.getJSXIcon(C("icon"),{className:"p-confirm-popup-icon"},{props:B}),G=s.createElement("div",{className:"p-confirm-popup-content"},Y,s.createElement("span",{className:"p-confirm-popup-message"},V)),Q=W(),s.createElement(n.CSSTransition,{nodeRef:j,classNames:"p-connected-overlay",in:v,timeout:{enter:120,exit:100},options:C("transitionOptions"),unmountOnExit:!0,onEnter:_,onEntered:M,onExit:Z,onExited:J},s.createElement("div",f({ref:j,id:C("id"),className:F,style:C("style")},$,{onClick:A}),G,Q)));return s.createElement(c.Portal,{element:ee,appendTo:C("appendTo"),visible:C("visible")})})));w.displayName="ConfirmPopup",exports.ConfirmPopup=w,exports.confirmPopup=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};(e=N(N({},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",N(N(N({},e),t),{visible:!0}))},hide:function(){i.OverlayService.emit("confirm-popup",{visible:!1})}}};