@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.
Files changed (153) hide show
  1. package/.chunks/core-Dgj_YGWh.es.js +268 -0
  2. package/.chunks/core-Dgj_YGWh.es.js.map +1 -0
  3. package/.chunks/core-DzDFXOdI.amd.js +2 -0
  4. package/.chunks/core-DzDFXOdI.amd.js.map +1 -0
  5. package/.chunks/{datepicker-C5ErMHwe.amd.js → datepicker-oa8ZwRhq.amd.js} +2 -2
  6. package/.chunks/{datepicker-C5ErMHwe.amd.js.map → datepicker-oa8ZwRhq.amd.js.map} +1 -1
  7. package/.chunks/{datepicker-DMYB1RFK.es.js → datepicker-qToxk2nN.es.js} +2 -2
  8. package/.chunks/{datepicker-DMYB1RFK.es.js.map → datepicker-qToxk2nN.es.js.map} +1 -1
  9. package/.chunks/{dialog_regionSelectorRegions-CHC-Blbu.amd.js → dialog_regionSelectorRegions-CZ0tMVSq.amd.js} +2 -2
  10. package/.chunks/{dialog_regionSelectorRegions-CHC-Blbu.amd.js.map → dialog_regionSelectorRegions-CZ0tMVSq.amd.js.map} +1 -1
  11. package/.chunks/{dialog_regionSelectorRegions-BMWyYCfD.es.js → dialog_regionSelectorRegions-qDW2Ejsv.es.js} +5 -5
  12. package/.chunks/{dialog_regionSelectorRegions-BMWyYCfD.es.js.map → dialog_regionSelectorRegions-qDW2Ejsv.es.js.map} +1 -1
  13. 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
  14. 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
  15. 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
  16. 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
  17. package/.chunks/{forms-EhKRBbpk.amd.js → forms-DDNzqU6o.amd.js} +3 -3
  18. package/.chunks/{forms-EhKRBbpk.amd.js.map → forms-DDNzqU6o.amd.js.map} +1 -1
  19. package/.chunks/{forms-CUaoBGD5.es.js → forms-DtC-EKJL.es.js} +24 -24
  20. package/.chunks/{forms-CUaoBGD5.es.js.map → forms-DtC-EKJL.es.js.map} +1 -1
  21. package/.chunks/lazy-DDNqYkXn.amd.js +2 -0
  22. package/.chunks/lazy-DDNqYkXn.amd.js.map +1 -0
  23. package/.chunks/{lazy-40pjr8cZ.es.js → lazy-HKSyLh72.es.js} +23 -19
  24. package/.chunks/lazy-HKSyLh72.es.js.map +1 -0
  25. package/.chunks/{notice-Chj1PUTD.es.js → notice-BvQl911b.es.js} +3 -3
  26. package/.chunks/{notice-Chj1PUTD.es.js.map → notice-BvQl911b.es.js.map} +1 -1
  27. package/.chunks/{notice-DQb_Za5_.amd.js → notice-CJ3WOTCM.amd.js} +2 -2
  28. package/.chunks/{notice-DQb_Za5_.amd.js.map → notice-CJ3WOTCM.amd.js.map} +1 -1
  29. 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
  30. 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
  31. 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
  32. 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
  33. package/.chunks/policy.vue_vue_type_style_index_0_lang-Bv3LwNDC.es.js +519 -0
  34. package/.chunks/policy.vue_vue_type_style_index_0_lang-Bv3LwNDC.es.js.map +1 -0
  35. package/.chunks/policy.vue_vue_type_style_index_0_lang-Da7rztT5.amd.js +2 -0
  36. package/.chunks/policy.vue_vue_type_style_index_0_lang-Da7rztT5.amd.js.map +1 -0
  37. package/.chunks/{popup-COONSpqs.es.js → popup-OuDglAOF.es.js} +4 -4
  38. package/.chunks/popup-OuDglAOF.es.js.map +1 -0
  39. package/.chunks/{popup-CDaQNt-3.amd.js → popup-yXIpyok3.amd.js} +2 -2
  40. package/.chunks/popup-yXIpyok3.amd.js.map +1 -0
  41. 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
  42. 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
  43. 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
  44. 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
  45. package/.chunks/{utils-Kzz2mc2t.es.js → utils-BNzP9anP.es.js} +2 -2
  46. package/.chunks/{utils-Kzz2mc2t.es.js.map → utils-BNzP9anP.es.js.map} +1 -1
  47. package/.chunks/{utils-DsGgpnXD.amd.js → utils-CWn_G7OO.amd.js} +2 -2
  48. package/.chunks/{utils-DsGgpnXD.amd.js.map → utils-CWn_G7OO.amd.js.map} +1 -1
  49. package/.chunks/{utils-C2_4b48S.amd.js → utils-DIviuVEw.amd.js} +2 -2
  50. package/.chunks/utils-DIviuVEw.amd.js.map +1 -0
  51. package/.chunks/{utils-DQ-xahGh.es.js → utils-Dma85ehT.es.js} +67 -67
  52. package/.chunks/utils-Dma85ehT.es.js.map +1 -0
  53. 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
  54. 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
  55. 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
  56. 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
  57. package/api/index.amd.js +1 -1
  58. package/api/index.js +6 -6
  59. package/assets/policy.css +1 -1
  60. package/assets/project.css +1 -1
  61. package/assets/tabsView.css +1 -1
  62. package/assets/themes/dark.css +1 -1
  63. package/assets/themes/light.css +1 -1
  64. package/charts/charts.amd.js +1 -1
  65. package/charts/charts.js +14 -14
  66. package/core/app.amd.js +1 -1
  67. package/core/app.js +15 -15
  68. package/dialog/dialog.amd.js +1 -1
  69. package/dialog/dialog.js +6 -6
  70. package/extra/extra.js +2 -2
  71. package/forms/forms.amd.js +1 -1
  72. package/forms/forms.js +1 -1
  73. package/formsExt/formsExt.amd.js +1 -1
  74. package/formsExt/formsExt.amd.js.map +1 -1
  75. package/formsExt/formsExt.js +46 -45
  76. package/formsExt/formsExt.js.map +1 -1
  77. package/icomoon/Topvisor icons.json +776 -334
  78. package/icomoon/demo.html +85 -1
  79. package/icomoon/fonts/Topvisor-2.eot +0 -0
  80. package/icomoon/fonts/Topvisor-2.svg +6 -0
  81. package/icomoon/fonts/Topvisor-2.ttf +0 -0
  82. package/icomoon/fonts/Topvisor-2.woff +0 -0
  83. package/icomoon/selection.json +1 -1
  84. package/icomoon/style.css +23 -5
  85. package/layout/layout.amd.js +1 -1
  86. package/layout/layout.js +7 -7
  87. package/package.json +2 -2
  88. package/popup/popup.amd.js +1 -1
  89. package/popup/popup.js +9 -9
  90. package/popup/worker.amd.js +1 -1
  91. package/popup/worker.js +2 -2
  92. package/project/project.amd.js +1 -1
  93. package/project/project.amd.js.map +1 -1
  94. package/project/project.js +1043 -658
  95. package/project/project.js.map +1 -1
  96. package/src/components/formsExt/editInput/types.d.ts +4 -0
  97. package/src/components/formsExt/selector2/composables/useMenu.d.ts +1 -1
  98. package/src/components/formsExt/selector2/selector2.vue.d.ts +2 -0
  99. package/src/components/formsExt/selector2/types.d.ts +35 -1
  100. package/src/components/formsExt/selector2/utils.d.ts +2 -0
  101. package/src/components/popup/lib/popup.d.ts +1 -1
  102. package/src/components/popup/popup/opener/types.d.ts +1 -1
  103. package/src/components/project/groupSelector/folders/utils.d.ts +6 -26
  104. package/src/components/project/groupSelector/groupSelector.vue.d.ts +1 -1
  105. package/src/components/project/groupSelector/groups/groups.vue.d.ts +13 -6
  106. package/src/components/project/groupSelector/groups/utils.d.ts +18 -53
  107. package/src/components/project/groupSelector/utils.d.ts +37 -0
  108. package/src/components/project/project.d.ts +2 -0
  109. package/src/components/project/projectSelector/cache.d.ts +29 -0
  110. package/src/components/project/projectSelector/projectSelector.vue.d.ts +128 -0
  111. package/src/components/project/projectSelector/submenu/submenu.vue.d.ts +4 -0
  112. package/src/components/project/projectSelector/submenu/types.d.ts +17 -0
  113. package/src/components/project/projectSelector/types.d.ts +48 -0
  114. package/src/components/project/projectSelector/utils.d.ts +248 -0
  115. package/src/components/project/regionSelector/types.d.ts +9 -4
  116. package/src/components/project/regionSelector/utils/utils.d.ts +5 -5
  117. package/src/components/tabsView/tabsView/menu.vue.d.ts +2 -6
  118. package/src/core/directives/shortcut.d.ts +2 -1
  119. package/src/core/directives/tooltip.d.ts +2 -6
  120. package/tabs/tabs.js +5 -5
  121. package/tabsView/tabsView.amd.js +1 -1
  122. package/tabsView/tabsView.amd.js.map +1 -1
  123. package/tabsView/tabsView.js +93 -104
  124. package/tabsView/tabsView.js.map +1 -1
  125. package/utils/clipboard.amd.js +1 -1
  126. package/utils/clipboard.js +1 -1
  127. package/utils/date.amd.js +1 -1
  128. package/utils/date.js +1 -1
  129. package/utils/device.amd.js +1 -1
  130. package/utils/device.js +1 -1
  131. package/utils/lodash.amd.js +1 -1
  132. package/utils/lodash.js +1 -1
  133. package/utils/price.amd.js +1 -1
  134. package/utils/price.js +1 -1
  135. package/utils/searchers.amd.js +1 -1
  136. package/utils/searchers.js +3 -3
  137. package/utils/string.amd.js +1 -1
  138. package/utils/string.js +1 -1
  139. package/.chunks/core-BEpKBNHt.amd.js +0 -2
  140. package/.chunks/core-BEpKBNHt.amd.js.map +0 -1
  141. package/.chunks/core-DBWAn2Eg.es.js +0 -242
  142. package/.chunks/core-DBWAn2Eg.es.js.map +0 -1
  143. package/.chunks/lazy-40pjr8cZ.es.js.map +0 -1
  144. package/.chunks/lazy-DSFLxvj4.amd.js +0 -2
  145. package/.chunks/lazy-DSFLxvj4.amd.js.map +0 -1
  146. package/.chunks/policy.vue_vue_type_style_index_0_lang-6S_OFLu6.amd.js +0 -2
  147. package/.chunks/policy.vue_vue_type_style_index_0_lang-6S_OFLu6.amd.js.map +0 -1
  148. package/.chunks/policy.vue_vue_type_style_index_0_lang-BRUOmEM8.es.js +0 -498
  149. package/.chunks/policy.vue_vue_type_style_index_0_lang-BRUOmEM8.es.js.map +0 -1
  150. package/.chunks/popup-CDaQNt-3.amd.js.map +0 -1
  151. package/.chunks/popup-COONSpqs.es.js.map +0 -1
  152. package/.chunks/utils-C2_4b48S.amd.js.map +0 -1
  153. package/.chunks/utils-DQ-xahGh.es.js.map +0 -1
@@ -1,6 +1,6 @@
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, mergeProps as M, mergeModels as A, useModel as C, Fragment as G, renderList as S, unref as L } from "vue";
2
- import { g as N, e as B, _ as U, h as q, j as D } from "../.chunks/forms-CUaoBGD5.es.js";
3
- import { c as ne, I as re, a as ue, _ as de, b as ce } from "../.chunks/policy.vue_vue_type_style_index_0_lang-BRUOmEM8.es.js";
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 = k(t.defaultValue), r = k(t.isFocused), n = F(() => s.value !== t.defaultValue), l = (m) => {
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] = (w) => x())
50
+ onClick: u[0] || (u[0] = (T) => x())
51
51
  }, [
52
52
  h(m.$slots, "caption", {}, () => [
53
- $(f(e.title), 1)
53
+ b(f(e.title), 1)
54
54
  ])
55
- ])) : b("", !0),
56
- E("div", {
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] = (w) => s.value = w),
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
- I(d, ["esc"]),
82
- u[4] || (u[4] = I(g((w) => l(s.value), ["ctrl"]), ["enter"]))
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
- E("div", O, [
86
- n.value || e.forceShowCloseBtn ? (i(), v(B, {
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
- }, T({ _: 2 }, [
93
+ }, E({ _: 2 }, [
94
94
  m.$core.state.isMobile ? void 0 : {
95
95
  name: "default",
96
96
  fn: p(() => [
97
- $(f(e.cancelText), 1)
97
+ b(f(e.cancelText), 1)
98
98
  ]),
99
99
  key: "0"
100
100
  }
101
- ]), 1032, ["icon"])) : b("", !0),
102
- n.value ? (i(), v(B, {
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] = (w) => l(s.value))
107
- }, T({ _: 2 }, [
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
- $(f(e.submitText), 1)
111
+ b(f(e.submitText), 1)
112
112
  ]),
113
113
  key: "0"
114
114
  }
115
- ]), 1032, ["icon"])) : b("", !0)
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 = k(t.modelValue);
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] = I(g((d) => a.value = e.modelValue, ["stop"]), ["esc"])),
139
- onKeydown: I(g(r, ["stop"]), ["enter"]),
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
- }), T({ _: 2 }, [
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(B, M({
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)) : b("", !0)
156
+ }, e.button, { onClick: r }), null, 16)) : $("", !0)
156
157
  ]));
157
158
  }
158
159
  }), H = /* @__PURE__ */ y({
159
160
  __name: "optionGroup",
160
- props: /* @__PURE__ */ A({
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 = C(e, "modelValue"), t = e, a = k(null);
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
- }, T({ _: 2 }, [
204
+ }, E({ _: 2 }, [
204
205
  l.label ? {
205
206
  name: "default",
206
207
  fn: p(() => [
207
- $(f(l.label), 1)
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
- }, T({ _: 2 }, [
225
+ }, E({ _: 2 }, [
225
226
  l.label ? {
226
227
  name: "default",
227
228
  fn: p(() => [
228
- $(f(l.label), 1)
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__ */ A({
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 = C(e, "modelValue");
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__ */ A({
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 = C(e, "modelValue");
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
- E("div", W, [
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
- ])) : b("", !0)
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 = k(!0), s = () => {
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
- E("div", J, f(e.title), 1),
343
- E("div", {
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(B), {
348
+ z(L(I), {
348
349
  size: "m",
349
350
  onClick: s
350
351
  }, {
351
352
  default: p(() => [
352
- $(f(e.acceptText), 1)
353
+ b(f(e.acceptText), 1)
353
354
  ]),
354
355
  _: 1
355
356
  })
356
- ])) : b("", !0);
357
+ ])) : $("", !0);
357
358
  }
358
359
  });
359
360
  export {
@@ -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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"}