@topvisor/ui 1.5.0-updates.0 → 1.5.0-updates.10

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 (580) hide show
  1. package/.chunks/api-CawzY1Cw.amd.js +2 -0
  2. package/.chunks/api-CawzY1Cw.amd.js.map +1 -0
  3. package/.chunks/api-CawzY1Cw.esm.js +208 -0
  4. package/.chunks/api-CawzY1Cw.esm.js.map +1 -0
  5. package/.chunks/app-CCX-gNqz.amd.js +2 -0
  6. package/.chunks/app-CCX-gNqz.amd.js.map +1 -0
  7. package/.chunks/app-CCX-gNqz.esm.js +396 -0
  8. package/.chunks/app-CCX-gNqz.esm.js.map +1 -0
  9. package/.chunks/datepicker-BTkZOq7d.amd.js +2 -0
  10. package/.chunks/datepicker-BTkZOq7d.amd.js.map +1 -0
  11. package/.chunks/datepicker-BTkZOq7d.esm.js +38 -0
  12. package/.chunks/datepicker-BTkZOq7d.esm.js.map +1 -0
  13. package/.chunks/dialog-DeM4SApg.amd.js +2 -0
  14. package/.chunks/dialog-DeM4SApg.amd.js.map +1 -0
  15. package/.chunks/dialog-DeM4SApg.esm.js +117 -0
  16. package/.chunks/dialog-DeM4SApg.esm.js.map +1 -0
  17. package/.chunks/dialog_regionSelectorRegions-CYrmaDt3.amd.js +2 -0
  18. package/.chunks/dialog_regionSelectorRegions-CYrmaDt3.amd.js.map +1 -0
  19. package/.chunks/dialog_regionSelectorRegions-CYrmaDt3.esm.js +169 -0
  20. package/.chunks/dialog_regionSelectorRegions-CYrmaDt3.esm.js.map +1 -0
  21. package/.chunks/dialogs-CMrERMI7.amd.js +2 -0
  22. package/.chunks/dialogs-CMrERMI7.amd.js.map +1 -0
  23. package/.chunks/dialogs-CMrERMI7.esm.js +237 -0
  24. package/.chunks/dialogs-CMrERMI7.esm.js.map +1 -0
  25. package/.chunks/field-CjkpGeA7.amd.js +2 -0
  26. package/.chunks/field-CjkpGeA7.amd.js.map +1 -0
  27. package/.chunks/field-CjkpGeA7.esm.js +16 -0
  28. package/.chunks/field-CjkpGeA7.esm.js.map +1 -0
  29. package/.chunks/forms-CbUt-6Ff.amd.js +2 -0
  30. package/.chunks/forms-CbUt-6Ff.amd.js.map +1 -0
  31. package/.chunks/forms-CbUt-6Ff.esm.js +1991 -0
  32. package/.chunks/forms-CbUt-6Ff.esm.js.map +1 -0
  33. package/.chunks/formsExt-CrTmBhja.amd.js +2 -0
  34. package/.chunks/formsExt-CrTmBhja.amd.js.map +1 -0
  35. package/.chunks/formsExt-CrTmBhja.esm.js +807 -0
  36. package/.chunks/formsExt-CrTmBhja.esm.js.map +1 -0
  37. package/.chunks/lazy-CGswTOPj.amd.js +2 -0
  38. package/.chunks/lazy-CGswTOPj.amd.js.map +1 -0
  39. package/.chunks/lazy-CGswTOPj.esm.js +68 -0
  40. package/.chunks/lazy-CGswTOPj.esm.js.map +1 -0
  41. package/.chunks/mocker-CwZe-g4N.amd.js +2 -0
  42. package/.chunks/mocker-CwZe-g4N.amd.js.map +1 -0
  43. package/.chunks/mocker-CwZe-g4N.esm.js +45 -0
  44. package/.chunks/mocker-CwZe-g4N.esm.js.map +1 -0
  45. package/.chunks/notice-CslVdVNm.amd.js +4 -0
  46. package/.chunks/notice-CslVdVNm.amd.js.map +1 -0
  47. package/.chunks/notice-CslVdVNm.esm.js +191 -0
  48. package/.chunks/notice-CslVdVNm.esm.js.map +1 -0
  49. package/.chunks/popup-DrByVU-k.amd.js +2 -0
  50. package/.chunks/popup-DrByVU-k.amd.js.map +1 -0
  51. package/.chunks/popup-DrByVU-k.esm.js +444 -0
  52. package/.chunks/popup-DrByVU-k.esm.js.map +1 -0
  53. package/.chunks/popup-dNrN-eKi.amd.js +2 -0
  54. package/.chunks/popup-dNrN-eKi.amd.js.map +1 -0
  55. package/.chunks/popup-dNrN-eKi.esm.js +323 -0
  56. package/.chunks/popup-dNrN-eKi.esm.js.map +1 -0
  57. package/.chunks/punycode.es6-B-5kB2YI.amd.js +2 -0
  58. package/.chunks/{punycode.es6-CgGegfA_.es.js.map → punycode.es6-B-5kB2YI.amd.js.map} +1 -1
  59. package/.chunks/punycode.es6-B-5kB2YI.esm.js +105 -0
  60. package/.chunks/punycode.es6-B-5kB2YI.esm.js.map +1 -0
  61. package/.chunks/store-DuQpSSLL.amd.js +2 -0
  62. package/.chunks/store-DuQpSSLL.amd.js.map +1 -0
  63. package/.chunks/store-DuQpSSLL.esm.js +27 -0
  64. package/.chunks/store-DuQpSSLL.esm.js.map +1 -0
  65. package/.chunks/utils-BwiXsV0S.amd.js +2 -0
  66. package/.chunks/{utils-BNzP9anP.es.js.map → utils-BwiXsV0S.amd.js.map} +1 -1
  67. package/.chunks/utils-BwiXsV0S.esm.js +43 -0
  68. package/.chunks/utils-BwiXsV0S.esm.js.map +1 -0
  69. package/.chunks/utils-Dd0MZgyw.amd.js +2 -0
  70. package/.chunks/utils-Dd0MZgyw.amd.js.map +1 -0
  71. package/.chunks/utils-Dd0MZgyw.esm.js +287 -0
  72. package/.chunks/utils-Dd0MZgyw.esm.js.map +1 -0
  73. package/.chunks/worker-Db8YrEHo.amd.js +2 -0
  74. package/.chunks/worker-Db8YrEHo.amd.js.map +1 -0
  75. package/.chunks/worker-Db8YrEHo.esm.js +100 -0
  76. package/.chunks/worker-Db8YrEHo.esm.js.map +1 -0
  77. package/api/additional.amd.js +2 -2
  78. package/api/additional.amd.js.map +1 -1
  79. package/api/additional.d.ts +1 -0
  80. package/api/additional.js +70 -66
  81. package/api/additional.js.map +1 -1
  82. package/api/index.amd.js +2 -2
  83. package/api/index.amd.js.map +1 -1
  84. package/api/index.d.ts +1 -0
  85. package/api/index.js +3 -285
  86. package/assets/charts.css +1 -1
  87. package/assets/core.css +1 -1
  88. package/assets/dialog_regionSelectorRegions.css +1 -1
  89. package/assets/extra.css +1 -1
  90. package/assets/forms.css +1 -1
  91. package/assets/formsExt.css +1 -0
  92. package/assets/layout.css +1 -1
  93. package/assets/notice.css +1 -1
  94. package/assets/popup.css +1 -0
  95. package/assets/project.css +1 -1
  96. package/assets/tabs.css +1 -1
  97. package/assets/tabsView.css +1 -1
  98. package/assets/themes/dark-th.css +1 -1
  99. package/assets/themes/dark.css +1 -1
  100. package/assets/themes/light.css +1 -1
  101. package/autoload-css-manifest.amd.json +79 -0
  102. package/autoload-css-manifest.json +90 -0
  103. package/charts/charts.amd.js +2 -2
  104. package/charts/charts.amd.js.map +1 -1
  105. package/charts/charts.d.ts +1 -0
  106. package/charts/charts.js +146 -174
  107. package/charts/charts.js.map +1 -1
  108. package/core/app.amd.js +2 -2
  109. package/core/app.amd.js.map +1 -1
  110. package/core/app.d.ts +1 -0
  111. package/core/app.js +5 -213
  112. package/dialog/dialog.amd.js +2 -2
  113. package/dialog/dialog.amd.js.map +1 -1
  114. package/dialog/dialog.d.ts +1 -0
  115. package/dialog/dialog.js +4 -60
  116. package/extra/extra.amd.js +2 -2
  117. package/extra/extra.amd.js.map +1 -1
  118. package/extra/extra.d.ts +1 -0
  119. package/extra/extra.js +73 -69
  120. package/extra/extra.js.map +1 -1
  121. package/forms/forms.amd.js +2 -2
  122. package/forms/forms.amd.js.map +1 -1
  123. package/forms/forms.d.ts +1 -0
  124. package/forms/forms.js +2 -19
  125. package/forms/helpers.amd.js +2 -2
  126. package/forms/helpers.amd.js.map +1 -1
  127. package/forms/helpers.js +0 -2
  128. package/formsExt/formsExt.amd.js +2 -2
  129. package/formsExt/formsExt.amd.js.map +1 -1
  130. package/formsExt/formsExt.d.ts +1 -0
  131. package/formsExt/formsExt.js +2 -373
  132. package/icomoon/Topvisor icons.json +259 -231
  133. package/icomoon/demo-files/demo.amd.js +2 -0
  134. package/icomoon/demo-files/demo.amd.js.map +1 -0
  135. package/icomoon/demo.amd.js +2 -0
  136. package/icomoon/demo.amd.js.map +1 -0
  137. package/icomoon/demo.html +15 -1
  138. package/icomoon/fonts/Topvisor-2.eot +0 -0
  139. package/icomoon/fonts/Topvisor-2.svg +1 -0
  140. package/icomoon/fonts/Topvisor-2.ttf +0 -0
  141. package/icomoon/fonts/Topvisor-2.woff +0 -0
  142. package/icomoon/selection.json +1 -1
  143. package/icomoon/style.css +8 -5
  144. package/layout/layout.amd.js +2 -2
  145. package/layout/layout.amd.js.map +1 -1
  146. package/layout/layout.d.ts +1 -0
  147. package/layout/layout.js +41 -57
  148. package/layout/layout.js.map +1 -1
  149. package/package.json +1 -1
  150. package/popup/popup.amd.js +2 -2
  151. package/popup/popup.amd.js.map +1 -1
  152. package/popup/popup.d.ts +1 -0
  153. package/popup/popup.js +2 -282
  154. package/popup/worker.amd.js +2 -2
  155. package/popup/worker.amd.js.map +1 -1
  156. package/popup/worker.d.ts +1 -0
  157. package/popup/worker.js +2 -144
  158. package/project/project.amd.js +2 -2
  159. package/project/project.amd.js.map +1 -1
  160. package/project/project.d.ts +1 -0
  161. package/project/project.js +1678 -1643
  162. package/project/project.js.map +1 -1
  163. package/src/{src/components → components}/charts/miniCharts/miniCharts.d.ts +1 -1
  164. package/src/{src/components → components}/core/notice/item/types.d.ts +1 -1
  165. package/src/{src/components → components}/core/notice/utils.d.ts +1 -1
  166. package/src/{src/components → components}/dialog/dialog/composables/dialogHandle.d.ts +1 -1
  167. package/src/{src/components → components}/dialog/dialog/dialogs/dialogs.vue.d.ts +2 -2
  168. package/src/{src/components → components}/dialog/dialog/stories/dialog_example/pages/utils.d.ts +1 -1
  169. package/src/components/dialog/dialog.d.ts +6 -0
  170. package/src/{src/components → components}/dialog/lib/worker.d.ts +1 -1
  171. package/src/{src/components → components}/forms/button/types.d.ts +1 -1
  172. package/src/{src/components → components}/forms/input/types.d.ts +1 -1
  173. package/src/components/forms/inputDate/types.d.ts +1 -0
  174. package/src/{src/components → components}/forms/select/types.d.ts +1 -1
  175. package/src/{src/components → components}/formsExt/editArea/types.d.ts +1 -1
  176. package/src/{src/components → components}/formsExt/editInput/types.d.ts +2 -2
  177. package/src/{src/components → components}/formsExt/libs/optionGroup/types.d.ts +1 -1
  178. package/src/{src/components → components}/formsExt/menu/types.d.ts +1 -1
  179. package/src/{src/components → components}/formsExt/policy/policy.vue.d.ts +1 -1
  180. package/src/{src/components → components}/formsExt/selector2/types.d.ts +3 -3
  181. package/src/{src/components → components}/popup/lib/popup.d.ts +2 -2
  182. package/src/{src/components → components}/popup/lib/worker.d.ts +2 -2
  183. package/src/{src/components → components}/popup/popup/popup.vue.d.ts +1 -1
  184. package/src/{src/components → components}/popup/popup/widgetInput/widgetInput.vue.d.ts +1 -1
  185. package/src/{src/components → components}/popup/popupConfirm/popupConfirm.vue.d.ts +1 -1
  186. package/src/{src/components → components}/project/competitorSelector/composables.d.ts +1 -1
  187. package/src/{src/components → components}/project/competitorSelector/types.d.ts +1 -1
  188. package/src/{src/components → components}/project/groupSelector/folders/types.d.ts +2 -2
  189. package/src/components/project/groupSelector/folders/utils.d.ts +57 -0
  190. package/src/{src/components → components}/project/groupSelector/groups/groups.vue.d.ts +1 -1
  191. package/src/{src/components → components}/project/groupSelector/groups/types.d.ts +2 -2
  192. package/src/components/project/groupSelector/groups/utils.d.ts +78 -0
  193. package/src/{src/components → components}/project/groupSelector/stories/mocks/index.d.ts +1 -1
  194. package/src/{src/components → components}/project/projectSelector/cache.d.ts +1 -1
  195. package/src/{src/components → components}/project/projectSelector/projectSelector.vue.d.ts +1 -1
  196. package/src/{src/components → components}/project/projectSelector/types.d.ts +2 -2
  197. package/src/{src/components → components}/project/projectSelector/utils.d.ts +41 -40
  198. package/src/{src/components → components}/project/regionSelector/composables/selectRegion.d.ts +1 -1
  199. package/src/{src/components → components}/project/regionSelector/composables/selectSearcher.d.ts +1 -1
  200. package/src/{src/components → components}/project/regionSelector/dialog_regionSelectorRegions/types.d.ts +1 -1
  201. package/src/{src/components → components}/project/tagSelector/popupOpener/types.d.ts +1 -1
  202. package/src/{src/components → components}/project/tagSelector/types.d.ts +1 -1
  203. package/src/{src/components → components}/project/tagSelector/utils/el.d.ts +1 -1
  204. package/src/{src/components → components}/tabsView/tabsView/store.d.ts +1 -1
  205. package/src/{src/core → core}/app.d.ts +2 -2
  206. package/src/{src/core → core}/core/core.d.ts +3 -3
  207. package/src/{src/core → core}/plugins/core.d.ts +6 -6
  208. package/src/{src/core → core}/utils/price.d.ts +2 -2
  209. package/src/core/utils/store.d.ts +6 -0
  210. package/tabs/tabs.amd.js +2 -2
  211. package/tabs/tabs.amd.js.map +1 -1
  212. package/tabs/tabs.d.ts +1 -0
  213. package/tabs/tabs.js +63 -77
  214. package/tabs/tabs.js.map +1 -1
  215. package/tabsView/tabsView.amd.js +2 -2
  216. package/tabsView/tabsView.amd.js.map +1 -1
  217. package/tabsView/tabsView.d.ts +1 -0
  218. package/tabsView/tabsView.js +245 -288
  219. package/tabsView/tabsView.js.map +1 -1
  220. package/utils/check.amd.js +2 -2
  221. package/utils/check.amd.js.map +1 -1
  222. package/utils/check.d.ts +1 -0
  223. package/utils/check.js +15 -19
  224. package/utils/check.js.map +1 -1
  225. package/utils/clipboard.amd.js +6 -6
  226. package/utils/clipboard.amd.js.map +1 -1
  227. package/utils/clipboard.d.ts +1 -0
  228. package/utils/clipboard.js +26 -31
  229. package/utils/clipboard.js.map +1 -1
  230. package/utils/date.amd.js +2 -2
  231. package/utils/date.amd.js.map +1 -1
  232. package/utils/date.d.ts +1 -0
  233. package/utils/date.js +2 -12
  234. package/utils/device.amd.js +2 -2
  235. package/utils/device.amd.js.map +1 -1
  236. package/utils/device.d.ts +1 -0
  237. package/utils/device.js +2 -15
  238. package/utils/dom.amd.js +2 -2
  239. package/utils/dom.amd.js.map +1 -1
  240. package/utils/dom.d.ts +5 -0
  241. package/utils/dom.js +53 -67
  242. package/utils/dom.js.map +1 -1
  243. package/utils/image.amd.js +3 -3
  244. package/utils/image.amd.js.map +1 -1
  245. package/utils/image.d.ts +1 -0
  246. package/utils/image.js +12 -22
  247. package/utils/image.js.map +1 -1
  248. package/utils/keyboard.amd.js +2 -2
  249. package/utils/keyboard.amd.js.map +1 -1
  250. package/utils/keyboard.d.ts +1 -0
  251. package/utils/keyboard.js +10 -11
  252. package/utils/keyboard.js.map +1 -1
  253. package/utils/lodash.amd.js +2 -2
  254. package/utils/lodash.amd.js.map +1 -1
  255. package/utils/lodash.d.ts +1 -0
  256. package/utils/lodash.js +2 -9
  257. package/utils/number.amd.js +2 -2
  258. package/utils/number.amd.js.map +1 -1
  259. package/utils/number.d.ts +1 -0
  260. package/utils/number.js +12 -12
  261. package/utils/number.js.map +1 -1
  262. package/utils/price.amd.js +2 -2
  263. package/utils/price.amd.js.map +1 -1
  264. package/utils/price.d.ts +1 -0
  265. package/utils/price.js +14 -9
  266. package/utils/price.js.map +1 -1
  267. package/utils/route.amd.js +2 -2
  268. package/utils/route.amd.js.map +1 -1
  269. package/utils/route.d.ts +1 -0
  270. package/utils/route.js +33 -37
  271. package/utils/route.js.map +1 -1
  272. package/utils/scroll.amd.js +2 -2
  273. package/utils/scroll.amd.js.map +1 -1
  274. package/utils/scroll.d.ts +1 -0
  275. package/utils/scroll.js +39 -43
  276. package/utils/scroll.js.map +1 -1
  277. package/utils/searchers.amd.js +2 -2
  278. package/utils/searchers.amd.js.map +1 -1
  279. package/utils/searchers.d.ts +1 -0
  280. package/utils/searchers.js +128 -133
  281. package/utils/searchers.js.map +1 -1
  282. package/utils/store.amd.js +2 -2
  283. package/utils/store.amd.js.map +1 -1
  284. package/utils/store.d.ts +1 -0
  285. package/utils/store.js +2 -7
  286. package/utils/string.amd.js +2 -2
  287. package/utils/string.amd.js.map +1 -1
  288. package/utils/string.d.ts +1 -0
  289. package/utils/string.js +120 -147
  290. package/utils/string.js.map +1 -1
  291. package/utils/system.amd.js +2 -2
  292. package/utils/system.amd.js.map +1 -1
  293. package/utils/system.d.ts +1 -0
  294. package/utils/system.js +25 -28
  295. package/utils/system.js.map +1 -1
  296. package/utils/url.amd.js +3 -3
  297. package/utils/url.amd.js.map +1 -1
  298. package/utils/url.d.ts +1 -0
  299. package/utils/url.js +36 -47
  300. package/utils/url.js.map +1 -1
  301. package/.chunks/core-Dgj_YGWh.es.js +0 -268
  302. package/.chunks/core-Dgj_YGWh.es.js.map +0 -1
  303. package/.chunks/core-DzDFXOdI.amd.js +0 -2
  304. package/.chunks/core-DzDFXOdI.amd.js.map +0 -1
  305. package/.chunks/datepicker-oa8ZwRhq.amd.js +0 -2
  306. package/.chunks/datepicker-oa8ZwRhq.amd.js.map +0 -1
  307. package/.chunks/datepicker-qToxk2nN.es.js +0 -41
  308. package/.chunks/datepicker-qToxk2nN.es.js.map +0 -1
  309. package/.chunks/dialog_regionSelectorRegions-CZ0tMVSq.amd.js +0 -2
  310. package/.chunks/dialog_regionSelectorRegions-CZ0tMVSq.amd.js.map +0 -1
  311. package/.chunks/dialog_regionSelectorRegions-qDW2Ejsv.es.js +0 -180
  312. package/.chunks/dialog_regionSelectorRegions-qDW2Ejsv.es.js.map +0 -1
  313. package/.chunks/dialogs.vue_vue_type_script_setup_true_lang-BBix_8WK.amd.js +0 -2
  314. package/.chunks/dialogs.vue_vue_type_script_setup_true_lang-BBix_8WK.amd.js.map +0 -1
  315. package/.chunks/dialogs.vue_vue_type_script_setup_true_lang-CJ97l1ST.es.js +0 -323
  316. package/.chunks/dialogs.vue_vue_type_script_setup_true_lang-CJ97l1ST.es.js.map +0 -1
  317. package/.chunks/field-Cvv0SRcJ.amd.js +0 -2
  318. package/.chunks/field-Cvv0SRcJ.amd.js.map +0 -1
  319. package/.chunks/field-CyyFzM-Y.es.js +0 -16
  320. package/.chunks/field-CyyFzM-Y.es.js.map +0 -1
  321. package/.chunks/forms-DDNzqU6o.amd.js +0 -3
  322. package/.chunks/forms-DDNzqU6o.amd.js.map +0 -1
  323. package/.chunks/forms-DtC-EKJL.es.js +0 -2053
  324. package/.chunks/forms-DtC-EKJL.es.js.map +0 -1
  325. package/.chunks/index-DLUtoTUg.amd.js +0 -2
  326. package/.chunks/index-DLUtoTUg.amd.js.map +0 -1
  327. package/.chunks/index-DkQWJkMc.es.js +0 -54
  328. package/.chunks/index-DkQWJkMc.es.js.map +0 -1
  329. package/.chunks/lazy-DDNqYkXn.amd.js +0 -2
  330. package/.chunks/lazy-DDNqYkXn.amd.js.map +0 -1
  331. package/.chunks/lazy-HKSyLh72.es.js +0 -75
  332. package/.chunks/lazy-HKSyLh72.es.js.map +0 -1
  333. package/.chunks/notice-BvQl911b.es.js +0 -191
  334. package/.chunks/notice-BvQl911b.es.js.map +0 -1
  335. package/.chunks/notice-CJ3WOTCM.amd.js +0 -4
  336. package/.chunks/notice-CJ3WOTCM.amd.js.map +0 -1
  337. package/.chunks/page.vue_vue_type_script_setup_true_lang-Dd5-B4Ss.es.js +0 -139
  338. package/.chunks/page.vue_vue_type_script_setup_true_lang-Dd5-B4Ss.es.js.map +0 -1
  339. package/.chunks/page.vue_vue_type_script_setup_true_lang-fl6-Ql4d.amd.js +0 -2
  340. package/.chunks/page.vue_vue_type_script_setup_true_lang-fl6-Ql4d.amd.js.map +0 -1
  341. package/.chunks/policy.vue_vue_type_style_index_0_lang-Bv3LwNDC.es.js +0 -519
  342. package/.chunks/policy.vue_vue_type_style_index_0_lang-Bv3LwNDC.es.js.map +0 -1
  343. package/.chunks/policy.vue_vue_type_style_index_0_lang-Da7rztT5.amd.js +0 -2
  344. package/.chunks/policy.vue_vue_type_style_index_0_lang-Da7rztT5.amd.js.map +0 -1
  345. package/.chunks/popup-OuDglAOF.es.js +0 -470
  346. package/.chunks/popup-OuDglAOF.es.js.map +0 -1
  347. package/.chunks/popup-yXIpyok3.amd.js +0 -2
  348. package/.chunks/popup-yXIpyok3.amd.js.map +0 -1
  349. package/.chunks/popupHint.vue_vue_type_style_index_0_lang-Bu_HvFoW.amd.js +0 -2
  350. package/.chunks/popupHint.vue_vue_type_style_index_0_lang-Bu_HvFoW.amd.js.map +0 -1
  351. package/.chunks/popupHint.vue_vue_type_style_index_0_lang-DAQIAxvu.es.js +0 -209
  352. package/.chunks/popupHint.vue_vue_type_style_index_0_lang-DAQIAxvu.es.js.map +0 -1
  353. package/.chunks/punycode.es6-CNOnFR2-.amd.js +0 -2
  354. package/.chunks/punycode.es6-CNOnFR2-.amd.js.map +0 -1
  355. package/.chunks/punycode.es6-CgGegfA_.es.js +0 -134
  356. package/.chunks/store-CX_6ZXhO.es.js +0 -29
  357. package/.chunks/store-CX_6ZXhO.es.js.map +0 -1
  358. package/.chunks/store-YRW59xEF.amd.js +0 -2
  359. package/.chunks/store-YRW59xEF.amd.js.map +0 -1
  360. package/.chunks/utils-BNzP9anP.es.js +0 -78
  361. package/.chunks/utils-CWn_G7OO.amd.js +0 -2
  362. package/.chunks/utils-CWn_G7OO.amd.js.map +0 -1
  363. package/.chunks/utils-DIviuVEw.amd.js +0 -2
  364. package/.chunks/utils-DIviuVEw.amd.js.map +0 -1
  365. package/.chunks/utils-Dma85ehT.es.js +0 -288
  366. package/.chunks/utils-Dma85ehT.es.js.map +0 -1
  367. package/.chunks/widgetInput.vue_vue_type_script_setup_true_lang-CX_BOcVY.es.js +0 -39
  368. package/.chunks/widgetInput.vue_vue_type_script_setup_true_lang-CX_BOcVY.es.js.map +0 -1
  369. package/.chunks/widgetInput.vue_vue_type_script_setup_true_lang-CkOmb3VD.amd.js +0 -2
  370. package/.chunks/widgetInput.vue_vue_type_script_setup_true_lang-CkOmb3VD.amd.js.map +0 -1
  371. package/api/index.js.map +0 -1
  372. package/assets/policy.css +0 -1
  373. package/assets/popupHint.css +0 -1
  374. package/core/app.js.map +0 -1
  375. package/dialog/dialog.js.map +0 -1
  376. package/forms/forms.js.map +0 -1
  377. package/forms/helpers.js.map +0 -1
  378. package/formsExt/formsExt.js.map +0 -1
  379. package/popup/popup.js.map +0 -1
  380. package/popup/worker.js.map +0 -1
  381. package/src/src/components/dialog/dialog.d.ts +0 -6
  382. package/src/src/components/forms/inputDate/types.d.ts +0 -1
  383. package/src/src/components/project/groupSelector/folders/utils.d.ts +0 -422
  384. package/src/src/components/project/groupSelector/groups/utils.d.ts +0 -791
  385. package/src/src/components/project/groupSelector/utils.d.ts +0 -37
  386. package/src/src/core/utils/store.d.ts +0 -6
  387. package/utils/date.js.map +0 -1
  388. package/utils/device.js.map +0 -1
  389. package/utils/lodash.js.map +0 -1
  390. package/utils/store.js.map +0 -1
  391. package/src/{src/api → api}/api/additional.d.ts +0 -0
  392. package/src/{src/api → api}/api/client/client.d.ts +0 -0
  393. package/src/{src/api → api}/api/client/request-options.d.ts +0 -0
  394. package/src/{src/api → api}/api/client/request.d.ts +0 -0
  395. package/src/{src/api → api}/api/index.d.ts +0 -0
  396. package/src/{src/api → api}/api/mocker/index.d.ts +0 -0
  397. package/src/{src/api → api}/api/tests/types.test-d.d.ts +0 -0
  398. package/src/{src/api → api}/api/types/api.d.ts +0 -0
  399. package/src/{src/api → api}/api/types/client/client.d.ts +0 -0
  400. package/src/{src/api → api}/api/types/client/middleware.d.ts +0 -0
  401. package/src/{src/api → api}/api/types/client/options.d.ts +0 -0
  402. package/src/{src/api → api}/api/types/client/request-context.d.ts +0 -0
  403. package/src/{src/api → api}/api/types/client/request-options.d.ts +0 -0
  404. package/src/{src/api → api}/api/types/client/request.d.ts +0 -0
  405. package/src/{src/api → api}/api/types/ext.d.ts +0 -0
  406. package/src/{src/api → api}/api/types/field.d.ts +0 -0
  407. package/src/{src/api → api}/api/types/index.d.ts +0 -0
  408. package/src/{src/api → api}/api/types/mocker.d.ts +0 -0
  409. package/src/{src/api → api}/api/types/schema.d.ts +0 -0
  410. package/src/{src/api → api}/api/types/tv.d.ts +0 -0
  411. package/src/{src/api → api}/api/types/utils.d.ts +0 -0
  412. package/src/{src/api → api}/api/utils/common.d.ts +0 -0
  413. package/src/{src/api → api}/api/utils/field.d.ts +0 -0
  414. package/src/{src/api → api}/api/utils/filters.d.ts +0 -0
  415. package/src/{src/api → api}/api/utils/lazy.d.ts +0 -0
  416. package/src/{src/components → components}/charts/charts.d.ts +0 -0
  417. package/src/{src/components → components}/charts/miniChart/miniChart.vue.d.ts +0 -0
  418. package/src/{src/components → components}/charts/miniChart/types.d.ts +0 -0
  419. package/src/{src/components → components}/charts/miniChart/utils/consts.d.ts +0 -0
  420. package/src/{src/components → components}/charts/miniCharts/miniCharts.vue.d.ts +0 -0
  421. package/src/{src/components → components}/core/notice/item/item.vue.d.ts +0 -0
  422. package/src/{src/components → components}/core/notice/notice.vue.d.ts +0 -0
  423. package/src/{src/components → components}/core/notice/types.d.ts +0 -0
  424. package/src/{src/components → components}/dialog/dialog/composables/asyncDialogHandle.d.ts +0 -0
  425. package/src/{src/components → components}/dialog/dialog/composables/types.d.ts +0 -0
  426. package/src/{src/components → components}/dialog/dialog/composables/utils.d.ts +0 -0
  427. package/src/{src/components → components}/dialog/dialog/dialog.vue.d.ts +0 -0
  428. package/src/{src/components → components}/dialog/dialog/page/page.vue.d.ts +0 -0
  429. package/src/{src/components → components}/dialog/dialog/page/types.d.ts +0 -0
  430. package/src/{src/components → components}/dialog/dialog/pageComponent/pageComponent.vue.d.ts +0 -0
  431. package/src/{src/components → components}/dialog/dialog/pageComponent/types.d.ts +0 -0
  432. package/src/{src/components → components}/dialog/dialog/types.d.ts +0 -0
  433. package/src/{src/components → components}/dialog/lib/types.d.ts +0 -0
  434. package/src/{src/components → components}/dialog/lib/utils.d.ts +0 -0
  435. package/src/{src/components → components}/dialog/lib/utils.globalEvents.d.ts +0 -0
  436. package/src/{src/components → components}/extra/extra.d.ts +0 -0
  437. package/src/{src/components → components}/extra/rive/rive.vue.d.ts +0 -0
  438. package/src/{src/components → components}/extra/rive/types.d.ts +0 -0
  439. package/src/{src/components → components}/forms/avatar/avatar.vue.d.ts +0 -0
  440. package/src/{src/components → components}/forms/avatar/types.d.ts +0 -0
  441. package/src/{src/components → components}/forms/button/button.vue.d.ts +0 -0
  442. package/src/{src/components → components}/forms/caption/caption.vue.d.ts +0 -0
  443. package/src/{src/components → components}/forms/caption/types.d.ts +0 -0
  444. package/src/{src/components → components}/forms/checkbox/checkbox.vue.d.ts +0 -0
  445. package/src/{src/components → components}/forms/checkbox/types.d.ts +0 -0
  446. package/src/{src/components → components}/forms/controlLabel/controlLabel.vue.d.ts +0 -0
  447. package/src/{src/components → components}/forms/controlLabel/types.d.ts +0 -0
  448. package/src/{src/components → components}/forms/forms.d.ts +0 -0
  449. package/src/{src/components → components}/forms/helpers.d.ts +0 -0
  450. package/src/{src/components → components}/forms/hint/hint.vue.d.ts +0 -0
  451. package/src/{src/components → components}/forms/hint/types.d.ts +0 -0
  452. package/src/{src/components → components}/forms/input/input.vue.d.ts +0 -0
  453. package/src/{src/components → components}/forms/inputDate/datepicker.d.ts +0 -0
  454. package/src/{src/components → components}/forms/inputDate/inputDate.vue.d.ts +0 -0
  455. package/src/{src/components → components}/forms/inputRange/inputRange.vue.d.ts +0 -0
  456. package/src/{src/components → components}/forms/inputRange/types.d.ts +0 -0
  457. package/src/{src/components → components}/forms/loadbar/loadbar.vue.d.ts +0 -0
  458. package/src/{src/components → components}/forms/preloader/preloader.vue.d.ts +0 -0
  459. package/src/{src/components → components}/forms/preloader/types.d.ts +0 -0
  460. package/src/{src/components → components}/forms/radio/radio.vue.d.ts +0 -0
  461. package/src/{src/components → components}/forms/radio/types.d.ts +0 -0
  462. package/src/{src/components → components}/forms/select/select.vue.d.ts +0 -0
  463. package/src/{src/components → components}/forms/switcher/switcher.vue.d.ts +0 -0
  464. package/src/{src/components → components}/forms/switcher/types.d.ts +0 -0
  465. package/src/{src/components → components}/forms/textarea/textarea.vue.d.ts +0 -0
  466. package/src/{src/components → components}/forms/textarea/types.d.ts +0 -0
  467. package/src/{src/components → components}/formsExt/checkboxGroup/checkboxGroup.vue.d.ts +0 -0
  468. package/src/{src/components → components}/formsExt/checkboxGroup/types.d.ts +0 -0
  469. package/src/{src/components → components}/formsExt/editArea/editArea.vue.d.ts +0 -0
  470. package/src/{src/components → components}/formsExt/editInput/editInput.vue.d.ts +0 -0
  471. package/src/{src/components → components}/formsExt/formsExt.d.ts +0 -0
  472. package/src/{src/components → components}/formsExt/info/info.vue.d.ts +0 -0
  473. package/src/{src/components → components}/formsExt/info/types.d.ts +0 -0
  474. package/src/{src/components → components}/formsExt/libs/optionGroup/optionGroup.vue.d.ts +0 -0
  475. package/src/{src/components → components}/formsExt/menu/menu.vue.d.ts +0 -0
  476. package/src/{src/components → components}/formsExt/policy/types.d.ts +0 -0
  477. package/src/{src/components → components}/formsExt/radioGroup/radioGroup.vue.d.ts +0 -0
  478. package/src/{src/components → components}/formsExt/radioGroup/types.d.ts +0 -0
  479. package/src/{src/components → components}/formsExt/selector2/cache.d.ts +0 -0
  480. package/src/{src/components → components}/formsExt/selector2/composables/useAPI.d.ts +0 -0
  481. package/src/{src/components → components}/formsExt/selector2/composables/useMenu.d.ts +0 -0
  482. package/src/{src/components → components}/formsExt/selector2/itemMulti.vue.d.ts +0 -0
  483. package/src/{src/components → components}/formsExt/selector2/selector2.vue.d.ts +0 -0
  484. package/src/{src/components → components}/formsExt/selector2/utils.d.ts +0 -0
  485. package/src/{src/components → components}/layout/islandRows/islandRows.vue.d.ts +0 -0
  486. package/src/{src/components → components}/layout/islandRows/islandRowsRow/islandRowsRow.vue.d.ts +0 -0
  487. package/src/{src/components → components}/layout/islandRows/islandRowsRow/types.d.ts +0 -0
  488. package/src/{src/components → components}/layout/islandRows/islandRowsSubTitle/islandRowsSubTitle.vue.d.ts +0 -0
  489. package/src/{src/components → components}/layout/islandRows/types.d.ts +0 -0
  490. package/src/{src/components → components}/layout/layout.d.ts +0 -0
  491. package/src/{src/components → components}/layout/rows/rows.vue.d.ts +0 -0
  492. package/src/{src/components → components}/layout/rows/types.d.ts +0 -0
  493. package/src/{src/components → components}/popup/lib/popup.globalEvents.d.ts +0 -0
  494. package/src/{src/components → components}/popup/lib/worker.globalEvents.d.ts +0 -0
  495. package/src/{src/components → components}/popup/popup/listItem.vue.d.ts +0 -0
  496. package/src/{src/components → components}/popup/popup/opener/opener.vue.d.ts +0 -0
  497. package/src/{src/components → components}/popup/popup/opener/types.d.ts +0 -0
  498. package/src/{src/components → components}/popup/popup/types.d.ts +0 -0
  499. package/src/{src/components → components}/popup/popup.d.ts +0 -0
  500. package/src/{src/components → components}/popup/popupAlert/popupAlert.vue.d.ts +0 -0
  501. package/src/{src/components → components}/popup/popupAlert/types.d.ts +0 -0
  502. package/src/{src/components → components}/popup/popupConfirm/types.d.ts +0 -0
  503. package/src/{src/components → components}/popup/popupHint/popupHint.vue.d.ts +0 -0
  504. package/src/{src/components → components}/popup/popupHint/types.d.ts +0 -0
  505. package/src/{src/components → components}/popup/popupPrompt/popupPrompt.vue.d.ts +0 -0
  506. package/src/{src/components → components}/popup/popupPrompt/types.d.ts +0 -0
  507. package/src/{src/components → components}/popup/worker.d.ts +0 -0
  508. package/src/{src/components → components}/project/competitorSelector/competitorSelector.vue.d.ts +0 -0
  509. package/src/{src/components → components}/project/groupSelector/folders/folders.vue.d.ts +0 -0
  510. package/src/{src/components → components}/project/groupSelector/groupSelector.vue.d.ts +1 -1
  511. /package/src/{src/components → components}/project/groupSelector/stories/mocks/folders.d.ts +0 -0
  512. /package/src/{src/components → components}/project/groupSelector/stories/mocks/groups.d.ts +0 -0
  513. /package/src/{src/components → components}/project/groupSelector/types.d.ts +0 -0
  514. /package/src/{src/components → components}/project/project.d.ts +0 -0
  515. /package/src/{src/components → components}/project/projectSelector/submenu/submenu.vue.d.ts +0 -0
  516. /package/src/{src/components → components}/project/projectSelector/submenu/types.d.ts +0 -0
  517. /package/src/{src/components → components}/project/regionSelector/composables/compare.d.ts +0 -0
  518. /package/src/{src/components → components}/project/regionSelector/composables/selectorRegion.d.ts +0 -0
  519. /package/src/{src/components → components}/project/regionSelector/dialog_regionSelectorRegions/dialog_regionSelectorRegions.vue.d.ts +0 -0
  520. /package/src/{src/components → components}/project/regionSelector/regionSelector.vue.d.ts +0 -0
  521. /package/src/{src/components → components}/project/regionSelector/types.d.ts +0 -0
  522. /package/src/{src/components → components}/project/regionSelector/utils/consts.d.ts +0 -0
  523. /package/src/{src/components → components}/project/regionSelector/utils/utils.d.ts +0 -0
  524. /package/src/{src/components → components}/project/tagSelector/popupListItem/tagPopupListItem.vue.d.ts +0 -0
  525. /package/src/{src/components → components}/project/tagSelector/popupListItem/types.d.ts +0 -0
  526. /package/src/{src/components → components}/project/tagSelector/popupOpener/popupOpener.vue.d.ts +0 -0
  527. /package/src/{src/components → components}/project/tagSelector/tagIcon/tagIcon.vue.d.ts +0 -0
  528. /package/src/{src/components → components}/project/tagSelector/tagIcon/types.d.ts +0 -0
  529. /package/src/{src/components → components}/project/tagSelector/tagSelector.vue.d.ts +0 -0
  530. /package/src/{src/components → components}/project/tagSelector/tagsDefaults.d.ts +0 -0
  531. /package/src/{src/components → components}/project/tagSelector/utils/utils.d.ts +0 -0
  532. /package/src/{src/components → components}/tabs/tabs/content.vue.d.ts +0 -0
  533. /package/src/{src/components → components}/tabs/tabs/tab.vue.d.ts +0 -0
  534. /package/src/{src/components → components}/tabs/tabs/tabs.vue.d.ts +0 -0
  535. /package/src/{src/components → components}/tabs/tabs/types.d.ts +0 -0
  536. /package/src/{src/components → components}/tabs/tabs.d.ts +0 -0
  537. /package/src/{src/components → components}/tabsView/tabsView/menu.vue.d.ts +0 -0
  538. /package/src/{src/components → components}/tabsView/tabsView/menuDelimeter.vue.d.ts +0 -0
  539. /package/src/{src/components → components}/tabsView/tabsView/menuItem.vue.d.ts +0 -0
  540. /package/src/{src/components → components}/tabsView/tabsView/menuTitle.vue.d.ts +0 -0
  541. /package/src/{src/components → components}/tabsView/tabsView/tabsView.vue.d.ts +0 -0
  542. /package/src/{src/components → components}/tabsView/tabsView/types.d.ts +0 -0
  543. /package/src/{src/components → components}/tabsView/tabsView/utils.d.ts +0 -0
  544. /package/src/{src/components → components}/tabsView/tabsView.d.ts +0 -0
  545. /package/src/{src/core → core}/core/events/resize.d.ts +0 -0
  546. /package/src/{src/core → core}/core/events.d.ts +0 -0
  547. /package/src/{src/core → core}/core/options.d.ts +0 -0
  548. /package/src/{src/core → core}/core/preloaders.d.ts +0 -0
  549. /package/src/{src/core → core}/core/state.d.ts +0 -0
  550. /package/src/{src/core → core}/directives/data.d.ts +0 -0
  551. /package/src/{src/core → core}/directives/focus.d.ts +0 -0
  552. /package/src/{src/core → core}/directives/preloader.d.ts +0 -0
  553. /package/src/{src/core → core}/directives/scrollIntoView.d.ts +0 -0
  554. /package/src/{src/core → core}/directives/scrollShadow.d.ts +0 -0
  555. /package/src/{src/core → core}/directives/shortcut.d.ts +0 -0
  556. /package/src/{src/core → core}/directives/sticky.d.ts +0 -0
  557. /package/src/{src/core → core}/directives/swimUp.d.ts +0 -0
  558. /package/src/{src/core → core}/directives/tooltip.d.ts +0 -0
  559. /package/src/{src/core → core}/plugins/i18n.d.ts +0 -0
  560. /package/src/{src/core → core}/plugins/piniaTPA.d.ts +0 -0
  561. /package/src/{src/core → core}/utils/check.d.ts +0 -0
  562. /package/src/{src/core → core}/utils/clipboard.d.ts +0 -0
  563. /package/src/{src/core → core}/utils/composables/useWatch.d.ts +0 -0
  564. /package/src/{src/core → core}/utils/date.d.ts +0 -0
  565. /package/src/{src/core → core}/utils/device.d.ts +0 -0
  566. /package/src/{src/core → core}/utils/dom.d.ts +0 -0
  567. /package/src/{src/core → core}/utils/image.d.ts +0 -0
  568. /package/src/{src/core → core}/utils/keyboard.d.ts +0 -0
  569. /package/src/{src/core → core}/utils/lodash.d.ts +0 -0
  570. /package/src/{src/core → core}/utils/number.d.ts +0 -0
  571. /package/src/{src/core → core}/utils/route.d.ts +0 -0
  572. /package/src/{src/core → core}/utils/scroll.d.ts +0 -0
  573. /package/src/{src/core → core}/utils/searchers.d.ts +0 -0
  574. /package/src/{src/core → core}/utils/store/localStorage.d.ts +0 -0
  575. /package/src/{src/core → core}/utils/store/plugin.d.ts +0 -0
  576. /package/src/{src/core → core}/utils/store/store.d.ts +0 -0
  577. /package/src/{src/core → core}/utils/string.d.ts +0 -0
  578. /package/src/{src/core → core}/utils/system.d.ts +0 -0
  579. /package/src/{src/core → core}/utils/tests/date/dateFormat.test.d.ts +0 -0
  580. /package/src/{src/core → core}/utils/url.d.ts +0 -0
@@ -1 +1 @@
1
- {"version":3,"file":"worker.amd.js","sources":["../../src/components/popup/lib/worker.ts"],"sourcesContent":["/**\n * PopupWorker управляет работой Popup\n *\n * Должен грузить TopLibPopup только в отложенном режиме\n */\n\nimport Core from '@/core/core/core';\nimport DOM from '@/core/utils/dom';\nimport type { PopupOptions, TopLibPopup } from '@/components/popup/lib/popup';\nimport type { OpenerProps } from '@/components/popup/popup/opener/types';\n\nexport type Options = {\n\t/**\n\t * Глобальное событие, которое будет вызвано перед открытием TopPopup\n\t */\n\tdecoratorBeforeOpen?: (popup: TopLibPopup) => void,\n\n\t/**\n\t * Глобальное событие, которое будет вызвано после открытия TopPopup\n\t */\n\tdecoratorAfterOpen?: (popup: TopLibPopup) => void;\n\n\t/**\n\t * Определитель того, что клик вне Popup нужно игнорировать\n\t * @returns {boolean} - если true, то click не приведет к закрытию Popup\n\t */\n\tdecoratorIsIgnoreOuterClick?: (e: MouseEvent) => boolean\n}\n\nclass Worker {\n\n\t/**\n\t * Глобальное выключение закрытия меню, используется при различных оверлеях\n\t */\n\tstatic noClose = false;\n\n\t/**\n\t * Для взаимодействия с vue\n\t */\n\tstatic vueConnectors = new Map();\n\n\tstatic options: Options = {};\n\n\t/**\n\t * Вернуть объект компонента popup, привязанный к элементу\n\t */\n\tstatic getPopup(elPopup: HTMLElement): TopLibPopup {\n\t\treturn DOM.storage(elPopup, 'TopPopup') as TopLibPopup;\n\t}\n\n\tstatic getElPopupOpener(el: Element): HTMLElement | null {\n\t\treturn el.closest<HTMLElement>('[data-top-popup]');\n\t}\n\n\tstatic getPopupFromOpener(el: HTMLElement): TopLibPopup | null {\n\t\tconst elOpener = Worker.getElPopupOpener(el);\n\t\tif (!elOpener) return null;\n\n\t\treturn DOM.storage(elOpener, '#TopPopup');\n\t}\n\n\t/**\n\t * Вернуть все элементы с Popup\n\t */\n\tstatic getAll(): HTMLElement[] {\n\t\treturn DOM.querySelectorAllArray(document, '.top-popup-wrapper');\n\t}\n\n\t/**\n\t * Вернуть все элементы с открытыми Popup\n\t */\n\tstatic getAllVisible(): HTMLElement[] {\n\t\treturn DOM.querySelectorAllVisible(document, '.top-popup-wrapper');\n\t}\n\n\t/**\n\t * Открыть Popup от указанного elOpener\n\t * @param {HTMLElement} elOpener - элемент, который должен вызвать открытие Popup\n\t */\n\tstatic async openByOpener(elOpener: HTMLElement): Promise<TopLibPopup | undefined> {\n\t\tif (!(elOpener instanceof HTMLElement)) return;\n\n\t\tconst options: PopupOptions = {};\n\n\t\toptions.popup = elOpener.dataset.topPopup;\n\n\t\toptions.id = elOpener.dataset.topPopupId;\n\n\t\t/**\n\t\t * @deprecated в php шаблонах нет data-top-popup-id\n\t\t */\n\t\tif (!options.id && options.popup) {\n\t\t\telOpener.dataset.topPopupId = btoa(\n\t\t\t\tString.fromCharCode(...new TextEncoder().encode(options.popup))\n\t\t\t);\n\n\t\t\toptions.id = elOpener.dataset.topPopupId;\n\t\t}\n\n\t\t/**\n\t\t * @deprecated topPopupP - добавлено для обратной совместимости\n\t\t */\n\t\tif (elOpener.dataset.topPopupP) {\n\t\t\toptions.p = parseInt(elOpener.dataset.topPopupP);\n\t\t}\n\n\t\tif (elOpener.dataset.topPopupPos) {\n\t\t\toptions.p = parseInt(elOpener.dataset.topPopupPos);\n\t\t}\n\n\t\t/**\n\t\t * @deprecated '1' - добавлено для обратной совместимости\n\t\t */\n\t\tif (elOpener.dataset.topPopupNotch) {\n\t\t\toptions.notch = elOpener.dataset.topPopupNotch === 'true' || elOpener.dataset.topPopupNotch === '1';\n\t\t}\n\n\t\tif (elOpener.dataset.topPopupClass) {\n\t\t\toptions.class = elOpener.dataset.topPopupClass;\n\t\t}\n\n\t\tif (elOpener.dataset.topPopupPosBy) {\n\t\t\toptions.posBy = elOpener.dataset.topPopupPosBy as PopupOptions['posBy'];\n\t\t}\n\n\t\tif (elOpener.dataset.topPopupFront) {\n\t\t\toptions.frontSelector = elOpener.dataset.topPopupFront;\n\t\t}\n\n\t\t/**\n\t\t * @deprecated '1' - добавлено для обратной совместимости\n\t\t */\n\t\tif (elOpener.dataset.topPopupInvertX) {\n\t\t\toptions.invertX = elOpener.dataset.topPopupInvertX === 'true' || elOpener.dataset.topPopupInvertX === '1';\n\t\t}\n\n\t\t/**\n\t\t * @deprecated '1' - добавлено для обратной совместимости\n\t\t */\n\t\tif (elOpener.dataset.topPopupOpenByHovertopPopupOpenByHover) {\n\t\t\toptions.openByHover = elOpener.dataset.topPopupOpenByHover === 'true' || elOpener.dataset.topPopupOpenByHover === '1';\n\t\t}\n\n\t\t/**\n\t\t * @deprecated '1' - добавлено для обратной совместимости\n\t\t */\n\t\tif (elOpener.dataset.topPopupUseOriginal) {\n\t\t\toptions.useOriginal = elOpener.dataset.topPopupUseOriginal === 'true' || elOpener.dataset.topPopupUseOriginal === '1';\n\t\t}\n\n\t\treturn await Worker.open(elOpener, options);\n\t}\n\n\t/**\n\t * Создать и открыть Popup\n\t * @param elOpener - элемент, вызвавший открытие Popup\n\t * @param options - опции Popup\n\t */\n\tprivate static async open(elOpener: HTMLElement, options: PopupOptions): Promise<TopLibPopup> {\n\t\tif (elOpener instanceof HTMLElement) elOpener.dataset.topPopupOpened = 'opened';\n\n\t\tconst { TopLibPopup } = await import('./popup');\n\n\t\tif (Core.$) {\n\t\t\tconst $elOpener = Core.$(elOpener);\n\n\t\t\t// deprecated, используется aftershow.top-menu-popup\n\t\t\tif ($elOpener.data('aftershow')) {\n\t\t\t\tlet afterShow = $elOpener.data('aftershow');\n\t\t\t\tif (typeof (afterShow) == 'string') {\n\t\t\t\t\t// TODO: Удалить с сайта указание кода функции в html\n\t\t\t\t\t// @deprecated\n\t\t\t\t\tafterShow = eval(afterShow.replace(/\\W/g, ''));\n\t\t\t\t}\n\n\t\t\t\t$elOpener.one('aftershow.top-menu-popup', afterShow);\n\t\t\t}\n\n\t\t\t// deprecated, используется afterclose.top-menu-popup\n\t\t\tif ($elOpener.data('afterclose')) {\n\t\t\t\tlet afterclose = $elOpener.data('afterclose');\n\t\t\t\tif (typeof (afterclose) == 'string') {\n\t\t\t\t\t// TODO: Удалить с сайта указание кода функции в html\n\t\t\t\t\t// @deprecated\n\t\t\t\t\tafterclose = eval(afterclose.replace(/\\W/g, ''));\n\t\t\t\t}\n\n\t\t\t\t$elOpener.one('afterclose.top-menu-popup', afterclose);\n\t\t\t}\n\t\t}\n\n\t\toptions.isFullScreen = Core.state.isMobile;\n\n\t\treturn new TopLibPopup(elOpener, options);\n\t}\n\n\tstatic close(elPopup: HTMLElement, restoreFocus = false): void {\n\t\tconst popup = Worker.getPopup(elPopup);\n\n\t\tif (popup) {\n\t\t\tpopup.close();\n\n\t\t\tconst isFocused = popup.el.contains(document.activeElement);\n\n\t\t\tif (restoreFocus && !isFocused) {\n\t\t\t\tsetTimeout(() => {\n\t\t\t\t\tpopup.el.focus();\n\t\t\t\t});\n\t\t\t}\n\t\t}\n\t}\n\n\tstatic recalcPosition(elPopup: HTMLElement): void {\n\t\tconst popup = Worker.getPopup(elPopup);\n\t\tif (popup && popup.elPopupBody instanceof HTMLElement) {\n\t\t\tpopup.recalcPosition();\n\t\t}\n\t}\n\n\t/**\n\t * Скролл к активному элементу списка\n\t */\n\tstatic scrollToActive(elPopup: HTMLElement): void {\n\t\tconst elItemActive = DOM.querySelectorVisible(elPopup, 'ul.top-popup_content > li > .top-active');\n\t\tif (!elItemActive) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst elUl = elPopup.querySelector('ul.top-popup_content');\n\t\tconst elsLi = DOM.querySelectorAllVisible(elPopup, 'ul.top-popup_content > li');\n\n\t\telPopup.classList.add('top-popup-wrapper-no_animate');\n\t\tsetTimeout(() => elPopup.classList.remove('top-popup-wrapper-no_animate'), 100);\n\n\t\tlet top = 100;\n\t\tfor (const elLi of elsLi) {\n\t\t\tif (elLi.querySelector(':scope > .top-active')) {\n\t\t\t\tbreak;\n\t\t\t}\n\n\t\t\tif (elLi instanceof HTMLElement) top += elLi.offsetHeight;\n\t\t}\n\n\t\tif (elUl instanceof HTMLElement) {\n\t\t\tconst heightWrapper = elUl.offsetHeight;\n\t\t\tif (top > heightWrapper) {\n\t\t\t\telUl.scrollTop = top - heightWrapper;\n\t\t\t} else {\n\t\t\t\telUl.scrollTop = 0;\n\t\t\t}\n\t\t}\n\t}\n\n\tstatic decoratorBeforeOpen(popup: TopLibPopup<any>): void {\n\t\tif (this.options.decoratorBeforeOpen) {\n\t\t\tthis.options.decoratorBeforeOpen(popup);\n\t\t}\n\t};\n\n\tstatic decoratorAfterOpen(popup: TopLibPopup<any>): void {\n\t\tif (this.options.decoratorAfterOpen) {\n\t\t\tthis.options.decoratorAfterOpen(popup);\n\t\t}\n\t};\n\n\tstatic decoratorIsIgnoreOuterClick(e: MouseEvent): boolean {\n\t\tif (this.options.decoratorIsIgnoreOuterClick) {\n\t\t\treturn this.options.decoratorIsIgnoreOuterClick(e);\n\t\t}\n\n\t\treturn false;\n\t}\n\n\t/**\n\t * Зарегистрировать Vue компонент\n\t *\n\t * Каждый экземляр Popup регистрируется в словаре vueConnectors для последующего доступа из js\n\t */\n\tstatic regVueComponent(id: string, vueConnector: any): void {\n\t\tif (Worker.vueConnectors.get(id)) {\n\t\t\tthrow 'Vue component Popup use duplicated id: ' + id;\n\t\t}\n\n\t\tWorker.vueConnectors.set(id, vueConnector);\n\t}\n\n\t/**\n\t * Снять с регистрации Vue компонент\n\t */\n\tstatic unregVueComponent(id: string): void {\n\t\tWorker.vueConnectors.delete(id);\n\t}\n\n\t/**\n\t * Сгенерировать элемент для открытия popup\n\t */\n\tstatic genElPopupOpener(tagName: string, props: OpenerProps, ...elsChildrens: HTMLElement[] | string[]): HTMLElement {\n\t\tconst el = DOM.genEl(tagName, {}, ...elsChildrens) as TopLibPopup['el'];\n\n\t\tel.dataset.topPopup = '#' + props.id;\n\n\t\t// if (props.pos === undefined) props.pos = '3';\n\t\t// if (props.notch === undefined) props.notch = true;\n\t\t// if (props.posBy === undefined) props.posBy = 'fixed';\n\n\t\tfor (let name in props) {\n\t\t\tconst attrName = 'topPopup' + name.charAt(0).toUpperCase() + name.slice(1);\n\n\t\t\tel.dataset[attrName] = props[name];\n\t\t}\n\n\t\tel.__TopPopupOpenerProps = props;\n\n\t\treturn el;\n\t}\n\n}\n\nexport default Worker;\n"],"names":["elPopup","el","elOpener2","options2","isFocused","popup","restoreFocus","elLi","elsLi","elUl","heightWrapper","top","e","id","vueConnector","tagName","elsChildrens","name","props"],"mappings":"6KA6BA,MAAA,MAAA,mBAKkB,OAAA,cAAA,IAAA,sBAOU,OAAA,SAAAA,EAAA,gDAO3B,OAAA,iBAAAC,EAAA,CAGC,OAAAA,EAAA,QAAA,kBAAA,EACD,OAAA,mBAAAA,EAAA,oCAIC,OAAAC,2CAAA,0MAiBD,aAAA,aAAAA,EAAA,CAOC,GAAA,EAAAA,aAAA,aAAA,+FAYCA,EAAA,QAAA,WAAA,KAA8B,OAAA,aAAA,GAAA,IAAA,YAAA,EAAA,OAAAC,EAAA,KAAA,CAAA,8BAU/BD,EAAA,QAAA,+CAIAA,EAAA,QAAA,mDAOAA,EAAA,QAAA,gBACCC,EAAA,MAAAD,EAAA,QAAA,gBAAA,QAAAA,EAAA,QAAA,gBAAA,KAGDA,EAAA,QAAA,iDAIAA,EAAA,QAAA,iDAIAA,EAAA,QAAA,yDAOAA,EAAA,QAAA,kBACCC,EAAA,QAAAD,EAAA,QAAA,kBAAA,QAAAA,EAAA,QAAA,kBAAA,KAMDA,EAAA,QAAA,yCACCC,EAAA,YAAAD,EAAA,QAAA,sBAAA,QAAAA,EAAA,QAAA,sBAAA,KAMDA,EAAA,QAAA,sBACCC,EAAA,YAAAD,EAAA,QAAA,sBAAA,QAAAA,EAAA,QAAA,sBAAA,4BAIF,aAAA,KAAA,SAAA,QAAA,yKAYC,GAAA,MAAA,KAAA,EAAA,wCAIC,GAAA,UAAA,KAAA,WAAA,EAAA,2CAEC,OAAA,WAAA,WAGC,UAAA,KAAA,UAAA,QAAA,MAAA,EAAA,CAAA,GAGD,UAAA,IAAA,2BAAA,SAAA,EAID,GAAA,UAAA,KAAA,YAAA,EAAA,6CAEC,OAAA,YAAA,WAGC,WAAA,KAAA,WAAA,QAAA,MAAA,EAAA,CAAA,GAGD,UAAA,IAAA,4BAAA,UAAA,yDAMF,IAAA,YAAA,SAAA,OAAA,kEASC,MAAAE,EAAAC,EAAA,GAAA,SAAA,SAAA,aAAA,EAEAC,GAAA,CAAAF,mBAEEC,EAAA,GAAA,MAAA,CAAe,CAAA,GAInB,OAAA,eAAAL,EAAA,wFAOA,OAAA,eAAAA,EAAA,2NAcCA,EAAA,UAAA,IAAA,8BAAA,EACA,WAAA,IAAAA,EAAA,UAAA,OAAA,8BAAA,EAAA,GAAA,YAGA,UAAAO,KAAAC,EAAA,CACC,GAAAD,EAAA,cAAA,sBAAA,sDAOD,GAAAE,aAAA,YAAA,CACC,MAAAC,EAAAD,EAAA,aACAE,EAAAD,EACCD,EAAA,UAAAE,EAAAD,EAEAD,EAAA,UAAA,GAGH,OAAA,oBAAAJ,EAAA,CAGC,KAAA,QAAA,qBACC,KAAA,QAAA,oBAAAA,CAAA,EAEF,OAAA,mBAAAA,EAAA,CAGC,KAAA,QAAA,oBACC,KAAA,QAAA,mBAAAA,CAAA,EAEF,OAAA,4BAAAO,EAAA,CAGC,OAAA,KAAA,QAAA,wEAIA,GACD,OAAA,gBAAAC,EAAAC,EAAA,+GAaA,OAAA,kBAAAD,EAAA,CAMC,OAAA,cAAA,OAAAA,CAAA,oCAOA,MAAAZ,EAAA,UAAA,QAAA,MAAAc,EAAA,CAAA,EAAA,GAAAC,CAAA,8BAQA,QAAAC,KAAAC,EAAA,2EAMA,OAAAjB,EAAA,sBAAAiB,EAEAjB,EAGF"}
1
+ {"version":3,"sources":["popup/worker.js"],"names":["vue","exports","worker_Db8YrEHo_esm_js_1"],"mappings":"AAAA,OAAO,CAAC,UAAW,UAAW,iCAAoC,CAAE,SAAU,EAAS,EAAS,EAA0B,CACtH,aAAA,GAAAA,IAAA,OAAA,IAAAA,EAAA,OAAA,IACA,OAAO,eAAeC,EAAS,aAAc,CAAE,MAAO,GAAM,CAAC,CAC7D,EAAQ,eAAiB,IAAK,GAC9B,OAAO,eAAeA,EAAS,iBAAkB,CAAE,WAAY,GAAM,IAAK,UAAY,CAAE,OAAOC,EAAyB,GAAM,CAAC,EACjI","sourcesContent":["define([\"require\", \"exports\", \"../.chunks/worker-Db8YrEHo.esm.js\"], function (require, exports, worker_Db8YrEHo_esm_js_1) {\n \"use strict\";\n Object.defineProperty(exports, \"__esModule\", { value: true });\n exports.TopPopupWorker = void 0;\n Object.defineProperty(exports, \"TopPopupWorker\", { enumerable: true, get: function () { return worker_Db8YrEHo_esm_js_1.t; } });\n});\n"]}
package/popup/worker.d.ts CHANGED
@@ -1 +1,2 @@
1
+ export * from '../src/components/popup/worker'
1
2
  export {}
package/popup/worker.js CHANGED
@@ -1,144 +1,2 @@
1
- import { C as Core } from "../.chunks/forms-DtC-EKJL.es.js";
2
- import DOM from "../utils/dom.js";
3
- class Worker {
4
- /**
5
- * Глобальное выключение закрытия меню, используется при различных оверлеях
6
- */
7
- static noClose = !1;
8
- /**
9
- * Для взаимодействия с vue
10
- */
11
- static vueConnectors = /* @__PURE__ */ new Map();
12
- static options = {};
13
- /**
14
- * Вернуть объект компонента popup, привязанный к элементу
15
- */
16
- static getPopup(t) {
17
- return DOM.storage(t, "TopPopup");
18
- }
19
- static getElPopupOpener(t) {
20
- return t.closest("[data-top-popup]");
21
- }
22
- static getPopupFromOpener(t) {
23
- const o = Worker.getElPopupOpener(t);
24
- return o ? DOM.storage(o, "#TopPopup") : null;
25
- }
26
- /**
27
- * Вернуть все элементы с Popup
28
- */
29
- static getAll() {
30
- return DOM.querySelectorAllArray(document, ".top-popup-wrapper");
31
- }
32
- /**
33
- * Вернуть все элементы с открытыми Popup
34
- */
35
- static getAllVisible() {
36
- return DOM.querySelectorAllVisible(document, ".top-popup-wrapper");
37
- }
38
- /**
39
- * Открыть Popup от указанного elOpener
40
- * @param {HTMLElement} elOpener - элемент, который должен вызвать открытие Popup
41
- */
42
- static async openByOpener(t) {
43
- if (!(t instanceof HTMLElement)) return;
44
- const o = {};
45
- return o.popup = t.dataset.topPopup, o.id = t.dataset.topPopupId, !o.id && o.popup && (t.dataset.topPopupId = btoa(
46
- String.fromCharCode(...new TextEncoder().encode(o.popup))
47
- ), o.id = t.dataset.topPopupId), t.dataset.topPopupP && (o.p = parseInt(t.dataset.topPopupP)), t.dataset.topPopupPos && (o.p = parseInt(t.dataset.topPopupPos)), t.dataset.topPopupNotch && (o.notch = t.dataset.topPopupNotch === "true" || t.dataset.topPopupNotch === "1"), t.dataset.topPopupClass && (o.class = t.dataset.topPopupClass), t.dataset.topPopupPosBy && (o.posBy = t.dataset.topPopupPosBy), t.dataset.topPopupFront && (o.frontSelector = t.dataset.topPopupFront), t.dataset.topPopupInvertX && (o.invertX = t.dataset.topPopupInvertX === "true" || t.dataset.topPopupInvertX === "1"), t.dataset.topPopupOpenByHovertopPopupOpenByHover && (o.openByHover = t.dataset.topPopupOpenByHover === "true" || t.dataset.topPopupOpenByHover === "1"), t.dataset.topPopupUseOriginal && (o.useOriginal = t.dataset.topPopupUseOriginal === "true" || t.dataset.topPopupUseOriginal === "1"), await Worker.open(t, o);
48
- }
49
- /**
50
- * Создать и открыть Popup
51
- * @param elOpener - элемент, вызвавший открытие Popup
52
- * @param options - опции Popup
53
- */
54
- static async open(elOpener, options) {
55
- elOpener instanceof HTMLElement && (elOpener.dataset.topPopupOpened = "opened");
56
- const { TopLibPopup } = await import("../.chunks/popup-OuDglAOF.es.js");
57
- if (Core.$) {
58
- const $elOpener = Core.$(elOpener);
59
- if ($elOpener.data("aftershow")) {
60
- let afterShow = $elOpener.data("aftershow");
61
- typeof afterShow == "string" && (afterShow = eval(afterShow.replace(/\W/g, ""))), $elOpener.one("aftershow.top-menu-popup", afterShow);
62
- }
63
- if ($elOpener.data("afterclose")) {
64
- let afterclose = $elOpener.data("afterclose");
65
- typeof afterclose == "string" && (afterclose = eval(afterclose.replace(/\W/g, ""))), $elOpener.one("afterclose.top-menu-popup", afterclose);
66
- }
67
- }
68
- return options.isFullScreen = Core.state.isMobile, new TopLibPopup(elOpener, options);
69
- }
70
- static close(t, o = !1) {
71
- const e = Worker.getPopup(t);
72
- if (e) {
73
- e.close();
74
- const p = e.el.contains(document.activeElement);
75
- o && !p && setTimeout(() => {
76
- e.el.focus();
77
- });
78
- }
79
- }
80
- static recalcPosition(t) {
81
- const o = Worker.getPopup(t);
82
- o && o.elPopupBody instanceof HTMLElement && o.recalcPosition();
83
- }
84
- /**
85
- * Скролл к активному элементу списка
86
- */
87
- static scrollToActive(t) {
88
- if (!DOM.querySelectorVisible(t, "ul.top-popup_content > li > .top-active"))
89
- return;
90
- const e = t.querySelector("ul.top-popup_content"), p = DOM.querySelectorAllVisible(t, "ul.top-popup_content > li");
91
- t.classList.add("top-popup-wrapper-no_animate"), setTimeout(() => t.classList.remove("top-popup-wrapper-no_animate"), 100);
92
- let r = 100;
93
- for (const a of p) {
94
- if (a.querySelector(":scope > .top-active"))
95
- break;
96
- a instanceof HTMLElement && (r += a.offsetHeight);
97
- }
98
- if (e instanceof HTMLElement) {
99
- const a = e.offsetHeight;
100
- r > a ? e.scrollTop = r - a : e.scrollTop = 0;
101
- }
102
- }
103
- static decoratorBeforeOpen(t) {
104
- this.options.decoratorBeforeOpen && this.options.decoratorBeforeOpen(t);
105
- }
106
- static decoratorAfterOpen(t) {
107
- this.options.decoratorAfterOpen && this.options.decoratorAfterOpen(t);
108
- }
109
- static decoratorIsIgnoreOuterClick(t) {
110
- return this.options.decoratorIsIgnoreOuterClick ? this.options.decoratorIsIgnoreOuterClick(t) : !1;
111
- }
112
- /**
113
- * Зарегистрировать Vue компонент
114
- *
115
- * Каждый экземляр Popup регистрируется в словаре vueConnectors для последующего доступа из js
116
- */
117
- static regVueComponent(t, o) {
118
- if (Worker.vueConnectors.get(t))
119
- throw "Vue component Popup use duplicated id: " + t;
120
- Worker.vueConnectors.set(t, o);
121
- }
122
- /**
123
- * Снять с регистрации Vue компонент
124
- */
125
- static unregVueComponent(t) {
126
- Worker.vueConnectors.delete(t);
127
- }
128
- /**
129
- * Сгенерировать элемент для открытия popup
130
- */
131
- static genElPopupOpener(t, o, ...e) {
132
- const p = DOM.genEl(t, {}, ...e);
133
- p.dataset.topPopup = "#" + o.id;
134
- for (let r in o) {
135
- const a = "topPopup" + r.charAt(0).toUpperCase() + r.slice(1);
136
- p.dataset[a] = o[r];
137
- }
138
- return p.__TopPopupOpenerProps = o, p;
139
- }
140
- }
141
- export {
142
- Worker as TopPopupWorker
143
- };
144
- //# sourceMappingURL=worker.js.map
1
+ import { t as e } from "../.chunks/worker-Db8YrEHo.esm.js";
2
+ export { e as TopPopupWorker };
@@ -1,2 +1,2 @@
1
- define(["require","exports","vue","../.chunks/forms-DDNzqU6o.amd","../.chunks/popupHint.vue_vue_type_style_index_0_lang-Bu_HvFoW.amd","../.chunks/policy.vue_vue_type_style_index_0_lang-Da7rztT5.amd","../.chunks/utils-CWn_G7OO.amd","../utils/searchers.amd","../.chunks/core-DzDFXOdI.amd","../.chunks/dialogs.vue_vue_type_script_setup_true_lang-BBix_8WK.amd","../.chunks/field-Cvv0SRcJ.amd","../utils/check.amd","../utils/string.amd","../popup/worker.amd","../utils/keyboard.amd","../utils/dom.amd","../require/css.amd!../assets/project.css"],(function(je,w,e,I,b,M,Ae,Z,$t,Pt,P,$e,Pe,ce,be,N){"use strict";if(typeof e>"u")var e=window.Vue;const Ne={class:"top-competitorSelector"},Le={class:"top-ellipsis1"},Ge=e.defineComponent({__name:"competitorSelector",props:e.mergeModels({modelValue:{},items:{},showSelectAllItem:{type:Boolean,default:!0}},{modelValue:{},modelModifiers:{}}),emits:["update:modelValue"],setup(t){const o=t,a=e.useModel(t,"modelValue"),n=e.computed(()=>{if(o.showSelectAllItem)return{icon:"",title:I.useI18n().Common.Select_all,value:"all",content:""}});return(r,l)=>(e.openBlock(),e.createElementBlock("div",Ne,[e.unref(I.Core).state.isMobile?(e.openBlock(),e.createBlock(b._sfc_main,{key:0},{opener:e.withCtx(()=>[e.createVNode(I._sfc_main$1,{class:"top-competitorSelector_opener",color:"theme",icon:"",icon2:""},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(t.items.find(i=>i.value===a.value?.[0])?.content),1)]),_:1})]),contentList:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(t.items,i=>(e.openBlock(),e.createBlock(b._sfc_main$1,{class:e.normalizeClass({"top-active":a.value?.includes(i.value)}),"data-top-icon":i.icon,title:i.title,onClick:()=>a.value=[i.value]},{default:e.withCtx(()=>[e.createElementVNode("span",Le,e.toDisplayString(i.content),1)]),_:2},1032,["class","data-top-icon","title","onClick"]))),256))]),_:1})):(e.openBlock(),e.createBlock(M._sfc_main,{key:1,modelValue:a.value,"onUpdate:modelValue":l[0]||(l[0]=i=>a.value=i),items:t.items,isMultiple:!0,styling:"bar",canBeEmptyMultiple:!1,selectAllItem:n.value},null,8,["modelValue","items","selectAllItem"]))]))}}),Re=(t,o)=>e.computed(()=>e.toValue(t).filter(r=>r.on>=0||r.id===o).map(r=>({value:r.id,title:r.url+` [${r.id}]`,icon:r.id===e.toValue(o)?"":"",content:r.name}))),j=-1,S=-2,O=-1,De={0:"Yandex",1:"Google",4:"YouTube",5:"Bing",7:"Seznam",8:"AppStore",9:"GoogleStore",20:"Yandex.com",21:"Yandex.com.tr"},se={key:S,name:"--",index:S},ue={key:S,name:"--",regions:[se],regionByIndex:new Map([[S,se]])},F={key:S,name:"Autoselect",index:S},ee={key:S,name:"Autoselect",regions:[F],regionByIndex:new Map([[S,F]])},me={countryCode:"00",depth:1,device:0,key:O,index:O,lang:"ru",name:"Without region"},Ke=()=>(F.name=I.useI18n().Common.Autoselect,F),Oe=()=>(Ke(),ee.name=I.useI18n().Common.Autoselect,console.log(ee),ee),Fe=()=>(me.name=I.useI18n().Keywords.Without_region,me),te=(t="",o=!1,a=[])=>{let n;return t?n=Ue(a,t):n=fe(a),o&&n.set(S,Oe()),n.size||n.set(S,ue),n},fe=(t,o=!0,a=[],n="")=>{const r=new Map;return t.forEach(l=>{if(!l.enabled||n&&typeof l.key=="number"&&l.key>1)return;const i={...l};i.regionByIndex=new Map,l.regions&&l.regions.forEach(d=>{if(o&&!d.enabled)return;const f={...d};i.regionByIndex.set(f.index,f)}),!i.regionByIndex.size&&a.length,(!l.regions||i.regionByIndex.size||a.length)&&r.set(i.key,i)}),a.forEach(l=>{if(r.has(l))return;const i={key:l,name:De[l],regions:[],regionByIndex:new Map};r.set(i.key,i)}),r},Ue=(t,o)=>{const a=fe(t,!1,[0,1],o);if(a.has(2)){const n=a.get(2);n&&(n.regionByIndex=new Map)}return(o==="volume"||o==="cost_forecast")&&a.forEach(n=>{if(!n.regionByIndex)return;const r={...Fe()};n.regionByIndex.set(r.index,r)}),a},ge=(t,o,a=[])=>{const n=te(t,!1,a);let r;return n.forEach(l=>{if(!(o.searcher_key!==void 0&&o.searcher_key!=l.key)&&l.regions&&(l.regions.forEach(i=>{if(!r&&!(o.key!==void 0&&o.key!=i.key)&&!(o.index!==void 0&&o.index!=i.index)&&!(!t&&(o.lang!==void 0&&o.lang!=i.lang||o.device!==void 0&&o.device!=i.device)))return i.searcher_key=l.key,r=i,!1}),r))return!1}),r},pe=Ae.useAsyncTopDialog(()=>new Promise((t,o)=>je(["../.chunks/dialog_regionSelectorRegions-CZ0tMVSq.amd"],t,o))),We=(t,o)=>{const a=I.useI18n(),n=e.ref(o.value.keys().next().value??S),r=e.computed(()=>{const l=new Map;if(o.value.forEach(i=>{let d={value:i.key,title:i.name};t.addSearcherIcon&&(d.icon=Z.getSearcherGIcon(i.key)),l.set(i.key,d)}),t.addCompare&&!l.has(S)){const i={value:"",title:"--------------------",disabled:!0};l.set(i.value,i);const d={value:j,title:a.Common.Compare};l.set(d.value,d)}return l});return{searcherKey:n,optionBySearcherKey:r}},qe=(t,o)=>{const a=I.useI18n(),n=e.ref(S);t.modelValue.length===1&&(n.value=t.modelValue[0]),n.value===S&&(t.forMode?n.value=o.value?.regionByIndex.values().next().value?.key??S:n.value=o.value?.regionByIndex.keys().next().value??S);const r=e.computed(()=>{const l=new Map;return o.value.regionByIndex?.forEach(i=>{let d=i.name;if(t.forMode){const C={value:i.key,title:d};l.has(i.key)||l.set(i.key,C);return}i.device&&(d+=" ("+a.Common["Device_"+i.device]+")");const f=Z.getLangLabel(o.value.key||0,i.lang??"");f&&(d+=" / "+f);const u={value:i.index,title:d,icon:i.device?Z.getDeviceGIcon(i.device):void 0};l.set(i.index,u)}),l});return e.watch(r,(l,i)=>{if(t.onlySearcher||n.value!==void 0&&l.get(n.value))return;let d=l.keys().next().value;if(n.value===S||d===S){n.value=d;return}let f=i?.get(n.value)?.title||"",u=-1;for(const[C,c]of l.entries()){const g=c.title;if(typeof g!="string"||typeof C=="string")break;if(g===f){d=C;break}const s=new RegExp(` \\((${a.Common.Device_1}|${a.Common.Device_2})\\)`);let m=f,p=3;g.indexOf(m)===-1&&(m=f.replace(/^[^a-zа-я]/i,"").replace(s,""),p--),g.indexOf(m)===-1&&(m=f.replace(/ \/.*/,""),p--),g.indexOf(m)===-1&&(m=f.replace(/ \/.*/,""),m=m.replace(/^[^a-zа-я]/i,"").replace(s,""),p--),g.indexOf(m)!==-1&&(p<=u||(u=p,d=C))}n.value=d}),{regionIndex:n,optionByRegionIndex:r}},ze=(t,o,a)=>{const n=e.ref([]),r=()=>{if(t.onlySearcher&&o.value){n.value=Array.from(o.value.keys());return}let i=[];if(t.modelValue.length>1)i=[...t.modelValue];else try{i=JSON.parse(localStorage.getItem("ui:project:regionSelector"+t.projectId+":regionsIndexes"))??[]}catch{}i.length&&(i=i.filter(d=>a.value.has(d))),i.length||(i=Array.from(a.value)),n.value=[...i]},l=()=>{n.value.length?localStorage.setItem("ui:project:regionSelector:"+t.projectId+":regionsIndexes",JSON.stringify(n.value)):localStorage.removeItem("ui:project:regionSelector:"+t.projectId+":regionsIndexes")};return e.watch(n,()=>{l()}),t.addCompare&&r(),{regionsIndexes:n}},Je=t=>{const o=e.computed(()=>te(t.forMode,t.autoRegion,t.searchers)),a=e.computed(()=>o.value.get(r.searcherKey.value)||ue),n=e.computed(()=>{const c=new Set;return o.value.forEach(g=>{g.regionByIndex.forEach(s=>{s.index!==O&&s.index!==S&&c.add(s.index)})}),c}),r=We(t,o),l=qe(t,a),i=ze(t,o,n);e.watch(o,()=>{if(t.onlySearcher?i.regionsIndexes.value=Array.from(o.value.keys()):i.regionsIndexes.value=i.regionsIndexes.value.filter(g=>n.value.has(g)),r.searcherKey.value===j)return;let c=o.value.keys().next().value;o.value.forEach(g=>{if(t.onlySearcher&&g.key===r.searcherKey.value){c=r.searcherKey.value;return}if(l.regionIndex.value&&g.regionByIndex?.has(l.regionIndex.value)&&(c=g.key),!t.onlySearcher){let s;c!==void 0&&(s=o.value.get(c)?.regionByIndex);const m=o.value.get(g.key)?.regionByIndex;s?.has(S)&&!m?.has(S)&&(c=g.key)}}),c!==void 0&&(r.searcherKey.value=c),l.regionIndex.value!==void 0&&!a.value?.regionByIndex?.has(l.regionIndex.value)&&(l.regionIndex.value=a.value?.regions?.keys().next().value)},{immediate:!0});const d=()=>{if(!(r.searcherKey.value===j||r.searcherKey.value===S))return r.searcherKey.value},f=()=>{if(t.onlySearcher||l.regionIndex.value===S)return;let c=l.regionIndex.value;if(t.forMode){const g=l.regionIndex.value;c=ge(t.forMode,{searcher_key:d(),key:g},t.searchers)?.index}return c},u=()=>{const c=d();if(c!==void 0)return o.value.get(c)};return{selectSearcher:r,selectRegion:l,compare:i,searcherByKey:o,allRegionsIndexes:n,getSearcher:u,getRegion:()=>{const c=f();if(c!==void 0)return u()?.regionByIndex?.get(c)}}},He=e.defineComponent({__name:"regionSelector",props:e.mergeModels({projectId:{},searchers:{default:()=>[]},modelValue:{},modelValueSingle:{},addCompare:{type:Boolean},forMode:{},autoRegion:{type:Boolean},onlySearcher:{type:Boolean},addChanger:{type:Boolean,default:!0},addSearcherIcon:{type:Boolean,default:!0},addRegionIcon:{type:Boolean,default:!0}},{modelValue:{required:!0},modelModifiers:{},modelValueSingle:{},modelValueSingleModifiers:{}}),emits:["update:modelValue","update:modelValueSingle"],setup(t,{expose:o}){const a=t,n=e.useModel(t,"modelValue"),r=e.useModel(t,"modelValueSingle"),{selectSearcher:l,selectRegion:i,compare:d,searcherByKey:f,allRegionsIndexes:u,getSearcher:C,getRegion:c}=Je(a),g=()=>{const s=[];f.value.forEach(m=>{m.enabled&&m.regions.forEach(p=>{p.enabled&&s.push(p)})}),pe.open("regions",{regions:s,regionsIndexes:d.regionsIndexes.value,"@update:regionsIndexes":m=>d.regionsIndexes.value=m})};return e.watch([i.regionIndex,l.searcherKey,d.regionsIndexes],()=>{if(l.searcherKey.value===j&&d.regionsIndexes.value.length){if(JSON.stringify(n.value)===JSON.stringify(d.regionsIndexes.value))return;n.value=[...d.regionsIndexes.value]}else a.onlySearcher?(n.value=[l.searcherKey.value],l.searcherKey.value===S&&!a.autoRegion&&(n.value.length=0)):(n.value=[i.regionIndex.value],i.regionIndex.value===S&&!a.autoRegion&&(n.value.length=0));!a.onlySearcher&&!u.value.size&&(l.searcherKey.value=S)}),r.value&&e.watch(r,()=>{r.value&&(n.value=[r.value])},{immediate:!0}),e.watch(n,()=>{if(n.value[0]&&(r.value=n.value[0]),a.onlySearcher){if(!n.value.length||n.value.length===1&&!f.value.has(n.value[0])||n.value.length===1&&n.value[0]===S&&!a.autoRegion){let s=f.value.keys().next().value;s===S&&!a.autoRegion&&(s=void 0,r.value=S),s!==void 0?n.value=[s]:n.value.length=0;return}if(n.value.length>1&&JSON.stringify(n.value)!==JSON.stringify(d.regionsIndexes.value)){n.value=[...d.regionsIndexes.value];return}}else{let s=[...new Set(n.value)],m=f.value.values().next().value?.regionByIndex?.keys().next().value;if(a.forMode&&(m=f.value.values().next().value?.regionByIndex?.values().next().value?.key),m===S&&!a.autoRegion&&(m=void 0,r.value=S),!s.length)m!==void 0&&s.push(m);else if(s.length===1){let p=u.value;a.forMode&&(p=new Set,f.value.forEach(y=>{y.regionByIndex.forEach(B=>{B.index!==O&&B.index!==S&&p.add(B.key)})})),p.has(s[0])||(s=[],m!==void 0&&s.push(m))}else s=s.filter(p=>u.value.has(p)),!s.length&&m!==void 0&&s.push(m);if(JSON.stringify(n.value)!==JSON.stringify(s)){n.value=s;return}}if(!(n.value.length===1&&n.value[0]===(a.onlySearcher?l.searcherKey.value:i.regionIndex.value)))if(a.onlySearcher){if(n.value.length===1){l.searcherKey.value=n.value[0];return}l.searcherKey.value=j;return}else{if(!n.value.length)return;if(n.value.length===1&&l.searcherKey.value!==j){i.regionIndex.value=n.value[0];let s;for(const m of f.value.values()){for(const p of m.regionByIndex.values())if((a.forMode?p.key:p.index)===i.regionIndex.value){s=m.key;break}if(s!==void 0)break}s!==void 0&&(l.searcherKey.value=s)}else l.searcherKey.value=j,d.regionsIndexes.value=[...n.value]}},{immediate:!0}),o({getSearcher:C,getRegion:c}),(s,m)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass({"top-selectorRegion":!0,"top-selectorRegion-onlySearcher":t.onlySearcher})},[e.createVNode(I._sfc_main$10,{options:e.unref(l).optionBySearcherKey.value,modelValue:e.unref(l).searcherKey.value,"onUpdate:modelValue":m[0]||(m[0]=p=>e.unref(l).searcherKey.value=p),name:"searcher_key",addChanger:t.addChanger},null,8,["options","modelValue","addChanger"]),!t.onlySearcher&&e.unref(l).searcherKey.value!==e.unref(j)?(e.openBlock(),e.createBlock(I._sfc_main$10,{key:0,class:"top-select-region",options:e.unref(i).optionByRegionIndex.value,modelValue:e.unref(i).regionIndex.value,"onUpdate:modelValue":m[1]||(m[1]=p=>e.unref(i).regionIndex.value=p),name:t.forMode?"region_key":"region_index",addChanger:t.addChanger,"data-top-icon":t.addRegionIcon?"":void 0},null,8,["options","modelValue","name","addChanger","data-top-icon"])):e.createCommentVNode("",!0),t.addCompare&&!t.onlySearcher&&e.unref(l).searcherKey.value===e.unref(j)?(e.openBlock(),e.createBlock(I._sfc_main$1,{key:1,name:"compare",onClick:g,"data-count-compare-regions-indexes":e.unref(d).regionsIndexes.value.length},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(s.$i18n.Common.Selected_regions),1)]),_:1},8,["data-count-compare-regions-indexes"])):e.createCommentVNode("",!0)],2))}}),U=t=>(t=t.replace(/&quot;/g,'"'),t.replace(/&apos;/g,"'")),oe=t=>({...t,name:U(t.name),path:U(t.path)}),W=t=>{const o={...t,name:U(t.name)};return"folder_path"in o&&typeof o.folder_path=="string"&&(o.folder_path=U(o.folder_path)),o},A={id:0,name:"/",path:"/"};function Ye(t){return t?I.useI18n()?.Common.All_folders:"/ ("+I.useI18n()?.Keywords.Root_folder+")"}const ne=(t,o,a=new Map,n={id:"root"},r=0)=>(n.childsIds=[],n.id&&(n.countAllGroupsActive=n.count_groups_active),t[n.id]&&t[n.id].forEach(l=>{l={...l},n.childsIds.push(l.id),l.id===0&&(l.name=Ye(o));const i=r>1?"-".repeat(r-1)+" ":"";i&&!l.name.startsWith(i)&&(l.name=i+l.name),a.set(l.id,l),ne(t,o,a,l,r+1),n.childsIds=n.childsIds.concat(l.childsIds),n.id&&l.count_groups_active&&(n.countAllGroupsActive+=l.count_groups_active)}),a),Qe=(t,o)=>{const a=t.gen(`/get/${o}/folders/`,["id","parent_id","name","path"]).changeParams({orders:["ord_path"],limit:100});return a.options.onApiLoaded=(n,r,l)=>{n.result&&(n.result=n.result.map(i=>oe(i))),l?.(n,r)},a};function ae(t,o,a){const n=Object.keys(t),r=n.map(l=>t[l]);return e.watch(r,(l,i,d)=>{const f={};l.forEach((u,C)=>{if(!Object.is(u,i[C])){const c=n[C];f[c]={old:i[C],new:u}}}),Object.keys(f).length&&o(f,d)},a)}const _e=e.defineComponent({__name:"folders",props:e.mergeModels({folderId:{},folder:{},folders:{},projectId:{},canSelectAll:{type:Boolean},addChanger:{type:Boolean},addIcon:{type:Boolean,default:!0},client:{},service:{}},{folderId:{required:!0},folderIdModifiers:{},folder:{default:A},folderModifiers:{}}),emits:["update:folderId","update:folder"],setup(t){const o=t,a=e.useModel(t,"folderId"),n=e.useModel(t,"folder"),r=o.client&&!o.folders&&o.service?Qe(o.client,o.service):void 0,l=e.ref(null),i=e.computed(()=>{const d=ne(o.folders??{root:[A]},o.canSelectAll),f=new Map;return d.forEach((u,C)=>{f.set(C,oe(u))}),f});return e.watch(()=>o.projectId,()=>{r?.changeParams({project_id:o.projectId}),r?.setOptions({checkFingerprint:"TopGroupSelectorFolders:"+o.projectId}),l.value?.resetCache()},{immediate:!0}),ae({modelFolder:n,modelFolderId:a},async d=>{if(a.value===n.value.id)return;if(d.modelFolder&&!d.modelFolderId){a.value=n.value.id;return}let f=i.value.get(o.folderId);f||(f=A),n.value=f,a.value=f.id},{immediate:!0}),(d,f)=>(e.openBlock(),e.createBlock(M._sfc_main$1,{class:"top-groupSelector_folder",modelValue:n.value,"onUpdate:modelValue":f[0]||(f[0]=u=>n.value=u),items:t.folders?[...i.value.values()]:void 0,"search-type":"inline",icon:t.addIcon?"":void 0,api:t.folders?void 0:e.unref(r),apiSetSearchParams:(...u)=>e.unref(M.apiSetSearchParamsFilter)(...u,"name"),addChanger:t.addChanger,useCache:""},null,8,["modelValue","items","icon","api","apiSetSearchParams","addChanger"]))}}),q={id:-1,name:"--",folder_id:A.id,folder_path:A.path},z={id:M.ITEM_ID_ALL,name:"All groups",folder_id:A.id,folder_path:A.path},J=()=>(z.name=I.useI18n()?.Common.All_groups,z),ve=()=>(z.name=I.useI18n()?.Keywords.Choose_group,z),Xe=(t,o,a)=>(t=[...t],o!==void 0&&(t=t.filter(n=>n.on==Number(o))),a&&a.id&&a.childsIds&&(t=t.filter(n=>n.folder_id===a.id||a.childsIds.includes(n.folder_id))),t),he=(t,o)=>{const a=t.gen(`/get/${o}/groups/`,["id","name","folder_id","folder_path"]).changeParams({folder_id_depth:!0,limit:100});return a.options.onApiLoaded=(n,r,l)=>{n.result&&(n.result=n.result.map(i=>W(i))),l?.(n,r)},a},Ze=(t,o)=>t.gen(`/add/${o}/groups/`),et={class:"top-groupSelector_groupItem"},tt={key:0,class:"top-comment"},ot={key:1,class:"top-groupSelector_groupItemFolderPath"},nt=e.defineComponent({__name:"groups",props:e.mergeModels({groupId:{},group:{},projectId:{},folder:{},groups:{},on:{type:Boolean,default:void 0},canAdd:{type:[String,Boolean]},canSelectAll:{type:[Boolean,String]},autoselect:{default:"first"},addChanger:{type:Boolean,default:!0},showPath:{type:Boolean},addIcon:{type:Boolean,default:!0},client:{},service:{}},{groupId:{required:!0},groupIdModifiers:{},group:{required:!0},groupModifiers:{}}),emits:e.mergeModels(["addGroup"],["update:groupId","update:group"]),setup(t,{emit:o}){const a=t,n=o,r=e.useModel(t,"groupId"),l=e.useModel(t,"group"),i=a.client&&!a.groups&&a.service?he(a.client,a.service):void 0,d=a.client&&a.service?Ze(a.client,a.service):void 0,f=e.ref(null),u=e.ref(void 0),C=P.genFieldFilter("folder_id","EQUALS",[a.folder?.id??0]);i?.changeParams({project_id:a.projectId,folder_id_depth:!0,filters:[C]}),a.on!==void 0&&i?.params.filters?.push(P.genFieldFilter("on","EQUALS",[Number(a.on)]));const c=e.computed(()=>{const m=u.value??a.groups;if(m)return m.map(p=>W(p))}),g=m=>{const p=W(m);l.value=p,r.value=p.id};ae({projectId:()=>a.projectId,folderId:()=>a.folder?.id,canSelectAll:()=>a.canSelectAll},m=>{if(m.projectId&&(i?.changeParams({project_id:a.projectId}),i?.setOptions({checkFingerprint:"TopGroupSelectorGroups:"+a.projectId})),m.folderId&&(C.values=[a.folder?.id??0],a.groups&&(u.value=Xe(a.groups,a.on,a.folder))),f.value?.resetCache(),(m.folderId?.old!==void 0||m.canSelectAll?.old!==void 0)&&r.value!==M.ITEM_ID_NEW){let p;a.autoselect==="first"&&(p=u.value?.[0],a.canSelectAll&&(p=e.reactive(J()))),(a.autoselect==="placeholder"||!p)&&(p=ve()),g(p)}},{immediate:!0}),ae({modelGroup:l,modelGroupId:r},async m=>{if(r.value!==l.value.id){if(m.modelGroup&&!m.modelGroupId){r.value=l.value.id;return}if(!(a.canAdd&&r.value===M.ITEM_ID_NEW)){if(a.groups){let p=u.value?.find(y=>y.id===r.value);if(!p&&a.canSelectAll&&(p=J()),p)g(p);else{const y=u.value?.[0];y&&!r.value?g(y):g(q)}}if(a.client&&!a.groups&&a.service&&(r.value||r.value===M.ITEM_ID_ALL&&!a.canSelectAll)){const p=he(a.client,a.service).changeParams({project_id:a.projectId,id:r.value,filters:[C]});p?.setOptions({checkFingerprint:"TopGroupSelectorFindGroup:"+a.projectId});const y=await p.call();if(!y.errors?.length&&!y.result)return;!y.errors&&y.result[0]?g(y.result[0]):g(q)}}}},{immediate:!0});const s=async m=>{if(a.canAdd!=="api"||!d)return;const p=l.value,y=await d.changeParams({project_id:a.projectId,names:[m.name],to_id:a.folder?.id??A.id,to_type:"in_folder_last"}).call();y.result?(g(y.result),n("addGroup",y.result)):g(p),f.value?.resetCache(!0)};return(m,p)=>(e.openBlock(),e.createBlock(M._sfc_main$1,{ref_key:"refSelector",ref:f,class:"top-groupSelector_group",modelValue:l.value,"onUpdate:modelValue":p[0]||(p[0]=y=>l.value=y),items:c.value,searchType:"inline",icon:t.addIcon?"":void 0,api:t.groups?void 0:e.unref(i),apiSetSearchParams:(...y)=>e.unref(M.apiSetSearchParamsFilter)(...y,"name"),appendSearchToResult:!!t.canAdd,useAllItem:t.canSelectAll?e.unref(J)().name:!1,addChanger:t.addChanger,useCache:"",onAppendItem:s},{item:e.withCtx(({item:y})=>[e.createElementVNode("div",et,[y.id===e.unref(M.ITEM_ID_NEW)?(e.openBlock(),e.createElementBlock("div",tt,e.toDisplayString(m.$i18n.Common.Add)+": ",1)):e.createCommentVNode("",!0),e.createElementVNode("span",null,e.toDisplayString(y.name),1),y.folder_path&&t.showPath?(e.openBlock(),e.createElementBlock("span",ot,e.toDisplayString(y.folder_path),1)):e.createCommentVNode("",!0)])]),_:1},8,["modelValue","items","icon","api","apiSetSearchParams","appendSearchToResult","useAllItem","addChanger"]))}}),at={class:"top-groupSelector"},lt=e.defineComponent({__name:"groupSelector",props:e.mergeModels({folderId:{},folder:{},groupId:{},group:{},projectId:{},folders:{},groups:{},on:{type:Boolean,default:void 0},canSelectAllGroups:{type:Boolean},canAddGroup:{type:[String,Boolean]},autoselect:{default:"first"},addChanger:{type:Boolean,default:!0},showFolders:{type:Boolean,default:!0},showGroups:{type:Boolean,default:!0},addIcon:{type:Boolean,default:!0},client:{},service:{default:"keywords_2"}},{folderId:{required:!0},folderIdModifiers:{},folder:{},folderModifiers:{},groupId:{required:!0},groupIdModifiers:{},group:{default:q},groupModifiers:{}}),emits:e.mergeModels(["update:groups"],["update:folderId","update:folder","update:groupId","update:group"]),setup(t,{emit:o}){const a=t,n=e.useModel(t,"folderId"),r=e.useModel(t,"folder"),l=e.useModel(t,"groupId"),i=e.useModel(t,"group"),d=o,f=ne(a.folders??{root:[A]},a.canSelectAllGroups);r.value=f.get(n.value),r.value&&(r.value=oe(r.value));let u=a.groups?.find(c=>c.id===l.value);l.value||(u=a.groups?.[0]),a.canSelectAllGroups&&!u&&(u=J()),(a.autoselect==="placeholder"||!u)&&(u=ve()),u??=q,i.value=u,i.value=W(i.value);const C=c=>{let g;a.groups&&c&&(g=[...a.groups,c]),d("update:groups",g)};return(c,g)=>(e.openBlock(),e.createElementBlock("div",at,[t.showFolders?(e.openBlock(),e.createBlock(_e,{key:0,folderId:n.value,"onUpdate:folderId":g[0]||(g[0]=s=>n.value=s),folder:r.value,"onUpdate:folder":g[1]||(g[1]=s=>r.value=s),projectId:t.projectId,folders:t.folders,canSelectAll:t.canSelectAllGroups,addChanger:t.addChanger,addIcon:t.addIcon,client:t.client,service:t.service},null,8,["folderId","folder","projectId","folders","canSelectAll","addChanger","addIcon","client","service"])):e.createCommentVNode("",!0),t.showGroups?(e.openBlock(),e.createBlock(nt,{key:1,groupId:l.value,"onUpdate:groupId":g[2]||(g[2]=s=>l.value=s),group:i.value,"onUpdate:group":g[3]||(g[3]=s=>i.value=s),projectId:t.projectId,folder:r.value,groups:t.groups,on:t.on,canAdd:t.canAddGroup,canSelectAll:t.canSelectAllGroups,autoselect:t.autoselect,addChanger:t.addChanger,showPath:t.showFolders&&!!t.folders?.[0],addIcon:t.addIcon,client:t.client,service:t.service,onAddGroup:C},null,8,["groupId","group","projectId","folder","groups","on","canAdd","canSelectAll","autoselect","addChanger","showPath","addIcon","client","service"])):e.createCommentVNode("",!0)]))}}),le=t=>({id:null,name:t,listItemProps:{type:"title"}}),re={scheduledUpdate:!1,manualUpdate:!1,guestProjects:!1},rt=(t,o)=>{const a=[],n={scheduledUpdate:le(I.useI18n().Projects.Scheduled_update),manualUpdate:le(I.useI18n().Projects.Manual_update),guestProjects:le(I.useI18n().Projects.Guest_projects)},r=o?{scheduledUpdate:!1,manualUpdate:!1,guestProjects:!1}:re;for(const l of t)!r.scheduledUpdate&&l.right?.startsWith("1")&&l.on>0&&(a.push(n.scheduledUpdate),r.scheduledUpdate=!0),!r.manualUpdate&&l.right?.startsWith("1")&&l.on===0&&(a.push(n.manualUpdate),r.manualUpdate=!0),!r.guestProjects&&l.right?.startsWith("0")&&l.on>=0&&(a.push(n.guestProjects),r.guestProjects=!0),a.push(l);return a},it=t=>t.map(o=>({...o,listItemProps:{attrs:{title:o.name}}})),dt=(t,o,a)=>{if(!t||t.length===0)return[];o&&Object.keys(re).forEach(r=>re[r]=!1);const n=it(t);return rt(n,a)},ct=t=>{t=t.replace(/#.*/,"");let o=location.hash;return o=o.replace(/historyView=[^&]*/,""),o=o.replace(/competitorsIds=[^&]*/,""),o=o.replace(/searchersKeys=[^&]*/,""),o=o.replace(/regionIndex=[^&]*/,""),o=o.replace(/regionsIndexes=[^&]*/,""),o=o.replace(/folderId=[^&]*/,""),o=o.replace(/groupId=[^&]*/,""),o=o.replace(/tags=[^&]*/,""),window.mo?.getHash&&!window.mo.getHash("dataSort").toString().includes("0000-00-00")&&(o=o.replace(/dataSort=[^&]*/,"")),o=o.replace(/%22historyView%22:[^,]*,/,""),o=o.replace(/%22competitorsIds%22:\[[^\]]*],/,""),o=o.replace(/%22searchersKeys%22:\[[^\]]*],/,""),o=o.replace(/%22regionIndex%22:[^,]*,/,""),o=o.replace(/%22regionsIndexes%22:\[[^\]]*],/,""),o=o.replace(/%22folderId%22:[^,]*,/,""),o=o.replace(/%22groupId%22:[^,]*,/,""),o=o.replace(/%22tagsIds%22:\[[^\]]*],/,""),/%22dataSort%22:\{[^}]*0000-00-00[^}]*}/.test(o)||(o=o.replace(/%22dataSort%22:\{[^}]*},/,"")),t+o},Se=(t,o)=>{o&&o.target instanceof HTMLElement&&ce.TopPopupWorker.close(o.target.closest(".top-popup-wrapper"));const a=ct(t);location.href=a},ie=t=>{const o=Ie(),a=location.pathname.split("/");let n="project/dynamics/",r="";return a[1]=="project"&&(n=a[1]+"/"+a[2]+"/"),a[2]=="settings"&&(r=location.hash),["watcher","indexing","sitemap","audit","direct","adwords"].includes(a[4])&&(r=a[4]+"/"),"https://"+o+"/"+n+t+"/"+r},Ie=()=>window.page?.subdomain?window.location.host.replace(window.page?.subdomain+".",""):window.location.host,ye=t=>{let o=t.startsWith("http")?t:"http://"+t;return o=o.replace(/"/g,"%22"),o},st=(t,o)=>{let a=t.params.filters??[];a=a.filter(i=>i.name!=="GEN_SEARCH_STRING()");const n=be.invertKeyboardLayout(o),r=o.replace(/([[^$.|?*+()])/g,"\\$1"),l=n.replace(/([[^$.|?*+()])/g,"\\$1");o&&a.push(P.genFieldFilter("GEN_SEARCH_STRING()","REGEXP",[`(${r}|${l})`])),t.changeParams({filters:a})},ke=(t,o,a)=>{const n=t.gen("/get/projects_2/projects/",["id","user_id","name","url","on","right"]);return n.params={...a,filters:[P.genFieldFilter("on","GREATER_THAN_EQUALS",[0])],orders:[P.genFieldOrder("user_id","DESC",[o]),P.genFieldOrder("on","DESC"),P.genFieldOrder("favorite","DESC"),P.genFieldOrder("id","DESC")]},n.options.onApiLoaded=(r,l,i)=>{const d=l.data.filters.length===1&&l.data.offset===0||l.data.limit===1e3,f=l.data.limit===100&&l.data.filters.length>1?!0:void 0;r.result=dt(r.result,d,f),i?.(r,l)},n},ut=t=>t.gen("/add/projects_2/projects/"),mt={class:"top-projectSelectorSubmenu_item"},ft=["href","title","data-top-icon","data-right"],gt={class:"top-projectSelectorSubmenu_item"},pt=["href"],vt=e.defineComponent({__name:"submenu",props:{id:{},right:{},url:{}},setup(t){const o=t,a=I.useI18n(),n=Ie(),r=[{href:`https://${n}/project/keywords/${o.id}/`,title:a.Common.Menu_phrases,icon:"",right:"2"},{href:`https://${n}/project/dynamics/${o.id}/`,title:a.Common.Menu_dynamics,icon:"",right:"1"},{href:`https://${n}/project/snapshots/${o.id}/`,title:a.Common.Menu_snapshots,icon:"",right:"1"},{href:`https://${n}/project/competitors/${o.id}/`,title:a.Common.Menu_competitors,icon:"",right:"1"},{href:`https://${n}/project/analytics/${o.id}/`,title:a.Common.Menu_analytics,icon:"",right:"5"},{href:`https://${n}/project/broker/${o.id}/`,title:a.Common.Menu_broker,icon:"",right:"6"},{href:`https://${n}/project/audit/${o.id}/sitemap/`,title:a.Audit.Sitemap_gen,icon:"",right:"8"},{href:`https://${n}/project/audit/${o.id}/audit/`,title:a.Common.Menu_audit,icon:"",right:"8"},{href:`https://${n}/project/audit/${o.id}/indexing/`,title:a.Audit.Indexing,icon:"",right:"8"},{href:`https://${n}/project/audit/${o.id}/watcher/`,title:a.Audit.Watcher,icon:"",right:"9"},{href:`https://${n}/project/settings/${o.id}/`,title:a.Common.Menu_settings,icon:"",right:"2"}],l=e.computed(()=>o.right.includes("0")?r.filter(i=>o.right[i.right]==="1"):r);return(i,d)=>{const f=e.resolveComponent("TopButton");return e.openBlock(),e.createBlock(e.unref(b._sfc_main),{class:"top-projectSelectorSubmenu",notch:!1,pos:"2"},{opener:e.withCtx(()=>[e.createVNode(f,{class:"top-projectSelectorSubmenu_opener","data-top-icon":"",color:"theme"})]),contentList:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(l.value,u=>(e.openBlock(),e.createElementBlock("li",mt,[e.createElementVNode("a",{href:u.href,title:u.title,"data-top-icon":u.icon,"data-right":u.right},null,8,ft)]))),256)),e.createElementVNode("li",gt,[e.createElementVNode("a",{href:t.url,"data-top-icon":"",target:"_blank"},null,8,pt)])]),_:1})}}}),H="ui_project_selector_total:",ht=1440*60*1e3,T=e.shallowRef(),Ce=e.ref(0),L=e.ref(null),Be=(t,o)=>{localStorage.setItem(H+t,JSON.stringify({projectsTotal:o,expiresAt:Date.now()+ht}))},St=t=>{const o=localStorage.getItem(H+t);if(!o)return;const{projectsTotal:a,expiresAt:n}=JSON.parse(o);if(Date.now()>n){localStorage.removeItem(H+t);return}return a},xe=(t,o=!0)=>{T.value=void 0,localStorage.removeItem(H+t),o&&Ce.value++},It={class:"top-projectSelector_item"},yt={class:"top-projectSelector_itemText"},kt={class:"top-comment"},Ct={key:0,class:"top-comment"},Bt=["href","onClick"],we=1e3,xt=e.defineComponent({__name:"projectSelector",props:e.mergeModels({modelValue:{},client:{},addLinksToProjects:{type:Boolean,default:!0},excludeProjectId:{},modificator:{},placeholder:{},buttonProps:{},openerShortcut:{}},{modelValue:{default:{id:null,name:""}},modelModifiers:{}}),emits:["update:modelValue"],setup(t){const o=I.useI18n();if(!window.mo?.user?.id)throw new Error("TopProjectSelector: не удалось определить userId. Компонент требует авторизованного пользователя (см. window.mo.user.id)");const a=window.mo.user.id,n=t,r=e.useModel(t,"modelValue"),l=ke(n.client,a),i=ut(n.client),d=e.ref(St(a)),f=e.ref(null),u=e.computed(()=>n.placeholder??o.Projects.Select_project),C=e.computed(()=>!T.value||!n.excludeProjectId?T.value:T.value.filter(B=>B.id!==n.excludeProjectId)),c=e.computed(()=>{if(!(!d.value&&d.value!==0))return d.value<we?"static":"api"});e.watch(Ce,()=>{p()}),e.watch(r,()=>{!r.value.id||!n.addLinksToProjects||Se(ie(r.value.id))});const g=async()=>{if(!L.value){const E=ke(n.client,a,{limit:we});L.value=E.call()}const B=await L.value;if(B.errors){L.value=null;return}return L.value=null,B},s=async()=>{if(d.value)return;const B=await g();B&&(d.value=B.total,c.value==="static"&&!T.value&&(T.value=B.result),d.value&&Be(a,d.value))},m=async B=>{const E=await i.changeParams({url:B.name,name:B.name}).call();if(!E.errors){if(T.value&&c.value==="static"){const h={id:Number(E.result),user_id:a,name:B.name,url:B.name,on:0,right:"11111111111111111111",listItemProps:{attrs:{title:B.name}}},v=T.value.findIndex(k=>k.on===0);T.value=[...T.value.slice(0,v),h,...T.value.slice(v)],d.value&&(d.value+=1,Be(a,d.value))}c.value==="api"&&xe(a)}},p=()=>{c.value==="api"&&f.value?.resetCache(!0)},y=async()=>{if(T.value||c.value!=="static")return;const B=await g();B&&(T.value=B.result)};return e.onMounted(async()=>{await s()}),(B,E)=>{const h=e.resolveComponent("TopButton");return e.openBlock(),e.createBlock(M._sfc_main$1,{ref_key:"refSelector",ref:f,class:"top-projectSelector",modelValue:r.value,"onUpdate:modelValue":E[1]||(E[1]=v=>r.value=v),items:C.value,title:B.$i18n.Projects.Search_projects,modificator:t.modificator,searchFields:["id","name","url"],placeholder:u.value,hasCloserBtn:"",api:c.value==="api"?e.unref(l):void 0,apiSetSearchParams:c.value==="api"?(...v)=>e.unref(st)(...v):void 0,useCache:"",appendSearchToResult:"",appendSearchAllowDuplicate:"",appendSearchToResultCond:e.unref($e.validUrl),appendWithoutSelect:"",buttonProps:t.buttonProps,openerShortcut:t.openerShortcut,onAppendItem:m,onOpen:y},{item:e.withCtx(({item:v})=>[e.createElementVNode("div",It,[e.createElementVNode("div",yt,[v.id?(e.openBlock(),e.createElementBlock(e.Fragment,{key:0},[e.createTextVNode(e.toDisplayString(e.unref(Pe.ellipsis)(v.name,20))+" ",1),e.createElementVNode("span",kt," id "+e.toDisplayString(v.id),1)],64)):(e.openBlock(),e.createElementBlock(e.Fragment,{key:1},[v.listItemProps?.type?e.createCommentVNode("",!0):(e.openBlock(),e.createElementBlock("div",Ct,e.toDisplayString(B.$i18n.Projects.Add_project)+": ",1)),e.createTextVNode(" "+e.toDisplayString(v.name),1)],64))]),v.id?(e.openBlock(),e.createElementBlock(e.Fragment,{key:0},[t.addLinksToProjects?(e.openBlock(),e.createElementBlock("a",{key:0,class:"top-projectSelector_itemLink",href:e.unref(ie)(v.id),onClick:e.withModifiers(k=>e.unref(Se)(e.unref(ie)(v.id),k),["prevent","stop"])},null,8,Bt)):e.createCommentVNode("",!0),B.$core.state.isMobile?e.createCommentVNode("",!0):(e.openBlock(),e.createBlock(h,{key:1,class:"top-projectSelector_itemExtLink",href:e.unref(ye)(v.url),"data-top-icon":"",color:"theme",target:"_blank",onClick:E[0]||(E[0]=e.withModifiers(()=>{},["stop"]))},null,8,["href"])),e.createVNode(vt,{id:v.id,right:v.right??void 0,url:e.unref(ye)(v.url)},null,8,["id","right","url"])],64)):e.createCommentVNode("",!0)])]),_:1},8,["modelValue","items","title","modificator","placeholder","api","apiSetSearchParams","appendSearchToResultCond","buttonProps","openerShortcut"])}}}),Te=t=>"-"+t,G=t=>t[0]==="-"?t.substring(1):t,Y=(t,o)=>{t=G(t);const a=o.find(n=>n.id===t);if(a)return a},wt=(t,o,a)=>{o||(o={id:t.id}),o.id=t.id,o.pos??="3",o.notch??=!0,o.posBy??="fixed";const n=ce.TopPopupWorker.genElPopupOpener("div",o);return n.classList.add("top-tagSelector"),t.useTopButton&&n.classList.add("top-tagSelector-useTopButton","top-button","top-color_theme","top-as-selector"),t.useTopButton||n.classList.add("top-tagSelector-custom"),t.mode==="filter"&&n.classList.add("top-tagSelector-filter"),t.mode==="setter"&&!t.filters&&n.classList.add("top-tagSelector-setter_single"),t.mode==="setter"&&t.filters&&n.classList.add("top-tagSelector-setter_several"),n.onclick=r=>{r.preventDefault(),r.stopPropagation(),n.onclick=null;const l=e.ref(t.modelValue),i={model:l,mode:t.mode,targetId:t.targetId,filters:t.filters,payload:t.payload};N.storage(n,"topTagSelectorTarget",i),delete n.dataset.topPopupDisabled,e.isRef(t.modelValue)||e.watch(l,()=>{t.modelValue=l.value,Q(n,t,a)}),n.click()},e.isRef(t.modelValue)?e.watch(t.modelValue,()=>Q(n,t,a)):N.storage(n,"topTagSelectorRender",r=>{t.modelValue=r;const l=N.storage(n,"topTagSelectorTarget");l&&(l.model.value=r),Q(n,t,a)}),Q(n,t,a),n},Tt=(t,o)=>{N.storage(t,"topTagSelectorRender")?.(o)},Q=(t,o,a)=>{const n=e.unref(o.modelValue);if(t.classList.toggle("top-tagSelector-selectedOne",!n.length||n.length===1),t.classList.toggle("top-tagSelector-toTwoLine",n.length>5),o.mode==="setter"&&o.filters){t.innerHTML=`<div>${a}</div>`;return}if(t.innerHTML="",!n.length&&o.mode==="filter"){const r=Me({id:"all",colorId:"",name:I.useI18n().Common?.All_tags??"",state:""});t.append(r)}n.forEach(r=>{const l=Me({id:G(r),colorId:Y(r,o.tags)?.color_id??"",name:Y(r,o.tags)?.name??"",state:G(r)===r?"selected":"excluded"});t.append(l)})},Me=t=>{const o=document.createElement("div");return o.classList.add("top-tagSelector_tagIcon"),o.classList.toggle("top-tagSelector-active",!!t.state),o.classList.toggle("top-tagSelector-excluded",t.state==="excluded"),o.dataset.tag_id=t.id,o.dataset.tag_color_id=t.colorId,o.title=t.name,o},Mt=[{id:"1",name:"Without Tag",color_id:"1"},{id:"2",name:"Red",color_id:"2"},{id:"3",name:"Orange",color_id:"3"},{id:"4",name:"Yellow",color_id:"4"},{id:"5",name:"Blue",color_id:"5"},{id:"6",name:"Purple",color_id:"6"},{id:"7",name:"Green",color_id:"7"},{id:"8",name:"Magenta",color_id:"8"},{id:"9",name:"Dark blue",color_id:"9"},{id:"10",name:"Turquoise",color_id:"10"}],Et=["data-tag_id","data-tag_color_id","title"],_=e.defineComponent({__name:"tagIcon",props:{id:{},colorId:{},name:{},state:{}},setup(t){return(o,a)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass({"top-tagSelector_tagIcon":!0,"top-tagSelector-active":!!t.state,"top-tagSelector-excluded":t.state==="excluded"}),"data-tag_id":t.id,"data-tag_color_id":t.colorId,title:t.name},null,10,Et))}}),Vt=["contenteditable","onKeydown"],Ee=e.defineComponent({__name:"tagPopupListItem",props:e.mergeModels({editable:{type:Boolean},disabled:{type:Boolean},canExclude:{type:Boolean},id:{},colorId:{},name:{},state:{}},{name:{required:!0},nameModifiers:{}}),emits:e.mergeModels(["update:name","unselect","exclude","select"],["update:name"]),setup(t,{emit:o}){const a=t,n=o,r=e.useModel(t,"name"),l=e.ref(null),i=e.computed(()=>navigator.userAgent.indexOf("Firefox")!=-1?{contenteditable:d.value,onpaste:g=>g.preventDefault()}:{}),d=e.ref(!1),f=async()=>{d.value=!0,await e.nextTick(),l.value?.focus()},u=()=>{const g=l.value?.innerText;if(!g)return C();l.value&&(l.value.innerText=g),d.value=!1,n("update:name",g)},C=async()=>{l.value&&(l.value.innerText=a.name),d.value=!1},c=g=>{if(d.value||a.disabled)return;let s="selected";a.canExclude&&(g.ctrlKey||g.metaKey)&&(s="excluded"),a.state==s&&(s=""),s===""&&n("unselect"),s==="selected"&&n("select"),s==="excluded"&&n("exclude")};return(g,s)=>(e.openBlock(),e.createBlock(b._sfc_main$1,{class:e.normalizeClass({"top-tagSelector_tagListItem":!0,"top-tagSelector_tagListItem-inEdit":d.value,"top-tagSelector_tagListItem-disabled":t.disabled,"top-tagSelector_tagListItem-canExclude":t.canExclude,"top-tagSelector-active":!!t.state,"top-tagSelector-excluded":t.state==="excluded"}),onClick:e.withModifiers(c,["stop"])},{default:e.withCtx(()=>[e.createVNode(_,{id:t.id,name:r.value,colorId:t.colorId,state:t.state},null,8,["id","name","colorId","state"]),e.createElementVNode("span",e.mergeProps({ref_key:"elName",ref:l,class:"top-tagSelector_tagListItemName",contenteditable:d.value?"plaintext-only":!1},i.value,{onKeydown:[e.withKeys(e.withModifiers(u,["stop"]),["enter"]),e.withKeys(e.withModifiers(C,["stop"]),["esc"])]}),e.toDisplayString(r.value),17,Vt),t.editable?(e.openBlock(),e.createElementBlock(e.Fragment,{key:0},[d.value?(e.openBlock(),e.createElementBlock("span",{key:1,"data-top-icon":"",class:"top-tagSelector_edit",onClick:e.withModifiers(u,["stop"])})):(e.openBlock(),e.createElementBlock("span",{key:0,"data-top-icon":"",class:"top-tagSelector_edit",onClick:f}))],64)):e.createCommentVNode("",!0)]),_:1},8,["class"]))}}),jt={key:1},Ve=e.defineComponent({inheritAttrs:!1,__name:"popupOpener",props:e.mergeModels({modelValue:{},id:{},tags:{},mode:{},targetId:{},filters:{},useTopButton:{type:Boolean},payload:{},styling:{}},{modelValue:{required:!0},modelModifiers:{}}),emits:["update:modelValue"],setup(t){const o=t,a=e.useModel(t,"modelValue"),n=o.useTopButton?I._sfc_main$1:"div",r=o.useTopButton?"html":"default",l={model:a,mode:o.mode,targetId:o.targetId,filters:o.filters,payload:o.payload};return(i,d)=>{const f=e.resolveDirective("top-data");return e.openBlock(),e.createBlock(b._sfc_main$2,{id:t.id},{default:e.withCtx(()=>[e.withDirectives((e.openBlock(),e.createBlock(e.resolveDynamicComponent(e.unref(n)),e.mergeProps({class:{"top-tagSelector":!0,"top-tagSelector-useTopButton":o.useTopButton,"top-tagSelector-custom":!o.useTopButton,"top-as-selector":o.useTopButton,"top-tagSelector-filter":o.mode==="filter","top-tagSelector-setter_single":o.mode==="setter"&&!t.filters,"top-tagSelector-setter_several":o.mode==="setter"&&t.filters,"top-tagSelector-selectedOne":!a.value.length||a.value.length===1,"top-tagSelector-toTwoLine":a.value.length>5},color:"theme",styling:t.styling},i.$attrs),{[e.unref(r)]:e.withCtx(()=>[!a.value.length&&t.mode==="filter"?(e.openBlock(),e.createBlock(_,{key:0,id:"all",colorId:"",name:i.$i18n.Common.All_tags??"",state:""},null,8,["name"])):e.createCommentVNode("",!0),t.mode==="setter"&&t.filters?(e.openBlock(),e.createElementBlock("div",jt,[e.renderSlot(i.$slots,"default")])):(e.openBlock(!0),e.createElementBlock(e.Fragment,{key:2},e.renderList(a.value,u=>(e.openBlock(),e.createBlock(_,{id:e.unref(G)(u),colorId:e.unref(Y)(u,t.tags)?.color_id??"",name:e.unref(Y)(u,t.tags)?.name??"",state:e.unref(G)(u)===u?"selected":"excluded"},null,8,["id","colorId","name","state"]))),256))]),_:2},1040,["class","styling"])),[[f,l,"topTagSelectorTarget"]])]),_:3},8,["id"])}}}),At=e.defineComponent({__name:"tagSelector",props:e.mergeModels({modelValue:{},tags:{},tagsEditable:{type:Boolean},tagsMax:{default:10},id:{},singleMode:{type:Boolean},requiredForSetter:{type:Boolean,default:!0},maxTagsForSetter:{},emitDelay:{default:500},useTopButton:{type:Boolean,default:!0},styling:{}},{modelValue:{required:!0},modelModifiers:{},tags:{default:e.reactive(Mt)},tagsModifiers:{}}),emits:e.mergeModels(["selector","setter","tagsChanged"],["update:modelValue","update:tags"]),setup(t,{emit:o}){const a=I.useI18n(),n=t,r=e.useModel(t,"modelValue"),l=e.useModel(t,"tags"),i=o,d=I.debounce((h,v)=>{i(h,v)},n.emitDelay);n.singleMode&&!r.value.length&&(r.value=[l.value[0].id]);const f=n.id??"top-popup-id-"+Math.random(),u=e.ref("add"),C=()=>{const h=" "+a.Common.Tags?.toLowerCase(),v=new Map;return v.set("add",{value:"add",title:a.Common.Add+h}),v.set("replace",{value:"replace",title:a.Common.Replace+h}),v.set("delete",{value:"delete",title:a.Common.Delete+h}),v};let c=e.shallowRef({model:r,mode:"filter",targetId:void 0,filters:void 0,payload:void 0});e.watch(r,()=>{d("selector",r.value)});const g=e.computed(()=>{if(c.value.mode==="setter"&&n.maxTagsForSetter&&!c.value.filters)return c.value.model.value.length>=n.maxTagsForSetter}),s=h=>{if(h!=="all"){if(c.value.model.value.includes(h))return"selected";if(c.value.model.value.includes(Te(h)))return"excluded"}return h==="all"&&!c.value.model.value.length?"selected":""},m=(h,v)=>{const k=Te(h);let x=c.value.model.value.filter(V=>V!==h&&V!==k);v==="select"&&x.push(h),v==="exclude"&&x.push(k),c.value.mode==="setter"&&c.value.targetId!==void 0&&n.requiredForSetter&&(x.length||x.push("1"),x.length===2&&c.value.model.value.length===1&&c.value.model.value[0]==="1"&&(x=x.filter(V=>V!=="1"))),n.singleMode&&!c.value.filters&&(x.length||(x=c.value.model.value),x.length>1&&(x=[x[x.length-1]])),x.sort((V,X)=>{if(!n.tags)return 0;const R=n.tags.findIndex(K=>K.id===V),D=n.tags.findIndex(K=>K.id===X);return R-D}),c.value.model.value=x,c.value.mode==="setter"&&c.value.targetId!==void 0&&d("setter",{tagsIds:x,targetId:c.value.targetId,payload:c.value.payload})},p=e.computed(()=>{let h="top-tagSelector_popup";return c.value.mode==="filter"&&(h+=" top-tagSelector_popup-filter"),c.value.mode==="setter"&&(h+=" top-tagSelector_popup-setter"),h}),y=()=>{const h=prompt("","New tag");if(!h||h==="New tag")return;const v=l.value.length+1;l.value.push({id:String(v),name:h,color_id:String((v-1)%10+1)}),i("tagsChanged",l.value)},B=h=>{if(c.value=N.storage(h.elPopupOpener,"topTagSelectorTarget"),!c.value)throw new Error("Open popup TopTagSelector required v-data:topTagSelectorTarget");if(c.value.filters&&(u.value="add",c.value.model.value=[]),!I.Core.$?.ui.sortable){console.info("Для работы сортировки требуется глобальная загрузка jQuery UI Sortable");return}!I.Core.state.isMobile&&!I.Core.state.isMobileUA&&l.value&&$(h.elPopup).sortable({items:'li:has([data-tag_id]:not([data-tag_id="all"]))',cancel:'[contenteditable="plaintext-only"], [contenteditable="true"]',distance:10,stop:function(v,k){if(!l.value)return;const x=$(k.item).parent().find("[data-tag_id]"),V=[];x.each((X,R)=>{if(!l.value)return;const D=$(R).attr("data-tag_id");V.push(D)}),l.value.sort((X,R)=>{const D=V.findIndex(de=>de===X.id),K=V.findIndex(de=>de===R.id);return D-K}),d("tagsChanged",l.value)}})},E=h=>{I.Core.$?.ui.sortable&&$(h.elPopup).data("ui-sortable")&&$(h.elPopup).sortable("destroy")};return(h,v)=>(e.openBlock(),e.createElementBlock(e.Fragment,null,[e.createVNode(Ve,{modelValue:r.value,"onUpdate:modelValue":v[0]||(v[0]=k=>r.value=k),id:e.unref(f),tags:l.value,styling:t.styling,mode:"filter",useTopButton:t.useTopButton},null,8,["modelValue","id","tags","styling","useTopButton"]),e.createVNode(b._sfc_main,{id:e.unref(f),class:e.normalizeClass(p.value),onOpen:v[4]||(v[4]=k=>B(k)),onClose:v[5]||(v[5]=k=>E(k)),"transition-duration":50},e.createSlots({contentList:e.withCtx(()=>[e.unref(c).mode==="filter"&&!t.singleMode?(e.openBlock(),e.createBlock(Ee,{key:0,id:"all",colorId:"",name:h.$i18n.Common.All_tags??"",state:e.unref(c).model.value.length?"":"selected",onSelect:v[3]||(v[3]=k=>e.unref(c).model.value=[])},null,8,["name","state"])):e.createCommentVNode("",!0),(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(l.value,k=>(e.openBlock(),e.createBlock(Ee,{key:k.id,id:k.id,colorId:k.color_id,name:k.name,state:s(k.id),canExclude:e.unref(c).mode==="filter"&&!t.singleMode,editable:t.tagsEditable,disabled:g.value&&s(k.id)==="",onUnselect:x=>m(k.id,"unselect"),onSelect:x=>m(k.id,"select"),onExclude:x=>m(k.id,"exclude"),"onUpdate:name":x=>{k.name=x,e.unref(d)("tagsChanged",l.value)}},null,8,["id","colorId","name","state","canExclude","editable","disabled","onUnselect","onSelect","onExclude","onUpdate:name"]))),128)),t.tagsEditable&&l.value.length<t.tagsMax&&l.value.length<20?(e.openBlock(),e.createBlock(b._sfc_main$1,{key:1,"data-top-icon":"",onClick:e.withModifiers(y,["stop"])},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(h.$i18n.Common.Add),1)]),_:1})):e.createCommentVNode("",!0)]),_:2},[e.unref(c).mode==="setter"&&e.unref(c).filters?{name:"header",fn:e.withCtx(()=>[e.createVNode(I._sfc_main$10,{modelValue:u.value,"onUpdate:modelValue":v[1]||(v[1]=k=>u.value=k),options:C()},null,8,["modelValue","options"])]),key:"0"}:void 0,e.unref(c).mode==="setter"&&e.unref(c).filters?{name:"footer",fn:e.withCtx(()=>[e.createVNode(I._sfc_main$1,{color:"theme"},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(h.$i18n.Common.Cancel),1)]),_:1}),e.createVNode(I._sfc_main$1,{onClick:v[2]||(v[2]=k=>e.unref(d)("setter",{tagsIds:e.unref(c).model.value,filters:e.unref(c).filters,filtersAction:u.value,payload:e.unref(c).payload}))},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(u.value==="add"?h.$i18n.Common.Add:"")+" "+e.toDisplayString(u.value==="replace"?h.$i18n.Common.Replace:"")+" "+e.toDisplayString(u.value==="delete"?h.$i18n.Common.Delete:""),1)]),_:1})]),key:"1"}:void 0]),1032,["id","class"])],64))}});w.TopCompetitorSelector=Ge,w.TopGroupSelector=lt,w.TopProjectSelector=xt,w.TopRegionSelector=He,w.TopTagSelector=At,w.TopTagSelectorPopupOpener=Ve,w.TopTagSelectorTagIcon=_,w.clearCache=xe,w.dialogRegionSelector=pe,w.findRegion=ge,w.genElTopTagSelectorPopupOpener=wt,w.genSearcherByKey=te,w.renderElTopTagSelectorPopupOpener=Tt,w.useItemsFromCompetitors=Re,Object.defineProperty(w,Symbol.toStringTag,{value:"Module"})}));
2
- //# sourceMappingURL=project.amd.js.map
1
+ var __createBinding=this&&this.__createBinding||(Object.create?(function(e,t,n,r){r===void 0&&(r=n);var i=Object.getOwnPropertyDescriptor(t,n);(!i||(`get`in i?!t.__esModule:i.writable||i.configurable))&&(i={enumerable:!0,get:function(){return t[n]}}),Object.defineProperty(e,r,i)}):(function(e,t,n,r){r===void 0&&(r=n),e[r]=t[n]})),__setModuleDefault=this&&this.__setModuleDefault||(Object.create?(function(e,t){Object.defineProperty(e,`default`,{enumerable:!0,value:t})}):function(e,t){e.default=t}),__importStar=this&&this.__importStar||(function(){var n=function(e){return n=Object.getOwnPropertyNames||function(e){var t=[];for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[t.length]=n);return t},n(e)};return function(r){if(r&&r.__esModule)return r;var i={};if(r!=null)for(var a=n(r),o=0;o<a.length;o++)a[o]!==`default`&&__createBinding(i,r,a[o]);return __setModuleDefault(i,r),i}})();define([`require`,`exports`,`../.chunks/forms-CbUt-6Ff.amd`,`../.chunks/field-CjkpGeA7.amd`,`../utils/dom.amd`,`../.chunks/worker-Db8YrEHo.amd`,`../utils/check.amd`,`../utils/string.amd`,`../.chunks/utils-BwiXsV0S.amd`,`../utils/searchers.amd`,`../utils/keyboard.amd`,`../.chunks/popup-DrByVU-k.amd`,`../.chunks/formsExt-CrTmBhja.amd`,`vue`,`../.chunks/api-CawzY1Cw.amd`,`../.chunks/app-CCX-gNqz.amd`,`../popup/worker.amd`,`../require/css.amd!../assets/project.css`],function(e,t,r,i,a,o,s,c,l,u,d,f,p,m){"use strict";if(h===void 0)var h=window.Vue;Object.defineProperty(t,`__esModule`,{value:!0}),t.useItemsFromCompetitors=t.renderElTopTagSelectorPopupOpener=t.genSearcherByKey=t.genElTopTagSelectorPopupOpener=t.findRegion=t.dialogRegionSelector=t.clearCache=t.TopTagSelectorTagIcon=t.TopTagSelectorPopupOpener=t.TopTagSelector=t.TopRegionSelector=t.TopProjectSelector=t.TopGroupSelector=t.TopCompetitorSelector=void 0;var g={class:`top-competitorSelector`},_={class:`top-ellipsis1`},v=(0,m.defineComponent)({__name:`competitorSelector`,props:(0,m.mergeModels)({modelValue:{},items:{},showSelectAllItem:{type:Boolean,default:!0}},{modelValue:{},modelModifiers:{}}),emits:[`update:modelValue`],setup(e){let t=e,n=(0,m.useModel)(e,`modelValue`),i=(0,m.computed)(()=>{if(t.showSelectAllItem)return{icon:``,title:(0,r.E)().Common.Select_all,value:`all`,content:``}});return(t,a)=>((0,m.openBlock)(),(0,m.createElementBlock)(`div`,g,[(0,m.unref)(r.O).state.isMobile?((0,m.openBlock)(),(0,m.createBlock)(f.s,{key:0},{opener:(0,m.withCtx)(()=>[(0,m.createVNode)(r.h,{class:`top-competitorSelector_opener`,color:`theme`,icon:``,icon2:``},{default:(0,m.withCtx)(()=>[(0,m.createTextVNode)((0,m.toDisplayString)(e.items.find(e=>e.value===n.value?.[0])?.content),1)]),_:1})]),contentList:(0,m.withCtx)(()=>[((0,m.openBlock)(!0),(0,m.createElementBlock)(m.Fragment,null,(0,m.renderList)(e.items,e=>((0,m.openBlock)(),(0,m.createBlock)(f.o,{class:(0,m.normalizeClass)({"top-active":n.value?.includes(e.value)}),"data-top-icon":e.icon,title:e.title,onClick:()=>n.value=[e.value]},{default:(0,m.withCtx)(()=>[(0,m.createElementVNode)(`span`,_,(0,m.toDisplayString)(e.content),1)]),_:2},1032,[`class`,`data-top-icon`,`title`,`onClick`]))),256))]),_:1})):((0,m.openBlock)(),(0,m.createBlock)(p.d,{key:1,modelValue:n.value,"onUpdate:modelValue":a[0]||=e=>n.value=e,items:e.items,isMultiple:!0,styling:`bar`,canBeEmptyMultiple:!1,selectAllItem:i.value},null,8,[`modelValue`,`items`,`selectAllItem`]))]))}}),y=(e,t)=>(0,m.computed)(()=>(0,m.toValue)(e).filter(e=>e.on>=0||e.id===t).map(e=>({value:e.id,title:e.url+` [${e.id}]`,icon:e.id===(0,m.toValue)(t)?``:``,content:e.name}))),b={0:`Yandex`,1:`Google`,4:`YouTube`,5:`Bing`,7:`Seznam`,8:`AppStore`,9:`GoogleStore`,20:`Yandex.com`,21:`Yandex.com.tr`},x={key:-2,name:`--`,index:-2},S={key:-2,name:`--`,regions:[x],regionByIndex:new Map([[-2,x]])},C={key:-2,name:`Autoselect`,index:-2},w={key:-2,name:`Autoselect`,regions:[C],regionByIndex:new Map([[-2,C]])},T={countryCode:`00`,depth:1,device:0,key:-1,index:-1,lang:`ru`,name:`Without region`},ee=()=>(C.name=(0,r.E)().Common.Autoselect,C),te=()=>(ee(),w.name=(0,r.E)().Common.Autoselect,console.log(w),w),ne=()=>(T.name=(0,r.E)().Keywords.Without_region,T),E=(e=``,t=!1,n=[])=>{let r;return r=e?re(n,e):D(n),t&&r.set(-2,te()),r.size||r.set(-2,S),r},D=(e,t=!0,n=[],r=``)=>{let i=new Map;return e.forEach(e=>{if(!e.enabled||r&&typeof e.key==`number`&&e.key>1)return;let a={...e};a.regionByIndex=new Map,e.regions&&e.regions.forEach(e=>{if(t&&!e.enabled)return;let n={...e};a.regionByIndex.set(n.index,n)}),!a.regionByIndex.size&&n.length,(!e.regions||a.regionByIndex.size||n.length)&&i.set(a.key,a)}),n.forEach(e=>{if(i.has(e))return;let t={key:e,name:b[e],regions:[],regionByIndex:new Map};i.set(t.key,t)}),i},re=(e,t)=>{let n=D(e,!1,[0,1],t);if(n.has(2)){let e=n.get(2);e&&(e.regionByIndex=new Map)}return(t===`volume`||t===`cost_forecast`)&&n.forEach(e=>{if(!e.regionByIndex)return;let t={...ne()};e.regionByIndex.set(t.index,t)}),n},O=(e,t,n=[])=>{let r=E(e,!1,n),i;return r.forEach(n=>{if(!(t.searcher_key!==void 0&&t.searcher_key!=n.key)&&n.regions&&(n.regions.forEach(r=>{if(!i&&!(t.key!==void 0&&t.key!=r.key)&&!(t.index!==void 0&&t.index!=r.index)&&!(!e&&(t.lang!==void 0&&t.lang!=r.lang||t.device!==void 0&&t.device!=r.device)))return r.searcher_key=n.key,i=r,!1}),i))return!1}),i},k=(0,l.t)(()=>new Promise((t,n)=>{e([`../.chunks/dialog_regionSelectorRegions-CYrmaDt3.amd`],t,n)}).then(__importStar)),ie=(e,t)=>{let n=(0,r.E)();return{searcherKey:(0,m.ref)(t.value.keys().next().value??-2),optionBySearcherKey:(0,m.computed)(()=>{let r=new Map;if(t.value.forEach(t=>{let n={value:t.key,title:t.name};e.addSearcherIcon&&(n.icon=(0,u.getSearcherGIcon)(t.key)),r.set(t.key,n)}),e.addCompare&&!r.has(-2)){let e={value:``,title:`--------------------`,disabled:!0};r.set(e.value,e);let t={value:-1,title:n.Common.Compare};r.set(t.value,t)}return r})}},ae=(e,t)=>{let n=(0,r.E)(),i=(0,m.ref)(-2);e.modelValue.length===1&&(i.value=e.modelValue[0]),i.value===-2&&(e.forMode?i.value=t.value?.regionByIndex.values().next().value?.key??-2:i.value=t.value?.regionByIndex.keys().next().value??-2);let a=(0,m.computed)(()=>{let r=new Map;return t.value.regionByIndex?.forEach(i=>{let a=i.name;if(e.forMode){let e={value:i.key,title:a};r.has(i.key)||r.set(i.key,e);return}i.device&&(a+=` (`+n.Common[`Device_`+i.device]+`)`);let o=(0,u.getLangLabel)(t.value.key||0,i.lang??``);o&&(a+=` / `+o);let s={value:i.index,title:a,icon:i.device?(0,u.getDeviceGIcon)(i.device):void 0};r.set(i.index,s)}),r});return(0,m.watch)(a,(t,r)=>{if(e.onlySearcher||i.value!==void 0&&t.get(i.value))return;let a=t.keys().next().value;if(i.value===-2||a===-2){i.value=a;return}let o=r?.get(i.value)?.title||``,s=-1;for(let[e,r]of t.entries()){let t=r.title;if(typeof t!=`string`||typeof e==`string`)break;if(t===o){a=e;break}let i=RegExp(` \\((${n.Common.Device_1}|${n.Common.Device_2})\\)`),c=o,l=3;t.indexOf(c)===-1&&(c=o.replace(/^[^a-zа-я]/i,``).replace(i,``),l--),t.indexOf(c)===-1&&(c=o.replace(/ \/.*/,``),l--),t.indexOf(c)===-1&&(c=o.replace(/ \/.*/,``),c=c.replace(/^[^a-zа-я]/i,``).replace(i,``),l--),t.indexOf(c)!==-1&&(l<=s||(s=l,a=e))}i.value=a}),{regionIndex:i,optionByRegionIndex:a}},oe=(e,t,n)=>{let r=(0,m.ref)([]),i=()=>{if(e.onlySearcher&&t.value){r.value=Array.from(t.value.keys());return}let i=[];if(e.modelValue.length>1)i=[...e.modelValue];else try{i=JSON.parse(localStorage.getItem(`ui:project:regionSelector`+e.projectId+`:regionsIndexes`))??[]}catch{}i.length&&(i=i.filter(e=>n.value.has(e))),i.length||(i=Array.from(n.value)),r.value=[...i]},a=()=>{r.value.length?localStorage.setItem(`ui:project:regionSelector:`+e.projectId+`:regionsIndexes`,JSON.stringify(r.value)):localStorage.removeItem(`ui:project:regionSelector:`+e.projectId+`:regionsIndexes`)};return(0,m.watch)(r,()=>{a()}),e.addCompare&&i(),{regionsIndexes:r}},se=e=>{let t=(0,m.computed)(()=>E(e.forMode,e.autoRegion,e.searchers)),n=(0,m.computed)(()=>t.value.get(i.searcherKey.value)||S),r=(0,m.computed)(()=>{let e=new Set;return t.value.forEach(t=>{t.regionByIndex.forEach(t=>{t.index!==-1&&t.index!==-2&&e.add(t.index)})}),e}),i=ie(e,t),a=ae(e,n),o=oe(e,t,r);(0,m.watch)(t,()=>{if(e.onlySearcher?o.regionsIndexes.value=Array.from(t.value.keys()):o.regionsIndexes.value=o.regionsIndexes.value.filter(e=>r.value.has(e)),i.searcherKey.value===-1)return;let s=t.value.keys().next().value;t.value.forEach(n=>{if(e.onlySearcher&&n.key===i.searcherKey.value){s=i.searcherKey.value;return}if(a.regionIndex.value&&n.regionByIndex?.has(a.regionIndex.value)&&(s=n.key),!e.onlySearcher){let e;s!==void 0&&(e=t.value.get(s)?.regionByIndex);let r=t.value.get(n.key)?.regionByIndex;e?.has(-2)&&!r?.has(-2)&&(s=n.key)}}),s!==void 0&&(i.searcherKey.value=s),a.regionIndex.value!==void 0&&!(n.value?.regionByIndex)?.has(a.regionIndex.value)&&(a.regionIndex.value=n.value?.regions?.keys().next().value)},{immediate:!0});let s=()=>{if(!(i.searcherKey.value===-1||i.searcherKey.value===-2))return i.searcherKey.value},c=()=>{if(e.onlySearcher||a.regionIndex.value===-2)return;let t=a.regionIndex.value;if(e.forMode){let n=a.regionIndex.value;t=O(e.forMode,{searcher_key:s(),key:n},e.searchers)?.index}return t},l=()=>{let e=s();if(e!==void 0)return t.value.get(e)};return{selectSearcher:i,selectRegion:a,compare:o,searcherByKey:t,allRegionsIndexes:r,getSearcher:l,getRegion:()=>{let e=c();if(e!==void 0)return l()?.regionByIndex?.get(e)}}},ce=(0,m.defineComponent)({__name:`regionSelector`,props:(0,m.mergeModels)({projectId:{},searchers:{default:()=>[]},modelValue:{},modelValueSingle:{},addCompare:{type:Boolean},forMode:{},autoRegion:{type:Boolean},onlySearcher:{type:Boolean},addChanger:{type:Boolean,default:!0},addSearcherIcon:{type:Boolean,default:!0},addRegionIcon:{type:Boolean,default:!0}},{modelValue:{required:!0},modelModifiers:{},modelValueSingle:{},modelValueSingleModifiers:{}}),emits:[`update:modelValue`,`update:modelValueSingle`],setup(e,{expose:t}){let n=e,i=(0,m.useModel)(e,`modelValue`),a=(0,m.useModel)(e,`modelValueSingle`),{selectSearcher:o,selectRegion:s,compare:c,searcherByKey:l,allRegionsIndexes:u,getSearcher:d,getRegion:f}=se(n),p=()=>{let e=[];l.value.forEach(t=>{t.enabled&&t.regions.forEach(t=>{t.enabled&&e.push(t)})}),k.open(`regions`,{regions:e,regionsIndexes:c.regionsIndexes.value,"@update:regionsIndexes":e=>c.regionsIndexes.value=e})};return(0,m.watch)([s.regionIndex,o.searcherKey,c.regionsIndexes],()=>{if(o.searcherKey.value===-1&&c.regionsIndexes.value.length){if(JSON.stringify(i.value)===JSON.stringify(c.regionsIndexes.value))return;i.value=[...c.regionsIndexes.value]}else n.onlySearcher?(i.value=[o.searcherKey.value],o.searcherKey.value===-2&&!n.autoRegion&&(i.value.length=0)):(i.value=[s.regionIndex.value],s.regionIndex.value===-2&&!n.autoRegion&&(i.value.length=0));!n.onlySearcher&&!u.value.size&&(o.searcherKey.value=-2)}),a.value&&(0,m.watch)(a,()=>{a.value&&(i.value=[a.value])},{immediate:!0}),(0,m.watch)(i,()=>{if(i.value[0]&&(a.value=i.value[0]),n.onlySearcher){if(!i.value.length||i.value.length===1&&!l.value.has(i.value[0])||i.value.length===1&&i.value[0]===-2&&!n.autoRegion){let e=l.value.keys().next().value;e===-2&&!n.autoRegion&&(e=void 0,a.value=-2),e===void 0?i.value.length=0:i.value=[e];return}if(i.value.length>1&&JSON.stringify(i.value)!==JSON.stringify(c.regionsIndexes.value)){i.value=[...c.regionsIndexes.value];return}}else{let e=[...new Set(i.value)],t=l.value.values().next().value?.regionByIndex?.keys().next().value;if(n.forMode&&(t=l.value.values().next().value?.regionByIndex?.values().next().value?.key),t===-2&&!n.autoRegion&&(t=void 0,a.value=-2),!e.length)t!==void 0&&e.push(t);else if(e.length===1){let r=u.value;n.forMode&&(r=new Set,l.value.forEach(e=>{e.regionByIndex.forEach(e=>{e.index!==-1&&e.index!==-2&&r.add(e.key)})})),r.has(e[0])||(e=[],t!==void 0&&e.push(t))}else e=e.filter(e=>u.value.has(e)),!e.length&&t!==void 0&&e.push(t);if(JSON.stringify(i.value)!==JSON.stringify(e)){i.value=e;return}}if(!(i.value.length===1&&i.value[0]===(n.onlySearcher?o.searcherKey.value:s.regionIndex.value)))if(n.onlySearcher){if(i.value.length===1){o.searcherKey.value=i.value[0];return}o.searcherKey.value=-1;return}else{if(!i.value.length)return;if(i.value.length===1&&o.searcherKey.value!==-1){s.regionIndex.value=i.value[0];let e;for(let t of l.value.values()){for(let r of t.regionByIndex.values())if((n.forMode?r.key:r.index)===s.regionIndex.value){e=t.key;break}if(e!==void 0)break}e!==void 0&&(o.searcherKey.value=e)}else o.searcherKey.value=-1,c.regionsIndexes.value=[...i.value]}},{immediate:!0}),t({getSearcher:d,getRegion:f}),(t,n)=>((0,m.openBlock)(),(0,m.createElementBlock)(`div`,{class:(0,m.normalizeClass)({"top-selectorRegion":!0,"top-selectorRegion-onlySearcher":e.onlySearcher})},[(0,m.createVNode)(r.n,{options:(0,m.unref)(o).optionBySearcherKey.value,modelValue:(0,m.unref)(o).searcherKey.value,"onUpdate:modelValue":n[0]||=e=>(0,m.unref)(o).searcherKey.value=e,name:`searcher_key`,addChanger:e.addChanger},null,8,[`options`,`modelValue`,`addChanger`]),!e.onlySearcher&&(0,m.unref)(o).searcherKey.value!==(0,m.unref)(-1)?((0,m.openBlock)(),(0,m.createBlock)(r.n,{key:0,class:`top-select-region`,options:(0,m.unref)(s).optionByRegionIndex.value,modelValue:(0,m.unref)(s).regionIndex.value,"onUpdate:modelValue":n[1]||=e=>(0,m.unref)(s).regionIndex.value=e,name:e.forMode?`region_key`:`region_index`,addChanger:e.addChanger,"data-top-icon":e.addRegionIcon?``:void 0},null,8,[`options`,`modelValue`,`name`,`addChanger`,`data-top-icon`])):(0,m.createCommentVNode)(``,!0),e.addCompare&&!e.onlySearcher&&(0,m.unref)(o).searcherKey.value===(0,m.unref)(-1)?((0,m.openBlock)(),(0,m.createBlock)(r.h,{key:1,name:`compare`,onClick:p,"data-count-compare-regions-indexes":(0,m.unref)(c).regionsIndexes.value.length},{default:(0,m.withCtx)(()=>[(0,m.createTextVNode)((0,m.toDisplayString)(t.$i18n.Common.Selected_regions),1)]),_:1},8,[`data-count-compare-regions-indexes`])):(0,m.createCommentVNode)(``,!0)],2))}}),A={id:0,name:`/`,path:`/`};t.TopCompetitorSelector=v,t.useItemsFromCompetitors=y,t.genSearcherByKey=E,t.findRegion=O,t.dialogRegionSelector=k,t.TopRegionSelector=ce;function le(e){return e?(0,r.E)()?.Common.All_folders:`/ (`+(0,r.E)()?.Keywords.Root_folder+`)`}var j=(e,t,n=new Map,r={id:`root`},i=0)=>(r.childsIds=[],r.id&&(r.countAllGroupsActive=r.count_groups_active),e[r.id]&&e[r.id].forEach(a=>{a={...a},r.childsIds.push(a.id),a.id===0&&(a.name=le(t));let o=i>1?`-`.repeat(i-1)+` `:``;o&&!a.name.startsWith(o)&&(a.name=o+a.name),n.set(a.id,a),j(e,t,n,a,i+1),r.childsIds=r.childsIds.concat(a.childsIds),r.id&&a.count_groups_active&&(r.countAllGroupsActive+=a.count_groups_active)}),n),ue=(e,t)=>e.gen(`/get/${t}/folders/`,[`id`,`parent_id`,`name`,`path`]).changeParams({orders:[`ord_path`],limit:100});function M(e,t,n){let r=Object.keys(e);return(0,m.watch)(r.map(t=>e[t]),(e,n,i)=>{let a={};e.forEach((e,t)=>{if(!Object.is(e,n[t])){let i=r[t];a[i]={old:n[t],new:e}}}),Object.keys(a).length&&t(a,i)},n)}var de=[`innerHTML`],fe=(0,m.defineComponent)({__name:`folders`,props:(0,m.mergeModels)({folderId:{},folder:{},folders:{},projectId:{},canSelectAll:{type:Boolean},addChanger:{type:Boolean},addIcon:{type:Boolean,default:!0},client:{},service:{}},{folderId:{required:!0},folderIdModifiers:{},folder:{default:A},folderModifiers:{}}),emits:[`update:folderId`,`update:folder`],setup(e){let t=e,n=(0,m.useModel)(e,`folderId`),r=(0,m.useModel)(e,`folder`),i=t.client&&!t.folders?ue(t.client,t.service):void 0,a=(0,m.ref)(null);(0,m.watch)(()=>t.projectId,()=>{i?.changeParams({project_id:t.projectId}),i?.setOptions({checkFingerprint:`TopGroupSelectorFolders:`+t.projectId}),a.value?.resetCache()},{immediate:!0});let o=(0,m.computed)(()=>j(t.folders??{root:[A]},t.canSelectAll));return M({modelFolder:r,modelFolderId:n},async e=>{if(n.value===r.value.id)return;if(e.modelFolder&&!e.modelFolderId){n.value=r.value.id;return}let i=o.value.get(t.folderId);i||=A,r.value=i,n.value=i.id},{immediate:!0}),(t,n)=>((0,m.openBlock)(),(0,m.createBlock)(p.s,{class:`top-groupSelector_folder`,modelValue:r.value,"onUpdate:modelValue":n[0]||=e=>r.value=e,items:e.folders?[...o.value.values()]:void 0,"search-type":`inline`,icon:e.addIcon?``:void 0,api:e.folders?void 0:(0,m.unref)(i),apiSetSearchParams:(...e)=>(0,m.unref)(p.u)(...e,`name`),addChanger:e.addChanger,useCache:``},{item:(0,m.withCtx)(({item:e})=>[(0,m.createElementVNode)(`div`,{innerHTML:e.name.replaceAll(/</g,`< `)},null,8,de)]),_:1},8,[`modelValue`,`items`,`icon`,`api`,`apiSetSearchParams`,`addChanger`]))}}),N={id:-1,name:`--`,folder_id:A.id,folder_path:A.path},P={id:0,name:`All groups`,folder_id:A.id,folder_path:A.path},F=()=>(P.name=(0,r.E)()?.Common.All_groups,P),I=()=>(P.name=(0,r.E)()?.Keywords.Choose_group,P),pe=(e,t,n)=>(e=[...e],t!==void 0&&(e=e.filter(e=>e.on==Number(t))),n&&n.id&&n.childsIds&&(e=e.filter(e=>e.folder_id===n.id||n.childsIds.includes(e.folder_id))),e),L=(e,t)=>e.gen(`/get/${t}/groups/`,[`id`,`name`,`folder_id`,`folder_path`]).changeParams({folder_id_depth:!0,limit:100}),me=(e,t)=>e.gen(`/add/${t}/groups/`),he={class:`top-groupSelector_groupItem`},ge={key:0,class:`top-comment`},_e=[`innerHTML`],ve=[`innerHTML`],ye=(0,m.defineComponent)({__name:`groups`,props:(0,m.mergeModels)({groupId:{},group:{},projectId:{},folder:{},groups:{},on:{type:Boolean,default:void 0},canAdd:{type:[String,Boolean]},canSelectAll:{type:[Boolean,String]},autoselect:{default:`first`},addChanger:{type:Boolean,default:!0},showPath:{type:Boolean},addIcon:{type:Boolean,default:!0},client:{},service:{}},{groupId:{required:!0},groupIdModifiers:{},group:{required:!0},groupModifiers:{}}),emits:(0,m.mergeModels)([`addGroup`],[`update:groupId`,`update:group`]),setup(e,{emit:t}){let n=e,r=t,a=(0,m.useModel)(e,`groupId`),o=(0,m.useModel)(e,`group`),s=n.client&&!n.groups?L(n.client,n.service):void 0,c=n.client?me(n.client,n.service):void 0,l=(0,m.ref)(null),u=(0,m.ref)(void 0),d=(0,i.t)(`folder_id`,`EQUALS`,[n.folder?.id??0]);s?.changeParams({project_id:n.projectId,folder_id_depth:!0,filters:[d]}),n.on!==void 0&&s?.params.filters?.push((0,i.t)(`on`,`EQUALS`,[Number(n.on)]));let f=e=>{o.value=e,a.value=e.id};M({projectId:()=>n.projectId,folderId:()=>n.folder?.id,canSelectAll:()=>n.canSelectAll},e=>{if(e.projectId&&(s?.changeParams({project_id:n.projectId}),s?.setOptions({checkFingerprint:`TopGroupSelectorGroups:`+n.projectId})),e.folderId&&(d.values=[n.folder?.id??0],n.groups&&(u.value=pe(n.groups,n.on,n.folder))),l.value?.resetCache(),(e.folderId?.old!==void 0||e.canSelectAll?.old!==void 0)&&a.value!==null){let e;n.autoselect===`first`&&(e=u.value?.[0],n.canSelectAll&&(e=(0,m.reactive)(F()))),(n.autoselect===`placeholder`||!e)&&(e=I()),f(e)}},{immediate:!0}),M({modelGroup:o,modelGroupId:a},async e=>{if(a.value!==o.value.id){if(e.modelGroup&&!e.modelGroupId){a.value=o.value.id;return}if(!(n.canAdd&&a.value===null)){if(n.groups){let e=u.value?.find(e=>e.id===a.value);if(!e&&n.canSelectAll&&(e=F()),e)f(e);else{let e=u.value?.[0];e&&!a.value?f(e):f(N)}}if(n.client&&!n.groups&&(a.value||a.value===0&&!n.canSelectAll)){let e=L(n.client,n.service).changeParams({project_id:n.projectId,id:a.value,filters:[d]});e?.setOptions({checkFingerprint:`TopGroupSelectorFindGroup:`+n.projectId});let t=await e.call();if(!t.errors?.length&&!t.result)return;!t.errors&&t.result[0]?f(t.result[0]):f(N)}}}},{immediate:!0});let h=async e=>{if(n.canAdd!==`api`||!c)return;let t=o.value,i=await c.changeParams({project_id:n.projectId,names:[e.name],to_id:n.folder?.id??A.id,to_type:`in_folder_last`}).call();if(i.result){let e=i.result[0];f(e),r(`addGroup`,e)}else f(t);l.value?.resetCache(!0)};return(t,n)=>((0,m.openBlock)(),(0,m.createBlock)(p.s,{ref_key:`refSelector`,ref:l,class:`top-groupSelector_group`,modelValue:o.value,"onUpdate:modelValue":n[0]||=e=>o.value=e,items:u.value??e.groups,searchType:`inline`,icon:e.addIcon?``:void 0,api:e.groups?void 0:(0,m.unref)(s),apiSetSearchParams:(...e)=>(0,m.unref)(p.u)(...e,`name`),appendSearchToResult:!!e.canAdd,useAllItem:e.canSelectAll?(0,m.unref)(F)().name:!1,addChanger:e.addChanger,useCache:``,onAppendItem:h},{item:(0,m.withCtx)(({item:n})=>[(0,m.createElementVNode)(`div`,he,[n.id===(0,m.unref)(null)?((0,m.openBlock)(),(0,m.createElementBlock)(`div`,ge,(0,m.toDisplayString)(t.$i18n.Common.Add)+`: `,1)):(0,m.createCommentVNode)(``,!0),(0,m.createElementVNode)(`span`,{innerHTML:n.name},null,8,_e),n.folder_path&&e.showPath?((0,m.openBlock)(),(0,m.createElementBlock)(`span`,{key:1,class:`top-groupSelector_groupItemFolderPath`,innerHTML:n.folder_path},null,8,ve)):(0,m.createCommentVNode)(``,!0)])]),_:1},8,[`modelValue`,`items`,`icon`,`api`,`apiSetSearchParams`,`appendSearchToResult`,`useAllItem`,`addChanger`]))}}),be={class:`top-groupSelector`},xe=(0,m.defineComponent)({__name:`groupSelector`,props:(0,m.mergeModels)({folderId:{},folder:{},groupId:{},group:{},projectId:{},folders:{},groups:{},on:{type:Boolean,default:void 0},canSelectAllGroups:{type:Boolean},canAddGroup:{type:[String,Boolean]},autoselect:{default:`first`},addChanger:{type:Boolean,default:!0},showFolders:{type:Boolean,default:!0},showGroups:{type:Boolean,default:!0},addIcon:{type:Boolean,default:!0},client:{},service:{default:`keywords_2`}},{folderId:{required:!0},folderIdModifiers:{},folder:{},folderModifiers:{},groupId:{required:!0},groupIdModifiers:{},group:{default:N},groupModifiers:{}}),emits:(0,m.mergeModels)([`update:groups`],[`update:folderId`,`update:folder`,`update:groupId`,`update:group`]),setup(e,{emit:t}){let n=e,r=(0,m.useModel)(e,`folderId`),i=(0,m.useModel)(e,`folder`),a=(0,m.useModel)(e,`groupId`),o=(0,m.useModel)(e,`group`),s=t;i.value=j(n.folders??{root:[A]},n.canSelectAllGroups).get(r.value);let c=n.groups?.find(e=>e.id===a.value);a.value||(c=n.groups?.[0]),n.canSelectAllGroups&&!c&&(c=F()),n.canSelectAllGroups&&!c&&(c=F()),(n.autoselect===`placeholder`||!c)&&(c=I()),c??=N,o.value=c;let l=e=>{let t;n.groups&&e&&(t=[...n.groups,e]),s(`update:groups`,t)};return(t,n)=>((0,m.openBlock)(),(0,m.createElementBlock)(`div`,be,[e.showFolders?((0,m.openBlock)(),(0,m.createBlock)(fe,{key:0,folderId:r.value,"onUpdate:folderId":n[0]||=e=>r.value=e,folder:i.value,"onUpdate:folder":n[1]||=e=>i.value=e,projectId:e.projectId,folders:e.folders,canSelectAll:e.canSelectAllGroups,addChanger:e.addChanger,addIcon:e.addIcon,client:e.client,service:e.service},null,8,[`folderId`,`folder`,`projectId`,`folders`,`canSelectAll`,`addChanger`,`addIcon`,`client`,`service`])):(0,m.createCommentVNode)(``,!0),e.showGroups?((0,m.openBlock)(),(0,m.createBlock)(ye,{key:1,groupId:a.value,"onUpdate:groupId":n[2]||=e=>a.value=e,group:o.value,"onUpdate:group":n[3]||=e=>o.value=e,projectId:e.projectId,folder:i.value,groups:e.groups,on:e.on,canAdd:e.canAddGroup,canSelectAll:e.canSelectAllGroups,autoselect:e.autoselect,addChanger:e.addChanger,showPath:e.showFolders&&!!e.folders?.[0],addIcon:e.addIcon,client:e.client,service:e.service,onAddGroup:l},null,8,[`groupId`,`group`,`projectId`,`folder`,`groups`,`on`,`canAdd`,`canSelectAll`,`autoselect`,`addChanger`,`showPath`,`addIcon`,`client`,`service`])):(0,m.createCommentVNode)(``,!0)]))}}),R=e=>({id:null,name:e,listItemProps:{type:`title`}}),z={scheduledUpdate:!1,manualUpdate:!1,guestProjects:!1},Se=(e,t)=>{let n=[],i={scheduledUpdate:R((0,r.E)().Projects.Scheduled_update),manualUpdate:R((0,r.E)().Projects.Manual_update),guestProjects:R((0,r.E)().Projects.Guest_projects)},a=t?{scheduledUpdate:!1,manualUpdate:!1,guestProjects:!1}:z;for(let t of e)!a.scheduledUpdate&&t.right?.startsWith(`1`)&&t.on>0&&(n.push(i.scheduledUpdate),a.scheduledUpdate=!0),!a.manualUpdate&&t.right?.startsWith(`1`)&&t.on===0&&(n.push(i.manualUpdate),a.manualUpdate=!0),!a.guestProjects&&t.right?.startsWith(`0`)&&t.on>=0&&(n.push(i.guestProjects),a.guestProjects=!0),n.push(t);return n},Ce=e=>e.map(e=>({...e,listItemProps:{attrs:{title:e.name}}})),we=(e,t,n)=>!e||e.length===0?[]:(t&&Object.keys(z).forEach(e=>z[e]=!1),Se(Ce(e),n)),Te=e=>{e=e.replace(/#.*/,``);let t=location.hash;return t=t.replace(/historyView=[^&]*/,``),t=t.replace(/competitorsIds=[^&]*/,``),t=t.replace(/searchersKeys=[^&]*/,``),t=t.replace(/regionIndex=[^&]*/,``),t=t.replace(/regionsIndexes=[^&]*/,``),t=t.replace(/folderId=[^&]*/,``),t=t.replace(/groupId=[^&]*/,``),t=t.replace(/tags=[^&]*/,``),window.mo?.getHash&&!window.mo.getHash(`dataSort`).toString().includes(`0000-00-00`)&&(t=t.replace(/dataSort=[^&]*/,``)),t=t.replace(/%22historyView%22:[^,]*,/,``),t=t.replace(/%22competitorsIds%22:\[[^\]]*],/,``),t=t.replace(/%22searchersKeys%22:\[[^\]]*],/,``),t=t.replace(/%22regionIndex%22:[^,]*,/,``),t=t.replace(/%22regionsIndexes%22:\[[^\]]*],/,``),t=t.replace(/%22folderId%22:[^,]*,/,``),t=t.replace(/%22groupId%22:[^,]*,/,``),t=t.replace(/%22tagsIds%22:\[[^\]]*],/,``),/%22dataSort%22:\{[^}]*0000-00-00[^}]*}/.test(t)||(t=t.replace(/%22dataSort%22:\{[^}]*},/,``)),e+t},B=(e,t)=>{t&&t.target instanceof HTMLElement&&o.t.close(t.target.closest(`.top-popup-wrapper`));let n=Te(e);location.href=n},V=e=>{let t=H(),n=location.pathname.split(`/`),r=`project/dynamics/`,i=``;return n[1]==`project`&&(r=n[1]+`/`+n[2]+`/`),n[2]==`settings`&&(i=location.hash),[`watcher`,`indexing`,`sitemap`,`audit`,`direct`,`adwords`].includes(n[4])&&(i=n[4]+`/`),`https://`+t+`/`+r+e+`/`+i},H=()=>window.page?.subdomain?window.location.host.replace(window.page?.subdomain+`.`,``):window.location.host,U=e=>{let t=e.startsWith(`http`)?e:`http://`+e;return t=t.replace(/"/g,`%22`),t},Ee=(e,t)=>{let n=e.params.filters??[];n=n.filter(e=>e.name!==`GEN_SEARCH_STRING()`);let r=(0,d.invertKeyboardLayout)(t),a=t.replace(/([[^$.|?*+()])/g,`\\$1`),o=r.replace(/([[^$.|?*+()])/g,`\\$1`);t&&n.push((0,i.t)(`GEN_SEARCH_STRING()`,`REGEXP`,[`(${a}|${o})`])),e.changeParams({filters:n})},W=(e,t,n)=>{let r=e.gen(`/get/projects_2/projects/`,[`id`,`user_id`,`name`,`url`,`on`,`right`]);return r.params={...n,filters:[(0,i.t)(`on`,`GREATER_THAN_EQUALS`,[0])],orders:[(0,i.n)(`user_id`,`DESC`,[t]),(0,i.n)(`on`,`DESC`),(0,i.n)(`favorite`,`DESC`),(0,i.n)(`id`,`DESC`)]},r.options.onApiLoaded=(e,t,n)=>{let r=t.data.filters.length===1&&t.data.offset===0||t.data.limit===1e3,i=t.data.limit===100&&t.data.filters.length>1?!0:void 0;e.result=we(e.result,r,i),n?.(e,t)},r},De=e=>e.gen(`/add/projects_2/projects/`),Oe={class:`top-projectSelectorSubmenu_item`},ke=[`href`,`title`,`data-top-icon`,`data-right`],Ae={class:`top-projectSelectorSubmenu_item`},je=[`href`],Me=(0,m.defineComponent)({__name:`submenu`,props:{id:{},right:{},url:{}},setup(e){let t=e,n=(0,r.E)(),i=H(),a=[{href:`https://${i}/project/keywords/${t.id}/`,title:n.Common.Menu_phrases,icon:``,right:`2`},{href:`https://${i}/project/dynamics/${t.id}/`,title:n.Common.Menu_dynamics,icon:``,right:`1`},{href:`https://${i}/project/snapshots/${t.id}/`,title:n.Common.Menu_snapshots,icon:``,right:`1`},{href:`https://${i}/project/competitors/${t.id}/`,title:n.Common.Menu_competitors,icon:``,right:`1`},{href:`https://${i}/project/ai-tracker/${t.id}/`,title:n.Common.Menu_aiTracker,icon:``,right:`1`},{href:`https://${i}/project/analytics/${t.id}/`,title:n.Common.Menu_analytics,icon:``,right:`5`},{href:`https://${i}/project/broker/${t.id}/`,title:n.Common.Menu_broker,icon:``,right:`6`},{href:`https://${i}/project/audit/${t.id}/sitemap/`,title:n.Audit.Sitemap_gen,icon:``,right:`8`},{href:`https://${i}/project/audit/${t.id}/audit/`,title:n.Common.Menu_audit,icon:``,right:`8`},{href:`https://${i}/project/audit/${t.id}/indexing/`,title:n.Audit.Indexing,icon:``,right:`8`},{href:`https://${i}/project/audit/${t.id}/watcher/`,title:n.Audit.Watcher,icon:``,right:`9`},{href:`https://${i}/project/settings/${t.id}/`,title:n.Common.Menu_settings,icon:``,right:`2`}],o=(0,m.computed)(()=>{if(!window.page?.data?.aiTracker){let e=a.findIndex(e=>e.href.includes(`ai-tracker`));e!==-1&&a.splice(e,1)}return t.right.includes(`0`)?a.filter(e=>t.right[e.right]===`1`):a});return(t,n)=>{let r=(0,m.resolveComponent)(`TopButton`);return(0,m.openBlock)(),(0,m.createBlock)((0,m.unref)(f.s),{class:`top-projectSelectorSubmenu`,notch:!1,pos:`2`},{opener:(0,m.withCtx)(()=>[(0,m.createVNode)(r,{class:`top-projectSelectorSubmenu_opener`,"data-top-icon":``,color:`theme`})]),contentList:(0,m.withCtx)(()=>[((0,m.openBlock)(!0),(0,m.createElementBlock)(m.Fragment,null,(0,m.renderList)(o.value,e=>((0,m.openBlock)(),(0,m.createElementBlock)(`li`,Oe,[(0,m.createElementVNode)(`a`,{href:e.href,title:e.title,"data-top-icon":e.icon,"data-right":e.right},null,8,ke)]))),256)),(0,m.createElementVNode)(`li`,Ae,[(0,m.createElementVNode)(`a`,{href:e.url,"data-top-icon":``,target:`_blank`},null,8,je)])]),_:1})}}}),G=`ui_project_selector_total:`,Ne=1440*60*1e3,K=(0,m.shallowRef)(),Pe=(0,m.ref)(0),q=(0,m.ref)(null),Fe=(e,t)=>{localStorage.setItem(G+e,JSON.stringify({projectsTotal:t,expiresAt:Date.now()+Ne}))},Ie=e=>{let t=localStorage.getItem(G+e);if(!t)return;let{projectsTotal:n,expiresAt:r}=JSON.parse(t);if(Date.now()>r){localStorage.removeItem(G+e);return}return n},Le=(e,t=!0)=>{K.value=void 0,localStorage.removeItem(G+e),t&&Pe.value++},Re={class:`top-projectSelector_item`},ze={class:`top-projectSelector_itemText`},Be={class:`top-comment`},Ve={key:0,class:`top-comment`},He=[`href`,`onClick`],Ue=1e3,We=(0,m.defineComponent)({__name:`projectSelector`,props:(0,m.mergeModels)({modelValue:{},client:{},addLinksToProjects:{type:Boolean,default:!0},excludeProjectId:{},modificator:{},placeholder:{},buttonProps:{},openerShortcut:{}},{modelValue:{default:{id:null,name:``}},modelModifiers:{}}),emits:[`update:modelValue`],setup(e){let t=(0,r.E)();if(!window.mo?.user?.id)throw Error(`TopProjectSelector: не удалось определить userId. Компонент требует авторизованного пользователя (см. window.mo.user.id)`);let n=window.mo.user.id,i=e,a=(0,m.useModel)(e,`modelValue`),o=W(i.client,n),l=De(i.client),u=(0,m.ref)(Ie(n)),d=(0,m.ref)(null),f=(0,m.computed)(()=>i.placeholder??t.Projects.Select_project),h=(0,m.computed)(()=>!K.value||!i.excludeProjectId?K.value:K.value.filter(e=>e.id!==i.excludeProjectId)),g=(0,m.computed)(()=>{if(!(!u.value&&u.value!==0))return u.value<Ue?`static`:`api`});(0,m.watch)(Pe,()=>{b()}),(0,m.watch)(a,()=>{!a.value.id||!i.addLinksToProjects||B(V(a.value.id))});let _=async()=>{q.value||=W(i.client,n,{limit:Ue}).call();let e=await q.value;if(e.errors){q.value=null;return}return q.value=null,e},v=async()=>{if(u.value)return;let e=await _();e&&(u.value=e.total,g.value===`static`&&!K.value&&(K.value=e.result),u.value&&Fe(n,u.value))},y=async e=>{let t=await l.changeParams({url:e.name,name:e.name}).call();if(!t.errors){if(K.value&&g.value===`static`){let r={id:Number(t.result),user_id:n,name:e.name,url:e.name,on:0,right:`11111111111111111111`,listItemProps:{attrs:{title:e.name}}},i=K.value.findIndex(e=>e.on===0);K.value=[...K.value.slice(0,i),r,...K.value.slice(i)],u.value&&(u.value+=1,Fe(n,u.value))}g.value===`api`&&Le(n)}},b=()=>{g.value===`api`&&d.value?.resetCache(!0)},x=async()=>{if(K.value||g.value!==`static`)return;let e=await _();e&&(K.value=e.result)};return(0,m.onMounted)(async()=>{await v()}),(t,n)=>{let r=(0,m.resolveComponent)(`TopButton`);return(0,m.openBlock)(),(0,m.createBlock)(p.s,{ref_key:`refSelector`,ref:d,class:`top-projectSelector`,modelValue:a.value,"onUpdate:modelValue":n[1]||=e=>a.value=e,items:h.value,title:t.$i18n.Projects.Search_projects,modificator:e.modificator,searchFields:[`id`,`name`,`url`],placeholder:f.value,hasCloserBtn:``,api:g.value===`api`?(0,m.unref)(o):void 0,apiSetSearchParams:g.value===`api`?(...e)=>(0,m.unref)(Ee)(...e):void 0,useCache:``,appendSearchToResult:``,appendSearchAllowDuplicate:``,appendSearchToResultCond:(0,m.unref)(s.validUrl),appendWithoutSelect:``,buttonProps:e.buttonProps,openerShortcut:e.openerShortcut,onAppendItem:y,onOpen:x},{item:(0,m.withCtx)(({item:i})=>[(0,m.createElementVNode)(`div`,Re,[(0,m.createElementVNode)(`div`,ze,[i.id?((0,m.openBlock)(),(0,m.createElementBlock)(m.Fragment,{key:0},[(0,m.createTextVNode)((0,m.toDisplayString)((0,m.unref)(c.ellipsis)(i.name,20))+` `,1),(0,m.createElementVNode)(`span`,Be,` id `+(0,m.toDisplayString)(i.id),1)],64)):((0,m.openBlock)(),(0,m.createElementBlock)(m.Fragment,{key:1},[i.listItemProps?.type?(0,m.createCommentVNode)(``,!0):((0,m.openBlock)(),(0,m.createElementBlock)(`div`,Ve,(0,m.toDisplayString)(t.$i18n.Projects.Add_project)+`: `,1)),(0,m.createTextVNode)(` `+(0,m.toDisplayString)(i.name),1)],64))]),i.id?((0,m.openBlock)(),(0,m.createElementBlock)(m.Fragment,{key:0},[e.addLinksToProjects?((0,m.openBlock)(),(0,m.createElementBlock)(`a`,{key:0,class:`top-projectSelector_itemLink`,href:(0,m.unref)(V)(i.id),onClick:(0,m.withModifiers)(e=>(0,m.unref)(B)((0,m.unref)(V)(i.id),e),[`prevent`,`stop`])},null,8,He)):(0,m.createCommentVNode)(``,!0),t.$core.state.isMobile?(0,m.createCommentVNode)(``,!0):((0,m.openBlock)(),(0,m.createBlock)(r,{key:1,class:`top-projectSelector_itemExtLink`,href:(0,m.unref)(U)(i.url),"data-top-icon":``,color:`theme`,target:`_blank`,onClick:n[0]||=(0,m.withModifiers)(()=>{},[`stop`])},null,8,[`href`])),(0,m.createVNode)(Me,{id:i.id,right:i.right??void 0,url:(0,m.unref)(U)(i.url)},null,8,[`id`,`right`,`url`])],64)):(0,m.createCommentVNode)(``,!0)])]),_:1},8,[`modelValue`,`items`,`title`,`modificator`,`placeholder`,`api`,`apiSetSearchParams`,`appendSearchToResultCond`,`buttonProps`,`openerShortcut`])}}}),Ge=e=>`-`+e,J=e=>e[0]===`-`?e.substring(1):e,Y=(e,t)=>{e=J(e);let n=t.find(t=>t.id===e);if(n)return n},Ke=(e,t,n)=>{t||={id:e.id},t.id=e.id,t.pos??=`3`,t.notch??=!0,t.posBy??=`fixed`;let r=o.t.genElPopupOpener(`div`,t);return r.classList.add(`top-tagSelector`),e.useTopButton&&r.classList.add(`top-tagSelector-useTopButton`,`top-button`,`top-color_theme`,`top-as-selector`),e.useTopButton||r.classList.add(`top-tagSelector-custom`),e.mode===`filter`&&r.classList.add(`top-tagSelector-filter`),e.mode===`setter`&&!e.filters&&r.classList.add(`top-tagSelector-setter_single`),e.mode===`setter`&&e.filters&&r.classList.add(`top-tagSelector-setter_several`),r.onclick=t=>{t.preventDefault(),t.stopPropagation(),r.onclick=null;let i=(0,m.ref)(e.modelValue);(0,a.storage)(r,`topTagSelectorTarget`,{model:i,mode:e.mode,targetId:e.targetId,filters:e.filters,payload:e.payload}),delete r.dataset.topPopupDisabled,(0,m.isRef)(e.modelValue)||(0,m.watch)(i,()=>{e.modelValue=i.value,X(r,e,n)}),r.click()},(0,m.isRef)(e.modelValue)?(0,m.watch)(e.modelValue,()=>X(r,e,n)):(0,a.storage)(r,`topTagSelectorRender`,t=>{e.modelValue=t;let i=(0,a.storage)(r,`topTagSelectorTarget`);i&&(i.model.value=t),X(r,e,n)}),X(r,e,n),r},qe=(e,t)=>{(0,a.storage)(e,`topTagSelectorRender`)?.(t)},X=(e,t,n)=>{let i=(0,m.unref)(t.modelValue);if(e.classList.toggle(`top-tagSelector-selectedOne`,!i.length||i.length===1),e.classList.toggle(`top-tagSelector-toTwoLine`,i.length>5),t.mode===`setter`&&t.filters){e.innerHTML=`<div>${n}</div>`;return}if(e.innerHTML=``,!i.length&&t.mode===`filter`){let t=Je({id:`all`,colorId:``,name:(0,r.E)().Common?.All_tags??``,state:``});e.append(t)}i.forEach(n=>{let r=Je({id:J(n),colorId:Y(n,t.tags)?.color_id??``,name:Y(n,t.tags)?.name??``,state:J(n)===n?`selected`:`excluded`});e.append(r)})},Je=e=>{let t=document.createElement(`div`);return t.classList.add(`top-tagSelector_tagIcon`),t.classList.toggle(`top-tagSelector-active`,!!e.state),t.classList.toggle(`top-tagSelector-excluded`,e.state===`excluded`),t.dataset.tag_id=e.id,t.dataset.tag_color_id=e.colorId,t.title=e.name,t},Ye=[{id:`1`,name:`Without Tag`,color_id:`1`},{id:`2`,name:`Red`,color_id:`2`},{id:`3`,name:`Orange`,color_id:`3`},{id:`4`,name:`Yellow`,color_id:`4`},{id:`5`,name:`Blue`,color_id:`5`},{id:`6`,name:`Purple`,color_id:`6`},{id:`7`,name:`Green`,color_id:`7`},{id:`8`,name:`Magenta`,color_id:`8`},{id:`9`,name:`Dark blue`,color_id:`9`},{id:`10`,name:`Turquoise`,color_id:`10`}],Xe=[`data-tag_id`,`data-tag_color_id`,`title`],Z=(0,m.defineComponent)({__name:`tagIcon`,props:{id:{},colorId:{},name:{},state:{}},setup(e){return(t,n)=>((0,m.openBlock)(),(0,m.createElementBlock)(`div`,{class:(0,m.normalizeClass)({"top-tagSelector_tagIcon":!0,"top-tagSelector-active":!!e.state,"top-tagSelector-excluded":e.state===`excluded`}),"data-tag_id":e.id,"data-tag_color_id":e.colorId,title:e.name},null,10,Xe))}}),Ze=[`contenteditable`,`onKeydown`],Qe=(0,m.defineComponent)({__name:`tagPopupListItem`,props:(0,m.mergeModels)({editable:{type:Boolean},disabled:{type:Boolean},canExclude:{type:Boolean},id:{},colorId:{},name:{},state:{}},{name:{required:!0},nameModifiers:{}}),emits:(0,m.mergeModels)([`update:name`,`unselect`,`exclude`,`select`],[`update:name`]),setup(e,{emit:t}){let n=e,r=t,i=(0,m.useModel)(e,`name`),a=(0,m.ref)(null),o=(0,m.computed)(()=>navigator.userAgent.indexOf(`Firefox`)==-1?{}:{contenteditable:s.value,onpaste:e=>e.preventDefault()}),s=(0,m.ref)(!1),c=async()=>{s.value=!0,await(0,m.nextTick)(),a.value?.focus()},l=()=>{let e=a.value?.innerText;if(!e)return u();a.value&&(a.value.innerText=e),s.value=!1,r(`update:name`,e)},u=async()=>{a.value&&(a.value.innerText=n.name),s.value=!1},d=e=>{if(s.value||n.disabled)return;let t=`selected`;n.canExclude&&(e.ctrlKey||e.metaKey)&&(t=`excluded`),n.state==t&&(t=``),t===``&&r(`unselect`),t===`selected`&&r(`select`),t===`excluded`&&r(`exclude`)};return(t,n)=>((0,m.openBlock)(),(0,m.createBlock)(f.o,{class:(0,m.normalizeClass)({"top-tagSelector_tagListItem":!0,"top-tagSelector_tagListItem-inEdit":s.value,"top-tagSelector_tagListItem-disabled":e.disabled,"top-tagSelector_tagListItem-canExclude":e.canExclude,"top-tagSelector-active":!!e.state,"top-tagSelector-excluded":e.state===`excluded`}),onClick:(0,m.withModifiers)(d,[`stop`])},{default:(0,m.withCtx)(()=>[(0,m.createVNode)(Z,{id:e.id,name:i.value,colorId:e.colorId,state:e.state},null,8,[`id`,`name`,`colorId`,`state`]),(0,m.createElementVNode)(`span`,(0,m.mergeProps)({ref_key:`elName`,ref:a,class:`top-tagSelector_tagListItemName`,contenteditable:s.value?`plaintext-only`:!1},o.value,{onKeydown:[(0,m.withKeys)((0,m.withModifiers)(l,[`stop`]),[`enter`]),(0,m.withKeys)((0,m.withModifiers)(u,[`stop`]),[`esc`])]}),(0,m.toDisplayString)(i.value),17,Ze),e.editable?((0,m.openBlock)(),(0,m.createElementBlock)(m.Fragment,{key:0},[s.value?((0,m.openBlock)(),(0,m.createElementBlock)(`span`,{key:1,"data-top-icon":``,class:`top-tagSelector_edit`,onClick:(0,m.withModifiers)(l,[`stop`])})):((0,m.openBlock)(),(0,m.createElementBlock)(`span`,{key:0,"data-top-icon":``,class:`top-tagSelector_edit`,onClick:c}))],64)):(0,m.createCommentVNode)(``,!0)]),_:1},8,[`class`]))}}),$e={key:1},Q=(0,m.defineComponent)({inheritAttrs:!1,__name:`popupOpener`,props:(0,m.mergeModels)({modelValue:{},id:{},tags:{},mode:{},targetId:{},filters:{},useTopButton:{type:Boolean},payload:{},styling:{}},{modelValue:{required:!0},modelModifiers:{}}),emits:[`update:modelValue`],setup(e){let t=e,n=(0,m.useModel)(e,`modelValue`),i=t.useTopButton?r.h:`div`,a=t.useTopButton?`html`:`default`,o={model:n,mode:t.mode,targetId:t.targetId,filters:t.filters,payload:t.payload};return(r,s)=>{let c=(0,m.resolveDirective)(`top-data`);return(0,m.openBlock)(),(0,m.createBlock)(f.c,{id:e.id},{default:(0,m.withCtx)(()=>[(0,m.withDirectives)(((0,m.openBlock)(),(0,m.createBlock)((0,m.resolveDynamicComponent)((0,m.unref)(i)),(0,m.mergeProps)({class:{"top-tagSelector":!0,"top-tagSelector-useTopButton":t.useTopButton,"top-tagSelector-custom":!t.useTopButton,"top-as-selector":t.useTopButton,"top-tagSelector-filter":t.mode===`filter`,"top-tagSelector-setter_single":t.mode===`setter`&&!e.filters,"top-tagSelector-setter_several":t.mode===`setter`&&e.filters,"top-tagSelector-selectedOne":!n.value.length||n.value.length===1,"top-tagSelector-toTwoLine":n.value.length>5},color:`theme`,styling:e.styling},r.$attrs),{[(0,m.unref)(a)]:(0,m.withCtx)(()=>[!n.value.length&&e.mode===`filter`?((0,m.openBlock)(),(0,m.createBlock)(Z,{key:0,id:`all`,colorId:``,name:r.$i18n.Common.All_tags??``,state:``},null,8,[`name`])):(0,m.createCommentVNode)(``,!0),e.mode===`setter`&&e.filters?((0,m.openBlock)(),(0,m.createElementBlock)(`div`,$e,[(0,m.renderSlot)(r.$slots,`default`)])):((0,m.openBlock)(!0),(0,m.createElementBlock)(m.Fragment,{key:2},(0,m.renderList)(n.value,t=>((0,m.openBlock)(),(0,m.createBlock)(Z,{id:(0,m.unref)(J)(t),colorId:(0,m.unref)(Y)(t,e.tags)?.color_id??``,name:(0,m.unref)(Y)(t,e.tags)?.name??``,state:(0,m.unref)(J)(t)===t?`selected`:`excluded`},null,8,[`id`,`colorId`,`name`,`state`]))),256))]),_:2},1040,[`class`,`styling`])),[[c,o,`topTagSelectorTarget`]])]),_:3},8,[`id`])}}}),et=(0,m.defineComponent)({__name:`tagSelector`,props:(0,m.mergeModels)({modelValue:{},tags:{},tagsEditable:{type:Boolean},tagsMax:{default:10},id:{},singleMode:{type:Boolean},requiredForSetter:{type:Boolean,default:!0},maxTagsForSetter:{},emitDelay:{default:500},useTopButton:{type:Boolean,default:!0},styling:{}},{modelValue:{required:!0},modelModifiers:{},tags:{default:(0,m.reactive)(Ye)},tagsModifiers:{}}),emits:(0,m.mergeModels)([`selector`,`setter`,`tagsChanged`],[`update:modelValue`,`update:tags`]),setup(e,{emit:t}){let n=(0,r.E)(),i=e,o=(0,m.useModel)(e,`modelValue`),s=(0,m.useModel)(e,`tags`),c=t,l=(0,r.P)((e,t)=>{c(e,t)},i.emitDelay);i.singleMode&&!o.value.length&&(o.value=[s.value[0].id]);let u=i.id??`top-popup-id-`+Math.random(),d=(0,m.ref)(`add`),p=()=>{let e=` `+n.Common.Tags?.toLowerCase(),t=new Map;return t.set(`add`,{value:`add`,title:n.Common.Add+e}),t.set(`replace`,{value:`replace`,title:n.Common.Replace+e}),t.set(`delete`,{value:`delete`,title:n.Common.Delete+e}),t},h=(0,m.shallowRef)({model:o,mode:`filter`,targetId:void 0,filters:void 0,payload:void 0});(0,m.watch)(o,()=>{l(`selector`,o.value)});let g=(0,m.computed)(()=>{if(h.value.mode===`setter`&&i.maxTagsForSetter&&!h.value.filters)return h.value.model.value.length>=i.maxTagsForSetter}),_=e=>{if(e!==`all`){if(h.value.model.value.includes(e))return`selected`;if(h.value.model.value.includes(Ge(e)))return`excluded`}return e===`all`&&!h.value.model.value.length?`selected`:``},v=(e,t)=>{let n=Ge(e),r=h.value.model.value.filter(t=>t!==e&&t!==n);t===`select`&&r.push(e),t===`exclude`&&r.push(n),h.value.mode===`setter`&&h.value.targetId!==void 0&&i.requiredForSetter&&(r.length||r.push(`1`),r.length===2&&h.value.model.value.length===1&&h.value.model.value[0]===`1`&&(r=r.filter(e=>e!==`1`))),i.singleMode&&!h.value.filters&&(r.length||(r=h.value.model.value),r.length>1&&(r=[r[r.length-1]])),r.sort((e,t)=>i.tags?i.tags.findIndex(t=>t.id===e)-i.tags.findIndex(e=>e.id===t):0),h.value.model.value=r,h.value.mode===`setter`&&h.value.targetId!==void 0&&l(`setter`,{tagsIds:r,targetId:h.value.targetId,payload:h.value.payload})},y=(0,m.computed)(()=>{let e=`top-tagSelector_popup`;return h.value.mode===`filter`&&(e+=` top-tagSelector_popup-filter`),h.value.mode===`setter`&&(e+=` top-tagSelector_popup-setter`),e}),b=()=>{let e=prompt(``,`New tag`);if(!e||e===`New tag`)return;let t=s.value.length+1;s.value.push({id:String(t),name:e,color_id:String((t-1)%10+1)}),c(`tagsChanged`,s.value)},x=e=>{if(h.value=(0,a.storage)(e.elPopupOpener,`topTagSelectorTarget`),!h.value)throw Error(`Open popup TopTagSelector required v-data:topTagSelectorTarget`);if(h.value.filters&&(d.value=`add`,h.value.model.value=[]),!r.O.$?.ui.sortable){console.info(`Для работы сортировки требуется глобальная загрузка jQuery UI Sortable`);return}!r.O.state.isMobile&&!r.O.state.isMobileUA&&s.value&&$(e.elPopup).sortable({items:`li:has([data-tag_id]:not([data-tag_id="all"]))`,cancel:`[contenteditable="plaintext-only"], [contenteditable="true"]`,distance:10,stop:function(e,t){if(!s.value)return;let n=$(t.item).parent().find(`[data-tag_id]`),r=[];n.each((e,t)=>{if(!s.value)return;let n=$(t).attr(`data-tag_id`);r.push(n)}),s.value.sort((e,t)=>r.findIndex(t=>t===e.id)-r.findIndex(e=>e===t.id)),l(`tagsChanged`,s.value)}})},S=e=>{r.O.$?.ui.sortable&&$(e.elPopup).data(`ui-sortable`)&&$(e.elPopup).sortable(`destroy`)};return(t,n)=>((0,m.openBlock)(),(0,m.createElementBlock)(m.Fragment,null,[(0,m.createVNode)(Q,{modelValue:o.value,"onUpdate:modelValue":n[0]||=e=>o.value=e,id:(0,m.unref)(u),tags:s.value,styling:e.styling,mode:`filter`,useTopButton:e.useTopButton},null,8,[`modelValue`,`id`,`tags`,`styling`,`useTopButton`]),(0,m.createVNode)(f.s,{id:(0,m.unref)(u),class:(0,m.normalizeClass)(y.value),onOpen:n[4]||=e=>x(e),onClose:n[5]||=e=>S(e),"transition-duration":50},(0,m.createSlots)({contentList:(0,m.withCtx)(()=>[(0,m.unref)(h).mode===`filter`&&!e.singleMode?((0,m.openBlock)(),(0,m.createBlock)(Qe,{key:0,id:`all`,colorId:``,name:t.$i18n.Common.All_tags??``,state:(0,m.unref)(h).model.value.length?``:`selected`,onSelect:n[3]||=e=>(0,m.unref)(h).model.value=[]},null,8,[`name`,`state`])):(0,m.createCommentVNode)(``,!0),((0,m.openBlock)(!0),(0,m.createElementBlock)(m.Fragment,null,(0,m.renderList)(s.value,t=>((0,m.openBlock)(),(0,m.createBlock)(Qe,{key:t.id,id:t.id,colorId:t.color_id,name:t.name,state:_(t.id),canExclude:(0,m.unref)(h).mode===`filter`&&!e.singleMode,editable:e.tagsEditable,disabled:g.value&&_(t.id)===``,onUnselect:e=>v(t.id,`unselect`),onSelect:e=>v(t.id,`select`),onExclude:e=>v(t.id,`exclude`),"onUpdate:name":e=>{t.name=e,(0,m.unref)(l)(`tagsChanged`,s.value)}},null,8,[`id`,`colorId`,`name`,`state`,`canExclude`,`editable`,`disabled`,`onUnselect`,`onSelect`,`onExclude`,`onUpdate:name`]))),128)),e.tagsEditable&&s.value.length<e.tagsMax&&s.value.length<20?((0,m.openBlock)(),(0,m.createBlock)(f.o,{key:1,"data-top-icon":``,onClick:(0,m.withModifiers)(b,[`stop`])},{default:(0,m.withCtx)(()=>[(0,m.createTextVNode)((0,m.toDisplayString)(t.$i18n.Common.Add),1)]),_:1})):(0,m.createCommentVNode)(``,!0)]),_:2},[(0,m.unref)(h).mode===`setter`&&(0,m.unref)(h).filters?{name:`header`,fn:(0,m.withCtx)(()=>[(0,m.createVNode)(r.n,{modelValue:d.value,"onUpdate:modelValue":n[1]||=e=>d.value=e,options:p()},null,8,[`modelValue`,`options`])]),key:`0`}:void 0,(0,m.unref)(h).mode===`setter`&&(0,m.unref)(h).filters?{name:`footer`,fn:(0,m.withCtx)(()=>[(0,m.createVNode)(r.h,{color:`theme`},{default:(0,m.withCtx)(()=>[(0,m.createTextVNode)((0,m.toDisplayString)(t.$i18n.Common.Cancel),1)]),_:1}),(0,m.createVNode)(r.h,{onClick:n[2]||=e=>(0,m.unref)(l)(`setter`,{tagsIds:(0,m.unref)(h).model.value,filters:(0,m.unref)(h).filters,filtersAction:d.value,payload:(0,m.unref)(h).payload})},{default:(0,m.withCtx)(()=>[(0,m.createTextVNode)((0,m.toDisplayString)(d.value===`add`?t.$i18n.Common.Add:``)+` `+(0,m.toDisplayString)(d.value===`replace`?t.$i18n.Common.Replace:``)+` `+(0,m.toDisplayString)(d.value===`delete`?t.$i18n.Common.Delete:``),1)]),_:1})]),key:`1`}:void 0]),1032,[`id`,`class`])],64))}});t.TopGroupSelector=xe,t.clearCache=Le,t.TopProjectSelector=We,t.genElTopTagSelectorPopupOpener=Ke,t.renderElTopTagSelectorPopupOpener=qe,t.TopTagSelectorTagIcon=Z,t.TopTagSelectorPopupOpener=Q,t.TopTagSelector=et});
2
+ //# sourceMappingURL=project.amd.js.map