UNPKG

sweetalert2-react-content

Version:

Official sweetalert2 enhancer adding support for React elements as content.

4 lines (3 loc) 1.61 kB
// sweetalert2-react-content v5.1.0 "use strict";var t=require("react"),e=require("react-dom/client");const n=[{key:"title",getter:t=>t.getTitle()},{key:"html",getter:t=>t.getHtmlContainer()},{key:"confirmButtonText",getter:t=>t.getConfirmButton()},{key:"denyButtonText",getter:t=>t.getDenyButton()},{key:"cancelButtonText",getter:t=>t.getCancelButton()},{key:"footer",getter:t=>t.getFooter()},{key:"closeButtonHtml",getter:t=>t.getCloseButton()},{key:"iconHtml",getter:t=>t.getIconContent()},{key:"loaderHtml",getter:t=>t.getLoader()}],r=()=>{};module.exports=function(o){function s(e){const r={},o={},s=n.map((t=>t.key));return Object.entries(e).forEach((e=>{let[n,i]=e;s.includes(n)&&t.isValidElement(i)?(r[n]=i,o[n]=" "):o[n]=i})),[r,o]}function i(t,r){Object.entries(r).forEach((r=>{let[s,i]=r;const a=n.find((t=>t.key===s)).getter(o),c=e.createRoot(a);c.render(i),t.__roots.push(c)}))}function a(t){t.__roots.forEach((t=>{t.unmount()})),t.__roots=[]}return class extends o{static argsToParams(e){if(t.isValidElement(e[0])||t.isValidElement(e[1])){const t={};return["title","html","icon"].forEach(((n,r)=>{void 0!==e[r]&&(t[n]=e[r])})),t}return o.argsToParams(e)}_main(t,e){this.__roots=[],this.__params=Object.assign({},e,t);const[n,o]=s(this.__params),c=o.willOpen||r,l=o.didOpen||r,u=o.didDestroy||r;return super._main(Object.assign({},o,{willOpen:t=>{i(this,n),c(t)},didOpen:t=>{setTimeout((()=>{l(t)}))},didDestroy:t=>{u(t),a(this)}}))}update(t){Object.assign(this.__params,t),a(this);const[e,n]=s(this.__params);super.update(n),i(this,e)}}}; //# sourceMappingURL=sweetalert2-react-content.cjs.min.js.map