@topvisor/ui 1.5.0-updates.0 → 1.5.0-updates.5

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 (305) hide show
  1. package/.chunks/api-CawzY1Cw.amd.js +2 -0
  2. package/.chunks/api-CawzY1Cw.amd.js.map +1 -0
  3. package/.chunks/api-CawzY1Cw.esm.js +208 -0
  4. package/.chunks/api-CawzY1Cw.esm.js.map +1 -0
  5. package/.chunks/app-CCX-gNqz.amd.js +2 -0
  6. package/.chunks/app-CCX-gNqz.amd.js.map +1 -0
  7. package/.chunks/app-CCX-gNqz.esm.js +396 -0
  8. package/.chunks/app-CCX-gNqz.esm.js.map +1 -0
  9. package/.chunks/datepicker-BTkZOq7d.amd.js +2 -0
  10. package/.chunks/datepicker-BTkZOq7d.amd.js.map +1 -0
  11. package/.chunks/datepicker-BTkZOq7d.esm.js +38 -0
  12. package/.chunks/datepicker-BTkZOq7d.esm.js.map +1 -0
  13. package/.chunks/dialog-DeM4SApg.amd.js +2 -0
  14. package/.chunks/dialog-DeM4SApg.amd.js.map +1 -0
  15. package/.chunks/dialog-DeM4SApg.esm.js +117 -0
  16. package/.chunks/dialog-DeM4SApg.esm.js.map +1 -0
  17. package/.chunks/dialog_regionSelectorRegions-CYrmaDt3.amd.js +2 -0
  18. package/.chunks/dialog_regionSelectorRegions-CYrmaDt3.amd.js.map +1 -0
  19. package/.chunks/dialog_regionSelectorRegions-CYrmaDt3.esm.js +169 -0
  20. package/.chunks/dialog_regionSelectorRegions-CYrmaDt3.esm.js.map +1 -0
  21. package/.chunks/dialogs-CMrERMI7.amd.js +2 -0
  22. package/.chunks/dialogs-CMrERMI7.amd.js.map +1 -0
  23. package/.chunks/dialogs-CMrERMI7.esm.js +237 -0
  24. package/.chunks/dialogs-CMrERMI7.esm.js.map +1 -0
  25. package/.chunks/field-CjkpGeA7.amd.js +2 -0
  26. package/.chunks/field-CjkpGeA7.amd.js.map +1 -0
  27. package/.chunks/field-CjkpGeA7.esm.js +16 -0
  28. package/.chunks/field-CjkpGeA7.esm.js.map +1 -0
  29. package/.chunks/forms-CbUt-6Ff.amd.js +2 -0
  30. package/.chunks/forms-CbUt-6Ff.amd.js.map +1 -0
  31. package/.chunks/forms-CbUt-6Ff.esm.js +1991 -0
  32. package/.chunks/forms-CbUt-6Ff.esm.js.map +1 -0
  33. package/.chunks/formsExt-CrTmBhja.amd.js +2 -0
  34. package/.chunks/formsExt-CrTmBhja.amd.js.map +1 -0
  35. package/.chunks/formsExt-CrTmBhja.esm.js +807 -0
  36. package/.chunks/formsExt-CrTmBhja.esm.js.map +1 -0
  37. package/.chunks/lazy-CGswTOPj.amd.js +2 -0
  38. package/.chunks/lazy-CGswTOPj.amd.js.map +1 -0
  39. package/.chunks/lazy-CGswTOPj.esm.js +68 -0
  40. package/.chunks/lazy-CGswTOPj.esm.js.map +1 -0
  41. package/.chunks/mocker-CwZe-g4N.amd.js +2 -0
  42. package/.chunks/mocker-CwZe-g4N.amd.js.map +1 -0
  43. package/.chunks/mocker-CwZe-g4N.esm.js +45 -0
  44. package/.chunks/mocker-CwZe-g4N.esm.js.map +1 -0
  45. package/.chunks/notice-CslVdVNm.amd.js +4 -0
  46. package/.chunks/notice-CslVdVNm.amd.js.map +1 -0
  47. package/.chunks/notice-CslVdVNm.esm.js +191 -0
  48. package/.chunks/notice-CslVdVNm.esm.js.map +1 -0
  49. package/.chunks/popup-DrByVU-k.amd.js +2 -0
  50. package/.chunks/popup-DrByVU-k.amd.js.map +1 -0
  51. package/.chunks/popup-DrByVU-k.esm.js +444 -0
  52. package/.chunks/popup-DrByVU-k.esm.js.map +1 -0
  53. package/.chunks/popup-dNrN-eKi.amd.js +2 -0
  54. package/.chunks/popup-dNrN-eKi.amd.js.map +1 -0
  55. package/.chunks/popup-dNrN-eKi.esm.js +323 -0
  56. package/.chunks/popup-dNrN-eKi.esm.js.map +1 -0
  57. package/.chunks/punycode.es6-B-5kB2YI.amd.js +2 -0
  58. package/.chunks/{punycode.es6-CgGegfA_.es.js.map → punycode.es6-B-5kB2YI.amd.js.map} +1 -1
  59. package/.chunks/punycode.es6-B-5kB2YI.esm.js +105 -0
  60. package/.chunks/punycode.es6-B-5kB2YI.esm.js.map +1 -0
  61. package/.chunks/store-DuQpSSLL.amd.js +2 -0
  62. package/.chunks/{store-CX_6ZXhO.es.js.map → store-DuQpSSLL.amd.js.map} +1 -1
  63. package/.chunks/store-DuQpSSLL.esm.js +27 -0
  64. package/.chunks/store-DuQpSSLL.esm.js.map +1 -0
  65. package/.chunks/utils-BwiXsV0S.amd.js +2 -0
  66. package/.chunks/utils-BwiXsV0S.amd.js.map +1 -0
  67. package/.chunks/utils-BwiXsV0S.esm.js +43 -0
  68. package/.chunks/utils-BwiXsV0S.esm.js.map +1 -0
  69. package/.chunks/utils-Dd0MZgyw.amd.js +2 -0
  70. package/.chunks/utils-Dd0MZgyw.amd.js.map +1 -0
  71. package/.chunks/utils-Dd0MZgyw.esm.js +287 -0
  72. package/.chunks/utils-Dd0MZgyw.esm.js.map +1 -0
  73. package/.chunks/worker-Db8YrEHo.amd.js +2 -0
  74. package/.chunks/worker-Db8YrEHo.amd.js.map +1 -0
  75. package/.chunks/worker-Db8YrEHo.esm.js +100 -0
  76. package/.chunks/worker-Db8YrEHo.esm.js.map +1 -0
  77. package/api/additional.amd.js +2 -2
  78. package/api/additional.amd.js.map +1 -1
  79. package/api/additional.js +70 -66
  80. package/api/additional.js.map +1 -1
  81. package/api/index.amd.js +2 -2
  82. package/api/index.amd.js.map +1 -1
  83. package/api/index.js +3 -285
  84. package/assets/charts.css +1 -1
  85. package/assets/core.css +1 -1
  86. package/assets/dialog_regionSelectorRegions.css +1 -1
  87. package/assets/extra.css +1 -1
  88. package/assets/forms.css +1 -1
  89. package/assets/formsExt.css +1 -0
  90. package/assets/layout.css +1 -1
  91. package/assets/notice.css +1 -1
  92. package/assets/popup.css +1 -0
  93. package/assets/project.css +1 -1
  94. package/assets/tabs.css +1 -1
  95. package/assets/tabsView.css +1 -1
  96. package/assets/themes/dark-th.css +1 -1
  97. package/assets/themes/dark.css +1 -1
  98. package/assets/themes/light.css +1 -1
  99. package/autoload-css-manifest.amd.json +79 -0
  100. package/autoload-css-manifest.json +90 -0
  101. package/charts/charts.amd.js +2 -2
  102. package/charts/charts.amd.js.map +1 -1
  103. package/charts/charts.js +146 -174
  104. package/charts/charts.js.map +1 -1
  105. package/core/app.amd.js +2 -2
  106. package/core/app.amd.js.map +1 -1
  107. package/core/app.js +5 -213
  108. package/dialog/dialog.amd.js +2 -2
  109. package/dialog/dialog.amd.js.map +1 -1
  110. package/dialog/dialog.js +4 -60
  111. package/extra/extra.amd.js +2 -2
  112. package/extra/extra.amd.js.map +1 -1
  113. package/extra/extra.js +73 -69
  114. package/extra/extra.js.map +1 -1
  115. package/forms/forms.amd.js +2 -2
  116. package/forms/forms.amd.js.map +1 -1
  117. package/forms/forms.js +2 -19
  118. package/forms/helpers.amd.js +2 -2
  119. package/forms/helpers.amd.js.map +1 -1
  120. package/forms/helpers.js +0 -2
  121. package/formsExt/formsExt.amd.js +2 -2
  122. package/formsExt/formsExt.amd.js.map +1 -1
  123. package/formsExt/formsExt.js +2 -373
  124. package/icomoon/demo-files/demo.amd.js +2 -0
  125. package/icomoon/demo-files/demo.amd.js.map +1 -0
  126. package/icomoon/demo.amd.js +2 -0
  127. package/icomoon/demo.amd.js.map +1 -0
  128. package/layout/layout.amd.js +2 -2
  129. package/layout/layout.amd.js.map +1 -1
  130. package/layout/layout.js +41 -57
  131. package/layout/layout.js.map +1 -1
  132. package/package.json +1 -1
  133. package/popup/popup.amd.js +2 -2
  134. package/popup/popup.amd.js.map +1 -1
  135. package/popup/popup.js +2 -282
  136. package/popup/worker.amd.js +2 -2
  137. package/popup/worker.amd.js.map +1 -1
  138. package/popup/worker.js +2 -144
  139. package/project/project.amd.js +2 -2
  140. package/project/project.amd.js.map +1 -1
  141. package/project/project.js +1666 -1643
  142. package/project/project.js.map +1 -1
  143. package/src/src/components/project/groupSelector/folders/types.d.ts +1 -1
  144. package/src/src/components/project/groupSelector/folders/utils.d.ts +35 -400
  145. package/src/src/components/project/groupSelector/groupSelector.vue.d.ts +1 -1
  146. package/src/src/components/project/groupSelector/groups/types.d.ts +1 -1
  147. package/src/src/components/project/groupSelector/groups/utils.d.ts +44 -757
  148. package/src/src/components/project/projectSelector/utils.d.ts +40 -39
  149. package/tabs/tabs.amd.js +2 -2
  150. package/tabs/tabs.amd.js.map +1 -1
  151. package/tabs/tabs.js +63 -77
  152. package/tabs/tabs.js.map +1 -1
  153. package/tabsView/tabsView.amd.js +2 -2
  154. package/tabsView/tabsView.amd.js.map +1 -1
  155. package/tabsView/tabsView.js +245 -288
  156. package/tabsView/tabsView.js.map +1 -1
  157. package/utils/check.amd.js +2 -2
  158. package/utils/check.amd.js.map +1 -1
  159. package/utils/check.js +15 -19
  160. package/utils/check.js.map +1 -1
  161. package/utils/clipboard.amd.js +6 -6
  162. package/utils/clipboard.amd.js.map +1 -1
  163. package/utils/clipboard.js +26 -31
  164. package/utils/clipboard.js.map +1 -1
  165. package/utils/date.amd.js +2 -2
  166. package/utils/date.amd.js.map +1 -1
  167. package/utils/date.js +2 -12
  168. package/utils/device.amd.js +2 -2
  169. package/utils/device.amd.js.map +1 -1
  170. package/utils/device.js +2 -15
  171. package/utils/dom.amd.js +2 -2
  172. package/utils/dom.amd.js.map +1 -1
  173. package/utils/dom.js +53 -67
  174. package/utils/dom.js.map +1 -1
  175. package/utils/image.amd.js +3 -3
  176. package/utils/image.amd.js.map +1 -1
  177. package/utils/image.js +12 -22
  178. package/utils/image.js.map +1 -1
  179. package/utils/keyboard.amd.js +2 -2
  180. package/utils/keyboard.amd.js.map +1 -1
  181. package/utils/keyboard.js +10 -11
  182. package/utils/keyboard.js.map +1 -1
  183. package/utils/lodash.amd.js +2 -2
  184. package/utils/lodash.amd.js.map +1 -1
  185. package/utils/lodash.js +2 -9
  186. package/utils/number.amd.js +2 -2
  187. package/utils/number.amd.js.map +1 -1
  188. package/utils/number.js +12 -12
  189. package/utils/number.js.map +1 -1
  190. package/utils/price.amd.js +2 -2
  191. package/utils/price.amd.js.map +1 -1
  192. package/utils/price.js +14 -9
  193. package/utils/price.js.map +1 -1
  194. package/utils/route.amd.js +2 -2
  195. package/utils/route.amd.js.map +1 -1
  196. package/utils/route.js +33 -37
  197. package/utils/route.js.map +1 -1
  198. package/utils/scroll.amd.js +2 -2
  199. package/utils/scroll.amd.js.map +1 -1
  200. package/utils/scroll.js +39 -43
  201. package/utils/scroll.js.map +1 -1
  202. package/utils/searchers.amd.js +2 -2
  203. package/utils/searchers.amd.js.map +1 -1
  204. package/utils/searchers.js +128 -133
  205. package/utils/searchers.js.map +1 -1
  206. package/utils/store.amd.js +2 -2
  207. package/utils/store.amd.js.map +1 -1
  208. package/utils/store.js +2 -7
  209. package/utils/string.amd.js +2 -2
  210. package/utils/string.amd.js.map +1 -1
  211. package/utils/string.js +120 -147
  212. package/utils/string.js.map +1 -1
  213. package/utils/system.amd.js +2 -2
  214. package/utils/system.amd.js.map +1 -1
  215. package/utils/system.js +25 -28
  216. package/utils/system.js.map +1 -1
  217. package/utils/url.amd.js +3 -3
  218. package/utils/url.amd.js.map +1 -1
  219. package/utils/url.js +36 -47
  220. package/utils/url.js.map +1 -1
  221. package/.chunks/core-Dgj_YGWh.es.js +0 -268
  222. package/.chunks/core-Dgj_YGWh.es.js.map +0 -1
  223. package/.chunks/core-DzDFXOdI.amd.js +0 -2
  224. package/.chunks/core-DzDFXOdI.amd.js.map +0 -1
  225. package/.chunks/datepicker-oa8ZwRhq.amd.js +0 -2
  226. package/.chunks/datepicker-oa8ZwRhq.amd.js.map +0 -1
  227. package/.chunks/datepicker-qToxk2nN.es.js +0 -41
  228. package/.chunks/datepicker-qToxk2nN.es.js.map +0 -1
  229. package/.chunks/dialog_regionSelectorRegions-CZ0tMVSq.amd.js +0 -2
  230. package/.chunks/dialog_regionSelectorRegions-CZ0tMVSq.amd.js.map +0 -1
  231. package/.chunks/dialog_regionSelectorRegions-qDW2Ejsv.es.js +0 -180
  232. package/.chunks/dialog_regionSelectorRegions-qDW2Ejsv.es.js.map +0 -1
  233. package/.chunks/dialogs.vue_vue_type_script_setup_true_lang-BBix_8WK.amd.js +0 -2
  234. package/.chunks/dialogs.vue_vue_type_script_setup_true_lang-BBix_8WK.amd.js.map +0 -1
  235. package/.chunks/dialogs.vue_vue_type_script_setup_true_lang-CJ97l1ST.es.js +0 -323
  236. package/.chunks/dialogs.vue_vue_type_script_setup_true_lang-CJ97l1ST.es.js.map +0 -1
  237. package/.chunks/field-Cvv0SRcJ.amd.js +0 -2
  238. package/.chunks/field-Cvv0SRcJ.amd.js.map +0 -1
  239. package/.chunks/field-CyyFzM-Y.es.js +0 -16
  240. package/.chunks/field-CyyFzM-Y.es.js.map +0 -1
  241. package/.chunks/forms-DDNzqU6o.amd.js +0 -3
  242. package/.chunks/forms-DDNzqU6o.amd.js.map +0 -1
  243. package/.chunks/forms-DtC-EKJL.es.js +0 -2053
  244. package/.chunks/forms-DtC-EKJL.es.js.map +0 -1
  245. package/.chunks/index-DLUtoTUg.amd.js +0 -2
  246. package/.chunks/index-DLUtoTUg.amd.js.map +0 -1
  247. package/.chunks/index-DkQWJkMc.es.js +0 -54
  248. package/.chunks/index-DkQWJkMc.es.js.map +0 -1
  249. package/.chunks/lazy-DDNqYkXn.amd.js +0 -2
  250. package/.chunks/lazy-DDNqYkXn.amd.js.map +0 -1
  251. package/.chunks/lazy-HKSyLh72.es.js +0 -75
  252. package/.chunks/lazy-HKSyLh72.es.js.map +0 -1
  253. package/.chunks/notice-BvQl911b.es.js +0 -191
  254. package/.chunks/notice-BvQl911b.es.js.map +0 -1
  255. package/.chunks/notice-CJ3WOTCM.amd.js +0 -4
  256. package/.chunks/notice-CJ3WOTCM.amd.js.map +0 -1
  257. package/.chunks/page.vue_vue_type_script_setup_true_lang-Dd5-B4Ss.es.js +0 -139
  258. package/.chunks/page.vue_vue_type_script_setup_true_lang-Dd5-B4Ss.es.js.map +0 -1
  259. package/.chunks/page.vue_vue_type_script_setup_true_lang-fl6-Ql4d.amd.js +0 -2
  260. package/.chunks/page.vue_vue_type_script_setup_true_lang-fl6-Ql4d.amd.js.map +0 -1
  261. package/.chunks/policy.vue_vue_type_style_index_0_lang-Bv3LwNDC.es.js +0 -519
  262. package/.chunks/policy.vue_vue_type_style_index_0_lang-Bv3LwNDC.es.js.map +0 -1
  263. package/.chunks/policy.vue_vue_type_style_index_0_lang-Da7rztT5.amd.js +0 -2
  264. package/.chunks/policy.vue_vue_type_style_index_0_lang-Da7rztT5.amd.js.map +0 -1
  265. package/.chunks/popup-OuDglAOF.es.js +0 -470
  266. package/.chunks/popup-OuDglAOF.es.js.map +0 -1
  267. package/.chunks/popup-yXIpyok3.amd.js +0 -2
  268. package/.chunks/popup-yXIpyok3.amd.js.map +0 -1
  269. package/.chunks/popupHint.vue_vue_type_style_index_0_lang-Bu_HvFoW.amd.js +0 -2
  270. package/.chunks/popupHint.vue_vue_type_style_index_0_lang-Bu_HvFoW.amd.js.map +0 -1
  271. package/.chunks/popupHint.vue_vue_type_style_index_0_lang-DAQIAxvu.es.js +0 -209
  272. package/.chunks/popupHint.vue_vue_type_style_index_0_lang-DAQIAxvu.es.js.map +0 -1
  273. package/.chunks/punycode.es6-CNOnFR2-.amd.js +0 -2
  274. package/.chunks/punycode.es6-CNOnFR2-.amd.js.map +0 -1
  275. package/.chunks/punycode.es6-CgGegfA_.es.js +0 -134
  276. package/.chunks/store-CX_6ZXhO.es.js +0 -29
  277. package/.chunks/store-YRW59xEF.amd.js +0 -2
  278. package/.chunks/store-YRW59xEF.amd.js.map +0 -1
  279. package/.chunks/utils-BNzP9anP.es.js +0 -78
  280. package/.chunks/utils-BNzP9anP.es.js.map +0 -1
  281. package/.chunks/utils-CWn_G7OO.amd.js +0 -2
  282. package/.chunks/utils-CWn_G7OO.amd.js.map +0 -1
  283. package/.chunks/utils-DIviuVEw.amd.js +0 -2
  284. package/.chunks/utils-DIviuVEw.amd.js.map +0 -1
  285. package/.chunks/utils-Dma85ehT.es.js +0 -288
  286. package/.chunks/utils-Dma85ehT.es.js.map +0 -1
  287. package/.chunks/widgetInput.vue_vue_type_script_setup_true_lang-CX_BOcVY.es.js +0 -39
  288. package/.chunks/widgetInput.vue_vue_type_script_setup_true_lang-CX_BOcVY.es.js.map +0 -1
  289. package/.chunks/widgetInput.vue_vue_type_script_setup_true_lang-CkOmb3VD.amd.js +0 -2
  290. package/.chunks/widgetInput.vue_vue_type_script_setup_true_lang-CkOmb3VD.amd.js.map +0 -1
  291. package/api/index.js.map +0 -1
  292. package/assets/policy.css +0 -1
  293. package/assets/popupHint.css +0 -1
  294. package/core/app.js.map +0 -1
  295. package/dialog/dialog.js.map +0 -1
  296. package/forms/forms.js.map +0 -1
  297. package/forms/helpers.js.map +0 -1
  298. package/formsExt/formsExt.js.map +0 -1
  299. package/popup/popup.js.map +0 -1
  300. package/popup/worker.js.map +0 -1
  301. package/src/src/components/project/groupSelector/utils.d.ts +0 -37
  302. package/utils/date.js.map +0 -1
  303. package/utils/device.js.map +0 -1
  304. package/utils/lodash.js.map +0 -1
  305. package/utils/store.js.map +0 -1
@@ -1,39 +0,0 @@
1
- import { defineComponent as n, useModel as d, openBlock as p, createBlock as i, mergeProps as r, mergeModels as m } from "vue";
2
- import { _ as u } from "./forms-DtC-EKJL.es.js";
3
- const f = /* @__PURE__ */ n({
4
- __name: "widgetInput",
5
- props: /* @__PURE__ */ m({
6
- modelValue: {},
7
- name: {},
8
- disabled: { type: Boolean },
9
- readonly: { type: Boolean },
10
- modificator: {},
11
- size: {},
12
- styling: {},
13
- isError: { type: Boolean },
14
- isLoading: { type: Boolean },
15
- icon: {},
16
- icon2: {},
17
- addCleaner: { type: Boolean, default: !0 },
18
- title: {},
19
- captionType: {}
20
- }, {
21
- modelValue: {
22
- default: ""
23
- },
24
- modelModifiers: {}
25
- }),
26
- emits: ["update:modelValue"],
27
- setup(l) {
28
- const e = d(l, "modelValue");
29
- return (a, o) => (p(), i(u, r(a.$props, {
30
- modificator: "popupWidgetInput",
31
- modelValue: e.value,
32
- "onUpdate:modelValue": o[0] || (o[0] = (t) => e.value = t)
33
- }), null, 16, ["modelValue"]));
34
- }
35
- });
36
- export {
37
- f as _
38
- };
39
- //# sourceMappingURL=widgetInput.vue_vue_type_script_setup_true_lang-CX_BOcVY.es.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"widgetInput.vue_vue_type_script_setup_true_lang-CX_BOcVY.es.js","sources":["../../src/components/popup/popup/widgetInput/widgetInput.vue"],"sourcesContent":["<script setup lang=\"ts\">\nimport type { ModelRef } from 'vue';\nimport type { Props } from '@/components/forms/input/types';\nimport TopInput from '@/components/forms/input/input.vue';\n\nwithDefaults(defineProps<Props>(), {\n\taddCleaner: true,\n});\n\nconst model: ModelRef<string> = defineModel({\n\tdefault: '',\n});\n</script>\n\n<template>\n\t<TopInput\n\t\t:=\"$props\"\n\t\tmodificator=\"popupWidgetInput\"\n\t\tv-model=\"model\"\n\t/>\n</template>\n\n<style>\n.top-input-popupWidgetInput {\n\t--top-loadbar-color: var(--color-line-2);\n\n\twidth: 100%;\n}\n\n.top-input_input-popupWidgetInput {\n\tborder: none;\n\tbackground: var(--color-layer-1);\n}\n\n.top-input_input-popupWidgetInput:hover {\n\tbackground: var(--color-layer-2);\n}\n\n.top-input_input-popupWidgetInput:focus {\n\tbackground: var(--color-layer-1);\n\toutline: unset;\n}\n</style>\n"],"names":["model","_useModel","_createBlock","TopInput","_mergeProps","_ctx","$event"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;AASA,UAAMA,IAA0BC,iBAE/B;2BAIAC,EAIEC,GAJFC,EAIEC,EAAA,QAHQ;AAAA,MACT,aAAY;AAAA,kBACHL,EAAA;AAAA,oDAAAA,EAAK,QAAAM;AAAA,IAAA;;;"}
@@ -1,2 +0,0 @@
1
- define(["require","exports","vue","./forms-DDNzqU6o.amd"],(function(r,n,e,a){"use strict";if(typeof e>"u")var e=window.Vue;const t=e.defineComponent({__name:"widgetInput",props:e.mergeModels({modelValue:{},name:{},disabled:{type:Boolean},readonly:{type:Boolean},modificator:{},size:{},styling:{},isError:{type:Boolean},isLoading:{type:Boolean},icon:{},icon2:{},addCleaner:{type:Boolean,default:!0},title:{},captionType:{}},{modelValue:{default:""},modelModifiers:{}}),emits:["update:modelValue"],setup(d){const o=e.useModel(d,"modelValue");return(i,l)=>(e.openBlock(),e.createBlock(a._sfc_main,e.mergeProps(i.$props,{modificator:"popupWidgetInput",modelValue:o.value,"onUpdate:modelValue":l[0]||(l[0]=u=>o.value=u)}),null,16,["modelValue"]))}});n._sfc_main=t}));
2
- //# sourceMappingURL=widgetInput.vue_vue_type_script_setup_true_lang-CkOmb3VD.amd.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"widgetInput.vue_vue_type_script_setup_true_lang-CkOmb3VD.amd.js","sources":["../../src/components/popup/popup/widgetInput/widgetInput.vue"],"sourcesContent":["<script setup lang=\"ts\">\nimport type { ModelRef } from 'vue';\nimport type { Props } from '@/components/forms/input/types';\nimport TopInput from '@/components/forms/input/input.vue';\n\nwithDefaults(defineProps<Props>(), {\n\taddCleaner: true,\n});\n\nconst model: ModelRef<string> = defineModel({\n\tdefault: '',\n});\n</script>\n\n<template>\n\t<TopInput\n\t\t:=\"$props\"\n\t\tmodificator=\"popupWidgetInput\"\n\t\tv-model=\"model\"\n\t/>\n</template>\n\n<style>\n.top-input-popupWidgetInput {\n\t--top-loadbar-color: var(--color-line-2);\n\n\twidth: 100%;\n}\n\n.top-input_input-popupWidgetInput {\n\tborder: none;\n\tbackground: var(--color-layer-1);\n}\n\n.top-input_input-popupWidgetInput:hover {\n\tbackground: var(--color-layer-2);\n}\n\n.top-input_input-popupWidgetInput:focus {\n\tbackground: var(--color-layer-1);\n\toutline: unset;\n}\n</style>\n"],"names":["model","_cache","$event"],"mappings":"woBAiBc,WAAAA,EAAA,MACH,sBAAAC,EAAA,CAAA,IAAAA,EAAA,CAAA,EAAAC,GAAAF,EAAA,MAAAE"}
package/api/index.js.map DELETED
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sources":["../../src/api/api/client/request-options.ts","../../src/api/api/utils/common.ts","../../src/api/api/client/request.ts","../../src/api/api/client/client.ts","../../src/api/api/index.ts"],"sourcesContent":["export const createRequestOptions = (requestOptions: Partial<Api.ClientRequestOptions> = {}): Api.ClientRequestOptions => {\n\trequestOptions = { ...requestOptions };\n\trequestOptions.loadingEl ??= globalThis.document?.body;\n\trequestOptions.loadingShowSpinner ??= true;\n\trequestOptions.method ??= 'POST';\n\trequestOptions.accept ??= 'application/json';\n\n\treturn requestOptions as Api.ClientRequestOptions;\n};\n","/**\n * Сгенерировать объект ответа в формате расширения OpenAPI\n *\n * @see Api.Ext\n */\nexport const genExtRes = (\n\tresult: any,\n\terrors?: Api.Ext.Schemas['ResponseError']['errors'],\n\tresponse?: Response,\n): Api.Response<any> => {\n\treturn {\n\t\tresult,\n\t\terrors,\n\t\tresponse,\n\t};\n};\n\n/**\n * Это публичное API, к которому открыт доступ по прямой ссылке через GET\n *\n * Используется для кеширования и генерации файлов через API\n */\nexport const isPublicAPI = (path: Api.PathAbstract) => {\n\treturn path.startsWith('/system_2/common/');\n};\n\n/**\n * Сгенерировать baseUrl на основе текущего домена\n */\nexport const getBaseDomainUrl = (useMainDomain = false, input: string = window.location.href, subdomain?: string) => {\n\tconst { protocol, hostname, port } = new URL(input);\n\n\t/**\n\t * localhost / IP-адреса / одноуровневые домены оставляем как есть\n\t */\n\tconst parts = hostname.split('.');\n\tconst baseHostname = !useMainDomain || parts.length <= 2 || /^[\\d.]+$/.test(hostname) || hostname === 'localhost'\n\t\t? hostname\n\t\t: parts.slice(-2).join('.');\n\n\treturn `${protocol}//${baseHostname}${port ? `:${port}` : ''}`;\n};\n","import type { Client } from './client';\nimport { createRequestOptions } from './request-options';\nimport { genExtRes } from '../utils/common';\n\n/**\n * Проверить передаются ли файлы\n */\nconst checkHasFiles = (data: Record<string, any>): boolean => {\n\treturn Object.values(data).some(value =>\n\t\tvalue instanceof FileList ||\n\t\tvalue instanceof File ||\n\t\tvalue instanceof Blob ||\n\t\tArray.isArray(value) && value.some(item => item instanceof File || item instanceof Blob),\n\t);\n};\n\nexport const createRequest = <\n\tRequestContext extends Api.ClientRequestContext<any, any, any>,\n\tFieldsNarrow extends Api.ParamsFields<RequestContext>,\n>(\n\tclient: Client<RequestContext['Paths'], RequestContext['UseExt']>,\n\tpath: RequestContext['Path'],\n\tfieldsNarrow?: FieldsNarrow,\n): Api.ClientRequest<RequestContext, FieldsNarrow> => {\n\tconst clientRequest: Api.ClientRequest<RequestContext, FieldsNarrow> = {\n\t\tinLoading: false,\n\t\tpath: path as Api.PathAbstract,\n\t\turl: client.options.baseUrl + path,\n\t\toptions: createRequestOptions(client.options.requestOptions),\n\t\tmockerOptions: undefined as Api.Mocker.Options<any, any> | undefined,\n\t\tparams: {} as any, // незаполненное свойство\n\t\tgetInLoading: () => clientRequest.inLoading,\n\n\t\tsetParams: (params) => {\n\t\t\tclientRequest.params = { ...params } as any;\n\n\t\t\treturn clientRequest;\n\t\t},\n\n\t\tchangeParams: (params) => {\n\t\t\tObject.assign(clientRequest.params, params);\n\n\t\t\treturn clientRequest;\n\t\t},\n\n\t\tsetOptions: (options) => {\n\t\t\tObject.assign(clientRequest.options, options);\n\n\t\t\treturn clientRequest;\n\t\t},\n\n\t\tsetMocker: (options) => {\n\t\t\tclientRequest.mockerOptions = options;\n\n\t\t\treturn clientRequest;\n\t\t},\n\n\t\tcall: async (fields?) => {\n\t\t\treturn clientRequest.exec(fields);\n\t\t},\n\n\t\tcallFetch: async (fetchStyle, fields?) => {\n\t\t\treturn clientRequest.exec(fields, fetchStyle);\n\t\t},\n\n\t\tcallInNewWindow: async (fields?) => {\n\t\t\tconst data = clientRequest.genData(fields);\n\n\t\t\tconst middlewareCtx = client.genMiddlewareCtx(clientRequest, data);\n\n\t\t\tclient.options.onPrepareData?.(data, middlewareCtx);\n\n\t\t\tconst { postInWindow } = await import('../utils/lazy');\n\t\t\tvoid postInWindow(clientRequest.url, data, '_blank');\n\t\t},\n\n\t\tcallInSelfWindow: async (fields?) => {\n\t\t\tconst data = clientRequest.genData(fields);\n\n\t\t\tconst middlewareCtx = client.genMiddlewareCtx(clientRequest, data);\n\n\t\t\tclient.options.onPrepareData?.(data, middlewareCtx);\n\n\t\t\tconst { postInWindow } = await import('../utils/lazy');\n\t\t\tvoid postInWindow(clientRequest.url, data, '_self');\n\t\t},\n\n\t\tgenData: (fields?, fetchStyle?) => {\n\t\t\tconst post: any = { ...clientRequest.params };\n\n\t\t\t// в старом коде fields вставлялись в params, оставлено для совместимости\n\t\t\t// delete post.fields;\n\t\t\tdelete post.fetch_style;\n\n\t\t\t// поля, указанные при запуске запроса\n\t\t\tif (fields) {\n\t\t\t\tlet fieldsPrepared = [...fields as any[]];\n\n\t\t\t\t// поля, указанные при создании запроса\n\t\t\t\tif (fieldsNarrow) {\n\t\t\t\t\tfieldsPrepared = fieldsPrepared.filter(field => fieldsNarrow.includes(field));\n\t\t\t\t}\n\n\t\t\t\tpost.fields = fieldsPrepared;\n\t\t\t} else {\n\t\t\t\tif (fieldsNarrow) {\n\t\t\t\t\tpost.fields = fieldsNarrow;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tif (fetchStyle) {\n\t\t\t\tpost.fetch_style = fetchStyle;\n\t\t\t}\n\n\t\t\treturn post;\n\t\t},\n\n\t\tabortByFingerprint: () => {\n\t\t\tif (!clientRequest.options.checkFingerprint) return;\n\n\t\t\tconst fingerprint = clientRequest.path + clientRequest.options.checkFingerprint;\n\n\t\t\tclient.abortControllers[fingerprint]?.abort(\n\t\t\t\tnew DOMException(`Stopped previous request by fingerprint: ${clientRequest.options.checkFingerprint}`, 'AbortError'),\n\t\t\t);\n\n\t\t\tconst controller = new AbortController();\n\n\t\t\tclient.abortControllers[fingerprint] = controller;\n\n\t\t\treturn controller.signal;\n\t\t},\n\n\t\t/**\n\t\t * Общая функция выполнения запросов\n\t\t */\n\t\tasync exec(fields?, fetchStyle?) {\n\t\t\tconst Request = client.options.Request;\n\t\t\tconst fetch = client.options.fetch;\n\n\t\t\tconst data = clientRequest.genData(fields, fetchStyle);\n\n\t\t\tconst middlewareCtxWithoutRequest = client.genMiddlewareCtx(clientRequest, data);\n\n\t\t\tclient.options.onPrepareData?.(data, middlewareCtxWithoutRequest);\n\n\t\t\tconst hasFiles = checkHasFiles(data);\n\t\t\tif (hasFiles && clientRequest.options.method !== 'POST') {\n\t\t\t\tthrow new Error('Files can be sent only in POST requests');\n\t\t\t}\n\n\t\t\tlet url = clientRequest.url;\n\n\t\t\tlet requestInitBody: string | FormData | undefined = undefined;\n\n\t\t\tif (hasFiles) {\n\t\t\t\tif (clientRequest.options.method !== 'POST') {\n\t\t\t\t\tthrow new Error('Files can be sent only in POST requests');\n\t\t\t\t}\n\n\t\t\t\tconst { formDataSerializer } = await import('../utils/lazy');\n\t\t\t\trequestInitBody = formDataSerializer(data);\n\t\t\t} else if (clientRequest.options.method !== 'POST') {\n\t\t\t\turl += '?' + await client.options.querySerializer(data);\n\t\t\t} else {\n\t\t\t\trequestInitBody = client.options.bodySerializer(data);\n\t\t\t}\n\n\t\t\t// checkFingerprint\n\t\t\tlet requestInitSignal = clientRequest.abortByFingerprint();\n\n\t\t\tif (clientRequest.mockerOptions) {\n\t\t\t\tconst { genMockResponse } = await import('../mocker/');\n\n\t\t\t\treturn await genMockResponse(clientRequest.mockerOptions, fields, data, requestInitSignal);\n\t\t\t}\n\n\t\t\tconst requestInit: RequestInit = {\n\t\t\t\t...client.options,\n\t\t\t\tmethod: clientRequest.options.method,\n\t\t\t\tbody: requestInitBody,\n\t\t\t\tsignal: requestInitSignal,\n\t\t\t};\n\n\t\t\tlet request = new Request(url, requestInit);\n\n\t\t\trequest.headers.set('x-request-id', middlewareCtxWithoutRequest.id);\n\t\t\trequest.headers.set('accept', clientRequest.options.accept);\n\n\t\t\t// при отправке данных в `FormData` `fetch()` сам укажет правильный заголовок `multipart/form-data`\n\t\t\tif (!hasFiles) {\n\t\t\t\trequest.headers.set('content-type', 'application/json');\n\t\t\t}\n\n\t\t\tconst middlewareCtx: Api.MiddlewareCallbackParams = {\n\t\t\t\t...middlewareCtxWithoutRequest,\n\t\t\t\trequest,\n\t\t\t};\n\n\t\t\tclientRequest.inLoading = true;\n\t\t\tclientRequest.options.onLoading?.(clientRequest.inLoading, middlewareCtx);\n\n\t\t\tlet response: Response | undefined = undefined;\n\n\t\t\tconst requestOrResponse = await client.middlewareOnRequest(request, middlewareCtx);\n\n\t\t\tif (requestOrResponse instanceof Response) {\n\t\t\t\tresponse = requestOrResponse;\n\t\t\t} else if (requestOrResponse instanceof Request) {\n\t\t\t\trequest = requestOrResponse;\n\t\t\t}\n\n\t\t\tif (!response) {\n\t\t\t\ttry {\n\t\t\t\t\tresponse = await fetch(request);\n\t\t\t\t} catch (e) {\n\t\t\t\t\tresponse = await client.middlewareOnError(e, middlewareCtx);\n\t\t\t\t} finally {\n\t\t\t\t\tclientRequest.inLoading = false;\n\t\t\t\t\tclientRequest.options.onLoading?.(clientRequest.inLoading, middlewareCtx);\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tresponse = await client.middlewareOnResponse(response, middlewareCtx);\n\n\t\t\tlet res: any;\n\t\t\tlet responseText: string | undefined;\n\t\t\tlet formatError: undefined | Api.FormatError = undefined;\n\n\t\t\ttry {\n\t\t\t\t// json - стандартные формат, он может быть возвращен в запросах с другим responseType, если в них произошла ошибка\n\t\t\t\tconst isJSON = response.headers.get('content-type')?.includes('application/json');\n\n\t\t\t\tresponseText = await response.text();\n\n\t\t\t\tif (this.options.accept === 'application/json' || isJSON) {\n\t\t\t\t\tres = JSON.parse(responseText);\n\t\t\t\t} else {\n\t\t\t\t\tif (client.useExt) {\n\t\t\t\t\t\tres = genExtRes(responseText, undefined, response);\n\t\t\t\t\t} else {\n\t\t\t\t\t\tres = responseText;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t} catch (e) {\n\t\t\t\tif (e instanceof SyntaxError || e instanceof TypeError) {\n\t\t\t\t\tformatError = e;\n\t\t\t\t\tformatError.responseText = responseText;\n\t\t\t\t}\n\n\t\t\t\t// если в результате не пришел json, сгенерировать объект результата и добавить информацию об ответе API\n\t\t\t\tif (client.useExt && formatError) {\n\t\t\t\t\tlet errorCode = response.status;\n\t\t\t\t\tlet errorMessage = response.statusText;\n\n\t\t\t\t\tif (errorCode === 200) {\n\t\t\t\t\t\terrorCode = 10000;\n\t\t\t\t\t\terrorMessage = 'Error API response';\n\t\t\t\t\t}\n\n\t\t\t\t\tres = genExtRes(null, [\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tcode: errorCode,\n\t\t\t\t\t\t\tstring: errorMessage,\n\t\t\t\t\t\t},\n\t\t\t\t\t], response);\n\n\t\t\t\t\tif (client.options.useApiConsole) console.error(e);\n\t\t\t\t} else {\n\t\t\t\t\tthrow e;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tif (client.useExt) {\n\t\t\t\tres.response = response;\n\n\t\t\t\tif (res) {\n\t\t\t\t\tclientRequest.options.onApiLoaded?.(res, middlewareCtx, client.options.requestOptions?.onApiLoaded);\n\t\t\t\t}\n\n\t\t\t\tif (res?.errors) {\n\t\t\t\t\tif (client.options.useApiConsole) console.warn(new Error('API error'), { res });\n\n\t\t\t\t\tclientRequest.options.onApiError?.(res, { ...middlewareCtx, formatError }, client.options.requestOptions?.onApiError);\n\t\t\t\t}\n\n\t\t\t\tif (res?.messages) {\n\t\t\t\t\tclientRequest.options.onApiMessage?.(res, middlewareCtx);\n\t\t\t\t}\n\t\t\t}\n\n\t\t\treturn res;\n\t\t},\n\t};\n\n\treturn clientRequest;\n};\n","import { createRequestOptions } from './request-options';\nimport { createRequest } from './request';\n\nexport class Client<paths extends Api.PathsAbstract, UseExt extends Api.Ext.UseExt> {\n\n\treadonly options: Readonly<Api.ClientOptions>;\n\treadonly useExt: UseExt;\n\treadonly middlewares: Api.Middleware[] = [];\n\tprivate mokerByPath = new Map<Api.Path<paths>, Api.Mocker.Options<any, any>>();\n\tabortControllers: Record<string, AbortController> = {};\n\n\tconstructor(clientOptions: Partial<Api.ClientOptions> = {}, useExt: UseExt) {\n\t\tclientOptions.requestOptions = createRequestOptions(clientOptions.requestOptions);\n\t\tclientOptions.useApiConsole ??= true;\n\n\t\tclientOptions.fetch ??= globalThis.fetch;\n\t\tclientOptions.Request ??= globalThis.Request;\n\t\tclientOptions.querySerializer ??= async (params) => {\n\t\t\tconst { querySerializer } = await import('../utils/lazy');\n\n\t\t\treturn querySerializer(params);\n\t\t};\n\t\tclientOptions.bodySerializer ??= (body) => typeof body === 'string' ? body : JSON.stringify(body);\n\n\t\tthis.options = clientOptions as Api.ClientOptions;\n\n\t\tthis.useExt = useExt;\n\t}\n\n\tgenerateUUID() {\n\t\tif (crypto?.randomUUID) {\n\t\t\treturn crypto.randomUUID();\n\t\t}\n\n\t\treturn 'xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx'.replace(/[xy]/g, c => {\n\t\t\tconst r = Math.random() * 16 | 0;\n\t\t\tconst v = c === 'x' ? r : (r & 0x3 | 0x8);\n\t\t\treturn v.toString(16);\n\t\t});\n\t}\n\n\t/**\n\t * Зарегистрировать middleware\n\t */\n\tuse(middleware: Api.Middleware) {\n\t\tthis.middlewares.push(middleware);\n\t}\n\n\t/**\n\t * Создать объект запроса\n\t *\n\t * После создания объекта он заполняется необходимыми данными и выполняет запросы к API с помощью APIRequest2.call();\n\t *\n\t * Опционально generic указывать нельзя, поэтому необходимо дублировать определение fetchStyle, [см.](https://github.com/Microsoft/TypeScript/issues/26242)\n\t *\n\t * @param path Путь метода API\n\t * @param fieldsNarrow Список получаемых полей, для методов API с моделью. Если объект запроса переиспользуется, и список полей меняется, указывайте его непосредственно при вызове `api.call()`\n\t */\n\tgen<\n\t\tPath extends Api.Path<paths>,\n\t\tFieldsNarrow extends Api.ParamsFields<Api.ClientRequestContext<paths, Path, UseExt>>\n\t>(\n\t\tpath: Path,\n\t\tfieldsNarrow?: FieldsNarrow,\n\t): Api.ClientRequest<Api.ClientRequestContext<paths, Path, UseExt>, FieldsNarrow> {\n\t\ttype RequestContext = Api.ClientRequestContext<paths, Path, UseExt>;\n\n\t\treturn createRequest<RequestContext, FieldsNarrow>(this, path, fieldsNarrow);\n\t}\n\n\t/**\n\t * Создать объект запроса, не описанного в OpenAPI\n\t */\n\tgenAny<\n\t\tParams extends Record<string, any>,\n\t\tResult = any,\n\t\tFieldsNarrow extends Api.Ext.Schemas['Fields'] | undefined = undefined\n\t>(path: Api.PathAbstract, fieldsNarrow?: FieldsNarrow): Api.ClientRequestCustom<UseExt, Params, Result> {\n\t\treturn this.gen(path as any, fieldsNarrow as any) as unknown as Api.ClientRequestCustom<UseExt, Params, Result>;\n\t}\n\n\t/**\n\t * Создать контекст выполнения запроса\n\t */\n\tgenMiddlewareCtx(\n\t\tclientRequest: Api.ClientRequest<any, any, any>,\n\t\tdata: Record<string, any>,\n\t): Omit<Api.MiddlewareCallbackParams, 'request'> {\n\t\tconst id = this.generateUUID();\n\n\t\tconst options: Api.BaseOptions = Object.freeze({\n\t\t\tbaseUrl: this.options.baseUrl,\n\t\t\tquerySerializer: this.options.querySerializer,\n\t\t\tbodySerializer: this.options.bodySerializer,\n\t\t\tRequest: this.options.Request,\n\t\t\tfetch: this.options.fetch,\n\t\t});\n\n\t\treturn {\n\t\t\tuseExt: this.useExt,\n\t\t\trequestOptions: clientRequest.options,\n\t\t\tdata,\n\t\t\tmiddlewareData: {},\n\t\t\toptions,\n\t\t\tschemaPath: clientRequest.path,\n\t\t\tid,\n\t\t};\n\t};\n\n\t/**\n\t * Обработчик middleware.onRequest\n\t *\n\t * @param request Запрос для обработки\n\t * @param middlewareCtx Контекст выполнения запроса\n\t * @return Новый экземпляр `Request` или `Response` при модификации запроса, или undefined\n\t */\n\tasync middlewareOnRequest(\n\t\trequest: Request,\n\t\tmiddlewareCtx: Api.MiddlewareCallbackParams,\n\t): Promise<Request | Response | undefined> {\n\t\tfor (const middleware of this.middlewares) {\n\t\t\tconst result = await middleware.onRequest?.({\n\t\t\t\t...middlewareCtx,\n\t\t\t\trequest,\n\t\t\t});\n\n\t\t\tif (result) {\n\t\t\t\tif (result instanceof Request) {\n\t\t\t\t\trequest = result;\n\t\t\t\t} else if (result instanceof Response) {\n\t\t\t\t\treturn result;\n\t\t\t\t} else {\n\t\t\t\t\tthrow new Error('onRequest: must return new Request() or Response() when modifying the request');\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\treturn request;\n\t}\n\n\t/**\n\t * Обработчик middleware.onResponse\n\t *\n\t * @param `error` Ошибка, переданная для обработки\n\t * @param middlewareCtx\n\t * @return Новый экземпляр `Response` при успешной обработке или выбрасывает ошибку\n\t */\n\tasync middlewareOnError(\n\t\terror: Error | unknown,\n\t\tmiddlewareCtx: Api.MiddlewareCallbackParams,\n\t): Promise<Response | never> {\n\t\tlet errorAfterMiddleware = error;\n\n\t\tfor (const middleware of this.middlewares) {\n\t\t\tconst result = await middleware.onError?.({\n\t\t\t\t...middlewareCtx,\n\t\t\t\terror: errorAfterMiddleware,\n\t\t\t});\n\n\t\t\tif (result) {\n\t\t\t\tif (result instanceof Response) {\n\t\t\t\t\treturn result;\n\t\t\t\t}\n\n\t\t\t\tif (result instanceof Error) {\n\t\t\t\t\terrorAfterMiddleware = result;\n\n\t\t\t\t\tcontinue;\n\t\t\t\t}\n\n\t\t\t\tthrow new Error('onError: must return new Response() or instance of Error');\n\t\t\t}\n\t\t}\n\n\t\tthrow errorAfterMiddleware;\n\t}\n\n\t/**\n\t * Обработчик middleware.onResponse\n\t *\n\t * @param response Ответ для обработки\n\t * @param middlewareCtx Контекст выполнения запроса\n\t * @return Новый экземпляр `Response` при модификации ответа, или undefined\n\t */\n\tasync middlewareOnResponse(\n\t\tresponse: Response,\n\t\tmiddlewareCtx: Api.MiddlewareCallbackParams,\n\t): Promise<Response> {\n\t\tfor (const middleware of this.middlewares) {\n\t\t\tconst result = await middleware.onResponse?.({\n\t\t\t\t...middlewareCtx,\n\t\t\t\tresponse,\n\t\t\t});\n\n\t\t\tif (result) {\n\t\t\t\tif (!(result instanceof Response)) {\n\t\t\t\t\tthrow new Error('onResponse: must return new Response() when modifying the response');\n\t\t\t\t}\n\n\t\t\t\tresponse = result;\n\t\t\t}\n\t\t}\n\n\t\treturn response;\n\t}\n\n\t/**\n\t * Установить генератор данных вместо реальных запросов к серверу для конкретного метода API\n\t */\n\tsetMocker<\n\t\tResult extends Api.Mocker.Result = Api.Mocker.Result,\n\t\tParams extends Api.Mocker.Params = Api.Mocker.Params\n\t>(\n\t\tpath: Api.Path<paths>,\n\t\tmocker: Api.Mocker.Options<Result, Params>,\n\t) {\n\t\tthis.mokerByPath.set(path, mocker);\n\n\t\t// @ts-ignore\n\t\tif (!this.genOriginal) {\n\t\t\t// @ts-ignore\n\t\t\tthis.genOriginal = this.gen.bind(this);\n\n\t\t\tthis.gen = (_path, fieldsNarrow) => {\n\t\t\t\t// @ts-ignore\n\t\t\t\tconst api = this.genOriginal(_path, fieldsNarrow);\n\n\t\t\t\tconst mocker = this.mokerByPath.get(_path);\n\t\t\t\tif (mocker) {\n\t\t\t\t\tapi.setMocker(mocker);\n\t\t\t\t}\n\n\t\t\t\treturn api;\n\t\t\t};\n\t\t}\n\t}\n\n}\n","import { Client } from './client/client';\n\nexport * from './utils/field';\nexport * from './utils/common';\n\nexport const postInWindow: typeof import('./utils/lazy').postInWindow = async (...args) => {\n\tconst { postInWindow } = await import('./utils/lazy');\n\n\treturn postInWindow(...args);\n};\n\nexport const dataToForm: typeof import('./utils/lazy').dataToForm = async (...args) => {\n\tconst { dataToForm } = await import('./utils/lazy');\n\n\treturn dataToForm(...args);\n};\n\n/**\n * Создать API клиент\n *\n * @see Api.Ext.UseExt\n */\nexport const createClient = <\n\tpaths extends Api.PathsAbstract,\n\tUseExt extends Api.Ext.UseExt\n>(\n\tclientOptions: Partial<Api.ClientOptions> = {},\n\tuseExt: UseExt,\n) => {\n\treturn new Client<paths, UseExt>(clientOptions, useExt);\n};\n"],"names":["createRequestOptions","requestOptions","genExtRes","result","errors","response","isPublicAPI","path","getBaseDomainUrl","useMainDomain","input","subdomain","protocol","hostname","port","parts","baseHostname","checkHasFiles","data","value","item","createRequest","client","fieldsNarrow","clientRequest","params","options","fields","fetchStyle","middlewareCtx","postInWindow","post","fieldsPrepared","field","fingerprint","controller","Request","fetch","middlewareCtxWithoutRequest","hasFiles","url","requestInitBody","formDataSerializer","requestInitSignal","genMockResponse","requestInit","request","requestOrResponse","e","res","responseText","formatError","isJSON","errorCode","errorMessage","Client","clientOptions","useExt","querySerializer","body","c","r","middleware","id","error","errorAfterMiddleware","mocker","_path","api","args","dataToForm","createClient"],"mappings":"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"}
package/assets/policy.css DELETED
@@ -1 +0,0 @@
1
- .top-menu{--scroll-thumb-color: var(--color-line-1);--scroll-thumb-color-hover: var(--color-line-2);--scroll-thumb-color-active: var(--color-line-3);max-width:100%;display:flex;align-items:flex-start;gap:var(--top-gap-2);overflow-x:auto;scrollbar-width:none;overscroll-behavior-x:contain}.top-menu::-webkit-scrollbar{display:none}.top-menu .top-menu_item{--top-button-color: var(--color-text-2);outline-offset:-2px!important;min-width:0;max-width:200px;margin:0;flex-shrink:0}.top-menu .top-menu_item[data-top-icon]{--top-icon-color: var(--color-text-2)}.top-menu_selectAll{position:sticky;right:0;background:var(--color-layout-front-1);border-left:1px solid var(--color-line-1);padding-left:var(--top-padding-1);box-shadow:var(--color-layout-front-1) var(--top-padding-2) 0}.top-menu.top-style_default .top-menu_item{--top-forms-radius: 0;--top-forms-border-color: transparent;--top-forms-border-width: 2px;filter:none;box-shadow:none;border:none;border-bottom:var(--top-forms-border-width) solid var(--top-forms-border-color);background:none}.top-style_default>.top-menu_item>[data-top-badge]{margin-top:0}.top-menu.top-style_default .top-menu_item:hover{--top-icon-color: var(--color-text-1);--top-button-color: var(--color-text-1);--top-forms-border-color: var(--color-line-2)}.top-menu.top-style_default .top-menu_item:active,.top-menu.top-style_default .top-menu_item.top-active{--top-icon-color: var(--color-text-primary);--top-button-color: var(--color-text-1);--top-forms-border-color: var(--color-line-primary-1)}.top-menu.top-style_default .top-menu_selectAll{padding-left:var(--top-padding-2)}.top-menu.top-style_bar{border-radius:var(--top-radius-3);border:1px solid var(--color-line-2);padding:var(--top-padding-1);gap:3px}.top-menu.top-style_bar .top-menu_item{--top-button-background-color-hover: var(--color-layer-1);--top-button-background-color-active: var(--color-layer-2);--top-button-background-color-selected: var(--color-layer-primary-1);position:relative}.top-menu.top-style_bar .top-menu_item:hover{--top-icon-color: var(--color-text-1);--top-button-color: var(--color-text-1)}.top-menu.top-style_bar .top-menu_item.top-active{--top-icon-color: var(--color-text-primary);--top-button-color: var(--color-text-primary)}.top-menu.top-style_bar .top-menu_item:not(:first-child):not(.top-active):not(:hover):after{content:"";background:var(--color-line-1-opacity);width:1px;height:60%;display:block;position:absolute;left:-2px}.top-menu.top-style_bar .top-menu_item.top-active+.top-menu_item:after,.top-menu.top-style_bar .top-menu_item:hover+.top-menu_item:after{content:none!important}.top-selector2_itemMulti{box-sizing:border-box;padding-left:var(--top-padding-2);border-radius:var(--top-radius-1, 4px);border:1px solid var(--color-line-primary-1);background:var(--color-layer-primary-2);min-height:22px;max-width:100%;color:var(--color-text-1);flex-grow:0;display:inline-flex;align-items:center;gap:var(--top-gap-1)}.top-selector2_itemMultiDelete{--top-icon-size: 14px;--top-icon-width: 18px;--top-icon-color: var(--color-text-1);display:flex;align-items:center;justify-content:center;height:100%;cursor:pointer}.top-selector2_itemMultiDelete:hover{background:var(--color-layer-primary-2)}@media screen and (min-width:900px){.top-selector2.top-active .top-selector2_itemMultiDelete{z-index:calc(var(--top-popup-z-index) + 1)}}.top-selector2{width:180px}.top-selector2::placeholder,.top-selector2_placeholder{color:var(--color-text-2)}.top-selector2_placeholder{padding-left:var(--top-padding-1)}.top-selector2.top-as-input{padding:var(--top-padding-1) var(--top-forms-padding)}.top-selector2.top-selector2-multiselect{width:auto;padding:var(--top-padding-1);flex-grow:1}.top-selector2.top-active{--top-forms-border-color: var(--top-forms-border-color-hover)}.top-selector2_searchWidget{display:flex;gap:var(--top-gap-2)}.top-selector2_activeItems{display:flex;flex-wrap:wrap;gap:var(--top-padding-1);max-width:100%}.top-selector2_activeName{white-space:nowrap}.top-changer-selector{width:auto;padding:var(--top-padding-1);margin:calc(0px - var(--top-padding-1));transform:translate(0)}.top-selector2.top-button{justify-content:start}.top-selector2.top-input_input~.top-changer-selector{transform:translate(-52px)}.top-selector2.top-as-selector{padding-right:calc(var(--top-selector-arrow-width) + var(--top-padding-2))}.top-editArea{--top-editArea-bottom: env(keyboard-inset-height, 0px);--top-editArea-offset-bottom: 0px;display:flex;flex-direction:column;gap:6px}.top-editArea_caption{font-size:12px}.top-editArea_form{flex-direction:column}.top-textarea{width:100%}.top-editArea_element.top-textarea_textarea{--top-forms-border-width: 0px;outline:none;animation:none}.top-editArea_footer{padding:var(--top-forms-padding);display:flex;min-height:32px;align-self:flex-end;justify-content:flex-end;gap:var(--top-forms-padding)}.top-editArea-attachedToKeyboard{background:var(--top-forms-background-color);position:fixed;bottom:calc(var(--top-editArea-offset-bottom) + var(--top-editArea-bottom));right:0;left:0;z-index:2;gap:0;transition:bottom var(--transition-fast)}.top-editArea-attachedToKeyboard .top-editArea_form{border-radius:0;border:none;border-top:1px solid var(--top-forms-border-color)}.top-editArea-attachedToKeyboard .top-editArea_title{cursor:pointer;border-top:1px solid var(--color-line-2-opacity);padding:var(--top-forms-padding)}.top-editArea-attachedToKeyboard .top-editArea_footer>[data-top-icon]{border-radius:100%}@media screen and (max-width:900px){.top-editArea_form{flex-direction:row}}.top-editInput{width:220px;flex-grow:1;display:flex;align-items:flex-end;gap:var(--top-gap-1)}.top-editInput .top-input{width:unset;flex-grow:1}.top-optionGroup{-webkit-user-select:none;user-select:none;box-sizing:border-box;border-radius:8px;background-color:var(--color-layout-middle);height:var(--top-forms-base-height);padding:2px;gap:2px;display:flex;align-items:flex-start}.top-optionGroup_item{cursor:pointer;box-sizing:border-box;border-radius:6px;height:calc(var(--top-forms-base-height) - 4px);padding:1px var(--top-padding-2);color:var(--color-text-2);font-weight:400;white-space:nowrap;display:flex;align-items:center;justify-content:center;flex-grow:1;gap:var(--top-gap-1)}.top-optionGroup_item:hover{background-color:var(--color-layout-front-1);box-shadow:0 4px 32px #0409541a,0 0 4px #04095414}.top-optionGroup_item-selected{color:var(--color-text-1);background-color:var(--color-bg-lightning-1);box-shadow:0 4px 32px #0409541a,0 0 4px #04095414}.top-optionGroup_item>.top-forms-optionLabel{flex-grow:0}.top-optionGroup-showIndicator_0>.top-optionGroup_item{justify-content:center}.top-optionGroup-showIndicator_0>.top-optionGroup_item:has(:focus-visible){outline:2px solid var(--color-bg-primary-2);outline-offset:-1px}.top-optionGroup-showIndicator_1>.top-optionGroup_item{padding:1px 3px;justify-content:flex-start}.top-optionGroup-showIndicator_0>.top-optionGroup_item>.top-forms-option{opacity:0;width:0;height:0;position:absolute}.top-optionGroup_item>.top-forms-option{order:-1}.top-info{--top-icon-width: var(--top-icon-size);border-radius:var(--top-forms-radius);box-sizing:border-box;min-height:var(--top-forms-base-height);padding:var(--top-padding-1) var(--top-padding-2);flex-grow:5;display:flex;align-items:center;justify-content:space-between;gap:var(--top-gap-2)}.top-info_text{flex-grow:1}.top-info_value{font-weight:700}.top-info.top-size_default{border-radius:var(--top-radius-3);padding:var(--top-padding-4)}.top-info-styling_default{--top-icon-color: var(--color-text-2);background:var(--color-layer-1)}.top-info-styling_info{--top-icon-color: var(--color-text-primary);background:var(--color-layer-primary-1)}.top-info-styling_warning{--top-icon-color: var(--color-text-warning);background:var(--color-layer-warning-1)}.top-info-styling_negative{--top-icon-color: var(--color-text-negative);background:var(--color-layer-negative-1)}.top-policy{box-sizing:border-box;box-shadow:var(--top-shadow-b);border-radius:var(--top-radius-4);background:var(--color-bg-lightning-1);width:600px;padding:var(--top-padding-4);position:fixed;right:var(--top-gap-10);bottom:var(--top-gap-10);display:flex;flex-direction:column;gap:var(--top-gap-4);z-index:10000}.top-policy_title{font-size:24px;font-weight:700}.top-policy_description{font-size:14px}@media screen and (max-width:900px){.top-policy{width:100%;right:0;bottom:calc(var(--top-gap-5) + var(--toolbar-height, 0px))}}
@@ -1 +0,0 @@
1
- h3[data-top-popup],div[data-top-popup],i[data-top-popup]:not(.btn),b[data-top-popup]:not(.btn){cursor:pointer;-webkit-user-select:none;user-select:none;font-style:normal;text-decoration:none;display:inline-flex;align-items:center}i[contenteditable]{cursor:text!important}.top-popup_footerSupportLink{margin-right:auto}.top-input-popupWidgetInput{--top-loadbar-color: var(--color-line-2);width:100%}.top-input_input-popupWidgetInput{border:none;background:var(--color-layer-1)}.top-input_input-popupWidgetInput:hover{background:var(--color-layer-2)}.top-input_input-popupWidgetInput:focus{background:var(--color-layer-1);outline:unset}.top-popupHint_opener{cursor:pointer}.top-popupHint_opener.top-active{color:var(--color-text-2)}
package/core/app.js.map DELETED
@@ -1 +0,0 @@
1
- {"version":3,"file":"app.js","sources":["../../src/core/plugins/piniaTPA.ts"],"sourcesContent":["import type { PiniaPluginContext, Store } from 'pinia';\nimport { watch } from 'vue';\nimport { debounce } from '@/core/utils/lodash';\nimport { guestLinkToClipboard } from '@/core/utils/clipboard';\nimport { camelToSnakeCase } from '@/core/utils/string.js';\nimport { getHash, setHash } from '@/core/utils/route';\n\nclass PiniaTPA {\n\n\treadonly #storeId: string;\n\treadonly #store: Store<string, any>;\n\n\t/**\n\t * @deprecated\n\t */\n\treadonly #Page: any;\n\n\treadonly #user: any;\n\treadonly #Api: Api.Client<Api.TV.Paths, true>;\n\n\treadonly #namesUrlHash: string[] = [];\n\treadonly #namesStorage: string[] = [];\n\treadonly #namesStorageLocal: string[] = [];\n\treadonly #namesGuestLink: string[] = [];\n\n\tconstructor(context: Context) {\n\t\tthis.#store = context.store;\n\t\tthis.#storeId = this.#store.$id;\n\n\t\tthis.#Page = context.options.Page;\n\n\t\tthis.#user = context.options.user;\n\t\tthis.#Api = context.options.Api;\n\n\t\tthis.#namesUrlHash = context.options.tpaNamesUrlHash || [];\n\t\tthis.#namesStorage = context.options.tpaNamesStorage || [];\n\t\tthis.#namesStorageLocal = context.options.tpaNamesStorageLocal || [];\n\t\tthis.#namesGuestLink = context.options.tpaNamesGuestLink || [];\n\n\t\tcontext.store.genGuestLink = <Path extends Api.TV.Path>(path: Path, params: Api.TV.Params<Path>) => this.genGuestLink(path, params);\n\n\t\tif (!this.#user.guest_data?.data) {\n\t\t\tthis.#loadFromStorage();\n\t\t\tthis.#loadFromStorage(true);\n\n\t\t\t// настройки URL hash имеют приоритет\n\t\t\tthis.#loadFromHash();\n\t\t}\n\n\t\t// настройки гостевой ссылки имеют приоритет\n\t\tthis.#loadFromGuestLink();\n\n\t\tthis.#prepareParams();\n\n\t\tconst save = debounce(() => {\n\t\t\tthis.#saveInHash();\n\t\t\tthis.#saveInStorage();\n\t\t\tthis.#saveInStorage(true);\n\t\t});\n\n\t\tcontext.store.$subscribe(save);\n\t}\n\n\t/**\n\t * Сгенерировать гостевую ссылку\n\t *\n\t * Метод, путь к которому указан в path, должен возвращать сгенерированную ссылку\n\t */\n\tasync genGuestLink<Path extends Api.TV.Path>(path: Path, params: Api.TV.Params<Path>) {\n\t\tconst dataGuestLink = this.#genOptionsForGuestLink();\n\t\tparams = Object.assign(params, Object.fromEntries(dataGuestLink));\n\n\t\tconst res = await this.#Api.gen(path).setParams(params).call();\n\t\tif (res?.errors) return;\n\n\t\tconst link = res.result as string;\n\n\t\tawait guestLinkToClipboard(link);\n\t}\n\n\t/**\n\t * Сгенерировать опции для гостевой ссылки\n\t */\n\t#genOptionsForGuestLink() {\n\t\tconst data = new Map();\n\n\t\tthis.#namesGuestLink.forEach(name => {\n\t\t\t// формат параметров API: snake_case\n\t\t\tconst nameSnakeCase = camelToSnakeCase(name);\n\t\t\tdata.set(nameSnakeCase, this.#store[name]);\n\t\t});\n\n\t\treturn data;\n\t}\n\n\t/**\n\t * Установить опции из объекта без фиксации состояния\n\t */\n\t#setOptions(data: Map<string, any>) {\n\t\tdata.forEach((value, name) => {\n\t\t\tconst currentValue = this.#store[name];\n\n\t\t\tif (value === null || value === undefined) return;\n\t\t\tif (currentValue === undefined) return;\n\t\t\tif (!value?.constructor) return;\n\t\t\tif (value.constructor !== currentValue.constructor) return;\n\n\t\t\t// дополнительная проверка на формат даты\n\t\t\tif (name.indexOf('date') === 0) {\n\t\t\t\tif (Array.isArray(value)) {\n\t\t\t\t\t// value.forEach((valueI) => {\n\t\t\t\t\t// \tif (!/\\d\\d\\d\\d-\\d\\d-\\d\\d/.test(valueI)) return;\n\t\t\t\t\t// });\n\t\t\t\t} else {\n\t\t\t\t\tif (typeof (value) === 'string') {\n\t\t\t\t\t\tif (!/\\d\\d\\d\\d-\\d\\d-\\d\\d/.test(value)) return;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tthis.#store[name] = value;\n\t\t});\n\t}\n\n\t/**\n\t * Сгенерировать Map объект с опциями со значениями в виде json строк\n\t */\n\t#genDataFormat(data: Map<string, any>) {\n\t\tconst dataFormatted = new Map();\n\n\t\tdata.forEach((value, name) => {\n\t\t\tif (value === null) return;\n\n\t\t\tvalue = JSON.stringify(value);\n\n\t\t\tdataFormatted.set(name, value);\n\t\t});\n\n\t\treturn dataFormatted;\n\t}\n\n\t/**\n\t * Сгенерировать Map объект с опциями со значениями в оригинальном виде\n\t */\n\t#genDataUnFormat(dataFormatted: Map<string, string>) {\n\t\tconst data: Map<string, any> = new Map();\n\n\t\tdataFormatted.forEach((value, name) => {\n\t\t\tif (value === null || value === undefined || value === 'false') return;\n\n\t\t\ttry {\n\t\t\t\tif (typeof (value) === 'string' && !/^\\d\\d\\d\\d-\\d\\d-\\d\\d$/.test(value)) value = JSON.parse(value);\n\n\t\t\t\tif (value === null || value === undefined || value === 'false') return;\n\t\t\t} catch (e) {\n\t\t\t\t// не json строка\n\t\t\t}\n\n\t\t\tdata.set(name, value);\n\t\t});\n\n\t\treturn data;\n\t}\n\n\t/**\n\t * Установить опции из хеша адреса страницы\n\t */\n\t#loadFromHash() {\n\t\tlet dataHash: any;\n\t\ttry {\n\t\t\tdataHash = JSON.parse(getHash(this.#storeId));\n\t\t} catch (e) {\n\n\t\t}\n\t\tif (!dataHash) return;\n\n\t\tconst data: Map<string, any> = new Map();\n\n\t\tthis.#namesUrlHash.forEach((name) => {\n\t\t\tconst value = dataHash[name];\n\t\t\tif (!value) return;\n\n\t\t\tdata.set(name, value);\n\t\t});\n\n\t\tthis.#setOptions(data);\n\t}\n\n\t/**\n\t * Сохранить опции в хеш адреса страницы\n\t */\n\t#saveInHash() {\n\t\tconst data = new Map();\n\n\t\tthis.#namesUrlHash.forEach((name) => {\n\t\t\tconst value = this.#store[name];\n\n\t\t\tdata.set(name, value);\n\t\t});\n\n\t\tconst dataObject = Object.fromEntries(data);\n\t\tconst dataJSON = JSON.stringify(dataObject);\n\n\t\tsetHash(this.#storeId, dataJSON);\n\t};\n\n\t/**\n\t * Установить опции из localStorage\n\t * @param isLocal - сохранить с учетом адреса страницы\n\t */\n\t#loadFromStorage(isLocal = false) {\n\t\tconst dataFormatted = new Map();\n\n\t\tlet names = this.#namesStorage;\n\t\tlet storageNamespace = 'state:' + this.#storeId;\n\n\t\tif (isLocal) {\n\t\t\tnames = this.#namesStorageLocal;\n\t\t\tstorageNamespace = 'state:' + this.#storeId + ':' + location.pathname;\n\t\t}\n\n\t\tnames.forEach((name) => {\n\t\t\tconst value = localStorage.getItem(storageNamespace + ':' + name);\n\t\t\tdataFormatted.set(name, value);\n\t\t});\n\n\t\tconst data = this.#genDataUnFormat(dataFormatted);\n\n\t\tthis.#setOptions(data);\n\t}\n\n\t/**\n\t * Сохранить опции в localStorage\n\t * @param isLocal - сохранить с учетом адреса страницы\n\t */\n\t#saveInStorage(isLocal = false) {\n\t\tconst data = new Map();\n\n\t\tlet names = this.#namesStorage;\n\t\tlet storageNamespace = 'state:' + this.#storeId;\n\n\t\tif (isLocal) {\n\t\t\tnames = this.#namesStorageLocal;\n\t\t\tstorageNamespace = 'state:' + this.#storeId + ':' + location.pathname;\n\t\t}\n\n\t\tnames.forEach((name) => {\n\t\t\tconst value = this.#store[name];\n\n\t\t\tdata.set(name, value);\n\t\t});\n\n\t\tconst dataFormatted = this.#genDataFormat(data);\n\n\t\tnames.forEach((name) => {\n\t\t\tconst value = dataFormatted.get(name);\n\n\t\t\tlocalStorage.setItem(storageNamespace + ':' + name, value);\n\t\t});\n\t}\n\n\t/**\n\t * Установить опции из гостевой ссылки\n\t */\n\t#loadFromGuestLink() {\n\t\tconst guestData = this.#user?.guest_data?.data;\n\t\tif (!guestData) return;\n\n\t\t// общие правила для гостевых сессий\n\t\tif (this.#user.id === -1) this.#user.positionsReverseDates = guestData.positionsReverseDates;\n\n\t\tconst dataFormatted = new Map();\n\n\t\tthis.#namesGuestLink.forEach((name) => {\n\t\t\tconst value = guestData[name];\n\t\t\tdataFormatted.set(name, value);\n\t\t});\n\n\t\tconst data = this.#genDataUnFormat(dataFormatted);\n\n\t\tthis.#setOptions(data);\n\n\t\tconst $guestTitle = $('.mod_guest_title');\n\n\t\t// TODO: вынести в опции плагина\n\t\tif (this.#store.competitorsIds?.length === 1 && this.#Page.page.data.competitors) {\n\t\t\tlet competitors = this.#Page.page.data.competitors.filter((competitor: any) => competitor.id === guestData.competitorsIds[0]);\n\t\t\tif (competitors.length) {\n\t\t\t\t$('a', $guestTitle).attr('href', 'http://' + competitors[0].url);\n\t\t\t\t$('a', $guestTitle).text(competitors[0].name);\n\t\t\t}\n\t\t}\n\t}\n\n\t/**\n\t * Подготовить входные параметры перед инициализацией основного функционала\n\t *\n\t * Входные параметры устанавливаются при открытии страницы\n\t *\n\t * Входные параметры могут меняться пользоваталем и устаревать\n\t */\n\t#prepareParams() {\n\t\t// контролль за вводом регионов\n\t\t// TODO: вынести в опции плагина\n\t\tif (this.#store.regionsIndexes) {\n\t\t\twatch(this.#store.regionsIndexes, (regionsIndexes) => {\n\t\t\t\tif (!regionsIndexes.length) return;\n\n\t\t\t\t// приведение типа\n\t\t\t\tregionsIndexes.forEach((regionIndex: number, index: number) => regionsIndexes[index] = regionIndex);\n\n\t\t\t\t// оставить только включенные регионы\n\t\t\t\t// @ts-ignore\n\t\t\t\tconst mapSearchers = TplProjectSelectorRegion.genSearchersMap();\n\n\t\t\t\tconst availableRegionsIndexes: number[] = [];\n\t\t\t\tmapSearchers.forEach((searcher: any) => {\n\t\t\t\t\tsearcher.regions.forEach((region: any) => {\n\t\t\t\t\t\tif (region.index === -1) return;\n\n\t\t\t\t\t\tavailableRegionsIndexes.push(region.index);\n\t\t\t\t\t});\n\t\t\t\t});\n\n\t\t\t\tthis.#store.regionsIndexes = regionsIndexes.filter((regionIndex: number) => availableRegionsIndexes.includes(regionIndex));\n\t\t\t}, { immediate: true });\n\t\t}\n\n\t\t// контролль за вводом конкурентов\n\t\t// TODO: вынести в опции плагина\n\t\tif (this.#store.competitorsIds) {\n\t\t\twatch(this.#store.competitorsIds, (competitorsIds) => {\n\t\t\t\tif (!competitorsIds.length) return;\n\n\t\t\t\t// приведение типа\n\t\t\t\tcompetitorsIds.forEach((competitorId: number, index: number) => competitorsIds[index] = competitorId);\n\n\t\t\t\t// оставить только включенных конкурентов\n\t\t\t\tconst availableCompetitorsIds = [this.#Page.page.data.project.id];\n\t\t\t\tthis.#Page.page.data.project.competitors.forEach((competitor: any) => {\n\t\t\t\t\tif (competitor.on >= 0) availableCompetitorsIds.push(competitor.id);\n\t\t\t\t});\n\n\t\t\t\tthis.#store.competitorsIds = competitorsIds.filter((competitorId: number) => availableCompetitorsIds.includes(competitorId));\n\t\t\t}, { immediate: true });\n\t\t}\n\t}\n\n}\n\ntype Options = {\n\t/**\n\t * TODO: Убрать из плагина\n\t */\n\tPage: any,\n\n\t/**\n\t * Объект с настройками пользователя\n\t */\n\tuser: any,\n\n\t/**\n\t * Объект для работы с API\n\t *\n\t * См. на сайте: @/component/api/core/api.ts\n\t */\n\tApi: Api.Client<Api.TV.Paths, true>;\n\n\t/**\n\t * Имена свойств для сохранения в URL\n\t */\n\ttpaNamesUrlHash?: string[],\n\n\t/**\n\t * Имена свойств для сохранения в localStorage\n\t */\n\ttpaNamesStorage?: string[],\n\n\t/**\n\t * Имена свойств для сохранения в localStorage с учетом пути URL\n\t *\n\t * Каждый URL будет работать со своим состоянием\n\t */\n\ttpaNamesStorageLocal?: string[],\n\n\t/**\n\t * Имена свойств для работы с гостевой ссылкой\n\t *\n\t * Для генерации гостевой ссылки используйте store.genGuestLink(data, url)\n\t */\n\ttpaNamesGuestLink?: string[],\n};\n\ntype Context = PiniaPluginContext & {\n\toptions: Options\n};\n\n/**\n * Плагин tpa (Third-party access) для pinia\n *\n * Добавляет возможность сохранять и загружать данные в/из:\n * \t- URL hash в адресе страницы\n * \t- localStorage\n * \t- гостевая ссылка\n *\n * Для подключения плагина нужно указань одну или несколько опций при определении defineStore():\n * - tpaNamesUrlHash\n * - tpaNamesStorage\n * - tpaNamesStorageLocal\n * - tpaNamesGuestLink\n */\nexport default (contextPinia: PiniaPluginContext) => {\n\tconst context = contextPinia as Context;\n\n\t// плагин подключать не нужно\n\tif (\n\t\t!context.options.tpaNamesUrlHash?.length &&\n\t\t!context.options.tpaNamesStorage?.length &&\n\t\t!context.options.tpaNamesStorageLocal?.length &&\n\t\t!context.options.tpaNamesGuestLink?.length\n\t) {\n\t\treturn;\n\t}\n\n\tnew PiniaTPA(context);\n}\n"],"names":["PiniaTPA","#storeId","#store","#Page","#user","#Api","#namesUrlHash","#namesStorage","#namesStorageLocal","#namesGuestLink","context","path","params","#loadFromStorage","#loadFromHash","#loadFromGuestLink","#prepareParams","save","debounce","#saveInHash","#saveInStorage","dataGuestLink","#genOptionsForGuestLink","res","link","guestLinkToClipboard","data","name","nameSnakeCase","camelToSnakeCase","#setOptions","value","currentValue","#genDataFormat","dataFormatted","#genDataUnFormat","dataHash","getHash","dataObject","dataJSON","setHash","isLocal","names","storageNamespace","guestData","$guestTitle","competitors","competitor","watch","regionsIndexes","regionIndex","index","mapSearchers","availableRegionsIndexes","searcher","region","competitorsIds","competitorId","availableCompetitorsIds","piniaTPA","contextPinia"],"mappings":";;;;;;;;;AAOA,MAAMA,EAAS;AAAA,EAELC;AAAA,EACAC;AAAA;AAAA;AAAA;AAAA,EAKAC;AAAA,EAEAC;AAAA,EACAC;AAAA,EAEAC,KAA0B,CAAA;AAAA,EAC1BC,KAA0B,CAAA;AAAA,EAC1BC,KAA+B,CAAA;AAAA,EAC/BC,KAA4B,CAAA;AAAA,EAErC,YAAYC,GAAkB;AAC7B,SAAKR,KAASQ,EAAQ,OACtB,KAAKT,KAAW,KAAKC,GAAO,KAE5B,KAAKC,KAAQO,EAAQ,QAAQ,MAE7B,KAAKN,KAAQM,EAAQ,QAAQ,MAC7B,KAAKL,KAAOK,EAAQ,QAAQ,KAE5B,KAAKJ,KAAgBI,EAAQ,QAAQ,mBAAmB,CAAA,GACxD,KAAKH,KAAgBG,EAAQ,QAAQ,mBAAmB,CAAA,GACxD,KAAKF,KAAqBE,EAAQ,QAAQ,wBAAwB,CAAA,GAClE,KAAKD,KAAkBC,EAAQ,QAAQ,qBAAqB,CAAA,GAE5DA,EAAQ,MAAM,eAAe,CAA2BC,GAAYC,MAAgC,KAAK,aAAaD,GAAMC,CAAM,GAE7H,KAAKR,GAAM,YAAY,SAC3B,KAAKS,GAAA,GACL,KAAKA,GAAiB,EAAI,GAG1B,KAAKC,GAAA,IAIN,KAAKC,GAAA,GAEL,KAAKC,GAAA;AAEL,UAAMC,IAAOC,EAAS,MAAM;AAC3B,WAAKC,GAAA,GACL,KAAKC,GAAA,GACL,KAAKA,GAAe,EAAI;AAAA,IACzB,CAAC;AAED,IAAAV,EAAQ,MAAM,WAAWO,CAAI;AAAA,EAC9B;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAOA,MAAM,aAAuCN,GAAYC,GAA6B;AACrF,UAAMS,IAAgB,KAAKC,GAAA;AAC3B,IAAAV,IAAS,OAAO,OAAOA,GAAQ,OAAO,YAAYS,CAAa,CAAC;AAEhE,UAAME,IAAM,MAAM,KAAKlB,GAAK,IAAIM,CAAI,EAAE,UAAUC,CAAM,EAAE,KAAA;AACxD,QAAIW,GAAK,OAAQ;AAEjB,UAAMC,IAAOD,EAAI;AAEjB,UAAME,EAAqBD,CAAI;AAAA,EAChC;AAAA;AAAA;AAAA;AAAA,EAKAF,KAA0B;AACzB,UAAMI,wBAAW,IAAA;AAEjB,gBAAKjB,GAAgB,QAAQ,CAAAkB,MAAQ;AAEpC,YAAMC,IAAgBC,EAAiBF,CAAI;AAC3C,MAAAD,EAAK,IAAIE,GAAe,KAAK1B,GAAOyB,CAAI,CAAC;AAAA,IAC1C,CAAC,GAEMD;AAAA,EACR;AAAA;AAAA;AAAA;AAAA,EAKAI,GAAYJ,GAAwB;AACnC,IAAAA,EAAK,QAAQ,CAACK,GAAOJ,MAAS;AAC7B,YAAMK,IAAe,KAAK9B,GAAOyB,CAAI;AAErC,UAAII,KAAU,QACVC,MAAiB,UAChBD,GAAO,eACRA,EAAM,gBAAgBC,EAAa,aAGvC;AAAA,YAAIL,EAAK,QAAQ,MAAM,MAAM,KACxB,OAAM,QAAQI,CAAK;AAKtB,cAAI,OAAQA,KAAW,YAClB,CAAC,qBAAqB,KAAKA,CAAK;AAAG;AAAA;AAK1C,aAAK7B,GAAOyB,CAAI,IAAII;AAAA;AAAA,IACrB,CAAC;AAAA,EACF;AAAA;AAAA;AAAA;AAAA,EAKAE,GAAeP,GAAwB;AACtC,UAAMQ,wBAAoB,IAAA;AAE1B,WAAAR,EAAK,QAAQ,CAACK,GAAOJ,MAAS;AAC7B,MAAII,MAAU,SAEdA,IAAQ,KAAK,UAAUA,CAAK,GAE5BG,EAAc,IAAIP,GAAMI,CAAK;AAAA,IAC9B,CAAC,GAEMG;AAAA,EACR;AAAA;AAAA;AAAA;AAAA,EAKAC,GAAiBD,GAAoC;AACpD,UAAMR,wBAA6B,IAAA;AAEnC,WAAAQ,EAAc,QAAQ,CAACH,GAAOJ,MAAS;AACtC,UAAI,EAAAI,KAAU,QAA+BA,MAAU,UAEvD;AAAA,YAAI;AAGH,cAFI,OAAQA,KAAW,YAAY,CAAC,uBAAuB,KAAKA,CAAK,MAAGA,IAAQ,KAAK,MAAMA,CAAK,IAE5FA,KAAU,QAA+BA,MAAU,QAAS;AAAA,QACjE,QAAY;AAAA,QAEZ;AAEA,QAAAL,EAAK,IAAIC,GAAMI,CAAK;AAAA;AAAA,IACrB,CAAC,GAEML;AAAA,EACR;AAAA;AAAA;AAAA;AAAA,EAKAZ,KAAgB;AACf,QAAIsB;AACJ,QAAI;AACH,MAAAA,IAAW,KAAK,MAAMC,EAAQ,KAAKpC,EAAQ,CAAC;AAAA,IAC7C,QAAY;AAAA,IAEZ;AACA,QAAI,CAACmC,EAAU;AAEf,UAAMV,wBAA6B,IAAA;AAEnC,SAAKpB,GAAc,QAAQ,CAACqB,MAAS;AACpC,YAAMI,IAAQK,EAAST,CAAI;AAC3B,MAAKI,KAELL,EAAK,IAAIC,GAAMI,CAAK;AAAA,IACrB,CAAC,GAED,KAAKD,GAAYJ,CAAI;AAAA,EACtB;AAAA;AAAA;AAAA;AAAA,EAKAP,KAAc;AACb,UAAMO,wBAAW,IAAA;AAEjB,SAAKpB,GAAc,QAAQ,CAACqB,MAAS;AACpC,YAAMI,IAAQ,KAAK7B,GAAOyB,CAAI;AAE9B,MAAAD,EAAK,IAAIC,GAAMI,CAAK;AAAA,IACrB,CAAC;AAED,UAAMO,IAAa,OAAO,YAAYZ,CAAI,GACpCa,IAAW,KAAK,UAAUD,CAAU;AAE1C,IAAAE,EAAQ,KAAKvC,IAAUsC,CAAQ;AAAA,EAChC;AAAA;AAAA;AAAA;AAAA;AAAA,EAMA1B,GAAiB4B,IAAU,IAAO;AACjC,UAAMP,wBAAoB,IAAA;AAE1B,QAAIQ,IAAQ,KAAKnC,IACboC,IAAmB,WAAW,KAAK1C;AAEvC,IAAIwC,MACHC,IAAQ,KAAKlC,IACbmC,IAAmB,WAAW,KAAK1C,KAAW,MAAM,SAAS,WAG9DyC,EAAM,QAAQ,CAACf,MAAS;AACvB,YAAMI,IAAQ,aAAa,QAAQY,IAAmB,MAAMhB,CAAI;AAChE,MAAAO,EAAc,IAAIP,GAAMI,CAAK;AAAA,IAC9B,CAAC;AAED,UAAML,IAAO,KAAKS,GAAiBD,CAAa;AAEhD,SAAKJ,GAAYJ,CAAI;AAAA,EACtB;AAAA;AAAA;AAAA;AAAA;AAAA,EAMAN,GAAeqB,IAAU,IAAO;AAC/B,UAAMf,wBAAW,IAAA;AAEjB,QAAIgB,IAAQ,KAAKnC,IACboC,IAAmB,WAAW,KAAK1C;AAEvC,IAAIwC,MACHC,IAAQ,KAAKlC,IACbmC,IAAmB,WAAW,KAAK1C,KAAW,MAAM,SAAS,WAG9DyC,EAAM,QAAQ,CAACf,MAAS;AACvB,YAAMI,IAAQ,KAAK7B,GAAOyB,CAAI;AAE9B,MAAAD,EAAK,IAAIC,GAAMI,CAAK;AAAA,IACrB,CAAC;AAED,UAAMG,IAAgB,KAAKD,GAAeP,CAAI;AAE9C,IAAAgB,EAAM,QAAQ,CAACf,MAAS;AACvB,YAAMI,IAAQG,EAAc,IAAIP,CAAI;AAEpC,mBAAa,QAAQgB,IAAmB,MAAMhB,GAAMI,CAAK;AAAA,IAC1D,CAAC;AAAA,EACF;AAAA;AAAA;AAAA;AAAA,EAKAhB,KAAqB;AACpB,UAAM6B,IAAY,KAAKxC,IAAO,YAAY;AAC1C,QAAI,CAACwC,EAAW;AAGhB,IAAI,KAAKxC,GAAM,OAAO,OAAI,KAAKA,GAAM,wBAAwBwC,EAAU;AAEvE,UAAMV,wBAAoB,IAAA;AAE1B,SAAKzB,GAAgB,QAAQ,CAACkB,MAAS;AACtC,YAAMI,IAAQa,EAAUjB,CAAI;AAC5B,MAAAO,EAAc,IAAIP,GAAMI,CAAK;AAAA,IAC9B,CAAC;AAED,UAAML,IAAO,KAAKS,GAAiBD,CAAa;AAEhD,SAAKJ,GAAYJ,CAAI;AAErB,UAAMmB,IAAc,EAAE,kBAAkB;AAGxC,QAAI,KAAK3C,GAAO,gBAAgB,WAAW,KAAK,KAAKC,GAAM,KAAK,KAAK,aAAa;AACjF,UAAI2C,IAAc,KAAK3C,GAAM,KAAK,KAAK,YAAY,OAAO,CAAC4C,MAAoBA,EAAW,OAAOH,EAAU,eAAe,CAAC,CAAC;AAC5H,MAAIE,EAAY,WACf,EAAE,KAAKD,CAAW,EAAE,KAAK,QAAQ,YAAYC,EAAY,CAAC,EAAE,GAAG,GAC/D,EAAE,KAAKD,CAAW,EAAE,KAAKC,EAAY,CAAC,EAAE,IAAI;AAAA,IAE9C;AAAA,EACD;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EASA9B,KAAiB;AAGhB,IAAI,KAAKd,GAAO,kBACf8C,EAAM,KAAK9C,GAAO,gBAAgB,CAAC+C,MAAmB;AACrD,UAAI,CAACA,EAAe,OAAQ;AAG5B,MAAAA,EAAe,QAAQ,CAACC,GAAqBC,MAAkBF,EAAeE,CAAK,IAAID,CAAW;AAIlG,YAAME,IAAe,yBAAyB,gBAAA,GAExCC,IAAoC,CAAA;AAC1C,MAAAD,EAAa,QAAQ,CAACE,MAAkB;AACvC,QAAAA,EAAS,QAAQ,QAAQ,CAACC,MAAgB;AACzC,UAAIA,EAAO,UAAU,MAErBF,EAAwB,KAAKE,EAAO,KAAK;AAAA,QAC1C,CAAC;AAAA,MACF,CAAC,GAED,KAAKrD,GAAO,iBAAiB+C,EAAe,OAAO,CAACC,MAAwBG,EAAwB,SAASH,CAAW,CAAC;AAAA,IAC1H,GAAG,EAAE,WAAW,IAAM,GAKnB,KAAKhD,GAAO,kBACf8C,EAAM,KAAK9C,GAAO,gBAAgB,CAACsD,MAAmB;AACrD,UAAI,CAACA,EAAe,OAAQ;AAG5B,MAAAA,EAAe,QAAQ,CAACC,GAAsBN,MAAkBK,EAAeL,CAAK,IAAIM,CAAY;AAGpG,YAAMC,IAA0B,CAAC,KAAKvD,GAAM,KAAK,KAAK,QAAQ,EAAE;AAChE,WAAKA,GAAM,KAAK,KAAK,QAAQ,YAAY,QAAQ,CAAC4C,MAAoB;AACrE,QAAIA,EAAW,MAAM,KAAGW,EAAwB,KAAKX,EAAW,EAAE;AAAA,MACnE,CAAC,GAED,KAAK7C,GAAO,iBAAiBsD,EAAe,OAAO,CAACC,MAAyBC,EAAwB,SAASD,CAAY,CAAC;AAAA,IAC5H,GAAG,EAAE,WAAW,IAAM;AAAA,EAExB;AAED;AA+DA,MAAAE,IAAe,CAACC,MAAqC;AACpD,QAAMlD,IAAUkD;AAGhB,EACC,CAAClD,EAAQ,QAAQ,iBAAiB,UAClC,CAACA,EAAQ,QAAQ,iBAAiB,UAClC,CAACA,EAAQ,QAAQ,sBAAsB,UACvC,CAACA,EAAQ,QAAQ,mBAAmB,UAKrC,IAAIV,EAASU,CAAO;AACrB;"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"dialog.js","sources":["../../src/components/dialog/dialog/page/types.ts","../../src/components/dialog/dialog/pageComponent/pageComponent.vue"],"sourcesContent":["export interface Props extends PropsCommon {\n\t/**\n\t * Статус загрузки страницы диалогового окна\n\t *\n\t * При включении взаимодействие со страницей блокируется, отображается анимация загрузки\n\t */\n\tisLoading?: boolean;\n}\n\n/**\n * Общие props для компонентов реализуюущих TopDialogPage\n */\nexport interface PropsCommon {\n\t/**\n\t * Имя страницы для диалогового окна\n\t *\n\t * Имя страницы нужно для навигации между страницами в одном диалоговом окне\n\t */\n\tname: string,\n\n\t/**\n\t * Порядкой номер страницы в диалоговом окне\n\t *\n\t * Одна и та же страница может быть подключена в разные диалоговые окна и иметь разный порядковый номер\n\t */\n\torder: number,\n\n\t/**\n\t * Имя предыдущей страницы\n\t *\n\t * Для кнопки Назад / Закрыть в мобильной версии\n\t */\n\tprevName?: string,\n\n\t/**\n\t * Стиль отображения футера, при котороым элементы растягиваются на всю ширину\n\t *\n\t * Разрешены переносы\n\t */\n\tfooterFullWith?: boolean,\n}\n\n/**\n * Общие props для компонентов реализуюущих TopDialogPage\n *\n * Для не SFC компонентов\n */\nexport const propsPageCommon = {\n\tname: {\n\t\ttype: String,\n\t\trequired: true,\n\t},\n\n\torder: {\n\t\ttype: Number,\n\t\trequired: true,\n\t},\n\n\tprevName: String,\n\n\tfooterFullWith: Boolean,\n};\n\nexport interface Slots {\n\t/**\n\t * Шапка страницы\n\t */\n\theader(props: {}): any;\n\n\t/**\n\t * Кнопки для шапки страницы\n\t */\n\theaderButtons?(props: {}): any;\n\n\t/**\n\t * Контент страницы\n\t */\n\tbody(props: {}): any;\n\n\t/**\n\t * Футер страницы\n\t */\n\tfooter?(props: {}): any;\n}\n","<script setup lang=\"ts\">\nimport { type Component, onUpdated, ref, type Ref } from 'vue';\nimport { useTopDialogSelf } from '@/components/dialog/dialog/composables/utils';\nimport type { Props } from './types';\n\nconst props = withDefaults(defineProps<Props>(), {\n\tkeepAlive: true,\n});\n\nconst dialog = useTopDialogSelf();\n\n/**\n * Статус загрузи асинхронного компонента страницы диалогового окна\n */\nconst updateIsLoadingAsyncPage = (component: Component, isLoaded: Ref) => {\n\tif (isLoaded.value) return;\n\n\tif (component.name !== 'AsyncComponentWrapper') {\n\t\tisLoaded.value = true;\n\n\t\treturn;\n\t}\n\n\tif (!dialog.needShowPage(props.name as string)) return;\n\n\tdialog.isLoadingPage.value = true;\n\n\t// @ts-ignore\n\tif (component.__asyncResolved) {\n\t\tisLoaded.value = true;\n\n\t\tdialog.isLoadingPage.value = false;\n\t}\n};\n\nif (props.component.name === 'AsyncComponentWrapper') {\n\tconst isLoaded = ref(false);\n\n\tonUpdated(() => {\n\t\tupdateIsLoadingAsyncPage(props.component, isLoaded);\n\t});\n}\n</script>\n\n<template>\n\t<!-- Teleport внутри при keepAlive размонитроваться не будет, см. TopDialogPage -->\n\t<KeepAlive :include=\"keepAlive ? '' : 'none'\">\n\t\t<Component\n\t\t\t:is=\"component\"\n\t\t\tv-if=\"dialog.needShowPage(name)\"\n\t\t\t:=\"props\"\n\t\t\t:name=\"name\"\n\t\t\t:order=\"order\"\n\t\t\t:prevName=\"prevName\"\n\t\t/>\n\t</KeepAlive>\n</template>\n"],"names":["propsPageCommon","props","__props","dialog","useTopDialogSelf","updateIsLoadingAsyncPage","component","isLoaded","ref","onUpdated","_createBlock","_KeepAlive","_unref","_openBlock","_resolveDynamicComponent","_mergeProps"],"mappings":";;;AA+CO,MAAMA,IAAkB;AAAA,EAC9B,MAAM;AAAA,IACL,MAAM;AAAA,IACN,UAAU;AAAA,EAAA;AAAA,EAGX,OAAO;AAAA,IACN,MAAM;AAAA,IACN,UAAU;AAAA,EAAA;AAAA,EAGX,UAAU;AAAA,EAEV,gBAAgB;AACjB;;;;;;;;;;;;ACxDA,UAAMC,IAAQC,GAIRC,IAASC,EAAA,GAKTC,IAA2B,CAACC,GAAsBC,MAAkB;AACzE,UAAI,CAAAA,EAAS,OAEb;AAAA,YAAID,EAAU,SAAS,yBAAyB;AAC/C,UAAAC,EAAS,QAAQ;AAEjB;AAAA,QACD;AAEA,QAAKJ,EAAO,aAAaF,EAAM,IAAc,MAE7CE,EAAO,cAAc,QAAQ,IAGzBG,EAAU,oBACbC,EAAS,QAAQ,IAEjBJ,EAAO,cAAc,QAAQ;AAAA;AAAA,IAE/B;AAEA,QAAIF,EAAM,UAAU,SAAS,yBAAyB;AACrD,YAAMM,IAAWC,EAAI,EAAK;AAE1B,MAAAC,EAAU,MAAM;AACf,QAAAJ,EAAyBJ,EAAM,WAAWM,CAAQ;AAAA,MACnD,CAAC;AAAA,IACF;2BAKCG,EASYC,GAAA;AAAA,MATA,SAAST,EAAA,YAAS,KAAA;AAAA,IAAA;MAGtBU,EAAAT,CAAA,EAAO,aAAaD,EAAA,IAAI,KAF/BW,KAAAH,EAOEI,EANIZ,EAAA,SAAS,GADfa,EAOE,YAJEd,GAAK;AAAA,QACP,MAAMC,EAAA;AAAA,QACN,OAAOA,EAAA;AAAA,QACP,UAAUA,EAAA;AAAA,MAAA;;;;"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"forms.js","sources":[],"sourcesContent":[],"names":[],"mappings":";"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"helpers.js","sources":[],"sourcesContent":[],"names":[],"mappings":""}
@@ -1 +0,0 @@
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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"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"popup.js","sources":["../../src/components/popup/popupAlert/popupAlert.vue","../../src/components/popup/popupConfirm/popupConfirm.vue","../../src/components/popup/popupPrompt/popupPrompt.vue","../../src/components/popup/popupHint/popupHint.vue"],"sourcesContent":["<script setup lang=\"ts\" generic=\"T extends Record<string, any> | undefined = undefined\">\nimport type { Emits, Props } from './types';\nimport TopButton from '@/components/forms/button/button.vue';\nimport TopPopup from '@/components/popup/popup/popup.vue';\n\nconst props = defineProps<Props<T>>();\n\ndefineEmits<Emits<T>>();\n\n// сужение объекта для propsPopup\nconst {\n\tsubmitText,\n\t...propsPopup\n}: Props<T> = props;\n</script>\n\n<template>\n\t<!-- @vue-generic {T} -->\n\t<TopPopup\n\t\tclass=\"top-popupAlert\"\n\t\t:=propsPopup\n\t\t@open=\"$emit('open', $event)\"\n\t\t@close=\"$emit('close', $event)\"\n\t\t@scrollContentList=\"(...args) => $emit('scrollContentList', ...args)\"\n\t>\n\t\t<template #opener>\n\t\t\t<!-- @slot Элемент для открытия Popup -->\n\t\t\t<slot name=\"opener\"></slot>\n\t\t</template>\n\n\t\t<template #header v-if=\"$slots.header\">\n\t\t\t<!-- @slot Шапка -->\n\t\t\t<slot name=\"header\"></slot>\n\t\t</template>\n\n\t\t<template #content v-if=\"$slots.default\">\n\t\t\t<!-- @slot Контент в свободной форме -->\n\t\t\t<slot></slot>\n\t\t</template>\n\n\t\t<template #footer>\n\t\t\t<!-- @slot Футер -->\n\t\t\t<slot name=\"footer\"></slot>\n\n\t\t\t<TopButton>\n\t\t\t\t{{ submitText || $i18n.Common.Close }}\n\t\t\t</TopButton>\n\t\t</template>\n\t</TopPopup>\n</template>\n","<script setup lang=\"ts\" generic=\"T extends Record<string, any> | undefined = undefined\">\nimport { ref } from 'vue';\nimport type { PopupEvent } from '@/components/popup/popup/types';\nimport type { Emits, Props } from './types';\nimport TopButton from '@/components/forms/button/button.vue';\nimport TopPopup from '@/components/popup/popup/popup.vue';\n\nconst props = defineProps<Props<T>>();\n\nconst emit = defineEmits<Emits<T>>();\n\nconst isSubmit = ref(false);\n\nconst onSubmit = () => {\n\tisSubmit.value = true;\n\n\temit('submit');\n};\n\nconst onClose = (popupEvent: PopupEvent<T>) => {\n\tif (isSubmit.value) {\n\t\tisSubmit.value = false;\n\n\t\treturn;\n\t}\n\n\temit('close', popupEvent);\n};\n\n// сужение объекта для propsPopup\nconst {\n\tsubmitText,\n\tcancelText,\n\tisWarning,\n\t...propsPopup\n}: Props<T> = props;\n</script>\n\n<template>\n\t<!-- @vue-generic {T} -->\n\t<TopPopup\n\t\tclass=\"top-popupConfirm\"\n\t\t:=propsPopup\n\t\t@open=\"$emit('open', $event)\"\n\t\t@close=\"onClose($event)\"\n\t\t@scrollContentList=\"(...args) => $emit('scrollContentList', ...args)\"\n\t>\n\t\t<template #opener>\n\t\t\t<!-- @slot Элемент для открытия TopPopup -->\n\t\t\t<slot name=\"opener\"></slot>\n\t\t</template>\n\n\t\t<template #header v-if=\"$slots.header\">\n\t\t\t<!-- @slot Шапка -->\n\t\t\t<slot name=\"header\"></slot>\n\t\t</template>\n\n\t\t<template #content v-if=\"$slots.default\">\n\t\t\t<!-- @slot Контент в свободной форме -->\n\t\t\t<slot></slot>\n\t\t</template>\n\n\t\t<template #footer>\n\t\t\t<!-- @slot Футер -->\n\t\t\t<slot name=\"footer\"></slot>\n\n\t\t\t<TopButton color=\"theme\">\n\t\t\t\t{{ cancelText || $i18n.Common.Cancel }}\n\t\t\t</TopButton>\n\n\t\t\t<TopButton\n\t\t\t\t@click=\"onSubmit\"\n\t\t\t\t:color=\"isWarning ? 'red' : 'blue'\"\n\t\t\t>\n\t\t\t\t{{ submitText || $i18n.Common.Continue }}\n\t\t\t</TopButton>\n\t\t</template>\n\t</TopPopup>\n</template>\n","<script setup lang=\"ts\" generic=\"T extends Record<string, any> | undefined = undefined\">\nimport { ref, watch } from 'vue';\nimport type { PopupEvent } from '../popup/types';\nimport type { Emits, Props } from './types';\nimport TopButton from '@/components/forms/button/button.vue';\nimport TopPopup from '../popup/popup.vue';\nimport TopPopupWidgetInput from '../popup/widgetInput/widgetInput.vue';\n\nconst props = defineProps<Props<T>>();\n\nconst emit = defineEmits<Emits<T>>();\n\nconst reset = () => localValue.value = props.defaultValue ?? '';\n\nconst isSubmit = ref(false);\n\nconst localValue = ref();\nwatch(() => props.defaultValue, () => reset(), { immediate: true });\n\nconst onSubmit = () => {\n\tisSubmit.value = true;\n};\n\nconst onClose = (popupEvent: PopupEvent<T>) => {\n\tif (isSubmit.value) {\n\t\tisSubmit.value = false;\n\n\t\temit('submit', localValue.value);\n\n\t\treset();\n\n\t\treturn;\n\t}\n\n\treset();\n\n\temit('close', popupEvent);\n};\n\n// сужение объекта для propsPopup\nconst {\n\tsubmitText,\n\tcancelText,\n\tdefaultValue,\n\t...propsPopup\n}: Props<T> = props;\n</script>\n\n<template>\n\t<!-- @vue-generic {T} -->\n\t<TopPopup\n\t\tclass=\"top-popupPrompt\"\n\t\t:=propsPopup\n\t\t@open=\"$emit('open', $event)\"\n\t\t@close=\"onClose($event)\"\n\t\t@scrollContentList=\"(...args) => $emit('scrollContentList', ...args)\"\n\t>\n\t\t<template #opener>\n\t\t\t<!-- @slot Элемент для открытия TopPopup -->\n\t\t\t<slot name=\"opener\"></slot>\n\t\t</template>\n\n\t\t<template #header v-if=\"$slots.header\">\n\t\t\t<!-- @slot Шапка -->\n\t\t\t<slot name=\"header\"></slot>\n\t\t</template>\n\n\t\t<template #content v-if=\"$slots.default\">\n\t\t\t<!-- @slot Контент в свободной форме -->\n\t\t\t<slot></slot>\n\n\t\t\t<TopPopupWidgetInput v-model.trim=\"localValue\"/>\n\t\t</template>\n\n\t\t<template #footer>\n\t\t\t<!-- @slot Футер -->\n\t\t\t<slot name=\"footer\"></slot>\n\n\t\t\t<TopButton color=\"theme\">\n\t\t\t\t{{ cancelText || $i18n.Common.Cancel }}\n\t\t\t</TopButton>\n\n\t\t\t<TopButton @click=\"onSubmit\">\n\t\t\t\t{{ submitText || $i18n.Common.OK }}\n\t\t\t</TopButton>\n\t\t</template>\n\t</TopPopup>\n</template>\n","<script setup lang=\"ts\" generic=\"T extends Record<string, any> | undefined = undefined\">\nimport TopPopup from '@/components/popup/popup/popup.vue';\nimport TopHint from '@/components/forms/hint/hint.vue';\nimport type { Props } from './types';\n\nconst props = defineProps<Props<T>>();\n\nconst {\n\thint,\n\t...propsPopup\n}: Props<T> = props;\n</script>\n\n<template>\n\t<!-- @vue-generic {T} -->\n\t<TopPopup\n\t\tclass=\"top-popupHint\"\n\t\t:=propsPopup\n\t\t@open=\"$emit('open', $event)\"\n\t\t@close=\"$emit('close', $event)\"\n\t\t@scrollContentList=\"(...args) => $emit('scrollContentList', ...args)\"\n\t>\n\t\t<template #opener>\n\t\t\t<!-- Элемент для открытия Popup -->\n\t\t\t<TopHint\n\t\t\t\t:hint=\"hint\"\n\t\t\t\tclass=\"top-popupHint_opener\"\n\t\t\t\tv-top-tooltip\n\t\t\t/>\n\t\t</template>\n\n\t\t<template #content v-if=\"$slots.default\">\n\t\t\t<!-- @slot Контент в свободной форме -->\n\t\t\t<slot></slot>\n\t\t</template>\n\t</TopPopup>\n</template>\n\n<style>\n.top-popupHint_opener {\n\tcursor: pointer;\n}\n\n.top-popupHint_opener.top-active {\n\tcolor: var(--color-text-2);\n}\n</style>\n"],"names":["props","__props","submitText","propsPopup","_openBlock","_createBlock","TopPopup","_mergeProps","_cache","$event","$emit","args","_renderSlot","_ctx","_createVNode","TopButton","_createTextVNode","_toDisplayString","_unref","$i18n","$slots","emit","__emit","isSubmit","ref","onSubmit","onClose","popupEvent","cancelText","isWarning","reset","localValue","watch","defaultValue","TopPopupWidgetInput","hint","TopHint"],"mappings":"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"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"worker.js","sources":["../../src/components/popup/lib/worker.ts"],"sourcesContent":["/**\n * PopupWorker управляет работой Popup\n *\n * Должен грузить TopLibPopup только в отложенном режиме\n */\n\nimport Core from '@/core/core/core';\nimport DOM from '@/core/utils/dom';\nimport type { PopupOptions, TopLibPopup } from '@/components/popup/lib/popup';\nimport type { OpenerProps } from '@/components/popup/popup/opener/types';\n\nexport type Options = {\n\t/**\n\t * Глобальное событие, которое будет вызвано перед открытием TopPopup\n\t */\n\tdecoratorBeforeOpen?: (popup: TopLibPopup) => void,\n\n\t/**\n\t * Глобальное событие, которое будет вызвано после открытия TopPopup\n\t */\n\tdecoratorAfterOpen?: (popup: TopLibPopup) => void;\n\n\t/**\n\t * Определитель того, что клик вне Popup нужно игнорировать\n\t * @returns {boolean} - если true, то click не приведет к закрытию Popup\n\t */\n\tdecoratorIsIgnoreOuterClick?: (e: MouseEvent) => boolean\n}\n\nclass Worker {\n\n\t/**\n\t * Глобальное выключение закрытия меню, используется при различных оверлеях\n\t */\n\tstatic noClose = false;\n\n\t/**\n\t * Для взаимодействия с vue\n\t */\n\tstatic vueConnectors = new Map();\n\n\tstatic options: Options = {};\n\n\t/**\n\t * Вернуть объект компонента popup, привязанный к элементу\n\t */\n\tstatic getPopup(elPopup: HTMLElement): TopLibPopup {\n\t\treturn DOM.storage(elPopup, 'TopPopup') as TopLibPopup;\n\t}\n\n\tstatic getElPopupOpener(el: Element): HTMLElement | null {\n\t\treturn el.closest<HTMLElement>('[data-top-popup]');\n\t}\n\n\tstatic getPopupFromOpener(el: HTMLElement): TopLibPopup | null {\n\t\tconst elOpener = Worker.getElPopupOpener(el);\n\t\tif (!elOpener) return null;\n\n\t\treturn DOM.storage(elOpener, '#TopPopup');\n\t}\n\n\t/**\n\t * Вернуть все элементы с Popup\n\t */\n\tstatic getAll(): HTMLElement[] {\n\t\treturn DOM.querySelectorAllArray(document, '.top-popup-wrapper');\n\t}\n\n\t/**\n\t * Вернуть все элементы с открытыми Popup\n\t */\n\tstatic getAllVisible(): HTMLElement[] {\n\t\treturn DOM.querySelectorAllVisible(document, '.top-popup-wrapper');\n\t}\n\n\t/**\n\t * Открыть Popup от указанного elOpener\n\t * @param {HTMLElement} elOpener - элемент, который должен вызвать открытие Popup\n\t */\n\tstatic async openByOpener(elOpener: HTMLElement): Promise<TopLibPopup | undefined> {\n\t\tif (!(elOpener instanceof HTMLElement)) return;\n\n\t\tconst options: PopupOptions = {};\n\n\t\toptions.popup = elOpener.dataset.topPopup;\n\n\t\toptions.id = elOpener.dataset.topPopupId;\n\n\t\t/**\n\t\t * @deprecated в php шаблонах нет data-top-popup-id\n\t\t */\n\t\tif (!options.id && options.popup) {\n\t\t\telOpener.dataset.topPopupId = btoa(\n\t\t\t\tString.fromCharCode(...new TextEncoder().encode(options.popup))\n\t\t\t);\n\n\t\t\toptions.id = elOpener.dataset.topPopupId;\n\t\t}\n\n\t\t/**\n\t\t * @deprecated topPopupP - добавлено для обратной совместимости\n\t\t */\n\t\tif (elOpener.dataset.topPopupP) {\n\t\t\toptions.p = parseInt(elOpener.dataset.topPopupP);\n\t\t}\n\n\t\tif (elOpener.dataset.topPopupPos) {\n\t\t\toptions.p = parseInt(elOpener.dataset.topPopupPos);\n\t\t}\n\n\t\t/**\n\t\t * @deprecated '1' - добавлено для обратной совместимости\n\t\t */\n\t\tif (elOpener.dataset.topPopupNotch) {\n\t\t\toptions.notch = elOpener.dataset.topPopupNotch === 'true' || elOpener.dataset.topPopupNotch === '1';\n\t\t}\n\n\t\tif (elOpener.dataset.topPopupClass) {\n\t\t\toptions.class = elOpener.dataset.topPopupClass;\n\t\t}\n\n\t\tif (elOpener.dataset.topPopupPosBy) {\n\t\t\toptions.posBy = elOpener.dataset.topPopupPosBy as PopupOptions['posBy'];\n\t\t}\n\n\t\tif (elOpener.dataset.topPopupFront) {\n\t\t\toptions.frontSelector = elOpener.dataset.topPopupFront;\n\t\t}\n\n\t\t/**\n\t\t * @deprecated '1' - добавлено для обратной совместимости\n\t\t */\n\t\tif (elOpener.dataset.topPopupInvertX) {\n\t\t\toptions.invertX = elOpener.dataset.topPopupInvertX === 'true' || elOpener.dataset.topPopupInvertX === '1';\n\t\t}\n\n\t\t/**\n\t\t * @deprecated '1' - добавлено для обратной совместимости\n\t\t */\n\t\tif (elOpener.dataset.topPopupOpenByHovertopPopupOpenByHover) {\n\t\t\toptions.openByHover = elOpener.dataset.topPopupOpenByHover === 'true' || elOpener.dataset.topPopupOpenByHover === '1';\n\t\t}\n\n\t\t/**\n\t\t * @deprecated '1' - добавлено для обратной совместимости\n\t\t */\n\t\tif (elOpener.dataset.topPopupUseOriginal) {\n\t\t\toptions.useOriginal = elOpener.dataset.topPopupUseOriginal === 'true' || elOpener.dataset.topPopupUseOriginal === '1';\n\t\t}\n\n\t\treturn await Worker.open(elOpener, options);\n\t}\n\n\t/**\n\t * Создать и открыть Popup\n\t * @param elOpener - элемент, вызвавший открытие Popup\n\t * @param options - опции Popup\n\t */\n\tprivate static async open(elOpener: HTMLElement, options: PopupOptions): Promise<TopLibPopup> {\n\t\tif (elOpener instanceof HTMLElement) elOpener.dataset.topPopupOpened = 'opened';\n\n\t\tconst { TopLibPopup } = await import('./popup');\n\n\t\tif (Core.$) {\n\t\t\tconst $elOpener = Core.$(elOpener);\n\n\t\t\t// deprecated, используется aftershow.top-menu-popup\n\t\t\tif ($elOpener.data('aftershow')) {\n\t\t\t\tlet afterShow = $elOpener.data('aftershow');\n\t\t\t\tif (typeof (afterShow) == 'string') {\n\t\t\t\t\t// TODO: Удалить с сайта указание кода функции в html\n\t\t\t\t\t// @deprecated\n\t\t\t\t\tafterShow = eval(afterShow.replace(/\\W/g, ''));\n\t\t\t\t}\n\n\t\t\t\t$elOpener.one('aftershow.top-menu-popup', afterShow);\n\t\t\t}\n\n\t\t\t// deprecated, используется afterclose.top-menu-popup\n\t\t\tif ($elOpener.data('afterclose')) {\n\t\t\t\tlet afterclose = $elOpener.data('afterclose');\n\t\t\t\tif (typeof (afterclose) == 'string') {\n\t\t\t\t\t// TODO: Удалить с сайта указание кода функции в html\n\t\t\t\t\t// @deprecated\n\t\t\t\t\tafterclose = eval(afterclose.replace(/\\W/g, ''));\n\t\t\t\t}\n\n\t\t\t\t$elOpener.one('afterclose.top-menu-popup', afterclose);\n\t\t\t}\n\t\t}\n\n\t\toptions.isFullScreen = Core.state.isMobile;\n\n\t\treturn new TopLibPopup(elOpener, options);\n\t}\n\n\tstatic close(elPopup: HTMLElement, restoreFocus = false): void {\n\t\tconst popup = Worker.getPopup(elPopup);\n\n\t\tif (popup) {\n\t\t\tpopup.close();\n\n\t\t\tconst isFocused = popup.el.contains(document.activeElement);\n\n\t\t\tif (restoreFocus && !isFocused) {\n\t\t\t\tsetTimeout(() => {\n\t\t\t\t\tpopup.el.focus();\n\t\t\t\t});\n\t\t\t}\n\t\t}\n\t}\n\n\tstatic recalcPosition(elPopup: HTMLElement): void {\n\t\tconst popup = Worker.getPopup(elPopup);\n\t\tif (popup && popup.elPopupBody instanceof HTMLElement) {\n\t\t\tpopup.recalcPosition();\n\t\t}\n\t}\n\n\t/**\n\t * Скролл к активному элементу списка\n\t */\n\tstatic scrollToActive(elPopup: HTMLElement): void {\n\t\tconst elItemActive = DOM.querySelectorVisible(elPopup, 'ul.top-popup_content > li > .top-active');\n\t\tif (!elItemActive) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst elUl = elPopup.querySelector('ul.top-popup_content');\n\t\tconst elsLi = DOM.querySelectorAllVisible(elPopup, 'ul.top-popup_content > li');\n\n\t\telPopup.classList.add('top-popup-wrapper-no_animate');\n\t\tsetTimeout(() => elPopup.classList.remove('top-popup-wrapper-no_animate'), 100);\n\n\t\tlet top = 100;\n\t\tfor (const elLi of elsLi) {\n\t\t\tif (elLi.querySelector(':scope > .top-active')) {\n\t\t\t\tbreak;\n\t\t\t}\n\n\t\t\tif (elLi instanceof HTMLElement) top += elLi.offsetHeight;\n\t\t}\n\n\t\tif (elUl instanceof HTMLElement) {\n\t\t\tconst heightWrapper = elUl.offsetHeight;\n\t\t\tif (top > heightWrapper) {\n\t\t\t\telUl.scrollTop = top - heightWrapper;\n\t\t\t} else {\n\t\t\t\telUl.scrollTop = 0;\n\t\t\t}\n\t\t}\n\t}\n\n\tstatic decoratorBeforeOpen(popup: TopLibPopup<any>): void {\n\t\tif (this.options.decoratorBeforeOpen) {\n\t\t\tthis.options.decoratorBeforeOpen(popup);\n\t\t}\n\t};\n\n\tstatic decoratorAfterOpen(popup: TopLibPopup<any>): void {\n\t\tif (this.options.decoratorAfterOpen) {\n\t\t\tthis.options.decoratorAfterOpen(popup);\n\t\t}\n\t};\n\n\tstatic decoratorIsIgnoreOuterClick(e: MouseEvent): boolean {\n\t\tif (this.options.decoratorIsIgnoreOuterClick) {\n\t\t\treturn this.options.decoratorIsIgnoreOuterClick(e);\n\t\t}\n\n\t\treturn false;\n\t}\n\n\t/**\n\t * Зарегистрировать Vue компонент\n\t *\n\t * Каждый экземляр Popup регистрируется в словаре vueConnectors для последующего доступа из js\n\t */\n\tstatic regVueComponent(id: string, vueConnector: any): void {\n\t\tif (Worker.vueConnectors.get(id)) {\n\t\t\tthrow 'Vue component Popup use duplicated id: ' + id;\n\t\t}\n\n\t\tWorker.vueConnectors.set(id, vueConnector);\n\t}\n\n\t/**\n\t * Снять с регистрации Vue компонент\n\t */\n\tstatic unregVueComponent(id: string): void {\n\t\tWorker.vueConnectors.delete(id);\n\t}\n\n\t/**\n\t * Сгенерировать элемент для открытия popup\n\t */\n\tstatic genElPopupOpener(tagName: string, props: OpenerProps, ...elsChildrens: HTMLElement[] | string[]): HTMLElement {\n\t\tconst el = DOM.genEl(tagName, {}, ...elsChildrens) as TopLibPopup['el'];\n\n\t\tel.dataset.topPopup = '#' + props.id;\n\n\t\t// if (props.pos === undefined) props.pos = '3';\n\t\t// if (props.notch === undefined) props.notch = true;\n\t\t// if (props.posBy === undefined) props.posBy = 'fixed';\n\n\t\tfor (let name in props) {\n\t\t\tconst attrName = 'topPopup' + name.charAt(0).toUpperCase() + name.slice(1);\n\n\t\t\tel.dataset[attrName] = props[name];\n\t\t}\n\n\t\tel.__TopPopupOpenerProps = props;\n\n\t\treturn el;\n\t}\n\n}\n\nexport default Worker;\n"],"names":["elPopup","el","elOpener","options","restoreFocus","popup","isFocused","elUl","elsLi","top","elLi","heightWrapper","e","id","vueConnector","tagName","props","elsChildrens","name","attrName"],"mappings":"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"}
@@ -1,37 +0,0 @@
1
- import { Props } from '../../../../components/project/groupSelector/groups/types';
2
- import { Folder } from '../../../../components/project/groupSelector/folders/types';
3
- import { ListItemProps } from '../../popup/popup/types';
4
- import { ITEM_ID_ALL, ITEM_ID_NEW } from '../../formsExt/formsExt';
5
- /**
6
- * Генерировать отформатированную папку
7
- */
8
- export declare const genFormatedFolder: (folder: Folder) => {
9
- name: string;
10
- path: string;
11
- id: number;
12
- childsIds?: number[];
13
- countAllGroupsActive?: number;
14
- count_folders?: number;
15
- count_groups?: number;
16
- count_groups_active?: number;
17
- parent_id?: number;
18
- listItemProps?: ListItemProps;
19
- };
20
- /**
21
- * Генерировать отформатированную группу
22
- */
23
- export declare const genFormatedGroup: (group: Props["group"]) => {
24
- name: string;
25
- id: ITEM_ID_ALL;
26
- } | {
27
- name: string;
28
- id: ITEM_ID_NEW;
29
- } | {
30
- name: string;
31
- folder_id: number;
32
- folder_path: string;
33
- on?: 0 | 1;
34
- status?: 0 | 1;
35
- id: number | ITEM_ID_NEW;
36
- listItemProps?: ListItemProps;
37
- };
package/utils/date.js.map DELETED
@@ -1 +0,0 @@
1
- {"version":3,"file":"date.js","sources":[],"sourcesContent":[],"names":[],"mappings":";"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"device.js","sources":[],"sourcesContent":[],"names":[],"mappings":";"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"lodash.js","sources":[],"sourcesContent":[],"names":[],"mappings":";"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"store.js","sources":[],"sourcesContent":[],"names":[],"mappings":";"}