@topvisor/ui 1.3.5-popupFromInput.0 → 1.4.0-TopGroupSelector.3

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 (219) hide show
  1. package/.chunks/core-B9TwJi3h.amd.js +2 -0
  2. package/.chunks/core-B9TwJi3h.amd.js.map +1 -0
  3. package/.chunks/core-DVQVVUiP.es.js +196 -0
  4. package/.chunks/core-DVQVVUiP.es.js.map +1 -0
  5. package/.chunks/{datepicker-CGGp0VnN.es.js → datepicker-CrASsJeF.es.js} +14 -17
  6. package/.chunks/{datepicker-CGGp0VnN.es.js.map → datepicker-CrASsJeF.es.js.map} +1 -1
  7. package/.chunks/{datepicker-Bq_z2paN.amd.js → datepicker-bidhcksv.amd.js} +2 -2
  8. package/.chunks/{datepicker-Bq_z2paN.amd.js.map → datepicker-bidhcksv.amd.js.map} +1 -1
  9. package/.chunks/dialog_regionSelectorRegions-DJu5Y1WK.es.js +180 -0
  10. package/.chunks/dialog_regionSelectorRegions-DJu5Y1WK.es.js.map +1 -0
  11. package/.chunks/dialog_regionSelectorRegions-Dc-YGZ0l.amd.js +2 -0
  12. package/.chunks/dialog_regionSelectorRegions-Dc-YGZ0l.amd.js.map +1 -0
  13. package/.chunks/dialogs.vue_vue_type_script_setup_true_lang--Xstly2G.amd.js +2 -0
  14. package/.chunks/{dialogs.vue_vue_type_script_setup_true_lang-Bf0wXalT.amd.js.map → dialogs.vue_vue_type_script_setup_true_lang--Xstly2G.amd.js.map} +1 -1
  15. package/.chunks/{dialogs.vue_vue_type_script_setup_true_lang-DCVIoEeY.es.js → dialogs.vue_vue_type_script_setup_true_lang-BP6GFkkz.es.js} +111 -112
  16. package/.chunks/{dialogs.vue_vue_type_script_setup_true_lang-DCVIoEeY.es.js.map → dialogs.vue_vue_type_script_setup_true_lang-BP6GFkkz.es.js.map} +1 -1
  17. package/.chunks/forms--2-YQeWM.amd.js +3 -0
  18. package/.chunks/{forms-CNcrvkYD.amd.js.map → forms--2-YQeWM.amd.js.map} +1 -1
  19. package/.chunks/forms-Cwv0JCi5.es.js +2035 -0
  20. package/.chunks/{forms-BhbgRJ5I.es.js.map → forms-Cwv0JCi5.es.js.map} +1 -1
  21. package/.chunks/index-DLUtoTUg.amd.js +2 -0
  22. package/.chunks/index-DLUtoTUg.amd.js.map +1 -0
  23. package/.chunks/index-DkQWJkMc.es.js +54 -0
  24. package/.chunks/index-DkQWJkMc.es.js.map +1 -0
  25. package/.chunks/notice-BCHrf2v6.es.js +191 -0
  26. package/.chunks/{notice-CpPhDTUb.es.js.map → notice-BCHrf2v6.es.js.map} +1 -1
  27. package/.chunks/notice-D1KO_E3H.amd.js +4 -0
  28. package/.chunks/{notice-BpLsm6Zh.amd.js.map → notice-D1KO_E3H.amd.js.map} +1 -1
  29. package/.chunks/page.vue_vue_type_script_setup_true_lang-DNs0udwC.amd.js +2 -0
  30. package/.chunks/{page.vue_vue_type_script_setup_true_lang-B-1LEQAz.amd.js.map → page.vue_vue_type_script_setup_true_lang-DNs0udwC.amd.js.map} +1 -1
  31. package/.chunks/page.vue_vue_type_script_setup_true_lang-D_ocBGzt.es.js +139 -0
  32. package/.chunks/{page.vue_vue_type_script_setup_true_lang-9abPBMpd.es.js.map → page.vue_vue_type_script_setup_true_lang-D_ocBGzt.es.js.map} +1 -1
  33. package/.chunks/policy.vue_vue_type_style_index_0_lang-B61ZEDWr.es.js +494 -0
  34. package/.chunks/policy.vue_vue_type_style_index_0_lang-B61ZEDWr.es.js.map +1 -0
  35. package/.chunks/policy.vue_vue_type_style_index_0_lang-BUIBGweg.amd.js +2 -0
  36. package/.chunks/policy.vue_vue_type_style_index_0_lang-BUIBGweg.amd.js.map +1 -0
  37. package/.chunks/popup-DJMBWRtl.es.js +468 -0
  38. package/.chunks/popup-DJMBWRtl.es.js.map +1 -0
  39. package/.chunks/popup-c8qgGOCv.amd.js +2 -0
  40. package/.chunks/popup-c8qgGOCv.amd.js.map +1 -0
  41. package/.chunks/popupHint.vue_vue_type_style_index_0_lang-Bp_-W068.es.js +209 -0
  42. package/.chunks/popupHint.vue_vue_type_style_index_0_lang-Bp_-W068.es.js.map +1 -0
  43. package/.chunks/popupHint.vue_vue_type_style_index_0_lang-D42xEF-j.amd.js +2 -0
  44. package/.chunks/popupHint.vue_vue_type_style_index_0_lang-D42xEF-j.amd.js.map +1 -0
  45. package/.chunks/{utils-D58EUoHa.es.js → utils-Bu-TI6uw.es.js} +192 -208
  46. package/.chunks/{utils-D58EUoHa.es.js.map → utils-Bu-TI6uw.es.js.map} +1 -1
  47. package/.chunks/utils-C6nWu0aQ.amd.js +2 -0
  48. package/.chunks/{utils-5uxIj2CI.amd.js.map → utils-C6nWu0aQ.amd.js.map} +1 -1
  49. package/.chunks/utils-DHyy_M2n.amd.js +2 -0
  50. package/.chunks/{utils-Bg_su8b-.amd.js.map → utils-DHyy_M2n.amd.js.map} +1 -1
  51. package/.chunks/{utils-UBgfsQ8v.es.js → utils-cls72V1c.es.js} +23 -24
  52. package/.chunks/{utils-UBgfsQ8v.es.js.map → utils-cls72V1c.es.js.map} +1 -1
  53. package/.chunks/{widgetInput.vue_vue_type_script_setup_true_lang-D6SVtg2Q.amd.js → widgetInput.vue_vue_type_script_setup_true_lang-B3soLr2U.amd.js} +2 -2
  54. package/.chunks/{widgetInput.vue_vue_type_script_setup_true_lang-D6SVtg2Q.amd.js.map → widgetInput.vue_vue_type_script_setup_true_lang-B3soLr2U.amd.js.map} +1 -1
  55. package/.chunks/{widgetInput.vue_vue_type_script_setup_true_lang-CSD2uMSW.es.js → widgetInput.vue_vue_type_script_setup_true_lang-HbtV9agA.es.js} +2 -2
  56. package/.chunks/{widgetInput.vue_vue_type_script_setup_true_lang-CSD2uMSW.es.js.map → widgetInput.vue_vue_type_script_setup_true_lang-HbtV9agA.es.js.map} +1 -1
  57. package/api/index.amd.js +1 -1
  58. package/api/index.amd.js.map +1 -1
  59. package/api/index.js +137 -134
  60. package/api/index.js.map +1 -1
  61. package/assets/dialog_regionSelectorRegions.css +1 -0
  62. package/assets/forms.css +1 -1
  63. package/assets/policy.css +1 -0
  64. package/assets/popupHint.css +1 -1
  65. package/assets/project.css +1 -1
  66. package/charts/charts.amd.js +1 -1
  67. package/charts/charts.amd.js.map +1 -1
  68. package/charts/charts.js +80 -80
  69. package/charts/charts.js.map +1 -1
  70. package/core/app.amd.js +1 -1
  71. package/core/app.amd.js.map +1 -1
  72. package/core/app.js +93 -96
  73. package/core/app.js.map +1 -1
  74. package/dialog/dialog.amd.js +1 -1
  75. package/dialog/dialog.amd.js.map +1 -1
  76. package/dialog/dialog.js +13 -13
  77. package/dialog/dialog.js.map +1 -1
  78. package/extra/extra.amd.js +1 -1
  79. package/extra/extra.amd.js.map +1 -1
  80. package/extra/extra.js +20 -23
  81. package/extra/extra.js.map +1 -1
  82. package/forms/forms.amd.js +1 -1
  83. package/forms/forms.js +5 -5
  84. package/formsExt/formsExt.amd.js +1 -1
  85. package/formsExt/formsExt.amd.js.map +1 -1
  86. package/formsExt/formsExt.js +185 -534
  87. package/formsExt/formsExt.js.map +1 -1
  88. package/layout/layout.amd.js +1 -1
  89. package/layout/layout.js +6 -6
  90. package/package.json +2 -2
  91. package/popup/popup.amd.js +1 -1
  92. package/popup/popup.amd.js.map +1 -1
  93. package/popup/popup.js +43 -46
  94. package/popup/popup.js.map +1 -1
  95. package/popup/worker.amd.js +1 -1
  96. package/popup/worker.amd.js.map +1 -1
  97. package/popup/worker.js +3 -3
  98. package/popup/worker.js.map +1 -1
  99. package/project/project.amd.js +1 -1
  100. package/project/project.amd.js.map +1 -1
  101. package/project/project.js +869 -607
  102. package/project/project.js.map +1 -1
  103. package/src/api/api/client/client.d.ts +5 -0
  104. package/src/api/api/mocker/index.d.ts +3 -3
  105. package/src/api/api/types/client/request.d.ts +6 -0
  106. package/src/api/api/types/ext.d.ts +2 -2
  107. package/src/api/api/types/mocker.d.ts +2 -2
  108. package/src/components/forms/button/types.d.ts +6 -0
  109. package/src/components/formsExt/formsExt.d.ts +1 -0
  110. package/src/components/formsExt/libs/optionGroup/types.d.ts +1 -1
  111. package/src/components/formsExt/selector2/cache.d.ts +12 -0
  112. package/src/components/formsExt/selector2/composables/useAPI.d.ts +2036 -2
  113. package/src/components/formsExt/selector2/composables/useMenu.d.ts +2045 -5
  114. package/src/components/formsExt/selector2/itemMulti.vue.d.ts +3 -3
  115. package/src/components/formsExt/selector2/selector2.vue.d.ts +11 -3
  116. package/src/components/formsExt/selector2/types.d.ts +39 -5
  117. package/src/components/formsExt/selector2/utils.d.ts +17 -0
  118. package/src/components/popup/lib/popup.d.ts +0 -1
  119. package/src/components/popup/popup/opener/types.d.ts +6 -2
  120. package/src/components/popup/popup/types.d.ts +3 -2
  121. package/src/components/popup/popup.d.ts +1 -1
  122. package/src/components/project/groupSelector/folders/folders.vue.d.ts +18 -0
  123. package/src/components/project/groupSelector/folders/types.d.ts +63 -0
  124. package/src/components/project/groupSelector/folders/utils.d.ts +63 -0
  125. package/src/components/project/groupSelector/groupSelector.vue.d.ts +28 -0
  126. package/src/components/project/groupSelector/groups/groups.vue.d.ts +125 -0
  127. package/src/components/project/groupSelector/groups/types.d.ts +57 -0
  128. package/src/components/project/groupSelector/groups/utils.d.ts +92 -0
  129. package/src/components/project/groupSelector/stories/mocks/folders.d.ts +4 -0
  130. package/src/components/project/groupSelector/stories/mocks/groups.d.ts +2 -0
  131. package/src/components/project/groupSelector/stories/mocks/index.d.ts +7 -0
  132. package/src/components/project/groupSelector/types.d.ts +129 -0
  133. package/src/components/project/project.d.ts +15 -4
  134. package/src/components/project/{selectorRegion → regionSelector}/utils/utils.d.ts +3 -3
  135. package/src/core/utils/composables/useWatch.d.ts +32 -0
  136. package/tabs/tabs.amd.js +1 -1
  137. package/tabs/tabs.amd.js.map +1 -1
  138. package/tabs/tabs.js +24 -24
  139. package/tabs/tabs.js.map +1 -1
  140. package/tabsView/tabsView.amd.js +1 -1
  141. package/tabsView/tabsView.amd.js.map +1 -1
  142. package/tabsView/tabsView.js +131 -133
  143. package/tabsView/tabsView.js.map +1 -1
  144. package/utils/clipboard.amd.js +1 -1
  145. package/utils/clipboard.js +1 -1
  146. package/utils/date.amd.js +1 -1
  147. package/utils/date.js +1 -1
  148. package/utils/device.amd.js +1 -1
  149. package/utils/device.js +1 -1
  150. package/utils/lodash.amd.js +1 -1
  151. package/utils/lodash.js +1 -1
  152. package/utils/price.amd.js +1 -1
  153. package/utils/price.js +1 -1
  154. package/utils/scroll.amd.js +1 -1
  155. package/utils/scroll.amd.js.map +1 -1
  156. package/utils/scroll.js +14 -14
  157. package/utils/scroll.js.map +1 -1
  158. package/utils/searchers.amd.js +1 -1
  159. package/utils/searchers.js +3 -3
  160. package/utils/string.amd.js +1 -1
  161. package/utils/string.amd.js.map +1 -1
  162. package/utils/string.js +3 -7
  163. package/utils/string.js.map +1 -1
  164. package/.chunks/core-DcLw0dEO.amd.js +0 -2
  165. package/.chunks/core-DcLw0dEO.amd.js.map +0 -1
  166. package/.chunks/core-DpTLGhiK.es.js +0 -197
  167. package/.chunks/core-DpTLGhiK.es.js.map +0 -1
  168. package/.chunks/dialog_selectorRegions-BtAADQHf.es.js +0 -190
  169. package/.chunks/dialog_selectorRegions-BtAADQHf.es.js.map +0 -1
  170. package/.chunks/dialog_selectorRegions-DCrHvHDs.amd.js +0 -2
  171. package/.chunks/dialog_selectorRegions-DCrHvHDs.amd.js.map +0 -1
  172. package/.chunks/dialogs.vue_vue_type_script_setup_true_lang-Bf0wXalT.amd.js +0 -2
  173. package/.chunks/forms-BhbgRJ5I.es.js +0 -2045
  174. package/.chunks/forms-CNcrvkYD.amd.js +0 -3
  175. package/.chunks/index-BEI7XZmU.amd.js +0 -2
  176. package/.chunks/index-BEI7XZmU.amd.js.map +0 -1
  177. package/.chunks/index-igPkes8X.es.js +0 -48
  178. package/.chunks/index-igPkes8X.es.js.map +0 -1
  179. package/.chunks/listItem.vue_vue_type_script_setup_true_lang-QvP1d9jN.amd.js +0 -2
  180. package/.chunks/listItem.vue_vue_type_script_setup_true_lang-QvP1d9jN.amd.js.map +0 -1
  181. package/.chunks/listItem.vue_vue_type_script_setup_true_lang-xvzbyqai.es.js +0 -196
  182. package/.chunks/listItem.vue_vue_type_script_setup_true_lang-xvzbyqai.es.js.map +0 -1
  183. package/.chunks/menu.vue_vue_type_style_index_0_lang-C3Rr6ZyL.amd.js +0 -2
  184. package/.chunks/menu.vue_vue_type_style_index_0_lang-C3Rr6ZyL.amd.js.map +0 -1
  185. package/.chunks/menu.vue_vue_type_style_index_0_lang-dOeZ7an1.es.js +0 -112
  186. package/.chunks/menu.vue_vue_type_style_index_0_lang-dOeZ7an1.es.js.map +0 -1
  187. package/.chunks/notice-BpLsm6Zh.amd.js +0 -4
  188. package/.chunks/notice-CpPhDTUb.es.js +0 -194
  189. package/.chunks/opener.vue_vue_type_script_setup_true_lang-DRzrTv7Q.es.js +0 -36
  190. package/.chunks/opener.vue_vue_type_script_setup_true_lang-DRzrTv7Q.es.js.map +0 -1
  191. package/.chunks/opener.vue_vue_type_script_setup_true_lang-gNZhYkDf.amd.js +0 -2
  192. package/.chunks/opener.vue_vue_type_script_setup_true_lang-gNZhYkDf.amd.js.map +0 -1
  193. package/.chunks/page.vue_vue_type_script_setup_true_lang-9abPBMpd.es.js +0 -143
  194. package/.chunks/page.vue_vue_type_script_setup_true_lang-B-1LEQAz.amd.js +0 -2
  195. package/.chunks/popup-BJj9BJP5.es.js +0 -485
  196. package/.chunks/popup-BJj9BJP5.es.js.map +0 -1
  197. package/.chunks/popup-CfXISjhC.amd.js +0 -2
  198. package/.chunks/popup-CfXISjhC.amd.js.map +0 -1
  199. package/.chunks/popupHint.vue_vue_type_style_index_0_lang-Cce9ZdtW.amd.js +0 -2
  200. package/.chunks/popupHint.vue_vue_type_style_index_0_lang-Cce9ZdtW.amd.js.map +0 -1
  201. package/.chunks/utils-5uxIj2CI.amd.js +0 -2
  202. package/.chunks/utils-Bg_su8b-.amd.js +0 -2
  203. package/assets/dialog_selectorRegions.css +0 -1
  204. package/assets/formsExt.css +0 -1
  205. package/assets/listItem.css +0 -1
  206. package/assets/menu.css +0 -1
  207. package/src/components/popup/popup/opener.vue.d.ts +0 -16
  208. /package/src/components/project/{selectorCompetitors/selectorCompetitors.vue.d.ts → competitorSelector/competitorSelector.vue.d.ts} +0 -0
  209. /package/src/components/project/{selectorCompetitors → competitorSelector}/composables.d.ts +0 -0
  210. /package/src/components/project/{selectorCompetitors → competitorSelector}/types.d.ts +0 -0
  211. /package/src/components/project/{selectorRegion → regionSelector}/composables/compare.d.ts +0 -0
  212. /package/src/components/project/{selectorRegion → regionSelector}/composables/selectRegion.d.ts +0 -0
  213. /package/src/components/project/{selectorRegion → regionSelector}/composables/selectSearcher.d.ts +0 -0
  214. /package/src/components/project/{selectorRegion → regionSelector}/composables/selectorRegion.d.ts +0 -0
  215. /package/src/components/project/{selectorRegion/dialog_selectorRegions/dialog_selectorRegions.vue.d.ts → regionSelector/dialog_regionSelectorRegions/dialog_regionSelectorRegions.vue.d.ts} +0 -0
  216. /package/src/components/project/{selectorRegion/dialog_selectorRegions → regionSelector/dialog_regionSelectorRegions}/types.d.ts +0 -0
  217. /package/src/components/project/{selectorRegion/selectorRegion.vue.d.ts → regionSelector/regionSelector.vue.d.ts} +0 -0
  218. /package/src/components/project/{selectorRegion → regionSelector}/types.d.ts +0 -0
  219. /package/src/components/project/{selectorRegion → regionSelector}/utils/consts.d.ts +0 -0
@@ -1,3 +0,0 @@
1
- define(["require","exports","vue"],(function(z,u,r){"use strict";if(typeof r>"u")var r=window.Vue;function Ee(){return"devicePixelRatio"in window&&window.devicePixelRatio>1}function Be(){return!!navigator.userAgent.match(/Android|BlackBerry|iPhone|iPad|iPod|IEMobile|Opera Mini/i)}function Ce(){return navigator.userAgent.indexOf("Topvisor_App")!=-1}function Oe(){return navigator.userAgent.indexOf("Mac OS X")!==-1}function Pt(){const e=/Chrome|Android/.test(navigator.userAgent);let t=/Safari/.test(navigator.userAgent);return e&&t&&(t=!1),t}function At(){return Oe()?"⌘":"Ctrl"}const Dt=()=>$(document).scrollTop(),Mt=()=>$(document),Nt=()=>[document],ke=()=>{const e=[["iOS",/(iPhone|iPad)/i],["Android",/(Android)/i],["Windows Phone",/(IEMobile)/i],["Windows 3.11",/Win16/i],["Windows 95",/(Windows 95)|(Win95)|(Windows_95)/i],["Windows 98",/(Windows 98)|(Win98)/i],["Windows 2000",/(Windows NT 5.0)|(Windows 2000)/i],["Windows XP",/(Windows NT 5.1)|(Windows XP)/i],["Windows Server 2003",/(Windows NT 5.2)/i],["Windows Vista",/(Windows NT 6.0)/i],["Windows 7",/(Windows NT 6.1)/i],["Windows 8",/(Windows NT 6.[23])|(Windows 8)/i],["Windows 10",/(Windows NT 10)/i],["Windows NT 4.0",/(Windows NT 4.0)|(WinNT4.0)|(WinNT)|(Windows NT)/i],["Windows ME",/Windows ME/i],["Windows",/Windows/i],["Open BSD",/OpenBSD/i],["Sun OS",/SunOS/i],["Linux",/(Linux)|(X11)/i],["Macintosh",/(Mac_PowerPC)|(Macintosh)|(Mac OS X 10.4)|(Mac OS X 10.5)|(Mac OS X 10.6)/i],["QNX",/QNX/i],["BeOS",/BeOS/i],["OS/2",/OS\/2/i]];let t="";for(let n=0;n<e.length;n++)if(e[n][1].test(navigator.userAgent)){t=e[n][0];break}return t},Vt=async()=>{var t;let e=ke();if(e==="Windows 10"){const n=await((t=navigator==null?void 0:navigator.userAgentData)==null?void 0:t.getHighEntropyValues(["platformVersion"]));n&&n.platformVersion>="13"&&(e="Windows 11")}return e};function T(e){var t=typeof e;return e!=null&&(t=="object"||t=="function")}var je=typeof global=="object"&&global&&global.Object===Object&&global,It=typeof self=="object"&&self&&self.Object===Object&&self,S=je||It||Function("return this")(),ne=function(){return S.Date.now()},Lt=/\s/;function zt(e){for(var t=e.length;t--&&Lt.test(e.charAt(t)););return t}var Wt=/^\s+/;function Ft(e){return e&&e.slice(0,zt(e)+1).replace(Wt,"")}var V=S.Symbol,Pe=Object.prototype,Rt=Pe.hasOwnProperty,Ut=Pe.toString,W=V?V.toStringTag:void 0;function Ht(e){var t=Rt.call(e,W),n=e[W];try{e[W]=void 0;var a=!0}catch{}var i=Ut.call(e);return a&&(t?e[W]=n:delete e[W]),i}var Gt=Object.prototype,Kt=Gt.toString;function Xt(e){return Kt.call(e)}var Yt="[object Null]",qt="[object Undefined]",Ae=V?V.toStringTag:void 0;function P(e){return e==null?e===void 0?qt:Yt:Ae&&Ae in Object(e)?Ht(e):Xt(e)}function C(e){return e!=null&&typeof e=="object"}var Qt="[object Symbol]";function Jt(e){return typeof e=="symbol"||C(e)&&P(e)==Qt}var De=NaN,Zt=/^[-+]0x[0-9a-f]+$/i,xt=/^0b[01]+$/i,en=/^0o[0-7]+$/i,tn=parseInt;function Me(e){if(typeof e=="number")return e;if(Jt(e))return De;if(T(e)){var t=typeof e.valueOf=="function"?e.valueOf():e;e=T(t)?t+"":t}if(typeof e!="string")return e===0?e:+e;e=Ft(e);var n=xt.test(e);return n||en.test(e)?tn(e.slice(2),n?2:8):Zt.test(e)?De:+e}var nn="Expected a function",rn=Math.max,on=Math.min;function re(e,t,n){var a,i,o,l,s,c,d=0,f=!1,p=!1,m=!0;if(typeof e!="function")throw new TypeError(nn);t=Me(t)||0,T(n)&&(f=!!n.leading,p="maxWait"in n,o=p?rn(Me(n.maxWait)||0,t):o,m="trailing"in n?!!n.trailing:m);function h(y){var j=a,K=i;return a=i=void 0,d=y,l=e.apply(K,j),l}function w(y){return d=y,s=setTimeout(te,t),f?h(y):l}function B(y){var j=y-c,K=y-d,jt=t-j;return p?on(jt,o-K):jt}function Ot(y){var j=y-c,K=y-d;return c===void 0||j>=t||j<0||p&&K>=o}function te(){var y=ne();if(Ot(y))return kt(y);s=setTimeout(te,B(y))}function kt(y){return s=void 0,m&&a?h(y):(a=i=void 0,l)}function Xi(){s!==void 0&&clearTimeout(s),d=0,a=c=i=s=void 0}function Yi(){return s===void 0?l:kt(ne())}function _e(){var y=ne(),j=Ot(y);if(a=arguments,i=this,c=y,j){if(s===void 0)return w(c);if(p)return clearTimeout(s),s=setTimeout(te,t),h(c)}return s===void 0&&(s=setTimeout(te,t)),l}return _e.cancel=Xi,_e.flush=Yi,_e}function an(){this.__data__=[],this.size=0}function X(e,t){return e===t||e!==e&&t!==t}function Y(e,t){for(var n=e.length;n--;)if(X(e[n][0],t))return n;return-1}var sn=Array.prototype,ln=sn.splice;function cn(e){var t=this.__data__,n=Y(t,e);if(n<0)return!1;var a=t.length-1;return n==a?t.pop():ln.call(t,n,1),--this.size,!0}function dn(e){var t=this.__data__,n=Y(t,e);return n<0?void 0:t[n][1]}function un(e){return Y(this.__data__,e)>-1}function pn(e,t){var n=this.__data__,a=Y(n,e);return a<0?(++this.size,n.push([e,t])):n[a][1]=t,this}function _(e){var t=-1,n=e==null?0:e.length;for(this.clear();++t<n;){var a=e[t];this.set(a[0],a[1])}}_.prototype.clear=an,_.prototype.delete=cn,_.prototype.get=dn,_.prototype.has=un,_.prototype.set=pn;function fn(){this.__data__=new _,this.size=0}function mn(e){var t=this.__data__,n=t.delete(e);return this.size=t.size,n}function gn(e){return this.__data__.get(e)}function hn(e){return this.__data__.has(e)}var bn="[object AsyncFunction]",vn="[object Function]",yn="[object GeneratorFunction]",wn="[object Proxy]";function oe(e){if(!T(e))return!1;var t=P(e);return t==vn||t==yn||t==bn||t==wn}var ae=S["__core-js_shared__"],Ne=(function(){var e=/[^.]+$/.exec(ae&&ae.keys&&ae.keys.IE_PROTO||"");return e?"Symbol(src)_1."+e:""})();function $n(e){return!!Ne&&Ne in e}var Tn=Function.prototype,Sn=Tn.toString;function A(e){if(e!=null){try{return Sn.call(e)}catch{}try{return e+""}catch{}}return""}var _n=/[\\^$.*+?()[\]{}|]/g,En=/^\[object .+?Constructor\]$/,Bn=Function.prototype,Cn=Object.prototype,On=Bn.toString,kn=Cn.hasOwnProperty,jn=RegExp("^"+On.call(kn).replace(_n,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$");function Pn(e){if(!T(e)||$n(e))return!1;var t=oe(e)?jn:En;return t.test(A(e))}function An(e,t){return e==null?void 0:e[t]}function D(e,t){var n=An(e,t);return Pn(n)?n:void 0}var F=D(S,"Map"),R=D(Object,"create");function Dn(){this.__data__=R?R(null):{},this.size=0}function Mn(e){var t=this.has(e)&&delete this.__data__[e];return this.size-=t?1:0,t}var Nn="__lodash_hash_undefined__",Vn=Object.prototype,In=Vn.hasOwnProperty;function Ln(e){var t=this.__data__;if(R){var n=t[e];return n===Nn?void 0:n}return In.call(t,e)?t[e]:void 0}var zn=Object.prototype,Wn=zn.hasOwnProperty;function Fn(e){var t=this.__data__;return R?t[e]!==void 0:Wn.call(t,e)}var Rn="__lodash_hash_undefined__";function Un(e,t){var n=this.__data__;return this.size+=this.has(e)?0:1,n[e]=R&&t===void 0?Rn:t,this}function M(e){var t=-1,n=e==null?0:e.length;for(this.clear();++t<n;){var a=e[t];this.set(a[0],a[1])}}M.prototype.clear=Dn,M.prototype.delete=Mn,M.prototype.get=Ln,M.prototype.has=Fn,M.prototype.set=Un;function Hn(){this.size=0,this.__data__={hash:new M,map:new(F||_),string:new M}}function Gn(e){var t=typeof e;return t=="string"||t=="number"||t=="symbol"||t=="boolean"?e!=="__proto__":e===null}function q(e,t){var n=e.__data__;return Gn(t)?n[typeof t=="string"?"string":"hash"]:n.map}function Kn(e){var t=q(this,e).delete(e);return this.size-=t?1:0,t}function Xn(e){return q(this,e).get(e)}function Yn(e){return q(this,e).has(e)}function qn(e,t){var n=q(this,e),a=n.size;return n.set(e,t),this.size+=n.size==a?0:1,this}function O(e){var t=-1,n=e==null?0:e.length;for(this.clear();++t<n;){var a=e[t];this.set(a[0],a[1])}}O.prototype.clear=Hn,O.prototype.delete=Kn,O.prototype.get=Xn,O.prototype.has=Yn,O.prototype.set=qn;var Qn=200;function Jn(e,t){var n=this.__data__;if(n instanceof _){var a=n.__data__;if(!F||a.length<Qn-1)return a.push([e,t]),this.size=++n.size,this;n=this.__data__=new O(a)}return n.set(e,t),this.size=n.size,this}function N(e){var t=this.__data__=new _(e);this.size=t.size}N.prototype.clear=fn,N.prototype.delete=mn,N.prototype.get=gn,N.prototype.has=hn,N.prototype.set=Jn;function Zn(e,t){for(var n=-1,a=e==null?0:e.length;++n<a&&t(e[n],n,e)!==!1;);return e}var Q=(function(){try{var e=D(Object,"defineProperty");return e({},"",{}),e}catch{}})();function ie(e,t,n){t=="__proto__"&&Q?Q(e,t,{configurable:!0,enumerable:!0,value:n,writable:!0}):e[t]=n}var xn=Object.prototype,er=xn.hasOwnProperty;function Ve(e,t,n){var a=e[t];(!(er.call(e,t)&&X(a,n))||n===void 0&&!(t in e))&&ie(e,t,n)}function tr(e,t,n,a){var i=!n;n||(n={});for(var o=-1,l=t.length;++o<l;){var s=t[o],c=void 0;c===void 0&&(c=e[s]),i?ie(n,s,c):Ve(n,s,c)}return n}function nr(e,t){for(var n=-1,a=Array(e);++n<e;)a[n]=t(n);return a}var rr="[object Arguments]";function Ie(e){return C(e)&&P(e)==rr}var Le=Object.prototype,or=Le.hasOwnProperty,ar=Le.propertyIsEnumerable,se=Ie((function(){return arguments})())?Ie:function(e){return C(e)&&or.call(e,"callee")&&!ar.call(e,"callee")},U=Array.isArray;function ir(){return!1}var ze=typeof u=="object"&&u&&!u.nodeType&&u,We=ze&&typeof module=="object"&&module&&!module.nodeType&&module,sr=We&&We.exports===ze,Fe=sr?S.Buffer:void 0,lr=Fe?Fe.isBuffer:void 0,le=lr||ir,cr=9007199254740991,dr=/^(?:0|[1-9]\d*)$/;function Re(e,t){var n=typeof e;return t=t??cr,!!t&&(n=="number"||n!="symbol"&&dr.test(e))&&e>-1&&e%1==0&&e<t}var ur=9007199254740991;function Ue(e){return typeof e=="number"&&e>-1&&e%1==0&&e<=ur}var pr="[object Arguments]",fr="[object Array]",mr="[object Boolean]",gr="[object Date]",hr="[object Error]",br="[object Function]",vr="[object Map]",yr="[object Number]",wr="[object Object]",$r="[object RegExp]",Tr="[object Set]",Sr="[object String]",_r="[object WeakMap]",Er="[object ArrayBuffer]",Br="[object DataView]",Cr="[object Float32Array]",Or="[object Float64Array]",kr="[object Int8Array]",jr="[object Int16Array]",Pr="[object Int32Array]",Ar="[object Uint8Array]",Dr="[object Uint8ClampedArray]",Mr="[object Uint16Array]",Nr="[object Uint32Array]",v={};v[Cr]=v[Or]=v[kr]=v[jr]=v[Pr]=v[Ar]=v[Dr]=v[Mr]=v[Nr]=!0,v[pr]=v[fr]=v[Er]=v[mr]=v[Br]=v[gr]=v[hr]=v[br]=v[vr]=v[yr]=v[wr]=v[$r]=v[Tr]=v[Sr]=v[_r]=!1;function Vr(e){return C(e)&&Ue(e.length)&&!!v[P(e)]}function ce(e){return function(t){return e(t)}}var He=typeof u=="object"&&u&&!u.nodeType&&u,H=He&&typeof module=="object"&&module&&!module.nodeType&&module,Ir=H&&H.exports===He,de=Ir&&je.process,I=(function(){try{var e=H&&H.require&&H.require("util").types;return e||de&&de.binding&&de.binding("util")}catch{}})(),Ge=I&&I.isTypedArray,Ke=Ge?ce(Ge):Vr,Lr=Object.prototype,zr=Lr.hasOwnProperty;function Xe(e,t){var n=U(e),a=!n&&se(e),i=!n&&!a&&le(e),o=!n&&!a&&!i&&Ke(e),l=n||a||i||o,s=l?nr(e.length,String):[],c=s.length;for(var d in e)(t||zr.call(e,d))&&!(l&&(d=="length"||i&&(d=="offset"||d=="parent")||o&&(d=="buffer"||d=="byteLength"||d=="byteOffset")||Re(d,c)))&&s.push(d);return s}var Wr=Object.prototype;function ue(e){var t=e&&e.constructor,n=typeof t=="function"&&t.prototype||Wr;return e===n}function Ye(e,t){return function(n){return e(t(n))}}var Fr=Ye(Object.keys,Object),Rr=Object.prototype,Ur=Rr.hasOwnProperty;function Hr(e){if(!ue(e))return Fr(e);var t=[];for(var n in Object(e))Ur.call(e,n)&&n!="constructor"&&t.push(n);return t}function J(e){return e!=null&&Ue(e.length)&&!oe(e)}function Gr(e){return J(e)?Xe(e):Hr(e)}function Kr(e){var t=[];if(e!=null)for(var n in Object(e))t.push(n);return t}var Xr=Object.prototype,Yr=Xr.hasOwnProperty;function qr(e){if(!T(e))return Kr(e);var t=ue(e),n=[];for(var a in e)a=="constructor"&&(t||!Yr.call(e,a))||n.push(a);return n}function qe(e){return J(e)?Xe(e,!0):qr(e)}var Qe=typeof u=="object"&&u&&!u.nodeType&&u,Je=Qe&&typeof module=="object"&&module&&!module.nodeType&&module,Qr=Je&&Je.exports===Qe,Ze=Qr?S.Buffer:void 0,xe=Ze?Ze.allocUnsafe:void 0;function et(e,t){if(t)return e.slice();var n=e.length,a=xe?xe(n):new e.constructor(n);return e.copy(a),a}function Jr(e,t){var n=-1,a=e.length;for(t||(t=Array(a));++n<a;)t[n]=e[n];return t}function Zr(e,t){for(var n=-1,a=e==null?0:e.length,i=0,o=[];++n<a;){var l=e[n];t(l,n,e)&&(o[i++]=l)}return o}function xr(){return[]}var eo=Object.prototype,to=eo.propertyIsEnumerable,tt=Object.getOwnPropertySymbols,no=tt?function(e){return e==null?[]:(e=Object(e),Zr(tt(e),function(t){return to.call(e,t)}))}:xr;function ro(e,t){for(var n=-1,a=t.length,i=e.length;++n<a;)e[i+n]=t[n];return e}var nt=Ye(Object.getPrototypeOf,Object);function oo(e,t,n){var a=t(e);return U(e)?a:ro(a,n(e))}function ao(e){return oo(e,Gr,no)}var pe=D(S,"DataView"),fe=D(S,"Promise"),me=D(S,"Set"),ge=D(S,"WeakMap"),rt="[object Map]",io="[object Object]",ot="[object Promise]",at="[object Set]",it="[object WeakMap]",st="[object DataView]",so=A(pe),lo=A(F),co=A(fe),uo=A(me),po=A(ge),E=P;(pe&&E(new pe(new ArrayBuffer(1)))!=st||F&&E(new F)!=rt||fe&&E(fe.resolve())!=ot||me&&E(new me)!=at||ge&&E(new ge)!=it)&&(E=function(e){var t=P(e),n=t==io?e.constructor:void 0,a=n?A(n):"";if(a)switch(a){case so:return st;case lo:return rt;case co:return ot;case uo:return at;case po:return it}return t});var fo=Object.prototype,go=fo.hasOwnProperty;function ho(e){var t=e.length,n=new e.constructor(t);return t&&typeof e[0]=="string"&&go.call(e,"index")&&(n.index=e.index,n.input=e.input),n}var lt=S.Uint8Array;function he(e){var t=new e.constructor(e.byteLength);return new lt(t).set(new lt(e)),t}function bo(e,t){var n=he(e.buffer);return new e.constructor(n,e.byteOffset,e.byteLength)}var vo=/\w*$/;function yo(e){var t=new e.constructor(e.source,vo.exec(e));return t.lastIndex=e.lastIndex,t}var ct=V?V.prototype:void 0,dt=ct?ct.valueOf:void 0;function wo(e){return dt?Object(dt.call(e)):{}}function ut(e,t){var n=t?he(e.buffer):e.buffer;return new e.constructor(n,e.byteOffset,e.length)}var $o="[object Boolean]",To="[object Date]",So="[object Map]",_o="[object Number]",Eo="[object RegExp]",Bo="[object Set]",Co="[object String]",Oo="[object Symbol]",ko="[object ArrayBuffer]",jo="[object DataView]",Po="[object Float32Array]",Ao="[object Float64Array]",Do="[object Int8Array]",Mo="[object Int16Array]",No="[object Int32Array]",Vo="[object Uint8Array]",Io="[object Uint8ClampedArray]",Lo="[object Uint16Array]",zo="[object Uint32Array]";function Wo(e,t,n){var a=e.constructor;switch(t){case ko:return he(e);case $o:case To:return new a(+e);case jo:return bo(e);case Po:case Ao:case Do:case Mo:case No:case Vo:case Io:case Lo:case zo:return ut(e,n);case So:return new a;case _o:case Co:return new a(e);case Eo:return yo(e);case Bo:return new a;case Oo:return wo(e)}}var pt=Object.create,Fo=(function(){function e(){}return function(t){if(!T(t))return{};if(pt)return pt(t);e.prototype=t;var n=new e;return e.prototype=void 0,n}})();function ft(e){return typeof e.constructor=="function"&&!ue(e)?Fo(nt(e)):{}}var Ro="[object Map]";function Uo(e){return C(e)&&E(e)==Ro}var mt=I&&I.isMap,Ho=mt?ce(mt):Uo,Go="[object Set]";function Ko(e){return C(e)&&E(e)==Go}var gt=I&&I.isSet,Xo=gt?ce(gt):Ko,Yo=1,ht="[object Arguments]",qo="[object Array]",Qo="[object Boolean]",Jo="[object Date]",Zo="[object Error]",bt="[object Function]",xo="[object GeneratorFunction]",ea="[object Map]",ta="[object Number]",vt="[object Object]",na="[object RegExp]",ra="[object Set]",oa="[object String]",aa="[object Symbol]",ia="[object WeakMap]",sa="[object ArrayBuffer]",la="[object DataView]",ca="[object Float32Array]",da="[object Float64Array]",ua="[object Int8Array]",pa="[object Int16Array]",fa="[object Int32Array]",ma="[object Uint8Array]",ga="[object Uint8ClampedArray]",ha="[object Uint16Array]",ba="[object Uint32Array]",b={};b[ht]=b[qo]=b[sa]=b[la]=b[Qo]=b[Jo]=b[ca]=b[da]=b[ua]=b[pa]=b[fa]=b[ea]=b[ta]=b[vt]=b[na]=b[ra]=b[oa]=b[aa]=b[ma]=b[ga]=b[ha]=b[ba]=!0,b[Zo]=b[bt]=b[ia]=!1;function Z(e,t,n,a,i,o){var l,s=t&Yo;if(l!==void 0)return l;if(!T(e))return e;var c=U(e);if(c)l=ho(e);else{var d=E(e),f=d==bt||d==xo;if(le(e))return et(e,s);if(d==vt||d==ht||f&&!i)l=f?{}:ft(e);else{if(!b[d])return i?e:{};l=Wo(e,d,s)}}o||(o=new N);var p=o.get(e);if(p)return p;o.set(e,l),Xo(e)?e.forEach(function(w){l.add(Z(w,t,n,w,e,o))}):Ho(e)&&e.forEach(function(w,B){l.set(B,Z(w,t,n,B,e,o))});var m=ao,h=c?void 0:m(e);return Zn(h||e,function(w,B){h&&(B=w,w=e[B]),Ve(l,B,Z(w,t,n,B,e,o))}),l}var va=1,ya=4;function wa(e){return Z(e,va|ya)}var $a="Expected a function";function be(e,t){if(typeof e!="function"||t!=null&&typeof t!="function")throw new TypeError($a);var n=function(){var a=arguments,i=t?t.apply(this,a):a[0],o=n.cache;if(o.has(i))return o.get(i);var l=e.apply(this,a);return n.cache=o.set(i,l)||o,l};return n.cache=new(be.Cache||O),n}be.Cache=O;var Ta="Expected a function";function Sa(e,t,n){var a=!0,i=!0;if(typeof e!="function")throw new TypeError(Ta);return T(n)&&(a="leading"in n?!!n.leading:a,i="trailing"in n?!!n.trailing:i),re(e,t,{leading:a,maxWait:t,trailing:i})}function ve(e,t,n){(n!==void 0&&!X(e[t],n)||n===void 0&&!(t in e))&&ie(e,t,n)}function _a(e){return function(t,n,a){for(var i=-1,o=Object(t),l=a(t),s=l.length;s--;){var c=l[++i];if(n(o[c],c,o)===!1)break}return t}}var Ea=_a();function Ba(e){return C(e)&&J(e)}var Ca="[object Object]",Oa=Function.prototype,ka=Object.prototype,yt=Oa.toString,ja=ka.hasOwnProperty,Pa=yt.call(Object);function Aa(e){if(!C(e)||P(e)!=Ca)return!1;var t=nt(e);if(t===null)return!0;var n=ja.call(t,"constructor")&&t.constructor;return typeof n=="function"&&n instanceof n&&yt.call(n)==Pa}function ye(e,t){if(!(t==="constructor"&&typeof e[t]=="function")&&t!="__proto__")return e[t]}function Da(e){return tr(e,qe(e))}function Ma(e,t,n,a,i,o,l){var s=ye(e,n),c=ye(t,n),d=l.get(c);if(d){ve(e,n,d);return}var f=o?o(s,c,n+"",e,t,l):void 0,p=f===void 0;if(p){var m=U(c),h=!m&&le(c),w=!m&&!h&&Ke(c);f=c,m||h||w?U(s)?f=s:Ba(s)?f=Jr(s):h?(p=!1,f=et(c,!0)):w?(p=!1,f=ut(c,!0)):f=[]:Aa(c)||se(c)?(f=s,se(s)?f=Da(s):(!T(s)||oe(s))&&(f=ft(c))):p=!1}p&&(l.set(c,f),i(f,c,a,o,l),l.delete(c)),ve(e,n,f)}function wt(e,t,n,a,i){e!==t&&Ea(t,function(o,l){if(i||(i=new N),T(o))Ma(e,t,l,n,wt,a,i);else{var s=a?a(ye(e,l),o,l+"",e,t,i):void 0;s===void 0&&(s=o),ve(e,l,s)}},qe)}function $t(e){return e}function Na(e,t,n){switch(n.length){case 0:return e.call(t);case 1:return e.call(t,n[0]);case 2:return e.call(t,n[0],n[1]);case 3:return e.call(t,n[0],n[1],n[2])}return e.apply(t,n)}var Tt=Math.max;function Va(e,t,n){return t=Tt(t===void 0?e.length-1:t,0),function(){for(var a=arguments,i=-1,o=Tt(a.length-t,0),l=Array(o);++i<o;)l[i]=a[t+i];i=-1;for(var s=Array(t+1);++i<t;)s[i]=a[i];return s[t]=n(l),Na(e,this,s)}}function Ia(e){return function(){return e}}var La=Q?function(e,t){return Q(e,"toString",{configurable:!0,enumerable:!1,value:Ia(t),writable:!0})}:$t,za=800,Wa=16,Fa=Date.now;function Ra(e){var t=0,n=0;return function(){var a=Fa(),i=Wa-(a-n);if(n=a,i>0){if(++t>=za)return arguments[0]}else t=0;return e.apply(void 0,arguments)}}var Ua=Ra(La);function Ha(e,t){return Ua(Va(e,t,$t),e+"")}function Ga(e,t,n){if(!T(n))return!1;var a=typeof t;return(a=="number"?J(n)&&Re(t,n.length):a=="string"&&t in n)?X(n[t],e):!1}function Ka(e){return Ha(function(t,n){var a=-1,i=n.length,o=i>1?n[i-1]:void 0,l=i>2?n[2]:void 0;for(o=e.length>3&&typeof o=="function"?(i--,o):void 0,l&&Ga(n[0],n[1],l)&&(o=i<3?void 0:o,i=1),t=Object(t);++a<i;){var s=n[a];s&&e(t,s,a,o)}return t})}var Xa=Ka(function(e,t,n){wt(e,t,n)});const Ya=100,we=new Map,x={width:window.innerWidth,height:window.innerHeight},qa=e=>{we.set(e,e)},Qa=e=>{we.delete(e)},Ja=re(e=>{const t=e;t.topEvent={widthDiff:x.width-window.innerWidth,hightDiff:x.height-window.innerHeight},x.width=window.innerWidth,x.height=window.innerHeight,we.forEach(n=>n(t))},Ya);window.addEventListener("resize",Ja);const St={addOnReize:qa,removeOnResize:Qa},L={themeName:"light",documentClassModificators:new Map,widthForMobile:900,dateFormat:"Y-m-d",currency:"USD",timezoneOffset:new Date().getTimezoneOffset()},Za={documentClassModificators:L.documentClassModificators,dateFormat:L.dateFormat,currency:L.currency,timezoneOffset:L.timezoneOffset,isMobile:!1,isMobileUA:!1,isRetina:!1,isApp:!1,isLandscape:!0,isPortrait:!1,size:0,isHidden:!1};class xa{static async TopNotice(){await new Promise((t,n)=>z(["./notice-BpLsm6Zh.amd"],t,n))}static async TopPopup(){await new Promise((t,n)=>z(["./popup-CfXISjhC.amd"],t,n))}static async TopDialog(){const{TopDialogWorker:t}=await new Promise((n,a)=>z(["../core/app.amd"],n,a));await t.getDialogsUtils()}}class g{static state=r.reactive({...Za});static preloaders=xa;static widthForMobile=L.widthForMobile;static themeName=L.themeName;static matchMediaIsMobile;static $=$;static Events=St;static flags=r.reactive({needLoadNotice:!1});static _setState(){this.$=$,g.matchMediaIsMobile=window.matchMedia(`(max-width: ${g.widthForMobile}px)`),g.state.isMobileUA=Be(),g.state.isRetina=Ee(),g.state.isApp=Ce(),g.useDocumentClassModificators(),g.useIsHidden(),g.setStateByWindowSize(),g.Events.addOnReize(g.onResize),g.onResize(),g.saveToCookie(),g.useCtrlClasses()}static useDocumentClassModificators(){r.watch(()=>[...g.state.documentClassModificators],(t,n)=>{let a=new Set;n==null||n.forEach(([i,o])=>a.add(o)),t.forEach(([i,o])=>a.delete(o)),a.forEach(i=>document.documentElement.classList.remove(i)),t.forEach(([i,o])=>document.documentElement.classList.add(o))},{immediate:!0})}static useIsHidden(){document.addEventListener("visibilitychange",()=>{g.state.isHidden=document.hidden}),g.state.isHidden=document.hidden}static setStateByWindowSize(){var t;g.state.isMobile=!!((t=g.matchMediaIsMobile)!=null&&t.matches),g.state.isLandscape=window.innerWidth>window.innerHeight,g.state.isPortrait=!g.state.isLandscape,g.state.size=window.innerWidth>window.innerHeight?window.innerWidth:window.innerHeight,g.saveToCookie()}static onResize(){g.setStateByWindowSize()}static saveToCookie(){const t=[1,window.innerWidth,window.innerHeight,window.devicePixelRatio,Number(g.state.isMobile),Number(g.state.isRetina)];document.cookie="device="+t.join(",")+"; path=/;"}static useCtrlClasses(){const t=document.body.classList;document.addEventListener("keydown",n=>{(n.ctrlKey||n.metaKey)&&t.add("top-body-press_ctrl"),n.altKey&&t.add("top-body-press_alt")}),document.addEventListener("keyup",()=>t.remove("top-body-press_ctrl","top-body-press_alt")),document.addEventListener("keypress",()=>t.remove("top-body-press_ctrl","top-body-press_alt")),window.addEventListener("blur",()=>t.remove("top-body-press_ctrl","top-body-press_alt"))}static notice=async(t,n,a)=>(g.flags.needLoadNotice=!0,(await new Promise((o,l)=>z(["./notice-BpLsm6Zh.amd"],o,l))).show(t,n,a));static insertCSSLinkToPage=(t,n=!1)=>{const a=new Map;a.set("::",[]),t.forEach(o=>{let l=!1,s=!1;o.match(/\.m\./)&&(l=!0),o.match(/\.pc\./)&&(s=!0);const c=`${l}:${s}`;a.has(c)||a.set(`${l}:${s}`,[]),a.get(`${l}:${s}`).push(o)});const i=[];return a.forEach((o,l)=>{if(!o.length)return;const[s,c]=l.split(":").map(p=>p==="true");let d="all";s&&(d="(max-width: "+g.widthForMobile+"px)"),c&&(d="(min-width: "+g.widthForMobile+"px)"),g._insertToPage(o,d,n).forEach(p=>i.push(p))}),Promise.all(i)};static _insertToPage=(t,n,a)=>{const i=[];return t.forEach(o=>{if(a){const p=new XMLHttpRequest;p.open("GET",o,!1),p.send()}const l="topCSSLink-"+o.replace(/\W/g,"-");if(window.hasOwnProperty(l))return;let s,c;const d=new Promise((p,m)=>{s=p,c=m});i.push(d);const f=document.createElement("link");f.id=l,f.rel="stylesheet",f.media=n,f.href=o,f.onload=()=>s(),f.onerror=()=>c(),document.head.append(f)}),i};static insertStyleToPage=(t,n="")=>{let a="all";n==="m"&&(a="(max-width: "+g.widthForMobile+"px)"),n==="pc"&&(a="(min-width: "+g.widthForMobile+"px)");const i=document.createElement("style");i.innerHTML=t,i.media=a,document.head.append(i)}}const ei={install:(e,t)=>{const n=(a,i,o)=>{if(!e.config.globalProperties.$i18n[a][i])return"";let l=e.config.globalProperties.$i18n[a][i]+"";for(const s in o)l=l.replaceAll(new RegExp(`{{ ${s} }}`,"g"),String(o[s]));return l};Object.setPrototypeOf(n,r.reactive(t.i18n)),e.config.globalProperties.$i18n=n,e.config.globalProperties.$i18nLang=r.ref(t.lang),e.config.globalProperties.i18n=e.config.globalProperties.$i18n,typeof window<"u"&&!window.requirejs&&(globalThis.$i18n=e.config.globalProperties.$i18n),e.provide("$i18n",e.config.globalProperties.$i18n),e.provide("$i18nLang",e.config.globalProperties.$i18nLang),e.provide("i18n",e.config.globalProperties.i18n)}},G=()=>{var e,t;return!r.getCurrentInstance()&&((t=(e=window.mo)==null?void 0:e.user)!=null&&t.lang)?requirejs("i18n").categories[mo.user.lang]:!r.getCurrentInstance()&&globalThis.$i18n?globalThis.$i18n:r.inject("$i18n")},ti=()=>{var e,t;return!r.getCurrentInstance()&&((t=(e=window.mo)==null?void 0:e.user)!=null&&t.lang)?r.ref(mo.user.lang):r.inject("$i18nLang")},ni=(e,t,n)=>{const a=G().Calendar;switch(new Date(e,--t,n).getDay()){case 0:return a.Dw_1+".";case 1:return a.Dw_2+".";case 2:return a.Dw_3+".";case 3:return a.Dw_4+".";case 4:return a.Dw_5+".";case 5:return a.Dw_6+".";case 6:return a.Dw_7+".";default:return""}},ri=(e,t=!0,n=2)=>{let a=String(e.getFullYear()),i=String(e.getDate()).padStart(2,"0"),o=String(e.getMonth()+1).padStart(2,"0"),l=String(e.getHours()).padStart(2,"0"),s=String(e.getMinutes()).padStart(2,"0"),c=String(e.getSeconds()).padStart(2,"0"),d=a+"-"+o+"-"+i;return n>=1&&(d+=" "+l),n>=2&&(d+=":"+s),n===3&&(d+=":"+c),t&&(d=k(d,n)),d};function oi(e){if(e.indexOf("T")===-1){e.length==10&&(e+=" 00:00:00");const t=g.state.timezoneOffset>=0?"-":"+",n=Math.abs(g.state.timezoneOffset)/60;let a;if(Number.isInteger(n))a=t+n.toString().padStart(2,"0")+":00";else{const i=Math.floor(n),o=Math.round((n-i)*60);a=t+i.toString().padStart(2,"0")+":"+o.toString().padStart(2,"0")}e=e.replace(" ","T")+a}return new Date(e)}const ai=(e=new Date().getTime(),t=!0,n=0)=>$e(e,t,n,g.state.timezoneOffset);function $e(e=new Date().getTime(),t=!0,n=0,a){const i=a?e+new Date().getTimezoneOffset()*60*1e3-a*60*1e3:e,o=new Date(i),l=o.getFullYear(),s=String(o.getMonth()+1).padStart(2,"0"),c=o.getDate().toString().padStart(2,"0"),d=o.getHours().toString().padStart(2,"0"),f=o.getMinutes().toString().padStart(2,"0"),p=o.getSeconds().toString().padStart(2,"0");n==="auto"&&(n=0,o.getHours()&&(n=1),o.getMinutes()&&(n=2),o.getSeconds()&&(n=3));let m=l+"-"+s+"-"+c;return n&&(m+=" "),n>=1&&(m+=d),n>=2&&(m+=":"+f),n>=3&&(m+=":"+p),t&&(a?m=k(m,n):m=k(o,n)),m}function ii(e,t=!0){const a=new Date().getTimezoneOffset()/60*-1*60*60*1e3,i=10800*1e3;let o;e!==void 0?o=new Date(e):o=new Date,o.setTime(o.getTime()-a+i);let l=String(o.getFullYear()),s=String(o.getDate()).padStart(2,"0"),c=String(o.getMonth()+1).padStart(2,"0"),d=String(o.getHours()).padStart(2,"0"),f=String(o.getMinutes()).padStart(2,"0"),p=String(o.getSeconds()).padStart(2,"0"),m=l+"-"+c+"-"+s+" "+d+":"+f+":"+p;return t&&(m=k(m)),m}function k(e,t=2,n,a){if(a||(a=G().Common.Not_date),typeof e=="string"&&(!e||e.substring(0,10)==="0000-00-00")&&a&&a!=="0000-00-00"||!e)return a;n||(n=g.state.dateFormat),n=n.toLowerCase().replace("m","mm").replace("y","yy").replace("d","dd");let i;if(e instanceof Date)i=e;else{let l=e.substring(0,10);if(l.length===7&&(l+="-01"),l+=" 00:00",l=l.replace(/-/g,"/"),i=new Date(l),isNaN(Number(i)))return a}let o="";if(n&&window.$&&(o=$.datepicker.formatDate(n,i)),t&&typeof e=="string"&&e.length>10||t&&e instanceof Date){let l="";if(e instanceof Date)l=new Date().toLocaleTimeString("en-US",{hour12:!1,hour:"numeric",minute:t>=2?"numeric":void 0,second:t>=3?"numeric":void 0});else switch(t){case 1:l=e.substring(11,13);break;case 2:l=e.substring(11,16);break;case 3:l=e.substring(11,19);break}o+=" "+l}return o=o.trim(),o}function Te(e,t){if(t||(t=G().Common.Not_date),!e)return t;if(e.match(/\d\d\d\d-\d\d-\d\d/))return e;const n=g.state.dateFormat.toLowerCase(),a=e.split(/\W/),i=n.split(/\W/);let o="",l="",s="";i.forEach((d,f)=>{switch(d){case"d":o=a[f];break;case"m":l=a[f];break;case"y":s=a[f];break}});let c=s+"-"+l+"-"+o;return c.match(/\d\d\d\d-\d\d-\d\d/)||(console.info("Неверный формат даты, будет возращена текущая дата, "+c),c=$e(new Date().getTime(),!1).substring(0,10)),c}const si={class:"top-avatar"},li=["src","title"],ci=["title"],di=r.defineComponent({__name:"avatar",props:{size:{default:64},image:{},nickname:{},isOnline:{type:Boolean},lastActiveTime:{},i18n:{default:()=>({Online:"Online",LastSeen:"Last seen"})}},setup(e){r.useCssVars(i=>({"52a765e6":i.size+"px"}));const t=e,n=r.computed(()=>{var i,o;if(t.isOnline)return(i=t.i18n)==null?void 0:i.Online;if(t.lastActiveTime)return((o=t.i18n)==null?void 0:o.LastSeen)+": "+k(t.lastActiveTime,2)}),a=r.computed(()=>t.nickname?t.nickname+(n.value?`
2
- ${n.value}`:""):n.value);return(i,o)=>(r.openBlock(),r.createElementBlock("div",si,[r.createElementVNode("img",{class:"top-avatar_image",src:i.image,title:a.value,alt:""},null,8,li),i.isOnline?(r.openBlock(),r.createElementBlock("div",{key:0,class:"top-avatar_status",title:n.value},null,8,ci)):r.createCommentVNode("",!0)]))}}),ui=["data-top-badge"],pi={key:1,class:"top-ellipsis"},fi=r.defineComponent({__name:"button",props:{color:{default:"blue"},styling:{default:""},size:{default:"s"},name:{},title:{},icon:{},icon2:{},href:{},badgeNumber:{},badgePosAfterText:{type:Boolean},disabled:{type:Boolean},isSubmit:{type:Boolean},isActive:{type:Boolean},isProgress:{type:Boolean}},setup(e){const t=e,n=r.computed(()=>t.href?"a":"button"),a=r.computed(()=>t.isSubmit?"submit":void 0);return(i,o)=>(r.openBlock(),r.createBlock(r.resolveDynamicComponent(n.value),{class:r.normalizeClass({"top-active":i.isActive,"top-disabled":i.disabled,"top-forms-focusable":!i.disabled,"top-button":!0,"top-button-progress":i.isProgress,[`top-size_${i.size}`]:!!i.size,[`top-color_${i.color}`]:!0,[`top-style_${i.styling}`]:!!i.styling,"top-button-withoutText":!i.$slots.default}),name:i.name,title:i.title,href:i.href,type:a.value,"data-top-icon":i.icon||void 0,"data-top-icon2":i.icon2||void 0,disabled:i.disabled||void 0,inProgress:i.isProgress},{default:r.withCtx(()=>[i.badgeNumber?(r.openBlock(),r.createElementBlock("span",{key:0,"data-top-badge":i.badgeNumber,class:r.normalizeClass(["top-button_badge",{"top-button_badge-afterText":i.badgePosAfterText}])},null,10,ui)):r.createCommentVNode("",!0),i.$slots.default?(r.openBlock(),r.createElementBlock("span",pi,[r.renderSlot(i.$slots,"default",{},()=>[r.createTextVNode(r.toDisplayString(i.icon?"":"Button"),1)])])):r.createCommentVNode("",!0),r.renderSlot(i.$slots,"html")]),_:3},8,["class","name","title","href","type","data-top-icon","data-top-icon2","disabled","inProgress"]))}}),mi={class:"top-caption"},gi={class:"top-caption_title"},hi=r.defineComponent({__name:"caption",props:{title:{}},setup(e){return(t,n)=>(r.openBlock(),r.createElementBlock("label",mi,[r.createElementVNode("div",gi,r.toDisplayString(t.title?t.title:" "),1),r.renderSlot(t.$slots,"default")]))}}),bi={class:"top-forms-optionLabel"},ee=r.defineComponent({__name:"controlLabel",props:{description:{},disabled:{type:Boolean}},setup(e){return(t,n)=>(r.openBlock(),r.createElementBlock("div",bi,[r.createElementVNode("div",{class:r.normalizeClass({"top-forms-optionLabel_title":!0,"top-forms-optionLabel_title-disabled":t.disabled})},[r.renderSlot(t.$slots,"default")],2),t.description?(r.openBlock(),r.createElementBlock("div",{key:0,class:r.normalizeClass(["top-forms-optionLabel_description",{"top-forms-optionLabel_description-disabled":t.disabled}])},r.toDisplayString(t.description),3)):r.createCommentVNode("",!0)]))}}),vi=["name","value","indeterminate","disabled"],yi=r.defineComponent({__name:"checkbox",props:r.mergeModels({modelValue:{type:[Boolean,Array,Set]},name:{},value:{},description:{},disabled:{type:Boolean},indeterminate:{type:Boolean},isError:{type:Boolean}},{modelValue:{type:[Boolean,Array,Set]},modelModifiers:{}}),emits:["update:modelValue"],setup(e){const t=r.useModel(e,"modelValue");return(n,a)=>{const i=r.resolveDirective("top-focus");return r.openBlock(),r.createElementBlock("label",{class:r.normalizeClass({"top-forms-optionWrapper":!0,"top-checkbox":!0,["top-checkbox_"+n.name]:!!n.name,"top-disabled":n.disabled,"top-error":n.isError&&!n.disabled})},[r.withDirectives(r.createElementVNode("input",{type:"checkbox",class:r.normalizeClass({"top-forms-focusable":!n.disabled,"top-forms-option":!0,"top-checkbox_input":!0,"top-error":n.isError&&!n.disabled}),name:n.name,"onUpdate:modelValue":a[0]||(a[0]=o=>t.value=o),value:n.value,indeterminate:n.indeterminate,disabled:n.disabled},null,10,vi),[[i,n.isError,void 0,{onupdate:!0}],[r.vModelCheckbox,t.value]]),n.$slots.default?(r.openBlock(),r.createBlock(ee,{key:0,description:n.description,disabled:n.disabled},{default:r.withCtx(()=>[r.renderSlot(n.$slots,"default")]),_:3},8,["description","disabled"])):r.createCommentVNode("",!0)],2)}}}),wi=["title"],_t=r.defineComponent({__name:"hint",props:{hint:{}},setup(e){return(t,n)=>(r.openBlock(),r.createElementBlock("span",{class:"top-hint","data-top-icon":"",title:t.hint},null,8,wi))}}),Et=(e,t)=>{const n=e.__vccOpts||e;for(const[a,i]of t)n[a]=i;return n},$i={},Ti={class:"top-loadbar"};function Si(e,t){return r.openBlock(),r.createElementBlock("div",Ti)}const Bt=Et($i,[["render",Si]]),_i=["data-top-icon","data-top-icon2"],Ei=["name","title","placeholder","disabled","readonly","data-1p-ignore"],Bi={key:2,class:"top-formsCaption"},Se=r.defineComponent({inheritAttrs:!1,__name:"input",props:{modelValue:{},name:{},disabled:{type:Boolean},readonly:{type:Boolean},modificator:{},size:{default:"s"},styling:{default:""},isError:{type:Boolean},isLoading:{type:Boolean},icon:{},icon2:{},addCleaner:{type:Boolean},title:{},captionType:{default:""}},emits:["update:modelValue"],setup(e,{emit:t}){const n=e,a=t,i=r.computed({get(){return n.modelValue},set(s){a("update:modelValue",s)}}),o=r.computed(()=>n.addCleaner&&!n.title||n.captionType!==""?"":n.title),l=s=>{n.modelValue&&s.stopPropagation(),a("update:modelValue","")};return(s,c)=>{const d=r.resolveDirective("top-focus");return r.openBlock(),r.createElementBlock("label",{class:r.normalizeClass({"top-input":!0,["top-size_"+s.size]:!0,"top-disabled":s.disabled,["top-input-"+s.modificator]:!!s.modificator,"top-input-withCleaner":s.addCleaner&&i.value&&i.value!=="0000-00-00","top-formsCaptionWrapper":s.captionType!=="","top-formsCaptionWrapper-always":s.captionType==="top"}),"data-top-icon":s.icon,"data-top-icon2":s.icon2},[s.isLoading?(r.openBlock(),r.createBlock(Bt,{key:0})):r.createCommentVNode("",!0),r.withDirectives(r.createElementVNode("input",r.mergeProps({type:"text",class:{"top-input_input":!0,["top-input_input-"+s.modificator]:!!s.modificator,"top-forms-focusable":!s.disabled,"top-error":s.isError,[`top-style_${s.styling}`]:!!s.styling},autocomplete:"off_always",name:s.name,"onUpdate:modelValue":c[0]||(c[0]=f=>i.value=f),title:s.title,placeholder:o.value,disabled:s.disabled,readonly:s.readonly,onKeydown:c[1]||(c[1]=r.withKeys(f=>s.addCleaner&&l(f),["esc"])),"data-1p-ignore":s.$attrs.type!=="email"&&s.$attrs.type!=="password"},s.$attrs),null,16,Ei),[[d,s.isError,void 0,{onupdate:!0}],[r.vModelText,i.value]]),s.addCleaner&&i.value&&i.value!=="0000-00-00"?(r.openBlock(),r.createElementBlock("span",{key:1,class:"top-input_cleaner","data-top-icon":"",onClick:r.withModifiers(l,["prevent"])})):r.createCommentVNode("",!0),s.captionType!==""?(r.openBlock(),r.createElementBlock("span",Bi,r.toDisplayString(s.title),1)):r.createCommentVNode("",!0),r.renderSlot(s.$slots,"default")],10,_i)}}}),Ci=["value"],Oi=!!document.documentElement.ontouchstart&&!!document.createElement("input").showPicker;let Ct=e=>{};const ki=r.defineComponent({__name:"inputDate",props:{modelValue:{},name:{},disabled:{type:Boolean},readonly:{type:Boolean},modificator:{},size:{},styling:{},isError:{type:Boolean},isLoading:{type:Boolean},icon:{},icon2:{default:""},addCleaner:{type:Boolean},title:{},captionType:{}},emits:["update:modelValue"],setup(e,{emit:t}){const n=G(),a=e,i=t;r.onUnmounted(()=>{l&&l.datepicker("destroy")});const o=r.ref();let l;const s=r.computed({get(){return k(a.modelValue,2,void 0,"0000-00-00")},set(p){p=Te(p,"0000-00-00"),i("update:modelValue",p)}});let c=p=>{Ct(p)},d=p=>{const m=Te(p.target.value),h=k(m);if(!h||h===n.Common.Not_date||p.target.value!==h){p.target.value=s.value;return}s.value=p.target.value};async function f(p){const m=await new Promise((h,w)=>z(["./datepicker-Bq_z2paN.amd"],h,w));Ct=m.oninput,l=m.connectDatepicker(p.target,{onSelect:()=>d(p)}),l&&l.datepicker("show")}return(p,m)=>r.unref(Oi)?(r.openBlock(),r.createBlock(Se,r.mergeProps({key:0},p.$props,{modelValue:s.value,readonly:"",onClick:m[1]||(m[1]=h=>o.value.showPicker())}),{default:r.withCtx(()=>[r.createElementVNode("input",{ref_key:"el",ref:o,type:"date",class:"top-input_input-date",value:p.modelValue,onChange:m[0]||(m[0]=h=>s.value=h.target.value),tabindex:"-1"},null,40,Ci)]),_:1},16,["modelValue"])):(r.openBlock(),r.createBlock(Se,r.mergeProps({key:1},p.$props,{modelValue:s.value,"onUpdate:modelValue":m[2]||(m[2]=h=>h===""?s.value="":""),onInput:r.unref(c),onFocusOnce:f,onChange:r.unref(d),modificator:"datepicker"}),null,16,["modelValue","onInput","onChange"]))}}),ji={class:"top-inputRange"},Pi=r.defineComponent({__name:"inputRange",setup(e){return(t,n)=>(r.openBlock(),r.createElementBlock("div",ji,[r.renderSlot(t.$slots,"from"),n[0]||(n[0]=r.createElementVNode("span",{class:"top-inputRange_dash"}," — ",-1)),r.renderSlot(t.$slots,"to")]))}}),Ai=["name","value","disabled"],Di=r.defineComponent({__name:"radio",props:{modelValue:{},value:{},name:{},description:{},disabled:{type:Boolean},isError:{type:Boolean}},emits:["update:modelValue"],setup(e,{emit:t}){const n=e,a=t,i=r.computed({get(){return n.modelValue},set(o){a("update:modelValue",o)}});return(o,l)=>{const s=r.resolveDirective("top-focus");return r.openBlock(),r.createElementBlock("label",{class:r.normalizeClass({"top-forms-optionWrapper":!0,"top-radio":!0,["top-radio_"+o.name]:o.name!=="","top-disabled":o.disabled,"top-error":o.isError&&!o.disabled})},[r.withDirectives(r.createElementVNode("input",{type:"radio",class:r.normalizeClass({"top-forms-focusable":!o.disabled,"top-forms-option":!0,"top-radio_input":!0,"top-error":o.isError&&!o.disabled}),"onUpdate:modelValue":l[0]||(l[0]=c=>i.value=c),name:o.name,value:o.value,disabled:o.disabled},null,10,Ai),[[s,o.isError,void 0,{onupdate:!0}],[r.vModelRadio,i.value]]),o.$slots.default?(r.openBlock(),r.createBlock(ee,{key:0,description:o.description,disabled:o.disabled},{default:r.withCtx(()=>[r.renderSlot(o.$slots,"default")]),_:3},8,["description","disabled"])):r.createCommentVNode("",!0)],2)}}}),Mi=["name","value","disabled"],Ni=r.defineComponent({__name:"switcher",props:{modelValue:{type:[Boolean,Array,Set]},name:{},value:{},description:{},disabled:{type:Boolean},isError:{type:Boolean}},emits:["update:modelValue"],setup(e,{emit:t}){const n=e,a=t,i=r.computed({get(){return n.modelValue},set(o){a("update:modelValue",o)}});return(o,l)=>{const s=r.resolveDirective("top-focus");return r.openBlock(),r.createElementBlock("label",{class:r.normalizeClass({"top-forms-optionWrapper":!0,"top-checkboxSwitcher":!0,"top-disabled":o.disabled,"top-error":o.isError&&!o.disabled})},[r.withDirectives(r.createElementVNode("input",{type:"checkbox",class:r.normalizeClass({"top-forms-focusable":!o.disabled,"top-forms-option":!0,"top-checkboxSwitcher_input":!0,"top-error":o.isError&&!o.disabled}),"onUpdate:modelValue":l[0]||(l[0]=c=>i.value=c),name:o.name,value:o.value,disabled:o.disabled},null,10,Mi),[[s,o.isError,void 0,{onupdate:!0}],[r.vModelCheckbox,i.value]]),o.$slots.default?(r.openBlock(),r.createBlock(ee,{key:0,description:o.description,disabled:o.disabled},{default:r.withCtx(()=>[r.renderSlot(o.$slots,"default")]),_:3},8,["description","disabled"])):r.createCommentVNode("",!0)],2)}}}),Vi=["name","placeholder","disabled","readonly","rows","maxlength"],Ii={key:0,class:"top-textarea_pseudoContent"},Li=r.defineComponent({inheritAttrs:!1,__name:"textarea",props:{modelValue:{},name:{},placeholder:{},styling:{default:""},rows:{default:5},minHeight:{default:120},expandable:{type:Boolean},disabled:{type:Boolean},readonly:{type:Boolean},isError:{type:Boolean},hint:{},maxLength:{}},emits:["update:modelValue"],setup(e,{emit:t}){r.useCssVars(o=>({"049aac9f":o.minHeight+"px"}));const n=e,a=t,i=r.computed({get(){return n.modelValue},set(o){a("update:modelValue",o)}});return(o,l)=>{const s=r.resolveDirective("top-focus"),c=r.resolveDirective("top-tooltip");return r.openBlock(),r.createElementBlock("label",{class:r.normalizeClass({"top-textarea":!0,["top-textarea-"+o.name]:o.name,"top-disabled":o.disabled})},[r.withDirectives(r.createElementVNode("textarea",r.mergeProps({type:"text",class:{"top-forms-focusable":!o.disabled,"top-textarea_textarea":!0,"top-textarea_textarea-expandable":o.expandable,"top-error":o.isError,[`top-style_${o.styling}`]:!!o.styling},autocomplete:"off_always",name:o.name,placeholder:o.placeholder,disabled:o.disabled,readonly:o.readonly,rows:o.expandable?void 0:o.rows,maxlength:o.maxLength},o.$attrs,{"onUpdate:modelValue":l[0]||(l[0]=d=>i.value=d)}),null,16,Vi),[[s,o.isError,void 0,{onupdate:!0}],[r.vModelText,i.value]]),o.expandable?(r.openBlock(),r.createElementBlock("span",Ii,r.toDisplayString(i.value+" "),1)):r.createCommentVNode("",!0),o.hint?r.withDirectives((r.openBlock(),r.createBlock(_t,{key:1,class:"top-textarea_hint",hint:o.hint},null,8,["hint"])),[[c]]):r.createCommentVNode("",!0),o.maxLength?(r.openBlock(),r.createElementBlock("div",{key:2,class:r.normalizeClass(["top-textarea_counter",{"top-textarea_counter-max":i.value.length>=o.maxLength}])},r.toDisplayString(i.value.length)+"/"+r.toDisplayString(o.maxLength),3)):r.createCommentVNode("",!0)],2)}}}),zi=["data-value","data-top-icon","data-top-icon2"],Wi=["name","disabled"],Fi=["label","disabled"],Ri=["value","selected","disabled"],Ui=["value","selected","disabled"],Hi={key:1,class:"top-formsCaption"},Gi=r.defineComponent({__name:"select",props:r.mergeModels({modelValue:{type:[String,Number,Boolean]},options:{},name:{},disabled:{type:Boolean},icon:{},size:{default:"s"},styling:{default:""},addChanger:{type:Boolean},title:{},isError:{type:Boolean}},{modelValue:{type:[String,Number,Boolean],required:!0},modelModifiers:{}}),emits:r.mergeModels(["update:modelValue"],["update:modelValue"]),setup(e){const t=e,n=r.useModel(e,"modelValue"),a=r.computed(()=>{const c=new Map;return t.options.forEach((d,f)=>{if(typeof d=="string"&&(d=o(f,d)),d.children){const p=new Map;d.children.forEach((m,h)=>{typeof m=="string"&&(m=o(h,m)),p.set(m.value,m)}),d={...d},d.children=p,c.set(d.value,d)}else c.set(d.value,d)}),c}),i=r.computed(()=>{const c=new Map;return a.value.forEach(d=>{if(!d.disabled){if(d.children){d.children.forEach(f=>{f.disabled||c.set(f.value,f)});return}c.set(d.value,d)}}),c}),o=(c,d)=>({value:c,title:d});r.watch([()=>t.modelValue,i],()=>{(n.value===null||n.value===void 0)&&i.value.size&&(console.warn("Пожалуйста, не передавайте в компонент Select значения null и undefined"),n.value=i.value.keys().next().value)},{immediate:!0});const l=r.computed(()=>{var c;return(c=i.value.get(n.value))==null?void 0:c.icon}),s=()=>{const c=[...i.value.keys()],f=(c.indexOf(n.value)+1)%c.length;n.value=c[f]};return(c,d)=>{const f=r.resolveDirective("top-focus");return r.openBlock(),r.createElementBlock("label",{class:r.normalizeClass({"top-select":!0,["top-select-"+c.name]:c.name,["top-size_"+c.size]:!0,"top-formsCaptionWrapper":!!c.title,"top-select-error":c.isError,"top-disabled":c.disabled}),"data-value":n.value,"data-top-icon":c.icon,"data-top-icon2":l.value},[r.withDirectives((r.openBlock(),r.createElementBlock("select",{class:r.normalizeClass({"top-forms-focusable":!c.disabled,"top-select_select":!0,"top-as-selector":!0,"top-error":c.isError,[`top-style_${c.styling}`]:!!c.styling}),name:c.name,disabled:c.disabled,"onUpdate:modelValue":d[0]||(d[0]=p=>n.value=p)},[(r.openBlock(!0),r.createElementBlock(r.Fragment,null,r.renderList(a.value,([p,m])=>(r.openBlock(),r.createElementBlock(r.Fragment,null,[m.children?(r.openBlock(),r.createElementBlock("optgroup",{key:"group_"+p,label:m.title,disabled:m.disabled},[(r.openBlock(!0),r.createElementBlock(r.Fragment,null,r.renderList(m.children,([h,w])=>(r.openBlock(),r.createElementBlock("option",{key:String(h),value:h,selected:h===n.value,disabled:w.disabled},r.toDisplayString(w.title),9,Ri))),128))],8,Fi)):(r.openBlock(),r.createElementBlock("option",{key:p?String(p):void 0,value:p,selected:p===n.value,disabled:m.disabled},r.toDisplayString(m.title),9,Ui))],64))),256))],10,Wi)),[[f,c.isError,void 0,{onupdate:!0}],[r.vModelSelect,n.value]]),c.addChanger&&i.value.size&&!c.disabled?(r.openBlock(),r.createElementBlock("span",{key:0,class:"top-changer",onClick:s})):r.createCommentVNode("",!0),c.title?(r.openBlock(),r.createElementBlock("span",Hi,r.toDisplayString(c.title),1)):r.createCommentVNode("",!0)],10,zi)}}}),Ki=r.defineComponent({__name:"preloader",props:{type:{}},setup(e){return(t,n)=>(r.openBlock(),r.createElementBlock("div",{class:r.normalizeClass({["top-preloader-"+t.type]:!0})},[t.type==="circles"?(r.openBlock(),r.createElementBlock(r.Fragment,{key:0},r.renderList([1,2,3],a=>r.createElementVNode("i")),64)):r.createCommentVNode("",!0)],2))}});u.Core=g,u.Events=St,u.TopLoadbar=Bt,u._export_sfc=Et,u._sfc_main=Se,u._sfc_main$1=fi,u._sfc_main$10=Ni,u._sfc_main$11=Li,u._sfc_main$12=Ki,u._sfc_main$13=hi,u._sfc_main$2=_t,u._sfc_main$3=di,u._sfc_main$4=yi,u._sfc_main$5=ee,u._sfc_main$6=ki,u._sfc_main$7=Pi,u._sfc_main$8=Di,u._sfc_main$9=Gi,u.cloneDeep=wa,u.dateFormat=k,u.dateToString=ri,u.dateUnformat=Te,u.debounce=re,u.genDate=$e,u.genDateMoscow=ii,u.genUserDate=ai,u.get$scroll=Mt,u.getCommandKeyLabel=At,u.getDayOfWeek=ni,u.getElsScroll=Nt,u.getOS=ke,u.getOSAsync=Vt,u.getScrollTop=Dt,u.i18n=ei,u.isApp=Ce,u.isMacOS=Oe,u.isMobile=Be,u.isRetina=Ee,u.isSafari=Pt,u.memoize=be,u.merge=Xa,u.stringToDate=oi,u.throttle=Sa,u.useI18n=G,u.useI18nLang=ti}));
3
- //# sourceMappingURL=forms-CNcrvkYD.amd.js.map
@@ -1,2 +0,0 @@
1
- define(["require","exports","@faker-js/faker"],(function(k,s,d){"use strict";if(typeof y>"u")var y=window.Vue;const M=20,a=async(e,n,l)=>{if(e.delay){e.showLog&&console.log("genMock pause",e.delay);const{sleep:r}=await new Promise((u,c)=>k(["../utils/system.amd"],u,c));await r(e.delay)}const t={result:g(e,n,l),errors:void 0,nextOffset:void 0,total:void 0};if(delete t.errors,delete t.nextOffset,delete t.total,Array.isArray(t.result)&&e.total&&l&&l.limit){e.useFilter&&(t.result=t.result.filter(u=>{var c;return(c=e.useFilter)==null?void 0:c.call(e,u,l)}));const r=l.offset??0;t.result.length>l.limit+r&&(t.nextOffset=l.limit+r,t.total=e.total),t.result=t.result.slice(r,r+l.limit)}return e.showLog&&console.log("genMock complete",t),t},g=(e,n,l)=>{let t=e.seed??0;if(t===-1&&(t=Math.random()),e.result instanceof Function)return d.faker.seed(t),i(e.result);if(Array.isArray(e.result)){const r=e.result[0],u=[],c=e.total??(l==null?void 0:l.limit)??M;for(let o=0;o<c;o++)u.push(f(r,o,t,n));return u}return f(e.result,0,t,n)},f=(e,n,l,t)=>{const r={};for(const u in e){const c=e[u];t&&!t.includes(u)||(d.faker.seed(l+n),r[u]=i(c,n))}return r},i=(e,n=0)=>e(n);s.genMockItem=f,s.genMockResponse=a,s.genMockResult=g,s.genMockValue=i,Object.defineProperty(s,Symbol.toStringTag,{value:"Module"})}));
2
- //# sourceMappingURL=index-BEI7XZmU.amd.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index-BEI7XZmU.amd.js","sources":["../../src/api/api/mocker/index.ts"],"sourcesContent":["import { faker } from '@faker-js/faker';\n\nconst DEFAULT_LIMIT = 20;\n\nexport const genMockResponse = async (\n\toptions: Api.Mocker.Options<any, any>,\n\tfields?: readonly string[],\n\tparams?: Api.Mocker.Params,\n) => {\n\tif (options.delay) {\n\t\tif (options.showLog) {\n\t\t\tconsole.log('genMock pause', options.delay);\n\t\t}\n\n\t\tconst { sleep } = await import('@/core/utils/system');\n\n\t\tawait sleep(options.delay);\n\t}\n\n\tconst res = {\n\t\tresult: genMockResult(options, fields, params),\n\t\terrors: undefined,\n\t\tnextOffset: undefined as number | undefined,\n\t\ttotal: undefined as number | undefined,\n\t};\n\n\tdelete res.errors;\n\tdelete res.nextOffset;\n\tdelete res.total;\n\n\t// реализация `limit` и `offset`\n\tif (Array.isArray(res.result) && options.total && params && params.limit) {\n\t\tif (options.useFilter) {\n\t\t\tres.result = res.result.filter((resultItem) => options.useFilter?.(resultItem, params));\n\t\t}\n\n\t\tconst offset = params.offset ?? 0;\n\n\t\tif (res.result.length > params.limit + offset) {\n\t\t\tres.nextOffset = params.limit + offset;\n\t\t\tres.total = options.total;\n\t\t}\n\n\t\tres.result = res.result.slice(offset, offset + params.limit);\n\t}\n\n\tif (options.showLog) {\n\t\tconsole.log('genMock complete', res);\n\t}\n\n\treturn res;\n};\n\nexport const genMockResult = <Options extends Api.Mocker.Options<any, any>>(\n\toptions: Options,\n\tfields?: readonly string[],\n\tparams?: Api.Mocker.Params,\n): Api.Mocker.ToMockResult<Options['result']> => {\n\tlet seed: number | undefined = options.seed ?? 0;\n\tif (seed === -1) seed = Math.random();\n\n\tif (options.result instanceof Function) {\n\t\tfaker.seed(seed);\n\n\t\treturn genMockValue(options.result);\n\t}\n\n\tif (Array.isArray(options.result)) {\n\t\tconst genItem = options.result[0];\n\n\t\tconst result = [] as Api.Mocker.ToMockResult<Options['result']>;\n\n\t\t// для работы `useFilter()` применять `params.limit` можно только после применения фильтра\n\t\tconst total = options.total ?? params?.limit ?? DEFAULT_LIMIT;\n\n\t\tfor (let i = 0; i < total; i++) {\n\t\t\tresult.push(genMockItem(genItem, i, seed, fields));\n\t\t}\n\n\t\treturn result;\n\t}\n\n\treturn genMockItem(options.result, 0, seed, fields) as Api.Mocker.ToMockResult<Options['result']>;\n};\n\nexport const genMockItem = <T extends Api.Mocker.Item>(\n\tgenItem: T,\n\tn: number,\n\tseed: number,\n\tfields?: readonly string[],\n): Api.Mocker.ToMockItem<T> => {\n\tconst item = {} as Api.Mocker.ToMockItem<T>;\n\n\tfor (const key in genItem) {\n\t\tconst genValue = genItem[key];\n\n\t\tif (fields && !fields.includes(key)) continue;\n\n\t\t// seed для генерации одного объекта всегда одинаковый\n\t\tfaker.seed(seed + n);\n\n\t\titem[key] = genMockValue(genValue, n);\n\t}\n\n\treturn item;\n};\n\nexport const genMockValue = <T extends Api.Mocker.Value>(genValue: T, n: number = 0): Api.Mocker.ToMockValue<T> => {\n\treturn genValue(n);\n};\n"],"names":["genMockResponse","options","fields","params","sleep","res","offset","genMockResult","seed","faker","genMockValue","i","total","result","genMockItem","genItem","key","genValue","item"],"mappings":"yHAIOA,EAAA,MAAAC,EAAAC,EAAAC,IAAA,CAKN,GAAAF,EAAA,MAAA,CACCA,EAAA,sHAMA,MAAAG,EAAAH,EAAA,KAAA,2DAMY,MAAA,QASb,sDAAA,MAAA,QAAAI,EAAA,MAAA,GAAAJ,EAAA,OAAAE,GAAAA,EAAA,MAAA,CACCF,EAAA,mGAIA,MAAAK,EAAAH,EAAA,QAAA,EAEAE,EAAA,OAAA,OAAAF,EAAA,MAAAG,2BAECD,EAAA,MAAAJ,EAAA,OAGDI,EAAA,OAAAA,EAAA,OAAA,MAAAC,EAAAA,EAAAH,EAAA,KAAA,EAGD,OAAAF,EAAA,SACC,QAAA,IAAA,mBAAAI,CAAA,EAGDA,CACD,EAEOE,EAAA,CAAAN,EAAAC,EAAAC,IAAA,CAKN,IAAAK,EAAAP,EAAA,MAAA,EAGA,6BAAAA,EAAA,kBAAA,SACC,OAAAQ,EAAA,MAAA,KAAAD,CAAA,EAEAE,EAAAT,EAAA,MAAA,8FAWA,QAAAU,EAAA,EAAAA,EAAAC,EAAAD,IACCE,EAAA,KAAAC,EAAAC,EAAAJ,EAAAH,EAAAN,CAAA,CAAA,EAGD,OAAAW,EAGD,OAAAC,EAAAb,EAAA,OAAA,EAAAO,EAAAN,CAAA,CACD,EAEOY,EAAA,CAAAC,EAAA,EAAAP,EAAAN,IAAA,YAQN,UAAAc,KAAAD,EAAA,CACC,MAAAE,EAAAF,EAAAC,CAAA,sBAKAP,EAAA,MAAA,KAAAD,EAAA,CAAA,eAKD,OAAAU,CACD,EAEOR,EAAA,CAAAO,EAAA,EAAA,IACNA,EAAA,CAAA"}
@@ -1,48 +0,0 @@
1
- import { faker as i } from "@faker-js/faker";
2
- const d = 20, k = async (e, c, l) => {
3
- if (e.delay) {
4
- e.showLog && console.log("genMock pause", e.delay);
5
- const { sleep: r } = await import("../utils/system.js");
6
- await r(e.delay);
7
- }
8
- const t = {
9
- result: g(e, c, l),
10
- errors: void 0,
11
- nextOffset: void 0,
12
- total: void 0
13
- };
14
- if (delete t.errors, delete t.nextOffset, delete t.total, Array.isArray(t.result) && e.total && l && l.limit) {
15
- e.useFilter && (t.result = t.result.filter((u) => {
16
- var s;
17
- return (s = e.useFilter) == null ? void 0 : s.call(e, u, l);
18
- }));
19
- const r = l.offset ?? 0;
20
- t.result.length > l.limit + r && (t.nextOffset = l.limit + r, t.total = e.total), t.result = t.result.slice(r, r + l.limit);
21
- }
22
- return e.showLog && console.log("genMock complete", t), t;
23
- }, g = (e, c, l) => {
24
- let t = e.seed ?? 0;
25
- if (t === -1 && (t = Math.random()), e.result instanceof Function)
26
- return i.seed(t), o(e.result);
27
- if (Array.isArray(e.result)) {
28
- const r = e.result[0], u = [], s = e.total ?? (l == null ? void 0 : l.limit) ?? d;
29
- for (let f = 0; f < s; f++)
30
- u.push(n(r, f, t, c));
31
- return u;
32
- }
33
- return n(e.result, 0, t, c);
34
- }, n = (e, c, l, t) => {
35
- const r = {};
36
- for (const u in e) {
37
- const s = e[u];
38
- t && !t.includes(u) || (i.seed(l + c), r[u] = o(s, c));
39
- }
40
- return r;
41
- }, o = (e, c = 0) => e(c);
42
- export {
43
- n as genMockItem,
44
- k as genMockResponse,
45
- g as genMockResult,
46
- o as genMockValue
47
- };
48
- //# sourceMappingURL=index-igPkes8X.es.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index-igPkes8X.es.js","sources":["../../src/api/api/mocker/index.ts"],"sourcesContent":["import { faker } from '@faker-js/faker';\n\nconst DEFAULT_LIMIT = 20;\n\nexport const genMockResponse = async (\n\toptions: Api.Mocker.Options<any, any>,\n\tfields?: readonly string[],\n\tparams?: Api.Mocker.Params,\n) => {\n\tif (options.delay) {\n\t\tif (options.showLog) {\n\t\t\tconsole.log('genMock pause', options.delay);\n\t\t}\n\n\t\tconst { sleep } = await import('@/core/utils/system');\n\n\t\tawait sleep(options.delay);\n\t}\n\n\tconst res = {\n\t\tresult: genMockResult(options, fields, params),\n\t\terrors: undefined,\n\t\tnextOffset: undefined as number | undefined,\n\t\ttotal: undefined as number | undefined,\n\t};\n\n\tdelete res.errors;\n\tdelete res.nextOffset;\n\tdelete res.total;\n\n\t// реализация `limit` и `offset`\n\tif (Array.isArray(res.result) && options.total && params && params.limit) {\n\t\tif (options.useFilter) {\n\t\t\tres.result = res.result.filter((resultItem) => options.useFilter?.(resultItem, params));\n\t\t}\n\n\t\tconst offset = params.offset ?? 0;\n\n\t\tif (res.result.length > params.limit + offset) {\n\t\t\tres.nextOffset = params.limit + offset;\n\t\t\tres.total = options.total;\n\t\t}\n\n\t\tres.result = res.result.slice(offset, offset + params.limit);\n\t}\n\n\tif (options.showLog) {\n\t\tconsole.log('genMock complete', res);\n\t}\n\n\treturn res;\n};\n\nexport const genMockResult = <Options extends Api.Mocker.Options<any, any>>(\n\toptions: Options,\n\tfields?: readonly string[],\n\tparams?: Api.Mocker.Params,\n): Api.Mocker.ToMockResult<Options['result']> => {\n\tlet seed: number | undefined = options.seed ?? 0;\n\tif (seed === -1) seed = Math.random();\n\n\tif (options.result instanceof Function) {\n\t\tfaker.seed(seed);\n\n\t\treturn genMockValue(options.result);\n\t}\n\n\tif (Array.isArray(options.result)) {\n\t\tconst genItem = options.result[0];\n\n\t\tconst result = [] as Api.Mocker.ToMockResult<Options['result']>;\n\n\t\t// для работы `useFilter()` применять `params.limit` можно только после применения фильтра\n\t\tconst total = options.total ?? params?.limit ?? DEFAULT_LIMIT;\n\n\t\tfor (let i = 0; i < total; i++) {\n\t\t\tresult.push(genMockItem(genItem, i, seed, fields));\n\t\t}\n\n\t\treturn result;\n\t}\n\n\treturn genMockItem(options.result, 0, seed, fields) as Api.Mocker.ToMockResult<Options['result']>;\n};\n\nexport const genMockItem = <T extends Api.Mocker.Item>(\n\tgenItem: T,\n\tn: number,\n\tseed: number,\n\tfields?: readonly string[],\n): Api.Mocker.ToMockItem<T> => {\n\tconst item = {} as Api.Mocker.ToMockItem<T>;\n\n\tfor (const key in genItem) {\n\t\tconst genValue = genItem[key];\n\n\t\tif (fields && !fields.includes(key)) continue;\n\n\t\t// seed для генерации одного объекта всегда одинаковый\n\t\tfaker.seed(seed + n);\n\n\t\titem[key] = genMockValue(genValue, n);\n\t}\n\n\treturn item;\n};\n\nexport const genMockValue = <T extends Api.Mocker.Value>(genValue: T, n: number = 0): Api.Mocker.ToMockValue<T> => {\n\treturn genValue(n);\n};\n"],"names":["DEFAULT_LIMIT","genMockResponse","options","fields","params","sleep","res","genMockResult","resultItem","_a","offset","seed","faker","genMockValue","genItem","result","total","i","genMockItem","n","item","key","genValue"],"mappings":";AAEA,MAAMA,IAAgB,IAETC,IAAkB,OAC9BC,GACAC,GACAC,MACI;AACJ,MAAIF,EAAQ,OAAO;AAClB,IAAIA,EAAQ,WACX,QAAQ,IAAI,iBAAiBA,EAAQ,KAAK;AAG3C,UAAM,EAAE,OAAAG,EAAA,IAAU,MAAM,OAAO,oBAAqB;AAEpD,UAAMA,EAAMH,EAAQ,KAAK;AAAA,EAC1B;AAEA,QAAMI,IAAM;AAAA,IACX,QAAQC,EAAcL,GAASC,GAAQC,CAAM;AAAA,IAC7C,QAAQ;AAAA,IACR,YAAY;AAAA,IACZ,OAAO;AAAA,EAAA;AAQR,MALA,OAAOE,EAAI,QACX,OAAOA,EAAI,YACX,OAAOA,EAAI,OAGP,MAAM,QAAQA,EAAI,MAAM,KAAKJ,EAAQ,SAASE,KAAUA,EAAO,OAAO;AACzE,IAAIF,EAAQ,cACXI,EAAI,SAASA,EAAI,OAAO,OAAO,CAACE;;AAAe,cAAAC,IAAAP,EAAQ,cAAR,gBAAAO,EAAA,KAAAP,GAAoBM,GAAYJ;AAAA,KAAO;AAGvF,UAAMM,IAASN,EAAO,UAAU;AAEhC,IAAIE,EAAI,OAAO,SAASF,EAAO,QAAQM,MACtCJ,EAAI,aAAaF,EAAO,QAAQM,GAChCJ,EAAI,QAAQJ,EAAQ,QAGrBI,EAAI,SAASA,EAAI,OAAO,MAAMI,GAAQA,IAASN,EAAO,KAAK;AAAA,EAC5D;AAEA,SAAIF,EAAQ,WACX,QAAQ,IAAI,oBAAoBI,CAAG,GAG7BA;AACR,GAEaC,IAAgB,CAC5BL,GACAC,GACAC,MACgD;AAChD,MAAIO,IAA2BT,EAAQ,QAAQ;AAG/C,MAFIS,MAAS,OAAIA,IAAO,KAAK,OAAA,IAEzBT,EAAQ,kBAAkB;AAC7B,WAAAU,EAAM,KAAKD,CAAI,GAERE,EAAaX,EAAQ,MAAM;AAGnC,MAAI,MAAM,QAAQA,EAAQ,MAAM,GAAG;AAClC,UAAMY,IAAUZ,EAAQ,OAAO,CAAC,GAE1Ba,IAAS,CAAA,GAGTC,IAAQd,EAAQ,UAASE,KAAA,gBAAAA,EAAQ,UAASJ;AAEhD,aAASiB,IAAI,GAAGA,IAAID,GAAOC;AAC1B,MAAAF,EAAO,KAAKG,EAAYJ,GAASG,GAAGN,GAAMR,CAAM,CAAC;AAGlD,WAAOY;AAAA,EACR;AAEA,SAAOG,EAAYhB,EAAQ,QAAQ,GAAGS,GAAMR,CAAM;AACnD,GAEae,IAAc,CAC1BJ,GACAK,GACAR,GACAR,MAC8B;AAC9B,QAAMiB,IAAO,CAAA;AAEb,aAAWC,KAAOP,GAAS;AAC1B,UAAMQ,IAAWR,EAAQO,CAAG;AAE5B,IAAIlB,KAAU,CAACA,EAAO,SAASkB,CAAG,MAGlCT,EAAM,KAAKD,IAAOQ,CAAC,GAEnBC,EAAKC,CAAG,IAAIR,EAAaS,GAAUH,CAAC;AAAA,EACrC;AAEA,SAAOC;AACR,GAEaP,IAAe,CAA6BS,GAAaH,IAAY,MAC1EG,EAASH,CAAC;"}
@@ -1,2 +0,0 @@
1
- define(["require","exports","vue","./forms-CNcrvkYD.amd","../popup/worker.amd","../require/css.amd!../assets/listItem.css"],(function(w,y,e,v,B){"use strict";if(typeof e>"u")var e=window.Vue;const h=e.defineComponent({__name:"opener",props:{id:{},pos:{default:"3"},notch:{type:Boolean,default:!0},openByFocus:{type:Boolean},openByHover:{type:Boolean},posBy:{default:"fixed"},data:{}},setup(i){const s=i,n=s.id||Math.random()+"";let p;function m(t){setTimeout(()=>{p=t.nextElementSibling,p&&l(p)})}e.onUpdated(()=>{p&&l(p)});function l(t){t.dataset.topPopup="#"+n,t.dataset.topPopupId=n,t.dataset.topPopupPos=s.pos,t.dataset.topPopupPosBy=s.posBy,t.dataset.topPopupNotch=s.notch?"true":"",t.dataset.topPopupOpenByFocus=s.openByFocus?"true":"",t.dataset.topPopupOpenByHover=s.openByHover?"true":"",t.__TopPopupOpenerProps=s,s.openByFocus&&t.children[0]&&(t.children[0].onfocus=()=>{B.TopPopupWorker.openByOpener(t)})}return(t,c)=>(e.openBlock(),e.createElementBlock(e.Fragment,null,[e.createElementVNode("template",{ref:m}),e.renderSlot(t.$slots,"default")],64))}}),$={key:0,class:"top-popup_header"},C={key:0,class:"top-as-a closer"},P={key:1,class:"top-popup_widget"},_={key:2,class:"top-popup_content"},S={key:4,class:"top-popup_footer"},E=["href"],N=e.defineComponent({__name:"popup",props:{id:{default:""},class:{},transitionDuration:{},footerSupportLink:{},pos:{default:"3"},notch:{type:Boolean,default:!0},openByFocus:{type:Boolean},openByHover:{type:Boolean},posBy:{default:"fixed"},data:{}},emits:["open","close","scrollContentList"],setup(i,{expose:s,emit:n}){const p=i,m=n,l=p.id||"top-popup-id-"+Math.random(),t={id:l,popup:void 0};s(t);const c=e.ref(null),f=e.ref(null),r=e.ref(),u={onOpen:async o=>{o.elPopup&&(c.value=o.elPopup),o.elPopupInner&&(o.elPopupInner.innerText="",f.value=o.elPopupInner),u.opened=!0,u.popup=o,t.popup=o,r.value=o.el.__TopPopupOpenerProps.data,m("open",{elPopup:o.elPopup,elPopupOpener:o.el,data:r.value})},onClose:o=>{f.value=null,u.opened=!1,u.popup=void 0,r.value=void 0,m("close",{elPopup:o.elPopup,elPopupOpener:o.el,data:o.el.__TopPopupOpenerProps.data})},classRef:e.toRef(p,"class"),opened:!1,popup:void 0,transitionDurationRef:e.toRef(p,"transitionDuration")};return e.watch(()=>p.class,(o,a)=>{if(!c.value)return;const d=(o==null?void 0:o.split(" "))??[],L=((a==null?void 0:a.split(" "))??[]).filter(F=>!d.includes(F));c.value.classList.remove(...L),c.value.classList.add(...d)}),B.TopPopupWorker.regVueComponent(l,u),e.onUnmounted(()=>{B.TopPopupWorker.unregVueComponent(l)}),(o,a)=>{const d=e.resolveDirective("top-scroll-shadow");return e.openBlock(),e.createElementBlock(e.Fragment,null,[o.$slots.opener?(e.openBlock(),e.createBlock(h,{key:0,id:e.unref(l),pos:o.pos,posBy:o.posBy,notch:o.notch,openByFocus:o.openByFocus,openByHover:o.$core.state.isMobile||o.$core.state.isMobileUA?!1:o.openByHover},{default:e.withCtx(()=>[e.renderSlot(o.$slots,"opener")]),_:3},8,["id","pos","posBy","notch","openByFocus","openByHover"])):e.createCommentVNode("",!0),f.value?(e.openBlock(),e.createBlock(e.Teleport,{key:1,to:f.value},[o.$slots.header||o.$core.state.isMobile?(e.openBlock(),e.createElementBlock("div",$,[o.$core.state.isMobile?(e.openBlock(),e.createElementBlock("span",C,e.toDisplayString(o.$i18n.Common.Close),1)):e.createCommentVNode("",!0),e.renderSlot(o.$slots,"header",{data:r.value})])):e.createCommentVNode("",!0),o.$slots.widget?(e.openBlock(),e.createElementBlock("div",P,[e.renderSlot(o.$slots,"widget")])):e.createCommentVNode("",!0),o.$slots.content?e.withDirectives((e.openBlock(),e.createElementBlock("div",_,[e.renderSlot(o.$slots,"content",{data:r.value})])),[[d]]):e.createCommentVNode("",!0),o.$slots.contentList?e.withDirectives((e.openBlock(),e.createElementBlock("ul",{key:3,class:"top-popup_content",onScroll:a[0]||(a[0]=k=>o.$emit("scrollContentList",k))},[e.renderSlot(o.$slots,"contentList",{data:r.value})],32)),[[d]]):e.createCommentVNode("",!0),o.$slots.footer||o.footerSupportLink?(e.openBlock(),e.createElementBlock("div",S,[o.footerSupportLink?(e.openBlock(),e.createElementBlock("a",{key:0,class:"top-popup_footerSupportLink",href:o.footerSupportLink,target:"_blank"},[e.createVNode(v._sfc_main$2,{hint:""})],8,E)):e.createCommentVNode("",!0),e.renderSlot(o.$slots,"footer",{data:r.value})])):e.createCommentVNode("",!0)],8,["to"])):e.createCommentVNode("",!0)],64)}}}),b={class:"top-popup_listItemActionsLabel top-ellipsis1"},g={class:"top-popup_listItemActions"},I=e.defineComponent({inheritAttrs:!1,__name:"listItem",props:{type:{default:"button"},closeByClick:{type:Boolean,default:!0}},setup(i){const s=i;return(n,p)=>(e.openBlock(),e.createElementBlock("li",{class:e.normalizeClass({"top-popup_liNoSelectable":s.type!=="button"})},[(e.openBlock(),e.createBlock(e.resolveDynamicComponent(n.$attrs.href?"a":"div"),e.mergeProps({class:{"top-popup_listItem":!0,["top-popup_listItem-"+s.type]:!!s.type,"top-popup_liastItem-withActions":n.$slots.actions,"top-popup-noCloser":!n.closeByClick,a:s.type==="button"}},n.$attrs),{default:e.withCtx(()=>[n.$slots.actions?(e.openBlock(),e.createElementBlock(e.Fragment,{key:0},[e.createElementVNode("div",b,[e.renderSlot(n.$slots,"default")]),e.createElementVNode("div",g,[e.renderSlot(n.$slots,"actions")])],64)):e.renderSlot(n.$slots,"default",{key:1})]),_:3},16,["class"])),e.renderSlot(n.$slots,"buttons")],2))}});y._sfc_main=N,y._sfc_main$1=I}));
2
- //# sourceMappingURL=listItem.vue_vue_type_script_setup_true_lang-QvP1d9jN.amd.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"listItem.vue_vue_type_script_setup_true_lang-QvP1d9jN.amd.js","sources":["../../src/components/popup/popup/opener/opener.vue","../../src/components/popup/popup/popup.vue","../../src/components/popup/popup/listItem.vue"],"sourcesContent":["<script setup lang=\"ts\" generic=\"T extends Record<string, any> | undefined = undefined\">\nimport { onUpdated } from 'vue';\nimport type { OpenerProps } from './types';\nimport Worker from '../../lib/worker';\n\nconst props = withDefaults(defineProps<OpenerProps<T>>(), {\n\tpos: '3',\n\tnotch: true,\n\tposBy: 'fixed',\n});\n\nconst id = props.id || Math.random() + '';\n\nlet elOpener: Element;\n\n/**\n * Необычная функция для проброски props внутрь элемента слота\n *\n * @param el - вспомогательный элемент для доступа к элементам слота\n */\nfunction render(el: any) {\n\tsetTimeout(() => {\n\t\telOpener = el.nextElementSibling;\n\n\t\tif (elOpener) {\n\t\t\trenderOpener(elOpener);\n\t\t}\n\t});\n}\n\nonUpdated(() => {\n\tif (elOpener) {\n\t\trenderOpener(elOpener);\n\t}\n});\n\nfunction renderOpener(elOpener: any) {\n\t/**\n\t * topPopup - необходимый атрибут для всез Popup\n\t *\n\t * Для Vue вместо него используется атрибут topPopupId\n\t */\n\telOpener.dataset.topPopup = '#' + id;\n\n\telOpener.dataset.topPopupId = id;\n\telOpener.dataset.topPopupPos = props.pos;\n\telOpener.dataset.topPopupPosBy = props.posBy;\n\telOpener.dataset.topPopupNotch = props.notch ? 'true' : '';\n\telOpener.dataset.topPopupOpenByFocus = props.openByFocus ? 'true' : '';\n\telOpener.dataset.topPopupOpenByHover = props.openByHover ? 'true' : '';\n\telOpener.__TopPopupOpenerProps = props;\n\n\tif (props.openByFocus && elOpener.children[0]) {\n\t\telOpener.children[0].onfocus = () => {\n\t\t\tWorker.openByOpener(elOpener);\n\t\t};\n\t}\n}\n</script>\n\n<template>\n\t<template :ref=\"render\"></template>\n\n\t<!-- @slot элемент для открытия Popup -->\n\t<slot></slot>\n</template>\n\n<!-- Использует общий deprecated класс .btn -->\n<style>\nh3[data-top-popup],\ndiv[data-top-popup],\ni[data-top-popup]:not(.btn),\nb[data-top-popup]:not(.btn) {\n\tcursor: pointer;\n\tuser-select: none;\n\tfont-style: normal;\n\ttext-decoration: none;\n\tdisplay: inline-flex;\n\talign-items: center;\n}\n\n[data-top-popup][data-top-popup-disabled] {\n\tpointer-events: none;\n\tcursor: auto !important;\n}\n\ni[contenteditable] {\n\tcursor: text !important;\n}\n</style>\n","<script setup lang=\"ts\" generic=\"T extends Record<string, any> | undefined = undefined\">\nimport { onUnmounted, ref, toRef, watch } from 'vue';\nimport TopHint from '@/components/forms/hint/hint.vue';\nimport type { TopLibPopup } from '@/components/popup/lib/popup';\nimport type { Emits, Props } from './types';\nimport Opener from './opener/opener.vue';\nimport Worker from '@/components/popup/lib/worker';\n\nconst props = withDefaults(defineProps<Props<T>>(), {\n\tid: '',\n\tpos: '3',\n\tnotch: true,\n\tposBy: 'fixed',\n});\n\nconst emit = defineEmits<Emits<T>>();\n\nconst id = props.id || 'top-popup-id-' + Math.random() + '';\n\nconst expose = {\n\tid,\n\tpopup: undefined as TopLibPopup<T> | undefined,\n};\n\ndefineExpose(expose);\n\nconst elPopupRef = ref<HTMLElement | null>(null);\nconst elPopupInnerRef = ref<HTMLElement | null>(null);\n\nconst data = ref<T>();\n\n// см. lib/popup\nconst onOpen = async (popup: TopLibPopup<T>) => {\n\tif (popup.elPopup) elPopupRef.value = popup.elPopup;\n\n\tif (popup.elPopupInner) {\n\t\tpopup.elPopupInner.innerText = '';\n\n\t\telPopupInnerRef.value = popup.elPopupInner;\n\t}\n\n\tvueConnector.opened = true;\n\tvueConnector.popup = popup;\n\n\texpose.popup = popup;\n\n\tdata.value = popup.el.__TopPopupOpenerProps.data;\n\n\temit('open', { elPopup: popup.elPopup!, elPopupOpener: popup.el, data: data.value });\n};\n\n// см. lib/popup\nconst onClose = (popup: TopLibPopup<T>) => {\n\telPopupInnerRef.value = null;\n\n\tvueConnector.opened = false;\n\tvueConnector.popup = undefined;\n\n\tdata.value = undefined;\n\n\temit('close', { elPopup: popup.elPopup!, elPopupOpener: popup.el, data: popup.el.__TopPopupOpenerProps.data });\n};\n\nconst vueConnector = {\n\tonOpen,\n\tonClose,\n\tclassRef: toRef(props, 'class'),\n\topened: false,\n\tpopup: undefined as TopLibPopup<T> | undefined,\n\ttransitionDurationRef: toRef(props, 'transitionDuration'),\n};\n\nwatch(() => props.class, (newValue, oldValue) => {\n\tif (!elPopupRef.value) return;\n\n\tconst newClasses = newValue?.split(' ') ?? [];\n\tconst oldClasses = oldValue?.split(' ') ?? [];\n\n\tconst delClasses = oldClasses.filter((oldClass) => !newClasses.includes(oldClass));\n\n\telPopupRef.value.classList.remove(...delClasses);\n\telPopupRef.value.classList.add(...newClasses);\n});\n\nWorker.regVueComponent(id, vueConnector);\n\nonUnmounted(() => {\n\tWorker.unregVueComponent(id);\n});\n</script>\n\n<template>\n\t<Opener\n\t\tv-if=\"$slots.opener\"\n\t\t:id=\"id\"\n\t\t:pos=\"pos\"\n\t\t:posBy=\"posBy\"\n\t\t:notch=\"notch\"\n\t\t:openByFocus\n\t\t:openByHover=\"($core.state.isMobile || $core.state.isMobileUA) ? false : openByHover\"\n\t>\n\t\t<!-- @slot элемент для открытия Popup -->\n\t\t<slot name=\"opener\"></slot>\n\t</Opener>\n\n\t<!-- Это шаблон для компонента Popup, сам Popup генерируется в js и может находиться где угодно -->\n\t<!-- elPopupInnerRef будет установлен только после открытия и будет сброшен сразу после закрытия Popup -->\n\t<teleport\n\t\tv-if=\"elPopupInnerRef\"\n\t\t:to=\"elPopupInnerRef\"\n\t>\n\t\t<div\n\t\t\tv-if=\"$slots.header || $core.state.isMobile\"\n\t\t\tclass=\"top-popup_header\"\n\t\t>\n\t\t\t<span\n\t\t\t\tv-if=\"$core.state.isMobile\"\n\t\t\t\tclass=\"top-as-a closer\"\n\t\t\t>\n\t\t\t\t{{ $i18n.Common.Close }}\n\t\t\t</span>\n\n\t\t\t<!-- @slot Шапка -->\n\t\t\t<slot name=\"header\" :data=\"data\"></slot>\n\t\t</div>\n\n\t\t<div\n\t\t\tv-if=\"$slots.widget\"\n\t\t\tclass=\"top-popup_widget\"\n\t\t>\n\t\t\t<!-- @slot Виджет -->\n\t\t\t<slot name=\"widget\"></slot>\n\t\t</div>\n\n\t\t<div\n\t\t\tv-if=\"$slots.content\"\n\t\t\tclass=\"top-popup_content\"\n\t\t\tv-top-scroll-shadow\n\t\t>\n\t\t\t<!-- @slot Контент в свободной форме -->\n\t\t\t<slot name=\"content\" :data=\"data\"></slot>\n\t\t</div>\n\n\t\t<ul\n\t\t\tv-if=\"$slots.contentList\"\n\t\t\tclass=\"top-popup_content\"\n\t\t\t@scroll=\"$emit('scrollContentList', $event)\"\n\t\t\tv-top-scroll-shadow\n\t\t>\n\t\t\t<!-- @slot Контент в виде списка, для вставки элементов списка используйте компонент popup/listItem -->\n\t\t\t<slot name=\"contentList\" :data=\"data\"></slot>\n\t\t</ul>\n\n\t\t<div\n\t\t\tv-if=\"$slots.footer || footerSupportLink\"\n\t\t\tclass=\"top-popup_footer\"\n\t\t>\n\t\t\t<a\n\t\t\t\tv-if=\"footerSupportLink\"\n\t\t\t\tclass=\"top-popup_footerSupportLink\"\n\t\t\t\t:href=\"footerSupportLink\"\n\t\t\t\ttarget=\"_blank\"\n\t\t\t>\n\t\t\t\t<TopHint hint=\"\"/>\n\t\t\t</a>\n\n\t\t\t<!-- @slot Футер -->\n\t\t\t<slot name=\"footer\" :data=\"data\"></slot>\n\t\t</div>\n\t</teleport>\n</template>\n\n<style>\n.top-popup_footerSupportLink {\n\tmargin-right: auto;\n}\n</style>\n","<script setup lang=\"ts\">\nimport type { ListItemProps } from './types';\n\ndefineOptions({\n\tinheritAttrs: false,\n});\n\nconst props = withDefaults(defineProps<ListItemProps>(), {\n\ttype: 'button',\n\tcloseByClick: true,\n});\n</script>\n\n<template>\n\t<li\n\t\t:class=\"{\n\t\t'top-popup_liNoSelectable': props.type !== 'button'\n\t}\"\n\t>\n\t\t<component\n\t\t\t:is=\"$attrs.href ? 'a' : 'div'\"\n\t\t\t:class=\"{\n\t\t\t\t'top-popup_listItem': true,\n\t\t\t\t['top-popup_listItem-' + props.type]: !!props.type,\n\t\t\t\t'top-popup_liastItem-withActions': $slots.actions,\n\t\t\t\t'top-popup-noCloser': !closeByClick,\n\n\t\t\t\t'a': props.type === 'button', // оформления кнопки, deprecated\n\t\t\t}\"\n\t\t\t:=$attrs\n\t\t>\n\t\t\t<template v-if=\"$slots.actions\">\n\t\t\t\t<div class=\"top-popup_listItemActionsLabel top-ellipsis1\">\n\t\t\t\t\t<slot></slot>\n\t\t\t\t</div>\n\n\t\t\t\t<div class=\"top-popup_listItemActions\">\n\t\t\t\t\t<slot name=\"actions\"></slot>\n\t\t\t\t</div>\n\t\t\t</template>\n\n\t\t\t<template v-else>\n\t\t\t\t<slot></slot>\n\t\t\t</template>\n\t\t</component>\n\n\t\t<slot name=\"buttons\"></slot>\n\t</li>\n</template>\n"],"names":["id","props","elOpener","render","el","renderOpener","elOpener2","popup_worker","vue","_ctx","elPopupRef","elPopupInnerRef","data","popup","vueConnector","expose","delClasses","oldClass","newClasses","pos","posBy","notch","openByHover","_hoisted_2$1","footerSupportLink","closeByClick","_hoisted_1"],"mappings":"mZAWAA,EAAAC,EAAA,IAAA,KAAA,OAAA,EAAA,GAEA,IAAAC,EAOA,SAAAC,EAAAC,EAAA,iBAEEF,EAAAE,EAAA,0BAIA,CAAA,0BAOD,CAAA,EAGD,SAAAC,EAAAC,EAAA,0BAQCA,EAAA,QAAA,WAAAN,8DAGAM,EAAA,QAAA,cAAAL,EAAA,MAAA,OAAA,GACAK,EAAA,QAAA,oBAAAL,EAAA,YAAA,OAAA,GACAK,EAAA,QAAA,oBAAAL,EAAA,YAAA,OAAA,GACAK,EAAA,sBAAAL,4DAIEM,EAAA,eAAA,aAAAD,CAAA,CAA4B,8GAORE,EAAA,WAAAC,EAAA,OAAA,SAAA,ihBC5CvBT,EAAAC,EAAA,IAAA,gBAAA,KAAA,OAAA,KAEe,GAAAD,EACd,MAAA,aAMD,MAAAU,EAAAF,EAAA,IAAA,IAAA,EACAG,EAAAH,EAAA,IAAA,IAAA,EAEAI,EAAAJ,EAAA,IAAA,KAkCqB,OA/BrB,MAAAK,GAAA,gCAGCA,EAAA,eACCA,EAAA,aAAA,UAAA,GAEAF,EAAA,MAAAE,EAAA,cAGDC,EAAA,OAAA,GACAA,EAAA,MAAAD,EAEAE,EAAA,MAAAF,uGAImF,EAgBnF,QAZDA,GAAA,CACCF,EAAA,MAAA,KAEAG,EAAA,OAAA,GACAA,EAAA,MAAA,OAEAF,EAAA,MAAA,6FAE6G,EAK7G,SAAAJ,EAAA,MAAAP,EAAA,OAAA,yBAGO,sBAAAO,EAAA,MAAAP,EAAA,oBAAA,sCAKP,GAAA,CAAAS,EAAA,MAAA,iDAKAM,sCAAA,OAAAC,GAAA,CAAAC,EAAA,SAAAD,CAAA,CAAA,4DAG4C,CAAA,EAG7CV,EAAA,eAAA,gBAAAP,EAAAc,CAAA,qBAGCP,EAAA,eAAA,kBAAAP,CAAA,CAA2B,CAAA,yLAOrB,IAAAS,EAAA,IACCU,MAAAA,EAAAA,MACEC,MAAAA,EAAAA,MACAC,YAAAA,EAAAA,yFAEiEC,EAAAA,wBAG9Cd,EAAA,WAAAC,EAAA,OAAA,QAAA,CAAA,CAAA,iKAOtB,EAAA,sFAeCA,EAAA,MAAA,MAAA,UAAAD,EAAA,UAAA,EAAAA,EAAA,mBAAA,OAAAe,EAAAf,EAAA,gBAAAC,EAAA,MAAA,OAAA,KAAA,EAAA,CAAA,GAAAD,EAAA,mBAAA,GAAA,EAAA,gDAD0B,CAAA,GAAAA,EAAA,mBAAA,GAAA,EAAA,+DAS1BA,EAAA,WAAAC,EAAA,OAAA,QAAA,CADsB,CAAA,GAAAD,EAAA,mBAAA,GAAA,EAAA,iFAUtBA,EAAA,WAAAC,EAAA,OAAA,UAAA,CAAA,KAAAG,EAAA,KAAA,CAAA,CAD2B,CAAA,GAAA,0MAMU,EAAA,uRAanC,KAAAH,EAAA,kBACCe,OAAAA,QACA,EAAA,yHAMuB,CAAA,GAAAhB,EAAA,mBAAA,GAAA,EAAA,kXCxJ1B,2BAAAP,EAAA,OAAA,2GA6BM,MAAA,iEAvBiF,kCAAAQ,EAAA,OAAA,QAAoD,qBAAA,CAAAA,EAAA,aAAoCgB,EAAAA,EAAAA,OAAAA,QAAkC,cAQ9M,QAAAjB,EAAA,QAAA,IAAA,CAUGC,EAAA,OAAA,SAAAD,EAAA,UAAA,EAAAA,EAAA,mBAAAA,EAAA,SAAA,CAAA,IAAA,CAAA,EAAA,CAAAA,EAAA,mBAAA,MAAAkB,EAAA,CALJlB,EAAA,WAAAC,EAAA,OAAA,SAAA,CADQ,CAAA,gCAKRD,EAAA,WAAAC,EAAA,OAAA,SAAA,kDAIO,CAAA"}
@@ -1,196 +0,0 @@
1
-
2
- import { Core as _autoloadCSSCore } from '../core/app.js';
3
- const fileNames = ['../assets/listItem.css'].map(fileName => import.meta.resolve(fileName));
4
- _autoloadCSSCore.insertCSSLinkToPage(fileNames, true);
5
-
6
- import { defineComponent as _, onUpdated as D, createElementBlock as a, openBlock as p, Fragment as C, createElementVNode as $, renderSlot as l, ref as h, toRef as L, watch as H, onUnmounted as T, resolveDirective as w, createBlock as P, createCommentVNode as r, unref as M, withCtx as g, Teleport as A, withDirectives as I, toDisplayString as N, createVNode as R, normalizeClass as E, resolveDynamicComponent as U, mergeProps as O } from "vue";
7
- import { f as W } from "./forms-BhbgRJ5I.es.js";
8
- import { TopPopupWorker as k } from "../popup/worker.js";
9
- const z = /* @__PURE__ */ _({
10
- __name: "opener",
11
- props: {
12
- id: {},
13
- pos: { default: "3" },
14
- notch: { type: Boolean, default: !0 },
15
- openByFocus: { type: Boolean },
16
- openByHover: { type: Boolean },
17
- posBy: { default: "fixed" },
18
- data: {}
19
- },
20
- setup(c) {
21
- const t = c, s = t.id || Math.random() + "";
22
- let n;
23
- function v(e) {
24
- setTimeout(() => {
25
- n = e.nextElementSibling, n && i(n);
26
- });
27
- }
28
- D(() => {
29
- n && i(n);
30
- });
31
- function i(e) {
32
- e.dataset.topPopup = "#" + s, e.dataset.topPopupId = s, e.dataset.topPopupPos = t.pos, e.dataset.topPopupPosBy = t.posBy, e.dataset.topPopupNotch = t.notch ? "true" : "", e.dataset.topPopupOpenByFocus = t.openByFocus ? "true" : "", e.dataset.topPopupOpenByHover = t.openByHover ? "true" : "", e.__TopPopupOpenerProps = t, t.openByFocus && e.children[0] && (e.children[0].onfocus = () => {
33
- k.openByOpener(e);
34
- });
35
- }
36
- return (e, f) => (p(), a(C, null, [
37
- $("template", { ref: v }),
38
- l(e.$slots, "default")
39
- ], 64));
40
- }
41
- }), j = {
42
- key: 0,
43
- class: "top-popup_header"
44
- }, q = {
45
- key: 0,
46
- class: "top-as-a closer"
47
- }, G = {
48
- key: 1,
49
- class: "top-popup_widget"
50
- }, J = {
51
- key: 2,
52
- class: "top-popup_content"
53
- }, K = {
54
- key: 4,
55
- class: "top-popup_footer"
56
- }, Q = ["href"], to = /* @__PURE__ */ _({
57
- __name: "popup",
58
- props: {
59
- id: { default: "" },
60
- class: {},
61
- transitionDuration: {},
62
- footerSupportLink: {},
63
- pos: { default: "3" },
64
- notch: { type: Boolean, default: !0 },
65
- openByFocus: { type: Boolean },
66
- openByHover: { type: Boolean },
67
- posBy: { default: "fixed" },
68
- data: {}
69
- },
70
- emits: ["open", "close", "scrollContentList"],
71
- setup(c, { expose: t, emit: s }) {
72
- const n = c, v = s, i = n.id || "top-popup-id-" + Math.random(), e = {
73
- id: i,
74
- popup: void 0
75
- };
76
- t(e);
77
- const f = h(null), B = h(null), u = h(), y = {
78
- onOpen: async (o) => {
79
- o.elPopup && (f.value = o.elPopup), o.elPopupInner && (o.elPopupInner.innerText = "", B.value = o.elPopupInner), y.opened = !0, y.popup = o, e.popup = o, u.value = o.el.__TopPopupOpenerProps.data, v("open", { elPopup: o.elPopup, elPopupOpener: o.el, data: u.value });
80
- },
81
- onClose: (o) => {
82
- B.value = null, y.opened = !1, y.popup = void 0, u.value = void 0, v("close", { elPopup: o.elPopup, elPopupOpener: o.el, data: o.el.__TopPopupOpenerProps.data });
83
- },
84
- classRef: L(n, "class"),
85
- opened: !1,
86
- popup: void 0,
87
- transitionDurationRef: L(n, "transitionDuration")
88
- };
89
- return H(() => n.class, (o, d) => {
90
- if (!f.value) return;
91
- const m = (o == null ? void 0 : o.split(" ")) ?? [], S = ((d == null ? void 0 : d.split(" ")) ?? []).filter((F) => !m.includes(F));
92
- f.value.classList.remove(...S), f.value.classList.add(...m);
93
- }), k.regVueComponent(i, y), T(() => {
94
- k.unregVueComponent(i);
95
- }), (o, d) => {
96
- const m = w("top-scroll-shadow");
97
- return p(), a(C, null, [
98
- o.$slots.opener ? (p(), P(z, {
99
- key: 0,
100
- id: M(i),
101
- pos: o.pos,
102
- posBy: o.posBy,
103
- notch: o.notch,
104
- openByFocus: o.openByFocus,
105
- openByHover: o.$core.state.isMobile || o.$core.state.isMobileUA ? !1 : o.openByHover
106
- }, {
107
- default: g(() => [
108
- l(o.$slots, "opener")
109
- ]),
110
- _: 3
111
- }, 8, ["id", "pos", "posBy", "notch", "openByFocus", "openByHover"])) : r("", !0),
112
- B.value ? (p(), P(A, {
113
- key: 1,
114
- to: B.value
115
- }, [
116
- o.$slots.header || o.$core.state.isMobile ? (p(), a("div", j, [
117
- o.$core.state.isMobile ? (p(), a("span", q, N(o.$i18n.Common.Close), 1)) : r("", !0),
118
- l(o.$slots, "header", { data: u.value })
119
- ])) : r("", !0),
120
- o.$slots.widget ? (p(), a("div", G, [
121
- l(o.$slots, "widget")
122
- ])) : r("", !0),
123
- o.$slots.content ? I((p(), a("div", J, [
124
- l(o.$slots, "content", { data: u.value })
125
- ])), [
126
- [m]
127
- ]) : r("", !0),
128
- o.$slots.contentList ? I((p(), a("ul", {
129
- key: 3,
130
- class: "top-popup_content",
131
- onScroll: d[0] || (d[0] = (b) => o.$emit("scrollContentList", b))
132
- }, [
133
- l(o.$slots, "contentList", { data: u.value })
134
- ], 32)), [
135
- [m]
136
- ]) : r("", !0),
137
- o.$slots.footer || o.footerSupportLink ? (p(), a("div", K, [
138
- o.footerSupportLink ? (p(), a("a", {
139
- key: 0,
140
- class: "top-popup_footerSupportLink",
141
- href: o.footerSupportLink,
142
- target: "_blank"
143
- }, [
144
- R(W, { hint: "" })
145
- ], 8, Q)) : r("", !0),
146
- l(o.$slots, "footer", { data: u.value })
147
- ])) : r("", !0)
148
- ], 8, ["to"])) : r("", !0)
149
- ], 64);
150
- };
151
- }
152
- }), X = { class: "top-popup_listItemActionsLabel top-ellipsis1" }, Y = { class: "top-popup_listItemActions" }, so = /* @__PURE__ */ _({
153
- inheritAttrs: !1,
154
- __name: "listItem",
155
- props: {
156
- type: { default: "button" },
157
- closeByClick: { type: Boolean, default: !0 }
158
- },
159
- setup(c) {
160
- const t = c;
161
- return (s, n) => (p(), a("li", {
162
- class: E({
163
- "top-popup_liNoSelectable": t.type !== "button"
164
- })
165
- }, [
166
- (p(), P(U(s.$attrs.href ? "a" : "div"), O({
167
- class: {
168
- "top-popup_listItem": !0,
169
- ["top-popup_listItem-" + t.type]: !!t.type,
170
- "top-popup_liastItem-withActions": s.$slots.actions,
171
- "top-popup-noCloser": !s.closeByClick,
172
- a: t.type === "button"
173
- // оформления кнопки, deprecated
174
- }
175
- }, s.$attrs), {
176
- default: g(() => [
177
- s.$slots.actions ? (p(), a(C, { key: 0 }, [
178
- $("div", X, [
179
- l(s.$slots, "default")
180
- ]),
181
- $("div", Y, [
182
- l(s.$slots, "actions")
183
- ])
184
- ], 64)) : l(s.$slots, "default", { key: 1 })
185
- ]),
186
- _: 3
187
- }, 16, ["class"])),
188
- l(s.$slots, "buttons")
189
- ], 2));
190
- }
191
- });
192
- export {
193
- to as _,
194
- so as a
195
- };
196
- //# sourceMappingURL=listItem.vue_vue_type_script_setup_true_lang-xvzbyqai.es.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"listItem.vue_vue_type_script_setup_true_lang-xvzbyqai.es.js","sources":["../../src/components/popup/popup/opener/opener.vue","../../src/components/popup/popup/popup.vue","../../src/components/popup/popup/listItem.vue"],"sourcesContent":["<script setup lang=\"ts\" generic=\"T extends Record<string, any> | undefined = undefined\">\nimport { onUpdated } from 'vue';\nimport type { OpenerProps } from './types';\nimport Worker from '../../lib/worker';\n\nconst props = withDefaults(defineProps<OpenerProps<T>>(), {\n\tpos: '3',\n\tnotch: true,\n\tposBy: 'fixed',\n});\n\nconst id = props.id || Math.random() + '';\n\nlet elOpener: Element;\n\n/**\n * Необычная функция для проброски props внутрь элемента слота\n *\n * @param el - вспомогательный элемент для доступа к элементам слота\n */\nfunction render(el: any) {\n\tsetTimeout(() => {\n\t\telOpener = el.nextElementSibling;\n\n\t\tif (elOpener) {\n\t\t\trenderOpener(elOpener);\n\t\t}\n\t});\n}\n\nonUpdated(() => {\n\tif (elOpener) {\n\t\trenderOpener(elOpener);\n\t}\n});\n\nfunction renderOpener(elOpener: any) {\n\t/**\n\t * topPopup - необходимый атрибут для всез Popup\n\t *\n\t * Для Vue вместо него используется атрибут topPopupId\n\t */\n\telOpener.dataset.topPopup = '#' + id;\n\n\telOpener.dataset.topPopupId = id;\n\telOpener.dataset.topPopupPos = props.pos;\n\telOpener.dataset.topPopupPosBy = props.posBy;\n\telOpener.dataset.topPopupNotch = props.notch ? 'true' : '';\n\telOpener.dataset.topPopupOpenByFocus = props.openByFocus ? 'true' : '';\n\telOpener.dataset.topPopupOpenByHover = props.openByHover ? 'true' : '';\n\telOpener.__TopPopupOpenerProps = props;\n\n\tif (props.openByFocus && elOpener.children[0]) {\n\t\telOpener.children[0].onfocus = () => {\n\t\t\tWorker.openByOpener(elOpener);\n\t\t};\n\t}\n}\n</script>\n\n<template>\n\t<template :ref=\"render\"></template>\n\n\t<!-- @slot элемент для открытия Popup -->\n\t<slot></slot>\n</template>\n\n<!-- Использует общий deprecated класс .btn -->\n<style>\nh3[data-top-popup],\ndiv[data-top-popup],\ni[data-top-popup]:not(.btn),\nb[data-top-popup]:not(.btn) {\n\tcursor: pointer;\n\tuser-select: none;\n\tfont-style: normal;\n\ttext-decoration: none;\n\tdisplay: inline-flex;\n\talign-items: center;\n}\n\n[data-top-popup][data-top-popup-disabled] {\n\tpointer-events: none;\n\tcursor: auto !important;\n}\n\ni[contenteditable] {\n\tcursor: text !important;\n}\n</style>\n","<script setup lang=\"ts\" generic=\"T extends Record<string, any> | undefined = undefined\">\nimport { onUnmounted, ref, toRef, watch } from 'vue';\nimport TopHint from '@/components/forms/hint/hint.vue';\nimport type { TopLibPopup } from '@/components/popup/lib/popup';\nimport type { Emits, Props } from './types';\nimport Opener from './opener/opener.vue';\nimport Worker from '@/components/popup/lib/worker';\n\nconst props = withDefaults(defineProps<Props<T>>(), {\n\tid: '',\n\tpos: '3',\n\tnotch: true,\n\tposBy: 'fixed',\n});\n\nconst emit = defineEmits<Emits<T>>();\n\nconst id = props.id || 'top-popup-id-' + Math.random() + '';\n\nconst expose = {\n\tid,\n\tpopup: undefined as TopLibPopup<T> | undefined,\n};\n\ndefineExpose(expose);\n\nconst elPopupRef = ref<HTMLElement | null>(null);\nconst elPopupInnerRef = ref<HTMLElement | null>(null);\n\nconst data = ref<T>();\n\n// см. lib/popup\nconst onOpen = async (popup: TopLibPopup<T>) => {\n\tif (popup.elPopup) elPopupRef.value = popup.elPopup;\n\n\tif (popup.elPopupInner) {\n\t\tpopup.elPopupInner.innerText = '';\n\n\t\telPopupInnerRef.value = popup.elPopupInner;\n\t}\n\n\tvueConnector.opened = true;\n\tvueConnector.popup = popup;\n\n\texpose.popup = popup;\n\n\tdata.value = popup.el.__TopPopupOpenerProps.data;\n\n\temit('open', { elPopup: popup.elPopup!, elPopupOpener: popup.el, data: data.value });\n};\n\n// см. lib/popup\nconst onClose = (popup: TopLibPopup<T>) => {\n\telPopupInnerRef.value = null;\n\n\tvueConnector.opened = false;\n\tvueConnector.popup = undefined;\n\n\tdata.value = undefined;\n\n\temit('close', { elPopup: popup.elPopup!, elPopupOpener: popup.el, data: popup.el.__TopPopupOpenerProps.data });\n};\n\nconst vueConnector = {\n\tonOpen,\n\tonClose,\n\tclassRef: toRef(props, 'class'),\n\topened: false,\n\tpopup: undefined as TopLibPopup<T> | undefined,\n\ttransitionDurationRef: toRef(props, 'transitionDuration'),\n};\n\nwatch(() => props.class, (newValue, oldValue) => {\n\tif (!elPopupRef.value) return;\n\n\tconst newClasses = newValue?.split(' ') ?? [];\n\tconst oldClasses = oldValue?.split(' ') ?? [];\n\n\tconst delClasses = oldClasses.filter((oldClass) => !newClasses.includes(oldClass));\n\n\telPopupRef.value.classList.remove(...delClasses);\n\telPopupRef.value.classList.add(...newClasses);\n});\n\nWorker.regVueComponent(id, vueConnector);\n\nonUnmounted(() => {\n\tWorker.unregVueComponent(id);\n});\n</script>\n\n<template>\n\t<Opener\n\t\tv-if=\"$slots.opener\"\n\t\t:id=\"id\"\n\t\t:pos=\"pos\"\n\t\t:posBy=\"posBy\"\n\t\t:notch=\"notch\"\n\t\t:openByFocus\n\t\t:openByHover=\"($core.state.isMobile || $core.state.isMobileUA) ? false : openByHover\"\n\t>\n\t\t<!-- @slot элемент для открытия Popup -->\n\t\t<slot name=\"opener\"></slot>\n\t</Opener>\n\n\t<!-- Это шаблон для компонента Popup, сам Popup генерируется в js и может находиться где угодно -->\n\t<!-- elPopupInnerRef будет установлен только после открытия и будет сброшен сразу после закрытия Popup -->\n\t<teleport\n\t\tv-if=\"elPopupInnerRef\"\n\t\t:to=\"elPopupInnerRef\"\n\t>\n\t\t<div\n\t\t\tv-if=\"$slots.header || $core.state.isMobile\"\n\t\t\tclass=\"top-popup_header\"\n\t\t>\n\t\t\t<span\n\t\t\t\tv-if=\"$core.state.isMobile\"\n\t\t\t\tclass=\"top-as-a closer\"\n\t\t\t>\n\t\t\t\t{{ $i18n.Common.Close }}\n\t\t\t</span>\n\n\t\t\t<!-- @slot Шапка -->\n\t\t\t<slot name=\"header\" :data=\"data\"></slot>\n\t\t</div>\n\n\t\t<div\n\t\t\tv-if=\"$slots.widget\"\n\t\t\tclass=\"top-popup_widget\"\n\t\t>\n\t\t\t<!-- @slot Виджет -->\n\t\t\t<slot name=\"widget\"></slot>\n\t\t</div>\n\n\t\t<div\n\t\t\tv-if=\"$slots.content\"\n\t\t\tclass=\"top-popup_content\"\n\t\t\tv-top-scroll-shadow\n\t\t>\n\t\t\t<!-- @slot Контент в свободной форме -->\n\t\t\t<slot name=\"content\" :data=\"data\"></slot>\n\t\t</div>\n\n\t\t<ul\n\t\t\tv-if=\"$slots.contentList\"\n\t\t\tclass=\"top-popup_content\"\n\t\t\t@scroll=\"$emit('scrollContentList', $event)\"\n\t\t\tv-top-scroll-shadow\n\t\t>\n\t\t\t<!-- @slot Контент в виде списка, для вставки элементов списка используйте компонент popup/listItem -->\n\t\t\t<slot name=\"contentList\" :data=\"data\"></slot>\n\t\t</ul>\n\n\t\t<div\n\t\t\tv-if=\"$slots.footer || footerSupportLink\"\n\t\t\tclass=\"top-popup_footer\"\n\t\t>\n\t\t\t<a\n\t\t\t\tv-if=\"footerSupportLink\"\n\t\t\t\tclass=\"top-popup_footerSupportLink\"\n\t\t\t\t:href=\"footerSupportLink\"\n\t\t\t\ttarget=\"_blank\"\n\t\t\t>\n\t\t\t\t<TopHint hint=\"\"/>\n\t\t\t</a>\n\n\t\t\t<!-- @slot Футер -->\n\t\t\t<slot name=\"footer\" :data=\"data\"></slot>\n\t\t</div>\n\t</teleport>\n</template>\n\n<style>\n.top-popup_footerSupportLink {\n\tmargin-right: auto;\n}\n</style>\n","<script setup lang=\"ts\">\nimport type { ListItemProps } from './types';\n\ndefineOptions({\n\tinheritAttrs: false,\n});\n\nconst props = withDefaults(defineProps<ListItemProps>(), {\n\ttype: 'button',\n\tcloseByClick: true,\n});\n</script>\n\n<template>\n\t<li\n\t\t:class=\"{\n\t\t'top-popup_liNoSelectable': props.type !== 'button'\n\t}\"\n\t>\n\t\t<component\n\t\t\t:is=\"$attrs.href ? 'a' : 'div'\"\n\t\t\t:class=\"{\n\t\t\t\t'top-popup_listItem': true,\n\t\t\t\t['top-popup_listItem-' + props.type]: !!props.type,\n\t\t\t\t'top-popup_liastItem-withActions': $slots.actions,\n\t\t\t\t'top-popup-noCloser': !closeByClick,\n\n\t\t\t\t'a': props.type === 'button', // оформления кнопки, deprecated\n\t\t\t}\"\n\t\t\t:=$attrs\n\t\t>\n\t\t\t<template v-if=\"$slots.actions\">\n\t\t\t\t<div class=\"top-popup_listItemActionsLabel top-ellipsis1\">\n\t\t\t\t\t<slot></slot>\n\t\t\t\t</div>\n\n\t\t\t\t<div class=\"top-popup_listItemActions\">\n\t\t\t\t\t<slot name=\"actions\"></slot>\n\t\t\t\t</div>\n\t\t\t</template>\n\n\t\t\t<template v-else>\n\t\t\t\t<slot></slot>\n\t\t\t</template>\n\t\t</component>\n\n\t\t<slot name=\"buttons\"></slot>\n\t</li>\n</template>\n"],"names":["props","__props","id","elOpener","render","el","renderOpener","onUpdated","Worker","_createElementVNode","_renderSlot","_ctx","emit","__emit","expose","__expose","elPopupRef","ref","elPopupInnerRef","data","vueConnector","popup","toRef","watch","newValue","oldValue","newClasses","delClasses","oldClass","onUnmounted","$slots","_createBlock","Opener","_unref","pos","posBy","notch","openByFocus","$core","openByHover","_Teleport","_openBlock","_createElementBlock","_hoisted_1","_hoisted_2","_toDisplayString","$i18n","_hoisted_3","_withDirectives","_hoisted_4","_cache","$event","$emit","footerSupportLink","_hoisted_5","_createVNode","TopHint","_normalizeClass","_resolveDynamicComponent","$attrs","_mergeProps","closeByClick","_Fragment"],"mappings":";;;;;;;;;;;;;;;AAKA,UAAMA,IAAQC,GAMRC,IAAKF,EAAM,MAAM,KAAK,WAAW;AAEvC,QAAIG;AAOJ,aAASC,EAAOC,GAAS;AACxB,iBAAW,MAAM;AAChB,QAAAF,IAAWE,EAAG,oBAEVF,KACHG,EAAaH,CAAQ;AAAA,MAEvB,CAAC;AAAA,IACF;AAEA,IAAAI,EAAU,MAAM;AACf,MAAIJ,KACHG,EAAaH,CAAQ;AAAA,IAEvB,CAAC;AAED,aAASG,EAAaH,GAAe;AAMpCA,MAAAA,EAAS,QAAQ,WAAW,MAAMD,GAElCC,EAAS,QAAQ,aAAaD,GAC9BC,EAAS,QAAQ,cAAcH,EAAM,KACrCG,EAAS,QAAQ,gBAAgBH,EAAM,OACvCG,EAAS,QAAQ,gBAAgBH,EAAM,QAAQ,SAAS,IACxDG,EAAS,QAAQ,sBAAsBH,EAAM,cAAc,SAAS,IACpEG,EAAS,QAAQ,sBAAsBH,EAAM,cAAc,SAAS,IACpEG,EAAS,wBAAwBH,GAE7BA,EAAM,eAAeG,EAAS,SAAS,CAAC,MAC3CA,EAAS,SAAS,CAAC,EAAE,UAAU,MAAM;AACpC,QAAAK,EAAO,aAAaL,CAAQ;AAAA,MAC7B;AAAA,IAEF;;MAICM,EAAmC,YAAA,EAAxB,KAAKL,GAAM;AAAA,MAGtBM,EAAaC,EAAA,QAAA,SAAA;AAAA,IAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACxDd,UAAMX,IAAQC,GAORW,IAAOC,GAEPX,IAAKF,EAAM,MAAM,kBAAkB,KAAK,OAAA,GAExCc,IAAS;AAAA,MACd,IAAAZ;AAAA,MACA,OAAO;AAAA,IAAA;AAGR,IAAAa,EAAaD,CAAM;AAEnB,UAAME,IAAaC,EAAwB,IAAI,GACzCC,IAAkBD,EAAwB,IAAI,GAE9CE,IAAOF,EAAA,GAkCPG,IAAe;AAAA,MACpB,QAhCc,OAAOC,MAA0B;AAC/C,QAAIA,EAAM,YAASL,EAAW,QAAQK,EAAM,UAExCA,EAAM,iBACTA,EAAM,aAAa,YAAY,IAE/BH,EAAgB,QAAQG,EAAM,eAG/BD,EAAa,SAAS,IACtBA,EAAa,QAAQC,GAErBP,EAAO,QAAQO,GAEfF,EAAK,QAAQE,EAAM,GAAG,sBAAsB,MAE5CT,EAAK,QAAQ,EAAE,SAASS,EAAM,SAAU,eAAeA,EAAM,IAAI,MAAMF,EAAK,MAAA,CAAO;AAAA,MACpF;AAAA,MAgBC,SAbe,CAACE,MAA0B;AAC1C,QAAAH,EAAgB,QAAQ,MAExBE,EAAa,SAAS,IACtBA,EAAa,QAAQ,QAErBD,EAAK,QAAQ,QAEbP,EAAK,SAAS,EAAE,SAASS,EAAM,SAAU,eAAeA,EAAM,IAAI,MAAMA,EAAM,GAAG,sBAAsB,MAAM;AAAA,MAC9G;AAAA,MAKC,UAAUC,EAAMtB,GAAO,OAAO;AAAA,MAC9B,QAAQ;AAAA,MACR,OAAO;AAAA,MACP,uBAAuBsB,EAAMtB,GAAO,oBAAoB;AAAA,IAAA;AAGzD,WAAAuB,EAAM,MAAMvB,EAAM,OAAO,CAACwB,GAAUC,MAAa;AAChD,UAAI,CAACT,EAAW,MAAO;AAEvB,YAAMU,KAAaF,KAAA,gBAAAA,EAAU,MAAM,SAAQ,CAAA,GAGrCG,MAFaF,KAAA,gBAAAA,EAAU,MAAM,SAAQ,CAAA,GAEb,OAAO,CAACG,MAAa,CAACF,EAAW,SAASE,CAAQ,CAAC;AAEjF,MAAAZ,EAAW,MAAM,UAAU,OAAO,GAAGW,CAAU,GAC/CX,EAAW,MAAM,UAAU,IAAI,GAAGU,CAAU;AAAA,IAC7C,CAAC,GAEDlB,EAAO,gBAAgBN,GAAIkB,CAAY,GAEvCS,EAAY,MAAM;AACjB,MAAArB,EAAO,kBAAkBN,CAAE;AAAA,IAC5B,CAAC;;;QAKO4B,EAAAA,OAAO,eADdC,EAWSC,GAAA;AAAA;UATP,IAAIC,EAAA/B,CAAA;AAAA,UACJ,KAAKgC,EAAAA;AAAAA,UACL,OAAOC,EAAAA;AAAAA,UACP,OAAOC,EAAAA;AAAAA,UACP,aAAAC,EAAAA;AAAAA,UACA,aAAcC,EAAAA,MAAM,MAAM,YAAYA,EAAAA,MAAM,MAAM,kBAAsBC,EAAAA;AAAAA,QAAAA;qBAGzE,MAA2B;AAAA,YAA3B7B,EAA2BC,EAAA,QAAA,QAAA;AAAA,UAAA;;;QAMrBO,EAAA,cADPa,EA8DWS,GAAA;AAAA;UA5DT,IAAItB,EAAA;AAAA,QAAA;UAGEY,EAAAA,OAAO,UAAUQ,QAAM,MAAM,YADpCG,EAAA,GAAAC,EAaM,OAbNC,GAaM;AAAA,YAREL,EAAAA,MAAM,MAAM,YADnBG,EAAA,GAAAC,EAKO,QALPE,GAKOC,EADHC,QAAM,OAAO,KAAK,GAAA,CAAA;YAItBpC,EAAwCC,EAAA,QAAA,UAAA,EAAnB,MAAMQ,EAAA,OAAI;AAAA,UAAA;UAIzBW,EAAAA,OAAO,UADdW,KAAAC,EAMM,OANNK,GAMM;AAAA,YADLrC,EAA2BC,EAAA,QAAA,QAAA;AAAA,UAAA;UAIrBmB,EAAAA,OAAO,UADdkB,GAAAP,KAAAC,EAOM,OAPNO,GAOM;AAAA,YADLvC,EAAyCC,EAAA,QAAA,WAAA,EAAnB,MAAMQ,EAAA,OAAI;AAAA,UAAA;;;UAI1BW,EAAAA,OAAO,sBADdY,EAQK,MAAA;AAAA;YANJ,OAAM;AAAA,YACL,UAAMQ,EAAA,CAAA,MAAAA,EAAA,CAAA,IAAA,CAAAC,MAAEC,EAAAA,MAAK,qBAAsBD,CAAM;AAAA,UAAA;YAI1CzC,EAA6CC,EAAA,QAAA,eAAA,EAAnB,MAAMQ,EAAA,OAAI;AAAA,UAAA;;;UAI9BW,EAAAA,OAAO,UAAUuB,EAAAA,qBADxBZ,KAAAC,EAeM,OAfNY,GAeM;AAAA,YAVED,EAAAA,0BADPX,EAOI,KAAA;AAAA;cALH,OAAM;AAAA,cACL,MAAMW,EAAAA;AAAAA,cACP,QAAO;AAAA,YAAA;cAEPE,EAAkBC,GAAA,EAAT,MAAK,IAAE;AAAA,YAAA;YAIjB9C,EAAwCC,EAAA,QAAA,UAAA,EAAnB,MAAMQ,EAAA,OAAI;AAAA,UAAA;;;;;;;;;;;;;AChKlC,UAAMnB,IAAQC;2BAObyC,EAiCK,MAAA;AAAA,MAhCH,OAAKe,EAAA;AAAA,QAAkC,4BAAAzD,EAAM,SAAI;AAAA,MAAA;;OAIlDyC,EAAA,GAAAV,EAyBY2B,EAxBNC,EAAAA,OAAO,qBADbC,EAyBY;AAAA,QAvBV,OAAK;AAAA;UAAiE,CAAA,wBAAA5D,EAAM,IAAI,GAAA,CAAA,CAAKA,EAAM;AAAA,UAA6C8B,mCAAAA,EAAAA,OAAO;AAAA,iCAAoC+B,EAAAA;AAAAA,UAAwB,GAAA7D,EAAM,SAAI;AAAA;AAAA,QAAA;AAAA,SAQpN2D,EAAAA,MAAM,GAAA;AAAA,mBAER,MAQW;AAAA,UARK7B,EAAAA,OAAO,gBAAvBY,EAQWoB,GAAA,EAAA,KAAA,KAAA;AAAA,YAPVrD,EAEM,OAFNkC,GAEM;AAAA,cADLjC,EAAaC,EAAA,QAAA,SAAA;AAAA,YAAA;YAGdF,EAEM,OAFNmC,GAEM;AAAA,cADLlC,EAA4BC,EAAA,QAAA,SAAA;AAAA,YAAA;oBAK7BD,EAAaC,EAAA,QAAA,WAAA,EAAA,KAAA,EAAA,CAAA;AAAA,QAAA;;;MAIfD,EAA4BC,EAAA,QAAA,SAAA;AAAA,IAAA;;;"}
@@ -1,2 +0,0 @@
1
- define(["require","exports","vue","./forms-CNcrvkYD.amd","../require/css.amd!../assets/menu.css"],(function(C,h,e,u){"use strict";if(typeof e>"u")var e=window.Vue;const g={key:0,class:"top-menu_selectAll"},A=e.defineComponent({__name:"menu",props:e.mergeModels({modelValue:{},items:{},isMultiple:{type:Boolean},canBeEmptyMultiple:{type:Boolean},styling:{default:"default"},selectAllItem:{}},{modelValue:{required:!0},modelModifiers:{}}),emits:["update:modelValue"],setup(f){var d,m;const o=f,a=e.useModel(f,"modelValue"),r=e.ref();!o.isMultiple&&typeof a.value!="string"&&typeof a.value!="number"&&console.warn('Type check failed for prop "modelValue". Expected String: '+typeof a.value),o.isMultiple&&!Array.isArray(a.value)&&console.warn('Type check failed for prop "modelValue". Expected Array: '+typeof a.value),o.isMultiple&&!o.canBeEmptyMultiple&&Array.isArray(a.value)&&!a.value.length&&o.items[0]&&(a.value=[((d=o.items[0])==null?void 0:d.href)??((m=o.items[0])==null?void 0:m.value)]);const k=l=>Array.isArray(a.value)?a.value.includes(l.value):l.value===a.value,M=(l,s=!1)=>{if(Array.isArray(a.value)){let t=a.value.slice();if(s){t.length||(t=o.items.map(c=>c.value));const n=t.indexOf(l.value);n===-1?t.push(l.value):t.splice(n,1)}else t.length===1&&t[0]===l.value?t=[]:t=[l.value];!o.canBeEmptyMultiple&&!t.length&&(t=[l.value]),a.value=t;return}a.value=l.value},B=l=>{if(r.value.scrollWidth<=r.value.offsetWidth||l.shiftKey||Math.abs(l.deltaY)<50)return;l.preventDefault();const s=l.deltaY>0?30:-30;r.value.scrollLeft=r.value.scrollLeft+s},v=(l=!0)=>{var p,y;const s=r.value.querySelector(".top-active");if(!s)return;const t=24,n=s.offsetLeft-r.value.offsetLeft-t,c=s.offsetLeft-r.value.offsetLeft+s.clientWidth+t,_=r.value.scrollLeft,L=r.value.clientWidth+r.value.scrollLeft;let i;n<_&&(i=n),c>L&&(i=c-r.value.clientWidth),i!==void 0&&(u.isSafari()?(y=(p=u.Core).$)==null||y.call(p,r.value).animate({scrollLeft:i},l?200:0):r.value.scrollTo({left:i,behavior:l?"smooth":"auto"}))},V=()=>{if(Array.isArray(a.value)){if(a.value.length===o.items.length){a.value=[o.items[0].href??o.items[0].value];return}a.value=o.items.map(l=>l.href??l.value)}};return e.onMounted(()=>v(!1)),e.onUpdated(()=>v(!0)),(l,s)=>(e.openBlock(),e.createElementBlock("div",{ref_key:"el",ref:r,class:e.normalizeClass({"top-menu":!0,["top-style_"+l.styling]:!0}),onWheel:B},[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(l.items,t=>(e.openBlock(),e.createBlock(u._sfc_main$1,e.mergeProps({ref_for:!0},t,{class:"top-menu_item",color:"theme",onClick:n=>M(t,n.ctrlKey||n.metaKey),isActive:k(t)}),e.createSlots({_:2},[t.content?{name:"default",fn:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(t.content),1)]),key:"0"}:void 0]),1040,["onClick","isActive"]))),256)),Array.isArray(a.value)&&l.selectAllItem?(e.openBlock(),e.createElementBlock("div",g,[e.createVNode(u._sfc_main$1,e.mergeProps(l.selectAllItem,{class:"top-menu_item",color:"theme",styling:"",onClick:s[0]||(s[0]=t=>V()),isActive:a.value.length===l.items.length}),e.createSlots({_:2},[l.selectAllItem.content?{name:"default",fn:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(l.selectAllItem.content),1)]),key:"0"}:void 0]),1040,["isActive"])])):e.createCommentVNode("",!0)],34))}});h._sfc_main=A}));
2
- //# sourceMappingURL=menu.vue_vue_type_style_index_0_lang-C3Rr6ZyL.amd.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"menu.vue_vue_type_style_index_0_lang-C3Rr6ZyL.amd.js","sources":["../../src/components/formsExt/menu/menu.vue"],"sourcesContent":["<script setup lang=\"ts\">\nimport { onMounted, onUpdated, ref } from 'vue';\nimport type { Item, Props } from './types';\nimport Core from '@/core/core/core';\nimport { isSafari } from '@/core/utils/device';\nimport TopButton from '@/components/forms/button/button.vue';\n\nconst props = withDefaults(defineProps<Props>(), {\n\tstyling: 'default',\n});\n\nconst model = defineModel({\n\trequired: true,\n});\n\nconst el = ref();\n\n// валидация типа modelValue без возможности выбора нескольких значений (ожидается строка или число)\nif (!props.isMultiple && typeof (model.value) !== 'string' && typeof (model.value) !== 'number') {\n\tconsole.warn('Type check failed for prop \"modelValue\". Expected String: ' + typeof (model.value));\n}\n\n// валидация типа modelValue с возможностью выбора нескольких значений (ожидается массив)\nif (props.isMultiple && !Array.isArray(model.value)) {\n\tconsole.warn('Type check failed for prop \"modelValue\". Expected Array: ' + typeof (model.value));\n}\n\n/**\n * Для множественного выбора без пустого множества\n *\n * Если ничего не выбрано, присваиваем 1-ое значение\n */\nif (props.isMultiple && !props.canBeEmptyMultiple && Array.isArray(model.value) && !model.value.length && props.items[0]) {\n\tmodel.value = [props.items[0]?.href ?? props.items[0]?.value];\n}\n\nconst itemIsActive = (item: Item) => {\n\tif (!Array.isArray(model.value)) {\n\t\treturn item.value === model.value;\n\t}\n\n\treturn model.value.includes(item.value);\n};\n\n/**\n * Выбрать элемент\n * @param item\n * @param toggle - добавить или исключить элемент, для isMultiple\n */\nconst select = (item: Item, toggle = false) => {\n\tif (Array.isArray(model.value)) {\n\t\tlet modelNew = model.value.slice();\n\n\t\tif (toggle) {\n\t\t\tif (!modelNew.length) modelNew = props.items.map(item => item.value);\n\n\t\t\tconst index = modelNew.indexOf(item.value);\n\t\t\tif (index === -1) {\n\t\t\t\tmodelNew.push(item.value);\n\t\t\t} else {\n\t\t\t\tmodelNew.splice(index, 1);\n\t\t\t}\n\t\t} else {\n\t\t\tif (modelNew.length === 1 && modelNew[0] === item.value) {\n\t\t\t\tmodelNew = [];\n\t\t\t} else {\n\t\t\t\tmodelNew = [item.value];\n\t\t\t}\n\t\t}\n\n\t\tif (!props.canBeEmptyMultiple && !modelNew.length) modelNew = [item.value];\n\n\t\tmodel.value = modelNew;\n\n\t\treturn;\n\t}\n\n\tmodel.value = item.value;\n};\n\n// вертикальный скролл в горизонтальный скролл\nconst onWheel = (event: WheelEvent) => {\n\tif (el.value.scrollWidth <= el.value.offsetWidth) return;\n\tif (event.shiftKey) return;\n\tif (Math.abs(event.deltaY) < 50) return; // устройство с высокой точностью, например тачпад\n\n\tevent.preventDefault();\n\n\tconst delta = event.deltaY > 0 ? 30 : -30;\n\tel.value.scrollLeft = el.value.scrollLeft + delta;\n};\n\n/**\n * Замена стандартному scrollIntoView, который меняет скролл документа\n *\n * Выравнивание по ближнему краю элемента\n *\n * Выравнивается таким образом, чтобы был виден соседний элемент\n */\nconst scrollIntoView = (isSmooth = true) => {\n\tconst elBtn = el.value.querySelector('.top-active');\n\tif (!elBtn) return;\n\n\tconst gap = 24;\n\n\t// левая и правая координаты элемента\n\tconst leftMargin = elBtn.offsetLeft - el.value.offsetLeft - gap;\n\tconst rightMargin = elBtn.offsetLeft - el.value.offsetLeft + elBtn.clientWidth + gap;\n\n\t// левая и правая границы видимой части меню\n\tconst leftMarginParent = el.value.scrollLeft;\n\tconst rightMarginParent = el.value.clientWidth + el.value.scrollLeft;\n\n\tlet scrollLeft: number | undefined = undefined;\n\n\t// левую границу элемента к левой границе меню\n\tif (leftMargin < leftMarginParent) scrollLeft = leftMargin;\n\n\t// правую границу элемента к правой границе меню\n\tif (rightMargin > rightMarginParent) scrollLeft = rightMargin - el.value.clientWidth;\n\n\tif (scrollLeft !== undefined) {\n\t\tif (isSafari()) {\n\t\t\tCore.$?.(el.value).animate({ scrollLeft: scrollLeft }, isSmooth ? 200 : 0);\n\t\t} else {\n\t\t\tel.value.scrollTo({ left: scrollLeft, behavior: isSmooth ? 'smooth' : 'auto' });\n\t\t}\n\t}\n};\n\n/**\n * Выбрать все элементы в меню\n */\nconst selectAll = () => {\n\tif (!Array.isArray(model.value)) return;\n\n\tif (model.value.length === props.items.length) {\n\t\tmodel.value = [props.items[0].href ?? props.items[0].value];\n\t\treturn;\n\t}\n\n\tmodel.value = props.items.map(item => item.href ?? item.value);\n};\n\nonMounted(() => scrollIntoView(false));\nonUpdated(() => scrollIntoView(true));\n\n</script>\n\n<template>\n\t<div\n\t\tref=\"el\"\n\t\t:class=\"{\n\t\t\t'top-menu': true,\n\t\t\t['top-style_' + styling]: true,\n\t\t\t// ['top-unwrap-x']: styling === 'default',\n\t\t}\"\n\t\t@wheel=\"onWheel\"\n\t>\n\t\t<TopButton\n\t\t\tv-for=\"item in items\"\n\t\t\t:=\"item\"\n\t\t\tclass=\"top-menu_item\"\n\t\t\tcolor=\"theme\"\n\t\t\t@click=\"select(item, $event.ctrlKey || $event.metaKey)\"\n\t\t\t:isActive=\"itemIsActive(item)\"\n\t\t>\n\t\t\t<template #default v-if=\"item.content\">\n\t\t\t\t{{ item.content }}\n\t\t\t</template>\n\t\t</TopButton>\n\n\t\t<div\n\t\t\tv-if=\"Array.isArray(model) && selectAllItem\"\n\t\t\tclass=\"top-menu_selectAll\"\n\t\t>\n\t\t\t<TopButton\n\t\t\t\t:=\"selectAllItem\"\n\t\t\t\tclass=\"top-menu_item\"\n\t\t\t\tcolor=\"theme\"\n\t\t\t\tstyling=\"\"\n\t\t\t\t@click=\"selectAll()\"\n\t\t\t\t:isActive=\"model.length === items.length\"\n\t\t\t>\n\t\t\t\t<template #default v-if=\"selectAllItem.content\">\n\t\t\t\t\t{{ selectAllItem.content }}\n\t\t\t\t</template>\n\t\t\t</TopButton>\n\t\t</div>\n\t</div>\n</template>\n\n<style>\n.top-menu {\n\t--scroll-thumb-color: var(--color-line-1);\n\t--scroll-thumb-color-hover: var(--color-line-2);\n\t--scroll-thumb-color-active: var(--color-line-3);\n\n\tmax-width: 100%;\n\tdisplay: flex;\n\talign-items: flex-start;\n\tgap: var(--top-gap-2);\n\toverflow-x: auto;\n\tscrollbar-width: none; /* firefox */\n\n\t/* предотвратить натинвые события браузера (назад / вперед) */\n\toverscroll-behavior-x: contain;\n}\n\n.top-menu::-webkit-scrollbar { display: none; }\n\n.top-menu .top-menu_item {\n\t--top-button-color: var(--color-text-2);\n\n\toutline-offset: -2px !important;\n\tmin-width: 0;\n\tmax-width: 200px;\n\tmargin: 0;\n\tflex-shrink: 0;\n}\n\n.top-menu .top-menu_item[data-top-icon] {\n\t--top-icon-color: var(--color-text-2);\n}\n\n.top-menu_selectAll {\n\tposition: sticky;\n\tright: 0;\n\tbackground: var(--color-layout-front-1);\n\tborder-left: 1px solid var(--color-line-1);\n\tpadding-left: var(--top-padding-1);\n\tbox-shadow: var(--color-layout-front-1) var(--top-padding-2) 0px;\n}\n\n/* style default */\n.top-menu.top-style_default .top-menu_item {\n\t--top-forms-radius: 0;\n\t--top-forms-border-color: transparent;\n\t--top-forms-border-width: 2px;\n\n\tfilter: none;\n\tbox-shadow: none;\n\tborder: none;\n\tborder-bottom: var(--top-forms-border-width) solid var(--top-forms-border-color);\n\tbackground: none;\n}\n\n.top-style_default > .top-menu_item > [data-top-badge] {\n\tmargin-top: 0;\n}\n\n.top-menu.top-style_default .top-menu_item:hover {\n\t--top-icon-color: var(--color-text-1);\n\t--top-button-color: var(--color-text-1);\n\t--top-forms-border-color: var(--color-line-2);\n}\n\n.top-menu.top-style_default .top-menu_item:active,\n.top-menu.top-style_default .top-menu_item.top-active {\n\t--top-icon-color: var(--color-text-primary);\n\t--top-button-color: var(--color-text-1);\n\t--top-forms-border-color: var(--color-line-primary-1);\n}\n\n.top-menu.top-style_default .top-menu_selectAll {\n\tpadding-left: var(--top-padding-2);\n}\n\n/* style bar */\n.top-menu.top-style_bar {\n\tborder-radius: var(--top-radius-3);\n\tborder: 1px solid var(--color-line-2);\n\tpadding: var(--top-padding-1);\n\tgap: 3px;\n}\n.top-menu.top-style_bar .top-menu_item {\n\t--top-button-background-color-hover: var(--color-layer-1);\n\t--top-button-background-color-active: var(--color-layer-2);\n\t--top-button-background-color-selected: var(--color-layer-primary-1);\n\n\tposition: relative;\n}\n\n.top-menu.top-style_bar .top-menu_item:hover {\n\t--top-icon-color: var(--color-text-1);\n\t--top-button-color: var(--color-text-1);\n}\n\n.top-menu.top-style_bar .top-menu_item.top-active {\n\t--top-icon-color: var(--color-text-primary);\n\t--top-button-color: var(--color-text-primary);\n}\n\n/* разделители кнопок в баре */\n.top-menu.top-style_bar .top-menu_item:not(:first-child):not(.top-active):not(:hover):after {\n\tcontent: \"\";\n\tbackground: var(--color-line-1-opacity);\n\twidth: 1px;\n\theight: 60%;\n\tdisplay: block;\n\tposition: absolute;\n\tleft: -2px;\n}\n.top-menu.top-style_bar .top-menu_item.top-active + .top-menu_item:after,\n.top-menu.top-style_bar .top-menu_item:hover + .top-menu_item:after {\n\tcontent: none !important;\n}\n\n/*\n.top-style_bar > .top-menu_item > [data-top-badge] {\n\tmargin-top: -3px;\n}\n*/\n\n/** TODO: .top-unwrap-x надо вынести глобально в UI или добавить в стили для storybook */\n/*\n.top-menu.top-unwrap-x {\n\tpadding-right: var(--top-unwrap-x);\n\tpadding-left: var(--top-unwrap-x);\n\tmargin-right: calc(0px - var(--top-unwrap-x));\n\tmargin-left: calc(0px - var(--top-unwrap-x));\n}\n*/\n</style>\n"],"names":["el","vue","props","model","itemIsActive","item","index","modelNew","onWheel","event","delta","scrollIntoView","isSmooth","leftMargin","elBtn","gap","rightMargin","leftMarginParent","rightMarginParent","scrollLeft","$event","select","_cache","selectAll"],"mappings":"ygBAeAA,EAAAC,EAAA,IAAA,EAGA,CAAAC,EAAA,YAAA,OAAAC,EAAA,OAAA,UAAA,OAAAA,EAAA,OAAA,oGAKAD,EAAA,YAAA,CAAA,MAAA,QAAAC,EAAA,KAAA,4FASAD,EAAA,YAAA,CAAAA,EAAA,oBAAA,MAAA,QAAAC,EAAA,KAAA,GAAA,CAAAA,EAAA,MAAA,QAAAD,EAAA,MAAA,CAAA,2FAIA,MAAAE,EAAAC,oDAEEA,EAAA,QAAAF,EAAA,2IAmBCG,IAAA,GACCC,EAAA,KAAAF,EAAA,KAAA,EAEAE,EAAA,OAAAD,EAAA,CAAA,CACD,MAEAC,EAAA,SAAA,GAAAA,EAAA,CAAA,IAAAF,EAAA,WAGCE,EAAA,CAAAF,EAAA,KAAA,EAIF,CAAAH,EAAA,oBAAA,CAAAK,EAAA,SAAAA,EAAA,CAAAF,EAAA,KAAA,GAEAF,EAAA,MAAAI,SAKDJ,EAAA,MAAAE,EAAA,KAAmB,EAIpBG,EAAAC,GAAA,IACCT,EAAA,MAAA,aAAAA,EAAA,MAAA,aACAS,EAAA,oFAMAT,EAAA,MAAA,WAAAA,EAAA,MAAA,WAAAU,CAA4C,EAU7CC,EAAA,CAAAC,EAAA,KAAA,8EAOCC,EAAAC,EAAA,WAAAd,EAAA,MAAA,WAAAe,EACAC,EAAAF,EAAA,WAAAd,EAAA,MAAA,WAAAc,EAAA,YAAAC,EAGAE,EAAAjB,EAAA,MAAA,WACAkB,EAAAlB,EAAA,MAAA,YAAAA,EAAA,MAAA,iBAKAa,EAAAI,IAAAE,EAAAN,GAGAG,EAAAE,IAAAC,EAAAH,EAAAhB,EAAA,MAAA,aAEAmB,IAAA,gGAIEnB,EAAA,MAAA,SAAA,CAAA,KAAAmB,EAAA,SAAAP,EAAA,SAAA,MAAA,CAAA,EAEF,mCASA,IAAAT,EAAA,MAAA,SAAAD,EAAA,MAAA,OAAA,4FAK6D,EAG9D,OAAAD,EAAA,UAAA,IAAAU,EAAA,EAAA,CAAA,EACAV,EAAA,UAAA,IAAAU,EAAA,EAAA,CAAA,wIAO2D,CAAA,WAKxD,EAAA,2LAMM,QAAAS,GAAAC,EAAAhB,EAAAe,EAAA,SAAAA,EAAA,OAAA,EAC+C,SAAAhB,EAAAC,CAAA,mDAG1C,GAAAJ,EAAA,QAAA,IAAA,kDACK,CAAA,uPAYP,QAAAqB,EAAA,CAAA,IAAAA,EAAA,CAAA,EAAAF,GAAAG,EAAA,2GAIG,GAAAtB,EAAA,QAAA,IAAA,gEACc,CAAA"}