@topvisor/ui 1.4.3-updateGroupSelector.2 → 1.4.3-updateRegionSelector.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/core-Dgj_YGWh.es.js +268 -0
- package/.chunks/core-Dgj_YGWh.es.js.map +1 -0
- package/.chunks/core-DzDFXOdI.amd.js +2 -0
- package/.chunks/core-DzDFXOdI.amd.js.map +1 -0
- package/.chunks/{datepicker-C5ErMHwe.amd.js → datepicker-oa8ZwRhq.amd.js} +2 -2
- package/.chunks/{datepicker-C5ErMHwe.amd.js.map → datepicker-oa8ZwRhq.amd.js.map} +1 -1
- package/.chunks/{datepicker-DMYB1RFK.es.js → datepicker-qToxk2nN.es.js} +2 -2
- package/.chunks/{datepicker-DMYB1RFK.es.js.map → datepicker-qToxk2nN.es.js.map} +1 -1
- package/.chunks/{dialog_regionSelectorRegions-CHC-Blbu.amd.js → dialog_regionSelectorRegions-CZ0tMVSq.amd.js} +2 -2
- package/.chunks/{dialog_regionSelectorRegions-CHC-Blbu.amd.js.map → dialog_regionSelectorRegions-CZ0tMVSq.amd.js.map} +1 -1
- package/.chunks/{dialog_regionSelectorRegions-BMWyYCfD.es.js → dialog_regionSelectorRegions-qDW2Ejsv.es.js} +5 -5
- package/.chunks/{dialog_regionSelectorRegions-BMWyYCfD.es.js.map → dialog_regionSelectorRegions-qDW2Ejsv.es.js.map} +1 -1
- package/.chunks/{dialogs.vue_vue_type_script_setup_true_lang-C3qaTBlO.amd.js → dialogs.vue_vue_type_script_setup_true_lang-BBix_8WK.amd.js} +2 -2
- package/.chunks/{dialogs.vue_vue_type_script_setup_true_lang-C3qaTBlO.amd.js.map → dialogs.vue_vue_type_script_setup_true_lang-BBix_8WK.amd.js.map} +1 -1
- package/.chunks/{dialogs.vue_vue_type_script_setup_true_lang-BZM_iKPW.es.js → dialogs.vue_vue_type_script_setup_true_lang-CJ97l1ST.es.js} +3 -3
- package/.chunks/{dialogs.vue_vue_type_script_setup_true_lang-BZM_iKPW.es.js.map → dialogs.vue_vue_type_script_setup_true_lang-CJ97l1ST.es.js.map} +1 -1
- package/.chunks/{forms-EhKRBbpk.amd.js → forms-DDNzqU6o.amd.js} +3 -3
- package/.chunks/{forms-EhKRBbpk.amd.js.map → forms-DDNzqU6o.amd.js.map} +1 -1
- package/.chunks/{forms-CUaoBGD5.es.js → forms-DtC-EKJL.es.js} +24 -24
- package/.chunks/{forms-CUaoBGD5.es.js.map → forms-DtC-EKJL.es.js.map} +1 -1
- package/.chunks/lazy-DDNqYkXn.amd.js +2 -0
- package/.chunks/lazy-DDNqYkXn.amd.js.map +1 -0
- package/.chunks/{lazy-40pjr8cZ.es.js → lazy-HKSyLh72.es.js} +23 -19
- package/.chunks/lazy-HKSyLh72.es.js.map +1 -0
- package/.chunks/{notice-Chj1PUTD.es.js → notice-BvQl911b.es.js} +3 -3
- package/.chunks/{notice-Chj1PUTD.es.js.map → notice-BvQl911b.es.js.map} +1 -1
- package/.chunks/{notice-DQb_Za5_.amd.js → notice-CJ3WOTCM.amd.js} +2 -2
- package/.chunks/{notice-DQb_Za5_.amd.js.map → notice-CJ3WOTCM.amd.js.map} +1 -1
- package/.chunks/{page.vue_vue_type_script_setup_true_lang-C-xQ-eC7.es.js → page.vue_vue_type_script_setup_true_lang-Dd5-B4Ss.es.js} +9 -9
- package/.chunks/{page.vue_vue_type_script_setup_true_lang-C-xQ-eC7.es.js.map → page.vue_vue_type_script_setup_true_lang-Dd5-B4Ss.es.js.map} +1 -1
- package/.chunks/{page.vue_vue_type_script_setup_true_lang-bUK5c5qn.amd.js → page.vue_vue_type_script_setup_true_lang-fl6-Ql4d.amd.js} +2 -2
- package/.chunks/{page.vue_vue_type_script_setup_true_lang-bUK5c5qn.amd.js.map → page.vue_vue_type_script_setup_true_lang-fl6-Ql4d.amd.js.map} +1 -1
- package/.chunks/policy.vue_vue_type_style_index_0_lang-Bv3LwNDC.es.js +519 -0
- package/.chunks/policy.vue_vue_type_style_index_0_lang-Bv3LwNDC.es.js.map +1 -0
- package/.chunks/policy.vue_vue_type_style_index_0_lang-Da7rztT5.amd.js +2 -0
- package/.chunks/policy.vue_vue_type_style_index_0_lang-Da7rztT5.amd.js.map +1 -0
- package/.chunks/{popup-COONSpqs.es.js → popup-OuDglAOF.es.js} +4 -4
- package/.chunks/popup-OuDglAOF.es.js.map +1 -0
- package/.chunks/{popup-CDaQNt-3.amd.js → popup-yXIpyok3.amd.js} +2 -2
- package/.chunks/popup-yXIpyok3.amd.js.map +1 -0
- package/.chunks/{popupHint.vue_vue_type_style_index_0_lang-24i49Ad3.amd.js → popupHint.vue_vue_type_style_index_0_lang-Bu_HvFoW.amd.js} +2 -2
- package/.chunks/{popupHint.vue_vue_type_style_index_0_lang-24i49Ad3.amd.js.map → popupHint.vue_vue_type_style_index_0_lang-Bu_HvFoW.amd.js.map} +1 -1
- package/.chunks/{popupHint.vue_vue_type_style_index_0_lang-DzT1BFMx.es.js → popupHint.vue_vue_type_style_index_0_lang-DAQIAxvu.es.js} +5 -5
- package/.chunks/{popupHint.vue_vue_type_style_index_0_lang-DzT1BFMx.es.js.map → popupHint.vue_vue_type_style_index_0_lang-DAQIAxvu.es.js.map} +1 -1
- package/.chunks/{utils-Kzz2mc2t.es.js → utils-BNzP9anP.es.js} +2 -2
- package/.chunks/{utils-Kzz2mc2t.es.js.map → utils-BNzP9anP.es.js.map} +1 -1
- package/.chunks/{utils-DsGgpnXD.amd.js → utils-CWn_G7OO.amd.js} +2 -2
- package/.chunks/{utils-DsGgpnXD.amd.js.map → utils-CWn_G7OO.amd.js.map} +1 -1
- package/.chunks/{utils-C2_4b48S.amd.js → utils-DIviuVEw.amd.js} +2 -2
- package/.chunks/utils-DIviuVEw.amd.js.map +1 -0
- package/.chunks/{utils-DQ-xahGh.es.js → utils-Dma85ehT.es.js} +67 -67
- package/.chunks/utils-Dma85ehT.es.js.map +1 -0
- package/.chunks/{widgetInput.vue_vue_type_script_setup_true_lang-BuoAaghB.es.js → widgetInput.vue_vue_type_script_setup_true_lang-CX_BOcVY.es.js} +6 -6
- package/.chunks/{widgetInput.vue_vue_type_script_setup_true_lang-BuoAaghB.es.js.map → widgetInput.vue_vue_type_script_setup_true_lang-CX_BOcVY.es.js.map} +1 -1
- package/.chunks/{widgetInput.vue_vue_type_script_setup_true_lang-Dgjj70vU.amd.js → widgetInput.vue_vue_type_script_setup_true_lang-CkOmb3VD.amd.js} +2 -2
- package/.chunks/{widgetInput.vue_vue_type_script_setup_true_lang-Dgjj70vU.amd.js.map → widgetInput.vue_vue_type_script_setup_true_lang-CkOmb3VD.amd.js.map} +1 -1
- package/api/index.amd.js +1 -1
- package/api/index.js +6 -6
- package/assets/policy.css +1 -1
- package/assets/project.css +1 -1
- package/assets/tabsView.css +1 -1
- package/assets/themes/dark.css +1 -1
- package/assets/themes/light.css +1 -1
- package/charts/charts.amd.js +1 -1
- package/charts/charts.js +14 -14
- package/core/app.amd.js +1 -1
- package/core/app.js +15 -15
- package/dialog/dialog.amd.js +1 -1
- package/dialog/dialog.js +6 -6
- package/extra/extra.js +2 -2
- package/forms/forms.amd.js +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 +46 -45
- package/formsExt/formsExt.js.map +1 -1
- package/icomoon/Topvisor icons.json +776 -334
- package/icomoon/demo.html +85 -1
- package/icomoon/fonts/Topvisor-2.eot +0 -0
- package/icomoon/fonts/Topvisor-2.svg +6 -0
- package/icomoon/fonts/Topvisor-2.ttf +0 -0
- package/icomoon/fonts/Topvisor-2.woff +0 -0
- package/icomoon/selection.json +1 -1
- package/icomoon/style.css +23 -5
- package/layout/layout.amd.js +1 -1
- package/layout/layout.js +7 -7
- package/package.json +2 -2
- package/popup/popup.amd.js +1 -1
- package/popup/popup.js +9 -9
- package/popup/worker.amd.js +1 -1
- package/popup/worker.js +2 -2
- package/project/project.amd.js +1 -1
- package/project/project.amd.js.map +1 -1
- package/project/project.js +1043 -658
- package/project/project.js.map +1 -1
- package/src/components/formsExt/editInput/types.d.ts +4 -0
- package/src/components/formsExt/selector2/composables/useMenu.d.ts +1 -1
- package/src/components/formsExt/selector2/selector2.vue.d.ts +2 -0
- package/src/components/formsExt/selector2/types.d.ts +35 -1
- package/src/components/formsExt/selector2/utils.d.ts +2 -0
- package/src/components/popup/lib/popup.d.ts +1 -1
- package/src/components/popup/popup/opener/types.d.ts +1 -1
- package/src/components/project/groupSelector/folders/utils.d.ts +6 -26
- package/src/components/project/groupSelector/groupSelector.vue.d.ts +1 -1
- package/src/components/project/groupSelector/groups/groups.vue.d.ts +13 -6
- package/src/components/project/groupSelector/groups/utils.d.ts +18 -53
- package/src/components/project/groupSelector/utils.d.ts +37 -0
- package/src/components/project/project.d.ts +2 -0
- package/src/components/project/projectSelector/cache.d.ts +29 -0
- package/src/components/project/projectSelector/projectSelector.vue.d.ts +128 -0
- package/src/components/project/projectSelector/submenu/submenu.vue.d.ts +4 -0
- package/src/components/project/projectSelector/submenu/types.d.ts +17 -0
- package/src/components/project/projectSelector/types.d.ts +48 -0
- package/src/components/project/projectSelector/utils.d.ts +248 -0
- package/src/components/project/regionSelector/types.d.ts +9 -4
- package/src/components/project/regionSelector/utils/utils.d.ts +5 -5
- package/src/components/tabsView/tabsView/menu.vue.d.ts +2 -6
- package/src/core/directives/shortcut.d.ts +2 -1
- package/src/core/directives/tooltip.d.ts +2 -6
- package/tabs/tabs.js +5 -5
- package/tabsView/tabsView.amd.js +1 -1
- package/tabsView/tabsView.amd.js.map +1 -1
- package/tabsView/tabsView.js +93 -104
- package/tabsView/tabsView.js.map +1 -1
- package/utils/clipboard.amd.js +1 -1
- package/utils/clipboard.js +1 -1
- package/utils/date.amd.js +1 -1
- package/utils/date.js +1 -1
- package/utils/device.amd.js +1 -1
- package/utils/device.js +1 -1
- package/utils/lodash.amd.js +1 -1
- package/utils/lodash.js +1 -1
- package/utils/price.amd.js +1 -1
- package/utils/price.js +1 -1
- package/utils/searchers.amd.js +1 -1
- package/utils/searchers.js +3 -3
- package/utils/string.amd.js +1 -1
- package/utils/string.js +1 -1
- package/.chunks/core-BEpKBNHt.amd.js +0 -2
- package/.chunks/core-BEpKBNHt.amd.js.map +0 -1
- package/.chunks/core-DBWAn2Eg.es.js +0 -242
- package/.chunks/core-DBWAn2Eg.es.js.map +0 -1
- package/.chunks/lazy-40pjr8cZ.es.js.map +0 -1
- package/.chunks/lazy-DSFLxvj4.amd.js +0 -2
- package/.chunks/lazy-DSFLxvj4.amd.js.map +0 -1
- package/.chunks/policy.vue_vue_type_style_index_0_lang-6S_OFLu6.amd.js +0 -2
- package/.chunks/policy.vue_vue_type_style_index_0_lang-6S_OFLu6.amd.js.map +0 -1
- package/.chunks/policy.vue_vue_type_style_index_0_lang-BRUOmEM8.es.js +0 -498
- package/.chunks/policy.vue_vue_type_style_index_0_lang-BRUOmEM8.es.js.map +0 -1
- package/.chunks/popup-CDaQNt-3.amd.js.map +0 -1
- package/.chunks/popup-COONSpqs.es.js.map +0 -1
- package/.chunks/utils-C2_4b48S.amd.js.map +0 -1
- package/.chunks/utils-DQ-xahGh.es.js.map +0 -1
package/formsExt/formsExt.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { defineComponent as y, ref as
|
|
2
|
-
import { g as N, e as
|
|
3
|
-
import {
|
|
1
|
+
import { defineComponent as y, ref as w, computed as F, openBlock as i, createElementBlock as c, normalizeClass as V, renderSlot as h, createTextVNode as b, toDisplayString as f, createCommentVNode as $, createElementVNode as k, createVNode as z, withKeys as B, withModifiers as g, createBlock as v, createSlots as E, withCtx as p, watch as K, mergeProps as M, useModel as A, Fragment as G, renderList as S, mergeModels as C, unref as L } from "vue";
|
|
2
|
+
import { g as N, e as I, _ as U, h as q, j as D } from "../.chunks/forms-DtC-EKJL.es.js";
|
|
3
|
+
import { I as ne, a as re, _ as ue, b as de, c as ce } from "../.chunks/policy.vue_vue_type_style_index_0_lang-Bv3LwNDC.es.js";
|
|
4
4
|
const O = { class: "top-editArea_footer" }, _ = /* @__PURE__ */ y({
|
|
5
5
|
__name: "editArea",
|
|
6
6
|
props: {
|
|
@@ -27,7 +27,7 @@ const O = { class: "top-editArea_footer" }, _ = /* @__PURE__ */ y({
|
|
|
27
27
|
},
|
|
28
28
|
emits: ["submit", "close", "clickOnTitle"],
|
|
29
29
|
setup(e, { emit: o }) {
|
|
30
|
-
const t = e, a = o, s =
|
|
30
|
+
const t = e, a = o, s = w(t.defaultValue), r = w(t.isFocused), n = F(() => s.value !== t.defaultValue), l = (m) => {
|
|
31
31
|
a("submit", m), s.value = t.defaultValue;
|
|
32
32
|
}, d = () => {
|
|
33
33
|
if (t.forceShowCloseBtn && !n.value) {
|
|
@@ -47,13 +47,13 @@ const O = { class: "top-editArea_footer" }, _ = /* @__PURE__ */ y({
|
|
|
47
47
|
e.title || m.$slots.caption ? (i(), c("div", {
|
|
48
48
|
key: 0,
|
|
49
49
|
class: "top-editArea_caption",
|
|
50
|
-
onClick: u[0] || (u[0] = (
|
|
50
|
+
onClick: u[0] || (u[0] = (T) => x())
|
|
51
51
|
}, [
|
|
52
52
|
h(m.$slots, "caption", {}, () => [
|
|
53
|
-
|
|
53
|
+
b(f(e.title), 1)
|
|
54
54
|
])
|
|
55
|
-
])) :
|
|
56
|
-
|
|
55
|
+
])) : $("", !0),
|
|
56
|
+
k("div", {
|
|
57
57
|
class: V({
|
|
58
58
|
"top-editArea_form": !0,
|
|
59
59
|
"top-forms-focusable": !0,
|
|
@@ -64,7 +64,7 @@ const O = { class: "top-editArea_footer" }, _ = /* @__PURE__ */ y({
|
|
|
64
64
|
}, [
|
|
65
65
|
z(N, {
|
|
66
66
|
modelValue: s.value,
|
|
67
|
-
"onUpdate:modelValue": u[1] || (u[1] = (
|
|
67
|
+
"onUpdate:modelValue": u[1] || (u[1] = (T) => s.value = T),
|
|
68
68
|
name: e.name,
|
|
69
69
|
placeholder: e.placeholder,
|
|
70
70
|
rows: e.rows,
|
|
@@ -78,41 +78,41 @@ const O = { class: "top-editArea_footer" }, _ = /* @__PURE__ */ y({
|
|
|
78
78
|
onFocus: u[2] || (u[2] = () => r.value = !0),
|
|
79
79
|
onBlur: u[3] || (u[3] = () => r.value = !1),
|
|
80
80
|
onKeyup: [
|
|
81
|
-
|
|
82
|
-
u[4] || (u[4] =
|
|
81
|
+
B(d, ["esc"]),
|
|
82
|
+
u[4] || (u[4] = B(g((T) => l(s.value), ["ctrl"]), ["enter"]))
|
|
83
83
|
]
|
|
84
84
|
}, null, 8, ["modelValue", "name", "placeholder", "rows", "minHeight", "expandable", "disabled", "readonly", "isError", "hint"]),
|
|
85
|
-
|
|
86
|
-
n.value || e.forceShowCloseBtn ? (i(), v(
|
|
85
|
+
k("div", O, [
|
|
86
|
+
n.value || e.forceShowCloseBtn ? (i(), v(I, {
|
|
87
87
|
key: 0,
|
|
88
88
|
icon: m.$core.state.isMobile ? "" : "",
|
|
89
89
|
class: "top-editArea_button",
|
|
90
90
|
color: "theme",
|
|
91
91
|
styling: "soft",
|
|
92
92
|
onClick: d
|
|
93
|
-
},
|
|
93
|
+
}, E({ _: 2 }, [
|
|
94
94
|
m.$core.state.isMobile ? void 0 : {
|
|
95
95
|
name: "default",
|
|
96
96
|
fn: p(() => [
|
|
97
|
-
|
|
97
|
+
b(f(e.cancelText), 1)
|
|
98
98
|
]),
|
|
99
99
|
key: "0"
|
|
100
100
|
}
|
|
101
|
-
]), 1032, ["icon"])) :
|
|
102
|
-
n.value ? (i(), v(
|
|
101
|
+
]), 1032, ["icon"])) : $("", !0),
|
|
102
|
+
n.value ? (i(), v(I, {
|
|
103
103
|
key: 1,
|
|
104
104
|
class: "top-editArea_button",
|
|
105
105
|
icon: m.$core.state.isMobile ? "" : "",
|
|
106
|
-
onClick: u[5] || (u[5] = (
|
|
107
|
-
},
|
|
106
|
+
onClick: u[5] || (u[5] = (T) => l(s.value))
|
|
107
|
+
}, E({ _: 2 }, [
|
|
108
108
|
m.$core.state.isMobile ? void 0 : {
|
|
109
109
|
name: "default",
|
|
110
110
|
fn: p(() => [
|
|
111
|
-
|
|
111
|
+
b(f(e.submitText), 1)
|
|
112
112
|
]),
|
|
113
113
|
key: "0"
|
|
114
114
|
}
|
|
115
|
-
]), 1032, ["icon"])) :
|
|
115
|
+
]), 1032, ["icon"])) : $("", !0)
|
|
116
116
|
])
|
|
117
117
|
], 2)
|
|
118
118
|
], 2));
|
|
@@ -121,12 +121,13 @@ const O = { class: "top-editArea_footer" }, _ = /* @__PURE__ */ y({
|
|
|
121
121
|
__name: "editInput",
|
|
122
122
|
props: {
|
|
123
123
|
modelValue: {},
|
|
124
|
+
alwaysShowSubmitBtn: { type: Boolean },
|
|
124
125
|
input: {},
|
|
125
126
|
button: {}
|
|
126
127
|
},
|
|
127
128
|
emits: ["update:modelValue"],
|
|
128
129
|
setup(e, { emit: o }) {
|
|
129
|
-
const t = e, a =
|
|
130
|
+
const t = e, a = w(t.modelValue);
|
|
130
131
|
K(() => t.modelValue, () => {
|
|
131
132
|
a.value = t.modelValue;
|
|
132
133
|
});
|
|
@@ -135,11 +136,11 @@ const O = { class: "top-editArea_footer" }, _ = /* @__PURE__ */ y({
|
|
|
135
136
|
};
|
|
136
137
|
return (n, l) => (i(), c("div", P, [
|
|
137
138
|
z(U, M(e.input, {
|
|
138
|
-
onKeydownCapture: l[0] || (l[0] =
|
|
139
|
-
onKeydown:
|
|
139
|
+
onKeydownCapture: l[0] || (l[0] = B(g((d) => a.value = e.modelValue, ["stop"]), ["esc"])),
|
|
140
|
+
onKeydown: B(g(r, ["stop"]), ["enter"]),
|
|
140
141
|
modelValue: a.value,
|
|
141
142
|
"onUpdate:modelValue": l[1] || (l[1] = (d) => a.value = d)
|
|
142
|
-
}),
|
|
143
|
+
}), E({ _: 2 }, [
|
|
143
144
|
n.$slots.caption ? {
|
|
144
145
|
name: "caption",
|
|
145
146
|
fn: p(() => [
|
|
@@ -148,16 +149,16 @@ const O = { class: "top-editArea_footer" }, _ = /* @__PURE__ */ y({
|
|
|
148
149
|
key: "0"
|
|
149
150
|
} : void 0
|
|
150
151
|
]), 1040, ["onKeydown", "modelValue"]),
|
|
151
|
-
a.value !== e.modelValue ? (i(), v(
|
|
152
|
+
a.value !== e.modelValue || e.alwaysShowSubmitBtn ? (i(), v(I, M({
|
|
152
153
|
key: 0,
|
|
153
154
|
icon: "",
|
|
154
155
|
styling: "soft"
|
|
155
|
-
}, e.button, { onClick: r }), null, 16)) :
|
|
156
|
+
}, e.button, { onClick: r }), null, 16)) : $("", !0)
|
|
156
157
|
]));
|
|
157
158
|
}
|
|
158
159
|
}), H = /* @__PURE__ */ y({
|
|
159
160
|
__name: "optionGroup",
|
|
160
|
-
props: /* @__PURE__ */
|
|
161
|
+
props: /* @__PURE__ */ C({
|
|
161
162
|
modelValue: {},
|
|
162
163
|
items: {},
|
|
163
164
|
size: { default: "s" },
|
|
@@ -171,7 +172,7 @@ const O = { class: "top-editArea_footer" }, _ = /* @__PURE__ */ y({
|
|
|
171
172
|
}),
|
|
172
173
|
emits: ["update:modelValue"],
|
|
173
174
|
setup(e) {
|
|
174
|
-
const o =
|
|
175
|
+
const o = A(e, "modelValue"), t = e, a = w(null);
|
|
175
176
|
K(o, () => {
|
|
176
177
|
const r = t.items.map((n) => n.value);
|
|
177
178
|
Array.isArray(o.value) ? o.value.find((l) => !r.includes(l)) && (o.value = o.value.filter((l) => r.includes(l))) : r.includes(o.value) || (o.value = r[0] ?? ""), a.value?.querySelector(".radioGroup_item-selected")?.scrollIntoView();
|
|
@@ -200,11 +201,11 @@ const O = { class: "top-editArea_footer" }, _ = /* @__PURE__ */ y({
|
|
|
200
201
|
disabled: l.disabled,
|
|
201
202
|
isError: e.isError,
|
|
202
203
|
"data-top-icon": l.icon
|
|
203
|
-
},
|
|
204
|
+
}, E({ _: 2 }, [
|
|
204
205
|
l.label ? {
|
|
205
206
|
name: "default",
|
|
206
207
|
fn: p(() => [
|
|
207
|
-
|
|
208
|
+
b(f(l.label), 1)
|
|
208
209
|
]),
|
|
209
210
|
key: "0"
|
|
210
211
|
} : void 0
|
|
@@ -221,11 +222,11 @@ const O = { class: "top-editArea_footer" }, _ = /* @__PURE__ */ y({
|
|
|
221
222
|
disabled: l.disabled,
|
|
222
223
|
isError: e.isError,
|
|
223
224
|
"data-top-icon": l.icon
|
|
224
|
-
},
|
|
225
|
+
}, E({ _: 2 }, [
|
|
225
226
|
l.label ? {
|
|
226
227
|
name: "default",
|
|
227
228
|
fn: p(() => [
|
|
228
|
-
|
|
229
|
+
b(f(l.label), 1)
|
|
229
230
|
]),
|
|
230
231
|
key: "0"
|
|
231
232
|
} : void 0
|
|
@@ -234,7 +235,7 @@ const O = { class: "top-editArea_footer" }, _ = /* @__PURE__ */ y({
|
|
|
234
235
|
}
|
|
235
236
|
}), oe = /* @__PURE__ */ y({
|
|
236
237
|
__name: "radioGroup",
|
|
237
|
-
props: /* @__PURE__ */
|
|
238
|
+
props: /* @__PURE__ */ C({
|
|
238
239
|
modelValue: {},
|
|
239
240
|
items: {},
|
|
240
241
|
size: {},
|
|
@@ -248,7 +249,7 @@ const O = { class: "top-editArea_footer" }, _ = /* @__PURE__ */ y({
|
|
|
248
249
|
}),
|
|
249
250
|
emits: ["update:modelValue"],
|
|
250
251
|
setup(e) {
|
|
251
|
-
const o =
|
|
252
|
+
const o = A(e, "modelValue");
|
|
252
253
|
return (t, a) => (i(), v(H, {
|
|
253
254
|
class: "top-radioGroup",
|
|
254
255
|
modelValue: o.value,
|
|
@@ -266,7 +267,7 @@ const O = { class: "top-editArea_footer" }, _ = /* @__PURE__ */ y({
|
|
|
266
267
|
}
|
|
267
268
|
}), te = /* @__PURE__ */ y({
|
|
268
269
|
__name: "checkboxGroup",
|
|
269
|
-
props: /* @__PURE__ */
|
|
270
|
+
props: /* @__PURE__ */ C({
|
|
270
271
|
modelValue: {},
|
|
271
272
|
items: {},
|
|
272
273
|
size: {},
|
|
@@ -280,7 +281,7 @@ const O = { class: "top-editArea_footer" }, _ = /* @__PURE__ */ y({
|
|
|
280
281
|
}),
|
|
281
282
|
emits: ["update:modelValue"],
|
|
282
283
|
setup(e) {
|
|
283
|
-
const o =
|
|
284
|
+
const o = A(e, "modelValue");
|
|
284
285
|
return (t, a) => (i(), v(H, {
|
|
285
286
|
class: "top-checkboxGroup",
|
|
286
287
|
modelValue: o.value,
|
|
@@ -315,12 +316,12 @@ const O = { class: "top-editArea_footer" }, _ = /* @__PURE__ */ y({
|
|
|
315
316
|
}),
|
|
316
317
|
"data-top-icon": e.icon
|
|
317
318
|
}, [
|
|
318
|
-
|
|
319
|
+
k("div", W, [
|
|
319
320
|
h(o.$slots, "default")
|
|
320
321
|
]),
|
|
321
322
|
o.$slots.additional ? (i(), c("span", j, [
|
|
322
323
|
h(o.$slots, "additional")
|
|
323
|
-
])) :
|
|
324
|
+
])) : $("", !0)
|
|
324
325
|
], 10, R));
|
|
325
326
|
}
|
|
326
327
|
}), X = {
|
|
@@ -335,25 +336,25 @@ const O = { class: "top-editArea_footer" }, _ = /* @__PURE__ */ y({
|
|
|
335
336
|
},
|
|
336
337
|
emits: ["accept"],
|
|
337
338
|
setup(e, { emit: o }) {
|
|
338
|
-
const t = o, a =
|
|
339
|
+
const t = o, a = w(!0), s = () => {
|
|
339
340
|
a.value = !1, t("accept");
|
|
340
341
|
};
|
|
341
342
|
return (r, n) => a.value ? (i(), c("div", X, [
|
|
342
|
-
|
|
343
|
-
|
|
343
|
+
k("div", J, f(e.title), 1),
|
|
344
|
+
k("div", {
|
|
344
345
|
class: "top-policy_description",
|
|
345
346
|
innerHTML: e.description
|
|
346
347
|
}, null, 8, Q),
|
|
347
|
-
z(L(
|
|
348
|
+
z(L(I), {
|
|
348
349
|
size: "m",
|
|
349
350
|
onClick: s
|
|
350
351
|
}, {
|
|
351
352
|
default: p(() => [
|
|
352
|
-
|
|
353
|
+
b(f(e.acceptText), 1)
|
|
353
354
|
]),
|
|
354
355
|
_: 1
|
|
355
356
|
})
|
|
356
|
-
])) :
|
|
357
|
+
])) : $("", !0);
|
|
357
358
|
}
|
|
358
359
|
});
|
|
359
360
|
export {
|
package/formsExt/formsExt.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"formsExt.js","sources":["../../src/components/formsExt/editArea/editArea.vue","../../src/components/formsExt/editInput/editInput.vue","../../src/components/formsExt/libs/optionGroup/optionGroup.vue","../../src/components/formsExt/radioGroup/radioGroup.vue","../../src/components/formsExt/checkboxGroup/checkboxGroup.vue","../../src/components/formsExt/info/info.vue","../../src/components/formsExt/policy/policy.vue"],"sourcesContent":["<script setup lang=\"ts\">\nimport { computed, ref } from 'vue';\nimport Button from '@/components/forms/button/button.vue';\nimport type { Emits, Props, Slots } from './types';\nimport Textarea from '@/components/forms/textarea/textarea.vue';\n\nconst props = withDefaults(defineProps<Props>(), {\n\tdefaultValue: '',\n\tcancelText: 'Cancel',\n\tsubmitText: 'Send',\n\tcloseText: 'Close',\n\texpandable: true,\n});\n\ndefineSlots<Slots>();\nconst emit = defineEmits<Emits>();\n\nconst localValue = ref(props.defaultValue);\n\nconst isFocused = ref(props.isFocused);\n\nconst isChanged = computed(() => localValue.value !== props.defaultValue);\n\nconst submit = (value: string) => {\n\temit('submit', value);\n\n\tlocalValue.value = props.defaultValue;\n};\n\nconst cancel = () => {\n\tif (props.forceShowCloseBtn && !isChanged.value) {\n\t\temit('close');\n\n\t\treturn;\n\t}\n\n\tlocalValue.value = props.defaultValue;\n};\n\nconst clickOnTitle = () => {\n\tif (props.attachToKeyboard) emit('clickOnTitle');\n};\n</script>\n\n<template>\n\t<div\n\t\t:class=\"{\n\t\t\t'top-editArea': true,\n\t\t\t'top-editArea-attachedToKeyboard': attachToKeyboard,\n\t\t}\"\n\t>\n\t\t<div\n\t\t\tv-if=\"title || $slots.caption\"\n\t\t\tclass=\"top-editArea_caption\"\n\t\t\t@click=\"clickOnTitle()\"\n\t\t>\n\t\t\t<slot name=\"caption\">\n\t\t\t\t{{ title }}\n\t\t\t</slot>\n\t\t</div>\n\n\t\t<div\n\t\t\t:class=\"{\n\t\t\t\t'top-editArea_form': true,\n\t\t\t\t'top-forms-focusable': true,\n\t\t\t\t'top-as-input': true,\n\t\t\t\t'top-error': isError,\n\t\t\t\t'top-focus': isFocused,\n\t\t\t}\"\n\t\t>\n\t\t\t<Textarea\n\t\t\t\tv-model=\"localValue\"\n\t\t\t\t:name=\"name\"\n\t\t\t\t:placeholder=\"placeholder\"\n\t\t\t\t:rows=\"rows\"\n\t\t\t\t:minHeight=\"minHeight\"\n\t\t\t\t:expandable=\"expandable\"\n\t\t\t\t:disabled=\"disabled\"\n\t\t\t\t:readonly=\"readonly\"\n\t\t\t\t:isError=\"isError\"\n\t\t\t\t:hint=\"hint\"\n\t\t\t\tclass=\"top-editArea_element\"\n\t\t\t\t@focus=\"() => isFocused = true\"\n\t\t\t\t@blur=\"() => isFocused = false\"\n\t\t\t\t@keyup.esc=\"cancel\"\n\t\t\t\t@keyup.ctrl.enter=\"submit(localValue)\"\n\t\t\t/>\n\n\t\t\t<div class=\"top-editArea_footer\">\n\t\t\t\t<Button\n\t\t\t\t\tv-if=\"isChanged || forceShowCloseBtn\"\n\t\t\t\t\t:icon=\"$core.state.isMobile ? '': ''\"\n\t\t\t\t\tclass=\"top-editArea_button\"\n\t\t\t\t\tcolor=\"theme\"\n\t\t\t\t\tstyling=\"soft\"\n\t\t\t\t\t@click=\"cancel\"\n\t\t\t\t>\n\t\t\t\t\t<template\n\t\t\t\t\t\t#default\n\t\t\t\t\t\tv-if=\"!$core.state.isMobile\"\n\t\t\t\t\t>\n\t\t\t\t\t\t{{ cancelText }}\n\t\t\t\t\t</template>\n\t\t\t\t</Button>\n\n\t\t\t\t<Button\n\t\t\t\t\tclass=\"top-editArea_button\"\n\t\t\t\t\tv-if=\"isChanged\"\n\t\t\t\t\t:icon=\"$core.state.isMobile ? '': ''\"\n\t\t\t\t\t@click=\"submit(localValue)\"\n\t\t\t\t>\n\t\t\t\t\t<template\n\t\t\t\t\t\t#default\n\t\t\t\t\t\tv-if=\"!$core.state.isMobile\"\n\t\t\t\t\t>\n\t\t\t\t\t\t{{ submitText }}\n\t\t\t\t\t</template>\n\t\t\t\t</Button>\n\t\t\t</div>\n\t\t</div>\n\t</div>\n</template>\n\n<style>\n.top-editArea {\n\t--top-editArea-bottom: env(keyboard-inset-height, 0px);\n\t--top-editArea-offset-bottom: 0px;\n\n\tdisplay: flex;\n\tflex-direction: column;\n\tgap: 6px;\n}\n\n.top-editArea_caption {\n\tfont-size: 12px;\n}\n\n.top-editArea_form {\n\tflex-direction: column;\n}\n\n/* textarea в EditArea */\n.top-textarea {\n\twidth: 100%;\n}\n\n.top-editArea_element.top-textarea_textarea {\n\t--top-forms-border-width: 0px;\n\n\toutline: none;\n\tanimation: none;\n}\n\n/* footer */\n.top-editArea_footer {\n\tpadding: var(--top-forms-padding);\n\tdisplay: flex;\n\tmin-height: 32px;\n\talign-self: flex-end;\n\tjustify-content: flex-end;\n\tgap: var(--top-forms-padding);\n}\n\n/* attachedToKeyboard */\n.top-editArea-attachedToKeyboard {\n\tbackground: var(--top-forms-background-color);\n\tposition: fixed;\n\tbottom: calc(var(--top-editArea-offset-bottom) + var(--top-editArea-bottom));\n\tright: 0;\n\tleft: 0;\n\tz-index: 2;\n\tgap: 0;\n\ttransition: bottom var(--transition-fast);\n}\n\n.top-editArea-attachedToKeyboard .top-editArea_form {\n\tborder-radius: 0;\n\tborder: none;\n\tborder-top: 1px solid var(--top-forms-border-color);\n}\n\n.top-editArea-attachedToKeyboard .top-editArea_title {\n\tcursor: pointer;\n\tborder-top: 1px solid var(--color-line-2-opacity);\n\tpadding: var(--top-forms-padding);\n}\n\n.top-editArea-attachedToKeyboard .top-editArea_footer > [data-top-icon] {\n\tborder-radius: 100%;\n}\n\n@media screen and (max-width: 900px) {\n\t.top-editArea_form {\n\t\tflex-direction: row;\n\t}\n}\n</style>\n","<script setup lang=\"ts\">\nimport { ref, watch } from 'vue';\nimport type { Emits, Props } from './types';\nimport TopInput from '@/components/forms/input/input.vue';\nimport TopButton from '@/components/forms/button/button.vue';\n\nconst props = defineProps<Props>();\n\nconst intermediateValue = ref(props.modelValue);\n\nwatch(() => props.modelValue, () => {\n\tintermediateValue.value = props.modelValue;\n});\n\nconst emit = defineEmits<Emits>();\n\nconst submit = () => {\n\temit('update:modelValue', intermediateValue.value);\n};\n</script>\n\n<template>\n\t<div class=\"top-editInput\">\n\t\t<TopInput\n\t\t\t:=\"input\"\n\t\t\t@keydown.esc.capture.stop=\"intermediateValue = modelValue\"\n\t\t\t@keydown.enter.stop=\"submit\"\n\t\t\tv-model=\"intermediateValue\"\n\t\t>\n\t\t\t<template #caption v-if=\"$slots.caption\">\n\t\t\t\t<slot name=\"caption\"></slot>\n\t\t\t</template>\n\t\t</TopInput>\n\n\t\t<TopButton\n\t\t\tv-if=\"intermediateValue !== modelValue\"\n\t\t\ticon=\"\"\n\t\t\tstyling=\"soft\"\n\t\t\t:=\"button\"\n\t\t\t@click=\"submit\"\n\t\t/>\n\t</div>\n</template>\n\n<style>\n.top-editInput {\n\twidth: 220px;\n\tflex-grow: 1;\n\tdisplay: flex;\n\talign-items: flex-end;\n\tgap: var(--top-gap-1);\n}\n\n.top-editInput .top-input {\n\twidth: unset;\n\tflex-grow: 1;\n}\n</style>\n","<script setup lang=\"ts\">\nimport { ref, watch } from 'vue';\nimport type { Props } from './types';\nimport TopCheckbox from '@/components/forms/checkbox/checkbox.vue';\nimport TopRadio from '@/components/forms/radio/radio.vue';\n\nconst model = defineModel<Props['modelValue']>({\n\trequired: true,\n});\n\nconst props = withDefaults(defineProps<Props>(), {\n\tsize: 's',\n});\n\nconst elRef = ref<HTMLElement | null>(null);\n\nwatch(model, () => {\n\tconst valuesAvailable = props.items.map(item => item.value);\n\n\tif (Array.isArray(model.value)) {\n\t\t// есть ли неподдерживаемые значения\n\t\tconst valueIsWrong = model.value.find((value) => {\n\t\t\treturn !valuesAvailable.includes(value);\n\t\t});\n\n\t\tif (valueIsWrong) {\n\t\t\t// оставить только поддерживаемые значения\n\t\t\tmodel.value = model.value.filter((value) => {\n\t\t\t\treturn valuesAvailable.includes(value);\n\t\t\t});\n\t\t}\n\t} else {\n\t\tif (!valuesAvailable.includes(model.value)) {\n\t\t\tmodel.value = valuesAvailable[0] ?? '';\n\t\t}\n\t}\n\n\telRef.value?.querySelector('.radioGroup_item-selected')?.scrollIntoView();\n}, { immediate: true });\n\nconst name = 'optionGroup-' + Math.random();\n</script>\n\n<template>\n\t<div\n\t\tref=\"elRef\"\n\t\t:class=\"{\n\t\t\t['top-optionGroup']: true,\n\t\t\t['top-optionGroup-showIndicator_' + Number(showIndicator)]: true,\n\t\t\t['top-scrollBarXHidding']: true,\n\t\t\t['top-size_' + size]: !!size,\n\t\t\t['top-error']: isError,\n\t\t}\"\n\t>\n\t\t<template v-if=\"Array.isArray(model)\">\n\t\t\t<TopCheckbox\n\t\t\t\t:class=\"{\n\t\t\t\t\t['top-optionGroup_item-selected']: model.includes(item.value),\n\t\t\t\t\t['top-optionGroup_item']: true,\n\t\t\t\t}\"\n\t\t\t\tv-for=\"item of items\"\n\t\t\t\tv-model=\"model\"\n\t\t\t\t:value=\"item.value\"\n\t\t\t\t:title=\"item.title\"\n\t\t\t\t:disabled=\"item.disabled\"\n\t\t\t\t:isError\n\t\t\t\t:data-top-icon=\"item.icon\"\n\t\t\t>\n\t\t\t\t<template #default v-if=\"item.label\">\n\t\t\t\t\t{{ item.label }}\n\t\t\t\t</template>\n\t\t\t</TopCheckbox>\n\t\t</template>\n\n\t\t<template v-else>\n\t\t\t<TopRadio\n\t\t\t\t:class=\"{\n\t\t\t\t\t['top-optionGroup_item-selected']: item.value === model,\n\t\t\t\t\t['top-optionGroup_item']: true,\n\t\t\t\t}\"\n\t\t\t\tv-for=\"item of items\"\n\t\t\t\tv-model=\"model\"\n\t\t\t\t:name\n\t\t\t\t:value=\"item.value\"\n\t\t\t\t:title=\"item.title\"\n\t\t\t\t:disabled=\"item.disabled\"\n\t\t\t\t:isError\n\t\t\t\t:data-top-icon=\"item.icon\"\n\t\t\t>\n\t\t\t\t<template #default v-if=\"item.label\">\n\t\t\t\t\t{{ item.label }}\n\t\t\t\t</template>\n\t\t\t</TopRadio>\n\t\t</template>\n\t</div>\n</template>\n\n<style>\n.top-optionGroup {\n\tuser-select: none;\n\tbox-sizing: border-box;\n\tborder-radius: 8px;\n\tbackground-color: var(--color-layout-middle);\n\theight: var(--top-forms-base-height);\n\tpadding: 2px;\n\tgap: 2px;\n\tdisplay: flex;\n\talign-items: flex-start;\n}\n\n.top-optionGroup_item {\n\tcursor: pointer;\n\tbox-sizing: border-box;\n\tborder-radius: 6px;\n\theight: calc(var(--top-forms-base-height) - 4px);\n\tpadding: 1px var(--top-padding-2);\n\tcolor: var(--color-text-2);\n\tfont-weight: 400;\n\twhite-space: nowrap;\n\tdisplay: flex;\n\talign-items: center;\n\tjustify-content: center;\n\tflex-grow: 1;\n\tgap: var(--top-gap-1);\n}\n\n.top-optionGroup_item:hover {\n\tbackground-color: var(--color-layout-front-1);\n\tbox-shadow: 0px 4px 32px 0px rgba(4, 9, 84, 0.10), 0px 0px 4px 0px rgba(4, 9, 84, 0.08);\n}\n\n.top-optionGroup_item-selected {\n\tcolor: var(--color-text-1);\n\tbackground-color: var(--color-bg-lightning-1);\n\tbox-shadow: 0px 4px 32px 0px rgba(4, 9, 84, 0.10), 0px 0px 4px 0px rgba(4, 9, 84, 0.08);\n}\n\n.top-optionGroup_item > .top-forms-optionLabel {\n\tflex-grow: 0;\n}\n\n/* indicator */\n.top-optionGroup-showIndicator_0 > .top-optionGroup_item {\n\tjustify-content: center;\n}\n\n.top-optionGroup-showIndicator_0 > .top-optionGroup_item:has(:focus-visible) {\n\toutline: 2px solid var(--color-bg-primary-2);\n\toutline-offset: -1px;\n}\n\n.top-optionGroup-showIndicator_1 > .top-optionGroup_item {\n\tpadding: 1px 3px;\n\tjustify-content: flex-start;\n}\n\n.top-optionGroup-showIndicator_0 > .top-optionGroup_item > .top-forms-option {\n\topacity: 0;\n\twidth: 0;\n\theight: 0;\n\tposition: absolute;\n}\n\n.top-optionGroup_item > .top-forms-option {\n\torder: -1;\n}\n</style>\n","<script setup lang=\"ts\">\nimport OptionGroup from '../libs/optionGroup/optionGroup.vue';\n\nimport type { Props } from './types';\n\nconst model = defineModel<Props['modelValue']>({\n\trequired: true,\n});\n\ndefineProps<Props>();\n</script>\n\n<template>\n\t<OptionGroup\n\t\tclass=\"top-radioGroup\"\n\t\tv-model=\"model\"\n\t\t:items=\"$props.items\"\n\t\t:size=\"$props.size\"\n\t\t:showIndicator=\"$props.showIndicator\"\n\t\t:isError=\"$props.isError\"\n\t>\n\t\t<slot/>\n\t</OptionGroup>\n</template>\n","<script setup lang=\"ts\">\nimport OptionGroup from '../libs/optionGroup/optionGroup.vue';\n\nimport type { Props } from './types';\n\nconst model = defineModel<Props['modelValue']>({\n\trequired: true,\n});\n\ndefineProps<Props>();\n</script>\n\n<template>\n\t<OptionGroup\n\t\tclass=\"top-checkboxGroup\"\n\t\tv-model=\"model\"\n\t\t:items=\"$props.items\"\n\t\t:size=\"$props.size\"\n\t\t:showIndicator=\"$props.showIndicator\"\n\t\t:isError=\"$props.isError\"\n\t>\n\t\t<slot/>\n\t</OptionGroup>\n</template>\n","<script lang=\"ts\" setup>\nimport type { Props, Slots } from './types';\n\nwithDefaults(defineProps<Props>(), {\n\tstyling: 'default',\n\tsize: 'default',\n});\n\ndefineSlots<Slots>();\n</script>\n\n<template>\n\t<div\n\t\t:class=\"{\n\t\t\t['top-info']: true,\n\t\t\t['top-size_' + size]: true,\n\t\t\t['top-info-styling_' + styling]: true,\n\t\t}\"\n\t\t:data-top-icon=\"icon\"\n\t>\n\t\t<div class=\"top-info_text\">\n\t\t\t<slot></slot>\n\t\t</div>\n\n\t\t<span v-if=\"$slots.additional\" class=\"top-info_value\">\n\t\t\t<slot name=\"additional\"></slot>\n\t\t</span>\n\t</div>\n</template>\n\n<style>\n.top-info {\n\t--top-icon-width: var(--top-icon-size);\n\n\tborder-radius: var(--top-forms-radius);\n\tbox-sizing: border-box;\n\tmin-height: var(--top-forms-base-height);\n\tpadding: var(--top-padding-1) var(--top-padding-2);\n\tflex-grow: 5;\n\tdisplay: flex;\n\talign-items: center;\n\tjustify-content: space-between;\n\tgap: var(--top-gap-2);\n}\n\n.top-info_text {\n\tflex-grow: 1;\n}\n\n.top-info_value {\n\tfont-weight: bold;\n}\n\n/* size */\n.top-info.top-size_default {\n\tborder-radius: var(--top-radius-3);\n\tpadding: var(--top-padding-4);\n}\n\n/* styling */\n.top-info-styling_default {\n\t--top-icon-color: var(--color-text-2);\n\n\tbackground: var(--color-layer-1);\n}\n\n.top-info-styling_info {\n\t--top-icon-color: var(--color-text-primary);\n\n\tbackground: var(--color-layer-primary-1);\n}\n\n.top-info-styling_warning {\n\t--top-icon-color: var(--color-text-warning);\n\n\tbackground: var(--color-layer-warning-1);\n}\n\n.top-info-styling_negative {\n\t--top-icon-color: var(--color-text-negative);\n\n\tbackground: var(--color-layer-negative-1);\n}\n</style>\n","<script setup lang=\"ts\">\nimport { ref } from 'vue';\nimport { TopButton } from '@/components/forms/forms';\nimport type { Emits, Props } from '@/components/formsExt/policy/types';\n\ndefineProps<Props>();\nconst emits = defineEmits<Emits>();\n\nconst isVisible = ref(true);\n\nconst onAccept = () => {\n\tisVisible.value = false;\n\n\temits('accept');\n};\n</script>\n\n<template>\n\t<div\n\t\tv-if=\"isVisible\"\n\t\tclass=\"top-policy\"\n\t>\n\t\t<div class=\"top-policy_title\">\n\t\t\t{{ title }}\n\t\t</div>\n\n\t\t<div\n\t\t\tclass=\"top-policy_description\"\n\t\t\tv-html=\"description\"\n\t\t></div>\n\n\t\t<TopButton\n\t\t\tsize=\"m\"\n\t\t\t@click=\"onAccept\"\n\t\t>\n\t\t\t{{ acceptText }}\n\t\t</TopButton>\n\t</div>\n</template>\n\n<style>\n.top-policy {\n\tbox-sizing: border-box;\n\tbox-shadow: var(--top-shadow-b);\n\tborder-radius: var(--top-radius-4);\n\tbackground: var(--color-bg-lightning-1);\n\twidth: 600px;\n\tpadding: var(--top-padding-4);\n\tposition: fixed;\n\tright: var(--top-gap-10);\n\tbottom: var(--top-gap-10);\n\tdisplay: flex;\n\tflex-direction: column;\n\tgap: var(--top-gap-4);\n\tz-index: 10000;\n}\n\n.top-policy_title {\n\tfont-size: 24px;\n\tfont-weight: 700;\n}\n\n.top-policy_description {\n\tfont-size: 14px;\n}\n\n@media screen and (max-width: 900px) {\n\t.top-policy {\n\t\twidth: 100%;\n\t\tright: 0;\n\t\tbottom: calc(var(--top-gap-5) + var(--toolbar-height, 0px));\n\t}\n}\n</style>\n"],"names":["props","__props","emit","__emit","localValue","ref","isFocused","isChanged","computed","submit","value","cancel","clickOnTitle","_createElementBlock","_normalizeClass","$slots","_renderSlot","_ctx","_createElementVNode","_createVNode","Textarea","$event","_cache","_withKeys","_withModifiers","_hoisted_1","_createBlock","Button","$core","intermediateValue","watch","_openBlock","TopInput","_mergeProps","TopButton","model","_useModel","elRef","valuesAvailable","item","name","_Fragment","_renderList","TopCheckbox","_createTextVNode","_toDisplayString","TopRadio","OptionGroup","$props","_hoisted_2","_hoisted_3","emits","isVisible","onAccept","_unref"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"formsExt.js","sources":["../../src/components/formsExt/editArea/editArea.vue","../../src/components/formsExt/editInput/editInput.vue","../../src/components/formsExt/libs/optionGroup/optionGroup.vue","../../src/components/formsExt/radioGroup/radioGroup.vue","../../src/components/formsExt/checkboxGroup/checkboxGroup.vue","../../src/components/formsExt/info/info.vue","../../src/components/formsExt/policy/policy.vue"],"sourcesContent":["<script setup lang=\"ts\">\nimport { computed, ref } from 'vue';\nimport Button from '@/components/forms/button/button.vue';\nimport type { Emits, Props, Slots } from './types';\nimport Textarea from '@/components/forms/textarea/textarea.vue';\n\nconst props = withDefaults(defineProps<Props>(), {\n\tdefaultValue: '',\n\tcancelText: 'Cancel',\n\tsubmitText: 'Send',\n\tcloseText: 'Close',\n\texpandable: true,\n});\n\ndefineSlots<Slots>();\nconst emit = defineEmits<Emits>();\n\nconst localValue = ref(props.defaultValue);\n\nconst isFocused = ref(props.isFocused);\n\nconst isChanged = computed(() => localValue.value !== props.defaultValue);\n\nconst submit = (value: string) => {\n\temit('submit', value);\n\n\tlocalValue.value = props.defaultValue;\n};\n\nconst cancel = () => {\n\tif (props.forceShowCloseBtn && !isChanged.value) {\n\t\temit('close');\n\n\t\treturn;\n\t}\n\n\tlocalValue.value = props.defaultValue;\n};\n\nconst clickOnTitle = () => {\n\tif (props.attachToKeyboard) emit('clickOnTitle');\n};\n</script>\n\n<template>\n\t<div\n\t\t:class=\"{\n\t\t\t'top-editArea': true,\n\t\t\t'top-editArea-attachedToKeyboard': attachToKeyboard,\n\t\t}\"\n\t>\n\t\t<div\n\t\t\tv-if=\"title || $slots.caption\"\n\t\t\tclass=\"top-editArea_caption\"\n\t\t\t@click=\"clickOnTitle()\"\n\t\t>\n\t\t\t<slot name=\"caption\">\n\t\t\t\t{{ title }}\n\t\t\t</slot>\n\t\t</div>\n\n\t\t<div\n\t\t\t:class=\"{\n\t\t\t\t'top-editArea_form': true,\n\t\t\t\t'top-forms-focusable': true,\n\t\t\t\t'top-as-input': true,\n\t\t\t\t'top-error': isError,\n\t\t\t\t'top-focus': isFocused,\n\t\t\t}\"\n\t\t>\n\t\t\t<Textarea\n\t\t\t\tv-model=\"localValue\"\n\t\t\t\t:name=\"name\"\n\t\t\t\t:placeholder=\"placeholder\"\n\t\t\t\t:rows=\"rows\"\n\t\t\t\t:minHeight=\"minHeight\"\n\t\t\t\t:expandable=\"expandable\"\n\t\t\t\t:disabled=\"disabled\"\n\t\t\t\t:readonly=\"readonly\"\n\t\t\t\t:isError=\"isError\"\n\t\t\t\t:hint=\"hint\"\n\t\t\t\tclass=\"top-editArea_element\"\n\t\t\t\t@focus=\"() => isFocused = true\"\n\t\t\t\t@blur=\"() => isFocused = false\"\n\t\t\t\t@keyup.esc=\"cancel\"\n\t\t\t\t@keyup.ctrl.enter=\"submit(localValue)\"\n\t\t\t/>\n\n\t\t\t<div class=\"top-editArea_footer\">\n\t\t\t\t<Button\n\t\t\t\t\tv-if=\"isChanged || forceShowCloseBtn\"\n\t\t\t\t\t:icon=\"$core.state.isMobile ? '': ''\"\n\t\t\t\t\tclass=\"top-editArea_button\"\n\t\t\t\t\tcolor=\"theme\"\n\t\t\t\t\tstyling=\"soft\"\n\t\t\t\t\t@click=\"cancel\"\n\t\t\t\t>\n\t\t\t\t\t<template\n\t\t\t\t\t\t#default\n\t\t\t\t\t\tv-if=\"!$core.state.isMobile\"\n\t\t\t\t\t>\n\t\t\t\t\t\t{{ cancelText }}\n\t\t\t\t\t</template>\n\t\t\t\t</Button>\n\n\t\t\t\t<Button\n\t\t\t\t\tclass=\"top-editArea_button\"\n\t\t\t\t\tv-if=\"isChanged\"\n\t\t\t\t\t:icon=\"$core.state.isMobile ? '': ''\"\n\t\t\t\t\t@click=\"submit(localValue)\"\n\t\t\t\t>\n\t\t\t\t\t<template\n\t\t\t\t\t\t#default\n\t\t\t\t\t\tv-if=\"!$core.state.isMobile\"\n\t\t\t\t\t>\n\t\t\t\t\t\t{{ submitText }}\n\t\t\t\t\t</template>\n\t\t\t\t</Button>\n\t\t\t</div>\n\t\t</div>\n\t</div>\n</template>\n\n<style>\n.top-editArea {\n\t--top-editArea-bottom: env(keyboard-inset-height, 0px);\n\t--top-editArea-offset-bottom: 0px;\n\n\tdisplay: flex;\n\tflex-direction: column;\n\tgap: 6px;\n}\n\n.top-editArea_caption {\n\tfont-size: 12px;\n}\n\n.top-editArea_form {\n\tflex-direction: column;\n}\n\n/* textarea в EditArea */\n.top-textarea {\n\twidth: 100%;\n}\n\n.top-editArea_element.top-textarea_textarea {\n\t--top-forms-border-width: 0px;\n\n\toutline: none;\n\tanimation: none;\n}\n\n/* footer */\n.top-editArea_footer {\n\tpadding: var(--top-forms-padding);\n\tdisplay: flex;\n\tmin-height: 32px;\n\talign-self: flex-end;\n\tjustify-content: flex-end;\n\tgap: var(--top-forms-padding);\n}\n\n/* attachedToKeyboard */\n.top-editArea-attachedToKeyboard {\n\tbackground: var(--top-forms-background-color);\n\tposition: fixed;\n\tbottom: calc(var(--top-editArea-offset-bottom) + var(--top-editArea-bottom));\n\tright: 0;\n\tleft: 0;\n\tz-index: 2;\n\tgap: 0;\n\ttransition: bottom var(--transition-fast);\n}\n\n.top-editArea-attachedToKeyboard .top-editArea_form {\n\tborder-radius: 0;\n\tborder: none;\n\tborder-top: 1px solid var(--top-forms-border-color);\n}\n\n.top-editArea-attachedToKeyboard .top-editArea_title {\n\tcursor: pointer;\n\tborder-top: 1px solid var(--color-line-2-opacity);\n\tpadding: var(--top-forms-padding);\n}\n\n.top-editArea-attachedToKeyboard .top-editArea_footer > [data-top-icon] {\n\tborder-radius: 100%;\n}\n\n@media screen and (max-width: 900px) {\n\t.top-editArea_form {\n\t\tflex-direction: row;\n\t}\n}\n</style>\n","<script setup lang=\"ts\">\nimport { ref, watch } from 'vue';\nimport type { Emits, Props } from './types';\nimport TopInput from '@/components/forms/input/input.vue';\nimport TopButton from '@/components/forms/button/button.vue';\n\nconst props = defineProps<Props>();\n\nconst intermediateValue = ref(props.modelValue);\n\nwatch(() => props.modelValue, () => {\n\tintermediateValue.value = props.modelValue;\n});\n\nconst emit = defineEmits<Emits>();\n\nconst submit = () => {\n\temit('update:modelValue', intermediateValue.value);\n};\n</script>\n\n<template>\n\t<div class=\"top-editInput\">\n\t\t<TopInput\n\t\t\t:=\"input\"\n\t\t\t@keydown.esc.capture.stop=\"intermediateValue = modelValue\"\n\t\t\t@keydown.enter.stop=\"submit\"\n\t\t\tv-model=\"intermediateValue\"\n\t\t>\n\t\t\t<template #caption v-if=\"$slots.caption\">\n\t\t\t\t<slot name=\"caption\"></slot>\n\t\t\t</template>\n\t\t</TopInput>\n\n\t\t<TopButton\n\t\t\tv-if=\"intermediateValue !== modelValue || alwaysShowSubmitBtn\"\n\t\t\ticon=\"\"\n\t\t\tstyling=\"soft\"\n\t\t\t:=\"button\"\n\t\t\t@click=\"submit\"\n\t\t/>\n\t</div>\n</template>\n\n<style>\n.top-editInput {\n\twidth: 220px;\n\tflex-grow: 1;\n\tdisplay: flex;\n\talign-items: flex-end;\n\tgap: var(--top-gap-1);\n}\n\n.top-editInput .top-input {\n\twidth: unset;\n\tflex-grow: 1;\n}\n</style>\n","<script setup lang=\"ts\">\nimport { ref, watch } from 'vue';\nimport type { Props } from './types';\nimport TopCheckbox from '@/components/forms/checkbox/checkbox.vue';\nimport TopRadio from '@/components/forms/radio/radio.vue';\n\nconst model = defineModel<Props['modelValue']>({\n\trequired: true,\n});\n\nconst props = withDefaults(defineProps<Props>(), {\n\tsize: 's',\n});\n\nconst elRef = ref<HTMLElement | null>(null);\n\nwatch(model, () => {\n\tconst valuesAvailable = props.items.map(item => item.value);\n\n\tif (Array.isArray(model.value)) {\n\t\t// есть ли неподдерживаемые значения\n\t\tconst valueIsWrong = model.value.find((value) => {\n\t\t\treturn !valuesAvailable.includes(value);\n\t\t});\n\n\t\tif (valueIsWrong) {\n\t\t\t// оставить только поддерживаемые значения\n\t\t\tmodel.value = model.value.filter((value) => {\n\t\t\t\treturn valuesAvailable.includes(value);\n\t\t\t});\n\t\t}\n\t} else {\n\t\tif (!valuesAvailable.includes(model.value)) {\n\t\t\tmodel.value = valuesAvailable[0] ?? '';\n\t\t}\n\t}\n\n\telRef.value?.querySelector('.radioGroup_item-selected')?.scrollIntoView();\n}, { immediate: true });\n\nconst name = 'optionGroup-' + Math.random();\n</script>\n\n<template>\n\t<div\n\t\tref=\"elRef\"\n\t\t:class=\"{\n\t\t\t['top-optionGroup']: true,\n\t\t\t['top-optionGroup-showIndicator_' + Number(showIndicator)]: true,\n\t\t\t['top-scrollBarXHidding']: true,\n\t\t\t['top-size_' + size]: !!size,\n\t\t\t['top-error']: isError,\n\t\t}\"\n\t>\n\t\t<template v-if=\"Array.isArray(model)\">\n\t\t\t<TopCheckbox\n\t\t\t\t:class=\"{\n\t\t\t\t\t['top-optionGroup_item-selected']: model.includes(item.value),\n\t\t\t\t\t['top-optionGroup_item']: true,\n\t\t\t\t}\"\n\t\t\t\tv-for=\"item of items\"\n\t\t\t\tv-model=\"model\"\n\t\t\t\t:value=\"item.value\"\n\t\t\t\t:title=\"item.title\"\n\t\t\t\t:disabled=\"item.disabled\"\n\t\t\t\t:isError\n\t\t\t\t:data-top-icon=\"item.icon\"\n\t\t\t>\n\t\t\t\t<template #default v-if=\"item.label\">\n\t\t\t\t\t{{ item.label }}\n\t\t\t\t</template>\n\t\t\t</TopCheckbox>\n\t\t</template>\n\n\t\t<template v-else>\n\t\t\t<TopRadio\n\t\t\t\t:class=\"{\n\t\t\t\t\t['top-optionGroup_item-selected']: item.value === model,\n\t\t\t\t\t['top-optionGroup_item']: true,\n\t\t\t\t}\"\n\t\t\t\tv-for=\"item of items\"\n\t\t\t\tv-model=\"model\"\n\t\t\t\t:name\n\t\t\t\t:value=\"item.value\"\n\t\t\t\t:title=\"item.title\"\n\t\t\t\t:disabled=\"item.disabled\"\n\t\t\t\t:isError\n\t\t\t\t:data-top-icon=\"item.icon\"\n\t\t\t>\n\t\t\t\t<template #default v-if=\"item.label\">\n\t\t\t\t\t{{ item.label }}\n\t\t\t\t</template>\n\t\t\t</TopRadio>\n\t\t</template>\n\t</div>\n</template>\n\n<style>\n.top-optionGroup {\n\tuser-select: none;\n\tbox-sizing: border-box;\n\tborder-radius: 8px;\n\tbackground-color: var(--color-layout-middle);\n\theight: var(--top-forms-base-height);\n\tpadding: 2px;\n\tgap: 2px;\n\tdisplay: flex;\n\talign-items: flex-start;\n}\n\n.top-optionGroup_item {\n\tcursor: pointer;\n\tbox-sizing: border-box;\n\tborder-radius: 6px;\n\theight: calc(var(--top-forms-base-height) - 4px);\n\tpadding: 1px var(--top-padding-2);\n\tcolor: var(--color-text-2);\n\tfont-weight: 400;\n\twhite-space: nowrap;\n\tdisplay: flex;\n\talign-items: center;\n\tjustify-content: center;\n\tflex-grow: 1;\n\tgap: var(--top-gap-1);\n}\n\n.top-optionGroup_item:hover {\n\tbackground-color: var(--color-layout-front-1);\n\tbox-shadow: 0px 4px 32px 0px rgba(4, 9, 84, 0.10), 0px 0px 4px 0px rgba(4, 9, 84, 0.08);\n}\n\n.top-optionGroup_item-selected {\n\tcolor: var(--color-text-1);\n\tbackground-color: var(--color-bg-lightning-1);\n\tbox-shadow: 0px 4px 32px 0px rgba(4, 9, 84, 0.10), 0px 0px 4px 0px rgba(4, 9, 84, 0.08);\n}\n\n.top-optionGroup_item > .top-forms-optionLabel {\n\tflex-grow: 0;\n}\n\n/* indicator */\n.top-optionGroup-showIndicator_0 > .top-optionGroup_item {\n\tjustify-content: center;\n}\n\n.top-optionGroup-showIndicator_0 > .top-optionGroup_item:has(:focus-visible) {\n\toutline: 2px solid var(--color-bg-primary-2);\n\toutline-offset: -1px;\n}\n\n.top-optionGroup-showIndicator_1 > .top-optionGroup_item {\n\tpadding: 1px 3px;\n\tjustify-content: flex-start;\n}\n\n.top-optionGroup-showIndicator_0 > .top-optionGroup_item > .top-forms-option {\n\topacity: 0;\n\twidth: 0;\n\theight: 0;\n\tposition: absolute;\n}\n\n.top-optionGroup_item > .top-forms-option {\n\torder: -1;\n}\n</style>\n","<script setup lang=\"ts\">\nimport OptionGroup from '../libs/optionGroup/optionGroup.vue';\n\nimport type { Props } from './types';\n\nconst model = defineModel<Props['modelValue']>({\n\trequired: true,\n});\n\ndefineProps<Props>();\n</script>\n\n<template>\n\t<OptionGroup\n\t\tclass=\"top-radioGroup\"\n\t\tv-model=\"model\"\n\t\t:items=\"$props.items\"\n\t\t:size=\"$props.size\"\n\t\t:showIndicator=\"$props.showIndicator\"\n\t\t:isError=\"$props.isError\"\n\t>\n\t\t<slot/>\n\t</OptionGroup>\n</template>\n","<script setup lang=\"ts\">\nimport OptionGroup from '../libs/optionGroup/optionGroup.vue';\n\nimport type { Props } from './types';\n\nconst model = defineModel<Props['modelValue']>({\n\trequired: true,\n});\n\ndefineProps<Props>();\n</script>\n\n<template>\n\t<OptionGroup\n\t\tclass=\"top-checkboxGroup\"\n\t\tv-model=\"model\"\n\t\t:items=\"$props.items\"\n\t\t:size=\"$props.size\"\n\t\t:showIndicator=\"$props.showIndicator\"\n\t\t:isError=\"$props.isError\"\n\t>\n\t\t<slot/>\n\t</OptionGroup>\n</template>\n","<script lang=\"ts\" setup>\nimport type { Props, Slots } from './types';\n\nwithDefaults(defineProps<Props>(), {\n\tstyling: 'default',\n\tsize: 'default',\n});\n\ndefineSlots<Slots>();\n</script>\n\n<template>\n\t<div\n\t\t:class=\"{\n\t\t\t['top-info']: true,\n\t\t\t['top-size_' + size]: true,\n\t\t\t['top-info-styling_' + styling]: true,\n\t\t}\"\n\t\t:data-top-icon=\"icon\"\n\t>\n\t\t<div class=\"top-info_text\">\n\t\t\t<slot></slot>\n\t\t</div>\n\n\t\t<span v-if=\"$slots.additional\" class=\"top-info_value\">\n\t\t\t<slot name=\"additional\"></slot>\n\t\t</span>\n\t</div>\n</template>\n\n<style>\n.top-info {\n\t--top-icon-width: var(--top-icon-size);\n\n\tborder-radius: var(--top-forms-radius);\n\tbox-sizing: border-box;\n\tmin-height: var(--top-forms-base-height);\n\tpadding: var(--top-padding-1) var(--top-padding-2);\n\tflex-grow: 5;\n\tdisplay: flex;\n\talign-items: center;\n\tjustify-content: space-between;\n\tgap: var(--top-gap-2);\n}\n\n.top-info_text {\n\tflex-grow: 1;\n}\n\n.top-info_value {\n\tfont-weight: bold;\n}\n\n/* size */\n.top-info.top-size_default {\n\tborder-radius: var(--top-radius-3);\n\tpadding: var(--top-padding-4);\n}\n\n/* styling */\n.top-info-styling_default {\n\t--top-icon-color: var(--color-text-2);\n\n\tbackground: var(--color-layer-1);\n}\n\n.top-info-styling_info {\n\t--top-icon-color: var(--color-text-primary);\n\n\tbackground: var(--color-layer-primary-1);\n}\n\n.top-info-styling_warning {\n\t--top-icon-color: var(--color-text-warning);\n\n\tbackground: var(--color-layer-warning-1);\n}\n\n.top-info-styling_negative {\n\t--top-icon-color: var(--color-text-negative);\n\n\tbackground: var(--color-layer-negative-1);\n}\n</style>\n","<script setup lang=\"ts\">\nimport { ref } from 'vue';\nimport { TopButton } from '@/components/forms/forms';\nimport type { Emits, Props } from '@/components/formsExt/policy/types';\n\ndefineProps<Props>();\nconst emits = defineEmits<Emits>();\n\nconst isVisible = ref(true);\n\nconst onAccept = () => {\n\tisVisible.value = false;\n\n\temits('accept');\n};\n</script>\n\n<template>\n\t<div\n\t\tv-if=\"isVisible\"\n\t\tclass=\"top-policy\"\n\t>\n\t\t<div class=\"top-policy_title\">\n\t\t\t{{ title }}\n\t\t</div>\n\n\t\t<div\n\t\t\tclass=\"top-policy_description\"\n\t\t\tv-html=\"description\"\n\t\t></div>\n\n\t\t<TopButton\n\t\t\tsize=\"m\"\n\t\t\t@click=\"onAccept\"\n\t\t>\n\t\t\t{{ acceptText }}\n\t\t</TopButton>\n\t</div>\n</template>\n\n<style>\n.top-policy {\n\tbox-sizing: border-box;\n\tbox-shadow: var(--top-shadow-b);\n\tborder-radius: var(--top-radius-4);\n\tbackground: var(--color-bg-lightning-1);\n\twidth: 600px;\n\tpadding: var(--top-padding-4);\n\tposition: fixed;\n\tright: var(--top-gap-10);\n\tbottom: var(--top-gap-10);\n\tdisplay: flex;\n\tflex-direction: column;\n\tgap: var(--top-gap-4);\n\tz-index: 10000;\n}\n\n.top-policy_title {\n\tfont-size: 24px;\n\tfont-weight: 700;\n}\n\n.top-policy_description {\n\tfont-size: 14px;\n}\n\n@media screen and (max-width: 900px) {\n\t.top-policy {\n\t\twidth: 100%;\n\t\tright: 0;\n\t\tbottom: calc(var(--top-gap-5) + var(--toolbar-height, 0px));\n\t}\n}\n</style>\n"],"names":["props","__props","emit","__emit","localValue","ref","isFocused","isChanged","computed","submit","value","cancel","clickOnTitle","_createElementBlock","_normalizeClass","$slots","_renderSlot","_ctx","_createElementVNode","_createVNode","Textarea","$event","_cache","_withKeys","_withModifiers","_hoisted_1","_createBlock","Button","$core","intermediateValue","watch","_openBlock","TopInput","_mergeProps","TopButton","model","_useModel","elRef","valuesAvailable","item","name","_Fragment","_renderList","TopCheckbox","_createTextVNode","_toDisplayString","TopRadio","OptionGroup","$props","_hoisted_2","_hoisted_3","emits","isVisible","onAccept","_unref"],"mappings":"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"}
|