aark-react-modalify 1.1.0 → 1.2.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +683 -46
- package/dist/aark-react-modalify.css +1 -1
- package/dist/components/modals/StandardModal.d.ts +8 -0
- package/dist/components/modals/index.d.ts +1 -0
- package/dist/components/notifications/StandardNotification.d.ts +8 -0
- package/dist/components/notifications/index.d.ts +1 -0
- package/dist/index-no-styles.cjs.js +1 -0
- package/dist/{index.esm.js → index-no-styles.esm.js} +406 -76
- package/dist/index.d.ts +2 -1
- package/dist/logic/ModalManager.d.ts +4 -4
- package/dist/logic/aark.d.ts +4 -4
- package/dist/types/index.d.ts +66 -2
- package/dist/utils/inject-styles.d.ts +3 -0
- package/dist/utils/modal-root.d.ts +18 -0
- package/package.json +10 -8
- package/dist/index.cjs.js +0 -32
|
@@ -1 +1 @@
|
|
|
1
|
-
:root{--aark-modal-overlay-bg:
|
|
1
|
+
:root{--aark-modal-overlay-bg:rgba(0,0,0,.5);--aark-modal-bg:#fff;--aark-modal-radius:8px;--aark-modal-shadow:0 10px 25px rgba(0,0,0,.15);--aark-modal-pad:16px;--aark-modal-z:9999}.aark-modal-overlay{inset:0;pointer-events:auto;position:fixed;z-index:9999}.aark-modal-container{max-width:700px;min-width:280px}.aark-modal-container,.aark-modal-wrapper{pointer-events:auto;position:relative;width:100%;z-index:2}.aark-modal-wrapper{height:100%}.aark-modal-container.center{animation:scale-in var(--aark-anim)}.aark-modal-container.top-center{animation:slide-down var(--aark-anim)}.aark-modal-container.top-right{animation:slide-left var(--aark-anim)}.aark-modal-container.top-left{animation:slide-right var(--aark-anim)}.aark-modal-container.bottom-right{animation:slide-left var(--aark-anim)}.aark-modal-container.bottom-left{animation:slide-right var(--aark-anim)}.aark-modal-container.bottom-center{animation:slide-up var(--aark-anim)}.aark-modal-header{margin-bottom:0;padding-bottom:0;position:relative}.aark-modal-close{align-items:center;background:0;border:0;border-radius:50%;color:var(--aark-close-color);cursor:pointer;display:flex;font-size:14px;height:30px;justify-content:center;line-height:1;padding:.5rem;position:absolute;right:8px;top:8px;transition:all var(--aark-anim);width:30px;z-index:10}.aark-modal-close:hover{background:var(--aark-close-hover);color:#333}.aark-modal-close:focus{outline:2px solid #007bff;outline-offset:2px}.aark-modal-body{background:var(--aark-modal-bg);border-radius:var(--aark-modal-radius);box-shadow:var(--aark-modal-shadow);margin:auto;max-height:90vh;overflow:auto;padding:var(--aark-modal-pad);pointer-events:auto;position:relative;z-index:2}.aark-modal-content{flex:1;margin:1rem 0}.aark-modal-footer{display:flex;gap:.5rem;justify-content:flex-end;margin-top:1.5rem}.aark-standard-modal{background:var(--aark-modal-bg);border-radius:var(--aark-modal-radius);box-shadow:var(--aark-modal-shadow);display:flex;flex-direction:column;margin:auto;max-height:90vh;max-width:700px;min-width:280px;overflow:auto;padding:var(--aark-modal-pad);pointer-events:auto;position:relative;width:100%;z-index:2}@media (max-width:768px){.aark-standard-modal{margin:12px;max-width:calc(100vw - 24px);width:calc(100vw - 24px)}}@media (max-width:480px){.aark-standard-modal{margin:8px;max-height:calc(100vh - 40px);max-width:calc(100vw - 16px);width:calc(100vw - 16px)}}.aark-standard-modal .aark-modal-header{margin-bottom:1rem}.aark-standard-modal .aark-modal-title{color:#1f2937;font-size:1.5rem;font-weight:600;margin:0;text-align:center}.aark-standard-modal .aark-modal-content{flex:1;margin:1rem 0}.aark-standard-modal .aark-modal-icon{font-size:3rem;margin-bottom:1rem;text-align:center}.aark-standard-modal .aark-modal-content p{color:#6b7280;font-size:1rem;line-height:1.5;margin:0;text-align:center}.aark-standard-modal .aark-modal-footer{display:flex;gap:.5rem;justify-content:flex-end;margin-top:1.5rem}.aark-standard-modal .aark-modal-cancel-button,.aark-standard-modal .aark-modal-confirm-button{border:none;border-radius:4px;cursor:pointer;font-size:.875rem;font-weight:500;padding:.5rem 1rem;transition:all .2s}.aark-standard-modal .aark-modal-cancel-button{background:#fff;border:1px solid #d1d5db;color:#374151}.aark-standard-modal .aark-modal-cancel-button:hover{background:#f9fafb;border-color:#9ca3af}.aark-standard-modal .aark-modal-confirm-button{color:#fff}.aark-standard-modal .aark-modal-confirm-button:hover{opacity:.9}@keyframes fade-in{0%{opacity:0}to{opacity:1}}@media (max-width:768px){.aark-modal-container{margin:12px;max-width:calc(100vw - 24px);width:calc(100vw - 24px)}}@media (max-width:480px){.aark-modal-container{margin:8px;max-height:calc(100vh - 40px);max-width:calc(100vw - 16px);width:calc(100vw - 16px)}}:root{--aark-notification-bg:#fff;--aark-notification-radius:8px;--aark-notification-shadow:0 4px 12px rgba(0,0,0,.1);--aark-notification-pad:16px;--aark-notification-z:10000;--aark-close-color:#666;--aark-close-hover:#f5f5f5;--aark-anim:.2s}.aark-notification-container{max-width:400px;min-width:280px;width:auto}.aark-notification-container,.aark-notification-wrapper{pointer-events:auto;position:relative;z-index:10001}.aark-notification-container.center{animation:scale-in var(--aark-anim)}.aark-notification-container.top-center{animation:slide-down var(--aark-anim)}.aark-notification-container.top-right{animation:slide-left var(--aark-anim)}.aark-notification-container.top-left{animation:slide-right var(--aark-anim)}.aark-notification-container.bottom-right{animation:slide-left var(--aark-anim)}.aark-notification-container.bottom-left{animation:slide-right var(--aark-anim)}.aark-notification-container.bottom-center{animation:slide-up var(--aark-anim)}.aark-standard-notification{background:var(--aark-notification-bg);border:1px solid #e5e7eb;border-radius:var(--aark-notification-radius);box-shadow:var(--aark-notification-shadow);cursor:pointer;max-width:400px;min-width:280px;overflow:hidden;padding:var(--aark-notification-pad);pointer-events:auto;position:relative;transition:all var(--aark-anim);z-index:10001}.aark-standard-notification:hover{box-shadow:0 8px 25px #00000026;transform:translateY(-1px)}.aark-notification-header{margin-bottom:.5rem;pointer-events:auto;position:relative;z-index:10001}.aark-notification-title{color:#1f2937;font-size:.875rem;font-weight:600;line-height:1.25;margin:0}.aark-notification-content{background-color:var(--aark-notification-bg);color:#6b7280;font-size:.75rem;line-height:1.4}.aark-notification-body,.aark-notification-content{pointer-events:auto;position:relative;z-index:10001}.aark-notification-body{background:var(--aark-notification-bg);border-radius:var(--aark-notification-radius);box-shadow:var(--aark-notification-shadow);padding:var(--aark-notification-pad)}.aark-notification-content p{margin:0}.aark-notification-icon{font-size:1.25rem;margin-top:.125rem;z-index:10001}.aark-notification-close,.aark-notification-icon{flex-shrink:0;pointer-events:auto;position:relative}.aark-notification-close{background:none;border:none;color:#9ca3af;cursor:pointer;font-size:1rem;line-height:1;padding:0;transition:color var(--aark-anim);z-index:10002}.aark-notification-close:hover{color:#6b7280}.aark-notification-close:focus{border-radius:2px;outline:2px solid #3b82f6;outline-offset:2px}.aark-notification-footer{display:flex;gap:.5rem;justify-content:flex-end;margin-top:1rem;pointer-events:auto;position:relative;z-index:10001}.aark-notification-cancel-button,.aark-notification-confirm-button{border:none;border-radius:4px;cursor:pointer;font-size:.875rem;font-weight:500;padding:.5rem 1rem;pointer-events:auto;position:relative;transition:all .2s;z-index:10001}.aark-notification-cancel-button{background:#fff;border:1px solid #d1d5db;color:#374151}.aark-notification-cancel-button:hover{background:#f9fafb;border-color:#9ca3af}.aark-notification-confirm-button{color:#fff}.aark-notification-confirm-button:hover{opacity:.9}.aark-notification-progress{border-radius:0 0 var(--aark-notification-radius) var(--aark-notification-radius);bottom:0;height:3px;left:0;position:absolute;transform-origin:left}.aark-notification-success{border-left:4px solid #4ade80}.aark-notification-error{border-left:4px solid #ef4444}.aark-notification-warning{border-left:4px solid #f59e0b}.aark-notification-info{border-left:4px solid #3b82f6}.aark-notification-question{border-left:4px solid #8b5cf6}@keyframes aark-notification-progress{0%{transform:scaleX(1)}to{transform:scaleX(0)}}@keyframes notification-fade-in{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}@keyframes notification-fade-out{0%{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(-10px)}}@keyframes notification-slide-in-right{0%{opacity:0;transform:translate(100%)}to{opacity:1;transform:translate(0)}}@keyframes notification-slide-out-right{0%{opacity:1;transform:translate(0)}to{opacity:0;transform:translate(100%)}}@keyframes notification-slide-in-left{0%{opacity:0;transform:translate(-100%)}to{opacity:1;transform:translate(0)}}@keyframes notification-slide-out-left{0%{opacity:1;transform:translate(0)}to{opacity:0;transform:translate(-100%)}}@keyframes scale-in{0%{opacity:0;transform:scale(.9)}to{opacity:1;transform:scale(1)}}@keyframes slide-down{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}@keyframes slide-up{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes slide-left{0%{opacity:0;transform:translate(20px)}to{opacity:1;transform:translate(0)}}@keyframes slide-right{0%{opacity:0;transform:translate(-20px)}to{opacity:1;transform:translate(0)}}@media (max-width:768px){.aark-notification-container,.aark-standard-notification{max-width:calc(100vw - 40px);min-width:auto}}@media (max-width:480px){.aark-notification-container,.aark-standard-notification{max-width:calc(100vw - 20px)}.aark-standard-notification{min-width:auto}}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { default as StandardModal } from "./StandardModal";
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import type { FC } from 'react';
|
|
2
|
+
import type { NotificationProps } from '../../types';
|
|
3
|
+
interface StandardNotificationProps {
|
|
4
|
+
props: NotificationProps;
|
|
5
|
+
onClose: () => void;
|
|
6
|
+
}
|
|
7
|
+
declare const StandardNotification: FC<StandardNotificationProps>;
|
|
8
|
+
export default StandardNotification;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { default as StandardNotification } from "./StandardNotification";
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const o=require("react"),e=require("react-dom/client"),t=require("react/jsx-runtime"),a=require("react-dom");function r(){const[e,t]=o.useState(!1),[a,r]=o.useState(null),n=o.useCallback(()=>{w.close()},[]);return o.useEffect(()=>{const o=w.subscribe(o=>{switch(o.type){case"open":t(!0),r(o.config||null);break;case"close":t(!1),r(null)}});return t(w.isOpen()),r(w.getCurrentConfig()),o},[]),{isOpen:e,config:a,close:n}}const n={white:"#FFFFFF",black:"#0B071A"},l=o.memo(({name:e,color:a="black",style:r,className:l="",noHoverEffect:s=!1,onClick:i,size:c=24,"aria-label":d,title:m})=>{const u=o.useMemo(()=>String(c),[c]),p=o.useMemo(()=>n[a]?n[a]:(a.startsWith("#"),a),[a]),f=o.useMemo(()=>{const o=p;return"close"===e?t.jsx("svg",{xmlns:"http://www.w3.org/2000/svg",width:u,height:u,viewBox:"0 0 16 16",fill:"none",children:t.jsx("path",{d:"M15.281 14.2198C15.3507 14.2895 15.406 14.3722 15.4437 14.4632C15.4814 14.5543 15.5008 14.6519 15.5008 14.7504C15.5008 14.849 15.4814 14.9465 15.4437 15.0376C15.406 15.1286 15.3507 15.2114 15.281 15.281C15.2114 15.3507 15.1286 15.406 15.0376 15.4437C14.9465 15.4814 14.849 15.5008 14.7504 15.5008C14.6519 15.5008 14.5543 15.4814 14.4632 15.4437C14.3722 15.406 14.2895 15.3507 14.2198 15.281L8.00042 9.06073L1.78104 15.281C1.64031 15.4218 1.44944 15.5008 1.25042 15.5008C1.05139 15.5008 0.860523 15.4218 0.719792 15.281C0.579062 15.1403 0.5 14.9494 0.5 14.7504C0.5 14.5514 0.579062 14.3605 0.719792 14.2198L6.9401 8.00042L0.719792 1.78104C0.579062 1.64031 0.5 1.44944 0.5 1.25042C0.5 1.05139 0.579062 0.860523 0.719792 0.719792C0.860523 0.579062 1.05139 0.5 1.25042 0.5C1.44944 0.5 1.64031 0.579062 1.78104 0.719792L8.00042 6.9401L14.2198 0.719792C14.3605 0.579062 14.5514 0.5 14.7504 0.5C14.9494 0.5 15.1403 0.579062 15.281 0.719792C15.4218 0.860523 15.5008 1.05139 15.5008 1.25042C15.5008 1.44944 15.4218 1.64031 15.281 1.78104L9.06073 8.00042L15.281 14.2198Z",fill:o})}):null},[e,p,u]),y=o.useMemo(()=>{const o={};return o["aria-label"]=d||`${e} icon`,m&&(o.title=m),o.role=i?"button":"img",o},[d,m,e,i]),k=o.useMemo(()=>{if(i)return o=>{"Enter"!==o.key&&" "!==o.key||(o.preventDefault(),i())}},[i]);return t.jsx("i",{className:`\n inline-flex items-center justify-center bg-transparent outline-none border-none\n ${!s&&i&&"hover:opacity-80 cursor-pointer transition-opacity duration-200"}\n ${i&&"focus:outline-2 focus:outline-blue-500 focus:outline-offset-2"}\n ${l}\n `.trim(),style:r,onClick:i,onKeyDown:k,tabIndex:i?0:void 0,...y,children:f})});l.displayName="Icon";const s={success:"✓",error:"✕",warning:"⚠",info:"ⓘ",question:"?"},i={success:"#4ade80",error:"#ef4444",warning:"#f59e0b",info:"#3b82f6",question:"#8b5cf6"},c=({props:e,onClose:a})=>{const{title:r,text:n,type:l="info",cancelText:c="Cancel",confirmText:d="OK",onCancel:m,onConfirm:u,icon:p,html:f,showCancelButton:y=!1,showConfirmButton:k=!0,reverseButtons:g=!1,width:h="auto",fullWidth:v=!1,customClass:x={}}=e,C=()=>{m?.(),a()},b=()=>{u?.(),a()},P=o.useMemo(()=>p?"string"==typeof p?t.jsx("span",{children:p}):p:t.jsx("span",{style:{color:i[l]},children:s[l]}),[p,l]),j=g?["confirm","cancel"]:["cancel","confirm"],w=o.useMemo(()=>{const o={};return v?(o.width="calc(100vw - 20px)",o.maxWidth="calc(100vw - 20px)"):o.width="number"==typeof h?`${h}px`:h,o},[h,v]);return t.jsxs("div",{className:`aark-standard-modal ${x.popup||""}`,style:w,children:[t.jsxs("div",{className:`aark-modal-content ${x.content||""}`,children:[P&&t.jsx("div",{className:`aark-modal-icon ${x.icon||""}`,children:P}),r&&t.jsx("div",{className:`aark-modal-header ${x.header||""}`,children:t.jsx("h2",{className:`aark-modal-title ${x.title||""}`,children:r})}),f?t.jsx("div",{dangerouslySetInnerHTML:{__html:"string"==typeof f?f:""}}):n?t.jsx("p",{children:n}):null]}),(y||k)&&t.jsx("div",{className:`aark-modal-footer ${x.actions||""}`,children:j.map(o=>"cancel"===o&&y?t.jsx("button",{onClick:C,className:`aark-modal-cancel-button ${x.cancelButton||""}`,children:c},"cancel"):"confirm"===o&&k?t.jsx("button",{onClick:b,className:`aark-modal-confirm-button ${x.confirmButton||""}`,style:{background:i[l]},children:d},"confirm"):null)})]})};let d=null;const m=()=>(d||(d=document.getElementById("aark-react-modalify-root"),d||(d=document.createElement("div"),d.id="aark-react-modalify-root",d.style.cssText="\n position: fixed;\n top: 0;\n left: 0;\n width: 100%;\n height: 100%;\n pointer-events: none;\n z-index: 9998;\n ",document.body.appendChild(d))),d),u=({config:e,onClose:r})=>{const{content:n,props:s,options:i={}}=e,{position:d="center",showCloseIcon:u=!0,className:p="",overlayClassName:f="",preventEscClose:y=!1,preventOverlayClose:k=!1}=i;o.useEffect(()=>{const o=o=>{"Escape"!==o.key||y||r()};if(!y)return document.addEventListener("keydown",o),()=>document.removeEventListener("keydown",o)},[r,y]);const g=o.useCallback(o=>{o.target!==o.currentTarget||k||r()},[r,k]),h=o.useCallback(o=>{o.stopPropagation(),r()},[r]),v=`aark-modal-container ${d} ${p}`.trim(),x=m();return a.createPortal(t.jsx("div",{className:`aark-modal-overlay ${f}`.trim(),onClick:g,"aria-hidden":"true",style:{position:"fixed",inset:0,zIndex:9999,background:"var(--aark-modal-overlay-bg)",backdropFilter:"blur(2px)",animation:"fade-in var(--aark-anim)",display:"flex",alignItems:d.includes("center")?"center":d.includes("top")?"flex-start":"flex-end",justifyContent:d.includes("center")?"center":d.includes("right")?"flex-end":"flex-start",padding:"1rem"},children:s?t.jsxs("div",{className:v,role:"dialog","aria-modal":"true",onClick:o=>o.stopPropagation(),children:[u&&t.jsx("button",{onClick:h,className:"aark-modal-close","aria-label":"Close Modal",type:"button",children:t.jsx(l,{name:"close",size:12})}),t.jsx("div",{className:"aark-modal-wrapper",children:t.jsx(c,{props:s,onClose:r})})]}):n?t.jsxs("div",{className:v,role:"dialog","aria-modal":"true",onClick:o=>o.stopPropagation(),children:[u&&t.jsx("button",{onClick:h,className:"aark-modal-close","aria-label":"Close Modal",type:"button",children:t.jsx(l,{name:"close",size:12})}),t.jsx("div",{className:"aark-modal-body",children:n})]}):null}),x)},p={success:"✓",error:"✕",warning:"⚠",info:"ⓘ",question:"?"},f={success:"#4ade80",error:"#ef4444",warning:"#f59e0b",info:"#3b82f6",question:"#8b5cf6"},y=({props:e,onClose:a})=>{const{title:r,text:n,type:l="info",icon:s,html:i,timer:c=5e3,showCloseButton:d=!0,clickToClose:m=!0,width:u="300px",fullWidth:y=!1,padding:k="1rem",background:g="#ffffff",customClass:h={}}=e;o.useEffect(()=>{if(c&&c>0){const o=setTimeout(a,c);return()=>clearTimeout(o)}},[c,a]);const v=o.useMemo(()=>s?"string"==typeof s?t.jsx("span",{children:s}):s:t.jsx("span",{style:{color:f[l]},children:p[l]}),[s,l]),x=o.useMemo(()=>{const o={padding:k,background:g,borderRadius:"8px",boxShadow:"0 4px 12px rgba(0, 0, 0, 0.1)",border:`1px solid ${f[l]}`,cursor:m?"pointer":"default",position:"relative",overflow:"hidden"};return y?(o.width="calc(100vw - 40px)",o.maxWidth="calc(100vw - 40px)"):o.width="number"==typeof u?`${u}px`:u,o},[u,y,k,g,l,m]);return t.jsxs("div",{className:`aark-standard-notification ${h.popup||""}`,style:x,onClick:()=>{m&&a()},children:[c&&c>0&&t.jsx("div",{style:{position:"absolute",bottom:0,left:0,height:"3px",background:f[l],animation:`aark-notification-progress ${c}ms linear forwards`,transformOrigin:"left"}}),t.jsxs("div",{style:{display:"flex",alignItems:"flex-start",gap:"0.75rem"},children:[v&&t.jsx("div",{className:`aark-notification-icon ${h.icon||""}`,style:{fontSize:"1.25rem",flexShrink:0,marginTop:"0.125rem"},children:v}),t.jsxs("div",{style:{flex:1,minWidth:0},children:[r&&t.jsx("div",{className:`aark-notification-header ${h.header||""}`,children:t.jsx("h4",{className:`aark-notification-title ${h.title||""}`,style:{margin:0,fontSize:"0.875rem",fontWeight:"600",color:"#1f2937"},children:r})}),t.jsx("div",{className:`aark-notification-content ${h.content||""}`,style:{marginTop:r?"0.25rem":0},children:i?t.jsx("div",{dangerouslySetInnerHTML:{__html:"string"==typeof i?i:""}}):n?t.jsx("p",{style:{margin:0,fontSize:"0.75rem",color:"#6b7280",lineHeight:"1.4"},children:n}):null})]}),d&&t.jsx("button",{onClick:o=>{o.stopPropagation(),a()},className:`aark-notification-close ${h.closeButton||""}`,style:{background:"none",border:"none",fontSize:"1rem",color:"#9ca3af",cursor:"pointer",padding:0,lineHeight:1,flexShrink:0},"aria-label":"Close notification",children:"×"})]}),t.jsx("style",{children:"\n @keyframes aark-notification-progress {\n from {\n transform: scaleX(1);\n }\n to {\n transform: scaleX(0);\n }\n }\n "})]})},k=({config:e,onClose:r})=>{const{content:n,props:l,options:s={}}=e,{position:i="top-right",showCloseIcon:c=!0,autoCloseTime:d=5e3,className:u="",preventEscClose:p=!1}=s;o.useEffect(()=>{if(d&&!l){const o=setTimeout(r,d);return()=>clearTimeout(o)}},[d,r,l]),o.useEffect(()=>{const o=o=>{"Escape"!==o.key||p||r()};if(!p)return document.addEventListener("keydown",o),()=>document.removeEventListener("keydown",o)},[r,p]);const f=o.useCallback(o=>{o.stopPropagation(),r()},[r]),k=`aark-notification-container ${i} ${u}`.trim(),g=m();return a.createPortal(t.jsx("div",{style:(()=>{const o={position:"fixed",zIndex:1e4,margin:"1rem"};switch(i){case"top-left":return{...o,top:0,left:0};case"top-center":return{...o,top:0,left:"50%",transform:"translateX(-50%)"};case"top-right":default:return{...o,top:0,right:0};case"bottom-left":return{...o,bottom:0,left:0};case"bottom-center":return{...o,bottom:0,left:"50%",transform:"translateX(-50%)"};case"bottom-right":return{...o,bottom:0,right:0}}})(),children:l?t.jsx("div",{className:"aark-notification-wrapper",children:t.jsx(y,{props:l,onClose:r})}):n?t.jsxs("div",{className:k,role:"alert","aria-live":"polite","aria-labelledby":"aark-notification-content",children:[c&&t.jsx("button",{onClick:f,className:"aark-notification-close","aria-label":"Close notification",type:"button",children:"×"}),t.jsx("div",{id:"aark-notification-body",className:"aark-notification-body",children:n})]}):null}),g)},g=()=>{const{isOpen:o,config:e,close:a}=r();return o&&e?"modal"===e.mode?t.jsx(u,{config:e,onClose:a}):"notification"===e.mode?t.jsx(k,{config:e,onClose:a}):null:null},h=new Set;let v=null,x=null;function C(){if(x)return;const t=m();x=e.createRoot(t),x.render(o.createElement(g))}function b(o,e){const t={type:o,config:e};h.forEach(o=>o(t))}function P(o,e){let t,a;C(),!o||"object"!=typeof o||"$$typeof"in o||Array.isArray(o)?(t=o,a=void 0):(a=o,t=void 0);const r={content:t,props:a,mode:"modal",options:Object.assign({position:"center",showCloseIcon:!0,preventEscClose:!1,preventOverlayClose:!1},e)};v=r,b("open",r)}function j(){v&&(b("beforeClose",v),v=null,b("close"))}const w={subscribe:function(o){return h.add(o),()=>h.delete(o)},fire:function(o,e){P(o,e)},fireModal:P,fireNotification:function(o,e){let t,a;C(),!o||"object"!=typeof o||"$$typeof"in o||Array.isArray(o)?(t=o,a=void 0):(a=o,t=void 0);const r={content:t,props:a,mode:"notification",options:Object.assign({position:"top-right",showCloseIcon:!0,autoCloseTime:5e3,preventEscClose:!1},e)};v=r,b("open",r)},close:j,isOpen:function(){return null!==v},getCurrentConfig:function(){return v},closeAll:function(){j()},cleanup:function(){x&&(x.unmount(),x=null),d&&0===d.children.length&&(d.remove(),d=null)}};function B(o){const e=document.documentElement;o.overlayBackground&&e.style.setProperty("--aark-modal-overlay-bg",o.overlayBackground),o.overlayBlur&&e.style.setProperty("--aark-modal-overlay-blur",o.overlayBlur),o.modalBackground&&e.style.setProperty("--aark-modal-bg",o.modalBackground),o.modalBorderRadius&&e.style.setProperty("--aark-modal-border-radius",o.modalBorderRadius),o.modalShadow&&e.style.setProperty("--aark-modal-shadow",o.modalShadow),o.modalPadding&&e.style.setProperty("--aark-modal-padding",o.modalPadding),o.modalZIndex&&e.style.setProperty("--aark-modal-z-index",o.modalZIndex.toString()),o.modalContentZIndex&&e.style.setProperty("--aark-modal-content-z-index",o.modalContentZIndex.toString()),o.closeButtonColor&&e.style.setProperty("--aark-modal-close-color",o.closeButtonColor),o.closeButtonHoverBackground&&e.style.setProperty("--aark-modal-close-hover-bg",o.closeButtonHoverBackground),o.closeButtonHoverColor&&e.style.setProperty("--aark-modal-close-hover-color",o.closeButtonHoverColor),o.closeButtonFocusOutline&&e.style.setProperty("--aark-modal-close-focus-outline",o.closeButtonFocusOutline),o.animationDuration&&e.style.setProperty("--aark-modal-animation-duration",o.animationDuration),o.fadeDuration&&e.style.setProperty("--aark-modal-fade-duration",o.fadeDuration),o.customOverlayBackground&&e.style.setProperty("--aark-custom-overlay-bg",o.customOverlayBackground),o.customOverlayBlur&&e.style.setProperty("--aark-custom-overlay-blur",o.customOverlayBlur),o.customModalGradientStart&&e.style.setProperty("--aark-custom-modal-gradient-start",o.customModalGradientStart),o.customModalGradientEnd&&e.style.setProperty("--aark-custom-modal-gradient-end",o.customModalGradientEnd),o.customModalTextColor&&e.style.setProperty("--aark-custom-modal-text-color",o.customModalTextColor),o.customModalShadow&&e.style.setProperty("--aark-custom-modal-shadow",o.customModalShadow),o.customModalCloseColor&&e.style.setProperty("--aark-custom-modal-close-color",o.customModalCloseColor),o.customModalCloseHoverBackground&&e.style.setProperty("--aark-custom-modal-close-hover-bg",o.customModalCloseHoverBackground),o.customModalCloseHoverColor&&e.style.setProperty("--aark-custom-modal-close-hover-color",o.customModalCloseHoverColor)}function M(){const o=document.documentElement;["--aark-modal-overlay-bg","--aark-modal-overlay-blur","--aark-modal-bg","--aark-modal-border-radius","--aark-modal-shadow","--aark-modal-padding","--aark-modal-z-index","--aark-modal-content-z-index","--aark-modal-close-color","--aark-modal-close-hover-bg","--aark-modal-close-hover-color","--aark-modal-close-focus-outline","--aark-modal-animation-duration","--aark-modal-fade-duration","--aark-custom-overlay-bg","--aark-custom-overlay-blur","--aark-custom-modal-gradient-start","--aark-custom-modal-gradient-end","--aark-custom-modal-text-color","--aark-custom-modal-shadow","--aark-custom-modal-close-color","--aark-custom-modal-close-hover-bg","--aark-custom-modal-close-hover-color"].forEach(e=>{o.style.removeProperty(e)})}function N(){const o=document.documentElement,e=getComputedStyle(o);return{overlayBackground:e.getPropertyValue("--aark-modal-overlay-bg").trim(),overlayBlur:e.getPropertyValue("--aark-modal-overlay-blur").trim(),modalBackground:e.getPropertyValue("--aark-modal-bg").trim(),modalBorderRadius:e.getPropertyValue("--aark-modal-border-radius").trim(),modalShadow:e.getPropertyValue("--aark-modal-shadow").trim(),modalPadding:e.getPropertyValue("--aark-modal-padding").trim(),modalZIndex:parseInt(e.getPropertyValue("--aark-modal-z-index").trim())||void 0,modalContentZIndex:parseInt(e.getPropertyValue("--aark-modal-content-z-index").trim())||void 0,closeButtonColor:e.getPropertyValue("--aark-modal-close-color").trim(),closeButtonHoverBackground:e.getPropertyValue("--aark-modal-close-hover-bg").trim(),closeButtonHoverColor:e.getPropertyValue("--aark-modal-close-hover-color").trim(),closeButtonFocusOutline:e.getPropertyValue("--aark-modal-close-focus-outline").trim(),animationDuration:e.getPropertyValue("--aark-modal-animation-duration").trim(),fadeDuration:e.getPropertyValue("--aark-modal-fade-duration").trim(),customOverlayBackground:e.getPropertyValue("--aark-custom-overlay-bg").trim(),customOverlayBlur:e.getPropertyValue("--aark-custom-overlay-blur").trim(),customModalGradientStart:e.getPropertyValue("--aark-custom-modal-gradient-start").trim(),customModalGradientEnd:e.getPropertyValue("--aark-custom-modal-gradient-end").trim(),customModalTextColor:e.getPropertyValue("--aark-custom-modal-text-color").trim(),customModalShadow:e.getPropertyValue("--aark-custom-modal-shadow").trim(),customModalCloseColor:e.getPropertyValue("--aark-custom-modal-close-color").trim(),customModalCloseHoverBackground:e.getPropertyValue("--aark-custom-modal-close-hover-bg").trim(),customModalCloseHoverColor:e.getPropertyValue("--aark-custom-modal-close-hover-color").trim()}}const $={fire:(o,e)=>w.fire(o,e),modal:(o,e)=>w.fireModal(o,e),notification:(o,e)=>w.fireNotification(o,e),close:()=>w.close(),isOpen:()=>w.isOpen(),closeAll:()=>w.closeAll(),setTheme:o=>B(o),resetTheme:()=>M(),getTheme:()=>N()};exports.Modal=u,exports.ModalProvider=g,exports.Notification=k,exports.aark=$,exports.getAarkModalTheme=N,exports.resetAarkModalTheme=M,exports.setAarkModalTheme=B,exports.useModal=r;
|