@topvisor/ui 1.4.1-titleHTML.0 → 1.4.1-titleHTML.21

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (67) hide show
  1. package/.chunks/core-BE_-rKvW.es.js +242 -0
  2. package/.chunks/core-BE_-rKvW.es.js.map +1 -0
  3. package/.chunks/core-DJS4o9Vt.amd.js +2 -0
  4. package/.chunks/core-DJS4o9Vt.amd.js.map +1 -0
  5. package/.chunks/{datepicker-D8SjLnKy.es.js → datepicker-C0jmLfiX.es.js} +2 -2
  6. package/.chunks/{datepicker-D8SjLnKy.es.js.map → datepicker-C0jmLfiX.es.js.map} +1 -1
  7. package/.chunks/{dialog_regionSelectorRegions-BVuXu3Hl.es.js → dialog_regionSelectorRegions-Btp9cfmF.es.js} +4 -4
  8. package/.chunks/{dialog_regionSelectorRegions-BVuXu3Hl.es.js.map → dialog_regionSelectorRegions-Btp9cfmF.es.js.map} +1 -1
  9. package/.chunks/{dialogs.vue_vue_type_script_setup_true_lang-DlvY7Imv.es.js → dialogs.vue_vue_type_script_setup_true_lang-DMhcuiHP.es.js} +2 -2
  10. package/.chunks/{dialogs.vue_vue_type_script_setup_true_lang-DlvY7Imv.es.js.map → dialogs.vue_vue_type_script_setup_true_lang-DMhcuiHP.es.js.map} +1 -1
  11. package/.chunks/{forms-Dz-wIQ-s.es.js → forms-BAUgA7Ct.es.js} +16 -16
  12. package/.chunks/{forms-Dz-wIQ-s.es.js.map → forms-BAUgA7Ct.es.js.map} +1 -1
  13. package/.chunks/{notice-B_txXVCr.es.js → notice-CGgc2m0q.es.js} +2 -2
  14. package/.chunks/{notice-B_txXVCr.es.js.map → notice-CGgc2m0q.es.js.map} +1 -1
  15. package/.chunks/{page.vue_vue_type_script_setup_true_lang-BKQrX7yF.es.js → page.vue_vue_type_script_setup_true_lang-BMTt9SU8.es.js} +4 -4
  16. package/.chunks/{page.vue_vue_type_script_setup_true_lang-BKQrX7yF.es.js.map → page.vue_vue_type_script_setup_true_lang-BMTt9SU8.es.js.map} +1 -1
  17. package/.chunks/{policy.vue_vue_type_style_index_0_lang-2tHXHN3e.es.js → policy.vue_vue_type_style_index_0_lang-LkyBILW6.es.js} +4 -4
  18. package/.chunks/{policy.vue_vue_type_style_index_0_lang-2tHXHN3e.es.js.map → policy.vue_vue_type_style_index_0_lang-LkyBILW6.es.js.map} +1 -1
  19. package/.chunks/{popup-DiKBvdXr.es.js → popup-CVHDbG9h.es.js} +2 -2
  20. package/.chunks/{popup-DiKBvdXr.es.js.map → popup-CVHDbG9h.es.js.map} +1 -1
  21. package/.chunks/{popupHint.vue_vue_type_style_index_0_lang-DkmYKxyr.es.js → popupHint.vue_vue_type_style_index_0_lang-BIWw5zUX.es.js} +2 -2
  22. package/.chunks/{popupHint.vue_vue_type_style_index_0_lang-DkmYKxyr.es.js.map → popupHint.vue_vue_type_style_index_0_lang-BIWw5zUX.es.js.map} +1 -1
  23. package/.chunks/{utils-CVP195Ai.es.js → utils-BYaZxGC1.es.js} +2 -2
  24. package/.chunks/{utils-CVP195Ai.es.js.map → utils-BYaZxGC1.es.js.map} +1 -1
  25. package/.chunks/{utils-B_WbEbrB.es.js → utils-DG_W0xvD.es.js} +3 -3
  26. package/.chunks/{utils-B_WbEbrB.es.js.map → utils-DG_W0xvD.es.js.map} +1 -1
  27. package/.chunks/{widgetInput.vue_vue_type_script_setup_true_lang-CCV8nSim.es.js → widgetInput.vue_vue_type_script_setup_true_lang-Brs-RxDI.es.js} +2 -2
  28. package/.chunks/{widgetInput.vue_vue_type_script_setup_true_lang-CCV8nSim.es.js.map → widgetInput.vue_vue_type_script_setup_true_lang-Brs-RxDI.es.js.map} +1 -1
  29. package/charts/charts.js +1 -1
  30. package/core/app.amd.js +1 -1
  31. package/core/app.js +5 -5
  32. package/dialog/dialog.js +2 -2
  33. package/forms/forms.js +3 -3
  34. package/formsExt/formsExt.amd.js +1 -1
  35. package/formsExt/formsExt.amd.js.map +1 -1
  36. package/formsExt/formsExt.js +68 -60
  37. package/formsExt/formsExt.js.map +1 -1
  38. package/icomoon/Topvisor icons.json +6658 -0
  39. package/icomoon/demo.html +15 -1
  40. package/icomoon/fonts/Topvisor-2.eot +0 -0
  41. package/icomoon/fonts/Topvisor-2.svg +1 -0
  42. package/icomoon/fonts/Topvisor-2.ttf +0 -0
  43. package/icomoon/fonts/Topvisor-2.woff +0 -0
  44. package/icomoon/selection.json +1 -1
  45. package/icomoon/style.css +8 -5
  46. package/layout/layout.js +1 -1
  47. package/package.json +1 -1
  48. package/popup/popup.js +4 -4
  49. package/popup/worker.js +2 -2
  50. package/project/project.amd.js +1 -1
  51. package/project/project.js +22 -22
  52. package/src/components/formsExt/editInput/editInput.vue.d.ts +16 -1
  53. package/src/core/directives/shortcut.d.ts +12 -0
  54. package/tabsView/tabsView.js +2 -2
  55. package/utils/clipboard.js +1 -1
  56. package/utils/date.js +1 -1
  57. package/utils/device.js +1 -1
  58. package/utils/lodash.js +1 -1
  59. package/utils/price.js +1 -1
  60. package/utils/searchers.amd.js +1 -1
  61. package/utils/searchers.js +3 -3
  62. package/utils/string.js +1 -1
  63. package/web-types.json +31 -0
  64. package/.chunks/core-B-mZaxOL.amd.js +0 -2
  65. package/.chunks/core-B-mZaxOL.amd.js.map +0 -1
  66. package/.chunks/core-BNsYbDEi.es.js +0 -196
  67. package/.chunks/core-BNsYbDEi.es.js.map +0 -1
@@ -1,6 +1,6 @@
1
- import { defineComponent as y, ref as h, computed as F, createElementBlock as c, openBlock as i, normalizeClass as V, createCommentVNode as b, createElementVNode as E, renderSlot as k, createTextVNode as $, toDisplayString as p, createVNode as z, withKeys as w, withModifiers as g, createBlock as f, createSlots as I, withCtx as v, watch as K, toRef as L, mergeProps as M, mergeModels as A, useModel as C, Fragment as G, renderList as S, unref as N } from "vue";
2
- import { g as U, e as B, _ as q, h as R, j as D } from "../.chunks/forms-Dz-wIQ-s.es.js";
3
- import { c as re, I as ue, a as de, _ as ce, b as me } from "../.chunks/policy.vue_vue_type_style_index_0_lang-2tHXHN3e.es.js";
1
+ import { defineComponent as y, ref as k, computed as F, createElementBlock as c, openBlock as i, normalizeClass as V, createCommentVNode as b, createElementVNode as E, renderSlot as h, createTextVNode as $, toDisplayString as f, createVNode as z, withKeys as I, withModifiers as g, createBlock as v, createSlots as T, withCtx as p, watch as K, toRef as L, mergeProps as M, mergeModels as A, useModel as C, Fragment as G, renderList as S, unref as N } from "vue";
2
+ import { g as U, e as B, _ as q, h as R, j as D } from "../.chunks/forms-BAUgA7Ct.es.js";
3
+ import { c as re, I as ue, a as de, _ as ce, b as me } from "../.chunks/policy.vue_vue_type_style_index_0_lang-LkyBILW6.es.js";
4
4
  const O = { class: "top-editArea_footer" }, ee = /* @__PURE__ */ y({
5
5
  __name: "editArea",
6
6
  props: {
@@ -27,15 +27,15 @@ const O = { class: "top-editArea_footer" }, ee = /* @__PURE__ */ y({
27
27
  },
28
28
  emits: ["submit", "close", "clickOnTitle"],
29
29
  setup(e, { emit: o }) {
30
- const t = e, a = o, s = h(t.defaultValue), n = h(t.isFocused), r = F(() => s.value !== t.defaultValue), l = (m) => {
30
+ const t = e, a = o, s = k(t.defaultValue), r = k(t.isFocused), n = F(() => s.value !== t.defaultValue), l = (m) => {
31
31
  a("submit", m), s.value = t.defaultValue;
32
32
  }, d = () => {
33
- if (t.forceShowCloseBtn && !r.value) {
33
+ if (t.forceShowCloseBtn && !n.value) {
34
34
  a("close");
35
35
  return;
36
36
  }
37
37
  s.value = t.defaultValue;
38
- }, H = () => {
38
+ }, x = () => {
39
39
  t.attachToKeyboard && a("clickOnTitle");
40
40
  };
41
41
  return (m, u) => (i(), c("div", {
@@ -47,10 +47,10 @@ const O = { class: "top-editArea_footer" }, ee = /* @__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] = (T) => H())
50
+ onClick: u[0] || (u[0] = (w) => x())
51
51
  }, [
52
- k(m.$slots, "caption", {}, () => [
53
- $(p(e.title), 1)
52
+ h(m.$slots, "caption", {}, () => [
53
+ $(f(e.title), 1)
54
54
  ])
55
55
  ])) : b("", !0),
56
56
  E("div", {
@@ -59,12 +59,12 @@ const O = { class: "top-editArea_footer" }, ee = /* @__PURE__ */ y({
59
59
  "top-forms-focusable": !0,
60
60
  "top-as-input": !0,
61
61
  "top-error": e.isError,
62
- "top-focus": n.value
62
+ "top-focus": r.value
63
63
  })
64
64
  }, [
65
65
  z(U, {
66
66
  modelValue: s.value,
67
- "onUpdate:modelValue": u[1] || (u[1] = (T) => s.value = T),
67
+ "onUpdate:modelValue": u[1] || (u[1] = (w) => s.value = w),
68
68
  name: e.name,
69
69
  placeholder: e.placeholder,
70
70
  rows: e.rows,
@@ -75,40 +75,40 @@ const O = { class: "top-editArea_footer" }, ee = /* @__PURE__ */ y({
75
75
  isError: e.isError,
76
76
  hint: e.hint,
77
77
  class: "top-editArea_element",
78
- onFocus: u[2] || (u[2] = () => n.value = !0),
79
- onBlur: u[3] || (u[3] = () => n.value = !1),
78
+ onFocus: u[2] || (u[2] = () => r.value = !0),
79
+ onBlur: u[3] || (u[3] = () => r.value = !1),
80
80
  onKeyup: [
81
- w(d, ["esc"]),
82
- u[4] || (u[4] = w(g((T) => l(s.value), ["ctrl"]), ["enter"]))
81
+ I(d, ["esc"]),
82
+ u[4] || (u[4] = I(g((w) => l(s.value), ["ctrl"]), ["enter"]))
83
83
  ]
84
84
  }, null, 8, ["modelValue", "name", "placeholder", "rows", "minHeight", "expandable", "disabled", "readonly", "isError", "hint"]),
85
85
  E("div", O, [
86
- r.value || e.forceShowCloseBtn ? (i(), f(B, {
86
+ n.value || e.forceShowCloseBtn ? (i(), v(B, {
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
- }, I({ _: 2 }, [
93
+ }, T({ _: 2 }, [
94
94
  m.$core.state.isMobile ? void 0 : {
95
95
  name: "default",
96
- fn: v(() => [
97
- $(p(e.cancelText), 1)
96
+ fn: p(() => [
97
+ $(f(e.cancelText), 1)
98
98
  ]),
99
99
  key: "0"
100
100
  }
101
101
  ]), 1032, ["icon"])) : b("", !0),
102
- r.value ? (i(), f(B, {
102
+ n.value ? (i(), v(B, {
103
103
  key: 1,
104
104
  class: "top-editArea_button",
105
105
  icon: m.$core.state.isMobile ? "" : "",
106
- onClick: u[5] || (u[5] = (T) => l(s.value))
107
- }, I({ _: 2 }, [
106
+ onClick: u[5] || (u[5] = (w) => l(s.value))
107
+ }, T({ _: 2 }, [
108
108
  m.$core.state.isMobile ? void 0 : {
109
109
  name: "default",
110
- fn: v(() => [
111
- $(p(e.submitText), 1)
110
+ fn: p(() => [
111
+ $(f(e.submitText), 1)
112
112
  ]),
113
113
  key: "0"
114
114
  }
@@ -126,28 +126,36 @@ const O = { class: "top-editArea_footer" }, ee = /* @__PURE__ */ y({
126
126
  },
127
127
  emits: ["update:modelValue"],
128
128
  setup(e, { emit: o }) {
129
- const t = e, a = h(t.modelValue);
129
+ const t = e, a = k(t.modelValue);
130
130
  K(L(t.modelValue), () => {
131
131
  a.value = t.modelValue;
132
132
  });
133
- const s = o, n = () => {
133
+ const s = o, r = () => {
134
134
  s("update:modelValue", a.value);
135
135
  };
136
- return (r, l) => (i(), c("div", P, [
136
+ return (n, l) => (i(), c("div", P, [
137
137
  z(q, M(e.input, {
138
- onKeydownCapture: l[0] || (l[0] = w(g((d) => a.value = e.modelValue, ["stop"]), ["esc"])),
139
- onKeydown: w(g(n, ["stop"]), ["enter"]),
138
+ onKeydownCapture: l[0] || (l[0] = I(g((d) => a.value = e.modelValue, ["stop"]), ["esc"])),
139
+ onKeydown: I(g(r, ["stop"]), ["enter"]),
140
140
  modelValue: a.value,
141
141
  "onUpdate:modelValue": l[1] || (l[1] = (d) => a.value = d)
142
- }), null, 16, ["onKeydown", "modelValue"]),
143
- a.value !== e.modelValue ? (i(), f(B, M({
142
+ }), T({ _: 2 }, [
143
+ n.$slots.caption ? {
144
+ name: "caption",
145
+ fn: p(() => [
146
+ h(n.$slots, "caption")
147
+ ]),
148
+ key: "0"
149
+ } : void 0
150
+ ]), 1040, ["onKeydown", "modelValue"]),
151
+ a.value !== e.modelValue ? (i(), v(B, M({
144
152
  key: 0,
145
153
  icon: "",
146
154
  styling: "soft"
147
- }, e.button, { onClick: n }), null, 16)) : b("", !0)
155
+ }, e.button, { onClick: r }), null, 16)) : b("", !0)
148
156
  ]));
149
157
  }
150
- }), x = /* @__PURE__ */ y({
158
+ }), H = /* @__PURE__ */ y({
151
159
  __name: "optionGroup",
152
160
  props: /* @__PURE__ */ A({
153
161
  modelValue: {},
@@ -163,13 +171,13 @@ const O = { class: "top-editArea_footer" }, ee = /* @__PURE__ */ y({
163
171
  }),
164
172
  emits: ["update:modelValue"],
165
173
  setup(e) {
166
- const o = C(e, "modelValue"), t = e, a = h(null);
174
+ const o = C(e, "modelValue"), t = e, a = k(null);
167
175
  K(o, () => {
168
- const n = t.items.map((r) => r.value);
169
- Array.isArray(o.value) ? o.value.find((l) => !n.includes(l)) && (o.value = o.value.filter((l) => n.includes(l))) : n.includes(o.value) || (o.value = n[0] ?? ""), a.value?.querySelector(".radioGroup_item-selected")?.scrollIntoView();
176
+ const r = t.items.map((n) => n.value);
177
+ 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();
170
178
  }, { immediate: !0 });
171
179
  const s = "optionGroup-" + Math.random();
172
- return (n, r) => (i(), c("div", {
180
+ return (r, n) => (i(), c("div", {
173
181
  ref_key: "elRef",
174
182
  ref: a,
175
183
  class: V({
@@ -180,44 +188,44 @@ const O = { class: "top-editArea_footer" }, ee = /* @__PURE__ */ y({
180
188
  "top-error": e.isError
181
189
  })
182
190
  }, [
183
- Array.isArray(o.value) ? (i(!0), c(G, { key: 0 }, S(e.items, (l) => (i(), f(R, {
191
+ Array.isArray(o.value) ? (i(!0), c(G, { key: 0 }, S(e.items, (l) => (i(), v(R, {
184
192
  class: V({
185
193
  "top-optionGroup_item-selected": o.value.includes(l.value),
186
194
  "top-optionGroup_item": !0
187
195
  }),
188
196
  modelValue: o.value,
189
- "onUpdate:modelValue": r[0] || (r[0] = (d) => o.value = d),
197
+ "onUpdate:modelValue": n[0] || (n[0] = (d) => o.value = d),
190
198
  value: l.value,
191
199
  title: l.title,
192
200
  disabled: l.disabled,
193
201
  isError: e.isError,
194
202
  "data-top-icon": l.icon
195
- }, I({ _: 2 }, [
203
+ }, T({ _: 2 }, [
196
204
  l.label ? {
197
205
  name: "default",
198
- fn: v(() => [
199
- $(p(l.label), 1)
206
+ fn: p(() => [
207
+ $(f(l.label), 1)
200
208
  ]),
201
209
  key: "0"
202
210
  } : void 0
203
- ]), 1032, ["class", "modelValue", "value", "title", "disabled", "isError", "data-top-icon"]))), 256)) : (i(!0), c(G, { key: 1 }, S(e.items, (l) => (i(), f(D, {
211
+ ]), 1032, ["class", "modelValue", "value", "title", "disabled", "isError", "data-top-icon"]))), 256)) : (i(!0), c(G, { key: 1 }, S(e.items, (l) => (i(), v(D, {
204
212
  class: V({
205
213
  "top-optionGroup_item-selected": l.value === o.value,
206
214
  "top-optionGroup_item": !0
207
215
  }),
208
216
  modelValue: o.value,
209
- "onUpdate:modelValue": r[1] || (r[1] = (d) => o.value = d),
217
+ "onUpdate:modelValue": n[1] || (n[1] = (d) => o.value = d),
210
218
  name: s,
211
219
  value: l.value,
212
220
  title: l.title,
213
221
  disabled: l.disabled,
214
222
  isError: e.isError,
215
223
  "data-top-icon": l.icon
216
- }, I({ _: 2 }, [
224
+ }, T({ _: 2 }, [
217
225
  l.label ? {
218
226
  name: "default",
219
- fn: v(() => [
220
- $(p(l.label), 1)
227
+ fn: p(() => [
228
+ $(f(l.label), 1)
221
229
  ]),
222
230
  key: "0"
223
231
  } : void 0
@@ -241,7 +249,7 @@ const O = { class: "top-editArea_footer" }, ee = /* @__PURE__ */ y({
241
249
  emits: ["update:modelValue"],
242
250
  setup(e) {
243
251
  const o = C(e, "modelValue");
244
- return (t, a) => (i(), f(x, {
252
+ return (t, a) => (i(), v(H, {
245
253
  class: "top-radioGroup",
246
254
  modelValue: o.value,
247
255
  "onUpdate:modelValue": a[0] || (a[0] = (s) => o.value = s),
@@ -250,8 +258,8 @@ const O = { class: "top-editArea_footer" }, ee = /* @__PURE__ */ y({
250
258
  showIndicator: t.$props.showIndicator,
251
259
  isError: t.$props.isError
252
260
  }, {
253
- default: v(() => [
254
- k(t.$slots, "default")
261
+ default: p(() => [
262
+ h(t.$slots, "default")
255
263
  ]),
256
264
  _: 3
257
265
  }, 8, ["modelValue", "items", "size", "showIndicator", "isError"]));
@@ -273,7 +281,7 @@ const O = { class: "top-editArea_footer" }, ee = /* @__PURE__ */ y({
273
281
  emits: ["update:modelValue"],
274
282
  setup(e) {
275
283
  const o = C(e, "modelValue");
276
- return (t, a) => (i(), f(x, {
284
+ return (t, a) => (i(), v(H, {
277
285
  class: "top-checkboxGroup",
278
286
  modelValue: o.value,
279
287
  "onUpdate:modelValue": a[0] || (a[0] = (s) => o.value = s),
@@ -282,8 +290,8 @@ const O = { class: "top-editArea_footer" }, ee = /* @__PURE__ */ y({
282
290
  showIndicator: t.$props.showIndicator,
283
291
  isError: t.$props.isError
284
292
  }, {
285
- default: v(() => [
286
- k(t.$slots, "default")
293
+ default: p(() => [
294
+ h(t.$slots, "default")
287
295
  ]),
288
296
  _: 3
289
297
  }, 8, ["modelValue", "items", "size", "showIndicator", "isError"]));
@@ -308,10 +316,10 @@ const O = { class: "top-editArea_footer" }, ee = /* @__PURE__ */ y({
308
316
  "data-top-icon": e.icon
309
317
  }, [
310
318
  E("div", j, [
311
- k(o.$slots, "default")
319
+ h(o.$slots, "default")
312
320
  ]),
313
321
  o.$slots.additional ? (i(), c("span", X, [
314
- k(o.$slots, "additional")
322
+ h(o.$slots, "additional")
315
323
  ])) : b("", !0)
316
324
  ], 10, W));
317
325
  }
@@ -327,11 +335,11 @@ const O = { class: "top-editArea_footer" }, ee = /* @__PURE__ */ y({
327
335
  },
328
336
  emits: ["accept"],
329
337
  setup(e, { emit: o }) {
330
- const t = o, a = h(!0), s = () => {
338
+ const t = o, a = k(!0), s = () => {
331
339
  a.value = !1, t("accept");
332
340
  };
333
- return (n, r) => a.value ? (i(), c("div", J, [
334
- E("div", Q, p(e.title), 1),
341
+ return (r, n) => a.value ? (i(), c("div", J, [
342
+ E("div", Q, f(e.title), 1),
335
343
  E("div", {
336
344
  class: "top-policy_description",
337
345
  innerHTML: e.description
@@ -340,8 +348,8 @@ const O = { class: "top-editArea_footer" }, ee = /* @__PURE__ */ y({
340
348
  size: "m",
341
349
  onClick: s
342
350
  }, {
343
- default: v(() => [
344
- $(p(e.acceptText), 1)
351
+ default: p(() => [
352
+ $(f(e.acceptText), 1)
345
353
  ]),
346
354
  _: 1
347
355
  })
@@ -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, toRef, 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(toRef(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\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","toRef","_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, toRef, 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(toRef(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","toRef","_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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"}