@topvisor/ui 1.4.3-updateVue.1 → 1.5.0-updates.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (408) hide show
  1. package/.chunks/core-Dgj_YGWh.es.js +268 -0
  2. package/.chunks/core-Dgj_YGWh.es.js.map +1 -0
  3. package/.chunks/core-DzDFXOdI.amd.js +2 -0
  4. package/.chunks/core-DzDFXOdI.amd.js.map +1 -0
  5. package/.chunks/{datepicker-C5ErMHwe.amd.js → datepicker-oa8ZwRhq.amd.js} +2 -2
  6. package/.chunks/{datepicker-C5ErMHwe.amd.js.map → datepicker-oa8ZwRhq.amd.js.map} +1 -1
  7. package/.chunks/{datepicker-DMYB1RFK.es.js → datepicker-qToxk2nN.es.js} +2 -2
  8. package/.chunks/{datepicker-DMYB1RFK.es.js.map → datepicker-qToxk2nN.es.js.map} +1 -1
  9. package/.chunks/{dialog_regionSelectorRegions-CHC-Blbu.amd.js → dialog_regionSelectorRegions-CZ0tMVSq.amd.js} +2 -2
  10. package/.chunks/{dialog_regionSelectorRegions-CHC-Blbu.amd.js.map → dialog_regionSelectorRegions-CZ0tMVSq.amd.js.map} +1 -1
  11. package/.chunks/{dialog_regionSelectorRegions-BMWyYCfD.es.js → dialog_regionSelectorRegions-qDW2Ejsv.es.js} +5 -5
  12. package/.chunks/{dialog_regionSelectorRegions-BMWyYCfD.es.js.map → dialog_regionSelectorRegions-qDW2Ejsv.es.js.map} +1 -1
  13. package/.chunks/{dialogs.vue_vue_type_script_setup_true_lang-C3qaTBlO.amd.js → dialogs.vue_vue_type_script_setup_true_lang-BBix_8WK.amd.js} +2 -2
  14. package/.chunks/{dialogs.vue_vue_type_script_setup_true_lang-C3qaTBlO.amd.js.map → dialogs.vue_vue_type_script_setup_true_lang-BBix_8WK.amd.js.map} +1 -1
  15. package/.chunks/{dialogs.vue_vue_type_script_setup_true_lang-BZM_iKPW.es.js → dialogs.vue_vue_type_script_setup_true_lang-CJ97l1ST.es.js} +3 -3
  16. package/.chunks/{dialogs.vue_vue_type_script_setup_true_lang-BZM_iKPW.es.js.map → dialogs.vue_vue_type_script_setup_true_lang-CJ97l1ST.es.js.map} +1 -1
  17. package/.chunks/{forms-EhKRBbpk.amd.js → forms-DDNzqU6o.amd.js} +3 -3
  18. package/.chunks/{forms-EhKRBbpk.amd.js.map → forms-DDNzqU6o.amd.js.map} +1 -1
  19. package/.chunks/{forms-CUaoBGD5.es.js → forms-DtC-EKJL.es.js} +24 -24
  20. package/.chunks/{forms-CUaoBGD5.es.js.map → forms-DtC-EKJL.es.js.map} +1 -1
  21. package/.chunks/lazy-DDNqYkXn.amd.js +2 -0
  22. package/.chunks/lazy-DDNqYkXn.amd.js.map +1 -0
  23. package/.chunks/{lazy-40pjr8cZ.es.js → lazy-HKSyLh72.es.js} +23 -19
  24. package/.chunks/lazy-HKSyLh72.es.js.map +1 -0
  25. package/.chunks/{notice-Chj1PUTD.es.js → notice-BvQl911b.es.js} +3 -3
  26. package/.chunks/{notice-Chj1PUTD.es.js.map → notice-BvQl911b.es.js.map} +1 -1
  27. package/.chunks/{notice-DQb_Za5_.amd.js → notice-CJ3WOTCM.amd.js} +2 -2
  28. package/.chunks/{notice-DQb_Za5_.amd.js.map → notice-CJ3WOTCM.amd.js.map} +1 -1
  29. package/.chunks/{page.vue_vue_type_script_setup_true_lang-C-xQ-eC7.es.js → page.vue_vue_type_script_setup_true_lang-Dd5-B4Ss.es.js} +9 -9
  30. package/.chunks/{page.vue_vue_type_script_setup_true_lang-C-xQ-eC7.es.js.map → page.vue_vue_type_script_setup_true_lang-Dd5-B4Ss.es.js.map} +1 -1
  31. package/.chunks/{page.vue_vue_type_script_setup_true_lang-bUK5c5qn.amd.js → page.vue_vue_type_script_setup_true_lang-fl6-Ql4d.amd.js} +2 -2
  32. package/.chunks/{page.vue_vue_type_script_setup_true_lang-bUK5c5qn.amd.js.map → page.vue_vue_type_script_setup_true_lang-fl6-Ql4d.amd.js.map} +1 -1
  33. package/.chunks/policy.vue_vue_type_style_index_0_lang-Bv3LwNDC.es.js +519 -0
  34. package/.chunks/policy.vue_vue_type_style_index_0_lang-Bv3LwNDC.es.js.map +1 -0
  35. package/.chunks/policy.vue_vue_type_style_index_0_lang-Da7rztT5.amd.js +2 -0
  36. package/.chunks/policy.vue_vue_type_style_index_0_lang-Da7rztT5.amd.js.map +1 -0
  37. package/.chunks/{popup-COONSpqs.es.js → popup-OuDglAOF.es.js} +4 -4
  38. package/.chunks/popup-OuDglAOF.es.js.map +1 -0
  39. package/.chunks/{popup-CDaQNt-3.amd.js → popup-yXIpyok3.amd.js} +2 -2
  40. package/.chunks/popup-yXIpyok3.amd.js.map +1 -0
  41. package/.chunks/{popupHint.vue_vue_type_style_index_0_lang-24i49Ad3.amd.js → popupHint.vue_vue_type_style_index_0_lang-Bu_HvFoW.amd.js} +2 -2
  42. package/.chunks/{popupHint.vue_vue_type_style_index_0_lang-24i49Ad3.amd.js.map → popupHint.vue_vue_type_style_index_0_lang-Bu_HvFoW.amd.js.map} +1 -1
  43. package/.chunks/{popupHint.vue_vue_type_style_index_0_lang-DzT1BFMx.es.js → popupHint.vue_vue_type_style_index_0_lang-DAQIAxvu.es.js} +5 -5
  44. package/.chunks/{popupHint.vue_vue_type_style_index_0_lang-DzT1BFMx.es.js.map → popupHint.vue_vue_type_style_index_0_lang-DAQIAxvu.es.js.map} +1 -1
  45. package/.chunks/{utils-Kzz2mc2t.es.js → utils-BNzP9anP.es.js} +2 -2
  46. package/.chunks/{utils-Kzz2mc2t.es.js.map → utils-BNzP9anP.es.js.map} +1 -1
  47. package/.chunks/{utils-DsGgpnXD.amd.js → utils-CWn_G7OO.amd.js} +2 -2
  48. package/.chunks/{utils-DsGgpnXD.amd.js.map → utils-CWn_G7OO.amd.js.map} +1 -1
  49. package/.chunks/{utils-C2_4b48S.amd.js → utils-DIviuVEw.amd.js} +2 -2
  50. package/.chunks/utils-DIviuVEw.amd.js.map +1 -0
  51. package/.chunks/{utils-DQ-xahGh.es.js → utils-Dma85ehT.es.js} +67 -67
  52. package/.chunks/utils-Dma85ehT.es.js.map +1 -0
  53. package/.chunks/{widgetInput.vue_vue_type_script_setup_true_lang-BuoAaghB.es.js → widgetInput.vue_vue_type_script_setup_true_lang-CX_BOcVY.es.js} +6 -6
  54. package/.chunks/{widgetInput.vue_vue_type_script_setup_true_lang-BuoAaghB.es.js.map → widgetInput.vue_vue_type_script_setup_true_lang-CX_BOcVY.es.js.map} +1 -1
  55. package/.chunks/{widgetInput.vue_vue_type_script_setup_true_lang-Dgjj70vU.amd.js → widgetInput.vue_vue_type_script_setup_true_lang-CkOmb3VD.amd.js} +2 -2
  56. package/.chunks/{widgetInput.vue_vue_type_script_setup_true_lang-Dgjj70vU.amd.js.map → widgetInput.vue_vue_type_script_setup_true_lang-CkOmb3VD.amd.js.map} +1 -1
  57. package/api/additional.d.ts +0 -1
  58. package/api/index.amd.js +1 -1
  59. package/api/index.d.ts +0 -1
  60. package/api/index.js +6 -6
  61. package/assets/policy.css +1 -1
  62. package/assets/project.css +1 -1
  63. package/assets/tabsView.css +1 -1
  64. package/assets/themes/dark.css +1 -1
  65. package/assets/themes/light.css +1 -1
  66. package/charts/charts.amd.js +1 -1
  67. package/charts/charts.d.ts +0 -1
  68. package/charts/charts.js +14 -14
  69. package/core/app.amd.js +1 -1
  70. package/core/app.d.ts +0 -1
  71. package/core/app.js +15 -15
  72. package/dialog/dialog.amd.js +1 -1
  73. package/dialog/dialog.d.ts +0 -1
  74. package/dialog/dialog.js +6 -6
  75. package/extra/extra.amd.js +1 -1
  76. package/extra/extra.amd.js.map +1 -1
  77. package/extra/extra.d.ts +0 -1
  78. package/extra/extra.js +3 -2
  79. package/extra/extra.js.map +1 -1
  80. package/forms/forms.amd.js +1 -1
  81. package/forms/forms.d.ts +0 -1
  82. package/forms/forms.js +1 -1
  83. package/forms/helpers.amd.js +1 -1
  84. package/formsExt/formsExt.amd.js +1 -1
  85. package/formsExt/formsExt.amd.js.map +1 -1
  86. package/formsExt/formsExt.d.ts +0 -1
  87. package/formsExt/formsExt.js +46 -45
  88. package/formsExt/formsExt.js.map +1 -1
  89. package/icomoon/Topvisor icons.json +776 -334
  90. package/icomoon/demo.html +85 -1
  91. package/icomoon/fonts/Topvisor-2.eot +0 -0
  92. package/icomoon/fonts/Topvisor-2.svg +6 -0
  93. package/icomoon/fonts/Topvisor-2.ttf +0 -0
  94. package/icomoon/fonts/Topvisor-2.woff +0 -0
  95. package/icomoon/selection.json +1 -1
  96. package/icomoon/style.css +23 -5
  97. package/layout/layout.amd.js +1 -1
  98. package/layout/layout.d.ts +0 -1
  99. package/layout/layout.js +7 -7
  100. package/package.json +6 -6
  101. package/popup/popup.amd.js +1 -1
  102. package/popup/popup.d.ts +0 -1
  103. package/popup/popup.js +9 -9
  104. package/popup/worker.amd.js +1 -1
  105. package/popup/worker.d.ts +0 -1
  106. package/popup/worker.js +2 -2
  107. package/project/project.amd.js +1 -1
  108. package/project/project.amd.js.map +1 -1
  109. package/project/project.d.ts +0 -1
  110. package/project/project.js +1052 -662
  111. package/project/project.js.map +1 -1
  112. package/src/{components → src/components}/charts/miniCharts/miniCharts.d.ts +1 -1
  113. package/src/{components → src/components}/core/notice/item/types.d.ts +1 -1
  114. package/src/{components → src/components}/core/notice/utils.d.ts +1 -1
  115. package/src/{components → src/components}/dialog/dialog/composables/dialogHandle.d.ts +1 -1
  116. package/src/{components → src/components}/dialog/dialog/dialogs/dialogs.vue.d.ts +2 -2
  117. package/src/{components → src/components}/dialog/dialog/stories/dialog_example/pages/utils.d.ts +1 -1
  118. package/src/src/components/dialog/dialog.d.ts +6 -0
  119. package/src/{components → src/components}/dialog/lib/worker.d.ts +1 -1
  120. package/src/{components → src/components}/forms/button/types.d.ts +1 -1
  121. package/src/{components → src/components}/forms/input/types.d.ts +1 -1
  122. package/src/src/components/forms/inputDate/types.d.ts +1 -0
  123. package/src/{components → src/components}/forms/select/types.d.ts +1 -1
  124. package/src/{components → src/components}/formsExt/editArea/types.d.ts +1 -1
  125. package/src/{components → src/components}/formsExt/editInput/types.d.ts +6 -2
  126. package/src/{components → src/components}/formsExt/libs/optionGroup/types.d.ts +1 -1
  127. package/src/{components → src/components}/formsExt/menu/types.d.ts +1 -1
  128. package/src/{components → src/components}/formsExt/policy/policy.vue.d.ts +1 -1
  129. package/src/{components → src/components}/formsExt/selector2/composables/useAPI.d.ts +210 -124
  130. package/src/{components → src/components}/formsExt/selector2/composables/useMenu.d.ts +211 -125
  131. package/src/{components → src/components}/formsExt/selector2/selector2.vue.d.ts +8 -5
  132. package/src/{components → src/components}/formsExt/selector2/types.d.ts +45 -3
  133. package/src/{components → src/components}/formsExt/selector2/utils.d.ts +2 -0
  134. package/src/{components → src/components}/popup/lib/popup.d.ts +3 -3
  135. package/src/{components → src/components}/popup/lib/worker.d.ts +2 -2
  136. package/src/{components → src/components}/popup/popup/opener/types.d.ts +1 -1
  137. package/src/{components → src/components}/popup/popup/popup.vue.d.ts +1 -1
  138. package/src/{components → src/components}/popup/popup/widgetInput/widgetInput.vue.d.ts +1 -1
  139. package/src/{components → src/components}/popup/popupConfirm/popupConfirm.vue.d.ts +1 -1
  140. package/src/{components → src/components}/project/competitorSelector/composables.d.ts +1 -1
  141. package/src/{components → src/components}/project/competitorSelector/types.d.ts +1 -1
  142. package/src/{components → src/components}/project/groupSelector/folders/types.d.ts +2 -1
  143. package/src/src/components/project/groupSelector/folders/utils.d.ts +422 -0
  144. package/src/{components → src/components}/project/groupSelector/groupSelector.vue.d.ts +2 -1
  145. package/src/{components → src/components}/project/groupSelector/groups/groups.vue.d.ts +20 -10
  146. package/src/{components → src/components}/project/groupSelector/groups/types.d.ts +2 -1
  147. package/src/src/components/project/groupSelector/groups/utils.d.ts +791 -0
  148. package/src/{components → src/components}/project/groupSelector/stories/mocks/index.d.ts +1 -1
  149. package/src/{components → src/components}/project/groupSelector/types.d.ts +6 -0
  150. package/src/src/components/project/groupSelector/utils.d.ts +37 -0
  151. package/src/{components → src/components}/project/project.d.ts +2 -0
  152. package/src/src/components/project/projectSelector/cache.d.ts +29 -0
  153. package/src/src/components/project/projectSelector/projectSelector.vue.d.ts +128 -0
  154. package/src/src/components/project/projectSelector/submenu/submenu.vue.d.ts +4 -0
  155. package/src/src/components/project/projectSelector/submenu/types.d.ts +17 -0
  156. package/src/src/components/project/projectSelector/types.d.ts +48 -0
  157. package/src/src/components/project/projectSelector/utils.d.ts +248 -0
  158. package/src/{components → src/components}/project/regionSelector/composables/selectRegion.d.ts +1 -1
  159. package/src/{components → src/components}/project/regionSelector/composables/selectSearcher.d.ts +1 -1
  160. package/src/{components → src/components}/project/regionSelector/dialog_regionSelectorRegions/types.d.ts +1 -1
  161. package/src/{components → src/components}/project/regionSelector/types.d.ts +9 -4
  162. package/src/{components → src/components}/project/regionSelector/utils/utils.d.ts +5 -5
  163. package/src/{components → src/components}/project/tagSelector/popupOpener/types.d.ts +1 -1
  164. package/src/{components → src/components}/project/tagSelector/types.d.ts +1 -1
  165. package/src/{components → src/components}/project/tagSelector/utils/el.d.ts +1 -1
  166. package/src/{components → src/components}/tabsView/tabsView/menu.vue.d.ts +2 -6
  167. package/src/{components → src/components}/tabsView/tabsView/store.d.ts +1 -1
  168. package/src/{core → src/core}/app.d.ts +2 -2
  169. package/src/{core → src/core}/core/core.d.ts +3 -3
  170. package/src/{core → src/core}/directives/shortcut.d.ts +2 -1
  171. package/src/src/core/directives/tooltip.d.ts +6 -0
  172. package/src/{core → src/core}/plugins/core.d.ts +6 -6
  173. package/src/{core → src/core}/utils/price.d.ts +2 -2
  174. package/src/src/core/utils/store.d.ts +6 -0
  175. package/tabs/tabs.d.ts +0 -1
  176. package/tabs/tabs.js +5 -5
  177. package/tabsView/tabsView.amd.js +1 -1
  178. package/tabsView/tabsView.amd.js.map +1 -1
  179. package/tabsView/tabsView.d.ts +0 -1
  180. package/tabsView/tabsView.js +93 -104
  181. package/tabsView/tabsView.js.map +1 -1
  182. package/utils/check.d.ts +0 -1
  183. package/utils/clipboard.amd.js +1 -1
  184. package/utils/clipboard.d.ts +0 -1
  185. package/utils/clipboard.js +1 -1
  186. package/utils/date.amd.js +1 -1
  187. package/utils/date.d.ts +0 -1
  188. package/utils/date.js +1 -1
  189. package/utils/device.amd.js +1 -1
  190. package/utils/device.d.ts +0 -1
  191. package/utils/device.js +1 -1
  192. package/utils/dom.d.ts +0 -5
  193. package/utils/image.d.ts +0 -1
  194. package/utils/keyboard.d.ts +0 -1
  195. package/utils/lodash.amd.js +1 -1
  196. package/utils/lodash.d.ts +0 -1
  197. package/utils/lodash.js +1 -1
  198. package/utils/number.d.ts +0 -1
  199. package/utils/price.amd.js +1 -1
  200. package/utils/price.d.ts +0 -1
  201. package/utils/price.js +1 -1
  202. package/utils/route.d.ts +0 -1
  203. package/utils/scroll.d.ts +0 -1
  204. package/utils/searchers.amd.js +1 -1
  205. package/utils/searchers.d.ts +0 -1
  206. package/utils/searchers.js +3 -3
  207. package/utils/store.d.ts +0 -1
  208. package/utils/string.amd.js +1 -1
  209. package/utils/string.d.ts +0 -1
  210. package/utils/string.js +1 -1
  211. package/utils/system.d.ts +0 -1
  212. package/utils/url.d.ts +0 -1
  213. package/.chunks/core-BEpKBNHt.amd.js +0 -2
  214. package/.chunks/core-BEpKBNHt.amd.js.map +0 -1
  215. package/.chunks/core-DBWAn2Eg.es.js +0 -242
  216. package/.chunks/core-DBWAn2Eg.es.js.map +0 -1
  217. package/.chunks/lazy-40pjr8cZ.es.js.map +0 -1
  218. package/.chunks/lazy-DSFLxvj4.amd.js +0 -2
  219. package/.chunks/lazy-DSFLxvj4.amd.js.map +0 -1
  220. package/.chunks/policy.vue_vue_type_style_index_0_lang-8Te7yOxJ.amd.js +0 -2
  221. package/.chunks/policy.vue_vue_type_style_index_0_lang-8Te7yOxJ.amd.js.map +0 -1
  222. package/.chunks/policy.vue_vue_type_style_index_0_lang-uPC0N7jl.es.js +0 -496
  223. package/.chunks/policy.vue_vue_type_style_index_0_lang-uPC0N7jl.es.js.map +0 -1
  224. package/.chunks/popup-CDaQNt-3.amd.js.map +0 -1
  225. package/.chunks/popup-COONSpqs.es.js.map +0 -1
  226. package/.chunks/utils-C2_4b48S.amd.js.map +0 -1
  227. package/.chunks/utils-DQ-xahGh.es.js.map +0 -1
  228. package/src/components/dialog/dialog.d.ts +0 -6
  229. package/src/components/forms/inputDate/types.d.ts +0 -1
  230. package/src/components/project/groupSelector/folders/utils.d.ts +0 -63
  231. package/src/components/project/groupSelector/groups/utils.d.ts +0 -92
  232. package/src/core/directives/tooltip.d.ts +0 -10
  233. package/src/core/utils/store.d.ts +0 -6
  234. /package/src/{api → src/api}/api/additional.d.ts +0 -0
  235. /package/src/{api → src/api}/api/client/client.d.ts +0 -0
  236. /package/src/{api → src/api}/api/client/request-options.d.ts +0 -0
  237. /package/src/{api → src/api}/api/client/request.d.ts +0 -0
  238. /package/src/{api → src/api}/api/index.d.ts +0 -0
  239. /package/src/{api → src/api}/api/mocker/index.d.ts +0 -0
  240. /package/src/{api → src/api}/api/tests/types.test-d.d.ts +0 -0
  241. /package/src/{api → src/api}/api/types/api.d.ts +0 -0
  242. /package/src/{api → src/api}/api/types/client/client.d.ts +0 -0
  243. /package/src/{api → src/api}/api/types/client/middleware.d.ts +0 -0
  244. /package/src/{api → src/api}/api/types/client/options.d.ts +0 -0
  245. /package/src/{api → src/api}/api/types/client/request-context.d.ts +0 -0
  246. /package/src/{api → src/api}/api/types/client/request-options.d.ts +0 -0
  247. /package/src/{api → src/api}/api/types/client/request.d.ts +0 -0
  248. /package/src/{api → src/api}/api/types/ext.d.ts +0 -0
  249. /package/src/{api → src/api}/api/types/field.d.ts +0 -0
  250. /package/src/{api → src/api}/api/types/index.d.ts +0 -0
  251. /package/src/{api → src/api}/api/types/mocker.d.ts +0 -0
  252. /package/src/{api → src/api}/api/types/schema.d.ts +0 -0
  253. /package/src/{api → src/api}/api/types/tv.d.ts +0 -0
  254. /package/src/{api → src/api}/api/types/utils.d.ts +0 -0
  255. /package/src/{api → src/api}/api/utils/common.d.ts +0 -0
  256. /package/src/{api → src/api}/api/utils/field.d.ts +0 -0
  257. /package/src/{api → src/api}/api/utils/filters.d.ts +0 -0
  258. /package/src/{api → src/api}/api/utils/lazy.d.ts +0 -0
  259. /package/src/{components → src/components}/charts/charts.d.ts +0 -0
  260. /package/src/{components → src/components}/charts/miniChart/miniChart.vue.d.ts +0 -0
  261. /package/src/{components → src/components}/charts/miniChart/types.d.ts +0 -0
  262. /package/src/{components → src/components}/charts/miniChart/utils/consts.d.ts +0 -0
  263. /package/src/{components → src/components}/charts/miniCharts/miniCharts.vue.d.ts +0 -0
  264. /package/src/{components → src/components}/core/notice/item/item.vue.d.ts +0 -0
  265. /package/src/{components → src/components}/core/notice/notice.vue.d.ts +0 -0
  266. /package/src/{components → src/components}/core/notice/types.d.ts +0 -0
  267. /package/src/{components → src/components}/dialog/dialog/composables/asyncDialogHandle.d.ts +0 -0
  268. /package/src/{components → src/components}/dialog/dialog/composables/types.d.ts +0 -0
  269. /package/src/{components → src/components}/dialog/dialog/composables/utils.d.ts +0 -0
  270. /package/src/{components → src/components}/dialog/dialog/dialog.vue.d.ts +0 -0
  271. /package/src/{components → src/components}/dialog/dialog/page/page.vue.d.ts +0 -0
  272. /package/src/{components → src/components}/dialog/dialog/page/types.d.ts +0 -0
  273. /package/src/{components → src/components}/dialog/dialog/pageComponent/pageComponent.vue.d.ts +0 -0
  274. /package/src/{components → src/components}/dialog/dialog/pageComponent/types.d.ts +0 -0
  275. /package/src/{components → src/components}/dialog/dialog/types.d.ts +0 -0
  276. /package/src/{components → src/components}/dialog/lib/types.d.ts +0 -0
  277. /package/src/{components → src/components}/dialog/lib/utils.d.ts +0 -0
  278. /package/src/{components → src/components}/dialog/lib/utils.globalEvents.d.ts +0 -0
  279. /package/src/{components → src/components}/extra/extra.d.ts +0 -0
  280. /package/src/{components → src/components}/extra/rive/rive.vue.d.ts +0 -0
  281. /package/src/{components → src/components}/extra/rive/types.d.ts +0 -0
  282. /package/src/{components → src/components}/forms/avatar/avatar.vue.d.ts +0 -0
  283. /package/src/{components → src/components}/forms/avatar/types.d.ts +0 -0
  284. /package/src/{components → src/components}/forms/button/button.vue.d.ts +0 -0
  285. /package/src/{components → src/components}/forms/caption/caption.vue.d.ts +0 -0
  286. /package/src/{components → src/components}/forms/caption/types.d.ts +0 -0
  287. /package/src/{components → src/components}/forms/checkbox/checkbox.vue.d.ts +0 -0
  288. /package/src/{components → src/components}/forms/checkbox/types.d.ts +0 -0
  289. /package/src/{components → src/components}/forms/controlLabel/controlLabel.vue.d.ts +0 -0
  290. /package/src/{components → src/components}/forms/controlLabel/types.d.ts +0 -0
  291. /package/src/{components → src/components}/forms/forms.d.ts +0 -0
  292. /package/src/{components → src/components}/forms/helpers.d.ts +0 -0
  293. /package/src/{components → src/components}/forms/hint/hint.vue.d.ts +0 -0
  294. /package/src/{components → src/components}/forms/hint/types.d.ts +0 -0
  295. /package/src/{components → src/components}/forms/input/input.vue.d.ts +0 -0
  296. /package/src/{components → src/components}/forms/inputDate/datepicker.d.ts +0 -0
  297. /package/src/{components → src/components}/forms/inputDate/inputDate.vue.d.ts +0 -0
  298. /package/src/{components → src/components}/forms/inputRange/inputRange.vue.d.ts +0 -0
  299. /package/src/{components → src/components}/forms/inputRange/types.d.ts +0 -0
  300. /package/src/{components → src/components}/forms/loadbar/loadbar.vue.d.ts +0 -0
  301. /package/src/{components → src/components}/forms/preloader/preloader.vue.d.ts +0 -0
  302. /package/src/{components → src/components}/forms/preloader/types.d.ts +0 -0
  303. /package/src/{components → src/components}/forms/radio/radio.vue.d.ts +0 -0
  304. /package/src/{components → src/components}/forms/radio/types.d.ts +0 -0
  305. /package/src/{components → src/components}/forms/select/select.vue.d.ts +0 -0
  306. /package/src/{components → src/components}/forms/switcher/switcher.vue.d.ts +0 -0
  307. /package/src/{components → src/components}/forms/switcher/types.d.ts +0 -0
  308. /package/src/{components → src/components}/forms/textarea/textarea.vue.d.ts +0 -0
  309. /package/src/{components → src/components}/forms/textarea/types.d.ts +0 -0
  310. /package/src/{components → src/components}/formsExt/checkboxGroup/checkboxGroup.vue.d.ts +0 -0
  311. /package/src/{components → src/components}/formsExt/checkboxGroup/types.d.ts +0 -0
  312. /package/src/{components → src/components}/formsExt/editArea/editArea.vue.d.ts +0 -0
  313. /package/src/{components → src/components}/formsExt/editInput/editInput.vue.d.ts +0 -0
  314. /package/src/{components → src/components}/formsExt/formsExt.d.ts +0 -0
  315. /package/src/{components → src/components}/formsExt/info/info.vue.d.ts +0 -0
  316. /package/src/{components → src/components}/formsExt/info/types.d.ts +0 -0
  317. /package/src/{components → src/components}/formsExt/libs/optionGroup/optionGroup.vue.d.ts +0 -0
  318. /package/src/{components → src/components}/formsExt/menu/menu.vue.d.ts +0 -0
  319. /package/src/{components → src/components}/formsExt/policy/types.d.ts +0 -0
  320. /package/src/{components → src/components}/formsExt/radioGroup/radioGroup.vue.d.ts +0 -0
  321. /package/src/{components → src/components}/formsExt/radioGroup/types.d.ts +0 -0
  322. /package/src/{components → src/components}/formsExt/selector2/cache.d.ts +0 -0
  323. /package/src/{components → src/components}/formsExt/selector2/itemMulti.vue.d.ts +0 -0
  324. /package/src/{components → src/components}/layout/islandRows/islandRows.vue.d.ts +0 -0
  325. /package/src/{components → src/components}/layout/islandRows/islandRowsRow/islandRowsRow.vue.d.ts +0 -0
  326. /package/src/{components → src/components}/layout/islandRows/islandRowsRow/types.d.ts +0 -0
  327. /package/src/{components → src/components}/layout/islandRows/islandRowsSubTitle/islandRowsSubTitle.vue.d.ts +0 -0
  328. /package/src/{components → src/components}/layout/islandRows/types.d.ts +0 -0
  329. /package/src/{components → src/components}/layout/layout.d.ts +0 -0
  330. /package/src/{components → src/components}/layout/rows/rows.vue.d.ts +0 -0
  331. /package/src/{components → src/components}/layout/rows/types.d.ts +0 -0
  332. /package/src/{components → src/components}/popup/lib/popup.globalEvents.d.ts +0 -0
  333. /package/src/{components → src/components}/popup/lib/worker.globalEvents.d.ts +0 -0
  334. /package/src/{components → src/components}/popup/popup/listItem.vue.d.ts +0 -0
  335. /package/src/{components → src/components}/popup/popup/opener/opener.vue.d.ts +0 -0
  336. /package/src/{components → src/components}/popup/popup/types.d.ts +0 -0
  337. /package/src/{components → src/components}/popup/popup.d.ts +0 -0
  338. /package/src/{components → src/components}/popup/popupAlert/popupAlert.vue.d.ts +0 -0
  339. /package/src/{components → src/components}/popup/popupAlert/types.d.ts +0 -0
  340. /package/src/{components → src/components}/popup/popupConfirm/types.d.ts +0 -0
  341. /package/src/{components → src/components}/popup/popupHint/popupHint.vue.d.ts +0 -0
  342. /package/src/{components → src/components}/popup/popupHint/types.d.ts +0 -0
  343. /package/src/{components → src/components}/popup/popupPrompt/popupPrompt.vue.d.ts +0 -0
  344. /package/src/{components → src/components}/popup/popupPrompt/types.d.ts +0 -0
  345. /package/src/{components → src/components}/popup/worker.d.ts +0 -0
  346. /package/src/{components → src/components}/project/competitorSelector/competitorSelector.vue.d.ts +0 -0
  347. /package/src/{components → src/components}/project/groupSelector/folders/folders.vue.d.ts +0 -0
  348. /package/src/{components → src/components}/project/groupSelector/stories/mocks/folders.d.ts +0 -0
  349. /package/src/{components → src/components}/project/groupSelector/stories/mocks/groups.d.ts +0 -0
  350. /package/src/{components → src/components}/project/regionSelector/composables/compare.d.ts +0 -0
  351. /package/src/{components → src/components}/project/regionSelector/composables/selectorRegion.d.ts +0 -0
  352. /package/src/{components → src/components}/project/regionSelector/dialog_regionSelectorRegions/dialog_regionSelectorRegions.vue.d.ts +0 -0
  353. /package/src/{components → src/components}/project/regionSelector/regionSelector.vue.d.ts +0 -0
  354. /package/src/{components → src/components}/project/regionSelector/utils/consts.d.ts +0 -0
  355. /package/src/{components → src/components}/project/tagSelector/popupListItem/tagPopupListItem.vue.d.ts +0 -0
  356. /package/src/{components → src/components}/project/tagSelector/popupListItem/types.d.ts +0 -0
  357. /package/src/{components → src/components}/project/tagSelector/popupOpener/popupOpener.vue.d.ts +0 -0
  358. /package/src/{components → src/components}/project/tagSelector/tagIcon/tagIcon.vue.d.ts +0 -0
  359. /package/src/{components → src/components}/project/tagSelector/tagIcon/types.d.ts +0 -0
  360. /package/src/{components → src/components}/project/tagSelector/tagSelector.vue.d.ts +0 -0
  361. /package/src/{components → src/components}/project/tagSelector/tagsDefaults.d.ts +0 -0
  362. /package/src/{components → src/components}/project/tagSelector/utils/utils.d.ts +0 -0
  363. /package/src/{components → src/components}/tabs/tabs/content.vue.d.ts +0 -0
  364. /package/src/{components → src/components}/tabs/tabs/tab.vue.d.ts +0 -0
  365. /package/src/{components → src/components}/tabs/tabs/tabs.vue.d.ts +0 -0
  366. /package/src/{components → src/components}/tabs/tabs/types.d.ts +0 -0
  367. /package/src/{components → src/components}/tabs/tabs.d.ts +0 -0
  368. /package/src/{components → src/components}/tabsView/tabsView/menuDelimeter.vue.d.ts +0 -0
  369. /package/src/{components → src/components}/tabsView/tabsView/menuItem.vue.d.ts +0 -0
  370. /package/src/{components → src/components}/tabsView/tabsView/menuTitle.vue.d.ts +0 -0
  371. /package/src/{components → src/components}/tabsView/tabsView/tabsView.vue.d.ts +0 -0
  372. /package/src/{components → src/components}/tabsView/tabsView/types.d.ts +0 -0
  373. /package/src/{components → src/components}/tabsView/tabsView/utils.d.ts +0 -0
  374. /package/src/{components → src/components}/tabsView/tabsView.d.ts +0 -0
  375. /package/src/{core → src/core}/core/events/resize.d.ts +0 -0
  376. /package/src/{core → src/core}/core/events.d.ts +0 -0
  377. /package/src/{core → src/core}/core/options.d.ts +0 -0
  378. /package/src/{core → src/core}/core/preloaders.d.ts +0 -0
  379. /package/src/{core → src/core}/core/state.d.ts +0 -0
  380. /package/src/{core → src/core}/directives/data.d.ts +0 -0
  381. /package/src/{core → src/core}/directives/focus.d.ts +0 -0
  382. /package/src/{core → src/core}/directives/preloader.d.ts +0 -0
  383. /package/src/{core → src/core}/directives/scrollIntoView.d.ts +0 -0
  384. /package/src/{core → src/core}/directives/scrollShadow.d.ts +0 -0
  385. /package/src/{core → src/core}/directives/sticky.d.ts +0 -0
  386. /package/src/{core → src/core}/directives/swimUp.d.ts +0 -0
  387. /package/src/{core → src/core}/plugins/i18n.d.ts +0 -0
  388. /package/src/{core → src/core}/plugins/piniaTPA.d.ts +0 -0
  389. /package/src/{core → src/core}/utils/check.d.ts +0 -0
  390. /package/src/{core → src/core}/utils/clipboard.d.ts +0 -0
  391. /package/src/{core → src/core}/utils/composables/useWatch.d.ts +0 -0
  392. /package/src/{core → src/core}/utils/date.d.ts +0 -0
  393. /package/src/{core → src/core}/utils/device.d.ts +0 -0
  394. /package/src/{core → src/core}/utils/dom.d.ts +0 -0
  395. /package/src/{core → src/core}/utils/image.d.ts +0 -0
  396. /package/src/{core → src/core}/utils/keyboard.d.ts +0 -0
  397. /package/src/{core → src/core}/utils/lodash.d.ts +0 -0
  398. /package/src/{core → src/core}/utils/number.d.ts +0 -0
  399. /package/src/{core → src/core}/utils/route.d.ts +0 -0
  400. /package/src/{core → src/core}/utils/scroll.d.ts +0 -0
  401. /package/src/{core → src/core}/utils/searchers.d.ts +0 -0
  402. /package/src/{core → src/core}/utils/store/localStorage.d.ts +0 -0
  403. /package/src/{core → src/core}/utils/store/plugin.d.ts +0 -0
  404. /package/src/{core → src/core}/utils/store/store.d.ts +0 -0
  405. /package/src/{core → src/core}/utils/string.d.ts +0 -0
  406. /package/src/{core → src/core}/utils/system.d.ts +0 -0
  407. /package/src/{core → src/core}/utils/tests/date/dateFormat.test.d.ts +0 -0
  408. /package/src/{core → src/core}/utils/url.d.ts +0 -0
@@ -3,37 +3,37 @@
3
3
  const fileNames = ['../assets/tabsView.css'].map(fileName => import.meta.resolve(fileName));
4
4
  _autoloadCSSCore.insertCSSLinkToPage(fileNames, true);
5
5
 
6
- import { watch as k, computed as I, ref as f, defineComponent as M, createBlock as m, openBlock as r, resolveDynamicComponent as B, normalizeClass as g, unref as s, withCtx as b, renderSlot as v, createElementBlock as p, createCommentVNode as S, mergeModels as R, useModel as C, useSlots as j, onMounted as x, onUnmounted as E, createElementVNode as y, toDisplayString as P, Fragment as F, createTextVNode as W, markRaw as J, createVNode as U, KeepAlive as q } from "vue";
7
- import { C as V, T as G, k as Q } from "../.chunks/forms-CUaoBGD5.es.js";
8
- import { getHash as O, genHash as X, setHash as Y, delHash as Z } from "../utils/route.js";
9
- import { u as ee, d as te } from "../.chunks/store-CX_6ZXhO.es.js";
10
- import { b as z, _ as oe } from "../.chunks/popupHint.vue_vue_type_style_index_0_lang-DzT1BFMx.es.js";
11
- import { sleepWhile as ae } from "../utils/system.js";
12
- const D = (t, o) => `top:${String(t)}:${o}`, ne = (t, o) => {
6
+ import { watch as M, computed as w, ref as h, defineComponent as I, openBlock as r, createBlock as m, resolveDynamicComponent as T, normalizeClass as g, unref as s, withCtx as _, renderSlot as f, createElementBlock as p, createCommentVNode as S, useModel as P, useSlots as A, createElementVNode as b, toDisplayString as L, Fragment as H, createTextVNode as j, mergeModels as B, markRaw as z, onUnmounted as F, createVNode as W, KeepAlive as x } from "vue";
7
+ import { C as $, T as J, k as U } from "../.chunks/forms-DtC-EKJL.es.js";
8
+ import { getHash as C, genHash as q, setHash as G, delHash as Q } from "../utils/route.js";
9
+ import { d as X, u as Y } from "../.chunks/store-CX_6ZXhO.es.js";
10
+ import { a as E, _ as Z } from "../.chunks/popupHint.vue_vue_type_style_index_0_lang-DAQIAxvu.es.js";
11
+ import { sleepWhile as ee } from "../utils/system.js";
12
+ const R = (t, o) => `top:${String(t)}:${o}`, te = (t, o) => {
13
13
  if (!o.$id) return;
14
- const e = D(t, o.$id);
14
+ const e = R(t, o.$id);
15
15
  try {
16
16
  const a = JSON.parse(localStorage.getItem(e));
17
17
  typeof a == typeof o[t] && (o[t] = a);
18
18
  } catch {
19
19
  console.warn(new Error(`В localStorage[${e}] не корректный json`));
20
20
  }
21
- }, se = (t, o) => {
21
+ }, oe = (t, o) => {
22
22
  if (!o.$id) return;
23
- const e = D(t, o.$id);
24
- k(() => o[t], () => {
23
+ const e = R(t, o.$id);
24
+ M(() => o[t], () => {
25
25
  localStorage.setItem(e, JSON.stringify(o[t]));
26
26
  }, { immediate: !0 });
27
- }, T = {
28
- loadLocalStorge: ne,
29
- addSaverLocalStorge: se
30
- }, H = /* @__PURE__ */ new Set();
27
+ }, N = {
28
+ loadLocalStorge: te,
29
+ addSaverLocalStorge: oe
30
+ }, D = /* @__PURE__ */ new Set();
31
31
  addEventListener("popstate", (t) => {
32
- H.forEach((o) => o(t));
32
+ D.forEach((o) => o(t));
33
33
  });
34
- const K = /* @__PURE__ */ Symbol(), ie = (t, o) => {
35
- const e = te(K, () => {
36
- const a = I(() => t.showMenuInPopup ?? V.state.isMobile), c = I(() => t.pageMod), d = f(!1), l = f(void 0), i = f(!0);
34
+ const K = Symbol(), ae = (t, o) => {
35
+ const e = X(K, () => {
36
+ const a = w(() => t.showMenuInPopup ?? $.state.isMobile), c = w(() => t.pageMod), d = h(!1), l = h(void 0), i = h(!0);
37
37
  return {
38
38
  showMenuInPopup: a,
39
39
  pageMod: c,
@@ -45,19 +45,19 @@ const K = /* @__PURE__ */ Symbol(), ie = (t, o) => {
45
45
  }, t.idState);
46
46
  if (t.isShortable) {
47
47
  const a = "isShort";
48
- T.loadLocalStorge(a, e), T.addSaverLocalStorge(a, e);
48
+ N.loadLocalStorge(a, e), N.addSaverLocalStorge(a, e);
49
49
  }
50
50
  if (e.$id) {
51
51
  const a = (c) => {
52
- o.value = O(e.$id);
52
+ o.value = C(e.$id);
53
53
  };
54
- H.add(a);
54
+ D.add(a);
55
55
  }
56
56
  return e;
57
- }, L = () => ee(K), le = {
57
+ }, V = () => Y(K), ne = {
58
58
  key: 1,
59
59
  class: "top-ellipsis"
60
- }, w = /* @__PURE__ */ M({
60
+ }, y = /* @__PURE__ */ I({
61
61
  __name: "menuItem",
62
62
  props: {
63
63
  name: {},
@@ -68,10 +68,10 @@ const K = /* @__PURE__ */ Symbol(), ie = (t, o) => {
68
68
  scrollable: { type: Boolean, default: !0 }
69
69
  },
70
70
  setup(t) {
71
- const o = t, e = L(), a = I(() => o.name && e.$id ? X(e.$id, o.name) : o.href), c = I(() => e.showMenuInPopup ? z : a ? "a" : "button"), d = (l) => {
71
+ const o = t, e = V(), a = w(() => o.name && e.$id ? q(e.$id, o.name) : o.href), c = w(() => e.showMenuInPopup ? E : a ? "a" : "button"), d = (l) => {
72
72
  !o.href && a.value && l.preventDefault(), o.name && (e.activeItemName = o.name);
73
73
  };
74
- return (l, i) => (r(), m(B(c.value), {
74
+ return (l, i) => (r(), m(T(c.value), {
75
75
  target: "_self",
76
76
  class: g({
77
77
  "top-tabsView_menuItem": !s(e).showMenuInPopup,
@@ -84,22 +84,22 @@ const K = /* @__PURE__ */ Symbol(), ie = (t, o) => {
84
84
  disabled: t.disabled || void 0,
85
85
  onClick: d
86
86
  }, {
87
- default: b(() => [
88
- s(e).showMenuInPopup ? v(l.$slots, "default", { key: 0 }) : l.$slots.default && !s(e).isShort ? (r(), p("span", le, [
89
- v(l.$slots, "default")
87
+ default: _(() => [
88
+ s(e).showMenuInPopup ? f(l.$slots, "default", { key: 0 }) : l.$slots.default && !s(e).isShort ? (r(), p("span", ne, [
89
+ f(l.$slots, "default")
90
90
  ])) : S("", !0)
91
91
  ]),
92
92
  _: 3
93
93
  }, 8, ["class", "href", "data-top-icon", "disabled"]));
94
94
  }
95
- }), A = (t) => t?.name === "AsyncComponentWrapper" && !t?.__asyncResolved, re = async (t, o) => {
96
- t?.name === "AsyncComponentWrapper" && (t?.__asyncResolved || (t.__asyncLoader(), await ae(() => o() && A(t), 200)));
97
- }, ce = { class: "top-tabsView_menuOpener" }, ue = ["data-top-icon"], de = { class: "top-ellipsis" }, pe = { class: "top-tabsView_menuList" }, me = {
95
+ }), O = (t) => t?.name === "AsyncComponentWrapper" && !t?.__asyncResolved, se = async (t, o) => {
96
+ t?.name === "AsyncComponentWrapper" && (t?.__asyncResolved || (t.__asyncLoader(), await ee(() => o() && O(t), 200)));
97
+ }, ie = { class: "top-tabsView_menuOpener" }, le = ["data-top-icon"], re = { class: "top-ellipsis" }, ce = { class: "top-tabsView_menuList" }, ue = {
98
98
  key: 0,
99
99
  class: "top-tabsView_menuFooter"
100
- }, fe = /* @__PURE__ */ M({
100
+ }, de = /* @__PURE__ */ I({
101
101
  __name: "menu",
102
- props: /* @__PURE__ */ R({
102
+ props: /* @__PURE__ */ B({
103
103
  isShortable: { type: Boolean },
104
104
  isLoading: { type: Boolean }
105
105
  }, {
@@ -108,38 +108,38 @@ const K = /* @__PURE__ */ Symbol(), ie = (t, o) => {
108
108
  }),
109
109
  emits: ["update:isLoading"],
110
110
  setup(t) {
111
- const o = C(t, "isLoading"), e = L(), a = j(), c = /* @__PURE__ */ new Map(), d = () => {
111
+ const o = P(t, "isLoading"), e = V(), a = A(), c = /* @__PURE__ */ new Map(), d = () => {
112
112
  if (!a.default) return;
113
113
  const u = a.default({}).find((n) => n.key === "_menu");
114
114
  u && l(u.children);
115
115
  }, l = (u) => {
116
116
  u.forEach((n) => {
117
- if (n.type.__name && n.type.__name !== w.__name) return;
117
+ if (n.type.__name && n.type.__name !== y.__name) return;
118
118
  if (!n.type.__name && typeof n.children == "object") {
119
119
  l(n.children);
120
120
  return;
121
121
  }
122
122
  if (!n.props?.name || n.props?.disabled) return;
123
- const N = {
123
+ const k = {
124
124
  title: (n.children.default?.()[0].children).trim(),
125
125
  icon: n.props.icon,
126
- component: n.props.component ? J(n.props.component) : w.props.component.default,
127
- scrollable: n.props.scrollable ?? w.props.scrollable.default
126
+ component: n.props.component ? z(n.props.component) : y.props.component.default,
127
+ scrollable: n.props.scrollable ?? y.props.scrollable.default
128
128
  };
129
- c.set(n.props.name, N);
129
+ c.set(n.props.name, k);
130
130
  });
131
- }, i = f(null);
132
- let h = 0;
133
- k(
131
+ }, i = h(null);
132
+ let v = 0;
133
+ return M(
134
134
  () => e.activeItemName,
135
135
  async () => {
136
- const u = ++h;
136
+ const u = ++v;
137
137
  if (c.size === 0 && d(), c.size === 0) {
138
138
  e.activeItemName = "";
139
139
  return;
140
140
  }
141
141
  if (i.value = c.get(e.activeItemName) ?? null, !i.value && e.$id) {
142
- const n = O(e.$id);
142
+ const n = C(e.$id);
143
143
  if (i.value = c.get(n) ?? null, i.value) {
144
144
  e.activeItemName = n;
145
145
  return;
@@ -153,21 +153,10 @@ const K = /* @__PURE__ */ Symbol(), ie = (t, o) => {
153
153
  o.value = !1;
154
154
  return;
155
155
  }
156
- e.$id && Y(e.$id, e.activeItemName, !1), o.value = !0, await re(i.value.component, () => u === h), u === h && (e.scrollable = i.value.scrollable, e.component = i.value.component, i.value && !e.component && console.warn(`Компонент вкладки ${e.activeItemName} не найден. Добавьте props.component для пункта меню ${e.activeItemName}.`));
156
+ e.$id && G(e.$id, e.activeItemName, !1), o.value = !0, await se(i.value.component, () => u === v), u === v && (e.scrollable = i.value.scrollable, e.component = i.value.component, i.value && !e.component && console.warn(`Компонент вкладки ${e.activeItemName} не найден. Добавьте props.component для пункта меню ${e.activeItemName}.`));
157
157
  },
158
158
  { immediate: !0 }
159
- );
160
- const _ = f();
161
- let $;
162
- return x(() => {
163
- $ = new ResizeObserver(() => {
164
- _.value.parentElement.style.setProperty("--top-tabsView-contents-offset-top", _.value.offsetHeight + "px");
165
- }), $.observe(_.value);
166
- }), E(() => {
167
- $.disconnect();
168
- }), (u, n) => (r(), p("div", {
169
- ref_key: "elRef",
170
- ref: _,
159
+ ), (u, n) => (r(), p("div", {
171
160
  class: g({
172
161
  "top-tabsView_menu": !0,
173
162
  "top-tabsView_menu-inPopup_0": !s(e).showMenuInPopup,
@@ -175,38 +164,38 @@ const K = /* @__PURE__ */ Symbol(), ie = (t, o) => {
175
164
  "top-tabsView_menu-short": s(e).isShort && !s(e).showMenuInPopup
176
165
  })
177
166
  }, [
178
- s(e).showMenuInPopup ? (r(), m(s(oe), { key: 0 }, {
179
- opener: b(() => [
180
- y("div", ce, [
167
+ s(e).showMenuInPopup ? (r(), m(s(Z), { key: 0 }, {
168
+ opener: _(() => [
169
+ b("div", ie, [
181
170
  i.value ? (r(), p("div", {
182
171
  key: 0,
183
172
  class: "top-tabsView_menuOpenerActiveItem",
184
173
  "data-top-icon": i.value.icon
185
174
  }, [
186
- y("span", de, P(i.value.title), 1)
187
- ], 8, ue)) : S("", !0),
188
- n[1] || (n[1] = y("div", {
175
+ b("span", re, L(i.value.title), 1)
176
+ ], 8, le)) : S("", !0),
177
+ n[1] || (n[1] = b("div", {
189
178
  class: "top-tabsView_menuOpenerIcon",
190
179
  "data-top-icon": ""
191
180
  }, null, -1))
192
181
  ])
193
182
  ]),
194
- contentList: b(() => [
195
- v(u.$slots, "default")
183
+ contentList: _(() => [
184
+ f(u.$slots, "default")
196
185
  ]),
197
186
  _: 3
198
- })) : (r(), p(F, { key: 1 }, [
199
- y("div", pe, [
200
- v(u.$slots, "default")
187
+ })) : (r(), p(H, { key: 1 }, [
188
+ b("div", ce, [
189
+ f(u.$slots, "default")
201
190
  ]),
202
- t.isShortable ? (r(), p("div", me, [
203
- t.isShortable ? (r(), m(w, {
191
+ t.isShortable ? (r(), p("div", ue, [
192
+ t.isShortable ? (r(), m(y, {
204
193
  key: 0,
205
194
  icon: s(e).isShort ? "" : "",
206
- onClick: n[0] || (n[0] = (N) => s(e).isShort = !s(e).isShort)
195
+ onClick: n[0] || (n[0] = (k) => s(e).isShort = !s(e).isShort)
207
196
  }, {
208
- default: b(() => [
209
- W(P(s(e).isShort ? "" : "Свернуть"), 1)
197
+ default: _(() => [
198
+ j(L(s(e).isShort ? "" : "Свернуть"), 1)
210
199
  ]),
211
200
  _: 1
212
201
  }, 8, ["icon"])) : S("", !0)
@@ -214,9 +203,9 @@ const K = /* @__PURE__ */ Symbol(), ie = (t, o) => {
214
203
  ], 64))
215
204
  ], 2));
216
205
  }
217
- }), $e = /* @__PURE__ */ M({
206
+ }), we = /* @__PURE__ */ I({
218
207
  __name: "tabsView",
219
- props: /* @__PURE__ */ R({
208
+ props: /* @__PURE__ */ B({
220
209
  modelValue: {},
221
210
  pageMod: { type: Boolean },
222
211
  showMenuInPopup: { type: Boolean, default: void 0 },
@@ -228,40 +217,40 @@ const K = /* @__PURE__ */ Symbol(), ie = (t, o) => {
228
217
  }),
229
218
  emits: ["update:modelValue"],
230
219
  setup(t) {
231
- const o = t, e = C(t, "modelValue"), a = ie(o, e), c = Math.random();
232
- o.pageMod && V.state.documentClassModificators.set(c, "top-hasTabsViewPageMod"), E(() => {
233
- o.pageMod && V.state.documentClassModificators.delete(c), a.$id && Z(a.$id, a.activeItemName, !0);
220
+ const o = t, e = P(t, "modelValue"), a = ae(o, e), c = Math.random();
221
+ o.pageMod && $.state.documentClassModificators.set(c, "top-hasTabsViewPageMod"), F(() => {
222
+ o.pageMod && $.state.documentClassModificators.delete(c), a.$id && Q(a.$id, a.activeItemName, !0);
234
223
  });
235
- const d = f(), l = f(!1);
236
- return k([d, () => a.component], () => {
237
- l.value = A(a.component);
238
- }, { immediate: !0 }), (i, h) => (r(), p("div", {
224
+ const d = h(), l = h(!1);
225
+ return M([d, () => a.component], () => {
226
+ l.value = O(a.component);
227
+ }, { immediate: !0 }), (i, v) => (r(), p("div", {
239
228
  class: g({
240
229
  "top-tabsView": !0,
241
230
  "top-tabsView-pageMod": o.pageMod,
242
231
  "top-tabsView-inPopup": s(a).showMenuInPopup
243
232
  })
244
233
  }, [
245
- U(fe, {
234
+ W(de, {
246
235
  isShortable: t.isShortable,
247
236
  isLoading: l.value,
248
- "onUpdate:isLoading": h[0] || (h[0] = (_) => l.value = _)
237
+ "onUpdate:isLoading": v[0] || (v[0] = (u) => l.value = u)
249
238
  }, {
250
- default: b(() => [
251
- v(i.$slots, "menu")
239
+ default: _(() => [
240
+ f(i.$slots, "menu")
252
241
  ]),
253
242
  _: 3
254
243
  }, 8, ["isShortable", "isLoading"]),
255
- y("div", {
244
+ b("div", {
256
245
  class: g({
257
246
  "top-tabsView_contents": !0,
258
247
  "top-tabsView_contents-isLoading": l.value,
259
248
  "top-tabsView_contents-noScrollable": !s(a).scrollable
260
249
  })
261
250
  }, [
262
- l.value ? (r(), m(G, { key: 0 })) : S("", !0),
263
- (r(), m(q, null, [
264
- (r(), m(B(s(a).component), {
251
+ l.value ? (r(), m(J, { key: 0 })) : S("", !0),
252
+ (r(), m(x, null, [
253
+ (r(), m(T(s(a).component), {
265
254
  ref_key: "componentRef",
266
255
  ref: d
267
256
  }, null, 512))
@@ -269,39 +258,39 @@ const K = /* @__PURE__ */ Symbol(), ie = (t, o) => {
269
258
  ], 2)
270
259
  ], 2));
271
260
  }
272
- }), ve = {}, he = { class: "top-tabsView_menuDelimeter" };
273
- function _e(t, o) {
274
- return r(), p("div", he);
261
+ }), pe = {}, me = { class: "top-tabsView_menuDelimeter" };
262
+ function fe(t, o) {
263
+ return r(), p("div", me);
275
264
  }
276
- const be = /* @__PURE__ */ Q(ve, [["render", _e]]), Ve = /* @__PURE__ */ M({
265
+ const ve = /* @__PURE__ */ U(pe, [["render", fe]]), Ie = /* @__PURE__ */ I({
277
266
  __name: "menuTitle",
278
267
  props: {
279
268
  isSubtitle: { type: Boolean }
280
269
  },
281
270
  setup(t) {
282
- const o = L();
283
- return (e, a) => s(o).showMenuInPopup ? (r(), m(s(z), {
271
+ const o = V();
272
+ return (e, a) => s(o).showMenuInPopup ? (r(), m(s(E), {
284
273
  key: 0,
285
274
  type: "title"
286
275
  }, {
287
- default: b(() => [
288
- v(e.$slots, "default")
276
+ default: _(() => [
277
+ f(e.$slots, "default")
289
278
  ]),
290
279
  _: 3
291
- })) : s(o).isShort ? (r(), m(be, { key: 1 })) : (r(), p("div", {
280
+ })) : s(o).isShort ? (r(), m(ve, { key: 1 })) : (r(), p("div", {
292
281
  key: 2,
293
282
  class: g({
294
283
  "top-tabsView_menuTitle": !0,
295
284
  "top-tabsView_menuTitle-subtitle": t.isSubtitle
296
285
  })
297
286
  }, [
298
- v(e.$slots, "default")
287
+ f(e.$slots, "default")
299
288
  ], 2));
300
289
  }
301
290
  });
302
291
  export {
303
- $e as TopTabsView,
304
- w as TopTabsViewMenuItem,
305
- Ve as TopTabsViewMenuTitle
292
+ we as TopTabsView,
293
+ y as TopTabsViewMenuItem,
294
+ Ie as TopTabsViewMenuTitle
306
295
  };
307
296
  //# sourceMappingURL=tabsView.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"tabsView.js","sources":["../../src/core/utils/store/localStorage.ts","../../src/components/tabsView/tabsView/store.ts","../../src/components/tabsView/tabsView/menuItem.vue","../../src/components/tabsView/tabsView/utils.ts","../../src/components/tabsView/tabsView/menu.vue","../../src/components/tabsView/tabsView/tabsView.vue","../../src/components/tabsView/tabsView/menuDelimeter.vue","../../src/components/tabsView/tabsView/menuTitle.vue"],"sourcesContent":["import { watch } from 'vue';\nimport type { Store } from './store';\n\n/**\n * Сгенерировать имя для сохранения данных в localStorage\n * @param stateName - имя свойства состояния\n * @param stateKey - ключ состояния, разные компоненты могут использовать одинаковый ключ\n */\nconst genStorageKey = <T extends Store>(stateName: keyof T, stateKey: string): string => {\n\tconst stateNameString = String(stateName);\n\n\treturn `top:${stateNameString}:${stateKey}`;\n};\n\n/**\n * Загрузить состояние\n * @param stateName - имя свойства состояния\n * @param store\n */\nconst loadLocalStorge = <T extends Store>(stateName: keyof T, store: T) => {\n\t// если Store.key не знадан, значит сохранение состояния в компоненте отключено\n\tif (!store.$id) return;\n\n\tconst localStorageKey = genStorageKey(stateName, store.$id);\n\n\ttry {\n\t\tconst localStorageValue: typeof store[keyof typeof store] = JSON.parse(localStorage.getItem(localStorageKey) as string);\n\n\t\tif (typeof localStorageValue === typeof store[stateName]) {\n\t\t\tstore[stateName] = localStorageValue;\n\t\t}\n\t} catch (e) {\n\t\tconsole.warn(new Error(`В localStorage[${localStorageKey}] не корректный json`));\n\t}\n};\n\n/**\n * Добавить автосохранение состояние при его изменении\n * @param stateName - имя свойства состояния\n * @param store\n */\nconst addSaverLocalStorge = <T extends Store>(stateName: keyof T, store: T) => {\n\t// если store.$id не знадан, значит сохранение состояния в компоненте отключено\n\tif (!store.$id) return;\n\n\tconst localStorageKey = genStorageKey(stateName, store.$id);\n\n\twatch(() => store[stateName], () => {\n\t\tlocalStorage.setItem(localStorageKey, JSON.stringify(store[stateName]));\n\t}, { immediate: true });\n};\n\nexport default {\n\tloadLocalStorge,\n\taddSaverLocalStorge,\n};","import type { InjectionKey, ModelRef, UnwrapNestedRefs } from 'vue';\nimport { computed, ref } from 'vue';\nimport Core from '@/core/core/core';\nimport { defineStore, useStore, type Store as DefineStore } from '@/core/utils/store';\nimport StoreLocalStorage from '@/core/utils/store/localStorage';\nimport type { Props, Store } from './types';\nimport { getHash } from '@/core/utils/route';\n\nconst popstateCallbacks = new Set<(e: PopStateEvent) => void>();\n\naddEventListener('popstate', (e) => {\n\tpopstateCallbacks.forEach(popstateCallback => popstateCallback(e));\n});\n\nexport const injectionKey = Symbol() as InjectionKey<Store>;\n\n/**\n * Инициировать Store компонента\n */\nexport const defineTabsStore = (props: Props, model: ModelRef<string | undefined>): UnwrapNestedRefs<Store> & DefineStore => {\n\tconst store = defineStore(injectionKey, () => {\n\t\tconst showMenuInPopup = computed(() => props.showMenuInPopup ?? Core.state.isMobile);\n\t\tconst pageMod = computed(() => props.pageMod);\n\t\tconst isShort = ref(false);\n\n\t\tconst component = ref(undefined);\n\t\tconst scrollable = ref(true);\n\n\t\treturn {\n\t\t\tshowMenuInPopup,\n\t\t\tpageMod,\n\t\t\tisShort,\n\t\t\tactiveItemName: model,\n\t\t\tcomponent,\n\t\t\tscrollable,\n\t\t};\n\t}, props.idState);\n\n\tif (props.isShortable) {\n\t\tconst stateName = 'isShort';\n\n\t\tStoreLocalStorage.loadLocalStorge(stateName, store);\n\t\tStoreLocalStorage.addSaverLocalStorge(stateName, store);\n\t}\n\n\tif (store.$id) {\n\t\tconst popstateCallback = (_e: PopStateEvent) => {\n\t\t\tmodel.value = getHash(store.$id!);\n\t\t};\n\n\t\tpopstateCallbacks.add(popstateCallback);\n\t}\n\n\treturn store;\n};\n\n/**\n * Получить Store компонента\n */\nexport const useTabsStore = () => useStore(injectionKey);\n","<script setup lang=\"ts\">\nimport { computed } from 'vue';\nimport { genHash } from '@/core/utils/route';\nimport { TopPopupListItem } from '@/components/popup/popup';\nimport { useTabsStore } from './store';\nimport type { PropsMenuItem } from './types';\n\nconst props = withDefaults(defineProps<PropsMenuItem>(), {\n\tscrollable: true,\n\tcomponent: undefined,\n});\n\nconst store = useTabsStore();\n\nconst href = computed(() => {\n\t// это внутренняя хеш навигация, ссылка на вкладку\n\tif (props.name && store.$id) {\n\t\treturn genHash(store.$id, props.name);\n\t}\n\n\treturn props.href;\n});\n\nconst tagName = computed(() => {\n\tif (store.showMenuInPopup) {\n\t\treturn TopPopupListItem;\n\t}\n\n\treturn href ? 'a' : 'button';\n});\n\n/**\n * Клик по элементу меню\n */\nconst onClick = (e: MouseEvent) => {\n\t// это внутренняя хеш навигация, ссылка на вкладку\n\tif (!props.href && href.value) {\n\t\te.preventDefault();\n\t}\n\n\tif (props.name) {\n\t\tstore.activeItemName = props.name;\n\t}\n};\n</script>\n\n<template>\n\t<component\n\t\t:is=\"tagName\"\n\t\ttarget=\"_self\"\n\t\t:class=\"{\n\t\t\t['top-tabsView_menuItem']: !store.showMenuInPopup,\n\t\t\t['top-active']: name && store.activeItemName === name,\n\t\t\t['top-disabled']: disabled,\n\t\t\t['top-spa-disabled']: true,\n\t\t}\"\n\t\t:href=\"href\"\n\t\t:data-top-icon=\"icon || undefined\"\n\t\t:disabled=\"disabled || undefined\"\n\t\t@click=\"onClick\"\n\t>\n\t\t<slot name=\"default\" v-if=\"store.showMenuInPopup\"></slot>\n\n\t\t<span\n\t\t\tv-else-if=\"$slots.default && !store.isShort\"\n\t\t\tclass=\"top-ellipsis\"\n\t\t>\n\t\t\t<slot name=\"default\"></slot>\n\t\t</span>\n\t</component>\n</template>\n\n<style>\n.top-tabsView_menuItem {\n\t--top-icon-color: var(--color-text-2);\n\t--top-icon-width: calc(var(--top-icon-size));\n\n\tcursor: pointer;\n\tbox-sizing: border-box;\n\n\tborder: none;\n\tborder-radius: var(--top-radius-2);\n\tpadding: var(--top-padding-2);\n\tbackground: transparent;\n\theight: 40px;\n\n\tcolor: var(--color-text-1);\n\ttext-decoration: none;\n\twhite-space: nowrap;\n\n\tdisplay: flex;\n\tgap: var(--top-gap-2);\n\talign-items: center;\n\tjustify-content: flex-start;\n\ttransition: background var(--transition);\n}\n\n.top-tabsView_menuItem:hover {\n\t--top-icon-color: var(--color-text-1);\n\n\tbackground: var(--color-bg-shading-1);\n\ttext-decoration: none;\n}\n\n.top-tabsView_menuItem.top-active {\n\t--top-icon-color: inherit;\n\n\tbackground: var(--color-layout-front-1);\n\tcolor: inherit;\n}\n\n.top-tabsView_menuItem:disabled:not(option):not(optgroup):not(.top-forms-option),\n.top-tabsView_menuItem:disabled ~ .top-formsCaption,\n.top-tabsView_menuItem.top-disabled[data-top-icon]:before,\n.top-tabsView_menuItem.top-disabled[data-top-icon2]:after {\n\topacity: unset;\n\tfilter: unset;\n}\n\n.top-tabsView_menuItem.top-disabled {\n\t--top-icon-color: var(--color-text-4);\n\n\tcolor: var(--color-text-4);\n}\n</style>\n","// TODO: Эту функцию можно вынести в глобальный utils\n\nimport { sleepWhile } from '@/core/utils/system';\n\n/**\n * Проверка нахождения компонента в состояние загрузки\n * @param component\n */\nexport const checkComponentIsLoading = (component: any) => {\n\treturn component?.name === 'AsyncComponentWrapper' && !component?.__asyncResolved;\n};\n\n/**\n * Презагрузить компонент\n *\n * Некоторое время ожидает загрузку компонента, прежде чем завершит работу\n */\nexport const preResolveComponent = async (component: any, condition: Function) => {\n\tif (component?.name !== 'AsyncComponentWrapper') return;\n\tif (component?.__asyncResolved) return;\n\n\tcomponent.__asyncLoader();\n\n\tawait sleepWhile(() => {\n\t\treturn condition() && checkComponentIsLoading(component);\n\t}, 200);\n};\n","<script setup lang=\"ts\">\nimport type { Ref, VNode } from 'vue';\nimport { markRaw, onMounted, onUnmounted, ref, useSlots, watch } from 'vue';\nimport { TopPopup } from '../../popup/popup';\nimport { getHash, setHash } from '@/core/utils/route';\n\nimport type { MenuItem, PropsMenu, PropsMenuItem } from './types';\nimport { useTabsStore } from './store';\nimport TabsViewMenuItem from './menuItem.vue';\nimport { preResolveComponent } from './utils';\n\ndefineProps<PropsMenu>();\n\nconst isLoading = defineModel('isLoading');\n\nconst store = useTabsStore();\n\nconst slots = useSlots();\n\n// словарь используется для оптимизации получения нужного menuItem\nconst menuItemByName: Map<PropsMenuItem['name'], MenuItem> = new Map();\n\n// заполнить словарь с menuItem, по элементам в slot default\nconst setMenuItemByName = () => {\n\tif (!slots.default) return;\n\n\tconst component: any = slots.default({}).find(item => item.key === '_menu');\n\tif (!component) return;\n\n\tsetMenuItemByNameFromItems(component.children);\n};\n\n// заполнить словарь с menuItem, по элементам\nconst setMenuItemByNameFromItems = (menuItems: VNode[]) => {\n\tmenuItems.forEach((subComponent: any) => {\n\t\t// это не компонент элемента меню\n\t\tif (subComponent.type.__name && subComponent.type.__name !== TabsViewMenuItem.__name) return;\n\n\t\t// это не компонент, например template\n\t\tif (!subComponent.type.__name && typeof subComponent.children === 'object') {\n\t\t\tsetMenuItemByNameFromItems(subComponent.children);\n\n\t\t\treturn;\n\t\t}\n\n\t\tif (!subComponent.props?.name || subComponent.props?.disabled) return;\n\n\t\tconst menuItem: MenuItem = {\n\t\t\ttitle: (subComponent.children.default?.()[0].children as string).trim(),\n\t\t\ticon: subComponent.props.icon,\n\t\t\tcomponent: subComponent.props.component ? markRaw(subComponent.props.component) : TabsViewMenuItem.props.component.default,\n\t\t\tscrollable: subComponent.props.scrollable ?? TabsViewMenuItem.props.scrollable.default,\n\t\t};\n\n\t\tmenuItemByName.set(subComponent.props.name, menuItem);\n\t});\n};\n\n/**\n * activeMenuItem нужен:\n * - для вывода текста активной вкладки в меню с popup\n * - для вывода компонента активной вкладки (store.component)\n * - для установки store.scrollable\n */\nconst activeMenuItem: Ref<MenuItem | null> = ref(null);\n\n/**\n * Кол-во изменений активной вкладки\n */\nlet countChanged = 0;\n\n/**\n * Смена активной вкладки\n *\n * TODO: смена slot, например смена языка, требует повторного выполнения setMenuItemByName()\n */\nwatch(\n\t() => store.activeItemName,\n\tasync () => {\n\t\tconst numberChanged = ++countChanged; // порядковый номер текущего изменения\n\n\t\tif (menuItemByName.size === 0) {\n\t\t\tsetMenuItemByName();\n\t\t}\n\n\t\tif (menuItemByName.size === 0) {\n\t\t\tstore.activeItemName = '';\n\n\t\t\treturn;\n\t\t}\n\n\t\tactiveMenuItem.value = menuItemByName.get(store.activeItemName) ?? null;\n\n\t\t// элемент не найден, установить из хеша страницы\n\t\tif (!activeMenuItem.value && store.$id) {\n\t\t\tconst activeItemName = getHash(store.$id);\n\n\t\t\tactiveMenuItem.value = menuItemByName.get(activeItemName) ?? null;\n\n\t\t\tif (activeMenuItem.value) {\n\t\t\t\tstore.activeItemName = activeItemName;\n\n\t\t\t\treturn;\n\t\t\t}\n\t\t}\n\n\t\t// элемент не найден, установить первый доступный\n\t\tif (!activeMenuItem.value) {\n\t\t\tstore.activeItemName = menuItemByName.keys().next().value!;\n\n\t\t\treturn;\n\t\t}\n\n\t\t// запрошена смена на уже активный элемент\n\t\tif (activeMenuItem.value.component === store.component) {\n\t\t\tisLoading.value = false;\n\n\t\t\treturn;\n\t\t}\n\n\t\tif (store.$id) setHash(store.$id, store.activeItemName, false);\n\n\t\t// флаг загрузки будет сброшен при инициализации компонента\n\t\tisLoading.value = true;\n\n\t\t/**\n\t\t * Презагрузить компонент\n\t\t *\n\t\t * Нужно для того, чтобы минимизировать скачки интерфейса при ожидании загрузки асинхронного компонента\n\t\t */\n\t\tawait preResolveComponent(activeMenuItem.value.component, () => numberChanged === countChanged);\n\n\t\t// влкадка была сменена еще раз во время sleepWhile\n\t\tif (numberChanged !== countChanged) {\n\t\t\treturn;\n\t\t}\n\n\t\tstore.scrollable = activeMenuItem.value.scrollable;\n\t\tstore.component = activeMenuItem.value.component;\n\n\t\tif (activeMenuItem.value && !store.component) {\n\t\t\tconsole.warn(`Компонент вкладки ${store.activeItemName} не найден. Добавьте props.component для пункта меню ${store.activeItemName}.`);\n\t\t}\n\t},\n\t{ immediate: true },\n);\n\nconst elRef = ref();\nlet resizeObserver: ResizeObserver;\n\nonMounted(() => {\n\tresizeObserver = new ResizeObserver(() => {\n\t\telRef.value.parentElement.style.setProperty('--top-tabsView-contents-offset-top', elRef.value.offsetHeight + 'px');\n\t});\n\n\tresizeObserver.observe(elRef.value);\n});\n\nonUnmounted(() => {\n\tresizeObserver.disconnect();\n});\n</script>\n\n<template>\n\t<div\n\t\tref=\"elRef\"\n\t\t:class=\"{\n\t\t\t'top-tabsView_menu': true,\n\t\t\t'top-tabsView_menu-inPopup_0': !store.showMenuInPopup,\n\t\t\t'top-tabsView_menu-inPopup_1': store.showMenuInPopup,\n\t\t\t'top-tabsView_menu-short': store.isShort && !store.showMenuInPopup,\n\t\t}\"\n\t>\n\t\t<!-- Спрятать меню под кнопку в popup -->\n\t\t<TopPopup v-if=\"store.showMenuInPopup\">\n\t\t\t<template #opener>\n\t\t\t\t<div class=\"top-tabsView_menuOpener\">\n\t\t\t\t\t<div\n\t\t\t\t\t\tv-if=\"activeMenuItem\"\n\t\t\t\t\t\tclass=\"top-tabsView_menuOpenerActiveItem\"\n\t\t\t\t\t\t:data-top-icon=\"activeMenuItem.icon\"\n\t\t\t\t\t>\n\t\t\t\t\t\t<span class=\"top-ellipsis\">\n\t\t\t\t\t\t\t{{ activeMenuItem.title }}\n\t\t\t\t\t\t</span>\n\t\t\t\t\t</div>\n\n\t\t\t\t\t<div class=\"top-tabsView_menuOpenerIcon\" data-top-icon=\"\"></div>\n\t\t\t\t</div>\n\t\t\t</template>\n\n\t\t\t<template #contentList>\n\t\t\t\t<slot></slot>\n\t\t\t</template>\n\t\t</TopPopup>\n\n\t\t<!-- Отобразить меню на странице -->\n\t\t<template v-else>\n\t\t\t<div class=\"top-tabsView_menuList\">\n\t\t\t\t<slot></slot>\n\t\t\t</div>\n\n\t\t\t<div\n\t\t\t\tv-if=\"isShortable\"\n\t\t\t\tclass=\"top-tabsView_menuFooter\"\n\t\t\t>\n\t\t\t\t<TabsViewMenuItem\n\t\t\t\t\tv-if=\"isShortable\"\n\t\t\t\t\t:icon=\"store.isShort ? '' : ''\"\n\t\t\t\t\t@click=\"store.isShort = !store.isShort\"\n\t\t\t\t>\n\t\t\t\t\t{{ store.isShort ? '' : 'Свернуть' }} <!--TODO: translate-->\n\t\t\t\t</TabsViewMenuItem>\n\t\t\t</div>\n\t\t</template>\n\t</div>\n</template>\n\n<style>\n/* режим отображение табов в основной области документа */\n.top-tabsView-pageMod .top-tabsView_menu {\n\tbox-sizing: border-box;\n\tposition: sticky;\n\ttop: var(--top-tabsView-top);\n\tz-index: 10;\n}\n\n/* режим отображение табов в основной области документа без popup */\n.top-tabsView-pageMod .top-tabsView_menu-inPopup_0 {\n\theight: calc(var(--100vh) - var(--top-tabsView-top));\n}\n\n/* стантартный режим */\n.top-tabsView_menu-inPopup_0 {\n\tbox-sizing: border-box;\n\twidth: var(--top-tabsView-menu-width);\n\tdisplay: flex;\n\tflex-direction: column;\n\tjustify-content: space-between;\n\tflex-shrink: 0;\n}\n\n/* режим вывода в popup */\n.top-tabsView_menu-inPopup_1 {\n\tborder-bottom: 1px solid var(--color-line-2-opacity);\n}\n\n.top-tabsView_menu-short {\n\twidth: auto;\n}\n\n.top-tabsView_menu > .top-tabsView_menuOpener {\n\tdisplay: flex;\n\tjustify-content: flex-end;\n}\n\n.top-tabsView_menu > .top-tabsView_menuOpener:hover {\n\tbackground: var(--color-layer-1);\n}\n\n.top-tabsView_menuOpenerIcon { display: flex; }\n\n.top-tabsView_menuOpenerActiveItem {\n\t--top-forms-padding: 0px;\n\n\tbox-sizing: border-box;\n\tpadding: var(--top-padding-2);\n\tmax-width: calc(100% - var(--top-forms-base-height));\n\twhite-space: nowrap;\n\tflex-grow: 1;\n\tdisplay: flex;\n\talign-items: center;\n\tgap: var(--top-padding-2);\n}\n\n.top-tabsView_menuList,\n.top-tabsView_menuFooter {\n\tpadding: var(--top-padding-2);\n\tdisplay: flex;\n\tflex-direction: column;\n\tgap: var(--top-gap-2);\n}\n\n.top-tabsView_menuList {\n\toverflow-y: auto;\n}\n\n.top-tabsView_menu-short .top-tabsView_menuFooter > .top-tabsView_menuItem {\n\t--top-icon-width: 100%;\n}\n</style>\n","<script setup lang=\"ts\">\nimport { defineModel, onUnmounted, ref, watch } from 'vue';\nimport Core from '@/core/core/core';\nimport { delHash } from '@/core/utils/route';\nimport type { Props } from './types';\nimport { defineTabsStore } from './store';\nimport TabsViewMenu from './menu.vue';\nimport TopLoadbar from '@/components/forms/loadbar/loadbar.vue';\nimport { checkComponentIsLoading } from './utils';\n\nconst props = withDefaults(defineProps<Props>(), {\n\tshowMenuInPopup: undefined,\n\tisShortable: false,\n});\n\nconst model = defineModel<string>();\n\nconst store = defineTabsStore(props, model);\n\nconst uid = Math.random();\n\nif (props.pageMod) Core.state.documentClassModificators.set(uid, 'top-hasTabsViewPageMod');\n\nonUnmounted(() => {\n\tif (props.pageMod) Core.state.documentClassModificators.delete(uid);\n\n\tif (store.$id) delHash(store.$id, store.activeItemName, true);\n});\n\nconst componentRef = ref();\nconst isLoading = ref(false);\n\nwatch([componentRef, () => store.component], () => {\n\tisLoading.value = checkComponentIsLoading(store.component);\n}, { immediate: true });\n</script>\n\n<template>\n\t<div\n\t\t:class=\"{\n\t\t\t'top-tabsView': true,\n\t\t\t'top-tabsView-pageMod': props.pageMod,\n\t\t\t'top-tabsView-inPopup': store.showMenuInPopup,\n\t\t}\"\n\t>\n\t\t<TabsViewMenu\n\t\t\t:isShortable=\"isShortable\"\n\t\t\tv-model:isLoading=\"isLoading\"\n\t\t>\n\t\t\t<!-- @slot Меню, ожидает передачу компонентов TabsViewMenuItem и TabsViewMenuTitle -->\n\t\t\t<slot name=\"menu\"></slot>\n\t\t</TabsViewMenu>\n\n\t\t<div\n\t\t\t:class=\"{\n\t\t\t\t'top-tabsView_contents': true,\n\t\t\t\t'top-tabsView_contents-isLoading': isLoading,\n\t\t\t\t'top-tabsView_contents-noScrollable': !store.scrollable,\n\t\t\t}\"\n\t\t>\n\t\t\t<TopLoadbar v-if=\"isLoading\"/>\n\n\t\t\t<keep-alive>\n\t\t\t\t<component\n\t\t\t\t\tref=\"componentRef\"\n\t\t\t\t\t:is=\"store.component\"\n\t\t\t\t/>\n\t\t\t</keep-alive>\n\t\t</div>\n\t</div>\n</template>\n\n<style>\n:root {\n\t--top-tabsView-top: 0px;\n\t--top-tabsView-menu-width: 220px;\n\t--top-tabsView-contents-offset-top: 0px;\n}\n\n.top-tabsView {\n\tbackground: var(--color-layout-middle);\n\twidth: 100%;\n\theight: 100%;\n\tdisplay: flex;\n\tflex-direction: row;\n}\n\n.top-tabsView_contents {\n\tborder-radius: var(--top-radius-4);\n\tbackground: var(--color-layout-front-1);\n\tpadding: var(--top-padding-4);\n\tflex-grow: 1;\n\toverflow: auto;\n\tposition: relative;\n}\n\n.top-tabsView_contents-isLoading {\n\tpointer-events: none;\n}\n\n.top-tabsView_contents-noScrollable {\n\twidth: calc(100% - var(--top-tabsView-menu-width));\n\tpadding: 0;\n\toverflow: visible;\n}\n\n/* top-tabsView-inPopup */\n.top-tabsView-inPopup {\n\tbackground: var(--color-layout-front-1);\n\tflex-direction: column;\n}\n\n.top-tabsView-inPopup > .top-tabsView_contents {\n\tborder-radius: 0;\n}\n\n.top-tabsView-inPopup > .top-tabsView_contents-noScrollable {\n\twidth: auto;\n}\n</style>\n","<script setup lang=\"ts\">\n\n</script>\n\n<template>\n\t<div class=\"top-tabsView_menuDelimeter\"></div>\n</template>\n\n<style>\n.top-tabsView_menuDelimeter {\n\tpadding: var(--top-padding-1) 0;\n\tdisplay: flex;\n}\n\n.top-tabsView_menuDelimeter:before {\n\tcontent: \"\";\n\theight: 2px;\n\tbackground: var(--color-line-2);\n\tflex-grow: 1;\n}\n\n.top-tabsView_menuDelimeter:first-child,\n.top-tabsView_menuDelimeter + .top-tabsView_menuDelimeter {\n\tdisplay: none;\n}\n</style>\n","<script setup lang=\"ts\">\nimport { useTabsStore } from './store';\nimport type { PropsMenuTitle } from './types';\nimport TabsViewMenuDelimeter from './menuDelimeter.vue';\nimport { TopPopupListItem } from '../../popup/popup';\n\ndefineProps<PropsMenuTitle>();\n\nconst store = useTabsStore();\n</script>\n\n<template>\n\t<TopPopupListItem\n\t\tv-if=\"store.showMenuInPopup\"\n\t\ttype=\"title\"\n\t>\n\t\t<slot></slot>\n\t</TopPopupListItem>\n\n\t<TabsViewMenuDelimeter v-else-if=\"store.isShort\"/>\n\n\t<div\n\t\tv-else\n\t\t:class=\"{\n\t\t\t'top-tabsView_menuTitle': true,\n\t\t\t'top-tabsView_menuTitle-subtitle': isSubtitle,\n\t\t}\"\n\t>\n\t\t<slot></slot>\n\t</div>\n</template>\n\n<style>\n.top-tabsView_menuTitle {\n\tpadding: var(--top-padding-4) var(--top-padding-2) var(--top-padding-1);\n\tfont-weight: 600;\n\tcolor: var(--color-text-1);\n}\n\n.top-tabsView_menuTitle-subtitle {\n\tpadding-top: var(--top-padding-1);\n\tfont-size: 12px;\n\tfont-weight: 400;\n\tcolor: var(--color-text-2);\n}\n</style>\n"],"names":["genStorageKey","stateName","stateKey","loadLocalStorge","store","localStorageKey","localStorageValue","addSaverLocalStorge","watch","StoreLocalStorage","popstateCallbacks","e","popstateCallback","injectionKey","defineTabsStore","props","model","defineStore","showMenuInPopup","computed","Core","pageMod","isShort","ref","component","scrollable","_e","getHash","useTabsStore","useStore","__props","href","genHash","tagName","TopPopupListItem","onClick","_openBlock","_createBlock","_resolveDynamicComponent","_normalizeClass","_unref","_renderSlot","_ctx","$slots","_createElementBlock","_hoisted_1","checkComponentIsLoading","preResolveComponent","condition","sleepWhile","isLoading","_useModel","slots","useSlots","menuItemByName","setMenuItemByName","item","setMenuItemByNameFromItems","menuItems","subComponent","TabsViewMenuItem","menuItem","markRaw","activeMenuItem","countChanged","numberChanged","activeItemName","setHash","elRef","resizeObserver","onMounted","onUnmounted","TopPopup","_createElementVNode","_hoisted_3","_toDisplayString","_Fragment","_hoisted_4","_hoisted_5","_createTextVNode","uid","delHash","componentRef","_createVNode","TabsViewMenu","$event","TopLoadbar","_KeepAlive","TabsViewMenuDelimeter"],"mappings":"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"}
1
+ {"version":3,"file":"tabsView.js","sources":["../../src/core/utils/store/localStorage.ts","../../src/components/tabsView/tabsView/store.ts","../../src/components/tabsView/tabsView/menuItem.vue","../../src/components/tabsView/tabsView/utils.ts","../../src/components/tabsView/tabsView/menu.vue","../../src/components/tabsView/tabsView/tabsView.vue","../../src/components/tabsView/tabsView/menuDelimeter.vue","../../src/components/tabsView/tabsView/menuTitle.vue"],"sourcesContent":["import { watch } from 'vue';\nimport type { Store } from './store';\n\n/**\n * Сгенерировать имя для сохранения данных в localStorage\n * @param stateName - имя свойства состояния\n * @param stateKey - ключ состояния, разные компоненты могут использовать одинаковый ключ\n */\nconst genStorageKey = <T extends Store>(stateName: keyof T, stateKey: string): string => {\n\tconst stateNameString = String(stateName);\n\n\treturn `top:${stateNameString}:${stateKey}`;\n};\n\n/**\n * Загрузить состояние\n * @param stateName - имя свойства состояния\n * @param store\n */\nconst loadLocalStorge = <T extends Store>(stateName: keyof T, store: T) => {\n\t// если Store.key не знадан, значит сохранение состояния в компоненте отключено\n\tif (!store.$id) return;\n\n\tconst localStorageKey = genStorageKey(stateName, store.$id);\n\n\ttry {\n\t\tconst localStorageValue: typeof store[keyof typeof store] = JSON.parse(localStorage.getItem(localStorageKey) as string);\n\n\t\tif (typeof localStorageValue === typeof store[stateName]) {\n\t\t\tstore[stateName] = localStorageValue;\n\t\t}\n\t} catch (e) {\n\t\tconsole.warn(new Error(`В localStorage[${localStorageKey}] не корректный json`));\n\t}\n};\n\n/**\n * Добавить автосохранение состояние при его изменении\n * @param stateName - имя свойства состояния\n * @param store\n */\nconst addSaverLocalStorge = <T extends Store>(stateName: keyof T, store: T) => {\n\t// если store.$id не знадан, значит сохранение состояния в компоненте отключено\n\tif (!store.$id) return;\n\n\tconst localStorageKey = genStorageKey(stateName, store.$id);\n\n\twatch(() => store[stateName], () => {\n\t\tlocalStorage.setItem(localStorageKey, JSON.stringify(store[stateName]));\n\t}, { immediate: true });\n};\n\nexport default {\n\tloadLocalStorge,\n\taddSaverLocalStorge,\n};","import type { InjectionKey, ModelRef, UnwrapNestedRefs } from 'vue';\nimport { computed, ref } from 'vue';\nimport Core from '@/core/core/core';\nimport { defineStore, useStore, type Store as DefineStore } from '@/core/utils/store';\nimport StoreLocalStorage from '@/core/utils/store/localStorage';\nimport type { Props, Store } from './types';\nimport { getHash } from '@/core/utils/route';\n\nconst popstateCallbacks = new Set<(e: PopStateEvent) => void>();\n\naddEventListener('popstate', (e) => {\n\tpopstateCallbacks.forEach(popstateCallback => popstateCallback(e));\n});\n\nexport const injectionKey = Symbol() as InjectionKey<Store>;\n\n/**\n * Инициировать Store компонента\n */\nexport const defineTabsStore = (props: Props, model: ModelRef<string | undefined>): UnwrapNestedRefs<Store> & DefineStore => {\n\tconst store = defineStore(injectionKey, () => {\n\t\tconst showMenuInPopup = computed(() => props.showMenuInPopup ?? Core.state.isMobile);\n\t\tconst pageMod = computed(() => props.pageMod);\n\t\tconst isShort = ref(false);\n\n\t\tconst component = ref(undefined);\n\t\tconst scrollable = ref(true);\n\n\t\treturn {\n\t\t\tshowMenuInPopup,\n\t\t\tpageMod,\n\t\t\tisShort,\n\t\t\tactiveItemName: model,\n\t\t\tcomponent,\n\t\t\tscrollable,\n\t\t};\n\t}, props.idState);\n\n\tif (props.isShortable) {\n\t\tconst stateName = 'isShort';\n\n\t\tStoreLocalStorage.loadLocalStorge(stateName, store);\n\t\tStoreLocalStorage.addSaverLocalStorge(stateName, store);\n\t}\n\n\tif (store.$id) {\n\t\tconst popstateCallback = (_e: PopStateEvent) => {\n\t\t\tmodel.value = getHash(store.$id!);\n\t\t};\n\n\t\tpopstateCallbacks.add(popstateCallback);\n\t}\n\n\treturn store;\n};\n\n/**\n * Получить Store компонента\n */\nexport const useTabsStore = () => useStore(injectionKey);\n","<script setup lang=\"ts\">\nimport { computed } from 'vue';\nimport { genHash } from '@/core/utils/route';\nimport { TopPopupListItem } from '@/components/popup/popup';\nimport { useTabsStore } from './store';\nimport type { PropsMenuItem } from './types';\n\nconst props = withDefaults(defineProps<PropsMenuItem>(), {\n\tscrollable: true,\n\tcomponent: undefined,\n});\n\nconst store = useTabsStore();\n\nconst href = computed(() => {\n\t// это внутренняя хеш навигация, ссылка на вкладку\n\tif (props.name && store.$id) {\n\t\treturn genHash(store.$id, props.name);\n\t}\n\n\treturn props.href;\n});\n\nconst tagName = computed(() => {\n\tif (store.showMenuInPopup) {\n\t\treturn TopPopupListItem;\n\t}\n\n\treturn href ? 'a' : 'button';\n});\n\n/**\n * Клик по элементу меню\n */\nconst onClick = (e: MouseEvent) => {\n\t// это внутренняя хеш навигация, ссылка на вкладку\n\tif (!props.href && href.value) {\n\t\te.preventDefault();\n\t}\n\n\tif (props.name) {\n\t\tstore.activeItemName = props.name;\n\t}\n};\n</script>\n\n<template>\n\t<component\n\t\t:is=\"tagName\"\n\t\ttarget=\"_self\"\n\t\t:class=\"{\n\t\t\t['top-tabsView_menuItem']: !store.showMenuInPopup,\n\t\t\t['top-active']: name && store.activeItemName === name,\n\t\t\t['top-disabled']: disabled,\n\t\t\t['top-spa-disabled']: true,\n\t\t}\"\n\t\t:href=\"href\"\n\t\t:data-top-icon=\"icon || undefined\"\n\t\t:disabled=\"disabled || undefined\"\n\t\t@click=\"onClick\"\n\t>\n\t\t<slot name=\"default\" v-if=\"store.showMenuInPopup\"></slot>\n\n\t\t<span\n\t\t\tv-else-if=\"$slots.default && !store.isShort\"\n\t\t\tclass=\"top-ellipsis\"\n\t\t>\n\t\t\t<slot name=\"default\"></slot>\n\t\t</span>\n\t</component>\n</template>\n\n<style>\n.top-tabsView_menuItem {\n\t--top-icon-color: var(--color-text-2);\n\t--top-icon-width: calc(var(--top-icon-size));\n\n\tcursor: pointer;\n\tbox-sizing: border-box;\n\n\tborder: none;\n\tborder-radius: var(--top-radius-2);\n\tpadding: var(--top-padding-2);\n\tbackground: transparent;\n\theight: 40px;\n\n\tcolor: var(--color-text-1);\n\ttext-decoration: none;\n\twhite-space: nowrap;\n\n\tdisplay: flex;\n\tgap: var(--top-gap-2);\n\talign-items: center;\n\tjustify-content: flex-start;\n\ttransition: background var(--transition);\n}\n\n.top-tabsView_menuItem:hover {\n\t--top-icon-color: var(--color-text-1);\n\n\tbackground: var(--color-bg-shading-1);\n\ttext-decoration: none;\n}\n\n.top-tabsView_menuItem.top-active {\n\t--top-icon-color: inherit;\n\n\tbackground: var(--color-layout-front-1);\n\tcolor: inherit;\n}\n\n.top-tabsView_menuItem:disabled:not(option):not(optgroup):not(.top-forms-option),\n.top-tabsView_menuItem:disabled ~ .top-formsCaption,\n.top-tabsView_menuItem.top-disabled[data-top-icon]:before,\n.top-tabsView_menuItem.top-disabled[data-top-icon2]:after {\n\topacity: unset;\n\tfilter: unset;\n}\n\n.top-tabsView_menuItem.top-disabled {\n\t--top-icon-color: var(--color-text-4);\n\n\tcolor: var(--color-text-4);\n}\n</style>\n","// TODO: Эту функцию можно вынести в глобальный utils\n\nimport { sleepWhile } from '@/core/utils/system';\n\n/**\n * Проверка нахождения компонента в состояние загрузки\n * @param component\n */\nexport const checkComponentIsLoading = (component: any) => {\n\treturn component?.name === 'AsyncComponentWrapper' && !component?.__asyncResolved;\n};\n\n/**\n * Презагрузить компонент\n *\n * Некоторое время ожидает загрузку компонента, прежде чем завершит работу\n */\nexport const preResolveComponent = async (component: any, condition: Function) => {\n\tif (component?.name !== 'AsyncComponentWrapper') return;\n\tif (component?.__asyncResolved) return;\n\n\tcomponent.__asyncLoader();\n\n\tawait sleepWhile(() => {\n\t\treturn condition() && checkComponentIsLoading(component);\n\t}, 200);\n};\n","<script setup lang=\"ts\">\nimport type { Ref, VNode } from 'vue';\nimport { markRaw, ref, useSlots, watch } from 'vue';\nimport { TopPopup } from '../../popup/popup';\nimport { getHash, setHash } from '@/core/utils/route';\n\nimport type { MenuItem, PropsMenu, PropsMenuItem } from './types';\nimport { useTabsStore } from './store';\nimport TabsViewMenuItem from './menuItem.vue';\nimport { preResolveComponent } from './utils';\n\ndefineProps<PropsMenu>();\n\nconst isLoading = defineModel('isLoading');\n\nconst store = useTabsStore();\n\nconst slots = useSlots();\n\n// словарь используется для оптимизации получения нужного menuItem\nconst menuItemByName: Map<PropsMenuItem['name'], MenuItem> = new Map();\n\n// заполнить словарь с menuItem, по элементам в slot default\nconst setMenuItemByName = () => {\n\tif (!slots.default) return;\n\n\tconst component: any = slots.default({}).find(item => item.key === '_menu');\n\tif (!component) return;\n\n\tsetMenuItemByNameFromItems(component.children);\n};\n\n// заполнить словарь с menuItem, по элементам\nconst setMenuItemByNameFromItems = (menuItems: VNode[]) => {\n\tmenuItems.forEach((subComponent: any) => {\n\t\t// это не компонент элемента меню\n\t\tif (subComponent.type.__name && subComponent.type.__name !== TabsViewMenuItem.__name) return;\n\n\t\t// это не компонент, например template\n\t\tif (!subComponent.type.__name && typeof subComponent.children === 'object') {\n\t\t\tsetMenuItemByNameFromItems(subComponent.children);\n\n\t\t\treturn;\n\t\t}\n\n\t\tif (!subComponent.props?.name || subComponent.props?.disabled) return;\n\n\t\tconst menuItem: MenuItem = {\n\t\t\ttitle: (subComponent.children.default?.()[0].children as string).trim(),\n\t\t\ticon: subComponent.props.icon,\n\t\t\tcomponent: subComponent.props.component ? markRaw(subComponent.props.component) : TabsViewMenuItem.props.component.default,\n\t\t\tscrollable: subComponent.props.scrollable ?? TabsViewMenuItem.props.scrollable.default,\n\t\t};\n\n\t\tmenuItemByName.set(subComponent.props.name, menuItem);\n\t});\n};\n\n/**\n * activeMenuItem нужен:\n * - для вывода текста активной вкладки в меню с popup\n * - для вывода компонента активной вкладки (store.component)\n * - для установки store.scrollable\n */\nconst activeMenuItem: Ref<MenuItem | null> = ref(null);\n\n/**\n * Кол-во изменений активной вкладки\n */\nlet countChanged = 0;\n\n/**\n * Смена активной вкладки\n *\n * TODO: смена slot, например смена языка, требует повторного выполнения setMenuItemByName()\n */\nwatch(\n\t() => store.activeItemName,\n\tasync () => {\n\t\tconst numberChanged = ++countChanged; // порядковый номер текущего изменения\n\n\t\tif (menuItemByName.size === 0) {\n\t\t\tsetMenuItemByName();\n\t\t}\n\n\t\tif (menuItemByName.size === 0) {\n\t\t\tstore.activeItemName = '';\n\n\t\t\treturn;\n\t\t}\n\n\t\tactiveMenuItem.value = menuItemByName.get(store.activeItemName) ?? null;\n\n\t\t// элемент не найден, установить из хеша страницы\n\t\tif (!activeMenuItem.value && store.$id) {\n\t\t\tconst activeItemName = getHash(store.$id);\n\n\t\t\tactiveMenuItem.value = menuItemByName.get(activeItemName) ?? null;\n\n\t\t\tif (activeMenuItem.value) {\n\t\t\t\tstore.activeItemName = activeItemName;\n\n\t\t\t\treturn;\n\t\t\t}\n\t\t}\n\n\t\t// элемент не найден, установить первый доступный\n\t\tif (!activeMenuItem.value) {\n\t\t\tstore.activeItemName = menuItemByName.keys().next().value!;\n\n\t\t\treturn;\n\t\t}\n\n\t\t// запрошена смена на уже активный элемент\n\t\tif (activeMenuItem.value.component === store.component) {\n\t\t\tisLoading.value = false;\n\n\t\t\treturn;\n\t\t}\n\n\t\tif (store.$id) setHash(store.$id, store.activeItemName, false);\n\n\t\t// флаг загрузки будет сброшен при инициализации компонента\n\t\tisLoading.value = true;\n\n\t\t/**\n\t\t * Презагрузить компонент\n\t\t *\n\t\t * Нужно для того, чтобы минимизировать скачки интерфейса при ожидании загрузки асинхронного компонента\n\t\t */\n\t\tawait preResolveComponent(activeMenuItem.value.component, () => numberChanged === countChanged);\n\n\t\t// влкадка была сменена еще раз во время sleepWhile\n\t\tif (numberChanged !== countChanged) {\n\t\t\treturn;\n\t\t}\n\n\t\tstore.scrollable = activeMenuItem.value.scrollable;\n\t\tstore.component = activeMenuItem.value.component;\n\n\t\tif (activeMenuItem.value && !store.component) {\n\t\t\tconsole.warn(`Компонент вкладки ${store.activeItemName} не найден. Добавьте props.component для пункта меню ${store.activeItemName}.`);\n\t\t}\n\t},\n\t{ immediate: true },\n);\n\n</script>\n\n<template>\n\t<div\n\t\t:class=\"{\n\t\t\t'top-tabsView_menu': true,\n\t\t\t'top-tabsView_menu-inPopup_0': !store.showMenuInPopup,\n\t\t\t'top-tabsView_menu-inPopup_1': store.showMenuInPopup,\n\t\t\t'top-tabsView_menu-short': store.isShort && !store.showMenuInPopup,\n\t\t}\"\n\t>\n\t\t<!-- Спрятать меню под кнопку в popup -->\n\t\t<TopPopup v-if=\"store.showMenuInPopup\">\n\t\t\t<template #opener>\n\t\t\t\t<div class=\"top-tabsView_menuOpener\">\n\t\t\t\t\t<div\n\t\t\t\t\t\tv-if=\"activeMenuItem\"\n\t\t\t\t\t\tclass=\"top-tabsView_menuOpenerActiveItem\"\n\t\t\t\t\t\t:data-top-icon=\"activeMenuItem.icon\"\n\t\t\t\t\t>\n\t\t\t\t\t\t<span class=\"top-ellipsis\">\n\t\t\t\t\t\t\t{{ activeMenuItem.title }}\n\t\t\t\t\t\t</span>\n\t\t\t\t\t</div>\n\n\t\t\t\t\t<div class=\"top-tabsView_menuOpenerIcon\" data-top-icon=\"\"></div>\n\t\t\t\t</div>\n\t\t\t</template>\n\n\t\t\t<template #contentList>\n\t\t\t\t<slot></slot>\n\t\t\t</template>\n\t\t</TopPopup>\n\n\t\t<!-- Отобразить меню на странице -->\n\t\t<template v-else>\n\t\t\t<div class=\"top-tabsView_menuList\">\n\t\t\t\t<slot></slot>\n\t\t\t</div>\n\n\t\t\t<div\n\t\t\t\tv-if=\"isShortable\"\n\t\t\t\tclass=\"top-tabsView_menuFooter\"\n\t\t\t>\n\t\t\t\t<TabsViewMenuItem\n\t\t\t\t\tv-if=\"isShortable\"\n\t\t\t\t\t:icon=\"store.isShort ? '' : ''\"\n\t\t\t\t\t@click=\"store.isShort = !store.isShort\"\n\t\t\t\t>\n\t\t\t\t\t{{ store.isShort ? '' : 'Свернуть' }} <!--TODO: translate-->\n\t\t\t\t</TabsViewMenuItem>\n\t\t\t</div>\n\t\t</template>\n\t</div>\n</template>\n\n<style>\n/* режим отображение табов в основной области документа */\n.top-tabsView-pageMod .top-tabsView_menu {\n\tbox-sizing: border-box;\n\tposition: sticky;\n\ttop: var(--top-tabsView-top);\n\tz-index: 10;\n}\n\n/* режим отображение табов в основной области документа без popup */\n.top-tabsView-pageMod .top-tabsView_menu-inPopup_0 {\n\theight: calc(var(--100vh) - var(--top-tabsView-top));\n}\n\n/* стантартный режим */\n.top-tabsView_menu-inPopup_0 {\n\tbox-sizing: border-box;\n\twidth: var(--top-tabsView-menu-width);\n\tdisplay: flex;\n\tflex-direction: column;\n\tjustify-content: space-between;\n\tflex-shrink: 0;\n}\n\n/* режим вывода в popup */\n.top-tabsView_menu-inPopup_1 {\n\tborder-bottom: var(--top-tabsView-menu-border-bottom-width) solid var(--color-line-2-opacity);\n}\n\n.top-tabsView_menu-short {\n\twidth: auto;\n}\n\n.top-tabsView_menu > .top-tabsView_menuOpener {\n\tdisplay: flex;\n\tjustify-content: flex-end;\n}\n\n.top-tabsView_menu > .top-tabsView_menuOpener:hover {\n\tbackground: var(--color-layer-1);\n}\n\n.top-tabsView_menuOpenerIcon { display: flex; }\n\n.top-tabsView_menuOpenerActiveItem {\n\t--top-forms-padding: 0px;\n\n\tbox-sizing: border-box;\n\tpadding: var(--top-tabsView-menu-opener-padding);\n\tmax-width: calc(100% - var(--top-forms-base-height));\n\twhite-space: nowrap;\n\tflex-grow: 1;\n\tdisplay: flex;\n\talign-items: center;\n\tgap: var(--top-padding-2);\n}\n\n.top-tabsView_menuList,\n.top-tabsView_menuFooter {\n\tpadding: var(--top-padding-2);\n\tdisplay: flex;\n\tflex-direction: column;\n\tgap: var(--top-gap-2);\n}\n\n.top-tabsView_menuList {\n\toverflow-y: auto;\n}\n\n.top-tabsView_menu-short .top-tabsView_menuFooter > .top-tabsView_menuItem {\n\t--top-icon-width: 100%;\n}\n</style>\n","<script setup lang=\"ts\">\nimport { defineModel, onUnmounted, ref, watch } from 'vue';\nimport Core from '@/core/core/core';\nimport { delHash } from '@/core/utils/route';\nimport type { Props } from './types';\nimport { defineTabsStore } from './store';\nimport TabsViewMenu from './menu.vue';\nimport TopLoadbar from '@/components/forms/loadbar/loadbar.vue';\nimport { checkComponentIsLoading } from './utils';\n\nconst props = withDefaults(defineProps<Props>(), {\n\tshowMenuInPopup: undefined,\n\tisShortable: false,\n});\n\nconst model = defineModel<string>();\n\nconst store = defineTabsStore(props, model);\n\nconst uid = Math.random();\n\nif (props.pageMod) Core.state.documentClassModificators.set(uid, 'top-hasTabsViewPageMod');\n\nonUnmounted(() => {\n\tif (props.pageMod) Core.state.documentClassModificators.delete(uid);\n\n\tif (store.$id) delHash(store.$id, store.activeItemName, true);\n});\n\nconst componentRef = ref();\nconst isLoading = ref(false);\n\nwatch([componentRef, () => store.component], () => {\n\tisLoading.value = checkComponentIsLoading(store.component);\n}, { immediate: true });\n</script>\n\n<template>\n\t<div\n\t\t:class=\"{\n\t\t\t'top-tabsView': true,\n\t\t\t'top-tabsView-pageMod': props.pageMod,\n\t\t\t'top-tabsView-inPopup': store.showMenuInPopup,\n\t\t}\"\n\t>\n\t\t<TabsViewMenu\n\t\t\t:isShortable=\"isShortable\"\n\t\t\tv-model:isLoading=\"isLoading\"\n\t\t>\n\t\t\t<!-- @slot Меню, ожидает передачу компонентов TabsViewMenuItem и TabsViewMenuTitle -->\n\t\t\t<slot name=\"menu\"></slot>\n\t\t</TabsViewMenu>\n\n\t\t<div\n\t\t\t:class=\"{\n\t\t\t\t'top-tabsView_contents': true,\n\t\t\t\t'top-tabsView_contents-isLoading': isLoading,\n\t\t\t\t'top-tabsView_contents-noScrollable': !store.scrollable,\n\t\t\t}\"\n\t\t>\n\t\t\t<TopLoadbar v-if=\"isLoading\"/>\n\n\t\t\t<keep-alive>\n\t\t\t\t<component\n\t\t\t\t\tref=\"componentRef\"\n\t\t\t\t\t:is=\"store.component\"\n\t\t\t\t/>\n\t\t\t</keep-alive>\n\t\t</div>\n\t</div>\n</template>\n\n<style>\n:root {\n\t--top-tabsView-top: 0px;\n\t--top-tabsView-menu-width: 220px;\n\t--top-tabsView-contents-offset-top: 0px;\n\t--top-tabsView-menu-border-bottom-width: 1px;\n\t--top-tabsView-menu-opener-padding: var(--top-padding-2);\n}\n\n.top-tabsView {\n\tbackground: var(--color-layout-middle);\n\twidth: 100%;\n\theight: 100%;\n\tdisplay: flex;\n\tflex-direction: row;\n}\n\n.top-tabsView_contents {\n\tborder-radius: var(--top-radius-4);\n\tbackground: var(--color-layout-front-1);\n\tpadding: var(--top-padding-4);\n\tflex-grow: 1;\n\toverflow: auto;\n\tposition: relative;\n}\n\n.top-tabsView_contents-isLoading {\n\tpointer-events: none;\n}\n\n.top-tabsView_contents-noScrollable {\n\twidth: calc(100% - var(--top-tabsView-menu-width));\n\tpadding: 0;\n\toverflow: visible;\n}\n\n/* top-tabsView-inPopup */\n.top-tabsView-inPopup {\n\tbackground: var(--color-layout-front-1);\n\tflex-direction: column;\n}\n\n.top-tabsView-inPopup > .top-tabsView_contents {\n\tborder-radius: 0;\n}\n\n.top-tabsView-inPopup > .top-tabsView_contents-noScrollable {\n\twidth: auto;\n}\n\n@media only screen and (max-width: 900px) {\n\t:root {\n\t\t/* Суммарно должна быть высота элемента \".top-tabsView_menu\" */\n\t\t--top-tabsView-contents-offset-top: calc(var(--top-icon-size) + var(--top-tabsView-menu-opener-padding) * 2 + var(--top-tabsView-menu-border-bottom-width));\n\t}\n}\n</style>\n","<script setup lang=\"ts\">\n\n</script>\n\n<template>\n\t<div class=\"top-tabsView_menuDelimeter\"></div>\n</template>\n\n<style>\n.top-tabsView_menuDelimeter {\n\tpadding: var(--top-padding-1) 0;\n\tdisplay: flex;\n}\n\n.top-tabsView_menuDelimeter:before {\n\tcontent: \"\";\n\theight: 2px;\n\tbackground: var(--color-line-2);\n\tflex-grow: 1;\n}\n\n.top-tabsView_menuDelimeter:first-child,\n.top-tabsView_menuDelimeter + .top-tabsView_menuDelimeter {\n\tdisplay: none;\n}\n</style>\n","<script setup lang=\"ts\">\nimport { useTabsStore } from './store';\nimport type { PropsMenuTitle } from './types';\nimport TabsViewMenuDelimeter from './menuDelimeter.vue';\nimport { TopPopupListItem } from '../../popup/popup';\n\ndefineProps<PropsMenuTitle>();\n\nconst store = useTabsStore();\n</script>\n\n<template>\n\t<TopPopupListItem\n\t\tv-if=\"store.showMenuInPopup\"\n\t\ttype=\"title\"\n\t>\n\t\t<slot></slot>\n\t</TopPopupListItem>\n\n\t<TabsViewMenuDelimeter v-else-if=\"store.isShort\"/>\n\n\t<div\n\t\tv-else\n\t\t:class=\"{\n\t\t\t'top-tabsView_menuTitle': true,\n\t\t\t'top-tabsView_menuTitle-subtitle': isSubtitle,\n\t\t}\"\n\t>\n\t\t<slot></slot>\n\t</div>\n</template>\n\n<style>\n.top-tabsView_menuTitle {\n\tpadding: var(--top-padding-4) var(--top-padding-2) var(--top-padding-1);\n\tfont-weight: 600;\n\tcolor: var(--color-text-1);\n}\n\n.top-tabsView_menuTitle-subtitle {\n\tpadding-top: var(--top-padding-1);\n\tfont-size: 12px;\n\tfont-weight: 400;\n\tcolor: var(--color-text-2);\n}\n</style>\n"],"names":["genStorageKey","stateName","stateKey","loadLocalStorge","store","localStorageKey","localStorageValue","addSaverLocalStorge","watch","StoreLocalStorage","popstateCallbacks","e","popstateCallback","injectionKey","defineTabsStore","props","model","defineStore","showMenuInPopup","computed","Core","pageMod","isShort","ref","component","scrollable","_e","getHash","useTabsStore","useStore","__props","href","genHash","tagName","TopPopupListItem","onClick","_openBlock","_createBlock","_resolveDynamicComponent","_normalizeClass","_unref","_renderSlot","_ctx","$slots","_createElementBlock","_hoisted_1","checkComponentIsLoading","preResolveComponent","condition","sleepWhile","isLoading","_useModel","slots","useSlots","menuItemByName","setMenuItemByName","item","setMenuItemByNameFromItems","menuItems","subComponent","TabsViewMenuItem","menuItem","markRaw","activeMenuItem","countChanged","numberChanged","activeItemName","setHash","TopPopup","_createElementVNode","_hoisted_3","_toDisplayString","_Fragment","_hoisted_4","_hoisted_5","_createTextVNode","uid","onUnmounted","delHash","componentRef","_createVNode","TabsViewMenu","$event","TopLoadbar","_KeepAlive","TabsViewMenuDelimeter"],"mappings":"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"}
package/utils/check.d.ts CHANGED
@@ -1,2 +1 @@
1
- export * from '../src/core/utils/check'
2
1
  export {}
@@ -1,4 +1,4 @@
1
- define(["require","exports","../.chunks/forms-EhKRBbpk.amd"],(function(l,t,e){"use strict";if(typeof r>"u")var r=window.Vue;async function a(o,n=!1){let i=!1;return navigator.clipboard&&(await navigator.clipboard.writeText(o),i=!0,n&&e.Core.notice(e.useI18n().Common.Copied_to_clipboard+"","info")),i}async function u(o){let n=!1;e.isSafari()||(n=await a(o));const i='<a href="'+o+'" target="_blank">'+o+"</a>",c=e.useI18n().Common.Copied_to_clipboard+`:
1
+ define(["require","exports","../.chunks/forms-DDNzqU6o.amd"],(function(l,t,e){"use strict";if(typeof r>"u")var r=window.Vue;async function a(o,n=!1){let i=!1;return navigator.clipboard&&(await navigator.clipboard.writeText(o),i=!0,n&&e.Core.notice(e.useI18n().Common.Copied_to_clipboard+"","info")),i}async function u(o){let n=!1;e.isSafari()||(n=await a(o));const i='<a href="'+o+'" target="_blank">'+o+"</a>",c=e.useI18n().Common.Copied_to_clipboard+`:
2
2
  `+i;if(n)e.Core.notice(c,"info");else{if(!navigator.clipboard){e.Core.notice(e.useI18n().Common.Cannot_copied_to_clipboard+`:
3
3
  `+e.useI18n().Common.Copy_guest_link_manually+`
4
4
  `+i,"error");return}const d={onclick:()=>a(o).then(()=>e.Core.notice(c,"info")),default:e.useI18n().Common.Copy+"",class:"copy"};await e.Core.notice(e.useI18n().Common.Guest_link_created+`
@@ -1,2 +1 @@
1
- export * from '../src/core/utils/clipboard'
2
1
  export {}
@@ -1,4 +1,4 @@
1
- import { C as t, u as a, b as s } from "../.chunks/forms-CUaoBGD5.es.js";
1
+ import { b as s, u as a, C as t } from "../.chunks/forms-DtC-EKJL.es.js";
2
2
  async function r(o, e = !1) {
3
3
  let i = !1;
4
4
  return navigator.clipboard && (await navigator.clipboard.writeText(o), i = !0, e && t.notice(a().Common.Copied_to_clipboard + "", "info")), i;
package/utils/date.amd.js CHANGED
@@ -1,2 +1,2 @@
1
- define(["require","exports","../.chunks/forms-EhKRBbpk.amd"],(function(n,e,t){"use strict";if(typeof a>"u")var a=window.Vue;e.dateFormat=t.dateFormat,e.dateToString=t.dateToString,e.dateUnformat=t.dateUnformat,e.genDate=t.genDate,e.genDateMoscow=t.genDateMoscow,e.genUserDate=t.genUserDate,e.getDayOfWeek=t.getDayOfWeek,e.stringToDate=t.stringToDate,Object.defineProperty(e,Symbol.toStringTag,{value:"Module"})}));
1
+ define(["require","exports","../.chunks/forms-DDNzqU6o.amd"],(function(n,e,t){"use strict";if(typeof a>"u")var a=window.Vue;e.dateFormat=t.dateFormat,e.dateToString=t.dateToString,e.dateUnformat=t.dateUnformat,e.genDate=t.genDate,e.genDateMoscow=t.genDateMoscow,e.genUserDate=t.genUserDate,e.getDayOfWeek=t.getDayOfWeek,e.stringToDate=t.stringToDate,Object.defineProperty(e,Symbol.toStringTag,{value:"Module"})}));
2
2
  //# sourceMappingURL=date.amd.js.map
package/utils/date.d.ts CHANGED
@@ -1,2 +1 @@
1
- export * from '../src/core/utils/date'
2
1
  export {}
package/utils/date.js CHANGED
@@ -1,4 +1,4 @@
1
- import { c as t, K as s, P as o, N as r, O as g, M as n, J as D, L as d } from "../.chunks/forms-CUaoBGD5.es.js";
1
+ import { c as t, J as s, K as o, L as r, M as g, N as n, O as D, P as d } from "../.chunks/forms-DtC-EKJL.es.js";
2
2
  export {
3
3
  t as dateFormat,
4
4
  s as dateToString,
@@ -1,2 +1,2 @@
1
- define(["require","exports","../.chunks/forms-EhKRBbpk.amd"],(function(a,e,i){"use strict";if(typeof l>"u")var l=window.Vue;e.get$scroll=i.get$scroll,e.getCommandKeyLabel=i.getCommandKeyLabel,e.getElsScroll=i.getElsScroll,e.getOS=i.getOS,e.getOSAsync=i.getOSAsync,e.getScrollTop=i.getScrollTop,e.isApp=i.isApp,e.isMacOS=i.isMacOS,e.isMobile=i.isMobile,e.isRetina=i.isRetina,e.isSafari=i.isSafari,Object.defineProperty(e,Symbol.toStringTag,{value:"Module"})}));
1
+ define(["require","exports","../.chunks/forms-DDNzqU6o.amd"],(function(a,e,i){"use strict";if(typeof l>"u")var l=window.Vue;e.get$scroll=i.get$scroll,e.getCommandKeyLabel=i.getCommandKeyLabel,e.getElsScroll=i.getElsScroll,e.getOS=i.getOS,e.getOSAsync=i.getOSAsync,e.getScrollTop=i.getScrollTop,e.isApp=i.isApp,e.isMacOS=i.isMacOS,e.isMobile=i.isMobile,e.isRetina=i.isRetina,e.isSafari=i.isSafari,Object.defineProperty(e,Symbol.toStringTag,{value:"Module"})}));
2
2
  //# sourceMappingURL=device.amd.js.map
package/utils/device.d.ts CHANGED
@@ -1,2 +1 @@
1
- export * from '../src/core/utils/device'
2
1
  export {}
package/utils/device.js CHANGED
@@ -1,4 +1,4 @@
1
- import { z as e, x as l, A as t, B as i, D as o, y as g, w as r, l as S, v as c, t as p, b } from "../.chunks/forms-CUaoBGD5.es.js";
1
+ import { t as e, v as l, w as t, x as i, y as o, z as g, A as r, l as S, B as c, D as p, b } from "../.chunks/forms-DtC-EKJL.es.js";
2
2
  export {
3
3
  e as get$scroll,
4
4
  l as getCommandKeyLabel,
package/utils/dom.d.ts CHANGED
@@ -1,6 +1 @@
1
- export * from '../src/core/utils/dom'
2
- export {}
3
- import topvisorui from '../src/core/utils/dom'
4
- export default topvisorui
5
- export * from '../src/core/utils/dom'
6
1
  export {}
package/utils/image.d.ts CHANGED
@@ -1,2 +1 @@
1
- export * from '../src/core/utils/image'
2
1
  export {}
@@ -1,2 +1 @@
1
- export * from '../src/core/utils/keyboard'
2
1
  export {}
@@ -1,2 +1,2 @@
1
- define(["require","exports","../.chunks/forms-EhKRBbpk.amd"],(function(u,e,n){"use strict";if(typeof i>"u")var i=window.Vue;e.cloneDeep=n.cloneDeep,e.debounce=n.debounce,e.memoize=n.memoize,e.merge=n.merge,e.throttle=n.throttle,Object.defineProperty(e,Symbol.toStringTag,{value:"Module"})}));
1
+ define(["require","exports","../.chunks/forms-DDNzqU6o.amd"],(function(u,e,n){"use strict";if(typeof i>"u")var i=window.Vue;e.cloneDeep=n.cloneDeep,e.debounce=n.debounce,e.memoize=n.memoize,e.merge=n.merge,e.throttle=n.throttle,Object.defineProperty(e,Symbol.toStringTag,{value:"Module"})}));
2
2
  //# sourceMappingURL=lodash.amd.js.map
package/utils/lodash.d.ts CHANGED
@@ -1,2 +1 @@
1
- export * from '../src/core/utils/lodash'
2
1
  export {}