@topvisor/ui 1.4.1-titleHTML.0 → 1.4.1-titleHTML.22

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 (67) hide show
  1. package/.chunks/core-BE_-rKvW.es.js +242 -0
  2. package/.chunks/core-BE_-rKvW.es.js.map +1 -0
  3. package/.chunks/core-DJS4o9Vt.amd.js +2 -0
  4. package/.chunks/core-DJS4o9Vt.amd.js.map +1 -0
  5. package/.chunks/{datepicker-D8SjLnKy.es.js → datepicker-C0jmLfiX.es.js} +2 -2
  6. package/.chunks/{datepicker-D8SjLnKy.es.js.map → datepicker-C0jmLfiX.es.js.map} +1 -1
  7. package/.chunks/{dialog_regionSelectorRegions-BVuXu3Hl.es.js → dialog_regionSelectorRegions-Btp9cfmF.es.js} +4 -4
  8. package/.chunks/{dialog_regionSelectorRegions-BVuXu3Hl.es.js.map → dialog_regionSelectorRegions-Btp9cfmF.es.js.map} +1 -1
  9. package/.chunks/{dialogs.vue_vue_type_script_setup_true_lang-DlvY7Imv.es.js → dialogs.vue_vue_type_script_setup_true_lang-DMhcuiHP.es.js} +2 -2
  10. package/.chunks/{dialogs.vue_vue_type_script_setup_true_lang-DlvY7Imv.es.js.map → dialogs.vue_vue_type_script_setup_true_lang-DMhcuiHP.es.js.map} +1 -1
  11. package/.chunks/{forms-Dz-wIQ-s.es.js → forms-BAUgA7Ct.es.js} +16 -16
  12. package/.chunks/{forms-Dz-wIQ-s.es.js.map → forms-BAUgA7Ct.es.js.map} +1 -1
  13. package/.chunks/{notice-B_txXVCr.es.js → notice-CGgc2m0q.es.js} +2 -2
  14. package/.chunks/{notice-B_txXVCr.es.js.map → notice-CGgc2m0q.es.js.map} +1 -1
  15. package/.chunks/{page.vue_vue_type_script_setup_true_lang-BKQrX7yF.es.js → page.vue_vue_type_script_setup_true_lang-BMTt9SU8.es.js} +4 -4
  16. package/.chunks/{page.vue_vue_type_script_setup_true_lang-BKQrX7yF.es.js.map → page.vue_vue_type_script_setup_true_lang-BMTt9SU8.es.js.map} +1 -1
  17. package/.chunks/{policy.vue_vue_type_style_index_0_lang-2tHXHN3e.es.js → policy.vue_vue_type_style_index_0_lang-LkyBILW6.es.js} +4 -4
  18. package/.chunks/{policy.vue_vue_type_style_index_0_lang-2tHXHN3e.es.js.map → policy.vue_vue_type_style_index_0_lang-LkyBILW6.es.js.map} +1 -1
  19. package/.chunks/{popup-DiKBvdXr.es.js → popup-CVHDbG9h.es.js} +2 -2
  20. package/.chunks/{popup-DiKBvdXr.es.js.map → popup-CVHDbG9h.es.js.map} +1 -1
  21. package/.chunks/{popupHint.vue_vue_type_style_index_0_lang-DkmYKxyr.es.js → popupHint.vue_vue_type_style_index_0_lang-BIWw5zUX.es.js} +2 -2
  22. package/.chunks/{popupHint.vue_vue_type_style_index_0_lang-DkmYKxyr.es.js.map → popupHint.vue_vue_type_style_index_0_lang-BIWw5zUX.es.js.map} +1 -1
  23. package/.chunks/{utils-CVP195Ai.es.js → utils-BYaZxGC1.es.js} +2 -2
  24. package/.chunks/{utils-CVP195Ai.es.js.map → utils-BYaZxGC1.es.js.map} +1 -1
  25. package/.chunks/{utils-B_WbEbrB.es.js → utils-DG_W0xvD.es.js} +3 -3
  26. package/.chunks/{utils-B_WbEbrB.es.js.map → utils-DG_W0xvD.es.js.map} +1 -1
  27. package/.chunks/{widgetInput.vue_vue_type_script_setup_true_lang-CCV8nSim.es.js → widgetInput.vue_vue_type_script_setup_true_lang-Brs-RxDI.es.js} +2 -2
  28. package/.chunks/{widgetInput.vue_vue_type_script_setup_true_lang-CCV8nSim.es.js.map → widgetInput.vue_vue_type_script_setup_true_lang-Brs-RxDI.es.js.map} +1 -1
  29. package/charts/charts.js +1 -1
  30. package/core/app.amd.js +1 -1
  31. package/core/app.js +5 -5
  32. package/dialog/dialog.js +2 -2
  33. package/forms/forms.js +3 -3
  34. package/formsExt/formsExt.amd.js +1 -1
  35. package/formsExt/formsExt.amd.js.map +1 -1
  36. package/formsExt/formsExt.js +68 -60
  37. package/formsExt/formsExt.js.map +1 -1
  38. package/icomoon/Topvisor icons.json +6658 -0
  39. package/icomoon/demo.html +15 -1
  40. package/icomoon/fonts/Topvisor-2.eot +0 -0
  41. package/icomoon/fonts/Topvisor-2.svg +1 -0
  42. package/icomoon/fonts/Topvisor-2.ttf +0 -0
  43. package/icomoon/fonts/Topvisor-2.woff +0 -0
  44. package/icomoon/selection.json +1 -1
  45. package/icomoon/style.css +8 -5
  46. package/layout/layout.js +1 -1
  47. package/package.json +1 -1
  48. package/popup/popup.js +4 -4
  49. package/popup/worker.js +2 -2
  50. package/project/project.amd.js +1 -1
  51. package/project/project.js +22 -22
  52. package/src/components/formsExt/editInput/editInput.vue.d.ts +16 -1
  53. package/src/core/directives/shortcut.d.ts +12 -0
  54. package/tabsView/tabsView.js +2 -2
  55. package/utils/clipboard.js +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/searchers.amd.js +1 -1
  61. package/utils/searchers.js +3 -3
  62. package/utils/string.js +1 -1
  63. package/web-types.json +31 -0
  64. package/.chunks/core-B-mZaxOL.amd.js +0 -2
  65. package/.chunks/core-B-mZaxOL.amd.js.map +0 -1
  66. package/.chunks/core-BNsYbDEi.es.js +0 -196
  67. package/.chunks/core-BNsYbDEi.es.js.map +0 -1
package/icomoon/style.css CHANGED
@@ -1,10 +1,10 @@
1
1
  @font-face {
2
2
  font-family: 'Topvisor-2';
3
- src: url('fonts/Topvisor-2.eot?jwzdqo');
4
- src: url('fonts/Topvisor-2.eot?jwzdqo#iefix') format('embedded-opentype'),
5
- url('fonts/Topvisor-2.ttf?jwzdqo') format('truetype'),
6
- url('fonts/Topvisor-2.woff?jwzdqo') format('woff'),
7
- url('fonts/Topvisor-2.svg?jwzdqo#Topvisor-2') format('svg');
3
+ src: url('fonts/Topvisor-2.eot?o5xol5');
4
+ src: url('fonts/Topvisor-2.eot?o5xol5#iefix') format('embedded-opentype'),
5
+ url('fonts/Topvisor-2.ttf?o5xol5') format('truetype'),
6
+ url('fonts/Topvisor-2.woff?o5xol5') format('woff'),
7
+ url('fonts/Topvisor-2.svg?o5xol5#Topvisor-2') format('svg');
8
8
  font-weight: normal;
9
9
  font-style: normal;
10
10
  font-display: block;
@@ -451,6 +451,9 @@
451
451
  .icon2-spider:before {
452
452
  content: "\e9f2";
453
453
  }
454
+ .icon2-gemini:before {
455
+ content: "\ea0b";
456
+ }
454
457
  .icon2-yandex-eng:before {
455
458
  content: "\e9ee";
456
459
  }
package/layout/layout.js CHANGED
@@ -4,7 +4,7 @@
4
4
  _autoloadCSSCore.insertCSSLinkToPage(fileNames, true);
5
5
 
6
6
  import { defineComponent as r, createElementBlock as t, openBlock as e, normalizeClass as c, renderSlot as n, createCommentVNode as _, createVNode as d, withCtx as i } from "vue";
7
- import { k as l } from "../.chunks/forms-Dz-wIQ-s.es.js";
7
+ import { k as l } from "../.chunks/forms-BAUgA7Ct.es.js";
8
8
  const p = /* @__PURE__ */ r({
9
9
  __name: "rows",
10
10
  props: {
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@topvisor/ui",
3
3
  "private": false,
4
- "version": "1.4.1-titleHTML.0",
4
+ "version": "1.4.1-titleHTML.22",
5
5
  "type": "module",
6
6
  "description": "Topvisor UI-kit Vue",
7
7
  "author": "Topvisor",
package/popup/popup.js CHANGED
@@ -1,8 +1,8 @@
1
- import { _ as b } from "../.chunks/popupHint.vue_vue_type_style_index_0_lang-DkmYKxyr.es.js";
2
- import { b as G, a as J } from "../.chunks/popupHint.vue_vue_type_style_index_0_lang-DkmYKxyr.es.js";
3
- import { _ as O } from "../.chunks/widgetInput.vue_vue_type_script_setup_true_lang-CCV8nSim.es.js";
1
+ import { _ as b } from "../.chunks/popupHint.vue_vue_type_style_index_0_lang-BIWw5zUX.es.js";
2
+ import { b as G, a as J } from "../.chunks/popupHint.vue_vue_type_style_index_0_lang-BIWw5zUX.es.js";
3
+ import { _ as O } from "../.chunks/widgetInput.vue_vue_type_script_setup_true_lang-Brs-RxDI.es.js";
4
4
  import { defineComponent as T, createBlock as L, openBlock as P, mergeProps as k, createSlots as S, withCtx as t, renderSlot as l, createVNode as y, createTextVNode as B, toDisplayString as v, unref as C, ref as I, watch as g, resolveDirective as F, withDirectives as w } from "vue";
5
- import { e as c, f as A } from "../.chunks/forms-Dz-wIQ-s.es.js";
5
+ import { e as c, f as A } from "../.chunks/forms-BAUgA7Ct.es.js";
6
6
  const U = /* @__PURE__ */ T({
7
7
  __name: "popupAlert",
8
8
  props: {
package/popup/worker.js CHANGED
@@ -1,4 +1,4 @@
1
- import { C as Core } from "../.chunks/forms-Dz-wIQ-s.es.js";
1
+ import { C as Core } from "../.chunks/forms-BAUgA7Ct.es.js";
2
2
  import DOM from "../utils/dom.js";
3
3
  class Worker {
4
4
  /**
@@ -53,7 +53,7 @@ class Worker {
53
53
  */
54
54
  static async open(elOpener, options) {
55
55
  elOpener instanceof HTMLElement && (elOpener.dataset.topPopupOpened = "opened");
56
- const { TopLibPopup } = await import("../.chunks/popup-DiKBvdXr.es.js");
56
+ const { TopLibPopup } = await import("../.chunks/popup-CVHDbG9h.es.js");
57
57
  if (Core.$) {
58
58
  const $elOpener = Core.$(elOpener);
59
59
  if ($elOpener.data("aftershow")) {
@@ -1,2 +1,2 @@
1
- define(["require","exports","vue","../.chunks/forms-B_v2vU59.amd","../.chunks/popupHint.vue_vue_type_style_index_0_lang-CdIajfDS.amd","../.chunks/policy.vue_vue_type_style_index_0_lang-Dgb5Q7Hx.amd","../.chunks/utils-DNzj9OOY.amd","../utils/searchers.amd","../.chunks/core-B-mZaxOL.amd","../.chunks/dialogs.vue_vue_type_script_setup_true_lang-B3hYoW1m.amd","../.chunks/field-Cvv0SRcJ.amd","../utils/dom.amd","../popup/worker.amd","../require/css.amd!../assets/project.css"],(function(se,B,e,y,V,C,fe,W,Je,Ye,H,A,ge){"use strict";if(typeof e>"u")var e=window.Vue;const me={class:"top-competitorSelector"},ve={class:"top-ellipsis1"},pe=e.defineComponent({__name:"competitorSelector",props:e.mergeModels({modelValue:{},items:{},showSelectAllItem:{type:Boolean,default:!0}},{modelValue:{},modelModifiers:{}}),emits:["update:modelValue"],setup(t){const a=t,l=e.useModel(t,"modelValue"),o=e.computed(()=>{if(a.showSelectAllItem)return{icon:"",title:y.useI18n().Common.Select_all,value:"all",content:""}});return(d,n)=>(e.openBlock(),e.createElementBlock("div",me,[e.unref(y.Core).state.isMobile?(e.openBlock(),e.createBlock(V._sfc_main,{key:0},{opener:e.withCtx(()=>[e.createVNode(y._sfc_main$1,{class:"top-competitorSelector_opener",color:"theme",icon:"",icon2:""},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(t.items.find(r=>r.value===l.value?.[0])?.content),1)]),_:1})]),contentList:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(t.items,r=>(e.openBlock(),e.createBlock(V._sfc_main$2,{class:e.normalizeClass({"top-active":l.value?.includes(r.value)}),"data-top-icon":r.icon,title:r.title,onClick:()=>l.value=[r.value]},{default:e.withCtx(()=>[e.createElementVNode("span",ve,e.toDisplayString(r.content),1)]),_:2},1032,["class","data-top-icon","title","onClick"]))),256))]),_:1})):(e.openBlock(),e.createBlock(C._sfc_main$1,{key:1,modelValue:l.value,"onUpdate:modelValue":n[0]||(n[0]=r=>l.value=r),items:t.items,isMultiple:!0,styling:"bar",canBeEmptyMultiple:!1,selectAllItem:o.value},null,8,["modelValue","items","selectAllItem"]))]))}}),he=(t,a)=>e.computed(()=>e.toValue(t).filter(d=>d.on>=0||d.id===a).map(d=>({value:d.id,title:d.url+` [${d.id}]`,icon:d.id===e.toValue(a)?"":"",content:d.name}))),T=-1,h=-2,O=-1,ye={0:"Yandex",1:"Google",4:"YouTube",5:"Bing",7:"Seznam",8:"AppStore",9:"GoogleStore",20:"Yandex.com",21:"Yandex.com.tr"},_={key:h,name:"--",index:h},ee={key:h,name:"--",regions:[_],regionByIndex:new Map([[h,_]])},R={key:h,name:"Autoselect",index:h},J={key:h,name:"Autoselect",regions:[R],regionByIndex:new Map([[h,R]])},te={countryCode:"00",depth:1,device:0,key:O,index:O,lang:"ru",name:"Without region"},Ie=()=>(R.name=y.useI18n().Common.Autoselect,R),Se=()=>(Ie(),J.name=y.useI18n().Common.Autoselect,console.log(J),J),ke=()=>(te.name=y.useI18n().Keywords.Without_region,te),Y=(t=!1,a=!1,l=[])=>{let o;return t?o=xe(l):o=oe(l),a&&o.set(h,Se()),o.size||o.set(h,ee),o},oe=(t,a=!0,l=[],o=!1)=>{const d=new Map;return t.forEach(n=>{if(!n.enabled||o&&typeof n.key=="number"&&n.key>1)return;const r={...n};r.regionByIndex=new Map,n.regions&&n.regions.forEach(c=>{if(a&&!c.enabled)return;const m={...c};r.regionByIndex.set(m.index,m)}),!r.regionByIndex.size&&l.length,(!n.regions||r.regionByIndex.size||l.length)&&typeof r.key=="number"&&d.set(r.key,r)}),l.forEach(n=>{if(d.has(n))return;const r={key:n,name:ye[n],regions:[],regionByIndex:new Map};d.set(r.key,r)}),d},xe=t=>{const a=oe(t,!1,[0,1],!0);if(a.has(2)){const l=a.get(2);l&&(l.regionByIndex=new Map)}return a.forEach(l=>{if(!l.regionByIndex)return;const o={...ke()};l.regionByIndex.set(o.index,o)}),a},le=(t,a,l=[])=>{const o=Y(t,!1,l);let d;return o.forEach(n=>{if(!(a.searcher_key!==void 0&&a.searcher_key!=n.key)&&n.regions&&(n.regions.forEach(r=>{if(!d&&!(a.key!==void 0&&a.key!=r.key)&&!(a.index!==void 0&&a.index!=r.index)&&!(!t&&(a.lang!==void 0&&a.lang!=r.lang||a.device!==void 0&&a.device!=r.device)))return r.searcher_key=n.key,d=r,!1}),d))return!1}),d},ne=fe.useAsyncTopDialog(()=>new Promise((t,a)=>se(["../.chunks/dialog_regionSelectorRegions-C1DNLHM7.amd"],t,a))),Be=(t,a)=>{const l=y.useI18n(),o=e.ref(a.value.keys().next().value??h),d=e.computed(()=>{const n=new Map;if(a.value.forEach(r=>{let c={value:r.key,title:r.name};t.addSearcherIcon&&(c.icon=W.getSearcherGIcon(r.key)),n.set(r.key,c)}),t.addCompare&&!n.has(h)){const r={value:"",title:"--------------------",disabled:!0};n.set(r.value,r);const c={value:T,title:l.Common.Compare};n.set(c.value,c)}return n});return{searcherKey:o,optionBySearcherKey:d}},Ce=(t,a)=>{const l=y.useI18n(),o=e.ref(h);t.modelValue.length===1&&(o.value=t.modelValue[0]),o.value===h&&(t.forFrequency?o.value=a.value?.regionByIndex.values().next().value?.key??h:o.value=a.value?.regionByIndex.keys().next().value??h);const d=e.computed(()=>{const n=new Map;return a.value.regionByIndex?.forEach(r=>{let c=r.name;if(t.forFrequency){const k={value:r.key,title:c};n.has(r.key)||n.set(r.key,k);return}r.device&&(c+=" ("+l.Common["Device_"+r.device]+")");const m=W.getLangLabel(a.value.key||0,r.lang??"");m&&(c+=" / "+m);const f={value:r.index,title:c,icon:r.device?W.getDeviceGIcon(r.device):void 0};n.set(r.index,f)}),n});return e.watch(d,(n,r)=>{if(t.onlySearcher||o.value!==void 0&&n.get(o.value))return;let c=n.keys().next().value;if(o.value===h||c===h){o.value=c;return}let m=r?.get(o.value)?.title||"",f=-1;for(const[k,i]of n.entries()){const v=i.title;if(typeof v!="string"||typeof k=="string")break;if(v===m){c=k;break}const u=new RegExp(` \\((${l.Common.Device_1}|${l.Common.Device_2})\\)`);let s=m,g=3;v.indexOf(s)===-1&&(s=m.replace(/^[^a-zа-я]/i,"").replace(u,""),g--),v.indexOf(s)===-1&&(s=m.replace(/ \/.*/,""),g--),v.indexOf(s)===-1&&(s=m.replace(/ \/.*/,""),s=s.replace(/^[^a-zа-я]/i,"").replace(u,""),g--),v.indexOf(s)!==-1&&(g<=f||(f=g,c=k))}o.value=c}),{regionIndex:o,optionByRegionIndex:d}},we=(t,a,l)=>{const o=e.ref([]),d=()=>{if(t.onlySearcher&&a.value){o.value=Array.from(a.value.keys());return}let r=[];if(t.modelValue.length>1)r=[...t.modelValue];else try{r=JSON.parse(localStorage.getItem("ui:project:regionSelector"+t.projectId+":regionsIndexes"))??[]}catch{}r.length&&(r=r.filter(c=>l.value.has(c))),r.length||(r=Array.from(l.value)),o.value=[...r]},n=()=>{o.value.length?localStorage.setItem("ui:project:regionSelector:"+t.projectId+":regionsIndexes",JSON.stringify(o.value)):localStorage.removeItem("ui:project:regionSelector:"+t.projectId+":regionsIndexes")};return e.watch(o,()=>{n()}),t.addCompare&&d(),{regionsIndexes:o}},Te=t=>{const a=e.computed(()=>Y(t.forFrequency,t.autoRegion,t.searchers)),l=e.computed(()=>a.value.get(d.searcherKey.value)||ee),o=e.computed(()=>{const i=new Set;return a.value.forEach(v=>{v.regionByIndex.forEach(u=>{u.index!==O&&u.index!==h&&i.add(u.index)})}),i}),d=Be(t,a),n=Ce(t,l),r=we(t,a,o);e.watch(a,()=>{if(t.onlySearcher?r.regionsIndexes.value=Array.from(a.value.keys()):r.regionsIndexes.value=r.regionsIndexes.value.filter(v=>o.value.has(v)),d.searcherKey.value===T)return;let i=a.value.keys().next().value;a.value.forEach(v=>{if(t.onlySearcher&&v.key===d.searcherKey.value){i=d.searcherKey.value;return}if(n.regionIndex.value&&v.regionByIndex?.has(n.regionIndex.value)&&(i=v.key),!t.onlySearcher){let u;i!==void 0&&(u=a.value.get(i)?.regionByIndex);const s=a.value.get(v.key)?.regionByIndex;u?.has(h)&&!s?.has(h)&&(i=v.key)}}),i!==void 0&&(d.searcherKey.value=i),n.regionIndex.value!==void 0&&!l.value?.regionByIndex?.has(n.regionIndex.value)&&(n.regionIndex.value=l.value?.regions?.keys().next().value)},{immediate:!0});const c=()=>{if(!(d.searcherKey.value===T||d.searcherKey.value===h))return d.searcherKey.value},m=()=>{if(t.onlySearcher||n.regionIndex.value===h)return;let i=n.regionIndex.value;if(t.forFrequency){const v=n.regionIndex.value;i=le(t.forFrequency,{searcher_key:c(),key:v},t.searchers)?.index}return i},f=()=>{const i=c();if(i!==void 0)return a.value.get(i)};return{selectSearcher:d,selectRegion:n,compare:r,searcherByKey:a,allRegionsIndexes:o,getSearcher:f,getRegion:()=>{const i=m();if(i!==void 0)return f()?.regionByIndex?.get(i)}}},Me=e.defineComponent({__name:"regionSelector",props:e.mergeModels({projectId:{},searchers:{default:()=>[]},modelValue:{},modelValueSingle:{},addCompare:{type:Boolean},forFrequency:{type:Boolean},autoRegion:{type:Boolean},onlySearcher:{type:Boolean},addChanger:{type:Boolean,default:!0},addSearcherIcon:{type:Boolean,default:!0},addRegionIcon:{type:Boolean,default:!0}},{modelValue:{required:!0},modelModifiers:{},modelValueSingle:{},modelValueSingleModifiers:{}}),emits:["update:modelValue","update:modelValueSingle"],setup(t,{expose:a}){const l=t,o=e.useModel(t,"modelValue"),d=e.useModel(t,"modelValueSingle"),{selectSearcher:n,selectRegion:r,compare:c,searcherByKey:m,allRegionsIndexes:f,getSearcher:k,getRegion:i}=Te(l),v=()=>{const u=[];m.value.forEach(s=>{s.enabled&&s.regions.forEach(g=>{g.enabled&&u.push(g)})}),ne.open("regions",{regions:u,regionsIndexes:c.regionsIndexes.value,"@update:regionsIndexes":s=>c.regionsIndexes.value=s})};return e.watch([r.regionIndex,n.searcherKey,c.regionsIndexes],()=>{if(n.searcherKey.value===T&&c.regionsIndexes.value.length){if(JSON.stringify(o.value)===JSON.stringify(c.regionsIndexes.value))return;o.value=[...c.regionsIndexes.value]}else l.onlySearcher?(o.value=[n.searcherKey.value],n.searcherKey.value===h&&!l.autoRegion&&(o.value.length=0)):(o.value=[r.regionIndex.value],r.regionIndex.value===h&&!l.autoRegion&&(o.value.length=0));!l.onlySearcher&&!f.value.size&&(n.searcherKey.value=h)}),d.value&&e.watch(d,()=>{d.value&&(o.value=[d.value])},{immediate:!0}),e.watch(o,()=>{if(o.value[0]&&(d.value=o.value[0]),l.onlySearcher){if(!o.value.length||o.value.length===1&&!m.value.has(o.value[0])||o.value.length===1&&o.value[0]===h&&!l.autoRegion){let u=m.value.keys().next().value;u===h&&!l.autoRegion&&(u=void 0,d.value=h),u!==void 0?o.value=[u]:o.value.length=0;return}if(o.value.length>1&&JSON.stringify(o.value)!==JSON.stringify(c.regionsIndexes.value)){o.value=[...c.regionsIndexes.value];return}}else{let u=[...new Set(o.value)],s=m.value.values().next().value?.regionByIndex?.keys().next().value;if(l.forFrequency&&(s=m.value.values().next().value?.regionByIndex?.values().next().value?.key),s===h&&!l.autoRegion&&(s=void 0,d.value=h),!u.length)s!==void 0&&u.push(s);else if(u.length===1){let g=f.value;l.forFrequency&&(g=new Set,m.value.forEach(U=>{U.regionByIndex.forEach(N=>{N.index!==O&&N.index!==h&&g.add(N.key)})})),g.has(u[0])||(u=[],s!==void 0&&u.push(s))}else u=u.filter(g=>f.value.has(g)),!u.length&&s!==void 0&&u.push(s);if(JSON.stringify(o.value)!==JSON.stringify(u)){o.value=u;return}}if(!(o.value.length===1&&o.value[0]===(l.onlySearcher?n.searcherKey.value:r.regionIndex.value)))if(l.onlySearcher){if(o.value.length===1){n.searcherKey.value=o.value[0];return}n.searcherKey.value=T;return}else{if(!o.value.length)return;if(o.value.length===1&&n.searcherKey.value!==T){r.regionIndex.value=o.value[0];let u;for(const s of m.value.values()){for(const g of s.regionByIndex.values())if((l.forFrequency?g.key:g.index)===r.regionIndex.value){u=s.key;break}if(u!==void 0)break}u!==void 0&&(n.searcherKey.value=u)}else n.searcherKey.value=T,c.regionsIndexes.value=[...o.value]}},{immediate:!0}),a({getSearcher:k,getRegion:i}),(u,s)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass({"top-selectorRegion":!0,"top-selectorRegion-onlySearcher":t.onlySearcher})},[e.createVNode(y._sfc_main$10,{options:e.unref(n).optionBySearcherKey.value,modelValue:e.unref(n).searcherKey.value,"onUpdate:modelValue":s[0]||(s[0]=g=>e.unref(n).searcherKey.value=g),name:"searcher_key",addChanger:t.addChanger},null,8,["options","modelValue","addChanger"]),!t.onlySearcher&&e.unref(n).searcherKey.value!==e.unref(T)?(e.openBlock(),e.createBlock(y._sfc_main$10,{key:0,class:"top-select-region",options:e.unref(r).optionByRegionIndex.value,modelValue:e.unref(r).regionIndex.value,"onUpdate:modelValue":s[1]||(s[1]=g=>e.unref(r).regionIndex.value=g),name:t.forFrequency?"region_key":"region_index",addChanger:t.addChanger,"data-top-icon":t.addRegionIcon?"":void 0},null,8,["options","modelValue","name","addChanger","data-top-icon"])):e.createCommentVNode("",!0),t.addCompare&&!t.onlySearcher&&e.unref(n).searcherKey.value===e.unref(T)?(e.openBlock(),e.createBlock(y._sfc_main$1,{key:1,name:"compare",onClick:v,"data-count-compare-regions-indexes":e.unref(c).regionsIndexes.value.length},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(u.$i18n.Common.Selected_regions),1)]),_:1},8,["data-count-compare-regions-indexes"])):e.createCommentVNode("",!0)],2))}}),M={id:0,name:"/",path:"/"};function Ve(t){return t?y.useI18n()?.Common.All_folders:"/ ("+y.useI18n()?.Keywords.Root_folder+")"}const Q=(t,a,l=new Map,o={id:"root"},d=0)=>(o.childsIds=[],o.id&&(o.countAllGroupsActive=o.count_groups_active),t[o.id]&&t[o.id].forEach(n=>{n={...n},o.childsIds.push(n.id),n.id===0&&(n.name=Ve(a));const r=d>1?"-".repeat(d-1)+" ":"";r&&!n.name.startsWith(r)&&(n.name=r+n.name),l.set(n.id,n),Q(t,a,l,n,d+1),o.childsIds=o.childsIds.concat(n.childsIds),o.id&&n.count_groups_active&&(o.countAllGroupsActive+=n.count_groups_active)}),l),Ae=t=>t.gen("/get/keywords_2/folders/",["id","parent_id","name","path"]).changeParams({orders:["ord_path"],limit:100});function X(t,a,l){const o=Object.keys(t),d=o.map(n=>t[n]);return e.watch(d,(n,r,c)=>{const m={};n.forEach((f,k)=>{if(!Object.is(f,r[k])){const i=o[k];m[i]={old:r[k],new:f}}}),Object.keys(m).length&&a(m,c)},l)}const Ee=e.defineComponent({__name:"folders",props:e.mergeModels({folderId:{},folder:{},folders:{},projectId:{},canSelectAll:{type:Boolean},addChanger:{type:Boolean},addIcon:{type:Boolean,default:!0},client:{}},{folderId:{required:!0},folderIdModifiers:{},folder:{default:M},folderModifiers:{}}),emits:["update:folderId","update:folder"],setup(t){const a=t,l=e.useModel(t,"folderId"),o=e.useModel(t,"folder"),d=a.client&&!a.folders?Ae(a.client):void 0,n=e.ref(null);e.watch(()=>a.projectId,()=>{d?.changeParams({project_id:a.projectId}),d?.setOptions({checkFingerprint:"TopGroupSelectorFolders:"+a.projectId}),n.value?.resetCache()},{immediate:!0});const r=e.computed(()=>Q(a.folders??{root:[M]},a.canSelectAll));return X({modelFolder:o,modelFolderId:l},async c=>{if(l.value===o.value.id)return;if(c.modelFolder&&!c.modelFolderId){l.value=o.value.id;return}let m=r.value.get(a.folderId);m||(m=M),o.value=m,l.value=m.id},{immediate:!0}),(c,m)=>(e.openBlock(),e.createBlock(C._sfc_main,{class:"top-groupSelector_folder",modelValue:o.value,"onUpdate:modelValue":m[0]||(m[0]=f=>o.value=f),items:t.folders?[...r.value.values()]:void 0,"search-type":"inline",icon:t.addIcon?"":void 0,api:t.folders?void 0:e.unref(d),apiSetSearchParams:(...f)=>e.unref(C.apiSetSearchParamsFilter)(...f,"name"),addChanger:t.addChanger,useCache:""},null,8,["modelValue","items","icon","api","apiSetSearchParams","addChanger"]))}}),j={id:-1,name:"--",folder_id:M.id,folder_path:M.path},D={id:C.ITEM_ID_ALL,name:"All groups",folder_id:M.id,folder_path:M.path},E=()=>(D.name=y.useI18n()?.Common.All_groups,D),ae=()=>(D.name=y.useI18n()?.Keywords.Choose_group,D),be=(t,a,l)=>(t=[...t],a!==void 0&&(t=t.filter(o=>o.on==Number(a))),l&&l.id&&l.childsIds&&(t=t.filter(o=>o.folder_id===l.id||l.childsIds.includes(o.folder_id))),t),re=t=>t.gen("/get/keywords_2/groups/",["id","name","folder_id","folder_path"]).changeParams({folder_id_depth:!0,limit:100}),$e=t=>t.gen("/add/keywords_2/groups/"),Ne={class:"top-groupSelector_groupItem"},Ge={key:0,class:"top-comment"},Ke={key:1,class:"top-groupSelector_groupItemFolderPath"},Le=e.defineComponent({__name:"groups",props:e.mergeModels({groupId:{},group:{},projectId:{},folder:{},groups:{},on:{type:Boolean,default:void 0},canAdd:{type:[String,Boolean]},canSelectAll:{type:[Boolean,String]},autoselect:{default:"first"},addChanger:{type:Boolean,default:!0},showPath:{type:Boolean},addIcon:{type:Boolean,default:!0},client:{}},{groupId:{required:!0},groupIdModifiers:{},group:{required:!0},groupModifiers:{}}),emits:e.mergeModels(["addGroup"],["update:groupId","update:group"]),setup(t,{emit:a}){const l=t,o=a,d=e.useModel(t,"groupId"),n=e.useModel(t,"group"),r=l.client&&!l.groups?re(l.client):void 0,c=l.client?$e(l.client):void 0,m=e.ref(null),f=e.ref(void 0),k=H.genFieldFilter("folder_id","EQUALS",[l.folder?.id??0]);r?.changeParams({project_id:l.projectId,folder_id_depth:!0,filters:[k]}),l.on!==void 0&&r?.params.filters?.push(H.genFieldFilter("on","EQUALS",[Number(l.on)]));const i=u=>{n.value=u,d.value=u.id};X({projectId:()=>l.projectId,folderId:()=>l.folder?.id,canSelectAll:()=>l.canSelectAll},u=>{if(u.projectId&&(r?.changeParams({project_id:l.projectId}),r?.setOptions({checkFingerprint:"TopGroupSelectorGroups:"+l.projectId})),u.folderId&&(k.values=[l.folder?.id??0],l.groups&&(f.value=be(l.groups,l.on,l.folder))),m.value?.resetCache(),(u.folderId?.old!==void 0||u.canSelectAll?.old!==void 0)&&d.value!==C.ITEM_ID_NEW){let s;l.autoselect==="first"&&(s=f.value?.[0],l.canSelectAll&&(s=e.reactive(E()))),(l.autoselect==="placeholder"||!s)&&(s=ae()),i(s)}},{immediate:!0}),X({modelGroup:n,modelGroupId:d},async u=>{if(d.value!==n.value.id){if(u.modelGroup&&!u.modelGroupId){d.value=n.value.id;return}if(!(l.canAdd&&d.value===C.ITEM_ID_NEW)){if(l.groups){let s=f.value?.find(g=>g.id===d.value);if(!s&&l.canSelectAll&&(s=E()),s)i(s);else{const g=f.value?.[0];g&&!d.value?i(g):i(j)}}if(l.client&&!l.groups&&(d.value||d.value===C.ITEM_ID_ALL&&!l.canSelectAll)){const s=re(l.client).changeParams({project_id:l.projectId,id:d.value,filters:[k]});s?.setOptions({checkFingerprint:"TopGroupSelectorFindGroup:"+l.projectId});const g=await s.call();if(!g.errors?.length&&!g.result)return;!g.errors&&g.result[0]?i(g.result[0]):i(j)}}}},{immediate:!0});const v=async u=>{if(l.canAdd!=="api"||!c)return;const s=n.value,g=await c.changeParams({project_id:l.projectId,names:[u.name],to_id:l.folder?.id??M.id,to_type:"in_folder_last"}).call();g.result?(i(g.result),o("addGroup",g.result)):i(s),m.value?.resetCache(!0)};return(u,s)=>(e.openBlock(),e.createBlock(C._sfc_main,{ref_key:"refSelector",ref:m,class:"top-groupSelector_group",modelValue:n.value,"onUpdate:modelValue":s[0]||(s[0]=g=>n.value=g),items:f.value??t.groups,searchType:"inline",icon:t.addIcon?"":void 0,api:t.groups?void 0:e.unref(r),apiSetSearchParams:(...g)=>e.unref(C.apiSetSearchParamsFilter)(...g,"name"),appendSearchToResult:!!t.canAdd,useAllItem:t.canSelectAll?e.unref(E)().name:!1,addChanger:t.addChanger,useCache:"",onAppendItem:v},{item:e.withCtx(({item:g})=>[e.createElementVNode("div",Ne,[g.id===e.unref(C.ITEM_ID_NEW)?(e.openBlock(),e.createElementBlock("div",Ge,e.toDisplayString(u.$i18n.Common.Add)+": ",1)):e.createCommentVNode("",!0),e.createElementVNode("span",null,e.toDisplayString(g.name),1),g.folder_path&&t.showPath?(e.openBlock(),e.createElementBlock("span",Ke,e.toDisplayString(g.folder_path),1)):e.createCommentVNode("",!0)])]),_:1},8,["modelValue","items","icon","api","apiSetSearchParams","appendSearchToResult","useAllItem","addChanger"]))}}),Oe={class:"top-groupSelector"},Re=e.defineComponent({__name:"groupSelector",props:e.mergeModels({folderId:{},folder:{},groupId:{},group:{},projectId:{},folders:{},groups:{},on:{type:Boolean,default:void 0},canSelectAllGroups:{type:Boolean},canAddGroup:{},autoselect:{default:"first"},addChanger:{type:Boolean,default:!0},showFolders:{type:Boolean,default:!0},showGroups:{type:Boolean,default:!0},addIcon:{type:Boolean,default:!0},client:{}},{folderId:{required:!0},folderIdModifiers:{},folder:{},folderModifiers:{},groupId:{required:!0},groupIdModifiers:{},group:{default:j},groupModifiers:{}}),emits:e.mergeModels(["update:groups"],["update:folderId","update:folder","update:groupId","update:group"]),setup(t,{emit:a}){const l=t,o=e.useModel(t,"folderId"),d=e.useModel(t,"folder"),n=e.useModel(t,"groupId"),r=e.useModel(t,"group"),c=a,m=Q(l.folders??{root:[M]},l.canSelectAllGroups);d.value=m.get(o.value);let f=l.groups?.find(i=>i.id===n.value);n.value||(f=l.groups?.[0]),l.canSelectAllGroups&&!f&&(f=E()),l.canSelectAllGroups&&!f&&(f=E()),(l.autoselect==="placeholder"||!f)&&(f=ae()),f??=j,r.value=f;const k=i=>{let v;l.groups&&i&&(v=[...l.groups,i]),c("update:groups",v)};return(i,v)=>(e.openBlock(),e.createElementBlock("div",Oe,[t.showFolders?(e.openBlock(),e.createBlock(Ee,{key:0,folderId:o.value,"onUpdate:folderId":v[0]||(v[0]=u=>o.value=u),folder:d.value,"onUpdate:folder":v[1]||(v[1]=u=>d.value=u),projectId:t.projectId,folders:t.folders,canSelectAll:t.canSelectAllGroups,addChanger:t.addChanger,addIcon:t.addIcon,client:t.client},null,8,["folderId","folder","projectId","folders","canSelectAll","addChanger","addIcon","client"])):e.createCommentVNode("",!0),t.showGroups?(e.openBlock(),e.createBlock(Le,{key:1,groupId:n.value,"onUpdate:groupId":v[2]||(v[2]=u=>n.value=u),group:r.value,"onUpdate:group":v[3]||(v[3]=u=>r.value=u),projectId:t.projectId,folder:d.value,groups:t.groups,on:t.on,canAdd:t.canAddGroup,canSelectAll:t.canSelectAllGroups,autoselect:t.autoselect,addChanger:t.addChanger,showPath:t.showFolders&&!!t.folders?.[0],addIcon:t.addIcon,client:t.client,onAddGroup:k},null,8,["groupId","group","projectId","folder","groups","on","canAdd","canSelectAll","autoselect","addChanger","showPath","addIcon","client"])):e.createCommentVNode("",!0)]))}}),de=t=>"-"+t,b=t=>t[0]==="-"?t.substring(1):t,P=(t,a)=>{t=b(t);const l=a.find(o=>o.id===t);if(l)return l},je=(t,a,l)=>{a||(a={id:t.id}),a.id=t.id,a.pos??="3",a.notch??=!0,a.posBy??="fixed";const o=ge.TopPopupWorker.genElPopupOpener("div",a);return o.classList.add("top-tagSelector"),t.useTopButton&&o.classList.add("top-tagSelector-useTopButton","top-button","top-color_theme","top-as-selector"),t.useTopButton||o.classList.add("top-tagSelector-custom"),t.mode==="filter"&&o.classList.add("top-tagSelector-filter"),t.mode==="setter"&&!t.filters&&o.classList.add("top-tagSelector-setter_single"),t.mode==="setter"&&t.filters&&o.classList.add("top-tagSelector-setter_several"),o.onclick=d=>{d.preventDefault(),d.stopPropagation(),o.onclick=null;const n=e.ref(t.modelValue),r={model:n,mode:t.mode,targetId:t.targetId,filters:t.filters,payload:t.payload};A.storage(o,"topTagSelectorTarget",r),delete o.dataset.topPopupDisabled,e.isRef(t.modelValue)||e.watch(n,()=>{t.modelValue=n.value,F(o,t,l)}),o.click()},e.isRef(t.modelValue)?e.watch(t.modelValue,()=>F(o,t,l)):A.storage(o,"topTagSelectorRender",d=>{t.modelValue=d;const n=A.storage(o,"topTagSelectorTarget");n&&(n.model.value=d),F(o,t,l)}),F(o,t,l),o},De=(t,a)=>{A.storage(t,"topTagSelectorRender")?.(a)},F=(t,a,l)=>{const o=e.unref(a.modelValue);if(t.classList.toggle("top-tagSelector-selectedOne",!o.length||o.length===1),t.classList.toggle("top-tagSelector-toTwoLine",o.length>5),a.mode==="setter"&&a.filters){t.innerHTML=`<div>${l}</div>`;return}if(t.innerHTML="",!o.length&&a.mode==="filter"){const d=ie({id:"all",colorId:"",name:y.useI18n().Common?.All_tags??"",state:""});t.append(d)}o.forEach(d=>{const n=ie({id:b(d),colorId:P(d,a.tags)?.color_id??"",name:P(d,a.tags)?.name??"",state:b(d)===d?"selected":"excluded"});t.append(n)})},ie=t=>{const a=document.createElement("div");return a.classList.add("top-tagSelector_tagIcon"),a.classList.toggle("top-tagSelector-active",!!t.state),a.classList.toggle("top-tagSelector-excluded",t.state==="excluded"),a.dataset.tag_id=t.id,a.dataset.tag_color_id=t.colorId,a.title=t.name,a},Pe=[{id:"1",name:"Without Tag",color_id:"1"},{id:"2",name:"Red",color_id:"2"},{id:"3",name:"Orange",color_id:"3"},{id:"4",name:"Yellow",color_id:"4"},{id:"5",name:"Blue",color_id:"5"},{id:"6",name:"Purple",color_id:"6"},{id:"7",name:"Green",color_id:"7"},{id:"8",name:"Magenta",color_id:"8"},{id:"9",name:"Dark blue",color_id:"9"},{id:"10",name:"Turquoise",color_id:"10"}],Fe=["data-tag_id","data-tag_color_id","title"],q=e.defineComponent({__name:"tagIcon",props:{id:{},colorId:{},name:{},state:{}},setup(t){return(a,l)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass({"top-tagSelector_tagIcon":!0,"top-tagSelector-active":!!t.state,"top-tagSelector-excluded":t.state==="excluded"}),"data-tag_id":t.id,"data-tag_color_id":t.colorId,title:t.name},null,10,Fe))}}),qe=["contenteditable","onKeydown"],ue=e.defineComponent({__name:"tagPopupListItem",props:e.mergeModels({editable:{type:Boolean},disabled:{type:Boolean},canExclude:{type:Boolean},id:{},colorId:{},name:{},state:{}},{name:{required:!0},nameModifiers:{}}),emits:e.mergeModels(["update:name","unselect","exclude","select"],["update:name"]),setup(t,{emit:a}){const l=t,o=a,d=e.useModel(t,"name"),n=e.ref(null),r=e.computed(()=>navigator.userAgent.indexOf("Firefox")!=-1?{contenteditable:c.value,onpaste:v=>v.preventDefault()}:{}),c=e.ref(!1),m=async()=>{c.value=!0,await e.nextTick(),n.value?.focus()},f=()=>{const v=n.value?.innerText;if(!v)return k();n.value&&(n.value.innerText=v),c.value=!1,o("update:name",v)},k=async()=>{n.value&&(n.value.innerText=l.name),c.value=!1},i=v=>{if(c.value||l.disabled)return;let u="selected";l.canExclude&&(v.ctrlKey||v.metaKey)&&(u="excluded"),l.state==u&&(u=""),u===""&&o("unselect"),u==="selected"&&o("select"),u==="excluded"&&o("exclude")};return(v,u)=>(e.openBlock(),e.createBlock(V._sfc_main$2,{class:e.normalizeClass({"top-tagSelector_tagListItem":!0,"top-tagSelector_tagListItem-inEdit":c.value,"top-tagSelector_tagListItem-disabled":t.disabled,"top-tagSelector_tagListItem-canExclude":t.canExclude,"top-tagSelector-active":!!t.state,"top-tagSelector-excluded":t.state==="excluded"}),onClick:e.withModifiers(i,["stop"])},{default:e.withCtx(()=>[e.createVNode(q,{id:t.id,name:d.value,colorId:t.colorId,state:t.state},null,8,["id","name","colorId","state"]),e.createElementVNode("span",e.mergeProps({ref_key:"elName",ref:n,class:"top-tagSelector_tagListItemName",contenteditable:c.value?"plaintext-only":!1},r.value,{onKeydown:[e.withKeys(e.withModifiers(f,["stop"]),["enter"]),e.withKeys(e.withModifiers(k,["stop"]),["esc"])]}),e.toDisplayString(d.value),17,qe),t.editable?(e.openBlock(),e.createElementBlock(e.Fragment,{key:0},[c.value?(e.openBlock(),e.createElementBlock("span",{key:1,"data-top-icon":"",class:"top-tagSelector_edit",onClick:e.withModifiers(f,["stop"])})):(e.openBlock(),e.createElementBlock("span",{key:0,"data-top-icon":"",class:"top-tagSelector_edit",onClick:m}))],64)):e.createCommentVNode("",!0)]),_:1},8,["class"]))}}),Ue={key:1},ce=e.defineComponent({inheritAttrs:!1,__name:"popupOpener",props:e.mergeModels({modelValue:{},id:{},tags:{},mode:{},targetId:{},filters:{},useTopButton:{type:Boolean},payload:{},styling:{}},{modelValue:{required:!0},modelModifiers:{}}),emits:["update:modelValue"],setup(t){const a=t,l=e.useModel(t,"modelValue"),o=a.useTopButton?y._sfc_main$1:"div",d=a.useTopButton?"html":"default",n={model:l,mode:a.mode,targetId:a.targetId,filters:a.filters,payload:a.payload};return(r,c)=>{const m=e.resolveDirective("top-data");return e.openBlock(),e.createBlock(V._sfc_main$1,{id:t.id},{default:e.withCtx(()=>[e.withDirectives((e.openBlock(),e.createBlock(e.resolveDynamicComponent(e.unref(o)),e.mergeProps({class:{"top-tagSelector":!0,"top-tagSelector-useTopButton":a.useTopButton,"top-tagSelector-custom":!a.useTopButton,"top-as-selector":a.useTopButton,"top-tagSelector-filter":a.mode==="filter","top-tagSelector-setter_single":a.mode==="setter"&&!t.filters,"top-tagSelector-setter_several":a.mode==="setter"&&t.filters,"top-tagSelector-selectedOne":!l.value.length||l.value.length===1,"top-tagSelector-toTwoLine":l.value.length>5},color:"theme",styling:t.styling},r.$attrs),{[e.unref(d)]:e.withCtx(()=>[!l.value.length&&t.mode==="filter"?(e.openBlock(),e.createBlock(q,{key:0,id:"all",colorId:"",name:r.$i18n.Common.All_tags??"",state:""},null,8,["name"])):e.createCommentVNode("",!0),t.mode==="setter"&&t.filters?(e.openBlock(),e.createElementBlock("div",Ue,[e.renderSlot(r.$slots,"default")])):(e.openBlock(!0),e.createElementBlock(e.Fragment,{key:2},e.renderList(l.value,f=>(e.openBlock(),e.createBlock(q,{id:e.unref(b)(f),colorId:e.unref(P)(f,t.tags)?.color_id??"",name:e.unref(P)(f,t.tags)?.name??"",state:e.unref(b)(f)===f?"selected":"excluded"},null,8,["id","colorId","name","state"]))),256))]),_:2},1040,["class","styling"])),[[m,n,"topTagSelectorTarget"]])]),_:3},8,["id"])}}}),ze=e.defineComponent({__name:"tagSelector",props:e.mergeModels({modelValue:{},tags:{},tagsEditable:{type:Boolean},tagsMax:{default:10},id:{},singleMode:{type:Boolean},requiredForSetter:{type:Boolean,default:!0},maxTagsForSetter:{},emitDelay:{default:500},useTopButton:{type:Boolean,default:!0},styling:{}},{modelValue:{required:!0},modelModifiers:{},tags:{default:e.reactive(Pe)},tagsModifiers:{}}),emits:e.mergeModels(["selector","setter","tagsChanged"],["update:modelValue","update:tags"]),setup(t,{emit:a}){const l=y.useI18n(),o=t,d=e.useModel(t,"modelValue"),n=e.useModel(t,"tags"),r=a,c=y.debounce((p,I)=>{r(p,I)},o.emitDelay);o.singleMode&&!d.value.length&&(d.value=[n.value[0].id]);const m=o.id??"top-popup-id-"+Math.random(),f=e.ref("add"),k=()=>{const p=" "+l.Common.Tags?.toLowerCase(),I=new Map;return I.set("add",{value:"add",title:l.Common.Add+p}),I.set("replace",{value:"replace",title:l.Common.Replace+p}),I.set("delete",{value:"delete",title:l.Common.Delete+p}),I};let i=e.shallowRef({model:d,mode:"filter",targetId:void 0,filters:void 0,payload:void 0});e.watch(d,()=>{c("selector",d.value)});const v=e.computed(()=>{if(i.value.mode==="setter"&&o.maxTagsForSetter&&!i.value.filters)return i.value.model.value.length>=o.maxTagsForSetter}),u=p=>{if(p!=="all"){if(i.value.model.value.includes(p))return"selected";if(i.value.model.value.includes(de(p)))return"excluded"}return p==="all"&&!i.value.model.value.length?"selected":""},s=(p,I)=>{const S=de(p);let x=i.value.model.value.filter(w=>w!==p&&w!==S);I==="select"&&x.push(p),I==="exclude"&&x.push(S),i.value.mode==="setter"&&i.value.targetId!==void 0&&o.requiredForSetter&&(x.length||x.push("1"),x.length===2&&i.value.model.value.length===1&&i.value.model.value[0]==="1"&&(x=x.filter(w=>w!=="1"))),o.singleMode&&!i.value.filters&&(x.length||(x=i.value.model.value),x.length>1&&(x=[x[x.length-1]])),x.sort((w,z)=>{if(!o.tags)return 0;const G=o.tags.findIndex(L=>L.id===w),K=o.tags.findIndex(L=>L.id===z);return G-K}),i.value.model.value=x,i.value.mode==="setter"&&i.value.targetId!==void 0&&c("setter",{tagsIds:x,targetId:i.value.targetId,payload:i.value.payload})},g=e.computed(()=>{let p="top-tagSelector_popup";return i.value.mode==="filter"&&(p+=" top-tagSelector_popup-filter"),i.value.mode==="setter"&&(p+=" top-tagSelector_popup-setter"),p}),U=()=>{const p=prompt("","New tag");if(!p||p==="New tag")return;const I=n.value.length+1;n.value.push({id:String(I),name:p,color_id:String((I-1)%10+1)}),r("tagsChanged",n.value)},N=p=>{if(i.value=A.storage(p.elPopupOpener,"topTagSelectorTarget"),!i.value)throw new Error("Open popup TopTagSelector required v-data:topTagSelectorTarget");if(i.value.filters&&(f.value="add",i.value.model.value=[]),!y.Core.$?.ui.sortable){console.info("Для работы сортировки требуется глобальная загрузка jQuery UI Sortable");return}!y.Core.state.isMobile&&!y.Core.state.isMobileUA&&n.value&&$(p.elPopup).sortable({items:'li:has([data-tag_id]:not([data-tag_id="all"]))',cancel:'[contenteditable="plaintext-only"], [contenteditable="true"]',distance:10,stop:function(I,S){if(!n.value)return;const x=$(S.item).parent().find("[data-tag_id]"),w=[];x.each((z,G)=>{if(!n.value)return;const K=$(G).attr("data-tag_id");w.push(K)}),n.value.sort((z,G)=>{const K=w.findIndex(Z=>Z===z.id),L=w.findIndex(Z=>Z===G.id);return K-L}),c("tagsChanged",n.value)}})},We=p=>{y.Core.$?.ui.sortable&&$(p.elPopup).data("ui-sortable")&&$(p.elPopup).sortable("destroy")};return(p,I)=>(e.openBlock(),e.createElementBlock(e.Fragment,null,[e.createVNode(ce,{modelValue:d.value,"onUpdate:modelValue":I[0]||(I[0]=S=>d.value=S),id:e.unref(m),tags:n.value,styling:t.styling,mode:"filter",useTopButton:t.useTopButton},null,8,["modelValue","id","tags","styling","useTopButton"]),e.createVNode(V._sfc_main,{id:e.unref(m),class:e.normalizeClass(g.value),onOpen:I[4]||(I[4]=S=>N(S)),onClose:I[5]||(I[5]=S=>We(S)),"transition-duration":50},e.createSlots({contentList:e.withCtx(()=>[e.unref(i).mode==="filter"&&!t.singleMode?(e.openBlock(),e.createBlock(ue,{key:0,id:"all",colorId:"",name:p.$i18n.Common.All_tags??"",state:e.unref(i).model.value.length?"":"selected",onSelect:I[3]||(I[3]=S=>e.unref(i).model.value=[])},null,8,["name","state"])):e.createCommentVNode("",!0),(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(n.value,S=>(e.openBlock(),e.createBlock(ue,{key:S.id,id:S.id,colorId:S.color_id,name:S.name,state:u(S.id),canExclude:e.unref(i).mode==="filter"&&!t.singleMode,editable:t.tagsEditable,disabled:v.value&&u(S.id)==="",onUnselect:x=>s(S.id,"unselect"),onSelect:x=>s(S.id,"select"),onExclude:x=>s(S.id,"exclude"),"onUpdate:name":x=>{S.name=x,e.unref(c)("tagsChanged",n.value)}},null,8,["id","colorId","name","state","canExclude","editable","disabled","onUnselect","onSelect","onExclude","onUpdate:name"]))),128)),t.tagsEditable&&n.value.length<t.tagsMax&&n.value.length<20?(e.openBlock(),e.createBlock(V._sfc_main$2,{key:1,"data-top-icon":"",onClick:e.withModifiers(U,["stop"])},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(p.$i18n.Common.Add),1)]),_:1})):e.createCommentVNode("",!0)]),_:2},[e.unref(i).mode==="setter"&&e.unref(i).filters?{name:"header",fn:e.withCtx(()=>[e.createVNode(y._sfc_main$10,{modelValue:f.value,"onUpdate:modelValue":I[1]||(I[1]=S=>f.value=S),options:k()},null,8,["modelValue","options"])]),key:"0"}:void 0,e.unref(i).mode==="setter"&&e.unref(i).filters?{name:"footer",fn:e.withCtx(()=>[e.createVNode(y._sfc_main$1,{color:"theme"},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(p.$i18n.Common.Cancel),1)]),_:1}),e.createVNode(y._sfc_main$1,{onClick:I[2]||(I[2]=S=>e.unref(c)("setter",{tagsIds:e.unref(i).model.value,filters:e.unref(i).filters,filtersAction:f.value,payload:e.unref(i).payload}))},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(f.value==="add"?p.$i18n.Common.Add:"")+" "+e.toDisplayString(f.value==="replace"?p.$i18n.Common.Replace:"")+" "+e.toDisplayString(f.value==="delete"?p.$i18n.Common.Delete:""),1)]),_:1})]),key:"1"}:void 0]),1032,["id","class"])],64))}});B.TopCompetitorSelector=pe,B.TopGroupSelector=Re,B.TopRegionSelector=Me,B.TopTagSelector=ze,B.TopTagSelectorPopupOpener=ce,B.TopTagSelectorTagIcon=q,B.dialogRegionSelector=ne,B.findRegion=le,B.genElTopTagSelectorPopupOpener=je,B.genSearcherByKey=Y,B.renderElTopTagSelectorPopupOpener=De,B.useItemsFromCompetitors=he,Object.defineProperty(B,Symbol.toStringTag,{value:"Module"})}));
1
+ define(["require","exports","vue","../.chunks/forms-B_v2vU59.amd","../.chunks/popupHint.vue_vue_type_style_index_0_lang-CdIajfDS.amd","../.chunks/policy.vue_vue_type_style_index_0_lang-Dgb5Q7Hx.amd","../.chunks/utils-DNzj9OOY.amd","../utils/searchers.amd","../.chunks/core-DJS4o9Vt.amd","../.chunks/dialogs.vue_vue_type_script_setup_true_lang-B3hYoW1m.amd","../.chunks/field-Cvv0SRcJ.amd","../utils/dom.amd","../popup/worker.amd","../require/css.amd!../assets/project.css"],(function(se,B,e,y,V,C,fe,W,Je,Ye,H,A,ge){"use strict";if(typeof e>"u")var e=window.Vue;const me={class:"top-competitorSelector"},ve={class:"top-ellipsis1"},pe=e.defineComponent({__name:"competitorSelector",props:e.mergeModels({modelValue:{},items:{},showSelectAllItem:{type:Boolean,default:!0}},{modelValue:{},modelModifiers:{}}),emits:["update:modelValue"],setup(t){const a=t,l=e.useModel(t,"modelValue"),o=e.computed(()=>{if(a.showSelectAllItem)return{icon:"",title:y.useI18n().Common.Select_all,value:"all",content:""}});return(d,n)=>(e.openBlock(),e.createElementBlock("div",me,[e.unref(y.Core).state.isMobile?(e.openBlock(),e.createBlock(V._sfc_main,{key:0},{opener:e.withCtx(()=>[e.createVNode(y._sfc_main$1,{class:"top-competitorSelector_opener",color:"theme",icon:"",icon2:""},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(t.items.find(r=>r.value===l.value?.[0])?.content),1)]),_:1})]),contentList:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(t.items,r=>(e.openBlock(),e.createBlock(V._sfc_main$2,{class:e.normalizeClass({"top-active":l.value?.includes(r.value)}),"data-top-icon":r.icon,title:r.title,onClick:()=>l.value=[r.value]},{default:e.withCtx(()=>[e.createElementVNode("span",ve,e.toDisplayString(r.content),1)]),_:2},1032,["class","data-top-icon","title","onClick"]))),256))]),_:1})):(e.openBlock(),e.createBlock(C._sfc_main$1,{key:1,modelValue:l.value,"onUpdate:modelValue":n[0]||(n[0]=r=>l.value=r),items:t.items,isMultiple:!0,styling:"bar",canBeEmptyMultiple:!1,selectAllItem:o.value},null,8,["modelValue","items","selectAllItem"]))]))}}),he=(t,a)=>e.computed(()=>e.toValue(t).filter(d=>d.on>=0||d.id===a).map(d=>({value:d.id,title:d.url+` [${d.id}]`,icon:d.id===e.toValue(a)?"":"",content:d.name}))),T=-1,h=-2,O=-1,ye={0:"Yandex",1:"Google",4:"YouTube",5:"Bing",7:"Seznam",8:"AppStore",9:"GoogleStore",20:"Yandex.com",21:"Yandex.com.tr"},_={key:h,name:"--",index:h},ee={key:h,name:"--",regions:[_],regionByIndex:new Map([[h,_]])},R={key:h,name:"Autoselect",index:h},J={key:h,name:"Autoselect",regions:[R],regionByIndex:new Map([[h,R]])},te={countryCode:"00",depth:1,device:0,key:O,index:O,lang:"ru",name:"Without region"},Ie=()=>(R.name=y.useI18n().Common.Autoselect,R),Se=()=>(Ie(),J.name=y.useI18n().Common.Autoselect,console.log(J),J),ke=()=>(te.name=y.useI18n().Keywords.Without_region,te),Y=(t=!1,a=!1,l=[])=>{let o;return t?o=xe(l):o=oe(l),a&&o.set(h,Se()),o.size||o.set(h,ee),o},oe=(t,a=!0,l=[],o=!1)=>{const d=new Map;return t.forEach(n=>{if(!n.enabled||o&&typeof n.key=="number"&&n.key>1)return;const r={...n};r.regionByIndex=new Map,n.regions&&n.regions.forEach(c=>{if(a&&!c.enabled)return;const m={...c};r.regionByIndex.set(m.index,m)}),!r.regionByIndex.size&&l.length,(!n.regions||r.regionByIndex.size||l.length)&&typeof r.key=="number"&&d.set(r.key,r)}),l.forEach(n=>{if(d.has(n))return;const r={key:n,name:ye[n],regions:[],regionByIndex:new Map};d.set(r.key,r)}),d},xe=t=>{const a=oe(t,!1,[0,1],!0);if(a.has(2)){const l=a.get(2);l&&(l.regionByIndex=new Map)}return a.forEach(l=>{if(!l.regionByIndex)return;const o={...ke()};l.regionByIndex.set(o.index,o)}),a},le=(t,a,l=[])=>{const o=Y(t,!1,l);let d;return o.forEach(n=>{if(!(a.searcher_key!==void 0&&a.searcher_key!=n.key)&&n.regions&&(n.regions.forEach(r=>{if(!d&&!(a.key!==void 0&&a.key!=r.key)&&!(a.index!==void 0&&a.index!=r.index)&&!(!t&&(a.lang!==void 0&&a.lang!=r.lang||a.device!==void 0&&a.device!=r.device)))return r.searcher_key=n.key,d=r,!1}),d))return!1}),d},ne=fe.useAsyncTopDialog(()=>new Promise((t,a)=>se(["../.chunks/dialog_regionSelectorRegions-C1DNLHM7.amd"],t,a))),Be=(t,a)=>{const l=y.useI18n(),o=e.ref(a.value.keys().next().value??h),d=e.computed(()=>{const n=new Map;if(a.value.forEach(r=>{let c={value:r.key,title:r.name};t.addSearcherIcon&&(c.icon=W.getSearcherGIcon(r.key)),n.set(r.key,c)}),t.addCompare&&!n.has(h)){const r={value:"",title:"--------------------",disabled:!0};n.set(r.value,r);const c={value:T,title:l.Common.Compare};n.set(c.value,c)}return n});return{searcherKey:o,optionBySearcherKey:d}},Ce=(t,a)=>{const l=y.useI18n(),o=e.ref(h);t.modelValue.length===1&&(o.value=t.modelValue[0]),o.value===h&&(t.forFrequency?o.value=a.value?.regionByIndex.values().next().value?.key??h:o.value=a.value?.regionByIndex.keys().next().value??h);const d=e.computed(()=>{const n=new Map;return a.value.regionByIndex?.forEach(r=>{let c=r.name;if(t.forFrequency){const k={value:r.key,title:c};n.has(r.key)||n.set(r.key,k);return}r.device&&(c+=" ("+l.Common["Device_"+r.device]+")");const m=W.getLangLabel(a.value.key||0,r.lang??"");m&&(c+=" / "+m);const f={value:r.index,title:c,icon:r.device?W.getDeviceGIcon(r.device):void 0};n.set(r.index,f)}),n});return e.watch(d,(n,r)=>{if(t.onlySearcher||o.value!==void 0&&n.get(o.value))return;let c=n.keys().next().value;if(o.value===h||c===h){o.value=c;return}let m=r?.get(o.value)?.title||"",f=-1;for(const[k,i]of n.entries()){const v=i.title;if(typeof v!="string"||typeof k=="string")break;if(v===m){c=k;break}const u=new RegExp(` \\((${l.Common.Device_1}|${l.Common.Device_2})\\)`);let s=m,g=3;v.indexOf(s)===-1&&(s=m.replace(/^[^a-zа-я]/i,"").replace(u,""),g--),v.indexOf(s)===-1&&(s=m.replace(/ \/.*/,""),g--),v.indexOf(s)===-1&&(s=m.replace(/ \/.*/,""),s=s.replace(/^[^a-zа-я]/i,"").replace(u,""),g--),v.indexOf(s)!==-1&&(g<=f||(f=g,c=k))}o.value=c}),{regionIndex:o,optionByRegionIndex:d}},we=(t,a,l)=>{const o=e.ref([]),d=()=>{if(t.onlySearcher&&a.value){o.value=Array.from(a.value.keys());return}let r=[];if(t.modelValue.length>1)r=[...t.modelValue];else try{r=JSON.parse(localStorage.getItem("ui:project:regionSelector"+t.projectId+":regionsIndexes"))??[]}catch{}r.length&&(r=r.filter(c=>l.value.has(c))),r.length||(r=Array.from(l.value)),o.value=[...r]},n=()=>{o.value.length?localStorage.setItem("ui:project:regionSelector:"+t.projectId+":regionsIndexes",JSON.stringify(o.value)):localStorage.removeItem("ui:project:regionSelector:"+t.projectId+":regionsIndexes")};return e.watch(o,()=>{n()}),t.addCompare&&d(),{regionsIndexes:o}},Te=t=>{const a=e.computed(()=>Y(t.forFrequency,t.autoRegion,t.searchers)),l=e.computed(()=>a.value.get(d.searcherKey.value)||ee),o=e.computed(()=>{const i=new Set;return a.value.forEach(v=>{v.regionByIndex.forEach(u=>{u.index!==O&&u.index!==h&&i.add(u.index)})}),i}),d=Be(t,a),n=Ce(t,l),r=we(t,a,o);e.watch(a,()=>{if(t.onlySearcher?r.regionsIndexes.value=Array.from(a.value.keys()):r.regionsIndexes.value=r.regionsIndexes.value.filter(v=>o.value.has(v)),d.searcherKey.value===T)return;let i=a.value.keys().next().value;a.value.forEach(v=>{if(t.onlySearcher&&v.key===d.searcherKey.value){i=d.searcherKey.value;return}if(n.regionIndex.value&&v.regionByIndex?.has(n.regionIndex.value)&&(i=v.key),!t.onlySearcher){let u;i!==void 0&&(u=a.value.get(i)?.regionByIndex);const s=a.value.get(v.key)?.regionByIndex;u?.has(h)&&!s?.has(h)&&(i=v.key)}}),i!==void 0&&(d.searcherKey.value=i),n.regionIndex.value!==void 0&&!l.value?.regionByIndex?.has(n.regionIndex.value)&&(n.regionIndex.value=l.value?.regions?.keys().next().value)},{immediate:!0});const c=()=>{if(!(d.searcherKey.value===T||d.searcherKey.value===h))return d.searcherKey.value},m=()=>{if(t.onlySearcher||n.regionIndex.value===h)return;let i=n.regionIndex.value;if(t.forFrequency){const v=n.regionIndex.value;i=le(t.forFrequency,{searcher_key:c(),key:v},t.searchers)?.index}return i},f=()=>{const i=c();if(i!==void 0)return a.value.get(i)};return{selectSearcher:d,selectRegion:n,compare:r,searcherByKey:a,allRegionsIndexes:o,getSearcher:f,getRegion:()=>{const i=m();if(i!==void 0)return f()?.regionByIndex?.get(i)}}},Me=e.defineComponent({__name:"regionSelector",props:e.mergeModels({projectId:{},searchers:{default:()=>[]},modelValue:{},modelValueSingle:{},addCompare:{type:Boolean},forFrequency:{type:Boolean},autoRegion:{type:Boolean},onlySearcher:{type:Boolean},addChanger:{type:Boolean,default:!0},addSearcherIcon:{type:Boolean,default:!0},addRegionIcon:{type:Boolean,default:!0}},{modelValue:{required:!0},modelModifiers:{},modelValueSingle:{},modelValueSingleModifiers:{}}),emits:["update:modelValue","update:modelValueSingle"],setup(t,{expose:a}){const l=t,o=e.useModel(t,"modelValue"),d=e.useModel(t,"modelValueSingle"),{selectSearcher:n,selectRegion:r,compare:c,searcherByKey:m,allRegionsIndexes:f,getSearcher:k,getRegion:i}=Te(l),v=()=>{const u=[];m.value.forEach(s=>{s.enabled&&s.regions.forEach(g=>{g.enabled&&u.push(g)})}),ne.open("regions",{regions:u,regionsIndexes:c.regionsIndexes.value,"@update:regionsIndexes":s=>c.regionsIndexes.value=s})};return e.watch([r.regionIndex,n.searcherKey,c.regionsIndexes],()=>{if(n.searcherKey.value===T&&c.regionsIndexes.value.length){if(JSON.stringify(o.value)===JSON.stringify(c.regionsIndexes.value))return;o.value=[...c.regionsIndexes.value]}else l.onlySearcher?(o.value=[n.searcherKey.value],n.searcherKey.value===h&&!l.autoRegion&&(o.value.length=0)):(o.value=[r.regionIndex.value],r.regionIndex.value===h&&!l.autoRegion&&(o.value.length=0));!l.onlySearcher&&!f.value.size&&(n.searcherKey.value=h)}),d.value&&e.watch(d,()=>{d.value&&(o.value=[d.value])},{immediate:!0}),e.watch(o,()=>{if(o.value[0]&&(d.value=o.value[0]),l.onlySearcher){if(!o.value.length||o.value.length===1&&!m.value.has(o.value[0])||o.value.length===1&&o.value[0]===h&&!l.autoRegion){let u=m.value.keys().next().value;u===h&&!l.autoRegion&&(u=void 0,d.value=h),u!==void 0?o.value=[u]:o.value.length=0;return}if(o.value.length>1&&JSON.stringify(o.value)!==JSON.stringify(c.regionsIndexes.value)){o.value=[...c.regionsIndexes.value];return}}else{let u=[...new Set(o.value)],s=m.value.values().next().value?.regionByIndex?.keys().next().value;if(l.forFrequency&&(s=m.value.values().next().value?.regionByIndex?.values().next().value?.key),s===h&&!l.autoRegion&&(s=void 0,d.value=h),!u.length)s!==void 0&&u.push(s);else if(u.length===1){let g=f.value;l.forFrequency&&(g=new Set,m.value.forEach(U=>{U.regionByIndex.forEach(N=>{N.index!==O&&N.index!==h&&g.add(N.key)})})),g.has(u[0])||(u=[],s!==void 0&&u.push(s))}else u=u.filter(g=>f.value.has(g)),!u.length&&s!==void 0&&u.push(s);if(JSON.stringify(o.value)!==JSON.stringify(u)){o.value=u;return}}if(!(o.value.length===1&&o.value[0]===(l.onlySearcher?n.searcherKey.value:r.regionIndex.value)))if(l.onlySearcher){if(o.value.length===1){n.searcherKey.value=o.value[0];return}n.searcherKey.value=T;return}else{if(!o.value.length)return;if(o.value.length===1&&n.searcherKey.value!==T){r.regionIndex.value=o.value[0];let u;for(const s of m.value.values()){for(const g of s.regionByIndex.values())if((l.forFrequency?g.key:g.index)===r.regionIndex.value){u=s.key;break}if(u!==void 0)break}u!==void 0&&(n.searcherKey.value=u)}else n.searcherKey.value=T,c.regionsIndexes.value=[...o.value]}},{immediate:!0}),a({getSearcher:k,getRegion:i}),(u,s)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass({"top-selectorRegion":!0,"top-selectorRegion-onlySearcher":t.onlySearcher})},[e.createVNode(y._sfc_main$10,{options:e.unref(n).optionBySearcherKey.value,modelValue:e.unref(n).searcherKey.value,"onUpdate:modelValue":s[0]||(s[0]=g=>e.unref(n).searcherKey.value=g),name:"searcher_key",addChanger:t.addChanger},null,8,["options","modelValue","addChanger"]),!t.onlySearcher&&e.unref(n).searcherKey.value!==e.unref(T)?(e.openBlock(),e.createBlock(y._sfc_main$10,{key:0,class:"top-select-region",options:e.unref(r).optionByRegionIndex.value,modelValue:e.unref(r).regionIndex.value,"onUpdate:modelValue":s[1]||(s[1]=g=>e.unref(r).regionIndex.value=g),name:t.forFrequency?"region_key":"region_index",addChanger:t.addChanger,"data-top-icon":t.addRegionIcon?"":void 0},null,8,["options","modelValue","name","addChanger","data-top-icon"])):e.createCommentVNode("",!0),t.addCompare&&!t.onlySearcher&&e.unref(n).searcherKey.value===e.unref(T)?(e.openBlock(),e.createBlock(y._sfc_main$1,{key:1,name:"compare",onClick:v,"data-count-compare-regions-indexes":e.unref(c).regionsIndexes.value.length},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(u.$i18n.Common.Selected_regions),1)]),_:1},8,["data-count-compare-regions-indexes"])):e.createCommentVNode("",!0)],2))}}),M={id:0,name:"/",path:"/"};function Ve(t){return t?y.useI18n()?.Common.All_folders:"/ ("+y.useI18n()?.Keywords.Root_folder+")"}const Q=(t,a,l=new Map,o={id:"root"},d=0)=>(o.childsIds=[],o.id&&(o.countAllGroupsActive=o.count_groups_active),t[o.id]&&t[o.id].forEach(n=>{n={...n},o.childsIds.push(n.id),n.id===0&&(n.name=Ve(a));const r=d>1?"-".repeat(d-1)+" ":"";r&&!n.name.startsWith(r)&&(n.name=r+n.name),l.set(n.id,n),Q(t,a,l,n,d+1),o.childsIds=o.childsIds.concat(n.childsIds),o.id&&n.count_groups_active&&(o.countAllGroupsActive+=n.count_groups_active)}),l),Ae=t=>t.gen("/get/keywords_2/folders/",["id","parent_id","name","path"]).changeParams({orders:["ord_path"],limit:100});function X(t,a,l){const o=Object.keys(t),d=o.map(n=>t[n]);return e.watch(d,(n,r,c)=>{const m={};n.forEach((f,k)=>{if(!Object.is(f,r[k])){const i=o[k];m[i]={old:r[k],new:f}}}),Object.keys(m).length&&a(m,c)},l)}const Ee=e.defineComponent({__name:"folders",props:e.mergeModels({folderId:{},folder:{},folders:{},projectId:{},canSelectAll:{type:Boolean},addChanger:{type:Boolean},addIcon:{type:Boolean,default:!0},client:{}},{folderId:{required:!0},folderIdModifiers:{},folder:{default:M},folderModifiers:{}}),emits:["update:folderId","update:folder"],setup(t){const a=t,l=e.useModel(t,"folderId"),o=e.useModel(t,"folder"),d=a.client&&!a.folders?Ae(a.client):void 0,n=e.ref(null);e.watch(()=>a.projectId,()=>{d?.changeParams({project_id:a.projectId}),d?.setOptions({checkFingerprint:"TopGroupSelectorFolders:"+a.projectId}),n.value?.resetCache()},{immediate:!0});const r=e.computed(()=>Q(a.folders??{root:[M]},a.canSelectAll));return X({modelFolder:o,modelFolderId:l},async c=>{if(l.value===o.value.id)return;if(c.modelFolder&&!c.modelFolderId){l.value=o.value.id;return}let m=r.value.get(a.folderId);m||(m=M),o.value=m,l.value=m.id},{immediate:!0}),(c,m)=>(e.openBlock(),e.createBlock(C._sfc_main,{class:"top-groupSelector_folder",modelValue:o.value,"onUpdate:modelValue":m[0]||(m[0]=f=>o.value=f),items:t.folders?[...r.value.values()]:void 0,"search-type":"inline",icon:t.addIcon?"":void 0,api:t.folders?void 0:e.unref(d),apiSetSearchParams:(...f)=>e.unref(C.apiSetSearchParamsFilter)(...f,"name"),addChanger:t.addChanger,useCache:""},null,8,["modelValue","items","icon","api","apiSetSearchParams","addChanger"]))}}),j={id:-1,name:"--",folder_id:M.id,folder_path:M.path},D={id:C.ITEM_ID_ALL,name:"All groups",folder_id:M.id,folder_path:M.path},E=()=>(D.name=y.useI18n()?.Common.All_groups,D),ae=()=>(D.name=y.useI18n()?.Keywords.Choose_group,D),be=(t,a,l)=>(t=[...t],a!==void 0&&(t=t.filter(o=>o.on==Number(a))),l&&l.id&&l.childsIds&&(t=t.filter(o=>o.folder_id===l.id||l.childsIds.includes(o.folder_id))),t),re=t=>t.gen("/get/keywords_2/groups/",["id","name","folder_id","folder_path"]).changeParams({folder_id_depth:!0,limit:100}),$e=t=>t.gen("/add/keywords_2/groups/"),Ne={class:"top-groupSelector_groupItem"},Ge={key:0,class:"top-comment"},Ke={key:1,class:"top-groupSelector_groupItemFolderPath"},Le=e.defineComponent({__name:"groups",props:e.mergeModels({groupId:{},group:{},projectId:{},folder:{},groups:{},on:{type:Boolean,default:void 0},canAdd:{type:[String,Boolean]},canSelectAll:{type:[Boolean,String]},autoselect:{default:"first"},addChanger:{type:Boolean,default:!0},showPath:{type:Boolean},addIcon:{type:Boolean,default:!0},client:{}},{groupId:{required:!0},groupIdModifiers:{},group:{required:!0},groupModifiers:{}}),emits:e.mergeModels(["addGroup"],["update:groupId","update:group"]),setup(t,{emit:a}){const l=t,o=a,d=e.useModel(t,"groupId"),n=e.useModel(t,"group"),r=l.client&&!l.groups?re(l.client):void 0,c=l.client?$e(l.client):void 0,m=e.ref(null),f=e.ref(void 0),k=H.genFieldFilter("folder_id","EQUALS",[l.folder?.id??0]);r?.changeParams({project_id:l.projectId,folder_id_depth:!0,filters:[k]}),l.on!==void 0&&r?.params.filters?.push(H.genFieldFilter("on","EQUALS",[Number(l.on)]));const i=u=>{n.value=u,d.value=u.id};X({projectId:()=>l.projectId,folderId:()=>l.folder?.id,canSelectAll:()=>l.canSelectAll},u=>{if(u.projectId&&(r?.changeParams({project_id:l.projectId}),r?.setOptions({checkFingerprint:"TopGroupSelectorGroups:"+l.projectId})),u.folderId&&(k.values=[l.folder?.id??0],l.groups&&(f.value=be(l.groups,l.on,l.folder))),m.value?.resetCache(),(u.folderId?.old!==void 0||u.canSelectAll?.old!==void 0)&&d.value!==C.ITEM_ID_NEW){let s;l.autoselect==="first"&&(s=f.value?.[0],l.canSelectAll&&(s=e.reactive(E()))),(l.autoselect==="placeholder"||!s)&&(s=ae()),i(s)}},{immediate:!0}),X({modelGroup:n,modelGroupId:d},async u=>{if(d.value!==n.value.id){if(u.modelGroup&&!u.modelGroupId){d.value=n.value.id;return}if(!(l.canAdd&&d.value===C.ITEM_ID_NEW)){if(l.groups){let s=f.value?.find(g=>g.id===d.value);if(!s&&l.canSelectAll&&(s=E()),s)i(s);else{const g=f.value?.[0];g&&!d.value?i(g):i(j)}}if(l.client&&!l.groups&&(d.value||d.value===C.ITEM_ID_ALL&&!l.canSelectAll)){const s=re(l.client).changeParams({project_id:l.projectId,id:d.value,filters:[k]});s?.setOptions({checkFingerprint:"TopGroupSelectorFindGroup:"+l.projectId});const g=await s.call();if(!g.errors?.length&&!g.result)return;!g.errors&&g.result[0]?i(g.result[0]):i(j)}}}},{immediate:!0});const v=async u=>{if(l.canAdd!=="api"||!c)return;const s=n.value,g=await c.changeParams({project_id:l.projectId,names:[u.name],to_id:l.folder?.id??M.id,to_type:"in_folder_last"}).call();g.result?(i(g.result),o("addGroup",g.result)):i(s),m.value?.resetCache(!0)};return(u,s)=>(e.openBlock(),e.createBlock(C._sfc_main,{ref_key:"refSelector",ref:m,class:"top-groupSelector_group",modelValue:n.value,"onUpdate:modelValue":s[0]||(s[0]=g=>n.value=g),items:f.value??t.groups,searchType:"inline",icon:t.addIcon?"":void 0,api:t.groups?void 0:e.unref(r),apiSetSearchParams:(...g)=>e.unref(C.apiSetSearchParamsFilter)(...g,"name"),appendSearchToResult:!!t.canAdd,useAllItem:t.canSelectAll?e.unref(E)().name:!1,addChanger:t.addChanger,useCache:"",onAppendItem:v},{item:e.withCtx(({item:g})=>[e.createElementVNode("div",Ne,[g.id===e.unref(C.ITEM_ID_NEW)?(e.openBlock(),e.createElementBlock("div",Ge,e.toDisplayString(u.$i18n.Common.Add)+": ",1)):e.createCommentVNode("",!0),e.createElementVNode("span",null,e.toDisplayString(g.name),1),g.folder_path&&t.showPath?(e.openBlock(),e.createElementBlock("span",Ke,e.toDisplayString(g.folder_path),1)):e.createCommentVNode("",!0)])]),_:1},8,["modelValue","items","icon","api","apiSetSearchParams","appendSearchToResult","useAllItem","addChanger"]))}}),Oe={class:"top-groupSelector"},Re=e.defineComponent({__name:"groupSelector",props:e.mergeModels({folderId:{},folder:{},groupId:{},group:{},projectId:{},folders:{},groups:{},on:{type:Boolean,default:void 0},canSelectAllGroups:{type:Boolean},canAddGroup:{},autoselect:{default:"first"},addChanger:{type:Boolean,default:!0},showFolders:{type:Boolean,default:!0},showGroups:{type:Boolean,default:!0},addIcon:{type:Boolean,default:!0},client:{}},{folderId:{required:!0},folderIdModifiers:{},folder:{},folderModifiers:{},groupId:{required:!0},groupIdModifiers:{},group:{default:j},groupModifiers:{}}),emits:e.mergeModels(["update:groups"],["update:folderId","update:folder","update:groupId","update:group"]),setup(t,{emit:a}){const l=t,o=e.useModel(t,"folderId"),d=e.useModel(t,"folder"),n=e.useModel(t,"groupId"),r=e.useModel(t,"group"),c=a,m=Q(l.folders??{root:[M]},l.canSelectAllGroups);d.value=m.get(o.value);let f=l.groups?.find(i=>i.id===n.value);n.value||(f=l.groups?.[0]),l.canSelectAllGroups&&!f&&(f=E()),l.canSelectAllGroups&&!f&&(f=E()),(l.autoselect==="placeholder"||!f)&&(f=ae()),f??=j,r.value=f;const k=i=>{let v;l.groups&&i&&(v=[...l.groups,i]),c("update:groups",v)};return(i,v)=>(e.openBlock(),e.createElementBlock("div",Oe,[t.showFolders?(e.openBlock(),e.createBlock(Ee,{key:0,folderId:o.value,"onUpdate:folderId":v[0]||(v[0]=u=>o.value=u),folder:d.value,"onUpdate:folder":v[1]||(v[1]=u=>d.value=u),projectId:t.projectId,folders:t.folders,canSelectAll:t.canSelectAllGroups,addChanger:t.addChanger,addIcon:t.addIcon,client:t.client},null,8,["folderId","folder","projectId","folders","canSelectAll","addChanger","addIcon","client"])):e.createCommentVNode("",!0),t.showGroups?(e.openBlock(),e.createBlock(Le,{key:1,groupId:n.value,"onUpdate:groupId":v[2]||(v[2]=u=>n.value=u),group:r.value,"onUpdate:group":v[3]||(v[3]=u=>r.value=u),projectId:t.projectId,folder:d.value,groups:t.groups,on:t.on,canAdd:t.canAddGroup,canSelectAll:t.canSelectAllGroups,autoselect:t.autoselect,addChanger:t.addChanger,showPath:t.showFolders&&!!t.folders?.[0],addIcon:t.addIcon,client:t.client,onAddGroup:k},null,8,["groupId","group","projectId","folder","groups","on","canAdd","canSelectAll","autoselect","addChanger","showPath","addIcon","client"])):e.createCommentVNode("",!0)]))}}),de=t=>"-"+t,b=t=>t[0]==="-"?t.substring(1):t,P=(t,a)=>{t=b(t);const l=a.find(o=>o.id===t);if(l)return l},je=(t,a,l)=>{a||(a={id:t.id}),a.id=t.id,a.pos??="3",a.notch??=!0,a.posBy??="fixed";const o=ge.TopPopupWorker.genElPopupOpener("div",a);return o.classList.add("top-tagSelector"),t.useTopButton&&o.classList.add("top-tagSelector-useTopButton","top-button","top-color_theme","top-as-selector"),t.useTopButton||o.classList.add("top-tagSelector-custom"),t.mode==="filter"&&o.classList.add("top-tagSelector-filter"),t.mode==="setter"&&!t.filters&&o.classList.add("top-tagSelector-setter_single"),t.mode==="setter"&&t.filters&&o.classList.add("top-tagSelector-setter_several"),o.onclick=d=>{d.preventDefault(),d.stopPropagation(),o.onclick=null;const n=e.ref(t.modelValue),r={model:n,mode:t.mode,targetId:t.targetId,filters:t.filters,payload:t.payload};A.storage(o,"topTagSelectorTarget",r),delete o.dataset.topPopupDisabled,e.isRef(t.modelValue)||e.watch(n,()=>{t.modelValue=n.value,F(o,t,l)}),o.click()},e.isRef(t.modelValue)?e.watch(t.modelValue,()=>F(o,t,l)):A.storage(o,"topTagSelectorRender",d=>{t.modelValue=d;const n=A.storage(o,"topTagSelectorTarget");n&&(n.model.value=d),F(o,t,l)}),F(o,t,l),o},De=(t,a)=>{A.storage(t,"topTagSelectorRender")?.(a)},F=(t,a,l)=>{const o=e.unref(a.modelValue);if(t.classList.toggle("top-tagSelector-selectedOne",!o.length||o.length===1),t.classList.toggle("top-tagSelector-toTwoLine",o.length>5),a.mode==="setter"&&a.filters){t.innerHTML=`<div>${l}</div>`;return}if(t.innerHTML="",!o.length&&a.mode==="filter"){const d=ie({id:"all",colorId:"",name:y.useI18n().Common?.All_tags??"",state:""});t.append(d)}o.forEach(d=>{const n=ie({id:b(d),colorId:P(d,a.tags)?.color_id??"",name:P(d,a.tags)?.name??"",state:b(d)===d?"selected":"excluded"});t.append(n)})},ie=t=>{const a=document.createElement("div");return a.classList.add("top-tagSelector_tagIcon"),a.classList.toggle("top-tagSelector-active",!!t.state),a.classList.toggle("top-tagSelector-excluded",t.state==="excluded"),a.dataset.tag_id=t.id,a.dataset.tag_color_id=t.colorId,a.title=t.name,a},Pe=[{id:"1",name:"Without Tag",color_id:"1"},{id:"2",name:"Red",color_id:"2"},{id:"3",name:"Orange",color_id:"3"},{id:"4",name:"Yellow",color_id:"4"},{id:"5",name:"Blue",color_id:"5"},{id:"6",name:"Purple",color_id:"6"},{id:"7",name:"Green",color_id:"7"},{id:"8",name:"Magenta",color_id:"8"},{id:"9",name:"Dark blue",color_id:"9"},{id:"10",name:"Turquoise",color_id:"10"}],Fe=["data-tag_id","data-tag_color_id","title"],q=e.defineComponent({__name:"tagIcon",props:{id:{},colorId:{},name:{},state:{}},setup(t){return(a,l)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass({"top-tagSelector_tagIcon":!0,"top-tagSelector-active":!!t.state,"top-tagSelector-excluded":t.state==="excluded"}),"data-tag_id":t.id,"data-tag_color_id":t.colorId,title:t.name},null,10,Fe))}}),qe=["contenteditable","onKeydown"],ue=e.defineComponent({__name:"tagPopupListItem",props:e.mergeModels({editable:{type:Boolean},disabled:{type:Boolean},canExclude:{type:Boolean},id:{},colorId:{},name:{},state:{}},{name:{required:!0},nameModifiers:{}}),emits:e.mergeModels(["update:name","unselect","exclude","select"],["update:name"]),setup(t,{emit:a}){const l=t,o=a,d=e.useModel(t,"name"),n=e.ref(null),r=e.computed(()=>navigator.userAgent.indexOf("Firefox")!=-1?{contenteditable:c.value,onpaste:v=>v.preventDefault()}:{}),c=e.ref(!1),m=async()=>{c.value=!0,await e.nextTick(),n.value?.focus()},f=()=>{const v=n.value?.innerText;if(!v)return k();n.value&&(n.value.innerText=v),c.value=!1,o("update:name",v)},k=async()=>{n.value&&(n.value.innerText=l.name),c.value=!1},i=v=>{if(c.value||l.disabled)return;let u="selected";l.canExclude&&(v.ctrlKey||v.metaKey)&&(u="excluded"),l.state==u&&(u=""),u===""&&o("unselect"),u==="selected"&&o("select"),u==="excluded"&&o("exclude")};return(v,u)=>(e.openBlock(),e.createBlock(V._sfc_main$2,{class:e.normalizeClass({"top-tagSelector_tagListItem":!0,"top-tagSelector_tagListItem-inEdit":c.value,"top-tagSelector_tagListItem-disabled":t.disabled,"top-tagSelector_tagListItem-canExclude":t.canExclude,"top-tagSelector-active":!!t.state,"top-tagSelector-excluded":t.state==="excluded"}),onClick:e.withModifiers(i,["stop"])},{default:e.withCtx(()=>[e.createVNode(q,{id:t.id,name:d.value,colorId:t.colorId,state:t.state},null,8,["id","name","colorId","state"]),e.createElementVNode("span",e.mergeProps({ref_key:"elName",ref:n,class:"top-tagSelector_tagListItemName",contenteditable:c.value?"plaintext-only":!1},r.value,{onKeydown:[e.withKeys(e.withModifiers(f,["stop"]),["enter"]),e.withKeys(e.withModifiers(k,["stop"]),["esc"])]}),e.toDisplayString(d.value),17,qe),t.editable?(e.openBlock(),e.createElementBlock(e.Fragment,{key:0},[c.value?(e.openBlock(),e.createElementBlock("span",{key:1,"data-top-icon":"",class:"top-tagSelector_edit",onClick:e.withModifiers(f,["stop"])})):(e.openBlock(),e.createElementBlock("span",{key:0,"data-top-icon":"",class:"top-tagSelector_edit",onClick:m}))],64)):e.createCommentVNode("",!0)]),_:1},8,["class"]))}}),Ue={key:1},ce=e.defineComponent({inheritAttrs:!1,__name:"popupOpener",props:e.mergeModels({modelValue:{},id:{},tags:{},mode:{},targetId:{},filters:{},useTopButton:{type:Boolean},payload:{},styling:{}},{modelValue:{required:!0},modelModifiers:{}}),emits:["update:modelValue"],setup(t){const a=t,l=e.useModel(t,"modelValue"),o=a.useTopButton?y._sfc_main$1:"div",d=a.useTopButton?"html":"default",n={model:l,mode:a.mode,targetId:a.targetId,filters:a.filters,payload:a.payload};return(r,c)=>{const m=e.resolveDirective("top-data");return e.openBlock(),e.createBlock(V._sfc_main$1,{id:t.id},{default:e.withCtx(()=>[e.withDirectives((e.openBlock(),e.createBlock(e.resolveDynamicComponent(e.unref(o)),e.mergeProps({class:{"top-tagSelector":!0,"top-tagSelector-useTopButton":a.useTopButton,"top-tagSelector-custom":!a.useTopButton,"top-as-selector":a.useTopButton,"top-tagSelector-filter":a.mode==="filter","top-tagSelector-setter_single":a.mode==="setter"&&!t.filters,"top-tagSelector-setter_several":a.mode==="setter"&&t.filters,"top-tagSelector-selectedOne":!l.value.length||l.value.length===1,"top-tagSelector-toTwoLine":l.value.length>5},color:"theme",styling:t.styling},r.$attrs),{[e.unref(d)]:e.withCtx(()=>[!l.value.length&&t.mode==="filter"?(e.openBlock(),e.createBlock(q,{key:0,id:"all",colorId:"",name:r.$i18n.Common.All_tags??"",state:""},null,8,["name"])):e.createCommentVNode("",!0),t.mode==="setter"&&t.filters?(e.openBlock(),e.createElementBlock("div",Ue,[e.renderSlot(r.$slots,"default")])):(e.openBlock(!0),e.createElementBlock(e.Fragment,{key:2},e.renderList(l.value,f=>(e.openBlock(),e.createBlock(q,{id:e.unref(b)(f),colorId:e.unref(P)(f,t.tags)?.color_id??"",name:e.unref(P)(f,t.tags)?.name??"",state:e.unref(b)(f)===f?"selected":"excluded"},null,8,["id","colorId","name","state"]))),256))]),_:2},1040,["class","styling"])),[[m,n,"topTagSelectorTarget"]])]),_:3},8,["id"])}}}),ze=e.defineComponent({__name:"tagSelector",props:e.mergeModels({modelValue:{},tags:{},tagsEditable:{type:Boolean},tagsMax:{default:10},id:{},singleMode:{type:Boolean},requiredForSetter:{type:Boolean,default:!0},maxTagsForSetter:{},emitDelay:{default:500},useTopButton:{type:Boolean,default:!0},styling:{}},{modelValue:{required:!0},modelModifiers:{},tags:{default:e.reactive(Pe)},tagsModifiers:{}}),emits:e.mergeModels(["selector","setter","tagsChanged"],["update:modelValue","update:tags"]),setup(t,{emit:a}){const l=y.useI18n(),o=t,d=e.useModel(t,"modelValue"),n=e.useModel(t,"tags"),r=a,c=y.debounce((p,I)=>{r(p,I)},o.emitDelay);o.singleMode&&!d.value.length&&(d.value=[n.value[0].id]);const m=o.id??"top-popup-id-"+Math.random(),f=e.ref("add"),k=()=>{const p=" "+l.Common.Tags?.toLowerCase(),I=new Map;return I.set("add",{value:"add",title:l.Common.Add+p}),I.set("replace",{value:"replace",title:l.Common.Replace+p}),I.set("delete",{value:"delete",title:l.Common.Delete+p}),I};let i=e.shallowRef({model:d,mode:"filter",targetId:void 0,filters:void 0,payload:void 0});e.watch(d,()=>{c("selector",d.value)});const v=e.computed(()=>{if(i.value.mode==="setter"&&o.maxTagsForSetter&&!i.value.filters)return i.value.model.value.length>=o.maxTagsForSetter}),u=p=>{if(p!=="all"){if(i.value.model.value.includes(p))return"selected";if(i.value.model.value.includes(de(p)))return"excluded"}return p==="all"&&!i.value.model.value.length?"selected":""},s=(p,I)=>{const S=de(p);let x=i.value.model.value.filter(w=>w!==p&&w!==S);I==="select"&&x.push(p),I==="exclude"&&x.push(S),i.value.mode==="setter"&&i.value.targetId!==void 0&&o.requiredForSetter&&(x.length||x.push("1"),x.length===2&&i.value.model.value.length===1&&i.value.model.value[0]==="1"&&(x=x.filter(w=>w!=="1"))),o.singleMode&&!i.value.filters&&(x.length||(x=i.value.model.value),x.length>1&&(x=[x[x.length-1]])),x.sort((w,z)=>{if(!o.tags)return 0;const G=o.tags.findIndex(L=>L.id===w),K=o.tags.findIndex(L=>L.id===z);return G-K}),i.value.model.value=x,i.value.mode==="setter"&&i.value.targetId!==void 0&&c("setter",{tagsIds:x,targetId:i.value.targetId,payload:i.value.payload})},g=e.computed(()=>{let p="top-tagSelector_popup";return i.value.mode==="filter"&&(p+=" top-tagSelector_popup-filter"),i.value.mode==="setter"&&(p+=" top-tagSelector_popup-setter"),p}),U=()=>{const p=prompt("","New tag");if(!p||p==="New tag")return;const I=n.value.length+1;n.value.push({id:String(I),name:p,color_id:String((I-1)%10+1)}),r("tagsChanged",n.value)},N=p=>{if(i.value=A.storage(p.elPopupOpener,"topTagSelectorTarget"),!i.value)throw new Error("Open popup TopTagSelector required v-data:topTagSelectorTarget");if(i.value.filters&&(f.value="add",i.value.model.value=[]),!y.Core.$?.ui.sortable){console.info("Для работы сортировки требуется глобальная загрузка jQuery UI Sortable");return}!y.Core.state.isMobile&&!y.Core.state.isMobileUA&&n.value&&$(p.elPopup).sortable({items:'li:has([data-tag_id]:not([data-tag_id="all"]))',cancel:'[contenteditable="plaintext-only"], [contenteditable="true"]',distance:10,stop:function(I,S){if(!n.value)return;const x=$(S.item).parent().find("[data-tag_id]"),w=[];x.each((z,G)=>{if(!n.value)return;const K=$(G).attr("data-tag_id");w.push(K)}),n.value.sort((z,G)=>{const K=w.findIndex(Z=>Z===z.id),L=w.findIndex(Z=>Z===G.id);return K-L}),c("tagsChanged",n.value)}})},We=p=>{y.Core.$?.ui.sortable&&$(p.elPopup).data("ui-sortable")&&$(p.elPopup).sortable("destroy")};return(p,I)=>(e.openBlock(),e.createElementBlock(e.Fragment,null,[e.createVNode(ce,{modelValue:d.value,"onUpdate:modelValue":I[0]||(I[0]=S=>d.value=S),id:e.unref(m),tags:n.value,styling:t.styling,mode:"filter",useTopButton:t.useTopButton},null,8,["modelValue","id","tags","styling","useTopButton"]),e.createVNode(V._sfc_main,{id:e.unref(m),class:e.normalizeClass(g.value),onOpen:I[4]||(I[4]=S=>N(S)),onClose:I[5]||(I[5]=S=>We(S)),"transition-duration":50},e.createSlots({contentList:e.withCtx(()=>[e.unref(i).mode==="filter"&&!t.singleMode?(e.openBlock(),e.createBlock(ue,{key:0,id:"all",colorId:"",name:p.$i18n.Common.All_tags??"",state:e.unref(i).model.value.length?"":"selected",onSelect:I[3]||(I[3]=S=>e.unref(i).model.value=[])},null,8,["name","state"])):e.createCommentVNode("",!0),(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(n.value,S=>(e.openBlock(),e.createBlock(ue,{key:S.id,id:S.id,colorId:S.color_id,name:S.name,state:u(S.id),canExclude:e.unref(i).mode==="filter"&&!t.singleMode,editable:t.tagsEditable,disabled:v.value&&u(S.id)==="",onUnselect:x=>s(S.id,"unselect"),onSelect:x=>s(S.id,"select"),onExclude:x=>s(S.id,"exclude"),"onUpdate:name":x=>{S.name=x,e.unref(c)("tagsChanged",n.value)}},null,8,["id","colorId","name","state","canExclude","editable","disabled","onUnselect","onSelect","onExclude","onUpdate:name"]))),128)),t.tagsEditable&&n.value.length<t.tagsMax&&n.value.length<20?(e.openBlock(),e.createBlock(V._sfc_main$2,{key:1,"data-top-icon":"",onClick:e.withModifiers(U,["stop"])},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(p.$i18n.Common.Add),1)]),_:1})):e.createCommentVNode("",!0)]),_:2},[e.unref(i).mode==="setter"&&e.unref(i).filters?{name:"header",fn:e.withCtx(()=>[e.createVNode(y._sfc_main$10,{modelValue:f.value,"onUpdate:modelValue":I[1]||(I[1]=S=>f.value=S),options:k()},null,8,["modelValue","options"])]),key:"0"}:void 0,e.unref(i).mode==="setter"&&e.unref(i).filters?{name:"footer",fn:e.withCtx(()=>[e.createVNode(y._sfc_main$1,{color:"theme"},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(p.$i18n.Common.Cancel),1)]),_:1}),e.createVNode(y._sfc_main$1,{onClick:I[2]||(I[2]=S=>e.unref(c)("setter",{tagsIds:e.unref(i).model.value,filters:e.unref(i).filters,filtersAction:f.value,payload:e.unref(i).payload}))},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(f.value==="add"?p.$i18n.Common.Add:"")+" "+e.toDisplayString(f.value==="replace"?p.$i18n.Common.Replace:"")+" "+e.toDisplayString(f.value==="delete"?p.$i18n.Common.Delete:""),1)]),_:1})]),key:"1"}:void 0]),1032,["id","class"])],64))}});B.TopCompetitorSelector=pe,B.TopGroupSelector=Re,B.TopRegionSelector=Me,B.TopTagSelector=ze,B.TopTagSelectorPopupOpener=ce,B.TopTagSelectorTagIcon=q,B.dialogRegionSelector=ne,B.findRegion=le,B.genElTopTagSelectorPopupOpener=je,B.genSearcherByKey=Y,B.renderElTopTagSelectorPopupOpener=De,B.useItemsFromCompetitors=he,Object.defineProperty(B,Symbol.toStringTag,{value:"Module"})}));
2
2
  //# sourceMappingURL=project.amd.js.map
@@ -3,14 +3,14 @@
3
3
  const fileNames = ['../assets/project.css'].map(fileName => import.meta.resolve(fileName));
4
4
  _autoloadCSSCore.insertCSSLinkToPage(fileNames, true);
5
5
 
6
- import { defineComponent as R, mergeModels as V, useModel as T, computed as M, createElementBlock as A, openBlock as h, createBlock as C, unref as v, withCtx as B, Fragment as Y, renderList as me, normalizeClass as X, createElementVNode as oe, toDisplayString as b, createVNode as P, createTextVNode as J, toValue as ye, ref as K, watch as E, createCommentVNode as O, reactive as be, isRef as he, withModifiers as U, mergeProps as Ve, withKeys as Ie, nextTick as Re, resolveDirective as Pe, withDirectives as Ne, resolveDynamicComponent as De, renderSlot as qe, shallowRef as Fe, createSlots as Ue } from "vue";
7
- import { u as w, C as z, e as Q, p as ce, d as ze } from "../.chunks/forms-Dz-wIQ-s.es.js";
8
- import { _ as we, b as ve, a as Je } from "../.chunks/popupHint.vue_vue_type_style_index_0_lang-DkmYKxyr.es.js";
9
- import { a as We, _ as Me, b as Ee, c as $e, I as ue } from "../.chunks/policy.vue_vue_type_style_index_0_lang-2tHXHN3e.es.js";
10
- import { u as _e } from "../.chunks/utils-CVP195Ai.es.js";
6
+ import { defineComponent as R, mergeModels as V, useModel as T, computed as M, createElementBlock as A, openBlock as h, createBlock as C, unref as v, withCtx as B, Fragment as Y, renderList as me, normalizeClass as X, createElementVNode as oe, toDisplayString as b, createVNode as P, createTextVNode as J, toValue as ye, ref as K, watch as E, createCommentVNode as O, reactive as be, isRef as he, withModifiers as U, mergeProps as Ve, withKeys as Ie, nextTick as Re, resolveDirective as Pe, withDirectives as Ne, resolveDynamicComponent as qe, renderSlot as De, shallowRef as Fe, createSlots as Ue } from "vue";
7
+ import { u as w, C as z, e as Q, q as ce, d as ze } from "../.chunks/forms-BAUgA7Ct.es.js";
8
+ import { _ as we, b as ve, a as Je } from "../.chunks/popupHint.vue_vue_type_style_index_0_lang-BIWw5zUX.es.js";
9
+ import { a as We, _ as Me, b as Ee, c as $e, I as ue } from "../.chunks/policy.vue_vue_type_style_index_0_lang-LkyBILW6.es.js";
10
+ import { u as _e } from "../.chunks/utils-BYaZxGC1.es.js";
11
11
  import { getSearcherGIcon as Ye, getLangLabel as Qe, getDeviceGIcon as He } from "../utils/searchers.js";
12
- import "../.chunks/core-BNsYbDEi.es.js";
13
- import "../.chunks/dialogs.vue_vue_type_script_setup_true_lang-DlvY7Imv.es.js";
12
+ import "../.chunks/core-BE_-rKvW.es.js";
13
+ import "../.chunks/dialogs.vue_vue_type_script_setup_true_lang-DMhcuiHP.es.js";
14
14
  import { g as Se } from "../.chunks/field-CyyFzM-Y.es.js";
15
15
  import { storage as W } from "../utils/dom.js";
16
16
  import { TopPopupWorker as Xe } from "../popup/worker.js";
@@ -166,7 +166,7 @@ const Ze = { class: "top-competitorSelector" }, et = { class: "top-ellipsis1" },
166
166
  }), r))
167
167
  return !1;
168
168
  }), r;
169
- }, it = _e(() => import("../.chunks/dialog_regionSelectorRegions-BVuXu3Hl.es.js")), dt = (e, a) => {
169
+ }, it = _e(() => import("../.chunks/dialog_regionSelectorRegions-Btp9cfmF.es.js")), dt = (e, a) => {
170
170
  const o = w(), t = K(a.value.keys().next().value ?? y), r = M(() => {
171
171
  const l = /* @__PURE__ */ new Map();
172
172
  if (a.value.forEach((n) => {
@@ -693,7 +693,7 @@ const mt = /* @__PURE__ */ R({
693
693
  _: 1
694
694
  }, 8, ["modelValue", "items", "icon", "api", "apiSetSearchParams", "appendSearchToResult", "useAllItem", "addChanger"]));
695
695
  }
696
- }), xt = { class: "top-groupSelector" }, Dt = /* @__PURE__ */ R({
696
+ }), xt = { class: "top-groupSelector" }, qt = /* @__PURE__ */ R({
697
697
  __name: "groupSelector",
698
698
  props: /* @__PURE__ */ V({
699
699
  folderId: {},
@@ -772,7 +772,7 @@ const mt = /* @__PURE__ */ R({
772
772
  const o = a.find((t) => t.id === e);
773
773
  if (o)
774
774
  return o;
775
- }, qt = (e, a, o) => {
775
+ }, Dt = (e, a, o) => {
776
776
  a || (a = { id: e.id }), a.id = e.id, a.pos ??= "3", a.notch ??= !0, a.posBy ??= "fixed";
777
777
  const t = Xe.genElPopupOpener("div", a);
778
778
  return t.classList.add("top-tagSelector"), e.useTopButton && t.classList.add("top-tagSelector-useTopButton", "top-button", "top-color_theme", "top-as-selector"), e.useTopButton || t.classList.add("top-tagSelector-custom"), e.mode === "filter" && t.classList.add("top-tagSelector-filter"), e.mode === "setter" && !e.filters && t.classList.add("top-tagSelector-setter_single"), e.mode === "setter" && e.filters && t.classList.add("top-tagSelector-setter_several"), t.onclick = (r) => {
@@ -1004,7 +1004,7 @@ const mt = /* @__PURE__ */ R({
1004
1004
  const f = Pe("top-data");
1005
1005
  return h(), C(Je, { id: e.id }, {
1006
1006
  default: B(() => [
1007
- Ne((h(), C(De(v(t)), Ve({
1007
+ Ne((h(), C(qe(v(t)), Ve({
1008
1008
  class: {
1009
1009
  "top-tagSelector": !0,
1010
1010
  "top-tagSelector-useTopButton": a.useTopButton,
@@ -1028,7 +1028,7 @@ const mt = /* @__PURE__ */ R({
1028
1028
  state: ""
1029
1029
  }, null, 8, ["name"])) : O("", !0),
1030
1030
  e.mode === "setter" && e.filters ? (h(), A("div", Tt, [
1031
- qe(n.$slots, "default")
1031
+ De(n.$slots, "default")
1032
1032
  ])) : (h(!0), A(Y, { key: 2 }, me(o.value, (c) => (h(), C(fe, {
1033
1033
  id: v(H)(c),
1034
1034
  colorId: v(ie)(c, e.tags)?.color_id ?? "",
@@ -1103,8 +1103,8 @@ const mt = /* @__PURE__ */ R({
1103
1103
  let k = i.value.model.value.filter((G) => G !== p && G !== S);
1104
1104
  I === "select" && k.push(p), I === "exclude" && k.push(S), i.value.mode === "setter" && i.value.targetId !== void 0 && t.requiredForSetter && (k.length || k.push("1"), k.length === 2 && i.value.model.value.length === 1 && i.value.model.value[0] === "1" && (k = k.filter((G) => G !== "1"))), t.singleMode && !i.value.filters && (k.length || (k = i.value.model.value), k.length > 1 && (k = [k[k.length - 1]])), k.sort((G, ee) => {
1105
1105
  if (!t.tags) return 0;
1106
- const D = t.tags.findIndex((F) => F.id === G), q = t.tags.findIndex((F) => F.id === ee);
1107
- return D - q;
1106
+ const q = t.tags.findIndex((F) => F.id === G), D = t.tags.findIndex((F) => F.id === ee);
1107
+ return q - D;
1108
1108
  }), i.value.model.value = k, i.value.mode === "setter" && i.value.targetId !== void 0 && u("setter", {
1109
1109
  tagsIds: k,
1110
1110
  targetId: i.value.targetId,
@@ -1138,13 +1138,13 @@ const mt = /* @__PURE__ */ R({
1138
1138
  stop: function(I, S) {
1139
1139
  if (!l.value) return;
1140
1140
  const k = $(S.item).parent().find("[data-tag_id]"), G = [];
1141
- k.each((ee, D) => {
1141
+ k.each((ee, q) => {
1142
1142
  if (!l.value) return;
1143
- const q = $(D).attr("data-tag_id");
1144
- G.push(q);
1145
- }), l.value.sort((ee, D) => {
1146
- const q = G.findIndex((de) => de === ee.id), F = G.findIndex((de) => de === D.id);
1147
- return q - F;
1143
+ const D = $(q).attr("data-tag_id");
1144
+ G.push(D);
1145
+ }), l.value.sort((ee, q) => {
1146
+ const D = G.findIndex((de) => de === ee.id), F = G.findIndex((de) => de === q.id);
1147
+ return D - F;
1148
1148
  }), u("tagsChanged", l.value);
1149
1149
  }
1150
1150
  });
@@ -1248,14 +1248,14 @@ const mt = /* @__PURE__ */ R({
1248
1248
  });
1249
1249
  export {
1250
1250
  Rt as TopCompetitorSelector,
1251
- Dt as TopGroupSelector,
1251
+ qt as TopGroupSelector,
1252
1252
  Nt as TopRegionSelector,
1253
1253
  Ut as TopTagSelector,
1254
1254
  At as TopTagSelectorPopupOpener,
1255
1255
  fe as TopTagSelectorTagIcon,
1256
1256
  it as dialogRegionSelector,
1257
1257
  rt as findRegion,
1258
- qt as genElTopTagSelectorPopupOpener,
1258
+ Dt as genElTopTagSelectorPopupOpener,
1259
1259
  Ke as genSearcherByKey,
1260
1260
  Ft as renderElTopTagSelectorPopupOpener,
1261
1261
  Pt as useItemsFromCompetitors
@@ -1,8 +1,23 @@
1
1
  import { Props } from './types';
2
2
  import { DefineComponent, ComponentOptionsMixin, PublicProps, ComponentProvideOptions } from 'vue';
3
- declare const _default: DefineComponent<Props, {}, {}, {}, {}, ComponentOptionsMixin, ComponentOptionsMixin, {} & {
3
+ declare function __VLS_template(): {
4
+ attrs: Partial<{}>;
5
+ slots: {
6
+ caption?(_: {}): any;
7
+ };
8
+ refs: {};
9
+ rootEl: HTMLDivElement;
10
+ };
11
+ type __VLS_TemplateResult = ReturnType<typeof __VLS_template>;
12
+ declare const __VLS_component: DefineComponent<Props, {}, {}, {}, {}, ComponentOptionsMixin, ComponentOptionsMixin, {} & {
4
13
  "update:modelValue": (value: string) => any;
5
14
  }, string, PublicProps, Readonly<Props> & Readonly<{
6
15
  "onUpdate:modelValue"?: ((value: string) => any) | undefined;
7
16
  }>, {}, {}, {}, {}, string, ComponentProvideOptions, false, {}, HTMLDivElement>;
17
+ declare const _default: __VLS_WithTemplateSlots<typeof __VLS_component, __VLS_TemplateResult["slots"]>;
8
18
  export default _default;
19
+ type __VLS_WithTemplateSlots<T, S> = T & {
20
+ new (): {
21
+ $slots: S;
22
+ };
23
+ };
@@ -0,0 +1,12 @@
1
+ import { DirectiveBinding } from 'vue';
2
+ export type ShortcutValue = string;
3
+ /**
4
+ * Допустимые модификаторы
5
+ */
6
+ type AllowedModifiers = 'ctrl' | 'shift' | 'alt';
7
+ type Binding = DirectiveBinding<ShortcutValue, AllowedModifiers>;
8
+ declare const shortcut: {
9
+ mounted: (el: HTMLElement, binding: Binding) => void;
10
+ unmounted(el: HTMLElement): void;
11
+ };
12
+ export default shortcut;
@@ -4,10 +4,10 @@
4
4
  _autoloadCSSCore.insertCSSLinkToPage(fileNames, true);
5
5
 
6
6
  import { watch as k, computed as I, ref as f, defineComponent as M, createBlock as m, openBlock as r, resolveDynamicComponent as B, normalizeClass as g, unref as s, withCtx as b, renderSlot as v, createElementBlock as p, createCommentVNode as S, mergeModels as R, useModel as C, useSlots as j, onMounted as x, onUnmounted as E, createElementVNode as y, toDisplayString as P, Fragment as F, createTextVNode as W, markRaw as J, createVNode as U, KeepAlive as q } from "vue";
7
- import { C as V, T as G, k as Q } from "../.chunks/forms-Dz-wIQ-s.es.js";
7
+ import { C as V, T as G, k as Q } from "../.chunks/forms-BAUgA7Ct.es.js";
8
8
  import { getHash as O, genHash as X, setHash as Y, delHash as Z } from "../utils/route.js";
9
9
  import { u as ee, d as te } from "../.chunks/store-CX_6ZXhO.es.js";
10
- import { b as z, _ as oe } from "../.chunks/popupHint.vue_vue_type_style_index_0_lang-DkmYKxyr.es.js";
10
+ import { b as z, _ as oe } from "../.chunks/popupHint.vue_vue_type_style_index_0_lang-BIWw5zUX.es.js";
11
11
  import { sleepWhile as ae } from "../utils/system.js";
12
12
  const D = (t, o) => `top:${String(t)}:${o}`, ne = (t, o) => {
13
13
  if (!o.$id) return;
@@ -1,4 +1,4 @@
1
- import { C as t, u as a, b as s } from "../.chunks/forms-Dz-wIQ-s.es.js";
1
+ import { C as t, u as a, b as s } from "../.chunks/forms-BAUgA7Ct.es.js";
2
2
  async function r(o, e = !1) {
3
3
  let i = !1;
4
4
  return navigator.clipboard && (await navigator.clipboard.writeText(o), i = !0, e && t.notice(a().Common.Copied_to_clipboard + "", "info")), i;
package/utils/date.js CHANGED
@@ -1,4 +1,4 @@
1
- import { c as t, K as s, P as o, N as r, O as g, M as n, J as D, L as d } from "../.chunks/forms-Dz-wIQ-s.es.js";
1
+ import { c as t, K as s, P as o, N as r, O as g, M as n, J as D, L as d } from "../.chunks/forms-BAUgA7Ct.es.js";
2
2
  export {
3
3
  t as dateFormat,
4
4
  s as dateToString,
package/utils/device.js CHANGED
@@ -1,4 +1,4 @@
1
- import { z as e, x as l, A as t, B as i, D as o, y as g, v as r, w as S, t as c, s as p, b } from "../.chunks/forms-Dz-wIQ-s.es.js";
1
+ import { z as e, x as l, A as t, B as i, D as o, y as g, w as r, l as S, v as c, t as p, b } from "../.chunks/forms-BAUgA7Ct.es.js";
2
2
  export {
3
3
  e as get$scroll,
4
4
  l as getCommandKeyLabel,
package/utils/lodash.js CHANGED
@@ -1,4 +1,4 @@
1
- import { F as a, d as s, G as m, I as r, H as t } from "../.chunks/forms-Dz-wIQ-s.es.js";
1
+ import { F as a, d as s, G as m, I as r, H as t } from "../.chunks/forms-BAUgA7Ct.es.js";
2
2
  export {
3
3
  a as cloneDeep,
4
4
  s as debounce,
package/utils/price.js CHANGED
@@ -1,4 +1,4 @@
1
- import { C as a, a as o } from "../.chunks/forms-Dz-wIQ-s.es.js";
1
+ import { C as a, a as o } from "../.chunks/forms-BAUgA7Ct.es.js";
2
2
  const i = (t, e, c = a.state.currency) => {
3
3
  e = e ?? o().value;
4
4
  let r = t.toLocaleString(e, { style: "currency", currency: c, maximumFractionDigits: 2 });
@@ -1,2 +1,2 @@
1
- define(["require","exports","../.chunks/forms-B_v2vU59.amd","../.chunks/core-B-mZaxOL.amd","vue","../.chunks/dialogs.vue_vue_type_script_setup_true_lang-B3hYoW1m.amd"],(function(b,c,g,f,r,d){"use strict";if(typeof r>"u")var r=window.Vue;const s={0:"Yandex",20:"Yandex.com",21:"Yandex.com.tr",1:"Google",4:"YouTube",5:"Bing",7:"Seznam",8:"AppStore",9:"GooglePlay",101:"VK",102:"Facebook",103:"Twitter"},t=a=>{let e="";switch(typeof a=="string"&&(a=Number(a)),a){case 0:e="";break;case 20:case 21:e="";break;case 1:e="";break;case 2:e="";break;case 3:e="";break;case 4:e="";break;case 5:e="";break;case 6:e="";break;case 7:e="";break;case 8:e="";break;case 9:e="";break;case null:e="";break}return e},n=a=>{let e="";switch(typeof a=="string"&&(a=Number(a)),a%10){case 0:e="";break;case 1:e="";break;case 2:e="";break}return e},i=(a,e)=>{switch(typeof a=="string"&&(a=Number(a)),a*1){case 1:case 4:case 5:case 6:case 8:case 9:return e}return""},u=(a,e,k)=>{switch(e*1){case 0:switch(k*1){case 2:a=`"${a}"`;break;case 3:a=`"!${a}"`;break;case 5:a=`"[${a}]"`;break;case 6:a=`"[!${a}]"`;break}break;case 1:a=`[${a}]`;break}return a},o=(a,e)=>{switch(e===null&&(e=6),a){case 1:e=3;break;case 2:e=2;break;case 5:e>1&&(e=1);break;default:[1,2,3,5,6].includes(e)||(e=3)}return e};c.genVolumeLabel=u,c.getDeviceGIcon=n,c.getLangLabel=i,c.getSearcherGIcon=t,c.prepareVolumeType=o,c.searchersNames=s,Object.defineProperty(c,Symbol.toStringTag,{value:"Module"})}));
1
+ define(["require","exports","../.chunks/forms-B_v2vU59.amd","../.chunks/core-DJS4o9Vt.amd","vue","../.chunks/dialogs.vue_vue_type_script_setup_true_lang-B3hYoW1m.amd"],(function(b,c,g,f,r,d){"use strict";if(typeof r>"u")var r=window.Vue;const s={0:"Yandex",20:"Yandex.com",21:"Yandex.com.tr",1:"Google",4:"YouTube",5:"Bing",7:"Seznam",8:"AppStore",9:"GooglePlay",101:"VK",102:"Facebook",103:"Twitter"},t=a=>{let e="";switch(typeof a=="string"&&(a=Number(a)),a){case 0:e="";break;case 20:case 21:e="";break;case 1:e="";break;case 2:e="";break;case 3:e="";break;case 4:e="";break;case 5:e="";break;case 6:e="";break;case 7:e="";break;case 8:e="";break;case 9:e="";break;case null:e="";break}return e},n=a=>{let e="";switch(typeof a=="string"&&(a=Number(a)),a%10){case 0:e="";break;case 1:e="";break;case 2:e="";break}return e},i=(a,e)=>{switch(typeof a=="string"&&(a=Number(a)),a*1){case 1:case 4:case 5:case 6:case 8:case 9:return e}return""},u=(a,e,k)=>{switch(e*1){case 0:switch(k*1){case 2:a=`"${a}"`;break;case 3:a=`"!${a}"`;break;case 5:a=`"[${a}]"`;break;case 6:a=`"[!${a}]"`;break}break;case 1:a=`[${a}]`;break}return a},o=(a,e)=>{switch(e===null&&(e=6),a){case 1:e=3;break;case 2:e=2;break;case 5:e>1&&(e=1);break;default:[1,2,3,5,6].includes(e)||(e=3)}return e};c.genVolumeLabel=u,c.getDeviceGIcon=n,c.getLangLabel=i,c.getSearcherGIcon=t,c.prepareVolumeType=o,c.searchersNames=s,Object.defineProperty(c,Symbol.toStringTag,{value:"Module"})}));
2
2
  //# sourceMappingURL=searchers.amd.js.map
@@ -1,7 +1,7 @@
1
- import "../.chunks/forms-Dz-wIQ-s.es.js";
2
- import "../.chunks/core-BNsYbDEi.es.js";
1
+ import "../.chunks/forms-BAUgA7Ct.es.js";
2
+ import "../.chunks/core-BE_-rKvW.es.js";
3
3
  import "vue";
4
- import "../.chunks/dialogs.vue_vue_type_script_setup_true_lang-DlvY7Imv.es.js";
4
+ import "../.chunks/dialogs.vue_vue_type_script_setup_true_lang-DMhcuiHP.es.js";
5
5
  const k = {
6
6
  0: "Yandex",
7
7
  20: "Yandex.com",
package/utils/string.js CHANGED
@@ -1,5 +1,5 @@
1
1
  import { getDomainRegexp as u } from "./check.js";
2
- import { a as n } from "../.chunks/forms-Dz-wIQ-s.es.js";
2
+ import { a as n } from "../.chunks/forms-BAUgA7Ct.es.js";
3
3
  const s = new RegExp(`^[^a-zа-я0-9_%#!?.:'"«»[\\](){} \\r\\n\\t<>&/+-]`, "i"), g = (e) => {
4
4
  const r = e?.[0]?.match(s);
5
5
  return {
package/web-types.json CHANGED
@@ -77,6 +77,37 @@
77
77
  "type": "object"
78
78
  }
79
79
  },
80
+ {
81
+ "name": "top-shortcut",
82
+ "source": {
83
+ "module": "@topvisor/ui/core/directives/shortcut",
84
+ "symbol": "default"
85
+ },
86
+ "description": "Добавляет горячие клавиши для клика по элементу",
87
+ "doc-url": "https://ui.topvisor.com/?path=/docs/core-directives-shortcut--docs",
88
+ "modifiers": [
89
+ {
90
+ "name": "ctrl",
91
+ "description": "Ctrl/Cmd должен быть зажат",
92
+ "type": "boolean"
93
+ },
94
+ {
95
+ "name": "alt",
96
+ "description": "Alt должен быть зажат",
97
+ "type": "boolean"
98
+ },
99
+ {
100
+ "name": "shift",
101
+ "description": "Shift должен быть зажат",
102
+ "type": "boolean"
103
+ }
104
+ ],
105
+ "attribute-value": {
106
+ "kind": "expression",
107
+ "type": "string",
108
+ "description": "Горячая клавиша, на комбинацию ее с модификатором должен реагировать элемент"
109
+ }
110
+ },
80
111
  {
81
112
  "name": "top-sticky",
82
113
  "source": {
@@ -1,2 +0,0 @@
1
- define(["require","exports","vue","./forms-B_v2vU59.amd","../popup/worker.amd","./dialogs.vue_vue_type_script_setup_true_lang-B3hYoW1m.amd","../utils/dom.amd"],(function(a,D,v,n,r,U,S){"use strict";if(typeof v>"u")var v=window.Vue;class L{static isInited=!1;static init(){this.isInited||(this.isInited=!0,document.addEventListener("mouseover",e=>{!(e.target instanceof HTMLElement)||!e.target.dataset?.topPopupOpenByHover||e.target.click()}),document.addEventListener("scroll",()=>{n.Core.state.isMobile||n.Core.state.isMobileUA||r.TopPopupWorker.getAll().forEach(e=>r.TopPopupWorker.close(e))}),n.Events.addOnReize(e=>{n.Core.state.isMobile&&e.topEvent.widthDiff&&r.TopPopupWorker.getAll().forEach(o=>r.TopPopupWorker.close(o))}),document.addEventListener("click",this.onclick,{capture:!0}))}static async onclick(e){if(!(e.target instanceof HTMLElement)||e.target.dataset.topPopupDisabled)return;let o;switch(!0){case!!e.target.dataset?.topPopup:o=e.target;break;case!!e.target.parentElement?.dataset.topPopup:o=e.target.parentElement;break;case!!e.target.parentElement?.parentElement?.dataset.topPopup:o=e.target.parentElement?.parentElement;break}if(o&&!o.dataset.topPopupDisabled){if(o.dataset.topPopupOpened){const i=r.TopPopupWorker.getPopupFromOpener(o);i?.openerIsInput||i?.close();return}e.preventDefault(),await r.TopPopupWorker.openByOpener(o)}}}let w;const V={mounted:async(t,e)=>{w||(w=(await new Promise((c,f)=>a(["../utils/dom.amd"],c,f))).storage);const o=e.arg,i=e.value;w(t,o,i)}};let _,l=[],g;const I=async()=>{const{isVisible:t}=await new Promise((o,i)=>a(["../utils/dom.amd"],o,i));if(l=l.filter(t),!l.length)return;l[0].focus(),l=[]},O=async t=>{_||(_=await new Promise((e,o)=>a(["../utils/lodash.amd"],e,o))),g||(g=_.debounce(I,30)),l.push(t),g()},M={mounted:function(t,e){t.__TOP_V_FOCUS_VALUE=e.value??!0,(e.value??!0)&&O(t)},updated:function(t,e){e.modifiers.onupdate&&t.__TOP_V_FOCUS_VALUE!==(e.value??!0)&&(t.__TOP_V_FOCUS_VALUE=e.value??!0,(e.value??!0)&&O(t))}};let d,b;const $=t=>(typeof t=="boolean"||(t?t={...t}:t={},t.behavior??="smooth",t.block??="nearest",t.inline??="nearest"),t);let p,T;const R=async()=>{if(!p)return;const t=await h(p);t.isVisible&&p.scrollIntoView(t.scrollIntoViewOptions)},C=async t=>{b||(b=await new Promise((e,o)=>a(["../utils/lodash.amd"],e,o))),T||(T=b.debounce(R,30)),p=t,T()},h=async(t,e)=>{d||(d=await new Promise((i,s)=>a(["../utils/dom.amd"],i,s)));let o=d.storage(t,"v-top-scrollIntoView");return o||(o={isVisible:S.isVisible(t),scrollIntoViewOptions:$(e)},d.storage(t,"v-top-scrollIntoView",o)),o},W={async mounted(t,e){await h(t,e.value),e.modifiers.immediate&&C(t)},async updated(t,e){const o=await h(t,e.value);o.scrollIntoViewOptions=$(e.value);const i=S.isVisible(t);i&&o.isVisible!==i&&C(t),o.isVisible=i}};let u;const H={async mounted(t){u||(u=await new Promise((e,o)=>a(["../utils/scroll.amd"],e,o))),u.connectScrollShadow(t)},async unmounted(t){u||(u=await new Promise((e,o)=>a(["../utils/scroll.amd"],e,o))),u.unconnectScrollShadow(t)}};let E;const x={mounted(t,e,o){const i=e.value||"top-sticky";E=new IntersectionObserver(s=>{let c=s[0].intersectionRatio<1;c&&e.modifiers.bottom&&s[0].intersectionRect.y===0&&(c=!1),t.classList.toggle(i,c)},{threshold:[1]}),E.observe(t)},unmounted(t,e,o){E?.disconnect()}};let k=!1,P;const m=new Map,F=(t,e)=>{const{distance:o,percent:i}=t.directiveSwipUpOptions,s=t.getBoundingClientRect().top,c=e*i/100/o,f=(e-s)/c;f<=o?t.style.transform=`translateY(${o-f}px)`:t.style.transform="translateY(0px)"},N=t=>{let e=window.innerHeight;window.addEventListener("scroll",()=>{m.forEach(o=>F(o,e))},{passive:!0}),P=new IntersectionObserver(o=>{e=window.innerHeight,o.forEach(i=>{const s=i.target;if(i.intersectionRatio<.1?m.delete(s):m.set(s,s),i.intersectionRatio===0){const{distance:c}=s.directiveSwipUpOptions;s.style.transform=`translateY(${c}px)`}})},{threshold:.1})},B={mounted(t,e,o){n.Core.state.isMobileUA||(t.directiveSwipUpOptions={distance:e.value?.distance??100,percent:e.value?.percent??30},k||(N(),k=!0),P.observe(t))},unmounted(t,e,o){m.delete(t),P?.unobserve(t)}},y=t=>{if(!n.Core.$?.ui?.tooltip){console.info("Для работы v-top-tooltip требуется глобальная загрузка jQuery UI Tooltip");return}return n.Core.$(t)},A=(t,e)=>{const o=t.value??{};return o.content??=e.props?.title,o.content=String(o.content).replace(/([^<>])\r?\n([^<>])/g,"$1<br>$2"),o.position??={my:"bottom-18px",at:"top center"},o},Y={mounted(t,e,o){y(t)?.tooltip(A(e,o))},updated(t,e,o,i){const s=A(e,o),c=y(t)?.tooltip("instance");c&&(c.options={...c.options,...s})},unmounted(t,e,o){y(t)?.tooltip("destroy")}},j=v.defineAsyncComponent(()=>new Promise((t,e)=>a(["./notice-6HGA0ECG.amd"],t,e)));window.vd=console.log;const z={install:(t,e)=>{t.config.globalProperties.$core=n.Core,t.config.globalProperties.$vd=console.log;for(const o in e)n.Core.state[o]=e[o];e.widthForMobile&&(n.Core.widthForMobile=e.widthForMobile),e.themeName&&(n.Core.themeName=e.themeName),n.Core._setState(),e.topPopupOptions&&(r.TopPopupWorker.options=e.topPopupOptions),L.init(),U.TopDialogWorker.init(e.topDialogOptions),t.directive("top-data",V),t.directive("top-focus",M),t.directive("top-scroll-into-view",W),t.directive("top-scroll-shadow",H),t.directive("top-sticky",x),t.directive("top-swim-up",B),t.directive("top-tooltip",Y),t.component("TopAvatar",n._sfc_main$6),t.component("TopButton",n._sfc_main$1),t.component("TopCheckbox",n._sfc_main$4),t.component("TopControlLabel",n._sfc_main$7),t.component("TopHint",n._sfc_main$2),t.component("TopInput",n._sfc_main),t.component("TopInputDate",n._sfc_main$8),t.component("TopInputRange",n._sfc_main$9),t.component("TopLoadbar",n.TopLoadbar),t.component("TopRadio",n._sfc_main$5),t.component("TopSelect",n._sfc_main$10),t.component("TopSwitcher",n._sfc_main$11),t.component("TopTextarea",n._sfc_main$3),t.component("TopNotice",j),t.component("TopDialogs",U._sfc_main)}};D.core=z}));
2
- //# sourceMappingURL=core-B-mZaxOL.amd.js.map