@topvisor/ui 1.0.13-fix-dialog-scroll → 1.0.14

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 (117) hide show
  1. package/.chunks/{datepicker-BLuImSNi.amd.js → datepicker-DW_EVh8-.amd.js} +2 -2
  2. package/.chunks/{datepicker-BLuImSNi.amd.js.map → datepicker-DW_EVh8-.amd.js.map} +1 -1
  3. package/.chunks/{datepicker-B8syh3Uk.es.js → datepicker-Ri3BN3-Y.es.js} +2 -2
  4. package/.chunks/{datepicker-B8syh3Uk.es.js.map → datepicker-Ri3BN3-Y.es.js.map} +1 -1
  5. package/.chunks/{forms-C4-jc5q2.es.js → forms-CHyoeELv.es.js} +21 -21
  6. package/.chunks/{forms-C4-jc5q2.es.js.map → forms-CHyoeELv.es.js.map} +1 -1
  7. package/.chunks/{forms-CiwhEtPE.amd.js → forms-CORLOoYZ.amd.js} +3 -3
  8. package/.chunks/{forms-CiwhEtPE.amd.js.map → forms-CORLOoYZ.amd.js.map} +1 -1
  9. package/.chunks/{listItem.vue_vue_type_script_setup_true_lang-sNbmDi34.amd.js → listItem.vue_vue_type_script_setup_true_lang-BZar2z_p.amd.js} +2 -2
  10. package/.chunks/{listItem.vue_vue_type_script_setup_true_lang-sNbmDi34.amd.js.map → listItem.vue_vue_type_script_setup_true_lang-BZar2z_p.amd.js.map} +1 -1
  11. package/.chunks/{listItem.vue_vue_type_script_setup_true_lang-CtqSJHeU.es.js → listItem.vue_vue_type_script_setup_true_lang-Dvz76-gx.es.js} +2 -2
  12. package/.chunks/{listItem.vue_vue_type_script_setup_true_lang-CtqSJHeU.es.js.map → listItem.vue_vue_type_script_setup_true_lang-Dvz76-gx.es.js.map} +1 -1
  13. package/.chunks/{menu.vue_vue_type_style_index_0_lang-jctlBjKS.amd.js → menu.vue_vue_type_style_index_0_lang-Chd1ygyG.amd.js} +2 -2
  14. package/.chunks/{menu.vue_vue_type_style_index_0_lang-jctlBjKS.amd.js.map → menu.vue_vue_type_style_index_0_lang-Chd1ygyG.amd.js.map} +1 -1
  15. package/.chunks/{menu.vue_vue_type_style_index_0_lang-BCFxRsJ_.es.js → menu.vue_vue_type_style_index_0_lang-Rex3a5_T.es.js} +2 -2
  16. package/.chunks/{menu.vue_vue_type_style_index_0_lang-BCFxRsJ_.es.js.map → menu.vue_vue_type_style_index_0_lang-Rex3a5_T.es.js.map} +1 -1
  17. package/.chunks/notice-Bh-LvHpR.es.js +175 -0
  18. package/.chunks/notice-Bh-LvHpR.es.js.map +1 -0
  19. package/.chunks/notice-BnvlWLlj.amd.js +4 -0
  20. package/.chunks/notice-BnvlWLlj.amd.js.map +1 -0
  21. package/.chunks/{popup-DEG8x2yE.es.js → popup-0nFCdjiM.es.js} +3 -3
  22. package/.chunks/popup-0nFCdjiM.es.js.map +1 -0
  23. package/.chunks/{popup-D6LvyJ7M.amd.js → popup-B285SUGc.amd.js} +2 -2
  24. package/.chunks/popup-B285SUGc.amd.js.map +1 -0
  25. package/.chunks/{utils-BiyYJ_AB.es.js → utils-B3neE-vU.es.js} +52 -44
  26. package/.chunks/utils-B3neE-vU.es.js.map +1 -0
  27. package/.chunks/{utils-B3ycYRqM.amd.js → utils-COOeS9rk.amd.js} +2 -2
  28. package/.chunks/utils-COOeS9rk.amd.js.map +1 -0
  29. package/.chunks/utils-k0wIxxij.amd.js +2 -0
  30. package/.chunks/utils-k0wIxxij.amd.js.map +1 -0
  31. package/.chunks/{utils-DdsRxaK5.es.js → utils-tB3V9IWe.es.js} +59 -54
  32. package/.chunks/utils-tB3V9IWe.es.js.map +1 -0
  33. package/assets/core.css +1 -1
  34. package/assets/layout.css +1 -0
  35. package/charts/charts.amd.js +1 -1
  36. package/charts/charts.amd.js.map +1 -1
  37. package/charts/charts.js +47 -42
  38. package/charts/charts.js.map +1 -1
  39. package/components/charts/miniChart/miniChart.d.ts +5 -0
  40. package/components/core/notice/item/item.vue.d.ts +3 -1
  41. package/components/core/notice/item/types.d.ts +4 -0
  42. package/components/core/notice/utils.d.ts +1 -0
  43. package/components/dialog/dialog/composables/{asyncDialogWorker.d.ts → asyncDialogHandle.d.ts} +1 -1
  44. package/components/dialog/dialog/composables/utils.d.ts +2 -2
  45. package/components/dialog/dialog/dialogs/dialogs.vue.d.ts +1 -1
  46. package/components/dialog/lib/types.d.ts +6 -1
  47. package/components/dialog/lib/worker.d.ts +5 -0
  48. package/components/layout/islandRows/islandRows.vue.d.ts +16 -0
  49. package/components/layout/islandRows/islandRowsRow/islandRowsRow.vue.d.ts +17 -0
  50. package/components/layout/islandRows/islandRowsRow/types.d.ts +2 -0
  51. package/components/layout/islandRows/types.d.ts +10 -0
  52. package/components/layout/layout.d.ts +7 -0
  53. package/components/layout/rows/rows.vue.d.ts +20 -0
  54. package/components/layout/rows/types.d.ts +6 -0
  55. package/components/project/project.d.ts +1 -0
  56. package/core/app.amd.js +1 -1
  57. package/core/app.amd.js.map +1 -1
  58. package/core/app.js +14 -15
  59. package/core/app.js.map +1 -1
  60. package/core/utils/check.d.ts +1 -1
  61. package/dialog/dialog.amd.js +1 -1
  62. package/dialog/dialog.js +2 -2
  63. package/forms/forms.amd.js +1 -1
  64. package/forms/forms.js +1 -1
  65. package/formsExt/formsExt.amd.js +1 -1
  66. package/formsExt/formsExt.js +54 -54
  67. package/icomoon/Topvisor icons.json +1421 -1193
  68. package/icomoon/demo-files/demo.css +0 -3
  69. package/icomoon/demo.html +578 -511
  70. package/icomoon/fonts/Topvisor-2.eot +0 -0
  71. package/icomoon/fonts/Topvisor-2.svg +8 -3
  72. package/icomoon/fonts/Topvisor-2.ttf +0 -0
  73. package/icomoon/fonts/Topvisor-2.woff +0 -0
  74. package/icomoon/selection.json +1 -1
  75. package/icomoon/style.css +259 -243
  76. package/layout/layout.amd.js +2 -0
  77. package/layout/layout.amd.js.map +1 -0
  78. package/layout/layout.d.ts +2 -0
  79. package/layout/layout.js +54 -0
  80. package/layout/layout.js.map +1 -0
  81. package/package.json +1 -1
  82. package/popup/popup.amd.js +1 -1
  83. package/popup/popup.js +2 -2
  84. package/popup/worker.amd.js +1 -1
  85. package/popup/worker.js +2 -2
  86. package/project/project.amd.js +1 -1
  87. package/project/project.amd.js.map +1 -1
  88. package/project/project.js +482 -469
  89. package/project/project.js.map +1 -1
  90. package/tabsView/tabsView.amd.js +1 -1
  91. package/tabsView/tabsView.js +16 -16
  92. package/utils/check.amd.js +1 -1
  93. package/utils/check.amd.js.map +1 -1
  94. package/utils/check.js +12 -12
  95. package/utils/check.js.map +1 -1
  96. package/utils/date.amd.js +1 -1
  97. package/utils/date.js +1 -1
  98. package/utils/device.amd.js +1 -1
  99. package/utils/device.js +1 -1
  100. package/utils/lodash.amd.js +1 -1
  101. package/utils/lodash.js +5 -5
  102. package/utils/price.amd.js +1 -1
  103. package/utils/price.js +1 -1
  104. package/utils/string.amd.js +1 -1
  105. package/utils/string.js +1 -1
  106. package/.chunks/notice-Dgu-SIPq.es.js +0 -172
  107. package/.chunks/notice-Dgu-SIPq.es.js.map +0 -1
  108. package/.chunks/notice-DkCLhqSq.amd.js +0 -4
  109. package/.chunks/notice-DkCLhqSq.amd.js.map +0 -1
  110. package/.chunks/popup-D6LvyJ7M.amd.js.map +0 -1
  111. package/.chunks/popup-DEG8x2yE.es.js.map +0 -1
  112. package/.chunks/utils-B3ycYRqM.amd.js.map +0 -1
  113. package/.chunks/utils-BiyYJ_AB.es.js.map +0 -1
  114. package/.chunks/utils-DdsRxaK5.es.js.map +0 -1
  115. package/.chunks/utils-DpejCylJ.amd.js +0 -2
  116. package/.chunks/utils-DpejCylJ.amd.js.map +0 -1
  117. /package/components/dialog/dialog/composables/{dialogWorker.d.ts → dialogHandle.d.ts} +0 -0
@@ -1,6 +1,6 @@
1
1
  import { Core as U } from "../core/app.js";
2
- import { watch as k, computed as I, ref as f, defineComponent as M, openBlock as l, createBlock as m, resolveDynamicComponent as O, normalizeClass as y, unref as i, withCtx as b, renderSlot as v, createElementBlock as d, createCommentVNode as w, mergeModels as z, useModel as D, useSlots as G, onMounted as Q, onUnmounted as H, createElementVNode as S, toDisplayString as R, Fragment as X, createTextVNode as Y, markRaw as Z, createVNode as x, KeepAlive as ee } from "vue";
3
- import { C as $, w as te, x as oe } from "../.chunks/forms-C4-jc5q2.es.js";
2
+ import { watch as k, computed as I, ref as f, defineComponent as M, openBlock as l, createBlock as m, resolveDynamicComponent as O, normalizeClass as w, unref as i, withCtx as b, renderSlot as v, createElementBlock as d, createCommentVNode as y, mergeModels as z, useModel as D, useSlots as G, onMounted as Q, onUnmounted as H, createElementVNode as S, toDisplayString as R, Fragment as X, createTextVNode as Y, markRaw as Z, createVNode as x, KeepAlive as ee } from "vue";
3
+ import { C as $, x as te, e as oe } from "../.chunks/forms-CHyoeELv.es.js";
4
4
  import { getHash as K, genHash as ae, setHash as se, delHash as ne } from "../utils/route.js";
5
5
  import { d as ie, u as re } from "../.chunks/store-CX_6ZXhO.es.js";
6
6
  import { TopPopupListItem as A, TopPopup as le } from "../popup/popup.js";
@@ -71,7 +71,7 @@ const W = Symbol(), de = (t, o) => {
71
71
  };
72
72
  return (n, r) => (l(), m(O(u.value), {
73
73
  target: "_self",
74
- class: y({
74
+ class: w({
75
75
  "top-tabsView_menuItem": !i(e).showMenuInPopup,
76
76
  "top-active": n.name && i(e).activeItemName === n.name,
77
77
  "top-disabled": n.disabled,
@@ -85,7 +85,7 @@ const W = Symbol(), de = (t, o) => {
85
85
  default: b(() => [
86
86
  i(e).showMenuInPopup ? v(n.$slots, "default", { key: 0 }) : n.$slots.default && !i(e).isShort ? (l(), d("span", me, [
87
87
  v(n.$slots, "default")
88
- ])) : w("", !0)
88
+ ])) : y("", !0)
89
89
  ]),
90
90
  _: 3
91
91
  }, 8, ["class", "href", "data-top-icon", "disabled"]));
@@ -167,7 +167,7 @@ const W = Symbol(), de = (t, o) => {
167
167
  }), (c, s) => (l(), d("div", {
168
168
  ref_key: "elRef",
169
169
  ref: h,
170
- class: y({
170
+ class: w({
171
171
  "top-tabsView_menu": !0,
172
172
  "top-tabsView_menu-inPopup_0": !i(e).showMenuInPopup,
173
173
  "top-tabsView_menu-inPopup_1": i(e).showMenuInPopup,
@@ -183,7 +183,7 @@ const W = Symbol(), de = (t, o) => {
183
183
  "data-top-icon": r.value.icon
184
184
  }, [
185
185
  S("span", he, R(r.value.title), 1)
186
- ], 8, _e)) : w("", !0),
186
+ ], 8, _e)) : y("", !0),
187
187
  s[1] || (s[1] = S("div", {
188
188
  class: "top-tabsView_menuOpenerIcon",
189
189
  "data-top-icon": ""
@@ -208,12 +208,12 @@ const W = Symbol(), de = (t, o) => {
208
208
  Y(R(i(e).isShort ? "" : "Свернуть"), 1)
209
209
  ]),
210
210
  _: 1
211
- }, 8, ["icon"])) : w("", !0)
212
- ])) : w("", !0)
211
+ }, 8, ["icon"])) : y("", !0)
212
+ ])) : y("", !0)
213
213
  ], 64))
214
214
  ], 2));
215
215
  }
216
- }), we = /* @__PURE__ */ M({
216
+ }), ye = /* @__PURE__ */ M({
217
217
  __name: "tabsView",
218
218
  props: /* @__PURE__ */ z({
219
219
  modelValue: {},
@@ -235,7 +235,7 @@ const W = Symbol(), de = (t, o) => {
235
235
  return k([p, () => a.component], () => {
236
236
  n.value = J(a.component);
237
237
  }, { immediate: !0 }), (r, _) => (l(), d("div", {
238
- class: y({
238
+ class: w({
239
239
  "top-tabsView": !0,
240
240
  "top-tabsView-pageMod": o.pageMod,
241
241
  "top-tabsView-inPopup": i(a).showMenuInPopup
@@ -252,13 +252,13 @@ const W = Symbol(), de = (t, o) => {
252
252
  _: 3
253
253
  }, 8, ["isShortable", "isLoading"]),
254
254
  S("div", {
255
- class: y({
255
+ class: w({
256
256
  "top-tabsView_contents": !0,
257
257
  "top-tabsView_contents-isLoading": n.value,
258
258
  "top-tabsView_contents-noScrollable": !i(a).scrollable
259
259
  })
260
260
  }, [
261
- n.value ? (l(), m(te, { key: 0 })) : w("", !0),
261
+ n.value ? (l(), m(te, { key: 0 })) : y("", !0),
262
262
  (l(), m(ee, null, [
263
263
  (l(), m(O(i(a).component), {
264
264
  ref_key: "componentRef",
@@ -268,11 +268,11 @@ const W = Symbol(), de = (t, o) => {
268
268
  ], 2)
269
269
  ], 2));
270
270
  }
271
- }), ye = {}, Ie = { class: "top-tabsView_menuDelimeter" };
271
+ }), we = {}, Ie = { class: "top-tabsView_menuDelimeter" };
272
272
  function Me(t, o) {
273
273
  return l(), d("div", Ie);
274
274
  }
275
- const Ve = /* @__PURE__ */ oe(ye, [["render", Me]]), $e = /* @__PURE__ */ M({
275
+ const Ve = /* @__PURE__ */ oe(we, [["render", Me]]), $e = /* @__PURE__ */ M({
276
276
  __name: "menuTitle",
277
277
  props: {
278
278
  isSubtitle: { type: Boolean }
@@ -289,7 +289,7 @@ const Ve = /* @__PURE__ */ oe(ye, [["render", Me]]), $e = /* @__PURE__ */ M({
289
289
  _: 3
290
290
  })) : i(o).isShort ? (l(), m(Ve, { key: 1 })) : (l(), d("div", {
291
291
  key: 2,
292
- class: y({
292
+ class: w({
293
293
  "top-tabsView_menuTitle": !0,
294
294
  "top-tabsView_menuTitle-subtitle": e.isSubtitle
295
295
  })
@@ -297,7 +297,7 @@ const Ve = /* @__PURE__ */ oe(ye, [["render", Me]]), $e = /* @__PURE__ */ M({
297
297
  v(e.$slots, "default")
298
298
  ], 2));
299
299
  }
300
- }), Re = we, Ee = g, Oe = $e;
300
+ }), Re = ye, Ee = g, Oe = $e;
301
301
  export {
302
302
  Re as TopTabsView,
303
303
  Ee as TopTabsViewMenuItem,
@@ -1,2 +1,2 @@
1
- define(["require","exports","./url.amd"],function(b,i,o){"use strict";if(typeof c>"u")var c=window.Vue;const d="ru|com|abbott|ac|ad|ae|aero|af|ag|ai|al|am|an|ao|aq|ar|as|asia|at|au|aw|ax|az|ba|bb|bd|be|bf|bg|bh|bi|biz|bj|bm|bn|bo|boo|br|bs|bt|bv|bw|by|bz|ca|cat|cc|cd|cf|cg|ch|ci|ck|cl|cm|cn|co|coop|cr|cs|gb|cu|cv|cx|cy|cyou|cz|dd|de|dj|dk|dm|do|dz|ec|eco|edu|ee|eg|es|et|eu|fi|fj|fk|fm|fo|fr|ga|gd|ge|gf|gg|gh|gi|gl|gm|gn|gov|gp|gq|gr|gs|gt|gu|gw|gy|hk|hm|hn|hr|ht|hu|icu|id|ie|il|im|in|int|info|io|iq|ir|is|it|je|jm|jo|jobs|jp|ke|kg|kh|ki|km|kn|kp|kr|kw|ky|kz|la|lb|lc|li|live|lk|lr|ls|lt|lu|lv|ly|ma|mc|md|me|mh|mil|mg|mk|ml|mm|mn|mo|mobi|mp|mq|mr|ms|mt|mu|museum|mv|mw|mx|my|mz|na|name|nc|ne|net|ng|ni|nl|no|np|nr|nu|nz|org|pa|pe|pf|pg|ph|pk|pl|pm|pn|pr|pro|ps|pt|pw|py|qa|re|ro|rs|rw|sa|sb|sc|sd|se|sg|sh|si|sj|sk|sl|sm|sn|so|sr|st|su|sv|sx|sy|sz|tc|td|tel|tf|tg|th|tj|tk|tl|tm|tn|to|tp|tr|tt|tv|tw|tz|ua|ug|uk|us|uy|uz|va|vc|ve|vg|vn|vu|wf|ws|ye|yt|za|zm|zw|academy|agency|art|arte|audible|audio|band|bargains|bike|blog|boutique|builders|buzz|cab|camera|camp|cam|careers|center|cheap|clothing|club|codes|coffee|company|computer|condos|construction|contractors|cool|cruises|dance|dating|democrat|diamonds|directory|domains|education|email|enterprises|equipment|estate|events|expert|exposed|farm|flights|florist|foundation|futbol|gallery|gal|gift|glass|graphics|guitars|guru|holdings|holiday|house|immobilien|kitchen|land|lighting|limo|link|maison|management|marketing|menu|men|moe|ninja|partners|photo|photography|photos|pics|plumbing|plus|productions|properties|recipes|rentals|repair|review|reviews|sandvik|sexy|shoes|singles|social|solar|solutions|support|systems|tattoo|technology|tienda|tips|today|training|travel|vacations|ventures|viajes|villas|voyage|watch|works|zone|xxx|ads|associates|booking|business|ceo|ecom|forum|gives|global|gmbh|inc|institute|insure|lifeinsurance|llc|llp|ltd|ltda|mba|new|news|ngo|press|sarl|services|srl|studio|trade|trading|wiki|xin|auction|bid|blackfriday|buy|capital|charity|claims|compare|coupon|coupons|deal|dealer|deals|delivery|discount|exchange|flowers|free|furniture|gifts|gripe|grocery|jewelry|kaufen|lotto|parts|promo|qpon|racing|rsvp|sale|salon|save|seat|shop|shopping|silk|spa|store|supplies|supply|taxi|tickets|tires|tools|toys|watches|college|courses|degree|ged|phd|prof|scholarships|school|schule|science|shiksha|study|translations|university|beer|cafe|catering|cityeats|cooking|diet|food|organic|pet|pizza|pub|rest|restaurant|soy|wine|blue|circle|dot|duck|fast|final|finish|fire|fun|fyi|goo|got|green|here|horse|how|ieee|jot|joy|like|limited|makeup|meme|mint|moi|moto|now|nowruz|ong|onl|ooo|page|pars|pid|pink|play|plus|read|red|reise|reisen|rocks|safe|safety|seek|select|sky|smile|spot|sucks|talk|top|trust|uno|vin|vodka|web|wed|win|winners|wow|wtf|xyz|yamaxun|you|zero|abudhabi|africa|alsace|amsterdam|aquitaine|arab|barcelona|bayern|berlin|boston|broadway|brussels|budapest|bzh|capetown|cologne|corsica|country|cymru|desi|doha|dubai|durban|earth|eus|gent|hamburg|helsinki|international|irish|istanbul|joburg|kiwi|koeln|kyoto|london|madrid|market|melbourne|miami|monster|nagoya|nrw|nyc|okinawa|osaka|paris|persiangulf|place|quebec|rio|roma|ryukyu|saarland|scot|shia|show|stockholm|stream|swiss|sydney|taipei|tatar|thai|tirol|tokyo|vegas|vlaanderen|wales|wanggou|wien|world|yokohama|zuerich|clinic|dental|dentist|docs|doctor|health|healthcare|hiv|hospital|med|medical|pharmacy|physio|rehab|surgery|auto|autos|bio|boats|cars|cleaning|consulting|design|energy|industries|motorcycles|adult|baby|beauty|beknown|best|bet|bingo|bom|cards|community|contact|dad|diy|dog|express|family|fan|fans|fashion|garden|gay|giving|group|guide|hair|halal|hiphop|imamat|jetzt|kid|kids|kim|kinder|latino|lgbt|lifestyle|style|living|love|luxe|luxury|moda|mom|navy|pets|poker|porn|republican|vip|vision|vote|voting|voto|wedding|feedback|film|media|mov|movie|movistar|music|pictures|radio|show|song|theater|theatre|tunes|video|accountant|accountants|analytics|bank|banque|broker|cash|cashbackbonus|cfd|cpa|credit|creditcard|finance|financial|financialaid|fund|gold|gratis|investments|ira|loan|loans|markets|money|mortgage|mutual|mutualfunds|pay|reit|prime|security|yun|abogado|airforce|archi|architect|army|attorney|author|dds|engineer|engineering|esq|law|lawyer|legal|retirement|vet|apartments|casa|case|forsale|haus|homes|lease|property|realestate|realtor|realty|rent|room|baseball|basketball|coach|cricket|fish|fishing|fit|fitness|football|game|games|golf|hockey|juegos|mls|rodeo|rugby|run|ski|soccer|sport|sports|spreadbetting|surf|team|tennis|yoga|app|box|chat|click|cloud|comsec|bot|data|date|dev|digital|download|drive|call|fail|help|host|hosting|map|mobile|network|online|original-tor|phone|report|search|secure|site|software|space|storage|tube|webcam|webs|website|weibo|zip|active|casino|christmas|hangout|hoteis|hotel|hoteles|hotels|meet|party|tech|tour|tours|bible|church|catholic|faith|indians|islam|ismaili|memorial|moscow|actor|bar|black|build|care|city|direct|immo|ink|life|tax|town|work|one|insure|saxo|sex|shell|weber|yandex|rip|car|ist|lat|lol|bond|om|skin|day|quest|wang|sbs|dhl|ing|yachts|gdn",l="рф|дети|онлайн|сайт|укр|католик|ком|москва|орг|рус|бел|бг|ישראל";let s="";const u=()=>s||(s=l.split("|").map(e=>o.toPuny(e)).join("|"),s),t=()=>{const e=`(?:${d})`,a=`(?:${u()})`;return`(?:[a-z0-9](?:[a-z0-9-]*[a-z0-9])?\\.)+(?:${e}|${a})\\/?`},m=(e,a=!1)=>{e+="",e=e.toLowerCase();let r="^[-0-9a-z_\\.\\+]+@([-0-9a-z_^\\.]+\\.)+[a-z]{2,20}$";return a&&(r="^[-0-9a-zа-яё_\\.\\+]+@([-0-9a-zа-яё_^\\.]+\\.)+[a-zа-яё]{2,20}$"),new RegExp(r).test(e)},g=e=>{if(e=e.trim(),e.includes(" "))return!1;const a=e.replace(/^(https?:\/\/)?(www\.)?([^/]+).*/,"$3");return n(a)},n=e=>(e=o.toPuny(e),new RegExp(`^${t()}$`).test(e)),p=e=>new RegExp("((^\\s*((([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\\.){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5]))\\s*$)|(^\\s*((([0-9A-Fa-f]{1,4}:){7}([0-9A-Fa-f]{1,4}|:))|(([0-9A-Fa-f]{1,4}:){6}(:[0-9A-Fa-f]{1,4}|((25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]?\\d)(\\.(25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]?\\d)){3})|:))|(([0-9A-Fa-f]{1,4}:){5}(((:[0-9A-Fa-f]{1,4}){1,2})|:((25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]?\\d)(\\.(25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]?\\d)){3})|:))|(([0-9A-Fa-f]{1,4}:){4}(((:[0-9A-Fa-f]{1,4}){1,3})|((:[0-9A-Fa-f]{1,4})?:((25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]?\\d)(\\.(25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]?\\d)){3}))|:))|(([0-9A-Fa-f]{1,4}:){3}(((:[0-9A-Fa-f]{1,4}){1,4})|((:[0-9A-Fa-f]{1,4}){0,2}:((25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]?\\d)(\\.(25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]?\\d)){3}))|:))|(([0-9A-Fa-f]{1,4}:){2}(((:[0-9A-Fa-f]{1,4}){1,5})|((:[0-9A-Fa-f]{1,4}){0,3}:((25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]?\\d)(\\.(25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]?\\d)){3}))|:))|(([0-9A-Fa-f]{1,4}:)(((:[0-9A-Fa-f]{1,4}){1,6})|((:[0-9A-Fa-f]{1,4}){0,4}:((25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]?\\d)(\\.(25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]?\\d)){3}))|:))|(:(((:[0-9A-Fa-f]{1,4}){1,7})|((:[0-9A-Fa-f]{1,4}){0,5}:((25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]?\\d)(\\.(25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]?\\d)){3}))|:)))(%.+)?\\s*$))").test(e);i.getDomainRegexp=t,i.isDomain=n,i.isEmail=m,i.isIp=p,i.validUrl=g,Object.defineProperty(i,Symbol.toStringTag,{value:"Module"})});
1
+ define(["require","exports","./url.amd"],function(b,i,t){"use strict";if(typeof d>"u")var d=window.Vue;const l="ru|com|abbott|ac|ad|ae|aero|af|ag|ai|al|am|an|ao|aq|ar|as|asia|at|au|aw|ax|az|ba|bb|bd|be|bf|bg|bh|bi|biz|bj|bm|bn|bo|boo|br|bs|bt|bv|bw|by|bz|ca|cat|cc|cd|cf|cg|ch|ci|ck|cl|cm|cn|co|coop|cr|cs|gb|cu|cv|cx|cy|cyou|cz|dd|de|dj|dk|dm|do|dz|ec|eco|edu|ee|eg|es|et|eu|fi|fj|fk|fm|fo|fr|ga|gd|ge|gf|gg|gh|gi|gl|gm|gn|gov|gp|gq|gr|gs|gt|gu|gw|gy|hk|hm|hn|hr|ht|hu|icu|id|ie|il|im|in|int|info|io|iq|ir|is|it|je|jm|jo|jobs|jp|ke|kg|kh|ki|km|kn|kp|kr|kw|ky|kz|la|lb|lc|li|live|lk|lr|ls|lt|lu|lv|ly|ma|mc|md|me|mh|mil|mg|mk|ml|mm|mn|mo|mobi|mp|mq|mr|ms|mt|mu|museum|mv|mw|mx|my|mz|na|name|nc|ne|net|ng|ni|nl|no|np|nr|nu|nz|org|pa|pe|pf|pg|ph|pk|pl|pm|pn|pr|pro|ps|pt|pw|py|qa|re|ro|rs|rw|sa|sb|sc|sd|se|sg|sh|si|sj|sk|sl|sm|sn|so|sr|st|su|sv|sx|sy|sz|tc|td|tel|tf|tg|th|tj|tk|tl|tm|tn|to|tp|tr|tt|tv|tw|tz|ua|ug|uk|us|uy|uz|va|vc|ve|vg|vn|vu|wf|ws|ye|yt|za|zm|zw|academy|agency|art|arte|audible|audio|band|bargains|bike|blog|boutique|builders|buzz|cab|camera|camp|cam|careers|center|cheap|clothing|club|codes|coffee|company|computer|condos|construction|contractors|cool|cruises|dance|dating|democrat|diamonds|directory|domains|education|email|enterprises|equipment|estate|events|expert|exposed|farm|flights|florist|foundation|futbol|gallery|gal|gift|glass|graphics|guitars|guru|holdings|holiday|house|immobilien|kitchen|land|lighting|limo|link|maison|management|marketing|menu|men|moe|ninja|partners|photo|photography|photos|pics|plumbing|plus|productions|properties|recipes|rentals|repair|review|reviews|sandvik|sexy|shoes|singles|social|solar|solutions|support|systems|tattoo|technology|tienda|tips|today|training|travel|vacations|ventures|viajes|villas|voyage|watch|works|zone|xxx|ads|associates|booking|business|ceo|ecom|forum|gives|global|gmbh|inc|institute|insure|lifeinsurance|llc|llp|ltd|ltda|mba|new|news|ngo|press|sarl|services|srl|studio|trade|trading|wiki|xin|auction|bid|blackfriday|buy|capital|charity|claims|compare|coupon|coupons|deal|dealer|deals|delivery|discount|exchange|flowers|free|furniture|gifts|gripe|grocery|jewelry|kaufen|lotto|parts|promo|qpon|racing|rsvp|sale|salon|save|seat|shop|shopping|silk|spa|store|supplies|supply|taxi|tickets|tires|tools|toys|watches|college|courses|degree|ged|phd|prof|scholarships|school|schule|science|shiksha|study|translations|university|beer|cafe|catering|cityeats|cooking|diet|food|organic|pet|pizza|pub|rest|restaurant|soy|wine|blue|circle|dot|duck|fast|final|finish|fire|fun|fyi|goo|got|green|here|horse|how|ieee|jot|joy|like|limited|makeup|meme|mint|moi|moto|now|nowruz|ong|onl|ooo|page|pars|pid|pink|play|plus|read|red|reise|reisen|rocks|safe|safety|seek|select|sky|smile|spot|sucks|talk|top|trust|uno|vin|vodka|web|wed|win|winners|wow|wtf|xyz|yamaxun|you|zero|abudhabi|africa|alsace|amsterdam|aquitaine|arab|barcelona|bayern|berlin|boston|broadway|brussels|budapest|bzh|capetown|cologne|corsica|country|cymru|desi|doha|dubai|durban|earth|eus|gent|hamburg|helsinki|international|irish|istanbul|joburg|kiwi|koeln|kyoto|london|madrid|market|melbourne|miami|monster|nagoya|nrw|nyc|okinawa|osaka|paris|persiangulf|place|quebec|rio|roma|ryukyu|saarland|scot|shia|show|stockholm|stream|swiss|sydney|taipei|tatar|thai|tirol|tokyo|vegas|vlaanderen|wales|wanggou|wien|world|yokohama|zuerich|clinic|dental|dentist|docs|doctor|health|healthcare|hiv|hospital|med|medical|pharmacy|physio|rehab|surgery|auto|autos|bio|boats|cars|cleaning|consulting|design|energy|industries|motorcycles|adult|baby|beauty|beknown|best|bet|bingo|bom|cards|community|contact|dad|diy|dog|express|family|fan|fans|fashion|garden|gay|giving|group|guide|hair|halal|hiphop|imamat|jetzt|kid|kids|kim|kinder|latino|lgbt|lifestyle|style|living|love|luxe|luxury|moda|mom|navy|pets|poker|porn|republican|vip|vision|vote|voting|voto|wedding|feedback|film|media|mov|movie|movistar|music|pictures|radio|show|song|theater|theatre|tunes|video|accountant|accountants|analytics|bank|banque|broker|cash|cashbackbonus|cfd|cpa|credit|creditcard|finance|financial|financialaid|fund|gold|gratis|investments|ira|loan|loans|markets|money|mortgage|mutual|mutualfunds|pay|reit|prime|security|yun|abogado|airforce|archi|architect|army|attorney|author|dds|engineer|engineering|esq|law|lawyer|legal|retirement|vet|apartments|casa|case|forsale|haus|homes|lease|property|realestate|realtor|realty|rent|room|baseball|basketball|coach|cricket|fish|fishing|fit|fitness|football|game|games|golf|hockey|juegos|mls|rodeo|rugby|run|ski|soccer|sport|sports|spreadbetting|surf|team|tennis|yoga|app|box|chat|click|cloud|comsec|bot|data|date|dev|digital|download|drive|call|fail|help|host|hosting|map|mobile|network|online|original-tor|phone|report|search|secure|site|software|space|storage|tube|webcam|webs|website|weibo|zip|active|casino|christmas|hangout|hoteis|hotel|hoteles|hotels|meet|party|tech|tour|tours|bible|church|catholic|faith|indians|islam|ismaili|memorial|moscow|actor|bar|black|build|care|city|direct|immo|ink|life|tax|town|work|one|insure|saxo|sex|shell|weber|yandex|rip|car|ist|lat|lol|bond|om|skin|day|quest|wang|sbs|dhl|ing|yachts|gdn",u="рф|дети|онлайн|сайт|укр|католик|ком|москва|орг|рус|бел|бг|ישראל";let o="";const m=()=>o||(o=u.split("|").map(e=>t.toPuny(e)).join("|"),o),n=()=>{const e=`(?:${l})`,a=`(?:${m()})`;return`(?:[a-z0-9](?:[a-z0-9-]*[a-z0-9])?\\.)+(?:${e}|${a})\\/?`},g=(e,a=!1)=>{e+="",e=e.toLowerCase();let s="^[-0-9a-z_\\.\\+]+@([-0-9a-z_^\\.]+\\.)+[a-z]{2,20}$";return a&&(s="^[-0-9a-zа-яё_\\.\\+]+@([-0-9a-zа-яё_^\\.]+\\.)+[a-zа-яё]{2,20}$"),new RegExp(s).test(e)},p=(e,a=!1)=>{if(e=e.trim(),e.includes(" "))return!1;const s=e.replace(/^(https?:\/\/)?(www\.)?([^/]+).*/,"$3");return a&&c(s)?!0:r(s)},r=e=>(e=t.toPuny(e),new RegExp(`^${n()}$`).test(e)),c=e=>new RegExp("((^\\s*((([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\\.){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5]))\\s*$)|(^\\s*((([0-9A-Fa-f]{1,4}:){7}([0-9A-Fa-f]{1,4}|:))|(([0-9A-Fa-f]{1,4}:){6}(:[0-9A-Fa-f]{1,4}|((25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]?\\d)(\\.(25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]?\\d)){3})|:))|(([0-9A-Fa-f]{1,4}:){5}(((:[0-9A-Fa-f]{1,4}){1,2})|:((25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]?\\d)(\\.(25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]?\\d)){3})|:))|(([0-9A-Fa-f]{1,4}:){4}(((:[0-9A-Fa-f]{1,4}){1,3})|((:[0-9A-Fa-f]{1,4})?:((25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]?\\d)(\\.(25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]?\\d)){3}))|:))|(([0-9A-Fa-f]{1,4}:){3}(((:[0-9A-Fa-f]{1,4}){1,4})|((:[0-9A-Fa-f]{1,4}){0,2}:((25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]?\\d)(\\.(25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]?\\d)){3}))|:))|(([0-9A-Fa-f]{1,4}:){2}(((:[0-9A-Fa-f]{1,4}){1,5})|((:[0-9A-Fa-f]{1,4}){0,3}:((25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]?\\d)(\\.(25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]?\\d)){3}))|:))|(([0-9A-Fa-f]{1,4}:)(((:[0-9A-Fa-f]{1,4}){1,6})|((:[0-9A-Fa-f]{1,4}){0,4}:((25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]?\\d)(\\.(25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]?\\d)){3}))|:))|(:(((:[0-9A-Fa-f]{1,4}){1,7})|((:[0-9A-Fa-f]{1,4}){0,5}:((25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]?\\d)(\\.(25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]?\\d)){3}))|:)))(%.+)?\\s*$))").test(e);i.getDomainRegexp=n,i.isDomain=r,i.isEmail=g,i.isIp=c,i.validUrl=p,Object.defineProperty(i,Symbol.toStringTag,{value:"Module"})});
2
2
  //# sourceMappingURL=check.amd.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"check.amd.js","sources":["../../src/core/utils/check.ts"],"sourcesContent":["/**\r\n * Функции для проверки данных\r\n * @packageDocumentation\r\n */\r\n\r\nimport { toPuny } from '@/core/utils/url';\r\n\r\nconst domainASCII: string = 'ru|com|abbott|ac|ad|ae|aero|af|ag|ai|al|am|an|ao|aq|ar|as|asia|at|au|aw|ax|az|ba|bb|bd|be|bf|bg|bh|bi|biz|bj|bm|bn|bo|boo|br|bs|bt|bv|bw|by|bz|ca|cat|cc|cd|cf|cg|ch|ci|ck|cl|cm|cn|co|coop|cr|cs|gb|cu|cv|cx|cy|cyou|cz|dd|de|dj|dk|dm|do|dz|ec|eco|edu|ee|eg|es|et|eu|fi|fj|fk|fm|fo|fr|ga|gd|ge|gf|gg|gh|gi|gl|gm|gn|gov|gp|gq|gr|gs|gt|gu|gw|gy|hk|hm|hn|hr|ht|hu|icu|id|ie|il|im|in|int|info|io|iq|ir|is|it|je|jm|jo|jobs|jp|ke|kg|kh|ki|km|kn|kp|kr|kw|ky|kz|la|lb|lc|li|live|lk|lr|ls|lt|lu|lv|ly|ma|mc|md|me|mh|mil|mg|mk|ml|mm|mn|mo|mobi|mp|mq|mr|ms|mt|mu|museum|mv|mw|mx|my|mz|na|name|nc|ne|net|ng|ni|nl|no|np|nr|nu|nz|org|pa|pe|pf|pg|ph|pk|pl|pm|pn|pr|pro|ps|pt|pw|py|qa|re|ro|rs|rw|sa|sb|sc|sd|se|sg|sh|si|sj|sk|sl|sm|sn|so|sr|st|su|sv|sx|sy|sz|tc|td|tel|tf|tg|th|tj|tk|tl|tm|tn|to|tp|tr|tt|tv|tw|tz|ua|ug|uk|us|uy|uz|va|vc|ve|vg|vn|vu|wf|ws|ye|yt|za|zm|zw|academy|agency|art|arte|audible|audio|band|bargains|bike|blog|boutique|builders|buzz|cab|camera|camp|cam|careers|center|cheap|clothing|club|codes|coffee|company|computer|condos|construction|contractors|cool|cruises|dance|dating|democrat|diamonds|directory|domains|education|email|enterprises|equipment|estate|events|expert|exposed|farm|flights|florist|foundation|futbol|gallery|gal|gift|glass|graphics|guitars|guru|holdings|holiday|house|immobilien|kitchen|land|lighting|limo|link|maison|management|marketing|menu|men|moe|ninja|partners|photo|photography|photos|pics|plumbing|plus|productions|properties|recipes|rentals|repair|review|reviews|sandvik|sexy|shoes|singles|social|solar|solutions|support|systems|tattoo|technology|tienda|tips|today|training|travel|vacations|ventures|viajes|villas|voyage|watch|works|zone|xxx|ads|associates|booking|business|ceo|ecom|forum|gives|global|gmbh|inc|institute|insure|lifeinsurance|llc|llp|ltd|ltda|mba|new|news|ngo|press|sarl|services|srl|studio|trade|trading|wiki|xin|auction|bid|blackfriday|buy|capital|charity|claims|compare|coupon|coupons|deal|dealer|deals|delivery|discount|exchange|flowers|free|furniture|gifts|gripe|grocery|jewelry|kaufen|lotto|parts|promo|qpon|racing|rsvp|sale|salon|save|seat|shop|shopping|silk|spa|store|supplies|supply|taxi|tickets|tires|tools|toys|watches|college|courses|degree|ged|phd|prof|scholarships|school|schule|science|shiksha|study|translations|university|beer|cafe|catering|cityeats|cooking|diet|food|organic|pet|pizza|pub|rest|restaurant|soy|wine|blue|circle|dot|duck|fast|final|finish|fire|fun|fyi|goo|got|green|here|horse|how|ieee|jot|joy|like|limited|makeup|meme|mint|moi|moto|now|nowruz|ong|onl|ooo|page|pars|pid|pink|play|plus|read|red|reise|reisen|rocks|safe|safety|seek|select|sky|smile|spot|sucks|talk|top|trust|uno|vin|vodka|web|wed|win|winners|wow|wtf|xyz|yamaxun|you|zero|abudhabi|africa|alsace|amsterdam|aquitaine|arab|barcelona|bayern|berlin|boston|broadway|brussels|budapest|bzh|capetown|cologne|corsica|country|cymru|desi|doha|dubai|durban|earth|eus|gent|hamburg|helsinki|international|irish|istanbul|joburg|kiwi|koeln|kyoto|london|madrid|market|melbourne|miami|monster|nagoya|nrw|nyc|okinawa|osaka|paris|persiangulf|place|quebec|rio|roma|ryukyu|saarland|scot|shia|show|stockholm|stream|swiss|sydney|taipei|tatar|thai|tirol|tokyo|vegas|vlaanderen|wales|wanggou|wien|world|yokohama|zuerich|clinic|dental|dentist|docs|doctor|health|healthcare|hiv|hospital|med|medical|pharmacy|physio|rehab|surgery|auto|autos|bio|boats|cars|cleaning|consulting|design|energy|industries|motorcycles|adult|baby|beauty|beknown|best|bet|bingo|bom|cards|community|contact|dad|diy|dog|express|family|fan|fans|fashion|garden|gay|giving|group|guide|hair|halal|hiphop|imamat|jetzt|kid|kids|kim|kinder|latino|lgbt|lifestyle|style|living|love|luxe|luxury|moda|mom|navy|pets|poker|porn|republican|vip|vision|vote|voting|voto|wedding|feedback|film|media|mov|movie|movistar|music|pictures|radio|show|song|theater|theatre|tunes|video|accountant|accountants|analytics|bank|banque|broker|cash|cashbackbonus|cfd|cpa|credit|creditcard|finance|financial|financialaid|fund|gold|gratis|investments|ira|loan|loans|markets|money|mortgage|mutual|mutualfunds|pay|reit|prime|security|yun|abogado|airforce|archi|architect|army|attorney|author|dds|engineer|engineering|esq|law|lawyer|legal|retirement|vet|apartments|casa|case|forsale|haus|homes|lease|property|realestate|realtor|realty|rent|room|baseball|basketball|coach|cricket|fish|fishing|fit|fitness|football|game|games|golf|hockey|juegos|mls|rodeo|rugby|run|ski|soccer|sport|sports|spreadbetting|surf|team|tennis|yoga|app|box|chat|click|cloud|comsec|bot|data|date|dev|digital|download|drive|call|fail|help|host|hosting|map|mobile|network|online|original-tor|phone|report|search|secure|site|software|space|storage|tube|webcam|webs|website|weibo|zip|active|casino|christmas|hangout|hoteis|hotel|hoteles|hotels|meet|party|tech|tour|tours|bible|church|catholic|faith|indians|islam|ismaili|memorial|moscow|actor|bar|black|build|care|city|direct|immo|ink|life|tax|town|work|one|insure|saxo|sex|shell|weber|yandex|rip|car|ist|lat|lol|bond|om|skin|day|quest|wang|sbs|dhl|ing|yachts|gdn';\r\nconst domainUnicode: string = 'рф|дети|онлайн|сайт|укр|католик|ком|москва|орг|рус|бел|бг|ישראל';\r\nlet punyDomainUnicode = '';\r\n\r\n/**\r\n * Получить строку национализированных доменов верхнего уровня в ASCII формате\r\n */\r\nconst getPunyDomainUnicode = (): string => {\r\n\tif (punyDomainUnicode) return punyDomainUnicode;\r\n\r\n\tpunyDomainUnicode = domainUnicode.split('|').map(domain => toPuny(domain)).join('|');\r\n\r\n\treturn punyDomainUnicode;\r\n};\r\n\r\n/**\r\n * Получить строку с регулярным выражение для домена\r\n */\r\nexport const getDomainRegexp = (): string => {\r\n\tconst regexpASCII = `(?:${domainASCII})`;\r\n\tconst regexpUnicode = `(?:${getPunyDomainUnicode()})`;\r\n\r\n\treturn `(?:[a-z0-9](?:[a-z0-9-]*[a-z0-9])?\\\\.)+(?:${regexpASCII}|${regexpUnicode})\\\\/?`;\r\n};\r\n\r\n/**\r\n * Проверка валидности email\r\n * @param email\r\n * @param rus_allow - если true, русскоязычные адреса тоже будут валидны\r\n */\r\nexport const isEmail = (email: string, rus_allow: boolean = false): boolean => {\r\n\temail += '';\r\n\r\n\temail = email.toLowerCase();\r\n\r\n\tlet emailTest = '^[-0-9a-z_\\\\.\\\\+]+@([-0-9a-z_^\\\\.]+\\\\.)+[a-z]{2,20}$';\r\n\r\n\tif (rus_allow) {\r\n\t\temailTest = '^[-0-9a-zа-яё_\\\\.\\\\+]+@([-0-9a-zа-яё_^\\\\.]+\\\\.)+[a-zа-яё]{2,20}$';\r\n\t}\r\n\r\n\tconst regex = new RegExp(emailTest);\r\n\treturn regex.test(email);\r\n};\r\n\r\n/**\r\n * Проверка валидности URL-адреса\r\n */\r\nexport const validUrl = (url: string): boolean => {\r\n\turl = url.trim();\r\n\tif (url.includes(' ')) {\r\n\t\treturn false;\r\n\t}\r\n\r\n\tconst domain = url.replace(/^(https?:\\/\\/)?(www\\.)?([^/]+).*/, '$3');\r\n\r\n\treturn isDomain(domain);\r\n};\r\n\r\n/**\r\n * Проверка валидности домена\r\n */\r\nexport const isDomain = (domain: string): boolean => {\r\n\tdomain = toPuny(domain);\r\n\r\n\tconst regexp = new RegExp(`^${getDomainRegexp()}$`);\r\n\r\n\treturn regexp.test(domain);\r\n};\r\n\r\n/**\r\n * Проверка валидности ip\r\n */\r\nexport const isIp = (ip: string): boolean => {\r\n\tconst regexp = new RegExp(\r\n\t\t'((^\\\\s*((([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\\\\.){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5]))\\\\s*$)|(^\\\\s*((([0-9A-Fa-f]{1,4}:){7}([0-9A-Fa-f]{1,4}|:))|(([0-9A-Fa-f]{1,4}:){6}(:[0-9A-Fa-f]{1,4}|((25[0-5]|2[0-4]\\\\d|1\\\\d\\\\d|[1-9]?\\\\d)(\\\\.(25[0-5]|2[0-4]\\\\d|1\\\\d\\\\d|[1-9]?\\\\d)){3})|:))|(([0-9A-Fa-f]{1,4}:){5}(((:[0-9A-Fa-f]{1,4}){1,2})|:((25[0-5]|2[0-4]\\\\d|1\\\\d\\\\d|[1-9]?\\\\d)(\\\\.(25[0-5]|2[0-4]\\\\d|1\\\\d\\\\d|[1-9]?\\\\d)){3})|:))|(([0-9A-Fa-f]{1,4}:){4}(((:[0-9A-Fa-f]{1,4}){1,3})|((:[0-9A-Fa-f]{1,4})?:((25[0-5]|2[0-4]\\\\d|1\\\\d\\\\d|[1-9]?\\\\d)(\\\\.(25[0-5]|2[0-4]\\\\d|1\\\\d\\\\d|[1-9]?\\\\d)){3}))|:))|(([0-9A-Fa-f]{1,4}:){3}(((:[0-9A-Fa-f]{1,4}){1,4})|((:[0-9A-Fa-f]{1,4}){0,2}:((25[0-5]|2[0-4]\\\\d|1\\\\d\\\\d|[1-9]?\\\\d)(\\\\.(25[0-5]|2[0-4]\\\\d|1\\\\d\\\\d|[1-9]?\\\\d)){3}))|:))|(([0-9A-Fa-f]{1,4}:){2}(((:[0-9A-Fa-f]{1,4}){1,5})|((:[0-9A-Fa-f]{1,4}){0,3}:((25[0-5]|2[0-4]\\\\d|1\\\\d\\\\d|[1-9]?\\\\d)(\\\\.(25[0-5]|2[0-4]\\\\d|1\\\\d\\\\d|[1-9]?\\\\d)){3}))|:))|(([0-9A-Fa-f]{1,4}:)(((:[0-9A-Fa-f]{1,4}){1,6})|((:[0-9A-Fa-f]{1,4}){0,4}:((25[0-5]|2[0-4]\\\\d|1\\\\d\\\\d|[1-9]?\\\\d)(\\\\.(25[0-5]|2[0-4]\\\\d|1\\\\d\\\\d|[1-9]?\\\\d)){3}))|:))|(:(((:[0-9A-Fa-f]{1,4}){1,7})|((:[0-9A-Fa-f]{1,4}){0,5}:((25[0-5]|2[0-4]\\\\d|1\\\\d\\\\d|[1-9]?\\\\d)(\\\\.(25[0-5]|2[0-4]\\\\d|1\\\\d\\\\d|[1-9]?\\\\d)){3}))|:)))(%.+)?\\\\s*$))');\r\n\r\n\treturn regexp.test(ip);\r\n};\r\n"],"names":["punyDomainUnicode","getDomainRegexp","regexpASCII","regexpUnicode","isEmail","email","rus_allow","emailTest","validUrl","url","isDomain","domain","utils_url","isIp","ip"],"mappings":"onKAeCA,oDAUMC,EAAA,IAAA,mCAIN,MAAA,6CAAAC,CAAA,IAAAC,CAAA,SAQMC,EAAA,CAAAC,EAAAC,EAAA,KAAA,OAGND,EAAAA,EAAA,YAAA,EAEA,IAAAE,EAAA,sJAOA,KAAAF,CAAA,GAMYG,EAAAC,GAAA,CAEZ,GADAA,EAAAA,EAAA,KAAA,EACAA,EAAA,SAAA,GAAA,sEAMA,OAAAC,EAAAC,CAAA,GAMYD,EAAAC,IACZA,EAAAC,EAAA,OAAAD,CAAA,EAEA,IAAA,OAAA,IAAAV,EAAA,CAAA,GAAA,EAEA,KAAAU,CAAA,GAMYE,EAAAC,GACZ,IAAA,OAAmB,kvCAClB,EAED,KAAAA,CAAA"}
1
+ {"version":3,"file":"check.amd.js","sources":["../../src/core/utils/check.ts"],"sourcesContent":["/**\r\n * Функции для проверки данных\r\n * @packageDocumentation\r\n */\r\n\r\nimport { toPuny } from '@/core/utils/url';\r\n\r\nconst domainASCII: string = 'ru|com|abbott|ac|ad|ae|aero|af|ag|ai|al|am|an|ao|aq|ar|as|asia|at|au|aw|ax|az|ba|bb|bd|be|bf|bg|bh|bi|biz|bj|bm|bn|bo|boo|br|bs|bt|bv|bw|by|bz|ca|cat|cc|cd|cf|cg|ch|ci|ck|cl|cm|cn|co|coop|cr|cs|gb|cu|cv|cx|cy|cyou|cz|dd|de|dj|dk|dm|do|dz|ec|eco|edu|ee|eg|es|et|eu|fi|fj|fk|fm|fo|fr|ga|gd|ge|gf|gg|gh|gi|gl|gm|gn|gov|gp|gq|gr|gs|gt|gu|gw|gy|hk|hm|hn|hr|ht|hu|icu|id|ie|il|im|in|int|info|io|iq|ir|is|it|je|jm|jo|jobs|jp|ke|kg|kh|ki|km|kn|kp|kr|kw|ky|kz|la|lb|lc|li|live|lk|lr|ls|lt|lu|lv|ly|ma|mc|md|me|mh|mil|mg|mk|ml|mm|mn|mo|mobi|mp|mq|mr|ms|mt|mu|museum|mv|mw|mx|my|mz|na|name|nc|ne|net|ng|ni|nl|no|np|nr|nu|nz|org|pa|pe|pf|pg|ph|pk|pl|pm|pn|pr|pro|ps|pt|pw|py|qa|re|ro|rs|rw|sa|sb|sc|sd|se|sg|sh|si|sj|sk|sl|sm|sn|so|sr|st|su|sv|sx|sy|sz|tc|td|tel|tf|tg|th|tj|tk|tl|tm|tn|to|tp|tr|tt|tv|tw|tz|ua|ug|uk|us|uy|uz|va|vc|ve|vg|vn|vu|wf|ws|ye|yt|za|zm|zw|academy|agency|art|arte|audible|audio|band|bargains|bike|blog|boutique|builders|buzz|cab|camera|camp|cam|careers|center|cheap|clothing|club|codes|coffee|company|computer|condos|construction|contractors|cool|cruises|dance|dating|democrat|diamonds|directory|domains|education|email|enterprises|equipment|estate|events|expert|exposed|farm|flights|florist|foundation|futbol|gallery|gal|gift|glass|graphics|guitars|guru|holdings|holiday|house|immobilien|kitchen|land|lighting|limo|link|maison|management|marketing|menu|men|moe|ninja|partners|photo|photography|photos|pics|plumbing|plus|productions|properties|recipes|rentals|repair|review|reviews|sandvik|sexy|shoes|singles|social|solar|solutions|support|systems|tattoo|technology|tienda|tips|today|training|travel|vacations|ventures|viajes|villas|voyage|watch|works|zone|xxx|ads|associates|booking|business|ceo|ecom|forum|gives|global|gmbh|inc|institute|insure|lifeinsurance|llc|llp|ltd|ltda|mba|new|news|ngo|press|sarl|services|srl|studio|trade|trading|wiki|xin|auction|bid|blackfriday|buy|capital|charity|claims|compare|coupon|coupons|deal|dealer|deals|delivery|discount|exchange|flowers|free|furniture|gifts|gripe|grocery|jewelry|kaufen|lotto|parts|promo|qpon|racing|rsvp|sale|salon|save|seat|shop|shopping|silk|spa|store|supplies|supply|taxi|tickets|tires|tools|toys|watches|college|courses|degree|ged|phd|prof|scholarships|school|schule|science|shiksha|study|translations|university|beer|cafe|catering|cityeats|cooking|diet|food|organic|pet|pizza|pub|rest|restaurant|soy|wine|blue|circle|dot|duck|fast|final|finish|fire|fun|fyi|goo|got|green|here|horse|how|ieee|jot|joy|like|limited|makeup|meme|mint|moi|moto|now|nowruz|ong|onl|ooo|page|pars|pid|pink|play|plus|read|red|reise|reisen|rocks|safe|safety|seek|select|sky|smile|spot|sucks|talk|top|trust|uno|vin|vodka|web|wed|win|winners|wow|wtf|xyz|yamaxun|you|zero|abudhabi|africa|alsace|amsterdam|aquitaine|arab|barcelona|bayern|berlin|boston|broadway|brussels|budapest|bzh|capetown|cologne|corsica|country|cymru|desi|doha|dubai|durban|earth|eus|gent|hamburg|helsinki|international|irish|istanbul|joburg|kiwi|koeln|kyoto|london|madrid|market|melbourne|miami|monster|nagoya|nrw|nyc|okinawa|osaka|paris|persiangulf|place|quebec|rio|roma|ryukyu|saarland|scot|shia|show|stockholm|stream|swiss|sydney|taipei|tatar|thai|tirol|tokyo|vegas|vlaanderen|wales|wanggou|wien|world|yokohama|zuerich|clinic|dental|dentist|docs|doctor|health|healthcare|hiv|hospital|med|medical|pharmacy|physio|rehab|surgery|auto|autos|bio|boats|cars|cleaning|consulting|design|energy|industries|motorcycles|adult|baby|beauty|beknown|best|bet|bingo|bom|cards|community|contact|dad|diy|dog|express|family|fan|fans|fashion|garden|gay|giving|group|guide|hair|halal|hiphop|imamat|jetzt|kid|kids|kim|kinder|latino|lgbt|lifestyle|style|living|love|luxe|luxury|moda|mom|navy|pets|poker|porn|republican|vip|vision|vote|voting|voto|wedding|feedback|film|media|mov|movie|movistar|music|pictures|radio|show|song|theater|theatre|tunes|video|accountant|accountants|analytics|bank|banque|broker|cash|cashbackbonus|cfd|cpa|credit|creditcard|finance|financial|financialaid|fund|gold|gratis|investments|ira|loan|loans|markets|money|mortgage|mutual|mutualfunds|pay|reit|prime|security|yun|abogado|airforce|archi|architect|army|attorney|author|dds|engineer|engineering|esq|law|lawyer|legal|retirement|vet|apartments|casa|case|forsale|haus|homes|lease|property|realestate|realtor|realty|rent|room|baseball|basketball|coach|cricket|fish|fishing|fit|fitness|football|game|games|golf|hockey|juegos|mls|rodeo|rugby|run|ski|soccer|sport|sports|spreadbetting|surf|team|tennis|yoga|app|box|chat|click|cloud|comsec|bot|data|date|dev|digital|download|drive|call|fail|help|host|hosting|map|mobile|network|online|original-tor|phone|report|search|secure|site|software|space|storage|tube|webcam|webs|website|weibo|zip|active|casino|christmas|hangout|hoteis|hotel|hoteles|hotels|meet|party|tech|tour|tours|bible|church|catholic|faith|indians|islam|ismaili|memorial|moscow|actor|bar|black|build|care|city|direct|immo|ink|life|tax|town|work|one|insure|saxo|sex|shell|weber|yandex|rip|car|ist|lat|lol|bond|om|skin|day|quest|wang|sbs|dhl|ing|yachts|gdn';\r\nconst domainUnicode: string = 'рф|дети|онлайн|сайт|укр|католик|ком|москва|орг|рус|бел|бг|ישראל';\r\nlet punyDomainUnicode = '';\r\n\r\n/**\r\n * Получить строку национализированных доменов верхнего уровня в ASCII формате\r\n */\r\nconst getPunyDomainUnicode = (): string => {\r\n\tif (punyDomainUnicode) return punyDomainUnicode;\r\n\r\n\tpunyDomainUnicode = domainUnicode.split('|').map(domain => toPuny(domain)).join('|');\r\n\r\n\treturn punyDomainUnicode;\r\n};\r\n\r\n/**\r\n * Получить строку с регулярным выражение для домена\r\n */\r\nexport const getDomainRegexp = (): string => {\r\n\tconst regexpASCII = `(?:${domainASCII})`;\r\n\tconst regexpUnicode = `(?:${getPunyDomainUnicode()})`;\r\n\r\n\treturn `(?:[a-z0-9](?:[a-z0-9-]*[a-z0-9])?\\\\.)+(?:${regexpASCII}|${regexpUnicode})\\\\/?`;\r\n};\r\n\r\n/**\r\n * Проверка валидности email\r\n * @param email\r\n * @param rus_allow - если true, русскоязычные адреса тоже будут валидны\r\n */\r\nexport const isEmail = (email: string, rus_allow: boolean = false): boolean => {\r\n\temail += '';\r\n\r\n\temail = email.toLowerCase();\r\n\r\n\tlet emailTest = '^[-0-9a-z_\\\\.\\\\+]+@([-0-9a-z_^\\\\.]+\\\\.)+[a-z]{2,20}$';\r\n\r\n\tif (rus_allow) {\r\n\t\temailTest = '^[-0-9a-zа-яё_\\\\.\\\\+]+@([-0-9a-zа-яё_^\\\\.]+\\\\.)+[a-zа-яё]{2,20}$';\r\n\t}\r\n\r\n\tconst regex = new RegExp(emailTest);\r\n\treturn regex.test(email);\r\n};\r\n\r\n/**\r\n * Проверка валидности URL-адреса\r\n */\r\nexport const validUrl = (url: string, allowIP = false): boolean => {\r\n\turl = url.trim();\r\n\tif (url.includes(' ')) {\r\n\t\treturn false;\r\n\t}\r\n\r\n\tconst domain = url.replace(/^(https?:\\/\\/)?(www\\.)?([^/]+).*/, '$3');\r\n\r\n\tif (allowIP && isIp(domain)) return true;\r\n\r\n\treturn isDomain(domain);\r\n};\r\n\r\n/**\r\n * Проверка валидности домена\r\n */\r\nexport const isDomain = (domain: string): boolean => {\r\n\tdomain = toPuny(domain);\r\n\r\n\tconst regexp = new RegExp(`^${getDomainRegexp()}$`);\r\n\r\n\treturn regexp.test(domain);\r\n};\r\n\r\n/**\r\n * Проверка валидности ip\r\n */\r\nexport const isIp = (ip: string): boolean => {\r\n\tconst regexp = new RegExp(\r\n\t\t'((^\\\\s*((([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\\\\.){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5]))\\\\s*$)|(^\\\\s*((([0-9A-Fa-f]{1,4}:){7}([0-9A-Fa-f]{1,4}|:))|(([0-9A-Fa-f]{1,4}:){6}(:[0-9A-Fa-f]{1,4}|((25[0-5]|2[0-4]\\\\d|1\\\\d\\\\d|[1-9]?\\\\d)(\\\\.(25[0-5]|2[0-4]\\\\d|1\\\\d\\\\d|[1-9]?\\\\d)){3})|:))|(([0-9A-Fa-f]{1,4}:){5}(((:[0-9A-Fa-f]{1,4}){1,2})|:((25[0-5]|2[0-4]\\\\d|1\\\\d\\\\d|[1-9]?\\\\d)(\\\\.(25[0-5]|2[0-4]\\\\d|1\\\\d\\\\d|[1-9]?\\\\d)){3})|:))|(([0-9A-Fa-f]{1,4}:){4}(((:[0-9A-Fa-f]{1,4}){1,3})|((:[0-9A-Fa-f]{1,4})?:((25[0-5]|2[0-4]\\\\d|1\\\\d\\\\d|[1-9]?\\\\d)(\\\\.(25[0-5]|2[0-4]\\\\d|1\\\\d\\\\d|[1-9]?\\\\d)){3}))|:))|(([0-9A-Fa-f]{1,4}:){3}(((:[0-9A-Fa-f]{1,4}){1,4})|((:[0-9A-Fa-f]{1,4}){0,2}:((25[0-5]|2[0-4]\\\\d|1\\\\d\\\\d|[1-9]?\\\\d)(\\\\.(25[0-5]|2[0-4]\\\\d|1\\\\d\\\\d|[1-9]?\\\\d)){3}))|:))|(([0-9A-Fa-f]{1,4}:){2}(((:[0-9A-Fa-f]{1,4}){1,5})|((:[0-9A-Fa-f]{1,4}){0,3}:((25[0-5]|2[0-4]\\\\d|1\\\\d\\\\d|[1-9]?\\\\d)(\\\\.(25[0-5]|2[0-4]\\\\d|1\\\\d\\\\d|[1-9]?\\\\d)){3}))|:))|(([0-9A-Fa-f]{1,4}:)(((:[0-9A-Fa-f]{1,4}){1,6})|((:[0-9A-Fa-f]{1,4}){0,4}:((25[0-5]|2[0-4]\\\\d|1\\\\d\\\\d|[1-9]?\\\\d)(\\\\.(25[0-5]|2[0-4]\\\\d|1\\\\d\\\\d|[1-9]?\\\\d)){3}))|:))|(:(((:[0-9A-Fa-f]{1,4}){1,7})|((:[0-9A-Fa-f]{1,4}){0,5}:((25[0-5]|2[0-4]\\\\d|1\\\\d\\\\d|[1-9]?\\\\d)(\\\\.(25[0-5]|2[0-4]\\\\d|1\\\\d\\\\d|[1-9]?\\\\d)){3}))|:)))(%.+)?\\\\s*$))');\r\n\r\n\treturn regexp.test(ip);\r\n};\r\n"],"names":["punyDomainUnicode","getDomainRegexp","regexpASCII","regexpUnicode","isEmail","email","rus_allow","emailTest","validUrl","url","allowIP","isDomain","domain","utils_url","isIp","ip"],"mappings":"onKAeCA,oDAUMC,EAAA,IAAA,mCAIN,MAAA,6CAAAC,CAAA,IAAAC,CAAA,SAQMC,EAAA,CAAAC,EAAAC,EAAA,KAAA,OAGND,EAAAA,EAAA,YAAA,EAEA,IAAAE,EAAA,sJAOA,KAAAF,CAAA,GAMMG,EAAA,CAAAC,EAAAC,EAAA,KAAA,CAEN,GADAD,EAAAA,EAAA,KAAA,EACAA,EAAA,SAAA,GAAA,wFAQAE,EAAAC,CAAA,GAMYD,EAAAC,IACZA,EAAAC,EAAA,OAAAD,CAAA,EAEA,IAAA,OAAA,IAAAX,EAAA,CAAA,GAAA,EAEA,KAAAW,CAAA,GAMYE,EAAAC,GACZ,IAAA,OAAmB,kvCAClB,EAED,KAAAA,CAAA"}
package/utils/check.js CHANGED
@@ -1,26 +1,26 @@
1
1
  import { toPuny as t } from "./url.js";
2
2
  const i = "ru|com|abbott|ac|ad|ae|aero|af|ag|ai|al|am|an|ao|aq|ar|as|asia|at|au|aw|ax|az|ba|bb|bd|be|bf|bg|bh|bi|biz|bj|bm|bn|bo|boo|br|bs|bt|bv|bw|by|bz|ca|cat|cc|cd|cf|cg|ch|ci|ck|cl|cm|cn|co|coop|cr|cs|gb|cu|cv|cx|cy|cyou|cz|dd|de|dj|dk|dm|do|dz|ec|eco|edu|ee|eg|es|et|eu|fi|fj|fk|fm|fo|fr|ga|gd|ge|gf|gg|gh|gi|gl|gm|gn|gov|gp|gq|gr|gs|gt|gu|gw|gy|hk|hm|hn|hr|ht|hu|icu|id|ie|il|im|in|int|info|io|iq|ir|is|it|je|jm|jo|jobs|jp|ke|kg|kh|ki|km|kn|kp|kr|kw|ky|kz|la|lb|lc|li|live|lk|lr|ls|lt|lu|lv|ly|ma|mc|md|me|mh|mil|mg|mk|ml|mm|mn|mo|mobi|mp|mq|mr|ms|mt|mu|museum|mv|mw|mx|my|mz|na|name|nc|ne|net|ng|ni|nl|no|np|nr|nu|nz|org|pa|pe|pf|pg|ph|pk|pl|pm|pn|pr|pro|ps|pt|pw|py|qa|re|ro|rs|rw|sa|sb|sc|sd|se|sg|sh|si|sj|sk|sl|sm|sn|so|sr|st|su|sv|sx|sy|sz|tc|td|tel|tf|tg|th|tj|tk|tl|tm|tn|to|tp|tr|tt|tv|tw|tz|ua|ug|uk|us|uy|uz|va|vc|ve|vg|vn|vu|wf|ws|ye|yt|za|zm|zw|academy|agency|art|arte|audible|audio|band|bargains|bike|blog|boutique|builders|buzz|cab|camera|camp|cam|careers|center|cheap|clothing|club|codes|coffee|company|computer|condos|construction|contractors|cool|cruises|dance|dating|democrat|diamonds|directory|domains|education|email|enterprises|equipment|estate|events|expert|exposed|farm|flights|florist|foundation|futbol|gallery|gal|gift|glass|graphics|guitars|guru|holdings|holiday|house|immobilien|kitchen|land|lighting|limo|link|maison|management|marketing|menu|men|moe|ninja|partners|photo|photography|photos|pics|plumbing|plus|productions|properties|recipes|rentals|repair|review|reviews|sandvik|sexy|shoes|singles|social|solar|solutions|support|systems|tattoo|technology|tienda|tips|today|training|travel|vacations|ventures|viajes|villas|voyage|watch|works|zone|xxx|ads|associates|booking|business|ceo|ecom|forum|gives|global|gmbh|inc|institute|insure|lifeinsurance|llc|llp|ltd|ltda|mba|new|news|ngo|press|sarl|services|srl|studio|trade|trading|wiki|xin|auction|bid|blackfriday|buy|capital|charity|claims|compare|coupon|coupons|deal|dealer|deals|delivery|discount|exchange|flowers|free|furniture|gifts|gripe|grocery|jewelry|kaufen|lotto|parts|promo|qpon|racing|rsvp|sale|salon|save|seat|shop|shopping|silk|spa|store|supplies|supply|taxi|tickets|tires|tools|toys|watches|college|courses|degree|ged|phd|prof|scholarships|school|schule|science|shiksha|study|translations|university|beer|cafe|catering|cityeats|cooking|diet|food|organic|pet|pizza|pub|rest|restaurant|soy|wine|blue|circle|dot|duck|fast|final|finish|fire|fun|fyi|goo|got|green|here|horse|how|ieee|jot|joy|like|limited|makeup|meme|mint|moi|moto|now|nowruz|ong|onl|ooo|page|pars|pid|pink|play|plus|read|red|reise|reisen|rocks|safe|safety|seek|select|sky|smile|spot|sucks|talk|top|trust|uno|vin|vodka|web|wed|win|winners|wow|wtf|xyz|yamaxun|you|zero|abudhabi|africa|alsace|amsterdam|aquitaine|arab|barcelona|bayern|berlin|boston|broadway|brussels|budapest|bzh|capetown|cologne|corsica|country|cymru|desi|doha|dubai|durban|earth|eus|gent|hamburg|helsinki|international|irish|istanbul|joburg|kiwi|koeln|kyoto|london|madrid|market|melbourne|miami|monster|nagoya|nrw|nyc|okinawa|osaka|paris|persiangulf|place|quebec|rio|roma|ryukyu|saarland|scot|shia|show|stockholm|stream|swiss|sydney|taipei|tatar|thai|tirol|tokyo|vegas|vlaanderen|wales|wanggou|wien|world|yokohama|zuerich|clinic|dental|dentist|docs|doctor|health|healthcare|hiv|hospital|med|medical|pharmacy|physio|rehab|surgery|auto|autos|bio|boats|cars|cleaning|consulting|design|energy|industries|motorcycles|adult|baby|beauty|beknown|best|bet|bingo|bom|cards|community|contact|dad|diy|dog|express|family|fan|fans|fashion|garden|gay|giving|group|guide|hair|halal|hiphop|imamat|jetzt|kid|kids|kim|kinder|latino|lgbt|lifestyle|style|living|love|luxe|luxury|moda|mom|navy|pets|poker|porn|republican|vip|vision|vote|voting|voto|wedding|feedback|film|media|mov|movie|movistar|music|pictures|radio|show|song|theater|theatre|tunes|video|accountant|accountants|analytics|bank|banque|broker|cash|cashbackbonus|cfd|cpa|credit|creditcard|finance|financial|financialaid|fund|gold|gratis|investments|ira|loan|loans|markets|money|mortgage|mutual|mutualfunds|pay|reit|prime|security|yun|abogado|airforce|archi|architect|army|attorney|author|dds|engineer|engineering|esq|law|lawyer|legal|retirement|vet|apartments|casa|case|forsale|haus|homes|lease|property|realestate|realtor|realty|rent|room|baseball|basketball|coach|cricket|fish|fishing|fit|fitness|football|game|games|golf|hockey|juegos|mls|rodeo|rugby|run|ski|soccer|sport|sports|spreadbetting|surf|team|tennis|yoga|app|box|chat|click|cloud|comsec|bot|data|date|dev|digital|download|drive|call|fail|help|host|hosting|map|mobile|network|online|original-tor|phone|report|search|secure|site|software|space|storage|tube|webcam|webs|website|weibo|zip|active|casino|christmas|hangout|hoteis|hotel|hoteles|hotels|meet|party|tech|tour|tours|bible|church|catholic|faith|indians|islam|ismaili|memorial|moscow|actor|bar|black|build|care|city|direct|immo|ink|life|tax|town|work|one|insure|saxo|sex|shell|weber|yandex|rip|car|ist|lat|lol|bond|om|skin|day|quest|wang|sbs|dhl|ing|yachts|gdn", n = "рф|дети|онлайн|сайт|укр|католик|ком|москва|орг|рус|бел|бг|ישראל";
3
- let s = "";
4
- const r = () => s || (s = n.split("|").map((e) => t(e)).join("|"), s), c = () => {
3
+ let o = "";
4
+ const r = () => o || (o = n.split("|").map((e) => t(e)).join("|"), o), c = () => {
5
5
  const e = `(?:${i})`, a = `(?:${r()})`;
6
6
  return `(?:[a-z0-9](?:[a-z0-9-]*[a-z0-9])?\\.)+(?:${e}|${a})\\/?`;
7
- }, u = (e, a = !1) => {
7
+ }, g = (e, a = !1) => {
8
8
  e += "", e = e.toLowerCase();
9
- let o = "^[-0-9a-z_\\.\\+]+@([-0-9a-z_^\\.]+\\.)+[a-z]{2,20}$";
10
- return a && (o = "^[-0-9a-zа-яё_\\.\\+]+@([-0-9a-zа-яё_^\\.]+\\.)+[a-zа-яё]{2,20}$"), new RegExp(o).test(e);
11
- }, g = (e) => {
9
+ let s = "^[-0-9a-z_\\.\\+]+@([-0-9a-z_^\\.]+\\.)+[a-z]{2,20}$";
10
+ return a && (s = "^[-0-9a-zа-яё_\\.\\+]+@([-0-9a-zа-яё_^\\.]+\\.)+[a-zа-яё]{2,20}$"), new RegExp(s).test(e);
11
+ }, p = (e, a = !1) => {
12
12
  if (e = e.trim(), e.includes(" "))
13
13
  return !1;
14
- const a = e.replace(/^(https?:\/\/)?(www\.)?([^/]+).*/, "$3");
15
- return d(a);
16
- }, d = (e) => (e = t(e), new RegExp(`^${c()}$`).test(e)), p = (e) => new RegExp(
14
+ const s = e.replace(/^(https?:\/\/)?(www\.)?([^/]+).*/, "$3");
15
+ return a && l(s) ? !0 : d(s);
16
+ }, d = (e) => (e = t(e), new RegExp(`^${c()}$`).test(e)), l = (e) => new RegExp(
17
17
  "((^\\s*((([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\\.){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5]))\\s*$)|(^\\s*((([0-9A-Fa-f]{1,4}:){7}([0-9A-Fa-f]{1,4}|:))|(([0-9A-Fa-f]{1,4}:){6}(:[0-9A-Fa-f]{1,4}|((25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]?\\d)(\\.(25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]?\\d)){3})|:))|(([0-9A-Fa-f]{1,4}:){5}(((:[0-9A-Fa-f]{1,4}){1,2})|:((25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]?\\d)(\\.(25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]?\\d)){3})|:))|(([0-9A-Fa-f]{1,4}:){4}(((:[0-9A-Fa-f]{1,4}){1,3})|((:[0-9A-Fa-f]{1,4})?:((25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]?\\d)(\\.(25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]?\\d)){3}))|:))|(([0-9A-Fa-f]{1,4}:){3}(((:[0-9A-Fa-f]{1,4}){1,4})|((:[0-9A-Fa-f]{1,4}){0,2}:((25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]?\\d)(\\.(25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]?\\d)){3}))|:))|(([0-9A-Fa-f]{1,4}:){2}(((:[0-9A-Fa-f]{1,4}){1,5})|((:[0-9A-Fa-f]{1,4}){0,3}:((25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]?\\d)(\\.(25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]?\\d)){3}))|:))|(([0-9A-Fa-f]{1,4}:)(((:[0-9A-Fa-f]{1,4}){1,6})|((:[0-9A-Fa-f]{1,4}){0,4}:((25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]?\\d)(\\.(25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]?\\d)){3}))|:))|(:(((:[0-9A-Fa-f]{1,4}){1,7})|((:[0-9A-Fa-f]{1,4}){0,5}:((25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]?\\d)(\\.(25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]?\\d)){3}))|:)))(%.+)?\\s*$))"
18
18
  ).test(e);
19
19
  export {
20
20
  c as getDomainRegexp,
21
21
  d as isDomain,
22
- u as isEmail,
23
- p as isIp,
24
- g as validUrl
22
+ g as isEmail,
23
+ l as isIp,
24
+ p as validUrl
25
25
  };
26
26
  //# sourceMappingURL=check.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"check.js","sources":["../../src/core/utils/check.ts"],"sourcesContent":["/**\r\n * Функции для проверки данных\r\n * @packageDocumentation\r\n */\r\n\r\nimport { toPuny } from '@/core/utils/url';\r\n\r\nconst domainASCII: string = 'ru|com|abbott|ac|ad|ae|aero|af|ag|ai|al|am|an|ao|aq|ar|as|asia|at|au|aw|ax|az|ba|bb|bd|be|bf|bg|bh|bi|biz|bj|bm|bn|bo|boo|br|bs|bt|bv|bw|by|bz|ca|cat|cc|cd|cf|cg|ch|ci|ck|cl|cm|cn|co|coop|cr|cs|gb|cu|cv|cx|cy|cyou|cz|dd|de|dj|dk|dm|do|dz|ec|eco|edu|ee|eg|es|et|eu|fi|fj|fk|fm|fo|fr|ga|gd|ge|gf|gg|gh|gi|gl|gm|gn|gov|gp|gq|gr|gs|gt|gu|gw|gy|hk|hm|hn|hr|ht|hu|icu|id|ie|il|im|in|int|info|io|iq|ir|is|it|je|jm|jo|jobs|jp|ke|kg|kh|ki|km|kn|kp|kr|kw|ky|kz|la|lb|lc|li|live|lk|lr|ls|lt|lu|lv|ly|ma|mc|md|me|mh|mil|mg|mk|ml|mm|mn|mo|mobi|mp|mq|mr|ms|mt|mu|museum|mv|mw|mx|my|mz|na|name|nc|ne|net|ng|ni|nl|no|np|nr|nu|nz|org|pa|pe|pf|pg|ph|pk|pl|pm|pn|pr|pro|ps|pt|pw|py|qa|re|ro|rs|rw|sa|sb|sc|sd|se|sg|sh|si|sj|sk|sl|sm|sn|so|sr|st|su|sv|sx|sy|sz|tc|td|tel|tf|tg|th|tj|tk|tl|tm|tn|to|tp|tr|tt|tv|tw|tz|ua|ug|uk|us|uy|uz|va|vc|ve|vg|vn|vu|wf|ws|ye|yt|za|zm|zw|academy|agency|art|arte|audible|audio|band|bargains|bike|blog|boutique|builders|buzz|cab|camera|camp|cam|careers|center|cheap|clothing|club|codes|coffee|company|computer|condos|construction|contractors|cool|cruises|dance|dating|democrat|diamonds|directory|domains|education|email|enterprises|equipment|estate|events|expert|exposed|farm|flights|florist|foundation|futbol|gallery|gal|gift|glass|graphics|guitars|guru|holdings|holiday|house|immobilien|kitchen|land|lighting|limo|link|maison|management|marketing|menu|men|moe|ninja|partners|photo|photography|photos|pics|plumbing|plus|productions|properties|recipes|rentals|repair|review|reviews|sandvik|sexy|shoes|singles|social|solar|solutions|support|systems|tattoo|technology|tienda|tips|today|training|travel|vacations|ventures|viajes|villas|voyage|watch|works|zone|xxx|ads|associates|booking|business|ceo|ecom|forum|gives|global|gmbh|inc|institute|insure|lifeinsurance|llc|llp|ltd|ltda|mba|new|news|ngo|press|sarl|services|srl|studio|trade|trading|wiki|xin|auction|bid|blackfriday|buy|capital|charity|claims|compare|coupon|coupons|deal|dealer|deals|delivery|discount|exchange|flowers|free|furniture|gifts|gripe|grocery|jewelry|kaufen|lotto|parts|promo|qpon|racing|rsvp|sale|salon|save|seat|shop|shopping|silk|spa|store|supplies|supply|taxi|tickets|tires|tools|toys|watches|college|courses|degree|ged|phd|prof|scholarships|school|schule|science|shiksha|study|translations|university|beer|cafe|catering|cityeats|cooking|diet|food|organic|pet|pizza|pub|rest|restaurant|soy|wine|blue|circle|dot|duck|fast|final|finish|fire|fun|fyi|goo|got|green|here|horse|how|ieee|jot|joy|like|limited|makeup|meme|mint|moi|moto|now|nowruz|ong|onl|ooo|page|pars|pid|pink|play|plus|read|red|reise|reisen|rocks|safe|safety|seek|select|sky|smile|spot|sucks|talk|top|trust|uno|vin|vodka|web|wed|win|winners|wow|wtf|xyz|yamaxun|you|zero|abudhabi|africa|alsace|amsterdam|aquitaine|arab|barcelona|bayern|berlin|boston|broadway|brussels|budapest|bzh|capetown|cologne|corsica|country|cymru|desi|doha|dubai|durban|earth|eus|gent|hamburg|helsinki|international|irish|istanbul|joburg|kiwi|koeln|kyoto|london|madrid|market|melbourne|miami|monster|nagoya|nrw|nyc|okinawa|osaka|paris|persiangulf|place|quebec|rio|roma|ryukyu|saarland|scot|shia|show|stockholm|stream|swiss|sydney|taipei|tatar|thai|tirol|tokyo|vegas|vlaanderen|wales|wanggou|wien|world|yokohama|zuerich|clinic|dental|dentist|docs|doctor|health|healthcare|hiv|hospital|med|medical|pharmacy|physio|rehab|surgery|auto|autos|bio|boats|cars|cleaning|consulting|design|energy|industries|motorcycles|adult|baby|beauty|beknown|best|bet|bingo|bom|cards|community|contact|dad|diy|dog|express|family|fan|fans|fashion|garden|gay|giving|group|guide|hair|halal|hiphop|imamat|jetzt|kid|kids|kim|kinder|latino|lgbt|lifestyle|style|living|love|luxe|luxury|moda|mom|navy|pets|poker|porn|republican|vip|vision|vote|voting|voto|wedding|feedback|film|media|mov|movie|movistar|music|pictures|radio|show|song|theater|theatre|tunes|video|accountant|accountants|analytics|bank|banque|broker|cash|cashbackbonus|cfd|cpa|credit|creditcard|finance|financial|financialaid|fund|gold|gratis|investments|ira|loan|loans|markets|money|mortgage|mutual|mutualfunds|pay|reit|prime|security|yun|abogado|airforce|archi|architect|army|attorney|author|dds|engineer|engineering|esq|law|lawyer|legal|retirement|vet|apartments|casa|case|forsale|haus|homes|lease|property|realestate|realtor|realty|rent|room|baseball|basketball|coach|cricket|fish|fishing|fit|fitness|football|game|games|golf|hockey|juegos|mls|rodeo|rugby|run|ski|soccer|sport|sports|spreadbetting|surf|team|tennis|yoga|app|box|chat|click|cloud|comsec|bot|data|date|dev|digital|download|drive|call|fail|help|host|hosting|map|mobile|network|online|original-tor|phone|report|search|secure|site|software|space|storage|tube|webcam|webs|website|weibo|zip|active|casino|christmas|hangout|hoteis|hotel|hoteles|hotels|meet|party|tech|tour|tours|bible|church|catholic|faith|indians|islam|ismaili|memorial|moscow|actor|bar|black|build|care|city|direct|immo|ink|life|tax|town|work|one|insure|saxo|sex|shell|weber|yandex|rip|car|ist|lat|lol|bond|om|skin|day|quest|wang|sbs|dhl|ing|yachts|gdn';\r\nconst domainUnicode: string = 'рф|дети|онлайн|сайт|укр|католик|ком|москва|орг|рус|бел|бг|ישראל';\r\nlet punyDomainUnicode = '';\r\n\r\n/**\r\n * Получить строку национализированных доменов верхнего уровня в ASCII формате\r\n */\r\nconst getPunyDomainUnicode = (): string => {\r\n\tif (punyDomainUnicode) return punyDomainUnicode;\r\n\r\n\tpunyDomainUnicode = domainUnicode.split('|').map(domain => toPuny(domain)).join('|');\r\n\r\n\treturn punyDomainUnicode;\r\n};\r\n\r\n/**\r\n * Получить строку с регулярным выражение для домена\r\n */\r\nexport const getDomainRegexp = (): string => {\r\n\tconst regexpASCII = `(?:${domainASCII})`;\r\n\tconst regexpUnicode = `(?:${getPunyDomainUnicode()})`;\r\n\r\n\treturn `(?:[a-z0-9](?:[a-z0-9-]*[a-z0-9])?\\\\.)+(?:${regexpASCII}|${regexpUnicode})\\\\/?`;\r\n};\r\n\r\n/**\r\n * Проверка валидности email\r\n * @param email\r\n * @param rus_allow - если true, русскоязычные адреса тоже будут валидны\r\n */\r\nexport const isEmail = (email: string, rus_allow: boolean = false): boolean => {\r\n\temail += '';\r\n\r\n\temail = email.toLowerCase();\r\n\r\n\tlet emailTest = '^[-0-9a-z_\\\\.\\\\+]+@([-0-9a-z_^\\\\.]+\\\\.)+[a-z]{2,20}$';\r\n\r\n\tif (rus_allow) {\r\n\t\temailTest = '^[-0-9a-zа-яё_\\\\.\\\\+]+@([-0-9a-zа-яё_^\\\\.]+\\\\.)+[a-zа-яё]{2,20}$';\r\n\t}\r\n\r\n\tconst regex = new RegExp(emailTest);\r\n\treturn regex.test(email);\r\n};\r\n\r\n/**\r\n * Проверка валидности URL-адреса\r\n */\r\nexport const validUrl = (url: string): boolean => {\r\n\turl = url.trim();\r\n\tif (url.includes(' ')) {\r\n\t\treturn false;\r\n\t}\r\n\r\n\tconst domain = url.replace(/^(https?:\\/\\/)?(www\\.)?([^/]+).*/, '$3');\r\n\r\n\treturn isDomain(domain);\r\n};\r\n\r\n/**\r\n * Проверка валидности домена\r\n */\r\nexport const isDomain = (domain: string): boolean => {\r\n\tdomain = toPuny(domain);\r\n\r\n\tconst regexp = new RegExp(`^${getDomainRegexp()}$`);\r\n\r\n\treturn regexp.test(domain);\r\n};\r\n\r\n/**\r\n * Проверка валидности ip\r\n */\r\nexport const isIp = (ip: string): boolean => {\r\n\tconst regexp = new RegExp(\r\n\t\t'((^\\\\s*((([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\\\\.){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5]))\\\\s*$)|(^\\\\s*((([0-9A-Fa-f]{1,4}:){7}([0-9A-Fa-f]{1,4}|:))|(([0-9A-Fa-f]{1,4}:){6}(:[0-9A-Fa-f]{1,4}|((25[0-5]|2[0-4]\\\\d|1\\\\d\\\\d|[1-9]?\\\\d)(\\\\.(25[0-5]|2[0-4]\\\\d|1\\\\d\\\\d|[1-9]?\\\\d)){3})|:))|(([0-9A-Fa-f]{1,4}:){5}(((:[0-9A-Fa-f]{1,4}){1,2})|:((25[0-5]|2[0-4]\\\\d|1\\\\d\\\\d|[1-9]?\\\\d)(\\\\.(25[0-5]|2[0-4]\\\\d|1\\\\d\\\\d|[1-9]?\\\\d)){3})|:))|(([0-9A-Fa-f]{1,4}:){4}(((:[0-9A-Fa-f]{1,4}){1,3})|((:[0-9A-Fa-f]{1,4})?:((25[0-5]|2[0-4]\\\\d|1\\\\d\\\\d|[1-9]?\\\\d)(\\\\.(25[0-5]|2[0-4]\\\\d|1\\\\d\\\\d|[1-9]?\\\\d)){3}))|:))|(([0-9A-Fa-f]{1,4}:){3}(((:[0-9A-Fa-f]{1,4}){1,4})|((:[0-9A-Fa-f]{1,4}){0,2}:((25[0-5]|2[0-4]\\\\d|1\\\\d\\\\d|[1-9]?\\\\d)(\\\\.(25[0-5]|2[0-4]\\\\d|1\\\\d\\\\d|[1-9]?\\\\d)){3}))|:))|(([0-9A-Fa-f]{1,4}:){2}(((:[0-9A-Fa-f]{1,4}){1,5})|((:[0-9A-Fa-f]{1,4}){0,3}:((25[0-5]|2[0-4]\\\\d|1\\\\d\\\\d|[1-9]?\\\\d)(\\\\.(25[0-5]|2[0-4]\\\\d|1\\\\d\\\\d|[1-9]?\\\\d)){3}))|:))|(([0-9A-Fa-f]{1,4}:)(((:[0-9A-Fa-f]{1,4}){1,6})|((:[0-9A-Fa-f]{1,4}){0,4}:((25[0-5]|2[0-4]\\\\d|1\\\\d\\\\d|[1-9]?\\\\d)(\\\\.(25[0-5]|2[0-4]\\\\d|1\\\\d\\\\d|[1-9]?\\\\d)){3}))|:))|(:(((:[0-9A-Fa-f]{1,4}){1,7})|((:[0-9A-Fa-f]{1,4}){0,5}:((25[0-5]|2[0-4]\\\\d|1\\\\d\\\\d|[1-9]?\\\\d)(\\\\.(25[0-5]|2[0-4]\\\\d|1\\\\d\\\\d|[1-9]?\\\\d)){3}))|:)))(%.+)?\\\\s*$))');\r\n\r\n\treturn regexp.test(ip);\r\n};\r\n"],"names":["domainASCII","domainUnicode","punyDomainUnicode","getPunyDomainUnicode","domain","toPuny","getDomainRegexp","regexpASCII","regexpUnicode","isEmail","email","rus_allow","emailTest","validUrl","url","isDomain","isIp","ip"],"mappings":";AAOA,MAAMA,IAAsB,66JACtBC,IAAwB;AAC9B,IAAIC,IAAoB;AAKxB,MAAMC,IAAuB,MACxBD,MAEgBA,IAAAD,EAAc,MAAM,GAAG,EAAE,IAAI,CAAUG,MAAAC,EAAOD,CAAM,CAAC,EAAE,KAAK,GAAG,GAE5EF,IAMKI,IAAkB,MAAc;AACtC,QAAAC,IAAc,MAAMP,CAAW,KAC/BQ,IAAgB,MAAML,EAAsB,CAAA;AAE3C,SAAA,6CAA6CI,CAAW,IAAIC,CAAa;AACjF,GAOaC,IAAU,CAACC,GAAeC,IAAqB,OAAmB;AACrE,EAAAD,KAAA,IAETA,IAAQA,EAAM;AAEd,MAAIE,IAAY;AAEhB,SAAID,MACSC,IAAA,qEAGC,IAAI,OAAOA,CAAS,EACrB,KAAKF,CAAK;AACxB,GAKaG,IAAW,CAACC,MAAyB;AAE7C,MADJA,IAAMA,EAAI,QACNA,EAAI,SAAS,GAAG;AACZ,WAAA;AAGR,QAAMV,IAASU,EAAI,QAAQ,oCAAoC,IAAI;AAEnE,SAAOC,EAASX,CAAM;AACvB,GAKaW,IAAW,CAACX,OACxBA,IAASC,EAAOD,CAAM,GAEP,IAAI,OAAO,IAAIE,EAAiB,CAAA,GAAG,EAEpC,KAAKF,CAAM,IAMbY,IAAO,CAACC,MACL,IAAI;AAAA,EAClB;AAAA,EAEa,KAAKA,CAAE;"}
1
+ {"version":3,"file":"check.js","sources":["../../src/core/utils/check.ts"],"sourcesContent":["/**\r\n * Функции для проверки данных\r\n * @packageDocumentation\r\n */\r\n\r\nimport { toPuny } from '@/core/utils/url';\r\n\r\nconst domainASCII: string = 'ru|com|abbott|ac|ad|ae|aero|af|ag|ai|al|am|an|ao|aq|ar|as|asia|at|au|aw|ax|az|ba|bb|bd|be|bf|bg|bh|bi|biz|bj|bm|bn|bo|boo|br|bs|bt|bv|bw|by|bz|ca|cat|cc|cd|cf|cg|ch|ci|ck|cl|cm|cn|co|coop|cr|cs|gb|cu|cv|cx|cy|cyou|cz|dd|de|dj|dk|dm|do|dz|ec|eco|edu|ee|eg|es|et|eu|fi|fj|fk|fm|fo|fr|ga|gd|ge|gf|gg|gh|gi|gl|gm|gn|gov|gp|gq|gr|gs|gt|gu|gw|gy|hk|hm|hn|hr|ht|hu|icu|id|ie|il|im|in|int|info|io|iq|ir|is|it|je|jm|jo|jobs|jp|ke|kg|kh|ki|km|kn|kp|kr|kw|ky|kz|la|lb|lc|li|live|lk|lr|ls|lt|lu|lv|ly|ma|mc|md|me|mh|mil|mg|mk|ml|mm|mn|mo|mobi|mp|mq|mr|ms|mt|mu|museum|mv|mw|mx|my|mz|na|name|nc|ne|net|ng|ni|nl|no|np|nr|nu|nz|org|pa|pe|pf|pg|ph|pk|pl|pm|pn|pr|pro|ps|pt|pw|py|qa|re|ro|rs|rw|sa|sb|sc|sd|se|sg|sh|si|sj|sk|sl|sm|sn|so|sr|st|su|sv|sx|sy|sz|tc|td|tel|tf|tg|th|tj|tk|tl|tm|tn|to|tp|tr|tt|tv|tw|tz|ua|ug|uk|us|uy|uz|va|vc|ve|vg|vn|vu|wf|ws|ye|yt|za|zm|zw|academy|agency|art|arte|audible|audio|band|bargains|bike|blog|boutique|builders|buzz|cab|camera|camp|cam|careers|center|cheap|clothing|club|codes|coffee|company|computer|condos|construction|contractors|cool|cruises|dance|dating|democrat|diamonds|directory|domains|education|email|enterprises|equipment|estate|events|expert|exposed|farm|flights|florist|foundation|futbol|gallery|gal|gift|glass|graphics|guitars|guru|holdings|holiday|house|immobilien|kitchen|land|lighting|limo|link|maison|management|marketing|menu|men|moe|ninja|partners|photo|photography|photos|pics|plumbing|plus|productions|properties|recipes|rentals|repair|review|reviews|sandvik|sexy|shoes|singles|social|solar|solutions|support|systems|tattoo|technology|tienda|tips|today|training|travel|vacations|ventures|viajes|villas|voyage|watch|works|zone|xxx|ads|associates|booking|business|ceo|ecom|forum|gives|global|gmbh|inc|institute|insure|lifeinsurance|llc|llp|ltd|ltda|mba|new|news|ngo|press|sarl|services|srl|studio|trade|trading|wiki|xin|auction|bid|blackfriday|buy|capital|charity|claims|compare|coupon|coupons|deal|dealer|deals|delivery|discount|exchange|flowers|free|furniture|gifts|gripe|grocery|jewelry|kaufen|lotto|parts|promo|qpon|racing|rsvp|sale|salon|save|seat|shop|shopping|silk|spa|store|supplies|supply|taxi|tickets|tires|tools|toys|watches|college|courses|degree|ged|phd|prof|scholarships|school|schule|science|shiksha|study|translations|university|beer|cafe|catering|cityeats|cooking|diet|food|organic|pet|pizza|pub|rest|restaurant|soy|wine|blue|circle|dot|duck|fast|final|finish|fire|fun|fyi|goo|got|green|here|horse|how|ieee|jot|joy|like|limited|makeup|meme|mint|moi|moto|now|nowruz|ong|onl|ooo|page|pars|pid|pink|play|plus|read|red|reise|reisen|rocks|safe|safety|seek|select|sky|smile|spot|sucks|talk|top|trust|uno|vin|vodka|web|wed|win|winners|wow|wtf|xyz|yamaxun|you|zero|abudhabi|africa|alsace|amsterdam|aquitaine|arab|barcelona|bayern|berlin|boston|broadway|brussels|budapest|bzh|capetown|cologne|corsica|country|cymru|desi|doha|dubai|durban|earth|eus|gent|hamburg|helsinki|international|irish|istanbul|joburg|kiwi|koeln|kyoto|london|madrid|market|melbourne|miami|monster|nagoya|nrw|nyc|okinawa|osaka|paris|persiangulf|place|quebec|rio|roma|ryukyu|saarland|scot|shia|show|stockholm|stream|swiss|sydney|taipei|tatar|thai|tirol|tokyo|vegas|vlaanderen|wales|wanggou|wien|world|yokohama|zuerich|clinic|dental|dentist|docs|doctor|health|healthcare|hiv|hospital|med|medical|pharmacy|physio|rehab|surgery|auto|autos|bio|boats|cars|cleaning|consulting|design|energy|industries|motorcycles|adult|baby|beauty|beknown|best|bet|bingo|bom|cards|community|contact|dad|diy|dog|express|family|fan|fans|fashion|garden|gay|giving|group|guide|hair|halal|hiphop|imamat|jetzt|kid|kids|kim|kinder|latino|lgbt|lifestyle|style|living|love|luxe|luxury|moda|mom|navy|pets|poker|porn|republican|vip|vision|vote|voting|voto|wedding|feedback|film|media|mov|movie|movistar|music|pictures|radio|show|song|theater|theatre|tunes|video|accountant|accountants|analytics|bank|banque|broker|cash|cashbackbonus|cfd|cpa|credit|creditcard|finance|financial|financialaid|fund|gold|gratis|investments|ira|loan|loans|markets|money|mortgage|mutual|mutualfunds|pay|reit|prime|security|yun|abogado|airforce|archi|architect|army|attorney|author|dds|engineer|engineering|esq|law|lawyer|legal|retirement|vet|apartments|casa|case|forsale|haus|homes|lease|property|realestate|realtor|realty|rent|room|baseball|basketball|coach|cricket|fish|fishing|fit|fitness|football|game|games|golf|hockey|juegos|mls|rodeo|rugby|run|ski|soccer|sport|sports|spreadbetting|surf|team|tennis|yoga|app|box|chat|click|cloud|comsec|bot|data|date|dev|digital|download|drive|call|fail|help|host|hosting|map|mobile|network|online|original-tor|phone|report|search|secure|site|software|space|storage|tube|webcam|webs|website|weibo|zip|active|casino|christmas|hangout|hoteis|hotel|hoteles|hotels|meet|party|tech|tour|tours|bible|church|catholic|faith|indians|islam|ismaili|memorial|moscow|actor|bar|black|build|care|city|direct|immo|ink|life|tax|town|work|one|insure|saxo|sex|shell|weber|yandex|rip|car|ist|lat|lol|bond|om|skin|day|quest|wang|sbs|dhl|ing|yachts|gdn';\r\nconst domainUnicode: string = 'рф|дети|онлайн|сайт|укр|католик|ком|москва|орг|рус|бел|бг|ישראל';\r\nlet punyDomainUnicode = '';\r\n\r\n/**\r\n * Получить строку национализированных доменов верхнего уровня в ASCII формате\r\n */\r\nconst getPunyDomainUnicode = (): string => {\r\n\tif (punyDomainUnicode) return punyDomainUnicode;\r\n\r\n\tpunyDomainUnicode = domainUnicode.split('|').map(domain => toPuny(domain)).join('|');\r\n\r\n\treturn punyDomainUnicode;\r\n};\r\n\r\n/**\r\n * Получить строку с регулярным выражение для домена\r\n */\r\nexport const getDomainRegexp = (): string => {\r\n\tconst regexpASCII = `(?:${domainASCII})`;\r\n\tconst regexpUnicode = `(?:${getPunyDomainUnicode()})`;\r\n\r\n\treturn `(?:[a-z0-9](?:[a-z0-9-]*[a-z0-9])?\\\\.)+(?:${regexpASCII}|${regexpUnicode})\\\\/?`;\r\n};\r\n\r\n/**\r\n * Проверка валидности email\r\n * @param email\r\n * @param rus_allow - если true, русскоязычные адреса тоже будут валидны\r\n */\r\nexport const isEmail = (email: string, rus_allow: boolean = false): boolean => {\r\n\temail += '';\r\n\r\n\temail = email.toLowerCase();\r\n\r\n\tlet emailTest = '^[-0-9a-z_\\\\.\\\\+]+@([-0-9a-z_^\\\\.]+\\\\.)+[a-z]{2,20}$';\r\n\r\n\tif (rus_allow) {\r\n\t\temailTest = '^[-0-9a-zа-яё_\\\\.\\\\+]+@([-0-9a-zа-яё_^\\\\.]+\\\\.)+[a-zа-яё]{2,20}$';\r\n\t}\r\n\r\n\tconst regex = new RegExp(emailTest);\r\n\treturn regex.test(email);\r\n};\r\n\r\n/**\r\n * Проверка валидности URL-адреса\r\n */\r\nexport const validUrl = (url: string, allowIP = false): boolean => {\r\n\turl = url.trim();\r\n\tif (url.includes(' ')) {\r\n\t\treturn false;\r\n\t}\r\n\r\n\tconst domain = url.replace(/^(https?:\\/\\/)?(www\\.)?([^/]+).*/, '$3');\r\n\r\n\tif (allowIP && isIp(domain)) return true;\r\n\r\n\treturn isDomain(domain);\r\n};\r\n\r\n/**\r\n * Проверка валидности домена\r\n */\r\nexport const isDomain = (domain: string): boolean => {\r\n\tdomain = toPuny(domain);\r\n\r\n\tconst regexp = new RegExp(`^${getDomainRegexp()}$`);\r\n\r\n\treturn regexp.test(domain);\r\n};\r\n\r\n/**\r\n * Проверка валидности ip\r\n */\r\nexport const isIp = (ip: string): boolean => {\r\n\tconst regexp = new RegExp(\r\n\t\t'((^\\\\s*((([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\\\\.){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5]))\\\\s*$)|(^\\\\s*((([0-9A-Fa-f]{1,4}:){7}([0-9A-Fa-f]{1,4}|:))|(([0-9A-Fa-f]{1,4}:){6}(:[0-9A-Fa-f]{1,4}|((25[0-5]|2[0-4]\\\\d|1\\\\d\\\\d|[1-9]?\\\\d)(\\\\.(25[0-5]|2[0-4]\\\\d|1\\\\d\\\\d|[1-9]?\\\\d)){3})|:))|(([0-9A-Fa-f]{1,4}:){5}(((:[0-9A-Fa-f]{1,4}){1,2})|:((25[0-5]|2[0-4]\\\\d|1\\\\d\\\\d|[1-9]?\\\\d)(\\\\.(25[0-5]|2[0-4]\\\\d|1\\\\d\\\\d|[1-9]?\\\\d)){3})|:))|(([0-9A-Fa-f]{1,4}:){4}(((:[0-9A-Fa-f]{1,4}){1,3})|((:[0-9A-Fa-f]{1,4})?:((25[0-5]|2[0-4]\\\\d|1\\\\d\\\\d|[1-9]?\\\\d)(\\\\.(25[0-5]|2[0-4]\\\\d|1\\\\d\\\\d|[1-9]?\\\\d)){3}))|:))|(([0-9A-Fa-f]{1,4}:){3}(((:[0-9A-Fa-f]{1,4}){1,4})|((:[0-9A-Fa-f]{1,4}){0,2}:((25[0-5]|2[0-4]\\\\d|1\\\\d\\\\d|[1-9]?\\\\d)(\\\\.(25[0-5]|2[0-4]\\\\d|1\\\\d\\\\d|[1-9]?\\\\d)){3}))|:))|(([0-9A-Fa-f]{1,4}:){2}(((:[0-9A-Fa-f]{1,4}){1,5})|((:[0-9A-Fa-f]{1,4}){0,3}:((25[0-5]|2[0-4]\\\\d|1\\\\d\\\\d|[1-9]?\\\\d)(\\\\.(25[0-5]|2[0-4]\\\\d|1\\\\d\\\\d|[1-9]?\\\\d)){3}))|:))|(([0-9A-Fa-f]{1,4}:)(((:[0-9A-Fa-f]{1,4}){1,6})|((:[0-9A-Fa-f]{1,4}){0,4}:((25[0-5]|2[0-4]\\\\d|1\\\\d\\\\d|[1-9]?\\\\d)(\\\\.(25[0-5]|2[0-4]\\\\d|1\\\\d\\\\d|[1-9]?\\\\d)){3}))|:))|(:(((:[0-9A-Fa-f]{1,4}){1,7})|((:[0-9A-Fa-f]{1,4}){0,5}:((25[0-5]|2[0-4]\\\\d|1\\\\d\\\\d|[1-9]?\\\\d)(\\\\.(25[0-5]|2[0-4]\\\\d|1\\\\d\\\\d|[1-9]?\\\\d)){3}))|:)))(%.+)?\\\\s*$))');\r\n\r\n\treturn regexp.test(ip);\r\n};\r\n"],"names":["domainASCII","domainUnicode","punyDomainUnicode","getPunyDomainUnicode","domain","toPuny","getDomainRegexp","regexpASCII","regexpUnicode","isEmail","email","rus_allow","emailTest","validUrl","url","allowIP","isIp","isDomain","ip"],"mappings":";AAOA,MAAMA,IAAsB,66JACtBC,IAAwB;AAC9B,IAAIC,IAAoB;AAKxB,MAAMC,IAAuB,MACxBD,MAEgBA,IAAAD,EAAc,MAAM,GAAG,EAAE,IAAI,CAAUG,MAAAC,EAAOD,CAAM,CAAC,EAAE,KAAK,GAAG,GAE5EF,IAMKI,IAAkB,MAAc;AACtC,QAAAC,IAAc,MAAMP,CAAW,KAC/BQ,IAAgB,MAAML,EAAsB,CAAA;AAE3C,SAAA,6CAA6CI,CAAW,IAAIC,CAAa;AACjF,GAOaC,IAAU,CAACC,GAAeC,IAAqB,OAAmB;AACrE,EAAAD,KAAA,IAETA,IAAQA,EAAM;AAEd,MAAIE,IAAY;AAEhB,SAAID,MACSC,IAAA,qEAGC,IAAI,OAAOA,CAAS,EACrB,KAAKF,CAAK;AACxB,GAKaG,IAAW,CAACC,GAAaC,IAAU,OAAmB;AAE9D,MADJD,IAAMA,EAAI,QACNA,EAAI,SAAS,GAAG;AACZ,WAAA;AAGR,QAAMV,IAASU,EAAI,QAAQ,oCAAoC,IAAI;AAEnE,SAAIC,KAAWC,EAAKZ,CAAM,IAAU,KAE7Ba,EAASb,CAAM;AACvB,GAKaa,IAAW,CAACb,OACxBA,IAASC,EAAOD,CAAM,GAEP,IAAI,OAAO,IAAIE,EAAiB,CAAA,GAAG,EAEpC,KAAKF,CAAM,IAMbY,IAAO,CAACE,MACL,IAAI;AAAA,EAClB;AAAA,EAEa,KAAKA,CAAE;"}
package/utils/date.amd.js CHANGED
@@ -1,2 +1,2 @@
1
- define(["require","exports","../.chunks/forms-CiwhEtPE.amd"],function(n,e,t){"use strict";if(typeof a>"u")var a=window.Vue;e.dateFormat=t.dateFormat,e.dateToString=t.dateToString,e.dateUnformat=t.dateUnformat,e.genDate=t.genDate,e.genDateMoscow=t.genDateMoscow,e.getDayOfWeek=t.getDayOfWeek,e.stringToDate=t.stringToDate,Object.defineProperty(e,Symbol.toStringTag,{value:"Module"})});
1
+ define(["require","exports","../.chunks/forms-CORLOoYZ.amd"],function(n,e,t){"use strict";if(typeof a>"u")var a=window.Vue;e.dateFormat=t.dateFormat,e.dateToString=t.dateToString,e.dateUnformat=t.dateUnformat,e.genDate=t.genDate,e.genDateMoscow=t.genDateMoscow,e.getDayOfWeek=t.getDayOfWeek,e.stringToDate=t.stringToDate,Object.defineProperty(e,Symbol.toStringTag,{value:"Module"})});
2
2
  //# sourceMappingURL=date.amd.js.map
package/utils/date.js CHANGED
@@ -1,4 +1,4 @@
1
- import { d as t, Q as s, V as o, S as r, U as g, P as n, R as d } from "../.chunks/forms-C4-jc5q2.es.js";
1
+ import { d as t, Q as s, V as o, S as r, U as g, P as n, R as d } from "../.chunks/forms-CHyoeELv.es.js";
2
2
  export {
3
3
  t as dateFormat,
4
4
  s as dateToString,
@@ -1,2 +1,2 @@
1
- define(["require","exports","../.chunks/forms-CiwhEtPE.amd"],function(a,e,i){"use strict";if(typeof l>"u")var l=window.Vue;e.get$scroll=i.get$scroll,e.getCommandKeyLabel=i.getCommandKeyLabel,e.getElsScroll=i.getElsScroll,e.getOS=i.getOS,e.getOSAsync=i.getOSAsync,e.getScrollTop=i.getScrollTop,e.isApp=i.isApp,e.isMacOS=i.isMacOS,e.isMobile=i.isMobile,e.isRetina=i.isRetina,e.isSafari=i.isSafari,Object.defineProperty(e,Symbol.toStringTag,{value:"Module"})});
1
+ define(["require","exports","../.chunks/forms-CORLOoYZ.amd"],function(a,e,i){"use strict";if(typeof l>"u")var l=window.Vue;e.get$scroll=i.get$scroll,e.getCommandKeyLabel=i.getCommandKeyLabel,e.getElsScroll=i.getElsScroll,e.getOS=i.getOS,e.getOSAsync=i.getOSAsync,e.getScrollTop=i.getScrollTop,e.isApp=i.isApp,e.isMacOS=i.isMacOS,e.isMobile=i.isMobile,e.isRetina=i.isRetina,e.isSafari=i.isSafari,Object.defineProperty(e,Symbol.toStringTag,{value:"Module"})});
2
2
  //# sourceMappingURL=device.amd.js.map
package/utils/device.js CHANGED
@@ -1,4 +1,4 @@
1
- import { H as e, F as i, I as l, J as o, K as t, G as g, B as r, D as S, A as c, z as p, i as m } from "../.chunks/forms-C4-jc5q2.es.js";
1
+ import { H as e, F as i, I as l, J as o, K as t, G as g, B as r, D as S, A as c, z as p, i as m } from "../.chunks/forms-CHyoeELv.es.js";
2
2
  export {
3
3
  e as get$scroll,
4
4
  i as getCommandKeyLabel,
@@ -1,2 +1,2 @@
1
- define(["require","exports","../.chunks/forms-CiwhEtPE.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"})});
1
+ define(["require","exports","../.chunks/forms-CORLOoYZ.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
2
  //# sourceMappingURL=lodash.amd.js.map
package/utils/lodash.js CHANGED
@@ -1,9 +1,9 @@
1
- import { L as a, r, M as s, O as m, N as t } from "../.chunks/forms-C4-jc5q2.es.js";
1
+ import { L as s, s as a, M as m, O as r, N as t } from "../.chunks/forms-CHyoeELv.es.js";
2
2
  export {
3
- a as cloneDeep,
4
- r as debounce,
5
- s as memoize,
6
- m as merge,
3
+ s as cloneDeep,
4
+ a as debounce,
5
+ m as memoize,
6
+ r as merge,
7
7
  t as throttle
8
8
  };
9
9
  //# sourceMappingURL=lodash.js.map
@@ -1,2 +1,2 @@
1
- define(["require","exports","../.chunks/forms-CiwhEtPE.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"})});
1
+ define(["require","exports","../.chunks/forms-CORLOoYZ.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
2
  //# sourceMappingURL=price.amd.js.map
package/utils/price.js CHANGED
@@ -1,4 +1,4 @@
1
- import { u as o, C as s } from "../.chunks/forms-C4-jc5q2.es.js";
1
+ import { u as o, C as s } from "../.chunks/forms-CHyoeELv.es.js";
2
2
  const a = (t, e, c = s.state.currency) => {
3
3
  e = e ?? o().value;
4
4
  let r = t.toLocaleString(e, { style: "currency", currency: c, maximumFractionDigits: 2 });
@@ -1,2 +1,2 @@
1
- define(["require","exports","./check.amd","../.chunks/forms-CiwhEtPE.amd"],function(j,c,i,u){"use strict";if(typeof p>"u")var p=window.Vue;const h=e=>{e+="";let l=0;if(!e.length)return l;for(let a=0;a<e.length;a++){const n=e.charCodeAt(a);l=(l<<5)-l+n,l=l&l}return l<0&&(l*=-1),l},s=e=>/^\w+:\/\/([\w-]+\.)+[\w-]+(:\d+)?(\/|$)/.test(e),f=e=>{e+="",e=e.replace("-","–");let l=e.split("."),a=l[0],n=l.length>1?"."+l[1]:"";if(a.replace(/[+–]/,"").length<=4)return e;const o=/(\d+)(\d{3})/;for(;o.test(a);)a=a.replace(o,"$1 $2");return a+n},d=e=>e===void 0?"":e.replace(/\r\n|\r|\n/g,"<br>"),g=(e,l=2,a=1e3,n="")=>{const o=Math.pow(10,l);let r=String(e);return Math.abs(e)>Math.pow(a,3)?r=Math.round(e/Math.pow(a,3)*o)/o+" <small>G"+n+"</small>":Math.abs(e)>Math.pow(a,2)?r=Math.round(e/Math.pow(a,2)*o)/o+" <small>M"+n+"</small>":Math.abs(e)>a&&(r=Math.round(e/a*o)/o+" <small>K"+n+"</small>"),r=r.replace(/^(-?\d+)(\d{3})/,"$1 $2"),r},m=(e,l,a=1)=>{if(e==null)return"";if(e+="",l==null||e.length<=l)return e;if(a===0)e=e.substr(e.length-l,l),e="..."+e;else if(a===1){const n=e.substr(0,l/2),o=e.substr(e.length-l/2,Math.ceil(l/2));e=n+"..."+o}else a===2&&(e=e.substr(0,l),e=e+"...");return e},w=(e,l,a,n)=>{if(u.useI18nLang().value==="en")return e===1?a:l;const o=e%100,r=e%10;return o>=5&&o<=20||r===0?l:r===1?a:r>=2&&r<=4?n:r>=5&&r<=9?l:n},b=e=>{if(u.useI18nLang().value!="ru"||e=="")return e;const l=e.split(" ");return $.map(l,function(a,n){a=a+"а",a=a.replace("оа","о"),a=a.replace("аяа","ой"),a=a.replace("шийа","шого"),a=a.replace("ыйа","ого"),a=a.replace("йа","я"),a=a.replace("ьа","я"),a=a.replace("яа","и"),a=a.replace("оваа","овой"),a=a.replace("аа","ы"),a=a.replace("кия","кого"),a=a.replace("каи","кой"),l[n]=a}),e=l.join(" "),e},C=e=>{const l={а:"a",б:"b",в:"v",г:"g",д:"d",е:"e",ё:"e",ж:"j",з:"z",и:"i",й:"i",к:"k",л:"l",м:"m",н:"n",о:"o",п:"p",р:"r",с:"s",т:"t",у:"u",ф:"f",х:"h",ц:"c",ч:"ch",ш:"sh",щ:"shch",ъ:"",ы:"y",ь:"",э:"e",ю:"u",я:"ya"},a=e.split(" ");return $.map(a,function(n,o){const r=[];for(let t=0;t<n.length;++t)r.push(l[n[t]]||l[n[t].toLowerCase()]==null&&n[t]||l[n[t].toLowerCase()].replace(/^(.)/,function(A){return A.toUpperCase()}));a[o]=r.join("")}),e=a.join(" "),e},M=e=>(typeof e=="string"&&(e=e.replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;").replace(/"/g,"&quot;").replace(/'/g,"&#039;")),e),k=(e,l)=>{let a=null;switch(l.operator){case"CONTAINS":case"REGEXP":try{let n=l.values[0];l.operator!="REGEXP"&&(n=n.replace(/([()\[\]])/g,"\\$1")),a=new RegExp("("+n+")","gi")}catch{return e}break}return e=e.replace(a,'<b class="found">$1</b>'),e},y=e=>{var l;return(l=e.match(/[A-Z]{2,}(?=[A-Z][a-z]+[0-9]*|\b)|[A-Z]?[a-z]+[0-9]*|[A-Z]|[0-9]+/g))==null?void 0:l.map(a=>a.toLowerCase()).join("_")},v=e=>`/controller/file/?src=${"/cloud/common/flags/"+e.toUpperCase()+".svg"}`,L=e=>{const l=i.getDomainRegexp(),a="(([\\/?\\w&=%+#;:-]*(\\.\\w+)?))*",n=new RegExp(`(^|[\\s>(),])([a-z0-9а-яё_.]+@${l}${a})`,"gui");e=e.replace(n,'$1<a href="mailto:$2" target="_blank" rel="noopener">↑[$2]↓</a>');const o=new RegExp(`(^|[\\s>(),])(https?://)?(${l}${a})`,"gui");return e=e.replace(o,'$1<a href="√$2$3" target="_blank" rel="nofollow noopener">$2$3</a>'),e=e.replaceAll("√http","http"),e=e.replaceAll("√","http://"),e=e.replaceAll(/(↑\[|]↓)/g,""),e},R=e=>e.charAt(0).toUpperCase()+e.slice(1),E=(e=20)=>{const l="AaBbCcDdEeFfGgHhIiJjKkLlMmNnOoPpQqRrSsTtUuVvWwXxYyZz1234567890";let a="";for(let n=0;n<e;n++)a+=l[Math.floor(Math.random()*l.length)];return a};c.addCommasWhite=f,c.addLinkTags=L,c.camelToSnakeCase=y,c.ellipsis=m,c.genFlagLinkByCountryCode=v,c.genIntHash=h,c.getRandomHash=E,c.highlightHtml=k,c.htmlspecialchars=M,c.isUrl=s,c.nl2br=d,c.numberEnding=w,c.numberWithWord=g,c.rusToLatin=C,c.toCapitalize=R,c.toRoditPadej=b,Object.defineProperty(c,Symbol.toStringTag,{value:"Module"})});
1
+ define(["require","exports","./check.amd","../.chunks/forms-CORLOoYZ.amd"],function(j,c,i,u){"use strict";if(typeof p>"u")var p=window.Vue;const h=e=>{e+="";let l=0;if(!e.length)return l;for(let a=0;a<e.length;a++){const n=e.charCodeAt(a);l=(l<<5)-l+n,l=l&l}return l<0&&(l*=-1),l},s=e=>/^\w+:\/\/([\w-]+\.)+[\w-]+(:\d+)?(\/|$)/.test(e),f=e=>{e+="",e=e.replace("-","–");let l=e.split("."),a=l[0],n=l.length>1?"."+l[1]:"";if(a.replace(/[+–]/,"").length<=4)return e;const o=/(\d+)(\d{3})/;for(;o.test(a);)a=a.replace(o,"$1 $2");return a+n},d=e=>e===void 0?"":e.replace(/\r\n|\r|\n/g,"<br>"),g=(e,l=2,a=1e3,n="")=>{const o=Math.pow(10,l);let r=String(e);return Math.abs(e)>Math.pow(a,3)?r=Math.round(e/Math.pow(a,3)*o)/o+" <small>G"+n+"</small>":Math.abs(e)>Math.pow(a,2)?r=Math.round(e/Math.pow(a,2)*o)/o+" <small>M"+n+"</small>":Math.abs(e)>a&&(r=Math.round(e/a*o)/o+" <small>K"+n+"</small>"),r=r.replace(/^(-?\d+)(\d{3})/,"$1 $2"),r},m=(e,l,a=1)=>{if(e==null)return"";if(e+="",l==null||e.length<=l)return e;if(a===0)e=e.substr(e.length-l,l),e="..."+e;else if(a===1){const n=e.substr(0,l/2),o=e.substr(e.length-l/2,Math.ceil(l/2));e=n+"..."+o}else a===2&&(e=e.substr(0,l),e=e+"...");return e},w=(e,l,a,n)=>{if(u.useI18nLang().value==="en")return e===1?a:l;const o=e%100,r=e%10;return o>=5&&o<=20||r===0?l:r===1?a:r>=2&&r<=4?n:r>=5&&r<=9?l:n},b=e=>{if(u.useI18nLang().value!="ru"||e=="")return e;const l=e.split(" ");return $.map(l,function(a,n){a=a+"а",a=a.replace("оа","о"),a=a.replace("аяа","ой"),a=a.replace("шийа","шого"),a=a.replace("ыйа","ого"),a=a.replace("йа","я"),a=a.replace("ьа","я"),a=a.replace("яа","и"),a=a.replace("оваа","овой"),a=a.replace("аа","ы"),a=a.replace("кия","кого"),a=a.replace("каи","кой"),l[n]=a}),e=l.join(" "),e},C=e=>{const l={а:"a",б:"b",в:"v",г:"g",д:"d",е:"e",ё:"e",ж:"j",з:"z",и:"i",й:"i",к:"k",л:"l",м:"m",н:"n",о:"o",п:"p",р:"r",с:"s",т:"t",у:"u",ф:"f",х:"h",ц:"c",ч:"ch",ш:"sh",щ:"shch",ъ:"",ы:"y",ь:"",э:"e",ю:"u",я:"ya"},a=e.split(" ");return $.map(a,function(n,o){const r=[];for(let t=0;t<n.length;++t)r.push(l[n[t]]||l[n[t].toLowerCase()]==null&&n[t]||l[n[t].toLowerCase()].replace(/^(.)/,function(A){return A.toUpperCase()}));a[o]=r.join("")}),e=a.join(" "),e},M=e=>(typeof e=="string"&&(e=e.replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;").replace(/"/g,"&quot;").replace(/'/g,"&#039;")),e),k=(e,l)=>{let a=null;switch(l.operator){case"CONTAINS":case"REGEXP":try{let n=l.values[0];l.operator!="REGEXP"&&(n=n.replace(/([()\[\]])/g,"\\$1")),a=new RegExp("("+n+")","gi")}catch{return e}break}return e=e.replace(a,'<b class="found">$1</b>'),e},y=e=>{var l;return(l=e.match(/[A-Z]{2,}(?=[A-Z][a-z]+[0-9]*|\b)|[A-Z]?[a-z]+[0-9]*|[A-Z]|[0-9]+/g))==null?void 0:l.map(a=>a.toLowerCase()).join("_")},v=e=>`/controller/file/?src=${"/cloud/common/flags/"+e.toUpperCase()+".svg"}`,L=e=>{const l=i.getDomainRegexp(),a="(([\\/?\\w&=%+#;:-]*(\\.\\w+)?))*",n=new RegExp(`(^|[\\s>(),])([a-z0-9а-яё_.]+@${l}${a})`,"gui");e=e.replace(n,'$1<a href="mailto:$2" target="_blank" rel="noopener">↑[$2]↓</a>');const o=new RegExp(`(^|[\\s>(),])(https?://)?(${l}${a})`,"gui");return e=e.replace(o,'$1<a href="√$2$3" target="_blank" rel="nofollow noopener">$2$3</a>'),e=e.replaceAll("√http","http"),e=e.replaceAll("√","http://"),e=e.replaceAll(/(↑\[|]↓)/g,""),e},R=e=>e.charAt(0).toUpperCase()+e.slice(1),E=(e=20)=>{const l="AaBbCcDdEeFfGgHhIiJjKkLlMmNnOoPpQqRrSsTtUuVvWwXxYyZz1234567890";let a="";for(let n=0;n<e;n++)a+=l[Math.floor(Math.random()*l.length)];return a};c.addCommasWhite=f,c.addLinkTags=L,c.camelToSnakeCase=y,c.ellipsis=m,c.genFlagLinkByCountryCode=v,c.genIntHash=h,c.getRandomHash=E,c.highlightHtml=k,c.htmlspecialchars=M,c.isUrl=s,c.nl2br=d,c.numberEnding=w,c.numberWithWord=g,c.rusToLatin=C,c.toCapitalize=R,c.toRoditPadej=b,Object.defineProperty(c,Symbol.toStringTag,{value:"Module"})});
2
2
  //# sourceMappingURL=string.amd.js.map
package/utils/string.js CHANGED
@@ -1,5 +1,5 @@
1
1
  import { getDomainRegexp as u } from "./check.js";
2
- import { u as n } from "../.chunks/forms-C4-jc5q2.es.js";
2
+ import { u as n } from "../.chunks/forms-CHyoeELv.es.js";
3
3
  const i = (e) => {
4
4
  e += "";
5
5
  let l = 0;
@@ -1,172 +0,0 @@
1
- import { Core as w } from "../core/app.js";
2
- import { reactive as N, defineComponent as k, ref as T, computed as S, resolveComponent as z, withDirectives as D, openBlock as r, createElementBlock as g, normalizeClass as E, createElementVNode as _, createCommentVNode as h, createBlock as C, mergeProps as j, Teleport as x, Fragment as V, renderList as A, unref as F, normalizeStyle as J } from "vue";
3
- import { C as p } from "./forms-C4-jc5q2.es.js";
4
- import { genIntHash as O, nl2br as W } from "../utils/string.js";
5
- const I = ["../assets/notice.css"].map((e) => import.meta.resolve(e));
6
- w.insertCSSLinkToPage(I, !0);
7
- const v = 300, u = N(/* @__PURE__ */ new Map()), q = (e, n, t) => "top-notice_" + O(e + n + JSON.stringify(t)), ne = (e, n = "info", t) => {
8
- let i = "";
9
- e = String(e);
10
- const d = q(e, n, t);
11
- if (t != null && t.title)
12
- i = t.title;
13
- else {
14
- const c = e.split(`
15
- `);
16
- c.length && (i = String(c.shift()), e = c.join(`
17
- `));
18
- }
19
- const s = u.get(d);
20
- if (s) {
21
- G(s);
22
- return;
23
- }
24
- const a = {
25
- id: d,
26
- title: i,
27
- text: e,
28
- style: n,
29
- buttonProps: t == null ? void 0 : t.buttonProps,
30
- metaText: t == null ? void 0 : t.metaText,
31
- isSafeHTML: t == null ? void 0 : t.isSafeHTML,
32
- onClose: t == null ? void 0 : t.onClose
33
- };
34
- if (u.set(a.id, a), u.size > 5) {
35
- const [c, f] = [...u].at(0) || [];
36
- f && y(f);
37
- }
38
- p.state.isMobile && $("input").one("click", () => y(a));
39
- }, G = (e) => {
40
- e.hightlight = !0, setTimeout(() => e.hightlight = !1, v);
41
- }, y = (e) => {
42
- e.forceClosed = !0, setTimeout(() => {
43
- var n;
44
- (n = e.onClose) == null || n.call(e), u.delete(e.id);
45
- }, v);
46
- }, H = (e) => {
47
- const n = "hacking was detected";
48
- return e = e.replace(/<script/g, n), e = e.replace(/<img/g, n), e = e.replace(/<iframe/g, n), e = e.replace(/javascript:/g, n), e = e.replace(/<[^>]+ (@|on)\w+=[^>]+>?/g, n), e;
49
- }, K = { class: "top-notice_itemTextWrapper" }, Q = ["innerHTML"], R = ["innerHTML"], U = ["innerHTML"], X = ["title"], Y = /* @__PURE__ */ k({
50
- __name: "item",
51
- props: {
52
- id: {},
53
- title: {},
54
- text: {},
55
- style: {},
56
- metaText: {},
57
- buttonProps: {},
58
- isSafeHTML: { type: Boolean },
59
- hightlight: { type: Boolean },
60
- forceClosed: { type: Boolean }
61
- },
62
- emits: ["close"],
63
- setup(e, { emit: n }) {
64
- const t = e, i = n, d = T(!1);
65
- setTimeout(() => d.value = !0, 10);
66
- const s = T(!1), a = T("right"), c = S(() => {
67
- let o = t.title.replace(/ {2}/g, "&nbsp;");
68
- return t.isSafeHTML || (o = H(o)), o;
69
- }), f = S(() => {
70
- let o = W(t.text);
71
- return o = o.replace(/ {2}/g, "&nbsp;"), t.isSafeHTML || (o = H(o)), o;
72
- }), m = (o) => {
73
- s.value = !0, o && (a.value = o), setTimeout(() => i("close"), v);
74
- }, P = (o) => {
75
- const { tagName: l } = o.target;
76
- l === "A" && m();
77
- }, B = {
78
- mounted: (o) => {
79
- if (!p.state.isMobile || !p.$ || !p.$.ui.draggable) return;
80
- let l = "right";
81
- p.$(o).draggable({
82
- revert: !1,
83
- axis: "x",
84
- drag: (b, L) => {
85
- l = L.position.left > 0 ? "right" : "left";
86
- },
87
- stop: (b, L) => {
88
- m(l);
89
- }
90
- });
91
- }
92
- };
93
- return (o, l) => {
94
- const M = z("TopButton");
95
- return D((r(), g("div", {
96
- class: E(["top-notice_item", {
97
- ["top-notice_item-" + o.style]: !0,
98
- "top-notice_item-hightlight": o.hightlight,
99
- "top-notice_item-showed": d.value,
100
- "top-notice_item-closed": s.value || o.forceClosed,
101
- ["top-notice_item-closed_" + a.value]: s.value
102
- }]),
103
- onClick: P
104
- }, [
105
- _("div", K, [
106
- c.value ? (r(), g("div", {
107
- key: 0,
108
- class: "top-notice_itemTitle",
109
- innerHTML: c.value
110
- }, null, 8, Q)) : h("", !0),
111
- f.value ? (r(), g("div", {
112
- key: 1,
113
- class: "top-notice_itemText",
114
- innerHTML: f.value
115
- }, null, 8, R)) : h("", !0)
116
- ]),
117
- o.buttonProps ? (r(), C(M, j({
118
- key: 0,
119
- class: "top-notice_itemButton",
120
- size: "s"
121
- }, o.buttonProps, {
122
- title: o.buttonProps.title,
123
- innerHTML: o.buttonProps.default,
124
- onClick: l[0] || (l[0] = (b) => m())
125
- }), null, 16, ["title", "innerHTML"])) : h("", !0),
126
- o.metaText ? (r(), g("div", {
127
- key: 1,
128
- class: "top-notice_itemMetaText",
129
- innerHTML: o.metaText
130
- }, null, 8, U)) : h("", !0),
131
- _("div", {
132
- class: "top-notice_itemClose",
133
- "data-top-icon": "",
134
- title: o.$i18n.Common.Close,
135
- onClick: l[1] || (l[1] = () => m())
136
- }, null, 8, X)
137
- ], 2)), [
138
- [B]
139
- ]);
140
- };
141
- }
142
- }), Z = { class: "top-notice" }, ie = /* @__PURE__ */ k({
143
- __name: "notice",
144
- setup(e) {
145
- const n = (t) => {
146
- var i;
147
- (i = t.onClose) == null || i.call(t), u.delete(t.id);
148
- };
149
- return (t, i) => (r(), C(x, { to: "body" }, [
150
- _("div", Z, [
151
- (r(!0), g(V, null, A(F(u), ([d, s]) => (r(), C(Y, {
152
- key: s.id,
153
- id: s.id,
154
- title: s.title,
155
- text: s.text,
156
- style: J(s.style),
157
- buttonProps: s.buttonProps,
158
- metaText: s.metaText,
159
- isSafeHTML: s.isSafeHTML,
160
- forceClosed: s.forceClosed,
161
- hightlight: s.hightlight,
162
- onClose: (a) => n(s)
163
- }, null, 8, ["id", "title", "text", "style", "buttonProps", "metaText", "isSafeHTML", "forceClosed", "hightlight", "onClose"]))), 128))
164
- ])
165
- ]));
166
- }
167
- });
168
- export {
169
- ie as default,
170
- ne as show
171
- };
172
- //# sourceMappingURL=notice-Dgu-SIPq.es.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"notice-Dgu-SIPq.es.js","sources":["../../src/components/core/notice/utils.ts","../../src/components/core/notice/item/item.vue","../../src/components/core/notice/notice.vue"],"sourcesContent":["import { reactive } from 'vue';\r\nimport type { Props as ItemProps, Props, Style } from '@/components/core/notice/item/types';\r\nimport Core from '@/core/core/core';\r\nimport { genIntHash } from '@/core/utils/string';\r\n\r\nexport const transitionDuration = 300;\r\n\r\nexport type Item = Props & { onClose?: Function };\r\n\r\nexport const itemById = reactive(new Map<string, Item>());\r\n\r\nconst genItemId = (text: ItemProps['text'], style: ItemProps['style'], options?: Options) => {\r\n\treturn 'top-notice_' + genIntHash(text + style + JSON.stringify(options));\r\n};\r\n\r\nexport type Options = {\r\n\ttitle?: ItemProps['title'],\r\n\tmetaText?: ItemProps['metaText'],\r\n\tbuttonProps?: ItemProps['buttonProps'],\r\n\tisSafeHTML?: ItemProps['isSafeHTML'],\r\n\tonClose?: Function\r\n}\r\n\r\n/**\r\n * Показать сообщением в стиле push уведомления\r\n *\r\n * title будет получен из первой строки text\r\n *\r\n * Если в options указан title, он будет взят оттуда\r\n */\r\nexport const show = (text: string, style: Style = 'info', options?: Options) => {\r\n\tlet title = '';\r\n\r\n\ttext = String(text);\r\n\r\n\tconst id = genItemId(text, style, options);\r\n\r\n\tif (options?.title) {\r\n\t\ttitle = options.title;\r\n\t} else {\r\n\t\tconst chunks = text.split('\\n');\r\n\r\n\t\tif (chunks.length) {\r\n\t\t\ttitle = String(chunks.shift());\r\n\t\t\ttext = chunks.join('\\n');\r\n\t\t}\r\n\t}\r\n\r\n\tconst itemExists = itemById.get(id);\r\n\tif (itemExists) {\r\n\t\thightlight(itemExists);\r\n\r\n\t\treturn;\r\n\t}\r\n\r\n\tconst item: Item = {\r\n\t\tid,\r\n\t\ttitle,\r\n\t\ttext,\r\n\t\tstyle,\r\n\t\tbuttonProps: options?.buttonProps,\r\n\t\tmetaText: options?.metaText,\r\n\t\tisSafeHTML: options?.isSafeHTML,\r\n\t\tonClose: options?.onClose,\r\n\t};\r\n\r\n\titemById.set(item.id, item);\r\n\r\n\tif (itemById.size > 5) {\r\n\t\tconst [_firstId, firstItem] = [...itemById].at(0) || [];\r\n\t\tif (firstItem) close(firstItem);\r\n\t}\r\n\r\n\t/**\r\n\t * Автозакрытие ошибок форм\r\n\t *\r\n\t * Добавляет\r\n\t */\r\n\tif (Core.state.isMobile) {\r\n\t\t$('input').one('click', () => close(item));\r\n\t}\r\n};\r\n\r\nconst hightlight = (item: Item) => {\r\n\titem.hightlight = true;\r\n\r\n\tsetTimeout(() => item.hightlight = false, transitionDuration);\r\n};\r\n\r\nconst close = (item: Item) => {\r\n\titem.forceClosed = true;\r\n\r\n\tsetTimeout(() => {\r\n\t\titem.onClose?.();\r\n\r\n\t\titemById.delete(item.id);\r\n\t}, transitionDuration);\r\n};\r\n\r\n/**\r\n * Убрать подозрительный html код\r\n */\r\nexport const prepareText = (text: string) => {\r\n\tconst textNoSafety = 'hacking was detected';\r\n\r\n\ttext = text.replace(/<script/g, textNoSafety);\r\n\ttext = text.replace(/<img/g, textNoSafety);\r\n\ttext = text.replace(/<iframe/g, textNoSafety);\r\n\ttext = text.replace(/javascript:/g, textNoSafety);\r\n\ttext = text.replace(/<[^>]+ (@|on)\\w+=[^>]+>?/g, textNoSafety);\r\n\r\n\treturn text;\r\n};\r\n","<script setup lang=\"ts\">\r\nimport { computed, ref } from 'vue';\r\n\r\nimport Core from '@/core/core/core';\r\nimport { nl2br } from '@/core/utils/string';\r\n\r\nimport type { Emits, Props } from './types';\r\nimport { prepareText, transitionDuration } from '@/components/core/notice/utils';\r\n\r\nconst props = defineProps<Props>();\r\n\r\nconst emit = defineEmits<Emits>();\r\n\r\n// анимация появления\r\nconst showed = ref(false);\r\nsetTimeout(() => showed.value = true, 10);\r\n\r\n// анимация закрытия\r\nconst closed = ref(false);\r\nconst closedDirection = ref<'top' | 'right' | 'bottom' | 'left'>('right');\r\n\r\nconst title = computed(() => {\r\n\tlet res = props.title.replace(/ {2}/g, '&nbsp;');\r\n\r\n\tif (!props.isSafeHTML) res = prepareText(res);\r\n\r\n\treturn res;\r\n});\r\n\r\nconst text = computed(() => {\r\n\tlet res = nl2br(props.text);\r\n\r\n\tres = res.replace(/ {2}/g, '&nbsp;');\r\n\r\n\tif (!props.isSafeHTML) res = prepareText(res);\r\n\r\n\treturn res;\r\n});\r\n\r\nconst close = (direction?: typeof closedDirection.value) => {\r\n\tclosed.value = true;\r\n\r\n\tif (direction) {\r\n\t\tclosedDirection.value = direction;\r\n\t}\r\n\r\n\tsetTimeout(() => emit('close'), transitionDuration);\r\n};\r\n\r\nconst onClick = (e: MouseEvent) => {\r\n\tconst { tagName } = e.target as HTMLElement;\r\n\r\n\tif (tagName === 'A') close();\r\n};\r\n\r\nconst vSwipe = {\r\n\tmounted: (el: HTMLElement) => {\r\n\t\tif (!Core.state.isMobile) return;\r\n\r\n\t\tif (!Core.$ || !Core.$.ui['draggable']) return;\r\n\r\n\t\tlet direction: typeof closedDirection.value = 'right';\r\n\r\n\t\tlet axis = 'x';\r\n\t\t// if (getOS() === 'iOS') axis = 'y';\r\n\r\n\t\tCore.$(el).draggable({\r\n\t\t\trevert: false,\r\n\t\t\taxis,\r\n\t\t\tdrag: (e, ui) => {\r\n\t\t\t\tif (axis == 'x') {\r\n\t\t\t\t\tdirection = ui.position.left > 0 ? 'right' : 'left';\r\n\t\t\t\t} else {\r\n\t\t\t\t\tdirection = ui.position.top > 0 ? 'bottom' : 'top';\r\n\t\t\t\t}\r\n\t\t\t},\r\n\t\t\tstop: (_e, _ui) => {\r\n\t\t\t\tclose(direction);\r\n\t\t\t},\r\n\t\t});\r\n\t},\r\n};\r\n\r\n// const vSwipe = {\r\n// \tmounted: (el: HTMLElement) => {\r\n// \t\tconst { distanceX, direction } = usePointerSwipe(el, {\r\n// \t\t\tdisableTextSelect: true,\r\n// \t\t\tonSwipe(e: PointerEvent) {\r\n// \t\t\t\tleft.value = -distanceX.value + 'px';\r\n// \t\t\t},\r\n// \t\t\tonSwipeEnd: (_e, direction) => {\r\n// \t\t\t\tclose(direction);\r\n// \t\t\t},\r\n// \t\t});\r\n// \t},\r\n// };\r\n</script>\r\n\r\n<template>\r\n\t<div\r\n\t\tclass=\"top-notice_item\"\r\n\t\t:class=\"{\r\n\t\t\t['top-notice_item-' + style]: true,\r\n\t\t\t'top-notice_item-hightlight': hightlight,\r\n\t\t\t'top-notice_item-showed': showed,\r\n\t\t\t'top-notice_item-closed': closed || forceClosed,\r\n\t\t\t['top-notice_item-closed_' + closedDirection]: closed,\r\n\t\t}\"\r\n\t\t@click=\"onClick\"\r\n\t\tv-swipe\r\n\t>\r\n\t\t<div class=\"top-notice_itemTextWrapper\">\r\n\t\t\t<div v-if=\"title\" class=\"top-notice_itemTitle\" v-html=\"title\"></div>\r\n\t\t\t<div v-if=\"text\" class=\"top-notice_itemText\" v-html=\"text\"></div>\r\n\t\t</div>\r\n\r\n\t\t<TopButton\r\n\t\t\tv-if=\"buttonProps\"\r\n\t\t\tclass=\"top-notice_itemButton\"\r\n\t\t\tsize=\"s\"\r\n\t\t\t:=\"buttonProps\"\r\n\t\t\t:title=\"buttonProps.title\"\r\n\t\t\tv-html=\"buttonProps.default\"\r\n\t\t\t@click=\"close()\"\r\n\t\t/>\r\n\r\n\t\t<div v-if=\"metaText\" class=\"top-notice_itemMetaText\" v-html=\"metaText\"></div>\r\n\r\n\t\t<div\r\n\t\t\tclass=\"top-notice_itemClose\"\r\n\t\t\tdata-top-icon=\"\"\r\n\t\t\t:title=\"$i18n.Common.Close\"\r\n\t\t\t@click=\"() => close()\"\r\n\t\t></div>\r\n\t</div>\r\n</template>\r\n\r\n<style>\r\n@import \"style.css\";\r\n</style>\r\n","<!-- performance all in one file component, для Core.notice() -->\r\n<script lang=\"ts\">\r\nexport { show } from './utils';\r\n</script>\r\n\r\n<script setup lang=\"ts\">\r\nimport type { Item } from './utils';\r\nimport { itemById } from './utils';\r\n\r\nimport type { Props } from './types';\r\nimport TopNoticeItem from './item/item.vue';\r\n\r\ndefineProps<Props>();\r\n\r\nconst onCloseItem = (item: Item) => {\r\n\titem.onClose?.();\r\n\r\n\titemById.delete(item.id);\r\n};\r\n</script>\r\n\r\n<template>\r\n\t<teleport to=\"body\">\r\n\t\t<div class=\"top-notice\">\r\n\t\t\t<TopNoticeItem\r\n\t\t\t\tv-for=\"[_index, item] in itemById\"\r\n\t\t\t\t:key=\"item.id\"\r\n\t\t\t\t:id=\"item.id\"\r\n\t\t\t\t:title=\"item.title\"\r\n\t\t\t\t:text=\"item.text\"\r\n\t\t\t\t:style=\"item.style\"\r\n\t\t\t\t:buttonProps=\"item.buttonProps\"\r\n\t\t\t\t:metaText=\"item.metaText\"\r\n\t\t\t\t:isSafeHTML=\"item.isSafeHTML\"\r\n\t\t\t\t:forceClosed=\"item.forceClosed\"\r\n\t\t\t\t:hightlight=\"item.hightlight\"\r\n\t\t\t\t@close=\"onCloseItem(item)\"\r\n\t\t\t/>\r\n\t\t</div>\r\n\t</teleport>\r\n</template>\r\n\r\n<style>\r\n:root {\r\n\t--top-notice-top: var(--top-padding-4);\r\n\t--top-notice-right: var(--top-padding-4);\r\n}\r\n\r\n.top-notice {\r\n\twidth: 400px;\r\n\tfont-size: 14px;\r\n\tposition: fixed; top: var(--top-notice-top); right: var(--top-notice-right);\r\n\tz-index: 1000010;\r\n\tdisplay: flex; flex-direction: column-reverse; gap: var(--top-gap-2);\r\n}\r\n\r\n.top-notice ul {\r\n\tpadding: 0 0 0 var(--top-padding-5);\r\n}\r\n\r\n@media only screen and (max-width: 600px) {\r\n\t:root {\r\n\t\t--top-notice-top: var(--top-padding-4);\r\n\t\t--top-notice-right: var(--top-padding-4);\r\n\t}\r\n\r\n\t.top-notice { width: auto; left: var(--top-notice-right); }\r\n}\r\n</style>\r\n"],"names":["transitionDuration","itemById","reactive","genItemId","text","style","options","genIntHash","show","title","id","chunks","itemExists","hightlight","item","_firstId","firstItem","close","Core","_a","prepareText","textNoSafety","props","__props","emit","__emit","showed","ref","closed","closedDirection","computed","res","nl2br","direction","onClick","e","tagName","vSwipe","el","ui","_e","_ui","onCloseItem"],"mappings":";;;;;;AAKO,MAAAA,IAAA,KAIAC,IAAAC,EAAA,oBAAA,IAAA,CAAA,GAEPC,IAAA,CAAAC,GAAAC,GAAAC,MACC,gBAAAC,EAAAH,IAAAC,IAAA,KAAA,UAAAC,CAAA,CAAA,GAkBME,KAAA,CAAAJ,GAAAC,IAAA,QAAAC,MAAA;AACN,MAAAG,IAAA;AAEA,EAAAL,IAAA,OAAAA,CAAA;AAEA,QAAAM,IAAAP,EAAAC,GAAAC,GAAAC,CAAA;AAEA,MAAAA,KAAA,QAAAA,EAAA;AACC,IAAAG,IAAAH,EAAA;AAAA,OAAgB;AAEhB,UAAAK,IAAAP,EAAA,MAAA;AAAA,CAAA;AAEA,IAAAO,EAAA,WACCF,IAAA,OAAAE,EAAA,MAAA,CAAA,GACAP,IAAAO,EAAA,KAAA;AAAA,CAAA;AAAA,EACD;AAGD,QAAAC,IAAAX,EAAA,IAAAS,CAAA;AACA,MAAAE,GAAA;AACC,IAAAC,EAAAD,CAAA;AAEA;AAAA,EAAA;AAGD,QAAAE,IAAA;AAAA,IAAmB,IAAAJ;AAAA,IAClB,OAAAD;AAAA,IACA,MAAAL;AAAA,IACA,OAAAC;AAAA,IACA,aAAAC,KAAA,gBAAAA,EAAA;AAAA,IACsB,UAAAA,KAAA,gBAAAA,EAAA;AAAA,IACH,YAAAA,KAAA,gBAAAA,EAAA;AAAA,IACE,SAAAA,KAAA,gBAAAA,EAAA;AAAA,EACH;AAKnB,MAFAL,EAAA,IAAAa,EAAA,IAAAA,CAAA,GAEAb,EAAA,OAAA,GAAA;AACC,UAAA,CAAAc,GAAAC,CAAA,IAAA,CAAA,GAAAf,CAAA,EAAA,GAAA,CAAA,KAAA,CAAA;AACA,IAAAe,KAAAC,EAAAD,CAAA;AAAA,EAA8B;AAQ/B,EAAAE,EAAA,MAAA,YACC,EAAA,OAAA,EAAA,IAAA,SAAA,MAAAD,EAAAH,CAAA,CAAA;AAEF,GAEAD,IAAA,CAAAC,MAAA;AACC,EAAAA,EAAA,aAAA,IAEA,WAAA,MAAAA,EAAA,aAAA,IAAAd,CAAA;AACD,GAEAiB,IAAA,CAAAH,MAAA;AACC,EAAAA,EAAA,cAAA,IAEA,WAAA,MAAA;;AACC,KAAAK,IAAAL,EAAA,YAAA,QAAAK,EAAA,KAAAL,IAEAb,EAAA,OAAAa,EAAA,EAAA;AAAA,EAAuB,GAAAd,CAAA;AAEzB,GAKaoB,IAAA,CAAAhB,MAAA;AACZ,QAAAiB,IAAA;AAEA,SAAAjB,IAAAA,EAAA,QAAA,YAAAiB,CAAA,GACAjB,IAAAA,EAAA,QAAA,SAAAiB,CAAA,GACAjB,IAAAA,EAAA,QAAA,YAAAiB,CAAA,GACAjB,IAAAA,EAAA,QAAA,gBAAAiB,CAAA,GACAjB,IAAAA,EAAA,QAAA,6BAAAiB,CAAA,GAEAjB;AACD;;;;;;;;;;;;;;;ACvGA,UAAAkB,IAAAC,GAEAC,IAAAC,GAGAC,IAAAC,EAAA,EAAA;AACA,eAAA,MAAAD,EAAA,QAAA,IAAA,EAAA;AAGA,UAAAE,IAAAD,EAAA,EAAA,GACAE,IAAAF,EAAA,OAAA,GAEAlB,IAAAqB,EAAA,MAAA;AACC,UAAAC,IAAAT,EAAA,MAAA,QAAA,SAAA,QAAA;AAEA,aAAAA,EAAA,eAAAS,IAAAX,EAAAW,CAAA,IAEAA;AAAA,IAAO,CAAA,GAGR3B,IAAA0B,EAAA,MAAA;AACC,UAAAC,IAAAC,EAAAV,EAAA,IAAA;AAEA,aAAAS,IAAAA,EAAA,QAAA,SAAA,QAAA,GAEAT,EAAA,eAAAS,IAAAX,EAAAW,CAAA,IAEAA;AAAA,IAAO,CAAA,GAGRd,IAAA,CAAAgB,MAAA;AACC,MAAAL,EAAA,QAAA,IAEAK,MACCJ,EAAA,QAAAI,IAGD,WAAA,MAAAT,EAAA,OAAA,GAAAxB,CAAA;AAAA,IAAkD,GAGnDkC,IAAA,CAAAC,MAAA;AACC,YAAA,EAAA,SAAAC,EAAA,IAAAD,EAAA;AAEA,MAAAC,MAAA,OAAAnB,EAAA;AAAA,IAA2B,GAG5BoB,IAAA;AAAA,MAAe,SAAA,CAAAC,MAAA;AAIb,YAFA,CAAApB,EAAA,MAAA,YAEA,CAAAA,EAAA,KAAA,CAAAA,EAAA,EAAA,GAAA,UAAA;AAEA,YAAAe,IAAA;AAKA,QAAAf,EAAA,EAAAoB,CAAA,EAAA,UAAA;AAAA,UAAqB,QAAA;AAAA,UACZ,MAJT;AAAA,UAKC,MAAA,CAAAH,GAAAI,MAAA;AAGE,YAAAN,IAAAM,EAAA,SAAA,OAAA,IAAA,UAAA;AAAA,UAGD;AAAA,UACD,MAAA,CAAAC,GAAAC,MAAA;AAEC,YAAAxB,EAAAgB,CAAA;AAAA,UAAe;AAAA,QAChB,CAAA;AAAA,MACA;AAAA,IACF;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AClED,UAAAS,IAAA,CAAA5B,MAAA;;AACC,OAAAK,IAAAL,EAAA,YAAA,QAAAK,EAAA,KAAAL,IAEAb,EAAA,OAAAa,EAAA,EAAA;AAAA,IAAuB;;;;;;;;;;;;;;;;;;;;"}