@topvisor/ui 1.5.8-7 → 1.5.8-dialogShadow.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (131) hide show
  1. package/.chunks/{api-BlIxMRlW.amd.js → api-BD74aA98.amd.js} +2 -2
  2. package/.chunks/{api-BlIxMRlW.amd.js.map → api-BD74aA98.amd.js.map} +1 -1
  3. package/.chunks/{api-BlIxMRlW.esm.js → api-BD74aA98.esm.js} +2 -2
  4. package/.chunks/{api-BlIxMRlW.esm.js.map → api-BD74aA98.esm.js.map} +1 -1
  5. package/.chunks/{app-CyODeY0D.amd.js → app-DGsWGbDX.amd.js} +2 -2
  6. package/.chunks/{app-CyODeY0D.amd.js.map → app-DGsWGbDX.amd.js.map} +1 -1
  7. package/.chunks/{app-CyODeY0D.esm.js → app-DGsWGbDX.esm.js} +5 -5
  8. package/.chunks/{app-CyODeY0D.esm.js.map → app-DGsWGbDX.esm.js.map} +1 -1
  9. package/.chunks/{datepicker-CBAwfPPW.amd.js → datepicker-C7FNogyy.amd.js} +2 -2
  10. package/.chunks/{datepicker-CBAwfPPW.amd.js.map → datepicker-C7FNogyy.amd.js.map} +1 -1
  11. package/.chunks/{datepicker-CBAwfPPW.esm.js → datepicker-C7FNogyy.esm.js} +2 -2
  12. package/.chunks/{datepicker-CBAwfPPW.esm.js.map → datepicker-C7FNogyy.esm.js.map} +1 -1
  13. package/.chunks/dialog-DKGzAD_z.amd.js +2 -0
  14. package/.chunks/dialog-DKGzAD_z.amd.js.map +1 -0
  15. package/.chunks/{dialog-C8fss11q.esm.js → dialog-DKGzAD_z.esm.js} +18 -18
  16. package/.chunks/dialog-DKGzAD_z.esm.js.map +1 -0
  17. package/.chunks/{dialog_regionSelectorRegions-zJShjr2f.amd.js → dialog_regionSelectorRegions-BIjtdwxa.amd.js} +2 -2
  18. package/.chunks/{dialog_regionSelectorRegions-zJShjr2f.amd.js.map → dialog_regionSelectorRegions-BIjtdwxa.amd.js.map} +1 -1
  19. package/.chunks/{dialog_regionSelectorRegions-zJShjr2f.esm.js → dialog_regionSelectorRegions-BIjtdwxa.esm.js} +4 -4
  20. package/.chunks/dialog_regionSelectorRegions-BIjtdwxa.esm.js.map +1 -0
  21. package/.chunks/{forms-LywqKN9I.amd.js → forms-_4U0sLFk.amd.js} +2 -2
  22. package/.chunks/forms-_4U0sLFk.amd.js.map +1 -0
  23. package/.chunks/{forms-LywqKN9I.esm.js → forms-_4U0sLFk.esm.js} +116 -116
  24. package/.chunks/forms-_4U0sLFk.esm.js.map +1 -0
  25. package/.chunks/formsExt-BZZEpY-a.amd.js +2 -0
  26. package/.chunks/formsExt-BZZEpY-a.amd.js.map +1 -0
  27. package/.chunks/{formsExt-Iw04hpHr.esm.js → formsExt-BZZEpY-a.esm.js} +183 -183
  28. package/.chunks/formsExt-BZZEpY-a.esm.js.map +1 -0
  29. package/.chunks/{notice-Dw5ZUJxW.amd.js → notice-FzLgMsrr.amd.js} +2 -2
  30. package/.chunks/{notice-Dw5ZUJxW.amd.js.map → notice-FzLgMsrr.amd.js.map} +1 -1
  31. package/.chunks/{notice-Dw5ZUJxW.esm.js → notice-FzLgMsrr.esm.js} +2 -2
  32. package/.chunks/notice-FzLgMsrr.esm.js.map +1 -0
  33. package/.chunks/{popup-BqacuTuJ.amd.js → popup-CS0IahOr.amd.js} +2 -2
  34. package/.chunks/{popup-BqacuTuJ.amd.js.map → popup-CS0IahOr.amd.js.map} +1 -1
  35. package/.chunks/{popup-BqacuTuJ.esm.js → popup-CS0IahOr.esm.js} +3 -3
  36. package/.chunks/{popup-BqacuTuJ.esm.js.map → popup-CS0IahOr.esm.js.map} +1 -1
  37. package/.chunks/popup-DViuKwOc.amd.js +2 -0
  38. package/.chunks/popup-DViuKwOc.amd.js.map +1 -0
  39. package/.chunks/{popup-ClpsGU2P.esm.js → popup-DViuKwOc.esm.js} +104 -104
  40. package/.chunks/popup-DViuKwOc.esm.js.map +1 -0
  41. package/.chunks/{utils-CZnFOkS6.amd.js → utils-BtqYaMHp.amd.js} +2 -2
  42. package/.chunks/{utils-CZnFOkS6.amd.js.map → utils-BtqYaMHp.amd.js.map} +1 -1
  43. package/.chunks/{utils-CZnFOkS6.esm.js → utils-BtqYaMHp.esm.js} +3 -3
  44. package/.chunks/{utils-CZnFOkS6.esm.js.map → utils-BtqYaMHp.esm.js.map} +1 -1
  45. package/.chunks/{utils-ZgQqVN0T.amd.js → utils-Cou0pGI4.amd.js} +2 -2
  46. package/.chunks/utils-Cou0pGI4.amd.js.map +1 -0
  47. package/.chunks/{utils-ZgQqVN0T.esm.js → utils-Cou0pGI4.esm.js} +8 -6
  48. package/.chunks/{utils-ZgQqVN0T.esm.js.map → utils-Cou0pGI4.esm.js.map} +1 -1
  49. package/.chunks/{worker-a6MSM1uV.amd.js → worker-D28QqQ45.amd.js} +2 -2
  50. package/.chunks/{worker-a6MSM1uV.amd.js.map → worker-D28QqQ45.amd.js.map} +1 -1
  51. package/.chunks/{worker-a6MSM1uV.esm.js → worker-D28QqQ45.esm.js} +3 -3
  52. package/.chunks/{worker-a6MSM1uV.esm.js.map → worker-D28QqQ45.esm.js.map} +1 -1
  53. package/api/index.amd.js +1 -1
  54. package/api/index.amd.js.map +1 -1
  55. package/api/index.js +1 -1
  56. package/autoload-css-manifest.amd.json +4 -4
  57. package/autoload-css-manifest.json +4 -4
  58. package/charts/charts.amd.js +1 -1
  59. package/charts/charts.amd.js.map +1 -1
  60. package/charts/charts.js +1 -1
  61. package/core/app.amd.js +1 -1
  62. package/core/app.amd.js.map +1 -1
  63. package/core/app.js +3 -3
  64. package/dialog/dialog.amd.js +1 -1
  65. package/dialog/dialog.amd.js.map +1 -1
  66. package/dialog/dialog.js +2 -2
  67. package/forms/forms.amd.js +1 -1
  68. package/forms/forms.amd.js.map +1 -1
  69. package/forms/forms.js +1 -1
  70. package/formsExt/formsExt.amd.js +1 -1
  71. package/formsExt/formsExt.amd.js.map +1 -1
  72. package/formsExt/formsExt.js +1 -1
  73. package/layout/layout.amd.js +1 -1
  74. package/layout/layout.amd.js.map +1 -1
  75. package/layout/layout.js +3 -3
  76. package/layout/layout.js.map +1 -1
  77. package/package.json +8 -2
  78. package/popup/popup.amd.js +1 -1
  79. package/popup/popup.amd.js.map +1 -1
  80. package/popup/popup.js +1 -1
  81. package/popup/worker.amd.js +1 -1
  82. package/popup/worker.amd.js.map +1 -1
  83. package/popup/worker.js +1 -1
  84. package/project/project.amd.js +1 -1
  85. package/project/project.amd.js.map +1 -1
  86. package/project/project.js +32 -32
  87. package/project/project.js.map +1 -1
  88. package/schedule/schedule.amd.js +1 -1
  89. package/schedule/schedule.amd.js.map +1 -1
  90. package/schedule/schedule.js +90 -90
  91. package/schedule/schedule.js.map +1 -1
  92. package/tabs/tabs.amd.js +1 -1
  93. package/tabs/tabs.amd.js.map +1 -1
  94. package/tabs/tabs.js +3 -3
  95. package/tabs/tabs.js.map +1 -1
  96. package/tabsView/tabsView.amd.js +1 -1
  97. package/tabsView/tabsView.amd.js.map +1 -1
  98. package/tabsView/tabsView.js +11 -11
  99. package/tabsView/tabsView.js.map +1 -1
  100. package/utils/clipboard.amd.js +1 -1
  101. package/utils/clipboard.amd.js.map +1 -1
  102. package/utils/clipboard.js +1 -1
  103. package/utils/date.amd.js +1 -1
  104. package/utils/date.amd.js.map +1 -1
  105. package/utils/date.js +1 -1
  106. package/utils/device.amd.js +1 -1
  107. package/utils/device.amd.js.map +1 -1
  108. package/utils/device.js +1 -1
  109. package/utils/lodash.amd.js +1 -1
  110. package/utils/lodash.amd.js.map +1 -1
  111. package/utils/lodash.js +1 -1
  112. package/utils/price.amd.js +1 -1
  113. package/utils/price.amd.js.map +1 -1
  114. package/utils/price.js +1 -1
  115. package/utils/string.amd.js +1 -1
  116. package/utils/string.amd.js.map +1 -1
  117. package/utils/string.js +1 -1
  118. package/.chunks/dialog-C8fss11q.amd.js +0 -2
  119. package/.chunks/dialog-C8fss11q.amd.js.map +0 -1
  120. package/.chunks/dialog-C8fss11q.esm.js.map +0 -1
  121. package/.chunks/dialog_regionSelectorRegions-zJShjr2f.esm.js.map +0 -1
  122. package/.chunks/forms-LywqKN9I.amd.js.map +0 -1
  123. package/.chunks/forms-LywqKN9I.esm.js.map +0 -1
  124. package/.chunks/formsExt-Iw04hpHr.amd.js +0 -2
  125. package/.chunks/formsExt-Iw04hpHr.amd.js.map +0 -1
  126. package/.chunks/formsExt-Iw04hpHr.esm.js.map +0 -1
  127. package/.chunks/notice-Dw5ZUJxW.esm.js.map +0 -1
  128. package/.chunks/popup-ClpsGU2P.amd.js +0 -2
  129. package/.chunks/popup-ClpsGU2P.amd.js.map +0 -1
  130. package/.chunks/popup-ClpsGU2P.esm.js.map +0 -1
  131. package/.chunks/utils-ZgQqVN0T.amd.js.map +0 -1
@@ -5,8 +5,8 @@
5
5
  _autoloadCSSCore.insertCSSLinkToPage(fileNames, true);
6
6
  /* end import css */
7
7
 
8
- import { c as e, d as t, h as n } from "./forms-LywqKN9I.esm.js";
9
- import { t as r } from "./worker-a6MSM1uV.esm.js";
8
+ import { c as e, d as t, h as n } from "./forms-_4U0sLFk.esm.js";
9
+ import { t as r } from "./worker-D28QqQ45.esm.js";
10
10
  import { Fragment as i, Teleport as a, createBlock as o, createCommentVNode as s, createElementBlock as c, createElementVNode as l, createSlots as u, createTextVNode as d, createVNode as f, defineComponent as p, mergeModels as m, mergeProps as h, normalizeClass as g, onUnmounted as _, onUpdated as v, openBlock as y, ref as b, renderSlot as x, resolveDirective as S, resolveDynamicComponent as C, toDisplayString as w, toRef as T, unref as E, useModel as D, watch as O, withCtx as k, withDirectives as A } from "vue";
11
11
  //#endregion
12
12
  //#region src/components/popup/popup/opener/opener.vue
@@ -88,43 +88,43 @@ var j = /* @__PURE__ */ p({
88
88
  "close",
89
89
  "scrollContentList"
90
90
  ],
91
- setup(e, { expose: n, emit: l }) {
92
- let u = e, d = l, p = u.id || "top-popup-id-" + Math.random(), m = {
93
- id: p,
91
+ setup(e, { expose: n, emit: l, slots: u }) {
92
+ let d = l, p = e, m = l, h = p.id || "top-popup-id-" + Math.random(), g = {
93
+ id: h,
94
94
  popup: void 0
95
95
  };
96
- n(m);
97
- let h = b(null), g = b(null), v = b(), C = {
96
+ n(g);
97
+ let v = b(null), C = b(null), D = b(), R = {
98
98
  onOpen: async (e) => {
99
- e.elPopup && (h.value = e.elPopup), e.elPopupInner && (e.elPopupInner.innerText = "", g.value = e.elPopupInner), C.opened = !0, C.popup = e, m.popup = e, v.value = e.el.__TopPopupOpenerProps.data, d("open", {
99
+ e.elPopup && (v.value = e.elPopup), e.elPopupInner && (e.elPopupInner.innerText = "", C.value = e.elPopupInner), R.opened = !0, R.popup = e, g.popup = e, D.value = e.el.__TopPopupOpenerProps.data, m("open", {
100
100
  elPopup: e.elPopup,
101
101
  elPopupOpener: e.el,
102
- data: v.value
102
+ data: D.value
103
103
  });
104
104
  },
105
105
  onClose: (e) => {
106
- g.value = null, C.opened = !1, C.popup = void 0, v.value = void 0, d("close", {
106
+ C.value = null, R.opened = !1, R.popup = void 0, D.value = void 0, m("close", {
107
107
  elPopup: e.elPopup,
108
108
  elPopupOpener: e.el,
109
109
  data: e.el.__TopPopupOpenerProps.data
110
110
  });
111
111
  },
112
- classRef: T(u, "class"),
112
+ classRef: T(p, "class"),
113
113
  opened: !1,
114
114
  popup: void 0,
115
- transitionDurationRef: T(u, "transitionDuration")
115
+ transitionDurationRef: T(p, "transitionDuration")
116
116
  };
117
- return O(() => u.class, (e, t) => {
118
- if (!h.value) return;
117
+ return O(() => p.class, (e, t) => {
118
+ if (!v.value) return;
119
119
  let n = e?.split(" ") ?? [], r = (t?.split(" ") ?? []).filter((e) => !n.includes(e));
120
- h.value.classList.remove(...r), h.value.classList.add(...n);
121
- }), r.regVueComponent(p, C), _(() => {
122
- r.unregVueComponent(p);
120
+ v.value.classList.remove(...r), v.value.classList.add(...n);
121
+ }), r.regVueComponent(h, R), _(() => {
122
+ r.unregVueComponent(h);
123
123
  }), (n, r) => {
124
124
  let l = S("top-scroll-shadow");
125
- return y(), c(i, null, [n.$slots.opener ? (y(), o(j, {
125
+ return y(), c(i, null, [u.opener ? (y(), o(j, {
126
126
  key: 0,
127
- id: E(p),
127
+ id: E(h),
128
128
  pos: e.pos,
129
129
  posBy: e.posBy,
130
130
  notch: e.notch,
@@ -142,24 +142,24 @@ var j = /* @__PURE__ */ p({
142
142
  "openByFocusInput",
143
143
  "openByHover",
144
144
  "disabled"
145
- ])) : s("", !0), g.value ? (y(), o(a, {
145
+ ])) : s("", !0), C.value ? (y(), o(a, {
146
146
  key: 1,
147
- to: g.value
147
+ to: C.value
148
148
  }, [
149
- n.$slots.header || n.$core.state.isMobile ? (y(), c("div", M, [n.$core.state.isMobile ? (y(), c("span", N, w(n.$i18n.Common.Close), 1)) : s("", !0), x(n.$slots, "header", { data: v.value })])) : s("", !0),
150
- n.$slots.widget ? (y(), c("div", P, [x(n.$slots, "widget")])) : s("", !0),
151
- n.$slots.content ? A((y(), c("div", F, [x(n.$slots, "content", { data: v.value })])), [[l]]) : s("", !0),
152
- n.$slots.contentList ? A((y(), c("ul", {
149
+ u.header || n.$core.state.isMobile ? (y(), c("div", M, [n.$core.state.isMobile ? (y(), c("span", N, w(n.$i18n.Common.Close), 1)) : s("", !0), x(n.$slots, "header", { data: D.value })])) : s("", !0),
150
+ u.widget ? (y(), c("div", P, [x(n.$slots, "widget")])) : s("", !0),
151
+ u.content ? A((y(), c("div", F, [x(n.$slots, "content", { data: D.value })])), [[l]]) : s("", !0),
152
+ u.contentList ? A((y(), c("ul", {
153
153
  key: 3,
154
154
  class: "top-popup_content",
155
- onScroll: r[0] ||= (e) => n.$emit("scrollContentList", e)
156
- }, [x(n.$slots, "contentList", { data: v.value })], 32)), [[l]]) : s("", !0),
157
- n.$slots.footer || e.footerSupportLink ? (y(), c("div", I, [e.footerSupportLink ? (y(), c("a", {
155
+ onScroll: r[0] ||= (e) => d("scrollContentList", e)
156
+ }, [x(n.$slots, "contentList", { data: D.value })], 32)), [[l]]) : s("", !0),
157
+ u.footer || e.footerSupportLink ? (y(), c("div", I, [e.footerSupportLink ? (y(), c("a", {
158
158
  key: 0,
159
159
  class: "top-popup_footerSupportLink",
160
160
  href: e.footerSupportLink,
161
161
  target: "_blank"
162
- }, [f(t, { hint: "" })], 8, L)) : s("", !0), x(n.$slots, "footer", { data: v.value })])) : s("", !0)
162
+ }, [f(t, { hint: "" })], 8, L)) : s("", !0), x(n.$slots, "footer", { data: D.value })])) : s("", !0)
163
163
  ], 8, ["to"])) : s("", !0)], 64);
164
164
  };
165
165
  }
@@ -175,22 +175,22 @@ var j = /* @__PURE__ */ p({
175
175
  class: {},
176
176
  attrs: {}
177
177
  },
178
- setup(e) {
179
- let t = e;
180
- return (n, r) => (y(), c("li", { class: g({ "top-popup_liNoSelectable": t.type !== "button" }) }, [(y(), o(C(n.$attrs.href ? "a" : "div"), h({ class: {
178
+ setup(e, { attrs: t, slots: n }) {
179
+ let r = e;
180
+ return (a, s) => (y(), c("li", { class: g({ "top-popup_liNoSelectable": r.type !== "button" }) }, [(y(), o(C(t.href ? "a" : "div"), h({ class: {
181
181
  "top-popup_listItem": !0,
182
- ["top-popup_listItem-" + t.type]: !!t.type,
183
- "top-popup_liastItem-withActions": n.$slots.actions,
182
+ ["top-popup_listItem-" + r.type]: !!r.type,
183
+ "top-popup_liastItem-withActions": n.actions,
184
184
  "top-popup-noCloser": !e.closeByClick,
185
- [t.class ?? ""]: !!t.class,
186
- a: t.type === "button"
185
+ [r.class ?? ""]: !!r.class,
186
+ a: r.type === "button"
187
187
  } }, {
188
- ...n.$attrs,
188
+ ...t,
189
189
  ...e.attrs
190
190
  }), {
191
- default: k(() => [n.$slots.actions ? (y(), c(i, { key: 0 }, [l("div", z, [x(n.$slots, "default")]), l("div", B, [x(n.$slots, "actions")])], 64)) : x(n.$slots, "default", {}, void 0, void 0, 1)]),
191
+ default: k(() => [n.actions ? (y(), c(i, { key: 0 }, [l("div", z, [x(a.$slots, "default")]), l("div", B, [x(a.$slots, "actions")])], 64)) : x(a.$slots, "default", {}, void 0, void 0, 1)]),
192
192
  _: 3
193
- }, 16, ["class"])), x(n.$slots, "buttons")], 2));
193
+ }, 16, ["class"])), x(a.$slots, "buttons")], 2));
194
194
  }
195
195
  }), H = /* @__PURE__ */ p({
196
196
  __name: "widgetInput",
@@ -218,11 +218,11 @@ var j = /* @__PURE__ */ p({
218
218
  }),
219
219
  emits: ["update:modelValue"],
220
220
  setup(t) {
221
- let n = D(t, "modelValue");
222
- return (t, r) => (y(), o(e, h(t.$props, {
221
+ let n = t, r = D(t, "modelValue");
222
+ return (t, i) => (y(), o(e, h(n, {
223
223
  modificator: "popupWidgetInput",
224
- modelValue: n.value,
225
- "onUpdate:modelValue": r[0] ||= (e) => n.value = e
224
+ modelValue: r.value,
225
+ "onUpdate:modelValue": i[0] ||= (e) => r.value = e
226
226
  }), null, 16, ["modelValue"]));
227
227
  }
228
228
  }), U = /* @__PURE__ */ p({
@@ -246,24 +246,24 @@ var j = /* @__PURE__ */ p({
246
246
  "close",
247
247
  "scrollContentList"
248
248
  ],
249
- setup(e) {
250
- let { submitText: t, ...r } = e;
251
- return (e, i) => (y(), o(R, h({ class: "top-popupAlert" }, r, {
252
- onOpen: i[0] ||= (t) => e.$emit("open", t),
253
- onClose: i[1] ||= (t) => e.$emit("close", t),
254
- onScrollContentList: i[2] ||= (...t) => e.$emit("scrollContentList", ...t)
249
+ setup(e, { emit: t, slots: r }) {
250
+ let { submitText: i, ...a } = e;
251
+ return (e, s) => (y(), o(R, h({ class: "top-popupAlert" }, a, {
252
+ onOpen: s[0] ||= (e) => t("open", e),
253
+ onClose: s[1] ||= (e) => t("close", e),
254
+ onScrollContentList: s[2] ||= (...e) => t("scrollContentList", ...e)
255
255
  }), u({
256
256
  opener: k(() => [x(e.$slots, "opener")]),
257
257
  footer: k(() => [x(e.$slots, "footer"), f(n, null, {
258
- default: k(() => [d(w(E(t) || e.$i18n.Common.Close), 1)]),
258
+ default: k(() => [d(w(E(i) || e.$i18n.Common.Close), 1)]),
259
259
  _: 1
260
260
  })]),
261
261
  _: 2
262
- }, [e.$slots.header ? {
262
+ }, [r.header ? {
263
263
  name: "header",
264
264
  fn: k(() => [x(e.$slots, "header")]),
265
265
  key: "0"
266
- } : void 0, e.$slots.default ? {
266
+ } : void 0, r.default ? {
267
267
  name: "content",
268
268
  fn: k(() => [x(e.$slots, "default")]),
269
269
  key: "1"
@@ -293,42 +293,42 @@ var j = /* @__PURE__ */ p({
293
293
  "scrollContentList",
294
294
  "submit"
295
295
  ],
296
- setup(e, { emit: t }) {
297
- let r = e, i = t, a = b(!1), s = () => {
298
- a.value = !0, i("submit");
299
- }, c = (e) => {
300
- if (a.value) {
301
- a.value = !1;
296
+ setup(e, { emit: t, slots: r }) {
297
+ let i = t, a = e, s = t, c = b(!1), l = () => {
298
+ c.value = !0, s("submit");
299
+ }, p = (e) => {
300
+ if (c.value) {
301
+ c.value = !1;
302
302
  return;
303
303
  }
304
- i("close", e);
305
- }, { submitText: l, cancelText: p, isWarning: m, ...g } = r;
306
- return (e, t) => (y(), o(R, h({ class: "top-popupConfirm" }, g, {
307
- onOpen: t[0] ||= (t) => e.$emit("open", t),
308
- onClose: t[1] ||= (e) => c(e),
309
- onScrollContentList: t[2] ||= (...t) => e.$emit("scrollContentList", ...t)
304
+ s("close", e);
305
+ }, { submitText: m, cancelText: g, isWarning: _, ...v } = a;
306
+ return (e, t) => (y(), o(R, h({ class: "top-popupConfirm" }, v, {
307
+ onOpen: t[0] ||= (e) => i("open", e),
308
+ onClose: t[1] ||= (e) => p(e),
309
+ onScrollContentList: t[2] ||= (...e) => i("scrollContentList", ...e)
310
310
  }), u({
311
311
  opener: k(() => [x(e.$slots, "opener")]),
312
312
  footer: k(() => [
313
313
  x(e.$slots, "footer"),
314
314
  f(n, { color: "theme" }, {
315
- default: k(() => [d(w(E(p) || e.$i18n.Common.Cancel), 1)]),
315
+ default: k(() => [d(w(E(g) || e.$i18n.Common.Cancel), 1)]),
316
316
  _: 1
317
317
  }),
318
318
  f(n, {
319
- onClick: s,
320
- color: E(m) ? "red" : "blue"
319
+ onClick: l,
320
+ color: E(_) ? "red" : "blue"
321
321
  }, {
322
- default: k(() => [d(w(E(l) || e.$i18n.Common.Continue), 1)]),
322
+ default: k(() => [d(w(E(m) || e.$i18n.Common.Continue), 1)]),
323
323
  _: 1
324
324
  }, 8, ["color"])
325
325
  ]),
326
326
  _: 2
327
- }, [e.$slots.header ? {
327
+ }, [r.header ? {
328
328
  name: "header",
329
329
  fn: k(() => [x(e.$slots, "header")]),
330
330
  key: "0"
331
- } : void 0, e.$slots.default ? {
331
+ } : void 0, r.default ? {
332
332
  name: "content",
333
333
  fn: k(() => [x(e.$slots, "default")]),
334
334
  key: "1"
@@ -359,47 +359,47 @@ var j = /* @__PURE__ */ p({
359
359
  "scrollContentList",
360
360
  "submit"
361
361
  ],
362
- setup(e, { emit: t }) {
363
- let r = e, i = t, a = () => c.value = r.defaultValue ?? "", s = b(!1), c = b();
364
- O(() => r.defaultValue, () => a(), { immediate: !0 });
365
- let l = () => {
366
- s.value = !0;
367
- }, p = (e) => {
368
- if (s.value) {
369
- s.value = !1, i("submit", c.value), a();
362
+ setup(e, { emit: t, slots: r }) {
363
+ let i = t, a = e, s = t, c = () => p.value = a.defaultValue ?? "", l = b(!1), p = b();
364
+ O(() => a.defaultValue, () => c(), { immediate: !0 });
365
+ let m = () => {
366
+ l.value = !0;
367
+ }, g = (e) => {
368
+ if (l.value) {
369
+ l.value = !1, s("submit", p.value), c();
370
370
  return;
371
371
  }
372
- a(), i("close", e);
373
- }, { submitText: m, cancelText: g, defaultValue: _, inputProps: v, ...S } = r;
374
- return (e, t) => (y(), o(R, h({ class: "top-popupPrompt" }, S, {
375
- onOpen: t[1] ||= (t) => e.$emit("open", t),
376
- onClose: t[2] ||= (e) => p(e),
377
- onScrollContentList: t[3] ||= (...t) => e.$emit("scrollContentList", ...t)
372
+ c(), s("close", e);
373
+ }, { submitText: _, cancelText: v, defaultValue: S, inputProps: C, ...T } = a;
374
+ return (e, t) => (y(), o(R, h({ class: "top-popupPrompt" }, T, {
375
+ onOpen: t[1] ||= (e) => i("open", e),
376
+ onClose: t[2] ||= (e) => g(e),
377
+ onScrollContentList: t[3] ||= (...e) => i("scrollContentList", ...e)
378
378
  }), u({
379
379
  opener: k(() => [x(e.$slots, "opener")]),
380
380
  footer: k(() => [
381
381
  x(e.$slots, "footer"),
382
382
  f(n, { color: "theme" }, {
383
- default: k(() => [d(w(E(g) || e.$i18n.Common.Cancel), 1)]),
383
+ default: k(() => [d(w(E(v) || e.$i18n.Common.Cancel), 1)]),
384
384
  _: 1
385
385
  }),
386
- f(n, { onClick: l }, {
387
- default: k(() => [d(w(E(m) || e.$i18n.Common.OK), 1)]),
386
+ f(n, { onClick: m }, {
387
+ default: k(() => [d(w(E(_) || e.$i18n.Common.OK), 1)]),
388
388
  _: 1
389
389
  })
390
390
  ]),
391
391
  _: 2
392
- }, [e.$slots.header ? {
392
+ }, [r.header ? {
393
393
  name: "header",
394
394
  fn: k(() => [x(e.$slots, "header")]),
395
395
  key: "0"
396
- } : void 0, e.$slots.default ? {
396
+ } : void 0, r.default ? {
397
397
  name: "content",
398
398
  fn: k(() => [x(e.$slots, "default"), f(H, h({
399
- modelValue: c.value,
400
- "onUpdate:modelValue": t[0] ||= (e) => c.value = e,
399
+ modelValue: p.value,
400
+ "onUpdate:modelValue": t[0] ||= (e) => p.value = e,
401
401
  modelModifiers: { trim: !0 }
402
- }, E(v)), null, 16, ["modelValue"])]),
402
+ }, E(C)), null, 16, ["modelValue"])]),
403
403
  key: "1"
404
404
  } : void 0]), 1040));
405
405
  }
@@ -419,21 +419,21 @@ var j = /* @__PURE__ */ p({
419
419
  posBy: {},
420
420
  data: {}
421
421
  },
422
- setup(e) {
423
- let { hint: n, ...r } = e;
424
- return (e, i) => {
425
- let a = S("top-tooltip");
426
- return y(), o(R, h({ class: "top-popupHint" }, r, {
427
- onOpen: i[0] ||= (t) => e.$emit("open", t),
428
- onClose: i[1] ||= (t) => e.$emit("close", t),
429
- onScrollContentList: i[2] ||= (...t) => e.$emit("scrollContentList", ...t)
422
+ setup(e, { emit: n, slots: r }) {
423
+ let { hint: i, ...a } = e;
424
+ return (e, s) => {
425
+ let c = S("top-tooltip");
426
+ return y(), o(R, h({ class: "top-popupHint" }, a, {
427
+ onOpen: s[0] ||= (e) => n("open", e),
428
+ onClose: s[1] ||= (e) => n("close", e),
429
+ onScrollContentList: s[2] ||= (...e) => n("scrollContentList", ...e)
430
430
  }), u({
431
431
  opener: k(() => [A(f(t, {
432
- hint: E(n),
432
+ hint: E(i),
433
433
  class: "top-popupHint_opener"
434
- }, null, 8, ["hint"]), [[a]])]),
434
+ }, null, 8, ["hint"]), [[c]])]),
435
435
  _: 2
436
- }, [e.$slots.default ? {
436
+ }, [r.default ? {
437
437
  name: "content",
438
438
  fn: k(() => [x(e.$slots, "default")]),
439
439
  key: "0"
@@ -444,4 +444,4 @@ var j = /* @__PURE__ */ p({
444
444
  //#endregion
445
445
  export { H as a, j as c, U as i, G as n, V as o, W as r, R as s, K as t };
446
446
 
447
- //# sourceMappingURL=popup-ClpsGU2P.esm.js.map
447
+ //# sourceMappingURL=popup-DViuKwOc.esm.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"popup-DViuKwOc.esm.js","names":[],"sources":["../../src/components/popup/popup/opener/opener.vue","../../src/components/popup/popup/opener/opener.vue","../../src/components/popup/popup/popup.vue","../../src/components/popup/popup/popup.vue","../../src/components/popup/popup/listItem.vue","../../src/components/popup/popup/listItem.vue","../../src/components/popup/popup/widgetInput/widgetInput.vue","../../src/components/popup/popup/widgetInput/widgetInput.vue","../../src/components/popup/popupAlert/popupAlert.vue","../../src/components/popup/popupAlert/popupAlert.vue","../../src/components/popup/popupConfirm/popupConfirm.vue","../../src/components/popup/popupConfirm/popupConfirm.vue","../../src/components/popup/popupPrompt/popupPrompt.vue","../../src/components/popup/popupPrompt/popupPrompt.vue","../../src/components/popup/popupHint/popupHint.vue","../../src/components/popup/popupHint/popupHint.vue"],"sourcesContent":["<script setup lang=\"ts\" generic=\"T extends Record<string, any> | undefined = undefined\">\nimport { onUpdated } from 'vue';\nimport type { OpenerProps } from './types';\nimport Worker from '../../lib/worker';\n\nconst props = withDefaults(defineProps<OpenerProps<T>>(), {\n\tpos: '3',\n\tnotch: true,\n\tposBy: 'fixed',\n});\n\nconst id = props.id || Math.random() + '';\n\nlet elOpener: Element;\n\n/**\n * Необычная функция для проброски props внутрь элемента слота\n *\n * @param el - вспомогательный элемент для доступа к элементам слота\n */\nfunction render(el: any) {\n\tif (!el) return;\n\n\tsetTimeout(() => {\n\t\telOpener = el.nextElementSibling;\n\n\t\tif (elOpener) {\n\t\t\trenderOpener(elOpener);\n\t\t}\n\t});\n}\n\nonUpdated(() => {\n\tif (elOpener) {\n\t\trenderOpener(elOpener);\n\t}\n});\n\nfunction renderOpener(elOpener: any) {\n\t/**\n\t * topPopup - необходимый атрибут для всез Popup\n\t *\n\t * Для Vue вместо него используется атрибут topPopupId\n\t */\n\telOpener.dataset.topPopup = '#' + id;\n\n\tconst disabledOld = !!elOpener.dataset.topPopupDisabled;\n\n\telOpener.dataset.topPopupId = id;\n\telOpener.dataset.topPopupPos = props.pos;\n\telOpener.dataset.topPopupPosBy = props.posBy;\n\telOpener.dataset.topPopupNotch = props.notch ? 'true' : '';\n\telOpener.dataset.topPopupOpenByHover = props.openByHover ? 'true' : '';\n\telOpener.dataset.topPopupDisabled = props.disabled ? 'true' : '';\n\telOpener.__TopPopupOpenerProps = props;\n\n\tif (props.openByFocusInput && elOpener.classList.contains('top-input')) {\n\t\tconst elInput = elOpener.querySelector('input');\n\n\t\telInput.onfocus = () => {\n\t\t\tif (elOpener.dataset.topPopupDisabled) return;\n\n\t\t\t// фокус при возвращении не должен инициировать повторное открытие popup\n\t\t\tconst popup = Worker.getPopupFromOpener(elOpener);\n\t\t\tif (popup?.vueGetComponent()?.opened) return;\n\n\t\t\tWorker.openByOpener(elOpener);\n\t\t};\n\n\t\t/**\n\t\t * Открыть или закрыть `popup` в момент ввода значения, если он становится активным\n\t\t *\n\t\t * Для обработки ввода значения с проверкой `minLength`\n\t\t */\n\t\tif (props.disabled !== disabledOld && elInput === document.activeElement) {\n\t\t\tconst popup = Worker.getPopupFromOpener(elOpener);\n\n\t\t\tif (!props.disabled && !popup) {\n\t\t\t\tWorker.openByOpener(elOpener);\n\t\t\t}\n\n\t\t\tif (props.disabled && popup) {\n\t\t\t\tpopup.close();\n\t\t\t}\n\t\t}\n\t}\n}\n</script>\n\n<template>\n\t<template :ref=\"render\"></template>\n\n\t<!-- @slot элемент для открытия Popup -->\n\t<slot></slot>\n</template>\n\n<!-- Использует общий deprecated класс .btn -->\n<style>\nh3[data-top-popup],\ndiv[data-top-popup],\ni[data-top-popup]:not(.btn),\nb[data-top-popup]:not(.btn) {\n\tcursor: pointer;\n\tuser-select: none;\n\tfont-style: normal;\n\ttext-decoration: none;\n\tdisplay: inline-flex;\n\talign-items: center;\n}\n\n[data-top-popup][data-top-popup-disabled] {\n\t/*\n\tpointer-events: none;\n\tcursor: auto !important;\n\t*/\n}\n\ni[contenteditable] {\n\tcursor: text !important;\n}\n</style>\n","<script setup lang=\"ts\" generic=\"T extends Record<string, any> | undefined = undefined\">\nimport { onUpdated } from 'vue';\nimport type { OpenerProps } from './types';\nimport Worker from '../../lib/worker';\n\nconst props = withDefaults(defineProps<OpenerProps<T>>(), {\n\tpos: '3',\n\tnotch: true,\n\tposBy: 'fixed',\n});\n\nconst id = props.id || Math.random() + '';\n\nlet elOpener: Element;\n\n/**\n * Необычная функция для проброски props внутрь элемента слота\n *\n * @param el - вспомогательный элемент для доступа к элементам слота\n */\nfunction render(el: any) {\n\tif (!el) return;\n\n\tsetTimeout(() => {\n\t\telOpener = el.nextElementSibling;\n\n\t\tif (elOpener) {\n\t\t\trenderOpener(elOpener);\n\t\t}\n\t});\n}\n\nonUpdated(() => {\n\tif (elOpener) {\n\t\trenderOpener(elOpener);\n\t}\n});\n\nfunction renderOpener(elOpener: any) {\n\t/**\n\t * topPopup - необходимый атрибут для всез Popup\n\t *\n\t * Для Vue вместо него используется атрибут topPopupId\n\t */\n\telOpener.dataset.topPopup = '#' + id;\n\n\tconst disabledOld = !!elOpener.dataset.topPopupDisabled;\n\n\telOpener.dataset.topPopupId = id;\n\telOpener.dataset.topPopupPos = props.pos;\n\telOpener.dataset.topPopupPosBy = props.posBy;\n\telOpener.dataset.topPopupNotch = props.notch ? 'true' : '';\n\telOpener.dataset.topPopupOpenByHover = props.openByHover ? 'true' : '';\n\telOpener.dataset.topPopupDisabled = props.disabled ? 'true' : '';\n\telOpener.__TopPopupOpenerProps = props;\n\n\tif (props.openByFocusInput && elOpener.classList.contains('top-input')) {\n\t\tconst elInput = elOpener.querySelector('input');\n\n\t\telInput.onfocus = () => {\n\t\t\tif (elOpener.dataset.topPopupDisabled) return;\n\n\t\t\t// фокус при возвращении не должен инициировать повторное открытие popup\n\t\t\tconst popup = Worker.getPopupFromOpener(elOpener);\n\t\t\tif (popup?.vueGetComponent()?.opened) return;\n\n\t\t\tWorker.openByOpener(elOpener);\n\t\t};\n\n\t\t/**\n\t\t * Открыть или закрыть `popup` в момент ввода значения, если он становится активным\n\t\t *\n\t\t * Для обработки ввода значения с проверкой `minLength`\n\t\t */\n\t\tif (props.disabled !== disabledOld && elInput === document.activeElement) {\n\t\t\tconst popup = Worker.getPopupFromOpener(elOpener);\n\n\t\t\tif (!props.disabled && !popup) {\n\t\t\t\tWorker.openByOpener(elOpener);\n\t\t\t}\n\n\t\t\tif (props.disabled && popup) {\n\t\t\t\tpopup.close();\n\t\t\t}\n\t\t}\n\t}\n}\n</script>\n\n<template>\n\t<template :ref=\"render\"></template>\n\n\t<!-- @slot элемент для открытия Popup -->\n\t<slot></slot>\n</template>\n\n<!-- Использует общий deprecated класс .btn -->\n<style>\nh3[data-top-popup],\ndiv[data-top-popup],\ni[data-top-popup]:not(.btn),\nb[data-top-popup]:not(.btn) {\n\tcursor: pointer;\n\tuser-select: none;\n\tfont-style: normal;\n\ttext-decoration: none;\n\tdisplay: inline-flex;\n\talign-items: center;\n}\n\n[data-top-popup][data-top-popup-disabled] {\n\t/*\n\tpointer-events: none;\n\tcursor: auto !important;\n\t*/\n}\n\ni[contenteditable] {\n\tcursor: text !important;\n}\n</style>\n","<script setup lang=\"ts\" generic=\"T extends Record<string, any> | undefined = undefined\">\nimport { onUnmounted, ref, toRef, watch } from 'vue';\nimport TopHint from '@/components/forms/hint/hint.vue';\nimport type { TopLibPopup } from '@/components/popup/lib/popup';\nimport type { Emits, Props } from './types';\nimport Opener from './opener/opener.vue';\nimport Worker from '@/components/popup/lib/worker';\n\nconst props = withDefaults(defineProps<Props<T>>(), {\n\tid: '',\n\tpos: '3',\n\tnotch: true,\n\tposBy: 'fixed',\n});\n\nconst emit = defineEmits<Emits<T>>();\n\nconst id = props.id || 'top-popup-id-' + Math.random() + '';\n\nconst expose = {\n\tid,\n\tpopup: undefined as TopLibPopup<T> | undefined,\n};\n\ndefineExpose(expose);\n\nconst elPopupRef = ref<HTMLElement | null>(null);\nconst elPopupInnerRef = ref<HTMLElement | null>(null);\n\nconst data = ref<T>();\n\n// см. lib/popup\nconst onOpen = async (popup: TopLibPopup<T>) => {\n\tif (popup.elPopup) elPopupRef.value = popup.elPopup;\n\n\tif (popup.elPopupInner) {\n\t\tpopup.elPopupInner.innerText = '';\n\n\t\telPopupInnerRef.value = popup.elPopupInner;\n\t}\n\n\tvueConnector.opened = true;\n\tvueConnector.popup = popup;\n\n\texpose.popup = popup;\n\n\tdata.value = popup.el.__TopPopupOpenerProps.data;\n\n\temit('open', { elPopup: popup.elPopup!, elPopupOpener: popup.el, data: data.value });\n};\n\n// см. lib/popup\nconst onClose = (popup: TopLibPopup<T>) => {\n\telPopupInnerRef.value = null;\n\n\tvueConnector.opened = false;\n\tvueConnector.popup = undefined;\n\n\tdata.value = undefined;\n\n\temit('close', { elPopup: popup.elPopup!, elPopupOpener: popup.el, data: popup.el.__TopPopupOpenerProps.data });\n};\n\nconst vueConnector = {\n\tonOpen,\n\tonClose,\n\tclassRef: toRef(props, 'class'),\n\topened: false,\n\tpopup: undefined as TopLibPopup<T> | undefined,\n\ttransitionDurationRef: toRef(props, 'transitionDuration'),\n};\n\nwatch(() => props.class, (newValue, oldValue) => {\n\tif (!elPopupRef.value) return;\n\n\tconst newClasses = newValue?.split(' ') ?? [];\n\tconst oldClasses = oldValue?.split(' ') ?? [];\n\n\tconst delClasses = oldClasses.filter((oldClass) => !newClasses.includes(oldClass));\n\n\telPopupRef.value.classList.remove(...delClasses);\n\telPopupRef.value.classList.add(...newClasses);\n});\n\nWorker.regVueComponent(id, vueConnector);\n\nonUnmounted(() => {\n\tWorker.unregVueComponent(id);\n});\n</script>\n\n<template>\n\t<Opener\n\t\tv-if=\"$slots.opener\"\n\t\t:id\n\t\t:pos\n\t\t:posBy\n\t\t:notch\n\t\t:openByFocusInput\n\t\t:openByHover=\"($core.state.isMobile || $core.state.isMobileUA) ? false : openByHover\"\n\t\t:disabled\n\t>\n\t\t<!-- @slot элемент для открытия Popup -->\n\t\t<slot name=\"opener\"></slot>\n\t</Opener>\n\n\t<!-- Это шаблон для компонента Popup, сам Popup генерируется в js и может находиться где угодно -->\n\t<!-- elPopupInnerRef будет установлен только после открытия и будет сброшен сразу после закрытия Popup -->\n\t<teleport\n\t\tv-if=\"elPopupInnerRef\"\n\t\t:to=\"elPopupInnerRef\"\n\t>\n\t\t<div\n\t\t\tv-if=\"$slots.header || $core.state.isMobile\"\n\t\t\tclass=\"top-popup_header\"\n\t\t>\n\t\t\t<span\n\t\t\t\tv-if=\"$core.state.isMobile\"\n\t\t\t\tclass=\"top-as-a closer\"\n\t\t\t>\n\t\t\t\t{{ $i18n.Common.Close }}\n\t\t\t</span>\n\n\t\t\t<!-- @slot Шапка -->\n\t\t\t<slot name=\"header\" :data=\"data\"></slot>\n\t\t</div>\n\n\t\t<div\n\t\t\tv-if=\"$slots.widget\"\n\t\t\tclass=\"top-popup_widget\"\n\t\t>\n\t\t\t<!-- @slot Виджет -->\n\t\t\t<slot name=\"widget\"></slot>\n\t\t</div>\n\n\t\t<div\n\t\t\tv-if=\"$slots.content\"\n\t\t\tclass=\"top-popup_content\"\n\t\t\tv-top-scroll-shadow\n\t\t>\n\t\t\t<!-- @slot Контент в свободной форме -->\n\t\t\t<slot name=\"content\" :data=\"data\"></slot>\n\t\t</div>\n\n\t\t<ul\n\t\t\tv-if=\"$slots.contentList\"\n\t\t\tclass=\"top-popup_content\"\n\t\t\t@scroll=\"$emit('scrollContentList', $event)\"\n\t\t\tv-top-scroll-shadow\n\t\t>\n\t\t\t<!-- @slot Контент в виде списка, для вставки элементов списка используйте компонент popup/listItem -->\n\t\t\t<slot name=\"contentList\" :data=\"data\"></slot>\n\t\t</ul>\n\n\t\t<div\n\t\t\tv-if=\"$slots.footer || footerSupportLink\"\n\t\t\tclass=\"top-popup_footer\"\n\t\t>\n\t\t\t<a\n\t\t\t\tv-if=\"footerSupportLink\"\n\t\t\t\tclass=\"top-popup_footerSupportLink\"\n\t\t\t\t:href=\"footerSupportLink\"\n\t\t\t\ttarget=\"_blank\"\n\t\t\t>\n\t\t\t\t<TopHint hint=\"\"/>\n\t\t\t</a>\n\n\t\t\t<!-- @slot Футер -->\n\t\t\t<slot name=\"footer\" :data=\"data\"></slot>\n\t\t</div>\n\t</teleport>\n</template>\n\n<style>\n.top-popup_footerSupportLink {\n\tmargin-right: auto;\n}\n</style>\n","<script setup lang=\"ts\" generic=\"T extends Record<string, any> | undefined = undefined\">\nimport { onUnmounted, ref, toRef, watch } from 'vue';\nimport TopHint from '@/components/forms/hint/hint.vue';\nimport type { TopLibPopup } from '@/components/popup/lib/popup';\nimport type { Emits, Props } from './types';\nimport Opener from './opener/opener.vue';\nimport Worker from '@/components/popup/lib/worker';\n\nconst props = withDefaults(defineProps<Props<T>>(), {\n\tid: '',\n\tpos: '3',\n\tnotch: true,\n\tposBy: 'fixed',\n});\n\nconst emit = defineEmits<Emits<T>>();\n\nconst id = props.id || 'top-popup-id-' + Math.random() + '';\n\nconst expose = {\n\tid,\n\tpopup: undefined as TopLibPopup<T> | undefined,\n};\n\ndefineExpose(expose);\n\nconst elPopupRef = ref<HTMLElement | null>(null);\nconst elPopupInnerRef = ref<HTMLElement | null>(null);\n\nconst data = ref<T>();\n\n// см. lib/popup\nconst onOpen = async (popup: TopLibPopup<T>) => {\n\tif (popup.elPopup) elPopupRef.value = popup.elPopup;\n\n\tif (popup.elPopupInner) {\n\t\tpopup.elPopupInner.innerText = '';\n\n\t\telPopupInnerRef.value = popup.elPopupInner;\n\t}\n\n\tvueConnector.opened = true;\n\tvueConnector.popup = popup;\n\n\texpose.popup = popup;\n\n\tdata.value = popup.el.__TopPopupOpenerProps.data;\n\n\temit('open', { elPopup: popup.elPopup!, elPopupOpener: popup.el, data: data.value });\n};\n\n// см. lib/popup\nconst onClose = (popup: TopLibPopup<T>) => {\n\telPopupInnerRef.value = null;\n\n\tvueConnector.opened = false;\n\tvueConnector.popup = undefined;\n\n\tdata.value = undefined;\n\n\temit('close', { elPopup: popup.elPopup!, elPopupOpener: popup.el, data: popup.el.__TopPopupOpenerProps.data });\n};\n\nconst vueConnector = {\n\tonOpen,\n\tonClose,\n\tclassRef: toRef(props, 'class'),\n\topened: false,\n\tpopup: undefined as TopLibPopup<T> | undefined,\n\ttransitionDurationRef: toRef(props, 'transitionDuration'),\n};\n\nwatch(() => props.class, (newValue, oldValue) => {\n\tif (!elPopupRef.value) return;\n\n\tconst newClasses = newValue?.split(' ') ?? [];\n\tconst oldClasses = oldValue?.split(' ') ?? [];\n\n\tconst delClasses = oldClasses.filter((oldClass) => !newClasses.includes(oldClass));\n\n\telPopupRef.value.classList.remove(...delClasses);\n\telPopupRef.value.classList.add(...newClasses);\n});\n\nWorker.regVueComponent(id, vueConnector);\n\nonUnmounted(() => {\n\tWorker.unregVueComponent(id);\n});\n</script>\n\n<template>\n\t<Opener\n\t\tv-if=\"$slots.opener\"\n\t\t:id\n\t\t:pos\n\t\t:posBy\n\t\t:notch\n\t\t:openByFocusInput\n\t\t:openByHover=\"($core.state.isMobile || $core.state.isMobileUA) ? false : openByHover\"\n\t\t:disabled\n\t>\n\t\t<!-- @slot элемент для открытия Popup -->\n\t\t<slot name=\"opener\"></slot>\n\t</Opener>\n\n\t<!-- Это шаблон для компонента Popup, сам Popup генерируется в js и может находиться где угодно -->\n\t<!-- elPopupInnerRef будет установлен только после открытия и будет сброшен сразу после закрытия Popup -->\n\t<teleport\n\t\tv-if=\"elPopupInnerRef\"\n\t\t:to=\"elPopupInnerRef\"\n\t>\n\t\t<div\n\t\t\tv-if=\"$slots.header || $core.state.isMobile\"\n\t\t\tclass=\"top-popup_header\"\n\t\t>\n\t\t\t<span\n\t\t\t\tv-if=\"$core.state.isMobile\"\n\t\t\t\tclass=\"top-as-a closer\"\n\t\t\t>\n\t\t\t\t{{ $i18n.Common.Close }}\n\t\t\t</span>\n\n\t\t\t<!-- @slot Шапка -->\n\t\t\t<slot name=\"header\" :data=\"data\"></slot>\n\t\t</div>\n\n\t\t<div\n\t\t\tv-if=\"$slots.widget\"\n\t\t\tclass=\"top-popup_widget\"\n\t\t>\n\t\t\t<!-- @slot Виджет -->\n\t\t\t<slot name=\"widget\"></slot>\n\t\t</div>\n\n\t\t<div\n\t\t\tv-if=\"$slots.content\"\n\t\t\tclass=\"top-popup_content\"\n\t\t\tv-top-scroll-shadow\n\t\t>\n\t\t\t<!-- @slot Контент в свободной форме -->\n\t\t\t<slot name=\"content\" :data=\"data\"></slot>\n\t\t</div>\n\n\t\t<ul\n\t\t\tv-if=\"$slots.contentList\"\n\t\t\tclass=\"top-popup_content\"\n\t\t\t@scroll=\"$emit('scrollContentList', $event)\"\n\t\t\tv-top-scroll-shadow\n\t\t>\n\t\t\t<!-- @slot Контент в виде списка, для вставки элементов списка используйте компонент popup/listItem -->\n\t\t\t<slot name=\"contentList\" :data=\"data\"></slot>\n\t\t</ul>\n\n\t\t<div\n\t\t\tv-if=\"$slots.footer || footerSupportLink\"\n\t\t\tclass=\"top-popup_footer\"\n\t\t>\n\t\t\t<a\n\t\t\t\tv-if=\"footerSupportLink\"\n\t\t\t\tclass=\"top-popup_footerSupportLink\"\n\t\t\t\t:href=\"footerSupportLink\"\n\t\t\t\ttarget=\"_blank\"\n\t\t\t>\n\t\t\t\t<TopHint hint=\"\"/>\n\t\t\t</a>\n\n\t\t\t<!-- @slot Футер -->\n\t\t\t<slot name=\"footer\" :data=\"data\"></slot>\n\t\t</div>\n\t</teleport>\n</template>\n\n<style>\n.top-popup_footerSupportLink {\n\tmargin-right: auto;\n}\n</style>\n","<script setup lang=\"ts\">\nimport type { ListItemProps } from './types';\n\ndefineOptions({\n\tinheritAttrs: false,\n});\n\nconst props = withDefaults(defineProps<ListItemProps>(), {\n\ttype: 'button',\n\tcloseByClick: true,\n});\n</script>\n\n<template>\n\t<li\n\t\t:class=\"{\n\t\t\t'top-popup_liNoSelectable': props.type !== 'button'\n\t\t}\"\n\t>\n\t\t<component\n\t\t\t:is=\"$attrs.href ? 'a' : 'div'\"\n\t\t\t:class=\"{\n\t\t\t\t'top-popup_listItem': true,\n\t\t\t\t['top-popup_listItem-' + props.type]: !!props.type,\n\t\t\t\t'top-popup_liastItem-withActions': $slots.actions,\n\t\t\t\t'top-popup-noCloser': !closeByClick,\n\t\t\t\t[props.class ?? '']: !!props.class,\n\n\t\t\t\t'a': props.type === 'button', // оформления кнопки, deprecated\n\t\t\t}\"\n\t\t\t:=\"{...$attrs, ...attrs}\"\n\t\t>\n\t\t\t<template v-if=\"$slots.actions\">\n\t\t\t\t<div class=\"top-popup_listItemActionsLabel top-ellipsis1\">\n\t\t\t\t\t<slot></slot>\n\t\t\t\t</div>\n\n\t\t\t\t<div class=\"top-popup_listItemActions\">\n\t\t\t\t\t<slot name=\"actions\"></slot>\n\t\t\t\t</div>\n\t\t\t</template>\n\n\t\t\t<template v-else>\n\t\t\t\t<slot></slot>\n\t\t\t</template>\n\t\t</component>\n\n\t\t<slot name=\"buttons\"></slot>\n\t</li>\n</template>\n","<script setup lang=\"ts\">\nimport type { ListItemProps } from './types';\n\ndefineOptions({\n\tinheritAttrs: false,\n});\n\nconst props = withDefaults(defineProps<ListItemProps>(), {\n\ttype: 'button',\n\tcloseByClick: true,\n});\n</script>\n\n<template>\n\t<li\n\t\t:class=\"{\n\t\t\t'top-popup_liNoSelectable': props.type !== 'button'\n\t\t}\"\n\t>\n\t\t<component\n\t\t\t:is=\"$attrs.href ? 'a' : 'div'\"\n\t\t\t:class=\"{\n\t\t\t\t'top-popup_listItem': true,\n\t\t\t\t['top-popup_listItem-' + props.type]: !!props.type,\n\t\t\t\t'top-popup_liastItem-withActions': $slots.actions,\n\t\t\t\t'top-popup-noCloser': !closeByClick,\n\t\t\t\t[props.class ?? '']: !!props.class,\n\n\t\t\t\t'a': props.type === 'button', // оформления кнопки, deprecated\n\t\t\t}\"\n\t\t\t:=\"{...$attrs, ...attrs}\"\n\t\t>\n\t\t\t<template v-if=\"$slots.actions\">\n\t\t\t\t<div class=\"top-popup_listItemActionsLabel top-ellipsis1\">\n\t\t\t\t\t<slot></slot>\n\t\t\t\t</div>\n\n\t\t\t\t<div class=\"top-popup_listItemActions\">\n\t\t\t\t\t<slot name=\"actions\"></slot>\n\t\t\t\t</div>\n\t\t\t</template>\n\n\t\t\t<template v-else>\n\t\t\t\t<slot></slot>\n\t\t\t</template>\n\t\t</component>\n\n\t\t<slot name=\"buttons\"></slot>\n\t</li>\n</template>\n","<script setup lang=\"ts\">\nimport type { ModelRef } from 'vue';\nimport type { Props } from '@/components/forms/input/types';\nimport TopInput from '@/components/forms/input/input.vue';\n\nwithDefaults(defineProps<Props>(), {\n\taddCleaner: true,\n});\n\nconst model: ModelRef<string> = defineModel({\n\tdefault: '',\n});\n</script>\n\n<template>\n\t<TopInput\n\t\t:=\"$props\"\n\t\tmodificator=\"popupWidgetInput\"\n\t\tv-model=\"model\"\n\t/>\n</template>\n\n<style>\n.top-input-popupWidgetInput {\n\t--top-loadbar-color: var(--color-line-2);\n\n\twidth: 100%;\n}\n\n.top-input_input-popupWidgetInput {\n\tborder: none;\n\tbackground: var(--color-layer-1);\n}\n\n.top-input_input-popupWidgetInput:hover {\n\tbackground: var(--color-layer-2);\n}\n\n.top-input_input-popupWidgetInput:focus {\n\tbackground: var(--color-layer-1);\n\toutline: unset;\n}\n</style>\n","<script setup lang=\"ts\">\nimport type { ModelRef } from 'vue';\nimport type { Props } from '@/components/forms/input/types';\nimport TopInput from '@/components/forms/input/input.vue';\n\nwithDefaults(defineProps<Props>(), {\n\taddCleaner: true,\n});\n\nconst model: ModelRef<string> = defineModel({\n\tdefault: '',\n});\n</script>\n\n<template>\n\t<TopInput\n\t\t:=\"$props\"\n\t\tmodificator=\"popupWidgetInput\"\n\t\tv-model=\"model\"\n\t/>\n</template>\n\n<style>\n.top-input-popupWidgetInput {\n\t--top-loadbar-color: var(--color-line-2);\n\n\twidth: 100%;\n}\n\n.top-input_input-popupWidgetInput {\n\tborder: none;\n\tbackground: var(--color-layer-1);\n}\n\n.top-input_input-popupWidgetInput:hover {\n\tbackground: var(--color-layer-2);\n}\n\n.top-input_input-popupWidgetInput:focus {\n\tbackground: var(--color-layer-1);\n\toutline: unset;\n}\n</style>\n","<script setup lang=\"ts\" generic=\"T extends Record<string, any> | undefined = undefined\">\nimport type { Emits, Props } from './types';\nimport TopButton from '@/components/forms/button/button.vue';\nimport TopPopup from '@/components/popup/popup/popup.vue';\n\nconst props = defineProps<Props<T>>();\n\ndefineEmits<Emits<T>>();\n\n// сужение объекта для propsPopup\nconst {\n\tsubmitText,\n\t// eslint-disable-next-line @typescript-eslint/no-unused-vars\n\t...propsPopup\n}: Props<T> = props;\n</script>\n\n<template>\n\t<!-- @vue-generic {T} -->\n\t<TopPopup\n\t\tclass=\"top-popupAlert\"\n\t\t:=propsPopup\n\t\t@open=\"$emit('open', $event)\"\n\t\t@close=\"$emit('close', $event)\"\n\t\t@scrollContentList=\"(...args) => $emit('scrollContentList', ...args)\"\n\t>\n\t\t<template #opener>\n\t\t\t<!-- @slot Элемент для открытия Popup -->\n\t\t\t<slot name=\"opener\"></slot>\n\t\t</template>\n\n\t\t<template #header v-if=\"$slots.header\">\n\t\t\t<!-- @slot Шапка -->\n\t\t\t<slot name=\"header\"></slot>\n\t\t</template>\n\n\t\t<template #content v-if=\"$slots.default\">\n\t\t\t<!-- @slot Контент в свободной форме -->\n\t\t\t<slot></slot>\n\t\t</template>\n\n\t\t<template #footer>\n\t\t\t<!-- @slot Футер -->\n\t\t\t<slot name=\"footer\"></slot>\n\n\t\t\t<TopButton>\n\t\t\t\t{{ submitText || $i18n.Common.Close }}\n\t\t\t</TopButton>\n\t\t</template>\n\t</TopPopup>\n</template>\n","<script setup lang=\"ts\" generic=\"T extends Record<string, any> | undefined = undefined\">\nimport type { Emits, Props } from './types';\nimport TopButton from '@/components/forms/button/button.vue';\nimport TopPopup from '@/components/popup/popup/popup.vue';\n\nconst props = defineProps<Props<T>>();\n\ndefineEmits<Emits<T>>();\n\n// сужение объекта для propsPopup\nconst {\n\tsubmitText,\n\t// eslint-disable-next-line @typescript-eslint/no-unused-vars\n\t...propsPopup\n}: Props<T> = props;\n</script>\n\n<template>\n\t<!-- @vue-generic {T} -->\n\t<TopPopup\n\t\tclass=\"top-popupAlert\"\n\t\t:=propsPopup\n\t\t@open=\"$emit('open', $event)\"\n\t\t@close=\"$emit('close', $event)\"\n\t\t@scrollContentList=\"(...args) => $emit('scrollContentList', ...args)\"\n\t>\n\t\t<template #opener>\n\t\t\t<!-- @slot Элемент для открытия Popup -->\n\t\t\t<slot name=\"opener\"></slot>\n\t\t</template>\n\n\t\t<template #header v-if=\"$slots.header\">\n\t\t\t<!-- @slot Шапка -->\n\t\t\t<slot name=\"header\"></slot>\n\t\t</template>\n\n\t\t<template #content v-if=\"$slots.default\">\n\t\t\t<!-- @slot Контент в свободной форме -->\n\t\t\t<slot></slot>\n\t\t</template>\n\n\t\t<template #footer>\n\t\t\t<!-- @slot Футер -->\n\t\t\t<slot name=\"footer\"></slot>\n\n\t\t\t<TopButton>\n\t\t\t\t{{ submitText || $i18n.Common.Close }}\n\t\t\t</TopButton>\n\t\t</template>\n\t</TopPopup>\n</template>\n","<script setup lang=\"ts\" generic=\"T extends Record<string, any> | undefined = undefined\">\nimport { ref } from 'vue';\nimport type { PopupEvent } from '@/components/popup/popup/types';\nimport type { Emits, Props } from './types';\nimport TopButton from '@/components/forms/button/button.vue';\nimport TopPopup from '@/components/popup/popup/popup.vue';\n\nconst props = defineProps<Props<T>>();\n\nconst emit = defineEmits<Emits<T>>();\n\nconst isSubmit = ref(false);\n\nconst onSubmit = () => {\n\tisSubmit.value = true;\n\n\temit('submit');\n};\n\nconst onClose = (popupEvent: PopupEvent<T>) => {\n\tif (isSubmit.value) {\n\t\tisSubmit.value = false;\n\n\t\treturn;\n\t}\n\n\temit('close', popupEvent);\n};\n\n// сужение объекта для propsPopup\nconst {\n\tsubmitText,\n\tcancelText,\n\tisWarning,\n\t// eslint-disable-next-line @typescript-eslint/no-unused-vars\n\t...propsPopup\n}: Props<T> = props;\n</script>\n\n<template>\n\t<!-- @vue-generic {T} -->\n\t<TopPopup\n\t\tclass=\"top-popupConfirm\"\n\t\t:=propsPopup\n\t\t@open=\"$emit('open', $event)\"\n\t\t@close=\"onClose($event)\"\n\t\t@scrollContentList=\"(...args) => $emit('scrollContentList', ...args)\"\n\t>\n\t\t<template #opener>\n\t\t\t<!-- @slot Элемент для открытия TopPopup -->\n\t\t\t<slot name=\"opener\"></slot>\n\t\t</template>\n\n\t\t<template #header v-if=\"$slots.header\">\n\t\t\t<!-- @slot Шапка -->\n\t\t\t<slot name=\"header\"></slot>\n\t\t</template>\n\n\t\t<template #content v-if=\"$slots.default\">\n\t\t\t<!-- @slot Контент в свободной форме -->\n\t\t\t<slot></slot>\n\t\t</template>\n\n\t\t<template #footer>\n\t\t\t<!-- @slot Футер -->\n\t\t\t<slot name=\"footer\"></slot>\n\n\t\t\t<TopButton color=\"theme\">\n\t\t\t\t{{ cancelText || $i18n.Common.Cancel }}\n\t\t\t</TopButton>\n\n\t\t\t<TopButton\n\t\t\t\t@click=\"onSubmit\"\n\t\t\t\t:color=\"isWarning ? 'red' : 'blue'\"\n\t\t\t>\n\t\t\t\t{{ submitText || $i18n.Common.Continue }}\n\t\t\t</TopButton>\n\t\t</template>\n\t</TopPopup>\n</template>\n","<script setup lang=\"ts\" generic=\"T extends Record<string, any> | undefined = undefined\">\nimport { ref } from 'vue';\nimport type { PopupEvent } from '@/components/popup/popup/types';\nimport type { Emits, Props } from './types';\nimport TopButton from '@/components/forms/button/button.vue';\nimport TopPopup from '@/components/popup/popup/popup.vue';\n\nconst props = defineProps<Props<T>>();\n\nconst emit = defineEmits<Emits<T>>();\n\nconst isSubmit = ref(false);\n\nconst onSubmit = () => {\n\tisSubmit.value = true;\n\n\temit('submit');\n};\n\nconst onClose = (popupEvent: PopupEvent<T>) => {\n\tif (isSubmit.value) {\n\t\tisSubmit.value = false;\n\n\t\treturn;\n\t}\n\n\temit('close', popupEvent);\n};\n\n// сужение объекта для propsPopup\nconst {\n\tsubmitText,\n\tcancelText,\n\tisWarning,\n\t// eslint-disable-next-line @typescript-eslint/no-unused-vars\n\t...propsPopup\n}: Props<T> = props;\n</script>\n\n<template>\n\t<!-- @vue-generic {T} -->\n\t<TopPopup\n\t\tclass=\"top-popupConfirm\"\n\t\t:=propsPopup\n\t\t@open=\"$emit('open', $event)\"\n\t\t@close=\"onClose($event)\"\n\t\t@scrollContentList=\"(...args) => $emit('scrollContentList', ...args)\"\n\t>\n\t\t<template #opener>\n\t\t\t<!-- @slot Элемент для открытия TopPopup -->\n\t\t\t<slot name=\"opener\"></slot>\n\t\t</template>\n\n\t\t<template #header v-if=\"$slots.header\">\n\t\t\t<!-- @slot Шапка -->\n\t\t\t<slot name=\"header\"></slot>\n\t\t</template>\n\n\t\t<template #content v-if=\"$slots.default\">\n\t\t\t<!-- @slot Контент в свободной форме -->\n\t\t\t<slot></slot>\n\t\t</template>\n\n\t\t<template #footer>\n\t\t\t<!-- @slot Футер -->\n\t\t\t<slot name=\"footer\"></slot>\n\n\t\t\t<TopButton color=\"theme\">\n\t\t\t\t{{ cancelText || $i18n.Common.Cancel }}\n\t\t\t</TopButton>\n\n\t\t\t<TopButton\n\t\t\t\t@click=\"onSubmit\"\n\t\t\t\t:color=\"isWarning ? 'red' : 'blue'\"\n\t\t\t>\n\t\t\t\t{{ submitText || $i18n.Common.Continue }}\n\t\t\t</TopButton>\n\t\t</template>\n\t</TopPopup>\n</template>\n","<script setup lang=\"ts\" generic=\"T extends Record<string, any> | undefined = undefined\">\nimport { ref, watch } from 'vue';\nimport type { PopupEvent } from '../popup/types';\nimport type { Emits, Props } from './types';\nimport TopButton from '@/components/forms/button/button.vue';\nimport TopPopup from '../popup/popup.vue';\nimport TopPopupWidgetInput from '../popup/widgetInput/widgetInput.vue';\n\nconst props = defineProps<Props<T>>();\n\nconst emit = defineEmits<Emits<T>>();\n\nconst reset = () => localValue.value = props.defaultValue ?? '';\n\nconst isSubmit = ref(false);\n\nconst localValue = ref();\nwatch(() => props.defaultValue, () => reset(), { immediate: true });\n\nconst onSubmit = () => {\n\tisSubmit.value = true;\n};\n\nconst onClose = (popupEvent: PopupEvent<T>) => {\n\tif (isSubmit.value) {\n\t\tisSubmit.value = false;\n\n\t\temit('submit', localValue.value);\n\n\t\treset();\n\n\t\treturn;\n\t}\n\n\treset();\n\n\temit('close', popupEvent);\n};\n\n// сужение объекта для propsPopup\nconst {\n\tsubmitText,\n\tcancelText,\n\tdefaultValue,\n\tinputProps,\n\t// eslint-disable-next-line @typescript-eslint/no-unused-vars\n\t...propsPopup\n}: Props<T> = props;\n</script>\n\n<template>\n\t<!-- @vue-generic {T} -->\n\t<TopPopup\n\t\tclass=\"top-popupPrompt\"\n\t\t:=propsPopup\n\t\t@open=\"$emit('open', $event)\"\n\t\t@close=\"onClose($event)\"\n\t\t@scrollContentList=\"(...args) => $emit('scrollContentList', ...args)\"\n\t>\n\t\t<template #opener>\n\t\t\t<!-- @slot Элемент для открытия TopPopup -->\n\t\t\t<slot name=\"opener\"></slot>\n\t\t</template>\n\n\t\t<template #header v-if=\"$slots.header\">\n\t\t\t<!-- @slot Шапка -->\n\t\t\t<slot name=\"header\"></slot>\n\t\t</template>\n\n\t\t<template #content v-if=\"$slots.default\">\n\t\t\t<!-- @slot Контент в свободной форме -->\n\t\t\t<slot></slot>\n\n\t\t\t<TopPopupWidgetInput\n\t\t\t\tv-model.trim=\"localValue\"\n\t\t\t\t:=\"inputProps\"\n\t\t\t/>\n\t\t</template>\n\n\t\t<template #footer>\n\t\t\t<!-- @slot Футер -->\n\t\t\t<slot name=\"footer\"></slot>\n\n\t\t\t<TopButton color=\"theme\">\n\t\t\t\t{{ cancelText || $i18n.Common.Cancel }}\n\t\t\t</TopButton>\n\n\t\t\t<TopButton @click=\"onSubmit\">\n\t\t\t\t{{ submitText || $i18n.Common.OK }}\n\t\t\t</TopButton>\n\t\t</template>\n\t</TopPopup>\n</template>\n","<script setup lang=\"ts\" generic=\"T extends Record<string, any> | undefined = undefined\">\nimport { ref, watch } from 'vue';\nimport type { PopupEvent } from '../popup/types';\nimport type { Emits, Props } from './types';\nimport TopButton from '@/components/forms/button/button.vue';\nimport TopPopup from '../popup/popup.vue';\nimport TopPopupWidgetInput from '../popup/widgetInput/widgetInput.vue';\n\nconst props = defineProps<Props<T>>();\n\nconst emit = defineEmits<Emits<T>>();\n\nconst reset = () => localValue.value = props.defaultValue ?? '';\n\nconst isSubmit = ref(false);\n\nconst localValue = ref();\nwatch(() => props.defaultValue, () => reset(), { immediate: true });\n\nconst onSubmit = () => {\n\tisSubmit.value = true;\n};\n\nconst onClose = (popupEvent: PopupEvent<T>) => {\n\tif (isSubmit.value) {\n\t\tisSubmit.value = false;\n\n\t\temit('submit', localValue.value);\n\n\t\treset();\n\n\t\treturn;\n\t}\n\n\treset();\n\n\temit('close', popupEvent);\n};\n\n// сужение объекта для propsPopup\nconst {\n\tsubmitText,\n\tcancelText,\n\tdefaultValue,\n\tinputProps,\n\t// eslint-disable-next-line @typescript-eslint/no-unused-vars\n\t...propsPopup\n}: Props<T> = props;\n</script>\n\n<template>\n\t<!-- @vue-generic {T} -->\n\t<TopPopup\n\t\tclass=\"top-popupPrompt\"\n\t\t:=propsPopup\n\t\t@open=\"$emit('open', $event)\"\n\t\t@close=\"onClose($event)\"\n\t\t@scrollContentList=\"(...args) => $emit('scrollContentList', ...args)\"\n\t>\n\t\t<template #opener>\n\t\t\t<!-- @slot Элемент для открытия TopPopup -->\n\t\t\t<slot name=\"opener\"></slot>\n\t\t</template>\n\n\t\t<template #header v-if=\"$slots.header\">\n\t\t\t<!-- @slot Шапка -->\n\t\t\t<slot name=\"header\"></slot>\n\t\t</template>\n\n\t\t<template #content v-if=\"$slots.default\">\n\t\t\t<!-- @slot Контент в свободной форме -->\n\t\t\t<slot></slot>\n\n\t\t\t<TopPopupWidgetInput\n\t\t\t\tv-model.trim=\"localValue\"\n\t\t\t\t:=\"inputProps\"\n\t\t\t/>\n\t\t</template>\n\n\t\t<template #footer>\n\t\t\t<!-- @slot Футер -->\n\t\t\t<slot name=\"footer\"></slot>\n\n\t\t\t<TopButton color=\"theme\">\n\t\t\t\t{{ cancelText || $i18n.Common.Cancel }}\n\t\t\t</TopButton>\n\n\t\t\t<TopButton @click=\"onSubmit\">\n\t\t\t\t{{ submitText || $i18n.Common.OK }}\n\t\t\t</TopButton>\n\t\t</template>\n\t</TopPopup>\n</template>\n","<script setup lang=\"ts\" generic=\"T extends Record<string, any> | undefined = undefined\">\nimport TopPopup from '@/components/popup/popup/popup.vue';\nimport TopHint from '@/components/forms/hint/hint.vue';\nimport type { Props } from './types';\n\nconst props = defineProps<Props<T>>();\n\nconst {\n\thint,\n\t// eslint-disable-next-line @typescript-eslint/no-unused-vars\n\t...propsPopup\n}: Props<T> = props;\n</script>\n\n<template>\n\t<!-- @vue-generic {T} -->\n\t<TopPopup\n\t\tclass=\"top-popupHint\"\n\t\t:=propsPopup\n\t\t@open=\"$emit('open', $event)\"\n\t\t@close=\"$emit('close', $event)\"\n\t\t@scrollContentList=\"(...args) => $emit('scrollContentList', ...args)\"\n\t>\n\t\t<template #opener>\n\t\t\t<!-- Элемент для открытия Popup -->\n\t\t\t<TopHint\n\t\t\t\t:hint=\"hint\"\n\t\t\t\tclass=\"top-popupHint_opener\"\n\t\t\t\tv-top-tooltip\n\t\t\t/>\n\t\t</template>\n\n\t\t<template #content v-if=\"$slots.default\">\n\t\t\t<!-- @slot Контент в свободной форме -->\n\t\t\t<slot></slot>\n\t\t</template>\n\t</TopPopup>\n</template>\n\n<style>\n.top-popupHint_opener {\n\tcursor: pointer;\n}\n\n.top-popupHint_opener.top-active {\n\tcolor: var(--color-text-2);\n}\n</style>\n","<script setup lang=\"ts\" generic=\"T extends Record<string, any> | undefined = undefined\">\nimport TopPopup from '@/components/popup/popup/popup.vue';\nimport TopHint from '@/components/forms/hint/hint.vue';\nimport type { Props } from './types';\n\nconst props = defineProps<Props<T>>();\n\nconst {\n\thint,\n\t// eslint-disable-next-line @typescript-eslint/no-unused-vars\n\t...propsPopup\n}: Props<T> = props;\n</script>\n\n<template>\n\t<!-- @vue-generic {T} -->\n\t<TopPopup\n\t\tclass=\"top-popupHint\"\n\t\t:=propsPopup\n\t\t@open=\"$emit('open', $event)\"\n\t\t@close=\"$emit('close', $event)\"\n\t\t@scrollContentList=\"(...args) => $emit('scrollContentList', ...args)\"\n\t>\n\t\t<template #opener>\n\t\t\t<!-- Элемент для открытия Popup -->\n\t\t\t<TopHint\n\t\t\t\t:hint=\"hint\"\n\t\t\t\tclass=\"top-popupHint_opener\"\n\t\t\t\tv-top-tooltip\n\t\t\t/>\n\t\t</template>\n\n\t\t<template #content v-if=\"$slots.default\">\n\t\t\t<!-- @slot Контент в свободной форме -->\n\t\t\t<slot></slot>\n\t\t</template>\n\t</TopPopup>\n</template>\n\n<style>\n.top-popupHint_opener {\n\tcursor: pointer;\n}\n\n.top-popupHint_opener.top-active {\n\tcolor: var(--color-text-2);\n}\n</style>\n"],"mappings":"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"}
@@ -1,2 +1,2 @@
1
- var __createBinding=this&&this.__createBinding||(Object.create?(function(e,t,n,r){r===void 0&&(r=n);var i=Object.getOwnPropertyDescriptor(t,n);(!i||(`get`in i?!t.__esModule:i.writable||i.configurable))&&(i={enumerable:!0,get:function(){return t[n]}}),Object.defineProperty(e,r,i)}):(function(e,t,n,r){r===void 0&&(r=n),e[r]=t[n]})),__setModuleDefault=this&&this.__setModuleDefault||(Object.create?(function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}):function(e,t){e.default=t}),__importStar=this&&this.__importStar||(function(){var n=function(e){return n=Object.getOwnPropertyNames||function(e){var t=[];for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[t.length]=n);return t},n(e)};return function(r){if(r&&r.__esModule)return r;var i={};if(r!=null)for(var a=n(r),o=0;o<a.length;o++)a[o]!=="default"&&__createBinding(i,r,a[o]);return __setModuleDefault(i,r),i}})();define([`require`,`exports`,`./forms-LywqKN9I.amd`,`../utils/dom.amd`,`../utils/system.amd`,`../utils/route.amd`,`vue`],function(e,t,r,i,a,o,s){"use strict";if(c===void 0)var c=window.Vue;Object.defineProperty(t,"__esModule",{value:!0}),t.t=t.s=t.r=t.o=t.n=t.i=t.a=void 0;var l=[`id`,`data-view-page-active`,`data-modal`,`data-position`],u=(0,s.defineComponent)({__name:`dialog`,props:{id:{},pageActive:{},width:{default:`600px`},height:{default:`auto`},modal:{type:Boolean,default:!0},position:{},historyType:{default:`push`},classes:{}},emits:[`open`,`close`],setup(e){let t=g(e.id);if(!t)throw Error(`TopDialog cannot be used in a template, use useTopDialog() / useAsyncTopDialog()`);return(0,s.provide)(`dialogWorker`,t),(0,s.onMounted)(()=>{let e=(0,s.getCurrentInstance)(),n=e.parent;if(n?.parent?.type.name!==`DialogWrapper`)throw Error(`TopDialog cannot be used in a template, use useTopDialog()`);if(Array.isArray(n.subTree.children)&&n.subTree.children.length!==1)throw Error(`TopDialog can has only one root element`);t.onMounted(n,e)}),(0,s.watch)(t.isOpened,()=>{t.isReady.value=!0},{flush:`post`,once:!0}),(n,r)=>((0,s.openBlock)(),(0,s.createElementBlock)(`div`,{id:(0,s.unref)(t).idAttr,class:(0,s.normalizeClass)([`top-dialog`,e.classes]),style:(0,s.normalizeStyle)({"--top-dialog-width":e.width,"--top-dialog-height":e.height}),tabindex:`-1`,"data-view-page-active":(0,s.unref)(t).pageActive.value,"data-modal":e.modal,"data-position":e.position},[r[0]||=(0,s.createElementVNode)(`div`,{class:`modal-layer modal-layer-header`},null,-1),(0,s.createElementVNode)(`div`,{class:`modal-layer modal-layer-body`,style:(0,s.normalizeStyle)({"min-height":e.height+`px`})},null,4),(0,s.renderSlot)(n.$slots,`default`)],14,l))}}),d,f=class t{static init(e){if(this.inited)return;this.inited=!0,this.state.load=e?.load,this.state.decoratorOnCreate=e?.decoratorOnCreate;let n=e?.autoInitDelay??5e3;window.addEventListener(`hashchange`,e=>{this.opendDialogsFromChangeUrl(e.oldURL,e.newURL)}),this.opendDialogsFromChangeUrl(``,location.href),document.addEventListener(`mousedown`,async e=>{if(!(e.target instanceof HTMLElement))return;let n=e.target.closest(`a[data-to-view]`);if(!n)return;let r=`next`;n.dataset.action===`top-dialog-close`&&(r=`prev`),n.href=t.genViewPageHash(n.dataset.toView,r)}),document.addEventListener(`click`,async e=>{if(!(e.target instanceof HTMLElement))return;let n=e.target.closest(`[data-to-view]`);if(!n)return;if(n instanceof HTMLAnchorElement&&n.href===`.`){e.preventDefault();let t=new MouseEvent(`mousedown`,{bubbles:!0,cancelable:!0,view:window});n.dispatchEvent(t),setTimeout(()=>n.click());return}let r=await this.getDialogsUtils(),a=n.dataset.toView,s=a.split(`-`)[0],c=r.getElDialogById(s),l=`next`;if(c){let e=(0,i.querySelectorAllArray)(c,`.modal-layer`),t=e.reduce((e,t)=>{let n=t.querySelector(`:scope > .active`);return n&&e.push(n),e},[]);if(t.length){let n=a.split(`-`)[1].split(`:`)[0];(e.reduce((e,t)=>{let r=t?.querySelector(`:scope > [data-view-page="${n}"]`);return r&&e.push(r),e},[])[0]?.dataset.order??0)<(t[0]?.dataset.order??0)&&(l=`prev`)}}n.dataset.action===`top-dialog-close`&&(l=`prev`);let u=t.genViewPageHash(a,l);if(n instanceof HTMLAnchorElement){if(!c||!(0,i.isVisible)(c))return;if(location.hash.indexOf(a.replace(`-`,`=`))!==-1){await r.toViewDirty(a);return}}c?.dataset.toViewReplace?(e.preventDefault(),(0,o.historySetState)(!0,u),await r.toViewDirty(a),l==`next`?t.state.viewPageN++:t.state.viewPageN--):n.tagName!==`A`&&(this.compareStates(u,location.hash)?(0,o.historySetState)(!1,u):await r.toViewDirty(a))}),setTimeout(()=>this.getDialogsUtils(),n)}static opendDialogsFromChangeUrl(e,t){let n=e.replace(/.*?#/,`#`),r=t.replace(/.*?#/,`#`);this.compareStates(n,r)&&this.opendDialogsFromUrl()}static async getDialogsUtils(){let{TopDialogUtils:t}=await new Promise((t,n)=>{e([`./utils-ZgQqVN0T.amd`],t,n)}).then(__importStar);return t}static getDialog(e){return e.closest(`.ui-dialog-content`)}static get$dialog(e){return e.closest(`.ui-dialog-content`)}static getPage(e){return e.closest(`[data-view-page]`)}static get$page(e){return e.closest(`[data-view-page]`)}static get$pairPage(e){let n=t.get$dialog(e),r=t.get$page(e).data(`view-page`);return $(`[data-view-page="`+r+`"]`,n)}static getPairPage(e){let n=t.getDialog(e);if(!n)return;let r=t.getPage(e)?.dataset.viewPage;return(0,i.querySelectorAllArray)(n,`[data-view-page="${r}"]`)}static close(e){let t=$(`#`+e);if(t.dialog(`instance`)){t.dialog(`close`);return}let n=document.getElementById(e);n instanceof HTMLDialogElement&&n.close()}static destroy(e){let t=$(`#`+e);if(t.dialog(`instance`)){t.dialog(`close`),t.dialog(`destroy`);return}let n=document.getElementById(e);n instanceof HTMLDialogElement&&n.close()}static genViewPageHash(e,t=`next`){let n=this.state.viewPageN;t==`prev`?n--:n++;let r=e.split(`-`),i=r.shift(),a=r.join(`-`),s=(0,o.genHash)(`vpn`,n);return s=(0,o.genHash)(`view-`+i,a,s),s}static compareStates(e,t){let n=e.match(/[#&]view-[^&]+/g)||[],r=t.match(/[#&]view-[^&]+/g)||[];return!!(n.length!==r.length||n.filter((e,t)=>e!==(r[t]||``)).length)}};t.s=u,t.o=f,d=f,(0,r.K)(f,`state`,{load:void 0,decoratorOnCreate:void 0,viewPageN:0}),(0,r.K)(f,`inited`,!1),(0,r.K)(f,`opendDialogsFromUrl`,async()=>{let e=Number((0,o.getHash)(`vpn`))||0,t=RegExp(`view-((\\w+)=([\\w-]+)(?::([\\w.:-]+))?)`,`g`).exec(location.hash);if(t){let n=`next`;return e<d.state.viewPageN&&(n=`prev`),(await d.getDialogsUtils()).toViewDirty(t[1],n)}return(0,i.querySelectorAllArray)(document,`.ui-dialog-content[data-view-page-active]`).filter(e=>(0,i.isVisible)(e)).forEach(e=>{let t=e.getAttribute(`id`);if(!t)throw`Диалоговое окно не содержит id`;(0,o.getHash)(`view-`+t)||$(e).dialog(`close`)}),d.state.viewPageN=e,!0});var p=class{constructor(e){(0,r.K)(this,`id`,void 0),(0,r.K)(this,`idAttr`,void 0),(0,r.K)(this,`Component`,void 0),(0,r.K)(this,`isMounted`,(0,s.ref)(!1)),(0,r.K)(this,`isReady`,(0,s.ref)(!1)),(0,r.K)(this,`isOpened`,(0,s.ref)(!1)),(0,r.K)(this,`pageActive`,(0,s.ref)(``)),(0,r.K)(this,`isLoadingPage`,(0,s.ref)(!1)),(0,r.K)(this,`pageActiveNext`,(0,s.ref)(``)),(0,r.K)(this,`props`,void 0),(0,r.K)(this,`emit`,void 0),(0,r.K)(this,`onCloseOnce`,void 0),this.id=e.id,this.idAttr=`dialog_`+e.id,this.Component=(0,s.markRaw)(e)}onMounted(e,t){this.isMounted.value=!0,this.props=e.props,this.emit=t.emit}async open(e=`main`,t,n=[],r,i){t&&await this.setProps(t),r&&(this.onCloseOnce=r),await(await f.getDialogsUtils()).toView(this.idAttr,e,n,i)}async openAsLink(e=`main`,t,n=[],r,i){t&&await this.setProps(t),r&&(this.onCloseOnce=r);let a=this.idAttr+`-`+e;(0,o.historySetState)(!1,f.genViewPageHash(a,i))}async close(){f.close(this.idAttr)}async destroy(){f.destroy(this.idAttr)}async setProps(e={}){this.isMounted||await(0,a.waitWhile)(()=>!this.props);for(let t in this.props)this.props[t]=e[t]}needShowPage(e){return this.isOpened.value?this.pageActive.value===e||this.pageActiveNext.value===e:!1}},m={class:`top-dialogs`,style:{display:`none`}},h=(0,s.shallowReactive)(new Map),g=e=>(e=e.replace(/^dialog_/,``),h.get(e)),_=e=>{if(!e?.id)throw console.log({TopDialogComponent:e}),Error(`Expected TopDialogComponent`);return h.has(e.id)||h.set(e.id,new p(e)),h.get(e.id)},v=(0,s.defineComponent)({name:`DialogWrapper`,__name:`dialogs`,setup(e){return(0,s.onUnmounted)(()=>{h.forEach(e=>e.destroy()),h.clear()}),(e,t)=>((0,s.openBlock)(),(0,s.createElementBlock)(`div`,m,[((0,s.openBlock)(!0),(0,s.createElementBlock)(s.Fragment,null,(0,s.renderList)((0,s.unref)(h),([e,t])=>((0,s.openBlock)(),(0,s.createBlock)((0,s.resolveDynamicComponent)(t.Component),{key:e}))),128))]))}}),y=class{constructor(e){(0,r.K)(this,`resolve`,void 0),(0,r.K)(this,`worker`,(0,s.ref)(null)),this.resolve=e}async get(){if(this.worker.value)return this.worker.value;let e=(await this.resolve()).default;this.worker.value=x(e);let t=this.worker.value;return await(0,a.waitWhile)(()=>!t.isMounted),t}async open(...e){await(await this.get()).open(...e)}async openAsLink(...e){(await this.get()).openAsLink(...e)}async close(...e){(await this.get()).close(...e)}async destroy(...e){(await this.get()).destroy(...e)}async setProps(...e){await(await this.get()).setProps(...e)}},b=()=>{let e=(0,s.getCurrentInstance)();if(e?.type?.id){let t=g(e.type.id);if(t)return t}return(0,s.inject)(`dialogWorker`)},x=e=>_(e);t.a=g,t.i=v,t.r=b,t.n=x,t.t=e=>new y(e)});
2
- //# sourceMappingURL=utils-CZnFOkS6.amd.js.map
1
+ var __createBinding=this&&this.__createBinding||(Object.create?(function(e,t,n,r){r===void 0&&(r=n);var i=Object.getOwnPropertyDescriptor(t,n);(!i||(`get`in i?!t.__esModule:i.writable||i.configurable))&&(i={enumerable:!0,get:function(){return t[n]}}),Object.defineProperty(e,r,i)}):(function(e,t,n,r){r===void 0&&(r=n),e[r]=t[n]})),__setModuleDefault=this&&this.__setModuleDefault||(Object.create?(function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}):function(e,t){e.default=t}),__importStar=this&&this.__importStar||(function(){var n=function(e){return n=Object.getOwnPropertyNames||function(e){var t=[];for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[t.length]=n);return t},n(e)};return function(r){if(r&&r.__esModule)return r;var i={};if(r!=null)for(var a=n(r),o=0;o<a.length;o++)a[o]!=="default"&&__createBinding(i,r,a[o]);return __setModuleDefault(i,r),i}})();define([`require`,`exports`,`./forms-_4U0sLFk.amd`,`../utils/dom.amd`,`../utils/system.amd`,`../utils/route.amd`,`vue`],function(e,t,r,i,a,o,s){"use strict";if(c===void 0)var c=window.Vue;Object.defineProperty(t,"__esModule",{value:!0}),t.t=t.s=t.r=t.o=t.n=t.i=t.a=void 0;var l=[`id`,`data-view-page-active`,`data-modal`,`data-position`],u=(0,s.defineComponent)({__name:`dialog`,props:{id:{},pageActive:{},width:{default:`600px`},height:{default:`auto`},modal:{type:Boolean,default:!0},position:{},historyType:{default:`push`},classes:{}},emits:[`open`,`close`],setup(e){let t=g(e.id);if(!t)throw Error(`TopDialog cannot be used in a template, use useTopDialog() / useAsyncTopDialog()`);return(0,s.provide)(`dialogWorker`,t),(0,s.onMounted)(()=>{let e=(0,s.getCurrentInstance)(),n=e.parent;if(n?.parent?.type.name!==`DialogWrapper`)throw Error(`TopDialog cannot be used in a template, use useTopDialog()`);if(Array.isArray(n.subTree.children)&&n.subTree.children.length!==1)throw Error(`TopDialog can has only one root element`);t.onMounted(n,e)}),(0,s.watch)(t.isOpened,()=>{t.isReady.value=!0},{flush:`post`,once:!0}),(n,r)=>((0,s.openBlock)(),(0,s.createElementBlock)(`div`,{id:(0,s.unref)(t).idAttr,class:(0,s.normalizeClass)([`top-dialog`,e.classes]),style:(0,s.normalizeStyle)({"--top-dialog-width":e.width,"--top-dialog-height":e.height}),tabindex:`-1`,"data-view-page-active":(0,s.unref)(t).pageActive.value,"data-modal":e.modal,"data-position":e.position},[r[0]||=(0,s.createElementVNode)(`div`,{class:`modal-layer modal-layer-header`},null,-1),(0,s.createElementVNode)(`div`,{class:`modal-layer modal-layer-body`,style:(0,s.normalizeStyle)({"min-height":e.height+`px`})},null,4),(0,s.renderSlot)(n.$slots,`default`)],14,l))}}),d,f=class t{static init(e){if(this.inited)return;this.inited=!0,this.state.load=e?.load,this.state.decoratorOnCreate=e?.decoratorOnCreate;let n=e?.autoInitDelay??5e3;window.addEventListener(`hashchange`,e=>{this.opendDialogsFromChangeUrl(e.oldURL,e.newURL)}),this.opendDialogsFromChangeUrl(``,location.href),document.addEventListener(`mousedown`,async e=>{if(!(e.target instanceof HTMLElement))return;let n=e.target.closest(`a[data-to-view]`);if(!n)return;let r=`next`;n.dataset.action===`top-dialog-close`&&(r=`prev`),n.href=t.genViewPageHash(n.dataset.toView,r)}),document.addEventListener(`click`,async e=>{if(!(e.target instanceof HTMLElement))return;let n=e.target.closest(`[data-to-view]`);if(!n)return;if(n instanceof HTMLAnchorElement&&n.href===`.`){e.preventDefault();let t=new MouseEvent(`mousedown`,{bubbles:!0,cancelable:!0,view:window});n.dispatchEvent(t),setTimeout(()=>n.click());return}let r=await this.getDialogsUtils(),a=n.dataset.toView,s=a.split(`-`)[0],c=r.getElDialogById(s),l=`next`;if(c){let e=(0,i.querySelectorAllArray)(c,`.modal-layer`),t=e.reduce((e,t)=>{let n=t.querySelector(`:scope > .active`);return n&&e.push(n),e},[]);if(t.length){let n=a.split(`-`)[1].split(`:`)[0];(e.reduce((e,t)=>{let r=t?.querySelector(`:scope > [data-view-page="${n}"]`);return r&&e.push(r),e},[])[0]?.dataset.order??0)<(t[0]?.dataset.order??0)&&(l=`prev`)}}n.dataset.action===`top-dialog-close`&&(l=`prev`);let u=t.genViewPageHash(a,l);if(n instanceof HTMLAnchorElement){if(!c||!(0,i.isVisible)(c))return;if(location.hash.indexOf(a.replace(`-`,`=`))!==-1){await r.toViewDirty(a);return}}c?.dataset.toViewReplace?(e.preventDefault(),(0,o.historySetState)(!0,u),await r.toViewDirty(a),l==`next`?t.state.viewPageN++:t.state.viewPageN--):n.tagName!==`A`&&(this.compareStates(u,location.hash)?(0,o.historySetState)(!1,u):await r.toViewDirty(a))}),setTimeout(()=>this.getDialogsUtils(),n)}static opendDialogsFromChangeUrl(e,t){let n=e.replace(/.*?#/,`#`),r=t.replace(/.*?#/,`#`);this.compareStates(n,r)&&this.opendDialogsFromUrl()}static async getDialogsUtils(){let{TopDialogUtils:t}=await new Promise((t,n)=>{e([`./utils-Cou0pGI4.amd`],t,n)}).then(__importStar);return t}static getDialog(e){return e.closest(`.ui-dialog-content`)}static get$dialog(e){return e.closest(`.ui-dialog-content`)}static getPage(e){return e.closest(`[data-view-page]`)}static get$page(e){return e.closest(`[data-view-page]`)}static get$pairPage(e){let n=t.get$dialog(e),r=t.get$page(e).data(`view-page`);return $(`[data-view-page="`+r+`"]`,n)}static getPairPage(e){let n=t.getDialog(e);if(!n)return;let r=t.getPage(e)?.dataset.viewPage;return(0,i.querySelectorAllArray)(n,`[data-view-page="${r}"]`)}static close(e){let t=$(`#`+e);if(t.dialog(`instance`)){t.dialog(`close`);return}let n=document.getElementById(e);n instanceof HTMLDialogElement&&n.close()}static destroy(e){let t=$(`#`+e);if(t.dialog(`instance`)){t.dialog(`close`),t.dialog(`destroy`);return}let n=document.getElementById(e);n instanceof HTMLDialogElement&&n.close()}static genViewPageHash(e,t=`next`){let n=this.state.viewPageN;t==`prev`?n--:n++;let r=e.split(`-`),i=r.shift(),a=r.join(`-`),s=(0,o.genHash)(`vpn`,n);return s=(0,o.genHash)(`view-`+i,a,s),s}static compareStates(e,t){let n=e.match(/[#&]view-[^&]+/g)||[],r=t.match(/[#&]view-[^&]+/g)||[];return!!(n.length!==r.length||n.filter((e,t)=>e!==(r[t]||``)).length)}};t.s=u,t.o=f,d=f,(0,r.K)(f,`state`,{load:void 0,decoratorOnCreate:void 0,viewPageN:0}),(0,r.K)(f,`inited`,!1),(0,r.K)(f,`opendDialogsFromUrl`,async()=>{let e=Number((0,o.getHash)(`vpn`))||0,t=RegExp(`view-((\\w+)=([\\w-]+)(?::([\\w.:-]+))?)`,`g`).exec(location.hash);if(t){let n=`next`;return e<d.state.viewPageN&&(n=`prev`),(await d.getDialogsUtils()).toViewDirty(t[1],n)}return(0,i.querySelectorAllArray)(document,`.ui-dialog-content[data-view-page-active]`).filter(e=>(0,i.isVisible)(e)).forEach(e=>{let t=e.getAttribute(`id`);if(!t)throw`Диалоговое окно не содержит id`;(0,o.getHash)(`view-`+t)||$(e).dialog(`close`)}),d.state.viewPageN=e,!0});var p=class{constructor(e){(0,r.K)(this,`id`,void 0),(0,r.K)(this,`idAttr`,void 0),(0,r.K)(this,`Component`,void 0),(0,r.K)(this,`isMounted`,(0,s.ref)(!1)),(0,r.K)(this,`isReady`,(0,s.ref)(!1)),(0,r.K)(this,`isOpened`,(0,s.ref)(!1)),(0,r.K)(this,`pageActive`,(0,s.ref)(``)),(0,r.K)(this,`isLoadingPage`,(0,s.ref)(!1)),(0,r.K)(this,`pageActiveNext`,(0,s.ref)(``)),(0,r.K)(this,`props`,void 0),(0,r.K)(this,`emit`,void 0),(0,r.K)(this,`onCloseOnce`,void 0),this.id=e.id,this.idAttr=`dialog_`+e.id,this.Component=(0,s.markRaw)(e)}onMounted(e,t){this.isMounted.value=!0,this.props=e.props,this.emit=t.emit}async open(e=`main`,t,n=[],r,i){t&&await this.setProps(t),r&&(this.onCloseOnce=r),await(await f.getDialogsUtils()).toView(this.idAttr,e,n,i)}async openAsLink(e=`main`,t,n=[],r,i){t&&await this.setProps(t),r&&(this.onCloseOnce=r);let a=this.idAttr+`-`+e;(0,o.historySetState)(!1,f.genViewPageHash(a,i))}async close(){f.close(this.idAttr)}async destroy(){f.destroy(this.idAttr)}async setProps(e={}){this.isMounted||await(0,a.waitWhile)(()=>!this.props);for(let t in this.props)this.props[t]=e[t]}needShowPage(e){return this.isOpened.value?this.pageActive.value===e||this.pageActiveNext.value===e:!1}},m={class:`top-dialogs`,style:{display:`none`}},h=(0,s.shallowReactive)(new Map),g=e=>(e=e.replace(/^dialog_/,``),h.get(e)),_=e=>{if(!e?.id)throw console.log({TopDialogComponent:e}),Error(`Expected TopDialogComponent`);return h.has(e.id)||h.set(e.id,new p(e)),h.get(e.id)},v=(0,s.defineComponent)({name:`DialogWrapper`,__name:`dialogs`,setup(e){return(0,s.onUnmounted)(()=>{h.forEach(e=>e.destroy()),h.clear()}),(e,t)=>((0,s.openBlock)(),(0,s.createElementBlock)(`div`,m,[((0,s.openBlock)(!0),(0,s.createElementBlock)(s.Fragment,null,(0,s.renderList)((0,s.unref)(h),([e,t])=>((0,s.openBlock)(),(0,s.createBlock)((0,s.resolveDynamicComponent)(t.Component),{key:e}))),128))]))}}),y=class{constructor(e){(0,r.K)(this,`resolve`,void 0),(0,r.K)(this,`worker`,(0,s.ref)(null)),this.resolve=e}async get(){if(this.worker.value)return this.worker.value;let e=(await this.resolve()).default;this.worker.value=x(e);let t=this.worker.value;return await(0,a.waitWhile)(()=>!t.isMounted),t}async open(...e){await(await this.get()).open(...e)}async openAsLink(...e){(await this.get()).openAsLink(...e)}async close(...e){(await this.get()).close(...e)}async destroy(...e){(await this.get()).destroy(...e)}async setProps(...e){await(await this.get()).setProps(...e)}},b=()=>{let e=(0,s.getCurrentInstance)();if(e?.type?.id){let t=g(e.type.id);if(t)return t}return(0,s.inject)(`dialogWorker`)},x=e=>_(e);t.a=g,t.i=v,t.r=b,t.n=x,t.t=e=>new y(e)});
2
+ //# sourceMappingURL=utils-BtqYaMHp.amd.js.map