@topvisor/ui 1.0.42-policy.0 → 1.1.0-addNativeDialog.6

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 (511) hide show
  1. package/.chunks/core-6NjSIwIA.amd.js +2 -0
  2. package/.chunks/{core-SEtL6T0A.amd.js.map → core-6NjSIwIA.amd.js.map} +1 -1
  3. package/.chunks/{core-BCV4xehV.es.js → core-CKa0qCEH.es.js} +4 -4
  4. package/.chunks/{core-BCV4xehV.es.js.map → core-CKa0qCEH.es.js.map} +1 -1
  5. package/.chunks/datepicker-DsKl-YZR.amd.js +2 -0
  6. package/.chunks/{datepicker-Ba8QPoiv.amd.js.map → datepicker-DsKl-YZR.amd.js.map} +1 -1
  7. package/.chunks/{datepicker-DHxSFb-9.es.js → datepicker-U31BrqE_.es.js} +2 -2
  8. package/.chunks/{datepicker-DHxSFb-9.es.js.map → datepicker-U31BrqE_.es.js.map} +1 -1
  9. package/.chunks/dialog_selectorRegions-BCXCCaXi.amd.js +2 -0
  10. package/.chunks/{dialog_selectorRegions-CiWJsA9r.amd.js.map → dialog_selectorRegions-BCXCCaXi.amd.js.map} +1 -1
  11. package/.chunks/{dialog_selectorRegions-Cd7_dHoH.es.js → dialog_selectorRegions-C_RhsGzk.es.js} +4 -4
  12. package/.chunks/{dialog_selectorRegions-Cd7_dHoH.es.js.map → dialog_selectorRegions-C_RhsGzk.es.js.map} +1 -1
  13. package/.chunks/dialogs.vue_vue_type_script_setup_true_lang-BhAl3bT-.es.js +700 -0
  14. package/.chunks/dialogs.vue_vue_type_script_setup_true_lang-BhAl3bT-.es.js.map +1 -0
  15. package/.chunks/dialogs.vue_vue_type_script_setup_true_lang-DVp-tQ6l.amd.js +2 -0
  16. package/.chunks/dialogs.vue_vue_type_script_setup_true_lang-DVp-tQ6l.amd.js.map +1 -0
  17. package/.chunks/field-Cvv0SRcJ.amd.js +2 -0
  18. package/.chunks/field-Cvv0SRcJ.amd.js.map +1 -0
  19. package/.chunks/field-CyyFzM-Y.es.js +16 -0
  20. package/.chunks/field-CyyFzM-Y.es.js.map +1 -0
  21. package/.chunks/forms-DRhpgERJ.amd.js +3 -0
  22. package/.chunks/{forms-L6BGV_om.amd.js.map → forms-DRhpgERJ.amd.js.map} +1 -1
  23. package/.chunks/{forms-DC7ffuv2.es.js → forms-t2AEUjqg.es.js} +16 -16
  24. package/.chunks/{forms-DC7ffuv2.es.js.map → forms-t2AEUjqg.es.js.map} +1 -1
  25. package/.chunks/lazy-Dr-Frbwe.amd.js +2 -0
  26. package/.chunks/lazy-Dr-Frbwe.amd.js.map +1 -0
  27. package/.chunks/lazy-Dy9IVVUy.es.js +19 -0
  28. package/.chunks/lazy-Dy9IVVUy.es.js.map +1 -0
  29. package/.chunks/{listItem.vue_vue_type_script_setup_true_lang-CXp02bYr.es.js → listItem.vue_vue_type_script_setup_true_lang-B6psuRkm.es.js} +2 -2
  30. package/.chunks/{listItem.vue_vue_type_script_setup_true_lang-CXp02bYr.es.js.map → listItem.vue_vue_type_script_setup_true_lang-B6psuRkm.es.js.map} +1 -1
  31. package/.chunks/listItem.vue_vue_type_script_setup_true_lang-C8PDRggQ.amd.js +2 -0
  32. package/.chunks/{listItem.vue_vue_type_script_setup_true_lang-M0ZTpQlF.amd.js.map → listItem.vue_vue_type_script_setup_true_lang-C8PDRggQ.amd.js.map} +1 -1
  33. package/.chunks/{menu.vue_vue_type_style_index_0_lang-DNsbNhVH.es.js → menu.vue_vue_type_style_index_0_lang-6kqWYFuX.es.js} +2 -2
  34. package/.chunks/{menu.vue_vue_type_style_index_0_lang-DNsbNhVH.es.js.map → menu.vue_vue_type_style_index_0_lang-6kqWYFuX.es.js.map} +1 -1
  35. package/.chunks/menu.vue_vue_type_style_index_0_lang-DRHk9iBB.amd.js +2 -0
  36. package/.chunks/{menu.vue_vue_type_style_index_0_lang-DepdFfhE.amd.js.map → menu.vue_vue_type_style_index_0_lang-DRHk9iBB.amd.js.map} +1 -1
  37. package/.chunks/{notice-DQXlrM4Y.es.js → notice-4bdzRXtl.es.js} +2 -2
  38. package/.chunks/{notice-DQXlrM4Y.es.js.map → notice-4bdzRXtl.es.js.map} +1 -1
  39. package/.chunks/{notice-ZTC1xm1R.amd.js → notice-DQ9qFyQ2.amd.js} +3 -3
  40. package/.chunks/{notice-ZTC1xm1R.amd.js.map → notice-DQ9qFyQ2.amd.js.map} +1 -1
  41. package/.chunks/page.vue_vue_type_script_setup_true_lang-BgGzBbMZ.amd.js +2 -0
  42. package/.chunks/page.vue_vue_type_script_setup_true_lang-BgGzBbMZ.amd.js.map +1 -0
  43. package/.chunks/page.vue_vue_type_script_setup_true_lang-BstJVz3j.es.js +176 -0
  44. package/.chunks/page.vue_vue_type_script_setup_true_lang-BstJVz3j.es.js.map +1 -0
  45. package/.chunks/pageComponent.vue_vue_type_script_setup_true_lang-B6ollFUC.amd.js +2 -0
  46. package/.chunks/pageComponent.vue_vue_type_script_setup_true_lang-B6ollFUC.amd.js.map +1 -0
  47. package/.chunks/pageComponent.vue_vue_type_script_setup_true_lang-DbaqFJra.es.js +56 -0
  48. package/.chunks/pageComponent.vue_vue_type_script_setup_true_lang-DbaqFJra.es.js.map +1 -0
  49. package/.chunks/{popup-B7GI-vlM.es.js → popup-DuraSW2f.es.js} +2 -2
  50. package/.chunks/{popup-B7GI-vlM.es.js.map → popup-DuraSW2f.es.js.map} +1 -1
  51. package/.chunks/popup-IcMnYYXr.amd.js +2 -0
  52. package/.chunks/{popup-Kvk7IPNI.amd.js.map → popup-IcMnYYXr.amd.js.map} +1 -1
  53. package/.chunks/punycode.es6-CNOnFR2-.amd.js +2 -0
  54. package/.chunks/{punycode.es6-C2yitnNb.amd.js.map → punycode.es6-CNOnFR2-.amd.js.map} +1 -1
  55. package/.chunks/punycode.es6-CgGegfA_.es.js +134 -0
  56. package/.chunks/{punycode.es6-CNI-zL6U.es.js.map → punycode.es6-CgGegfA_.es.js.map} +1 -1
  57. package/.chunks/store-CX_6ZXhO.es.js.map +1 -1
  58. package/.chunks/store-YRW59xEF.amd.js +2 -0
  59. package/.chunks/{store-esTid5oI.amd.js.map → store-YRW59xEF.amd.js.map} +1 -1
  60. package/.chunks/{utils-BkchlCXw.es.js → utils-Bd5whKoS.es.js} +5 -5
  61. package/.chunks/{utils-BkchlCXw.es.js.map → utils-Bd5whKoS.es.js.map} +1 -1
  62. package/.chunks/utils-BkF4g-PH.amd.js +2 -0
  63. package/.chunks/{utils-Bg7IV0KZ.amd.js.map → utils-BkF4g-PH.amd.js.map} +1 -1
  64. package/api/additional.amd.js +2 -0
  65. package/api/additional.amd.js.map +1 -0
  66. package/api/additional.js +66 -0
  67. package/api/additional.js.map +1 -0
  68. package/api/index.amd.js +2 -0
  69. package/api/index.amd.js.map +1 -0
  70. package/api/index.js +257 -0
  71. package/api/index.js.map +1 -0
  72. package/assets/themes/dark-th.css +1 -1
  73. package/assets/themes/dark.css +1 -1
  74. package/assets/themes/light.css +1 -1
  75. package/charts/charts.amd.js +1 -1
  76. package/charts/charts.amd.js.map +1 -1
  77. package/charts/charts.js +1 -1
  78. package/charts/charts.js.map +1 -1
  79. package/core/app.amd.js +1 -1
  80. package/core/app.amd.js.map +1 -1
  81. package/core/app.js +8 -8
  82. package/core/app.js.map +1 -1
  83. package/dialog/dialog.amd.js +1 -1
  84. package/dialog/dialog.amd.js.map +1 -1
  85. package/dialog/dialog.js +8 -57
  86. package/dialog/dialog.js.map +1 -1
  87. package/dialogV1AndDialogV2/dialog.amd.js +2 -0
  88. package/dialogV1AndDialogV2/dialog.amd.js.map +1 -0
  89. package/dialogV1AndDialogV2/dialog.js +11 -0
  90. package/dialogV1AndDialogV2/dialog.js.map +1 -0
  91. package/dialogV1Original/dialog.amd.js +2 -0
  92. package/dialogV1Original/dialog.amd.js.map +1 -0
  93. package/dialogV1Original/dialog.js +11 -0
  94. package/dialogV1Original/dialog.js.map +1 -0
  95. package/dialogV2/dialog.amd.js +2 -0
  96. package/dialogV2/dialog.amd.js.map +1 -0
  97. package/dialogV2/dialog.js +11 -0
  98. package/dialogV2/dialog.js.map +1 -0
  99. package/extra/extra.amd.js +1 -1
  100. package/extra/extra.amd.js.map +1 -1
  101. package/forms/forms.amd.js +1 -1
  102. package/forms/forms.js +1 -1
  103. package/forms/helpers.amd.js +1 -1
  104. package/formsExt/formsExt.amd.js +1 -1
  105. package/formsExt/formsExt.amd.js.map +1 -1
  106. package/formsExt/formsExt.js +3 -4
  107. package/formsExt/formsExt.js.map +1 -1
  108. package/layout/layout.amd.js +1 -1
  109. package/layout/layout.amd.js.map +1 -1
  110. package/layout/layout.js +1 -1
  111. package/package.json +3 -4
  112. package/popup/popup.amd.js +1 -1
  113. package/popup/popup.amd.js.map +1 -1
  114. package/popup/popup.js +2 -2
  115. package/popup/popup.js.map +1 -1
  116. package/popup/worker.amd.js +1 -1
  117. package/popup/worker.amd.js.map +1 -1
  118. package/popup/worker.js +2 -2
  119. package/popup/worker.js.map +1 -1
  120. package/project/project.amd.js +1 -1
  121. package/project/project.amd.js.map +1 -1
  122. package/project/project.js +157 -157
  123. package/project/project.js.map +1 -1
  124. package/tabs/tabs.amd.js +1 -1
  125. package/tabs/tabs.amd.js.map +1 -1
  126. package/tabs/tabs.js.map +1 -1
  127. package/tabsView/tabsView.amd.js +1 -1
  128. package/tabsView/tabsView.amd.js.map +1 -1
  129. package/tabsView/tabsView.js +1 -1
  130. package/tabsView/tabsView.js.map +1 -1
  131. package/types/api/additional.d.ts +2 -0
  132. package/types/api/api/additional.d.ts +1 -0
  133. package/types/api/api/client/client.d.ts +55 -0
  134. package/types/api/api/client/request-options.d.ts +1 -0
  135. package/types/api/api/client/request.d.ts +2 -0
  136. package/types/api/api/index.d.ts +12 -0
  137. package/types/api/api/tests/model.d.ts +0 -0
  138. package/types/api/api/tests/test.d.ts +16 -0
  139. package/types/api/api/types/api.d.ts +139 -0
  140. package/types/api/api/types/client/middleware.d.ts +65 -0
  141. package/types/api/api/types/client/options.d.ts +60 -0
  142. package/types/api/api/types/client/request-context.d.ts +35 -0
  143. package/types/api/api/types/client/request-options.d.ts +73 -0
  144. package/types/api/api/types/client/request.d.ts +85 -0
  145. package/types/api/api/types/ext.d.ts +51 -0
  146. package/types/api/api/types/field.d.ts +33 -0
  147. package/types/api/api/types/index.d.ts +11 -0
  148. package/types/api/api/types/schema.d.ts +50 -0
  149. package/types/api/api/types/tv.d.ts +59 -0
  150. package/types/api/api/types/utils.d.ts +51 -0
  151. package/types/api/api/utils/common.d.ts +16 -0
  152. package/types/api/api/utils/field.d.ts +8 -0
  153. package/types/api/api/utils/filters.d.ts +48 -0
  154. package/types/api/api/utils/lazy.d.ts +13 -0
  155. package/types/api/index.d.ts +2 -0
  156. package/types/components/dialog/dialog/dialog.vue.d.ts +28 -0
  157. package/types/components/dialog/lib/utils.d.ts +54 -0
  158. package/types/components/dialog/lib/worker.d.ts +78 -0
  159. package/types/components/dialogV1AndDialogV2/dialog/composables/asyncDialogHandle.d.ts +51 -0
  160. package/types/components/dialogV1AndDialogV2/dialog/composables/dialogHandle.d.ts +108 -0
  161. package/types/components/dialogV1AndDialogV2/dialog/composables/types.d.ts +11 -0
  162. package/types/components/dialogV1AndDialogV2/dialog/composables/utils.d.ts +23 -0
  163. package/types/components/dialogV1AndDialogV2/dialog/dialog.vue.d.ts +28 -0
  164. package/types/components/dialogV1AndDialogV2/dialog/dialogs/dialogs.vue.d.ts +13 -0
  165. package/types/components/dialogV1AndDialogV2/dialog/page/types.d.ts +72 -0
  166. package/types/components/dialogV1AndDialogV2/dialog/pageComponent/types.d.ts +18 -0
  167. package/types/components/dialogV1AndDialogV2/dialog/stories/dialog_example/pages/utils.d.ts +7 -0
  168. package/types/components/dialogV1AndDialogV2/dialog/types.d.ts +58 -0
  169. package/types/components/dialogV1AndDialogV2/dialog.d.ts +6 -0
  170. package/types/components/dialogV1AndDialogV2/lib/types.d.ts +44 -0
  171. package/types/components/dialogV1AndDialogV2/lib/utils.d.ts +18 -0
  172. package/types/components/dialogV1AndDialogV2/lib/utils.globalEvents.d.ts +8 -0
  173. package/types/components/dialogV1AndDialogV2/lib/worker.d.ts +72 -0
  174. package/types/components/dialogV1Original/dialog/composables/asyncDialogHandle.d.ts +51 -0
  175. package/types/components/dialogV1Original/dialog/composables/dialogHandle.d.ts +108 -0
  176. package/types/components/dialogV1Original/dialog/composables/types.d.ts +11 -0
  177. package/types/components/dialogV1Original/dialog/composables/utils.d.ts +23 -0
  178. package/types/components/dialogV1Original/dialog/dialogs/dialogs.vue.d.ts +13 -0
  179. package/types/components/dialogV1Original/dialog/page/types.d.ts +72 -0
  180. package/types/components/dialogV1Original/dialog/pageComponent/types.d.ts +18 -0
  181. package/types/components/dialogV1Original/dialog/stories/dialog_example/pages/utils.d.ts +7 -0
  182. package/types/components/dialogV1Original/dialog/types.d.ts +58 -0
  183. package/types/components/dialogV1Original/dialog.d.ts +6 -0
  184. package/types/components/dialogV1Original/lib/types.d.ts +44 -0
  185. package/types/components/dialogV1Original/lib/utils.globalEvents.d.ts +8 -0
  186. package/types/components/dialogV2/dialog/composables/asyncDialogHandle.d.ts +51 -0
  187. package/types/components/dialogV2/dialog/composables/dialogHandle.d.ts +108 -0
  188. package/types/components/dialogV2/dialog/composables/types.d.ts +11 -0
  189. package/types/components/dialogV2/dialog/composables/utils.d.ts +23 -0
  190. package/types/components/dialogV2/dialog/dialog.vue.d.ts +28 -0
  191. package/types/components/dialogV2/dialog/dialogs/dialogs.vue.d.ts +13 -0
  192. package/types/components/dialogV2/dialog/page/types.d.ts +72 -0
  193. package/types/components/dialogV2/dialog/pageComponent/types.d.ts +18 -0
  194. package/types/components/dialogV2/dialog/stories/dialog_example/pages/utils.d.ts +7 -0
  195. package/types/components/dialogV2/dialog/types.d.ts +58 -0
  196. package/types/components/dialogV2/dialog.d.ts +6 -0
  197. package/types/components/dialogV2/lib/types.d.ts +44 -0
  198. package/types/components/dialogV2/lib/utils.d.ts +15 -0
  199. package/types/components/dialogV2/lib/utils.globalEvents.d.ts +8 -0
  200. package/types/components/dialogV2/lib/worker.d.ts +62 -0
  201. package/{components → types/components}/forms/checkbox/checkbox.vue.d.ts +2 -2
  202. package/types/components/formsExt/policy/policy.vue.d.ts +8 -0
  203. package/{components → types/components}/formsExt/policy/types.d.ts +0 -4
  204. package/{components → types/components}/project/selectorRegion/dialog_selectorRegions/dialog_selectorRegions.vue.d.ts +1 -1
  205. package/{components → types/components}/project/selectorRegion/utils/utils.d.ts +1 -1
  206. package/types/dialogV1AndDialogV2/dialog.d.ts +2 -0
  207. package/types/dialogV1Original/dialog.d.ts +2 -0
  208. package/types/dialogV2/dialog.d.ts +2 -0
  209. package/types/for-delete/dark-positions.d.ts +1 -0
  210. package/types/for-delete/dark-th-positions.d.ts +1 -0
  211. package/types/for-delete/dark-th.d.ts +1 -0
  212. package/types/for-delete/dark.d.ts +1 -0
  213. package/types/for-delete/light-positions.d.ts +1 -0
  214. package/types/for-delete/light.d.ts +1 -0
  215. package/types/forms/helpers.d.ts +1 -0
  216. package/utils/check.amd.js +1 -1
  217. package/utils/check.amd.js.map +1 -1
  218. package/utils/check.js.map +1 -1
  219. package/utils/clipboard.amd.js +2 -2
  220. package/utils/clipboard.amd.js.map +1 -1
  221. package/utils/clipboard.js +1 -1
  222. package/utils/clipboard.js.map +1 -1
  223. package/utils/date.amd.js +1 -1
  224. package/utils/date.js +1 -1
  225. package/utils/device.amd.js +1 -1
  226. package/utils/device.js +1 -1
  227. package/utils/dom.amd.js +1 -1
  228. package/utils/dom.amd.js.map +1 -1
  229. package/utils/dom.js.map +1 -1
  230. package/utils/image.amd.js +2 -2
  231. package/utils/image.amd.js.map +1 -1
  232. package/utils/image.js +1 -1
  233. package/utils/image.js.map +1 -1
  234. package/utils/keyboard.amd.js +1 -1
  235. package/utils/keyboard.amd.js.map +1 -1
  236. package/utils/keyboard.js.map +1 -1
  237. package/utils/lodash.amd.js +1 -1
  238. package/utils/lodash.js +1 -1
  239. package/utils/number.amd.js +1 -1
  240. package/utils/number.amd.js.map +1 -1
  241. package/utils/number.js.map +1 -1
  242. package/utils/price.amd.js +1 -1
  243. package/utils/price.amd.js.map +1 -1
  244. package/utils/price.js +1 -1
  245. package/utils/price.js.map +1 -1
  246. package/utils/route.amd.js +1 -1
  247. package/utils/route.amd.js.map +1 -1
  248. package/utils/route.js.map +1 -1
  249. package/utils/scroll.amd.js +1 -1
  250. package/utils/scroll.amd.js.map +1 -1
  251. package/utils/scroll.js.map +1 -1
  252. package/utils/searchers.amd.js +1 -1
  253. package/utils/searchers.amd.js.map +1 -1
  254. package/utils/searchers.js +3 -3
  255. package/utils/searchers.js.map +1 -1
  256. package/utils/store.amd.js +1 -1
  257. package/utils/string.amd.js +1 -1
  258. package/utils/string.amd.js.map +1 -1
  259. package/utils/string.js +1 -1
  260. package/utils/string.js.map +1 -1
  261. package/utils/system.amd.js +1 -1
  262. package/utils/system.amd.js.map +1 -1
  263. package/utils/system.js.map +1 -1
  264. package/utils/url.amd.js +2 -2
  265. package/utils/url.amd.js.map +1 -1
  266. package/utils/url.js +1 -1
  267. package/utils/url.js.map +1 -1
  268. package/.chunks/core-SEtL6T0A.amd.js +0 -2
  269. package/.chunks/datepicker-Ba8QPoiv.amd.js +0 -2
  270. package/.chunks/dialog_selectorRegions-CiWJsA9r.amd.js +0 -2
  271. package/.chunks/dialogs.vue_vue_type_script_setup_true_lang-C-wpHg-4.amd.js +0 -2
  272. package/.chunks/dialogs.vue_vue_type_script_setup_true_lang-C-wpHg-4.amd.js.map +0 -1
  273. package/.chunks/dialogs.vue_vue_type_script_setup_true_lang-Deg17t8D.es.js +0 -322
  274. package/.chunks/dialogs.vue_vue_type_script_setup_true_lang-Deg17t8D.es.js.map +0 -1
  275. package/.chunks/forms-L6BGV_om.amd.js +0 -3
  276. package/.chunks/listItem.vue_vue_type_script_setup_true_lang-M0ZTpQlF.amd.js +0 -2
  277. package/.chunks/menu.vue_vue_type_style_index_0_lang-DepdFfhE.amd.js +0 -2
  278. package/.chunks/page.vue_vue_type_script_setup_true_lang-CDgPLGAn.es.js +0 -143
  279. package/.chunks/page.vue_vue_type_script_setup_true_lang-CDgPLGAn.es.js.map +0 -1
  280. package/.chunks/page.vue_vue_type_script_setup_true_lang-ZB87yGeU.amd.js +0 -2
  281. package/.chunks/page.vue_vue_type_script_setup_true_lang-ZB87yGeU.amd.js.map +0 -1
  282. package/.chunks/popup-Kvk7IPNI.amd.js +0 -2
  283. package/.chunks/punycode.es6-C2yitnNb.amd.js +0 -2
  284. package/.chunks/punycode.es6-CNI-zL6U.es.js +0 -134
  285. package/.chunks/store-esTid5oI.amd.js +0 -2
  286. package/.chunks/utils-BKooGtxR.amd.js +0 -2
  287. package/.chunks/utils-BKooGtxR.amd.js.map +0 -1
  288. package/.chunks/utils-Bg7IV0KZ.amd.js +0 -2
  289. package/.chunks/utils-CyqZFHE6.es.js +0 -304
  290. package/.chunks/utils-CyqZFHE6.es.js.map +0 -1
  291. package/components/charts/miniChart/stories/dummy.d.ts +0 -13
  292. package/components/charts/miniCharts/stories/dummy.d.ts +0 -6
  293. package/components/dialog/dialog/stories/autoload.d.ts +0 -2
  294. package/components/forms/select/stories/exampleOptions.d.ts +0 -5
  295. package/components/formsExt/checkboxGroup/stories/example.d.ts +0 -15
  296. package/components/formsExt/menu/stories/items.d.ts +0 -3
  297. package/components/formsExt/policy/policy.vue.d.ts +0 -21
  298. package/components/formsExt/radioGroup/stories/example.d.ts +0 -20
  299. package/components/formsExt/selector2/stories/dummyAPIRequest.d.ts +0 -9
  300. package/components/project/selectorCompetitors/stories/items.d.ts +0 -3
  301. package/components/project/selectorRegion/stories/searchers.d.ts +0 -3
  302. package/{charts → types/charts}/charts.d.ts +0 -0
  303. package/{components → types/components}/charts/charts.d.ts +0 -0
  304. package/{components → types/components}/charts/miniChart/miniChart.vue.d.ts +0 -0
  305. package/{components → types/components}/charts/miniChart/types.d.ts +0 -0
  306. package/{components → types/components}/charts/miniChart/utils/consts.d.ts +0 -0
  307. package/{components → types/components}/charts/miniCharts/miniCharts.d.ts +0 -0
  308. package/{components → types/components}/charts/miniCharts/miniCharts.vue.d.ts +0 -0
  309. package/{components → types/components}/core/notice/item/item.vue.d.ts +0 -0
  310. package/{components → types/components}/core/notice/item/types.d.ts +0 -0
  311. package/{components → types/components}/core/notice/notice.vue.d.ts +0 -0
  312. package/{components → types/components}/core/notice/types.d.ts +0 -0
  313. package/{components → types/components}/core/notice/utils.d.ts +0 -0
  314. package/{components → types/components}/dialog/dialog/composables/asyncDialogHandle.d.ts +0 -0
  315. package/{components → types/components}/dialog/dialog/composables/dialogHandle.d.ts +0 -0
  316. package/{components → types/components}/dialog/dialog/composables/types.d.ts +0 -0
  317. package/{components → types/components}/dialog/dialog/composables/utils.d.ts +0 -0
  318. package/{components → types/components}/dialog/dialog/dialogs/dialogs.vue.d.ts +0 -0
  319. package/{components → types/components}/dialog/dialog/page/page.vue.d.ts +0 -0
  320. package/{components → types/components}/dialog/dialog/page/types.d.ts +0 -0
  321. package/{components → types/components}/dialog/dialog/pageComponent/pageComponent.vue.d.ts +0 -0
  322. package/{components → types/components}/dialog/dialog/pageComponent/types.d.ts +0 -0
  323. package/{components → types/components}/dialog/dialog/stories/dialog_example/pages/utils.d.ts +0 -0
  324. package/{components → types/components}/dialog/dialog/types.d.ts +0 -0
  325. package/{components → types/components}/dialog/dialog.d.ts +0 -0
  326. package/{components → types/components}/dialog/lib/types.d.ts +0 -0
  327. package/{components → types/components}/dialog/lib/utils.globalEvents.d.ts +0 -0
  328. package/{components/dialog → types/components/dialogV1Original}/dialog/dialog.vue.d.ts +1 -1
  329. package/{components/dialog → types/components/dialogV1Original}/lib/utils.d.ts +0 -0
  330. package/{components/dialog → types/components/dialogV1Original}/lib/worker.d.ts +0 -0
  331. package/{components → types/components}/extra/extra.d.ts +0 -0
  332. package/{components → types/components}/extra/rive/rive.vue.d.ts +0 -0
  333. package/{components → types/components}/extra/rive/types.d.ts +0 -0
  334. package/{components → types/components}/forms/avatar/avatar.vue.d.ts +1 -1
  335. /package/{components → types/components}/forms/avatar/types.d.ts +0 -0
  336. /package/{components → types/components}/forms/button/button.vue.d.ts +0 -0
  337. /package/{components → types/components}/forms/button/types.d.ts +0 -0
  338. /package/{components → types/components}/forms/caption/caption.vue.d.ts +0 -0
  339. /package/{components → types/components}/forms/caption/types.d.ts +0 -0
  340. /package/{components → types/components}/forms/checkbox/types.d.ts +0 -0
  341. /package/{components → types/components}/forms/controlLabel/controlLabel.vue.d.ts +0 -0
  342. /package/{components → types/components}/forms/controlLabel/types.d.ts +0 -0
  343. /package/{components → types/components}/forms/forms.d.ts +0 -0
  344. /package/{components → types/components}/forms/helpers.d.ts +0 -0
  345. /package/{components → types/components}/forms/hint/hint.vue.d.ts +0 -0
  346. /package/{components → types/components}/forms/hint/types.d.ts +0 -0
  347. /package/{components → types/components}/forms/input/input.vue.d.ts +0 -0
  348. /package/{components → types/components}/forms/input/types.d.ts +0 -0
  349. /package/{components → types/components}/forms/inputDate/datepicker.d.ts +0 -0
  350. /package/{components → types/components}/forms/inputDate/inputDate.vue.d.ts +0 -0
  351. /package/{components → types/components}/forms/inputDate/types.d.ts +0 -0
  352. /package/{components → types/components}/forms/inputRange/inputRange.vue.d.ts +0 -0
  353. /package/{components → types/components}/forms/inputRange/types.d.ts +0 -0
  354. /package/{components → types/components}/forms/loadbar/loadbar.vue.d.ts +0 -0
  355. /package/{components → types/components}/forms/preloader/preloader.vue.d.ts +0 -0
  356. /package/{components → types/components}/forms/preloader/types.d.ts +0 -0
  357. /package/{components → types/components}/forms/radio/radio.vue.d.ts +0 -0
  358. /package/{components → types/components}/forms/radio/types.d.ts +0 -0
  359. /package/{components → types/components}/forms/select/select.vue.d.ts +0 -0
  360. /package/{components → types/components}/forms/select/types.d.ts +0 -0
  361. /package/{components → types/components}/forms/switcher/switcher.vue.d.ts +0 -0
  362. /package/{components → types/components}/forms/switcher/types.d.ts +0 -0
  363. /package/{components → types/components}/forms/textarea/textarea.vue.d.ts +0 -0
  364. /package/{components → types/components}/forms/textarea/types.d.ts +0 -0
  365. /package/{components → types/components}/formsExt/checkboxGroup/checkboxGroup.vue.d.ts +0 -0
  366. /package/{components → types/components}/formsExt/checkboxGroup/types.d.ts +0 -0
  367. /package/{components → types/components}/formsExt/editArea/editArea.vue.d.ts +0 -0
  368. /package/{components → types/components}/formsExt/editArea/types.d.ts +0 -0
  369. /package/{components → types/components}/formsExt/editInput/editInput.vue.d.ts +0 -0
  370. /package/{components → types/components}/formsExt/editInput/types.d.ts +0 -0
  371. /package/{components → types/components}/formsExt/formsExt.d.ts +0 -0
  372. /package/{components → types/components}/formsExt/info/info.vue.d.ts +0 -0
  373. /package/{components → types/components}/formsExt/info/types.d.ts +0 -0
  374. /package/{components → types/components}/formsExt/menu/menu.vue.d.ts +0 -0
  375. /package/{components → types/components}/formsExt/menu/types.d.ts +0 -0
  376. /package/{components → types/components}/formsExt/radioGroup/radioGroup.vue.d.ts +0 -0
  377. /package/{components → types/components}/formsExt/radioGroup/types.d.ts +0 -0
  378. /package/{components → types/components}/formsExt/selector2/composables/useAPI.d.ts +0 -0
  379. /package/{components → types/components}/formsExt/selector2/composables/useMenu.d.ts +0 -0
  380. /package/{components → types/components}/formsExt/selector2/itemMulti.vue.d.ts +0 -0
  381. /package/{components → types/components}/formsExt/selector2/selector2.vue.d.ts +0 -0
  382. /package/{components → types/components}/formsExt/selector2/types.d.ts +0 -0
  383. /package/{components → types/components}/formsExt/selector2/utils.d.ts +0 -0
  384. /package/{components → types/components}/layout/islandRows/islandRows.vue.d.ts +0 -0
  385. /package/{components → types/components}/layout/islandRows/islandRowsRow/islandRowsRow.vue.d.ts +0 -0
  386. /package/{components → types/components}/layout/islandRows/islandRowsRow/types.d.ts +0 -0
  387. /package/{components → types/components}/layout/islandRows/islandRowsSubTitle/islandRowsSubTitle.vue.d.ts +0 -0
  388. /package/{components → types/components}/layout/islandRows/types.d.ts +0 -0
  389. /package/{components → types/components}/layout/layout.d.ts +0 -0
  390. /package/{components → types/components}/layout/rows/rows.vue.d.ts +0 -0
  391. /package/{components → types/components}/layout/rows/types.d.ts +0 -0
  392. /package/{components → types/components}/popup/alert/alert.vue.d.ts +0 -0
  393. /package/{components → types/components}/popup/alert/types.d.ts +0 -0
  394. /package/{components → types/components}/popup/confirm/confirm.vue.d.ts +0 -0
  395. /package/{components → types/components}/popup/confirm/types.d.ts +0 -0
  396. /package/{components → types/components}/popup/lib/popup.d.ts +0 -0
  397. /package/{components → types/components}/popup/lib/popup.globalEvents.d.ts +0 -0
  398. /package/{components → types/components}/popup/lib/worker.d.ts +0 -0
  399. /package/{components → types/components}/popup/lib/worker.globalEvents.d.ts +0 -0
  400. /package/{components → types/components}/popup/popup/listItem.vue.d.ts +0 -0
  401. /package/{components → types/components}/popup/popup/opener.vue.d.ts +0 -0
  402. /package/{components → types/components}/popup/popup/popup.vue.d.ts +0 -0
  403. /package/{components → types/components}/popup/popup/types.d.ts +0 -0
  404. /package/{components → types/components}/popup/popup/widgetInput.vue.d.ts +0 -0
  405. /package/{components → types/components}/popup/popup.d.ts +0 -0
  406. /package/{components → types/components}/popup/prompt/prompt.vue.d.ts +0 -0
  407. /package/{components → types/components}/popup/prompt/types.d.ts +0 -0
  408. /package/{components → types/components}/popup/worker.d.ts +0 -0
  409. /package/{components → types/components}/project/project.d.ts +0 -0
  410. /package/{components → types/components}/project/selectorCompetitors/composables.d.ts +0 -0
  411. /package/{components → types/components}/project/selectorCompetitors/selectorCompetitors.vue.d.ts +0 -0
  412. /package/{components → types/components}/project/selectorCompetitors/types.d.ts +0 -0
  413. /package/{components → types/components}/project/selectorRegion/composables/compare.d.ts +0 -0
  414. /package/{components → types/components}/project/selectorRegion/composables/selectRegion.d.ts +0 -0
  415. /package/{components → types/components}/project/selectorRegion/composables/selectSearcher.d.ts +0 -0
  416. /package/{components → types/components}/project/selectorRegion/composables/selectorRegion.d.ts +0 -0
  417. /package/{components → types/components}/project/selectorRegion/dialog_selectorRegions/types.d.ts +0 -0
  418. /package/{components → types/components}/project/selectorRegion/selectorRegion.vue.d.ts +0 -0
  419. /package/{components → types/components}/project/selectorRegion/types.d.ts +0 -0
  420. /package/{components → types/components}/project/selectorRegion/utils/consts.d.ts +0 -0
  421. /package/{components → types/components}/project/tagSelector/popupListItem/tagPopupListItem.vue.d.ts +0 -0
  422. /package/{components → types/components}/project/tagSelector/popupListItem/types.d.ts +0 -0
  423. /package/{components → types/components}/project/tagSelector/popupOpener/popupOpener.vue.d.ts +0 -0
  424. /package/{components → types/components}/project/tagSelector/popupOpener/types.d.ts +0 -0
  425. /package/{components → types/components}/project/tagSelector/tagIcon/tagIcon.vue.d.ts +0 -0
  426. /package/{components → types/components}/project/tagSelector/tagIcon/types.d.ts +0 -0
  427. /package/{components → types/components}/project/tagSelector/tagSelector.vue.d.ts +0 -0
  428. /package/{components → types/components}/project/tagSelector/tagsDefaults.d.ts +0 -0
  429. /package/{components → types/components}/project/tagSelector/types.d.ts +0 -0
  430. /package/{components → types/components}/project/tagSelector/utils/el.d.ts +0 -0
  431. /package/{components → types/components}/project/tagSelector/utils/utils.d.ts +0 -0
  432. /package/{components → types/components}/tabs/tabs/content.vue.d.ts +0 -0
  433. /package/{components → types/components}/tabs/tabs/tab.vue.d.ts +0 -0
  434. /package/{components → types/components}/tabs/tabs/tabs.vue.d.ts +0 -0
  435. /package/{components → types/components}/tabs/tabs/types.d.ts +0 -0
  436. /package/{components → types/components}/tabs/tabs.d.ts +0 -0
  437. /package/{components → types/components}/tabsView/tabsView/menu.vue.d.ts +0 -0
  438. /package/{components → types/components}/tabsView/tabsView/menuDelimeter.vue.d.ts +0 -0
  439. /package/{components → types/components}/tabsView/tabsView/menuItem.vue.d.ts +0 -0
  440. /package/{components → types/components}/tabsView/tabsView/menuTitle.vue.d.ts +0 -0
  441. /package/{components → types/components}/tabsView/tabsView/store.d.ts +0 -0
  442. /package/{components → types/components}/tabsView/tabsView/tabsView.vue.d.ts +0 -0
  443. /package/{components → types/components}/tabsView/tabsView/types.d.ts +0 -0
  444. /package/{components → types/components}/tabsView/tabsView/utils.d.ts +0 -0
  445. /package/{components → types/components}/tabsView/tabsView.d.ts +0 -0
  446. /package/{core → types/core}/app.d.ts +0 -0
  447. /package/{core → types/core}/core/core.d.ts +0 -0
  448. /package/{core → types/core}/core/events/resize.d.ts +0 -0
  449. /package/{core → types/core}/core/events.d.ts +0 -0
  450. /package/{core → types/core}/core/options.d.ts +0 -0
  451. /package/{core → types/core}/core/preloaders.d.ts +0 -0
  452. /package/{core → types/core}/core/state.d.ts +0 -0
  453. /package/{core → types/core}/directives/data.d.ts +0 -0
  454. /package/{core → types/core}/directives/focus.d.ts +0 -0
  455. /package/{core → types/core}/directives/preloader.d.ts +0 -0
  456. /package/{core → types/core}/directives/scrollIntoView.d.ts +0 -0
  457. /package/{core → types/core}/directives/scrollShadow.d.ts +0 -0
  458. /package/{core → types/core}/directives/sticky.d.ts +0 -0
  459. /package/{core → types/core}/directives/swimUp.d.ts +0 -0
  460. /package/{core → types/core}/directives/tooltip.d.ts +0 -0
  461. /package/{core → types/core}/plugins/core.d.ts +0 -0
  462. /package/{core → types/core}/plugins/i18n.d.ts +0 -0
  463. /package/{core → types/core}/plugins/piniaTPA.d.ts +0 -0
  464. /package/{core → types/core}/utils/check.d.ts +0 -0
  465. /package/{core → types/core}/utils/clipboard.d.ts +0 -0
  466. /package/{core → types/core}/utils/date.d.ts +0 -0
  467. /package/{core → types/core}/utils/device.d.ts +0 -0
  468. /package/{core → types/core}/utils/dom.d.ts +0 -0
  469. /package/{core → types/core}/utils/image.d.ts +0 -0
  470. /package/{core → types/core}/utils/keyboard.d.ts +0 -0
  471. /package/{core → types/core}/utils/lodash.d.ts +0 -0
  472. /package/{core → types/core}/utils/number.d.ts +0 -0
  473. /package/{core → types/core}/utils/price.d.ts +0 -0
  474. /package/{core → types/core}/utils/route.d.ts +0 -0
  475. /package/{core → types/core}/utils/scroll.d.ts +0 -0
  476. /package/{core → types/core}/utils/searchers.d.ts +0 -0
  477. /package/{core → types/core}/utils/store/localStorage.d.ts +0 -0
  478. /package/{core → types/core}/utils/store/plugin.d.ts +0 -0
  479. /package/{core → types/core}/utils/store/store.d.ts +0 -0
  480. /package/{core → types/core}/utils/store.d.ts +0 -0
  481. /package/{core → types/core}/utils/string.d.ts +0 -0
  482. /package/{core → types/core}/utils/system.d.ts +0 -0
  483. /package/{core → types/core}/utils/url.d.ts +0 -0
  484. /package/{dialog → types/dialog}/dialog.d.ts +0 -0
  485. /package/{extra → types/extra}/extra.d.ts +0 -0
  486. /package/{forms/helpers.d.ts → types/for-delete/core.d.ts} +0 -0
  487. /package/{forms → types/forms}/forms.d.ts +0 -0
  488. /package/{formsExt → types/formsExt}/formsExt.d.ts +0 -0
  489. /package/{layout → types/layout}/layout.d.ts +0 -0
  490. /package/{popup → types/popup}/popup.d.ts +0 -0
  491. /package/{popup → types/popup}/worker.d.ts +0 -0
  492. /package/{project → types/project}/project.d.ts +0 -0
  493. /package/{tabs → types/tabs}/tabs.d.ts +0 -0
  494. /package/{tabsView → types/tabsView}/tabsView.d.ts +0 -0
  495. /package/{utils → types/utils}/check.d.ts +0 -0
  496. /package/{utils → types/utils}/clipboard.d.ts +0 -0
  497. /package/{utils → types/utils}/date.d.ts +0 -0
  498. /package/{utils → types/utils}/device.d.ts +0 -0
  499. /package/{utils → types/utils}/dom.d.ts +0 -0
  500. /package/{utils → types/utils}/image.d.ts +0 -0
  501. /package/{utils → types/utils}/keyboard.d.ts +0 -0
  502. /package/{utils → types/utils}/lodash.d.ts +0 -0
  503. /package/{utils → types/utils}/number.d.ts +0 -0
  504. /package/{utils → types/utils}/price.d.ts +0 -0
  505. /package/{utils → types/utils}/route.d.ts +0 -0
  506. /package/{utils → types/utils}/scroll.d.ts +0 -0
  507. /package/{utils → types/utils}/searchers.d.ts +0 -0
  508. /package/{utils → types/utils}/store.d.ts +0 -0
  509. /package/{utils → types/utils}/string.d.ts +0 -0
  510. /package/{utils → types/utils}/system.d.ts +0 -0
  511. /package/{utils → types/utils}/url.d.ts +0 -0
package/core/app.js CHANGED
@@ -1,12 +1,12 @@
1
- import { d } from "../.chunks/forms-DC7ffuv2.es.js";
2
- import { C as P, i as T, u as b, a as y } from "../.chunks/forms-DC7ffuv2.es.js";
3
- import { c as G } from "../.chunks/core-BCV4xehV.es.js";
1
+ import { d } from "../.chunks/forms-t2AEUjqg.es.js";
2
+ import { C as I, i as P, u as T, a as y } from "../.chunks/forms-t2AEUjqg.es.js";
3
+ import { c as G } from "../.chunks/core-CKa0qCEH.es.js";
4
4
  import { watch as p } from "vue";
5
5
  import { guestLinkToClipboard as f } from "../utils/clipboard.js";
6
6
  import { camelToSnakeCase as g } from "../utils/string.js";
7
7
  import { getHash as m, setHash as l } from "../utils/route.js";
8
- import { u as A, a as D } from "../.chunks/utils-BkchlCXw.es.js";
9
- import { T as j } from "../.chunks/dialogs.vue_vue_type_script_setup_true_lang-Deg17t8D.es.js";
8
+ import { a as A, b as D } from "../.chunks/utils-Bd5whKoS.es.js";
9
+ import { T as j } from "../.chunks/dialogs.vue_vue_type_script_setup_true_lang-BhAl3bT-.es.js";
10
10
  class u {
11
11
  #s;
12
12
  #t;
@@ -201,13 +201,13 @@ const w = (c) => {
201
201
  !((e = s.options.tpaNamesUrlHash) != null && e.length) && !((t = s.options.tpaNamesStorage) != null && t.length) && !((a = s.options.tpaNamesStorageLocal) != null && a.length) && !((i = s.options.tpaNamesGuestLink) != null && i.length) || new u(s);
202
202
  };
203
203
  export {
204
- P as Core,
204
+ I as Core,
205
205
  j as TopDialogWorker,
206
206
  G as corePlugin,
207
- T as i18nPlugin,
207
+ P as i18nPlugin,
208
208
  w as piniaTPAPlugin,
209
209
  A as useAsyncTopDialog,
210
- b as useI18n,
210
+ T as useI18n,
211
211
  y as useI18nLang,
212
212
  D as useTopDialog
213
213
  };
package/core/app.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"app.js","sources":["../../src/core/plugins/piniaTPA.ts"],"sourcesContent":["import type { PiniaPluginContext, Store } from 'pinia';\nimport { watch } from 'vue';\nimport Core from '@/core/core/core';\nimport { useI18n } from '@/core/plugins/i18n';\nimport { debounce } from '@/core/utils/lodash';\nimport { guestLinkToClipboard } from '@/core/utils/clipboard';\nimport { camelToSnakeCase } from '@/core/utils/string.js';\nimport type { paths as OpenAPIPaths } from 'topvisor-openapi/src/ts/Topvisor';\nimport { getHash, setHash } from '@/core/utils/route';\n\ntype OpenAPIPath = keyof OpenAPIPaths;\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: any;\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 OpenAPIPath>(url: Path, data: any) => this.genGuestLink(url, data);\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 * Метод, путь к которому указан в url, должен возвращать сгенерированную ссылку\n\t */\n\tasync genGuestLink<Path extends OpenAPIPath>(url: Path, data: any) {\n\t\tconst dataGuestLink = this.#genOptionsForGuestLink();\n\t\tdata = Object.assign(data, Object.fromEntries(dataGuestLink));\n\n\t\tconst res = await this.#Api.gen(url, 'fetchColumn').call({} as any, data);\n\n\t\t// @ts-ignore - метод, который скачивает файл не возвращает json\n\t\tif (res?.errors) return;\n\n\t\t// @ts-ignore - метод, который скачивает файл не возвращает json\n\t\tawait guestLinkToClipboard(res.result);\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: any;\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","url","data","_a","#loadFromStorage","#loadFromHash","#loadFromGuestLink","#prepareParams","save","debounce","#saveInHash","#saveInStorage","dataGuestLink","#genOptionsForGuestLink","res","guestLinkToClipboard","name","nameSnakeCase","camelToSnakeCase","#setOptions","value","currentValue","#genDataFormat","dataFormatted","#genDataUnFormat","dataHash","getHash","dataObject","dataJSON","setHash","isLocal","names","storageNamespace","guestData","_b","$guestTitle","_c","competitors","competitor","watch","regionsIndexes","regionIndex","index","mapSearchers","availableRegionsIndexes","searcher","region","competitorsIds","competitorId","availableCompetitorsIds","piniaTPA","contextPinia","_d"],"mappings":"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"}
1
+ {"version":3,"file":"app.js","sources":["../../src/core/plugins/piniaTPA.ts"],"sourcesContent":["import type { PiniaPluginContext, Store } from 'pinia';\nimport { watch } from 'vue';\nimport Core from '@/core/core/core';\nimport { useI18n } from '@/core/plugins/i18n';\nimport { debounce } from '@/core/utils/lodash';\nimport { guestLinkToClipboard } from '@/core/utils/clipboard';\nimport { camelToSnakeCase } from '@/core/utils/string.js';\nimport type { paths as OpenAPIPaths } from 'topvisor-openapi/src/ts/Topvisor';\nimport { getHash, setHash } from '@/core/utils/route';\n\ntype OpenAPIPath = keyof OpenAPIPaths;\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: any;\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 OpenAPIPath>(url: Path, data: any) => this.genGuestLink(url, data);\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 * Метод, путь к которому указан в url, должен возвращать сгенерированную ссылку\n\t */\n\tasync genGuestLink<Path extends OpenAPIPath>(url: Path, data: any) {\n\t\tconst dataGuestLink = this.#genOptionsForGuestLink();\n\t\tdata = Object.assign(data, Object.fromEntries(dataGuestLink));\n\n\t\tconst res = await this.#Api.gen(url, 'fetchColumn').call({} as any, data);\n\n\t\t// @ts-ignore - метод, который скачивает файл не возвращает json\n\t\tif (res?.errors) return;\n\n\t\t// @ts-ignore - метод, который скачивает файл не возвращает json\n\t\tawait guestLinkToClipboard(res.result);\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: any;\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","url","data","_a","#loadFromStorage","#loadFromHash","#loadFromGuestLink","#prepareParams","save","debounce","#saveInHash","#saveInStorage","dataGuestLink","#genOptionsForGuestLink","res","guestLinkToClipboard","name","nameSnakeCase","camelToSnakeCase","#setOptions","value","currentValue","#genDataFormat","dataFormatted","#genDataUnFormat","dataHash","getHash","dataObject","dataJSON","setHash","isLocal","names","storageNamespace","guestData","_b","$guestTitle","_c","competitors","competitor","watch","regionsIndexes","regionIndex","index","mapSearchers","availableRegionsIndexes","searcher","region","competitorsIds","competitorId","availableCompetitorsIds","piniaTPA","contextPinia","_d"],"mappings":"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"}
@@ -1,2 +1,2 @@
1
- define(["require","exports","../.chunks/page.vue_vue_type_script_setup_true_lang-ZB87yGeU.amd","vue","../.chunks/utils-Bg7IV0KZ.amd"],function(c,n,u,e,t){"use strict";if(typeof e>"u")var e=window.Vue;const i={name:{type:String,required:!0},order:{type:Number,required:!0},prevName:String,footerFullWith:Boolean},l=e.defineComponent({__name:"pageComponent",props:{component:{},keepAlive:{type:Boolean,default:!0},props:{},name:{},order:{},prevName:{},footerFullWith:{type:Boolean}},setup(m){const a=m,r=t.useTopDialogSelf(),s=(o,p)=>{if(!p.value){if(o.name!=="AsyncComponentWrapper"){p.value=!0;return}r.needShowPage(a.name)&&(r.isLoadingPage.value=!0,o.__asyncResolved&&(p.value=!0,r.isLoadingPage.value=!1))}};if(a.component.name==="AsyncComponentWrapper"){const o=e.ref(!1);e.onUpdated(()=>{s(a.component,o)})}return(o,p)=>(e.openBlock(),e.createBlock(e.KeepAlive,{include:o.keepAlive?"":"none"},[e.unref(r).needShowPage(o.name)?(e.openBlock(),e.createBlock(e.resolveDynamicComponent(o.component),e.mergeProps({key:0},a,{name:o.name,order:o.order,prevName:o.prevName}),null,16,["name","order","prevName"])):e.createCommentVNode("",!0)],1032,["include"]))}});n.TopDialog=u._sfc_main,n.TopDialogPage=u._sfc_main$1,n.useTopDialogSelf=t.useTopDialogSelf,n.TopDialogPageComponent=l,n.propsPageCommon=i,Object.defineProperty(n,Symbol.toStringTag,{value:"Module"})});
1
+ define(["require","exports","../.chunks/page.vue_vue_type_script_setup_true_lang-BgGzBbMZ.amd","../.chunks/pageComponent.vue_vue_type_script_setup_true_lang-B6ollFUC.amd","../.chunks/utils-BkF4g-PH.amd"],(function(u,e,o,i,a){"use strict";if(typeof n>"u")var n=window.Vue;e.TopDialog=o._sfc_main,e.TopDialogPage=o._sfc_main$1,e.TopDialogPageComponent=i._sfc_main,e.propsPageCommon=i.propsPageCommon,e.useTopDialogSelf=a.useTopDialogSelf,Object.defineProperty(e,Symbol.toStringTag,{value:"Module"})}));
2
2
  //# sourceMappingURL=dialog.amd.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"dialog.amd.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","dialog","utils","updateIsLoadingAsyncPage","component","isLoaded","vue","props","_ctx"],"mappings":"wMA+CO,MAAAA,EAAA,CAAwB,KAAA,aAEvB,SAAA,IAEP,MAAA,aAGO,SAAA,oBAIG,eAAA,OAGX,8LCpDAC,EAAAC,EAAA,iBAAA,EAKAC,EAAA,CAAAC,EAAAC,IAAA,CACC,GAAA,CAAAA,EAAA,MAEA,IAAAD,EAAA,OAAA,wBAAA,CACCC,EAAA,MAAA,SAEA,0BAKDJ,EAAA,cAAA,MAAA,GAGAG,EAAA,kBACCC,EAAA,MAAA,GAEAJ,EAAA,cAAA,MAAA,sDAKD,MAAAI,EAAAC,EAAA,IAAA,EAAA,mBAGCH,EAAAI,EAAA,UAAAF,CAAA,CAAkD,CAAA,CAClD,wDAeW,QAAAG,EAAA,UAAA,GAAA,MATkB,EAAA,6HAIpB,KAAAA,EAAA,KACG,MAAAA,EAAA,yBAEQ,CAAA,EAAA,KAAA,GAAA,CAAA,OAAA,QAAA,UAAA,CAAA,GAAAF,EAAA,mBAAA,GAAA,EAAA"}
1
+ {"version":3,"file":"dialog.amd.js","sources":[],"sourcesContent":[],"names":[],"mappings":""}
package/dialog/dialog.js CHANGED
@@ -1,60 +1,11 @@
1
- import { _ as k, a as B } from "../.chunks/page.vue_vue_type_script_setup_true_lang-CDgPLGAn.es.js";
2
- import { defineComponent as l, ref as i, onUpdated as u, createBlock as a, openBlock as p, KeepAlive as s, createCommentVNode as d, unref as g, resolveDynamicComponent as c, mergeProps as f } from "vue";
3
- import { b as v } from "../.chunks/utils-BkchlCXw.es.js";
4
- const C = {
5
- name: {
6
- type: String,
7
- required: !0
8
- },
9
- order: {
10
- type: Number,
11
- required: !0
12
- },
13
- prevName: String,
14
- footerFullWith: Boolean
15
- }, N = /* @__PURE__ */ l({
16
- __name: "pageComponent",
17
- props: {
18
- component: {},
19
- keepAlive: { type: Boolean, default: !0 },
20
- props: {},
21
- name: {},
22
- order: {},
23
- prevName: {},
24
- footerFullWith: { type: Boolean }
25
- },
26
- setup(t) {
27
- const o = t, n = v(), m = (e, r) => {
28
- if (!r.value) {
29
- if (e.name !== "AsyncComponentWrapper") {
30
- r.value = !0;
31
- return;
32
- }
33
- n.needShowPage(o.name) && (n.isLoadingPage.value = !0, e.__asyncResolved && (r.value = !0, n.isLoadingPage.value = !1));
34
- }
35
- };
36
- if (o.component.name === "AsyncComponentWrapper") {
37
- const e = i(!1);
38
- u(() => {
39
- m(o.component, e);
40
- });
41
- }
42
- return (e, r) => (p(), a(s, {
43
- include: e.keepAlive ? "" : "none"
44
- }, [
45
- g(n).needShowPage(e.name) ? (p(), a(c(e.component), f({ key: 0 }, o, {
46
- name: e.name,
47
- order: e.order,
48
- prevName: e.prevName
49
- }), null, 16, ["name", "order", "prevName"])) : d("", !0)
50
- ], 1032, ["include"]));
51
- }
52
- });
1
+ import { _ as p, a as e } from "../.chunks/page.vue_vue_type_script_setup_true_lang-BstJVz3j.es.js";
2
+ import { _ as r, p as s } from "../.chunks/pageComponent.vue_vue_type_script_setup_true_lang-DbaqFJra.es.js";
3
+ import { u as l } from "../.chunks/utils-Bd5whKoS.es.js";
53
4
  export {
54
- k as TopDialog,
55
- B as TopDialogPage,
56
- N as TopDialogPageComponent,
57
- C as propsPageCommon,
58
- v as useTopDialogSelf
5
+ p as TopDialog,
6
+ e as TopDialogPage,
7
+ r as TopDialogPageComponent,
8
+ s as propsPageCommon,
9
+ l as useTopDialogSelf
59
10
  };
60
11
  //# sourceMappingURL=dialog.js.map
@@ -1 +1 @@
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","keepAlive","_unref","name","_openBlock","_resolveDynamicComponent","_mergeProps","order","prevName"],"mappings":";;;AA+CO,MAAMA,IAAkB;AAAA,EAC9B,MAAM;AAAA,IACL,MAAM;AAAA,IACN,UAAU;AAAA,EACX;AAAA,EAEA,OAAO;AAAA,IACN,MAAM;AAAA,IACN,UAAU;AAAA,EACX;AAAA,EAEA,UAAU;AAAA,EAEV,gBAAgB;AACjB;;;;;;;;;;;;ACxDA,UAAMC,IAAQC,GAIRC,IAASC,EAAiB,GAK1BC,IAA2B,CAACC,GAAsBC,MAAkB;AACzE,UAAI,CAAAA,EAAS,OAET;AAAA,YAAAD,EAAU,SAAS,yBAAyB;AAC/C,UAAAC,EAAS,QAAQ;AAEjB;AAAA,QAAA;AAGD,QAAKJ,EAAO,aAAaF,EAAM,IAAc,MAE7CE,EAAO,cAAc,QAAQ,IAGzBG,EAAU,oBACbC,EAAS,QAAQ,IAEjBJ,EAAO,cAAc,QAAQ;AAAA;AAAA,IAE/B;AAEI,QAAAF,EAAM,UAAU,SAAS,yBAAyB;AAC/C,YAAAM,IAAWC,EAAI,EAAK;AAE1B,MAAAC,EAAU,MAAM;AACU,QAAAJ,EAAAJ,EAAM,WAAWM,CAAQ;AAAA,MAAA,CAClD;AAAA,IAAA;2BAMDG,EASYC,GAAA;AAAA,MATA,SAASC,EAAS,YAAA,KAAA;AAAA,IAAA;MAGtBC,EAAMV,CAAA,EAAC,aAAaW,EAAI,IAAA,KAF/BC,KAAAL,EAOEM,EANIV,EAAAA,SAAS,GADfW,EAOE,YAJEhB,GAAK;AAAA,QACP,MAAMa,EAAI;AAAA,QACV,OAAOI,EAAK;AAAA,QACZ,UAAUC,EAAQ;AAAA,MAAA;;;;"}
1
+ {"version":3,"file":"dialog.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;"}
@@ -0,0 +1,2 @@
1
+ define(["require","exports","../.chunks/page.vue_vue_type_script_setup_true_lang-BgGzBbMZ.amd","../.chunks/pageComponent.vue_vue_type_script_setup_true_lang-B6ollFUC.amd","../.chunks/utils-BkF4g-PH.amd"],(function(u,e,o,i,a){"use strict";if(typeof n>"u")var n=window.Vue;e.TopDialog=o._sfc_main,e.TopDialogPage=o._sfc_main$1,e.TopDialogPageComponent=i._sfc_main,e.propsPageCommon=i.propsPageCommon,e.useTopDialogSelf=a.useTopDialogSelf,Object.defineProperty(e,Symbol.toStringTag,{value:"Module"})}));
2
+ //# sourceMappingURL=dialog.amd.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"dialog.amd.js","sources":[],"sourcesContent":[],"names":[],"mappings":""}
@@ -0,0 +1,11 @@
1
+ import { _ as p, a as e } from "../.chunks/page.vue_vue_type_script_setup_true_lang-BstJVz3j.es.js";
2
+ import { _ as r, p as s } from "../.chunks/pageComponent.vue_vue_type_script_setup_true_lang-DbaqFJra.es.js";
3
+ import { u as l } from "../.chunks/utils-Bd5whKoS.es.js";
4
+ export {
5
+ p as TopDialog,
6
+ e as TopDialogPage,
7
+ r as TopDialogPageComponent,
8
+ s as propsPageCommon,
9
+ l as useTopDialogSelf
10
+ };
11
+ //# sourceMappingURL=dialog.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"dialog.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;"}
@@ -0,0 +1,2 @@
1
+ define(["require","exports","../.chunks/page.vue_vue_type_script_setup_true_lang-BgGzBbMZ.amd","../.chunks/pageComponent.vue_vue_type_script_setup_true_lang-B6ollFUC.amd","../.chunks/utils-BkF4g-PH.amd"],(function(u,e,o,i,a){"use strict";if(typeof n>"u")var n=window.Vue;e.TopDialog=o._sfc_main,e.TopDialogPage=o._sfc_main$1,e.TopDialogPageComponent=i._sfc_main,e.propsPageCommon=i.propsPageCommon,e.useTopDialogSelf=a.useTopDialogSelf,Object.defineProperty(e,Symbol.toStringTag,{value:"Module"})}));
2
+ //# sourceMappingURL=dialog.amd.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"dialog.amd.js","sources":[],"sourcesContent":[],"names":[],"mappings":""}
@@ -0,0 +1,11 @@
1
+ import { _ as p, a as e } from "../.chunks/page.vue_vue_type_script_setup_true_lang-BstJVz3j.es.js";
2
+ import { _ as r, p as s } from "../.chunks/pageComponent.vue_vue_type_script_setup_true_lang-DbaqFJra.es.js";
3
+ import { u as l } from "../.chunks/utils-Bd5whKoS.es.js";
4
+ export {
5
+ p as TopDialog,
6
+ e as TopDialogPage,
7
+ r as TopDialogPageComponent,
8
+ s as propsPageCommon,
9
+ l as useTopDialogSelf
10
+ };
11
+ //# sourceMappingURL=dialog.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"dialog.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;"}
@@ -0,0 +1,2 @@
1
+ define(["require","exports","../.chunks/page.vue_vue_type_script_setup_true_lang-BgGzBbMZ.amd","../.chunks/pageComponent.vue_vue_type_script_setup_true_lang-B6ollFUC.amd","../.chunks/utils-BkF4g-PH.amd"],(function(u,e,o,i,a){"use strict";if(typeof n>"u")var n=window.Vue;e.TopDialog=o._sfc_main,e.TopDialogPage=o._sfc_main$1,e.TopDialogPageComponent=i._sfc_main,e.propsPageCommon=i.propsPageCommon,e.useTopDialogSelf=a.useTopDialogSelf,Object.defineProperty(e,Symbol.toStringTag,{value:"Module"})}));
2
+ //# sourceMappingURL=dialog.amd.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"dialog.amd.js","sources":[],"sourcesContent":[],"names":[],"mappings":""}
@@ -0,0 +1,11 @@
1
+ import { _ as p, a as e } from "../.chunks/page.vue_vue_type_script_setup_true_lang-BstJVz3j.es.js";
2
+ import { _ as r, p as s } from "../.chunks/pageComponent.vue_vue_type_script_setup_true_lang-DbaqFJra.es.js";
3
+ import { u as l } from "../.chunks/utils-Bd5whKoS.es.js";
4
+ export {
5
+ p as TopDialog,
6
+ e as TopDialogPage,
7
+ r as TopDialogPageComponent,
8
+ s as propsPageCommon,
9
+ l as useTopDialogSelf
10
+ };
11
+ //# sourceMappingURL=dialog.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"dialog.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;"}
@@ -1,2 +1,2 @@
1
- define(["require","exports","vue","../require/css.amd!../assets/extra.css"],function(f,p,e){"use strict";if(typeof e>"u")var e=window.Vue;function y(t){const r=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(t){for(const n in t)if(n!=="default"){const o=Object.getOwnPropertyDescriptor(t,n);Object.defineProperty(r,n,o.get?o:{enumerable:!0,get:()=>t[n]})}}return r.default=t,Object.freeze(r)}const m=e.defineComponent({__name:"rive",props:{src:{},buffer:{},riveFile:{},artboard:{},animations:{},stateMachines:{},layout:{},autoplay:{type:Boolean,default:!0},useOffscreenRenderer:{type:Boolean},enableRiveAssetCDN:{type:Boolean},shouldDisableRiveListeners:{type:Boolean},isTouchScrollEnabled:{type:Boolean},automaticallyHandleEvents:{type:Boolean},autoBind:{type:Boolean},onLoad:{},onLoadError:{},onPlay:{},onPause:{},onStop:{},onLoop:{},onStateChange:{},onAdvance:{},assetLoader:{},onload:{},onloaderror:{},onplay:{},onpause:{},onstop:{},onloop:{},onstatechange:{}},setup(t,{expose:r}){let n;const o=t,l=e.ref(),s={riveInstance:void 0};return e.watch([l,o],async()=>{var v;n||(n=await new Promise((u,i)=>f(["@rive-app/canvas-lite"],c=>u(y(c)),i)));const a=l.value;if(!a)return;(v=s.riveInstance)==null||v.cleanup();const d={...o,canvas:a,onLoad:u=>{var i,c;(i=o.onLoad)==null||i.call(o,u),(c=s.riveInstance)==null||c.resizeDrawingSurfaceToCanvas()}};s.riveInstance=new n.Rive(d)}),e.onUnmounted(()=>{var a;(a=s.riveInstance)==null||a.cleanup()}),r(s),(a,d)=>(e.openBlock(),e.createElementBlock("canvas",{ref_key:"el",ref:l,class:"top-rive"},null,512))}});p.TopRive=m,Object.defineProperty(p,Symbol.toStringTag,{value:"Module"})});
1
+ define(["require","exports","vue","../require/css.amd!../assets/extra.css"],(function(f,p,e){"use strict";if(typeof e>"u")var e=window.Vue;function y(t){const r=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(t){for(const n in t)if(n!=="default"){const o=Object.getOwnPropertyDescriptor(t,n);Object.defineProperty(r,n,o.get?o:{enumerable:!0,get:()=>t[n]})}}return r.default=t,Object.freeze(r)}const m=e.defineComponent({__name:"rive",props:{src:{},buffer:{},riveFile:{},artboard:{},animations:{},stateMachines:{},layout:{},autoplay:{type:Boolean,default:!0},useOffscreenRenderer:{type:Boolean},enableRiveAssetCDN:{type:Boolean},shouldDisableRiveListeners:{type:Boolean},isTouchScrollEnabled:{type:Boolean},automaticallyHandleEvents:{type:Boolean},autoBind:{type:Boolean},onLoad:{},onLoadError:{},onPlay:{},onPause:{},onStop:{},onLoop:{},onStateChange:{},onAdvance:{},assetLoader:{},onload:{},onloaderror:{},onplay:{},onpause:{},onstop:{},onloop:{},onstatechange:{}},setup(t,{expose:r}){let n;const o=t,l=e.ref(),s={riveInstance:void 0};return e.watch([l,o],async()=>{var v;n||(n=await new Promise((u,i)=>f(["@rive-app/canvas-lite"],c=>u(y(c)),i)));const a=l.value;if(!a)return;(v=s.riveInstance)==null||v.cleanup();const d={...o,canvas:a,onLoad:u=>{var i,c;(i=o.onLoad)==null||i.call(o,u),(c=s.riveInstance)==null||c.resizeDrawingSurfaceToCanvas()}};s.riveInstance=new n.Rive(d)}),e.onUnmounted(()=>{var a;(a=s.riveInstance)==null||a.cleanup()}),r(s),(a,d)=>(e.openBlock(),e.createElementBlock("canvas",{ref_key:"el",ref:l,class:"top-rive"},null,512))}});p.TopRive=m,Object.defineProperty(p,Symbol.toStringTag,{value:"Module"})}));
2
2
  //# sourceMappingURL=extra.amd.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"extra.amd.js","sources":["../../src/components/extra/extra.ts","../../src/components/extra/rive/rive.vue"],"sourcesContent":["import type { ComponentCustomProps } from 'vue';\n\nimport Rive from './rive/rive.vue';\n\nexport const TopRive = Rive as typeof Rive & ComponentCustomProps;\n","<script setup lang=\"ts\">\nimport { onUnmounted, ref, watch } from 'vue';\nimport type { Rive, RiveParameters } from '@rive-app/canvas-lite';\nimport type { Props } from './types';\n\nlet rive: typeof import('@rive-app/canvas-lite');\n\nconst props = withDefaults(defineProps<Props>(), {\n\tautoplay: true,\n});\n\nconst el = ref<HTMLCanvasElement>();\n\nconst topRive = {\n\triveInstance: undefined as Rive | undefined,\n};\n\nwatch([el, props], async () => {\n\tif (!rive) rive = await import('@rive-app/canvas-lite');\n\n\tconst canvas = el.value;\n\tif (!canvas) return;\n\n\ttopRive.riveInstance?.cleanup();\n\n\tconst options: RiveParameters = {\n\t\t...props,\n\t\tcanvas,\n\t\tonLoad: (e) => {\n\t\t\tprops.onLoad?.(e);\n\n\t\t\ttopRive.riveInstance?.resizeDrawingSurfaceToCanvas();\n\t\t},\n\t};\n\n\ttopRive.riveInstance = new rive.Rive(options);\n});\n\nonUnmounted(() => {\n\ttopRive.riveInstance?.cleanup();\n});\n\ndefineExpose(topRive);\n</script>\n\n<template>\n\t<canvas ref=\"el\" class=\"top-rive\"></canvas>\n</template>\n\n<style>\n.top-rive {\n\twidth: 100%;\n\theight: 100%;\n\tflex-grow: 1;\n}\n</style>\n"],"names":["TopRive","rive","el","vue","canvas","_a","topRive","props","e","_b"],"mappings":"uZAIO,MAAAA,2kBCCP,IAAAC,YAMAC,EAAAC,EAAA,IAAA,KAEgB,aAAA,wHAOf,MAAAC,EAAAF,EAAA,oBAGAG,EAAAC,EAAA,eAAA,MAAAD,EAAA,mBAEgC,GAAAE,EAC5B,OAAAH,EACH,OAAAI,GAAA,UAECH,EAAAE,EAAA,SAAA,MAAAF,EAAA,KAAAE,EAAAC,IAEAC,EAAAH,EAAA,eAAA,MAAAG,EAAA,8BAAmD,+BAIT,CAAA,4BAI5CJ,EAAAC,EAAA,eAAA,MAAAD,EAAA,SAA8B,CAAA,+EAOlB,MAAA,UAAW,EAAA,KAAA,GAAA"}
1
+ {"version":3,"file":"extra.amd.js","sources":["../../src/components/extra/extra.ts","../../src/components/extra/rive/rive.vue"],"sourcesContent":["import type { ComponentCustomProps } from 'vue';\n\nimport Rive from './rive/rive.vue';\n\nexport const TopRive = Rive as typeof Rive & ComponentCustomProps;\n","<script setup lang=\"ts\">\nimport { onUnmounted, ref, watch } from 'vue';\nimport type { Rive, RiveParameters } from '@rive-app/canvas-lite';\nimport type { Props } from './types';\n\nlet rive: typeof import('@rive-app/canvas-lite');\n\nconst props = withDefaults(defineProps<Props>(), {\n\tautoplay: true,\n});\n\nconst el = ref<HTMLCanvasElement>();\n\nconst topRive = {\n\triveInstance: undefined as Rive | undefined,\n};\n\nwatch([el, props], async () => {\n\tif (!rive) rive = await import('@rive-app/canvas-lite');\n\n\tconst canvas = el.value;\n\tif (!canvas) return;\n\n\ttopRive.riveInstance?.cleanup();\n\n\tconst options: RiveParameters = {\n\t\t...props,\n\t\tcanvas,\n\t\tonLoad: (e) => {\n\t\t\tprops.onLoad?.(e);\n\n\t\t\ttopRive.riveInstance?.resizeDrawingSurfaceToCanvas();\n\t\t},\n\t};\n\n\ttopRive.riveInstance = new rive.Rive(options);\n});\n\nonUnmounted(() => {\n\ttopRive.riveInstance?.cleanup();\n});\n\ndefineExpose(topRive);\n</script>\n\n<template>\n\t<canvas ref=\"el\" class=\"top-rive\"></canvas>\n</template>\n\n<style>\n.top-rive {\n\twidth: 100%;\n\theight: 100%;\n\tflex-grow: 1;\n}\n</style>\n"],"names":["TopRive","rive","el","vue","canvas","_a","topRive","props","e","_b"],"mappings":"wZAIO,MAAAA,2kBCCP,IAAAC,YAMAC,EAAAC,EAAA,IAAA,KAEgB,aAAA,wHAOf,MAAAC,EAAAF,EAAA,oBAGAG,EAAAC,EAAA,eAAA,MAAAD,EAAA,mBAEgC,GAAAE,EAC5B,OAAAH,EACH,OAAAI,GAAA,UAECH,EAAAE,EAAA,SAAA,MAAAF,EAAA,KAAAE,EAAAC,IAEAC,EAAAH,EAAA,eAAA,MAAAG,EAAA,6DAI0C,CAAA,4BAI5CJ,EAAAC,EAAA,eAAA,MAAAD,EAAA,SAA8B,CAAA,+EAOlB,MAAA,UAAW,EAAA,KAAA,GAAA"}
@@ -1,2 +1,2 @@
1
- define(["require","exports","../.chunks/forms-L6BGV_om.amd"],function(o,T,a){"use strict";if(typeof e>"u")var e=window.Vue;T.TopAvatar=a.TopAvatar,T.TopButton=a.TopButton,T.TopCaption=a.TopCaption,T.TopCheckbox=a.TopCheckbox,T.TopControlLabel=a.TopControlLabel,T.TopHint=a.TopHint,T.TopInput=a.TopInput,T.TopInputDate=a.TopInputDate,T.TopInputRange=a.TopInputRange,T.TopLoadbar=a.TopLoadbar,T.TopPreloader=a.TopPreloader,T.TopRadio=a.TopRadio,T.TopSelect=a.TopSelect,T.TopSwitcher=a.TopSwitcher,T.TopTextarea=a.TopTextarea,Object.defineProperty(T,Symbol.toStringTag,{value:"Module"})});
1
+ define(["require","exports","../.chunks/forms-DRhpgERJ.amd"],(function(o,T,a){"use strict";if(typeof e>"u")var e=window.Vue;T.TopAvatar=a.TopAvatar,T.TopButton=a.TopButton,T.TopCaption=a.TopCaption,T.TopCheckbox=a.TopCheckbox,T.TopControlLabel=a.TopControlLabel,T.TopHint=a.TopHint,T.TopInput=a.TopInput,T.TopInputDate=a.TopInputDate,T.TopInputRange=a.TopInputRange,T.TopLoadbar=a.TopLoadbar,T.TopPreloader=a.TopPreloader,T.TopRadio=a.TopRadio,T.TopSelect=a.TopSelect,T.TopSwitcher=a.TopSwitcher,T.TopTextarea=a.TopTextarea,Object.defineProperty(T,Symbol.toStringTag,{value:"Module"})}));
2
2
  //# sourceMappingURL=forms.amd.js.map
package/forms/forms.js CHANGED
@@ -1,4 +1,4 @@
1
- import { T as p, g as T, X as s, h as t, j as e, k as r, l as n, m as l, n as i, o as u, x, p as b, q as c, r as d, s as h } from "../.chunks/forms-DC7ffuv2.es.js";
1
+ import { T as p, g as T, X as s, h as t, j as e, k as r, l as n, m as l, n as i, o as u, x, p as b, q as c, r as d, s as h } from "../.chunks/forms-t2AEUjqg.es.js";
2
2
  export {
3
3
  p as TopAvatar,
4
4
  T as TopButton,
@@ -1,2 +1,2 @@
1
- define(function(){"use strict";if(typeof e>"u")var e=window.Vue});
1
+ define((function(){"use strict";if(typeof e>"u")var e=window.Vue}));
2
2
  //# sourceMappingURL=helpers.amd.js.map
@@ -1,2 +1,2 @@
1
- define(["require","exports","vue","../.chunks/forms-L6BGV_om.amd","../popup/popup.amd","../utils/keyboard.amd","../.chunks/menu.vue_vue_type_style_index_0_lang-DepdFfhE.amd","../require/css.amd!../assets/formsExt.css"],function(pe,T,e,C,b,S,$){"use strict";if(typeof e>"u")var e=window.Vue;const I={class:"top-editArea_footer"},N=e.defineComponent({__name:"editArea",props:{defaultValue:{default:""},title:{},cancelText:{default:"Cancel"},submitText:{default:"Send"},closeText:{default:"Close"},isFocused:{type:Boolean},forceShowCloseBtn:{type:Boolean},attachToKeyboard:{type:Boolean},modelValue:{},name:{},placeholder:{},styling:{},rows:{},minHeight:{},expandable:{type:Boolean,default:!0},disabled:{type:Boolean},readonly:{type:Boolean},isError:{type:Boolean},hint:{},maxLength:{}},emits:["submit","close","clickOnTitle"],setup(n,{emit:o}){const a=n,l=o,d=e.ref(a.defaultValue),r=e.ref(a.isFocused),s=e.computed(()=>d.value!==a.defaultValue),p=c=>{l("submit",c),d.value=a.defaultValue},m=()=>{if(a.forceShowCloseBtn&&!s.value){l("close");return}d.value=a.defaultValue},B=()=>{a.attachToKeyboard&&l("clickOnTitle")};return(c,y)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass({"top-editArea":!0,"top-editArea-attachedToKeyboard":c.attachToKeyboard})},[c.title?(e.openBlock(),e.createElementBlock("div",{key:0,class:"top-editArea_title",onClick:y[0]||(y[0]=u=>B())},e.toDisplayString(c.title),1)):e.createCommentVNode("",!0),e.createElementVNode("div",{class:e.normalizeClass({"top-editArea_form":!0,"top-forms-focusable":!0,"top-as-input":!0,"top-error":c.isError,"top-focus":r.value})},[e.createVNode(C._sfc_main$3,{modelValue:d.value,"onUpdate:modelValue":y[1]||(y[1]=u=>d.value=u),name:c.name,placeholder:c.placeholder,rows:c.rows,minHeight:c.minHeight,expandable:c.expandable,disabled:c.disabled,readonly:c.readonly,isError:c.isError,hint:c.hint,class:"top-editArea_element",onFocus:y[2]||(y[2]=()=>r.value=!0),onBlur:y[3]||(y[3]=()=>r.value=!1),onKeyup:[e.withKeys(m,["esc"]),y[4]||(y[4]=e.withKeys(e.withModifiers(u=>p(d.value),["ctrl"]),["enter"]))]},null,8,["modelValue","name","placeholder","rows","minHeight","expandable","disabled","readonly","isError","hint"]),e.createElementVNode("div",I,[s.value||c.forceShowCloseBtn?(e.openBlock(),e.createBlock(C._sfc_main,{key:0,icon:c.$core.state.isMobile?"":"",class:"top-editArea_button",color:"theme",styling:"soft",onClick:m},e.createSlots({_:2},[c.$core.state.isMobile?void 0:{name:"default",fn:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(c.cancelText),1)]),key:"0"}]),1032,["icon"])):e.createCommentVNode("",!0),s.value?(e.openBlock(),e.createBlock(C._sfc_main,{key:1,class:"top-editArea_button",icon:c.$core.state.isMobile?"":"",onClick:y[5]||(y[5]=u=>p(d.value))},e.createSlots({_:2},[c.$core.state.isMobile?void 0:{name:"default",fn:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(c.submitText),1)]),key:"0"}]),1032,["icon"])):e.createCommentVNode("",!0)])],2)],2))}}),_={class:"top-editInput"},L=e.defineComponent({__name:"editInput",props:{modelValue:{},input:{},button:{}},emits:["update:modelValue"],setup(n,{emit:o}){const a=n,l=e.ref(a.modelValue);e.watch(e.toRef(a.modelValue),()=>{l.value=a.modelValue});const d=o,r=()=>{d("update:modelValue",l.value)};return(s,p)=>(e.openBlock(),e.createElementBlock("div",_,[e.createVNode(C._sfc_main$2,e.mergeProps(s.input,{onKeydownCapture:p[0]||(p[0]=e.withKeys(e.withModifiers(m=>l.value=s.modelValue,["stop"]),["esc"])),onKeydown:e.withKeys(e.withModifiers(r,["stop"]),["enter"]),modelValue:l.value,"onUpdate:modelValue":p[1]||(p[1]=m=>l.value=m)}),null,16,["onKeydown","modelValue"]),l.value!==s.modelValue?(e.openBlock(),e.createBlock(C._sfc_main,e.mergeProps({key:0,icon:"",styling:"soft"},s.button,{onClick:r}),null,16)):e.createCommentVNode("",!0)]))}}),M=["data-top-icon","onClick"],P={key:0,class:"top-radioGroup_circle"},D=["value","disabled"],z=e.defineComponent({__name:"radioGroup",props:e.mergeModels({modelValue:{},radiosProps:{},showIndicator:{type:Boolean},size:{default:"s"},isError:{type:Boolean}},{modelValue:{required:!0},modelModifiers:{}}),emits:["update:modelValue"],setup(n){const o=e.useModel(n,"modelValue"),a=n,l=e.ref(null);e.watch(o,()=>{var r,s,p,m,B;(r=a.radiosProps)!=null&&r.some(c=>c.value===o.value)||(o.value=((p=(s=a.radiosProps)==null?void 0:s[0])==null?void 0:p.value)??""),(B=(m=l.value)==null?void 0:m.querySelector(".radioGroup_item-selected"))==null||B.scrollIntoView()},{immediate:!0});const d="radioGroup-"+Math.random();return(r,s)=>(e.openBlock(),e.createElementBlock("div",{ref_key:"elRef",ref:l,class:e.normalizeClass({"top-radioGroup":!0,"top-scrollBarXHidding":!0,["top-size_"+r.size]:!!r.size,"top-error":r.isError})},[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(r.radiosProps,p=>(e.openBlock(),e.createElementBlock("label",{class:e.normalizeClass({"top-radioGroup_item-selected":p.value===o.value,"top-radioGroup_item":!0,"top-forms-focusable":!0,"top-disabled":p.disabled}),"data-top-icon":p.icon,onClick:m=>o.value=p.value},[e.createTextVNode(e.toDisplayString(p.title)+" ",1),r.showIndicator?(e.openBlock(),e.createElementBlock("span",P)):e.createCommentVNode("",!0),e.withDirectives(e.createElementVNode("input",{"onUpdate:modelValue":s[0]||(s[0]=m=>o.value=m),name:d,type:"radio",class:e.normalizeClass({"top-unvisible":!0}),value:p.value,disabled:p.disabled},null,8,D),[[e.vModelRadio,o.value]])],10,M))),256))],2))}}),K=["data-top-icon"],O=["value","checked","disabled","onChange"],G=e.defineComponent({__name:"checkboxGroup",props:e.mergeModels({modelValue:{},items:{},size:{default:"s"},styling:{default:"outline"},isError:{type:Boolean}},{modelValue:{required:!0},modelModifiers:{}}),emits:["update:modelValue"],setup(n){const o=e.useModel(n,"modelValue"),a=l=>{const d=[...o.value],r=d.indexOf(l);r===-1?d.push(l):d.splice(r,1),o.value=d};return(l,d)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass({"top-checkboxGroup":!0,["top-checkboxGroup-"+l.styling]:!0,"top-scrollBarXHidding":!0,["top-size_"+l.size]:!!l.size,"top-error":l.isError})},[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(l.items,r=>(e.openBlock(),e.createElementBlock("label",{key:r.id,class:e.normalizeClass({"top-checkboxGroup_item":!0,"top-checkboxGroup_item-selected":o.value.includes(r.id),"top-forms-focusable":!0,"top-disabled":r.disabled}),"data-top-icon":r.icon},[e.createElementVNode("input",{type:"checkbox",class:"top-unvisible",value:r.id,checked:o.value.includes(r.id),disabled:r.disabled,onChange:s=>a(r.id)},null,40,O),e.createTextVNode(" "+e.toDisplayString(r.title),1)],10,K))),128))],2))}}),F={class:"top-selector2_itemMulti top-ellipsis"},H=e.defineComponent({__name:"itemMulti",props:{id:{},name:{}},emits:["delete"],setup(n){return(o,a)=>(e.openBlock(),e.createElementBlock("div",F,[e.createTextVNode(e.toDisplayString(o.name)+" ",1),e.createElementVNode("span",{class:"top-selector2_itemMultiDelete","data-top-icon":"",onClick:a[0]||(a[0]=l=>o.$emit("delete",o.id)),onMousedown:a[1]||(a[1]=e.withModifiers(()=>{},["stop"]))},null,32)]))}}),R=(n,o,a)=>{const l=e.ref([]),d=e.ref(!1);let r="",s;n&&!n.params.limit&&(n.params.limit=100);const p=async()=>{if(!n)return;let u,g;if(a&&(n.cache??=new Map,g=JSON.stringify(n.params),u=n.cache.get(g),u))return u;if(d.value=!0,u=await n.call(),d.value=!1,u.errors)return;if(!Array.isArray(u.result)){console.warn("В result ожидался массив");return}const V=u.result.findIndex(w=>w.id===void 0||w.name===void 0);if(V!==-1){console.warn(`В result[${V}] нет id или name`);return}return a&&n.cache.set(g,u),u},m=async()=>{if(!n)return;n.params.offset=0,n.params.search=r;const u=await p();u&&(s=u.nextOffset,l.value=u.result)},B=async()=>{if(!n||!s||d.value)return;n.params.offset=s,n.params.search=r;const u=await p();u&&(s=u.nextOffset,l.value=l.value.concat(u.result))},c=C.debounce(()=>m(),200);return{apiRequest:n,items:l,isLoading:d,loadAppend:B,setSearchTextAndLoad:(u,g=!0)=>{n&&(u.length<o||u===r&&l.value.length||(r=u,g?c():m()))}}},U=0,A=(n,o,a=!0)=>a&&o.id===null?Array.isArray(n)?n.some(l=>l.id===o.id&&l.name===o.name):o.name===n.name:Array.isArray(n)?n.some(l=>l.id===o.id):o.id===n.id,W=(n,o,a,l,d,r,s,p)=>{const m=e.ref(""),B={id:U,name:C.useI18n().Common.All},c=()=>{m.value="",p.items.value=[]},y=()=>!(!p.apiRequest||r.value!=="inline"||m.value.length>=s),u=e.computed(()=>{var t;const v=[];return!a&&l.value&&v.push(B),(t=o.value)==null||t.forEach(i=>v.push({...i})),v}),g=e.computed(()=>{const v=m.value.toLowerCase(),t=S.invertKeyboardLayout(v);let i=[];return u.value.forEach(h=>{const f=h.name.toLowerCase();(h.id===Number(v)||f.includes(v)||f.includes(t))&&(f===v||f===t?i.unshift(h):i.push(h))}),i.push(...p.items.value),d.value&&m.value&&(!i.length||i[0].name.toLowerCase()!==v)&&i.push({id:null,name:m.value}),a&&(i=i.filter(h=>!A(n.value,h))),i});return{searchText:m,resetSearch:c,genIsShort:y,items:u,itemsForShow:g,selectItem:v=>{a&&Array.isArray(n.value)?A(n.value,v)||(n.value=[...n.value,v]):n.value=v},selectNextItem:()=>{if(!Array.isArray(n.value)){const t=(g.value.findIndex(i=>i.id===n.value.id)+1)%g.value.length;n.value={...g.value[t]}}},deleteItemById:async v=>{Array.isArray(n.value)&&(n.value=n.value.filter(t=>t.id!==v))}}},X={key:0,class:"top-selector2_activeItems"},j={key:1,class:"top-selector2_activeName top-ellipsis"},J={key:2,class:"top-selector2_placeholder top-ellipsis"},Y=e.defineComponent({__name:"selector2",props:e.mergeModels({modelValue:{},items:{default:()=>[]},title:{},disabled:{type:Boolean},modificator:{},size:{default:"s"},isError:{type:Boolean},searchType:{default:"popup"},placeholder:{},apiRequest:{},minLength:{default:0},useCache:{type:Boolean},appendSearchToResult:{type:Boolean},multiselect:{type:Boolean},appendAllValue:{type:Boolean},addChanger:{type:Boolean},buttonProps:{},selectedAsPlaceholder:{type:Boolean}},{modelValue:{required:!0},modelModifiers:{}}),emits:["update:modelValue"],setup(n){const o=n,a=e.useModel(n,"modelValue"),l=e.computed(()=>o.searchType==="inline"&&o.multiselect||o.searchType==="inline"&&C.Core.state.isMobile?"popup":o.searchType);let d=0;l.value==="inline"&&o.minLength&&(d=o.minLength);const r=R(o.apiRequest,d,o.useCache),s=W(a,e.toRef(o,"items"),o.multiselect,e.toRef(o,"appendAllValue"),e.toRef(o,"appendSearchToResult"),l,d,r),p=e.computed(()=>o.buttonProps?"TopButton":l.value==="inline"?"TopInput":"div"),m=e.ref(null),B=()=>{var t;return(t=m.value)==null?void 0:t.popup};r.apiRequest&&e.watch(s.searchText,()=>{var t;r.setSearchTextAndLoad(s.searchText.value),l.value==="inline"&&s.genIsShort()&&((t=B())==null||t.close())}),e.watch(a,()=>{l.value==="inline"&&s.resetSearch()});const c=e.computed(()=>{var t;return Array.isArray(a.value)||o.multiselect||!o.selectedAsPlaceholder&&l.value!=="inline"?o.placeholder:((t=a.value)==null?void 0:t.name)||o.placeholder}),y=t=>{var f,k;let i=!1;switch(t.key){case"Delete":case"Backspace":Array.isArray(a.value)&&(t.preventDefault(),t.stopPropagation(),a.value.pop());break;case"ArrowUp":case"ArrowRight":case"ArrowDown":case"ArrowLeft":case"Enter":case" ":i=!0;break;case"Escape":l.value==="inline"&&s.resetSearch();break}const h=t.key.length===1&&!t.ctrlKey&&!t.metaKey;(l.value==="popup"||l.value==="inline")&&h&&(i=!0),(f=B())!=null&&f.elPopup&&(i=!1),i&&(l.value==="popup"&&(t.preventDefault(),t.stopPropagation(),h&&(s.searchText.value||(s.searchText.value=t.key))),(k=t.currentTarget)==null||k.click())};let u=!1;const g=t=>{var i;u||l.value==="inline"&&((i=t.currentTarget)==null||i.click())},V=t=>{var i,h;t.preventDefault(),u=!0,(h=(i=t.currentTarget)==null?void 0:i.parentElement)==null||h.focus(),u=!1,s.selectNextItem()},w=()=>{var t;if(u=!0,r.apiRequest){if(s.genIsShort()){(t=B())==null||t.close();return}r.setSearchTextAndLoad(s.searchText.value,!1)}},E=()=>{setTimeout(()=>{u=!1},100),l.value==="popup"&&s.searchText.value&&s.resetSearch()},v=t=>{const i=t.target;i.scrollTop/(i.scrollHeight-i.offsetHeight)>.8&&r.loadAppend()};return window.__STORYBOOK_PREVIEW__&&(e.watch(()=>o.multiselect,()=>{o.multiselect?Array.isArray(a.value)||(a.value=[{id:1,name:"Выбери меня"}]):Array.isArray(a.value)&&(a.value={id:null,name:""})},{immediate:!0}),e.watch(()=>o.searchType,()=>{setTimeout(()=>{location.reload()},500)})),(t,i)=>{const h=e.resolveDirective("top-focus");return e.openBlock(),e.createBlock(e.unref(b.TopPopup),{ref_key:"popupRef",ref:m,onOpen:i[3]||(i[3]=f=>w()),onClose:i[4]||(i[4]=f=>E()),onScrollContentList:i[5]||(i[5]=f=>t.apiRequest?v(f):void 0),notch:l.value!=="inline",transitionDuration:0},e.createSlots({opener:e.withCtx(()=>[e.withDirectives((e.openBlock(),e.createBlock(e.resolveDynamicComponent(p.value),e.mergeProps(t.buttonProps,{ref:"subcomponentSelector",class:{"top-selector2":!0,"top-selector2-multiselect":t.multiselect,["top-selector2-"+t.modificator]:!!t.modificator,"top-as-input":!t.buttonProps,"top-as-selector":!0,["top-size_"+t.size]:!0,"top-disabled":t.disabled,"top-forms-focusable":!t.disabled,"top-error":t.isError},tabindex:"0",onKeydown:y,placeholder:c.value,modelValue:e.unref(s).searchText.value,"onUpdate:modelValue":i[0]||(i[0]=f=>e.unref(s).searchText.value=f),onFocus:g,onBlur:i[1]||(i[1]=f=>{var k;return(k=B())!=null&&k.isClosed?e.unref(s).resetSearch():""})}),{default:e.withCtx(()=>[t.multiselect?(e.openBlock(),e.createElementBlock("div",X,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(a.value,f=>(e.openBlock(),e.createBlock(H,{id:f.id,name:f.name,onDelete:e.unref(s).deleteItemById},null,8,["id","name","onDelete"]))),256))])):e.createCommentVNode("",!0),l.value!=="inline"&&!t.multiselect?(e.openBlock(),e.createElementBlock("span",j,e.toDisplayString(Array.isArray(a.value)?"":a.value.name),1)):e.createCommentVNode("",!0),t.multiselect&&!a.value.length?(e.openBlock(),e.createElementBlock("span",J,e.toDisplayString(c.value),1)):e.createCommentVNode("",!0),t.addChanger&&!t.buttonProps&&!t.multiselect&&e.unref(s).items.value.length>1&&!t.disabled?(e.openBlock(),e.createElementBlock("span",{key:3,class:"top-changer top-changer-selector top-popup_widget","data-top-popup-disabled":"true",onClick:V})):e.createCommentVNode("",!0)]),_:1},16,["class","placeholder","modelValue"])),[[h,t.isError,void 0,{onupdate:!0}]])]),contentList:e.withCtx(()=>{var f;return[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(e.unref(s).itemsForShow.value,k=>(e.openBlock(),e.createBlock(e.unref(b.TopPopupListItem),{class:e.normalizeClass({"top-active":!Array.isArray(a.value)&&!t.multiselect&&a.value.id===k.id&&a.value.name===k.name}),key:k.id??void 0,closeByClick:!t.multiselect||e.unref(C.Core).state.isMobile,onClick:me=>e.unref(s).selectItem(k)},{default:e.withCtx(()=>[t.$slots.item?e.renderSlot(t.$slots,"item",{key:0,item:k}):(e.openBlock(),e.createElementBlock(e.Fragment,{key:1},[e.createTextVNode(e.toDisplayString(k.name),1)],64))]),_:2},1032,["class","closeByClick","onClick"]))),128)),!e.unref(r).isLoading.value&&!e.unref(s).itemsForShow.value.length?(e.openBlock(),e.createBlock(e.unref(b.TopPopupListItem),{key:0,type:"regular"},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(t.$i18n.Common.No_results),1)]),_:1})):e.createCommentVNode("",!0),e.unref(r).isLoading.value&&(t.searchType!=="popup"||(f=t.apiRequest)!=null&&f.params.offset)?(e.openBlock(),e.createBlock(e.unref(b.TopPopupListItem),{key:1,type:"regular"},{default:e.withCtx(()=>[e.createVNode(e.unref(C.TopPreloader),{type:"circles"})]),_:1})):e.createCommentVNode("",!0)]}),_:2},[l.value==="popup"?{name:"widget",fn:e.withCtx(()=>{var f;return[e.createVNode(e.unref(b.TopPopupWidgetInput),{title:"Поиск",icon:"",modelValue:e.unref(s).searchText.value,"onUpdate:modelValue":i[2]||(i[2]=k=>e.unref(s).searchText.value=k),isLoading:e.unref(r).isLoading.value&&!((f=t.apiRequest)!=null&&f.params.offset),placeholder:c.value},null,8,["modelValue","isLoading","placeholder"])]}),key:"0"}:void 0]),1032,["notch"])}}}),q=["data-top-icon"],x={class:"top-info_text"},Q={key:0,class:"top-info_value"},Z=e.defineComponent({__name:"info",props:{icon:{},styling:{default:"default"},size:{default:"default"}},setup(n){return(o,a)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass({"top-info":!0,["top-size_"+o.size]:!0,["top-info-styling_"+o.styling]:!0}),"data-top-icon":o.icon},[e.createElementVNode("div",x,[e.renderSlot(o.$slots,"default")]),o.$slots.additional?(e.openBlock(),e.createElementBlock("span",Q,[e.renderSlot(o.$slots,"additional")])):e.createCommentVNode("",!0)],10,q))}}),ee={key:0,class:"top-policy"},te={class:"top-policy_title"},oe=["innerHTML"],le=e.defineComponent({__name:"policy",props:{title:{},description:{},acceptText:{},cookieName:{}},emits:["accept"],setup(n,{emit:o}){const a=o,l=e.ref(!0),d=()=>{l.value=!1,a("accept")};return(r,s)=>l.value?(e.openBlock(),e.createElementBlock("div",ee,[e.createElementVNode("div",te,e.toDisplayString(r.title),1),e.createElementVNode("div",{class:"top-policy_description",innerHTML:r.description},null,8,oe),e.createVNode(e.unref(C.TopButton),{size:"m",onClick:d},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(r.acceptText),1)]),_:1})])):e.createCommentVNode("",!0)}}),ne=N,ae=L,re=z,se=G,ie=Y,ue=$._sfc_main,ce=Z,de=le;T.TopCheckboxGroup=se,T.TopEditArea=ne,T.TopEditInput=ae,T.TopInfo=ce,T.TopMenu=ue,T.TopPolicy=de,T.TopRadioGroup=re,T.TopSelector2=ie,Object.defineProperty(T,Symbol.toStringTag,{value:"Module"})});
1
+ define(["require","exports","vue","../.chunks/forms-DRhpgERJ.amd","../popup/popup.amd","../utils/keyboard.amd","../.chunks/menu.vue_vue_type_style_index_0_lang-DRHk9iBB.amd","../require/css.amd!../assets/formsExt.css"],(function(pe,T,e,C,b,S,$){"use strict";if(typeof e>"u")var e=window.Vue;const I={class:"top-editArea_footer"},N=e.defineComponent({__name:"editArea",props:{defaultValue:{default:""},title:{},cancelText:{default:"Cancel"},submitText:{default:"Send"},closeText:{default:"Close"},isFocused:{type:Boolean},forceShowCloseBtn:{type:Boolean},attachToKeyboard:{type:Boolean},modelValue:{},name:{},placeholder:{},styling:{},rows:{},minHeight:{},expandable:{type:Boolean,default:!0},disabled:{type:Boolean},readonly:{type:Boolean},isError:{type:Boolean},hint:{},maxLength:{}},emits:["submit","close","clickOnTitle"],setup(n,{emit:o}){const a=n,l=o,d=e.ref(a.defaultValue),r=e.ref(a.isFocused),s=e.computed(()=>d.value!==a.defaultValue),p=c=>{l("submit",c),d.value=a.defaultValue},m=()=>{if(a.forceShowCloseBtn&&!s.value){l("close");return}d.value=a.defaultValue},B=()=>{a.attachToKeyboard&&l("clickOnTitle")};return(c,y)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass({"top-editArea":!0,"top-editArea-attachedToKeyboard":c.attachToKeyboard})},[c.title?(e.openBlock(),e.createElementBlock("div",{key:0,class:"top-editArea_title",onClick:y[0]||(y[0]=u=>B())},e.toDisplayString(c.title),1)):e.createCommentVNode("",!0),e.createElementVNode("div",{class:e.normalizeClass({"top-editArea_form":!0,"top-forms-focusable":!0,"top-as-input":!0,"top-error":c.isError,"top-focus":r.value})},[e.createVNode(C._sfc_main$3,{modelValue:d.value,"onUpdate:modelValue":y[1]||(y[1]=u=>d.value=u),name:c.name,placeholder:c.placeholder,rows:c.rows,minHeight:c.minHeight,expandable:c.expandable,disabled:c.disabled,readonly:c.readonly,isError:c.isError,hint:c.hint,class:"top-editArea_element",onFocus:y[2]||(y[2]=()=>r.value=!0),onBlur:y[3]||(y[3]=()=>r.value=!1),onKeyup:[e.withKeys(m,["esc"]),y[4]||(y[4]=e.withKeys(e.withModifiers(u=>p(d.value),["ctrl"]),["enter"]))]},null,8,["modelValue","name","placeholder","rows","minHeight","expandable","disabled","readonly","isError","hint"]),e.createElementVNode("div",I,[s.value||c.forceShowCloseBtn?(e.openBlock(),e.createBlock(C._sfc_main,{key:0,icon:c.$core.state.isMobile?"":"",class:"top-editArea_button",color:"theme",styling:"soft",onClick:m},e.createSlots({_:2},[c.$core.state.isMobile?void 0:{name:"default",fn:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(c.cancelText),1)]),key:"0"}]),1032,["icon"])):e.createCommentVNode("",!0),s.value?(e.openBlock(),e.createBlock(C._sfc_main,{key:1,class:"top-editArea_button",icon:c.$core.state.isMobile?"":"",onClick:y[5]||(y[5]=u=>p(d.value))},e.createSlots({_:2},[c.$core.state.isMobile?void 0:{name:"default",fn:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(c.submitText),1)]),key:"0"}]),1032,["icon"])):e.createCommentVNode("",!0)])],2)],2))}}),_={class:"top-editInput"},L=e.defineComponent({__name:"editInput",props:{modelValue:{},input:{},button:{}},emits:["update:modelValue"],setup(n,{emit:o}){const a=n,l=e.ref(a.modelValue);e.watch(e.toRef(a.modelValue),()=>{l.value=a.modelValue});const d=o,r=()=>{d("update:modelValue",l.value)};return(s,p)=>(e.openBlock(),e.createElementBlock("div",_,[e.createVNode(C._sfc_main$2,e.mergeProps(s.input,{onKeydownCapture:p[0]||(p[0]=e.withKeys(e.withModifiers(m=>l.value=s.modelValue,["stop"]),["esc"])),onKeydown:e.withKeys(e.withModifiers(r,["stop"]),["enter"]),modelValue:l.value,"onUpdate:modelValue":p[1]||(p[1]=m=>l.value=m)}),null,16,["onKeydown","modelValue"]),l.value!==s.modelValue?(e.openBlock(),e.createBlock(C._sfc_main,e.mergeProps({key:0,icon:"",styling:"soft"},s.button,{onClick:r}),null,16)):e.createCommentVNode("",!0)]))}}),M=["data-top-icon","onClick"],P={key:0,class:"top-radioGroup_circle"},D=["value","disabled"],z=e.defineComponent({__name:"radioGroup",props:e.mergeModels({modelValue:{},radiosProps:{},showIndicator:{type:Boolean},size:{default:"s"},isError:{type:Boolean}},{modelValue:{required:!0},modelModifiers:{}}),emits:["update:modelValue"],setup(n){const o=e.useModel(n,"modelValue"),a=n,l=e.ref(null);e.watch(o,()=>{var r,s,p,m,B;(r=a.radiosProps)!=null&&r.some(c=>c.value===o.value)||(o.value=((p=(s=a.radiosProps)==null?void 0:s[0])==null?void 0:p.value)??""),(B=(m=l.value)==null?void 0:m.querySelector(".radioGroup_item-selected"))==null||B.scrollIntoView()},{immediate:!0});const d="radioGroup-"+Math.random();return(r,s)=>(e.openBlock(),e.createElementBlock("div",{ref_key:"elRef",ref:l,class:e.normalizeClass({"top-radioGroup":!0,"top-scrollBarXHidding":!0,["top-size_"+r.size]:!!r.size,"top-error":r.isError})},[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(r.radiosProps,p=>(e.openBlock(),e.createElementBlock("label",{class:e.normalizeClass({"top-radioGroup_item-selected":p.value===o.value,"top-radioGroup_item":!0,"top-forms-focusable":!0,"top-disabled":p.disabled}),"data-top-icon":p.icon,onClick:m=>o.value=p.value},[e.createTextVNode(e.toDisplayString(p.title)+" ",1),r.showIndicator?(e.openBlock(),e.createElementBlock("span",P)):e.createCommentVNode("",!0),e.withDirectives(e.createElementVNode("input",{"onUpdate:modelValue":s[0]||(s[0]=m=>o.value=m),name:d,type:"radio",class:e.normalizeClass({"top-unvisible":!0}),value:p.value,disabled:p.disabled},null,8,D),[[e.vModelRadio,o.value]])],10,M))),256))],2))}}),K=["data-top-icon"],O=["value","checked","disabled","onChange"],G=e.defineComponent({__name:"checkboxGroup",props:e.mergeModels({modelValue:{},items:{},size:{default:"s"},styling:{default:"outline"},isError:{type:Boolean}},{modelValue:{required:!0},modelModifiers:{}}),emits:["update:modelValue"],setup(n){const o=e.useModel(n,"modelValue"),a=l=>{const d=[...o.value],r=d.indexOf(l);r===-1?d.push(l):d.splice(r,1),o.value=d};return(l,d)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass({"top-checkboxGroup":!0,["top-checkboxGroup-"+l.styling]:!0,"top-scrollBarXHidding":!0,["top-size_"+l.size]:!!l.size,"top-error":l.isError})},[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(l.items,r=>(e.openBlock(),e.createElementBlock("label",{key:r.id,class:e.normalizeClass({"top-checkboxGroup_item":!0,"top-checkboxGroup_item-selected":o.value.includes(r.id),"top-forms-focusable":!0,"top-disabled":r.disabled}),"data-top-icon":r.icon},[e.createElementVNode("input",{type:"checkbox",class:"top-unvisible",value:r.id,checked:o.value.includes(r.id),disabled:r.disabled,onChange:s=>a(r.id)},null,40,O),e.createTextVNode(" "+e.toDisplayString(r.title),1)],10,K))),128))],2))}}),F={class:"top-selector2_itemMulti top-ellipsis"},H=e.defineComponent({__name:"itemMulti",props:{id:{},name:{}},emits:["delete"],setup(n){return(o,a)=>(e.openBlock(),e.createElementBlock("div",F,[e.createTextVNode(e.toDisplayString(o.name)+" ",1),e.createElementVNode("span",{class:"top-selector2_itemMultiDelete","data-top-icon":"",onClick:a[0]||(a[0]=l=>o.$emit("delete",o.id)),onMousedown:a[1]||(a[1]=e.withModifiers(()=>{},["stop"]))},null,32)]))}}),R=(n,o,a)=>{const l=e.ref([]),d=e.ref(!1);let r="",s;n&&!n.params.limit&&(n.params.limit=100);const p=async()=>{if(!n)return;let u,g;if(a&&(n.cache??=new Map,g=JSON.stringify(n.params),u=n.cache.get(g),u))return u;if(d.value=!0,u=await n.call(),d.value=!1,u.errors)return;if(!Array.isArray(u.result)){console.warn("В result ожидался массив");return}const V=u.result.findIndex(w=>w.id===void 0||w.name===void 0);if(V!==-1){console.warn(`В result[${V}] нет id или name`);return}return a&&n.cache.set(g,u),u},m=async()=>{if(!n)return;n.params.offset=0,n.params.search=r;const u=await p();u&&(s=u.nextOffset,l.value=u.result)},B=async()=>{if(!n||!s||d.value)return;n.params.offset=s,n.params.search=r;const u=await p();u&&(s=u.nextOffset,l.value=l.value.concat(u.result))},c=C.debounce(()=>m(),200);return{apiRequest:n,items:l,isLoading:d,loadAppend:B,setSearchTextAndLoad:(u,g=!0)=>{n&&(u.length<o||u===r&&l.value.length||(r=u,g?c():m()))}}},U=0,A=(n,o,a=!0)=>a&&o.id===null?Array.isArray(n)?n.some(l=>l.id===o.id&&l.name===o.name):o.name===n.name:Array.isArray(n)?n.some(l=>l.id===o.id):o.id===n.id,W=(n,o,a,l,d,r,s,p)=>{const m=e.ref(""),B={id:U,name:C.useI18n().Common.All},c=()=>{m.value="",p.items.value=[]},y=()=>!(!p.apiRequest||r.value!=="inline"||m.value.length>=s),u=e.computed(()=>{var t;const v=[];return!a&&l.value&&v.push(B),(t=o.value)==null||t.forEach(i=>v.push({...i})),v}),g=e.computed(()=>{const v=m.value.toLowerCase(),t=S.invertKeyboardLayout(v);let i=[];return u.value.forEach(h=>{const f=h.name.toLowerCase();(h.id===Number(v)||f.includes(v)||f.includes(t))&&(f===v||f===t?i.unshift(h):i.push(h))}),i.push(...p.items.value),d.value&&m.value&&(!i.length||i[0].name.toLowerCase()!==v)&&i.push({id:null,name:m.value}),a&&(i=i.filter(h=>!A(n.value,h))),i});return{searchText:m,resetSearch:c,genIsShort:y,items:u,itemsForShow:g,selectItem:v=>{a&&Array.isArray(n.value)?A(n.value,v)||(n.value=[...n.value,v]):n.value=v},selectNextItem:()=>{if(!Array.isArray(n.value)){const t=(g.value.findIndex(i=>i.id===n.value.id)+1)%g.value.length;n.value={...g.value[t]}}},deleteItemById:async v=>{Array.isArray(n.value)&&(n.value=n.value.filter(t=>t.id!==v))}}},X={key:0,class:"top-selector2_activeItems"},j={key:1,class:"top-selector2_activeName top-ellipsis"},J={key:2,class:"top-selector2_placeholder top-ellipsis"},Y=e.defineComponent({__name:"selector2",props:e.mergeModels({modelValue:{},items:{default:()=>[]},title:{},disabled:{type:Boolean},modificator:{},size:{default:"s"},isError:{type:Boolean},searchType:{default:"popup"},placeholder:{},apiRequest:{},minLength:{default:0},useCache:{type:Boolean},appendSearchToResult:{type:Boolean},multiselect:{type:Boolean},appendAllValue:{type:Boolean},addChanger:{type:Boolean},buttonProps:{},selectedAsPlaceholder:{type:Boolean}},{modelValue:{required:!0},modelModifiers:{}}),emits:["update:modelValue"],setup(n){const o=n,a=e.useModel(n,"modelValue"),l=e.computed(()=>o.searchType==="inline"&&o.multiselect||o.searchType==="inline"&&C.Core.state.isMobile?"popup":o.searchType);let d=0;l.value==="inline"&&o.minLength&&(d=o.minLength);const r=R(o.apiRequest,d,o.useCache),s=W(a,e.toRef(o,"items"),o.multiselect,e.toRef(o,"appendAllValue"),e.toRef(o,"appendSearchToResult"),l,d,r),p=e.computed(()=>o.buttonProps?"TopButton":l.value==="inline"?"TopInput":"div"),m=e.ref(null),B=()=>{var t;return(t=m.value)==null?void 0:t.popup};r.apiRequest&&e.watch(s.searchText,()=>{var t;r.setSearchTextAndLoad(s.searchText.value),l.value==="inline"&&s.genIsShort()&&((t=B())==null||t.close())}),e.watch(a,()=>{l.value==="inline"&&s.resetSearch()});const c=e.computed(()=>{var t;return Array.isArray(a.value)||o.multiselect||!o.selectedAsPlaceholder&&l.value!=="inline"?o.placeholder:((t=a.value)==null?void 0:t.name)||o.placeholder}),y=t=>{var f,k;let i=!1;switch(t.key){case"Delete":case"Backspace":Array.isArray(a.value)&&(t.preventDefault(),t.stopPropagation(),a.value.pop());break;case"ArrowUp":case"ArrowRight":case"ArrowDown":case"ArrowLeft":case"Enter":case" ":i=!0;break;case"Escape":l.value==="inline"&&s.resetSearch();break}const h=t.key.length===1&&!t.ctrlKey&&!t.metaKey;(l.value==="popup"||l.value==="inline")&&h&&(i=!0),(f=B())!=null&&f.elPopup&&(i=!1),i&&(l.value==="popup"&&(t.preventDefault(),t.stopPropagation(),h&&(s.searchText.value||(s.searchText.value=t.key))),(k=t.currentTarget)==null||k.click())};let u=!1;const g=t=>{var i;u||l.value==="inline"&&((i=t.currentTarget)==null||i.click())},V=t=>{var i,h;t.preventDefault(),u=!0,(h=(i=t.currentTarget)==null?void 0:i.parentElement)==null||h.focus(),u=!1,s.selectNextItem()},w=()=>{var t;if(u=!0,r.apiRequest){if(s.genIsShort()){(t=B())==null||t.close();return}r.setSearchTextAndLoad(s.searchText.value,!1)}},E=()=>{setTimeout(()=>{u=!1},100),l.value==="popup"&&s.searchText.value&&s.resetSearch()},v=t=>{const i=t.target;i.scrollTop/(i.scrollHeight-i.offsetHeight)>.8&&r.loadAppend()};return window.__STORYBOOK_PREVIEW__&&(e.watch(()=>o.multiselect,()=>{o.multiselect?Array.isArray(a.value)||(a.value=[{id:1,name:"Выбери меня"}]):Array.isArray(a.value)&&(a.value={id:null,name:""})},{immediate:!0}),e.watch(()=>o.searchType,()=>{setTimeout(()=>{location.reload()},500)})),(t,i)=>{const h=e.resolveDirective("top-focus");return e.openBlock(),e.createBlock(e.unref(b.TopPopup),{ref_key:"popupRef",ref:m,onOpen:i[3]||(i[3]=f=>w()),onClose:i[4]||(i[4]=f=>E()),onScrollContentList:i[5]||(i[5]=f=>t.apiRequest?v(f):void 0),notch:l.value!=="inline",transitionDuration:0},e.createSlots({opener:e.withCtx(()=>[e.withDirectives((e.openBlock(),e.createBlock(e.resolveDynamicComponent(p.value),e.mergeProps(t.buttonProps,{ref:"subcomponentSelector",class:{"top-selector2":!0,"top-selector2-multiselect":t.multiselect,["top-selector2-"+t.modificator]:!!t.modificator,"top-as-input":!t.buttonProps,"top-as-selector":!0,["top-size_"+t.size]:!0,"top-disabled":t.disabled,"top-forms-focusable":!t.disabled,"top-error":t.isError},tabindex:"0",onKeydown:y,placeholder:c.value,modelValue:e.unref(s).searchText.value,"onUpdate:modelValue":i[0]||(i[0]=f=>e.unref(s).searchText.value=f),onFocus:g,onBlur:i[1]||(i[1]=f=>{var k;return(k=B())!=null&&k.isClosed?e.unref(s).resetSearch():""})}),{default:e.withCtx(()=>[t.multiselect?(e.openBlock(),e.createElementBlock("div",X,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(a.value,f=>(e.openBlock(),e.createBlock(H,{id:f.id,name:f.name,onDelete:e.unref(s).deleteItemById},null,8,["id","name","onDelete"]))),256))])):e.createCommentVNode("",!0),l.value!=="inline"&&!t.multiselect?(e.openBlock(),e.createElementBlock("span",j,e.toDisplayString(Array.isArray(a.value)?"":a.value.name),1)):e.createCommentVNode("",!0),t.multiselect&&!a.value.length?(e.openBlock(),e.createElementBlock("span",J,e.toDisplayString(c.value),1)):e.createCommentVNode("",!0),t.addChanger&&!t.buttonProps&&!t.multiselect&&e.unref(s).items.value.length>1&&!t.disabled?(e.openBlock(),e.createElementBlock("span",{key:3,class:"top-changer top-changer-selector top-popup_widget","data-top-popup-disabled":"true",onClick:V})):e.createCommentVNode("",!0)]),_:1},16,["class","placeholder","modelValue"])),[[h,t.isError,void 0,{onupdate:!0}]])]),contentList:e.withCtx(()=>{var f;return[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(e.unref(s).itemsForShow.value,k=>(e.openBlock(),e.createBlock(e.unref(b.TopPopupListItem),{class:e.normalizeClass({"top-active":!Array.isArray(a.value)&&!t.multiselect&&a.value.id===k.id&&a.value.name===k.name}),key:k.id??void 0,closeByClick:!t.multiselect||e.unref(C.Core).state.isMobile,onClick:me=>e.unref(s).selectItem(k)},{default:e.withCtx(()=>[t.$slots.item?e.renderSlot(t.$slots,"item",{key:0,item:k}):(e.openBlock(),e.createElementBlock(e.Fragment,{key:1},[e.createTextVNode(e.toDisplayString(k.name),1)],64))]),_:2},1032,["class","closeByClick","onClick"]))),128)),!e.unref(r).isLoading.value&&!e.unref(s).itemsForShow.value.length?(e.openBlock(),e.createBlock(e.unref(b.TopPopupListItem),{key:0,type:"regular"},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(t.$i18n.Common.No_results),1)]),_:1})):e.createCommentVNode("",!0),e.unref(r).isLoading.value&&(t.searchType!=="popup"||(f=t.apiRequest)!=null&&f.params.offset)?(e.openBlock(),e.createBlock(e.unref(b.TopPopupListItem),{key:1,type:"regular"},{default:e.withCtx(()=>[e.createVNode(e.unref(C.TopPreloader),{type:"circles"})]),_:1})):e.createCommentVNode("",!0)]}),_:2},[l.value==="popup"?{name:"widget",fn:e.withCtx(()=>{var f;return[e.createVNode(e.unref(b.TopPopupWidgetInput),{title:"Поиск",icon:"",modelValue:e.unref(s).searchText.value,"onUpdate:modelValue":i[2]||(i[2]=k=>e.unref(s).searchText.value=k),isLoading:e.unref(r).isLoading.value&&!((f=t.apiRequest)!=null&&f.params.offset),placeholder:c.value},null,8,["modelValue","isLoading","placeholder"])]}),key:"0"}:void 0]),1032,["notch"])}}}),q=["data-top-icon"],x={class:"top-info_text"},Q={key:0,class:"top-info_value"},Z=e.defineComponent({__name:"info",props:{icon:{},styling:{default:"default"},size:{default:"default"}},setup(n){return(o,a)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass({"top-info":!0,["top-size_"+o.size]:!0,["top-info-styling_"+o.styling]:!0}),"data-top-icon":o.icon},[e.createElementVNode("div",x,[e.renderSlot(o.$slots,"default")]),o.$slots.additional?(e.openBlock(),e.createElementBlock("span",Q,[e.renderSlot(o.$slots,"additional")])):e.createCommentVNode("",!0)],10,q))}}),ee={key:0,class:"top-policy"},te={class:"top-policy_title"},oe=["innerHTML"],le=e.defineComponent({__name:"policy",props:{title:{},description:{},acceptText:{}},emits:["accept"],setup(n,{emit:o}){const a=o,l=e.ref(!0),d=()=>{l.value=!1,a("accept")};return(r,s)=>l.value?(e.openBlock(),e.createElementBlock("div",ee,[e.createElementVNode("div",te,e.toDisplayString(r.title),1),e.createElementVNode("div",{class:"top-policy_description",innerHTML:r.description},null,8,oe),e.createVNode(e.unref(C.TopButton),{size:"m",onClick:d},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(r.acceptText),1)]),_:1})])):e.createCommentVNode("",!0)}}),ne=N,ae=L,re=z,se=G,ie=Y,ue=$._sfc_main,ce=Z,de=le;T.TopCheckboxGroup=se,T.TopEditArea=ne,T.TopEditInput=ae,T.TopInfo=ce,T.TopMenu=ue,T.TopPolicy=de,T.TopRadioGroup=re,T.TopSelector2=ie,Object.defineProperty(T,Symbol.toStringTag,{value:"Module"})}));
2
2
  //# sourceMappingURL=formsExt.amd.js.map