UNPKG

@topvisor/ui

Version:

Topvisor UI-kit Vue

305 lines (304 loc) 27.8 kB
import { nextTick as V } from "vue"; import { C as f } from "./forms-EIQ_3SBd.es.js"; import { TopPopupWorker as H } from "../popup/worker.js"; import { sleep as I, waitWhile as O } from "../utils/system.js"; import { historySetState as F, setHashs as K } from "../utils/route.js"; import { connectScrollShadow as R } from "../utils/scroll.js"; import { T as u, g as L } from "./dialogs.vue_vue_type_script_setup_true_lang-B9iya2uP.es.js"; import { querySelectorVisible as T, querySelectorAllArray as c, isVisible as h } from "../utils/dom.js"; $; let E = !1; const U = () => { E || (E = !0, document.addEventListener("keydown", (e) => { if (e.key !== "Escape" || !e.target || !(e.target instanceof HTMLElement)) return; const t = e.target; if (!t.closest(".ui-dialog") || t.contentEditable === "true" || t.contentEditable === "plaintext-only" || T(document.documentElement, ".top-popup-wrapper") || t.classList.contains("autocomplete") || T(document.documentElement, ".fancybox-container")) return; const i = c(document, ".ui-dialog-content").filter((o) => h(o)); $(i[i.length - 1]).dialog("close"); }), document.addEventListener("click", (e) => { if (!(e.target instanceof HTMLElement)) return; const t = e.target.closest('[data-action="top-dialog-close"]'); if (!t) return; e.preventDefault(); const i = t.closest(".ui-dialog-content"); if (!i) return; const o = t.dataset.toView; if (o == "toPrevPage()") { x.toPrevPage(i); return; } if (o) { const r = o.split("-"), n = r.shift(), l = r.join("-"); if (!n) return; const s = x.getElDialogById(n); if (!s) return; const m = c(s, `[data-view-page="${l}"]`); if (!m) return; if (!h(m[0])) { const b = u.genViewPageHash(o, "prev"); F(!1, b); return; } } $(i).dialog("close"); }), document.addEventListener("submit", (e) => { const t = e.target; (t.matches(".modal-body > form") || t.matches(".modal-layer-body > form")) && e.preventDefault(); }), document.addEventListener("keypress", (e) => { if (!(e.target instanceof HTMLElement)) return; const t = e.target; if (!(!t.closest(".ui-dialog .modal-body") || !(t.matches("input:not(.searcher), textarea:not(.searcher), select:not(.searcher), button:not(.searcher)") || t.hasAttribute("contenteditable"))) && e.key === "Enter") { if (t.classList.contains("autocomplete")) { e.preventDefault(); return; } if (t.tagName === "TEXTAREA") { if (!e.ctrlKey && !e.metaKey) return; const a = t.closest("form"); if (a) { const r = c(a, 'button[type="submit"]').concat(c(a, 'input[type="submit"]')).find((n) => h(n)); r == null || r.click(); } } } }), document.addEventListener("click", function(e) { if (!(e.target instanceof HTMLElement) || !e.target.classList.contains("ui-widget-overlay")) return; let i, o = 0; if (c(document, ".ui-dialog").filter((r) => h(r)).forEach((r) => { const n = Number(window.getComputedStyle(r).zIndex); n < o || (i = r, o = n); }), i) { const r = i.querySelector(".ui-dialog-content"); $(r).dialog("close"); } }), window.addEventListener("resize", x.recalcPositions), x.recalcPositions()); }, J = ':root{--dialog-border-color: var(--color-line-1);--dialog-loading-duration: 10s;--top-dialog-footer-height: var(--top-forms-base-height_s)}html.with_dialog{overflow:hidden!important}a[data-to-view]{cursor:pointer}.ui-widget-overlay{background:#040404;opacity:.5;filter:Alpha(Opacity=50)}.ui-dialog{border-radius:8px;border:none;padding:0}.ui-dialog.ui-widget{border:none}.ui-dialog-titlebar{display:none}.ui-dialog .ui-dialog-content{padding:0;overflow:visible}.ui-dialog .project_name{word-break:break-all}.ui-dialog-content{--dialog-header-height: 50px;--dialog-layer-pageSelector: 0px}.ui-dialog-content-withPageSelector{--dialog-layer-pageSelector: 42px}.modal-header,.modal-body,.modal-footer{font-size:14px;position:relative}.modal-body{padding:var(--padding-default)}.modal-body:has(>.topTable:first-child){padding-top:calc(var(--padding-default) / 4)}.modal-header{border-bottom:1px solid var(--dialog-border-color);height:var(--dialog-header-height);padding:0 var(--padding-default);display:flex;justify-content:space-between;align-items:center;gap:var(--top-padding-2)}.modal-header>*{padding:10px 0;font-size:16px}.modal-header>.top-title{margin:0;font-weight:400;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;flex-grow:1;order:50;display:flex;align-items:center}.modal-header>.top-title>div[class*=icon]{display:none}.modal-header>div:not(.top-title){order:60}.modal-header>div.close{--top-icon-color: var(--color-text-2);cursor:pointer;background:var(--color-layout-front-1);font-size:16px;order:100;animation-name:none!important}.modal-header>div.close:hover{--top-icon-color: var(--color-text-1)}.modal-header .links_icons{position:absolute;right:50px}.modal-header .links_icons [class*=icon-]{width:auto;height:auto;padding:0 5px;color:#d6dee0}.modal-header .links_icons [class*=icon-].active{color:var(--color-bg-warning-1)}.modal-layer-pageSelector{padding:0 10px!important}.modal-body{max-height:calc(var(--100vh) - var(--dialog-header-height) - 1px - var(--dialog-layer-pageSelector) - var(--top-dialog-footer-height) - 1px);overflow-y:auto;overflow-x:hidden;box-sizing:border-box;flex-grow:1}.modal-body hr{margin:16px -15px}.modal-body h4{padding:0;margin:0 0 10px;line-height:normal}.modal-body .inner{padding:var(--padding-default);margin:0 calc(0px - var(--padding-default));position:relative}.modal-body .inner .bt{border-top:1px dashed var(--color-layout-front-primary-3);position:absolute;top:0;right:0;left:0}.modal-body .inner .bb{border-bottom:1px dashed var(--color-layout-front-primary-3);position:absolute;right:0;bottom:0;left:0}.modal-body .inner.color-1{background:var(--color-layout-front-primary-3);color:var(--color-text-1)}.modal-body .inner strong{color:var(--color-text-1)}.modal-body .comment{line-height:18px}.modal-footer{min-height:var(--top-dialog-footer-height);padding:var(--top-gap-2);display:flex;flex-shrink:0;align-items:center;justify-content:flex-end;gap:var(--top-gap-2)}.modal-footer .modal-footer-btn-left{margin-right:auto}.modal-footer>.btn.full_width,.modal-footer>.top-button.full_width{flex-grow:1;align-self:flex-end}.modal-footer-fullWith{flex-wrap:wrap}.modal-footer-fullWith>*{flex-grow:1}.modal-footer-fullWith>.top-info{flex-grow:5}.modal-footer-fullWith>*:empty{flex-grow:0}.ui-dialog-content>.modal-layer>[data-view-page]>input[type=submit]{position:absolute;visibility:hidden}.help_popup .modal-header{display:none}.help_popup .modal-header a{top:2px;z-index:10}.help_popup .modal-header .top-title{display:none}.modal-layer{overflow:hidden}.modal-layer a[data-top-icon]:empty{color:var(--color-text-4);text-decoration:none}.modal-layer>[data-view-page]>div>div.buttons{display:flex;white-space:nowrap;gap:var(--top-padding-1)}.modal-layer>[data-view-page]>div>div.buttons:empty{display:none}.modal-layer>[data-view-page]>div>div.buttons>div,.modal-layer>[data-view-page]>div>div.buttons>a{cursor:pointer;width:auto;height:auto;min-width:auto;min-height:auto;padding:10px 9px;color:var(--color-text-4)}.modal-layer>[data-view-page]>div>div.buttons>div:hover{color:var(--color-text-2)}.modal-layer>[data-view-page]>div>div.buttons>div.hidden{display:none!important}.ui-dialog-content[data-view-page-active]{display:flex!important;flex-direction:column;justify-items:stretch}.ui-dialog-content>.modal-layer{display:flex!important;align-items:stretch;position:relative}.ui-dialog-content.i-change-page>.modal-layer{overflow:hidden}.ui-dialog-content>.modal-layer>[data-view-page]{width:100%;position:relative;display:none;flex-direction:column;justify-content:space-between;animation:.3s cubic-bezier(.4,0,.2,1) forwards}.ui-dialog-content>.modal-layer>[data-view-page].active{display:flex}.ui-dialog-content>.modal-layer>[data-view-page].reverse{animation-direction:reverse}.ui-dialog-content>.modal-layer>[data-view-page].center-to-left,.ui-dialog-content>.modal-layer>[data-view-page].right-to-center{display:flex;position:absolute;inset:0}.ui-dialog-content>.modal-layer>[data-view-page].center-to-left>div,.ui-dialog-content>.modal-layer>[data-view-page].right-to-center>div{overflow:hidden}.ui-dialog-content>.modal-layer-header{border-bottom:1px solid var(--dialog-border-color);min-height:var(--dialog-header-height)}.ui-dialog-content>.modal-layer-header>[data-view-page]>.modal-header{border:none;background:none}.ui-dialog-content>.modal-layer-header>[data-view-page]>.modal-header>*{animation:.3s cubic-bezier(.4,0,.2,1) forwards}.ui-dialog-content>.modal-layer-header>[data-view-page].reverse>.modal-header>*{animation-direction:reverse}.ui-dialog-content>.modal-layer-header>[data-view-page].center-to-left>.modal-header>.top-title{animation-name:dialog-center-to-left-header-title}.ui-dialog-content>.modal-layer-header>[data-view-page].right-to-center>.modal-header>.top-title{animation-name:dialog-right-to-center-header-title}.ui-dialog-content>.modal-layer-header>[data-view-page].center-to-left>.modal-header>[class*=widget-]{animation-name:dialog-center-to-left-header-title}.ui-dialog-content>.modal-layer-header>[data-view-page].right-to-center>.modal-header>[class*=widget-]{animation-name:dialog-right-to-center-header-title}.ui-dialog-content>.modal-layer-header>[data-view-page].center-to-left>.modal-header>div{animation-name:dialog-center-to-left-header-icons}.ui-dialog-content>.modal-layer-header>[data-view-page].right-to-center>.modal-header>div{animation-name:dialog-right-to-center-header-icons}.ui-dialog-content>.modal-layer-body{border-radius:0 0 8px 8px;max-height:calc(var(--100vh) - var(--dialog-header-height) - var(--dialog-layer-pageSelector) - var(--toolbar-height));flex-grow:2}.ui-dialog-content.i-change-page>.modal-layer-body>[data-view-page]{background:var(--color-layout-front-1)}.ui-dialog-content>.modal-layer-body>[data-view-page].center-to-left{animation-name:dialog-center-to-left}.ui-dialog-content>.modal-layer-body>[data-view-page].right-to-center{animation-name:dialog-right-to-center}.ui-dialog-content .modal-footer .second_level{box-sizing:border-box;background:var(--color-layout-front-1);width:100%;min-height:25px;display:flex;align-items:center;justify-content:center}.ui-dialog-content .modal-footer .second_level input{border-radius:8px;width:100%;height:var(--top-forms-base-height);padding:var(--top-padding-1) var(--top-padding-3);box-sizing:border-box}.ui-dialog-content>.modal-layer-body>[data-view-page].i-load-data{pointer-events:none}.ui-dialog-content>.modal-layer-body>[data-view-page].i-load-data:before{content:" ";background:#378dc6;width:0;height:4px;position:absolute;top:0;left:0;z-index:100;animation:top-loadbar var(--dialog-loading-duration) forwards}.ui-dialog-content.modal-expanded{width:100vw!important;height:calc(var(--100vh) + 10px)!important}.modal-header>[data-widget]{padding:0 8px;position:absolute;inset:0;opacity:0;overflow:hidden;align-items:center;visibility:hidden;transition:opacity .3s;z-index:1}.modal-header>[data-widget=search] div.cancel{opacity:0;transform:translate(100%);transition:transform,opacity;transition-duration:.3s}[data-view-page].i-show-search .modal-header>:not([data-widget=search]){visibility:hidden}[data-view-page].i-show-search [data-widget=search]{visibility:visible;opacity:1}[data-view-page].i-show-search [data-widget=search] .cancel{transform:translate(0);opacity:1}[data-view-page]>.modal-header>*{transition:opacity .3s}[data-view-page].i-show-search>.modal-header>div.buttons{opacity:0}.modal-layer .top-popup-wrapper{height:100%!important}@keyframes dialog-center-to-left-header-title{0%{transform:translate(0);opacity:1}75%{opacity:0}to{transform:translate(-30%);opacity:0}}@keyframes dialog-right-to-center-header-title{0%{transform:translate(100%);opacity:0}25%{opacity:0}to{transform:translate(0);opacity:1}}@keyframes dialog-center-to-left-header-icons{0%{transform:translate(0);opacity:1}35%{transform:translate(-20%);opacity:0}to{transform:translate(-20%);opacity:0}}@keyframes dialog-right-to-center-header-icons{0%{transform:translate(20%);opacity:0}65%{transform:translate(20%);opacity:0}to{transform:translate(0);opacity:1}}@keyframes dialog-center-to-left{0%{transform:translate(0);filter:brightness(1)}to{transform:translate(-30%);filter:brightness(.9)}}@keyframes dialog-right-to-center{0%{transform:translate(100%);box-shadow:#0000001a 0 0 10px}to{transform:translate(0);box-shadow:#0003 0 0 10px}}@media only screen and (max-width: 1480px){.win_side_panel_opener{display:none}}@media only screen and (min-width: 1480px){.ui-dialog-content.with_side_panel{box-shadow:#0003 0 0 6px}.ui-dialog-content.with_side_panel .modal-layer-body{background:var(--color-layout-front-1)}[data-widget=side_panel]{--side_panel_width: calc((100vw - 900px)/2 - 28px) ;box-sizing:border-box;background:var(--color-layout-front-1);max-width:var(--side_panel_width);padding:18px;position:absolute;top:calc(var(--dialog-header-height) + 1px + var(--dialog-layer-pageSelector));bottom:calc(var(--top-dialog-footer-height) + 1px);z-index:-1;display:block;transition:.2s}.win_side_panel_left{border-radius:8px 0 0 8px;right:100%}.win_side_panel_right{border-radius:0 8px 8px 0;left:100%}.win_side_panel_closed.win_side_panel_left{right:calc(100% - var(--side_panel_width))}.win_side_panel_closed.win_side_panel_right{left:calc(100% - var(--side_panel_width))}[data-widget=side_panel] .template{display:block}[data-widget=side_panel] .template>.header,[data-widget=side_panel] .template>.footer{display:flex}.win_side_panel_opener{cursor:pointer;background:var(--color-cyan);color:#fff;padding:4px;position:absolute;top:20px}.win_side_panel_closed .win_side_panel_opener:not(:hover){opacity:.3}.win_side_panel_left .win_side_panel_opener{border-radius:4px 0 0 4px;right:100%}.win_side_panel_right .win_side_panel_opener{border-radius:0 6px 6px 0;left:100%}}@media only screen and (max-height: 900px){html.with_dialog{background:#f1f1f1;overflow:hidden}.ui-dialog.me-tightly{border-radius:0;height:auto!important;position:fixed;top:0!important;bottom:0!important}.ui-dialog.me-tightly .ui-dialog-content{min-height:100%!important}.ui-dialog.me-tightly>div>.modal-body{position:absolute;top:var(--dialog-header-height);right:0;left:0;bottom:var(--dialog-header-height)}.ui-dialog.me-tightly>div>.modal-body:last-child{bottom:0}.ui-dialog.me-tightly>div>.modal-footer{position:absolute;right:0;bottom:0;left:0}.ui-dialog.me-tightly .modal-layer-body{border-radius:0;min-height:0!important}.ui-dialog.me-tightly .modal-layer-body .modal-footer{min-height:unset}}', Z = 'html.with_dialog body{height:var(--100vh);overflow:hidden}.ui-widget-overlay{height:calc(100% - var(--toolbar-height))}.ui-dialog{border-radius:0;width:auto!important;height:auto!important;position:fixed;inset:0!important}.ui-dialog-content{width:100%!important;height:100%!important;min-width:0!important;max-width:100%!important}.modal-header>.top-title{text-align:center;font-size:14px}.modal-header>div.close{font-size:14px;order:1}.modal-header>div.close:before{content:""}.modal-body:last-child{bottom:0}.modal-footer{bottom:0}.modal-footer .second_level{padding:10px 8px}.modal-layer-body{min-height:0!important}.ui-dialog-content>.modal-layer-body{border-radius:0}.modal-body,.modal-footer{padding-right:12px;padding-left:12px}.modal-footer .btn:last-child{margin-right:12px}.modal-body .inner{padding:12px;margin:0 -12px;position:relative}', G = ".modal-menu-opener{order:1!important}.modal-menu-opener:before{--top-icon-size: 20px;--top-icon-color: #FFF;--top-icon-width: var(--top-icon-size);border-radius:50%;background:var(--color-bg-primary-1);padding:3px;transition:transform .1s}.modal-menu-opener:hover:before{background:var(--color-bg-primary-2)}.modal-menu-opener.top-active:before{background:var(--color-bg-primary-2);transform:scale(.8)}.modal-layer .top-popup-wrapper{background:transparent;width:auto!important;padding:0!important;margin:0!important;top:0!important;right:0!important;left:0!important;transition:background .3s}.modal-layer .top-popup-wrapper>.top-popup[class],.modal-layer .top-popup-wrapper.with_notch>.top-popup[class]{border-radius:8px;border:none;margin:12px!important;max-width:100%;max-height:calc(100% - 24px);inset:0 0 auto!important;overflow:auto;display:flex;flex-direction:column;opacity:1;transform:translateY(calc(-100% - 24px));transition:transform .3s}.modal-layer .top-popup>.top-popup_header{background:var(--color-theme-50)}.modal-layer .top-theme-lite .top-popup>.top-popup_header .select{border:none}.modal-layer .top-theme-lite .top-popup>.top-popup_header .select .text{color:#fff}.modal-layer .top-theme-lite .top-popup>.top-popup_header .select .arrow{background:none}.modal-layer .top-popup-wrapper-shown:not(.top-popup-wrapper-closed){background:#34495e40}@media only screen and (min-width: 1480px){.ui-dialog-content.with_side_panel{box-shadow:#0003 0 0 6px}.ui-dialog-content.with_side_panel .modal-layer-body{background:var(--color-layout-front-1)}[data-widget=side_panel]{--side_panel_width: calc((100vw - 900px)/2 - 28px) ;box-sizing:border-box;background:var(--color-layout-front-1);max-width:var(--side_panel_width);padding:18px;display:block;position:absolute;top:51px;bottom:51px;z-index:-1;transition:.2s}.win_side_panel_left{border-radius:8px 0 0 8px;right:100%}.win_side_panel_right{border-radius:0 8px 8px 0;left:100%}.win_side_panel_closed.win_side_panel_left{right:calc(100% - var(--side_panel_width))}.win_side_panel_closed.win_side_panel_right{left:calc(100% - var(--side_panel_width))}[data-widget=side_panel] .template{display:block}[data-widget=side_panel] .template>.header,[data-widget=side_panel] .template>.footer{display:flex}.win_side_panel_opener{cursor:pointer;background:var(--color-cyan);color:#fff;padding:4px;position:absolute;top:20px}.win_side_panel_closed .win_side_panel_opener:not(:hover){opacity:.3}.win_side_panel_left .win_side_panel_opener{border-radius:4px 0 0 4px;right:100%}.win_side_panel_right .win_side_panel_opener{border-radius:0 6px 6px 0;left:100%}}", Q = "html{--top-dialog-width: auto;--top-dialog-height: auto}.top-dialog{max-width:100vw}.top-dialog .modal-layer-body{height:var(--top-dialog-height)}", X = ".top-dialog{width:var(--top-dialog-width)!important}"; f.insertStyleToPage(J); f.insertStyleToPage(Z, "m"); f.insertStyleToPage(G, "pc"); f.insertStyleToPage(Q); f.insertStyleToPage(X, "pc"); let W, P = !1; const w = (e) => !!e && typeof e == "object" && "jquery" in e, Y = () => { $.extend($.ui.dialog.prototype.options, { focus: (e) => { var t; e.target.focus(), (t = $("[autofocus]", e.target)[0]) == null || t.focus(); }, create: (e) => N(e.target), open: (e) => ee(e.target), close: (e) => te(e.target), modal: !0, resizable: !1, closeOnEscape: !1, width: "auto", minHeight: 0 }), $.ui.dialog.prototype._focusTabbable = $.noop, $.ui.dialog.prototype._moveToTopOriginal = $.ui.dialog.prototype._moveToTop, $.ui.dialog.prototype._moveToTop = function() { this._moveToTopOriginal(); const e = $(this.element); e.trigger("dialogsMoveToTop", [e]); }, U(), P = !0; }, M = (e) => { var i, o; const t = {}; return ((i = e.dataset) == null ? void 0 : i.modal) === "false" && (t.modal = !1), (o = e.dataset) != null && o.position && (t.position = JSON.parse(e.dataset.position)), t; }, v = (e) => document.getElementById(e), _ = async (e, t, i) => { if (!e.startsWith("dialog_")) return; const o = L(e); if (o && (o.isOpened.value = !0, t !== void 0 && (o.pageActive.value = t), i !== void 0 && (o.pageActiveNext.value = i), await V(), i)) { const a = v(e); if (!a) return; a.querySelectorAll(`[data-view-page="${i}"]`).length || await O(() => !a.querySelectorAll(`[data-view-page="${i}"]`).length); } }, N = (e) => { var i, o; const t = e.querySelector(".modal-body"); t && (R(t), (o = (i = u.state).decoratorOnCreate) == null || o.call(i, e), D(e)); }, D = (e) => { $(e).on("aftershow.top-menu-popup", "[data-top-popup]", (t, i) => { var r; const o = i[0], a = u.getPairPage(o); (r = a == null ? void 0 : a[1]) == null || r.prepend(o); }); }, ee = async (e) => { var n; const t = e.dataset.viewPageActive, i = window.innerWidth; f.state.documentClassModificators.set("top-dialog", "with_dialog"); const a = window.innerWidth - i; document.documentElement.scrollHeight > window.innerHeight && (document.querySelector("html").style.marginRight = a + "px"), C(); const r = L(e.getAttribute("id")); (n = r == null ? void 0 : r.emit) == null || n.call(r, "open", t); }, te = async (e) => { var r; const t = e.getAttribute("id"), i = e.dataset.viewPageActive; if (i) { const n = { vpn: u.state.viewPageN, ["view-" + t]: null }; n["view-" + t] = null, (u.state.viewPageN === 0 || u.state.viewPageN === 1) && (n.vpn = null), K(n, !1); } c(document, ".ui-widget-overlay").filter((n) => h(n)).length || (f.state.documentClassModificators.delete("top-dialog"), document.querySelector("html").style.marginRight = ""), $(e).trigger("viewAfterClose", [$(e)]); const a = L(t); a && (a.isOpened.value = !1, (r = a.emit) == null || r.call(a, "close", i), a.onCloseOnce && (a.onCloseOnce(a.props, i), a.onCloseOnce = void 0)), window.dispatchEvent(new Event("resize")); }, C = () => { c(document, ".ui-dialog").filter((t) => h(t) && t.querySelector(":scope > .ui-dialog-content")).map((t) => t.querySelector(":scope > .ui-dialog-content")).forEach((t) => { if (!t.querySelector(".modal-body")) return; const o = t.closest(".ui-dialog"), a = M(t); a.position ??= { of: window }, $(t).dialog("option", a), o.classList.remove("me-tightly"), (o.clientHeight ?? 0) > window.innerHeight && o.classList.add("me-tightly"); }); }, oe = async (e, t) => { const o = /(\w+)[=-]([\w-]+)(?::([\w.:-]+))?/g.exec(e); if (o) { const a = o[1], r = o[2], n = o[3]; let l = []; n && (l = n.split(":")), await j(a, r, l, t); } }, j = async (e, t, i, o, a) => { P || await new Promise((l, s) => { const m = setInterval(() => { P && (clearInterval(m), l()); }, 10); }), await V(); let r; if (typeof e == "object" ? (w(e) && (e = e == null ? void 0 : e[0]), r = e) : r = v(e), !r && typeof e == "string" && u.state.load && (await u.state.load(e), r = v(e), !r)) throw new Error("Dialog no exists: " + e); if (!r) return; await A(r, t, i, o); const n = $(r); if (r != null && r.classList.contains("ui-dialog-content")) n.dialog("open"); else { const l = M(r); n.dialog(l); } a && a(n); }, A = async (e, t, i, o) => { var m, b; w(e) && (e = e == null ? void 0 : e[0]), t === void 0 && (t = e.dataset.viewPageActive), t !== e.dataset.viewPageActive && q(e) && await I(100), i === void 0 && (i = []), await _(e.getAttribute("id"), void 0, t); const a = c(e, ".modal-layer"), r = a.reduce((d, g) => { const p = g.querySelector(":scope > .active"); return p && d.push(p), d; }, []), n = a.reduce((d, g) => { const p = g.querySelector(`:scope > [data-view-page="${t}"]`); return p && d.push(p), d; }, []), l = i.join(":"); if (o === void 0 && (o = "next", (((m = n[0]) == null ? void 0 : m.dataset.order) ?? 0) < (((b = r[0]) == null ? void 0 : b.dataset.order) ?? 0) && (o = "prev")), !n.length) return; if (e.dataset.viewPageActive = t, n[0].classList.contains("active")) { n[0].dataset.viewPageArgs !== l && n.forEach((d) => { d.dataset.viewPageArgs = l; }), z(e, n, t, i), S(e, n, t, i); return; } n.forEach((d) => { d.dataset.viewPageArgs = l; }), r.forEach((d) => { d.querySelector(".top-popup-wrapper") && H.close(d.querySelector(".top-popup-wrapper")); }); const s = n[0].closest(".ui-dialog"); switch (s && !h(s) && (o = "none"), r.length || (o = "none"), h(n[0]) && (o = "none"), o) { case "prev": { n.forEach((d) => { var p, y; const g = (p = d.parentNode) == null ? void 0 : p.querySelector(":scope > .active"); g && ((y = d.parentNode) == null || y.insertBefore(d, g)); }), r.forEach((d) => { d.classList.add("right-to-center", "reverse"); }), n.forEach((d) => { d.classList.add("center-to-left", "reverse"); }); break; } case "next": { n.forEach((d) => { var p, y; const g = (p = d.parentNode) == null ? void 0 : p.querySelector(":scope > .active"); g && ((y = d.parentNode) == null || y.insertBefore(d, g.nextSibling)); }), r.forEach((d) => { d == null || d.classList.add("center-to-left"); }), n.forEach((d) => { d.classList.add("right-to-center"); }); break; } } if (e.setAttribute("view-page-active", t), r.forEach((d) => { d.classList.remove("active"); }), n.forEach((d) => { d.classList.add("active"); }), z(e, n, t, i), o) { e.classList.add("i-change-page"); const d = Number(window.getComputedStyle(n[0]).animationDuration.replace("s", "")) * 1e3; W = setTimeout(function() { _(e.getAttribute("id"), t, ""), q(e), S(e, n, t, i); }, d); } else await _(e.getAttribute("id"), t, ""), S(e, n, t, i); }, ae = (e) => { var r; const a = (r = c(e, ".modal-layer").reduce((n, l) => { const s = l.querySelector(":scope > .active"); return s && n.push(s), n; }, []).reduce((n, l) => { let s = l.previousElementSibling; for (; s && !s.hasAttribute("data-view-page"); ) s = s.previousElementSibling; return s && n.push(s), n; }, [])[0]) == null ? void 0 : r.dataset.viewPage; a ? A(e, a, void 0, "prev") : $(e).dialog("close"); }, k = /* @__PURE__ */ new Set(), z = (e, t, i, o) => { const a = e.getAttribute("id") + t[0].dataset.viewPage + i + o.join(); k.has(a) || (k.add(a), setTimeout(function() { k.delete(a), $(e).trigger("viewBeforeOpen", [$(e), $(t), i, o]); })); }, S = (e, t, i, o) => { setTimeout(function() { $(e).trigger("viewAfterOpen", [$(e), $(t), i, o]); }); }, B = (e) => (w(e) && (e = e == null ? void 0 : e[0]), e.classList.contains("i-change-page")), q = (e) => { if (!B(e)) return !1; clearTimeout(W); const t = c(e, ".modal-layer"), i = e.dataset.viewPageActive; return e.classList.remove("i-change-page"), t.forEach((o) => { o.querySelectorAll(":scope > [data-view-page]").forEach((a) => { a.classList.remove("center-to-left", "right-to-center", "reverse", "active"); }); }), t.forEach((o) => { var a; (a = o.querySelector(`:scope > [data-view-page="${i}"]`)) == null || a.classList.add("active"); }), !0; }, ie = function(e) { const t = v(e); if (!t) return; const i = $(t); i.dialog("instance") && i.dialog("close"); }, re = (e, t, i) => { w(e) && (e = e.toArray()); const o = e.reduce((a, r) => (r.hasAttribute("data-view-page") && h(r) && a.push(r), a), []); t ? (i !== void 0 && o.forEach((a) => { a.style.setProperty("--dialog-loading-duration", i + "s"); }), o.forEach((a) => { a.classList.add("i-load-data"); })) : (o.forEach((a) => { a.classList.remove("i-load-data"); }), o.forEach((a) => { a.style.setProperty("--dialog-loading-duration", "10s"); })); }, ne = (e) => (w(e) && (e = e == null ? void 0 : e[0]), e.classList.contains("i-load-data")), x = { getElDialogById: v, updatePageVue: _, recalcPositions: C, toViewDirty: oe, toView: j, toViewPage: A, toPrevPage: ae, setLoading: re, isLoading: ne, inAnimation: B, close: ie }; Y(); export { x as TopDialogUtils }; //# sourceMappingURL=utils-DY3nA9fg.es.js.map