@gravity-ui/navigation 1.9.0 → 2.0.0-beta.0

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 (169) hide show
  1. package/README.md +12 -9
  2. package/build/cjs/{ActionBar-96a59723.js → ActionBar-38c4e24f.js} +2 -2
  3. package/build/cjs/ActionBar-38c4e24f.js.map +1 -0
  4. package/build/cjs/AsideFallback.js +4 -4
  5. package/build/cjs/AsideFallback.js.map +1 -1
  6. package/build/cjs/AsideHeader.js +6 -5
  7. package/build/cjs/AsideHeader.js.map +1 -1
  8. package/build/cjs/AsideHeaderContext.js.map +1 -1
  9. package/build/cjs/Drawer.js +3 -3
  10. package/build/cjs/Drawer.js.map +1 -1
  11. package/build/cjs/{FooterItem-eafaeac3.js → FooterItem-0b0d76e4.js} +56 -56
  12. package/build/cjs/FooterItem-0b0d76e4.js.map +1 -0
  13. package/build/cjs/FooterItem.js +5 -5
  14. package/build/cjs/FooterItem.js.map +1 -1
  15. package/build/cjs/{HotkeysPanel-2e240e4d.js → HotkeysPanel-4ad41893.js} +15 -15
  16. package/build/cjs/HotkeysPanel-4ad41893.js.map +1 -0
  17. package/build/cjs/{Item-b5ef87be.js → Item-d836a378.js} +50 -50
  18. package/build/cjs/Item-d836a378.js.map +1 -0
  19. package/build/cjs/PageLayout.js +5 -5
  20. package/build/cjs/PageLayout.js.map +1 -1
  21. package/build/cjs/PageLayoutAside.js +231 -230
  22. package/build/cjs/PageLayoutAside.js.map +1 -1
  23. package/build/cjs/{Settings-11b021e4.js → Settings-a0deac97.js} +47 -47
  24. package/build/cjs/Settings-a0deac97.js.map +1 -0
  25. package/build/cjs/{Title-c539667f.js → Title-54580605.js} +5 -5
  26. package/build/cjs/Title-54580605.js.map +1 -0
  27. package/build/cjs/{TopPanel-b531a2be.js → TopPanel-1b062791.js} +3 -3
  28. package/build/cjs/TopPanel-1b062791.js.map +1 -0
  29. package/build/cjs/{cn-1964a72a.js → cn-9933321a.js} +2 -1
  30. package/build/cjs/{cn-1964a72a.js.map → cn-9933321a.js.map} +1 -1
  31. package/build/cjs/components/AllPagesPanel/i18n/index.d.ts +1 -1
  32. package/build/cjs/components/AsideHeader/i18n/index.d.ts +1 -1
  33. package/build/cjs/components/AsideHeader/types.d.ts +1 -1
  34. package/build/cjs/components/CompositeBar/utils.d.ts +2 -2
  35. package/build/cjs/components/HotkeysPanel/HotkeysPanel.d.ts +1 -1
  36. package/build/cjs/components/MobileHeader/MobileHeader.d.ts +3 -3
  37. package/build/cjs/components/MobileHeader/i18n/index.d.ts +1 -1
  38. package/build/cjs/components/Settings/Settings.d.ts +1 -1
  39. package/build/cjs/components/Settings/i18n/index.d.ts +1 -1
  40. package/build/cjs/components/Title/i18n/index.d.ts +1 -1
  41. package/build/cjs/components/index.d.ts +0 -1
  42. package/build/cjs/components/types.d.ts +1 -1
  43. package/build/cjs/index.js +11 -16
  44. package/build/cjs/index.js.map +1 -1
  45. package/build/cjs/index2.js +2 -2
  46. package/build/cjs/index3.js +4 -4
  47. package/build/cjs/index4.js +2 -2
  48. package/build/cjs/index5.js +6 -6
  49. package/build/cjs/index6.js +6 -6
  50. package/build/cjs/utils-db3e03c2.js +8 -0
  51. package/build/cjs/{utils-a93dd754.js.map → utils-db3e03c2.js.map} +1 -1
  52. package/build/esm/{ActionBar-68f814a3.js → ActionBar-affc1f80.js} +2 -2
  53. package/build/esm/ActionBar-affc1f80.js.map +1 -0
  54. package/build/esm/AsideFallback.js +4 -4
  55. package/build/esm/AsideFallback.js.map +1 -1
  56. package/build/esm/AsideHeader.js +6 -5
  57. package/build/esm/AsideHeader.js.map +1 -1
  58. package/build/esm/AsideHeaderContext.js.map +1 -1
  59. package/build/esm/Drawer.js +3 -3
  60. package/build/esm/Drawer.js.map +1 -1
  61. package/build/esm/{FooterItem-39ac7c22.js → FooterItem-76774de7.js} +57 -57
  62. package/build/esm/FooterItem-76774de7.js.map +1 -0
  63. package/build/esm/FooterItem.js +5 -5
  64. package/build/esm/FooterItem.js.map +1 -1
  65. package/build/esm/{HotkeysPanel-bd0e997d.js → HotkeysPanel-9138824c.js} +15 -15
  66. package/build/esm/HotkeysPanel-9138824c.js.map +1 -0
  67. package/build/esm/{Item-c8057002.js → Item-9eb6b3be.js} +50 -50
  68. package/build/esm/Item-9eb6b3be.js.map +1 -0
  69. package/build/esm/PageLayout.js +5 -5
  70. package/build/esm/PageLayout.js.map +1 -1
  71. package/build/esm/PageLayoutAside.js +219 -218
  72. package/build/esm/PageLayoutAside.js.map +1 -1
  73. package/build/esm/{Settings-31634d93.js → Settings-0a78c1a7.js} +48 -48
  74. package/build/esm/Settings-0a78c1a7.js.map +1 -0
  75. package/build/esm/{Title-b2f2c4e9.js → Title-03b4255a.js} +5 -5
  76. package/build/esm/Title-03b4255a.js.map +1 -0
  77. package/build/esm/{TopPanel-36ffc4c7.js → TopPanel-2760cf72.js} +3 -3
  78. package/build/esm/TopPanel-2760cf72.js.map +1 -0
  79. package/build/esm/{cn-589cd9e2.js → cn-ffe5e9f5.js} +2 -2
  80. package/build/esm/{cn-589cd9e2.js.map → cn-ffe5e9f5.js.map} +1 -1
  81. package/build/esm/components/AllPagesPanel/i18n/index.d.ts +1 -1
  82. package/build/esm/components/AsideHeader/i18n/index.d.ts +1 -1
  83. package/build/esm/components/AsideHeader/types.d.ts +1 -1
  84. package/build/esm/components/CompositeBar/utils.d.ts +2 -2
  85. package/build/esm/components/HotkeysPanel/HotkeysPanel.d.ts +1 -1
  86. package/build/esm/components/MobileHeader/MobileHeader.d.ts +3 -3
  87. package/build/esm/components/MobileHeader/i18n/index.d.ts +1 -1
  88. package/build/esm/components/Settings/Settings.d.ts +1 -1
  89. package/build/esm/components/Settings/i18n/index.d.ts +1 -1
  90. package/build/esm/components/Title/i18n/index.d.ts +1 -1
  91. package/build/esm/components/index.d.ts +0 -1
  92. package/build/esm/components/types.d.ts +1 -1
  93. package/build/esm/index.js +11 -11
  94. package/build/esm/index2.js +2 -2
  95. package/build/esm/index3.js +4 -4
  96. package/build/esm/index4.js +2 -2
  97. package/build/esm/index5.js +6 -6
  98. package/build/esm/index6.js +6 -6
  99. package/build/esm/utils-117463a5.js +6 -0
  100. package/build/esm/{utils-6d5146c7.js.map → utils-117463a5.js.map} +1 -1
  101. package/package.json +30 -30
  102. package/build/cjs/ActionBar-96a59723.js.map +0 -1
  103. package/build/cjs/FooterItem-eafaeac3.js.map +0 -1
  104. package/build/cjs/HotkeysPanel-2e240e4d.js.map +0 -1
  105. package/build/cjs/Item-b5ef87be.js.map +0 -1
  106. package/build/cjs/Settings-11b021e4.js.map +0 -1
  107. package/build/cjs/Title-c539667f.js.map +0 -1
  108. package/build/cjs/TopPanel-b531a2be.js.map +0 -1
  109. package/build/cjs/components/ActionBar/__stories__/ActionBar.stories.d.ts +0 -20
  110. package/build/cjs/components/ActionBar/__stories__/ActionBarShowcase.d.ts +0 -2
  111. package/build/cjs/components/ActionBar/__stories__/ActionBarSingleSection.d.ts +0 -2
  112. package/build/cjs/components/AsideHeader/__stories__/AsideHeader.stories.d.ts +0 -13
  113. package/build/cjs/components/AsideHeader/__stories__/AsideHeaderShowcase.d.ts +0 -13
  114. package/build/cjs/components/AsideHeader/__stories__/getAsideHeaderWrapper.d.ts +0 -3
  115. package/build/cjs/components/AsideHeader/__stories__/moc.d.ts +0 -5
  116. package/build/cjs/components/Drawer/__stories__/Drawer.stories.d.ts +0 -3
  117. package/build/cjs/components/Drawer/__stories__/DrawerShowcase.d.ts +0 -3
  118. package/build/cjs/components/FooterItem/__stories__/FooterItem.stories.d.ts +0 -5
  119. package/build/cjs/components/HotkeysPanel/__stories__/HotkeysPanel.stories.d.ts +0 -3
  120. package/build/cjs/components/HotkeysPanel/__stories__/HotkeysPanelShowcase.d.ts +0 -3
  121. package/build/cjs/components/HotkeysPanel/__stories__/moc.d.ts +0 -2
  122. package/build/cjs/components/MobileHeader/BurgerMenu/__stories__/BurgerMenu.stories.d.ts +0 -5
  123. package/build/cjs/components/MobileHeader/BurgerMenu/__stories__/moc.d.ts +0 -2
  124. package/build/cjs/components/MobileHeader/__stories__/MobileHeader.stories.d.ts +0 -3
  125. package/build/cjs/components/MobileHeader/__stories__/MobileHeaderShowcase.d.ts +0 -3
  126. package/build/cjs/components/MobileHeader/__stories__/moc.d.ts +0 -1
  127. package/build/cjs/components/Settings/__stories__/Settings.stories.d.ts +0 -4
  128. package/build/cjs/components/Settings/__stories__/SettingsDemo.d.ts +0 -14
  129. package/build/cjs/components/Settings/__stories__/SettingsMobileDemo.d.ts +0 -8
  130. package/build/cjs/components/utils/configure.d.ts +0 -12
  131. package/build/cjs/components/utils/registerKeyset.d.ts +0 -5
  132. package/build/cjs/i18n.d.ts +0 -2
  133. package/build/cjs/registerKeyset-f4ce9ee7.js +0 -215
  134. package/build/cjs/registerKeyset-f4ce9ee7.js.map +0 -1
  135. package/build/cjs/utils-a93dd754.js +0 -8
  136. package/build/esm/ActionBar-68f814a3.js.map +0 -1
  137. package/build/esm/FooterItem-39ac7c22.js.map +0 -1
  138. package/build/esm/HotkeysPanel-bd0e997d.js.map +0 -1
  139. package/build/esm/Item-c8057002.js.map +0 -1
  140. package/build/esm/Settings-31634d93.js.map +0 -1
  141. package/build/esm/Title-b2f2c4e9.js.map +0 -1
  142. package/build/esm/TopPanel-36ffc4c7.js.map +0 -1
  143. package/build/esm/components/ActionBar/__stories__/ActionBar.stories.d.ts +0 -20
  144. package/build/esm/components/ActionBar/__stories__/ActionBarShowcase.d.ts +0 -2
  145. package/build/esm/components/ActionBar/__stories__/ActionBarSingleSection.d.ts +0 -2
  146. package/build/esm/components/AsideHeader/__stories__/AsideHeader.stories.d.ts +0 -13
  147. package/build/esm/components/AsideHeader/__stories__/AsideHeaderShowcase.d.ts +0 -13
  148. package/build/esm/components/AsideHeader/__stories__/getAsideHeaderWrapper.d.ts +0 -3
  149. package/build/esm/components/AsideHeader/__stories__/moc.d.ts +0 -5
  150. package/build/esm/components/Drawer/__stories__/Drawer.stories.d.ts +0 -3
  151. package/build/esm/components/Drawer/__stories__/DrawerShowcase.d.ts +0 -3
  152. package/build/esm/components/FooterItem/__stories__/FooterItem.stories.d.ts +0 -5
  153. package/build/esm/components/HotkeysPanel/__stories__/HotkeysPanel.stories.d.ts +0 -3
  154. package/build/esm/components/HotkeysPanel/__stories__/HotkeysPanelShowcase.d.ts +0 -3
  155. package/build/esm/components/HotkeysPanel/__stories__/moc.d.ts +0 -2
  156. package/build/esm/components/MobileHeader/BurgerMenu/__stories__/BurgerMenu.stories.d.ts +0 -5
  157. package/build/esm/components/MobileHeader/BurgerMenu/__stories__/moc.d.ts +0 -2
  158. package/build/esm/components/MobileHeader/__stories__/MobileHeader.stories.d.ts +0 -3
  159. package/build/esm/components/MobileHeader/__stories__/MobileHeaderShowcase.d.ts +0 -3
  160. package/build/esm/components/MobileHeader/__stories__/moc.d.ts +0 -1
  161. package/build/esm/components/Settings/__stories__/Settings.stories.d.ts +0 -4
  162. package/build/esm/components/Settings/__stories__/SettingsDemo.d.ts +0 -14
  163. package/build/esm/components/Settings/__stories__/SettingsMobileDemo.d.ts +0 -8
  164. package/build/esm/components/utils/configure.d.ts +0 -12
  165. package/build/esm/components/utils/registerKeyset.d.ts +0 -5
  166. package/build/esm/i18n.d.ts +0 -2
  167. package/build/esm/registerKeyset-35f1ea08.js +0 -212
  168. package/build/esm/registerKeyset-35f1ea08.js.map +0 -1
  169. package/build/esm/utils-6d5146c7.js +0 -6
@@ -1,212 +0,0 @@
1
- const PARAM_REGEXP = /{{(.*?)}}/g;
2
- function replaceParams(keyValue, params) {
3
- let result = '';
4
- let lastIndex = (PARAM_REGEXP.lastIndex = 0);
5
- let match;
6
- while ((match = PARAM_REGEXP.exec(keyValue))) {
7
- if (lastIndex !== match.index) {
8
- result += keyValue.slice(lastIndex, match.index);
9
- }
10
- lastIndex = PARAM_REGEXP.lastIndex;
11
- const [all, key] = match;
12
- if (Object.prototype.hasOwnProperty.call(params, key)) {
13
- result += params[key];
14
- }
15
- else {
16
- result += all;
17
- }
18
- }
19
- if (lastIndex < keyValue.length) {
20
- result += keyValue.slice(lastIndex);
21
- }
22
- return result;
23
- }
24
-
25
- var PluralForm;
26
- (function (PluralForm) {
27
- PluralForm[PluralForm["One"] = 0] = "One";
28
- PluralForm[PluralForm["Few"] = 1] = "Few";
29
- PluralForm[PluralForm["Many"] = 2] = "Many";
30
- PluralForm[PluralForm["None"] = 3] = "None";
31
- })(PluralForm || (PluralForm = {}));
32
-
33
- function pluralizerEn (count, pluralForms) {
34
- if (count === 0) {
35
- return pluralForms.None;
36
- }
37
- if (count === 1 || count === -1) {
38
- return pluralForms.One;
39
- }
40
- return pluralForms.Many;
41
- }
42
-
43
- function pluralizerRu (count, pluralForms) {
44
- // the rules for negative numbers are the same
45
- const lastDigit = Math.abs(count % 10);
46
- const last2Digits = Math.abs(count % 100);
47
- if (count === 0) {
48
- return pluralForms.None;
49
- }
50
- if (lastDigit === 1 && last2Digits !== 11) {
51
- return pluralForms.One;
52
- }
53
- if ((lastDigit > 1 && lastDigit < 5) && (last2Digits < 10 || last2Digits > 20)) {
54
- return pluralForms.Few;
55
- }
56
- return pluralForms.Many;
57
- }
58
-
59
- class I18N {
60
- constructor(options) {
61
- this.data = {};
62
- this.lang = undefined;
63
- this.pluralizers = {
64
- en: pluralizerEn,
65
- ru: pluralizerRu,
66
- };
67
- this.logger = null;
68
- this.logger = (options === null || options === void 0 ? void 0 : options.logger) || null;
69
- }
70
- setLang(lang) {
71
- this.lang = lang;
72
- }
73
- configurePluralization(pluralizers) {
74
- this.pluralizers = Object.assign({}, this.pluralizers, pluralizers);
75
- }
76
- registerKeyset(lang, keysetName, data = {}) {
77
- if (this.data[lang] && Object.prototype.hasOwnProperty.call(this.data[lang], keysetName)) {
78
- throw new Error(`Keyset '${keysetName}' is already registered, aborting!`);
79
- }
80
- this.data[lang] = Object.assign({}, this.data[lang], { [keysetName]: data });
81
- }
82
- registerKeysets(lang, data) {
83
- Object.keys(data).forEach((keysetName) => {
84
- this.registerKeyset(lang, keysetName, data[keysetName]);
85
- });
86
- }
87
- has(keysetName, key, lang) {
88
- const languageData = this.getLanguageData(lang);
89
- return Boolean(languageData && languageData[keysetName] && languageData[keysetName][key]);
90
- }
91
- i18n(keysetName, key, params) {
92
- const languageData = this.getLanguageData(this.lang);
93
- if (typeof languageData === 'undefined') {
94
- throw new Error(`Language '${this.lang}' is not defined, make sure you call setLang for the same language you called registerKeysets for!`);
95
- }
96
- if (Object.keys(languageData).length === 0) {
97
- this.warn('Language data is empty.');
98
- return key;
99
- }
100
- const keyset = languageData[keysetName];
101
- if (!keyset) {
102
- this.warn('Keyset not found.', keysetName);
103
- return key;
104
- }
105
- if (Object.keys(keyset).length === 0) {
106
- this.warn('Keyset is empty.', keysetName);
107
- return key;
108
- }
109
- const keyValue = keyset && keyset[key];
110
- let result;
111
- if (typeof keyValue === 'undefined') {
112
- this.warn('Missing key.', keysetName, key);
113
- return key;
114
- }
115
- if (Array.isArray(keyValue)) {
116
- if (keyValue.length < 3) {
117
- this.warn('Missing required plurals', keysetName, key);
118
- return key;
119
- }
120
- const count = Number(params === null || params === void 0 ? void 0 : params.count);
121
- if (Number.isNaN(count)) {
122
- this.warn('Missing params.count for key.', keysetName, key);
123
- return key;
124
- }
125
- const pluralizer = this.getLanguagePluralizer(this.lang);
126
- result = keyValue[pluralizer(count, PluralForm)] || keyValue[PluralForm.Many];
127
- if (keyValue[PluralForm.None] === undefined) {
128
- this.warn('Missing key for 0', keysetName, key);
129
- }
130
- }
131
- else {
132
- result = keyValue;
133
- }
134
- if (params) {
135
- result = replaceParams(result, params);
136
- }
137
- return result;
138
- }
139
- keyset(keysetName) {
140
- return (key, params) => {
141
- return this.i18n(keysetName, key, params);
142
- };
143
- }
144
- warn(msg, keyset, key) {
145
- var _a;
146
- let cacheKey = '';
147
- if (keyset) {
148
- cacheKey += keyset;
149
- if (key) {
150
- cacheKey += `.${key}`;
151
- }
152
- }
153
- else {
154
- cacheKey = 'languageData';
155
- }
156
- (_a = this.logger) === null || _a === void 0 ? void 0 : _a.log(`I18n: ${msg}`, {
157
- level: 'info',
158
- logger: cacheKey,
159
- extra: {
160
- type: 'i18n'
161
- }
162
- });
163
- }
164
- getLanguageData(lang) {
165
- const langCode = lang || this.lang;
166
- return langCode ? this.data[langCode] : undefined;
167
- }
168
- getLanguagePluralizer(lang) {
169
- const pluralizer = lang ? this.pluralizers[lang] : undefined;
170
- if (!pluralizer) {
171
- this.warn(`Pluralization is not configured for language '${lang}', falling back to the english ruleset`);
172
- }
173
- return pluralizer || pluralizerEn;
174
- }
175
- }
176
-
177
- var Lang;
178
- (function (Lang) {
179
- Lang["Ru"] = "ru";
180
- Lang["En"] = "en";
181
- })(Lang || (Lang = {}));
182
- let subs = [];
183
- const config = {
184
- lang: Lang.En,
185
- };
186
- const configure = (newConfig) => {
187
- Object.assign(config, newConfig);
188
- subs.forEach((sub) => {
189
- sub(config);
190
- });
191
- };
192
- const subscribeConfigure = (sub) => {
193
- subs.push(sub);
194
- return () => {
195
- subs = subs.filter((item) => item !== sub);
196
- };
197
- };
198
- const getConfig = () => config;
199
-
200
- const i18n = new I18N();
201
- i18n.setLang(getConfig().lang);
202
- subscribeConfigure((config) => {
203
- i18n.setLang(config.lang);
204
- });
205
-
206
- function registerKeyset(data, keysetName) {
207
- Object.entries(data).forEach(([lang, keys]) => i18n.registerKeyset(lang, keysetName, keys));
208
- return i18n.keyset(keysetName);
209
- }
210
-
211
- export { Lang as L, configure as c, registerKeyset as r };
212
- //# sourceMappingURL=registerKeyset-35f1ea08.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"registerKeyset-35f1ea08.js","sources":["../../node_modules/@gravity-ui/i18n/build/esm/replace-params.js","../../node_modules/@gravity-ui/i18n/build/esm/types.js","../../node_modules/@gravity-ui/i18n/build/esm/plural/en.js","../../node_modules/@gravity-ui/i18n/build/esm/plural/ru.js","../../node_modules/@gravity-ui/i18n/build/esm/index.js","../../../src/components/utils/configure.ts","../../../src/i18n.ts","../../../src/components/utils/registerKeyset.ts"],"sourcesContent":["const PARAM_REGEXP = /{{(.*?)}}/g;\nexport function replaceParams(keyValue, params) {\n let result = '';\n let lastIndex = (PARAM_REGEXP.lastIndex = 0);\n let match;\n while ((match = PARAM_REGEXP.exec(keyValue))) {\n if (lastIndex !== match.index) {\n result += keyValue.slice(lastIndex, match.index);\n }\n lastIndex = PARAM_REGEXP.lastIndex;\n const [all, key] = match;\n if (Object.prototype.hasOwnProperty.call(params, key)) {\n result += params[key];\n }\n else {\n result += all;\n }\n }\n if (lastIndex < keyValue.length) {\n result += keyValue.slice(lastIndex);\n }\n return result;\n}\n","export var PluralForm;\n(function (PluralForm) {\n PluralForm[PluralForm[\"One\"] = 0] = \"One\";\n PluralForm[PluralForm[\"Few\"] = 1] = \"Few\";\n PluralForm[PluralForm[\"Many\"] = 2] = \"Many\";\n PluralForm[PluralForm[\"None\"] = 3] = \"None\";\n})(PluralForm || (PluralForm = {}));\n","export default function (count, pluralForms) {\n if (count === 0) {\n return pluralForms.None;\n }\n if (count === 1 || count === -1) {\n return pluralForms.One;\n }\n return pluralForms.Many;\n}\n","export default function (count, pluralForms) {\n // the rules for negative numbers are the same\n const lastDigit = Math.abs(count % 10);\n const last2Digits = Math.abs(count % 100);\n if (count === 0) {\n return pluralForms.None;\n }\n if (lastDigit === 1 && last2Digits !== 11) {\n return pluralForms.One;\n }\n if ((lastDigit > 1 && lastDigit < 5) && (last2Digits < 10 || last2Digits > 20)) {\n return pluralForms.Few;\n }\n return pluralForms.Many;\n}\n","import { replaceParams } from './replace-params';\nimport { PluralForm } from './types';\nimport pluralizerEn from './plural/en';\nimport pluralizerRu from './plural/ru';\nexport * from './types';\nexport class I18N {\n constructor(options) {\n this.data = {};\n this.lang = undefined;\n this.pluralizers = {\n en: pluralizerEn,\n ru: pluralizerRu,\n };\n this.logger = null;\n this.logger = (options === null || options === void 0 ? void 0 : options.logger) || null;\n }\n setLang(lang) {\n this.lang = lang;\n }\n configurePluralization(pluralizers) {\n this.pluralizers = Object.assign({}, this.pluralizers, pluralizers);\n }\n registerKeyset(lang, keysetName, data = {}) {\n if (this.data[lang] && Object.prototype.hasOwnProperty.call(this.data[lang], keysetName)) {\n throw new Error(`Keyset '${keysetName}' is already registered, aborting!`);\n }\n this.data[lang] = Object.assign({}, this.data[lang], { [keysetName]: data });\n }\n registerKeysets(lang, data) {\n Object.keys(data).forEach((keysetName) => {\n this.registerKeyset(lang, keysetName, data[keysetName]);\n });\n }\n has(keysetName, key, lang) {\n const languageData = this.getLanguageData(lang);\n return Boolean(languageData && languageData[keysetName] && languageData[keysetName][key]);\n }\n i18n(keysetName, key, params) {\n const languageData = this.getLanguageData(this.lang);\n if (typeof languageData === 'undefined') {\n throw new Error(`Language '${this.lang}' is not defined, make sure you call setLang for the same language you called registerKeysets for!`);\n }\n if (Object.keys(languageData).length === 0) {\n this.warn('Language data is empty.');\n return key;\n }\n const keyset = languageData[keysetName];\n if (!keyset) {\n this.warn('Keyset not found.', keysetName);\n return key;\n }\n if (Object.keys(keyset).length === 0) {\n this.warn('Keyset is empty.', keysetName);\n return key;\n }\n const keyValue = keyset && keyset[key];\n let result;\n if (typeof keyValue === 'undefined') {\n this.warn('Missing key.', keysetName, key);\n return key;\n }\n if (Array.isArray(keyValue)) {\n if (keyValue.length < 3) {\n this.warn('Missing required plurals', keysetName, key);\n return key;\n }\n const count = Number(params === null || params === void 0 ? void 0 : params.count);\n if (Number.isNaN(count)) {\n this.warn('Missing params.count for key.', keysetName, key);\n return key;\n }\n const pluralizer = this.getLanguagePluralizer(this.lang);\n result = keyValue[pluralizer(count, PluralForm)] || keyValue[PluralForm.Many];\n if (keyValue[PluralForm.None] === undefined) {\n this.warn('Missing key for 0', keysetName, key);\n }\n }\n else {\n result = keyValue;\n }\n if (params) {\n result = replaceParams(result, params);\n }\n return result;\n }\n keyset(keysetName) {\n return (key, params) => {\n return this.i18n(keysetName, key, params);\n };\n }\n warn(msg, keyset, key) {\n var _a;\n let cacheKey = '';\n if (keyset) {\n cacheKey += keyset;\n if (key) {\n cacheKey += `.${key}`;\n }\n }\n else {\n cacheKey = 'languageData';\n }\n (_a = this.logger) === null || _a === void 0 ? void 0 : _a.log(`I18n: ${msg}`, {\n level: 'info',\n logger: cacheKey,\n extra: {\n type: 'i18n'\n }\n });\n }\n getLanguageData(lang) {\n const langCode = lang || this.lang;\n return langCode ? this.data[langCode] : undefined;\n }\n getLanguagePluralizer(lang) {\n const pluralizer = lang ? this.pluralizers[lang] : undefined;\n if (!pluralizer) {\n this.warn(`Pluralization is not configured for language '${lang}', falling back to the english ruleset`);\n }\n return pluralizer || pluralizerEn;\n }\n}\n","export enum Lang {\n Ru = 'ru',\n En = 'en',\n}\n\ninterface Config {\n lang: `${Lang}`;\n}\n\ntype Subscriber = (config: Config) => void;\n\nlet subs: Subscriber[] = [];\n\nconst config: Config = {\n lang: Lang.En,\n};\n\nexport const configure = (newConfig: Partial<Config>) => {\n Object.assign(config, newConfig);\n subs.forEach((sub) => {\n sub(config);\n });\n};\n\nexport const subscribeConfigure = (sub: Subscriber) => {\n subs.push(sub);\n\n return () => {\n subs = subs.filter((item) => item !== sub);\n };\n};\n\nexport const getConfig = () => config;\n","import {I18N} from '@gravity-ui/i18n';\n\nimport {getConfig, subscribeConfigure} from './components/utils/configure';\n\nexport const i18n = new I18N();\n\ni18n.setLang(getConfig().lang);\n\nsubscribeConfigure((config) => {\n i18n.setLang(config.lang);\n});\n","import {i18n} from '../../i18n';\n\nimport {Lang} from './configure';\n\ntype KeysData = Parameters<typeof i18n.registerKeyset>[2];\n\nexport function registerKeyset<T extends KeysData>(data: Record<Lang, T>, keysetName: string) {\n Object.entries(data).forEach(([lang, keys]) => i18n.registerKeyset(lang, keysetName, keys));\n\n return i18n.keyset(keysetName);\n}\n"],"names":[],"mappings":"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"}
@@ -1,6 +0,0 @@
1
- import { b as block } from './cn-589cd9e2.js';
2
-
3
- const b = block('aside-header');
4
-
5
- export { b };
6
- //# sourceMappingURL=utils-6d5146c7.js.map