@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.
- package/.chunks/{api-BlIxMRlW.amd.js → api-BD74aA98.amd.js} +2 -2
- package/.chunks/{api-BlIxMRlW.amd.js.map → api-BD74aA98.amd.js.map} +1 -1
- package/.chunks/{api-BlIxMRlW.esm.js → api-BD74aA98.esm.js} +2 -2
- package/.chunks/{api-BlIxMRlW.esm.js.map → api-BD74aA98.esm.js.map} +1 -1
- package/.chunks/{app-CyODeY0D.amd.js → app-DGsWGbDX.amd.js} +2 -2
- package/.chunks/{app-CyODeY0D.amd.js.map → app-DGsWGbDX.amd.js.map} +1 -1
- package/.chunks/{app-CyODeY0D.esm.js → app-DGsWGbDX.esm.js} +5 -5
- package/.chunks/{app-CyODeY0D.esm.js.map → app-DGsWGbDX.esm.js.map} +1 -1
- package/.chunks/{datepicker-CBAwfPPW.amd.js → datepicker-C7FNogyy.amd.js} +2 -2
- package/.chunks/{datepicker-CBAwfPPW.amd.js.map → datepicker-C7FNogyy.amd.js.map} +1 -1
- package/.chunks/{datepicker-CBAwfPPW.esm.js → datepicker-C7FNogyy.esm.js} +2 -2
- package/.chunks/{datepicker-CBAwfPPW.esm.js.map → datepicker-C7FNogyy.esm.js.map} +1 -1
- package/.chunks/dialog-DKGzAD_z.amd.js +2 -0
- package/.chunks/dialog-DKGzAD_z.amd.js.map +1 -0
- package/.chunks/{dialog-C8fss11q.esm.js → dialog-DKGzAD_z.esm.js} +18 -18
- package/.chunks/dialog-DKGzAD_z.esm.js.map +1 -0
- package/.chunks/{dialog_regionSelectorRegions-zJShjr2f.amd.js → dialog_regionSelectorRegions-BIjtdwxa.amd.js} +2 -2
- package/.chunks/{dialog_regionSelectorRegions-zJShjr2f.amd.js.map → dialog_regionSelectorRegions-BIjtdwxa.amd.js.map} +1 -1
- package/.chunks/{dialog_regionSelectorRegions-zJShjr2f.esm.js → dialog_regionSelectorRegions-BIjtdwxa.esm.js} +4 -4
- package/.chunks/dialog_regionSelectorRegions-BIjtdwxa.esm.js.map +1 -0
- package/.chunks/{forms-LywqKN9I.amd.js → forms-_4U0sLFk.amd.js} +2 -2
- package/.chunks/forms-_4U0sLFk.amd.js.map +1 -0
- package/.chunks/{forms-LywqKN9I.esm.js → forms-_4U0sLFk.esm.js} +116 -116
- package/.chunks/forms-_4U0sLFk.esm.js.map +1 -0
- package/.chunks/formsExt-BZZEpY-a.amd.js +2 -0
- package/.chunks/formsExt-BZZEpY-a.amd.js.map +1 -0
- package/.chunks/{formsExt-Iw04hpHr.esm.js → formsExt-BZZEpY-a.esm.js} +183 -183
- package/.chunks/formsExt-BZZEpY-a.esm.js.map +1 -0
- package/.chunks/{notice-Dw5ZUJxW.amd.js → notice-FzLgMsrr.amd.js} +2 -2
- package/.chunks/{notice-Dw5ZUJxW.amd.js.map → notice-FzLgMsrr.amd.js.map} +1 -1
- package/.chunks/{notice-Dw5ZUJxW.esm.js → notice-FzLgMsrr.esm.js} +2 -2
- package/.chunks/notice-FzLgMsrr.esm.js.map +1 -0
- package/.chunks/{popup-BqacuTuJ.amd.js → popup-CS0IahOr.amd.js} +2 -2
- package/.chunks/{popup-BqacuTuJ.amd.js.map → popup-CS0IahOr.amd.js.map} +1 -1
- package/.chunks/{popup-BqacuTuJ.esm.js → popup-CS0IahOr.esm.js} +3 -3
- package/.chunks/{popup-BqacuTuJ.esm.js.map → popup-CS0IahOr.esm.js.map} +1 -1
- package/.chunks/popup-DViuKwOc.amd.js +2 -0
- package/.chunks/popup-DViuKwOc.amd.js.map +1 -0
- package/.chunks/{popup-ClpsGU2P.esm.js → popup-DViuKwOc.esm.js} +104 -104
- package/.chunks/popup-DViuKwOc.esm.js.map +1 -0
- package/.chunks/{utils-CZnFOkS6.amd.js → utils-BtqYaMHp.amd.js} +2 -2
- package/.chunks/{utils-CZnFOkS6.amd.js.map → utils-BtqYaMHp.amd.js.map} +1 -1
- package/.chunks/{utils-CZnFOkS6.esm.js → utils-BtqYaMHp.esm.js} +3 -3
- package/.chunks/{utils-CZnFOkS6.esm.js.map → utils-BtqYaMHp.esm.js.map} +1 -1
- package/.chunks/{utils-ZgQqVN0T.amd.js → utils-Cou0pGI4.amd.js} +2 -2
- package/.chunks/utils-Cou0pGI4.amd.js.map +1 -0
- package/.chunks/{utils-ZgQqVN0T.esm.js → utils-Cou0pGI4.esm.js} +8 -6
- package/.chunks/{utils-ZgQqVN0T.esm.js.map → utils-Cou0pGI4.esm.js.map} +1 -1
- package/.chunks/{worker-a6MSM1uV.amd.js → worker-D28QqQ45.amd.js} +2 -2
- package/.chunks/{worker-a6MSM1uV.amd.js.map → worker-D28QqQ45.amd.js.map} +1 -1
- package/.chunks/{worker-a6MSM1uV.esm.js → worker-D28QqQ45.esm.js} +3 -3
- package/.chunks/{worker-a6MSM1uV.esm.js.map → worker-D28QqQ45.esm.js.map} +1 -1
- package/api/index.amd.js +1 -1
- package/api/index.amd.js.map +1 -1
- package/api/index.js +1 -1
- package/autoload-css-manifest.amd.json +4 -4
- package/autoload-css-manifest.json +4 -4
- package/charts/charts.amd.js +1 -1
- package/charts/charts.amd.js.map +1 -1
- package/charts/charts.js +1 -1
- package/core/app.amd.js +1 -1
- package/core/app.amd.js.map +1 -1
- package/core/app.js +3 -3
- package/dialog/dialog.amd.js +1 -1
- package/dialog/dialog.amd.js.map +1 -1
- package/dialog/dialog.js +2 -2
- package/forms/forms.amd.js +1 -1
- package/forms/forms.amd.js.map +1 -1
- package/forms/forms.js +1 -1
- package/formsExt/formsExt.amd.js +1 -1
- package/formsExt/formsExt.amd.js.map +1 -1
- package/formsExt/formsExt.js +1 -1
- package/layout/layout.amd.js +1 -1
- package/layout/layout.amd.js.map +1 -1
- package/layout/layout.js +3 -3
- package/layout/layout.js.map +1 -1
- package/package.json +8 -2
- package/popup/popup.amd.js +1 -1
- package/popup/popup.amd.js.map +1 -1
- package/popup/popup.js +1 -1
- package/popup/worker.amd.js +1 -1
- package/popup/worker.amd.js.map +1 -1
- package/popup/worker.js +1 -1
- package/project/project.amd.js +1 -1
- package/project/project.amd.js.map +1 -1
- package/project/project.js +32 -32
- package/project/project.js.map +1 -1
- package/schedule/schedule.amd.js +1 -1
- package/schedule/schedule.amd.js.map +1 -1
- package/schedule/schedule.js +90 -90
- package/schedule/schedule.js.map +1 -1
- package/tabs/tabs.amd.js +1 -1
- package/tabs/tabs.amd.js.map +1 -1
- package/tabs/tabs.js +3 -3
- package/tabs/tabs.js.map +1 -1
- package/tabsView/tabsView.amd.js +1 -1
- package/tabsView/tabsView.amd.js.map +1 -1
- package/tabsView/tabsView.js +11 -11
- package/tabsView/tabsView.js.map +1 -1
- package/utils/clipboard.amd.js +1 -1
- package/utils/clipboard.amd.js.map +1 -1
- package/utils/clipboard.js +1 -1
- package/utils/date.amd.js +1 -1
- package/utils/date.amd.js.map +1 -1
- package/utils/date.js +1 -1
- package/utils/device.amd.js +1 -1
- package/utils/device.amd.js.map +1 -1
- package/utils/device.js +1 -1
- package/utils/lodash.amd.js +1 -1
- package/utils/lodash.amd.js.map +1 -1
- package/utils/lodash.js +1 -1
- package/utils/price.amd.js +1 -1
- package/utils/price.amd.js.map +1 -1
- package/utils/price.js +1 -1
- package/utils/string.amd.js +1 -1
- package/utils/string.amd.js.map +1 -1
- package/utils/string.js +1 -1
- package/.chunks/dialog-C8fss11q.amd.js +0 -2
- package/.chunks/dialog-C8fss11q.amd.js.map +0 -1
- package/.chunks/dialog-C8fss11q.esm.js.map +0 -1
- package/.chunks/dialog_regionSelectorRegions-zJShjr2f.esm.js.map +0 -1
- package/.chunks/forms-LywqKN9I.amd.js.map +0 -1
- package/.chunks/forms-LywqKN9I.esm.js.map +0 -1
- package/.chunks/formsExt-Iw04hpHr.amd.js +0 -2
- package/.chunks/formsExt-Iw04hpHr.amd.js.map +0 -1
- package/.chunks/formsExt-Iw04hpHr.esm.js.map +0 -1
- package/.chunks/notice-Dw5ZUJxW.esm.js.map +0 -1
- package/.chunks/popup-ClpsGU2P.amd.js +0 -2
- package/.chunks/popup-ClpsGU2P.amd.js.map +0 -1
- package/.chunks/popup-ClpsGU2P.esm.js.map +0 -1
- 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-
|
|
9
|
-
import { t as r } from "./worker-
|
|
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
|
|
93
|
-
id:
|
|
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(
|
|
97
|
-
let
|
|
96
|
+
n(g);
|
|
97
|
+
let v = b(null), C = b(null), D = b(), R = {
|
|
98
98
|
onOpen: async (e) => {
|
|
99
|
-
e.elPopup && (
|
|
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:
|
|
102
|
+
data: D.value
|
|
103
103
|
});
|
|
104
104
|
},
|
|
105
105
|
onClose: (e) => {
|
|
106
|
-
|
|
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(
|
|
112
|
+
classRef: T(p, "class"),
|
|
113
113
|
opened: !1,
|
|
114
114
|
popup: void 0,
|
|
115
|
-
transitionDurationRef: T(
|
|
115
|
+
transitionDurationRef: T(p, "transitionDuration")
|
|
116
116
|
};
|
|
117
|
-
return O(() =>
|
|
118
|
-
if (!
|
|
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
|
-
|
|
121
|
-
}), r.regVueComponent(
|
|
122
|
-
r.unregVueComponent(
|
|
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, [
|
|
125
|
+
return y(), c(i, null, [u.opener ? (y(), o(j, {
|
|
126
126
|
key: 0,
|
|
127
|
-
id: E(
|
|
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),
|
|
145
|
+
])) : s("", !0), C.value ? (y(), o(a, {
|
|
146
146
|
key: 1,
|
|
147
|
-
to:
|
|
147
|
+
to: C.value
|
|
148
148
|
}, [
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
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) =>
|
|
156
|
-
}, [x(n.$slots, "contentList", { data:
|
|
157
|
-
|
|
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:
|
|
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
|
|
180
|
-
return (
|
|
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-" +
|
|
183
|
-
"top-popup_liastItem-withActions": n
|
|
182
|
+
["top-popup_listItem-" + r.type]: !!r.type,
|
|
183
|
+
"top-popup_liastItem-withActions": n.actions,
|
|
184
184
|
"top-popup-noCloser": !e.closeByClick,
|
|
185
|
-
[
|
|
186
|
-
a:
|
|
185
|
+
[r.class ?? ""]: !!r.class,
|
|
186
|
+
a: r.type === "button"
|
|
187
187
|
} }, {
|
|
188
|
-
...
|
|
188
|
+
...t,
|
|
189
189
|
...e.attrs
|
|
190
190
|
}), {
|
|
191
|
-
default: k(() => [n
|
|
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(
|
|
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,
|
|
221
|
+
let n = t, r = D(t, "modelValue");
|
|
222
|
+
return (t, i) => (y(), o(e, h(n, {
|
|
223
223
|
modificator: "popupWidgetInput",
|
|
224
|
-
modelValue:
|
|
225
|
-
"onUpdate:modelValue":
|
|
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:
|
|
251
|
-
return (e,
|
|
252
|
-
onOpen:
|
|
253
|
-
onClose:
|
|
254
|
-
onScrollContentList:
|
|
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(
|
|
258
|
+
default: k(() => [d(w(E(i) || e.$i18n.Common.Close), 1)]),
|
|
259
259
|
_: 1
|
|
260
260
|
})]),
|
|
261
261
|
_: 2
|
|
262
|
-
}, [
|
|
262
|
+
}, [r.header ? {
|
|
263
263
|
name: "header",
|
|
264
264
|
fn: k(() => [x(e.$slots, "header")]),
|
|
265
265
|
key: "0"
|
|
266
|
-
} : void 0,
|
|
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
|
|
298
|
-
|
|
299
|
-
},
|
|
300
|
-
if (
|
|
301
|
-
|
|
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
|
-
|
|
305
|
-
}, { submitText:
|
|
306
|
-
return (e, t) => (y(), o(R, h({ class: "top-popupConfirm" },
|
|
307
|
-
onOpen: t[0] ||= (
|
|
308
|
-
onClose: t[1] ||= (e) =>
|
|
309
|
-
onScrollContentList: t[2] ||= (...
|
|
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(
|
|
315
|
+
default: k(() => [d(w(E(g) || e.$i18n.Common.Cancel), 1)]),
|
|
316
316
|
_: 1
|
|
317
317
|
}),
|
|
318
318
|
f(n, {
|
|
319
|
-
onClick:
|
|
320
|
-
color: E(
|
|
319
|
+
onClick: l,
|
|
320
|
+
color: E(_) ? "red" : "blue"
|
|
321
321
|
}, {
|
|
322
|
-
default: k(() => [d(w(E(
|
|
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
|
-
}, [
|
|
327
|
+
}, [r.header ? {
|
|
328
328
|
name: "header",
|
|
329
329
|
fn: k(() => [x(e.$slots, "header")]),
|
|
330
330
|
key: "0"
|
|
331
|
-
} : void 0,
|
|
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
|
|
364
|
-
O(() =>
|
|
365
|
-
let
|
|
366
|
-
|
|
367
|
-
},
|
|
368
|
-
if (
|
|
369
|
-
|
|
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
|
-
|
|
373
|
-
}, { submitText:
|
|
374
|
-
return (e, t) => (y(), o(R, h({ class: "top-popupPrompt" },
|
|
375
|
-
onOpen: t[1] ||= (
|
|
376
|
-
onClose: t[2] ||= (e) =>
|
|
377
|
-
onScrollContentList: t[3] ||= (...
|
|
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(
|
|
383
|
+
default: k(() => [d(w(E(v) || e.$i18n.Common.Cancel), 1)]),
|
|
384
384
|
_: 1
|
|
385
385
|
}),
|
|
386
|
-
f(n, { onClick:
|
|
387
|
-
default: k(() => [d(w(E(
|
|
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
|
-
}, [
|
|
392
|
+
}, [r.header ? {
|
|
393
393
|
name: "header",
|
|
394
394
|
fn: k(() => [x(e.$slots, "header")]),
|
|
395
395
|
key: "0"
|
|
396
|
-
} : void 0,
|
|
396
|
+
} : void 0, r.default ? {
|
|
397
397
|
name: "content",
|
|
398
398
|
fn: k(() => [x(e.$slots, "default"), f(H, h({
|
|
399
|
-
modelValue:
|
|
400
|
-
"onUpdate:modelValue": t[0] ||= (e) =>
|
|
399
|
+
modelValue: p.value,
|
|
400
|
+
"onUpdate:modelValue": t[0] ||= (e) => p.value = e,
|
|
401
401
|
modelModifiers: { trim: !0 }
|
|
402
|
-
}, E(
|
|
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:
|
|
424
|
-
return (e,
|
|
425
|
-
let
|
|
426
|
-
return y(), o(R, h({ class: "top-popupHint" },
|
|
427
|
-
onOpen:
|
|
428
|
-
onClose:
|
|
429
|
-
onScrollContentList:
|
|
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(
|
|
432
|
+
hint: E(i),
|
|
433
433
|
class: "top-popupHint_opener"
|
|
434
|
-
}, null, 8, ["hint"]), [[
|
|
434
|
+
}, null, 8, ["hint"]), [[c]])]),
|
|
435
435
|
_: 2
|
|
436
|
-
}, [
|
|
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-
|
|
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-
|
|
2
|
-
//# sourceMappingURL=utils-
|
|
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
|