@topvisor/ui 1.5.0-updates.16 → 1.5.0-updates.18

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.
@@ -17,11 +17,11 @@ import { t as d } from "../.chunks/utils-Db8aFbJA.esm.js";
17
17
  import { getDeviceGIcon as f, getLangLabel as p, getSearcherGIcon as m } from "../utils/searchers.js";
18
18
  import { invertKeyboardLayout as h } from "../utils/keyboard.js";
19
19
  import { c as g, n as _, o as v, r as ee, s as te } from "../.chunks/popup-9vJsdcN_.esm.js";
20
- import { d as ne, s as y, u as re } from "../.chunks/formsExt-Ddo0ZZ50.esm.js";
20
+ import { d as ne, s as y, u as b } from "../.chunks/formsExt-xiSNs_Kw.esm.js";
21
21
  import "../popup/worker.js";
22
- import { Fragment as b, computed as x, createBlock as S, createCommentVNode as C, createElementBlock as w, createElementVNode as T, createSlots as ie, createTextVNode as E, createVNode as D, defineComponent as O, isRef as k, mergeModels as A, mergeProps as ae, nextTick as oe, normalizeClass as j, onMounted as se, openBlock as M, reactive as ce, ref as N, renderList as P, renderSlot as le, resolveComponent as ue, resolveDirective as de, resolveDynamicComponent as fe, shallowRef as pe, toDisplayString as F, toValue as me, unref as I, useModel as L, watch as R, withCtx as z, withDirectives as he, withKeys as ge, withModifiers as B } from "vue";
22
+ import { Fragment as x, computed as S, createBlock as C, createCommentVNode as w, createElementBlock as T, createElementVNode as E, createSlots as re, createTextVNode as D, createVNode as O, defineComponent as k, isRef as ie, mergeModels as A, mergeProps as ae, nextTick as oe, normalizeClass as j, onMounted as se, openBlock as M, reactive as ce, ref as N, renderList as P, renderSlot as le, resolveComponent as ue, resolveDirective as de, resolveDynamicComponent as fe, shallowRef as pe, toDisplayString as F, toValue as me, unref as I, useModel as L, watch as R, withCtx as z, withDirectives as he, withKeys as ge, withModifiers as B } from "vue";
23
23
  //#region src/components/project/competitorSelector/competitorSelector.vue?vue&type=script&setup=true&lang.ts
24
- var _e = { class: "top-competitorSelector" }, ve = { class: "top-ellipsis1" }, ye = /* @__PURE__ */ O({
24
+ var _e = { class: "top-competitorSelector" }, ve = { class: "top-ellipsis1" }, ye = /* @__PURE__ */ k({
25
25
  __name: "competitorSelector",
26
26
  props: /* @__PURE__ */ A({
27
27
  modelValue: {},
@@ -36,7 +36,7 @@ var _e = { class: "top-competitorSelector" }, ve = { class: "top-ellipsis1" }, y
36
36
  }),
37
37
  emits: ["update:modelValue"],
38
38
  setup(n) {
39
- let i = n, a = L(n, "modelValue"), o = x(() => {
39
+ let i = n, a = L(n, "modelValue"), o = S(() => {
40
40
  if (i.showSelectAllItem) return {
41
41
  icon: "",
42
42
  title: e().Common.Select_all,
@@ -44,23 +44,23 @@ var _e = { class: "top-competitorSelector" }, ve = { class: "top-ellipsis1" }, y
44
44
  content: ""
45
45
  };
46
46
  });
47
- return (e, i) => (M(), w("div", _e, [I(t).state.isMobile ? (M(), S(te, { key: 0 }, {
48
- opener: z(() => [D(r, {
47
+ return (e, i) => (M(), T("div", _e, [I(t).state.isMobile ? (M(), C(te, { key: 0 }, {
48
+ opener: z(() => [O(r, {
49
49
  class: "top-competitorSelector_opener",
50
50
  color: "theme",
51
51
  icon: "",
52
52
  icon2: ""
53
53
  }, {
54
- default: z(() => [E(F(n.items.find((e) => e.value === a.value?.[0])?.content), 1)]),
54
+ default: z(() => [D(F(n.items.find((e) => e.value === a.value?.[0])?.content), 1)]),
55
55
  _: 1
56
56
  })]),
57
- contentList: z(() => [(M(!0), w(b, null, P(n.items, (e) => (M(), S(v, {
57
+ contentList: z(() => [(M(!0), T(x, null, P(n.items, (e) => (M(), C(v, {
58
58
  class: j({ "top-active": a.value?.includes(e.value) }),
59
59
  "data-top-icon": e.icon,
60
60
  title: e.title,
61
61
  onClick: () => a.value = [e.value]
62
62
  }, {
63
- default: z(() => [T("span", ve, F(e.content), 1)]),
63
+ default: z(() => [E("span", ve, F(e.content), 1)]),
64
64
  _: 2
65
65
  }, 1032, [
66
66
  "class",
@@ -69,7 +69,7 @@ var _e = { class: "top-competitorSelector" }, ve = { class: "top-ellipsis1" }, y
69
69
  "onClick"
70
70
  ]))), 256))]),
71
71
  _: 1
72
- })) : (M(), S(ne, {
72
+ })) : (M(), C(ne, {
73
73
  key: 1,
74
74
  modelValue: a.value,
75
75
  "onUpdate:modelValue": i[0] ||= (e) => a.value = e,
@@ -84,7 +84,7 @@ var _e = { class: "top-competitorSelector" }, ve = { class: "top-ellipsis1" }, y
84
84
  "selectAllItem"
85
85
  ]))]));
86
86
  }
87
- }), be = (e, t) => x(() => me(e).filter((e) => e.on >= 0 || e.id === t).map((e) => ({
87
+ }), be = (e, t) => S(() => me(e).filter((e) => e.on >= 0 || e.id === t).map((e) => ({
88
88
  value: e.id,
89
89
  title: e.url + ` [${e.id}]`,
90
90
  icon: e.id === me(t) ? "" : "",
@@ -170,7 +170,7 @@ var _e = { class: "top-competitorSelector" }, ve = { class: "top-ellipsis1" }, y
170
170
  let r = e();
171
171
  return {
172
172
  searcherKey: N(n.value.keys().next().value ?? -2),
173
- optionBySearcherKey: x(() => {
173
+ optionBySearcherKey: S(() => {
174
174
  let e = /* @__PURE__ */ new Map();
175
175
  if (n.value.forEach((n) => {
176
176
  let r = {
@@ -197,7 +197,7 @@ var _e = { class: "top-competitorSelector" }, ve = { class: "top-ellipsis1" }, y
197
197
  }, Fe = (t, n) => {
198
198
  let r = e(), i = N(-2);
199
199
  t.modelValue.length === 1 && (i.value = t.modelValue[0]), i.value === -2 && (t.forMode ? i.value = n.value?.regionByIndex.values().next().value?.key ?? -2 : i.value = n.value?.regionByIndex.keys().next().value ?? -2);
200
- let a = x(() => {
200
+ let a = S(() => {
201
201
  let e = /* @__PURE__ */ new Map();
202
202
  return n.value.regionByIndex?.forEach((i) => {
203
203
  let a = i.name;
@@ -262,7 +262,7 @@ var _e = { class: "top-competitorSelector" }, ve = { class: "top-ellipsis1" }, y
262
262
  a();
263
263
  }), e.addCompare && i(), { regionsIndexes: r };
264
264
  }, Le = (e) => {
265
- let t = x(() => ke(e.forMode, e.autoRegion, e.searchers)), n = x(() => t.value.get(i.searcherKey.value) || Ce), r = x(() => {
265
+ let t = S(() => ke(e.forMode, e.autoRegion, e.searchers)), n = S(() => t.value.get(i.searcherKey.value) || Ce), r = S(() => {
266
266
  let e = /* @__PURE__ */ new Set();
267
267
  return t.value.forEach((t) => {
268
268
  t.regionByIndex.forEach((t) => {
@@ -315,7 +315,7 @@ var _e = { class: "top-competitorSelector" }, ve = { class: "top-ellipsis1" }, y
315
315
  if (e !== void 0) return l()?.regionByIndex?.get(e);
316
316
  }
317
317
  };
318
- }, Re = /* @__PURE__ */ O({
318
+ }, Re = /* @__PURE__ */ k({
319
319
  __name: "regionSelector",
320
320
  props: /* @__PURE__ */ A({
321
321
  projectId: {},
@@ -422,11 +422,11 @@ var _e = { class: "top-competitorSelector" }, ve = { class: "top-ellipsis1" }, y
422
422
  }, { immediate: !0 }), t({
423
423
  getSearcher: f,
424
424
  getRegion: p
425
- }), (t, n) => (M(), w("div", { class: j({
425
+ }), (t, n) => (M(), T("div", { class: j({
426
426
  "top-regionSelector": !0,
427
427
  "top-regionSelector-onlySearcher": e.onlySearcher
428
428
  }) }, [
429
- D(i, {
429
+ O(i, {
430
430
  options: I(s).optionBySearcherKey.value,
431
431
  modelValue: I(s).searcherKey.value,
432
432
  "onUpdate:modelValue": n[0] ||= (e) => I(s).searcherKey.value = e,
@@ -437,7 +437,7 @@ var _e = { class: "top-competitorSelector" }, ve = { class: "top-ellipsis1" }, y
437
437
  "modelValue",
438
438
  "addChanger"
439
439
  ]),
440
- !e.onlySearcher && I(s).searcherKey.value !== I(-1) ? (M(), S(i, {
440
+ !e.onlySearcher && I(s).searcherKey.value !== I(-1) ? (M(), C(i, {
441
441
  key: 0,
442
442
  class: "top-select-region",
443
443
  options: I(c).optionByRegionIndex.value,
@@ -452,16 +452,16 @@ var _e = { class: "top-competitorSelector" }, ve = { class: "top-ellipsis1" }, y
452
452
  "name",
453
453
  "addChanger",
454
454
  "data-top-icon"
455
- ])) : C("", !0),
456
- e.addCompare && !e.onlySearcher && I(s).searcherKey.value === I(-1) ? (M(), S(r, {
455
+ ])) : w("", !0),
456
+ e.addCompare && !e.onlySearcher && I(s).searcherKey.value === I(-1) ? (M(), C(r, {
457
457
  key: 1,
458
458
  name: "compare",
459
459
  onClick: m,
460
460
  "data-count-compare-regions-indexes": I(l).regionsIndexes.value.length
461
461
  }, {
462
- default: z(() => [E(F(t.$i18n.Common.Selected_regions), 1)]),
462
+ default: z(() => [D(F(t.$i18n.Common.Selected_regions), 1)]),
463
463
  _: 1
464
- }, 8, ["data-count-compare-regions-indexes"])) : C("", !0)
464
+ }, 8, ["data-count-compare-regions-indexes"])) : w("", !0)
465
465
  ], 2));
466
466
  }
467
467
  }), H = {
@@ -504,7 +504,7 @@ function He(e, t, n) {
504
504
  }
505
505
  //#endregion
506
506
  //#region src/components/project/groupSelector/folders/folders.vue?vue&type=script&setup=true&lang.ts
507
- var Ue = ["innerHTML"], We = /* @__PURE__ */ O({
507
+ var Ue = ["innerHTML"], We = /* @__PURE__ */ k({
508
508
  __name: "folders",
509
509
  props: /* @__PURE__ */ A({
510
510
  folderId: {},
@@ -531,7 +531,7 @@ var Ue = ["innerHTML"], We = /* @__PURE__ */ O({
531
531
  R(() => t.projectId, () => {
532
532
  i?.changeParams({ project_id: t.projectId }), i?.setOptions({ checkFingerprint: "TopGroupSelectorFolders:" + t.projectId }), a.value?.resetCache();
533
533
  }, { immediate: !0 });
534
- let o = x(() => Be(t.folders ?? { root: [H] }, t.canSelectAll));
534
+ let o = S(() => Be(t.folders ?? { root: [H] }, t.canSelectAll));
535
535
  return He({
536
536
  modelFolder: r,
537
537
  modelFolderId: n
@@ -543,7 +543,7 @@ var Ue = ["innerHTML"], We = /* @__PURE__ */ O({
543
543
  }
544
544
  let i = o.value.get(t.folderId);
545
545
  i ||= H, r.value = i, n.value = i.id;
546
- }, { immediate: !0 }), (t, n) => (M(), S(y, {
546
+ }, { immediate: !0 }), (t, n) => (M(), C(y, {
547
547
  class: "top-groupSelector_folder",
548
548
  modelValue: r.value,
549
549
  "onUpdate:modelValue": n[0] ||= (e) => r.value = e,
@@ -551,11 +551,11 @@ var Ue = ["innerHTML"], We = /* @__PURE__ */ O({
551
551
  "search-type": "inline",
552
552
  icon: e.addIcon ? "" : void 0,
553
553
  api: e.folders ? void 0 : I(i),
554
- apiSetSearchParams: (...e) => I(re)(...e, "name"),
554
+ apiSetSearchParams: (...e) => I(b)(...e, "name"),
555
555
  addChanger: e.addChanger,
556
556
  useCache: ""
557
557
  }, {
558
- item: z(({ item: e }) => [T("div", { innerHTML: e.name.replaceAll(/</g, "< ") }, null, 8, Ue)]),
558
+ item: z(({ item: e }) => [E("div", { innerHTML: e.name.replaceAll(/</g, "< ") }, null, 8, Ue)]),
559
559
  _: 1
560
560
  }, 8, [
561
561
  "modelValue",
@@ -587,7 +587,7 @@ var Ue = ["innerHTML"], We = /* @__PURE__ */ O({
587
587
  }), Je = (e, t) => e.gen(`/add/${t}/groups/`), Ye = (e, t) => e.gen(`/del/${t}/groups/`), Xe = (e, t) => e.gen(`/edit/${t}/groups/rename/`), Ze = { class: "top-groupSelector_groupItem top-ellipsis1" }, Qe = {
588
588
  key: 0,
589
589
  class: "top-comment"
590
- }, $e = ["innerHTML"], et = ["innerHTML"], tt = ["data-id"], nt = ["innerHTML"], rt = /* @__PURE__ */ O({
590
+ }, $e = ["innerHTML"], et = ["innerHTML"], tt = ["innerHTML"], nt = /* @__PURE__ */ k({
591
591
  __name: "groups",
592
592
  props: /* @__PURE__ */ A({
593
593
  groupId: {},
@@ -600,7 +600,7 @@ var Ue = ["innerHTML"], We = /* @__PURE__ */ O({
600
600
  default: void 0
601
601
  },
602
602
  canAdd: { type: [String, Boolean] },
603
- canEdit: { type: Boolean },
603
+ canEditAndDel: { type: Boolean },
604
604
  canSelectAll: { type: [Boolean, String] },
605
605
  autoselect: { default: "first" },
606
606
  addChanger: {
@@ -686,29 +686,21 @@ var Ue = ["innerHTML"], We = /* @__PURE__ */ O({
686
686
  } else m(t);
687
687
  d.value?.resetCache(!0);
688
688
  }, g = async (e, t) => {
689
- if (!u) return;
690
- let r = await u.changeParams({
689
+ u && ((await u.changeParams({
691
690
  project_id: n.projectId,
692
691
  id: e.id,
693
692
  name: t
694
- }).call();
695
- console.log(e), !r.errors && (a.value.id === e.id && m({
693
+ }).call()).errors || (a.value.id === e.id && m({
696
694
  ...a.value,
697
695
  name: t
698
- }), d.value?.resetCache(!0));
696
+ }), d.value?.resetCache(!0)));
699
697
  }, v = async (e) => {
700
- if (l && !(await l.changeParams({
698
+ l && ((await l.changeParams({
701
699
  project_id: n.projectId,
702
700
  id: e.id
703
- }).call()).errors) {
704
- if (a.value.id === e.id) {
705
- let t = f.value ?? [], r = t.findIndex((t) => t.id === e.id), i = t[r + 1], a = t[r - 1];
706
- m(i ?? a ?? (n.canSelectAll ? G() : U));
707
- }
708
- d.value?.resetCache(!0);
709
- }
701
+ }).call()).errors || (a.value.id === e.id && m(n.canSelectAll ? G() : U), d.value?.resetCache(!0)));
710
702
  };
711
- return (t, n) => (M(), S(y, {
703
+ return (t, n) => (M(), C(y, {
712
704
  ref_key: "refSelector",
713
705
  ref: d,
714
706
  class: "top-groupSelector_group",
@@ -718,57 +710,51 @@ var Ue = ["innerHTML"], We = /* @__PURE__ */ O({
718
710
  searchType: "inline",
719
711
  icon: e.addIcon ? "" : void 0,
720
712
  api: e.groups ? void 0 : I(s),
721
- apiSetSearchParams: (...e) => I(re)(...e, "name"),
713
+ apiSetSearchParams: (...e) => I(b)(...e, "name"),
722
714
  appendSearchToResult: !!e.canAdd,
723
715
  useAllItem: e.canSelectAll ? I(G)().name : !1,
724
716
  addChanger: e.addChanger,
725
717
  useCache: "",
726
718
  onAppendItem: h
727
- }, {
728
- item: z(({ item: r }) => [T("div", Ze, [
729
- r.id === I(null) ? (M(), w("div", Qe, F(t.$i18n.Common.Add) + ": ", 1)) : C("", !0),
730
- T("span", {
719
+ }, re({
720
+ item: z(({ item: n }) => [E("div", Ze, [
721
+ n.id === I(null) ? (M(), T("div", Qe, F(t.$i18n.Common.Add) + ": ", 1)) : w("", !0),
722
+ E("span", {
731
723
  class: "top-groupSelector_groupItemName top-ellipsis1",
732
- innerHTML: r.name
724
+ innerHTML: n.name
733
725
  }, null, 8, $e),
734
- r.folder_path && e.showPath ? (M(), w("span", {
726
+ n.folder_path && e.showPath ? (M(), T("span", {
735
727
  key: 1,
736
728
  class: "top-groupSelector_groupItemFolderPath top-ellipsis1",
737
- innerHTML: r.folder_path
738
- }, null, 8, et)) : C("", !0)
739
- ]), e.canEdit ? (M(), w(b, { key: 0 }, [r.id ? (M(), w("div", {
740
- key: 0,
741
- class: "top-groupSelector_actions",
742
- "data-id": r.id
743
- }, [D(_, {
729
+ innerHTML: n.folder_path
730
+ }, null, 8, et)) : w("", !0)
731
+ ])]),
732
+ _: 2
733
+ }, [e.canEditAndDel && e.client ? {
734
+ name: "actions",
735
+ fn: z(({ item: r }) => [r.id ? (M(), T(x, { key: 0 }, [O(_, {
744
736
  submitText: t.$i18n.Common.Save,
745
737
  defaultValue: r.name,
746
738
  onSubmit: (e) => g(r, e)
747
739
  }, {
748
- opener: z(() => [...n[1] ||= [T("div", {
749
- class: "top-groupSelector_action",
750
- "data-top-icon": ""
751
- }, null, -1)]]),
740
+ opener: z(() => [...n[1] ||= [E("div", { "data-top-icon": "" }, null, -1)]]),
752
741
  default: z(() => [...n[2] ||= []]),
753
742
  _: 1
754
743
  }, 8, [
755
744
  "submitText",
756
745
  "defaultValue",
757
746
  "onSubmit"
758
- ]), D(ee, {
747
+ ]), O(ee, {
759
748
  isWarning: "",
760
749
  submitText: t.$i18n.Common.Delete,
761
750
  onSubmit: (e) => v(r)
762
751
  }, {
763
- opener: z(() => [...n[3] ||= [T("div", {
764
- class: "top-groupSelector_action",
765
- "data-top-icon": ""
766
- }, null, -1)]]),
767
- default: z(() => [T("span", { innerHTML: t.$i18n.Keywords.Delete_group_warning }, null, 8, nt)]),
752
+ opener: z(() => [...n[3] ||= [E("div", { "data-top-icon": "" }, null, -1)]]),
753
+ default: z(() => [E("span", { innerHTML: e.service === "keywords_2" ? t.$i18n.Keywords.Delete_group_warning : t.$i18n["Ai.Tracker"].Delete_group_warning }, null, 8, tt)]),
768
754
  _: 1
769
- }, 8, ["submitText", "onSubmit"])], 8, tt)) : C("", !0)], 64)) : C("", !0)]),
770
- _: 1
771
- }, 8, [
755
+ }, 8, ["submitText", "onSubmit"])], 64)) : w("", !0)]),
756
+ key: "0"
757
+ } : void 0]), 1032, [
772
758
  "modelValue",
773
759
  "items",
774
760
  "icon",
@@ -779,7 +765,7 @@ var Ue = ["innerHTML"], We = /* @__PURE__ */ O({
779
765
  "addChanger"
780
766
  ]));
781
767
  }
782
- }), it = { class: "top-groupSelector" }, at = /* @__PURE__ */ O({
768
+ }), rt = { class: "top-groupSelector" }, it = /* @__PURE__ */ k({
783
769
  __name: "groupSelector",
784
770
  props: /* @__PURE__ */ A({
785
771
  folderId: {},
@@ -795,7 +781,7 @@ var Ue = ["innerHTML"], We = /* @__PURE__ */ O({
795
781
  },
796
782
  canSelectAllGroups: { type: Boolean },
797
783
  canAddGroup: { type: [String, Boolean] },
798
- canEditGroup: { type: Boolean },
784
+ canEditAndDelGroup: { type: Boolean },
799
785
  autoselect: { default: "first" },
800
786
  addChanger: {
801
787
  type: Boolean,
@@ -840,7 +826,7 @@ var Ue = ["innerHTML"], We = /* @__PURE__ */ O({
840
826
  let t;
841
827
  n.groups && e && (t = [...n.groups, e]), s("update:groups", t);
842
828
  };
843
- return (t, n) => (M(), w("div", it, [e.showFolders ? (M(), S(We, {
829
+ return (t, n) => (M(), T("div", rt, [e.showFolders ? (M(), C(We, {
844
830
  key: 0,
845
831
  folderId: r.value,
846
832
  "onUpdate:folderId": n[0] ||= (e) => r.value = e,
@@ -863,7 +849,7 @@ var Ue = ["innerHTML"], We = /* @__PURE__ */ O({
863
849
  "addIcon",
864
850
  "client",
865
851
  "service"
866
- ])) : C("", !0), e.showGroups ? (M(), S(rt, {
852
+ ])) : w("", !0), e.showGroups ? (M(), C(nt, {
867
853
  key: 1,
868
854
  groupId: a.value,
869
855
  "onUpdate:groupId": n[2] ||= (e) => a.value = e,
@@ -874,7 +860,7 @@ var Ue = ["innerHTML"], We = /* @__PURE__ */ O({
874
860
  groups: e.groups,
875
861
  on: e.on,
876
862
  canAdd: e.canAddGroup,
877
- canEdit: e.canEditGroup,
863
+ canEditAndDel: e.canEditAndDelGroup,
878
864
  canSelectAll: e.canSelectAllGroups,
879
865
  autoselect: e.autoselect,
880
866
  addChanger: e.addChanger,
@@ -891,7 +877,7 @@ var Ue = ["innerHTML"], We = /* @__PURE__ */ O({
891
877
  "groups",
892
878
  "on",
893
879
  "canAdd",
894
- "canEdit",
880
+ "canEditAndDel",
895
881
  "canSelectAll",
896
882
  "autoselect",
897
883
  "addChanger",
@@ -899,41 +885,41 @@ var Ue = ["innerHTML"], We = /* @__PURE__ */ O({
899
885
  "addIcon",
900
886
  "client",
901
887
  "service"
902
- ])) : C("", !0)]));
888
+ ])) : w("", !0)]));
903
889
  }
904
- }), ot = (e) => ({
890
+ }), at = (e) => ({
905
891
  id: null,
906
892
  name: e,
907
893
  listItemProps: { type: "title" }
908
- }), st = {
894
+ }), ot = {
909
895
  scheduledUpdate: !1,
910
896
  manualUpdate: !1,
911
897
  guestProjects: !1
912
- }, ct = (t, n) => {
898
+ }, st = (t, n) => {
913
899
  let r = [], i = {
914
- scheduledUpdate: ot(e().Projects.Scheduled_update),
915
- manualUpdate: ot(e().Projects.Manual_update),
916
- guestProjects: ot(e().Projects.Guest_projects)
900
+ scheduledUpdate: at(e().Projects.Scheduled_update),
901
+ manualUpdate: at(e().Projects.Manual_update),
902
+ guestProjects: at(e().Projects.Guest_projects)
917
903
  }, a = n ? {
918
904
  scheduledUpdate: !1,
919
905
  manualUpdate: !1,
920
906
  guestProjects: !1
921
- } : st;
907
+ } : ot;
922
908
  for (let e of t) !a.scheduledUpdate && e.right?.startsWith("1") && e.on > 0 && (r.push(i.scheduledUpdate), a.scheduledUpdate = !0), !a.manualUpdate && e.right?.startsWith("1") && e.on === 0 && (r.push(i.manualUpdate), a.manualUpdate = !0), !a.guestProjects && e.right?.startsWith("0") && e.on >= 0 && (r.push(i.guestProjects), a.guestProjects = !0), r.push(e);
923
909
  return r;
924
- }, lt = (e) => e.map((e) => ({
910
+ }, ct = (e) => e.map((e) => ({
925
911
  ...e,
926
912
  listItemProps: { attrs: { title: e.name } }
927
- })), ut = (e, t, n) => !e || e.length === 0 ? [] : (t && Object.keys(st).forEach((e) => st[e] = !1), ct(lt(e), n)), dt = (e) => {
913
+ })), lt = (e, t, n) => !e || e.length === 0 ? [] : (t && Object.keys(ot).forEach((e) => ot[e] = !1), st(ct(e), n)), ut = (e) => {
928
914
  e = e.replace(/#.*/, "");
929
915
  let t = location.hash;
930
916
  return t = t.replace(/historyView=[^&]*/, ""), t = t.replace(/modelsKeys=[^&]*/, ""), t = t.replace(/competitorsIds=[^&]*/, ""), t = t.replace(/searchersKeys=[^&]*/, ""), t = t.replace(/regionIndex=[^&]*/, ""), t = t.replace(/regionsIndexes=[^&]*/, ""), t = t.replace(/folderId=[^&]*/, ""), t = t.replace(/groupId=[^&]*/, ""), t = t.replace(/tags=[^&]*/, ""), window.mo?.getHash && !window.mo.getHash("dataSort").toString().includes("0000-00-00") && (t = t.replace(/dataSort=[^&]*/, "")), t = t.replace(/%22historyView%22:[^,]*,/, ""), t = t.replace(/%22modelsKeys%22:\[[^\]]*\],/, ""), t = t.replace(/%22competitorsIds%22:\[[^\]]*],/, ""), t = t.replace(/%22searchersKeys%22:\[[^\]]*],/, ""), t = t.replace(/%22regionIndex%22:[^,]*,/, ""), t = t.replace(/%22regionsIndexes%22:\[[^\]]*],/, ""), t = t.replace(/%22folderId%22:[^,]*,/, ""), t = t.replace(/%22groupId%22:[^,]*,/, ""), t = t.replace(/%22tagsIds%22:\[[^\]]*],/, ""), /%22dataSort%22:\{[^}]*0000-00-00[^}]*}/.test(t) || (t = t.replace(/,?%22dataSort%22:\{[^}]*}(,?)/, "$1")), e + t;
931
- }, ft = (e, t) => {
917
+ }, dt = (e, t) => {
932
918
  t && t.target instanceof HTMLElement && c.close(t.target.closest(".top-popup-wrapper"));
933
- let n = dt(e);
919
+ let n = ut(e);
934
920
  location.href = n;
935
- }, pt = (e) => {
936
- let t = mt(), n = location.pathname.split("/"), r = "project/dynamics/", i = "";
921
+ }, ft = (e) => {
922
+ let t = pt(), n = location.pathname.split("/"), r = "project/dynamics/", i = "";
937
923
  return n[1] == "project" && (r = n[1] + "/" + n[2] + "/"), n[2] == "settings" && (i = location.hash), [
938
924
  "watcher",
939
925
  "indexing",
@@ -942,15 +928,15 @@ var Ue = ["innerHTML"], We = /* @__PURE__ */ O({
942
928
  "direct",
943
929
  "adwords"
944
930
  ].includes(n[4]) && (i = n[4] + "/"), "https://" + t + "/" + r + e + "/" + i;
945
- }, mt = () => window.page?.subdomain ? window.location.host.replace(window.page?.subdomain + ".", "") : window.location.host, ht = (e) => {
931
+ }, pt = () => window.page?.subdomain ? window.location.host.replace(window.page?.subdomain + ".", "") : window.location.host, mt = (e) => {
946
932
  let t = e.startsWith("http") ? e : "http://" + e;
947
933
  return t = t.replace(/"/g, "%22"), t;
948
- }, gt = (e, t) => {
934
+ }, ht = (e, t) => {
949
935
  let n = e.params.filters ?? [];
950
936
  n = n.filter((e) => e.name !== "GEN_SEARCH_STRING()");
951
937
  let r = h(t), i = t.replace(/([[^$.|?*+()])/g, "\\$1"), a = r.replace(/([[^$.|?*+()])/g, "\\$1");
952
938
  t && n.push(o("GEN_SEARCH_STRING()", "REGEXP", [`(${i}|${a})`])), e.changeParams({ filters: n });
953
- }, _t = (e, t, n) => {
939
+ }, gt = (e, t, n) => {
954
940
  let r = e.gen("/get/projects_2/projects/", [
955
941
  "id",
956
942
  "user_id",
@@ -970,14 +956,14 @@ var Ue = ["innerHTML"], We = /* @__PURE__ */ O({
970
956
  ]
971
957
  }, r.options.onApiLoaded = (e, t, n) => {
972
958
  let r = t.data.filters.length === 1 && t.data.offset === 0 || t.data.limit === 1e3, i = t.data.limit === 100 && t.data.filters.length > 1 ? !0 : void 0;
973
- e.result = ut(e.result, r, i), n?.(e, t);
959
+ e.result = lt(e.result, r, i), n?.(e, t);
974
960
  }, r;
975
- }, vt = (e) => e.gen("/add/projects_2/projects/"), yt = { class: "top-projectSelectorSubmenu_item" }, bt = [
961
+ }, _t = (e) => e.gen("/add/projects_2/projects/"), vt = { class: "top-projectSelectorSubmenu_item" }, yt = [
976
962
  "href",
977
963
  "title",
978
964
  "data-top-icon",
979
965
  "data-right"
980
- ], xt = { class: "top-projectSelectorSubmenu_item" }, St = ["href"], Ct = /* @__PURE__ */ O({
966
+ ], bt = { class: "top-projectSelectorSubmenu_item" }, xt = ["href"], St = /* @__PURE__ */ k({
981
967
  __name: "submenu",
982
968
  props: {
983
969
  id: {},
@@ -985,7 +971,7 @@ var Ue = ["innerHTML"], We = /* @__PURE__ */ O({
985
971
  url: {}
986
972
  },
987
973
  setup(t) {
988
- let n = t, r = e(), i = mt(), a = [
974
+ let n = t, r = e(), i = pt(), a = [
989
975
  {
990
976
  href: `https://${i}/project/keywords/${n.id}/`,
991
977
  title: r.Common.Menu_phrases,
@@ -1058,7 +1044,7 @@ var Ue = ["innerHTML"], We = /* @__PURE__ */ O({
1058
1044
  icon: "",
1059
1045
  right: "2"
1060
1046
  }
1061
- ], o = x(() => {
1047
+ ], o = S(() => {
1062
1048
  if (!window.page?.data?.aiTracker) {
1063
1049
  let e = a.findIndex((e) => e.href.includes("ai-tracker"));
1064
1050
  e !== -1 && a.splice(e, 1);
@@ -1067,36 +1053,36 @@ var Ue = ["innerHTML"], We = /* @__PURE__ */ O({
1067
1053
  });
1068
1054
  return (e, n) => {
1069
1055
  let r = ue("TopButton");
1070
- return M(), S(I(te), {
1056
+ return M(), C(I(te), {
1071
1057
  class: "top-projectSelectorSubmenu",
1072
1058
  notch: !1,
1073
1059
  pos: "2"
1074
1060
  }, {
1075
- opener: z(() => [D(r, {
1061
+ opener: z(() => [O(r, {
1076
1062
  class: "top-projectSelectorSubmenu_opener",
1077
1063
  "data-top-icon": "",
1078
1064
  color: "theme"
1079
1065
  })]),
1080
- contentList: z(() => [(M(!0), w(b, null, P(o.value, (e) => (M(), w("li", yt, [T("a", {
1066
+ contentList: z(() => [(M(!0), T(x, null, P(o.value, (e) => (M(), T("li", vt, [E("a", {
1081
1067
  href: e.href,
1082
1068
  title: e.title,
1083
1069
  "data-top-icon": e.icon,
1084
1070
  "data-right": e.right
1085
- }, null, 8, bt)]))), 256)), T("li", xt, [T("a", {
1071
+ }, null, 8, yt)]))), 256)), E("li", bt, [E("a", {
1086
1072
  href: t.url,
1087
1073
  "data-top-icon": "",
1088
1074
  target: "_blank"
1089
- }, null, 8, St)])]),
1075
+ }, null, 8, xt)])]),
1090
1076
  _: 1
1091
1077
  });
1092
1078
  };
1093
1079
  }
1094
- }), K = "ui_project_selector_total:", wt = 1440 * 60 * 1e3, q = pe(), Tt = N(0), J = N(null), Et = (e, t) => {
1080
+ }), K = "ui_project_selector_total:", Ct = 1440 * 60 * 1e3, q = pe(), wt = N(0), J = N(null), Tt = (e, t) => {
1095
1081
  localStorage.setItem(K + e, JSON.stringify({
1096
1082
  projectsTotal: t,
1097
- expiresAt: Date.now() + wt
1083
+ expiresAt: Date.now() + Ct
1098
1084
  }));
1099
- }, Dt = (e) => {
1085
+ }, Et = (e) => {
1100
1086
  let t = localStorage.getItem(K + e);
1101
1087
  if (!t) return;
1102
1088
  let { projectsTotal: n, expiresAt: r } = JSON.parse(t);
@@ -1105,12 +1091,12 @@ var Ue = ["innerHTML"], We = /* @__PURE__ */ O({
1105
1091
  return;
1106
1092
  }
1107
1093
  return n;
1108
- }, Ot = (e, t = !0) => {
1109
- q.value = void 0, localStorage.removeItem(K + e), t && Tt.value++;
1110
- }, kt = { class: "top-projectSelector_item" }, At = { class: "top-projectSelector_itemText" }, jt = { class: "top-comment" }, Mt = {
1094
+ }, Dt = (e, t = !0) => {
1095
+ q.value = void 0, localStorage.removeItem(K + e), t && wt.value++;
1096
+ }, Ot = { class: "top-projectSelector_item" }, kt = { class: "top-projectSelector_itemText" }, At = { class: "top-comment" }, jt = {
1111
1097
  key: 0,
1112
1098
  class: "top-comment"
1113
- }, Nt = ["href", "onClick"], Pt = 1e3, Ft = /* @__PURE__ */ O({
1099
+ }, Mt = ["href", "onClick"], Nt = 1e3, Pt = /* @__PURE__ */ k({
1114
1100
  __name: "projectSelector",
1115
1101
  props: /* @__PURE__ */ A({
1116
1102
  modelValue: {},
@@ -1135,16 +1121,16 @@ var Ue = ["innerHTML"], We = /* @__PURE__ */ O({
1135
1121
  setup(t) {
1136
1122
  let n = e();
1137
1123
  if (!window.mo?.user?.id) throw Error("TopProjectSelector: не удалось определить userId. Компонент требует авторизованного пользователя (см. window.mo.user.id)");
1138
- let r = window.mo.user.id, i = t, a = L(t, "modelValue"), o = _t(i.client, r), s = vt(i.client), c = N(Dt(r)), d = N(null), f = x(() => i.placeholder ?? n.Projects.Select_project), p = x(() => !q.value || !i.excludeProjectId ? q.value : q.value.filter((e) => e.id !== i.excludeProjectId)), m = x(() => {
1139
- if (!(!c.value && c.value !== 0)) return c.value < Pt ? "static" : "api";
1124
+ let r = window.mo.user.id, i = t, a = L(t, "modelValue"), o = gt(i.client, r), s = _t(i.client), c = N(Et(r)), d = N(null), f = S(() => i.placeholder ?? n.Projects.Select_project), p = S(() => !q.value || !i.excludeProjectId ? q.value : q.value.filter((e) => e.id !== i.excludeProjectId)), m = S(() => {
1125
+ if (!(!c.value && c.value !== 0)) return c.value < Nt ? "static" : "api";
1140
1126
  });
1141
- R(Tt, () => {
1127
+ R(wt, () => {
1142
1128
  v();
1143
1129
  }), R(a, () => {
1144
- !a.value.id || !i.addLinksToProjects || ft(pt(a.value.id));
1130
+ !a.value.id || !i.addLinksToProjects || dt(ft(a.value.id));
1145
1131
  });
1146
1132
  let h = async () => {
1147
- J.value ||= _t(i.client, r, { limit: Pt }).call();
1133
+ J.value ||= gt(i.client, r, { limit: Nt }).call();
1148
1134
  let e = await J.value;
1149
1135
  if (e.errors) {
1150
1136
  J.value = null;
@@ -1154,7 +1140,7 @@ var Ue = ["innerHTML"], We = /* @__PURE__ */ O({
1154
1140
  }, g = async () => {
1155
1141
  if (c.value) return;
1156
1142
  let e = await h();
1157
- e && (c.value = e.total, m.value === "static" && !q.value && (q.value = e.result), c.value && Et(r, c.value));
1143
+ e && (c.value = e.total, m.value === "static" && !q.value && (q.value = e.result), c.value && Tt(r, c.value));
1158
1144
  }, _ = async (e) => {
1159
1145
  let t = await s.changeParams({
1160
1146
  url: e.name,
@@ -1175,9 +1161,9 @@ var Ue = ["innerHTML"], We = /* @__PURE__ */ O({
1175
1161
  ...q.value.slice(0, i),
1176
1162
  n,
1177
1163
  ...q.value.slice(i)
1178
- ], c.value && (c.value += 1, Et(r, c.value));
1164
+ ], c.value && (c.value += 1, Tt(r, c.value));
1179
1165
  }
1180
- m.value === "api" && Ot(r);
1166
+ m.value === "api" && Dt(r);
1181
1167
  }
1182
1168
  }, v = () => {
1183
1169
  m.value === "api" && d.value?.resetCache(!0);
@@ -1190,7 +1176,7 @@ var Ue = ["innerHTML"], We = /* @__PURE__ */ O({
1190
1176
  await g();
1191
1177
  }), (e, n) => {
1192
1178
  let r = ue("TopButton");
1193
- return M(), S(y, {
1179
+ return M(), C(y, {
1194
1180
  ref_key: "refSelector",
1195
1181
  ref: d,
1196
1182
  class: "top-projectSelector",
@@ -1207,7 +1193,7 @@ var Ue = ["innerHTML"], We = /* @__PURE__ */ O({
1207
1193
  placeholder: f.value,
1208
1194
  hasCloserBtn: "",
1209
1195
  api: m.value === "api" ? I(o) : void 0,
1210
- apiSetSearchParams: m.value === "api" ? (...e) => I(gt)(...e) : void 0,
1196
+ apiSetSearchParams: m.value === "api" ? (...e) => I(ht)(...e) : void 0,
1211
1197
  useCache: "",
1212
1198
  appendSearchToResult: "",
1213
1199
  appendSearchAllowDuplicate: "",
@@ -1218,32 +1204,32 @@ var Ue = ["innerHTML"], We = /* @__PURE__ */ O({
1218
1204
  onAppendItem: _,
1219
1205
  onOpen: ee
1220
1206
  }, {
1221
- item: z(({ item: i }) => [T("div", kt, [T("div", At, [i.id ? (M(), w(b, { key: 0 }, [E(F(I(u)(i.name, 20)) + " ", 1), T("span", jt, " id " + F(i.id), 1)], 64)) : (M(), w(b, { key: 1 }, [i.listItemProps?.type ? C("", !0) : (M(), w("div", Mt, F(e.$i18n.Projects.Add_project) + ": ", 1)), E(" " + F(i.name), 1)], 64))]), i.id ? (M(), w(b, { key: 0 }, [
1222
- t.addLinksToProjects ? (M(), w("a", {
1207
+ item: z(({ item: i }) => [E("div", Ot, [E("div", kt, [i.id ? (M(), T(x, { key: 0 }, [D(F(I(u)(i.name, 20)) + " ", 1), E("span", At, " id " + F(i.id), 1)], 64)) : (M(), T(x, { key: 1 }, [i.listItemProps?.type ? w("", !0) : (M(), T("div", jt, F(e.$i18n.Projects.Add_project) + ": ", 1)), D(" " + F(i.name), 1)], 64))]), i.id ? (M(), T(x, { key: 0 }, [
1208
+ t.addLinksToProjects ? (M(), T("a", {
1223
1209
  key: 0,
1224
1210
  class: "top-projectSelector_itemLink",
1225
- href: I(pt)(i.id),
1226
- onClick: B((e) => I(ft)(I(pt)(i.id), e), ["prevent", "stop"])
1227
- }, null, 8, Nt)) : C("", !0),
1228
- e.$core.state.isMobile ? C("", !0) : (M(), S(r, {
1211
+ href: I(ft)(i.id),
1212
+ onClick: B((e) => I(dt)(I(ft)(i.id), e), ["prevent", "stop"])
1213
+ }, null, 8, Mt)) : w("", !0),
1214
+ e.$core.state.isMobile ? w("", !0) : (M(), C(r, {
1229
1215
  key: 1,
1230
1216
  class: "top-projectSelector_itemExtLink",
1231
- href: I(ht)(i.url),
1217
+ href: I(mt)(i.url),
1232
1218
  "data-top-icon": "",
1233
1219
  color: "theme",
1234
1220
  target: "_blank",
1235
1221
  onClick: n[0] ||= B(() => {}, ["stop"])
1236
1222
  }, null, 8, ["href"])),
1237
- D(Ct, {
1223
+ O(St, {
1238
1224
  id: i.id,
1239
1225
  right: i.right ?? void 0,
1240
- url: I(ht)(i.url)
1226
+ url: I(mt)(i.url)
1241
1227
  }, null, 8, [
1242
1228
  "id",
1243
1229
  "right",
1244
1230
  "url"
1245
1231
  ])
1246
- ], 64)) : C("", !0)])]),
1232
+ ], 64)) : w("", !0)])]),
1247
1233
  _: 1
1248
1234
  }, 8, [
1249
1235
  "modelValue",
@@ -1259,11 +1245,11 @@ var Ue = ["innerHTML"], We = /* @__PURE__ */ O({
1259
1245
  ]);
1260
1246
  };
1261
1247
  }
1262
- }), It = (e) => "-" + e, Y = (e) => e[0] === "-" ? e.substring(1) : e, X = (e, t) => {
1248
+ }), Ft = (e) => "-" + e, Y = (e) => e[0] === "-" ? e.substring(1) : e, X = (e, t) => {
1263
1249
  e = Y(e);
1264
1250
  let n = t.find((t) => t.id === e);
1265
1251
  if (n) return n;
1266
- }, Lt = (e, t, n) => {
1252
+ }, It = (e, t, n) => {
1267
1253
  t ||= { id: e.id }, t.id = e.id, t.pos ??= "3", t.notch ??= !0, t.posBy ??= "fixed";
1268
1254
  let r = c.genElPopupOpener("div", t);
1269
1255
  return r.classList.add("top-tagSelector"), e.useTopButton && r.classList.add("top-tagSelector-useTopButton", "top-button", "top-color_theme", "top-as-selector"), e.useTopButton || r.classList.add("top-tagSelector-custom"), e.mode === "filter" && r.classList.add("top-tagSelector-filter"), e.mode === "setter" && !e.filters && r.classList.add("top-tagSelector-setter_single"), e.mode === "setter" && e.filters && r.classList.add("top-tagSelector-setter_several"), r.onclick = (t) => {
@@ -1275,15 +1261,15 @@ var Ue = ["innerHTML"], We = /* @__PURE__ */ O({
1275
1261
  targetId: e.targetId,
1276
1262
  filters: e.filters,
1277
1263
  payload: e.payload
1278
- }), delete r.dataset.topPopupDisabled, k(e.modelValue) || R(i, () => {
1264
+ }), delete r.dataset.topPopupDisabled, ie(e.modelValue) || R(i, () => {
1279
1265
  e.modelValue = i.value, Z(r, e, n);
1280
1266
  }), r.click();
1281
- }, k(e.modelValue) ? R(e.modelValue, () => Z(r, e, n)) : s(r, "topTagSelectorRender", (t) => {
1267
+ }, ie(e.modelValue) ? R(e.modelValue, () => Z(r, e, n)) : s(r, "topTagSelectorRender", (t) => {
1282
1268
  e.modelValue = t;
1283
1269
  let i = s(r, "topTagSelectorTarget");
1284
1270
  i && (i.model.value = t), Z(r, e, n);
1285
1271
  }), Z(r, e, n), r;
1286
- }, Rt = (e, t) => {
1272
+ }, Lt = (e, t) => {
1287
1273
  s(e, "topTagSelectorRender")?.(t);
1288
1274
  }, Z = (t, n, r) => {
1289
1275
  let i = I(n.modelValue);
@@ -1292,7 +1278,7 @@ var Ue = ["innerHTML"], We = /* @__PURE__ */ O({
1292
1278
  return;
1293
1279
  }
1294
1280
  if (t.innerHTML = "", !i.length && n.mode === "filter") {
1295
- let n = zt({
1281
+ let n = Rt({
1296
1282
  id: "all",
1297
1283
  colorId: "",
1298
1284
  name: e().Common?.All_tags ?? "",
@@ -1301,7 +1287,7 @@ var Ue = ["innerHTML"], We = /* @__PURE__ */ O({
1301
1287
  t.append(n);
1302
1288
  }
1303
1289
  i.forEach((e) => {
1304
- let r = zt({
1290
+ let r = Rt({
1305
1291
  id: Y(e),
1306
1292
  colorId: X(e, n.tags)?.color_id ?? "",
1307
1293
  name: X(e, n.tags)?.name ?? "",
@@ -1309,10 +1295,10 @@ var Ue = ["innerHTML"], We = /* @__PURE__ */ O({
1309
1295
  });
1310
1296
  t.append(r);
1311
1297
  });
1312
- }, zt = (e) => {
1298
+ }, Rt = (e) => {
1313
1299
  let t = document.createElement("div");
1314
1300
  return t.classList.add("top-tagSelector_tagIcon"), t.classList.toggle("top-tagSelector-active", !!e.state), t.classList.toggle("top-tagSelector-excluded", e.state === "excluded"), t.dataset.tag_id = e.id, t.dataset.tag_color_id = e.colorId, t.title = e.name, t;
1315
- }, Bt = [
1301
+ }, zt = [
1316
1302
  {
1317
1303
  id: "1",
1318
1304
  name: "Without Tag",
@@ -1363,11 +1349,11 @@ var Ue = ["innerHTML"], We = /* @__PURE__ */ O({
1363
1349
  name: "Turquoise",
1364
1350
  color_id: "10"
1365
1351
  }
1366
- ], Vt = [
1352
+ ], Bt = [
1367
1353
  "data-tag_id",
1368
1354
  "data-tag_color_id",
1369
1355
  "title"
1370
- ], Q = /* @__PURE__ */ O({
1356
+ ], Q = /* @__PURE__ */ k({
1371
1357
  __name: "tagIcon",
1372
1358
  props: {
1373
1359
  id: {},
@@ -1376,7 +1362,7 @@ var Ue = ["innerHTML"], We = /* @__PURE__ */ O({
1376
1362
  state: {}
1377
1363
  },
1378
1364
  setup(e) {
1379
- return (t, n) => (M(), w("div", {
1365
+ return (t, n) => (M(), T("div", {
1380
1366
  class: j({
1381
1367
  "top-tagSelector_tagIcon": !0,
1382
1368
  "top-tagSelector-active": !!e.state,
@@ -1385,9 +1371,9 @@ var Ue = ["innerHTML"], We = /* @__PURE__ */ O({
1385
1371
  "data-tag_id": e.id,
1386
1372
  "data-tag_color_id": e.colorId,
1387
1373
  title: e.name
1388
- }, null, 10, Vt));
1374
+ }, null, 10, Bt));
1389
1375
  }
1390
- }), Ht = ["contenteditable", "onKeydown"], Ut = /* @__PURE__ */ O({
1376
+ }), Vt = ["contenteditable", "onKeydown"], Ht = /* @__PURE__ */ k({
1391
1377
  __name: "tagPopupListItem",
1392
1378
  props: /* @__PURE__ */ A({
1393
1379
  editable: { type: Boolean },
@@ -1408,7 +1394,7 @@ var Ue = ["innerHTML"], We = /* @__PURE__ */ O({
1408
1394
  "select"
1409
1395
  ], ["update:name"]),
1410
1396
  setup(e, { emit: t }) {
1411
- let n = e, r = t, i = L(e, "name"), a = N(null), o = x(() => navigator.userAgent.indexOf("Firefox") == -1 ? {} : {
1397
+ let n = e, r = t, i = L(e, "name"), a = N(null), o = S(() => navigator.userAgent.indexOf("Firefox") == -1 ? {} : {
1412
1398
  contenteditable: s.value,
1413
1399
  onpaste: (e) => e.preventDefault()
1414
1400
  }), s = N(!1), c = async () => {
@@ -1424,7 +1410,7 @@ var Ue = ["innerHTML"], We = /* @__PURE__ */ O({
1424
1410
  let t = "selected";
1425
1411
  n.canExclude && (e.ctrlKey || e.metaKey) && (t = "excluded"), n.state == t && (t = ""), t === "" && r("unselect"), t === "selected" && r("select"), t === "excluded" && r("exclude");
1426
1412
  };
1427
- return (t, n) => (M(), S(v, {
1413
+ return (t, n) => (M(), C(v, {
1428
1414
  class: j({
1429
1415
  "top-tagSelector_tagListItem": !0,
1430
1416
  "top-tagSelector_tagListItem-inEdit": s.value,
@@ -1436,7 +1422,7 @@ var Ue = ["innerHTML"], We = /* @__PURE__ */ O({
1436
1422
  onClick: B(d, ["stop"])
1437
1423
  }, {
1438
1424
  default: z(() => [
1439
- D(Q, {
1425
+ O(Q, {
1440
1426
  id: e.id,
1441
1427
  name: i.value,
1442
1428
  colorId: e.colorId,
@@ -1447,28 +1433,28 @@ var Ue = ["innerHTML"], We = /* @__PURE__ */ O({
1447
1433
  "colorId",
1448
1434
  "state"
1449
1435
  ]),
1450
- T("span", ae({
1436
+ E("span", ae({
1451
1437
  ref_key: "elName",
1452
1438
  ref: a,
1453
1439
  class: "top-tagSelector_tagListItemName",
1454
1440
  contenteditable: s.value ? "plaintext-only" : !1
1455
- }, o.value, { onKeydown: [ge(B(l, ["stop"]), ["enter"]), ge(B(u, ["stop"]), ["esc"])] }), F(i.value), 17, Ht),
1456
- e.editable ? (M(), w(b, { key: 0 }, [s.value ? (M(), w("span", {
1441
+ }, o.value, { onKeydown: [ge(B(l, ["stop"]), ["enter"]), ge(B(u, ["stop"]), ["esc"])] }), F(i.value), 17, Vt),
1442
+ e.editable ? (M(), T(x, { key: 0 }, [s.value ? (M(), T("span", {
1457
1443
  key: 1,
1458
1444
  "data-top-icon": "",
1459
1445
  class: "top-tagSelector_edit",
1460
1446
  onClick: B(l, ["stop"])
1461
- })) : (M(), w("span", {
1447
+ })) : (M(), T("span", {
1462
1448
  key: 0,
1463
1449
  "data-top-icon": "",
1464
1450
  class: "top-tagSelector_edit",
1465
1451
  onClick: c
1466
- }))], 64)) : C("", !0)
1452
+ }))], 64)) : w("", !0)
1467
1453
  ]),
1468
1454
  _: 1
1469
1455
  }, 8, ["class"]));
1470
1456
  }
1471
- }), Wt = { key: 1 }, Gt = /* @__PURE__ */ O({
1457
+ }), Ut = { key: 1 }, Wt = /* @__PURE__ */ k({
1472
1458
  inheritAttrs: !1,
1473
1459
  __name: "popupOpener",
1474
1460
  props: /* @__PURE__ */ A({
@@ -1496,8 +1482,8 @@ var Ue = ["innerHTML"], We = /* @__PURE__ */ O({
1496
1482
  };
1497
1483
  return (r, s) => {
1498
1484
  let c = de("top-data");
1499
- return M(), S(g, { id: e.id }, {
1500
- default: z(() => [he((M(), S(fe(I(i)), ae({
1485
+ return M(), C(g, { id: e.id }, {
1486
+ default: z(() => [he((M(), C(fe(I(i)), ae({
1501
1487
  class: {
1502
1488
  "top-tagSelector": !0,
1503
1489
  "top-tagSelector-useTopButton": t.useTopButton,
@@ -1512,13 +1498,13 @@ var Ue = ["innerHTML"], We = /* @__PURE__ */ O({
1512
1498
  color: "theme",
1513
1499
  styling: e.styling
1514
1500
  }, r.$attrs), {
1515
- [I(a)]: z(() => [!n.value.length && e.mode === "filter" ? (M(), S(Q, {
1501
+ [I(a)]: z(() => [!n.value.length && e.mode === "filter" ? (M(), C(Q, {
1516
1502
  key: 0,
1517
1503
  id: "all",
1518
1504
  colorId: "",
1519
1505
  name: r.$i18n.Common.All_tags ?? "",
1520
1506
  state: ""
1521
- }, null, 8, ["name"])) : C("", !0), e.mode === "setter" && e.filters ? (M(), w("div", Wt, [le(r.$slots, "default")])) : (M(!0), w(b, { key: 2 }, P(n.value, (t) => (M(), S(Q, {
1507
+ }, null, 8, ["name"])) : w("", !0), e.mode === "setter" && e.filters ? (M(), T("div", Ut, [le(r.$slots, "default")])) : (M(!0), T(x, { key: 2 }, P(n.value, (t) => (M(), C(Q, {
1522
1508
  id: I(Y)(t),
1523
1509
  colorId: I(X)(t, e.tags)?.color_id ?? "",
1524
1510
  name: I(X)(t, e.tags)?.name ?? "",
@@ -1539,7 +1525,7 @@ var Ue = ["innerHTML"], We = /* @__PURE__ */ O({
1539
1525
  }, 8, ["id"]);
1540
1526
  };
1541
1527
  }
1542
- }), Kt = /* @__PURE__ */ O({
1528
+ }), Gt = /* @__PURE__ */ k({
1543
1529
  __name: "tagSelector",
1544
1530
  props: /* @__PURE__ */ A({
1545
1531
  modelValue: {},
@@ -1562,7 +1548,7 @@ var Ue = ["innerHTML"], We = /* @__PURE__ */ O({
1562
1548
  }, {
1563
1549
  modelValue: { required: !0 },
1564
1550
  modelModifiers: {},
1565
- tags: { default: ce(Bt) },
1551
+ tags: { default: ce(zt) },
1566
1552
  tagsModifiers: {}
1567
1553
  }),
1568
1554
  emits: /* @__PURE__ */ A([
@@ -1597,25 +1583,25 @@ var Ue = ["innerHTML"], We = /* @__PURE__ */ O({
1597
1583
  R(u, () => {
1598
1584
  p("selector", u.value);
1599
1585
  });
1600
- let ee = x(() => {
1586
+ let ee = S(() => {
1601
1587
  if (_.value.mode === "setter" && l.maxTagsForSetter && !_.value.filters) return _.value.model.value.length >= l.maxTagsForSetter;
1602
1588
  }), ne = (e) => {
1603
1589
  if (e !== "all") {
1604
1590
  if (_.value.model.value.includes(e)) return "selected";
1605
- if (_.value.model.value.includes(It(e))) return "excluded";
1591
+ if (_.value.model.value.includes(Ft(e))) return "excluded";
1606
1592
  }
1607
1593
  return e === "all" && !_.value.model.value.length ? "selected" : "";
1608
1594
  }, y = (e, t) => {
1609
- let n = It(e), r = _.value.model.value.filter((t) => t !== e && t !== n);
1595
+ let n = Ft(e), r = _.value.model.value.filter((t) => t !== e && t !== n);
1610
1596
  t === "select" && r.push(e), t === "exclude" && r.push(n), _.value.mode === "setter" && _.value.targetId !== void 0 && l.requiredForSetter && (r.length || r.push("1"), r.length === 2 && _.value.model.value.length === 1 && _.value.model.value[0] === "1" && (r = r.filter((e) => e !== "1"))), l.singleMode && !_.value.filters && (r.length || (r = _.value.model.value), r.length > 1 && (r = [r[r.length - 1]])), r.sort((e, t) => l.tags ? l.tags.findIndex((t) => t.id === e) - l.tags.findIndex((e) => e.id === t) : 0), _.value.model.value = r, _.value.mode === "setter" && _.value.targetId !== void 0 && p("setter", {
1611
1597
  tagsIds: r,
1612
1598
  targetId: _.value.targetId,
1613
1599
  payload: _.value.payload
1614
1600
  });
1615
- }, re = x(() => {
1601
+ }, b = S(() => {
1616
1602
  let e = "top-tagSelector_popup";
1617
1603
  return _.value.mode === "filter" && (e += " top-tagSelector_popup-filter"), _.value.mode === "setter" && (e += " top-tagSelector_popup-setter"), e;
1618
- }), T = () => {
1604
+ }), E = () => {
1619
1605
  let e = prompt("", "New tag");
1620
1606
  if (!e || e === "New tag") return;
1621
1607
  let t = d.value.length + 1;
@@ -1624,7 +1610,7 @@ var Ue = ["innerHTML"], We = /* @__PURE__ */ O({
1624
1610
  name: e,
1625
1611
  color_id: String((t - 1) % 10 + 1)
1626
1612
  }), f("tagsChanged", d.value);
1627
- }, O = (e) => {
1613
+ }, k = (e) => {
1628
1614
  if (_.value = s(e.elPopupOpener, "topTagSelectorTarget"), !_.value) throw Error("Open popup TopTagSelector required v-data:topTagSelectorTarget");
1629
1615
  if (_.value.filters && (h.value = "add", _.value.model.value = []), !t.$?.ui.sortable) {
1630
1616
  console.info("Для работы сортировки требуется глобальная загрузка jQuery UI Sortable");
@@ -1644,10 +1630,10 @@ var Ue = ["innerHTML"], We = /* @__PURE__ */ O({
1644
1630
  }), d.value.sort((e, t) => r.findIndex((t) => t === e.id) - r.findIndex((e) => e === t.id)), p("tagsChanged", d.value);
1645
1631
  }
1646
1632
  });
1647
- }, k = (e) => {
1633
+ }, ie = (e) => {
1648
1634
  t.$?.ui.sortable && $(e.elPopup).data("ui-sortable") && $(e.elPopup).sortable("destroy");
1649
1635
  };
1650
- return (e, t) => (M(), w(b, null, [D(Gt, {
1636
+ return (e, t) => (M(), T(x, null, [O(Wt, {
1651
1637
  modelValue: u.value,
1652
1638
  "onUpdate:modelValue": t[0] ||= (e) => u.value = e,
1653
1639
  id: I(m),
@@ -1661,23 +1647,23 @@ var Ue = ["innerHTML"], We = /* @__PURE__ */ O({
1661
1647
  "tags",
1662
1648
  "styling",
1663
1649
  "useTopButton"
1664
- ]), D(te, {
1650
+ ]), O(te, {
1665
1651
  id: I(m),
1666
- class: j(re.value),
1667
- onOpen: t[4] ||= (e) => O(e),
1668
- onClose: t[5] ||= (e) => k(e),
1652
+ class: j(b.value),
1653
+ onOpen: t[4] ||= (e) => k(e),
1654
+ onClose: t[5] ||= (e) => ie(e),
1669
1655
  "transition-duration": 50
1670
- }, ie({
1656
+ }, re({
1671
1657
  contentList: z(() => [
1672
- I(_).mode === "filter" && !a.singleMode ? (M(), S(Ut, {
1658
+ I(_).mode === "filter" && !a.singleMode ? (M(), C(Ht, {
1673
1659
  key: 0,
1674
1660
  id: "all",
1675
1661
  colorId: "",
1676
1662
  name: e.$i18n.Common.All_tags ?? "",
1677
1663
  state: I(_).model.value.length ? "" : "selected",
1678
1664
  onSelect: t[3] ||= (e) => I(_).model.value = []
1679
- }, null, 8, ["name", "state"])) : C("", !0),
1680
- (M(!0), w(b, null, P(d.value, (e) => (M(), S(Ut, {
1665
+ }, null, 8, ["name", "state"])) : w("", !0),
1666
+ (M(!0), T(x, null, P(d.value, (e) => (M(), C(Ht, {
1681
1667
  key: e.id,
1682
1668
  id: e.id,
1683
1669
  colorId: e.color_id,
@@ -1705,19 +1691,19 @@ var Ue = ["innerHTML"], We = /* @__PURE__ */ O({
1705
1691
  "onExclude",
1706
1692
  "onUpdate:name"
1707
1693
  ]))), 128)),
1708
- a.tagsEditable && d.value.length < a.tagsMax && d.value.length < 20 ? (M(), S(v, {
1694
+ a.tagsEditable && d.value.length < a.tagsMax && d.value.length < 20 ? (M(), C(v, {
1709
1695
  key: 1,
1710
1696
  "data-top-icon": "",
1711
- onClick: B(T, ["stop"])
1697
+ onClick: B(E, ["stop"])
1712
1698
  }, {
1713
- default: z(() => [E(F(e.$i18n.Common.Add), 1)]),
1699
+ default: z(() => [D(F(e.$i18n.Common.Add), 1)]),
1714
1700
  _: 1
1715
- })) : C("", !0)
1701
+ })) : w("", !0)
1716
1702
  ]),
1717
1703
  _: 2
1718
1704
  }, [I(_).mode === "setter" && I(_).filters ? {
1719
1705
  name: "header",
1720
- fn: z(() => [D(i, {
1706
+ fn: z(() => [O(i, {
1721
1707
  modelValue: h.value,
1722
1708
  "onUpdate:modelValue": t[1] ||= (e) => h.value = e,
1723
1709
  options: g()
@@ -1725,16 +1711,16 @@ var Ue = ["innerHTML"], We = /* @__PURE__ */ O({
1725
1711
  key: "0"
1726
1712
  } : void 0, I(_).mode === "setter" && I(_).filters ? {
1727
1713
  name: "footer",
1728
- fn: z(() => [D(r, { color: "theme" }, {
1729
- default: z(() => [E(F(e.$i18n.Common.Cancel), 1)]),
1714
+ fn: z(() => [O(r, { color: "theme" }, {
1715
+ default: z(() => [D(F(e.$i18n.Common.Cancel), 1)]),
1730
1716
  _: 1
1731
- }), D(r, { onClick: t[2] ||= (e) => I(p)("setter", {
1717
+ }), O(r, { onClick: t[2] ||= (e) => I(p)("setter", {
1732
1718
  tagsIds: I(_).model.value,
1733
1719
  filters: I(_).filters,
1734
1720
  filtersAction: h.value,
1735
1721
  payload: I(_).payload
1736
1722
  }) }, {
1737
- default: z(() => [E(F(h.value === "add" ? e.$i18n.Common.Add : "") + " " + F(h.value === "replace" ? e.$i18n.Common.Replace : "") + " " + F(h.value === "delete" ? e.$i18n.Common.Delete : ""), 1)]),
1723
+ default: z(() => [D(F(h.value === "add" ? e.$i18n.Common.Add : "") + " " + F(h.value === "replace" ? e.$i18n.Common.Replace : "") + " " + F(h.value === "delete" ? e.$i18n.Common.Delete : ""), 1)]),
1738
1724
  _: 1
1739
1725
  })]),
1740
1726
  key: "1"
@@ -1742,6 +1728,6 @@ var Ue = ["innerHTML"], We = /* @__PURE__ */ O({
1742
1728
  }
1743
1729
  });
1744
1730
  //#endregion
1745
- export { ye as TopCompetitorSelector, at as TopGroupSelector, Ft as TopProjectSelector, Re as TopRegionSelector, Kt as TopTagSelector, Gt as TopTagSelectorPopupOpener, Q as TopTagSelectorTagIcon, Ot as clearCache, Ne as dialogRegionSelector, Me as findRegion, Lt as genElTopTagSelectorPopupOpener, ke as genSearcherByKey, Rt as renderElTopTagSelectorPopupOpener, be as useItemsFromCompetitors };
1731
+ export { ye as TopCompetitorSelector, it as TopGroupSelector, Pt as TopProjectSelector, Re as TopRegionSelector, Gt as TopTagSelector, Wt as TopTagSelectorPopupOpener, Q as TopTagSelectorTagIcon, Dt as clearCache, Ne as dialogRegionSelector, Me as findRegion, It as genElTopTagSelectorPopupOpener, ke as genSearcherByKey, Lt as renderElTopTagSelectorPopupOpener, be as useItemsFromCompetitors };
1746
1732
 
1747
1733
  //# sourceMappingURL=project.js.map