@topvisor/ui 1.0.22-test-ci-cd-10 → 1.2.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 (941) hide show
  1. package/.gitlab-ci/.gitlab-ci.yml +26 -0
  2. package/.gitlab-ci/common/install.yml +21 -0
  3. package/.gitlab-ci/common/lint.yml +14 -0
  4. package/.gitlab-ci/common/version.yml +23 -0
  5. package/.gitlab-ci/storybook/build.yml +20 -0
  6. package/.gitlab-ci/storybook/deploy.yml +49 -0
  7. package/.gitlab-ci/ui/build.yml +13 -0
  8. package/.gitlab-ci/ui/deploy.yml +23 -0
  9. package/.idea/.gitignore +11 -0
  10. package/.idea/codeStyles/Project.xml +205 -0
  11. package/.idea/codeStyles/codeStyleConfig.xml +5 -0
  12. package/.idea/externalDependencies.xml +6 -0
  13. package/.idea/inspectionProfiles/Disabled.xml +824 -0
  14. package/.idea/inspectionProfiles/Project_Default.xml +33 -0
  15. package/.idea/php.xml +19 -0
  16. package/.idea/vcs.xml +6 -0
  17. package/.storybook/TopTheme.ts +115 -0
  18. package/.storybook/TopThemeManager.ts +53 -0
  19. package/.storybook/main.ts +51 -0
  20. package/.storybook/manager.ts +25 -0
  21. package/.storybook/preview-head.html +21 -0
  22. package/.storybook/preview.ts +47 -0
  23. package/.storybook/vue/coreDecorator.ts +77 -0
  24. package/.storybook/vue/vModelDecorator.ts +46 -0
  25. package/.versionrc.json +16 -0
  26. package/.vscode/extensions.json +11 -0
  27. package/.vscode/keybindings.example.json +121 -0
  28. package/.vscode/settings.json +45 -0
  29. package/CHANGELOG.md +223 -0
  30. package/NPM.md +25 -0
  31. package/PUBLISH.md +63 -0
  32. package/README.md +20 -69
  33. package/STORYBOOK.md +48 -0
  34. package/USE_IN_PROJECT.md +32 -0
  35. package/build/afterBuild.sh +11 -0
  36. package/build/cssModules.ts +39 -0
  37. package/build/genDocs.sh +19 -0
  38. package/build/plugin/amdFix.ts +83 -0
  39. package/build/plugin/autoloadCSS.ts +155 -0
  40. package/build/rollup.config.ts +37 -0
  41. package/package.json +56 -1
  42. package/public/README.md +82 -0
  43. package/src/components/charts/charts.ts +8 -0
  44. package/src/components/charts/miniChart/miniChart.stories.ts +67 -0
  45. package/src/components/charts/miniChart/miniChart.ts +110 -0
  46. package/src/components/charts/miniChart/miniChart.vue +158 -0
  47. package/src/components/charts/miniChart/stories/README.md +9 -0
  48. package/src/components/charts/miniChart/stories/dummy.ts +25 -0
  49. package/src/components/charts/miniChart/styles/miniChart.css +87 -0
  50. package/src/components/charts/miniChart/utils/consts.ts +9 -0
  51. package/src/components/charts/miniCharts/miniCharts.stories.ts +76 -0
  52. package/src/components/charts/miniCharts/miniCharts.ts +24 -0
  53. package/src/components/charts/miniCharts/miniCharts.vue +128 -0
  54. package/src/components/charts/miniCharts/stories/README.md +18 -0
  55. package/src/components/charts/miniCharts/stories/dummy.ts +70 -0
  56. package/src/components/charts/miniCharts/stories/overview.vue +139 -0
  57. package/src/components/charts/miniCharts/styles/miniCharts.css +32 -0
  58. package/src/components/component.ts +130 -0
  59. package/src/components/core/core.mdx +7 -0
  60. package/src/components/core/notice/item/item.vue +145 -0
  61. package/src/components/core/notice/item/style.css +70 -0
  62. package/src/components/core/notice/item/types.ts +71 -0
  63. package/src/components/core/notice/notice.stories.ts +105 -0
  64. package/src/components/core/notice/notice.vue +69 -0
  65. package/src/components/core/notice/stories/README.md +34 -0
  66. package/src/components/core/notice/types.ts +1 -0
  67. package/src/components/core/notice/utils.ts +115 -0
  68. package/src/components/dialog/dialog/Dialog (code).mdx +61 -0
  69. package/src/components/dialog/dialog/composables/asyncDialogHandle.ts +99 -0
  70. package/src/components/dialog/dialog/composables/dialogHandle.ts +176 -0
  71. package/src/components/dialog/dialog/composables/types.ts +12 -0
  72. package/src/components/dialog/dialog/composables/utils.ts +39 -0
  73. package/src/components/dialog/dialog/dialog.stories.ts +83 -0
  74. package/src/components/dialog/dialog/dialog.vue +74 -0
  75. package/src/components/dialog/dialog/dialogs/dialogs.vue +58 -0
  76. package/src/components/dialog/dialog/page/page.vue +86 -0
  77. package/src/components/dialog/dialog/page/types.ts +84 -0
  78. package/src/components/dialog/dialog/page.stories.ts +27 -0
  79. package/src/components/dialog/dialog/pageComponent/pageComponent.vue +57 -0
  80. package/src/components/dialog/dialog/pageComponent/types.ts +21 -0
  81. package/src/components/dialog/dialog/pageComponent.stories.ts +27 -0
  82. package/src/components/dialog/dialog/stories/README.md +117 -0
  83. package/src/components/dialog/dialog/stories/autoload.ts +12 -0
  84. package/src/components/dialog/dialog/stories/dialog_example/dialog_example.vue +73 -0
  85. package/src/components/dialog/dialog/stories/dialog_example/pages/async.vue +57 -0
  86. package/src/components/dialog/dialog/stories/dialog_example/pages/default.vue +64 -0
  87. package/src/components/dialog/dialog/stories/dialog_example/pages/headerButtons.vue +56 -0
  88. package/src/components/dialog/dialog/stories/dialog_example/pages/utils.ts +26 -0
  89. package/src/components/dialog/dialog/stories/dialog_example/pages/withoutCache.vue +64 -0
  90. package/src/components/dialog/dialog/stories/page/README.md +24 -0
  91. package/src/components/dialog/dialog/stories/pageComponent/README.md +12 -0
  92. package/src/components/dialog/dialog/style/dialog.css +316 -0
  93. package/src/components/dialog/dialog/style/dialog.m.css +40 -0
  94. package/src/components/dialog/dialog/style/dialog.pc.css +73 -0
  95. package/src/components/dialog/dialog/style/modern/dialog.css +12 -0
  96. package/src/components/dialog/dialog/style/modern/dialog.pc.css +3 -0
  97. package/src/components/dialog/dialog/types.ts +69 -0
  98. package/src/components/dialog/dialog.ts +7 -0
  99. package/src/components/dialog/lib/types.ts +26 -0
  100. package/src/components/dialog/lib/utils.globalEvents.ts +175 -0
  101. package/src/components/dialog/lib/utils.ts +525 -0
  102. package/src/components/dialog/lib/worker.ts +273 -0
  103. package/src/components/forms/README.mdx +10 -0
  104. package/src/components/forms/avatar/avatar.stories.ts +38 -0
  105. package/src/components/forms/avatar/avatar.ts +40 -0
  106. package/src/components/forms/avatar/avatar.vue +77 -0
  107. package/src/components/forms/avatar/stories/overview.vue +28 -0
  108. package/src/components/forms/button/button.stories.ts +118 -0
  109. package/src/components/forms/button/button.vue +111 -0
  110. package/src/components/forms/button/stories/README.md +9 -0
  111. package/src/components/forms/button/stories/overview.vue +33 -0
  112. package/src/components/forms/button/style/button.css +139 -0
  113. package/src/components/forms/button/style/style-outline.css +129 -0
  114. package/src/components/forms/button/style/style-soft.css +89 -0
  115. package/src/components/forms/button/style/style-transparent.css +39 -0
  116. package/src/components/forms/button/types.ts +66 -0
  117. package/src/components/forms/checkbox/checkbox.stories.ts +33 -0
  118. package/src/components/forms/checkbox/checkbox.ts +21 -0
  119. package/src/components/forms/checkbox/checkbox.vue +114 -0
  120. package/src/components/forms/checkbox/stories/overview.vue +171 -0
  121. package/src/components/forms/controlLabel/controlLabel.stories.ts +32 -0
  122. package/src/components/forms/controlLabel/controlLabel.ts +4 -0
  123. package/src/components/forms/controlLabel/controlLabel.vue +54 -0
  124. package/src/components/forms/forms.ts +40 -0
  125. package/src/components/forms/helpers.ts +11 -0
  126. package/src/components/forms/hint/hint.stories.ts +41 -0
  127. package/src/components/forms/hint/hint.ts +8 -0
  128. package/src/components/forms/hint/hint.vue +32 -0
  129. package/src/components/forms/input/input.stories.ts +32 -0
  130. package/src/components/forms/input/input.ts +47 -0
  131. package/src/components/forms/input/input.vue +189 -0
  132. package/src/components/forms/input/stories/overview.vue +61 -0
  133. package/src/components/forms/inputDate/datepicker.css +246 -0
  134. package/src/components/forms/inputDate/datepicker.ts +101 -0
  135. package/src/components/forms/inputDate/inputDate.stories.ts +41 -0
  136. package/src/components/forms/inputDate/inputDate.ts +5 -0
  137. package/src/components/forms/inputDate/inputDate.vue +133 -0
  138. package/src/components/forms/inputDate/stories/overview.vue +35 -0
  139. package/src/components/forms/inputRange/inputRange.stories.ts +53 -0
  140. package/src/components/forms/inputRange/inputRange.ts +3 -0
  141. package/src/components/forms/inputRange/inputRange.vue +39 -0
  142. package/src/components/forms/inputRange/stories/overview.vue +129 -0
  143. package/src/components/forms/loadbar/loadbar.stories.ts +17 -0
  144. package/src/components/forms/loadbar/loadbar.vue +37 -0
  145. package/src/components/forms/radio/radio.stories.ts +34 -0
  146. package/src/components/forms/radio/radio.ts +15 -0
  147. package/src/components/forms/radio/radio.vue +97 -0
  148. package/src/components/forms/radio/stories/overview.vue +79 -0
  149. package/src/components/forms/select/select.stories.ts +69 -0
  150. package/src/components/forms/select/select.ts +69 -0
  151. package/src/components/forms/select/select.vue +300 -0
  152. package/src/components/forms/select/stories/exampleOptions.ts +61 -0
  153. package/src/components/forms/select/stories/overview.vue +72 -0
  154. package/src/components/forms/switcher/stories/overview.vue +139 -0
  155. package/src/components/forms/switcher/switcher.stories.ts +33 -0
  156. package/src/components/forms/switcher/switcher.ts +22 -0
  157. package/src/components/forms/switcher/switcher.vue +118 -0
  158. package/src/components/forms/textarea/stories/overview.vue +62 -0
  159. package/src/components/forms/textarea/textarea.stories.ts +34 -0
  160. package/src/components/forms/textarea/textarea.ts +47 -0
  161. package/src/components/forms/textarea/textarea.vue +123 -0
  162. package/src/components/formsExt/README.mdx +5 -0
  163. package/src/components/formsExt/editArea/editArea.stories.ts +41 -0
  164. package/src/components/formsExt/editArea/editArea.ts +41 -0
  165. package/src/components/formsExt/editArea/editArea.vue +198 -0
  166. package/src/components/formsExt/editArea/stories/README.md +21 -0
  167. package/src/components/formsExt/editArea/stories/overview.vue +67 -0
  168. package/src/components/formsExt/editInput/editInput.stories.ts +36 -0
  169. package/src/components/formsExt/editInput/editInput.ts +20 -0
  170. package/src/components/formsExt/editInput/editInput.vue +54 -0
  171. package/src/components/formsExt/editInput/stories/overview.vue +54 -0
  172. package/src/components/formsExt/formsExt.ts +15 -0
  173. package/src/components/formsExt/info/info.stories.ts +35 -0
  174. package/src/components/formsExt/info/info.vue +84 -0
  175. package/src/components/formsExt/info/stories/overview.vue +29 -0
  176. package/src/components/formsExt/info/types.ts +25 -0
  177. package/src/components/formsExt/menu/menu.stories.ts +59 -0
  178. package/src/components/formsExt/menu/menu.ts +45 -0
  179. package/src/components/formsExt/menu/menu.vue +321 -0
  180. package/src/components/formsExt/menu/stories/items.ts +18 -0
  181. package/src/components/formsExt/menu/stories/overview.vue +52 -0
  182. package/src/components/formsExt/navigationMenu/item.vue +186 -0
  183. package/src/components/formsExt/navigationMenu/navigationMenu.stories.ts +37 -0
  184. package/src/components/formsExt/navigationMenu/navigationMenu.ts +28 -0
  185. package/src/components/formsExt/navigationMenu/navigationMenu.vue +40 -0
  186. package/src/components/formsExt/navigationMenu/stories/items.ts +116 -0
  187. package/src/components/formsExt/radioGroup/radioGroup.stories.ts +51 -0
  188. package/src/components/formsExt/radioGroup/radioGroup.ts +28 -0
  189. package/src/components/formsExt/radioGroup/radioGroup.vue +146 -0
  190. package/src/components/formsExt/radioGroup/stories/overview.vue +78 -0
  191. package/src/components/formsExt/radioGroup/styles/top-scrollBar.css +52 -0
  192. package/src/components/formsExt/selector2/api.ts +148 -0
  193. package/src/components/formsExt/selector2/itemMulti.vue +57 -0
  194. package/src/components/formsExt/selector2/selector2.stories.ts +48 -0
  195. package/src/components/formsExt/selector2/selector2.ts +145 -0
  196. package/src/components/formsExt/selector2/selector2.vue +389 -0
  197. package/src/components/formsExt/selector2/stories/dummyAPIRequest.ts +58 -0
  198. package/src/components/formsExt/selector2/stories/overview.vue +93 -0
  199. package/src/components/helper.js +10 -0
  200. package/src/components/helpersStories.ts +205 -0
  201. package/src/components/layout/islandRows/islandRows.stories.ts +139 -0
  202. package/src/components/layout/islandRows/islandRows.vue +53 -0
  203. package/src/components/layout/islandRows/islandRowsRow/islandRowsRow.vue +36 -0
  204. package/src/components/layout/islandRows/islandRowsRow/types.ts +1 -0
  205. package/src/components/layout/islandRows/islandRowsSubTitle/islandRowsSubTitle.vue +16 -0
  206. package/src/components/layout/islandRows/stories/README.md +8 -0
  207. package/src/components/layout/islandRows/types.ts +11 -0
  208. package/src/components/layout/layout.ts +11 -0
  209. package/src/components/layout/rows/rows.stories.ts +48 -0
  210. package/src/components/layout/rows/rows.vue +46 -0
  211. package/src/components/layout/rows/stories/README.md +10 -0
  212. package/src/components/layout/rows/types.ts +6 -0
  213. package/src/components/popup/alert/alert.stories.ts +71 -0
  214. package/src/components/popup/alert/alert.ts +11 -0
  215. package/src/components/popup/alert/alert.vue +46 -0
  216. package/src/components/popup/alert/stories/overview.vue +40 -0
  217. package/src/components/popup/confirm/confirm.stories.ts +75 -0
  218. package/src/components/popup/confirm/confirm.ts +26 -0
  219. package/src/components/popup/confirm/confirm.vue +75 -0
  220. package/src/components/popup/confirm/stories/overview.vue +62 -0
  221. package/src/components/popup/lib/popup.globalEvents.ts +239 -0
  222. package/src/components/popup/lib/popup.ts +790 -0
  223. package/src/components/popup/lib/worker.globalEvents.ts +97 -0
  224. package/src/components/popup/lib/worker.ts +286 -0
  225. package/src/components/popup/popup/listItem.vue +35 -0
  226. package/src/components/popup/popup/opener.vue +81 -0
  227. package/src/components/popup/popup/popup.stories.ts +74 -0
  228. package/src/components/popup/popup/popup.ts +120 -0
  229. package/src/components/popup/popup/popup.vue +168 -0
  230. package/src/components/popup/popup/stories/README.md +55 -0
  231. package/src/components/popup/popup/stories/listItems.vue +44 -0
  232. package/src/components/popup/popup/stories/listSubItems.vue +47 -0
  233. package/src/components/popup/popup/stories/overview.vue +210 -0
  234. package/src/components/popup/popup/style/popup.css +345 -0
  235. package/src/components/popup/popup/style/popup.m.css +72 -0
  236. package/src/components/popup/popup/style/popup.pc.css +26 -0
  237. package/src/components/popup/popup/widgetInput.vue +43 -0
  238. package/src/components/popup/popup.ts +17 -0
  239. package/src/components/popup/prompt/prompt.stories.ts +78 -0
  240. package/src/components/popup/prompt/prompt.ts +26 -0
  241. package/src/components/popup/prompt/prompt.vue +84 -0
  242. package/src/components/popup/prompt/stories/overview.vue +50 -0
  243. package/src/components/popup/worker.ts +1 -0
  244. package/src/components/project/project.ts +23 -0
  245. package/src/components/project/selectorCompetitors/composables.ts +21 -0
  246. package/src/components/project/selectorCompetitors/selectorCompetitors.stories.ts +33 -0
  247. package/src/components/project/selectorCompetitors/selectorCompetitors.ts +27 -0
  248. package/src/components/project/selectorCompetitors/selectorCompetitors.vue +75 -0
  249. package/src/components/project/selectorCompetitors/stories/README.md +20 -0
  250. package/src/components/project/selectorCompetitors/stories/items.ts +30 -0
  251. package/src/components/project/selectorCompetitors/types/competitor.ts +7 -0
  252. package/src/components/project/selectorRegion/composables/compare.ts +87 -0
  253. package/src/components/project/selectorRegion/composables/selectRegion.ts +147 -0
  254. package/src/components/project/selectorRegion/composables/selectSearcher.ts +64 -0
  255. package/src/components/project/selectorRegion/composables/selectorRegion.ts +167 -0
  256. package/src/components/project/selectorRegion/dialog_selectorRegions/dialog_selectorRegions.vue +190 -0
  257. package/src/components/project/selectorRegion/dialog_selectorRegions/style.css +49 -0
  258. package/src/components/project/selectorRegion/dialog_selectorRegions/types.ts +31 -0
  259. package/src/components/project/selectorRegion/selectorRegion.stories.ts +85 -0
  260. package/src/components/project/selectorRegion/selectorRegion.ts +204 -0
  261. package/src/components/project/selectorRegion/selectorRegion.vue +335 -0
  262. package/src/components/project/selectorRegion/stories/README.md +36 -0
  263. package/src/components/project/selectorRegion/stories/searchers.ts +77 -0
  264. package/src/components/project/selectorRegion/styles/searcherColors.css +41 -0
  265. package/src/components/project/selectorRegion/utils/consts.ts +73 -0
  266. package/src/components/project/selectorRegion/utils/utils.ts +167 -0
  267. package/src/components/project/tagSelector/popupListItem/tagPopupListItem.vue +209 -0
  268. package/src/components/project/tagSelector/popupListItem/types.ts +40 -0
  269. package/src/components/project/tagSelector/popupOpener/popupOpener.vue +145 -0
  270. package/src/components/project/tagSelector/popupOpener/types.ts +71 -0
  271. package/src/components/project/tagSelector/stories/README.md +62 -0
  272. package/src/components/project/tagSelector/stories/overview.vue +152 -0
  273. package/src/components/project/tagSelector/tagIcon/tagIcon.vue +97 -0
  274. package/src/components/project/tagSelector/tagIcon/types.ts +25 -0
  275. package/src/components/project/tagSelector/tagSelector.stories.ts +51 -0
  276. package/src/components/project/tagSelector/tagSelector.vue +359 -0
  277. package/src/components/project/tagSelector/tagsDefaults.ts +54 -0
  278. package/src/components/project/tagSelector/types.ts +159 -0
  279. package/src/components/project/tagSelector/utils/el.ts +151 -0
  280. package/src/components/project/tagSelector/utils/utils.ts +30 -0
  281. package/src/components/tabs/tabs/content.vue +24 -0
  282. package/src/components/tabs/tabs/stories/README.md +12 -0
  283. package/src/components/tabs/tabs/tab.vue +49 -0
  284. package/src/components/tabs/tabs/tabs.stories.ts +171 -0
  285. package/src/components/tabs/tabs/tabs.ts +22 -0
  286. package/src/components/tabs/tabs/tabs.vue +64 -0
  287. package/src/components/tabs/tabs.ts +9 -0
  288. package/src/components/tabsView/tabsView/menu.vue +291 -0
  289. package/src/components/tabsView/tabsView/menuDelimeter.vue +26 -0
  290. package/src/components/tabsView/tabsView/menuItem.vue +125 -0
  291. package/src/components/tabsView/tabsView/menuTitle.vue +46 -0
  292. package/src/components/tabsView/tabsView/store.ts +60 -0
  293. package/src/components/tabsView/tabsView/stories/README.md +22 -0
  294. package/src/components/tabsView/tabsView/tabsView.stories.ts +170 -0
  295. package/src/components/tabsView/tabsView/tabsView.ts +118 -0
  296. package/src/components/tabsView/tabsView/tabsView.vue +120 -0
  297. package/src/components/tabsView/tabsView/utils.ts +27 -0
  298. package/src/components/tabsView/tabsView//320/255/320/273/320/265/320/274/320/265/320/275/321/202/321/213/MenuItem.stories.ts +47 -0
  299. package/src/components/tabsView/tabsView//320/255/320/273/320/265/320/274/320/265/320/275/321/202/321/213/MenuTitle.stories.ts +43 -0
  300. package/src/components/tabsView/tabsView.ts +9 -0
  301. package/src/components/types.ts +3 -0
  302. package/src/core/app.ts +22 -0
  303. package/src/core/core/core.mdx +36 -0
  304. package/src/core/core/core.ts +287 -0
  305. package/src/core/core/events/resize.ts +47 -0
  306. package/src/core/core/events.ts +6 -0
  307. package/src/core/core/jQuery.mdx +41 -0
  308. package/src/core/core/options.ts +51 -0
  309. package/src/core/core/preloaders.ts +31 -0
  310. package/src/core/core/state.ts +61 -0
  311. package/src/core/directives/data.mdx +24 -0
  312. package/src/core/directives/data.ts +25 -0
  313. package/src/core/directives/focus.mdx +28 -0
  314. package/src/core/directives/focus.ts +73 -0
  315. package/src/core/directives/scrollIntoView.mdx +41 -0
  316. package/src/core/directives/scrollIntoView.ts +123 -0
  317. package/src/core/directives/scrollShadow.mdx +23 -0
  318. package/src/core/directives/scrollShadow.ts +27 -0
  319. package/src/core/directives/sticky.mdx +29 -0
  320. package/src/core/directives/sticky.ts +32 -0
  321. package/src/core/directives/swimUp.mdx +27 -0
  322. package/src/core/directives/swimUp.ts +95 -0
  323. package/src/core/directives/tooltip.mdx +13 -0
  324. package/src/core/directives/tooltip.ts +57 -0
  325. package/src/core/icons/gallery.vue +70 -0
  326. package/src/core/icons/icons.mdx +24 -0
  327. package/src/core/icons/icons.stories.ts +14 -0
  328. package/src/core/plugins/core.ts +131 -0
  329. package/src/core/plugins/i18n.ts +184 -0
  330. package/src/core/plugins/piniaTPA.ts +431 -0
  331. package/src/core/plugins/plugins.mdx +82 -0
  332. package/src/core/styles/CSS Variables.stories.ts +17 -0
  333. package/src/core/styles/styles.mdx +26 -0
  334. package/src/core/theme/Variables.stories.ts +16 -0
  335. package/src/core/theme/theme.mdx +117 -0
  336. package/src/core/utils/References/Docs.mdx +23 -0
  337. package/src/core/utils/References/check/Docs.mdx +15 -0
  338. package/src/core/utils/References/check/functions/getDomainRegexp.mdx +15 -0
  339. package/src/core/utils/References/check/functions/isDomain.mdx +21 -0
  340. package/src/core/utils/References/check/functions/isEmail.mdx +22 -0
  341. package/src/core/utils/References/check/functions/isIp.mdx +21 -0
  342. package/src/core/utils/References/check/functions/validUrl.mdx +22 -0
  343. package/src/core/utils/References/clipboard/Docs.mdx +11 -0
  344. package/src/core/utils/References/clipboard/functions/setClipboard.mdx +23 -0
  345. package/src/core/utils/References/date/Docs.mdx +17 -0
  346. package/src/core/utils/References/date/functions/dateFormat.mdx +28 -0
  347. package/src/core/utils/References/date/functions/dateToString.mdx +26 -0
  348. package/src/core/utils/References/date/functions/dateUnformat.mdx +22 -0
  349. package/src/core/utils/References/date/functions/genDate.mdx +26 -0
  350. package/src/core/utils/References/date/functions/genDateMoscow.mdx +22 -0
  351. package/src/core/utils/References/date/functions/getDayOfWeek.mdx +26 -0
  352. package/src/core/utils/References/date/functions/stringToDate.mdx +21 -0
  353. package/src/core/utils/References/device/Docs.mdx +21 -0
  354. package/src/core/utils/References/device/functions/get$scroll.mdx +15 -0
  355. package/src/core/utils/References/device/functions/getCommandKeyLabel.mdx +15 -0
  356. package/src/core/utils/References/device/functions/getElsScroll.mdx +15 -0
  357. package/src/core/utils/References/device/functions/getOS.mdx +17 -0
  358. package/src/core/utils/References/device/functions/getOSAsync.mdx +15 -0
  359. package/src/core/utils/References/device/functions/getScrollTop.mdx +15 -0
  360. package/src/core/utils/References/device/functions/isApp.mdx +15 -0
  361. package/src/core/utils/References/device/functions/isMacOS.mdx +15 -0
  362. package/src/core/utils/References/device/functions/isMobile.mdx +15 -0
  363. package/src/core/utils/References/device/functions/isRetina.mdx +15 -0
  364. package/src/core/utils/References/device/functions/isSafari.mdx +15 -0
  365. package/src/core/utils/References/dom/Docs.mdx +27 -0
  366. package/src/core/utils/References/dom/functions/css.mdx +24 -0
  367. package/src/core/utils/References/dom/functions/genEl.mdx +28 -0
  368. package/src/core/utils/References/dom/functions/isVisible.mdx +23 -0
  369. package/src/core/utils/References/dom/functions/offset.mdx +35 -0
  370. package/src/core/utils/References/dom/functions/querySelectorAllArray.mdx +22 -0
  371. package/src/core/utils/References/dom/functions/querySelectorAllVisible.mdx +22 -0
  372. package/src/core/utils/References/dom/functions/querySelectorVisible.mdx +22 -0
  373. package/src/core/utils/References/dom/functions/querySelectorVisibleLast.mdx +22 -0
  374. package/src/core/utils/References/dom/functions/storage.mdx +28 -0
  375. package/src/core/utils/References/dom/functions/storageClear.mdx +21 -0
  376. package/src/core/utils/References/dom/functions/wrap.mdx +22 -0
  377. package/src/core/utils/References/dom/variables/default.mdx +241 -0
  378. package/src/core/utils/References/image/Docs.mdx +12 -0
  379. package/src/core/utils/References/image/functions/downloadImageFromString.mdx +22 -0
  380. package/src/core/utils/References/image/functions/genFaviconImgHtml.mdx +22 -0
  381. package/src/core/utils/References/keyboard/Docs.mdx +11 -0
  382. package/src/core/utils/References/keyboard/functions/invertKeyboardLayout.mdx +21 -0
  383. package/src/core/utils/References/lodash/Docs.mdx +20 -0
  384. package/src/core/utils/References/lodash/functions/cloneDeep.mdx +29 -0
  385. package/src/core/utils/References/lodash/functions/debounce.mdx +76 -0
  386. package/src/core/utils/References/lodash/functions/memoize.mdx +26 -0
  387. package/src/core/utils/References/lodash/functions/merge.mdx +200 -0
  388. package/src/core/utils/References/lodash/functions/throttle.mdx +73 -0
  389. package/src/core/utils/References/number/Docs.mdx +11 -0
  390. package/src/core/utils/References/number/functions/percentOfNumber.mdx +26 -0
  391. package/src/core/utils/References/price/Docs.mdx +11 -0
  392. package/src/core/utils/References/price/functions/genPrice.mdx +28 -0
  393. package/src/core/utils/References/route/Docs.mdx +16 -0
  394. package/src/core/utils/References/route/functions/delHash.mdx +26 -0
  395. package/src/core/utils/References/route/functions/genHash.mdx +26 -0
  396. package/src/core/utils/References/route/functions/getHash.mdx +22 -0
  397. package/src/core/utils/References/route/functions/historySetState.mdx +31 -0
  398. package/src/core/utils/References/route/functions/setHash.mdx +26 -0
  399. package/src/core/utils/References/route/functions/setHashs.mdx +22 -0
  400. package/src/core/utils/References/scroll/Docs.mdx +14 -0
  401. package/src/core/utils/References/scroll/functions/amountScrolled.mdx +17 -0
  402. package/src/core/utils/References/scroll/functions/connectScrollShadow.mdx +28 -0
  403. package/src/core/utils/References/scroll/functions/genHasScroll.mdx +25 -0
  404. package/src/core/utils/References/scroll/functions/getScrollPercent.mdx +21 -0
  405. package/src/core/utils/References/searchers/Docs.mdx +19 -0
  406. package/src/core/utils/References/searchers/functions/genVolumeLabel.mdx +26 -0
  407. package/src/core/utils/References/searchers/functions/getDeviceGIcon.mdx +21 -0
  408. package/src/core/utils/References/searchers/functions/getLangLabel.mdx +22 -0
  409. package/src/core/utils/References/searchers/functions/getSearcherGIcon.mdx +21 -0
  410. package/src/core/utils/References/searchers/functions/prepareVolumeType.mdx +22 -0
  411. package/src/core/utils/References/searchers/variables/searchersNames.mdx +97 -0
  412. package/src/core/utils/References/store/Docs.mdx +18 -0
  413. package/src/core/utils/References/store/functions/defineStore.mdx +36 -0
  414. package/src/core/utils/References/store/functions/useStore.mdx +29 -0
  415. package/src/core/utils/References/store/variables/plugin.mdx +66 -0
  416. package/src/core/utils/References/string/Docs.mdx +26 -0
  417. package/src/core/utils/References/string/functions/addCommasWhite.mdx +21 -0
  418. package/src/core/utils/References/string/functions/addLinkTags.mdx +23 -0
  419. package/src/core/utils/References/string/functions/camelToSnakeCase.mdx +21 -0
  420. package/src/core/utils/References/string/functions/ellipsis.mdx +26 -0
  421. package/src/core/utils/References/string/functions/genFlagLinkByCountryCode.mdx +21 -0
  422. package/src/core/utils/References/string/functions/genIntHash.mdx +21 -0
  423. package/src/core/utils/References/string/functions/getRandomHash.mdx +21 -0
  424. package/src/core/utils/References/string/functions/highlightHtml.mdx +25 -0
  425. package/src/core/utils/References/string/functions/htmlspecialchars.mdx +21 -0
  426. package/src/core/utils/References/string/functions/isUrl.mdx +21 -0
  427. package/src/core/utils/References/string/functions/nl2br.mdx +21 -0
  428. package/src/core/utils/References/string/functions/numberEnding.mdx +28 -0
  429. package/src/core/utils/References/string/functions/numberWithWord.mdx +28 -0
  430. package/src/core/utils/References/string/functions/rusToLatin.mdx +21 -0
  431. package/src/core/utils/References/string/functions/toCapitalize.mdx +21 -0
  432. package/src/core/utils/References/string/functions/toRoditPadej.mdx +21 -0
  433. package/src/core/utils/References/system/Docs.mdx +13 -0
  434. package/src/core/utils/References/system/functions/sleep.mdx +21 -0
  435. package/src/core/utils/References/system/functions/sleepWhile.mdx +26 -0
  436. package/src/core/utils/References/system/functions/waitWhile.mdx +26 -0
  437. package/src/core/utils/References/url/Docs.mdx +17 -0
  438. package/src/core/utils/References/url/functions/decode.mdx +21 -0
  439. package/src/core/utils/References/url/functions/encode.mdx +21 -0
  440. package/src/core/utils/References/url/functions/fromPuny.mdx +23 -0
  441. package/src/core/utils/References/url/functions/getHost.mdx +21 -0
  442. package/src/core/utils/References/url/functions/hostToLowerCase.mdx +21 -0
  443. package/src/core/utils/References/url/functions/normalize.mdx +21 -0
  444. package/src/core/utils/References/url/functions/toPuny.mdx +23 -0
  445. package/src/core/utils/check.ts +88 -0
  446. package/src/core/utils/clipboard.ts +51 -0
  447. package/src/core/utils/date.ts +291 -0
  448. package/src/core/utils/device.ts +139 -0
  449. package/src/core/utils/dom.ts +182 -0
  450. package/src/core/utils/image.ts +46 -0
  451. package/src/core/utils/keyboard.ts +29 -0
  452. package/src/core/utils/lodash.ts +18 -0
  453. package/src/core/utils/number.ts +37 -0
  454. package/src/core/utils/price.ts +24 -0
  455. package/src/core/utils/route.ts +115 -0
  456. package/src/core/utils/scroll.ts +120 -0
  457. package/src/core/utils/searchers.ts +191 -0
  458. package/src/core/utils/store/localStorage.ts +56 -0
  459. package/src/core/utils/store/plugin.ts +50 -0
  460. package/src/core/utils/store/store.ts +77 -0
  461. package/src/core/utils/store.ts +7 -0
  462. package/src/core/utils/string.ts +317 -0
  463. package/src/core/utils/system.ts +72 -0
  464. package/src/core/utils/url.ts +138 -0
  465. package/src/core/utils/utils.mdx +6 -0
  466. package/src/d.ts +12 -0
  467. package/src/icomoon.d.ts +98 -0
  468. package/src/resources/styles/core/components.css +111 -0
  469. package/src/resources/styles/core/core.ts +11 -0
  470. package/src/resources/styles/core/forms/clear.css +20 -0
  471. package/src/resources/styles/core/forms/controls.css +20 -0
  472. package/src/resources/styles/core/forms/focusable.css +26 -0
  473. package/src/resources/styles/core/forms/forms.css +156 -0
  474. package/src/resources/styles/core/icon.css +58 -0
  475. package/src/resources/styles/core/jquery.css +1 -0
  476. package/src/resources/styles/core/layout.css +59 -0
  477. package/src/resources/styles/core/modifiers/as.css +9 -0
  478. package/src/resources/styles/core/modifiers/ellipsis.css +26 -0
  479. package/src/resources/styles/core/modifiers/modifiers.css +120 -0
  480. package/src/resources/styles/core/modifiers/only.css +19 -0
  481. package/src/resources/styles/core/modifiers/scrollShadow.css +50 -0
  482. package/src/resources/styles/core/select.css +15 -0
  483. package/src/resources/styles/storybook.css +11 -0
  484. package/src/resources/styles/themes/dark/dark-layout.css +47 -0
  485. package/src/resources/styles/themes/dark/dark-positions.css +66 -0
  486. package/src/resources/styles/themes/dark/dark.css +400 -0
  487. package/src/resources/styles/themes/dark-positions.ts +1 -0
  488. package/src/resources/styles/themes/dark-th/dark-th-layout.css +47 -0
  489. package/src/resources/styles/themes/dark-th/dark-th-positions.css +67 -0
  490. package/src/resources/styles/themes/dark-th/dark-th.css +400 -0
  491. package/src/resources/styles/themes/dark-th-positions.ts +1 -0
  492. package/src/resources/styles/themes/dark-th.ts +3 -0
  493. package/src/resources/styles/themes/dark.ts +3 -0
  494. package/src/resources/styles/themes/light/light-layout.css +47 -0
  495. package/src/resources/styles/themes/light/light-positions.css +66 -0
  496. package/src/resources/styles/themes/light/light.css +400 -0
  497. package/src/resources/styles/themes/light-positions.ts +1 -0
  498. package/src/resources/styles/themes/light.ts +3 -0
  499. package/src/storybook/components/color.vue +47 -0
  500. package/src/storybook/components/cssVariables.vue +195 -0
  501. package/src/storybook/components/icomoon.ts +40 -0
  502. package/src/storybook/jquery.ts +4 -0
  503. 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
  504. 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" +12 -0
  505. package/src//320/240/320/260/320/267/321/200/320/260/320/261/320/276/321/202/320/272/320/260 (Contributing)/CHANGELOG.md.mdx" +4 -0
  506. 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
  507. 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
  508. 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
  509. 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
  510. 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
  511. 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
  512. 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
  513. 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
  514. 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
  515. package/src//320/240/320/260/320/267/321/200/320/260/320/261/320/276/321/202/320/272/320/260 (Contributing)/STORYBOOK.md.mdx" +4 -0
  516. package/src//320/240/320/260/320/267/321/200/320/260/320/261/320/276/321/202/320/272/320/260 (Contributing)/USE_IN_PROJECT.md.mdx" +3 -0
  517. 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
  518. 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
  519. 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
  520. 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" +31 -0
  521. 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
  522. 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" +41 -0
  523. 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
  524. 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
  525. 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
  526. package/storybook-dev.sh +14 -0
  527. package/tsconfig.json +91 -0
  528. package/typedoc.json +20 -0
  529. package/vite.config.ts +148 -0
  530. package/.chunks/core-CcWs0qYw.amd.js +0 -2
  531. package/.chunks/core-CcWs0qYw.amd.js.map +0 -1
  532. package/.chunks/core-Dsl28h7N.es.js +0 -196
  533. package/.chunks/core-Dsl28h7N.es.js.map +0 -1
  534. package/.chunks/datepicker-B6kIyIcw.amd.js +0 -2
  535. package/.chunks/datepicker-B6kIyIcw.amd.js.map +0 -1
  536. package/.chunks/datepicker-BTiE5Grw.es.js +0 -44
  537. package/.chunks/datepicker-BTiE5Grw.es.js.map +0 -1
  538. package/.chunks/dialog_selectorRegions-BZcnnvJM.es.js +0 -140
  539. package/.chunks/dialog_selectorRegions-BZcnnvJM.es.js.map +0 -1
  540. package/.chunks/dialog_selectorRegions-CePGUsCo.amd.js +0 -2
  541. package/.chunks/dialog_selectorRegions-CePGUsCo.amd.js.map +0 -1
  542. package/.chunks/dialogs.vue_vue_type_script_setup_true_lang-B5hK613K.es.js +0 -266
  543. package/.chunks/dialogs.vue_vue_type_script_setup_true_lang-B5hK613K.es.js.map +0 -1
  544. package/.chunks/dialogs.vue_vue_type_script_setup_true_lang-izSFcRLb.amd.js +0 -2
  545. package/.chunks/dialogs.vue_vue_type_script_setup_true_lang-izSFcRLb.amd.js.map +0 -1
  546. package/.chunks/forms-BsuCen2-.es.js +0 -1999
  547. package/.chunks/forms-BsuCen2-.es.js.map +0 -1
  548. package/.chunks/forms-BwGakScF.amd.js +0 -3
  549. package/.chunks/forms-BwGakScF.amd.js.map +0 -1
  550. package/.chunks/listItem.vue_vue_type_script_setup_true_lang-CfM8kOV1.amd.js +0 -2
  551. package/.chunks/listItem.vue_vue_type_script_setup_true_lang-CfM8kOV1.amd.js.map +0 -1
  552. package/.chunks/listItem.vue_vue_type_script_setup_true_lang-CszHDnB0.es.js +0 -181
  553. package/.chunks/listItem.vue_vue_type_script_setup_true_lang-CszHDnB0.es.js.map +0 -1
  554. package/.chunks/menu.vue_vue_type_style_index_0_lang-DQTVNJGq.amd.js +0 -2
  555. package/.chunks/menu.vue_vue_type_style_index_0_lang-DQTVNJGq.amd.js.map +0 -1
  556. package/.chunks/menu.vue_vue_type_style_index_0_lang-DmY5w4yr.es.js +0 -109
  557. package/.chunks/menu.vue_vue_type_style_index_0_lang-DmY5w4yr.es.js.map +0 -1
  558. package/.chunks/notice-CJdCc72d.amd.js +0 -4
  559. package/.chunks/notice-CJdCc72d.amd.js.map +0 -1
  560. package/.chunks/notice-Cqs1dKt8.es.js +0 -175
  561. package/.chunks/notice-Cqs1dKt8.es.js.map +0 -1
  562. package/.chunks/page.vue_vue_type_script_setup_true_lang-1JWduCTr.amd.js +0 -2
  563. package/.chunks/page.vue_vue_type_script_setup_true_lang-1JWduCTr.amd.js.map +0 -1
  564. package/.chunks/page.vue_vue_type_script_setup_true_lang-BCfksgg3.es.js +0 -143
  565. package/.chunks/page.vue_vue_type_script_setup_true_lang-BCfksgg3.es.js.map +0 -1
  566. package/.chunks/popup-CLhWWJDe.amd.js +0 -2
  567. package/.chunks/popup-CLhWWJDe.amd.js.map +0 -1
  568. package/.chunks/popup-N10MDafw.es.js +0 -416
  569. package/.chunks/popup-N10MDafw.es.js.map +0 -1
  570. package/.chunks/punycode.es6-C2yitnNb.amd.js +0 -2
  571. package/.chunks/punycode.es6-C2yitnNb.amd.js.map +0 -1
  572. package/.chunks/punycode.es6-CNI-zL6U.es.js +0 -134
  573. package/.chunks/punycode.es6-CNI-zL6U.es.js.map +0 -1
  574. package/.chunks/store-CX_6ZXhO.es.js +0 -29
  575. package/.chunks/store-CX_6ZXhO.es.js.map +0 -1
  576. package/.chunks/store-esTid5oI.amd.js +0 -2
  577. package/.chunks/store-esTid5oI.amd.js.map +0 -1
  578. package/.chunks/utils-B1H3EGkg.es.js +0 -79
  579. package/.chunks/utils-B1H3EGkg.es.js.map +0 -1
  580. package/.chunks/utils-B7GVqGBH.amd.js +0 -2
  581. package/.chunks/utils-B7GVqGBH.amd.js.map +0 -1
  582. package/.chunks/utils-DIy2mbYd.amd.js +0 -2
  583. package/.chunks/utils-DIy2mbYd.amd.js.map +0 -1
  584. package/.chunks/utils-bjr7c5my.es.js +0 -225
  585. package/.chunks/utils-bjr7c5my.es.js.map +0 -1
  586. package/assets/charts.css +0 -1
  587. package/assets/core.css +0 -1
  588. package/assets/dialog_selectorRegions.css +0 -1
  589. package/assets/forms.css +0 -1
  590. package/assets/formsExt.css +0 -1
  591. package/assets/layout.css +0 -1
  592. package/assets/listItem.css +0 -1
  593. package/assets/menu.css +0 -1
  594. package/assets/notice.css +0 -1
  595. package/assets/popup.css +0 -1
  596. package/assets/project.css +0 -1
  597. package/assets/tabs.css +0 -1
  598. package/assets/tabsView.css +0 -1
  599. package/assets/themes/dark-th.css +0 -1
  600. package/assets/themes/dark.css +0 -1
  601. package/assets/themes/light.css +0 -1
  602. package/charts/charts.amd.js +0 -2
  603. package/charts/charts.amd.js.map +0 -1
  604. package/charts/charts.d.ts +0 -2
  605. package/charts/charts.js +0 -178
  606. package/charts/charts.js.map +0 -1
  607. package/components/charts/charts.d.ts +0 -5
  608. package/components/charts/miniChart/miniChart.d.ts +0 -92
  609. package/components/charts/miniChart/miniChart.vue.d.ts +0 -15
  610. package/components/charts/miniChart/stories/dummy.d.ts +0 -13
  611. package/components/charts/miniChart/utils/consts.d.ts +0 -8
  612. package/components/charts/miniCharts/miniCharts.d.ts +0 -20
  613. package/components/charts/miniCharts/miniCharts.vue.d.ts +0 -32
  614. package/components/charts/miniCharts/stories/dummy.d.ts +0 -6
  615. package/components/core/notice/item/item.vue.d.ts +0 -10
  616. package/components/core/notice/item/types.d.ts +0 -61
  617. package/components/core/notice/notice.vue.d.ts +0 -5
  618. package/components/core/notice/types.d.ts +0 -1
  619. package/components/core/notice/utils.d.ts +0 -27
  620. package/components/dialog/dialog/composables/asyncDialogHandle.d.ts +0 -51
  621. package/components/dialog/dialog/composables/dialogHandle.d.ts +0 -108
  622. package/components/dialog/dialog/composables/types.d.ts +0 -11
  623. package/components/dialog/dialog/composables/utils.d.ts +0 -21
  624. package/components/dialog/dialog/dialog.vue.d.ts +0 -28
  625. package/components/dialog/dialog/dialogs/dialogs.vue.d.ts +0 -10
  626. package/components/dialog/dialog/page/page.vue.d.ts +0 -19
  627. package/components/dialog/dialog/page/types.d.ts +0 -72
  628. package/components/dialog/dialog/pageComponent/pageComponent.vue.d.ts +0 -6
  629. package/components/dialog/dialog/pageComponent/types.d.ts +0 -18
  630. package/components/dialog/dialog/stories/autoload.d.ts +0 -2
  631. package/components/dialog/dialog/stories/dialog_example/pages/utils.d.ts +0 -7
  632. package/components/dialog/dialog/types.d.ts +0 -58
  633. package/components/dialog/dialog.d.ts +0 -6
  634. package/components/dialog/lib/types.d.ts +0 -21
  635. package/components/dialog/lib/utils.d.ts +0 -14
  636. package/components/dialog/lib/utils.globalEvents.d.ts +0 -8
  637. package/components/dialog/lib/worker.d.ts +0 -60
  638. package/components/forms/avatar/avatar.d.ts +0 -38
  639. package/components/forms/avatar/avatar.vue.d.ts +0 -10
  640. package/components/forms/button/button.vue.d.ts +0 -25
  641. package/components/forms/button/types.d.ts +0 -53
  642. package/components/forms/checkbox/checkbox.d.ts +0 -21
  643. package/components/forms/checkbox/checkbox.vue.d.ts +0 -27
  644. package/components/forms/controlLabel/controlLabel.d.ts +0 -4
  645. package/components/forms/controlLabel/controlLabel.vue.d.ts +0 -19
  646. package/components/forms/forms.d.ts +0 -27
  647. package/components/forms/helpers.d.ts +0 -10
  648. package/components/forms/hint/hint.d.ts +0 -8
  649. package/components/forms/hint/hint.vue.d.ts +0 -4
  650. package/components/forms/input/input.d.ts +0 -34
  651. package/components/forms/input/input.vue.d.ts +0 -28
  652. package/components/forms/inputDate/datepicker.d.ts +0 -5
  653. package/components/forms/inputDate/inputDate.d.ts +0 -3
  654. package/components/forms/inputDate/inputDate.vue.d.ts +0 -12
  655. package/components/forms/inputRange/inputRange.d.ts +0 -2
  656. package/components/forms/inputRange/inputRange.vue.d.ts +0 -19
  657. package/components/forms/loadbar/loadbar.vue.d.ts +0 -3
  658. package/components/forms/radio/radio.d.ts +0 -14
  659. package/components/forms/radio/radio.vue.d.ts +0 -23
  660. package/components/forms/select/select.d.ts +0 -58
  661. package/components/forms/select/select.vue.d.ts +0 -18
  662. package/components/forms/select/stories/exampleOptions.d.ts +0 -5
  663. package/components/forms/switcher/switcher.d.ts +0 -21
  664. package/components/forms/switcher/switcher.vue.d.ts +0 -23
  665. package/components/forms/textarea/textarea.d.ts +0 -40
  666. package/components/forms/textarea/textarea.vue.d.ts +0 -12
  667. package/components/formsExt/editArea/editArea.d.ts +0 -33
  668. package/components/formsExt/editArea/editArea.vue.d.ts +0 -18
  669. package/components/formsExt/editInput/editInput.d.ts +0 -16
  670. package/components/formsExt/editInput/editInput.vue.d.ts +0 -8
  671. package/components/formsExt/formsExt.d.ts +0 -13
  672. package/components/formsExt/info/info.vue.d.ts +0 -20
  673. package/components/formsExt/info/types.d.ts +0 -21
  674. package/components/formsExt/menu/menu.d.ts +0 -37
  675. package/components/formsExt/menu/menu.vue.d.ts +0 -16
  676. package/components/formsExt/menu/stories/items.d.ts +0 -3
  677. package/components/formsExt/navigationMenu/navigationMenu.d.ts +0 -24
  678. package/components/formsExt/navigationMenu/stories/items.d.ts +0 -3
  679. package/components/formsExt/radioGroup/radioGroup.d.ts +0 -21
  680. package/components/formsExt/radioGroup/radioGroup.vue.d.ts +0 -19
  681. package/components/formsExt/selector2/api.d.ts +0 -8
  682. package/components/formsExt/selector2/itemMulti.vue.d.ts +0 -8
  683. package/components/formsExt/selector2/selector2.d.ts +0 -130
  684. package/components/formsExt/selector2/selector2.vue.d.ts +0 -210
  685. package/components/formsExt/selector2/stories/dummyAPIRequest.d.ts +0 -10
  686. package/components/layout/islandRows/islandRows.vue.d.ts +0 -17
  687. package/components/layout/islandRows/islandRowsRow/islandRowsRow.vue.d.ts +0 -18
  688. package/components/layout/islandRows/islandRowsRow/types.d.ts +0 -2
  689. package/components/layout/islandRows/islandRowsSubTitle/islandRowsSubTitle.vue.d.ts +0 -18
  690. package/components/layout/islandRows/types.d.ts +0 -10
  691. package/components/layout/layout.d.ts +0 -9
  692. package/components/layout/rows/rows.vue.d.ts +0 -21
  693. package/components/layout/rows/types.d.ts +0 -6
  694. package/components/popup/alert/alert.d.ts +0 -8
  695. package/components/popup/alert/alert.vue.d.ts +0 -31
  696. package/components/popup/confirm/confirm.d.ts +0 -21
  697. package/components/popup/confirm/confirm.vue.d.ts +0 -33
  698. package/components/popup/lib/popup.d.ts +0 -83
  699. package/components/popup/lib/popup.globalEvents.d.ts +0 -26
  700. package/components/popup/lib/worker.d.ts +0 -75
  701. package/components/popup/lib/worker.globalEvents.d.ts +0 -19
  702. package/components/popup/popup/listItem.vue.d.ts +0 -22
  703. package/components/popup/popup/opener.vue.d.ts +0 -23
  704. package/components/popup/popup/popup.d.ts +0 -101
  705. package/components/popup/popup/popup.vue.d.ts +0 -40
  706. package/components/popup/popup/widgetInput.vue.d.ts +0 -17
  707. package/components/popup/popup.d.ts +0 -15
  708. package/components/popup/prompt/prompt.d.ts +0 -21
  709. package/components/popup/prompt/prompt.vue.d.ts +0 -33
  710. package/components/popup/worker.d.ts +0 -1
  711. package/components/project/project.d.ts +0 -15
  712. package/components/project/selectorCompetitors/composables.d.ts +0 -4
  713. package/components/project/selectorCompetitors/selectorCompetitors.d.ts +0 -23
  714. package/components/project/selectorCompetitors/selectorCompetitors.vue.d.ts +0 -14
  715. package/components/project/selectorCompetitors/stories/items.d.ts +0 -3
  716. package/components/project/selectorCompetitors/types/competitor.d.ts +0 -7
  717. package/components/project/selectorRegion/composables/compare.d.ts +0 -12
  718. package/components/project/selectorRegion/composables/selectRegion.d.ts +0 -14
  719. package/components/project/selectorRegion/composables/selectSearcher.d.ts +0 -13
  720. package/components/project/selectorRegion/composables/selectorRegion.d.ts +0 -25
  721. package/components/project/selectorRegion/dialog_selectorRegions/dialog_selectorRegions.vue.d.ts +0 -4
  722. package/components/project/selectorRegion/dialog_selectorRegions/types.d.ts +0 -26
  723. package/components/project/selectorRegion/selectorRegion.d.ts +0 -170
  724. package/components/project/selectorRegion/selectorRegion.vue.d.ts +0 -23
  725. package/components/project/selectorRegion/stories/searchers.d.ts +0 -3
  726. package/components/project/selectorRegion/utils/consts.d.ts +0 -18
  727. package/components/project/selectorRegion/utils/utils.d.ts +0 -32
  728. package/components/project/tagSelector/popupListItem/tagPopupListItem.vue.d.ts +0 -20
  729. package/components/project/tagSelector/popupListItem/types.d.ts +0 -33
  730. package/components/project/tagSelector/popupOpener/popupOpener.vue.d.ts +0 -27
  731. package/components/project/tagSelector/popupOpener/types.d.ts +0 -62
  732. package/components/project/tagSelector/tagIcon/tagIcon.vue.d.ts +0 -4
  733. package/components/project/tagSelector/tagIcon/types.d.ts +0 -21
  734. package/components/project/tagSelector/tagSelector.vue.d.ts +0 -37
  735. package/components/project/tagSelector/tagsDefaults.d.ts +0 -3
  736. package/components/project/tagSelector/types.d.ts +0 -138
  737. package/components/project/tagSelector/utils/el.d.ts +0 -19
  738. package/components/project/tagSelector/utils/utils.d.ts +0 -14
  739. package/components/tabs/tabs/content.vue.d.ts +0 -19
  740. package/components/tabs/tabs/tab.vue.d.ts +0 -19
  741. package/components/tabs/tabs/tabs.d.ts +0 -19
  742. package/components/tabs/tabs/tabs.vue.d.ts +0 -21
  743. package/components/tabs/tabs.d.ts +0 -7
  744. package/components/tabsView/tabsView/menu.vue.d.ts +0 -32
  745. package/components/tabsView/tabsView/menuDelimeter.vue.d.ts +0 -3
  746. package/components/tabsView/tabsView/menuItem.vue.d.ts +0 -23
  747. package/components/tabsView/tabsView/menuTitle.vue.d.ts +0 -20
  748. package/components/tabsView/tabsView/store.d.ts +0 -192
  749. package/components/tabsView/tabsView/tabsView.d.ts +0 -98
  750. package/components/tabsView/tabsView/tabsView.vue.d.ts +0 -34
  751. package/components/tabsView/tabsView/utils.d.ts +0 -11
  752. package/components/tabsView/tabsView.d.ts +0 -7
  753. package/core/app.amd.js +0 -2
  754. package/core/app.amd.js.map +0 -1
  755. package/core/app.d.ts +0 -8
  756. package/core/app.js +0 -214
  757. package/core/app.js.map +0 -1
  758. package/core/core/core.d.ts +0 -113
  759. package/core/core/events/resize.d.ts +0 -16
  760. package/core/core/events.d.ts +0 -15
  761. package/core/core/options.d.ts +0 -46
  762. package/core/core/preloaders.d.ts +0 -19
  763. package/core/core/state.d.ts +0 -49
  764. package/core/directives/data.d.ts +0 -10
  765. package/core/directives/focus.d.ts +0 -10
  766. package/core/directives/scrollIntoView.d.ts +0 -3
  767. package/core/directives/scrollShadow.d.ts +0 -15
  768. package/core/directives/sticky.d.ts +0 -10
  769. package/core/directives/swimUp.d.ts +0 -15
  770. package/core/directives/tooltip.d.ts +0 -10
  771. package/core/plugins/core.d.ts +0 -60
  772. package/core/plugins/i18n.d.ts +0 -97
  773. package/core/plugins/piniaTPA.d.ts +0 -17
  774. package/core/utils/check.d.ts +0 -26
  775. package/core/utils/clipboard.d.ts +0 -12
  776. package/core/utils/date.d.ts +0 -52
  777. package/core/utils/device.d.ts +0 -50
  778. package/core/utils/dom.d.ts +0 -94
  779. package/core/utils/image.d.ts +0 -16
  780. package/core/utils/keyboard.d.ts +0 -8
  781. package/core/utils/lodash.d.ts +0 -6
  782. package/core/utils/number.d.ts +0 -17
  783. package/core/utils/price.d.ts +0 -10
  784. package/core/utils/route.d.ts +0 -33
  785. package/core/utils/scroll.d.ts +0 -32
  786. package/core/utils/searchers.d.ts +0 -38
  787. package/core/utils/store/localStorage.d.ts +0 -6
  788. package/core/utils/store/plugin.d.ts +0 -24
  789. package/core/utils/store/store.d.ts +0 -34
  790. package/core/utils/store.d.ts +0 -6
  791. package/core/utils/string.d.ts +0 -88
  792. package/core/utils/system.d.ts +0 -25
  793. package/core/utils/url.d.ts +0 -36
  794. package/dialog/dialog.amd.js +0 -2
  795. package/dialog/dialog.amd.js.map +0 -1
  796. package/dialog/dialog.d.ts +0 -2
  797. package/dialog/dialog.js +0 -60
  798. package/dialog/dialog.js.map +0 -1
  799. package/forms/forms.amd.js +0 -2
  800. package/forms/forms.amd.js.map +0 -1
  801. package/forms/forms.d.ts +0 -2
  802. package/forms/forms.js +0 -17
  803. package/forms/forms.js.map +0 -1
  804. package/forms/helpers.amd.js +0 -2
  805. package/forms/helpers.amd.js.map +0 -1
  806. package/forms/helpers.d.ts +0 -2
  807. package/forms/helpers.js +0 -10
  808. package/forms/helpers.js.map +0 -1
  809. package/formsExt/formsExt.amd.js +0 -2
  810. package/formsExt/formsExt.amd.js.map +0 -1
  811. package/formsExt/formsExt.d.ts +0 -2
  812. package/formsExt/formsExt.js +0 -493
  813. package/formsExt/formsExt.js.map +0 -1
  814. package/layout/layout.amd.js +0 -2
  815. package/layout/layout.amd.js.map +0 -1
  816. package/layout/layout.d.ts +0 -2
  817. package/layout/layout.js +0 -62
  818. package/layout/layout.js.map +0 -1
  819. package/popup/popup.amd.js +0 -2
  820. package/popup/popup.amd.js.map +0 -1
  821. package/popup/popup.d.ts +0 -2
  822. package/popup/popup.js +0 -244
  823. package/popup/popup.js.map +0 -1
  824. package/popup/worker.amd.js +0 -2
  825. package/popup/worker.amd.js.map +0 -1
  826. package/popup/worker.d.ts +0 -2
  827. package/popup/worker.js +0 -129
  828. package/popup/worker.js.map +0 -1
  829. package/project/project.amd.js +0 -2
  830. package/project/project.amd.js.map +0 -1
  831. package/project/project.d.ts +0 -2
  832. package/project/project.js +0 -976
  833. package/project/project.js.map +0 -1
  834. package/tabs/tabs.amd.js +0 -2
  835. package/tabs/tabs.amd.js.map +0 -1
  836. package/tabs/tabs.d.ts +0 -2
  837. package/tabs/tabs.js +0 -81
  838. package/tabs/tabs.js.map +0 -1
  839. package/tabsView/tabsView.amd.js +0 -2
  840. package/tabsView/tabsView.amd.js.map +0 -1
  841. package/tabsView/tabsView.d.ts +0 -2
  842. package/tabsView/tabsView.js +0 -306
  843. package/tabsView/tabsView.js.map +0 -1
  844. package/utils/check.amd.js +0 -2
  845. package/utils/check.amd.js.map +0 -1
  846. package/utils/check.d.ts +0 -2
  847. package/utils/check.js +0 -26
  848. package/utils/check.js.map +0 -1
  849. package/utils/clipboard.amd.js +0 -6
  850. package/utils/clipboard.amd.js.map +0 -1
  851. package/utils/clipboard.d.ts +0 -2
  852. package/utils/clipboard.js +0 -33
  853. package/utils/clipboard.js.map +0 -1
  854. package/utils/date.amd.js +0 -2
  855. package/utils/date.amd.js.map +0 -1
  856. package/utils/date.d.ts +0 -2
  857. package/utils/date.js +0 -11
  858. package/utils/date.js.map +0 -1
  859. package/utils/device.amd.js +0 -2
  860. package/utils/device.amd.js.map +0 -1
  861. package/utils/device.d.ts +0 -2
  862. package/utils/device.js +0 -15
  863. package/utils/device.js.map +0 -1
  864. package/utils/dom.amd.js +0 -2
  865. package/utils/dom.amd.js.map +0 -1
  866. package/utils/dom.d.ts +0 -6
  867. package/utils/dom.js +0 -75
  868. package/utils/dom.js.map +0 -1
  869. package/utils/image.amd.js +0 -12
  870. package/utils/image.amd.js.map +0 -1
  871. package/utils/image.d.ts +0 -2
  872. package/utils/image.js +0 -23
  873. package/utils/image.js.map +0 -1
  874. package/utils/keyboard.amd.js +0 -2
  875. package/utils/keyboard.amd.js.map +0 -1
  876. package/utils/keyboard.d.ts +0 -2
  877. package/utils/keyboard.js +0 -12
  878. package/utils/keyboard.js.map +0 -1
  879. package/utils/lodash.amd.js +0 -2
  880. package/utils/lodash.amd.js.map +0 -1
  881. package/utils/lodash.d.ts +0 -2
  882. package/utils/lodash.js +0 -9
  883. package/utils/lodash.js.map +0 -1
  884. package/utils/number.amd.js +0 -2
  885. package/utils/number.amd.js.map +0 -1
  886. package/utils/number.d.ts +0 -2
  887. package/utils/number.js +0 -13
  888. package/utils/number.js.map +0 -1
  889. package/utils/price.amd.js +0 -2
  890. package/utils/price.amd.js.map +0 -1
  891. package/utils/price.d.ts +0 -2
  892. package/utils/price.js +0 -10
  893. package/utils/price.js.map +0 -1
  894. package/utils/route.amd.js +0 -2
  895. package/utils/route.amd.js.map +0 -1
  896. package/utils/route.d.ts +0 -2
  897. package/utils/route.js +0 -31
  898. package/utils/route.js.map +0 -1
  899. package/utils/scroll.amd.js +0 -2
  900. package/utils/scroll.amd.js.map +0 -1
  901. package/utils/scroll.d.ts +0 -2
  902. package/utils/scroll.js +0 -45
  903. package/utils/scroll.js.map +0 -1
  904. package/utils/searchers.amd.js +0 -2
  905. package/utils/searchers.amd.js.map +0 -1
  906. package/utils/searchers.d.ts +0 -2
  907. package/utils/searchers.js +0 -134
  908. package/utils/searchers.js.map +0 -1
  909. package/utils/store.amd.js +0 -2
  910. package/utils/store.amd.js.map +0 -1
  911. package/utils/store.d.ts +0 -2
  912. package/utils/store.js +0 -7
  913. package/utils/store.js.map +0 -1
  914. package/utils/string.amd.js +0 -2
  915. package/utils/string.amd.js.map +0 -1
  916. package/utils/string.d.ts +0 -2
  917. package/utils/string.js +0 -139
  918. package/utils/string.js.map +0 -1
  919. package/utils/system.amd.js +0 -2
  920. package/utils/system.amd.js.map +0 -1
  921. package/utils/system.d.ts +0 -2
  922. package/utils/system.js +0 -29
  923. package/utils/system.js.map +0 -1
  924. package/utils/url.amd.js +0 -3
  925. package/utils/url.amd.js.map +0 -1
  926. package/utils/url.d.ts +0 -2
  927. package/utils/url.js +0 -48
  928. package/utils/url.js.map +0 -1
  929. /package/{icomoon → public/icomoon}/Read Me.txt +0 -0
  930. /package/{icomoon → public/icomoon}/Topvisor icons.json +0 -0
  931. /package/{icomoon → public/icomoon}/demo-files/demo.css +0 -0
  932. /package/{icomoon → public/icomoon}/demo-files/demo.js +0 -0
  933. /package/{icomoon → public/icomoon}/demo.html +0 -0
  934. /package/{icomoon → public/icomoon}/fonts/Topvisor-2.eot +0 -0
  935. /package/{icomoon → public/icomoon}/fonts/Topvisor-2.svg +0 -0
  936. /package/{icomoon → public/icomoon}/fonts/Topvisor-2.ttf +0 -0
  937. /package/{icomoon → public/icomoon}/fonts/Topvisor-2.woff +0 -0
  938. /package/{icomoon → public/icomoon}/selection.json +0 -0
  939. /package/{icomoon → public/icomoon}/style.css +0 -0
  940. /package/{jquery-ui.min.css → public/jquery-ui.min.css} +0 -0
  941. /package/{require → public/require}/css.amd.js +0 -0
@@ -1,196 +0,0 @@
1
- import { defineAsyncComponent as D } from "vue";
2
- import { C as r, E as P, T as I, g as V, h as C, j as R, k as M, l as x, m as H, n as $, o as N, p as F, q as B, r as W, s as Y } from "./forms-BsuCen2-.es.js";
3
- import { TopPopupWorker as l } from "../popup/worker.js";
4
- import { T as j, _ as q } from "./dialogs.vue_vue_type_script_setup_true_lang-B5hK613K.es.js";
5
- import { isVisible as L } from "../utils/dom.js";
6
- class z {
7
- static isInited = !1;
8
- /**
9
- * Добавить глобальные обработчики
10
- *
11
- * Добавляются на страницу один раз и навсегда
12
- */
13
- static init() {
14
- this.isInited || (this.isInited = !0, document.addEventListener("mouseover", (e) => {
15
- var o;
16
- !(e.target instanceof HTMLElement) || !((o = e.target.dataset) != null && o.topPopupOpenByHover) || e.target.click();
17
- }), document.addEventListener("scroll", () => {
18
- r.state.isMobile || r.state.isMobileUA || l.getAll().forEach((e) => l.close(e));
19
- }), P.addOnReize((e) => {
20
- r.state.isMobile && e.topEvent.widthDiff && l.getAll().forEach((o) => l.close(o));
21
- }), document.addEventListener("click", this.onclick));
22
- }
23
- /**
24
- * Глобальный обработчик кликов
25
- *
26
- * Обрабатывает клики на открытие Popup
27
- */
28
- static async onclick(e) {
29
- var n, i, s, a, y;
30
- if (!(e.target instanceof HTMLElement)) return;
31
- let o;
32
- switch (!0) {
33
- case !!((n = e.target.dataset) != null && n.topPopup):
34
- o = e.target;
35
- break;
36
- case !!((i = e.target.parentElement) != null && i.dataset.topPopup):
37
- o = e.target.parentElement;
38
- break;
39
- case !!((a = (s = e.target.parentElement) == null ? void 0 : s.parentElement) != null && a.dataset.topPopup):
40
- o = (y = e.target.parentElement) == null ? void 0 : y.parentElement;
41
- break;
42
- }
43
- o && (o.dataset.topPopupDisabled || o.dataset.topPopupOpened || (e.preventDefault(), await l.openByOpener(o)));
44
- }
45
- }
46
- let T;
47
- const G = {
48
- mounted: async (t, e) => {
49
- T || (T = (await import("../utils/dom.js")).storage);
50
- const o = e.arg, n = e.value;
51
- T(t, o, n);
52
- }
53
- };
54
- let g, p = [], w;
55
- const Q = async () => {
56
- const { isVisible: t } = await import("../utils/dom.js");
57
- if (p = p.filter(t), !p.length) return;
58
- p[0].focus(), p = [];
59
- }, U = async (t) => {
60
- g || (g = await import("../utils/lodash.js")), w || (w = g.debounce(Q, 30)), p.push(t), w();
61
- }, J = {
62
- mounted: function(t, e) {
63
- t.__TOP_V_FOCUS_VALUE = e.value ?? !0, (e.value ?? !0) && U(t);
64
- },
65
- updated: function(t, e) {
66
- e.modifiers.onupdate && t.__TOP_V_FOCUS_VALUE !== (e.value ?? !0) && (t.__TOP_V_FOCUS_VALUE = e.value ?? !0, (e.value ?? !0) && U(t));
67
- }
68
- };
69
- let m, h;
70
- const O = (t) => (typeof t == "boolean" || (t ? t = { ...t } : t = {}, t.behavior ??= "smooth", t.block ??= "nearest", t.inline ??= "nearest"), t);
71
- let f, b;
72
- const K = async () => {
73
- if (!f) return;
74
- const t = await _(f);
75
- t.isVisible && f.scrollIntoView(t.scrollIntoViewOptions);
76
- }, S = async (t) => {
77
- h || (h = await import("../utils/lodash.js")), b || (b = h.debounce(K, 30)), f = t, b();
78
- }, _ = async (t, e) => {
79
- m || (m = await import("../utils/dom.js"));
80
- let o = m.storage(t, "v-top-scrollIntoView");
81
- return o || (o = {
82
- isVisible: L(t),
83
- scrollIntoViewOptions: O(e)
84
- }, m.storage(t, "v-top-scrollIntoView", o)), o;
85
- }, X = {
86
- async mounted(t, e) {
87
- await _(t, e.value), e.modifiers.immediate && S(t);
88
- },
89
- async updated(t, e) {
90
- const o = await _(t, e.value);
91
- o.scrollIntoViewOptions = O(e.value);
92
- const n = L(t);
93
- n && o.isVisible !== n && S(t), o.isVisible = n;
94
- }
95
- };
96
- let c;
97
- const Z = {
98
- async mounted(t) {
99
- c || (c = await import("../utils/scroll.js")), c.connectScrollShadow(t);
100
- },
101
- async unmounted(t) {
102
- c || (c = await import("../utils/scroll.js")), c.unconnectScrollShadow(t);
103
- }
104
- };
105
- let u;
106
- const tt = {
107
- mounted(t, e, o) {
108
- const n = e.value || "top-sticky";
109
- u = new IntersectionObserver((i) => {
110
- let s = i[0].intersectionRatio < 1;
111
- s && e.modifiers.bottom && i[0].intersectionRect.y === 0 && (s = !1), t.classList.toggle(n, s);
112
- }, {
113
- threshold: [1]
114
- }), u.observe(t);
115
- },
116
- unmounted(t, e, o) {
117
- u == null || u.disconnect();
118
- }
119
- };
120
- let k = !1, d;
121
- const v = /* @__PURE__ */ new Map(), et = (t, e) => {
122
- const { distance: o, percent: n } = t.directiveSwipUpOptions, i = t.getBoundingClientRect().top, s = e * n / 100 / o, a = (e - i) / s;
123
- a <= o ? t.style.transform = `translateY(${o - a}px)` : t.style.transform = "translateY(0px)";
124
- }, ot = (t) => {
125
- let e = window.innerHeight;
126
- window.addEventListener("scroll", () => {
127
- v.forEach((o) => et(o, e));
128
- }, { passive: !0 }), d = new IntersectionObserver((o) => {
129
- e = window.innerHeight, o.forEach((n) => {
130
- const i = n.target;
131
- if (n.intersectionRatio < 0.1 ? v.delete(i) : v.set(i, i), n.intersectionRatio === 0) {
132
- const { distance: s } = i.directiveSwipUpOptions;
133
- i.style.transform = `translateY(${s}px)`;
134
- }
135
- });
136
- }, {
137
- threshold: 0.1
138
- });
139
- }, nt = {
140
- mounted(t, e, o) {
141
- var n, i;
142
- r.state.isMobileUA || (t.directiveSwipUpOptions = {
143
- distance: ((n = e.value) == null ? void 0 : n.distance) ?? 100,
144
- // количество px на которые блок изначально смещен вниз,
145
- percent: ((i = e.value) == null ? void 0 : i.percent) ?? 30
146
- // процент высоты экрана поднявшись на который блок закончит подплытие
147
- }, k || (ot(), k = !0), d.observe(t));
148
- },
149
- unmounted(t, e, o) {
150
- v.delete(t), d == null || d.unobserve(t);
151
- }
152
- }, E = (t) => {
153
- var e, o;
154
- if (!((o = (e = r.$) == null ? void 0 : e.ui) != null && o.tooltip)) {
155
- console.info("Для работы v-top-tooltip требуется глобальная загрузка jQuery UI Tooltip");
156
- return;
157
- }
158
- return r.$(t);
159
- }, A = (t, e) => {
160
- var n;
161
- const o = t.value ?? {};
162
- return o.content ??= (n = e.props) == null ? void 0 : n.title, o.content = String(o.content).replace(/\r\n|\r|\n/g, "<br>"), o.position ??= {
163
- my: "bottom-18px",
164
- at: "top center"
165
- }, o;
166
- }, it = {
167
- mounted(t, e, o) {
168
- var n;
169
- (n = E(t)) == null || n.tooltip(A(e, o));
170
- },
171
- updated(t, e, o, n) {
172
- var a;
173
- const i = A(e, o), s = (a = E(t)) == null ? void 0 : a.tooltip("instance");
174
- s && (s.options = {
175
- ...s.options,
176
- ...i
177
- });
178
- },
179
- unmounted(t, e, o) {
180
- var n;
181
- (n = E(t)) == null || n.tooltip("destroy");
182
- }
183
- }, st = D(() => import("./notice-Cqs1dKt8.es.js"));
184
- window.vd = console.log;
185
- const ut = {
186
- install: (t, e) => {
187
- t.config.globalProperties.$core = r, t.config.globalProperties.$vd = console.log;
188
- for (const o in e)
189
- r.state[o] = e[o];
190
- e.widthForMobile && (r.widthForMobile = e.widthForMobile), e.themeName && (r.themeName = e.themeName), r._setState(), e.topPopupOptions && (l.options = e.topPopupOptions), z.init(), j.init(e.topDialogOptions), t.directive("top-data", G), t.directive("top-focus", J), t.directive("top-scroll-into-view", X), t.directive("top-scroll-shadow", Z), t.directive("top-sticky", tt), t.directive("top-swim-up", nt), t.directive("top-tooltip", it), t.component("TopAvatar", I), t.component("TopButton", V), t.component("TopCheckbox", C), t.component("TopControlLabel", R), t.component("TopHint", M), t.component("TopInput", x), t.component("TopInputDate", H), t.component("TopInputRange", $), t.component("TopLoadbar", N), t.component("TopRadio", F), t.component("TopSelect", B), t.component("TopSwitcher", W), t.component("TopTextarea", Y), t.component("TopNotice", st), t.component("TopDialogs", q);
191
- }
192
- };
193
- export {
194
- ut as c
195
- };
196
- //# sourceMappingURL=core-Dsl28h7N.es.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"core-Dsl28h7N.es.js","sources":["../../src/components/popup/lib/worker.globalEvents.ts","../../src/core/directives/data.ts","../../src/core/directives/focus.ts","../../src/core/directives/scrollIntoView.ts","../../src/core/directives/scrollShadow.ts","../../src/core/directives/sticky.ts","../../src/core/directives/swimUp.ts","../../src/core/directives/tooltip.ts","../../src/core/plugins/core.ts"],"sourcesContent":["import Core from '@/core/core/core';\r\nimport Events from '@/core/core/events';\r\nimport Worker from '@/components/popup/lib/worker';\r\n\r\n/**\r\n * Глобальные события, для реализации Popup\r\n */\r\nclass WorkerEvents {\r\n\r\n\tprivate static isInited = false;\r\n\r\n\t/**\r\n\t * Добавить глобальные обработчики\r\n\t *\r\n\t * Добавляются на страницу один раз и навсегда\r\n\t */\r\n\tstatic init(): void {\r\n\t\tif (this.isInited) return;\r\n\r\n\t\tthis.isInited = true;\r\n\r\n\t\t// автоматическое открытие при наведении мыши, событие глобальное, так как инициализация popup отложена\r\n\t\tdocument.addEventListener('mouseover', (e) => {\r\n\t\t\tif (!(e.target instanceof HTMLElement) || !e.target.dataset?.topPopupOpenByHover) {\r\n\t\t\t\treturn;\r\n\t\t\t}\r\n\r\n\t\t\te.target.click();\r\n\t\t});\r\n\r\n\t\t// при скролле страницы закрыть Popup\r\n\t\tdocument.addEventListener('scroll', () => {\r\n\t\t\tif (Core.state.isMobile || Core.state.isMobileUA) {\r\n\t\t\t\treturn;\r\n\t\t\t}\r\n\r\n\t\t\tWorker.getAll().forEach(elPopup => Worker.close(elPopup));\r\n\t\t});\r\n\r\n\t\tEvents.addOnReize(e => {\r\n\t\t\t// закрыть popup при повороте экрана телефона\r\n\t\t\t// если была отображена ПК версия, она будет закрыта\r\n\t\t\tif (Core.state.isMobile && e.topEvent.widthDiff) {\r\n\t\t\t\tWorker.getAll().forEach(elPopup => Worker.close(elPopup));\r\n\t\t\t}\r\n\t\t});\r\n\r\n\t\tdocument.addEventListener('click', this.onclick);\r\n\t}\r\n\r\n\t/**\r\n\t * Глобальный обработчик кликов\r\n\t *\r\n\t * Обрабатывает клики на открытие Popup\r\n\t */\r\n\tprivate static async onclick(e: Event): Promise<void> {\r\n\t\tif (!(e.target instanceof HTMLElement)) return;\r\n\r\n\t\tlet elOpener: HTMLElement | null | undefined;\r\n\r\n\t\tswitch (true) {\r\n\t\t\tcase !!e.target.dataset?.topPopup:\r\n\t\t\t\telOpener = e.target;\r\n\r\n\t\t\t\tbreak;\r\n\r\n\t\t\tcase !!e.target.parentElement?.dataset.topPopup:\r\n\t\t\t\telOpener = e.target.parentElement;\r\n\r\n\t\t\t\tbreak;\r\n\r\n\t\t\tcase !!e.target.parentElement?.parentElement?.dataset.topPopup:\r\n\t\t\t\telOpener = e.target.parentElement?.parentElement;\r\n\r\n\t\t\t\tbreak;\r\n\t\t}\r\n\r\n\t\tif (!elOpener) {\r\n\t\t\treturn;\r\n\t\t}\r\n\r\n\t\tif (elOpener.dataset.topPopupDisabled) {\r\n\t\t\treturn;\r\n\t\t}\r\n\r\n\t\t// меню уже открыто\r\n\t\tif (elOpener.dataset.topPopupOpened) {\r\n\t\t\treturn;\r\n\t\t}\r\n\r\n\t\te.preventDefault();\r\n\r\n\t\tawait Worker.openByOpener(elOpener);\r\n\t}\r\n}\r\n\r\nexport default WorkerEvents;\r\n","import type { DirectiveBinding, ObjectDirective } from 'vue';\r\n\r\nlet storage: any;\r\n\r\n/**\r\n * Сохранить данные в элементе\r\n *\r\n * Для доступа к данным можно воспользоваться ui/utils/dom storage()\r\n */\r\nconst data = {\r\n\tmounted: async (el: HTMLElement, binding: DirectiveBinding) => {\r\n\t\tif (!storage) {\r\n\t\t\tconst UtilsDom = await import('@/core/utils/dom');\r\n\r\n\t\t\tstorage = UtilsDom.storage;\r\n\t\t}\r\n\r\n\t\tconst name = binding.arg;\r\n\t\tconst value = binding.value;\r\n\r\n\t\tstorage(el, name, value);\r\n\t},\r\n};\r\n\r\nexport default data;\r\n","import type { DirectiveBinding } from 'vue';\r\n\r\ntype Binding = DirectiveBinding<boolean, 'onupdate'>;\r\n\r\nlet UtilsLodash: typeof import('@/core/utils/lodash');\r\n\r\n/**\r\n * Список элементов, на которых бала запрошена фокусировка, для дедупликации фокусировок\r\n */\r\nlet elsActive: HTMLElement[] = [];\r\n\r\n/**\r\n * Функция скролла с дедупликацией\r\n */\r\nlet focusOnElActiveDebounce: Function;\r\n\r\n/**\r\n * Выполнить фокусировку на активном элементе\r\n *\r\n * Если фокусирока запрошена на несколько элементов, будет выбран первый элемент\r\n */\r\nconst focusOnElActive = async () => {\r\n\tconst { isVisible } = await import('@/core/utils/dom');\r\n\telsActive = elsActive.filter(isVisible)\r\n\r\n\tif (!elsActive.length) return;\r\n\r\n\tconst el = elsActive[0];\r\n\r\n\tel.focus();\r\n\r\n\t// // UX: Если выбрано несколько чекбоксов или радио после выбора фокусировка будет снята, чтобы не делать выбор за пользователя\r\n\t// if (elsActive.length && el.nodeName === 'INPUT') {\r\n\t// \tconst type = (el as HTMLInputElement).type;\r\n\t// \tif (type === 'checkbox' || type === 'radio') el.blur();\r\n\t// }\r\n\r\n\telsActive = [];\r\n};\r\n\r\n/**\r\n * Выполнить дедуплицированную фокусировку на элементе\r\n */\r\nconst focusOnElDebounce = async (el: HTMLElement) => {\r\n\tif (!UtilsLodash) UtilsLodash = await import('@/core/utils/lodash');\r\n\tif (!focusOnElActiveDebounce) focusOnElActiveDebounce = UtilsLodash.debounce(focusOnElActive, 30);\r\n\r\n\telsActive.push(el);\r\n\r\n\tfocusOnElActiveDebounce();\r\n};\r\n\r\n/**\r\n * Фокусировка на элементе сразу после его отображения\r\n */\r\nconst focus = {\r\n\tmounted: function (el: HTMLElement, binding: Binding) {\r\n\t\tel['__TOP_V_FOCUS_VALUE'] = binding.value ?? true;\r\n\r\n\t\tif (binding.value ?? true) focusOnElDebounce(el);\r\n\t},\r\n\r\n\tupdated: function (el: HTMLElement, binding: Binding) {\r\n\t\tif (!binding.modifiers.onupdate) return;\r\n\r\n\t\tif (el['__TOP_V_FOCUS_VALUE'] === (binding.value ?? true)) return;\r\n\t\tel['__TOP_V_FOCUS_VALUE'] = binding.value ?? true;\r\n\r\n\t\tif (binding.value ?? true) focusOnElDebounce(el);\r\n\t},\r\n};\r\n\r\nexport default focus;\r\n","import type { DirectiveBinding, ObjectDirective } from 'vue';\r\nimport { isVisible } from '@/core/utils/dom';\r\n\r\ntype Binding = DirectiveBinding<ScrollIntoViewOptions | boolean | undefined, 'immediate'>;\r\n\r\ntype Storage = {\r\n\t/**\r\n\t * Сохраненное состояние видимости\r\n\t */\r\n\tisVisible: boolean,\r\n\r\n\t/**\r\n\t * Текущие настройки скролла\r\n\t */\r\n\tscrollIntoViewOptions: ScrollIntoViewOptions | boolean\r\n};\r\n\r\nlet UtilsDom: typeof import('@/core/utils/dom');\r\nlet UtilsLodash: typeof import('@/core/utils/lodash');\r\n\r\n/**\r\n * Сгенерировать настройки для скролла\r\n *\r\n * @see https://developer.mozilla.org/ru/docs/Web/API/Element/scrollIntoView\r\n */\r\nconst genScrollIntoViewOptions = (scrollIntoViewOptions?: ScrollIntoViewOptions | boolean) => {\r\n\tif (typeof scrollIntoViewOptions === 'boolean') return scrollIntoViewOptions;\r\n\r\n\tif (!scrollIntoViewOptions) {\r\n\t\tscrollIntoViewOptions = {};\r\n\t} else {\r\n\t\tscrollIntoViewOptions = { ...scrollIntoViewOptions };\r\n\t}\r\n\r\n\tscrollIntoViewOptions.behavior ??= 'smooth';\r\n\tscrollIntoViewOptions.block ??= 'nearest';\r\n\tscrollIntoViewOptions.inline ??= 'nearest';\r\n\r\n\treturn scrollIntoViewOptions;\r\n};\r\n\r\n/**\r\n * Активный элемент, для дедупликации скроллов\r\n *\r\n * Только один элемент на странице может считаться активным\r\n */\r\nlet elActive: HTMLElement | undefined;\r\n\r\n/**\r\n * Функция скролла с дедупликацией\r\n */\r\nlet scrollToElActiveDebounce: Function;\r\n\r\n/**\r\n * Выполнить скролл к текущему активному элементу\r\n */\r\nconst scrollToElActive = async () => {\r\n\tif (!elActive) return;\r\n\r\n\tconst storage = await useStorage(elActive);\r\n\tif (!storage.isVisible) return;\r\n\r\n\telActive.scrollIntoView(storage.scrollIntoViewOptions);\r\n};\r\n\r\n/**\r\n * Выполнить дедуплицированный скролл к элементу\r\n *\r\n * Будет выполнен скролл к самому последнему элементу, вызвавшему срабатывание директивы\r\n */\r\nconst scrollToElDebounce = async (el: HTMLElement) => {\r\n\tif (!UtilsLodash) UtilsLodash = await import('@/core/utils/lodash');\r\n\tif (!scrollToElActiveDebounce) scrollToElActiveDebounce = UtilsLodash.debounce(scrollToElActive, 30);\r\n\r\n\telActive = el;\r\n\r\n\tscrollToElActiveDebounce();\r\n};\r\n\r\n/**\r\n * Данные, связанные с элементом и директивой\r\n */\r\nconst useStorage = async (el: HTMLElement, scrollIntoViewOptions?: ScrollIntoViewOptions | boolean) => {\r\n\tif (!UtilsDom) UtilsDom = await import('@/core/utils/dom');\r\n\r\n\tlet storage: Storage | undefined = UtilsDom.storage(el, 'v-top-scrollIntoView');\r\n\r\n\t// инициализация\r\n\tif (!storage) {\r\n\t\tstorage = {\r\n\t\t\tisVisible: isVisible(el),\r\n\t\t\tscrollIntoViewOptions: genScrollIntoViewOptions(scrollIntoViewOptions),\r\n\t\t};\r\n\r\n\t\tUtilsDom.storage(el, 'v-top-scrollIntoView', storage);\r\n\t}\r\n\r\n\treturn storage;\r\n};\r\n\r\nconst scrollIntoView: ObjectDirective = {\r\n\tasync mounted(el: HTMLElement, binding: Binding) {\r\n\t\tawait useStorage(el, binding.value);\r\n\r\n\t\tif (binding.modifiers.immediate) {\r\n\t\t\tscrollToElDebounce(el);\r\n\t\t}\r\n\t},\r\n\r\n\tasync updated(el: HTMLElement, binding: Binding) {\r\n\t\tconst storage = await useStorage(el, binding.value);\r\n\t\tstorage.scrollIntoViewOptions = genScrollIntoViewOptions(binding.value);\r\n\r\n\t\tconst isVisibleNew = isVisible(el);\r\n\t\tif (isVisibleNew && storage.isVisible !== isVisibleNew) {\r\n\t\t\tscrollToElDebounce(el);\r\n\t\t}\r\n\r\n\t\tstorage.isVisible = isVisibleNew;\r\n\t},\r\n};\r\n\r\nexport default scrollIntoView;\r\n","let UtilsScroll: typeof import('@/core/utils/scroll');\r\n\r\n/**\r\n * Добавить отображение тени при появлении скролла у элемента\r\n *\r\n * Будут добавлены события для усатновки модификаторов тени в зависимости от скролла элемента\r\n *\r\n * Модификаторы:\r\n * - top-scrollShadow\r\n * - top-scrollShadow-started\r\n * - top-scrollShadow-finished\r\n */\r\nconst connectScrollShadow = {\r\n\tasync mounted(el) {\r\n\t\tif (!UtilsScroll) UtilsScroll = await import('@/core/utils/scroll');\r\n\r\n\t\tUtilsScroll.connectScrollShadow(el);\r\n\t},\r\n\r\n\tasync unmounted(el) {\r\n\t\tif (!UtilsScroll) UtilsScroll = await import('@/core/utils/scroll');\r\n\r\n\t\tUtilsScroll.unconnectScrollShadow(el);\r\n\t},\r\n};\r\n\r\nexport default connectScrollShadow;\r\n","import type { DirectiveBinding, ObjectDirective, VNode } from 'vue';\r\n\r\nlet appStickyObserver: IntersectionObserver;\r\n\r\n/**\r\n * Добавление sticky\r\n * К элементу добляется класс переданный как значение диррективы либо **'top-sticky'** по умолчанию\r\n */\r\nconst sticky = {\r\n\tmounted(el: HTMLElement, binding: DirectiveBinding, _vnode: VNode) {\r\n\t\tconst className = binding.value || 'top-sticky';\r\n\r\n\t\tappStickyObserver = new IntersectionObserver(entries => {\r\n\t\t\tlet condition = entries[0].intersectionRatio < 1;\r\n\t\t\tif (condition) {\r\n\t\t\t\tif (binding.modifiers.bottom && entries[0].intersectionRect.y === 0) condition = false;\r\n\t\t\t}\r\n\r\n\t\t\tel.classList.toggle(className, condition);\r\n\t\t}, {\r\n\t\t\tthreshold: [1],\r\n\t\t});\r\n\r\n\t\tappStickyObserver.observe(el);\r\n\t},\r\n\r\n\tunmounted(_el: HTMLElement, _binding: DirectiveBinding, _vnode: VNode) {\r\n\t\tappStickyObserver?.disconnect();\r\n\t},\r\n};\r\n\r\nexport default sticky;\r\n","import type { DirectiveBinding, ObjectDirective, VNode } from 'vue';\r\nimport Core from '@/core/core/core';\r\n\r\ninterface HTMLElementWithSwimUpOptions extends HTMLElement {\r\n\tdirectiveSwipUpOptions: {\r\n\t\tdistance: number,\r\n\t\tpercent: number,\r\n\t};\r\n}\r\n\r\nlet appSwimUpInited = false;\r\nlet appSwimUpObserver: IntersectionObserver;\r\nconst appSwimUpEls = new Map();\r\n\r\n/**\r\n * Отодвинуть блок в зависимости от скролла старинцы\r\n * @param el\r\n * @param windowHeight\r\n */\r\nconst swimUpElTransform = (el: HTMLElementWithSwimUpOptions, windowHeight: number): void => {\r\n\tconst { distance, percent } = el.directiveSwipUpOptions;\r\n\r\n\tconst elTop = el.getBoundingClientRect().top;\r\n\r\n\t// во столько раз triggerHeight должен быть меньше, чтобы закончить подплытие к нужной высоте экрана\r\n\tconst triggerHeightReducer = windowHeight * percent / 100 / distance;\r\n\tconst triggerHeight = (windowHeight - elTop) / triggerHeightReducer;\r\n\r\n\tif (triggerHeight <= distance) {\r\n\t\tel.style.transform = `translateY(${distance - triggerHeight}px)`;\r\n\t} else {\r\n\t\tel.style.transform = 'translateY(0px)';\r\n\t}\r\n};\r\n\r\nconst swimUpInit = (_el: HTMLElementWithSwimUpOptions): void => {\r\n\tlet windowHeight = window.innerHeight;\r\n\r\n\twindow.addEventListener('scroll', () => {\r\n\t\tappSwimUpEls.forEach((el) => swimUpElTransform(el, windowHeight));\r\n\t}, { passive: true });\r\n\r\n\t// проверка того, что элемент в зоне видимости\r\n\tappSwimUpObserver = new IntersectionObserver(entries => {\r\n\t\twindowHeight = window.innerHeight;\r\n\r\n\t\tentries.forEach((entry) => {\r\n\t\t\tconst el = entry.target as HTMLElementWithSwimUpOptions;\r\n\r\n\t\t\tif (entry.intersectionRatio < 0.1) {\r\n\t\t\t\t// элемент за областью видимости\r\n\t\t\t\tappSwimUpEls.delete(el);\r\n\t\t\t} else {\r\n\t\t\t\t// элемент на экране\r\n\t\t\t\tappSwimUpEls.set(el, el);\r\n\t\t\t}\r\n\r\n\t\t\tif (entry.intersectionRatio === 0) {\r\n\t\t\t\tconst { distance } = el.directiveSwipUpOptions;\r\n\t\t\t\tel.style.transform = `translateY(${distance}px)`;\r\n\t\t\t}\r\n\t\t});\r\n\t}, {\r\n\t\tthreshold: 0.1,\r\n\t});\r\n};\r\n\r\n/**\r\n * Добавление анимации подплытия вверх для блока\r\n */\r\nconst swimUp = {\r\n\tmounted(el: HTMLElementWithSwimUpOptions, binding: DirectiveBinding, _vnode: VNode): void {\r\n\t\tif (Core.state.isMobileUA) return;\r\n\r\n\t\tel.directiveSwipUpOptions = {\r\n\t\t\tdistance: binding.value?.distance ?? 100, // количество px на которые блок изначально смещен вниз,\r\n\t\t\tpercent: binding.value?.percent ?? 30, // процент высоты экрана поднявшись на который блок закончит подплытие\r\n\t\t};\r\n\r\n\t\tif (!appSwimUpInited) {\r\n\t\t\tswimUpInit(el);\r\n\r\n\t\t\tappSwimUpInited = true;\r\n\t\t}\r\n\r\n\t\tappSwimUpObserver.observe(el);\r\n\t},\r\n\r\n\tunmounted(el: HTMLElementWithSwimUpOptions, _binding: DirectiveBinding, _vnode: VNode) {\r\n\t\tappSwimUpEls.delete(el);\r\n\t\tappSwimUpObserver?.unobserve(el);\r\n\t},\r\n};\r\n\r\nexport default swimUp;\r\n","import type { DirectiveBinding, ObjectDirective, VNode } from 'vue';\r\nimport Core from '@/core/core/core';\r\n\r\nconst $ = (el: VNode) => {\r\n\tif (!Core.$?.ui?.tooltip) {\r\n\t\tconsole.info('Для работы v-top-tooltip требуется глобальная загрузка jQuery UI Tooltip');\r\n\r\n\t\treturn;\r\n\t}\r\n\r\n\treturn Core.$(el);\r\n};\r\n\r\nconst tvTooltipGenOptions = (binding: DirectiveBinding, vnode: VNode) => {\r\n\tconst options = binding.value ?? {};\r\n\r\n\toptions.content ??= vnode.props?.title;\r\n\toptions.content = String(options.content).replace(/\\r\\n|\\r|\\n/g, '<br>');\r\n\r\n\toptions.position ??= {\r\n\t\tmy: 'bottom-18px',\r\n\t\tat: 'top center',\r\n\t};\r\n\r\n\treturn options;\r\n};\r\n\r\n/**\r\n * Добавление всплывающей подсказки к элементу.\r\n */\r\nconst tooltip = {\r\n\tmounted(el: VNode, binding: DirectiveBinding, vnode: VNode) {\r\n\t\t$(el)?.tooltip(tvTooltipGenOptions(binding, vnode));\r\n\t},\r\n\r\n\tupdated(el: VNode, binding: DirectiveBinding, vnode: VNode, _prevVnode: VNode) {\r\n\t\t/**\r\n\t\t * В результате обновления может быть открыто несколько тултипов поэтому изменить опции, без перерисовки тултипа\r\n\t\t */\r\n\t\tconst options = tvTooltipGenOptions(binding, vnode);\r\n\t\tconst instance = $(el)?.tooltip('instance') as { options: JQueryUI.TooltipOptions } | undefined;\r\n\t\tif (!instance) {\r\n\t\t\treturn;\r\n\t\t}\r\n\r\n\t\tinstance.options = {\r\n\t\t\t...instance.options,\r\n\t\t\t...options,\r\n\t\t};\r\n\t},\r\n\r\n\tunmounted(el: VNode, _binding: DirectiveBinding, _vnode: VNode) {\r\n\t\t$(el)?.tooltip('destroy');\r\n\t},\r\n};\r\n\r\nexport default tooltip;\r\n","import { defineAsyncComponent, type Plugin } from 'vue';\r\nimport type { PartialBy } from '@/components/types';\r\n\r\nimport Core from '@/core/core/core';\r\nimport coreDefaultOptions from '@/core/core/options';\r\n\r\nimport * as Forms from '../../components/forms/forms';\r\n\r\nconst TopNotice = defineAsyncComponent(() => import('@/components/core/notice/notice.vue'));\r\n\r\nimport type { Options as TopPopupOptions } from '@/components/popup/lib/worker';\r\nimport TopPopupWorker from '@/components/popup/lib/worker';\r\nimport TopPopupWorkerGlobalEvents from '@/components/popup/lib/worker.globalEvents';\r\n\r\nimport TopDialogs from '@/components/dialog/dialog/dialogs/dialogs.vue';\r\nimport { TopDialogWorker } from '@/components/dialog/lib/worker';\r\nimport type { TopDialogOptions } from '@/components/dialog/lib/types';\r\n\r\nimport directiveData from '@/core/directives/data';\r\nimport directiveFocus from '@/core/directives/focus';\r\nimport directiveScrollIntoView from '@/core/directives/scrollIntoView';\r\nimport directiveScrollShadow from '@/core/directives/scrollShadow';\r\nimport directiveSticky from '@/core/directives/sticky';\r\nimport directiveSwimUp from '@/core/directives/swimUp';\r\nimport directiveTooltip from '@/core/directives/tooltip';\r\n\r\ndeclare global {\r\n\tconst vd: typeof console.log;\r\n}\r\n\r\nwindow['vd'] = console.log;\r\n\r\ndeclare module 'vue' {\r\n\texport interface ComponentCustomProperties {\r\n\t\t/**\r\n\t\t * Статический класс с текущим состоянимем UI\r\n\t\t */\r\n\t\t$core: typeof Core;\r\n\r\n\t\t$vd: typeof console.log;\r\n\t}\r\n\r\n\t/**\r\n\t * Обязательные компоненты UI\r\n\t *\r\n\t * Они подключаются через плагин и доступны без явного указания импорта\r\n\t */\r\n\texport interface GlobalComponents {\r\n\t\tTopAvatar: typeof Forms.TopAvatar;\r\n\t\tTopButton: typeof Forms.TopButton;\r\n\t\tTopCheckbox: typeof Forms.TopCheckbox;\r\n\t\tTopControlLabel: typeof Forms.TopControlLabel;\r\n\t\tTopHint: typeof Forms.TopHint;\r\n\t\tTopInput: typeof Forms.TopInput;\r\n\t\tTopInputDate: typeof Forms.TopInputDate;\r\n\t\tTopInputRange: typeof Forms.TopInputRange;\r\n\t\tTopRadio: typeof Forms.TopRadio;\r\n\t\tTopSwitcher: typeof Forms.TopSwitcher;\r\n\t\tTopTextarea: typeof Forms.TopTextarea;\r\n\t\tTopSelect: typeof Forms.TopSelect;\r\n\t\tTopLoadbar: typeof Forms.TopLoadbar;\r\n\r\n\t\tTopNotice: typeof TopNotice;\r\n\t\tTopDialogs: typeof TopDialogs;\r\n\t}\r\n}\r\n\r\ntype CoreOptions = PartialBy<typeof coreDefaultOptions, 'gmt' | 'documentClassModificators'>;\r\n\r\ntype Options = CoreOptions & {\r\n\ttopPopupOptions?: TopPopupOptions\r\n\ttopDialogOptions?: TopDialogOptions\r\n};\r\n\r\n/**\r\n * Плагин для интеграции UI во Vue приложение\r\n *\r\n * - В глобальную область видимости шаблонов будет добавлен объект $core\r\n * - Будут зарегистрирвоаны директивы UI: https://ui.topvisor.com/?path=/docs/core-directives-focus--docs\r\n * - Будут подключены базовые компоненты UI/Forms: https://ui.topvisor.com/?path=/docs/components-forms-readme--docs\r\n */\r\nexport default {\r\n\r\n\tinstall: (app, options: Options) => {\r\n\t\tapp.config.globalProperties.$core = Core;\r\n\t\tapp.config.globalProperties.$vd = console.log;\r\n\r\n\t\t// начальные настройки UI\r\n\t\tfor (const name in options) {\r\n\t\t\tCore.state[name] = options[name];\r\n\t\t}\r\n\r\n\t\tif (options.widthForMobile) Core.widthForMobile = options.widthForMobile;\r\n\t\tif (options.themeName) Core.themeName = options.themeName;\r\n\r\n\t\tCore._setState();\r\n\r\n\t\tif (options.topPopupOptions) TopPopupWorker.options = options.topPopupOptions;\r\n\t\tTopPopupWorkerGlobalEvents.init();\r\n\r\n\t\tTopDialogWorker.init(options.topDialogOptions);\r\n\r\n\t\t// определение директив\r\n\t\tapp.directive('top-data', directiveData);\r\n\t\tapp.directive('top-focus', directiveFocus);\r\n\t\tapp.directive('top-scroll-into-view', directiveScrollIntoView);\r\n\t\tapp.directive('top-scroll-shadow', directiveScrollShadow);\r\n\t\tapp.directive('top-sticky', directiveSticky);\r\n\t\tapp.directive('top-swim-up', directiveSwimUp);\r\n\t\tapp.directive('top-tooltip', directiveTooltip);\r\n\r\n\t\t// определение базовых компонентов\r\n\t\tapp.component('TopAvatar', Forms.TopAvatar);\r\n\t\tapp.component('TopButton', Forms.TopButton);\r\n\t\tapp.component('TopCheckbox', Forms.TopCheckbox);\r\n\t\tapp.component('TopControlLabel', Forms.TopControlLabel);\r\n\t\tapp.component('TopHint', Forms.TopHint);\r\n\t\tapp.component('TopInput', Forms.TopInput);\r\n\t\tapp.component('TopInputDate', Forms.TopInputDate);\r\n\t\tapp.component('TopInputRange', Forms.TopInputRange);\r\n\t\tapp.component('TopLoadbar', Forms.TopLoadbar);\r\n\t\tapp.component('TopRadio', Forms.TopRadio);\r\n\t\tapp.component('TopSelect', Forms.TopSelect);\r\n\t\tapp.component('TopSwitcher', Forms.TopSwitcher);\r\n\t\tapp.component('TopTextarea', Forms.TopTextarea);\r\n\r\n\t\tapp.component('TopNotice', TopNotice);\r\n\t\tapp.component('TopDialogs', TopDialogs);\r\n\t},\r\n\r\n} satisfies Plugin<Options>;\r\n"],"names":["WorkerEvents","_a","Core","Worker","elPopup","Events","elOpener","_b","_d","_c","_e","storage","data","el","binding","name","value","UtilsLodash","elsActive","focusOnElActiveDebounce","focusOnElActive","isVisible","focusOnElDebounce","focus","UtilsDom","genScrollIntoViewOptions","scrollIntoViewOptions","elActive","scrollToElActiveDebounce","scrollToElActive","useStorage","scrollToElDebounce","scrollIntoView","isVisibleNew","UtilsScroll","connectScrollShadow","appStickyObserver","sticky","_vnode","className","entries","condition","_el","_binding","appSwimUpInited","appSwimUpObserver","appSwimUpEls","swimUpElTransform","windowHeight","distance","percent","elTop","triggerHeightReducer","triggerHeight","swimUpInit","entry","swimUp","$","tvTooltipGenOptions","vnode","options","tooltip","_prevVnode","instance","TopNotice","defineAsyncComponent","core","app","TopPopupWorker","TopPopupWorkerGlobalEvents","TopDialogWorker","directiveData","directiveFocus","directiveScrollIntoView","directiveScrollShadow","directiveSticky","directiveSwimUp","directiveTooltip","Forms.TopAvatar","Forms.TopButton","Forms.TopCheckbox","Forms.TopControlLabel","Forms.TopHint","Forms.TopInput","Forms.TopInputDate","Forms.TopInputRange","Forms.TopLoadbar","Forms.TopRadio","Forms.TopSelect","Forms.TopSwitcher","Forms.TopTextarea","TopDialogs"],"mappings":"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"}
@@ -1,2 +0,0 @@
1
- define(["require","exports","vue","./forms-BwGakScF.amd"],function(x,k,c,i){"use strict";if(typeof c>"u")var c=window.Vue;i.Core.insertStyleToPage('.ui-datepicker{--datepicker-day-color: var(--color-layout-front-1);--datepicker-day-color-hover: var(--color-layer-1);--datepicker-selected-color: var(--color-bg-primary-1);--datepicker-selected-color-hover: var(--color-bg-primary-2);--datepicker-range-color: var(--color-layer-primary-1);--datepicker-range-color-hover: var(--color-layer-primary-2);-webkit-user-select:none;user-select:none;width:auto;padding:0}.ui-datepicker:before,.ui-datepicker:after{display:none}.ui-datepicker-inline{display:inline-block!important}.ui-datepicker:not(.ui-datepicker-inline){border-radius:8px;background:var(--color-layout-front-1);box-shadow:var(--top-shadow);z-index:10000000!important;padding:8px}.ui-datepicker a{text-decoration:none!important}.ui-datepicker option{color:var(--color-text-1);font-size:14px}.ui-datepicker-header{padding:0!important;margin:0 0 18px;display:flex;align-items:center}.ui-datepicker-header>*{display:flex;align-items:center;justify-content:center}.ui-datepicker-title{width:100%!important;height:24px;margin:0!important}.ui-datepicker-month,.ui-datepicker-year{outline:none!important;width:auto!important;border:none;padding:0;margin:0 6px!important;text-align:center;font-size:16px!important}.ui-datepicker-month{color:var(--color-text-1)}.ui-datepicker-year{color:var(--color-text-2)}select.ui-datepicker-month,select.ui-datepicker-year{cursor:pointer}.ui-datepicker-prev,.ui-datepicker-next{cursor:pointer;width:24px!important;height:24px!important;font-size:24px;font-family:Topvisor-2;position:static!important}.ui-datepicker-prev:before{color:var(--color-text-3);content:""}.ui-datepicker-prev-hover:before{color:var(--color-text-1);content:""}.ui-datepicker-next{color:var(--color-text-3);order:1}.ui-datepicker-next-hover{color:var(--color-text-1);order:1}.ui-datepicker-next:before{content:""}.ui-datepicker-prev>*,.ui-datepicker-next>*{display:none!important}.ui-datepicker thead th{width:auto!important;padding:0!important;color:var(--color-text-3);font-size:14px;font-weight:400!important}.ui-datepicker table{margin:0!important;font-size:14px}.ui-datepicker td{color:var(--color-text-1);background:none;padding:0!important}.ui-datepicker td span,.ui-datepicker td a{border-radius:8px;border:none;min-width:32px;height:32px;padding:0;margin:1px;color:var(--color-text-1)!important;line-height:32px;text-align:center;position:relative;display:block}.ui-datepicker td a{background:var(--datepicker-day-color)}.ui-datepicker td a:hover{background:var(--datepicker-day-color-hover)}td.ui-datepicker-today span,td.ui-datepicker-today a{background:none;position:relative}.ui-datepicker td.selected a{background:var(--datepicker-range-color);padding-right:0;padding-left:1px;margin-right:1px;margin-left:0}.ui-datepicker td.selected a:hover{background:var(--datepicker-range-color-hover)}.ui-datepicker td.selected:not(.selected-start):not(:first-child):not(.first-of-month) a{border-top-left-radius:0;border-bottom-left-radius:0;padding-left:1px;margin-left:0}.ui-datepicker td.selected:not(.selected-end):not(:last-child):not(.last-of-month) a{border-top-right-radius:0;border-bottom-right-radius:0;padding-right:1px;margin-right:0}.ui-datepicker td.selected-start a,.ui-datepicker td.selected-end a,.ui-datepicker td.ui-datepicker-current-day a{background:var(--datepicker-selected-color);color:#fff!important}.ui-datepicker td.selected-start a:hover,.ui-datepicker td.selected-end a:hover,.ui-datepicker td.ui-datepicker-current-day a:hover{background:var(--datepicker-selected-color-hover)}.ui-datepicker-day-marks{line-height:normal;position:absolute;right:0;bottom:3px;left:0;display:flex;align-items:center;justify-content:center}.ui-datepicker-day-marks>i{border-radius:50%;border:1px solid #FFF;width:4px;height:4px;margin:0 2px}.ui-datepicker-day-marks-exists{background:var(--color-text-primary)}.ui-datepicker-day-marks-update{background:var(--color-text-negative)}.ui-datepicker-row-break{display:none}');const h=t=>{var e,r;if(!((r=(e=i.Core.$)==null?void 0:e.ui)!=null&&r.datepicker)){console.info("Для работы datepicker требуется глобальная загрузка jQuery UI Datepicker");return}return i.Core.$.datepicker.setDefaults({dateFormat:i.Core.state.dateFormat.toLowerCase().replace("m","mm").replace("y","yy").replace("d","dd")}),i.Core.$(t)};function m(t,e){var r;return(r=h(t))==null?void 0:r.datepicker(e)}let d,p,l,u;c.watch(c.toRef(i.Core.state.dateFormat),()=>{var t;d=i.dateFormat("2000-01-01"),p=((t=d.match(/\D/))==null?void 0:t[0])??"-",l=d.replace(/\D+/g,"").length,u=[];for(let e=0;e<d.length;e++)d[e]===p&&u.push(e)},{immediate:!0});function v(t){let e=t.target.selectionEnd,r=t.target.value,a=r.substring(0,e).replace(/\D+/g,""),o=r.substring(e).replace(/\D+/g,""),s=a.length+o.length-l;if(s>0){a=a.substring(0,l);const n=l-a.length;o=o.substring(o.length-n)}else s<0&&(t.inputType==="deleteContentForward"?a+="0".repeat(-s):o="0".repeat(-s)+o);e=a.length,r=a+o;for(let n=0;n<u.length;n++){const g=u[n];r=r.substring(0,g)+p+r.substring(g),e>=g&&e++}t.inputType==="deleteContentBackward"&&r[e-1]===p&&e--,r!==t.target.value&&(t.target.value=r,t.target.selectionStart=e,t.target.selectionEnd=e)}k.connectDatepicker=m,k.oninput=v,Object.defineProperty(k,Symbol.toStringTag,{value:"Module"})});
2
- //# sourceMappingURL=datepicker-B6kIyIcw.amd.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"datepicker-B6kIyIcw.amd.js","sources":["../../src/components/forms/inputDate/datepicker.ts"],"sourcesContent":["import { toRef, watch } from 'vue';\r\nimport Core from '@/core/core/core';\r\nimport { dateFormat } from '@/core/utils/date';\r\n\r\nimport css from '@/components/forms/inputDate/datepicker.css?inline';\r\n\r\nCore.insertStyleToPage(css);\r\n\r\nconst $ = (el: HTMLInputElement) => {\r\n\tif (!Core.$?.ui?.datepicker) {\r\n\t\tconsole.info('Для работы datepicker требуется глобальная загрузка jQuery UI Datepicker');\r\n\r\n\t\treturn;\r\n\t}\r\n\r\n\tCore.$.datepicker.setDefaults({\r\n\t\tdateFormat: Core.state.dateFormat.toLowerCase().replace('m', 'mm').replace('y', 'yy').replace('d', 'dd'),\r\n\t});\r\n\r\n\treturn Core.$(el);\r\n};\r\n\r\nexport function connectDatepicker(el: HTMLInputElement, options: any) {\r\n\treturn $(el)?.datepicker(options);\r\n}\r\n\r\nlet dateFormatted;\r\nlet delimiter: string;\r\nlet dateNumbersCount: number;\r\nlet delimitersIndexes: number[];\r\n\r\nwatch(toRef(Core.state.dateFormat), () => {\r\n\t// генерация отформатированной даты, извлечение из нее разделителей и их индексов\r\n\tdateFormatted = dateFormat('2000-01-01');\r\n\tdelimiter = dateFormatted.match(/\\D/)?.[0] ?? '-';\r\n\tdateNumbersCount = dateFormatted.replace(/\\D+/g, '').length;\r\n\tdelimitersIndexes = [];\r\n\r\n\tfor (let i = 0; i < dateFormatted.length; i++) {\r\n\t\tif (dateFormatted[i] === delimiter) {\r\n\t\t\tdelimitersIndexes.push(i);\r\n\t\t}\r\n\t}\r\n}, { immediate: true });\r\n\r\n/**\r\n * Автоформат при вводе в поле с датой\r\n */\r\nexport function oninput(e: any) {\r\n\tlet selectionPos = e.target.selectionEnd;\r\n\tlet value = e.target.value;\r\n\r\n\t// разбить занчение на две половины - до и после каретки\r\n\t// удалить все символы, кроме цифр\r\n\tlet valueChunkLeft = value.substring(0, selectionPos).replace(/\\D+/g, '');\r\n\tlet valueChunkRight = value.substring(selectionPos).replace(/\\D+/g, '');\r\n\r\n\tlet extraNumbersCount = valueChunkLeft.length + valueChunkRight.length - dateNumbersCount;\r\n\tif (extraNumbersCount > 0) {\r\n\t\t// // количество цифр больше требуемого - удалить лишние\r\n\t\tvalueChunkLeft = valueChunkLeft.substring(0, dateNumbersCount);\r\n\r\n\t\tconst valueChunkRightMaxLength = dateNumbersCount - valueChunkLeft.length;\r\n\t\tvalueChunkRight = valueChunkRight.substring(valueChunkRight.length - valueChunkRightMaxLength);\r\n\t} else if (extraNumbersCount < 0) {\r\n\t\t// количество цифр меньше требуемого - добавить 0\r\n\t\tif (e.inputType === 'deleteContentForward') {\r\n\t\t\t// нажатие на delete - добавить к левой части для правильного позиционирования каретки\r\n\t\t\tvalueChunkLeft += '0'.repeat(-extraNumbersCount);\r\n\t\t} else {\r\n\t\t\tvalueChunkRight = '0'.repeat(-extraNumbersCount) + valueChunkRight;\r\n\t\t}\r\n\t}\r\n\r\n\tselectionPos = valueChunkLeft.length;\r\n\tvalue = valueChunkLeft + valueChunkRight;\r\n\r\n\t// вставить разделители\r\n\tfor (let i = 0; i < delimitersIndexes.length; i++) {\r\n\t\tconst delimiterIndex = delimitersIndexes[i];\r\n\r\n\t\tvalue = value.substring(0, delimiterIndex) + delimiter + value.substring(delimiterIndex);\r\n\r\n\t\t// сдвинуть каретку, если разделитель вставлен левее ее\r\n\t\tif (selectionPos >= delimiterIndex) {\r\n\t\t\tselectionPos++;\r\n\t\t}\r\n\t}\r\n\r\n\t// нажатие на backspace - если слева символ разделителя, перенести каретку за него\r\n\tif (e.inputType === 'deleteContentBackward' && value[selectionPos - 1] === delimiter) {\r\n\t\tselectionPos--;\r\n\t}\r\n\r\n\t// если значение изменилось - вставить его и переместить каретку\r\n\tif (value !== e.target.value) {\r\n\t\te.target.value = value;\r\n\t\te.target.selectionStart = selectionPos;\r\n\t\te.target.selectionEnd = selectionPos;\r\n\t}\r\n}\r\n"],"names":["Core","$","el","forms","connectDatepicker","options","dateFormatted","delimiter","dateNumbersCount","delimitersIndexes","watch","_a","i","selectionPos","e","value","valueChunkLeft","valueChunkRight","extraNumbersCount","valueChunkRightMaxLength","delimiterIndex"],"mappings":"0HAMAA,EAAAA,KAAAA,83HAAAA,EAEA,MAAAC,EAAAC,GAAA,uEAEE,QAAA,KAAA,0EAAA,QAEA,CAGD,OAAAC,EAAA,KAAA,EAAA,WAAA,YAAA,CAA8B,WAAAA,EAAA,KAAA,MAAA,WAAA,YAAA,EAAA,QAAA,IAAA,IAAA,EAAA,QAAA,IAAA,IAAA,EAAA,QAAA,IAAA,IAAA,CAC0E,CAAA,EAGxGA,EAAA,KAAA,EAAAD,CAAA,GAGe,SAAAE,EAAAF,EAAAG,EAAA,kDAEhB,CAEA,IAAAC,EACAC,EACAC,EACAC,EAEAC,EAAAA,MAAAA,EAAAA,MAAAA,EAAAA,KAAAA,MAAAA,UAAAA,EAAAA,IAAAA,OAECJ,EAAAH,EAAA,WAAA,YAAA,EACAI,IAAAI,EAAAL,EAAA,MAAA,IAAA,IAAA,YAAAK,EAAA,KAAA,uCAIA,QAAAC,EAAA,EAAAA,EAAAN,EAAA,OAAAM,IACCN,EAAAM,CAAA,IAAAL,GACCE,EAAA,KAAAG,CAAA,CAGH,EAAA,CAAA,UAAA,EAAA,CAAA,gBAMC,IAAAC,EAAAC,EAAA,OAAA,aACAC,EAAAD,EAAA,OAAA,MAIAE,EAAAD,EAAA,UAAA,EAAAF,CAAA,EAAA,QAAA,OAAA,EAAA,EACAI,EAAAF,EAAA,UAAAF,CAAA,EAAA,QAAA,OAAA,EAAA,wBAGA,GAAAK,EAAA,EAAA,oBAIC,MAAAC,EAAAX,EAAAQ,EAAA,gCAC6F,MAAAE,EAAA,IAG7FJ,EAAA,YAAA,6DAQDD,EAAAG,EAAA,OACAD,EAAAC,EAAAC,EAGA,QAAAL,EAAA,EAAAA,EAAAH,EAAA,OAAAG,IAAA,CACC,MAAAQ,EAAAX,EAAAG,CAAA,EAEAG,EAAAA,EAAA,UAAA,EAAAK,CAAA,EAAAb,EAAAQ,EAAA,UAAAK,CAAA,EAGAP,GAAAO,GACCP,GACD,CAIDC,EAAA,YAAA,yBAAAC,EAAAF,EAAA,CAAA,IAAAN,GACCM,yBAKAC,EAAA,OAAA,MAAAC,EACAD,EAAA,OAAA,eAAAD,EACAC,EAAA,OAAA,aAAAD,EAEF"}
@@ -1,44 +0,0 @@
1
- import { watch as k, toRef as g } from "vue";
2
- import { C as o, c as m } from "./forms-BsuCen2-.es.js";
3
- const h = '.ui-datepicker{--datepicker-day-color: var(--color-layout-front-1);--datepicker-day-color-hover: var(--color-layer-1);--datepicker-selected-color: var(--color-bg-primary-1);--datepicker-selected-color-hover: var(--color-bg-primary-2);--datepicker-range-color: var(--color-layer-primary-1);--datepicker-range-color-hover: var(--color-layer-primary-2);-webkit-user-select:none;user-select:none;width:auto;padding:0}.ui-datepicker:before,.ui-datepicker:after{display:none}.ui-datepicker-inline{display:inline-block!important}.ui-datepicker:not(.ui-datepicker-inline){border-radius:8px;background:var(--color-layout-front-1);box-shadow:var(--top-shadow);z-index:10000000!important;padding:8px}.ui-datepicker a{text-decoration:none!important}.ui-datepicker option{color:var(--color-text-1);font-size:14px}.ui-datepicker-header{padding:0!important;margin:0 0 18px;display:flex;align-items:center}.ui-datepicker-header>*{display:flex;align-items:center;justify-content:center}.ui-datepicker-title{width:100%!important;height:24px;margin:0!important}.ui-datepicker-month,.ui-datepicker-year{outline:none!important;width:auto!important;border:none;padding:0;margin:0 6px!important;text-align:center;font-size:16px!important}.ui-datepicker-month{color:var(--color-text-1)}.ui-datepicker-year{color:var(--color-text-2)}select.ui-datepicker-month,select.ui-datepicker-year{cursor:pointer}.ui-datepicker-prev,.ui-datepicker-next{cursor:pointer;width:24px!important;height:24px!important;font-size:24px;font-family:Topvisor-2;position:static!important}.ui-datepicker-prev:before{color:var(--color-text-3);content:""}.ui-datepicker-prev-hover:before{color:var(--color-text-1);content:""}.ui-datepicker-next{color:var(--color-text-3);order:1}.ui-datepicker-next-hover{color:var(--color-text-1);order:1}.ui-datepicker-next:before{content:""}.ui-datepicker-prev>*,.ui-datepicker-next>*{display:none!important}.ui-datepicker thead th{width:auto!important;padding:0!important;color:var(--color-text-3);font-size:14px;font-weight:400!important}.ui-datepicker table{margin:0!important;font-size:14px}.ui-datepicker td{color:var(--color-text-1);background:none;padding:0!important}.ui-datepicker td span,.ui-datepicker td a{border-radius:8px;border:none;min-width:32px;height:32px;padding:0;margin:1px;color:var(--color-text-1)!important;line-height:32px;text-align:center;position:relative;display:block}.ui-datepicker td a{background:var(--datepicker-day-color)}.ui-datepicker td a:hover{background:var(--datepicker-day-color-hover)}td.ui-datepicker-today span,td.ui-datepicker-today a{background:none;position:relative}.ui-datepicker td.selected a{background:var(--datepicker-range-color);padding-right:0;padding-left:1px;margin-right:1px;margin-left:0}.ui-datepicker td.selected a:hover{background:var(--datepicker-range-color-hover)}.ui-datepicker td.selected:not(.selected-start):not(:first-child):not(.first-of-month) a{border-top-left-radius:0;border-bottom-left-radius:0;padding-left:1px;margin-left:0}.ui-datepicker td.selected:not(.selected-end):not(:last-child):not(.last-of-month) a{border-top-right-radius:0;border-bottom-right-radius:0;padding-right:1px;margin-right:0}.ui-datepicker td.selected-start a,.ui-datepicker td.selected-end a,.ui-datepicker td.ui-datepicker-current-day a{background:var(--datepicker-selected-color);color:#fff!important}.ui-datepicker td.selected-start a:hover,.ui-datepicker td.selected-end a:hover,.ui-datepicker td.ui-datepicker-current-day a:hover{background:var(--datepicker-selected-color-hover)}.ui-datepicker-day-marks{line-height:normal;position:absolute;right:0;bottom:3px;left:0;display:flex;align-items:center;justify-content:center}.ui-datepicker-day-marks>i{border-radius:50%;border:1px solid #FFF;width:4px;height:4px;margin:0 2px}.ui-datepicker-day-marks-exists{background:var(--color-text-primary)}.ui-datepicker-day-marks-update{background:var(--color-text-negative)}.ui-datepicker-row-break{display:none}';
4
- o.insertStyleToPage(h);
5
- const x = (t) => {
6
- var e, r;
7
- if (!((r = (e = o.$) == null ? void 0 : e.ui) != null && r.datepicker)) {
8
- console.info("Для работы datepicker требуется глобальная загрузка jQuery UI Datepicker");
9
- return;
10
- }
11
- return o.$.datepicker.setDefaults({
12
- dateFormat: o.state.dateFormat.toLowerCase().replace("m", "mm").replace("y", "yy").replace("d", "dd")
13
- }), o.$(t);
14
- };
15
- function b(t, e) {
16
- var r;
17
- return (r = x(t)) == null ? void 0 : r.datepicker(e);
18
- }
19
- let n, l, p, u;
20
- k(g(o.state.dateFormat), () => {
21
- var t;
22
- n = m("2000-01-01"), l = ((t = n.match(/\D/)) == null ? void 0 : t[0]) ?? "-", p = n.replace(/\D+/g, "").length, u = [];
23
- for (let e = 0; e < n.length; e++)
24
- n[e] === l && u.push(e);
25
- }, { immediate: !0 });
26
- function y(t) {
27
- let e = t.target.selectionEnd, r = t.target.value, i = r.substring(0, e).replace(/\D+/g, ""), a = r.substring(e).replace(/\D+/g, ""), c = i.length + a.length - p;
28
- if (c > 0) {
29
- i = i.substring(0, p);
30
- const d = p - i.length;
31
- a = a.substring(a.length - d);
32
- } else c < 0 && (t.inputType === "deleteContentForward" ? i += "0".repeat(-c) : a = "0".repeat(-c) + a);
33
- e = i.length, r = i + a;
34
- for (let d = 0; d < u.length; d++) {
35
- const s = u[d];
36
- r = r.substring(0, s) + l + r.substring(s), e >= s && e++;
37
- }
38
- t.inputType === "deleteContentBackward" && r[e - 1] === l && e--, r !== t.target.value && (t.target.value = r, t.target.selectionStart = e, t.target.selectionEnd = e);
39
- }
40
- export {
41
- b as connectDatepicker,
42
- y as oninput
43
- };
44
- //# sourceMappingURL=datepicker-BTiE5Grw.es.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"datepicker-BTiE5Grw.es.js","sources":["../../src/components/forms/inputDate/datepicker.ts"],"sourcesContent":["import { toRef, watch } from 'vue';\r\nimport Core from '@/core/core/core';\r\nimport { dateFormat } from '@/core/utils/date';\r\n\r\nimport css from '@/components/forms/inputDate/datepicker.css?inline';\r\n\r\nCore.insertStyleToPage(css);\r\n\r\nconst $ = (el: HTMLInputElement) => {\r\n\tif (!Core.$?.ui?.datepicker) {\r\n\t\tconsole.info('Для работы datepicker требуется глобальная загрузка jQuery UI Datepicker');\r\n\r\n\t\treturn;\r\n\t}\r\n\r\n\tCore.$.datepicker.setDefaults({\r\n\t\tdateFormat: Core.state.dateFormat.toLowerCase().replace('m', 'mm').replace('y', 'yy').replace('d', 'dd'),\r\n\t});\r\n\r\n\treturn Core.$(el);\r\n};\r\n\r\nexport function connectDatepicker(el: HTMLInputElement, options: any) {\r\n\treturn $(el)?.datepicker(options);\r\n}\r\n\r\nlet dateFormatted;\r\nlet delimiter: string;\r\nlet dateNumbersCount: number;\r\nlet delimitersIndexes: number[];\r\n\r\nwatch(toRef(Core.state.dateFormat), () => {\r\n\t// генерация отформатированной даты, извлечение из нее разделителей и их индексов\r\n\tdateFormatted = dateFormat('2000-01-01');\r\n\tdelimiter = dateFormatted.match(/\\D/)?.[0] ?? '-';\r\n\tdateNumbersCount = dateFormatted.replace(/\\D+/g, '').length;\r\n\tdelimitersIndexes = [];\r\n\r\n\tfor (let i = 0; i < dateFormatted.length; i++) {\r\n\t\tif (dateFormatted[i] === delimiter) {\r\n\t\t\tdelimitersIndexes.push(i);\r\n\t\t}\r\n\t}\r\n}, { immediate: true });\r\n\r\n/**\r\n * Автоформат при вводе в поле с датой\r\n */\r\nexport function oninput(e: any) {\r\n\tlet selectionPos = e.target.selectionEnd;\r\n\tlet value = e.target.value;\r\n\r\n\t// разбить занчение на две половины - до и после каретки\r\n\t// удалить все символы, кроме цифр\r\n\tlet valueChunkLeft = value.substring(0, selectionPos).replace(/\\D+/g, '');\r\n\tlet valueChunkRight = value.substring(selectionPos).replace(/\\D+/g, '');\r\n\r\n\tlet extraNumbersCount = valueChunkLeft.length + valueChunkRight.length - dateNumbersCount;\r\n\tif (extraNumbersCount > 0) {\r\n\t\t// // количество цифр больше требуемого - удалить лишние\r\n\t\tvalueChunkLeft = valueChunkLeft.substring(0, dateNumbersCount);\r\n\r\n\t\tconst valueChunkRightMaxLength = dateNumbersCount - valueChunkLeft.length;\r\n\t\tvalueChunkRight = valueChunkRight.substring(valueChunkRight.length - valueChunkRightMaxLength);\r\n\t} else if (extraNumbersCount < 0) {\r\n\t\t// количество цифр меньше требуемого - добавить 0\r\n\t\tif (e.inputType === 'deleteContentForward') {\r\n\t\t\t// нажатие на delete - добавить к левой части для правильного позиционирования каретки\r\n\t\t\tvalueChunkLeft += '0'.repeat(-extraNumbersCount);\r\n\t\t} else {\r\n\t\t\tvalueChunkRight = '0'.repeat(-extraNumbersCount) + valueChunkRight;\r\n\t\t}\r\n\t}\r\n\r\n\tselectionPos = valueChunkLeft.length;\r\n\tvalue = valueChunkLeft + valueChunkRight;\r\n\r\n\t// вставить разделители\r\n\tfor (let i = 0; i < delimitersIndexes.length; i++) {\r\n\t\tconst delimiterIndex = delimitersIndexes[i];\r\n\r\n\t\tvalue = value.substring(0, delimiterIndex) + delimiter + value.substring(delimiterIndex);\r\n\r\n\t\t// сдвинуть каретку, если разделитель вставлен левее ее\r\n\t\tif (selectionPos >= delimiterIndex) {\r\n\t\t\tselectionPos++;\r\n\t\t}\r\n\t}\r\n\r\n\t// нажатие на backspace - если слева символ разделителя, перенести каретку за него\r\n\tif (e.inputType === 'deleteContentBackward' && value[selectionPos - 1] === delimiter) {\r\n\t\tselectionPos--;\r\n\t}\r\n\r\n\t// если значение изменилось - вставить его и переместить каретку\r\n\tif (value !== e.target.value) {\r\n\t\te.target.value = value;\r\n\t\te.target.selectionStart = selectionPos;\r\n\t\te.target.selectionEnd = selectionPos;\r\n\t}\r\n}\r\n"],"names":["Core","css","$","el","_b","_a","connectDatepicker","options","dateFormatted","delimiter","dateNumbersCount","delimitersIndexes","watch","toRef","dateFormat","i","oninput","e","selectionPos","value","valueChunkLeft","valueChunkRight","extraNumbersCount","valueChunkRightMaxLength","delimiterIndex"],"mappings":";;;AAMAA,EAAK,kBAAkBC,CAAG;AAE1B,MAAMC,IAAI,CAACC,MAAyB;;AACnC,MAAI,GAACC,KAAAC,IAAAL,EAAK,MAAL,gBAAAK,EAAQ,OAAR,QAAAD,EAAY,aAAY;AAC5B,YAAQ,KAAK,0EAA0E;AAEvF;AAAA,EAAA;AAGI,SAAAJ,EAAA,EAAE,WAAW,YAAY;AAAA,IAC7B,YAAYA,EAAK,MAAM,WAAW,YAAA,EAAc,QAAQ,KAAK,IAAI,EAAE,QAAQ,KAAK,IAAI,EAAE,QAAQ,KAAK,IAAI;AAAA,EAAA,CACvG,GAEMA,EAAK,EAAEG,CAAE;AACjB;AAEgB,SAAAG,EAAkBH,GAAsBI,GAAc;;AACrE,UAAOF,IAAAH,EAAEC,CAAE,MAAJ,gBAAAE,EAAO,WAAWE;AAC1B;AAEA,IAAIC,GACAC,GACAC,GACAC;AAEJC,EAAMC,EAAMb,EAAK,MAAM,UAAU,GAAG,MAAM;;AAEzC,EAAAQ,IAAgBM,EAAW,YAAY,GACvCL,MAAYJ,IAAAG,EAAc,MAAM,IAAI,MAAxB,gBAAAH,EAA4B,OAAM,KAC9CK,IAAmBF,EAAc,QAAQ,QAAQ,EAAE,EAAE,QACrDG,IAAoB,CAAC;AAErB,WAASI,IAAI,GAAGA,IAAIP,EAAc,QAAQO;AACrC,IAAAP,EAAcO,CAAC,MAAMN,KACxBE,EAAkB,KAAKI,CAAC;AAG3B,GAAG,EAAE,WAAW,IAAM;AAKf,SAASC,EAAQC,GAAQ;AAC3B,MAAAC,IAAeD,EAAE,OAAO,cACxBE,IAAQF,EAAE,OAAO,OAIjBG,IAAiBD,EAAM,UAAU,GAAGD,CAAY,EAAE,QAAQ,QAAQ,EAAE,GACpEG,IAAkBF,EAAM,UAAUD,CAAY,EAAE,QAAQ,QAAQ,EAAE,GAElEI,IAAoBF,EAAe,SAASC,EAAgB,SAASX;AACzE,MAAIY,IAAoB,GAAG;AAET,IAAAF,IAAAA,EAAe,UAAU,GAAGV,CAAgB;AAEvD,UAAAa,IAA2Bb,IAAmBU,EAAe;AACnE,IAAAC,IAAkBA,EAAgB,UAAUA,EAAgB,SAASE,CAAwB;AAAA,EAAA,MAC9F,CAAWD,IAAoB,MAE1BL,EAAE,cAAc,yBAEDG,KAAA,IAAI,OAAO,CAACE,CAAiB,IAE/CD,IAAkB,IAAI,OAAO,CAACC,CAAiB,IAAID;AAIrD,EAAAH,IAAeE,EAAe,QAC9BD,IAAQC,IAAiBC;AAGzB,WAASN,IAAI,GAAGA,IAAIJ,EAAkB,QAAQI,KAAK;AAC5C,UAAAS,IAAiBb,EAAkBI,CAAC;AAElC,IAAAI,IAAAA,EAAM,UAAU,GAAGK,CAAc,IAAIf,IAAYU,EAAM,UAAUK,CAAc,GAGnFN,KAAgBM,KACnBN;AAAA,EACD;AAID,EAAID,EAAE,cAAc,2BAA2BE,EAAMD,IAAe,CAAC,MAAMT,KAC1ES,KAIGC,MAAUF,EAAE,OAAO,UACtBA,EAAE,OAAO,QAAQE,GACjBF,EAAE,OAAO,iBAAiBC,GAC1BD,EAAE,OAAO,eAAeC;AAE1B;"}
@@ -1,140 +0,0 @@
1
- import { Core as N } from "../core/app.js";
2
- import { defineComponent as $, ref as x, reactive as A, watch as R, resolveComponent as I, createBlock as L, openBlock as c, unref as f, withCtx as i, createVNode as r, createTextVNode as V, toDisplayString as m, createElementBlock as p, Fragment as w, renderList as D, createElementVNode as k, createCommentVNode as h } from "vue";
3
- import { _ as E, a as U } from "./page.vue_vue_type_script_setup_true_lang-BCfksgg3.es.js";
4
- import { b as G } from "./utils-B1H3EGkg.es.js";
5
- import { genFlagLinkByCountryCode as O } from "../utils/string.js";
6
- import { getSearcherGIcon as P, getLangLabel as j, getDeviceGIcon as q } from "../utils/searchers.js";
7
- const T = ["../assets/dialog_selectorRegions.css"].map((_) => import.meta.resolve(_));
8
- N.insertCSSLinkToPage(T, !0);
9
- const z = { class: "dialog_selectorRegions_header" }, H = ["data-top-icon"], J = ["src", "alt"], K = { class: "dialog_selectorRegions_regionAreaName top-ellipsis" }, M = { key: 1 }, Q = ["data-top-icon"], oe = /* @__PURE__ */ $({
10
- id: "selectorRegions",
11
- __name: "dialog_selectorRegions",
12
- props: {
13
- regions: {},
14
- regionsIndexes: {},
15
- "@update:regionsIndexes": { type: Function }
16
- },
17
- setup(_) {
18
- const l = _, y = G(), d = x(!1), a = x([]), u = A({
19
- searcher_key: -1,
20
- key: -1,
21
- name: -1
22
- }), v = (t) => {
23
- u[t] = -u[t], a.value.sort((e, s) => !e[t] || !s[t] ? -1 : e[t] >= s[t] ? u[t] : -u[t]);
24
- }, S = () => {
25
- var e;
26
- if (!a.value.some((s) => s.selected)) return;
27
- const t = a.value.filter((s) => s.selected).map((s) => s.index);
28
- (e = l["@update:regionsIndexes"]) == null || e.call(l, t), y.close();
29
- };
30
- return R(d, () => {
31
- a.value = a.value.map((t) => ({ ...t, selected: d.value }));
32
- }), R([
33
- () => l.regions,
34
- () => l.regionsIndexes
35
- ], () => {
36
- a.value = [];
37
- let t = !0;
38
- l.regions.forEach((e) => {
39
- let s = e.name;
40
- e.areaName && (s += ` (${e.areaName})`);
41
- const n = l.regionsIndexes.indexOf(+e.index) !== -1, o = P(e.searcher_key), g = e.lang !== void 0 ? j(e.searcher_key, e.lang) : void 0, b = e.device !== void 0 ? q(e.device) : void 0, B = e.countryCode !== void 0 ? O(e.countryCode) : void 0, C = {
42
- ...e,
43
- selected: n,
44
- title: s,
45
- searcherIcon: o,
46
- langLabel: g,
47
- deviceIcon: b,
48
- flagLink: B
49
- };
50
- a.value.push(C), C.selected || (t = !1);
51
- }), d.value = t;
52
- }), (t, e) => {
53
- const s = I("TopCheckbox"), n = I("TopButton");
54
- return c(), L(f(E), {
55
- id: f(y).id,
56
- pageActive: "selectorRegions",
57
- class: "dialog_selectorRegions",
58
- height: "600px",
59
- width: "600px"
60
- }, {
61
- default: i(() => [
62
- r(f(U), {
63
- name: "selectorRegions",
64
- order: 0
65
- }, {
66
- header: i(() => [
67
- k("div", z, [
68
- r(s, {
69
- modelValue: d.value,
70
- "onUpdate:modelValue": e[0] || (e[0] = (o) => d.value = o)
71
- }, null, 8, ["modelValue"]),
72
- r(n, {
73
- class: "dialog_selectorRegions_sortButton",
74
- color: "theme",
75
- "data-top-icon": "",
76
- onClick: e[1] || (e[1] = (o) => v("searcher_key"))
77
- }),
78
- r(n, {
79
- class: "dialog_selectorRegions_sortButton",
80
- color: "theme",
81
- "data-top-icon": "",
82
- onClick: e[2] || (e[2] = (o) => v("key"))
83
- }),
84
- r(n, {
85
- class: "dialog_selectorRegions_sortButton",
86
- color: "theme",
87
- "data-top-icon": "",
88
- onClick: e[3] || (e[3] = (o) => v("name"))
89
- })
90
- ])
91
- ]),
92
- body: i(() => [
93
- (c(!0), p(w, null, D(a.value, (o) => (c(), L(s, {
94
- key: o.index,
95
- modelValue: o.selected,
96
- "onUpdate:modelValue": (g) => o.selected = g,
97
- class: "dialog_selectorRegions_region"
98
- }, {
99
- default: i(() => [
100
- k("div", {
101
- class: "dialog_selectorRegions_regionSearcherIcon",
102
- "data-top-icon": o.searcherIcon
103
- }, null, 8, H),
104
- o.flagLink ? (c(), p("img", {
105
- key: 0,
106
- class: "top-flag",
107
- src: "//topvisor.dev" + o.flagLink,
108
- alt: o.countryCode
109
- }, null, 8, J)) : h("", !0),
110
- V(" " + m(o.name) + " ", 1),
111
- k("div", K, m(o.areaName), 1),
112
- o.langLabel ? (c(), p("div", M, " [" + m(o.langLabel) + "] ", 1)) : h("", !0),
113
- o.deviceIcon ? (c(), p("div", {
114
- key: 2,
115
- "data-top-icon": o.deviceIcon
116
- }, null, 8, Q)) : h("", !0)
117
- ]),
118
- _: 2
119
- }, 1032, ["modelValue", "onUpdate:modelValue"]))), 128))
120
- ]),
121
- footer: i(() => [
122
- r(n, { onClick: S }, {
123
- default: i(() => [
124
- V(m(t.$i18n.Common.Apply), 1)
125
- ]),
126
- _: 1
127
- })
128
- ]),
129
- _: 1
130
- })
131
- ]),
132
- _: 1
133
- }, 8, ["id"]);
134
- };
135
- }
136
- });
137
- export {
138
- oe as default
139
- };
140
- //# sourceMappingURL=dialog_selectorRegions-BZcnnvJM.es.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"dialog_selectorRegions-BZcnnvJM.es.js","sources":["../../src/components/project/selectorRegion/dialog_selectorRegions/dialog_selectorRegions.vue"],"sourcesContent":["<script setup lang=\"ts\">\r\nimport { reactive, ref, watch } from 'vue';\r\nimport { TopDialog, TopDialogPage, useTopDialogSelf } from '@/components/dialog/dialog';\r\nimport { genFlagLinkByCountryCode } from '@/core/utils/string';\r\nimport type { Props, RegionRich } from './types';\r\nimport { getDeviceGIcon, getLangLabel, getSearcherGIcon } from '@/core/utils/searchers';\r\n\r\ndefineOptions({ id: 'selectorRegions' });\r\n\r\nconst props = defineProps<Partial<Props>>();\r\n\r\nconst dialog = useTopDialogSelf();\r\n\r\n/**\r\n * Выбраны все регионы\r\n */\r\nconst isAllSelected = ref(false);\r\n\r\n/**\r\n * Список расширенных регионов для использования в компоненте\r\n */\r\nconst regionsRich = ref<RegionRich[]>([]);\r\n\r\n/**\r\n * Направление сортировки по полю\r\n */\r\nconst sortedVectorByField = reactive({\r\n\tsearcher_key: -1,\r\n\tkey: -1,\r\n\tname: -1,\r\n});\r\n\r\n/**\r\n * Сортировать регионы по выбранному полю\r\n * @param sortedField - Поле для сортировки\r\n */\r\nconst sort = (sortedField: keyof typeof sortedVectorByField) => {\r\n\tsortedVectorByField[sortedField] = -sortedVectorByField[sortedField];\r\n\r\n\tregionsRich.value.sort((regionA, regionB) => {\r\n\t\tif (!regionA[sortedField] || !regionB[sortedField]) return -1;\r\n\r\n\t\treturn regionA[sortedField] >= regionB[sortedField] ? sortedVectorByField[sortedField] : -sortedVectorByField[sortedField];\r\n\t});\r\n};\r\n\r\n/**\r\n * Применить изменения\r\n *\r\n * Вызывает callback `props['@update:regionsIndexes']`\r\n */\r\nconst onSubmit = () => {\r\n\tif (!regionsRich.value.some((region) => region.selected)) return;\r\n\r\n\tconst regionsIndexes = regionsRich.value.filter((region) => region.selected).map((region) => region.index);\r\n\r\n\tprops['@update:regionsIndexes']?.(regionsIndexes);\r\n\r\n\tdialog.close();\r\n};\r\n\r\n// Выбрать / отменить все регионы\r\nwatch(isAllSelected, () => {\r\n\tregionsRich.value = regionsRich.value.map((region) => ({ ...region, selected: isAllSelected.value }));\r\n});\r\n\r\n// генерация регионов\r\nwatch([\r\n\t() => props.regions,\r\n\t() => props.regionsIndexes,\r\n], () => {\r\n\tregionsRich.value = [];\r\n\r\n\tlet isAllSelectedLocal = true;\r\n\r\n\tprops.regions.forEach((region) => {\r\n\t\tlet title = region.name;\r\n\t\tif (region.areaName) title += ` (${region.areaName})`;\r\n\r\n\t\tconst selected = (props.regionsIndexes.indexOf(+region.index) !== -1);\r\n\t\tconst searcherIcon = getSearcherGIcon(region.searcher_key);\r\n\t\tconst langLabel = region.lang !== undefined ? getLangLabel(region.searcher_key, region.lang) : undefined;\r\n\t\tconst deviceIcon = region.device !== undefined ? getDeviceGIcon(region.device) : undefined;\r\n\t\tconst flagLink = region.countryCode !== undefined ? genFlagLinkByCountryCode(region.countryCode) : undefined;\r\n\r\n\t\tconst regionRich = {\r\n\t\t\t...region,\r\n\t\t\tselected,\r\n\t\t\ttitle,\r\n\t\t\tsearcherIcon,\r\n\t\t\tlangLabel,\r\n\t\t\tdeviceIcon,\r\n\t\t\tflagLink,\r\n\t\t};\r\n\r\n\t\tregionsRich.value.push(regionRich);\r\n\r\n\t\tif (!regionRich.selected) {\r\n\t\t\tisAllSelectedLocal = false;\r\n\t\t}\r\n\t});\r\n\r\n\tisAllSelected.value = isAllSelectedLocal;\r\n});\r\n</script>\r\n\r\n<template>\r\n\t<TopDialog\r\n\t\t:id=\"dialog.id\"\r\n\t\tpageActive=\"selectorRegions\"\r\n\t\tclass=\"dialog_selectorRegions\"\r\n\t\theight=\"600px\"\r\n\t\twidth=\"600px\"\r\n\t>\r\n\t\t<TopDialogPage name=\"selectorRegions\" :order=\"0\">\r\n\t\t\t<template #header>\r\n\t\t\t\t<div class=\"dialog_selectorRegions_header\">\r\n\t\t\t\t\t<TopCheckbox v-model=\"isAllSelected\"></TopCheckbox>\r\n\r\n\t\t\t\t\t<TopButton\r\n\t\t\t\t\t\tclass=\"dialog_selectorRegions_sortButton\"\r\n\t\t\t\t\t\tcolor=\"theme\"\r\n\t\t\t\t\t\tdata-top-icon=\"\"\r\n\t\t\t\t\t\t@click=\"sort('searcher_key')\"\r\n\t\t\t\t\t/>\r\n\r\n\t\t\t\t\t<TopButton\r\n\t\t\t\t\t\tclass=\"dialog_selectorRegions_sortButton\"\r\n\t\t\t\t\t\tcolor=\"theme\"\r\n\t\t\t\t\t\tdata-top-icon=\"\"\r\n\t\t\t\t\t\t@click=\"sort('key')\"\r\n\t\t\t\t\t/>\r\n\r\n\t\t\t\t\t<TopButton\r\n\t\t\t\t\t\tclass=\"dialog_selectorRegions_sortButton\"\r\n\t\t\t\t\t\tcolor=\"theme\"\r\n\t\t\t\t\t\tdata-top-icon=\"\"\r\n\t\t\t\t\t\t@click=\"sort('name')\"\r\n\t\t\t\t\t/>\r\n\t\t\t\t</div>\r\n\t\t\t</template>\r\n\r\n\t\t\t<template #body>\r\n\t\t\t\t<TopCheckbox\r\n\t\t\t\t\tv-for=\"region of regionsRich\"\r\n\t\t\t\t\t:key=\"region.index\"\r\n\t\t\t\t\tv-model=\"region.selected\"\r\n\t\t\t\t\tclass=\"dialog_selectorRegions_region\"\r\n\t\t\t\t>\r\n\t\t\t\t\t<div\r\n\t\t\t\t\t\tclass=\"dialog_selectorRegions_regionSearcherIcon\"\r\n\t\t\t\t\t\t:data-top-icon=\"region.searcherIcon\"\r\n\t\t\t\t\t></div>\r\n\r\n\t\t\t\t\t<img\r\n\t\t\t\t\t\tv-if=\"region.flagLink\"\r\n\t\t\t\t\t\tclass=\"top-flag\"\r\n\t\t\t\t\t\t:src=\"'//topvisor.dev' + region.flagLink\"\r\n\t\t\t\t\t\t:alt=\"region.countryCode\"\r\n\t\t\t\t\t>\r\n\r\n\t\t\t\t\t{{ region.name }}\r\n\r\n\t\t\t\t\t<div class=\"dialog_selectorRegions_regionAreaName top-ellipsis\">\r\n\t\t\t\t\t\t{{ region.areaName }}\r\n\t\t\t\t\t</div>\r\n\r\n\t\t\t\t\t<div v-if=\"region.langLabel\">\r\n\t\t\t\t\t\t[{{ region.langLabel }}]\r\n\t\t\t\t\t</div>\r\n\r\n\t\t\t\t\t<div\r\n\t\t\t\t\t\tv-if=\"region.deviceIcon\"\r\n\t\t\t\t\t\t:data-top-icon=\"region.deviceIcon\"\r\n\t\t\t\t\t></div>\r\n\t\t\t\t</TopCheckbox>\r\n\t\t\t</template>\r\n\r\n\t\t\t<template #footer>\r\n\t\t\t\t<TopButton @click=\"onSubmit\">\r\n\t\t\t\t\t{{ $i18n.Common.Apply }}\r\n\t\t\t\t</TopButton>\r\n\t\t\t</template>\r\n\t\t</TopDialogPage>\r\n\t</TopDialog>\r\n</template>\r\n\r\n<style>\r\n@import \"./style.css\";\r\n</style>\r\n"],"names":["props","__props","dialog","useTopDialogSelf","isAllSelected","ref","regionsRich","sortedVectorByField","reactive","sort","sortedField","regionA","regionB","onSubmit","region","regionsIndexes","_a","watch","isAllSelectedLocal","title","selected","searcherIcon","getSearcherGIcon","langLabel","getLangLabel","deviceIcon","getDeviceGIcon","flagLink","genFlagLinkByCountryCode","regionRich"],"mappings":";;;;;;;;;;;;;;;;;AASA,UAAAA,IAAAC,GAEAC,IAAAC,EAAA,GAKAC,IAAAC,EAAA,EAAA,GAKAC,IAAAD,EAAA,CAAA,CAAA,GAKAE,IAAAC,EAAA;AAAA,MAAqC,cAAA;AAAA,MACtB,KAAA;AAAA,MACT,MAAA;AAAA,IACC,CAAA,GAOPC,IAAA,CAAAC,MAAA;AACC,MAAAH,EAAAG,CAAA,IAAA,CAAAH,EAAAG,CAAA,GAEAJ,EAAA,MAAA,KAAA,CAAAK,GAAAC,MACC,CAAAD,EAAAD,CAAA,KAAA,CAAAE,EAAAF,CAAA,IAAA,KAEAC,EAAAD,CAAA,KAAAE,EAAAF,CAAA,IAAAH,EAAAG,CAAA,IAAA,CAAAH,EAAAG,CAAA,CAAyH;AAAA,IACzH,GAQFG,IAAA,MAAA;;AACC,UAAA,CAAAP,EAAA,MAAA,KAAA,CAAAQ,MAAAA,EAAA,QAAA,EAAA;AAEA,YAAAC,IAAAT,EAAA,MAAA,OAAA,CAAAQ,MAAAA,EAAA,QAAA,EAAA,IAAA,CAAAA,MAAAA,EAAA,KAAA;AAEA,OAAAE,IAAAhB,EAAA,8BAAA,QAAAgB,EAAA,KAAAhB,GAAAe,IAEAb,EAAA,MAAA;AAAA,IAAa;AAId,WAAAe,EAAAb,GAAA,MAAA;AACC,MAAAE,EAAA,QAAAA,EAAA,MAAA,IAAA,CAAAQ,OAAA,EAAA,GAAAA,GAAA,UAAAV,EAAA,MAAA,EAAA;AAAA,IAAoG,CAAA,GAIrGa,EAAA;AAAA,MAAM,MAAAjB,EAAA;AAAA,MACO,MAAAA,EAAA;AAAA,IACA,GAAA,MAAA;AAEZ,MAAAM,EAAA,QAAA,CAAA;AAEA,UAAAY,IAAA;AAEA,MAAAlB,EAAA,QAAA,QAAA,CAAAc,MAAA;AACC,YAAAK,IAAAL,EAAA;AACA,QAAAA,EAAA,aAAAK,KAAA,KAAAL,EAAA,QAAA;AAEA,cAAAM,IAAApB,EAAA,eAAA,QAAA,CAAAc,EAAA,KAAA,MAAA,IACAO,IAAAC,EAAAR,EAAA,YAAA,GACAS,IAAAT,EAAA,SAAA,SAAAU,EAAAV,EAAA,cAAAA,EAAA,IAAA,IAAA,QACAW,IAAAX,EAAA,WAAA,SAAAY,EAAAZ,EAAA,MAAA,IAAA,QACAa,IAAAb,EAAA,gBAAA,SAAAc,EAAAd,EAAA,WAAA,IAAA,QAEAe,IAAA;AAAA,UAAmB,GAAAf;AAAA,UACf,UAAAM;AAAA,UACH,OAAAD;AAAA,UACA,cAAAE;AAAA,UACA,WAAAE;AAAA,UACA,YAAAE;AAAA,UACA,UAAAE;AAAA,QACA;AAGD,QAAArB,EAAA,MAAA,KAAAuB,CAAA,GAEAA,EAAA,aACCX,IAAA;AAAA,MACD,CAAA,GAGDd,EAAA,QAAAc;AAAA,IAAsB,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
@@ -1,2 +0,0 @@
1
- define(["require","exports","vue","./page.vue_vue_type_script_setup_true_lang-1JWduCTr.amd","./utils-DIy2mbYd.amd","../utils/string.amd","../utils/searchers.amd","../require/css.amd!../assets/dialog_selectorRegions.css"],function(w,p,e,v,f,k,r){"use strict";if(typeof e>"u")var e=window.Vue;const h={class:"dialog_selectorRegions_header"},y=["data-top-icon"],C=["src","alt"],V={class:"dialog_selectorRegions_regionAreaName top-ellipsis"},x={key:1},B=["data-top-icon"],N=e.defineComponent({id:"selectorRegions",__name:"dialog_selectorRegions",props:{regions:{},regionsIndexes:{},"@update:regionsIndexes":{type:Function}},setup(R){const c=R,g=f.useTopDialogSelf(),i=e.ref(!1),l=e.ref([]),d=e.reactive({searcher_key:-1,key:-1,name:-1}),u=n=>{d[n]=-d[n],l.value.sort((t,a)=>!t[n]||!a[n]?-1:t[n]>=a[n]?d[n]:-d[n])},I=()=>{var t;if(!l.value.some(a=>a.selected))return;const n=l.value.filter(a=>a.selected).map(a=>a.index);(t=c["@update:regionsIndexes"])==null||t.call(c,n),g.close()};return e.watch(i,()=>{l.value=l.value.map(n=>({...n,selected:i.value}))}),e.watch([()=>c.regions,()=>c.regionsIndexes],()=>{l.value=[];let n=!0;c.regions.forEach(t=>{let a=t.name;t.areaName&&(a+=` (${t.areaName})`);const s=c.regionsIndexes.indexOf(+t.index)!==-1,o=r.getSearcherGIcon(t.searcher_key),m=t.lang!==void 0?r.getLangLabel(t.searcher_key,t.lang):void 0,S=t.device!==void 0?r.getDeviceGIcon(t.device):void 0,b=t.countryCode!==void 0?k.genFlagLinkByCountryCode(t.countryCode):void 0,_={...t,selected:s,title:a,searcherIcon:o,langLabel:m,deviceIcon:S,flagLink:b};l.value.push(_),_.selected||(n=!1)}),i.value=n}),(n,t)=>{const a=e.resolveComponent("TopCheckbox"),s=e.resolveComponent("TopButton");return e.openBlock(),e.createBlock(e.unref(v._sfc_main),{id:e.unref(g).id,pageActive:"selectorRegions",class:"dialog_selectorRegions",height:"600px",width:"600px"},{default:e.withCtx(()=>[e.createVNode(e.unref(v._sfc_main$1),{name:"selectorRegions",order:0},{header:e.withCtx(()=>[e.createElementVNode("div",h,[e.createVNode(a,{modelValue:i.value,"onUpdate:modelValue":t[0]||(t[0]=o=>i.value=o)},null,8,["modelValue"]),e.createVNode(s,{class:"dialog_selectorRegions_sortButton",color:"theme","data-top-icon":"",onClick:t[1]||(t[1]=o=>u("searcher_key"))}),e.createVNode(s,{class:"dialog_selectorRegions_sortButton",color:"theme","data-top-icon":"",onClick:t[2]||(t[2]=o=>u("key"))}),e.createVNode(s,{class:"dialog_selectorRegions_sortButton",color:"theme","data-top-icon":"",onClick:t[3]||(t[3]=o=>u("name"))})])]),body:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(l.value,o=>(e.openBlock(),e.createBlock(a,{key:o.index,modelValue:o.selected,"onUpdate:modelValue":m=>o.selected=m,class:"dialog_selectorRegions_region"},{default:e.withCtx(()=>[e.createElementVNode("div",{class:"dialog_selectorRegions_regionSearcherIcon","data-top-icon":o.searcherIcon},null,8,y),o.flagLink?(e.openBlock(),e.createElementBlock("img",{key:0,class:"top-flag",src:"//topvisor.dev"+o.flagLink,alt:o.countryCode},null,8,C)):e.createCommentVNode("",!0),e.createTextVNode(" "+e.toDisplayString(o.name)+" ",1),e.createElementVNode("div",V,e.toDisplayString(o.areaName),1),o.langLabel?(e.openBlock(),e.createElementBlock("div",x," ["+e.toDisplayString(o.langLabel)+"] ",1)):e.createCommentVNode("",!0),o.deviceIcon?(e.openBlock(),e.createElementBlock("div",{key:2,"data-top-icon":o.deviceIcon},null,8,B)):e.createCommentVNode("",!0)]),_:2},1032,["modelValue","onUpdate:modelValue"]))),128))]),footer:e.withCtx(()=>[e.createVNode(s,{onClick:I},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(n.$i18n.Common.Apply),1)]),_:1})]),_:1})]),_:1},8,["id"])}}});p.default=N,Object.defineProperty(p,Symbol.toStringTag,{value:"Module"})});
2
- //# sourceMappingURL=dialog_selectorRegions-CePGUsCo.amd.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"dialog_selectorRegions-CePGUsCo.amd.js","sources":["../../src/components/project/selectorRegion/dialog_selectorRegions/dialog_selectorRegions.vue"],"sourcesContent":["<script setup lang=\"ts\">\r\nimport { reactive, ref, watch } from 'vue';\r\nimport { TopDialog, TopDialogPage, useTopDialogSelf } from '@/components/dialog/dialog';\r\nimport { genFlagLinkByCountryCode } from '@/core/utils/string';\r\nimport type { Props, RegionRich } from './types';\r\nimport { getDeviceGIcon, getLangLabel, getSearcherGIcon } from '@/core/utils/searchers';\r\n\r\ndefineOptions({ id: 'selectorRegions' });\r\n\r\nconst props = defineProps<Partial<Props>>();\r\n\r\nconst dialog = useTopDialogSelf();\r\n\r\n/**\r\n * Выбраны все регионы\r\n */\r\nconst isAllSelected = ref(false);\r\n\r\n/**\r\n * Список расширенных регионов для использования в компоненте\r\n */\r\nconst regionsRich = ref<RegionRich[]>([]);\r\n\r\n/**\r\n * Направление сортировки по полю\r\n */\r\nconst sortedVectorByField = reactive({\r\n\tsearcher_key: -1,\r\n\tkey: -1,\r\n\tname: -1,\r\n});\r\n\r\n/**\r\n * Сортировать регионы по выбранному полю\r\n * @param sortedField - Поле для сортировки\r\n */\r\nconst sort = (sortedField: keyof typeof sortedVectorByField) => {\r\n\tsortedVectorByField[sortedField] = -sortedVectorByField[sortedField];\r\n\r\n\tregionsRich.value.sort((regionA, regionB) => {\r\n\t\tif (!regionA[sortedField] || !regionB[sortedField]) return -1;\r\n\r\n\t\treturn regionA[sortedField] >= regionB[sortedField] ? sortedVectorByField[sortedField] : -sortedVectorByField[sortedField];\r\n\t});\r\n};\r\n\r\n/**\r\n * Применить изменения\r\n *\r\n * Вызывает callback `props['@update:regionsIndexes']`\r\n */\r\nconst onSubmit = () => {\r\n\tif (!regionsRich.value.some((region) => region.selected)) return;\r\n\r\n\tconst regionsIndexes = regionsRich.value.filter((region) => region.selected).map((region) => region.index);\r\n\r\n\tprops['@update:regionsIndexes']?.(regionsIndexes);\r\n\r\n\tdialog.close();\r\n};\r\n\r\n// Выбрать / отменить все регионы\r\nwatch(isAllSelected, () => {\r\n\tregionsRich.value = regionsRich.value.map((region) => ({ ...region, selected: isAllSelected.value }));\r\n});\r\n\r\n// генерация регионов\r\nwatch([\r\n\t() => props.regions,\r\n\t() => props.regionsIndexes,\r\n], () => {\r\n\tregionsRich.value = [];\r\n\r\n\tlet isAllSelectedLocal = true;\r\n\r\n\tprops.regions.forEach((region) => {\r\n\t\tlet title = region.name;\r\n\t\tif (region.areaName) title += ` (${region.areaName})`;\r\n\r\n\t\tconst selected = (props.regionsIndexes.indexOf(+region.index) !== -1);\r\n\t\tconst searcherIcon = getSearcherGIcon(region.searcher_key);\r\n\t\tconst langLabel = region.lang !== undefined ? getLangLabel(region.searcher_key, region.lang) : undefined;\r\n\t\tconst deviceIcon = region.device !== undefined ? getDeviceGIcon(region.device) : undefined;\r\n\t\tconst flagLink = region.countryCode !== undefined ? genFlagLinkByCountryCode(region.countryCode) : undefined;\r\n\r\n\t\tconst regionRich = {\r\n\t\t\t...region,\r\n\t\t\tselected,\r\n\t\t\ttitle,\r\n\t\t\tsearcherIcon,\r\n\t\t\tlangLabel,\r\n\t\t\tdeviceIcon,\r\n\t\t\tflagLink,\r\n\t\t};\r\n\r\n\t\tregionsRich.value.push(regionRich);\r\n\r\n\t\tif (!regionRich.selected) {\r\n\t\t\tisAllSelectedLocal = false;\r\n\t\t}\r\n\t});\r\n\r\n\tisAllSelected.value = isAllSelectedLocal;\r\n});\r\n</script>\r\n\r\n<template>\r\n\t<TopDialog\r\n\t\t:id=\"dialog.id\"\r\n\t\tpageActive=\"selectorRegions\"\r\n\t\tclass=\"dialog_selectorRegions\"\r\n\t\theight=\"600px\"\r\n\t\twidth=\"600px\"\r\n\t>\r\n\t\t<TopDialogPage name=\"selectorRegions\" :order=\"0\">\r\n\t\t\t<template #header>\r\n\t\t\t\t<div class=\"dialog_selectorRegions_header\">\r\n\t\t\t\t\t<TopCheckbox v-model=\"isAllSelected\"></TopCheckbox>\r\n\r\n\t\t\t\t\t<TopButton\r\n\t\t\t\t\t\tclass=\"dialog_selectorRegions_sortButton\"\r\n\t\t\t\t\t\tcolor=\"theme\"\r\n\t\t\t\t\t\tdata-top-icon=\"\"\r\n\t\t\t\t\t\t@click=\"sort('searcher_key')\"\r\n\t\t\t\t\t/>\r\n\r\n\t\t\t\t\t<TopButton\r\n\t\t\t\t\t\tclass=\"dialog_selectorRegions_sortButton\"\r\n\t\t\t\t\t\tcolor=\"theme\"\r\n\t\t\t\t\t\tdata-top-icon=\"\"\r\n\t\t\t\t\t\t@click=\"sort('key')\"\r\n\t\t\t\t\t/>\r\n\r\n\t\t\t\t\t<TopButton\r\n\t\t\t\t\t\tclass=\"dialog_selectorRegions_sortButton\"\r\n\t\t\t\t\t\tcolor=\"theme\"\r\n\t\t\t\t\t\tdata-top-icon=\"\"\r\n\t\t\t\t\t\t@click=\"sort('name')\"\r\n\t\t\t\t\t/>\r\n\t\t\t\t</div>\r\n\t\t\t</template>\r\n\r\n\t\t\t<template #body>\r\n\t\t\t\t<TopCheckbox\r\n\t\t\t\t\tv-for=\"region of regionsRich\"\r\n\t\t\t\t\t:key=\"region.index\"\r\n\t\t\t\t\tv-model=\"region.selected\"\r\n\t\t\t\t\tclass=\"dialog_selectorRegions_region\"\r\n\t\t\t\t>\r\n\t\t\t\t\t<div\r\n\t\t\t\t\t\tclass=\"dialog_selectorRegions_regionSearcherIcon\"\r\n\t\t\t\t\t\t:data-top-icon=\"region.searcherIcon\"\r\n\t\t\t\t\t></div>\r\n\r\n\t\t\t\t\t<img\r\n\t\t\t\t\t\tv-if=\"region.flagLink\"\r\n\t\t\t\t\t\tclass=\"top-flag\"\r\n\t\t\t\t\t\t:src=\"'//topvisor.dev' + region.flagLink\"\r\n\t\t\t\t\t\t:alt=\"region.countryCode\"\r\n\t\t\t\t\t>\r\n\r\n\t\t\t\t\t{{ region.name }}\r\n\r\n\t\t\t\t\t<div class=\"dialog_selectorRegions_regionAreaName top-ellipsis\">\r\n\t\t\t\t\t\t{{ region.areaName }}\r\n\t\t\t\t\t</div>\r\n\r\n\t\t\t\t\t<div v-if=\"region.langLabel\">\r\n\t\t\t\t\t\t[{{ region.langLabel }}]\r\n\t\t\t\t\t</div>\r\n\r\n\t\t\t\t\t<div\r\n\t\t\t\t\t\tv-if=\"region.deviceIcon\"\r\n\t\t\t\t\t\t:data-top-icon=\"region.deviceIcon\"\r\n\t\t\t\t\t></div>\r\n\t\t\t\t</TopCheckbox>\r\n\t\t\t</template>\r\n\r\n\t\t\t<template #footer>\r\n\t\t\t\t<TopButton @click=\"onSubmit\">\r\n\t\t\t\t\t{{ $i18n.Common.Apply }}\r\n\t\t\t\t</TopButton>\r\n\t\t\t</template>\r\n\t\t</TopDialogPage>\r\n\t</TopDialog>\r\n</template>\r\n\r\n<style>\r\n@import \"./style.css\";\r\n</style>\r\n"],"names":["dialog","utils","isAllSelected","vue","regionsRich","sortedVectorByField","sort","sortedField","regionA","regionB","region","_a","props","regionsIndexes","title","selected","deviceIcon","utils_searchers","flagLink","utils_string","searcherIcon","langLabel","regionRich","isAllSelectedLocal"],"mappings":"+nBAWAA,EAAAC,EAAA,iBAAA,EAKAC,EAAAC,EAAA,IAAA,EAAA,EAKAC,EAAAD,EAAA,IAAA,CAAA,CAAA,EAKAE,EAAAF,EAAA,SAAA,wBAEM,KAAA,EACC,CAAA,EAOPG,EAAAC,GAAA,gCAIE,CAAAC,EAAAD,CAAA,GAAA,CAAAE,EAAAF,CAAA,EAAA,wBAEyH,gBAU1H,GAAA,CAAAH,EAAA,MAAA,KAAAM,GAAAA,EAAA,QAAA,EAAA,8DAIAC,EAAAC,EAAA,4BAAA,MAAAD,EAAA,KAAAC,EAAAC,cAMD,OAAAV,EAAA,MAAAD,EAAA,IAAA,kDACqG,CAAA,EAIrGC,EAAA,MAAA,mCAEa,EAAA,IAAA,CAEZC,EAAA,MAAA,CAAA,iCAKC,IAAAU,EAAAJ,EAAA,KACAA,EAAA,WAAAI,GAAA,KAAAJ,EAAA,QAAA,KAEA,MAAAK,EAAAH,EAAA,eAAA,QAAA,CAAAF,EAAA,KAAA,IAAA,uGAGAM,EAAAN,EAAA,SAAA,OAAAO,EAAA,eAAAP,EAAA,MAAA,EAAA,OACAQ,EAAAR,EAAA,cAAA,OAAAS,EAAA,yBAAAT,EAAA,WAAA,EAAA,UAEmB,GAAAA,EACf,SAAAK,EACH,MAAAD,EACA,aAAAM,EACA,UAAAC,EACA,WAAAL,cAKDZ,EAAA,MAAA,KAAAkB,CAAA,EAEAA,EAAA,gBAEA,CAAA,EAGDpB,EAAA,MAAAqB,CAAsB,CAAA"}