@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/dom.js CHANGED
@@ -1,80 +1,66 @@
1
- function c(t, e, ...n) {
2
- const o = document.createElement(t);
3
- for (const r in e)
4
- r.indexOf("on") === 0 ? o[r] = e[r] : o.setAttribute(r, e[r]);
5
- return n.forEach((r) => {
6
- typeof r == "string" ? o.insertAdjacentHTML("beforeend", r) : o.append(r);
7
- }), o;
1
+ //#region src/core/utils/dom.ts
2
+ function e(e, t, ...n) {
3
+ let r = document.createElement(e);
4
+ for (let e in t) e.indexOf("on") === 0 ? r[e] = t[e] : r.setAttribute(e, t[e]);
5
+ return n.forEach((e) => {
6
+ typeof e == "string" ? r.insertAdjacentHTML("beforeend", e) : r.append(e);
7
+ }), r;
8
8
  }
9
- function i(t) {
10
- if (!t)
11
- return !1;
12
- const e = t.getBoundingClientRect();
13
- return !!(e.width || e.height);
9
+ function t(e) {
10
+ if (!e) return !1;
11
+ let t = e.getBoundingClientRect();
12
+ return !!(t.width || t.height);
14
13
  }
15
- function l(t) {
16
- const e = t.getBoundingClientRect();
17
- return {
18
- top: e.top + window.scrollY,
19
- left: e.left + window.scrollX
20
- };
14
+ function n(e) {
15
+ let t = e.getBoundingClientRect();
16
+ return {
17
+ top: t.top + window.scrollY,
18
+ left: t.left + window.scrollX
19
+ };
21
20
  }
22
- function f(t, e) {
23
- return window.getComputedStyle(t).getPropertyValue(e);
21
+ function r(e, t) {
22
+ return window.getComputedStyle(e).getPropertyValue(t);
24
23
  }
25
- function s(t, e) {
26
- return parseInt(f(t, e));
24
+ function i(e, t) {
25
+ return parseInt(r(e, t));
27
26
  }
28
- function a(t, e) {
29
- const n = document.createElement(e);
30
- return t.after(n), n.append(t), n;
27
+ function a(e, t) {
28
+ let n = document.createElement(t);
29
+ return e.after(n), n.append(e), n;
31
30
  }
32
- function d(t, e) {
33
- return u(t, e).find(i) || null;
31
+ function o(e, n) {
32
+ return l(e, n).find(t) || null;
34
33
  }
35
- function p(t, e) {
36
- return u(t, e).findLast(i) || null;
34
+ function s(e, n) {
35
+ return l(e, n).findLast(t) || null;
37
36
  }
38
- function g(t, e) {
39
- return u(t, e).filter(i);
37
+ function c(e, n) {
38
+ return l(e, n).filter(t);
40
39
  }
41
- function u(t, e) {
42
- return t ? [...t.querySelectorAll(e)] : [];
40
+ function l(e, t) {
41
+ return e ? [...e.querySelectorAll(t)] : [];
43
42
  }
44
- function b(t, e = "common", n = void 0) {
45
- if (t)
46
- return t.topData || (t.topData = {}), n && (t.topData[e] = n), n === null && delete t.topData[e], t.topData[e];
43
+ function u(e, t = "common", n = void 0) {
44
+ if (e) return e.topData ||= {}, n && (e.topData[t] = n), n === null && delete e.topData[t], e.topData[t];
47
45
  }
48
- function y(t) {
49
- t && delete t.topData;
46
+ function d(e) {
47
+ e && delete e.topData;
50
48
  }
51
- const w = {
52
- genEl: c,
53
- isVisible: i,
54
- offset: l,
55
- css: f,
56
- cssNumber: s,
57
- wrap: a,
58
- querySelectorVisible: d,
59
- querySelectorVisibleLast: p,
60
- querySelectorAllVisible: g,
61
- querySelectorAllArray: u,
62
- storage: b,
63
- storageClear: y
49
+ var f = {
50
+ genEl: e,
51
+ isVisible: t,
52
+ offset: n,
53
+ css: r,
54
+ cssNumber: i,
55
+ wrap: a,
56
+ querySelectorVisible: o,
57
+ querySelectorVisibleLast: s,
58
+ querySelectorAllVisible: c,
59
+ querySelectorAllArray: l,
60
+ storage: u,
61
+ storageClear: d
64
62
  };
65
- export {
66
- f as css,
67
- s as cssNumber,
68
- w as default,
69
- c as genEl,
70
- i as isVisible,
71
- l as offset,
72
- u as querySelectorAllArray,
73
- g as querySelectorAllVisible,
74
- d as querySelectorVisible,
75
- p as querySelectorVisibleLast,
76
- b as storage,
77
- y as storageClear,
78
- a as wrap
79
- };
80
- //# sourceMappingURL=dom.js.map
63
+ //#endregion
64
+ export { r as css, i as cssNumber, f as default, e as genEl, t as isVisible, n as offset, l as querySelectorAllArray, c as querySelectorAllVisible, o as querySelectorVisible, s as querySelectorVisibleLast, u as storage, d as storageClear, a as wrap };
65
+
66
+ //# sourceMappingURL=dom.js.map
package/utils/dom.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"dom.js","sources":["../../src/core/utils/dom.ts"],"sourcesContent":["/**\n * Работа с Document Object Model (DOM)\n * @packageDocumentation\n */\n\n/**\n * Создать элемент\n * @param tagName\n * @param attrs - атрибуты\n * @param elsChildrens\n * @returns - созданный элемент\n */\nexport function genEl(tagName: string, attrs?: Record<string, string>, ...elsChildrens: HTMLElement[] | string[]): HTMLElement {\n\tconst el: any = document.createElement(tagName);\n\n\tfor (const name in attrs) {\n\t\tif (name.indexOf('on') === 0) {\n\t\t\t// events\n\t\t\tel[name] = attrs[name];\n\t\t} else {\n\t\t\tel.setAttribute(name, attrs[name]);\n\t\t}\n\t}\n\n\telsChildrens.forEach((elChildren: HTMLElement | string) => {\n\t\tif (typeof (elChildren) === 'string') {\n\t\t\tel.insertAdjacentHTML('beforeend', elChildren);\n\t\t} else {\n\t\t\tel.append(elChildren);\n\t\t}\n\t});\n\n\treturn el;\n}\n\n/**\n * Проверить видимость элемента\n * @param el\n * @returns - вернет true, если элемент считается видимым\n */\nexport function isVisible(el?: HTMLElement): boolean {\n\tif (!el) {\n\t\treturn false;\n\t}\n\n\tconst boundingClientRect = el.getBoundingClientRect();\n\treturn !!(boundingClientRect.width || boundingClientRect.height);\n}\n\n/**\n * Получить координаты элемента относительно документа\n * @param el\n * @returns - координаты элемента относительно документа\n */\nexport function offset(el: HTMLElement): { top: number, left: number } {\n\tconst boundingClientRect = el.getBoundingClientRect();\n\n\treturn {\n\t\ttop: boundingClientRect.top + window.scrollY,\n\t\tleft: boundingClientRect.left + window.scrollX,\n\t};\n}\n\n/**\n * Получить значение css свойства элемента\n *\n * @param el\n * @param property - имя свойства\n * @return - значение css стиля\n */\nexport function css(el: HTMLElement, property: string): string {\n\treturn window.getComputedStyle(el).getPropertyValue(property);\n}\n\n/**\n * Получить значение css свойства целочисленного типа\n *\n * @param el\n * @param property - имя свойства\n * @return - значение css стиля\n */\nexport function cssNumber(el: HTMLElement, property: string): number {\n\treturn parseInt(css(el, property));\n}\n\n/**\n * Обернуть элемент и вернуть только что созданный элемент\n * @param el - элемент, который требуется обернуть\n * @param tagName - имя тега элемента, в который треубется обернуть элемент\n */\nexport function wrap(el: HTMLElement, tagName: string): HTMLElement {\n\tconst elWrapper = document.createElement(tagName);\n\tel.after(elWrapper);\n\n\telWrapper.append(el);\n\n\treturn elWrapper;\n}\n\n/**\n * Найти и вернуть первый видимый элемент\n * @param el - корневой элемент поиска\n * @param selectors - см. параметр selectors в Document.querySelectorAll()\n */\nexport function querySelectorVisible(el: HTMLElement, selectors: string): HTMLElement | null {\n\treturn querySelectorAllArray(el, selectors).find(isVisible) || null;\n}\n\n/**\n * Найти и вернуть последний видимый элемент\n * @param el - корневой элемент поиска\n * @param selectors - см. параметр selectors в Document.querySelectorAll()\n */\nexport function querySelectorVisibleLast(el: HTMLElement, selectors: string): HTMLElement | null {\n\treturn querySelectorAllArray(el, selectors).findLast(isVisible) || null;\n}\n\n/**\n * Найти видимые элементы\n * @param el - корневой элемент поиска\n * @param selectors - см. параметр selectors в Document.querySelectorAll()\n */\nexport function querySelectorAllVisible(el: HTMLElement | Document, selectors: string): HTMLElement[] {\n\treturn querySelectorAllArray(el, selectors).filter(isVisible);\n}\n\n/**\n * Найти элементы и вернуть в виде массива\n * @param el - корневой элемент поиска\n * @param selectors - см. параметр selectors в Document.querySelectorAll()\n */\nexport function querySelectorAllArray<El extends HTMLElement = HTMLElement>(el: HTMLElement | Document, selectors: string) {\n\tif (!el) {\n\t\treturn [];\n\t}\n\n\treturn [...el.querySelectorAll<El>(selectors)];\n}\n\n/**\n * Хранилище данных элемента\n * @param el\n * @param contextName - контекст, обычно используется имя компонента\n * @param contextData - установить объект с данными, предыдущие данные будут заменены, установите null для удаления данных\n * @returns - вернет объект контекста или undefined, если данные контекста не найдены\n */\nexport function storage(\n\tel?: HTMLElement & { topData?: any },\n\tcontextName: string = 'common',\n\tcontextData: object | null | undefined = undefined,\n): any | undefined {\n\tif (!el) {\n\t\treturn;\n\t}\n\n\tif (!el.topData) {\n\t\tel.topData = {};\n\t}\n\n\tif (contextData) {\n\t\tel.topData[contextName] = contextData;\n\t}\n\n\tif (contextData === null) {\n\t\tdelete el.topData[contextName];\n\t}\n\n\treturn el.topData[contextName];\n}\n\n/**\n * Очистить хранилище элемента\n */\nexport function storageClear(el?: HTMLElement & { topData?: any }): void {\n\tif (!el) {\n\t\treturn;\n\t}\n\n\tdelete el.topData;\n}\n\nexport default {\n\tgenEl,\n\tisVisible,\n\toffset,\n\tcss,\n\tcssNumber,\n\twrap,\n\tquerySelectorVisible,\n\tquerySelectorVisibleLast,\n\tquerySelectorAllVisible,\n\tquerySelectorAllArray,\n\tstorage,\n\tstorageClear,\n};\n"],"names":["genEl","tagName","attrs","elsChildrens","el","name","elChildren","isVisible","boundingClientRect","offset","css","property","cssNumber","wrap","elWrapper","querySelectorVisible","selectors","querySelectorAllArray","querySelectorVisibleLast","querySelectorAllVisible","storage","contextName","contextData","storageClear","DOM"],"mappings":"AAYO,SAASA,EAAMC,GAAiBC,MAAmCC,GAAqD;AAC9H,QAAMC,IAAU,SAAS,cAAcH,CAAO;AAE9C,aAAWI,KAAQH;AAClB,IAAIG,EAAK,QAAQ,IAAI,MAAM,IAE1BD,EAAGC,CAAI,IAAIH,EAAMG,CAAI,IAErBD,EAAG,aAAaC,GAAMH,EAAMG,CAAI,CAAC;AAInC,SAAAF,EAAa,QAAQ,CAACG,MAAqC;AAC1D,IAAI,OAAQA,KAAgB,WAC3BF,EAAG,mBAAmB,aAAaE,CAAU,IAE7CF,EAAG,OAAOE,CAAU;AAAA,EAEtB,CAAC,GAEMF;AACR;AAOO,SAASG,EAAUH,GAA2B;AACpD,MAAI,CAACA;AACJ,WAAO;AAGR,QAAMI,IAAqBJ,EAAG,sBAAA;AAC9B,SAAO,CAAC,EAAEI,EAAmB,SAASA,EAAmB;AAC1D;AAOO,SAASC,EAAOL,GAAgD;AACtE,QAAMI,IAAqBJ,EAAG,sBAAA;AAE9B,SAAO;AAAA,IACN,KAAKI,EAAmB,MAAM,OAAO;AAAA,IACrC,MAAMA,EAAmB,OAAO,OAAO;AAAA,EAAA;AAEzC;AASO,SAASE,EAAIN,GAAiBO,GAA0B;AAC9D,SAAO,OAAO,iBAAiBP,CAAE,EAAE,iBAAiBO,CAAQ;AAC7D;AASO,SAASC,EAAUR,GAAiBO,GAA0B;AACpE,SAAO,SAASD,EAAIN,GAAIO,CAAQ,CAAC;AAClC;AAOO,SAASE,EAAKT,GAAiBH,GAA8B;AACnE,QAAMa,IAAY,SAAS,cAAcb,CAAO;AAChD,SAAAG,EAAG,MAAMU,CAAS,GAElBA,EAAU,OAAOV,CAAE,GAEZU;AACR;AAOO,SAASC,EAAqBX,GAAiBY,GAAuC;AAC5F,SAAOC,EAAsBb,GAAIY,CAAS,EAAE,KAAKT,CAAS,KAAK;AAChE;AAOO,SAASW,EAAyBd,GAAiBY,GAAuC;AAChG,SAAOC,EAAsBb,GAAIY,CAAS,EAAE,SAAST,CAAS,KAAK;AACpE;AAOO,SAASY,EAAwBf,GAA4BY,GAAkC;AACrG,SAAOC,EAAsBb,GAAIY,CAAS,EAAE,OAAOT,CAAS;AAC7D;AAOO,SAASU,EAA4Db,GAA4BY,GAAmB;AAC1H,SAAKZ,IAIE,CAAC,GAAGA,EAAG,iBAAqBY,CAAS,CAAC,IAHrC,CAAA;AAIT;AASO,SAASI,EACfhB,GACAiB,IAAsB,UACtBC,IAAyC,QACvB;AAClB,MAAKlB;AAIL,WAAKA,EAAG,YACPA,EAAG,UAAU,CAAA,IAGVkB,MACHlB,EAAG,QAAQiB,CAAW,IAAIC,IAGvBA,MAAgB,QACnB,OAAOlB,EAAG,QAAQiB,CAAW,GAGvBjB,EAAG,QAAQiB,CAAW;AAC9B;AAKO,SAASE,EAAanB,GAA4C;AACxE,EAAKA,KAIL,OAAOA,EAAG;AACX;AAEA,MAAAoB,IAAe;AAAA,EACd,OAAAxB;AAAA,EACA,WAAAO;AAAA,EACA,QAAAE;AAAA,EACA,KAAAC;AAAA,EACA,WAAAE;AAAA,EACA,MAAAC;AAAA,EACA,sBAAAE;AAAA,EACA,0BAAAG;AAAA,EACA,yBAAAC;AAAA,EACA,uBAAAF;AAAA,EACA,SAAAG;AAAA,EACA,cAAAG;AACD;"}
1
+ {"version":3,"file":"dom.js","names":[],"sources":["../../src/core/utils/dom.ts"],"sourcesContent":["/**\n * Работа с Document Object Model (DOM)\n * @packageDocumentation\n */\n\n/**\n * Создать элемент\n * @param tagName\n * @param attrs - атрибуты\n * @param elsChildrens\n * @returns - созданный элемент\n */\nexport function genEl(tagName: string, attrs?: Record<string, string>, ...elsChildrens: HTMLElement[] | string[]): HTMLElement {\n\tconst el: any = document.createElement(tagName);\n\n\tfor (const name in attrs) {\n\t\tif (name.indexOf('on') === 0) {\n\t\t\t// events\n\t\t\tel[name] = attrs[name];\n\t\t} else {\n\t\t\tel.setAttribute(name, attrs[name]);\n\t\t}\n\t}\n\n\telsChildrens.forEach((elChildren: HTMLElement | string) => {\n\t\tif (typeof (elChildren) === 'string') {\n\t\t\tel.insertAdjacentHTML('beforeend', elChildren);\n\t\t} else {\n\t\t\tel.append(elChildren);\n\t\t}\n\t});\n\n\treturn el;\n}\n\n/**\n * Проверить видимость элемента\n * @param el\n * @returns - вернет true, если элемент считается видимым\n */\nexport function isVisible(el?: HTMLElement): boolean {\n\tif (!el) {\n\t\treturn false;\n\t}\n\n\tconst boundingClientRect = el.getBoundingClientRect();\n\treturn !!(boundingClientRect.width || boundingClientRect.height);\n}\n\n/**\n * Получить координаты элемента относительно документа\n * @param el\n * @returns - координаты элемента относительно документа\n */\nexport function offset(el: HTMLElement): { top: number, left: number } {\n\tconst boundingClientRect = el.getBoundingClientRect();\n\n\treturn {\n\t\ttop: boundingClientRect.top + window.scrollY,\n\t\tleft: boundingClientRect.left + window.scrollX,\n\t};\n}\n\n/**\n * Получить значение css свойства элемента\n *\n * @param el\n * @param property - имя свойства\n * @return - значение css стиля\n */\nexport function css(el: HTMLElement, property: string): string {\n\treturn window.getComputedStyle(el).getPropertyValue(property);\n}\n\n/**\n * Получить значение css свойства целочисленного типа\n *\n * @param el\n * @param property - имя свойства\n * @return - значение css стиля\n */\nexport function cssNumber(el: HTMLElement, property: string): number {\n\treturn parseInt(css(el, property));\n}\n\n/**\n * Обернуть элемент и вернуть только что созданный элемент\n * @param el - элемент, который требуется обернуть\n * @param tagName - имя тега элемента, в который треубется обернуть элемент\n */\nexport function wrap(el: HTMLElement, tagName: string): HTMLElement {\n\tconst elWrapper = document.createElement(tagName);\n\tel.after(elWrapper);\n\n\telWrapper.append(el);\n\n\treturn elWrapper;\n}\n\n/**\n * Найти и вернуть первый видимый элемент\n * @param el - корневой элемент поиска\n * @param selectors - см. параметр selectors в Document.querySelectorAll()\n */\nexport function querySelectorVisible(el: HTMLElement, selectors: string): HTMLElement | null {\n\treturn querySelectorAllArray(el, selectors).find(isVisible) || null;\n}\n\n/**\n * Найти и вернуть последний видимый элемент\n * @param el - корневой элемент поиска\n * @param selectors - см. параметр selectors в Document.querySelectorAll()\n */\nexport function querySelectorVisibleLast(el: HTMLElement, selectors: string): HTMLElement | null {\n\treturn querySelectorAllArray(el, selectors).findLast(isVisible) || null;\n}\n\n/**\n * Найти видимые элементы\n * @param el - корневой элемент поиска\n * @param selectors - см. параметр selectors в Document.querySelectorAll()\n */\nexport function querySelectorAllVisible(el: HTMLElement | Document, selectors: string): HTMLElement[] {\n\treturn querySelectorAllArray(el, selectors).filter(isVisible);\n}\n\n/**\n * Найти элементы и вернуть в виде массива\n * @param el - корневой элемент поиска\n * @param selectors - см. параметр selectors в Document.querySelectorAll()\n */\nexport function querySelectorAllArray<El extends HTMLElement = HTMLElement>(el: HTMLElement | Document, selectors: string) {\n\tif (!el) {\n\t\treturn [];\n\t}\n\n\treturn [...el.querySelectorAll<El>(selectors)];\n}\n\n/**\n * Хранилище данных элемента\n * @param el\n * @param contextName - контекст, обычно используется имя компонента\n * @param contextData - установить объект с данными, предыдущие данные будут заменены, установите null для удаления данных\n * @returns - вернет объект контекста или undefined, если данные контекста не найдены\n */\nexport function storage(\n\tel?: HTMLElement & { topData?: any },\n\tcontextName: string = 'common',\n\tcontextData: object | null | undefined = undefined,\n): any | undefined {\n\tif (!el) {\n\t\treturn;\n\t}\n\n\tif (!el.topData) {\n\t\tel.topData = {};\n\t}\n\n\tif (contextData) {\n\t\tel.topData[contextName] = contextData;\n\t}\n\n\tif (contextData === null) {\n\t\tdelete el.topData[contextName];\n\t}\n\n\treturn el.topData[contextName];\n}\n\n/**\n * Очистить хранилище элемента\n */\nexport function storageClear(el?: HTMLElement & { topData?: any }): void {\n\tif (!el) {\n\t\treturn;\n\t}\n\n\tdelete el.topData;\n}\n\nexport default {\n\tgenEl,\n\tisVisible,\n\toffset,\n\tcss,\n\tcssNumber,\n\twrap,\n\tquerySelectorVisible,\n\tquerySelectorVisibleLast,\n\tquerySelectorAllVisible,\n\tquerySelectorAllArray,\n\tstorage,\n\tstorageClear,\n};\n"],"mappings":";AAYA,SAAgB,EAAM,GAAiB,GAAgC,GAAG,GAAqD;CAC9H,IAAM,IAAU,SAAS,cAAc,EAAQ;AAE/C,MAAK,IAAM,KAAQ,EAClB,CAAI,EAAK,QAAQ,KAAK,KAAK,IAE1B,EAAG,KAAQ,EAAM,KAEjB,EAAG,aAAa,GAAM,EAAM,GAAM;AAYpC,QARA,EAAa,SAAS,MAAqC;AAC1D,EAAI,OAAQ,KAAgB,WAC3B,EAAG,mBAAmB,aAAa,EAAW,GAE9C,EAAG,OAAO,EAAW;GAErB,EAEK;;AAQR,SAAgB,EAAU,GAA2B;AACpD,KAAI,CAAC,EACJ,QAAO;CAGR,IAAM,IAAqB,EAAG,uBAAuB;AACrD,QAAO,CAAC,EAAE,EAAmB,SAAS,EAAmB;;AAQ1D,SAAgB,EAAO,GAAgD;CACtE,IAAM,IAAqB,EAAG,uBAAuB;AAErD,QAAO;EACN,KAAK,EAAmB,MAAM,OAAO;EACrC,MAAM,EAAmB,OAAO,OAAO;EACvC;;AAUF,SAAgB,EAAI,GAAiB,GAA0B;AAC9D,QAAO,OAAO,iBAAiB,EAAG,CAAC,iBAAiB,EAAS;;AAU9D,SAAgB,EAAU,GAAiB,GAA0B;AACpE,QAAO,SAAS,EAAI,GAAI,EAAS,CAAC;;AAQnC,SAAgB,EAAK,GAAiB,GAA8B;CACnE,IAAM,IAAY,SAAS,cAAc,EAAQ;AAKjD,QAJA,EAAG,MAAM,EAAU,EAEnB,EAAU,OAAO,EAAG,EAEb;;AAQR,SAAgB,EAAqB,GAAiB,GAAuC;AAC5F,QAAO,EAAsB,GAAI,EAAU,CAAC,KAAK,EAAU,IAAI;;AAQhE,SAAgB,EAAyB,GAAiB,GAAuC;AAChG,QAAO,EAAsB,GAAI,EAAU,CAAC,SAAS,EAAU,IAAI;;AAQpE,SAAgB,EAAwB,GAA4B,GAAkC;AACrG,QAAO,EAAsB,GAAI,EAAU,CAAC,OAAO,EAAU;;AAQ9D,SAAgB,EAA4D,GAA4B,GAAmB;AAK1H,QAJK,IAIE,CAAC,GAAG,EAAG,iBAAqB,EAAU,CAAC,GAHtC,EAAE;;AAaX,SAAgB,EACf,GACA,IAAsB,UACtB,IAAyC,KAAA,GACvB;AACb,OAgBL,QAZA,AACC,EAAG,YAAU,EAAE,EAGZ,MACH,EAAG,QAAQ,KAAe,IAGvB,MAAgB,QACnB,OAAO,EAAG,QAAQ,IAGZ,EAAG,QAAQ;;AAMnB,SAAgB,EAAa,GAA4C;AACnE,MAIL,OAAO,EAAG;;AAGX,IAAA,IAAe;CACd;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA"}
@@ -1,4 +1,4 @@
1
- define(["require","exports","../.chunks/punycode.es6-CNOnFR2-.amd"],(function(s,n,a){"use strict";if(typeof c>"u")var c=window.Vue;const i=(e,o="download")=>{const t=document.createElement("a");t.download=o,t.href=e,t.click()},r=(e,o)=>{let t=32;return o&&(t=120),e=e.replace(/^\w+:\/\/|^www\.|\/.*/g,""),e=a.punycode.toASCII(e),'<img src="https://favicon.yandex.net/favicon/'+e+"?size="+t+'" class="top-favicon empty" '+`
1
+ define([`require`,`exports`,`../.chunks/punycode.es6-B-5kB2YI.amd.js`],function(e,t,n){"use strict";Object.defineProperty(t,`__esModule`,{value:!0}),t.genFaviconImgHtml=t.downloadImageFromString=void 0,t.downloadImageFromString=(e,t=`download`)=>{let n=document.createElement(`a`);n.download=t,n.href=e,n.click()},t.genFaviconImgHtml=(e,t)=>{let r=32;return t&&(r=120),e=e.replace(/^\w+:\/\/|^www\.|\/.*/g,``),e=n.t.toASCII(e),`<img src="https://favicon.yandex.net/favicon/`+e+`?size=`+r+`" class="top-favicon empty"
2
2
  onload="
3
3
  var that = this;
4
4
  $.ajax({
@@ -8,5 +8,5 @@ define(["require","exports","../.chunks/punycode.es6-CNOnFR2-.amd"],(function(s,
8
8
  error:function(){ }
9
9
  });
10
10
  "
11
- `+' alt="">'};n.downloadImageFromString=i,n.genFaviconImgHtml=r,Object.defineProperty(n,Symbol.toStringTag,{value:"Module"})}));
12
- //# sourceMappingURL=image.amd.js.map
11
+ alt="">`}});
12
+ //# sourceMappingURL=image.amd.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"image.amd.js","sources":["../../src/core/utils/image.ts"],"sourcesContent":["/**\n * Работа с изображениями\n * @packageDocumentation\n */\n\nimport punycode from 'punycode';\n\n/**\n * Скачать изображение, переданное в виде строки\n * @param imageStr - адресс картинки\n * @param imageName - имя файла при загрузке, по умолчанию download\n */\nexport const downloadImageFromString = (imageStr: string, imageName: string = 'download'): void => {\n\tconst a = document.createElement('a');\n\ta.download = imageName;\n\ta.href = imageStr;\n\ta.click();\n};\n\n/**\n * Сгенерировать html картинку с фавиконкой сайта\n * @param url - адрес сайта\n * @param isBig - если true, картинка будет 120px, иначе 32px\n */\nexport const genFaviconImgHtml = (url: string, isBig: boolean): string => {\n\tlet size = 32;\n\tif (isBig) size = 120;\n\n\turl = url.replace(/^\\w+:\\/\\/|^www\\.|\\/.*/g, '');\n\turl = punycode.toASCII(url);\n\n\tconst onloadAttr = `\n\t\tonload=\"\n\t\t\tvar that = this;\n\t\t\t$.ajax({\n\t\t\t\ttype:'get',\n\t\t\t\turl:this.src,\n\t\t\t\tsuccess:function(res){ if(res.length > 100) that.className='top-favicon'; },\n\t\t\t\terror:function(){ }\n\t\t\t});\n\t\t\"\n\t`;\n\n\t//\treturn '<img src=\"https://www.google.com/s2/favicons?domain=' + url + '\" class=\"top-favicon empty\"> ' + onloadAttr + '>';\n\treturn '<img src=\"https://favicon.yandex.net/favicon/' + url + '?size=' + size + '\" class=\"top-favicon empty\" ' + onloadAttr + ' alt=\"\">';\n};\n"],"names":["downloadImageFromString","imageStr","imageName","a","genFaviconImgHtml","url","isBig","size","punycode_es6"],"mappings":"mIAYO,MAAAA,EAAA,CAAAC,EAAAC,EAAA,aAAA,qCAENC,EAAA,SAAAD,EACAC,EAAA,KAAAF,WAED,EAOOG,EAAA,CAAAC,EAAAC,IAAA,UAEN,OAAAA,IAAAC,EAAA,8CAGAF,EAAAG,EAAA,SAAA,QAAAH,CAAA,EAeA,gDAAAA,EAAA,SAAAE,EAAA;;;;;;;;;;GAAA,UACD"}
1
+ {"version":3,"sources":["utils/image.js","../../src/core/utils/image.ts"],"names":["exports","n","t","punycode_es6_B_5kB2YI_esm_js_1"],"mappings":"AAAA,OAAO,CAAC,UAAW,UAAW,0CAA0C,CAAE,SAAU,EAAS,EAAS,EAAgC,CAClI,aCWS,OAA2B,eAAsCA,EAAqB,aAAA,CAAA,MAAA,GAAA,CAAA,CAClG,EAAU,kBAAuB,EAAI,wBAAA,IAAA,GDDlC,EAAQ,yBCYmC,EAAA,EAA2B,aAAA,CACrE,IAAO,EAAA,SAAA,cAAA,IAAA,CACP,EAAA,SAAc,EAElB,EAAA,KAAU,EAAA,EAAQ,OAAA,EDff,EAAQ,mBALA,EAAG,IAAM,CACb,IAAI,EAAI,GACR,OAAOC,IAAM,EAAI,KAAM,EAAIC,EAAE,QAAQ,yBAA0B,GAAG,CAAE,EAAIC,EAA+B,EAAE,QAAQD,EAAE,CAAE,gDAAmDA,EAAI,SAAW,EAAI;;;;;;;;;;aAIjM","sourcesContent":["define([\"require\", \"exports\", \"../.chunks/punycode.es6-B-5kB2YI.esm.js\"], function (require, exports, punycode_es6_B_5kB2YI_esm_js_1) {\n \"use strict\";\n Object.defineProperty(exports, \"__esModule\", { value: true });\n exports.genFaviconImgHtml = exports.downloadImageFromString = void 0;\n //#region src/core/utils/image.ts\n var t = (e, t = \"download\") => {\n let n = document.createElement(\"a\");\n n.download = t, n.href = e, n.click();\n }, n = (t, n) => {\n let r = 32;\n return n && (r = 120), t = t.replace(/^\\w+:\\/\\/|^www\\.|\\/.*/g, \"\"), t = punycode_es6_B_5kB2YI_esm_js_1.t.toASCII(t), \"<img src=\\\"https://favicon.yandex.net/favicon/\" + t + \"?size=\" + r + \"\\\" class=\\\"top-favicon empty\\\" \\n\t\tonload=\\\"\\n\t\t\tvar that = this;\\n\t\t\t$.ajax({\\n\t\t\t\ttype:'get',\\n\t\t\t\turl:this.src,\\n\t\t\t\tsuccess:function(res){ if(res.length > 100) that.className='top-favicon'; },\\n\t\t\t\terror:function(){ }\\n\t\t\t});\\n\t\t\\\"\\n\t alt=\\\"\\\">\";\n };\n exports.downloadImageFromString = t;\n exports.genFaviconImgHtml = n;\n});\n//# sourceMappingURL=image.js.map\n","/**\n * Работа с изображениями\n * @packageDocumentation\n */\n\nimport punycode from 'punycode';\n\n/**\n * Скачать изображение, переданное в виде строки\n * @param imageStr - адресс картинки\n * @param imageName - имя файла при загрузке, по умолчанию download\n */\nexport const downloadImageFromString = (imageStr: string, imageName: string = 'download'): void => {\n\tconst a = document.createElement('a');\n\ta.download = imageName;\n\ta.href = imageStr;\n\ta.click();\n};\n\n/**\n * Сгенерировать html картинку с фавиконкой сайта\n * @param url - адрес сайта\n * @param isBig - если true, картинка будет 120px, иначе 32px\n */\nexport const genFaviconImgHtml = (url: string, isBig: boolean): string => {\n\tlet size = 32;\n\tif (isBig) size = 120;\n\n\turl = url.replace(/^\\w+:\\/\\/|^www\\.|\\/.*/g, '');\n\turl = punycode.toASCII(url);\n\n\tconst onloadAttr = `\n\t\tonload=\"\n\t\t\tvar that = this;\n\t\t\t$.ajax({\n\t\t\t\ttype:'get',\n\t\t\t\turl:this.src,\n\t\t\t\tsuccess:function(res){ if(res.length > 100) that.className='top-favicon'; },\n\t\t\t\terror:function(){ }\n\t\t\t});\n\t\t\"\n\t`;\n\n\t//\treturn '<img src=\"https://www.google.com/s2/favicons?domain=' + url + '\" class=\"top-favicon empty\"> ' + onloadAttr + '>';\n\treturn '<img src=\"https://favicon.yandex.net/favicon/' + url + '?size=' + size + '\" class=\"top-favicon empty\" ' + onloadAttr + ' alt=\"\">';\n};\n"]}
package/utils/image.js CHANGED
@@ -1,23 +1,13 @@
1
- import { p as a } from "../.chunks/punycode.es6-CgGegfA_.es.js";
2
- const s = (t, n = "download") => {
3
- const o = document.createElement("a");
4
- o.download = n, o.href = t, o.click();
5
- }, i = (t, n) => {
6
- let o = 32;
7
- return n && (o = 120), t = t.replace(/^\w+:\/\/|^www\.|\/.*/g, ""), t = a.toASCII(t), '<img src="https://favicon.yandex.net/favicon/' + t + "?size=" + o + '" class="top-favicon empty" ' + `
8
- onload="
9
- var that = this;
10
- $.ajax({
11
- type:'get',
12
- url:this.src,
13
- success:function(res){ if(res.length > 100) that.className='top-favicon'; },
14
- error:function(){ }
15
- });
16
- "
17
- ` + ' alt="">';
1
+ import { t as e } from "../.chunks/punycode.es6-B-5kB2YI.esm.js";
2
+ //#region src/core/utils/image.ts
3
+ var t = (e, t = "download") => {
4
+ let n = document.createElement("a");
5
+ n.download = t, n.href = e, n.click();
6
+ }, n = (t, n) => {
7
+ let r = 32;
8
+ return n && (r = 120), t = t.replace(/^\w+:\/\/|^www\.|\/.*/g, ""), t = e.toASCII(t), "<img src=\"https://favicon.yandex.net/favicon/" + t + "?size=" + r + "\" class=\"top-favicon empty\" \n onload=\"\n var that = this;\n $.ajax({\n type:'get',\n url:this.src,\n success:function(res){ if(res.length > 100) that.className='top-favicon'; },\n error:function(){ }\n });\n \"\n alt=\"\">";
18
9
  };
19
- export {
20
- s as downloadImageFromString,
21
- i as genFaviconImgHtml
22
- };
23
- //# sourceMappingURL=image.js.map
10
+ //#endregion
11
+ export { t as downloadImageFromString, n as genFaviconImgHtml };
12
+
13
+ //# sourceMappingURL=image.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"image.js","sources":["../../src/core/utils/image.ts"],"sourcesContent":["/**\n * Работа с изображениями\n * @packageDocumentation\n */\n\nimport punycode from 'punycode';\n\n/**\n * Скачать изображение, переданное в виде строки\n * @param imageStr - адресс картинки\n * @param imageName - имя файла при загрузке, по умолчанию download\n */\nexport const downloadImageFromString = (imageStr: string, imageName: string = 'download'): void => {\n\tconst a = document.createElement('a');\n\ta.download = imageName;\n\ta.href = imageStr;\n\ta.click();\n};\n\n/**\n * Сгенерировать html картинку с фавиконкой сайта\n * @param url - адрес сайта\n * @param isBig - если true, картинка будет 120px, иначе 32px\n */\nexport const genFaviconImgHtml = (url: string, isBig: boolean): string => {\n\tlet size = 32;\n\tif (isBig) size = 120;\n\n\turl = url.replace(/^\\w+:\\/\\/|^www\\.|\\/.*/g, '');\n\turl = punycode.toASCII(url);\n\n\tconst onloadAttr = `\n\t\tonload=\"\n\t\t\tvar that = this;\n\t\t\t$.ajax({\n\t\t\t\ttype:'get',\n\t\t\t\turl:this.src,\n\t\t\t\tsuccess:function(res){ if(res.length > 100) that.className='top-favicon'; },\n\t\t\t\terror:function(){ }\n\t\t\t});\n\t\t\"\n\t`;\n\n\t//\treturn '<img src=\"https://www.google.com/s2/favicons?domain=' + url + '\" class=\"top-favicon empty\"> ' + onloadAttr + '>';\n\treturn '<img src=\"https://favicon.yandex.net/favicon/' + url + '?size=' + size + '\" class=\"top-favicon empty\" ' + onloadAttr + ' alt=\"\">';\n};\n"],"names":["downloadImageFromString","imageStr","imageName","a","genFaviconImgHtml","url","isBig","size","punycode"],"mappings":";AAYO,MAAMA,IAA0B,CAACC,GAAkBC,IAAoB,eAAqB;AAClG,QAAMC,IAAI,SAAS,cAAc,GAAG;AACpC,EAAAA,EAAE,WAAWD,GACbC,EAAE,OAAOF,GACTE,EAAE,MAAA;AACH,GAOaC,IAAoB,CAACC,GAAaC,MAA2B;AACzE,MAAIC,IAAO;AACX,SAAID,MAAOC,IAAO,MAElBF,IAAMA,EAAI,QAAQ,0BAA0B,EAAE,GAC9CA,IAAMG,EAAS,QAAQH,CAAG,GAenB,kDAAkDA,IAAM,WAAWE,IAAO,iCAb9D;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,KAa4G;AAChI;"}
1
+ {"version":3,"file":"image.js","names":[],"sources":["../../src/core/utils/image.ts"],"sourcesContent":["/**\n * Работа с изображениями\n * @packageDocumentation\n */\n\nimport punycode from 'punycode';\n\n/**\n * Скачать изображение, переданное в виде строки\n * @param imageStr - адресс картинки\n * @param imageName - имя файла при загрузке, по умолчанию download\n */\nexport const downloadImageFromString = (imageStr: string, imageName: string = 'download'): void => {\n\tconst a = document.createElement('a');\n\ta.download = imageName;\n\ta.href = imageStr;\n\ta.click();\n};\n\n/**\n * Сгенерировать html картинку с фавиконкой сайта\n * @param url - адрес сайта\n * @param isBig - если true, картинка будет 120px, иначе 32px\n */\nexport const genFaviconImgHtml = (url: string, isBig: boolean): string => {\n\tlet size = 32;\n\tif (isBig) size = 120;\n\n\turl = url.replace(/^\\w+:\\/\\/|^www\\.|\\/.*/g, '');\n\turl = punycode.toASCII(url);\n\n\tconst onloadAttr = `\n\t\tonload=\"\n\t\t\tvar that = this;\n\t\t\t$.ajax({\n\t\t\t\ttype:'get',\n\t\t\t\turl:this.src,\n\t\t\t\tsuccess:function(res){ if(res.length > 100) that.className='top-favicon'; },\n\t\t\t\terror:function(){ }\n\t\t\t});\n\t\t\"\n\t`;\n\n\t//\treturn '<img src=\"https://www.google.com/s2/favicons?domain=' + url + '\" class=\"top-favicon empty\"> ' + onloadAttr + '>';\n\treturn '<img src=\"https://favicon.yandex.net/favicon/' + url + '?size=' + size + '\" class=\"top-favicon empty\" ' + onloadAttr + ' alt=\"\">';\n};\n"],"mappings":";;AAYA,IAAa,KAA2B,GAAkB,IAAoB,eAAqB;CAClG,IAAM,IAAI,SAAS,cAAc,IAAI;AAGrC,CAFA,EAAE,WAAW,GACb,EAAE,OAAO,GACT,EAAE,OAAO;GAQG,KAAqB,GAAa,MAA2B;CACzE,IAAI,IAAO;AAmBX,QAlBI,MAAO,IAAO,MAElB,IAAM,EAAI,QAAQ,0BAA0B,GAAG,EAC/C,IAAM,EAAS,QAAQ,EAAI,EAepB,mDAAkD,IAAM,WAAW,IAAA"}
@@ -1,2 +1,2 @@
1
- define(["require","exports"],(function(c,o){"use strict";if(typeof f>"u")var f=window.Vue;const a=n=>{const t=`qwertyuiop[]asdfghjkl;'zxcvbnm,./QWERTYUIOP{}ASDFGHJKL;"ZXCVBNM<>?`,r="йцукенгшщзхъфывапролджэячсмитьбю.ЙЦУКЕНГШЩЗХЪФЫВАПРОЛДжЭЯЧСМИТЬБЮ,";let e;const i=n.split("");return i.forEach((d,u)=>{e=t.indexOf(d),e!==-1?i[u]=r[e]:(e=r.indexOf(d),e!==-1&&(i[u]=t[e]))}),n=i.join(""),n};o.invertKeyboardLayout=a,Object.defineProperty(o,Symbol.toStringTag,{value:"Module"})}));
2
- //# sourceMappingURL=keyboard.amd.js.map
1
+ define([`require`,`exports`],function(e,t){"use strict";Object.defineProperty(t,`__esModule`,{value:!0}),t.invertKeyboardLayout=void 0,t.invertKeyboardLayout=e=>{let t=`qwertyuiop[]asdfghjkl;'zxcvbnm,./QWERTYUIOP{}ASDFGHJKL;"ZXCVBNM<>?`,n=`йцукенгшщзхъфывапролджэячсмитьбю.ЙЦУКЕНГШЩЗХЪФЫВАПРОЛДжЭЯЧСМИТЬБЮ,`,r,i=e.split(``);return i.forEach((e,a)=>{r=t.indexOf(e),r===-1?(r=n.indexOf(e),r!==-1&&(i[a]=t[r])):i[a]=n[r]}),e=i.join(``),e}});
2
+ //# sourceMappingURL=keyboard.amd.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"keyboard.amd.js","sources":["../../src/core/utils/keyboard.ts"],"sourcesContent":["/**\n * Утилиты для работы с устройствами ввода\n * @packageDocumentation\n */\n\n/**\n * Перевод строки в другую раскладку\n */\nexport const invertKeyboardLayout = (string: string): string => {\n\tconst a1 = 'qwertyuiop[]asdfghjkl;\\'zxcvbnm,./QWERTYUIOP{}ASDFGHJKL;\"ZXCVBNM<>?';\n\tconst a2 = 'йцукенгшщзхъфывапролджэячсмитьбю.ЙЦУКЕНГШЩЗХЪФЫВАПРОЛДжЭЯЧСМИТЬБЮ,';\n\tlet indexFinded: number;\n\n\tconst chars: Array<string> = string.split('');\n\tchars.forEach((char: string, index: number) => {\n\t\tindexFinded = a1.indexOf(char);\n\t\tif (indexFinded !== -1) {\n\t\t\tchars[index] = a2[indexFinded];\n\t\t} else {\n\t\t\tindexFinded = a2.indexOf(char);\n\t\t\tif (indexFinded !== -1) {\n\t\t\t\tchars[index] = a1[indexFinded];\n\t\t\t}\n\t\t}\n\t});\n\tstring = chars.join('');\n\n\treturn string;\n};\n"],"names":["invertKeyboardLayout","string","a1","indexFinded","char","a2","chars"],"mappings":"0FAQO,MAAAA,EAAAC,GAAA,CACN,MAAAC,EAAA,4IAEA,IAAAC,+CAICA,EAAAD,EAAA,QAAAE,CAAA,EACAD,IAAA,cAGCA,EAAAE,EAAA,QAAAD,CAAA,EACAD,IAAA,gBAGD,CAAA,EAEDF,EAAAK,EAAA,KAAA,EAAA,EAEAL,CACD"}
1
+ {"version":3,"sources":["utils/keyboard.js","../../src/core/utils/keyboard.ts"],"names":["exports"],"mappings":"AAAA,OAAO,CAAC,UAAW,UAAU,CAAE,SAAU,EAAS,EAAS,CCQ9C,aACZ,OAAW,eAAAA,EAAA,aAAA,CAAA,MAAA,GAAA,CAAA,CAkBX,EAbM,qBAAyC,IAAA,GDH5C,EAAQ,qBCcI,GAAQ,CDnBhB,IAAI,EAAI,qEAAuE,EAAI,qEAAsE,EAAG,EAAI,EAAE,MAAM,GAAG,CAC3K,OAAO,EAAE,SAAS,EAAG,IAAM,CACvB,EAAI,EAAE,QAAQ,EAAE,CAAE,IAAM,IAAM,EAAI,EAAE,QAAQ,EAAE,CAAE,IAAM,KAAO,EAAE,GAAK,EAAE,KAAO,EAAE,GAAK,EAAE,IACxF,CAAE,EAAI,EAAE,KAAK,GAAG,CAAE,IAG1B","sourcesContent":["define([\"require\", \"exports\"], function (require, exports) {\n \"use strict\";\n Object.defineProperty(exports, \"__esModule\", { value: true });\n exports.invertKeyboardLayout = void 0;\n //#region src/core/utils/keyboard.ts\n var e = (e) => {\n let t = \"qwertyuiop[]asdfghjkl;'zxcvbnm,./QWERTYUIOP{}ASDFGHJKL;\\\"ZXCVBNM<>?\", n = \"йцукенгшщзхъфывапролджэячсмитьбю.ЙЦУКЕНГШЩЗХЪФЫВАПРОЛДжЭЯЧСМИТЬБЮ,\", r, i = e.split(\"\");\n return i.forEach((e, a) => {\n r = t.indexOf(e), r === -1 ? (r = n.indexOf(e), r !== -1 && (i[a] = t[r])) : i[a] = n[r];\n }), e = i.join(\"\"), e;\n };\n exports.invertKeyboardLayout = e;\n});\n//# sourceMappingURL=keyboard.js.map\n","/**\n * Утилиты для работы с устройствами ввода\n * @packageDocumentation\n */\n\n/**\n * Перевод строки в другую раскладку\n */\nexport const invertKeyboardLayout = (string: string): string => {\n\tconst a1 = 'qwertyuiop[]asdfghjkl;\\'zxcvbnm,./QWERTYUIOP{}ASDFGHJKL;\"ZXCVBNM<>?';\n\tconst a2 = 'йцукенгшщзхъфывапролджэячсмитьбю.ЙЦУКЕНГШЩЗХЪФЫВАПРОЛДжЭЯЧСМИТЬБЮ,';\n\tlet indexFinded: number;\n\n\tconst chars: Array<string> = string.split('');\n\tchars.forEach((char: string, index: number) => {\n\t\tindexFinded = a1.indexOf(char);\n\t\tif (indexFinded !== -1) {\n\t\t\tchars[index] = a2[indexFinded];\n\t\t} else {\n\t\t\tindexFinded = a2.indexOf(char);\n\t\t\tif (indexFinded !== -1) {\n\t\t\t\tchars[index] = a1[indexFinded];\n\t\t\t}\n\t\t}\n\t});\n\tstring = chars.join('');\n\n\treturn string;\n};\n"]}
package/utils/keyboard.js CHANGED
@@ -1,12 +1,11 @@
1
- const d = (n) => {
2
- const t = `qwertyuiop[]asdfghjkl;'zxcvbnm,./QWERTYUIOP{}ASDFGHJKL;"ZXCVBNM<>?`, i = "йцукенгшщзхъфывапролджэячсмитьбю.ЙЦУКЕНГШЩЗХЪФЫВАПРОЛДжЭЯЧСМИТЬБЮ,";
3
- let e;
4
- const o = n.split("");
5
- return o.forEach((a, c) => {
6
- e = t.indexOf(a), e !== -1 ? o[c] = i[e] : (e = i.indexOf(a), e !== -1 && (o[c] = t[e]));
7
- }), n = o.join(""), n;
1
+ //#region src/core/utils/keyboard.ts
2
+ var e = (e) => {
3
+ let t = "qwertyuiop[]asdfghjkl;'zxcvbnm,./QWERTYUIOP{}ASDFGHJKL;\"ZXCVBNM<>?", n = "йцукенгшщзхъфывапролджэячсмитьбю.ЙЦУКЕНГШЩЗХЪФЫВАПРОЛДжЭЯЧСМИТЬБЮ,", r, i = e.split("");
4
+ return i.forEach((e, a) => {
5
+ r = t.indexOf(e), r === -1 ? (r = n.indexOf(e), r !== -1 && (i[a] = t[r])) : i[a] = n[r];
6
+ }), e = i.join(""), e;
8
7
  };
9
- export {
10
- d as invertKeyboardLayout
11
- };
12
- //# sourceMappingURL=keyboard.js.map
8
+ //#endregion
9
+ export { e as invertKeyboardLayout };
10
+
11
+ //# sourceMappingURL=keyboard.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"keyboard.js","sources":["../../src/core/utils/keyboard.ts"],"sourcesContent":["/**\n * Утилиты для работы с устройствами ввода\n * @packageDocumentation\n */\n\n/**\n * Перевод строки в другую раскладку\n */\nexport const invertKeyboardLayout = (string: string): string => {\n\tconst a1 = 'qwertyuiop[]asdfghjkl;\\'zxcvbnm,./QWERTYUIOP{}ASDFGHJKL;\"ZXCVBNM<>?';\n\tconst a2 = 'йцукенгшщзхъфывапролджэячсмитьбю.ЙЦУКЕНГШЩЗХЪФЫВАПРОЛДжЭЯЧСМИТЬБЮ,';\n\tlet indexFinded: number;\n\n\tconst chars: Array<string> = string.split('');\n\tchars.forEach((char: string, index: number) => {\n\t\tindexFinded = a1.indexOf(char);\n\t\tif (indexFinded !== -1) {\n\t\t\tchars[index] = a2[indexFinded];\n\t\t} else {\n\t\t\tindexFinded = a2.indexOf(char);\n\t\t\tif (indexFinded !== -1) {\n\t\t\t\tchars[index] = a1[indexFinded];\n\t\t\t}\n\t\t}\n\t});\n\tstring = chars.join('');\n\n\treturn string;\n};\n"],"names":["invertKeyboardLayout","string","a1","a2","indexFinded","chars","char","index"],"mappings":"AAQO,MAAMA,IAAuB,CAACC,MAA2B;AAC/D,QAAMC,IAAK,sEACLC,IAAK;AACX,MAAIC;AAEJ,QAAMC,IAAuBJ,EAAO,MAAM,EAAE;AAC5C,SAAAI,EAAM,QAAQ,CAACC,GAAcC,MAAkB;AAC9C,IAAAH,IAAcF,EAAG,QAAQI,CAAI,GACzBF,MAAgB,KACnBC,EAAME,CAAK,IAAIJ,EAAGC,CAAW,KAE7BA,IAAcD,EAAG,QAAQG,CAAI,GACzBF,MAAgB,OACnBC,EAAME,CAAK,IAAIL,EAAGE,CAAW;AAAA,EAGhC,CAAC,GACDH,IAASI,EAAM,KAAK,EAAE,GAEfJ;AACR;"}
1
+ {"version":3,"file":"keyboard.js","names":[],"sources":["../../src/core/utils/keyboard.ts"],"sourcesContent":["/**\n * Утилиты для работы с устройствами ввода\n * @packageDocumentation\n */\n\n/**\n * Перевод строки в другую раскладку\n */\nexport const invertKeyboardLayout = (string: string): string => {\n\tconst a1 = 'qwertyuiop[]asdfghjkl;\\'zxcvbnm,./QWERTYUIOP{}ASDFGHJKL;\"ZXCVBNM<>?';\n\tconst a2 = 'йцукенгшщзхъфывапролджэячсмитьбю.ЙЦУКЕНГШЩЗХЪФЫВАПРОЛДжЭЯЧСМИТЬБЮ,';\n\tlet indexFinded: number;\n\n\tconst chars: Array<string> = string.split('');\n\tchars.forEach((char: string, index: number) => {\n\t\tindexFinded = a1.indexOf(char);\n\t\tif (indexFinded !== -1) {\n\t\t\tchars[index] = a2[indexFinded];\n\t\t} else {\n\t\t\tindexFinded = a2.indexOf(char);\n\t\t\tif (indexFinded !== -1) {\n\t\t\t\tchars[index] = a1[indexFinded];\n\t\t\t}\n\t\t}\n\t});\n\tstring = chars.join('');\n\n\treturn string;\n};\n"],"mappings":";AAQA,IAAa,KAAwB,MAA2B;CAC/D,IAAM,IAAK,uEACL,IAAK,sEACP,GAEE,IAAuB,EAAO,MAAM,GAAG;AAc7C,QAbA,EAAM,SAAS,GAAc,MAAkB;AAE9C,EADA,IAAc,EAAG,QAAQ,EAAK,EAC1B,MAAgB,MAGnB,IAAc,EAAG,QAAQ,EAAK,EAC1B,MAAgB,OACnB,EAAM,KAAS,EAAG,OAJnB,EAAM,KAAS,EAAG;GAOlB,EACF,IAAS,EAAM,KAAK,GAAG,EAEhB"}
@@ -1,2 +1,2 @@
1
- define(["require","exports","../.chunks/forms-DDNzqU6o.amd"],(function(u,e,n){"use strict";if(typeof i>"u")var i=window.Vue;e.cloneDeep=n.cloneDeep,e.debounce=n.debounce,e.memoize=n.memoize,e.merge=n.merge,e.throttle=n.throttle,Object.defineProperty(e,Symbol.toStringTag,{value:"Module"})}));
2
- //# sourceMappingURL=lodash.amd.js.map
1
+ define([`require`,`exports`,`../.chunks/forms-CbUt-6Ff.amd.js`],function(e,t,n){"use strict";Object.defineProperty(t,`__esModule`,{value:!0}),t.throttle=t.merge=t.memoize=t.debounce=t.cloneDeep=void 0,Object.defineProperty(t,`merge`,{enumerable:!0,get:function(){return n.A}}),Object.defineProperty(t,`memoize`,{enumerable:!0,get:function(){return n.M}}),Object.defineProperty(t,`cloneDeep`,{enumerable:!0,get:function(){return n.N}}),Object.defineProperty(t,`debounce`,{enumerable:!0,get:function(){return n.P}}),Object.defineProperty(t,`throttle`,{enumerable:!0,get:function(){return n.j}})});
2
+ //# sourceMappingURL=lodash.amd.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"lodash.amd.js","sources":[],"sourcesContent":[],"names":[],"mappings":""}
1
+ {"version":3,"sources":["utils/lodash.js"],"names":["exports","forms_CbUt_6Ff_esm_js_1"],"mappings":"AAAA,OAAO,CAAC,UAAW,UAAW,mCAAmC,CAAE,SAAU,EAAS,EAAS,EAAyB,CACpH,aACA,OAAO,eAAeA,EAAS,aAAc,CAAE,MAAO,GAAM,CAAC,CAC7D,EAAQ,SAAW,EAAQ,MAAQ,EAAQ,QAAU,EAAQ,SAAW,EAAQ,UAAY,IAAK,GACjG,OAAO,eAAeA,EAAS,QAAS,CAAE,WAAY,GAAM,IAAK,UAAY,CAAE,OAAOC,EAAwB,GAAM,CAAC,CACrH,OAAO,eAAeD,EAAS,UAAW,CAAE,WAAY,GAAM,IAAK,UAAY,CAAE,OAAOC,EAAwB,GAAM,CAAC,CACvH,OAAO,eAAeD,EAAS,YAAa,CAAE,WAAY,GAAM,IAAK,UAAY,CAAE,OAAOC,EAAwB,GAAM,CAAC,CACzH,OAAO,eAAeD,EAAS,WAAY,CAAE,WAAY,GAAM,IAAK,UAAY,CAAE,OAAOC,EAAwB,GAAM,CAAC,CACxH,OAAO,eAAeD,EAAS,WAAY,CAAE,WAAY,GAAM,IAAK,UAAY,CAAE,OAAOC,EAAwB,GAAM,CAAC,EAC1H","sourcesContent":["define([\"require\", \"exports\", \"../.chunks/forms-CbUt-6Ff.esm.js\"], function (require, exports, forms_CbUt_6Ff_esm_js_1) {\n \"use strict\";\n Object.defineProperty(exports, \"__esModule\", { value: true });\n exports.throttle = exports.merge = exports.memoize = exports.debounce = exports.cloneDeep = void 0;\n Object.defineProperty(exports, \"merge\", { enumerable: true, get: function () { return forms_CbUt_6Ff_esm_js_1.A; } });\n Object.defineProperty(exports, \"memoize\", { enumerable: true, get: function () { return forms_CbUt_6Ff_esm_js_1.M; } });\n Object.defineProperty(exports, \"cloneDeep\", { enumerable: true, get: function () { return forms_CbUt_6Ff_esm_js_1.N; } });\n Object.defineProperty(exports, \"debounce\", { enumerable: true, get: function () { return forms_CbUt_6Ff_esm_js_1.P; } });\n Object.defineProperty(exports, \"throttle\", { enumerable: true, get: function () { return forms_CbUt_6Ff_esm_js_1.j; } });\n});\n"]}
package/utils/lodash.js CHANGED
@@ -1,9 +1,2 @@
1
- import { F as a, d as s, G as m, H as r, I as t } from "../.chunks/forms-DtC-EKJL.es.js";
2
- export {
3
- a as cloneDeep,
4
- s as debounce,
5
- m as memoize,
6
- r as merge,
7
- t as throttle
8
- };
9
- //# sourceMappingURL=lodash.js.map
1
+ import { A as e, M as t, N as n, P as r, j as i } from "../.chunks/forms-CbUt-6Ff.esm.js";
2
+ export { n as cloneDeep, r as debounce, t as memoize, e as merge, i as throttle };
@@ -1,2 +1,2 @@
1
- define(["require","exports"],(function(f,n){"use strict";if(typeof u>"u")var u=window.Vue;const d=(t,r=100,o=0)=>{if(t==="--")return t;let e=r*1?t/r:0;return e*=100,!o&&e<1?e=Math.round(e*Math.pow(10,2))/Math.pow(10,2):e=Math.round(e*Math.pow(10,o))/Math.pow(10,o),e},a=t=>{let r=Math.sin(t)*1e4;return r-Math.floor(r)};n.percentOfNumber=d,n.randomBySeed=a,Object.defineProperty(n,Symbol.toStringTag,{value:"Module"})}));
2
- //# sourceMappingURL=number.amd.js.map
1
+ define([`require`,`exports`],function(e,t){"use strict";Object.defineProperty(t,`__esModule`,{value:!0}),t.randomBySeed=t.percentOfNumber=void 0,t.percentOfNumber=(e,t=100,n=0)=>{if(e===`--`)return e;let r=t*1?e/t:0;return r*=100,r=!n&&r<1?Math.round(r*10**2)/10**2:Math.round(r*10**n)/10**n,r},t.randomBySeed=e=>{let t=Math.sin(e)*1e4;return t-Math.floor(t)}});
2
+ //# sourceMappingURL=number.amd.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"number.amd.js","sources":["../../src/core/utils/number.ts"],"sourcesContent":["/**\n * Работа с числами\n * @packageDocumentation\n */\n\n/**\n * Посчитать процент от числа (сколько процентов составляет part от full)\n * @param part - первое число\n * @param full - второе число\n * @param precision - точность (колличество знаков после запятой)\n */\nexport const percentOfNumber = (part: '--' | number, full: number = 100, precision: number = 0): '--' | number => {\n\tif (part === '--') return part;\n\n\tlet percent = (full * 1) ? part / full : 0;\n\tpercent *= 100;\n\n\t// если десятичные знаки не выводятся и число при округлении может дать ноль, то округляем в большую сторону\n\tif (!precision && percent < 1) {\n\t\tpercent = Math.round(percent * (Math.pow(10, 2))) / (Math.pow(10, 2));\n\t} else {\n\t\tpercent = Math.round(percent * (Math.pow(10, precision))) / (Math.pow(10, precision));\n\t}\n\n\treturn percent;\n};\n\n/**\n * Генерация псевдорандомного числа\n *\n * Детерменированная функция по параметру seed\n */\nexport const randomBySeed = (seed: number) => {\n\tlet x = Math.sin(seed) * 10000;\n\n\treturn x - Math.floor(x);\n};\n"],"names":["percentOfNumber","part","full","precision","percent","randomBySeed","seed"],"mappings":"0FAWO,MAAAA,EAAA,CAAAC,EAAAC,EAAA,IAAAC,EAAA,IAAA,CACN,GAAAF,IAAA,KAAA,OAAAA,gCAMA,CAAAE,GAAAC,EAAA,8FAMAA,CACD,EAOOC,EAAAC,GAAA,6CAIP"}
1
+ {"version":3,"sources":["utils/number.js","../../src/core/utils/number.ts"],"names":["exports"],"mappings":"AAAA,OAAO,CAAC,UAAW,UAAU,CAAE,SAAU,EAAS,EAAS,CCW9C,aACZ,OAAa,eAAaA,EAAA,aAAA,CAAA,MAAA,GAAA,CAAA,CAE1B,EAAe,aAA0B,EAAA,gBAAA,IAAA,GDAtC,EAAQ,iBCkBiB,EAAiB,EAAA,IAAA,EAAA,IAAA,CACzC,GAAI,IAAS,KAEN,OAAK,ED3BT,IAAI,EAAI,EAAI,EAAI,EAAI,EAAI,EACxB,MAAO,IAAK,IAAK,EAAI,CAAC,GAAK,EAAI,EAAI,KAAK,MAAM,EAAI,IAAM,EAAE,CAAG,IAAM,EAAI,KAAK,MAAM,EAAI,IAAM,EAAE,CAAG,IAAM,EAAG,GAM9G,EAAQ,aALA,GAAM,CACV,IAAI,EAAI,KAAK,IAAI,EAAE,CAAG,IACtB,OAAO,EAAI,KAAK,MAAM,EAAE,GAI9B","sourcesContent":["define([\"require\", \"exports\"], function (require, exports) {\n \"use strict\";\n Object.defineProperty(exports, \"__esModule\", { value: true });\n exports.randomBySeed = exports.percentOfNumber = void 0;\n //#region src/core/utils/number.ts\n var e = (e, t = 100, n = 0) => {\n if (e === \"--\")\n return e;\n let r = t * 1 ? e / t : 0;\n return r *= 100, r = !n && r < 1 ? Math.round(r * 10 ** 2) / 10 ** 2 : Math.round(r * 10 ** n) / 10 ** n, r;\n }, t = (e) => {\n let t = Math.sin(e) * 1e4;\n return t - Math.floor(t);\n };\n exports.percentOfNumber = e;\n exports.randomBySeed = t;\n});\n//# sourceMappingURL=number.js.map\n","/**\n * Работа с числами\n * @packageDocumentation\n */\n\n/**\n * Посчитать процент от числа (сколько процентов составляет part от full)\n * @param part - первое число\n * @param full - второе число\n * @param precision - точность (колличество знаков после запятой)\n */\nexport const percentOfNumber = (part: '--' | number, full: number = 100, precision: number = 0): '--' | number => {\n\tif (part === '--') return part;\n\n\tlet percent = (full * 1) ? part / full : 0;\n\tpercent *= 100;\n\n\t// если десятичные знаки не выводятся и число при округлении может дать ноль, то округляем в большую сторону\n\tif (!precision && percent < 1) {\n\t\tpercent = Math.round(percent * (Math.pow(10, 2))) / (Math.pow(10, 2));\n\t} else {\n\t\tpercent = Math.round(percent * (Math.pow(10, precision))) / (Math.pow(10, precision));\n\t}\n\n\treturn percent;\n};\n\n/**\n * Генерация псевдорандомного числа\n *\n * Детерменированная функция по параметру seed\n */\nexport const randomBySeed = (seed: number) => {\n\tlet x = Math.sin(seed) * 10000;\n\n\treturn x - Math.floor(x);\n};\n"]}
package/utils/number.js CHANGED
@@ -1,13 +1,13 @@
1
- const n = (e, o = 100, r = 0) => {
2
- if (e === "--") return e;
3
- let t = o * 1 ? e / o : 0;
4
- return t *= 100, !r && t < 1 ? t = Math.round(t * Math.pow(10, 2)) / Math.pow(10, 2) : t = Math.round(t * Math.pow(10, r)) / Math.pow(10, r), t;
5
- }, h = (e) => {
6
- let o = Math.sin(e) * 1e4;
7
- return o - Math.floor(o);
1
+ //#region src/core/utils/number.ts
2
+ var e = (e, t = 100, n = 0) => {
3
+ if (e === "--") return e;
4
+ let r = t * 1 ? e / t : 0;
5
+ return r *= 100, r = !n && r < 1 ? Math.round(r * 10 ** 2) / 10 ** 2 : Math.round(r * 10 ** n) / 10 ** n, r;
6
+ }, t = (e) => {
7
+ let t = Math.sin(e) * 1e4;
8
+ return t - Math.floor(t);
8
9
  };
9
- export {
10
- n as percentOfNumber,
11
- h as randomBySeed
12
- };
13
- //# sourceMappingURL=number.js.map
10
+ //#endregion
11
+ export { e as percentOfNumber, t as randomBySeed };
12
+
13
+ //# sourceMappingURL=number.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"number.js","sources":["../../src/core/utils/number.ts"],"sourcesContent":["/**\n * Работа с числами\n * @packageDocumentation\n */\n\n/**\n * Посчитать процент от числа (сколько процентов составляет part от full)\n * @param part - первое число\n * @param full - второе число\n * @param precision - точность (колличество знаков после запятой)\n */\nexport const percentOfNumber = (part: '--' | number, full: number = 100, precision: number = 0): '--' | number => {\n\tif (part === '--') return part;\n\n\tlet percent = (full * 1) ? part / full : 0;\n\tpercent *= 100;\n\n\t// если десятичные знаки не выводятся и число при округлении может дать ноль, то округляем в большую сторону\n\tif (!precision && percent < 1) {\n\t\tpercent = Math.round(percent * (Math.pow(10, 2))) / (Math.pow(10, 2));\n\t} else {\n\t\tpercent = Math.round(percent * (Math.pow(10, precision))) / (Math.pow(10, precision));\n\t}\n\n\treturn percent;\n};\n\n/**\n * Генерация псевдорандомного числа\n *\n * Детерменированная функция по параметру seed\n */\nexport const randomBySeed = (seed: number) => {\n\tlet x = Math.sin(seed) * 10000;\n\n\treturn x - Math.floor(x);\n};\n"],"names":["percentOfNumber","part","full","precision","percent","randomBySeed","seed","x"],"mappings":"AAWO,MAAMA,IAAkB,CAACC,GAAqBC,IAAe,KAAKC,IAAoB,MAAqB;AACjH,MAAIF,MAAS,KAAM,QAAOA;AAE1B,MAAIG,IAAWF,IAAO,IAAKD,IAAOC,IAAO;AACzC,SAAAE,KAAW,KAGP,CAACD,KAAaC,IAAU,IAC3BA,IAAU,KAAK,MAAMA,IAAW,KAAK,IAAI,IAAI,CAAC,CAAE,IAAK,KAAK,IAAI,IAAI,CAAC,IAEnEA,IAAU,KAAK,MAAMA,IAAW,KAAK,IAAI,IAAID,CAAS,CAAE,IAAK,KAAK,IAAI,IAAIA,CAAS,GAG7EC;AACR,GAOaC,IAAe,CAACC,MAAiB;AAC7C,MAAIC,IAAI,KAAK,IAAID,CAAI,IAAI;AAEzB,SAAOC,IAAI,KAAK,MAAMA,CAAC;AACxB;"}
1
+ {"version":3,"file":"number.js","names":[],"sources":["../../src/core/utils/number.ts"],"sourcesContent":["/**\n * Работа с числами\n * @packageDocumentation\n */\n\n/**\n * Посчитать процент от числа (сколько процентов составляет part от full)\n * @param part - первое число\n * @param full - второе число\n * @param precision - точность (колличество знаков после запятой)\n */\nexport const percentOfNumber = (part: '--' | number, full: number = 100, precision: number = 0): '--' | number => {\n\tif (part === '--') return part;\n\n\tlet percent = (full * 1) ? part / full : 0;\n\tpercent *= 100;\n\n\t// если десятичные знаки не выводятся и число при округлении может дать ноль, то округляем в большую сторону\n\tif (!precision && percent < 1) {\n\t\tpercent = Math.round(percent * (Math.pow(10, 2))) / (Math.pow(10, 2));\n\t} else {\n\t\tpercent = Math.round(percent * (Math.pow(10, precision))) / (Math.pow(10, precision));\n\t}\n\n\treturn percent;\n};\n\n/**\n * Генерация псевдорандомного числа\n *\n * Детерменированная функция по параметру seed\n */\nexport const randomBySeed = (seed: number) => {\n\tlet x = Math.sin(seed) * 10000;\n\n\treturn x - Math.floor(x);\n};\n"],"mappings":";AAWA,IAAa,KAAmB,GAAqB,IAAe,KAAK,IAAoB,MAAqB;AACjH,KAAI,MAAS,KAAM,QAAO;CAE1B,IAAI,IAAW,IAAO,IAAK,IAAO,IAAO;AAUzC,QATA,KAAW,KAGX,AAGC,IAHG,CAAC,KAAa,IAAU,IACjB,KAAK,MAAM,IAAoB,MAAI,EAAI,GAAa,MAAI,IAExD,KAAK,MAAM,IAAoB,MAAI,EAAY,GAAa,MAAI,GAGpE;GAQK,KAAgB,MAAiB;CAC7C,IAAI,IAAI,KAAK,IAAI,EAAK,GAAG;AAEzB,QAAO,IAAI,KAAK,MAAM,EAAE"}
@@ -1,2 +1,2 @@
1
- define(["require","exports","../.chunks/forms-DDNzqU6o.amd"],(function(a,t,i){"use strict";if(typeof n>"u")var n=window.Vue;const u=(c,e,o=i.Core.state.currency)=>{e=e??i.useI18nLang().value;let r=c.toLocaleString(e,{style:"currency",currency:o,maximumFractionDigits:2});return r=r.replace(",","."),r};t.genPrice=u,Object.defineProperty(t,Symbol.toStringTag,{value:"Module"})}));
2
- //# sourceMappingURL=price.amd.js.map
1
+ define([`require`,`exports`,`../.chunks/forms-CbUt-6Ff.amd.js`],function(e,t,n){"use strict";Object.defineProperty(t,`__esModule`,{value:!0}),t.genPrice=void 0,t.genPrice=(e,t,r=n.O.state.currency)=>{t??=(0,n.D)().value;let i=e.toLocaleString(t,{style:`currency`,currency:r,maximumFractionDigits:2});return i=i.replace(`,`,`.`),i}});
2
+ //# sourceMappingURL=price.amd.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"price.amd.js","sources":["../../src/core/utils/price.ts"],"sourcesContent":["/**\n * Работа с ценами\n * @packageDocumentation\n */\n\nimport type { Lang } from '@/core/plugins/i18n';\nimport { useI18nLang } from '@/core/plugins/i18n';\nimport Core from '@/core/core/core';\n\n/**\n * Сгенерировать строку с суммой и валютой\n * @param sum - сумма\n * @param lang - язык, берётся из профиля, если не задано\n * @param currency - валюта, берётся из профиля, если не задано\n * @returns строка с языкозависимым представлением числа sum и знаком валюты\n */\nexport const genPrice = (sum: number, lang?: Lang, currency: typeof Core.state.currency = Core.state.currency): string => {\n\tlang = lang ?? useI18nLang().value;\n\n\tlet sumStr = sum.toLocaleString(lang, { style: 'currency', currency, maximumFractionDigits: 2 });\n\tsumStr = sumStr.replace(',', '.');\n\n\treturn sumStr;\n};\n"],"names":["genPrice","sum","lang","currency","forms","sumStr"],"mappings":"4HAgBO,MAAAA,EAAA,CAAAC,EAAAC,EAAAC,EAAAC,EAAA,KAAA,MAAA,WAAA,CACNF,EAAAA,GAAAE,EAAA,YAAA,EAAA,kHAKAC,CACD"}
1
+ {"version":3,"sources":["utils/price.js","../../src/core/utils/price.ts"],"names":["exports","forms_CbUt_6Ff_esm_js_1","a","n","r","i"],"mappings":"AAAA,OAAO,CAAC,UAAW,UAAW,mCAAmC,CAAE,SAAU,EAAS,EAAS,EAAyB,CACpH,aCeS,OAAY,eAAsEA,EAAM,aAAqB,CAAA,MAAA,GAAA,CAAA,CACzH,EAA6B,SAAA,IAAA,GDH1B,EAAQ,UCKoC,EAAA,EAAA,EAAAC,EAAA,EAAA,MAAA,WAAA,CAAY,KAAA,EAAAA,EAAA,IAAA,CAAA,MAAU,IAAAC,EAAAC,EAAA,eAAuBC,EAAA,CAAI,MAAA,WACvF,SAAeC,EDVb,sBAAuB,EAC1B,CAAC,CACF,MAAO,GAAIH,EAAE,QAAQ,IAAK,IAAI,CAAEA,IAGtC","sourcesContent":["define([\"require\", \"exports\", \"../.chunks/forms-CbUt-6Ff.esm.js\"], function (require, exports, forms_CbUt_6Ff_esm_js_1) {\n \"use strict\";\n Object.defineProperty(exports, \"__esModule\", { value: true });\n exports.genPrice = void 0;\n //#region src/core/utils/price.ts\n var n = (n, r, i = forms_CbUt_6Ff_esm_js_1.O.state.currency) => {\n r ??= (0, forms_CbUt_6Ff_esm_js_1.D)().value;\n let a = n.toLocaleString(r, {\n style: \"currency\",\n currency: i,\n maximumFractionDigits: 2\n });\n return a = a.replace(\",\", \".\"), a;\n };\n exports.genPrice = n;\n});\n//# sourceMappingURL=price.js.map\n","/**\n * Работа с ценами\n * @packageDocumentation\n */\n\nimport type { Lang } from '@/core/plugins/i18n';\nimport { useI18nLang } from '@/core/plugins/i18n';\nimport Core from '@/core/core/core';\n\n/**\n * Сгенерировать строку с суммой и валютой\n * @param sum - сумма\n * @param lang - язык, берётся из профиля, если не задано\n * @param currency - валюта, берётся из профиля, если не задано\n * @returns строка с языкозависимым представлением числа sum и знаком валюты\n */\nexport const genPrice = (sum: number, lang?: Lang, currency: typeof Core.state.currency = Core.state.currency): string => {\n\tlang = lang ?? useI18nLang().value;\n\n\tlet sumStr = sum.toLocaleString(lang, { style: 'currency', currency, maximumFractionDigits: 2 });\n\tsumStr = sumStr.replace(',', '.');\n\n\treturn sumStr;\n};\n"]}
package/utils/price.js CHANGED
@@ -1,10 +1,15 @@
1
- import { C as a, a as o } from "../.chunks/forms-DtC-EKJL.es.js";
2
- const i = (t, e, c = a.state.currency) => {
3
- e = e ?? o().value;
4
- let r = t.toLocaleString(e, { style: "currency", currency: c, maximumFractionDigits: 2 });
5
- return r = r.replace(",", "."), r;
1
+ import { D as e, O as t } from "../.chunks/forms-CbUt-6Ff.esm.js";
2
+ //#region src/core/utils/price.ts
3
+ var n = (n, r, i = t.state.currency) => {
4
+ r ??= e().value;
5
+ let a = n.toLocaleString(r, {
6
+ style: "currency",
7
+ currency: i,
8
+ maximumFractionDigits: 2
9
+ });
10
+ return a = a.replace(",", "."), a;
6
11
  };
7
- export {
8
- i as genPrice
9
- };
10
- //# sourceMappingURL=price.js.map
12
+ //#endregion
13
+ export { n as genPrice };
14
+
15
+ //# sourceMappingURL=price.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"price.js","sources":["../../src/core/utils/price.ts"],"sourcesContent":["/**\n * Работа с ценами\n * @packageDocumentation\n */\n\nimport type { Lang } from '@/core/plugins/i18n';\nimport { useI18nLang } from '@/core/plugins/i18n';\nimport Core from '@/core/core/core';\n\n/**\n * Сгенерировать строку с суммой и валютой\n * @param sum - сумма\n * @param lang - язык, берётся из профиля, если не задано\n * @param currency - валюта, берётся из профиля, если не задано\n * @returns строка с языкозависимым представлением числа sum и знаком валюты\n */\nexport const genPrice = (sum: number, lang?: Lang, currency: typeof Core.state.currency = Core.state.currency): string => {\n\tlang = lang ?? useI18nLang().value;\n\n\tlet sumStr = sum.toLocaleString(lang, { style: 'currency', currency, maximumFractionDigits: 2 });\n\tsumStr = sumStr.replace(',', '.');\n\n\treturn sumStr;\n};\n"],"names":["genPrice","sum","lang","currency","Core","useI18nLang","sumStr"],"mappings":";AAgBO,MAAMA,IAAW,CAACC,GAAaC,GAAaC,IAAuCC,EAAK,MAAM,aAAqB;AACzH,EAAAF,IAAOA,KAAQG,IAAc;AAE7B,MAAIC,IAASL,EAAI,eAAeC,GAAM,EAAE,OAAO,YAAY,UAAAC,GAAU,uBAAuB,GAAG;AAC/F,SAAAG,IAASA,EAAO,QAAQ,KAAK,GAAG,GAEzBA;AACR;"}
1
+ {"version":3,"file":"price.js","names":[],"sources":["../../src/core/utils/price.ts"],"sourcesContent":["/**\n * Работа с ценами\n * @packageDocumentation\n */\n\nimport type { Lang } from '@/core/plugins/i18n';\nimport { useI18nLang } from '@/core/plugins/i18n';\nimport Core from '@/core/core/core';\n\n/**\n * Сгенерировать строку с суммой и валютой\n * @param sum - сумма\n * @param lang - язык, берётся из профиля, если не задано\n * @param currency - валюта, берётся из профиля, если не задано\n * @returns строка с языкозависимым представлением числа sum и знаком валюты\n */\nexport const genPrice = (sum: number, lang?: Lang, currency: typeof Core.state.currency = Core.state.currency): string => {\n\tlang = lang ?? useI18nLang().value;\n\n\tlet sumStr = sum.toLocaleString(lang, { style: 'currency', currency, maximumFractionDigits: 2 });\n\tsumStr = sumStr.replace(',', '.');\n\n\treturn sumStr;\n};\n"],"mappings":";;AAgBA,IAAa,KAAY,GAAa,GAAa,IAAuC,EAAK,MAAM,aAAqB;AACzH,OAAe,GAAa,CAAC;CAE7B,IAAI,IAAS,EAAI,eAAe,GAAM;EAAE,OAAO;EAAY;EAAU,uBAAuB;EAAG,CAAC;AAGhG,QAFA,IAAS,EAAO,QAAQ,KAAK,IAAI,EAE1B"}
@@ -1,2 +1,2 @@
1
- define(["require","exports"],(function(p,s){"use strict";if(typeof l>"u")var l=window.Vue;const h=function(t,r=location.hash){const e=new RegExp("[#?&]"+t+"=([^&]*)"),n=r.match(e);return!n||n.length!=2?"":(n[1]=decodeURIComponent(n[1]),n[1]=n[1].replace(/\+/g," "),n[1])},i=function(t,r,e=!0){let n=u(t,r);f(!!e,n)},g=function(t,r,e=!0){i(t,null,e)},u=function(t,r,e=location.hash){const n=new RegExp("&?"+t+"=[^&]*","g");return e=e.replace(n,""),r!==null&&(r=(r+"").replace(" ","%20"),e=e.replace(n,"&"+t+"="+r),e.indexOf("&"+t+"=")==-1&&(e+="&"+t+"="+r)),e=e.replace(/&+/g,"&"),e=e.replace(/^(#)?&|&$/g,"$1"),e="#"+e,e=e.replace(/^#+/,"#"),e==="#"&&(e=""),e},o=function(t,r){t instanceof Map&&(t=Object.fromEntries(t)),r===void 0&&(r=!0);let e=location.hash;for(const n in t){const c=new RegExp("&?"+n+"=[^&]*","g");e=e.replace(c,""),t[n]!==null&&(t[n]=(t[n]+"").replace(" ","%20"),e+="&"+n+"="+t[n])}e=e.replace(/&+/g,"&"),e=e.replace(/^(#)?&|&$/g,"$1"),e="#"+e,e=e.replace(/^#+/,"#"),e==="#"&&(e=""),f(!!r,e)},f=(t=!1,r)=>{if(r===location.hash)return;const e=location.href,n=location.href.replace(/#.*/,"")+r;t?history.replaceState(history.state,"",n):history.pushState(history.state,"",n);const c=new HashChangeEvent("hashchange",{oldURL:e,newURL:n});window.dispatchEvent(c)};s.delHash=g,s.genHash=u,s.getHash=h,s.historySetState=f,s.setHash=i,s.setHashs=o,Object.defineProperty(s,Symbol.toStringTag,{value:"Module"})}));
2
- //# sourceMappingURL=route.amd.js.map
1
+ define([`require`,`exports`],function(e,t){"use strict";Object.defineProperty(t,`__esModule`,{value:!0}),t.setHashs=t.setHash=t.historySetState=t.getHash=t.genHash=t.delHash=void 0;var n=function(e,t=location.hash){let n=RegExp(`[#?&]`+e+`=([^&]*)`),r=t.match(n);return!r||r.length!=2?``:(r[1]=decodeURIComponent(r[1]),r[1]=r[1].replace(/\+/g,` `),r[1])},r=function(e,t,n=!0){let r=a(e,t);s(!!n,r)},i=function(e,t,n=!0){r(e,null,n)},a=function(e,t,n=location.hash){let r=RegExp(`&?`+e+`=[^&]*`,`g`);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},o=function(e,t){e instanceof Map&&(e=Object.fromEntries(e)),t===void 0&&(t=!0);let n=location.hash;for(let t in e){let r=RegExp(`&?`+t+`=[^&]*`,`g`);n=n.replace(r,``),e[t]!==null&&(e[t]=(e[t]+``).replace(` `,`%20`),n+=`&`+t+`=`+e[t])}n=n.replace(/&+/g,`&`),n=n.replace(/^(#)?&|&$/g,`$1`),n=`#`+n,n=n.replace(/^#+/,`#`),n===`#`&&(n=``),s(!!t,n)},s=(e=!1,t)=>{if(t===location.hash)return;let n=location.href,r=location.href.replace(/#.*/,``)+t;e?history.replaceState(history.state,``,r):history.pushState(history.state,``,r);let i=new HashChangeEvent(`hashchange`,{oldURL:n,newURL:r});window.dispatchEvent(i)};t.getHash=n,t.setHash=r,t.delHash=i,t.genHash=a,t.setHashs=o,t.historySetState=s});
2
+ //# sourceMappingURL=route.amd.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"route.amd.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","value","setHash","replaceState","historySetState","hash","delHash","genHash","re","setHashs","data","replace","oldURL","url","event"],"mappings":"0FAQO,MAAAA,EAAA,SAAAC,EAAAC,EAAA,SAAA,KAAA,+GAMNC,EAAA,CAAA,EAAAA,EAAA,CAAA,EAAA,QAAA,MAAA,GAAA,EAEAA,EAAA,CAAA,EACD,EAKOC,EAAA,SAAAH,EAAAE,EAAAE,EAAA,GAAA,cAILC,MAAAC,CAAA,CAIF,EAKOC,EAAA,SAAAP,EAAAE,EAAAE,EAAA,GAAA,CACND,EAAAH,EAAA,KAAAI,CAAA,CACD,EAKOI,EAAA,SAAAR,EAAAE,EAAAD,EAAA,SAAA,KAAA,CACN,MAAAQ,EAAA,IAAA,OAAA,KAAAT,EAAA,SAAA,GAAA,2BAIAE,IAAA,OACCA,GAAAA,EAAA,IAAA,QAAA,IAAA,KAAA,EACAD,EAAAA,EAAA,QAAAQ,EAAA,IAAAT,EAAA,IAAAE,CAAA,oGAQDD,EAAA,IAAAA,yBAGAA,IAAA,MAAAA,EAAA,IAEAA,CACD,EAKOS,EAAA,SAAAC,EAAAP,EAAA,CACNO,aAAA,MAAAA,EAAA,OAAA,YAAAA,CAAA,GAEAP,IAAA,SAAAA,EAAA,IACA,IAAAE,EAAA,SAAA,KAEA,UAAAN,KAAAW,EAAA,CACC,MAAAF,EAAA,IAAA,OAAA,KAAAT,EAAA,SAAA,GAAA,oBAGAW,EAAAX,CAAA,IAAA,OACCW,EAAAX,CAAA,GAAAW,EAAAX,CAAA,EAAA,IAAA,QAAA,IAAA,KAAA,2EAQFM,EAAA,IAAAA,yBAGAA,IAAA,MAAAA,EAAA,IAGCD,MAAAC,CAAA,CAIF,EAUOD,EAAA,CAAAO,EAAA,GAAAN,IAAA,CAGN,GAAAA,IAAA,SAAA,KAAA,OAEA,MAAAO,EAAA,SAAA,KAEAC,EAAA,SAAA,KAAA,QAAA,MAAA,EAAA,EAAAR,mFASA,MAAAS,EAAA,IAAA,gBAAA,aAAA,CAAgD,OAAAF,EAC/C,OAAAC,CACQ,CAAA,EAGT,OAAA,cAAAC,CAAA,CACD"}
1
+ {"version":3,"sources":["utils/route.js","../../src/core/utils/route.ts"],"names":["exports","e","t","i","r","a","n"],"mappings":"AAAA,OAAO,CAAC,UAAW,UAAU,CAAE,SAAU,EAAS,EAAS,CCQ9C,aACZ,OAAe,eAAiBA,EAAO,aACZ,CAAA,MAAS,GAAA,CAAA,CAMpC,EALK,SAAe,EAAoB,QAElC,EAAK,gBAA4B,EACjC,QAAc,EAAQ,QAErB,EAAM,QAAA,IAAA,GAOb,IAAIC,EAAe,SAAY,EAAA,EAAA,SAAA,KAAA,CAGR,IAEM,EAAA,OAAA,QAAA,EAAA,WAAA,CAAA,EAAA,EAAA,MAAA,EAAA,CAOP,MAAA,CAAU,GAAc,EAAe,QAAoC,EAAA,IAAA,EAAA,GAAA,mBAAA,EAAA,GAAA,CAAA,EAAA,GAAA,EAAA,GAAA,QAAA,MAAA,IAAA,CAAA,EAAA,KACnFC,EAAA,SAAmB,EAAA,EAAA,EAAA,CAAA,EAAA,CAMX,IAAAC,EAAUC,EAAA,EAAc,EAA+B,CACvEC,EAAS,CAAA,CAAA,EAAAF,EAAO,EAmBtBG,EAjBA,SAA4B,EAAQ,EAAI,EAEpC,CAAA,EAAA,CAqBmBJ,EAAA,EAAA,KAAoDE,EAAA,EACvEA,EAAA,SAAgB,EAAK,EAAO,EAAA,SAAO,KAAY,CAG/C,IAAO,EAAA,OAAS,KAAA,EAAA,SAAA,IAAA,CAEf,MAAc,GAAM,EAAA,QAAA,EAAA,GAAA,CAAA,IAAA,OAAA,GAAA,EAAA,IAAA,QAAA,IAAA,MAAA,CAAA,EAAA,EAAA,QAAA,EAAA,IAAA,EAAA,IAAA,EAAA,CAAA,EAAA,QAAA,IAAA,EAAA,IAAA,EAAA,KAAA,GAAA,IAAA,EAAA,IAAA,IAAA,EAAA,EAAA,QAAA,MAAA,IAAA,CAAA,EAAA,EAAA,QAAA,aAAA,KAAA,CAAA,EAAA,IAAA,EAAA,EAAA,EAAA,QAAA,MAAA,IAAA,CAAA,IAAA,MAAA,EAAA,IAAA,GAClBD,EAAS,SAAO,EAAO,EAAA,CACjB,aAAY,MAEf,EAAU,OAAA,YACC,EAAA,EAAQ,IAAI,IAAA,KAAa,EAAA,CAAA,GD7DvC,IAAI,EAAI,SAAS,KCkEZ,IAAA,IAAQ,KAAO,EAAA,CAuBuB,IAAO,EAAA,OAAuB,KAAA,EAAA,SAAA,IAAA,CAGnE,EAAA,EAAA,QAAe,EAAA,GAAA,CAAA,EAAA,KAAA,OAAA,EAAA,IAAA,EAAA,GAAA,IAAA,QAAA,IAAA,MAAA,CAAA,GAAA,IAAA,EAAA,IAAA,EAAA,IAO3B,EAAA,EAAQ,QAAA,MAAa,IAAA,CAAQ,EAAA,EAAO,QAAQ,aAEpC,KAAU,CAAA,EAAA,IAAQ,EAAO,EAAI,EAAI,QAAA,MAAA,IAAA,CAAA,IAAA,MAAA,EAAA,IAAAE,EAAA,CAAA,CAAA,EAAA,EAAA,EAIpCA,GAAQ,EAAI,CAAA,EAAA,IAAA,CACT,GAAA,IAAA,SAAA,KACA,OACP,IAAA,EAAA,SAAA,KAAA,EAAA,SAAA,KAAA,QAAA,MAAA,GAAA,CAAA,EAEK,EAAA,QAAA,aAAoB,QAAA,MAAA,GAAA,EAAA,CAAA,QAAA,UAAA,QAAA,MAAA,GAAA,EAAA,CDnGpB,IAAI,EAAI,IAAI,gBAAgB,aAAc,CACtC,OAAQ,EACR,OAAQ,EACX,CAAC,CACF,OAAO,cAAc,EAAE,EAE3B,EAAQ,QAAUJ,EAClB,EAAQ,QAAUC,EAClB,EAAQ,QAAUI,EAClB,EAAQ,QAAUF,EAClB,EAAQ,SAAWD,EACnB,EAAQ,gBAAkBE,GAC5B","sourcesContent":["define([\"require\", \"exports\"], function (require, exports) {\n \"use strict\";\n Object.defineProperty(exports, \"__esModule\", { value: true });\n exports.setHashs = exports.setHash = exports.historySetState = exports.getHash = exports.genHash = exports.delHash = void 0;\n //#region src/core/utils/route.ts\n var e = function (e, t = location.hash) {\n let n = RegExp(\"[#?&]\" + e + \"=([^&]*)\"), r = t.match(n);\n return !r || r.length != 2 ? \"\" : (r[1] = decodeURIComponent(r[1]), r[1] = r[1].replace(/\\+/g, \" \"), r[1]);\n }, t = function (e, t, n = !0) {\n let i = r(e, t);\n a(!!n, i);\n }, n = function (e, n, r = !0) {\n t(e, null, r);\n }, r = function (e, t, n = location.hash) {\n let r = RegExp(\"&?\" + e + \"=[^&]*\", \"g\");\n 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;\n }, i = function (e, t) {\n e instanceof Map && (e = Object.fromEntries(e)), t === void 0 && (t = !0);\n let n = location.hash;\n for (let t in e) {\n let r = RegExp(\"&?\" + t + \"=[^&]*\", \"g\");\n n = n.replace(r, \"\"), e[t] !== null && (e[t] = (e[t] + \"\").replace(\" \", \"%20\"), n += \"&\" + t + \"=\" + e[t]);\n }\n n = n.replace(/&+/g, \"&\"), n = n.replace(/^(#)?&|&$/g, \"$1\"), n = \"#\" + n, n = n.replace(/^#+/, \"#\"), n === \"#\" && (n = \"\"), a(!!t, n);\n }, a = (e = !1, t) => {\n if (t === location.hash)\n return;\n let n = location.href, r = location.href.replace(/#.*/, \"\") + t;\n e ? history.replaceState(history.state, \"\", r) : history.pushState(history.state, \"\", r);\n let i = new HashChangeEvent(\"hashchange\", {\n oldURL: n,\n newURL: r\n });\n window.dispatchEvent(i);\n };\n exports.getHash = e;\n exports.setHash = t;\n exports.delHash = n;\n exports.genHash = r;\n exports.setHashs = i;\n exports.historySetState = a;\n});\n//# sourceMappingURL=route.js.map\n","/**\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"]}