layerpro 2.1.1 → 2.1.3

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.
Files changed (3) hide show
  1. package/index.cjs +660 -1248
  2. package/index.js +656 -1244
  3. package/package.json +1 -1
package/index.cjs CHANGED
@@ -1,1275 +1,687 @@
1
- ;(()=>{const s=document.createElement("style");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:35px;--dock-sideLeft:10px;--dock-sideCenter:auto;--dock-sideRight:10px;--dock-icon-width:140px;--transition-time:.5s;--border-radius:25px;--corner-size:14px;--corner-border-radius:50%;--hover-opacity:1;--hover-filter:blur(3px);}#popup > [class^=popup_overflow],#popup > [class^=popup_bar_],#popup > [class^=popup_window_],#popup > [class^=popup_internal],#popup > [class^=popup_body],#popup{position:static;}#popup > [class^=popup_overflow],#popup > [class^=popup_bar_],#popup > [class^=popup_window_],#popup > [class^=popup_internal],#popup > [class^=popup_body],#popup,#popup_dock{will-change:transform,opacity,top,left,height,width;}#popup{position:absolute;top:0;left:0;right:0;bottom:0;width:100%;height:100%;}#popup .buttons{display:flex;position:absolute;left:0;right:0;bottom:0;height:40px;justify-content:space-evenly;align-items:center;}#popup .buttons button{all:unset;width:100%;height:100%;border-right:2px solid #636363;background:linear-gradient( 180deg,#000 0%,rgb(60,60,60) 100%);overflow:hidden;position:relative;color:var(--button-color);}#popup .buttons button:last-child{border-right:none;}#popup .buttons button img{filter:invert(1);opacity:0.5;width:15px;height:auto;margin-top:2px;}#popup .buttons button:hover{transition:all 0.3s ease;box-shadow:inset 0 0 5px rgb(0,0,0);text-shadow:0 0 15px rgb(255,255,255),0 0 3px rgb(255,255,255);}#popup .popup_bar_selected{background:linear-gradient( 45deg,#162858 60%,rgba(34,78,145,0.5411764706) 100%) !important;}#popup .zHigh{border-top-color:#278ed0 !important;box-shadow:0 -15px 20px -10px rgba(30,150,255,0.5),0 0 15px rgba(0,0,0,0.7) !important;border:1px solid rgba(0,0,0,0.05);}#popup [class^=popup_raised_]{position:absolute;inset:0;width:100%;height:100%;background-color:rgba(0,0,0,0.3);z-index:1;}#popup [class^=popup_window_]{position:absolute;inset:0;width:100%;height:100%;z-index:2;border-radius:10px;box-shadow:0 0 10px rgba(0,0,0,0.3);overflow:hidden;}#popup [class^=popup_overflow_]{position:absolute;inset:auto;z-index:3;border-radius:10px;background:gray;}#popup [class^=popup_bar_]{display:flex;width:100%;height:36px;background:linear-gradient( 45deg,#4a4a4f 60%,#AAA 100%);border-bottom:2px solid #555;box-shadow:0 1px 1px #888;z-index:2;}#popup [class^=popup_drag_]{width:100%;padding:10px 0 0 10px;color:#eee;text-overflow:ellipsis;white-space:nowrap;overflow:hidden;}#popup [class^=popup_icon_]{padding:8px 0 0 10px;color:#eee;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:linear-gradient( 0deg,rgb(60,60,60) 0%,#4a4a4f 100%);}#popup [class^=popup_body_]{position:absolute;inset:0;color:#eee;text-align:center;}.popupMaxSize{position:absolute !important;width:100% !important;height:100% !important;inset:0 !important;margin:0 !important;padding:0 !important;border-radius:0 !important;}#popup_dock{position:absolute;bottom:0;left:0;right:0;height:var(--dock-height);background-color:var(--dock-background-color);border-top:1px solid rgba(255,255,255,0.521);}#popup_dock #popup_dock_icon{position:absolute;top:3px;left:3px;width:70px;height:var(--dock-height);}#popup_dock #popup_dock_list{position:absolute;top:3px;left:var(--dock-sideLeft);right:var(--dock-sideLeft);height:calc(var(--dock-height) - 5px);overflow-y:auto;text-align:right;display:flex;flex-direction:row;justify-content:flex-end;}#popup_dock #popup_dock_list [class^=icon_]{width:var(--dock-icon-width);float:left;padding:4px;color:white;margin:2px 3px 0 0;display:flex;flex-direction:row;flex-wrap:nowrap;justify-content:flex-start;filter:saturate(400%);}#popup_dock #popup_dock_list [class^=icon_]:hover{background-color:rgb(77,77,77);}#popup_dock #popup_dock_list [class^=icon_] span:nth-child(1){width:20%;text-align:center;color:#F60;}#popup_dock #popup_dock_list [class^=icon_] span:nth-child(2){width:80%;text-align:left;text-overflow:ellipsis;white-space:nowrap;overflow:hidden;}#popup_dock #popup_dock_list [class^=icon_] button{width:20px;height:20px;color:white;padding:4px;margin:0;display:flex;align-content:center;justify-content:center;font-size:0.7em;border:none;background:none;}#popup_dock #popup_dock_options{position:absolute;top:3px;right:10px;width:var(--dock-sideRight);height:var(--dock-height);}#popup .iconize:before,#popup .maximize:before,#popup .close:before{content:\"\";position:absolute;inset:0;background-repeat:no-repeat !important;background-position:center !important;background-size:50% !important;filter:invert(1);opacity:0.5;margin:0;padding:0;}#popup .iconize:before{background-image:url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiIHN0YW5kYWxvbmU9Im5vIj8+CjwhLS0gQ3JlYXRlZCB3aXRoIElua3NjYXBlIChodHRwOi8vd3d3Lmlua3NjYXBlLm9yZy8pIC0tPgoKPHN2ZwogICB3aWR0aD0iMjAiCiAgIGhlaWdodD0iMjAiCiAgIHZpZXdCb3g9IjAgMCA1LjI5MTY2NjUgNS4yOTE2NjY4IgogICB2ZXJzaW9uPSIxLjEiCiAgIGlkPSJzdmczNzY4IgogICBpbmtzY2FwZTp2ZXJzaW9uPSIxLjEuMSAoM2JmNWFlMGQyNSwgMjAyMS0wOS0yMCkiCiAgIHNvZGlwb2RpOmRvY25hbWU9Imljb25pemUuc3ZnIgogICB4bWxuczppbmtzY2FwZT0iaHR0cDovL3d3dy5pbmtzY2FwZS5vcmcvbmFtZXNwYWNlcy9pbmtzY2FwZSIKICAgeG1sbnM6c29kaXBvZGk9Imh0dHA6Ly9zb2RpcG9kaS5zb3VyY2Vmb3JnZS5uZXQvRFREL3NvZGlwb2RpLTAuZHRkIgogICB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciCiAgIHhtbG5zOnN2Zz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciCiAgIHhtbG5zOnJkZj0iaHR0cDovL3d3dy53My5vcmcvMTk5OS8wMi8yMi1yZGYtc3ludGF4LW5zIyIKICAgeG1sbnM6Y2M9Imh0dHA6Ly9jcmVhdGl2ZWNvbW1vbnMub3JnL25zIyIKICAgeG1sbnM6ZGM9Imh0dHA6Ly9wdXJsLm9yZy9kYy9lbGVtZW50cy8xLjEvIj4KICA8ZGVmcwogICAgIGlkPSJkZWZzMzc2MiIgLz4KICA8c29kaXBvZGk6bmFtZWR2aWV3CiAgICAgaWQ9ImJhc2UiCiAgICAgcGFnZWNvbG9yPSIjZmZmZmZmIgogICAgIGJvcmRlcmNvbG9yPSIjNjY2NjY2IgogICAgIGJvcmRlcm9wYWNpdHk9IjEuMCIKICAgICBpbmtzY2FwZTpwYWdlb3BhY2l0eT0iMC4wIgogICAgIGlua3NjYXBlOnBhZ2VzaGFkb3c9IjIiCiAgICAgaW5rc2NhcGU6em9vbT0iNS42IgogICAgIGlua3NjYXBlOmN4PSI5LjkxMDcxNDMiCiAgICAgaW5rc2NhcGU6Y3k9IjY4LjM5Mjg1NyIKICAgICBpbmtzY2FwZTpkb2N1bWVudC11bml0cz0ibW0iCiAgICAgaW5rc2NhcGU6Y3VycmVudC1sYXllcj0ibGF5ZXIxIgogICAgIHNob3dncmlkPSJmYWxzZSIKICAgICB1bml0cz0icHgiCiAgICAgaW5rc2NhcGU6d2luZG93LXdpZHRoPSIxOTIwIgogICAgIGlua3NjYXBlOndpbmRvdy1oZWlnaHQ9IjEwMjciCiAgICAgaW5rc2NhcGU6d2luZG93LXg9Ii04IgogICAgIGlua3NjYXBlOndpbmRvdy15PSItOCIKICAgICBpbmtzY2FwZTp3aW5kb3ctbWF4aW1pemVkPSIxIgogICAgIGlua3NjYXBlOnBhZ2VjaGVja2VyYm9hcmQ9IjAiIC8+CiAgPG1ldGFkYXRhCiAgICAgaWQ9Im1ldGFkYXRhMzc2NSI+CiAgICA8cmRmOlJERj4KICAgICAgPGNjOldvcmsKICAgICAgICAgcmRmOmFib3V0PSIiPgogICAgICAgIDxkYzpmb3JtYXQ+aW1hZ2Uvc3ZnK3htbDwvZGM6Zm9ybWF0PgogICAgICAgIDxkYzp0eXBlCiAgICAgICAgICAgcmRmOnJlc291cmNlPSJodHRwOi8vcHVybC5vcmcvZGMvZGNtaXR5cGUvU3RpbGxJbWFnZSIgLz4KICAgICAgPC9jYzpXb3JrPgogICAgPC9yZGY6UkRGPgogIDwvbWV0YWRhdGE+CiAgPGcKICAgICBpbmtzY2FwZTpsYWJlbD0iTGF5ZXIgMSIKICAgICBpbmtzY2FwZTpncm91cG1vZGU9ImxheWVyIgogICAgIGlkPSJsYXllcjEiCiAgICAgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoMCwtMjkxLjcwODMyKSI+CiAgICA8cmVjdAogICAgICAgcnk9IjAuNjk5MTc0MjMiCiAgICAgICB5PSIyOTMuNjkyNzgiCiAgICAgICB4PSIwLjI3NDg0NjczIgogICAgICAgaGVpZ2h0PSIxLjM5ODM0ODUiCiAgICAgICB3aWR0aD0iNC43NjI0OTk4IgogICAgICAgaWQ9InJlY3QzNzM2LTciCiAgICAgICBzdHlsZT0iZmlsbDojMDAwMDAwO3N0cm9rZS13aWR0aDowLjEzMjk5MTg1IiAvPgogIDwvZz4KPC9zdmc+Cg==) !important;}#popup .maximize:before{background-image:url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiIHN0YW5kYWxvbmU9Im5vIj8+CjwhLS0gQ3JlYXRlZCB3aXRoIElua3NjYXBlIChodHRwOi8vd3d3Lmlua3NjYXBlLm9yZy8pIC0tPgoKPHN2ZwogICB3aWR0aD0iMjAiCiAgIGhlaWdodD0iMjAiCiAgIHZpZXdCb3g9IjAgMCA1LjI5MTY2NjUgNS4yOTE2NjY4IgogICB2ZXJzaW9uPSIxLjEiCiAgIGlkPSJzdmczNzY4IgogICBpbmtzY2FwZTp2ZXJzaW9uPSIxLjEuMSAoM2JmNWFlMGQyNSwgMjAyMS0wOS0yMCkiCiAgIHNvZGlwb2RpOmRvY25hbWU9Im1heGltaXplLnN2ZyIKICAgeG1sbnM6aW5rc2NhcGU9Imh0dHA6Ly93d3cuaW5rc2NhcGUub3JnL25hbWVzcGFjZXMvaW5rc2NhcGUiCiAgIHhtbG5zOnNvZGlwb2RpPSJodHRwOi8vc29kaXBvZGkuc291cmNlZm9yZ2UubmV0L0RURC9zb2RpcG9kaS0wLmR0ZCIKICAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogICB4bWxuczpzdmc9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogICB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiCiAgIHhtbG5zOmNjPSJodHRwOi8vY3JlYXRpdmVjb21tb25zLm9yZy9ucyMiCiAgIHhtbG5zOmRjPSJodHRwOi8vcHVybC5vcmcvZGMvZWxlbWVudHMvMS4xLyI+CiAgPGRlZnMKICAgICBpZD0iZGVmczM3NjIiIC8+CiAgPHNvZGlwb2RpOm5hbWVkdmlldwogICAgIGlkPSJiYXNlIgogICAgIHBhZ2Vjb2xvcj0iI2ZmZmZmZiIKICAgICBib3JkZXJjb2xvcj0iIzY2NjY2NiIKICAgICBib3JkZXJvcGFjaXR5PSIxLjAiCiAgICAgaW5rc2NhcGU6cGFnZW9wYWNpdHk9IjAuMCIKICAgICBpbmtzY2FwZTpwYWdlc2hhZG93PSIyIgogICAgIGlua3NjYXBlOnpvb209IjcuOTE5NTk1OSIKICAgICBpbmtzY2FwZTpjeD0iNC45ODc2MjgyIgogICAgIGlua3NjYXBlOmN5PSIyNS4zODAwODMiCiAgICAgaW5rc2NhcGU6ZG9jdW1lbnQtdW5pdHM9Im1tIgogICAgIGlua3NjYXBlOmN1cnJlbnQtbGF5ZXI9ImxheWVyMSIKICAgICBzaG93Z3JpZD0iZmFsc2UiCiAgICAgdW5pdHM9InB4IgogICAgIGlua3NjYXBlOndpbmRvdy13aWR0aD0iMTkyMCIKICAgICBpbmtzY2FwZTp3aW5kb3ctaGVpZ2h0PSIxMDI3IgogICAgIGlua3NjYXBlOndpbmRvdy14PSItOCIKICAgICBpbmtzY2FwZTp3aW5kb3cteT0iLTgiCiAgICAgaW5rc2NhcGU6d2luZG93LW1heGltaXplZD0iMSIKICAgICBpbmtzY2FwZTpwYWdlY2hlY2tlcmJvYXJkPSIwIiAvPgogIDxtZXRhZGF0YQogICAgIGlkPSJtZXRhZGF0YTM3NjUiPgogICAgPHJkZjpSREY+CiAgICAgIDxjYzpXb3JrCiAgICAgICAgIHJkZjphYm91dD0iIj4KICAgICAgICA8ZGM6Zm9ybWF0PmltYWdlL3N2Zyt4bWw8L2RjOmZvcm1hdD4KICAgICAgICA8ZGM6dHlwZQogICAgICAgICAgIHJkZjpyZXNvdXJjZT0iaHR0cDovL3B1cmwub3JnL2RjL2RjbWl0eXBlL1N0aWxsSW1hZ2UiIC8+CiAgICAgIDwvY2M6V29yaz4KICAgIDwvcmRmOlJERj4KICA8L21ldGFkYXRhPgogIDxnCiAgICAgaW5rc2NhcGU6bGFiZWw9IkxheWVyIDEiCiAgICAgaW5rc2NhcGU6Z3JvdXBtb2RlPSJsYXllciIKICAgICBpZD0ibGF5ZXIxIgogICAgIHRyYW5zZm9ybT0idHJhbnNsYXRlKDAsLTI5MS43MDgzMikiPgogICAgPHJlY3QKICAgICAgIHN0eWxlPSJmaWxsOiMwMDAwMDA7c3Ryb2tlLXdpZHRoOjAuMTQ3MDQ1NCIKICAgICAgIGlkPSJyZWN0MzczMiIKICAgICAgIHdpZHRoPSI0Ljc2MjQ5OTgiCiAgICAgICBoZWlnaHQ9IjQuNzYyNDk5OCIKICAgICAgIHg9IjAuMjkxODUyNTMiCiAgICAgICB5PSIyOTIuMDEwNDQiCiAgICAgICByeT0iMC42NjcxMjEyMyIgLz4KICA8L2c+Cjwvc3ZnPgo=) !important;}#popup .close:before{background-image:url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiIHN0YW5kYWxvbmU9Im5vIj8+CjwhLS0gQ3JlYXRlZCB3aXRoIElua3NjYXBlIChodHRwOi8vd3d3Lmlua3NjYXBlLm9yZy8pIC0tPgoKPHN2ZwogICB3aWR0aD0iMjAiCiAgIGhlaWdodD0iMjAiCiAgIHZpZXdCb3g9IjAgMCA1LjI5MTY2NjUgNS4yOTE2NjY4IgogICB2ZXJzaW9uPSIxLjEiCiAgIGlkPSJzdmczNzY4IgogICBpbmtzY2FwZTp2ZXJzaW9uPSIxLjEuMSAoM2JmNWFlMGQyNSwgMjAyMS0wOS0yMCkiCiAgIHNvZGlwb2RpOmRvY25hbWU9ImNsb3NlLnN2ZyIKICAgeG1sbnM6aW5rc2NhcGU9Imh0dHA6Ly93d3cuaW5rc2NhcGUub3JnL25hbWVzcGFjZXMvaW5rc2NhcGUiCiAgIHhtbG5zOnNvZGlwb2RpPSJodHRwOi8vc29kaXBvZGkuc291cmNlZm9yZ2UubmV0L0RURC9zb2RpcG9kaS0wLmR0ZCIKICAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogICB4bWxuczpzdmc9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogICB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiCiAgIHhtbG5zOmNjPSJodHRwOi8vY3JlYXRpdmVjb21tb25zLm9yZy9ucyMiCiAgIHhtbG5zOmRjPSJodHRwOi8vcHVybC5vcmcvZGMvZWxlbWVudHMvMS4xLyI+CiAgPGRlZnMKICAgICBpZD0iZGVmczM3NjIiIC8+CiAgPHNvZGlwb2RpOm5hbWVkdmlldwogICAgIGlkPSJiYXNlIgogICAgIHBhZ2Vjb2xvcj0iI2ZmZmZmZiIKICAgICBib3JkZXJjb2xvcj0iIzY2NjY2NiIKICAgICBib3JkZXJvcGFjaXR5PSIxLjAiCiAgICAgaW5rc2NhcGU6cGFnZW9wYWNpdHk9IjAuMCIKICAgICBpbmtzY2FwZTpwYWdlc2hhZG93PSIyIgogICAgIGlua3NjYXBlOnpvb209IjcuOTE5NTk1OSIKICAgICBpbmtzY2FwZTpjeD0iNC45ODc2MjgyIgogICAgIGlua3NjYXBlOmN5PSIyNS4zODAwODMiCiAgICAgaW5rc2NhcGU6ZG9jdW1lbnQtdW5pdHM9Im1tIgogICAgIGlua3NjYXBlOmN1cnJlbnQtbGF5ZXI9ImxheWVyMSIKICAgICBzaG93Z3JpZD0iZmFsc2UiCiAgICAgdW5pdHM9InB4IgogICAgIGlua3NjYXBlOndpbmRvdy13aWR0aD0iMTkyMCIKICAgICBpbmtzY2FwZTp3aW5kb3ctaGVpZ2h0PSIxMDI3IgogICAgIGlua3NjYXBlOndpbmRvdy14PSItOCIKICAgICBpbmtzY2FwZTp3aW5kb3cteT0iLTgiCiAgICAgaW5rc2NhcGU6d2luZG93LW1heGltaXplZD0iMSIKICAgICBpbmtzY2FwZTpwYWdlY2hlY2tlcmJvYXJkPSIwIiAvPgogIDxtZXRhZGF0YQogICAgIGlkPSJtZXRhZGF0YTM3NjUiPgogICAgPHJkZjpSREY+CiAgICAgIDxjYzpXb3JrCiAgICAgICAgIHJkZjphYm91dD0iIj4KICAgICAgICA8ZGM6Zm9ybWF0PmltYWdlL3N2Zyt4bWw8L2RjOmZvcm1hdD4KICAgICAgICA8ZGM6dHlwZQogICAgICAgICAgIHJkZjpyZXNvdXJjZT0iaHR0cDovL3B1cmwub3JnL2RjL2RjbWl0eXBlL1N0aWxsSW1hZ2UiIC8+CiAgICAgIDwvY2M6V29yaz4KICAgIDwvcmRmOlJERj4KICA8L21ldGFkYXRhPgogIDxnCiAgICAgaW5rc2NhcGU6bGFiZWw9IkxheWVyIDEiCiAgICAgaW5rc2NhcGU6Z3JvdXBtb2RlPSJsYXllciIKICAgICBpZD0ibGF5ZXIxIgogICAgIHRyYW5zZm9ybT0idHJhbnNsYXRlKDAsLTI5MS43MDgzMikiPgogICAgPHBhdGgKICAgICAgIHN0eWxlPSJmaWxsOiMwMDAwMDA7c3Ryb2tlLXdpZHRoOjAuMTQ5MDI2NjMiCiAgICAgICBkPSJtIDAuOTY5NDI2NTUsMjkxLjk4MjY1IGMgLTAuMTczMTcsMCAtMC4zNDYzMSwwLjA2NjYgLTAuNDc5LDAuMTk5MjcgLTAuMjY1MzgsMC4yNjUzNyAtMC4yNjUzOCwwLjY5MjQ0IDAsMC45NTc4MSBsIDEuMjI0MjA5OTUsMS4yMjQxNyAtMS4yMjQyMDk5NSwxLjIyNDE3IGMgLTAuMjY1MzgsMC4yNjUzNyAtMC4yNjUzOCwwLjY5MjQ0IDAsMC45NTc4MSAwLjI2NTM4LDAuMjY1MzcgMC42OTI2MDk5NSwwLjI2NTM3IDAuOTU3OTg5OTUsMCBsIDEuMjI0MjEsLTEuMjI0MTcgMS4yMjQyMDgsMS4yMjQxNyBjIDAuMTMyNjkyLDAuMTMyNjggMC4zMDU4MywwLjE5OTI3IDAuNDc4OTkxLDAuMTk5MjcgMC4wNDMzLDAgMC4wODY3LC0wLjAwNCAwLjEyOTM3OSwtMC4wMTI1IDAuMTI3OTcxLC0wLjAyNDkgMC4yNTAxLC0wLjA4NzIgMC4zNDk2MiwtMC4xODY3NiAwLjAzMzIsLTAuMDMzMiAwLjA2MjMsLTAuMDY4NiAwLjA4NzEsLTAuMTA2MTQgMC4xNzQxNiwtMC4yNjMxOSAwLjE0NTA2OSwtMC42MTk0NiAtMC4wODcxLC0wLjg1MTY2IGwgLTEuMjI0MjA4LC0xLjIyNDE3IDEuMjI0MjA4LC0xLjIyNDE3IGMgMC4yNjUzNywtMC4yNjUzNyAwLjI2NTM3LC0wLjY5MjQ0IDAsLTAuOTU3ODEgLTAuMjY1Mzc5LC0wLjI2NTM3IC0wLjY5MjYxLC0wLjI2NTM3IC0wLjk1Nzk5LDAgbCAtMS4yMjQyMDgsMS4yMjQxNyAtMS4yMjQyMSwtMS4yMjQxNyBjIC0wLjEzMjY5LC0wLjEzMjY5IC0wLjMwNTgzLC0wLjE5OTI3IC0wLjQ3ODk4OTk1LC0wLjE5OTI3IHoiCiAgICAgICBpZD0icmVjdDM3MTUiCiAgICAgICBpbmtzY2FwZTpjb25uZWN0b3ItY3VydmF0dXJlPSIwIiAvPgogIDwvZz4KPC9zdmc+Cg==) !important;}#popup > input,#popup > button,#popup > textarea,#popup > select{all:unset;}.popup_alert,.popup_message,.popup_prompt,.popup_confirm{height:calc(100% - 41px);box-shadow:0 1px 1px #888;overflow:auto;padding:20px;word-break:break-all;}.popup_alert input[type=text],.popup_message input[type=text],.popup_prompt input[type=text],.popup_confirm input[type=text]{position:relative;width:90%;height:35px;padding:5px;font-size:1.05em;border:2px solid rgba(0,0,0,0.3);border-radius:6px;color:#ddd;background-color:#4a4a4f;}.popup_window___alert #a___alert,.popup_window___alert #a___message,.popup_window___message #a___alert,.popup_window___message #a___message{width:100% !important;}.popup_window___prompt #a___alert,.popup_window___prompt #b___alert,.popup_window___prompt #a___message,.popup_window___prompt #b___message,.popup_window___confirm #a___alert,.popup_window___confirm #b___alert,.popup_window___confirm #a___message,.popup_window___confirm #b___message{width:50% !important;}.resize_0,.resize_1,.resize_2,.resize_3{position:absolute;background-color:var(--resize-background-color);border-radius:var(--border-radius);opacity:0;z-index:5000;transition:var(--transition-time);}.resize_0{top:-4px;left:0;width:100%;height:10px;cursor:n-resize;}.resize_1{top:0;right:-4px;width:10px;height:100%;cursor:e-resize;}.resize_2{bottom:-4px;left:0;width:100%;height:10px;cursor:n-resize;}.resize_3{top:0;left:-4px;width:10px;height:100%;cursor:e-resize;}.resize_corner_0,.resize_corner_1,.resize_corner_2,.resize_corner_3{position:absolute;background-color:var(--resize-background-color);border-radius:var(--border-radius);opacity:0;z-index:5000;transition:var(--transition-time);width:var(--corner-size);height:var(--corner-size);border-radius:var(--corner-border-radius);}.resize_corner_0{top:-4px;left:-4px;cursor:nw-resize;}.resize_corner_1{top:-4px;right:-4px;cursor:ne-resize;}.resize_corner_2{bottom:-4px;right:-4px;cursor:nw-resize;}.resize_corner_3{bottom:-4px;left:-4px;cursor:ne-resize;}.resize_0:hover,.resize_1:hover,.resize_2:hover,.resize_3:hover,.resize_corner_0:hover,.resize_corner_1:hover,.resize_corner_2:hover,.resize_corner_3:hover{opacity:var(--hover-opacity);filter:var(--hover-filter);box-shadow:var(--resize-shadow);transition:var(--transition-time);}#popup{}#popup::-webkit-scrollbar{width:10px;scroll-behavior:smooth;}#popup{}#popup::-webkit-scrollbar-track{-webkit-border-radius:2px;border-radius:2px;margin:5px;}#popup{}#popup::-webkit-scrollbar-thumb{-webkit-border-radius:2px;border-radius:2px;background:rgb(30,150,255) !important;}}";document.head.appendChild(s)})();'use strict';
1
+ ;(()=>{const s=document.createElement("style");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:35px;--dock-sideLeft:10px;--dock-sideCenter:auto;--dock-sideRight:10px;--dock-icon-width:140px;--transition-time:.5s;--border-radius:25px;--corner-size:14px;--corner-border-radius:50%;--hover-opacity:1;--hover-filter:blur(3px);}#popup > [class^=popup_overflow],#popup > [class^=popup_bar_],#popup > [class^=popup_window_],#popup > [class^=popup_internal],#popup > [class^=popup_body],#popup{position:static;}#popup > [class^=popup_overflow],#popup > [class^=popup_bar_],#popup > [class^=popup_window_],#popup > [class^=popup_internal],#popup > [class^=popup_body],#popup,#popup_dock{will-change:transform,opacity,top,left,height,width;}#popup{position:absolute;top:0;left:0;right:0;bottom:0;width:100%;height:100%;}#popup .buttons{display:flex;position:absolute;left:0;right:0;bottom:0;height:40px;justify-content:space-evenly;align-items:center;}#popup .buttons button{all:unset;width:100%;height:100%;border-right:2px solid #636363;background:linear-gradient( 180deg,#000 0%,rgb(60,60,60) 100%);overflow:hidden;position:relative;color:var(--button-color);}#popup .buttons button:last-child{border-right:none;}#popup .buttons button img{filter:invert(1);opacity:0.5;width:15px;height:auto;margin-top:2px;}#popup .buttons button:hover{transition:all 0.3s ease;box-shadow:inset 0 0 5px rgb(0,0,0);text-shadow:0 0 15px rgb(255,255,255),0 0 3px rgb(255,255,255);}#popup .popup_bar_selected{background:linear-gradient( 45deg,#162858 60%,rgba(34,78,145,0.5411764706) 100%) !important;}#popup .zHigh{border-top-color:#278ed0 !important;box-shadow:0 -15px 20px -10px rgba(30,150,255,0.5),0 0 15px rgba(0,0,0,0.7) !important;border:1px solid rgba(0,0,0,0.05);}#popup [class^=popup_raised_]{position:absolute;inset:0;width:100%;height:100%;background-color:rgba(0,0,0,0.3);z-index:1;}#popup [class^=popup_window_]{position:absolute;inset:0;width:100%;height:100%;z-index:2;border-radius:10px;box-shadow:0 0 10px rgba(0,0,0,0.3);overflow:hidden;}#popup [class^=popup_overflow_]{position:absolute;inset:auto;z-index:3;border-radius:10px;background:gray;}#popup [class^=popup_bar_]{display:flex;width:100%;height:36px;background:linear-gradient( 45deg,#4a4a4f 60%,#AAA 100%);border-bottom:2px solid #555;box-shadow:0 1px 1px #888;z-index:2;}#popup [class^=popup_drag_]{width:100%;padding:10px 0 0 10px;color:#eee;text-overflow:ellipsis;white-space:nowrap;overflow:hidden;}#popup [class^=popup_icon_]{padding:8px 0 0 10px;color:#eee;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:linear-gradient( 0deg,rgb(60,60,60) 0%,#4a4a4f 100%);}#popup [class^=popup_body_]{position:absolute;inset:0;color:#eee;text-align:center;}.popupMaxSize{position:absolute !important;width:100% !important;height:100% !important;inset:0 !important;margin:0 !important;padding:0 !important;border-radius:0 !important;}#popup_dock{position:absolute;bottom:0;left:0;right:0;height:var(--dock-height);background-color:var(--dock-background-color);border-top:1px solid rgba(255,255,255,0.521);}#popup_dock #popup_dock_icon{position:absolute;top:3px;left:3px;width:70px;height:var(--dock-height);}#popup_dock #popup_dock_list{position:absolute;top:3px;left:var(--dock-sideLeft);right:var(--dock-sideLeft);height:calc(var(--dock-height) - 5px);overflow-y:auto;text-align:right;display:flex;flex-direction:row;justify-content:flex-end;}#popup_dock #popup_dock_list [class^=icon_]{width:var(--dock-icon-width);float:left;padding:4px;color:white;margin:2px 3px 0 0;display:flex;flex-direction:row;flex-wrap:nowrap;justify-content:flex-start;filter:saturate(400%);}#popup_dock #popup_dock_list [class^=icon_]:hover{background-color:rgb(77,77,77);}#popup_dock #popup_dock_list [class^=icon_] span:nth-child(1){width:20%;text-align:center;color:#F60;}#popup_dock #popup_dock_list [class^=icon_] span:nth-child(2){width:80%;text-align:left;text-overflow:ellipsis;white-space:nowrap;overflow:hidden;}#popup_dock #popup_dock_list [class^=icon_] button{width:20px;height:20px;color:white;padding:4px;margin:0;display:flex;align-content:center;justify-content:center;font-size:0.7em;border:none;background:none;}#popup_dock #popup_dock_options{position:absolute;top:3px;right:10px;width:var(--dock-sideRight);height:var(--dock-height);}#popup .iconize:before,#popup .maximize:before,#popup .close:before{content:\"\";position:absolute;inset:0;background-repeat:no-repeat !important;background-position:center !important;background-size:50% !important;filter:invert(1);opacity:0.5;margin:0;padding:0;}#popup .iconize:before{background-image:url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiIHN0YW5kYWxvbmU9Im5vIj8+CjwhLS0gQ3JlYXRlZCB3aXRoIElua3NjYXBlIChodHRwOi8vd3d3Lmlua3NjYXBlLm9yZy8pIC0tPgoKPHN2ZwogICB3aWR0aD0iMjAiCiAgIGhlaWdodD0iMjAiCiAgIHZpZXdCb3g9IjAgMCA1LjI5MTY2NjUgNS4yOTE2NjY4IgogICB2ZXJzaW9uPSIxLjEiCiAgIGlkPSJzdmczNzY4IgogICBpbmtzY2FwZTp2ZXJzaW9uPSIxLjEuMSAoM2JmNWFlMGQyNSwgMjAyMS0wOS0yMCkiCiAgIHNvZGlwb2RpOmRvY25hbWU9Imljb25pemUuc3ZnIgogICB4bWxuczppbmtzY2FwZT0iaHR0cDovL3d3dy5pbmtzY2FwZS5vcmcvbmFtZXNwYWNlcy9pbmtzY2FwZSIKICAgeG1sbnM6c29kaXBvZGk9Imh0dHA6Ly9zb2RpcG9kaS5zb3VyY2Vmb3JnZS5uZXQvRFREL3NvZGlwb2RpLTAuZHRkIgogICB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciCiAgIHhtbG5zOnN2Zz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciCiAgIHhtbG5zOnJkZj0iaHR0cDovL3d3dy53My5vcmcvMTk5OS8wMi8yMi1yZGYtc3ludGF4LW5zIyIKICAgeG1sbnM6Y2M9Imh0dHA6Ly9jcmVhdGl2ZWNvbW1vbnMub3JnL25zIyIKICAgeG1sbnM6ZGM9Imh0dHA6Ly9wdXJsLm9yZy9kYy9lbGVtZW50cy8xLjEvIj4KICA8ZGVmcwogICAgIGlkPSJkZWZzMzc2MiIgLz4KICA8c29kaXBvZGk6bmFtZWR2aWV3CiAgICAgaWQ9ImJhc2UiCiAgICAgcGFnZWNvbG9yPSIjZmZmZmZmIgogICAgIGJvcmRlcmNvbG9yPSIjNjY2NjY2IgogICAgIGJvcmRlcm9wYWNpdHk9IjEuMCIKICAgICBpbmtzY2FwZTpwYWdlb3BhY2l0eT0iMC4wIgogICAgIGlua3NjYXBlOnBhZ2VzaGFkb3c9IjIiCiAgICAgaW5rc2NhcGU6em9vbT0iNS42IgogICAgIGlua3NjYXBlOmN4PSI5LjkxMDcxNDMiCiAgICAgaW5rc2NhcGU6Y3k9IjY4LjM5Mjg1NyIKICAgICBpbmtzY2FwZTpkb2N1bWVudC11bml0cz0ibW0iCiAgICAgaW5rc2NhcGU6Y3VycmVudC1sYXllcj0ibGF5ZXIxIgogICAgIHNob3dncmlkPSJmYWxzZSIKICAgICB1bml0cz0icHgiCiAgICAgaW5rc2NhcGU6d2luZG93LXdpZHRoPSIxOTIwIgogICAgIGlua3NjYXBlOndpbmRvdy1oZWlnaHQ9IjEwMjciCiAgICAgaW5rc2NhcGU6d2luZG93LXg9Ii04IgogICAgIGlua3NjYXBlOndpbmRvdy15PSItOCIKICAgICBpbmtzY2FwZTp3aW5kb3ctbWF4aW1pemVkPSIxIgogICAgIGlua3NjYXBlOnBhZ2VjaGVja2VyYm9hcmQ9IjAiIC8+CiAgPG1ldGFkYXRhCiAgICAgaWQ9Im1ldGFkYXRhMzc2NSI+CiAgICA8cmRmOlJERj4KICAgICAgPGNjOldvcmsKICAgICAgICAgcmRmOmFib3V0PSIiPgogICAgICAgIDxkYzpmb3JtYXQ+aW1hZ2Uvc3ZnK3htbDwvZGM6Zm9ybWF0PgogICAgICAgIDxkYzp0eXBlCiAgICAgICAgICAgcmRmOnJlc291cmNlPSJodHRwOi8vcHVybC5vcmcvZGMvZGNtaXR5cGUvU3RpbGxJbWFnZSIgLz4KICAgICAgPC9jYzpXb3JrPgogICAgPC9yZGY6UkRGPgogIDwvbWV0YWRhdGE+CiAgPGcKICAgICBpbmtzY2FwZTpsYWJlbD0iTGF5ZXIgMSIKICAgICBpbmtzY2FwZTpncm91cG1vZGU9ImxheWVyIgogICAgIGlkPSJsYXllcjEiCiAgICAgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoMCwtMjkxLjcwODMyKSI+CiAgICA8cmVjdAogICAgICAgcnk9IjAuNjk5MTc0MjMiCiAgICAgICB5PSIyOTMuNjkyNzgiCiAgICAgICB4PSIwLjI3NDg0NjczIgogICAgICAgaGVpZ2h0PSIxLjM5ODM0ODUiCiAgICAgICB3aWR0aD0iNC43NjI0OTk4IgogICAgICAgaWQ9InJlY3QzNzM2LTciCiAgICAgICBzdHlsZT0iZmlsbDojMDAwMDAwO3N0cm9rZS13aWR0aDowLjEzMjk5MTg1IiAvPgogIDwvZz4KPC9zdmc+Cg==) !important;}#popup .maximize:before{background-image:url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiIHN0YW5kYWxvbmU9Im5vIj8+CjwhLS0gQ3JlYXRlZCB3aXRoIElua3NjYXBlIChodHRwOi8vd3d3Lmlua3NjYXBlLm9yZy8pIC0tPgoKPHN2ZwogICB3aWR0aD0iMjAiCiAgIGhlaWdodD0iMjAiCiAgIHZpZXdCb3g9IjAgMCA1LjI5MTY2NjUgNS4yOTE2NjY4IgogICB2ZXJzaW9uPSIxLjEiCiAgIGlkPSJzdmczNzY4IgogICBpbmtzY2FwZTp2ZXJzaW9uPSIxLjEuMSAoM2JmNWFlMGQyNSwgMjAyMS0wOS0yMCkiCiAgIHNvZGlwb2RpOmRvY25hbWU9Im1heGltaXplLnN2ZyIKICAgeG1sbnM6aW5rc2NhcGU9Imh0dHA6Ly93d3cuaW5rc2NhcGUub3JnL25hbWVzcGFjZXMvaW5rc2NhcGUiCiAgIHhtbG5zOnNvZGlwb2RpPSJodHRwOi8vc29kaXBvZGkuc291cmNlZm9yZ2UubmV0L0RURC9zb2RpcG9kaS0wLmR0ZCIKICAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogICB4bWxuczpzdmc9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogICB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiCiAgIHhtbG5zOmNjPSJodHRwOi8vY3JlYXRpdmVjb21tb25zLm9yZy9ucyMiCiAgIHhtbG5zOmRjPSJodHRwOi8vcHVybC5vcmcvZGMvZWxlbWVudHMvMS4xLyI+CiAgPGRlZnMKICAgICBpZD0iZGVmczM3NjIiIC8+CiAgPHNvZGlwb2RpOm5hbWVkdmlldwogICAgIGlkPSJiYXNlIgogICAgIHBhZ2Vjb2xvcj0iI2ZmZmZmZiIKICAgICBib3JkZXJjb2xvcj0iIzY2NjY2NiIKICAgICBib3JkZXJvcGFjaXR5PSIxLjAiCiAgICAgaW5rc2NhcGU6cGFnZW9wYWNpdHk9IjAuMCIKICAgICBpbmtzY2FwZTpwYWdlc2hhZG93PSIyIgogICAgIGlua3NjYXBlOnpvb209IjcuOTE5NTk1OSIKICAgICBpbmtzY2FwZTpjeD0iNC45ODc2MjgyIgogICAgIGlua3NjYXBlOmN5PSIyNS4zODAwODMiCiAgICAgaW5rc2NhcGU6ZG9jdW1lbnQtdW5pdHM9Im1tIgogICAgIGlua3NjYXBlOmN1cnJlbnQtbGF5ZXI9ImxheWVyMSIKICAgICBzaG93Z3JpZD0iZmFsc2UiCiAgICAgdW5pdHM9InB4IgogICAgIGlua3NjYXBlOndpbmRvdy13aWR0aD0iMTkyMCIKICAgICBpbmtzY2FwZTp3aW5kb3ctaGVpZ2h0PSIxMDI3IgogICAgIGlua3NjYXBlOndpbmRvdy14PSItOCIKICAgICBpbmtzY2FwZTp3aW5kb3cteT0iLTgiCiAgICAgaW5rc2NhcGU6d2luZG93LW1heGltaXplZD0iMSIKICAgICBpbmtzY2FwZTpwYWdlY2hlY2tlcmJvYXJkPSIwIiAvPgogIDxtZXRhZGF0YQogICAgIGlkPSJtZXRhZGF0YTM3NjUiPgogICAgPHJkZjpSREY+CiAgICAgIDxjYzpXb3JrCiAgICAgICAgIHJkZjphYm91dD0iIj4KICAgICAgICA8ZGM6Zm9ybWF0PmltYWdlL3N2Zyt4bWw8L2RjOmZvcm1hdD4KICAgICAgICA8ZGM6dHlwZQogICAgICAgICAgIHJkZjpyZXNvdXJjZT0iaHR0cDovL3B1cmwub3JnL2RjL2RjbWl0eXBlL1N0aWxsSW1hZ2UiIC8+CiAgICAgIDwvY2M6V29yaz4KICAgIDwvcmRmOlJERj4KICA8L21ldGFkYXRhPgogIDxnCiAgICAgaW5rc2NhcGU6bGFiZWw9IkxheWVyIDEiCiAgICAgaW5rc2NhcGU6Z3JvdXBtb2RlPSJsYXllciIKICAgICBpZD0ibGF5ZXIxIgogICAgIHRyYW5zZm9ybT0idHJhbnNsYXRlKDAsLTI5MS43MDgzMikiPgogICAgPHJlY3QKICAgICAgIHN0eWxlPSJmaWxsOiMwMDAwMDA7c3Ryb2tlLXdpZHRoOjAuMTQ3MDQ1NCIKICAgICAgIGlkPSJyZWN0MzczMiIKICAgICAgIHdpZHRoPSI0Ljc2MjQ5OTgiCiAgICAgICBoZWlnaHQ9IjQuNzYyNDk5OCIKICAgICAgIHg9IjAuMjkxODUyNTMiCiAgICAgICB5PSIyOTIuMDEwNDQiCiAgICAgICByeT0iMC42NjcxMjEyMyIgLz4KICA8L2c+Cjwvc3ZnPgo=) !important;}#popup .close:before{background-image:url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiIHN0YW5kYWxvbmU9Im5vIj8+CjwhLS0gQ3JlYXRlZCB3aXRoIElua3NjYXBlIChodHRwOi8vd3d3Lmlua3NjYXBlLm9yZy8pIC0tPgoKPHN2ZwogICB3aWR0aD0iMjAiCiAgIGhlaWdodD0iMjAiCiAgIHZpZXdCb3g9IjAgMCA1LjI5MTY2NjUgNS4yOTE2NjY4IgogICB2ZXJzaW9uPSIxLjEiCiAgIGlkPSJzdmczNzY4IgogICBpbmtzY2FwZTp2ZXJzaW9uPSIxLjEuMSAoM2JmNWFlMGQyNSwgMjAyMS0wOS0yMCkiCiAgIHNvZGlwb2RpOmRvY25hbWU9ImNsb3NlLnN2ZyIKICAgeG1sbnM6aW5rc2NhcGU9Imh0dHA6Ly93d3cuaW5rc2NhcGUub3JnL25hbWVzcGFjZXMvaW5rc2NhcGUiCiAgIHhtbG5zOnNvZGlwb2RpPSJodHRwOi8vc29kaXBvZGkuc291cmNlZm9yZ2UubmV0L0RURC9zb2RpcG9kaS0wLmR0ZCIKICAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogICB4bWxuczpzdmc9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogICB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiCiAgIHhtbG5zOmNjPSJodHRwOi8vY3JlYXRpdmVjb21tb25zLm9yZy9ucyMiCiAgIHhtbG5zOmRjPSJodHRwOi8vcHVybC5vcmcvZGMvZWxlbWVudHMvMS4xLyI+CiAgPGRlZnMKICAgICBpZD0iZGVmczM3NjIiIC8+CiAgPHNvZGlwb2RpOm5hbWVkdmlldwogICAgIGlkPSJiYXNlIgogICAgIHBhZ2Vjb2xvcj0iI2ZmZmZmZiIKICAgICBib3JkZXJjb2xvcj0iIzY2NjY2NiIKICAgICBib3JkZXJvcGFjaXR5PSIxLjAiCiAgICAgaW5rc2NhcGU6cGFnZW9wYWNpdHk9IjAuMCIKICAgICBpbmtzY2FwZTpwYWdlc2hhZG93PSIyIgogICAgIGlua3NjYXBlOnpvb209IjcuOTE5NTk1OSIKICAgICBpbmtzY2FwZTpjeD0iNC45ODc2MjgyIgogICAgIGlua3NjYXBlOmN5PSIyNS4zODAwODMiCiAgICAgaW5rc2NhcGU6ZG9jdW1lbnQtdW5pdHM9Im1tIgogICAgIGlua3NjYXBlOmN1cnJlbnQtbGF5ZXI9ImxheWVyMSIKICAgICBzaG93Z3JpZD0iZmFsc2UiCiAgICAgdW5pdHM9InB4IgogICAgIGlua3NjYXBlOndpbmRvdy13aWR0aD0iMTkyMCIKICAgICBpbmtzY2FwZTp3aW5kb3ctaGVpZ2h0PSIxMDI3IgogICAgIGlua3NjYXBlOndpbmRvdy14PSItOCIKICAgICBpbmtzY2FwZTp3aW5kb3cteT0iLTgiCiAgICAgaW5rc2NhcGU6d2luZG93LW1heGltaXplZD0iMSIKICAgICBpbmtzY2FwZTpwYWdlY2hlY2tlcmJvYXJkPSIwIiAvPgogIDxtZXRhZGF0YQogICAgIGlkPSJtZXRhZGF0YTM3NjUiPgogICAgPHJkZjpSREY+CiAgICAgIDxjYzpXb3JrCiAgICAgICAgIHJkZjphYm91dD0iIj4KICAgICAgICA8ZGM6Zm9ybWF0PmltYWdlL3N2Zyt4bWw8L2RjOmZvcm1hdD4KICAgICAgICA8ZGM6dHlwZQogICAgICAgICAgIHJkZjpyZXNvdXJjZT0iaHR0cDovL3B1cmwub3JnL2RjL2RjbWl0eXBlL1N0aWxsSW1hZ2UiIC8+CiAgICAgIDwvY2M6V29yaz4KICAgIDwvcmRmOlJERj4KICA8L21ldGFkYXRhPgogIDxnCiAgICAgaW5rc2NhcGU6bGFiZWw9IkxheWVyIDEiCiAgICAgaW5rc2NhcGU6Z3JvdXBtb2RlPSJsYXllciIKICAgICBpZD0ibGF5ZXIxIgogICAgIHRyYW5zZm9ybT0idHJhbnNsYXRlKDAsLTI5MS43MDgzMikiPgogICAgPHBhdGgKICAgICAgIHN0eWxlPSJmaWxsOiMwMDAwMDA7c3Ryb2tlLXdpZHRoOjAuMTQ5MDI2NjMiCiAgICAgICBkPSJtIDAuOTY5NDI2NTUsMjkxLjk4MjY1IGMgLTAuMTczMTcsMCAtMC4zNDYzMSwwLjA2NjYgLTAuNDc5LDAuMTk5MjcgLTAuMjY1MzgsMC4yNjUzNyAtMC4yNjUzOCwwLjY5MjQ0IDAsMC45NTc4MSBsIDEuMjI0MjA5OTUsMS4yMjQxNyAtMS4yMjQyMDk5NSwxLjIyNDE3IGMgLTAuMjY1MzgsMC4yNjUzNyAtMC4yNjUzOCwwLjY5MjQ0IDAsMC45NTc4MSAwLjI2NTM4LDAuMjY1MzcgMC42OTI2MDk5NSwwLjI2NTM3IDAuOTU3OTg5OTUsMCBsIDEuMjI0MjEsLTEuMjI0MTcgMS4yMjQyMDgsMS4yMjQxNyBjIDAuMTMyNjkyLDAuMTMyNjggMC4zMDU4MywwLjE5OTI3IDAuNDc4OTkxLDAuMTk5MjcgMC4wNDMzLDAgMC4wODY3LC0wLjAwNCAwLjEyOTM3OSwtMC4wMTI1IDAuMTI3OTcxLC0wLjAyNDkgMC4yNTAxLC0wLjA4NzIgMC4zNDk2MiwtMC4xODY3NiAwLjAzMzIsLTAuMDMzMiAwLjA2MjMsLTAuMDY4NiAwLjA4NzEsLTAuMTA2MTQgMC4xNzQxNiwtMC4yNjMxOSAwLjE0NTA2OSwtMC42MTk0NiAtMC4wODcxLC0wLjg1MTY2IGwgLTEuMjI0MjA4LC0xLjIyNDE3IDEuMjI0MjA4LC0xLjIyNDE3IGMgMC4yNjUzNywtMC4yNjUzNyAwLjI2NTM3LC0wLjY5MjQ0IDAsLTAuOTU3ODEgLTAuMjY1Mzc5LC0wLjI2NTM3IC0wLjY5MjYxLC0wLjI2NTM3IC0wLjk1Nzk5LDAgbCAtMS4yMjQyMDgsMS4yMjQxNyAtMS4yMjQyMSwtMS4yMjQxNyBjIC0wLjEzMjY5LC0wLjEzMjY5IC0wLjMwNTgzLC0wLjE5OTI3IC0wLjQ3ODk4OTk1LC0wLjE5OTI3IHoiCiAgICAgICBpZD0icmVjdDM3MTUiCiAgICAgICBpbmtzY2FwZTpjb25uZWN0b3ItY3VydmF0dXJlPSIwIiAvPgogIDwvZz4KPC9zdmc+Cg==) !important;}#popup > input,#popup > button,#popup > textarea,#popup > select{all:unset;}.popup_alert,.popup_message,.popup_prompt,.popup_confirm{height:calc(100% - 41px);box-shadow:0 1px 1px #888;overflow:auto;padding:20px;word-break:break-all;}.popup_alert input[type=text],.popup_message input[type=text],.popup_prompt input[type=text],.popup_confirm input[type=text]{position:relative;width:90%;height:35px;padding:5px;font-size:1.05em;border:2px solid rgba(0,0,0,0.3);border-radius:6px;color:#ddd;background-color:#4a4a4f;}.popup_window___alert #a___alert,.popup_window___alert #a___message,.popup_window___message #a___alert,.popup_window___message #a___message{width:100% !important;}.popup_window___prompt #a___alert,.popup_window___prompt #b___alert,.popup_window___prompt #a___message,.popup_window___prompt #b___message,.popup_window___confirm #a___alert,.popup_window___confirm #b___alert,.popup_window___confirm #a___message,.popup_window___confirm #b___message{width:50% !important;}.resize_0,.resize_1,.resize_2,.resize_3{position:absolute;background-color:var(--resize-background-color);border-radius:var(--border-radius);opacity:0;z-index:5000;transition:var(--transition-time);}.resize_0{top:-4px;left:0;width:100%;height:10px;cursor:n-resize;}.resize_1{top:0;right:-4px;width:10px;height:100%;cursor:e-resize;}.resize_2{bottom:-4px;left:0;width:100%;height:10px;cursor:n-resize;}.resize_3{top:0;left:-4px;width:10px;height:100%;cursor:e-resize;}.resize_corner_0,.resize_corner_1,.resize_corner_2,.resize_corner_3{position:absolute;background-color:var(--resize-background-color);border-radius:var(--border-radius);opacity:0;z-index:5000;transition:var(--transition-time);width:var(--corner-size);height:var(--corner-size);border-radius:var(--corner-border-radius);}.resize_corner_0{top:-4px;left:-4px;cursor:nw-resize;}.resize_corner_1{top:-4px;right:-4px;cursor:ne-resize;}.resize_corner_2{bottom:-4px;right:-4px;cursor:nw-resize;}.resize_corner_3{bottom:-4px;left:-4px;cursor:ne-resize;}.resize_0:hover,.resize_1:hover,.resize_2:hover,.resize_3:hover,.resize_corner_0:hover,.resize_corner_1:hover,.resize_corner_2:hover,.resize_corner_3:hover{opacity:var(--hover-opacity);filter:var(--hover-filter);box-shadow:var(--resize-shadow);transition:var(--transition-time);}#popup{}#popup::-webkit-scrollbar{width:10px;scroll-behavior:smooth;}#popup{}#popup::-webkit-scrollbar-track{-webkit-border-radius:2px;border-radius:2px;margin:5px;}#popup{}#popup::-webkit-scrollbar-thumb{-webkit-border-radius:2px;border-radius:2px;background:rgb(30,150,255) !important;}}";document.head.appendChild(s)})();"use strict";
2
2
 
3
- var client = require('react-dom/client');
4
- var $2 = require('jquery');
3
+ var e = require("react-dom/client");
5
4
 
6
- function _interopDefault (e) { return e && e.__esModule ? e : { default: e }; }
7
-
8
- var $2__default = /*#__PURE__*/_interopDefault($2);
9
-
10
- var __defProp = Object.defineProperty;
11
- var __getOwnPropNames = Object.getOwnPropertyNames;
12
- var __esm = (fn, res) => function __init() {
13
- return fn && (res = (0, fn[__getOwnPropNames(fn)[0]])(fn = 0)), res;
14
- };
15
- var __export = (target, all) => {
16
- for (var name in all)
17
- __defProp(target, name, { get: all[name], enumerable: true });
18
- };
19
- var credits;
20
- var init_credits = __esm({
21
- "core/credits.ts"() {
22
- credits = (props) => {
23
- console.groupCollapsed(`%c${props.name} v${props.version}%c`, "color:orange", "");
24
- console.debug(`%c${props.name} v${props.version}%c by Dario Passariello started`, "color:orange", "");
25
- console.debug(`%cType ${props.name} in this console to see it`, "color:gray", "");
26
- console.debug("name: %c" + props.name, "color:orange", "");
27
- console.debug("version: %c" + props.version, "color:orange", "");
28
- console.debug("description: %c" + props.description, "color:orange", "");
29
- console.debug("license: %c" + props.license, "color:orange", "");
30
- console.debug("author: %c" + props.author.name, "color:orange", "");
31
- console.debug("email: %c" + props.author.email, "color:orange", "");
32
- console.groupEnd();
33
- };
34
- Object.defineProperty(
35
- layerpro,
36
- "credits",
37
- {
38
- value: credits,
39
- writable: false,
40
- configurable: false
41
- }
42
- );
43
- }
44
- });
45
-
46
- // core/mouseCoords.ts
47
- var mouseCoords_exports = {};
48
- __export(mouseCoords_exports, {
49
- getMouseDirection: () => getMouseDirection,
50
- mouseCoord: () => mouseCoord
51
- });
52
- var mouseCoord, xDirection, yDirection, oldX, oldY, getMouseDirection;
53
- var init_mouseCoords = __esm({
54
- "core/mouseCoords.ts"() {
55
- mouseCoord = (e) => {
56
- return [
57
- e.clientX,
58
- e.clientY,
59
- e.screenX,
60
- e.screenY,
61
- e.pageX,
62
- e.pageY
63
- ];
64
- };
65
- xDirection = 0;
66
- yDirection = "";
67
- oldX = 0;
68
- oldY = 0;
69
- getMouseDirection = (e) => {
70
- xDirection = oldX < e.pageX ? 1 : 0;
71
- yDirection = oldY < e.pageY ? "down" : "up";
72
- oldX = e.pageX;
73
- oldY = e.pageY;
74
- return [xDirection, yDirection];
75
- };
76
- }
77
- });
78
-
79
- // core/message.ts
80
- var escapeHtml, LPalert, LPmessage, LPconfirm, LPprompt;
81
- var init_message = __esm({
82
- "core/message.ts"() {
83
- escapeHtml = (str) => {
84
- const div = document.createElement("div");
85
- div.textContent = str;
86
- return div.innerHTML;
87
- };
88
- LPalert = (txt) => {
89
- const safeText = escapeHtml(String(txt));
90
- const pUp = window.layerpro.popup.open(
91
- {
92
- id: "__alert",
93
- name: "Warning",
94
- icon: "&#9888;",
95
- width: 380,
96
- height: 220,
97
- iconize: false,
98
- maximize: false,
99
- close: true,
100
- isMaximize: false,
101
- dockable: false,
102
- raised: true,
103
- movable: true,
104
- resizable: false
105
- }
106
- );
107
- const view = `
108
- <div class='popup_prompt'>
109
- <div class="popup_message_body">
110
- <center>${safeText}</center>
111
- </div>
112
- <div class="buttons">
113
- <button id="${"a_" + pUp["id"]}" type="button">CLOSE</button>
114
- </div>
115
- </div>
116
- `;
117
- $(".popup_body_" + pUp["id"]).html(view);
118
- $("#a_" + pUp["id"]).on("click", () => {
119
- window.layerpro.popup.close(pUp);
120
- });
121
- return;
122
- };
123
- LPmessage = (txt, func) => {
124
- const safeText = escapeHtml(String(txt));
125
- const pUp = window.layerpro.popup.open(
126
- {
127
- id: "__message",
128
- name: "Message",
129
- icon: "&#9965;",
130
- width: 380,
131
- height: 220,
132
- iconize: false,
133
- maximize: false,
134
- close: true,
135
- isMaximize: false,
136
- dockable: false,
137
- raised: true,
138
- movable: true,
139
- resizable: false
140
- }
141
- );
142
- const view = `
143
- <div class='popup_prompt'>
144
- <div class="popup_message_body">
145
- <center>${safeText}</center>
146
- </div>
147
- <div class="buttons">
148
- <button id="${"a_" + pUp["id"]}" type="button">CLOSE</button>
149
- </div>
150
- </div>
151
- `;
152
- $(".popup_body_" + pUp["id"]).html(view);
153
- $("#a_" + pUp["id"]).on("click", () => {
154
- if (func) {
155
- func();
156
- }
157
- window.layerpro.popup.close(pUp);
158
- });
159
- return;
5
+ function o(e) {
6
+ return e && e.__esModule ? e : {
7
+ default: e
160
8
  };
161
- LPconfirm = (txt, func, noFunction) => {
162
- if ($(".confirm").length === 0) {
163
- const safeText = escapeHtml(String(txt));
164
- const pUp = window.layerpro.popup.open(
165
- {
166
- id: "__confirm",
167
- name: "Confirm",
168
- icon: "&#9745;",
169
- width: 380,
170
- height: 220,
171
- iconize: false,
172
- maximize: false,
173
- close: true,
174
- isMaximize: false,
175
- dockable: false,
176
- raised: true,
177
- movable: true,
178
- resizable: false
179
- }
180
- );
181
- const view = `
182
- <div class='popup_prompt'>
183
- <div class="popup_message_body">
184
- <center>${safeText}</center>
185
- </div>
186
- <div class="buttons">
187
- <button id="${"a_" + pUp["id"]}" type="button">CONFIRM</button>
188
- <button id="${"b_" + pUp["id"]}" type="button">CANCEL</button>
189
- </div>
190
- </div>
191
- `;
192
- $(".popup_body_" + pUp["id"]).html(view);
193
- $("#a_" + pUp["id"]).on("click", () => {
194
- if (func) {
195
- func();
196
- }
197
- window.layerpro.popup.close(pUp);
198
- });
199
- $("#b_" + pUp["id"]).on("click", () => {
200
- if (noFunction) {
201
- noFunction();
202
- }
203
- window.layerpro.popup.close(pUp);
204
- });
205
- }
206
- return;
207
- };
208
- LPprompt = (txt, value) => {
209
- const finalValue = value || "_prompt";
210
- const safeText = escapeHtml(String(txt));
211
- const pUp = window.layerpro.popup.open(
212
- {
213
- id: "__prompt",
214
- name: "Prompt",
215
- icon: "&#9998;",
216
- width: 380,
217
- height: 220,
218
- iconize: false,
219
- maximize: false,
220
- close: true,
221
- isMaximize: false,
222
- dockable: false,
223
- raised: true,
224
- movable: true,
225
- resizable: false
226
- }
227
- );
228
- const view = `
229
- <div class='popup_prompt'>
9
+ }
230
10
 
231
- <div class="popup_message_body">
232
- <center>
233
- ${safeText}
234
- </center>
235
- </div>
236
-
237
- <input id="input_${pUp["id"]}" type="text" placeholder="write here" />
238
- <br/>
239
-
240
- <div class="buttons">
241
- <button id="a_${pUp["id"]}" type="button">OK</button>
242
- <button id="b_${pUp["id"]}" type="button">CANCEL</button>
243
- </div>
244
-
245
- </div>
246
- `;
247
- $(".popup_body_" + pUp["id"]).html(view);
248
- $("#input_" + pUp["id"]).on("focus", function() {
249
- $(this).attr("placeholder", "");
250
- }).on("blur", function() {
251
- $(this).attr("placeholder", "write here");
252
- });
253
- $("#a_" + pUp["id"]).on("click", () => {
254
- if ($("#input_" + pUp["id"]).val() > "") {
255
- if (typeof finalValue === "function") finalValue();
256
- const strVal = String(finalValue);
257
- if (strVal === finalValue) return JSON.stringify($("#input_" + pUp["id"]).val());
258
- window.layerpro.popup.close(pUp);
259
- } else {
260
- alert(`input can't be empty!`);
261
- }
262
- });
263
- $("#b_" + pUp["id"]).on("click", () => {
264
- window.layerpro.popup.close(pUp);
265
- });
266
- return;
267
- };
268
- window.message = (txt, func) => window.layerpro.message(txt, func);
269
- window.alert = (txt) => window.layerpro.alert(txt);
270
- window.confirm = (txt, func, noFunction) => window.layerpro.confirm(txt, func, noFunction);
271
- window.prompt = (txt, func, _event) => window.layerpro.prompt(txt, func, _event);
272
- Object.defineProperty(window, "alert", { enumerable: false });
273
- Object.defineProperty(window, "prompt", { enumerable: false });
274
- Object.defineProperty(window, "message", { enumerable: false });
275
- Object.defineProperty(window, "confirm", { enumerable: false });
276
- Object.defineProperties(
277
- window.layerpro,
278
- {
279
- prompt: {
280
- value: LPprompt
281
- },
282
- alert: {
283
- value: LPalert
284
- },
285
- message: {
286
- value: LPmessage
287
- },
288
- confirm: {
289
- value: LPconfirm
290
- }
291
- }
292
- );
293
- }
294
- });
295
- var reactRoots, dockEventListeners, escapeHtml2, genLayer;
296
- var init_genLayer = __esm({
297
- "core/genLayer.ts"() {
298
- init_message();
299
- reactRoots = /* @__PURE__ */ new Map();
300
- dockEventListeners = /* @__PURE__ */ new Map();
301
- escapeHtml2 = (str) => {
302
- const div = document.createElement("div");
303
- div.textContent = str;
304
- return div.innerHTML;
305
- };
306
- genLayer = (props) => {
307
- if (typeof props.body === "function") {
308
- console.error(
309
- 'LayerPro Error: Passing a function as body is not supported. Use a React element like <Component /> or plain text/HTML string instead.\nExample: body: <MyComponent /> or body: "<p>Hello</p>"'
310
- );
311
- return;
312
- }
313
- const pContainer = props.raised === true ? ".popup_raised_" + props.id : "#popup";
314
- $('[class^="popup_window_"]', pContainer).removeClass("zHigh");
315
- $('[class^="popup_bar_"]', pContainer).removeClass("popup_bar_selected");
316
- $('[class^="icon_"]', pContainer).removeClass("popup_bar_selected");
317
- if (props.raised === true) {
318
- $('<div class="popup_raised_' + props.id + '">', pContainer).appendTo("#popup").css({
319
- "pointer-events": "auto",
320
- "z-index": Number(layerpro.popup.zIndex($('[class^="popup_overflow_"]', pContainer))) + 1e3
321
- });
322
- }
323
- $('<div class="popup_overflow_' + props.id + '">', pContainer).appendTo(pContainer).css(
324
- {
325
- top: props.top,
326
- left: props.left,
327
- right: props.right,
328
- bottom: props.bottom,
329
- width: props.width,
330
- height: props.height,
331
- minWidth: props.minWidth,
332
- minHeight: props.minHeight,
333
- maxWidth: props.maxWidth,
334
- maxHeight: props.maxHeight,
335
- pointerEvents: "auto",
336
- zIndex: Number(layerpro.popup.zIndex($('[class^="popup_overflow_"]', pContainer))) + 1
337
- }
338
- ).on("mousedown", (_e) => {
339
- layerpro.popup.index(props);
340
- }).hide().fadeIn(props.fadeIn);
341
- const item = $('<div class="popup_window_' + props.id + '">', pContainer).appendTo(".popup_overflow_" + props.id).css({ "pointer-events": "auto" }).addClass("zHigh").addClass(props.class);
342
- const pos = [props.top, props.left, props.bottom, props.right], sum = pos.reduce((sumSoFar, nextValue) => {
343
- if (typeof nextValue === "number" && isFinite(nextValue)) {
344
- return Number(sumSoFar) + nextValue;
345
- }
346
- return sumSoFar;
347
- }, 0);
348
- if (sum === 0) layerpro.popup.center(props);
349
- layerpro.popup.unmount = (id) => {
350
- const root = reactRoots.get(id);
351
- if (root) {
352
- root.unmount();
353
- reactRoots.delete(id);
354
- }
355
- };
356
- layerpro.popup.cleanupEvents = (id) => {
357
- const listeners = dockEventListeners.get(id);
358
- if (listeners) {
359
- if (listeners.iconClick) $(".icon_" + id, "#popup_dock").find("span").off("click");
360
- if (listeners.iconClose) $(".icon_close_" + id, "#popup_dock").off("click");
361
- if (listeners.buttonIconize) $(".button_iconize_" + id).off("click");
362
- if (listeners.buttonMaximize) $(".button_maximize_" + id).off("click");
363
- if (listeners.buttonClose) $(".button_close_" + id).off("click");
364
- if (listeners.escKey) $(document).off("keydown");
365
- dockEventListeners.delete(id);
366
- }
367
- };
368
- layerpro.popup.getReactRoot = (id) => reactRoots.get(id);
369
- $('<div class="popup_bar_' + props.id + '">', pContainer).appendTo(item).addClass("popup_bar_selected");
370
- if (props.icon) $('<div class="popup_icon_' + props.id + '">' + props.icon + "</div>", pContainer).appendTo(".popup_bar_" + props.id);
371
- const safeName = escapeHtml2(String(props.name));
372
- $('<div class="popup_drag_' + props.id + '">' + safeName + "</div>", pContainer).appendTo(".popup_bar_" + props.id);
373
- $('<div class="popup_option_' + props.id + '">', pContainer).appendTo(".popup_bar_" + props.id);
374
- if (props.iconize === true && $("#popup_dock").length === 0) {
375
- $("#root").css("margin", "0 0 var( --dock-height ) 0");
376
- const dock = `
377
- <div id="popup_dock">
378
- <div id="popup_dock_icon"></div>
379
- <div id="popup_dock_list"></div>
380
- <div id="popup_dock_options"></div>
381
- </div>
382
- `;
383
- $(dock).appendTo("#popup").css(
384
- {
385
- pointerEvents: "auto",
386
- zIndex: Number(layerpro.popup.zIndex($("#popup"))) + 1e3
387
- }
388
- );
389
- }
390
- if ($("#popup_dock").length > 0 && props.dockable === true) {
391
- const idStr2 = String(props.id);
392
- const dock_icon = `
393
- <div class="icon_${props.id}">
394
- <span>${props.icon ? props.icon : ""}</span>
395
- <span>${safeName}</span>
396
- `;
397
- const iconClickHandler = function(_e) {
398
- if ($(".popup_overflow_" + props.id + ":hidden")) {
399
- layerpro.popup.iconize(props);
400
- layerpro.popup.index(props);
401
- } else {
402
- layerpro.popup.iconize(props);
403
- }
404
- layerpro.popup.index(props);
405
- };
406
- const iconCloseHandler = function(_e) {
407
- props?.buttons?.cancel?.cb && props?.buttons?.cancel?.cb();
408
- layerpro.popup.close(props);
409
- };
410
- dockEventListeners.set(idStr2, { iconClick: true, iconClose: true });
411
- $(dock_icon, "#popup_dock").appendTo("#popup_dock_list").addClass("popup_bar_selected").find("span").on("click", iconClickHandler);
412
- $(`<button class="icon_close_${props.id}">X</button>`, "#popup_dock").appendTo(`.icon_${props.id}`).on("click", iconCloseHandler);
413
- }
414
- if (props.iconize === true) {
415
- const idStr2 = String(props.id);
416
- const buttonIconizeHandler = function(_e) {
417
- layerpro.popup.iconize(props);
418
- };
419
- const existing2 = dockEventListeners.get(idStr2) || {};
420
- existing2.buttonIconize = true;
421
- dockEventListeners.set(idStr2, existing2);
422
- $('<button class="button_iconize_' + props.id + ' iconize">', "#popup").appendTo(".popup_option_" + props.id).on("click", buttonIconizeHandler);
423
- }
424
- if (props.maximize === true) {
425
- const idStr2 = String(props.id);
426
- const buttonMaximizeHandler = function(_e) {
427
- layerpro.popup.maximize(props);
428
- };
429
- const existing2 = dockEventListeners.get(idStr2) || {};
430
- existing2.buttonMaximize = true;
431
- dockEventListeners.set(idStr2, existing2);
432
- $('<button class="button_maximize_' + props.id + ' maximize">', "#popup").appendTo(".popup_option_" + props.id).on("click", buttonMaximizeHandler);
433
- }
434
- if (props.close === true) {
435
- const idStr2 = String(props.id);
436
- const buttonCloseHandler = function(_e) {
437
- props?.buttons?.cancel?.cb && props?.buttons?.cancel?.cb();
438
- layerpro.popup.close(props);
439
- };
440
- const existing2 = dockEventListeners.get(idStr2) || {};
441
- existing2.buttonClose = true;
442
- dockEventListeners.set(idStr2, existing2);
443
- $('<button class="button_close_' + props.id + ' close">', "#popup").appendTo(".popup_option_" + props.id).on("click", buttonCloseHandler);
444
- }
445
- const escHandler = function(e) {
446
- if (e.key === "Escape" || e.keyCode === 27) {
447
- props?.buttons?.cancel?.cb && props?.buttons?.cancel?.cb();
448
- layerpro.popup.close(props);
449
- }
450
- };
451
- const idStr = String(props.id), existing = dockEventListeners.get(idStr) || {};
452
- existing.escKey = true;
453
- dockEventListeners.set(idStr, existing);
454
- $(document).on("keydown", escHandler);
455
- if (props.timer > 0) {
456
- const t = {};
457
- t[String(`st_${props.id}`)] = setTimeout(() => {
458
- layerpro.popup.close(props);
459
- clearTimeout(t[String(`st_${props.id}`)]);
460
- }, props.timer);
461
- }
462
- if (props.source) {
463
- const bodyElement = $(".popup_body_" + props.id);
464
- const sourceUrl = String(props.source);
465
- try {
466
- const url = new URL(sourceUrl, window.location.origin);
467
- if (url.protocol !== "https:" && url.protocol !== "http:" && url.protocol !== "") {
468
- console.error("Invalid URL protocol:", url.protocol);
469
- return;
470
- }
471
- } catch {
472
- console.error("Invalid source URL:", props.source);
473
- return;
474
- }
475
- fetch(sourceUrl, { mode: "same-origin" }).then((response) => {
476
- const contentType = response.headers.get("content-type") || "";
477
- if (!contentType.includes("text/html")) {
478
- console.warn("Source returned non-HTML content:", contentType);
479
- }
480
- if (!response.ok) {
481
- throw new Error(`HTTP error! status: ${response.status}`);
482
- }
483
- return response.text();
484
- }).then((html) => {
485
- const safeHtml = escapeHtml2(html);
486
- bodyElement.hide().html(safeHtml).fadeIn(props.fadeIn);
487
- }).catch((error) => {
488
- console.error("Error loading content:", error);
11
+ var t, i, n, p, s, r, c, a = o(require("jquery")), d = Object.defineProperty, u = Object.getOwnPropertyNames, l = (e, o) => function() {
12
+ return e && (o = (0, e[u(e)[0]])(e = 0)), o;
13
+ }, h = (e, o) => {
14
+ for (var t in o) d(e, t, {
15
+ get: o[t],
16
+ enumerable: !0
17
+ });
18
+ }, m = l({
19
+ "core/credits.ts"() {
20
+ t = e => {}, Object.defineProperty(layerpro, "credits", {
21
+ value: t,
22
+ writable: !1,
23
+ configurable: !1
489
24
  });
490
- }
491
- if (props.movable) layerpro.popup.movable(props);
492
- if (props.resizable) layerpro.popup.resizable(props);
493
- if (props.isMaximize) layerpro.popup.maximize(props);
494
- const showBody = () => {
495
- if (props.body && !props.source) {
496
- const isReactElement = typeof props.body === "object" && props.body !== null && props.body.props !== void 0;
497
- if (isReactElement) {
498
- const container = document.querySelector(".popup_body_" + props.id);
499
- if (!container) {
500
- console.debug("Container not found for React component");
501
- return;
502
- }
503
- try {
504
- const root = client.createRoot(container);
505
- root.render(props.body);
506
- reactRoots.set(String(props.id), root);
507
- } catch (_e) {
508
- console.error("Error rendering React component:", _e);
509
- }
510
- } else if (typeof props.body === "string" && props.body.trim().startsWith("<")) {
511
- const safeBody = escapeHtml2(props.body);
512
- $(".popup_body_" + props.id).html(safeBody).fadeIn(props.fadeIn);
513
- } else {
514
- const safeBody = escapeHtml2(String(props.body));
515
- $(".popup_body_" + props.id).text(safeBody).fadeIn(props.fadeIn);
516
- }
517
- }
518
- };
519
- const showButtons = () => {
520
- if (props.buttons) {
521
- $('<div class="buttons"></div>').appendTo(".popup_body_" + props.id);
522
- if (props.buttons.confirm) {
523
- const Confirm = $(`<button id="lp_confirm" type="button">
524
- ${props.buttons.confirm.text.toUpperCase()}
525
- </button>`).appendTo(".buttons");
526
- props.buttons.confirm.cb && Confirm.click(
527
- () => {
528
- props.buttons?.confirm?.cb?.();
529
- layerpro.popup.close(props);
530
- }
531
- );
532
- }
533
- if (props.buttons.cancel) {
534
- const Cancel = $(`<button id="lp_cancel" type="button">
535
- ${props.buttons.cancel.text.toUpperCase()}
536
- </button>`).appendTo(".buttons");
537
- Cancel.click(
538
- () => {
539
- props.buttons?.cancel?.cb?.();
540
- layerpro.popup.close(props);
541
- }
542
- );
543
- }
544
- }
545
- };
546
- const _overflow = $('<div class="popup_overflow_' + props.id + '">', "#popup");
547
- $('<div class="popup_internal_' + props.id + '">', _overflow).appendTo(item);
548
- $('<div class="popup_body_' + props.id + '">', _overflow).appendTo(".popup_internal_" + props.id).hide().fadeIn(
549
- props.fadeIn,
550
- function() {
551
- showBody();
552
- showButtons();
553
- }
554
- );
555
- return;
556
- };
557
- }
558
- });
559
-
560
- // core/mobile.ts
561
- var MOBILE_BREAKPOINT, isMobileMediaQuery, isMobileUserAgent, hasTouchSupport, getInteractionMode, currentMode, wasAboveBreakpoint, onModeChangeCallback, logMode, getPointerDown, getPointerMove, getPointerUp, getClientX, getClientY;
562
- var init_mobile = __esm({
563
- "core/mobile.ts"() {
564
- MOBILE_BREAKPOINT = 1024;
565
- isMobileMediaQuery = () => {
566
- if (typeof window === "undefined") return false;
567
- return window.matchMedia(`(max-width: ${MOBILE_BREAKPOINT}px)`).matches;
568
- };
569
- isMobileUserAgent = () => {
570
- if (typeof navigator === "undefined") return false;
571
- const ua = navigator.userAgent;
572
- return /Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i.test(ua);
573
- };
574
- hasTouchSupport = () => {
575
- return "ontouchstart" in window || navigator.maxTouchPoints > 0;
576
- };
577
- getInteractionMode = () => {
578
- if (window.__FORCE_TOUCH_MODE__ === true) return "touch";
579
- const isMobileDevice = isMobileUserAgent() || isMobileMediaQuery();
580
- if (hasTouchSupport() && isMobileDevice) return "touch";
581
- return "mouse";
582
- };
583
- currentMode = getInteractionMode();
584
- wasAboveBreakpoint = !isMobileMediaQuery();
585
- onModeChangeCallback = null;
586
- logMode = () => {
587
- const isMobile = currentMode === "touch";
588
- console.debug(`[LayerPro] Mode: ${isMobile ? "MOBILE (touch events)" : "DESKTOP (mouse events)"} | UA: ${isMobileUserAgent() ? "mobile" : "desktop"} | Viewport: ${isMobileMediaQuery() ? "mobile" : "desktop"} | Touch: ${hasTouchSupport()}`);
589
- };
590
- if (typeof window !== "undefined") {
591
- logMode();
592
25
  }
593
- if (typeof window !== "undefined") {
594
- const mq = window.matchMedia(`(max-width: ${MOBILE_BREAKPOINT}px)`);
595
- const handleResize = () => {
596
- const newMode = getInteractionMode();
597
- const oldMode = currentMode;
598
- const isNowAboveBreakpoint = !isMobileMediaQuery();
599
- currentMode = newMode;
600
- logMode();
601
- if (wasAboveBreakpoint !== isNowAboveBreakpoint) {
602
- wasAboveBreakpoint = isNowAboveBreakpoint;
603
- if (onModeChangeCallback) {
604
- onModeChangeCallback(newMode, oldMode);
605
- }
606
- }
607
- };
608
- if (mq.addListener) {
609
- mq.addListener(handleResize);
610
- } else {
611
- mq.addEventListener("change", handleResize);
612
- }
613
- let resizeTimer;
614
- window.addEventListener("resize", () => {
615
- clearTimeout(resizeTimer);
616
- resizeTimer = setTimeout(handleResize, 150);
617
- });
618
- }
619
- getPointerDown = () => "pointerdown";
620
- getPointerMove = () => "pointermove";
621
- getPointerUp = () => "pointerup";
622
- getClientX = (e) => {
623
- if (e.clientX !== void 0) {
624
- return e.clientX;
625
- }
626
- if (e.touches && e.touches.length > 0) {
627
- return e.touches[0].clientX;
628
- }
629
- return e.clientX;
630
- };
631
- getClientY = (e) => {
632
- if (e.clientY !== void 0) {
633
- return e.clientY;
634
- }
635
- if (e.touches && e.touches.length > 0) {
636
- return e.touches[0].clientY;
637
- }
638
- return e.clientY;
639
- };
640
- }
641
26
  });
642
27
 
643
- // core/properties.ts
644
- var properties_exports = {};
645
- __export(properties_exports, {
646
- popup: () => popup
28
+ h({}, {
29
+ getMouseDirection: () => c,
30
+ mouseCoord: () => i
647
31
  });
648
- var larX, larY, isResizable, highIndex, startX, startY, startWidth, startHeight, startLeft, startTop, startBottom, startRight, movableHandlers, resizeHandlers, Win, Body, popup;
649
- var init_properties = __esm({
650
- "core/properties.ts"() {
651
- init_genLayer();
652
- init_mobile();
653
- larX = 250;
654
- larY = 150;
655
- highIndex = 1;
656
- movableHandlers = /* @__PURE__ */ new Map();
657
- resizeHandlers = /* @__PURE__ */ new Map();
658
- Win = $(window);
659
- Body = $("body");
660
- popup = {
661
- open: (props) => {
662
- if (!props) return;
663
- props.id = props.id || Math.round(Math.random() * 1e3);
664
- props.body = props.body || "";
665
- props.class = props.class || "";
666
- props.width = props.width || 300;
667
- props.height = props.height || 200;
668
- props.minWidth = props.minWidth || 340;
669
- props.minHeight = props.minHeight || 220;
670
- props.name = props.name || "popUp_" + props.id;
671
- props.source = props.source || null;
672
- props.icon = props.icon || null;
673
- props.iconize = props.iconize || null;
674
- props.maximize = props.maximize || null;
675
- props.isMaximize = props.isMaximize || null;
676
- props.dockable = props.dockable || null;
677
- props.close = props.close || null;
678
- props.raised = props.raised || null;
679
- props.movable = props.movable || null;
680
- props.resizable = props.resizable || null;
681
- props.store = props.store || false;
682
- props.top = props.top ? props.top : "auto";
683
- props.left = props.left ? props.left : "auto";
684
- props.right = props.right ? props.right : "auto";
685
- props.bottom = props.bottom ? props.bottom : "auto";
686
- props.fadeIn = props.fadeIn || 100;
687
- props.fadeOut = props.fadeOut || 100;
688
- larX = props.minWidth;
689
- larY = props.minHeight;
690
- if (props.width < props.minWidth) props.width = props.minWidth;
691
- if (props.height < props.minHeight) props.height = props.minHeight;
692
- if (props.width === "auto") props.width = "100%";
693
- if (props.height === "auto") props.height = "100%";
694
- if ($("#popup").length === 0) {
695
- $('<div id="popup">', "#popup").appendTo("body").css({
696
- "pointer-events": "none",
697
- "z-index": popup.zIndex($("*")) + 1
698
- });
699
- }
700
- if ($(".popup_window_" + props.id, "#popup").length === 0) {
701
- genLayer(props);
702
- }
703
- layerpro.purge(document);
704
- return props;
705
- },
706
- dispatch: (_e) => {
707
- layerpro.popup.store(_e);
708
- },
709
- ///
710
- store: (_element) => {
711
- console.debug(_element);
712
- },
713
- ///
714
- show: (item) => {
715
- item.toggle();
716
- return;
717
- },
718
- ///
719
- vfx: (item, vis, all = false) => {
720
- setTimeout(
721
- () => {
722
- $('[class^="popup_overflow_"]', "#popup").css("opacity", vis == true ? 1 : 0.5).find('[class^="popup_body_"]').css({ "content-visibility": vis == true ? "auto" : "hidden" });
723
- item.css("opacity", 1);
724
- if (!all) $('[class^="popup_body_"]', item).css("content-visibility", "visible");
725
- return;
726
- },
727
- 1
728
- );
729
- dispatchEvent(new Event("layerProResize"));
730
- },
731
- ///
732
- center: (props) => {
733
- const _overflow = $(".popup_overflow_" + props.id, "#popup");
734
- _overflow.css("top", Math.max(0, (Win.height() - _overflow.outerHeight()) / 2 + Win.scrollTop()));
735
- _overflow.css("left", Math.max(0, (Win.width() - _overflow.outerWidth()) / 2 + Win.scrollLeft()));
736
- return;
737
- },
738
- ///
739
- checkArea: (e) => {
740
- const clientX = getClientX(e);
741
- const clientY = getClientY(e);
742
- return [
743
- clientX,
744
- clientY,
745
- Win.scrollLeft(),
746
- Win.scrollTop(),
747
- Win.height(),
748
- Win.width()
749
- ];
750
- },
751
- ///
752
- close: (props) => {
753
- let ob;
754
- if (!props) {
755
- $("#popup").fadeOut(() => {
756
- $(void 0).remove();
757
- });
758
- } else {
759
- typeof props === "object" ? ob = props.id : ob = props;
760
- if (layerpro.popup.unmount) {
761
- layerpro.popup.unmount(String(ob));
762
- }
763
- if (layerpro.popup.cleanupEvents) {
764
- layerpro.popup.cleanupEvents(String(ob));
765
- }
766
- const movableCleanup = movableHandlers.get(String(ob));
767
- if (movableCleanup) {
768
- const moveOptions = { passive: false };
769
- if (movableCleanup.move) document.removeEventListener(getPointerMove(), movableCleanup.move, moveOptions);
770
- if (movableCleanup.up) document.removeEventListener(getPointerUp(), movableCleanup.up, moveOptions);
771
- movableHandlers.delete(String(ob));
772
- }
773
- const resizeCleanup = resizeHandlers.get(String(ob));
774
- if (resizeCleanup) {
775
- const moveOptions = { passive: false };
776
- if (resizeCleanup.move) document.removeEventListener(getPointerMove(), resizeCleanup.move, moveOptions);
777
- if (resizeCleanup.up) document.removeEventListener(getPointerUp(), resizeCleanup.up, moveOptions);
778
- resizeHandlers.delete(String(ob));
779
- }
780
- if (props.raised === true) {
781
- $(".popup_raised_" + ob).fadeOut(props.fadeOut || 500, (e) => {
782
- $(".popup_raised_" + ob).remove();
32
+
33
+ var b, _, f, v, g, w, y, z, x, k, C, M, N, T, E, I, O, S, L, A, P, j, H, R, W, D, X, Y, U, q, K, B, F, J, Q, G, V = l({
34
+ "core/mouseCoords.ts"() {
35
+ i = e => [ e.clientX, e.clientY, e.screenX, e.screenY, e.pageX, e.pageY ], n = 0,
36
+ p = "", s = 0, r = 0, c = e => (n = s < e.pageX ? 1 : 0, p = r < e.pageY ? "down" : "up",
37
+ s = e.pageX, r = e.pageY, [ n, p ]);
38
+ }
39
+ }), Z = l({
40
+ "core/message.ts"() {
41
+ b = e => {
42
+ const o = document.createElement("div");
43
+ return o.textContent = e, o.innerHTML;
44
+ }, _ = e => {
45
+ const o = b(String(e)), t = window.layerpro.popup.open({
46
+ id: "__alert",
47
+ name: "Warning",
48
+ icon: "&#9888;",
49
+ width: 380,
50
+ height: 220,
51
+ iconize: !1,
52
+ maximize: !1,
53
+ close: !0,
54
+ isMaximize: !1,
55
+ dockable: !1,
56
+ raised: !0,
57
+ movable: !0,
58
+ resizable: !1
59
+ }), i = `\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_" + t.id}" type="button">CLOSE</button>\n </div>\n </div>\n `;
60
+ $(".popup_body_" + t.id).html(i), $("#a_" + t.id).on("click", () => {
61
+ window.layerpro.popup.close(t);
783
62
  });
784
- } else {
785
- $(".popup_overflow_" + ob).fadeOut(
786
- props.fadeOut || 500,
787
- function(e) {
788
- $(this).remove();
789
- $(".popup_raised_" + ob).fadeOut(
790
- props.fadeOut || 500,
791
- function(e2) {
792
- $(this).remove();
793
- }
794
- );
795
- }
796
- );
797
- }
798
- }
799
- layerpro.purge(document);
800
- setTimeout(() => popup.removeDock(props), 300);
801
- return;
802
- },
803
- ///
804
- removeDock: (props) => {
805
- $(".icon_" + props.id).remove();
806
- if ($('[class^="popup_overflow_"]', "#popup").length < 1) {
807
- $("#root").css("margin", "0");
808
- $("#popup_dock").remove();
809
- }
810
- return;
811
- },
812
- ///
813
- iconize: (props) => {
814
- const _overflow = $(".popup_overflow_" + props.id, "#popup");
815
- if (_overflow.find("[class^=popup_window_]").hasClass("zHigh") === false) return;
816
- popup.vfx(_overflow, false, true);
817
- if (!_overflow.data("iconize")) {
818
- _overflow.animate(
819
- {
820
- top: "100%",
821
- left: $(".icon_" + props.id, "#popup_dock").offset().left + 15,
822
- width: 0,
823
- height: 0,
824
- opacity: 0
825
- },
826
- 200,
827
- () => popup.vfx(_overflow, true)
828
- );
829
- _overflow.data(
830
- "iconize",
831
- {
832
- y: _overflow.offset().top,
833
- x: _overflow.offset().left,
834
- w: _overflow.width(),
835
- h: _overflow.height()
836
- },
837
- 200
838
- );
839
- } else if (_overflow.data("iconize")) {
840
- const s = _overflow.data("iconize");
841
- _overflow.animate(
842
- {
843
- top: s.y,
844
- left: s.x,
845
- width: s.w,
846
- height: s.h,
847
- opacity: 1
848
- },
849
- () => popup.vfx(_overflow, true)
850
- );
851
- _overflow.removeData("iconize");
852
- }
853
- return;
854
- },
855
- ///
856
- maximize: (props) => {
857
- const _overflow = $(".popup_overflow_" + props.id, "#popup"), _resize = $('[class^="resize_"]', _overflow), _dragger = $('[class^="popup_drag_"]', _overflow), gap = 6;
858
- popup.vfx(_overflow, false, true);
859
- if (!_overflow.data("store")) {
860
- _overflow.data("store", {
861
- y: _overflow.offset().top,
862
- x: _overflow.offset().left,
863
- w: _overflow.width(),
864
- h: _overflow.height()
865
- });
866
- _overflow.animate(
867
- {
868
- position: "absolute",
869
- top: -gap,
870
- left: -gap,
871
- right: -gap,
872
- bottom: -gap,
873
- width: Win.width() + gap * 2,
874
- height: Win.height() + gap * 2 - 45
875
- },
876
- () => {
877
- Win.on("layerProResize.eventItem", (e) => {
878
- _overflow.css({
879
- width: Win.width() + gap * 2,
880
- height: Win.height() + gap * 2 - 40
63
+ }, f = (e, o) => {
64
+ const t = b(String(e)), i = window.layerpro.popup.open({
65
+ id: "__message",
66
+ name: "Message",
67
+ icon: "&#9965;",
68
+ width: 380,
69
+ height: 220,
70
+ iconize: !1,
71
+ maximize: !1,
72
+ close: !0,
73
+ isMaximize: !1,
74
+ dockable: !1,
75
+ raised: !0,
76
+ movable: !0,
77
+ resizable: !1
78
+ }), n = `\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_" + i.id}" type="button">CLOSE</button>\n </div>\n </div>\n `;
79
+ $(".popup_body_" + i.id).html(n), $("#a_" + i.id).on("click", () => {
80
+ o && o(), window.layerpro.popup.close(i);
81
+ });
82
+ }, v = (e, o, t) => {
83
+ if (0 === $(".confirm").length) {
84
+ const i = b(String(e)), n = window.layerpro.popup.open({
85
+ id: "__confirm",
86
+ name: "Confirm",
87
+ icon: "&#9745;",
88
+ width: 380,
89
+ height: 220,
90
+ iconize: !1,
91
+ maximize: !1,
92
+ close: !0,
93
+ isMaximize: !1,
94
+ dockable: !1,
95
+ raised: !0,
96
+ movable: !0,
97
+ resizable: !1
98
+ }), p = `\n <div class='popup_prompt'>\n <div class="popup_message_body">\n <center>${i}</center>\n </div>\n <div class="buttons">\n <button id="${"a_" + n.id}" type="button">CONFIRM</button>\n <button id="${"b_" + n.id}" type="button">CANCEL</button>\n </div>\n </div>\n `;
99
+ $(".popup_body_" + n.id).html(p), $("#a_" + n.id).on("click", () => {
100
+ o && o(), window.layerpro.popup.close(n);
101
+ }), $("#b_" + n.id).on("click", () => {
102
+ t && t(), window.layerpro.popup.close(n);
881
103
  });
882
- });
883
- _dragger.css("pointer-events", "none");
884
- _resize.off(getPointerDown());
885
- popup.vfx(_overflow, true, true);
886
104
  }
887
- );
888
- } else if (_overflow.data("store")) {
889
- const s = _overflow.data("store");
890
- _overflow.animate(
891
- {
892
- top: s.y,
893
- left: s.x,
894
- width: s.w,
895
- height: s.h
105
+ }, g = (e, o) => {
106
+ const t = o || "_prompt", i = b(String(e)), n = window.layerpro.popup.open({
107
+ id: "__prompt",
108
+ name: "Prompt",
109
+ icon: "&#9998;",
110
+ width: 380,
111
+ height: 220,
112
+ iconize: !1,
113
+ maximize: !1,
114
+ close: !0,
115
+ isMaximize: !1,
116
+ dockable: !1,
117
+ raised: !0,
118
+ movable: !0,
119
+ resizable: !1
120
+ }), p = `\n <div class='popup_prompt'>\n\n <div class="popup_message_body">\n <center>\n ${i}\n </center>\n </div>\n\n <input id="input_${n.id}" type="text" placeholder="write here" />\n <br/>\n\n <div class="buttons">\n <button id="a_${n.id}" type="button">OK</button>\n <button id="b_${n.id}" type="button">CANCEL</button>\n </div>\n\n </div>\n `;
121
+ $(".popup_body_" + n.id).html(p), $("#input_" + n.id).on("focus", function() {
122
+ $(this).attr("placeholder", "");
123
+ }).on("blur", function() {
124
+ $(this).attr("placeholder", "write here");
125
+ }), $("#a_" + n.id).on("click", () => {
126
+ if ($("#input_" + n.id).val() > "") {
127
+ "function" == typeof t && t();
128
+ if (String(t) === t) return JSON.stringify($("#input_" + n.id).val());
129
+ window.layerpro.popup.close(n);
130
+ } else alert("input can't be empty!");
131
+ }), $("#b_" + n.id).on("click", () => {
132
+ window.layerpro.popup.close(n);
133
+ });
134
+ }, window.message = (e, o) => window.layerpro.message(e, o), window.alert = e => window.layerpro.alert(e),
135
+ window.confirm = (e, o, t) => window.layerpro.confirm(e, o, t), window.prompt = (e, o, t) => window.layerpro.prompt(e, o, t),
136
+ Object.defineProperty(window, "alert", {
137
+ enumerable: !1
138
+ }), Object.defineProperty(window, "prompt", {
139
+ enumerable: !1
140
+ }), Object.defineProperty(window, "message", {
141
+ enumerable: !1
142
+ }), Object.defineProperty(window, "confirm", {
143
+ enumerable: !1
144
+ }), Object.defineProperties(window.layerpro, {
145
+ prompt: {
146
+ value: g
147
+ },
148
+ alert: {
149
+ value: _
896
150
  },
897
- () => {
898
- _dragger.css("pointer-events", "auto");
899
- _resize.on(getPointerDown(), function(e) {
900
- popup.resizeModals(e, this, props);
901
- });
902
- Win.off("layerProResize.eventItem");
903
- popup.vfx(_overflow, true);
151
+ message: {
152
+ value: f
153
+ },
154
+ confirm: {
155
+ value: v
904
156
  }
905
- );
906
- _overflow.removeData("store");
907
- }
908
- return;
909
- },
910
- ///
911
- movable: (props) => {
912
- if (props.movable === false) return;
913
- const idStr = String(props.id), _overflow = $(".popup_overflow_" + props.id, "#popup"), _dragger = $(".popup_drag_" + props.id, _overflow), _body = $(".popup_body_" + props.id, _overflow);
914
- _overflow.css("touch-action", "none");
915
- let pos1 = 0, pos2 = 0, pos3 = 0, pos4 = 0;
916
- const elementDrag = (e) => {
917
- e.preventDefault();
918
- const clientX = getClientX(e);
919
- const clientY = getClientY(e);
920
- pos1 = pos3 - clientX;
921
- pos2 = pos4 - clientY;
922
- pos3 = clientX;
923
- pos4 = clientY;
924
- if (popup.checkArea(e)[1] < popup.checkArea(e)[4] && Math.sign(popup.checkArea(e)[1]) === 1) _overflow.css("top", _overflow.offset().top - pos2);
925
- if (popup.checkArea(e)[0] < popup.checkArea(e)[5] && Math.sign(popup.checkArea(e)[0]) === 1) _overflow.css("left", _overflow.offset().left - pos1);
926
- return;
927
- }, elementDragEnd = (e) => {
928
- const moveOptions = { passive: false };
929
- document.removeEventListener(getPointerMove(), elementDrag, moveOptions);
930
- document.removeEventListener(getPointerUp(), elementDragEnd, moveOptions);
931
- movableHandlers.delete(idStr);
932
- _body.css("pointer-events", "auto");
933
- popup.vfx(_overflow, true);
934
- return;
935
- };
936
- movableHandlers.set(idStr, { move: elementDrag, up: elementDragEnd });
937
- const downOptions = { passive: false };
938
- _dragger[0].addEventListener(getPointerDown(), (e) => {
939
- e.preventDefault();
940
- _body.css("pointer-events", "none");
941
- dragMouseDown(e);
942
- popup.vfx(_overflow, false);
943
- }, downOptions);
944
- if (props.maximize) {
945
- _dragger.on("dblclick", (e) => {
946
- layerpro.popup.maximize(props);
947
- });
948
- }
949
- const dragMouseDown = (e) => {
950
- pos3 = getClientX(e);
951
- pos4 = getClientY(e);
952
- const moveOptions = { passive: false };
953
- document.addEventListener(getPointerMove(), elementDrag, moveOptions);
954
- document.addEventListener(getPointerUp(), elementDragEnd, moveOptions);
955
- return;
956
- };
957
- return;
958
- },
959
- ///
960
- resizable: (props) => {
961
- if (!props.resizable) return;
962
- const idStr = String(props.id), _overflow = $(".popup_overflow_" + props.id, "#popup");
963
- for (let i = 4; i--; ) {
964
- $(`<div class='resize_${i}'>`, _overflow).appendTo(_overflow).css("touch-action", "none");
965
- $(`<div class='resize_corner_${i}'>`, _overflow).appendTo(_overflow).css("touch-action", "none");
966
- }
967
- const handleDown = function(e) {
968
- popup.resizeModals(e, this, props);
969
- }, existingHandlers = resizeHandlers.get(idStr) || {};
970
- existingHandlers.down = handleDown;
971
- resizeHandlers.set(idStr, existingHandlers);
972
- const downOptions = { passive: false };
973
- $("[class^=resize_]").each((_i, el) => {
974
- el.addEventListener(getPointerDown(), (e) => {
975
- e.preventDefault();
976
- popup.resizeModals(e, el, props);
977
- }, downOptions);
978
157
  });
979
- return;
980
- },
981
- ///
982
- resizeModals: (e, id, props) => {
983
- const _sizer = $(id), _parent = _sizer.parent(), idStr = String(props.id);
984
- const clientX = getClientX(e);
985
- const clientY = getClientY(e);
986
- const cords = [clientX - Win.scrollLeft(), clientY - Win.scrollTop()];
987
- if (props.minWidth) ;
988
- Body.css("pointer-events", "none");
989
- _parent.css("pointer-events", "none");
990
- popup.vfx(_parent, false);
991
- const doResHandler = (e2) => {
992
- popup.doRes(e2, id);
993
- }, stopResHandler = (e2) => {
994
- popup.stopRes(id);
995
- }, existingHandlers = resizeHandlers.get(idStr) || {};
996
- existingHandlers.move = doResHandler;
997
- existingHandlers.up = stopResHandler;
998
- resizeHandlers.set(idStr, existingHandlers);
999
- const moveOptions = { passive: false };
1000
- document.addEventListener(getPointerMove(), doResHandler, moveOptions);
1001
- document.addEventListener(getPointerUp(), stopResHandler, moveOptions);
1002
- startX = cords[0];
1003
- startY = cords[1];
1004
- startWidth = _parent.width();
1005
- startHeight = _parent.height();
1006
- startLeft = _parent.position().left;
1007
- startTop = _parent.position().top;
1008
- startBottom = startTop + startHeight + 1;
1009
- startRight = startLeft + startWidth + 1;
1010
- isResizable = id;
1011
- return;
1012
- },
1013
- ///
1014
- doRes: (e, id) => {
1015
- dispatchEvent(new Event("layerProResize"));
1016
- const _sizer = $(id), _parent = _sizer.parent();
1017
- const clientX = getClientX(e);
1018
- const clientY = getClientY(e);
1019
- const cords = [clientX - Win.scrollLeft(), clientY - Win.scrollTop()];
1020
- if (id === isResizable) {
1021
- let X = startWidth + cords[0] - startX, Y = startHeight + cords[1] - startY;
1022
- const X1 = startWidth - cords[0] + startX, Y1 = startHeight - cords[1] + startY;
1023
- if (X <= 0) {
1024
- X = 0;
1025
- }
1026
- if (Y <= 0) {
1027
- Y = 0;
1028
- }
1029
- if (popup.checkArea(e)[1] < popup.checkArea(e)[4] && Math.sign(popup.checkArea(e)[1]) === 1) {
1030
- if (_sizer.hasClass("resize_0")) {
1031
- if (_parent.height() <= larY && Y1 > larY) {
1032
- _parent.css({ "height": Number(larY + 1) });
1033
- }
1034
- if (_parent.height() > larY && larY <= Y1) {
1035
- _parent.css({ "top": Number(startBottom - Y1), "height": parseInt(Y1) });
1036
- }
1037
- }
1038
- }
1039
- if (popup.checkArea(e)[0] < popup.checkArea(e)[5] && Math.sign(popup.checkArea(e)[0]) === 1) {
1040
- if (_sizer.hasClass("resize_1")) {
1041
- if (_parent.width() >= larX) {
1042
- _parent.css({ "width": Number(X), "right": Number(startLeft - X) });
1043
- }
1044
- if (_parent.width() <= larX) {
1045
- _parent.css({ "width": Number(larX + 1) });
1046
- }
158
+ }
159
+ }), ee = l({
160
+ "core/genLayer.ts"() {
161
+ Z(), w = new Map, y = new Map, z = e => {
162
+ const o = document.createElement("div");
163
+ return o.textContent = e, o.innerHTML;
164
+ }, x = o => {
165
+ if ("function" == typeof o.body) return;
166
+ const t = e => {
167
+ if (null === e || "object" != typeof e) return !1;
168
+ return "$typeof" in e || "type" in e;
169
+ }, i = !0 === o.raised ? ".popup_raised_" + o.id : "#popup";
170
+ $('[class^="popup_window_"]', i).removeClass("zHigh"), $('[class^="popup_bar_"]', i).removeClass("popup_bar_selected"),
171
+ $('[class^="icon_"]', i).removeClass("popup_bar_selected"), !0 === o.raised && $('<div class="popup_raised_' + o.id + '">', i).appendTo("#popup").css({
172
+ "pointer-events": "auto",
173
+ "z-index": Number(layerpro.popup.zIndex($('[class^="popup_overflow_"]', i))) + 1e3
174
+ }), $('<div class="popup_overflow_' + o.id + '">', i).appendTo(i).css({
175
+ top: o.top,
176
+ left: o.left,
177
+ right: o.right,
178
+ bottom: o.bottom,
179
+ width: o.width,
180
+ height: o.height,
181
+ minWidth: o.minWidth,
182
+ minHeight: o.minHeight,
183
+ maxWidth: o.maxWidth,
184
+ maxHeight: o.maxHeight,
185
+ pointerEvents: "auto",
186
+ zIndex: Number(layerpro.popup.zIndex($('[class^="popup_overflow_"]', i))) + 1
187
+ }).on("mousedown", e => {
188
+ layerpro.popup.index(o);
189
+ }).hide().fadeIn(o.fadeIn);
190
+ const n = $('<div class="popup_window_' + o.id + '">', i).appendTo(".popup_overflow_" + o.id).css({
191
+ "pointer-events": "auto"
192
+ }).addClass("zHigh").addClass(o.class);
193
+ 0 === [ o.top, o.left, o.bottom, o.right ].reduce((e, o) => "number" == typeof o && isFinite(o) ? Number(e) + o : e, 0) && layerpro.popup.center(o),
194
+ layerpro.popup.unmount = e => {
195
+ const o = w.get(e);
196
+ o && (o.unmount(), w.delete(e));
197
+ }, layerpro.popup.cleanupEvents = e => {
198
+ const o = y.get(e);
199
+ o && (o.iconClick && $(".icon_" + e, "#popup_dock").find("span").off("click"), o.iconClose && $(".icon_close_" + e, "#popup_dock").off("click"),
200
+ o.buttonIconize && $(".button_iconize_" + e).off("click"), o.buttonMaximize && $(".button_maximize_" + e).off("click"),
201
+ o.buttonClose && $(".button_close_" + e).off("click"), o.escKey && $(document).off("keydown"),
202
+ y.delete(e));
203
+ }, layerpro.popup.getReactRoot = e => w.get(e), $('<div class="popup_bar_' + o.id + '">', i).appendTo(n).addClass("popup_bar_selected"),
204
+ o.icon && $('<div class="popup_icon_' + o.id + '">' + o.icon + "</div>", i).appendTo(".popup_bar_" + o.id);
205
+ const p = z(String(o.name));
206
+ if ($('<div class="popup_drag_' + o.id + '">' + p + "</div>", i).appendTo(".popup_bar_" + o.id),
207
+ $('<div class="popup_option_' + o.id + '">', i).appendTo(".popup_bar_" + o.id),
208
+ !0 === o.iconize && 0 === $("#popup_dock").length) {
209
+ $("#root").css("margin", "0 0 var( --dock-height ) 0");
210
+ $('\n <div id="popup_dock">\n <div id="popup_dock_icon"></div>\n <div id="popup_dock_list"></div>\n <div id="popup_dock_options"></div>\n </div>\n ').appendTo("#popup").css({
211
+ pointerEvents: "auto",
212
+ zIndex: Number(layerpro.popup.zIndex($("#popup"))) + 1e3
213
+ });
1047
214
  }
1048
- }
1049
- if (popup.checkArea(e)[1] < popup.checkArea(e)[4] && Math.sign(popup.checkArea(e)[1]) === 1) {
1050
- if (_sizer.hasClass("resize_2")) {
1051
- if (_parent.height() >= larY) {
1052
- _parent.css({ "height": Number(Y) });
1053
- }
1054
- if (_parent.height() <= larY && Y > larY) {
1055
- _parent.css({ "height": Number(larY + 1) });
1056
- }
215
+ if ($("#popup_dock").length > 0 && !0 === o.dockable) {
216
+ const e = String(o.id), t = `\n <div class="icon_${o.id}">\n <span>${o.icon ? o.icon : ""}</span>\n <span>${p}</span>\n `, i = function(e) {
217
+ $(".popup_overflow_" + o.id + ":hidden") ? (layerpro.popup.iconize(o), layerpro.popup.index(o)) : layerpro.popup.iconize(o),
218
+ layerpro.popup.index(o);
219
+ }, n = function(e) {
220
+ o?.buttons?.cancel?.cb && o?.buttons?.cancel?.cb(), layerpro.popup.close(o);
221
+ };
222
+ y.set(e, {
223
+ iconClick: !0,
224
+ iconClose: !0
225
+ }), $(t, "#popup_dock").appendTo("#popup_dock_list").addClass("popup_bar_selected").find("span").on("click", i),
226
+ $(`<button class="icon_close_${o.id}">X</button>`, "#popup_dock").appendTo(`.icon_${o.id}`).on("click", n);
1057
227
  }
1058
- }
1059
- if (popup.checkArea(e)[0] < popup.checkArea(e)[5] && Math.sign(popup.checkArea(e)[0]) === 1) {
1060
- if (_sizer.hasClass("resize_3")) {
1061
- if (_parent.width() <= larX && X1 > larX) {
1062
- _parent.css({ "width": Number(larX + 1) });
1063
- }
1064
- if (_parent.width() > larX && larX <= X1) {
1065
- _parent.css({ "width": parseInt(X1), "left": Number(startRight - X1) });
1066
- }
228
+ if (!0 === o.iconize) {
229
+ const e = String(o.id), t = function(e) {
230
+ layerpro.popup.iconize(o);
231
+ }, i = y.get(e) || {};
232
+ i.buttonIconize = !0, y.set(e, i), $('<button class="button_iconize_' + o.id + ' iconize">', "#popup").appendTo(".popup_option_" + o.id).on("click", t);
1067
233
  }
1068
- }
1069
- if (popup.checkArea(e)[1] < popup.checkArea(e)[4] && popup.checkArea(e)[0] < popup.checkArea(e)[5] && Math.sign(popup.checkArea(e)[0]) === 1 && Math.sign(popup.checkArea(e)[1]) === 1) {
1070
- if (_sizer.hasClass("resize_corner_0")) {
1071
- if (_parent.height() >= larY && Y1 > larY) {
1072
- _parent.css({ "top": Number(startBottom - Y1), "height": parseInt(Y1) });
1073
- }
1074
- if (_parent.height() <= larY && Y1 > larY) {
1075
- _parent.css({ "height": Number(larY + 1) });
1076
- }
1077
- if (_parent.width() >= larX && X1 > larX) {
1078
- _parent.css({ "width": parseInt(X1), "left": Number(startRight - X1) });
1079
- }
1080
- if (_parent.width() <= larX && X1 > larX) {
1081
- _parent.css({ "width": Number(larX + 1) });
1082
- }
234
+ if (!0 === o.maximize) {
235
+ const e = String(o.id), t = function(e) {
236
+ layerpro.popup.maximize(o);
237
+ }, i = y.get(e) || {};
238
+ i.buttonMaximize = !0, y.set(e, i), $('<button class="button_maximize_' + o.id + ' maximize">', "#popup").appendTo(".popup_option_" + o.id).on("click", t);
1083
239
  }
1084
- if (_sizer.hasClass("resize_corner_1")) {
1085
- if (_parent.height() >= larY && Y1 > larY) {
1086
- _parent.css({ "top": Number(startBottom - Y1), "height": Number(Y1) });
1087
- }
1088
- if (_parent.height() <= larY && Y1 > larY) {
1089
- _parent.css({ "height": Number(larY + 1) });
1090
- }
1091
- if (_parent.width() >= larX) {
1092
- _parent.css({ "width": Number(X), "right": Number(startLeft - X) });
1093
- }
1094
- if (_parent.width() <= larX && X1 > larX) {
1095
- _parent.css({ "width": Number(larX + 1) });
1096
- }
240
+ if (!0 === o.close) {
241
+ const e = String(o.id), t = function(e) {
242
+ o?.buttons?.cancel?.cb && o?.buttons?.cancel?.cb(), layerpro.popup.close(o);
243
+ }, i = y.get(e) || {};
244
+ i.buttonClose = !0, y.set(e, i), $('<button class="button_close_' + o.id + ' close">', "#popup").appendTo(".popup_option_" + o.id).on("click", t);
1097
245
  }
1098
- if (_sizer.hasClass("resize_corner_2")) {
1099
- if (_parent.height() >= larY) {
1100
- _parent.css({ "height": Number(Y) });
1101
- }
1102
- if (_parent.height() <= larY && Y > larY) {
1103
- _parent.css({ "height": Number(larY + 1) });
1104
- }
1105
- if (_parent.width() >= larX) {
1106
- _parent.css({ "width": Number(X), "right": Number(startLeft - X) });
1107
- }
1108
- if (_parent.width() <= larX) {
1109
- _parent.css({ "width": Number(larX + 1) });
1110
- }
246
+ const s = String(o.id), r = y.get(s) || {};
247
+ if (r.escKey = !0, y.set(s, r), $(document).on("keydown", function(e) {
248
+ "Escape" !== e.key && 27 !== e.keyCode || (o?.buttons?.cancel?.cb && o?.buttons?.cancel?.cb(),
249
+ layerpro.popup.close(o));
250
+ }), o.timer > 0) {
251
+ const e = {};
252
+ e[String(`st_${o.id}`)] = setTimeout(() => {
253
+ layerpro.popup.close(o), clearTimeout(e[String(`st_${o.id}`)]);
254
+ }, o.timer);
1111
255
  }
1112
- if (_sizer.hasClass("resize_corner_3")) {
1113
- if (_parent.height() >= larY && Y > larY) {
1114
- _parent.css({ "height": Number(Y) });
1115
- }
1116
- if (_parent.height() <= larY && Y > larY) {
1117
- _parent.css({ "height": Number(larY + 1) });
1118
- }
1119
- if (_parent.width() >= larX && X1 > larX) {
1120
- _parent.css({ "width": Number(X1), "left": Number(startRight - X1) });
1121
- }
1122
- if (_parent.width() <= larX && X1 > larX) {
1123
- _parent.css({ "width": Number(larX + 1) });
1124
- }
256
+ if (o.source) {
257
+ const e = $(".popup_body_" + o.id), t = String(o.source);
258
+ try {
259
+ const e = new URL(t, window.location.origin);
260
+ if ("https:" !== e.protocol && "http:" !== e.protocol && "" !== e.protocol) return;
261
+ } catch {
262
+ return;
263
+ }
264
+ fetch(t, {
265
+ mode: "same-origin"
266
+ }).then(e => {
267
+ if ((e.headers.get("content-type") || "").includes("text/html"), !e.ok) throw new Error(`HTTP error! status: ${e.status}`);
268
+ return e.text();
269
+ }).then(t => {
270
+ const i = z(t);
271
+ e.hide().html(i).fadeIn(o.fadeIn);
272
+ }).catch(e => {});
1125
273
  }
1126
- }
1127
- }
1128
- return;
1129
- },
1130
- ///
1131
- stopRes: (id) => {
1132
- const _sizer = $(id), _parent = _sizer.parent();
1133
- Body.css("pointer-events", "auto");
1134
- _parent.css("pointer-events", "auto");
1135
- popup.vfx(_parent, true);
1136
- isResizable = false;
1137
- const resizeCleanup = resizeHandlers.get(String(id));
1138
- if (resizeCleanup) {
1139
- const moveOptions = { passive: false };
1140
- if (resizeCleanup.move) document.removeEventListener(getPointerMove(), resizeCleanup.move, moveOptions);
1141
- if (resizeCleanup.up) document.removeEventListener(getPointerUp(), resizeCleanup.up, moveOptions);
1142
- resizeHandlers.delete(String(id));
1143
- }
1144
- return;
1145
- },
1146
- ///
1147
- index: (props) => {
1148
- const _overflow = $('[class^="popup_overflow_"]', "#popup");
1149
- $('[class^="popup_window_"]', "#popup").removeClass("zHigh");
1150
- $('[class^="popup_bar_"]', "#popup").removeClass("popup_bar_selected");
1151
- $('[class^="icon_"]', "#popup").removeClass("popup_bar_selected");
1152
- _overflow.each(
1153
- function() {
1154
- $(this, "#popup").css("zIndex", $(this, "#popup")[0].style.zIndex - 1);
1155
- }
1156
- );
1157
- $(".icon_" + props.id, "#popup").addClass("popup_bar_selected");
1158
- $(".popup_overflow_" + props.id, "#popup").css("zIndex", popup.zIndex(_overflow));
1159
- $(".popup_bar_" + props.id, "#popup").addClass("popup_bar_selected");
1160
- $(".popup_window_" + props.id, "#popup").addClass("zHigh");
1161
- return;
1162
- },
1163
- ///
1164
- zIndex: (els) => {
1165
- els.each(
1166
- function() {
1167
- const currentIndex = parseInt($(this, "#popup").css("zIndex"), 10);
1168
- if (currentIndex > highIndex) highIndex = currentIndex;
1169
- }
1170
- );
1171
- return highIndex + 1;
1172
- }
1173
- };
1174
- Object.defineProperty(
1175
- layerpro,
1176
- "popup",
1177
- {
1178
- value: popup,
1179
- writable: false,
1180
- configurable: false
1181
- }
1182
- );
1183
- }
1184
- });
1185
- var purge;
1186
- var init_purge = __esm({
1187
- "core/purge.ts"() {
1188
- purge = (d) => {
1189
- let a = d.attributes, index, l, n;
1190
- if (a) {
1191
- l = a.length;
1192
- for (index = 0; index < l; index += 1) {
1193
- n = a[index].name;
1194
- if (typeof d[n] === "function") ;
1195
- }
1196
- }
1197
- a = d.childNodes;
1198
- if (a) {
1199
- l = a.length;
1200
- for (index = 0; index < l; index += 1) {
1201
- layerpro.purge(d.childNodes[index]);
274
+ o.movable && layerpro.popup.movable(o), o.resizable && layerpro.popup.resizable(o),
275
+ o.isMaximize && layerpro.popup.maximize(o);
276
+ const c = $('<div class="popup_overflow_' + o.id + '">', "#popup");
277
+ $('<div class="popup_internal_' + o.id + '">', c).appendTo(n), $('<div class="popup_body_' + o.id + '">', c).appendTo(".popup_internal_" + o.id).hide().fadeIn(o.fadeIn, function() {
278
+ (() => {
279
+ if (o.body && !o.source) if (t(o.body)) {
280
+ const i = document.querySelector(".popup_body_" + o.id);
281
+ if (!i) return;
282
+ try {
283
+ if (!t(o.body)) return;
284
+ const n = e.createRoot(i);
285
+ n.render(o.body), w.set(String(o.id), n);
286
+ } catch (e) {}
287
+ } else if ("string" == typeof o.body && o.body.trim().startsWith("<")) {
288
+ const e = z(o.body);
289
+ $(".popup_body_" + o.id).html(e).fadeIn(o.fadeIn);
290
+ } else {
291
+ const e = z(String(o.body));
292
+ $(".popup_body_" + o.id).text(e).fadeIn(o.fadeIn);
293
+ }
294
+ })(), (() => {
295
+ if (o.buttons) {
296
+ if ($('<div class="buttons"></div>').appendTo(".popup_body_" + o.id), o.buttons.confirm) {
297
+ const e = $(`<button id="lp_confirm" type="button">\n ${o.buttons.confirm.text.toUpperCase()}\n </button>`).appendTo(".buttons");
298
+ o.buttons.confirm.cb && e.click(() => {
299
+ o.buttons?.confirm?.cb?.(), layerpro.popup.close(o);
300
+ });
301
+ }
302
+ o.buttons.cancel && $(`<button id="lp_cancel" type="button">\n ${o.buttons.cancel.text.toUpperCase()}\n </button>`).appendTo(".buttons").click(() => {
303
+ o.buttons?.cancel?.cb?.(), layerpro.popup.close(o);
304
+ });
305
+ }
306
+ })();
307
+ });
308
+ };
309
+ }
310
+ }), oe = l({
311
+ "core/mobile.ts"() {
312
+ if (k = () => "undefined" != typeof window && window.matchMedia("(max-width: 1024px)").matches,
313
+ C = () => {
314
+ if ("undefined" == typeof navigator) return !1;
315
+ const e = navigator.userAgent;
316
+ return /Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i.test(e);
317
+ }, M = () => "ontouchstart" in window || navigator.maxTouchPoints > 0, (N = () => {
318
+ if (!0 === window.__FORCE_TOUCH_MODE__) return "touch";
319
+ const e = C() || k();
320
+ return M() && e ? "touch" : "mouse";
321
+ })(), T = !k(), "undefined" != typeof window) {
322
+ const e = window.matchMedia("(max-width: 1024px)"), o = () => {
323
+ const e = N(), o = !k();
324
+ T !== o && (T = o);
325
+ };
326
+ let t;
327
+ e.addListener ? e.addListener(o) : e.addEventListener("change", o), window.addEventListener("resize", () => {
328
+ clearTimeout(t), t = setTimeout(o, 150);
329
+ });
1202
330
  }
1203
- }
1204
- };
1205
- Object.defineProperty(
1206
- layerpro,
1207
- "purge",
1208
- {
1209
- value: new Proxy(purge, {}),
1210
- writable: false,
1211
- configurable: false
1212
- }
1213
- );
1214
- }
331
+ E = () => "pointerdown", I = () => "pointermove", O = () => "pointerup", S = e => void 0 !== e.clientX ? e.clientX : e.touches && e.touches.length > 0 ? e.touches[0].clientX : e.clientX,
332
+ L = e => void 0 !== e.clientY ? e.clientY : e.touches && e.touches.length > 0 ? e.touches[0].clientY : e.clientY;
333
+ }
1215
334
  });
1216
- var init_window = __esm({
1217
- "core/window.ts"() {
1218
- window.offScreenBuffering = true;
1219
- addEventListener(
1220
- "wheel",
1221
- (e) => {
1222
- },
1223
- {
1224
- capture: true,
1225
- passive: true
1226
- }
1227
- );
1228
- }
335
+
336
+ h({}, {
337
+ popup: () => G
1229
338
  });
1230
- globalThis.$ = $2__default.default;
1231
- globalThis.jQuery = $2__default.default;
1232
- var run = () => {
1233
- if (window.layerpro) return;
1234
- Object.defineProperty(
1235
- window,
1236
- "layerpro",
1237
- {
1238
- value: {},
1239
- writable: false,
1240
- configurable: false,
1241
- enumerable: false
339
+
340
+ var te, ie = l({
341
+ "core/properties.ts"() {
342
+ ee(), oe(), A = 250, P = 150, H = 1, B = new Map, F = new Map, J = $(window), Q = $("body"),
343
+ G = {
344
+ open: e => {
345
+ if (e) return e.id = e.id || Math.round(1e3 * Math.random()), e.body = e.body || "",
346
+ e.class = e.class || "", e.width = e.width || 300, e.height = e.height || 200, e.minWidth = e.minWidth || 340,
347
+ e.minHeight = e.minHeight || 220, e.name = e.name || "popUp_" + e.id, e.source = e.source || null,
348
+ e.icon = e.icon || null, e.iconize = e.iconize || null, e.maximize = e.maximize || null,
349
+ e.isMaximize = e.isMaximize || null, e.dockable = e.dockable || null, e.close = e.close || null,
350
+ e.raised = e.raised || null, e.movable = e.movable || null, e.resizable = e.resizable || null,
351
+ e.store = e.store || !1, e.top = e.top ? e.top : "auto", e.left = e.left ? e.left : "auto",
352
+ e.right = e.right ? e.right : "auto", e.bottom = e.bottom ? e.bottom : "auto", e.fadeIn = e.fadeIn || 100,
353
+ e.fadeOut = e.fadeOut || 100, A = e.minWidth, P = e.minHeight, e.width < e.minWidth && (e.width = e.minWidth),
354
+ e.height < e.minHeight && (e.height = e.minHeight), "auto" === e.width && (e.width = "100%"),
355
+ "auto" === e.height && (e.height = "100%"), 0 === $("#popup").length && $('<div id="popup">', "#popup").appendTo("body").css({
356
+ "pointer-events": "none",
357
+ "z-index": G.zIndex($("*")) + 1
358
+ }), 0 === $(".popup_window_" + e.id, "#popup").length && x(e), layerpro.purge(document),
359
+ e;
360
+ },
361
+ dispatch: e => {
362
+ layerpro.popup.store(e);
363
+ },
364
+ store: e => {},
365
+ show: e => {
366
+ e.toggle();
367
+ },
368
+ vfx: (e, o, t = !1) => {
369
+ setTimeout(() => {
370
+ $('[class^="popup_overflow_"]', "#popup").css("opacity", 1 == o ? 1 : .5).find('[class^="popup_body_"]').css({
371
+ "content-visibility": 1 == o ? "auto" : "hidden"
372
+ }), e.css("opacity", 1), t || $('[class^="popup_body_"]', e).css("content-visibility", "visible");
373
+ }, 1), dispatchEvent(new Event("layerProResize"));
374
+ },
375
+ center: e => {
376
+ const o = $(".popup_overflow_" + e.id, "#popup");
377
+ o.css("top", Math.max(0, (J.height() - o.outerHeight()) / 2 + J.scrollTop())), o.css("left", Math.max(0, (J.width() - o.outerWidth()) / 2 + J.scrollLeft()));
378
+ },
379
+ checkArea: e => [ S(e), L(e), J.scrollLeft(), J.scrollTop(), J.height(), J.width() ],
380
+ close: e => {
381
+ let o;
382
+ if (e) {
383
+ o = "object" == typeof e ? e.id : e, layerpro.popup.unmount && layerpro.popup.unmount(String(o)),
384
+ layerpro.popup.cleanupEvents && layerpro.popup.cleanupEvents(String(o));
385
+ const t = B.get(String(o));
386
+ if (t) {
387
+ const e = {
388
+ passive: !1
389
+ };
390
+ t.move && document.removeEventListener(I(), t.move, e), t.up && document.removeEventListener(O(), t.up, e),
391
+ B.delete(String(o));
392
+ }
393
+ const i = F.get(String(o));
394
+ if (i) {
395
+ const e = {
396
+ passive: !1
397
+ };
398
+ i.move && document.removeEventListener(I(), i.move, e), i.up && document.removeEventListener(O(), i.up, e),
399
+ F.delete(String(o));
400
+ }
401
+ !0 === e.raised ? $(".popup_raised_" + o).fadeOut(e.fadeOut || 500, e => {
402
+ $(".popup_raised_" + o).remove();
403
+ }) : $(".popup_overflow_" + o).fadeOut(e.fadeOut || 500, function(t) {
404
+ $(this).remove(), $(".popup_raised_" + o).fadeOut(e.fadeOut || 500, function(e) {
405
+ $(this).remove();
406
+ });
407
+ });
408
+ } else $("#popup").fadeOut(() => {
409
+ $(void 0).remove();
410
+ });
411
+ layerpro.purge(document), setTimeout(() => G.removeDock(e), 300);
412
+ },
413
+ removeDock: e => {
414
+ $(".icon_" + e.id).remove(), $('[class^="popup_overflow_"]', "#popup").length < 1 && ($("#root").css("margin", "0"),
415
+ $("#popup_dock").remove());
416
+ },
417
+ iconize: e => {
418
+ const o = $(".popup_overflow_" + e.id, "#popup");
419
+ if (!1 !== o.find("[class^=popup_window_]").hasClass("zHigh")) if (G.vfx(o, !1, !0),
420
+ o.data("iconize")) {
421
+ if (o.data("iconize")) {
422
+ const e = o.data("iconize");
423
+ o.animate({
424
+ top: e.y,
425
+ left: e.x,
426
+ width: e.w,
427
+ height: e.h,
428
+ opacity: 1
429
+ }, () => G.vfx(o, !0)), o.removeData("iconize");
430
+ }
431
+ } else o.animate({
432
+ top: "100%",
433
+ left: $(".icon_" + e.id, "#popup_dock").offset().left + 15,
434
+ width: 0,
435
+ height: 0,
436
+ opacity: 0
437
+ }, 200, () => G.vfx(o, !0)), o.data("iconize", {
438
+ y: o.offset().top,
439
+ x: o.offset().left,
440
+ w: o.width(),
441
+ h: o.height()
442
+ }, 200);
443
+ },
444
+ maximize: e => {
445
+ const o = $(".popup_overflow_" + e.id, "#popup"), t = $('[class^="resize_"]', o), i = $('[class^="popup_drag_"]', o);
446
+ if (G.vfx(o, !1, !0), o.data("store")) {
447
+ if (o.data("store")) {
448
+ const n = o.data("store");
449
+ o.animate({
450
+ top: n.y,
451
+ left: n.x,
452
+ width: n.w,
453
+ height: n.h
454
+ }, () => {
455
+ i.css("pointer-events", "auto"), t.on(E(), function(o) {
456
+ G.resizeModals(o, this, e);
457
+ }), J.off("layerProResize.eventItem"), G.vfx(o, !0);
458
+ }), o.removeData("store");
459
+ }
460
+ } else o.data("store", {
461
+ y: o.offset().top,
462
+ x: o.offset().left,
463
+ w: o.width(),
464
+ h: o.height()
465
+ }), o.animate({
466
+ position: "absolute",
467
+ top: -6,
468
+ left: -6,
469
+ right: -6,
470
+ bottom: -6,
471
+ width: J.width() + 12,
472
+ height: J.height() + 12 - 45
473
+ }, () => {
474
+ J.on("layerProResize.eventItem", e => {
475
+ o.css({
476
+ width: J.width() + 12,
477
+ height: J.height() + 12 - 40
478
+ });
479
+ }), i.css("pointer-events", "none"), t.off(E()), G.vfx(o, !0, !0);
480
+ });
481
+ },
482
+ movable: e => {
483
+ if (!1 === e.movable) return;
484
+ const o = String(e.id), t = $(".popup_overflow_" + e.id, "#popup"), i = $(".popup_drag_" + e.id, t), n = $(".popup_body_" + e.id, t);
485
+ t.css("touch-action", "none");
486
+ let p = 0, s = 0, r = 0, c = 0;
487
+ const a = e => {
488
+ e.preventDefault();
489
+ const o = S(e), i = L(e);
490
+ p = r - o, s = c - i, r = o, c = i, G.checkArea(e)[1] < G.checkArea(e)[4] && 1 === Math.sign(G.checkArea(e)[1]) && t.css("top", t.offset().top - s),
491
+ G.checkArea(e)[0] < G.checkArea(e)[5] && 1 === Math.sign(G.checkArea(e)[0]) && t.css("left", t.offset().left - p);
492
+ }, d = e => {
493
+ const i = {
494
+ passive: !1
495
+ };
496
+ document.removeEventListener(I(), a, i), document.removeEventListener(O(), d, i),
497
+ B.delete(o), n.css("pointer-events", "auto"), G.vfx(t, !0);
498
+ };
499
+ B.set(o, {
500
+ move: a,
501
+ up: d
502
+ });
503
+ i[0].addEventListener(E(), e => {
504
+ e.preventDefault(), n.css("pointer-events", "none"), u(e), G.vfx(t, !1);
505
+ }, {
506
+ passive: !1
507
+ }), e.maximize && i.on("dblclick", o => {
508
+ layerpro.popup.maximize(e);
509
+ });
510
+ const u = e => {
511
+ r = S(e), c = L(e);
512
+ const o = {
513
+ passive: !1
514
+ };
515
+ document.addEventListener(I(), a, o), document.addEventListener(O(), d, o);
516
+ };
517
+ },
518
+ resizable: e => {
519
+ if (!e.resizable) return;
520
+ const o = String(e.id), t = $(".popup_overflow_" + e.id, "#popup");
521
+ for (let e = 4; e--; ) $(`<div class='resize_${e}'>`, t).appendTo(t).css("touch-action", "none"),
522
+ $(`<div class='resize_corner_${e}'>`, t).appendTo(t).css("touch-action", "none");
523
+ const i = F.get(o) || {};
524
+ i.down = function(o) {
525
+ G.resizeModals(o, this, e);
526
+ }, F.set(o, i);
527
+ const n = {
528
+ passive: !1
529
+ };
530
+ $("[class^=resize_]").each((o, t) => {
531
+ t.addEventListener(E(), o => {
532
+ o.preventDefault(), G.resizeModals(o, t, e);
533
+ }, n);
534
+ });
535
+ },
536
+ resizeModals: (e, o, t) => {
537
+ const i = $(o).parent(), n = String(t.id), p = S(e), s = L(e), r = [ p - J.scrollLeft(), s - J.scrollTop() ];
538
+ t.minWidth, Q.css("pointer-events", "none"), i.css("pointer-events", "none"), G.vfx(i, !1);
539
+ const c = e => {
540
+ G.doRes(e, o);
541
+ }, a = e => {
542
+ G.stopRes(o);
543
+ }, d = F.get(n) || {};
544
+ d.move = c, d.up = a, F.set(n, d);
545
+ const u = {
546
+ passive: !1
547
+ };
548
+ document.addEventListener(I(), c, u), document.addEventListener(O(), a, u), R = r[0],
549
+ W = r[1], D = i.width(), X = i.height(), Y = i.position().left, U = i.position().top,
550
+ q = U + X + 1, K = Y + D + 1, j = o;
551
+ },
552
+ doRes: (e, o) => {
553
+ dispatchEvent(new Event("layerProResize"));
554
+ const t = $(o), i = t.parent(), n = S(e), p = L(e), s = [ n - J.scrollLeft(), p - J.scrollTop() ];
555
+ if (o === j) {
556
+ let o = D + s[0] - R, n = X + s[1] - W;
557
+ const p = D - s[0] + R, r = X - s[1] + W;
558
+ o <= 0 && (o = 0), n <= 0 && (n = 0), G.checkArea(e)[1] < G.checkArea(e)[4] && 1 === Math.sign(G.checkArea(e)[1]) && t.hasClass("resize_0") && (i.height() <= P && r > P && i.css({
559
+ height: Number(P + 1)
560
+ }), i.height() > P && P <= r && i.css({
561
+ top: Number(q - r),
562
+ height: parseInt(r)
563
+ })), G.checkArea(e)[0] < G.checkArea(e)[5] && 1 === Math.sign(G.checkArea(e)[0]) && t.hasClass("resize_1") && (i.width() >= A && i.css({
564
+ width: Number(o),
565
+ right: Number(Y - o)
566
+ }), i.width() <= A && i.css({
567
+ width: Number(A + 1)
568
+ })), G.checkArea(e)[1] < G.checkArea(e)[4] && 1 === Math.sign(G.checkArea(e)[1]) && t.hasClass("resize_2") && (i.height() >= P && i.css({
569
+ height: Number(n)
570
+ }), i.height() <= P && n > P && i.css({
571
+ height: Number(P + 1)
572
+ })), G.checkArea(e)[0] < G.checkArea(e)[5] && 1 === Math.sign(G.checkArea(e)[0]) && t.hasClass("resize_3") && (i.width() <= A && p > A && i.css({
573
+ width: Number(A + 1)
574
+ }), i.width() > A && A <= p && i.css({
575
+ width: parseInt(p),
576
+ left: Number(K - p)
577
+ })), G.checkArea(e)[1] < G.checkArea(e)[4] && G.checkArea(e)[0] < G.checkArea(e)[5] && 1 === Math.sign(G.checkArea(e)[0]) && 1 === Math.sign(G.checkArea(e)[1]) && (t.hasClass("resize_corner_0") && (i.height() >= P && r > P && i.css({
578
+ top: Number(q - r),
579
+ height: parseInt(r)
580
+ }), i.height() <= P && r > P && i.css({
581
+ height: Number(P + 1)
582
+ }), i.width() >= A && p > A && i.css({
583
+ width: parseInt(p),
584
+ left: Number(K - p)
585
+ }), i.width() <= A && p > A && i.css({
586
+ width: Number(A + 1)
587
+ })), t.hasClass("resize_corner_1") && (i.height() >= P && r > P && i.css({
588
+ top: Number(q - r),
589
+ height: Number(r)
590
+ }), i.height() <= P && r > P && i.css({
591
+ height: Number(P + 1)
592
+ }), i.width() >= A && i.css({
593
+ width: Number(o),
594
+ right: Number(Y - o)
595
+ }), i.width() <= A && p > A && i.css({
596
+ width: Number(A + 1)
597
+ })), t.hasClass("resize_corner_2") && (i.height() >= P && i.css({
598
+ height: Number(n)
599
+ }), i.height() <= P && n > P && i.css({
600
+ height: Number(P + 1)
601
+ }), i.width() >= A && i.css({
602
+ width: Number(o),
603
+ right: Number(Y - o)
604
+ }), i.width() <= A && i.css({
605
+ width: Number(A + 1)
606
+ })), t.hasClass("resize_corner_3") && (i.height() >= P && n > P && i.css({
607
+ height: Number(n)
608
+ }), i.height() <= P && n > P && i.css({
609
+ height: Number(P + 1)
610
+ }), i.width() >= A && p > A && i.css({
611
+ width: Number(p),
612
+ left: Number(K - p)
613
+ }), i.width() <= A && p > A && i.css({
614
+ width: Number(A + 1)
615
+ })));
616
+ }
617
+ },
618
+ stopRes: e => {
619
+ const o = $(e).parent();
620
+ Q.css("pointer-events", "auto"), o.css("pointer-events", "auto"), G.vfx(o, !0),
621
+ j = !1;
622
+ const t = F.get(String(e));
623
+ if (t) {
624
+ const o = {
625
+ passive: !1
626
+ };
627
+ t.move && document.removeEventListener(I(), t.move, o), t.up && document.removeEventListener(O(), t.up, o),
628
+ F.delete(String(e));
629
+ }
630
+ },
631
+ index: e => {
632
+ const o = $('[class^="popup_overflow_"]', "#popup");
633
+ $('[class^="popup_window_"]', "#popup").removeClass("zHigh"), $('[class^="popup_bar_"]', "#popup").removeClass("popup_bar_selected"),
634
+ $('[class^="icon_"]', "#popup").removeClass("popup_bar_selected"), o.each(function() {
635
+ $(this, "#popup").css("zIndex", $(this, "#popup")[0].style.zIndex - 1);
636
+ }), $(".icon_" + e.id, "#popup").addClass("popup_bar_selected"), $(".popup_overflow_" + e.id, "#popup").css("zIndex", G.zIndex(o)),
637
+ $(".popup_bar_" + e.id, "#popup").addClass("popup_bar_selected"), $(".popup_window_" + e.id, "#popup").addClass("zHigh");
638
+ },
639
+ zIndex: e => (e.each(function() {
640
+ const e = parseInt($(this, "#popup").css("zIndex"), 10);
641
+ e > H && (H = e);
642
+ }), H + 1)
643
+ }, Object.defineProperty(layerpro, "popup", {
644
+ value: G,
645
+ writable: !1,
646
+ configurable: !1
647
+ });
1242
648
  }
1243
- );
1244
- init_credits();
1245
- init_mouseCoords();
1246
- init_properties();
1247
- init_purge();
1248
- init_window();
1249
- layerpro.setProps = (obj, options) => {
1250
- const allProps = Reflect.ownKeys(obj);
1251
- allProps.forEach(
1252
- (prop) => {
1253
- const descriptor = Object.getOwnPropertyDescriptor(obj, prop);
1254
- if (descriptor) {
1255
- descriptor.enumerable = options?.enumerable || false;
1256
- descriptor.configurable = options?.enumerable || false;
1257
- descriptor.writable = options?.writable || false;
1258
- Object.defineProperty(obj, prop, descriptor);
1259
- }
1260
- if (typeof obj[prop] === "object" && obj[prop] !== null) layerpro.setProps(obj[prop], options);
1261
- }
1262
- );
1263
- return;
1264
- };
1265
- layerpro.setProps(
1266
- layerpro,
1267
- {
1268
- configurable: false,
1269
- enumerable: false,
1270
- writable: false
649
+ }), ne = l({
650
+ "core/purge.ts"() {
651
+ te = e => {
652
+ let o, t, i, n = e.attributes;
653
+ if (n) for (t = n.length, o = 0; o < t; o += 1) i = n[o].name, e[i];
654
+ if (n = e.childNodes, n) for (t = n.length, o = 0; o < t; o += 1) layerpro.purge(e.childNodes[o]);
655
+ }, Object.defineProperty(layerpro, "purge", {
656
+ value: new Proxy(te, {}),
657
+ writable: !1,
658
+ configurable: !1
659
+ });
660
+ }
661
+ }), pe = l({
662
+ "core/window.ts"() {
663
+ window.offScreenBuffering = !0, addEventListener("wheel", e => {}, {
664
+ capture: !0,
665
+ passive: !0
666
+ });
1271
667
  }
1272
- );
1273
- Object.freeze(layerpro);
1274
- };
1275
- run();
668
+ });
669
+
670
+ globalThis.$ = a.default, globalThis.jQuery = a.default;
671
+
672
+ window.layerpro || (Object.defineProperty(window, "layerpro", {
673
+ value: {},
674
+ writable: !1,
675
+ configurable: !1,
676
+ enumerable: !1
677
+ }), m(), V(), ie(), ne(), pe(), layerpro.setProps = (e, o) => {
678
+ Reflect.ownKeys(e).forEach(t => {
679
+ const i = Object.getOwnPropertyDescriptor(e, t);
680
+ i && (i.enumerable = o?.enumerable || !1, i.configurable = o?.enumerable || !1,
681
+ i.writable = o?.writable || !1, Object.defineProperty(e, t, i)), "object" == typeof e[t] && null !== e[t] && layerpro.setProps(e[t], o);
682
+ });
683
+ }, layerpro.setProps(layerpro, {
684
+ configurable: !1,
685
+ enumerable: !1,
686
+ writable: !1
687
+ }), Object.freeze(layerpro));