@topvisor/ui 1.1.0-addNativeDialog.18 → 1.1.0-addNativeDialog.19
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.chunks/{core-6RtNLPXc.amd.js → core-Ct3VWRde.amd.js} +2 -2
- package/.chunks/{core-6RtNLPXc.amd.js.map → core-Ct3VWRde.amd.js.map} +1 -1
- package/.chunks/{core-a85xGU1N.es.js → core-DVlMYAfi.es.js} +2 -2
- package/.chunks/{core-a85xGU1N.es.js.map → core-DVlMYAfi.es.js.map} +1 -1
- package/.chunks/{dialog_selectorRegions-DPAMwRDY.es.js → dialog_selectorRegions-BpE6vw7x.es.js} +3 -3
- package/.chunks/{dialog_selectorRegions-DPAMwRDY.es.js.map → dialog_selectorRegions-BpE6vw7x.es.js.map} +1 -1
- package/.chunks/{dialog_selectorRegions-GjMUeKSk.amd.js → dialog_selectorRegions-hfsUw4lH.amd.js} +2 -2
- package/.chunks/{dialog_selectorRegions-GjMUeKSk.amd.js.map → dialog_selectorRegions-hfsUw4lH.amd.js.map} +1 -1
- package/.chunks/dialogs.vue_vue_type_script_setup_true_lang-6huAKJt_.es.js +619 -0
- package/.chunks/dialogs.vue_vue_type_script_setup_true_lang-6huAKJt_.es.js.map +1 -0
- package/.chunks/dialogs.vue_vue_type_script_setup_true_lang-CM666D6Q.amd.js +2 -0
- package/.chunks/dialogs.vue_vue_type_script_setup_true_lang-CM666D6Q.amd.js.map +1 -0
- package/.chunks/{page.vue_vue_type_script_setup_true_lang-xC0DQs3s.es.js → page.vue_vue_type_script_setup_true_lang-DDBKHTXA.es.js} +4 -4
- package/.chunks/page.vue_vue_type_script_setup_true_lang-DDBKHTXA.es.js.map +1 -0
- package/.chunks/page.vue_vue_type_script_setup_true_lang-mhd3MqMq.amd.js +2 -0
- package/.chunks/page.vue_vue_type_script_setup_true_lang-mhd3MqMq.amd.js.map +1 -0
- package/.chunks/popupHint.vue_vue_type_style_index_0_lang-Cce9ZdtW.amd.js +2 -0
- package/.chunks/popupHint.vue_vue_type_style_index_0_lang-Cce9ZdtW.amd.js.map +1 -0
- package/.chunks/{utils-CmBBH3tD.es.js → utils-B1fRcl8f.es.js} +2 -2
- package/.chunks/{utils-CmBBH3tD.es.js.map → utils-B1fRcl8f.es.js.map} +1 -1
- package/.chunks/{utils-DTegnc0m.amd.js → utils-CGvb4aCs.amd.js} +2 -2
- package/.chunks/{utils-DTegnc0m.amd.js.map → utils-CGvb4aCs.amd.js.map} +1 -1
- package/assets/formsExt.css +1 -1
- package/assets/layout.css +1 -1
- package/assets/{widgetInput.css → popupHint.css} +1 -1
- package/core/app.amd.js +1 -1
- package/core/app.js +3 -3
- package/dialog/dialog.amd.js +1 -1
- package/dialog/dialog.js +2 -2
- package/formsExt/formsExt.amd.js +1 -1
- package/formsExt/formsExt.amd.js.map +1 -1
- package/formsExt/formsExt.js +384 -363
- package/formsExt/formsExt.js.map +1 -1
- package/layout/layout.amd.js.map +1 -1
- package/layout/layout.js.map +1 -1
- package/package.json +1 -1
- package/popup/popup.amd.js +1 -1
- package/popup/popup.amd.js.map +1 -1
- package/popup/popup.js +141 -94
- package/popup/popup.js.map +1 -1
- package/project/project.amd.js +1 -1
- package/project/project.js +2 -2
- package/src/components/dialog/lib/types.d.ts +2 -2
- package/src/components/forms/checkbox/checkbox.vue.d.ts +2 -2
- package/src/components/forms/checkbox/types.d.ts +4 -3
- package/src/components/formsExt/checkboxGroup/checkboxGroup.vue.d.ts +18 -7
- package/src/components/formsExt/checkboxGroup/types.d.ts +4 -18
- package/src/components/formsExt/libs/optionGroup/optionGroup.vue.d.ts +16 -0
- package/src/components/formsExt/libs/optionGroup/types.d.ts +15 -0
- package/src/components/formsExt/radioGroup/radioGroup.vue.d.ts +18 -7
- package/src/components/formsExt/radioGroup/types.d.ts +4 -20
- package/src/components/popup/popup.d.ts +4 -3
- package/src/components/popup/popupHint/popupHint.vue.d.ts +17 -0
- package/src/components/popup/popupHint/types.d.ts +7 -0
- package/src/core/utils/check.d.ts +5 -1
- package/tabsView/tabsView.amd.js +1 -1
- package/tabsView/tabsView.amd.js.map +1 -1
- package/tabsView/tabsView.js +1 -1
- package/utils/check.amd.js +1 -1
- package/utils/check.amd.js.map +1 -1
- package/utils/check.js +14 -21
- package/utils/check.js.map +1 -1
- package/utils/searchers.amd.js +1 -1
- package/utils/searchers.js +2 -2
- package/.chunks/dialogs.vue_vue_type_script_setup_true_lang-CoklzD3N.amd.js +0 -2
- package/.chunks/dialogs.vue_vue_type_script_setup_true_lang-CoklzD3N.amd.js.map +0 -1
- package/.chunks/dialogs.vue_vue_type_script_setup_true_lang-FWjpvJs5.es.js +0 -615
- package/.chunks/dialogs.vue_vue_type_script_setup_true_lang-FWjpvJs5.es.js.map +0 -1
- package/.chunks/page.vue_vue_type_script_setup_true_lang-0_uuXDQf.amd.js +0 -2
- package/.chunks/page.vue_vue_type_script_setup_true_lang-0_uuXDQf.amd.js.map +0 -1
- package/.chunks/page.vue_vue_type_script_setup_true_lang-xC0DQs3s.es.js.map +0 -1
- package/.chunks/widgetInput.vue_vue_type_style_index_0_lang-Cce9ZdtW.amd.js +0 -2
- package/.chunks/widgetInput.vue_vue_type_style_index_0_lang-Cce9ZdtW.amd.js.map +0 -1
- /package/src/components/popup/{alert/alert.vue.d.ts → popupAlert/popupAlert.vue.d.ts} +0 -0
- /package/src/components/popup/{alert → popupAlert}/types.d.ts +0 -0
- /package/src/components/popup/{confirm/confirm.vue.d.ts → popupConfirm/popupConfirm.vue.d.ts} +0 -0
- /package/src/components/popup/{confirm → popupConfirm}/types.d.ts +0 -0
- /package/src/components/popup/{prompt/prompt.vue.d.ts → popupPrompt/popupPrompt.vue.d.ts} +0 -0
- /package/src/components/popup/{prompt → popupPrompt}/types.d.ts +0 -0
|
@@ -1,615 +0,0 @@
|
|
|
1
|
-
import { nextTick as te, ref as x, markRaw as ae, shallowReactive as oe, defineComponent as ie, onUnmounted as re, createElementBlock as F, openBlock as z, Fragment as ne, renderList as de, unref as se, createBlock as le, resolveDynamicComponent as ce } from "vue";
|
|
2
|
-
import { sleep as pe, waitWhile as Z } from "../utils/system.js";
|
|
3
|
-
import { C as b } from "./forms-BWoAyEVH.es.js";
|
|
4
|
-
import { TopPopupWorker as ge } from "../popup/worker.js";
|
|
5
|
-
import { historySetState as L, genHash as R, getHash as K, setHashs as he } from "../utils/route.js";
|
|
6
|
-
import { connectScrollShadow as ue } from "../utils/scroll.js";
|
|
7
|
-
import { querySelectorAllArray as h, isVisible as u } from "../utils/dom.js";
|
|
8
|
-
$;
|
|
9
|
-
class c {
|
|
10
|
-
static state = {
|
|
11
|
-
load: void 0,
|
|
12
|
-
decoratorOnCreate: void 0,
|
|
13
|
-
/**
|
|
14
|
-
* Порядковый номер перехода в диалоговых окнах
|
|
15
|
-
*
|
|
16
|
-
* Для расчета анимации Вперед / Назад
|
|
17
|
-
*/
|
|
18
|
-
viewPageN: 0
|
|
19
|
-
};
|
|
20
|
-
static inited = !1;
|
|
21
|
-
/**
|
|
22
|
-
* Инициировать события слежения за парамтерами url
|
|
23
|
-
*
|
|
24
|
-
* Если в параметрах есть запрос на открытие диалогового окна, TopDialog будет автоматически подключен на страницу
|
|
25
|
-
*/
|
|
26
|
-
static init(t) {
|
|
27
|
-
if (this.inited) return;
|
|
28
|
-
this.inited = !0, this.state.load = t == null ? void 0 : t.load, this.state.decoratorOnCreate = t == null ? void 0 : t.decoratorOnCreate;
|
|
29
|
-
const a = (t == null ? void 0 : t.autoInitDelay) ?? 5e3;
|
|
30
|
-
window.addEventListener("hashchange", (o) => {
|
|
31
|
-
this.opendDialogsFromChangeUrl(o.oldURL, o.newURL);
|
|
32
|
-
}), this.opendDialogsFromChangeUrl("", location.href), document.addEventListener("mousedown", async (o) => {
|
|
33
|
-
const i = o.target.closest("a[data-to-view]");
|
|
34
|
-
if (!i) return;
|
|
35
|
-
let n = "next";
|
|
36
|
-
i.dataset.action === "top-dialog-close" && (n = "prev"), i.href = c.genViewPageHash(i.dataset.toView, n);
|
|
37
|
-
}), document.addEventListener("click", async (o) => {
|
|
38
|
-
var p, w;
|
|
39
|
-
const i = o.target.closest("[data-to-view]");
|
|
40
|
-
if (!i) return;
|
|
41
|
-
if (i instanceof HTMLAnchorElement && i.href === ".") {
|
|
42
|
-
o.preventDefault();
|
|
43
|
-
const k = new MouseEvent("mousedown", {
|
|
44
|
-
bubbles: !0,
|
|
45
|
-
cancelable: !0,
|
|
46
|
-
view: window
|
|
47
|
-
});
|
|
48
|
-
i.dispatchEvent(k), setTimeout(() => i.click());
|
|
49
|
-
return;
|
|
50
|
-
}
|
|
51
|
-
const n = await this.getDialogsUtils(), s = i.dataset.toView, l = s.split("-")[0], g = n.getElDialogById(l);
|
|
52
|
-
let f = "next";
|
|
53
|
-
if (g) {
|
|
54
|
-
const k = h(g, ".modal-layer"), I = k.reduce((E, j) => {
|
|
55
|
-
const P = j.querySelector(":scope > .active");
|
|
56
|
-
return P && E.push(P), E;
|
|
57
|
-
}, []);
|
|
58
|
-
if (I.length) {
|
|
59
|
-
const E = s.split("-")[1].split(":")[0];
|
|
60
|
-
(((p = k.reduce((P, V) => {
|
|
61
|
-
const O = V == null ? void 0 : V.querySelector(`:scope > [data-view-page="${E}"]`);
|
|
62
|
-
return O && P.push(O), P;
|
|
63
|
-
}, [])[0]) == null ? void 0 : p.dataset.order) ?? 0) < (((w = I[0]) == null ? void 0 : w.dataset.order) ?? 0) && (f = "prev");
|
|
64
|
-
}
|
|
65
|
-
}
|
|
66
|
-
i.dataset.action === "top-dialog-close" && (f = "prev");
|
|
67
|
-
const d = c.genViewPageHash(s, f);
|
|
68
|
-
if (i instanceof HTMLAnchorElement) {
|
|
69
|
-
if (!g || !u(g)) return;
|
|
70
|
-
if (location.hash.indexOf(s.replace("-", "=")) !== -1) {
|
|
71
|
-
await n.toViewDirty(s);
|
|
72
|
-
return;
|
|
73
|
-
}
|
|
74
|
-
}
|
|
75
|
-
!!(g != null && g.dataset.toViewReplace) ? (o.preventDefault(), L(!0, d), await n.toViewDirty(s), f == "next" ? c.state.viewPageN++ : c.state.viewPageN--) : i.tagName !== "A" && (this.compareStates(d, location.hash) ? L(!1, d) : await n.toViewDirty(s));
|
|
76
|
-
}), setTimeout(() => this.getDialogsUtils(), a);
|
|
77
|
-
}
|
|
78
|
-
static opendDialogsFromChangeUrl(t, a) {
|
|
79
|
-
const o = t.replace(/.*?#/, "#"), r = a.replace(/.*?#/, "#");
|
|
80
|
-
this.compareStates(o, r) && this.opendDialogsFromUrl();
|
|
81
|
-
}
|
|
82
|
-
static async getDialogsUtils() {
|
|
83
|
-
const { TopDialogUtils: t } = await Promise.resolve().then(() => Me);
|
|
84
|
-
return t;
|
|
85
|
-
}
|
|
86
|
-
static getDialog(t) {
|
|
87
|
-
return t.closest(".ui-dialog-content");
|
|
88
|
-
}
|
|
89
|
-
/**
|
|
90
|
-
* todo: Переписать на сайте на this.getDialog()
|
|
91
|
-
*
|
|
92
|
-
* @deprecated Для обратной совместимости
|
|
93
|
-
*/
|
|
94
|
-
static get$dialog(t) {
|
|
95
|
-
return t.closest(".ui-dialog-content");
|
|
96
|
-
}
|
|
97
|
-
static getPage(t) {
|
|
98
|
-
return t.closest("[data-view-page]");
|
|
99
|
-
}
|
|
100
|
-
/**
|
|
101
|
-
* todo: Переписать на сайте на this.getPage()
|
|
102
|
-
*
|
|
103
|
-
* @deprecated Для обратной совместимости
|
|
104
|
-
*/
|
|
105
|
-
static get$page(t) {
|
|
106
|
-
return t.closest("[data-view-page]");
|
|
107
|
-
}
|
|
108
|
-
static getPairPage(t) {
|
|
109
|
-
const a = c.getDialog(t);
|
|
110
|
-
if (!a) return;
|
|
111
|
-
const o = c.getPage(t), r = o == null ? void 0 : o.dataset.viewPage;
|
|
112
|
-
return h(a, `[data-view-page="${r}"]`);
|
|
113
|
-
}
|
|
114
|
-
/**
|
|
115
|
-
* todo: Переписать на сайте на this.getPairPage()
|
|
116
|
-
*
|
|
117
|
-
* @deprecated Для обратной совместимости
|
|
118
|
-
*/
|
|
119
|
-
static get$pairPage(t) {
|
|
120
|
-
const a = c.get$dialog(t), r = c.get$page(t).data("view-page");
|
|
121
|
-
return $('[data-view-page="' + r + '"]', a);
|
|
122
|
-
}
|
|
123
|
-
/**
|
|
124
|
-
* Закрыть диалоговое окно по его id
|
|
125
|
-
* @param id - id элемента ElTopDialog
|
|
126
|
-
* @see ElTopDialog
|
|
127
|
-
*/
|
|
128
|
-
static close(t) {
|
|
129
|
-
const a = document.getElementById(t);
|
|
130
|
-
if (!a) return;
|
|
131
|
-
v(a).close();
|
|
132
|
-
}
|
|
133
|
-
/**
|
|
134
|
-
* Размонтировать диалоговое окно по его id
|
|
135
|
-
* @param id - id элемента ElTopDialog
|
|
136
|
-
* @see ElTopDialog
|
|
137
|
-
*/
|
|
138
|
-
static destroy(t) {
|
|
139
|
-
const a = document.getElementById(t);
|
|
140
|
-
if (!a) return;
|
|
141
|
-
const o = v(a);
|
|
142
|
-
o.close(), o.remove();
|
|
143
|
-
}
|
|
144
|
-
/**
|
|
145
|
-
* Сгенерировать ссылку на страницу в диалоговом окне
|
|
146
|
-
* @param toView - указатель в формате: dialog_{{ dialogId }}={{ pageName }}:{{ args }}
|
|
147
|
-
* @param moveDirection
|
|
148
|
-
*/
|
|
149
|
-
static genViewPageHash(t, a = "next") {
|
|
150
|
-
let o = this.state.viewPageN;
|
|
151
|
-
a == "prev" ? o-- : o++;
|
|
152
|
-
const r = t.split("-"), i = r.shift(), n = r.join("-");
|
|
153
|
-
let s = R("vpn", o);
|
|
154
|
-
return s = R("view-" + i, n, s), s;
|
|
155
|
-
}
|
|
156
|
-
/**
|
|
157
|
-
* Сравнить версию открытых диалоговых окон
|
|
158
|
-
* @returns вернет true, если состояния открытых окон изменилось
|
|
159
|
-
*/
|
|
160
|
-
static compareStates(t, a) {
|
|
161
|
-
const o = t.match(/[#&]view-[^&]+/g) || [], r = a.match(/[#&]view-[^&]+/g) || [];
|
|
162
|
-
return !!(o.length !== r.length || o.filter((n, s) => {
|
|
163
|
-
const l = r[s] || "";
|
|
164
|
-
return n !== l;
|
|
165
|
-
}).length);
|
|
166
|
-
}
|
|
167
|
-
static opendDialogsFromUrl = async () => {
|
|
168
|
-
const t = Number(K("vpn")) || 0;
|
|
169
|
-
let a;
|
|
170
|
-
const o = new RegExp("view-((\\w+)=([\\w-]+)(?::([\\w.:-]+))?)", "g");
|
|
171
|
-
for (; a = o.exec(location.hash); ) {
|
|
172
|
-
let i = "next";
|
|
173
|
-
return t < this.state.viewPageN && (i = "prev"), (await this.getDialogsUtils()).toViewDirty(a[1], i);
|
|
174
|
-
}
|
|
175
|
-
return h(document, ".ui-dialog-content[data-view-page-active]").filter((i) => u(i)).forEach((i) => {
|
|
176
|
-
const n = i.getAttribute("id");
|
|
177
|
-
if (!n) throw "Диалоговое окно не содержит id";
|
|
178
|
-
K("view-" + n) || v(i).close();
|
|
179
|
-
}), this.state.viewPageN = t, !0;
|
|
180
|
-
};
|
|
181
|
-
}
|
|
182
|
-
let J = !1;
|
|
183
|
-
const me = () => {
|
|
184
|
-
J || (J = !0, document.addEventListener("click", (e) => {
|
|
185
|
-
const t = e.target.closest('[data-action="top-dialog-close"]');
|
|
186
|
-
if (!t) return;
|
|
187
|
-
e.preventDefault();
|
|
188
|
-
const a = t.closest(".ui-dialog-content");
|
|
189
|
-
if (!a) return;
|
|
190
|
-
const o = t.dataset.toView;
|
|
191
|
-
if (o == "toPrevPage()") {
|
|
192
|
-
A.toPrevPage(a);
|
|
193
|
-
return;
|
|
194
|
-
}
|
|
195
|
-
if (o) {
|
|
196
|
-
const i = o.split("-"), n = i.shift(), s = i.join("-");
|
|
197
|
-
if (!n) return;
|
|
198
|
-
const l = A.getElDialogById(n);
|
|
199
|
-
if (!l) return;
|
|
200
|
-
const g = h(l, `[data-view-page="${s}"]`);
|
|
201
|
-
if (!g) return;
|
|
202
|
-
if (!u(g[0])) {
|
|
203
|
-
const f = c.genViewPageHash(o, "prev");
|
|
204
|
-
L(!1, f);
|
|
205
|
-
return;
|
|
206
|
-
}
|
|
207
|
-
}
|
|
208
|
-
v(a).close();
|
|
209
|
-
}), document.addEventListener("submit", (e) => {
|
|
210
|
-
const t = e.target;
|
|
211
|
-
(t.matches(".modal-body > form") || t.matches(".modal-layer-body > form")) && e.preventDefault();
|
|
212
|
-
}), document.addEventListener("keypress", (e) => {
|
|
213
|
-
const t = e.target;
|
|
214
|
-
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") {
|
|
215
|
-
if (t.classList.contains("autocomplete")) {
|
|
216
|
-
e.preventDefault();
|
|
217
|
-
return;
|
|
218
|
-
}
|
|
219
|
-
if (t.tagName === "TEXTAREA") {
|
|
220
|
-
if (!e.ctrlKey && !e.metaKey) return;
|
|
221
|
-
const r = t.closest("form");
|
|
222
|
-
if (r) {
|
|
223
|
-
const i = h(r, 'button[type="submit"]').concat(h(r, 'input[type="submit"]')).find((n) => u(n));
|
|
224
|
-
i == null || i.click();
|
|
225
|
-
}
|
|
226
|
-
}
|
|
227
|
-
}
|
|
228
|
-
}), document.addEventListener("click", (e) => {
|
|
229
|
-
if (!e.target.classList.contains("ui-dialog-overlay")) return;
|
|
230
|
-
let a, o = 0;
|
|
231
|
-
h(document, ".ui-dialog").filter((i) => u(i) && i.getAttribute("aria-modal") === "false").forEach((i) => {
|
|
232
|
-
const n = Number(window.getComputedStyle(i).zIndex);
|
|
233
|
-
n < o || (a = i, o = n);
|
|
234
|
-
}), a && a.close();
|
|
235
|
-
}), window.addEventListener("resize", A.recalcPositions), A.recalcPositions());
|
|
236
|
-
}, fe = ':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-dialog{overflow:visible;background:var(--color-layout-front-1);max-height:none;max-width:none;border-radius:8px;border:none;padding:0;color:var(--color-text-1)}.ui-dialog[aria-modal=false]{top:50%;transform:translateY(-50%);z-index:100001}.ui-dialog-overlay,.ui-dialog::backdrop{background:#040404;opacity:.5;filter:Alpha(Opacity=50)}.ui-dialog-overlay{position:fixed;inset:0;z-index:100000;display:none}.ui-dialog[aria-modal=false][open]~.ui-dialog-overlay{display:block}.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>button.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>button.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, 0px));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}}', ve = "html.with_dialog body{height:var(--100vh);overflow:hidden}.ui-dialog{border-radius:0}.ui-dialog,.ui-dialog::backdrop{height:calc(100% - var(--toolbar-height, 0px));width:auto;margin-top:0}.ui-dialog[aria-modal=false]{top:0;transform:none}.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>button.close{font-size:14px;order:1}.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}", we = ".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%}}", ye = "html{--top-dialog-width: auto;--top-dialog-height: auto}.top-dialog{max-width:100vw}.top-dialog .modal-layer-body{height:var(--top-dialog-height)}", be = ".top-dialog{width:var(--top-dialog-width)!important}";
|
|
237
|
-
b.insertStyleToPage(fe);
|
|
238
|
-
b.insertStyleToPage(ve, "m");
|
|
239
|
-
b.insertStyleToPage(we, "pc");
|
|
240
|
-
b.insertStyleToPage(ye);
|
|
241
|
-
b.insertStyleToPage(be, "pc");
|
|
242
|
-
let G;
|
|
243
|
-
const _ = (e) => !!e && typeof e == "object" && "jquery" in e, W = (e) => {
|
|
244
|
-
const t = X(e), a = xe(t);
|
|
245
|
-
e.setAttribute("closedby", a.closedby), e.setAttribute("aria-modal", "false"), e.show();
|
|
246
|
-
}, xe = (e) => {
|
|
247
|
-
const t = {
|
|
248
|
-
modal: !1,
|
|
249
|
-
closedby: "closerequest"
|
|
250
|
-
}, a = e.dataset.closedby;
|
|
251
|
-
return (a === "closerequest" || a === "none") && (t.closedby = a), t;
|
|
252
|
-
}, q = (e) => document.getElementById(e), _e = (e) => {
|
|
253
|
-
e.dialog = (t) => {
|
|
254
|
-
const a = e.closest(".ui-dialog");
|
|
255
|
-
switch (t) {
|
|
256
|
-
case void 0:
|
|
257
|
-
case "open": {
|
|
258
|
-
W(a);
|
|
259
|
-
break;
|
|
260
|
-
}
|
|
261
|
-
case "close": {
|
|
262
|
-
a.close();
|
|
263
|
-
break;
|
|
264
|
-
}
|
|
265
|
-
default:
|
|
266
|
-
throw new Error(`Передан неизвестный аргумент: "${t}"`);
|
|
267
|
-
}
|
|
268
|
-
return e;
|
|
269
|
-
}, e.toggleClass = (t, a) => {
|
|
270
|
-
if (typeof t == "string" && (t = t.split(" ")), Array.isArray(t))
|
|
271
|
-
t.forEach((o) => {
|
|
272
|
-
e.classList.toggle(o, a);
|
|
273
|
-
});
|
|
274
|
-
else
|
|
275
|
-
throw new Error(`Передан необработанный тип аргумента: ${typeof t}`);
|
|
276
|
-
return e;
|
|
277
|
-
}, e.data = (...t) => ($(e).data(t), e);
|
|
278
|
-
}, S = async (e, t, a) => {
|
|
279
|
-
if (!e.startsWith("dialog_")) return;
|
|
280
|
-
const o = B(e);
|
|
281
|
-
if (o && (o.isOpened.value = !0, t !== void 0 && (o.pageActive.value = t), a !== void 0 && (o.pageActiveNext.value = a), await te(), a)) {
|
|
282
|
-
const r = q(e);
|
|
283
|
-
if (!r) return;
|
|
284
|
-
r.querySelectorAll(`[data-view-page="${a}"]`).length || await Z(() => !r.querySelectorAll(`[data-view-page="${a}"]`).length);
|
|
285
|
-
}
|
|
286
|
-
}, Pe = (e) => {
|
|
287
|
-
var a, o;
|
|
288
|
-
const t = e.querySelector(".modal-body");
|
|
289
|
-
t && (ue(t), (o = (a = c.state).decoratorOnCreate) == null || o.call(a, e), Ae(e));
|
|
290
|
-
}, Ae = (e) => {
|
|
291
|
-
$(e).on("aftershow.top-menu-popup", "[data-top-popup]", (t, a) => {
|
|
292
|
-
var i;
|
|
293
|
-
const o = a[0], r = c.getPairPage(o);
|
|
294
|
-
(i = r == null ? void 0 : r[1]) == null || i.prepend(o);
|
|
295
|
-
});
|
|
296
|
-
}, ke = async (e) => {
|
|
297
|
-
var n;
|
|
298
|
-
const t = e.dataset.viewPageActive, a = window.innerWidth;
|
|
299
|
-
b.state.documentClassModificators.set("top-dialog", "with_dialog");
|
|
300
|
-
const r = window.innerWidth - a;
|
|
301
|
-
document.documentElement.scrollHeight > window.innerHeight && (document.querySelector("html").style.marginRight = r + "px"), N();
|
|
302
|
-
const i = B(e.getAttribute("id"));
|
|
303
|
-
(n = i == null ? void 0 : i.emit) == null || n.call(i, "open", t);
|
|
304
|
-
}, Ee = async (e) => {
|
|
305
|
-
var i;
|
|
306
|
-
const t = e.getAttribute("id"), a = e.dataset.viewPageActive;
|
|
307
|
-
if (a) {
|
|
308
|
-
const n = {
|
|
309
|
-
vpn: c.state.viewPageN,
|
|
310
|
-
["view-" + t]: null
|
|
311
|
-
};
|
|
312
|
-
n["view-" + t] = null, (c.state.viewPageN === 0 || c.state.viewPageN === 1) && (n.vpn = null), he(n, !1);
|
|
313
|
-
}
|
|
314
|
-
h(document, ".ui-dialog[open]").find((n) => u(n)) || (b.state.documentClassModificators.delete("top-dialog"), document.querySelector("html").style.marginRight = ""), $(e).trigger("viewAfterClose", [e]);
|
|
315
|
-
const r = B(t);
|
|
316
|
-
r && (r.isOpened.value = !1, (i = r.emit) == null || i.call(r, "close", a), r.onCloseOnce && (r.onCloseOnce(r.props, a), r.onCloseOnce = void 0)), window.dispatchEvent(new Event("resize"));
|
|
317
|
-
}, N = () => {
|
|
318
|
-
h(document, ".ui-dialog").filter((t) => u(t)).forEach((t) => {
|
|
319
|
-
const a = t.querySelector(".modal-body");
|
|
320
|
-
!a || u(a) || (W(t), t.classList.remove("me-tightly"), (t.clientHeight ?? 0) > window.innerHeight && t.classList.add("me-tightly"));
|
|
321
|
-
});
|
|
322
|
-
}, T = (e) => `${e}Wrapper`, v = (e) => e.closest(".ui-dialog"), X = (e) => e.querySelector(".ui-dialog-content"), Se = () => {
|
|
323
|
-
let e = document.body.querySelector(".ui-dialog-overlay");
|
|
324
|
-
return e || (e = document.createElement("div"), e.classList.add("ui-dialog-overlay"), document.body.appendChild(e)), e;
|
|
325
|
-
}, D = (e, t) => {
|
|
326
|
-
const a = Se(), o = document.createElement("dialog");
|
|
327
|
-
return o.setAttribute("id", T(e)), o.setAttribute("page-active", t), o.setAttribute("class", "dialog ui-dialog"), a.insertAdjacentElement("beforebegin", o), o;
|
|
328
|
-
}, Le = async (e, t) => {
|
|
329
|
-
const o = /(\w+)[=-]([\w-]+)(?::([\w.:-]+))?/g.exec(e);
|
|
330
|
-
if (o) {
|
|
331
|
-
const r = o[1], i = o[2], n = o[3];
|
|
332
|
-
let s = [];
|
|
333
|
-
n && (s = n.split(":")), await U(r, i, s, t);
|
|
334
|
-
}
|
|
335
|
-
}, U = async (e, t, a, o, r) => {
|
|
336
|
-
let i = null, n = null;
|
|
337
|
-
if (typeof e == "object" ? (_(e) && (e = e == null ? void 0 : e[0]), i = e, n = v(i)) : (i = document.getElementById(e), i && (n = document.getElementById(T(e)))), !i && typeof e == "string" && c.state.load) {
|
|
338
|
-
await c.state.load(e), await U(e, t, a, o, r);
|
|
339
|
-
return;
|
|
340
|
-
}
|
|
341
|
-
i && (!n && i.dataset.vueDiaolg !== "true" && (i.classList.add("top-dialog", "ui-dialog-content"), n = D(i.getAttribute("id"), i.dataset.viewPageActive), n.append(i)), n && (await H(i, t, a, o), n.__isInit || (n.__isInit = !0, Pe(i), _e(i), n.onclose = () => Ee(i)), W(n), await ke(i), r && r(n)));
|
|
342
|
-
}, H = async (e, t, a, o) => {
|
|
343
|
-
var g, f;
|
|
344
|
-
_(e) && (e = e == null ? void 0 : e[0]), t === void 0 && (t = e.dataset.viewPageActive), t !== e.dataset.viewPageActive && Y(e) && await pe(100), a === void 0 && (a = []), await S(e.getAttribute("id"), void 0, t);
|
|
345
|
-
const r = h(e, ".modal-layer"), i = r.reduce((d, m) => {
|
|
346
|
-
const p = m.querySelector(":scope > .active");
|
|
347
|
-
return p && d.push(p), d;
|
|
348
|
-
}, []), n = r.reduce((d, m) => {
|
|
349
|
-
const p = m.querySelector(`:scope > [data-view-page="${t}"]`);
|
|
350
|
-
return p && d.push(p), d;
|
|
351
|
-
}, []), s = a.join(":");
|
|
352
|
-
if (o === void 0 && (o = "next", (((g = n[0]) == null ? void 0 : g.dataset.order) ?? 0) < (((f = i[0]) == null ? void 0 : f.dataset.order) ?? 0) && (o = "prev")), !n.length) return;
|
|
353
|
-
const l = v(e);
|
|
354
|
-
if (e.dataset.viewPageActive = t, l.setAttribute("page-active", t), n[0].classList.contains("active")) {
|
|
355
|
-
n[0].dataset.viewPageArgs !== s && n.forEach((d) => {
|
|
356
|
-
d.dataset.viewPageArgs = s;
|
|
357
|
-
}), Q(e, n, t, a), M(e, n, t, a);
|
|
358
|
-
return;
|
|
359
|
-
}
|
|
360
|
-
switch (n.forEach((d) => {
|
|
361
|
-
d.dataset.viewPageArgs = s;
|
|
362
|
-
}), i.forEach((d) => {
|
|
363
|
-
d.querySelector(".top-popup-wrapper") && ge.close(d.querySelector(".top-popup-wrapper"));
|
|
364
|
-
}), l && !u(l) && (o = "none"), i.length || (o = "none"), u(n[0]) && (o = "none"), o) {
|
|
365
|
-
case "prev": {
|
|
366
|
-
n.forEach((d) => {
|
|
367
|
-
var p, w;
|
|
368
|
-
const m = (p = d.parentNode) == null ? void 0 : p.querySelector(":scope > .active");
|
|
369
|
-
m && ((w = d.parentNode) == null || w.insertBefore(d, m));
|
|
370
|
-
}), i.forEach((d) => {
|
|
371
|
-
d.classList.add("right-to-center", "reverse");
|
|
372
|
-
}), n.forEach((d) => {
|
|
373
|
-
d.classList.add("center-to-left", "reverse");
|
|
374
|
-
});
|
|
375
|
-
break;
|
|
376
|
-
}
|
|
377
|
-
case "next": {
|
|
378
|
-
n.forEach((d) => {
|
|
379
|
-
var p, w;
|
|
380
|
-
const m = (p = d.parentNode) == null ? void 0 : p.querySelector(":scope > .active");
|
|
381
|
-
m && ((w = d.parentNode) == null || w.insertBefore(d, m.nextSibling));
|
|
382
|
-
}), i.forEach((d) => {
|
|
383
|
-
d == null || d.classList.add("center-to-left");
|
|
384
|
-
}), n.forEach((d) => {
|
|
385
|
-
d.classList.add("right-to-center");
|
|
386
|
-
});
|
|
387
|
-
break;
|
|
388
|
-
}
|
|
389
|
-
}
|
|
390
|
-
if (e.setAttribute("view-page-active", t), i.forEach((d) => {
|
|
391
|
-
d.classList.remove("active");
|
|
392
|
-
}), n.forEach((d) => {
|
|
393
|
-
d.classList.add("active");
|
|
394
|
-
}), Q(e, n, t, a), o) {
|
|
395
|
-
e.classList.add("i-change-page");
|
|
396
|
-
const d = Number(window.getComputedStyle(n[0]).animationDuration.replace("s", "")) * 1e3;
|
|
397
|
-
G = setTimeout(() => {
|
|
398
|
-
_(e) && (e = e == null ? void 0 : e[0]), S(e.getAttribute("id"), t, ""), Y(e), M(e, n, t, a);
|
|
399
|
-
}, d);
|
|
400
|
-
} else
|
|
401
|
-
await S(e.getAttribute("id"), t, ""), M(e, n, t, a);
|
|
402
|
-
}, Ve = (e) => {
|
|
403
|
-
var i;
|
|
404
|
-
const r = (i = h(e, ".modal-layer").reduce((n, s) => {
|
|
405
|
-
const l = s.querySelector(":scope > .active");
|
|
406
|
-
return l && n.push(l), n;
|
|
407
|
-
}, []).reduce((n, s) => {
|
|
408
|
-
let l = s.previousElementSibling;
|
|
409
|
-
for (; l && !l.hasAttribute("[data-view-page]"); )
|
|
410
|
-
l = l.previousElementSibling;
|
|
411
|
-
return l && n.push(l), n;
|
|
412
|
-
}, [])[0]) == null ? void 0 : i.dataset.viewPage;
|
|
413
|
-
r ? H(e, r, void 0, "prev") : v(e).close();
|
|
414
|
-
}, C = /* @__PURE__ */ new Set(), Q = (e, t, a, o) => {
|
|
415
|
-
const r = e.getAttribute("id") + t[0].dataset.viewPage + a + o.join();
|
|
416
|
-
C.has(r) || (C.add(r), setTimeout(() => {
|
|
417
|
-
C.delete(r), $(e).trigger("viewBeforeOpen", [e, $(t), a, o]);
|
|
418
|
-
}));
|
|
419
|
-
}, M = (e, t, a, o) => {
|
|
420
|
-
setTimeout(() => {
|
|
421
|
-
$(e).trigger("viewAfterOpen", [e, $(t), a, o]);
|
|
422
|
-
});
|
|
423
|
-
}, ee = (e) => (_(e) && (e = e == null ? void 0 : e[0]), e.classList.contains("i-change-page")), Y = (e) => {
|
|
424
|
-
if (!ee(e)) return !1;
|
|
425
|
-
clearTimeout(G);
|
|
426
|
-
const t = h(e, ".modal-layer"), a = e.dataset.viewPageActive;
|
|
427
|
-
return e.classList.remove("i-change-page"), t.forEach((o) => {
|
|
428
|
-
o.querySelectorAll(":scope > [data-view-page]").forEach((r) => {
|
|
429
|
-
r.classList.remove("center-to-left", "right-to-center", "reverse", "active");
|
|
430
|
-
});
|
|
431
|
-
}), t.forEach((o) => {
|
|
432
|
-
var r;
|
|
433
|
-
(r = o.querySelector(`:scope > [data-view-page="${a}"]`)) == null || r.classList.add("active");
|
|
434
|
-
}), !0;
|
|
435
|
-
}, ze = (e) => {
|
|
436
|
-
const t = q(e);
|
|
437
|
-
if (!t) return;
|
|
438
|
-
v(t).close();
|
|
439
|
-
}, Ce = (e, t, a) => {
|
|
440
|
-
_(e) && (e = e.toArray());
|
|
441
|
-
const o = e.reduce((r, i) => (i.hasAttribute("[data-view-page]") && u(i) && r.push(i), r), []);
|
|
442
|
-
t ? (a !== void 0 && o.forEach((r) => {
|
|
443
|
-
r.style.setProperty("--dialog-loading-duration", a + "s");
|
|
444
|
-
}), o.forEach((r) => {
|
|
445
|
-
r.classList.add("i-load-data");
|
|
446
|
-
})) : (o.forEach((r) => {
|
|
447
|
-
r.classList.remove("i-load-data");
|
|
448
|
-
}), o.forEach((r) => {
|
|
449
|
-
r.style.setProperty("--dialog-loading-duration", "10s");
|
|
450
|
-
}));
|
|
451
|
-
}, $e = (e) => (_(e) && (e = e == null ? void 0 : e[0]), e.classList.contains("i-load-data")), A = {
|
|
452
|
-
getElDialogById: q,
|
|
453
|
-
updatePageVue: S,
|
|
454
|
-
recalcPositions: N,
|
|
455
|
-
toViewDirty: Le,
|
|
456
|
-
toView: U,
|
|
457
|
-
toViewPage: H,
|
|
458
|
-
toPrevPage: Ve,
|
|
459
|
-
setLoading: Ce,
|
|
460
|
-
isLoading: $e,
|
|
461
|
-
inAnimation: ee,
|
|
462
|
-
close: ze
|
|
463
|
-
};
|
|
464
|
-
me();
|
|
465
|
-
const Me = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
|
|
466
|
-
__proto__: null,
|
|
467
|
-
TopDialogUtils: A,
|
|
468
|
-
createAndMountElDialogWrapper: D,
|
|
469
|
-
getDialogWrapperId: T,
|
|
470
|
-
getElDialog: X,
|
|
471
|
-
getElDialogWrapper: v
|
|
472
|
-
}, Symbol.toStringTag, { value: "Module" }));
|
|
473
|
-
class We {
|
|
474
|
-
/**
|
|
475
|
-
* Индентификатор, определяется на уровне компонента TopDialogComponent
|
|
476
|
-
*
|
|
477
|
-
* Может использоваться в навигации для открытия нужных окон с нужными настройками
|
|
478
|
-
*/
|
|
479
|
-
id;
|
|
480
|
-
/**
|
|
481
|
-
* ID, используемый в верстке диалогового окна
|
|
482
|
-
*/
|
|
483
|
-
idAttr;
|
|
484
|
-
/**
|
|
485
|
-
* Пользовательский компонент диалогового окна
|
|
486
|
-
*/
|
|
487
|
-
Component;
|
|
488
|
-
/**
|
|
489
|
-
* Компонент инициирован
|
|
490
|
-
*
|
|
491
|
-
* Устанавливается после первого вызова useTopDialog()
|
|
492
|
-
*/
|
|
493
|
-
isMounted = x(!1);
|
|
494
|
-
/**
|
|
495
|
-
* Компонент готов к использованию
|
|
496
|
-
*
|
|
497
|
-
* Используется для внутренних преобразований после отрисовки
|
|
498
|
-
*/
|
|
499
|
-
isReady = x(!1);
|
|
500
|
-
/**
|
|
501
|
-
* Диалоговое окно открыто
|
|
502
|
-
*/
|
|
503
|
-
isOpened = x(!1);
|
|
504
|
-
/**
|
|
505
|
-
* Имя активной страницы дилогового окна
|
|
506
|
-
*/
|
|
507
|
-
pageActive = x("");
|
|
508
|
-
/**
|
|
509
|
-
* Диалоговое окно находится в состоянии загрузки своей страницы
|
|
510
|
-
*/
|
|
511
|
-
isLoadingPage = x(!1);
|
|
512
|
-
/**
|
|
513
|
-
* Следующая активная страница
|
|
514
|
-
*
|
|
515
|
-
* В один момент времени может потребоваться отобразить две страницы, чтобы воспроизвести анимацию
|
|
516
|
-
*/
|
|
517
|
-
pageActiveNext = x("");
|
|
518
|
-
/**
|
|
519
|
-
* props компонента, доступны после инициализации
|
|
520
|
-
*/
|
|
521
|
-
props;
|
|
522
|
-
/**
|
|
523
|
-
* emit базового компонента `TopDialog`
|
|
524
|
-
*/
|
|
525
|
-
emit;
|
|
526
|
-
/**
|
|
527
|
-
* Одноразовое событие на закрытие диалогового окна
|
|
528
|
-
*
|
|
529
|
-
* Используется для привязки окна к сценариям использования
|
|
530
|
-
*/
|
|
531
|
-
onCloseOnce;
|
|
532
|
-
constructor(t) {
|
|
533
|
-
this.id = t.id, this.idAttr = "dialog_" + t.id, this.Component = ae(t);
|
|
534
|
-
}
|
|
535
|
-
/**
|
|
536
|
-
* Событие - компонент инициирован
|
|
537
|
-
*/
|
|
538
|
-
onMounted(t, a) {
|
|
539
|
-
this.isMounted.value = !0, this.props = t.props, this.emit = a.emit;
|
|
540
|
-
}
|
|
541
|
-
/**
|
|
542
|
-
* Открыть диалоговое окно
|
|
543
|
-
*
|
|
544
|
-
* Учтите, что props в диалоговом окне будут доступны не сразу, а только после инициализации vue компонента
|
|
545
|
-
*/
|
|
546
|
-
async open(t = "main", a, o = [], r, i) {
|
|
547
|
-
a && await this.setProps(a), r && (this.onCloseOnce = r), await (await c.getDialogsUtils()).toView(this.idAttr, t, o, i);
|
|
548
|
-
}
|
|
549
|
-
/**
|
|
550
|
-
* Открыть диалоговое окно как ссылку, для хеш-навигации
|
|
551
|
-
*
|
|
552
|
-
* Диалоговые окна загружаются по имени, см. настройку плагина Core topDialogLoader
|
|
553
|
-
*/
|
|
554
|
-
async openAsLink(t = "main", a, o = [], r, i) {
|
|
555
|
-
a && await this.setProps(a), r && (this.onCloseOnce = r);
|
|
556
|
-
const n = this.idAttr + "-" + t, s = c.genViewPageHash(n, i);
|
|
557
|
-
L(!1, s);
|
|
558
|
-
}
|
|
559
|
-
/**
|
|
560
|
-
* Закрыть диалоговое окно
|
|
561
|
-
*
|
|
562
|
-
* Не меняет состояние компонента диалогового окна
|
|
563
|
-
*/
|
|
564
|
-
async close() {
|
|
565
|
-
c.close(this.idAttr);
|
|
566
|
-
}
|
|
567
|
-
/**
|
|
568
|
-
* Размонтировать $.dialog
|
|
569
|
-
*/
|
|
570
|
-
async destroy() {
|
|
571
|
-
c.destroy(this.idAttr);
|
|
572
|
-
}
|
|
573
|
-
/**
|
|
574
|
-
* Устанвоить props
|
|
575
|
-
*
|
|
576
|
-
* Полностью сбрасывается состояние props
|
|
577
|
-
*/
|
|
578
|
-
async setProps(t = {}) {
|
|
579
|
-
this.isMounted || await Z(() => !this.props);
|
|
580
|
-
for (const a in this.props)
|
|
581
|
-
this.props[a] = t[a];
|
|
582
|
-
}
|
|
583
|
-
/**
|
|
584
|
-
* Проверить, есть ли необходимость отрисовки страницы диалогового окна
|
|
585
|
-
*/
|
|
586
|
-
needShowPage(t) {
|
|
587
|
-
return this.isOpened.value ? this.pageActive.value === t || this.pageActiveNext.value === t : !1;
|
|
588
|
-
}
|
|
589
|
-
}
|
|
590
|
-
const qe = {
|
|
591
|
-
class: "top-dialogs",
|
|
592
|
-
style: { display: "none" }
|
|
593
|
-
}, y = oe(/* @__PURE__ */ new Map()), B = (e) => (e = e.replace(/^dialog_/, ""), y.get(e)), Fe = (e) => {
|
|
594
|
-
if (!(e != null && e.id))
|
|
595
|
-
throw console.log({ TopDialogComponent: e }), new Error("Expected TopDialogComponent");
|
|
596
|
-
return y.has(e.id) || y.set(e.id, new We(e)), y.get(e.id);
|
|
597
|
-
}, Re = /* @__PURE__ */ ie({
|
|
598
|
-
name: "DialogWrapper",
|
|
599
|
-
__name: "dialogs",
|
|
600
|
-
setup(e) {
|
|
601
|
-
return re(() => {
|
|
602
|
-
y.forEach((t) => t.destroy()), y.clear();
|
|
603
|
-
}), (t, a) => (z(), F("div", qe, [
|
|
604
|
-
(z(!0), F(ne, null, de(se(y), ([o, r]) => (z(), le(ce(r.Component), { key: o }))), 128))
|
|
605
|
-
]));
|
|
606
|
-
}
|
|
607
|
-
});
|
|
608
|
-
export {
|
|
609
|
-
c as T,
|
|
610
|
-
Re as _,
|
|
611
|
-
Fe as a,
|
|
612
|
-
D as c,
|
|
613
|
-
B as g
|
|
614
|
-
};
|
|
615
|
-
//# sourceMappingURL=dialogs.vue_vue_type_script_setup_true_lang-FWjpvJs5.es.js.map
|