@topvisor/ui 1.0.41 → 1.1.0-date.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 (997) hide show
  1. package/.gitlab-ci/.gitlab-ci.yml +27 -0
  2. package/.gitlab-ci/README.md +59 -0
  3. package/.gitlab-ci/common/install.yml +21 -0
  4. package/.gitlab-ci/common/lint.yml +11 -0
  5. package/.gitlab-ci/common/redmine.yml +10 -0
  6. package/.gitlab-ci/common/version.yml +34 -0
  7. package/.gitlab-ci/storybook/build.yml +18 -0
  8. package/.gitlab-ci/storybook/deploy.yml +50 -0
  9. package/.gitlab-ci/ui/build.yml +12 -0
  10. package/.gitlab-ci/ui/deploy-dist.yml +89 -0
  11. package/.gitlab-ci/ui/deploy.yml +19 -0
  12. package/.idea/.gitignore +11 -0
  13. package/.idea/codeStyles/Project.xml +205 -0
  14. package/.idea/codeStyles/codeStyleConfig.xml +5 -0
  15. package/.idea/externalDependencies.xml +6 -0
  16. package/.idea/icon.svg +5 -0
  17. package/.idea/inspectionProfiles/Disabled.xml +824 -0
  18. package/.idea/inspectionProfiles/Project_Default.xml +33 -0
  19. package/.idea/modules.xml +8 -0
  20. package/.idea/php.xml +19 -0
  21. package/.idea/ui.iml +8 -0
  22. package/.idea/vcs.xml +12 -0
  23. package/.storybook/TopTheme.ts +115 -0
  24. package/.storybook/TopThemeManager.ts +53 -0
  25. package/.storybook/argsArrayDecorator.ts +60 -0
  26. package/.storybook/main.ts +45 -0
  27. package/.storybook/manager.ts +25 -0
  28. package/.storybook/preview-head.html +21 -0
  29. package/.storybook/preview.ts +50 -0
  30. package/.storybook/vue/coreDecorator.ts +82 -0
  31. package/.storybook/vue/vModelDecorator.ts +46 -0
  32. package/.versionrc.json +16 -0
  33. package/.vscode/extensions.json +11 -0
  34. package/.vscode/keybindings.example.json +121 -0
  35. package/.vscode/settings.json +45 -0
  36. package/CHANGELOG.md +375 -0
  37. package/NPM.md +25 -0
  38. package/PUBLISH.md +88 -0
  39. package/README.md +37 -59
  40. package/STORYBOOK.md +41 -0
  41. package/USE_IN_PROJECT.md +32 -0
  42. package/package.json +56 -1
  43. package/public/README.md +82 -0
  44. package/public/icomoon/Topvisor icons.json +6635 -0
  45. package/public/icomoon/demo.html +3782 -0
  46. package/public/icomoon/fonts/Topvisor-2.eot +0 -0
  47. package/public/icomoon/fonts/Topvisor-2.svg +293 -0
  48. package/public/icomoon/fonts/Topvisor-2.ttf +0 -0
  49. package/public/icomoon/fonts/Topvisor-2.woff +0 -0
  50. package/public/icomoon/selection.json +1 -0
  51. package/public/icomoon/style.css +828 -0
  52. package/rollup.config.ts +38 -0
  53. package/scripts/afterBuild.sh +13 -0
  54. package/scripts/cssModules.ts +39 -0
  55. package/scripts/genDocs.sh +20 -0
  56. package/scripts/plugin/amdFix.ts +83 -0
  57. package/scripts/plugin/autoloadCSS.ts +155 -0
  58. package/scripts/plugin/storybook-types-to-schema.ts +53 -0
  59. package/src/CHANGELOG.md.mdx +4 -0
  60. package/src/components/charts/charts.ts +8 -0
  61. package/src/components/charts/miniChart/miniChart.stories.ts +66 -0
  62. package/src/components/charts/miniChart/miniChart.vue +158 -0
  63. package/src/components/charts/miniChart/stories/README.md +9 -0
  64. package/src/components/charts/miniChart/stories/dummy.ts +25 -0
  65. package/src/components/charts/miniChart/styles/miniChart.css +87 -0
  66. package/src/components/charts/miniChart/types.ts +110 -0
  67. package/src/components/charts/miniChart/utils/consts.ts +9 -0
  68. package/src/components/charts/miniCharts/miniCharts.stories.ts +75 -0
  69. package/src/components/charts/miniCharts/miniCharts.ts +24 -0
  70. package/src/components/charts/miniCharts/miniCharts.vue +124 -0
  71. package/src/components/charts/miniCharts/stories/README.md +18 -0
  72. package/src/components/charts/miniCharts/stories/dummy.ts +70 -0
  73. package/src/components/charts/miniCharts/stories/overview.vue +139 -0
  74. package/src/components/charts/miniCharts/styles/miniCharts.css +32 -0
  75. package/src/components/component.ts +130 -0
  76. package/src/components/core/core.mdx +7 -0
  77. package/src/components/core/notice/item/item.vue +145 -0
  78. package/src/components/core/notice/item/style.css +70 -0
  79. package/src/components/core/notice/item/types.ts +74 -0
  80. package/src/components/core/notice/notice.stories.ts +104 -0
  81. package/src/components/core/notice/notice.vue +69 -0
  82. package/src/components/core/notice/stories/README.md +34 -0
  83. package/src/components/core/notice/utils.ts +115 -0
  84. package/src/components/dialog/dialog/Dialog (code).mdx +61 -0
  85. package/src/components/dialog/dialog/composables/asyncDialogHandle.ts +99 -0
  86. package/src/components/dialog/dialog/composables/dialogHandle.ts +178 -0
  87. package/src/components/dialog/dialog/composables/types.ts +12 -0
  88. package/src/components/dialog/dialog/composables/utils.ts +39 -0
  89. package/src/components/dialog/dialog/dialog.stories.ts +82 -0
  90. package/src/components/dialog/dialog/dialog.vue +74 -0
  91. package/src/components/dialog/dialog/dialogs/dialogs.vue +61 -0
  92. package/src/components/dialog/dialog/page/page.vue +86 -0
  93. package/src/components/dialog/dialog/page/types.ts +84 -0
  94. package/src/components/dialog/dialog/page.stories.ts +26 -0
  95. package/src/components/dialog/dialog/pageComponent/pageComponent.vue +57 -0
  96. package/src/components/dialog/dialog/pageComponent/types.ts +21 -0
  97. package/src/components/dialog/dialog/pageComponent.stories.ts +26 -0
  98. package/src/components/dialog/dialog/stories/README.md +117 -0
  99. package/src/components/dialog/dialog/stories/autoload.ts +12 -0
  100. package/src/components/dialog/dialog/stories/dialog_example/dialog_example.vue +77 -0
  101. package/src/components/dialog/dialog/stories/dialog_example/pages/async.vue +57 -0
  102. package/src/components/dialog/dialog/stories/dialog_example/pages/default.vue +56 -0
  103. package/src/components/dialog/dialog/stories/dialog_example/pages/headerButtons.vue +56 -0
  104. package/src/components/dialog/dialog/stories/dialog_example/pages/utils.ts +26 -0
  105. package/src/components/dialog/dialog/stories/dialog_example/pages/withoutCache.vue +56 -0
  106. package/src/components/dialog/dialog/stories/page/README.md +24 -0
  107. package/src/components/dialog/dialog/stories/pageComponent/README.md +12 -0
  108. package/src/components/dialog/dialog/style/dialog.css +319 -0
  109. package/src/components/dialog/dialog/style/dialog.m.css +40 -0
  110. package/src/components/dialog/dialog/style/dialog.pc.css +73 -0
  111. package/src/components/dialog/dialog/style/modern/dialog.css +12 -0
  112. package/src/components/dialog/dialog/style/modern/dialog.pc.css +3 -0
  113. package/src/components/dialog/dialog/types.ts +69 -0
  114. package/src/components/dialog/dialog.ts +7 -0
  115. package/src/components/dialog/lib/types.ts +58 -0
  116. package/src/components/dialog/lib/utils.globalEvents.ts +212 -0
  117. package/src/components/dialog/lib/utils.ts +655 -0
  118. package/src/components/dialog/lib/worker.ts +362 -0
  119. package/src/components/extra/extra.ts +5 -0
  120. package/src/components/extra/rive/rive.vue +56 -0
  121. package/src/components/extra/rive/rives.stories.ts +65 -0
  122. package/src/components/extra/rive/stories/README.md +40 -0
  123. package/src/components/extra/rive/stories/nope.riv +0 -0
  124. package/src/components/extra/rive/stories/sadness.riv +0 -0
  125. package/src/components/extra/rive/types.ts +8 -0
  126. package/src/components/forms/README.mdx +10 -0
  127. package/src/components/forms/avatar/avatar.stories.ts +37 -0
  128. package/src/components/forms/avatar/avatar.vue +77 -0
  129. package/src/components/forms/avatar/stories/overview.vue +30 -0
  130. package/src/components/forms/avatar/types.ts +38 -0
  131. package/src/components/forms/button/button.stories.ts +117 -0
  132. package/src/components/forms/button/button.vue +111 -0
  133. package/src/components/forms/button/stories/README.md +9 -0
  134. package/src/components/forms/button/stories/overview.vue +36 -0
  135. package/src/components/forms/button/style/button.css +140 -0
  136. package/src/components/forms/button/style/style-outline.css +129 -0
  137. package/src/components/forms/button/style/style-soft.css +89 -0
  138. package/src/components/forms/button/style/style-transparent.css +39 -0
  139. package/src/components/forms/button/types.ts +47 -0
  140. package/src/components/forms/caption/caption.stories.ts +108 -0
  141. package/src/components/forms/caption/caption.vue +29 -0
  142. package/src/components/forms/caption/types.ts +10 -0
  143. package/src/components/forms/checkbox/checkbox.stories.ts +32 -0
  144. package/src/components/forms/checkbox/checkbox.vue +114 -0
  145. package/src/components/forms/checkbox/stories/overview.vue +171 -0
  146. package/src/components/forms/checkbox/types.ts +21 -0
  147. package/src/components/forms/controlLabel/controlLabel.stories.ts +31 -0
  148. package/src/components/forms/controlLabel/controlLabel.vue +54 -0
  149. package/src/components/forms/controlLabel/types.ts +4 -0
  150. package/src/components/forms/forms.ts +44 -0
  151. package/src/components/forms/hint/hint.stories.ts +40 -0
  152. package/src/components/forms/hint/hint.vue +32 -0
  153. package/src/components/forms/hint/types.ts +8 -0
  154. package/src/components/forms/input/input.stories.ts +31 -0
  155. package/src/components/forms/input/input.vue +190 -0
  156. package/src/components/forms/input/stories/overview.vue +63 -0
  157. package/src/components/forms/input/types.ts +31 -0
  158. package/src/components/forms/inputDate/datepicker.css +246 -0
  159. package/src/components/forms/inputDate/datepicker.ts +101 -0
  160. package/src/components/forms/inputDate/inputDate.stories.ts +40 -0
  161. package/src/components/forms/inputDate/inputDate.vue +133 -0
  162. package/src/components/forms/inputDate/stories/overview.vue +35 -0
  163. package/src/components/forms/inputDate/types.ts +1 -0
  164. package/src/components/forms/inputRange/inputRange.stories.ts +52 -0
  165. package/src/components/forms/inputRange/inputRange.vue +39 -0
  166. package/src/components/forms/inputRange/stories/overview.vue +129 -0
  167. package/src/components/forms/inputRange/types.ts +3 -0
  168. package/src/components/forms/loadbar/loadbar.stories.ts +22 -0
  169. package/src/components/forms/loadbar/loadbar.vue +37 -0
  170. package/src/components/forms/loadbar/stories/README.md +6 -0
  171. package/src/components/forms/preloader/preloader.stories.ts +46 -0
  172. package/src/components/forms/preloader/preloader.vue +103 -0
  173. package/src/components/forms/preloader/stories/README.md +26 -0
  174. package/src/components/forms/preloader/types.ts +3 -0
  175. package/src/components/forms/radio/radio.stories.ts +33 -0
  176. package/src/components/forms/radio/radio.vue +97 -0
  177. package/src/components/forms/radio/stories/overview.vue +79 -0
  178. package/src/components/forms/radio/types.ts +15 -0
  179. package/src/components/forms/select/select.stories.ts +68 -0
  180. package/src/components/forms/select/select.vue +300 -0
  181. package/src/components/forms/select/stories/exampleOptions.ts +61 -0
  182. package/src/components/forms/select/stories/overview.vue +72 -0
  183. package/src/components/forms/select/types.ts +68 -0
  184. package/src/components/forms/switcher/stories/overview.vue +139 -0
  185. package/src/components/forms/switcher/switcher.stories.ts +32 -0
  186. package/src/components/forms/switcher/switcher.vue +118 -0
  187. package/src/components/forms/switcher/types.ts +22 -0
  188. package/src/components/forms/textarea/stories/overview.vue +89 -0
  189. package/src/components/forms/textarea/textarea.stories.ts +33 -0
  190. package/src/components/forms/textarea/textarea.vue +155 -0
  191. package/src/components/forms/textarea/types.ts +52 -0
  192. package/src/components/formsExt/README.mdx +5 -0
  193. package/src/components/formsExt/checkboxGroup/checkboxGroup.stories.ts +36 -0
  194. package/src/components/formsExt/checkboxGroup/checkboxGroup.vue +159 -0
  195. package/src/components/formsExt/checkboxGroup/stories/example.ts +42 -0
  196. package/src/components/formsExt/checkboxGroup/stories/overview.vue +36 -0
  197. package/src/components/formsExt/checkboxGroup/types.ts +23 -0
  198. package/src/components/formsExt/editArea/editArea.stories.ts +40 -0
  199. package/src/components/formsExt/editArea/editArea.vue +198 -0
  200. package/src/components/formsExt/editArea/stories/README.md +21 -0
  201. package/src/components/formsExt/editArea/stories/overview.vue +67 -0
  202. package/src/components/formsExt/editArea/types.ts +41 -0
  203. package/src/components/formsExt/editInput/editInput.stories.ts +35 -0
  204. package/src/components/formsExt/editInput/editInput.vue +54 -0
  205. package/src/components/formsExt/editInput/stories/overview.vue +54 -0
  206. package/src/components/formsExt/editInput/types.ts +20 -0
  207. package/src/components/formsExt/formsExt.ts +17 -0
  208. package/src/components/formsExt/info/info.stories.ts +34 -0
  209. package/src/components/formsExt/info/info.vue +84 -0
  210. package/src/components/formsExt/info/stories/overview.vue +29 -0
  211. package/src/components/formsExt/info/types.ts +25 -0
  212. package/src/components/formsExt/menu/menu.stories.ts +58 -0
  213. package/src/components/formsExt/menu/menu.vue +321 -0
  214. package/src/components/formsExt/menu/stories/items.ts +18 -0
  215. package/src/components/formsExt/menu/stories/overview.vue +52 -0
  216. package/src/components/formsExt/menu/types.ts +45 -0
  217. package/src/components/formsExt/radioGroup/radioGroup.stories.ts +35 -0
  218. package/src/components/formsExt/radioGroup/radioGroup.vue +142 -0
  219. package/src/components/formsExt/radioGroup/stories/example.ts +43 -0
  220. package/src/components/formsExt/radioGroup/stories/overview.vue +35 -0
  221. package/src/components/formsExt/radioGroup/types.ts +27 -0
  222. package/src/components/formsExt/selector2/composables/useAPI.ts +150 -0
  223. package/src/components/formsExt/selector2/composables/useMenu.ts +135 -0
  224. package/src/components/formsExt/selector2/itemMulti.vue +57 -0
  225. package/src/components/formsExt/selector2/selector2.stories.ts +50 -0
  226. package/src/components/formsExt/selector2/selector2.vue +296 -0
  227. package/src/components/formsExt/selector2/stories/dummyAPIRequest.ts +55 -0
  228. package/src/components/formsExt/selector2/stories/overview.vue +93 -0
  229. package/src/components/formsExt/selector2/types.ts +158 -0
  230. package/src/components/formsExt/selector2/utils.ts +22 -0
  231. package/src/components/helpersStories.ts +243 -0
  232. package/src/components/layout/islandRows/islandRows.stories.ts +138 -0
  233. package/src/components/layout/islandRows/islandRows.vue +53 -0
  234. package/src/components/layout/islandRows/islandRowsRow/islandRowsRow.vue +36 -0
  235. package/src/components/layout/islandRows/islandRowsRow/types.ts +1 -0
  236. package/src/components/layout/islandRows/islandRowsSubTitle/islandRowsSubTitle.vue +16 -0
  237. package/src/components/layout/islandRows/stories/README.md +8 -0
  238. package/src/components/layout/islandRows/types.ts +11 -0
  239. package/src/components/layout/layout.ts +11 -0
  240. package/src/components/layout/rows/rows.stories.ts +47 -0
  241. package/src/components/layout/rows/rows.vue +46 -0
  242. package/src/components/layout/rows/stories/README.md +10 -0
  243. package/src/components/layout/rows/types.ts +6 -0
  244. package/src/components/popup/alert/alert.stories.ts +70 -0
  245. package/src/components/popup/alert/alert.vue +46 -0
  246. package/src/components/popup/alert/stories/overview.vue +40 -0
  247. package/src/components/popup/alert/types.ts +11 -0
  248. package/src/components/popup/confirm/confirm.stories.ts +74 -0
  249. package/src/components/popup/confirm/confirm.vue +75 -0
  250. package/src/components/popup/confirm/stories/overview.vue +62 -0
  251. package/src/components/popup/confirm/types.ts +26 -0
  252. package/src/components/popup/lib/popup.globalEvents.ts +264 -0
  253. package/src/components/popup/lib/popup.ts +790 -0
  254. package/src/components/popup/lib/worker.globalEvents.ts +101 -0
  255. package/src/components/popup/lib/worker.ts +286 -0
  256. package/src/components/popup/popup/listItem.vue +35 -0
  257. package/src/components/popup/popup/opener.vue +81 -0
  258. package/src/components/popup/popup/popup.stories.ts +73 -0
  259. package/src/components/popup/popup/popup.vue +168 -0
  260. package/src/components/popup/popup/stories/README.md +55 -0
  261. package/src/components/popup/popup/stories/listItems.vue +69 -0
  262. package/src/components/popup/popup/stories/listSubItems.vue +47 -0
  263. package/src/components/popup/popup/stories/overview.vue +210 -0
  264. package/src/components/popup/popup/style/popup.css +348 -0
  265. package/src/components/popup/popup/style/popup.m.css +72 -0
  266. package/src/components/popup/popup/style/popup.pc.css +26 -0
  267. package/src/components/popup/popup/types.ts +120 -0
  268. package/src/components/popup/popup/widgetInput.vue +43 -0
  269. package/src/components/popup/popup.ts +17 -0
  270. package/src/components/popup/prompt/prompt.stories.ts +76 -0
  271. package/src/components/popup/prompt/prompt.vue +84 -0
  272. package/src/components/popup/prompt/stories/overview.vue +50 -0
  273. package/src/components/popup/prompt/types.ts +26 -0
  274. package/src/components/project/project.ts +23 -0
  275. package/src/components/project/selectorCompetitors/composables.ts +20 -0
  276. package/src/components/project/selectorCompetitors/selectorCompetitors.stories.ts +32 -0
  277. package/src/components/project/selectorCompetitors/selectorCompetitors.vue +75 -0
  278. package/src/components/project/selectorCompetitors/stories/README.md +20 -0
  279. package/src/components/project/selectorCompetitors/stories/items.ts +30 -0
  280. package/src/components/project/selectorCompetitors/types.ts +35 -0
  281. package/src/components/project/selectorRegion/composables/compare.ts +87 -0
  282. package/src/components/project/selectorRegion/composables/selectRegion.ts +146 -0
  283. package/src/components/project/selectorRegion/composables/selectSearcher.ts +64 -0
  284. package/src/components/project/selectorRegion/composables/selectorRegion.ts +167 -0
  285. package/src/components/project/selectorRegion/dialog_selectorRegions/dialog_selectorRegions.vue +252 -0
  286. package/src/components/project/selectorRegion/dialog_selectorRegions/style.css +49 -0
  287. package/src/components/project/selectorRegion/dialog_selectorRegions/types.ts +31 -0
  288. package/src/components/project/selectorRegion/selectorRegion.stories.ts +84 -0
  289. package/src/components/project/selectorRegion/selectorRegion.vue +365 -0
  290. package/src/components/project/selectorRegion/stories/README.md +36 -0
  291. package/src/components/project/selectorRegion/stories/searchers.ts +77 -0
  292. package/src/components/project/selectorRegion/styles/searcherColors.css +41 -0
  293. package/src/components/project/selectorRegion/types.ts +206 -0
  294. package/src/components/project/selectorRegion/utils/consts.ts +88 -0
  295. package/src/components/project/selectorRegion/utils/utils.ts +178 -0
  296. package/src/components/project/tagSelector/popupListItem/tagPopupListItem.vue +209 -0
  297. package/src/components/project/tagSelector/popupListItem/types.ts +40 -0
  298. package/src/components/project/tagSelector/popupOpener/popupOpener.vue +140 -0
  299. package/src/components/project/tagSelector/popupOpener/types.ts +74 -0
  300. package/src/components/project/tagSelector/stories/README.md +62 -0
  301. package/src/components/project/tagSelector/stories/overview.vue +152 -0
  302. package/src/components/project/tagSelector/tagIcon/tagIcon.vue +97 -0
  303. package/src/components/project/tagSelector/tagIcon/types.ts +25 -0
  304. package/src/components/project/tagSelector/tagSelector.stories.ts +50 -0
  305. package/src/components/project/tagSelector/tagSelector.vue +360 -0
  306. package/src/components/project/tagSelector/tagsDefaults.ts +54 -0
  307. package/src/components/project/tagSelector/types.ts +162 -0
  308. package/src/components/project/tagSelector/utils/el.ts +151 -0
  309. package/src/components/project/tagSelector/utils/utils.ts +30 -0
  310. package/src/components/tabs/tabs/content.vue +24 -0
  311. package/src/components/tabs/tabs/stories/README.md +12 -0
  312. package/src/components/tabs/tabs/tab.vue +49 -0
  313. package/src/components/tabs/tabs/tabs.stories.ts +170 -0
  314. package/src/components/tabs/tabs/tabs.vue +64 -0
  315. package/src/components/tabs/tabs/types.ts +22 -0
  316. package/src/components/tabs/tabs.ts +9 -0
  317. package/src/components/tabsView/tabsView/menu.vue +291 -0
  318. package/src/components/tabsView/tabsView/menuDelimeter.vue +26 -0
  319. package/src/components/tabsView/tabsView/menuItem.vue +125 -0
  320. package/src/components/tabsView/tabsView/menuTitle.vue +46 -0
  321. package/src/components/tabsView/tabsView/store.ts +60 -0
  322. package/src/components/tabsView/tabsView/stories/README.md +22 -0
  323. package/src/components/tabsView/tabsView/tabsView.stories.ts +169 -0
  324. package/src/components/tabsView/tabsView/tabsView.vue +120 -0
  325. package/src/components/tabsView/tabsView/types.ts +118 -0
  326. package/src/components/tabsView/tabsView/utils.ts +27 -0
  327. package/src/components/tabsView/tabsView//320/255/320/273/320/265/320/274/320/265/320/275/321/202/321/213/MenuItem.stories.ts +46 -0
  328. package/src/components/tabsView/tabsView//320/255/320/273/320/265/320/274/320/265/320/275/321/202/321/213/MenuTitle.stories.ts +42 -0
  329. package/src/components/tabsView/tabsView.ts +9 -0
  330. package/src/components/types.ts +6 -0
  331. package/src/core/app.ts +22 -0
  332. package/src/core/core/core.mdx +36 -0
  333. package/src/core/core/core.ts +287 -0
  334. package/src/core/core/events/resize.ts +47 -0
  335. package/src/core/core/events.ts +6 -0
  336. package/src/core/core/jQuery.mdx +41 -0
  337. package/src/core/core/options.ts +52 -0
  338. package/src/core/core/preloaders.ts +31 -0
  339. package/src/core/core/state.ts +61 -0
  340. package/src/core/directives/data.mdx +24 -0
  341. package/src/core/directives/data.ts +25 -0
  342. package/src/core/directives/focus.mdx +28 -0
  343. package/src/core/directives/focus.ts +73 -0
  344. package/src/core/directives/preloader.ts +23 -0
  345. package/src/core/directives/scrollIntoView.mdx +41 -0
  346. package/src/core/directives/scrollIntoView.ts +123 -0
  347. package/src/core/directives/scrollShadow.mdx +23 -0
  348. package/src/core/directives/scrollShadow.ts +27 -0
  349. package/src/core/directives/sticky.mdx +29 -0
  350. package/src/core/directives/sticky.ts +32 -0
  351. package/src/core/directives/swimUp.mdx +27 -0
  352. package/src/core/directives/swimUp.ts +95 -0
  353. package/src/core/directives/tooltip.mdx +13 -0
  354. package/src/core/directives/tooltip.ts +57 -0
  355. package/src/core/icons/gallery.vue +70 -0
  356. package/src/core/icons/icons.mdx +24 -0
  357. package/src/core/icons/icons.stories.ts +14 -0
  358. package/src/core/plugins/core.ts +131 -0
  359. package/src/core/plugins/i18n.ts +189 -0
  360. package/src/core/plugins/piniaTPA.ts +432 -0
  361. package/src/core/plugins/plugins.mdx +82 -0
  362. package/src/core/styles/CSS Variables.stories.ts +17 -0
  363. package/src/core/styles/styles.mdx +26 -0
  364. package/src/core/theme/Variables.stories.ts +16 -0
  365. package/src/core/theme/theme.mdx +117 -0
  366. package/src/core/utils/References/Docs.mdx +23 -0
  367. package/src/core/utils/References/check/Docs.mdx +13 -0
  368. package/src/core/utils/References/check/functions/getDomainRegexp.mdx +13 -0
  369. package/src/core/utils/References/check/functions/isDomain.mdx +19 -0
  370. package/src/core/utils/References/check/functions/isEmail.mdx +20 -0
  371. package/src/core/utils/References/check/functions/isIp.mdx +19 -0
  372. package/src/core/utils/References/check/functions/validUrl.mdx +20 -0
  373. package/src/core/utils/References/clipboard/Docs.mdx +8 -0
  374. package/src/core/utils/References/clipboard/functions/guestLinkToClipboard.mdx +19 -0
  375. package/src/core/utils/References/clipboard/functions/setClipboard.mdx +20 -0
  376. package/src/core/utils/References/date/Docs.mdx +15 -0
  377. package/src/core/utils/References/date/functions/dateFormat.mdx +26 -0
  378. package/src/core/utils/References/date/functions/dateToString.mdx +24 -0
  379. package/src/core/utils/References/date/functions/dateUnformat.mdx +20 -0
  380. package/src/core/utils/References/date/functions/genDate.mdx +24 -0
  381. package/src/core/utils/References/date/functions/genDateMoscow.mdx +20 -0
  382. package/src/core/utils/References/date/functions/getDayOfWeek.mdx +24 -0
  383. package/src/core/utils/References/date/functions/stringToDate.mdx +19 -0
  384. package/src/core/utils/References/device/Docs.mdx +19 -0
  385. package/src/core/utils/References/device/functions/get$scroll.mdx +13 -0
  386. package/src/core/utils/References/device/functions/getCommandKeyLabel.mdx +13 -0
  387. package/src/core/utils/References/device/functions/getElsScroll.mdx +13 -0
  388. package/src/core/utils/References/device/functions/getOS.mdx +15 -0
  389. package/src/core/utils/References/device/functions/getOSAsync.mdx +13 -0
  390. package/src/core/utils/References/device/functions/getScrollTop.mdx +13 -0
  391. package/src/core/utils/References/device/functions/isApp.mdx +13 -0
  392. package/src/core/utils/References/device/functions/isMacOS.mdx +13 -0
  393. package/src/core/utils/References/device/functions/isMobile.mdx +13 -0
  394. package/src/core/utils/References/device/functions/isRetina.mdx +13 -0
  395. package/src/core/utils/References/device/functions/isSafari.mdx +13 -0
  396. package/src/core/utils/References/dom/Docs.mdx +25 -0
  397. package/src/core/utils/References/dom/functions/css.mdx +22 -0
  398. package/src/core/utils/References/dom/functions/genEl.mdx +26 -0
  399. package/src/core/utils/References/dom/functions/isVisible.mdx +21 -0
  400. package/src/core/utils/References/dom/functions/offset.mdx +33 -0
  401. package/src/core/utils/References/dom/functions/querySelectorAllArray.mdx +20 -0
  402. package/src/core/utils/References/dom/functions/querySelectorAllVisible.mdx +20 -0
  403. package/src/core/utils/References/dom/functions/querySelectorVisible.mdx +23 -0
  404. package/src/core/utils/References/dom/functions/querySelectorVisibleLast.mdx +23 -0
  405. package/src/core/utils/References/dom/functions/storage.mdx +26 -0
  406. package/src/core/utils/References/dom/functions/storageClear.mdx +19 -0
  407. package/src/core/utils/References/dom/functions/wrap.mdx +20 -0
  408. package/src/core/utils/References/dom/variables/default.mdx +245 -0
  409. package/src/core/utils/References/image/Docs.mdx +10 -0
  410. package/src/core/utils/References/image/functions/downloadImageFromString.mdx +20 -0
  411. package/src/core/utils/References/image/functions/genFaviconImgHtml.mdx +20 -0
  412. package/src/core/utils/References/keyboard/Docs.mdx +9 -0
  413. package/src/core/utils/References/keyboard/functions/invertKeyboardLayout.mdx +19 -0
  414. package/src/core/utils/References/lodash/Docs.mdx +18 -0
  415. package/src/core/utils/References/lodash/functions/cloneDeep.mdx +27 -0
  416. package/src/core/utils/References/lodash/functions/debounce.mdx +72 -0
  417. package/src/core/utils/References/lodash/functions/merge.mdx +190 -0
  418. package/src/core/utils/References/lodash/functions/throttle.mdx +69 -0
  419. package/src/core/utils/References/lodash/variables/memoize.mdx +42 -0
  420. package/src/core/utils/References/number/Docs.mdx +10 -0
  421. package/src/core/utils/References/number/functions/percentOfNumber.mdx +24 -0
  422. package/src/core/utils/References/number/functions/randomBySeed.mdx +21 -0
  423. package/src/core/utils/References/price/Docs.mdx +9 -0
  424. package/src/core/utils/References/price/functions/genPrice.mdx +26 -0
  425. package/src/core/utils/References/route/Docs.mdx +14 -0
  426. package/src/core/utils/References/route/functions/delHash.mdx +24 -0
  427. package/src/core/utils/References/route/functions/genHash.mdx +24 -0
  428. package/src/core/utils/References/route/functions/getHash.mdx +20 -0
  429. package/src/core/utils/References/route/functions/historySetState.mdx +29 -0
  430. package/src/core/utils/References/route/functions/setHash.mdx +24 -0
  431. package/src/core/utils/References/route/functions/setHashs.mdx +20 -0
  432. package/src/core/utils/References/scroll/Docs.mdx +13 -0
  433. package/src/core/utils/References/scroll/functions/amountScrolled.mdx +15 -0
  434. package/src/core/utils/References/scroll/functions/connectScrollShadow.mdx +26 -0
  435. package/src/core/utils/References/scroll/functions/genHasScroll.mdx +23 -0
  436. package/src/core/utils/References/scroll/functions/getScrollPercent.mdx +19 -0
  437. package/src/core/utils/References/scroll/functions/unconnectScrollShadow.mdx +17 -0
  438. package/src/core/utils/References/searchers/Docs.mdx +17 -0
  439. package/src/core/utils/References/searchers/functions/genVolumeLabel.mdx +24 -0
  440. package/src/core/utils/References/searchers/functions/getDeviceGIcon.mdx +19 -0
  441. package/src/core/utils/References/searchers/functions/getLangLabel.mdx +20 -0
  442. package/src/core/utils/References/searchers/functions/getSearcherGIcon.mdx +19 -0
  443. package/src/core/utils/References/searchers/functions/prepareVolumeType.mdx +20 -0
  444. package/src/core/utils/References/searchers/variables/searchersNames.mdx +83 -0
  445. package/src/core/utils/References/store/Docs.mdx +22 -0
  446. package/src/core/utils/References/store/functions/defineStore.mdx +34 -0
  447. package/src/core/utils/References/store/functions/useStore.mdx +27 -0
  448. package/src/core/utils/References/store/interfaces/Store.mdx +29 -0
  449. package/src/core/utils/References/store/variables/plugin.mdx +64 -0
  450. package/src/core/utils/References/string/Docs.mdx +24 -0
  451. package/src/core/utils/References/string/functions/addCommasWhite.mdx +19 -0
  452. package/src/core/utils/References/string/functions/addLinkTags.mdx +21 -0
  453. package/src/core/utils/References/string/functions/camelToSnakeCase.mdx +19 -0
  454. package/src/core/utils/References/string/functions/ellipsis.mdx +24 -0
  455. package/src/core/utils/References/string/functions/genFlagLinkByCountryCode.mdx +23 -0
  456. package/src/core/utils/References/string/functions/genIntHash.mdx +19 -0
  457. package/src/core/utils/References/string/functions/getRandomHash.mdx +19 -0
  458. package/src/core/utils/References/string/functions/highlightHtml.mdx +23 -0
  459. package/src/core/utils/References/string/functions/htmlspecialchars.mdx +19 -0
  460. package/src/core/utils/References/string/functions/isUrl.mdx +19 -0
  461. package/src/core/utils/References/string/functions/nl2br.mdx +19 -0
  462. package/src/core/utils/References/string/functions/numberEnding.mdx +26 -0
  463. package/src/core/utils/References/string/functions/numberWithWord.mdx +26 -0
  464. package/src/core/utils/References/string/functions/rusToLatin.mdx +19 -0
  465. package/src/core/utils/References/string/functions/toCapitalize.mdx +19 -0
  466. package/src/core/utils/References/string/functions/toRoditPadej.mdx +19 -0
  467. package/src/core/utils/References/system/Docs.mdx +11 -0
  468. package/src/core/utils/References/system/functions/sleep.mdx +19 -0
  469. package/src/core/utils/References/system/functions/sleepWhile.mdx +27 -0
  470. package/src/core/utils/References/system/functions/waitWhile.mdx +27 -0
  471. package/src/core/utils/References/url/Docs.mdx +15 -0
  472. package/src/core/utils/References/url/functions/decode.mdx +19 -0
  473. package/src/core/utils/References/url/functions/encode.mdx +19 -0
  474. package/src/core/utils/References/url/functions/fromPuny.mdx +21 -0
  475. package/src/core/utils/References/url/functions/getHost.mdx +19 -0
  476. package/src/core/utils/References/url/functions/hostToLowerCase.mdx +19 -0
  477. package/src/core/utils/References/url/functions/normalize.mdx +19 -0
  478. package/src/core/utils/References/url/functions/toPuny.mdx +21 -0
  479. package/src/core/utils/check.ts +88 -0
  480. package/src/core/utils/clipboard.ts +51 -0
  481. package/src/core/utils/date.ts +340 -0
  482. package/src/core/utils/device.ts +139 -0
  483. package/src/core/utils/dom.ts +182 -0
  484. package/src/core/utils/image.ts +46 -0
  485. package/src/core/utils/keyboard.ts +29 -0
  486. package/src/core/utils/lodash.ts +18 -0
  487. package/src/core/utils/number.ts +37 -0
  488. package/src/core/utils/price.ts +24 -0
  489. package/src/core/utils/route.ts +130 -0
  490. package/src/core/utils/scroll.ts +120 -0
  491. package/src/core/utils/searchers.ts +191 -0
  492. package/src/core/utils/store/localStorage.ts +56 -0
  493. package/src/core/utils/store/plugin.ts +50 -0
  494. package/src/core/utils/store/store.ts +77 -0
  495. package/src/core/utils/store.ts +7 -0
  496. package/src/core/utils/string.ts +336 -0
  497. package/src/core/utils/system.ts +72 -0
  498. package/src/core/utils/url.ts +138 -0
  499. package/src/core/utils/utils.mdx +6 -0
  500. package/src/d.ts +12 -0
  501. package/src/icomoon.d.ts +98 -0
  502. package/src/resources/styles/core/components/bage.css +16 -0
  503. package/src/resources/styles/core/components/components.css +94 -0
  504. package/src/resources/styles/core/components/formsCaption.css +43 -0
  505. package/src/resources/styles/core/components/jquery.css +19 -0
  506. package/src/resources/styles/core/core.ts +15 -0
  507. package/src/resources/styles/core/forms/clear.css +20 -0
  508. package/src/resources/styles/core/forms/controls.css +20 -0
  509. package/src/resources/styles/core/forms/focusable.css +26 -0
  510. package/src/resources/styles/core/forms/forms.css +156 -0
  511. package/src/resources/styles/core/icon.css +58 -0
  512. package/src/resources/styles/core/jquery.css +1 -0
  513. package/src/resources/styles/core/layout.css +59 -0
  514. package/src/resources/styles/core/modifiers/as.css +9 -0
  515. package/src/resources/styles/core/modifiers/ellipsis.css +26 -0
  516. package/src/resources/styles/core/modifiers/modifiers.css +120 -0
  517. package/src/resources/styles/core/modifiers/only.css +23 -0
  518. package/src/resources/styles/core/modifiers/scrollBar.css +52 -0
  519. package/src/resources/styles/core/modifiers/scrollShadow.css +50 -0
  520. package/src/resources/styles/core/select.css +15 -0
  521. package/src/resources/styles/storybook.css +11 -0
  522. package/src/resources/styles/themes/dark/dark-layout.css +47 -0
  523. package/src/resources/styles/themes/dark/dark-positions.css +66 -0
  524. package/src/resources/styles/themes/dark/dark.css +405 -0
  525. package/src/resources/styles/themes/dark-positions.ts +1 -0
  526. package/src/resources/styles/themes/dark-th/dark-th-layout.css +47 -0
  527. package/src/resources/styles/themes/dark-th/dark-th-positions.css +67 -0
  528. package/src/resources/styles/themes/dark-th/dark-th.css +405 -0
  529. package/src/resources/styles/themes/dark-th-positions.ts +1 -0
  530. package/src/resources/styles/themes/dark-th.ts +3 -0
  531. package/src/resources/styles/themes/dark.ts +3 -0
  532. package/src/resources/styles/themes/light/light-layout.css +47 -0
  533. package/src/resources/styles/themes/light/light-positions.css +66 -0
  534. package/src/resources/styles/themes/light/light.css +405 -0
  535. package/src/resources/styles/themes/light-positions.ts +1 -0
  536. package/src/resources/styles/themes/light.ts +3 -0
  537. package/src/storybook/components/color.vue +47 -0
  538. package/src/storybook/components/cssVariables.vue +195 -0
  539. package/src/storybook/components/icomoon.ts +40 -0
  540. package/src/storybook/jquery.ts +4 -0
  541. package/src//320/221/321/213/321/201/321/202/321/200/321/213/320/271 /321/201/321/202/320/260/321/200/321/202.mdx" +181 -0
  542. package/src//320/223/320/260/320/271/320/264/320/273/320/260/320/271/320/275.mdx +120 -0
  543. package/src//320/230/320/275/321/204/320/276/321/200/320/274/320/260/321/206/320/270/321/217 /320/276 /321/201/320/261/320/276/321/200/320/272/320/265.mdx" +14 -0
  544. package/src//320/240/320/260/320/267/321/200/320/260/320/261/320/276/321/202/320/272/320/260 (Contributing)/CSS/FAQ.mdx" +43 -0
  545. package/src//320/240/320/260/320/267/321/200/320/260/320/261/320/276/321/202/320/272/320/260 (Contributing)/CSS//320/236/320/261/321/211/320/270/320/265 /320/274/320/276/320/264/320/270/321/204/320/270/320/272/320/260/321/202/320/276/321/200/321/213.mdx" +155 -0
  546. package/src//320/240/320/260/320/267/321/200/320/260/320/261/320/276/321/202/320/272/320/260 (Contributing)/CSS//320/237/320/265/321/200/320/265/320/274/320/265/320/275/320/275/321/213/320/265.mdx" +35 -0
  547. package/src//320/240/320/260/320/267/321/200/320/260/320/261/320/276/321/202/320/272/320/260 (Contributing)/CSS//320/237/321/200/320/265/320/264/320/277/321/200/320/276/321/206/320/265/321/201/321/201/320/276/321/200/321/213.mdx" +15 -0
  548. package/src//320/240/320/260/320/267/321/200/320/260/320/261/320/276/321/202/320/272/320/260 (Contributing)/CSS//320/240/320/265/320/272/320/276/320/274/320/265/320/275/320/264/320/260/321/206/320/270/320/270 /320/221/320/255/320/234.mdx" +56 -0
  549. package/src//320/240/320/260/320/267/321/200/320/260/320/261/320/276/321/202/320/272/320/260 (Contributing)/CSS//320/241/321/202/320/270/320/273/320/270.mdx" +53 -0
  550. package/src//320/240/320/260/320/267/321/200/320/260/320/261/320/276/321/202/320/272/320/260 (Contributing)/CSS//320/247/321/202/320/276 /321/202/320/260/320/272/320/276/320/265 css /320/274/320/276/320/264/321/203/320/273/321/214.mdx" +55 -0
  551. package/src//320/240/320/260/320/267/321/200/320/260/320/261/320/276/321/202/320/272/320/260 (Contributing)/PUBLISH.md.mdx" +4 -0
  552. package/src//320/240/320/260/320/267/321/200/320/260/320/261/320/276/321/202/320/272/320/260 (Contributing)/README.md.mdx" +4 -0
  553. package/src//320/240/320/260/320/267/321/200/320/260/320/261/320/276/321/202/320/272/320/260 (Contributing)//320/222/320/262/320/265/320/264/320/265/320/275/320/270/320/265 /320/262 NPM.md.mdx" +4 -0
  554. package/src//320/240/320/260/320/267/321/200/320/260/320/261/320/276/321/202/320/272/320/260 (Contributing)//320/224/320/276/320/277/320/276/320/273/320/275/320/270/321/202/320/265/320/273/321/214/320/275/320/260/321/217 /320/273/320/270/321/202/320/265/321/200/320/260/321/202/321/203/321/200/320/260.mdx" +15 -0
  555. package/src//320/240/320/260/320/267/321/200/320/260/320/261/320/276/321/202/320/272/320/260 (Contributing)//320/230/321/201/320/277/320/276/320/273/321/214/320/267/320/276/320/262/320/260/320/275/320/270/320/265 /320/262 /320/277/321/200/320/276/320/265/320/272/321/202/320/260/321/205.mdx" +3 -0
  556. package/src//320/240/320/260/320/267/321/200/320/260/320/261/320/276/321/202/320/272/320/260 (Contributing)//320/241/321/202/320/260/320/275/320/264/320/260/321/200/321/202/321/213 /320/272/320/276/320/264/320/260//320/235/320/260/321/201/321/202/321/200/320/276/320/271/320/272/320/260 IDE.mdx" +45 -0
  557. package/src//320/240/320/260/320/267/321/200/320/260/320/261/320/276/321/202/320/272/320/260 (Contributing)//320/241/321/202/320/260/320/275/320/264/320/260/321/200/321/202/321/213 /320/272/320/276/320/264/320/260//320/236/321/204/320/276/321/200/320/274/320/273/320/265/320/275/320/270/320/265 /320/272/320/276/320/264/320/260.mdx" +33 -0
  558. package/src//320/240/320/260/320/267/321/200/320/260/320/261/320/276/321/202/320/272/320/260 (Contributing)//320/241/321/202/320/260/320/275/320/264/320/260/321/200/321/202/321/213 /320/272/320/276/320/264/320/260//320/241/321/202/320/260/320/275/320/264/320/260/321/200/321/202/321/213 /320/272/320/276/320/264/320/260.mdx" +29 -0
  559. package/src//320/240/320/260/320/267/321/200/320/260/320/261/320/276/321/202/320/272/320/260 (Contributing)//320/241/321/202/321/200/321/203/320/272/321/202/321/203/321/200/320/260 UI//320/232/320/276/320/274/320/277/320/276/320/275/320/265/320/275/321/202/321/213//320/232/320/276/320/274/320/277/320/276/320/275/320/265/320/275/321/202/321/213.mdx" +40 -0
  560. package/src//320/240/320/260/320/267/321/200/320/260/320/261/320/276/321/202/320/272/320/260 (Contributing)//320/241/321/202/321/200/321/203/320/272/321/202/321/203/321/200/320/260 UI//320/232/320/276/320/274/320/277/320/276/320/275/320/265/320/275/321/202/321/213//320/241/321/202/320/270/320/273/320/270 /320/272/320/276/320/274/320/277/320/276/320/275/320/265/320/275/321/202/321/213.mdx" +58 -0
  561. package/src//320/240/320/260/320/267/321/200/320/260/320/261/320/276/321/202/320/272/320/260 (Contributing)//320/241/321/202/321/200/321/203/320/272/321/202/321/203/321/200/320/260 UI//320/241/321/202/321/200/321/203/320/272/321/202/321/203/321/200/320/260 UI.mdx" +11 -0
  562. package/src//320/240/320/260/320/267/321/200/320/260/320/261/320/276/321/202/320/272/320/260 (Contributing)//320/241/321/202/321/200/321/203/320/272/321/202/321/203/321/200/320/260 UI//320/243/321/202/320/270/320/273/320/270/321/202/321/213.mdx" +5 -0
  563. package/storybook-dev.sh +14 -0
  564. package/tsconfig.json +91 -0
  565. package/typedoc.json +20 -0
  566. package/vite.config.ts +150 -0
  567. package/.chunks/core-CwjGTMhd.es.js +0 -197
  568. package/.chunks/core-CwjGTMhd.es.js.map +0 -1
  569. package/.chunks/core-D2o3elGA.amd.js +0 -2
  570. package/.chunks/core-D2o3elGA.amd.js.map +0 -1
  571. package/.chunks/datepicker-Byyye2pn.amd.js +0 -2
  572. package/.chunks/datepicker-Byyye2pn.amd.js.map +0 -1
  573. package/.chunks/datepicker-N83oX3hx.es.js +0 -44
  574. package/.chunks/datepicker-N83oX3hx.es.js.map +0 -1
  575. package/.chunks/dialog_selectorRegions-lYV2SJBx.es.js +0 -188
  576. package/.chunks/dialog_selectorRegions-lYV2SJBx.es.js.map +0 -1
  577. package/.chunks/dialog_selectorRegions-pDIYvl7b.amd.js +0 -2
  578. package/.chunks/dialog_selectorRegions-pDIYvl7b.amd.js.map +0 -1
  579. package/.chunks/dialogs.vue_vue_type_script_setup_true_lang-B14m3p7q.amd.js +0 -2
  580. package/.chunks/dialogs.vue_vue_type_script_setup_true_lang-B14m3p7q.amd.js.map +0 -1
  581. package/.chunks/dialogs.vue_vue_type_script_setup_true_lang-X3S_WcSV.es.js +0 -306
  582. package/.chunks/dialogs.vue_vue_type_script_setup_true_lang-X3S_WcSV.es.js.map +0 -1
  583. package/.chunks/forms-C-fyoosd.es.js +0 -2039
  584. package/.chunks/forms-C-fyoosd.es.js.map +0 -1
  585. package/.chunks/forms-DO87ZZk9.amd.js +0 -3
  586. package/.chunks/forms-DO87ZZk9.amd.js.map +0 -1
  587. package/.chunks/listItem.vue_vue_type_script_setup_true_lang-BJTTvdc7.es.js +0 -181
  588. package/.chunks/listItem.vue_vue_type_script_setup_true_lang-BJTTvdc7.es.js.map +0 -1
  589. package/.chunks/listItem.vue_vue_type_script_setup_true_lang-DDQSxC8E.amd.js +0 -2
  590. package/.chunks/listItem.vue_vue_type_script_setup_true_lang-DDQSxC8E.amd.js.map +0 -1
  591. package/.chunks/menu.vue_vue_type_style_index_0_lang-7eYwnVLw.amd.js +0 -2
  592. package/.chunks/menu.vue_vue_type_style_index_0_lang-7eYwnVLw.amd.js.map +0 -1
  593. package/.chunks/menu.vue_vue_type_style_index_0_lang-Bi9Z81pC.es.js +0 -109
  594. package/.chunks/menu.vue_vue_type_style_index_0_lang-Bi9Z81pC.es.js.map +0 -1
  595. package/.chunks/notice-B8nfJMJN.amd.js +0 -4
  596. package/.chunks/notice-B8nfJMJN.amd.js.map +0 -1
  597. package/.chunks/notice-DCONQ8rR.es.js +0 -175
  598. package/.chunks/notice-DCONQ8rR.es.js.map +0 -1
  599. package/.chunks/page.vue_vue_type_script_setup_true_lang-Cg3dLy7K.amd.js +0 -2
  600. package/.chunks/page.vue_vue_type_script_setup_true_lang-Cg3dLy7K.amd.js.map +0 -1
  601. package/.chunks/page.vue_vue_type_script_setup_true_lang-Dze2ZUr3.es.js +0 -143
  602. package/.chunks/page.vue_vue_type_script_setup_true_lang-Dze2ZUr3.es.js.map +0 -1
  603. package/.chunks/popup-PpCQY5Zi.es.js +0 -426
  604. package/.chunks/popup-PpCQY5Zi.es.js.map +0 -1
  605. package/.chunks/popup-XXfdNLmr.amd.js +0 -2
  606. package/.chunks/popup-XXfdNLmr.amd.js.map +0 -1
  607. package/.chunks/punycode.es6-C2yitnNb.amd.js +0 -2
  608. package/.chunks/punycode.es6-C2yitnNb.amd.js.map +0 -1
  609. package/.chunks/punycode.es6-CNI-zL6U.es.js +0 -134
  610. package/.chunks/punycode.es6-CNI-zL6U.es.js.map +0 -1
  611. package/.chunks/store-CX_6ZXhO.es.js +0 -29
  612. package/.chunks/store-CX_6ZXhO.es.js.map +0 -1
  613. package/.chunks/store-esTid5oI.amd.js +0 -2
  614. package/.chunks/store-esTid5oI.amd.js.map +0 -1
  615. package/.chunks/utils-BcKnFj1j.es.js +0 -227
  616. package/.chunks/utils-BcKnFj1j.es.js.map +0 -1
  617. package/.chunks/utils-DAIrXU57.amd.js +0 -2
  618. package/.chunks/utils-DAIrXU57.amd.js.map +0 -1
  619. package/.chunks/utils-DsICGMuv.es.js +0 -79
  620. package/.chunks/utils-DsICGMuv.es.js.map +0 -1
  621. package/.chunks/utils-pvFg1FqE.amd.js +0 -2
  622. package/.chunks/utils-pvFg1FqE.amd.js.map +0 -1
  623. package/assets/charts.css +0 -1
  624. package/assets/core.css +0 -1
  625. package/assets/dialog_selectorRegions.css +0 -1
  626. package/assets/extra.css +0 -1
  627. package/assets/forms.css +0 -1
  628. package/assets/formsExt.css +0 -1
  629. package/assets/layout.css +0 -1
  630. package/assets/listItem.css +0 -1
  631. package/assets/menu.css +0 -1
  632. package/assets/notice.css +0 -1
  633. package/assets/popup.css +0 -1
  634. package/assets/project.css +0 -1
  635. package/assets/tabs.css +0 -1
  636. package/assets/tabsView.css +0 -1
  637. package/assets/themes/dark-th.css +0 -1
  638. package/assets/themes/dark.css +0 -1
  639. package/assets/themes/light.css +0 -1
  640. package/charts/charts.amd.js +0 -2
  641. package/charts/charts.amd.js.map +0 -1
  642. package/charts/charts.d.ts +0 -2
  643. package/charts/charts.js +0 -178
  644. package/charts/charts.js.map +0 -1
  645. package/components/charts/charts.d.ts +0 -5
  646. package/components/charts/miniChart/miniChart.vue.d.ts +0 -15
  647. package/components/charts/miniChart/stories/dummy.d.ts +0 -13
  648. package/components/charts/miniChart/types.d.ts +0 -92
  649. package/components/charts/miniChart/utils/consts.d.ts +0 -8
  650. package/components/charts/miniCharts/miniCharts.d.ts +0 -20
  651. package/components/charts/miniCharts/miniCharts.vue.d.ts +0 -32
  652. package/components/charts/miniCharts/stories/dummy.d.ts +0 -6
  653. package/components/core/notice/item/item.vue.d.ts +0 -10
  654. package/components/core/notice/item/types.d.ts +0 -63
  655. package/components/core/notice/notice.vue.d.ts +0 -5
  656. package/components/core/notice/utils.d.ts +0 -27
  657. package/components/dialog/dialog/composables/asyncDialogHandle.d.ts +0 -51
  658. package/components/dialog/dialog/composables/dialogHandle.d.ts +0 -108
  659. package/components/dialog/dialog/composables/types.d.ts +0 -11
  660. package/components/dialog/dialog/composables/utils.d.ts +0 -21
  661. package/components/dialog/dialog/dialog.vue.d.ts +0 -28
  662. package/components/dialog/dialog/dialogs/dialogs.vue.d.ts +0 -10
  663. package/components/dialog/dialog/page/page.vue.d.ts +0 -19
  664. package/components/dialog/dialog/page/types.d.ts +0 -72
  665. package/components/dialog/dialog/pageComponent/pageComponent.vue.d.ts +0 -6
  666. package/components/dialog/dialog/pageComponent/types.d.ts +0 -18
  667. package/components/dialog/dialog/stories/autoload.d.ts +0 -2
  668. package/components/dialog/dialog/stories/dialog_example/pages/utils.d.ts +0 -7
  669. package/components/dialog/dialog/types.d.ts +0 -58
  670. package/components/dialog/dialog.d.ts +0 -6
  671. package/components/dialog/lib/types.d.ts +0 -21
  672. package/components/dialog/lib/utils.d.ts +0 -14
  673. package/components/dialog/lib/utils.globalEvents.d.ts +0 -8
  674. package/components/dialog/lib/worker.d.ts +0 -75
  675. package/components/extra/extra.d.ts +0 -3
  676. package/components/extra/rive/rive.vue.d.ts +0 -11
  677. package/components/extra/rive/types.d.ts +0 -7
  678. package/components/forms/avatar/avatar.vue.d.ts +0 -10
  679. package/components/forms/avatar/types.d.ts +0 -32
  680. package/components/forms/button/button.vue.d.ts +0 -24
  681. package/components/forms/button/types.d.ts +0 -39
  682. package/components/forms/caption/caption.vue.d.ts +0 -17
  683. package/components/forms/caption/types.d.ts +0 -9
  684. package/components/forms/checkbox/checkbox.vue.d.ts +0 -27
  685. package/components/forms/checkbox/types.d.ts +0 -21
  686. package/components/forms/controlLabel/controlLabel.vue.d.ts +0 -19
  687. package/components/forms/controlLabel/types.d.ts +0 -4
  688. package/components/forms/forms.d.ts +0 -31
  689. package/components/forms/hint/hint.vue.d.ts +0 -4
  690. package/components/forms/hint/types.d.ts +0 -8
  691. package/components/forms/input/input.vue.d.ts +0 -27
  692. package/components/forms/input/types.d.ts +0 -23
  693. package/components/forms/inputDate/datepicker.d.ts +0 -5
  694. package/components/forms/inputDate/inputDate.vue.d.ts +0 -12
  695. package/components/forms/inputDate/types.d.ts +0 -1
  696. package/components/forms/inputRange/inputRange.vue.d.ts +0 -19
  697. package/components/forms/inputRange/types.d.ts +0 -2
  698. package/components/forms/loadbar/loadbar.vue.d.ts +0 -3
  699. package/components/forms/preloader/preloader.vue.d.ts +0 -4
  700. package/components/forms/preloader/types.d.ts +0 -3
  701. package/components/forms/radio/radio.vue.d.ts +0 -23
  702. package/components/forms/radio/types.d.ts +0 -14
  703. package/components/forms/select/select.vue.d.ts +0 -17
  704. package/components/forms/select/stories/exampleOptions.d.ts +0 -5
  705. package/components/forms/select/types.d.ts +0 -58
  706. package/components/forms/switcher/switcher.vue.d.ts +0 -23
  707. package/components/forms/switcher/types.d.ts +0 -21
  708. package/components/forms/textarea/textarea.vue.d.ts +0 -12
  709. package/components/forms/textarea/types.d.ts +0 -44
  710. package/components/formsExt/checkboxGroup/checkboxGroup.vue.d.ts +0 -16
  711. package/components/formsExt/checkboxGroup/stories/example.d.ts +0 -15
  712. package/components/formsExt/checkboxGroup/types.d.ts +0 -19
  713. package/components/formsExt/editArea/editArea.vue.d.ts +0 -18
  714. package/components/formsExt/editArea/types.d.ts +0 -33
  715. package/components/formsExt/editInput/editInput.vue.d.ts +0 -8
  716. package/components/formsExt/editInput/types.d.ts +0 -16
  717. package/components/formsExt/formsExt.d.ts +0 -15
  718. package/components/formsExt/info/info.vue.d.ts +0 -20
  719. package/components/formsExt/info/types.d.ts +0 -21
  720. package/components/formsExt/menu/menu.vue.d.ts +0 -16
  721. package/components/formsExt/menu/stories/items.d.ts +0 -3
  722. package/components/formsExt/menu/types.d.ts +0 -37
  723. package/components/formsExt/radioGroup/radioGroup.vue.d.ts +0 -16
  724. package/components/formsExt/radioGroup/stories/example.d.ts +0 -20
  725. package/components/formsExt/radioGroup/types.d.ts +0 -21
  726. package/components/formsExt/selector2/composables/useAPI.d.ts +0 -30
  727. package/components/formsExt/selector2/composables/useMenu.d.ts +0 -12
  728. package/components/formsExt/selector2/itemMulti.vue.d.ts +0 -8
  729. package/components/formsExt/selector2/selector2.vue.d.ts +0 -210
  730. package/components/formsExt/selector2/stories/dummyAPIRequest.d.ts +0 -10
  731. package/components/formsExt/selector2/types.d.ts +0 -134
  732. package/components/formsExt/selector2/utils.d.ts +0 -6
  733. package/components/layout/islandRows/islandRows.vue.d.ts +0 -17
  734. package/components/layout/islandRows/islandRowsRow/islandRowsRow.vue.d.ts +0 -18
  735. package/components/layout/islandRows/islandRowsRow/types.d.ts +0 -2
  736. package/components/layout/islandRows/islandRowsSubTitle/islandRowsSubTitle.vue.d.ts +0 -18
  737. package/components/layout/islandRows/types.d.ts +0 -10
  738. package/components/layout/layout.d.ts +0 -9
  739. package/components/layout/rows/rows.vue.d.ts +0 -21
  740. package/components/layout/rows/types.d.ts +0 -6
  741. package/components/popup/alert/alert.vue.d.ts +0 -31
  742. package/components/popup/alert/types.d.ts +0 -8
  743. package/components/popup/confirm/confirm.vue.d.ts +0 -33
  744. package/components/popup/confirm/types.d.ts +0 -21
  745. package/components/popup/lib/popup.d.ts +0 -83
  746. package/components/popup/lib/popup.globalEvents.d.ts +0 -32
  747. package/components/popup/lib/worker.d.ts +0 -75
  748. package/components/popup/lib/worker.globalEvents.d.ts +0 -19
  749. package/components/popup/popup/listItem.vue.d.ts +0 -22
  750. package/components/popup/popup/opener.vue.d.ts +0 -23
  751. package/components/popup/popup/popup.vue.d.ts +0 -40
  752. package/components/popup/popup/types.d.ts +0 -101
  753. package/components/popup/popup/widgetInput.vue.d.ts +0 -17
  754. package/components/popup/popup.d.ts +0 -15
  755. package/components/popup/prompt/prompt.vue.d.ts +0 -33
  756. package/components/popup/prompt/types.d.ts +0 -21
  757. package/components/project/project.d.ts +0 -15
  758. package/components/project/selectorCompetitors/composables.d.ts +0 -3
  759. package/components/project/selectorCompetitors/selectorCompetitors.vue.d.ts +0 -14
  760. package/components/project/selectorCompetitors/stories/items.d.ts +0 -3
  761. package/components/project/selectorCompetitors/types.d.ts +0 -30
  762. package/components/project/selectorRegion/composables/compare.d.ts +0 -12
  763. package/components/project/selectorRegion/composables/selectRegion.d.ts +0 -13
  764. package/components/project/selectorRegion/composables/selectSearcher.d.ts +0 -13
  765. package/components/project/selectorRegion/composables/selectorRegion.d.ts +0 -25
  766. package/components/project/selectorRegion/dialog_selectorRegions/dialog_selectorRegions.vue.d.ts +0 -6
  767. package/components/project/selectorRegion/dialog_selectorRegions/types.d.ts +0 -26
  768. package/components/project/selectorRegion/selectorRegion.vue.d.ts +0 -23
  769. package/components/project/selectorRegion/stories/searchers.d.ts +0 -3
  770. package/components/project/selectorRegion/types.d.ts +0 -172
  771. package/components/project/selectorRegion/utils/consts.d.ts +0 -31
  772. package/components/project/selectorRegion/utils/utils.d.ts +0 -34
  773. package/components/project/tagSelector/popupListItem/tagPopupListItem.vue.d.ts +0 -20
  774. package/components/project/tagSelector/popupListItem/types.d.ts +0 -33
  775. package/components/project/tagSelector/popupOpener/popupOpener.vue.d.ts +0 -27
  776. package/components/project/tagSelector/popupOpener/types.d.ts +0 -64
  777. package/components/project/tagSelector/tagIcon/tagIcon.vue.d.ts +0 -4
  778. package/components/project/tagSelector/tagIcon/types.d.ts +0 -21
  779. package/components/project/tagSelector/tagSelector.vue.d.ts +0 -37
  780. package/components/project/tagSelector/tagsDefaults.d.ts +0 -3
  781. package/components/project/tagSelector/types.d.ts +0 -140
  782. package/components/project/tagSelector/utils/el.d.ts +0 -19
  783. package/components/project/tagSelector/utils/utils.d.ts +0 -14
  784. package/components/tabs/tabs/content.vue.d.ts +0 -19
  785. package/components/tabs/tabs/tab.vue.d.ts +0 -19
  786. package/components/tabs/tabs/tabs.vue.d.ts +0 -21
  787. package/components/tabs/tabs/types.d.ts +0 -19
  788. package/components/tabs/tabs.d.ts +0 -7
  789. package/components/tabsView/tabsView/menu.vue.d.ts +0 -32
  790. package/components/tabsView/tabsView/menuDelimeter.vue.d.ts +0 -3
  791. package/components/tabsView/tabsView/menuItem.vue.d.ts +0 -23
  792. package/components/tabsView/tabsView/menuTitle.vue.d.ts +0 -20
  793. package/components/tabsView/tabsView/store.d.ts +0 -12
  794. package/components/tabsView/tabsView/tabsView.vue.d.ts +0 -34
  795. package/components/tabsView/tabsView/types.d.ts +0 -98
  796. package/components/tabsView/tabsView/utils.d.ts +0 -11
  797. package/components/tabsView/tabsView.d.ts +0 -7
  798. package/core/app.amd.js +0 -2
  799. package/core/app.amd.js.map +0 -1
  800. package/core/app.d.ts +0 -8
  801. package/core/app.js +0 -214
  802. package/core/app.js.map +0 -1
  803. package/core/core/core.d.ts +0 -113
  804. package/core/core/events/resize.d.ts +0 -16
  805. package/core/core/events.d.ts +0 -15
  806. package/core/core/options.d.ts +0 -46
  807. package/core/core/preloaders.d.ts +0 -19
  808. package/core/core/state.d.ts +0 -49
  809. package/core/directives/data.d.ts +0 -10
  810. package/core/directives/focus.d.ts +0 -10
  811. package/core/directives/preloader.d.ts +0 -8
  812. package/core/directives/scrollIntoView.d.ts +0 -3
  813. package/core/directives/scrollShadow.d.ts +0 -15
  814. package/core/directives/sticky.d.ts +0 -10
  815. package/core/directives/swimUp.d.ts +0 -15
  816. package/core/directives/tooltip.d.ts +0 -10
  817. package/core/plugins/core.d.ts +0 -60
  818. package/core/plugins/i18n.d.ts +0 -97
  819. package/core/plugins/piniaTPA.d.ts +0 -17
  820. package/core/utils/check.d.ts +0 -26
  821. package/core/utils/clipboard.d.ts +0 -12
  822. package/core/utils/date.d.ts +0 -52
  823. package/core/utils/device.d.ts +0 -50
  824. package/core/utils/dom.d.ts +0 -94
  825. package/core/utils/image.d.ts +0 -16
  826. package/core/utils/keyboard.d.ts +0 -8
  827. package/core/utils/lodash.d.ts +0 -6
  828. package/core/utils/number.d.ts +0 -17
  829. package/core/utils/price.d.ts +0 -10
  830. package/core/utils/route.d.ts +0 -33
  831. package/core/utils/scroll.d.ts +0 -32
  832. package/core/utils/searchers.d.ts +0 -38
  833. package/core/utils/store/localStorage.d.ts +0 -6
  834. package/core/utils/store/plugin.d.ts +0 -24
  835. package/core/utils/store/store.d.ts +0 -34
  836. package/core/utils/store.d.ts +0 -6
  837. package/core/utils/string.d.ts +0 -100
  838. package/core/utils/system.d.ts +0 -25
  839. package/core/utils/url.d.ts +0 -36
  840. package/dialog/dialog.amd.js +0 -2
  841. package/dialog/dialog.amd.js.map +0 -1
  842. package/dialog/dialog.d.ts +0 -2
  843. package/dialog/dialog.js +0 -60
  844. package/dialog/dialog.js.map +0 -1
  845. package/extra/extra.amd.js +0 -2
  846. package/extra/extra.amd.js.map +0 -1
  847. package/extra/extra.d.ts +0 -2
  848. package/extra/extra.js +0 -72
  849. package/extra/extra.js.map +0 -1
  850. package/forms/forms.amd.js +0 -2
  851. package/forms/forms.amd.js.map +0 -1
  852. package/forms/forms.d.ts +0 -2
  853. package/forms/forms.js +0 -19
  854. package/forms/forms.js.map +0 -1
  855. package/forms/helpers.amd.js +0 -2
  856. package/forms/helpers.amd.js.map +0 -1
  857. package/forms/helpers.d.ts +0 -1
  858. package/forms/helpers.js +0 -2
  859. package/forms/helpers.js.map +0 -1
  860. package/formsExt/formsExt.amd.js +0 -2
  861. package/formsExt/formsExt.amd.js.map +0 -1
  862. package/formsExt/formsExt.d.ts +0 -2
  863. package/formsExt/formsExt.js +0 -562
  864. package/formsExt/formsExt.js.map +0 -1
  865. package/icomoon/Topvisor icons.json +0 -6612
  866. package/icomoon/demo.html +0 -3768
  867. package/icomoon/fonts/Topvisor-2.eot +0 -0
  868. package/icomoon/fonts/Topvisor-2.svg +0 -292
  869. package/icomoon/fonts/Topvisor-2.ttf +0 -0
  870. package/icomoon/fonts/Topvisor-2.woff +0 -0
  871. package/icomoon/selection.json +0 -1
  872. package/icomoon/style.css +0 -825
  873. package/layout/layout.amd.js +0 -2
  874. package/layout/layout.amd.js.map +0 -1
  875. package/layout/layout.d.ts +0 -2
  876. package/layout/layout.js +0 -62
  877. package/layout/layout.js.map +0 -1
  878. package/popup/popup.amd.js +0 -2
  879. package/popup/popup.amd.js.map +0 -1
  880. package/popup/popup.d.ts +0 -2
  881. package/popup/popup.js +0 -244
  882. package/popup/popup.js.map +0 -1
  883. package/popup/worker.amd.js +0 -2
  884. package/popup/worker.amd.js.map +0 -1
  885. package/popup/worker.d.ts +0 -2
  886. package/popup/worker.js +0 -129
  887. package/popup/worker.js.map +0 -1
  888. package/project/project.amd.js +0 -2
  889. package/project/project.amd.js.map +0 -1
  890. package/project/project.d.ts +0 -2
  891. package/project/project.js +0 -986
  892. package/project/project.js.map +0 -1
  893. package/tabs/tabs.amd.js +0 -2
  894. package/tabs/tabs.amd.js.map +0 -1
  895. package/tabs/tabs.d.ts +0 -2
  896. package/tabs/tabs.js +0 -81
  897. package/tabs/tabs.js.map +0 -1
  898. package/tabsView/tabsView.amd.js +0 -2
  899. package/tabsView/tabsView.amd.js.map +0 -1
  900. package/tabsView/tabsView.d.ts +0 -2
  901. package/tabsView/tabsView.js +0 -306
  902. package/tabsView/tabsView.js.map +0 -1
  903. package/utils/check.amd.js +0 -2
  904. package/utils/check.amd.js.map +0 -1
  905. package/utils/check.d.ts +0 -2
  906. package/utils/check.js +0 -26
  907. package/utils/check.js.map +0 -1
  908. package/utils/clipboard.amd.js +0 -6
  909. package/utils/clipboard.amd.js.map +0 -1
  910. package/utils/clipboard.d.ts +0 -2
  911. package/utils/clipboard.js +0 -33
  912. package/utils/clipboard.js.map +0 -1
  913. package/utils/date.amd.js +0 -2
  914. package/utils/date.amd.js.map +0 -1
  915. package/utils/date.d.ts +0 -2
  916. package/utils/date.js +0 -11
  917. package/utils/date.js.map +0 -1
  918. package/utils/device.amd.js +0 -2
  919. package/utils/device.amd.js.map +0 -1
  920. package/utils/device.d.ts +0 -2
  921. package/utils/device.js +0 -15
  922. package/utils/device.js.map +0 -1
  923. package/utils/dom.amd.js +0 -2
  924. package/utils/dom.amd.js.map +0 -1
  925. package/utils/dom.d.ts +0 -6
  926. package/utils/dom.js +0 -75
  927. package/utils/dom.js.map +0 -1
  928. package/utils/image.amd.js +0 -12
  929. package/utils/image.amd.js.map +0 -1
  930. package/utils/image.d.ts +0 -2
  931. package/utils/image.js +0 -23
  932. package/utils/image.js.map +0 -1
  933. package/utils/keyboard.amd.js +0 -2
  934. package/utils/keyboard.amd.js.map +0 -1
  935. package/utils/keyboard.d.ts +0 -2
  936. package/utils/keyboard.js +0 -12
  937. package/utils/keyboard.js.map +0 -1
  938. package/utils/lodash.amd.js +0 -2
  939. package/utils/lodash.amd.js.map +0 -1
  940. package/utils/lodash.d.ts +0 -2
  941. package/utils/lodash.js +0 -9
  942. package/utils/lodash.js.map +0 -1
  943. package/utils/number.amd.js +0 -2
  944. package/utils/number.amd.js.map +0 -1
  945. package/utils/number.d.ts +0 -2
  946. package/utils/number.js +0 -13
  947. package/utils/number.js.map +0 -1
  948. package/utils/price.amd.js +0 -2
  949. package/utils/price.amd.js.map +0 -1
  950. package/utils/price.d.ts +0 -2
  951. package/utils/price.js +0 -10
  952. package/utils/price.js.map +0 -1
  953. package/utils/route.amd.js +0 -2
  954. package/utils/route.amd.js.map +0 -1
  955. package/utils/route.d.ts +0 -2
  956. package/utils/route.js +0 -38
  957. package/utils/route.js.map +0 -1
  958. package/utils/scroll.amd.js +0 -2
  959. package/utils/scroll.amd.js.map +0 -1
  960. package/utils/scroll.d.ts +0 -2
  961. package/utils/scroll.js +0 -45
  962. package/utils/scroll.js.map +0 -1
  963. package/utils/searchers.amd.js +0 -2
  964. package/utils/searchers.amd.js.map +0 -1
  965. package/utils/searchers.d.ts +0 -2
  966. package/utils/searchers.js +0 -134
  967. package/utils/searchers.js.map +0 -1
  968. package/utils/store.amd.js +0 -2
  969. package/utils/store.amd.js.map +0 -1
  970. package/utils/store.d.ts +0 -2
  971. package/utils/store.js +0 -7
  972. package/utils/store.js.map +0 -1
  973. package/utils/string.amd.js +0 -2
  974. package/utils/string.amd.js.map +0 -1
  975. package/utils/string.d.ts +0 -2
  976. package/utils/string.js +0 -148
  977. package/utils/string.js.map +0 -1
  978. package/utils/system.amd.js +0 -2
  979. package/utils/system.amd.js.map +0 -1
  980. package/utils/system.d.ts +0 -2
  981. package/utils/system.js +0 -29
  982. package/utils/system.js.map +0 -1
  983. package/utils/url.amd.js +0 -3
  984. package/utils/url.amd.js.map +0 -1
  985. package/utils/url.d.ts +0 -2
  986. package/utils/url.js +0 -48
  987. package/utils/url.js.map +0 -1
  988. /package/{icomoon → public/icomoon}/Read Me.txt +0 -0
  989. /package/{icomoon → public/icomoon}/demo-files/demo.css +0 -0
  990. /package/{icomoon → public/icomoon}/demo-files/demo.js +0 -0
  991. /package/{icomoon → public/icomoon}/demo.css +0 -0
  992. /package/{icomoon → public/icomoon}/demo.js +0 -0
  993. /package/{jquery-ui.min.css → public/jquery-ui.min.css} +0 -0
  994. /package/{require → public/require}/css.amd.js +0 -0
  995. /package/{components/core/notice/types.d.ts → src/components/core/notice/types.ts} +0 -0
  996. /package/{components/forms/helpers.d.ts → src/components/forms/helpers.ts} +0 -0
  997. /package/{components/popup/worker.d.ts → src/components/popup/worker.ts} +0 -0
@@ -1,188 +0,0 @@
1
- import { Core as j } from "../core/app.js";
2
- import { defineComponent as P, ref as R, reactive as D, computed as M, watch as O, resolveComponent as S, createBlock as V, openBlock as d, unref as x, withCtx as u, createVNode as m, createTextVNode as L, toDisplayString as v, createElementVNode as p, createElementBlock as f, Fragment as G, renderList as X, createCommentVNode as k } from "vue";
3
- import { _ as Q, a as q } from "./page.vue_vue_type_script_setup_true_lang-Dze2ZUr3.es.js";
4
- import { b as z } from "./utils-DsICGMuv.es.js";
5
- import { genFlagLinkByCountryCode as H } from "../utils/string.js";
6
- import { getSearcherGIcon as J, getLangLabel as K, getDeviceGIcon as W } from "../utils/searchers.js";
7
- import { C as N } from "./forms-C-fyoosd.es.js";
8
- const w = ["../assets/dialog_selectorRegions.css"].map((y) => import.meta.resolve(y));
9
- j.insertCSSLinkToPage(w, !0);
10
- const Y = { class: "dialog_selectorRegions_header" }, Z = ["data-top-icon"], F = ["src", "alt"], ee = { class: "top-ellipsis" }, oe = { class: "dialog_selectorRegions_regionAreaName" }, te = { key: 1 }, ne = ["data-top-icon"], ue = /* @__PURE__ */ P({
11
- id: "selectorRegions",
12
- __name: "dialog_selectorRegions",
13
- props: {
14
- regions: {},
15
- regionsIndexes: {},
16
- "@update:regionsIndexes": { type: Function }
17
- },
18
- setup(y) {
19
- const a = y, C = z(), l = R([]), i = R(null), _ = D({
20
- searcher_key: -1,
21
- key: -1,
22
- name: -1
23
- }), b = M({
24
- get() {
25
- return l.value.every((o) => o.selected);
26
- },
27
- set(o) {
28
- l.value = l.value.map((n) => ({ ...n, selected: o }));
29
- }
30
- }), h = (o) => {
31
- _[o] = -_[o], l.value.sort((n, e) => !n[o] || !e[o] ? -1 : n[o] >= e[o] ? _[o] : -_[o]);
32
- }, B = () => {
33
- var n;
34
- if (!l.value.some((e) => e.selected)) return;
35
- const o = l.value.filter((e) => e.selected).map((e) => e.index);
36
- (n = a["@update:regionsIndexes"]) == null || n.call(a, o), C.close();
37
- };
38
- O([
39
- () => a.regions,
40
- () => a.regionsIndexes
41
- ], () => {
42
- if (l.value = [], !a.regions || !a.regionsIndexes) return;
43
- let o = [...a.regions];
44
- const n = new Map(a.regionsIndexes.map((e, s) => [e, s]));
45
- o.sort((e, s) => {
46
- const t = n.get(e.index) ?? Number.MAX_VALUE, r = n.get(s.index) ?? Number.MAX_VALUE;
47
- return t - r;
48
- }), o.forEach((e) => {
49
- var I;
50
- let s = e.name;
51
- e.areaName && (s += ` (${e.areaName})`);
52
- const t = ((I = a.regionsIndexes) == null ? void 0 : I.includes(e.index)) ?? !1, r = J(e.searcher_key), g = e.lang !== void 0 ? K(e.searcher_key ?? 999, e.lang) : void 0, c = e.device !== void 0 ? W(e.device) : void 0, U = e.countryCode !== void 0 ? H(e.countryCode) : void 0, E = {
53
- ...e,
54
- selected: t,
55
- title: s,
56
- searcherIcon: r,
57
- langLabel: g,
58
- deviceIcon: c,
59
- flagLink: U
60
- };
61
- l.value.push(E);
62
- });
63
- });
64
- const A = () => {
65
- var o;
66
- if (!((o = N.$) != null && o.ui.sortable)) {
67
- console.info("Для работы сортировки требуется глобальная загрузка jQuery UI Sortable");
68
- return;
69
- }
70
- i.value && $(i.value).sortable({
71
- distance: 10,
72
- stop: () => {
73
- const n = [...i.value.children].map((e) => Number(e.getAttribute("data-region-index")));
74
- l.value.sort((e, s) => n.indexOf(e.index) - n.indexOf(s.index));
75
- }
76
- });
77
- }, T = () => {
78
- var o;
79
- (o = N.$) != null && o.ui.sortable && i.value && $(i.value).sortable("destroy");
80
- };
81
- return (o, n) => {
82
- const e = S("TopCheckbox"), s = S("TopButton");
83
- return d(), V(x(Q), {
84
- id: x(C).id,
85
- pageActive: "selectorRegions",
86
- class: "dialog_selectorRegions",
87
- height: "600px",
88
- width: "600px",
89
- onOpen: A,
90
- onClose: T
91
- }, {
92
- default: u(() => [
93
- m(x(q), {
94
- name: "selectorRegions",
95
- order: 0
96
- }, {
97
- header: u(() => {
98
- var t, r, g;
99
- return [
100
- p("div", Y, [
101
- m(e, {
102
- modelValue: b.value,
103
- "onUpdate:modelValue": n[0] || (n[0] = (c) => b.value = c)
104
- }, null, 8, ["modelValue"]),
105
- m(s, {
106
- class: "dialog_selectorRegions_sortButton",
107
- color: "theme",
108
- "data-top-icon": "",
109
- onClick: n[1] || (n[1] = (c) => h("searcher_key")),
110
- title: (t = o.$i18n.Projects) == null ? void 0 : t.Sort_by_search_engine
111
- }, null, 8, ["title"]),
112
- m(s, {
113
- class: "dialog_selectorRegions_sortButton",
114
- color: "theme",
115
- "data-top-icon": "",
116
- onClick: n[2] || (n[2] = (c) => h("key")),
117
- title: (r = o.$i18n.Projects) == null ? void 0 : r.Sort_by_yande_region_code
118
- }, null, 8, ["title"]),
119
- m(s, {
120
- class: "dialog_selectorRegions_sortButton",
121
- color: "theme",
122
- "data-top-icon": "",
123
- onClick: n[3] || (n[3] = (c) => h("name")),
124
- title: (g = o.$i18n.Projects) == null ? void 0 : g.Sort_by_lphabetically
125
- }, null, 8, ["title"])
126
- ])
127
- ];
128
- }),
129
- body: u(() => [
130
- p("div", {
131
- ref_key: "elRegions",
132
- ref: i
133
- }, [
134
- (d(!0), f(G, null, X(l.value, (t) => (d(), V(e, {
135
- key: t.index,
136
- modelValue: t.selected,
137
- "onUpdate:modelValue": (r) => t.selected = r,
138
- class: "dialog_selectorRegions_region",
139
- "data-region-index": t.index
140
- }, {
141
- default: u(() => [
142
- p("div", {
143
- class: "dialog_selectorRegions_regionSearcherIcon",
144
- "data-top-icon": t.searcherIcon
145
- }, null, 8, Z),
146
- t.flagLink ? (d(), f("img", {
147
- key: 0,
148
- class: "top-flag",
149
- src: "//topvisor.dev" + t.flagLink,
150
- alt: t.countryCode
151
- }, null, 8, F)) : k("", !0),
152
- p("div", ee, [
153
- L(v(t.name) + " ", 1),
154
- p("span", oe, v(t.areaName), 1)
155
- ]),
156
- t.langLabel ? (d(), f("div", te, " [" + v(t.langLabel) + "] ", 1)) : k("", !0),
157
- t.deviceIcon ? (d(), f("div", {
158
- key: 2,
159
- "data-top-icon": t.deviceIcon
160
- }, null, 8, ne)) : k("", !0)
161
- ]),
162
- _: 2
163
- }, 1032, ["modelValue", "onUpdate:modelValue", "data-region-index"]))), 128))
164
- ], 512)
165
- ]),
166
- footer: u(() => [
167
- m(s, { onClick: B }, {
168
- default: u(() => {
169
- var t;
170
- return [
171
- L(v((t = o.$i18n.Common) == null ? void 0 : t.Apply), 1)
172
- ];
173
- }),
174
- _: 1
175
- })
176
- ]),
177
- _: 1
178
- })
179
- ]),
180
- _: 1
181
- }, 8, ["id"]);
182
- };
183
- }
184
- });
185
- export {
186
- ue as default
187
- };
188
- //# sourceMappingURL=dialog_selectorRegions-lYV2SJBx.es.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"dialog_selectorRegions-lYV2SJBx.es.js","sources":["../../src/components/project/selectorRegion/dialog_selectorRegions/dialog_selectorRegions.vue"],"sourcesContent":["<script setup lang=\"ts\">\nimport { computed, reactive, ref, watch } from 'vue';\nimport { TopDialog, TopDialogPage, useTopDialogSelf } from '@/components/dialog/dialog';\nimport { genFlagLinkByCountryCode } from '@/core/utils/string';\nimport type { Props, RegionRich } from './types';\nimport { getDeviceGIcon, getLangLabel, getSearcherGIcon } from '@/core/utils/searchers';\nimport Core from '@/core/core/core';\n\ndefineOptions({ id: 'selectorRegions' });\n\nconst props = defineProps<Partial<Props>>();\n\nconst dialog = useTopDialogSelf();\n\n/**\n * Список расширенных регионов для использования в компоненте\n */\nconst regionsRich = ref<RegionRich[]>([]);\n\n/**\n * Ссылка на элемент с регионами\n */\nconst elRegions = ref<null | HTMLElement>(null);\n\n/**\n * Направление сортировки по полю\n */\nconst sortedVectorByField = reactive({\n\tsearcher_key: -1,\n\tkey: -1,\n\tname: -1,\n});\n\n/**\n * Выбраны все регионы\n */\nconst isAllSelected = computed({\n\tget() {\n\t\treturn regionsRich.value.every(region => region.selected);\n\t},\n\n\tset(value) {\n\t\tregionsRich.value = regionsRich.value.map(region => ({ ...region, selected: value }));\n\t},\n});\n\n/**\n * Сортировать регионы по выбранному полю\n * @param sortedField - Поле для сортировки\n */\nconst sort = (sortedField: keyof typeof sortedVectorByField) => {\n\tsortedVectorByField[sortedField] = -sortedVectorByField[sortedField];\n\n\tregionsRich.value.sort((regionA, regionB) => {\n\t\tif (!regionA[sortedField] || !regionB[sortedField]) return -1;\n\n\t\treturn regionA[sortedField] >= regionB[sortedField] ? sortedVectorByField[sortedField] : -sortedVectorByField[sortedField];\n\t});\n};\n\n/**\n * Применить изменения\n *\n * Вызывает callback `props['@update:regionsIndexes']`\n */\nconst onSubmit = () => {\n\tif (!regionsRich.value.some(region => region.selected)) return;\n\n\tconst regionsIndexes = regionsRich.value\n\t\t.filter(region => region.selected)\n\t\t.map(region => region.index);\n\n\tprops['@update:regionsIndexes']?.(regionsIndexes);\n\n\tdialog.close();\n};\n\n// генерация регионов\nwatch([\n\t() => props.regions,\n\t() => props.regionsIndexes,\n], () => {\n\tregionsRich.value = [];\n\n\tif (!props.regions) return;\n\tif (!props.regionsIndexes) return;\n\n\tlet regions = [...props.regions];\n\n\t// отсортировать регионы по входным данным\n\tconst orderByRegionIndex = new Map(props.regionsIndexes.map((index, order) => [index, order]));\n\n\tregions.sort((regionA, regionB) => {\n\t\tconst orderA = orderByRegionIndex.get(regionA.index) ?? Number.MAX_VALUE;\n\t\tconst orderB = orderByRegionIndex.get(regionB.index) ?? Number.MAX_VALUE;\n\n\t\treturn orderA - orderB;\n\t});\n\n\tregions.forEach(region => {\n\t\tlet title = region.name;\n\t\tif (region.areaName) title += ` (${region.areaName})`;\n\n\t\tconst selected = props.regionsIndexes?.includes(region.index) ?? false;\n\t\tconst searcherIcon = getSearcherGIcon(region.searcher_key);\n\t\tconst langLabel = region.lang !== undefined ? getLangLabel(region.searcher_key ?? 999, region.lang) : undefined;\n\t\tconst deviceIcon = region.device !== undefined ? getDeviceGIcon(region.device) : undefined;\n\t\tconst flagLink = region.countryCode !== undefined ? genFlagLinkByCountryCode(region.countryCode) : undefined;\n\n\t\tconst regionRich = {\n\t\t\t...region,\n\t\t\tselected,\n\t\t\ttitle,\n\t\t\tsearcherIcon,\n\t\t\tlangLabel,\n\t\t\tdeviceIcon,\n\t\t\tflagLink,\n\t\t};\n\n\t\tregionsRich.value.push(regionRich);\n\t});\n});\n\n/**\n * Проверить на существование sortable\n */\nconst onOpen = () => {\n\tif (!Core.$?.ui['sortable']) {\n\t\tconsole.info('Для работы сортировки требуется глобальная загрузка jQuery UI Sortable');\n\n\t\treturn;\n\t}\n\n\tif (!elRegions.value) return;\n\n\t$(elRegions.value).sortable({\n\t\tdistance: 10,\n\n\t\tstop: () => {\n\t\t\t// Обновляем порядок регионов в массиве regionsRich после сортировки\n\t\t\tconst sortedIndexes = [...elRegions.value!.children].map(el => Number(el.getAttribute('data-region-index')));\n\t\t\tregionsRich.value.sort((a, b) => sortedIndexes.indexOf(a.index) - sortedIndexes.indexOf(b.index));\n\t\t},\n\t});\n};\n\n/**\n * Удаление sortable\n */\nconst onClose = () => {\n\tif (!Core.$?.ui['sortable']) return;\n\tif (!elRegions.value) return;\n\n\t$(elRegions.value).sortable('destroy');\n};\n\n</script>\n\n<template>\n\t<TopDialog\n\t\t:id=\"dialog.id\"\n\t\tpageActive=\"selectorRegions\"\n\t\tclass=\"dialog_selectorRegions\"\n\t\theight=\"600px\"\n\t\twidth=\"600px\"\n\t\t@open=\"onOpen\"\n\t\t@close=\"onClose\"\n\t>\n\t\t<TopDialogPage name=\"selectorRegions\" :order=\"0\">\n\t\t\t<template #header>\n\t\t\t\t<div class=\"dialog_selectorRegions_header\">\n\t\t\t\t\t<TopCheckbox v-model=\"isAllSelected\"></TopCheckbox>\n\n\t\t\t\t\t<TopButton\n\t\t\t\t\t\tclass=\"dialog_selectorRegions_sortButton\"\n\t\t\t\t\t\tcolor=\"theme\"\n\t\t\t\t\t\tdata-top-icon=\"\"\n\t\t\t\t\t\t@click=\"sort('searcher_key')\"\n\t\t\t\t\t\t:title=\"$i18n.Projects?.Sort_by_search_engine\"\n\t\t\t\t\t/>\n\n\t\t\t\t\t<TopButton\n\t\t\t\t\t\tclass=\"dialog_selectorRegions_sortButton\"\n\t\t\t\t\t\tcolor=\"theme\"\n\t\t\t\t\t\tdata-top-icon=\"\"\n\t\t\t\t\t\t@click=\"sort('key')\"\n\t\t\t\t\t\t:title=\"$i18n.Projects?.Sort_by_yande_region_code\"\n\t\t\t\t\t/>\n\n\t\t\t\t\t<TopButton\n\t\t\t\t\t\tclass=\"dialog_selectorRegions_sortButton\"\n\t\t\t\t\t\tcolor=\"theme\"\n\t\t\t\t\t\tdata-top-icon=\"\"\n\t\t\t\t\t\t@click=\"sort('name')\"\n\t\t\t\t\t\t:title=\"$i18n.Projects?.Sort_by_lphabetically\"\n\t\t\t\t\t/>\n\t\t\t\t</div>\n\t\t\t</template>\n\n\t\t\t<template #body>\n\t\t\t\t<div ref=\"elRegions\">\n\t\t\t\t\t<TopCheckbox\n\t\t\t\t\t\tv-for=\"region of regionsRich\"\n\t\t\t\t\t\t:key=\"region.index\"\n\t\t\t\t\t\tv-model=\"region.selected\"\n\t\t\t\t\t\tclass=\"dialog_selectorRegions_region\"\n\t\t\t\t\t\t:data-region-index=\"region.index\"\n\t\t\t\t\t>\n\t\t\t\t\t\t<div\n\t\t\t\t\t\t\tclass=\"dialog_selectorRegions_regionSearcherIcon\"\n\t\t\t\t\t\t\t:data-top-icon=\"region.searcherIcon\"\n\t\t\t\t\t\t></div>\n\n\t\t\t\t\t\t<img\n\t\t\t\t\t\t\tv-if=\"region.flagLink\"\n\t\t\t\t\t\t\tclass=\"top-flag\"\n\t\t\t\t\t\t\t:src=\"'//topvisor.dev' + region.flagLink\"\n\t\t\t\t\t\t\t:alt=\"region.countryCode\"\n\t\t\t\t\t\t>\n\n\t\t\t\t\t\t<div class=\"top-ellipsis\">\n\t\t\t\t\t\t\t{{ region.name }}\n\n\t\t\t\t\t\t\t<span class=\"dialog_selectorRegions_regionAreaName\">\n\t\t\t\t\t\t\t\t{{ region.areaName }}\n\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t</div>\n\n\t\t\t\t\t\t<div v-if=\"region.langLabel\">\n\t\t\t\t\t\t\t[{{ region.langLabel }}]\n\t\t\t\t\t\t</div>\n\n\t\t\t\t\t\t<div\n\t\t\t\t\t\t\tv-if=\"region.deviceIcon\"\n\t\t\t\t\t\t\t:data-top-icon=\"region.deviceIcon\"\n\t\t\t\t\t\t></div>\n\t\t\t\t\t</TopCheckbox>\n\t\t\t\t</div>\n\t\t\t</template>\n\n\t\t\t<template #footer>\n\t\t\t\t<TopButton @click=\"onSubmit\">\n\t\t\t\t\t{{ $i18n.Common?.Apply }}\n\t\t\t\t</TopButton>\n\t\t\t</template>\n\t\t</TopDialogPage>\n\t</TopDialog>\n</template>\n\n<style>\n@import \"./style.css\";\n</style>\n"],"names":["props","__props","dialog","useTopDialogSelf","regionsRich","ref","elRegions","sortedVectorByField","reactive","isAllSelected","computed","region","value","sort","sortedField","regionA","regionB","onSubmit","regionsIndexes","_a","watch","regions","orderByRegionIndex","index","order","orderA","orderB","title","selected","searcherIcon","getSearcherGIcon","langLabel","getLangLabel","deviceIcon","getDeviceGIcon","flagLink","genFlagLinkByCountryCode","regionRich","onOpen","Core","sortedIndexes","el","a","b","onClose"],"mappings":"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"}
@@ -1,2 +0,0 @@
1
- define(["require","exports","vue","./page.vue_vue_type_script_setup_true_lang-Cg3dLy7K.amd","./utils-DAIrXU57.amd","../utils/string.amd","../utils/searchers.amd","./forms-DO87ZZk9.amd","../require/css.amd!../assets/dialog_selectorRegions.css"],function(j,v,e,_,h,C,p,f){"use strict";if(typeof e>"u")var e=window.Vue;const V={class:"dialog_selectorRegions_header"},b=["data-top-icon"],N=["src","alt"],B={class:"top-ellipsis"},I={class:"dialog_selectorRegions_regionAreaName"},R={key:1},S=["data-top-icon"],E=e.defineComponent({id:"selectorRegions",__name:"dialog_selectorRegions",props:{regions:{},regionsIndexes:{},"@update:regionsIndexes":{type:Function}},setup(L){const s=L,y=h.useTopDialogSelf(),r=e.ref([]),i=e.ref(null),u=e.reactive({searcher_key:-1,key:-1,name:-1}),k=e.computed({get(){return r.value.every(o=>o.selected)},set(o){r.value=r.value.map(l=>({...l,selected:o}))}}),g=o=>{u[o]=-u[o],r.value.sort((l,t)=>!l[o]||!t[o]?-1:l[o]>=t[o]?u[o]:-u[o])},w=()=>{var l;if(!r.value.some(t=>t.selected))return;const o=r.value.filter(t=>t.selected).map(t=>t.index);(l=s["@update:regionsIndexes"])==null||l.call(s,o),y.close()};e.watch([()=>s.regions,()=>s.regionsIndexes],()=>{if(r.value=[],!s.regions||!s.regionsIndexes)return;let o=[...s.regions];const l=new Map(s.regionsIndexes.map((t,a)=>[t,a]));o.sort((t,a)=>{const n=l.get(t.index)??Number.MAX_VALUE,c=l.get(a.index)??Number.MAX_VALUE;return n-c}),o.forEach(t=>{var x;let a=t.name;t.areaName&&(a+=` (${t.areaName})`);const n=((x=s.regionsIndexes)==null?void 0:x.includes(t.index))??!1,c=p.getSearcherGIcon(t.searcher_key),m=t.lang!==void 0?p.getLangLabel(t.searcher_key??999,t.lang):void 0,d=t.device!==void 0?p.getDeviceGIcon(t.device):void 0,D=t.countryCode!==void 0?C.genFlagLinkByCountryCode(t.countryCode):void 0,U={...t,selected:n,title:a,searcherIcon:c,langLabel:m,deviceIcon:d,flagLink:D};r.value.push(U)})});const A=()=>{var o;if(!((o=f.Core.$)!=null&&o.ui.sortable)){console.info("Для работы сортировки требуется глобальная загрузка jQuery UI Sortable");return}i.value&&$(i.value).sortable({distance:10,stop:()=>{const l=[...i.value.children].map(t=>Number(t.getAttribute("data-region-index")));r.value.sort((t,a)=>l.indexOf(t.index)-l.indexOf(a.index))}})},T=()=>{var o;(o=f.Core.$)!=null&&o.ui.sortable&&i.value&&$(i.value).sortable("destroy")};return(o,l)=>{const t=e.resolveComponent("TopCheckbox"),a=e.resolveComponent("TopButton");return e.openBlock(),e.createBlock(e.unref(_._sfc_main),{id:e.unref(y).id,pageActive:"selectorRegions",class:"dialog_selectorRegions",height:"600px",width:"600px",onOpen:A,onClose:T},{default:e.withCtx(()=>[e.createVNode(e.unref(_._sfc_main$1),{name:"selectorRegions",order:0},{header:e.withCtx(()=>{var n,c,m;return[e.createElementVNode("div",V,[e.createVNode(t,{modelValue:k.value,"onUpdate:modelValue":l[0]||(l[0]=d=>k.value=d)},null,8,["modelValue"]),e.createVNode(a,{class:"dialog_selectorRegions_sortButton",color:"theme","data-top-icon":"",onClick:l[1]||(l[1]=d=>g("searcher_key")),title:(n=o.$i18n.Projects)==null?void 0:n.Sort_by_search_engine},null,8,["title"]),e.createVNode(a,{class:"dialog_selectorRegions_sortButton",color:"theme","data-top-icon":"",onClick:l[2]||(l[2]=d=>g("key")),title:(c=o.$i18n.Projects)==null?void 0:c.Sort_by_yande_region_code},null,8,["title"]),e.createVNode(a,{class:"dialog_selectorRegions_sortButton",color:"theme","data-top-icon":"",onClick:l[3]||(l[3]=d=>g("name")),title:(m=o.$i18n.Projects)==null?void 0:m.Sort_by_lphabetically},null,8,["title"])])]}),body:e.withCtx(()=>[e.createElementVNode("div",{ref_key:"elRegions",ref:i},[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(r.value,n=>(e.openBlock(),e.createBlock(t,{key:n.index,modelValue:n.selected,"onUpdate:modelValue":c=>n.selected=c,class:"dialog_selectorRegions_region","data-region-index":n.index},{default:e.withCtx(()=>[e.createElementVNode("div",{class:"dialog_selectorRegions_regionSearcherIcon","data-top-icon":n.searcherIcon},null,8,b),n.flagLink?(e.openBlock(),e.createElementBlock("img",{key:0,class:"top-flag",src:"//topvisor.dev"+n.flagLink,alt:n.countryCode},null,8,N)):e.createCommentVNode("",!0),e.createElementVNode("div",B,[e.createTextVNode(e.toDisplayString(n.name)+" ",1),e.createElementVNode("span",I,e.toDisplayString(n.areaName),1)]),n.langLabel?(e.openBlock(),e.createElementBlock("div",R," ["+e.toDisplayString(n.langLabel)+"] ",1)):e.createCommentVNode("",!0),n.deviceIcon?(e.openBlock(),e.createElementBlock("div",{key:2,"data-top-icon":n.deviceIcon},null,8,S)):e.createCommentVNode("",!0)]),_:2},1032,["modelValue","onUpdate:modelValue","data-region-index"]))),128))],512)]),footer:e.withCtx(()=>[e.createVNode(a,{onClick:w},{default:e.withCtx(()=>{var n;return[e.createTextVNode(e.toDisplayString((n=o.$i18n.Common)==null?void 0:n.Apply),1)]}),_:1})]),_:1})]),_:1},8,["id"])}}});v.default=E,Object.defineProperty(v,Symbol.toStringTag,{value:"Module"})});
2
- //# sourceMappingURL=dialog_selectorRegions-pDIYvl7b.amd.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"dialog_selectorRegions-pDIYvl7b.amd.js","sources":["../../src/components/project/selectorRegion/dialog_selectorRegions/dialog_selectorRegions.vue"],"sourcesContent":["<script setup lang=\"ts\">\nimport { computed, reactive, ref, watch } from 'vue';\nimport { TopDialog, TopDialogPage, useTopDialogSelf } from '@/components/dialog/dialog';\nimport { genFlagLinkByCountryCode } from '@/core/utils/string';\nimport type { Props, RegionRich } from './types';\nimport { getDeviceGIcon, getLangLabel, getSearcherGIcon } from '@/core/utils/searchers';\nimport Core from '@/core/core/core';\n\ndefineOptions({ id: 'selectorRegions' });\n\nconst props = defineProps<Partial<Props>>();\n\nconst dialog = useTopDialogSelf();\n\n/**\n * Список расширенных регионов для использования в компоненте\n */\nconst regionsRich = ref<RegionRich[]>([]);\n\n/**\n * Ссылка на элемент с регионами\n */\nconst elRegions = ref<null | HTMLElement>(null);\n\n/**\n * Направление сортировки по полю\n */\nconst sortedVectorByField = reactive({\n\tsearcher_key: -1,\n\tkey: -1,\n\tname: -1,\n});\n\n/**\n * Выбраны все регионы\n */\nconst isAllSelected = computed({\n\tget() {\n\t\treturn regionsRich.value.every(region => region.selected);\n\t},\n\n\tset(value) {\n\t\tregionsRich.value = regionsRich.value.map(region => ({ ...region, selected: value }));\n\t},\n});\n\n/**\n * Сортировать регионы по выбранному полю\n * @param sortedField - Поле для сортировки\n */\nconst sort = (sortedField: keyof typeof sortedVectorByField) => {\n\tsortedVectorByField[sortedField] = -sortedVectorByField[sortedField];\n\n\tregionsRich.value.sort((regionA, regionB) => {\n\t\tif (!regionA[sortedField] || !regionB[sortedField]) return -1;\n\n\t\treturn regionA[sortedField] >= regionB[sortedField] ? sortedVectorByField[sortedField] : -sortedVectorByField[sortedField];\n\t});\n};\n\n/**\n * Применить изменения\n *\n * Вызывает callback `props['@update:regionsIndexes']`\n */\nconst onSubmit = () => {\n\tif (!regionsRich.value.some(region => region.selected)) return;\n\n\tconst regionsIndexes = regionsRich.value\n\t\t.filter(region => region.selected)\n\t\t.map(region => region.index);\n\n\tprops['@update:regionsIndexes']?.(regionsIndexes);\n\n\tdialog.close();\n};\n\n// генерация регионов\nwatch([\n\t() => props.regions,\n\t() => props.regionsIndexes,\n], () => {\n\tregionsRich.value = [];\n\n\tif (!props.regions) return;\n\tif (!props.regionsIndexes) return;\n\n\tlet regions = [...props.regions];\n\n\t// отсортировать регионы по входным данным\n\tconst orderByRegionIndex = new Map(props.regionsIndexes.map((index, order) => [index, order]));\n\n\tregions.sort((regionA, regionB) => {\n\t\tconst orderA = orderByRegionIndex.get(regionA.index) ?? Number.MAX_VALUE;\n\t\tconst orderB = orderByRegionIndex.get(regionB.index) ?? Number.MAX_VALUE;\n\n\t\treturn orderA - orderB;\n\t});\n\n\tregions.forEach(region => {\n\t\tlet title = region.name;\n\t\tif (region.areaName) title += ` (${region.areaName})`;\n\n\t\tconst selected = props.regionsIndexes?.includes(region.index) ?? false;\n\t\tconst searcherIcon = getSearcherGIcon(region.searcher_key);\n\t\tconst langLabel = region.lang !== undefined ? getLangLabel(region.searcher_key ?? 999, region.lang) : undefined;\n\t\tconst deviceIcon = region.device !== undefined ? getDeviceGIcon(region.device) : undefined;\n\t\tconst flagLink = region.countryCode !== undefined ? genFlagLinkByCountryCode(region.countryCode) : undefined;\n\n\t\tconst regionRich = {\n\t\t\t...region,\n\t\t\tselected,\n\t\t\ttitle,\n\t\t\tsearcherIcon,\n\t\t\tlangLabel,\n\t\t\tdeviceIcon,\n\t\t\tflagLink,\n\t\t};\n\n\t\tregionsRich.value.push(regionRich);\n\t});\n});\n\n/**\n * Проверить на существование sortable\n */\nconst onOpen = () => {\n\tif (!Core.$?.ui['sortable']) {\n\t\tconsole.info('Для работы сортировки требуется глобальная загрузка jQuery UI Sortable');\n\n\t\treturn;\n\t}\n\n\tif (!elRegions.value) return;\n\n\t$(elRegions.value).sortable({\n\t\tdistance: 10,\n\n\t\tstop: () => {\n\t\t\t// Обновляем порядок регионов в массиве regionsRich после сортировки\n\t\t\tconst sortedIndexes = [...elRegions.value!.children].map(el => Number(el.getAttribute('data-region-index')));\n\t\t\tregionsRich.value.sort((a, b) => sortedIndexes.indexOf(a.index) - sortedIndexes.indexOf(b.index));\n\t\t},\n\t});\n};\n\n/**\n * Удаление sortable\n */\nconst onClose = () => {\n\tif (!Core.$?.ui['sortable']) return;\n\tif (!elRegions.value) return;\n\n\t$(elRegions.value).sortable('destroy');\n};\n\n</script>\n\n<template>\n\t<TopDialog\n\t\t:id=\"dialog.id\"\n\t\tpageActive=\"selectorRegions\"\n\t\tclass=\"dialog_selectorRegions\"\n\t\theight=\"600px\"\n\t\twidth=\"600px\"\n\t\t@open=\"onOpen\"\n\t\t@close=\"onClose\"\n\t>\n\t\t<TopDialogPage name=\"selectorRegions\" :order=\"0\">\n\t\t\t<template #header>\n\t\t\t\t<div class=\"dialog_selectorRegions_header\">\n\t\t\t\t\t<TopCheckbox v-model=\"isAllSelected\"></TopCheckbox>\n\n\t\t\t\t\t<TopButton\n\t\t\t\t\t\tclass=\"dialog_selectorRegions_sortButton\"\n\t\t\t\t\t\tcolor=\"theme\"\n\t\t\t\t\t\tdata-top-icon=\"\"\n\t\t\t\t\t\t@click=\"sort('searcher_key')\"\n\t\t\t\t\t\t:title=\"$i18n.Projects?.Sort_by_search_engine\"\n\t\t\t\t\t/>\n\n\t\t\t\t\t<TopButton\n\t\t\t\t\t\tclass=\"dialog_selectorRegions_sortButton\"\n\t\t\t\t\t\tcolor=\"theme\"\n\t\t\t\t\t\tdata-top-icon=\"\"\n\t\t\t\t\t\t@click=\"sort('key')\"\n\t\t\t\t\t\t:title=\"$i18n.Projects?.Sort_by_yande_region_code\"\n\t\t\t\t\t/>\n\n\t\t\t\t\t<TopButton\n\t\t\t\t\t\tclass=\"dialog_selectorRegions_sortButton\"\n\t\t\t\t\t\tcolor=\"theme\"\n\t\t\t\t\t\tdata-top-icon=\"\"\n\t\t\t\t\t\t@click=\"sort('name')\"\n\t\t\t\t\t\t:title=\"$i18n.Projects?.Sort_by_lphabetically\"\n\t\t\t\t\t/>\n\t\t\t\t</div>\n\t\t\t</template>\n\n\t\t\t<template #body>\n\t\t\t\t<div ref=\"elRegions\">\n\t\t\t\t\t<TopCheckbox\n\t\t\t\t\t\tv-for=\"region of regionsRich\"\n\t\t\t\t\t\t:key=\"region.index\"\n\t\t\t\t\t\tv-model=\"region.selected\"\n\t\t\t\t\t\tclass=\"dialog_selectorRegions_region\"\n\t\t\t\t\t\t:data-region-index=\"region.index\"\n\t\t\t\t\t>\n\t\t\t\t\t\t<div\n\t\t\t\t\t\t\tclass=\"dialog_selectorRegions_regionSearcherIcon\"\n\t\t\t\t\t\t\t:data-top-icon=\"region.searcherIcon\"\n\t\t\t\t\t\t></div>\n\n\t\t\t\t\t\t<img\n\t\t\t\t\t\t\tv-if=\"region.flagLink\"\n\t\t\t\t\t\t\tclass=\"top-flag\"\n\t\t\t\t\t\t\t:src=\"'//topvisor.dev' + region.flagLink\"\n\t\t\t\t\t\t\t:alt=\"region.countryCode\"\n\t\t\t\t\t\t>\n\n\t\t\t\t\t\t<div class=\"top-ellipsis\">\n\t\t\t\t\t\t\t{{ region.name }}\n\n\t\t\t\t\t\t\t<span class=\"dialog_selectorRegions_regionAreaName\">\n\t\t\t\t\t\t\t\t{{ region.areaName }}\n\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t</div>\n\n\t\t\t\t\t\t<div v-if=\"region.langLabel\">\n\t\t\t\t\t\t\t[{{ region.langLabel }}]\n\t\t\t\t\t\t</div>\n\n\t\t\t\t\t\t<div\n\t\t\t\t\t\t\tv-if=\"region.deviceIcon\"\n\t\t\t\t\t\t\t:data-top-icon=\"region.deviceIcon\"\n\t\t\t\t\t\t></div>\n\t\t\t\t\t</TopCheckbox>\n\t\t\t\t</div>\n\t\t\t</template>\n\n\t\t\t<template #footer>\n\t\t\t\t<TopButton @click=\"onSubmit\">\n\t\t\t\t\t{{ $i18n.Common?.Apply }}\n\t\t\t\t</TopButton>\n\t\t\t</template>\n\t\t</TopDialogPage>\n\t</TopDialog>\n</template>\n\n<style>\n@import \"./style.css\";\n</style>\n"],"names":["dialog","utils","regionsRich","vue","elRegions","sortedVectorByField","isAllSelected","region","sort","sortedField","regionA","regionB","_a","props","regionsIndexes","orderA","orderByRegionIndex","orderB","regions","title","selected","deviceIcon","utils_searchers","flagLink","utils_string","searcherIcon","langLabel","regionRich","a","b","sortedIndexes"],"mappings":"oqBAYAA,EAAAC,EAAA,iBAAA,EAKAC,EAAAC,EAAA,IAAA,CAAA,CAAA,EAKAC,EAAAD,EAAA,IAAA,IAAA,EAKAE,EAAAF,EAAA,SAAA,wBAEM,KAAA,EACC,CAAA,EAMPG,EAAAH,EAAA,SAAA,CAA+B,KAAA,CAE7B,OAAAD,EAAA,MAAA,MAAAK,GAAAA,EAAA,QAAA,qDAIoF,CACrF,CAAA,EAODC,EAAAC,GAAA,gCAIE,CAAAC,EAAAD,CAAA,GAAA,CAAAE,EAAAF,CAAA,EAAA,wBAEyH,gBAU1H,GAAA,CAAAP,EAAA,MAAA,KAAAK,GAAAA,EAAA,QAAA,EAAA,8DAMAK,EAAAC,EAAA,4BAAA,MAAAD,EAAA,KAAAC,EAAAC,cAMDX,EAAA,MAAA,mCAEa,EAAA,IAAA,CAKZ,GAHAD,EAAA,MAAA,CAAA,EAEA,CAAAW,EAAA,SACA,CAAAA,EAAA,eAAA,+FAQC,MAAAE,EAAAC,EAAA,IAAAN,EAAA,KAAA,GAAA,OAAA,UACAO,EAAAD,EAAA,IAAAL,EAAA,KAAA,GAAA,OAAA,oBAEgB,CAAA,EAGjBO,EAAA,QAAAX,GAAA,OACC,IAAAY,EAAAZ,EAAA,KACAA,EAAA,WAAAY,GAAA,KAAAZ,EAAA,QAAA,KAEA,MAAAa,IAAAR,EAAAC,EAAA,iBAAA,YAAAD,EAAA,SAAAL,EAAA,SAAA,4GAGAc,EAAAd,EAAA,SAAA,OAAAe,EAAA,eAAAf,EAAA,MAAA,EAAA,OACAgB,EAAAhB,EAAA,cAAA,OAAAiB,EAAA,yBAAAjB,EAAA,WAAA,EAAA,UAEmB,GAAAA,EACf,SAAAa,EACH,MAAAD,EACA,aAAAM,EACA,UAAAC,EACA,WAAAL,cAKDnB,EAAA,MAAA,KAAAyB,CAAA,CAAiC,CAAA,CACjC,CAAA,8DAQA,QAAA,KAAA,wEAAA,QAEA,CAGDvB,EAAA,oIAQEF,EAAA,MAAA,KAAA,CAAA0B,EAAAC,IAAAC,EAAA,QAAAF,EAAA,KAAA,EAAAE,EAAA,QAAAD,EAAA,KAAA,CAAA,CAAgG,CACjG,CAAA,mDASDzB,EAAA"}
@@ -1,2 +0,0 @@
1
- define(["require","exports","vue","../utils/system.amd","../utils/route.amd","../utils/dom.amd"],function(D,v,n,S,d,x){"use strict";if(typeof n>"u")var n=window.Vue;class c{static state={load:void 0,decoratorOnCreate:void 0,viewPageN:0};static inited=!1;static init(e){if(this.inited)return;this.inited=!0,this.state.load=e==null?void 0:e.load,this.state.decoratorOnCreate=e==null?void 0:e.decoratorOnCreate;const t=(e==null?void 0:e.autoInitDelay)??5e3;window.addEventListener("hashchange",a=>{this.opendDialogsFromChangeUrl(a.oldURL,a.newURL)}),this.opendDialogsFromChangeUrl("",location.href),document.addEventListener("mousedown",async a=>{const s=a.target.closest("a[data-to-view]");if(!s)return;let o="next";s.dataset.action==="top-dialog-close"&&(o="prev"),s.href=c.genViewPageHash(s.dataset.toView,o)}),document.addEventListener("click",async a=>{var E,U;const s=a.target.closest("[data-to-view]");if(!s)return;if(s instanceof HTMLAnchorElement&&s.href==="."){a.preventDefault();const u=new MouseEvent("mousedown",{bubbles:!0,cancelable:!0,view:window});s.dispatchEvent(u),setTimeout(()=>s.click());return}const o=await this.getDialogsUtils(),r=s.dataset.toView,f=r.split("-")[0],h=document.getElementById(f),P=x.querySelectorAllArray(h,".modal-layer"),N=P.reduce((u,A)=>{const w=A.querySelector(":scope > .active");return w&&u.push(w),u},[]),b=!!(h!=null&&h.dataset.toViewReplace);let m="next";if(N.length){const u=r.split("-")[1].split(":")[0];(((E=P.reduce((w,y)=>{const V=y==null?void 0:y.querySelector(`:scope > [data-view-page="${u}"]`);return V&&w.push(V),w},[])[0])==null?void 0:E.dataset.order)??0)<(((U=N[0])==null?void 0:U.dataset.order)??0)&&(m="prev")}s.dataset.action==="top-dialog-close"&&(m="prev");const p=c.genViewPageHash(r,m);if(s instanceof HTMLAnchorElement){if(!(h!=null&&h.checkVisibility()))return;if(location.hash.indexOf(r.replace("-","="))!==-1){await o.toViewDirty(r);return}}b?(a.preventDefault(),d.historySetState(!0,p),await o.toViewDirty(r),m=="next"?c.state.viewPageN++:c.state.viewPageN--):s.tagName!=="A"&&(this.compareStates(p,location.hash)?d.historySetState(!1,p):await o.toViewDirty(r))}),setTimeout(()=>this.getDialogsUtils(),t)}static opendDialogsFromChangeUrl(e,t){const a=e.replace(/.*?#/,"#"),i=t.replace(/.*?#/,"#");this.compareStates(a,i)&&this.opendDialogsFromUrl()}static async getDialogsUtils(){const{TopDialogUtils:e}=await new Promise((t,a)=>D(["./utils-pvFg1FqE.amd"],t,a));return e}static getDialog(e){return e.closest("dialog")}static getPage(e){return e.closest("[data-view-page]")}static get$dialog(e){return e.closest(".ui-dialog-content")}static get$page(e){return e.closest("[data-view-page]")}static get$pairPage(e){const t=c.get$dialog(e),i=c.get$page(e).data("view-page");return $('[data-view-page="'+i+'"]',t)}static getPairPage(e){const t=c.getDialog(e),a=c.getPage(e),i=a==null?void 0:a.dataset.viewPage;return t==null?void 0:t.querySelectorAll(`[data-view-page="${i}"]`)}static close(e){const t=$("#"+e);t.dialog("instance")&&t.dialog("close")}static destroy(e){const t=$("#"+e);t.dialog("instance")&&(t.dialog("close"),t.dialog("destroy"))}static genViewPageHash(e,t="next"){let a=this.state.viewPageN;t=="prev"?a--:a++;const i=e.split("-"),s=i.shift(),o=i.join("-");let r=d.genHash("vpn",a);return r=d.genHash("view-"+s,o,r),r}static compareStates(e,t){const a=e.match(/[#&]view-[^&]+/g)||[],i=t.match(/[#&]view-[^&]+/g)||[];return!!(a.length!==i.length||a.filter((o,r)=>{const f=i[r]||"";return o!==f}).length)}static opendDialogsFromUrl=async()=>{const e=Number(d.getHash("vpn"))||0;let t;const a=new RegExp("view-((\\w+)=([\\w-]+)(?::([\\w.:-]+))?)","g");for(;t=a.exec(location.hash);){let i="next";return e<this.state.viewPageN&&(i="prev"),(await this.getDialogsUtils()).toViewDirty(t[1],i)}return $(".ui-dialog-content[data-view-page-active]:visible").each((i,s)=>{const o=$(s),r=o.attr("id");d.getHash("view-"+r)||o.dialog("close")}),this.state.viewPageN=e,!0}}class H{id;idAttr;Component;isMounted=n.ref(!1);isReady=n.ref(!1);isOpened=n.ref(!1);pageActive=n.ref("");isLoadingPage=n.ref(!1);pageActiveNext=n.ref("");props;emit;onCloseOnce;constructor(e){this.id=e.id,this.idAttr="dialog_"+e.id,this.Component=n.markRaw(e)}onMounted(e,t){this.isMounted.value=!0,this.props=e.props,this.emit=t.emit}async open(e="main",t,a=[],i,s){t&&await this.setProps(t),i&&(this.onCloseOnce=i),await(await c.getDialogsUtils()).toView(this.idAttr,e,a,s)}async openAsLink(e="main",t,a=[],i,s){t&&await this.setProps(t),i&&(this.onCloseOnce=i);const o=this.idAttr+"-"+e,r=c.genViewPageHash(o,s);d.historySetState(!1,r)}async close(){c.close(this.idAttr)}async destroy(){c.destroy(this.idAttr)}async setProps(e={}){this.isMounted||await S.waitWhile(()=>!this.props);for(const t in this.props)this.props[t]=e[t]}needShowPage(e){return this.isOpened.value?this.pageActive.value===e||this.pageActiveNext.value===e:!1}}const k={class:"top-dialogs",style:{display:"none"}},g=n.shallowReactive(new Map),L=l=>(l=l.replace(/^dialog_/,""),g.get(l)),M=l=>{if(!(l!=null&&l.id))throw console.log({TopDialogComponent:l}),new Error("Expected TopDialogComponent");return g.has(l.id)||g.set(l.id,new H(l)),g.get(l.id)},C=n.defineComponent({name:"DialogWrapper",__name:"dialogs",setup(l){return n.onUnmounted(()=>{g.forEach(e=>e.destroy()),g.clear()}),(e,t)=>(n.openBlock(),n.createElementBlock("div",k,[(n.openBlock(!0),n.createElementBlock(n.Fragment,null,n.renderList(n.unref(g),([a,i])=>(n.openBlock(),n.createBlock(n.resolveDynamicComponent(i.Component),{key:a}))),128))]))}});v.TopDialogWorker=c,v._sfc_main=C,v.addDialogWorker=M,v.getDialogWorker=L});
2
- //# sourceMappingURL=dialogs.vue_vue_type_script_setup_true_lang-B14m3p7q.amd.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"dialogs.vue_vue_type_script_setup_true_lang-B14m3p7q.amd.js","sources":["../../src/components/dialog/lib/worker.ts","../../src/components/dialog/dialog/composables/dialogHandle.ts","../../src/components/dialog/dialog/dialogs/dialogs.vue"],"sourcesContent":["import { genHash, getHash, historySetState } from '@/core/utils/route';\nimport type { MoveDirection, TopDialogOptions } from './types';\nimport { querySelectorAllArray } from '../../../core/utils/dom';\nimport type { $el } from '../../types';\n\n// todo: опередить все типы элементов TopDialog\ntype ElTopDialogPage = HTMLElement & { dataset: { order?: string } };\n\nexport abstract class TopDialogWorker {\n\tstatic state = {\n\t\tload: undefined as TopDialogOptions['load'] | undefined,\n\t\tdecoratorOnCreate: undefined as TopDialogOptions['decoratorOnCreate'] | undefined,\n\n\t\t/**\n\t\t * Порядковай номер перехода в диалоговых окнах\n\t\t *\n\t\t * Для расчета анимации Вперед / Назад\n\t\t */\n\t\tviewPageN: 0,\n\t};\n\n\tprivate static inited = false;\n\n\t/**\n\t * Инициировать события слежения за парамтерами url\n\t *\n\t * Если в параметрах есть запрос на открытие диалогового окна, TopDialog будет автоматически подключен на страницу\n\t */\n\tstatic init(options?: TopDialogOptions) {\n\t\tif (this.inited) return;\n\t\tthis.inited = true;\n\n\t\tthis.state.load = options?.load;\n\t\tthis.state.decoratorOnCreate = options?.decoratorOnCreate;\n\n\t\tconst autoInitDelay = options?.autoInitDelay ?? 5000;\n\n\t\twindow.addEventListener('hashchange', (e) => {\n\t\t\tthis.opendDialogsFromChangeUrl(e.oldURL, e.newURL);\n\t\t});\n\n\t\tthis.opendDialogsFromChangeUrl('', location.href);\n\n\t\t/**\n\t\t * Сгенерировать ссылку для перехода к странице диалогового окна\n\t\t */\n\t\tdocument.addEventListener('mousedown', async (e) => {\n\t\t\tconst elEventTarget = e.target as HTMLElement;\n\n\t\t\tconst el = elEventTarget.closest<HTMLAnchorElement & { dataset: { toView: string } }>('a[data-to-view]');\n\t\t\tif (!el) return;\n\n\t\t\t// const toView = el.dataset.toView;\n\t\t\t// const viewName = toView.split('-')[0];\n\t\t\t// const $toDialog = $('#' + viewName);\n\t\t\t// const $modalLayers = $('> .modal-layer', $toDialog);\n\t\t\t// const $currentPage = $('> .active', $modalLayers);\n\n\t\t\tlet moveDirection: MoveDirection = 'next';\n\n\t\t\t// /**\n\t\t\t// * Данный алгоритм определения направления работает не корректно, так как для чтения свойства order менят состояние через getDialogsUtils()\n\t\t\t// */\n\t\t\t// if ($currentPage.length) {\n\t\t\t// \tconst pageName = toView.split('-')[1].split(':')[0];\n\t\t\t//\n\t\t\t// \tconst TopDialogUtils = await this.getDialogsUtils();\n\t\t\t//\n\t\t\t// \tawait TopDialogUtils.updatePageVue(viewName, undefined, pageName);\n\t\t\t//\n\t\t\t// \tconst $nextPage = $('> [data-view-page=\"' + pageName + '\"]', $modalLayers);\n\t\t\t// \tif ($nextPage.data('order') < $currentPage.data('order')) moveDirection = 'prev';\n\t\t\t// }\n\n\t\t\tif (el.dataset.action === 'top-dialog-close') moveDirection = 'prev';\n\n\t\t\tel.href = TopDialogWorker.genViewPageHash(el.dataset.toView, moveDirection);\n\t\t});\n\n\t\t/**\n\t\t * Осуществить переход по ссылке с учетом historyType\n\t\t */\n\t\tdocument.addEventListener('click', async (e) => {\n\t\t\tconst elEventTarget = e.target as HTMLElement;\n\n\t\t\tconst el = elEventTarget.closest<HTMLElement & { dataset: { toView: string } }>('[data-to-view]');\n\t\t\tif (!el) return;\n\n\t\t\t// Подождать генерацию ссылки\n\t\t\tif (el instanceof HTMLAnchorElement && el.href === '.') {\n\t\t\t\te.preventDefault();\n\n\t\t\t\tconst mouseEvent = new MouseEvent('mousedown', {\n\t\t\t\t\tbubbles: true,\n\t\t\t\t\tcancelable: true,\n\t\t\t\t\tview: window\n\t\t\t\t});\n\n\t\t\t\tel.dispatchEvent(mouseEvent);\n\n\t\t\t\tsetTimeout(() => el.click());\n\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tconst TopDialogUtils = await this.getDialogsUtils();\n\n\t\t\tconst toView = el.dataset.toView;\n\t\t\tconst viewName = toView.split('-')[0];\n\n\t\t\t// todo: вынести в getElDialog()\n\t\t\tconst elDialog = document.getElementById(viewName) as HTMLElement & { dataset: { toViewReplace: string } };\n\n\t\t\tconst elModalLayers = querySelectorAllArray(elDialog, '.modal-layer');\n\t\t\tconst elCurrentPages = elModalLayers.reduce<ElTopDialogPage[]>((acc, el) => {\n\t\t\t\tconst elCurrentPage = el.querySelector<ElTopDialogPage>(':scope > .active');\n\n\t\t\t\tif (elCurrentPage) acc.push(elCurrentPage);\n\n\t\t\t\treturn acc;\n\t\t\t}, []);\n\n\t\t\tconst replaceHistory = !!elDialog?.dataset.toViewReplace;\n\n\t\t\tlet moveDirection: MoveDirection = 'next';\n\t\t\tif (elCurrentPages.length) {\n\t\t\t\tconst pageName = toView.split('-')[1].split(':')[0];\n\t\t\t\tconst elNextPages = elModalLayers.reduce<ElTopDialogPage[]>((acc, el) => {\n\t\t\t\t\tconst elNextPage = el?.querySelector<ElTopDialogPage>(`:scope > [data-view-page=\"${pageName}\"]`);\n\n\t\t\t\t\tif (elNextPage) acc.push(elNextPage);\n\n\t\t\t\t\treturn acc;\n\t\t\t\t}, []);\n\n\t\t\t\tif ((elNextPages[0]?.dataset.order ?? 0) < (elCurrentPages[0]?.dataset.order ?? 0)) moveDirection = 'prev';\n\t\t\t}\n\t\t\tif (el.dataset.action === 'top-dialog-close') moveDirection = 'prev';\n\n\t\t\tconst hash = TopDialogWorker.genViewPageHash(toView, moveDirection);\n\n\t\t\tif (el instanceof HTMLAnchorElement) {\n\t\t\t\t// диалоговое окно еще не открыто, произвести переход по ссылке\n\t\t\t\tif (!elDialog?.checkVisibility()) return;\n\n\t\t\t\t// в адресе уже указана эта страница, необходимо явно запросить ее открытие\n\t\t\t\tif (location.hash.indexOf(toView.replace('-', '=')) !== -1) {\n\t\t\t\t\tawait TopDialogUtils.toViewDirty(toView);\n\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tif (replaceHistory) {\n\t\t\t\te.preventDefault();\n\n\t\t\t\thistorySetState(true, hash);\n\n\t\t\t\tawait TopDialogUtils.toViewDirty(toView);\n\n\t\t\t\tif (moveDirection == 'next') {\n\t\t\t\t\tTopDialogWorker.state.viewPageN++;\n\t\t\t\t} else {\n\t\t\t\t\tTopDialogWorker.state.viewPageN--;\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tif (el.tagName !== 'A') {\n\t\t\t\t\tif (this.compareStates(hash, location.hash)) {\n\t\t\t\t\t\thistorySetState(false, hash);\n\t\t\t\t\t} else {\n\t\t\t\t\t\tawait TopDialogUtils.toViewDirty(toView);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t});\n\n\t\tsetTimeout(() => this.getDialogsUtils(), autoInitDelay);\n\t}\n\n\tprivate static opendDialogsFromChangeUrl(oldUrl: string, newUrl: string) {\n\t\tconst oldHash = oldUrl.replace(/.*?#/, '#');\n\t\tconst newHash = newUrl.replace(/.*?#/, '#');\n\n\t\tconst dialogsStateChanged = this.compareStates(oldHash, newHash);\n\t\tif (dialogsStateChanged) void this.opendDialogsFromUrl();\n\t}\n\n\tstatic async getDialogsUtils() {\n\t\tconst { TopDialogUtils } = await import('./utils');\n\n\t\treturn TopDialogUtils;\n\t}\n\n\tstatic getDialog(el: HTMLElement) {\n\t\treturn el.closest<HTMLDialogElement>('dialog');\n\t};\n\n\tstatic getPage(el: HTMLElement) {\n\t\treturn el.closest<HTMLElement>('[data-view-page]');\n\t};\n\n\t/**\n\t * todo: Переписать на сайте на this.getDialog()\n\t *\n\t * @deprecated Для обратной совместимости\n\t */\n\tstatic get$dialog($el: $el) {\n\t\treturn $el.closest('.ui-dialog-content');\n\t};\n\n\t/**\n\t * todo: Переписать на сайте на this.getPage()\n\t *\n\t * @deprecated Для обратной совместимости\n\t */\n\tstatic get$page($el: $el) {\n\t\treturn $el.closest('[data-view-page]');\n\t};\n\n\t/**\n\t * todo: Переписать на сайте на this.getPairPage()\n\t *\n\t * @deprecated Для обратной совместимости\n\t */\n\tstatic get$pairPage($el: $el) {\n\t\tconst $dialog = TopDialogWorker.get$dialog($el);\n\n\t\tconst $page = TopDialogWorker.get$page($el);\n\t\tconst pageName = $page.data('view-page');\n\n\t\treturn $('[data-view-page=\"' + pageName + '\"]', $dialog);\n\t};\n\n\tstatic getPairPage(el: HTMLElement) {\n\t\tconst elDialog = TopDialogWorker.getDialog(el);\n\n\t\tconst elPage = TopDialogWorker.getPage(el);\n\t\tconst pageName = elPage?.dataset.viewPage;\n\n\t\treturn elDialog?.querySelectorAll(`[data-view-page=\"${pageName}\"]`)\n\t};\n\n\t/**\n\t * Закрыть диалоговое окно\n\t */\n\tstatic close(dialogId: string) {\n\t\tconst $dialog = $('#' + dialogId);\n\n\t\tif (!$dialog.dialog('instance')) return;\n\n\t\t$dialog.dialog('close');\n\t};\n\n\t/**\n\t * Размонтировать $.dialog\n\t */\n\tstatic destroy(dialogId: string) {\n\t\tconst $dialog = $('#' + dialogId);\n\n\t\tif (!$dialog.dialog('instance')) return;\n\n\t\t$dialog.dialog('close');\n\t\t$dialog.dialog('destroy');\n\t};\n\n\t/**\n\t * Сгенерировать ссылку на страницу в диалоговом окне\n\t * @param toView - указатель в формате: dialog_{{ dialogId }}={{ pageName }}:{{ args }}\n\t * @param moveDirection\n\t */\n\tstatic genViewPageHash(toView: string, moveDirection: MoveDirection = 'next') {\n\t\tlet toViewPageN = this.state.viewPageN;\n\t\tif (moveDirection == 'prev') {\n\t\t\ttoViewPageN--;\n\t\t} else {\n\t\t\ttoViewPageN++;\n\t\t}\n\n\t\tconst viewNameAndPageLink = toView.split('-');\n\t\tconst viewName = viewNameAndPageLink.shift();\n\t\tconst pageLink = viewNameAndPageLink.join('-');\n\n\t\tlet hash = genHash('vpn', toViewPageN);\n\t\thash = genHash('view-' + viewName, pageLink, hash);\n\n\t\treturn hash;\n\t};\n\n\t/**\n\t * Сравнить версию открытых диалоговых окон\n\t * @returns вернет true, если состояния открытых окон изменилось\n\t */\n\tstatic compareStates(hash: string, hash2: string) {\n\t\tconst mathes = hash.match(/[#&]view-[^&]+/g) || [];\n\t\tconst mathes2 = hash2.match(/[#&]view-[^&]+/g) || [];\n\n\t\tif (mathes.length !== mathes2.length) return true;\n\n\t\tconst mathesChanged = mathes.filter((math, n) => {\n\t\t\tconst math2 = mathes2[n] || '';\n\n\t\t\treturn math !== math2;\n\t\t});\n\n\t\tif (mathesChanged.length) return true;\n\n\t\treturn false;\n\t};\n\n\tstatic opendDialogsFromUrl = async () => {\n\t\tconst toViewPageN = Number(getHash('vpn')) || 0;\n\n\t\t// Открыть диалоговое окно\n\t\tlet view: RegExpExecArray | null;\n\t\t// const regexp = new RegExp('view-((\\\\w+)=([\\\\w-]+)(?::([\\\\w.:-]+))?)' + '(' + Math.random() + ')?', 'g'); // fix babel minify regexp\n\t\tconst regexp = new RegExp('view-((\\\\w+)=([\\\\w-]+)(?::([\\\\w.:-]+))?)', 'g');\n\t\twhile (view = regexp.exec(location.hash)) {\n\t\t\tlet moveDirection: MoveDirection = 'next';\n\t\t\tif (toViewPageN < this.state.viewPageN) moveDirection = 'prev';\n\n\t\t\tconst TopDialogUtils = await this.getDialogsUtils();\n\n\t\t\treturn TopDialogUtils.toViewDirty(view[1], moveDirection);\n\t\t}\n\n\t\t// Закрыть ненужные view\n\t\t$('.ui-dialog-content[data-view-page-active]:visible').each((_index: number, dialog: HTMLElement) => {\n\t\t\tconst $dialog = $(dialog);\n\n\t\t\tconst viewName = $dialog.attr('id');\n\t\t\tconst pageName = getHash('view-' + viewName);\n\t\t\tif (!pageName) $dialog.dialog('close');\n\t\t});\n\n\t\tthis.state.viewPageN = toViewPageN;\n\n\t\treturn true;\n\t};\n}\n","import { type ComponentInstance, type ComponentInternalInstance, markRaw, ref } from 'vue';\nimport { waitWhile } from '@/core/utils/system';\nimport TopDialog from '../dialog.vue';\nimport { TopDialogWorker } from '@/components/dialog/lib/worker';\nimport type { MoveDirection } from '@/components/dialog/lib/types';\nimport type { TopDialogComponent } from './types';\nimport { historySetState } from '@/core/utils/route';\n\n/**\n * Объект для работы с диалоговым окном\n *\n * Каждое окно уникально и может быть открыто одновременно только один раз\n *\n * Можно определить много окон, после чего с ними можно вести работу в любой части приложения\n */\nexport class TopDialogHandle<T extends TopDialogComponent> {\n\n\t/**\n\t * Индентификатор, определяется на уровне компонента TopDialogComponent\n\t *\n\t * Может использоваться в навигации для открытия нужных окон с нужными настройками\n\t */\n\tid: string;\n\n\t/**\n\t * ID, используемый в верстке диалогового окна\n\t */\n\tidAttr: string;\n\n\t/**\n\t * Пользовательский компонент диалогового окна\n\t */\n\tComponent: T;\n\n\t/**\n\t * Компонент инициирован\n\t *\n\t * Устанавливается после первого вызова useTopDialog()\n\t */\n\tisMounted = ref(false);\n\n\t/**\n\t * Компонент готов к использованию\n\t *\n\t * Используется для внутренних преобразований после отрисовки\n\t */\n\tisReady = ref(false);\n\n\t/**\n\t * Диалоговое окно открыто\n\t */\n\tisOpened = ref(false);\n\n\t/**\n\t * Имя активной страницы дилогового окна\n\t */\n\tpageActive = ref('');\n\n\t/**\n\t * Диалоговое окно находится в состоянии загрузки своей страницы\n\t */\n\tisLoadingPage = ref(false);\n\n\t/**\n\t * Следующая активная страница\n\t *\n\t * В один момент времени может потребоваться отобразить две страницы, чтобы воспроизвести анимацию\n\t */\n\tpageActiveNext = ref('');\n\n\t/**\n\t * props компонента, доступны после инициализации\n\t */\n\tprops?: ComponentInstance<T>['$props'];\n\n\t/**\n\t * emit базового компонента `TopDialog`\n\t */\n\temit?: ComponentInstance<typeof TopDialog>['$emit'];\n\n\t/**\n\t * Одноразовое событие на закрытие диалогового окна\n\t *\n\t * Используется для привязки окна к сценариям использования\n\t */\n\tonCloseOnce?: (props: typeof this.props, pageName: string) => void;\n\n\tconstructor(TopDialogComponent: T) {\n\t\tthis.id = TopDialogComponent.id!;\n\t\tthis.idAttr = 'dialog_' + TopDialogComponent.id;\n\t\tthis.Component = markRaw(TopDialogComponent);\n\t}\n\n\t/**\n\t * Событие - компонент инициирован\n\t */\n\tonMounted(topDialogComponent: ComponentInternalInstance, topDialogBaseComponent: ComponentInternalInstance) {\n\t\tthis.isMounted.value = true;\n\t\tthis.props = topDialogComponent.props;\n\t\tthis.emit = topDialogBaseComponent.emit;\n\t}\n\n\t/**\n\t * Открыть диалоговое окно\n\t *\n\t * Учтите, что props в диалоговом окне будут доступны не сразу, а только после инициализации vue компонента\n\t */\n\tasync open(pageName: string = 'main', props?: {}, args: [] = [], onCloseOnce?: typeof this.onCloseOnce, moveDirection?: MoveDirection) {\n\t\tif (props) await this.setProps(props);\n\t\tif (onCloseOnce) this.onCloseOnce = onCloseOnce;\n\n\t\tconst TopDialogUtils = await TopDialogWorker.getDialogsUtils();\n\n\t\tawait TopDialogUtils.toView(this.idAttr, pageName, args, moveDirection);\n\t};\n\n\t/**\n\t * Открыть диалоговое окно как ссылку, для хеш-навигации\n\t *\n\t * Диалоговые окна загружаются по имени, см. настройку плагина Core topDialogLoader\n\t */\n\tasync openAsLink(\n\t\tpageName: string = 'main',\n\t\tprops?: {},\n\t\t_args: string[] = [],\n\t\tonCloseOnce?: typeof this.onCloseOnce,\n\t\tmoveDirection?: MoveDirection,\n\t) {\n\t\tif (props) await this.setProps(props);\n\t\tif (onCloseOnce) this.onCloseOnce = onCloseOnce;\n\n\t\tconst viewName = this.idAttr + '-' + pageName;\n\n\t\tconst hash = TopDialogWorker.genViewPageHash(viewName, moveDirection);\n\t\thistorySetState(false, hash);\n\t};\n\n\t/**\n\t * Закрыть диалоговое окно\n\t *\n\t * Не меняет состояние компонента диалогового окна\n\t */\n\tasync close() {\n\t\tTopDialogWorker.close(this.idAttr);\n\t};\n\n\t/**\n\t * Размонтировать $.dialog\n\t */\n\tasync destroy() {\n\t\tTopDialogWorker.destroy(this.idAttr);\n\t}\n\n\t/**\n\t * Устанвоить props\n\t *\n\t * Полностью сбрасывается состояние props\n\t */\n\tasync setProps(props: ComponentInstance<T>['$props'] = {}) {\n\t\t// ожидание инициализации компонента\n\t\tif (!this.isMounted) {\n\t\t\tawait waitWhile(() => !this.props);\n\t\t}\n\n\t\tfor (const name in this.props) {\n\t\t\tthis.props[name] = props[name];\n\t\t}\n\t}\n\n\t/**\n\t * Проверить, есть ли необходимость отрисовки страницы диалогового окна\n\t */\n\tneedShowPage(pageName: string): boolean {\n\t\tif (!this.isOpened.value) return false;\n\n\t\treturn this.pageActive.value === pageName || this.pageActiveNext.value === pageName;\n\t}\n}\n","<script lang=\"ts\">\nimport { shallowReactive } from 'vue';\nimport { TopDialogHandle } from '@/components/dialog/dialog/composables/dialogHandle';\nimport type { TopDialogComponent } from '@/components/dialog/dialog/composables/types';\n\n/**\n * Словарь всех используемых диалоговых окон\n *\n * В других компонентах не использовать\n */\nconst dialogsWorkers = shallowReactive(new Map<string, TopDialogHandle<TopDialogComponent>>());\n\nexport const getDialogWorker = (id: string) => {\n\tid = id.replace(/^dialog_/, '');\n\n\treturn dialogsWorkers.get(id);\n};\n\n/**\n * Добавить компонент диалогового окна для использования\n */\nexport const addDialogWorker = <T extends TopDialogComponent>(TopDialogComponent: T): TopDialogHandle<T> => {\n\tif (!TopDialogComponent?.id) {\n\t\tconsole.log({ TopDialogComponent: TopDialogComponent });\n\n\t\tthrow new Error('Expected TopDialogComponent');\n\t}\n\n\tif (!dialogsWorkers.has(TopDialogComponent.id)) {\n\t\tdialogsWorkers.set(TopDialogComponent.id, new TopDialogHandle(TopDialogComponent));\n\t}\n\n\treturn dialogsWorkers.get(TopDialogComponent.id) as TopDialogHandle<T>;\n};\n</script>\n\n<script setup lang=\"ts\">\nimport { onUnmounted } from 'vue';\n\ndefineOptions({\n\tname: 'DialogWrapper',\n});\n\nonUnmounted(() => {\n\tdialogsWorkers.forEach(dialog => dialog.destroy());\n\tdialogsWorkers.clear();\n});\n</script>\n\n<template>\n\t<div class=\"top-dialogs\" style=\"display: none;\">\n\t\t<component\n\t\t\tv-for=\"[dialogId, dialog] in dialogsWorkers\"\n\t\t\t:is=\"dialog.Component\"\n\t\t\t:key=\"dialogId\"\n\t\t/>\n\t</div>\n</template>\n"],"names":["TopDialogWorker","options","autoInitDelay","e","el","moveDirection","mouseEvent","TopDialogUtils","toView","acc","elCurrentPages","pageName","elNextPage","el2","elDialog","utils_route","hash","oldUrl","newUrl","$el","elPage","dialogId","$dialog","toViewPageN","viewName","viewNameAndPageLink","hash2","view","dialog","TopDialogHandle","vue","TopDialogComponent","topDialogComponent","topDialogBaseComponent","props","args","onCloseOnce","_args","name","dialogsWorkers","getDialogWorker","id","addDialogWorker"],"mappings":"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"}
@@ -1,306 +0,0 @@
1
- import { ref as h, markRaw as S, shallowReactive as M, defineComponent as C, onUnmounted as b, createElementBlock as V, openBlock as p, Fragment as k, renderList as O, unref as R, createBlock as _, resolveDynamicComponent as F } from "vue";
2
- import { waitWhile as q } from "../utils/system.js";
3
- import { historySetState as y, genHash as D, getHash as L } from "../utils/route.js";
4
- import { querySelectorAllArray as B } from "../utils/dom.js";
5
- class c {
6
- static state = {
7
- load: void 0,
8
- decoratorOnCreate: void 0,
9
- /**
10
- * Порядковай номер перехода в диалоговых окнах
11
- *
12
- * Для расчета анимации Вперед / Назад
13
- */
14
- viewPageN: 0
15
- };
16
- static inited = !1;
17
- /**
18
- * Инициировать события слежения за парамтерами url
19
- *
20
- * Если в параметрах есть запрос на открытие диалогового окна, TopDialog будет автоматически подключен на страницу
21
- */
22
- static init(e) {
23
- if (this.inited) return;
24
- this.inited = !0, this.state.load = e == null ? void 0 : e.load, this.state.decoratorOnCreate = e == null ? void 0 : e.decoratorOnCreate;
25
- const t = (e == null ? void 0 : e.autoInitDelay) ?? 5e3;
26
- window.addEventListener("hashchange", (a) => {
27
- this.opendDialogsFromChangeUrl(a.oldURL, a.newURL);
28
- }), this.opendDialogsFromChangeUrl("", location.href), document.addEventListener("mousedown", async (a) => {
29
- const s = a.target.closest("a[data-to-view]");
30
- if (!s) return;
31
- let r = "next";
32
- s.dataset.action === "top-dialog-close" && (r = "prev"), s.href = c.genViewPageHash(s.dataset.toView, r);
33
- }), document.addEventListener("click", async (a) => {
34
- var U, x;
35
- const s = a.target.closest("[data-to-view]");
36
- if (!s) return;
37
- if (s instanceof HTMLAnchorElement && s.href === ".") {
38
- a.preventDefault();
39
- const g = new MouseEvent("mousedown", {
40
- bubbles: !0,
41
- cancelable: !0,
42
- view: window
43
- });
44
- s.dispatchEvent(g), setTimeout(() => s.click());
45
- return;
46
- }
47
- const r = await this.getDialogsUtils(), n = s.dataset.toView, w = n.split("-")[0], l = document.getElementById(w), P = B(l, ".modal-layer"), N = P.reduce((g, A) => {
48
- const u = A.querySelector(":scope > .active");
49
- return u && g.push(u), g;
50
- }, []), H = !!(l != null && l.dataset.toViewReplace);
51
- let v = "next";
52
- if (N.length) {
53
- const g = n.split("-")[1].split(":")[0];
54
- (((U = P.reduce((u, m) => {
55
- const E = m == null ? void 0 : m.querySelector(`:scope > [data-view-page="${g}"]`);
56
- return E && u.push(E), u;
57
- }, [])[0]) == null ? void 0 : U.dataset.order) ?? 0) < (((x = N[0]) == null ? void 0 : x.dataset.order) ?? 0) && (v = "prev");
58
- }
59
- s.dataset.action === "top-dialog-close" && (v = "prev");
60
- const f = c.genViewPageHash(n, v);
61
- if (s instanceof HTMLAnchorElement) {
62
- if (!(l != null && l.checkVisibility())) return;
63
- if (location.hash.indexOf(n.replace("-", "=")) !== -1) {
64
- await r.toViewDirty(n);
65
- return;
66
- }
67
- }
68
- H ? (a.preventDefault(), y(!0, f), await r.toViewDirty(n), v == "next" ? c.state.viewPageN++ : c.state.viewPageN--) : s.tagName !== "A" && (this.compareStates(f, location.hash) ? y(!1, f) : await r.toViewDirty(n));
69
- }), setTimeout(() => this.getDialogsUtils(), t);
70
- }
71
- static opendDialogsFromChangeUrl(e, t) {
72
- const a = e.replace(/.*?#/, "#"), i = t.replace(/.*?#/, "#");
73
- this.compareStates(a, i) && this.opendDialogsFromUrl();
74
- }
75
- static async getDialogsUtils() {
76
- const { TopDialogUtils: e } = await import("./utils-BcKnFj1j.es.js");
77
- return e;
78
- }
79
- static getDialog(e) {
80
- return e.closest("dialog");
81
- }
82
- static getPage(e) {
83
- return e.closest("[data-view-page]");
84
- }
85
- /**
86
- * todo: Переписать на сайте на this.getDialog()
87
- *
88
- * @deprecated Для обратной совместимости
89
- */
90
- static get$dialog(e) {
91
- return e.closest(".ui-dialog-content");
92
- }
93
- /**
94
- * todo: Переписать на сайте на this.getPage()
95
- *
96
- * @deprecated Для обратной совместимости
97
- */
98
- static get$page(e) {
99
- return e.closest("[data-view-page]");
100
- }
101
- /**
102
- * todo: Переписать на сайте на this.getPairPage()
103
- *
104
- * @deprecated Для обратной совместимости
105
- */
106
- static get$pairPage(e) {
107
- const t = c.get$dialog(e), i = c.get$page(e).data("view-page");
108
- return $('[data-view-page="' + i + '"]', t);
109
- }
110
- static getPairPage(e) {
111
- const t = c.getDialog(e), a = c.getPage(e), i = a == null ? void 0 : a.dataset.viewPage;
112
- return t == null ? void 0 : t.querySelectorAll(`[data-view-page="${i}"]`);
113
- }
114
- /**
115
- * Закрыть диалоговое окно
116
- */
117
- static close(e) {
118
- const t = $("#" + e);
119
- t.dialog("instance") && t.dialog("close");
120
- }
121
- /**
122
- * Размонтировать $.dialog
123
- */
124
- static destroy(e) {
125
- const t = $("#" + e);
126
- t.dialog("instance") && (t.dialog("close"), t.dialog("destroy"));
127
- }
128
- /**
129
- * Сгенерировать ссылку на страницу в диалоговом окне
130
- * @param toView - указатель в формате: dialog_{{ dialogId }}={{ pageName }}:{{ args }}
131
- * @param moveDirection
132
- */
133
- static genViewPageHash(e, t = "next") {
134
- let a = this.state.viewPageN;
135
- t == "prev" ? a-- : a++;
136
- const i = e.split("-"), s = i.shift(), r = i.join("-");
137
- let n = D("vpn", a);
138
- return n = D("view-" + s, r, n), n;
139
- }
140
- /**
141
- * Сравнить версию открытых диалоговых окон
142
- * @returns вернет true, если состояния открытых окон изменилось
143
- */
144
- static compareStates(e, t) {
145
- const a = e.match(/[#&]view-[^&]+/g) || [], i = t.match(/[#&]view-[^&]+/g) || [];
146
- return !!(a.length !== i.length || a.filter((r, n) => {
147
- const w = i[n] || "";
148
- return r !== w;
149
- }).length);
150
- }
151
- static opendDialogsFromUrl = async () => {
152
- const e = Number(L("vpn")) || 0;
153
- let t;
154
- const a = new RegExp("view-((\\w+)=([\\w-]+)(?::([\\w.:-]+))?)", "g");
155
- for (; t = a.exec(location.hash); ) {
156
- let i = "next";
157
- return e < this.state.viewPageN && (i = "prev"), (await this.getDialogsUtils()).toViewDirty(t[1], i);
158
- }
159
- return $(".ui-dialog-content[data-view-page-active]:visible").each((i, s) => {
160
- const r = $(s), n = r.attr("id");
161
- L("view-" + n) || r.dialog("close");
162
- }), this.state.viewPageN = e, !0;
163
- };
164
- }
165
- class I {
166
- /**
167
- * Индентификатор, определяется на уровне компонента TopDialogComponent
168
- *
169
- * Может использоваться в навигации для открытия нужных окон с нужными настройками
170
- */
171
- id;
172
- /**
173
- * ID, используемый в верстке диалогового окна
174
- */
175
- idAttr;
176
- /**
177
- * Пользовательский компонент диалогового окна
178
- */
179
- Component;
180
- /**
181
- * Компонент инициирован
182
- *
183
- * Устанавливается после первого вызова useTopDialog()
184
- */
185
- isMounted = h(!1);
186
- /**
187
- * Компонент готов к использованию
188
- *
189
- * Используется для внутренних преобразований после отрисовки
190
- */
191
- isReady = h(!1);
192
- /**
193
- * Диалоговое окно открыто
194
- */
195
- isOpened = h(!1);
196
- /**
197
- * Имя активной страницы дилогового окна
198
- */
199
- pageActive = h("");
200
- /**
201
- * Диалоговое окно находится в состоянии загрузки своей страницы
202
- */
203
- isLoadingPage = h(!1);
204
- /**
205
- * Следующая активная страница
206
- *
207
- * В один момент времени может потребоваться отобразить две страницы, чтобы воспроизвести анимацию
208
- */
209
- pageActiveNext = h("");
210
- /**
211
- * props компонента, доступны после инициализации
212
- */
213
- props;
214
- /**
215
- * emit базового компонента `TopDialog`
216
- */
217
- emit;
218
- /**
219
- * Одноразовое событие на закрытие диалогового окна
220
- *
221
- * Используется для привязки окна к сценариям использования
222
- */
223
- onCloseOnce;
224
- constructor(e) {
225
- this.id = e.id, this.idAttr = "dialog_" + e.id, this.Component = S(e);
226
- }
227
- /**
228
- * Событие - компонент инициирован
229
- */
230
- onMounted(e, t) {
231
- this.isMounted.value = !0, this.props = e.props, this.emit = t.emit;
232
- }
233
- /**
234
- * Открыть диалоговое окно
235
- *
236
- * Учтите, что props в диалоговом окне будут доступны не сразу, а только после инициализации vue компонента
237
- */
238
- async open(e = "main", t, a = [], i, s) {
239
- t && await this.setProps(t), i && (this.onCloseOnce = i), await (await c.getDialogsUtils()).toView(this.idAttr, e, a, s);
240
- }
241
- /**
242
- * Открыть диалоговое окно как ссылку, для хеш-навигации
243
- *
244
- * Диалоговые окна загружаются по имени, см. настройку плагина Core topDialogLoader
245
- */
246
- async openAsLink(e = "main", t, a = [], i, s) {
247
- t && await this.setProps(t), i && (this.onCloseOnce = i);
248
- const r = this.idAttr + "-" + e, n = c.genViewPageHash(r, s);
249
- y(!1, n);
250
- }
251
- /**
252
- * Закрыть диалоговое окно
253
- *
254
- * Не меняет состояние компонента диалогового окна
255
- */
256
- async close() {
257
- c.close(this.idAttr);
258
- }
259
- /**
260
- * Размонтировать $.dialog
261
- */
262
- async destroy() {
263
- c.destroy(this.idAttr);
264
- }
265
- /**
266
- * Устанвоить props
267
- *
268
- * Полностью сбрасывается состояние props
269
- */
270
- async setProps(e = {}) {
271
- this.isMounted || await q(() => !this.props);
272
- for (const t in this.props)
273
- this.props[t] = e[t];
274
- }
275
- /**
276
- * Проверить, есть ли необходимость отрисовки страницы диалогового окна
277
- */
278
- needShowPage(e) {
279
- return this.isOpened.value ? this.pageActive.value === e || this.pageActiveNext.value === e : !1;
280
- }
281
- }
282
- const j = {
283
- class: "top-dialogs",
284
- style: { display: "none" }
285
- }, d = M(/* @__PURE__ */ new Map()), Q = (o) => (o = o.replace(/^dialog_/, ""), d.get(o)), X = (o) => {
286
- if (!(o != null && o.id))
287
- throw console.log({ TopDialogComponent: o }), new Error("Expected TopDialogComponent");
288
- return d.has(o.id) || d.set(o.id, new I(o)), d.get(o.id);
289
- }, Y = /* @__PURE__ */ C({
290
- name: "DialogWrapper",
291
- __name: "dialogs",
292
- setup(o) {
293
- return b(() => {
294
- d.forEach((e) => e.destroy()), d.clear();
295
- }), (e, t) => (p(), V("div", j, [
296
- (p(!0), V(k, null, O(R(d), ([a, i]) => (p(), _(F(i.Component), { key: a }))), 128))
297
- ]));
298
- }
299
- });
300
- export {
301
- c as T,
302
- Y as _,
303
- X as a,
304
- Q as g
305
- };
306
- //# sourceMappingURL=dialogs.vue_vue_type_script_setup_true_lang-X3S_WcSV.es.js.map