layerpro 3.4.0 → 4.0.1

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/index.cjs CHANGED
@@ -1,9 +1,11 @@
1
- ;(()=>{const s=document.createElement("style");const n=window.__layerproNonce||window.layerpro?.nonce||document.querySelector("style[nonce],script[nonce]")?.nonce||document.body?.dataset?.nonce;if(n)s.setAttribute("nonce",n);s.textContent="@layer layerpro {:root{--input-background-color:#444;--input-color:white;--button-background-color:#444;--button-color:white;--inputButton-fontSize:.8em;--resize-background-color:rgba(30,150,255,.5);--resize-shadow:0 0 10px rgba(30,150,255,.5);--dock-background-color:black;--dock-height:40px;--dock-sideLeft:10px;--dock-sideCenter:auto;--dock-sideRight:10px;--dock-icon-width:140px;--bar-background:linear-gradient( 45deg,#4a4a4f 60%,#AAA 100%);--bar-selected-background:linear-gradient( 45deg,#162858 60%,#224e918a 100%);--bar-color:#eee;--bar-border-bottom:2px solid #555;--bar-shadow:0 1px 1px #888;--window-background:gray;--window-shadow:0 0 10px rgba(0,0,0,.3);--window-border-radius:10px;--window-z-high-border:#278ed0;--window-z-high-shadow:0 0 15px rgba(0,0,0,.7);--internal-background:linear-gradient( 0deg,rgba(60,60,60,1) 0%,#4a4a4f 100%);--body-color:#eee;--body-background:transparent;--raised-background:rgba(0,0,0,.3);--popup-z-index:1000;--transition-time:.5s;--border-radius:25px;--corner-size:14px;--corner-border-radius:50%;--hover-opacity:1;--hover-filter:blur(3px);}#popup > [class^=popup_overflow],#popup > [class^=popup_bar_],#popup > [class^=popup_window_],#popup > [class^=popup_internal],#popup > [class^=popup_body],#popup{position:static;}#popup > [class^=popup_overflow],#popup > [class^=popup_bar_],#popup > [class^=popup_window_],#popup > [class^=popup_internal],#popup > [class^=popup_body],#popup,#popup_dock{will-change:transform,opacity,top,left,height,width;}#popup{position:absolute;top:0;left:0;right:0;bottom:0;width:100%;height:100%;}#popup .buttons{display:flex;position:absolute;left:0;right:0;bottom:0;height:40px;justify-content:space-evenly;align-items:center;}#popup .buttons button{all:unset;width:100%;height:100%;border-right:2px solid #636363;background:linear-gradient( 180deg,#000 0%,rgb(60,60,60) 100%);overflow:hidden;position:relative;color:var(--button-color);}#popup .buttons button:last-child{border-right:none;}#popup .buttons button img{filter:invert(1);opacity:0.5;width:15px;height:auto;margin-top:2px;}#popup .buttons button:hover{transition:all 0.3s ease;box-shadow:inset 0 0 5px rgb(0,0,0);text-shadow:0 0 15px rgb(255,255,255),0 0 3px rgb(255,255,255);}#popup .popup_bar_selected{background:var(--bar-selected-background) !important;}#popup .zHigh{border-top-color:var(--window-z-high-border) !important;box-shadow:var(--window-z-high-shadow) !important;border:1px solid rgba(0,0,0,0.05);}#popup [class*=popup_raised_]{position:absolute;inset:0;width:100%;height:100%;background-color:var(--raised-background);z-index:1;}#popup [class*=popup_window_]{position:absolute;inset:0;width:100%;height:100%;z-index:2;border-radius:var(--window-border-radius);box-shadow:var(--window-shadow);overflow:hidden;}#popup [class*=popup_overflow_]{position:absolute;inset:auto;z-index:3;border-radius:var(--window-border-radius);background:var(--window-background);}#popup .popup_bar,#popup [class*=popup_bar_]{display:flex;width:100%;height:36px;background:var(--bar-background);border-bottom:var(--bar-border-bottom);box-shadow:var(--bar-shadow);z-index:2;}#popup [class*=popup_drag_]{width:100%;padding:10px 0 0 10px;color:var(--bar-color);text-overflow:ellipsis;white-space:nowrap;overflow:hidden;}#popup [class*=popup_icon_]{padding:8px 0 0 10px;color:var(--bar-color);font-size:1.1em;}#popup [class*=popup_option_]{display:flex;margin-right:15px;}#popup [class*=popup_option_] button{position:relative;display:inline-block;width:36px;height:28px;color:white;border-radius:5px;margin:4px;transition:all 0.3s ease;background:transparent;}#popup [class*=popup_option_] button img{filter:invert(1);opacity:0.5;width:15px;height:auto;margin-top:2px;}#popup [class*=popup_option_] button:after{content:\"\";inset:0;display:block;position:absolute;background:linear-gradient( 180deg,#000 0%,rgb(60,60,60) 100%);border-radius:5px;z-index:-1;}#popup [class*=popup_option_] button:after{opacity:0;transition:opacity 0.3s ease-in-out;}#popup [class*=popup_option_] button:hover{background:rgba(255,255,255,0.1);box-shadow:inset 0 0 5px rgb(0,0,0);text-shadow:0 0 15px rgb(255,255,255),0 0 3px rgb(255,255,255);}#popup [class*=popup_option_] button:hover::after{opacity:1;}#popup [class*=popup_option_] button [class*=button_close_]:hover{background:rgb(255,0,0) !important;box-shadow:inset 0 0 25px rgb(255,255,255),0 0 35px rgb(255,0,0) !important;}#popup [class*=button_close_]:hover{background:rgb(255,0,0) !important;box-shadow:inset 0 0 25px rgb(255,255,255),0 0 35px rgb(255,0,0) !important;}#popup [class*=popup_internal_]{position:absolute;inset:37px 0 0 0;z-index:1;background:var(--internal-background);}#popup .popup_body,#popup [class*=popup_body_]{position:absolute;inset:0;color:var(--body-color);background:var(--body-background);text-align:center;}.popupMaxSize{position:absolute !important;width:100% !important;height:100% !important;inset:0 !important;margin:0 !important;padding:0 !important;border-radius:0 !important;}#popup_dock{position:absolute;bottom:0;left:0;right:0;height:var(--dock-height);background-color:var(--dock-background-color);border-top:1px solid rgba(255,255,255,0.521);}#popup_dock #popup_dock_icon{position:absolute;top:3px;left:3px;width:70px;height:var(--dock-height);}#popup_dock #popup_dock_list{position:absolute;top:3px;left:var(--dock-sideLeft);right:var(--dock-sideLeft);height:calc(var(--dock-height) - 5px);overflow-y:auto;text-align:right;display:flex;flex-direction:row;justify-content:flex-end;height:30px;}#popup_dock #popup_dock_list [class^=icon_]{width:var(--dock-icon-width);float:left;padding:4px;color:white;margin:2px 3px 0 0;display:flex;flex-direction:row;flex-wrap:nowrap;justify-content:flex-start;filter:saturate(400%);}#popup_dock #popup_dock_list [class^=icon_]:hover{background-color:rgb(77,77,77);}#popup_dock #popup_dock_list [class^=icon_] span:nth-child(1){width:20%;text-align:center;color:#F60;}#popup_dock #popup_dock_list [class^=icon_] span:nth-child(2){width:80%;text-align:left;text-overflow:ellipsis;white-space:nowrap;overflow:hidden;}#popup_dock #popup_dock_list [class^=icon_] button{width:20px;height:20px;color:white;padding:4px;margin:0;display:flex;align-content:center;justify-content:center;font-size:0.7em;border:none;background:none;}#popup_dock #popup_dock_options{position:absolute;top:3px;right:10px;width:var(--dock-sideRight);height:var(--dock-height);}#popup .iconize:before,#popup .maximize:before,#popup .close:before{content:\"\";position:absolute;inset:0;background-repeat:no-repeat !important;background-position:center !important;background-size:50% !important;filter:invert(1);opacity:0.5;margin:0;padding:0;}#popup .iconize:before{background-image:url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiIHN0YW5kYWxvbmU9Im5vIj8+CjwhLS0gQ3JlYXRlZCB3aXRoIElua3NjYXBlIChodHRwOi8vd3d3Lmlua3NjYXBlLm9yZy8pIC0tPgoKPHN2ZwogICB3aWR0aD0iMjAiCiAgIGhlaWdodD0iMjAiCiAgIHZpZXdCb3g9IjAgMCA1LjI5MTY2NjUgNS4yOTE2NjY4IgogICB2ZXJzaW9uPSIxLjEiCiAgIGlkPSJzdmczNzY4IgogICBpbmtzY2FwZTp2ZXJzaW9uPSIxLjEuMSAoM2JmNWFlMGQyNSwgMjAyMS0wOS0yMCkiCiAgIHNvZGlwb2RpOmRvY25hbWU9Imljb25pemUuc3ZnIgogICB4bWxuczppbmtzY2FwZT0iaHR0cDovL3d3dy5pbmtzY2FwZS5vcmcvbmFtZXNwYWNlcy9pbmtzY2FwZSIKICAgeG1sbnM6c29kaXBvZGk9Imh0dHA6Ly9zb2RpcG9kaS5zb3VyY2Vmb3JnZS5uZXQvRFREL3NvZGlwb2RpLTAuZHRkIgogICB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciCiAgIHhtbG5zOnN2Zz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciCiAgIHhtbG5zOnJkZj0iaHR0cDovL3d3dy53My5vcmcvMTk5OS8wMi8yMi1yZGYtc3ludGF4LW5zIyIKICAgeG1sbnM6Y2M9Imh0dHA6Ly9jcmVhdGl2ZWNvbW1vbnMub3JnL25zIyIKICAgeG1sbnM6ZGM9Imh0dHA6Ly9wdXJsLm9yZy9kYy9lbGVtZW50cy8xLjEvIj4KICA8ZGVmcwogICAgIGlkPSJkZWZzMzc2MiIgLz4KICA8c29kaXBvZGk6bmFtZWR2aWV3CiAgICAgaWQ9ImJhc2UiCiAgICAgcGFnZWNvbG9yPSIjZmZmZmZmIgogICAgIGJvcmRlcmNvbG9yPSIjNjY2NjY2IgogICAgIGJvcmRlcm9wYWNpdHk9IjEuMCIKICAgICBpbmtzY2FwZTpwYWdlb3BhY2l0eT0iMC4wIgogICAgIGlua3NjYXBlOnBhZ2VzaGFkb3c9IjIiCiAgICAgaW5rc2NhcGU6em9vbT0iNS42IgogICAgIGlua3NjYXBlOmN4PSI5LjkxMDcxNDMiCiAgICAgaW5rc2NhcGU6Y3k9IjY4LjM5Mjg1NyIKICAgICBpbmtzY2FwZTpkb2N1bWVudC11bml0cz0ibW0iCiAgICAgaW5rc2NhcGU6Y3VycmVudC1sYXllcj0ibGF5ZXIxIgogICAgIHNob3dncmlkPSJmYWxzZSIKICAgICB1bml0cz0icHgiCiAgICAgaW5rc2NhcGU6d2luZG93LXdpZHRoPSIxOTIwIgogICAgIGlua3NjYXBlOndpbmRvdy1oZWlnaHQ9IjEwMjciCiAgICAgaW5rc2NhcGU6d2luZG93LXg9Ii04IgogICAgIGlua3NjYXBlOndpbmRvdy15PSItOCIKICAgICBpbmtzY2FwZTp3aW5kb3ctbWF4aW1pemVkPSIxIgogICAgIGlua3NjYXBlOnBhZ2VjaGVja2VyYm9hcmQ9IjAiIC8+CiAgPG1ldGFkYXRhCiAgICAgaWQ9Im1ldGFkYXRhMzc2NSI+CiAgICA8cmRmOlJERj4KICAgICAgPGNjOldvcmsKICAgICAgICAgcmRmOmFib3V0PSIiPgogICAgICAgIDxkYzpmb3JtYXQ+aW1hZ2Uvc3ZnK3htbDwvZGM6Zm9ybWF0PgogICAgICAgIDxkYzp0eXBlCiAgICAgICAgICAgcmRmOnJlc291cmNlPSJodHRwOi8vcHVybC5vcmcvZGMvZGNtaXR5cGUvU3RpbGxJbWFnZSIgLz4KICAgICAgPC9jYzpXb3JrPgogICAgPC9yZGY6UkRGPgogIDwvbWV0YWRhdGE+CiAgPGcKICAgICBpbmtzY2FwZTpsYWJlbD0iTGF5ZXIgMSIKICAgICBpbmtzY2FwZTpncm91cG1vZGU9ImxheWVyIgogICAgIGlkPSJsYXllcjEiCiAgICAgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoMCwtMjkxLjcwODMyKSI+CiAgICA8cmVjdAogICAgICAgcnk9IjAuNjk5MTc0MjMiCiAgICAgICB5PSIyOTMuNjkyNzgiCiAgICAgICB4PSIwLjI3NDg0NjczIgogICAgICAgaGVpZ2h0PSIxLjM5ODM0ODUiCiAgICAgICB3aWR0aD0iNC43NjI0OTk4IgogICAgICAgaWQ9InJlY3QzNzM2LTciCiAgICAgICBzdHlsZT0iZmlsbDojMDAwMDAwO3N0cm9rZS13aWR0aDowLjEzMjk5MTg1IiAvPgogIDwvZz4KPC9zdmc+Cg==) !important;}#popup .maximize:before{background-image:url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiIHN0YW5kYWxvbmU9Im5vIj8+CjwhLS0gQ3JlYXRlZCB3aXRoIElua3NjYXBlIChodHRwOi8vd3d3Lmlua3NjYXBlLm9yZy8pIC0tPgoKPHN2ZwogICB3aWR0aD0iMjAiCiAgIGhlaWdodD0iMjAiCiAgIHZpZXdCb3g9IjAgMCA1LjI5MTY2NjUgNS4yOTE2NjY4IgogICB2ZXJzaW9uPSIxLjEiCiAgIGlkPSJzdmczNzY4IgogICBpbmtzY2FwZTp2ZXJzaW9uPSIxLjEuMSAoM2JmNWFlMGQyNSwgMjAyMS0wOS0yMCkiCiAgIHNvZGlwb2RpOmRvY25hbWU9Im1heGltaXplLnN2ZyIKICAgeG1sbnM6aW5rc2NhcGU9Imh0dHA6Ly93d3cuaW5rc2NhcGUub3JnL25hbWVzcGFjZXMvaW5rc2NhcGUiCiAgIHhtbG5zOnNvZGlwb2RpPSJodHRwOi8vc29kaXBvZGkuc291cmNlZm9yZ2UubmV0L0RURC9zb2RpcG9kaS0wLmR0ZCIKICAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogICB4bWxuczpzdmc9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogICB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiCiAgIHhtbG5zOmNjPSJodHRwOi8vY3JlYXRpdmVjb21tb25zLm9yZy9ucyMiCiAgIHhtbG5zOmRjPSJodHRwOi8vcHVybC5vcmcvZGMvZWxlbWVudHMvMS4xLyI+CiAgPGRlZnMKICAgICBpZD0iZGVmczM3NjIiIC8+CiAgPHNvZGlwb2RpOm5hbWVkdmlldwogICAgIGlkPSJiYXNlIgogICAgIHBhZ2Vjb2xvcj0iI2ZmZmZmZiIKICAgICBib3JkZXJjb2xvcj0iIzY2NjY2NiIKICAgICBib3JkZXJvcGFjaXR5PSIxLjAiCiAgICAgaW5rc2NhcGU6cGFnZW9wYWNpdHk9IjAuMCIKICAgICBpbmtzY2FwZTpwYWdlc2hhZG93PSIyIgogICAgIGlua3NjYXBlOnpvb209IjcuOTE5NTk1OSIKICAgICBpbmtzY2FwZTpjeD0iNC45ODc2MjgyIgogICAgIGlua3NjYXBlOmN5PSIyNS4zODAwODMiCiAgICAgaW5rc2NhcGU6ZG9jdW1lbnQtdW5pdHM9Im1tIgogICAgIGlua3NjYXBlOmN1cnJlbnQtbGF5ZXI9ImxheWVyMSIKICAgICBzaG93Z3JpZD0iZmFsc2UiCiAgICAgdW5pdHM9InB4IgogICAgIGlua3NjYXBlOndpbmRvdy13aWR0aD0iMTkyMCIKICAgICBpbmtzY2FwZTp3aW5kb3ctaGVpZ2h0PSIxMDI3IgogICAgIGlua3NjYXBlOndpbmRvdy14PSItOCIKICAgICBpbmtzY2FwZTp3aW5kb3cteT0iLTgiCiAgICAgaW5rc2NhcGU6d2luZG93LW1heGltaXplZD0iMSIKICAgICBpbmtzY2FwZTpwYWdlY2hlY2tlcmJvYXJkPSIwIiAvPgogIDxtZXRhZGF0YQogICAgIGlkPSJtZXRhZGF0YTM3NjUiPgogICAgPHJkZjpSREY+CiAgICAgIDxjYzpXb3JrCiAgICAgICAgIHJkZjphYm91dD0iIj4KICAgICAgICA8ZGM6Zm9ybWF0PmltYWdlL3N2Zyt4bWw8L2RjOmZvcm1hdD4KICAgICAgICA8ZGM6dHlwZQogICAgICAgICAgIHJkZjpyZXNvdXJjZT0iaHR0cDovL3B1cmwub3JnL2RjL2RjbWl0eXBlL1N0aWxsSW1hZ2UiIC8+CiAgICAgIDwvY2M6V29yaz4KICAgIDwvcmRmOlJERj4KICA8L21ldGFkYXRhPgogIDxnCiAgICAgaW5rc2NhcGU6bGFiZWw9IkxheWVyIDEiCiAgICAgaW5rc2NhcGU6Z3JvdXBtb2RlPSJsYXllciIKICAgICBpZD0ibGF5ZXIxIgogICAgIHRyYW5zZm9ybT0idHJhbnNsYXRlKDAsLTI5MS43MDgzMikiPgogICAgPHJlY3QKICAgICAgIHN0eWxlPSJmaWxsOiMwMDAwMDA7c3Ryb2tlLXdpZHRoOjAuMTQ3MDQ1NCIKICAgICAgIGlkPSJyZWN0MzczMiIKICAgICAgIHdpZHRoPSI0Ljc2MjQ5OTgiCiAgICAgICBoZWlnaHQ9IjQuNzYyNDk5OCIKICAgICAgIHg9IjAuMjkxODUyNTMiCiAgICAgICB5PSIyOTIuMDEwNDQiCiAgICAgICByeT0iMC42NjcxMjEyMyIgLz4KICA8L2c+Cjwvc3ZnPgo=) !important;}#popup .close:before{background-image:url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiIHN0YW5kYWxvbmU9Im5vIj8+CjwhLS0gQ3JlYXRlZCB3aXRoIElua3NjYXBlIChodHRwOi8vd3d3Lmlua3NjYXBlLm9yZy8pIC0tPgoKPHN2ZwogICB3aWR0aD0iMjAiCiAgIGhlaWdodD0iMjAiCiAgIHZpZXdCb3g9IjAgMCA1LjI5MTY2NjUgNS4yOTE2NjY4IgogICB2ZXJzaW9uPSIxLjEiCiAgIGlkPSJzdmczNzY4IgogICBpbmtzY2FwZTp2ZXJzaW9uPSIxLjEuMSAoM2JmNWFlMGQyNSwgMjAyMS0wOS0yMCkiCiAgIHNvZGlwb2RpOmRvY25hbWU9ImNsb3NlLnN2ZyIKICAgeG1sbnM6aW5rc2NhcGU9Imh0dHA6Ly93d3cuaW5rc2NhcGUub3JnL25hbWVzcGFjZXMvaW5rc2NhcGUiCiAgIHhtbG5zOnNvZGlwb2RpPSJodHRwOi8vc29kaXBvZGkuc291cmNlZm9yZ2UubmV0L0RURC9zb2RpcG9kaS0wLmR0ZCIKICAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogICB4bWxuczpzdmc9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogICB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiCiAgIHhtbG5zOmNjPSJodHRwOi8vY3JlYXRpdmVjb21tb25zLm9yZy9ucyMiCiAgIHhtbG5zOmRjPSJodHRwOi8vcHVybC5vcmcvZGMvZWxlbWVudHMvMS4xLyI+CiAgPGRlZnMKICAgICBpZD0iZGVmczM3NjIiIC8+CiAgPHNvZGlwb2RpOm5hbWVkdmlldwogICAgIGlkPSJiYXNlIgogICAgIHBhZ2Vjb2xvcj0iI2ZmZmZmZiIKICAgICBib3JkZXJjb2xvcj0iIzY2NjY2NiIKICAgICBib3JkZXJvcGFjaXR5PSIxLjAiCiAgICAgaW5rc2NhcGU6cGFnZW9wYWNpdHk9IjAuMCIKICAgICBpbmtzY2FwZTpwYWdlc2hhZG93PSIyIgogICAgIGlua3NjYXBlOnpvb209IjcuOTE5NTk1OSIKICAgICBpbmtzY2FwZTpjeD0iNC45ODc2MjgyIgogICAgIGlua3NjYXBlOmN5PSIyNS4zODAwODMiCiAgICAgaW5rc2NhcGU6ZG9jdW1lbnQtdW5pdHM9Im1tIgogICAgIGlua3NjYXBlOmN1cnJlbnQtbGF5ZXI9ImxheWVyMSIKICAgICBzaG93Z3JpZD0iZmFsc2UiCiAgICAgdW5pdHM9InB4IgogICAgIGlua3NjYXBlOndpbmRvdy13aWR0aD0iMTkyMCIKICAgICBpbmtzY2FwZTp3aW5kb3ctaGVpZ2h0PSIxMDI3IgogICAgIGlua3NjYXBlOndpbmRvdy14PSItOCIKICAgICBpbmtzY2FwZTp3aW5kb3cteT0iLTgiCiAgICAgaW5rc2NhcGU6d2luZG93LW1heGltaXplZD0iMSIKICAgICBpbmtzY2FwZTpwYWdlY2hlY2tlcmJvYXJkPSIwIiAvPgogIDxtZXRhZGF0YQogICAgIGlkPSJtZXRhZGF0YTM3NjUiPgogICAgPHJkZjpSREY+CiAgICAgIDxjYzpXb3JrCiAgICAgICAgIHJkZjphYm91dD0iIj4KICAgICAgICA8ZGM6Zm9ybWF0PmltYWdlL3N2Zyt4bWw8L2RjOmZvcm1hdD4KICAgICAgICA8ZGM6dHlwZQogICAgICAgICAgIHJkZjpyZXNvdXJjZT0iaHR0cDovL3B1cmwub3JnL2RjL2RjbWl0eXBlL1N0aWxsSW1hZ2UiIC8+CiAgICAgIDwvY2M6V29yaz4KICAgIDwvcmRmOlJERj4KICA8L21ldGFkYXRhPgogIDxnCiAgICAgaW5rc2NhcGU6bGFiZWw9IkxheWVyIDEiCiAgICAgaW5rc2NhcGU6Z3JvdXBtb2RlPSJsYXllciIKICAgICBpZD0ibGF5ZXIxIgogICAgIHRyYW5zZm9ybT0idHJhbnNsYXRlKDAsLTI5MS43MDgzMikiPgogICAgPHBhdGgKICAgICAgIHN0eWxlPSJmaWxsOiMwMDAwMDA7c3Ryb2tlLXdpZHRoOjAuMTQ5MDI2NjMiCiAgICAgICBkPSJtIDAuOTY5NDI2NTUsMjkxLjk4MjY1IGMgLTAuMTczMTcsMCAtMC4zNDYzMSwwLjA2NjYgLTAuNDc5LDAuMTk5MjcgLTAuMjY1MzgsMC4yNjUzNyAtMC4yNjUzOCwwLjY5MjQ0IDAsMC45NTc4MSBsIDEuMjI0MjA5OTUsMS4yMjQxNyAtMS4yMjQyMDk5NSwxLjIyNDE3IGMgLTAuMjY1MzgsMC4yNjUzNyAtMC4yNjUzOCwwLjY5MjQ0IDAsMC45NTc4MSAwLjI2NTM4LDAuMjY1MzcgMC42OTI2MDk5NSwwLjI2NTM3IDAuOTU3OTg5OTUsMCBsIDEuMjI0MjEsLTEuMjI0MTcgMS4yMjQyMDgsMS4yMjQxNyBjIDAuMTMyNjkyLDAuMTMyNjggMC4zMDU4MywwLjE5OTI3IDAuNDc4OTkxLDAuMTk5MjcgMC4wNDMzLDAgMC4wODY3LC0wLjAwNCAwLjEyOTM3OSwtMC4wMTI1IDAuMTI3OTcxLC0wLjAyNDkgMC4yNTAxLC0wLjA4NzIgMC4zNDk2MiwtMC4xODY3NiAwLjAzMzIsLTAuMDMzMiAwLjA2MjMsLTAuMDY4NiAwLjA4NzEsLTAuMTA2MTQgMC4xNzQxNiwtMC4yNjMxOSAwLjE0NTA2OSwtMC42MTk0NiAtMC4wODcxLC0wLjg1MTY2IGwgLTEuMjI0MjA4LC0xLjIyNDE3IDEuMjI0MjA4LC0xLjIyNDE3IGMgMC4yNjUzNywtMC4yNjUzNyAwLjI2NTM3LC0wLjY5MjQ0IDAsLTAuOTU3ODEgLTAuMjY1Mzc5LC0wLjI2NTM3IC0wLjY5MjYxLC0wLjI2NTM3IC0wLjk1Nzk5LDAgbCAtMS4yMjQyMDgsMS4yMjQxNyAtMS4yMjQyMSwtMS4yMjQxNyBjIC0wLjEzMjY5LC0wLjEzMjY5IC0wLjMwNTgzLC0wLjE5OTI3IC0wLjQ3ODk4OTk1LC0wLjE5OTI3IHoiCiAgICAgICBpZD0icmVjdDM3MTUiCiAgICAgICBpbmtzY2FwZTpjb25uZWN0b3ItY3VydmF0dXJlPSIwIiAvPgogIDwvZz4KPC9zdmc+Cg==) !important;}#popup > input,#popup > button,#popup > textarea,#popup > select{all:unset;}.popup_alert,.popup_message,.popup_prompt,.popup_confirm{height:calc(100% - 41px);box-shadow:0 1px 1px #888;overflow:auto;padding:20px;word-break:break-all;}.popup_alert input[type=text],.popup_message input[type=text],.popup_prompt input[type=text],.popup_confirm input[type=text]{position:relative;width:90%;height:35px;padding:5px;font-size:1.05em;border:2px solid rgba(0,0,0,0.3);border-radius:6px;color:#ddd;background-color:#4a4a4f;}.popup_window___alert #a___alert,.popup_window___alert #a___message,.popup_window___message #a___alert,.popup_window___message #a___message{width:100% !important;}.popup_window___prompt #a___alert,.popup_window___prompt #b___alert,.popup_window___prompt #a___message,.popup_window___prompt #b___message,.popup_window___confirm #a___alert,.popup_window___confirm #b___alert,.popup_window___confirm #a___message,.popup_window___confirm #b___message{width:50% !important;}.resize_0,.resize_1,.resize_2,.resize_3{position:absolute;background-color:var(--resize-background-color);border-radius:var(--border-radius);opacity:0;z-index:5000;transition:var(--transition-time);}.resize_0{top:-4px;left:0;width:100%;height:10px;cursor:n-resize;}.resize_1{top:0;right:-4px;width:10px;height:100%;cursor:e-resize;}.resize_2{bottom:-4px;left:0;width:100%;height:10px;cursor:n-resize;}.resize_3{top:0;left:-4px;width:10px;height:100%;cursor:e-resize;}.resize_corner_0,.resize_corner_1,.resize_corner_2,.resize_corner_3{position:absolute;background-color:var(--resize-background-color);border-radius:var(--border-radius);opacity:0;z-index:5000;transition:var(--transition-time);width:var(--corner-size);height:var(--corner-size);border-radius:var(--corner-border-radius);}.resize_corner_0{top:-4px;left:-4px;cursor:nw-resize;}.resize_corner_1{top:-4px;right:-4px;cursor:ne-resize;}.resize_corner_2{bottom:-4px;right:-4px;cursor:nw-resize;}.resize_corner_3{bottom:-4px;left:-4px;cursor:ne-resize;}.resize_0:hover,.resize_1:hover,.resize_2:hover,.resize_3:hover,.resize_corner_0:hover,.resize_corner_1:hover,.resize_corner_2:hover,.resize_corner_3:hover{opacity:var(--hover-opacity);filter:var(--hover-filter);box-shadow:var(--resize-shadow);transition:var(--transition-time);}#popup{}#popup::-webkit-scrollbar{width:10px;scroll-behavior:smooth;}#popup{}#popup::-webkit-scrollbar-track{-webkit-border-radius:2px;border-radius:2px;margin:5px;}#popup{}#popup::-webkit-scrollbar-thumb{-webkit-border-radius:2px;border-radius:2px;background:rgb(30,150,255) !important;}}";document.head.appendChild(s)})();var e = Object.defineProperty, t = (t, o, i) => ((t, o, i) => o in t ? e(t, o, {
1
+ ;(()=>{if(typeof document==="undefined"||document.querySelector("style[data-layerpro-styles]"))return;const s=document.createElement("style");const n=globalThis.__layerproNonce||globalThis.layerpro?.nonce||document.querySelector("style[nonce],script[nonce]")?.nonce||document.body?.dataset?.nonce;if(n)s.setAttribute("nonce",n);s.setAttribute("data-layerpro-styles","");s.textContent="@layer layerpro{:root{--input-background-color:#444;--input-color:white;--button-background-color:#444;--button-color:white;--inputButton-fontSize:.8em;--resize-background-color:rgba(30,150,255,.5);--resize-shadow:0 0 10px rgba(30,150,255,.5);--dock-background-color:black;--dock-height:40px;--dock-sideLeft:10px;--dock-sideCenter:auto;--dock-sideRight:10px;--dock-icon-width:140px;--bar-background:linear-gradient( 45deg,#4a4a4f 60%,#AAA 100%);--bar-selected-background:linear-gradient( 45deg,#162858 60%,#224e918a 100%);--bar-color:#eee;--bar-border-bottom:2px solid #555;--bar-shadow:0 1px 1px #888;--window-background:gray;--window-shadow:0 0 10px rgba(0,0,0,.3);--window-border-radius:10px;--window-z-high-border:#278ed0;--window-z-high-shadow:0 0 15px rgba(0,0,0,.7);--internal-background:linear-gradient( 0deg,rgba(60,60,60,1) 0%,#4a4a4f 100%);--body-color:#eee;--body-background:transparent;--modal-background:rgba(0,0,0,.3);--popup-z-index:1000;--transition-time:.5s;--border-radius:25px;--corner-size:14px;--corner-border-radius:50%;--hover-opacity:1;--hover-filter:blur(3px);}}@layer layerpro{#popup > [class^=popup_overflow],#popup > [class^=popup_bar_],#popup > [class^=popup_window_],#popup > [class^=popup_internal],#popup > [class^=popup_body]{position:static;}#popup > [class^=popup_overflow],#popup > [class^=popup_bar_],#popup > [class^=popup_window_],#popup > [class^=popup_internal],#popup > [class^=popup_body],#popup,#popup_dock{will-change:transform,opacity,top,left,height,width;}#popup{position:absolute;top:0;left:0;right:0;bottom:0;width:100%;height:100%;pointer-events:none;z-index:var(--lp-z-index,1001);}#popup .buttons{display:flex;position:absolute;left:0;right:0;bottom:0;height:40px;justify-content:space-evenly;align-items:center;}#popup .buttons button{all:unset;width:100%;height:100%;border-right:2px solid #636363;background:linear-gradient( 180deg,#000 0%,rgb(60,60,60) 100%);overflow:hidden;position:relative;color:var(--button-color);}#popup .buttons button:last-child{border-right:none;}#popup .buttons button img{filter:invert(1);opacity:0.5;width:15px;height:auto;margin-top:2px;}#popup .buttons button:hover{transition:all 0.3s ease;box-shadow:inset 0 0 5px rgb(0,0,0);text-shadow:0 0 15px rgb(255,255,255),0 0 3px rgb(255,255,255);}#popup .popup_bar_selected{background:var(--bar-selected-background) !important;}#popup .zHigh{border-top-color:var(--window-z-high-border) !important;box-shadow:var(--window-z-high-shadow) !important;border:1px solid rgba(0,0,0,0.05);}#popup [class*=popup_modal_]{position:absolute;inset:0;width:100%;height:100%;background-color:var(--modal-background);pointer-events:auto;z-index:var(--lp-z-index,1);}#popup [class*=popup_window_]{position:absolute;inset:0;width:100%;height:100%;z-index:2;pointer-events:auto;border-radius:var(--window-border-radius);box-shadow:var(--window-shadow);overflow:hidden;}#popup [class*=popup_overflow_]{position:absolute;inset:auto;top:var(--lp-top,auto);left:var(--lp-left,auto);right:var(--lp-right,auto);bottom:var(--lp-bottom,auto);width:var(--lp-width,auto);height:var(--lp-height,auto);min-width:var(--lp-min-width,auto);min-height:var(--lp-min-height,auto);max-width:var(--lp-max-width,none);max-height:var(--lp-max-height,none);z-index:var(--lp-z-index,3);pointer-events:auto;border-radius:var(--window-border-radius);background:var(--window-background);}#popup .popup_bar,#popup [class*=popup_bar_]{display:flex;width:100%;height:36px;background:var(--bar-background);border-bottom:var(--bar-border-bottom);box-shadow:var(--bar-shadow);z-index:2;}#popup [class*=popup_drag_]{width:100%;padding:10px 0 0 10px;color:var(--bar-color);text-overflow:ellipsis;white-space:nowrap;overflow:hidden;}#popup [class*=popup_icon_]{padding:8px 0 0 10px;color:var(--bar-color);font-size:1.1em;}#popup [class*=popup_option_]{display:flex;margin-right:15px;}#popup [class*=popup_option_] button{position:relative;display:inline-block;width:36px;height:28px;color:white;border-radius:5px;margin:4px;transition:all 0.3s ease;background:transparent;}#popup [class*=popup_option_] button img{filter:invert(1);opacity:0.5;width:15px;height:auto;margin-top:2px;}#popup [class*=popup_option_] button:after{content:\"\";inset:0;display:block;position:absolute;background:linear-gradient( 180deg,#000 0%,rgb(60,60,60) 100%);border-radius:5px;z-index:-1;}#popup [class*=popup_option_] button:after{opacity:0;transition:opacity 0.3s ease-in-out;}#popup [class*=popup_option_] button:hover{background:rgba(255,255,255,0.1);box-shadow:inset 0 0 5px rgb(0,0,0);text-shadow:0 0 15px rgb(255,255,255),0 0 3px rgb(255,255,255);}#popup [class*=popup_option_] button:hover::after{opacity:1;}#popup [class*=popup_option_] button [class*=button_close_]:hover{background:rgb(255,0,0) !important;box-shadow:inset 0 0 25px rgb(255,255,255),0 0 35px rgb(255,0,0) !important;}#popup [class*=button_close_]:hover{background:rgb(255,0,0) !important;box-shadow:inset 0 0 25px rgb(255,255,255),0 0 35px rgb(255,0,0) !important;}#popup [class*=popup_internal_]{position:absolute;inset:37px 0 0 0;z-index:1;background:var(--internal-background);}#popup .popup_body,#popup [class*=popup_body_]{position:absolute;inset:0;color:var(--body-color);background:var(--body-background);text-align:center;}.popupMaxSize{position:absolute !important;width:100% !important;height:100% !important;inset:0 !important;margin:0 !important;padding:0 !important;border-radius:0 !important;}}@layer layerpro{#popup .lp_hidden{display:none;}#popup .lp_fade_in{opacity:1;transition:opacity var(--lp-fade-duration,100ms) ease;}#popup .lp_fade_out{opacity:0;transition:opacity var(--lp-fade-duration,100ms) ease;}#popup .lp_no_transition{transition:none;}#popup .popup_maximized{position:fixed;top:-6px;left:-6px;right:-6px;bottom:-6px;width:auto;height:auto;}#popup .popup_iconized{width:0;height:0;opacity:0;}#popup .popup_dimmed{opacity:0.5;}#popup [class*=popup_body_].popup_content_hidden{content-visibility:hidden;}#popup [class*=popup_body_].popup_content_visible{content-visibility:visible;}#popup .lp_no_pointer{pointer-events:none;}#popup .lp_pointer{pointer-events:auto;}#popup .lp_no_touch{touch-action:none;}body.lp_page_locked{pointer-events:none;}}@layer layerpro{#root.layerpro-dock,html.layerpro-dock,body.layerpro-dock{position:absolute;top:0;right:0;left:0;bottom:var(--dock-height) !important;overflow-y:auto !important;}#popup_dock{position:fixed;bottom:0;left:0;right:0;height:var(--dock-height);pointer-events:auto;z-index:var(--lp-z-index,1001);background-color:var(--dock-background-color);border-top:1px solid rgba(255,255,255,0.521);}#popup_dock #popup_dock_icon{position:absolute;top:3px;left:3px;width:70px;height:var(--dock-height);}#popup_dock #popup_dock_list{position:absolute;top:3px;left:var(--dock-sideLeft);right:var(--dock-sideLeft);height:calc(var(--dock-height) - 5px);overflow-y:auto;text-align:right;display:flex;flex-direction:row;justify-content:flex-end;height:30px;}#popup_dock #popup_dock_list [class^=icon_]{width:var(--dock-icon-width);float:left;padding:4px;color:white;margin:2px 3px 0 0;display:flex;flex-direction:row;flex-wrap:nowrap;justify-content:flex-start;filter:saturate(400%);}#popup_dock #popup_dock_list [class^=icon_]:hover{background-color:rgb(77,77,77);}#popup_dock #popup_dock_list [class^=icon_] span:nth-child(1){width:20%;text-align:center;color:#F60;}#popup_dock #popup_dock_list [class^=icon_] span:nth-child(2){width:80%;text-align:left;text-overflow:ellipsis;white-space:nowrap;overflow:hidden;}#popup_dock #popup_dock_list [class^=icon_] button{width:20px;height:20px;color:white;padding:4px;margin:0;display:flex;align-content:center;justify-content:center;font-size:0.7em;border:none;background:none;}#popup_dock #popup_dock_options{position:absolute;top:3px;right:10px;width:var(--dock-sideRight);height:var(--dock-height);}}@layer layerpro{#popup .iconize:before,#popup .maximize:before,#popup .close:before{content:\"\";position:absolute;inset:0;background-repeat:no-repeat !important;background-position:center !important;background-size:50% !important;filter:invert(1);opacity:0.5;margin:0;padding:0;}#popup .iconize:before{background-image:url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiIHN0YW5kYWxvbmU9Im5vIj8+CjwhLS0gQ3JlYXRlZCB3aXRoIElua3NjYXBlIChodHRwOi8vd3d3Lmlua3NjYXBlLm9yZy8pIC0tPgoKPHN2ZwogICB3aWR0aD0iMjAiCiAgIGhlaWdodD0iMjAiCiAgIHZpZXdCb3g9IjAgMCA1LjI5MTY2NjUgNS4yOTE2NjY4IgogICB2ZXJzaW9uPSIxLjEiCiAgIGlkPSJzdmczNzY4IgogICBpbmtzY2FwZTp2ZXJzaW9uPSIxLjEuMSAoM2JmNWFlMGQyNSwgMjAyMS0wOS0yMCkiCiAgIHNvZGlwb2RpOmRvY25hbWU9Imljb25pemUuc3ZnIgogICB4bWxuczppbmtzY2FwZT0iaHR0cDovL3d3dy5pbmtzY2FwZS5vcmcvbmFtZXNwYWNlcy9pbmtzY2FwZSIKICAgeG1sbnM6c29kaXBvZGk9Imh0dHA6Ly9zb2RpcG9kaS5zb3VyY2Vmb3JnZS5uZXQvRFREL3NvZGlwb2RpLTAuZHRkIgogICB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciCiAgIHhtbG5zOnN2Zz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciCiAgIHhtbG5zOnJkZj0iaHR0cDovL3d3dy53My5vcmcvMTk5OS8wMi8yMi1yZGYtc3ludGF4LW5zIyIKICAgeG1sbnM6Y2M9Imh0dHA6Ly9jcmVhdGl2ZWNvbW1vbnMub3JnL25zIyIKICAgeG1sbnM6ZGM9Imh0dHA6Ly9wdXJsLm9yZy9kYy9lbGVtZW50cy8xLjEvIj4KICA8ZGVmcwogICAgIGlkPSJkZWZzMzc2MiIgLz4KICA8c29kaXBvZGk6bmFtZWR2aWV3CiAgICAgaWQ9ImJhc2UiCiAgICAgcGFnZWNvbG9yPSIjZmZmZmZmIgogICAgIGJvcmRlcmNvbG9yPSIjNjY2NjY2IgogICAgIGJvcmRlcm9wYWNpdHk9IjEuMCIKICAgICBpbmtzY2FwZTpwYWdlb3BhY2l0eT0iMC4wIgogICAgIGlua3NjYXBlOnBhZ2VzaGFkb3c9IjIiCiAgICAgaW5rc2NhcGU6em9vbT0iNS42IgogICAgIGlua3NjYXBlOmN4PSI5LjkxMDcxNDMiCiAgICAgaW5rc2NhcGU6Y3k9IjY4LjM5Mjg1NyIKICAgICBpbmtzY2FwZTpkb2N1bWVudC11bml0cz0ibW0iCiAgICAgaW5rc2NhcGU6Y3VycmVudC1sYXllcj0ibGF5ZXIxIgogICAgIHNob3dncmlkPSJmYWxzZSIKICAgICB1bml0cz0icHgiCiAgICAgaW5rc2NhcGU6d2luZG93LXdpZHRoPSIxOTIwIgogICAgIGlua3NjYXBlOndpbmRvdy1oZWlnaHQ9IjEwMjciCiAgICAgaW5rc2NhcGU6d2luZG93LXg9Ii04IgogICAgIGlua3NjYXBlOndpbmRvdy15PSItOCIKICAgICBpbmtzY2FwZTp3aW5kb3ctbWF4aW1pemVkPSIxIgogICAgIGlua3NjYXBlOnBhZ2VjaGVja2VyYm9hcmQ9IjAiIC8+CiAgPG1ldGFkYXRhCiAgICAgaWQ9Im1ldGFkYXRhMzc2NSI+CiAgICA8cmRmOlJERj4KICAgICAgPGNjOldvcmsKICAgICAgICAgcmRmOmFib3V0PSIiPgogICAgICAgIDxkYzpmb3JtYXQ+aW1hZ2Uvc3ZnK3htbDwvZGM6Zm9ybWF0PgogICAgICAgIDxkYzp0eXBlCiAgICAgICAgICAgcmRmOnJlc291cmNlPSJodHRwOi8vcHVybC5vcmcvZGMvZGNtaXR5cGUvU3RpbGxJbWFnZSIgLz4KICAgICAgPC9jYzpXb3JrPgogICAgPC9yZGY6UkRGPgogIDwvbWV0YWRhdGE+CiAgPGcKICAgICBpbmtzY2FwZTpsYWJlbD0iTGF5ZXIgMSIKICAgICBpbmtzY2FwZTpncm91cG1vZGU9ImxheWVyIgogICAgIGlkPSJsYXllcjEiCiAgICAgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoMCwtMjkxLjcwODMyKSI+CiAgICA8cmVjdAogICAgICAgcnk9IjAuNjk5MTc0MjMiCiAgICAgICB5PSIyOTMuNjkyNzgiCiAgICAgICB4PSIwLjI3NDg0NjczIgogICAgICAgaGVpZ2h0PSIxLjM5ODM0ODUiCiAgICAgICB3aWR0aD0iNC43NjI0OTk4IgogICAgICAgaWQ9InJlY3QzNzM2LTciCiAgICAgICBzdHlsZT0iZmlsbDojMDAwMDAwO3N0cm9rZS13aWR0aDowLjEzMjk5MTg1IiAvPgogIDwvZz4KPC9zdmc+Cg==) !important;}#popup .maximize:before{background-image:url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiIHN0YW5kYWxvbmU9Im5vIj8+CjwhLS0gQ3JlYXRlZCB3aXRoIElua3NjYXBlIChodHRwOi8vd3d3Lmlua3NjYXBlLm9yZy8pIC0tPgoKPHN2ZwogICB3aWR0aD0iMjAiCiAgIGhlaWdodD0iMjAiCiAgIHZpZXdCb3g9IjAgMCA1LjI5MTY2NjUgNS4yOTE2NjY4IgogICB2ZXJzaW9uPSIxLjEiCiAgIGlkPSJzdmczNzY4IgogICBpbmtzY2FwZTp2ZXJzaW9uPSIxLjEuMSAoM2JmNWFlMGQyNSwgMjAyMS0wOS0yMCkiCiAgIHNvZGlwb2RpOmRvY25hbWU9Im1heGltaXplLnN2ZyIKICAgeG1sbnM6aW5rc2NhcGU9Imh0dHA6Ly93d3cuaW5rc2NhcGUub3JnL25hbWVzcGFjZXMvaW5rc2NhcGUiCiAgIHhtbG5zOnNvZGlwb2RpPSJodHRwOi8vc29kaXBvZGkuc291cmNlZm9yZ2UubmV0L0RURC9zb2RpcG9kaS0wLmR0ZCIKICAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogICB4bWxuczpzdmc9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogICB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiCiAgIHhtbG5zOmNjPSJodHRwOi8vY3JlYXRpdmVjb21tb25zLm9yZy9ucyMiCiAgIHhtbG5zOmRjPSJodHRwOi8vcHVybC5vcmcvZGMvZWxlbWVudHMvMS4xLyI+CiAgPGRlZnMKICAgICBpZD0iZGVmczM3NjIiIC8+CiAgPHNvZGlwb2RpOm5hbWVkdmlldwogICAgIGlkPSJiYXNlIgogICAgIHBhZ2Vjb2xvcj0iI2ZmZmZmZiIKICAgICBib3JkZXJjb2xvcj0iIzY2NjY2NiIKICAgICBib3JkZXJvcGFjaXR5PSIxLjAiCiAgICAgaW5rc2NhcGU6cGFnZW9wYWNpdHk9IjAuMCIKICAgICBpbmtzY2FwZTpwYWdlc2hhZG93PSIyIgogICAgIGlua3NjYXBlOnpvb209IjcuOTE5NTk1OSIKICAgICBpbmtzY2FwZTpjeD0iNC45ODc2MjgyIgogICAgIGlua3NjYXBlOmN5PSIyNS4zODAwODMiCiAgICAgaW5rc2NhcGU6ZG9jdW1lbnQtdW5pdHM9Im1tIgogICAgIGlua3NjYXBlOmN1cnJlbnQtbGF5ZXI9ImxheWVyMSIKICAgICBzaG93Z3JpZD0iZmFsc2UiCiAgICAgdW5pdHM9InB4IgogICAgIGlua3NjYXBlOndpbmRvdy13aWR0aD0iMTkyMCIKICAgICBpbmtzY2FwZTp3aW5kb3ctaGVpZ2h0PSIxMDI3IgogICAgIGlua3NjYXBlOndpbmRvdy14PSItOCIKICAgICBpbmtzY2FwZTp3aW5kb3cteT0iLTgiCiAgICAgaW5rc2NhcGU6d2luZG93LW1heGltaXplZD0iMSIKICAgICBpbmtzY2FwZTpwYWdlY2hlY2tlcmJvYXJkPSIwIiAvPgogIDxtZXRhZGF0YQogICAgIGlkPSJtZXRhZGF0YTM3NjUiPgogICAgPHJkZjpSREY+CiAgICAgIDxjYzpXb3JrCiAgICAgICAgIHJkZjphYm91dD0iIj4KICAgICAgICA8ZGM6Zm9ybWF0PmltYWdlL3N2Zyt4bWw8L2RjOmZvcm1hdD4KICAgICAgICA8ZGM6dHlwZQogICAgICAgICAgIHJkZjpyZXNvdXJjZT0iaHR0cDovL3B1cmwub3JnL2RjL2RjbWl0eXBlL1N0aWxsSW1hZ2UiIC8+CiAgICAgIDwvY2M6V29yaz4KICAgIDwvcmRmOlJERj4KICA8L21ldGFkYXRhPgogIDxnCiAgICAgaW5rc2NhcGU6bGFiZWw9IkxheWVyIDEiCiAgICAgaW5rc2NhcGU6Z3JvdXBtb2RlPSJsYXllciIKICAgICBpZD0ibGF5ZXIxIgogICAgIHRyYW5zZm9ybT0idHJhbnNsYXRlKDAsLTI5MS43MDgzMikiPgogICAgPHJlY3QKICAgICAgIHN0eWxlPSJmaWxsOiMwMDAwMDA7c3Ryb2tlLXdpZHRoOjAuMTQ3MDQ1NCIKICAgICAgIGlkPSJyZWN0MzczMiIKICAgICAgIHdpZHRoPSI0Ljc2MjQ5OTgiCiAgICAgICBoZWlnaHQ9IjQuNzYyNDk5OCIKICAgICAgIHg9IjAuMjkxODUyNTMiCiAgICAgICB5PSIyOTIuMDEwNDQiCiAgICAgICByeT0iMC42NjcxMjEyMyIgLz4KICA8L2c+Cjwvc3ZnPgo=) !important;}#popup .close:before{background-image:url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiIHN0YW5kYWxvbmU9Im5vIj8+CjwhLS0gQ3JlYXRlZCB3aXRoIElua3NjYXBlIChodHRwOi8vd3d3Lmlua3NjYXBlLm9yZy8pIC0tPgoKPHN2ZwogICB3aWR0aD0iMjAiCiAgIGhlaWdodD0iMjAiCiAgIHZpZXdCb3g9IjAgMCA1LjI5MTY2NjUgNS4yOTE2NjY4IgogICB2ZXJzaW9uPSIxLjEiCiAgIGlkPSJzdmczNzY4IgogICBpbmtzY2FwZTp2ZXJzaW9uPSIxLjEuMSAoM2JmNWFlMGQyNSwgMjAyMS0wOS0yMCkiCiAgIHNvZGlwb2RpOmRvY25hbWU9ImNsb3NlLnN2ZyIKICAgeG1sbnM6aW5rc2NhcGU9Imh0dHA6Ly93d3cuaW5rc2NhcGUub3JnL25hbWVzcGFjZXMvaW5rc2NhcGUiCiAgIHhtbG5zOnNvZGlwb2RpPSJodHRwOi8vc29kaXBvZGkuc291cmNlZm9yZ2UubmV0L0RURC9zb2RpcG9kaS0wLmR0ZCIKICAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogICB4bWxuczpzdmc9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogICB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiCiAgIHhtbG5zOmNjPSJodHRwOi8vY3JlYXRpdmVjb21tb25zLm9yZy9ucyMiCiAgIHhtbG5zOmRjPSJodHRwOi8vcHVybC5vcmcvZGMvZWxlbWVudHMvMS4xLyI+CiAgPGRlZnMKICAgICBpZD0iZGVmczM3NjIiIC8+CiAgPHNvZGlwb2RpOm5hbWVkdmlldwogICAgIGlkPSJiYXNlIgogICAgIHBhZ2Vjb2xvcj0iI2ZmZmZmZiIKICAgICBib3JkZXJjb2xvcj0iIzY2NjY2NiIKICAgICBib3JkZXJvcGFjaXR5PSIxLjAiCiAgICAgaW5rc2NhcGU6cGFnZW9wYWNpdHk9IjAuMCIKICAgICBpbmtzY2FwZTpwYWdlc2hhZG93PSIyIgogICAgIGlua3NjYXBlOnpvb209IjcuOTE5NTk1OSIKICAgICBpbmtzY2FwZTpjeD0iNC45ODc2MjgyIgogICAgIGlua3NjYXBlOmN5PSIyNS4zODAwODMiCiAgICAgaW5rc2NhcGU6ZG9jdW1lbnQtdW5pdHM9Im1tIgogICAgIGlua3NjYXBlOmN1cnJlbnQtbGF5ZXI9ImxheWVyMSIKICAgICBzaG93Z3JpZD0iZmFsc2UiCiAgICAgdW5pdHM9InB4IgogICAgIGlua3NjYXBlOndpbmRvdy13aWR0aD0iMTkyMCIKICAgICBpbmtzY2FwZTp3aW5kb3ctaGVpZ2h0PSIxMDI3IgogICAgIGlua3NjYXBlOndpbmRvdy14PSItOCIKICAgICBpbmtzY2FwZTp3aW5kb3cteT0iLTgiCiAgICAgaW5rc2NhcGU6d2luZG93LW1heGltaXplZD0iMSIKICAgICBpbmtzY2FwZTpwYWdlY2hlY2tlcmJvYXJkPSIwIiAvPgogIDxtZXRhZGF0YQogICAgIGlkPSJtZXRhZGF0YTM3NjUiPgogICAgPHJkZjpSREY+CiAgICAgIDxjYzpXb3JrCiAgICAgICAgIHJkZjphYm91dD0iIj4KICAgICAgICA8ZGM6Zm9ybWF0PmltYWdlL3N2Zyt4bWw8L2RjOmZvcm1hdD4KICAgICAgICA8ZGM6dHlwZQogICAgICAgICAgIHJkZjpyZXNvdXJjZT0iaHR0cDovL3B1cmwub3JnL2RjL2RjbWl0eXBlL1N0aWxsSW1hZ2UiIC8+CiAgICAgIDwvY2M6V29yaz4KICAgIDwvcmRmOlJERj4KICA8L21ldGFkYXRhPgogIDxnCiAgICAgaW5rc2NhcGU6bGFiZWw9IkxheWVyIDEiCiAgICAgaW5rc2NhcGU6Z3JvdXBtb2RlPSJsYXllciIKICAgICBpZD0ibGF5ZXIxIgogICAgIHRyYW5zZm9ybT0idHJhbnNsYXRlKDAsLTI5MS43MDgzMikiPgogICAgPHBhdGgKICAgICAgIHN0eWxlPSJmaWxsOiMwMDAwMDA7c3Ryb2tlLXdpZHRoOjAuMTQ5MDI2NjMiCiAgICAgICBkPSJtIDAuOTY5NDI2NTUsMjkxLjk4MjY1IGMgLTAuMTczMTcsMCAtMC4zNDYzMSwwLjA2NjYgLTAuNDc5LDAuMTk5MjcgLTAuMjY1MzgsMC4yNjUzNyAtMC4yNjUzOCwwLjY5MjQ0IDAsMC45NTc4MSBsIDEuMjI0MjA5OTUsMS4yMjQxNyAtMS4yMjQyMDk5NSwxLjIyNDE3IGMgLTAuMjY1MzgsMC4yNjUzNyAtMC4yNjUzOCwwLjY5MjQ0IDAsMC45NTc4MSAwLjI2NTM4LDAuMjY1MzcgMC42OTI2MDk5NSwwLjI2NTM3IDAuOTU3OTg5OTUsMCBsIDEuMjI0MjEsLTEuMjI0MTcgMS4yMjQyMDgsMS4yMjQxNyBjIDAuMTMyNjkyLDAuMTMyNjggMC4zMDU4MywwLjE5OTI3IDAuNDc4OTkxLDAuMTk5MjcgMC4wNDMzLDAgMC4wODY3LC0wLjAwNCAwLjEyOTM3OSwtMC4wMTI1IDAuMTI3OTcxLC0wLjAyNDkgMC4yNTAxLC0wLjA4NzIgMC4zNDk2MiwtMC4xODY3NiAwLjAzMzIsLTAuMDMzMiAwLjA2MjMsLTAuMDY4NiAwLjA4NzEsLTAuMTA2MTQgMC4xNzQxNiwtMC4yNjMxOSAwLjE0NTA2OSwtMC42MTk0NiAtMC4wODcxLC0wLjg1MTY2IGwgLTEuMjI0MjA4LC0xLjIyNDE3IDEuMjI0MjA4LC0xLjIyNDE3IGMgMC4yNjUzNywtMC4yNjUzNyAwLjI2NTM3LC0wLjY5MjQ0IDAsLTAuOTU3ODEgLTAuMjY1Mzc5LC0wLjI2NTM3IC0wLjY5MjYxLC0wLjI2NTM3IC0wLjk1Nzk5LDAgbCAtMS4yMjQyMDgsMS4yMjQxNyAtMS4yMjQyMSwtMS4yMjQxNyBjIC0wLjEzMjY5LC0wLjEzMjY5IC0wLjMwNTgzLC0wLjE5OTI3IC0wLjQ3ODk4OTk1LC0wLjE5OTI3IHoiCiAgICAgICBpZD0icmVjdDM3MTUiCiAgICAgICBpbmtzY2FwZTpjb25uZWN0b3ItY3VydmF0dXJlPSIwIiAvPgogIDwvZz4KPC9zdmc+Cg==) !important;}}@layer layerpro{#popup > input,#popup > button,#popup > textarea,#popup > select{all:unset;}}@layer layerpro{.popup_alert,.popup_message,.popup_prompt,.popup_confirm{height:calc(100% - 41px);box-shadow:0 1px 1px #888;overflow:auto;padding:20px;word-break:break-all;}.popup_alert input[type=text],.popup_message input[type=text],.popup_prompt input[type=text],.popup_confirm input[type=text]{position:relative;width:90%;height:35px;padding:5px;font-size:1.05em;border:2px solid rgba(0,0,0,0.3);border-radius:6px;color:#ddd;background-color:#4a4a4f;}.popup_window___alert #a___alert,.popup_window___alert #a___message,.popup_window___message #a___alert,.popup_window___message #a___message{width:100% !important;}.popup_window___prompt #a___alert,.popup_window___prompt #b___alert,.popup_window___prompt #a___message,.popup_window___prompt #b___message,.popup_window___confirm #a___alert,.popup_window___confirm #b___alert,.popup_window___confirm #a___message,.popup_window___confirm #b___message{width:50% !important;}}@layer layerpro{.resize_0,.resize_1,.resize_2,.resize_3{position:absolute;background-color:var(--resize-background-color);border-radius:var(--border-radius);opacity:0;z-index:5000;transition:var(--transition-time);}.resize_0{top:-4px;left:0;width:100%;height:10px;cursor:n-resize;}.resize_1{top:0;right:-4px;width:10px;height:100%;cursor:e-resize;}.resize_2{bottom:-4px;left:0;width:100%;height:10px;cursor:n-resize;}.resize_3{top:0;left:-4px;width:10px;height:100%;cursor:e-resize;}.resize_corner_0,.resize_corner_1,.resize_corner_2,.resize_corner_3{position:absolute;background-color:var(--resize-background-color);border-radius:var(--border-radius);opacity:0;z-index:5000;transition:var(--transition-time);width:var(--corner-size);height:var(--corner-size);border-radius:var(--corner-border-radius);}.resize_corner_0{top:-4px;left:-4px;cursor:nw-resize;}.resize_corner_1{top:-4px;right:-4px;cursor:ne-resize;}.resize_corner_2{bottom:-4px;right:-4px;cursor:nw-resize;}.resize_corner_3{bottom:-4px;left:-4px;cursor:ne-resize;}.resize_0:hover,.resize_1:hover,.resize_2:hover,.resize_3:hover,.resize_corner_0:hover,.resize_corner_1:hover,.resize_corner_2:hover,.resize_corner_3:hover{opacity:var(--hover-opacity);filter:var(--hover-filter);box-shadow:var(--resize-shadow);transition:var(--transition-time);}}@layer layerpro{#popup{}#popup::-webkit-scrollbar{width:10px;scroll-behavior:smooth;}#popup{}#popup::-webkit-scrollbar-track{-webkit-border-radius:2px;border-radius:2px;margin:5px;}#popup{}#popup::-webkit-scrollbar-thumb{-webkit-border-radius:2px;border-radius:2px;background:rgb(30,150,255) !important;}}";document.head.appendChild(s)})();"use strict";
2
+
3
+ var e = Object.defineProperty, t = (t, o, n) => ((t, o, n) => o in t ? e(t, o, {
2
4
  enumerable: !0,
3
5
  configurable: !0,
4
6
  writable: !0,
5
- value: i
6
- }) : t[o] = i)(t, o + "", i), o = globalThis;
7
+ value: n
8
+ }) : t[o] = n)(t, o + "", n), o = globalThis;
7
9
 
8
10
  o.layerpro || Object.defineProperty(o, "layerpro", {
9
11
  value: {},
@@ -12,62 +14,70 @@ o.layerpro || Object.defineProperty(o, "layerpro", {
12
14
  enumerable: !1
13
15
  });
14
16
 
15
- var i = o.layerpro;
17
+ var n = o.layerpro;
16
18
 
17
- if (!i.setProps) {
19
+ if (!n.setProps) {
18
20
  const e = (t, o) => {
19
- Reflect.ownKeys(t).forEach(i => {
20
- const n = Object.getOwnPropertyDescriptor(t, i);
21
- n && (n.enumerable = o?.enumerable || !1, n.configurable = o?.enumerable || !1,
22
- n.writable = o?.writable || !1, Object.defineProperty(t, i, n));
23
- const s = t[i];
24
- "object" == typeof s && null !== s && e(s, o);
21
+ Reflect.ownKeys(t).forEach(n => {
22
+ const i = Object.getOwnPropertyDescriptor(t, n);
23
+ i && (i.enumerable = o?.enumerable ?? !1, i.configurable = o?.configurable ?? !1,
24
+ i.writable = o?.writable ?? !1, Object.defineProperty(t, n, i));
25
+ const r = t[n];
26
+ "object" == typeof r && null !== r && e(r, o);
25
27
  });
26
28
  };
27
- Object.defineProperty(i, "setProps", {
29
+ Object.defineProperty(n, "setProps", {
28
30
  value: e,
29
31
  writable: !1,
30
32
  configurable: !1
31
33
  });
32
34
  }
33
35
 
34
- var n = globalThis.layerpro, s = globalThis;
36
+ var i = globalThis.layerpro, r = globalThis;
35
37
 
36
- Object.defineProperty(n, "config", {
38
+ Object.defineProperty(i, "config", {
37
39
  value: e => {
38
- void 0 !== e.nonce && (s.__layerproNonce = e.nonce);
40
+ void 0 !== e.nonce && (r.__layerproNonce = e.nonce);
39
41
  },
40
42
  writable: !1,
41
43
  configurable: !1
42
44
  });
43
45
 
44
- var p = globalThis.layerpro;
46
+ var s = globalThis.layerpro;
45
47
 
46
- Object.defineProperty(p, "credits", {
48
+ Object.defineProperty(s, "credits", {
47
49
  value: e => {},
48
50
  writable: !1,
49
51
  configurable: !1
50
52
  });
51
53
 
52
- var r = new WeakMap, a = new WeakMap, l = e => "string" == typeof e ? document.querySelector(e) ?? document : e instanceof HTMLElement ? e : document, c = e => e ? e.split(/\s+/).filter(e => e.length > 0) : [], d = new Set([ "opacity", "zindex", "z-index", "fontweight", "font-weight", "lineheight", "line-height", "zoom", "flex", "flexgrow", "flex-grow", "flexshrink", "flex-shrink", "order", "gridcolumn", "grid-column", "gridrow", "grid-row", "columncount", "column-count", "fontsizeadjust", "font-size-adjust", "appearance" ]), u = (e, t) => "number" != typeof t || d.has(e.toLowerCase()) ? String(t) : `${t}px`, h = (e, t, o, i) => {
53
- const n = e => o(e), s = i?.ns ? `${t}.${i.ns}` : t;
54
- e.addEventListener(t, n, i);
55
- let p = r.get(e);
56
- p || (p = new Map, r.set(e, p)), p.set(s, {
57
- handler: n,
58
- opts: i ?? {}
54
+ var p = "4.0.1", a = globalThis.layerpro;
55
+
56
+ Object.defineProperty(a, "version", {
57
+ value: () => p,
58
+ writable: !1,
59
+ configurable: !1
60
+ });
61
+
62
+ var l = new WeakMap, c = new WeakMap, d = e => "string" == typeof e ? document.querySelector(e) ?? document : e instanceof HTMLElement ? e : document, u = e => e ? e.split(/\s+/).filter(e => e.length > 0) : [], h = new Set([ "--lp-z-index", "--lp-opacity" ]), m = (e, t, o, n) => {
63
+ const i = e => o(e), r = n?.ns ? `${t}.${n.ns}` : t;
64
+ e.addEventListener(t, i, n);
65
+ let s = l.get(e);
66
+ s || (s = new Map, l.set(e, s)), s.set(r, {
67
+ handler: i,
68
+ opts: n ?? {}
59
69
  });
60
70
  }, f = (e, t, o) => {
61
- const i = r.get(e);
62
- if (i) {
71
+ const n = l.get(e);
72
+ if (n) {
63
73
  if (o?.ns) {
64
- const n = `${t}.${o.ns}`, s = i.get(n);
65
- return void (s && (e.removeEventListener(t, s.handler, s.opts), i.delete(n)));
74
+ const i = `${t}.${o.ns}`, r = n.get(i);
75
+ return void (r && (e.removeEventListener(t, r.handler, r.opts), n.delete(i)));
66
76
  }
67
- for (const [o, n] of [ ...i ]) (o === t || o.startsWith(`${t}.`)) && (e.removeEventListener(t, n.handler, n.opts),
68
- i.delete(o));
77
+ for (const [o, i] of [ ...n ]) (o === t || o.startsWith(`${t}.`)) && (e.removeEventListener(t, i.handler, i.opts),
78
+ n.delete(o));
69
79
  }
70
- }, m = class e {
80
+ }, _ = class e {
71
81
  constructor(e) {
72
82
  t(this, "el"), this.el = e;
73
83
  }
@@ -78,7 +88,7 @@ var r = new WeakMap, a = new WeakMap, l = e => "string" == typeof e ? document.q
78
88
  appendTo(t) {
79
89
  let o;
80
90
  if (t instanceof e) o = t.el; else {
81
- const e = l(t);
91
+ const e = d(t);
82
92
  o = e === document ? document.body : e;
83
93
  }
84
94
  return o.appendChild(this.el), this;
@@ -89,20 +99,30 @@ var r = new WeakMap, a = new WeakMap, l = e => "string" == typeof e ? document.q
89
99
  text(e) {
90
100
  return this.el.textContent = e, this;
91
101
  }
92
- css(e, t) {
93
- if ("object" == typeof e && null !== e) for (const [t, o] of Object.entries(e)) this.el.style.setProperty(t.replace(/[A-Z]/g, e => `-${e.toLowerCase()}`), u(t, o)); else this.el.style.setProperty(e.replace(/[A-Z]/g, e => `-${e.toLowerCase()}`), u(e, t));
94
- return this;
102
+ cssVar(e, t) {
103
+ const o = e.startsWith("--") ? e : `--${e}`, n = "number" == typeof t && !h.has(o) ? `${t}px` : String(t);
104
+ return this.el.style.setProperty(o, n), this;
105
+ }
106
+ removeVar(e) {
107
+ const t = e.startsWith("--") ? e : `--${e}`;
108
+ return this.el.style.removeProperty(t), this;
109
+ }
110
+ geom(e) {
111
+ return void 0 !== e.top && this.cssVar("--lp-top", e.top), void 0 !== e.left && this.cssVar("--lp-left", e.left),
112
+ void 0 !== e.right && this.cssVar("--lp-right", e.right), void 0 !== e.bottom && this.cssVar("--lp-bottom", e.bottom),
113
+ void 0 !== e.width && this.cssVar("--lp-width", e.width), void 0 !== e.height && this.cssVar("--lp-height", e.height),
114
+ this;
95
115
  }
96
116
  addClass(e) {
97
- for (const t of c(e)) this.el.classList.add(t);
117
+ for (const t of u(e)) this.el.classList.add(t);
98
118
  return this;
99
119
  }
100
120
  removeClass(e) {
101
- for (const t of c(e)) this.el.classList.remove(t);
121
+ for (const t of u(e)) this.el.classList.remove(t);
102
122
  return this;
103
123
  }
104
124
  toggleClass(e, t) {
105
- for (const o of c(e)) this.el.classList.toggle(o, t);
125
+ for (const o of u(e)) this.el.classList.toggle(o, t);
106
126
  return this;
107
127
  }
108
128
  hasClass(e) {
@@ -110,7 +130,7 @@ var r = new WeakMap, a = new WeakMap, l = e => "string" == typeof e ? document.q
110
130
  }
111
131
  isHidden() {
112
132
  const e = this.el;
113
- return "none" === e.style.display || ("none" === getComputedStyle(e).display || 0 === e.offsetWidth && 0 === e.offsetHeight);
133
+ return !!e.classList.contains("lp_hidden") || ("none" === getComputedStyle(e).display || 0 === e.offsetWidth && 0 === e.offsetHeight);
114
134
  }
115
135
  attr(e, t) {
116
136
  return void 0 === t ? this.el.getAttribute(e) : (this.el.setAttribute(e, t), this);
@@ -130,27 +150,27 @@ var r = new WeakMap, a = new WeakMap, l = e => "string" == typeof e ? document.q
130
150
  return this.el.parentElement ? new e(this.el.parentElement) : null;
131
151
  }
132
152
  hide() {
133
- return this.el.style.display = "none", this;
153
+ return this.el.classList.add("lp_hidden"), this;
134
154
  }
135
155
  show() {
136
- return this.el.style.display = "", this;
156
+ return this.el.classList.remove("lp_hidden"), this;
137
157
  }
138
158
  toggle() {
139
- return this.el.style.display = "none" === this.el.style.display ? "" : "none", this;
159
+ return this.el.classList.toggle("lp_hidden"), this;
140
160
  }
141
161
  on(e, t, o) {
142
- return h(this.el, e, t, o), this;
162
+ return m(this.el, e, t, o), this;
143
163
  }
144
164
  off(e, t) {
145
165
  return f(this.el, e, t), this;
146
166
  }
147
167
  data(e, t) {
148
- let o = a.get(this.el);
149
- return o || (o = new Map, a.set(this.el, o)), void 0 === t ? o.get(e) : (o.set(e, t),
168
+ let o = c.get(this.el);
169
+ return o || (o = new Map, c.set(this.el, o)), void 0 === t ? o.get(e) : (o.set(e, t),
150
170
  this);
151
171
  }
152
172
  removeData(e) {
153
- return a.get(this.el)?.delete(e), this;
173
+ return c.get(this.el)?.delete(e), this;
154
174
  }
155
175
  offset() {
156
176
  const e = this.el.getBoundingClientRect();
@@ -183,68 +203,58 @@ var r = new WeakMap, a = new WeakMap, l = e => "string" == typeof e ? document.q
183
203
  }
184
204
  fadeIn(e, t) {
185
205
  const o = this.el;
186
- let i = 100, n = t;
187
- return "function" == typeof e ? n = e : i = e, o.style.display = "", o.style.transition = "none",
188
- o.style.opacity = "0", o.offsetWidth, o.style.transition = `opacity ${i}ms ease`,
189
- o.style.opacity = "1", this.finishTransition(i, () => {
190
- o.style.transition = "", o.style.opacity = "", n?.();
206
+ let n = 100, i = t;
207
+ return "function" == typeof e ? i = e : n = e, o.style.setProperty("--lp-fade-duration", `${n}ms`),
208
+ o.classList.remove("lp_hidden"), o.classList.add("lp_no_transition"), o.classList.add("lp_fade_out"),
209
+ o.offsetWidth, o.classList.remove("lp_no_transition"), o.classList.remove("lp_fade_out"),
210
+ o.classList.add("lp_fade_in"), this.finishTransition(n, () => {
211
+ o.classList.remove("lp_fade_in"), i?.();
191
212
  }), this;
192
213
  }
193
214
  fadeOut(e, t) {
194
215
  const o = this.el;
195
- let i = 100, n = t;
196
- return "function" == typeof e ? n = e : i = e, o.style.transition = `opacity ${i}ms ease`,
197
- o.style.opacity = "0", this.finishTransition(i, () => {
198
- o.style.display = "none", o.style.transition = "", o.style.opacity = "", n?.();
199
- }), this;
200
- }
201
- animate(e, t, o) {
202
- const i = this.el;
203
- let n = 200, s = o;
204
- "function" == typeof t ? s = t : n = t;
205
- const p = Object.keys(e), r = {};
206
- for (const t of p) r[t] = u(t, e[t]);
207
- return i.style.transition = "none", i.offsetWidth, i.style.transition = `${p.join(", ")} ${n}ms ease`,
208
- Object.assign(i.style, r), this.finishTransition(n, () => {
209
- i.style.transition = "", s?.();
216
+ let n = 100, i = t;
217
+ return "function" == typeof e ? i = e : n = e, o.style.setProperty("--lp-fade-duration", `${n}ms`),
218
+ o.classList.remove("lp_fade_in"), o.classList.add("lp_fade_out"), this.finishTransition(n, () => {
219
+ o.classList.add("lp_hidden"), o.classList.remove("lp_fade_out"), i?.();
210
220
  }), this;
211
221
  }
212
222
  finishTransition(e, t) {
213
223
  const o = this.el;
214
- let i = !1;
215
- const n = () => {
216
- i || (i = !0, o.removeEventListener("transitionend", s), t());
217
- }, s = e => {
218
- e.target === o && n();
224
+ let n = !1;
225
+ const i = () => {
226
+ n || (n = !0, o.removeEventListener("transitionend", r), t());
227
+ }, r = e => {
228
+ e.target === o && i();
219
229
  };
220
- o.addEventListener("transitionend", s), window.setTimeout(n, e + 60);
230
+ o.addEventListener("transitionend", r), window.setTimeout(i, e + 60);
221
231
  }
222
232
  };
223
233
 
224
234
  function b(e, t) {
225
- const o = l(t).querySelector(e);
226
- return o ? new m(o) : null;
235
+ const o = d(t).querySelector(e);
236
+ return o ? new _(o) : null;
227
237
  }
228
238
 
229
239
  function g(e, t) {
230
- return [ ...l(t).querySelectorAll(e) ].map(e => new m(e));
240
+ return [ ...d(t).querySelectorAll(e) ].map(e => new _(e));
231
241
  }
232
242
 
233
- var _ = e => {
243
+ var v = e => {
234
244
  const t = document.createElement("div");
235
245
  t.innerHTML = e.trim();
236
246
  const o = t.firstElementChild;
237
- return new m(o);
238
- }, v = {
247
+ return new _(o);
248
+ }, y = {
239
249
  on(e, t, o) {
240
- h(document, e, t, o);
250
+ m(document, e, t, o);
241
251
  },
242
252
  off(e, t) {
243
253
  f(document, e, t);
244
254
  }
245
- }, y = {
255
+ }, w = {
246
256
  on(e, t, o) {
247
- h(window, e, t, o);
257
+ m(window, e, t, o);
248
258
  },
249
259
  off(e, t) {
250
260
  f(window, e, t);
@@ -253,83 +263,210 @@ var _ = e => {
253
263
  width: () => window.innerWidth,
254
264
  scrollTop: () => window.scrollY || document.documentElement.scrollTop || 0,
255
265
  scrollLeft: () => window.scrollX || document.documentElement.scrollLeft || 0
256
- }, w = new Map, z = new Map, x = {
266
+ }, z = new Map, $ = new WeakSet, k = new Map, x = e => {
267
+ e ? Array.from(document.body.children).forEach(e => {
268
+ "popup" !== e.id && "popup_dock" !== e.id && (e.setAttribute("aria-hidden", "true"),
269
+ $.add(e));
270
+ }) : Array.from(document.body.children).forEach(e => {
271
+ $.has(e) && (e.removeAttribute("aria-hidden"), $.delete(e));
272
+ });
273
+ }, S = () => {
274
+ const e = z.get("__lastActive__");
275
+ e && "function" == typeof e.focus && e.focus(), z.delete("__lastActive__");
276
+ }, C = e => {
277
+ const t = k.get(e);
278
+ t && (t.el.removeEventListener("keydown", t.handler), k.delete(e));
279
+ }, L = x, E = () => {
280
+ const e = document.activeElement;
281
+ z.set("__lastActive__", e);
282
+ }, T = (e, t) => {
283
+ const o = e => {
284
+ const o = e;
285
+ if ("Tab" !== o.key) return;
286
+ const n = t.querySelectorAll('button, [href], input, select, textarea, [tabindex]:not([tabindex="-1"])');
287
+ if (0 === n.length) return;
288
+ const i = n[0], r = n[n.length - 1];
289
+ o.shiftKey ? document.activeElement === i && (e.preventDefault(), r.focus()) : document.activeElement === r && (e.preventDefault(),
290
+ i.focus());
291
+ };
292
+ k.set(e, {
293
+ el: t,
294
+ handler: o
295
+ }), t.addEventListener("keydown", o, !0);
296
+ }, M = e => {
297
+ C(e), S(), x(!1);
298
+ }, A = "layerpro-dock", P = () => {
299
+ document.documentElement?.classList.remove(A), document.body?.classList.remove(A);
300
+ }, N = {
257
301
  "&": "&",
258
302
  "<": "&lt;",
259
303
  ">": "&gt;",
260
304
  '"': "&quot;",
261
305
  "'": "&#39;"
262
- }, k = e => e.replace(/[&<>"']/g, e => x[e]), T = e => {
306
+ }, O = e => e.replace(/[&<>"']/g, e => N[e]), I = new Map, V = new Map, H = e => {
307
+ if ("function" == typeof e.body) return;
308
+ const t = !0 === e.modal ? ".popup_modal_" + e.id : "#popup";
309
+ g('[class^="popup_window_"]', t).forEach(e => e.removeClass("zHigh")), g('[class^="popup_bar_"]', t).forEach(e => e.removeClass("popup_bar_selected")),
310
+ g('[class^="icon_"]', t).forEach(e => e.removeClass("popup_bar_selected")), !0 === e.modal && v(`<div class="popup_modal_${e.id} popup_modal">`).appendTo("#popup").cssVar("--lp-z-index", layerpro.popup.zIndex() + 1e3),
311
+ v(`<div class="popup_overflow_${e.id} popup_overflow">`).appendTo(t).cssVar("--lp-top", e.top).cssVar("--lp-left", e.left).cssVar("--lp-right", e.right).cssVar("--lp-bottom", e.bottom).cssVar("--lp-width", e.width).cssVar("--lp-height", e.height).cssVar("--lp-min-width", e.minWidth).cssVar("--lp-min-height", e.minHeight).cssVar("--lp-z-index", layerpro.popup.zIndex()).on("pointerdown", () => {
312
+ layerpro.popup.index(e);
313
+ }).hide().fadeIn(e.fadeIn);
314
+ const o = v(`<div class="popup_window_${e.id} popup_window">`).appendTo(`.popup_overflow_${e.id}`).addClass("zHigh").addClass(e.class);
315
+ o.attr("role", "dialog"), o.attr("tabindex", "-1"), o.attr("aria-modal", !0 === e.modal ? "true" : "false"),
316
+ e.name && o.attr("aria-label", String(e.name)), L(!0), E(), T(String(e.id), o.el),
317
+ "function" == typeof requestAnimationFrame ? requestAnimationFrame(() => o.el.focus()) : o.el.focus();
318
+ const n = [ e.top, e.left, e.bottom, e.right ].reduce((e, t) => "number" == typeof t && isFinite(t) ? Number(e) + t : e, 0);
319
+ if (!0 === e.center || 0 === n) {
320
+ const t = g('[class^="popup_overflow_"]', "#popup").length, o = 20 * Math.max(0, t - 1);
321
+ layerpro.popup.center(e, o);
322
+ }
323
+ layerpro.popup.unmount = e => {
324
+ import("layerpro/react").then(t => {
325
+ const o = t.default;
326
+ o.unmount && o.unmount(String(e));
327
+ }).catch(() => {});
328
+ }, layerpro.popup.cleanupEvents = e => {
329
+ const t = V.get(e);
330
+ t && (t.iconClick && b(`.icon_${e}`, "#popup_dock")?.off("click"), t.iconClose && b(`.icon_close_${e}`, "#popup_dock")?.off("click"),
331
+ t.buttonIconize && b(`.button_iconize_${e}`)?.off("click"), t.buttonMaximize && b(`.button_maximize_${e}`)?.off("click"),
332
+ t.buttonClose && b(`.button_close_${e}`)?.off("click"), t.escKey && y.off("keydown", {
333
+ ns: `esc-${e}`
334
+ }), V.delete(e));
335
+ }, layerpro.popup.abortSource = e => {
336
+ const t = I.get(e);
337
+ t && (t.abort(), I.delete(e));
338
+ }, layerpro.popup.destroy = e => {
339
+ layerpro.popup.abortSource(e), layerpro.popup.cleanupEvents(e), L(!1);
340
+ const t = document.querySelector(`.popup_window_${e}`);
341
+ t && t.remove();
342
+ }, v(`<div class="popup_bar_${e.id} popup_bar">`).appendTo(o).addClass("popup_bar_selected"),
343
+ e.icon && v(`<div class="popup_icon_${e.id} popup_icon">${e.icon}</div>`).appendTo(`.popup_bar_${e.id}`);
344
+ const i = O(String(e.name));
345
+ if (v(`<div class="popup_drag_${e.id} popup_drag">${i}</div>`).appendTo(`.popup_bar_${e.id}`),
346
+ v(`<div class="popup_option_${e.id} popup_option">`).appendTo(`.popup_bar_${e.id}`),
347
+ !0 === e.iconize && !b("#popup_dock")) {
348
+ v('\n <div id="popup_dock">\n <div id="popup_dock_icon"></div>\n <div id="popup_dock_list"></div>\n <div id="popup_dock_options"></div>\n </div>\n ').appendTo("html").cssVar("--lp-z-index", layerpro.popup.zIndex() + 1e3),
349
+ document.documentElement?.classList.add(A), document.body?.classList.add(A);
350
+ }
351
+ if (b("#popup_dock") && !0 === e.dockable) {
352
+ const t = String(e.id), o = `\n <div class="icon_${e.id}">\n <span>${e.icon ? e.icon : ""}</span>\n <span>${i}</span>\n </div>\n `, n = () => {
353
+ const t = b(".popup_overflow_" + e.id, "#popup");
354
+ t && t.data("iconize") ? (layerpro.popup.index(e), layerpro.popup.iconize(e)) : layerpro.popup.iconize(e),
355
+ layerpro.popup.index(e);
356
+ }, r = t => {
357
+ t?.stopPropagation(), e?.buttons?.cancel?.cb && e?.buttons?.cancel?.cb(), layerpro.popup.close(e);
358
+ };
359
+ V.set(t, {
360
+ iconClick: !0,
361
+ iconClose: !0
362
+ }), v(o).appendTo("#popup_dock_list").addClass("popup_bar_selected").on("click", n),
363
+ v(`<button class="icon_close_${e.id}">X</button>`).appendTo(`.icon_${e.id}`).on("click", r);
364
+ }
365
+ if (!0 === e.iconize) {
366
+ const t = String(e.id), o = () => {
367
+ layerpro.popup.iconize(e);
368
+ }, n = V.get(t) || {};
369
+ n.buttonIconize = !0, V.set(t, n), v(`<button class="button_iconize_${e.id} iconize">`).appendTo(`.popup_option_${e.id}`).on("click", o);
370
+ }
371
+ if (!0 === e.maximize) {
372
+ const t = String(e.id), o = () => {
373
+ layerpro.popup.maximize(e);
374
+ }, n = V.get(t) || {};
375
+ n.buttonMaximize = !0, V.set(t, n), v(`<button class="button_maximize_${e.id} maximize">`).appendTo(`.popup_option_${e.id}`).on("click", o);
376
+ }
377
+ if (!0 === e.close) {
378
+ const t = String(e.id), o = () => {
379
+ e?.buttons?.cancel?.cb && e?.buttons?.cancel?.cb(), layerpro.popup.close(e);
380
+ }, n = V.get(t) || {};
381
+ n.buttonClose = !0, V.set(t, n), v(`<button class="button_close_${e.id} close">`).appendTo(`.popup_option_${e.id}`).on("click", o);
382
+ }
383
+ const r = String(e.id), s = V.get(r) || {};
384
+ if (s.escKey = !0, V.set(r, s), y.on("keydown", t => {
385
+ const o = t;
386
+ "Escape" !== o.key && 27 !== o.keyCode || (e?.buttons?.cancel?.cb && e?.buttons?.cancel?.cb(),
387
+ layerpro.popup.close(e));
388
+ }, {
389
+ ns: `esc-${r}`
390
+ }), e.timer > 0) {
391
+ const t = {};
392
+ t[String(`st_${e.id}`)] = setTimeout(() => {
393
+ layerpro.popup.close(e), clearTimeout(t[String(`st_${e.id}`)]);
394
+ }, e.timer);
395
+ }
396
+ e.movable && layerpro.popup.movable(e), e.resizable && layerpro.popup.resizable(e),
397
+ e.isMaximize && layerpro.popup.maximize(e), v(`<div class="popup_internal_${e.id} popup_internal">`).appendTo(o),
398
+ v(`<div class="popup_body_${e.id} popup_body">`).appendTo(`.popup_internal_${e.id}`).hide().fadeIn(e.fadeIn, () => {
399
+ W(e), j(e), R(e);
400
+ });
401
+ }, W = e => {
263
402
  if (!e.source) return;
264
403
  const t = b(`.popup_body_${e.id}`), o = String(e.source);
265
- let i;
404
+ let n;
266
405
  try {
267
- i = new URL(o, window.location.origin);
406
+ n = new URL(o, window.location.origin);
268
407
  } catch {
269
408
  return;
270
409
  }
271
- if (i.origin !== window.location.origin) return;
272
- const n = new AbortController;
273
- w.set(String(e.id), n), fetch(o, {
410
+ if (n.origin !== window.location.origin) return;
411
+ const i = new AbortController;
412
+ I.set(String(e.id), i), fetch(o, {
274
413
  mode: "same-origin",
275
- signal: n.signal
414
+ signal: i.signal
276
415
  }).then(e => {
277
416
  if ((e.headers.get("content-type") || "").includes("text/html"), !e.ok) throw new Error(`HTTP error! status: ${e.status}`);
278
417
  return e.text();
279
418
  }).then(o => {
280
- if (!w.get(String(e.id)) || n.signal.aborted) return;
281
- const i = k(o);
282
- t?.hide().html(i).fadeIn(e.fadeIn);
419
+ I.get(String(e.id)) && !i.signal.aborted && t?.hide().html(o).fadeIn(e.fadeIn);
283
420
  }).catch(e => {
284
421
  e.name;
285
422
  });
286
- }, $ = e => {
423
+ }, j = e => {
287
424
  if (e.body && !e.source) {
288
425
  const t = e.body;
289
426
  if ("object" == typeof t && null !== t && void 0 !== t.type && "object" == typeof t.props && null !== t.props) {
290
427
  const t = document.querySelector(".popup_body_" + e.id);
291
428
  if (!t) return;
292
429
  "function" == typeof layerpro.popup.useReactAdapter ? layerpro.popup.useReactAdapter(e, t) : import("layerpro/react").then(o => {
293
- const i = o.default;
294
- i && i(e, t);
430
+ const n = o.default;
431
+ n && n(e, t);
295
432
  }).catch(e => {});
296
433
  } else if ("string" == typeof e.body && e.body.trim().startsWith("<")) {
297
- const t = k(e.body);
434
+ const t = O(e.body);
298
435
  b(`.popup_body_${e.id}`)?.html(t).fadeIn(e.fadeIn);
299
436
  } else {
300
- const t = k(String(e.body));
437
+ const t = O(String(e.body));
301
438
  b(`.popup_body_${e.id}`)?.text(t).fadeIn(e.fadeIn);
302
439
  }
303
440
  }
304
- }, E = e => {
441
+ }, R = e => {
305
442
  if (e.buttons) {
306
- if (_('<div class="buttons"></div>').appendTo(`.popup_body_${e.id}`), e.buttons.confirm) {
307
- const t = k(e.buttons.confirm.text.toUpperCase()), o = _(`<button id="lp_confirm" type="button">\n ${t}\n </button>`).appendTo(".buttons");
443
+ if (v('<div class="buttons"></div>').appendTo(`.popup_body_${e.id}`), e.buttons.confirm) {
444
+ const t = O(e.buttons.confirm.text.toUpperCase()), o = v(`<button id="lp_confirm" type="button">\n ${t}\n </button>`).appendTo(`.popup_body_${e.id} .buttons`);
308
445
  e.buttons.confirm.cb && o.on("click", () => {
309
446
  e.buttons?.confirm?.cb?.(), layerpro.popup.close(e);
310
447
  });
311
448
  }
312
449
  if (e.buttons.cancel) {
313
- const t = k(e.buttons.cancel.text.toUpperCase());
314
- _(`<button id="lp_cancel" type="button">\n ${t}\n </button>`).appendTo(".buttons").on("click", () => {
450
+ const t = O(e.buttons.cancel.text.toUpperCase());
451
+ v(`<button id="lp_cancel" type="button">\n ${t}\n </button>`).appendTo(`.popup_body_${e.id} .buttons`).on("click", () => {
315
452
  e.buttons?.cancel?.cb?.(), layerpro.popup.close(e);
316
453
  });
317
454
  }
318
455
  }
319
- }, C = () => "undefined" != typeof window && window.matchMedia("(max-width: 1024px)").matches, L = () => {
456
+ }, q = () => "undefined" != typeof window && window.matchMedia("(max-width: 1024px)").matches, D = () => {
320
457
  if (!0 === window.__FORCE_TOUCH_MODE__) return "touch";
321
458
  const e = (() => {
322
459
  if ("undefined" == typeof navigator) return !1;
323
460
  const e = navigator.userAgent;
324
461
  return /Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i.test(e);
325
- })() || C();
462
+ })() || q();
326
463
  return ("ontouchstart" in window || navigator.maxTouchPoints > 0) && e ? "touch" : "mouse";
327
- }, S = L(), M = !C(), O = null;
464
+ }, B = D(), X = !q(), Y = null;
328
465
 
329
466
  if ("undefined" != typeof window) {
330
467
  const e = window.matchMedia("(max-width: 1024px)"), t = () => {
331
- const e = L(), t = S, o = !C();
332
- S = e, M !== o && (M = o, O && O(e, t));
468
+ const e = D(), t = B, o = !q();
469
+ B = e, X !== o && (X = o, Y && Y(e, t));
333
470
  };
334
471
  let o;
335
472
  e.addListener ? e.addListener(t) : e.addEventListener("change", t), window.addEventListener("resize", () => {
@@ -337,208 +474,255 @@ if ("undefined" != typeof window) {
337
474
  });
338
475
  }
339
476
 
340
- var N = e => {
477
+ var U = e => {
341
478
  const t = e;
342
479
  return void 0 !== t.clientX ? t.clientX : t.touches && t.touches.length > 0 ? t.touches[0].clientX : 0;
343
- }, A = e => {
480
+ }, K = e => {
344
481
  const t = e;
345
482
  return void 0 !== t.clientY ? t.clientY : t.touches && t.touches.length > 0 ? t.touches[0].clientY : 0;
346
- }, H = 250, I = 150, P = !1, j = 1e3, W = !1, R = 0, B = new Map, D = new Map, X = null, Y = () => b("body"), q = e => "object" == typeof e && null !== e ? e.id : e, U = {
483
+ }, F = e => `layerpro:geometry:${e}`, J = e => `layerpro:native:${e}`, G = () => {
484
+ try {
485
+ return "undefined" == typeof localStorage ? null : localStorage;
486
+ } catch {
487
+ return null;
488
+ }
489
+ }, Q = (e, t) => {
490
+ const o = G();
491
+ if (o) try {
492
+ o.setItem(e, JSON.stringify(t));
493
+ } catch {}
494
+ }, Z = e => {
495
+ const t = G();
496
+ if (!t) return null;
497
+ try {
498
+ const o = t.getItem(e);
499
+ if (!o) return null;
500
+ const n = JSON.parse(o);
501
+ return n && "object" == typeof n ? n : null;
502
+ } catch {
503
+ return null;
504
+ }
505
+ }, ee = [ "--input-background-color", "--input-color", "--button-background-color", "--button-color", "--inputButton-fontSize", "--resize-background-color", "--resize-shadow", "--dock-background-color", "--dock-height", "--dock-sideLeft", "--dock-sideCenter", "--dock-sideRight", "--dock-icon-width", "--bar-background", "--bar-selected-background", "--bar-color", "--bar-border-bottom", "--bar-shadow", "--window-background", "--window-shadow", "--window-border-radius", "--window-z-high-border", "--window-z-high-shadow", "--internal-background", "--body-color", "--body-background", "--modal-background", "--popup-z-index", "--transition-time", "--border-radius", "--corner-size", "--corner-border-radius", "--hover-opacity", "--hover-filter" ], te = new Map, oe = (e, t) => {
506
+ const o = String(e.id), n = !0 === e.persist ? (e => Z(J(e)))(o) : null, i = ((e, t) => {
507
+ const o = t?.outerWidth ?? ("number" == typeof e.width ? e.width : 340), n = t?.outerHeight ?? ("number" == typeof e.height ? e.height : 220), i = t?.screenX ?? ("number" == typeof e.left ? e.left : void 0), r = t?.screenY ?? ("number" == typeof e.top ? e.top : void 0), s = [ `width=${Math.round(o)}`, `height=${Math.round(n)}`, "menubar=no", "toolbar=no", "location=no", "status=no", "resizable=yes", "scrollbars=yes" ];
508
+ return void 0 !== i && s.push(`left=${Math.round(i)}`), void 0 !== r && s.push(`top=${Math.round(r)}`),
509
+ s.join(",");
510
+ })(e, n), r = window.open("", `layerpro_${o}`, i);
511
+ if (!r) return null;
512
+ const s = r.document;
513
+ s.open(), s.write(`<!DOCTYPE html><html><head><meta charset="utf-8"><title>${O(String(e.name ?? "LayerPro"))}</title><style>${(() => {
514
+ const e = document.querySelector("style[data-layerpro-styles]");
515
+ return e?.textContent ?? "";
516
+ })()}</style><style>:root{${(() => {
517
+ const e = getComputedStyle(document.documentElement), t = [];
518
+ for (const o of ee) {
519
+ const n = e.getPropertyValue(o);
520
+ n && t.push(`${o}:${n.trim()};`);
521
+ }
522
+ return t.join("");
523
+ })()}}html,body{margin:0;padding:0;height:100%;overflow:hidden}</style></head><body>${(e => {
524
+ const t = String(e.id), o = O(String(e.name ?? "")), n = e.icon ? O(String(e.icon)) : "", i = [];
525
+ return !0 === e.maximize && i.push(`<button class="button_maximize_${t} maximize"></button>`),
526
+ !0 === e.close && i.push(`<button class="button_close_${t} close"></button>`), `\n <div id="popup">\n <div class="popup_overflow_${t} popup_overflow">\n <div class="popup_window_${t} popup_window zHigh" role="dialog" tabindex="-1" aria-label="${o}">\n <div class="popup_bar_${t} popup_bar popup_bar_selected">\n ${n ? `<div class="popup_icon_${t} popup_icon">${n}</div>` : ""}\n <div class="popup_drag_${t} popup_drag">${o}</div>\n <div class="popup_option_${t} popup_option">${i.join("")}</div>\n </div>\n <div class="popup_internal_${t} popup_internal">\n <div class="popup_body_${t} popup_body"></div>\n </div>\n </div>\n </div>\n </div>\n `;
527
+ })(e)}</body></html>`), s.close();
528
+ const p = s.querySelector(`.popup_overflow_${o}`);
529
+ p && (p.style.setProperty("--lp-top", "0"), p.style.setProperty("--lp-left", "0"),
530
+ p.style.setProperty("--lp-width", "100%"), p.style.setProperty("--lp-height", "100%"));
531
+ const a = s.querySelector(`.popup_body_${o}`);
532
+ a && (a.innerHTML = (e => {
533
+ const t = e.body;
534
+ return "string" != typeof t ? "" : (t.trim().startsWith("<"), O(t));
535
+ })(e) + (e => {
536
+ if (!e.buttons) return "";
537
+ const t = [ '<div class="buttons">' ];
538
+ return e.buttons.confirm && t.push(`<button id="lp_confirm" type="button">${O(String(e.buttons.confirm.text).toUpperCase())}</button>`),
539
+ e.buttons.cancel && t.push(`<button id="lp_cancel" type="button">${O(String(e.buttons.cancel.text).toUpperCase())}</button>`),
540
+ t.push("</div>"), t.join("");
541
+ })(e));
542
+ const l = s.getElementById("lp_confirm");
543
+ l?.addEventListener("click", () => {
544
+ e.buttons?.confirm?.cb?.(), r.close();
545
+ });
546
+ const c = s.getElementById("lp_cancel");
547
+ c?.addEventListener("click", () => {
548
+ e.buttons?.cancel?.cb?.(), r.close();
549
+ });
550
+ const d = s.querySelector(`.button_close_${o}`);
551
+ d?.addEventListener("click", () => {
552
+ e.buttons?.cancel?.cb?.(), r.close();
553
+ }), s.addEventListener("keydown", t => {
554
+ const o = t;
555
+ "Escape" !== o.key && 27 !== o.keyCode || (e.buttons?.cancel?.cb?.(), r.close());
556
+ }), !0 === e.closeWithOpener && (e => {
557
+ const t = e.setInterval(() => {
558
+ let o = !1;
559
+ try {
560
+ const t = e.opener;
561
+ o = !t || !0 === t.closed;
562
+ } catch {
563
+ o = !1;
564
+ }
565
+ if (o) {
566
+ e.clearInterval(t);
567
+ try {
568
+ e.close();
569
+ } catch {}
570
+ }
571
+ }, 400);
572
+ })(r);
573
+ const u = () => {
574
+ if (!0 === e.persist) try {
575
+ ((e, t) => {
576
+ Q(J(e), t);
577
+ })(o, {
578
+ screenX: r.screenX,
579
+ screenY: r.screenY,
580
+ outerWidth: r.outerWidth,
581
+ outerHeight: r.outerHeight
582
+ });
583
+ } catch {}
584
+ }, h = window.setInterval(() => {
585
+ r.closed && (window.clearInterval(h), u(), te.delete(o), t?.());
586
+ }, 400), m = {
587
+ win: r,
588
+ id: o,
589
+ close: () => {
590
+ window.clearInterval(h), u(), te.delete(o);
591
+ try {
592
+ r.close();
593
+ } catch {}
594
+ t?.();
595
+ }
596
+ };
597
+ return te.set(o, m), m;
598
+ }, ne = 250, ie = 150, re = !1, se = 1e3, pe = !1, ae = 0, le = new Map, ce = new Map, de = new Map, ue = new Map, he = new Map, me = null, fe = () => b("body"), _e = e => "object" == typeof e && null !== e ? e.id : e, be = {
347
599
  open: e => {
348
- if (!e) return e;
349
- e.id = e.id ?? "popup_" + ++R, e.body = e.body ?? "", e.class = e.class ?? "", e.width = e.width ?? 340,
350
- e.height = e.height ?? 220, e.minWidth = e.minWidth ?? 340, e.minHeight = e.minHeight ?? 220,
351
- e.name = e.name ?? "popUp_" + e.id, e.source = e.source ?? null, e.icon = e.icon ?? null,
352
- e.iconize = e.iconize ?? null, e.maximize = e.maximize ?? null, e.isMaximize = e.isMaximize ?? null,
353
- e.dockable = e.dockable ?? null, e.close = e.close ?? null, e.raised = e.raised || e.modal || null,
354
- e.movable = e.movable ?? null, e.resizable = e.resizable ?? null, e.store = e.store ?? !1,
355
- e.top = e.top ?? "auto", e.left = e.left ?? "auto", e.right = e.right ?? "auto",
600
+ if (!e) return Promise.reject(new Error("LayerPro: open() requires a props object"));
601
+ e.id = e.id ?? "popup_" + ++ae, e.body = e.body ?? "", e.class = e.class ?? "",
602
+ e.width = e.width ?? 340, e.height = e.height ?? 220, e.minWidth = e.minWidth ?? 340,
603
+ e.minHeight = e.minHeight ?? 220, e.name = e.name ?? "popUp_" + e.id, e.source = e.source ?? null,
604
+ e.icon = e.icon ?? null, e.iconize = e.iconize ?? null, e.maximize = e.maximize ?? null,
605
+ e.isMaximize = e.isMaximize ?? null, e.dockable = e.dockable ?? null, e.close = e.close ?? null,
606
+ e.modal = e.modal ?? null, e.movable = e.movable ?? null, e.resizable = e.resizable ?? null,
607
+ e.store = e.store ?? !1, e.top = e.top ?? "auto", e.left = e.left ?? "auto", e.right = e.right ?? "auto",
356
608
  e.bottom = e.bottom ?? "auto", e.fadeIn = e.fadeIn ?? 100, e.fadeOut = e.fadeOut ?? 100,
357
- H = e.minWidth, I = e.minHeight, e.width < e.minWidth && (e.width, e.width = e.minWidth),
609
+ e.native = e.native ?? !1, e.persist = e.persist ?? !1, e.closeWithOpener = e.closeWithOpener ?? !1,
610
+ ne = e.minWidth, ie = e.minHeight, e.width < e.minWidth && (e.width, e.width = e.minWidth),
358
611
  e.height < e.minHeight && (e.height, e.height = e.minHeight), "auto" === e.width && (e.width = "100%"),
359
- "auto" === e.height && (e.height = "100%"), b("#popup") || _('<div id="popup">').appendTo("body").css({
360
- "pointer-events": "none",
361
- "z-index": U.zIndex() + 1
612
+ "auto" === e.height && (e.height = "100%"), b("#popup") || v('<div id="popup">').appendTo("body").cssVar("--lp-z-index", be.zIndex() + 1);
613
+ const t = String(e.id);
614
+ ue.delete(t), he.set(t, e);
615
+ const o = new Promise(e => {
616
+ ue.set(t, e);
362
617
  });
363
- return b(".popup_window_" + e.id, "#popup") ? (U.index(e), $(e), E(e)) : (e => {
364
- if ("function" == typeof e.body) return;
365
- const t = !0 === e.raised ? ".popup_raised_" + e.id : "#popup";
366
- g('[class^="popup_window_"]', t).forEach(e => e.removeClass("zHigh")), g('[class^="popup_bar_"]', t).forEach(e => e.removeClass("popup_bar_selected")),
367
- g('[class^="icon_"]', t).forEach(e => e.removeClass("popup_bar_selected")), !0 === e.raised && _(`<div class="popup_raised_${e.id} popup_raised">`).appendTo("#popup").css({
368
- "pointer-events": "auto",
369
- "z-index": layerpro.popup.zIndex() + 1e3
370
- }), _(`<div class="popup_overflow_${e.id} popup_overflow">`).appendTo(t).css({
371
- top: e.top,
372
- left: e.left,
373
- right: e.right,
374
- bottom: e.bottom,
375
- width: e.width,
376
- height: e.height,
377
- minWidth: e.minWidth,
378
- minHeight: e.minHeight,
379
- maxWidth: e.maxWidth,
380
- maxHeight: e.maxHeight,
381
- pointerEvents: "auto",
382
- zIndex: layerpro.popup.zIndex()
383
- }).on("pointerdown", () => {
384
- layerpro.popup.index(e);
385
- }).hide().fadeIn(e.fadeIn);
386
- const o = _(`<div class="popup_window_${e.id} popup_window">`).appendTo(`.popup_overflow_${e.id}`).css({
387
- "pointer-events": "auto"
388
- }).addClass("zHigh").addClass(e.class), i = [ e.top, e.left, e.bottom, e.right ].reduce((e, t) => "number" == typeof t && isFinite(t) ? Number(e) + t : e, 0);
389
- if (!0 === e.center || 0 === i) {
390
- const t = g('[class^="popup_overflow_"]', "#popup").length, o = 20 * Math.max(0, t - 1);
391
- layerpro.popup.center(e, o);
392
- }
393
- layerpro.popup.unmount = e => {
394
- import("layerpro/react").then(t => {
395
- const o = t.default;
396
- o.unmount && o.unmount(String(e));
397
- }).catch(() => {});
398
- }, layerpro.popup.cleanupEvents = e => {
399
- const t = z.get(e);
400
- t && (t.iconClick && b(`.icon_${e}`, "#popup_dock")?.off("click"), t.iconClose && b(`.icon_close_${e}`, "#popup_dock")?.off("click"),
401
- t.buttonIconize && b(`.button_iconize_${e}`)?.off("click"), t.buttonMaximize && b(`.button_maximize_${e}`)?.off("click"),
402
- t.buttonClose && b(`.button_close_${e}`)?.off("click"), t.escKey && v.off("keydown", {
403
- ns: `esc-${e}`
404
- }), z.delete(e));
405
- }, layerpro.popup.abortSource = e => {
406
- const t = w.get(e);
407
- t && (t.abort(), w.delete(e));
408
- }, _(`<div class="popup_bar_${e.id} popup_bar">`).appendTo(o).addClass("popup_bar_selected"),
409
- e.icon && _(`<div class="popup_icon_${e.id} popup_icon">${e.icon}</div>`).appendTo(`.popup_bar_${e.id}`);
410
- const n = k(String(e.name));
411
- _(`<div class="popup_drag_${e.id} popup_drag">${n}</div>`).appendTo(`.popup_bar_${e.id}`),
412
- _(`<div class="popup_option_${e.id} popup_option">`).appendTo(`.popup_bar_${e.id}`),
413
- !0 !== e.iconize || b("#popup_dock") || (b("#root")?.css("margin", "0 0 var( --dock-height ) 0"),
414
- _('\n <div id="popup_dock">\n <div id="popup_dock_icon"></div>\n <div id="popup_dock_list"></div>\n <div id="popup_dock_options"></div>\n </div>\n ').appendTo("#popup").css({
415
- pointerEvents: "auto",
416
- zIndex: layerpro.popup.zIndex() + 1e3
417
- }));
418
- if (b("#popup_dock") && !0 === e.dockable) {
419
- const t = String(e.id), o = `\n <div class="icon_${e.id}">\n <span>${e.icon ? e.icon : ""}</span>\n <span>${n}</span>\n </div>\n `, i = () => {
420
- const t = b(".popup_overflow_" + e.id, "#popup");
421
- t && t.data("iconize") ? (layerpro.popup.index(e), layerpro.popup.iconize(e)) : layerpro.popup.iconize(e),
422
- layerpro.popup.index(e);
423
- }, s = t => {
424
- t?.stopPropagation(), e?.buttons?.cancel?.cb && e?.buttons?.cancel?.cb(), layerpro.popup.close(e);
425
- };
426
- z.set(t, {
427
- iconClick: !0,
428
- iconClose: !0
429
- }), _(o).appendTo("#popup_dock_list").addClass("popup_bar_selected").on("click", i),
430
- _(`<button class="icon_close_${e.id}">X</button>`).appendTo(`.icon_${e.id}`).on("click", s);
431
- }
432
- if (!0 === e.iconize) {
433
- const t = String(e.id), o = () => {
434
- layerpro.popup.iconize(e);
435
- }, i = z.get(t) || {};
436
- i.buttonIconize = !0, z.set(t, i), _(`<button class="button_iconize_${e.id} iconize">`).appendTo(`.popup_option_${e.id}`).on("click", o);
437
- }
438
- if (!0 === e.maximize) {
439
- const t = String(e.id), o = () => {
440
- layerpro.popup.maximize(e);
441
- }, i = z.get(t) || {};
442
- i.buttonMaximize = !0, z.set(t, i), _(`<button class="button_maximize_${e.id} maximize">`).appendTo(`.popup_option_${e.id}`).on("click", o);
443
- }
444
- if (!0 === e.close) {
445
- const t = String(e.id), o = () => {
446
- e?.buttons?.cancel?.cb && e?.buttons?.cancel?.cb(), layerpro.popup.close(e);
447
- }, i = z.get(t) || {};
448
- i.buttonClose = !0, z.set(t, i), _(`<button class="button_close_${e.id} close">`).appendTo(`.popup_option_${e.id}`).on("click", o);
449
- }
450
- const s = String(e.id), p = z.get(s) || {};
451
- if (p.escKey = !0, z.set(s, p), v.on("keydown", t => {
452
- const o = t;
453
- "Escape" !== o.key && 27 !== o.keyCode || (e?.buttons?.cancel?.cb && e?.buttons?.cancel?.cb(),
454
- layerpro.popup.close(e));
455
- }, {
456
- ns: `esc-${s}`
457
- }), e.timer > 0) {
458
- const t = {};
459
- t[String(`st_${e.id}`)] = setTimeout(() => {
460
- layerpro.popup.close(e), clearTimeout(t[String(`st_${e.id}`)]);
461
- }, e.timer);
462
- }
463
- e.movable && layerpro.popup.movable(e), e.resizable && layerpro.popup.resizable(e),
464
- e.isMaximize && layerpro.popup.maximize(e), _(`<div class="popup_internal_${e.id} popup_internal">`).appendTo(o),
465
- _(`<div class="popup_body_${e.id} popup_body">`).appendTo(`.popup_internal_${e.id}`).hide().fadeIn(e.fadeIn, () => {
466
- T(e), $(e), E(e);
467
- });
468
- })(e), e;
618
+ if (!0 === e.native) {
619
+ if (oe(e, () => {
620
+ const o = ue.get(t);
621
+ o && (o(e), ue.delete(t));
622
+ })) return o;
623
+ e.native = !1;
624
+ }
625
+ if (b(".popup_window_" + e.id, "#popup") ? (be.index(e), j(e), R(e)) : H(e), !0 === e.persist) {
626
+ const t = (n = String(e.id), Z(F(n)));
627
+ t && ((e, t) => {
628
+ const o = document.querySelector(`.popup_overflow_${e}`);
629
+ !!o && (void 0 !== t.top && o.style.setProperty("--lp-top", `${t.top}px`), void 0 !== t.left && o.style.setProperty("--lp-left", `${t.left}px`),
630
+ void 0 !== t.width && o.style.setProperty("--lp-width", `${t.width}px`), void 0 !== t.height && o.style.setProperty("--lp-height", `${t.height}px`));
631
+ })(String(e.id), t);
632
+ }
633
+ var n;
634
+ return o;
469
635
  },
470
- dispatch: e => {
471
- U.store(e);
636
+ store: e => {
637
+ null != e && de.set(String(Date.now()), e);
472
638
  },
473
- store: e => {},
474
639
  show: e => {
475
- const t = e instanceof m ? e : "string" == typeof e ? b(e) : null;
640
+ const t = e instanceof _ ? e : "string" == typeof e ? b(e) : null;
476
641
  t?.toggle();
477
642
  },
478
643
  vfx: (e, t, o = !1) => {
479
644
  setTimeout(() => {
480
645
  g('[class^="popup_overflow_"]', "#popup").forEach(e => {
481
- e.css("opacity", !0 === t ? 1 : .5), e.find('[class^="popup_body_"]')?.css({
482
- "content-visibility": !0 === t ? "auto" : "hidden"
483
- });
646
+ e.toggleClass("popup_dimmed", !0 !== t), e.find('[class^="popup_body_"]')?.toggleClass("popup_content_hidden", !0 !== t);
484
647
  });
485
- const i = e instanceof m ? e : "string" == typeof e ? b(e) : null;
486
- i?.css("opacity", 1), !o && i && g('[class^="popup_body_"]', i.el).forEach(e => e.css("content-visibility", "visible"));
648
+ const n = e instanceof _ ? e : "string" == typeof e ? b(e) : null;
649
+ n?.removeClass("popup_dimmed"), !o && n && g('[class^="popup_body_"]', n.el).forEach(e => e.addClass("popup_content_visible"));
487
650
  }, 1), dispatchEvent(new Event("layerProResize"));
488
651
  },
489
652
  center: (e, t = 0) => {
490
- const o = b(".popup_overflow_" + q(e), "#popup");
491
- o && (o.css("top", Math.max(0, (y.height() - o.outerHeight()) / 2 + y.scrollTop() + t)),
492
- o.css("left", Math.max(0, (y.width() - o.outerWidth()) / 2 + y.scrollLeft() + t)));
653
+ const o = b(".popup_overflow_" + _e(e), "#popup");
654
+ o && (o.cssVar("--lp-top", Math.max(0, (w.height() - o.outerHeight()) / 2 + w.scrollTop() + t)),
655
+ o.cssVar("--lp-left", Math.max(0, (w.width() - o.outerWidth()) / 2 + w.scrollLeft() + t)));
493
656
  },
494
- checkArea: e => [ N(e), A(e), y.scrollLeft(), y.scrollTop(), y.height(), y.width() ],
657
+ checkArea: e => [ U(e), K(e), w.scrollLeft(), w.scrollTop(), w.height(), w.width() ],
495
658
  close: e => {
496
659
  let t;
497
660
  if (e) {
498
- t = q(e);
499
- const o = "object" == typeof e && null !== e ? e : void 0;
661
+ t = _e(e);
662
+ const n = "object" == typeof e && null !== e ? e : void 0;
663
+ if (o = t, te.has(String(o))) return void (e => {
664
+ const t = te.get(String(e));
665
+ !!t && t.close();
666
+ })(t);
667
+ const i = n ?? he.get(String(t));
668
+ if (!0 === i?.persist) {
669
+ const e = (e => {
670
+ const t = document.querySelector(`.popup_overflow_${e}`);
671
+ return t ? {
672
+ top: t.offsetTop,
673
+ left: t.offsetLeft,
674
+ width: t.offsetWidth,
675
+ height: t.offsetHeight
676
+ } : null;
677
+ })(String(t));
678
+ e && ((e, t) => {
679
+ Q(F(e), t);
680
+ })(String(t), e);
681
+ }
500
682
  layerpro.popup.unmount && layerpro.popup.unmount(String(t)), layerpro.popup.abortSource && layerpro.popup.abortSource(String(t)),
501
- layerpro.popup.cleanupEvents && layerpro.popup.cleanupEvents(String(t));
502
- const i = B.get(String(t));
503
- if (i) {
683
+ layerpro.popup.cleanupEvents && layerpro.popup.cleanupEvents(String(t)), M(String(t));
684
+ const r = ue.get(String(t));
685
+ r && (r(n ?? {}), ue.delete(String(t))), he.delete(String(t));
686
+ const s = le.get(String(t));
687
+ if (s) {
504
688
  const e = {
505
689
  passive: !1
506
690
  };
507
- i.move && document.removeEventListener("pointermove", i.move, e), i.up && document.removeEventListener("pointerup", i.up, e),
508
- B.delete(String(t));
691
+ s.move && document.removeEventListener("pointermove", s.move, e), s.up && document.removeEventListener("pointerup", s.up, e),
692
+ le.delete(String(t));
509
693
  }
510
- const n = D.get(String(t));
511
- if (n) {
694
+ const p = ce.get(String(t));
695
+ if (p) {
512
696
  const e = {
513
697
  passive: !1
514
698
  };
515
- n.move && document.removeEventListener("pointermove", n.move, e), n.up && document.removeEventListener("pointerup", n.up, e),
516
- D.delete(String(t));
699
+ p.move && document.removeEventListener("pointermove", p.move, e), p.up && document.removeEventListener("pointerup", p.up, e),
700
+ ce.delete(String(t));
517
701
  }
518
- (o ? !0 === o.raised : !!b(".popup_raised_" + t)) ? b(".popup_raised_" + t)?.fadeOut(o?.fadeOut || 500, () => b(".popup_raised_" + t)?.remove()) : b(".popup_overflow_" + t)?.fadeOut(o?.fadeOut || 500, () => {
519
- b(".popup_overflow_" + t)?.remove(), b(".popup_raised_" + t)?.fadeOut(o?.fadeOut || 500, () => b(".popup_raised_" + t)?.remove());
702
+ (n ? !0 === n.modal : !!b(".popup_modal_" + t)) ? b(".popup_modal_" + t)?.fadeOut(n?.fadeOut || 500, () => b(".popup_modal_" + t)?.remove()) : b(".popup_overflow_" + t)?.fadeOut(n?.fadeOut || 500, () => {
703
+ b(".popup_overflow_" + t)?.remove(), b(".popup_modal_" + t)?.fadeOut(n?.fadeOut || 500, () => b(".popup_modal_" + t)?.remove());
520
704
  });
521
- } else b("#popup")?.fadeOut(() => b("#popup")?.remove());
522
- setTimeout(() => U.removeDock(e), 300);
705
+ } else (() => {
706
+ for (const e of [ ...te.values() ]) e.close();
707
+ })(), b("#popup")?.fadeOut(() => {
708
+ b("#popup")?.remove(), b("#popup_dock")?.remove(), P();
709
+ });
710
+ var o;
711
+ setTimeout(() => be.removeDock(e), 300);
523
712
  },
524
713
  removeDock: e => {
525
- const t = q(e);
526
- b(".icon_" + t)?.remove(), g('[class^="popup_overflow_"]', "#popup").length < 1 && (b("#root")?.css("margin", "0"),
527
- b("#popup_dock")?.remove());
714
+ const t = _e(e);
715
+ b(".icon_" + t)?.remove(), b(".popup_overflow_" + t) ? setTimeout(() => be.removeDock(e), 100) : g('[class^="popup_overflow_"]', "#popup").length < 1 && (b("#popup_dock")?.remove(),
716
+ P());
528
717
  },
529
718
  iconize: e => {
530
- const t = q(e), o = b(".popup_overflow_" + t, "#popup");
531
- if (o && !1 !== o.find("[class^=popup_window_]")?.hasClass("zHigh")) if (U.vfx(o, !1, !0),
719
+ const t = _e(e), o = b(".popup_overflow_" + t, "#popup");
720
+ if (o && !1 !== o.find("[class^=popup_window_]")?.hasClass("zHigh")) if (be.vfx(o, !1, !0),
532
721
  o.data("iconize")) {
533
722
  if (o.data("iconize")) {
534
723
  const e = o.data("iconize");
535
- o.css({
536
- top: e.y,
537
- left: e.x,
538
- width: e.w,
539
- height: e.h,
540
- opacity: 1
541
- }), U.vfx(o, !0), o.removeData("iconize");
724
+ o.removeClass("popup_iconized").cssVar("--lp-top", e.y).cssVar("--lp-left", e.x).cssVar("--lp-width", e.w).cssVar("--lp-height", e.h),
725
+ be.vfx(o, !0), o.removeData("iconize");
542
726
  }
543
727
  } else {
544
728
  const e = b(".icon_" + t, "#popup_dock")?.el.offsetLeft ?? 0;
@@ -547,78 +731,58 @@ var N = e => {
547
731
  x: o.el.offsetLeft,
548
732
  w: o.el.offsetWidth,
549
733
  h: o.el.offsetHeight
550
- }), o.css({
551
- top: "100%",
552
- left: e + 15,
553
- width: 0,
554
- height: 0,
555
- opacity: 0
556
- }), U.vfx(o, !0);
734
+ }), o.cssVar("--lp-top", "100%").cssVar("--lp-left", e + 15).addClass("popup_iconized"),
735
+ be.vfx(o, !0);
557
736
  }
558
737
  },
559
738
  maximize: e => {
560
- const t = b(".popup_overflow_" + q(e), "#popup"), o = t ? b('[class^="resize_"]', t.el) : null;
561
- if (U.vfx(t, !1, !0), t?.data("store")) {
739
+ const t = b(".popup_overflow_" + _e(e), "#popup"), o = t ? b('[class^="resize_"]', t.el) : null;
740
+ if (be.vfx(t, !1, !0), t?.data("store")) {
562
741
  if (t?.data("store")) {
563
- const i = t.data("store");
564
- t.css({
565
- position: "absolute",
566
- top: i.y,
567
- left: i.x,
568
- right: "auto",
569
- bottom: "auto",
570
- width: i.w,
571
- height: i.h
572
- }), o?.on("pointerdown", function(t) {
573
- U.resizeModals(t, this, e);
574
- }), U.vfx(t, !0), t.removeData("store");
742
+ const n = t.data("store");
743
+ t.removeClass("popup_maximized"), t.cssVar("--lp-top", n.y).cssVar("--lp-left", n.x).cssVar("--lp-width", n.w).cssVar("--lp-height", n.h),
744
+ o?.on("pointerdown", function(t) {
745
+ be.resizeModals(t, this, e);
746
+ }), be.vfx(t, !0), t.removeData("store");
575
747
  }
576
748
  } else t.data("store", {
577
749
  y: t.el.offsetTop,
578
750
  x: t.el.offsetLeft,
579
751
  w: t.el.offsetWidth,
580
752
  h: t.el.offsetHeight
581
- }), t.css({
582
- position: "fixed",
583
- top: -6,
584
- left: -6,
585
- right: -6,
586
- bottom: 39,
587
- width: "auto",
588
- height: "auto"
589
- }), o?.off("pointerdown"), U.vfx(t, !0, !0);
753
+ }), t.addClass("popup_maximized"), o?.off("pointerdown"), be.vfx(t, !0, !0);
590
754
  },
591
755
  movable: e => {
592
756
  if (!1 === e.movable) return;
593
- const t = q(e), o = String(t), i = b(".popup_overflow_" + t, "#popup"), n = i ? b(".popup_drag_" + t, i.el) : null, s = i ? b(".popup_body_" + t, i.el) : null;
594
- i?.css("touch-action", "none");
595
- let p = 0, r = 0, a = 0, l = 0;
757
+ const t = _e(e), o = String(t), n = b(".popup_overflow_" + t, "#popup"), i = n ? b(".popup_drag_" + t, n.el) : null, r = n ? b(".popup_body_" + t, n.el) : null;
758
+ n?.addClass("lp_no_touch");
759
+ let s = 0, p = 0, a = 0, l = 0;
596
760
  const c = e => {
597
761
  e.preventDefault();
598
- const t = N(e), o = A(e);
599
- p = a - t, r = l - o, a = t, l = o, U.checkArea(e)[1] < U.checkArea(e)[4] && 1 === Math.sign(U.checkArea(e)[1]) && i?.css("top", i.el.offsetTop - r),
600
- U.checkArea(e)[0] < U.checkArea(e)[5] && 1 === Math.sign(U.checkArea(e)[0]) && i?.css("left", i.el.offsetLeft - p);
762
+ const t = U(e), o = K(e);
763
+ s = a - t, p = l - o, a = t, l = o, be.checkArea(e)[1] < be.checkArea(e)[4] && 1 === Math.sign(be.checkArea(e)[1]) && n?.cssVar("--lp-top", n.el.offsetTop - p),
764
+ be.checkArea(e)[0] < be.checkArea(e)[5] && 1 === Math.sign(be.checkArea(e)[0]) && n?.cssVar("--lp-left", n.el.offsetLeft - s);
601
765
  }, d = () => {
602
766
  const e = {
603
767
  passive: !1
604
768
  };
605
769
  document.removeEventListener("pointermove", c, e), document.removeEventListener("pointerup", d, e),
606
- B.delete(o), s?.css("pointer-events", "auto"), U.vfx(i, !0);
770
+ le.delete(o), r?.addClass("lp_pointer"), be.vfx(n, !0);
607
771
  };
608
- B.set(o, {
772
+ le.set(o, {
609
773
  move: c,
610
774
  up: d
611
775
  });
612
- n?.el.addEventListener("pointerdown", e => {
613
- "fixed" !== i?.el.style.position && (e.preventDefault(), s?.css("pointer-events", "none"),
614
- u(e), U.vfx(i, !1));
776
+ i?.el.addEventListener("pointerdown", e => {
777
+ n?.hasClass("popup_maximized") || (e.preventDefault(), r?.addClass("lp_no_pointer"),
778
+ u(e), be.vfx(n, !1));
615
779
  }, {
616
780
  passive: !1
617
- }), e.maximize && n?.on("dblclick", () => {
781
+ }), e.maximize && i?.on("dblclick", () => {
618
782
  layerpro.popup.maximize(e);
619
783
  });
620
784
  const u = e => {
621
- a = N(e), l = A(e);
785
+ a = U(e), l = K(e);
622
786
  const t = {
623
787
  passive: !1
624
788
  };
@@ -627,186 +791,166 @@ var N = e => {
627
791
  },
628
792
  resizable: e => {
629
793
  if (!e.resizable) return;
630
- const t = q(e), o = String(t), i = b(".popup_overflow_" + t, "#popup");
631
- for (let e = 4; e--; ) _(`<div class='resize_${e}'>`).appendTo(i?.el).css("touch-action", "none"),
632
- _(`<div class='resize_corner_${e}'>`).appendTo(i?.el).css("touch-action", "none");
633
- const n = D.get(o) || {};
634
- n.down = function(t) {
635
- U.resizeModals(t, this, e);
636
- }, D.set(o, n);
637
- const s = {
794
+ const t = _e(e), o = String(t), n = b(".popup_overflow_" + t, "#popup");
795
+ for (let e = 4; e--; ) v(`<div class='resize_${e}'>`).appendTo(n?.el).addClass("lp_no_touch"),
796
+ v(`<div class='resize_corner_${e}'>`).appendTo(n?.el).addClass("lp_no_touch");
797
+ const i = ce.get(o) || {};
798
+ i.down = function(t) {
799
+ be.resizeModals(t, this, e);
800
+ }, ce.set(o, i);
801
+ const r = {
638
802
  passive: !1
639
803
  };
640
804
  g("[class^=resize_]").forEach(t => {
641
805
  t.el.addEventListener("pointerdown", o => {
642
- o.preventDefault(), U.resizeModals(o, t.el, e);
643
- }, s);
806
+ o.preventDefault(), be.resizeModals(o, t.el, e);
807
+ }, r);
644
808
  });
645
809
  },
646
810
  resizeModals: (e, t, o) => {
647
- const i = t instanceof HTMLElement ? new m(t) : b(t), n = i?.parent(), s = String(o.id);
648
- n?.el.style.setProperty("transition", "none");
649
- const p = N(e), r = A(e), a = [ p - y.scrollLeft(), r - y.scrollTop() ];
650
- o.minWidth, Y()?.css("pointer-events", "none"), n?.css("pointer-events", "none"),
651
- U.vfx(n, !1);
811
+ const n = t instanceof HTMLElement ? new _(t) : b(t), i = n?.parent(), r = String(o.id);
812
+ i?.addClass("lp_no_transition");
813
+ const s = U(e), p = K(e), a = [ s - w.scrollLeft(), p - w.scrollTop() ];
814
+ o.minWidth, fe()?.addClass("lp_page_locked"), i?.addClass("lp_no_pointer"), be.vfx(i, !1);
652
815
  const l = e => {
653
- U.doRes(e, t);
816
+ be.doRes(e, t);
654
817
  }, c = () => {
655
- U.stopRes(t, s);
656
- }, d = D.get(s) || {};
657
- d.move = l, d.up = c, D.set(s, d);
818
+ be.stopRes(t, r);
819
+ }, d = ce.get(r) || {};
820
+ d.move = l, d.up = c, ce.set(r, d);
658
821
  const u = {
659
822
  passive: !1
660
823
  };
661
824
  document.addEventListener("pointermove", l, u), document.addEventListener("pointerup", c, u);
662
- const h = n?.position().left ?? 0, f = n?.position().top ?? 0, g = n?.width() ?? 0, _ = n?.height() ?? 0;
663
- X = {
825
+ const h = i?.position().left ?? 0, m = i?.position().top ?? 0, f = i?.width() ?? 0, g = i?.height() ?? 0;
826
+ me = {
664
827
  id: String(o.id),
665
828
  startX: a[0],
666
829
  startY: a[1],
667
- startWidth: g,
668
- startHeight: _,
830
+ startWidth: f,
831
+ startHeight: g,
669
832
  startLeft: h,
670
- startTop: f,
671
- startBottom: f + _ + 1,
672
- startRight: h + g + 1
673
- }, P = t;
833
+ startTop: m,
834
+ startBottom: m + g + 1,
835
+ startRight: h + f + 1
836
+ }, re = t;
674
837
  },
675
838
  doRes: (e, t) => {
676
839
  dispatchEvent(new Event("layerProResize"));
677
- const o = t instanceof HTMLElement ? new m(t) : b(t), i = o?.parent(), n = N(e), s = A(e), p = [ n - y.scrollLeft(), s - y.scrollTop() ];
678
- if (t === P && X) {
679
- const t = X;
680
- let n = t.startWidth + p[0] - t.startX, s = t.startHeight + p[1] - t.startY;
681
- const r = t.startWidth - p[0] + t.startX, a = t.startHeight - p[1] + t.startY;
682
- n <= 0 && (n = 0), s <= 0 && (s = 0), U.checkArea(e)[1] < U.checkArea(e)[4] && 1 === Math.sign(U.checkArea(e)[1]) && o?.hasClass("resize_0") && (i && i.height() <= I && a > I && i.css({
683
- height: Number(I + 1)
684
- }), i && i.height() > I && I <= a && i.css({
840
+ const o = t instanceof HTMLElement ? new _(t) : b(t), n = o?.parent(), i = U(e), r = K(e), s = [ i - w.scrollLeft(), r - w.scrollTop() ];
841
+ if (t === re && me) {
842
+ const t = me;
843
+ let i = t.startWidth + s[0] - t.startX, r = t.startHeight + s[1] - t.startY;
844
+ const p = t.startWidth - s[0] + t.startX, a = t.startHeight - s[1] + t.startY;
845
+ i <= 0 && (i = 0), r <= 0 && (r = 0), be.checkArea(e)[1] < be.checkArea(e)[4] && 1 === Math.sign(be.checkArea(e)[1]) && o?.hasClass("resize_0") && (n && n.height() <= ie && a > ie && n.geom({
846
+ height: Number(ie + 1)
847
+ }), n && n.height() > ie && ie <= a && n.geom({
685
848
  top: Number(t.startBottom - a),
686
849
  height: parseInt(String(a))
687
- })), U.checkArea(e)[0] < U.checkArea(e)[5] && 1 === Math.sign(U.checkArea(e)[0]) && o?.hasClass("resize_1") && (i && i.width() >= H && i.css({
688
- width: Number(n),
689
- right: Number(t.startLeft - n)
690
- }), i && i.width() <= H && i.css({
691
- width: Number(H + 1)
692
- })), U.checkArea(e)[1] < U.checkArea(e)[4] && 1 === Math.sign(U.checkArea(e)[1]) && o?.hasClass("resize_2") && (i && i.height() >= I && i.css({
693
- height: Number(s)
694
- }), i && i.height() <= I && s > I && i.css({
695
- height: Number(I + 1)
696
- })), U.checkArea(e)[0] < U.checkArea(e)[5] && 1 === Math.sign(U.checkArea(e)[0]) && o?.hasClass("resize_3") && (i && i.width() <= H && r > H && i.css({
697
- width: Number(H + 1)
698
- }), i && i.width() > H && H <= r && i.css({
699
- width: parseInt(String(r)),
700
- left: Number(t.startRight - r)
701
- })), U.checkArea(e)[1] < U.checkArea(e)[4] && U.checkArea(e)[0] < U.checkArea(e)[5] && 1 === Math.sign(U.checkArea(e)[0]) && 1 === Math.sign(U.checkArea(e)[1]) && (o?.hasClass("resize_corner_0") && (i && i.height() >= I && a > I && i.css({
850
+ })), be.checkArea(e)[0] < be.checkArea(e)[5] && 1 === Math.sign(be.checkArea(e)[0]) && o?.hasClass("resize_1") && (n && n.width() >= ne && n.geom({
851
+ width: Number(i),
852
+ right: Number(t.startLeft - i)
853
+ }), n && n.width() <= ne && n.geom({
854
+ width: Number(ne + 1)
855
+ })), be.checkArea(e)[1] < be.checkArea(e)[4] && 1 === Math.sign(be.checkArea(e)[1]) && o?.hasClass("resize_2") && (n && n.height() >= ie && n.geom({
856
+ height: Number(r)
857
+ }), n && n.height() <= ie && r > ie && n.geom({
858
+ height: Number(ie + 1)
859
+ })), be.checkArea(e)[0] < be.checkArea(e)[5] && 1 === Math.sign(be.checkArea(e)[0]) && o?.hasClass("resize_3") && (n && n.width() <= ne && p > ne && n.geom({
860
+ width: Number(ne + 1)
861
+ }), n && n.width() > ne && ne <= p && n.geom({
862
+ width: parseInt(String(p)),
863
+ left: Number(t.startRight - p)
864
+ })), be.checkArea(e)[1] < be.checkArea(e)[4] && be.checkArea(e)[0] < be.checkArea(e)[5] && 1 === Math.sign(be.checkArea(e)[0]) && 1 === Math.sign(be.checkArea(e)[1]) && (o?.hasClass("resize_corner_0") && (n && n.height() >= ie && a > ie && n.geom({
702
865
  top: Number(t.startBottom - a),
703
866
  height: parseInt(String(a))
704
- }), i && i.height() <= I && a > I && i.css({
705
- height: Number(I + 1)
706
- }), i && i.width() >= H && r > H && i.css({
707
- width: parseInt(String(r)),
708
- left: Number(t.startRight - r)
709
- }), i && i.width() <= H && r > H && i.css({
710
- width: Number(H + 1)
711
- })), o?.hasClass("resize_corner_1") && (i && i.height() >= I && a > I && i.css({
867
+ }), n && n.height() <= ie && a > ie && n.geom({
868
+ height: Number(ie + 1)
869
+ }), n && n.width() >= ne && p > ne && n.geom({
870
+ width: parseInt(String(p)),
871
+ left: Number(t.startRight - p)
872
+ }), n && n.width() <= ne && p > ne && n.geom({
873
+ width: Number(ne + 1)
874
+ })), o?.hasClass("resize_corner_1") && (n && n.height() >= ie && a > ie && n.geom({
712
875
  top: Number(t.startBottom - a),
713
876
  height: Number(a)
714
- }), i && i.height() <= I && a > I && i.css({
715
- height: Number(I + 1)
716
- }), i && i.width() >= H && i.css({
717
- width: Number(n),
718
- right: Number(t.startLeft - n)
719
- }), i && i.width() <= H && r > H && i.css({
720
- width: Number(H + 1)
721
- })), o?.hasClass("resize_corner_2") && (i && i.height() >= I && i.css({
722
- height: Number(s)
723
- }), i && i.height() <= I && s > I && i.css({
724
- height: Number(I + 1)
725
- }), i && i.width() >= H && i.css({
726
- width: Number(n),
727
- right: Number(t.startLeft - n)
728
- }), i && i.width() <= H && i.css({
729
- width: Number(H + 1)
730
- })), o?.hasClass("resize_corner_3") && (i && i.height() >= I && s > I && i.css({
731
- height: Number(s)
732
- }), i && i.height() <= I && s > I && i.css({
733
- height: Number(I + 1)
734
- }), i && i.width() >= H && r > H && i.css({
735
- width: Number(r),
736
- left: Number(t.startRight - r)
737
- }), i && i.width() <= H && r > H && i.css({
738
- width: Number(H + 1)
877
+ }), n && n.height() <= ie && a > ie && n.geom({
878
+ height: Number(ie + 1)
879
+ }), n && n.width() >= ne && n.geom({
880
+ width: Number(i),
881
+ right: Number(t.startLeft - i)
882
+ }), n && n.width() <= ne && p > ne && n.geom({
883
+ width: Number(ne + 1)
884
+ })), o?.hasClass("resize_corner_2") && (n && n.height() >= ie && n.geom({
885
+ height: Number(r)
886
+ }), n && n.height() <= ie && r > ie && n.geom({
887
+ height: Number(ie + 1)
888
+ }), n && n.width() >= ne && n.geom({
889
+ width: Number(i),
890
+ right: Number(t.startLeft - i)
891
+ }), n && n.width() <= ne && n.geom({
892
+ width: Number(ne + 1)
893
+ })), o?.hasClass("resize_corner_3") && (n && n.height() >= ie && r > ie && n.geom({
894
+ height: Number(r)
895
+ }), n && n.height() <= ie && r > ie && n.geom({
896
+ height: Number(ie + 1)
897
+ }), n && n.width() >= ne && p > ne && n.geom({
898
+ width: Number(p),
899
+ left: Number(t.startRight - p)
900
+ }), n && n.width() <= ne && p > ne && n.geom({
901
+ width: Number(ne + 1)
739
902
  })));
740
903
  }
741
904
  },
742
905
  stopRes: (e, t) => {
743
- const o = e instanceof HTMLElement ? new m(e) : b(e), i = o?.parent();
744
- i?.el.style.setProperty("transition", ""), o?.el.style.setProperty("transition", ""),
745
- Y()?.css("pointer-events", "auto"), i?.css("pointer-events", "auto"), U.vfx(i, !0),
746
- P = !1, X?.id === t && (X = null);
747
- const n = D.get(t);
748
- if (n) {
906
+ const o = e instanceof HTMLElement ? new _(e) : b(e), n = o?.parent();
907
+ n?.removeClass("lp_no_transition"), o?.removeClass("lp_no_transition"), fe()?.removeClass("lp_page_locked"),
908
+ n?.removeClass("lp_no_pointer"), be.vfx(n, !0), re = !1, me?.id === t && (me = null);
909
+ const i = ce.get(t);
910
+ if (i) {
749
911
  const e = {
750
912
  passive: !1
751
913
  };
752
- n.move && document.removeEventListener("pointermove", n.move, e), n.up && document.removeEventListener("pointerup", n.up, e),
753
- D.delete(t);
914
+ i.move && document.removeEventListener("pointermove", i.move, e), i.up && document.removeEventListener("pointerup", i.up, e),
915
+ ce.delete(t);
754
916
  }
755
917
  },
756
918
  index: e => {
757
- const t = q(e);
919
+ const t = _e(e);
758
920
  g('[class^="popup_window_"]', "#popup").forEach(e => e.removeClass("zHigh")), g('[class^="popup_bar_"]', "#popup").forEach(e => e.removeClass("popup_bar_selected")),
759
921
  g('[class^="icon_"]', "#popup").forEach(e => e.removeClass("popup_bar_selected")),
760
- b(".icon_" + t, "#popup")?.addClass("popup_bar_selected"), b(".popup_overflow_" + t, "#popup")?.css("zIndex", U.zIndex()),
922
+ b(".icon_" + t, "#popup")?.addClass("popup_bar_selected"), b(".popup_overflow_" + t, "#popup")?.cssVar("--lp-z-index", be.zIndex()),
761
923
  b(".popup_bar_" + t, "#popup")?.addClass("popup_bar_selected"), b(".popup_window_" + t, "#popup")?.addClass("zHigh");
762
924
  },
763
925
  zIndex: () => {
764
- if (!W) {
765
- W = !0;
926
+ if (!pe) {
927
+ pe = !0;
766
928
  try {
767
929
  const e = getComputedStyle(document.documentElement).getPropertyValue("--popup-z-index").trim();
768
930
  if (e) {
769
931
  const t = parseInt(e, 10);
770
- isNaN(t) || (j = t);
932
+ isNaN(t) || (se = t);
771
933
  }
772
934
  } catch {}
773
935
  }
774
- return ++j;
936
+ return ++se;
775
937
  }
776
938
  };
777
939
 
778
940
  Object.defineProperty(layerpro, "popup", {
779
- value: U,
941
+ value: be,
780
942
  writable: !1,
781
943
  configurable: !1
782
- }), globalThis.popup = U, Object.defineProperty(window, "popup", {
944
+ }), globalThis.popup = be, Object.defineProperty(window, "popup", {
783
945
  enumerable: !1
784
946
  });
785
947
 
786
- var K = {
787
- "&": "&amp;",
788
- "<": "&lt;",
789
- ">": "&gt;",
790
- '"': "&quot;",
791
- "'": "&#39;"
792
- }, F = e => e.replace(/[&<>"']/g, e => K[e]), G = globalThis.alert, Z = globalThis.confirm, J = globalThis.prompt, V = globalThis.message, Q = () => {
793
- globalThis.message = (e, t) => layerpro.message(e, t), globalThis.alert = e => layerpro.alert(e),
794
- globalThis.confirm = (e, t, o) => layerpro.confirm(e, t, o), globalThis.prompt = (e, t, o) => layerpro.prompt(e, t),
795
- Object.defineProperty(window, "alert", {
796
- enumerable: !1
797
- }), Object.defineProperty(window, "prompt", {
798
- enumerable: !1
799
- }), Object.defineProperty(window, "message", {
800
- enumerable: !1
801
- }), Object.defineProperty(window, "confirm", {
802
- enumerable: !1
803
- });
804
- };
805
-
806
- Q(), Object.defineProperties(layerpro, {
948
+ Object.defineProperties(layerpro, {
807
949
  prompt: {
808
950
  value: (e, t) => {
809
- const o = t || "_prompt", i = F(String(e)), n = layerpro.popup.open({
951
+ const o = O(String(e)), n = {
952
+ value: ""
953
+ }, i = {
810
954
  id: "__prompt",
811
955
  name: "Prompt",
812
956
  icon: "&#9998;",
@@ -817,34 +961,27 @@ Q(), Object.defineProperties(layerpro, {
817
961
  close: !0,
818
962
  isMaximize: !1,
819
963
  dockable: !1,
820
- raised: !0,
964
+ modal: !0,
821
965
  movable: !0,
822
966
  resizable: !1
823
- }), s = `\n <div class='popup_prompt'>\n\n <div class="popup_message_body">\n <center>\n ${i}\n </center>\n </div>\n\n <input id="input_${n.id}" type="text" placeholder="write here" />\n <br/>\n\n <div class="buttons">\n <button id="a_${n.id}" type="button">OK</button>\n <button id="b_${n.id}" type="button">CANCEL</button>\n </div>\n\n </div>\n `;
824
- b(".popup_body_" + n.id)?.html(s);
825
- const p = b("#input_" + n.id);
826
- p?.on("focus", () => {
967
+ }, r = layerpro.popup.open(i), s = `\n <div class='popup_prompt'>\n\n <div class="popup_message_body">\n <center>\n ${o}\n </center>\n </div>\n\n <input id="input_${i.id}" type="text" placeholder="write here" />\n <br/>\n\n <div class="buttons">\n <button id="a_${i.id}" type="button">OK</button>\n <button id="b_${i.id}" type="button">CANCEL</button>\n </div>\n\n </div>\n `;
968
+ b(".popup_body_" + i.id)?.html(s);
969
+ const p = b("#input_" + i.id);
970
+ return t && p?.val(t), p?.on("focus", () => {
827
971
  p.attr("placeholder", "");
828
972
  })?.on("blur", () => {
829
973
  p.attr("placeholder", "write here");
830
- }), b("#a_" + n.id)?.on("click", () => {
974
+ }), b("#a_" + i.id)?.on("click", () => {
831
975
  const e = p?.val() ?? "";
832
- if (e > "") {
833
- if ("function" == typeof o) {
834
- const e = document.getElementById("input___prompt");
835
- o(String(e));
836
- }
837
- if (String(o) === o) return JSON.stringify(e);
838
- layerpro.popup.close(n);
839
- } else alert("input can't be empty!");
840
- }), b("#b_" + n.id)?.on("click", () => {
841
- layerpro.popup.close(n);
842
- });
976
+ String(e) > "" ? (n.value = String(e), layerpro.popup.close(i)) : layerpro.alert("input can't be empty!");
977
+ }), b("#b_" + i.id)?.on("click", () => {
978
+ n.value = "", layerpro.popup.close(i);
979
+ }), r.then(() => n.value);
843
980
  }
844
981
  },
845
982
  alert: {
846
983
  value: e => {
847
- const t = F(String(e)), o = layerpro.popup.open({
984
+ const t = O(String(e)), o = {
848
985
  id: "__alert",
849
986
  name: "Warning",
850
987
  icon: "&#9888;",
@@ -855,18 +992,18 @@ Q(), Object.defineProperties(layerpro, {
855
992
  close: !0,
856
993
  isMaximize: !1,
857
994
  dockable: !1,
858
- raised: !0,
995
+ modal: !0,
859
996
  movable: !0,
860
997
  resizable: !1
861
- }), i = `\n <div class='popup_prompt'>\n <div class="popup_message_body">\n <center>${t}</center>\n </div>\n <div class="buttons">\n <button id="${"a_" + o.id}" type="button">CLOSE</button>\n </div>\n </div>\n `;
862
- b(".popup_body_" + o.id)?.html(i), b("#a_" + o.id)?.on("click", () => {
998
+ }, n = layerpro.popup.open(o), i = `\n <div class='popup_prompt'>\n <div class="popup_message_body">\n <center>${t}</center>\n </div>\n <div class="buttons">\n <button id="${"a_" + o.id}" type="button">CLOSE</button>\n </div>\n </div>\n `;
999
+ return b(".popup_body_" + o.id)?.html(i), b("#a_" + o.id)?.on("click", () => {
863
1000
  layerpro.popup.close(o);
864
- });
1001
+ }), n.then(() => {});
865
1002
  }
866
1003
  },
867
1004
  message: {
868
- value: (e, t) => {
869
- const o = F(String(e)), i = layerpro.popup.open({
1005
+ value: e => {
1006
+ const t = O(String(e)), o = {
870
1007
  id: "__message",
871
1008
  name: "Message",
872
1009
  icon: "&#9965;",
@@ -877,53 +1014,51 @@ Q(), Object.defineProperties(layerpro, {
877
1014
  close: !0,
878
1015
  isMaximize: !1,
879
1016
  dockable: !1,
880
- raised: !0,
1017
+ modal: !0,
881
1018
  movable: !0,
882
1019
  resizable: !1
883
- }), n = `\n <div class='popup_prompt'>\n <div class="popup_message_body">\n <center>${o}</center>\n </div>\n <div class="buttons">\n <button id="${"a_" + i.id}" type="button">CLOSE</button>\n </div>\n </div>\n `;
884
- b(".popup_body_" + i.id)?.html(n), b("#a_" + i.id)?.on("click", () => {
885
- t && t(), layerpro.popup.close(i);
886
- });
1020
+ }, n = layerpro.popup.open(o), i = `\n <div class='popup_prompt'>\n <div class="popup_message_body">\n <center>${t}</center>\n </div>\n <div class="buttons">\n <button id="${"a_" + o.id}" type="button">OK</button>\n </div>\n </div>\n `;
1021
+ return b(".popup_body_" + o.id)?.html(i), b("#a_" + o.id)?.on("click", () => {
1022
+ layerpro.popup.close(o);
1023
+ }), n.then(() => {});
887
1024
  }
888
1025
  },
889
1026
  confirm: {
890
- value: (e, t, o) => {
891
- if (!b(".confirm")) {
892
- const i = F(String(e)), n = layerpro.popup.open({
893
- id: "__confirm",
894
- name: "Confirm",
895
- icon: "&#9745;",
896
- width: 380,
897
- height: 220,
898
- iconize: !1,
899
- maximize: !1,
900
- close: !0,
901
- isMaximize: !1,
902
- dockable: !1,
903
- raised: !0,
904
- movable: !0,
905
- resizable: !1
906
- }), s = `\n <div class='popup_prompt'>\n <div class="popup_message_body">\n <center>${i}</center>\n </div>\n <div class="buttons">\n <button id="${"a_" + n.id}" type="button">CONFIRM</button>\n <button id="${"b_" + n.id}" type="button">CANCEL</button>\n </div>\n </div>\n `;
907
- b(".popup_body_" + n.id)?.html(s), b("#a_" + n.id)?.on("click", () => {
908
- t && t(), layerpro.popup.close(n);
909
- }), b("#b_" + n.id)?.on("click", () => {
910
- o && o(), layerpro.popup.close(n);
911
- });
912
- }
1027
+ value: e => {
1028
+ const t = O(String(e)), o = {
1029
+ value: !1
1030
+ }, n = {
1031
+ id: "__confirm",
1032
+ name: "Confirm",
1033
+ icon: "&#9745;",
1034
+ width: 380,
1035
+ height: 220,
1036
+ iconize: !1,
1037
+ maximize: !1,
1038
+ close: !0,
1039
+ isMaximize: !1,
1040
+ dockable: !1,
1041
+ modal: !0,
1042
+ movable: !0,
1043
+ resizable: !1
1044
+ }, i = layerpro.popup.open(n), r = `\n <div class='popup_prompt'>\n <div class="popup_message_body">\n <center>${t}</center>\n </div>\n <div class="buttons">\n <button id="${"a_" + n.id}" type="button">CONFIRM</button>\n <button id="${"b_" + n.id}" type="button">CANCEL</button>\n </div>\n </div>\n `;
1045
+ return b(".popup_body_" + n.id)?.html(r), b("#a_" + n.id)?.on("click", () => {
1046
+ o.value = !0, layerpro.popup.close(n);
1047
+ }), b("#b_" + n.id)?.on("click", () => {
1048
+ o.value = !1, layerpro.popup.close(n);
1049
+ }), i.then(() => o.value);
913
1050
  }
914
1051
  },
915
1052
  installGlobals: {
916
- value: Q
917
- },
918
- noGlobals: {
919
1053
  value: () => {
920
1054
  const e = globalThis;
921
- e.alert = G, e.confirm = Z, e.prompt = J, void 0 === V ? delete e.message : e.message = V;
1055
+ e.alert = e => layerpro.alert(String(e)), e.confirm = e => layerpro.confirm(String(e)),
1056
+ e.prompt = (e, t) => layerpro.prompt(String(e), t), e.message = e => layerpro.message(String(e));
922
1057
  }
923
1058
  }
924
1059
  });
925
1060
 
926
- O = (e, t) => {
1061
+ Y = (e, t) => {
927
1062
  g('[class^="popup_overflow_"]').forEach(e => {
928
1063
  const t = e.el.className.match(/popup_overflow_(\d+)/);
929
1064
  t && t[1] && layerpro.popup.close({
@@ -933,10 +1068,10 @@ O = (e, t) => {
933
1068
  });
934
1069
  };
935
1070
 
936
- var ee = globalThis.layerpro;
1071
+ var ge = globalThis.layerpro;
937
1072
 
938
- ee.setProps(ee, {
1073
+ ge.setProps(ge, {
939
1074
  configurable: !1,
940
1075
  enumerable: !1,
941
1076
  writable: !1
942
- }), Object.freeze(ee);
1077
+ }), Object.freeze(ge);