@topvisor/ui 1.0.41-dialog.1 → 1.0.42-checkvisibility.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (128) hide show
  1. package/.chunks/{core-CwjGTMhd.es.js → core-BAG3GPtC.es.js} +4 -4
  2. package/.chunks/{core-CwjGTMhd.es.js.map → core-BAG3GPtC.es.js.map} +1 -1
  3. package/.chunks/{core-D2o3elGA.amd.js → core-BW5pBSkC.amd.js} +2 -2
  4. package/.chunks/{core-D2o3elGA.amd.js.map → core-BW5pBSkC.amd.js.map} +1 -1
  5. package/.chunks/{datepicker-Byyye2pn.amd.js → datepicker-BWaVsTd0.amd.js} +2 -2
  6. package/.chunks/{datepicker-Byyye2pn.amd.js.map → datepicker-BWaVsTd0.amd.js.map} +1 -1
  7. package/.chunks/{datepicker-N83oX3hx.es.js → datepicker-DCDYQmsc.es.js} +2 -2
  8. package/.chunks/{datepicker-N83oX3hx.es.js.map → datepicker-DCDYQmsc.es.js.map} +1 -1
  9. package/.chunks/{dialog_selectorRegions-pDIYvl7b.amd.js → dialog_selectorRegions-C-MZasKk.amd.js} +2 -2
  10. package/.chunks/{dialog_selectorRegions-pDIYvl7b.amd.js.map → dialog_selectorRegions-C-MZasKk.amd.js.map} +1 -1
  11. package/.chunks/{dialog_selectorRegions-lYV2SJBx.es.js → dialog_selectorRegions-DhFJmdQM.es.js} +4 -4
  12. package/.chunks/{dialog_selectorRegions-lYV2SJBx.es.js.map → dialog_selectorRegions-DhFJmdQM.es.js.map} +1 -1
  13. package/.chunks/dialogs.vue_vue_type_script_setup_true_lang-B92h9NoR.amd.js +2 -0
  14. package/.chunks/dialogs.vue_vue_type_script_setup_true_lang-B92h9NoR.amd.js.map +1 -0
  15. package/.chunks/{dialogs.vue_vue_type_script_setup_true_lang-X3S_WcSV.es.js → dialogs.vue_vue_type_script_setup_true_lang-LxNjWbxU.es.js} +113 -97
  16. package/.chunks/dialogs.vue_vue_type_script_setup_true_lang-LxNjWbxU.es.js.map +1 -0
  17. package/.chunks/{forms-C-fyoosd.es.js → forms-DOGPN_TR.es.js} +480 -468
  18. package/.chunks/{forms-C-fyoosd.es.js.map → forms-DOGPN_TR.es.js.map} +1 -1
  19. package/.chunks/forms-Gb7ujpmz.amd.js +3 -0
  20. package/.chunks/{forms-DO87ZZk9.amd.js.map → forms-Gb7ujpmz.amd.js.map} +1 -1
  21. package/.chunks/{listItem.vue_vue_type_script_setup_true_lang-DDQSxC8E.amd.js → listItem.vue_vue_type_script_setup_true_lang-CF_hIWa6.amd.js} +2 -2
  22. package/.chunks/{listItem.vue_vue_type_script_setup_true_lang-DDQSxC8E.amd.js.map → listItem.vue_vue_type_script_setup_true_lang-CF_hIWa6.amd.js.map} +1 -1
  23. package/.chunks/{listItem.vue_vue_type_script_setup_true_lang-BJTTvdc7.es.js → listItem.vue_vue_type_script_setup_true_lang-CJQj81Yq.es.js} +2 -2
  24. package/.chunks/{listItem.vue_vue_type_script_setup_true_lang-BJTTvdc7.es.js.map → listItem.vue_vue_type_script_setup_true_lang-CJQj81Yq.es.js.map} +1 -1
  25. package/.chunks/{menu.vue_vue_type_style_index_0_lang-7eYwnVLw.amd.js → menu.vue_vue_type_style_index_0_lang-CczcI_-j.amd.js} +2 -2
  26. package/.chunks/{menu.vue_vue_type_style_index_0_lang-7eYwnVLw.amd.js.map → menu.vue_vue_type_style_index_0_lang-CczcI_-j.amd.js.map} +1 -1
  27. package/.chunks/{menu.vue_vue_type_style_index_0_lang-Bi9Z81pC.es.js → menu.vue_vue_type_style_index_0_lang-Dq5eEX9i.es.js} +2 -2
  28. package/.chunks/{menu.vue_vue_type_style_index_0_lang-Bi9Z81pC.es.js.map → menu.vue_vue_type_style_index_0_lang-Dq5eEX9i.es.js.map} +1 -1
  29. package/.chunks/{notice-B8nfJMJN.amd.js → notice-C5sXcBql.amd.js} +2 -2
  30. package/.chunks/{notice-B8nfJMJN.amd.js.map → notice-C5sXcBql.amd.js.map} +1 -1
  31. package/.chunks/{notice-DCONQ8rR.es.js → notice-DE88Oe-t.es.js} +2 -2
  32. package/.chunks/{notice-DCONQ8rR.es.js.map → notice-DE88Oe-t.es.js.map} +1 -1
  33. package/.chunks/{page.vue_vue_type_script_setup_true_lang-Dze2ZUr3.es.js → page.vue_vue_type_script_setup_true_lang-DV1TJ_hF.es.js} +4 -4
  34. package/.chunks/page.vue_vue_type_script_setup_true_lang-DV1TJ_hF.es.js.map +1 -0
  35. package/.chunks/{page.vue_vue_type_script_setup_true_lang-Cg3dLy7K.amd.js → page.vue_vue_type_script_setup_true_lang-wVql7Y7c.amd.js} +2 -2
  36. package/.chunks/page.vue_vue_type_script_setup_true_lang-wVql7Y7c.amd.js.map +1 -0
  37. package/.chunks/popup-B_8bvIsF.amd.js +2 -0
  38. package/.chunks/{popup-XXfdNLmr.amd.js.map → popup-B_8bvIsF.amd.js.map} +1 -1
  39. package/.chunks/{popup-PpCQY5Zi.es.js → popup-BjsK_pMZ.es.js} +106 -80
  40. package/.chunks/{popup-PpCQY5Zi.es.js.map → popup-BjsK_pMZ.es.js.map} +1 -1
  41. package/.chunks/{utils-DAIrXU57.amd.js → utils-BYruuiOR.amd.js} +2 -2
  42. package/.chunks/{utils-DAIrXU57.amd.js.map → utils-BYruuiOR.amd.js.map} +1 -1
  43. package/.chunks/utils-BbbR1pxf.amd.js +2 -0
  44. package/.chunks/utils-BbbR1pxf.amd.js.map +1 -0
  45. package/.chunks/{utils-BcKnFj1j.es.js → utils-CB-BjgcP.es.js} +242 -166
  46. package/.chunks/utils-CB-BjgcP.es.js.map +1 -0
  47. package/.chunks/{utils-DsICGMuv.es.js → utils-DtQUyz9-.es.js} +2 -2
  48. package/.chunks/{utils-DsICGMuv.es.js.map → utils-DtQUyz9-.es.js.map} +1 -1
  49. package/assets/core.css +1 -1
  50. package/assets/forms.css +1 -1
  51. package/assets/formsExt.css +1 -1
  52. package/assets/notice.css +1 -1
  53. package/charts/charts.amd.js +1 -1
  54. package/charts/charts.js +1 -1
  55. package/components/dialog/dialog/dialogs/dialogs.vue.d.ts +3 -0
  56. package/components/dialog/lib/types.d.ts +23 -0
  57. package/components/dialog/lib/utils.d.ts +8 -8
  58. package/components/dialog/lib/utils.globalEvents.d.ts +2 -2
  59. package/components/dialog/lib/worker.d.ts +12 -11
  60. package/components/formsExt/formsExt.d.ts +2 -0
  61. package/components/formsExt/policy/policy.vue.d.ts +4 -0
  62. package/components/formsExt/policy/types.d.ts +10 -0
  63. package/components/formsExt/selector2/composables/useMenu.d.ts +2 -0
  64. package/components/formsExt/selector2/selector2.vue.d.ts +5 -180
  65. package/components/formsExt/selector2/types.d.ts +17 -8
  66. package/core/app.amd.js +1 -1
  67. package/core/app.js +5 -5
  68. package/core/core/core.d.ts +1 -1
  69. package/core/core/options.d.ts +7 -6
  70. package/core/core/state.d.ts +1 -1
  71. package/core/plugins/core.d.ts +1 -1
  72. package/core/utils/date.d.ts +30 -12
  73. package/core/utils/dom.d.ts +17 -1
  74. package/dialog/dialog.amd.js +1 -1
  75. package/dialog/dialog.js +2 -2
  76. package/forms/forms.amd.js +1 -1
  77. package/forms/forms.js +1 -1
  78. package/formsExt/formsExt.amd.js +1 -1
  79. package/formsExt/formsExt.amd.js.map +1 -1
  80. package/formsExt/formsExt.js +320 -283
  81. package/formsExt/formsExt.js.map +1 -1
  82. package/icomoon/demo.html +15 -1
  83. package/icomoon/fonts/Topvisor-2.eot +0 -0
  84. package/icomoon/fonts/Topvisor-2.svg +1 -0
  85. package/icomoon/fonts/Topvisor-2.ttf +0 -0
  86. package/icomoon/fonts/Topvisor-2.woff +0 -0
  87. package/icomoon/selection.json +1 -1
  88. package/icomoon/style.css +8 -5
  89. package/layout/layout.amd.js +1 -1
  90. package/layout/layout.js +1 -1
  91. package/package.json +1 -1
  92. package/popup/popup.amd.js +1 -1
  93. package/popup/popup.js +2 -2
  94. package/popup/worker.amd.js +1 -1
  95. package/popup/worker.js +2 -2
  96. package/project/project.amd.js +1 -1
  97. package/project/project.js +5 -5
  98. package/tabsView/tabsView.amd.js +1 -1
  99. package/tabsView/tabsView.js +1 -1
  100. package/utils/clipboard.amd.js +1 -1
  101. package/utils/clipboard.js +1 -1
  102. package/utils/date.amd.js +1 -1
  103. package/utils/date.js +4 -3
  104. package/utils/device.amd.js +1 -1
  105. package/utils/device.js +1 -1
  106. package/utils/dom.amd.js +1 -1
  107. package/utils/dom.amd.js.map +1 -1
  108. package/utils/dom.js +44 -27
  109. package/utils/dom.js.map +1 -1
  110. package/utils/lodash.amd.js +1 -1
  111. package/utils/lodash.js +1 -1
  112. package/utils/price.amd.js +1 -1
  113. package/utils/price.js +1 -1
  114. package/utils/searchers.amd.js +1 -1
  115. package/utils/searchers.js +3 -3
  116. package/utils/string.amd.js +1 -1
  117. package/utils/string.js +1 -1
  118. package/.chunks/dialogs.vue_vue_type_script_setup_true_lang-B14m3p7q.amd.js +0 -2
  119. package/.chunks/dialogs.vue_vue_type_script_setup_true_lang-B14m3p7q.amd.js.map +0 -1
  120. package/.chunks/dialogs.vue_vue_type_script_setup_true_lang-X3S_WcSV.es.js.map +0 -1
  121. package/.chunks/forms-DO87ZZk9.amd.js +0 -3
  122. package/.chunks/page.vue_vue_type_script_setup_true_lang-Cg3dLy7K.amd.js.map +0 -1
  123. package/.chunks/page.vue_vue_type_script_setup_true_lang-Dze2ZUr3.es.js.map +0 -1
  124. package/.chunks/popup-XXfdNLmr.amd.js +0 -2
  125. package/.chunks/utils-BcKnFj1j.es.js.map +0 -1
  126. package/.chunks/utils-pvFg1FqE.amd.js +0 -2
  127. package/.chunks/utils-pvFg1FqE.amd.js.map +0 -1
  128. package/icomoon/Topvisor icons.json +0 -6612
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?7tppdv');
4
- src: url('fonts/Topvisor-2.eot?7tppdv#iefix') format('embedded-opentype'),
5
- url('fonts/Topvisor-2.ttf?7tppdv') format('truetype'),
6
- url('fonts/Topvisor-2.woff?7tppdv') format('woff'),
7
- url('fonts/Topvisor-2.svg?7tppdv#Topvisor-2') format('svg');
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');
8
8
  font-weight: normal;
9
9
  font-style: normal;
10
10
  font-display: block;
@@ -193,6 +193,9 @@
193
193
  .icon2-snapshot:before {
194
194
  content: "\e91b";
195
195
  }
196
+ .icon2-question-fill:before {
197
+ content: "\ea0a";
198
+ }
196
199
  .icon2-restore:before {
197
200
  content: "\ea09";
198
201
  }
@@ -1,2 +1,2 @@
1
- define(["require","exports","vue","../.chunks/forms-DO87ZZk9.amd","../require/css.amd!../assets/layout.css"],function(v,t,e,n){"use strict";if(typeof e>"u")var e=window.Vue;const l=e.defineComponent({__name:"rows",props:{gap:{default:"none"}},setup(s){const o=s;return(c,B)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass({"top-rows":!0,["top-rows-gap_"+o.gap]:!0})},[e.renderSlot(c.$slots,"default")],2))}}),r={class:"top-islandRows"},a={key:0,class:"top-islandRows_title"},d=e.defineComponent({__name:"islandRows",setup(s){return(o,c)=>(e.openBlock(),e.createElementBlock("div",r,[o.$slots.title?(e.openBlock(),e.createElementBlock("div",a,[e.renderSlot(o.$slots,"title")])):e.createCommentVNode("",!0),e.createVNode(l,{gap:"l",class:"top-islandRows_rows"},{default:e.withCtx(()=>[e.renderSlot(o.$slots,"default")]),_:3})]))}}),i={},_={class:"top-islandRows_row"};function u(s,o){return e.openBlock(),e.createElementBlock("div",_,[e.renderSlot(s.$slots,"default")])}const p=n._export_sfc(i,[["render",u]]),w={},f={class:"top-islandRows_subTitle"};function m(s,o){return e.openBlock(),e.createElementBlock("div",f,[e.renderSlot(s.$slots,"default")])}const R=n._export_sfc(w,[["render",m]]),T=d,k=p,$=R,h=l;t.TopIslandRows=T,t.TopIslandRowsRow=k,t.TopIslandRowsSubTitle=$,t.TopRows=h,Object.defineProperty(t,Symbol.toStringTag,{value:"Module"})});
1
+ define(["require","exports","vue","../.chunks/forms-Gb7ujpmz.amd","../require/css.amd!../assets/layout.css"],function(v,t,e,n){"use strict";if(typeof e>"u")var e=window.Vue;const l=e.defineComponent({__name:"rows",props:{gap:{default:"none"}},setup(s){const o=s;return(c,B)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass({"top-rows":!0,["top-rows-gap_"+o.gap]:!0})},[e.renderSlot(c.$slots,"default")],2))}}),r={class:"top-islandRows"},a={key:0,class:"top-islandRows_title"},d=e.defineComponent({__name:"islandRows",setup(s){return(o,c)=>(e.openBlock(),e.createElementBlock("div",r,[o.$slots.title?(e.openBlock(),e.createElementBlock("div",a,[e.renderSlot(o.$slots,"title")])):e.createCommentVNode("",!0),e.createVNode(l,{gap:"l",class:"top-islandRows_rows"},{default:e.withCtx(()=>[e.renderSlot(o.$slots,"default")]),_:3})]))}}),i={},_={class:"top-islandRows_row"};function u(s,o){return e.openBlock(),e.createElementBlock("div",_,[e.renderSlot(s.$slots,"default")])}const p=n._export_sfc(i,[["render",u]]),w={},f={class:"top-islandRows_subTitle"};function m(s,o){return e.openBlock(),e.createElementBlock("div",f,[e.renderSlot(s.$slots,"default")])}const R=n._export_sfc(w,[["render",m]]),T=d,k=p,$=R,h=l;t.TopIslandRows=T,t.TopIslandRowsRow=k,t.TopIslandRowsSubTitle=$,t.TopRows=h,Object.defineProperty(t,Symbol.toStringTag,{value:"Module"})});
2
2
  //# sourceMappingURL=layout.amd.js.map
package/layout/layout.js CHANGED
@@ -1,6 +1,6 @@
1
1
  import { Core as i } from "../core/app.js";
2
2
  import { defineComponent as r, createElementBlock as t, openBlock as e, normalizeClass as d, renderSlot as n, createCommentVNode as p, createVNode as u, withCtx as m } from "vue";
3
- import { t as l } from "../.chunks/forms-C-fyoosd.es.js";
3
+ import { t as l } from "../.chunks/forms-DOGPN_TR.es.js";
4
4
  const _ = ["../assets/layout.css"].map((s) => import.meta.resolve(s));
5
5
  i.insertCSSLinkToPage(_, !0);
6
6
  const c = /* @__PURE__ */ r({
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@topvisor/ui",
3
3
  "private": false,
4
- "version": "1.0.41-dialog.1",
4
+ "version": "1.0.42-checkvisibility.0",
5
5
  "type": "module",
6
6
  "description": "Topvisor UI-kit Vue",
7
7
  "author": "Topvisor",
@@ -1,2 +1,2 @@
1
- define(["require","exports","../.chunks/listItem.vue_vue_type_script_setup_true_lang-DDQSxC8E.amd","vue","../.chunks/forms-DO87ZZk9.amd","../require/css.amd!../assets/popup.css"],function(h,p,f,e,c){"use strict";if(typeof e>"u")var e=window.Vue;const $=e.defineComponent({__name:"widgetInput",props:e.mergeModels({modelValue:{},name:{},disabled:{type:Boolean},readonly:{type:Boolean},modificator:{},size:{},styling:{},isError:{type:Boolean},isLoading:{type:Boolean},icon:{},icon2:{},addCleaner:{type:Boolean,default:!0},title:{},captionType:{}},{modelValue:{default:""},modelModifiers:{}}),emits:["update:modelValue"],setup(u){const d=e.useModel(u,"modelValue");return(r,o)=>(e.openBlock(),e.createBlock(c._sfc_main$2,e.mergeProps(r.$props,{modificator:"popupWidgetInput",modelValue:d.value,"onUpdate:modelValue":o[0]||(o[0]=l=>d.value=l)}),null,16,["modelValue"]))}}),S=e.defineComponent({__name:"alert",props:{submitText:{},id:{},class:{},transitionDuration:{},footerSupportLink:{},pos:{},notch:{type:Boolean},openByHover:{type:Boolean},posBy:{}},emits:["open","close","scrollContentList"],setup(u){const r={...u,submitText:void 0};return delete r.submitText,(o,l)=>(e.openBlock(),e.createBlock(f._sfc_main,e.mergeProps({class:"top-popupAlert"},r,{onOpen:l[0]||(l[0]=s=>o.$emit("open",s)),onClose:l[1]||(l[1]=s=>o.$emit("close",s)),onScrollContentList:l[2]||(l[2]=(...s)=>o.$emit("scrollContentList",...s))}),e.createSlots({opener:e.withCtx(()=>[e.renderSlot(o.$slots,"opener")]),footer:e.withCtx(()=>[e.renderSlot(o.$slots,"footer"),e.createVNode(c._sfc_main,null,{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(o.submitText||o.$i18n.Common.Close),1)]),_:1})]),_:2},[o.$slots.header?{name:"header",fn:e.withCtx(()=>[e.renderSlot(o.$slots,"header")]),key:"0"}:void 0,o.$slots.default?{name:"content",fn:e.withCtx(()=>[e.renderSlot(o.$slots,"default")]),key:"1"}:void 0]),1040))}}),y=e.defineComponent({__name:"confirm",props:{cancelText:{},submitText:{},isWarning:{type:Boolean},id:{},class:{},transitionDuration:{},footerSupportLink:{},pos:{},notch:{type:Boolean},openByHover:{type:Boolean},posBy:{}},emits:["open","close","scrollContentList","submit"],setup(u,{emit:d}){const r=u,o=d,l=e.ref(!1),s=()=>{l.value=!0,o("submit")},C=n=>{if(l.value){l.value=!1;return}o("close",n)},T={...r,submitText:void 0,cancelText:void 0,isWarning:void 0};return delete T.submitText,delete T.cancelText,delete T.isWarning,(n,i)=>(e.openBlock(),e.createBlock(f._sfc_main,e.mergeProps({class:"top-popupConfirm"},T,{onOpen:i[0]||(i[0]=t=>n.$emit("open",t)),onClose:i[1]||(i[1]=t=>C(t)),onScrollContentList:i[2]||(i[2]=(...t)=>n.$emit("scrollContentList",...t))}),e.createSlots({opener:e.withCtx(()=>[e.renderSlot(n.$slots,"opener")]),footer:e.withCtx(()=>[e.renderSlot(n.$slots,"footer"),e.createVNode(c._sfc_main,{color:"theme"},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(n.cancelText||n.$i18n.Common.Cancel),1)]),_:1}),e.createVNode(c._sfc_main,{onClick:s,color:n.isWarning?"red":"blue"},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(n.submitText||n.$i18n.Common.Continue),1)]),_:1},8,["color"])]),_:2},[n.$slots.header?{name:"header",fn:e.withCtx(()=>[e.renderSlot(n.$slots,"header")]),key:"0"}:void 0,n.$slots.default?{name:"content",fn:e.withCtx(()=>[e.renderSlot(n.$slots,"default")]),key:"1"}:void 0]),1040))}}),V=e.defineComponent({__name:"prompt",props:{submitText:{},cancelText:{},defaultValue:{},id:{},class:{},transitionDuration:{},footerSupportLink:{},pos:{},notch:{type:Boolean},openByHover:{type:Boolean},posBy:{}},emits:["open","close","scrollContentList","submit"],setup(u,{emit:d}){const r=u,o=d,l=()=>C.value=r.defaultValue??"",s=e.ref(!1),C=e.ref();e.watch(()=>r.defaultValue,()=>l(),{immediate:!0});const T=()=>{s.value=!0},n=t=>{if(s.value){s.value=!1,o("submit",C.value),l();return}l(),o("close",t)},i={...r,submitText:void 0,cancelText:void 0,defaultValue:void 0};return delete i.submitText,delete i.cancelText,delete i.defaultValue,(t,a)=>(e.openBlock(),e.createBlock(f._sfc_main,e.mergeProps({class:"top-popupPrompt"},i,{onOpen:a[1]||(a[1]=m=>t.$emit("open",m)),onClose:a[2]||(a[2]=m=>n(m)),onScrollContentList:a[3]||(a[3]=(...m)=>t.$emit("scrollContentList",...m))}),e.createSlots({opener:e.withCtx(()=>[e.renderSlot(t.$slots,"opener")]),footer:e.withCtx(()=>[e.renderSlot(t.$slots,"footer"),e.createVNode(c._sfc_main,{color:"theme"},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(t.cancelText||t.$i18n.Common.Cancel),1)]),_:1}),e.createVNode(c._sfc_main,{onClick:T},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(t.submitText||t.$i18n.Common.OK),1)]),_:1})]),_:2},[t.$slots.header?{name:"header",fn:e.withCtx(()=>[e.renderSlot(t.$slots,"header")]),key:"0"}:void 0,t.$slots.default?{name:"content",fn:e.withCtx(()=>[e.renderSlot(t.$slots,"default"),e.createVNode($,{modelValue:C.value,"onUpdate:modelValue":a[0]||(a[0]=m=>C.value=m),modelModifiers:{trim:!0}},null,8,["modelValue"])]),key:"1"}:void 0]),1040))}}),B=f._sfc_main,v=f._sfc_main$2,P=f._sfc_main$1,b=$,k=S,w=y,g=V;p.TopPopup=B,p.TopPopupAlert=k,p.TopPopupConfirm=w,p.TopPopupListItem=P,p.TopPopupOpener=v,p.TopPopupPrompt=g,p.TopPopupWidgetInput=b,Object.defineProperty(p,Symbol.toStringTag,{value:"Module"})});
1
+ define(["require","exports","../.chunks/listItem.vue_vue_type_script_setup_true_lang-CF_hIWa6.amd","vue","../.chunks/forms-Gb7ujpmz.amd","../require/css.amd!../assets/popup.css"],function(h,p,f,e,c){"use strict";if(typeof e>"u")var e=window.Vue;const $=e.defineComponent({__name:"widgetInput",props:e.mergeModels({modelValue:{},name:{},disabled:{type:Boolean},readonly:{type:Boolean},modificator:{},size:{},styling:{},isError:{type:Boolean},isLoading:{type:Boolean},icon:{},icon2:{},addCleaner:{type:Boolean,default:!0},title:{},captionType:{}},{modelValue:{default:""},modelModifiers:{}}),emits:["update:modelValue"],setup(u){const d=e.useModel(u,"modelValue");return(r,o)=>(e.openBlock(),e.createBlock(c._sfc_main$2,e.mergeProps(r.$props,{modificator:"popupWidgetInput",modelValue:d.value,"onUpdate:modelValue":o[0]||(o[0]=l=>d.value=l)}),null,16,["modelValue"]))}}),S=e.defineComponent({__name:"alert",props:{submitText:{},id:{},class:{},transitionDuration:{},footerSupportLink:{},pos:{},notch:{type:Boolean},openByHover:{type:Boolean},posBy:{}},emits:["open","close","scrollContentList"],setup(u){const r={...u,submitText:void 0};return delete r.submitText,(o,l)=>(e.openBlock(),e.createBlock(f._sfc_main,e.mergeProps({class:"top-popupAlert"},r,{onOpen:l[0]||(l[0]=s=>o.$emit("open",s)),onClose:l[1]||(l[1]=s=>o.$emit("close",s)),onScrollContentList:l[2]||(l[2]=(...s)=>o.$emit("scrollContentList",...s))}),e.createSlots({opener:e.withCtx(()=>[e.renderSlot(o.$slots,"opener")]),footer:e.withCtx(()=>[e.renderSlot(o.$slots,"footer"),e.createVNode(c._sfc_main,null,{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(o.submitText||o.$i18n.Common.Close),1)]),_:1})]),_:2},[o.$slots.header?{name:"header",fn:e.withCtx(()=>[e.renderSlot(o.$slots,"header")]),key:"0"}:void 0,o.$slots.default?{name:"content",fn:e.withCtx(()=>[e.renderSlot(o.$slots,"default")]),key:"1"}:void 0]),1040))}}),y=e.defineComponent({__name:"confirm",props:{cancelText:{},submitText:{},isWarning:{type:Boolean},id:{},class:{},transitionDuration:{},footerSupportLink:{},pos:{},notch:{type:Boolean},openByHover:{type:Boolean},posBy:{}},emits:["open","close","scrollContentList","submit"],setup(u,{emit:d}){const r=u,o=d,l=e.ref(!1),s=()=>{l.value=!0,o("submit")},C=n=>{if(l.value){l.value=!1;return}o("close",n)},T={...r,submitText:void 0,cancelText:void 0,isWarning:void 0};return delete T.submitText,delete T.cancelText,delete T.isWarning,(n,i)=>(e.openBlock(),e.createBlock(f._sfc_main,e.mergeProps({class:"top-popupConfirm"},T,{onOpen:i[0]||(i[0]=t=>n.$emit("open",t)),onClose:i[1]||(i[1]=t=>C(t)),onScrollContentList:i[2]||(i[2]=(...t)=>n.$emit("scrollContentList",...t))}),e.createSlots({opener:e.withCtx(()=>[e.renderSlot(n.$slots,"opener")]),footer:e.withCtx(()=>[e.renderSlot(n.$slots,"footer"),e.createVNode(c._sfc_main,{color:"theme"},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(n.cancelText||n.$i18n.Common.Cancel),1)]),_:1}),e.createVNode(c._sfc_main,{onClick:s,color:n.isWarning?"red":"blue"},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(n.submitText||n.$i18n.Common.Continue),1)]),_:1},8,["color"])]),_:2},[n.$slots.header?{name:"header",fn:e.withCtx(()=>[e.renderSlot(n.$slots,"header")]),key:"0"}:void 0,n.$slots.default?{name:"content",fn:e.withCtx(()=>[e.renderSlot(n.$slots,"default")]),key:"1"}:void 0]),1040))}}),V=e.defineComponent({__name:"prompt",props:{submitText:{},cancelText:{},defaultValue:{},id:{},class:{},transitionDuration:{},footerSupportLink:{},pos:{},notch:{type:Boolean},openByHover:{type:Boolean},posBy:{}},emits:["open","close","scrollContentList","submit"],setup(u,{emit:d}){const r=u,o=d,l=()=>C.value=r.defaultValue??"",s=e.ref(!1),C=e.ref();e.watch(()=>r.defaultValue,()=>l(),{immediate:!0});const T=()=>{s.value=!0},n=t=>{if(s.value){s.value=!1,o("submit",C.value),l();return}l(),o("close",t)},i={...r,submitText:void 0,cancelText:void 0,defaultValue:void 0};return delete i.submitText,delete i.cancelText,delete i.defaultValue,(t,a)=>(e.openBlock(),e.createBlock(f._sfc_main,e.mergeProps({class:"top-popupPrompt"},i,{onOpen:a[1]||(a[1]=m=>t.$emit("open",m)),onClose:a[2]||(a[2]=m=>n(m)),onScrollContentList:a[3]||(a[3]=(...m)=>t.$emit("scrollContentList",...m))}),e.createSlots({opener:e.withCtx(()=>[e.renderSlot(t.$slots,"opener")]),footer:e.withCtx(()=>[e.renderSlot(t.$slots,"footer"),e.createVNode(c._sfc_main,{color:"theme"},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(t.cancelText||t.$i18n.Common.Cancel),1)]),_:1}),e.createVNode(c._sfc_main,{onClick:T},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(t.submitText||t.$i18n.Common.OK),1)]),_:1})]),_:2},[t.$slots.header?{name:"header",fn:e.withCtx(()=>[e.renderSlot(t.$slots,"header")]),key:"0"}:void 0,t.$slots.default?{name:"content",fn:e.withCtx(()=>[e.renderSlot(t.$slots,"default"),e.createVNode($,{modelValue:C.value,"onUpdate:modelValue":a[0]||(a[0]=m=>C.value=m),modelModifiers:{trim:!0}},null,8,["modelValue"])]),key:"1"}:void 0]),1040))}}),B=f._sfc_main,v=f._sfc_main$2,P=f._sfc_main$1,b=$,k=S,w=y,g=V;p.TopPopup=B,p.TopPopupAlert=k,p.TopPopupConfirm=w,p.TopPopupListItem=P,p.TopPopupOpener=v,p.TopPopupPrompt=g,p.TopPopupWidgetInput=b,Object.defineProperty(p,Symbol.toStringTag,{value:"Module"})});
2
2
  //# sourceMappingURL=popup.amd.js.map
package/popup/popup.js CHANGED
@@ -1,7 +1,7 @@
1
1
  import { Core as g } from "../core/app.js";
2
- import { _ as y, a as O, b as D } from "../.chunks/listItem.vue_vue_type_script_setup_true_lang-BJTTvdc7.es.js";
2
+ import { _ as y, a as O, b as D } from "../.chunks/listItem.vue_vue_type_script_setup_true_lang-CJQj81Yq.es.js";
3
3
  import { defineComponent as b, mergeModels as I, useModel as M, createBlock as B, openBlock as V, mergeProps as S, createSlots as k, withCtx as n, renderSlot as l, createVNode as c, createTextVNode as C, toDisplayString as T, ref as L, watch as w } from "vue";
4
- import { f as H, _ as v } from "../.chunks/forms-C-fyoosd.es.js";
4
+ import { f as H, _ as v } from "../.chunks/forms-DOGPN_TR.es.js";
5
5
  const W = ["../assets/popup.css"].map((a) => import.meta.resolve(a));
6
6
  g.insertCSSLinkToPage(W, !0);
7
7
  const P = /* @__PURE__ */ b({
@@ -1,2 +1,2 @@
1
- define(["require","exports","../.chunks/forms-DO87ZZk9.amd","../utils/dom.amd"],function(require,exports,forms,utils_dom){"use strict";if(typeof vue>"u")var vue=window.Vue;class Worker{static noClose=!1;static vueConnectors=new Map;static options={};static getPopup(t){return utils_dom.default.storage(t,"TopPopup")}static getAll(){return utils_dom.default.querySelectorAllArray(document,".top-popup-wrapper")}static getAllVisible(){return utils_dom.default.querySelectorAllVisible(document,".top-popup-wrapper")}static async openByOpener(t){if(!(t instanceof HTMLElement))return;const o={};return o.popup=t.dataset.topPopup,o.id=t.dataset.topPopupId,t.dataset.topPopupP&&(o.p=parseInt(t.dataset.topPopupP)),t.dataset.topPopupPos&&(o.p=parseInt(t.dataset.topPopupPos)),t.dataset.topPopupNotch&&(o.notch=t.dataset.topPopupNotch==="true"||t.dataset.topPopupNotch==="1"),t.dataset.topPopupClass&&(o.class=t.dataset.topPopupClass),t.dataset.topPopupPosBy&&(o.posBy=t.dataset.topPopupPosBy),t.dataset.topPopupFront&&(o.frontSelector=t.dataset.topPopupFront),t.dataset.topPopupInvertX&&(o.invertX=t.dataset.topPopupInvertX==="true"||t.dataset.topPopupInvertX==="1"),t.dataset.topPopupOpenByHover&&(o.openByHover=t.dataset.topPopupOpenByHover==="true"||t.dataset.topPopupOpenByHover==="1"),t.dataset.topPopupUseOriginal&&(o.useOriginal=t.dataset.topPopupUseOriginal==="true"||t.dataset.topPopupUseOriginal==="1"),await Worker.open(t,o)}static async open(elOpener,options){elOpener instanceof HTMLElement&&(elOpener.dataset.topPopupOpened="opened");const{TopLibPopup}=await new Promise((t,o)=>require(["../.chunks/popup-XXfdNLmr.amd"],t,o));if(forms.Core.$){const $elOpener=forms.Core.$(elOpener);if($elOpener.data("aftershow")){let afterShow=$elOpener.data("aftershow");typeof afterShow=="string"&&(afterShow=eval(afterShow.replace(/\W/g,""))),$elOpener.one("aftershow.top-menu-popup",afterShow)}if($elOpener.data("afterclose")){let afterclose=$elOpener.data("afterclose");typeof afterclose=="string"&&(afterclose=eval(afterclose.replace(/\W/g,""))),$elOpener.one("afterclose.top-menu-popup",afterclose)}}return options.isFullScreen=forms.Core.state.isMobile,new TopLibPopup(elOpener,options)}static close(t){const o=Worker.getPopup(t);o&&o.close()}static recalcPosition(t){const o=Worker.getPopup(t);o&&o.elPopupBody instanceof HTMLElement&&o.recalcPosition()}static scrollToActive(t){if(!utils_dom.default.querySelectorVisible(t,"ul.top-popup_content > li > .top-active"))return;const s=t.querySelector("ul.top-popup_content"),a=utils_dom.default.querySelectorAllVisible(t,"ul.top-popup_content > li");t.classList.add("top-popup-wrapper-no_animate"),setTimeout(()=>t.classList.remove("top-popup-wrapper-no_animate"),100);let p=100;for(const e of a){if(e.querySelector(":scope > .top-active"))break;e instanceof HTMLElement&&(p+=e.offsetHeight)}if(s instanceof HTMLElement){const e=s.offsetHeight;p>e?s.scrollTop=p-e:s.scrollTop=0}}static decoratorBeforeOpen(t){this.options.decoratorBeforeOpen&&this.options.decoratorBeforeOpen(t)}static decoratorAfterOpen(t){this.options.decoratorAfterOpen&&this.options.decoratorAfterOpen(t)}static decoratorIsIgnoreOuterClick(t){return this.options.decoratorIsIgnoreOuterClick?this.options.decoratorIsIgnoreOuterClick(t):!1}static regVueComponent(t,o){if(Worker.vueConnectors.get(t))throw"Vue component Popup use duplicated id: "+t;Worker.vueConnectors.set(t,o)}static unregVueComponent(t){Worker.vueConnectors.delete(t)}static genElPopupOpener(t,o,...s){const a=utils_dom.default.genEl(t,{},...s);a.dataset.topPopup="#"+o.id;for(let p in o){const e="topPopup"+p.charAt(0).toUpperCase()+p.slice(1);a.dataset[e]=o[p]}return a}}exports.TopPopupWorker=Worker,Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"})});
1
+ define(["require","exports","../.chunks/forms-Gb7ujpmz.amd","../utils/dom.amd"],function(require,exports,forms,utils_dom){"use strict";if(typeof vue>"u")var vue=window.Vue;class Worker{static noClose=!1;static vueConnectors=new Map;static options={};static getPopup(t){return utils_dom.default.storage(t,"TopPopup")}static getAll(){return utils_dom.default.querySelectorAllArray(document,".top-popup-wrapper")}static getAllVisible(){return utils_dom.default.querySelectorAllVisible(document,".top-popup-wrapper")}static async openByOpener(t){if(!(t instanceof HTMLElement))return;const o={};return o.popup=t.dataset.topPopup,o.id=t.dataset.topPopupId,t.dataset.topPopupP&&(o.p=parseInt(t.dataset.topPopupP)),t.dataset.topPopupPos&&(o.p=parseInt(t.dataset.topPopupPos)),t.dataset.topPopupNotch&&(o.notch=t.dataset.topPopupNotch==="true"||t.dataset.topPopupNotch==="1"),t.dataset.topPopupClass&&(o.class=t.dataset.topPopupClass),t.dataset.topPopupPosBy&&(o.posBy=t.dataset.topPopupPosBy),t.dataset.topPopupFront&&(o.frontSelector=t.dataset.topPopupFront),t.dataset.topPopupInvertX&&(o.invertX=t.dataset.topPopupInvertX==="true"||t.dataset.topPopupInvertX==="1"),t.dataset.topPopupOpenByHover&&(o.openByHover=t.dataset.topPopupOpenByHover==="true"||t.dataset.topPopupOpenByHover==="1"),t.dataset.topPopupUseOriginal&&(o.useOriginal=t.dataset.topPopupUseOriginal==="true"||t.dataset.topPopupUseOriginal==="1"),await Worker.open(t,o)}static async open(elOpener,options){elOpener instanceof HTMLElement&&(elOpener.dataset.topPopupOpened="opened");const{TopLibPopup}=await new Promise((t,o)=>require(["../.chunks/popup-B_8bvIsF.amd"],t,o));if(forms.Core.$){const $elOpener=forms.Core.$(elOpener);if($elOpener.data("aftershow")){let afterShow=$elOpener.data("aftershow");typeof afterShow=="string"&&(afterShow=eval(afterShow.replace(/\W/g,""))),$elOpener.one("aftershow.top-menu-popup",afterShow)}if($elOpener.data("afterclose")){let afterclose=$elOpener.data("afterclose");typeof afterclose=="string"&&(afterclose=eval(afterclose.replace(/\W/g,""))),$elOpener.one("afterclose.top-menu-popup",afterclose)}}return options.isFullScreen=forms.Core.state.isMobile,new TopLibPopup(elOpener,options)}static close(t){const o=Worker.getPopup(t);o&&o.close()}static recalcPosition(t){const o=Worker.getPopup(t);o&&o.elPopupBody instanceof HTMLElement&&o.recalcPosition()}static scrollToActive(t){if(!utils_dom.default.querySelectorVisible(t,"ul.top-popup_content > li > .top-active"))return;const s=t.querySelector("ul.top-popup_content"),a=utils_dom.default.querySelectorAllVisible(t,"ul.top-popup_content > li");t.classList.add("top-popup-wrapper-no_animate"),setTimeout(()=>t.classList.remove("top-popup-wrapper-no_animate"),100);let p=100;for(const e of a){if(e.querySelector(":scope > .top-active"))break;e instanceof HTMLElement&&(p+=e.offsetHeight)}if(s instanceof HTMLElement){const e=s.offsetHeight;p>e?s.scrollTop=p-e:s.scrollTop=0}}static decoratorBeforeOpen(t){this.options.decoratorBeforeOpen&&this.options.decoratorBeforeOpen(t)}static decoratorAfterOpen(t){this.options.decoratorAfterOpen&&this.options.decoratorAfterOpen(t)}static decoratorIsIgnoreOuterClick(t){return this.options.decoratorIsIgnoreOuterClick?this.options.decoratorIsIgnoreOuterClick(t):!1}static regVueComponent(t,o){if(Worker.vueConnectors.get(t))throw"Vue component Popup use duplicated id: "+t;Worker.vueConnectors.set(t,o)}static unregVueComponent(t){Worker.vueConnectors.delete(t)}static genElPopupOpener(t,o,...s){const a=utils_dom.default.genEl(t,{},...s);a.dataset.topPopup="#"+o.id;for(let p in o){const e="topPopup"+p.charAt(0).toUpperCase()+p.slice(1);a.dataset[e]=o[p]}return a}}exports.TopPopupWorker=Worker,Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"})});
2
2
  //# sourceMappingURL=worker.amd.js.map
package/popup/worker.js CHANGED
@@ -1,4 +1,4 @@
1
- import { C as Core } from "../.chunks/forms-C-fyoosd.es.js";
1
+ import { C as Core } from "../.chunks/forms-DOGPN_TR.es.js";
2
2
  import DOM from "../utils/dom.js";
3
3
  class Worker {
4
4
  /**
@@ -44,7 +44,7 @@ class Worker {
44
44
  */
45
45
  static async open(elOpener, options) {
46
46
  elOpener instanceof HTMLElement && (elOpener.dataset.topPopupOpened = "opened");
47
- const { TopLibPopup } = await import("../.chunks/popup-PpCQY5Zi.es.js");
47
+ const { TopLibPopup } = await import("../.chunks/popup-BjsK_pMZ.es.js");
48
48
  if (Core.$) {
49
49
  const $elOpener = Core.$(elOpener);
50
50
  if ($elOpener.data("aftershow")) {
@@ -1,2 +1,2 @@
1
- define(["require","exports","vue","../.chunks/forms-DO87ZZk9.amd","../.chunks/listItem.vue_vue_type_script_setup_true_lang-DDQSxC8E.amd","../.chunks/menu.vue_vue_type_style_index_0_lang-7eYwnVLw.amd","../.chunks/utils-DAIrXU57.amd","../utils/searchers.amd","../utils/dom.amd","../popup/worker.amd","../require/css.amd!../assets/project.css"],function(ne,T,e,x,E,oe,le,P,_,ae){"use strict";if(typeof e>"u")var e=window.Vue;const re={class:"top-selectorCompetitors"},ie={class:"top-ellipsis1"},de=e.defineComponent({__name:"selectorCompetitors",props:e.mergeModels({modelValue:{},items:{},showSelectAllItem:{type:Boolean,default:!0}},{modelValue:{},modelModifiers:{}}),emits:["update:modelValue"],setup(n){const l=n,r=e.useModel(n,"modelValue"),t=e.computed(()=>{if(l.showSelectAllItem)return{icon:"",title:x.useI18n().Common.Select_all,value:"all",content:""}});return(d,o)=>(e.openBlock(),e.createElementBlock("div",re,[e.unref(x.Core).state.isMobile?(e.openBlock(),e.createBlock(E._sfc_main,{key:0},{opener:e.withCtx(()=>[e.createVNode(x._sfc_main,{class:"top-selectorCompetitors_opener",color:"theme",icon:"",icon2:""},{default:e.withCtx(()=>{var a;return[e.createTextVNode(e.toDisplayString((a=d.items.find(s=>{var v;return s.value===((v=r.value)==null?void 0:v[0])}))==null?void 0:a.content),1)]}),_:1})]),contentList:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(d.items,a=>{var s;return e.openBlock(),e.createBlock(E._sfc_main$1,{class:e.normalizeClass({"top-active":(s=r.value)==null?void 0:s.includes(a.value)}),"data-top-icon":a.icon,title:a.title,onClick:()=>r.value=[a.value]},{default:e.withCtx(()=>[e.createElementVNode("span",ie,e.toDisplayString(a.content),1)]),_:2},1032,["class","data-top-icon","title","onClick"])}),256))]),_:1})):(e.openBlock(),e.createBlock(oe._sfc_main,{key:1,modelValue:r.value,"onUpdate:modelValue":o[0]||(o[0]=a=>r.value=a),items:d.items,isMultiple:!0,styling:"bar",canBeEmptyMultiple:!1,selectAllItem:t.value},null,8,["modelValue","items","selectAllItem"]))]))}}),w=-1,p=-2,L=-1,ue={0:"Yandex",1:"Google",4:"YouTube",5:"Bing",7:"Seznam",8:"AppStore",9:"GoogleStore",20:"Yandex.com",21:"Yandex.com.tr"},J={key:p,name:"--",index:p},G={key:p,name:"--",regions:[J],regionByIndex:new Map([[p,J]])},A={key:p,name:"Autoselect",index:p},U={key:p,name:"Autoselect",regions:[A],regionByIndex:new Map([[p,A]])},Y={countryCode:"00",depth:1,device:0,key:L,index:L,lang:"ru",name:"Without region"},se=()=>(A.name=x.useI18n().Common.Autoselect,A),ce=()=>(se(),U.name=x.useI18n().Common.Autoselect,console.log(U),U),ge=()=>(Y.name=x.useI18n().Keywords.Without_region,Y),z=(n=!1,l=!1,r=[])=>{let t;return n?t=me(r):t=W(r),l&&t.set(p,ce()),t.size||t.set(p,G),t},W=(n,l=!0,r=[],t=!1)=>{const d=new Map;return n.forEach(o=>{if(!o.enabled||t&&typeof o.key=="number"&&o.key>1)return;const a={...o};a.regionByIndex=new Map,o.regions&&o.regions.forEach(s=>{if(l&&!s.enabled)return;const v={...s};a.regionByIndex.set(v.index,v)}),!a.regionByIndex.size&&r.length,(!o.regions||a.regionByIndex.size||r.length)&&typeof a.key=="number"&&d.set(a.key,a)}),r.forEach(o=>{if(d.has(o))return;const a={key:o,name:ue[o],regions:[],regionByIndex:new Map};d.set(a.key,a)}),d},me=n=>{const l=W(n,!1,[0,1],!0);if(l.has(2)){const r=l.get(2);r&&(r.regionByIndex=new Map)}return l.forEach(r=>{if(!r.regionByIndex)return;const t={...ge()};r.regionByIndex.set(t.index,t)}),l},H=(n,l,r=[])=>{const t=z(n,!1,r);let d;return t.forEach(o=>{if(!(l.searcher_key!==void 0&&l.searcher_key!=o.key)&&o.regions&&(o.regions.forEach(a=>{if(!d&&!(l.key!==void 0&&l.key!=a.key)&&!(l.index!==void 0&&l.index!=a.index)&&!(!n&&(l.lang!==void 0&&l.lang!=a.lang||l.device!==void 0&&l.device!=a.device)))return a.searcher_key=o.key,d=a,!1}),d))return!1}),d},Q=le.useAsyncTopDialog(()=>new Promise((n,l)=>ne(["../.chunks/dialog_selectorRegions-pDIYvl7b.amd"],n,l))),fe=(n,l)=>{const r=x.useI18n(),t=e.ref(l.value.keys().next().value??p),d=e.computed(()=>{const o=new Map;if(l.value.forEach(a=>{let s={value:a.key,title:a.name};n.addSearcherIcon&&(s.icon=P.getSearcherGIcon(a.key)),o.set(a.key,s)}),n.addCompare&&!o.has(p)){const a={value:"",title:"--------------------",disabled:!0};o.set(a.value,a);const s={value:w,title:r.Common.Compare};o.set(s.value,s)}return o});return{searcherKey:t,optionBySearcherKey:d}},ve=(n,l)=>{var o,a,s;const r=x.useI18n(),t=e.ref(p);n.modelValue.length===1&&(t.value=n.modelValue[0]),t.value===p&&(n.forFrequency?t.value=((a=(o=l.value)==null?void 0:o.regionByIndex.values().next().value)==null?void 0:a.key)??p:t.value=((s=l.value)==null?void 0:s.regionByIndex.keys().next().value)??p);const d=e.computed(()=>{var h;const v=new Map;return(h=l.value.regionByIndex)==null||h.forEach(S=>{let i=S.name;if(n.forFrequency){const I={value:S.key,title:i};v.has(S.key)||v.set(S.key,I);return}S.device&&(i+=" ("+r.Common["Device_"+S.device]+")");const m=P.getLangLabel(l.value.key||0,S.lang??"");m&&(i+=" / "+m);const c={value:S.index,title:i,icon:S.device?P.getDeviceGIcon(S.device):void 0};v.set(S.index,c)}),v});return e.watch(d,(v,h)=>{var c;if(n.onlySearcher||t.value!==void 0&&v.get(t.value))return;let S=v.keys().next().value;if(t.value===p||S===p){t.value=S;return}let i=((c=h==null?void 0:h.get(t.value))==null?void 0:c.title)||"",m=-1;for(const[I,B]of v.entries()){const C=B.title;if(typeof C!="string"||typeof I=="string")break;if(C===i){S=I;break}const V=new RegExp(` \\((${r.Common.Device_1}|${r.Common.Device_2})\\)`);let f=i,u=3;C.indexOf(f)===-1&&(f=i.replace(/^[^a-zа-я]/i,"").replace(V,""),u--),C.indexOf(f)===-1&&(f=i.replace(/ \/.*/,""),u--),C.indexOf(f)===-1&&(f=i.replace(/ \/.*/,""),f=f.replace(/^[^a-zа-я]/i,"").replace(V,""),u--),C.indexOf(f)!==-1&&(u<=m||(m=u,S=I))}t.value=S}),{regionIndex:t,optionByRegionIndex:d}},ye=(n,l,r)=>{const t=e.ref([]),d=()=>{if(n.onlySearcher&&l.value){t.value=Array.from(l.value.keys());return}let a=[];if(n.modelValue.length>1)a=[...n.modelValue];else try{a=JSON.parse(localStorage.getItem("ui:project:regionSelector"+n.projectId+":regionsIndexes"))??[]}catch{}a.length&&(a=a.filter(s=>r.value.has(s))),a.length||(a=Array.from(r.value)),t.value=[...a]},o=()=>{t.value.length?localStorage.setItem("ui:project:regionSelector:"+n.projectId+":regionsIndexes",JSON.stringify(t.value)):localStorage.removeItem("ui:project:regionSelector:"+n.projectId+":regionsIndexes")};return e.watch(t,()=>{o()}),n.addCompare&&d(),{regionsIndexes:t}},pe=n=>{const l=e.computed(()=>z(n.forFrequency,n.autoRegion,n.searchers)),r=e.computed(()=>l.value.get(d.searcherKey.value)||G),t=e.computed(()=>{const i=new Set;return l.value.forEach(m=>{m.regionByIndex.forEach(c=>{c.index!==L&&c.index!==p&&i.add(c.index)})}),i}),d=fe(n,l),o=ve(n,r),a=ye(n,l,t);e.watch(l,()=>{var m,c,I,B;if(n.onlySearcher?a.regionsIndexes.value=Array.from(l.value.keys()):a.regionsIndexes.value=a.regionsIndexes.value.filter(C=>t.value.has(C)),d.searcherKey.value===w)return;let i=l.value.keys().next().value;l.value.forEach(C=>{var V,f,u;if(n.onlySearcher&&C.key===d.searcherKey.value){i=d.searcherKey.value;return}if(o.regionIndex.value&&((V=C.regionByIndex)!=null&&V.has(o.regionIndex.value))&&(i=C.key),!n.onlySearcher){let g;i!==void 0&&(g=(f=l.value.get(i))==null?void 0:f.regionByIndex);const y=(u=l.value.get(C.key))==null?void 0:u.regionByIndex;g!=null&&g.has(p)&&!(y!=null&&y.has(p))&&(i=C.key)}}),i!==void 0&&(d.searcherKey.value=i),o.regionIndex.value!==void 0&&!((c=(m=r.value)==null?void 0:m.regionByIndex)!=null&&c.has(o.regionIndex.value))&&(o.regionIndex.value=(B=(I=r.value)==null?void 0:I.regions)==null?void 0:B.keys().next().value)},{immediate:!0});const s=()=>{if(!(d.searcherKey.value===w||d.searcherKey.value===p))return d.searcherKey.value},v=()=>{if(n.onlySearcher||o.regionIndex.value===p)return;let i=o.regionIndex.value;if(n.forFrequency){const m=o.regionIndex.value,c=H(n.forFrequency,{searcher_key:s(),key:m},n.searchers);i=c==null?void 0:c.index}return i},h=()=>{const i=s();if(i!==void 0)return l.value.get(i)};return{selectSearcher:d,selectRegion:o,compare:a,searcherByKey:l,allRegionsIndexes:t,getSearcher:h,getRegion:()=>{var m,c;const i=v();if(i!==void 0)return(c=(m=h())==null?void 0:m.regionByIndex)==null?void 0:c.get(i)}}},he=e.defineComponent({__name:"selectorRegion",props:e.mergeModels({projectId:{},searchers:{default:()=>[]},modelValue:{},modelValueSingle:{},addCompare:{type:Boolean},forFrequency:{type:Boolean},autoRegion:{type:Boolean},onlySearcher:{type:Boolean},addChanger:{type:Boolean,default:!0},addSearcherIcon:{type:Boolean,default:!0},addRegionIcon:{type:Boolean,default:!0}},{modelValue:{required:!0},modelModifiers:{},modelValueSingle:{},modelValueSingleModifiers:{}}),emits:["update:modelValue","update:modelValueSingle"],setup(n,{expose:l}){const r=n,t=e.useModel(n,"modelValue"),d=e.useModel(n,"modelValueSingle"),{selectSearcher:o,selectRegion:a,compare:s,searcherByKey:v,allRegionsIndexes:h,getSearcher:S,getRegion:i}=pe(r),m=()=>{const c=[];v.value.forEach(I=>{I.enabled&&I.regions.forEach(B=>{B.enabled&&c.push(B)})}),Q.open("selectorRegions",{regions:c,regionsIndexes:s.regionsIndexes.value,"@update:regionsIndexes":I=>s.regionsIndexes.value=I})};return e.watch([a.regionIndex,o.searcherKey,s.regionsIndexes],()=>{if(o.searcherKey.value===w&&s.regionsIndexes.value.length){if(JSON.stringify(t.value)===JSON.stringify(s.regionsIndexes.value))return;t.value=[...s.regionsIndexes.value]}else r.onlySearcher?(t.value=[o.searcherKey.value],o.searcherKey.value===p&&!r.autoRegion&&(t.value.length=0)):(t.value=[a.regionIndex.value],a.regionIndex.value===p&&!r.autoRegion&&(t.value.length=0));!r.onlySearcher&&!h.value.size&&(o.searcherKey.value=p)}),d.value&&e.watch(d,()=>{d.value&&(t.value=[d.value])},{immediate:!0}),e.watch(t,()=>{var c,I,B,C,V;if(t.value[0]&&(d.value=t.value[0]),r.onlySearcher){if(!t.value.length||t.value.length===1&&!v.value.has(t.value[0])||t.value.length===1&&t.value[0]===p&&!r.autoRegion){let f=v.value.keys().next().value;f===p&&!r.autoRegion&&(f=void 0,d.value=p),f!==void 0?t.value=[f]:t.value.length=0;return}if(t.value.length>1&&JSON.stringify(t.value)!==JSON.stringify(s.regionsIndexes.value)){t.value=[...s.regionsIndexes.value];return}}else{let f=[...new Set(t.value)],u=(I=(c=v.value.values().next().value)==null?void 0:c.regionByIndex)==null?void 0:I.keys().next().value;if(r.forFrequency&&(u=(V=(C=(B=v.value.values().next().value)==null?void 0:B.regionByIndex)==null?void 0:C.values().next().value)==null?void 0:V.key),u===p&&!r.autoRegion&&(u=void 0,d.value=p),!f.length)u!==void 0&&f.push(u);else if(f.length===1){let g=h.value;r.forFrequency&&(g=new Set,v.value.forEach(y=>{y.regionByIndex.forEach(k=>{k.index!==L&&k.index!==p&&g.add(k.key)})})),g.has(f[0])||(f=[],u!==void 0&&f.push(u))}else f=f.filter(g=>h.value.has(g)),!f.length&&u!==void 0&&f.push(u);if(JSON.stringify(t.value)!==JSON.stringify(f)){t.value=f;return}}if(!(t.value.length===1&&t.value[0]===(r.onlySearcher?o.searcherKey.value:a.regionIndex.value)))if(r.onlySearcher){if(t.value.length===1){o.searcherKey.value=t.value[0];return}o.searcherKey.value=w;return}else{if(!t.value.length)return;if(t.value.length===1&&o.searcherKey.value!==w){a.regionIndex.value=t.value[0];let f;for(const u of v.value.values()){for(const g of u.regionByIndex.values())if((r.forFrequency?g.key:g.index)===a.regionIndex.value){f=u.key;break}if(f!==void 0)break}f!==void 0&&(o.searcherKey.value=f)}else o.searcherKey.value=w,s.regionsIndexes.value=[...t.value]}},{immediate:!0}),l({getSearcher:S,getRegion:i}),(c,I)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass({"top-selectorRegion":!0,"top-selectorRegion-onlySearcher":c.onlySearcher})},[e.createVNode(x._sfc_main$4,{options:e.unref(o).optionBySearcherKey.value,modelValue:e.unref(o).searcherKey.value,"onUpdate:modelValue":I[0]||(I[0]=B=>e.unref(o).searcherKey.value=B),name:"searcher_key",addChanger:c.addChanger},null,8,["options","modelValue","addChanger"]),!c.onlySearcher&&e.unref(o).searcherKey.value!==e.unref(w)?(e.openBlock(),e.createBlock(x._sfc_main$4,{key:0,class:"top-select-region",options:e.unref(a).optionByRegionIndex.value,modelValue:e.unref(a).regionIndex.value,"onUpdate:modelValue":I[1]||(I[1]=B=>e.unref(a).regionIndex.value=B),name:c.forFrequency?"region_key":"region_index",addChanger:c.addChanger,"data-top-icon":c.addRegionIcon?"":void 0},null,8,["options","modelValue","name","addChanger","data-top-icon"])):e.createCommentVNode("",!0),c.addCompare&&!c.onlySearcher&&e.unref(o).searcherKey.value===e.unref(w)?(e.openBlock(),e.createBlock(x._sfc_main,{key:1,name:"compare",onClick:m,"data-count-compare-regions-indexes":e.unref(s).regionsIndexes.value.length},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(c.$i18n.Common.Selected_regions),1)]),_:1},8,["data-count-compare-regions-indexes"])):e.createCommentVNode("",!0)],2))}}),Se=[{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"}],X=n=>"-"+n,K=n=>n[0]==="-"?n.substring(1):n,O=(n,l)=>{n=K(n);const r=l.find(t=>t.id===n);if(r)return r},ke=["data-tag_id","data-tag_color_id","title"],D=e.defineComponent({__name:"tagIcon",props:{id:{},colorId:{},name:{},state:{}},setup(n){return(l,r)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass({"top-tagSelector_tagIcon":!0,"top-tagSelector-active":!!l.state,"top-tagSelector-excluded":l.state==="excluded"}),"data-tag_id":l.id,"data-tag_color_id":l.colorId,title:l.name},null,10,ke))}}),Ie=["contenteditable","onKeydown"],Z=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(n,{emit:l}){const r=n,t=l,d=e.useModel(n,"name"),o=e.ref(null),a=e.computed(()=>navigator.userAgent.indexOf("Firefox")!=-1?{contenteditable:s.value,onpaste:m=>m.preventDefault()}:{}),s=e.ref(!1),v=async()=>{var m;s.value=!0,await e.nextTick(),(m=o.value)==null||m.focus()},h=()=>{var c;const m=(c=o.value)==null?void 0:c.innerText;if(!m)return S();o.value&&(o.value.innerText=m),s.value=!1,t("update:name",m)},S=async()=>{o.value&&(o.value.innerText=r.name),s.value=!1},i=m=>{if(s.value||r.disabled)return;let c="selected";r.canExclude&&(m.ctrlKey||m.metaKey)&&(c="excluded"),r.state==c&&(c=""),c===""&&t("unselect"),c==="selected"&&t("select"),c==="excluded"&&t("exclude")};return(m,c)=>(e.openBlock(),e.createBlock(E._sfc_main$1,{class:e.normalizeClass({"top-tagSelector_tagListItem":!0,"top-tagSelector_tagListItem-inEdit":s.value,"top-tagSelector_tagListItem-disabled":m.disabled,"top-tagSelector_tagListItem-canExclude":m.canExclude,"top-tagSelector-active":!!m.state,"top-tagSelector-excluded":m.state==="excluded"}),onClick:e.withModifiers(i,["stop"])},{default:e.withCtx(()=>[e.createVNode(D,{id:m.id,name:d.value,colorId:m.colorId,state:m.state},null,8,["id","name","colorId","state"]),e.createElementVNode("span",e.mergeProps({ref_key:"elName",ref:o,class:"top-tagSelector_tagListItemName",contenteditable:s.value?"plaintext-only":!1},a.value,{onKeydown:[e.withKeys(e.withModifiers(h,["stop"]),["enter"]),e.withKeys(e.withModifiers(S,["stop"]),["esc"])]}),e.toDisplayString(d.value),17,Ie),m.editable?(e.openBlock(),e.createElementBlock(e.Fragment,{key:0},[s.value?(e.openBlock(),e.createElementBlock("span",{key:1,"data-top-icon":"",class:"top-tagSelector_edit",onClick:e.withModifiers(h,["stop"])})):(e.openBlock(),e.createElementBlock("span",{key:0,"data-top-icon":"",class:"top-tagSelector_edit",onClick:v}))],64)):e.createCommentVNode("",!0)]),_:1},8,["class"]))}}),xe={key:1},ee=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(n){const l=n,r=e.useModel(n,"modelValue"),t=l.useTopButton?x._sfc_main:"div",d=l.useTopButton?"html":"default",o={model:r,mode:l.mode,targetId:l.targetId,filters:l.filters,payload:l.payload};return(a,s)=>{const v=e.resolveDirective("top-data");return e.openBlock(),e.createBlock(E._sfc_main$2,{id:a.id},{default:e.withCtx(()=>[e.withDirectives((e.openBlock(),e.createBlock(e.resolveDynamicComponent(e.unref(t)),e.mergeProps({class:{"top-tagSelector":!0,"top-tagSelector-filter":l.mode==="filter","top-tagSelector-setter_single":l.mode==="setter"&&!a.filters,"top-tagSelector-setter_several":l.mode==="setter"&&a.filters,"top-tagSelector-selectedOne":!r.value.length||r.value.length===1,"top-tagSelector-toTwoLine":r.value.length>5},color:"theme",styling:a.styling},a.$attrs),{[e.unref(d)]:e.withCtx(()=>[!r.value.length&&a.mode==="filter"?(e.openBlock(),e.createBlock(D,{key:0,id:"all",colorId:"",name:a.$i18n.Common.All_tags??"",state:""},null,8,["name"])):e.createCommentVNode("",!0),a.mode==="setter"&&a.filters?(e.openBlock(),e.createElementBlock("div",xe,[e.renderSlot(a.$slots,"default")])):(e.openBlock(!0),e.createElementBlock(e.Fragment,{key:2},e.renderList(r.value,h=>{var S,i;return e.openBlock(),e.createBlock(D,{id:e.unref(K)(h),colorId:((S=e.unref(O)(h,a.tags))==null?void 0:S.color_id)??"",name:((i=e.unref(O)(h,a.tags))==null?void 0:i.name)??"",state:e.unref(K)(h)===h?"selected":"excluded"},null,8,["id","colorId","name","state"])}),256))]),_:2},1040,["class","styling"])),[[v,o,"topTagSelectorTarget"]])]),_:3},8,["id"])}}}),Ce=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},styling:{}},{modelValue:{required:!0},modelModifiers:{},tags:{default:e.reactive(Se)},tagsModifiers:{}}),emits:e.mergeModels(["selector","setter","tagsChanged"],["update:modelValue","update:tags"]),setup(n,{emit:l}){const r=x.useI18n(),t=n,d=e.useModel(n,"modelValue"),o=e.useModel(n,"tags"),a=l,s=x.debounce((u,g)=>{a(u,g)},t.emitDelay);t.singleMode&&!d.value.length&&(d.value=[o.value[0].id]);const v=t.id??"top-popup-id-"+Math.random(),h=e.ref("add"),S=()=>{var y;const u=" "+((y=r.Common.Tags)==null?void 0:y.toLowerCase()),g=new Map;return g.set("add",{value:"add",title:r.Common.Add+u}),g.set("replace",{value:"replace",title:r.Common.Replace+u}),g.set("delete",{value:"delete",title:r.Common.Delete+u}),g};let i=e.shallowRef({model:d,mode:"filter",targetId:void 0,filters:void 0,payload:void 0});e.watch(d,()=>{s("selector",d.value)});const m=e.computed(()=>{if(i.value.mode==="setter"&&t.maxTagsForSetter&&!i.value.filters)return i.value.model.value.length>=t.maxTagsForSetter}),c=u=>{if(u!=="all"){if(i.value.model.value.includes(u))return"selected";if(i.value.model.value.includes(X(u)))return"excluded"}return u==="all"&&!i.value.model.value.length?"selected":""},I=(u,g)=>{const y=X(u);let k=i.value.model.value.filter(M=>M!==u&&M!==y);g==="select"&&k.push(u),g==="exclude"&&k.push(y),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(M=>M!=="1"))),t.singleMode&&!i.value.filters&&(k.length||(k=i.value.model.value),k.length>1&&(k=[k[k.length-1]])),k.sort((M,N)=>{if(!t.tags)return 0;const q=t.tags.findIndex(b=>b.id===M),R=t.tags.findIndex(b=>b.id===N);return q-R}),i.value.model.value=k,i.value.mode==="setter"&&i.value.targetId!==void 0&&s("setter",{tagsIds:k,targetId:i.value.targetId,payload:i.value.payload})},B=e.computed(()=>{let u="top-tagSelector_popup";return i.value.mode==="filter"&&(u+=" top-tagSelector_popup-filter"),i.value.mode==="setter"&&(u+=" top-tagSelector_popup-setter"),u}),C=()=>{const u=prompt("","New tag");if(!u||u==="New tag")return;const g=o.value.length+1;o.value.push({id:String(g),name:u,color_id:String((g-1)%10+1)}),a("tagsChanged",o.value)},V=u=>{var g;if(i.value=_.storage(u.elPopupOpener,"topTagSelectorTarget"),!i.value)throw new Error("Open popup TopTagSelector required v-data:topTagSelectorTarget");if(i.value.filters&&(h.value="add",i.value.model.value=[]),!((g=x.Core.$)!=null&&g.ui.sortable)){console.info("Для работы сортировки требуется глобальная загрузка jQuery UI Sortable");return}!x.Core.state.isMobile&&!x.Core.state.isMobileUA&&o.value&&$(u.elPopup).sortable({items:'li:has([data-tag_id]:not([data-tag_id="all"]))',cancel:'[contenteditable="plaintext-only"], [contenteditable="true"]',distance:10,stop:function(y,k){if(!o.value)return;const M=$(k.item).parent().find("[data-tag_id]"),N=[];M.each((q,R)=>{if(!o.value)return;const b=$(R).attr("data-tag_id");N.push(b)}),o.value.sort((q,R)=>{const b=N.findIndex(j=>j===q.id),Ke=N.findIndex(j=>j===R.id);return b-Ke}),s("tagsChanged",o.value)}})},f=u=>{var g;(g=x.Core.$)!=null&&g.ui.sortable&&$(u.elPopup).data("ui-sortable")&&$(u.elPopup).sortable("destroy")};return(u,g)=>(e.openBlock(),e.createElementBlock(e.Fragment,null,[e.createVNode(ee,{class:"top-select_arrow",modelValue:d.value,"onUpdate:modelValue":g[0]||(g[0]=y=>d.value=y),id:e.unref(v),tags:o.value,styling:u.styling,mode:"filter",useTopButton:""},null,8,["modelValue","id","tags","styling"]),e.createVNode(E._sfc_main,{id:e.unref(v),class:e.normalizeClass(B.value),onOpen:g[4]||(g[4]=y=>V(y)),onClose:g[5]||(g[5]=y=>f(y)),"transition-duration":50},e.createSlots({contentList:e.withCtx(()=>[e.unref(i).mode==="filter"&&!u.singleMode?(e.openBlock(),e.createBlock(Z,{key:0,id:"all",colorId:"",name:u.$i18n.Common.All_tags??"",state:e.unref(i).model.value.length?"":"selected",onSelect:g[3]||(g[3]=y=>e.unref(i).model.value=[])},null,8,["name","state"])):e.createCommentVNode("",!0),(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(o.value,y=>(e.openBlock(),e.createBlock(Z,{key:y.id,id:y.id,colorId:y.color_id,name:y.name,state:c(y.id),canExclude:e.unref(i).mode==="filter"&&!u.singleMode,editable:u.tagsEditable,disabled:m.value&&c(y.id)==="",onUnselect:k=>I(y.id,"unselect"),onSelect:k=>I(y.id,"select"),onExclude:k=>I(y.id,"exclude"),"onUpdate:name":k=>{y.name=k,e.unref(s)("tagsChanged",o.value)}},null,8,["id","colorId","name","state","canExclude","editable","disabled","onUnselect","onSelect","onExclude","onUpdate:name"]))),128)),u.tagsEditable&&o.value.length<u.tagsMax&&o.value.length<20?(e.openBlock(),e.createBlock(E._sfc_main$1,{key:1,"data-top-icon":"",onClick:e.withModifiers(C,["stop"])},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(u.$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(x._sfc_main$4,{modelValue:h.value,"onUpdate:modelValue":g[1]||(g[1]=y=>h.value=y),options:S()},null,8,["modelValue","options"])]),key:"0"}:void 0,e.unref(i).mode==="setter"&&e.unref(i).filters?{name:"footer",fn:e.withCtx(()=>[e.createVNode(x._sfc_main,{color:"theme"},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(u.$i18n.Common.Cancel),1)]),_:1}),e.createVNode(x._sfc_main,{onClick:g[2]||(g[2]=y=>e.unref(s)("setter",{tagsIds:e.unref(i).model.value,filters:e.unref(i).filters,filtersAction:h.value,payload:e.unref(i).payload}))},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(h.value==="add"?u.$i18n.Common.Add:"")+" "+e.toDisplayString(h.value==="replace"?u.$i18n.Common.Replace:"")+" "+e.toDisplayString(h.value==="delete"?u.$i18n.Common.Remove:""),1)]),_:1})]),key:"1"}:void 0]),1032,["id","class"])],64))}}),Be=(n,l)=>e.computed(()=>e.toValue(n).filter(d=>d.on>=0||d.id===l).map(d=>({value:d.id,title:d.url+` [${d.id}]`,icon:d.id===e.toValue(l)?"":"",content:d.name}))),Te=(n,l,r)=>{l||(l={id:n.id}),l.id=n.id;const t=ae.TopPopupWorker.genElPopupOpener("div",l);return t.classList.add("top-tagSelector"),n.useTopButton&&t.classList.add("top-button","top-color_theme"),n.mode==="filter"&&t.classList.add("top-tagSelector-filter"),n.mode==="setter"&&!n.filters&&t.classList.add("top-tagSelector-setter_single"),n.mode==="setter"&&n.filters&&t.classList.add("top-tagSelector-setter_several"),t.onclick=d=>{d.preventDefault(),d.stopPropagation(),t.onclick=null;const o=e.ref(n.modelValue),a={model:o,mode:n.mode,targetId:n.targetId,filters:n.filters,payload:n.payload};_.storage(t,"topTagSelectorTarget",a),delete t.dataset.topPopupDisabled,e.isRef(n.modelValue)||e.watch(o,()=>{n.modelValue=o.value,F(t,n,r)}),t.click()},e.isRef(n.modelValue)?e.watch(n.modelValue,()=>F(t,n,r)):_.storage(t,"topTagSelectorRender",d=>{n.modelValue=d;const o=_.storage(t,"topTagSelectorTarget");o&&(o.model.value=d),F(t,n,r)}),F(t,n,r),t},Ve=(n,l)=>{var r;(r=_.storage(n,"topTagSelectorRender"))==null||r(l)},F=(n,l,r)=>{var d;const t=e.unref(l.modelValue);if(n.classList.toggle("top-tagSelector-selectedOne",!t.length||t.length===1),n.classList.toggle("top-tagSelector-toTwoLine",t.length>5),l.mode==="setter"&&l.filters){n.innerHTML=`<div>${r}</div>`;return}if(n.innerHTML="",!t.length&&l.mode==="filter"){const o=te({id:"all",colorId:"",name:((d=x.useI18n().Common)==null?void 0:d.All_tags)??"",state:""});n.append(o)}t.forEach(o=>{var s,v;const a=te({id:K(o),colorId:((s=O(o,l.tags))==null?void 0:s.color_id)??"",name:((v=O(o,l.tags))==null?void 0:v.name)??"",state:K(o)===o?"selected":"excluded"});n.append(a)})},te=n=>{const l=document.createElement("div");return l.classList.add("top-tagSelector_tagIcon"),l.classList.toggle("top-tagSelector-active",!!n.state),l.classList.toggle("top-tagSelector-excluded",n.state==="excluded"),l.dataset.tag_id=n.id,l.dataset.tag_color_id=n.colorId,l.title=n.name,l},we=de,Me=he,be=Ce,Ee=ee,_e=D;T.TopSelectorCompetitors=we,T.TopSelectorRegion=Me,T.TopTagSelector=be,T.TopTagSelectorPopupOpener=Ee,T.TopTagSelectorTagIcon=_e,T.dialogSelectorRegions=Q,T.findRegion=H,T.genElTopTagSelectorPopupOpener=Te,T.genSearcherByKey=z,T.renderElTopTagSelectorPopupOpener=Ve,T.useItemsFromCompetitors=Be,Object.defineProperty(T,Symbol.toStringTag,{value:"Module"})});
1
+ define(["require","exports","vue","../.chunks/forms-Gb7ujpmz.amd","../.chunks/listItem.vue_vue_type_script_setup_true_lang-CF_hIWa6.amd","../.chunks/menu.vue_vue_type_style_index_0_lang-CczcI_-j.amd","../.chunks/utils-BYruuiOR.amd","../utils/searchers.amd","../utils/dom.amd","../popup/worker.amd","../require/css.amd!../assets/project.css"],function(ne,T,e,x,E,oe,le,P,_,ae){"use strict";if(typeof e>"u")var e=window.Vue;const re={class:"top-selectorCompetitors"},ie={class:"top-ellipsis1"},de=e.defineComponent({__name:"selectorCompetitors",props:e.mergeModels({modelValue:{},items:{},showSelectAllItem:{type:Boolean,default:!0}},{modelValue:{},modelModifiers:{}}),emits:["update:modelValue"],setup(n){const l=n,r=e.useModel(n,"modelValue"),t=e.computed(()=>{if(l.showSelectAllItem)return{icon:"",title:x.useI18n().Common.Select_all,value:"all",content:""}});return(d,o)=>(e.openBlock(),e.createElementBlock("div",re,[e.unref(x.Core).state.isMobile?(e.openBlock(),e.createBlock(E._sfc_main,{key:0},{opener:e.withCtx(()=>[e.createVNode(x._sfc_main,{class:"top-selectorCompetitors_opener",color:"theme",icon:"",icon2:""},{default:e.withCtx(()=>{var a;return[e.createTextVNode(e.toDisplayString((a=d.items.find(s=>{var v;return s.value===((v=r.value)==null?void 0:v[0])}))==null?void 0:a.content),1)]}),_:1})]),contentList:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(d.items,a=>{var s;return e.openBlock(),e.createBlock(E._sfc_main$1,{class:e.normalizeClass({"top-active":(s=r.value)==null?void 0:s.includes(a.value)}),"data-top-icon":a.icon,title:a.title,onClick:()=>r.value=[a.value]},{default:e.withCtx(()=>[e.createElementVNode("span",ie,e.toDisplayString(a.content),1)]),_:2},1032,["class","data-top-icon","title","onClick"])}),256))]),_:1})):(e.openBlock(),e.createBlock(oe._sfc_main,{key:1,modelValue:r.value,"onUpdate:modelValue":o[0]||(o[0]=a=>r.value=a),items:d.items,isMultiple:!0,styling:"bar",canBeEmptyMultiple:!1,selectAllItem:t.value},null,8,["modelValue","items","selectAllItem"]))]))}}),w=-1,p=-2,L=-1,ue={0:"Yandex",1:"Google",4:"YouTube",5:"Bing",7:"Seznam",8:"AppStore",9:"GoogleStore",20:"Yandex.com",21:"Yandex.com.tr"},J={key:p,name:"--",index:p},G={key:p,name:"--",regions:[J],regionByIndex:new Map([[p,J]])},A={key:p,name:"Autoselect",index:p},U={key:p,name:"Autoselect",regions:[A],regionByIndex:new Map([[p,A]])},Y={countryCode:"00",depth:1,device:0,key:L,index:L,lang:"ru",name:"Without region"},se=()=>(A.name=x.useI18n().Common.Autoselect,A),ce=()=>(se(),U.name=x.useI18n().Common.Autoselect,console.log(U),U),ge=()=>(Y.name=x.useI18n().Keywords.Without_region,Y),z=(n=!1,l=!1,r=[])=>{let t;return n?t=me(r):t=W(r),l&&t.set(p,ce()),t.size||t.set(p,G),t},W=(n,l=!0,r=[],t=!1)=>{const d=new Map;return n.forEach(o=>{if(!o.enabled||t&&typeof o.key=="number"&&o.key>1)return;const a={...o};a.regionByIndex=new Map,o.regions&&o.regions.forEach(s=>{if(l&&!s.enabled)return;const v={...s};a.regionByIndex.set(v.index,v)}),!a.regionByIndex.size&&r.length,(!o.regions||a.regionByIndex.size||r.length)&&typeof a.key=="number"&&d.set(a.key,a)}),r.forEach(o=>{if(d.has(o))return;const a={key:o,name:ue[o],regions:[],regionByIndex:new Map};d.set(a.key,a)}),d},me=n=>{const l=W(n,!1,[0,1],!0);if(l.has(2)){const r=l.get(2);r&&(r.regionByIndex=new Map)}return l.forEach(r=>{if(!r.regionByIndex)return;const t={...ge()};r.regionByIndex.set(t.index,t)}),l},H=(n,l,r=[])=>{const t=z(n,!1,r);let d;return t.forEach(o=>{if(!(l.searcher_key!==void 0&&l.searcher_key!=o.key)&&o.regions&&(o.regions.forEach(a=>{if(!d&&!(l.key!==void 0&&l.key!=a.key)&&!(l.index!==void 0&&l.index!=a.index)&&!(!n&&(l.lang!==void 0&&l.lang!=a.lang||l.device!==void 0&&l.device!=a.device)))return a.searcher_key=o.key,d=a,!1}),d))return!1}),d},Q=le.useAsyncTopDialog(()=>new Promise((n,l)=>ne(["../.chunks/dialog_selectorRegions-C-MZasKk.amd"],n,l))),fe=(n,l)=>{const r=x.useI18n(),t=e.ref(l.value.keys().next().value??p),d=e.computed(()=>{const o=new Map;if(l.value.forEach(a=>{let s={value:a.key,title:a.name};n.addSearcherIcon&&(s.icon=P.getSearcherGIcon(a.key)),o.set(a.key,s)}),n.addCompare&&!o.has(p)){const a={value:"",title:"--------------------",disabled:!0};o.set(a.value,a);const s={value:w,title:r.Common.Compare};o.set(s.value,s)}return o});return{searcherKey:t,optionBySearcherKey:d}},ve=(n,l)=>{var o,a,s;const r=x.useI18n(),t=e.ref(p);n.modelValue.length===1&&(t.value=n.modelValue[0]),t.value===p&&(n.forFrequency?t.value=((a=(o=l.value)==null?void 0:o.regionByIndex.values().next().value)==null?void 0:a.key)??p:t.value=((s=l.value)==null?void 0:s.regionByIndex.keys().next().value)??p);const d=e.computed(()=>{var h;const v=new Map;return(h=l.value.regionByIndex)==null||h.forEach(S=>{let i=S.name;if(n.forFrequency){const I={value:S.key,title:i};v.has(S.key)||v.set(S.key,I);return}S.device&&(i+=" ("+r.Common["Device_"+S.device]+")");const m=P.getLangLabel(l.value.key||0,S.lang??"");m&&(i+=" / "+m);const c={value:S.index,title:i,icon:S.device?P.getDeviceGIcon(S.device):void 0};v.set(S.index,c)}),v});return e.watch(d,(v,h)=>{var c;if(n.onlySearcher||t.value!==void 0&&v.get(t.value))return;let S=v.keys().next().value;if(t.value===p||S===p){t.value=S;return}let i=((c=h==null?void 0:h.get(t.value))==null?void 0:c.title)||"",m=-1;for(const[I,B]of v.entries()){const C=B.title;if(typeof C!="string"||typeof I=="string")break;if(C===i){S=I;break}const V=new RegExp(` \\((${r.Common.Device_1}|${r.Common.Device_2})\\)`);let f=i,u=3;C.indexOf(f)===-1&&(f=i.replace(/^[^a-zа-я]/i,"").replace(V,""),u--),C.indexOf(f)===-1&&(f=i.replace(/ \/.*/,""),u--),C.indexOf(f)===-1&&(f=i.replace(/ \/.*/,""),f=f.replace(/^[^a-zа-я]/i,"").replace(V,""),u--),C.indexOf(f)!==-1&&(u<=m||(m=u,S=I))}t.value=S}),{regionIndex:t,optionByRegionIndex:d}},ye=(n,l,r)=>{const t=e.ref([]),d=()=>{if(n.onlySearcher&&l.value){t.value=Array.from(l.value.keys());return}let a=[];if(n.modelValue.length>1)a=[...n.modelValue];else try{a=JSON.parse(localStorage.getItem("ui:project:regionSelector"+n.projectId+":regionsIndexes"))??[]}catch{}a.length&&(a=a.filter(s=>r.value.has(s))),a.length||(a=Array.from(r.value)),t.value=[...a]},o=()=>{t.value.length?localStorage.setItem("ui:project:regionSelector:"+n.projectId+":regionsIndexes",JSON.stringify(t.value)):localStorage.removeItem("ui:project:regionSelector:"+n.projectId+":regionsIndexes")};return e.watch(t,()=>{o()}),n.addCompare&&d(),{regionsIndexes:t}},pe=n=>{const l=e.computed(()=>z(n.forFrequency,n.autoRegion,n.searchers)),r=e.computed(()=>l.value.get(d.searcherKey.value)||G),t=e.computed(()=>{const i=new Set;return l.value.forEach(m=>{m.regionByIndex.forEach(c=>{c.index!==L&&c.index!==p&&i.add(c.index)})}),i}),d=fe(n,l),o=ve(n,r),a=ye(n,l,t);e.watch(l,()=>{var m,c,I,B;if(n.onlySearcher?a.regionsIndexes.value=Array.from(l.value.keys()):a.regionsIndexes.value=a.regionsIndexes.value.filter(C=>t.value.has(C)),d.searcherKey.value===w)return;let i=l.value.keys().next().value;l.value.forEach(C=>{var V,f,u;if(n.onlySearcher&&C.key===d.searcherKey.value){i=d.searcherKey.value;return}if(o.regionIndex.value&&((V=C.regionByIndex)!=null&&V.has(o.regionIndex.value))&&(i=C.key),!n.onlySearcher){let g;i!==void 0&&(g=(f=l.value.get(i))==null?void 0:f.regionByIndex);const y=(u=l.value.get(C.key))==null?void 0:u.regionByIndex;g!=null&&g.has(p)&&!(y!=null&&y.has(p))&&(i=C.key)}}),i!==void 0&&(d.searcherKey.value=i),o.regionIndex.value!==void 0&&!((c=(m=r.value)==null?void 0:m.regionByIndex)!=null&&c.has(o.regionIndex.value))&&(o.regionIndex.value=(B=(I=r.value)==null?void 0:I.regions)==null?void 0:B.keys().next().value)},{immediate:!0});const s=()=>{if(!(d.searcherKey.value===w||d.searcherKey.value===p))return d.searcherKey.value},v=()=>{if(n.onlySearcher||o.regionIndex.value===p)return;let i=o.regionIndex.value;if(n.forFrequency){const m=o.regionIndex.value,c=H(n.forFrequency,{searcher_key:s(),key:m},n.searchers);i=c==null?void 0:c.index}return i},h=()=>{const i=s();if(i!==void 0)return l.value.get(i)};return{selectSearcher:d,selectRegion:o,compare:a,searcherByKey:l,allRegionsIndexes:t,getSearcher:h,getRegion:()=>{var m,c;const i=v();if(i!==void 0)return(c=(m=h())==null?void 0:m.regionByIndex)==null?void 0:c.get(i)}}},he=e.defineComponent({__name:"selectorRegion",props:e.mergeModels({projectId:{},searchers:{default:()=>[]},modelValue:{},modelValueSingle:{},addCompare:{type:Boolean},forFrequency:{type:Boolean},autoRegion:{type:Boolean},onlySearcher:{type:Boolean},addChanger:{type:Boolean,default:!0},addSearcherIcon:{type:Boolean,default:!0},addRegionIcon:{type:Boolean,default:!0}},{modelValue:{required:!0},modelModifiers:{},modelValueSingle:{},modelValueSingleModifiers:{}}),emits:["update:modelValue","update:modelValueSingle"],setup(n,{expose:l}){const r=n,t=e.useModel(n,"modelValue"),d=e.useModel(n,"modelValueSingle"),{selectSearcher:o,selectRegion:a,compare:s,searcherByKey:v,allRegionsIndexes:h,getSearcher:S,getRegion:i}=pe(r),m=()=>{const c=[];v.value.forEach(I=>{I.enabled&&I.regions.forEach(B=>{B.enabled&&c.push(B)})}),Q.open("selectorRegions",{regions:c,regionsIndexes:s.regionsIndexes.value,"@update:regionsIndexes":I=>s.regionsIndexes.value=I})};return e.watch([a.regionIndex,o.searcherKey,s.regionsIndexes],()=>{if(o.searcherKey.value===w&&s.regionsIndexes.value.length){if(JSON.stringify(t.value)===JSON.stringify(s.regionsIndexes.value))return;t.value=[...s.regionsIndexes.value]}else r.onlySearcher?(t.value=[o.searcherKey.value],o.searcherKey.value===p&&!r.autoRegion&&(t.value.length=0)):(t.value=[a.regionIndex.value],a.regionIndex.value===p&&!r.autoRegion&&(t.value.length=0));!r.onlySearcher&&!h.value.size&&(o.searcherKey.value=p)}),d.value&&e.watch(d,()=>{d.value&&(t.value=[d.value])},{immediate:!0}),e.watch(t,()=>{var c,I,B,C,V;if(t.value[0]&&(d.value=t.value[0]),r.onlySearcher){if(!t.value.length||t.value.length===1&&!v.value.has(t.value[0])||t.value.length===1&&t.value[0]===p&&!r.autoRegion){let f=v.value.keys().next().value;f===p&&!r.autoRegion&&(f=void 0,d.value=p),f!==void 0?t.value=[f]:t.value.length=0;return}if(t.value.length>1&&JSON.stringify(t.value)!==JSON.stringify(s.regionsIndexes.value)){t.value=[...s.regionsIndexes.value];return}}else{let f=[...new Set(t.value)],u=(I=(c=v.value.values().next().value)==null?void 0:c.regionByIndex)==null?void 0:I.keys().next().value;if(r.forFrequency&&(u=(V=(C=(B=v.value.values().next().value)==null?void 0:B.regionByIndex)==null?void 0:C.values().next().value)==null?void 0:V.key),u===p&&!r.autoRegion&&(u=void 0,d.value=p),!f.length)u!==void 0&&f.push(u);else if(f.length===1){let g=h.value;r.forFrequency&&(g=new Set,v.value.forEach(y=>{y.regionByIndex.forEach(k=>{k.index!==L&&k.index!==p&&g.add(k.key)})})),g.has(f[0])||(f=[],u!==void 0&&f.push(u))}else f=f.filter(g=>h.value.has(g)),!f.length&&u!==void 0&&f.push(u);if(JSON.stringify(t.value)!==JSON.stringify(f)){t.value=f;return}}if(!(t.value.length===1&&t.value[0]===(r.onlySearcher?o.searcherKey.value:a.regionIndex.value)))if(r.onlySearcher){if(t.value.length===1){o.searcherKey.value=t.value[0];return}o.searcherKey.value=w;return}else{if(!t.value.length)return;if(t.value.length===1&&o.searcherKey.value!==w){a.regionIndex.value=t.value[0];let f;for(const u of v.value.values()){for(const g of u.regionByIndex.values())if((r.forFrequency?g.key:g.index)===a.regionIndex.value){f=u.key;break}if(f!==void 0)break}f!==void 0&&(o.searcherKey.value=f)}else o.searcherKey.value=w,s.regionsIndexes.value=[...t.value]}},{immediate:!0}),l({getSearcher:S,getRegion:i}),(c,I)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass({"top-selectorRegion":!0,"top-selectorRegion-onlySearcher":c.onlySearcher})},[e.createVNode(x._sfc_main$4,{options:e.unref(o).optionBySearcherKey.value,modelValue:e.unref(o).searcherKey.value,"onUpdate:modelValue":I[0]||(I[0]=B=>e.unref(o).searcherKey.value=B),name:"searcher_key",addChanger:c.addChanger},null,8,["options","modelValue","addChanger"]),!c.onlySearcher&&e.unref(o).searcherKey.value!==e.unref(w)?(e.openBlock(),e.createBlock(x._sfc_main$4,{key:0,class:"top-select-region",options:e.unref(a).optionByRegionIndex.value,modelValue:e.unref(a).regionIndex.value,"onUpdate:modelValue":I[1]||(I[1]=B=>e.unref(a).regionIndex.value=B),name:c.forFrequency?"region_key":"region_index",addChanger:c.addChanger,"data-top-icon":c.addRegionIcon?"":void 0},null,8,["options","modelValue","name","addChanger","data-top-icon"])):e.createCommentVNode("",!0),c.addCompare&&!c.onlySearcher&&e.unref(o).searcherKey.value===e.unref(w)?(e.openBlock(),e.createBlock(x._sfc_main,{key:1,name:"compare",onClick:m,"data-count-compare-regions-indexes":e.unref(s).regionsIndexes.value.length},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(c.$i18n.Common.Selected_regions),1)]),_:1},8,["data-count-compare-regions-indexes"])):e.createCommentVNode("",!0)],2))}}),Se=[{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"}],X=n=>"-"+n,K=n=>n[0]==="-"?n.substring(1):n,O=(n,l)=>{n=K(n);const r=l.find(t=>t.id===n);if(r)return r},ke=["data-tag_id","data-tag_color_id","title"],D=e.defineComponent({__name:"tagIcon",props:{id:{},colorId:{},name:{},state:{}},setup(n){return(l,r)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass({"top-tagSelector_tagIcon":!0,"top-tagSelector-active":!!l.state,"top-tagSelector-excluded":l.state==="excluded"}),"data-tag_id":l.id,"data-tag_color_id":l.colorId,title:l.name},null,10,ke))}}),Ie=["contenteditable","onKeydown"],Z=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(n,{emit:l}){const r=n,t=l,d=e.useModel(n,"name"),o=e.ref(null),a=e.computed(()=>navigator.userAgent.indexOf("Firefox")!=-1?{contenteditable:s.value,onpaste:m=>m.preventDefault()}:{}),s=e.ref(!1),v=async()=>{var m;s.value=!0,await e.nextTick(),(m=o.value)==null||m.focus()},h=()=>{var c;const m=(c=o.value)==null?void 0:c.innerText;if(!m)return S();o.value&&(o.value.innerText=m),s.value=!1,t("update:name",m)},S=async()=>{o.value&&(o.value.innerText=r.name),s.value=!1},i=m=>{if(s.value||r.disabled)return;let c="selected";r.canExclude&&(m.ctrlKey||m.metaKey)&&(c="excluded"),r.state==c&&(c=""),c===""&&t("unselect"),c==="selected"&&t("select"),c==="excluded"&&t("exclude")};return(m,c)=>(e.openBlock(),e.createBlock(E._sfc_main$1,{class:e.normalizeClass({"top-tagSelector_tagListItem":!0,"top-tagSelector_tagListItem-inEdit":s.value,"top-tagSelector_tagListItem-disabled":m.disabled,"top-tagSelector_tagListItem-canExclude":m.canExclude,"top-tagSelector-active":!!m.state,"top-tagSelector-excluded":m.state==="excluded"}),onClick:e.withModifiers(i,["stop"])},{default:e.withCtx(()=>[e.createVNode(D,{id:m.id,name:d.value,colorId:m.colorId,state:m.state},null,8,["id","name","colorId","state"]),e.createElementVNode("span",e.mergeProps({ref_key:"elName",ref:o,class:"top-tagSelector_tagListItemName",contenteditable:s.value?"plaintext-only":!1},a.value,{onKeydown:[e.withKeys(e.withModifiers(h,["stop"]),["enter"]),e.withKeys(e.withModifiers(S,["stop"]),["esc"])]}),e.toDisplayString(d.value),17,Ie),m.editable?(e.openBlock(),e.createElementBlock(e.Fragment,{key:0},[s.value?(e.openBlock(),e.createElementBlock("span",{key:1,"data-top-icon":"",class:"top-tagSelector_edit",onClick:e.withModifiers(h,["stop"])})):(e.openBlock(),e.createElementBlock("span",{key:0,"data-top-icon":"",class:"top-tagSelector_edit",onClick:v}))],64)):e.createCommentVNode("",!0)]),_:1},8,["class"]))}}),xe={key:1},ee=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(n){const l=n,r=e.useModel(n,"modelValue"),t=l.useTopButton?x._sfc_main:"div",d=l.useTopButton?"html":"default",o={model:r,mode:l.mode,targetId:l.targetId,filters:l.filters,payload:l.payload};return(a,s)=>{const v=e.resolveDirective("top-data");return e.openBlock(),e.createBlock(E._sfc_main$2,{id:a.id},{default:e.withCtx(()=>[e.withDirectives((e.openBlock(),e.createBlock(e.resolveDynamicComponent(e.unref(t)),e.mergeProps({class:{"top-tagSelector":!0,"top-tagSelector-filter":l.mode==="filter","top-tagSelector-setter_single":l.mode==="setter"&&!a.filters,"top-tagSelector-setter_several":l.mode==="setter"&&a.filters,"top-tagSelector-selectedOne":!r.value.length||r.value.length===1,"top-tagSelector-toTwoLine":r.value.length>5},color:"theme",styling:a.styling},a.$attrs),{[e.unref(d)]:e.withCtx(()=>[!r.value.length&&a.mode==="filter"?(e.openBlock(),e.createBlock(D,{key:0,id:"all",colorId:"",name:a.$i18n.Common.All_tags??"",state:""},null,8,["name"])):e.createCommentVNode("",!0),a.mode==="setter"&&a.filters?(e.openBlock(),e.createElementBlock("div",xe,[e.renderSlot(a.$slots,"default")])):(e.openBlock(!0),e.createElementBlock(e.Fragment,{key:2},e.renderList(r.value,h=>{var S,i;return e.openBlock(),e.createBlock(D,{id:e.unref(K)(h),colorId:((S=e.unref(O)(h,a.tags))==null?void 0:S.color_id)??"",name:((i=e.unref(O)(h,a.tags))==null?void 0:i.name)??"",state:e.unref(K)(h)===h?"selected":"excluded"},null,8,["id","colorId","name","state"])}),256))]),_:2},1040,["class","styling"])),[[v,o,"topTagSelectorTarget"]])]),_:3},8,["id"])}}}),Ce=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},styling:{}},{modelValue:{required:!0},modelModifiers:{},tags:{default:e.reactive(Se)},tagsModifiers:{}}),emits:e.mergeModels(["selector","setter","tagsChanged"],["update:modelValue","update:tags"]),setup(n,{emit:l}){const r=x.useI18n(),t=n,d=e.useModel(n,"modelValue"),o=e.useModel(n,"tags"),a=l,s=x.debounce((u,g)=>{a(u,g)},t.emitDelay);t.singleMode&&!d.value.length&&(d.value=[o.value[0].id]);const v=t.id??"top-popup-id-"+Math.random(),h=e.ref("add"),S=()=>{var y;const u=" "+((y=r.Common.Tags)==null?void 0:y.toLowerCase()),g=new Map;return g.set("add",{value:"add",title:r.Common.Add+u}),g.set("replace",{value:"replace",title:r.Common.Replace+u}),g.set("delete",{value:"delete",title:r.Common.Delete+u}),g};let i=e.shallowRef({model:d,mode:"filter",targetId:void 0,filters:void 0,payload:void 0});e.watch(d,()=>{s("selector",d.value)});const m=e.computed(()=>{if(i.value.mode==="setter"&&t.maxTagsForSetter&&!i.value.filters)return i.value.model.value.length>=t.maxTagsForSetter}),c=u=>{if(u!=="all"){if(i.value.model.value.includes(u))return"selected";if(i.value.model.value.includes(X(u)))return"excluded"}return u==="all"&&!i.value.model.value.length?"selected":""},I=(u,g)=>{const y=X(u);let k=i.value.model.value.filter(M=>M!==u&&M!==y);g==="select"&&k.push(u),g==="exclude"&&k.push(y),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(M=>M!=="1"))),t.singleMode&&!i.value.filters&&(k.length||(k=i.value.model.value),k.length>1&&(k=[k[k.length-1]])),k.sort((M,N)=>{if(!t.tags)return 0;const q=t.tags.findIndex(b=>b.id===M),R=t.tags.findIndex(b=>b.id===N);return q-R}),i.value.model.value=k,i.value.mode==="setter"&&i.value.targetId!==void 0&&s("setter",{tagsIds:k,targetId:i.value.targetId,payload:i.value.payload})},B=e.computed(()=>{let u="top-tagSelector_popup";return i.value.mode==="filter"&&(u+=" top-tagSelector_popup-filter"),i.value.mode==="setter"&&(u+=" top-tagSelector_popup-setter"),u}),C=()=>{const u=prompt("","New tag");if(!u||u==="New tag")return;const g=o.value.length+1;o.value.push({id:String(g),name:u,color_id:String((g-1)%10+1)}),a("tagsChanged",o.value)},V=u=>{var g;if(i.value=_.storage(u.elPopupOpener,"topTagSelectorTarget"),!i.value)throw new Error("Open popup TopTagSelector required v-data:topTagSelectorTarget");if(i.value.filters&&(h.value="add",i.value.model.value=[]),!((g=x.Core.$)!=null&&g.ui.sortable)){console.info("Для работы сортировки требуется глобальная загрузка jQuery UI Sortable");return}!x.Core.state.isMobile&&!x.Core.state.isMobileUA&&o.value&&$(u.elPopup).sortable({items:'li:has([data-tag_id]:not([data-tag_id="all"]))',cancel:'[contenteditable="plaintext-only"], [contenteditable="true"]',distance:10,stop:function(y,k){if(!o.value)return;const M=$(k.item).parent().find("[data-tag_id]"),N=[];M.each((q,R)=>{if(!o.value)return;const b=$(R).attr("data-tag_id");N.push(b)}),o.value.sort((q,R)=>{const b=N.findIndex(j=>j===q.id),Ke=N.findIndex(j=>j===R.id);return b-Ke}),s("tagsChanged",o.value)}})},f=u=>{var g;(g=x.Core.$)!=null&&g.ui.sortable&&$(u.elPopup).data("ui-sortable")&&$(u.elPopup).sortable("destroy")};return(u,g)=>(e.openBlock(),e.createElementBlock(e.Fragment,null,[e.createVNode(ee,{class:"top-select_arrow",modelValue:d.value,"onUpdate:modelValue":g[0]||(g[0]=y=>d.value=y),id:e.unref(v),tags:o.value,styling:u.styling,mode:"filter",useTopButton:""},null,8,["modelValue","id","tags","styling"]),e.createVNode(E._sfc_main,{id:e.unref(v),class:e.normalizeClass(B.value),onOpen:g[4]||(g[4]=y=>V(y)),onClose:g[5]||(g[5]=y=>f(y)),"transition-duration":50},e.createSlots({contentList:e.withCtx(()=>[e.unref(i).mode==="filter"&&!u.singleMode?(e.openBlock(),e.createBlock(Z,{key:0,id:"all",colorId:"",name:u.$i18n.Common.All_tags??"",state:e.unref(i).model.value.length?"":"selected",onSelect:g[3]||(g[3]=y=>e.unref(i).model.value=[])},null,8,["name","state"])):e.createCommentVNode("",!0),(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(o.value,y=>(e.openBlock(),e.createBlock(Z,{key:y.id,id:y.id,colorId:y.color_id,name:y.name,state:c(y.id),canExclude:e.unref(i).mode==="filter"&&!u.singleMode,editable:u.tagsEditable,disabled:m.value&&c(y.id)==="",onUnselect:k=>I(y.id,"unselect"),onSelect:k=>I(y.id,"select"),onExclude:k=>I(y.id,"exclude"),"onUpdate:name":k=>{y.name=k,e.unref(s)("tagsChanged",o.value)}},null,8,["id","colorId","name","state","canExclude","editable","disabled","onUnselect","onSelect","onExclude","onUpdate:name"]))),128)),u.tagsEditable&&o.value.length<u.tagsMax&&o.value.length<20?(e.openBlock(),e.createBlock(E._sfc_main$1,{key:1,"data-top-icon":"",onClick:e.withModifiers(C,["stop"])},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(u.$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(x._sfc_main$4,{modelValue:h.value,"onUpdate:modelValue":g[1]||(g[1]=y=>h.value=y),options:S()},null,8,["modelValue","options"])]),key:"0"}:void 0,e.unref(i).mode==="setter"&&e.unref(i).filters?{name:"footer",fn:e.withCtx(()=>[e.createVNode(x._sfc_main,{color:"theme"},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(u.$i18n.Common.Cancel),1)]),_:1}),e.createVNode(x._sfc_main,{onClick:g[2]||(g[2]=y=>e.unref(s)("setter",{tagsIds:e.unref(i).model.value,filters:e.unref(i).filters,filtersAction:h.value,payload:e.unref(i).payload}))},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(h.value==="add"?u.$i18n.Common.Add:"")+" "+e.toDisplayString(h.value==="replace"?u.$i18n.Common.Replace:"")+" "+e.toDisplayString(h.value==="delete"?u.$i18n.Common.Remove:""),1)]),_:1})]),key:"1"}:void 0]),1032,["id","class"])],64))}}),Be=(n,l)=>e.computed(()=>e.toValue(n).filter(d=>d.on>=0||d.id===l).map(d=>({value:d.id,title:d.url+` [${d.id}]`,icon:d.id===e.toValue(l)?"":"",content:d.name}))),Te=(n,l,r)=>{l||(l={id:n.id}),l.id=n.id;const t=ae.TopPopupWorker.genElPopupOpener("div",l);return t.classList.add("top-tagSelector"),n.useTopButton&&t.classList.add("top-button","top-color_theme"),n.mode==="filter"&&t.classList.add("top-tagSelector-filter"),n.mode==="setter"&&!n.filters&&t.classList.add("top-tagSelector-setter_single"),n.mode==="setter"&&n.filters&&t.classList.add("top-tagSelector-setter_several"),t.onclick=d=>{d.preventDefault(),d.stopPropagation(),t.onclick=null;const o=e.ref(n.modelValue),a={model:o,mode:n.mode,targetId:n.targetId,filters:n.filters,payload:n.payload};_.storage(t,"topTagSelectorTarget",a),delete t.dataset.topPopupDisabled,e.isRef(n.modelValue)||e.watch(o,()=>{n.modelValue=o.value,F(t,n,r)}),t.click()},e.isRef(n.modelValue)?e.watch(n.modelValue,()=>F(t,n,r)):_.storage(t,"topTagSelectorRender",d=>{n.modelValue=d;const o=_.storage(t,"topTagSelectorTarget");o&&(o.model.value=d),F(t,n,r)}),F(t,n,r),t},Ve=(n,l)=>{var r;(r=_.storage(n,"topTagSelectorRender"))==null||r(l)},F=(n,l,r)=>{var d;const t=e.unref(l.modelValue);if(n.classList.toggle("top-tagSelector-selectedOne",!t.length||t.length===1),n.classList.toggle("top-tagSelector-toTwoLine",t.length>5),l.mode==="setter"&&l.filters){n.innerHTML=`<div>${r}</div>`;return}if(n.innerHTML="",!t.length&&l.mode==="filter"){const o=te({id:"all",colorId:"",name:((d=x.useI18n().Common)==null?void 0:d.All_tags)??"",state:""});n.append(o)}t.forEach(o=>{var s,v;const a=te({id:K(o),colorId:((s=O(o,l.tags))==null?void 0:s.color_id)??"",name:((v=O(o,l.tags))==null?void 0:v.name)??"",state:K(o)===o?"selected":"excluded"});n.append(a)})},te=n=>{const l=document.createElement("div");return l.classList.add("top-tagSelector_tagIcon"),l.classList.toggle("top-tagSelector-active",!!n.state),l.classList.toggle("top-tagSelector-excluded",n.state==="excluded"),l.dataset.tag_id=n.id,l.dataset.tag_color_id=n.colorId,l.title=n.name,l},we=de,Me=he,be=Ce,Ee=ee,_e=D;T.TopSelectorCompetitors=we,T.TopSelectorRegion=Me,T.TopTagSelector=be,T.TopTagSelectorPopupOpener=Ee,T.TopTagSelectorTagIcon=_e,T.dialogSelectorRegions=Q,T.findRegion=H,T.genElTopTagSelectorPopupOpener=Te,T.genSearcherByKey=z,T.renderElTopTagSelectorPopupOpener=Ve,T.useItemsFromCompetitors=Be,Object.defineProperty(T,Symbol.toStringTag,{value:"Module"})});
2
2
  //# sourceMappingURL=project.amd.js.map
@@ -1,9 +1,9 @@
1
1
  import { Core as be } from "../core/app.js";
2
2
  import { defineComponent as P, mergeModels as N, useModel as D, computed as E, createElementBlock as B, openBlock as k, createBlock as b, unref as y, withCtx as _, Fragment as Y, renderList as se, normalizeClass as X, createElementVNode as he, toDisplayString as K, createVNode as A, createTextVNode as G, ref as F, watch as w, createCommentVNode as q, withModifiers as z, mergeProps as Se, withKeys as de, nextTick as Ve, resolveDirective as Ee, withDirectives as Me, resolveDynamicComponent as Ke, renderSlot as $e, shallowRef as we, createSlots as Le, reactive as Ae, toValue as ce, isRef as ge } from "vue";
3
- import { u as R, C as J, _ as H, y as ie, d as Re } from "../.chunks/forms-C-fyoosd.es.js";
4
- import { _ as Ie, a as ue, b as Oe } from "../.chunks/listItem.vue_vue_type_script_setup_true_lang-BJTTvdc7.es.js";
5
- import { _ as Ne } from "../.chunks/menu.vue_vue_type_style_index_0_lang-Bi9Z81pC.es.js";
6
- import { u as De } from "../.chunks/utils-DsICGMuv.es.js";
3
+ import { u as R, C as J, _ as H, y as ie, d as Re } from "../.chunks/forms-DOGPN_TR.es.js";
4
+ import { _ as Ie, a as ue, b as Oe } from "../.chunks/listItem.vue_vue_type_script_setup_true_lang-CJQj81Yq.es.js";
5
+ import { _ as Ne } from "../.chunks/menu.vue_vue_type_style_index_0_lang-Dq5eEX9i.es.js";
6
+ import { u as De } from "../.chunks/utils-DtQUyz9-.es.js";
7
7
  import { getSearcherGIcon as Fe, getLangLabel as qe, getDeviceGIcon as Pe } from "../utils/searchers.js";
8
8
  import { storage as W } from "../utils/dom.js";
9
9
  import { TopPopupWorker as Ue } from "../popup/worker.js";
@@ -165,7 +165,7 @@ const je = { class: "top-selectorCompetitors" }, ze = { class: "top-ellipsis1" }
165
165
  }), i))
166
166
  return !1;
167
167
  }), i;
168
- }, Ze = De(() => import("../.chunks/dialog_selectorRegions-lYV2SJBx.es.js")), et = (t, a) => {
168
+ }, Ze = De(() => import("../.chunks/dialog_selectorRegions-DhFJmdQM.es.js")), et = (t, a) => {
169
169
  const o = R(), e = F(a.value.keys().next().value ?? p), i = E(() => {
170
170
  const l = /* @__PURE__ */ new Map();
171
171
  if (a.value.forEach((n) => {
@@ -1,2 +1,2 @@
1
- define(["require","exports","vue","../.chunks/forms-DO87ZZk9.amd","../utils/route.amd","../.chunks/store-esTid5oI.amd","../popup/popup.amd","../utils/system.amd","../require/css.amd!../assets/tabsView.css"],function(X,h,e,m,f,_,S,L){"use strict";if(typeof e>"u")var e=window.Vue;const g=(o,n)=>`top:${String(o)}:${n}`,y={loadLocalStorge:(o,n)=>{if(!n.$id)return;const t=g(o,n.$id);try{const a=JSON.parse(localStorage.getItem(t));typeof a==typeof n[o]&&(n[o]=a)}catch{console.warn(new Error(`В localStorage[${t}] не корректный json`))}},addSaverLocalStorge:(o,n)=>{if(!n.$id)return;const t=g(o,n.$id);e.watch(()=>n[o],()=>{localStorage.setItem(t,JSON.stringify(n[o]))},{immediate:!0})}},k=new Set;addEventListener("popstate",o=>{k.forEach(n=>n(o))});const V=Symbol(),C=(o,n)=>{const t=_.defineStore(V,()=>{const a=e.computed(()=>o.showMenuInPopup??m.Core.state.isMobile),i=e.computed(()=>o.pageMod),u=e.ref(!1),r=e.ref(void 0),l=e.ref(!0);return{showMenuInPopup:a,pageMod:i,isShort:u,activeItemName:n,component:r,scrollable:l}},o.idState);if(o.isShortable){const a="isShort";y.loadLocalStorge(a,t),y.addSaverLocalStorge(a,t)}if(t.$id){const a=i=>{n.value=f.getHash(t.$id)};k.add(a)}return t},w=()=>_.useStore(V),P={key:1,class:"top-ellipsis"},v=e.defineComponent({__name:"menuItem",props:{name:{},href:{},icon:{},disabled:{type:Boolean},component:{default:void 0},scrollable:{type:Boolean,default:!0}},setup(o){const n=o,t=w(),a=e.computed(()=>n.name&&t.$id?f.genHash(t.$id,n.name):n.href),i=e.computed(()=>t.showMenuInPopup?S.TopPopupListItem:a?"a":"button"),u=r=>{!n.href&&a.value&&r.preventDefault(),n.name&&(t.activeItemName=n.name)};return(r,l)=>(e.openBlock(),e.createBlock(e.resolveDynamicComponent(i.value),{target:"_self",class:e.normalizeClass({"top-tabsView_menuItem":!e.unref(t).showMenuInPopup,"top-active":r.name&&e.unref(t).activeItemName===r.name,"top-disabled":r.disabled,"top-spa-disabled":!0}),href:a.value,"data-top-icon":r.icon||void 0,disabled:r.disabled||void 0,onClick:u},{default:e.withCtx(()=>[e.unref(t).showMenuInPopup?e.renderSlot(r.$slots,"default",{key:0}):r.$slots.default&&!e.unref(t).isShort?(e.openBlock(),e.createElementBlock("span",P,[e.renderSlot(r.$slots,"default")])):e.createCommentVNode("",!0)]),_:3},8,["class","href","data-top-icon","disabled"]))}}),B=o=>(o==null?void 0:o.name)==="AsyncComponentWrapper"&&!(o!=null&&o.__asyncResolved),E=async(o,n)=>{(o==null?void 0:o.name)==="AsyncComponentWrapper"&&(o!=null&&o.__asyncResolved||(o.__asyncLoader(),await L.sleepWhile(()=>n()&&B(o),200)))},z={class:"top-tabsView_menuOpener"},R=["data-top-icon"],O={class:"top-ellipsis"},D={class:"top-tabsView_menuList"},H={key:0,class:"top-tabsView_menuFooter"},K=e.defineComponent({__name:"menu",props:e.mergeModels({isShortable:{type:Boolean},isLoading:{type:Boolean}},{isLoading:{},isLoadingModifiers:{}}),emits:["update:isLoading"],setup(o){const n=e.useModel(o,"isLoading"),t=w(),a=e.useSlots(),i=new Map,u=()=>{if(!a.default)return;const c=a.default({}).find(s=>s.key==="_menu");c&&r(c.children)},r=c=>{c.forEach(s=>{var M,$,N,T;if(s.type.__name&&s.type.__name!==v.__name)return;if(!s.type.__name&&typeof s.children=="object"){r(s.children);return}if(!((M=s.props)!=null&&M.name)||($=s.props)!=null&&$.disabled)return;const I={title:((T=(N=s.children).default)==null?void 0:T.call(N)[0].children).trim(),icon:s.props.icon,component:s.props.component?e.markRaw(s.props.component):v.props.component.default,scrollable:s.props.scrollable??v.props.scrollable.default};i.set(s.props.name,I)})},l=e.ref(null);let d=0;e.watch(()=>t.activeItemName,async()=>{const c=++d;if(i.size===0&&u(),i.size===0){t.activeItemName="";return}if(l.value=i.get(t.activeItemName)??null,!l.value&&t.$id){const s=f.getHash(t.$id);if(l.value=i.get(s)??null,l.value){t.activeItemName=s;return}}if(!l.value){t.activeItemName=i.keys().next().value;return}if(l.value.component===t.component){n.value=!1;return}t.$id&&f.setHash(t.$id,t.activeItemName,!1),n.value=!0,await E(l.value.component,()=>c===d),c===d&&(t.scrollable=l.value.scrollable,t.component=l.value.component,l.value&&!t.component&&console.warn(`Компонент вкладки ${t.activeItemName} не найден. Добавьте props.component для пункта меню ${t.activeItemName}.`))},{immediate:!0});const p=e.ref();let b;return e.onMounted(()=>{b=new ResizeObserver(()=>{p.value.parentElement.style.setProperty("--top-tabsView-contents-offset-top",p.value.offsetHeight+"px")}),b.observe(p.value)}),e.onUnmounted(()=>{b.disconnect()}),(c,s)=>(e.openBlock(),e.createElementBlock("div",{ref_key:"elRef",ref:p,class:e.normalizeClass({"top-tabsView_menu":!0,"top-tabsView_menu-inPopup_0":!e.unref(t).showMenuInPopup,"top-tabsView_menu-inPopup_1":e.unref(t).showMenuInPopup,"top-tabsView_menu-short":e.unref(t).isShort&&!e.unref(t).showMenuInPopup})},[e.unref(t).showMenuInPopup?(e.openBlock(),e.createBlock(e.unref(S.TopPopup),{key:0},{opener:e.withCtx(()=>[e.createElementVNode("div",z,[l.value?(e.openBlock(),e.createElementBlock("div",{key:0,class:"top-tabsView_menuOpenerActiveItem","data-top-icon":l.value.icon},[e.createElementVNode("span",O,e.toDisplayString(l.value.title),1)],8,R)):e.createCommentVNode("",!0),s[1]||(s[1]=e.createElementVNode("div",{class:"top-tabsView_menuOpenerIcon","data-top-icon":""},null,-1))])]),contentList:e.withCtx(()=>[e.renderSlot(c.$slots,"default")]),_:3})):(e.openBlock(),e.createElementBlock(e.Fragment,{key:1},[e.createElementVNode("div",D,[e.renderSlot(c.$slots,"default")]),c.isShortable?(e.openBlock(),e.createElementBlock("div",H,[c.isShortable?(e.openBlock(),e.createBlock(v,{key:0,icon:e.unref(t).isShort?"":"",onClick:s[0]||(s[0]=I=>e.unref(t).isShort=!e.unref(t).isShort)},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(e.unref(t).isShort?"":"Свернуть"),1)]),_:1},8,["icon"])):e.createCommentVNode("",!0)])):e.createCommentVNode("",!0)],64))],2))}}),j=e.defineComponent({__name:"tabsView",props:e.mergeModels({modelValue:{},pageMod:{type:Boolean},showMenuInPopup:{type:Boolean,default:void 0},isShortable:{type:Boolean,default:!1},idState:{}},{modelValue:{},modelModifiers:{}}),emits:["update:modelValue"],setup(o){const n=o,t=e.useModel(o,"modelValue"),a=C(n,t),i=Math.random();n.pageMod&&m.Core.state.documentClassModificators.set(i,"top-hasTabsViewPageMod"),e.onUnmounted(()=>{n.pageMod&&m.Core.state.documentClassModificators.delete(i),a.$id&&f.delHash(a.$id,a.activeItemName,!0)});const u=e.ref(),r=e.ref(!1);return e.watch([u,()=>a.component],()=>{r.value=B(a.component)},{immediate:!0}),(l,d)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass({"top-tabsView":!0,"top-tabsView-pageMod":n.pageMod,"top-tabsView-inPopup":e.unref(a).showMenuInPopup})},[e.createVNode(K,{isShortable:l.isShortable,isLoading:r.value,"onUpdate:isLoading":d[0]||(d[0]=p=>r.value=p)},{default:e.withCtx(()=>[e.renderSlot(l.$slots,"menu")]),_:3},8,["isShortable","isLoading"]),e.createElementVNode("div",{class:e.normalizeClass({"top-tabsView_contents":!0,"top-tabsView_contents-isLoading":r.value,"top-tabsView_contents-noScrollable":!e.unref(a).scrollable})},[r.value?(e.openBlock(),e.createBlock(m.TopLoadbar$1,{key:0})):e.createCommentVNode("",!0),(e.openBlock(),e.createBlock(e.KeepAlive,null,[(e.openBlock(),e.createBlock(e.resolveDynamicComponent(e.unref(a).component),{ref_key:"componentRef",ref:u},null,512))],1024))],2)],2))}}),A={},q={class:"top-tabsView_menuDelimeter"};function F(o,n){return e.openBlock(),e.createElementBlock("div",q)}const U=m._export_sfc(A,[["render",F]]),W=e.defineComponent({__name:"menuTitle",props:{isSubtitle:{type:Boolean}},setup(o){const n=w();return(t,a)=>e.unref(n).showMenuInPopup?(e.openBlock(),e.createBlock(e.unref(S.TopPopupListItem),{key:0,type:"title"},{default:e.withCtx(()=>[e.renderSlot(t.$slots,"default")]),_:3})):e.unref(n).isShort?(e.openBlock(),e.createBlock(U,{key:1})):(e.openBlock(),e.createElementBlock("div",{key:2,class:e.normalizeClass({"top-tabsView_menuTitle":!0,"top-tabsView_menuTitle-subtitle":t.isSubtitle})},[e.renderSlot(t.$slots,"default")],2))}}),J=j,G=v,Q=W;h.TopTabsView=J,h.TopTabsViewMenuItem=G,h.TopTabsViewMenuTitle=Q,Object.defineProperty(h,Symbol.toStringTag,{value:"Module"})});
1
+ define(["require","exports","vue","../.chunks/forms-Gb7ujpmz.amd","../utils/route.amd","../.chunks/store-esTid5oI.amd","../popup/popup.amd","../utils/system.amd","../require/css.amd!../assets/tabsView.css"],function(X,h,e,m,f,_,S,L){"use strict";if(typeof e>"u")var e=window.Vue;const g=(o,n)=>`top:${String(o)}:${n}`,y={loadLocalStorge:(o,n)=>{if(!n.$id)return;const t=g(o,n.$id);try{const a=JSON.parse(localStorage.getItem(t));typeof a==typeof n[o]&&(n[o]=a)}catch{console.warn(new Error(`В localStorage[${t}] не корректный json`))}},addSaverLocalStorge:(o,n)=>{if(!n.$id)return;const t=g(o,n.$id);e.watch(()=>n[o],()=>{localStorage.setItem(t,JSON.stringify(n[o]))},{immediate:!0})}},k=new Set;addEventListener("popstate",o=>{k.forEach(n=>n(o))});const V=Symbol(),C=(o,n)=>{const t=_.defineStore(V,()=>{const a=e.computed(()=>o.showMenuInPopup??m.Core.state.isMobile),i=e.computed(()=>o.pageMod),u=e.ref(!1),r=e.ref(void 0),l=e.ref(!0);return{showMenuInPopup:a,pageMod:i,isShort:u,activeItemName:n,component:r,scrollable:l}},o.idState);if(o.isShortable){const a="isShort";y.loadLocalStorge(a,t),y.addSaverLocalStorge(a,t)}if(t.$id){const a=i=>{n.value=f.getHash(t.$id)};k.add(a)}return t},w=()=>_.useStore(V),P={key:1,class:"top-ellipsis"},v=e.defineComponent({__name:"menuItem",props:{name:{},href:{},icon:{},disabled:{type:Boolean},component:{default:void 0},scrollable:{type:Boolean,default:!0}},setup(o){const n=o,t=w(),a=e.computed(()=>n.name&&t.$id?f.genHash(t.$id,n.name):n.href),i=e.computed(()=>t.showMenuInPopup?S.TopPopupListItem:a?"a":"button"),u=r=>{!n.href&&a.value&&r.preventDefault(),n.name&&(t.activeItemName=n.name)};return(r,l)=>(e.openBlock(),e.createBlock(e.resolveDynamicComponent(i.value),{target:"_self",class:e.normalizeClass({"top-tabsView_menuItem":!e.unref(t).showMenuInPopup,"top-active":r.name&&e.unref(t).activeItemName===r.name,"top-disabled":r.disabled,"top-spa-disabled":!0}),href:a.value,"data-top-icon":r.icon||void 0,disabled:r.disabled||void 0,onClick:u},{default:e.withCtx(()=>[e.unref(t).showMenuInPopup?e.renderSlot(r.$slots,"default",{key:0}):r.$slots.default&&!e.unref(t).isShort?(e.openBlock(),e.createElementBlock("span",P,[e.renderSlot(r.$slots,"default")])):e.createCommentVNode("",!0)]),_:3},8,["class","href","data-top-icon","disabled"]))}}),B=o=>(o==null?void 0:o.name)==="AsyncComponentWrapper"&&!(o!=null&&o.__asyncResolved),E=async(o,n)=>{(o==null?void 0:o.name)==="AsyncComponentWrapper"&&(o!=null&&o.__asyncResolved||(o.__asyncLoader(),await L.sleepWhile(()=>n()&&B(o),200)))},z={class:"top-tabsView_menuOpener"},R=["data-top-icon"],O={class:"top-ellipsis"},D={class:"top-tabsView_menuList"},H={key:0,class:"top-tabsView_menuFooter"},K=e.defineComponent({__name:"menu",props:e.mergeModels({isShortable:{type:Boolean},isLoading:{type:Boolean}},{isLoading:{},isLoadingModifiers:{}}),emits:["update:isLoading"],setup(o){const n=e.useModel(o,"isLoading"),t=w(),a=e.useSlots(),i=new Map,u=()=>{if(!a.default)return;const c=a.default({}).find(s=>s.key==="_menu");c&&r(c.children)},r=c=>{c.forEach(s=>{var M,$,N,T;if(s.type.__name&&s.type.__name!==v.__name)return;if(!s.type.__name&&typeof s.children=="object"){r(s.children);return}if(!((M=s.props)!=null&&M.name)||($=s.props)!=null&&$.disabled)return;const I={title:((T=(N=s.children).default)==null?void 0:T.call(N)[0].children).trim(),icon:s.props.icon,component:s.props.component?e.markRaw(s.props.component):v.props.component.default,scrollable:s.props.scrollable??v.props.scrollable.default};i.set(s.props.name,I)})},l=e.ref(null);let d=0;e.watch(()=>t.activeItemName,async()=>{const c=++d;if(i.size===0&&u(),i.size===0){t.activeItemName="";return}if(l.value=i.get(t.activeItemName)??null,!l.value&&t.$id){const s=f.getHash(t.$id);if(l.value=i.get(s)??null,l.value){t.activeItemName=s;return}}if(!l.value){t.activeItemName=i.keys().next().value;return}if(l.value.component===t.component){n.value=!1;return}t.$id&&f.setHash(t.$id,t.activeItemName,!1),n.value=!0,await E(l.value.component,()=>c===d),c===d&&(t.scrollable=l.value.scrollable,t.component=l.value.component,l.value&&!t.component&&console.warn(`Компонент вкладки ${t.activeItemName} не найден. Добавьте props.component для пункта меню ${t.activeItemName}.`))},{immediate:!0});const p=e.ref();let b;return e.onMounted(()=>{b=new ResizeObserver(()=>{p.value.parentElement.style.setProperty("--top-tabsView-contents-offset-top",p.value.offsetHeight+"px")}),b.observe(p.value)}),e.onUnmounted(()=>{b.disconnect()}),(c,s)=>(e.openBlock(),e.createElementBlock("div",{ref_key:"elRef",ref:p,class:e.normalizeClass({"top-tabsView_menu":!0,"top-tabsView_menu-inPopup_0":!e.unref(t).showMenuInPopup,"top-tabsView_menu-inPopup_1":e.unref(t).showMenuInPopup,"top-tabsView_menu-short":e.unref(t).isShort&&!e.unref(t).showMenuInPopup})},[e.unref(t).showMenuInPopup?(e.openBlock(),e.createBlock(e.unref(S.TopPopup),{key:0},{opener:e.withCtx(()=>[e.createElementVNode("div",z,[l.value?(e.openBlock(),e.createElementBlock("div",{key:0,class:"top-tabsView_menuOpenerActiveItem","data-top-icon":l.value.icon},[e.createElementVNode("span",O,e.toDisplayString(l.value.title),1)],8,R)):e.createCommentVNode("",!0),s[1]||(s[1]=e.createElementVNode("div",{class:"top-tabsView_menuOpenerIcon","data-top-icon":""},null,-1))])]),contentList:e.withCtx(()=>[e.renderSlot(c.$slots,"default")]),_:3})):(e.openBlock(),e.createElementBlock(e.Fragment,{key:1},[e.createElementVNode("div",D,[e.renderSlot(c.$slots,"default")]),c.isShortable?(e.openBlock(),e.createElementBlock("div",H,[c.isShortable?(e.openBlock(),e.createBlock(v,{key:0,icon:e.unref(t).isShort?"":"",onClick:s[0]||(s[0]=I=>e.unref(t).isShort=!e.unref(t).isShort)},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(e.unref(t).isShort?"":"Свернуть"),1)]),_:1},8,["icon"])):e.createCommentVNode("",!0)])):e.createCommentVNode("",!0)],64))],2))}}),j=e.defineComponent({__name:"tabsView",props:e.mergeModels({modelValue:{},pageMod:{type:Boolean},showMenuInPopup:{type:Boolean,default:void 0},isShortable:{type:Boolean,default:!1},idState:{}},{modelValue:{},modelModifiers:{}}),emits:["update:modelValue"],setup(o){const n=o,t=e.useModel(o,"modelValue"),a=C(n,t),i=Math.random();n.pageMod&&m.Core.state.documentClassModificators.set(i,"top-hasTabsViewPageMod"),e.onUnmounted(()=>{n.pageMod&&m.Core.state.documentClassModificators.delete(i),a.$id&&f.delHash(a.$id,a.activeItemName,!0)});const u=e.ref(),r=e.ref(!1);return e.watch([u,()=>a.component],()=>{r.value=B(a.component)},{immediate:!0}),(l,d)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass({"top-tabsView":!0,"top-tabsView-pageMod":n.pageMod,"top-tabsView-inPopup":e.unref(a).showMenuInPopup})},[e.createVNode(K,{isShortable:l.isShortable,isLoading:r.value,"onUpdate:isLoading":d[0]||(d[0]=p=>r.value=p)},{default:e.withCtx(()=>[e.renderSlot(l.$slots,"menu")]),_:3},8,["isShortable","isLoading"]),e.createElementVNode("div",{class:e.normalizeClass({"top-tabsView_contents":!0,"top-tabsView_contents-isLoading":r.value,"top-tabsView_contents-noScrollable":!e.unref(a).scrollable})},[r.value?(e.openBlock(),e.createBlock(m.TopLoadbar$1,{key:0})):e.createCommentVNode("",!0),(e.openBlock(),e.createBlock(e.KeepAlive,null,[(e.openBlock(),e.createBlock(e.resolveDynamicComponent(e.unref(a).component),{ref_key:"componentRef",ref:u},null,512))],1024))],2)],2))}}),A={},q={class:"top-tabsView_menuDelimeter"};function F(o,n){return e.openBlock(),e.createElementBlock("div",q)}const U=m._export_sfc(A,[["render",F]]),W=e.defineComponent({__name:"menuTitle",props:{isSubtitle:{type:Boolean}},setup(o){const n=w();return(t,a)=>e.unref(n).showMenuInPopup?(e.openBlock(),e.createBlock(e.unref(S.TopPopupListItem),{key:0,type:"title"},{default:e.withCtx(()=>[e.renderSlot(t.$slots,"default")]),_:3})):e.unref(n).isShort?(e.openBlock(),e.createBlock(U,{key:1})):(e.openBlock(),e.createElementBlock("div",{key:2,class:e.normalizeClass({"top-tabsView_menuTitle":!0,"top-tabsView_menuTitle-subtitle":t.isSubtitle})},[e.renderSlot(t.$slots,"default")],2))}}),J=j,G=v,Q=W;h.TopTabsView=J,h.TopTabsViewMenuItem=G,h.TopTabsViewMenuTitle=Q,Object.defineProperty(h,Symbol.toStringTag,{value:"Module"})});
2
2
  //# sourceMappingURL=tabsView.amd.js.map
@@ -1,6 +1,6 @@
1
1
  import { Core as U } from "../core/app.js";
2
2
  import { watch as k, computed as I, ref as f, defineComponent as M, createBlock as m, openBlock as l, resolveDynamicComponent as O, normalizeClass as w, unref as i, withCtx as b, renderSlot as v, createElementBlock as d, createCommentVNode as y, mergeModels as z, useModel as D, useSlots as G, onMounted as Q, onUnmounted as H, createElementVNode as S, toDisplayString as R, Fragment as X, createTextVNode as Y, markRaw as Z, createVNode as x, KeepAlive as ee } from "vue";
3
- import { C as $, v as te, t as oe } from "../.chunks/forms-C-fyoosd.es.js";
3
+ import { C as $, v as te, t as oe } from "../.chunks/forms-DOGPN_TR.es.js";
4
4
  import { getHash as K, genHash as ae, setHash as se, delHash as ne } from "../utils/route.js";
5
5
  import { u as ie, d as re } from "../.chunks/store-CX_6ZXhO.es.js";
6
6
  import { TopPopupListItem as A, TopPopup as le } from "../popup/popup.js";
@@ -1,4 +1,4 @@
1
- define(["require","exports","../.chunks/forms-DO87ZZk9.amd"],function(l,t,e){"use strict";if(typeof r>"u")var r=window.Vue;async function a(o,n=!1){let i=!1;return navigator.clipboard&&(await navigator.clipboard.writeText(o),i=!0,n&&e.Core.notice(e.useI18n().Common.Copied_to_clipboard+"","info")),i}async function u(o){let n=!1;e.isSafari()||(n=await a(o));const i='<a href="'+o+'" target="_blank">'+o+"</a>",c=e.useI18n().Common.Copied_to_clipboard+`:
1
+ define(["require","exports","../.chunks/forms-Gb7ujpmz.amd"],function(l,t,e){"use strict";if(typeof r>"u")var r=window.Vue;async function a(o,n=!1){let i=!1;return navigator.clipboard&&(await navigator.clipboard.writeText(o),i=!0,n&&e.Core.notice(e.useI18n().Common.Copied_to_clipboard+"","info")),i}async function u(o){let n=!1;e.isSafari()||(n=await a(o));const i='<a href="'+o+'" target="_blank">'+o+"</a>",c=e.useI18n().Common.Copied_to_clipboard+`:
2
2
  `+i;if(n)e.Core.notice(c,"info");else{if(!navigator.clipboard){e.Core.notice(e.useI18n().Common.Cannot_copied_to_clipboard+`:
3
3
  `+e.useI18n().Common.Copy_guest_link_manually+`
4
4
  `+i,"error");return}const d={onclick:()=>a(o).then(()=>e.Core.notice(c,"info")),default:e.useI18n().Common.Copy+"",class:"copy"};await e.Core.notice(e.useI18n().Common.Guest_link_created+`
@@ -1,4 +1,4 @@
1
- import { C as t, u as a, b as s } from "../.chunks/forms-C-fyoosd.es.js";
1
+ import { C as t, u as a, b as s } from "../.chunks/forms-DOGPN_TR.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.amd.js CHANGED
@@ -1,2 +1,2 @@
1
- define(["require","exports","../.chunks/forms-DO87ZZk9.amd"],function(n,e,t){"use strict";if(typeof a>"u")var a=window.Vue;e.dateFormat=t.dateFormat,e.dateToString=t.dateToString,e.dateUnformat=t.dateUnformat,e.genDate=t.genDate,e.genDateMoscow=t.genDateMoscow,e.getDayOfWeek=t.getDayOfWeek,e.stringToDate=t.stringToDate,Object.defineProperty(e,Symbol.toStringTag,{value:"Module"})});
1
+ define(["require","exports","../.chunks/forms-Gb7ujpmz.amd"],function(n,e,t){"use strict";if(typeof a>"u")var a=window.Vue;e.dateFormat=t.dateFormat,e.dateToString=t.dateToString,e.dateUnformat=t.dateUnformat,e.genDate=t.genDate,e.genDateMoscow=t.genDateMoscow,e.genUserDate=t.genUserDate,e.getDayOfWeek=t.getDayOfWeek,e.stringToDate=t.stringToDate,Object.defineProperty(e,Symbol.toStringTag,{value:"Module"})});
2
2
  //# sourceMappingURL=date.amd.js.map
package/utils/date.js CHANGED
@@ -1,11 +1,12 @@
1
- import { c as t, Q as s, V as o, S as r, U as g, P as n, R as D } from "../.chunks/forms-C-fyoosd.es.js";
1
+ import { c as t, Q as s, W as o, U as r, V as g, S as n, P as D, R as d } from "../.chunks/forms-DOGPN_TR.es.js";
2
2
  export {
3
3
  t as dateFormat,
4
4
  s as dateToString,
5
5
  o as dateUnformat,
6
6
  r as genDate,
7
7
  g as genDateMoscow,
8
- n as getDayOfWeek,
9
- D as stringToDate
8
+ n as genUserDate,
9
+ D as getDayOfWeek,
10
+ d as stringToDate
10
11
  };
11
12
  //# sourceMappingURL=date.js.map
@@ -1,2 +1,2 @@
1
- define(["require","exports","../.chunks/forms-DO87ZZk9.amd"],function(a,e,i){"use strict";if(typeof l>"u")var l=window.Vue;e.get$scroll=i.get$scroll,e.getCommandKeyLabel=i.getCommandKeyLabel,e.getElsScroll=i.getElsScroll,e.getOS=i.getOS,e.getOSAsync=i.getOSAsync,e.getScrollTop=i.getScrollTop,e.isApp=i.isApp,e.isMacOS=i.isMacOS,e.isMobile=i.isMobile,e.isRetina=i.isRetina,e.isSafari=i.isSafari,Object.defineProperty(e,Symbol.toStringTag,{value:"Module"})});
1
+ define(["require","exports","../.chunks/forms-Gb7ujpmz.amd"],function(a,e,i){"use strict";if(typeof l>"u")var l=window.Vue;e.get$scroll=i.get$scroll,e.getCommandKeyLabel=i.getCommandKeyLabel,e.getElsScroll=i.getElsScroll,e.getOS=i.getOS,e.getOSAsync=i.getOSAsync,e.getScrollTop=i.getScrollTop,e.isApp=i.isApp,e.isMacOS=i.isMacOS,e.isMobile=i.isMobile,e.isRetina=i.isRetina,e.isSafari=i.isSafari,Object.defineProperty(e,Symbol.toStringTag,{value:"Module"})});
2
2
  //# sourceMappingURL=device.amd.js.map
package/utils/device.js CHANGED
@@ -1,4 +1,4 @@
1
- import { H as e, F as l, I as i, J as o, K as t, G as g, B as r, D as S, A as c, z as p, b } from "../.chunks/forms-C-fyoosd.es.js";
1
+ import { H as e, F as l, I as i, J as o, K as t, G as g, B as r, D as S, A as c, z as p, b } from "../.chunks/forms-DOGPN_TR.es.js";
2
2
  export {
3
3
  e as get$scroll,
4
4
  l as getCommandKeyLabel,
package/utils/dom.amd.js CHANGED
@@ -1,2 +1,2 @@
1
- define(["require","exports"],function(p,n){"use strict";if(typeof q>"u")var q=window.Vue;function f(e,t,...i){const l=document.createElement(e);for(const r in t)r.indexOf("on")===0?l[r]=t[r]:l.setAttribute(r,t[r]);return i.forEach(r=>{typeof r=="string"?l.insertAdjacentHTML("beforeend",r):l.append(r)}),l}function u(e){if(!e)return!1;const t=e.getBoundingClientRect();return!!(t.width||t.height)}function c(e){const t=e.getBoundingClientRect();return{top:t.top+window.scrollY,left:t.left+window.scrollX}}function a(e,t){return window.getComputedStyle(e).getPropertyValue(t)}function s(e,t){const i=document.createElement(t);return e.after(i),i.append(e),i}function d(e,t){return o(e,t).find(u)||null}function g(e,t){return o(e,t).findLast(u)||null}function y(e,t){return o(e,t).filter(u)}function o(e,t){return e?[...e.querySelectorAll(t)]:[]}function b(e,t="common",i=void 0){if(e)return e.topData||(e.topData={}),i&&(e.topData[t]=i),i===null&&delete e.topData[t],e.topData[t]}function S(e){e&&delete e.topData}const w={genEl:f,isVisible:u,offset:c,css:a,wrap:s,querySelectorVisible:d,querySelectorVisibleLast:g,querySelectorAllVisible:y,querySelectorAllArray:o,storage:b,storageClear:S};n.css=a,n.default=w,n.genEl=f,n.isVisible=u,n.offset=c,n.querySelectorAllArray=o,n.querySelectorAllVisible=y,n.querySelectorVisible=d,n.querySelectorVisibleLast=g,n.storage=b,n.storageClear=S,n.wrap=s,Object.defineProperties(n,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}})});
1
+ define(["require","exports"],function(q,i){"use strict";if(typeof p>"u")var p=window.Vue;function f(e,t,...n){const l=document.createElement(e);for(const r in t)r.indexOf("on")===0?l[r]=t[r]:l.setAttribute(r,t[r]);return n.forEach(r=>{typeof r=="string"?l.insertAdjacentHTML("beforeend",r):l.append(r)}),l}function u(e){if(!e)return!1;const t=e.getBoundingClientRect();return!!(t.width||t.height)}const S=e=>{if(!(e instanceof HTMLElement))return!1;if(typeof e.checkVisibility=="function")e.checkVisibility();else{const t=window.getComputedStyle(e);if(t.display==="none"||t.visibility==="hidden"||t.opacity==="0"||!document.body.contains(e))return!1;const n=e.getBoundingClientRect();return!(n.width===0||n.height===0)}};function s(e){const t=e.getBoundingClientRect();return{top:t.top+window.scrollY,left:t.left+window.scrollX}}function c(e,t){return window.getComputedStyle(e).getPropertyValue(t)}function a(e,t){return parseInt(c(e,t))}function d(e,t){const n=document.createElement(t);return e.after(n),n.append(e),n}function y(e,t){return o(e,t).find(u)||null}function b(e,t){return o(e,t).findLast(u)||null}function g(e,t){return o(e,t).filter(u)}function o(e,t){return e?[...e.querySelectorAll(t)]:[]}function w(e,t="common",n=void 0){if(e)return e.topData||(e.topData={}),n&&(e.topData[t]=n),n===null&&delete e.topData[t],e.topData[t]}function V(e){e&&delete e.topData}const m={genEl:f,isVisible:u,offset:s,css:c,cssNumber:a,wrap:d,querySelectorVisible:y,querySelectorVisibleLast:b,querySelectorAllVisible:g,querySelectorAllArray:o,storage:w,storageClear:V};i.checkVisibilityPolyfill=S,i.css=c,i.cssNumber=a,i.default=m,i.genEl=f,i.isVisible=u,i.offset=s,i.querySelectorAllArray=o,i.querySelectorAllVisible=g,i.querySelectorVisible=y,i.querySelectorVisibleLast=b,i.storage=w,i.storageClear=V,i.wrap=d,Object.defineProperties(i,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}})});
2
2
  //# sourceMappingURL=dom.amd.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"dom.amd.js","sources":["../../src/core/utils/dom.ts"],"sourcesContent":["/**\n * Работа с Document Object Model (DOM)\n * @packageDocumentation\n */\n\n/**\n * Создать элемент\n * @param tagName\n * @param attrs - атрибуты\n * @param elsChildrens\n * @returns - созданный элемент\n */\nexport function genEl(tagName: string, attrs?: Record<string, string>, ...elsChildrens: HTMLElement[] | string[]): HTMLElement {\n\tconst el: any = document.createElement(tagName);\n\n\tfor (const name in attrs) {\n\t\tif (name.indexOf('on') === 0) {\n\t\t\t// events\n\t\t\tel[name] = attrs[name];\n\t\t} else {\n\t\t\tel.setAttribute(name, attrs[name]);\n\t\t}\n\t}\n\n\telsChildrens.forEach((elChildren: HTMLElement | string) => {\n\t\tif (typeof (elChildren) === 'string') {\n\t\t\tel.insertAdjacentHTML('beforeend', elChildren);\n\t\t} else {\n\t\t\tel.append(elChildren);\n\t\t}\n\t});\n\n\treturn el;\n}\n\n/**\n * Проверить видимость элемента\n * @param el\n * @returns - вернет true, если элемент считается видимым\n */\nexport function isVisible(el?: HTMLElement): boolean {\n\tif (!el) {\n\t\treturn false;\n\t}\n\n\tconst boundingClientRect = el.getBoundingClientRect();\n\treturn !!(boundingClientRect.width || boundingClientRect.height);\n}\n\n/**\n * Получить координаты элемента относительно документа\n * @param el\n * @returns - координаты элемента относительно документа\n */\nexport function offset(el: HTMLElement): { top: number, left: number } {\n\tconst boundingClientRect = el.getBoundingClientRect();\n\n\treturn {\n\t\ttop: boundingClientRect.top + window.scrollY,\n\t\tleft: boundingClientRect.left + window.scrollX,\n\t};\n}\n\n/**\n * Получить значение css свойства элемента\n * @param el\n * @param property - имя свойства\n * @return - значение css стиля\n */\nexport function css(el: HTMLElement, property: string): string {\n\treturn window.getComputedStyle(el).getPropertyValue(property);\n}\n\n/**\n * Обернуть элемент и вернуть только что созданный элемент\n * @param el - элемент, который требуется обернуть\n * @param tagName - имя тега элемента, в который треубется обернуть элемент\n */\nexport function wrap(el: HTMLElement, tagName: string): HTMLElement {\n\tconst elWrapper = document.createElement(tagName);\n\tel.after(elWrapper);\n\n\telWrapper.append(el);\n\n\treturn elWrapper;\n}\n\n/**\n * Найти и вернуть первый видимый элемент\n * @param el - корневой элемент поиска\n * @param selectors - см. параметр selectors в Document.querySelectorAll()\n */\nexport function querySelectorVisible(el: HTMLElement, selectors: string): HTMLElement | null {\n\treturn querySelectorAllArray(el, selectors).find(isVisible) || null;\n}\n\n/**\n * Найти и вернуть последний видимый элемент\n * @param el - корневой элемент поиска\n * @param selectors - см. параметр selectors в Document.querySelectorAll()\n */\nexport function querySelectorVisibleLast(el: HTMLElement, selectors: string): HTMLElement | null {\n\treturn querySelectorAllArray(el, selectors).findLast(isVisible) || null;\n}\n\n/**\n * Найти видимые элементы\n * @param el - корневой элемент поиска\n * @param selectors - см. параметр selectors в Document.querySelectorAll()\n */\nexport function querySelectorAllVisible(el: HTMLElement | Document, selectors: string): HTMLElement[] {\n\treturn querySelectorAllArray(el, selectors).filter(isVisible);\n}\n\n/**\n * Найти элементы и вернуть в виде массива\n * @param el - корневой элемент поиска\n * @param selectors - см. параметр selectors в Document.querySelectorAll()\n */\nexport function querySelectorAllArray(el: HTMLElement | Document, selectors: string): HTMLElement[] {\n\tif (!el) {\n\t\treturn [];\n\t}\n\n\treturn [...el.querySelectorAll(selectors)] as HTMLElement[];\n}\n\n/**\n * Хранилище данных элемента\n * @param el\n * @param contextName - контекст, обычно используется имя компонента\n * @param contextData - установить объект с данными, предыдущие данные будут заменены, установите null для удаления данных\n * @returns - вернет объект контекста или undefined, если данные контекста не найдены\n */\nexport function storage(\n\tel?: HTMLElement & { topData?: any },\n\tcontextName: string = 'common',\n\tcontextData: object | null | undefined = undefined,\n): any | undefined {\n\tif (!el) {\n\t\treturn;\n\t}\n\n\tif (!el.topData) {\n\t\tel.topData = {};\n\t}\n\n\tif (contextData) {\n\t\tel.topData[contextName] = contextData;\n\t}\n\n\tif (contextData === null) {\n\t\tdelete el.topData[contextName];\n\t}\n\n\treturn el.topData[contextName];\n}\n\n/**\n * Очистить хранилище элемента\n */\nexport function storageClear(el?: HTMLElement & { topData?: any }): void {\n\tif (!el) {\n\t\treturn;\n\t}\n\n\tdelete el.topData;\n}\n\nexport default {\n\tgenEl,\n\tisVisible,\n\toffset,\n\tcss,\n\twrap,\n\tquerySelectorVisible,\n\tquerySelectorVisibleLast,\n\tquerySelectorAllVisible,\n\tquerySelectorAllArray,\n\tstorage,\n\tstorageClear,\n};\n"],"names":["name","attrs","elsChildrens","elChildren","el","boundingClientRect","css","property","wrap","tagName","elWrapper","querySelectorVisible","selectors","querySelectorAllArray","isVisible","querySelectorVisibleLast","querySelectorAllVisible","contextName","contextData","DOM","genEl","offset","storage"],"mappings":"gJAeC,UAAAA,KAAAC,uDASA,OAAAC,EAAA,QAAAC,GAAA,CACC,OAAAA,GAAA,SACCC,EAAA,mBAAA,YAAAD,CAAA,EAEAC,EAAA,OAAAD,CAAA,CACD,CAAA,EAGDC,CACD,qBASE,MAAA,GAGD,MAAAC,EAAAD,EAAA,sBAAA,6BAED,eAQC,MAAAC,EAAAD,EAAA,sBAAA,EAEA,MAAA,0BACsC,KAAAC,EAAA,KAAA,OAAA,QAGvC,CAQgB,SAAAC,EAAAF,EAAAG,EAAA,sDAEhB,CAOgB,SAAAC,EAAAJ,EAAAK,EAAA,mCAEf,OAAAL,EAAA,MAAAM,CAAA,EAEAA,EAAA,OAAAN,CAAA,EAEAM,CACD,CAOgB,SAAAC,EAAAP,EAAAQ,EAAA,CACf,OAAAC,EAAAT,EAAAQ,CAAA,EAAA,KAAAE,CAAA,GAAA,IACD,CAOgB,SAAAC,EAAAX,EAAAQ,EAAA,CACf,OAAAC,EAAAT,EAAAQ,CAAA,EAAA,SAAAE,CAAA,GAAA,IACD,CAOgB,SAAAE,EAAAZ,EAAAQ,EAAA,wBAEhB,CAOgB,SAAAC,EAAAT,EAAAQ,EAAA,qCAEd,CAAA,CAIF,wCAkBC,OAAAR,EAAA,UACCA,EAAA,QAAA,CAAA,OAIAA,EAAA,QAAAa,CAAA,EAAAC,GAGDA,IAAA,MACC,OAAAd,EAAA,QAAAa,CAAA,EAGDb,EAAA,QAAAa,CAAA,CACD,kCAWA,CAEA,MAAAE,EAAA,CAAe,MAAAC,EACd,UAAAN,EACA,OAAAO,EACA,IAAAf,EACA,KAAAE,EACA,qBAAAG,EACA,yBAAAI,EACA,wBAAAC,EACA,sBAAAH,EACA,QAAAS"}
1
+ {"version":3,"file":"dom.amd.js","sources":["../../src/core/utils/dom.ts"],"sourcesContent":["/**\n * Работа с Document Object Model (DOM)\n * @packageDocumentation\n */\n\n/**\n * Создать элемент\n * @param tagName\n * @param attrs - атрибуты\n * @param elsChildrens\n * @returns - созданный элемент\n */\nexport function genEl(tagName: string, attrs?: Record<string, string>, ...elsChildrens: HTMLElement[] | string[]): HTMLElement {\n\tconst el: any = document.createElement(tagName);\n\n\tfor (const name in attrs) {\n\t\tif (name.indexOf('on') === 0) {\n\t\t\t// events\n\t\t\tel[name] = attrs[name];\n\t\t} else {\n\t\t\tel.setAttribute(name, attrs[name]);\n\t\t}\n\t}\n\n\telsChildrens.forEach((elChildren: HTMLElement | string) => {\n\t\tif (typeof (elChildren) === 'string') {\n\t\t\tel.insertAdjacentHTML('beforeend', elChildren);\n\t\t} else {\n\t\t\tel.append(elChildren);\n\t\t}\n\t});\n\n\treturn el;\n}\n\n/**\n * Проверить видимость элемента\n * @param el\n * @returns - вернет true, если элемент считается видимым\n */\nexport function isVisible(el?: HTMLElement): boolean {\n\tif (!el) {\n\t\treturn false;\n\t}\n\n\tconst boundingClientRect = el.getBoundingClientRect();\n\treturn !!(boundingClientRect.width || boundingClientRect.height);\n}\n\n/**\n * Проверить видимость элемента (полифил для Element.checkVisibility())\n * @param el\n * @returns - вернет true, если элемент считается видимым\n */\nexport const checkVisibilityPolyfill = (el: Element | null | undefined) => {\n\tif (!(el instanceof HTMLElement)) return false;\n\n\tif (typeof el.checkVisibility === 'function') {\n\t\tel.checkVisibility();\n\t} else {\n\t\t// Проверка на видимость\n\t\tconst style = window.getComputedStyle(el);\n\t\tif (style.display === 'none' || style.visibility === 'hidden' || style.opacity === '0') return false;\n\n\t\t// Проверка, находится ли элемент в пределах документа\n\t\tif (!document.body.contains(el)) return false;\n\n\t\t// Проверка размеров\n\t\tconst rect = el.getBoundingClientRect();\n\t\tif (rect.width === 0 || rect.height === 0) return false;\n\n\t\treturn true;\n\t}\n}\n\n/**\n * Получить координаты элемента относительно документа\n * @param el\n * @returns - координаты элемента относительно документа\n */\nexport function offset(el: HTMLElement): { top: number, left: number } {\n\tconst boundingClientRect = el.getBoundingClientRect();\n\n\treturn {\n\t\ttop: boundingClientRect.top + window.scrollY,\n\t\tleft: boundingClientRect.left + window.scrollX,\n\t};\n}\n\n/**\n * Получить значение css свойства элемента\n *\n * @param el\n * @param property - имя свойства\n * @return - значение css стиля\n */\nexport function css(el: HTMLElement, property: string): string {\n\treturn window.getComputedStyle(el).getPropertyValue(property);\n}\n\n/**\n * Получить значение css свойства целочисленного типа\n *\n * @param el\n * @param property - имя свойства\n * @return - значение css стиля\n */\nexport function cssNumber(el: HTMLElement, property: string): number {\n\treturn parseInt(css(el, property));\n}\n\n/**\n * Обернуть элемент и вернуть только что созданный элемент\n * @param el - элемент, который требуется обернуть\n * @param tagName - имя тега элемента, в который треубется обернуть элемент\n */\nexport function wrap(el: HTMLElement, tagName: string): HTMLElement {\n\tconst elWrapper = document.createElement(tagName);\n\tel.after(elWrapper);\n\n\telWrapper.append(el);\n\n\treturn elWrapper;\n}\n\n/**\n * Найти и вернуть первый видимый элемент\n * @param el - корневой элемент поиска\n * @param selectors - см. параметр selectors в Document.querySelectorAll()\n */\nexport function querySelectorVisible(el: HTMLElement, selectors: string): HTMLElement | null {\n\treturn querySelectorAllArray(el, selectors).find(isVisible) || null;\n}\n\n/**\n * Найти и вернуть последний видимый элемент\n * @param el - корневой элемент поиска\n * @param selectors - см. параметр selectors в Document.querySelectorAll()\n */\nexport function querySelectorVisibleLast(el: HTMLElement, selectors: string): HTMLElement | null {\n\treturn querySelectorAllArray(el, selectors).findLast(isVisible) || null;\n}\n\n/**\n * Найти видимые элементы\n * @param el - корневой элемент поиска\n * @param selectors - см. параметр selectors в Document.querySelectorAll()\n */\nexport function querySelectorAllVisible(el: HTMLElement | Document, selectors: string): HTMLElement[] {\n\treturn querySelectorAllArray(el, selectors).filter(isVisible);\n}\n\n/**\n * Найти элементы и вернуть в виде массива\n * @param el - корневой элемент поиска\n * @param selectors - см. параметр selectors в Document.querySelectorAll()\n */\nexport function querySelectorAllArray<El extends HTMLElement = HTMLElement>(el: HTMLElement | Document, selectors: string) {\n\tif (!el) {\n\t\treturn [];\n\t}\n\n\treturn [...el.querySelectorAll<El>(selectors)];\n}\n\n/**\n * Хранилище данных элемента\n * @param el\n * @param contextName - контекст, обычно используется имя компонента\n * @param contextData - установить объект с данными, предыдущие данные будут заменены, установите null для удаления данных\n * @returns - вернет объект контекста или undefined, если данные контекста не найдены\n */\nexport function storage(\n\tel?: HTMLElement & { topData?: any },\n\tcontextName: string = 'common',\n\tcontextData: object | null | undefined = undefined,\n): any | undefined {\n\tif (!el) {\n\t\treturn;\n\t}\n\n\tif (!el.topData) {\n\t\tel.topData = {};\n\t}\n\n\tif (contextData) {\n\t\tel.topData[contextName] = contextData;\n\t}\n\n\tif (contextData === null) {\n\t\tdelete el.topData[contextName];\n\t}\n\n\treturn el.topData[contextName];\n}\n\n/**\n * Очистить хранилище элемента\n */\nexport function storageClear(el?: HTMLElement & { topData?: any }): void {\n\tif (!el) {\n\t\treturn;\n\t}\n\n\tdelete el.topData;\n}\n\nexport default {\n\tgenEl,\n\tisVisible,\n\toffset,\n\tcss,\n\tcssNumber,\n\twrap,\n\tquerySelectorVisible,\n\tquerySelectorVisibleLast,\n\tquerySelectorAllVisible,\n\tquerySelectorAllArray,\n\tstorage,\n\tstorageClear,\n};\n"],"names":["name","attrs","elsChildrens","elChildren","el","boundingClientRect","checkVisibilityPolyfill","rect","css","property","cssNumber","wrap","tagName","elWrapper","querySelectorVisible","selectors","querySelectorAllArray","isVisible","querySelectorVisibleLast","querySelectorAllVisible","contextName","contextData","DOM","genEl","offset","storage"],"mappings":"gJAeC,UAAAA,KAAAC,uDASA,OAAAC,EAAA,QAAAC,GAAA,CACC,OAAAA,GAAA,SACCC,EAAA,mBAAA,YAAAD,CAAA,EAEAC,EAAA,OAAAD,CAAA,CACD,CAAA,EAGDC,CACD,qBASE,MAAA,GAGD,MAAAC,EAAAD,EAAA,sBAAA,6BAED,CAOa,MAAAE,EAAAF,GAAA,yCAGZ,GAAA,OAAAA,EAAA,iBAAA,mCACoB,oCAOnB,iEAAA,CAAA,SAAA,KAAA,SAAAA,CAAA,EAAA,MAAA,GAGA,MAAAG,EAAAH,EAAA,sBAAA,EACA,MAAA,EAAAG,EAAA,QAAA,GAAAA,EAAA,SAAA,EAEO,CAET,gBAQC,MAAAF,EAAAD,EAAA,sBAAA,EAEA,MAAA,0BACsC,KAAAC,EAAA,KAAA,OAAA,QAGvC,CASgB,SAAAG,EAAAJ,EAAAK,EAAA,sDAEhB,CASgB,SAAAC,EAAAN,EAAAK,EAAA,wBAEhB,CAOgB,SAAAE,EAAAP,EAAAQ,EAAA,mCAEf,OAAAR,EAAA,MAAAS,CAAA,EAEAA,EAAA,OAAAT,CAAA,EAEAS,CACD,CAOgB,SAAAC,EAAAV,EAAAW,EAAA,CACf,OAAAC,EAAAZ,EAAAW,CAAA,EAAA,KAAAE,CAAA,GAAA,IACD,CAOgB,SAAAC,EAAAd,EAAAW,EAAA,CACf,OAAAC,EAAAZ,EAAAW,CAAA,EAAA,SAAAE,CAAA,GAAA,IACD,CAOgB,SAAAE,EAAAf,EAAAW,EAAA,wBAEhB,CAOgB,SAAAC,EAAAZ,EAAAW,EAAA,qCAEd,CAAA,CAIF,wCAkBC,OAAAX,EAAA,UACCA,EAAA,QAAA,CAAA,OAIAA,EAAA,QAAAgB,CAAA,EAAAC,GAGDA,IAAA,MACC,OAAAjB,EAAA,QAAAgB,CAAA,EAGDhB,EAAA,QAAAgB,CAAA,CACD,kCAWA,CAEA,MAAAE,EAAA,CAAe,MAAAC,EACd,UAAAN,EACA,OAAAO,EACA,IAAAhB,EACA,UAAAE,EACA,KAAAC,EACA,qBAAAG,EACA,yBAAAI,EACA,wBAAAC,EACA,sBAAAH,EACA,QAAAS"}
package/utils/dom.js CHANGED
@@ -1,17 +1,28 @@
1
1
  function f(t, e, ...n) {
2
- const o = document.createElement(t);
3
- for (const r in e)
4
- r.indexOf("on") === 0 ? o[r] = e[r] : o.setAttribute(r, e[r]);
5
- return n.forEach((r) => {
6
- typeof r == "string" ? o.insertAdjacentHTML("beforeend", r) : o.append(r);
7
- }), o;
2
+ const r = document.createElement(t);
3
+ for (const i in e)
4
+ i.indexOf("on") === 0 ? r[i] = e[i] : r.setAttribute(i, e[i]);
5
+ return n.forEach((i) => {
6
+ typeof i == "string" ? r.insertAdjacentHTML("beforeend", i) : r.append(i);
7
+ }), r;
8
8
  }
9
- function i(t) {
9
+ function o(t) {
10
10
  if (!t)
11
11
  return !1;
12
12
  const e = t.getBoundingClientRect();
13
13
  return !!(e.width || e.height);
14
14
  }
15
+ const w = (t) => {
16
+ if (!(t instanceof HTMLElement)) return !1;
17
+ if (typeof t.checkVisibility == "function")
18
+ t.checkVisibility();
19
+ else {
20
+ const e = window.getComputedStyle(t);
21
+ if (e.display === "none" || e.visibility === "hidden" || e.opacity === "0" || !document.body.contains(t)) return !1;
22
+ const n = t.getBoundingClientRect();
23
+ return !(n.width === 0 || n.height === 0);
24
+ }
25
+ };
15
26
  function l(t) {
16
27
  const e = t.getBoundingClientRect();
17
28
  return {
@@ -23,17 +34,20 @@ function c(t, e) {
23
34
  return window.getComputedStyle(t).getPropertyValue(e);
24
35
  }
25
36
  function s(t, e) {
26
- const n = document.createElement(e);
27
- return t.after(n), n.append(t), n;
37
+ return parseInt(c(t, e));
28
38
  }
29
39
  function a(t, e) {
30
- return u(t, e).find(i) || null;
40
+ const n = document.createElement(e);
41
+ return t.after(n), n.append(t), n;
31
42
  }
32
43
  function d(t, e) {
33
- return u(t, e).findLast(i) || null;
44
+ return u(t, e).find(o) || null;
34
45
  }
35
46
  function p(t, e) {
36
- return u(t, e).filter(i);
47
+ return u(t, e).findLast(o) || null;
48
+ }
49
+ function y(t, e) {
50
+ return u(t, e).filter(o);
37
51
  }
38
52
  function u(t, e) {
39
53
  return t ? [...t.querySelectorAll(e)] : [];
@@ -42,34 +56,37 @@ function g(t, e = "common", n = void 0) {
42
56
  if (t)
43
57
  return t.topData || (t.topData = {}), n && (t.topData[e] = n), n === null && delete t.topData[e], t.topData[e];
44
58
  }
45
- function y(t) {
59
+ function b(t) {
46
60
  t && delete t.topData;
47
61
  }
48
- const b = {
62
+ const m = {
49
63
  genEl: f,
50
- isVisible: i,
64
+ isVisible: o,
51
65
  offset: l,
52
66
  css: c,
53
- wrap: s,
54
- querySelectorVisible: a,
55
- querySelectorVisibleLast: d,
56
- querySelectorAllVisible: p,
67
+ cssNumber: s,
68
+ wrap: a,
69
+ querySelectorVisible: d,
70
+ querySelectorVisibleLast: p,
71
+ querySelectorAllVisible: y,
57
72
  querySelectorAllArray: u,
58
73
  storage: g,
59
- storageClear: y
74
+ storageClear: b
60
75
  };
61
76
  export {
77
+ w as checkVisibilityPolyfill,
62
78
  c as css,
63
- b as default,
79
+ s as cssNumber,
80
+ m as default,
64
81
  f as genEl,
65
- i as isVisible,
82
+ o as isVisible,
66
83
  l as offset,
67
84
  u as querySelectorAllArray,
68
- p as querySelectorAllVisible,
69
- a as querySelectorVisible,
70
- d as querySelectorVisibleLast,
85
+ y as querySelectorAllVisible,
86
+ d as querySelectorVisible,
87
+ p as querySelectorVisibleLast,
71
88
  g as storage,
72
- y as storageClear,
73
- s as wrap
89
+ b as storageClear,
90
+ a as wrap
74
91
  };
75
92
  //# sourceMappingURL=dom.js.map