layerpro 4.0.1 → 4.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/index.js CHANGED
@@ -1,4 +1,4 @@
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)})();var e = Object.defineProperty, t = (t, o, n) => ((t, o, n) => 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;text-align:center;}#popup .buttons button{all:unset;box-sizing:border-box;display:flex;align-items:center;justify-content:center;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;}dialog[class*=popup_window_]{margin:0;padding:0;border:none;background:transparent;color:inherit;max-width:none;max-height:none;}dialog[class*=popup_window_]::backdrop{background:transparent;}dialog[class*=popup_window_]:not([open]){display:none;}dialog[class*=popup_window_][open]{display:block;}}@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)})();var e = Object.defineProperty, t = (t, o, n) => ((t, o, n) => o in t ? e(t, o, {
2
2
  enumerable: !0,
3
3
  configurable: !0,
4
4
  writable: !0,
@@ -49,24 +49,24 @@ Object.defineProperty(s, "credits", {
49
49
  configurable: !1
50
50
  });
51
51
 
52
- var p = "4.0.1", a = globalThis.layerpro;
52
+ var p = "4.1.0", l = globalThis.layerpro;
53
53
 
54
- Object.defineProperty(a, "version", {
54
+ Object.defineProperty(l, "version", {
55
55
  value: () => p,
56
56
  writable: !1,
57
57
  configurable: !1
58
58
  });
59
59
 
60
- 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) => {
60
+ var c = new WeakMap, a = new WeakMap, d = e => "string" == typeof e ? document.querySelector(e) ?? document : e instanceof HTMLElement || e && "function" == typeof e.querySelector ? 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) => {
61
61
  const i = e => o(e), r = n?.ns ? `${t}.${n.ns}` : t;
62
62
  e.addEventListener(t, i, n);
63
- let s = l.get(e);
64
- s || (s = new Map, l.set(e, s)), s.set(r, {
63
+ let s = c.get(e);
64
+ s || (s = new Map, c.set(e, s)), s.set(r, {
65
65
  handler: i,
66
66
  opts: n ?? {}
67
67
  });
68
68
  }, f = (e, t, o) => {
69
- const n = l.get(e);
69
+ const n = c.get(e);
70
70
  if (n) {
71
71
  if (o?.ns) {
72
72
  const i = `${t}.${o.ns}`, r = n.get(i);
@@ -80,15 +80,15 @@ var l = new WeakMap, c = new WeakMap, d = e => "string" == typeof e ? document.q
80
80
  t(this, "el"), this.el = e;
81
81
  }
82
82
  append(t) {
83
- return t instanceof e ? this.el.appendChild(t.el) : "string" == typeof t ? this.el.appendChild(document.createTextNode(t)) : this.el.appendChild(t),
83
+ return t instanceof e ? this.el.appendChild(t.el) : "string" == typeof t ? this.el.appendChild(this.el.ownerDocument.createTextNode(t)) : this.el.appendChild(t),
84
84
  this;
85
85
  }
86
86
  appendTo(t) {
87
87
  let o;
88
- if (t instanceof e) o = t.el; else {
89
- const e = d(t);
90
- o = e === document ? document.body : e;
91
- }
88
+ if (t instanceof e) o = t.el; else if ("string" == typeof t) {
89
+ const e = this.el.ownerDocument;
90
+ o = "body" === t ? e.body ?? e.documentElement : "html" === t ? e.documentElement : e.querySelector(t) ?? e.body ?? e.documentElement;
91
+ } else o = t;
92
92
  return o.appendChild(this.el), this;
93
93
  }
94
94
  html(e) {
@@ -128,7 +128,9 @@ var l = new WeakMap, c = new WeakMap, d = e => "string" == typeof e ? document.q
128
128
  }
129
129
  isHidden() {
130
130
  const e = this.el;
131
- return !!e.classList.contains("lp_hidden") || ("none" === getComputedStyle(e).display || 0 === e.offsetWidth && 0 === e.offsetHeight);
131
+ if (e.classList.contains("lp_hidden")) return !0;
132
+ const t = e.ownerDocument.defaultView;
133
+ return !(!t || "none" !== t.getComputedStyle(e).display) || 0 === e.offsetWidth && 0 === e.offsetHeight;
132
134
  }
133
135
  attr(e, t) {
134
136
  return void 0 === t ? this.el.getAttribute(e) : (this.el.setAttribute(e, t), this);
@@ -144,6 +146,9 @@ var l = new WeakMap, c = new WeakMap, d = e => "string" == typeof e ? document.q
144
146
  const o = this.el.closest(t);
145
147
  return o ? new e(o) : null;
146
148
  }
149
+ children() {
150
+ return [ ...this.el.children ].map(t => new e(t));
151
+ }
147
152
  parent() {
148
153
  return this.el.parentElement ? new e(this.el.parentElement) : null;
149
154
  }
@@ -163,18 +168,18 @@ var l = new WeakMap, c = new WeakMap, d = e => "string" == typeof e ? document.q
163
168
  return f(this.el, e, t), this;
164
169
  }
165
170
  data(e, t) {
166
- let o = c.get(this.el);
167
- return o || (o = new Map, c.set(this.el, o)), void 0 === t ? o.get(e) : (o.set(e, t),
171
+ let o = a.get(this.el);
172
+ return o || (o = new Map, a.set(this.el, o)), void 0 === t ? o.get(e) : (o.set(e, t),
168
173
  this);
169
174
  }
170
175
  removeData(e) {
171
- return c.get(this.el)?.delete(e), this;
176
+ return a.get(this.el)?.delete(e), this;
172
177
  }
173
178
  offset() {
174
- const e = this.el.getBoundingClientRect();
179
+ const e = this.el.getBoundingClientRect(), t = this.el.ownerDocument.defaultView;
175
180
  return {
176
- top: e.top + (window.scrollY || 0),
177
- left: e.left + (window.scrollX || 0)
181
+ top: e.top + (t?.scrollY || 0),
182
+ left: e.left + (t?.scrollX || 0)
178
183
  };
179
184
  }
180
185
  position() {
@@ -225,272 +230,120 @@ var l = new WeakMap, c = new WeakMap, d = e => "string" == typeof e ? document.q
225
230
  }, r = e => {
226
231
  e.target === o && i();
227
232
  };
228
- o.addEventListener("transitionend", r), window.setTimeout(i, e + 60);
233
+ o.addEventListener("transitionend", r);
234
+ (o.ownerDocument.defaultView ?? window).setTimeout(i, e + 60);
235
+ }
236
+ }, g = e => {
237
+ const t = e;
238
+ if (!t.open) {
239
+ if ("function" == typeof t.show) try {
240
+ return void t.show();
241
+ } catch {}
242
+ t.setAttribute("open", "");
243
+ }
244
+ }, b = e => {
245
+ const t = e;
246
+ if (t.open) {
247
+ if ("function" == typeof t.close) try {
248
+ return void t.close();
249
+ } catch {}
250
+ t.removeAttribute("open");
229
251
  }
230
252
  };
231
253
 
232
- function b(e, t) {
254
+ function v(e, t) {
233
255
  const o = d(t).querySelector(e);
234
256
  return o ? new _(o) : null;
235
257
  }
236
258
 
237
- function g(e, t) {
259
+ function w(e, t) {
238
260
  return [ ...d(t).querySelectorAll(e) ].map(e => new _(e));
239
261
  }
240
262
 
241
- var v = e => {
242
- const t = document.createElement("div");
243
- t.innerHTML = e.trim();
244
- const o = t.firstElementChild;
245
- return new _(o);
246
- }, y = {
247
- on(e, t, o) {
248
- m(document, e, t, o);
263
+ var y = (e, t) => {
264
+ const o = (t ?? document).createElement("div");
265
+ o.innerHTML = e.trim();
266
+ const n = o.firstElementChild;
267
+ return new _(n);
268
+ }, z = {
269
+ on(e, t, o, n) {
270
+ m(n ?? document, e, t, o);
249
271
  },
250
- off(e, t) {
251
- f(document, e, t);
272
+ off(e, t, o) {
273
+ f(o ?? document, e, t);
252
274
  }
253
- }, w = {
254
- on(e, t, o) {
255
- m(window, e, t, o);
275
+ }, $ = {
276
+ on(e, t, o, n) {
277
+ m(n ?? window, e, t, o);
256
278
  },
257
- off(e, t) {
258
- f(window, e, t);
279
+ off(e, t, o) {
280
+ f(o ?? window, e, t);
281
+ },
282
+ height: e => (e ?? window).innerHeight,
283
+ width: e => (e ?? window).innerWidth,
284
+ scrollTop(e) {
285
+ const t = e ?? window;
286
+ return t.scrollY || t.document?.documentElement.scrollTop || 0;
259
287
  },
260
- height: () => window.innerHeight,
261
- width: () => window.innerWidth,
262
- scrollTop: () => window.scrollY || document.documentElement.scrollTop || 0,
263
- scrollLeft: () => window.scrollX || document.documentElement.scrollLeft || 0
264
- }, z = new Map, $ = new WeakSet, k = new Map, x = e => {
265
- e ? Array.from(document.body.children).forEach(e => {
288
+ scrollLeft(e) {
289
+ const t = e ?? window;
290
+ return t.scrollX || t.document?.documentElement.scrollLeft || 0;
291
+ }
292
+ }, k = new Map, S = new WeakMap, x = new WeakSet, C = new Map, E = (e, t) => {
293
+ const o = t ?? document;
294
+ o.body && (e ? Array.from(o.body.children).forEach(e => {
266
295
  "popup" !== e.id && "popup_dock" !== e.id && (e.setAttribute("aria-hidden", "true"),
267
- $.add(e));
268
- }) : Array.from(document.body.children).forEach(e => {
269
- $.has(e) && (e.removeAttribute("aria-hidden"), $.delete(e));
270
- });
271
- }, S = () => {
272
- const e = z.get("__lastActive__");
273
- e && "function" == typeof e.focus && e.focus(), z.delete("__lastActive__");
274
- }, C = e => {
275
- const t = k.get(e);
276
- t && (t.el.removeEventListener("keydown", t.handler), k.delete(e));
277
- }, L = x, E = () => {
278
- const e = document.activeElement;
279
- z.set("__lastActive__", e);
280
- }, T = (e, t) => {
281
- const o = e => {
282
- const o = e;
283
- if ("Tab" !== o.key) return;
284
- const n = t.querySelectorAll('button, [href], input, select, textarea, [tabindex]:not([tabindex="-1"])');
285
- if (0 === n.length) return;
286
- const i = n[0], r = n[n.length - 1];
287
- o.shiftKey ? document.activeElement === i && (e.preventDefault(), r.focus()) : document.activeElement === r && (e.preventDefault(),
288
- i.focus());
296
+ x.add(e));
297
+ }) : Array.from(o.body.children).forEach(e => {
298
+ x.has(e) && (e.removeAttribute("aria-hidden"), x.delete(e));
299
+ }));
300
+ }, L = () => {
301
+ const e = k.get("__lastActive__");
302
+ e && "function" == typeof e.focus && e.focus(), k.delete("__lastActive__");
303
+ }, T = e => {
304
+ const t = C.get(e);
305
+ t && (t.el.removeEventListener("keydown", t.handler), C.delete(e));
306
+ }, M = E, A = e => {
307
+ const t = e ?? document, o = t.activeElement;
308
+ S.set(t, o), k.set("__lastActive__", o);
309
+ }, P = (e, t) => {
310
+ const o = t.ownerDocument, n = e => {
311
+ const n = e;
312
+ if ("Tab" !== n.key) return;
313
+ const i = t.querySelectorAll('button, [href], input, select, textarea, [tabindex]:not([tabindex="-1"])');
314
+ if (0 === i.length) return;
315
+ const r = i[0], s = i[i.length - 1];
316
+ n.shiftKey ? o.activeElement === r && (e.preventDefault(), s.focus()) : o.activeElement === s && (e.preventDefault(),
317
+ r.focus());
289
318
  };
290
- k.set(e, {
319
+ C.set(e, {
291
320
  el: t,
292
- handler: o
293
- }), t.addEventListener("keydown", o, !0);
294
- }, M = e => {
295
- C(e), S(), x(!1);
296
- }, A = "layerpro-dock", P = () => {
297
- document.documentElement?.classList.remove(A), document.body?.classList.remove(A);
298
- }, N = {
321
+ handler: n
322
+ }), t.addEventListener("keydown", n, !0);
323
+ }, V = (e, t) => {
324
+ T(e), L(), E(!1, t);
325
+ }, N = "layerpro-dock", O = e => {
326
+ const t = e ?? document;
327
+ t.documentElement?.classList.remove(N), t.body?.classList.remove(N);
328
+ }, H = {
299
329
  "&": "&",
300
330
  "<": "&lt;",
301
331
  ">": "&gt;",
302
332
  '"': "&quot;",
303
333
  "'": "&#39;"
304
- }, O = e => e.replace(/[&<>"']/g, e => N[e]), I = new Map, V = new Map, H = e => {
305
- if ("function" == typeof e.body) return;
306
- const t = !0 === e.modal ? ".popup_modal_" + e.id : "#popup";
307
- g('[class^="popup_window_"]', t).forEach(e => e.removeClass("zHigh")), g('[class^="popup_bar_"]', t).forEach(e => e.removeClass("popup_bar_selected")),
308
- 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),
309
- 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", () => {
310
- layerpro.popup.index(e);
311
- }).hide().fadeIn(e.fadeIn);
312
- const o = v(`<div class="popup_window_${e.id} popup_window">`).appendTo(`.popup_overflow_${e.id}`).addClass("zHigh").addClass(e.class);
313
- o.attr("role", "dialog"), o.attr("tabindex", "-1"), o.attr("aria-modal", !0 === e.modal ? "true" : "false"),
314
- e.name && o.attr("aria-label", String(e.name)), L(!0), E(), T(String(e.id), o.el),
315
- "function" == typeof requestAnimationFrame ? requestAnimationFrame(() => o.el.focus()) : o.el.focus();
316
- const n = [ e.top, e.left, e.bottom, e.right ].reduce((e, t) => "number" == typeof t && isFinite(t) ? Number(e) + t : e, 0);
317
- if (!0 === e.center || 0 === n) {
318
- const t = g('[class^="popup_overflow_"]', "#popup").length, o = 20 * Math.max(0, t - 1);
319
- layerpro.popup.center(e, o);
320
- }
321
- layerpro.popup.unmount = e => {
322
- import("layerpro/react").then(t => {
323
- const o = t.default;
324
- o.unmount && o.unmount(String(e));
325
- }).catch(() => {});
326
- }, layerpro.popup.cleanupEvents = e => {
327
- const t = V.get(e);
328
- t && (t.iconClick && b(`.icon_${e}`, "#popup_dock")?.off("click"), t.iconClose && b(`.icon_close_${e}`, "#popup_dock")?.off("click"),
329
- t.buttonIconize && b(`.button_iconize_${e}`)?.off("click"), t.buttonMaximize && b(`.button_maximize_${e}`)?.off("click"),
330
- t.buttonClose && b(`.button_close_${e}`)?.off("click"), t.escKey && y.off("keydown", {
331
- ns: `esc-${e}`
332
- }), V.delete(e));
333
- }, layerpro.popup.abortSource = e => {
334
- const t = I.get(e);
335
- t && (t.abort(), I.delete(e));
336
- }, layerpro.popup.destroy = e => {
337
- layerpro.popup.abortSource(e), layerpro.popup.cleanupEvents(e), L(!1);
338
- const t = document.querySelector(`.popup_window_${e}`);
339
- t && t.remove();
340
- }, v(`<div class="popup_bar_${e.id} popup_bar">`).appendTo(o).addClass("popup_bar_selected"),
341
- e.icon && v(`<div class="popup_icon_${e.id} popup_icon">${e.icon}</div>`).appendTo(`.popup_bar_${e.id}`);
342
- const i = O(String(e.name));
343
- if (v(`<div class="popup_drag_${e.id} popup_drag">${i}</div>`).appendTo(`.popup_bar_${e.id}`),
344
- v(`<div class="popup_option_${e.id} popup_option">`).appendTo(`.popup_bar_${e.id}`),
345
- !0 === e.iconize && !b("#popup_dock")) {
346
- 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),
347
- document.documentElement?.classList.add(A), document.body?.classList.add(A);
348
- }
349
- if (b("#popup_dock") && !0 === e.dockable) {
350
- 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 = () => {
351
- const t = b(".popup_overflow_" + e.id, "#popup");
352
- t && t.data("iconize") ? (layerpro.popup.index(e), layerpro.popup.iconize(e)) : layerpro.popup.iconize(e),
353
- layerpro.popup.index(e);
354
- }, r = t => {
355
- t?.stopPropagation(), e?.buttons?.cancel?.cb && e?.buttons?.cancel?.cb(), layerpro.popup.close(e);
356
- };
357
- V.set(t, {
358
- iconClick: !0,
359
- iconClose: !0
360
- }), v(o).appendTo("#popup_dock_list").addClass("popup_bar_selected").on("click", n),
361
- v(`<button class="icon_close_${e.id}">X</button>`).appendTo(`.icon_${e.id}`).on("click", r);
362
- }
363
- if (!0 === e.iconize) {
364
- const t = String(e.id), o = () => {
365
- layerpro.popup.iconize(e);
366
- }, n = V.get(t) || {};
367
- n.buttonIconize = !0, V.set(t, n), v(`<button class="button_iconize_${e.id} iconize">`).appendTo(`.popup_option_${e.id}`).on("click", o);
368
- }
369
- if (!0 === e.maximize) {
370
- const t = String(e.id), o = () => {
371
- layerpro.popup.maximize(e);
372
- }, n = V.get(t) || {};
373
- n.buttonMaximize = !0, V.set(t, n), v(`<button class="button_maximize_${e.id} maximize">`).appendTo(`.popup_option_${e.id}`).on("click", o);
374
- }
375
- if (!0 === e.close) {
376
- const t = String(e.id), o = () => {
377
- e?.buttons?.cancel?.cb && e?.buttons?.cancel?.cb(), layerpro.popup.close(e);
378
- }, n = V.get(t) || {};
379
- n.buttonClose = !0, V.set(t, n), v(`<button class="button_close_${e.id} close">`).appendTo(`.popup_option_${e.id}`).on("click", o);
380
- }
381
- const r = String(e.id), s = V.get(r) || {};
382
- if (s.escKey = !0, V.set(r, s), y.on("keydown", t => {
383
- const o = t;
384
- "Escape" !== o.key && 27 !== o.keyCode || (e?.buttons?.cancel?.cb && e?.buttons?.cancel?.cb(),
385
- layerpro.popup.close(e));
386
- }, {
387
- ns: `esc-${r}`
388
- }), e.timer > 0) {
389
- const t = {};
390
- t[String(`st_${e.id}`)] = setTimeout(() => {
391
- layerpro.popup.close(e), clearTimeout(t[String(`st_${e.id}`)]);
392
- }, e.timer);
393
- }
394
- e.movable && layerpro.popup.movable(e), e.resizable && layerpro.popup.resizable(e),
395
- e.isMaximize && layerpro.popup.maximize(e), v(`<div class="popup_internal_${e.id} popup_internal">`).appendTo(o),
396
- v(`<div class="popup_body_${e.id} popup_body">`).appendTo(`.popup_internal_${e.id}`).hide().fadeIn(e.fadeIn, () => {
397
- W(e), j(e), R(e);
398
- });
399
- }, W = e => {
400
- if (!e.source) return;
401
- const t = b(`.popup_body_${e.id}`), o = String(e.source);
402
- let n;
403
- try {
404
- n = new URL(o, window.location.origin);
405
- } catch {
406
- return;
407
- }
408
- if (n.origin !== window.location.origin) return;
409
- const i = new AbortController;
410
- I.set(String(e.id), i), fetch(o, {
411
- mode: "same-origin",
412
- signal: i.signal
413
- }).then(e => {
414
- if ((e.headers.get("content-type") || "").includes("text/html"), !e.ok) throw new Error(`HTTP error! status: ${e.status}`);
415
- return e.text();
416
- }).then(o => {
417
- I.get(String(e.id)) && !i.signal.aborted && t?.hide().html(o).fadeIn(e.fadeIn);
418
- }).catch(e => {
419
- e.name;
420
- });
421
- }, j = e => {
422
- if (e.body && !e.source) {
423
- const t = e.body;
424
- if ("object" == typeof t && null !== t && void 0 !== t.type && "object" == typeof t.props && null !== t.props) {
425
- const t = document.querySelector(".popup_body_" + e.id);
426
- if (!t) return;
427
- "function" == typeof layerpro.popup.useReactAdapter ? layerpro.popup.useReactAdapter(e, t) : import("layerpro/react").then(o => {
428
- const n = o.default;
429
- n && n(e, t);
430
- }).catch(e => {});
431
- } else if ("string" == typeof e.body && e.body.trim().startsWith("<")) {
432
- const t = O(e.body);
433
- b(`.popup_body_${e.id}`)?.html(t).fadeIn(e.fadeIn);
434
- } else {
435
- const t = O(String(e.body));
436
- b(`.popup_body_${e.id}`)?.text(t).fadeIn(e.fadeIn);
437
- }
438
- }
439
- }, R = e => {
440
- if (e.buttons) {
441
- if (v('<div class="buttons"></div>').appendTo(`.popup_body_${e.id}`), e.buttons.confirm) {
442
- 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`);
443
- e.buttons.confirm.cb && o.on("click", () => {
444
- e.buttons?.confirm?.cb?.(), layerpro.popup.close(e);
445
- });
446
- }
447
- if (e.buttons.cancel) {
448
- const t = O(e.buttons.cancel.text.toUpperCase());
449
- v(`<button id="lp_cancel" type="button">\n ${t}\n </button>`).appendTo(`.popup_body_${e.id} .buttons`).on("click", () => {
450
- e.buttons?.cancel?.cb?.(), layerpro.popup.close(e);
451
- });
452
- }
453
- }
454
- }, q = () => "undefined" != typeof window && window.matchMedia("(max-width: 1024px)").matches, D = () => {
455
- if (!0 === window.__FORCE_TOUCH_MODE__) return "touch";
456
- const e = (() => {
457
- if ("undefined" == typeof navigator) return !1;
458
- const e = navigator.userAgent;
459
- return /Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i.test(e);
460
- })() || q();
461
- return ("ontouchstart" in window || navigator.maxTouchPoints > 0) && e ? "touch" : "mouse";
462
- }, B = D(), X = !q(), Y = null;
463
-
464
- if ("undefined" != typeof window) {
465
- const e = window.matchMedia("(max-width: 1024px)"), t = () => {
466
- const e = D(), t = B, o = !q();
467
- B = e, X !== o && (X = o, Y && Y(e, t));
468
- };
469
- let o;
470
- e.addListener ? e.addListener(t) : e.addEventListener("change", t), window.addEventListener("resize", () => {
471
- clearTimeout(o), o = setTimeout(t, 150);
472
- });
473
- }
474
-
475
- var U = e => {
476
- const t = e;
477
- return void 0 !== t.clientX ? t.clientX : t.touches && t.touches.length > 0 ? t.touches[0].clientX : 0;
478
- }, K = e => {
479
- const t = e;
480
- return void 0 !== t.clientY ? t.clientY : t.touches && t.touches.length > 0 ? t.touches[0].clientY : 0;
481
- }, F = e => `layerpro:geometry:${e}`, J = e => `layerpro:native:${e}`, G = () => {
334
+ }, I = e => e.replace(/[&<>"']/g, e => H[e]), W = e => `layerpro:geometry:${e}`, j = e => `layerpro:native:${e}`, q = () => {
482
335
  try {
483
336
  return "undefined" == typeof localStorage ? null : localStorage;
484
337
  } catch {
485
338
  return null;
486
339
  }
487
- }, Q = (e, t) => {
488
- const o = G();
340
+ }, D = (e, t) => {
341
+ const o = q();
489
342
  if (o) try {
490
343
  o.setItem(e, JSON.stringify(t));
491
344
  } catch {}
492
- }, Z = e => {
493
- const t = G();
345
+ }, R = e => {
346
+ const t = q();
494
347
  if (!t) return null;
495
348
  try {
496
349
  const o = t.getItem(e);
@@ -500,53 +353,55 @@ var U = e => {
500
353
  } catch {
501
354
  return null;
502
355
  }
503
- }, 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) => {
504
- const o = String(e.id), n = !0 === e.persist ? (e => Z(J(e)))(o) : null, i = ((e, t) => {
356
+ }, X = [ "--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" ], Y = new Map, B = (e, t) => {
357
+ const o = String(e.id), n = !0 === e.persist ? (e => R(j(e)))(o) : null, i = ((e, t) => {
505
358
  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" ];
506
359
  return void 0 !== i && s.push(`left=${Math.round(i)}`), void 0 !== r && s.push(`top=${Math.round(r)}`),
507
360
  s.join(",");
508
361
  })(e, n), r = window.open("", `layerpro_${o}`, i);
509
362
  if (!r) return null;
510
363
  const s = r.document;
511
- s.open(), s.write(`<!DOCTYPE html><html><head><meta charset="utf-8"><title>${O(String(e.name ?? "LayerPro"))}</title><style>${(() => {
364
+ s.open(), s.write(`<!DOCTYPE html><html><head><meta charset="utf-8"><title>${I(String(e.name ?? "LayerPro"))}</title><style>${(() => {
512
365
  const e = document.querySelector("style[data-layerpro-styles]");
513
366
  return e?.textContent ?? "";
514
367
  })()}</style><style>:root{${(() => {
515
368
  const e = getComputedStyle(document.documentElement), t = [];
516
- for (const o of ee) {
369
+ for (const o of X) {
517
370
  const n = e.getPropertyValue(o);
518
371
  n && t.push(`${o}:${n.trim()};`);
519
372
  }
520
373
  return t.join("");
521
374
  })()}}html,body{margin:0;padding:0;height:100%;overflow:hidden}</style></head><body>${(e => {
522
- const t = String(e.id), o = O(String(e.name ?? "")), n = e.icon ? O(String(e.icon)) : "", i = [];
375
+ const t = String(e.id), o = I(String(e.name ?? "")), n = e.icon ? I(String(e.icon)) : "", i = [];
523
376
  return !0 === e.maximize && i.push(`<button class="button_maximize_${t} maximize"></button>`),
524
- !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 `;
377
+ !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 <dialog 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 </dialog>\n </div>\n </div>\n `;
525
378
  })(e)}</body></html>`), s.close();
526
379
  const p = s.querySelector(`.popup_overflow_${o}`);
527
380
  p && (p.style.setProperty("--lp-top", "0"), p.style.setProperty("--lp-left", "0"),
528
381
  p.style.setProperty("--lp-width", "100%"), p.style.setProperty("--lp-height", "100%"));
529
- const a = s.querySelector(`.popup_body_${o}`);
530
- a && (a.innerHTML = (e => {
382
+ const l = s.querySelector(`.popup_window_${o}`);
383
+ l && g(l);
384
+ const c = s.querySelector(`.popup_body_${o}`);
385
+ c && (c.innerHTML = (e => {
531
386
  const t = e.body;
532
- return "string" != typeof t ? "" : (t.trim().startsWith("<"), O(t));
387
+ return "string" != typeof t ? "" : (t.trim().startsWith("<"), I(t));
533
388
  })(e) + (e => {
534
389
  if (!e.buttons) return "";
535
390
  const t = [ '<div class="buttons">' ];
536
- return e.buttons.confirm && t.push(`<button id="lp_confirm" type="button">${O(String(e.buttons.confirm.text).toUpperCase())}</button>`),
537
- e.buttons.cancel && t.push(`<button id="lp_cancel" type="button">${O(String(e.buttons.cancel.text).toUpperCase())}</button>`),
391
+ return e.buttons.confirm && t.push(`<button id="lp_confirm_${id}" class="lp_confirm" type="button">${I(String(e.buttons.confirm.text).toUpperCase())}</button>`),
392
+ e.buttons.cancel && t.push(`<button id="lp_cancel_${id}" class="lp_cancel" type="button">${I(String(e.buttons.cancel.text).toUpperCase())}</button>`),
538
393
  t.push("</div>"), t.join("");
539
394
  })(e));
540
- const l = s.getElementById("lp_confirm");
541
- l?.addEventListener("click", () => {
395
+ const a = s.querySelector(".lp_confirm");
396
+ a?.addEventListener("click", () => {
542
397
  e.buttons?.confirm?.cb?.(), r.close();
543
398
  });
544
- const c = s.getElementById("lp_cancel");
545
- c?.addEventListener("click", () => {
399
+ const d = s.querySelector(".lp_cancel");
400
+ d?.addEventListener("click", () => {
546
401
  e.buttons?.cancel?.cb?.(), r.close();
547
402
  });
548
- const d = s.querySelector(`.button_close_${o}`);
549
- d?.addEventListener("click", () => {
403
+ const u = s.querySelector(`.button_close_${o}`);
404
+ u?.addEventListener("click", () => {
550
405
  e.buttons?.cancel?.cb?.(), r.close();
551
406
  }), s.addEventListener("keydown", t => {
552
407
  const o = t;
@@ -568,10 +423,10 @@ var U = e => {
568
423
  }
569
424
  }, 400);
570
425
  })(r);
571
- const u = () => {
426
+ const h = () => {
572
427
  if (!0 === e.persist) try {
573
428
  ((e, t) => {
574
- Q(J(e), t);
429
+ D(j(e), t);
575
430
  })(o, {
576
431
  screenX: r.screenX,
577
432
  screenY: r.screenY,
@@ -579,24 +434,254 @@ var U = e => {
579
434
  outerHeight: r.outerHeight
580
435
  });
581
436
  } catch {}
582
- }, h = window.setInterval(() => {
583
- r.closed && (window.clearInterval(h), u(), te.delete(o), t?.());
584
- }, 400), m = {
437
+ }, m = window.setInterval(() => {
438
+ r.closed && (window.clearInterval(m), h(), Y.delete(o), t?.());
439
+ }, 400), f = {
585
440
  win: r,
586
441
  id: o,
587
442
  close: () => {
588
- window.clearInterval(h), u(), te.delete(o);
443
+ window.clearInterval(m), h(), Y.delete(o);
589
444
  try {
590
445
  r.close();
591
446
  } catch {}
592
447
  t?.();
593
448
  }
594
449
  };
595
- return te.set(o, m), m;
596
- }, 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 = {
450
+ return Y.set(o, f), f;
451
+ }, U = new Map, K = () => ({
452
+ win: window,
453
+ doc: document
454
+ }), F = () => {
455
+ const e = [ K() ];
456
+ for (const t of U.values()) e.includes(t) || e.push(t);
457
+ return e;
458
+ }, J = e => U.get(String(e)) ?? K(), G = e => Z(e?.target) ?? K(), Q = e => {
459
+ try {
460
+ return e.document ?? null;
461
+ } catch {
462
+ return null;
463
+ }
464
+ }, Z = e => {
465
+ if (null == e) return K();
466
+ if ("string" == typeof e || "number" == typeof e) {
467
+ const o = (t = e, Y.get(String(t)));
468
+ if (!o) return null;
469
+ const n = Q(o.win);
470
+ return n ? {
471
+ win: o.win,
472
+ doc: n
473
+ } : null;
474
+ }
475
+ var t;
476
+ if ("doc" in e && "win" in e) {
477
+ const t = e;
478
+ return t.doc ? t : null;
479
+ }
480
+ const o = e, n = Q(o);
481
+ return n ? {
482
+ win: o,
483
+ doc: n
484
+ } : null;
485
+ }, ee = new Map, te = new Map, oe = (e, t = G(e)) => {
486
+ if ("function" == typeof e.body) return;
487
+ const o = !0 === e.modal ? ".popup_modal_" + e.id : "#popup", n = () => {
488
+ e.buttons?.cancel?.cb?.(), layerpro.popup.close(e);
489
+ };
490
+ w('[class^="popup_window_"]', t.doc).forEach(e => e.removeClass("zHigh")), w('[class^="popup_bar_"]', t.doc).forEach(e => e.removeClass("popup_bar_selected")),
491
+ w('[class^="icon_"]', t.doc).forEach(e => e.removeClass("popup_bar_selected")),
492
+ !0 === e.modal && y(`<div class="popup_modal_${e.id} popup_modal">`, t.doc).appendTo("#popup").cssVar("--lp-z-index", layerpro.popup.zIndex(t) + 1e3),
493
+ y(`<div class="popup_overflow_${e.id} popup_overflow">`, t.doc).appendTo(o).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(t)).on("pointerdown", () => {
494
+ layerpro.popup.index(e);
495
+ }).hide().fadeIn(e.fadeIn);
496
+ const i = y(`<dialog class="popup_window_${e.id} popup_window">`, t.doc).appendTo(`.popup_overflow_${e.id}`).addClass("zHigh").addClass(e.class);
497
+ g(i.el), i.attr("role", "dialog"), i.attr("tabindex", "-1"), i.attr("aria-modal", !0 === e.modal ? "true" : "false"),
498
+ e.name && i.attr("aria-label", String(e.name)), M(!0, t.doc), A(t.doc), P(String(e.id), i.el),
499
+ "function" == typeof requestAnimationFrame ? requestAnimationFrame(() => i.el.focus()) : i.el.focus();
500
+ const r = [ e.top, e.left, e.bottom, e.right ].reduce((e, t) => "number" == typeof t && isFinite(t) ? Number(e) + t : e, 0);
501
+ if (!0 === e.center || 0 === r) {
502
+ const o = w('[class^="popup_overflow_"]', t.doc).length, n = 20 * Math.max(0, o - 1);
503
+ layerpro.popup.center(e, n);
504
+ }
505
+ layerpro.popup.unmount = e => {
506
+ import("layerpro/react").then(t => {
507
+ const o = t.default;
508
+ o.unmount && o.unmount(String(e));
509
+ }).catch(() => {});
510
+ }, layerpro.popup.cleanupEvents = e => {
511
+ const o = te.get(e);
512
+ o && (o.iconClick && v(`.icon_${e}`, t.doc)?.off("click"), o.iconClose && v(`.icon_close_${e}`, t.doc)?.off("click"),
513
+ o.buttonIconize && v(`.button_iconize_${e}`, t.doc)?.off("click"), o.buttonMaximize && v(`.button_maximize_${e}`, t.doc)?.off("click"),
514
+ o.buttonClose && v(`.button_close_${e}`, t.doc)?.off("click"), o.escKey && z.off("keydown", {
515
+ ns: `esc-${e}`
516
+ }, t.doc), te.delete(e));
517
+ }, layerpro.popup.abortSource = e => {
518
+ const t = ee.get(e);
519
+ t && (t.abort(), ee.delete(e));
520
+ }, layerpro.popup.destroy = e => {
521
+ layerpro.popup.abortSource(e), layerpro.popup.cleanupEvents(e), M(!1, t.doc);
522
+ const o = t.doc.querySelector(`.popup_window_${e}`);
523
+ o && (b(o), o.remove());
524
+ }, y(`<div class="popup_bar_${e.id} popup_bar">`, t.doc).appendTo(i).addClass("popup_bar_selected"),
525
+ e.icon && y(`<div class="popup_icon_${e.id} popup_icon">${e.icon}</div>`, t.doc).appendTo(`.popup_bar_${e.id}`);
526
+ const s = I(String(e.name));
527
+ if (y(`<div class="popup_drag_${e.id} popup_drag">${s}</div>`, t.doc).appendTo(`.popup_bar_${e.id}`),
528
+ y(`<div class="popup_option_${e.id} popup_option">`, t.doc).appendTo(`.popup_bar_${e.id}`),
529
+ !0 === e.iconize && !v("#popup_dock", t.doc)) {
530
+ y('\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 ', t.doc).appendTo("html").cssVar("--lp-z-index", layerpro.popup.zIndex(t) + 1e3),
531
+ (e => {
532
+ const t = e ?? document;
533
+ t.documentElement?.classList.add(N), t.body?.classList.add(N);
534
+ })(t.doc);
535
+ }
536
+ if (v("#popup_dock", t.doc) && !0 === e.dockable) {
537
+ const o = String(e.id), i = `\n <div class="icon_${e.id}">\n <span>${e.icon ? e.icon : ""}</span>\n <span>${s}</span>\n </div>\n `, r = () => {
538
+ const o = v(".popup_overflow_" + e.id, t.doc);
539
+ o && o.data("iconize") ? (layerpro.popup.index(e), layerpro.popup.iconize(e)) : (layerpro.popup.iconize(e),
540
+ layerpro.popup.index(e));
541
+ }, p = e => {
542
+ e?.stopPropagation(), n();
543
+ };
544
+ te.set(o, {
545
+ iconClick: !0,
546
+ iconClose: !0
547
+ }), y(i, t.doc).appendTo("#popup_dock_list").addClass("popup_bar_selected").on("click", r),
548
+ y(`<button class="icon_close_${e.id}">X</button>`, t.doc).appendTo(`.icon_${e.id}`).on("click", p);
549
+ }
550
+ if (!0 === e.iconize) {
551
+ const o = String(e.id), n = () => {
552
+ layerpro.popup.iconize(e);
553
+ }, i = te.get(o) || {};
554
+ i.buttonIconize = !0, te.set(o, i), y(`<button class="button_iconize_${e.id} iconize">`, t.doc).appendTo(`.popup_option_${e.id}`).on("click", n);
555
+ }
556
+ if (!0 === e.maximize) {
557
+ const o = String(e.id), n = () => {
558
+ layerpro.popup.maximize(e);
559
+ }, i = te.get(o) || {};
560
+ i.buttonMaximize = !0, te.set(o, i), y(`<button class="button_maximize_${e.id} maximize">`, t.doc).appendTo(`.popup_option_${e.id}`).on("click", n);
561
+ }
562
+ if (!0 === e.close) {
563
+ const o = String(e.id), i = () => {
564
+ n();
565
+ }, r = te.get(o) || {};
566
+ r.buttonClose = !0, te.set(o, r), y(`<button class="button_close_${e.id} close">`, t.doc).appendTo(`.popup_option_${e.id}`).on("click", i);
567
+ }
568
+ const p = String(e.id), l = te.get(p) || {};
569
+ if (l.escKey = !0, te.set(p, l), z.on("keydown", e => {
570
+ const t = e;
571
+ "Escape" !== t.key && 27 !== t.keyCode || n();
572
+ }, {
573
+ ns: `esc-${p}`
574
+ }, t.doc), e.timer > 0) {
575
+ const t = {};
576
+ t[String(`st_${e.id}`)] = setTimeout(() => {
577
+ layerpro.popup.close(e), clearTimeout(t[String(`st_${e.id}`)]);
578
+ }, e.timer);
579
+ }
580
+ e.movable && layerpro.popup.movable(e), e.resizable && layerpro.popup.resizable(e),
581
+ e.isMaximize && layerpro.popup.maximize(e), y(`<div class="popup_internal_${e.id} popup_internal">`, t.doc).appendTo(i),
582
+ y(`<div class="popup_body_${e.id} popup_body">`, t.doc).appendTo(`.popup_internal_${e.id}`).hide().fadeIn(e.fadeIn, () => {
583
+ ne(e, t), ie(e, t), re(e, t);
584
+ });
585
+ }, ne = (e, t = G(e)) => {
586
+ if (!e.source) return;
587
+ const o = v(`.popup_body_${e.id}`, t.doc), n = String(e.source);
588
+ let i;
589
+ try {
590
+ i = new URL(n, window.location.origin);
591
+ } catch {
592
+ return;
593
+ }
594
+ if (i.origin !== window.location.origin) return;
595
+ const r = new AbortController;
596
+ ee.set(String(e.id), r), fetch(n, {
597
+ mode: "same-origin",
598
+ signal: r.signal
599
+ }).then(e => {
600
+ if ((e.headers.get("content-type") || "").includes("text/html"), !e.ok) throw new Error(`HTTP error! status: ${e.status}`);
601
+ return e.text();
602
+ }).then(t => {
603
+ ee.get(String(e.id)) && !r.signal.aborted && o?.hide().html(t).fadeIn(e.fadeIn);
604
+ }).catch(e => {
605
+ e.name;
606
+ });
607
+ }, ie = (e, t = G(e)) => {
608
+ if (e.body && !e.source) {
609
+ const o = e.body;
610
+ if ("object" == typeof o && null !== o && void 0 !== o.type && "object" == typeof o.props && null !== o.props) {
611
+ const o = t.doc.querySelector(".popup_body_" + e.id);
612
+ if (!o) return;
613
+ "function" == typeof layerpro.popup.useReactAdapter ? layerpro.popup.useReactAdapter(e, o) : import("layerpro/react").then(t => {
614
+ const n = t.default;
615
+ n && n(e, o);
616
+ }).catch(e => {});
617
+ } else if ("string" == typeof e.body && e.body.trim().startsWith("<")) {
618
+ const o = I(e.body);
619
+ v(`.popup_body_${e.id}`, t.doc)?.html(o).fadeIn(e.fadeIn);
620
+ } else {
621
+ const o = I(String(e.body));
622
+ v(`.popup_body_${e.id}`, t.doc)?.text(o).fadeIn(e.fadeIn);
623
+ }
624
+ }
625
+ }, re = (e, t = G(e)) => {
626
+ if (e.buttons) {
627
+ const o = v(`.popup_internal_${e.id}`, t.doc);
628
+ if (!o) return;
629
+ let n = o.children().find(e => e.hasClass("buttons"));
630
+ if (n ? n.html("") : n = y('<div class="buttons"></div>', t.doc).appendTo(o), e.buttons.confirm) {
631
+ const o = I(e.buttons.confirm.text.toUpperCase()), i = y(`<button id="lp_confirm_${e.id}" class="lp_confirm" type="button">\n ${o}\n </button>`, t.doc).appendTo(n);
632
+ e.buttons.confirm.cb && i.on("click", () => {
633
+ e.buttons?.confirm?.cb?.(), layerpro.popup.close(e);
634
+ });
635
+ }
636
+ if (e.buttons.cancel) {
637
+ const o = I(e.buttons.cancel.text.toUpperCase());
638
+ y(`<button id="lp_cancel_${e.id}" class="lp_cancel" type="button">\n ${o}\n </button>`, t.doc).appendTo(n).on("click", () => {
639
+ e.buttons?.cancel?.cb?.(), layerpro.popup.close(e);
640
+ });
641
+ }
642
+ }
643
+ }, se = () => "undefined" != typeof window && window.matchMedia("(max-width: 1024px)").matches, pe = () => {
644
+ if (!0 === window.__FORCE_TOUCH_MODE__) return "touch";
645
+ const e = (() => {
646
+ if ("undefined" == typeof navigator) return !1;
647
+ const e = navigator.userAgent;
648
+ return /Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i.test(e);
649
+ })() || se();
650
+ return ("ontouchstart" in window || navigator.maxTouchPoints > 0) && e ? "touch" : "mouse";
651
+ }, le = pe(), ce = !se(), ae = null;
652
+
653
+ if ("undefined" != typeof window) {
654
+ const e = window.matchMedia("(max-width: 1024px)"), t = () => {
655
+ const e = pe(), t = le, o = !se();
656
+ le = e, ce !== o && (ce = o, ae && ae(e, t));
657
+ };
658
+ let o;
659
+ e.addListener ? e.addListener(t) : e.addEventListener("change", t), window.addEventListener("resize", () => {
660
+ clearTimeout(o), o = setTimeout(t, 150);
661
+ });
662
+ }
663
+
664
+ var de = e => {
665
+ const t = e;
666
+ return void 0 !== t.clientX ? t.clientX : t.touches && t.touches.length > 0 ? t.touches[0].clientX : 0;
667
+ }, ue = e => {
668
+ const t = e;
669
+ return void 0 !== t.clientY ? t.clientY : t.touches && t.touches.length > 0 ? t.touches[0].clientY : 0;
670
+ }, he = 250, me = 150, fe = !1, _e = 0, ge = new WeakMap, be = new Map, ve = new Map, we = new Map, ye = new Map, ze = new Map, $e = null, ke = (e = K()) => v("body", e.doc), Se = (e, t) => {
671
+ const o = v(".popup_window_" + e, t.doc);
672
+ o && b(o.el);
673
+ }, xe = e => "object" == typeof e && null !== e ? e.id : e, Ce = e => {
674
+ const t = xe(e), o = "object" == typeof e && null !== e ? e.target : void 0;
675
+ if (null != o) {
676
+ const e = Z(o);
677
+ if (e) return e;
678
+ }
679
+ return J(t);
680
+ }, Ee = {
597
681
  open: e => {
598
682
  if (!e) return Promise.reject(new Error("LayerPro: open() requires a props object"));
599
- e.id = e.id ?? "popup_" + ++ae, e.body = e.body ?? "", e.class = e.class ?? "",
683
+ let t = Z(e.target);
684
+ t || (t = K()), e.id = e.id ?? "popup_" + ++_e, e.body = e.body ?? "", e.class = e.class ?? "",
600
685
  e.width = e.width ?? 340, e.height = e.height ?? 220, e.minWidth = e.minWidth ?? 340,
601
686
  e.minHeight = e.minHeight ?? 220, e.name = e.name ?? "popUp_" + e.id, e.source = e.source ?? null,
602
687
  e.icon = e.icon ?? null, e.iconize = e.iconize ?? null, e.maximize = e.maximize ?? null,
@@ -605,351 +690,389 @@ var U = e => {
605
690
  e.store = e.store ?? !1, e.top = e.top ?? "auto", e.left = e.left ?? "auto", e.right = e.right ?? "auto",
606
691
  e.bottom = e.bottom ?? "auto", e.fadeIn = e.fadeIn ?? 100, e.fadeOut = e.fadeOut ?? 100,
607
692
  e.native = e.native ?? !1, e.persist = e.persist ?? !1, e.closeWithOpener = e.closeWithOpener ?? !1,
608
- ne = e.minWidth, ie = e.minHeight, e.width < e.minWidth && (e.width, e.width = e.minWidth),
693
+ he = e.minWidth, me = e.minHeight, e.width < e.minWidth && (e.width, e.width = e.minWidth),
609
694
  e.height < e.minHeight && (e.height, e.height = e.minHeight), "auto" === e.width && (e.width = "100%"),
610
- "auto" === e.height && (e.height = "100%"), b("#popup") || v('<div id="popup">').appendTo("body").cssVar("--lp-z-index", be.zIndex() + 1);
611
- const t = String(e.id);
612
- ue.delete(t), he.set(t, e);
613
- const o = new Promise(e => {
614
- ue.set(t, e);
695
+ "auto" === e.height && (e.height = "100%"), v("#popup", t.doc) || y('<div id="popup">', t.doc).appendTo("body").cssVar("--lp-z-index", Ee.zIndex(t) + 1);
696
+ const o = String(e.id);
697
+ ye.delete(o), ze.set(o, e), ((e, t) => {
698
+ U.set(String(e), t);
699
+ })(o, t);
700
+ const n = new Promise(e => {
701
+ ye.set(o, e);
615
702
  });
616
703
  if (!0 === e.native) {
617
- if (oe(e, () => {
618
- const o = ue.get(t);
619
- o && (o(e), ue.delete(t));
620
- })) return o;
704
+ if (B(e, () => {
705
+ const t = ye.get(o);
706
+ t && (t(e), ye.delete(o));
707
+ })) return n;
621
708
  e.native = !1;
622
709
  }
623
- if (b(".popup_window_" + e.id, "#popup") ? (be.index(e), j(e), R(e)) : H(e), !0 === e.persist) {
624
- const t = (n = String(e.id), Z(F(n)));
625
- t && ((e, t) => {
626
- const o = document.querySelector(`.popup_overflow_${e}`);
627
- !!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`),
628
- void 0 !== t.width && o.style.setProperty("--lp-width", `${t.width}px`), void 0 !== t.height && o.style.setProperty("--lp-height", `${t.height}px`));
629
- })(String(e.id), t);
710
+ if (v(".popup_window_" + e.id, t.doc) ? (Ee.index(e), ie(e, t), re(e, t)) : oe(e, t),
711
+ !0 === e.persist) {
712
+ const o = (i = String(e.id), R(W(i)));
713
+ o && ((e, t, o) => {
714
+ const n = (o ?? document).querySelector(`.popup_overflow_${e}`);
715
+ !!n && (void 0 !== t.top && n.style.setProperty("--lp-top", `${t.top}px`), void 0 !== t.left && n.style.setProperty("--lp-left", `${t.left}px`),
716
+ void 0 !== t.width && n.style.setProperty("--lp-width", `${t.width}px`), void 0 !== t.height && n.style.setProperty("--lp-height", `${t.height}px`));
717
+ })(String(e.id), o, t.doc);
630
718
  }
631
- var n;
632
- return o;
719
+ var i;
720
+ return n;
633
721
  },
634
722
  store: e => {
635
- null != e && de.set(String(Date.now()), e);
723
+ null != e && we.set(String(Date.now()), e);
636
724
  },
637
725
  show: e => {
638
- const t = e instanceof _ ? e : "string" == typeof e ? b(e) : null;
726
+ const t = e instanceof _ ? e : "string" == typeof e ? v(e) : null;
639
727
  t?.toggle();
640
728
  },
641
729
  vfx: (e, t, o = !1) => {
730
+ const n = e instanceof _ ? e : "string" == typeof e ? v(e) : null, i = n?.el.ownerDocument ?? document;
642
731
  setTimeout(() => {
643
- g('[class^="popup_overflow_"]', "#popup").forEach(e => {
732
+ w('[class^="popup_overflow_"]', i).forEach(e => {
644
733
  e.toggleClass("popup_dimmed", !0 !== t), e.find('[class^="popup_body_"]')?.toggleClass("popup_content_hidden", !0 !== t);
645
- });
646
- const n = e instanceof _ ? e : "string" == typeof e ? b(e) : null;
647
- n?.removeClass("popup_dimmed"), !o && n && g('[class^="popup_body_"]', n.el).forEach(e => e.addClass("popup_content_visible"));
734
+ }), n?.removeClass("popup_dimmed"), !o && n && w('[class^="popup_body_"]', n.el).forEach(e => e.addClass("popup_content_visible"));
648
735
  }, 1), dispatchEvent(new Event("layerProResize"));
649
736
  },
650
737
  center: (e, t = 0) => {
651
- const o = b(".popup_overflow_" + _e(e), "#popup");
652
- o && (o.cssVar("--lp-top", Math.max(0, (w.height() - o.outerHeight()) / 2 + w.scrollTop() + t)),
653
- o.cssVar("--lp-left", Math.max(0, (w.width() - o.outerWidth()) / 2 + w.scrollLeft() + t)));
738
+ const o = xe(e), n = Ce(e), i = v(".popup_overflow_" + o, n.doc);
739
+ i && (i.cssVar("--lp-top", Math.max(0, ($.height(n.win) - i.outerHeight()) / 2 + $.scrollTop(n.win) + t)),
740
+ i.cssVar("--lp-left", Math.max(0, ($.width(n.win) - i.outerWidth()) / 2 + $.scrollLeft(n.win) + t)));
654
741
  },
655
- checkArea: e => [ U(e), K(e), w.scrollLeft(), w.scrollTop(), w.height(), w.width() ],
742
+ checkArea: (e, t = K()) => [ de(e), ue(e), $.scrollLeft(t.win), $.scrollTop(t.win), $.height(t.win), $.width(t.win) ],
656
743
  close: e => {
657
744
  let t;
658
745
  if (e) {
659
- t = _e(e);
660
- const n = "object" == typeof e && null !== e ? e : void 0;
661
- if (o = t, te.has(String(o))) return void (e => {
662
- const t = te.get(String(e));
746
+ t = xe(e);
747
+ const n = "object" == typeof e && null !== e ? e : void 0, i = Ce(e);
748
+ if (o = t, Y.has(String(o))) return void (e => {
749
+ const t = Y.get(String(e));
663
750
  !!t && t.close();
664
751
  })(t);
665
- const i = n ?? he.get(String(t));
666
- if (!0 === i?.persist) {
667
- const e = (e => {
668
- const t = document.querySelector(`.popup_overflow_${e}`);
669
- return t ? {
670
- top: t.offsetTop,
671
- left: t.offsetLeft,
672
- width: t.offsetWidth,
673
- height: t.offsetHeight
752
+ const r = n ?? ze.get(String(t));
753
+ if (!0 === r?.persist) {
754
+ const e = ((e, t) => {
755
+ const o = (t ?? document).querySelector(`.popup_overflow_${e}`);
756
+ return o ? {
757
+ top: o.offsetTop,
758
+ left: o.offsetLeft,
759
+ width: o.offsetWidth,
760
+ height: o.offsetHeight
674
761
  } : null;
675
- })(String(t));
762
+ })(String(t), i.doc);
676
763
  e && ((e, t) => {
677
- Q(F(e), t);
764
+ D(W(e), t);
678
765
  })(String(t), e);
679
766
  }
680
767
  layerpro.popup.unmount && layerpro.popup.unmount(String(t)), layerpro.popup.abortSource && layerpro.popup.abortSource(String(t)),
681
- layerpro.popup.cleanupEvents && layerpro.popup.cleanupEvents(String(t)), M(String(t));
682
- const r = ue.get(String(t));
683
- r && (r(n ?? {}), ue.delete(String(t))), he.delete(String(t));
684
- const s = le.get(String(t));
685
- if (s) {
768
+ layerpro.popup.cleanupEvents && layerpro.popup.cleanupEvents(String(t)), V(String(t), i.doc);
769
+ const s = ye.get(String(t));
770
+ s && (s(n ?? {}), ye.delete(String(t))), ze.delete(String(t));
771
+ const p = be.get(String(t));
772
+ if (p) {
686
773
  const e = {
687
774
  passive: !1
688
775
  };
689
- s.move && document.removeEventListener("pointermove", s.move, e), s.up && document.removeEventListener("pointerup", s.up, e),
690
- le.delete(String(t));
776
+ p.move && i.doc.removeEventListener("pointermove", p.move, e), p.up && i.doc.removeEventListener("pointerup", p.up, e),
777
+ be.delete(String(t));
691
778
  }
692
- const p = ce.get(String(t));
693
- if (p) {
779
+ const l = ve.get(String(t));
780
+ if (l) {
694
781
  const e = {
695
782
  passive: !1
696
783
  };
697
- p.move && document.removeEventListener("pointermove", p.move, e), p.up && document.removeEventListener("pointerup", p.up, e),
698
- ce.delete(String(t));
784
+ l.move && i.doc.removeEventListener("pointermove", l.move, e), l.up && i.doc.removeEventListener("pointerup", l.up, e),
785
+ ve.delete(String(t));
699
786
  }
700
- (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, () => {
701
- b(".popup_overflow_" + t)?.remove(), b(".popup_modal_" + t)?.fadeOut(n?.fadeOut || 500, () => b(".popup_modal_" + t)?.remove());
787
+ (n ? !0 === n.modal : !!v(".popup_modal_" + t, i.doc)) ? v(".popup_modal_" + t, i.doc)?.fadeOut(n?.fadeOut || 500, () => {
788
+ Se(String(t), i), v(".popup_modal_" + t, i.doc)?.remove();
789
+ }) : v(".popup_overflow_" + t, i.doc)?.fadeOut(n?.fadeOut || 500, () => {
790
+ Se(String(t), i), v(".popup_overflow_" + t, i.doc)?.remove(), v(".popup_modal_" + t, i.doc)?.fadeOut(n?.fadeOut || 500, () => v(".popup_modal_" + t, i.doc)?.remove());
702
791
  });
703
792
  } else (() => {
704
- for (const e of [ ...te.values() ]) e.close();
705
- })(), b("#popup")?.fadeOut(() => {
706
- b("#popup")?.remove(), b("#popup_dock")?.remove(), P();
793
+ for (const e of [ ...Y.values() ]) e.close();
794
+ })(), F().forEach(e => {
795
+ v("#popup", e.doc)?.fadeOut(() => {
796
+ w('[class^="popup_window_"]', e.doc).forEach(e => b(e.el)), v("#popup", e.doc)?.remove(),
797
+ v("#popup_dock", e.doc)?.remove(), O(e.doc);
798
+ });
707
799
  });
708
800
  var o;
709
- setTimeout(() => be.removeDock(e), 300);
801
+ setTimeout(() => Ee.removeDock(e), 300);
710
802
  },
711
803
  removeDock: e => {
712
- const t = _e(e);
713
- b(".icon_" + t)?.remove(), b(".popup_overflow_" + t) ? setTimeout(() => be.removeDock(e), 100) : g('[class^="popup_overflow_"]', "#popup").length < 1 && (b("#popup_dock")?.remove(),
714
- P());
804
+ const t = xe(e), o = Ce(e);
805
+ var n;
806
+ (v(".icon_" + t, o.doc)?.remove(), v(".popup_overflow_" + t, o.doc)) ? setTimeout(() => Ee.removeDock(e), 100) : (n = t,
807
+ U.delete(String(n)), w('[class^="popup_overflow_"]', o.doc).length < 1 && (v("#popup_dock", o.doc)?.remove(),
808
+ O(o.doc)));
715
809
  },
716
810
  iconize: e => {
717
- const t = _e(e), o = b(".popup_overflow_" + t, "#popup");
718
- if (o && !1 !== o.find("[class^=popup_window_]")?.hasClass("zHigh")) if (be.vfx(o, !1, !0),
719
- o.data("iconize")) {
720
- if (o.data("iconize")) {
721
- const e = o.data("iconize");
722
- o.removeClass("popup_iconized").cssVar("--lp-top", e.y).cssVar("--lp-left", e.x).cssVar("--lp-width", e.w).cssVar("--lp-height", e.h),
723
- be.vfx(o, !0), o.removeData("iconize");
811
+ const t = xe(e), o = Ce(e), n = v(".popup_overflow_" + t, o.doc);
812
+ if (n && !1 !== n.find("[class^=popup_window_]")?.hasClass("zHigh")) if (Ee.vfx(n, !1, !0),
813
+ n.data("iconize")) {
814
+ if (n.data("iconize")) {
815
+ const e = n.data("iconize");
816
+ n.removeClass("popup_iconized").cssVar("--lp-top", e.y).cssVar("--lp-left", e.x).cssVar("--lp-width", e.w).cssVar("--lp-height", e.h),
817
+ Ee.vfx(n, !0), n.removeData("iconize");
724
818
  }
725
819
  } else {
726
- const e = b(".icon_" + t, "#popup_dock")?.el.offsetLeft ?? 0;
727
- o.data("iconize", {
728
- y: o.el.offsetTop,
729
- x: o.el.offsetLeft,
730
- w: o.el.offsetWidth,
731
- h: o.el.offsetHeight
732
- }), o.cssVar("--lp-top", "100%").cssVar("--lp-left", e + 15).addClass("popup_iconized"),
733
- be.vfx(o, !0);
820
+ const e = v(".icon_" + t, o.doc)?.el.offsetLeft ?? 0;
821
+ n.data("iconize", {
822
+ y: n.el.offsetTop,
823
+ x: n.el.offsetLeft,
824
+ w: n.el.offsetWidth,
825
+ h: n.el.offsetHeight
826
+ }), n.cssVar("--lp-top", "100%").cssVar("--lp-left", e + 15).addClass("popup_iconized"),
827
+ Ee.vfx(n, !0);
734
828
  }
735
829
  },
736
830
  maximize: e => {
737
- const t = b(".popup_overflow_" + _e(e), "#popup"), o = t ? b('[class^="resize_"]', t.el) : null;
738
- if (be.vfx(t, !1, !0), t?.data("store")) {
831
+ const t = v(".popup_overflow_" + xe(e), Ce(e).doc), o = t ? v('[class^="resize_"]', t.el) : null;
832
+ if (Ee.vfx(t, !1, !0), t?.data("store")) {
739
833
  if (t?.data("store")) {
740
834
  const n = t.data("store");
741
835
  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),
742
836
  o?.on("pointerdown", function(t) {
743
- be.resizeModals(t, this, e);
744
- }), be.vfx(t, !0), t.removeData("store");
837
+ Ee.resizeModals(t, this, e);
838
+ }), Ee.vfx(t, !0), t.removeData("store");
745
839
  }
746
840
  } else t.data("store", {
747
841
  y: t.el.offsetTop,
748
842
  x: t.el.offsetLeft,
749
843
  w: t.el.offsetWidth,
750
844
  h: t.el.offsetHeight
751
- }), t.addClass("popup_maximized"), o?.off("pointerdown"), be.vfx(t, !0, !0);
845
+ }), t.addClass("popup_maximized"), o?.off("pointerdown"), Ee.vfx(t, !0, !0);
752
846
  },
753
847
  movable: e => {
754
848
  if (!1 === e.movable) return;
755
- 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;
756
- n?.addClass("lp_no_touch");
757
- let s = 0, p = 0, a = 0, l = 0;
758
- const c = e => {
849
+ const t = xe(e), o = Ce(e), n = String(t), i = v(".popup_overflow_" + t, o.doc), r = i ? v(".popup_drag_" + t, i.el) : null, s = i ? v(".popup_body_" + t, i.el) : null;
850
+ i?.addClass("lp_no_touch");
851
+ let p = 0, l = 0, c = 0, a = 0;
852
+ const d = e => {
759
853
  e.preventDefault();
760
- const t = U(e), o = K(e);
761
- 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),
762
- be.checkArea(e)[0] < be.checkArea(e)[5] && 1 === Math.sign(be.checkArea(e)[0]) && n?.cssVar("--lp-left", n.el.offsetLeft - s);
763
- }, d = () => {
854
+ const t = de(e), n = ue(e);
855
+ p = c - t, l = a - n, c = t, a = n, Ee.checkArea(e, o)[1] < Ee.checkArea(e, o)[4] && 1 === Math.sign(Ee.checkArea(e, o)[1]) && i?.cssVar("--lp-top", i.el.offsetTop - l),
856
+ Ee.checkArea(e, o)[0] < Ee.checkArea(e, o)[5] && 1 === Math.sign(Ee.checkArea(e, o)[0]) && i?.cssVar("--lp-left", i.el.offsetLeft - p);
857
+ }, u = () => {
764
858
  const e = {
765
859
  passive: !1
766
860
  };
767
- document.removeEventListener("pointermove", c, e), document.removeEventListener("pointerup", d, e),
768
- le.delete(o), r?.addClass("lp_pointer"), be.vfx(n, !0);
861
+ o.doc.removeEventListener("pointermove", d, e), o.doc.removeEventListener("pointerup", u, e),
862
+ be.delete(n), s?.addClass("lp_pointer"), Ee.vfx(i, !0);
769
863
  };
770
- le.set(o, {
771
- move: c,
772
- up: d
864
+ be.set(n, {
865
+ move: d,
866
+ up: u
773
867
  });
774
- i?.el.addEventListener("pointerdown", e => {
775
- n?.hasClass("popup_maximized") || (e.preventDefault(), r?.addClass("lp_no_pointer"),
776
- u(e), be.vfx(n, !1));
868
+ r?.el.addEventListener("pointerdown", e => {
869
+ i?.hasClass("popup_maximized") || (e.preventDefault(), s?.addClass("lp_no_pointer"),
870
+ h(e), Ee.vfx(i, !1));
777
871
  }, {
778
872
  passive: !1
779
- }), e.maximize && i?.on("dblclick", () => {
873
+ }), e.maximize && r?.on("dblclick", () => {
780
874
  layerpro.popup.maximize(e);
781
875
  });
782
- const u = e => {
783
- a = U(e), l = K(e);
876
+ const h = e => {
877
+ c = de(e), a = ue(e);
784
878
  const t = {
785
879
  passive: !1
786
880
  };
787
- document.addEventListener("pointermove", c, t), document.addEventListener("pointerup", d, t);
881
+ o.doc.addEventListener("pointermove", d, t), o.doc.addEventListener("pointerup", u, t);
788
882
  };
789
883
  },
790
884
  resizable: e => {
791
885
  if (!e.resizable) return;
792
- const t = _e(e), o = String(t), n = b(".popup_overflow_" + t, "#popup");
793
- for (let e = 4; e--; ) v(`<div class='resize_${e}'>`).appendTo(n?.el).addClass("lp_no_touch"),
794
- v(`<div class='resize_corner_${e}'>`).appendTo(n?.el).addClass("lp_no_touch");
795
- const i = ce.get(o) || {};
796
- i.down = function(t) {
797
- be.resizeModals(t, this, e);
798
- }, ce.set(o, i);
799
- const r = {
886
+ const t = xe(e), o = Ce(e), n = String(t), i = v(".popup_overflow_" + t, o.doc);
887
+ for (let e = 4; e--; ) y(`<div class='resize_${e}'>`, o.doc).appendTo(i?.el).addClass("lp_no_touch"),
888
+ y(`<div class='resize_corner_${e}'>`, o.doc).appendTo(i?.el).addClass("lp_no_touch");
889
+ const r = ve.get(n) || {};
890
+ r.down = function(t) {
891
+ Ee.resizeModals(t, this, e);
892
+ }, ve.set(n, r);
893
+ const s = {
800
894
  passive: !1
801
895
  };
802
- g("[class^=resize_]").forEach(t => {
896
+ w("[class^=resize_]", i?.el).forEach(t => {
803
897
  t.el.addEventListener("pointerdown", o => {
804
- o.preventDefault(), be.resizeModals(o, t.el, e);
805
- }, r);
898
+ o.preventDefault(), Ee.resizeModals(o, t.el, e);
899
+ }, s);
806
900
  });
807
901
  },
808
902
  resizeModals: (e, t, o) => {
809
- const n = t instanceof HTMLElement ? new _(t) : b(t), i = n?.parent(), r = String(o.id);
810
- i?.addClass("lp_no_transition");
811
- const s = U(e), p = K(e), a = [ s - w.scrollLeft(), p - w.scrollTop() ];
812
- o.minWidth, fe()?.addClass("lp_page_locked"), i?.addClass("lp_no_pointer"), be.vfx(i, !1);
813
- const l = e => {
814
- be.doRes(e, t);
815
- }, c = () => {
816
- be.stopRes(t, r);
817
- }, d = ce.get(r) || {};
818
- d.move = l, d.up = c, ce.set(r, d);
819
- const u = {
903
+ const n = Ce(o), i = t instanceof HTMLElement ? new _(t) : v(t), r = i?.parent(), s = String(o.id);
904
+ r?.addClass("lp_no_transition");
905
+ const p = de(e), l = ue(e), c = [ p - $.scrollLeft(n.win), l - $.scrollTop(n.win) ];
906
+ o.minWidth, ke(n)?.addClass("lp_page_locked"), r?.addClass("lp_no_pointer"), Ee.vfx(r, !1);
907
+ const a = e => {
908
+ Ee.doRes(e, t, n);
909
+ }, d = () => {
910
+ Ee.stopRes(t, s, n);
911
+ }, u = ve.get(s) || {};
912
+ u.move = a, u.up = d, ve.set(s, u);
913
+ const h = {
820
914
  passive: !1
821
915
  };
822
- document.addEventListener("pointermove", l, u), document.addEventListener("pointerup", c, u);
823
- const h = i?.position().left ?? 0, m = i?.position().top ?? 0, f = i?.width() ?? 0, g = i?.height() ?? 0;
824
- me = {
916
+ n.doc.addEventListener("pointermove", a, h), n.doc.addEventListener("pointerup", d, h);
917
+ const m = r?.position().left ?? 0, f = r?.position().top ?? 0, g = r?.width() ?? 0, b = r?.height() ?? 0;
918
+ $e = {
825
919
  id: String(o.id),
826
- startX: a[0],
827
- startY: a[1],
828
- startWidth: f,
829
- startHeight: g,
830
- startLeft: h,
831
- startTop: m,
832
- startBottom: m + g + 1,
833
- startRight: h + f + 1
834
- }, re = t;
920
+ startX: c[0],
921
+ startY: c[1],
922
+ startWidth: g,
923
+ startHeight: b,
924
+ startLeft: m,
925
+ startTop: f,
926
+ startBottom: f + b + 1,
927
+ startRight: m + g + 1
928
+ }, fe = t;
835
929
  },
836
- doRes: (e, t) => {
930
+ doRes: (e, t, o = K()) => {
837
931
  dispatchEvent(new Event("layerProResize"));
838
- 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() ];
839
- if (t === re && me) {
840
- const t = me;
841
- let i = t.startWidth + s[0] - t.startX, r = t.startHeight + s[1] - t.startY;
842
- const p = t.startWidth - s[0] + t.startX, a = t.startHeight - s[1] + t.startY;
843
- 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({
844
- height: Number(ie + 1)
845
- }), n && n.height() > ie && ie <= a && n.geom({
846
- top: Number(t.startBottom - a),
847
- height: parseInt(String(a))
848
- })), 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({
849
- width: Number(i),
850
- right: Number(t.startLeft - i)
851
- }), n && n.width() <= ne && n.geom({
852
- width: Number(ne + 1)
853
- })), 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({
854
- height: Number(r)
855
- }), n && n.height() <= ie && r > ie && n.geom({
856
- height: Number(ie + 1)
857
- })), 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({
858
- width: Number(ne + 1)
859
- }), n && n.width() > ne && ne <= p && n.geom({
860
- width: parseInt(String(p)),
861
- left: Number(t.startRight - p)
862
- })), 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({
863
- top: Number(t.startBottom - a),
864
- height: parseInt(String(a))
865
- }), n && n.height() <= ie && a > ie && n.geom({
866
- height: Number(ie + 1)
867
- }), n && n.width() >= ne && p > ne && n.geom({
868
- width: parseInt(String(p)),
869
- left: Number(t.startRight - p)
870
- }), n && n.width() <= ne && p > ne && n.geom({
871
- width: Number(ne + 1)
872
- })), o?.hasClass("resize_corner_1") && (n && n.height() >= ie && a > ie && n.geom({
873
- top: Number(t.startBottom - a),
874
- height: Number(a)
875
- }), n && n.height() <= ie && a > ie && n.geom({
876
- height: Number(ie + 1)
877
- }), n && n.width() >= ne && n.geom({
878
- width: Number(i),
879
- right: Number(t.startLeft - i)
880
- }), n && n.width() <= ne && p > ne && n.geom({
881
- width: Number(ne + 1)
882
- })), o?.hasClass("resize_corner_2") && (n && n.height() >= ie && n.geom({
883
- height: Number(r)
884
- }), n && n.height() <= ie && r > ie && n.geom({
885
- height: Number(ie + 1)
886
- }), n && n.width() >= ne && n.geom({
887
- width: Number(i),
888
- right: Number(t.startLeft - i)
889
- }), n && n.width() <= ne && n.geom({
890
- width: Number(ne + 1)
891
- })), o?.hasClass("resize_corner_3") && (n && n.height() >= ie && r > ie && n.geom({
892
- height: Number(r)
893
- }), n && n.height() <= ie && r > ie && n.geom({
894
- height: Number(ie + 1)
895
- }), n && n.width() >= ne && p > ne && n.geom({
896
- width: Number(p),
897
- left: Number(t.startRight - p)
898
- }), n && n.width() <= ne && p > ne && n.geom({
899
- width: Number(ne + 1)
932
+ const n = t instanceof HTMLElement ? new _(t) : v(t), i = n?.parent(), r = de(e), s = ue(e), p = [ r - $.scrollLeft(o.win), s - $.scrollTop(o.win) ];
933
+ if (t === fe && $e) {
934
+ const t = $e;
935
+ let r = t.startWidth + p[0] - t.startX, s = t.startHeight + p[1] - t.startY;
936
+ const l = t.startWidth - p[0] + t.startX, c = t.startHeight - p[1] + t.startY;
937
+ r <= 0 && (r = 0), s <= 0 && (s = 0), Ee.checkArea(e, o)[1] < Ee.checkArea(e, o)[4] && 1 === Math.sign(Ee.checkArea(e, o)[1]) && n?.hasClass("resize_0") && (i && i.height() <= me && c > me && i.geom({
938
+ height: Number(me + 1)
939
+ }), i && i.height() > me && me <= c && i.geom({
940
+ top: Number(t.startBottom - c),
941
+ height: parseInt(String(c))
942
+ })), Ee.checkArea(e, o)[0] < Ee.checkArea(e, o)[5] && 1 === Math.sign(Ee.checkArea(e, o)[0]) && n?.hasClass("resize_1") && (i && i.width() >= he && i.geom({
943
+ width: Number(r),
944
+ right: Number(t.startLeft - r)
945
+ }), i && i.width() <= he && i.geom({
946
+ width: Number(he + 1)
947
+ })), Ee.checkArea(e, o)[1] < Ee.checkArea(e, o)[4] && 1 === Math.sign(Ee.checkArea(e, o)[1]) && n?.hasClass("resize_2") && (i && i.height() >= me && i.geom({
948
+ height: Number(s)
949
+ }), i && i.height() <= me && s > me && i.geom({
950
+ height: Number(me + 1)
951
+ })), Ee.checkArea(e, o)[0] < Ee.checkArea(e, o)[5] && 1 === Math.sign(Ee.checkArea(e, o)[0]) && n?.hasClass("resize_3") && (i && i.width() <= he && l > he && i.geom({
952
+ width: Number(he + 1)
953
+ }), i && i.width() > he && he <= l && i.geom({
954
+ width: parseInt(String(l)),
955
+ left: Number(t.startRight - l)
956
+ })), Ee.checkArea(e, o)[1] < Ee.checkArea(e, o)[4] && Ee.checkArea(e, o)[0] < Ee.checkArea(e, o)[5] && 1 === Math.sign(Ee.checkArea(e, o)[0]) && 1 === Math.sign(Ee.checkArea(e, o)[1]) && (n?.hasClass("resize_corner_0") && (i && i.height() >= me && c > me && i.geom({
957
+ top: Number(t.startBottom - c),
958
+ height: parseInt(String(c))
959
+ }), i && i.height() <= me && c > me && i.geom({
960
+ height: Number(me + 1)
961
+ }), i && i.width() >= he && l > he && i.geom({
962
+ width: parseInt(String(l)),
963
+ left: Number(t.startRight - l)
964
+ }), i && i.width() <= he && l > he && i.geom({
965
+ width: Number(he + 1)
966
+ })), n?.hasClass("resize_corner_1") && (i && i.height() >= me && c > me && i.geom({
967
+ top: Number(t.startBottom - c),
968
+ height: Number(c)
969
+ }), i && i.height() <= me && c > me && i.geom({
970
+ height: Number(me + 1)
971
+ }), i && i.width() >= he && i.geom({
972
+ width: Number(r),
973
+ right: Number(t.startLeft - r)
974
+ }), i && i.width() <= he && l > he && i.geom({
975
+ width: Number(he + 1)
976
+ })), n?.hasClass("resize_corner_2") && (i && i.height() >= me && i.geom({
977
+ height: Number(s)
978
+ }), i && i.height() <= me && s > me && i.geom({
979
+ height: Number(me + 1)
980
+ }), i && i.width() >= he && i.geom({
981
+ width: Number(r),
982
+ right: Number(t.startLeft - r)
983
+ }), i && i.width() <= he && i.geom({
984
+ width: Number(he + 1)
985
+ })), n?.hasClass("resize_corner_3") && (i && i.height() >= me && s > me && i.geom({
986
+ height: Number(s)
987
+ }), i && i.height() <= me && s > me && i.geom({
988
+ height: Number(me + 1)
989
+ }), i && i.width() >= he && l > he && i.geom({
990
+ width: Number(l),
991
+ left: Number(t.startRight - l)
992
+ }), i && i.width() <= he && l > he && i.geom({
993
+ width: Number(he + 1)
900
994
  })));
901
995
  }
902
996
  },
903
- stopRes: (e, t) => {
904
- const o = e instanceof HTMLElement ? new _(e) : b(e), n = o?.parent();
905
- n?.removeClass("lp_no_transition"), o?.removeClass("lp_no_transition"), fe()?.removeClass("lp_page_locked"),
906
- n?.removeClass("lp_no_pointer"), be.vfx(n, !0), re = !1, me?.id === t && (me = null);
907
- const i = ce.get(t);
908
- if (i) {
997
+ stopRes: (e, t, o = K()) => {
998
+ const n = e instanceof HTMLElement ? new _(e) : v(e), i = n?.parent();
999
+ i?.removeClass("lp_no_transition"), n?.removeClass("lp_no_transition"), ke(o)?.removeClass("lp_page_locked"),
1000
+ i?.removeClass("lp_no_pointer"), Ee.vfx(i, !0), fe = !1, $e?.id === t && ($e = null);
1001
+ const r = ve.get(t);
1002
+ if (r) {
909
1003
  const e = {
910
1004
  passive: !1
911
1005
  };
912
- i.move && document.removeEventListener("pointermove", i.move, e), i.up && document.removeEventListener("pointerup", i.up, e),
913
- ce.delete(t);
1006
+ r.move && o.doc.removeEventListener("pointermove", r.move, e), r.up && o.doc.removeEventListener("pointerup", r.up, e),
1007
+ ve.delete(t);
914
1008
  }
915
1009
  },
916
1010
  index: e => {
917
- const t = _e(e);
918
- g('[class^="popup_window_"]', "#popup").forEach(e => e.removeClass("zHigh")), g('[class^="popup_bar_"]', "#popup").forEach(e => e.removeClass("popup_bar_selected")),
919
- g('[class^="icon_"]', "#popup").forEach(e => e.removeClass("popup_bar_selected")),
920
- b(".icon_" + t, "#popup")?.addClass("popup_bar_selected"), b(".popup_overflow_" + t, "#popup")?.cssVar("--lp-z-index", be.zIndex()),
921
- b(".popup_bar_" + t, "#popup")?.addClass("popup_bar_selected"), b(".popup_window_" + t, "#popup")?.addClass("zHigh");
1011
+ const t = xe(e), o = Ce(e);
1012
+ w('[class^="popup_window_"]', o.doc).forEach(e => e.removeClass("zHigh")), w('[class^="popup_bar_"]', o.doc).forEach(e => e.removeClass("popup_bar_selected")),
1013
+ w('[class^="icon_"]', o.doc).forEach(e => e.removeClass("popup_bar_selected")),
1014
+ v(".icon_" + t, o.doc)?.addClass("popup_bar_selected"), v(".popup_overflow_" + t, o.doc)?.cssVar("--lp-z-index", Ee.zIndex(o)),
1015
+ v(".popup_bar_" + t, o.doc)?.addClass("popup_bar_selected"), v(".popup_window_" + t, o.doc)?.addClass("zHigh");
922
1016
  },
923
- zIndex: () => {
924
- if (!pe) {
925
- pe = !0;
1017
+ zIndex: (e = K()) => {
1018
+ let t = ge.get(e.doc);
1019
+ if (!t) {
1020
+ let o = 1e3;
926
1021
  try {
927
- const e = getComputedStyle(document.documentElement).getPropertyValue("--popup-z-index").trim();
928
- if (e) {
929
- const t = parseInt(e, 10);
930
- isNaN(t) || (se = t);
1022
+ const t = e.doc.defaultView, n = t ? t.getComputedStyle(e.doc.documentElement).getPropertyValue("--popup-z-index").trim() : "";
1023
+ if (n) {
1024
+ const e = parseInt(n, 10);
1025
+ isNaN(e) || (o = e);
931
1026
  }
932
1027
  } catch {}
1028
+ t = {
1029
+ counter: o
1030
+ }, ge.set(e.doc, t);
933
1031
  }
934
- return ++se;
1032
+ return ++t.counter;
935
1033
  }
936
1034
  };
937
1035
 
938
1036
  Object.defineProperty(layerpro, "popup", {
939
- value: be,
1037
+ value: Ee,
940
1038
  writable: !1,
941
1039
  configurable: !1
942
- }), globalThis.popup = be, Object.defineProperty(window, "popup", {
1040
+ }), Object.defineProperty(layerpro, "window", {
1041
+ value: e => {
1042
+ const t = () => Z(e);
1043
+ return {
1044
+ id: e,
1045
+ get win() {
1046
+ return t()?.win ?? null;
1047
+ },
1048
+ get doc() {
1049
+ return t()?.doc ?? null;
1050
+ },
1051
+ popup: {
1052
+ open: t => (t.target = e, Ee.open(t)),
1053
+ close: e => Ee.close(e),
1054
+ center: (e, t) => Ee.center(e, t),
1055
+ maximize: e => Ee.maximize(e),
1056
+ iconize: e => Ee.iconize(e),
1057
+ index: e => Ee.index(e)
1058
+ }
1059
+ };
1060
+ },
1061
+ writable: !1,
1062
+ configurable: !1
1063
+ }), globalThis.popup = Ee, Object.defineProperty(window, "popup", {
943
1064
  enumerable: !1
944
1065
  });
945
1066
 
1067
+ var Le = 0, Te = e => 1 === (Le += 1) ? e : `${e}_${Le}`;
1068
+
946
1069
  Object.defineProperties(layerpro, {
947
1070
  prompt: {
948
- value: (e, t) => {
949
- const o = O(String(e)), n = {
1071
+ value: (e, t, o) => {
1072
+ const n = I(String(e)), i = {
950
1073
  value: ""
951
- }, i = {
952
- id: "__prompt",
1074
+ }, r = {
1075
+ id: Te("__prompt"),
953
1076
  name: "Prompt",
954
1077
  icon: "&#9998;",
955
1078
  width: 380,
@@ -961,26 +1084,29 @@ Object.defineProperties(layerpro, {
961
1084
  dockable: !1,
962
1085
  modal: !0,
963
1086
  movable: !0,
964
- resizable: !1
965
- }, 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 `;
966
- b(".popup_body_" + i.id)?.html(s);
967
- const p = b("#input_" + i.id);
968
- return t && p?.val(t), p?.on("focus", () => {
969
- p.attr("placeholder", "");
1087
+ resizable: !1,
1088
+ target: o?.target ?? null
1089
+ }, s = layerpro.popup.open(r), p = J(r.id), l = `\n <div class='popup_prompt'>\n\n <div class="popup_message_body">\n <center>\n ${n}\n </center>\n </div>\n\n <input id="input_${r.id}" type="text" placeholder="write here" />\n <br/>\n\n <div class="buttons">\n <button id="a_${r.id}" type="button">OK</button>\n <button id="b_${r.id}" type="button">CANCEL</button>\n </div>\n\n </div>\n `;
1090
+ v(".popup_body_" + r.id, p.doc)?.html(l);
1091
+ const c = v("#input_" + r.id, p.doc);
1092
+ return t && c?.val(t), c?.on("focus", () => {
1093
+ c.attr("placeholder", "");
970
1094
  })?.on("blur", () => {
971
- p.attr("placeholder", "write here");
972
- }), b("#a_" + i.id)?.on("click", () => {
973
- const e = p?.val() ?? "";
974
- String(e) > "" ? (n.value = String(e), layerpro.popup.close(i)) : layerpro.alert("input can't be empty!");
975
- }), b("#b_" + i.id)?.on("click", () => {
976
- n.value = "", layerpro.popup.close(i);
977
- }), r.then(() => n.value);
1095
+ c.attr("placeholder", "write here");
1096
+ }), v("#a_" + r.id, p.doc)?.on("click", () => {
1097
+ const e = c?.val() ?? "";
1098
+ String(e) > "" ? (i.value = String(e), layerpro.popup.close(r)) : layerpro.alert("input can't be empty!", {
1099
+ target: o?.target
1100
+ });
1101
+ }), v("#b_" + r.id, p.doc)?.on("click", () => {
1102
+ i.value = "", layerpro.popup.close(r);
1103
+ }), s.then(() => i.value);
978
1104
  }
979
1105
  },
980
1106
  alert: {
981
- value: e => {
982
- const t = O(String(e)), o = {
983
- id: "__alert",
1107
+ value: (e, t) => {
1108
+ const o = I(String(e)), n = {
1109
+ id: Te("__alert"),
984
1110
  name: "Warning",
985
1111
  icon: "&#9888;",
986
1112
  width: 380,
@@ -992,17 +1118,18 @@ Object.defineProperties(layerpro, {
992
1118
  dockable: !1,
993
1119
  modal: !0,
994
1120
  movable: !0,
995
- resizable: !1
996
- }, 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 `;
997
- return b(".popup_body_" + o.id)?.html(i), b("#a_" + o.id)?.on("click", () => {
998
- layerpro.popup.close(o);
999
- }), n.then(() => {});
1121
+ resizable: !1,
1122
+ target: t?.target ?? null
1123
+ }, i = layerpro.popup.open(n), r = J(n.id), s = `\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_" + n.id}" type="button">CLOSE</button>\n </div>\n </div>\n `;
1124
+ return v(".popup_body_" + n.id, r.doc)?.html(s), v("#a_" + n.id, r.doc)?.on("click", () => {
1125
+ layerpro.popup.close(n);
1126
+ }), i.then(() => {});
1000
1127
  }
1001
1128
  },
1002
1129
  message: {
1003
- value: e => {
1004
- const t = O(String(e)), o = {
1005
- id: "__message",
1130
+ value: (e, t) => {
1131
+ const o = I(String(e)), n = {
1132
+ id: Te("__message"),
1006
1133
  name: "Message",
1007
1134
  icon: "&#9965;",
1008
1135
  width: 380,
@@ -1014,19 +1141,20 @@ Object.defineProperties(layerpro, {
1014
1141
  dockable: !1,
1015
1142
  modal: !0,
1016
1143
  movable: !0,
1017
- resizable: !1
1018
- }, 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 `;
1019
- return b(".popup_body_" + o.id)?.html(i), b("#a_" + o.id)?.on("click", () => {
1020
- layerpro.popup.close(o);
1021
- }), n.then(() => {});
1144
+ resizable: !1,
1145
+ target: t?.target ?? null
1146
+ }, i = layerpro.popup.open(n), r = J(n.id), s = `\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_" + n.id}" type="button">OK</button>\n </div>\n </div>\n `;
1147
+ return v(".popup_body_" + n.id, r.doc)?.html(s), v("#a_" + n.id, r.doc)?.on("click", () => {
1148
+ layerpro.popup.close(n);
1149
+ }), i.then(() => {});
1022
1150
  }
1023
1151
  },
1024
1152
  confirm: {
1025
- value: e => {
1026
- const t = O(String(e)), o = {
1153
+ value: (e, t) => {
1154
+ const o = I(String(e)), n = {
1027
1155
  value: !1
1028
- }, n = {
1029
- id: "__confirm",
1156
+ }, i = {
1157
+ id: Te("__confirm"),
1030
1158
  name: "Confirm",
1031
1159
  icon: "&#9745;",
1032
1160
  width: 380,
@@ -1038,13 +1166,14 @@ Object.defineProperties(layerpro, {
1038
1166
  dockable: !1,
1039
1167
  modal: !0,
1040
1168
  movable: !0,
1041
- resizable: !1
1042
- }, 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 `;
1043
- return b(".popup_body_" + n.id)?.html(r), b("#a_" + n.id)?.on("click", () => {
1044
- o.value = !0, layerpro.popup.close(n);
1045
- }), b("#b_" + n.id)?.on("click", () => {
1046
- o.value = !1, layerpro.popup.close(n);
1047
- }), i.then(() => o.value);
1169
+ resizable: !1,
1170
+ target: t?.target ?? null
1171
+ }, r = layerpro.popup.open(i), s = J(i.id), p = `\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">CONFIRM</button>\n <button id="${"b_" + i.id}" type="button">CANCEL</button>\n </div>\n </div>\n `;
1172
+ return v(".popup_body_" + i.id, s.doc)?.html(p), v("#a_" + i.id, s.doc)?.on("click", () => {
1173
+ n.value = !0, layerpro.popup.close(i);
1174
+ }), v("#b_" + i.id, s.doc)?.on("click", () => {
1175
+ n.value = !1, layerpro.popup.close(i);
1176
+ }), r.then(() => n.value);
1048
1177
  }
1049
1178
  },
1050
1179
  installGlobals: {
@@ -1056,20 +1185,22 @@ Object.defineProperties(layerpro, {
1056
1185
  }
1057
1186
  });
1058
1187
 
1059
- Y = (e, t) => {
1060
- g('[class^="popup_overflow_"]').forEach(e => {
1061
- const t = e.el.className.match(/popup_overflow_(\d+)/);
1062
- t && t[1] && layerpro.popup.close({
1063
- id: t[1],
1064
- fadeOut: 0
1188
+ ae = (e, t) => {
1189
+ F().forEach(e => {
1190
+ w('[class^="popup_overflow_"]', e.doc).forEach(e => {
1191
+ const t = e.el.className.match(/popup_overflow_(\d+)/);
1192
+ t && t[1] && layerpro.popup.close({
1193
+ id: t[1],
1194
+ fadeOut: 0
1195
+ });
1065
1196
  });
1066
1197
  });
1067
1198
  };
1068
1199
 
1069
- var ge = globalThis.layerpro;
1200
+ var Me = globalThis.layerpro;
1070
1201
 
1071
- ge.setProps(ge, {
1202
+ Me.setProps(Me, {
1072
1203
  configurable: !1,
1073
1204
  enumerable: !1,
1074
1205
  writable: !1
1075
- }), Object.freeze(ge);
1206
+ }), Object.freeze(Me);