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