@topvisor/ui 1.0.20-selector2-3 → 1.0.20-selector2-4

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 (903) hide show
  1. package/.chunks/datepicker-BbASdlXo.es.js +44 -0
  2. package/.chunks/datepicker-BbASdlXo.es.js.map +1 -0
  3. package/.chunks/datepicker-CSpzAz1a.amd.js +2 -0
  4. package/.chunks/datepicker-CSpzAz1a.amd.js.map +1 -0
  5. package/.chunks/forms-BciWy0wX.es.js +1992 -0
  6. package/.chunks/forms-BciWy0wX.es.js.map +1 -0
  7. package/.chunks/forms-Dh0QU6P9.amd.js +3 -0
  8. package/.chunks/forms-Dh0QU6P9.amd.js.map +1 -0
  9. package/.chunks/listItem.vue_vue_type_script_setup_true_lang-CZqS-tRD.es.js +181 -0
  10. package/.chunks/listItem.vue_vue_type_script_setup_true_lang-CZqS-tRD.es.js.map +1 -0
  11. package/.chunks/listItem.vue_vue_type_script_setup_true_lang-Del8bjSk.amd.js +2 -0
  12. package/.chunks/listItem.vue_vue_type_script_setup_true_lang-Del8bjSk.amd.js.map +1 -0
  13. package/.chunks/menu.vue_vue_type_style_index_0_lang-B8-UPDGJ.amd.js +2 -0
  14. package/.chunks/menu.vue_vue_type_style_index_0_lang-B8-UPDGJ.amd.js.map +1 -0
  15. package/.chunks/menu.vue_vue_type_style_index_0_lang-yNOWbXpd.es.js +109 -0
  16. package/.chunks/menu.vue_vue_type_style_index_0_lang-yNOWbXpd.es.js.map +1 -0
  17. package/.chunks/notice-DEcP2RCJ.amd.js +4 -0
  18. package/.chunks/notice-DEcP2RCJ.amd.js.map +1 -0
  19. package/.chunks/notice-DQSQs6yC.es.js +175 -0
  20. package/.chunks/notice-DQSQs6yC.es.js.map +1 -0
  21. package/.chunks/popup-BdJJx21M.amd.js +2 -0
  22. package/.chunks/popup-BdJJx21M.amd.js.map +1 -0
  23. package/.chunks/popup-D-6PIelY.es.js +416 -0
  24. package/.chunks/popup-D-6PIelY.es.js.map +1 -0
  25. package/.chunks/punycode.es6-C2yitnNb.amd.js +2 -0
  26. package/.chunks/punycode.es6-C2yitnNb.amd.js.map +1 -0
  27. package/.chunks/punycode.es6-CNI-zL6U.es.js +134 -0
  28. package/.chunks/punycode.es6-CNI-zL6U.es.js.map +1 -0
  29. package/.chunks/store-CX_6ZXhO.es.js +29 -0
  30. package/.chunks/store-CX_6ZXhO.es.js.map +1 -0
  31. package/.chunks/store-esTid5oI.amd.js +2 -0
  32. package/.chunks/store-esTid5oI.amd.js.map +1 -0
  33. package/.chunks/utils-9b7woobj.es.js +338 -0
  34. package/.chunks/utils-9b7woobj.es.js.map +1 -0
  35. package/.chunks/utils-BvHwHAyQ.es.js +225 -0
  36. package/.chunks/utils-BvHwHAyQ.es.js.map +1 -0
  37. package/.chunks/utils-CPty_L5T.amd.js +2 -0
  38. package/.chunks/utils-CPty_L5T.amd.js.map +1 -0
  39. package/.chunks/utils-DAfofcEq.amd.js +2 -0
  40. package/.chunks/utils-DAfofcEq.amd.js.map +1 -0
  41. package/README.md +66 -25
  42. package/assets/charts.css +1 -0
  43. package/assets/core.css +1 -0
  44. package/assets/forms.css +1 -0
  45. package/assets/formsExt.css +1 -0
  46. package/assets/layout.css +1 -0
  47. package/assets/listItem.css +1 -0
  48. package/assets/menu.css +1 -0
  49. package/assets/notice.css +1 -0
  50. package/assets/popup.css +1 -0
  51. package/assets/project.css +1 -0
  52. package/assets/tabs.css +1 -0
  53. package/assets/tabsView.css +1 -0
  54. package/assets/themes/dark-th.css +1 -0
  55. package/assets/themes/dark.css +1 -0
  56. package/assets/themes/light.css +1 -0
  57. package/charts/charts.amd.js +2 -0
  58. package/charts/charts.amd.js.map +1 -0
  59. package/charts/charts.d.ts +2 -0
  60. package/charts/charts.js +178 -0
  61. package/charts/charts.js.map +1 -0
  62. package/components/charts/charts.d.ts +5 -0
  63. package/components/charts/miniChart/miniChart.d.ts +92 -0
  64. package/components/charts/miniChart/miniChart.vue.d.ts +15 -0
  65. package/components/charts/miniChart/stories/dummy.d.ts +13 -0
  66. package/components/charts/miniChart/utils/consts.d.ts +8 -0
  67. package/components/charts/miniCharts/miniCharts.d.ts +20 -0
  68. package/components/charts/miniCharts/miniCharts.vue.d.ts +32 -0
  69. package/components/charts/miniCharts/stories/dummy.d.ts +6 -0
  70. package/components/core/notice/item/item.vue.d.ts +10 -0
  71. package/components/core/notice/item/types.d.ts +61 -0
  72. package/components/core/notice/notice.vue.d.ts +5 -0
  73. package/components/core/notice/types.d.ts +1 -0
  74. package/components/core/notice/utils.d.ts +27 -0
  75. package/components/dialog/dialog/composables/asyncDialogHandle.d.ts +51 -0
  76. package/components/dialog/dialog/composables/dialogHandle.d.ts +108 -0
  77. package/components/dialog/dialog/composables/types.d.ts +11 -0
  78. package/components/dialog/dialog/composables/utils.d.ts +21 -0
  79. package/components/dialog/dialog/dialog.vue.d.ts +28 -0
  80. package/components/dialog/dialog/dialogs/dialogs.vue.d.ts +10 -0
  81. package/components/dialog/dialog/page/page.vue.d.ts +19 -0
  82. package/components/dialog/dialog/page/types.d.ts +72 -0
  83. package/components/dialog/dialog/pageComponent/pageComponent.vue.d.ts +6 -0
  84. package/components/dialog/dialog/pageComponent/types.d.ts +18 -0
  85. package/components/dialog/dialog/stories/autoload.d.ts +2 -0
  86. package/components/dialog/dialog/stories/dialog_example/pages/utils.d.ts +7 -0
  87. package/components/dialog/dialog/types.d.ts +58 -0
  88. package/components/dialog/dialog.d.ts +6 -0
  89. package/components/dialog/lib/types.d.ts +21 -0
  90. package/components/dialog/lib/utils.d.ts +14 -0
  91. package/components/dialog/lib/utils.globalEvents.d.ts +8 -0
  92. package/components/dialog/lib/worker.d.ts +60 -0
  93. package/components/forms/avatar/avatar.d.ts +38 -0
  94. package/components/forms/avatar/avatar.vue.d.ts +10 -0
  95. package/components/forms/button/button.vue.d.ts +25 -0
  96. package/components/forms/button/types.d.ts +53 -0
  97. package/components/forms/checkbox/checkbox.d.ts +21 -0
  98. package/components/forms/checkbox/checkbox.vue.d.ts +27 -0
  99. package/components/forms/controlLabel/controlLabel.d.ts +4 -0
  100. package/components/forms/controlLabel/controlLabel.vue.d.ts +19 -0
  101. package/components/forms/forms.d.ts +27 -0
  102. package/components/forms/helpers.d.ts +10 -0
  103. package/components/forms/hint/hint.d.ts +8 -0
  104. package/components/forms/hint/hint.vue.d.ts +4 -0
  105. package/components/forms/input/input.d.ts +26 -0
  106. package/components/forms/input/input.vue.d.ts +27 -0
  107. package/components/forms/inputDate/datepicker.d.ts +5 -0
  108. package/components/forms/inputDate/inputDate.d.ts +3 -0
  109. package/components/forms/inputDate/inputDate.vue.d.ts +12 -0
  110. package/components/forms/inputRange/inputRange.d.ts +2 -0
  111. package/components/forms/inputRange/inputRange.vue.d.ts +19 -0
  112. package/components/forms/loadbar/loadbar.vue.d.ts +3 -0
  113. package/components/forms/radio/radio.d.ts +14 -0
  114. package/components/forms/radio/radio.vue.d.ts +23 -0
  115. package/components/forms/select/select.d.ts +51 -0
  116. package/components/forms/select/select.vue.d.ts +17 -0
  117. package/components/forms/select/stories/exampleOptions.d.ts +5 -0
  118. package/components/forms/switcher/switcher.d.ts +21 -0
  119. package/components/forms/switcher/switcher.vue.d.ts +23 -0
  120. package/components/forms/textarea/textarea.d.ts +33 -0
  121. package/components/forms/textarea/textarea.vue.d.ts +11 -0
  122. package/components/formsExt/editArea/editArea.d.ts +33 -0
  123. package/components/formsExt/editArea/editArea.vue.d.ts +18 -0
  124. package/components/formsExt/editInput/editInput.d.ts +16 -0
  125. package/components/formsExt/editInput/editInput.vue.d.ts +8 -0
  126. package/components/formsExt/formsExt.d.ts +13 -0
  127. package/components/formsExt/info/info.vue.d.ts +20 -0
  128. package/components/formsExt/info/types.d.ts +21 -0
  129. package/components/formsExt/menu/menu.d.ts +37 -0
  130. package/components/formsExt/menu/menu.vue.d.ts +16 -0
  131. package/components/formsExt/menu/stories/items.d.ts +3 -0
  132. package/components/formsExt/radioGroup/radioGroup.d.ts +21 -0
  133. package/components/formsExt/radioGroup/radioGroup.vue.d.ts +19 -0
  134. package/components/formsExt/selector2/api.d.ts +8 -0
  135. package/components/formsExt/selector2/itemMulti.vue.d.ts +8 -0
  136. package/components/formsExt/selector2/selector2.d.ts +130 -0
  137. package/components/formsExt/selector2/selector2.vue.d.ts +210 -0
  138. package/components/formsExt/selector2/stories/dummyAPIRequest.d.ts +10 -0
  139. package/components/layout/islandRows/islandRows.vue.d.ts +17 -0
  140. package/components/layout/islandRows/islandRowsRow/islandRowsRow.vue.d.ts +18 -0
  141. package/components/layout/islandRows/islandRowsRow/types.d.ts +2 -0
  142. package/components/layout/islandRows/islandRowsSubTitle/islandRowsSubTitle.vue.d.ts +18 -0
  143. package/components/layout/islandRows/types.d.ts +10 -0
  144. package/components/layout/layout.d.ts +9 -0
  145. package/components/layout/rows/rows.vue.d.ts +21 -0
  146. package/components/layout/rows/types.d.ts +6 -0
  147. package/components/popup/alert/alert.d.ts +8 -0
  148. package/components/popup/alert/alert.vue.d.ts +31 -0
  149. package/components/popup/confirm/confirm.d.ts +21 -0
  150. package/components/popup/confirm/confirm.vue.d.ts +33 -0
  151. package/components/popup/lib/popup.d.ts +83 -0
  152. package/components/popup/lib/popup.globalEvents.d.ts +26 -0
  153. package/components/popup/lib/worker.d.ts +75 -0
  154. package/components/popup/lib/worker.globalEvents.d.ts +19 -0
  155. package/components/popup/popup/listItem.vue.d.ts +22 -0
  156. package/components/popup/popup/opener.vue.d.ts +23 -0
  157. package/components/popup/popup/popup.d.ts +101 -0
  158. package/components/popup/popup/popup.vue.d.ts +40 -0
  159. package/components/popup/popup/widgetInput.vue.d.ts +17 -0
  160. package/components/popup/popup.d.ts +15 -0
  161. package/components/popup/prompt/prompt.d.ts +21 -0
  162. package/components/popup/prompt/prompt.vue.d.ts +33 -0
  163. package/components/popup/worker.d.ts +1 -0
  164. package/components/project/project.d.ts +15 -0
  165. package/components/project/selectorCompetitors/composables.d.ts +4 -0
  166. package/components/project/selectorCompetitors/selectorCompetitors.d.ts +23 -0
  167. package/components/project/selectorCompetitors/selectorCompetitors.vue.d.ts +14 -0
  168. package/components/project/selectorCompetitors/stories/items.d.ts +3 -0
  169. package/components/project/selectorCompetitors/types/competitor.d.ts +7 -0
  170. package/components/project/selectorRegion/composables/compare.d.ts +12 -0
  171. package/components/project/selectorRegion/composables/selectRegion.d.ts +14 -0
  172. package/components/project/selectorRegion/composables/selectSearcher.d.ts +13 -0
  173. package/components/project/selectorRegion/composables/selectorRegion.d.ts +25 -0
  174. package/components/project/selectorRegion/selectorRegion.d.ts +182 -0
  175. package/components/project/selectorRegion/selectorRegion.vue.d.ts +25 -0
  176. package/components/project/selectorRegion/stories/searchers.d.ts +3 -0
  177. package/components/project/selectorRegion/utils/consts.d.ts +18 -0
  178. package/components/project/selectorRegion/utils/utils.d.ts +23 -0
  179. package/components/project/tagSelector/popupListItem/tagPopupListItem.vue.d.ts +20 -0
  180. package/components/project/tagSelector/popupListItem/types.d.ts +33 -0
  181. package/components/project/tagSelector/popupOpener/popupOpener.vue.d.ts +27 -0
  182. package/components/project/tagSelector/popupOpener/types.d.ts +62 -0
  183. package/components/project/tagSelector/tagIcon/tagIcon.vue.d.ts +4 -0
  184. package/components/project/tagSelector/tagIcon/types.d.ts +21 -0
  185. package/components/project/tagSelector/tagSelector.vue.d.ts +37 -0
  186. package/components/project/tagSelector/tagsDefaults.d.ts +3 -0
  187. package/components/project/tagSelector/types.d.ts +138 -0
  188. package/components/project/tagSelector/utils/el.d.ts +19 -0
  189. package/components/project/tagSelector/utils/utils.d.ts +14 -0
  190. package/components/tabs/tabs/content.vue.d.ts +19 -0
  191. package/components/tabs/tabs/tab.vue.d.ts +19 -0
  192. package/components/tabs/tabs/tabs.d.ts +19 -0
  193. package/components/tabs/tabs/tabs.vue.d.ts +21 -0
  194. package/components/tabs/tabs.d.ts +7 -0
  195. package/components/tabsView/tabsView/menu.vue.d.ts +32 -0
  196. package/components/tabsView/tabsView/menuDelimeter.vue.d.ts +3 -0
  197. package/components/tabsView/tabsView/menuItem.vue.d.ts +23 -0
  198. package/components/tabsView/tabsView/menuTitle.vue.d.ts +20 -0
  199. package/components/tabsView/tabsView/store.d.ts +192 -0
  200. package/components/tabsView/tabsView/tabsView.d.ts +98 -0
  201. package/components/tabsView/tabsView/tabsView.vue.d.ts +34 -0
  202. package/components/tabsView/tabsView/utils.d.ts +11 -0
  203. package/components/tabsView/tabsView.d.ts +7 -0
  204. package/core/app.amd.js +2 -0
  205. package/core/app.amd.js.map +1 -0
  206. package/core/app.d.ts +8 -0
  207. package/core/app.js +402 -0
  208. package/core/app.js.map +1 -0
  209. package/core/core/core.d.ts +113 -0
  210. package/core/core/events/resize.d.ts +16 -0
  211. package/core/core/events.d.ts +15 -0
  212. package/core/core/options.d.ts +46 -0
  213. package/core/core/preloaders.d.ts +19 -0
  214. package/core/core/state.d.ts +49 -0
  215. package/core/directives/data.d.ts +10 -0
  216. package/core/directives/focus.d.ts +10 -0
  217. package/core/directives/scrollIntoView.d.ts +3 -0
  218. package/core/directives/scrollShadow.d.ts +15 -0
  219. package/core/directives/sticky.d.ts +10 -0
  220. package/core/directives/swimUp.d.ts +15 -0
  221. package/core/directives/tooltip.d.ts +10 -0
  222. package/core/plugins/core.d.ts +60 -0
  223. package/core/plugins/i18n.d.ts +97 -0
  224. package/core/plugins/piniaTPA.d.ts +17 -0
  225. package/core/utils/check.d.ts +26 -0
  226. package/core/utils/clipboard.d.ts +12 -0
  227. package/core/utils/date.d.ts +52 -0
  228. package/core/utils/device.d.ts +50 -0
  229. package/core/utils/dom.d.ts +94 -0
  230. package/core/utils/image.d.ts +16 -0
  231. package/core/utils/keyboard.d.ts +8 -0
  232. package/core/utils/lodash.d.ts +6 -0
  233. package/core/utils/number.d.ts +17 -0
  234. package/core/utils/price.d.ts +10 -0
  235. package/core/utils/route.d.ts +33 -0
  236. package/core/utils/scroll.d.ts +32 -0
  237. package/core/utils/searchers.d.ts +38 -0
  238. package/core/utils/store/localStorage.d.ts +6 -0
  239. package/core/utils/store/plugin.d.ts +24 -0
  240. package/core/utils/store/store.d.ts +34 -0
  241. package/core/utils/store.d.ts +6 -0
  242. package/core/utils/string.d.ts +86 -0
  243. package/core/utils/system.d.ts +25 -0
  244. package/core/utils/url.d.ts +36 -0
  245. package/dialog/dialog.amd.js +2 -0
  246. package/dialog/dialog.amd.js.map +1 -0
  247. package/dialog/dialog.d.ts +2 -0
  248. package/dialog/dialog.js +193 -0
  249. package/dialog/dialog.js.map +1 -0
  250. package/forms/forms.amd.js +2 -0
  251. package/forms/forms.amd.js.map +1 -0
  252. package/forms/forms.d.ts +2 -0
  253. package/forms/forms.js +17 -0
  254. package/forms/forms.js.map +1 -0
  255. package/forms/helpers.amd.js +2 -0
  256. package/forms/helpers.amd.js.map +1 -0
  257. package/forms/helpers.d.ts +2 -0
  258. package/forms/helpers.js +10 -0
  259. package/forms/helpers.js.map +1 -0
  260. package/formsExt/formsExt.amd.js +2 -0
  261. package/formsExt/formsExt.amd.js.map +1 -0
  262. package/formsExt/formsExt.d.ts +2 -0
  263. package/formsExt/formsExt.js +485 -0
  264. package/formsExt/formsExt.js.map +1 -0
  265. package/layout/layout.amd.js +2 -0
  266. package/layout/layout.amd.js.map +1 -0
  267. package/layout/layout.d.ts +2 -0
  268. package/layout/layout.js +62 -0
  269. package/layout/layout.js.map +1 -0
  270. package/package.json +1 -55
  271. package/popup/popup.amd.js +2 -0
  272. package/popup/popup.amd.js.map +1 -0
  273. package/popup/popup.d.ts +2 -0
  274. package/popup/popup.js +243 -0
  275. package/popup/popup.js.map +1 -0
  276. package/popup/worker.amd.js +2 -0
  277. package/popup/worker.amd.js.map +1 -0
  278. package/popup/worker.d.ts +2 -0
  279. package/popup/worker.js +129 -0
  280. package/popup/worker.js.map +1 -0
  281. package/project/project.amd.js +2 -0
  282. package/project/project.amd.js.map +1 -0
  283. package/project/project.d.ts +2 -0
  284. package/project/project.js +975 -0
  285. package/project/project.js.map +1 -0
  286. package/tabs/tabs.amd.js +2 -0
  287. package/tabs/tabs.amd.js.map +1 -0
  288. package/tabs/tabs.d.ts +2 -0
  289. package/tabs/tabs.js +81 -0
  290. package/tabs/tabs.js.map +1 -0
  291. package/tabsView/tabsView.amd.js +2 -0
  292. package/tabsView/tabsView.amd.js.map +1 -0
  293. package/tabsView/tabsView.d.ts +2 -0
  294. package/tabsView/tabsView.js +306 -0
  295. package/tabsView/tabsView.js.map +1 -0
  296. package/utils/check.amd.js +2 -0
  297. package/utils/check.amd.js.map +1 -0
  298. package/utils/check.d.ts +2 -0
  299. package/utils/check.js +26 -0
  300. package/utils/check.js.map +1 -0
  301. package/utils/clipboard.amd.js +6 -0
  302. package/utils/clipboard.amd.js.map +1 -0
  303. package/utils/clipboard.d.ts +2 -0
  304. package/utils/clipboard.js +33 -0
  305. package/utils/clipboard.js.map +1 -0
  306. package/utils/date.amd.js +2 -0
  307. package/utils/date.amd.js.map +1 -0
  308. package/utils/date.d.ts +2 -0
  309. package/utils/date.js +11 -0
  310. package/utils/date.js.map +1 -0
  311. package/utils/device.amd.js +2 -0
  312. package/utils/device.amd.js.map +1 -0
  313. package/utils/device.d.ts +2 -0
  314. package/utils/device.js +15 -0
  315. package/utils/device.js.map +1 -0
  316. package/utils/dom.amd.js +2 -0
  317. package/utils/dom.amd.js.map +1 -0
  318. package/utils/dom.d.ts +6 -0
  319. package/utils/dom.js +75 -0
  320. package/utils/dom.js.map +1 -0
  321. package/utils/image.amd.js +12 -0
  322. package/utils/image.amd.js.map +1 -0
  323. package/utils/image.d.ts +2 -0
  324. package/utils/image.js +23 -0
  325. package/utils/image.js.map +1 -0
  326. package/utils/keyboard.amd.js +2 -0
  327. package/utils/keyboard.amd.js.map +1 -0
  328. package/utils/keyboard.d.ts +2 -0
  329. package/utils/keyboard.js +12 -0
  330. package/utils/keyboard.js.map +1 -0
  331. package/utils/lodash.amd.js +2 -0
  332. package/utils/lodash.amd.js.map +1 -0
  333. package/utils/lodash.d.ts +2 -0
  334. package/utils/lodash.js +9 -0
  335. package/utils/lodash.js.map +1 -0
  336. package/utils/number.amd.js +2 -0
  337. package/utils/number.amd.js.map +1 -0
  338. package/utils/number.d.ts +2 -0
  339. package/utils/number.js +13 -0
  340. package/utils/number.js.map +1 -0
  341. package/utils/price.amd.js +2 -0
  342. package/utils/price.amd.js.map +1 -0
  343. package/utils/price.d.ts +2 -0
  344. package/utils/price.js +10 -0
  345. package/utils/price.js.map +1 -0
  346. package/utils/route.amd.js +2 -0
  347. package/utils/route.amd.js.map +1 -0
  348. package/utils/route.d.ts +2 -0
  349. package/utils/route.js +31 -0
  350. package/utils/route.js.map +1 -0
  351. package/utils/scroll.amd.js +2 -0
  352. package/utils/scroll.amd.js.map +1 -0
  353. package/utils/scroll.d.ts +2 -0
  354. package/utils/scroll.js +45 -0
  355. package/utils/scroll.js.map +1 -0
  356. package/utils/searchers.amd.js +2 -0
  357. package/utils/searchers.amd.js.map +1 -0
  358. package/utils/searchers.d.ts +2 -0
  359. package/utils/searchers.js +130 -0
  360. package/utils/searchers.js.map +1 -0
  361. package/utils/store.amd.js +2 -0
  362. package/utils/store.amd.js.map +1 -0
  363. package/utils/store.d.ts +2 -0
  364. package/utils/store.js +7 -0
  365. package/utils/store.js.map +1 -0
  366. package/utils/string.amd.js +2 -0
  367. package/utils/string.amd.js.map +1 -0
  368. package/utils/string.d.ts +2 -0
  369. package/utils/string.js +139 -0
  370. package/utils/string.js.map +1 -0
  371. package/utils/system.amd.js +2 -0
  372. package/utils/system.amd.js.map +1 -0
  373. package/utils/system.d.ts +2 -0
  374. package/utils/system.js +29 -0
  375. package/utils/system.js.map +1 -0
  376. package/utils/url.amd.js +3 -0
  377. package/utils/url.amd.js.map +1 -0
  378. package/utils/url.d.ts +2 -0
  379. package/utils/url.js +48 -0
  380. package/utils/url.js.map +1 -0
  381. package/.idea/.gitignore +0 -11
  382. package/.idea/codeStyles/Project.xml +0 -205
  383. package/.idea/codeStyles/codeStyleConfig.xml +0 -5
  384. package/.idea/externalDependencies.xml +0 -6
  385. package/.idea/inspectionProfiles/Disabled.xml +0 -824
  386. package/.idea/inspectionProfiles/Project_Default.xml +0 -33
  387. package/.idea/php.xml +0 -19
  388. package/.idea/vcs.xml +0 -6
  389. package/.storybook/TopTheme.ts +0 -115
  390. package/.storybook/TopThemeManager.ts +0 -53
  391. package/.storybook/main.ts +0 -51
  392. package/.storybook/manager.ts +0 -25
  393. package/.storybook/preview-head.html +0 -21
  394. package/.storybook/preview.ts +0 -47
  395. package/.storybook/vue/coreDecorator.ts +0 -76
  396. package/.storybook/vue/vModelDecorator.ts +0 -46
  397. package/.versionrc.json +0 -16
  398. package/.vscode/extensions.json +0 -11
  399. package/.vscode/keybindings.example.json +0 -121
  400. package/.vscode/settings.json +0 -45
  401. package/CHANGELOG.md +0 -175
  402. package/NPM.md +0 -25
  403. package/PUBLISH.md +0 -63
  404. package/STORYBOOK.md +0 -43
  405. package/USE_IN_PROJECT.md +0 -32
  406. package/build/afterBuild.sh +0 -11
  407. package/build/cssModules.ts +0 -39
  408. package/build/genDocs.sh +0 -19
  409. package/build/plugin/amdFix.ts +0 -83
  410. package/build/plugin/autoloadCSS.ts +0 -155
  411. package/build/rollup.config.ts +0 -37
  412. package/public/README.md +0 -82
  413. package/src/components/charts/charts.ts +0 -8
  414. package/src/components/charts/miniChart/miniChart.stories.ts +0 -67
  415. package/src/components/charts/miniChart/miniChart.ts +0 -110
  416. package/src/components/charts/miniChart/miniChart.vue +0 -158
  417. package/src/components/charts/miniChart/stories/README.md +0 -9
  418. package/src/components/charts/miniChart/stories/dummy.ts +0 -25
  419. package/src/components/charts/miniChart/styles/miniChart.css +0 -87
  420. package/src/components/charts/miniChart/utils/consts.ts +0 -9
  421. package/src/components/charts/miniCharts/miniCharts.stories.ts +0 -76
  422. package/src/components/charts/miniCharts/miniCharts.ts +0 -24
  423. package/src/components/charts/miniCharts/miniCharts.vue +0 -128
  424. package/src/components/charts/miniCharts/stories/README.md +0 -18
  425. package/src/components/charts/miniCharts/stories/dummy.ts +0 -70
  426. package/src/components/charts/miniCharts/stories/overview.vue +0 -139
  427. package/src/components/charts/miniCharts/styles/miniCharts.css +0 -32
  428. package/src/components/component.ts +0 -130
  429. package/src/components/core/core.mdx +0 -7
  430. package/src/components/core/notice/item/item.vue +0 -145
  431. package/src/components/core/notice/item/style.css +0 -70
  432. package/src/components/core/notice/item/types.ts +0 -71
  433. package/src/components/core/notice/notice.stories.ts +0 -105
  434. package/src/components/core/notice/notice.vue +0 -69
  435. package/src/components/core/notice/stories/README.md +0 -34
  436. package/src/components/core/notice/types.ts +0 -1
  437. package/src/components/core/notice/utils.ts +0 -115
  438. package/src/components/dialog/dialog/Dialog (code).mdx +0 -61
  439. package/src/components/dialog/dialog/composables/asyncDialogHandle.ts +0 -99
  440. package/src/components/dialog/dialog/composables/dialogHandle.ts +0 -176
  441. package/src/components/dialog/dialog/composables/types.ts +0 -12
  442. package/src/components/dialog/dialog/composables/utils.ts +0 -39
  443. package/src/components/dialog/dialog/dialog.stories.ts +0 -83
  444. package/src/components/dialog/dialog/dialog.vue +0 -74
  445. package/src/components/dialog/dialog/dialogs/dialogs.vue +0 -58
  446. package/src/components/dialog/dialog/page/page.vue +0 -86
  447. package/src/components/dialog/dialog/page/types.ts +0 -84
  448. package/src/components/dialog/dialog/page.stories.ts +0 -27
  449. package/src/components/dialog/dialog/pageComponent/pageComponent.vue +0 -57
  450. package/src/components/dialog/dialog/pageComponent/types.ts +0 -21
  451. package/src/components/dialog/dialog/pageComponent.stories.ts +0 -27
  452. package/src/components/dialog/dialog/stories/README.md +0 -117
  453. package/src/components/dialog/dialog/stories/autoload.ts +0 -12
  454. package/src/components/dialog/dialog/stories/dialog_example/dialog_example.vue +0 -73
  455. package/src/components/dialog/dialog/stories/dialog_example/pages/async.vue +0 -57
  456. package/src/components/dialog/dialog/stories/dialog_example/pages/default.vue +0 -64
  457. package/src/components/dialog/dialog/stories/dialog_example/pages/headerButtons.vue +0 -56
  458. package/src/components/dialog/dialog/stories/dialog_example/pages/utils.ts +0 -26
  459. package/src/components/dialog/dialog/stories/dialog_example/pages/withoutCache.vue +0 -64
  460. package/src/components/dialog/dialog/stories/page/README.md +0 -24
  461. package/src/components/dialog/dialog/stories/pageComponent/README.md +0 -12
  462. package/src/components/dialog/dialog/style/dialog.css +0 -316
  463. package/src/components/dialog/dialog/style/dialog.m.css +0 -40
  464. package/src/components/dialog/dialog/style/dialog.pc.css +0 -73
  465. package/src/components/dialog/dialog/style/modern/dialog.css +0 -12
  466. package/src/components/dialog/dialog/style/modern/dialog.pc.css +0 -3
  467. package/src/components/dialog/dialog/types.ts +0 -69
  468. package/src/components/dialog/dialog.ts +0 -7
  469. package/src/components/dialog/lib/types.ts +0 -26
  470. package/src/components/dialog/lib/utils.globalEvents.ts +0 -175
  471. package/src/components/dialog/lib/utils.ts +0 -525
  472. package/src/components/dialog/lib/worker.ts +0 -273
  473. package/src/components/forms/README.mdx +0 -10
  474. package/src/components/forms/avatar/avatar.stories.ts +0 -38
  475. package/src/components/forms/avatar/avatar.ts +0 -40
  476. package/src/components/forms/avatar/avatar.vue +0 -77
  477. package/src/components/forms/avatar/stories/overview.vue +0 -28
  478. package/src/components/forms/button/button.stories.ts +0 -118
  479. package/src/components/forms/button/button.vue +0 -111
  480. package/src/components/forms/button/stories/README.md +0 -9
  481. package/src/components/forms/button/stories/overview.vue +0 -33
  482. package/src/components/forms/button/style/button.css +0 -139
  483. package/src/components/forms/button/style/style-outline.css +0 -129
  484. package/src/components/forms/button/style/style-soft.css +0 -89
  485. package/src/components/forms/button/style/style-transparent.css +0 -39
  486. package/src/components/forms/button/types.ts +0 -66
  487. package/src/components/forms/checkbox/checkbox.stories.ts +0 -33
  488. package/src/components/forms/checkbox/checkbox.ts +0 -21
  489. package/src/components/forms/checkbox/checkbox.vue +0 -114
  490. package/src/components/forms/checkbox/stories/overview.vue +0 -171
  491. package/src/components/forms/controlLabel/controlLabel.stories.ts +0 -32
  492. package/src/components/forms/controlLabel/controlLabel.ts +0 -4
  493. package/src/components/forms/controlLabel/controlLabel.vue +0 -54
  494. package/src/components/forms/forms.ts +0 -40
  495. package/src/components/forms/helpers.ts +0 -11
  496. package/src/components/forms/hint/hint.stories.ts +0 -41
  497. package/src/components/forms/hint/hint.ts +0 -8
  498. package/src/components/forms/hint/hint.vue +0 -32
  499. package/src/components/forms/input/input.stories.ts +0 -31
  500. package/src/components/forms/input/input.ts +0 -37
  501. package/src/components/forms/input/input.vue +0 -187
  502. package/src/components/forms/input/stories/overview.vue +0 -61
  503. package/src/components/forms/inputDate/datepicker.css +0 -246
  504. package/src/components/forms/inputDate/datepicker.ts +0 -101
  505. package/src/components/forms/inputDate/inputDate.stories.ts +0 -41
  506. package/src/components/forms/inputDate/inputDate.ts +0 -5
  507. package/src/components/forms/inputDate/inputDate.vue +0 -133
  508. package/src/components/forms/inputDate/stories/overview.vue +0 -35
  509. package/src/components/forms/inputRange/inputRange.stories.ts +0 -53
  510. package/src/components/forms/inputRange/inputRange.ts +0 -3
  511. package/src/components/forms/inputRange/inputRange.vue +0 -39
  512. package/src/components/forms/inputRange/stories/overview.vue +0 -129
  513. package/src/components/forms/loadbar/loadbar.stories.ts +0 -17
  514. package/src/components/forms/loadbar/loadbar.vue +0 -37
  515. package/src/components/forms/radio/radio.stories.ts +0 -34
  516. package/src/components/forms/radio/radio.ts +0 -15
  517. package/src/components/forms/radio/radio.vue +0 -97
  518. package/src/components/forms/radio/stories/overview.vue +0 -79
  519. package/src/components/forms/select/select.stories.ts +0 -68
  520. package/src/components/forms/select/select.ts +0 -60
  521. package/src/components/forms/select/select.vue +0 -298
  522. package/src/components/forms/select/stories/exampleOptions.ts +0 -61
  523. package/src/components/forms/select/stories/overview.vue +0 -72
  524. package/src/components/forms/switcher/stories/overview.vue +0 -139
  525. package/src/components/forms/switcher/switcher.stories.ts +0 -33
  526. package/src/components/forms/switcher/switcher.ts +0 -22
  527. package/src/components/forms/switcher/switcher.vue +0 -118
  528. package/src/components/forms/textarea/stories/overview.vue +0 -62
  529. package/src/components/forms/textarea/textarea.stories.ts +0 -33
  530. package/src/components/forms/textarea/textarea.ts +0 -38
  531. package/src/components/forms/textarea/textarea.vue +0 -121
  532. package/src/components/formsExt/README.mdx +0 -5
  533. package/src/components/formsExt/editArea/editArea.stories.ts +0 -41
  534. package/src/components/formsExt/editArea/editArea.ts +0 -41
  535. package/src/components/formsExt/editArea/editArea.vue +0 -195
  536. package/src/components/formsExt/editArea/stories/README.md +0 -21
  537. package/src/components/formsExt/editArea/stories/overview.vue +0 -67
  538. package/src/components/formsExt/editInput/editInput.stories.ts +0 -36
  539. package/src/components/formsExt/editInput/editInput.ts +0 -20
  540. package/src/components/formsExt/editInput/editInput.vue +0 -54
  541. package/src/components/formsExt/editInput/stories/overview.vue +0 -54
  542. package/src/components/formsExt/formsExt.ts +0 -15
  543. package/src/components/formsExt/info/info.stories.ts +0 -35
  544. package/src/components/formsExt/info/info.vue +0 -84
  545. package/src/components/formsExt/info/stories/overview.vue +0 -29
  546. package/src/components/formsExt/info/types.ts +0 -25
  547. package/src/components/formsExt/menu/menu.stories.ts +0 -59
  548. package/src/components/formsExt/menu/menu.ts +0 -45
  549. package/src/components/formsExt/menu/menu.vue +0 -321
  550. package/src/components/formsExt/menu/stories/items.ts +0 -18
  551. package/src/components/formsExt/menu/stories/overview.vue +0 -52
  552. package/src/components/formsExt/radioGroup/radioGroup.stories.ts +0 -51
  553. package/src/components/formsExt/radioGroup/radioGroup.ts +0 -28
  554. package/src/components/formsExt/radioGroup/radioGroup.vue +0 -146
  555. package/src/components/formsExt/radioGroup/stories/overview.vue +0 -78
  556. package/src/components/formsExt/radioGroup/styles/top-scrollBar.css +0 -52
  557. package/src/components/formsExt/selector2/api.ts +0 -148
  558. package/src/components/formsExt/selector2/itemMulti.vue +0 -57
  559. package/src/components/formsExt/selector2/selector2.stories.ts +0 -48
  560. package/src/components/formsExt/selector2/selector2.ts +0 -145
  561. package/src/components/formsExt/selector2/selector2.vue +0 -389
  562. package/src/components/formsExt/selector2/stories/dummyAPIRequest.ts +0 -58
  563. package/src/components/formsExt/selector2/stories/overview.vue +0 -93
  564. package/src/components/helper.js +0 -10
  565. package/src/components/helpersStories.ts +0 -205
  566. package/src/components/layout/islandRows/islandRows.stories.ts +0 -139
  567. package/src/components/layout/islandRows/islandRows.vue +0 -53
  568. package/src/components/layout/islandRows/islandRowsRow/islandRowsRow.vue +0 -36
  569. package/src/components/layout/islandRows/islandRowsRow/types.ts +0 -1
  570. package/src/components/layout/islandRows/islandRowsSubTitle/islandRowsSubTitle.vue +0 -16
  571. package/src/components/layout/islandRows/stories/README.md +0 -8
  572. package/src/components/layout/islandRows/types.ts +0 -11
  573. package/src/components/layout/layout.ts +0 -11
  574. package/src/components/layout/rows/rows.stories.ts +0 -48
  575. package/src/components/layout/rows/rows.vue +0 -46
  576. package/src/components/layout/rows/stories/README.md +0 -10
  577. package/src/components/layout/rows/types.ts +0 -6
  578. package/src/components/popup/alert/alert.stories.ts +0 -71
  579. package/src/components/popup/alert/alert.ts +0 -11
  580. package/src/components/popup/alert/alert.vue +0 -46
  581. package/src/components/popup/alert/stories/overview.vue +0 -40
  582. package/src/components/popup/confirm/confirm.stories.ts +0 -75
  583. package/src/components/popup/confirm/confirm.ts +0 -26
  584. package/src/components/popup/confirm/confirm.vue +0 -75
  585. package/src/components/popup/confirm/stories/overview.vue +0 -62
  586. package/src/components/popup/lib/popup.globalEvents.ts +0 -239
  587. package/src/components/popup/lib/popup.ts +0 -790
  588. package/src/components/popup/lib/worker.globalEvents.ts +0 -97
  589. package/src/components/popup/lib/worker.ts +0 -286
  590. package/src/components/popup/popup/listItem.vue +0 -35
  591. package/src/components/popup/popup/opener.vue +0 -81
  592. package/src/components/popup/popup/popup.stories.ts +0 -74
  593. package/src/components/popup/popup/popup.ts +0 -120
  594. package/src/components/popup/popup/popup.vue +0 -168
  595. package/src/components/popup/popup/stories/README.md +0 -55
  596. package/src/components/popup/popup/stories/listItems.vue +0 -44
  597. package/src/components/popup/popup/stories/listSubItems.vue +0 -47
  598. package/src/components/popup/popup/stories/overview.vue +0 -210
  599. package/src/components/popup/popup/style/popup.css +0 -345
  600. package/src/components/popup/popup/style/popup.m.css +0 -72
  601. package/src/components/popup/popup/style/popup.pc.css +0 -26
  602. package/src/components/popup/popup/widgetInput.vue +0 -43
  603. package/src/components/popup/popup.ts +0 -17
  604. package/src/components/popup/prompt/prompt.stories.ts +0 -78
  605. package/src/components/popup/prompt/prompt.ts +0 -26
  606. package/src/components/popup/prompt/prompt.vue +0 -84
  607. package/src/components/popup/prompt/stories/overview.vue +0 -50
  608. package/src/components/popup/worker.ts +0 -1
  609. package/src/components/project/project.ts +0 -23
  610. package/src/components/project/selectorCompetitors/composables.ts +0 -21
  611. package/src/components/project/selectorCompetitors/selectorCompetitors.stories.ts +0 -33
  612. package/src/components/project/selectorCompetitors/selectorCompetitors.ts +0 -27
  613. package/src/components/project/selectorCompetitors/selectorCompetitors.vue +0 -75
  614. package/src/components/project/selectorCompetitors/stories/README.md +0 -20
  615. package/src/components/project/selectorCompetitors/stories/items.ts +0 -30
  616. package/src/components/project/selectorCompetitors/types/competitor.ts +0 -7
  617. package/src/components/project/selectorRegion/composables/compare.ts +0 -87
  618. package/src/components/project/selectorRegion/composables/selectRegion.ts +0 -147
  619. package/src/components/project/selectorRegion/composables/selectSearcher.ts +0 -64
  620. package/src/components/project/selectorRegion/composables/selectorRegion.ts +0 -165
  621. package/src/components/project/selectorRegion/selectorRegion.stories.ts +0 -69
  622. package/src/components/project/selectorRegion/selectorRegion.ts +0 -217
  623. package/src/components/project/selectorRegion/selectorRegion.vue +0 -330
  624. package/src/components/project/selectorRegion/stories/README.md +0 -36
  625. package/src/components/project/selectorRegion/stories/searchers.ts +0 -59
  626. package/src/components/project/selectorRegion/styles/searcherColors.css +0 -41
  627. package/src/components/project/selectorRegion/utils/consts.ts +0 -73
  628. package/src/components/project/selectorRegion/utils/utils.ts +0 -157
  629. package/src/components/project/tagSelector/popupListItem/tagPopupListItem.vue +0 -209
  630. package/src/components/project/tagSelector/popupListItem/types.ts +0 -40
  631. package/src/components/project/tagSelector/popupOpener/popupOpener.vue +0 -145
  632. package/src/components/project/tagSelector/popupOpener/types.ts +0 -71
  633. package/src/components/project/tagSelector/stories/README.md +0 -62
  634. package/src/components/project/tagSelector/stories/overview.vue +0 -152
  635. package/src/components/project/tagSelector/tagIcon/tagIcon.vue +0 -97
  636. package/src/components/project/tagSelector/tagIcon/types.ts +0 -25
  637. package/src/components/project/tagSelector/tagSelector.stories.ts +0 -51
  638. package/src/components/project/tagSelector/tagSelector.vue +0 -359
  639. package/src/components/project/tagSelector/tagsDefaults.ts +0 -54
  640. package/src/components/project/tagSelector/types.ts +0 -159
  641. package/src/components/project/tagSelector/utils/el.ts +0 -151
  642. package/src/components/project/tagSelector/utils/utils.ts +0 -30
  643. package/src/components/tabs/tabs/content.vue +0 -24
  644. package/src/components/tabs/tabs/stories/README.md +0 -12
  645. package/src/components/tabs/tabs/tab.vue +0 -49
  646. package/src/components/tabs/tabs/tabs.stories.ts +0 -171
  647. package/src/components/tabs/tabs/tabs.ts +0 -22
  648. package/src/components/tabs/tabs/tabs.vue +0 -64
  649. package/src/components/tabs/tabs.ts +0 -9
  650. package/src/components/tabsView/tabsView/menu.vue +0 -291
  651. package/src/components/tabsView/tabsView/menuDelimeter.vue +0 -26
  652. package/src/components/tabsView/tabsView/menuItem.vue +0 -125
  653. package/src/components/tabsView/tabsView/menuTitle.vue +0 -46
  654. package/src/components/tabsView/tabsView/store.ts +0 -60
  655. package/src/components/tabsView/tabsView/stories/README.md +0 -22
  656. package/src/components/tabsView/tabsView/tabsView.stories.ts +0 -170
  657. package/src/components/tabsView/tabsView/tabsView.ts +0 -118
  658. package/src/components/tabsView/tabsView/tabsView.vue +0 -120
  659. package/src/components/tabsView/tabsView/utils.ts +0 -27
  660. package/src/components/tabsView/tabsView//320/255/320/273/320/265/320/274/320/265/320/275/321/202/321/213/MenuItem.stories.ts +0 -47
  661. package/src/components/tabsView/tabsView//320/255/320/273/320/265/320/274/320/265/320/275/321/202/321/213/MenuTitle.stories.ts +0 -43
  662. package/src/components/tabsView/tabsView.ts +0 -9
  663. package/src/components/types.ts +0 -3
  664. package/src/core/app.ts +0 -22
  665. package/src/core/core/core.mdx +0 -36
  666. package/src/core/core/core.ts +0 -287
  667. package/src/core/core/events/resize.ts +0 -47
  668. package/src/core/core/events.ts +0 -6
  669. package/src/core/core/jQuery.mdx +0 -41
  670. package/src/core/core/options.ts +0 -51
  671. package/src/core/core/preloaders.ts +0 -31
  672. package/src/core/core/state.ts +0 -61
  673. package/src/core/directives/data.mdx +0 -24
  674. package/src/core/directives/data.ts +0 -25
  675. package/src/core/directives/focus.mdx +0 -28
  676. package/src/core/directives/focus.ts +0 -73
  677. package/src/core/directives/scrollIntoView.mdx +0 -41
  678. package/src/core/directives/scrollIntoView.ts +0 -123
  679. package/src/core/directives/scrollShadow.mdx +0 -23
  680. package/src/core/directives/scrollShadow.ts +0 -27
  681. package/src/core/directives/sticky.mdx +0 -29
  682. package/src/core/directives/sticky.ts +0 -32
  683. package/src/core/directives/swimUp.mdx +0 -27
  684. package/src/core/directives/swimUp.ts +0 -95
  685. package/src/core/directives/tooltip.mdx +0 -13
  686. package/src/core/directives/tooltip.ts +0 -57
  687. package/src/core/icons/gallery.vue +0 -70
  688. package/src/core/icons/icons.mdx +0 -24
  689. package/src/core/icons/icons.stories.ts +0 -14
  690. package/src/core/plugins/core.ts +0 -131
  691. package/src/core/plugins/i18n.ts +0 -184
  692. package/src/core/plugins/piniaTPA.ts +0 -431
  693. package/src/core/plugins/plugins.mdx +0 -82
  694. package/src/core/styles/CSS Variables.stories.ts +0 -17
  695. package/src/core/styles/styles.mdx +0 -26
  696. package/src/core/theme/Variables.stories.ts +0 -16
  697. package/src/core/theme/theme.mdx +0 -117
  698. package/src/core/utils/References/Docs.mdx +0 -23
  699. package/src/core/utils/References/check/Docs.mdx +0 -15
  700. package/src/core/utils/References/check/functions/getDomainRegexp.mdx +0 -15
  701. package/src/core/utils/References/check/functions/isDomain.mdx +0 -21
  702. package/src/core/utils/References/check/functions/isEmail.mdx +0 -22
  703. package/src/core/utils/References/check/functions/isIp.mdx +0 -21
  704. package/src/core/utils/References/check/functions/validUrl.mdx +0 -22
  705. package/src/core/utils/References/clipboard/Docs.mdx +0 -11
  706. package/src/core/utils/References/clipboard/functions/setClipboard.mdx +0 -23
  707. package/src/core/utils/References/date/Docs.mdx +0 -17
  708. package/src/core/utils/References/date/functions/dateFormat.mdx +0 -28
  709. package/src/core/utils/References/date/functions/dateToString.mdx +0 -26
  710. package/src/core/utils/References/date/functions/dateUnformat.mdx +0 -22
  711. package/src/core/utils/References/date/functions/genDate.mdx +0 -26
  712. package/src/core/utils/References/date/functions/genDateMoscow.mdx +0 -22
  713. package/src/core/utils/References/date/functions/getDayOfWeek.mdx +0 -26
  714. package/src/core/utils/References/date/functions/stringToDate.mdx +0 -21
  715. package/src/core/utils/References/device/Docs.mdx +0 -21
  716. package/src/core/utils/References/device/functions/get$scroll.mdx +0 -15
  717. package/src/core/utils/References/device/functions/getCommandKeyLabel.mdx +0 -15
  718. package/src/core/utils/References/device/functions/getElsScroll.mdx +0 -15
  719. package/src/core/utils/References/device/functions/getOS.mdx +0 -17
  720. package/src/core/utils/References/device/functions/getOSAsync.mdx +0 -15
  721. package/src/core/utils/References/device/functions/getScrollTop.mdx +0 -15
  722. package/src/core/utils/References/device/functions/isApp.mdx +0 -15
  723. package/src/core/utils/References/device/functions/isMacOS.mdx +0 -15
  724. package/src/core/utils/References/device/functions/isMobile.mdx +0 -15
  725. package/src/core/utils/References/device/functions/isRetina.mdx +0 -15
  726. package/src/core/utils/References/device/functions/isSafari.mdx +0 -15
  727. package/src/core/utils/References/dom/Docs.mdx +0 -27
  728. package/src/core/utils/References/dom/functions/css.mdx +0 -24
  729. package/src/core/utils/References/dom/functions/genEl.mdx +0 -28
  730. package/src/core/utils/References/dom/functions/isVisible.mdx +0 -23
  731. package/src/core/utils/References/dom/functions/offset.mdx +0 -35
  732. package/src/core/utils/References/dom/functions/querySelectorAllArray.mdx +0 -22
  733. package/src/core/utils/References/dom/functions/querySelectorAllVisible.mdx +0 -22
  734. package/src/core/utils/References/dom/functions/querySelectorVisible.mdx +0 -22
  735. package/src/core/utils/References/dom/functions/querySelectorVisibleLast.mdx +0 -22
  736. package/src/core/utils/References/dom/functions/storage.mdx +0 -28
  737. package/src/core/utils/References/dom/functions/storageClear.mdx +0 -21
  738. package/src/core/utils/References/dom/functions/wrap.mdx +0 -22
  739. package/src/core/utils/References/dom/variables/default.mdx +0 -241
  740. package/src/core/utils/References/image/Docs.mdx +0 -12
  741. package/src/core/utils/References/image/functions/downloadImageFromString.mdx +0 -22
  742. package/src/core/utils/References/image/functions/genFaviconImgHtml.mdx +0 -22
  743. package/src/core/utils/References/keyboard/Docs.mdx +0 -11
  744. package/src/core/utils/References/keyboard/functions/invertKeyboardLayout.mdx +0 -21
  745. package/src/core/utils/References/lodash/Docs.mdx +0 -20
  746. package/src/core/utils/References/lodash/functions/cloneDeep.mdx +0 -29
  747. package/src/core/utils/References/lodash/functions/debounce.mdx +0 -76
  748. package/src/core/utils/References/lodash/functions/memoize.mdx +0 -26
  749. package/src/core/utils/References/lodash/functions/merge.mdx +0 -200
  750. package/src/core/utils/References/lodash/functions/throttle.mdx +0 -73
  751. package/src/core/utils/References/number/Docs.mdx +0 -11
  752. package/src/core/utils/References/number/functions/percentOfNumber.mdx +0 -26
  753. package/src/core/utils/References/price/Docs.mdx +0 -11
  754. package/src/core/utils/References/price/functions/genPrice.mdx +0 -28
  755. package/src/core/utils/References/route/Docs.mdx +0 -16
  756. package/src/core/utils/References/route/functions/delHash.mdx +0 -26
  757. package/src/core/utils/References/route/functions/genHash.mdx +0 -26
  758. package/src/core/utils/References/route/functions/getHash.mdx +0 -22
  759. package/src/core/utils/References/route/functions/historySetState.mdx +0 -31
  760. package/src/core/utils/References/route/functions/setHash.mdx +0 -26
  761. package/src/core/utils/References/route/functions/setHashs.mdx +0 -22
  762. package/src/core/utils/References/scroll/Docs.mdx +0 -14
  763. package/src/core/utils/References/scroll/functions/amountScrolled.mdx +0 -17
  764. package/src/core/utils/References/scroll/functions/connectScrollShadow.mdx +0 -28
  765. package/src/core/utils/References/scroll/functions/genHasScroll.mdx +0 -25
  766. package/src/core/utils/References/scroll/functions/getScrollPercent.mdx +0 -21
  767. package/src/core/utils/References/searchers/Docs.mdx +0 -19
  768. package/src/core/utils/References/searchers/functions/genVolumeLabel.mdx +0 -26
  769. package/src/core/utils/References/searchers/functions/getDeviceGIcon.mdx +0 -21
  770. package/src/core/utils/References/searchers/functions/getLangLabel.mdx +0 -22
  771. package/src/core/utils/References/searchers/functions/getSearcherGIcon.mdx +0 -21
  772. package/src/core/utils/References/searchers/functions/prepareVolumeType.mdx +0 -22
  773. package/src/core/utils/References/searchers/variables/searchersNames.mdx +0 -97
  774. package/src/core/utils/References/store/Docs.mdx +0 -18
  775. package/src/core/utils/References/store/functions/defineStore.mdx +0 -36
  776. package/src/core/utils/References/store/functions/useStore.mdx +0 -29
  777. package/src/core/utils/References/store/variables/plugin.mdx +0 -66
  778. package/src/core/utils/References/string/Docs.mdx +0 -26
  779. package/src/core/utils/References/string/functions/addCommasWhite.mdx +0 -21
  780. package/src/core/utils/References/string/functions/addLinkTags.mdx +0 -23
  781. package/src/core/utils/References/string/functions/camelToSnakeCase.mdx +0 -21
  782. package/src/core/utils/References/string/functions/ellipsis.mdx +0 -26
  783. package/src/core/utils/References/string/functions/genFlagLinkByCountryCode.mdx +0 -21
  784. package/src/core/utils/References/string/functions/genIntHash.mdx +0 -21
  785. package/src/core/utils/References/string/functions/getRandomHash.mdx +0 -21
  786. package/src/core/utils/References/string/functions/highlightHtml.mdx +0 -25
  787. package/src/core/utils/References/string/functions/htmlspecialchars.mdx +0 -21
  788. package/src/core/utils/References/string/functions/isUrl.mdx +0 -21
  789. package/src/core/utils/References/string/functions/nl2br.mdx +0 -21
  790. package/src/core/utils/References/string/functions/numberEnding.mdx +0 -28
  791. package/src/core/utils/References/string/functions/numberWithWord.mdx +0 -28
  792. package/src/core/utils/References/string/functions/rusToLatin.mdx +0 -21
  793. package/src/core/utils/References/string/functions/toCapitalize.mdx +0 -21
  794. package/src/core/utils/References/string/functions/toRoditPadej.mdx +0 -21
  795. package/src/core/utils/References/system/Docs.mdx +0 -13
  796. package/src/core/utils/References/system/functions/sleep.mdx +0 -21
  797. package/src/core/utils/References/system/functions/sleepWhile.mdx +0 -26
  798. package/src/core/utils/References/system/functions/waitWhile.mdx +0 -26
  799. package/src/core/utils/References/url/Docs.mdx +0 -17
  800. package/src/core/utils/References/url/functions/decode.mdx +0 -21
  801. package/src/core/utils/References/url/functions/encode.mdx +0 -21
  802. package/src/core/utils/References/url/functions/fromPuny.mdx +0 -23
  803. package/src/core/utils/References/url/functions/getHost.mdx +0 -21
  804. package/src/core/utils/References/url/functions/hostToLowerCase.mdx +0 -21
  805. package/src/core/utils/References/url/functions/normalize.mdx +0 -21
  806. package/src/core/utils/References/url/functions/toPuny.mdx +0 -23
  807. package/src/core/utils/check.ts +0 -88
  808. package/src/core/utils/clipboard.ts +0 -51
  809. package/src/core/utils/date.ts +0 -291
  810. package/src/core/utils/device.ts +0 -139
  811. package/src/core/utils/dom.ts +0 -182
  812. package/src/core/utils/image.ts +0 -46
  813. package/src/core/utils/keyboard.ts +0 -29
  814. package/src/core/utils/lodash.ts +0 -18
  815. package/src/core/utils/number.ts +0 -37
  816. package/src/core/utils/price.ts +0 -24
  817. package/src/core/utils/route.ts +0 -115
  818. package/src/core/utils/scroll.ts +0 -120
  819. package/src/core/utils/searchers.ts +0 -189
  820. package/src/core/utils/store/localStorage.ts +0 -56
  821. package/src/core/utils/store/plugin.ts +0 -50
  822. package/src/core/utils/store/store.ts +0 -77
  823. package/src/core/utils/store.ts +0 -7
  824. package/src/core/utils/string.ts +0 -315
  825. package/src/core/utils/system.ts +0 -72
  826. package/src/core/utils/url.ts +0 -138
  827. package/src/core/utils/utils.mdx +0 -6
  828. package/src/d.ts +0 -12
  829. package/src/icomoon.d.ts +0 -98
  830. package/src/resources/styles/core/components.css +0 -102
  831. package/src/resources/styles/core/core.ts +0 -11
  832. package/src/resources/styles/core/forms/clear.css +0 -20
  833. package/src/resources/styles/core/forms/controls.css +0 -20
  834. package/src/resources/styles/core/forms/focusable.css +0 -26
  835. package/src/resources/styles/core/forms/forms.css +0 -117
  836. package/src/resources/styles/core/icon.css +0 -58
  837. package/src/resources/styles/core/jquery.css +0 -1
  838. package/src/resources/styles/core/layout.css +0 -59
  839. package/src/resources/styles/core/modifiers/as.css +0 -9
  840. package/src/resources/styles/core/modifiers/ellipsis.css +0 -26
  841. package/src/resources/styles/core/modifiers/modifiers.css +0 -120
  842. package/src/resources/styles/core/modifiers/only.css +0 -19
  843. package/src/resources/styles/core/modifiers/scrollShadow.css +0 -50
  844. package/src/resources/styles/core/select.css +0 -15
  845. package/src/resources/styles/storybook.css +0 -11
  846. package/src/resources/styles/themes/dark/dark-layout.css +0 -47
  847. package/src/resources/styles/themes/dark/dark-positions.css +0 -66
  848. package/src/resources/styles/themes/dark/dark.css +0 -400
  849. package/src/resources/styles/themes/dark-positions.ts +0 -1
  850. package/src/resources/styles/themes/dark-th/dark-th-layout.css +0 -47
  851. package/src/resources/styles/themes/dark-th/dark-th-positions.css +0 -67
  852. package/src/resources/styles/themes/dark-th/dark-th.css +0 -400
  853. package/src/resources/styles/themes/dark-th-positions.ts +0 -1
  854. package/src/resources/styles/themes/dark-th.ts +0 -3
  855. package/src/resources/styles/themes/dark.ts +0 -3
  856. package/src/resources/styles/themes/light/light-layout.css +0 -47
  857. package/src/resources/styles/themes/light/light-positions.css +0 -66
  858. package/src/resources/styles/themes/light/light.css +0 -400
  859. package/src/resources/styles/themes/light-positions.ts +0 -1
  860. package/src/resources/styles/themes/light.ts +0 -3
  861. package/src/storybook/components/color.vue +0 -47
  862. package/src/storybook/components/cssVariables.vue +0 -195
  863. package/src/storybook/components/icomoon.ts +0 -40
  864. package/src/storybook/jquery.ts +0 -4
  865. 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" +0 -181
  866. 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" +0 -12
  867. 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" +0 -4
  868. 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" +0 -43
  869. 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" +0 -155
  870. 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" +0 -35
  871. 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" +0 -15
  872. 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" +0 -56
  873. 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" +0 -53
  874. 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" +0 -55
  875. 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" +0 -4
  876. 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" +0 -4
  877. 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" +0 -4
  878. 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" +0 -3
  879. 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" +0 -4
  880. 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" +0 -15
  881. 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" +0 -45
  882. 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" +0 -31
  883. 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" +0 -29
  884. 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" +0 -41
  885. 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" +0 -58
  886. 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" +0 -11
  887. 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" +0 -5
  888. package/tsconfig.json +0 -91
  889. package/typedoc.json +0 -20
  890. package/vite.config.ts +0 -148
  891. /package/{public/icomoon → icomoon}/Read Me.txt +0 -0
  892. /package/{public/icomoon → icomoon}/Topvisor icons.json +0 -0
  893. /package/{public/icomoon → icomoon}/demo-files/demo.css +0 -0
  894. /package/{public/icomoon → icomoon}/demo-files/demo.js +0 -0
  895. /package/{public/icomoon → icomoon}/demo.html +0 -0
  896. /package/{public/icomoon → icomoon}/fonts/Topvisor-2.eot +0 -0
  897. /package/{public/icomoon → icomoon}/fonts/Topvisor-2.svg +0 -0
  898. /package/{public/icomoon → icomoon}/fonts/Topvisor-2.ttf +0 -0
  899. /package/{public/icomoon → icomoon}/fonts/Topvisor-2.woff +0 -0
  900. /package/{public/icomoon → icomoon}/selection.json +0 -0
  901. /package/{public/icomoon → icomoon}/style.css +0 -0
  902. /package/{public/jquery-ui.min.css → jquery-ui.min.css} +0 -0
  903. /package/{public/require → require}/css.amd.js +0 -0
@@ -0,0 +1,181 @@
1
+ import { Core as I } from "../core/app.js";
2
+ import { defineComponent as C, onUpdated as H, createElementBlock as n, openBlock as s, Fragment as S, createElementVNode as N, renderSlot as a, ref as P, toRef as k, watch as w, onUnmounted as R, resolveDirective as T, createBlock as h, createCommentVNode as l, unref as M, withCtx as b, Teleport as E, withDirectives as $, toDisplayString as O, createVNode as U, normalizeClass as W, resolveDynamicComponent as z, mergeProps as A } from "vue";
3
+ import { b as F } from "./forms-BciWy0wX.es.js";
4
+ import { TopPopupWorker as _ } from "../popup/worker.js";
5
+ const D = ["../assets/listItem.css"].map((i) => import.meta.resolve(i));
6
+ I.insertCSSLinkToPage(D, !0);
7
+ const j = /* @__PURE__ */ C({
8
+ __name: "opener",
9
+ props: {
10
+ id: {},
11
+ pos: { default: "3" },
12
+ notch: { type: Boolean, default: !0 },
13
+ openByHover: { type: Boolean },
14
+ posBy: { default: "fixed" }
15
+ },
16
+ setup(i) {
17
+ const t = i, r = t.id || Math.random() + "";
18
+ let p;
19
+ function y(o) {
20
+ setTimeout(() => {
21
+ p = o.nextElementSibling, p && d(p);
22
+ });
23
+ }
24
+ H(() => {
25
+ p && d(p);
26
+ });
27
+ function d(o) {
28
+ o.dataset.topPopup = "#" + r, o.dataset.topPopupId = r, o.dataset.topPopupPos = t.pos, o.dataset.topPopupPosBy = t.posBy, o.dataset.topPopupNotch = t.notch ? "true" : "", o.dataset.topPopupOpenByHover = t.openByHover ? "true" : "";
29
+ }
30
+ return (o, c) => (s(), n(S, null, [
31
+ N("template", { ref: y }),
32
+ a(o.$slots, "default")
33
+ ], 64));
34
+ }
35
+ }), q = {
36
+ key: 0,
37
+ class: "top-popup_header"
38
+ }, G = {
39
+ key: 0,
40
+ class: "top-as-a closer"
41
+ }, J = {
42
+ key: 1,
43
+ class: "top-popup_widget"
44
+ }, K = {
45
+ key: 2,
46
+ class: "top-popup_content"
47
+ }, Q = {
48
+ key: 4,
49
+ class: "top-popup_footer"
50
+ }, X = ["href"], te = /* @__PURE__ */ C({
51
+ __name: "popup",
52
+ props: {
53
+ id: { default: "" },
54
+ class: {},
55
+ transitionDuration: {},
56
+ footerSupportLink: {},
57
+ pos: { default: "3" },
58
+ notch: { type: Boolean, default: !0 },
59
+ openByHover: { type: Boolean },
60
+ posBy: { default: "fixed" }
61
+ },
62
+ emits: ["open", "close", "scrollContentList"],
63
+ setup(i, { expose: t, emit: r }) {
64
+ const p = i, y = r, d = {
65
+ popup: void 0
66
+ };
67
+ t(d);
68
+ const o = p.id || "top-popup-id-" + Math.random(), c = P(null), v = P(null), f = {
69
+ onOpen: async (e) => {
70
+ e.elPopup && (c.value = e.elPopup), e.elPopupInner && (e.elPopupInner.innerText = "", v.value = e.elPopupInner), f.opened = !0, f.popup = e, d.popup = e, y("open", { elPopup: e.elPopup, elPopupOpener: e.el });
71
+ },
72
+ onClose: (e) => {
73
+ v.value = null, f.opened = !1, f.popup = void 0, y("close", { elPopup: e.elPopup, elPopupOpener: e.el });
74
+ },
75
+ classRef: k(p, "class"),
76
+ opened: !1,
77
+ popup: void 0,
78
+ transitionDurationRef: k(p, "transitionDuration")
79
+ };
80
+ return w(() => p.class, (e, u) => {
81
+ if (!c.value) return;
82
+ const m = (e == null ? void 0 : e.split(" ")) ?? [], L = ((u == null ? void 0 : u.split(" ")) ?? []).filter((g) => !m.includes(g));
83
+ c.value.classList.remove(...L), c.value.classList.add(...m);
84
+ }), _.regVueComponent(o, f), R(() => {
85
+ _.unregVueComponent(o);
86
+ }), (e, u) => {
87
+ const m = T("top-scroll-shadow");
88
+ return s(), n(S, null, [
89
+ e.$slots.opener ? (s(), h(j, {
90
+ key: 0,
91
+ id: M(o),
92
+ pos: e.pos,
93
+ posBy: e.posBy,
94
+ notch: e.notch,
95
+ openByHover: e.openByHover
96
+ }, {
97
+ default: b(() => [
98
+ a(e.$slots, "opener")
99
+ ]),
100
+ _: 3
101
+ }, 8, ["id", "pos", "posBy", "notch", "openByHover"])) : l("", !0),
102
+ v.value ? (s(), h(E, {
103
+ key: 1,
104
+ to: v.value
105
+ }, [
106
+ e.$slots.header || e.$core.state.isMobile ? (s(), n("div", q, [
107
+ e.$core.state.isMobile ? (s(), n("span", G, O(e.$i18n.Common.Close), 1)) : l("", !0),
108
+ a(e.$slots, "header")
109
+ ])) : l("", !0),
110
+ e.$slots.widget ? (s(), n("div", J, [
111
+ a(e.$slots, "widget")
112
+ ])) : l("", !0),
113
+ e.$slots.content ? $((s(), n("div", K, [
114
+ a(e.$slots, "content")
115
+ ])), [
116
+ [m]
117
+ ]) : l("", !0),
118
+ e.$slots.contentList ? $((s(), n("ul", {
119
+ key: 3,
120
+ class: "top-popup_content",
121
+ onScroll: u[0] || (u[0] = (B) => e.$emit("scrollContentList", B))
122
+ }, [
123
+ a(e.$slots, "contentList")
124
+ ], 32)), [
125
+ [m]
126
+ ]) : l("", !0),
127
+ e.$slots.footer || e.footerSupportLink ? (s(), n("div", Q, [
128
+ e.footerSupportLink ? (s(), n("a", {
129
+ key: 0,
130
+ class: "top-popup_footerSupportLink",
131
+ href: e.footerSupportLink,
132
+ target: "_blank"
133
+ }, [
134
+ U(F, { hint: "" })
135
+ ], 8, X)) : l("", !0),
136
+ a(e.$slots, "footer")
137
+ ])) : l("", !0)
138
+ ], 8, ["to"])) : l("", !0)
139
+ ], 64);
140
+ };
141
+ }
142
+ }), se = /* @__PURE__ */ C({
143
+ inheritAttrs: !1,
144
+ __name: "listItem",
145
+ props: {
146
+ type: { default: "button" },
147
+ closeByClick: { type: Boolean, default: !0 }
148
+ },
149
+ setup(i) {
150
+ const t = i;
151
+ return (r, p) => (s(), n("li", {
152
+ class: W({
153
+ "top-popup_liNoSelectable": t.type !== "button"
154
+ })
155
+ }, [
156
+ (s(), h(z(r.$attrs.href ? "a" : "div"), A({
157
+ class: {
158
+ "top-popup_listItem": !0,
159
+ "top-popup_listItem-button": t.type === "button",
160
+ // оформления кнопки
161
+ a: t.type === "button",
162
+ // оформления кнопки, deprecated
163
+ "top-popup_listItem-title": t.type === "title",
164
+ "top-popup_listItem-delimiter": t.type === "delimiter",
165
+ "top-popup-noCloser": !r.closeByClick
166
+ }
167
+ }, r.$attrs), {
168
+ default: b(() => [
169
+ a(r.$slots, "default")
170
+ ]),
171
+ _: 3
172
+ }, 16, ["class"]))
173
+ ], 2));
174
+ }
175
+ });
176
+ export {
177
+ te as _,
178
+ se as a,
179
+ j as b
180
+ };
181
+ //# sourceMappingURL=listItem.vue_vue_type_script_setup_true_lang-CZqS-tRD.es.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"listItem.vue_vue_type_script_setup_true_lang-CZqS-tRD.es.js","sources":["../../src/components/popup/popup/opener.vue","../../src/components/popup/popup/popup.vue","../../src/components/popup/popup/listItem.vue"],"sourcesContent":["<script setup lang=\"ts\">\r\nimport { onUpdated } from 'vue';\r\nimport type { OpenerProps } from './popup';\r\n\r\nconst props = withDefaults(defineProps<OpenerProps>(), {\r\n\tpos: '3',\r\n\tnotch: true,\r\n\tposBy: 'fixed',\r\n});\r\n\r\nconst id = props.id || Math.random() + '';\r\n\r\nlet elOpener: Element;\r\n\r\n/**\r\n * Необычная функция для проброски props внтурь элемента слота\r\n *\r\n * @param el - вспомогательрный элемент для доступа к элементам слота\r\n */\r\nfunction render(el: any) {\r\n\tsetTimeout(() => {\r\n\t\telOpener = el.nextElementSibling;\r\n\r\n\t\tif (elOpener) {\r\n\t\t\trenderOpener(elOpener);\r\n\t\t}\r\n\t});\r\n}\r\n\r\nonUpdated(() => {\r\n\tif (elOpener) {\r\n\t\trenderOpener(elOpener);\r\n\t}\r\n});\r\n\r\nfunction renderOpener(elOpener: any) {\r\n\t/**\r\n\t * topPopup - необходимый атрибут для всез Popup\r\n\t *\r\n\t * Для Vue вместо него используется атрибут topPopupId\r\n\t */\r\n\telOpener.dataset.topPopup = '#' + id;\r\n\r\n\telOpener.dataset.topPopupId = id;\r\n\telOpener.dataset.topPopupPos = props.pos;\r\n\telOpener.dataset.topPopupPosBy = props.posBy;\r\n\telOpener.dataset.topPopupNotch = props.notch ? 'true' : '';\r\n\telOpener.dataset.topPopupOpenByHover = props.openByHover ? 'true' : '';\r\n}\r\n</script>\r\n\r\n<template>\r\n\t<template :ref=\"render\"></template>\r\n\r\n\t<!-- @slot элемент для открытия Popup -->\r\n\t<slot></slot>\r\n</template>\r\n\r\n<!-- Использует общий deprecated класс .btn -->\r\n<style>\r\nh3[data-top-popup],\r\ndiv[data-top-popup],\r\ni[data-top-popup]:not(.btn),\r\nb[data-top-popup]:not(.btn) {\r\n\tcursor: pointer;\r\n\tuser-select: none;\r\n\tfont-style: normal;\r\n\ttext-decoration: none;\r\n\tdisplay: inline-flex;\r\n\talign-items: center;\r\n}\r\n\r\n[data-top-popup][data-top-popup-disabled] {\r\n\tpointer-events: none;\r\n\tcursor: auto !important;\r\n}\r\n\r\ni[contenteditable] {\r\n\tcursor: text !important;\r\n}\r\n</style>\r\n","<script setup lang=\"ts\">\r\nimport { onUnmounted, ref, toRef, watch } from 'vue';\r\nimport TopHint from '@/components/forms/hint/hint.vue';\r\nimport type PopupClass from '@/components/popup/lib/popup';\r\nimport type { Emits, Props } from './popup';\r\nimport Opener from './opener.vue';\r\nimport Worker from '@/components/popup/lib/worker';\r\n\r\nconst props = withDefaults(defineProps<Props>(), {\r\n\tid: '',\r\n\tpos: '3',\r\n\tnotch: true,\r\n\tposBy: 'fixed',\r\n});\r\n\r\nconst emit = defineEmits<Emits>();\r\n\r\nconst expose = {\r\n\tpopup: undefined as PopupClass | undefined,\r\n};\r\ndefineExpose(expose);\r\n\r\nconst id = props.id || 'top-popup-id-' + Math.random() + '';\r\n\r\nconst elPopupRef = ref<HTMLElement | null>(null);\r\nconst elPopupInnerRef = ref<HTMLElement | null>(null);\r\n\r\n// см. lib/popup\r\nconst onOpen = async (popup: PopupClass) => {\r\n\tif (popup.elPopup) elPopupRef.value = popup.elPopup;\r\n\r\n\tif (popup.elPopupInner) {\r\n\t\tpopup.elPopupInner.innerText = '';\r\n\r\n\t\telPopupInnerRef.value = popup.elPopupInner;\r\n\t}\r\n\r\n\tvueConnector.opened = true;\r\n\tvueConnector.popup = popup;\r\n\r\n\texpose.popup = popup;\r\n\r\n\temit('open', { elPopup: popup.elPopup!, elPopupOpener: popup.el });\r\n};\r\n\r\n// см. lib/popup\r\nconst onClose = (popup: PopupClass) => {\r\n\telPopupInnerRef.value = null;\r\n\r\n\tvueConnector.opened = false;\r\n\tvueConnector.popup = undefined;\r\n\r\n\temit('close', { elPopup: popup.elPopup!, elPopupOpener: popup.el });\r\n};\r\n\r\nconst vueConnector = {\r\n\tonOpen,\r\n\tonClose,\r\n\tclassRef: toRef(props, 'class'),\r\n\topened: false,\r\n\tpopup: undefined as PopupClass | undefined,\r\n\ttransitionDurationRef: toRef(props, 'transitionDuration'),\r\n};\r\n\r\nwatch(() => props.class, (newValue, oldValue) => {\r\n\tif (!elPopupRef.value) return;\r\n\r\n\tconst newClasses = newValue?.split(' ') ?? [];\r\n\tconst oldClasses = oldValue?.split(' ') ?? [];\r\n\r\n\tconst delClasses = oldClasses.filter((oldClass) => !newClasses.includes(oldClass));\r\n\r\n\telPopupRef.value.classList.remove(...delClasses);\r\n\telPopupRef.value.classList.add(...newClasses);\r\n});\r\n\r\nWorker.regVueComponent(id, vueConnector);\r\n\r\nonUnmounted(() => {\r\n\tWorker.unregVueComponent(id);\r\n});\r\n</script>\r\n\r\n<template>\r\n\t<Opener\r\n\t\tv-if=\"$slots.opener\"\r\n\t\t:id=\"id\"\r\n\t\t:pos=\"pos\"\r\n\t\t:posBy=\"posBy\"\r\n\t\t:notch=\"notch\"\r\n\t\t:openByHover=\"openByHover\"\r\n\t>\r\n\t\t<!-- @slot элемент для открытия Popup -->\r\n\t\t<slot name=\"opener\"></slot>\r\n\t</Opener>\r\n\r\n\t<!-- Это шаблон для компонента Popup, сам Popup генерируется в js и может находиться где угодно -->\r\n\t<!-- elPopupInnerRef будет установлен только после открытия и будет сброшен сразу после закрытия Popup -->\r\n\t<teleport\r\n\t\tv-if=\"elPopupInnerRef\"\r\n\t\t:to=\"elPopupInnerRef\"\r\n\t>\r\n\t\t<div\r\n\t\t\tv-if=\"$slots.header || $core.state.isMobile\"\r\n\t\t\tclass=\"top-popup_header\"\r\n\t\t>\r\n\t\t\t<span\r\n\t\t\t\tv-if=\"$core.state.isMobile\"\r\n\t\t\t\tclass=\"top-as-a closer\"\r\n\t\t\t>\r\n\t\t\t\t{{ $i18n.Common.Close }}\r\n\t\t\t</span>\r\n\r\n\t\t\t<!-- @slot Шапка -->\r\n\t\t\t<slot name=\"header\"></slot>\r\n\t\t</div>\r\n\r\n\t\t<div\r\n\t\t\tv-if=\"$slots.widget\"\r\n\t\t\tclass=\"top-popup_widget\"\r\n\t\t>\r\n\t\t\t<!-- @slot Виджет -->\r\n\t\t\t<slot name=\"widget\"></slot>\r\n\t\t</div>\r\n\r\n\t\t<div\r\n\t\t\tv-if=\"$slots.content\"\r\n\t\t\tclass=\"top-popup_content\"\r\n\t\t\tv-top-scroll-shadow\r\n\t\t>\r\n\t\t\t<!-- @slot Контент в свободной форме -->\r\n\t\t\t<slot name=\"content\"></slot>\r\n\t\t</div>\r\n\r\n\t\t<ul\r\n\t\t\tv-if=\"$slots.contentList\"\r\n\t\t\tclass=\"top-popup_content\"\r\n\t\t\t@scroll=\"$emit('scrollContentList', $event)\"\r\n\t\t\tv-top-scroll-shadow\r\n\t\t>\r\n\t\t\t<!-- @slot Контент в виде списка, для вставки элементов списка используйте компонент popup/listItem -->\r\n\t\t\t<slot name=\"contentList\"></slot>\r\n\t\t</ul>\r\n\r\n\t\t<div\r\n\t\t\tv-if=\"$slots.footer || footerSupportLink\"\r\n\t\t\tclass=\"top-popup_footer\"\r\n\t\t>\r\n\t\t\t<a\r\n\t\t\t\tv-if=\"footerSupportLink\"\r\n\t\t\t\tclass=\"top-popup_footerSupportLink\"\r\n\t\t\t\t:href=\"footerSupportLink\"\r\n\t\t\t\ttarget=\"_blank\"\r\n\t\t\t>\r\n\t\t\t\t<TopHint hint=\"\"/>\r\n\t\t\t</a>\r\n\r\n\t\t\t<!-- @slot Футер -->\r\n\t\t\t<slot name=\"footer\"></slot>\r\n\t\t</div>\r\n\t</teleport>\r\n</template>\r\n\r\n<style>\r\n.top-popup_footerSupportLink {\r\n\tmargin-right: auto;\r\n}\r\n</style>\r\n","<script setup lang=\"ts\">\r\nimport type { ListItemProps } from './popup';\r\n\r\ndefineOptions({\r\n\tinheritAttrs: false,\r\n});\r\n\r\nconst props = withDefaults(defineProps<ListItemProps>(), {\r\n\ttype: 'button',\r\n\tcloseByClick: true,\r\n});\r\n</script>\r\n\r\n<template>\r\n\t<li\r\n\t\t:class=\"{\r\n\t\t'top-popup_liNoSelectable': props.type !== 'button'\r\n\t}\"\r\n\t>\r\n\t\t<component\r\n\t\t\t:is=\"$attrs.href ? 'a' : 'div'\"\r\n\t\t\t:class=\"{\r\n\t\t\t\t'top-popup_listItem': true,\r\n\t\t\t\t'top-popup_listItem-button': props.type === 'button', // оформления кнопки\r\n\t\t\t\t'a': props.type === 'button', // оформления кнопки, deprecated\r\n\t\t\t\t'top-popup_listItem-title': props.type === 'title',\r\n\t\t\t\t'top-popup_listItem-delimiter': props.type === 'delimiter',\r\n\t\t\t\t'top-popup-noCloser': !closeByClick\r\n\t\t\t}\"\r\n\t\t\t:=$attrs\r\n\t\t>\r\n\t\t\t<slot></slot>\r\n\t\t</component>\r\n\t</li>\r\n</template>\r\n"],"names":["props","__props","id","elOpener","render","el","renderOpener","onUpdated","elOpener2","emit","__emit","expose","__expose","elPopupRef","ref","elPopupInnerRef","vueConnector","popup","toRef","watch","newValue","oldValue","newClasses","delClasses","oldClass","Worker","onUnmounted"],"mappings":";;;;;;;;;;;;;;;;AAIA,UAAAA,IAAAC,GAMAC,IAAAF,EAAA,MAAA,KAAA,OAAA,IAAA;AAEA,QAAAG;AAOA,aAAAC,EAAAC,GAAA;AACC,iBAAA,MAAA;AACC,QAAAF,IAAAE,EAAA,oBAEAF,KACCG,EAAAH,CAAA;AAAA,MACD,CAAA;AAAA,IACA;AAGF,IAAAI,EAAA,MAAA;AACC,MAAAJ,KACCG,EAAAH,CAAA;AAAA,IACD,CAAA;AAGD,aAAAG,EAAAE,GAAA;AAMC,MAAAA,EAAA,QAAA,WAAA,MAAAN,GAEAM,EAAA,QAAA,aAAAN,GACAM,EAAA,QAAA,cAAAR,EAAA,KACAQ,EAAA,QAAA,gBAAAR,EAAA,OACAQ,EAAA,QAAA,gBAAAR,EAAA,QAAA,SAAA,IACAQ,EAAA,QAAA,sBAAAR,EAAA,cAAA,SAAA;AAAA,IAAoE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACvCrE,UAAAA,IAAAC,GAOAQ,IAAAC,GAEAC,IAAA;AAAA,MAAe,OAAA;AAAA,IACP;AAER,IAAAC,EAAAD,CAAA;AAEA,UAAAT,IAAAF,EAAA,MAAA,kBAAA,KAAA,OAAA,GAEAa,IAAAC,EAAA,IAAA,GACAC,IAAAD,EAAA,IAAA,GA8BAE,IAAA;AAAA,MAAqB,QA3BrB,OAAAC,MAAA;AACC,QAAAA,EAAA,YAAAJ,EAAA,QAAAI,EAAA,UAEAA,EAAA,iBACCA,EAAA,aAAA,YAAA,IAEAF,EAAA,QAAAE,EAAA,eAGDD,EAAA,SAAA,IACAA,EAAA,QAAAC,GAEAN,EAAA,QAAAM,GAEAR,EAAA,QAAA,EAAA,SAAAQ,EAAA,SAAA,eAAAA,EAAA,GAAA,CAAA;AAAA,MAAiE;AAAA,MAcjE,SAVD,CAAAA,MAAA;AACC,QAAAF,EAAA,QAAA,MAEAC,EAAA,SAAA,IACAA,EAAA,QAAA,QAEAP,EAAA,SAAA,EAAA,SAAAQ,EAAA,SAAA,eAAAA,EAAA,GAAA,CAAA;AAAA,MAAkE;AAAA,MAKlE,UAAAC,EAAAlB,GAAA,OAAA;AAAA,MAC8B,QAAA;AAAA,MACtB,OAAA;AAAA,MACD,uBAAAkB,EAAAlB,GAAA,oBAAA;AAAA,IACiD;AAGzD,WAAAmB,EAAA,MAAAnB,EAAA,OAAA,CAAAoB,GAAAC,MAAA;AACC,UAAA,CAAAR,EAAA,MAAA;AAEA,YAAAS,KAAAF,KAAA,gBAAAA,EAAA,MAAA,SAAA,CAAA,GAGAG,MAFAF,KAAA,gBAAAA,EAAA,MAAA,SAAA,CAAA,GAEA,OAAA,CAAAG,MAAA,CAAAF,EAAA,SAAAE,CAAA,CAAA;AAEA,MAAAX,EAAA,MAAA,UAAA,OAAA,GAAAU,CAAA,GACAV,EAAA,MAAA,UAAA,IAAA,GAAAS,CAAA;AAAA,IAA4C,CAAA,GAG7CG,EAAA,gBAAAvB,GAAAc,CAAA,GAEAU,EAAA,MAAA;AACC,MAAAD,EAAA,kBAAAvB,CAAA;AAAA,IAA2B,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACxE5B,UAAAF,IAAAC;;;;;;;;;;;;;;;;;;;;;;;;;;"}
@@ -0,0 +1,2 @@
1
+ define(["require","exports","vue","./forms-Dh0QU6P9.amd","../popup/worker.amd","../require/css.amd!../assets/listItem.css"],function(L,f,e,v,B){"use strict";if(typeof e>"u")var e=window.Vue;const k=e.defineComponent({__name:"opener",props:{id:{},pos:{default:"3"},notch:{type:Boolean,default:!0},openByHover:{type:Boolean},posBy:{default:"fixed"}},setup(r){const n=r,p=n.id||Math.random()+"";let s;function d(t){setTimeout(()=>{s=t.nextElementSibling,s&&a(s)})}e.onUpdated(()=>{s&&a(s)});function a(t){t.dataset.topPopup="#"+p,t.dataset.topPopupId=p,t.dataset.topPopupPos=n.pos,t.dataset.topPopupPosBy=n.posBy,t.dataset.topPopupNotch=n.notch?"true":"",t.dataset.topPopupOpenByHover=n.openByHover?"true":""}return(t,i)=>(e.openBlock(),e.createElementBlock(e.Fragment,null,[e.createElementVNode("template",{ref:d}),e.renderSlot(t.$slots,"default")],64))}}),C={key:0,class:"top-popup_header"},h={key:0,class:"top-as-a closer"},_={key:1,class:"top-popup_widget"},$={key:2,class:"top-popup_content"},P={key:4,class:"top-popup_footer"},S=["href"],N=e.defineComponent({__name:"popup",props:{id:{default:""},class:{},transitionDuration:{},footerSupportLink:{},pos:{default:"3"},notch:{type:Boolean,default:!0},openByHover:{type:Boolean},posBy:{default:"fixed"}},emits:["open","close","scrollContentList"],setup(r,{expose:n,emit:p}){const s=r,d=p,a={popup:void 0};n(a);const t=s.id||"top-popup-id-"+Math.random(),i=e.ref(null),m=e.ref(null),c={onOpen:async o=>{o.elPopup&&(i.value=o.elPopup),o.elPopupInner&&(o.elPopupInner.innerText="",m.value=o.elPopupInner),c.opened=!0,c.popup=o,a.popup=o,d("open",{elPopup:o.elPopup,elPopupOpener:o.el})},onClose:o=>{m.value=null,c.opened=!1,c.popup=void 0,d("close",{elPopup:o.elPopup,elPopupOpener:o.el})},classRef:e.toRef(s,"class"),opened:!1,popup:void 0,transitionDurationRef:e.toRef(s,"transitionDuration")};return e.watch(()=>s.class,(o,l)=>{if(!i.value)return;const u=(o==null?void 0:o.split(" "))??[],g=((l==null?void 0:l.split(" "))??[]).filter(I=>!u.includes(I));i.value.classList.remove(...g),i.value.classList.add(...u)}),B.TopPopupWorker.regVueComponent(t,c),e.onUnmounted(()=>{B.TopPopupWorker.unregVueComponent(t)}),(o,l)=>{const u=e.resolveDirective("top-scroll-shadow");return e.openBlock(),e.createElementBlock(e.Fragment,null,[o.$slots.opener?(e.openBlock(),e.createBlock(k,{key:0,id:e.unref(t),pos:o.pos,posBy:o.posBy,notch:o.notch,openByHover:o.openByHover},{default:e.withCtx(()=>[e.renderSlot(o.$slots,"opener")]),_:3},8,["id","pos","posBy","notch","openByHover"])):e.createCommentVNode("",!0),m.value?(e.openBlock(),e.createBlock(e.Teleport,{key:1,to:m.value},[o.$slots.header||o.$core.state.isMobile?(e.openBlock(),e.createElementBlock("div",C,[o.$core.state.isMobile?(e.openBlock(),e.createElementBlock("span",h,e.toDisplayString(o.$i18n.Common.Close),1)):e.createCommentVNode("",!0),e.renderSlot(o.$slots,"header")])):e.createCommentVNode("",!0),o.$slots.widget?(e.openBlock(),e.createElementBlock("div",_,[e.renderSlot(o.$slots,"widget")])):e.createCommentVNode("",!0),o.$slots.content?e.withDirectives((e.openBlock(),e.createElementBlock("div",$,[e.renderSlot(o.$slots,"content")])),[[u]]):e.createCommentVNode("",!0),o.$slots.contentList?e.withDirectives((e.openBlock(),e.createElementBlock("ul",{key:3,class:"top-popup_content",onScroll:l[0]||(l[0]=y=>o.$emit("scrollContentList",y))},[e.renderSlot(o.$slots,"contentList")],32)),[[u]]):e.createCommentVNode("",!0),o.$slots.footer||o.footerSupportLink?(e.openBlock(),e.createElementBlock("div",P,[o.footerSupportLink?(e.openBlock(),e.createElementBlock("a",{key:0,class:"top-popup_footerSupportLink",href:o.footerSupportLink,target:"_blank"},[e.createVNode(v._sfc_main$1,{hint:""})],8,S)):e.createCommentVNode("",!0),e.renderSlot(o.$slots,"footer")])):e.createCommentVNode("",!0)],8,["to"])):e.createCommentVNode("",!0)],64)}}}),E=e.defineComponent({inheritAttrs:!1,__name:"listItem",props:{type:{default:"button"},closeByClick:{type:Boolean,default:!0}},setup(r){const n=r;return(p,s)=>(e.openBlock(),e.createElementBlock("li",{class:e.normalizeClass({"top-popup_liNoSelectable":n.type!=="button"})},[(e.openBlock(),e.createBlock(e.resolveDynamicComponent(p.$attrs.href?"a":"div"),e.mergeProps({class:{"top-popup_listItem":!0,"top-popup_listItem-button":n.type==="button",a:n.type==="button","top-popup_listItem-title":n.type==="title","top-popup_listItem-delimiter":n.type==="delimiter","top-popup-noCloser":!p.closeByClick}},p.$attrs),{default:e.withCtx(()=>[e.renderSlot(p.$slots,"default")]),_:3},16,["class"]))],2))}});f._sfc_main=N,f._sfc_main$1=E,f._sfc_main$2=k});
2
+ //# sourceMappingURL=listItem.vue_vue_type_script_setup_true_lang-Del8bjSk.amd.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"listItem.vue_vue_type_script_setup_true_lang-Del8bjSk.amd.js","sources":["../../src/components/popup/popup/opener.vue","../../src/components/popup/popup/popup.vue"],"sourcesContent":["<script setup lang=\"ts\">\r\nimport { onUpdated } from 'vue';\r\nimport type { OpenerProps } from './popup';\r\n\r\nconst props = withDefaults(defineProps<OpenerProps>(), {\r\n\tpos: '3',\r\n\tnotch: true,\r\n\tposBy: 'fixed',\r\n});\r\n\r\nconst id = props.id || Math.random() + '';\r\n\r\nlet elOpener: Element;\r\n\r\n/**\r\n * Необычная функция для проброски props внтурь элемента слота\r\n *\r\n * @param el - вспомогательрный элемент для доступа к элементам слота\r\n */\r\nfunction render(el: any) {\r\n\tsetTimeout(() => {\r\n\t\telOpener = el.nextElementSibling;\r\n\r\n\t\tif (elOpener) {\r\n\t\t\trenderOpener(elOpener);\r\n\t\t}\r\n\t});\r\n}\r\n\r\nonUpdated(() => {\r\n\tif (elOpener) {\r\n\t\trenderOpener(elOpener);\r\n\t}\r\n});\r\n\r\nfunction renderOpener(elOpener: any) {\r\n\t/**\r\n\t * topPopup - необходимый атрибут для всез Popup\r\n\t *\r\n\t * Для Vue вместо него используется атрибут topPopupId\r\n\t */\r\n\telOpener.dataset.topPopup = '#' + id;\r\n\r\n\telOpener.dataset.topPopupId = id;\r\n\telOpener.dataset.topPopupPos = props.pos;\r\n\telOpener.dataset.topPopupPosBy = props.posBy;\r\n\telOpener.dataset.topPopupNotch = props.notch ? 'true' : '';\r\n\telOpener.dataset.topPopupOpenByHover = props.openByHover ? 'true' : '';\r\n}\r\n</script>\r\n\r\n<template>\r\n\t<template :ref=\"render\"></template>\r\n\r\n\t<!-- @slot элемент для открытия Popup -->\r\n\t<slot></slot>\r\n</template>\r\n\r\n<!-- Использует общий deprecated класс .btn -->\r\n<style>\r\nh3[data-top-popup],\r\ndiv[data-top-popup],\r\ni[data-top-popup]:not(.btn),\r\nb[data-top-popup]:not(.btn) {\r\n\tcursor: pointer;\r\n\tuser-select: none;\r\n\tfont-style: normal;\r\n\ttext-decoration: none;\r\n\tdisplay: inline-flex;\r\n\talign-items: center;\r\n}\r\n\r\n[data-top-popup][data-top-popup-disabled] {\r\n\tpointer-events: none;\r\n\tcursor: auto !important;\r\n}\r\n\r\ni[contenteditable] {\r\n\tcursor: text !important;\r\n}\r\n</style>\r\n","<script setup lang=\"ts\">\r\nimport { onUnmounted, ref, toRef, watch } from 'vue';\r\nimport TopHint from '@/components/forms/hint/hint.vue';\r\nimport type PopupClass from '@/components/popup/lib/popup';\r\nimport type { Emits, Props } from './popup';\r\nimport Opener from './opener.vue';\r\nimport Worker from '@/components/popup/lib/worker';\r\n\r\nconst props = withDefaults(defineProps<Props>(), {\r\n\tid: '',\r\n\tpos: '3',\r\n\tnotch: true,\r\n\tposBy: 'fixed',\r\n});\r\n\r\nconst emit = defineEmits<Emits>();\r\n\r\nconst expose = {\r\n\tpopup: undefined as PopupClass | undefined,\r\n};\r\ndefineExpose(expose);\r\n\r\nconst id = props.id || 'top-popup-id-' + Math.random() + '';\r\n\r\nconst elPopupRef = ref<HTMLElement | null>(null);\r\nconst elPopupInnerRef = ref<HTMLElement | null>(null);\r\n\r\n// см. lib/popup\r\nconst onOpen = async (popup: PopupClass) => {\r\n\tif (popup.elPopup) elPopupRef.value = popup.elPopup;\r\n\r\n\tif (popup.elPopupInner) {\r\n\t\tpopup.elPopupInner.innerText = '';\r\n\r\n\t\telPopupInnerRef.value = popup.elPopupInner;\r\n\t}\r\n\r\n\tvueConnector.opened = true;\r\n\tvueConnector.popup = popup;\r\n\r\n\texpose.popup = popup;\r\n\r\n\temit('open', { elPopup: popup.elPopup!, elPopupOpener: popup.el });\r\n};\r\n\r\n// см. lib/popup\r\nconst onClose = (popup: PopupClass) => {\r\n\telPopupInnerRef.value = null;\r\n\r\n\tvueConnector.opened = false;\r\n\tvueConnector.popup = undefined;\r\n\r\n\temit('close', { elPopup: popup.elPopup!, elPopupOpener: popup.el });\r\n};\r\n\r\nconst vueConnector = {\r\n\tonOpen,\r\n\tonClose,\r\n\tclassRef: toRef(props, 'class'),\r\n\topened: false,\r\n\tpopup: undefined as PopupClass | undefined,\r\n\ttransitionDurationRef: toRef(props, 'transitionDuration'),\r\n};\r\n\r\nwatch(() => props.class, (newValue, oldValue) => {\r\n\tif (!elPopupRef.value) return;\r\n\r\n\tconst newClasses = newValue?.split(' ') ?? [];\r\n\tconst oldClasses = oldValue?.split(' ') ?? [];\r\n\r\n\tconst delClasses = oldClasses.filter((oldClass) => !newClasses.includes(oldClass));\r\n\r\n\telPopupRef.value.classList.remove(...delClasses);\r\n\telPopupRef.value.classList.add(...newClasses);\r\n});\r\n\r\nWorker.regVueComponent(id, vueConnector);\r\n\r\nonUnmounted(() => {\r\n\tWorker.unregVueComponent(id);\r\n});\r\n</script>\r\n\r\n<template>\r\n\t<Opener\r\n\t\tv-if=\"$slots.opener\"\r\n\t\t:id=\"id\"\r\n\t\t:pos=\"pos\"\r\n\t\t:posBy=\"posBy\"\r\n\t\t:notch=\"notch\"\r\n\t\t:openByHover=\"openByHover\"\r\n\t>\r\n\t\t<!-- @slot элемент для открытия Popup -->\r\n\t\t<slot name=\"opener\"></slot>\r\n\t</Opener>\r\n\r\n\t<!-- Это шаблон для компонента Popup, сам Popup генерируется в js и может находиться где угодно -->\r\n\t<!-- elPopupInnerRef будет установлен только после открытия и будет сброшен сразу после закрытия Popup -->\r\n\t<teleport\r\n\t\tv-if=\"elPopupInnerRef\"\r\n\t\t:to=\"elPopupInnerRef\"\r\n\t>\r\n\t\t<div\r\n\t\t\tv-if=\"$slots.header || $core.state.isMobile\"\r\n\t\t\tclass=\"top-popup_header\"\r\n\t\t>\r\n\t\t\t<span\r\n\t\t\t\tv-if=\"$core.state.isMobile\"\r\n\t\t\t\tclass=\"top-as-a closer\"\r\n\t\t\t>\r\n\t\t\t\t{{ $i18n.Common.Close }}\r\n\t\t\t</span>\r\n\r\n\t\t\t<!-- @slot Шапка -->\r\n\t\t\t<slot name=\"header\"></slot>\r\n\t\t</div>\r\n\r\n\t\t<div\r\n\t\t\tv-if=\"$slots.widget\"\r\n\t\t\tclass=\"top-popup_widget\"\r\n\t\t>\r\n\t\t\t<!-- @slot Виджет -->\r\n\t\t\t<slot name=\"widget\"></slot>\r\n\t\t</div>\r\n\r\n\t\t<div\r\n\t\t\tv-if=\"$slots.content\"\r\n\t\t\tclass=\"top-popup_content\"\r\n\t\t\tv-top-scroll-shadow\r\n\t\t>\r\n\t\t\t<!-- @slot Контент в свободной форме -->\r\n\t\t\t<slot name=\"content\"></slot>\r\n\t\t</div>\r\n\r\n\t\t<ul\r\n\t\t\tv-if=\"$slots.contentList\"\r\n\t\t\tclass=\"top-popup_content\"\r\n\t\t\t@scroll=\"$emit('scrollContentList', $event)\"\r\n\t\t\tv-top-scroll-shadow\r\n\t\t>\r\n\t\t\t<!-- @slot Контент в виде списка, для вставки элементов списка используйте компонент popup/listItem -->\r\n\t\t\t<slot name=\"contentList\"></slot>\r\n\t\t</ul>\r\n\r\n\t\t<div\r\n\t\t\tv-if=\"$slots.footer || footerSupportLink\"\r\n\t\t\tclass=\"top-popup_footer\"\r\n\t\t>\r\n\t\t\t<a\r\n\t\t\t\tv-if=\"footerSupportLink\"\r\n\t\t\t\tclass=\"top-popup_footerSupportLink\"\r\n\t\t\t\t:href=\"footerSupportLink\"\r\n\t\t\t\ttarget=\"_blank\"\r\n\t\t\t>\r\n\t\t\t\t<TopHint hint=\"\"/>\r\n\t\t\t</a>\r\n\r\n\t\t\t<!-- @slot Футер -->\r\n\t\t\t<slot name=\"footer\"></slot>\r\n\t\t</div>\r\n\t</teleport>\r\n</template>\r\n\r\n<style>\r\n.top-popup_footerSupportLink {\r\n\tmargin-right: auto;\r\n}\r\n</style>\r\n"],"names":["id","props","elOpener","render","el","renderOpener","elOpener2","elPopupRef","vue","elPopupInnerRef","popup","vueConnector","expose","emit","delClasses","oldClass","newClasses","popup_worker"],"mappings":"+WAUAA,EAAAC,EAAA,IAAA,KAAA,OAAA,EAAA,GAEA,IAAAC,EAOA,SAAAC,EAAAC,EAAA,iBAEEF,EAAAE,EAAA,0BAIA,CAAA,CACA,yBAMD,CAAA,EAGD,SAAAC,EAAAC,EAAA,0BAQCA,EAAA,QAAA,WAAAN,8DAGAM,EAAA,QAAA,cAAAL,EAAA,MAAA,OAAA,GACAK,EAAA,QAAA,oBAAAL,EAAA,YAAA,OAAA,EAAoE,4nBC9BtD,MAAA,aAKf,MAAAD,EAAAC,EAAA,IAAA,gBAAA,KAAA,OAAA,EAEAM,EAAAC,EAAA,IAAA,IAAA,EACAC,EAAAD,EAAA,IAAA,IAAA,KA8BqB,OA3BrB,MAAAE,GAAA,gCAGCA,EAAA,eACCA,EAAA,aAAA,UAAA,GAEAD,EAAA,MAAAC,EAAA,cAGDC,EAAA,OAAA,GACAA,EAAA,MAAAD,EAEAE,EAAA,MAAAF,EAEAG,EAAA,OAAA,CAAA,QAAAH,EAAA,QAAA,cAAAA,EAAA,EAAA,CAAA,GAcA,QAVDA,GAAA,CACCD,EAAA,MAAA,KAEAE,EAAA,OAAA,GACAA,EAAA,MAAA,OAEAE,EAAA,QAAA,CAAA,QAAAH,EAAA,QAAA,cAAAA,EAAA,EAAA,CAAA,GAKA,SAAAF,EAAA,MAAAP,EAAA,OAAA,yBAGO,sBAAAO,EAAA,MAAAP,EAAA,oBAAA,sCAKP,GAAA,CAAAM,EAAA,MAAA,iDAKAO,sCAAA,OAAAC,GAAA,CAAAC,EAAA,SAAAD,CAAA,CAAA,4DAG4C,CAAA,EAG7CE,EAAA,eAAA,gBAAAjB,EAAAW,CAAA,qBAGCM,EAAA,eAAA,kBAAAjB,CAAA,CAA2B,CAAA"}
@@ -0,0 +1,2 @@
1
+ define(["require","exports","vue","./forms-Dh0QU6P9.amd","../require/css.amd!../assets/menu.css"],function(_,m,e,u){"use strict";if(typeof e>"u")var e=window.Vue;const y={key:0,class:"top-menu_selectAll"},h=e.defineComponent({__name:"menu",props:e.mergeModels({modelValue:{},items:{},isMultiple:{type:Boolean},canBeEmptyMultiple:{type:Boolean},styling:{default:"default"},selectAllItem:{}},{modelValue:{required:!0},modelModifiers:{}}),emits:["update:modelValue"],setup(f){const n=f,a=e.useModel(f,"modelValue"),r=e.ref();!n.isMultiple&&!(typeof a.value=="string"||a.value instanceof String)&&console.warn('Type check failed for prop "modelValue". Expected String: '+typeof a.value),n.isMultiple&&!Array.isArray(a.value)&&console.warn('Type check failed for prop "modelValue". Expected Array: '+typeof a.value),n.isMultiple&&!n.canBeEmptyMultiple&&Array.isArray(a.value)&&!a.value.length&&(a.value=[n.items[0].href??n.items[0].value]);const g=l=>Array.isArray(a.value)?a.value.includes(l.value):l.value===a.value,A=(l,o=!1)=>{if(Array.isArray(a.value)){let t=a.value.slice();if(o){t.length||(t=n.items.map(c=>c.value));const s=t.indexOf(l.value);s===-1?t.push(l.value):t.splice(s,1)}else t.length===1&&t[0]===l.value?t=[]:t=[l.value];!n.canBeEmptyMultiple&&!t.length&&(t=[l.value]),a.value=t;return}a.value=l.value},k=l=>{if(r.value.scrollWidth<=r.value.offsetWidth||l.shiftKey||Math.abs(l.deltaY)<50)return;l.preventDefault();const o=l.deltaY>0?30:-30;r.value.scrollLeft=r.value.scrollLeft+o},v=(l=!0)=>{var d,p;const o=r.value.querySelector(".top-active");if(!o)return;const t=24,s=o.offsetLeft-r.value.offsetLeft-t,c=o.offsetLeft-r.value.offsetLeft+o.clientWidth+t,B=r.value.scrollLeft,V=r.value.clientWidth+r.value.scrollLeft;let i;s<B&&(i=s),c>V&&(i=c-r.value.clientWidth),i!==void 0&&(u.isSafari()?(p=(d=u.Core).$)==null||p.call(d,r.value).animate({scrollLeft:i},l?200:0):r.value.scrollTo({left:i,behavior:l?"smooth":"auto"}))},M=()=>{if(Array.isArray(a.value)){if(a.value.length===n.items.length){a.value=[n.items[0].href??n.items[0].value];return}a.value=n.items.map(l=>l.href??l.value)}};return e.onMounted(()=>v(!1)),e.onUpdated(()=>v(!0)),(l,o)=>(e.openBlock(),e.createElementBlock("div",{ref_key:"el",ref:r,class:e.normalizeClass({"top-menu":!0,["top-style_"+l.styling]:!0}),onWheel:k},[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(l.items,t=>(e.openBlock(),e.createBlock(u._sfc_main,e.mergeProps({ref_for:!0},t,{class:"top-menu_item",color:"theme",onClick:s=>A(t,s.ctrlKey),isActive:g(t)}),e.createSlots({_:2},[t.content?{name:"default",fn:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(t.content),1)]),key:"0"}:void 0]),1040,["onClick","isActive"]))),256)),Array.isArray(a.value)&&l.selectAllItem?(e.openBlock(),e.createElementBlock("div",y,[e.createVNode(u._sfc_main,e.mergeProps(l.selectAllItem,{class:"top-menu_item",color:"theme",styling:"",onClick:o[0]||(o[0]=t=>M()),isActive:a.value.length===l.items.length}),e.createSlots({_:2},[l.selectAllItem.content?{name:"default",fn:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(l.selectAllItem.content),1)]),key:"0"}:void 0]),1040,["isActive"])])):e.createCommentVNode("",!0)],34))}});m._sfc_main=h});
2
+ //# sourceMappingURL=menu.vue_vue_type_style_index_0_lang-B8-UPDGJ.amd.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"menu.vue_vue_type_style_index_0_lang-B8-UPDGJ.amd.js","sources":["../../src/components/formsExt/menu/menu.vue"],"sourcesContent":["<script setup lang=\"ts\">\r\nimport { onMounted, onUpdated, ref } from 'vue';\r\nimport type { Item, Props } from './menu';\r\nimport Core from '@/core/core/core';\r\nimport { isSafari } from '@/core/utils/device';\r\nimport TopButton from '@/components/forms/button/button.vue';\r\n\r\nconst props = withDefaults(defineProps<Props>(), {\r\n\tstyling: 'default',\r\n});\r\n\r\nconst model = defineModel({\r\n\trequired: true,\r\n});\r\n\r\nconst el = ref();\r\n\r\n// валидация типа modelValue без возможности выбора нескольких значений (ожидается строка)\r\nif (!props.isMultiple && !(typeof (model.value) === 'string' || model.value instanceof String)) {\r\n\tconsole.warn('Type check failed for prop \"modelValue\". Expected String: ' + typeof (model.value));\r\n}\r\n\r\n// валидация типа modelValue с возможностью выбора нескольких значений (ожидается массив)\r\nif (props.isMultiple && !Array.isArray(model.value)) {\r\n\tconsole.warn('Type check failed for prop \"modelValue\". Expected Array: ' + typeof (model.value));\r\n}\r\n\r\n// для множественного выбора без пустого множества\r\n// если ничего не выбрано, присваиваем 1-ое значение\r\nif (props.isMultiple && !props.canBeEmptyMultiple && Array.isArray(model.value) && !model.value.length) {\r\n\tmodel.value = [props.items[0].href ?? props.items[0].value];\r\n}\r\n\r\nconst itemIsActive = (item: Item) => {\r\n\tif (!Array.isArray(model.value)) {\r\n\t\treturn item.value === model.value;\r\n\t}\r\n\r\n\treturn model.value.includes(item.value);\r\n};\r\n\r\n/**\r\n * Выбрать элемент\r\n * @param item\r\n * @param toggle - добавить или исключить элемент, для isMultiple\r\n */\r\nconst select = (item: Item, toggle = false) => {\r\n\tif (Array.isArray(model.value)) {\r\n\t\tlet modelNew = model.value.slice();\r\n\r\n\t\tif (toggle) {\r\n\t\t\tif (!modelNew.length) modelNew = props.items.map(item => item.value);\r\n\r\n\t\t\tconst index = modelNew.indexOf(item.value);\r\n\t\t\tif (index === -1) {\r\n\t\t\t\tmodelNew.push(item.value);\r\n\t\t\t} else {\r\n\t\t\t\tmodelNew.splice(index, 1);\r\n\t\t\t}\r\n\t\t} else {\r\n\t\t\tif (modelNew.length === 1 && modelNew[0] === item.value) {\r\n\t\t\t\tmodelNew = [];\r\n\t\t\t} else {\r\n\t\t\t\tmodelNew = [item.value];\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\tif (!props.canBeEmptyMultiple && !modelNew.length) modelNew = [item.value];\r\n\r\n\t\tmodel.value = modelNew;\r\n\r\n\t\treturn;\r\n\t}\r\n\r\n\tmodel.value = item.value;\r\n};\r\n\r\n// вертикальный скролл в горизонтальный скролл\r\nconst onWheel = (event: WheelEvent) => {\r\n\tif (el.value.scrollWidth <= el.value.offsetWidth) return;\r\n\tif (event.shiftKey) return;\r\n\tif (Math.abs(event.deltaY) < 50) return; // устройство с высокой точностью, например тачпад\r\n\r\n\tevent.preventDefault();\r\n\r\n\tconst delta = event.deltaY > 0 ? 30 : -30;\r\n\tel.value.scrollLeft = el.value.scrollLeft + delta;\r\n};\r\n\r\n/**\r\n * Замена стандартному scrollIntoView, который меняет скролл документа\r\n *\r\n * Выравнивание по ближнему краю элемента\r\n *\r\n * Выравнивается таким образом, чтобы был виден соседний элемент\r\n */\r\nconst scrollIntoView = (isSmooth = true) => {\r\n\tconst elBtn = el.value.querySelector('.top-active');\r\n\tif (!elBtn) return;\r\n\r\n\tconst gap = 24;\r\n\r\n\t// левая и правая координаты элемента\r\n\tconst leftMargin = elBtn.offsetLeft - el.value.offsetLeft - gap;\r\n\tconst rightMargin = elBtn.offsetLeft - el.value.offsetLeft + elBtn.clientWidth + gap;\r\n\r\n\t// левая и правая границы видимой части меню\r\n\tconst leftMarginParent = el.value.scrollLeft;\r\n\tconst rightMarginParent = el.value.clientWidth + el.value.scrollLeft;\r\n\r\n\tlet scrollLeft: number | undefined = undefined;\r\n\r\n\t// левую границу элемента к левой границе меню\r\n\tif (leftMargin < leftMarginParent) scrollLeft = leftMargin;\r\n\r\n\t// правую границу элемента к правой границе меню\r\n\tif (rightMargin > rightMarginParent) scrollLeft = rightMargin - el.value.clientWidth;\r\n\r\n\tif (scrollLeft !== undefined) {\r\n\t\tif (isSafari()) {\r\n\t\t\tCore.$?.(el.value).animate({ scrollLeft: scrollLeft }, isSmooth ? 200 : 0);\r\n\t\t} else {\r\n\t\t\tel.value.scrollTo({ left: scrollLeft, behavior: isSmooth ? 'smooth' : 'auto' });\r\n\t\t}\r\n\t}\r\n};\r\n\r\n/**\r\n * Выбрать все элементы в меню\r\n */\r\nconst selectAll = () => {\r\n\tif (!Array.isArray(model.value)) return;\r\n\r\n\tif (model.value.length === props.items.length) {\r\n\t\tmodel.value = [props.items[0].href ?? props.items[0].value];\r\n\t\treturn;\r\n\t}\r\n\r\n\tmodel.value = props.items.map(item => item.href ?? item.value);\r\n};\r\n\r\nonMounted(() => scrollIntoView(false));\r\nonUpdated(() => scrollIntoView(true));\r\n\r\n</script>\r\n\r\n<template>\r\n\t<div\r\n\t\tref=\"el\"\r\n\t\t:class=\"{\r\n\t\t\t'top-menu': true,\r\n\t\t\t['top-style_' + styling]: true,\r\n\t\t\t// ['top-unwrap-x']: styling === 'default',\r\n\t\t}\"\r\n\t\t@wheel=\"onWheel\"\r\n\t>\r\n\t\t<TopButton\r\n\t\t\tv-for=\"item in items\"\r\n\t\t\t:=\"item\"\r\n\t\t\tclass=\"top-menu_item\"\r\n\t\t\tcolor=\"theme\"\r\n\t\t\t@click=\"select(item, $event.ctrlKey)\"\r\n\t\t\t:isActive=\"itemIsActive(item)\"\r\n\t\t>\r\n\t\t\t<template #default v-if=\"item.content\">\r\n\t\t\t\t{{ item.content }}\r\n\t\t\t</template>\r\n\t\t</TopButton>\r\n\r\n\t\t<div\r\n\t\t\tv-if=\"Array.isArray(model) && selectAllItem\"\r\n\t\t\tclass=\"top-menu_selectAll\"\r\n\t\t>\r\n\t\t\t<TopButton\r\n\t\t\t\t:=\"selectAllItem\"\r\n\t\t\t\tclass=\"top-menu_item\"\r\n\t\t\t\tcolor=\"theme\"\r\n\t\t\t\tstyling=\"\"\r\n\t\t\t\t@click=\"selectAll()\"\r\n\t\t\t\t:isActive=\"model.length === items.length\"\r\n\t\t\t>\r\n\t\t\t\t<template #default v-if=\"selectAllItem.content\">\r\n\t\t\t\t\t{{ selectAllItem.content }}\r\n\t\t\t\t</template>\r\n\t\t\t</TopButton>\r\n\t\t</div>\r\n\t</div>\r\n</template>\r\n\r\n<style>\r\n.top-menu {\r\n\t--scroll-thumb-color: var(--color-line-1);\r\n\t--scroll-thumb-color-hover: var(--color-line-2);\r\n\t--scroll-thumb-color-active: var(--color-line-3);\r\n\r\n\tmax-width: 100%;\r\n\tdisplay: flex;\r\n\talign-items: flex-start;\r\n\tgap: var(--top-gap-2);\r\n\toverflow-x: auto;\r\n\tscrollbar-width: none; /* firefox */\r\n\r\n\t/* предотвратить натинвые события браузера (назад / вперед) */\r\n\toverscroll-behavior-x: contain;\r\n}\r\n\r\n.top-menu::-webkit-scrollbar { display: none; }\r\n\r\n.top-menu .top-menu_item {\r\n\t--top-button-color: var(--color-text-2);\r\n\r\n\toutline-offset: -2px !important;\r\n\tmin-width: 0;\r\n\tmax-width: 200px;\r\n\tmargin: 0;\r\n\tflex-shrink: 0;\r\n}\r\n\r\n.top-menu .top-menu_item[data-top-icon] {\r\n\t--top-icon-color: var(--color-text-2);\r\n}\r\n\r\n.top-menu_selectAll {\r\n\tposition: sticky;\r\n\tright: 0;\r\n\tbackground: var(--color-layout-front-1);\r\n\tborder-left: 1px solid var(--color-line-1);\r\n\tpadding-left: var(--top-padding-1);\r\n\tbox-shadow: var(--color-layout-front-1) var(--top-padding-2) 0px;\r\n}\r\n\r\n/* style default */\r\n.top-menu.top-style_default .top-menu_item {\r\n\t--top-forms-radius: 0;\r\n\t--top-forms-border-color: transparent;\r\n\t--top-forms-border-width: 2px;\r\n\r\n\tfilter: none;\r\n\tbox-shadow: none;\r\n\tborder: none;\r\n\tborder-bottom: var(--top-forms-border-width) solid var(--top-forms-border-color);\r\n\tbackground: none;\r\n}\r\n\r\n.top-style_default > .top-menu_item > [data-top-badge] {\r\n\tmargin-top: 0;\r\n}\r\n\r\n.top-menu.top-style_default .top-menu_item:hover {\r\n\t--top-icon-color: var(--color-text-1);\r\n\t--top-button-color: var(--color-text-1);\r\n\t--top-forms-border-color: var(--color-line-2);\r\n}\r\n\r\n.top-menu.top-style_default .top-menu_item:active,\r\n.top-menu.top-style_default .top-menu_item.top-active {\r\n\t--top-icon-color: var(--color-text-primary);\r\n\t--top-button-color: var(--color-text-1);\r\n\t--top-forms-border-color: var(--color-line-primary-1);\r\n}\r\n\r\n.top-menu.top-style_default .top-menu_selectAll {\r\n\tpadding-left: var(--top-padding-2);\r\n}\r\n\r\n/* style bar */\r\n.top-menu.top-style_bar {\r\n\tborder-radius: var(--top-radius-3);\r\n\tborder: 1px solid var(--color-line-2);\r\n\tpadding: var(--top-padding-1);\r\n\tgap: 3px;\r\n}\r\n.top-menu.top-style_bar .top-menu_item {\r\n\t--top-button-background-color-hover: var(--color-layer-1);\r\n\t--top-button-background-color-active: var(--color-layer-2);\r\n\t--top-button-background-color-selected: var(--color-layer-primary-1);\r\n\r\n\tposition: relative;\r\n}\r\n\r\n.top-menu.top-style_bar .top-menu_item:hover {\r\n\t--top-icon-color: var(--color-text-1);\r\n\t--top-button-color: var(--color-text-1);\r\n}\r\n\r\n.top-menu.top-style_bar .top-menu_item.top-active {\r\n\t--top-icon-color: var(--color-text-primary);\r\n\t--top-button-color: var(--color-text-primary);\r\n}\r\n\r\n/* разделители кнопок в баре */\r\n.top-menu.top-style_bar .top-menu_item:not(:first-child):not(.top-active):not(:hover):after {\r\n\tcontent: \"\";\r\n\tbackground: var(--color-line-1-opacity);\r\n\twidth: 1px;\r\n\theight: 60%;\r\n\tdisplay: block;\r\n\tposition: absolute;\r\n\tleft: -2px;\r\n}\r\n.top-menu.top-style_bar .top-menu_item.top-active + .top-menu_item:after,\r\n.top-menu.top-style_bar .top-menu_item:hover + .top-menu_item:after {\r\n\tcontent: none !important;\r\n}\r\n\r\n/*\r\n.top-style_bar > .top-menu_item > [data-top-badge] {\r\n\tmargin-top: -3px;\r\n}\r\n*/\r\n\r\n/** TODO: .top-unwrap-x надо вынести глобально в UI или добавить в стили для storybook */\r\n/*\r\n.top-menu.top-unwrap-x {\r\n\tpadding-right: var(--top-unwrap-x);\r\n\tpadding-left: var(--top-unwrap-x);\r\n\tmargin-right: calc(0px - var(--top-unwrap-x));\r\n\tmargin-left: calc(0px - var(--top-unwrap-x));\r\n}\r\n*/\r\n</style>\r\n"],"names":["el","vue","props","model","itemIsActive","item","index","modelNew","onWheel","event","delta","scrollIntoView","isSmooth","leftMargin","elBtn","gap","rightMargin","leftMarginParent","rightMarginParent","scrollLeft"],"mappings":"ggBAeAA,EAAAC,EAAA,IAAA,mKAQAC,EAAA,YAAA,CAAA,MAAA,QAAAC,EAAA,KAAA,wNAUA,MAAAC,EAAAC,oDAEEA,EAAA,QAAAF,EAAA,2IAmBCG,IAAA,GACCC,EAAA,KAAAF,EAAA,KAAA,EAEAE,EAAA,OAAAD,EAAA,CAAA,CACD,MAEAC,EAAA,SAAA,GAAAA,EAAA,CAAA,IAAAF,EAAA,WAGCE,EAAA,CAAAF,EAAA,KAAA,EAIF,CAAAH,EAAA,oBAAA,CAAAK,EAAA,SAAAA,EAAA,CAAAF,EAAA,KAAA,GAEAF,EAAA,MAAAI,QAEA,CAGDJ,EAAA,MAAAE,EAAA,OAIDG,EAAAC,GAAA,IACCT,EAAA,MAAA,aAAAA,EAAA,MAAA,aACAS,EAAA,oFAMAT,EAAA,MAAA,WAAAA,EAAA,MAAA,WAAAU,GAUDC,EAAA,CAAAC,EAAA,KAAA,8EAOCC,EAAAC,EAAA,WAAAd,EAAA,MAAA,WAAAe,EACAC,EAAAF,EAAA,WAAAd,EAAA,MAAA,WAAAc,EAAA,YAAAC,EAGAE,EAAAjB,EAAA,MAAA,WACAkB,EAAAlB,EAAA,MAAA,YAAAA,EAAA,MAAA,iBAKAa,EAAAI,IAAAE,EAAAN,GAGAG,EAAAE,IAAAC,EAAAH,EAAAhB,EAAA,MAAA,aAEAmB,IAAA,gGAIEnB,EAAA,MAAA,SAAA,CAAA,KAAAmB,EAAA,SAAAP,EAAA,SAAA,MAAA,CAAA,qCAWF,IAAAT,EAAA,MAAA,SAAAD,EAAA,MAAA,OAAA,mDAEC,2CAMF,OAAAD,EAAA,UAAA,IAAAU,EAAA,EAAA,CAAA,EACAV,EAAA,UAAA,IAAAU,EAAA,EAAA,CAAA"}
@@ -0,0 +1,109 @@
1
+ import { Core as S } from "../core/app.js";
2
+ import { defineComponent as E, mergeModels as W, useModel as w, ref as N, onMounted as T, onUpdated as P, createElementBlock as f, openBlock as c, normalizeClass as $, createCommentVNode as b, Fragment as q, renderList as D, createBlock as K, mergeProps as d, createSlots as y, withCtx as h, createTextVNode as g, toDisplayString as A, createVNode as Y } from "vue";
3
+ import { _ as M, i as x, C as z } from "./forms-BciWy0wX.es.js";
4
+ const I = ["../assets/menu.css"].map((n) => import.meta.resolve(n));
5
+ S.insertCSSLinkToPage(I, !0);
6
+ const F = {
7
+ key: 0,
8
+ class: "top-menu_selectAll"
9
+ }, G = /* @__PURE__ */ E({
10
+ __name: "menu",
11
+ props: /* @__PURE__ */ W({
12
+ modelValue: {},
13
+ items: {},
14
+ isMultiple: { type: Boolean },
15
+ canBeEmptyMultiple: { type: Boolean },
16
+ styling: { default: "default" },
17
+ selectAllItem: {}
18
+ }, {
19
+ modelValue: {
20
+ required: !0
21
+ },
22
+ modelModifiers: {}
23
+ }),
24
+ emits: ["update:modelValue"],
25
+ setup(n) {
26
+ const r = n, t = w(n, "modelValue"), a = N();
27
+ !r.isMultiple && !(typeof t.value == "string" || t.value instanceof String) && console.warn('Type check failed for prop "modelValue". Expected String: ' + typeof t.value), r.isMultiple && !Array.isArray(t.value) && console.warn('Type check failed for prop "modelValue". Expected Array: ' + typeof t.value), r.isMultiple && !r.canBeEmptyMultiple && Array.isArray(t.value) && !t.value.length && (t.value = [r.items[0].href ?? r.items[0].value]);
28
+ const k = (e) => Array.isArray(t.value) ? t.value.includes(e.value) : e.value === t.value, C = (e, o = !1) => {
29
+ if (Array.isArray(t.value)) {
30
+ let l = t.value.slice();
31
+ if (o) {
32
+ l.length || (l = r.items.map((u) => u.value));
33
+ const s = l.indexOf(e.value);
34
+ s === -1 ? l.push(e.value) : l.splice(s, 1);
35
+ } else
36
+ l.length === 1 && l[0] === e.value ? l = [] : l = [e.value];
37
+ !r.canBeEmptyMultiple && !l.length && (l = [e.value]), t.value = l;
38
+ return;
39
+ }
40
+ t.value = e.value;
41
+ }, L = (e) => {
42
+ if (a.value.scrollWidth <= a.value.offsetWidth || e.shiftKey || Math.abs(e.deltaY) < 50) return;
43
+ e.preventDefault();
44
+ const o = e.deltaY > 0 ? 30 : -30;
45
+ a.value.scrollLeft = a.value.scrollLeft + o;
46
+ }, v = (e = !0) => {
47
+ var m, p;
48
+ const o = a.value.querySelector(".top-active");
49
+ if (!o) return;
50
+ const l = 24, s = o.offsetLeft - a.value.offsetLeft - l, u = o.offsetLeft - a.value.offsetLeft + o.clientWidth + l, _ = a.value.scrollLeft, B = a.value.clientWidth + a.value.scrollLeft;
51
+ let i;
52
+ s < _ && (i = s), u > B && (i = u - a.value.clientWidth), i !== void 0 && (x() ? (p = (m = z).$) == null || p.call(m, a.value).animate({ scrollLeft: i }, e ? 200 : 0) : a.value.scrollTo({ left: i, behavior: e ? "smooth" : "auto" }));
53
+ }, V = () => {
54
+ if (Array.isArray(t.value)) {
55
+ if (t.value.length === r.items.length) {
56
+ t.value = [r.items[0].href ?? r.items[0].value];
57
+ return;
58
+ }
59
+ t.value = r.items.map((e) => e.href ?? e.value);
60
+ }
61
+ };
62
+ return T(() => v(!1)), P(() => v(!0)), (e, o) => (c(), f("div", {
63
+ ref_key: "el",
64
+ ref: a,
65
+ class: $({
66
+ "top-menu": !0,
67
+ ["top-style_" + e.styling]: !0
68
+ // ['top-unwrap-x']: styling === 'default',
69
+ }),
70
+ onWheel: L
71
+ }, [
72
+ (c(!0), f(q, null, D(e.items, (l) => (c(), K(M, d({ ref_for: !0 }, l, {
73
+ class: "top-menu_item",
74
+ color: "theme",
75
+ onClick: (s) => C(l, s.ctrlKey),
76
+ isActive: k(l)
77
+ }), y({ _: 2 }, [
78
+ l.content ? {
79
+ name: "default",
80
+ fn: h(() => [
81
+ g(A(l.content), 1)
82
+ ]),
83
+ key: "0"
84
+ } : void 0
85
+ ]), 1040, ["onClick", "isActive"]))), 256)),
86
+ Array.isArray(t.value) && e.selectAllItem ? (c(), f("div", F, [
87
+ Y(M, d(e.selectAllItem, {
88
+ class: "top-menu_item",
89
+ color: "theme",
90
+ styling: "",
91
+ onClick: o[0] || (o[0] = (l) => V()),
92
+ isActive: t.value.length === e.items.length
93
+ }), y({ _: 2 }, [
94
+ e.selectAllItem.content ? {
95
+ name: "default",
96
+ fn: h(() => [
97
+ g(A(e.selectAllItem.content), 1)
98
+ ]),
99
+ key: "0"
100
+ } : void 0
101
+ ]), 1040, ["isActive"])
102
+ ])) : b("", !0)
103
+ ], 34));
104
+ }
105
+ });
106
+ export {
107
+ G as _
108
+ };
109
+ //# sourceMappingURL=menu.vue_vue_type_style_index_0_lang-yNOWbXpd.es.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"menu.vue_vue_type_style_index_0_lang-yNOWbXpd.es.js","sources":["../../src/components/formsExt/menu/menu.vue"],"sourcesContent":["<script setup lang=\"ts\">\r\nimport { onMounted, onUpdated, ref } from 'vue';\r\nimport type { Item, Props } from './menu';\r\nimport Core from '@/core/core/core';\r\nimport { isSafari } from '@/core/utils/device';\r\nimport TopButton from '@/components/forms/button/button.vue';\r\n\r\nconst props = withDefaults(defineProps<Props>(), {\r\n\tstyling: 'default',\r\n});\r\n\r\nconst model = defineModel({\r\n\trequired: true,\r\n});\r\n\r\nconst el = ref();\r\n\r\n// валидация типа modelValue без возможности выбора нескольких значений (ожидается строка)\r\nif (!props.isMultiple && !(typeof (model.value) === 'string' || model.value instanceof String)) {\r\n\tconsole.warn('Type check failed for prop \"modelValue\". Expected String: ' + typeof (model.value));\r\n}\r\n\r\n// валидация типа modelValue с возможностью выбора нескольких значений (ожидается массив)\r\nif (props.isMultiple && !Array.isArray(model.value)) {\r\n\tconsole.warn('Type check failed for prop \"modelValue\". Expected Array: ' + typeof (model.value));\r\n}\r\n\r\n// для множественного выбора без пустого множества\r\n// если ничего не выбрано, присваиваем 1-ое значение\r\nif (props.isMultiple && !props.canBeEmptyMultiple && Array.isArray(model.value) && !model.value.length) {\r\n\tmodel.value = [props.items[0].href ?? props.items[0].value];\r\n}\r\n\r\nconst itemIsActive = (item: Item) => {\r\n\tif (!Array.isArray(model.value)) {\r\n\t\treturn item.value === model.value;\r\n\t}\r\n\r\n\treturn model.value.includes(item.value);\r\n};\r\n\r\n/**\r\n * Выбрать элемент\r\n * @param item\r\n * @param toggle - добавить или исключить элемент, для isMultiple\r\n */\r\nconst select = (item: Item, toggle = false) => {\r\n\tif (Array.isArray(model.value)) {\r\n\t\tlet modelNew = model.value.slice();\r\n\r\n\t\tif (toggle) {\r\n\t\t\tif (!modelNew.length) modelNew = props.items.map(item => item.value);\r\n\r\n\t\t\tconst index = modelNew.indexOf(item.value);\r\n\t\t\tif (index === -1) {\r\n\t\t\t\tmodelNew.push(item.value);\r\n\t\t\t} else {\r\n\t\t\t\tmodelNew.splice(index, 1);\r\n\t\t\t}\r\n\t\t} else {\r\n\t\t\tif (modelNew.length === 1 && modelNew[0] === item.value) {\r\n\t\t\t\tmodelNew = [];\r\n\t\t\t} else {\r\n\t\t\t\tmodelNew = [item.value];\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\tif (!props.canBeEmptyMultiple && !modelNew.length) modelNew = [item.value];\r\n\r\n\t\tmodel.value = modelNew;\r\n\r\n\t\treturn;\r\n\t}\r\n\r\n\tmodel.value = item.value;\r\n};\r\n\r\n// вертикальный скролл в горизонтальный скролл\r\nconst onWheel = (event: WheelEvent) => {\r\n\tif (el.value.scrollWidth <= el.value.offsetWidth) return;\r\n\tif (event.shiftKey) return;\r\n\tif (Math.abs(event.deltaY) < 50) return; // устройство с высокой точностью, например тачпад\r\n\r\n\tevent.preventDefault();\r\n\r\n\tconst delta = event.deltaY > 0 ? 30 : -30;\r\n\tel.value.scrollLeft = el.value.scrollLeft + delta;\r\n};\r\n\r\n/**\r\n * Замена стандартному scrollIntoView, который меняет скролл документа\r\n *\r\n * Выравнивание по ближнему краю элемента\r\n *\r\n * Выравнивается таким образом, чтобы был виден соседний элемент\r\n */\r\nconst scrollIntoView = (isSmooth = true) => {\r\n\tconst elBtn = el.value.querySelector('.top-active');\r\n\tif (!elBtn) return;\r\n\r\n\tconst gap = 24;\r\n\r\n\t// левая и правая координаты элемента\r\n\tconst leftMargin = elBtn.offsetLeft - el.value.offsetLeft - gap;\r\n\tconst rightMargin = elBtn.offsetLeft - el.value.offsetLeft + elBtn.clientWidth + gap;\r\n\r\n\t// левая и правая границы видимой части меню\r\n\tconst leftMarginParent = el.value.scrollLeft;\r\n\tconst rightMarginParent = el.value.clientWidth + el.value.scrollLeft;\r\n\r\n\tlet scrollLeft: number | undefined = undefined;\r\n\r\n\t// левую границу элемента к левой границе меню\r\n\tif (leftMargin < leftMarginParent) scrollLeft = leftMargin;\r\n\r\n\t// правую границу элемента к правой границе меню\r\n\tif (rightMargin > rightMarginParent) scrollLeft = rightMargin - el.value.clientWidth;\r\n\r\n\tif (scrollLeft !== undefined) {\r\n\t\tif (isSafari()) {\r\n\t\t\tCore.$?.(el.value).animate({ scrollLeft: scrollLeft }, isSmooth ? 200 : 0);\r\n\t\t} else {\r\n\t\t\tel.value.scrollTo({ left: scrollLeft, behavior: isSmooth ? 'smooth' : 'auto' });\r\n\t\t}\r\n\t}\r\n};\r\n\r\n/**\r\n * Выбрать все элементы в меню\r\n */\r\nconst selectAll = () => {\r\n\tif (!Array.isArray(model.value)) return;\r\n\r\n\tif (model.value.length === props.items.length) {\r\n\t\tmodel.value = [props.items[0].href ?? props.items[0].value];\r\n\t\treturn;\r\n\t}\r\n\r\n\tmodel.value = props.items.map(item => item.href ?? item.value);\r\n};\r\n\r\nonMounted(() => scrollIntoView(false));\r\nonUpdated(() => scrollIntoView(true));\r\n\r\n</script>\r\n\r\n<template>\r\n\t<div\r\n\t\tref=\"el\"\r\n\t\t:class=\"{\r\n\t\t\t'top-menu': true,\r\n\t\t\t['top-style_' + styling]: true,\r\n\t\t\t// ['top-unwrap-x']: styling === 'default',\r\n\t\t}\"\r\n\t\t@wheel=\"onWheel\"\r\n\t>\r\n\t\t<TopButton\r\n\t\t\tv-for=\"item in items\"\r\n\t\t\t:=\"item\"\r\n\t\t\tclass=\"top-menu_item\"\r\n\t\t\tcolor=\"theme\"\r\n\t\t\t@click=\"select(item, $event.ctrlKey)\"\r\n\t\t\t:isActive=\"itemIsActive(item)\"\r\n\t\t>\r\n\t\t\t<template #default v-if=\"item.content\">\r\n\t\t\t\t{{ item.content }}\r\n\t\t\t</template>\r\n\t\t</TopButton>\r\n\r\n\t\t<div\r\n\t\t\tv-if=\"Array.isArray(model) && selectAllItem\"\r\n\t\t\tclass=\"top-menu_selectAll\"\r\n\t\t>\r\n\t\t\t<TopButton\r\n\t\t\t\t:=\"selectAllItem\"\r\n\t\t\t\tclass=\"top-menu_item\"\r\n\t\t\t\tcolor=\"theme\"\r\n\t\t\t\tstyling=\"\"\r\n\t\t\t\t@click=\"selectAll()\"\r\n\t\t\t\t:isActive=\"model.length === items.length\"\r\n\t\t\t>\r\n\t\t\t\t<template #default v-if=\"selectAllItem.content\">\r\n\t\t\t\t\t{{ selectAllItem.content }}\r\n\t\t\t\t</template>\r\n\t\t\t</TopButton>\r\n\t\t</div>\r\n\t</div>\r\n</template>\r\n\r\n<style>\r\n.top-menu {\r\n\t--scroll-thumb-color: var(--color-line-1);\r\n\t--scroll-thumb-color-hover: var(--color-line-2);\r\n\t--scroll-thumb-color-active: var(--color-line-3);\r\n\r\n\tmax-width: 100%;\r\n\tdisplay: flex;\r\n\talign-items: flex-start;\r\n\tgap: var(--top-gap-2);\r\n\toverflow-x: auto;\r\n\tscrollbar-width: none; /* firefox */\r\n\r\n\t/* предотвратить натинвые события браузера (назад / вперед) */\r\n\toverscroll-behavior-x: contain;\r\n}\r\n\r\n.top-menu::-webkit-scrollbar { display: none; }\r\n\r\n.top-menu .top-menu_item {\r\n\t--top-button-color: var(--color-text-2);\r\n\r\n\toutline-offset: -2px !important;\r\n\tmin-width: 0;\r\n\tmax-width: 200px;\r\n\tmargin: 0;\r\n\tflex-shrink: 0;\r\n}\r\n\r\n.top-menu .top-menu_item[data-top-icon] {\r\n\t--top-icon-color: var(--color-text-2);\r\n}\r\n\r\n.top-menu_selectAll {\r\n\tposition: sticky;\r\n\tright: 0;\r\n\tbackground: var(--color-layout-front-1);\r\n\tborder-left: 1px solid var(--color-line-1);\r\n\tpadding-left: var(--top-padding-1);\r\n\tbox-shadow: var(--color-layout-front-1) var(--top-padding-2) 0px;\r\n}\r\n\r\n/* style default */\r\n.top-menu.top-style_default .top-menu_item {\r\n\t--top-forms-radius: 0;\r\n\t--top-forms-border-color: transparent;\r\n\t--top-forms-border-width: 2px;\r\n\r\n\tfilter: none;\r\n\tbox-shadow: none;\r\n\tborder: none;\r\n\tborder-bottom: var(--top-forms-border-width) solid var(--top-forms-border-color);\r\n\tbackground: none;\r\n}\r\n\r\n.top-style_default > .top-menu_item > [data-top-badge] {\r\n\tmargin-top: 0;\r\n}\r\n\r\n.top-menu.top-style_default .top-menu_item:hover {\r\n\t--top-icon-color: var(--color-text-1);\r\n\t--top-button-color: var(--color-text-1);\r\n\t--top-forms-border-color: var(--color-line-2);\r\n}\r\n\r\n.top-menu.top-style_default .top-menu_item:active,\r\n.top-menu.top-style_default .top-menu_item.top-active {\r\n\t--top-icon-color: var(--color-text-primary);\r\n\t--top-button-color: var(--color-text-1);\r\n\t--top-forms-border-color: var(--color-line-primary-1);\r\n}\r\n\r\n.top-menu.top-style_default .top-menu_selectAll {\r\n\tpadding-left: var(--top-padding-2);\r\n}\r\n\r\n/* style bar */\r\n.top-menu.top-style_bar {\r\n\tborder-radius: var(--top-radius-3);\r\n\tborder: 1px solid var(--color-line-2);\r\n\tpadding: var(--top-padding-1);\r\n\tgap: 3px;\r\n}\r\n.top-menu.top-style_bar .top-menu_item {\r\n\t--top-button-background-color-hover: var(--color-layer-1);\r\n\t--top-button-background-color-active: var(--color-layer-2);\r\n\t--top-button-background-color-selected: var(--color-layer-primary-1);\r\n\r\n\tposition: relative;\r\n}\r\n\r\n.top-menu.top-style_bar .top-menu_item:hover {\r\n\t--top-icon-color: var(--color-text-1);\r\n\t--top-button-color: var(--color-text-1);\r\n}\r\n\r\n.top-menu.top-style_bar .top-menu_item.top-active {\r\n\t--top-icon-color: var(--color-text-primary);\r\n\t--top-button-color: var(--color-text-primary);\r\n}\r\n\r\n/* разделители кнопок в баре */\r\n.top-menu.top-style_bar .top-menu_item:not(:first-child):not(.top-active):not(:hover):after {\r\n\tcontent: \"\";\r\n\tbackground: var(--color-line-1-opacity);\r\n\twidth: 1px;\r\n\theight: 60%;\r\n\tdisplay: block;\r\n\tposition: absolute;\r\n\tleft: -2px;\r\n}\r\n.top-menu.top-style_bar .top-menu_item.top-active + .top-menu_item:after,\r\n.top-menu.top-style_bar .top-menu_item:hover + .top-menu_item:after {\r\n\tcontent: none !important;\r\n}\r\n\r\n/*\r\n.top-style_bar > .top-menu_item > [data-top-badge] {\r\n\tmargin-top: -3px;\r\n}\r\n*/\r\n\r\n/** TODO: .top-unwrap-x надо вынести глобально в UI или добавить в стили для storybook */\r\n/*\r\n.top-menu.top-unwrap-x {\r\n\tpadding-right: var(--top-unwrap-x);\r\n\tpadding-left: var(--top-unwrap-x);\r\n\tmargin-right: calc(0px - var(--top-unwrap-x));\r\n\tmargin-left: calc(0px - var(--top-unwrap-x));\r\n}\r\n*/\r\n</style>\r\n"],"names":["props","__props","model","useModel","el","ref","itemIsActive","item","select","toggle","modelNew","item2","index","onWheel","event","delta","scrollIntoView","isSmooth","elBtn","gap","leftMargin","rightMargin","leftMarginParent","rightMarginParent","scrollLeft","isSafari","_b","_a","Core","selectAll","onMounted","onUpdated"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;AAOA,UAAAA,IAAAC,GAIAC,IAAAC,EAAAF,GAAA,YAAA,GAIAG,IAAAC,EAAA;AAGA,IAAA,CAAAL,EAAA,cAAA,EAAA,OAAAE,EAAA,SAAA,YAAAA,EAAA,iBAAA,WACC,QAAA,KAAA,+DAAA,OAAAA,EAAA,KAAA,GAIDF,EAAA,cAAA,CAAA,MAAA,QAAAE,EAAA,KAAA,KACC,QAAA,KAAA,8DAAA,OAAAA,EAAA,KAAA,GAKDF,EAAA,cAAA,CAAAA,EAAA,sBAAA,MAAA,QAAAE,EAAA,KAAA,KAAA,CAAAA,EAAA,MAAA,WACCA,EAAA,QAAA,CAAAF,EAAA,MAAA,CAAA,EAAA,QAAAA,EAAA,MAAA,CAAA,EAAA,KAAA;AAGD,UAAAM,IAAA,CAAAC,MACC,MAAA,QAAAL,EAAA,KAAA,IAIAA,EAAA,MAAA,SAAAK,EAAA,KAAA,IAHCA,EAAA,UAAAL,EAAA,OAWFM,IAAA,CAAAD,GAAAE,IAAA,OAAA;AACC,UAAA,MAAA,QAAAP,EAAA,KAAA,GAAA;AACC,YAAAQ,IAAAR,EAAA,MAAA,MAAA;AAEA,YAAAO,GAAA;AACC,UAAAC,EAAA,WAAAA,IAAAV,EAAA,MAAA,IAAA,CAAAW,MAAAA,EAAA,KAAA;AAEA,gBAAAC,IAAAF,EAAA,QAAAH,EAAA,KAAA;AACA,UAAAK,MAAA,KACCF,EAAA,KAAAH,EAAA,KAAA,IAEAG,EAAA,OAAAE,GAAA,CAAA;AAAA,QACD;AAEA,UAAAF,EAAA,WAAA,KAAAA,EAAA,CAAA,MAAAH,EAAA,QACCG,IAAA,CAAA,IAEAA,IAAA,CAAAH,EAAA,KAAA;AAIF,QAAA,CAAAP,EAAA,sBAAA,CAAAU,EAAA,WAAAA,IAAA,CAAAH,EAAA,KAAA,IAEAL,EAAA,QAAAQ;AAEA;AAAA,MAAA;AAGD,MAAAR,EAAA,QAAAK,EAAA;AAAA,IAAmB,GAIpBM,IAAA,CAAAC,MAAA;AAGC,UAFAV,EAAA,MAAA,eAAAA,EAAA,MAAA,eACAU,EAAA,YACA,KAAA,IAAAA,EAAA,MAAA,IAAA,GAAA;AAEA,MAAAA,EAAA,eAAA;AAEA,YAAAC,IAAAD,EAAA,SAAA,IAAA,KAAA;AACA,MAAAV,EAAA,MAAA,aAAAA,EAAA,MAAA,aAAAW;AAAA,IAA4C,GAU7CC,IAAA,CAAAC,IAAA,OAAA;;AACC,YAAAC,IAAAd,EAAA,MAAA,cAAA,aAAA;AACA,UAAA,CAAAc,EAAA;AAEA,YAAAC,IAAA,IAGAC,IAAAF,EAAA,aAAAd,EAAA,MAAA,aAAAe,GACAE,IAAAH,EAAA,aAAAd,EAAA,MAAA,aAAAc,EAAA,cAAAC,GAGAG,IAAAlB,EAAA,MAAA,YACAmB,IAAAnB,EAAA,MAAA,cAAAA,EAAA,MAAA;AAEA,UAAAoB;AAGA,MAAAJ,IAAAE,MAAAE,IAAAJ,IAGAC,IAAAE,MAAAC,IAAAH,IAAAjB,EAAA,MAAA,cAEAoB,MAAA,WACCC,EAAA,KACCC,KAAAC,IAAAC,GAAA,MAAA,QAAAF,EAAA,KAAAC,GAAAvB,EAAA,OAAA,QAAA,EAAA,YAAAoB,EAAA,GAAAP,IAAA,MAAA,KAEAb,EAAA,MAAA,SAAA,EAAA,MAAAoB,GAAA,UAAAP,IAAA,WAAA,OAAA,CAAA;AAAA,IAEF,GAMDY,IAAA,MAAA;AACC,UAAA,MAAA,QAAA3B,EAAA,KAAA,GAEA;AAAA,YAAAA,EAAA,MAAA,WAAAF,EAAA,MAAA,QAAA;AACC,UAAAE,EAAA,QAAA,CAAAF,EAAA,MAAA,CAAA,EAAA,QAAAA,EAAA,MAAA,CAAA,EAAA,KAAA;AACA;AAAA,QAAA;AAGD,QAAAE,EAAA,QAAAF,EAAA,MAAA,IAAA,CAAAO,MAAAA,EAAA,QAAAA,EAAA,KAAA;AAAA;AAAA,IAA6D;AAG9D,WAAAuB,EAAA,MAAAd,EAAA,EAAA,CAAA,GACAe,EAAA,MAAAf,EAAA,EAAA,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
@@ -0,0 +1,4 @@
1
+ define(["require","exports","vue","./forms-Dh0QU6P9.amd","../utils/string.amd","../require/css.amd!../assets/notice.css"],function(j,p,e,f,T){"use strict";if(typeof e>"u")var e=window.Vue;const h=300,c=e.reactive(new Map),y=(o,r,t)=>"top-notice_"+T.genIntHash(o+r+JSON.stringify(t)),M=(o,r="info",t)=>{let i="";o=String(o);const d=y(o,r,t);if(t!=null&&t.title)i=t.title;else{const u=o.split(`
2
+ `);u.length&&(i=String(u.shift()),o=u.join(`
3
+ `))}const n=c.get(d);if(n){b(n);return}const a={id:d,title:i,text:o,style:r,buttonProps:t==null?void 0:t.buttonProps,metaText:t==null?void 0:t.metaText,isSafeHTML:t==null?void 0:t.isSafeHTML,selectToClose:t==null?void 0:t.selectToClose,onClose:t==null?void 0:t.onClose};if(c.set(a.id,a),c.size>5){const[u,m]=[...c].at(0)||[];m&&C(m)}f.Core.state.isMobile&&$("input").one("click",()=>C(a))},b=o=>{o.hightlight=!0,setTimeout(()=>o.hightlight=!1,h)},C=o=>{o.forceClosed=!0,setTimeout(()=>{var r;(r=o.onClose)==null||r.call(o),c.delete(o.id)},h)},_=o=>{const r="hacking was detected";return o=o.replace(/<script/g,r),o=o.replace(/<img/g,r),o=o.replace(/<iframe/g,r),o=o.replace(/javascript:/g,r),o=o.replace(/<[^>]+ (@|on)\w+=[^>]+>?/g,r),o},H={class:"top-notice_itemTextWrapper"},L=["innerHTML"],S=["innerHTML"],P=["innerHTML"],w=["title"],N=e.defineComponent({__name:"item",props:{id:{},title:{},text:{},style:{},metaText:{},buttonProps:{},isSafeHTML:{type:Boolean},hightlight:{type:Boolean},selectToClose:{type:Boolean,default:!0},forceClosed:{type:Boolean}},emits:["close"],setup(o,{emit:r}){const t=o,i=r,d=e.ref(!1);setTimeout(()=>d.value=!0,10);const n=e.ref(!1),a=e.ref("right"),u=e.computed(()=>{let l=t.title.replace(/ {2}/g,"&nbsp;");return t.isSafeHTML||(l=_(l)),l}),m=e.computed(()=>{let l=T.nl2br(t.text);return l=l.replace(/ {2}/g,"&nbsp;"),t.isSafeHTML||(l=_(l)),l}),g=l=>{n.value=!0,l&&(a.value=l),setTimeout(()=>i("close"),h)},I=l=>{if(!t.selectToClose)return;const{tagName:s}=l.target;s==="A"&&g(),s==="BUTTON"&&g()},z={mounted:l=>{if(!f.Core.state.isMobile||!f.Core.$||!f.Core.$.ui.draggable)return;let s="right";f.Core.$(l).draggable({revert:!1,axis:"x",drag:(k,B)=>{s=B.position.left>0?"right":"left"},stop:(k,B)=>{g(s)}})}};return(l,s)=>{const v=e.resolveComponent("TopButton");return e.withDirectives((e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(["top-notice_item",{["top-notice_item-"+l.style]:!0,"top-notice_item-hightlight":l.hightlight,"top-notice_item-showed":d.value,"top-notice_item-closed":n.value||l.forceClosed,["top-notice_item-closed_"+a.value]:n.value}]),onClick:I},[e.createElementVNode("div",H,[u.value?(e.openBlock(),e.createElementBlock("div",{key:0,class:"top-notice_itemTitle",innerHTML:u.value},null,8,L)):e.createCommentVNode("",!0),m.value?(e.openBlock(),e.createElementBlock("div",{key:1,class:"top-notice_itemText",innerHTML:m.value},null,8,S)):e.createCommentVNode("",!0)]),l.buttonProps?(e.openBlock(),e.createBlock(v,e.mergeProps({key:0,class:"top-notice_itemButton",size:"s"},l.buttonProps,{title:l.buttonProps.title,innerHTML:l.buttonProps.default,onClick:s[0]||(s[0]=k=>g())}),null,16,["title","innerHTML"])):e.createCommentVNode("",!0),l.metaText?(e.openBlock(),e.createElementBlock("div",{key:1,class:"top-notice_itemMetaText",innerHTML:l.metaText},null,8,P)):e.createCommentVNode("",!0),e.createElementVNode("div",{class:"top-notice_itemClose","data-top-icon":"",title:l.$i18n.Common.Close,onClick:s[1]||(s[1]=()=>g())},null,8,w)],2)),[[z]])}}}),E={class:"top-notice"},V=e.defineComponent({__name:"notice",setup(o){const r=t=>{var i;(i=t.onClose)==null||i.call(t),c.delete(t.id)};return(t,i)=>(e.openBlock(),e.createBlock(e.Teleport,{to:"body"},[e.createElementVNode("div",E,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(e.unref(c),([d,n])=>(e.openBlock(),e.createBlock(N,{key:n.id,id:n.id,title:n.title,text:n.text,style:e.normalizeStyle(n.style),buttonProps:n.buttonProps,metaText:n.metaText,isSafeHTML:n.isSafeHTML,forceClosed:n.forceClosed,hightlight:n.hightlight,onClose:a=>r(n)},null,8,["id","title","text","style","buttonProps","metaText","isSafeHTML","forceClosed","hightlight","onClose"]))),128))])]))}});p.default=V,p.show=M,Object.defineProperty(p,Symbol.toStringTag,{value:"Module"})});
4
+ //# sourceMappingURL=notice-DEcP2RCJ.amd.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"notice-DEcP2RCJ.amd.js","sources":["../../src/components/core/notice/utils.ts","../../src/components/core/notice/item/item.vue","../../src/components/core/notice/notice.vue"],"sourcesContent":["import { reactive } from 'vue';\r\nimport type { Props as ItemProps, Props, Style } from '@/components/core/notice/item/types';\r\nimport Core from '@/core/core/core';\r\nimport { genIntHash } from '@/core/utils/string';\r\n\r\nexport const transitionDuration = 300;\r\n\r\nexport type Item = Props & { onClose?: Function };\r\n\r\nexport const itemById = reactive(new Map<string, Item>());\r\n\r\nconst genItemId = (text: ItemProps['text'], style: ItemProps['style'], options?: Options) => {\r\n\treturn 'top-notice_' + genIntHash(text + style + JSON.stringify(options));\r\n};\r\n\r\nexport type Options = {\r\n\ttitle?: ItemProps['title'],\r\n\tmetaText?: ItemProps['metaText'],\r\n\tbuttonProps?: ItemProps['buttonProps'],\r\n\tisSafeHTML?: ItemProps['isSafeHTML'],\r\n\tselectToClose?: ItemProps['selectToClose'],\r\n\tonClose?: Function\r\n}\r\n\r\n/**\r\n * Показать сообщением в стиле push уведомления\r\n *\r\n * title будет получен из первой строки text\r\n *\r\n * Если в options указан title, он будет взят оттуда\r\n */\r\nexport const show = (text: string, style: Style = 'info', options?: Options) => {\r\n\tlet title = '';\r\n\r\n\ttext = String(text);\r\n\r\n\tconst id = genItemId(text, style, options);\r\n\r\n\tif (options?.title) {\r\n\t\ttitle = options.title;\r\n\t} else {\r\n\t\tconst chunks = text.split('\\n');\r\n\r\n\t\tif (chunks.length) {\r\n\t\t\ttitle = String(chunks.shift());\r\n\t\t\ttext = chunks.join('\\n');\r\n\t\t}\r\n\t}\r\n\r\n\tconst itemExists = itemById.get(id);\r\n\tif (itemExists) {\r\n\t\thightlight(itemExists);\r\n\r\n\t\treturn;\r\n\t}\r\n\r\n\tconst item: Item = {\r\n\t\tid,\r\n\t\ttitle,\r\n\t\ttext,\r\n\t\tstyle,\r\n\t\tbuttonProps: options?.buttonProps,\r\n\t\tmetaText: options?.metaText,\r\n\t\tisSafeHTML: options?.isSafeHTML,\r\n\t\tselectToClose: options?.selectToClose,\r\n\t\tonClose: options?.onClose,\r\n\t};\r\n\r\n\titemById.set(item.id, item);\r\n\r\n\tif (itemById.size > 5) {\r\n\t\tconst [_firstId, firstItem] = [...itemById].at(0) || [];\r\n\t\tif (firstItem) close(firstItem);\r\n\t}\r\n\r\n\t/**\r\n\t * Автозакрытие ошибок форм\r\n\t *\r\n\t * Добавляет\r\n\t */\r\n\tif (Core.state.isMobile) {\r\n\t\t$('input').one('click', () => close(item));\r\n\t}\r\n};\r\n\r\nconst hightlight = (item: Item) => {\r\n\titem.hightlight = true;\r\n\r\n\tsetTimeout(() => item.hightlight = false, transitionDuration);\r\n};\r\n\r\nconst close = (item: Item) => {\r\n\titem.forceClosed = true;\r\n\r\n\tsetTimeout(() => {\r\n\t\titem.onClose?.();\r\n\r\n\t\titemById.delete(item.id);\r\n\t}, transitionDuration);\r\n};\r\n\r\n/**\r\n * Убрать подозрительный html код\r\n */\r\nexport const prepareText = (text: string) => {\r\n\tconst textNoSafety = 'hacking was detected';\r\n\r\n\ttext = text.replace(/<script/g, textNoSafety);\r\n\ttext = text.replace(/<img/g, textNoSafety);\r\n\ttext = text.replace(/<iframe/g, textNoSafety);\r\n\ttext = text.replace(/javascript:/g, textNoSafety);\r\n\ttext = text.replace(/<[^>]+ (@|on)\\w+=[^>]+>?/g, textNoSafety);\r\n\r\n\treturn text;\r\n};\r\n","<script setup lang=\"ts\">\r\nimport { computed, ref, withDefaults } from 'vue';\r\n\r\nimport Core from '@/core/core/core';\r\nimport { nl2br } from '@/core/utils/string';\r\n\r\nimport type { Emits, Props } from './types';\r\nimport { prepareText, transitionDuration } from '@/components/core/notice/utils';\r\n\r\nconst props = withDefaults(defineProps<Props>(), {\r\n\tselectToClose: true,\r\n});\r\n\r\nconst emit = defineEmits<Emits>();\r\n\r\n// анимация появления\r\nconst showed = ref(false);\r\nsetTimeout(() => showed.value = true, 10);\r\n\r\n// анимация закрытия\r\nconst closed = ref(false);\r\nconst closedDirection = ref<'top' | 'right' | 'bottom' | 'left'>('right');\r\n\r\nconst title = computed(() => {\r\n\tlet res = props.title.replace(/ {2}/g, '&nbsp;');\r\n\r\n\tif (!props.isSafeHTML) res = prepareText(res);\r\n\r\n\treturn res;\r\n});\r\n\r\nconst text = computed(() => {\r\n\tlet res = nl2br(props.text);\r\n\r\n\tres = res.replace(/ {2}/g, '&nbsp;');\r\n\r\n\tif (!props.isSafeHTML) res = prepareText(res);\r\n\r\n\treturn res;\r\n});\r\n\r\nconst close = (direction?: typeof closedDirection.value) => {\r\n\tclosed.value = true;\r\n\r\n\tif (direction) {\r\n\t\tclosedDirection.value = direction;\r\n\t}\r\n\r\n\tsetTimeout(() => emit('close'), transitionDuration);\r\n};\r\n\r\nconst onClick = (e: MouseEvent) => {\r\n\tif (!props.selectToClose) return;\r\n\r\n\tconst { tagName } = e.target as HTMLElement;\r\n\r\n\tif (tagName === 'A') close();\r\n\tif (tagName === 'BUTTON') close();\r\n};\r\n\r\nconst vSwipe = {\r\n\tmounted: (el: HTMLElement) => {\r\n\t\tif (!Core.state.isMobile) return;\r\n\r\n\t\tif (!Core.$ || !Core.$.ui['draggable']) return;\r\n\r\n\t\tlet direction: typeof closedDirection.value = 'right';\r\n\r\n\t\tlet axis = 'x';\r\n\t\t// if (getOS() === 'iOS') axis = 'y';\r\n\r\n\t\tCore.$(el).draggable({\r\n\t\t\trevert: false,\r\n\t\t\taxis,\r\n\t\t\tdrag: (_e, ui) => {\r\n\t\t\t\tif (axis == 'x') {\r\n\t\t\t\t\tdirection = ui.position.left > 0 ? 'right' : 'left';\r\n\t\t\t\t} else {\r\n\t\t\t\t\tdirection = ui.position.top > 0 ? 'bottom' : 'top';\r\n\t\t\t\t}\r\n\t\t\t},\r\n\t\t\tstop: (_e, _ui) => {\r\n\t\t\t\tclose(direction);\r\n\t\t\t},\r\n\t\t});\r\n\t},\r\n};\r\n\r\n// const vSwipe = {\r\n// \tmounted: (el: HTMLElement) => {\r\n// \t\tconst { distanceX, direction } = usePointerSwipe(el, {\r\n// \t\t\tdisableTextSelect: true,\r\n// \t\t\tonSwipe(e: PointerEvent) {\r\n// \t\t\t\tleft.value = -distanceX.value + 'px';\r\n// \t\t\t},\r\n// \t\t\tonSwipeEnd: (_e, direction) => {\r\n// \t\t\t\tclose(direction);\r\n// \t\t\t},\r\n// \t\t});\r\n// \t},\r\n// };\r\n</script>\r\n\r\n<template>\r\n\t<div\r\n\t\tclass=\"top-notice_item\"\r\n\t\t:class=\"{\r\n\t\t\t['top-notice_item-' + style]: true,\r\n\t\t\t'top-notice_item-hightlight': hightlight,\r\n\t\t\t'top-notice_item-showed': showed,\r\n\t\t\t'top-notice_item-closed': closed || forceClosed,\r\n\t\t\t['top-notice_item-closed_' + closedDirection]: closed,\r\n\t\t}\"\r\n\t\t@click=\"onClick\"\r\n\t\tv-swipe\r\n\t>\r\n\t\t<div class=\"top-notice_itemTextWrapper\">\r\n\t\t\t<div v-if=\"title\" class=\"top-notice_itemTitle\" v-html=\"title\"></div>\r\n\t\t\t<div v-if=\"text\" class=\"top-notice_itemText\" v-html=\"text\"></div>\r\n\t\t</div>\r\n\r\n\t\t<TopButton\r\n\t\t\tv-if=\"buttonProps\"\r\n\t\t\tclass=\"top-notice_itemButton\"\r\n\t\t\tsize=\"s\"\r\n\t\t\t:=\"buttonProps\"\r\n\t\t\t:title=\"buttonProps.title\"\r\n\t\t\tv-html=\"buttonProps.default\"\r\n\t\t\t@click=\"close()\"\r\n\t\t/>\r\n\r\n\t\t<div v-if=\"metaText\" class=\"top-notice_itemMetaText\" v-html=\"metaText\"></div>\r\n\r\n\t\t<div\r\n\t\t\tclass=\"top-notice_itemClose\"\r\n\t\t\tdata-top-icon=\"\"\r\n\t\t\t:title=\"$i18n.Common.Close\"\r\n\t\t\t@click=\"() => close()\"\r\n\t\t></div>\r\n\t</div>\r\n</template>\r\n\r\n<style>\r\n@import \"style.css\";\r\n</style>\r\n","<!-- performance all in one file component, для Core.notice() -->\r\n<script lang=\"ts\">\r\nexport { show } from './utils';\r\n</script>\r\n\r\n<script setup lang=\"ts\">\r\nimport type { Item } from './utils';\r\nimport { itemById } from './utils';\r\n\r\nimport type { Props } from './types';\r\nimport TopNoticeItem from './item/item.vue';\r\n\r\ndefineProps<Props>();\r\n\r\nconst onCloseItem = (item: Item) => {\r\n\titem.onClose?.();\r\n\r\n\titemById.delete(item.id);\r\n};\r\n</script>\r\n\r\n<template>\r\n\t<teleport to=\"body\">\r\n\t\t<div class=\"top-notice\">\r\n\t\t\t<TopNoticeItem\r\n\t\t\t\tv-for=\"[_index, item] in itemById\"\r\n\t\t\t\t:key=\"item.id\"\r\n\t\t\t\t:id=\"item.id\"\r\n\t\t\t\t:title=\"item.title\"\r\n\t\t\t\t:text=\"item.text\"\r\n\t\t\t\t:style=\"item.style\"\r\n\t\t\t\t:buttonProps=\"item.buttonProps\"\r\n\t\t\t\t:metaText=\"item.metaText\"\r\n\t\t\t\t:isSafeHTML=\"item.isSafeHTML\"\r\n\t\t\t\t:forceClosed=\"item.forceClosed\"\r\n\t\t\t\t:hightlight=\"item.hightlight\"\r\n\t\t\t\t@close=\"onCloseItem(item)\"\r\n\t\t\t/>\r\n\t\t</div>\r\n\t</teleport>\r\n</template>\r\n\r\n<style>\r\n:root {\r\n\t--top-notice-top: var(--top-padding-4);\r\n\t--top-notice-right: var(--top-padding-4);\r\n}\r\n\r\n.top-notice {\r\n\twidth: 400px;\r\n\tfont-size: 14px;\r\n\tposition: fixed; top: var(--top-notice-top); right: var(--top-notice-right);\r\n\tz-index: 1000010;\r\n\tdisplay: flex; flex-direction: column-reverse; gap: var(--top-gap-2);\r\n}\r\n\r\n.top-notice ul {\r\n\tpadding: 0 0 0 var(--top-padding-5);\r\n}\r\n\r\n@media only screen and (max-width: 600px) {\r\n\t:root {\r\n\t\t--top-notice-top: var(--top-padding-4);\r\n\t\t--top-notice-right: var(--top-padding-4);\r\n\t}\r\n\r\n\t.top-notice { width: auto; left: var(--top-notice-right); }\r\n}\r\n</style>\r\n"],"names":["itemById","vue","utils_string","text","style","options","show","title","chunks","id","_firstId","firstItem","close","forms","item","hightlight","prepareText","showed","closed","closedDirection","res","props","direction","onClick","e","tagName","el","_e","ui","_ui","onCloseItem"],"mappings":"wMASOA,EAAAC,EAAA,SAAA,IAAA,GAAA,aAGN,cAAAC,EAAA,WAAAC,EAAAC,EAAA,KAAA,UAAAC,CAAA,CAAA,EAmBMC,EAAA,CAAAH,EAAAC,EAAA,OAAAC,IAAA,UAGNF,EAAA,OAAAA,CAAA,mBAIA,GAAAE,GAAA,MAAAA,EAAA,MACCE,EAAAF,EAAA,UAAgB;GAIhBG,EAAA,6BAECL,EAAAK,EAAA,KAAA;AAAA,CAAA,EACD,mCAOA,UAGkB,GAAAC,EAClB,MAAAF,EACA,KAAAJ,EACA,MAAAC,EACA,YAAAC,GAAA,YAAAA,EAAA,YACsB,SAAAA,GAAA,YAAAA,EAAA,SACH,WAAAA,GAAA,YAAAA,EAAA,WACE,cAAAA,GAAA,YAAAA,EAAA,gDAOtB,iBAAAL,EAAA,KAAA,EAAA,CACC,KAAA,CAAAU,EAAAC,CAAA,EAAA,CAAA,GAAAX,CAAA,EAAA,GAAA,CAAA,GAAA,CAAA,EACAW,GAAAC,EAAAD,CAAA,CAA8B,CAQ/BE,EAAA,KAAA,MAAA,UACC,EAAA,OAAA,EAAA,IAAA,QAAA,IAAAD,EAAAE,CAAA,CAAA,CAEF,EAEAC,EAAAD,GAAA,CACCA,EAAA,WAAA,sCAKDF,EAAAE,GAAA,CACCA,EAAA,YAAA,wDAKCd,EAAA,OAAAc,EAAA,EAAA,OAOWE,EAAAb,GAAA,2LASZA,mXCjGDc,EAAAhB,EAAA,IAAA,EAAA,gCAIA,MAAAiB,EAAAjB,EAAA,IAAA,EAAA,EACAkB,EAAAlB,EAAA,IAAA,OAAA,EAEAM,EAAAN,EAAA,SAAA,IAAA,CACC,IAAAmB,EAAAC,EAAA,MAAA,QAAA,QAAA,QAAA,gCAIAD,CAAO,CAAA,EAGRjB,EAAAF,EAAA,SAAA,IAAA,mFAOCmB,CAAO,CAAA,EAGRR,EAAAU,GAAA,CACCJ,EAAA,MAAA,OAGCC,EAAA,MAAAG,iCAMFC,EAAAC,GAAA,CACC,GAAA,CAAAH,EAAA,cAAA,OAEA,KAAA,CAAA,QAAAI,CAAA,EAAAD,EAAA,OAEAC,IAAA,KAAAb,EAAA,EACAa,IAAA,UAAAb,EAAA,MAGc,QAAAc,GAAA,CAIb,GAFA,CAAAb,EAAA,KAAA,MAAA,UAEA,CAAAA,EAAA,KAAA,GAAA,CAAAA,EAAA,KAAA,EAAA,GAAA,UAAA,sDAQS,SACR,KAAA,CAAAc,EAAAC,IAAA,CAGEN,EAAAM,EAAA,SAAA,KAAA,EAAA,QAAA,QAIF,KAAA,CAAAD,EAAAE,IAAA,KAEgB,CAChB,CAAA,CACA,s0CCtEH,MAAAC,EAAAhB,GAAA,sCAGCd,EAAA,OAAAc,EAAA,EAAA"}