@topvisor/ui 1.0.14 → 1.0.16

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 (60) hide show
  1. package/.chunks/{datepicker-Ri3BN3-Y.es.js → datepicker-CDFryb2R.es.js} +2 -2
  2. package/.chunks/{datepicker-Ri3BN3-Y.es.js.map → datepicker-CDFryb2R.es.js.map} +1 -1
  3. package/.chunks/{forms-CHyoeELv.es.js → forms-DmpPuKKh.es.js} +6 -6
  4. package/.chunks/{forms-CHyoeELv.es.js.map → forms-DmpPuKKh.es.js.map} +1 -1
  5. package/.chunks/{listItem.vue_vue_type_script_setup_true_lang-Dvz76-gx.es.js → listItem.vue_vue_type_script_setup_true_lang-Cry_LWLq.es.js} +5 -5
  6. package/.chunks/{listItem.vue_vue_type_script_setup_true_lang-Dvz76-gx.es.js.map → listItem.vue_vue_type_script_setup_true_lang-Cry_LWLq.es.js.map} +1 -1
  7. package/.chunks/{menu.vue_vue_type_style_index_0_lang-Rex3a5_T.es.js → menu.vue_vue_type_style_index_0_lang-BQFq184r.es.js} +2 -2
  8. package/.chunks/{menu.vue_vue_type_style_index_0_lang-Rex3a5_T.es.js.map → menu.vue_vue_type_style_index_0_lang-BQFq184r.es.js.map} +1 -1
  9. package/.chunks/menu.vue_vue_type_style_index_0_lang-Chd1ygyG.amd.js.map +1 -1
  10. package/.chunks/{notice-Bh-LvHpR.es.js → notice-BNik2ZIo.es.js} +2 -2
  11. package/.chunks/{notice-Bh-LvHpR.es.js.map → notice-BNik2ZIo.es.js.map} +1 -1
  12. package/.chunks/{popup-0nFCdjiM.es.js → popup-BxLi2sMk.es.js} +46 -46
  13. package/.chunks/{popup-0nFCdjiM.es.js.map → popup-BxLi2sMk.es.js.map} +1 -1
  14. package/.chunks/{popup-B285SUGc.amd.js → popup-Dm9xIxVU.amd.js} +2 -2
  15. package/.chunks/{popup-B285SUGc.amd.js.map → popup-Dm9xIxVU.amd.js.map} +1 -1
  16. package/.chunks/{utils-B3neE-vU.es.js → utils-CKpKCxOO.es.js} +2 -2
  17. package/.chunks/{utils-B3neE-vU.es.js.map → utils-CKpKCxOO.es.js.map} +1 -1
  18. package/.chunks/{utils-tB3V9IWe.es.js → utils-DFwHp4q7.es.js} +3 -3
  19. package/.chunks/{utils-tB3V9IWe.es.js.map → utils-DFwHp4q7.es.js.map} +1 -1
  20. package/assets/menu.css +1 -1
  21. package/assets/themes/dark-th.css +1 -0
  22. package/assets/themes/dark.css +1 -1
  23. package/charts/charts.js +1 -1
  24. package/components/charts/miniChart/miniChart.d.ts +1 -1
  25. package/components/popup/lib/popup.d.ts +1 -1
  26. package/core/app.amd.js +1 -1
  27. package/core/app.amd.js.map +1 -1
  28. package/core/app.js +61 -67
  29. package/core/app.js.map +1 -1
  30. package/core/utils/clipboard.d.ts +5 -3
  31. package/dialog/dialog.js +2 -2
  32. package/forms/forms.js +1 -1
  33. package/formsExt/formsExt.js +2 -2
  34. package/icomoon/Topvisor icons.json +269 -198
  35. package/icomoon/demo.html +530 -488
  36. package/icomoon/fonts/Topvisor-2.eot +0 -0
  37. package/icomoon/fonts/Topvisor-2.svg +3 -0
  38. package/icomoon/fonts/Topvisor-2.ttf +0 -0
  39. package/icomoon/fonts/Topvisor-2.woff +0 -0
  40. package/icomoon/selection.json +1 -1
  41. package/icomoon/style.css +258 -249
  42. package/layout/layout.js +1 -1
  43. package/package.json +3 -3
  44. package/popup/popup.js +2 -2
  45. package/popup/worker.amd.js +1 -1
  46. package/popup/worker.js +2 -2
  47. package/project/project.amd.js +1 -1
  48. package/project/project.amd.js.map +1 -1
  49. package/project/project.js +167 -167
  50. package/project/project.js.map +1 -1
  51. package/tabsView/tabsView.js +1 -1
  52. package/utils/clipboard.amd.js +5 -1
  53. package/utils/clipboard.amd.js.map +1 -1
  54. package/utils/clipboard.js +29 -6
  55. package/utils/clipboard.js.map +1 -1
  56. package/utils/date.js +1 -1
  57. package/utils/device.js +1 -1
  58. package/utils/lodash.js +1 -1
  59. package/utils/price.js +1 -1
  60. package/utils/string.js +1 -1
package/layout/layout.js CHANGED
@@ -1,6 +1,6 @@
1
1
  import { Core as c } from "../core/app.js";
2
2
  import { defineComponent as r, openBlock as t, createElementBlock as e, normalizeClass as p, renderSlot as n, createCommentVNode as _, createElementVNode as d, createVNode as m, withCtx as u } from "vue";
3
- import { e as w } from "../.chunks/forms-CHyoeELv.es.js";
3
+ import { e as w } from "../.chunks/forms-DmpPuKKh.es.js";
4
4
  const i = ["../assets/layout.css"].map((s) => import.meta.resolve(s));
5
5
  c.insertCSSLinkToPage(i, !0);
6
6
  const l = /* @__PURE__ */ r({
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@topvisor/ui",
3
3
  "private": false,
4
- "version": "1.0.14",
4
+ "version": "1.0.16",
5
5
  "type": "module",
6
6
  "description": "Topvisor UI-kit Vue",
7
7
  "author": "Topvisor",
@@ -27,7 +27,7 @@
27
27
  "./tabsView/tabsView.js": "./components/tabsView/tabsView.js"
28
28
  },
29
29
  "peerDependencies": {
30
- "pinia": "^2.2.4",
31
- "vue": "^3.5.12"
30
+ "pinia": "2.2.8",
31
+ "vue": "3.5.13"
32
32
  }
33
33
  }
package/popup/popup.js CHANGED
@@ -1,7 +1,7 @@
1
1
  import { Core as g } from "../core/app.js";
2
- import { _ as y, a as O, b as D } from "../.chunks/listItem.vue_vue_type_script_setup_true_lang-Dvz76-gx.es.js";
2
+ import { _ as y, a as O, b as D } from "../.chunks/listItem.vue_vue_type_script_setup_true_lang-Cry_LWLq.es.js";
3
3
  import { defineComponent as b, mergeModels as I, useModel as M, openBlock as B, createBlock as V, mergeProps as S, createSlots as k, withCtx as n, renderSlot as l, createVNode as c, createTextVNode as C, toDisplayString as T, ref as L, watch as w } from "vue";
4
- import { b as H, _ as v } from "../.chunks/forms-CHyoeELv.es.js";
4
+ import { c as H, _ as v } from "../.chunks/forms-DmpPuKKh.es.js";
5
5
  const W = ["../assets/popup.css"].map((a) => import.meta.resolve(a));
6
6
  g.insertCSSLinkToPage(W, !0);
7
7
  const P = /* @__PURE__ */ b({
@@ -1,2 +1,2 @@
1
- define(["require","exports","../.chunks/forms-CORLOoYZ.amd","../utils/dom.amd","../utils/scroll.amd"],function(require,exports,forms,utils_dom,utils_scroll){"use strict";if(typeof vue>"u")var vue=window.Vue;class Worker{static noClose=!1;static vueConnectors=new Map;static options={};static getPopup(t){return utils_dom.default.storage(t,"TopPopup")}static getAll(){return utils_dom.default.querySelectorAllArray(document,".top-popup-wrapper")}static getAllVisible(){return utils_dom.default.querySelectorAllVisible(document,".top-popup-wrapper")}static async openByOpener(t){if(!(t instanceof HTMLElement))return;const o={};return o.popup=t.dataset.topPopup,o.id=t.dataset.topPopupId,t.dataset.topPopupP&&(o.p=parseInt(t.dataset.topPopupP)),t.dataset.topPopupPos&&(o.p=parseInt(t.dataset.topPopupPos)),t.dataset.topPopupNotch&&(o.notch=t.dataset.topPopupNotch==="true"||t.dataset.topPopupNotch==="1"),t.dataset.topPopupClass&&(o.class=t.dataset.topPopupClass),t.dataset.topPopupPosBy&&(o.posBy=t.dataset.topPopupPosBy),t.dataset.topPopupFront&&(o.frontSelector=t.dataset.topPopupFront),t.dataset.topPopupInvertX&&(o.invertX=t.dataset.topPopupInvertX==="true"||t.dataset.topPopupInvertX==="1"),t.dataset.topPopupOpenByHover&&(o.openByHover=t.dataset.topPopupOpenByHover==="true"||t.dataset.topPopupOpenByHover==="1"),t.dataset.topPopupUseOriginal&&(o.useOriginal=t.dataset.topPopupUseOriginal==="true"||t.dataset.topPopupUseOriginal==="1"),await Worker.open(t,o)}static async open(elOpener,options){elOpener instanceof HTMLElement&&(elOpener.dataset.topPopupOpened="opened");const{default:Popup}=await new Promise((t,o)=>require(["../.chunks/popup-B285SUGc.amd"],t,o));if(forms.Core.$){const $elOpener=forms.Core.$(elOpener);if($elOpener.data("aftershow")){let afterShow=$elOpener.data("aftershow");typeof afterShow=="string"&&(afterShow=eval(afterShow.replace(/\W/g,""))),$elOpener.one("aftershow.top-menu-popup",afterShow)}if($elOpener.data("afterclose")){let afterclose=$elOpener.data("afterclose");typeof afterclose=="string"&&(afterclose=eval(afterclose.replace(/\W/g,""))),$elOpener.one("afterclose.top-menu-popup",afterclose)}}return options.isFullScreen=forms.Core.state.isMobile,new Popup(elOpener,options)}static close(t){const o=Worker.getPopup(t);o&&o.close()}static recalcPosition(t){const o=Worker.getPopup(t);o&&o.elPopupBody instanceof HTMLElement&&(o.recalcPosition(),utils_scroll.genHasScroll(o.elPopupBody))}static scrollToActive(t){if(!utils_dom.default.querySelectorVisible(t,"ul.top-popup_content > li > .top-active"))return;const s=t.querySelector("ul.top-popup_content"),a=utils_dom.default.querySelectorAllVisible(t,"ul.top-popup_content > li");t.classList.add("top-popup-wrapper-no_animate"),setTimeout(()=>t.classList.remove("top-popup-wrapper-no_animate"),100);let p=100;for(const e of a){if(e.querySelector(":scope > .top-active"))break;e instanceof HTMLElement&&(p+=e.offsetHeight)}if(s instanceof HTMLElement){const e=s.offsetHeight;p>e?s.scrollTop=p-e:s.scrollTop=0}}static decoratorBeforeOpen(t){this.options.decoratorBeforeOpen&&this.options.decoratorBeforeOpen(t)}static decoratorAfterOpen(t){this.options.decoratorAfterOpen&&this.options.decoratorAfterOpen(t)}static decoratorIsIgnoreOuterClick(t){return this.options.decoratorIsIgnoreOuterClick?this.options.decoratorIsIgnoreOuterClick(t):!1}static regVueComponent(t,o){if(Worker.vueConnectors.get(t))throw"Vue component Popup use duplicated id: "+t;Worker.vueConnectors.set(t,o)}static unregVueComponent(t){Worker.vueConnectors.delete(t)}static genElPopupOpener(t,o,...s){const a=utils_dom.default.genEl(t,{},...s);a.dataset.topPopup="#"+o.id;for(let p in o){const e="topPopup"+p.charAt(0).toUpperCase()+p.slice(1);a.dataset[e]=o[p]}return a}}exports.TopPopupWorker=Worker,Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"})});
1
+ define(["require","exports","../.chunks/forms-CORLOoYZ.amd","../utils/dom.amd","../utils/scroll.amd"],function(require,exports,forms,utils_dom,utils_scroll){"use strict";if(typeof vue>"u")var vue=window.Vue;class Worker{static noClose=!1;static vueConnectors=new Map;static options={};static getPopup(t){return utils_dom.default.storage(t,"TopPopup")}static getAll(){return utils_dom.default.querySelectorAllArray(document,".top-popup-wrapper")}static getAllVisible(){return utils_dom.default.querySelectorAllVisible(document,".top-popup-wrapper")}static async openByOpener(t){if(!(t instanceof HTMLElement))return;const o={};return o.popup=t.dataset.topPopup,o.id=t.dataset.topPopupId,t.dataset.topPopupP&&(o.p=parseInt(t.dataset.topPopupP)),t.dataset.topPopupPos&&(o.p=parseInt(t.dataset.topPopupPos)),t.dataset.topPopupNotch&&(o.notch=t.dataset.topPopupNotch==="true"||t.dataset.topPopupNotch==="1"),t.dataset.topPopupClass&&(o.class=t.dataset.topPopupClass),t.dataset.topPopupPosBy&&(o.posBy=t.dataset.topPopupPosBy),t.dataset.topPopupFront&&(o.frontSelector=t.dataset.topPopupFront),t.dataset.topPopupInvertX&&(o.invertX=t.dataset.topPopupInvertX==="true"||t.dataset.topPopupInvertX==="1"),t.dataset.topPopupOpenByHover&&(o.openByHover=t.dataset.topPopupOpenByHover==="true"||t.dataset.topPopupOpenByHover==="1"),t.dataset.topPopupUseOriginal&&(o.useOriginal=t.dataset.topPopupUseOriginal==="true"||t.dataset.topPopupUseOriginal==="1"),await Worker.open(t,o)}static async open(elOpener,options){elOpener instanceof HTMLElement&&(elOpener.dataset.topPopupOpened="opened");const{default:Popup}=await new Promise((t,o)=>require(["../.chunks/popup-Dm9xIxVU.amd"],t,o));if(forms.Core.$){const $elOpener=forms.Core.$(elOpener);if($elOpener.data("aftershow")){let afterShow=$elOpener.data("aftershow");typeof afterShow=="string"&&(afterShow=eval(afterShow.replace(/\W/g,""))),$elOpener.one("aftershow.top-menu-popup",afterShow)}if($elOpener.data("afterclose")){let afterclose=$elOpener.data("afterclose");typeof afterclose=="string"&&(afterclose=eval(afterclose.replace(/\W/g,""))),$elOpener.one("afterclose.top-menu-popup",afterclose)}}return options.isFullScreen=forms.Core.state.isMobile,new Popup(elOpener,options)}static close(t){const o=Worker.getPopup(t);o&&o.close()}static recalcPosition(t){const o=Worker.getPopup(t);o&&o.elPopupBody instanceof HTMLElement&&(o.recalcPosition(),utils_scroll.genHasScroll(o.elPopupBody))}static scrollToActive(t){if(!utils_dom.default.querySelectorVisible(t,"ul.top-popup_content > li > .top-active"))return;const s=t.querySelector("ul.top-popup_content"),a=utils_dom.default.querySelectorAllVisible(t,"ul.top-popup_content > li");t.classList.add("top-popup-wrapper-no_animate"),setTimeout(()=>t.classList.remove("top-popup-wrapper-no_animate"),100);let p=100;for(const e of a){if(e.querySelector(":scope > .top-active"))break;e instanceof HTMLElement&&(p+=e.offsetHeight)}if(s instanceof HTMLElement){const e=s.offsetHeight;p>e?s.scrollTop=p-e:s.scrollTop=0}}static decoratorBeforeOpen(t){this.options.decoratorBeforeOpen&&this.options.decoratorBeforeOpen(t)}static decoratorAfterOpen(t){this.options.decoratorAfterOpen&&this.options.decoratorAfterOpen(t)}static decoratorIsIgnoreOuterClick(t){return this.options.decoratorIsIgnoreOuterClick?this.options.decoratorIsIgnoreOuterClick(t):!1}static regVueComponent(t,o){if(Worker.vueConnectors.get(t))throw"Vue component Popup use duplicated id: "+t;Worker.vueConnectors.set(t,o)}static unregVueComponent(t){Worker.vueConnectors.delete(t)}static genElPopupOpener(t,o,...s){const a=utils_dom.default.genEl(t,{},...s);a.dataset.topPopup="#"+o.id;for(let p in o){const e="topPopup"+p.charAt(0).toUpperCase()+p.slice(1);a.dataset[e]=o[p]}return a}}exports.TopPopupWorker=Worker,Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"})});
2
2
  //# sourceMappingURL=worker.amd.js.map
package/popup/worker.js CHANGED
@@ -1,4 +1,4 @@
1
- import { C as Core } from "../.chunks/forms-CHyoeELv.es.js";
1
+ import { C as Core } from "../.chunks/forms-DmpPuKKh.es.js";
2
2
  import DOM from "../utils/dom.js";
3
3
  import { genHasScroll } from "../utils/scroll.js";
4
4
  class Worker {
@@ -45,7 +45,7 @@ class Worker {
45
45
  */
46
46
  static async open(elOpener, options) {
47
47
  elOpener instanceof HTMLElement && (elOpener.dataset.topPopupOpened = "opened");
48
- const { default: Popup } = await import("../.chunks/popup-0nFCdjiM.es.js");
48
+ const { default: Popup } = await import("../.chunks/popup-BxLi2sMk.es.js");
49
49
  if (Core.$) {
50
50
  const $elOpener = Core.$(elOpener);
51
51
  if ($elOpener.data("aftershow")) {
@@ -1,2 +1,2 @@
1
- define(["require","exports","vue","../.chunks/forms-CORLOoYZ.amd","../.chunks/listItem.vue_vue_type_script_setup_true_lang-BZar2z_p.amd","../.chunks/menu.vue_vue_type_style_index_0_lang-Chd1ygyG.amd","../utils/searchers.amd","../utils/dom.amd","../popup/worker.amd","../require/css.amd!../assets/project.css"],function(Me,w,e,I,E,Z,q,_,ee){"use strict";if(typeof e>"u")var e=window.Vue;const te={class:"top-selectorCompetitors"},ne={class:"top-ellipsis1"},oe=e.defineComponent({__name:"selectorCompetitors",props:e.mergeModels({modelValue:{},items:{},showSelectAllItem:{type:Boolean,default:!0}},{modelValue:{},modelModifiers:{}}),emits:["update:modelValue"],setup(t){const o=t,d=e.useModel(t,"modelValue"),n=e.computed(()=>{if(o.showSelectAllItem)return{icon:"",title:I.useI18n().Common.Select_all,value:"all",content:""}});return(a,l)=>(e.openBlock(),e.createElementBlock("div",te,[e.unref(I.Core).state.isMobile?(e.openBlock(),e.createBlock(E._sfc_main,{key:0},{opener:e.withCtx(()=>[e.createVNode(I._sfc_main,{class:"top-selectorCompetitors_opener",color:"theme",icon:"",icon2:""},{default:e.withCtx(()=>{var r;return[e.createTextVNode(e.toDisplayString((r=a.items.find(u=>{var f;return u.value===((f=d.value)==null?void 0:f[0])}))==null?void 0:r.content),1)]}),_:1})]),contentList:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(a.items,(r,u)=>{var f;return e.openBlock(),e.createBlock(E._sfc_main$2,{class:e.normalizeClass({"top-active":(f=d.value)==null?void 0:f.includes(r.value)}),"data-top-icon":r.icon,title:r.title,onClick:()=>d.value=[r.value]},{default:e.withCtx(()=>[e.createElementVNode("span",ne,e.toDisplayString(r.content),1)]),_:2},1032,["class","data-top-icon","title","onClick"])}),256))]),_:1})):(e.openBlock(),e.createBlock(Z._sfc_main,{key:1,modelValue:d.value,"onUpdate:modelValue":l[0]||(l[0]=r=>d.value=r),items:a.items,isMultiple:!0,styling:"bar",canBeEmptyMultiple:!1,selectAllItem:n.value},null,8,["modelValue","items","selectAllItem"]))]))}}),k=-2,le={0:"Yandex",1:"Google",2:"go.Mail",4:"YouTube",5:"Bing",6:"Yahoo",7:"Seznam",8:"AppStore",9:"GoogleStore",20:"Yandex.com",21:"Yandex.com.tr"},L={key:k,name:"--",index:k},j={key:k,name:"--",regions:[L],regionByIndex:new Map([[k,L]])},A={key:k,name:"Autoselect",index:k},P={key:k,name:"Autoselect",regions:[A],regionByIndex:new Map([[k,A]])},J={countryCode:"00",depth:1,device:0,key:-1,index:-1,lang:"ru",name:"Without region"},ae=()=>(A.name=I.useI18n().Common.Autoselect,A),re=()=>(ae(),P.name=I.useI18n().Common.Autoselect,console.log(P),P),ie=()=>(J.name=I.useI18n().Keywords.Without_region,J),U=(t=!1,o=!1,d=[])=>{let n;return t?n=de(d):n=G(d),o&&n.set(k,re()),n.size||n.set(k,j),n},G=(t,o=!0,d=[],n=!1)=>{const a=new Map;return t.forEach(l=>{if(!l.enabled||n&&typeof l.key=="number"&&l.key>1)return;const r={...l};r.regionByIndex=new Map,l.regions&&l.regions.forEach(u=>{if(o&&!u.enabled)return;const f={...u};r.regionByIndex&&r.regionByIndex.set(f.index,f)}),!r.regionByIndex.size&&!d.length&&r.regionByIndex.set(L.index,L),typeof r.key=="number"&&a.set(r.key,r)}),d.forEach(l=>{if(a.has(l))return;const r={key:l,name:le[l],regions:[],regionByIndex:new Map};a.set(r.key,r)}),a},de=t=>{const o=G(t,!1,[0,1],!0);if(o.has(2)){const d=o.get(2);d&&(d.regionByIndex=new Map)}return o.forEach(d=>{if(!d.regionByIndex)return;const n={...ie()};d.regionByIndex.set(n.index,n)}),o},Y=(t,o,d=[])=>{const n=U(t,!1,d);let a;return n.forEach(l=>{if(!(o.searcher_key!==void 0&&o.searcher_key!=l.key)&&l.regions&&(l.regions.forEach(r=>{if(!a&&!(o.key!==void 0&&o.key!=r.key)&&!(o.index!==void 0&&o.index!=r.index)&&!(!t&&(o.lang!==void 0&&o.lang!=r.lang||o.device!==void 0&&o.device!=r.device)))return r.searcher_key=l.key,a=r,!1}),a))return!1}),a},se=(t,o)=>{const d=I.useI18n(),n=e.ref(o.value.keys().next().value??k),a=e.computed(()=>{const l=new Map;if(o.value.forEach(r=>{let u={value:r.key,title:r.name};t.addSearcherIcon&&(u.icon=q.getSearcherGIcon(r.key)),l.set(r.key,u)}),t.addCompare&&!l.has(k)){const r={value:"",title:"--------------------",disabled:!0};l.set(r.value,r);const u={value:-1,title:d.Common.Compare};l.set(u.value,u)}return l});return{searcherKey:n,optionBySearcherKey:a}},ue=(t,o)=>{var l,r,u;const d=I.useI18n(),n=e.ref(k);t.modelValue.length===1&&(n.value=t.modelValue[0]),n.value===k&&(t.forFrequency?n.value=((r=(l=o.value)==null?void 0:l.regionByIndex.values().next().value)==null?void 0:r.key)??k:n.value=((u=o.value)==null?void 0:u.regionByIndex.keys().next().value)??k);const a=e.computed(()=>{var v;const f=new Map;return(v=o.value.regionByIndex)==null||v.forEach(p=>{let i=p.name;if(t.forFrequency){const B={value:p.key,title:i};f.has(p.key)||f.set(p.key,B);return}p.device&&(i+=" ("+d.Common["Device_"+p.device]+")");const m=q.getLangLabel(o.value.key||0,p.lang??"");m&&(i+=" / "+m);const y={value:p.index,title:i,icon:p.device?q.getDeviceGIcon(p.device):void 0};f.set(p.index,y)}),f});return e.watch(a,(f,v)=>{var y;if(t.onlySearcher||n.value!==void 0&&f.get(n.value))return;let p=f.keys().next().value;if(n.value===k||p===k){n.value=p;return}let i=((y=v==null?void 0:v.get(n.value))==null?void 0:y.title)||"",m=-1;for(const[B,x]of f.entries()){const S=x.title;if(typeof S!="string"||typeof B=="string")break;if(S===i){p=B;break}const T=new RegExp(` \\((${d.Common.Device_1}|${d.Common.Device_2})\\)`);let C=i,c=3;S.indexOf(C)===-1&&(C=i.replace(/^[^a-zа-я]/i,"").replace(T,""),c--),S.indexOf(C)===-1&&(C=i.replace(/ \/.*/,""),c--),S.indexOf(C)===-1&&(C=i.replace(/ \/.*/,""),C=C.replace(/^[^a-zа-я]/i,"").replace(T,""),c--),S.indexOf(C)!==-1&&(c<=m||(m=c,p=B))}n.value=p}),{regionIndex:n,optionByRegionIndex:a}},ce=(t,o,d)=>{const n=e.ref([]),a=()=>{if(t.onlySearcher&&o.value){n.value=Array.from(o.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(u=>d.value.has(u))),r.length||(r=Array.from(d.value)),n.value=[...r]},l=()=>{n.value.length?localStorage.setItem("ui:project:regionSelector:"+t.projectId+":regionsIndexes",JSON.stringify(n.value)):localStorage.removeItem("ui:project:regionSelector:"+t.projectId+":regionsIndexes")};return e.watch(n,()=>{l()}),t.addCompare&&a(),{regionsIndexes:n}},ge=t=>{const o=e.computed(()=>U(t.forFrequency,t.autoRegion,t.searchers)),d=e.computed(()=>o.value.get(a.searcherKey.value)||j),n=e.computed(()=>{const i=new Set;return o.value.forEach(m=>{var y;(y=m.regions)==null||y.forEach(B=>{B.index!==-1&&B.index!==k&&i.add(B.index)})}),i}),a=se(t,o),l=ue(t,d),r=ce(t,o,n);e.watch(o,()=>{var m,y,B,x;if(t.onlySearcher?r.regionsIndexes.value=Array.from(o.value.keys()):r.regionsIndexes.value=r.regionsIndexes.value.filter(S=>n.value.has(S)),a.searcherKey.value===-1)return;let i=o.value.keys().next().value;o.value.forEach(S=>{var T,C,c;if(t.onlySearcher&&S.key===a.searcherKey.value){i=a.searcherKey.value;return}if(l.regionIndex.value&&((T=S.regionByIndex)!=null&&T.has(l.regionIndex.value))&&(i=S.key),!t.onlySearcher){let s;i!==void 0&&(s=(C=o.value.get(i))==null?void 0:C.regionByIndex);const g=(c=o.value.get(S.key))==null?void 0:c.regionByIndex;s!=null&&s.has(k)&&!(g!=null&&g.has(k))&&(i=S.key)}}),i!==void 0&&(a.searcherKey.value=i),l.regionIndex.value!==void 0&&!((y=(m=d.value)==null?void 0:m.regionByIndex)!=null&&y.has(l.regionIndex.value))&&(l.regionIndex.value=(x=(B=d.value)==null?void 0:B.regions)==null?void 0:x.keys().next().value)},{immediate:!0});const u=()=>{if(!(a.searcherKey.value===-1||a.searcherKey.value===k))return a.searcherKey.value},f=()=>{if(t.onlySearcher||l.regionIndex.value===k)return;let i=l.regionIndex.value;if(t.forFrequency){const m=l.regionIndex.value,y=Y(t.forFrequency,{searcher_key:u(),key:m},t.searchers);i=y==null?void 0:y.index}return i},v=()=>{const i=u();if(i!==void 0)return o.value.get(i)};return{selectSearcher:a,selectRegion:l,compare:r,searcherByKey:o,allRegionsIndexes:n,getSearcher:v,getRegion:()=>{var m,y;const i=f();if(i!==void 0)return(y=(m=v())==null?void 0:m.regionByIndex)==null?void 0:y.get(i)}}},me=e.defineComponent({__name:"selectorRegion",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:e.mergeModels(["compareRegions"],["update:modelValue","update:modelValueSingle"]),setup(t,{expose:o,emit:d}){const n=t,a=e.useModel(t,"modelValue"),l=e.useModel(t,"modelValueSingle"),r=d,{selectSearcher:u,selectRegion:f,compare:v,searcherByKey:p,allRegionsIndexes:i,getSearcher:m,getRegion:y}=ge(n),B=()=>{var x;if(window.fieldTemplates&&((x=window.fieldTemplates)!=null&&x.openSelectorRegions)){window.fieldTemplates.openSelectorRegions(p.value,v.regionsIndexes.value,S=>v.regionsIndexes.value=S);return}r("compareRegions",p.value)};return e.watch([f.regionIndex,u.searcherKey,v.regionsIndexes],()=>{if(u.searcherKey.value===-1&&v.regionsIndexes.value.length){if(JSON.stringify(a.value)===JSON.stringify(v.regionsIndexes.value))return;a.value=[...v.regionsIndexes.value]}else a.value=[n.onlySearcher?u.searcherKey.value:f.regionIndex.value];!n.onlySearcher&&!i.value.size&&(u.searcherKey.value=k)}),l.value&&e.watch(l,()=>{a.value=[l.value]},{immediate:!0}),e.watch(a,()=>{var x,S,T,C,c;if(a.value[0]&&(l.value=a.value[0]),n.onlySearcher){if(!a.value.length||a.value.length===1&&!p.value.has(a.value[0])){let s=p.value.keys().next().value;s!==void 0&&(a.value=[s]);return}if(a.value.length>1&&JSON.stringify(a.value)!==JSON.stringify(v.regionsIndexes.value)){a.value=[...v.regionsIndexes.value];return}}else{let s=[...new Set(a.value)],g=(S=(x=p.value.values().next().value)==null?void 0:x.regionByIndex)==null?void 0:S.keys().next().value;if(n.forFrequency&&(g=(c=(C=(T=p.value.values().next().value)==null?void 0:T.regionByIndex)==null?void 0:C.values().next().value)==null?void 0:c.key),!s.length)g!==void 0&&s.push(g);else if(s.length===1){let h=i.value;n.forFrequency&&(h=new Set,p.value.forEach(V=>{V.regionByIndex.forEach(M=>{M.index!==-1&&M.index!==k&&h.add(M.key)})})),!h.has(s[0])&&s[0]!==-2&&(s=[],g!==void 0&&s.push(g))}else s=s.filter(h=>i.value.has(h)),!s.length&&g!==void 0&&s.push(g);if(JSON.stringify(a.value)!==JSON.stringify(s)){a.value=s;return}}if(!(a.value.length===1&&a.value[0]===(n.onlySearcher?u.searcherKey.value:f.regionIndex.value)))if(n.onlySearcher){if(a.value.length===1){u.searcherKey.value=a.value[0];return}u.searcherKey.value=-1;return}else if(a.value.length===1&&u.searcherKey.value!==-1){f.regionIndex.value=a.value[0];let s;for(const g of p.value.values()){for(const h of g.regionByIndex.values())if((n.forFrequency?h.key:h.index)===f.regionIndex.value){s=g.key;break}if(s!==void 0)break}s!==void 0&&(u.searcherKey.value=s)}else u.searcherKey.value=-1,v.regionsIndexes.value=[...a.value]},{immediate:!0}),o({getSearcher:m,getRegion:y}),(x,S)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass({"top-selectorRegion":!0,"top-selectorRegion-onlySearcher":x.onlySearcher})},[e.createVNode(I._sfc_main$4,{options:e.unref(u).optionBySearcherKey.value,modelValue:e.unref(u).searcherKey.value,"onUpdate:modelValue":S[0]||(S[0]=T=>e.unref(u).searcherKey.value=T),name:"searcher_key",addChanger:x.addChanger},null,8,["options","modelValue","addChanger"]),!x.onlySearcher&&e.unref(u).searcherKey.value!==-1?(e.openBlock(),e.createBlock(I._sfc_main$4,{key:0,class:"top-select-region",options:e.unref(f).optionByRegionIndex.value,modelValue:e.unref(f).regionIndex.value,"onUpdate:modelValue":S[1]||(S[1]=T=>e.unref(f).regionIndex.value=T),name:x.forFrequency?"region_key":"region_index",addChanger:x.addChanger,"data-top-icon":x.addRegionIcon?"":void 0},null,8,["options","modelValue","name","addChanger","data-top-icon"])):e.createCommentVNode("",!0),x.addCompare&&!x.onlySearcher&&e.unref(u).searcherKey.value===-1?(e.openBlock(),e.createBlock(I._sfc_main,{key:1,name:"compare",onClick:B,"data-count-compare-regions-indexes":e.unref(v).regionsIndexes.value.length},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(x.$i18n.Common.Selected_regions),1)]),_:1},8,["data-count-compare-regions-indexes"])):e.createCommentVNode("",!0)],2))}}),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"}],W=t=>"-"+t,K=t=>t[0]==="-"?t.substring(1):t,O=(t,o)=>{t=K(t);const d=o.find(n=>n.id===t);if(d)return d},ve=["data-tag_id","data-tag_color_id","title"],R=e.defineComponent({__name:"tagIcon",props:{id:{},colorId:{},name:{},state:{}},setup(t){return(o,d)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass({"top-tagSelector_tagIcon":!0,"top-tagSelector-active":!!o.state,"top-tagSelector-excluded":o.state==="excluded"}),"data-tag_id":o.id,"data-tag_color_id":o.colorId,title:o.name},null,10,ve))}}),pe=["contenteditable","onKeydown"],H=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 d=t,n=o,a=e.useModel(t,"name"),l=e.ref(null),r=e.computed(()=>navigator.userAgent.indexOf("Firefox")!=-1?{contenteditable:u.value,onpaste:m=>m.preventDefault()}:{}),u=e.ref(!1),f=async()=>{var m;u.value=!0,await e.nextTick(),(m=l.value)==null||m.focus()},v=()=>{var y;const m=(y=l.value)==null?void 0:y.innerText;if(!m)return p();l.value&&(l.value.innerText=m),u.value=!1,n("update:name",m)},p=async()=>{l.value&&(l.value.innerText=d.name),u.value=!1},i=m=>{if(u.value||d.disabled)return;let y="selected";d.canExclude&&(m.ctrlKey||m.metaKey)&&(y="excluded"),d.state==y&&(y=""),y===""&&n("unselect"),y==="selected"&&n("select"),y==="excluded"&&n("exclude")};return(m,y)=>(e.openBlock(),e.createBlock(E._sfc_main$2,{class:e.normalizeClass({"top-tagSelector_tagListItem":!0,"top-tagSelector_tagListItem-inEdit":u.value,"top-tagSelector_tagListItem-disabled":m.disabled,"top-tagSelector_tagListItem-canExclude":m.canExclude,"top-tagSelector-active":!!m.state,"top-tagSelector-excluded":m.state==="excluded"}),onClick:e.withModifiers(i,["stop"])},{default:e.withCtx(()=>[e.createVNode(R,{id:m.id,name:a.value,colorId:m.colorId,state:m.state},null,8,["id","name","colorId","state"]),e.createElementVNode("span",e.mergeProps({ref_key:"elName",ref:l,class:"top-tagSelector_tagListItemName",contenteditable:u.value?"plaintext-only":!1},r.value,{onKeydown:[e.withKeys(e.withModifiers(v,["stop"]),["enter"]),e.withKeys(e.withModifiers(p,["stop"]),["esc"])]}),e.toDisplayString(a.value),17,pe),m.editable?(e.openBlock(),e.createElementBlock(e.Fragment,{key:0},[u.value?(e.openBlock(),e.createElementBlock("span",{key:1,"data-top-icon":"",class:"top-tagSelector_edit",onClick:e.withModifiers(v,["stop"])})):(e.openBlock(),e.createElementBlock("span",{key:0,"data-top-icon":"",class:"top-tagSelector_edit",onClick:f}))],64)):e.createCommentVNode("",!0)]),_:1},8,["class"]))}}),ye={key:1},Q=e.defineComponent({inheritAttrs:!1,__name:"popupOpener",props:e.mergeModels({modelValue:{},id:{},tags:{},mode:{},targetId:{},filters:{},useTopButton:{type:Boolean},payload:{}},{modelValue:{required:!0},modelModifiers:{}}),emits:["update:modelValue"],setup(t){const o=t,d=e.useModel(t,"modelValue"),n=o.useTopButton?I._sfc_main:"div",a=o.useTopButton?"html":"default",l={model:d,mode:o.mode,targetId:o.targetId,filters:o.filters,payload:o.payload};return(r,u)=>{const f=e.resolveDirective("top-data");return e.openBlock(),e.createBlock(E._sfc_main$1,{id:r.id},{default:e.withCtx(()=>[e.withDirectives((e.openBlock(),e.createBlock(e.resolveDynamicComponent(e.unref(n)),e.mergeProps({class:{"top-tagSelector":!0,"top-tagSelector-filter":o.mode==="filter","top-tagSelector-setter_single":o.mode==="setter"&&!r.filters,"top-tagSelector-setter_several":o.mode==="setter"&&r.filters,"top-tagSelector-selectedOne":!d.value.length||d.value.length===1,"top-tagSelector-toTwoLine":d.value.length>5},color:"theme",styling:""},r.$attrs),{[e.unref(a)]:e.withCtx(()=>[!d.value.length&&r.mode==="filter"?(e.openBlock(),e.createBlock(R,{key:0,id:"all",colorId:"",name:r.$i18n.Common.All_tags??"",state:""},null,8,["name"])):e.createCommentVNode("",!0),r.mode==="setter"&&r.filters?(e.openBlock(),e.createElementBlock("div",ye,[e.renderSlot(r.$slots,"default")])):(e.openBlock(!0),e.createElementBlock(e.Fragment,{key:2},e.renderList(d.value,v=>{var p,i;return e.openBlock(),e.createBlock(R,{id:e.unref(K)(v),colorId:((p=e.unref(O)(v,r.tags))==null?void 0:p.color_id)??"",name:((i=e.unref(O)(v,r.tags))==null?void 0:i.name)??"",state:e.unref(K)(v)===v?"selected":"excluded"},null,8,["id","colorId","name","state"])}),256))]),_:2},1040,["class"])),[[f,l,"topTagSelectorTarget"]])]),_:3},8,["id"])}}}),he=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}},{modelValue:{required:!0},modelModifiers:{},tags:{default:e.reactive(fe)},tagsModifiers:{}}),emits:e.mergeModels(["selector","setter","tagsChanged"],["update:modelValue","update:tags"]),setup(t,{emit:o}){const d=I.useI18n(),n=t,a=e.useModel(t,"modelValue"),l=e.useModel(t,"tags"),r=o,u=I.debounce((c,s)=>{r(c,s)},n.emitDelay);n.singleMode&&!a.value.length&&(a.value=[l.value[0].id]);const f=n.id??"top-popup-id-"+Math.random(),v=e.ref("add"),p=()=>{var g;const c=" "+((g=d.Common.Tags)==null?void 0:g.toLowerCase()),s=new Map;return s.set("add",{value:"add",title:d.Common.Add+c}),s.set("replace",{value:"replace",title:d.Common.Replace+c}),s.set("delete",{value:"delete",title:d.Common.Delete+c}),s};let i=e.shallowRef({model:a,mode:"filter",targetId:void 0,filters:void 0,payload:void 0});e.watch(a,()=>{u("selector",a.value)});const m=e.computed(()=>{if(i.value.mode==="setter"&&n.maxTagsForSetter&&!i.value.filters)return i.value.model.value.length>=n.maxTagsForSetter}),y=c=>{if(c!=="all"){if(i.value.model.value.includes(c))return"selected";if(i.value.model.value.includes(W(c)))return"excluded"}return c==="all"&&!i.value.model.value.length?"selected":""},B=(c,s)=>{const g=W(c);let h=i.value.model.value.filter(V=>V!==c&&V!==g);s==="select"&&h.push(c),s==="exclude"&&h.push(g),i.value.mode==="setter"&&i.value.targetId!==void 0&&n.requiredForSetter&&(h.length||h.push("1"),h.length===2&&i.value.model.value.length===1&&i.value.model.value[0]==="1"&&(h=h.filter(V=>V!=="1"))),n.singleMode&&!i.value.filters&&(h.length||(h=i.value.model.value),h.length>1&&(h=[h[h.length-1]])),h.sort((V,M)=>{if(!n.tags)return 0;const F=n.tags.findIndex(b=>b.id===V),N=n.tags.findIndex(b=>b.id===M);return F-N}),i.value.model.value=h,i.value.mode==="setter"&&i.value.targetId!==void 0&&u("setter",{tagsIds:h,targetId:i.value.targetId,payload:i.value.payload})},x=e.computed(()=>{let c="top-tagSelector_popup";return i.value.mode==="filter"&&(c+=" top-tagSelector_popup-filter"),i.value.mode==="setter"&&(c+=" top-tagSelector_popup-setter"),c}),S=()=>{const c=prompt("","New tag");if(!c||c==="New tag")return;const s=l.value.length+1;l.value.push({id:String(s),name:c,color_id:String((s-1)%10+1)}),r("tagsChanged",l.value)},T=c=>{var s;if(i.value=_.storage(c.elPopupOpener,"topTagSelectorTarget"),!i.value)throw new Error("Open popup TopTagSelector required v-data:topTagSelectorTarget");if(i.value.filters&&(v.value="add",i.value.model.value=[]),!((s=I.Core.$)!=null&&s.ui.sortable)){console.info("Для работы сортировки требуется глобальная загрузка jQuery UI Sortable");return}!I.Core.state.isMobile&&!I.Core.state.isMobileUA&&l.value&&$(c.elPopup).sortable({items:'li:has([data-tag_id]:not([data-tag_id="all"]))',cancel:'[contenteditable="plaintext-only"], [contenteditable="true"]',distance:10,stop:function(g,h){if(!l.value)return;const V=$(h.item).parent().find("[data-tag_id]"),M=[];V.each((F,N)=>{if(!l.value)return;const b=$(N).attr("data-tag_id");M.push(b)}),l.value.sort((F,N)=>{const b=M.findIndex(z=>z===F.id),Ve=M.findIndex(z=>z===N.id);return b-Ve}),u("tagsChanged",l.value)}})},C=c=>{var s;(s=I.Core.$)!=null&&s.ui.sortable&&$(c.elPopup).data("ui-sortable")&&$(c.elPopup).sortable("destroy")};return(c,s)=>(e.openBlock(),e.createElementBlock(e.Fragment,null,[e.createVNode(Q,{class:"top-select_arrow",modelValue:a.value,"onUpdate:modelValue":s[0]||(s[0]=g=>a.value=g),id:e.unref(f),tags:l.value,mode:"filter",useTopButton:""},null,8,["modelValue","id","tags"]),e.createVNode(E._sfc_main,{id:e.unref(f),class:e.normalizeClass(x.value),onOpen:s[4]||(s[4]=g=>T(g)),onClose:s[5]||(s[5]=g=>C(g)),"transition-duration":50},e.createSlots({contentList:e.withCtx(()=>[e.unref(i).mode==="filter"&&!c.singleMode?(e.openBlock(),e.createBlock(H,{key:0,id:"all",colorId:"",name:c.$i18n.Common.All_tags??"",state:e.unref(i).model.value.length?"":"selected",onSelect:s[3]||(s[3]=g=>e.unref(i).model.value=[])},null,8,["name","state"])):e.createCommentVNode("",!0),(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(l.value,g=>(e.openBlock(),e.createBlock(H,{key:g.id,id:g.id,colorId:g.color_id,name:g.name,state:y(g.id),canExclude:e.unref(i).mode==="filter"&&!c.singleMode,editable:c.tagsEditable,disabled:m.value&&y(g.id)==="",onUnselect:h=>B(g.id,"unselect"),onSelect:h=>B(g.id,"select"),onExclude:h=>B(g.id,"exclude"),"onUpdate:name":h=>{g.name=h,e.unref(u)("tagsChanged",l.value)}},null,8,["id","colorId","name","state","canExclude","editable","disabled","onUnselect","onSelect","onExclude","onUpdate:name"]))),128)),c.tagsEditable&&l.value.length<c.tagsMax&&l.value.length<20?(e.openBlock(),e.createBlock(E._sfc_main$2,{key:1,"data-top-icon":"",onClick:e.withModifiers(S,["stop"])},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(c.$i18n.Common.Add),1)]),_:1})):e.createCommentVNode("",!0)]),_:2},[e.unref(i).mode==="setter"&&e.unref(i).filters?{name:"header",fn:e.withCtx(()=>[e.createVNode(I._sfc_main$4,{modelValue:v.value,"onUpdate:modelValue":s[1]||(s[1]=g=>v.value=g),options:p()},null,8,["modelValue","options"])]),key:"0"}:void 0,e.unref(i).mode==="setter"&&e.unref(i).filters?{name:"footer",fn:e.withCtx(()=>[e.createVNode(I._sfc_main,{color:"theme"},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(c.$i18n.Common.Cancel),1)]),_:1}),e.createVNode(I._sfc_main,{onClick:s[2]||(s[2]=g=>e.unref(u)("setter",{tagsIds:e.unref(i).model.value,filters:e.unref(i).filters,filtersAction:v.value,payload:e.unref(i).payload}))},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(v.value==="add"?c.$i18n.Common.Add:"")+" "+e.toDisplayString(v.value==="replace"?c.$i18n.Common.Replace:"")+" "+e.toDisplayString(v.value==="delete"?c.$i18n.Common.Remove:""),1)]),_:1})]),key:"1"}:void 0]),1032,["id","class"])],64))}}),Se=(t,o)=>e.computed(()=>e.toValue(t).map(n=>({value:n.id,title:n.url+` [${n.id}]`,icon:n.id===o?"":"",content:n.name}))),ke=(t,o,d)=>{o||(o={id:t.id}),o.id=t.id;const n=ee.TopPopupWorker.genElPopupOpener("div",o);return n.classList.add("top-tagSelector"),t.useTopButton&&n.classList.add("top-button","top-color_theme"),t.mode==="filter"&&n.classList.add("top-tagSelector-filter"),t.mode==="setter"&&!t.filters&&n.classList.add("top-tagSelector-setter_single"),t.mode==="setter"&&t.filters&&n.classList.add("top-tagSelector-setter_several"),n.onclick=a=>{a.preventDefault(),a.stopPropagation(),n.onclick=null;const l=e.ref(t.modelValue),r={model:l,mode:t.mode,targetId:t.targetId,filters:t.filters,payload:t.payload};_.storage(n,"topTagSelectorTarget",r),delete n.dataset.topPopupDisabled,e.isRef(t.modelValue)||e.watch(l,()=>{t.modelValue=l.value,D(n,t,d)}),n.click()},e.isRef(t.modelValue)?e.watch(t.modelValue,()=>D(n,t,d)):_.storage(n,"topTagSelectorRender",a=>{t.modelValue=a;const l=_.storage(n,"topTagSelectorTarget");l&&(l.model.value=a),D(n,t,d)}),D(n,t,d),n},Ie=(t,o)=>{var d;(d=_.storage(t,"topTagSelectorRender"))==null||d(o)},D=(t,o,d)=>{var a;const n=e.unref(o.modelValue);if(t.classList.toggle("top-tagSelector-selectedOne",!n.length||n.length===1),t.classList.toggle("top-tagSelector-toTwoLine",n.length>5),o.mode==="setter"&&o.filters){t.innerHTML=`<div>${d}</div>`;return}if(t.innerHTML="",!n.length&&o.mode==="filter"){const l=X({id:"all",colorId:"",name:((a=I.useI18n().Common)==null?void 0:a.All_tags)??"",state:""});t.append(l)}n.forEach(l=>{var u,f;const r=X({id:K(l),colorId:((u=O(l,o.tags))==null?void 0:u.color_id)??"",name:((f=O(l,o.tags))==null?void 0:f.name)??"",state:K(l)===l?"selected":"excluded"});t.append(r)})},X=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},xe=oe,Be=me,Ce=he,Te=Q,we=R;w.TopSelectorCompetitors=xe,w.TopSelectorRegion=Be,w.TopTagSelector=Ce,w.TopTagSelectorPopupOpener=Te,w.TopTagSelectorTagIcon=we,w.findRegion=Y,w.genElTopTagSelectorPopupOpener=ke,w.genSearcherByKey=U,w.renderElTopTagSelectorPopupOpener=Ie,w.useItemsFromCompetitors=Se,Object.defineProperty(w,Symbol.toStringTag,{value:"Module"})});
1
+ define(["require","exports","vue","../.chunks/forms-CORLOoYZ.amd","../.chunks/listItem.vue_vue_type_script_setup_true_lang-BZar2z_p.amd","../.chunks/menu.vue_vue_type_style_index_0_lang-Chd1ygyG.amd","../utils/searchers.amd","../utils/dom.amd","../popup/worker.amd","../require/css.amd!../assets/project.css"],function(Me,w,e,I,E,Z,q,_,ee){"use strict";if(typeof e>"u")var e=window.Vue;const te={class:"top-selectorCompetitors"},ne={class:"top-ellipsis1"},oe=e.defineComponent({__name:"selectorCompetitors",props:e.mergeModels({modelValue:{},items:{},showSelectAllItem:{type:Boolean,default:!0}},{modelValue:{},modelModifiers:{}}),emits:["update:modelValue"],setup(t){const o=t,d=e.useModel(t,"modelValue"),n=e.computed(()=>{if(o.showSelectAllItem)return{icon:"",title:I.useI18n().Common.Select_all,value:"all",content:""}});return(l,a)=>(e.openBlock(),e.createElementBlock("div",te,[e.unref(I.Core).state.isMobile?(e.openBlock(),e.createBlock(E._sfc_main,{key:0},{opener:e.withCtx(()=>[e.createVNode(I._sfc_main,{class:"top-selectorCompetitors_opener",color:"theme",icon:"",icon2:""},{default:e.withCtx(()=>{var r;return[e.createTextVNode(e.toDisplayString((r=l.items.find(u=>{var f;return u.value===((f=d.value)==null?void 0:f[0])}))==null?void 0:r.content),1)]}),_:1})]),contentList:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(l.items,(r,u)=>{var f;return e.openBlock(),e.createBlock(E._sfc_main$2,{class:e.normalizeClass({"top-active":(f=d.value)==null?void 0:f.includes(r.value)}),"data-top-icon":r.icon,title:r.title,onClick:()=>d.value=[r.value]},{default:e.withCtx(()=>[e.createElementVNode("span",ne,e.toDisplayString(r.content),1)]),_:2},1032,["class","data-top-icon","title","onClick"])}),256))]),_:1})):(e.openBlock(),e.createBlock(Z._sfc_main,{key:1,modelValue:d.value,"onUpdate:modelValue":a[0]||(a[0]=r=>d.value=r),items:l.items,isMultiple:!0,styling:"bar",canBeEmptyMultiple:!1,selectAllItem:n.value},null,8,["modelValue","items","selectAllItem"]))]))}}),k=-2,le={0:"Yandex",1:"Google",2:"go.Mail",4:"YouTube",5:"Bing",6:"Yahoo",7:"Seznam",8:"AppStore",9:"GoogleStore",20:"Yandex.com",21:"Yandex.com.tr"},L={key:k,name:"--",index:k},j={key:k,name:"--",regions:[L],regionByIndex:new Map([[k,L]])},A={key:k,name:"Autoselect",index:k},P={key:k,name:"Autoselect",regions:[A],regionByIndex:new Map([[k,A]])},J={countryCode:"00",depth:1,device:0,key:-1,index:-1,lang:"ru",name:"Without region"},ae=()=>(A.name=I.useI18n().Common.Autoselect,A),re=()=>(ae(),P.name=I.useI18n().Common.Autoselect,console.log(P),P),ie=()=>(J.name=I.useI18n().Keywords.Without_region,J),U=(t=!1,o=!1,d=[])=>{let n;return t?n=de(d):n=G(d),o&&n.set(k,re()),n.size||n.set(k,j),n},G=(t,o=!0,d=[],n=!1)=>{const l=new Map;return t.forEach(a=>{if(!a.enabled||n&&typeof a.key=="number"&&a.key>1)return;const r={...a};r.regionByIndex=new Map,a.regions&&a.regions.forEach(u=>{if(o&&!u.enabled)return;const f={...u};r.regionByIndex&&r.regionByIndex.set(f.index,f)}),!r.regionByIndex.size&&!d.length&&r.regionByIndex.set(L.index,L),typeof r.key=="number"&&l.set(r.key,r)}),d.forEach(a=>{if(l.has(a))return;const r={key:a,name:le[a],regions:[],regionByIndex:new Map};l.set(r.key,r)}),l},de=t=>{const o=G(t,!1,[0,1],!0);if(o.has(2)){const d=o.get(2);d&&(d.regionByIndex=new Map)}return o.forEach(d=>{if(!d.regionByIndex)return;const n={...ie()};d.regionByIndex.set(n.index,n)}),o},Y=(t,o,d=[])=>{const n=U(t,!1,d);let l;return n.forEach(a=>{if(!(o.searcher_key!==void 0&&o.searcher_key!=a.key)&&a.regions&&(a.regions.forEach(r=>{if(!l&&!(o.key!==void 0&&o.key!=r.key)&&!(o.index!==void 0&&o.index!=r.index)&&!(!t&&(o.lang!==void 0&&o.lang!=r.lang||o.device!==void 0&&o.device!=r.device)))return r.searcher_key=a.key,l=r,!1}),l))return!1}),l},se=(t,o)=>{const d=I.useI18n(),n=e.ref(o.value.keys().next().value??k),l=e.computed(()=>{const a=new Map;if(o.value.forEach(r=>{let u={value:r.key,title:r.name};t.addSearcherIcon&&(u.icon=q.getSearcherGIcon(r.key)),a.set(r.key,u)}),t.addCompare&&!a.has(k)){const r={value:"",title:"--------------------",disabled:!0};a.set(r.value,r);const u={value:-1,title:d.Common.Compare};a.set(u.value,u)}return a});return{searcherKey:n,optionBySearcherKey:l}},ue=(t,o)=>{var a,r,u;const d=I.useI18n(),n=e.ref(k);t.modelValue.length===1&&(n.value=t.modelValue[0]),n.value===k&&(t.forFrequency?n.value=((r=(a=o.value)==null?void 0:a.regionByIndex.values().next().value)==null?void 0:r.key)??k:n.value=((u=o.value)==null?void 0:u.regionByIndex.keys().next().value)??k);const l=e.computed(()=>{var v;const f=new Map;return(v=o.value.regionByIndex)==null||v.forEach(p=>{let i=p.name;if(t.forFrequency){const C={value:p.key,title:i};f.has(p.key)||f.set(p.key,C);return}p.device&&(i+=" ("+d.Common["Device_"+p.device]+")");const g=q.getLangLabel(o.value.key||0,p.lang??"");g&&(i+=" / "+g);const y={value:p.index,title:i,icon:p.device?q.getDeviceGIcon(p.device):void 0};f.set(p.index,y)}),f});return e.watch(l,(f,v)=>{var y;if(t.onlySearcher||n.value!==void 0&&f.get(n.value))return;let p=f.keys().next().value;if(n.value===k||p===k){n.value=p;return}let i=((y=v==null?void 0:v.get(n.value))==null?void 0:y.title)||"",g=-1;for(const[C,x]of f.entries()){const S=x.title;if(typeof S!="string"||typeof C=="string")break;if(S===i){p=C;break}const T=new RegExp(` \\((${d.Common.Device_1}|${d.Common.Device_2})\\)`);let B=i,c=3;S.indexOf(B)===-1&&(B=i.replace(/^[^a-zа-я]/i,"").replace(T,""),c--),S.indexOf(B)===-1&&(B=i.replace(/ \/.*/,""),c--),S.indexOf(B)===-1&&(B=i.replace(/ \/.*/,""),B=B.replace(/^[^a-zа-я]/i,"").replace(T,""),c--),S.indexOf(B)!==-1&&(c<=g||(g=c,p=C))}n.value=p}),{regionIndex:n,optionByRegionIndex:l}},ce=(t,o,d)=>{const n=e.ref([]),l=()=>{if(t.onlySearcher&&o.value){n.value=Array.from(o.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(u=>d.value.has(u))),r.length||(r=Array.from(d.value)),n.value=[...r]},a=()=>{n.value.length?localStorage.setItem("ui:project:regionSelector:"+t.projectId+":regionsIndexes",JSON.stringify(n.value)):localStorage.removeItem("ui:project:regionSelector:"+t.projectId+":regionsIndexes")};return e.watch(n,()=>{a()}),t.addCompare&&l(),{regionsIndexes:n}},me=t=>{const o=e.computed(()=>U(t.forFrequency,t.autoRegion,t.searchers)),d=e.computed(()=>o.value.get(l.searcherKey.value)||j),n=e.computed(()=>{const i=new Set;return o.value.forEach(g=>{var y;(y=g.regions)==null||y.forEach(C=>{C.index!==-1&&C.index!==k&&i.add(C.index)})}),i}),l=se(t,o),a=ue(t,d),r=ce(t,o,n);e.watch(o,()=>{var g,y,C,x;if(t.onlySearcher?r.regionsIndexes.value=Array.from(o.value.keys()):r.regionsIndexes.value=r.regionsIndexes.value.filter(S=>n.value.has(S)),l.searcherKey.value===-1)return;let i=o.value.keys().next().value;o.value.forEach(S=>{var T,B,c;if(t.onlySearcher&&S.key===l.searcherKey.value){i=l.searcherKey.value;return}if(a.regionIndex.value&&((T=S.regionByIndex)!=null&&T.has(a.regionIndex.value))&&(i=S.key),!t.onlySearcher){let s;i!==void 0&&(s=(B=o.value.get(i))==null?void 0:B.regionByIndex);const m=(c=o.value.get(S.key))==null?void 0:c.regionByIndex;s!=null&&s.has(k)&&!(m!=null&&m.has(k))&&(i=S.key)}}),i!==void 0&&(l.searcherKey.value=i),a.regionIndex.value!==void 0&&!((y=(g=d.value)==null?void 0:g.regionByIndex)!=null&&y.has(a.regionIndex.value))&&(a.regionIndex.value=(x=(C=d.value)==null?void 0:C.regions)==null?void 0:x.keys().next().value)},{immediate:!0});const u=()=>{if(!(l.searcherKey.value===-1||l.searcherKey.value===k))return l.searcherKey.value},f=()=>{if(t.onlySearcher||a.regionIndex.value===k)return;let i=a.regionIndex.value;if(t.forFrequency){const g=a.regionIndex.value,y=Y(t.forFrequency,{searcher_key:u(),key:g},t.searchers);i=y==null?void 0:y.index}return i},v=()=>{const i=u();if(i!==void 0)return o.value.get(i)};return{selectSearcher:l,selectRegion:a,compare:r,searcherByKey:o,allRegionsIndexes:n,getSearcher:v,getRegion:()=>{var g,y;const i=f();if(i!==void 0)return(y=(g=v())==null?void 0:g.regionByIndex)==null?void 0:y.get(i)}}},ge=e.defineComponent({__name:"selectorRegion",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:e.mergeModels(["compareRegions"],["update:modelValue","update:modelValueSingle"]),setup(t,{expose:o,emit:d}){const n=t,l=e.useModel(t,"modelValue"),a=e.useModel(t,"modelValueSingle"),r=d,{selectSearcher:u,selectRegion:f,compare:v,searcherByKey:p,allRegionsIndexes:i,getSearcher:g,getRegion:y}=me(n),C=()=>{var x;if(window.fieldTemplates&&((x=window.fieldTemplates)!=null&&x.openSelectorRegions)){window.fieldTemplates.openSelectorRegions(p.value,v.regionsIndexes.value,S=>v.regionsIndexes.value=S);return}r("compareRegions",p.value)};return e.watch([f.regionIndex,u.searcherKey,v.regionsIndexes],()=>{if(u.searcherKey.value===-1&&v.regionsIndexes.value.length){if(JSON.stringify(l.value)===JSON.stringify(v.regionsIndexes.value))return;l.value=[...v.regionsIndexes.value]}else l.value=[n.onlySearcher?u.searcherKey.value:f.regionIndex.value];!n.onlySearcher&&!i.value.size&&(u.searcherKey.value=k)}),a.value&&e.watch(a,()=>{l.value=[a.value]},{immediate:!0}),e.watch(l,()=>{var x,S,T,B,c;if(l.value[0]&&(a.value=l.value[0]),n.onlySearcher){if(!l.value.length||l.value.length===1&&!p.value.has(l.value[0])){let s=p.value.keys().next().value;s!==void 0&&(l.value=[s]);return}if(l.value.length>1&&JSON.stringify(l.value)!==JSON.stringify(v.regionsIndexes.value)){l.value=[...v.regionsIndexes.value];return}}else{let s=[...new Set(l.value)],m=(S=(x=p.value.values().next().value)==null?void 0:x.regionByIndex)==null?void 0:S.keys().next().value;if(n.forFrequency&&(m=(c=(B=(T=p.value.values().next().value)==null?void 0:T.regionByIndex)==null?void 0:B.values().next().value)==null?void 0:c.key),!s.length)m!==void 0&&s.push(m);else if(s.length===1){let h=i.value;n.forFrequency&&(h=new Set,p.value.forEach(V=>{V.regionByIndex.forEach(M=>{M.index!==-1&&M.index!==k&&h.add(M.key)})})),!h.has(s[0])&&s[0]!==-2&&(s=[],m!==void 0&&s.push(m))}else s=s.filter(h=>i.value.has(h)),!s.length&&m!==void 0&&s.push(m);if(JSON.stringify(l.value)!==JSON.stringify(s)){l.value=s;return}}if(!(l.value.length===1&&l.value[0]===(n.onlySearcher?u.searcherKey.value:f.regionIndex.value)))if(n.onlySearcher){if(l.value.length===1){u.searcherKey.value=l.value[0];return}u.searcherKey.value=-1;return}else if(l.value.length===1&&u.searcherKey.value!==-1){f.regionIndex.value=l.value[0];let s;for(const m of p.value.values()){for(const h of m.regionByIndex.values())if((n.forFrequency?h.key:h.index)===f.regionIndex.value){s=m.key;break}if(s!==void 0)break}s!==void 0&&(u.searcherKey.value=s)}else u.searcherKey.value=-1,v.regionsIndexes.value=[...l.value]},{immediate:!0}),o({getSearcher:g,getRegion:y}),(x,S)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass({"top-selectorRegion":!0,"top-selectorRegion-onlySearcher":x.onlySearcher})},[e.createVNode(I._sfc_main$4,{options:e.unref(u).optionBySearcherKey.value,modelValue:e.unref(u).searcherKey.value,"onUpdate:modelValue":S[0]||(S[0]=T=>e.unref(u).searcherKey.value=T),name:"searcher_key",addChanger:x.addChanger},null,8,["options","modelValue","addChanger"]),!x.onlySearcher&&e.unref(u).searcherKey.value!==-1?(e.openBlock(),e.createBlock(I._sfc_main$4,{key:0,class:"top-select-region",options:e.unref(f).optionByRegionIndex.value,modelValue:e.unref(f).regionIndex.value,"onUpdate:modelValue":S[1]||(S[1]=T=>e.unref(f).regionIndex.value=T),name:x.forFrequency?"region_key":"region_index",addChanger:x.addChanger,"data-top-icon":x.addRegionIcon?"":void 0},null,8,["options","modelValue","name","addChanger","data-top-icon"])):e.createCommentVNode("",!0),x.addCompare&&!x.onlySearcher&&e.unref(u).searcherKey.value===-1?(e.openBlock(),e.createBlock(I._sfc_main,{key:1,name:"compare",onClick:C,"data-count-compare-regions-indexes":e.unref(v).regionsIndexes.value.length},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(x.$i18n.Common.Selected_regions),1)]),_:1},8,["data-count-compare-regions-indexes"])):e.createCommentVNode("",!0)],2))}}),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"}],W=t=>"-"+t,K=t=>t[0]==="-"?t.substring(1):t,O=(t,o)=>{t=K(t);const d=o.find(n=>n.id===t);if(d)return d},ve=["data-tag_id","data-tag_color_id","title"],R=e.defineComponent({__name:"tagIcon",props:{id:{},colorId:{},name:{},state:{}},setup(t){return(o,d)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass({"top-tagSelector_tagIcon":!0,"top-tagSelector-active":!!o.state,"top-tagSelector-excluded":o.state==="excluded"}),"data-tag_id":o.id,"data-tag_color_id":o.colorId,title:o.name},null,10,ve))}}),pe=["contenteditable","onKeydown"],H=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 d=t,n=o,l=e.useModel(t,"name"),a=e.ref(null),r=e.computed(()=>navigator.userAgent.indexOf("Firefox")!=-1?{contenteditable:u.value,onpaste:g=>g.preventDefault()}:{}),u=e.ref(!1),f=async()=>{var g;u.value=!0,await e.nextTick(),(g=a.value)==null||g.focus()},v=()=>{var y;const g=(y=a.value)==null?void 0:y.innerText;if(!g)return p();a.value&&(a.value.innerText=g),u.value=!1,n("update:name",g)},p=async()=>{a.value&&(a.value.innerText=d.name),u.value=!1},i=g=>{if(u.value||d.disabled)return;let y="selected";d.canExclude&&(g.ctrlKey||g.metaKey)&&(y="excluded"),d.state==y&&(y=""),y===""&&n("unselect"),y==="selected"&&n("select"),y==="excluded"&&n("exclude")};return(g,y)=>(e.openBlock(),e.createBlock(E._sfc_main$2,{class:e.normalizeClass({"top-tagSelector_tagListItem":!0,"top-tagSelector_tagListItem-inEdit":u.value,"top-tagSelector_tagListItem-disabled":g.disabled,"top-tagSelector_tagListItem-canExclude":g.canExclude,"top-tagSelector-active":!!g.state,"top-tagSelector-excluded":g.state==="excluded"}),onClick:e.withModifiers(i,["stop"])},{default:e.withCtx(()=>[e.createVNode(R,{id:g.id,name:l.value,colorId:g.colorId,state:g.state},null,8,["id","name","colorId","state"]),e.createElementVNode("span",e.mergeProps({ref_key:"elName",ref:a,class:"top-tagSelector_tagListItemName",contenteditable:u.value?"plaintext-only":!1},r.value,{onKeydown:[e.withKeys(e.withModifiers(v,["stop"]),["enter"]),e.withKeys(e.withModifiers(p,["stop"]),["esc"])]}),e.toDisplayString(l.value),17,pe),g.editable?(e.openBlock(),e.createElementBlock(e.Fragment,{key:0},[u.value?(e.openBlock(),e.createElementBlock("span",{key:1,"data-top-icon":"",class:"top-tagSelector_edit",onClick:e.withModifiers(v,["stop"])})):(e.openBlock(),e.createElementBlock("span",{key:0,"data-top-icon":"",class:"top-tagSelector_edit",onClick:f}))],64)):e.createCommentVNode("",!0)]),_:1},8,["class"]))}}),ye={key:1},Q=e.defineComponent({inheritAttrs:!1,__name:"popupOpener",props:e.mergeModels({modelValue:{},id:{},tags:{},mode:{},targetId:{},filters:{},useTopButton:{type:Boolean},payload:{}},{modelValue:{required:!0},modelModifiers:{}}),emits:["update:modelValue"],setup(t){const o=t,d=e.useModel(t,"modelValue"),n=o.useTopButton?I._sfc_main:"div",l=o.useTopButton?"html":"default",a={model:d,mode:o.mode,targetId:o.targetId,filters:o.filters,payload:o.payload};return(r,u)=>{const f=e.resolveDirective("top-data");return e.openBlock(),e.createBlock(E._sfc_main$1,{id:r.id},{default:e.withCtx(()=>[e.withDirectives((e.openBlock(),e.createBlock(e.resolveDynamicComponent(e.unref(n)),e.mergeProps({class:{"top-tagSelector":!0,"top-tagSelector-filter":o.mode==="filter","top-tagSelector-setter_single":o.mode==="setter"&&!r.filters,"top-tagSelector-setter_several":o.mode==="setter"&&r.filters,"top-tagSelector-selectedOne":!d.value.length||d.value.length===1,"top-tagSelector-toTwoLine":d.value.length>5},color:"theme",styling:""},r.$attrs),{[e.unref(l)]:e.withCtx(()=>[!d.value.length&&r.mode==="filter"?(e.openBlock(),e.createBlock(R,{key:0,id:"all",colorId:"",name:r.$i18n.Common.All_tags??"",state:""},null,8,["name"])):e.createCommentVNode("",!0),r.mode==="setter"&&r.filters?(e.openBlock(),e.createElementBlock("div",ye,[e.renderSlot(r.$slots,"default")])):(e.openBlock(!0),e.createElementBlock(e.Fragment,{key:2},e.renderList(d.value,v=>{var p,i;return e.openBlock(),e.createBlock(R,{id:e.unref(K)(v),colorId:((p=e.unref(O)(v,r.tags))==null?void 0:p.color_id)??"",name:((i=e.unref(O)(v,r.tags))==null?void 0:i.name)??"",state:e.unref(K)(v)===v?"selected":"excluded"},null,8,["id","colorId","name","state"])}),256))]),_:2},1040,["class"])),[[f,a,"topTagSelectorTarget"]])]),_:3},8,["id"])}}}),he=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}},{modelValue:{required:!0},modelModifiers:{},tags:{default:e.reactive(fe)},tagsModifiers:{}}),emits:e.mergeModels(["selector","setter","tagsChanged"],["update:modelValue","update:tags"]),setup(t,{emit:o}){const d=I.useI18n(),n=t,l=e.useModel(t,"modelValue"),a=e.useModel(t,"tags"),r=o,u=I.debounce((c,s)=>{r(c,s)},n.emitDelay);n.singleMode&&!l.value.length&&(l.value=[a.value[0].id]);const f=n.id??"top-popup-id-"+Math.random(),v=e.ref("add"),p=()=>{var m;const c=" "+((m=d.Common.Tags)==null?void 0:m.toLowerCase()),s=new Map;return s.set("add",{value:"add",title:d.Common.Add+c}),s.set("replace",{value:"replace",title:d.Common.Replace+c}),s.set("delete",{value:"delete",title:d.Common.Delete+c}),s};let i=e.shallowRef({model:l,mode:"filter",targetId:void 0,filters:void 0,payload:void 0});e.watch(l,()=>{u("selector",l.value)});const g=e.computed(()=>{if(i.value.mode==="setter"&&n.maxTagsForSetter&&!i.value.filters)return i.value.model.value.length>=n.maxTagsForSetter}),y=c=>{if(c!=="all"){if(i.value.model.value.includes(c))return"selected";if(i.value.model.value.includes(W(c)))return"excluded"}return c==="all"&&!i.value.model.value.length?"selected":""},C=(c,s)=>{const m=W(c);let h=i.value.model.value.filter(V=>V!==c&&V!==m);s==="select"&&h.push(c),s==="exclude"&&h.push(m),i.value.mode==="setter"&&i.value.targetId!==void 0&&n.requiredForSetter&&(h.length||h.push("1"),h.length===2&&i.value.model.value.length===1&&i.value.model.value[0]==="1"&&(h=h.filter(V=>V!=="1"))),n.singleMode&&!i.value.filters&&(h.length||(h=i.value.model.value),h.length>1&&(h=[h[h.length-1]])),h.sort((V,M)=>{if(!n.tags)return 0;const F=n.tags.findIndex(b=>b.id===V),N=n.tags.findIndex(b=>b.id===M);return F-N}),i.value.model.value=h,i.value.mode==="setter"&&i.value.targetId!==void 0&&u("setter",{tagsIds:h,targetId:i.value.targetId,payload:i.value.payload})},x=e.computed(()=>{let c="top-tagSelector_popup";return i.value.mode==="filter"&&(c+=" top-tagSelector_popup-filter"),i.value.mode==="setter"&&(c+=" top-tagSelector_popup-setter"),c}),S=()=>{const c=prompt("","New tag");if(!c||c==="New tag")return;const s=a.value.length+1;a.value.push({id:String(s),name:c,color_id:String((s-1)%10+1)}),r("tagsChanged",a.value)},T=c=>{var s;if(i.value=_.storage(c.elPopupOpener,"topTagSelectorTarget"),!i.value)throw new Error("Open popup TopTagSelector required v-data:topTagSelectorTarget");if(i.value.filters&&(v.value="add",i.value.model.value=[]),!((s=I.Core.$)!=null&&s.ui.sortable)){console.info("Для работы сортировки требуется глобальная загрузка jQuery UI Sortable");return}!I.Core.state.isMobile&&!I.Core.state.isMobileUA&&a.value&&$(c.elPopup).sortable({items:'li:has([data-tag_id]:not([data-tag_id="all"]))',cancel:'[contenteditable="plaintext-only"], [contenteditable="true"]',distance:10,stop:function(m,h){if(!a.value)return;const V=$(h.item).parent().find("[data-tag_id]"),M=[];V.each((F,N)=>{if(!a.value)return;const b=$(N).attr("data-tag_id");M.push(b)}),a.value.sort((F,N)=>{const b=M.findIndex(z=>z===F.id),Ve=M.findIndex(z=>z===N.id);return b-Ve}),u("tagsChanged",a.value)}})},B=c=>{var s;(s=I.Core.$)!=null&&s.ui.sortable&&$(c.elPopup).data("ui-sortable")&&$(c.elPopup).sortable("destroy")};return(c,s)=>(e.openBlock(),e.createElementBlock(e.Fragment,null,[e.createVNode(Q,{class:"top-select_arrow",modelValue:l.value,"onUpdate:modelValue":s[0]||(s[0]=m=>l.value=m),id:e.unref(f),tags:a.value,mode:"filter",useTopButton:""},null,8,["modelValue","id","tags"]),e.createVNode(E._sfc_main,{id:e.unref(f),class:e.normalizeClass(x.value),onOpen:s[4]||(s[4]=m=>T(m)),onClose:s[5]||(s[5]=m=>B(m)),"transition-duration":50},e.createSlots({contentList:e.withCtx(()=>[e.unref(i).mode==="filter"&&!c.singleMode?(e.openBlock(),e.createBlock(H,{key:0,id:"all",colorId:"",name:c.$i18n.Common.All_tags??"",state:e.unref(i).model.value.length?"":"selected",onSelect:s[3]||(s[3]=m=>e.unref(i).model.value=[])},null,8,["name","state"])):e.createCommentVNode("",!0),(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(a.value,m=>(e.openBlock(),e.createBlock(H,{key:m.id,id:m.id,colorId:m.color_id,name:m.name,state:y(m.id),canExclude:e.unref(i).mode==="filter"&&!c.singleMode,editable:c.tagsEditable,disabled:g.value&&y(m.id)==="",onUnselect:h=>C(m.id,"unselect"),onSelect:h=>C(m.id,"select"),onExclude:h=>C(m.id,"exclude"),"onUpdate:name":h=>{m.name=h,e.unref(u)("tagsChanged",a.value)}},null,8,["id","colorId","name","state","canExclude","editable","disabled","onUnselect","onSelect","onExclude","onUpdate:name"]))),128)),c.tagsEditable&&a.value.length<c.tagsMax&&a.value.length<20?(e.openBlock(),e.createBlock(E._sfc_main$2,{key:1,"data-top-icon":"",onClick:e.withModifiers(S,["stop"])},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(c.$i18n.Common.Add),1)]),_:1})):e.createCommentVNode("",!0)]),_:2},[e.unref(i).mode==="setter"&&e.unref(i).filters?{name:"header",fn:e.withCtx(()=>[e.createVNode(I._sfc_main$4,{modelValue:v.value,"onUpdate:modelValue":s[1]||(s[1]=m=>v.value=m),options:p()},null,8,["modelValue","options"])]),key:"0"}:void 0,e.unref(i).mode==="setter"&&e.unref(i).filters?{name:"footer",fn:e.withCtx(()=>[e.createVNode(I._sfc_main,{color:"theme"},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(c.$i18n.Common.Cancel),1)]),_:1}),e.createVNode(I._sfc_main,{onClick:s[2]||(s[2]=m=>e.unref(u)("setter",{tagsIds:e.unref(i).model.value,filters:e.unref(i).filters,filtersAction:v.value,payload:e.unref(i).payload}))},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(v.value==="add"?c.$i18n.Common.Add:"")+" "+e.toDisplayString(v.value==="replace"?c.$i18n.Common.Replace:"")+" "+e.toDisplayString(v.value==="delete"?c.$i18n.Common.Remove:""),1)]),_:1})]),key:"1"}:void 0]),1032,["id","class"])],64))}}),Se=(t,o)=>e.computed(()=>e.toValue(t).filter(l=>l.on>=0||l.id===o).map(l=>({value:l.id,title:l.url+` [${l.id}]`,icon:l.id===e.toValue(o)?"":"",content:l.name}))),ke=(t,o,d)=>{o||(o={id:t.id}),o.id=t.id;const n=ee.TopPopupWorker.genElPopupOpener("div",o);return n.classList.add("top-tagSelector"),t.useTopButton&&n.classList.add("top-button","top-color_theme"),t.mode==="filter"&&n.classList.add("top-tagSelector-filter"),t.mode==="setter"&&!t.filters&&n.classList.add("top-tagSelector-setter_single"),t.mode==="setter"&&t.filters&&n.classList.add("top-tagSelector-setter_several"),n.onclick=l=>{l.preventDefault(),l.stopPropagation(),n.onclick=null;const a=e.ref(t.modelValue),r={model:a,mode:t.mode,targetId:t.targetId,filters:t.filters,payload:t.payload};_.storage(n,"topTagSelectorTarget",r),delete n.dataset.topPopupDisabled,e.isRef(t.modelValue)||e.watch(a,()=>{t.modelValue=a.value,D(n,t,d)}),n.click()},e.isRef(t.modelValue)?e.watch(t.modelValue,()=>D(n,t,d)):_.storage(n,"topTagSelectorRender",l=>{t.modelValue=l;const a=_.storage(n,"topTagSelectorTarget");a&&(a.model.value=l),D(n,t,d)}),D(n,t,d),n},Ie=(t,o)=>{var d;(d=_.storage(t,"topTagSelectorRender"))==null||d(o)},D=(t,o,d)=>{var l;const n=e.unref(o.modelValue);if(t.classList.toggle("top-tagSelector-selectedOne",!n.length||n.length===1),t.classList.toggle("top-tagSelector-toTwoLine",n.length>5),o.mode==="setter"&&o.filters){t.innerHTML=`<div>${d}</div>`;return}if(t.innerHTML="",!n.length&&o.mode==="filter"){const a=X({id:"all",colorId:"",name:((l=I.useI18n().Common)==null?void 0:l.All_tags)??"",state:""});t.append(a)}n.forEach(a=>{var u,f;const r=X({id:K(a),colorId:((u=O(a,o.tags))==null?void 0:u.color_id)??"",name:((f=O(a,o.tags))==null?void 0:f.name)??"",state:K(a)===a?"selected":"excluded"});t.append(r)})},X=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},xe=oe,Ce=ge,Be=he,Te=Q,we=R;w.TopSelectorCompetitors=xe,w.TopSelectorRegion=Ce,w.TopTagSelector=Be,w.TopTagSelectorPopupOpener=Te,w.TopTagSelectorTagIcon=we,w.findRegion=Y,w.genElTopTagSelectorPopupOpener=ke,w.genSearcherByKey=U,w.renderElTopTagSelectorPopupOpener=Ie,w.useItemsFromCompetitors=Se,Object.defineProperty(w,Symbol.toStringTag,{value:"Module"})});
2
2
  //# sourceMappingURL=project.amd.js.map