@topvisor/ui 1.4.3-fixSelector2.0 → 1.4.3-fixTabsView.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 (104) hide show
  1. package/.chunks/{core-Baaq63Be.es.js → core-Dgj_YGWh.es.js} +94 -87
  2. package/.chunks/{core-Baaq63Be.es.js.map → core-Dgj_YGWh.es.js.map} +1 -1
  3. package/.chunks/{core-DCw0zLc3.amd.js → core-DzDFXOdI.amd.js} +2 -2
  4. package/.chunks/{core-DCw0zLc3.amd.js.map → core-DzDFXOdI.amd.js.map} +1 -1
  5. package/.chunks/{datepicker-DPgavbKe.es.js → datepicker-qToxk2nN.es.js} +2 -2
  6. package/.chunks/{datepicker-DPgavbKe.es.js.map → datepicker-qToxk2nN.es.js.map} +1 -1
  7. package/.chunks/{dialog_regionSelectorRegions-D7x41iZu.es.js → dialog_regionSelectorRegions-qDW2Ejsv.es.js} +5 -5
  8. package/.chunks/{dialog_regionSelectorRegions-D7x41iZu.es.js.map → dialog_regionSelectorRegions-qDW2Ejsv.es.js.map} +1 -1
  9. package/.chunks/{dialogs.vue_vue_type_script_setup_true_lang-D8WYUfXI.es.js → dialogs.vue_vue_type_script_setup_true_lang-CJ97l1ST.es.js} +3 -3
  10. package/.chunks/{dialogs.vue_vue_type_script_setup_true_lang-D8WYUfXI.es.js.map → dialogs.vue_vue_type_script_setup_true_lang-CJ97l1ST.es.js.map} +1 -1
  11. package/.chunks/{forms-BpbQYyEQ.es.js → forms-DtC-EKJL.es.js} +24 -24
  12. package/.chunks/{forms-BpbQYyEQ.es.js.map → forms-DtC-EKJL.es.js.map} +1 -1
  13. package/.chunks/lazy-DDNqYkXn.amd.js +2 -0
  14. package/.chunks/lazy-DDNqYkXn.amd.js.map +1 -0
  15. package/.chunks/{lazy-40pjr8cZ.es.js → lazy-HKSyLh72.es.js} +23 -19
  16. package/.chunks/lazy-HKSyLh72.es.js.map +1 -0
  17. package/.chunks/{notice-Ckc8r96E.es.js → notice-BvQl911b.es.js} +3 -3
  18. package/.chunks/{notice-Ckc8r96E.es.js.map → notice-BvQl911b.es.js.map} +1 -1
  19. package/.chunks/{page.vue_vue_type_script_setup_true_lang-D3_o-DIM.es.js → page.vue_vue_type_script_setup_true_lang-Dd5-B4Ss.es.js} +9 -9
  20. package/.chunks/{page.vue_vue_type_script_setup_true_lang-D3_o-DIM.es.js.map → page.vue_vue_type_script_setup_true_lang-Dd5-B4Ss.es.js.map} +1 -1
  21. package/.chunks/policy.vue_vue_type_style_index_0_lang-Bv3LwNDC.es.js +519 -0
  22. package/.chunks/policy.vue_vue_type_style_index_0_lang-Bv3LwNDC.es.js.map +1 -0
  23. package/.chunks/policy.vue_vue_type_style_index_0_lang-Da7rztT5.amd.js +2 -0
  24. package/.chunks/policy.vue_vue_type_style_index_0_lang-Da7rztT5.amd.js.map +1 -0
  25. package/.chunks/{popup-DpyyE2Cs.es.js → popup-OuDglAOF.es.js} +2 -2
  26. package/.chunks/{popup-DpyyE2Cs.es.js.map → popup-OuDglAOF.es.js.map} +1 -1
  27. package/.chunks/{popupHint.vue_vue_type_style_index_0_lang-CdQostog.amd.js → popupHint.vue_vue_type_style_index_0_lang-Bu_HvFoW.amd.js} +2 -2
  28. package/.chunks/{popupHint.vue_vue_type_style_index_0_lang-CdQostog.amd.js.map → popupHint.vue_vue_type_style_index_0_lang-Bu_HvFoW.amd.js.map} +1 -1
  29. package/.chunks/{popupHint.vue_vue_type_style_index_0_lang-if4Qli-k.es.js → popupHint.vue_vue_type_style_index_0_lang-DAQIAxvu.es.js} +5 -5
  30. package/.chunks/{popupHint.vue_vue_type_style_index_0_lang-if4Qli-k.es.js.map → popupHint.vue_vue_type_style_index_0_lang-DAQIAxvu.es.js.map} +1 -1
  31. package/.chunks/{utils-MzIaxkRQ.es.js → utils-BNzP9anP.es.js} +2 -2
  32. package/.chunks/{utils-MzIaxkRQ.es.js.map → utils-BNzP9anP.es.js.map} +1 -1
  33. package/.chunks/{utils-CyE38wuQ.es.js → utils-Dma85ehT.es.js} +3 -3
  34. package/.chunks/{utils-CyE38wuQ.es.js.map → utils-Dma85ehT.es.js.map} +1 -1
  35. package/.chunks/{widgetInput.vue_vue_type_script_setup_true_lang-Dy8jWadl.es.js → widgetInput.vue_vue_type_script_setup_true_lang-CX_BOcVY.es.js} +6 -6
  36. package/.chunks/{widgetInput.vue_vue_type_script_setup_true_lang-Dy8jWadl.es.js.map → widgetInput.vue_vue_type_script_setup_true_lang-CX_BOcVY.es.js.map} +1 -1
  37. package/api/index.amd.js +1 -1
  38. package/api/index.js +6 -6
  39. package/assets/policy.css +1 -1
  40. package/assets/project.css +1 -1
  41. package/assets/tabsView.css +1 -1
  42. package/charts/charts.js +14 -14
  43. package/core/app.amd.js +1 -1
  44. package/core/app.js +15 -15
  45. package/dialog/dialog.js +6 -6
  46. package/extra/extra.js +2 -2
  47. package/forms/forms.js +1 -1
  48. package/formsExt/formsExt.amd.js +1 -1
  49. package/formsExt/formsExt.js +21 -21
  50. package/icomoon/Topvisor icons.json +285 -229
  51. package/icomoon/demo.html +29 -1
  52. package/icomoon/fonts/Topvisor-2.eot +0 -0
  53. package/icomoon/fonts/Topvisor-2.svg +2 -0
  54. package/icomoon/fonts/Topvisor-2.ttf +0 -0
  55. package/icomoon/fonts/Topvisor-2.woff +0 -0
  56. package/icomoon/selection.json +1 -1
  57. package/icomoon/style.css +11 -5
  58. package/layout/layout.js +7 -7
  59. package/package.json +2 -2
  60. package/popup/popup.amd.js +1 -1
  61. package/popup/popup.js +9 -9
  62. package/popup/worker.js +2 -2
  63. package/project/project.amd.js +1 -1
  64. package/project/project.amd.js.map +1 -1
  65. package/project/project.js +1008 -629
  66. package/project/project.js.map +1 -1
  67. package/src/components/formsExt/selector2/composables/useMenu.d.ts +1 -1
  68. package/src/components/formsExt/selector2/selector2.vue.d.ts +2 -0
  69. package/src/components/formsExt/selector2/types.d.ts +35 -1
  70. package/src/components/formsExt/selector2/utils.d.ts +2 -0
  71. package/src/components/project/groupSelector/folders/utils.d.ts +6 -26
  72. package/src/components/project/groupSelector/groupSelector.vue.d.ts +1 -1
  73. package/src/components/project/groupSelector/groups/groups.vue.d.ts +13 -6
  74. package/src/components/project/groupSelector/groups/utils.d.ts +18 -53
  75. package/src/components/project/groupSelector/utils.d.ts +37 -0
  76. package/src/components/project/project.d.ts +2 -0
  77. package/src/components/project/projectSelector/cache.d.ts +29 -0
  78. package/src/components/project/projectSelector/projectSelector.vue.d.ts +128 -0
  79. package/src/components/project/projectSelector/submenu/submenu.vue.d.ts +4 -0
  80. package/src/components/project/projectSelector/submenu/types.d.ts +17 -0
  81. package/src/components/project/projectSelector/types.d.ts +48 -0
  82. package/src/components/project/projectSelector/utils.d.ts +240 -0
  83. package/src/components/tabsView/tabsView/menu.vue.d.ts +2 -6
  84. package/src/core/directives/tooltip.d.ts +2 -6
  85. package/tabs/tabs.js +5 -5
  86. package/tabsView/tabsView.amd.js +1 -1
  87. package/tabsView/tabsView.amd.js.map +1 -1
  88. package/tabsView/tabsView.js +93 -104
  89. package/tabsView/tabsView.js.map +1 -1
  90. package/utils/clipboard.js +1 -1
  91. package/utils/date.js +1 -1
  92. package/utils/device.js +1 -1
  93. package/utils/lodash.js +1 -1
  94. package/utils/price.js +1 -1
  95. package/utils/searchers.amd.js +1 -1
  96. package/utils/searchers.js +3 -3
  97. package/utils/string.js +1 -1
  98. package/.chunks/lazy-40pjr8cZ.es.js.map +0 -1
  99. package/.chunks/lazy-DSFLxvj4.amd.js +0 -2
  100. package/.chunks/lazy-DSFLxvj4.amd.js.map +0 -1
  101. package/.chunks/policy.vue_vue_type_style_index_0_lang-BDyhjT5Y.amd.js +0 -2
  102. package/.chunks/policy.vue_vue_type_style_index_0_lang-BDyhjT5Y.amd.js.map +0 -1
  103. package/.chunks/policy.vue_vue_type_style_index_0_lang-DVl9DBpl.es.js +0 -498
  104. package/.chunks/policy.vue_vue_type_style_index_0_lang-DVl9DBpl.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?4u73ki');
4
- src: url('fonts/Topvisor-2.eot?4u73ki#iefix') format('embedded-opentype'),
5
- url('fonts/Topvisor-2.ttf?4u73ki') format('truetype'),
6
- url('fonts/Topvisor-2.woff?4u73ki') format('woff'),
7
- url('fonts/Topvisor-2.svg?4u73ki#Topvisor-2') format('svg');
3
+ src: url('fonts/Topvisor-2.eot?hdob41');
4
+ src: url('fonts/Topvisor-2.eot?hdob41#iefix') format('embedded-opentype'),
5
+ url('fonts/Topvisor-2.ttf?hdob41') format('truetype'),
6
+ url('fonts/Topvisor-2.woff?hdob41') format('woff'),
7
+ url('fonts/Topvisor-2.svg?hdob41#Topvisor-2') format('svg');
8
8
  font-weight: normal;
9
9
  font-style: normal;
10
10
  font-display: block;
@@ -199,6 +199,12 @@
199
199
  .icon2-snapshot:before {
200
200
  content: "\e91b";
201
201
  }
202
+ .icon2-ai-overview-short:before {
203
+ content: "\ea1c";
204
+ }
205
+ .icon2-ai-overview-full:before {
206
+ content: "\ea1d";
207
+ }
202
208
  .icon2-plan:before {
203
209
  content: "\ea19";
204
210
  }
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-BpbQYyEQ.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-fixSelector2.0",
4
+ "version": "1.4.3-fixTabsView.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-CdQostog.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$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-if4Qli-k.es.js";
2
- import { b as G, a as J } from "../.chunks/popupHint.vue_vue_type_style_index_0_lang-if4Qli-k.es.js";
3
- import { _ as O } from "../.chunks/widgetInput.vue_vue_type_script_setup_true_lang-Dy8jWadl.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-BpbQYyEQ.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))
package/popup/worker.js CHANGED
@@ -1,4 +1,4 @@
1
- import { C as Core } from "../.chunks/forms-BpbQYyEQ.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-DpyyE2Cs.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-DDNzqU6o.amd","../.chunks/popupHint.vue_vue_type_style_index_0_lang-CdQostog.amd","../.chunks/policy.vue_vue_type_style_index_0_lang-BDyhjT5Y.amd","../.chunks/utils-CWn_G7OO.amd","../utils/searchers.amd","../.chunks/core-DCw0zLc3.amd","../.chunks/dialogs.vue_vue_type_script_setup_true_lang-BBix_8WK.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,Ye,Qe,Z,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}))),M=-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-CZ0tMVSq.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:M,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}},Me=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===M)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===M||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)}}},we=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}=Me(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===M&&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=M;return}else{if(!o.value.length)return;if(o.value.length===1&&n.searcherKey.value!==M){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=M,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(M)?(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(M)?(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))}}),w={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 H(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:w},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:[w]},a.canSelectAll));return H({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=w),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:w.id,folder_path:w.path},D={id:C.ITEM_ID_ALL,name:"All groups",folder_id:w.id,folder_path:w.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=["innerHTML"],Le={key:1,class:"top-groupSelector_groupItemFolderPath"},Oe=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=Z.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(Z.genFieldFilter("on","EQUALS",[Number(l.on)]));const d=u=>{n.value=u,i.value=u.id};H({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}),H({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??w.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",{innerHTML:g.name},null,8,Ke),g.folder_path&&t.showPath?(e.openBlock(),e.createElementBlock("span",Le,e.toDisplayString(g.folder_path),1)):e.createCommentVNode("",!0)])]),_:1},8,["modelValue","items","icon","api","apiSetSearchParams","appendSearchToResult","useAllItem","addChanger"]))}}),Re={class:"top-groupSelector"},je=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:[w]},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",Re,[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(Oe,{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},De=(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},Pe=(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},Fe=[{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"}],qe=["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,qe))}}),Ue=["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,Ue),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"]))}}),ze={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",ze,[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"])}}}),We=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(Fe)},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(X=>X===z.id),L=T.findIndex(X=>X===G.id);return K-L}),c("tagsChanged",n.value)}})},Je=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=>Je(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=je,B.TopRegionSelector=we,B.TopTagSelector=We,B.TopTagSelectorPopupOpener=ce,B.TopTagSelectorTagIcon=q,B.dialogRegionSelector=ne,B.findRegion=le,B.genElTopTagSelectorPopupOpener=De,B.genSearcherByKey=Y,B.renderElTopTagSelectorPopupOpener=Pe,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","../utils/keyboard.amd","../utils/dom.amd","../popup/worker.amd","../require/css.amd!../assets/project.css"],(function(Te,w,e,S,b,E,Ee,Z,At,Vt,P,je,Me,Ae,N,Ve){"use strict";if(typeof e>"u")var e=window.Vue;const $e={class:"top-competitorSelector"},Pe={class:"top-ellipsis1"},be=e.defineComponent({__name:"competitorSelector",props:e.mergeModels({modelValue:{},items:{},showSelectAllItem:{type:Boolean,default:!0}},{modelValue:{},modelModifiers:{}}),emits:["update:modelValue"],setup(t){const o=t,n=e.useModel(t,"modelValue"),a=e.computed(()=>{if(o.showSelectAllItem)return{icon:"",title:S.useI18n().Common.Select_all,value:"all",content:""}});return(r,l)=>(e.openBlock(),e.createElementBlock("div",$e,[e.unref(S.Core).state.isMobile?(e.openBlock(),e.createBlock(b._sfc_main,{key:0},{opener:e.withCtx(()=>[e.createVNode(S._sfc_main$1,{class:"top-competitorSelector_opener",color:"theme",icon:"",icon2:""},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(t.items.find(i=>i.value===n.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":n.value?.includes(i.value)}),"data-top-icon":i.icon,title:i.title,onClick:()=>n.value=[i.value]},{default:e.withCtx(()=>[e.createElementVNode("span",Pe,e.toDisplayString(i.content),1)]),_:2},1032,["class","data-top-icon","title","onClick"]))),256))]),_:1})):(e.openBlock(),e.createBlock(E._sfc_main,{key:1,modelValue:n.value,"onUpdate:modelValue":l[0]||(l[0]=i=>n.value=i),items:t.items,isMultiple:!0,styling:"bar",canBeEmptyMultiple:!1,selectAllItem:a.value},null,8,["modelValue","items","selectAllItem"]))]))}}),Ne=(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}))),A=-1,y=-2,K=-1,Le={0:"Yandex",1:"Google",4:"YouTube",5:"Bing",7:"Seznam",8:"AppStore",9:"GoogleStore",20:"Yandex.com",21:"Yandex.com.tr"},de={key:y,name:"--",index:y},ce={key:y,name:"--",regions:[de],regionByIndex:new Map([[y,de]])},O={key:y,name:"Autoselect",index:y},ee={key:y,name:"Autoselect",regions:[O],regionByIndex:new Map([[y,O]])},se={countryCode:"00",depth:1,device:0,key:K,index:K,lang:"ru",name:"Without region"},Ge=()=>(O.name=S.useI18n().Common.Autoselect,O),Re=()=>(Ge(),ee.name=S.useI18n().Common.Autoselect,console.log(ee),ee),De=()=>(se.name=S.useI18n().Keywords.Without_region,se),te=(t=!1,o=!1,n=[])=>{let a;return t?a=Fe(n):a=ue(n),o&&a.set(y,Re()),a.size||a.set(y,ce),a},ue=(t,o=!0,n=[],a=!1)=>{const r=new Map;return t.forEach(l=>{if(!l.enabled||a&&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 u={...d};i.regionByIndex.set(u.index,u)}),!i.regionByIndex.size&&n.length,(!l.regions||i.regionByIndex.size||n.length)&&r.set(i.key,i)}),n.forEach(l=>{if(r.has(l))return;const i={key:l,name:Le[l],regions:[],regionByIndex:new Map};r.set(i.key,i)}),r},Fe=t=>{const o=ue(t,!1,[0,1],!0);if(o.has(2)){const n=o.get(2);n&&(n.regionByIndex=new Map)}return o.forEach(n=>{if(!n.regionByIndex)return;const a={...De()};n.regionByIndex.set(a.index,a)}),o},me=(t,o,n=[])=>{const a=te(t,!1,n);let r;return a.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},fe=Ee.useAsyncTopDialog(()=>new Promise((t,o)=>Te(["../.chunks/dialog_regionSelectorRegions-CZ0tMVSq.amd"],t,o))),Ke=(t,o)=>{const n=S.useI18n(),a=e.ref(o.value.keys().next().value??y),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(y)){const i={value:"",title:"--------------------",disabled:!0};l.set(i.value,i);const d={value:A,title:n.Common.Compare};l.set(d.value,d)}return l});return{searcherKey:a,optionBySearcherKey:r}},Oe=(t,o)=>{const n=S.useI18n(),a=e.ref(y);t.modelValue.length===1&&(a.value=t.modelValue[0]),a.value===y&&(t.forFrequency?a.value=o.value?.regionByIndex.values().next().value?.key??y:a.value=o.value?.regionByIndex.keys().next().value??y);const r=e.computed(()=>{const l=new Map;return o.value.regionByIndex?.forEach(i=>{let d=i.name;if(t.forFrequency){const k={value:i.key,title:d};l.has(i.key)||l.set(i.key,k);return}i.device&&(d+=" ("+n.Common["Device_"+i.device]+")");const u=Z.getLangLabel(o.value.key||0,i.lang??"");u&&(d+=" / "+u);const g={value:i.index,title:d,icon:i.device?Z.getDeviceGIcon(i.device):void 0};l.set(i.index,g)}),l});return e.watch(r,(l,i)=>{if(t.onlySearcher||a.value!==void 0&&l.get(a.value))return;let d=l.keys().next().value;if(a.value===y||d===y){a.value=d;return}let u=i?.get(a.value)?.title||"",g=-1;for(const[k,c]of l.entries()){const f=c.title;if(typeof f!="string"||typeof k=="string")break;if(f===u){d=k;break}const s=new RegExp(` \\((${n.Common.Device_1}|${n.Common.Device_2})\\)`);let m=u,p=3;f.indexOf(m)===-1&&(m=u.replace(/^[^a-zа-я]/i,"").replace(s,""),p--),f.indexOf(m)===-1&&(m=u.replace(/ \/.*/,""),p--),f.indexOf(m)===-1&&(m=u.replace(/ \/.*/,""),m=m.replace(/^[^a-zа-я]/i,"").replace(s,""),p--),f.indexOf(m)!==-1&&(p<=g||(g=p,d=k))}a.value=d}),{regionIndex:a,optionByRegionIndex:r}},Ue=(t,o,n)=>{const a=e.ref([]),r=()=>{if(t.onlySearcher&&o.value){a.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=>n.value.has(d))),i.length||(i=Array.from(n.value)),a.value=[...i]},l=()=>{a.value.length?localStorage.setItem("ui:project:regionSelector:"+t.projectId+":regionsIndexes",JSON.stringify(a.value)):localStorage.removeItem("ui:project:regionSelector:"+t.projectId+":regionsIndexes")};return e.watch(a,()=>{l()}),t.addCompare&&r(),{regionsIndexes:a}},qe=t=>{const o=e.computed(()=>te(t.forFrequency,t.autoRegion,t.searchers)),n=e.computed(()=>o.value.get(r.searcherKey.value)||ce),a=e.computed(()=>{const c=new Set;return o.value.forEach(f=>{f.regionByIndex.forEach(s=>{s.index!==K&&s.index!==y&&c.add(s.index)})}),c}),r=Ke(t,o),l=Oe(t,n),i=Ue(t,o,a);e.watch(o,()=>{if(t.onlySearcher?i.regionsIndexes.value=Array.from(o.value.keys()):i.regionsIndexes.value=i.regionsIndexes.value.filter(f=>a.value.has(f)),r.searcherKey.value===A)return;let c=o.value.keys().next().value;o.value.forEach(f=>{if(t.onlySearcher&&f.key===r.searcherKey.value){c=r.searcherKey.value;return}if(l.regionIndex.value&&f.regionByIndex?.has(l.regionIndex.value)&&(c=f.key),!t.onlySearcher){let s;c!==void 0&&(s=o.value.get(c)?.regionByIndex);const m=o.value.get(f.key)?.regionByIndex;s?.has(y)&&!m?.has(y)&&(c=f.key)}}),c!==void 0&&(r.searcherKey.value=c),l.regionIndex.value!==void 0&&!n.value?.regionByIndex?.has(l.regionIndex.value)&&(l.regionIndex.value=n.value?.regions?.keys().next().value)},{immediate:!0});const d=()=>{if(!(r.searcherKey.value===A||r.searcherKey.value===y))return r.searcherKey.value},u=()=>{if(t.onlySearcher||l.regionIndex.value===y)return;let c=l.regionIndex.value;if(t.forFrequency){const f=l.regionIndex.value;c=me(t.forFrequency,{searcher_key:d(),key:f},t.searchers)?.index}return c},g=()=>{const c=d();if(c!==void 0)return o.value.get(c)};return{selectSearcher:r,selectRegion:l,compare:i,searcherByKey:o,allRegionsIndexes:a,getSearcher:g,getRegion:()=>{const c=u();if(c!==void 0)return g()?.regionByIndex?.get(c)}}},We=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:o}){const n=t,a=e.useModel(t,"modelValue"),r=e.useModel(t,"modelValueSingle"),{selectSearcher:l,selectRegion:i,compare:d,searcherByKey:u,allRegionsIndexes:g,getSearcher:k,getRegion:c}=qe(n),f=()=>{const s=[];u.value.forEach(m=>{m.enabled&&m.regions.forEach(p=>{p.enabled&&s.push(p)})}),fe.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===A&&d.regionsIndexes.value.length){if(JSON.stringify(a.value)===JSON.stringify(d.regionsIndexes.value))return;a.value=[...d.regionsIndexes.value]}else n.onlySearcher?(a.value=[l.searcherKey.value],l.searcherKey.value===y&&!n.autoRegion&&(a.value.length=0)):(a.value=[i.regionIndex.value],i.regionIndex.value===y&&!n.autoRegion&&(a.value.length=0));!n.onlySearcher&&!g.value.size&&(l.searcherKey.value=y)}),r.value&&e.watch(r,()=>{r.value&&(a.value=[r.value])},{immediate:!0}),e.watch(a,()=>{if(a.value[0]&&(r.value=a.value[0]),n.onlySearcher){if(!a.value.length||a.value.length===1&&!u.value.has(a.value[0])||a.value.length===1&&a.value[0]===y&&!n.autoRegion){let s=u.value.keys().next().value;s===y&&!n.autoRegion&&(s=void 0,r.value=y),s!==void 0?a.value=[s]:a.value.length=0;return}if(a.value.length>1&&JSON.stringify(a.value)!==JSON.stringify(d.regionsIndexes.value)){a.value=[...d.regionsIndexes.value];return}}else{let s=[...new Set(a.value)],m=u.value.values().next().value?.regionByIndex?.keys().next().value;if(n.forFrequency&&(m=u.value.values().next().value?.regionByIndex?.values().next().value?.key),m===y&&!n.autoRegion&&(m=void 0,r.value=y),!s.length)m!==void 0&&s.push(m);else if(s.length===1){let p=g.value;n.forFrequency&&(p=new Set,u.value.forEach(I=>{I.regionByIndex.forEach(C=>{C.index!==K&&C.index!==y&&p.add(C.key)})})),p.has(s[0])||(s=[],m!==void 0&&s.push(m))}else s=s.filter(p=>g.value.has(p)),!s.length&&m!==void 0&&s.push(m);if(JSON.stringify(a.value)!==JSON.stringify(s)){a.value=s;return}}if(!(a.value.length===1&&a.value[0]===(n.onlySearcher?l.searcherKey.value:i.regionIndex.value)))if(n.onlySearcher){if(a.value.length===1){l.searcherKey.value=a.value[0];return}l.searcherKey.value=A;return}else{if(!a.value.length)return;if(a.value.length===1&&l.searcherKey.value!==A){i.regionIndex.value=a.value[0];let s;for(const m of u.value.values()){for(const p of m.regionByIndex.values())if((n.forFrequency?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=A,d.regionsIndexes.value=[...a.value]}},{immediate:!0}),o({getSearcher:k,getRegion:c}),(s,m)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass({"top-selectorRegion":!0,"top-selectorRegion-onlySearcher":t.onlySearcher})},[e.createVNode(S._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(A)?(e.openBlock(),e.createBlock(S._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.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(l).searcherKey.value===e.unref(A)?(e.openBlock(),e.createBlock(S._sfc_main$1,{key:1,name:"compare",onClick:f,"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)}),q=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},V={id:0,name:"/",path:"/"};function ze(t){return t?S.useI18n()?.Common.All_folders:"/ ("+S.useI18n()?.Keywords.Root_folder+")"}const ne=(t,o,n=new Map,a={id:"root"},r=0)=>(a.childsIds=[],a.id&&(a.countAllGroupsActive=a.count_groups_active),t[a.id]&&t[a.id].forEach(l=>{l={...l},a.childsIds.push(l.id),l.id===0&&(l.name=ze(o));const i=r>1?"-".repeat(r-1)+" ":"";i&&!l.name.startsWith(i)&&(l.name=i+l.name),n.set(l.id,l),ne(t,o,n,l,r+1),a.childsIds=a.childsIds.concat(l.childsIds),a.id&&l.count_groups_active&&(a.countAllGroupsActive+=l.count_groups_active)}),n),Je=(t,o)=>{const n=t.gen(`/get/${o}/folders/`,["id","parent_id","name","path"]).changeParams({orders:["ord_path"],limit:100});return n.options.onApiLoaded=(a,r,l)=>{a.result&&(a.result=a.result.map(i=>oe(i))),l?.(a,r)},n};function ae(t,o,n){const a=Object.keys(t),r=a.map(l=>t[l]);return e.watch(r,(l,i,d)=>{const u={};l.forEach((g,k)=>{if(!Object.is(g,i[k])){const c=a[k];u[c]={old:i[k],new:g}}}),Object.keys(u).length&&o(u,d)},n)}const He=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:V},folderModifiers:{}}),emits:["update:folderId","update:folder"],setup(t){const o=t,n=e.useModel(t,"folderId"),a=e.useModel(t,"folder"),r=o.client&&!o.folders&&o.service?Je(o.client,o.service):void 0,l=e.ref(null),i=e.computed(()=>{const d=ne(o.folders??{root:[V]},o.canSelectAll),u=new Map;return d.forEach((g,k)=>{u.set(k,oe(g))}),u});return e.watch(()=>o.projectId,()=>{r?.changeParams({project_id:o.projectId}),r?.setOptions({checkFingerprint:"TopGroupSelectorFolders:"+o.projectId}),l.value?.resetCache()},{immediate:!0}),ae({modelFolder:a,modelFolderId:n},async d=>{if(n.value===a.value.id)return;if(d.modelFolder&&!d.modelFolderId){n.value=a.value.id;return}let u=i.value.get(o.folderId);u||(u=V),a.value=u,n.value=u.id},{immediate:!0}),(d,u)=>(e.openBlock(),e.createBlock(E._sfc_main$1,{class:"top-groupSelector_folder",modelValue:a.value,"onUpdate:modelValue":u[0]||(u[0]=g=>a.value=g),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:(...g)=>e.unref(E.apiSetSearchParamsFilter)(...g,"name"),addChanger:t.addChanger,useCache:""},null,8,["modelValue","items","icon","api","apiSetSearchParams","addChanger"]))}}),W={id:-1,name:"--",folder_id:V.id,folder_path:V.path},z={id:E.ITEM_ID_ALL,name:"All groups",folder_id:V.id,folder_path:V.path},J=()=>(z.name=S.useI18n()?.Common.All_groups,z),ge=()=>(z.name=S.useI18n()?.Keywords.Choose_group,z),Ye=(t,o,n)=>(t=[...t],o!==void 0&&(t=t.filter(a=>a.on==Number(o))),n&&n.id&&n.childsIds&&(t=t.filter(a=>a.folder_id===n.id||n.childsIds.includes(a.folder_id))),t),pe=(t,o)=>{const n=t.gen(`/get/${o}/groups/`,["id","name","folder_id","folder_path"]).changeParams({folder_id_depth:!0,limit:100});return n.options.onApiLoaded=(a,r,l)=>{a.result&&(a.result=a.result.map(i=>q(i))),l?.(a,r)},n},Qe=(t,o)=>t.gen(`/add/${o}/groups/`),_e={class:"top-groupSelector_groupItem"},Xe={key:0,class:"top-comment"},Ze={key:1,class:"top-groupSelector_groupItemFolderPath"},et=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 n=t,a=o,r=e.useModel(t,"groupId"),l=e.useModel(t,"group"),i=n.client&&!n.groups&&n.service?pe(n.client,n.service):void 0,d=n.client&&n.service?Qe(n.client,n.service):void 0,u=e.ref(null),g=e.ref(void 0),k=P.genFieldFilter("folder_id","EQUALS",[n.folder?.id??0]);i?.changeParams({project_id:n.projectId,folder_id_depth:!0,filters:[k]}),n.on!==void 0&&i?.params.filters?.push(P.genFieldFilter("on","EQUALS",[Number(n.on)]));const c=e.computed(()=>{const m=g.value??n.groups;if(m)return m.map(p=>q(p))}),f=m=>{const p=q(m);l.value=p,r.value=p.id};ae({projectId:()=>n.projectId,folderId:()=>n.folder?.id,canSelectAll:()=>n.canSelectAll},m=>{if(m.projectId&&(i?.changeParams({project_id:n.projectId}),i?.setOptions({checkFingerprint:"TopGroupSelectorGroups:"+n.projectId})),m.folderId&&(k.values=[n.folder?.id??0],n.groups&&(g.value=Ye(n.groups,n.on,n.folder))),u.value?.resetCache(),(m.folderId?.old!==void 0||m.canSelectAll?.old!==void 0)&&r.value!==E.ITEM_ID_NEW){let p;n.autoselect==="first"&&(p=g.value?.[0],n.canSelectAll&&(p=e.reactive(J()))),(n.autoselect==="placeholder"||!p)&&(p=ge()),f(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(!(n.canAdd&&r.value===E.ITEM_ID_NEW)){if(n.groups){let p=g.value?.find(I=>I.id===r.value);if(!p&&n.canSelectAll&&(p=J()),p)f(p);else{const I=g.value?.[0];I&&!r.value?f(I):f(W)}}if(n.client&&!n.groups&&n.service&&(r.value||r.value===E.ITEM_ID_ALL&&!n.canSelectAll)){const p=pe(n.client,n.service).changeParams({project_id:n.projectId,id:r.value,filters:[k]});p?.setOptions({checkFingerprint:"TopGroupSelectorFindGroup:"+n.projectId});const I=await p.call();if(!I.errors?.length&&!I.result)return;!I.errors&&I.result[0]?f(I.result[0]):f(W)}}}},{immediate:!0});const s=async m=>{if(n.canAdd!=="api"||!d)return;const p=l.value,I=await d.changeParams({project_id:n.projectId,names:[m.name],to_id:n.folder?.id??V.id,to_type:"in_folder_last"}).call();I.result?(f(I.result),a("addGroup",I.result)):f(p),u.value?.resetCache(!0)};return(m,p)=>(e.openBlock(),e.createBlock(E._sfc_main$1,{ref_key:"refSelector",ref:u,class:"top-groupSelector_group",modelValue:l.value,"onUpdate:modelValue":p[0]||(p[0]=I=>l.value=I),items:c.value,searchType:"inline",icon:t.addIcon?"":void 0,api:t.groups?void 0:e.unref(i),apiSetSearchParams:(...I)=>e.unref(E.apiSetSearchParamsFilter)(...I,"name"),appendSearchToResult:!!t.canAdd,useAllItem:t.canSelectAll?e.unref(J)().name:!1,addChanger:t.addChanger,useCache:"",onAppendItem:s},{item:e.withCtx(({item:I})=>[e.createElementVNode("div",_e,[I.id===e.unref(E.ITEM_ID_NEW)?(e.openBlock(),e.createElementBlock("div",Xe,e.toDisplayString(m.$i18n.Common.Add)+": ",1)):e.createCommentVNode("",!0),e.createElementVNode("span",null,e.toDisplayString(I.name),1),I.folder_path&&t.showPath?(e.openBlock(),e.createElementBlock("span",Ze,e.toDisplayString(I.folder_path),1)):e.createCommentVNode("",!0)])]),_:1},8,["modelValue","items","icon","api","apiSetSearchParams","appendSearchToResult","useAllItem","addChanger"]))}}),tt={class:"top-groupSelector"},ot=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:W},groupModifiers:{}}),emits:e.mergeModels(["update:groups"],["update:folderId","update:folder","update:groupId","update:group"]),setup(t,{emit:o}){const n=t,a=e.useModel(t,"folderId"),r=e.useModel(t,"folder"),l=e.useModel(t,"groupId"),i=e.useModel(t,"group"),d=o,u=ne(n.folders??{root:[V]},n.canSelectAllGroups);r.value=u.get(a.value),r.value&&(r.value=oe(r.value));let g=n.groups?.find(c=>c.id===l.value);l.value||(g=n.groups?.[0]),n.canSelectAllGroups&&!g&&(g=J()),(n.autoselect==="placeholder"||!g)&&(g=ge()),g??=W,i.value=g,i.value=q(i.value);const k=c=>{let f;n.groups&&c&&(f=[...n.groups,c]),d("update:groups",f)};return(c,f)=>(e.openBlock(),e.createElementBlock("div",tt,[t.showFolders?(e.openBlock(),e.createBlock(He,{key:0,folderId:a.value,"onUpdate:folderId":f[0]||(f[0]=s=>a.value=s),folder:r.value,"onUpdate:folder":f[1]||(f[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(et,{key:1,groupId:l.value,"onUpdate:groupId":f[2]||(f[2]=s=>l.value=s),group:i.value,"onUpdate:group":f[3]||(f[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:k},null,8,["groupId","group","projectId","folder","groups","on","canAdd","canSelectAll","autoselect","addChanger","showPath","addIcon","client","service"])):e.createCommentVNode("",!0)]))}}),nt={class:"top-projectSelectorSubmenu_item"},at=["href","title","data-top-icon","data-right"],lt={class:"top-projectSelectorSubmenu_item"},rt=["href"],it=e.defineComponent({__name:"submenu",props:{id:{},right:{},url:{}},setup(t){const o=t,n=S.useI18n(),a=[{href:`/project/keywords/${o.id}/`,title:n.Common.Menu_phrases,icon:"",right:"2"},{href:`/project/dynamics/${o.id}/`,title:n.Common.Menu_dynamics,icon:"",right:"1"},{href:`/project/snapshots/${o.id}/`,title:n.Common.Menu_snapshots,icon:"",right:"1"},{href:`/project/competitors/${o.id}/`,title:n.Common.Menu_competitors,icon:"",right:"1"},{href:`/project/analytics/${o.id}/`,title:n.Common.Menu_analytics,icon:"",right:"5"},{href:`/project/broker/${o.id}/`,title:n.Common.Menu_broker,icon:"",right:"6"},{href:`/project/audit/${o.id}/sitemap/`,title:n.Audit.Sitemap_gen,icon:"",right:"8"},{href:`/project/audit/${o.id}/audit/`,title:n.Common.Menu_audit,icon:"",right:"8"},{href:`/project/audit/${o.id}/indexing/`,title:n.Audit.Indexing,icon:"",right:"8"},{href:`/project/audit/${o.id}/watcher/`,title:n.Audit.Watcher,icon:"",right:"9"},{href:`/project/settings/${o.id}/`,title:n.Common.Menu_settings,icon:"",right:"2"}],r=e.computed(()=>o.right.includes("0")?a.filter(l=>o.right[l.right]==="1"):a);return(l,i)=>{const d=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(d,{class:"top-projectSelectorSubmenu_opener","data-top-icon":"",color:"theme"})]),contentList:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(r.value,u=>(e.openBlock(),e.createElementBlock("li",nt,[e.createElementVNode("a",{href:u.href,title:u.title,"data-top-icon":u.icon,"data-right":u.right},null,8,at)]))),256)),e.createElementVNode("li",lt,[e.createElementVNode("a",{href:t.url,"data-top-icon":"",target:"_blank"},null,8,rt)])]),_:1})}}}),le=t=>({id:null,name:t,listItemProps:{type:"title"}}),re={scheduledUpdate:!1,manualUpdate:!1,guestProjects:!1},dt=(t,o)=>{const n=[],a={scheduledUpdate:le(S.useI18n().Projects.Scheduled_update),manualUpdate:le(S.useI18n().Projects.Manual_update),guestProjects:le(S.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&&(n.push(a.scheduledUpdate),r.scheduledUpdate=!0),!r.manualUpdate&&l.right?.startsWith("1")&&l.on===0&&(n.push(a.manualUpdate),r.manualUpdate=!0),!r.guestProjects&&l.right?.startsWith("0")&&l.on>=0&&(n.push(a.guestProjects),r.guestProjects=!0),n.push(l);return n},ct=t=>t.map(o=>({...o,listItemProps:{attrs:{title:o.name}}})),st=(t,o,n)=>{if(!t||t.length===0)return[];o&&Object.keys(re).forEach(r=>re[r]=!1);const a=ct(t);return dt(a,n)},ut=t=>{if(!t)return"";let o=t;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:\{[^}]*},/,"")),o},mt=t=>{const o=location.pathname.split("/");let n="project/dynamics/",a="";o[1]=="project"&&(n=o[1]+"/"+o[2]+"/"),["watcher","indexing","sitemap","audit","direct","adwords"].includes(o[4])&&(a=o[4]+"/");let r="/"+n+t+"/"+a;const l=ut(location.hash);return r+=l,r},ve=t=>{let o=t.startsWith("http")?t:"http://"+t;return o=o.replace(/"/g,"%22"),o},ft=(t,o)=>{let n=t.params.filters??[];n=n.filter(i=>i.name!=="GEN_SEARCH_STRING()");const a=Ae.invertKeyboardLayout(o),r=o.replace(/([[^$.|?*+()])/g,"\\$1"),l=a.replace(/([[^$.|?*+()])/g,"\\$1");o&&n.push(P.genFieldFilter("GEN_SEARCH_STRING()","REGEXP",[`(${r}|${l})`])),t.changeParams({filters:n})},he=(t,o,n)=>{const a=t.gen("/get/projects_2/projects/",["id","user_id","name","url","on","right"]);return a.params={...n,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")]},a.options.onApiLoaded=(r,l,i)=>{const d=l.data.filters.length===1&&l.data.offset===0||l.data.limit===1e3,u=l.data.limit===100&&l.data.filters.length>1?!0:void 0;r.result=st(r.result,d,u),i?.(r,l)},a},gt=t=>t.gen("/add/projects_2/projects/"),H="ui_project_selector_total:",pt=1440*60*1e3,T=e.shallowRef(),ye=e.ref(0),L=e.ref(null),Se=(t,o)=>{localStorage.setItem(H+t,JSON.stringify({projectsTotal:o,expiresAt:Date.now()+pt}))},vt=t=>{const o=localStorage.getItem(H+t);if(!o)return;const{projectsTotal:n,expiresAt:a}=JSON.parse(o);if(Date.now()>a){localStorage.removeItem(H+t);return}return n},Ie=(t,o=!0)=>{T.value=void 0,localStorage.removeItem(H+t),o&&ye.value++},ht={class:"top-projectSelector_item"},yt={class:"top-projectSelector_itemText"},St={class:"top-comment"},It={key:0,class:"top-comment"},kt=["href"],ke=1e3,Ct=e.defineComponent({__name:"projectSelector",props:e.mergeModels({client:{},project:{},addLinksToProjects:{type:Boolean,default:!0},excludeProjectId:{},modificator:{},placeholder:{},buttonProps:{},openerShortcut:{}},{project:{default:{id:null,name:""}},projectModifiers:{}}),emits:["update:project"],setup(t){const o=S.useI18n();if(!window.mo?.user?.id)throw new Error("TopProjectSelector: не удалось определить userId. Компонент требует авторизованного пользователя (см. window.mo.user.id)");const n=window.mo.user.id,a=t,r=e.useModel(t,"project"),l=he(a.client,n),i=gt(a.client),d=e.ref(vt(n)),u=e.ref(null),g=e.computed(()=>a.placeholder??o.Projects.Select_project),k=e.computed(()=>!T.value||!a.excludeProjectId?T.value:T.value.filter(C=>C.id!==a.excludeProjectId)),c=e.computed(()=>{if(!(!d.value&&d.value!==0))return d.value<ke?"static":"api"});e.watch(ye,()=>{p()});const f=async()=>{if(!L.value){const j=he(a.client,n,{limit:ke});L.value=j.call()}const C=await L.value;if(C.errors){L.value=null;return}return L.value=null,C},s=async()=>{if(d.value)return;const C=await f();C&&(d.value=C.total,c.value==="static"&&!T.value&&(T.value=C.result),d.value&&Se(n,d.value))},m=async C=>{const j=await i.changeParams({url:C.name,name:C.name}).call();if(!j.errors){if(T.value&&c.value==="static"){const h={id:Number(j.result),user_id:n,name:C.name,url:C.name,on:0,right:"11111111111111111111",listItemProps:{attrs:{title:C.name}}},v=T.value.findIndex(B=>B.on===0);T.value=[...T.value.slice(0,v),h,...T.value.slice(v)],d.value&&(d.value+=1,Se(n,d.value))}c.value==="api"&&Ie(n)}},p=()=>{c.value==="api"&&u.value?.resetCache(!0)},I=async()=>{if(T.value||c.value!=="static")return;const C=await f();C&&(T.value=C.result)};return e.onMounted(async()=>{await s()}),(C,j)=>{const h=e.resolveComponent("TopButton");return e.openBlock(),e.createBlock(E._sfc_main$1,{ref_key:"refSelector",ref:u,class:"top-projectSelector",modelValue:r.value,"onUpdate:modelValue":j[1]||(j[1]=v=>r.value=v),items:k.value,title:C.$i18n.Projects.Search_projects,modificator:t.modificator,searchFields:["id","name","url"],placeholder:g.value,hasCloserBtn:"",api:c.value==="api"?e.unref(l):void 0,apiSetSearchParams:c.value==="api"?(...v)=>e.unref(ft)(...v):void 0,useCache:"",appendSearchToResult:"",appendSearchAllowDuplicate:"",appendSearchToResultCond:e.unref(je.validUrl),appendWithoutSelect:"",buttonProps:t.buttonProps,openerShortcut:t.openerShortcut,onAppendItem:m,onOpen:I},{item:e.withCtx(({item:v})=>[e.createElementVNode("div",ht,[e.createElementVNode("div",yt,[v.id?(e.openBlock(),e.createElementBlock(e.Fragment,{key:0},[e.createTextVNode(e.toDisplayString(e.unref(Me.ellipsis)(v.name,20))+" ",1),e.createElementVNode("span",St," 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",It,e.toDisplayString(C.$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(mt)(v.id)},null,8,kt)):e.createCommentVNode("",!0),C.$core.state.isMobile?e.createCommentVNode("",!0):(e.openBlock(),e.createBlock(h,{key:1,class:"top-projectSelector_itemExtLink",href:e.unref(ve)(v.url),"data-top-icon":"",color:"theme",target:"_blank",onClick:j[0]||(j[0]=e.withModifiers(()=>{},["stop"]))},null,8,["href"])),e.createVNode(it,{id:v.id,right:v.right??void 0,url:e.unref(ve)(v.url)},null,8,["id","right","url"])],64)):e.createCommentVNode("",!0)])]),_:1},8,["modelValue","items","title","modificator","placeholder","api","apiSetSearchParams","appendSearchToResultCond","buttonProps","openerShortcut"])}}}),Ce=t=>"-"+t,G=t=>t[0]==="-"?t.substring(1):t,Y=(t,o)=>{t=G(t);const n=o.find(a=>a.id===t);if(n)return n},Bt=(t,o,n)=>{o||(o={id:t.id}),o.id=t.id,o.pos??="3",o.notch??=!0,o.posBy??="fixed";const a=Ve.TopPopupWorker.genElPopupOpener("div",o);return a.classList.add("top-tagSelector"),t.useTopButton&&a.classList.add("top-tagSelector-useTopButton","top-button","top-color_theme","top-as-selector"),t.useTopButton||a.classList.add("top-tagSelector-custom"),t.mode==="filter"&&a.classList.add("top-tagSelector-filter"),t.mode==="setter"&&!t.filters&&a.classList.add("top-tagSelector-setter_single"),t.mode==="setter"&&t.filters&&a.classList.add("top-tagSelector-setter_several"),a.onclick=r=>{r.preventDefault(),r.stopPropagation(),a.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(a,"topTagSelectorTarget",i),delete a.dataset.topPopupDisabled,e.isRef(t.modelValue)||e.watch(l,()=>{t.modelValue=l.value,Q(a,t,n)}),a.click()},e.isRef(t.modelValue)?e.watch(t.modelValue,()=>Q(a,t,n)):N.storage(a,"topTagSelectorRender",r=>{t.modelValue=r;const l=N.storage(a,"topTagSelectorTarget");l&&(l.model.value=r),Q(a,t,n)}),Q(a,t,n),a},xt=(t,o)=>{N.storage(t,"topTagSelectorRender")?.(o)},Q=(t,o,n)=>{const a=e.unref(o.modelValue);if(t.classList.toggle("top-tagSelector-selectedOne",!a.length||a.length===1),t.classList.toggle("top-tagSelector-toTwoLine",a.length>5),o.mode==="setter"&&o.filters){t.innerHTML=`<div>${n}</div>`;return}if(t.innerHTML="",!a.length&&o.mode==="filter"){const r=Be({id:"all",colorId:"",name:S.useI18n().Common?.All_tags??"",state:""});t.append(r)}a.forEach(r=>{const l=Be({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)})},Be=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},wt=[{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"}],Tt=["data-tag_id","data-tag_color_id","title"],_=e.defineComponent({__name:"tagIcon",props:{id:{},colorId:{},name:{},state:{}},setup(t){return(o,n)=>(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,Tt))}}),Et=["contenteditable","onKeydown"],xe=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 n=t,a=o,r=e.useModel(t,"name"),l=e.ref(null),i=e.computed(()=>navigator.userAgent.indexOf("Firefox")!=-1?{contenteditable:d.value,onpaste:f=>f.preventDefault()}:{}),d=e.ref(!1),u=async()=>{d.value=!0,await e.nextTick(),l.value?.focus()},g=()=>{const f=l.value?.innerText;if(!f)return k();l.value&&(l.value.innerText=f),d.value=!1,a("update:name",f)},k=async()=>{l.value&&(l.value.innerText=n.name),d.value=!1},c=f=>{if(d.value||n.disabled)return;let s="selected";n.canExclude&&(f.ctrlKey||f.metaKey)&&(s="excluded"),n.state==s&&(s=""),s===""&&a("unselect"),s==="selected"&&a("select"),s==="excluded"&&a("exclude")};return(f,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(g,["stop"]),["enter"]),e.withKeys(e.withModifiers(k,["stop"]),["esc"])]}),e.toDisplayString(r.value),17,Et),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(g,["stop"])})):(e.openBlock(),e.createElementBlock("span",{key:0,"data-top-icon":"",class:"top-tagSelector_edit",onClick:u}))],64)):e.createCommentVNode("",!0)]),_:1},8,["class"]))}}),jt={key:1},we=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,n=e.useModel(t,"modelValue"),a=o.useTopButton?S._sfc_main$1:"div",r=o.useTopButton?"html":"default",l={model:n,mode:o.mode,targetId:o.targetId,filters:o.filters,payload:o.payload};return(i,d)=>{const u=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(a)),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":!n.value.length||n.value.length===1,"top-tagSelector-toTwoLine":n.value.length>5},color:"theme",styling:t.styling},i.$attrs),{[e.unref(r)]:e.withCtx(()=>[!n.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(n.value,g=>(e.openBlock(),e.createBlock(_,{id:e.unref(G)(g),colorId:e.unref(Y)(g,t.tags)?.color_id??"",name:e.unref(Y)(g,t.tags)?.name??"",state:e.unref(G)(g)===g?"selected":"excluded"},null,8,["id","colorId","name","state"]))),256))]),_:2},1040,["class","styling"])),[[u,l,"topTagSelectorTarget"]])]),_:3},8,["id"])}}}),Mt=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(wt)},tagsModifiers:{}}),emits:e.mergeModels(["selector","setter","tagsChanged"],["update:modelValue","update:tags"]),setup(t,{emit:o}){const n=S.useI18n(),a=t,r=e.useModel(t,"modelValue"),l=e.useModel(t,"tags"),i=o,d=S.debounce((h,v)=>{i(h,v)},a.emitDelay);a.singleMode&&!r.value.length&&(r.value=[l.value[0].id]);const u=a.id??"top-popup-id-"+Math.random(),g=e.ref("add"),k=()=>{const h=" "+n.Common.Tags?.toLowerCase(),v=new Map;return v.set("add",{value:"add",title:n.Common.Add+h}),v.set("replace",{value:"replace",title:n.Common.Replace+h}),v.set("delete",{value:"delete",title:n.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 f=e.computed(()=>{if(c.value.mode==="setter"&&a.maxTagsForSetter&&!c.value.filters)return c.value.model.value.length>=a.maxTagsForSetter}),s=h=>{if(h!=="all"){if(c.value.model.value.includes(h))return"selected";if(c.value.model.value.includes(Ce(h)))return"excluded"}return h==="all"&&!c.value.model.value.length?"selected":""},m=(h,v)=>{const B=Ce(h);let x=c.value.model.value.filter(M=>M!==h&&M!==B);v==="select"&&x.push(h),v==="exclude"&&x.push(B),c.value.mode==="setter"&&c.value.targetId!==void 0&&a.requiredForSetter&&(x.length||x.push("1"),x.length===2&&c.value.model.value.length===1&&c.value.model.value[0]==="1"&&(x=x.filter(M=>M!=="1"))),a.singleMode&&!c.value.filters&&(x.length||(x=c.value.model.value),x.length>1&&(x=[x[x.length-1]])),x.sort((M,X)=>{if(!a.tags)return 0;const R=a.tags.findIndex(F=>F.id===M),D=a.tags.findIndex(F=>F.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}),I=()=>{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)},C=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&&(g.value="add",c.value.model.value=[]),!S.Core.$?.ui.sortable){console.info("Для работы сортировки требуется глобальная загрузка jQuery UI Sortable");return}!S.Core.state.isMobile&&!S.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,B){if(!l.value)return;const x=$(B.item).parent().find("[data-tag_id]"),M=[];x.each((X,R)=>{if(!l.value)return;const D=$(R).attr("data-tag_id");M.push(D)}),l.value.sort((X,R)=>{const D=M.findIndex(ie=>ie===X.id),F=M.findIndex(ie=>ie===R.id);return D-F}),d("tagsChanged",l.value)}})},j=h=>{S.Core.$?.ui.sortable&&$(h.elPopup).data("ui-sortable")&&$(h.elPopup).sortable("destroy")};return(h,v)=>(e.openBlock(),e.createElementBlock(e.Fragment,null,[e.createVNode(we,{modelValue:r.value,"onUpdate:modelValue":v[0]||(v[0]=B=>r.value=B),id:e.unref(u),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(u),class:e.normalizeClass(p.value),onOpen:v[4]||(v[4]=B=>C(B)),onClose:v[5]||(v[5]=B=>j(B)),"transition-duration":50},e.createSlots({contentList:e.withCtx(()=>[e.unref(c).mode==="filter"&&!t.singleMode?(e.openBlock(),e.createBlock(xe,{key:0,id:"all",colorId:"",name:h.$i18n.Common.All_tags??"",state:e.unref(c).model.value.length?"":"selected",onSelect:v[3]||(v[3]=B=>e.unref(c).model.value=[])},null,8,["name","state"])):e.createCommentVNode("",!0),(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(l.value,B=>(e.openBlock(),e.createBlock(xe,{key:B.id,id:B.id,colorId:B.color_id,name:B.name,state:s(B.id),canExclude:e.unref(c).mode==="filter"&&!t.singleMode,editable:t.tagsEditable,disabled:f.value&&s(B.id)==="",onUnselect:x=>m(B.id,"unselect"),onSelect:x=>m(B.id,"select"),onExclude:x=>m(B.id,"exclude"),"onUpdate:name":x=>{B.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(I,["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(S._sfc_main$10,{modelValue:g.value,"onUpdate:modelValue":v[1]||(v[1]=B=>g.value=B),options:k()},null,8,["modelValue","options"])]),key:"0"}:void 0,e.unref(c).mode==="setter"&&e.unref(c).filters?{name:"footer",fn:e.withCtx(()=>[e.createVNode(S._sfc_main$1,{color:"theme"},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(h.$i18n.Common.Cancel),1)]),_:1}),e.createVNode(S._sfc_main$1,{onClick:v[2]||(v[2]=B=>e.unref(d)("setter",{tagsIds:e.unref(c).model.value,filters:e.unref(c).filters,filtersAction:g.value,payload:e.unref(c).payload}))},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(g.value==="add"?h.$i18n.Common.Add:"")+" "+e.toDisplayString(g.value==="replace"?h.$i18n.Common.Replace:"")+" "+e.toDisplayString(g.value==="delete"?h.$i18n.Common.Delete:""),1)]),_:1})]),key:"1"}:void 0]),1032,["id","class"])],64))}});w.TopCompetitorSelector=be,w.TopGroupSelector=ot,w.TopProjectSelector=Ct,w.TopRegionSelector=We,w.TopTagSelector=Mt,w.TopTagSelectorPopupOpener=we,w.TopTagSelectorTagIcon=_,w.clearCache=Ie,w.dialogRegionSelector=fe,w.findRegion=me,w.genElTopTagSelectorPopupOpener=Bt,w.genSearcherByKey=te,w.renderElTopTagSelectorPopupOpener=xt,w.useItemsFromCompetitors=Ne,Object.defineProperty(w,Symbol.toStringTag,{value:"Module"})}));
2
2
  //# sourceMappingURL=project.amd.js.map