@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
@@ -1,2 +0,0 @@
1
- define(["require","exports","vue"],function(f,r,e){"use strict";if(typeof e>"u")var e=window.Vue;const s={install:(n,i)=>{n.config.globalProperties.$i18n=e.reactive(i.i18n),n.config.globalProperties.$i18nLang=e.ref(i.lang),n.config.globalProperties.$i18nSetLang=()=>{},n.config.globalProperties.i18n=n.config.globalProperties.$i18n,typeof window<"u"&&window.requirejs&&(n.config.globalProperties.$i18nSetLang=async(o,a)=>{await window.requirejs("i18n").setLang(o,a);const t=window.requirejs("i18n").categories[o];Object.keys(t).forEach(g=>{n.config.globalProperties.$i18n[g]=t[g]}),n.config.globalProperties.$i18nLang.value=o}),n.provide("$i18n",n.config.globalProperties.$i18n),n.provide("$i18nLang",n.config.globalProperties.$i18nLang),n.provide("$i18nSetLang",n.config.globalProperties.$i18nSetLang),n.provide("i18n",n.config.globalProperties.i18n)}},u=()=>{var n,i;return!e.getCurrentInstance()&&((i=(n=window.mo)==null?void 0:n.user)!=null&&i.lang)?requirejs("i18n").categories[mo.user.lang]:e.inject("$i18n")},c=()=>{var n,i;return!e.getCurrentInstance()&&((i=(n=window.mo)==null?void 0:n.user)!=null&&i.lang)?e.ref(mo.user.lang):e.inject("$i18nLang")},l=()=>e.inject("$i18nSetLang");r.i18n=s,r.useI18n=u,r.useI18nLang=c,r.useI18nSetLang=l});
2
- //# sourceMappingURL=i18n-C_OH9IT3.amd.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"i18n-C_OH9IT3.amd.js","sources":["../../src/core/plugins/i18n.ts"],"sourcesContent":["import type { ObjectPlugin, Reactive, Ref } from 'vue';\r\nimport { getCurrentInstance, inject, reactive, ref } from 'vue';\r\nimport type { components as I18nComponents } from 'topvisor-openapi/src/ts/I18n';\r\n\r\nexport type Lang = 'ru' | 'en';\r\n\r\ntype Options = {\r\n\t/**\r\n\t * Предзагруженные словари\r\n\t *\r\n\t * Для загрузки нужного словаря используйте @r/i18n.esm.js\r\n\t *\r\n\t * ```js\r\n\t * import '@r/i18n.esm.js?Projects';\r\n\t * ```\r\n\t */\r\n\ti18n: I18nComponents['schemas'];\r\n\r\n\t/**\r\n\t * Текущий язык\r\n\t */\r\n\tlang: Lang;\r\n};\r\n\r\n/**\r\n * Загруженные словари\r\n *\r\n * Для загрузки нужного словаря используйте @r/i18n.esm.js\r\n *\r\n * ```js\r\n * import '@r/i18n.esm.js?Projects';\r\n * ```\r\n */\r\ntype I18n = Reactive<Options['i18n']>;\r\n\r\ntype i18nSetLang = (lang: Lang, forceReload?: boolean) => void;\r\n\r\ndeclare module 'vue' {\r\n\texport interface ComponentCustomProperties {\r\n\t\t/**\r\n\t\t * Загруженные словари\r\n\t\t *\r\n\t\t * @see I18n\r\n\t\t */\r\n\t\t$i18n: I18n;\r\n\r\n\t\t/**\r\n\t\t * Текущий язык\r\n\t\t */\r\n\t\t$i18nLang: Ref<Lang>;\r\n\r\n\t\t/**\r\n\t\t * Установить язык\r\n\t\t */\r\n\t\t$i18nSetLang: i18nSetLang;\r\n\t}\r\n}\r\n\r\n/**\r\n * Плагин работает в сваязке с плагином requirejs('i18n')\r\n *\r\n * При инициализации необходимо указать в $i18n объект с предзагруежнными словарями, остальные словари можно импортировать диномически вместе с\r\n * компонентами\r\n *\r\n * Внутри UI дозагрузка словарей недоступна и требует предзагрузки необходимых словарей\r\n *\r\n * Добавляет глобальные свойства:\r\n * - \\$i18n\r\n * - \\$i18nLang\r\n * - \\$i18nSetLang\r\n *\r\n * Для загрузки необходимого словаря указывайте его в зависимостях компонента:\r\n *\r\n * ```js\r\n * import '@r/i18n.esm.js?Projects';\r\n * ```\r\n *\r\n * В setup():\r\n *\r\n * ```js\r\n * useI18n().Projects.Site; // выполнит inject('$i18n').Projects.Site, не испоьзуйте inject('$i18n') напрямую, так как он не типизирован\r\n * ```\r\n *\r\n * В template:\r\n *\r\n * ```html\r\n * {{ $i18n.Projects.Site }}\r\n * ```\r\n */\r\nexport default {\r\n\r\n\tinstall: (app, options) => {\r\n\t\tapp.config.globalProperties.$i18n = reactive(options.i18n);\r\n\t\tapp.config.globalProperties.$i18nLang = ref(options.lang);\r\n\t\tapp.config.globalProperties.$i18nSetLang = () => {};\r\n\r\n\t\t/**\r\n\t\t * @deprecated\r\n\t\t */\r\n\t\tapp.config.globalProperties.i18n = app.config.globalProperties.$i18n;\r\n\r\n\t\t// только в браузере (не ssr)\r\n\t\tif (typeof window !== 'undefined' && window['requirejs']) {\r\n\t\t\tapp.config.globalProperties.$i18nSetLang = async (lang, forceReload) => {\r\n\t\t\t\tawait window['requirejs']('i18n').setLang(lang, forceReload);\r\n\r\n\t\t\t\tconst categoriesActual = window['requirejs']('i18n').categories[lang];\r\n\t\t\t\tObject.keys(categoriesActual).forEach(categoryName => {\r\n\t\t\t\t\tapp.config.globalProperties.$i18n[categoryName] = categoriesActual[categoryName];\r\n\t\t\t\t});\r\n\r\n\t\t\t\tapp.config.globalProperties.$i18nLang.value = lang;\r\n\t\t\t};\r\n\t\t}\r\n\r\n\t\tapp.provide('$i18n', app.config.globalProperties.$i18n);\r\n\t\tapp.provide('$i18nLang', app.config.globalProperties.$i18nLang);\r\n\t\tapp.provide('$i18nSetLang', app.config.globalProperties.$i18nSetLang);\r\n\r\n\t\t/**\r\n\t\t * @deprecated\r\n\t\t */\r\n\t\tapp.provide('i18n', app.config.globalProperties.i18n);\r\n\t},\r\n\r\n} satisfies ObjectPlugin<Options>;\r\n\r\n/**\r\n * Получить доступ к загруженным словарям\r\n *\r\n * @see I18n\r\n */\r\nexport const useI18n = (): I18n => {\r\n\t// @ts-ignore - no vue\r\n\tif (!getCurrentInstance() && window['mo']?.user?.lang) return requirejs('i18n').categories[mo.user.lang];\r\n\r\n\treturn inject('$i18n') as I18n;\r\n};\r\n\r\n/**\r\n * Текущий язык\r\n */\r\nexport const useI18nLang = (): Ref<Lang> => {\r\n\t// @ts-ignore - no vue\r\n\tif (!getCurrentInstance() && window['mo']?.user?.lang) return ref(mo.user.lang);\r\n\r\n\treturn inject('$i18nLang') as Ref<Lang>;\r\n};\r\n\r\n/**\r\n * Получить функцию для установки языка\r\n */\r\nexport const useI18nSetLang = () => {\r\n\treturn inject('$i18nSetLang') as i18nSetLang;\r\n};\r\n"],"names":["i18n","app","options","vue","lang","forceReload","categoriesActual","categoryName","useI18n","_b","_a","useI18nLang","useI18nSetLang"],"mappings":"iGAyFA,MAAAA,EAAA,CAAe,QAAA,CAAAC,EAAAC,IAAA,CAGbD,EAAA,OAAA,iBAAA,MAAAE,EAAA,SAAAD,EAAA,IAAA,EACAD,EAAA,OAAA,iBAAA,UAAAE,EAAA,IAAAD,EAAA,IAAA,8CACiD,EAKjDD,EAAA,OAAA,iBAAA,KAAAA,EAAA,OAAA,iBAAA,4CAICA,EAAA,OAAA,iBAAA,aAAA,MAAAG,EAAAC,IAAA,CACC,MAAA,OAAA,UAAA,MAAA,EAAA,QAAAD,EAAAC,CAAA,EAEA,MAAAC,EAAA,OAAA,UAAA,MAAA,EAAA,WAAAF,CAAA,6BAECH,EAAA,OAAA,iBAAA,MAAAM,CAAA,EAAAD,EAAAC,CAAA,CAA+E,CAAA,6CAGlC,GAIhDN,EAAA,QAAA,QAAAA,EAAA,OAAA,iBAAA,KAAA,EACAA,EAAA,QAAA,YAAAA,EAAA,OAAA,iBAAA,SAAA,EACAA,EAAA,QAAA,eAAAA,EAAA,OAAA,iBAAA,YAAA,EAKAA,EAAA,QAAA,OAAAA,EAAA,OAAA,iBAAA,IAAA,EAGF,EAOOO,EAAA,IAAA,SAEN,MAAA,CAAAL,EAAA,mBAAA,KAAAM,GAAAC,EAAA,OAAA,KAAA,YAAAA,EAAA,OAAA,MAAAD,EAAA,MAAA,UAAA,MAAA,EAAA,WAAA,GAAA,KAAA,IAAA,EAEAN,EAAA,OAAA,OAAA,GAMMQ,EAAA,IAAA,kHAINR,EAAA,OAAA,WAAA,GAMMS,EAAA,IACNT,EAAA,OAAA,cAAA"}
@@ -1,26 +0,0 @@
1
- import { reactive as a, ref as t, getCurrentInstance as s, inject as o } from "vue";
2
- const u = {
3
- install: (n, i) => {
4
- n.config.globalProperties.$i18n = a(i.i18n), n.config.globalProperties.$i18nLang = t(i.lang), n.config.globalProperties.$i18nSetLang = () => {
5
- }, n.config.globalProperties.i18n = n.config.globalProperties.$i18n, typeof window < "u" && window.requirejs && (n.config.globalProperties.$i18nSetLang = async (e, l) => {
6
- await window.requirejs("i18n").setLang(e, l);
7
- const r = window.requirejs("i18n").categories[e];
8
- Object.keys(r).forEach((g) => {
9
- n.config.globalProperties.$i18n[g] = r[g];
10
- }), n.config.globalProperties.$i18nLang.value = e;
11
- }), n.provide("$i18n", n.config.globalProperties.$i18n), n.provide("$i18nLang", n.config.globalProperties.$i18nLang), n.provide("$i18nSetLang", n.config.globalProperties.$i18nSetLang), n.provide("i18n", n.config.globalProperties.i18n);
12
- }
13
- }, f = () => {
14
- var n, i;
15
- return !s() && ((i = (n = window.mo) == null ? void 0 : n.user) != null && i.lang) ? requirejs("i18n").categories[mo.user.lang] : o("$i18n");
16
- }, $ = () => {
17
- var n, i;
18
- return !s() && ((i = (n = window.mo) == null ? void 0 : n.user) != null && i.lang) ? t(mo.user.lang) : o("$i18nLang");
19
- }, b = () => o("$i18nSetLang");
20
- export {
21
- f as a,
22
- b,
23
- u as i,
24
- $ as u
25
- };
26
- //# sourceMappingURL=i18n-DuTvft1T.es.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"i18n-DuTvft1T.es.js","sources":["../../src/core/plugins/i18n.ts"],"sourcesContent":["import type { ObjectPlugin, Reactive, Ref } from 'vue';\r\nimport { getCurrentInstance, inject, reactive, ref } from 'vue';\r\nimport type { components as I18nComponents } from 'topvisor-openapi/src/ts/I18n';\r\n\r\nexport type Lang = 'ru' | 'en';\r\n\r\ntype Options = {\r\n\t/**\r\n\t * Предзагруженные словари\r\n\t *\r\n\t * Для загрузки нужного словаря используйте @r/i18n.esm.js\r\n\t *\r\n\t * ```js\r\n\t * import '@r/i18n.esm.js?Projects';\r\n\t * ```\r\n\t */\r\n\ti18n: I18nComponents['schemas'];\r\n\r\n\t/**\r\n\t * Текущий язык\r\n\t */\r\n\tlang: Lang;\r\n};\r\n\r\n/**\r\n * Загруженные словари\r\n *\r\n * Для загрузки нужного словаря используйте @r/i18n.esm.js\r\n *\r\n * ```js\r\n * import '@r/i18n.esm.js?Projects';\r\n * ```\r\n */\r\ntype I18n = Reactive<Options['i18n']>;\r\n\r\ntype i18nSetLang = (lang: Lang, forceReload?: boolean) => void;\r\n\r\ndeclare module 'vue' {\r\n\texport interface ComponentCustomProperties {\r\n\t\t/**\r\n\t\t * Загруженные словари\r\n\t\t *\r\n\t\t * @see I18n\r\n\t\t */\r\n\t\t$i18n: I18n;\r\n\r\n\t\t/**\r\n\t\t * Текущий язык\r\n\t\t */\r\n\t\t$i18nLang: Ref<Lang>;\r\n\r\n\t\t/**\r\n\t\t * Установить язык\r\n\t\t */\r\n\t\t$i18nSetLang: i18nSetLang;\r\n\t}\r\n}\r\n\r\n/**\r\n * Плагин работает в сваязке с плагином requirejs('i18n')\r\n *\r\n * При инициализации необходимо указать в $i18n объект с предзагруежнными словарями, остальные словари можно импортировать диномически вместе с\r\n * компонентами\r\n *\r\n * Внутри UI дозагрузка словарей недоступна и требует предзагрузки необходимых словарей\r\n *\r\n * Добавляет глобальные свойства:\r\n * - \\$i18n\r\n * - \\$i18nLang\r\n * - \\$i18nSetLang\r\n *\r\n * Для загрузки необходимого словаря указывайте его в зависимостях компонента:\r\n *\r\n * ```js\r\n * import '@r/i18n.esm.js?Projects';\r\n * ```\r\n *\r\n * В setup():\r\n *\r\n * ```js\r\n * useI18n().Projects.Site; // выполнит inject('$i18n').Projects.Site, не испоьзуйте inject('$i18n') напрямую, так как он не типизирован\r\n * ```\r\n *\r\n * В template:\r\n *\r\n * ```html\r\n * {{ $i18n.Projects.Site }}\r\n * ```\r\n */\r\nexport default {\r\n\r\n\tinstall: (app, options) => {\r\n\t\tapp.config.globalProperties.$i18n = reactive(options.i18n);\r\n\t\tapp.config.globalProperties.$i18nLang = ref(options.lang);\r\n\t\tapp.config.globalProperties.$i18nSetLang = () => {};\r\n\r\n\t\t/**\r\n\t\t * @deprecated\r\n\t\t */\r\n\t\tapp.config.globalProperties.i18n = app.config.globalProperties.$i18n;\r\n\r\n\t\t// только в браузере (не ssr)\r\n\t\tif (typeof window !== 'undefined' && window['requirejs']) {\r\n\t\t\tapp.config.globalProperties.$i18nSetLang = async (lang, forceReload) => {\r\n\t\t\t\tawait window['requirejs']('i18n').setLang(lang, forceReload);\r\n\r\n\t\t\t\tconst categoriesActual = window['requirejs']('i18n').categories[lang];\r\n\t\t\t\tObject.keys(categoriesActual).forEach(categoryName => {\r\n\t\t\t\t\tapp.config.globalProperties.$i18n[categoryName] = categoriesActual[categoryName];\r\n\t\t\t\t});\r\n\r\n\t\t\t\tapp.config.globalProperties.$i18nLang.value = lang;\r\n\t\t\t};\r\n\t\t}\r\n\r\n\t\tapp.provide('$i18n', app.config.globalProperties.$i18n);\r\n\t\tapp.provide('$i18nLang', app.config.globalProperties.$i18nLang);\r\n\t\tapp.provide('$i18nSetLang', app.config.globalProperties.$i18nSetLang);\r\n\r\n\t\t/**\r\n\t\t * @deprecated\r\n\t\t */\r\n\t\tapp.provide('i18n', app.config.globalProperties.i18n);\r\n\t},\r\n\r\n} satisfies ObjectPlugin<Options>;\r\n\r\n/**\r\n * Получить доступ к загруженным словарям\r\n *\r\n * @see I18n\r\n */\r\nexport const useI18n = (): I18n => {\r\n\t// @ts-ignore - no vue\r\n\tif (!getCurrentInstance() && window['mo']?.user?.lang) return requirejs('i18n').categories[mo.user.lang];\r\n\r\n\treturn inject('$i18n') as I18n;\r\n};\r\n\r\n/**\r\n * Текущий язык\r\n */\r\nexport const useI18nLang = (): Ref<Lang> => {\r\n\t// @ts-ignore - no vue\r\n\tif (!getCurrentInstance() && window['mo']?.user?.lang) return ref(mo.user.lang);\r\n\r\n\treturn inject('$i18nLang') as Ref<Lang>;\r\n};\r\n\r\n/**\r\n * Получить функцию для установки языка\r\n */\r\nexport const useI18nSetLang = () => {\r\n\treturn inject('$i18nSetLang') as i18nSetLang;\r\n};\r\n"],"names":["i18n","app","options","reactive","ref","lang","forceReload","categoriesActual","categoryName","useI18n","getCurrentInstance","_b","_a","inject","useI18nLang","useI18nSetLang"],"mappings":";AAyFA,MAAeA,IAAA;AAAA,EAEd,SAAS,CAACC,GAAKC,MAAY;AAC1B,IAAAD,EAAI,OAAO,iBAAiB,QAAQE,EAASD,EAAQ,IAAI,GACzDD,EAAI,OAAO,iBAAiB,YAAYG,EAAIF,EAAQ,IAAI,GACpDD,EAAA,OAAO,iBAAiB,eAAe,MAAM;AAAA,IAAA,GAKjDA,EAAI,OAAO,iBAAiB,OAAOA,EAAI,OAAO,iBAAiB,OAG3D,OAAO,SAAW,OAAe,OAAO,cAC3CA,EAAI,OAAO,iBAAiB,eAAe,OAAOI,GAAMC,MAAgB;AACvE,YAAM,OAAO,UAAa,MAAM,EAAE,QAAQD,GAAMC,CAAW;AAE3D,YAAMC,IAAmB,OAAO,UAAa,MAAM,EAAE,WAAWF,CAAI;AACpE,aAAO,KAAKE,CAAgB,EAAE,QAAQ,CAAgBC,MAAA;AACrD,QAAAP,EAAI,OAAO,iBAAiB,MAAMO,CAAY,IAAID,EAAiBC,CAAY;AAAA,MAAA,CAC/E,GAEGP,EAAA,OAAO,iBAAiB,UAAU,QAAQI;AAAA,IAAA,IAIhDJ,EAAI,QAAQ,SAASA,EAAI,OAAO,iBAAiB,KAAK,GACtDA,EAAI,QAAQ,aAAaA,EAAI,OAAO,iBAAiB,SAAS,GAC9DA,EAAI,QAAQ,gBAAgBA,EAAI,OAAO,iBAAiB,YAAY,GAKpEA,EAAI,QAAQ,QAAQA,EAAI,OAAO,iBAAiB,IAAI;AAAA,EACrD;AAED,GAOaQ,IAAU,MAAY;;AAElC,SAAI,CAACC,EAAA,OAAwBC,KAAAC,IAAA,OAAO,OAAP,gBAAAA,EAAc,SAAd,QAAAD,EAAoB,QAAa,UAAU,MAAM,EAAE,WAAW,GAAG,KAAK,IAAI,IAEhGE,EAAO,OAAO;AACtB,GAKaC,IAAc,MAAiB;;AAE3C,SAAI,CAACJ,EAAA,OAAwBC,KAAAC,IAAA,OAAO,OAAP,gBAAAA,EAAc,SAAd,QAAAD,EAAoB,QAAaP,EAAI,GAAG,KAAK,IAAI,IAEvES,EAAO,WAAW;AAC1B,GAKaE,IAAiB,MACtBF,EAAO,cAAc;"}