@topvisor/ui 1.5.0-updates.0 → 1.5.0-updates.5

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 (305) hide show
  1. package/.chunks/api-CawzY1Cw.amd.js +2 -0
  2. package/.chunks/api-CawzY1Cw.amd.js.map +1 -0
  3. package/.chunks/api-CawzY1Cw.esm.js +208 -0
  4. package/.chunks/api-CawzY1Cw.esm.js.map +1 -0
  5. package/.chunks/app-CCX-gNqz.amd.js +2 -0
  6. package/.chunks/app-CCX-gNqz.amd.js.map +1 -0
  7. package/.chunks/app-CCX-gNqz.esm.js +396 -0
  8. package/.chunks/app-CCX-gNqz.esm.js.map +1 -0
  9. package/.chunks/datepicker-BTkZOq7d.amd.js +2 -0
  10. package/.chunks/datepicker-BTkZOq7d.amd.js.map +1 -0
  11. package/.chunks/datepicker-BTkZOq7d.esm.js +38 -0
  12. package/.chunks/datepicker-BTkZOq7d.esm.js.map +1 -0
  13. package/.chunks/dialog-DeM4SApg.amd.js +2 -0
  14. package/.chunks/dialog-DeM4SApg.amd.js.map +1 -0
  15. package/.chunks/dialog-DeM4SApg.esm.js +117 -0
  16. package/.chunks/dialog-DeM4SApg.esm.js.map +1 -0
  17. package/.chunks/dialog_regionSelectorRegions-CYrmaDt3.amd.js +2 -0
  18. package/.chunks/dialog_regionSelectorRegions-CYrmaDt3.amd.js.map +1 -0
  19. package/.chunks/dialog_regionSelectorRegions-CYrmaDt3.esm.js +169 -0
  20. package/.chunks/dialog_regionSelectorRegions-CYrmaDt3.esm.js.map +1 -0
  21. package/.chunks/dialogs-CMrERMI7.amd.js +2 -0
  22. package/.chunks/dialogs-CMrERMI7.amd.js.map +1 -0
  23. package/.chunks/dialogs-CMrERMI7.esm.js +237 -0
  24. package/.chunks/dialogs-CMrERMI7.esm.js.map +1 -0
  25. package/.chunks/field-CjkpGeA7.amd.js +2 -0
  26. package/.chunks/field-CjkpGeA7.amd.js.map +1 -0
  27. package/.chunks/field-CjkpGeA7.esm.js +16 -0
  28. package/.chunks/field-CjkpGeA7.esm.js.map +1 -0
  29. package/.chunks/forms-CbUt-6Ff.amd.js +2 -0
  30. package/.chunks/forms-CbUt-6Ff.amd.js.map +1 -0
  31. package/.chunks/forms-CbUt-6Ff.esm.js +1991 -0
  32. package/.chunks/forms-CbUt-6Ff.esm.js.map +1 -0
  33. package/.chunks/formsExt-CrTmBhja.amd.js +2 -0
  34. package/.chunks/formsExt-CrTmBhja.amd.js.map +1 -0
  35. package/.chunks/formsExt-CrTmBhja.esm.js +807 -0
  36. package/.chunks/formsExt-CrTmBhja.esm.js.map +1 -0
  37. package/.chunks/lazy-CGswTOPj.amd.js +2 -0
  38. package/.chunks/lazy-CGswTOPj.amd.js.map +1 -0
  39. package/.chunks/lazy-CGswTOPj.esm.js +68 -0
  40. package/.chunks/lazy-CGswTOPj.esm.js.map +1 -0
  41. package/.chunks/mocker-CwZe-g4N.amd.js +2 -0
  42. package/.chunks/mocker-CwZe-g4N.amd.js.map +1 -0
  43. package/.chunks/mocker-CwZe-g4N.esm.js +45 -0
  44. package/.chunks/mocker-CwZe-g4N.esm.js.map +1 -0
  45. package/.chunks/notice-CslVdVNm.amd.js +4 -0
  46. package/.chunks/notice-CslVdVNm.amd.js.map +1 -0
  47. package/.chunks/notice-CslVdVNm.esm.js +191 -0
  48. package/.chunks/notice-CslVdVNm.esm.js.map +1 -0
  49. package/.chunks/popup-DrByVU-k.amd.js +2 -0
  50. package/.chunks/popup-DrByVU-k.amd.js.map +1 -0
  51. package/.chunks/popup-DrByVU-k.esm.js +444 -0
  52. package/.chunks/popup-DrByVU-k.esm.js.map +1 -0
  53. package/.chunks/popup-dNrN-eKi.amd.js +2 -0
  54. package/.chunks/popup-dNrN-eKi.amd.js.map +1 -0
  55. package/.chunks/popup-dNrN-eKi.esm.js +323 -0
  56. package/.chunks/popup-dNrN-eKi.esm.js.map +1 -0
  57. package/.chunks/punycode.es6-B-5kB2YI.amd.js +2 -0
  58. package/.chunks/{punycode.es6-CgGegfA_.es.js.map → punycode.es6-B-5kB2YI.amd.js.map} +1 -1
  59. package/.chunks/punycode.es6-B-5kB2YI.esm.js +105 -0
  60. package/.chunks/punycode.es6-B-5kB2YI.esm.js.map +1 -0
  61. package/.chunks/store-DuQpSSLL.amd.js +2 -0
  62. package/.chunks/{store-CX_6ZXhO.es.js.map → store-DuQpSSLL.amd.js.map} +1 -1
  63. package/.chunks/store-DuQpSSLL.esm.js +27 -0
  64. package/.chunks/store-DuQpSSLL.esm.js.map +1 -0
  65. package/.chunks/utils-BwiXsV0S.amd.js +2 -0
  66. package/.chunks/utils-BwiXsV0S.amd.js.map +1 -0
  67. package/.chunks/utils-BwiXsV0S.esm.js +43 -0
  68. package/.chunks/utils-BwiXsV0S.esm.js.map +1 -0
  69. package/.chunks/utils-Dd0MZgyw.amd.js +2 -0
  70. package/.chunks/utils-Dd0MZgyw.amd.js.map +1 -0
  71. package/.chunks/utils-Dd0MZgyw.esm.js +287 -0
  72. package/.chunks/utils-Dd0MZgyw.esm.js.map +1 -0
  73. package/.chunks/worker-Db8YrEHo.amd.js +2 -0
  74. package/.chunks/worker-Db8YrEHo.amd.js.map +1 -0
  75. package/.chunks/worker-Db8YrEHo.esm.js +100 -0
  76. package/.chunks/worker-Db8YrEHo.esm.js.map +1 -0
  77. package/api/additional.amd.js +2 -2
  78. package/api/additional.amd.js.map +1 -1
  79. package/api/additional.js +70 -66
  80. package/api/additional.js.map +1 -1
  81. package/api/index.amd.js +2 -2
  82. package/api/index.amd.js.map +1 -1
  83. package/api/index.js +3 -285
  84. package/assets/charts.css +1 -1
  85. package/assets/core.css +1 -1
  86. package/assets/dialog_regionSelectorRegions.css +1 -1
  87. package/assets/extra.css +1 -1
  88. package/assets/forms.css +1 -1
  89. package/assets/formsExt.css +1 -0
  90. package/assets/layout.css +1 -1
  91. package/assets/notice.css +1 -1
  92. package/assets/popup.css +1 -0
  93. package/assets/project.css +1 -1
  94. package/assets/tabs.css +1 -1
  95. package/assets/tabsView.css +1 -1
  96. package/assets/themes/dark-th.css +1 -1
  97. package/assets/themes/dark.css +1 -1
  98. package/assets/themes/light.css +1 -1
  99. package/autoload-css-manifest.amd.json +79 -0
  100. package/autoload-css-manifest.json +90 -0
  101. package/charts/charts.amd.js +2 -2
  102. package/charts/charts.amd.js.map +1 -1
  103. package/charts/charts.js +146 -174
  104. package/charts/charts.js.map +1 -1
  105. package/core/app.amd.js +2 -2
  106. package/core/app.amd.js.map +1 -1
  107. package/core/app.js +5 -213
  108. package/dialog/dialog.amd.js +2 -2
  109. package/dialog/dialog.amd.js.map +1 -1
  110. package/dialog/dialog.js +4 -60
  111. package/extra/extra.amd.js +2 -2
  112. package/extra/extra.amd.js.map +1 -1
  113. package/extra/extra.js +73 -69
  114. package/extra/extra.js.map +1 -1
  115. package/forms/forms.amd.js +2 -2
  116. package/forms/forms.amd.js.map +1 -1
  117. package/forms/forms.js +2 -19
  118. package/forms/helpers.amd.js +2 -2
  119. package/forms/helpers.amd.js.map +1 -1
  120. package/forms/helpers.js +0 -2
  121. package/formsExt/formsExt.amd.js +2 -2
  122. package/formsExt/formsExt.amd.js.map +1 -1
  123. package/formsExt/formsExt.js +2 -373
  124. package/icomoon/demo-files/demo.amd.js +2 -0
  125. package/icomoon/demo-files/demo.amd.js.map +1 -0
  126. package/icomoon/demo.amd.js +2 -0
  127. package/icomoon/demo.amd.js.map +1 -0
  128. package/layout/layout.amd.js +2 -2
  129. package/layout/layout.amd.js.map +1 -1
  130. package/layout/layout.js +41 -57
  131. package/layout/layout.js.map +1 -1
  132. package/package.json +1 -1
  133. package/popup/popup.amd.js +2 -2
  134. package/popup/popup.amd.js.map +1 -1
  135. package/popup/popup.js +2 -282
  136. package/popup/worker.amd.js +2 -2
  137. package/popup/worker.amd.js.map +1 -1
  138. package/popup/worker.js +2 -144
  139. package/project/project.amd.js +2 -2
  140. package/project/project.amd.js.map +1 -1
  141. package/project/project.js +1666 -1643
  142. package/project/project.js.map +1 -1
  143. package/src/src/components/project/groupSelector/folders/types.d.ts +1 -1
  144. package/src/src/components/project/groupSelector/folders/utils.d.ts +35 -400
  145. package/src/src/components/project/groupSelector/groupSelector.vue.d.ts +1 -1
  146. package/src/src/components/project/groupSelector/groups/types.d.ts +1 -1
  147. package/src/src/components/project/groupSelector/groups/utils.d.ts +44 -757
  148. package/src/src/components/project/projectSelector/utils.d.ts +40 -39
  149. package/tabs/tabs.amd.js +2 -2
  150. package/tabs/tabs.amd.js.map +1 -1
  151. package/tabs/tabs.js +63 -77
  152. package/tabs/tabs.js.map +1 -1
  153. package/tabsView/tabsView.amd.js +2 -2
  154. package/tabsView/tabsView.amd.js.map +1 -1
  155. package/tabsView/tabsView.js +245 -288
  156. package/tabsView/tabsView.js.map +1 -1
  157. package/utils/check.amd.js +2 -2
  158. package/utils/check.amd.js.map +1 -1
  159. package/utils/check.js +15 -19
  160. package/utils/check.js.map +1 -1
  161. package/utils/clipboard.amd.js +6 -6
  162. package/utils/clipboard.amd.js.map +1 -1
  163. package/utils/clipboard.js +26 -31
  164. package/utils/clipboard.js.map +1 -1
  165. package/utils/date.amd.js +2 -2
  166. package/utils/date.amd.js.map +1 -1
  167. package/utils/date.js +2 -12
  168. package/utils/device.amd.js +2 -2
  169. package/utils/device.amd.js.map +1 -1
  170. package/utils/device.js +2 -15
  171. package/utils/dom.amd.js +2 -2
  172. package/utils/dom.amd.js.map +1 -1
  173. package/utils/dom.js +53 -67
  174. package/utils/dom.js.map +1 -1
  175. package/utils/image.amd.js +3 -3
  176. package/utils/image.amd.js.map +1 -1
  177. package/utils/image.js +12 -22
  178. package/utils/image.js.map +1 -1
  179. package/utils/keyboard.amd.js +2 -2
  180. package/utils/keyboard.amd.js.map +1 -1
  181. package/utils/keyboard.js +10 -11
  182. package/utils/keyboard.js.map +1 -1
  183. package/utils/lodash.amd.js +2 -2
  184. package/utils/lodash.amd.js.map +1 -1
  185. package/utils/lodash.js +2 -9
  186. package/utils/number.amd.js +2 -2
  187. package/utils/number.amd.js.map +1 -1
  188. package/utils/number.js +12 -12
  189. package/utils/number.js.map +1 -1
  190. package/utils/price.amd.js +2 -2
  191. package/utils/price.amd.js.map +1 -1
  192. package/utils/price.js +14 -9
  193. package/utils/price.js.map +1 -1
  194. package/utils/route.amd.js +2 -2
  195. package/utils/route.amd.js.map +1 -1
  196. package/utils/route.js +33 -37
  197. package/utils/route.js.map +1 -1
  198. package/utils/scroll.amd.js +2 -2
  199. package/utils/scroll.amd.js.map +1 -1
  200. package/utils/scroll.js +39 -43
  201. package/utils/scroll.js.map +1 -1
  202. package/utils/searchers.amd.js +2 -2
  203. package/utils/searchers.amd.js.map +1 -1
  204. package/utils/searchers.js +128 -133
  205. package/utils/searchers.js.map +1 -1
  206. package/utils/store.amd.js +2 -2
  207. package/utils/store.amd.js.map +1 -1
  208. package/utils/store.js +2 -7
  209. package/utils/string.amd.js +2 -2
  210. package/utils/string.amd.js.map +1 -1
  211. package/utils/string.js +120 -147
  212. package/utils/string.js.map +1 -1
  213. package/utils/system.amd.js +2 -2
  214. package/utils/system.amd.js.map +1 -1
  215. package/utils/system.js +25 -28
  216. package/utils/system.js.map +1 -1
  217. package/utils/url.amd.js +3 -3
  218. package/utils/url.amd.js.map +1 -1
  219. package/utils/url.js +36 -47
  220. package/utils/url.js.map +1 -1
  221. package/.chunks/core-Dgj_YGWh.es.js +0 -268
  222. package/.chunks/core-Dgj_YGWh.es.js.map +0 -1
  223. package/.chunks/core-DzDFXOdI.amd.js +0 -2
  224. package/.chunks/core-DzDFXOdI.amd.js.map +0 -1
  225. package/.chunks/datepicker-oa8ZwRhq.amd.js +0 -2
  226. package/.chunks/datepicker-oa8ZwRhq.amd.js.map +0 -1
  227. package/.chunks/datepicker-qToxk2nN.es.js +0 -41
  228. package/.chunks/datepicker-qToxk2nN.es.js.map +0 -1
  229. package/.chunks/dialog_regionSelectorRegions-CZ0tMVSq.amd.js +0 -2
  230. package/.chunks/dialog_regionSelectorRegions-CZ0tMVSq.amd.js.map +0 -1
  231. package/.chunks/dialog_regionSelectorRegions-qDW2Ejsv.es.js +0 -180
  232. package/.chunks/dialog_regionSelectorRegions-qDW2Ejsv.es.js.map +0 -1
  233. package/.chunks/dialogs.vue_vue_type_script_setup_true_lang-BBix_8WK.amd.js +0 -2
  234. package/.chunks/dialogs.vue_vue_type_script_setup_true_lang-BBix_8WK.amd.js.map +0 -1
  235. package/.chunks/dialogs.vue_vue_type_script_setup_true_lang-CJ97l1ST.es.js +0 -323
  236. package/.chunks/dialogs.vue_vue_type_script_setup_true_lang-CJ97l1ST.es.js.map +0 -1
  237. package/.chunks/field-Cvv0SRcJ.amd.js +0 -2
  238. package/.chunks/field-Cvv0SRcJ.amd.js.map +0 -1
  239. package/.chunks/field-CyyFzM-Y.es.js +0 -16
  240. package/.chunks/field-CyyFzM-Y.es.js.map +0 -1
  241. package/.chunks/forms-DDNzqU6o.amd.js +0 -3
  242. package/.chunks/forms-DDNzqU6o.amd.js.map +0 -1
  243. package/.chunks/forms-DtC-EKJL.es.js +0 -2053
  244. package/.chunks/forms-DtC-EKJL.es.js.map +0 -1
  245. package/.chunks/index-DLUtoTUg.amd.js +0 -2
  246. package/.chunks/index-DLUtoTUg.amd.js.map +0 -1
  247. package/.chunks/index-DkQWJkMc.es.js +0 -54
  248. package/.chunks/index-DkQWJkMc.es.js.map +0 -1
  249. package/.chunks/lazy-DDNqYkXn.amd.js +0 -2
  250. package/.chunks/lazy-DDNqYkXn.amd.js.map +0 -1
  251. package/.chunks/lazy-HKSyLh72.es.js +0 -75
  252. package/.chunks/lazy-HKSyLh72.es.js.map +0 -1
  253. package/.chunks/notice-BvQl911b.es.js +0 -191
  254. package/.chunks/notice-BvQl911b.es.js.map +0 -1
  255. package/.chunks/notice-CJ3WOTCM.amd.js +0 -4
  256. package/.chunks/notice-CJ3WOTCM.amd.js.map +0 -1
  257. package/.chunks/page.vue_vue_type_script_setup_true_lang-Dd5-B4Ss.es.js +0 -139
  258. package/.chunks/page.vue_vue_type_script_setup_true_lang-Dd5-B4Ss.es.js.map +0 -1
  259. package/.chunks/page.vue_vue_type_script_setup_true_lang-fl6-Ql4d.amd.js +0 -2
  260. package/.chunks/page.vue_vue_type_script_setup_true_lang-fl6-Ql4d.amd.js.map +0 -1
  261. package/.chunks/policy.vue_vue_type_style_index_0_lang-Bv3LwNDC.es.js +0 -519
  262. package/.chunks/policy.vue_vue_type_style_index_0_lang-Bv3LwNDC.es.js.map +0 -1
  263. package/.chunks/policy.vue_vue_type_style_index_0_lang-Da7rztT5.amd.js +0 -2
  264. package/.chunks/policy.vue_vue_type_style_index_0_lang-Da7rztT5.amd.js.map +0 -1
  265. package/.chunks/popup-OuDglAOF.es.js +0 -470
  266. package/.chunks/popup-OuDglAOF.es.js.map +0 -1
  267. package/.chunks/popup-yXIpyok3.amd.js +0 -2
  268. package/.chunks/popup-yXIpyok3.amd.js.map +0 -1
  269. package/.chunks/popupHint.vue_vue_type_style_index_0_lang-Bu_HvFoW.amd.js +0 -2
  270. package/.chunks/popupHint.vue_vue_type_style_index_0_lang-Bu_HvFoW.amd.js.map +0 -1
  271. package/.chunks/popupHint.vue_vue_type_style_index_0_lang-DAQIAxvu.es.js +0 -209
  272. package/.chunks/popupHint.vue_vue_type_style_index_0_lang-DAQIAxvu.es.js.map +0 -1
  273. package/.chunks/punycode.es6-CNOnFR2-.amd.js +0 -2
  274. package/.chunks/punycode.es6-CNOnFR2-.amd.js.map +0 -1
  275. package/.chunks/punycode.es6-CgGegfA_.es.js +0 -134
  276. package/.chunks/store-CX_6ZXhO.es.js +0 -29
  277. package/.chunks/store-YRW59xEF.amd.js +0 -2
  278. package/.chunks/store-YRW59xEF.amd.js.map +0 -1
  279. package/.chunks/utils-BNzP9anP.es.js +0 -78
  280. package/.chunks/utils-BNzP9anP.es.js.map +0 -1
  281. package/.chunks/utils-CWn_G7OO.amd.js +0 -2
  282. package/.chunks/utils-CWn_G7OO.amd.js.map +0 -1
  283. package/.chunks/utils-DIviuVEw.amd.js +0 -2
  284. package/.chunks/utils-DIviuVEw.amd.js.map +0 -1
  285. package/.chunks/utils-Dma85ehT.es.js +0 -288
  286. package/.chunks/utils-Dma85ehT.es.js.map +0 -1
  287. package/.chunks/widgetInput.vue_vue_type_script_setup_true_lang-CX_BOcVY.es.js +0 -39
  288. package/.chunks/widgetInput.vue_vue_type_script_setup_true_lang-CX_BOcVY.es.js.map +0 -1
  289. package/.chunks/widgetInput.vue_vue_type_script_setup_true_lang-CkOmb3VD.amd.js +0 -2
  290. package/.chunks/widgetInput.vue_vue_type_script_setup_true_lang-CkOmb3VD.amd.js.map +0 -1
  291. package/api/index.js.map +0 -1
  292. package/assets/policy.css +0 -1
  293. package/assets/popupHint.css +0 -1
  294. package/core/app.js.map +0 -1
  295. package/dialog/dialog.js.map +0 -1
  296. package/forms/forms.js.map +0 -1
  297. package/forms/helpers.js.map +0 -1
  298. package/formsExt/formsExt.js.map +0 -1
  299. package/popup/popup.js.map +0 -1
  300. package/popup/worker.js.map +0 -1
  301. package/src/src/components/project/groupSelector/utils.d.ts +0 -37
  302. package/utils/date.js.map +0 -1
  303. package/utils/device.js.map +0 -1
  304. package/utils/lodash.js.map +0 -1
  305. package/utils/store.js.map +0 -1
package/utils/route.js CHANGED
@@ -1,38 +1,34 @@
1
- const i = function(n, t = location.hash) {
2
- const e = new RegExp("[#?&]" + n + "=([^&]*)"), r = t.match(e);
3
- return !r || r.length != 2 ? "" : (r[1] = decodeURIComponent(r[1]), r[1] = r[1].replace(/\+/g, " "), r[1]);
4
- }, f = function(n, t, e = !0) {
5
- let r = p(n, t);
6
- s(!!e, r);
7
- }, l = function(n, t, e = !0) {
8
- f(n, null, e);
9
- }, p = function(n, t, e = location.hash) {
10
- const r = new RegExp("&?" + n + "=[^&]*", "g");
11
- return e = e.replace(r, ""), t !== null && (t = (t + "").replace(" ", "%20"), e = e.replace(r, "&" + n + "=" + t), e.indexOf("&" + n + "=") == -1 && (e += "&" + n + "=" + t)), e = e.replace(/&+/g, "&"), e = e.replace(/^(#)?&|&$/g, "$1"), e = "#" + e, e = e.replace(/^#+/, "#"), e === "#" && (e = ""), e;
12
- }, u = function(n, t) {
13
- n instanceof Map && (n = Object.fromEntries(n)), t === void 0 && (t = !0);
14
- let e = location.hash;
15
- for (const r in n) {
16
- const c = new RegExp("&?" + r + "=[^&]*", "g");
17
- e = e.replace(c, ""), n[r] !== null && (n[r] = (n[r] + "").replace(" ", "%20"), e += "&" + r + "=" + n[r]);
18
- }
19
- e = e.replace(/&+/g, "&"), e = e.replace(/^(#)?&|&$/g, "$1"), e = "#" + e, e = e.replace(/^#+/, "#"), e === "#" && (e = ""), s(!!t, e);
20
- }, s = (n = !1, t) => {
21
- if (t === location.hash) return;
22
- const e = location.href, r = location.href.replace(/#.*/, "") + t;
23
- n ? history.replaceState(history.state, "", r) : history.pushState(history.state, "", r);
24
- const c = new HashChangeEvent("hashchange", {
25
- oldURL: e,
26
- newURL: r
27
- });
28
- window.dispatchEvent(c);
1
+ //#region src/core/utils/route.ts
2
+ var e = function(e, t = location.hash) {
3
+ let n = RegExp("[#?&]" + e + "=([^&]*)"), r = t.match(n);
4
+ return !r || r.length != 2 ? "" : (r[1] = decodeURIComponent(r[1]), r[1] = r[1].replace(/\+/g, " "), r[1]);
5
+ }, t = function(e, t, n = !0) {
6
+ let i = r(e, t);
7
+ a(!!n, i);
8
+ }, n = function(e, n, r = !0) {
9
+ t(e, null, r);
10
+ }, r = function(e, t, n = location.hash) {
11
+ let r = RegExp("&?" + e + "=[^&]*", "g");
12
+ return n = n.replace(r, ""), t !== null && (t = (t + "").replace(" ", "%20"), n = n.replace(r, "&" + e + "=" + t), n.indexOf("&" + e + "=") == -1 && (n += "&" + e + "=" + t)), n = n.replace(/&+/g, "&"), n = n.replace(/^(#)?&|&$/g, "$1"), n = "#" + n, n = n.replace(/^#+/, "#"), n === "#" && (n = ""), n;
13
+ }, i = function(e, t) {
14
+ e instanceof Map && (e = Object.fromEntries(e)), t === void 0 && (t = !0);
15
+ let n = location.hash;
16
+ for (let t in e) {
17
+ let r = RegExp("&?" + t + "=[^&]*", "g");
18
+ n = n.replace(r, ""), e[t] !== null && (e[t] = (e[t] + "").replace(" ", "%20"), n += "&" + t + "=" + e[t]);
19
+ }
20
+ n = n.replace(/&+/g, "&"), n = n.replace(/^(#)?&|&$/g, "$1"), n = "#" + n, n = n.replace(/^#+/, "#"), n === "#" && (n = ""), a(!!t, n);
21
+ }, a = (e = !1, t) => {
22
+ if (t === location.hash) return;
23
+ let n = location.href, r = location.href.replace(/#.*/, "") + t;
24
+ e ? history.replaceState(history.state, "", r) : history.pushState(history.state, "", r);
25
+ let i = new HashChangeEvent("hashchange", {
26
+ oldURL: n,
27
+ newURL: r
28
+ });
29
+ window.dispatchEvent(i);
29
30
  };
30
- export {
31
- l as delHash,
32
- p as genHash,
33
- i as getHash,
34
- s as historySetState,
35
- f as setHash,
36
- u as setHashs
37
- };
38
- //# sourceMappingURL=route.js.map
31
+ //#endregion
32
+ export { n as delHash, r as genHash, e as getHash, a as historySetState, t as setHash, i as setHashs };
33
+
34
+ //# sourceMappingURL=route.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"route.js","sources":["../../src/core/utils/route.ts"],"sourcesContent":["/**\n * Управление навигацией страницы, работа с hash параметрами страницы\n * @packageDocumentation\n */\n\n/**\n * Получить значение хэш параметра страницы\n */\nexport const getHash = function (name: string, locationHash: string = location.hash): string {\n\tconst re = new RegExp('[#?&]' + name + '=([^&]*)');\n\tconst value = locationHash.match(re);\n\tif (!value || value.length != 2) return '';\n\n\tvalue[1] = decodeURIComponent(value[1]);\n\tvalue[1] = value[1].replace(/\\+/g, ' ');\n\n\treturn value[1];\n};\n\n/**\n * Установить значение в хэш параметр страницы\n */\nexport const setHash = function (name: string, value: string | number | null, replaceState: boolean = true): void {\n\tlet hash = genHash(name, value);\n\n\tif (replaceState) {\n\t\thistorySetState(true, hash);\n\t} else {\n\t\thistorySetState(false, hash);\n\t}\n};\n\n/**\n * Удалить значение из хэш параметра страницы\n */\nexport const delHash = function (name: string, value: string, replaceState: boolean = true): void {\n\tsetHash(name, null, replaceState);\n};\n\n/**\n * Сгенерировать новое значение для хэш параметра страницы с указанным параметром\n */\nexport const genHash = function (name: string, value: string | number | null, locationHash: string = location.hash): string {\n\tconst re = new RegExp('&?' + name + '=[^&]*', 'g');\n\n\tlocationHash = locationHash.replace(re, '');\n\n\tif (value !== null) {\n\t\tvalue = (value + '').replace(' ', '%20');\n\t\tlocationHash = locationHash.replace(re, '&' + name + '=' + value);\n\n\t\tif (locationHash.indexOf('&' + name + '=') == -1) locationHash += '&' + name + '=' + value;\n\t}\n\n\tlocationHash = locationHash.replace(/&+/g, '&');\n\tlocationHash = locationHash.replace(/^(#)?&|&$/g, '$1');\n\n\tlocationHash = '#' + locationHash;\n\tlocationHash = locationHash.replace(/^#+/, '#');\n\n\tif (locationHash === '#') locationHash = '';\n\n\treturn locationHash;\n};\n\n/**\n * Установить значения в хэш параметр страницы\n */\nexport const setHashs = function (data: Map<string, string> | object | any, replaceState: boolean): void {\n\tif (data instanceof Map) data = Object.fromEntries(data);\n\n\tif (replaceState === undefined) replaceState = true;\n\tlet hash = location.hash;\n\n\tfor (const name in data) {\n\t\tconst re = new RegExp('&?' + name + '=[^&]*', 'g');\n\t\thash = hash.replace(re, '');\n\n\t\tif (data[name] !== null) {\n\t\t\tdata[name] = (data[name] + '').replace(' ', '%20');\n\t\t\thash += '&' + name + '=' + data[name];\n\t\t}\n\t}\n\n\thash = hash.replace(/&+/g, '&');\n\thash = hash.replace(/^(#)?&|&$/g, '$1');\n\n\thash = '#' + hash;\n\thash = hash.replace(/^#+/, '#');\n\n\tif (hash === '#') hash = '';\n\n\tif (replaceState) {\n\t\thistorySetState(true, hash);\n\t} else {\n\t\thistorySetState(false, hash);\n\t}\n};\n\n/**\n * Установть позицию в истории вкладки браузера\n *\n * @see history.replaceState\n * @see history.pushState\n *\n * @todo Объединить с historyPushState() из @/component/vue/app/spa\n */\nexport const historySetState = (replace: boolean = false, hash: string): void => {\n\t// дедупликация хеш навигации\n\t// необходима так как js слушает нативную навигацию и если состояние уже устанолено, оно не должно повторно устанавливаться из js\n\tif (hash === location.hash) return;\n\n\tconst oldURL = location.href;\n\n\tconst url = location.href.replace(/#.*/, '') + hash;\n\n\tif (replace) {\n\t\thistory.replaceState(history.state, '', url);\n\t} else {\n\t\thistory.pushState(history.state, '', url);\n\t}\n\n\t// имитация hashchange, так как при работе с history, он не будет вызван автоматически\n\tconst event = new HashChangeEvent('hashchange', {\n\t\toldURL: oldURL,\n\t\tnewURL: url,\n\t});\n\n\twindow.dispatchEvent(event);\n};\n"],"names":["getHash","name","locationHash","re","value","setHash","replaceState","hash","genHash","historySetState","delHash","setHashs","data","replace","oldURL","url","event"],"mappings":"AAQO,MAAMA,IAAU,SAAUC,GAAcC,IAAuB,SAAS,MAAc;AAC5F,QAAMC,IAAK,IAAI,OAAO,UAAUF,IAAO,UAAU,GAC3CG,IAAQF,EAAa,MAAMC,CAAE;AACnC,SAAI,CAACC,KAASA,EAAM,UAAU,IAAU,MAExCA,EAAM,CAAC,IAAI,mBAAmBA,EAAM,CAAC,CAAC,GACtCA,EAAM,CAAC,IAAIA,EAAM,CAAC,EAAE,QAAQ,OAAO,GAAG,GAE/BA,EAAM,CAAC;AACf,GAKaC,IAAU,SAAUJ,GAAcG,GAA+BE,IAAwB,IAAY;AACjH,MAAIC,IAAOC,EAAQP,GAAMG,CAAK;AAE9B,EACCK,EADG,EAAAH,GACmBC,CAAI;AAI5B,GAKaG,IAAU,SAAUT,GAAcG,GAAeE,IAAwB,IAAY;AACjG,EAAAD,EAAQJ,GAAM,MAAMK,CAAY;AACjC,GAKaE,IAAU,SAAUP,GAAcG,GAA+BF,IAAuB,SAAS,MAAc;AAC3H,QAAMC,IAAK,IAAI,OAAO,OAAOF,IAAO,UAAU,GAAG;AAEjD,SAAAC,IAAeA,EAAa,QAAQC,GAAI,EAAE,GAEtCC,MAAU,SACbA,KAASA,IAAQ,IAAI,QAAQ,KAAK,KAAK,GACvCF,IAAeA,EAAa,QAAQC,GAAI,MAAMF,IAAO,MAAMG,CAAK,GAE5DF,EAAa,QAAQ,MAAMD,IAAO,GAAG,KAAK,OAAIC,KAAgB,MAAMD,IAAO,MAAMG,KAGtFF,IAAeA,EAAa,QAAQ,OAAO,GAAG,GAC9CA,IAAeA,EAAa,QAAQ,cAAc,IAAI,GAEtDA,IAAe,MAAMA,GACrBA,IAAeA,EAAa,QAAQ,OAAO,GAAG,GAE1CA,MAAiB,QAAKA,IAAe,KAElCA;AACR,GAKaS,IAAW,SAAUC,GAA0CN,GAA6B;AACxG,EAAIM,aAAgB,QAAKA,IAAO,OAAO,YAAYA,CAAI,IAEnDN,MAAiB,WAAWA,IAAe;AAC/C,MAAIC,IAAO,SAAS;AAEpB,aAAWN,KAAQW,GAAM;AACxB,UAAMT,IAAK,IAAI,OAAO,OAAOF,IAAO,UAAU,GAAG;AACjD,IAAAM,IAAOA,EAAK,QAAQJ,GAAI,EAAE,GAEtBS,EAAKX,CAAI,MAAM,SAClBW,EAAKX,CAAI,KAAKW,EAAKX,CAAI,IAAI,IAAI,QAAQ,KAAK,KAAK,GACjDM,KAAQ,MAAMN,IAAO,MAAMW,EAAKX,CAAI;AAAA,EAEtC;AAEA,EAAAM,IAAOA,EAAK,QAAQ,OAAO,GAAG,GAC9BA,IAAOA,EAAK,QAAQ,cAAc,IAAI,GAEtCA,IAAO,MAAMA,GACbA,IAAOA,EAAK,QAAQ,OAAO,GAAG,GAE1BA,MAAS,QAAKA,IAAO,KAGxBE,EADG,EAAAH,GACmBC,CAAI;AAI5B,GAUaE,IAAkB,CAACI,IAAmB,IAAON,MAAuB;AAGhF,MAAIA,MAAS,SAAS,KAAM;AAE5B,QAAMO,IAAS,SAAS,MAElBC,IAAM,SAAS,KAAK,QAAQ,OAAO,EAAE,IAAIR;AAE/C,EAAIM,IACH,QAAQ,aAAa,QAAQ,OAAO,IAAIE,CAAG,IAE3C,QAAQ,UAAU,QAAQ,OAAO,IAAIA,CAAG;AAIzC,QAAMC,IAAQ,IAAI,gBAAgB,cAAc;AAAA,IAC/C,QAAAF;AAAA,IACA,QAAQC;AAAA,EAAA,CACR;AAED,SAAO,cAAcC,CAAK;AAC3B;"}
1
+ {"version":3,"file":"route.js","names":[],"sources":["../../src/core/utils/route.ts"],"sourcesContent":["/**\n * Управление навигацией страницы, работа с hash параметрами страницы\n * @packageDocumentation\n */\n\n/**\n * Получить значение хэш параметра страницы\n */\nexport const getHash = function (name: string, locationHash: string = location.hash): string {\n\tconst re = new RegExp('[#?&]' + name + '=([^&]*)');\n\tconst value = locationHash.match(re);\n\tif (!value || value.length != 2) return '';\n\n\tvalue[1] = decodeURIComponent(value[1]);\n\tvalue[1] = value[1].replace(/\\+/g, ' ');\n\n\treturn value[1];\n};\n\n/**\n * Установить значение в хэш параметр страницы\n */\nexport const setHash = function (name: string, value: string | number | null, replaceState: boolean = true): void {\n\tlet hash = genHash(name, value);\n\n\tif (replaceState) {\n\t\thistorySetState(true, hash);\n\t} else {\n\t\thistorySetState(false, hash);\n\t}\n};\n\n/**\n * Удалить значение из хэш параметра страницы\n */\nexport const delHash = function (name: string, value: string, replaceState: boolean = true): void {\n\tsetHash(name, null, replaceState);\n};\n\n/**\n * Сгенерировать новое значение для хэш параметра страницы с указанным параметром\n */\nexport const genHash = function (name: string, value: string | number | null, locationHash: string = location.hash): string {\n\tconst re = new RegExp('&?' + name + '=[^&]*', 'g');\n\n\tlocationHash = locationHash.replace(re, '');\n\n\tif (value !== null) {\n\t\tvalue = (value + '').replace(' ', '%20');\n\t\tlocationHash = locationHash.replace(re, '&' + name + '=' + value);\n\n\t\tif (locationHash.indexOf('&' + name + '=') == -1) locationHash += '&' + name + '=' + value;\n\t}\n\n\tlocationHash = locationHash.replace(/&+/g, '&');\n\tlocationHash = locationHash.replace(/^(#)?&|&$/g, '$1');\n\n\tlocationHash = '#' + locationHash;\n\tlocationHash = locationHash.replace(/^#+/, '#');\n\n\tif (locationHash === '#') locationHash = '';\n\n\treturn locationHash;\n};\n\n/**\n * Установить значения в хэш параметр страницы\n */\nexport const setHashs = function (data: Map<string, string> | object | any, replaceState: boolean): void {\n\tif (data instanceof Map) data = Object.fromEntries(data);\n\n\tif (replaceState === undefined) replaceState = true;\n\tlet hash = location.hash;\n\n\tfor (const name in data) {\n\t\tconst re = new RegExp('&?' + name + '=[^&]*', 'g');\n\t\thash = hash.replace(re, '');\n\n\t\tif (data[name] !== null) {\n\t\t\tdata[name] = (data[name] + '').replace(' ', '%20');\n\t\t\thash += '&' + name + '=' + data[name];\n\t\t}\n\t}\n\n\thash = hash.replace(/&+/g, '&');\n\thash = hash.replace(/^(#)?&|&$/g, '$1');\n\n\thash = '#' + hash;\n\thash = hash.replace(/^#+/, '#');\n\n\tif (hash === '#') hash = '';\n\n\tif (replaceState) {\n\t\thistorySetState(true, hash);\n\t} else {\n\t\thistorySetState(false, hash);\n\t}\n};\n\n/**\n * Установть позицию в истории вкладки браузера\n *\n * @see history.replaceState\n * @see history.pushState\n *\n * @todo Объединить с historyPushState() из @/component/vue/app/spa\n */\nexport const historySetState = (replace: boolean = false, hash: string): void => {\n\t// дедупликация хеш навигации\n\t// необходима так как js слушает нативную навигацию и если состояние уже устанолено, оно не должно повторно устанавливаться из js\n\tif (hash === location.hash) return;\n\n\tconst oldURL = location.href;\n\n\tconst url = location.href.replace(/#.*/, '') + hash;\n\n\tif (replace) {\n\t\thistory.replaceState(history.state, '', url);\n\t} else {\n\t\thistory.pushState(history.state, '', url);\n\t}\n\n\t// имитация hashchange, так как при работе с history, он не будет вызван автоматически\n\tconst event = new HashChangeEvent('hashchange', {\n\t\toldURL: oldURL,\n\t\tnewURL: url,\n\t});\n\n\twindow.dispatchEvent(event);\n};\n"],"mappings":";AAQA,IAAa,IAAU,SAAU,GAAc,IAAuB,SAAS,MAAc;CAC5F,IAAM,IAAS,OAAO,UAAU,IAAO,WAAW,EAC5C,IAAQ,EAAa,MAAM,EAAG;AAMpC,QALI,CAAC,KAAS,EAAM,UAAU,IAAU,MAExC,EAAM,KAAK,mBAAmB,EAAM,GAAG,EACvC,EAAM,KAAK,EAAM,GAAG,QAAQ,OAAO,IAAI,EAEhC,EAAM;GAMD,IAAU,SAAU,GAAc,GAA+B,IAAwB,IAAY;CACjH,IAAI,IAAO,EAAQ,GAAM,EAAM;AAE/B,CACC,EADG,KACmB,EAEM;GAOjB,IAAU,SAAU,GAAc,GAAe,IAAwB,IAAY;AACjG,GAAQ,GAAM,MAAM,EAAa;GAMrB,IAAU,SAAU,GAAc,GAA+B,IAAuB,SAAS,MAAc;CAC3H,IAAM,IAAS,OAAO,OAAO,IAAO,UAAU,IAAI;AAmBlD,QAjBA,IAAe,EAAa,QAAQ,GAAI,GAAG,EAEvC,MAAU,SACb,KAAS,IAAQ,IAAI,QAAQ,KAAK,MAAM,EACxC,IAAe,EAAa,QAAQ,GAAI,MAAM,IAAO,MAAM,EAAM,EAE7D,EAAa,QAAQ,MAAM,IAAO,IAAI,IAAI,OAAI,KAAgB,MAAM,IAAO,MAAM,KAGtF,IAAe,EAAa,QAAQ,OAAO,IAAI,EAC/C,IAAe,EAAa,QAAQ,cAAc,KAAK,EAEvD,IAAe,MAAM,GACrB,IAAe,EAAa,QAAQ,OAAO,IAAI,EAE3C,MAAiB,QAAK,IAAe,KAElC;GAMK,IAAW,SAAU,GAA0C,GAA6B;AAGxG,CAFI,aAAgB,QAAK,IAAO,OAAO,YAAY,EAAK,GAEpD,MAAiB,KAAA,MAAW,IAAe;CAC/C,IAAI,IAAO,SAAS;AAEpB,MAAK,IAAM,KAAQ,GAAM;EACxB,IAAM,IAAS,OAAO,OAAO,IAAO,UAAU,IAAI;AAGlD,EAFA,IAAO,EAAK,QAAQ,GAAI,GAAG,EAEvB,EAAK,OAAU,SAClB,EAAK,MAAS,EAAK,KAAQ,IAAI,QAAQ,KAAK,MAAM,EAClD,KAAQ,MAAM,IAAO,MAAM,EAAK;;AAYlC,CARA,IAAO,EAAK,QAAQ,OAAO,IAAI,EAC/B,IAAO,EAAK,QAAQ,cAAc,KAAK,EAEvC,IAAO,MAAM,GACb,IAAO,EAAK,QAAQ,OAAO,IAAI,EAE3B,MAAS,QAAK,IAAO,KAGxB,EADG,KACmB,EAEM;GAYjB,KAAmB,IAAmB,IAAO,MAAuB;AAGhF,KAAI,MAAS,SAAS,KAAM;CAE5B,IAAM,IAAS,SAAS,MAElB,IAAM,SAAS,KAAK,QAAQ,OAAO,GAAG,GAAG;AAE/C,CAAI,IACH,QAAQ,aAAa,QAAQ,OAAO,IAAI,EAAI,GAE5C,QAAQ,UAAU,QAAQ,OAAO,IAAI,EAAI;CAI1C,IAAM,IAAQ,IAAI,gBAAgB,cAAc;EACvC;EACR,QAAQ;EACR,CAAC;AAEF,QAAO,cAAc,EAAM"}
@@ -1,2 +1,2 @@
1
- define(["require","exports","./dom.amd"],(function(g,s,i){"use strict";if(typeof d>"u")var d=window.Vue;const n=t=>{if(!t||!t.parentElement||!t.offsetHeight)return;if(window.dialogs){const o=t.closest(".ui-dialog");o?.getBoundingClientRect()&&o?.getBoundingClientRect().bottom>document.documentElement.clientHeight&&setTimeout(window.dialogs.onWindowResize)}const e=t.scrollHeight>t.offsetHeight;if(e?(t.parentElement.classList.add("has_scroll_container"),t.classList.add("has_scroll")):(t.parentElement.classList.remove("has_scroll_container"),t.classList.remove("has_scroll")),e){const o=i.offset(t).top-i.offset(t.parentElement).top;t.style.setProperty("--scroll-offset-top",o+"px");const r=t.offsetHeight;t.style.setProperty("--scroll-height",r+"px"),t.scrollTop>0?t.classList.add("has_scroll-started"):t.classList.remove("has_scroll-started"),t.scrollTop>=t.scrollHeight-t.offsetHeight?t.classList.add("has_scroll-finished"):t.classList.remove("has_scroll-finished")}};let c;window.ResizeObserver&&(c=new ResizeObserver(t=>{t.forEach(e=>n(e.target))}));const l=t=>{if(!t)return;if(Array.isArray(t)){t.forEach(o=>l(o));return}const e=t;e.dataset.scrollShadowInited||(e.dataset.scrollShadowInited="true",e.onscroll=()=>n(e),c?.observe(e))},f=t=>{c?.unobserve(t)},h=()=>a(),a=(t=document.documentElement)=>{const e=t.clientHeight,o=t.scrollHeight,r=t.scrollTop;if(o&&r&&e){const u=o-e;return Math.floor(r/u*100)}return 100};s.amountScrolled=h,s.connectScrollShadow=l,s.genHasScroll=n,s.getScrollPercent=a,s.unconnectScrollShadow=f,Object.defineProperty(s,Symbol.toStringTag,{value:"Module"})}));
2
- //# sourceMappingURL=scroll.amd.js.map
1
+ define([`require`,`exports`,`./dom.amd.js`],function(e,t,n){"use strict";Object.defineProperty(t,`__esModule`,{value:!0}),t.unconnectScrollShadow=t.getScrollPercent=t.genHasScroll=t.connectScrollShadow=t.amountScrolled=void 0;var r=e=>{if(!e||!e.parentElement||!e.offsetHeight)return;if(window.dialogs){let t=e.closest(`.ui-dialog`);t?.getBoundingClientRect()&&t?.getBoundingClientRect().bottom>document.documentElement.clientHeight&&setTimeout(window.dialogs.onWindowResize)}let t=e.scrollHeight>e.offsetHeight;if(t?(e.parentElement.classList.add(`has_scroll_container`),e.classList.add(`has_scroll`)):(e.parentElement.classList.remove(`has_scroll_container`),e.classList.remove(`has_scroll`)),t){let t=(0,n.offset)(e).top-(0,n.offset)(e.parentElement).top;e.style.setProperty(`--scroll-offset-top`,t+`px`);let r=e.offsetHeight;e.style.setProperty(`--scroll-height`,r+`px`),e.scrollTop>0?e.classList.add(`has_scroll-started`):e.classList.remove(`has_scroll-started`),e.scrollTop>=e.scrollHeight-e.offsetHeight?e.classList.add(`has_scroll-finished`):e.classList.remove(`has_scroll-finished`)}},i;t.genHasScroll=r,window.ResizeObserver&&(i=new ResizeObserver(e=>{e.forEach(e=>r(e.target))}));var a=e=>{if(!e)return;if(Array.isArray(e)){e.forEach(e=>a(e));return}let t=e;t.dataset.scrollShadowInited||(t.dataset.scrollShadowInited=`true`,t.onscroll=()=>r(t),i?.observe(t))},o=e=>{i?.unobserve(e)},s=()=>c(),c=(e=document.documentElement)=>{let t=e.clientHeight,n=e.scrollHeight,r=e.scrollTop;if(n&&r&&t){let e=n-t;return Math.floor(r/e*100)}return 100};t.connectScrollShadow=a,t.unconnectScrollShadow=o,t.amountScrolled=s,t.getScrollPercent=c});
2
+ //# sourceMappingURL=scroll.amd.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"scroll.amd.js","sources":["../../src/core/utils/scroll.ts"],"sourcesContent":["/**\n * Информация о скролле, фичи для скролла\n * @packageDocumentation\n */\n\nimport { offset } from '@/core/utils/dom';\n\n/**\n * Добавить классы модификаторов тени в зависимости от скролла элемента\n *\n * @todo Сделать приватной\n */\nexport const genHasScroll = (el: HTMLElement): void => {\n\tif (!el) return;\n\tif (!el.parentElement) return;\n\tif (!el.offsetHeight) return;\n\n\t// Диалоги не вынесены в UI\n\tif (window['dialogs']) {\n\t\tconst elDialog = el.closest('.ui-dialog');\n\t\tif (elDialog?.getBoundingClientRect() && elDialog?.getBoundingClientRect().bottom > document.documentElement.clientHeight) {\n\t\t\tsetTimeout(window['dialogs'].onWindowResize);\n\t\t}\n\t}\n\n\tconst hasScroll = (el.scrollHeight > el.offsetHeight);\n\tif (hasScroll) {\n\t\tel.parentElement.classList.add('has_scroll_container');\n\t\tel.classList.add('has_scroll');\n\t} else {\n\t\tel.parentElement.classList.remove('has_scroll_container');\n\t\tel.classList.remove('has_scroll');\n\t}\n\n\tif (hasScroll) {\n\t\tconst top: number = offset(el).top - offset(el.parentElement).top;\n\t\tel.style.setProperty('--scroll-offset-top', top + 'px');\n\n\t\tconst height = el.offsetHeight;\n\t\tel.style.setProperty('--scroll-height', height + 'px');\n\n\t\tif (el.scrollTop > 0) {\n\t\t\tel.classList.add('has_scroll-started');\n\t\t} else {\n\t\t\tel.classList.remove('has_scroll-started');\n\t\t}\n\n\t\tif (el.scrollTop >= el.scrollHeight - el.offsetHeight) {\n\t\t\tel.classList.add('has_scroll-finished');\n\t\t} else {\n\t\t\tel.classList.remove('has_scroll-finished');\n\t\t}\n\t}\n};\n\nlet scrollShadowResizeObserver: ResizeObserver;\nif (window.ResizeObserver) {\n\tscrollShadowResizeObserver = new ResizeObserver((entries) => {\n\t\tentries.forEach((entry) => genHasScroll(entry.target as HTMLElement));\n\t});\n}\n\n/**\n * Добавить отображение тени при появлении скролла у элемента\n *\n * Будут добавлены события для усатновки модификаторов тени в зависимости от скролла элемента\n *\n * Модификаторы:\n * - top-scrollShadow\n * - top-scrollShadow-started\n * - top-scrollShadow-finished\n */\nexport const connectScrollShadow = (els: HTMLElement | HTMLElement[]) => {\n\tif (!els) return;\n\n\tif (Array.isArray(els)) {\n\t\tels.forEach((el) => connectScrollShadow(el));\n\n\t\treturn;\n\t}\n\n\tconst el = els;\n\n\tif (el.dataset.scrollShadowInited) return;\n\tel.dataset.scrollShadowInited = 'true';\n\n\tel.onscroll = () => genHasScroll(el);\n\n\tscrollShadowResizeObserver?.observe(el);\n};\n\nexport const unconnectScrollShadow = (el: HTMLElement) => {\n\tscrollShadowResizeObserver?.unobserve(el);\n};\n\n/**\n * Посчитать глубину скролла (процент на сколько проскроллена страница)\n *\n * @deprecated\n */\nexport const amountScrolled = (): number => {\n\treturn getScrollPercent();\n};\n\n/**\n * Получить прогресс скролла в процентах\n */\nexport const getScrollPercent = (el: HTMLElement = document.documentElement): number => {\n\tconst clientHeight = el.clientHeight;\n\tconst scrollHeight = el.scrollHeight;\n\tconst scrollTop = el.scrollTop;\n\n\tif (scrollHeight && scrollTop && clientHeight) {\n\t\tconst trackLength = scrollHeight - clientHeight;\n\n\t\treturn Math.floor(scrollTop / trackLength * 100);\n\t}\n\n\treturn 100;\n};\n"],"names":["genHasScroll","el","elDialog","top","utils_dom","height","scrollShadowResizeObserver","entries","entry","connectScrollShadow","els","unconnectScrollShadow","amountScrolled","getScrollPercent","clientHeight","scrollHeight","scrollTop","trackLength"],"mappings":"wGAYO,MAAAA,EAAAC,GAAA,CAGN,OADA,CAAAA,EAAA,eACA,CAAAA,EAAA,aAAA,OAGA,GAAA,OAAA,QAAA,iCAECC,GAAA,sBAAA,GAAAA,GAAA,sBAAA,EAAA,OAAA,SAAA,gBAAA,0JAQAD,EAAA,UAAA,IAAA,YAAA,6DAGAA,EAAA,UAAA,OAAA,YAAA,MAIA,MAAAE,EAAAC,EAAA,OAAAH,CAAA,EAAA,IAAAG,EAAA,OAAAH,EAAA,aAAA,EAAA,sDAGA,MAAAI,EAAAJ,EAAA,2DAGAA,EAAA,UAAA,EACCA,EAAA,UAAA,IAAA,oBAAA,EAEAA,EAAA,UAAA,OAAA,oBAAA,EAGDA,EAAA,WAAAA,EAAA,aAAAA,EAAA,aACCA,EAAA,UAAA,IAAA,qBAAA,EAEAA,EAAA,UAAA,OAAA,qBAAA,EAGH,EAEA,IAAAK,0BAECA,EAAA,IAAA,eAAAC,GAAA,CACCA,EAAA,QAAAC,GAAAR,EAAAQ,EAAA,MAAA,CAAA,CAAoE,CAAA,GAc/D,MAAAC,EAAAC,GAAA,cAGN,GAAA,MAAA,QAAAA,CAAA,EAAA,qCAQAT,EAAA,QAAA,qBACAA,EAAA,QAAA,mBAAA,2BAIAK,GAAA,QAAAL,CAAA,EACD,EAEOU,EAAAV,GAAA,CACNK,GAAA,UAAAL,CAAA,CACD,EAOOW,EAAA,QAOAC,EAAA,CAAAZ,EAAA,SAAA,kBAAA,CACN,MAAAa,EAAAb,EAAA,aACAc,EAAAd,EAAA,aACAe,EAAAf,EAAA,UAEA,GAAAc,GAAAC,GAAAF,EAAA,CACC,MAAAG,EAAAF,EAAAD,6BAKD,MAAA,IACD"}
1
+ {"version":3,"sources":["utils/scroll.js","../../src/core/utils/scroll.ts"],"names":["exports","t","e","n","dom_js_1","r","i","a","o"],"mappings":"AAAA,OAAO,CAAC,UAAW,UAAW,eAAW,CAAE,SAAU,EAAS,EAAS,EAAU,CAC7E,aCWS,OAAgB,eAA0BA,EAAA,aAAA,CAAA,MAAA,GAAA,CAAA,CAGtD,EADK,sBACG,EAAA,iBAAc,EAAA,aAAA,EAAA,oBAAA,EAAA,eAAA,IAAA,GAIrB,IAAMC,EAAc,GAAA,CACN,GAAA,CAAAA,GAAA,CAAAA,EAAA,eAAqC,CAAAA,EAAA,aDbzC,OCkBL,GAAgB,OAAA,QAAkB,CAEpC,IAAAC,EAAAD,EAAA,QAAc,aAAc,CAQJC,GAAI,uBAAgB,EAAeA,GAAA,uBAAA,CAAA,OAAA,SAAA,gBAAA,cAAA,WAAA,OAAA,QAAA,eAAA,CAGxD,IAAYC,EAAAF,EAAA,aAAAA,EAAA,aACf,GAAME,GAAAF,EAAA,cAAY,UAAmB,IAAS,uBAGhD,CAAGA,EAAA,UAAU,IAAI,aAAA,GAAAA,EAAqB,cAEzB,UAAO,OAAA,uBAGd,CAAAA,EAAA,UAAgB,OAAA,aAAkB,EAAAE,EACxC,CDlCS,IAAIA,GAAK,EAAGC,EAAS,QAAQH,EAAE,CAAC,KAAO,EAAGG,EAAS,QAAQH,EAAE,cAAc,CAAC,ICyCpFA,EAAA,MAAA,YAAA,sBAAAE,EAAA,KAAA,CACO,IAAA,EAAAF,EAAA,aAEQA,EAAA,MAAuB,YAA6B,kBAAA,EAAA,KAAA,CAAAA,EAAA,UAAA,EAAAA,EAAA,UAAA,IAAA,qBAAA,CAAAA,EAAA,UAAA,OAAA,qBAAA,CAAAA,EAAA,WAAAA,EAAA,aAAAA,EAAA,aAAAA,EAAA,UAAA,IAAA,sBAAA,CAAAA,EAAA,UAAA,OAAA,sBAAA,GAc1DE,EACZ,EAAU,aAAAF,EAEV,OAAU,iBAAc,EAAA,IAAA,eAAA,GAAA,CACnB,EAAA,QAAgB,GAAwBA,EAAA,EAAA,OAAA,CAAA,EAE5C,EDtDE,IAAII,EAAK,GAAM,CCyDZ,GAAK,CAAA,EAEI,OAQsB,GAAA,MAAoB,QAAA,EAAA,CAAA,CAC7B,EAAU,QAAG,GAAAA,EAAA,EAAA,CAAA,CAQ7B,OAYR,IAAgBC,EAAa,EAC1BA,EAAc,QAAe,qBAAA,EAAA,QAAA,mBAAA,OAAA,EAAA,aAAAL,EAAAK,EAAA,CAAAH,GAAA,QAAAG,EAAA,GAEnCA,EAAO,GAAK,CDjFNH,GAAG,UAAU,EAAE,ECoFtBI,MAAOC,GAAA,CAAAA,GAAA,EAAA,SAAA,kBAAA,CDlFA,IAAI,EAAI,EAAE,aAAc,EAAI,EAAE,aAAc,EAAI,EAAE,UAClD,GAAI,GAAK,GAAK,EAAG,CACb,IAAI,EAAI,EAAI,EACZ,OAAO,KAAK,MAAM,EAAI,EAAI,IAAI,CAElC,MAAO,MAEX,EAAQ,oBAAsBH,EAC9B,EAAQ,sBAAwBC,EAChC,EAAQ,eAAiBC,EACzB,EAAQ,iBAAmBC,GAC7B","sourcesContent":["define([\"require\", \"exports\", \"./dom.js\"], function (require, exports, dom_js_1) {\n \"use strict\";\n Object.defineProperty(exports, \"__esModule\", { value: true });\n exports.unconnectScrollShadow = exports.getScrollPercent = exports.genHasScroll = exports.connectScrollShadow = exports.amountScrolled = void 0;\n //#region src/core/utils/scroll.ts\n var t = (t) => {\n if (!t || !t.parentElement || !t.offsetHeight)\n return;\n if (window.dialogs) {\n let e = t.closest(\".ui-dialog\");\n e?.getBoundingClientRect() && e?.getBoundingClientRect().bottom > document.documentElement.clientHeight && setTimeout(window.dialogs.onWindowResize);\n }\n let n = t.scrollHeight > t.offsetHeight;\n if (n ? (t.parentElement.classList.add(\"has_scroll_container\"), t.classList.add(\"has_scroll\")) : (t.parentElement.classList.remove(\"has_scroll_container\"), t.classList.remove(\"has_scroll\")), n) {\n let n = (0, dom_js_1.offset)(t).top - (0, dom_js_1.offset)(t.parentElement).top;\n t.style.setProperty(\"--scroll-offset-top\", n + \"px\");\n let r = t.offsetHeight;\n t.style.setProperty(\"--scroll-height\", r + \"px\"), t.scrollTop > 0 ? t.classList.add(\"has_scroll-started\") : t.classList.remove(\"has_scroll-started\"), t.scrollTop >= t.scrollHeight - t.offsetHeight ? t.classList.add(\"has_scroll-finished\") : t.classList.remove(\"has_scroll-finished\");\n }\n }, n;\n exports.genHasScroll = t;\n window.ResizeObserver && (n = new ResizeObserver((e) => {\n e.forEach((e) => t(e.target));\n }));\n var r = (e) => {\n if (!e)\n return;\n if (Array.isArray(e)) {\n e.forEach((e) => r(e));\n return;\n }\n let i = e;\n i.dataset.scrollShadowInited || (i.dataset.scrollShadowInited = \"true\", i.onscroll = () => t(i), n?.observe(i));\n }, i = (e) => {\n n?.unobserve(e);\n }, a = () => o(), o = (e = document.documentElement) => {\n let t = e.clientHeight, n = e.scrollHeight, r = e.scrollTop;\n if (n && r && t) {\n let e = n - t;\n return Math.floor(r / e * 100);\n }\n return 100;\n };\n exports.connectScrollShadow = r;\n exports.unconnectScrollShadow = i;\n exports.amountScrolled = a;\n exports.getScrollPercent = o;\n});\n//# sourceMappingURL=scroll.js.map\n","/**\n * Информация о скролле, фичи для скролла\n * @packageDocumentation\n */\n\nimport { offset } from '@/core/utils/dom';\n\n/**\n * Добавить классы модификаторов тени в зависимости от скролла элемента\n *\n * @todo Сделать приватной\n */\nexport const genHasScroll = (el: HTMLElement): void => {\n\tif (!el) return;\n\tif (!el.parentElement) return;\n\tif (!el.offsetHeight) return;\n\n\t// Диалоги не вынесены в UI\n\tif (window['dialogs']) {\n\t\tconst elDialog = el.closest('.ui-dialog');\n\t\tif (elDialog?.getBoundingClientRect() && elDialog?.getBoundingClientRect().bottom > document.documentElement.clientHeight) {\n\t\t\tsetTimeout(window['dialogs'].onWindowResize);\n\t\t}\n\t}\n\n\tconst hasScroll = (el.scrollHeight > el.offsetHeight);\n\tif (hasScroll) {\n\t\tel.parentElement.classList.add('has_scroll_container');\n\t\tel.classList.add('has_scroll');\n\t} else {\n\t\tel.parentElement.classList.remove('has_scroll_container');\n\t\tel.classList.remove('has_scroll');\n\t}\n\n\tif (hasScroll) {\n\t\tconst top: number = offset(el).top - offset(el.parentElement).top;\n\t\tel.style.setProperty('--scroll-offset-top', top + 'px');\n\n\t\tconst height = el.offsetHeight;\n\t\tel.style.setProperty('--scroll-height', height + 'px');\n\n\t\tif (el.scrollTop > 0) {\n\t\t\tel.classList.add('has_scroll-started');\n\t\t} else {\n\t\t\tel.classList.remove('has_scroll-started');\n\t\t}\n\n\t\tif (el.scrollTop >= el.scrollHeight - el.offsetHeight) {\n\t\t\tel.classList.add('has_scroll-finished');\n\t\t} else {\n\t\t\tel.classList.remove('has_scroll-finished');\n\t\t}\n\t}\n};\n\nlet scrollShadowResizeObserver: ResizeObserver;\nif (window.ResizeObserver) {\n\tscrollShadowResizeObserver = new ResizeObserver((entries) => {\n\t\tentries.forEach((entry) => genHasScroll(entry.target as HTMLElement));\n\t});\n}\n\n/**\n * Добавить отображение тени при появлении скролла у элемента\n *\n * Будут добавлены события для усатновки модификаторов тени в зависимости от скролла элемента\n *\n * Модификаторы:\n * - top-scrollShadow\n * - top-scrollShadow-started\n * - top-scrollShadow-finished\n */\nexport const connectScrollShadow = (els: HTMLElement | HTMLElement[]) => {\n\tif (!els) return;\n\n\tif (Array.isArray(els)) {\n\t\tels.forEach((el) => connectScrollShadow(el));\n\n\t\treturn;\n\t}\n\n\tconst el = els;\n\n\tif (el.dataset.scrollShadowInited) return;\n\tel.dataset.scrollShadowInited = 'true';\n\n\tel.onscroll = () => genHasScroll(el);\n\n\tscrollShadowResizeObserver?.observe(el);\n};\n\nexport const unconnectScrollShadow = (el: HTMLElement) => {\n\tscrollShadowResizeObserver?.unobserve(el);\n};\n\n/**\n * Посчитать глубину скролла (процент на сколько проскроллена страница)\n *\n * @deprecated\n */\nexport const amountScrolled = (): number => {\n\treturn getScrollPercent();\n};\n\n/**\n * Получить прогресс скролла в процентах\n */\nexport const getScrollPercent = (el: HTMLElement = document.documentElement): number => {\n\tconst clientHeight = el.clientHeight;\n\tconst scrollHeight = el.scrollHeight;\n\tconst scrollTop = el.scrollTop;\n\n\tif (scrollHeight && scrollTop && clientHeight) {\n\t\tconst trackLength = scrollHeight - clientHeight;\n\n\t\treturn Math.floor(scrollTop / trackLength * 100);\n\t}\n\n\treturn 100;\n};\n"]}
package/utils/scroll.js CHANGED
@@ -1,45 +1,41 @@
1
- import { offset as n } from "./dom.js";
2
- const c = (t) => {
3
- if (!t || !t.parentElement || !t.offsetHeight) return;
4
- if (window.dialogs) {
5
- const s = t.closest(".ui-dialog");
6
- s?.getBoundingClientRect() && s?.getBoundingClientRect().bottom > document.documentElement.clientHeight && setTimeout(window.dialogs.onWindowResize);
7
- }
8
- const o = t.scrollHeight > t.offsetHeight;
9
- if (o ? (t.parentElement.classList.add("has_scroll_container"), t.classList.add("has_scroll")) : (t.parentElement.classList.remove("has_scroll_container"), t.classList.remove("has_scroll")), o) {
10
- const s = n(t).top - n(t.parentElement).top;
11
- t.style.setProperty("--scroll-offset-top", s + "px");
12
- const e = t.offsetHeight;
13
- t.style.setProperty("--scroll-height", e + "px"), t.scrollTop > 0 ? t.classList.add("has_scroll-started") : t.classList.remove("has_scroll-started"), t.scrollTop >= t.scrollHeight - t.offsetHeight ? t.classList.add("has_scroll-finished") : t.classList.remove("has_scroll-finished");
14
- }
15
- };
16
- let r;
17
- window.ResizeObserver && (r = new ResizeObserver((t) => {
18
- t.forEach((o) => c(o.target));
1
+ import { offset as e } from "./dom.js";
2
+ //#region src/core/utils/scroll.ts
3
+ var t = (t) => {
4
+ if (!t || !t.parentElement || !t.offsetHeight) return;
5
+ if (window.dialogs) {
6
+ let e = t.closest(".ui-dialog");
7
+ e?.getBoundingClientRect() && e?.getBoundingClientRect().bottom > document.documentElement.clientHeight && setTimeout(window.dialogs.onWindowResize);
8
+ }
9
+ let n = t.scrollHeight > t.offsetHeight;
10
+ if (n ? (t.parentElement.classList.add("has_scroll_container"), t.classList.add("has_scroll")) : (t.parentElement.classList.remove("has_scroll_container"), t.classList.remove("has_scroll")), n) {
11
+ let n = e(t).top - e(t.parentElement).top;
12
+ t.style.setProperty("--scroll-offset-top", n + "px");
13
+ let r = t.offsetHeight;
14
+ t.style.setProperty("--scroll-height", r + "px"), t.scrollTop > 0 ? t.classList.add("has_scroll-started") : t.classList.remove("has_scroll-started"), t.scrollTop >= t.scrollHeight - t.offsetHeight ? t.classList.add("has_scroll-finished") : t.classList.remove("has_scroll-finished");
15
+ }
16
+ }, n;
17
+ window.ResizeObserver && (n = new ResizeObserver((e) => {
18
+ e.forEach((e) => t(e.target));
19
19
  }));
20
- const l = (t) => {
21
- if (!t) return;
22
- if (Array.isArray(t)) {
23
- t.forEach((s) => l(s));
24
- return;
25
- }
26
- const o = t;
27
- o.dataset.scrollShadowInited || (o.dataset.scrollShadowInited = "true", o.onscroll = () => c(o), r?.observe(o));
28
- }, h = (t) => {
29
- r?.unobserve(t);
30
- }, f = () => a(), a = (t = document.documentElement) => {
31
- const o = t.clientHeight, s = t.scrollHeight, e = t.scrollTop;
32
- if (s && e && o) {
33
- const i = s - o;
34
- return Math.floor(e / i * 100);
35
- }
36
- return 100;
37
- };
38
- export {
39
- f as amountScrolled,
40
- l as connectScrollShadow,
41
- c as genHasScroll,
42
- a as getScrollPercent,
43
- h as unconnectScrollShadow
20
+ var r = (e) => {
21
+ if (!e) return;
22
+ if (Array.isArray(e)) {
23
+ e.forEach((e) => r(e));
24
+ return;
25
+ }
26
+ let i = e;
27
+ i.dataset.scrollShadowInited || (i.dataset.scrollShadowInited = "true", i.onscroll = () => t(i), n?.observe(i));
28
+ }, i = (e) => {
29
+ n?.unobserve(e);
30
+ }, a = () => o(), o = (e = document.documentElement) => {
31
+ let t = e.clientHeight, n = e.scrollHeight, r = e.scrollTop;
32
+ if (n && r && t) {
33
+ let e = n - t;
34
+ return Math.floor(r / e * 100);
35
+ }
36
+ return 100;
44
37
  };
45
- //# sourceMappingURL=scroll.js.map
38
+ //#endregion
39
+ export { a as amountScrolled, r as connectScrollShadow, t as genHasScroll, o as getScrollPercent, i as unconnectScrollShadow };
40
+
41
+ //# sourceMappingURL=scroll.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"scroll.js","sources":["../../src/core/utils/scroll.ts"],"sourcesContent":["/**\n * Информация о скролле, фичи для скролла\n * @packageDocumentation\n */\n\nimport { offset } from '@/core/utils/dom';\n\n/**\n * Добавить классы модификаторов тени в зависимости от скролла элемента\n *\n * @todo Сделать приватной\n */\nexport const genHasScroll = (el: HTMLElement): void => {\n\tif (!el) return;\n\tif (!el.parentElement) return;\n\tif (!el.offsetHeight) return;\n\n\t// Диалоги не вынесены в UI\n\tif (window['dialogs']) {\n\t\tconst elDialog = el.closest('.ui-dialog');\n\t\tif (elDialog?.getBoundingClientRect() && elDialog?.getBoundingClientRect().bottom > document.documentElement.clientHeight) {\n\t\t\tsetTimeout(window['dialogs'].onWindowResize);\n\t\t}\n\t}\n\n\tconst hasScroll = (el.scrollHeight > el.offsetHeight);\n\tif (hasScroll) {\n\t\tel.parentElement.classList.add('has_scroll_container');\n\t\tel.classList.add('has_scroll');\n\t} else {\n\t\tel.parentElement.classList.remove('has_scroll_container');\n\t\tel.classList.remove('has_scroll');\n\t}\n\n\tif (hasScroll) {\n\t\tconst top: number = offset(el).top - offset(el.parentElement).top;\n\t\tel.style.setProperty('--scroll-offset-top', top + 'px');\n\n\t\tconst height = el.offsetHeight;\n\t\tel.style.setProperty('--scroll-height', height + 'px');\n\n\t\tif (el.scrollTop > 0) {\n\t\t\tel.classList.add('has_scroll-started');\n\t\t} else {\n\t\t\tel.classList.remove('has_scroll-started');\n\t\t}\n\n\t\tif (el.scrollTop >= el.scrollHeight - el.offsetHeight) {\n\t\t\tel.classList.add('has_scroll-finished');\n\t\t} else {\n\t\t\tel.classList.remove('has_scroll-finished');\n\t\t}\n\t}\n};\n\nlet scrollShadowResizeObserver: ResizeObserver;\nif (window.ResizeObserver) {\n\tscrollShadowResizeObserver = new ResizeObserver((entries) => {\n\t\tentries.forEach((entry) => genHasScroll(entry.target as HTMLElement));\n\t});\n}\n\n/**\n * Добавить отображение тени при появлении скролла у элемента\n *\n * Будут добавлены события для усатновки модификаторов тени в зависимости от скролла элемента\n *\n * Модификаторы:\n * - top-scrollShadow\n * - top-scrollShadow-started\n * - top-scrollShadow-finished\n */\nexport const connectScrollShadow = (els: HTMLElement | HTMLElement[]) => {\n\tif (!els) return;\n\n\tif (Array.isArray(els)) {\n\t\tels.forEach((el) => connectScrollShadow(el));\n\n\t\treturn;\n\t}\n\n\tconst el = els;\n\n\tif (el.dataset.scrollShadowInited) return;\n\tel.dataset.scrollShadowInited = 'true';\n\n\tel.onscroll = () => genHasScroll(el);\n\n\tscrollShadowResizeObserver?.observe(el);\n};\n\nexport const unconnectScrollShadow = (el: HTMLElement) => {\n\tscrollShadowResizeObserver?.unobserve(el);\n};\n\n/**\n * Посчитать глубину скролла (процент на сколько проскроллена страница)\n *\n * @deprecated\n */\nexport const amountScrolled = (): number => {\n\treturn getScrollPercent();\n};\n\n/**\n * Получить прогресс скролла в процентах\n */\nexport const getScrollPercent = (el: HTMLElement = document.documentElement): number => {\n\tconst clientHeight = el.clientHeight;\n\tconst scrollHeight = el.scrollHeight;\n\tconst scrollTop = el.scrollTop;\n\n\tif (scrollHeight && scrollTop && clientHeight) {\n\t\tconst trackLength = scrollHeight - clientHeight;\n\n\t\treturn Math.floor(scrollTop / trackLength * 100);\n\t}\n\n\treturn 100;\n};\n"],"names":["genHasScroll","el","elDialog","hasScroll","top","offset","height","scrollShadowResizeObserver","entries","entry","connectScrollShadow","els","unconnectScrollShadow","amountScrolled","getScrollPercent","clientHeight","scrollHeight","scrollTop","trackLength"],"mappings":";AAYO,MAAMA,IAAe,CAACC,MAA0B;AAGtD,MAFI,CAACA,KACD,CAACA,EAAG,iBACJ,CAACA,EAAG,aAAc;AAGtB,MAAI,OAAO,SAAY;AACtB,UAAMC,IAAWD,EAAG,QAAQ,YAAY;AACxC,IAAIC,GAAU,2BAA2BA,GAAU,wBAAwB,SAAS,SAAS,gBAAgB,gBAC5G,WAAW,OAAO,QAAW,cAAc;AAAA,EAE7C;AAEA,QAAMC,IAAaF,EAAG,eAAeA,EAAG;AASxC,MARIE,KACHF,EAAG,cAAc,UAAU,IAAI,sBAAsB,GACrDA,EAAG,UAAU,IAAI,YAAY,MAE7BA,EAAG,cAAc,UAAU,OAAO,sBAAsB,GACxDA,EAAG,UAAU,OAAO,YAAY,IAG7BE,GAAW;AACd,UAAMC,IAAcC,EAAOJ,CAAE,EAAE,MAAMI,EAAOJ,EAAG,aAAa,EAAE;AAC9D,IAAAA,EAAG,MAAM,YAAY,uBAAuBG,IAAM,IAAI;AAEtD,UAAME,IAASL,EAAG;AAClB,IAAAA,EAAG,MAAM,YAAY,mBAAmBK,IAAS,IAAI,GAEjDL,EAAG,YAAY,IAClBA,EAAG,UAAU,IAAI,oBAAoB,IAErCA,EAAG,UAAU,OAAO,oBAAoB,GAGrCA,EAAG,aAAaA,EAAG,eAAeA,EAAG,eACxCA,EAAG,UAAU,IAAI,qBAAqB,IAEtCA,EAAG,UAAU,OAAO,qBAAqB;AAAA,EAE3C;AACD;AAEA,IAAIM;AACA,OAAO,mBACVA,IAA6B,IAAI,eAAe,CAACC,MAAY;AAC5D,EAAAA,EAAQ,QAAQ,CAACC,MAAUT,EAAaS,EAAM,MAAqB,CAAC;AACrE,CAAC;AAaK,MAAMC,IAAsB,CAACC,MAAqC;AACxE,MAAI,CAACA,EAAK;AAEV,MAAI,MAAM,QAAQA,CAAG,GAAG;AACvB,IAAAA,EAAI,QAAQ,CAACV,MAAOS,EAAoBT,CAAE,CAAC;AAE3C;AAAA,EACD;AAEA,QAAMA,IAAKU;AAEX,EAAIV,EAAG,QAAQ,uBACfA,EAAG,QAAQ,qBAAqB,QAEhCA,EAAG,WAAW,MAAMD,EAAaC,CAAE,GAEnCM,GAA4B,QAAQN,CAAE;AACvC,GAEaW,IAAwB,CAACX,MAAoB;AACzD,EAAAM,GAA4B,UAAUN,CAAE;AACzC,GAOaY,IAAiB,MACtBC,EAAA,GAMKA,IAAmB,CAACb,IAAkB,SAAS,oBAA4B;AACvF,QAAMc,IAAed,EAAG,cAClBe,IAAef,EAAG,cAClBgB,IAAYhB,EAAG;AAErB,MAAIe,KAAgBC,KAAaF,GAAc;AAC9C,UAAMG,IAAcF,IAAeD;AAEnC,WAAO,KAAK,MAAME,IAAYC,IAAc,GAAG;AAAA,EAChD;AAEA,SAAO;AACR;"}
1
+ {"version":3,"file":"scroll.js","names":[],"sources":["../../src/core/utils/scroll.ts"],"sourcesContent":["/**\n * Информация о скролле, фичи для скролла\n * @packageDocumentation\n */\n\nimport { offset } from '@/core/utils/dom';\n\n/**\n * Добавить классы модификаторов тени в зависимости от скролла элемента\n *\n * @todo Сделать приватной\n */\nexport const genHasScroll = (el: HTMLElement): void => {\n\tif (!el) return;\n\tif (!el.parentElement) return;\n\tif (!el.offsetHeight) return;\n\n\t// Диалоги не вынесены в UI\n\tif (window['dialogs']) {\n\t\tconst elDialog = el.closest('.ui-dialog');\n\t\tif (elDialog?.getBoundingClientRect() && elDialog?.getBoundingClientRect().bottom > document.documentElement.clientHeight) {\n\t\t\tsetTimeout(window['dialogs'].onWindowResize);\n\t\t}\n\t}\n\n\tconst hasScroll = (el.scrollHeight > el.offsetHeight);\n\tif (hasScroll) {\n\t\tel.parentElement.classList.add('has_scroll_container');\n\t\tel.classList.add('has_scroll');\n\t} else {\n\t\tel.parentElement.classList.remove('has_scroll_container');\n\t\tel.classList.remove('has_scroll');\n\t}\n\n\tif (hasScroll) {\n\t\tconst top: number = offset(el).top - offset(el.parentElement).top;\n\t\tel.style.setProperty('--scroll-offset-top', top + 'px');\n\n\t\tconst height = el.offsetHeight;\n\t\tel.style.setProperty('--scroll-height', height + 'px');\n\n\t\tif (el.scrollTop > 0) {\n\t\t\tel.classList.add('has_scroll-started');\n\t\t} else {\n\t\t\tel.classList.remove('has_scroll-started');\n\t\t}\n\n\t\tif (el.scrollTop >= el.scrollHeight - el.offsetHeight) {\n\t\t\tel.classList.add('has_scroll-finished');\n\t\t} else {\n\t\t\tel.classList.remove('has_scroll-finished');\n\t\t}\n\t}\n};\n\nlet scrollShadowResizeObserver: ResizeObserver;\nif (window.ResizeObserver) {\n\tscrollShadowResizeObserver = new ResizeObserver((entries) => {\n\t\tentries.forEach((entry) => genHasScroll(entry.target as HTMLElement));\n\t});\n}\n\n/**\n * Добавить отображение тени при появлении скролла у элемента\n *\n * Будут добавлены события для усатновки модификаторов тени в зависимости от скролла элемента\n *\n * Модификаторы:\n * - top-scrollShadow\n * - top-scrollShadow-started\n * - top-scrollShadow-finished\n */\nexport const connectScrollShadow = (els: HTMLElement | HTMLElement[]) => {\n\tif (!els) return;\n\n\tif (Array.isArray(els)) {\n\t\tels.forEach((el) => connectScrollShadow(el));\n\n\t\treturn;\n\t}\n\n\tconst el = els;\n\n\tif (el.dataset.scrollShadowInited) return;\n\tel.dataset.scrollShadowInited = 'true';\n\n\tel.onscroll = () => genHasScroll(el);\n\n\tscrollShadowResizeObserver?.observe(el);\n};\n\nexport const unconnectScrollShadow = (el: HTMLElement) => {\n\tscrollShadowResizeObserver?.unobserve(el);\n};\n\n/**\n * Посчитать глубину скролла (процент на сколько проскроллена страница)\n *\n * @deprecated\n */\nexport const amountScrolled = (): number => {\n\treturn getScrollPercent();\n};\n\n/**\n * Получить прогресс скролла в процентах\n */\nexport const getScrollPercent = (el: HTMLElement = document.documentElement): number => {\n\tconst clientHeight = el.clientHeight;\n\tconst scrollHeight = el.scrollHeight;\n\tconst scrollTop = el.scrollTop;\n\n\tif (scrollHeight && scrollTop && clientHeight) {\n\t\tconst trackLength = scrollHeight - clientHeight;\n\n\t\treturn Math.floor(scrollTop / trackLength * 100);\n\t}\n\n\treturn 100;\n};\n"],"mappings":";;AAYA,IAAa,KAAgB,MAA0B;AAGtD,KAFI,CAAC,KACD,CAAC,EAAG,iBACJ,CAAC,EAAG,aAAc;AAGtB,KAAI,OAAO,SAAY;EACtB,IAAM,IAAW,EAAG,QAAQ,aAAa;AACzC,EAAI,GAAU,uBAAuB,IAAI,GAAU,uBAAuB,CAAC,SAAS,SAAS,gBAAgB,gBAC5G,WAAW,OAAO,QAAW,eAAe;;CAI9C,IAAM,IAAa,EAAG,eAAe,EAAG;AASxC,KARI,KACH,EAAG,cAAc,UAAU,IAAI,uBAAuB,EACtD,EAAG,UAAU,IAAI,aAAa,KAE9B,EAAG,cAAc,UAAU,OAAO,uBAAuB,EACzD,EAAG,UAAU,OAAO,aAAa,GAG9B,GAAW;EACd,IAAM,IAAc,EAAO,EAAG,CAAC,MAAM,EAAO,EAAG,cAAc,CAAC;AAC9D,IAAG,MAAM,YAAY,uBAAuB,IAAM,KAAK;EAEvD,IAAM,IAAS,EAAG;AASlB,EARA,EAAG,MAAM,YAAY,mBAAmB,IAAS,KAAK,EAElD,EAAG,YAAY,IAClB,EAAG,UAAU,IAAI,qBAAqB,GAEtC,EAAG,UAAU,OAAO,qBAAqB,EAGtC,EAAG,aAAa,EAAG,eAAe,EAAG,eACxC,EAAG,UAAU,IAAI,sBAAsB,GAEvC,EAAG,UAAU,OAAO,sBAAsB;;GAKzC;AACA,OAAO,mBACV,IAA6B,IAAI,gBAAgB,MAAY;AAC5D,GAAQ,SAAS,MAAU,EAAa,EAAM,OAAsB,CAAC;EACpE;AAaH,IAAa,KAAuB,MAAqC;AACxE,KAAI,CAAC,EAAK;AAEV,KAAI,MAAM,QAAQ,EAAI,EAAE;AACvB,IAAI,SAAS,MAAO,EAAoB,EAAG,CAAC;AAE5C;;CAGD,IAAM,IAAK;AAEP,GAAG,QAAQ,uBACf,EAAG,QAAQ,qBAAqB,QAEhC,EAAG,iBAAiB,EAAa,EAAG,EAEpC,GAA4B,QAAQ,EAAG;GAG3B,KAAyB,MAAoB;AACzD,IAA4B,UAAU,EAAG;GAQ7B,UACL,GAAkB,EAMb,KAAoB,IAAkB,SAAS,oBAA4B;CACvF,IAAM,IAAe,EAAG,cAClB,IAAe,EAAG,cAClB,IAAY,EAAG;AAErB,KAAI,KAAgB,KAAa,GAAc;EAC9C,IAAM,IAAc,IAAe;AAEnC,SAAO,KAAK,MAAM,IAAY,IAAc,IAAI;;AAGjD,QAAO"}
@@ -1,2 +1,2 @@
1
- define(["require","exports","../.chunks/forms-DDNzqU6o.amd","../.chunks/core-DzDFXOdI.amd","vue","../.chunks/dialogs.vue_vue_type_script_setup_true_lang-BBix_8WK.amd"],(function(b,c,g,f,r,d){"use strict";if(typeof r>"u")var r=window.Vue;const s={0:"Yandex",20:"Yandex.com",21:"Yandex.com.tr",1:"Google",4:"YouTube",5:"Bing",7:"Seznam",8:"AppStore",9:"GooglePlay",101:"VK",102:"Facebook",103:"Twitter"},t=a=>{let e="";switch(typeof a=="string"&&(a=Number(a)),a){case 0:e="";break;case 20:case 21:e="";break;case 1:e="";break;case 2:e="";break;case 3:e="";break;case 4:e="";break;case 5:e="";break;case 6:e="";break;case 7:e="";break;case 8:e="";break;case 9:e="";break;case null:e="";break}return e},n=a=>{let e="";switch(typeof a=="string"&&(a=Number(a)),a%10){case 0:e="";break;case 1:e="";break;case 2:e="";break}return e},i=(a,e)=>{switch(typeof a=="string"&&(a=Number(a)),a*1){case 1:case 4:case 5:case 6:case 8:case 9:return e}return""},u=(a,e,k)=>{switch(e*1){case 0:switch(k*1){case 2:a=`"${a}"`;break;case 3:a=`"!${a}"`;break;case 5:a=`"[${a}]"`;break;case 6:a=`"[!${a}]"`;break}break;case 1:a=`[${a}]`;break}return a},o=(a,e)=>{switch(e===null&&(e=6),a){case 1:e=3;break;case 2:e=2;break;case 5:e>1&&(e=1);break;default:[1,2,3,5,6].includes(e)||(e=3)}return e};c.genVolumeLabel=u,c.getDeviceGIcon=n,c.getLangLabel=i,c.getSearcherGIcon=t,c.prepareVolumeType=o,c.searchersNames=s,Object.defineProperty(c,Symbol.toStringTag,{value:"Module"})}));
2
- //# sourceMappingURL=searchers.amd.js.map
1
+ define([`require`,`exports`,`../.chunks/app-CCX-gNqz.amd.js`],function(e,t){"use strict";Object.defineProperty(t,`__esModule`,{value:!0}),t.searchersNames=t.prepareVolumeType=t.getSearcherGIcon=t.getLangLabel=t.getDeviceGIcon=t.genVolumeLabel=void 0,t.searchersNames={0:`Yandex`,20:`Yandex.com`,21:`Yandex.com.tr`,1:`Google`,4:`YouTube`,5:`Bing`,7:`Seznam`,8:`AppStore`,9:`GooglePlay`,101:`VK`,102:`Facebook`,103:`Twitter`},t.getSearcherGIcon=e=>{let t=``;switch(typeof e==`string`&&(e=Number(e)),e){case 0:t=``;break;case 20:case 21:t=``;break;case 1:t=``;break;case 2:t=``;break;case 3:t=``;break;case 4:t=``;break;case 5:t=``;break;case 6:t=``;break;case 7:t=``;break;case 8:t=``;break;case 9:t=``;break;case null:t=``;break}return t},t.getDeviceGIcon=e=>{let t=``;switch(typeof e==`string`&&(e=Number(e)),e%10){case 0:t=``;break;case 1:t=``;break;case 2:t=``;break}return t},t.getLangLabel=(e,t)=>{switch(typeof e==`string`&&(e=Number(e)),e*1){case 1:case 4:case 5:case 6:case 8:case 9:return t}return``},t.genVolumeLabel=(e,t,n)=>{switch(t*1){case 0:switch(n*1){case 2:e=`"${e}"`;break;case 3:e=`"!${e}"`;break;case 5:e=`"[${e}]"`;break;case 6:e=`"[!${e}]"`;break}break;case 1:e=`[${e}]`;break}return e},t.prepareVolumeType=(e,t)=>{switch(t===null&&(t=6),e){case 1:t=3;break;case 2:t=2;break;case 5:t>1&&(t=1);break;default:[1,2,3,5,6].includes(t)||(t=3)}return t}});
2
+ //# sourceMappingURL=searchers.amd.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"searchers.amd.js","sources":["../../src/core/utils/searchers.ts"],"sourcesContent":["import { useI18nLang } from '@/core/app';\n\n/**\n * Вспомогательный класс для работы с разными Поисковиками\n */\nexport const searchersNames = {\n\t0: 'Yandex',\n\t20: 'Yandex.com',\n\t21: 'Yandex.com.tr',\n\t1: 'Google',\n\t4: 'YouTube',\n\t5: 'Bing',\n\t7: 'Seznam',\n\t8: 'AppStore',\n\t9: 'GooglePlay',\n\t101: 'VK',\n\t102: 'Facebook',\n\t103: 'Twitter',\n};\n\n/**\n * Получить иконку ПС\n * @param searcherKey - цифра или строка с цифрой обозначающая ПС. Если null вернется иконка с глобусом\n */\nexport const getSearcherGIcon = (searcherKey: number | string | undefined): string => {\n\tlet icon = '';\n\n\tif (typeof searcherKey === 'string') searcherKey = Number(searcherKey);\n\n\tswitch (searcherKey) {\n\t\tcase 0:\n\t\t\ticon = '';\n\n\t\t\tbreak;\n\t\tcase 20:\n\t\tcase 21:\n\t\t\ticon = '';\n\n\t\t\tbreak;\n\t\tcase 1:\n\t\t\ticon = '';\n\n\t\t\tbreak;\n\t\tcase 2:\n\t\t\ticon = '';\n\n\t\t\tbreak;\n\t\tcase 3:\n\t\t\ticon = '';\n\n\t\t\tbreak;\n\t\tcase 4:\n\t\t\ticon = '';\n\n\t\t\tbreak;\n\t\tcase 5:\n\t\t\ticon = '';\n\n\t\t\tbreak;\n\t\tcase 6:\n\t\t\ticon = '';\n\n\t\t\tbreak;\n\t\tcase 7:\n\t\t\ticon = '';\n\n\t\t\tbreak;\n\t\tcase 8:\n\t\t\ticon = '';\n\n\t\t\tbreak;\n\t\tcase 9:\n\t\t\ticon = '';\n\n\t\t\tbreak;\n\t\tcase null:\n\t\t\ticon = '';\n\n\t\t\tbreak;\n\t}\n\n\treturn icon;\n};\n\n/**\n * Получить иконку устройства (ПК, планшет, смартфон)\n */\nexport const getDeviceGIcon = (device: number | string): string => {\n\tlet icon = '';\n\n\tif (typeof device === 'string') device = Number(device);\n\n\tswitch (device % 10) {\n\t\tcase 0:\n\t\t\ticon = '';\n\n\t\t\tbreak;\n\t\tcase 1:\n\t\t\ticon = '';\n\n\t\t\tbreak;\n\t\tcase 2:\n\t\t\ticon = '';\n\n\t\t\tbreak;\n\t}\n\n\treturn icon;\n};\n\n/**\n * Получить иконку языка\n */\nexport const getLangLabel = (searcherKey: number | string, lang: string) => {\n\tif (typeof searcherKey === 'string') searcherKey = Number(searcherKey);\n\n\tswitch (searcherKey * 1) {\n\t\tcase 1:\n\t\tcase 4:\n\t\tcase 5:\n\t\tcase 6:\n\t\tcase 8:\n\t\tcase 9:\n\t\t\treturn lang;\n\t}\n\n\treturn '';\n};\n\n/**\n * Сгенерировать заголовок типа частоты\n */\nexport const genVolumeLabel = (label: string, searcherKey: 0 | 1, volumeType: 1 | 2 | 3 | 5 | 6): string => {\n\tswitch (searcherKey * 1) {\n\t\t// Яндекс\n\t\tcase 0:\n\t\t\tswitch (volumeType * 1) {\n\t\t\t\tcase 2:\n\t\t\t\t\tlabel = `\"${label}\"`;\n\n\t\t\t\t\tbreak;\n\t\t\t\tcase 3:\n\t\t\t\t\tlabel = `\"!${label}\"`;\n\n\t\t\t\t\tbreak;\n\t\t\t\tcase 5:\n\t\t\t\t\tlabel = `\"[${label}]\"`;\n\n\t\t\t\t\tbreak;\n\t\t\t\tcase 6:\n\t\t\t\t\tlabel = `\"[!${label}]\"`;\n\n\t\t\t\t\tbreak;\n\t\t\t}\n\t\t\tbreak;\n\t\t// Google\n\t\tcase 1:\n\t\t\tlabel = `[${label}]`;\n\n\t\t\tbreak;\n\t}\n\n\treturn label;\n};\n\n/**\n * Проверить значение частоты, вернуть правильное значение частоты\n */\nexport const prepareVolumeType = (searcherKey: number, volumeType: number): number => {\n\t// по умолчанию выбрана сама точная частота\n\tif (volumeType === null) volumeType = 6;\n\n\tswitch (searcherKey) {\n\t\tcase 1:\n\t\t\tvolumeType = 3;\n\n\t\t\tbreak;\n\t\tcase 2:\n\t\t\tvolumeType = 2;\n\n\t\t\tbreak;\n\t\tcase 5:\n\t\t\tif (volumeType > 1) volumeType = 1;\n\n\t\t\tbreak;\n\t\tdefault:\n\t\t\tif (![1, 2, 3, 5, 6].includes(volumeType)) volumeType = 3;\n\t}\n\n\treturn volumeType;\n};\n"],"names":["searchersNames","getSearcherGIcon","searcherKey","icon","getDeviceGIcon","device","getLangLabel","lang","genVolumeLabel","label","volumeType","prepareVolumeType"],"mappings":"6OAKO,MAAAA,EAAA,8IAWD,IAAA,SAEN,EAMOC,EAAAC,GAAA,UAKN,yCAAAA,EAAA,CAAqB,IAAA,eAInB,IAAA,IACI,IAAA,gBAIJ,IAAA,eAIA,IAAA,eAIA,IAAA,eAIA,IAAA,eAIA,IAAA,eAIA,IAAA,eAIA,IAAA,eAIA,IAAA,eAIA,IAAA,eAIA,KAAA,gBAIA,CAGF,OAAAC,CACD,EAKOC,EAAAC,GAAA,yDAKe,IAAA,eAInB,IAAA,eAIA,IAAA,cAIA,CAGF,OAAAF,CACD,EAKOG,EAAA,CAAAJ,EAAAK,IAAA,+CAGmB,IAAA,GACnB,IAAA,GACA,IAAA,GACA,IAAA,GACA,IAAA,GACA,IAAA,GAEJ,OAAAA,CAAO,CAGT,MAAA,EACD,EAKOC,EAAA,CAAAC,EAAAP,EAAAQ,IAAA,aACmB,IAAA,eAGC,IAAA,oBAItB,IAAA,qBAIA,IAAA,sBAIA,IAAA,sBAIA,OAEF,IAAA,mBAKA,CAGF,OAAAD,CACD,EAKOE,EAAA,CAAAT,EAAAQ,IAAA,CAIN,OAFAA,IAAA,OAAAA,EAAA,GAEAR,EAAA,CAAqB,IAAA,aAInB,IAAA,aAIA,IAAA,GAEAQ,EAAA,IAAAA,EAAA,+CAIwD,CAG1D,OAAAA,CACD"}
1
+ {"version":3,"sources":["utils/searchers.js","../../src/core/utils/searchers.ts"],"names":["exports"],"mappings":"AAAA,OAAO,CAAC,UAAW,UAAW,iCAAiC,CAAE,SAAU,EAAS,EAAS,CACzF,aCIS,OAAiB,eAAAA,EAAA,aAAA,CAAA,MAAA,GAAA,CAAA,CAC1B,EAAA,eAAA,EAAA,kBAAA,EAAA,iBAAA,EAAA,aAAA,EAAA,eAAA,EAAA,eAAA,IAAA,GD0HA,EAAQ,eCxHP,CACD,EAAA,SACA,GAAA,aACA,GAAA,gBACA,EAAA,SACA,EAAA,UACA,EAAA,OACE,EAAA,SACA,EAAA,WACA,EAAA,aAO2B,IAAA,KAC5B,IAAO,WAIX,IAFI,UAGH,CDmGE,EAAQ,iBCnGL,GAAA,CACG,IAAA,EAAA,GAEP,OAAA,OAAA,GAAA,WAAA,EAAA,OAAA,EAAA,EAAA,EAAA,CACI,IAAA,GACA,EAAA,IACG,MAEP,IAAA,IACI,IAAA,IACG,EAAA,IAEP,MACI,IAAA,GACG,EAAA,IAEP,MACI,IAAA,GACG,EAAA,IAEP,MACI,IAAA,GACG,EAAA,IAEP,MACI,IAAA,GACG,EAAA,IAEP,MACI,IAAA,GACG,EAAA,IAEP,MACI,IAAA,GACG,EAAA,IAEP,MACI,IAAA,GACG,EAAA,IAEP,MACI,IAAA,GACG,EAAA,IAEP,MACI,IAAA,GACG,EAAA,IAEP,MDvBS,KAAK,KC0BT,EAAA,IAM2D,MAKlE,OAFI,GDwCD,EAAQ,eCrCL,GAAA,CACG,IAAA,EAAA,GAEP,OAAA,OAAA,GAAA,WAAA,EAAA,OAAA,EAAA,EAAA,EAAA,GAAA,CACI,IAAA,GACG,EAAA,IAEP,MACI,IAAA,GACG,EAAA,IAEP,MDnCS,IAAK,GCsCT,EAAA,IAMmD,MAIpD,OAAA,GDcH,EAAQ,cCbL,EAAA,IAAA,CACA,OAAA,OAAA,GAAA,WAAA,EAAA,OAAA,EAAA,EAAA,EAAA,EAAA,CACA,IAAA,GACA,IAAA,GAEJ,IAAO,GD5CE,IAAK,GC+CT,IAAA,GAMsC,IAAoB,GAA0C,OAAA,EAGrG,MAAA,IDHH,EAAQ,gBCID,EAAa,EAArB,IAAA,CACC,OAAK,EAAA,EAAL,CACS,IAAU,GAElB,OAAA,EAAA,EAAA,CACI,IAAA,GACe,EAAA,IAAA,EAAA,GAEnB,MACI,IAAA,GACe,EAAA,KAAA,EAAA,GAEnB,MACI,IAAA,GACgB,EAAA,KAAA,EAAA,IAEpB,MDvDe,IAAK,GCyDtB,EAAA,MAAA,EAAA,IAEI,MAGJ,MDzDS,IAAK,GC4DT,EAAA,IAAA,EAAA,GAM+C,MAKhD,OAAA,GDxCH,EAAQ,mBCyCI,EAAA,IAAA,CAEb,OAAA,IAAA,OAAA,EAAA,GAAA,EAAA,CACI,IAAA,GACS,EAAA,EAEb,MACI,IAAA,GACgB,EAAa,EAEjC,MAEK,IAAA,GAAC,EAAA,IAAA,EAAA,GAAG,MAAG,QAAA,CAAG,EAAG,EAAuB,EDhE5B,ECmER,EDjEK,CAAC,SAAS,EAAE,GAAK,EAAI,GAE1B,OAAO,IAQb","sourcesContent":["define([\"require\", \"exports\", \"../.chunks/app-CCX-gNqz.esm.js\"], function (require, exports) {\n \"use strict\";\n Object.defineProperty(exports, \"__esModule\", { value: true });\n exports.searchersNames = exports.prepareVolumeType = exports.getSearcherGIcon = exports.getLangLabel = exports.getDeviceGIcon = exports.genVolumeLabel = void 0;\n //#region src/core/utils/searchers.ts\n var e = {\n 0: \"Yandex\",\n 20: \"Yandex.com\",\n 21: \"Yandex.com.tr\",\n 1: \"Google\",\n 4: \"YouTube\",\n 5: \"Bing\",\n 7: \"Seznam\",\n 8: \"AppStore\",\n 9: \"GooglePlay\",\n 101: \"VK\",\n 102: \"Facebook\",\n 103: \"Twitter\"\n }, t = (e) => {\n let t = \"\";\n switch (typeof e == \"string\" && (e = Number(e)), e) {\n case 0:\n t = \"\";\n break;\n case 20:\n case 21:\n t = \"\";\n break;\n case 1:\n t = \"\";\n break;\n case 2:\n t = \"\";\n break;\n case 3:\n t = \"\";\n break;\n case 4:\n t = \"\";\n break;\n case 5:\n t = \"\";\n break;\n case 6:\n t = \"\";\n break;\n case 7:\n t = \"\";\n break;\n case 8:\n t = \"\";\n break;\n case 9:\n t = \"\";\n break;\n case null:\n t = \"\";\n break;\n }\n return t;\n }, n = (e) => {\n let t = \"\";\n switch (typeof e == \"string\" && (e = Number(e)), e % 10) {\n case 0:\n t = \"\";\n break;\n case 1:\n t = \"\";\n break;\n case 2:\n t = \"\";\n break;\n }\n return t;\n }, r = (e, t) => {\n switch (typeof e == \"string\" && (e = Number(e)), e * 1) {\n case 1:\n case 4:\n case 5:\n case 6:\n case 8:\n case 9: return t;\n }\n return \"\";\n }, i = (e, t, n) => {\n switch (t * 1) {\n case 0:\n switch (n * 1) {\n case 2:\n e = `\"${e}\"`;\n break;\n case 3:\n e = `\"!${e}\"`;\n break;\n case 5:\n e = `\"[${e}]\"`;\n break;\n case 6:\n e = `\"[!${e}]\"`;\n break;\n }\n break;\n case 1:\n e = `[${e}]`;\n break;\n }\n return e;\n }, a = (e, t) => {\n switch (t === null && (t = 6), e) {\n case 1:\n t = 3;\n break;\n case 2:\n t = 2;\n break;\n case 5:\n t > 1 && (t = 1);\n break;\n default: [\n 1,\n 2,\n 3,\n 5,\n 6\n ].includes(t) || (t = 3);\n }\n return t;\n };\n exports.searchersNames = e;\n exports.getSearcherGIcon = t;\n exports.getDeviceGIcon = n;\n exports.getLangLabel = r;\n exports.genVolumeLabel = i;\n exports.prepareVolumeType = a;\n});\n//# sourceMappingURL=searchers.js.map\n","import { useI18nLang } from '@/core/app';\n\n/**\n * Вспомогательный класс для работы с разными Поисковиками\n */\nexport const searchersNames = {\n\t0: 'Yandex',\n\t20: 'Yandex.com',\n\t21: 'Yandex.com.tr',\n\t1: 'Google',\n\t4: 'YouTube',\n\t5: 'Bing',\n\t7: 'Seznam',\n\t8: 'AppStore',\n\t9: 'GooglePlay',\n\t101: 'VK',\n\t102: 'Facebook',\n\t103: 'Twitter',\n};\n\n/**\n * Получить иконку ПС\n * @param searcherKey - цифра или строка с цифрой обозначающая ПС. Если null вернется иконка с глобусом\n */\nexport const getSearcherGIcon = (searcherKey: number | string | undefined): string => {\n\tlet icon = '';\n\n\tif (typeof searcherKey === 'string') searcherKey = Number(searcherKey);\n\n\tswitch (searcherKey) {\n\t\tcase 0:\n\t\t\ticon = '';\n\n\t\t\tbreak;\n\t\tcase 20:\n\t\tcase 21:\n\t\t\ticon = '';\n\n\t\t\tbreak;\n\t\tcase 1:\n\t\t\ticon = '';\n\n\t\t\tbreak;\n\t\tcase 2:\n\t\t\ticon = '';\n\n\t\t\tbreak;\n\t\tcase 3:\n\t\t\ticon = '';\n\n\t\t\tbreak;\n\t\tcase 4:\n\t\t\ticon = '';\n\n\t\t\tbreak;\n\t\tcase 5:\n\t\t\ticon = '';\n\n\t\t\tbreak;\n\t\tcase 6:\n\t\t\ticon = '';\n\n\t\t\tbreak;\n\t\tcase 7:\n\t\t\ticon = '';\n\n\t\t\tbreak;\n\t\tcase 8:\n\t\t\ticon = '';\n\n\t\t\tbreak;\n\t\tcase 9:\n\t\t\ticon = '';\n\n\t\t\tbreak;\n\t\tcase null:\n\t\t\ticon = '';\n\n\t\t\tbreak;\n\t}\n\n\treturn icon;\n};\n\n/**\n * Получить иконку устройства (ПК, планшет, смартфон)\n */\nexport const getDeviceGIcon = (device: number | string): string => {\n\tlet icon = '';\n\n\tif (typeof device === 'string') device = Number(device);\n\n\tswitch (device % 10) {\n\t\tcase 0:\n\t\t\ticon = '';\n\n\t\t\tbreak;\n\t\tcase 1:\n\t\t\ticon = '';\n\n\t\t\tbreak;\n\t\tcase 2:\n\t\t\ticon = '';\n\n\t\t\tbreak;\n\t}\n\n\treturn icon;\n};\n\n/**\n * Получить иконку языка\n */\nexport const getLangLabel = (searcherKey: number | string, lang: string) => {\n\tif (typeof searcherKey === 'string') searcherKey = Number(searcherKey);\n\n\tswitch (searcherKey * 1) {\n\t\tcase 1:\n\t\tcase 4:\n\t\tcase 5:\n\t\tcase 6:\n\t\tcase 8:\n\t\tcase 9:\n\t\t\treturn lang;\n\t}\n\n\treturn '';\n};\n\n/**\n * Сгенерировать заголовок типа частоты\n */\nexport const genVolumeLabel = (label: string, searcherKey: 0 | 1, volumeType: 1 | 2 | 3 | 5 | 6): string => {\n\tswitch (searcherKey * 1) {\n\t\t// Яндекс\n\t\tcase 0:\n\t\t\tswitch (volumeType * 1) {\n\t\t\t\tcase 2:\n\t\t\t\t\tlabel = `\"${label}\"`;\n\n\t\t\t\t\tbreak;\n\t\t\t\tcase 3:\n\t\t\t\t\tlabel = `\"!${label}\"`;\n\n\t\t\t\t\tbreak;\n\t\t\t\tcase 5:\n\t\t\t\t\tlabel = `\"[${label}]\"`;\n\n\t\t\t\t\tbreak;\n\t\t\t\tcase 6:\n\t\t\t\t\tlabel = `\"[!${label}]\"`;\n\n\t\t\t\t\tbreak;\n\t\t\t}\n\t\t\tbreak;\n\t\t// Google\n\t\tcase 1:\n\t\t\tlabel = `[${label}]`;\n\n\t\t\tbreak;\n\t}\n\n\treturn label;\n};\n\n/**\n * Проверить значение частоты, вернуть правильное значение частоты\n */\nexport const prepareVolumeType = (searcherKey: number, volumeType: number): number => {\n\t// по умолчанию выбрана сама точная частота\n\tif (volumeType === null) volumeType = 6;\n\n\tswitch (searcherKey) {\n\t\tcase 1:\n\t\t\tvolumeType = 3;\n\n\t\t\tbreak;\n\t\tcase 2:\n\t\t\tvolumeType = 2;\n\n\t\t\tbreak;\n\t\tcase 5:\n\t\t\tif (volumeType > 1) volumeType = 1;\n\n\t\t\tbreak;\n\t\tdefault:\n\t\t\tif (![1, 2, 3, 5, 6].includes(volumeType)) volumeType = 3;\n\t}\n\n\treturn volumeType;\n};\n"]}
@@ -1,134 +1,129 @@
1
- import "../.chunks/forms-DtC-EKJL.es.js";
2
- import "../.chunks/core-Dgj_YGWh.es.js";
3
- import "vue";
4
- import "../.chunks/dialogs.vue_vue_type_script_setup_true_lang-CJ97l1ST.es.js";
5
- const k = {
6
- 0: "Yandex",
7
- 20: "Yandex.com",
8
- 21: "Yandex.com.tr",
9
- 1: "Google",
10
- 4: "YouTube",
11
- 5: "Bing",
12
- 7: "Seznam",
13
- 8: "AppStore",
14
- 9: "GooglePlay",
15
- 101: "VK",
16
- 102: "Facebook",
17
- 103: "Twitter"
18
- }, i = (e) => {
19
- let a = "";
20
- switch (typeof e == "string" && (e = Number(e)), e) {
21
- case 0:
22
- a = "";
23
- break;
24
- case 20:
25
- case 21:
26
- a = "";
27
- break;
28
- case 1:
29
- a = "";
30
- break;
31
- case 2:
32
- a = "";
33
- break;
34
- case 3:
35
- a = "";
36
- break;
37
- case 4:
38
- a = "";
39
- break;
40
- case 5:
41
- a = "";
42
- break;
43
- case 6:
44
- a = "";
45
- break;
46
- case 7:
47
- a = "";
48
- break;
49
- case 8:
50
- a = "";
51
- break;
52
- case 9:
53
- a = "";
54
- break;
55
- case null:
56
- a = "";
57
- break;
58
- }
59
- return a;
60
- }, o = (e) => {
61
- let a = "";
62
- switch (typeof e == "string" && (e = Number(e)), e % 10) {
63
- case 0:
64
- a = "";
65
- break;
66
- case 1:
67
- a = "";
68
- break;
69
- case 2:
70
- a = "";
71
- break;
72
- }
73
- return a;
74
- }, b = (e, a) => {
75
- switch (typeof e == "string" && (e = Number(e)), e * 1) {
76
- case 1:
77
- case 4:
78
- case 5:
79
- case 6:
80
- case 8:
81
- case 9:
82
- return a;
83
- }
84
- return "";
85
- }, g = (e, a, c) => {
86
- switch (a * 1) {
87
- // Яндекс
88
- case 0:
89
- switch (c * 1) {
90
- case 2:
91
- e = `"${e}"`;
92
- break;
93
- case 3:
94
- e = `"!${e}"`;
95
- break;
96
- case 5:
97
- e = `"[${e}]"`;
98
- break;
99
- case 6:
100
- e = `"[!${e}]"`;
101
- break;
102
- }
103
- break;
104
- // Google
105
- case 1:
106
- e = `[${e}]`;
107
- break;
108
- }
109
- return e;
110
- }, f = (e, a) => {
111
- switch (a === null && (a = 6), e) {
112
- case 1:
113
- a = 3;
114
- break;
115
- case 2:
116
- a = 2;
117
- break;
118
- case 5:
119
- a > 1 && (a = 1);
120
- break;
121
- default:
122
- [1, 2, 3, 5, 6].includes(a) || (a = 3);
123
- }
124
- return a;
1
+ import "../.chunks/app-CCX-gNqz.esm.js";
2
+ //#region src/core/utils/searchers.ts
3
+ var e = {
4
+ 0: "Yandex",
5
+ 20: "Yandex.com",
6
+ 21: "Yandex.com.tr",
7
+ 1: "Google",
8
+ 4: "YouTube",
9
+ 5: "Bing",
10
+ 7: "Seznam",
11
+ 8: "AppStore",
12
+ 9: "GooglePlay",
13
+ 101: "VK",
14
+ 102: "Facebook",
15
+ 103: "Twitter"
16
+ }, t = (e) => {
17
+ let t = "";
18
+ switch (typeof e == "string" && (e = Number(e)), e) {
19
+ case 0:
20
+ t = "";
21
+ break;
22
+ case 20:
23
+ case 21:
24
+ t = "";
25
+ break;
26
+ case 1:
27
+ t = "";
28
+ break;
29
+ case 2:
30
+ t = "";
31
+ break;
32
+ case 3:
33
+ t = "";
34
+ break;
35
+ case 4:
36
+ t = "";
37
+ break;
38
+ case 5:
39
+ t = "";
40
+ break;
41
+ case 6:
42
+ t = "";
43
+ break;
44
+ case 7:
45
+ t = "";
46
+ break;
47
+ case 8:
48
+ t = "";
49
+ break;
50
+ case 9:
51
+ t = "";
52
+ break;
53
+ case null:
54
+ t = "";
55
+ break;
56
+ }
57
+ return t;
58
+ }, n = (e) => {
59
+ let t = "";
60
+ switch (typeof e == "string" && (e = Number(e)), e % 10) {
61
+ case 0:
62
+ t = "";
63
+ break;
64
+ case 1:
65
+ t = "";
66
+ break;
67
+ case 2:
68
+ t = "";
69
+ break;
70
+ }
71
+ return t;
72
+ }, r = (e, t) => {
73
+ switch (typeof e == "string" && (e = Number(e)), e * 1) {
74
+ case 1:
75
+ case 4:
76
+ case 5:
77
+ case 6:
78
+ case 8:
79
+ case 9: return t;
80
+ }
81
+ return "";
82
+ }, i = (e, t, n) => {
83
+ switch (t * 1) {
84
+ case 0:
85
+ switch (n * 1) {
86
+ case 2:
87
+ e = `"${e}"`;
88
+ break;
89
+ case 3:
90
+ e = `"!${e}"`;
91
+ break;
92
+ case 5:
93
+ e = `"[${e}]"`;
94
+ break;
95
+ case 6:
96
+ e = `"[!${e}]"`;
97
+ break;
98
+ }
99
+ break;
100
+ case 1:
101
+ e = `[${e}]`;
102
+ break;
103
+ }
104
+ return e;
105
+ }, a = (e, t) => {
106
+ switch (t === null && (t = 6), e) {
107
+ case 1:
108
+ t = 3;
109
+ break;
110
+ case 2:
111
+ t = 2;
112
+ break;
113
+ case 5:
114
+ t > 1 && (t = 1);
115
+ break;
116
+ default: [
117
+ 1,
118
+ 2,
119
+ 3,
120
+ 5,
121
+ 6
122
+ ].includes(t) || (t = 3);
123
+ }
124
+ return t;
125
125
  };
126
- export {
127
- g as genVolumeLabel,
128
- o as getDeviceGIcon,
129
- b as getLangLabel,
130
- i as getSearcherGIcon,
131
- f as prepareVolumeType,
132
- k as searchersNames
133
- };
134
- //# sourceMappingURL=searchers.js.map
126
+ //#endregion
127
+ export { i as genVolumeLabel, n as getDeviceGIcon, r as getLangLabel, t as getSearcherGIcon, a as prepareVolumeType, e as searchersNames };
128
+
129
+ //# sourceMappingURL=searchers.js.map