@topvisor/ui 1.0.4 → 1.0.7

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 (149) hide show
  1. package/.chunks/{datepicker-BJGX0c7G.amd.js → datepicker-CRfiJCmp.amd.js} +2 -2
  2. package/.chunks/{datepicker-BJGX0c7G.amd.js.map → datepicker-CRfiJCmp.amd.js.map} +1 -1
  3. package/.chunks/{datepicker-3uPurK_5.es.js → datepicker-CugKFVIH.es.js} +2 -2
  4. package/.chunks/{datepicker-3uPurK_5.es.js.map → datepicker-CugKFVIH.es.js.map} +1 -1
  5. package/.chunks/{forms-D9r2-H5Y.es.js → forms-CHiMZ8vg.es.js} +758 -743
  6. package/.chunks/forms-CHiMZ8vg.es.js.map +1 -0
  7. package/.chunks/forms-CjYoXTEQ.amd.js +3 -0
  8. package/.chunks/forms-CjYoXTEQ.amd.js.map +1 -0
  9. package/.chunks/{listItem.vue_vue_type_script_setup_true_lang-Bdv8YBAk.es.js → listItem.vue_vue_type_script_setup_true_lang-Bb7B8CTJ.es.js} +4 -4
  10. package/.chunks/{listItem.vue_vue_type_script_setup_true_lang-Bdv8YBAk.es.js.map → listItem.vue_vue_type_script_setup_true_lang-Bb7B8CTJ.es.js.map} +1 -1
  11. package/.chunks/{listItem.vue_vue_type_script_setup_true_lang-BxpjEUsq.amd.js → listItem.vue_vue_type_script_setup_true_lang-CEF3WDJ_.amd.js} +2 -2
  12. package/.chunks/{listItem.vue_vue_type_script_setup_true_lang-BxpjEUsq.amd.js.map → listItem.vue_vue_type_script_setup_true_lang-CEF3WDJ_.amd.js.map} +1 -1
  13. package/.chunks/{menu-B0Ul7Kbg.es.js → menu-CHeV29rC.es.js} +2 -2
  14. package/.chunks/{menu-B0Ul7Kbg.es.js.map → menu-CHeV29rC.es.js.map} +1 -1
  15. package/.chunks/{menu-CbhB9e4x.amd.js → menu-D1lnYuWU.amd.js} +2 -2
  16. package/.chunks/{menu-CbhB9e4x.amd.js.map → menu-D1lnYuWU.amd.js.map} +1 -1
  17. package/.chunks/{popup-pQCswyfj.amd.js → popup-C4Tne4qA.amd.js} +5 -5
  18. package/.chunks/{popup-pQCswyfj.amd.js.map → popup-C4Tne4qA.amd.js.map} +1 -1
  19. package/.chunks/{popup-Coq_61yv.es.js → popup-D-G2sXks.es.js} +2 -3
  20. package/.chunks/{popup-Coq_61yv.es.js.map → popup-D-G2sXks.es.js.map} +1 -1
  21. package/.chunks/utils-BOlUthaH.es.js +91 -0
  22. package/.chunks/utils-BOlUthaH.es.js.map +1 -0
  23. package/.chunks/utils-x88W55mf.amd.js +2 -0
  24. package/.chunks/utils-x88W55mf.amd.js.map +1 -0
  25. package/assets/forms.css +1 -1
  26. package/assets/project.css +1 -1
  27. package/assets/themes/dark.css +1 -1
  28. package/assets/themes/light.css +1 -1
  29. package/components/forms/avatar/avatar.vue.d.ts +3 -33
  30. package/components/forms/button/button.vue.d.ts +11 -31
  31. package/components/forms/checkbox/checkbox.vue.d.ts +12 -16
  32. package/components/forms/controlLabel/controlLabel.vue.d.ts +9 -13
  33. package/components/forms/hint/hint.vue.d.ts +2 -11
  34. package/components/forms/input/input.vue.d.ts +13 -31
  35. package/components/forms/inputDate/inputDate.vue.d.ts +6 -27
  36. package/components/forms/inputRange/inputRange.vue.d.ts +10 -5
  37. package/components/forms/loadbar/loadbar.vue.d.ts +2 -2
  38. package/components/forms/radio/radio.vue.d.ts +12 -16
  39. package/components/forms/select/select.vue.d.ts +8 -27
  40. package/components/forms/switcher/switcher.vue.d.ts +12 -16
  41. package/components/forms/textarea/textarea.vue.d.ts +6 -29
  42. package/components/formsExt/editArea/editArea.vue.d.ts +9 -38
  43. package/components/formsExt/editInput/editInput.vue.d.ts +5 -14
  44. package/components/formsExt/menu/menu.vue.d.ts +6 -27
  45. package/components/formsExt/radioGroup/radioGroup.vue.d.ts +8 -27
  46. package/components/formsExt/selector2/api.d.ts +2 -2
  47. package/components/formsExt/selector2/itemMulti.vue.d.ts +5 -14
  48. package/components/formsExt/selector2/selector2.vue.d.ts +107 -35
  49. package/components/popup/alert/alert.vue.d.ts +17 -21
  50. package/components/popup/confirm/confirm.vue.d.ts +19 -23
  51. package/components/popup/popup/listItem.vue.d.ts +10 -28
  52. package/components/popup/popup/opener.vue.d.ts +10 -30
  53. package/components/popup/popup/popup.vue.d.ts +21 -43
  54. package/components/popup/popup/widgetInput.vue.d.ts +11 -29
  55. package/components/popup/prompt/prompt.vue.d.ts +19 -23
  56. package/components/popup/worker.d.ts +0 -4
  57. package/components/project/project.d.ts +2 -0
  58. package/components/project/selectorCompetitors/selectorCompetitors.vue.d.ts +6 -27
  59. package/components/project/selectorRegion/composables/compare.d.ts +12 -0
  60. package/components/project/selectorRegion/composables/selectRegion.d.ts +14 -0
  61. package/components/project/selectorRegion/composables/selectSearcher.d.ts +13 -0
  62. package/components/project/selectorRegion/composables/selectorRegion.d.ts +25 -0
  63. package/components/project/selectorRegion/selectorRegion.d.ts +182 -0
  64. package/components/project/selectorRegion/selectorRegion.vue.d.ts +25 -0
  65. package/components/project/selectorRegion/stories/searchers.d.ts +3 -0
  66. package/components/project/selectorRegion/utils/consts.d.ts +20 -0
  67. package/components/project/selectorRegion/utils/utils.d.ts +23 -0
  68. package/components/project/utils.d.ts +1 -0
  69. package/components/tabs/tabs/content.vue.d.ts +9 -13
  70. package/components/tabs/tabs/tab.vue.d.ts +9 -13
  71. package/components/tabs/tabs/tabs.vue.d.ts +11 -15
  72. package/components/tabsView/tabsView/menu.vue.d.ts +17 -20
  73. package/components/tabsView/tabsView/menuDelimeter.vue.d.ts +2 -2
  74. package/components/tabsView/tabsView/menuItem.vue.d.ts +11 -29
  75. package/components/tabsView/tabsView/menuTitle.vue.d.ts +10 -14
  76. package/components/tabsView/tabsView/store.d.ts +6 -6
  77. package/components/tabsView/tabsView/tabsView.vue.d.ts +15 -31
  78. package/core/app.amd.js +1 -1
  79. package/core/app.amd.js.map +1 -1
  80. package/core/app.js +2 -2
  81. package/core/core/core.d.ts +0 -8
  82. package/core/core.amd.js +1 -1
  83. package/core/core.js +1 -1
  84. package/core/utils/date.d.ts +2 -2
  85. package/core/utils/scroll.d.ts +7 -1
  86. package/core/utils/searchers.d.ts +40 -0
  87. package/forms/forms.amd.js +1 -1
  88. package/forms/forms.js +5 -5
  89. package/formsExt/formsExt.amd.js +1 -1
  90. package/formsExt/formsExt.amd.js.map +1 -1
  91. package/formsExt/formsExt.js +64 -64
  92. package/icomoon/Topvisor icons.json +5846 -0
  93. package/icomoon/demo.html +26 -26
  94. package/icomoon/fonts/Topvisor-2.svg +12 -12
  95. package/icomoon/fonts/Topvisor-2.ttf +0 -0
  96. package/icomoon/fonts/Topvisor-2.woff +0 -0
  97. package/icomoon/selection.json +1 -1
  98. package/icomoon/style.css +16 -16
  99. package/package.json +1 -1
  100. package/popup/popup.amd.js +1 -1
  101. package/popup/popup.amd.js.map +1 -1
  102. package/popup/popup.js +14 -14
  103. package/popup/worker.amd.js +1 -1
  104. package/popup/worker.d.ts +0 -4
  105. package/popup/worker.js +3 -4
  106. package/project/project.amd.js +1 -1
  107. package/project/project.amd.js.map +1 -1
  108. package/project/project.js +366 -45
  109. package/project/project.js.map +1 -1
  110. package/project/utils.amd.js +2 -0
  111. package/project/utils.amd.js.map +1 -0
  112. package/project/utils.d.ts +2 -0
  113. package/project/utils.js +6 -0
  114. package/project/utils.js.map +1 -0
  115. package/tabs/tabs.amd.js +1 -1
  116. package/tabs/tabs.js +1 -1
  117. package/tabsView/tabsView.amd.js +1 -1
  118. package/tabsView/tabsView.amd.js.map +1 -1
  119. package/tabsView/tabsView.js +150 -143
  120. package/tabsView/tabsView.js.map +1 -1
  121. package/utils/date.amd.js +1 -1
  122. package/utils/date.js +1 -1
  123. package/utils/device.amd.js +1 -1
  124. package/utils/device.js +1 -1
  125. package/utils/lodash.amd.js +1 -1
  126. package/utils/lodash.js +4 -4
  127. package/utils/price.amd.js +1 -1
  128. package/utils/price.amd.js.map +1 -1
  129. package/utils/price.js +6 -7
  130. package/utils/price.js.map +1 -1
  131. package/utils/scroll.amd.js +1 -1
  132. package/utils/scroll.amd.js.map +1 -1
  133. package/utils/scroll.js +10 -8
  134. package/utils/scroll.js.map +1 -1
  135. package/utils/searchers.amd.js +2 -0
  136. package/utils/searchers.amd.js.map +1 -0
  137. package/utils/searchers.d.ts +2 -0
  138. package/utils/searchers.js +130 -0
  139. package/utils/searchers.js.map +1 -0
  140. package/utils/string.amd.js +1 -1
  141. package/utils/string.amd.js.map +1 -1
  142. package/utils/string.js +1 -1
  143. package/.chunks/forms-BImXJ_ZO.amd.js +0 -3
  144. package/.chunks/forms-BImXJ_ZO.amd.js.map +0 -1
  145. package/.chunks/forms-D9r2-H5Y.es.js.map +0 -1
  146. package/.chunks/i18n-C_OH9IT3.amd.js +0 -2
  147. package/.chunks/i18n-C_OH9IT3.amd.js.map +0 -1
  148. package/.chunks/i18n-DuTvft1T.es.js +0 -26
  149. package/.chunks/i18n-DuTvft1T.es.js.map +0 -1
package/utils/device.js CHANGED
@@ -1,4 +1,4 @@
1
- import { A as e, y as i, B as l, D as o, F as t, z as g, w as r, x as S, v as c, u as p, i as m } from "../.chunks/forms-D9r2-H5Y.es.js";
1
+ import { G as e, D as i, H as l, I as o, J as t, F as g, A as r, B as S, z as c, y as p, i as m } from "../.chunks/forms-CHiMZ8vg.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-BImXJ_ZO.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-CjYoXTEQ.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 { G as a, q as s, H as m, J as r, I as t } from "../.chunks/forms-D9r2-H5Y.es.js";
1
+ import { K as a, r, L as s, N as m, M as t } from "../.chunks/forms-CHiMZ8vg.es.js";
2
2
  export {
3
3
  a as cloneDeep,
4
- s as debounce,
5
- m as memoize,
6
- r as merge,
4
+ r as debounce,
5
+ s as memoize,
6
+ m as merge,
7
7
  t as throttle
8
8
  };
9
9
  //# sourceMappingURL=lodash.js.map
@@ -1,2 +1,2 @@
1
- define(["require","exports","../.chunks/i18n-C_OH9IT3.amd","../.chunks/forms-BImXJ_ZO.amd"],function(a,n,t,i){"use strict";if(typeof u>"u")var u=window.Vue;const c=(o,e,s=i.Core.state.currency)=>{e=e??t.useI18nLang().value;let r=o.toLocaleString(e,{style:"currency",currency:s,maximumFractionDigits:2});return r=r.replace(",","."),r};n.genPrice=c,Object.defineProperty(n,Symbol.toStringTag,{value:"Module"})});
1
+ define(["require","exports","../.chunks/forms-CjYoXTEQ.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
@@ -1 +1 @@
1
- {"version":3,"file":"price.amd.js","sources":["../../src/core/utils/price.ts"],"sourcesContent":["/**\r\n * Работа с ценами\r\n * @packageDocumentation\r\n */\r\n\r\nimport type { Lang } from '@/core/plugins/i18n';\r\nimport { useI18nLang } from '@/core/plugins/i18n';\r\nimport Core from '@/core/core/core';\r\n\r\n/**\r\n * Сгенерировать строку с суммой и валютой\r\n * @param sum - сумма\r\n * @param lang - язык, берётся из профиля, если не задано\r\n * @param currency - валюта, берётся из профиля, если не задано\r\n * @returns строка с языкозависимым представлением числа sum и знаком валюты\r\n */\r\nexport const genPrice = (sum: number, lang?: Lang, currency: typeof Core.state.currency = Core.state.currency): string => {\r\n\tlang = lang ?? useI18nLang().value;\r\n\r\n\tlet sumStr = sum.toLocaleString(lang, { style: 'currency', currency, maximumFractionDigits: 2 });\r\n\tsumStr = sumStr.replace(',', '.');\r\n\r\n\treturn sumStr;\r\n};\r\n"],"names":["genPrice","sum","lang","currency","forms"],"mappings":"4JAgBO,MAAAA,EAAA,CAAAC,EAAAC,EAAAC,EAAAC,EAAA,KAAA,MAAA,WAAA,yIAOP"}
1
+ {"version":3,"file":"price.amd.js","sources":["../../src/core/utils/price.ts"],"sourcesContent":["/**\r\n * Работа с ценами\r\n * @packageDocumentation\r\n */\r\n\r\nimport type { Lang } from '@/core/plugins/i18n';\r\nimport { useI18nLang } from '@/core/plugins/i18n';\r\nimport Core from '@/core/core/core';\r\n\r\n/**\r\n * Сгенерировать строку с суммой и валютой\r\n * @param sum - сумма\r\n * @param lang - язык, берётся из профиля, если не задано\r\n * @param currency - валюта, берётся из профиля, если не задано\r\n * @returns строка с языкозависимым представлением числа sum и знаком валюты\r\n */\r\nexport const genPrice = (sum: number, lang?: Lang, currency: typeof Core.state.currency = Core.state.currency): string => {\r\n\tlang = lang ?? useI18nLang().value;\r\n\r\n\tlet sumStr = sum.toLocaleString(lang, { style: 'currency', currency, maximumFractionDigits: 2 });\r\n\tsumStr = sumStr.replace(',', '.');\r\n\r\n\treturn sumStr;\r\n};\r\n"],"names":["genPrice","sum","lang","currency","forms"],"mappings":"2HAgBO,MAAAA,EAAA,CAAAC,EAAAC,EAAAC,EAAAC,EAAA,KAAA,MAAA,WAAA,yIAOP"}
package/utils/price.js CHANGED
@@ -1,11 +1,10 @@
1
- import { u as c } from "../.chunks/i18n-DuTvft1T.es.js";
2
- import { C as i } from "../.chunks/forms-D9r2-H5Y.es.js";
3
- const u = (t, r, o = i.state.currency) => {
4
- r = r ?? c().value;
5
- let e = t.toLocaleString(r, { style: "currency", currency: o, maximumFractionDigits: 2 });
6
- return e = e.replace(",", "."), e;
1
+ import { u as o, C as s } from "../.chunks/forms-CHiMZ8vg.es.js";
2
+ const a = (t, e, c = s.state.currency) => {
3
+ e = e ?? o().value;
4
+ let r = t.toLocaleString(e, { style: "currency", currency: c, maximumFractionDigits: 2 });
5
+ return r = r.replace(",", "."), r;
7
6
  };
8
7
  export {
9
- u as genPrice
8
+ a as genPrice
10
9
  };
11
10
  //# sourceMappingURL=price.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"price.js","sources":["../../src/core/utils/price.ts"],"sourcesContent":["/**\r\n * Работа с ценами\r\n * @packageDocumentation\r\n */\r\n\r\nimport type { Lang } from '@/core/plugins/i18n';\r\nimport { useI18nLang } from '@/core/plugins/i18n';\r\nimport Core from '@/core/core/core';\r\n\r\n/**\r\n * Сгенерировать строку с суммой и валютой\r\n * @param sum - сумма\r\n * @param lang - язык, берётся из профиля, если не задано\r\n * @param currency - валюта, берётся из профиля, если не задано\r\n * @returns строка с языкозависимым представлением числа sum и знаком валюты\r\n */\r\nexport const genPrice = (sum: number, lang?: Lang, currency: typeof Core.state.currency = Core.state.currency): string => {\r\n\tlang = lang ?? useI18nLang().value;\r\n\r\n\tlet sumStr = sum.toLocaleString(lang, { style: 'currency', currency, maximumFractionDigits: 2 });\r\n\tsumStr = sumStr.replace(',', '.');\r\n\r\n\treturn sumStr;\r\n};\r\n"],"names":["genPrice","sum","lang","currency","Core","useI18nLang","sumStr"],"mappings":";;AAgBO,MAAMA,IAAW,CAACC,GAAaC,GAAaC,IAAuCC,EAAK,MAAM,aAAqB;AAClH,EAAAF,IAAAA,KAAQG,EAAc,EAAA;AAEzB,MAAAC,IAASL,EAAI,eAAeC,GAAM,EAAE,OAAO,YAAY,UAAAC,GAAU,uBAAuB,EAAG,CAAA;AACtF,SAAAG,IAAAA,EAAO,QAAQ,KAAK,GAAG,GAEzBA;AACR;"}
1
+ {"version":3,"file":"price.js","sources":["../../src/core/utils/price.ts"],"sourcesContent":["/**\r\n * Работа с ценами\r\n * @packageDocumentation\r\n */\r\n\r\nimport type { Lang } from '@/core/plugins/i18n';\r\nimport { useI18nLang } from '@/core/plugins/i18n';\r\nimport Core from '@/core/core/core';\r\n\r\n/**\r\n * Сгенерировать строку с суммой и валютой\r\n * @param sum - сумма\r\n * @param lang - язык, берётся из профиля, если не задано\r\n * @param currency - валюта, берётся из профиля, если не задано\r\n * @returns строка с языкозависимым представлением числа sum и знаком валюты\r\n */\r\nexport const genPrice = (sum: number, lang?: Lang, currency: typeof Core.state.currency = Core.state.currency): string => {\r\n\tlang = lang ?? useI18nLang().value;\r\n\r\n\tlet sumStr = sum.toLocaleString(lang, { style: 'currency', currency, maximumFractionDigits: 2 });\r\n\tsumStr = sumStr.replace(',', '.');\r\n\r\n\treturn sumStr;\r\n};\r\n"],"names":["genPrice","sum","lang","currency","Core","useI18nLang","sumStr"],"mappings":";AAgBO,MAAMA,IAAW,CAACC,GAAaC,GAAaC,IAAuCC,EAAK,MAAM,aAAqB;AAClH,EAAAF,IAAAA,KAAQG,EAAc,EAAA;AAEzB,MAAAC,IAASL,EAAI,eAAeC,GAAM,EAAE,OAAO,YAAY,UAAAC,GAAU,uBAAuB,EAAG,CAAA;AACtF,SAAAG,IAAAA,EAAO,QAAQ,KAAK,GAAG,GAEzBA;AACR;"}
@@ -1,2 +1,2 @@
1
- define(["require","exports","./dom.amd"],function(a,o,c){"use strict";if(typeof i>"u")var i=window.Vue;const r=t=>{if(!t||!t.parentElement)return;if(window.dialogs){const s=t.closest(".ui-dialog");s!=null&&s.getBoundingClientRect()&&(s==null?void 0:s.getBoundingClientRect().bottom)>document.documentElement.clientHeight&&setTimeout(window.dialogs.onWindowResize)}const e=t.scrollHeight>t.offsetHeight;if(e?(t.parentElement.classList.add("has_scroll_container"),t.classList.add("has_scroll")):(t.parentElement.classList.remove("has_scroll_container"),t.classList.remove("has_scroll")),e){const s=c.offset(t).top-c.offset(t.parentElement).top;t.style.setProperty("--scroll-offset-top",s+"px");const n=t.offsetHeight;t.style.setProperty("--scroll-height",n+"px"),t.scrollTop>0?t.classList.add("has_scroll-started"):t.classList.remove("has_scroll-started"),t.scrollTop>=t.scrollHeight-t.offsetHeight?t.classList.add("has_scroll-finished"):t.classList.remove("has_scroll-finished")}},l=()=>{const t=document.documentElement.clientHeight,e=document.documentElement.scrollHeight,s=window.scrollY;if(e&&s&&t){const n=e-t;return Math.floor(s/n*100)}};o.amountScrolled=l,o.genHasScroll=r,Object.defineProperty(o,Symbol.toStringTag,{value:"Module"})});
1
+ define(["require","exports","./dom.amd"],function(f,o,c){"use strict";if(typeof i>"u")var i=window.Vue;const l=t=>{if(!t||!t.parentElement)return;if(window.dialogs){const s=t.closest(".ui-dialog");s!=null&&s.getBoundingClientRect()&&(s==null?void 0:s.getBoundingClientRect().bottom)>document.documentElement.clientHeight&&setTimeout(window.dialogs.onWindowResize)}const e=t.scrollHeight>t.offsetHeight;if(e?(t.parentElement.classList.add("has_scroll_container"),t.classList.add("has_scroll")):(t.parentElement.classList.remove("has_scroll_container"),t.classList.remove("has_scroll")),e){const s=c.offset(t).top-c.offset(t.parentElement).top;t.style.setProperty("--scroll-offset-top",s+"px");const n=t.offsetHeight;t.style.setProperty("--scroll-height",n+"px"),t.scrollTop>0?t.classList.add("has_scroll-started"):t.classList.remove("has_scroll-started"),t.scrollTop>=t.scrollHeight-t.offsetHeight?t.classList.add("has_scroll-finished"):t.classList.remove("has_scroll-finished")}},a=()=>r(),r=(t=document.documentElement)=>{const e=t.clientHeight,s=t.scrollHeight,n=t.scrollTop;if(s&&n&&e){const d=s-e;return Math.floor(n/d*100)}return 100};o.amountScrolled=a,o.genHasScroll=l,o.getScrollPercent=r,Object.defineProperty(o,Symbol.toStringTag,{value:"Module"})});
2
2
  //# sourceMappingURL=scroll.amd.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"scroll.amd.js","sources":["../../src/core/utils/scroll.ts"],"sourcesContent":["/**\r\n * Информация о скролле, фичи для скролла\r\n * @packageDocumentation\r\n */\r\n\r\nimport { offset } from '@/core/utils/dom';\r\n\r\n/**\r\n * Добавление модификатора тени при скролле\r\n */\r\nexport const genHasScroll = (el: HTMLElement): void => {\r\n\tif (!el) return;\r\n\tif (!el.parentElement) return;\r\n\r\n\t// Диалоги не вынесены в UI\r\n\tif (window['dialogs']) {\r\n\t\tconst elDialog = el.closest('.ui-dialog');\r\n\t\tif (elDialog?.getBoundingClientRect() && elDialog?.getBoundingClientRect().bottom > document.documentElement.clientHeight) {\r\n\t\t\tsetTimeout(window['dialogs'].onWindowResize);\r\n\t\t}\r\n\t}\r\n\r\n\tconst hasScroll = (el.scrollHeight > el.offsetHeight);\r\n\tif (hasScroll) {\r\n\t\tel.parentElement.classList.add('has_scroll_container');\r\n\t\tel.classList.add('has_scroll');\r\n\t} else {\r\n\t\tel.parentElement.classList.remove('has_scroll_container');\r\n\t\tel.classList.remove('has_scroll');\r\n\t}\r\n\r\n\tif (hasScroll) {\r\n\t\tconst top: number = offset(el).top - offset(el.parentElement).top;\r\n\t\tel.style.setProperty('--scroll-offset-top', top + 'px');\r\n\r\n\t\tconst height = el.offsetHeight;\r\n\t\tel.style.setProperty('--scroll-height', height + 'px');\r\n\r\n\t\tif (el.scrollTop > 0) {\r\n\t\t\tel.classList.add('has_scroll-started');\r\n\t\t} else {\r\n\t\t\tel.classList.remove('has_scroll-started');\r\n\t\t}\r\n\r\n\t\tif (el.scrollTop >= el.scrollHeight - el.offsetHeight) {\r\n\t\t\tel.classList.add('has_scroll-finished');\r\n\t\t} else {\r\n\t\t\tel.classList.remove('has_scroll-finished');\r\n\t\t}\r\n\t}\r\n};\r\n\r\n/**\r\n * Посчитать глубину скролла (процент на сколько проскроллена страница)\r\n */\r\nexport const amountScrolled = (): number | undefined => {\r\n\tconst winHeight = document.documentElement.clientHeight;\r\n\tconst docHeight = document.documentElement.scrollHeight;\r\n\tconst scrollTop = window.scrollY;\r\n\r\n\tif (docHeight && scrollTop && winHeight) {\r\n\t\tconst trackLength = docHeight - winHeight;\r\n\r\n\t\treturn Math.floor(scrollTop / trackLength * 100);\r\n\t}\r\n};\r\n"],"names":["genHasScroll","el","elDialog","top","utils_dom","height","amountScrolled","scrollTop","docHeight","winHeight","trackLength"],"mappings":"uGAUa,MAAAA,EAAAC,GAAA,CAEZ,GADA,CAAAA,GACA,CAAAA,EAAA,cAAA,OAGA,GAAA,OAAA,QAAA,iCAECC,GAAA,MAAAA,EAAA,0BAAAA,GAAA,YAAAA,EAAA,wBAAA,QAAA,SAAA,gBAAA,wRAeA,MAAAC,EAAAC,EAAA,OAAAH,CAAA,EAAA,IAAAG,EAAA,OAAAH,EAAA,aAAA,EAAA,IACAA,EAAA,MAAA,YAAA,sBAAAE,EAAA,IAAA,EAEA,MAAAE,EAAAJ,EAAA,aACAA,EAAA,MAAA,YAAA,kBAAAI,EAAA,IAAA,EAEAJ,EAAA,UAAA,iFAMAA,EAAA,WAAAA,EAAA,aAAAA,EAAA,gGAWKK,EAAA,IAAA,uFAGNC,EAAA,OAAA,QAEA,GAAAC,GAAAD,GAAAE,EAAA,CACC,MAAAC,EAAAF,EAAAC,6BAIF"}
1
+ {"version":3,"file":"scroll.amd.js","sources":["../../src/core/utils/scroll.ts"],"sourcesContent":["/**\r\n * Информация о скролле, фичи для скролла\r\n * @packageDocumentation\r\n */\r\n\r\nimport { offset } from '@/core/utils/dom';\r\n\r\n/**\r\n * Добавление модификатора тени при скролле\r\n */\r\nexport const genHasScroll = (el: HTMLElement): void => {\r\n\tif (!el) return;\r\n\tif (!el.parentElement) return;\r\n\r\n\t// Диалоги не вынесены в UI\r\n\tif (window['dialogs']) {\r\n\t\tconst elDialog = el.closest('.ui-dialog');\r\n\t\tif (elDialog?.getBoundingClientRect() && elDialog?.getBoundingClientRect().bottom > document.documentElement.clientHeight) {\r\n\t\t\tsetTimeout(window['dialogs'].onWindowResize);\r\n\t\t}\r\n\t}\r\n\r\n\tconst hasScroll = (el.scrollHeight > el.offsetHeight);\r\n\tif (hasScroll) {\r\n\t\tel.parentElement.classList.add('has_scroll_container');\r\n\t\tel.classList.add('has_scroll');\r\n\t} else {\r\n\t\tel.parentElement.classList.remove('has_scroll_container');\r\n\t\tel.classList.remove('has_scroll');\r\n\t}\r\n\r\n\tif (hasScroll) {\r\n\t\tconst top: number = offset(el).top - offset(el.parentElement).top;\r\n\t\tel.style.setProperty('--scroll-offset-top', top + 'px');\r\n\r\n\t\tconst height = el.offsetHeight;\r\n\t\tel.style.setProperty('--scroll-height', height + 'px');\r\n\r\n\t\tif (el.scrollTop > 0) {\r\n\t\t\tel.classList.add('has_scroll-started');\r\n\t\t} else {\r\n\t\t\tel.classList.remove('has_scroll-started');\r\n\t\t}\r\n\r\n\t\tif (el.scrollTop >= el.scrollHeight - el.offsetHeight) {\r\n\t\t\tel.classList.add('has_scroll-finished');\r\n\t\t} else {\r\n\t\t\tel.classList.remove('has_scroll-finished');\r\n\t\t}\r\n\t}\r\n};\r\n\r\n/**\r\n * Посчитать глубину скролла (процент на сколько проскроллена страница)\r\n *\r\n * @deprecated\r\n */\r\nexport const amountScrolled = (): number => {\r\n\treturn getScrollPercent();\r\n};\r\n\r\n/**\r\n * Получить прогресс скролла в процентах\r\n */\r\nexport const getScrollPercent = (el: HTMLElement = document.documentElement): number => {\r\n\tconst clientHeight = el.clientHeight;\r\n\tconst scrollHeight = el.scrollHeight;\r\n\tconst scrollTop = el.scrollTop;\r\n\r\n\tif (scrollHeight && scrollTop && clientHeight) {\r\n\t\tconst trackLength = scrollHeight - clientHeight;\r\n\r\n\t\treturn Math.floor(scrollTop / trackLength * 100);\r\n\t}\r\n\r\n\treturn 100;\r\n};\r\n"],"names":["genHasScroll","el","elDialog","top","utils_dom","height","amountScrolled","getScrollPercent","clientHeight","scrollHeight","scrollTop","trackLength"],"mappings":"uGAUa,MAAAA,EAAAC,GAAA,CAEZ,GADA,CAAAA,GACA,CAAAA,EAAA,cAAA,OAGA,GAAA,OAAA,QAAA,iCAECC,GAAA,MAAAA,EAAA,0BAAAA,GAAA,YAAAA,EAAA,wBAAA,QAAA,SAAA,gBAAA,wRAeA,MAAAC,EAAAC,EAAA,OAAAH,CAAA,EAAA,IAAAG,EAAA,OAAAH,EAAA,aAAA,EAAA,IACAA,EAAA,MAAA,YAAA,sBAAAE,EAAA,IAAA,EAEA,MAAAE,EAAAJ,EAAA,aACAA,EAAA,MAAA,YAAA,kBAAAI,EAAA,IAAA,EAEAJ,EAAA,UAAA,iFAMAA,EAAA,WAAAA,EAAA,aAAAA,EAAA,gGAaKK,EAAA,QAOAC,EAAA,CAAAN,EAAA,SAAA,kBAAA,CACN,MAAAO,EAAAP,EAAA,aACAQ,EAAAR,EAAA,aACAS,EAAAT,EAAA,UAEA,GAAAQ,GAAAC,GAAAF,EAAA,CACC,MAAAG,EAAAF,EAAAD,uCAMF"}
package/utils/scroll.js CHANGED
@@ -1,5 +1,5 @@
1
1
  import { offset as c } from "./dom.js";
2
- const i = (t) => {
2
+ const l = (t) => {
3
3
  if (!t || !t.parentElement) return;
4
4
  if (window.dialogs) {
5
5
  const s = t.closest(".ui-dialog");
@@ -12,15 +12,17 @@ const i = (t) => {
12
12
  const e = t.offsetHeight;
13
13
  t.style.setProperty("--scroll-height", e + "px"), t.scrollTop > 0 ? t.classList.add("has_scroll-started") : t.classList.remove("has_scroll-started"), t.scrollTop >= t.scrollHeight - t.offsetHeight ? t.classList.add("has_scroll-finished") : t.classList.remove("has_scroll-finished");
14
14
  }
15
- }, r = () => {
16
- const t = document.documentElement.clientHeight, o = document.documentElement.scrollHeight, s = window.scrollY;
17
- if (o && s && t) {
18
- const e = o - t;
19
- return Math.floor(s / e * 100);
15
+ }, a = () => n(), n = (t = document.documentElement) => {
16
+ const o = t.clientHeight, s = t.scrollHeight, e = t.scrollTop;
17
+ if (s && e && o) {
18
+ const r = s - o;
19
+ return Math.floor(e / r * 100);
20
20
  }
21
+ return 100;
21
22
  };
22
23
  export {
23
- r as amountScrolled,
24
- i as genHasScroll
24
+ a as amountScrolled,
25
+ l as genHasScroll,
26
+ n as getScrollPercent
25
27
  };
26
28
  //# sourceMappingURL=scroll.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"scroll.js","sources":["../../src/core/utils/scroll.ts"],"sourcesContent":["/**\r\n * Информация о скролле, фичи для скролла\r\n * @packageDocumentation\r\n */\r\n\r\nimport { offset } from '@/core/utils/dom';\r\n\r\n/**\r\n * Добавление модификатора тени при скролле\r\n */\r\nexport const genHasScroll = (el: HTMLElement): void => {\r\n\tif (!el) return;\r\n\tif (!el.parentElement) return;\r\n\r\n\t// Диалоги не вынесены в UI\r\n\tif (window['dialogs']) {\r\n\t\tconst elDialog = el.closest('.ui-dialog');\r\n\t\tif (elDialog?.getBoundingClientRect() && elDialog?.getBoundingClientRect().bottom > document.documentElement.clientHeight) {\r\n\t\t\tsetTimeout(window['dialogs'].onWindowResize);\r\n\t\t}\r\n\t}\r\n\r\n\tconst hasScroll = (el.scrollHeight > el.offsetHeight);\r\n\tif (hasScroll) {\r\n\t\tel.parentElement.classList.add('has_scroll_container');\r\n\t\tel.classList.add('has_scroll');\r\n\t} else {\r\n\t\tel.parentElement.classList.remove('has_scroll_container');\r\n\t\tel.classList.remove('has_scroll');\r\n\t}\r\n\r\n\tif (hasScroll) {\r\n\t\tconst top: number = offset(el).top - offset(el.parentElement).top;\r\n\t\tel.style.setProperty('--scroll-offset-top', top + 'px');\r\n\r\n\t\tconst height = el.offsetHeight;\r\n\t\tel.style.setProperty('--scroll-height', height + 'px');\r\n\r\n\t\tif (el.scrollTop > 0) {\r\n\t\t\tel.classList.add('has_scroll-started');\r\n\t\t} else {\r\n\t\t\tel.classList.remove('has_scroll-started');\r\n\t\t}\r\n\r\n\t\tif (el.scrollTop >= el.scrollHeight - el.offsetHeight) {\r\n\t\t\tel.classList.add('has_scroll-finished');\r\n\t\t} else {\r\n\t\t\tel.classList.remove('has_scroll-finished');\r\n\t\t}\r\n\t}\r\n};\r\n\r\n/**\r\n * Посчитать глубину скролла (процент на сколько проскроллена страница)\r\n */\r\nexport const amountScrolled = (): number | undefined => {\r\n\tconst winHeight = document.documentElement.clientHeight;\r\n\tconst docHeight = document.documentElement.scrollHeight;\r\n\tconst scrollTop = window.scrollY;\r\n\r\n\tif (docHeight && scrollTop && winHeight) {\r\n\t\tconst trackLength = docHeight - winHeight;\r\n\r\n\t\treturn Math.floor(scrollTop / trackLength * 100);\r\n\t}\r\n};\r\n"],"names":["genHasScroll","el","elDialog","hasScroll","top","offset","height","amountScrolled","winHeight","docHeight","scrollTop","trackLength"],"mappings":";AAUa,MAAAA,IAAe,CAACC,MAA0B;AAElD,MADA,CAACA,KACD,CAACA,EAAG,cAAe;AAGnB,MAAA,OAAO,SAAY;AAChB,UAAAC,IAAWD,EAAG,QAAQ,YAAY;AACpC,IAAAC,KAAA,QAAAA,EAAU,4BAA2BA,KAAA,gBAAAA,EAAU,wBAAwB,UAAS,SAAS,gBAAgB,gBACjG,WAAA,OAAO,QAAW,cAAc;AAAA,EAE7C;AAEM,QAAAC,IAAaF,EAAG,eAAeA,EAAG;AASxC,MARIE,KACAF,EAAA,cAAc,UAAU,IAAI,sBAAsB,GAClDA,EAAA,UAAU,IAAI,YAAY,MAE1BA,EAAA,cAAc,UAAU,OAAO,sBAAsB,GACrDA,EAAA,UAAU,OAAO,YAAY,IAG7BE,GAAW;AACR,UAAAC,IAAcC,EAAOJ,CAAE,EAAE,MAAMI,EAAOJ,EAAG,aAAa,EAAE;AAC9D,IAAAA,EAAG,MAAM,YAAY,uBAAuBG,IAAM,IAAI;AAEtD,UAAME,IAASL,EAAG;AAClB,IAAAA,EAAG,MAAM,YAAY,mBAAmBK,IAAS,IAAI,GAEjDL,EAAG,YAAY,IACfA,EAAA,UAAU,IAAI,oBAAoB,IAElCA,EAAA,UAAU,OAAO,oBAAoB,GAGrCA,EAAG,aAAaA,EAAG,eAAeA,EAAG,eACrCA,EAAA,UAAU,IAAI,qBAAqB,IAEnCA,EAAA,UAAU,OAAO,qBAAqB;AAAA,EAE3C;AACD,GAKaM,IAAiB,MAA0B;AACjD,QAAAC,IAAY,SAAS,gBAAgB,cACrCC,IAAY,SAAS,gBAAgB,cACrCC,IAAY,OAAO;AAErB,MAAAD,KAAaC,KAAaF,GAAW;AACxC,UAAMG,IAAcF,IAAYD;AAEhC,WAAO,KAAK,MAAME,IAAYC,IAAc,GAAG;AAAA,EAChD;AACD;"}
1
+ {"version":3,"file":"scroll.js","sources":["../../src/core/utils/scroll.ts"],"sourcesContent":["/**\r\n * Информация о скролле, фичи для скролла\r\n * @packageDocumentation\r\n */\r\n\r\nimport { offset } from '@/core/utils/dom';\r\n\r\n/**\r\n * Добавление модификатора тени при скролле\r\n */\r\nexport const genHasScroll = (el: HTMLElement): void => {\r\n\tif (!el) return;\r\n\tif (!el.parentElement) return;\r\n\r\n\t// Диалоги не вынесены в UI\r\n\tif (window['dialogs']) {\r\n\t\tconst elDialog = el.closest('.ui-dialog');\r\n\t\tif (elDialog?.getBoundingClientRect() && elDialog?.getBoundingClientRect().bottom > document.documentElement.clientHeight) {\r\n\t\t\tsetTimeout(window['dialogs'].onWindowResize);\r\n\t\t}\r\n\t}\r\n\r\n\tconst hasScroll = (el.scrollHeight > el.offsetHeight);\r\n\tif (hasScroll) {\r\n\t\tel.parentElement.classList.add('has_scroll_container');\r\n\t\tel.classList.add('has_scroll');\r\n\t} else {\r\n\t\tel.parentElement.classList.remove('has_scroll_container');\r\n\t\tel.classList.remove('has_scroll');\r\n\t}\r\n\r\n\tif (hasScroll) {\r\n\t\tconst top: number = offset(el).top - offset(el.parentElement).top;\r\n\t\tel.style.setProperty('--scroll-offset-top', top + 'px');\r\n\r\n\t\tconst height = el.offsetHeight;\r\n\t\tel.style.setProperty('--scroll-height', height + 'px');\r\n\r\n\t\tif (el.scrollTop > 0) {\r\n\t\t\tel.classList.add('has_scroll-started');\r\n\t\t} else {\r\n\t\t\tel.classList.remove('has_scroll-started');\r\n\t\t}\r\n\r\n\t\tif (el.scrollTop >= el.scrollHeight - el.offsetHeight) {\r\n\t\t\tel.classList.add('has_scroll-finished');\r\n\t\t} else {\r\n\t\t\tel.classList.remove('has_scroll-finished');\r\n\t\t}\r\n\t}\r\n};\r\n\r\n/**\r\n * Посчитать глубину скролла (процент на сколько проскроллена страница)\r\n *\r\n * @deprecated\r\n */\r\nexport const amountScrolled = (): number => {\r\n\treturn getScrollPercent();\r\n};\r\n\r\n/**\r\n * Получить прогресс скролла в процентах\r\n */\r\nexport const getScrollPercent = (el: HTMLElement = document.documentElement): number => {\r\n\tconst clientHeight = el.clientHeight;\r\n\tconst scrollHeight = el.scrollHeight;\r\n\tconst scrollTop = el.scrollTop;\r\n\r\n\tif (scrollHeight && scrollTop && clientHeight) {\r\n\t\tconst trackLength = scrollHeight - clientHeight;\r\n\r\n\t\treturn Math.floor(scrollTop / trackLength * 100);\r\n\t}\r\n\r\n\treturn 100;\r\n};\r\n"],"names":["genHasScroll","el","elDialog","hasScroll","top","offset","height","amountScrolled","getScrollPercent","clientHeight","scrollHeight","scrollTop","trackLength"],"mappings":";AAUa,MAAAA,IAAe,CAACC,MAA0B;AAElD,MADA,CAACA,KACD,CAACA,EAAG,cAAe;AAGnB,MAAA,OAAO,SAAY;AAChB,UAAAC,IAAWD,EAAG,QAAQ,YAAY;AACpC,IAAAC,KAAA,QAAAA,EAAU,4BAA2BA,KAAA,gBAAAA,EAAU,wBAAwB,UAAS,SAAS,gBAAgB,gBACjG,WAAA,OAAO,QAAW,cAAc;AAAA,EAE7C;AAEM,QAAAC,IAAaF,EAAG,eAAeA,EAAG;AASxC,MARIE,KACAF,EAAA,cAAc,UAAU,IAAI,sBAAsB,GAClDA,EAAA,UAAU,IAAI,YAAY,MAE1BA,EAAA,cAAc,UAAU,OAAO,sBAAsB,GACrDA,EAAA,UAAU,OAAO,YAAY,IAG7BE,GAAW;AACR,UAAAC,IAAcC,EAAOJ,CAAE,EAAE,MAAMI,EAAOJ,EAAG,aAAa,EAAE;AAC9D,IAAAA,EAAG,MAAM,YAAY,uBAAuBG,IAAM,IAAI;AAEtD,UAAME,IAASL,EAAG;AAClB,IAAAA,EAAG,MAAM,YAAY,mBAAmBK,IAAS,IAAI,GAEjDL,EAAG,YAAY,IACfA,EAAA,UAAU,IAAI,oBAAoB,IAElCA,EAAA,UAAU,OAAO,oBAAoB,GAGrCA,EAAG,aAAaA,EAAG,eAAeA,EAAG,eACrCA,EAAA,UAAU,IAAI,qBAAqB,IAEnCA,EAAA,UAAU,OAAO,qBAAqB;AAAA,EAE3C;AACD,GAOaM,IAAiB,MACtBC,EAAiB,GAMZA,IAAmB,CAACP,IAAkB,SAAS,oBAA4B;AACvF,QAAMQ,IAAeR,EAAG,cAClBS,IAAeT,EAAG,cAClBU,IAAYV,EAAG;AAEjB,MAAAS,KAAgBC,KAAaF,GAAc;AAC9C,UAAMG,IAAcF,IAAeD;AAEnC,WAAO,KAAK,MAAME,IAAYC,IAAc,GAAG;AAAA,EAChD;AAEO,SAAA;AACR;"}
@@ -0,0 +1,2 @@
1
+ define(["require","exports"],function(u,c){"use strict";if(typeof r>"u")var r=window.Vue;const s={0:"Yandex",20:"Yandex.com",21:"Yandex.com.tr",1:"Google",2:"go.Mail",4:"YouTube",5:"Bing",6:"Yahoo",7:"Seznam",8:"AppStore",9:"GooglePlay",101:"VK",102:"Facebook",103:"Twitter"},n=a=>{let e="";switch(typeof a=="string"&&(a=Number(a)),a){case 0:e="";break;case 20:case 21:e="";break;case 1:e="";break;case 2:e="";break;case 3:e="";break;case 4:e="";break;case 5:e="";break;case 6:e="";break;case 7:e="";break;case 8:e="";break;case 9:e="";break;case null:e="";break}return e},t=a=>{let e="";switch(typeof a=="string"&&(a=Number(a)),a%10){case 0:e="";break;case 1:e="";break;case 2:e="";break}return e},i=(a,e)=>{switch(typeof a=="string"&&(a=Number(a)),a*1){case 1:case 4:case 5:case 6:case 8:case 9:return e}return""},o=(a,e,k)=>{switch(e*1){case 0:switch(k*1){case 2:a=`"${a}"`;break;case 3:a=`"!${a}"`;break;case 5:a=`"[${a}]"`;break;case 6:a=`"[!${a}]"`;break}break;case 1:a=`[${a}]`;break}return a},b=(a,e)=>{switch(e===null&&(e=6),a){case 1:e=3;break;case 2:e=2;break;case 5:e>1&&(e=1);break;default:[1,2,3,5,6].includes(e)||(e=3)}return e};c.genVolumeLabel=o,c.getDeviceGIcon=t,c.getLangLabel=i,c.getSearcherGIcon=n,c.prepareVolumeType=b,c.searchersNames=s,Object.defineProperty(c,Symbol.toStringTag,{value:"Module"})});
2
+ //# sourceMappingURL=searchers.amd.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"searchers.amd.js","sources":["../../src/core/utils/searchers.ts"],"sourcesContent":["/**\r\n * Вспомогательный класс для работы с разными Поисковиками\r\n */\r\nexport const searchersNames = {\r\n\t0: 'Yandex',\r\n\t20: 'Yandex.com',\r\n\t21: 'Yandex.com.tr',\r\n\t1: 'Google',\r\n\t2: 'go.Mail',\r\n\t4: 'YouTube',\r\n\t5: 'Bing',\r\n\t6: 'Yahoo',\r\n\t7: 'Seznam',\r\n\t8: 'AppStore',\r\n\t9: 'GooglePlay',\r\n\t101: 'VK',\r\n\t102: 'Facebook',\r\n\t103: 'Twitter',\r\n};\r\n\r\n/**\r\n * Получить иконку ПС\r\n * @param searcherKey - цифра или строка с цифрой обозначающая ПС. Если null вернется иконка с глобусом\r\n */\r\nexport const getSearcherGIcon = (searcherKey: number | string | null): string => {\r\n\tlet icon = '';\r\n\r\n\tif (typeof searcherKey === 'string') searcherKey = Number(searcherKey);\r\n\r\n\tswitch (searcherKey) {\r\n\t\tcase 0:\r\n\t\t\ticon = '';\r\n\r\n\t\t\tbreak;\r\n\t\tcase 20:\r\n\t\tcase 21:\r\n\t\t\ticon = '';\r\n\r\n\t\t\tbreak;\r\n\t\tcase 1:\r\n\t\t\ticon = '';\r\n\r\n\t\t\tbreak;\r\n\t\tcase 2:\r\n\t\t\ticon = '';\r\n\r\n\t\t\tbreak;\r\n\t\tcase 3:\r\n\t\t\ticon = '';\r\n\r\n\t\t\tbreak;\r\n\t\tcase 4:\r\n\t\t\ticon = '';\r\n\r\n\t\t\tbreak;\r\n\t\tcase 5:\r\n\t\t\ticon = '';\r\n\r\n\t\t\tbreak;\r\n\t\tcase 6:\r\n\t\t\ticon = '';\r\n\r\n\t\t\tbreak;\r\n\t\tcase 7:\r\n\t\t\ticon = '';\r\n\r\n\t\t\tbreak;\r\n\t\tcase 8:\r\n\t\t\ticon = '';\r\n\r\n\t\t\tbreak;\r\n\t\tcase 9:\r\n\t\t\ticon = '';\r\n\r\n\t\t\tbreak;\r\n\t\tcase null:\r\n\t\t\ticon = '';\r\n\r\n\t\t\tbreak;\r\n\t}\r\n\r\n\treturn icon;\r\n};\r\n\r\n/**\r\n * Получить иконку устройства (ПК, планшет, смартфон)\r\n */\r\nexport const getDeviceGIcon = (device: number | string): string => {\r\n\tlet icon = '';\r\n\r\n\tif (typeof device === 'string') device = Number(device);\r\n\r\n\tswitch (device % 10) {\r\n\t\tcase 0:\r\n\t\t\ticon = '';\r\n\r\n\t\t\tbreak;\r\n\t\tcase 1:\r\n\t\t\ticon = '';\r\n\r\n\t\t\tbreak;\r\n\t\tcase 2:\r\n\t\t\ticon = '';\r\n\r\n\t\t\tbreak;\r\n\t}\r\n\r\n\treturn icon;\r\n};\r\n\r\n/**\r\n * Получить иконку языка\r\n */\r\nexport const getLangLabel = (searcherKey: number | string, lang: string) => {\r\n\tif (typeof searcherKey === 'string') searcherKey = Number(searcherKey);\r\n\r\n\tswitch (searcherKey * 1) {\r\n\t\tcase 1:\r\n\t\tcase 4:\r\n\t\tcase 5:\r\n\t\tcase 6:\r\n\t\tcase 8:\r\n\t\tcase 9:\r\n\t\t\treturn lang;\r\n\t}\r\n\r\n\treturn '';\r\n};\r\n\r\n/**\r\n * Сгенерировать заголовок типа частоты\r\n */\r\nexport const genVolumeLabel = (label: string, searcherKey: 0 | 1, volumeType: 1 | 2 | 3 | 5 | 6): string => {\r\n\tswitch (searcherKey * 1) {\r\n\t\t// Яндекс\r\n\t\tcase 0:\r\n\t\t\tswitch (volumeType * 1) {\r\n\t\t\t\tcase 2:\r\n\t\t\t\t\tlabel = `\"${label}\"`;\r\n\r\n\t\t\t\t\tbreak;\r\n\t\t\t\tcase 3:\r\n\t\t\t\t\tlabel = `\"!${label}\"`;\r\n\r\n\t\t\t\t\tbreak;\r\n\t\t\t\tcase 5:\r\n\t\t\t\t\tlabel = `\"[${label}]\"`;\r\n\r\n\t\t\t\t\tbreak;\r\n\t\t\t\tcase 6:\r\n\t\t\t\t\tlabel = `\"[!${label}]\"`;\r\n\r\n\t\t\t\t\tbreak;\r\n\t\t\t}\r\n\t\t\tbreak;\r\n\t\t// Google\r\n\t\tcase 1:\r\n\t\t\tlabel = `[${label}]`;\r\n\r\n\t\t\tbreak;\r\n\t}\r\n\r\n\treturn label;\r\n};\r\n\r\n/**\r\n * Проверить значение частоты, вернуть правильное значение частоты\r\n */\r\nexport const prepareVolumeType = (searcherKey: number, volumeType: number): number => {\r\n\t// по умолчанию выбрана сама точная частота\r\n\tif (volumeType === null) volumeType = 6;\r\n\r\n\tswitch (searcherKey) {\r\n\t\tcase 1:\r\n\t\t\tvolumeType = 3;\r\n\r\n\t\t\tbreak;\r\n\t\tcase 2:\r\n\t\t\tvolumeType = 2;\r\n\r\n\t\t\tbreak;\r\n\t\tcase 5:\r\n\t\t\tif (volumeType > 1) volumeType = 1;\r\n\r\n\t\t\tbreak;\r\n\t\tdefault:\r\n\t\t\tif (![1, 2, 3, 5, 6].includes(volumeType)) volumeType = 3;\r\n\t}\r\n\r\n\treturn volumeType;\r\n};\r\n"],"names":["searchersNames","getSearcherGIcon","searcherKey","icon","getDeviceGIcon","device","getLangLabel","lang","genVolumeLabel","label","volumeType","prepareVolumeType"],"mappings":"yFAGO,MAAAA,EAAA,mLAqBMC,EAAAC,GAAA,CACZ,IAAAC,EAAA,GAIA,OAFA,OAAAD,GAAA,WAAAA,EAAA,OAAAA,CAAA,GAEAA,EAAA,CAAqB,IAAA,SAInB,cACI,IAAA,UAIJ,MAAA,IAAA,SAIA,MAAA,IAAA,SAIA,MAAA,IAAA,SAIA,MAAA,IAAA,SAIA,MAAA,IAAA,SAIA,MAAA,IAAA,SAIA,MAAA,IAAA,SAIA,MAAA,IAAA,SAIA,MAAA,IAAA,SAIA,MAAA,KAAA,WAIA,gBASUE,EAAAC,GAAA,CACZ,IAAAF,EAAA,UAEA,OAAAE,GAAA,WAAAA,EAAA,OAAAA,CAAA,SAEqB,IAAA,SAInB,MAAA,IAAA,SAIA,MAAA,IAAA,SAIA,gBASUC,EAAA,CAAAJ,EAAAK,IAAA,QACZ,OAAAL,GAAA,WAAAA,EAAA,OAAAA,CAAA,2CAOM,IAAA,sBAWAM,EAAA,CAAAC,EAAAP,EAAAQ,IAAA,aACmB,IAAA,eAGC,IAAA,cAItB,MAAA,IAAA,eAIA,MAAA,IAAA,gBAIA,MAAA,IAAA,iBAIA,MAEF,MAAA,IAAA,cAKA,gBASUC,EAAA,CAAAT,EAAAQ,IAAA,CAIZ,uBAAAR,EAAA,CAAqB,IAAA,OAInB,MAAA,IAAA,OAIA,MAAA,IAAA,cAIA,qDAMH"}
@@ -0,0 +1,2 @@
1
+ export * from '../core/utils/searchers'
2
+ export {}
@@ -0,0 +1,130 @@
1
+ const s = {
2
+ 0: "Yandex",
3
+ 20: "Yandex.com",
4
+ 21: "Yandex.com.tr",
5
+ 1: "Google",
6
+ 2: "go.Mail",
7
+ 4: "YouTube",
8
+ 5: "Bing",
9
+ 6: "Yahoo",
10
+ 7: "Seznam",
11
+ 8: "AppStore",
12
+ 9: "GooglePlay",
13
+ 101: "VK",
14
+ 102: "Facebook",
15
+ 103: "Twitter"
16
+ }, r = (e) => {
17
+ let a = "";
18
+ switch (typeof e == "string" && (e = Number(e)), e) {
19
+ case 0:
20
+ a = "";
21
+ break;
22
+ case 20:
23
+ case 21:
24
+ a = "";
25
+ break;
26
+ case 1:
27
+ a = "";
28
+ break;
29
+ case 2:
30
+ a = "";
31
+ break;
32
+ case 3:
33
+ a = "";
34
+ break;
35
+ case 4:
36
+ a = "";
37
+ break;
38
+ case 5:
39
+ a = "";
40
+ break;
41
+ case 6:
42
+ a = "";
43
+ break;
44
+ case 7:
45
+ a = "";
46
+ break;
47
+ case 8:
48
+ a = "";
49
+ break;
50
+ case 9:
51
+ a = "";
52
+ break;
53
+ case null:
54
+ a = "";
55
+ break;
56
+ }
57
+ return a;
58
+ }, t = (e) => {
59
+ let a = "";
60
+ switch (typeof e == "string" && (e = Number(e)), e % 10) {
61
+ case 0:
62
+ a = "";
63
+ break;
64
+ case 1:
65
+ a = "";
66
+ break;
67
+ case 2:
68
+ a = "";
69
+ break;
70
+ }
71
+ return a;
72
+ }, n = (e, a) => {
73
+ switch (typeof e == "string" && (e = Number(e)), e * 1) {
74
+ case 1:
75
+ case 4:
76
+ case 5:
77
+ case 6:
78
+ case 8:
79
+ case 9:
80
+ return a;
81
+ }
82
+ return "";
83
+ }, k = (e, a, c) => {
84
+ switch (a * 1) {
85
+ case 0:
86
+ switch (c * 1) {
87
+ case 2:
88
+ e = `"${e}"`;
89
+ break;
90
+ case 3:
91
+ e = `"!${e}"`;
92
+ break;
93
+ case 5:
94
+ e = `"[${e}]"`;
95
+ break;
96
+ case 6:
97
+ e = `"[!${e}]"`;
98
+ break;
99
+ }
100
+ break;
101
+ case 1:
102
+ e = `[${e}]`;
103
+ break;
104
+ }
105
+ return e;
106
+ }, b = (e, a) => {
107
+ switch (a === null && (a = 6), e) {
108
+ case 1:
109
+ a = 3;
110
+ break;
111
+ case 2:
112
+ a = 2;
113
+ break;
114
+ case 5:
115
+ a > 1 && (a = 1);
116
+ break;
117
+ default:
118
+ [1, 2, 3, 5, 6].includes(a) || (a = 3);
119
+ }
120
+ return a;
121
+ };
122
+ export {
123
+ k as genVolumeLabel,
124
+ t as getDeviceGIcon,
125
+ n as getLangLabel,
126
+ r as getSearcherGIcon,
127
+ b as prepareVolumeType,
128
+ s as searchersNames
129
+ };
130
+ //# sourceMappingURL=searchers.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"searchers.js","sources":["../../src/core/utils/searchers.ts"],"sourcesContent":["/**\r\n * Вспомогательный класс для работы с разными Поисковиками\r\n */\r\nexport const searchersNames = {\r\n\t0: 'Yandex',\r\n\t20: 'Yandex.com',\r\n\t21: 'Yandex.com.tr',\r\n\t1: 'Google',\r\n\t2: 'go.Mail',\r\n\t4: 'YouTube',\r\n\t5: 'Bing',\r\n\t6: 'Yahoo',\r\n\t7: 'Seznam',\r\n\t8: 'AppStore',\r\n\t9: 'GooglePlay',\r\n\t101: 'VK',\r\n\t102: 'Facebook',\r\n\t103: 'Twitter',\r\n};\r\n\r\n/**\r\n * Получить иконку ПС\r\n * @param searcherKey - цифра или строка с цифрой обозначающая ПС. Если null вернется иконка с глобусом\r\n */\r\nexport const getSearcherGIcon = (searcherKey: number | string | null): string => {\r\n\tlet icon = '';\r\n\r\n\tif (typeof searcherKey === 'string') searcherKey = Number(searcherKey);\r\n\r\n\tswitch (searcherKey) {\r\n\t\tcase 0:\r\n\t\t\ticon = '';\r\n\r\n\t\t\tbreak;\r\n\t\tcase 20:\r\n\t\tcase 21:\r\n\t\t\ticon = '';\r\n\r\n\t\t\tbreak;\r\n\t\tcase 1:\r\n\t\t\ticon = '';\r\n\r\n\t\t\tbreak;\r\n\t\tcase 2:\r\n\t\t\ticon = '';\r\n\r\n\t\t\tbreak;\r\n\t\tcase 3:\r\n\t\t\ticon = '';\r\n\r\n\t\t\tbreak;\r\n\t\tcase 4:\r\n\t\t\ticon = '';\r\n\r\n\t\t\tbreak;\r\n\t\tcase 5:\r\n\t\t\ticon = '';\r\n\r\n\t\t\tbreak;\r\n\t\tcase 6:\r\n\t\t\ticon = '';\r\n\r\n\t\t\tbreak;\r\n\t\tcase 7:\r\n\t\t\ticon = '';\r\n\r\n\t\t\tbreak;\r\n\t\tcase 8:\r\n\t\t\ticon = '';\r\n\r\n\t\t\tbreak;\r\n\t\tcase 9:\r\n\t\t\ticon = '';\r\n\r\n\t\t\tbreak;\r\n\t\tcase null:\r\n\t\t\ticon = '';\r\n\r\n\t\t\tbreak;\r\n\t}\r\n\r\n\treturn icon;\r\n};\r\n\r\n/**\r\n * Получить иконку устройства (ПК, планшет, смартфон)\r\n */\r\nexport const getDeviceGIcon = (device: number | string): string => {\r\n\tlet icon = '';\r\n\r\n\tif (typeof device === 'string') device = Number(device);\r\n\r\n\tswitch (device % 10) {\r\n\t\tcase 0:\r\n\t\t\ticon = '';\r\n\r\n\t\t\tbreak;\r\n\t\tcase 1:\r\n\t\t\ticon = '';\r\n\r\n\t\t\tbreak;\r\n\t\tcase 2:\r\n\t\t\ticon = '';\r\n\r\n\t\t\tbreak;\r\n\t}\r\n\r\n\treturn icon;\r\n};\r\n\r\n/**\r\n * Получить иконку языка\r\n */\r\nexport const getLangLabel = (searcherKey: number | string, lang: string) => {\r\n\tif (typeof searcherKey === 'string') searcherKey = Number(searcherKey);\r\n\r\n\tswitch (searcherKey * 1) {\r\n\t\tcase 1:\r\n\t\tcase 4:\r\n\t\tcase 5:\r\n\t\tcase 6:\r\n\t\tcase 8:\r\n\t\tcase 9:\r\n\t\t\treturn lang;\r\n\t}\r\n\r\n\treturn '';\r\n};\r\n\r\n/**\r\n * Сгенерировать заголовок типа частоты\r\n */\r\nexport const genVolumeLabel = (label: string, searcherKey: 0 | 1, volumeType: 1 | 2 | 3 | 5 | 6): string => {\r\n\tswitch (searcherKey * 1) {\r\n\t\t// Яндекс\r\n\t\tcase 0:\r\n\t\t\tswitch (volumeType * 1) {\r\n\t\t\t\tcase 2:\r\n\t\t\t\t\tlabel = `\"${label}\"`;\r\n\r\n\t\t\t\t\tbreak;\r\n\t\t\t\tcase 3:\r\n\t\t\t\t\tlabel = `\"!${label}\"`;\r\n\r\n\t\t\t\t\tbreak;\r\n\t\t\t\tcase 5:\r\n\t\t\t\t\tlabel = `\"[${label}]\"`;\r\n\r\n\t\t\t\t\tbreak;\r\n\t\t\t\tcase 6:\r\n\t\t\t\t\tlabel = `\"[!${label}]\"`;\r\n\r\n\t\t\t\t\tbreak;\r\n\t\t\t}\r\n\t\t\tbreak;\r\n\t\t// Google\r\n\t\tcase 1:\r\n\t\t\tlabel = `[${label}]`;\r\n\r\n\t\t\tbreak;\r\n\t}\r\n\r\n\treturn label;\r\n};\r\n\r\n/**\r\n * Проверить значение частоты, вернуть правильное значение частоты\r\n */\r\nexport const prepareVolumeType = (searcherKey: number, volumeType: number): number => {\r\n\t// по умолчанию выбрана сама точная частота\r\n\tif (volumeType === null) volumeType = 6;\r\n\r\n\tswitch (searcherKey) {\r\n\t\tcase 1:\r\n\t\t\tvolumeType = 3;\r\n\r\n\t\t\tbreak;\r\n\t\tcase 2:\r\n\t\t\tvolumeType = 2;\r\n\r\n\t\t\tbreak;\r\n\t\tcase 5:\r\n\t\t\tif (volumeType > 1) volumeType = 1;\r\n\r\n\t\t\tbreak;\r\n\t\tdefault:\r\n\t\t\tif (![1, 2, 3, 5, 6].includes(volumeType)) volumeType = 3;\r\n\t}\r\n\r\n\treturn volumeType;\r\n};\r\n"],"names":["searchersNames","getSearcherGIcon","searcherKey","icon","getDeviceGIcon","device","getLangLabel","lang","genVolumeLabel","label","volumeType","prepareVolumeType"],"mappings":"AAGO,MAAMA,IAAiB;AAAA,EAC7B,GAAG;AAAA,EACH,IAAI;AAAA,EACJ,IAAI;AAAA,EACJ,GAAG;AAAA,EACH,GAAG;AAAA,EACH,GAAG;AAAA,EACH,GAAG;AAAA,EACH,GAAG;AAAA,EACH,GAAG;AAAA,EACH,GAAG;AAAA,EACH,GAAG;AAAA,EACH,KAAK;AAAA,EACL,KAAK;AAAA,EACL,KAAK;AACN,GAMaC,IAAmB,CAACC,MAAgD;AAChF,MAAIC,IAAO;AAIX,UAFI,OAAOD,KAAgB,aAAUA,IAAc,OAAOA,CAAW,IAE7DA,GAAa;AAAA,IACpB,KAAK;AACG,MAAAC,IAAA;AAEP;AAAA,IACD,KAAK;AAAA,IACL,KAAK;AACG,MAAAA,IAAA;AAEP;AAAA,IACD,KAAK;AACG,MAAAA,IAAA;AAEP;AAAA,IACD,KAAK;AACG,MAAAA,IAAA;AAEP;AAAA,IACD,KAAK;AACG,MAAAA,IAAA;AAEP;AAAA,IACD,KAAK;AACG,MAAAA,IAAA;AAEP;AAAA,IACD,KAAK;AACG,MAAAA,IAAA;AAEP;AAAA,IACD,KAAK;AACG,MAAAA,IAAA;AAEP;AAAA,IACD,KAAK;AACG,MAAAA,IAAA;AAEP;AAAA,IACD,KAAK;AACG,MAAAA,IAAA;AAEP;AAAA,IACD,KAAK;AACG,MAAAA,IAAA;AAEP;AAAA,IACD,KAAK;AACG,MAAAA,IAAA;AAEP;AAAA,EACF;AAEO,SAAAA;AACR,GAKaC,IAAiB,CAACC,MAAoC;AAClE,MAAIF,IAAO;AAIX,UAFI,OAAOE,KAAW,aAAUA,IAAS,OAAOA,CAAM,IAE9CA,IAAS,IAAI;AAAA,IACpB,KAAK;AACG,MAAAF,IAAA;AAEP;AAAA,IACD,KAAK;AACG,MAAAA,IAAA;AAEP;AAAA,IACD,KAAK;AACG,MAAAA,IAAA;AAEP;AAAA,EACF;AAEO,SAAAA;AACR,GAKaG,IAAe,CAACJ,GAA8BK,MAAiB;AAG3E,UAFI,OAAOL,KAAgB,aAAUA,IAAc,OAAOA,CAAW,IAE7DA,IAAc,GAAG;AAAA,IACxB,KAAK;AAAA,IACL,KAAK;AAAA,IACL,KAAK;AAAA,IACL,KAAK;AAAA,IACL,KAAK;AAAA,IACL,KAAK;AACG,aAAAK;AAAA,EACT;AAEO,SAAA;AACR,GAKaC,IAAiB,CAACC,GAAeP,GAAoBQ,MAA0C;AAC3G,UAAQR,IAAc,GAAG;AAAA,IAExB,KAAK;AACJ,cAAQQ,IAAa,GAAG;AAAA,QACvB,KAAK;AACJ,UAAAD,IAAQ,IAAIA,CAAK;AAEjB;AAAA,QACD,KAAK;AACJ,UAAAA,IAAQ,KAAKA,CAAK;AAElB;AAAA,QACD,KAAK;AACJ,UAAAA,IAAQ,KAAKA,CAAK;AAElB;AAAA,QACD,KAAK;AACJ,UAAAA,IAAQ,MAAMA,CAAK;AAEnB;AAAA,MACF;AACA;AAAA,IAED,KAAK;AACJ,MAAAA,IAAQ,IAAIA,CAAK;AAEjB;AAAA,EACF;AAEO,SAAAA;AACR,GAKaE,IAAoB,CAACT,GAAqBQ,MAA+B;AAIrF,UAFIA,MAAe,SAAmBA,IAAA,IAE9BR,GAAa;AAAA,IACpB,KAAK;AACS,MAAAQ,IAAA;AAEb;AAAA,IACD,KAAK;AACS,MAAAA,IAAA;AAEb;AAAA,IACD,KAAK;AACA,MAAAA,IAAa,MAAgBA,IAAA;AAEjC;AAAA,IACD;AACK,MAAC,CAAC,GAAG,GAAG,GAAG,GAAG,CAAC,EAAE,SAASA,CAAU,MAAgBA,IAAA;AAAA,EAC1D;AAEO,SAAAA;AACR;"}
@@ -1,2 +1,2 @@
1
- define(["require","exports","./check.amd","../.chunks/i18n-C_OH9IT3.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-CjYoXTEQ.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
@@ -1 +1 @@
1
- {"version":3,"file":"string.amd.js","sources":["../../src/core/utils/string.ts"],"sourcesContent":["/**\r\n * Работа со строками\r\n * @packageDocumentation\r\n */\r\n\r\nimport { getDomainRegexp } from '@/core/utils/check';\r\nimport { useI18nLang } from '@/core/plugins/i18n';\r\n\r\n/**\r\n * Сгенерировать числовой хэш от строки для идентификатора\r\n */\r\nexport const genIntHash = (string: string): number => {\r\n\tstring += '';\r\n\r\n\tlet hash = 0;\r\n\tif (!string.length) return hash;\r\n\r\n\tfor (let i = 0; i < string.length; i++) {\r\n\t\tconst char = string.charCodeAt(i);\r\n\t\thash = ((hash << 5) - hash) + char;\r\n\t\thash = hash & hash;\r\n\t}\r\n\r\n\tif (hash < 0) hash *= -1;\r\n\r\n\treturn hash;\r\n};\r\n\r\n/**\r\n * Проверить что переданная строка является URL\r\n */\r\nexport const isUrl = (url: string): boolean => {\r\n\treturn /^\\w+:\\/\\/([\\w-]+\\.)+[\\w-]+(:\\d+)?(\\/|$)/.test(url);\r\n};\r\n\r\n/**\r\n * Добавляет пробелы между разрядами если требуется\r\n * @param nStr строка с числом\r\n */\r\nexport const addCommasWhite = (nStr: string): string => {\r\n\tnStr += '';\r\n\r\n\tnStr = nStr.replace('-', '–');\r\n\r\n\tlet x = nStr.split('.');\r\n\tlet x1 = x[0];\r\n\tlet x2 = (x.length > 1) ? ('.' + x[1]) : '';\r\n\r\n\tif (x1.replace(/[+–]/, '').length <= 4) return nStr;\r\n\r\n\tconst rgx = /(\\d+)(\\d{3})/;\r\n\twhile (rgx.test(x1)) {\r\n\t\tx1 = x1.replace(rgx, '$1' + ' ' + '$2');\r\n\t}\r\n\treturn x1 + x2;\r\n};\r\n\r\n/**\r\n * Вставляет HTML-код разрыва строки перед каждым переводом строки\r\n */\r\nexport const nl2br = (str: string): string => {\r\n\tif (str === undefined) return '';\r\n\r\n\treturn str.replace(/\\r\\n|\\r|\\n/g, '<br>');\r\n};\r\n\r\n/**\r\n * Перевести число без деситичной приставки в число с деситичной приставкой степеней тысячи (с параметрами по умолчанию 1255 -> '1.26 K')\r\n * @param number\r\n * @param precision - точность, количество знаков после запятой\r\n * @param dimension - размерность, по умолчанию 1000\r\n * @param suffix - суффикс к десятичной приставке (по умолчанию выводится латинская заглавная буква)\r\n */\r\nexport const numberWithWord = (number: number, precision = 2, dimension = 1000, suffix = ''): string => {\r\n\tconst k = Math.pow(10, precision);\r\n\r\n\tlet numberStr = String(number);\r\n\tif (Math.abs(number) > Math.pow(dimension, 3)) {\r\n\t\tnumberStr = Math.round(number / Math.pow(dimension, 3) * k) / k + ' <small>G' + suffix + '</small>';\r\n\t} else if (Math.abs(number) > Math.pow(dimension, 2)) {\r\n\t\tnumberStr = Math.round(number / Math.pow(dimension, 2) * k) / k + ' <small>M' + suffix + '</small>';\r\n\t} else if (Math.abs(number) > dimension) {\r\n\t\tnumberStr = Math.round(number / dimension * k) / k + ' <small>K' + suffix + '</small>';\r\n\t}\r\n\r\n\tnumberStr = numberStr.replace(/^(-?\\d+)(\\d{3})/, '$1 $2');\r\n\r\n\treturn numberStr;\r\n};\r\n\r\n/**\r\n * Обрезать текст под три точки\r\n * @param string\r\n * @param max_length - максимальное количество символов текста, остальное обрежеться\r\n * @param pos - область обрезки 0-начало | 1-середина | 2-конец строки\r\n */\r\nexport const ellipsis = (string: string, max_length: number, pos: 0 | 1 | 2 = 1): string => {\r\n\tif (string == undefined) return '';\r\n\r\n\tstring += '';\r\n\tif (max_length == undefined || string.length <= max_length) return string;\r\n\r\n\tif (pos === 0) {\r\n\t\tstring = string.substr(string.length - max_length, max_length);\r\n\t\tstring = '...' + string;\r\n\t} else if (pos === 1) {\r\n\t\tconst string1 = string.substr(0, max_length / 2);\r\n\t\tconst string2 = string.substr(string.length - max_length / 2, Math.ceil(max_length / 2));\r\n\t\tstring = string1 + '...' + string2;\r\n\t} else if (pos === 2) {\r\n\t\tstring = string.substr(0, max_length);\r\n\t\tstring = string + '...';\r\n\t}\r\n\r\n\treturn string;\r\n};\r\n\r\n/**\r\n * Сгенерировать строку текста для вывода количества в разном склонении\r\n * @param num\r\n * @param ending0 - родительный падеж, множ. число (10 модулей)\r\n * @param ending1 - именительный падеж, ед. число (1 модуль)\r\n * @param ending2 - винительный падеж, множ. число (3 модуля)\r\n */\r\nexport const numberEnding = (num: number, ending0: string, ending1: string, ending2: string): string => {\r\n\t// склонение по множественному числу\r\n\tif (useI18nLang().value === 'en') {\r\n\t\tif (num === 1) {\r\n\t\t\treturn ending1;\r\n\t\t} else {\r\n\t\t\treturn ending0;\r\n\t\t}\r\n\t}\r\n\r\n\tconst num100 = num % 100;\r\n\tconst num10 = num % 10;\r\n\r\n\tif (num100 >= 5 && num100 <= 20) {\r\n\t\treturn ending0;\r\n\t} else if (num10 === 0) {\r\n\t\treturn ending0;\r\n\t} else if (num10 === 1) {\r\n\t\treturn ending1;\r\n\t} else if (num10 >= 2 && num10 <= 4) {\r\n\t\treturn ending2;\r\n\t} else if (num10 >= 5 && num10 <= 9) {\r\n\t\treturn ending0;\r\n\t} else {\r\n\t\treturn ending2;\r\n\t}\r\n};\r\n\r\n/**\r\n * Перевести строку в родительный падеж\r\n */\r\nexport const toRoditPadej = (str: string): string => {\r\n\tif (useI18nLang().value != 'ru' || str == '') return str;\r\n\r\n\tconst str_array = str.split(' ');\r\n\r\n\t$.map(str_array, function (str, index) {\r\n\t\tstr = str + 'а';\r\n\t\tstr = str.replace('оа', 'о');\r\n\t\tstr = str.replace('аяа', 'ой');\r\n\t\tstr = str.replace('шийа', 'шого');\r\n\t\tstr = str.replace('ыйа', 'ого');\r\n\t\tstr = str.replace('йа', 'я');\r\n\t\tstr = str.replace('ьа', 'я');\r\n\t\tstr = str.replace('яа', 'и');\r\n\t\tstr = str.replace('оваа', 'овой');\r\n\t\tstr = str.replace('аа', 'ы');\r\n\t\tstr = str.replace('кия', 'кого');\r\n\t\tstr = str.replace('каи', 'кой');\r\n\r\n\t\tstr_array[index] = str;\r\n\t});\r\n\r\n\tstr = str_array.join(' ');\r\n\r\n\treturn str;\r\n};\r\n\r\n/**\r\n * Транслитерация текста\r\n */\r\nexport const rusToLatin = (str: string): string => {\r\n\tconst ru: { [index: string]: string } = {\r\n\t\t'а': 'a', 'б': 'b', 'в': 'v', 'г': 'g', 'д': 'd',\r\n\t\t'е': 'e', 'ё': 'e', 'ж': 'j', 'з': 'z', 'и': 'i',\r\n\t\t'й': 'i', 'к': 'k', 'л': 'l', 'м': 'm', 'н': 'n',\r\n\t\t'о': 'o', 'п': 'p', 'р': 'r', 'с': 's', 'т': 't',\r\n\t\t'у': 'u', 'ф': 'f', 'х': 'h', 'ц': 'c', 'ч': 'ch',\r\n\t\t'ш': 'sh', 'щ': 'shch', 'ъ': '', 'ы': 'y', 'ь': '',\r\n\t\t'э': 'e', 'ю': 'u', 'я': 'ya',\r\n\t};\r\n\r\n\tconst str_array = str.split(' ');\r\n\r\n\t$.map(str_array, function (str, index) {\r\n\t\tconst newStr: string[] = [];\r\n\t\tfor (let i = 0; i < str.length; ++i) {\r\n\t\t\tnewStr.push(\r\n\t\t\t\tru[str[i]] || ru[str[i].toLowerCase()] == undefined && str[i] || ru[str[i].toLowerCase()].replace(/^(.)/, function (match) {\r\n\t\t\t\t\treturn match.toUpperCase();\r\n\t\t\t\t}),\r\n\t\t\t);\r\n\t\t}\r\n\r\n\t\tstr_array[index] = newStr.join('');\r\n\t});\r\n\r\n\tstr = str_array.join(' ');\r\n\r\n\treturn str;\r\n};\r\n\r\n/**\r\n * Замена html-символов (`&`, `<`, `>`, `\"`, `'`) на имена литер (`&` -> `&amp;`)\r\n */\r\nexport const htmlspecialchars = (str: string): string => {\r\n\tif (typeof (str) == 'string') {\r\n\t\tstr = str\r\n\t\t\t.replace(/&/g, '&amp;')\r\n\t\t\t.replace(/</g, '&lt;')\r\n\t\t\t.replace(/>/g, '&gt;')\r\n\t\t\t.replace(/\"/g, '&quot;')\r\n\t\t\t.replace(/'/g, '&#039;');\r\n\t}\r\n\treturn str;\r\n};\r\n\r\n/**\r\n * Выделить нужное в тексте желтым цветом\r\n * поиск происходит по строке fieldFilter.values[0]\r\n */\r\nexport const highlightHtml = (text: string, fieldFilter: { operator: 'CONTAINS' | 'REGEXP', values: string[] }): string => {\r\n\tlet regExp: RegExp | null = null;\r\n\r\n\tswitch (fieldFilter.operator) {\r\n\t\tcase 'CONTAINS':\r\n\t\tcase 'REGEXP':\r\n\t\t\ttry {\r\n\t\t\t\tlet regExpString = fieldFilter.values[0];\r\n\t\t\t\tif (fieldFilter.operator != 'REGEXP') regExpString = regExpString.replace(/([()\\[\\]])/g, '\\\\$1');\r\n\r\n\t\t\t\tregExp = new RegExp('(' + regExpString + ')', 'gi');\r\n\t\t\t} catch (exception) {\r\n\t\t\t\treturn text;\r\n\t\t\t}\r\n\r\n\t\t\tbreak;\r\n\t}\r\n\r\n\ttext = text.replace(regExp!, '<b class=\"found\">$1</b>');\r\n\r\n\treturn text;\r\n};\r\n\r\n/**\r\n * Пример: logHTTPCodesHundreds => log_http_codes_hundreds\r\n */\r\nexport const camelToSnakeCase = (str: string): string | undefined => {\r\n\treturn str.match(/[A-Z]{2,}(?=[A-Z][a-z]+[0-9]*|\\b)|[A-Z]?[a-z]+[0-9]*|[A-Z]|[0-9]+/g)?.map(token => token.toLowerCase()).join('_');\r\n};\r\n\r\n/**\r\n * Получить url изображения флага, по коду страны (RU, GB)\r\n */\r\nexport const genFlagLinkByCountryCode = (countryCode: string) => {\r\n\tconst urlImage = '/cloud/common/flags/' + countryCode.toUpperCase() + '.svg';\r\n\treturn `/controller/file/?src=${urlImage}`;\r\n};\r\n\r\n/**\r\n * Обернуть все ссылки и email в тексте в html-тег `<a>`.\r\n *\r\n * Для email ставиться префикс `mailto:`\r\n */\r\nexport const addLinkTags = (text: string): string => {\r\n\tconst domainRegexp = getDomainRegexp();\r\n\tconst afterDomainRegexp = '(([\\\\/?\\\\w&=%+#;:-]*(\\\\.\\\\w+)?))*';\r\n\r\n\tconst regexpMailto = new RegExp(`(^|[\\\\s>(),])([a-z0-9а-яё_.]+@${domainRegexp}${afterDomainRegexp})`, 'gui');\r\n\ttext = text.replace(regexpMailto, `$1<a href=\"mailto:$2\" target=\"_blank\" rel=\"noopener\">↑[$2]↓</a>`);\r\n\r\n\tconst regexpLink = new RegExp(`(^|[\\\\s>(),])(https?:\\/\\/)?(${domainRegexp}${afterDomainRegexp})`, 'gui');\r\n\ttext = text.replace(regexpLink, `$1<a href=\"√$2$3\" target=\"_blank\" rel=\"nofollow noopener\">$2$3</a>`);\r\n\r\n\ttext = text.replaceAll('√http', 'http');\r\n\ttext = text.replaceAll('√', 'http://');\r\n\ttext = text.replaceAll(/(↑\\[|]↓)/g, '');\r\n\r\n\treturn text;\r\n};\r\n\r\n/**\r\n * Перевести первую букву строки в верхний регистр\r\n */\r\nexport const toCapitalize = (str: string): string => {\r\n\treturn str.charAt(0).toUpperCase() + str.slice(1);\r\n};\r\n\r\n/**\r\n * Получить случайную строку\r\n */\r\nexport const getRandomHash = (length: number = 20): string => {\r\n\tconst l = 'AaBbCcDdEeFfGgHhIiJjKkLlMmNnOoPpQqRrSsTtUuVvWwXxYyZz1234567890';\r\n\r\n\tlet result = '';\r\n\tfor (let i = 0; i < length; i++) {\r\n\t\tresult += l[Math.floor(Math.random() * l.length)];\r\n\t}\r\n\r\n\treturn result;\r\n};\r\n"],"names":["genIntHash","string","hash","i","isUrl","url","addCommasWhite","nStr","x1","x","x2","rgx","nl2br","str","numberWithWord","number","precision","dimension","suffix","numberStr","ellipsis","max_length","pos","string1","string2","numberEnding","num","ending0","ending1","ending2","i18n","num100","num10","toRoditPadej","str2","str_array","index","rusToLatin","newStr","match","htmlspecialchars","highlightHtml","text","fieldFilter","regExp","regExpString","camelToSnakeCase","genFlagLinkByCountryCode","countryCode","addLinkTags","domainRegexp","utils_check","afterDomainRegexp","regexpMailto","regexpLink","toCapitalize","getRandomHash","length","result"],"mappings":"0IAWa,MAAAA,EAAAC,GAAA,OAGZ,IAAAC,EAAA,wBAGA,QAAAC,EAAA,EAAAA,EAAAF,EAAA,OAAAE,IAAA,sCAGCD,EAAAA,EAAAA,yBAWWE,EAAAC,GACZ,0CAAA,KAAAA,CAAA,EAOYC,EAAAC,GAAA,+CAMZC,EAAAC,EAAA,CAAA,EACAC,EAAAD,EAAA,OAAA,EAAA,IAAAA,EAAA,CAAA,EAAA,GAEA,GAAAD,EAAA,QAAA,OAAA,EAAA,EAAA,QAAA,EAAA,OAAAD,EAEA,MAAAI,EAAA,eACA,KAAAA,EAAA,KAAAH,CAAA,0BAGA,OAAAA,EAAAE,GAMYE,EAAAC,iDAaAC,EAAA,CAAAC,EAAAC,EAAA,EAAAC,EAAA,IAAAC,EAAA,KAAA,wBAGZ,IAAAC,EAAA,OAAAJ,CAAA,EACA,OAAA,KAAA,IAAAA,CAAA,EAAA,KAAA,IAAAE,EAAA,CAAA,6DAC0F,KAAA,IAAAF,CAAA,EAAA,KAAA,IAAAE,EAAA,CAAA,uKAkBpFG,EAAA,CAAAnB,EAAAoB,EAAAC,EAAA,IAAA,qBAIN,SAAAD,GAAA,MAAApB,EAAA,QAAAoB,EAAA,OAAApB,EAEA,GAAAqB,IAAA,EACCrB,EAAAA,EAAA,OAAAA,EAAA,OAAAoB,EAAAA,CAAA,EACApB,EAAA,MAAAA,UAAiBqB,IAAA,EAAA,CAEjB,MAAAC,EAAAtB,EAAA,OAAA,EAAAoB,EAAA,CAAA,0CAEApB,EAAAsB,EAAA,MAAAC,CAA2B,MAAAF,IAAA,oBAG3BrB,EAAAA,EAAA,iBAaKwB,EAAA,CAAAC,EAAAC,EAAAC,EAAAC,IAAA,CAEN,GAAAC,EAAA,YAAA,EAAA,QAAA,KACC,OAAAJ,IAAA,MAOD,MAAAK,EAAAL,EAAA,IACAM,EAAAN,EAAA,uBAGQM,IAAA,IAEAA,IAAA,iCAeIC,EAAApB,GAAA,CACZ,GAAAiB,EAAA,YAAA,EAAA,OAAA,MAAAjB,GAAA,GAAA,OAAAA,oDAKCqB,EAAAA,EAAA,4QAaAC,EAAAC,CAAA,EAAAF,CAAmB,CAAA,mBAWRG,EAAAxB,GAAA,mNAQc,8CAMzB,MAAAyB,EAAA,CAAA,EACA,QAAAnC,EAAA,EAAAA,EAAA+B,EAAA,OAAA,EAAA/B,sGAGG,OAAAoC,EAAA,YAAA,CAAyB,CAAA,CACzB,iBAI8B,CAAA,mBAWtBC,EAAA3B,IACZ,OAAAA,GAAA,WACCA,EAAAA,EAAA,QAAA,KAAA,OAAA,EAAA,QAAA,KAAA,MAAA,EAAA,QAAA,KAAA,MAAA,EAAA,QAAA,KAAA,QAAA,EAAA,QAAA,KAAA,QAAA,MAcW4B,EAAA,CAAAC,EAAAC,IAAA,CACZ,IAAAC,EAAA,uCAGM,IAAA,SAEJ,GAAA,mBAECD,EAAA,UAAA,WAAAE,EAAAA,EAAA,QAAA,cAAA,MAAA,GAEAD,EAAA,IAAA,OAAA,IAAAC,EAAA,IAAA,IAAA,iBAKD,yDAWUC,EAAAjC,GAAA,iJAOAkC,EAAAC,GAEZ,sEAAA,GAQYC,EAAAP,GAAA,CACZ,MAAAQ,EAAAC,EAAA,gBAAA,EACAC,EAAA,oCAEAC,EAAA,IAAA,OAAA,iCAAAH,CAAA,GAAAE,CAAA,IAAA,KAAA,EACAV,EAAAA,EAAA,QAAAW,EAAA,iEAAA,EAEA,MAAAC,EAAA,IAAA,OAAA,6BAAAJ,CAAA,GAAAE,CAAA,IAAA,KAAA,EACA,OAAAV,EAAAA,EAAA,QAAAY,EAAA,oEAAA,iGAYYC,EAAA1C,GACZA,EAAA,OAAA,CAAA,EAAA,YAAA,EAAAA,EAAA,MAAA,CAAA,EAMY2C,EAAA,CAAAC,EAAA,KAAA,CACZ,MAAA,EAAA,iEAEA,IAAAC,EAAA,GACA,QAAAvD,EAAA,EAAAA,EAAAsD,EAAAtD,IACCuD,GAAA,EAAA,KAAA,MAAA,KAAA,OAAA,EAAA,EAAA,MAAA,CAAA,UAIF"}
1
+ {"version":3,"file":"string.amd.js","sources":["../../src/core/utils/string.ts"],"sourcesContent":["/**\r\n * Работа со строками\r\n * @packageDocumentation\r\n */\r\n\r\nimport { getDomainRegexp } from '@/core/utils/check';\r\nimport { useI18nLang } from '@/core/plugins/i18n';\r\n\r\n/**\r\n * Сгенерировать числовой хэш от строки для идентификатора\r\n */\r\nexport const genIntHash = (string: string): number => {\r\n\tstring += '';\r\n\r\n\tlet hash = 0;\r\n\tif (!string.length) return hash;\r\n\r\n\tfor (let i = 0; i < string.length; i++) {\r\n\t\tconst char = string.charCodeAt(i);\r\n\t\thash = ((hash << 5) - hash) + char;\r\n\t\thash = hash & hash;\r\n\t}\r\n\r\n\tif (hash < 0) hash *= -1;\r\n\r\n\treturn hash;\r\n};\r\n\r\n/**\r\n * Проверить что переданная строка является URL\r\n */\r\nexport const isUrl = (url: string): boolean => {\r\n\treturn /^\\w+:\\/\\/([\\w-]+\\.)+[\\w-]+(:\\d+)?(\\/|$)/.test(url);\r\n};\r\n\r\n/**\r\n * Добавляет пробелы между разрядами если требуется\r\n * @param nStr строка с числом\r\n */\r\nexport const addCommasWhite = (nStr: string): string => {\r\n\tnStr += '';\r\n\r\n\tnStr = nStr.replace('-', '–');\r\n\r\n\tlet x = nStr.split('.');\r\n\tlet x1 = x[0];\r\n\tlet x2 = (x.length > 1) ? ('.' + x[1]) : '';\r\n\r\n\tif (x1.replace(/[+–]/, '').length <= 4) return nStr;\r\n\r\n\tconst rgx = /(\\d+)(\\d{3})/;\r\n\twhile (rgx.test(x1)) {\r\n\t\tx1 = x1.replace(rgx, '$1' + ' ' + '$2');\r\n\t}\r\n\treturn x1 + x2;\r\n};\r\n\r\n/**\r\n * Вставляет HTML-код разрыва строки перед каждым переводом строки\r\n */\r\nexport const nl2br = (str: string): string => {\r\n\tif (str === undefined) return '';\r\n\r\n\treturn str.replace(/\\r\\n|\\r|\\n/g, '<br>');\r\n};\r\n\r\n/**\r\n * Перевести число без деситичной приставки в число с деситичной приставкой степеней тысячи (с параметрами по умолчанию 1255 -> '1.26 K')\r\n * @param number\r\n * @param precision - точность, количество знаков после запятой\r\n * @param dimension - размерность, по умолчанию 1000\r\n * @param suffix - суффикс к десятичной приставке (по умолчанию выводится латинская заглавная буква)\r\n */\r\nexport const numberWithWord = (number: number, precision = 2, dimension = 1000, suffix = ''): string => {\r\n\tconst k = Math.pow(10, precision);\r\n\r\n\tlet numberStr = String(number);\r\n\tif (Math.abs(number) > Math.pow(dimension, 3)) {\r\n\t\tnumberStr = Math.round(number / Math.pow(dimension, 3) * k) / k + ' <small>G' + suffix + '</small>';\r\n\t} else if (Math.abs(number) > Math.pow(dimension, 2)) {\r\n\t\tnumberStr = Math.round(number / Math.pow(dimension, 2) * k) / k + ' <small>M' + suffix + '</small>';\r\n\t} else if (Math.abs(number) > dimension) {\r\n\t\tnumberStr = Math.round(number / dimension * k) / k + ' <small>K' + suffix + '</small>';\r\n\t}\r\n\r\n\tnumberStr = numberStr.replace(/^(-?\\d+)(\\d{3})/, '$1 $2');\r\n\r\n\treturn numberStr;\r\n};\r\n\r\n/**\r\n * Обрезать текст под три точки\r\n * @param string\r\n * @param max_length - максимальное количество символов текста, остальное обрежеться\r\n * @param pos - область обрезки 0-начало | 1-середина | 2-конец строки\r\n */\r\nexport const ellipsis = (string: string, max_length: number, pos: 0 | 1 | 2 = 1): string => {\r\n\tif (string == undefined) return '';\r\n\r\n\tstring += '';\r\n\tif (max_length == undefined || string.length <= max_length) return string;\r\n\r\n\tif (pos === 0) {\r\n\t\tstring = string.substr(string.length - max_length, max_length);\r\n\t\tstring = '...' + string;\r\n\t} else if (pos === 1) {\r\n\t\tconst string1 = string.substr(0, max_length / 2);\r\n\t\tconst string2 = string.substr(string.length - max_length / 2, Math.ceil(max_length / 2));\r\n\t\tstring = string1 + '...' + string2;\r\n\t} else if (pos === 2) {\r\n\t\tstring = string.substr(0, max_length);\r\n\t\tstring = string + '...';\r\n\t}\r\n\r\n\treturn string;\r\n};\r\n\r\n/**\r\n * Сгенерировать строку текста для вывода количества в разном склонении\r\n * @param num\r\n * @param ending0 - родительный падеж, множ. число (10 модулей)\r\n * @param ending1 - именительный падеж, ед. число (1 модуль)\r\n * @param ending2 - винительный падеж, множ. число (3 модуля)\r\n */\r\nexport const numberEnding = (num: number, ending0: string, ending1: string, ending2: string): string => {\r\n\t// склонение по множественному числу\r\n\tif (useI18nLang().value === 'en') {\r\n\t\tif (num === 1) {\r\n\t\t\treturn ending1;\r\n\t\t} else {\r\n\t\t\treturn ending0;\r\n\t\t}\r\n\t}\r\n\r\n\tconst num100 = num % 100;\r\n\tconst num10 = num % 10;\r\n\r\n\tif (num100 >= 5 && num100 <= 20) {\r\n\t\treturn ending0;\r\n\t} else if (num10 === 0) {\r\n\t\treturn ending0;\r\n\t} else if (num10 === 1) {\r\n\t\treturn ending1;\r\n\t} else if (num10 >= 2 && num10 <= 4) {\r\n\t\treturn ending2;\r\n\t} else if (num10 >= 5 && num10 <= 9) {\r\n\t\treturn ending0;\r\n\t} else {\r\n\t\treturn ending2;\r\n\t}\r\n};\r\n\r\n/**\r\n * Перевести строку в родительный падеж\r\n */\r\nexport const toRoditPadej = (str: string): string => {\r\n\tif (useI18nLang().value != 'ru' || str == '') return str;\r\n\r\n\tconst str_array = str.split(' ');\r\n\r\n\t$.map(str_array, function (str, index) {\r\n\t\tstr = str + 'а';\r\n\t\tstr = str.replace('оа', 'о');\r\n\t\tstr = str.replace('аяа', 'ой');\r\n\t\tstr = str.replace('шийа', 'шого');\r\n\t\tstr = str.replace('ыйа', 'ого');\r\n\t\tstr = str.replace('йа', 'я');\r\n\t\tstr = str.replace('ьа', 'я');\r\n\t\tstr = str.replace('яа', 'и');\r\n\t\tstr = str.replace('оваа', 'овой');\r\n\t\tstr = str.replace('аа', 'ы');\r\n\t\tstr = str.replace('кия', 'кого');\r\n\t\tstr = str.replace('каи', 'кой');\r\n\r\n\t\tstr_array[index] = str;\r\n\t});\r\n\r\n\tstr = str_array.join(' ');\r\n\r\n\treturn str;\r\n};\r\n\r\n/**\r\n * Транслитерация текста\r\n */\r\nexport const rusToLatin = (str: string): string => {\r\n\tconst ru: { [index: string]: string } = {\r\n\t\t'а': 'a', 'б': 'b', 'в': 'v', 'г': 'g', 'д': 'd',\r\n\t\t'е': 'e', 'ё': 'e', 'ж': 'j', 'з': 'z', 'и': 'i',\r\n\t\t'й': 'i', 'к': 'k', 'л': 'l', 'м': 'm', 'н': 'n',\r\n\t\t'о': 'o', 'п': 'p', 'р': 'r', 'с': 's', 'т': 't',\r\n\t\t'у': 'u', 'ф': 'f', 'х': 'h', 'ц': 'c', 'ч': 'ch',\r\n\t\t'ш': 'sh', 'щ': 'shch', 'ъ': '', 'ы': 'y', 'ь': '',\r\n\t\t'э': 'e', 'ю': 'u', 'я': 'ya',\r\n\t};\r\n\r\n\tconst str_array = str.split(' ');\r\n\r\n\t$.map(str_array, function (str, index) {\r\n\t\tconst newStr: string[] = [];\r\n\t\tfor (let i = 0; i < str.length; ++i) {\r\n\t\t\tnewStr.push(\r\n\t\t\t\tru[str[i]] || ru[str[i].toLowerCase()] == undefined && str[i] || ru[str[i].toLowerCase()].replace(/^(.)/, function (match) {\r\n\t\t\t\t\treturn match.toUpperCase();\r\n\t\t\t\t}),\r\n\t\t\t);\r\n\t\t}\r\n\r\n\t\tstr_array[index] = newStr.join('');\r\n\t});\r\n\r\n\tstr = str_array.join(' ');\r\n\r\n\treturn str;\r\n};\r\n\r\n/**\r\n * Замена html-символов (`&`, `<`, `>`, `\"`, `'`) на имена литер (`&` -> `&amp;`)\r\n */\r\nexport const htmlspecialchars = (str: string): string => {\r\n\tif (typeof (str) == 'string') {\r\n\t\tstr = str\r\n\t\t\t.replace(/&/g, '&amp;')\r\n\t\t\t.replace(/</g, '&lt;')\r\n\t\t\t.replace(/>/g, '&gt;')\r\n\t\t\t.replace(/\"/g, '&quot;')\r\n\t\t\t.replace(/'/g, '&#039;');\r\n\t}\r\n\treturn str;\r\n};\r\n\r\n/**\r\n * Выделить нужное в тексте желтым цветом\r\n * поиск происходит по строке fieldFilter.values[0]\r\n */\r\nexport const highlightHtml = (text: string, fieldFilter: { operator: 'CONTAINS' | 'REGEXP', values: string[] }): string => {\r\n\tlet regExp: RegExp | null = null;\r\n\r\n\tswitch (fieldFilter.operator) {\r\n\t\tcase 'CONTAINS':\r\n\t\tcase 'REGEXP':\r\n\t\t\ttry {\r\n\t\t\t\tlet regExpString = fieldFilter.values[0];\r\n\t\t\t\tif (fieldFilter.operator != 'REGEXP') regExpString = regExpString.replace(/([()\\[\\]])/g, '\\\\$1');\r\n\r\n\t\t\t\tregExp = new RegExp('(' + regExpString + ')', 'gi');\r\n\t\t\t} catch (exception) {\r\n\t\t\t\treturn text;\r\n\t\t\t}\r\n\r\n\t\t\tbreak;\r\n\t}\r\n\r\n\ttext = text.replace(regExp!, '<b class=\"found\">$1</b>');\r\n\r\n\treturn text;\r\n};\r\n\r\n/**\r\n * Пример: logHTTPCodesHundreds => log_http_codes_hundreds\r\n */\r\nexport const camelToSnakeCase = (str: string): string | undefined => {\r\n\treturn str.match(/[A-Z]{2,}(?=[A-Z][a-z]+[0-9]*|\\b)|[A-Z]?[a-z]+[0-9]*|[A-Z]|[0-9]+/g)?.map(token => token.toLowerCase()).join('_');\r\n};\r\n\r\n/**\r\n * Получить url изображения флага, по коду страны (RU, GB)\r\n */\r\nexport const genFlagLinkByCountryCode = (countryCode: string) => {\r\n\tconst urlImage = '/cloud/common/flags/' + countryCode.toUpperCase() + '.svg';\r\n\treturn `/controller/file/?src=${urlImage}`;\r\n};\r\n\r\n/**\r\n * Обернуть все ссылки и email в тексте в html-тег `<a>`.\r\n *\r\n * Для email ставиться префикс `mailto:`\r\n */\r\nexport const addLinkTags = (text: string): string => {\r\n\tconst domainRegexp = getDomainRegexp();\r\n\tconst afterDomainRegexp = '(([\\\\/?\\\\w&=%+#;:-]*(\\\\.\\\\w+)?))*';\r\n\r\n\tconst regexpMailto = new RegExp(`(^|[\\\\s>(),])([a-z0-9а-яё_.]+@${domainRegexp}${afterDomainRegexp})`, 'gui');\r\n\ttext = text.replace(regexpMailto, `$1<a href=\"mailto:$2\" target=\"_blank\" rel=\"noopener\">↑[$2]↓</a>`);\r\n\r\n\tconst regexpLink = new RegExp(`(^|[\\\\s>(),])(https?:\\/\\/)?(${domainRegexp}${afterDomainRegexp})`, 'gui');\r\n\ttext = text.replace(regexpLink, `$1<a href=\"√$2$3\" target=\"_blank\" rel=\"nofollow noopener\">$2$3</a>`);\r\n\r\n\ttext = text.replaceAll('√http', 'http');\r\n\ttext = text.replaceAll('√', 'http://');\r\n\ttext = text.replaceAll(/(↑\\[|]↓)/g, '');\r\n\r\n\treturn text;\r\n};\r\n\r\n/**\r\n * Перевести первую букву строки в верхний регистр\r\n */\r\nexport const toCapitalize = (str: string): string => {\r\n\treturn str.charAt(0).toUpperCase() + str.slice(1);\r\n};\r\n\r\n/**\r\n * Получить случайную строку\r\n */\r\nexport const getRandomHash = (length: number = 20): string => {\r\n\tconst l = 'AaBbCcDdEeFfGgHhIiJjKkLlMmNnOoPpQqRrSsTtUuVvWwXxYyZz1234567890';\r\n\r\n\tlet result = '';\r\n\tfor (let i = 0; i < length; i++) {\r\n\t\tresult += l[Math.floor(Math.random() * l.length)];\r\n\t}\r\n\r\n\treturn result;\r\n};\r\n"],"names":["genIntHash","string","hash","i","isUrl","url","addCommasWhite","nStr","x1","x","x2","rgx","nl2br","str","numberWithWord","number","precision","dimension","suffix","numberStr","ellipsis","max_length","pos","string1","string2","numberEnding","num","ending0","ending1","ending2","forms","num100","num10","toRoditPadej","str2","str_array","index","rusToLatin","newStr","match","htmlspecialchars","highlightHtml","text","fieldFilter","regExp","regExpString","camelToSnakeCase","genFlagLinkByCountryCode","countryCode","addLinkTags","domainRegexp","utils_check","afterDomainRegexp","regexpMailto","regexpLink","toCapitalize","getRandomHash","length","result"],"mappings":"2IAWa,MAAAA,EAAAC,GAAA,OAGZ,IAAAC,EAAA,wBAGA,QAAAC,EAAA,EAAAA,EAAAF,EAAA,OAAAE,IAAA,sCAGCD,EAAAA,EAAAA,yBAWWE,EAAAC,GACZ,0CAAA,KAAAA,CAAA,EAOYC,EAAAC,GAAA,+CAMZC,EAAAC,EAAA,CAAA,EACAC,EAAAD,EAAA,OAAA,EAAA,IAAAA,EAAA,CAAA,EAAA,GAEA,GAAAD,EAAA,QAAA,OAAA,EAAA,EAAA,QAAA,EAAA,OAAAD,EAEA,MAAAI,EAAA,eACA,KAAAA,EAAA,KAAAH,CAAA,0BAGA,OAAAA,EAAAE,GAMYE,EAAAC,iDAaAC,EAAA,CAAAC,EAAAC,EAAA,EAAAC,EAAA,IAAAC,EAAA,KAAA,wBAGZ,IAAAC,EAAA,OAAAJ,CAAA,EACA,OAAA,KAAA,IAAAA,CAAA,EAAA,KAAA,IAAAE,EAAA,CAAA,6DAC0F,KAAA,IAAAF,CAAA,EAAA,KAAA,IAAAE,EAAA,CAAA,uKAkBpFG,EAAA,CAAAnB,EAAAoB,EAAAC,EAAA,IAAA,qBAIN,SAAAD,GAAA,MAAApB,EAAA,QAAAoB,EAAA,OAAApB,EAEA,GAAAqB,IAAA,EACCrB,EAAAA,EAAA,OAAAA,EAAA,OAAAoB,EAAAA,CAAA,EACApB,EAAA,MAAAA,UAAiBqB,IAAA,EAAA,CAEjB,MAAAC,EAAAtB,EAAA,OAAA,EAAAoB,EAAA,CAAA,0CAEApB,EAAAsB,EAAA,MAAAC,CAA2B,MAAAF,IAAA,oBAG3BrB,EAAAA,EAAA,iBAaKwB,EAAA,CAAAC,EAAAC,EAAAC,EAAAC,IAAA,CAEN,GAAAC,EAAA,YAAA,EAAA,QAAA,KACC,OAAAJ,IAAA,MAOD,MAAAK,EAAAL,EAAA,IACAM,EAAAN,EAAA,uBAGQM,IAAA,IAEAA,IAAA,iCAeIC,EAAApB,GAAA,CACZ,GAAAiB,EAAA,YAAA,EAAA,OAAA,MAAAjB,GAAA,GAAA,OAAAA,oDAKCqB,EAAAA,EAAA,4QAaAC,EAAAC,CAAA,EAAAF,CAAmB,CAAA,mBAWRG,EAAAxB,GAAA,mNAQc,8CAMzB,MAAAyB,EAAA,CAAA,EACA,QAAAnC,EAAA,EAAAA,EAAA+B,EAAA,OAAA,EAAA/B,sGAGG,OAAAoC,EAAA,YAAA,CAAyB,CAAA,CACzB,iBAI8B,CAAA,mBAWtBC,EAAA3B,IACZ,OAAAA,GAAA,WACCA,EAAAA,EAAA,QAAA,KAAA,OAAA,EAAA,QAAA,KAAA,MAAA,EAAA,QAAA,KAAA,MAAA,EAAA,QAAA,KAAA,QAAA,EAAA,QAAA,KAAA,QAAA,MAcW4B,EAAA,CAAAC,EAAAC,IAAA,CACZ,IAAAC,EAAA,uCAGM,IAAA,SAEJ,GAAA,mBAECD,EAAA,UAAA,WAAAE,EAAAA,EAAA,QAAA,cAAA,MAAA,GAEAD,EAAA,IAAA,OAAA,IAAAC,EAAA,IAAA,IAAA,iBAKD,yDAWUC,EAAAjC,GAAA,iJAOAkC,EAAAC,GAEZ,sEAAA,GAQYC,EAAAP,GAAA,CACZ,MAAAQ,EAAAC,EAAA,gBAAA,EACAC,EAAA,oCAEAC,EAAA,IAAA,OAAA,iCAAAH,CAAA,GAAAE,CAAA,IAAA,KAAA,EACAV,EAAAA,EAAA,QAAAW,EAAA,iEAAA,EAEA,MAAAC,EAAA,IAAA,OAAA,6BAAAJ,CAAA,GAAAE,CAAA,IAAA,KAAA,EACA,OAAAV,EAAAA,EAAA,QAAAY,EAAA,oEAAA,iGAYYC,EAAA1C,GACZA,EAAA,OAAA,CAAA,EAAA,YAAA,EAAAA,EAAA,MAAA,CAAA,EAMY2C,EAAA,CAAAC,EAAA,KAAA,CACZ,MAAA,EAAA,iEAEA,IAAAC,EAAA,GACA,QAAAvD,EAAA,EAAAA,EAAAsD,EAAAtD,IACCuD,GAAA,EAAA,KAAA,MAAA,KAAA,OAAA,EAAA,EAAA,MAAA,CAAA,UAIF"}
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/i18n-DuTvft1T.es.js";
2
+ import { u as n } from "../.chunks/forms-CHiMZ8vg.es.js";
3
3
  const i = (e) => {
4
4
  e += "";
5
5
  let l = 0;
@@ -1,3 +0,0 @@
1
- define(["require","exports","vue"],function(Ft,p,o){"use strict";var Nt;if(typeof o>"u")var o=window.Vue;function je(){return"devicePixelRatio"in window&&window.devicePixelRatio>1}function Pe(){return!!navigator.userAgent.match(/Android|BlackBerry|iPhone|iPad|iPod|IEMobile|Opera Mini/i)}function De(){return navigator.userAgent.indexOf("Topvisor_App")!=-1}function Ie(){return navigator.userAgent.indexOf("Mac OS X")!==-1}function Rt(){const e=/Chrome|Android/.test(navigator.userAgent);let t=/Safari/.test(navigator.userAgent);return e&&t&&(t=!1),t}function Ht(){return Ie()?"⌘":"Ctrl"}const Ut=()=>$(document).scrollTop(),Gt=()=>$(document),Xt=()=>[document],Le=()=>{const e=[["iOS",/(iPhone|iPad)/i],["Android",/(Android)/i],["Windows Phone",/(IEMobile)/i],["Windows 3.11",/Win16/i],["Windows 95",/(Windows 95)|(Win95)|(Windows_95)/i],["Windows 98",/(Windows 98)|(Win98)/i],["Windows 2000",/(Windows NT 5.0)|(Windows 2000)/i],["Windows XP",/(Windows NT 5.1)|(Windows XP)/i],["Windows Server 2003",/(Windows NT 5.2)/i],["Windows Vista",/(Windows NT 6.0)/i],["Windows 7",/(Windows NT 6.1)/i],["Windows 8",/(Windows NT 6.[23])|(Windows 8)/i],["Windows 10",/(Windows NT 10)/i],["Windows NT 4.0",/(Windows NT 4.0)|(WinNT4.0)|(WinNT)|(Windows NT)/i],["Windows ME",/Windows ME/i],["Windows",/Windows/i],["Open BSD",/OpenBSD/i],["Sun OS",/SunOS/i],["Linux",/(Linux)|(X11)/i],["Macintosh",/(Mac_PowerPC)|(Macintosh)|(Mac OS X 10.4)|(Mac OS X 10.5)|(Mac OS X 10.6)/i],["QNX",/QNX/i],["BeOS",/BeOS/i],["OS/2",/OS\/2/i]];let t="";for(let n=0;n<e.length;n++)if(e[n][1].test(navigator.userAgent)){t=e[n][0];break}return t},Kt=async()=>{var t;let e=Le();if(e==="Windows 10"){const n=await((t=navigator==null?void 0:navigator.userAgentData)==null?void 0:t.getHighEntropyValues(["platformVersion"]));n&&n.platformVersion>="13"&&(e="Windows 11")}return e};function _(e){var t=typeof e;return e!=null&&(t=="object"||t=="function")}var Ve=typeof global=="object"&&global&&global.Object===Object&&global,Yt=typeof self=="object"&&self&&self.Object===Object&&self,S=Ve||Yt||Function("return this")(),ie=function(){return S.Date.now()},qt=/\s/;function Qt(e){for(var t=e.length;t--&&qt.test(e.charAt(t)););return t}var Jt=/^\s+/;function Zt(e){return e&&e.slice(0,Qt(e)+1).replace(Jt,"")}var z=S.Symbol,Ne=Object.prototype,xt=Ne.hasOwnProperty,en=Ne.toString,R=z?z.toStringTag:void 0;function tn(e){var t=xt.call(e,R),n=e[R];try{e[R]=void 0;var r=!0}catch{}var i=en.call(e);return r&&(t?e[R]=n:delete e[R]),i}var nn=Object.prototype,on=nn.toString;function rn(e){return on.call(e)}var an="[object Null]",sn="[object Undefined]",ze=z?z.toStringTag:void 0;function j(e){return e==null?e===void 0?sn:an:ze&&ze in Object(e)?tn(e):rn(e)}function O(e){return e!=null&&typeof e=="object"}var ln="[object Symbol]";function cn(e){return typeof e=="symbol"||O(e)&&j(e)==ln}var We=NaN,dn=/^[-+]0x[0-9a-f]+$/i,un=/^0b[01]+$/i,pn=/^0o[0-7]+$/i,fn=parseInt;function Fe(e){if(typeof e=="number")return e;if(cn(e))return We;if(_(e)){var t=typeof e.valueOf=="function"?e.valueOf():e;e=_(t)?t+"":t}if(typeof e!="string")return e===0?e:+e;e=Zt(e);var n=un.test(e);return n||pn.test(e)?fn(e.slice(2),n?2:8):dn.test(e)?We:+e}var mn="Expected a function",gn=Math.max,hn=Math.min;function se(e,t,n){var r,i,a,l,s,u,c=0,d=!1,f=!1,g=!0;if(typeof e!="function")throw new TypeError(mn);t=Fe(t)||0,_(n)&&(d=!!n.leading,f="maxWait"in n,a=f?gn(Fe(n.maxWait)||0,t):a,g="trailing"in n?!!n.trailing:g);function y(v){var A=r,q=i;return r=i=void 0,c=v,l=e.apply(q,A),l}function E(v){return c=v,s=setTimeout(T,t),d?y(v):l}function ae(v){var A=v-u,q=v-c,Wt=t-A;return f?hn(Wt,a-q):Wt}function B(v){var A=v-u,q=v-c;return u===void 0||A>=t||A<0||f&&q>=a}function T(){var v=ie();if(B(v))return zt(v);s=setTimeout(T,ae(v))}function zt(v){return s=void 0,g&&r?y(v):(r=i=void 0,l)}function ps(){s!==void 0&&clearTimeout(s),c=0,r=u=i=s=void 0}function fs(){return s===void 0?l:zt(ie())}function Ae(){var v=ie(),A=B(v);if(r=arguments,i=this,u=v,A){if(s===void 0)return E(u);if(f)return clearTimeout(s),s=setTimeout(T,t),y(u)}return s===void 0&&(s=setTimeout(T,t)),l}return Ae.cancel=ps,Ae.flush=fs,Ae}function bn(){this.__data__=[],this.size=0}function Q(e,t){return e===t||e!==e&&t!==t}function J(e,t){for(var n=e.length;n--;)if(Q(e[n][0],t))return n;return-1}var yn=Array.prototype,vn=yn.splice;function wn(e){var t=this.__data__,n=J(t,e);if(n<0)return!1;var r=t.length-1;return n==r?t.pop():vn.call(t,n,1),--this.size,!0}function $n(e){var t=this.__data__,n=J(t,e);return n<0?void 0:t[n][1]}function _n(e){return J(this.__data__,e)>-1}function Tn(e,t){var n=this.__data__,r=J(n,e);return r<0?(++this.size,n.push([e,t])):n[r][1]=t,this}function M(e){var t=-1,n=e==null?0:e.length;for(this.clear();++t<n;){var r=e[t];this.set(r[0],r[1])}}M.prototype.clear=bn,M.prototype.delete=wn,M.prototype.get=$n,M.prototype.has=_n,M.prototype.set=Tn;function Sn(){this.__data__=new M,this.size=0}function En(e){var t=this.__data__,n=t.delete(e);return this.size=t.size,n}function Bn(e){return this.__data__.get(e)}function Mn(e){return this.__data__.has(e)}var Cn="[object AsyncFunction]",On="[object Function]",kn="[object GeneratorFunction]",An="[object Proxy]";function le(e){if(!_(e))return!1;var t=j(e);return t==On||t==kn||t==Cn||t==An}var ce=S["__core-js_shared__"],Re=function(){var e=/[^.]+$/.exec(ce&&ce.keys&&ce.keys.IE_PROTO||"");return e?"Symbol(src)_1."+e:""}();function jn(e){return!!Re&&Re in e}var Pn=Function.prototype,Dn=Pn.toString;function P(e){if(e!=null){try{return Dn.call(e)}catch{}try{return e+""}catch{}}return""}var In=/[\\^$.*+?()[\]{}|]/g,Ln=/^\[object .+?Constructor\]$/,Vn=Function.prototype,Nn=Object.prototype,zn=Vn.toString,Wn=Nn.hasOwnProperty,Fn=RegExp("^"+zn.call(Wn).replace(In,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$");function Rn(e){if(!_(e)||jn(e))return!1;var t=le(e)?Fn:Ln;return t.test(P(e))}function Hn(e,t){return e==null?void 0:e[t]}function D(e,t){var n=Hn(e,t);return Rn(n)?n:void 0}var H=D(S,"Map"),U=D(Object,"create");function Un(){this.__data__=U?U(null):{},this.size=0}function Gn(e){var t=this.has(e)&&delete this.__data__[e];return this.size-=t?1:0,t}var Xn="__lodash_hash_undefined__",Kn=Object.prototype,Yn=Kn.hasOwnProperty;function qn(e){var t=this.__data__;if(U){var n=t[e];return n===Xn?void 0:n}return Yn.call(t,e)?t[e]:void 0}var Qn=Object.prototype,Jn=Qn.hasOwnProperty;function Zn(e){var t=this.__data__;return U?t[e]!==void 0:Jn.call(t,e)}var xn="__lodash_hash_undefined__";function eo(e,t){var n=this.__data__;return this.size+=this.has(e)?0:1,n[e]=U&&t===void 0?xn:t,this}function I(e){var t=-1,n=e==null?0:e.length;for(this.clear();++t<n;){var r=e[t];this.set(r[0],r[1])}}I.prototype.clear=Un,I.prototype.delete=Gn,I.prototype.get=qn,I.prototype.has=Zn,I.prototype.set=eo;function to(){this.size=0,this.__data__={hash:new I,map:new(H||M),string:new I}}function no(e){var t=typeof e;return t=="string"||t=="number"||t=="symbol"||t=="boolean"?e!=="__proto__":e===null}function Z(e,t){var n=e.__data__;return no(t)?n[typeof t=="string"?"string":"hash"]:n.map}function oo(e){var t=Z(this,e).delete(e);return this.size-=t?1:0,t}function ro(e){return Z(this,e).get(e)}function ao(e){return Z(this,e).has(e)}function io(e,t){var n=Z(this,e),r=n.size;return n.set(e,t),this.size+=n.size==r?0:1,this}function k(e){var t=-1,n=e==null?0:e.length;for(this.clear();++t<n;){var r=e[t];this.set(r[0],r[1])}}k.prototype.clear=to,k.prototype.delete=oo,k.prototype.get=ro,k.prototype.has=ao,k.prototype.set=io;var so=200;function lo(e,t){var n=this.__data__;if(n instanceof M){var r=n.__data__;if(!H||r.length<so-1)return r.push([e,t]),this.size=++n.size,this;n=this.__data__=new k(r)}return n.set(e,t),this.size=n.size,this}function L(e){var t=this.__data__=new M(e);this.size=t.size}L.prototype.clear=Sn,L.prototype.delete=En,L.prototype.get=Bn,L.prototype.has=Mn,L.prototype.set=lo;function co(e,t){for(var n=-1,r=e==null?0:e.length;++n<r&&t(e[n],n,e)!==!1;);return e}var x=function(){try{var e=D(Object,"defineProperty");return e({},"",{}),e}catch{}}();function de(e,t,n){t=="__proto__"&&x?x(e,t,{configurable:!0,enumerable:!0,value:n,writable:!0}):e[t]=n}var uo=Object.prototype,po=uo.hasOwnProperty;function He(e,t,n){var r=e[t];(!(po.call(e,t)&&Q(r,n))||n===void 0&&!(t in e))&&de(e,t,n)}function G(e,t,n,r){var i=!n;n||(n={});for(var a=-1,l=t.length;++a<l;){var s=t[a],u=void 0;u===void 0&&(u=e[s]),i?de(n,s,u):He(n,s,u)}return n}function fo(e,t){for(var n=-1,r=Array(e);++n<e;)r[n]=t(n);return r}var mo="[object Arguments]";function Ue(e){return O(e)&&j(e)==mo}var Ge=Object.prototype,go=Ge.hasOwnProperty,ho=Ge.propertyIsEnumerable,ue=Ue(function(){return arguments}())?Ue:function(e){return O(e)&&go.call(e,"callee")&&!ho.call(e,"callee")},X=Array.isArray;function bo(){return!1}var Xe=typeof p=="object"&&p&&!p.nodeType&&p,Ke=Xe&&typeof module=="object"&&module&&!module.nodeType&&module,yo=Ke&&Ke.exports===Xe,Ye=yo?S.Buffer:void 0,vo=Ye?Ye.isBuffer:void 0,pe=vo||bo,wo=9007199254740991,$o=/^(?:0|[1-9]\d*)$/;function qe(e,t){var n=typeof e;return t=t??wo,!!t&&(n=="number"||n!="symbol"&&$o.test(e))&&e>-1&&e%1==0&&e<t}var _o=9007199254740991;function Qe(e){return typeof e=="number"&&e>-1&&e%1==0&&e<=_o}var To="[object Arguments]",So="[object Array]",Eo="[object Boolean]",Bo="[object Date]",Mo="[object Error]",Co="[object Function]",Oo="[object Map]",ko="[object Number]",Ao="[object Object]",jo="[object RegExp]",Po="[object Set]",Do="[object String]",Io="[object WeakMap]",Lo="[object ArrayBuffer]",Vo="[object DataView]",No="[object Float32Array]",zo="[object Float64Array]",Wo="[object Int8Array]",Fo="[object Int16Array]",Ro="[object Int32Array]",Ho="[object Uint8Array]",Uo="[object Uint8ClampedArray]",Go="[object Uint16Array]",Xo="[object Uint32Array]",b={};b[No]=b[zo]=b[Wo]=b[Fo]=b[Ro]=b[Ho]=b[Uo]=b[Go]=b[Xo]=!0,b[To]=b[So]=b[Lo]=b[Eo]=b[Vo]=b[Bo]=b[Mo]=b[Co]=b[Oo]=b[ko]=b[Ao]=b[jo]=b[Po]=b[Do]=b[Io]=!1;function Ko(e){return O(e)&&Qe(e.length)&&!!b[j(e)]}function fe(e){return function(t){return e(t)}}var Je=typeof p=="object"&&p&&!p.nodeType&&p,K=Je&&typeof module=="object"&&module&&!module.nodeType&&module,Yo=K&&K.exports===Je,me=Yo&&Ve.process,W=function(){try{var e=K&&K.require&&K.require("util").types;return e||me&&me.binding&&me.binding("util")}catch{}}(),Ze=W&&W.isTypedArray,xe=Ze?fe(Ze):Ko,qo=Object.prototype,Qo=qo.hasOwnProperty;function et(e,t){var n=X(e),r=!n&&ue(e),i=!n&&!r&&pe(e),a=!n&&!r&&!i&&xe(e),l=n||r||i||a,s=l?fo(e.length,String):[],u=s.length;for(var c in e)(t||Qo.call(e,c))&&!(l&&(c=="length"||i&&(c=="offset"||c=="parent")||a&&(c=="buffer"||c=="byteLength"||c=="byteOffset")||qe(c,u)))&&s.push(c);return s}var Jo=Object.prototype;function ge(e){var t=e&&e.constructor,n=typeof t=="function"&&t.prototype||Jo;return e===n}function tt(e,t){return function(n){return e(t(n))}}var Zo=tt(Object.keys,Object),xo=Object.prototype,er=xo.hasOwnProperty;function tr(e){if(!ge(e))return Zo(e);var t=[];for(var n in Object(e))er.call(e,n)&&n!="constructor"&&t.push(n);return t}function ee(e){return e!=null&&Qe(e.length)&&!le(e)}function he(e){return ee(e)?et(e):tr(e)}function nr(e,t){return e&&G(t,he(t),e)}function or(e){var t=[];if(e!=null)for(var n in Object(e))t.push(n);return t}var rr=Object.prototype,ar=rr.hasOwnProperty;function ir(e){if(!_(e))return or(e);var t=ge(e),n=[];for(var r in e)r=="constructor"&&(t||!ar.call(e,r))||n.push(r);return n}function Y(e){return ee(e)?et(e,!0):ir(e)}function sr(e,t){return e&&G(t,Y(t),e)}var nt=typeof p=="object"&&p&&!p.nodeType&&p,ot=nt&&typeof module=="object"&&module&&!module.nodeType&&module,lr=ot&&ot.exports===nt,rt=lr?S.Buffer:void 0,at=rt?rt.allocUnsafe:void 0;function it(e,t){if(t)return e.slice();var n=e.length,r=at?at(n):new e.constructor(n);return e.copy(r),r}function st(e,t){var n=-1,r=e.length;for(t||(t=Array(r));++n<r;)t[n]=e[n];return t}function cr(e,t){for(var n=-1,r=e==null?0:e.length,i=0,a=[];++n<r;){var l=e[n];t(l,n,e)&&(a[i++]=l)}return a}function lt(){return[]}var dr=Object.prototype,ur=dr.propertyIsEnumerable,ct=Object.getOwnPropertySymbols,be=ct?function(e){return e==null?[]:(e=Object(e),cr(ct(e),function(t){return ur.call(e,t)}))}:lt;function pr(e,t){return G(e,be(e),t)}function dt(e,t){for(var n=-1,r=t.length,i=e.length;++n<r;)e[i+n]=t[n];return e}var ye=tt(Object.getPrototypeOf,Object),fr=Object.getOwnPropertySymbols,ut=fr?function(e){for(var t=[];e;)dt(t,be(e)),e=ye(e);return t}:lt;function mr(e,t){return G(e,ut(e),t)}function pt(e,t,n){var r=t(e);return X(e)?r:dt(r,n(e))}function gr(e){return pt(e,he,be)}function hr(e){return pt(e,Y,ut)}var ve=D(S,"DataView"),we=D(S,"Promise"),$e=D(S,"Set"),_e=D(S,"WeakMap"),ft="[object Map]",br="[object Object]",mt="[object Promise]",gt="[object Set]",ht="[object WeakMap]",bt="[object DataView]",yr=P(ve),vr=P(H),wr=P(we),$r=P($e),_r=P(_e),C=j;(ve&&C(new ve(new ArrayBuffer(1)))!=bt||H&&C(new H)!=ft||we&&C(we.resolve())!=mt||$e&&C(new $e)!=gt||_e&&C(new _e)!=ht)&&(C=function(e){var t=j(e),n=t==br?e.constructor:void 0,r=n?P(n):"";if(r)switch(r){case yr:return bt;case vr:return ft;case wr:return mt;case $r:return gt;case _r:return ht}return t});var Tr=Object.prototype,Sr=Tr.hasOwnProperty;function Er(e){var t=e.length,n=new e.constructor(t);return t&&typeof e[0]=="string"&&Sr.call(e,"index")&&(n.index=e.index,n.input=e.input),n}var yt=S.Uint8Array;function Te(e){var t=new e.constructor(e.byteLength);return new yt(t).set(new yt(e)),t}function Br(e,t){var n=t?Te(e.buffer):e.buffer;return new e.constructor(n,e.byteOffset,e.byteLength)}var Mr=/\w*$/;function Cr(e){var t=new e.constructor(e.source,Mr.exec(e));return t.lastIndex=e.lastIndex,t}var vt=z?z.prototype:void 0,wt=vt?vt.valueOf:void 0;function Or(e){return wt?Object(wt.call(e)):{}}function $t(e,t){var n=t?Te(e.buffer):e.buffer;return new e.constructor(n,e.byteOffset,e.length)}var kr="[object Boolean]",Ar="[object Date]",jr="[object Map]",Pr="[object Number]",Dr="[object RegExp]",Ir="[object Set]",Lr="[object String]",Vr="[object Symbol]",Nr="[object ArrayBuffer]",zr="[object DataView]",Wr="[object Float32Array]",Fr="[object Float64Array]",Rr="[object Int8Array]",Hr="[object Int16Array]",Ur="[object Int32Array]",Gr="[object Uint8Array]",Xr="[object Uint8ClampedArray]",Kr="[object Uint16Array]",Yr="[object Uint32Array]";function qr(e,t,n){var r=e.constructor;switch(t){case Nr:return Te(e);case kr:case Ar:return new r(+e);case zr:return Br(e,n);case Wr:case Fr:case Rr:case Hr:case Ur:case Gr:case Xr:case Kr:case Yr:return $t(e,n);case jr:return new r;case Pr:case Lr:return new r(e);case Dr:return Cr(e);case Ir:return new r;case Vr:return Or(e)}}var _t=Object.create,Qr=function(){function e(){}return function(t){if(!_(t))return{};if(_t)return _t(t);e.prototype=t;var n=new e;return e.prototype=void 0,n}}();function Tt(e){return typeof e.constructor=="function"&&!ge(e)?Qr(ye(e)):{}}var Jr="[object Map]";function Zr(e){return O(e)&&C(e)==Jr}var St=W&&W.isMap,xr=St?fe(St):Zr,ea="[object Set]";function ta(e){return O(e)&&C(e)==ea}var Et=W&&W.isSet,na=Et?fe(Et):ta,oa=1,ra=2,aa=4,Bt="[object Arguments]",ia="[object Array]",sa="[object Boolean]",la="[object Date]",ca="[object Error]",Mt="[object Function]",da="[object GeneratorFunction]",ua="[object Map]",pa="[object Number]",Ct="[object Object]",fa="[object RegExp]",ma="[object Set]",ga="[object String]",ha="[object Symbol]",ba="[object WeakMap]",ya="[object ArrayBuffer]",va="[object DataView]",wa="[object Float32Array]",$a="[object Float64Array]",_a="[object Int8Array]",Ta="[object Int16Array]",Sa="[object Int32Array]",Ea="[object Uint8Array]",Ba="[object Uint8ClampedArray]",Ma="[object Uint16Array]",Ca="[object Uint32Array]",h={};h[Bt]=h[ia]=h[ya]=h[va]=h[sa]=h[la]=h[wa]=h[$a]=h[_a]=h[Ta]=h[Sa]=h[ua]=h[pa]=h[Ct]=h[fa]=h[ma]=h[ga]=h[ha]=h[Ea]=h[Ba]=h[Ma]=h[Ca]=!0,h[ca]=h[Mt]=h[ba]=!1;function te(e,t,n,r,i,a){var l,s=t&oa,u=t&ra,c=t&aa;if(l!==void 0)return l;if(!_(e))return e;var d=X(e);if(d){if(l=Er(e),!s)return st(e,l)}else{var f=C(e),g=f==Mt||f==da;if(pe(e))return it(e,s);if(f==Ct||f==Bt||g&&!i){if(l=u||g?{}:Tt(e),!s)return u?mr(e,sr(l,e)):pr(e,nr(l,e))}else{if(!h[f])return i?e:{};l=qr(e,f,s)}}a||(a=new L);var y=a.get(e);if(y)return y;a.set(e,l),na(e)?e.forEach(function(B){l.add(te(B,t,n,B,e,a))}):xr(e)&&e.forEach(function(B,T){l.set(T,te(B,t,n,T,e,a))});var E=c?u?hr:gr:u?Y:he,ae=d?void 0:E(e);return co(ae||e,function(B,T){ae&&(T=B,B=e[T]),He(l,T,te(B,t,n,T,e,a))}),l}var Oa=1,ka=4;function Aa(e){return te(e,Oa|ka)}var ja="Expected a function";function Se(e,t){if(typeof e!="function"||t!=null&&typeof t!="function")throw new TypeError(ja);var n=function(){var r=arguments,i=t?t.apply(this,r):r[0],a=n.cache;if(a.has(i))return a.get(i);var l=e.apply(this,r);return n.cache=a.set(i,l)||a,l};return n.cache=new(Se.Cache||k),n}Se.Cache=k;var Pa="Expected a function";function Da(e,t,n){var r=!0,i=!0;if(typeof e!="function")throw new TypeError(Pa);return _(n)&&(r="leading"in n?!!n.leading:r,i="trailing"in n?!!n.trailing:i),se(e,t,{leading:r,maxWait:t,trailing:i})}function Ee(e,t,n){(n!==void 0&&!Q(e[t],n)||n===void 0&&!(t in e))&&de(e,t,n)}function Ia(e){return function(t,n,r){for(var i=-1,a=Object(t),l=r(t),s=l.length;s--;){var u=l[++i];if(n(a[u],u,a)===!1)break}return t}}var La=Ia();function Va(e){return O(e)&&ee(e)}var Na="[object Object]",za=Function.prototype,Wa=Object.prototype,Ot=za.toString,Fa=Wa.hasOwnProperty,Ra=Ot.call(Object);function Ha(e){if(!O(e)||j(e)!=Na)return!1;var t=ye(e);if(t===null)return!0;var n=Fa.call(t,"constructor")&&t.constructor;return typeof n=="function"&&n instanceof n&&Ot.call(n)==Ra}function Be(e,t){if(!(t==="constructor"&&typeof e[t]=="function")&&t!="__proto__")return e[t]}function Ua(e){return G(e,Y(e))}function Ga(e,t,n,r,i,a,l){var s=Be(e,n),u=Be(t,n),c=l.get(u);if(c){Ee(e,n,c);return}var d=a?a(s,u,n+"",e,t,l):void 0,f=d===void 0;if(f){var g=X(u),y=!g&&pe(u),E=!g&&!y&&xe(u);d=u,g||y||E?X(s)?d=s:Va(s)?d=st(s):y?(f=!1,d=it(u,!0)):E?(f=!1,d=$t(u,!0)):d=[]:Ha(u)||ue(u)?(d=s,ue(s)?d=Ua(s):(!_(s)||le(s))&&(d=Tt(u))):f=!1}f&&(l.set(u,d),i(d,u,r,a,l),l.delete(u)),Ee(e,n,d)}function kt(e,t,n,r,i){e!==t&&La(t,function(a,l){if(i||(i=new L),_(a))Ga(e,t,l,n,kt,r,i);else{var s=r?r(Be(e,l),a,l+"",e,t,i):void 0;s===void 0&&(s=a),Ee(e,l,s)}},Y)}function At(e){return e}function Xa(e,t,n){switch(n.length){case 0:return e.call(t);case 1:return e.call(t,n[0]);case 2:return e.call(t,n[0],n[1]);case 3:return e.call(t,n[0],n[1],n[2])}return e.apply(t,n)}var jt=Math.max;function Ka(e,t,n){return t=jt(t===void 0?e.length-1:t,0),function(){for(var r=arguments,i=-1,a=jt(r.length-t,0),l=Array(a);++i<a;)l[i]=r[t+i];i=-1;for(var s=Array(t+1);++i<t;)s[i]=r[i];return s[t]=n(l),Xa(e,this,s)}}function Ya(e){return function(){return e}}var qa=x?function(e,t){return x(e,"toString",{configurable:!0,enumerable:!1,value:Ya(t),writable:!0})}:At,Qa=800,Ja=16,Za=Date.now;function xa(e){var t=0,n=0;return function(){var r=Za(),i=Ja-(r-n);if(n=r,i>0){if(++t>=Qa)return arguments[0]}else t=0;return e.apply(void 0,arguments)}}var ei=xa(qa);function ti(e,t){return ei(Ka(e,t,At),e+"")}function ni(e,t,n){if(!_(n))return!1;var r=typeof t;return(r=="number"?ee(n)&&qe(t,n.length):r=="string"&&t in n)?Q(n[t],e):!1}function oi(e){return ti(function(t,n){var r=-1,i=n.length,a=i>1?n[i-1]:void 0,l=i>2?n[2]:void 0;for(a=e.length>3&&typeof a=="function"?(i--,a):void 0,l&&ni(n[0],n[1],l)&&(a=i<3?void 0:a,i=1),t=Object(t);++r<i;){var s=n[r];s&&e(t,s,r,a)}return t})}var ri=oi(function(e,t,n){kt(e,t,n)});const ai=ri,ii=100,Me=new Map,ne={width:window.innerWidth,height:window.innerHeight},si=e=>{Me.set(e,e)},li=e=>{Me.delete(e)},ci=se(e=>{const t=e;t.topEvent={widthDiff:ne.width-window.innerWidth,hightDiff:ne.height-window.innerHeight},ne.width=window.innerWidth,ne.height=window.innerHeight,Me.forEach(n=>n(t))},ii);window.addEventListener("resize",ci);const Pt={addOnReize:si,removeOnResize:li},F={themeName:"light",documentClassModificators:new Map,widthForMobile:900,dateFormat:"Y-m-d",currency:"USD",gmt:(Nt=new Date().toString().match(/GMT(\S+)/))==null?void 0:Nt[1]},di={documentClassModificators:F.documentClassModificators,dateFormat:F.dateFormat,currency:F.currency,gmt:F.gmt,isMobile:!1,isMobileUA:!1,isRetina:!1,isApp:!1,isLandscape:!0,isPortrait:!1,size:0,isHidden:!1};class m{static L=o.reactive({Not_date:"Not date"});static state=o.reactive({...di});static widthForMobile=F.widthForMobile;static themeName=F.themeName;static matchMediaIsMobile;static $=window.$;static Events=Pt;static _setState(){m.matchMediaIsMobile=window.matchMedia(`(max-width: ${m.widthForMobile}px)`),m.state.isMobileUA=Pe(),m.state.isRetina=je(),m.state.isApp=De(),m.useDocumentClassModificators(),m.useIsHidden(),m.setStateByWindowSize(),m.Events.addOnReize(m.onResize),m.onResize(),m.saveToCookie()}static useDocumentClassModificators(){o.watch(m.state.documentClassModificators,(t,n)=>{let r=new Set;n==null||n.forEach(i=>r.add(i)),t.forEach(i=>r.delete(i)),r.forEach(i=>document.documentElement.classList.remove(i)),t.forEach(i=>document.documentElement.classList.add(i))},{immediate:!0})}static useIsHidden(){document.addEventListener("visibilitychange",()=>{m.state.isHidden=document.hidden}),m.state.isHidden=document.hidden}static setStateByWindowSize(){var t;m.state.isMobile=!!((t=m.matchMediaIsMobile)!=null&&t.matches),m.state.isLandscape=window.innerWidth>window.innerHeight,m.state.isPortrait=!m.state.isLandscape,m.state.size=window.innerWidth>window.innerHeight?window.innerWidth:window.innerHeight,m.saveToCookie()}static onResize(){m.setStateByWindowSize(),document.documentElement.style.setProperty("--100vh",window.innerHeight+"px")}static saveToCookie(){const t=[1,window.innerWidth,window.innerHeight,window.devicePixelRatio,Number(m.state.isMobile),Number(m.state.isRetina)];document.cookie="device="+t.join(",")+"; path=/;"}static insertCSSLinkToPage=(t,n=!1)=>{const r=new Map;r.set("::",[]),t.forEach(a=>{let l=!1,s=!1;a.match(/\.m\./)&&(l=!0),a.match(/\.pc\./)&&(s=!0);const u=`${l}:${s}`;r.has(u)||r.set(`${l}:${s}`,[]),r.get(`${l}:${s}`).push(a)});const i=[];return r.forEach((a,l)=>{if(!a.length)return;const[s,u]=l.split(":").map(f=>f==="true");let c="all";s&&(c="(max-width: "+m.widthForMobile+"px)"),u&&(c="(min-width: "+m.widthForMobile+"px)"),m._insertToPage(a,c,n).forEach(f=>i.push(f))}),Promise.all(i)};static _insertToPage=(t,n,r)=>{const i=[];return t.forEach(a=>{if(r){const f=new XMLHttpRequest;f.open("GET",a,!1),f.send()}const l="topCSSLink-"+a.replace(/\W/g,"-");if(window.hasOwnProperty(l))return;let s,u;const c=new Promise((f,g)=>{s=f,u=g});i.push(c);const d=document.createElement("link");d.id=l,d.rel="stylesheet",d.media=n,d.href=a,d.onload=()=>s(),d.onerror=()=>u(),document.head.append(d)}),i};static insertStyleToPage=(t,n="")=>{let r="all";n==="m"&&(r="(max-width: "+m.widthForMobile+"px)"),n==="pc"&&(r="(min-width: "+m.widthForMobile+"px)");const i=document.createElement("style");i.innerHTML=t,i.media=r,document.head.append(i)}}const V=window.L??{},ui=(e,t,n)=>{switch(new Date(e,t,n).getDay()){case 0:return V.Vs+".";case 1:return V.Pn+".";case 2:return V.Vt+".";case 3:return V.Sr+".";case 4:return V.Ct+".";case 5:return V.Pt+".";case 6:return V.Sb+".";default:return""}},pi=(e,t=!0,n=2)=>{let r=String(e.getFullYear()),i=String(e.getDate()).padStart(2,"0"),a=String(e.getMonth()+1).padStart(2,"0"),l=String(e.getHours()).padStart(2,"0"),s=String(e.getMinutes()).padStart(2,"0"),u=String(e.getSeconds()).padStart(2,"0"),c=r+"-"+a+"-"+i;return n>=1&&(c+=" "+l),n>=2&&(c+=":"+s),n===3&&(c+=":"+u),t&&(c=N(c,n)),c};function fi(e){return e.indexOf("T")===-1&&(e.length==10&&(e+=" 00:00:00"),e=e.replace(" ","T")+m.state.gmt),new Date(e)}function Dt(e,t=!0,n=0){let r;e!=null?r=new Date(e):r=new Date;const i=r.getFullYear(),a=String(r.getMonth()+1).padStart(2,"0"),l=r.getDate().toString().padStart(2,"0"),s=r.getHours().toString().padStart(2,"0"),u=r.getMinutes().toString().padStart(2,"0"),c=r.getSeconds().toString().padStart(2,"0");return r=i+"-"+a+"-"+l,n&&(r+=" "),n>=1&&(r+=s),n>=2&&(r+=":"+u),n>=3&&(r+=":"+c),t&&(r=N(r,n)),r}function mi(e,t=!0){const r=new Date().getTimezoneOffset()/60*-1*60*60*1e3,i=3*60*60*1e3;let a;e!==void 0?a=new Date(e):a=new Date,a.setTime(a.getTime()-r+i);let l=String(a.getFullYear()),s=String(a.getDate()).padStart(2,"0"),u=String(a.getMonth()+1).padStart(2,"0"),c=String(a.getHours()).padStart(2,"0"),d=String(a.getMinutes()).padStart(2,"0"),f=String(a.getSeconds()).padStart(2,"0"),g=l+"-"+u+"-"+s+" "+c+":"+d+":"+f;return t&&(g=N(g)),g}function N(e,t=2,n,r=m.L.Not_date){if(typeof e=="string"&&(!e||e.substring(0,10)==="0000-00-00")&&r&&r!=="0000-00-00"||!e)return r;n||(n=m.state.dateFormat),n=n.toLowerCase().replace("m","mm").replace("y","yy").replace("d","dd");let i;if(e instanceof Date)i=e;else{let l=e.substring(0,10);if(l.length===7&&(l+="-01"),l+=" 00:00",l=l.replace(/-/g,"/"),i=new Date(l),isNaN(Number(i)))return r}let a="";if(n&&window.$&&(a=$.datepicker.formatDate(n,i)),t&&typeof e=="string"&&e.length>10||t&&e instanceof Date){let l="";if(e instanceof Date)l=new Date().toLocaleTimeString("en-US",{hour12:!1,hour:"numeric",minute:t>=2?"numeric":void 0,second:t>=3?"numeric":void 0});else switch(t){case 1:l=e.substring(11,13);break;case 2:l=e.substring(11,16);break;case 3:l=e.substring(11,19);break}a+=" "+l}return a=a.trim(),a}function Ce(e,t=m.L.Not_date){if(!e)return t;if(e.match(/\d\d\d\d-\d\d-\d\d/))return e;const n=m.state.dateFormat.toLowerCase(),r=e.split(/\W/),i=n.split(/\W/);let a="",l="",s="";i.forEach((c,d)=>{switch(c){case"d":a=r[d];break;case"m":l=r[d];break;case"y":s=r[d];break}});let u=s+"-"+l+"-"+a;return u.match(/\d\d\d\d-\d\d-\d\d/)||(console.info("Неверный формат даты, будет возращена текущая дата, "+u),u=Dt(new Date().getTime(),!1).substring(0,10)),u}const gi={class:"top-avatar"},hi=["src","title"],bi=["title"],yi=o.defineComponent({__name:"avatar",props:{size:{default:64},image:{},nickname:{},isOnline:{type:Boolean},lastActiveTime:{},i18n:{default:()=>({Online:"Online",LastSeen:"Last seen"})}},setup(e){o.useCssVars(i=>({"1de5db46":i.size+"px"}));const t=e,n=o.computed(()=>{var i,a;if(t.isOnline)return(i=t.i18n)==null?void 0:i.Online;if(t.lastActiveTime)return((a=t.i18n)==null?void 0:a.LastSeen)+": "+N(t.lastActiveTime,2)}),r=o.computed(()=>t.nickname?t.nickname+(n.value?`
2
- ${n.value}`:""):n.value);return(i,a)=>(o.openBlock(),o.createElementBlock("div",gi,[o.createElementVNode("img",{class:"top-avatar_image",src:i.image,title:r.value,alt:""},null,8,hi),i.isOnline?(o.openBlock(),o.createElementBlock("div",{key:0,class:"top-avatar_status",title:n.value},null,8,bi)):o.createCommentVNode("",!0)]))}}),vi={"top-avatar":"top-avatar","top-avatar_image":"top-avatar_image","top-avatar_status":"top-avatar_status"},w=(e,t)=>{const n=e.__vccOpts||e;for(const[r,i]of t)n[r]=i;return n},wi=w(yi,[["__cssModules",{$style:vi}]]),$i=["data-top-badge"],_i={key:1,class:"top-ellipsis"},It=w(o.defineComponent({__name:"button",props:{color:{default:"blue"},styling:{default:""},size:{default:"s"},name:{},title:{},icon:{},icon2:{},href:{},badgeNumber:{},badgePosAfterText:{type:Boolean},disabled:{type:Boolean},isSubmit:{type:Boolean},isActive:{type:Boolean},isProgress:{type:Boolean}},setup(e){const t=e,n=o.computed(()=>t.href?"a":"button"),r=o.computed(()=>t.isSubmit?"submit":void 0);return(i,a)=>(o.openBlock(),o.createBlock(o.resolveDynamicComponent(n.value),{class:o.normalizeClass({"top-active":i.isActive,"top-disabled":i.disabled,"top-forms-focusable":!i.disabled,"top-button":!0,"top-button-progress":i.isProgress,[`top-size_${i.size}`]:!!i.size,[`top-color_${i.color}`]:!0,[`top-style_${i.styling}`]:!!i.styling,"top-button-withoutText":!i.$slots.default}),name:i.name,title:i.title,href:i.href,type:r.value,"data-top-icon":i.icon||void 0,"data-top-icon2":i.icon2||void 0,disabled:i.disabled||void 0,inProgress:i.isProgress},{default:o.withCtx(()=>[i.badgeNumber?(o.openBlock(),o.createElementBlock("span",{key:0,"data-top-badge":i.badgeNumber,class:o.normalizeClass(["top-button_badge",{"top-button_badge-afterText":i.badgePosAfterText}])},null,10,$i)):o.createCommentVNode("",!0),i.$slots.default?(o.openBlock(),o.createElementBlock("span",_i,[o.renderSlot(i.$slots,"default",{},()=>[o.createTextVNode(o.toDisplayString(i.icon?"":"Button"),1)])])):o.createCommentVNode("",!0),o.renderSlot(i.$slots,"html")]),_:3},8,["class","name","title","href","type","data-top-icon","data-top-icon2","disabled","inProgress"]))}}),[["__cssModules",{$style:{"top-button":"top-button","top-active":"top-active","top-button-progress":"top-button-progress",progress:"_progress_nt3dl_1","top-button-withoutText":"top-button-withoutText","top-color_blue":"top-color_blue","top-color_green":"top-color_green","top-color_orange":"top-color_orange","top-color_red":"top-color_red","top-color_pink":"top-color_pink","top-color_theme":"top-color_theme","top-style_outline":"top-style_outline","top-style_soft":"top-style_soft","top-style_transparent":"top-style_transparent","top-ellipsis":"top-ellipsis","top-size_xs":"top-size_xs","top-size_m":"top-size_m","top-size_l":"top-size_l","top-button_badge-afterText":"top-button_badge-afterText"}}]]),Ti={class:"top-forms-optionLabel"},oe=w(o.defineComponent({__name:"controlLabel",props:{description:{},disabled:{type:Boolean}},setup(e){return(t,n)=>(o.openBlock(),o.createElementBlock("div",Ti,[o.createElementVNode("div",{class:o.normalizeClass({"top-forms-optionLabel_title":!0,"top-forms-optionLabel_title-disabled":t.disabled})},[o.renderSlot(t.$slots,"default")],2),t.description?(o.openBlock(),o.createElementBlock("div",{key:0,class:o.normalizeClass(["top-forms-optionLabel_description",{"top-forms-optionLabel_description-disabled":t.disabled}])},o.toDisplayString(t.description),3)):o.createCommentVNode("",!0)]))}}),[["__cssModules",{$style:{"top-forms-optionLabel":"top-forms-optionLabel","top-forms-optionLabel_title":"top-forms-optionLabel_title","top-forms-optionLabel_title-disabled":"top-forms-optionLabel_title-disabled","top-forms-optionLabel_description":"top-forms-optionLabel_description","top-forms-optionLabel_description-disabled":"top-forms-optionLabel_description-disabled"}}]]),Si=["name","value","indeterminate","disabled"],Ei=w(o.defineComponent({__name:"checkbox",props:o.mergeModels({modelValue:{type:[Boolean,Array,Set]},name:{},value:{},description:{},disabled:{type:Boolean},indeterminate:{type:Boolean},isError:{type:Boolean}},{modelValue:{type:[Boolean,Array,Set]},modelModifiers:{}}),emits:["update:modelValue"],setup(e){const t=o.useModel(e,"modelValue");return(n,r)=>(o.openBlock(),o.createElementBlock("label",{class:o.normalizeClass({"top-forms-optionWrapper":!0,"top-checkbox":!0,["top-checkbox_"+n.name]:!!n.name,"top-disabled":n.disabled,"top-error":n.isError&&!n.disabled})},[o.withDirectives(o.createElementVNode("input",{type:"checkbox",class:o.normalizeClass({"top-forms-focusable":!n.disabled,"top-forms-option":!0,"top-checkbox_input":!0,"top-error":n.isError&&!n.disabled}),name:n.name,"onUpdate:modelValue":r[0]||(r[0]=i=>t.value=i),value:n.value,indeterminate:n.indeterminate,disabled:n.disabled},null,10,Si),[[o.vModelCheckbox,t.value]]),n.$slots.default?(o.openBlock(),o.createBlock(oe,{key:0,description:n.description,disabled:n.disabled},{default:o.withCtx(()=>[o.renderSlot(n.$slots,"default")]),_:3},8,["description","disabled"])):o.createCommentVNode("",!0)],2))}}),[["__cssModules",{$style:{"top-checkbox":"top-checkbox","top-checkbox_input":"top-checkbox_input","top-error":"top-error"}}]]),Bi=["title"],Oe=w(o.defineComponent({__name:"hint",props:{hint:{}},setup(e){return(t,n)=>(o.openBlock(),o.createElementBlock("span",{class:"top-hint","data-top-icon":"",title:t.hint},null,8,Bi))}}),[["__cssModules",{$style:{"top-hint":"top-hint"}}]]),Mi={"top-loadbar":"top-loadbar"},Ci={},Oi={class:"top-loadbar"};function ki(e,t){return o.openBlock(),o.createElementBlock("div",Oi)}const ke=w(Ci,[["render",ki],["__cssModules",{$style:Mi}]]),Ai=["data-top-icon","data-top-icon2"],ji=["name","title","placeholder","disabled","readonly"],Pi={key:2,class:"top-formsCaption"},re=w(o.defineComponent({inheritAttrs:!1,__name:"input",props:{modelValue:{},name:{},disabled:{type:Boolean},readonly:{type:Boolean},modificator:{},size:{default:"s"},isError:{type:Boolean},isLoading:{type:Boolean},icon:{},icon2:{},addCleaner:{type:Boolean},title:{},captionType:{default:""}},emits:["update:modelValue"],setup(e,{emit:t}){const n=e,r=t,i=o.computed({get(){return n.modelValue},set(s){r("update:modelValue",s)}}),a=o.computed(()=>n.addCleaner&&!n.title||n.captionType!==""?"":n.title),l=s=>{n.modelValue&&s.stopPropagation(),r("update:modelValue","")};return(s,u)=>(o.openBlock(),o.createElementBlock("label",{class:o.normalizeClass({"top-input":!0,["top-size_"+s.size]:!0,"top-disabled":s.disabled,["top-input-"+s.modificator]:!!s.modificator,"top-input-withCleaner":s.addCleaner&&i.value&&i.value!=="0000-00-00","top-formsCaptionWrapper":s.captionType!=="","top-formsCaptionWrapper-always":s.captionType==="top"}),"data-top-icon":s.icon,"data-top-icon2":s.icon2},[s.isLoading?(o.openBlock(),o.createBlock(ke,{key:0})):o.createCommentVNode("",!0),o.withDirectives(o.createElementVNode("input",o.mergeProps({type:"text",class:{"top-input_input":!0,["top-input_input-"+s.modificator]:!!s.modificator,"top-forms-focusable":!s.disabled,"top-error":s.isError},autocomplete:"off_always",name:s.name,"onUpdate:modelValue":u[0]||(u[0]=c=>i.value=c),title:s.title,placeholder:a.value,disabled:s.disabled,readonly:s.readonly,onKeydown:u[1]||(u[1]=o.withKeys(c=>(s.addCleaner||!!s.$slots.btn)&&l(c),["esc"]))},s.$attrs),null,16,ji),[[o.vModelText,i.value]]),s.addCleaner&&i.value&&i.value!=="0000-00-00"?(o.openBlock(),o.createElementBlock("span",{key:1,class:"top-input_cleaner","data-top-icon":"",onClick:o.withModifiers(l,["prevent"])})):o.createCommentVNode("",!0),s.captionType!==""?(o.openBlock(),o.createElementBlock("span",Pi,o.toDisplayString(s.title),1)):o.createCommentVNode("",!0),o.renderSlot(s.$slots,"default")],10,Ai))}}),[["__cssModules",{$style:{"top-input":"top-input","top-input_input":"top-input_input","top-input-withCleaner":"top-input-withCleaner","top-input_cleaner":"top-input_cleaner","top-loadbar":"top-loadbar"}}]]),Di=["modelValue"],Ii=!!document.documentElement.ontouchstart&&!!document.createElement("input").showPicker;let Lt=e=>{};const Li=w(o.defineComponent({__name:"inputDate",props:{modelValue:{},name:{},disabled:{type:Boolean},readonly:{type:Boolean},modificator:{},size:{},isError:{type:Boolean},isLoading:{type:Boolean},icon:{},icon2:{default:""},addCleaner:{type:Boolean},title:{},captionType:{}},emits:["update:modelValue"],setup(e,{emit:t}){const n=e,r=t;o.onUnmounted(()=>{a&&a.datepicker("destroy")});const i=o.ref();let a;const l=o.computed({get(){return N(n.modelValue,2,void 0,"0000-00-00")},set(d){d=Ce(d,"0000-00-00"),r("update:modelValue",d)}});let s=d=>{Lt(d)},u=d=>{const f=Ce(d.target.value),g=N(f);if(!g||g===m.L.Not_date||d.target.value!==g){d.target.value=l.value;return}l.value=d.target.value};async function c(d){const f=await new Promise((g,y)=>Ft(["./datepicker-BJGX0c7G.amd"],g,y));Lt=f.oninput,a=f.connectDatepicker(d.target,{onSelect:()=>u(d)}),a&&a.datepicker("show")}return(d,f)=>o.unref(Ii)?(o.openBlock(),o.createBlock(re,o.mergeProps({key:0},d.$props,{modelValue:l.value,readonly:"",onClick:f[1]||(f[1]=g=>i.value.showPicker())}),{default:o.withCtx(()=>[o.createElementVNode("input",{ref_key:"el",ref:i,type:"date",class:"top-input_input-date",modelValue:d.modelValue,onChange:f[0]||(f[0]=g=>l.value=g.target.value),tabindex:"-1"},null,40,Di)]),_:1},16,["modelValue"])):(o.openBlock(),o.createBlock(re,o.mergeProps({key:1},d.$props,{modelValue:l.value,"onUpdate:modelValue":f[2]||(f[2]=g=>g===""?l.value="":""),onInput:o.unref(s),onFocusOnce:c,onChange:o.unref(u),modificator:"datepicker"}),null,16,["modelValue","onInput","onChange"]))}}),[["__cssModules",{$style:{"top-input-datepicker":"top-input-datepicker","top-input_input-date":"top-input_input-date"}}]]),Vi={class:"top-inputRange"},Ni=o.createElementVNode("span",{class:"top-inputRange_dash"}," — ",-1),zi=w(o.defineComponent({__name:"inputRange",setup(e){return(t,n)=>(o.openBlock(),o.createElementBlock("div",Vi,[o.renderSlot(t.$slots,"from"),Ni,o.renderSlot(t.$slots,"to")]))}}),[["__cssModules",{$style:{"top-inputRange":"top-inputRange","top-inputRange_dash":"top-inputRange_dash","top-input":"top-input"}}]]),Wi=["name","value","disabled"],Fi=w(o.defineComponent({__name:"radio",props:{modelValue:{},value:{},name:{},description:{},disabled:{type:Boolean},isError:{type:Boolean}},emits:["update:modelValue"],setup(e,{emit:t}){const n=e,r=t,i=o.computed({get(){return n.modelValue},set(a){r("update:modelValue",a)}});return(a,l)=>(o.openBlock(),o.createElementBlock("label",{class:o.normalizeClass({"top-forms-optionWrapper":!0,"top-radio":!0,["top-radio_"+a.name]:a.name!=="","top-disabled":a.disabled,"top-error":a.isError&&!a.disabled})},[o.withDirectives(o.createElementVNode("input",{type:"radio",class:o.normalizeClass({"top-forms-focusable":!a.disabled,"top-forms-option":!0,"top-radio_input":!0,"top-error":a.isError&&!a.disabled}),"onUpdate:modelValue":l[0]||(l[0]=s=>i.value=s),name:a.name,value:a.value,disabled:a.disabled},null,10,Wi),[[o.vModelRadio,i.value]]),a.$slots.default?(o.openBlock(),o.createBlock(oe,{key:0,description:a.description,disabled:a.disabled},{default:o.withCtx(()=>[o.renderSlot(a.$slots,"default")]),_:3},8,["description","disabled"])):o.createCommentVNode("",!0)],2))}}),[["__cssModules",{$style:{"top-radio":"top-radio","top-radio_input":"top-radio_input","top-error":"top-error"}}]]),Ri=["name","value","disabled"],Hi=w(o.defineComponent({__name:"switcher",props:{modelValue:{type:[Boolean,Array,Set]},name:{},value:{},description:{},disabled:{type:Boolean},isError:{type:Boolean}},emits:["update:modelValue"],setup(e,{emit:t}){const n=e,r=t,i=o.computed({get(){return n.modelValue},set(a){r("update:modelValue",a)}});return(a,l)=>(o.openBlock(),o.createElementBlock("label",{class:o.normalizeClass({"top-forms-optionWrapper":!0,"top-checkboxSwitcher":!0,"top-disabled":a.disabled,"top-error":a.isError&&!a.disabled})},[o.withDirectives(o.createElementVNode("input",{type:"checkbox",class:o.normalizeClass({"top-forms-focusable":!a.disabled,"top-forms-option":!0,"top-checkboxSwitcher_input":!0,"top-error":a.isError&&!a.disabled}),"onUpdate:modelValue":l[0]||(l[0]=s=>i.value=s),name:a.name,value:a.value,disabled:a.disabled},null,10,Ri),[[o.vModelCheckbox,i.value]]),a.$slots.default?(o.openBlock(),o.createBlock(oe,{key:0,description:a.description,disabled:a.disabled},{default:o.withCtx(()=>[o.renderSlot(a.$slots,"default")]),_:3},8,["description","disabled"])):o.createCommentVNode("",!0)],2))}}),[["__cssModules",{$style:{"top-checkboxSwitcher":"top-checkboxSwitcher","top-checkboxSwitcher_input":"top-checkboxSwitcher_input","top-error":"top-error"}}]]),Ui=["name","placeholder","disabled","readonly","rows"],Gi={key:0,class:"top-textarea_pseudoContent"},Vt=w(o.defineComponent({inheritAttrs:!1,__name:"textarea",props:{modelValue:{},name:{},placeholder:{},rows:{default:5},minHeight:{default:120},expandable:{type:Boolean},disabled:{type:Boolean},readonly:{type:Boolean},isError:{type:Boolean},hint:{}},emits:["update:modelValue"],setup(e,{emit:t}){o.useCssVars(a=>({"7fda7542":a.minHeight+"px"}));const n=e,r=t,i=o.computed({get(){return n.modelValue},set(a){r("update:modelValue",a)}});return(a,l)=>{const s=o.resolveDirective("top-tooltip");return o.openBlock(),o.createElementBlock("label",{class:o.normalizeClass({"top-textarea":!0,["top-textarea-"+a.name]:a.name,"top-disabled":a.disabled})},[o.withDirectives(o.createElementVNode("textarea",o.mergeProps({type:"text",class:{"top-forms-focusable":!a.disabled,"top-textarea_textarea":!0,"top-textarea_textarea-expandable":a.expandable,"top-error":a.isError},autocomplete:"off_always",name:a.name,placeholder:a.placeholder,disabled:a.disabled,readonly:a.readonly,rows:a.expandable?void 0:a.rows},a.$attrs,{"onUpdate:modelValue":l[0]||(l[0]=u=>i.value=u)}),null,16,Ui),[[o.vModelText,i.value]]),a.expandable?(o.openBlock(),o.createElementBlock("div",Gi,o.toDisplayString(i.value+" "),1)):o.createCommentVNode("",!0),a.hint?o.withDirectives((o.openBlock(),o.createBlock(Oe,{key:1,class:"top-textarea_hint",hint:a.hint},null,8,["hint"])),[[s]]):o.createCommentVNode("",!0)],2)}}}),[["__cssModules",{$style:{"top-textarea":"top-textarea","top-textarea_textarea":"top-textarea_textarea","top-textarea_textarea-expandable":"top-textarea_textarea-expandable","top-textarea_pseudoContent":"top-textarea_pseudoContent","top-textarea_hint":"top-textarea_hint"}}]]),Xi=["data-value","data-top-icon","data-top-icon2"],Ki=["name","disabled"],Yi=["label","disabled"],qi=["value","selected","disabled"],Qi=["value","selected","disabled"],Ji={key:1,class:"top-formsCaption"},Zi=w(o.defineComponent({__name:"select",props:o.mergeModels({modelValue:{},options:{},name:{},disabled:{type:Boolean},icon:{},size:{default:"s"},addChanger:{type:Boolean},title:{},isError:{type:Boolean}},{modelValue:{required:!0},modelModifiers:{}}),emits:o.mergeModels(["update:modelValue"],["update:modelValue"]),setup(e,{emit:t}){const n=e,r=o.useModel(e,"modelValue"),i=o.computed(()=>{const c=new Map;return n.options.forEach((d,f)=>{if(typeof d=="string"&&(d=l(f,d)),d.children){const g=new Map;d.children.forEach((y,E)=>{typeof y=="string"&&(y=l(E,y)),g.set(y.value,y)}),d={...d},d.children=g,c.set(d.value,d)}else c.set(d.value,d)}),c}),a=o.computed(()=>{const c=new Map;return i.value.forEach(d=>{if(!d.disabled){if(d.children){d.children.forEach(f=>{f.disabled||c.set(f.value,f)});return}c.set(d.value,d)}}),c}),l=(c,d)=>({value:c,title:d});o.watch([()=>n.modelValue,a],()=>{(r.value===null||r.value===void 0)&&a.value.size&&(console.warn("Пожалуйста, не передавайте в компонент Select значения null и undefined"),r.value=a.value.keys().next().value)},{immediate:!0});const s=o.computed(()=>{var c;return(c=a.value.get(r.value))==null?void 0:c.icon}),u=()=>{const c=[...a.value.keys()],f=(c.indexOf(r.value)+1)%c.length;r.value=c[f]};return(c,d)=>(o.openBlock(),o.createElementBlock("label",{class:o.normalizeClass({"top-select":!0,["top-select-"+c.name]:c.name,["top-size_"+c.size]:!0,"top-formsCaptionWrapper":!!c.title,"top-select-error":c.isError,"top-disabled":c.disabled}),"data-value":r.value,"data-top-icon":c.icon,"data-top-icon2":s.value},[o.withDirectives(o.createElementVNode("select",{class:o.normalizeClass({"top-forms-focusable":!c.disabled,"top-select_select":!0,"top-select_arrow":!0,"top-error":c.isError}),name:c.name,disabled:c.disabled,"onUpdate:modelValue":d[0]||(d[0]=f=>r.value=f)},[(o.openBlock(!0),o.createElementBlock(o.Fragment,null,o.renderList(i.value,([f,g])=>(o.openBlock(),o.createElementBlock(o.Fragment,null,[g.children?(o.openBlock(),o.createElementBlock("optgroup",{key:"group_"+f,label:g.title,disabled:g.disabled},[(o.openBlock(!0),o.createElementBlock(o.Fragment,null,o.renderList(g.children,([y,E])=>(o.openBlock(),o.createElementBlock("option",{key:y,value:y,selected:y===r.value,disabled:E.disabled},o.toDisplayString(E.title),9,qi))),128))],8,Yi)):(o.openBlock(),o.createElementBlock("option",{key:f??void 0,value:f,selected:f===r.value,disabled:g.disabled},o.toDisplayString(g.title),9,Qi))],64))),256))],10,Ki),[[o.vModelSelect,r.value]]),c.addChanger&&a.value.size&&!c.disabled?(o.openBlock(),o.createElementBlock("span",{key:0,class:"top-changer",onClick:u})):o.createCommentVNode("",!0),c.title?(o.openBlock(),o.createElementBlock("span",Ji,o.toDisplayString(c.title),1)):o.createCommentVNode("",!0)],10,Xi))}}),[["__cssModules",{$style:{"top-select":"top-select","top-select-error":"top-select-error","top-select_select":"top-select_select","top-changer":"top-changer"}}]]),xi=wi,es=It,ts=Ei,ns=oe,os=Oe,rs=re,as=Li,is=zi,ss=Fi,ls=Hi,cs=Vt,ds=Zi,us=ke;p.Core=m,p.Events=Pt,p.Textarea=Vt,p.TopAvatar=xi,p.TopButton=It,p.TopButton$1=es,p.TopCheckbox=ts,p.TopControlLabel=ns,p.TopHint=Oe,p.TopHint$1=os,p.TopInput=rs,p.TopInput$1=re,p.TopInputDate=as,p.TopInputRange=is,p.TopLoadbar=us,p.TopLoadbar$1=ke,p.TopRadio=ss,p.TopSelect=ds,p.TopSwitcher=ls,p.TopTextarea=cs,p._export_sfc=w,p.cloneDeep=Aa,p.dateFormat=N,p.dateToString=pi,p.dateUnformat=Ce,p.debounce=se,p.genDate=Dt,p.genDateMoscow=mi,p.get$scroll=Gt,p.getCommandKeyLabel=Ht,p.getDayOfWeek=ui,p.getElsScroll=Xt,p.getOS=Le,p.getOSAsync=Kt,p.getScrollTop=Ut,p.isApp=De,p.isMacOS=Ie,p.isMobile=Pe,p.isRetina=je,p.isSafari=Rt,p.memoize=Se,p.merge=ai,p.stringToDate=fi,p.throttle=Da});
3
- //# sourceMappingURL=forms-BImXJ_ZO.amd.js.map