@topvisor/ui 1.4.3-updateGroupSelector.2 → 1.4.3-updateRegionSelector.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (153) hide show
  1. package/.chunks/core-Dgj_YGWh.es.js +268 -0
  2. package/.chunks/core-Dgj_YGWh.es.js.map +1 -0
  3. package/.chunks/core-DzDFXOdI.amd.js +2 -0
  4. package/.chunks/core-DzDFXOdI.amd.js.map +1 -0
  5. package/.chunks/{datepicker-C5ErMHwe.amd.js → datepicker-oa8ZwRhq.amd.js} +2 -2
  6. package/.chunks/{datepicker-C5ErMHwe.amd.js.map → datepicker-oa8ZwRhq.amd.js.map} +1 -1
  7. package/.chunks/{datepicker-DMYB1RFK.es.js → datepicker-qToxk2nN.es.js} +2 -2
  8. package/.chunks/{datepicker-DMYB1RFK.es.js.map → datepicker-qToxk2nN.es.js.map} +1 -1
  9. package/.chunks/{dialog_regionSelectorRegions-CHC-Blbu.amd.js → dialog_regionSelectorRegions-CZ0tMVSq.amd.js} +2 -2
  10. package/.chunks/{dialog_regionSelectorRegions-CHC-Blbu.amd.js.map → dialog_regionSelectorRegions-CZ0tMVSq.amd.js.map} +1 -1
  11. package/.chunks/{dialog_regionSelectorRegions-BMWyYCfD.es.js → dialog_regionSelectorRegions-qDW2Ejsv.es.js} +5 -5
  12. package/.chunks/{dialog_regionSelectorRegions-BMWyYCfD.es.js.map → dialog_regionSelectorRegions-qDW2Ejsv.es.js.map} +1 -1
  13. package/.chunks/{dialogs.vue_vue_type_script_setup_true_lang-C3qaTBlO.amd.js → dialogs.vue_vue_type_script_setup_true_lang-BBix_8WK.amd.js} +2 -2
  14. package/.chunks/{dialogs.vue_vue_type_script_setup_true_lang-C3qaTBlO.amd.js.map → dialogs.vue_vue_type_script_setup_true_lang-BBix_8WK.amd.js.map} +1 -1
  15. package/.chunks/{dialogs.vue_vue_type_script_setup_true_lang-BZM_iKPW.es.js → dialogs.vue_vue_type_script_setup_true_lang-CJ97l1ST.es.js} +3 -3
  16. package/.chunks/{dialogs.vue_vue_type_script_setup_true_lang-BZM_iKPW.es.js.map → dialogs.vue_vue_type_script_setup_true_lang-CJ97l1ST.es.js.map} +1 -1
  17. package/.chunks/{forms-EhKRBbpk.amd.js → forms-DDNzqU6o.amd.js} +3 -3
  18. package/.chunks/{forms-EhKRBbpk.amd.js.map → forms-DDNzqU6o.amd.js.map} +1 -1
  19. package/.chunks/{forms-CUaoBGD5.es.js → forms-DtC-EKJL.es.js} +24 -24
  20. package/.chunks/{forms-CUaoBGD5.es.js.map → forms-DtC-EKJL.es.js.map} +1 -1
  21. package/.chunks/lazy-DDNqYkXn.amd.js +2 -0
  22. package/.chunks/lazy-DDNqYkXn.amd.js.map +1 -0
  23. package/.chunks/{lazy-40pjr8cZ.es.js → lazy-HKSyLh72.es.js} +23 -19
  24. package/.chunks/lazy-HKSyLh72.es.js.map +1 -0
  25. package/.chunks/{notice-Chj1PUTD.es.js → notice-BvQl911b.es.js} +3 -3
  26. package/.chunks/{notice-Chj1PUTD.es.js.map → notice-BvQl911b.es.js.map} +1 -1
  27. package/.chunks/{notice-DQb_Za5_.amd.js → notice-CJ3WOTCM.amd.js} +2 -2
  28. package/.chunks/{notice-DQb_Za5_.amd.js.map → notice-CJ3WOTCM.amd.js.map} +1 -1
  29. package/.chunks/{page.vue_vue_type_script_setup_true_lang-C-xQ-eC7.es.js → page.vue_vue_type_script_setup_true_lang-Dd5-B4Ss.es.js} +9 -9
  30. package/.chunks/{page.vue_vue_type_script_setup_true_lang-C-xQ-eC7.es.js.map → page.vue_vue_type_script_setup_true_lang-Dd5-B4Ss.es.js.map} +1 -1
  31. package/.chunks/{page.vue_vue_type_script_setup_true_lang-bUK5c5qn.amd.js → page.vue_vue_type_script_setup_true_lang-fl6-Ql4d.amd.js} +2 -2
  32. package/.chunks/{page.vue_vue_type_script_setup_true_lang-bUK5c5qn.amd.js.map → page.vue_vue_type_script_setup_true_lang-fl6-Ql4d.amd.js.map} +1 -1
  33. package/.chunks/policy.vue_vue_type_style_index_0_lang-Bv3LwNDC.es.js +519 -0
  34. package/.chunks/policy.vue_vue_type_style_index_0_lang-Bv3LwNDC.es.js.map +1 -0
  35. package/.chunks/policy.vue_vue_type_style_index_0_lang-Da7rztT5.amd.js +2 -0
  36. package/.chunks/policy.vue_vue_type_style_index_0_lang-Da7rztT5.amd.js.map +1 -0
  37. package/.chunks/{popup-COONSpqs.es.js → popup-OuDglAOF.es.js} +4 -4
  38. package/.chunks/popup-OuDglAOF.es.js.map +1 -0
  39. package/.chunks/{popup-CDaQNt-3.amd.js → popup-yXIpyok3.amd.js} +2 -2
  40. package/.chunks/popup-yXIpyok3.amd.js.map +1 -0
  41. package/.chunks/{popupHint.vue_vue_type_style_index_0_lang-24i49Ad3.amd.js → popupHint.vue_vue_type_style_index_0_lang-Bu_HvFoW.amd.js} +2 -2
  42. package/.chunks/{popupHint.vue_vue_type_style_index_0_lang-24i49Ad3.amd.js.map → popupHint.vue_vue_type_style_index_0_lang-Bu_HvFoW.amd.js.map} +1 -1
  43. package/.chunks/{popupHint.vue_vue_type_style_index_0_lang-DzT1BFMx.es.js → popupHint.vue_vue_type_style_index_0_lang-DAQIAxvu.es.js} +5 -5
  44. package/.chunks/{popupHint.vue_vue_type_style_index_0_lang-DzT1BFMx.es.js.map → popupHint.vue_vue_type_style_index_0_lang-DAQIAxvu.es.js.map} +1 -1
  45. package/.chunks/{utils-Kzz2mc2t.es.js → utils-BNzP9anP.es.js} +2 -2
  46. package/.chunks/{utils-Kzz2mc2t.es.js.map → utils-BNzP9anP.es.js.map} +1 -1
  47. package/.chunks/{utils-DsGgpnXD.amd.js → utils-CWn_G7OO.amd.js} +2 -2
  48. package/.chunks/{utils-DsGgpnXD.amd.js.map → utils-CWn_G7OO.amd.js.map} +1 -1
  49. package/.chunks/{utils-C2_4b48S.amd.js → utils-DIviuVEw.amd.js} +2 -2
  50. package/.chunks/utils-DIviuVEw.amd.js.map +1 -0
  51. package/.chunks/{utils-DQ-xahGh.es.js → utils-Dma85ehT.es.js} +67 -67
  52. package/.chunks/utils-Dma85ehT.es.js.map +1 -0
  53. package/.chunks/{widgetInput.vue_vue_type_script_setup_true_lang-BuoAaghB.es.js → widgetInput.vue_vue_type_script_setup_true_lang-CX_BOcVY.es.js} +6 -6
  54. package/.chunks/{widgetInput.vue_vue_type_script_setup_true_lang-BuoAaghB.es.js.map → widgetInput.vue_vue_type_script_setup_true_lang-CX_BOcVY.es.js.map} +1 -1
  55. package/.chunks/{widgetInput.vue_vue_type_script_setup_true_lang-Dgjj70vU.amd.js → widgetInput.vue_vue_type_script_setup_true_lang-CkOmb3VD.amd.js} +2 -2
  56. package/.chunks/{widgetInput.vue_vue_type_script_setup_true_lang-Dgjj70vU.amd.js.map → widgetInput.vue_vue_type_script_setup_true_lang-CkOmb3VD.amd.js.map} +1 -1
  57. package/api/index.amd.js +1 -1
  58. package/api/index.js +6 -6
  59. package/assets/policy.css +1 -1
  60. package/assets/project.css +1 -1
  61. package/assets/tabsView.css +1 -1
  62. package/assets/themes/dark.css +1 -1
  63. package/assets/themes/light.css +1 -1
  64. package/charts/charts.amd.js +1 -1
  65. package/charts/charts.js +14 -14
  66. package/core/app.amd.js +1 -1
  67. package/core/app.js +15 -15
  68. package/dialog/dialog.amd.js +1 -1
  69. package/dialog/dialog.js +6 -6
  70. package/extra/extra.js +2 -2
  71. package/forms/forms.amd.js +1 -1
  72. package/forms/forms.js +1 -1
  73. package/formsExt/formsExt.amd.js +1 -1
  74. package/formsExt/formsExt.amd.js.map +1 -1
  75. package/formsExt/formsExt.js +46 -45
  76. package/formsExt/formsExt.js.map +1 -1
  77. package/icomoon/Topvisor icons.json +776 -334
  78. package/icomoon/demo.html +85 -1
  79. package/icomoon/fonts/Topvisor-2.eot +0 -0
  80. package/icomoon/fonts/Topvisor-2.svg +6 -0
  81. package/icomoon/fonts/Topvisor-2.ttf +0 -0
  82. package/icomoon/fonts/Topvisor-2.woff +0 -0
  83. package/icomoon/selection.json +1 -1
  84. package/icomoon/style.css +23 -5
  85. package/layout/layout.amd.js +1 -1
  86. package/layout/layout.js +7 -7
  87. package/package.json +2 -2
  88. package/popup/popup.amd.js +1 -1
  89. package/popup/popup.js +9 -9
  90. package/popup/worker.amd.js +1 -1
  91. package/popup/worker.js +2 -2
  92. package/project/project.amd.js +1 -1
  93. package/project/project.amd.js.map +1 -1
  94. package/project/project.js +1043 -658
  95. package/project/project.js.map +1 -1
  96. package/src/components/formsExt/editInput/types.d.ts +4 -0
  97. package/src/components/formsExt/selector2/composables/useMenu.d.ts +1 -1
  98. package/src/components/formsExt/selector2/selector2.vue.d.ts +2 -0
  99. package/src/components/formsExt/selector2/types.d.ts +35 -1
  100. package/src/components/formsExt/selector2/utils.d.ts +2 -0
  101. package/src/components/popup/lib/popup.d.ts +1 -1
  102. package/src/components/popup/popup/opener/types.d.ts +1 -1
  103. package/src/components/project/groupSelector/folders/utils.d.ts +6 -26
  104. package/src/components/project/groupSelector/groupSelector.vue.d.ts +1 -1
  105. package/src/components/project/groupSelector/groups/groups.vue.d.ts +13 -6
  106. package/src/components/project/groupSelector/groups/utils.d.ts +18 -53
  107. package/src/components/project/groupSelector/utils.d.ts +37 -0
  108. package/src/components/project/project.d.ts +2 -0
  109. package/src/components/project/projectSelector/cache.d.ts +29 -0
  110. package/src/components/project/projectSelector/projectSelector.vue.d.ts +128 -0
  111. package/src/components/project/projectSelector/submenu/submenu.vue.d.ts +4 -0
  112. package/src/components/project/projectSelector/submenu/types.d.ts +17 -0
  113. package/src/components/project/projectSelector/types.d.ts +48 -0
  114. package/src/components/project/projectSelector/utils.d.ts +248 -0
  115. package/src/components/project/regionSelector/types.d.ts +9 -4
  116. package/src/components/project/regionSelector/utils/utils.d.ts +5 -5
  117. package/src/components/tabsView/tabsView/menu.vue.d.ts +2 -6
  118. package/src/core/directives/shortcut.d.ts +2 -1
  119. package/src/core/directives/tooltip.d.ts +2 -6
  120. package/tabs/tabs.js +5 -5
  121. package/tabsView/tabsView.amd.js +1 -1
  122. package/tabsView/tabsView.amd.js.map +1 -1
  123. package/tabsView/tabsView.js +93 -104
  124. package/tabsView/tabsView.js.map +1 -1
  125. package/utils/clipboard.amd.js +1 -1
  126. package/utils/clipboard.js +1 -1
  127. package/utils/date.amd.js +1 -1
  128. package/utils/date.js +1 -1
  129. package/utils/device.amd.js +1 -1
  130. package/utils/device.js +1 -1
  131. package/utils/lodash.amd.js +1 -1
  132. package/utils/lodash.js +1 -1
  133. package/utils/price.amd.js +1 -1
  134. package/utils/price.js +1 -1
  135. package/utils/searchers.amd.js +1 -1
  136. package/utils/searchers.js +3 -3
  137. package/utils/string.amd.js +1 -1
  138. package/utils/string.js +1 -1
  139. package/.chunks/core-BEpKBNHt.amd.js +0 -2
  140. package/.chunks/core-BEpKBNHt.amd.js.map +0 -1
  141. package/.chunks/core-DBWAn2Eg.es.js +0 -242
  142. package/.chunks/core-DBWAn2Eg.es.js.map +0 -1
  143. package/.chunks/lazy-40pjr8cZ.es.js.map +0 -1
  144. package/.chunks/lazy-DSFLxvj4.amd.js +0 -2
  145. package/.chunks/lazy-DSFLxvj4.amd.js.map +0 -1
  146. package/.chunks/policy.vue_vue_type_style_index_0_lang-6S_OFLu6.amd.js +0 -2
  147. package/.chunks/policy.vue_vue_type_style_index_0_lang-6S_OFLu6.amd.js.map +0 -1
  148. package/.chunks/policy.vue_vue_type_style_index_0_lang-BRUOmEM8.es.js +0 -498
  149. package/.chunks/policy.vue_vue_type_style_index_0_lang-BRUOmEM8.es.js.map +0 -1
  150. package/.chunks/popup-CDaQNt-3.amd.js.map +0 -1
  151. package/.chunks/popup-COONSpqs.es.js.map +0 -1
  152. package/.chunks/utils-C2_4b48S.amd.js.map +0 -1
  153. package/.chunks/utils-DQ-xahGh.es.js.map +0 -1
package/icomoon/style.css CHANGED
@@ -1,10 +1,10 @@
1
1
  @font-face {
2
2
  font-family: 'Topvisor-2';
3
- src: url('fonts/Topvisor-2.eot?85yyna');
4
- src: url('fonts/Topvisor-2.eot?85yyna#iefix') format('embedded-opentype'),
5
- url('fonts/Topvisor-2.ttf?85yyna') format('truetype'),
6
- url('fonts/Topvisor-2.woff?85yyna') format('woff'),
7
- url('fonts/Topvisor-2.svg?85yyna#Topvisor-2') format('svg');
3
+ src: url('fonts/Topvisor-2.eot?wjsiw');
4
+ src: url('fonts/Topvisor-2.eot?wjsiw#iefix') format('embedded-opentype'),
5
+ url('fonts/Topvisor-2.ttf?wjsiw') format('truetype'),
6
+ url('fonts/Topvisor-2.woff?wjsiw') format('woff'),
7
+ url('fonts/Topvisor-2.svg?wjsiw#Topvisor-2') format('svg');
8
8
  font-weight: normal;
9
9
  font-style: normal;
10
10
  font-display: block;
@@ -142,6 +142,9 @@
142
142
  .icon2-chevron-up:before {
143
143
  content: "\e90f";
144
144
  }
145
+ .icon2-deduplicate:before {
146
+ content: "\ea1e";
147
+ }
145
148
  .icon2-goal:before {
146
149
  content: "\ea18";
147
150
  }
@@ -199,6 +202,18 @@
199
202
  .icon2-snapshot:before {
200
203
  content: "\e91b";
201
204
  }
205
+ .icon2-ai-overview-short:before {
206
+ content: "\ea1c";
207
+ }
208
+ .icon2-ai-overview-full:before {
209
+ content: "\ea1d";
210
+ }
211
+ .icon2-plan:before {
212
+ content: "\ea19";
213
+ }
214
+ .icon2-camera:before {
215
+ content: "\ea1a";
216
+ }
202
217
  .icon2-stars:before {
203
218
  content: "\ea16";
204
219
  }
@@ -496,6 +511,9 @@
496
511
  .icon2-topvisor:before {
497
512
  content: "\e9d3";
498
513
  }
514
+ .icon2-happy-plus:before {
515
+ content: "\ea1b";
516
+ }
499
517
  .icon2-happy:before {
500
518
  content: "\ea13";
501
519
  }
@@ -1,2 +1,2 @@
1
- define(["require","exports","vue","../.chunks/forms-EhKRBbpk.amd","../require/css.amd!../assets/layout.css"],(function(k,t,e,n){"use strict";if(typeof e>"u")var e=window.Vue;const l=e.defineComponent({__name:"rows",props:{gap:{default:"none"}},setup(s){const o=s;return(r,$)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass({"top-rows":!0,["top-rows-gap_"+o.gap]:!0})},[e.renderSlot(r.$slots,"default")],2))}}),c={class:"top-islandRows"},a={key:0,class:"top-islandRows_title"},d=e.defineComponent({__name:"islandRows",setup(s){return(o,r)=>(e.openBlock(),e.createElementBlock("div",c,[o.$slots.title?(e.openBlock(),e.createElementBlock("div",a,[e.renderSlot(o.$slots,"title")])):e.createCommentVNode("",!0),e.createVNode(l,{gap:"l",class:"top-islandRows_rows"},{default:e.withCtx(()=>[e.renderSlot(o.$slots,"default")]),_:3})]))}}),i={},_={class:"top-islandRows_row"};function u(s,o){return e.openBlock(),e.createElementBlock("div",_,[e.renderSlot(s.$slots,"default")])}const p=n._export_sfc(i,[["render",u]]),f={},w={class:"top-islandRows_subTitle"};function m(s,o){return e.openBlock(),e.createElementBlock("div",w,[e.renderSlot(s.$slots,"default")])}const R=n._export_sfc(f,[["render",m]]);t.TopIslandRows=d,t.TopIslandRowsRow=p,t.TopIslandRowsSubTitle=R,t.TopRows=l,Object.defineProperty(t,Symbol.toStringTag,{value:"Module"})}));
1
+ define(["require","exports","vue","../.chunks/forms-DDNzqU6o.amd","../require/css.amd!../assets/layout.css"],(function(k,t,e,n){"use strict";if(typeof e>"u")var e=window.Vue;const l=e.defineComponent({__name:"rows",props:{gap:{default:"none"}},setup(s){const o=s;return(r,$)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass({"top-rows":!0,["top-rows-gap_"+o.gap]:!0})},[e.renderSlot(r.$slots,"default")],2))}}),c={class:"top-islandRows"},a={key:0,class:"top-islandRows_title"},d=e.defineComponent({__name:"islandRows",setup(s){return(o,r)=>(e.openBlock(),e.createElementBlock("div",c,[o.$slots.title?(e.openBlock(),e.createElementBlock("div",a,[e.renderSlot(o.$slots,"title")])):e.createCommentVNode("",!0),e.createVNode(l,{gap:"l",class:"top-islandRows_rows"},{default:e.withCtx(()=>[e.renderSlot(o.$slots,"default")]),_:3})]))}}),i={},_={class:"top-islandRows_row"};function u(s,o){return e.openBlock(),e.createElementBlock("div",_,[e.renderSlot(s.$slots,"default")])}const p=n._export_sfc(i,[["render",u]]),f={},w={class:"top-islandRows_subTitle"};function m(s,o){return e.openBlock(),e.createElementBlock("div",w,[e.renderSlot(s.$slots,"default")])}const R=n._export_sfc(f,[["render",m]]);t.TopIslandRows=d,t.TopIslandRowsRow=p,t.TopIslandRowsSubTitle=R,t.TopRows=l,Object.defineProperty(t,Symbol.toStringTag,{value:"Module"})}));
2
2
  //# sourceMappingURL=layout.amd.js.map
package/layout/layout.js CHANGED
@@ -3,8 +3,8 @@
3
3
  const fileNames = ['../assets/layout.css'].map(fileName => import.meta.resolve(fileName));
4
4
  _autoloadCSSCore.insertCSSLinkToPage(fileNames, true);
5
5
 
6
- import { defineComponent as r, createElementBlock as t, openBlock as e, normalizeClass as c, renderSlot as n, createCommentVNode as _, createVNode as d, withCtx as i } from "vue";
7
- import { k as l } from "../.chunks/forms-CUaoBGD5.es.js";
6
+ import { defineComponent as r, openBlock as t, createElementBlock as e, normalizeClass as c, renderSlot as n, createCommentVNode as _, createVNode as d, withCtx as i } from "vue";
7
+ import { k as l } from "../.chunks/forms-DtC-EKJL.es.js";
8
8
  const p = /* @__PURE__ */ r({
9
9
  __name: "rows",
10
10
  props: {
@@ -12,7 +12,7 @@ const p = /* @__PURE__ */ r({
12
12
  },
13
13
  setup(o) {
14
14
  const s = o;
15
- return (a, v) => (e(), t("div", {
15
+ return (a, v) => (t(), e("div", {
16
16
  class: c({
17
17
  "top-rows": !0,
18
18
  ["top-rows-gap_" + s.gap]: !0
@@ -27,8 +27,8 @@ const p = /* @__PURE__ */ r({
27
27
  }, C = /* @__PURE__ */ r({
28
28
  __name: "islandRows",
29
29
  setup(o) {
30
- return (s, a) => (e(), t("div", u, [
31
- s.$slots.title ? (e(), t("div", w, [
30
+ return (s, a) => (t(), e("div", u, [
31
+ s.$slots.title ? (t(), e("div", w, [
32
32
  n(s.$slots, "title")
33
33
  ])) : _("", !0),
34
34
  d(p, {
@@ -44,13 +44,13 @@ const p = /* @__PURE__ */ r({
44
44
  }
45
45
  }), f = {}, m = { class: "top-islandRows_row" };
46
46
  function R(o, s) {
47
- return e(), t("div", m, [
47
+ return t(), e("div", m, [
48
48
  n(o.$slots, "default")
49
49
  ]);
50
50
  }
51
51
  const b = /* @__PURE__ */ l(f, [["render", R]]), $ = {}, h = { class: "top-islandRows_subTitle" };
52
52
  function T(o, s) {
53
- return e(), t("div", h, [
53
+ return t(), e("div", h, [
54
54
  n(o.$slots, "default")
55
55
  ]);
56
56
  }
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@topvisor/ui",
3
3
  "private": false,
4
- "version": "1.4.3-updateGroupSelector.2",
4
+ "version": "1.4.3-updateRegionSelector.0",
5
5
  "type": "module",
6
6
  "description": "Topvisor UI-kit Vue",
7
7
  "author": "Topvisor",
@@ -28,7 +28,7 @@
28
28
  "@monaco-editor/loader": "^1.5.0",
29
29
  "@rive-app/canvas-lite": "^2.30.4",
30
30
  "pinia": "2.3.1",
31
- "vue": "^3.5.26"
31
+ "vue": "^3.5.30"
32
32
  },
33
33
  "overrides": {
34
34
  "storybook": "$storybook"
@@ -1,2 +1,2 @@
1
- define(["require","exports","../.chunks/popupHint.vue_vue_type_style_index_0_lang-24i49Ad3.amd","../.chunks/widgetInput.vue_vue_type_script_setup_true_lang-Dgjj70vU.amd","vue","../.chunks/forms-EhKRBbpk.amd"],(function(V,l,d,k,e,$){"use strict";if(typeof e>"u")var e=window.Vue;const T=e.defineComponent({__name:"popupAlert",props:{submitText:{},id:{},class:{},transitionDuration:{},footerSupportLink:{},pos:{},notch:{type:Boolean},openByFocusInput:{type:Boolean},openByHover:{type:Boolean},disabled:{type:Boolean},posBy:{},data:{}},emits:["open","close","scrollContentList"],setup(f){const c=f,{submitText:i,...p}=c;return(o,t)=>(e.openBlock(),e.createBlock(d._sfc_main,e.mergeProps({class:"top-popupAlert"},p,{onOpen:t[0]||(t[0]=s=>o.$emit("open",s)),onClose:t[1]||(t[1]=s=>o.$emit("close",s)),onScrollContentList:t[2]||(t[2]=(...s)=>o.$emit("scrollContentList",...s))}),e.createSlots({opener:e.withCtx(()=>[e.renderSlot(o.$slots,"opener")]),footer:e.withCtx(()=>[e.renderSlot(o.$slots,"footer"),e.createVNode($._sfc_main$1,null,{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(e.unref(i)||o.$i18n.Common.Close),1)]),_:1})]),_:2},[o.$slots.header?{name:"header",fn:e.withCtx(()=>[e.renderSlot(o.$slots,"header")]),key:"0"}:void 0,o.$slots.default?{name:"content",fn:e.withCtx(()=>[e.renderSlot(o.$slots,"default")]),key:"1"}:void 0]),1040))}}),w=e.defineComponent({__name:"popupConfirm",props:{cancelText:{},submitText:{},isWarning:{type:Boolean},id:{},class:{},transitionDuration:{},footerSupportLink:{},pos:{},notch:{type:Boolean},openByFocusInput:{type:Boolean},openByHover:{type:Boolean},disabled:{type:Boolean},posBy:{},data:{}},emits:["open","close","scrollContentList","submit"],setup(f,{emit:c}){const i=f,p=c,o=e.ref(!1),t=()=>{o.value=!0,p("submit")},s=r=>{if(o.value){o.value=!1;return}p("close",r)},{submitText:a,cancelText:B,isWarning:S,...y}=i;return(r,u)=>(e.openBlock(),e.createBlock(d._sfc_main,e.mergeProps({class:"top-popupConfirm"},y,{onOpen:u[0]||(u[0]=n=>r.$emit("open",n)),onClose:u[1]||(u[1]=n=>s(n)),onScrollContentList:u[2]||(u[2]=(...n)=>r.$emit("scrollContentList",...n))}),e.createSlots({opener:e.withCtx(()=>[e.renderSlot(r.$slots,"opener")]),footer:e.withCtx(()=>[e.renderSlot(r.$slots,"footer"),e.createVNode($._sfc_main$1,{color:"theme"},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(e.unref(B)||r.$i18n.Common.Cancel),1)]),_:1}),e.createVNode($._sfc_main$1,{onClick:t,color:e.unref(S)?"red":"blue"},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(e.unref(a)||r.$i18n.Common.Continue),1)]),_:1},8,["color"])]),_:2},[r.$slots.header?{name:"header",fn:e.withCtx(()=>[e.renderSlot(r.$slots,"header")]),key:"0"}:void 0,r.$slots.default?{name:"content",fn:e.withCtx(()=>[e.renderSlot(r.$slots,"default")]),key:"1"}:void 0]),1040))}}),b=e.defineComponent({__name:"popupPrompt",props:{submitText:{},cancelText:{},defaultValue:{},id:{},class:{},transitionDuration:{},footerSupportLink:{},pos:{},notch:{type:Boolean},openByFocusInput:{type:Boolean},openByHover:{type:Boolean},disabled:{type:Boolean},posBy:{},data:{}},emits:["open","close","scrollContentList","submit"],setup(f,{emit:c}){const i=f,p=c,o=()=>s.value=i.defaultValue??"",t=e.ref(!1),s=e.ref();e.watch(()=>i.defaultValue,()=>o(),{immediate:!0});const a=()=>{t.value=!0},B=n=>{if(t.value){t.value=!1,p("submit",s.value),o();return}o(),p("close",n)},{submitText:S,cancelText:y,defaultValue:r,...u}=i;return(n,m)=>(e.openBlock(),e.createBlock(d._sfc_main,e.mergeProps({class:"top-popupPrompt"},u,{onOpen:m[1]||(m[1]=C=>n.$emit("open",C)),onClose:m[2]||(m[2]=C=>B(C)),onScrollContentList:m[3]||(m[3]=(...C)=>n.$emit("scrollContentList",...C))}),e.createSlots({opener:e.withCtx(()=>[e.renderSlot(n.$slots,"opener")]),footer:e.withCtx(()=>[e.renderSlot(n.$slots,"footer"),e.createVNode($._sfc_main$1,{color:"theme"},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(e.unref(y)||n.$i18n.Common.Cancel),1)]),_:1}),e.createVNode($._sfc_main$1,{onClick:a},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(e.unref(S)||n.$i18n.Common.OK),1)]),_:1})]),_:2},[n.$slots.header?{name:"header",fn:e.withCtx(()=>[e.renderSlot(n.$slots,"header")]),key:"0"}:void 0,n.$slots.default?{name:"content",fn:e.withCtx(()=>[e.renderSlot(n.$slots,"default"),e.createVNode(k._sfc_main,{modelValue:s.value,"onUpdate:modelValue":m[0]||(m[0]=C=>s.value=C),modelModifiers:{trim:!0}},null,8,["modelValue"])]),key:"1"}:void 0]),1040))}}),h=e.defineComponent({__name:"popupHint",props:{hint:{},id:{},class:{},transitionDuration:{},footerSupportLink:{},pos:{},notch:{type:Boolean},openByFocusInput:{type:Boolean},openByHover:{type:Boolean},disabled:{type:Boolean},posBy:{},data:{}},setup(f){const c=f,{hint:i,...p}=c;return(o,t)=>{const s=e.resolveDirective("top-tooltip");return e.openBlock(),e.createBlock(d._sfc_main,e.mergeProps({class:"top-popupHint"},p,{onOpen:t[0]||(t[0]=a=>o.$emit("open",a)),onClose:t[1]||(t[1]=a=>o.$emit("close",a)),onScrollContentList:t[2]||(t[2]=(...a)=>o.$emit("scrollContentList",...a))}),e.createSlots({opener:e.withCtx(()=>[e.withDirectives(e.createVNode($._sfc_main$2,{hint:e.unref(i),class:"top-popupHint_opener"},null,8,["hint"]),[[s]])]),_:2},[o.$slots.default?{name:"content",fn:e.withCtx(()=>[e.renderSlot(o.$slots,"default")]),key:"0"}:void 0]),1040)}}});l.TopPopup=d._sfc_main,l.TopPopupListItem=d._sfc_main$2,l.TopPopupOpener=d._sfc_main$1,l.TopPopupWidgetInput=k._sfc_main,l.TopPopupAlert=T,l.TopPopupConfirm=w,l.TopPopupHint=h,l.TopPopupPrompt=b,Object.defineProperty(l,Symbol.toStringTag,{value:"Module"})}));
1
+ define(["require","exports","../.chunks/popupHint.vue_vue_type_style_index_0_lang-Bu_HvFoW.amd","../.chunks/widgetInput.vue_vue_type_script_setup_true_lang-CkOmb3VD.amd","vue","../.chunks/forms-DDNzqU6o.amd"],(function(V,l,d,k,e,$){"use strict";if(typeof e>"u")var e=window.Vue;const T=e.defineComponent({__name:"popupAlert",props:{submitText:{},id:{},class:{},transitionDuration:{},footerSupportLink:{},pos:{},notch:{type:Boolean},openByFocusInput:{type:Boolean},openByHover:{type:Boolean},disabled:{type:Boolean},posBy:{},data:{}},emits:["open","close","scrollContentList"],setup(f){const c=f,{submitText:i,...p}=c;return(o,t)=>(e.openBlock(),e.createBlock(d._sfc_main,e.mergeProps({class:"top-popupAlert"},p,{onOpen:t[0]||(t[0]=s=>o.$emit("open",s)),onClose:t[1]||(t[1]=s=>o.$emit("close",s)),onScrollContentList:t[2]||(t[2]=(...s)=>o.$emit("scrollContentList",...s))}),e.createSlots({opener:e.withCtx(()=>[e.renderSlot(o.$slots,"opener")]),footer:e.withCtx(()=>[e.renderSlot(o.$slots,"footer"),e.createVNode($._sfc_main$1,null,{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(e.unref(i)||o.$i18n.Common.Close),1)]),_:1})]),_:2},[o.$slots.header?{name:"header",fn:e.withCtx(()=>[e.renderSlot(o.$slots,"header")]),key:"0"}:void 0,o.$slots.default?{name:"content",fn:e.withCtx(()=>[e.renderSlot(o.$slots,"default")]),key:"1"}:void 0]),1040))}}),w=e.defineComponent({__name:"popupConfirm",props:{cancelText:{},submitText:{},isWarning:{type:Boolean},id:{},class:{},transitionDuration:{},footerSupportLink:{},pos:{},notch:{type:Boolean},openByFocusInput:{type:Boolean},openByHover:{type:Boolean},disabled:{type:Boolean},posBy:{},data:{}},emits:["open","close","scrollContentList","submit"],setup(f,{emit:c}){const i=f,p=c,o=e.ref(!1),t=()=>{o.value=!0,p("submit")},s=r=>{if(o.value){o.value=!1;return}p("close",r)},{submitText:a,cancelText:B,isWarning:S,...y}=i;return(r,u)=>(e.openBlock(),e.createBlock(d._sfc_main,e.mergeProps({class:"top-popupConfirm"},y,{onOpen:u[0]||(u[0]=n=>r.$emit("open",n)),onClose:u[1]||(u[1]=n=>s(n)),onScrollContentList:u[2]||(u[2]=(...n)=>r.$emit("scrollContentList",...n))}),e.createSlots({opener:e.withCtx(()=>[e.renderSlot(r.$slots,"opener")]),footer:e.withCtx(()=>[e.renderSlot(r.$slots,"footer"),e.createVNode($._sfc_main$1,{color:"theme"},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(e.unref(B)||r.$i18n.Common.Cancel),1)]),_:1}),e.createVNode($._sfc_main$1,{onClick:t,color:e.unref(S)?"red":"blue"},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(e.unref(a)||r.$i18n.Common.Continue),1)]),_:1},8,["color"])]),_:2},[r.$slots.header?{name:"header",fn:e.withCtx(()=>[e.renderSlot(r.$slots,"header")]),key:"0"}:void 0,r.$slots.default?{name:"content",fn:e.withCtx(()=>[e.renderSlot(r.$slots,"default")]),key:"1"}:void 0]),1040))}}),b=e.defineComponent({__name:"popupPrompt",props:{submitText:{},cancelText:{},defaultValue:{},id:{},class:{},transitionDuration:{},footerSupportLink:{},pos:{},notch:{type:Boolean},openByFocusInput:{type:Boolean},openByHover:{type:Boolean},disabled:{type:Boolean},posBy:{},data:{}},emits:["open","close","scrollContentList","submit"],setup(f,{emit:c}){const i=f,p=c,o=()=>s.value=i.defaultValue??"",t=e.ref(!1),s=e.ref();e.watch(()=>i.defaultValue,()=>o(),{immediate:!0});const a=()=>{t.value=!0},B=n=>{if(t.value){t.value=!1,p("submit",s.value),o();return}o(),p("close",n)},{submitText:S,cancelText:y,defaultValue:r,...u}=i;return(n,m)=>(e.openBlock(),e.createBlock(d._sfc_main,e.mergeProps({class:"top-popupPrompt"},u,{onOpen:m[1]||(m[1]=C=>n.$emit("open",C)),onClose:m[2]||(m[2]=C=>B(C)),onScrollContentList:m[3]||(m[3]=(...C)=>n.$emit("scrollContentList",...C))}),e.createSlots({opener:e.withCtx(()=>[e.renderSlot(n.$slots,"opener")]),footer:e.withCtx(()=>[e.renderSlot(n.$slots,"footer"),e.createVNode($._sfc_main$1,{color:"theme"},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(e.unref(y)||n.$i18n.Common.Cancel),1)]),_:1}),e.createVNode($._sfc_main$1,{onClick:a},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(e.unref(S)||n.$i18n.Common.OK),1)]),_:1})]),_:2},[n.$slots.header?{name:"header",fn:e.withCtx(()=>[e.renderSlot(n.$slots,"header")]),key:"0"}:void 0,n.$slots.default?{name:"content",fn:e.withCtx(()=>[e.renderSlot(n.$slots,"default"),e.createVNode(k._sfc_main,{modelValue:s.value,"onUpdate:modelValue":m[0]||(m[0]=C=>s.value=C),modelModifiers:{trim:!0}},null,8,["modelValue"])]),key:"1"}:void 0]),1040))}}),h=e.defineComponent({__name:"popupHint",props:{hint:{},id:{},class:{},transitionDuration:{},footerSupportLink:{},pos:{},notch:{type:Boolean},openByFocusInput:{type:Boolean},openByHover:{type:Boolean},disabled:{type:Boolean},posBy:{},data:{}},setup(f){const c=f,{hint:i,...p}=c;return(o,t)=>{const s=e.resolveDirective("top-tooltip");return e.openBlock(),e.createBlock(d._sfc_main,e.mergeProps({class:"top-popupHint"},p,{onOpen:t[0]||(t[0]=a=>o.$emit("open",a)),onClose:t[1]||(t[1]=a=>o.$emit("close",a)),onScrollContentList:t[2]||(t[2]=(...a)=>o.$emit("scrollContentList",...a))}),e.createSlots({opener:e.withCtx(()=>[e.withDirectives(e.createVNode($._sfc_main$2,{hint:e.unref(i),class:"top-popupHint_opener"},null,8,["hint"]),[[s]])]),_:2},[o.$slots.default?{name:"content",fn:e.withCtx(()=>[e.renderSlot(o.$slots,"default")]),key:"0"}:void 0]),1040)}}});l.TopPopup=d._sfc_main,l.TopPopupListItem=d._sfc_main$1,l.TopPopupOpener=d._sfc_main$2,l.TopPopupWidgetInput=k._sfc_main,l.TopPopupAlert=T,l.TopPopupConfirm=w,l.TopPopupHint=h,l.TopPopupPrompt=b,Object.defineProperty(l,Symbol.toStringTag,{value:"Module"})}));
2
2
  //# sourceMappingURL=popup.amd.js.map
package/popup/popup.js CHANGED
@@ -1,8 +1,8 @@
1
- import { _ as b } from "../.chunks/popupHint.vue_vue_type_style_index_0_lang-DzT1BFMx.es.js";
2
- import { b as G, a as J } from "../.chunks/popupHint.vue_vue_type_style_index_0_lang-DzT1BFMx.es.js";
3
- import { _ as O } from "../.chunks/widgetInput.vue_vue_type_script_setup_true_lang-BuoAaghB.es.js";
4
- import { defineComponent as T, createBlock as L, openBlock as P, mergeProps as k, createSlots as S, withCtx as t, renderSlot as l, createVNode as y, createTextVNode as B, toDisplayString as v, unref as C, ref as I, watch as g, resolveDirective as F, withDirectives as w } from "vue";
5
- import { e as c, f as A } from "../.chunks/forms-CUaoBGD5.es.js";
1
+ import { _ as b } from "../.chunks/popupHint.vue_vue_type_style_index_0_lang-DAQIAxvu.es.js";
2
+ import { a as G, b as J } from "../.chunks/popupHint.vue_vue_type_style_index_0_lang-DAQIAxvu.es.js";
3
+ import { _ as O } from "../.chunks/widgetInput.vue_vue_type_script_setup_true_lang-CX_BOcVY.es.js";
4
+ import { defineComponent as T, openBlock as L, createBlock as P, mergeProps as k, createSlots as S, withCtx as t, renderSlot as l, createVNode as y, createTextVNode as B, toDisplayString as v, unref as C, ref as I, watch as g, resolveDirective as F, withDirectives as w } from "vue";
5
+ import { e as c, f as A } from "../.chunks/forms-DtC-EKJL.es.js";
6
6
  const U = /* @__PURE__ */ T({
7
7
  __name: "popupAlert",
8
8
  props: {
@@ -25,7 +25,7 @@ const U = /* @__PURE__ */ T({
25
25
  submitText: r,
26
26
  ...i
27
27
  } = f;
28
- return (o, e) => (P(), L(b, k({ class: "top-popupAlert" }, i, {
28
+ return (o, e) => (L(), P(b, k({ class: "top-popupAlert" }, i, {
29
29
  onOpen: e[0] || (e[0] = (s) => o.$emit("open", s)),
30
30
  onClose: e[1] || (e[1] = (s) => o.$emit("close", s)),
31
31
  onScrollContentList: e[2] || (e[2] = (...s) => o.$emit("scrollContentList", ...s))
@@ -94,7 +94,7 @@ const U = /* @__PURE__ */ T({
94
94
  isWarning: H,
95
95
  ...D
96
96
  } = r;
97
- return (p, u) => (P(), L(b, k({ class: "top-popupConfirm" }, D, {
97
+ return (p, u) => (L(), P(b, k({ class: "top-popupConfirm" }, D, {
98
98
  onOpen: u[0] || (u[0] = (n) => p.$emit("open", n)),
99
99
  onClose: u[1] || (u[1] = (n) => s(n)),
100
100
  onScrollContentList: u[2] || (u[2] = (...n) => p.$emit("scrollContentList", ...n))
@@ -174,7 +174,7 @@ const U = /* @__PURE__ */ T({
174
174
  defaultValue: p,
175
175
  ...u
176
176
  } = r;
177
- return (n, m) => (P(), L(b, k({ class: "top-popupPrompt" }, u, {
177
+ return (n, m) => (L(), P(b, k({ class: "top-popupPrompt" }, u, {
178
178
  onOpen: m[1] || (m[1] = ($) => n.$emit("open", $)),
179
179
  onClose: m[2] || (m[2] = ($) => V($)),
180
180
  onScrollContentList: m[3] || (m[3] = (...$) => n.$emit("scrollContentList", ...$))
@@ -243,7 +243,7 @@ const U = /* @__PURE__ */ T({
243
243
  } = f;
244
244
  return (o, e) => {
245
245
  const s = F("top-tooltip");
246
- return P(), L(b, k({ class: "top-popupHint" }, i, {
246
+ return L(), P(b, k({ class: "top-popupHint" }, i, {
247
247
  onOpen: e[0] || (e[0] = (a) => o.$emit("open", a)),
248
248
  onClose: e[1] || (e[1] = (a) => o.$emit("close", a)),
249
249
  onScrollContentList: e[2] || (e[2] = (...a) => o.$emit("scrollContentList", ...a))
@@ -1,2 +1,2 @@
1
- define(["require","exports","../.chunks/forms-EhKRBbpk.amd","../utils/dom.amd"],(function(require,exports,forms,utils_dom){"use strict";if(typeof vue>"u")var vue=window.Vue;class Worker{static noClose=!1;static vueConnectors=new Map;static options={};static getPopup(t){return utils_dom.default.storage(t,"TopPopup")}static getElPopupOpener(t){return t.closest("[data-top-popup]")}static getPopupFromOpener(t){const o=Worker.getElPopupOpener(t);return o?utils_dom.default.storage(o,"#TopPopup"):null}static getAll(){return utils_dom.default.querySelectorAllArray(document,".top-popup-wrapper")}static getAllVisible(){return utils_dom.default.querySelectorAllVisible(document,".top-popup-wrapper")}static async openByOpener(t){if(!(t instanceof HTMLElement))return;const o={};return o.popup=t.dataset.topPopup,o.id=t.dataset.topPopupId,!o.id&&o.popup&&(t.dataset.topPopupId=btoa(String.fromCharCode(...new TextEncoder().encode(o.popup))),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)}static async open(elOpener,options){elOpener instanceof HTMLElement&&(elOpener.dataset.topPopupOpened="opened");const{TopLibPopup}=await new Promise((t,o)=>require(["../.chunks/popup-CDaQNt-3.amd"],t,o));if(forms.Core.$){const $elOpener=forms.Core.$(elOpener);if($elOpener.data("aftershow")){let afterShow=$elOpener.data("aftershow");typeof afterShow=="string"&&(afterShow=eval(afterShow.replace(/\W/g,""))),$elOpener.one("aftershow.top-menu-popup",afterShow)}if($elOpener.data("afterclose")){let afterclose=$elOpener.data("afterclose");typeof afterclose=="string"&&(afterclose=eval(afterclose.replace(/\W/g,""))),$elOpener.one("afterclose.top-menu-popup",afterclose)}}return options.isFullScreen=forms.Core.state.isMobile,new TopLibPopup(elOpener,options)}static close(t,o=!1){const e=Worker.getPopup(t);if(e){e.close();const p=e.el.contains(document.activeElement);o&&!p&&setTimeout(()=>{e.el.focus()})}}static recalcPosition(t){const o=Worker.getPopup(t);o&&o.elPopupBody instanceof HTMLElement&&o.recalcPosition()}static scrollToActive(t){if(!utils_dom.default.querySelectorVisible(t,"ul.top-popup_content > li > .top-active"))return;const e=t.querySelector("ul.top-popup_content"),p=utils_dom.default.querySelectorAllVisible(t,"ul.top-popup_content > li");t.classList.add("top-popup-wrapper-no_animate"),setTimeout(()=>t.classList.remove("top-popup-wrapper-no_animate"),100);let a=100;for(const s of p){if(s.querySelector(":scope > .top-active"))break;s instanceof HTMLElement&&(a+=s.offsetHeight)}if(e instanceof HTMLElement){const s=e.offsetHeight;a>s?e.scrollTop=a-s:e.scrollTop=0}}static decoratorBeforeOpen(t){this.options.decoratorBeforeOpen&&this.options.decoratorBeforeOpen(t)}static decoratorAfterOpen(t){this.options.decoratorAfterOpen&&this.options.decoratorAfterOpen(t)}static decoratorIsIgnoreOuterClick(t){return this.options.decoratorIsIgnoreOuterClick?this.options.decoratorIsIgnoreOuterClick(t):!1}static regVueComponent(t,o){if(Worker.vueConnectors.get(t))throw"Vue component Popup use duplicated id: "+t;Worker.vueConnectors.set(t,o)}static unregVueComponent(t){Worker.vueConnectors.delete(t)}static genElPopupOpener(t,o,...e){const p=utils_dom.default.genEl(t,{},...e);p.dataset.topPopup="#"+o.id;for(let a in o){const s="topPopup"+a.charAt(0).toUpperCase()+a.slice(1);p.dataset[s]=o[a]}return p.__TopPopupOpenerProps=o,p}}exports.TopPopupWorker=Worker,Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"})}));
1
+ define(["require","exports","../.chunks/forms-DDNzqU6o.amd","../utils/dom.amd"],(function(require,exports,forms,utils_dom){"use strict";if(typeof vue>"u")var vue=window.Vue;class Worker{static noClose=!1;static vueConnectors=new Map;static options={};static getPopup(t){return utils_dom.default.storage(t,"TopPopup")}static getElPopupOpener(t){return t.closest("[data-top-popup]")}static getPopupFromOpener(t){const o=Worker.getElPopupOpener(t);return o?utils_dom.default.storage(o,"#TopPopup"):null}static getAll(){return utils_dom.default.querySelectorAllArray(document,".top-popup-wrapper")}static getAllVisible(){return utils_dom.default.querySelectorAllVisible(document,".top-popup-wrapper")}static async openByOpener(t){if(!(t instanceof HTMLElement))return;const o={};return o.popup=t.dataset.topPopup,o.id=t.dataset.topPopupId,!o.id&&o.popup&&(t.dataset.topPopupId=btoa(String.fromCharCode(...new TextEncoder().encode(o.popup))),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)}static async open(elOpener,options){elOpener instanceof HTMLElement&&(elOpener.dataset.topPopupOpened="opened");const{TopLibPopup}=await new Promise((t,o)=>require(["../.chunks/popup-yXIpyok3.amd"],t,o));if(forms.Core.$){const $elOpener=forms.Core.$(elOpener);if($elOpener.data("aftershow")){let afterShow=$elOpener.data("aftershow");typeof afterShow=="string"&&(afterShow=eval(afterShow.replace(/\W/g,""))),$elOpener.one("aftershow.top-menu-popup",afterShow)}if($elOpener.data("afterclose")){let afterclose=$elOpener.data("afterclose");typeof afterclose=="string"&&(afterclose=eval(afterclose.replace(/\W/g,""))),$elOpener.one("afterclose.top-menu-popup",afterclose)}}return options.isFullScreen=forms.Core.state.isMobile,new TopLibPopup(elOpener,options)}static close(t,o=!1){const e=Worker.getPopup(t);if(e){e.close();const p=e.el.contains(document.activeElement);o&&!p&&setTimeout(()=>{e.el.focus()})}}static recalcPosition(t){const o=Worker.getPopup(t);o&&o.elPopupBody instanceof HTMLElement&&o.recalcPosition()}static scrollToActive(t){if(!utils_dom.default.querySelectorVisible(t,"ul.top-popup_content > li > .top-active"))return;const e=t.querySelector("ul.top-popup_content"),p=utils_dom.default.querySelectorAllVisible(t,"ul.top-popup_content > li");t.classList.add("top-popup-wrapper-no_animate"),setTimeout(()=>t.classList.remove("top-popup-wrapper-no_animate"),100);let a=100;for(const s of p){if(s.querySelector(":scope > .top-active"))break;s instanceof HTMLElement&&(a+=s.offsetHeight)}if(e instanceof HTMLElement){const s=e.offsetHeight;a>s?e.scrollTop=a-s:e.scrollTop=0}}static decoratorBeforeOpen(t){this.options.decoratorBeforeOpen&&this.options.decoratorBeforeOpen(t)}static decoratorAfterOpen(t){this.options.decoratorAfterOpen&&this.options.decoratorAfterOpen(t)}static decoratorIsIgnoreOuterClick(t){return this.options.decoratorIsIgnoreOuterClick?this.options.decoratorIsIgnoreOuterClick(t):!1}static regVueComponent(t,o){if(Worker.vueConnectors.get(t))throw"Vue component Popup use duplicated id: "+t;Worker.vueConnectors.set(t,o)}static unregVueComponent(t){Worker.vueConnectors.delete(t)}static genElPopupOpener(t,o,...e){const p=utils_dom.default.genEl(t,{},...e);p.dataset.topPopup="#"+o.id;for(let a in o){const s="topPopup"+a.charAt(0).toUpperCase()+a.slice(1);p.dataset[s]=o[a]}return p.__TopPopupOpenerProps=o,p}}exports.TopPopupWorker=Worker,Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"})}));
2
2
  //# sourceMappingURL=worker.amd.js.map
package/popup/worker.js CHANGED
@@ -1,4 +1,4 @@
1
- import { C as Core } from "../.chunks/forms-CUaoBGD5.es.js";
1
+ import { C as Core } from "../.chunks/forms-DtC-EKJL.es.js";
2
2
  import DOM from "../utils/dom.js";
3
3
  class Worker {
4
4
  /**
@@ -53,7 +53,7 @@ class Worker {
53
53
  */
54
54
  static async open(elOpener, options) {
55
55
  elOpener instanceof HTMLElement && (elOpener.dataset.topPopupOpened = "opened");
56
- const { TopLibPopup } = await import("../.chunks/popup-COONSpqs.es.js");
56
+ const { TopLibPopup } = await import("../.chunks/popup-OuDglAOF.es.js");
57
57
  if (Core.$) {
58
58
  const $elOpener = Core.$(elOpener);
59
59
  if ($elOpener.data("aftershow")) {
@@ -1,2 +1,2 @@
1
- define(["require","exports","vue","../.chunks/forms-EhKRBbpk.amd","../.chunks/popupHint.vue_vue_type_style_index_0_lang-24i49Ad3.amd","../.chunks/policy.vue_vue_type_style_index_0_lang-6S_OFLu6.amd","../.chunks/utils-DsGgpnXD.amd","../utils/searchers.amd","../.chunks/core-BEpKBNHt.amd","../.chunks/dialogs.vue_vue_type_script_setup_true_lang-C3qaTBlO.amd","../.chunks/field-Cvv0SRcJ.amd","../utils/dom.amd","../popup/worker.amd","../require/css.amd!../assets/project.css"],(function(se,B,e,y,V,C,fe,W,Je,Ye,H,A,ge){"use strict";if(typeof e>"u")var e=window.Vue;const me={class:"top-competitorSelector"},ve={class:"top-ellipsis1"},pe=e.defineComponent({__name:"competitorSelector",props:e.mergeModels({modelValue:{},items:{},showSelectAllItem:{type:Boolean,default:!0}},{modelValue:{},modelModifiers:{}}),emits:["update:modelValue"],setup(t){const a=t,l=e.useModel(t,"modelValue"),o=e.computed(()=>{if(a.showSelectAllItem)return{icon:"",title:y.useI18n().Common.Select_all,value:"all",content:""}});return(i,n)=>(e.openBlock(),e.createElementBlock("div",me,[e.unref(y.Core).state.isMobile?(e.openBlock(),e.createBlock(V._sfc_main,{key:0},{opener:e.withCtx(()=>[e.createVNode(y._sfc_main$1,{class:"top-competitorSelector_opener",color:"theme",icon:"",icon2:""},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(t.items.find(r=>r.value===l.value?.[0])?.content),1)]),_:1})]),contentList:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(t.items,r=>(e.openBlock(),e.createBlock(V._sfc_main$2,{class:e.normalizeClass({"top-active":l.value?.includes(r.value)}),"data-top-icon":r.icon,title:r.title,onClick:()=>l.value=[r.value]},{default:e.withCtx(()=>[e.createElementVNode("span",ve,e.toDisplayString(r.content),1)]),_:2},1032,["class","data-top-icon","title","onClick"]))),256))]),_:1})):(e.openBlock(),e.createBlock(C._sfc_main$1,{key:1,modelValue:l.value,"onUpdate:modelValue":n[0]||(n[0]=r=>l.value=r),items:t.items,isMultiple:!0,styling:"bar",canBeEmptyMultiple:!1,selectAllItem:o.value},null,8,["modelValue","items","selectAllItem"]))]))}}),he=(t,a)=>e.computed(()=>e.toValue(t).filter(i=>i.on>=0||i.id===a).map(i=>({value:i.id,title:i.url+` [${i.id}]`,icon:i.id===e.toValue(a)?"":"",content:i.name}))),w=-1,h=-2,O=-1,ye={0:"Yandex",1:"Google",4:"YouTube",5:"Bing",7:"Seznam",8:"AppStore",9:"GoogleStore",20:"Yandex.com",21:"Yandex.com.tr"},_={key:h,name:"--",index:h},ee={key:h,name:"--",regions:[_],regionByIndex:new Map([[h,_]])},R={key:h,name:"Autoselect",index:h},J={key:h,name:"Autoselect",regions:[R],regionByIndex:new Map([[h,R]])},te={countryCode:"00",depth:1,device:0,key:O,index:O,lang:"ru",name:"Without region"},Ie=()=>(R.name=y.useI18n().Common.Autoselect,R),Se=()=>(Ie(),J.name=y.useI18n().Common.Autoselect,console.log(J),J),ke=()=>(te.name=y.useI18n().Keywords.Without_region,te),Y=(t=!1,a=!1,l=[])=>{let o;return t?o=xe(l):o=oe(l),a&&o.set(h,Se()),o.size||o.set(h,ee),o},oe=(t,a=!0,l=[],o=!1)=>{const i=new Map;return t.forEach(n=>{if(!n.enabled||o&&typeof n.key=="number"&&n.key>1)return;const r={...n};r.regionByIndex=new Map,n.regions&&n.regions.forEach(c=>{if(a&&!c.enabled)return;const m={...c};r.regionByIndex.set(m.index,m)}),!r.regionByIndex.size&&l.length,(!n.regions||r.regionByIndex.size||l.length)&&i.set(r.key,r)}),l.forEach(n=>{if(i.has(n))return;const r={key:n,name:ye[n],regions:[],regionByIndex:new Map};i.set(r.key,r)}),i},xe=t=>{const a=oe(t,!1,[0,1],!0);if(a.has(2)){const l=a.get(2);l&&(l.regionByIndex=new Map)}return a.forEach(l=>{if(!l.regionByIndex)return;const o={...ke()};l.regionByIndex.set(o.index,o)}),a},le=(t,a,l=[])=>{const o=Y(t,!1,l);let i;return o.forEach(n=>{if(!(a.searcher_key!==void 0&&a.searcher_key!=n.key)&&n.regions&&(n.regions.forEach(r=>{if(!i&&!(a.key!==void 0&&a.key!=r.key)&&!(a.index!==void 0&&a.index!=r.index)&&!(!t&&(a.lang!==void 0&&a.lang!=r.lang||a.device!==void 0&&a.device!=r.device)))return r.searcher_key=n.key,i=r,!1}),i))return!1}),i},ne=fe.useAsyncTopDialog(()=>new Promise((t,a)=>se(["../.chunks/dialog_regionSelectorRegions-CHC-Blbu.amd"],t,a))),Be=(t,a)=>{const l=y.useI18n(),o=e.ref(a.value.keys().next().value??h),i=e.computed(()=>{const n=new Map;if(a.value.forEach(r=>{let c={value:r.key,title:r.name};t.addSearcherIcon&&(c.icon=W.getSearcherGIcon(r.key)),n.set(r.key,c)}),t.addCompare&&!n.has(h)){const r={value:"",title:"--------------------",disabled:!0};n.set(r.value,r);const c={value:w,title:l.Common.Compare};n.set(c.value,c)}return n});return{searcherKey:o,optionBySearcherKey:i}},Ce=(t,a)=>{const l=y.useI18n(),o=e.ref(h);t.modelValue.length===1&&(o.value=t.modelValue[0]),o.value===h&&(t.forFrequency?o.value=a.value?.regionByIndex.values().next().value?.key??h:o.value=a.value?.regionByIndex.keys().next().value??h);const i=e.computed(()=>{const n=new Map;return a.value.regionByIndex?.forEach(r=>{let c=r.name;if(t.forFrequency){const k={value:r.key,title:c};n.has(r.key)||n.set(r.key,k);return}r.device&&(c+=" ("+l.Common["Device_"+r.device]+")");const m=W.getLangLabel(a.value.key||0,r.lang??"");m&&(c+=" / "+m);const f={value:r.index,title:c,icon:r.device?W.getDeviceGIcon(r.device):void 0};n.set(r.index,f)}),n});return e.watch(i,(n,r)=>{if(t.onlySearcher||o.value!==void 0&&n.get(o.value))return;let c=n.keys().next().value;if(o.value===h||c===h){o.value=c;return}let m=r?.get(o.value)?.title||"",f=-1;for(const[k,d]of n.entries()){const v=d.title;if(typeof v!="string"||typeof k=="string")break;if(v===m){c=k;break}const u=new RegExp(` \\((${l.Common.Device_1}|${l.Common.Device_2})\\)`);let s=m,g=3;v.indexOf(s)===-1&&(s=m.replace(/^[^a-zа-я]/i,"").replace(u,""),g--),v.indexOf(s)===-1&&(s=m.replace(/ \/.*/,""),g--),v.indexOf(s)===-1&&(s=m.replace(/ \/.*/,""),s=s.replace(/^[^a-zа-я]/i,"").replace(u,""),g--),v.indexOf(s)!==-1&&(g<=f||(f=g,c=k))}o.value=c}),{regionIndex:o,optionByRegionIndex:i}},Te=(t,a,l)=>{const o=e.ref([]),i=()=>{if(t.onlySearcher&&a.value){o.value=Array.from(a.value.keys());return}let r=[];if(t.modelValue.length>1)r=[...t.modelValue];else try{r=JSON.parse(localStorage.getItem("ui:project:regionSelector"+t.projectId+":regionsIndexes"))??[]}catch{}r.length&&(r=r.filter(c=>l.value.has(c))),r.length||(r=Array.from(l.value)),o.value=[...r]},n=()=>{o.value.length?localStorage.setItem("ui:project:regionSelector:"+t.projectId+":regionsIndexes",JSON.stringify(o.value)):localStorage.removeItem("ui:project:regionSelector:"+t.projectId+":regionsIndexes")};return e.watch(o,()=>{n()}),t.addCompare&&i(),{regionsIndexes:o}},we=t=>{const a=e.computed(()=>Y(t.forFrequency,t.autoRegion,t.searchers)),l=e.computed(()=>a.value.get(i.searcherKey.value)||ee),o=e.computed(()=>{const d=new Set;return a.value.forEach(v=>{v.regionByIndex.forEach(u=>{u.index!==O&&u.index!==h&&d.add(u.index)})}),d}),i=Be(t,a),n=Ce(t,l),r=Te(t,a,o);e.watch(a,()=>{if(t.onlySearcher?r.regionsIndexes.value=Array.from(a.value.keys()):r.regionsIndexes.value=r.regionsIndexes.value.filter(v=>o.value.has(v)),i.searcherKey.value===w)return;let d=a.value.keys().next().value;a.value.forEach(v=>{if(t.onlySearcher&&v.key===i.searcherKey.value){d=i.searcherKey.value;return}if(n.regionIndex.value&&v.regionByIndex?.has(n.regionIndex.value)&&(d=v.key),!t.onlySearcher){let u;d!==void 0&&(u=a.value.get(d)?.regionByIndex);const s=a.value.get(v.key)?.regionByIndex;u?.has(h)&&!s?.has(h)&&(d=v.key)}}),d!==void 0&&(i.searcherKey.value=d),n.regionIndex.value!==void 0&&!l.value?.regionByIndex?.has(n.regionIndex.value)&&(n.regionIndex.value=l.value?.regions?.keys().next().value)},{immediate:!0});const c=()=>{if(!(i.searcherKey.value===w||i.searcherKey.value===h))return i.searcherKey.value},m=()=>{if(t.onlySearcher||n.regionIndex.value===h)return;let d=n.regionIndex.value;if(t.forFrequency){const v=n.regionIndex.value;d=le(t.forFrequency,{searcher_key:c(),key:v},t.searchers)?.index}return d},f=()=>{const d=c();if(d!==void 0)return a.value.get(d)};return{selectSearcher:i,selectRegion:n,compare:r,searcherByKey:a,allRegionsIndexes:o,getSearcher:f,getRegion:()=>{const d=m();if(d!==void 0)return f()?.regionByIndex?.get(d)}}},Me=e.defineComponent({__name:"regionSelector",props:e.mergeModels({projectId:{},searchers:{default:()=>[]},modelValue:{},modelValueSingle:{},addCompare:{type:Boolean},forFrequency:{type:Boolean},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:a}){const l=t,o=e.useModel(t,"modelValue"),i=e.useModel(t,"modelValueSingle"),{selectSearcher:n,selectRegion:r,compare:c,searcherByKey:m,allRegionsIndexes:f,getSearcher:k,getRegion:d}=we(l),v=()=>{const u=[];m.value.forEach(s=>{s.enabled&&s.regions.forEach(g=>{g.enabled&&u.push(g)})}),ne.open("regions",{regions:u,regionsIndexes:c.regionsIndexes.value,"@update:regionsIndexes":s=>c.regionsIndexes.value=s})};return e.watch([r.regionIndex,n.searcherKey,c.regionsIndexes],()=>{if(n.searcherKey.value===w&&c.regionsIndexes.value.length){if(JSON.stringify(o.value)===JSON.stringify(c.regionsIndexes.value))return;o.value=[...c.regionsIndexes.value]}else l.onlySearcher?(o.value=[n.searcherKey.value],n.searcherKey.value===h&&!l.autoRegion&&(o.value.length=0)):(o.value=[r.regionIndex.value],r.regionIndex.value===h&&!l.autoRegion&&(o.value.length=0));!l.onlySearcher&&!f.value.size&&(n.searcherKey.value=h)}),i.value&&e.watch(i,()=>{i.value&&(o.value=[i.value])},{immediate:!0}),e.watch(o,()=>{if(o.value[0]&&(i.value=o.value[0]),l.onlySearcher){if(!o.value.length||o.value.length===1&&!m.value.has(o.value[0])||o.value.length===1&&o.value[0]===h&&!l.autoRegion){let u=m.value.keys().next().value;u===h&&!l.autoRegion&&(u=void 0,i.value=h),u!==void 0?o.value=[u]:o.value.length=0;return}if(o.value.length>1&&JSON.stringify(o.value)!==JSON.stringify(c.regionsIndexes.value)){o.value=[...c.regionsIndexes.value];return}}else{let u=[...new Set(o.value)],s=m.value.values().next().value?.regionByIndex?.keys().next().value;if(l.forFrequency&&(s=m.value.values().next().value?.regionByIndex?.values().next().value?.key),s===h&&!l.autoRegion&&(s=void 0,i.value=h),!u.length)s!==void 0&&u.push(s);else if(u.length===1){let g=f.value;l.forFrequency&&(g=new Set,m.value.forEach(U=>{U.regionByIndex.forEach(N=>{N.index!==O&&N.index!==h&&g.add(N.key)})})),g.has(u[0])||(u=[],s!==void 0&&u.push(s))}else u=u.filter(g=>f.value.has(g)),!u.length&&s!==void 0&&u.push(s);if(JSON.stringify(o.value)!==JSON.stringify(u)){o.value=u;return}}if(!(o.value.length===1&&o.value[0]===(l.onlySearcher?n.searcherKey.value:r.regionIndex.value)))if(l.onlySearcher){if(o.value.length===1){n.searcherKey.value=o.value[0];return}n.searcherKey.value=w;return}else{if(!o.value.length)return;if(o.value.length===1&&n.searcherKey.value!==w){r.regionIndex.value=o.value[0];let u;for(const s of m.value.values()){for(const g of s.regionByIndex.values())if((l.forFrequency?g.key:g.index)===r.regionIndex.value){u=s.key;break}if(u!==void 0)break}u!==void 0&&(n.searcherKey.value=u)}else n.searcherKey.value=w,c.regionsIndexes.value=[...o.value]}},{immediate:!0}),a({getSearcher:k,getRegion:d}),(u,s)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass({"top-selectorRegion":!0,"top-selectorRegion-onlySearcher":t.onlySearcher})},[e.createVNode(y._sfc_main$10,{options:e.unref(n).optionBySearcherKey.value,modelValue:e.unref(n).searcherKey.value,"onUpdate:modelValue":s[0]||(s[0]=g=>e.unref(n).searcherKey.value=g),name:"searcher_key",addChanger:t.addChanger},null,8,["options","modelValue","addChanger"]),!t.onlySearcher&&e.unref(n).searcherKey.value!==e.unref(w)?(e.openBlock(),e.createBlock(y._sfc_main$10,{key:0,class:"top-select-region",options:e.unref(r).optionByRegionIndex.value,modelValue:e.unref(r).regionIndex.value,"onUpdate:modelValue":s[1]||(s[1]=g=>e.unref(r).regionIndex.value=g),name:t.forFrequency?"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(n).searcherKey.value===e.unref(w)?(e.openBlock(),e.createBlock(y._sfc_main$1,{key:1,name:"compare",onClick:v,"data-count-compare-regions-indexes":e.unref(c).regionsIndexes.value.length},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(u.$i18n.Common.Selected_regions),1)]),_:1},8,["data-count-compare-regions-indexes"])):e.createCommentVNode("",!0)],2))}}),M={id:0,name:"/",path:"/"};function Ve(t){return t?y.useI18n()?.Common.All_folders:"/ ("+y.useI18n()?.Keywords.Root_folder+")"}const Q=(t,a,l=new Map,o={id:"root"},i=0)=>(o.childsIds=[],o.id&&(o.countAllGroupsActive=o.count_groups_active),t[o.id]&&t[o.id].forEach(n=>{n={...n},o.childsIds.push(n.id),n.id===0&&(n.name=Ve(a));const r=i>1?"-".repeat(i-1)+" ":"";r&&!n.name.startsWith(r)&&(n.name=r+n.name),l.set(n.id,n),Q(t,a,l,n,i+1),o.childsIds=o.childsIds.concat(n.childsIds),o.id&&n.count_groups_active&&(o.countAllGroupsActive+=n.count_groups_active)}),l),Ae=(t,a)=>t.gen(`/get/${a}/folders/`,["id","parent_id","name","path"]).changeParams({orders:["ord_path"],limit:100});function X(t,a,l){const o=Object.keys(t),i=o.map(n=>t[n]);return e.watch(i,(n,r,c)=>{const m={};n.forEach((f,k)=>{if(!Object.is(f,r[k])){const d=o[k];m[d]={old:r[k],new:f}}}),Object.keys(m).length&&a(m,c)},l)}const Ee=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:M},folderModifiers:{}}),emits:["update:folderId","update:folder"],setup(t){const a=t,l=e.useModel(t,"folderId"),o=e.useModel(t,"folder"),i=a.client&&!a.folders?Ae(a.client,a.service):void 0,n=e.ref(null);e.watch(()=>a.projectId,()=>{i?.changeParams({project_id:a.projectId}),i?.setOptions({checkFingerprint:"TopGroupSelectorFolders:"+a.projectId}),n.value?.resetCache()},{immediate:!0});const r=e.computed(()=>Q(a.folders??{root:[M]},a.canSelectAll));return X({modelFolder:o,modelFolderId:l},async c=>{if(l.value===o.value.id)return;if(c.modelFolder&&!c.modelFolderId){l.value=o.value.id;return}let m=r.value.get(a.folderId);m||(m=M),o.value=m,l.value=m.id},{immediate:!0}),(c,m)=>(e.openBlock(),e.createBlock(C._sfc_main,{class:"top-groupSelector_folder",modelValue:o.value,"onUpdate:modelValue":m[0]||(m[0]=f=>o.value=f),items:t.folders?[...r.value.values()]:void 0,"search-type":"inline",icon:t.addIcon?"":void 0,api:t.folders?void 0:e.unref(i),apiSetSearchParams:(...f)=>e.unref(C.apiSetSearchParamsFilter)(...f,"name"),addChanger:t.addChanger,useCache:""},null,8,["modelValue","items","icon","api","apiSetSearchParams","addChanger"]))}}),j={id:-1,name:"--",folder_id:M.id,folder_path:M.path},D={id:C.ITEM_ID_ALL,name:"All groups",folder_id:M.id,folder_path:M.path},E=()=>(D.name=y.useI18n()?.Common.All_groups,D),ae=()=>(D.name=y.useI18n()?.Keywords.Choose_group,D),be=(t,a,l)=>(t=[...t],a!==void 0&&(t=t.filter(o=>o.on==Number(a))),l&&l.id&&l.childsIds&&(t=t.filter(o=>o.folder_id===l.id||l.childsIds.includes(o.folder_id))),t),re=(t,a)=>t.gen(`/get/${a}/groups/`,["id","name","folder_id","folder_path"]).changeParams({folder_id_depth:!0,limit:100}),$e=(t,a)=>t.gen(`/add/${a}/groups/`),Ne={class:"top-groupSelector_groupItem"},Ge={key:0,class:"top-comment"},Ke={key:1,class:"top-groupSelector_groupItemFolderPath"},Le=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:a}){const l=t,o=a,i=e.useModel(t,"groupId"),n=e.useModel(t,"group"),r=l.client&&!l.groups?re(l.client,l.service):void 0,c=l.client?$e(l.client,l.service):void 0,m=e.ref(null),f=e.ref(void 0),k=H.genFieldFilter("folder_id","EQUALS",[l.folder?.id??0]);r?.changeParams({project_id:l.projectId,folder_id_depth:!0,filters:[k]}),l.on!==void 0&&r?.params.filters?.push(H.genFieldFilter("on","EQUALS",[Number(l.on)]));const d=u=>{n.value=u,i.value=u.id};X({projectId:()=>l.projectId,folderId:()=>l.folder?.id,canSelectAll:()=>l.canSelectAll},u=>{if(u.projectId&&(r?.changeParams({project_id:l.projectId}),r?.setOptions({checkFingerprint:"TopGroupSelectorGroups:"+l.projectId})),u.folderId&&(k.values=[l.folder?.id??0],l.groups&&(f.value=be(l.groups,l.on,l.folder))),m.value?.resetCache(),(u.folderId?.old!==void 0||u.canSelectAll?.old!==void 0)&&i.value!==C.ITEM_ID_NEW){let s;l.autoselect==="first"&&(s=f.value?.[0],l.canSelectAll&&(s=e.reactive(E()))),(l.autoselect==="placeholder"||!s)&&(s=ae()),d(s)}},{immediate:!0}),X({modelGroup:n,modelGroupId:i},async u=>{if(i.value!==n.value.id){if(u.modelGroup&&!u.modelGroupId){i.value=n.value.id;return}if(!(l.canAdd&&i.value===C.ITEM_ID_NEW)){if(l.groups){let s=f.value?.find(g=>g.id===i.value);if(!s&&l.canSelectAll&&(s=E()),s)d(s);else{const g=f.value?.[0];g&&!i.value?d(g):d(j)}}if(l.client&&!l.groups&&(i.value||i.value===C.ITEM_ID_ALL&&!l.canSelectAll)){const s=re(l.client,l.service).changeParams({project_id:l.projectId,id:i.value,filters:[k]});s?.setOptions({checkFingerprint:"TopGroupSelectorFindGroup:"+l.projectId});const g=await s.call();if(!g.errors?.length&&!g.result)return;!g.errors&&g.result[0]?d(g.result[0]):d(j)}}}},{immediate:!0});const v=async u=>{if(l.canAdd!=="api"||!c)return;const s=n.value,g=await c.changeParams({project_id:l.projectId,names:[u.name],to_id:l.folder?.id??M.id,to_type:"in_folder_last"}).call();g.result?(d(g.result),o("addGroup",g.result)):d(s),m.value?.resetCache(!0)};return(u,s)=>(e.openBlock(),e.createBlock(C._sfc_main,{ref_key:"refSelector",ref:m,class:"top-groupSelector_group",modelValue:n.value,"onUpdate:modelValue":s[0]||(s[0]=g=>n.value=g),items:f.value??t.groups,searchType:"inline",icon:t.addIcon?"":void 0,api:t.groups?void 0:e.unref(r),apiSetSearchParams:(...g)=>e.unref(C.apiSetSearchParamsFilter)(...g,"name"),appendSearchToResult:!!t.canAdd,useAllItem:t.canSelectAll?e.unref(E)().name:!1,addChanger:t.addChanger,useCache:"",onAppendItem:v},{item:e.withCtx(({item:g})=>[e.createElementVNode("div",Ne,[g.id===e.unref(C.ITEM_ID_NEW)?(e.openBlock(),e.createElementBlock("div",Ge,e.toDisplayString(u.$i18n.Common.Add)+": ",1)):e.createCommentVNode("",!0),e.createElementVNode("span",null,e.toDisplayString(g.name),1),g.folder_path&&t.showPath?(e.openBlock(),e.createElementBlock("span",Ke,e.toDisplayString(g.folder_path),1)):e.createCommentVNode("",!0)])]),_:1},8,["modelValue","items","icon","api","apiSetSearchParams","appendSearchToResult","useAllItem","addChanger"]))}}),Oe={class:"top-groupSelector"},Re=e.defineComponent({__name:"groupSelector",props:e.mergeModels({folderId:{},folder:{},groupId:{},group:{},projectId:{},folders:{},groups:{},on:{type:Boolean,default:void 0},canSelectAllGroups:{type:Boolean},canAddGroup:{},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:j},groupModifiers:{}}),emits:e.mergeModels(["update:groups"],["update:folderId","update:folder","update:groupId","update:group"]),setup(t,{emit:a}){const l=t,o=e.useModel(t,"folderId"),i=e.useModel(t,"folder"),n=e.useModel(t,"groupId"),r=e.useModel(t,"group"),c=a,m=Q(l.folders??{root:[M]},l.canSelectAllGroups);i.value=m.get(o.value);let f=l.groups?.find(d=>d.id===n.value);n.value||(f=l.groups?.[0]),l.canSelectAllGroups&&!f&&(f=E()),l.canSelectAllGroups&&!f&&(f=E()),(l.autoselect==="placeholder"||!f)&&(f=ae()),f??=j,r.value=f;const k=d=>{let v;l.groups&&d&&(v=[...l.groups,d]),c("update:groups",v)};return(d,v)=>(e.openBlock(),e.createElementBlock("div",Oe,[t.showFolders?(e.openBlock(),e.createBlock(Ee,{key:0,folderId:o.value,"onUpdate:folderId":v[0]||(v[0]=u=>o.value=u),folder:i.value,"onUpdate:folder":v[1]||(v[1]=u=>i.value=u),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(Le,{key:1,groupId:n.value,"onUpdate:groupId":v[2]||(v[2]=u=>n.value=u),group:r.value,"onUpdate:group":v[3]||(v[3]=u=>r.value=u),projectId:t.projectId,folder:i.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:k},null,8,["groupId","group","projectId","folder","groups","on","canAdd","canSelectAll","autoselect","addChanger","showPath","addIcon","client","service"])):e.createCommentVNode("",!0)]))}}),ie=t=>"-"+t,b=t=>t[0]==="-"?t.substring(1):t,P=(t,a)=>{t=b(t);const l=a.find(o=>o.id===t);if(l)return l},je=(t,a,l)=>{a||(a={id:t.id}),a.id=t.id,a.pos??="3",a.notch??=!0,a.posBy??="fixed";const o=ge.TopPopupWorker.genElPopupOpener("div",a);return o.classList.add("top-tagSelector"),t.useTopButton&&o.classList.add("top-tagSelector-useTopButton","top-button","top-color_theme","top-as-selector"),t.useTopButton||o.classList.add("top-tagSelector-custom"),t.mode==="filter"&&o.classList.add("top-tagSelector-filter"),t.mode==="setter"&&!t.filters&&o.classList.add("top-tagSelector-setter_single"),t.mode==="setter"&&t.filters&&o.classList.add("top-tagSelector-setter_several"),o.onclick=i=>{i.preventDefault(),i.stopPropagation(),o.onclick=null;const n=e.ref(t.modelValue),r={model:n,mode:t.mode,targetId:t.targetId,filters:t.filters,payload:t.payload};A.storage(o,"topTagSelectorTarget",r),delete o.dataset.topPopupDisabled,e.isRef(t.modelValue)||e.watch(n,()=>{t.modelValue=n.value,F(o,t,l)}),o.click()},e.isRef(t.modelValue)?e.watch(t.modelValue,()=>F(o,t,l)):A.storage(o,"topTagSelectorRender",i=>{t.modelValue=i;const n=A.storage(o,"topTagSelectorTarget");n&&(n.model.value=i),F(o,t,l)}),F(o,t,l),o},De=(t,a)=>{A.storage(t,"topTagSelectorRender")?.(a)},F=(t,a,l)=>{const o=e.unref(a.modelValue);if(t.classList.toggle("top-tagSelector-selectedOne",!o.length||o.length===1),t.classList.toggle("top-tagSelector-toTwoLine",o.length>5),a.mode==="setter"&&a.filters){t.innerHTML=`<div>${l}</div>`;return}if(t.innerHTML="",!o.length&&a.mode==="filter"){const i=de({id:"all",colorId:"",name:y.useI18n().Common?.All_tags??"",state:""});t.append(i)}o.forEach(i=>{const n=de({id:b(i),colorId:P(i,a.tags)?.color_id??"",name:P(i,a.tags)?.name??"",state:b(i)===i?"selected":"excluded"});t.append(n)})},de=t=>{const a=document.createElement("div");return a.classList.add("top-tagSelector_tagIcon"),a.classList.toggle("top-tagSelector-active",!!t.state),a.classList.toggle("top-tagSelector-excluded",t.state==="excluded"),a.dataset.tag_id=t.id,a.dataset.tag_color_id=t.colorId,a.title=t.name,a},Pe=[{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"}],Fe=["data-tag_id","data-tag_color_id","title"],q=e.defineComponent({__name:"tagIcon",props:{id:{},colorId:{},name:{},state:{}},setup(t){return(a,l)=>(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,Fe))}}),qe=["contenteditable","onKeydown"],ue=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:a}){const l=t,o=a,i=e.useModel(t,"name"),n=e.ref(null),r=e.computed(()=>navigator.userAgent.indexOf("Firefox")!=-1?{contenteditable:c.value,onpaste:v=>v.preventDefault()}:{}),c=e.ref(!1),m=async()=>{c.value=!0,await e.nextTick(),n.value?.focus()},f=()=>{const v=n.value?.innerText;if(!v)return k();n.value&&(n.value.innerText=v),c.value=!1,o("update:name",v)},k=async()=>{n.value&&(n.value.innerText=l.name),c.value=!1},d=v=>{if(c.value||l.disabled)return;let u="selected";l.canExclude&&(v.ctrlKey||v.metaKey)&&(u="excluded"),l.state==u&&(u=""),u===""&&o("unselect"),u==="selected"&&o("select"),u==="excluded"&&o("exclude")};return(v,u)=>(e.openBlock(),e.createBlock(V._sfc_main$2,{class:e.normalizeClass({"top-tagSelector_tagListItem":!0,"top-tagSelector_tagListItem-inEdit":c.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(d,["stop"])},{default:e.withCtx(()=>[e.createVNode(q,{id:t.id,name:i.value,colorId:t.colorId,state:t.state},null,8,["id","name","colorId","state"]),e.createElementVNode("span",e.mergeProps({ref_key:"elName",ref:n,class:"top-tagSelector_tagListItemName",contenteditable:c.value?"plaintext-only":!1},r.value,{onKeydown:[e.withKeys(e.withModifiers(f,["stop"]),["enter"]),e.withKeys(e.withModifiers(k,["stop"]),["esc"])]}),e.toDisplayString(i.value),17,qe),t.editable?(e.openBlock(),e.createElementBlock(e.Fragment,{key:0},[c.value?(e.openBlock(),e.createElementBlock("span",{key:1,"data-top-icon":"",class:"top-tagSelector_edit",onClick:e.withModifiers(f,["stop"])})):(e.openBlock(),e.createElementBlock("span",{key:0,"data-top-icon":"",class:"top-tagSelector_edit",onClick:m}))],64)):e.createCommentVNode("",!0)]),_:1},8,["class"]))}}),Ue={key:1},ce=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 a=t,l=e.useModel(t,"modelValue"),o=a.useTopButton?y._sfc_main$1:"div",i=a.useTopButton?"html":"default",n={model:l,mode:a.mode,targetId:a.targetId,filters:a.filters,payload:a.payload};return(r,c)=>{const m=e.resolveDirective("top-data");return e.openBlock(),e.createBlock(V._sfc_main$1,{id:t.id},{default:e.withCtx(()=>[e.withDirectives((e.openBlock(),e.createBlock(e.resolveDynamicComponent(e.unref(o)),e.mergeProps({class:{"top-tagSelector":!0,"top-tagSelector-useTopButton":a.useTopButton,"top-tagSelector-custom":!a.useTopButton,"top-as-selector":a.useTopButton,"top-tagSelector-filter":a.mode==="filter","top-tagSelector-setter_single":a.mode==="setter"&&!t.filters,"top-tagSelector-setter_several":a.mode==="setter"&&t.filters,"top-tagSelector-selectedOne":!l.value.length||l.value.length===1,"top-tagSelector-toTwoLine":l.value.length>5},color:"theme",styling:t.styling},r.$attrs),{[e.unref(i)]:e.withCtx(()=>[!l.value.length&&t.mode==="filter"?(e.openBlock(),e.createBlock(q,{key:0,id:"all",colorId:"",name:r.$i18n.Common.All_tags??"",state:""},null,8,["name"])):e.createCommentVNode("",!0),t.mode==="setter"&&t.filters?(e.openBlock(),e.createElementBlock("div",Ue,[e.renderSlot(r.$slots,"default")])):(e.openBlock(!0),e.createElementBlock(e.Fragment,{key:2},e.renderList(l.value,f=>(e.openBlock(),e.createBlock(q,{id:e.unref(b)(f),colorId:e.unref(P)(f,t.tags)?.color_id??"",name:e.unref(P)(f,t.tags)?.name??"",state:e.unref(b)(f)===f?"selected":"excluded"},null,8,["id","colorId","name","state"]))),256))]),_:2},1040,["class","styling"])),[[m,n,"topTagSelectorTarget"]])]),_:3},8,["id"])}}}),ze=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(Pe)},tagsModifiers:{}}),emits:e.mergeModels(["selector","setter","tagsChanged"],["update:modelValue","update:tags"]),setup(t,{emit:a}){const l=y.useI18n(),o=t,i=e.useModel(t,"modelValue"),n=e.useModel(t,"tags"),r=a,c=y.debounce((p,I)=>{r(p,I)},o.emitDelay);o.singleMode&&!i.value.length&&(i.value=[n.value[0].id]);const m=o.id??"top-popup-id-"+Math.random(),f=e.ref("add"),k=()=>{const p=" "+l.Common.Tags?.toLowerCase(),I=new Map;return I.set("add",{value:"add",title:l.Common.Add+p}),I.set("replace",{value:"replace",title:l.Common.Replace+p}),I.set("delete",{value:"delete",title:l.Common.Delete+p}),I};let d=e.shallowRef({model:i,mode:"filter",targetId:void 0,filters:void 0,payload:void 0});e.watch(i,()=>{c("selector",i.value)});const v=e.computed(()=>{if(d.value.mode==="setter"&&o.maxTagsForSetter&&!d.value.filters)return d.value.model.value.length>=o.maxTagsForSetter}),u=p=>{if(p!=="all"){if(d.value.model.value.includes(p))return"selected";if(d.value.model.value.includes(ie(p)))return"excluded"}return p==="all"&&!d.value.model.value.length?"selected":""},s=(p,I)=>{const S=ie(p);let x=d.value.model.value.filter(T=>T!==p&&T!==S);I==="select"&&x.push(p),I==="exclude"&&x.push(S),d.value.mode==="setter"&&d.value.targetId!==void 0&&o.requiredForSetter&&(x.length||x.push("1"),x.length===2&&d.value.model.value.length===1&&d.value.model.value[0]==="1"&&(x=x.filter(T=>T!=="1"))),o.singleMode&&!d.value.filters&&(x.length||(x=d.value.model.value),x.length>1&&(x=[x[x.length-1]])),x.sort((T,z)=>{if(!o.tags)return 0;const G=o.tags.findIndex(L=>L.id===T),K=o.tags.findIndex(L=>L.id===z);return G-K}),d.value.model.value=x,d.value.mode==="setter"&&d.value.targetId!==void 0&&c("setter",{tagsIds:x,targetId:d.value.targetId,payload:d.value.payload})},g=e.computed(()=>{let p="top-tagSelector_popup";return d.value.mode==="filter"&&(p+=" top-tagSelector_popup-filter"),d.value.mode==="setter"&&(p+=" top-tagSelector_popup-setter"),p}),U=()=>{const p=prompt("","New tag");if(!p||p==="New tag")return;const I=n.value.length+1;n.value.push({id:String(I),name:p,color_id:String((I-1)%10+1)}),r("tagsChanged",n.value)},N=p=>{if(d.value=A.storage(p.elPopupOpener,"topTagSelectorTarget"),!d.value)throw new Error("Open popup TopTagSelector required v-data:topTagSelectorTarget");if(d.value.filters&&(f.value="add",d.value.model.value=[]),!y.Core.$?.ui.sortable){console.info("Для работы сортировки требуется глобальная загрузка jQuery UI Sortable");return}!y.Core.state.isMobile&&!y.Core.state.isMobileUA&&n.value&&$(p.elPopup).sortable({items:'li:has([data-tag_id]:not([data-tag_id="all"]))',cancel:'[contenteditable="plaintext-only"], [contenteditable="true"]',distance:10,stop:function(I,S){if(!n.value)return;const x=$(S.item).parent().find("[data-tag_id]"),T=[];x.each((z,G)=>{if(!n.value)return;const K=$(G).attr("data-tag_id");T.push(K)}),n.value.sort((z,G)=>{const K=T.findIndex(Z=>Z===z.id),L=T.findIndex(Z=>Z===G.id);return K-L}),c("tagsChanged",n.value)}})},We=p=>{y.Core.$?.ui.sortable&&$(p.elPopup).data("ui-sortable")&&$(p.elPopup).sortable("destroy")};return(p,I)=>(e.openBlock(),e.createElementBlock(e.Fragment,null,[e.createVNode(ce,{modelValue:i.value,"onUpdate:modelValue":I[0]||(I[0]=S=>i.value=S),id:e.unref(m),tags:n.value,styling:t.styling,mode:"filter",useTopButton:t.useTopButton},null,8,["modelValue","id","tags","styling","useTopButton"]),e.createVNode(V._sfc_main,{id:e.unref(m),class:e.normalizeClass(g.value),onOpen:I[4]||(I[4]=S=>N(S)),onClose:I[5]||(I[5]=S=>We(S)),"transition-duration":50},e.createSlots({contentList:e.withCtx(()=>[e.unref(d).mode==="filter"&&!t.singleMode?(e.openBlock(),e.createBlock(ue,{key:0,id:"all",colorId:"",name:p.$i18n.Common.All_tags??"",state:e.unref(d).model.value.length?"":"selected",onSelect:I[3]||(I[3]=S=>e.unref(d).model.value=[])},null,8,["name","state"])):e.createCommentVNode("",!0),(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(n.value,S=>(e.openBlock(),e.createBlock(ue,{key:S.id,id:S.id,colorId:S.color_id,name:S.name,state:u(S.id),canExclude:e.unref(d).mode==="filter"&&!t.singleMode,editable:t.tagsEditable,disabled:v.value&&u(S.id)==="",onUnselect:x=>s(S.id,"unselect"),onSelect:x=>s(S.id,"select"),onExclude:x=>s(S.id,"exclude"),"onUpdate:name":x=>{S.name=x,e.unref(c)("tagsChanged",n.value)}},null,8,["id","colorId","name","state","canExclude","editable","disabled","onUnselect","onSelect","onExclude","onUpdate:name"]))),128)),t.tagsEditable&&n.value.length<t.tagsMax&&n.value.length<20?(e.openBlock(),e.createBlock(V._sfc_main$2,{key:1,"data-top-icon":"",onClick:e.withModifiers(U,["stop"])},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(p.$i18n.Common.Add),1)]),_:1})):e.createCommentVNode("",!0)]),_:2},[e.unref(d).mode==="setter"&&e.unref(d).filters?{name:"header",fn:e.withCtx(()=>[e.createVNode(y._sfc_main$10,{modelValue:f.value,"onUpdate:modelValue":I[1]||(I[1]=S=>f.value=S),options:k()},null,8,["modelValue","options"])]),key:"0"}:void 0,e.unref(d).mode==="setter"&&e.unref(d).filters?{name:"footer",fn:e.withCtx(()=>[e.createVNode(y._sfc_main$1,{color:"theme"},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(p.$i18n.Common.Cancel),1)]),_:1}),e.createVNode(y._sfc_main$1,{onClick:I[2]||(I[2]=S=>e.unref(c)("setter",{tagsIds:e.unref(d).model.value,filters:e.unref(d).filters,filtersAction:f.value,payload:e.unref(d).payload}))},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(f.value==="add"?p.$i18n.Common.Add:"")+" "+e.toDisplayString(f.value==="replace"?p.$i18n.Common.Replace:"")+" "+e.toDisplayString(f.value==="delete"?p.$i18n.Common.Delete:""),1)]),_:1})]),key:"1"}:void 0]),1032,["id","class"])],64))}});B.TopCompetitorSelector=pe,B.TopGroupSelector=Re,B.TopRegionSelector=Me,B.TopTagSelector=ze,B.TopTagSelectorPopupOpener=ce,B.TopTagSelectorTagIcon=q,B.dialogRegionSelector=ne,B.findRegion=le,B.genElTopTagSelectorPopupOpener=je,B.genSearcherByKey=Y,B.renderElTopTagSelectorPopupOpener=De,B.useItemsFromCompetitors=he,Object.defineProperty(B,Symbol.toStringTag,{value:"Module"})}));
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
2
  //# sourceMappingURL=project.amd.js.map