@diplodoc/client 3.10.3 → 3.12.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.
- package/CHANGELOG.md +19 -0
- package/build/client/app-2c83962500db98f3.js +2 -0
- package/build/client/app-2c83962500db98f3.js.map +1 -0
- package/build/client/app-34c68624e23be7ce.css.map +1 -1
- package/build/client/manifest.json +8 -8
- package/build/client/search-7dc3bfe50645287d.js +2 -0
- package/build/client/search-7dc3bfe50645287d.js.map +1 -0
- package/build/client/search-b82629d53f2e437c.css.map +1 -1
- package/build/client/{vendor-9aa0609c11103fb0.rtl.css → vendor-133b7f840d4bd15c.rtl.css} +1 -1
- package/build/client/{vendor-5c42c2d82fe19c6e.css → vendor-14432c0205e2d1bb.css} +2 -2
- package/build/client/vendor-14432c0205e2d1bb.css.map +1 -0
- package/build/client/{vendor-0ca3ecbd78ee745e.js → vendor-f38539851c503793.js} +4 -4
- package/build/client/vendor-f38539851c503793.js.map +1 -0
- package/build/components/App/useAvailableLangs.d.ts +3 -0
- package/build/components/HeaderControls/index.d.ts +2 -1
- package/build/components/Search/Page.d.ts +3 -0
- package/build/components/Search/index.d.ts +9 -3
- package/build/server/app.js +462 -352
- package/build/server/app.js.map +1 -1
- package/build/server/vendor.js +38 -14
- package/build/server/vendor.js.map +1 -1
- package/package.json +2 -2
- package/build/client/app-5320a31c05d20641.js +0 -2
- package/build/client/app-5320a31c05d20641.js.map +0 -1
- package/build/client/search-81a7f828ef481c84.js +0 -2
- package/build/client/search-81a7f828ef481c84.js.map +0 -1
- package/build/client/vendor-0ca3ecbd78ee745e.js.map +0 -1
- package/build/client/vendor-5c42c2d82fe19c6e.css.map +0 -1
- package/build/components/Search/Search.d.ts +0 -3
package/build/server/app.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
(() => { // webpackBootstrap
|
|
2
2
|
var __webpack_modules__ = ({
|
|
3
|
-
|
|
3
|
+
85978: (function (__unused_webpack_module, __webpack_exports__, __webpack_require__) {
|
|
4
4
|
"use strict";
|
|
5
5
|
// ESM COMPAT FLAG
|
|
6
6
|
__webpack_require__.r(__webpack_exports__);
|
|
@@ -25,7 +25,7 @@ var server_node = __webpack_require__(9680);
|
|
|
25
25
|
// EXTERNAL MODULE: ./node_modules/@swc/helpers/esm/_object_spread_props.js
|
|
26
26
|
var _object_spread_props = __webpack_require__(99282);
|
|
27
27
|
// EXTERNAL MODULE: ./node_modules/@gravity-ui/uikit/build/esm/components/theme/ThemeProvider.js + 7 modules
|
|
28
|
-
var
|
|
28
|
+
var theme_ThemeProvider = __webpack_require__(12956);
|
|
29
29
|
// EXTERNAL MODULE: ./node_modules/@diplodoc/components/build/esm/constants.js
|
|
30
30
|
var constants = __webpack_require__(53816);
|
|
31
31
|
// EXTERNAL MODULE: ./node_modules/@diplodoc/components/build/esm/models/index.js
|
|
@@ -40,8 +40,6 @@ var RenderBodyHooksContext = __webpack_require__(65848);
|
|
|
40
40
|
var ConsentPopup = __webpack_require__(74311);
|
|
41
41
|
// EXTERNAL MODULE: ./node_modules/@diplodoc/transform/dist/js/yfm.js
|
|
42
42
|
var yfm = __webpack_require__(68648);
|
|
43
|
-
// EXTERNAL MODULE: ./node_modules/bem-cn-lite/lib/index.js
|
|
44
|
-
var lib = __webpack_require__(22853);
|
|
45
43
|
;// CONCATENATED MODULE: ./src/components/Router/index.ts
|
|
46
44
|
|
|
47
45
|
var RouterContext = (0,react.createContext)({
|
|
@@ -49,36 +47,334 @@ var RouterContext = (0,react.createContext)({
|
|
|
49
47
|
depth: 0
|
|
50
48
|
});
|
|
51
49
|
RouterContext.displayName = 'RouterContext';
|
|
52
|
-
var
|
|
50
|
+
var Router_RouterProvider = RouterContext.Provider;
|
|
53
51
|
function Router_useRouter() {
|
|
54
52
|
return (0,react.useContext)(RouterContext);
|
|
55
53
|
}
|
|
56
54
|
|
|
55
|
+
;// CONCATENATED MODULE: ./src/hooks/useLang.ts
|
|
56
|
+
|
|
57
|
+
|
|
58
|
+
var LangContext = (0,react.createContext)(models/* .Lang.En */.Uo.En);
|
|
59
|
+
LangContext.displayName = 'Lang';
|
|
60
|
+
var useLang_LangProvider = LangContext.Provider;
|
|
61
|
+
function useLang() {
|
|
62
|
+
return (0,react.useContext)(LangContext);
|
|
63
|
+
}
|
|
64
|
+
|
|
65
|
+
// EXTERNAL MODULE: ./node_modules/@diplodoc/components/build/esm/utils/index.js + 63 modules
|
|
66
|
+
var utils = __webpack_require__(20935);
|
|
67
|
+
// EXTERNAL MODULE: ./node_modules/@swc/helpers/esm/_to_consumable_array.js + 3 modules
|
|
68
|
+
var _to_consumable_array = __webpack_require__(55210);
|
|
69
|
+
;// CONCATENATED MODULE: ./src/constants.ts
|
|
70
|
+
|
|
71
|
+
|
|
72
|
+
var HEADER_HEIGHT = 64;
|
|
73
|
+
var MOBILE_VIEW_WIDTH_BREAKPOINT = 769;
|
|
74
|
+
var DEFAULT_USER_SETTINGS = {
|
|
75
|
+
theme: models/* .Theme.Light */.Q2.Light,
|
|
76
|
+
textSize: models/* .TextSizes.M */.tF.M,
|
|
77
|
+
showMiniToc: true,
|
|
78
|
+
wideFormat: true,
|
|
79
|
+
fullScreen: false
|
|
80
|
+
};
|
|
81
|
+
var RTL_LANGS = [
|
|
82
|
+
'ar',
|
|
83
|
+
'arc',
|
|
84
|
+
'ckb',
|
|
85
|
+
'dv',
|
|
86
|
+
'fa',
|
|
87
|
+
'ha',
|
|
88
|
+
'he',
|
|
89
|
+
'khw',
|
|
90
|
+
'ks',
|
|
91
|
+
'ps',
|
|
92
|
+
'sd',
|
|
93
|
+
'ur',
|
|
94
|
+
'uz_AF',
|
|
95
|
+
'yi'
|
|
96
|
+
];
|
|
97
|
+
var constants_TextDirection = /*#__PURE__*/ function(TextDirection) {
|
|
98
|
+
TextDirection["RTL"] = "rtl";
|
|
99
|
+
TextDirection["LTR"] = "ltr";
|
|
100
|
+
return TextDirection;
|
|
101
|
+
}({});
|
|
102
|
+
var LINK_KEYS_LEADING_CONFIG = [
|
|
103
|
+
'href'
|
|
104
|
+
];
|
|
105
|
+
var LINK_KEYS_PAGE_CONSTRUCTOR_CONFIG = [
|
|
106
|
+
'src',
|
|
107
|
+
'url',
|
|
108
|
+
'href',
|
|
109
|
+
'icon',
|
|
110
|
+
'image',
|
|
111
|
+
'desktop',
|
|
112
|
+
'mobile',
|
|
113
|
+
'tablet',
|
|
114
|
+
'previewImg',
|
|
115
|
+
'image',
|
|
116
|
+
'avatar',
|
|
117
|
+
'logo',
|
|
118
|
+
'light',
|
|
119
|
+
'dark'
|
|
120
|
+
];
|
|
121
|
+
var LINK_KEYS = (0,_to_consumable_array._)(new Set((0,_to_consumable_array._)(LINK_KEYS_LEADING_CONFIG).concat((0,_to_consumable_array._)(LINK_KEYS_PAGE_CONSTRUCTOR_CONFIG))));
|
|
122
|
+
|
|
123
|
+
;// CONCATENATED MODULE: ./src/utils.ts
|
|
124
|
+
|
|
125
|
+
|
|
126
|
+
function isBrowser() {
|
|
127
|
+
return typeof document !== 'undefined';
|
|
128
|
+
}
|
|
129
|
+
function utils_updateThemeClassName(param) {
|
|
130
|
+
var theme = param.theme;
|
|
131
|
+
if (typeof document === 'undefined') {
|
|
132
|
+
return;
|
|
133
|
+
}
|
|
134
|
+
document.querySelectorAll('.g-root').forEach(function(el) {
|
|
135
|
+
el.classList.toggle('g-root_theme_light', theme === 'light');
|
|
136
|
+
el.classList.toggle('g-root_theme_dark', theme === 'dark');
|
|
137
|
+
});
|
|
138
|
+
}
|
|
139
|
+
function utils_updateRootClassName(states) {
|
|
140
|
+
if (!isBrowser()) {
|
|
141
|
+
return;
|
|
142
|
+
}
|
|
143
|
+
document.body.classList.add('g-root');
|
|
144
|
+
var toggle = function(name, state) {
|
|
145
|
+
return document.body.classList.toggle(name, Boolean(state));
|
|
146
|
+
};
|
|
147
|
+
Object.keys(states).forEach(function(state) {
|
|
148
|
+
switch(state){
|
|
149
|
+
case 'wideFormat':
|
|
150
|
+
toggle('dc-root_wide-format', states[state]);
|
|
151
|
+
break;
|
|
152
|
+
case 'focusSearch':
|
|
153
|
+
toggle('dc-root_focused-search', states[state]);
|
|
154
|
+
break;
|
|
155
|
+
case 'fullScreen':
|
|
156
|
+
toggle('dc-root_full-screen', states[state]);
|
|
157
|
+
break;
|
|
158
|
+
case 'landingPage':
|
|
159
|
+
toggle('dc-root_document-page', !states[state]);
|
|
160
|
+
toggle('dc-root_landing-page', states[state]);
|
|
161
|
+
break;
|
|
162
|
+
case 'mobileView':
|
|
163
|
+
toggle('mobile', states[state]);
|
|
164
|
+
toggle('desktop', !states[state]);
|
|
165
|
+
break;
|
|
166
|
+
}
|
|
167
|
+
});
|
|
168
|
+
}
|
|
169
|
+
function utils_getDirection(lang) {
|
|
170
|
+
var isRTL = RTL_LANGS.includes(lang);
|
|
171
|
+
return isRTL ? constants_TextDirection.RTL : constants_TextDirection.LTR;
|
|
172
|
+
}
|
|
173
|
+
var toBoolean = function(str) {
|
|
174
|
+
if (typeof str === 'boolean') {
|
|
175
|
+
return str;
|
|
176
|
+
}
|
|
177
|
+
return str ? str === 'true' : false;
|
|
178
|
+
};
|
|
179
|
+
function getSettings() {
|
|
180
|
+
var theme = getSetting('theme');
|
|
181
|
+
var textSize = getSetting('textSize');
|
|
182
|
+
var showMiniToc = getSetting('showMiniToc');
|
|
183
|
+
var wideFormat = getSetting('wideFormat');
|
|
184
|
+
var fullScreen = getSetting('fullScreen');
|
|
185
|
+
return {
|
|
186
|
+
theme: theme,
|
|
187
|
+
textSize: textSize,
|
|
188
|
+
showMiniToc: toBoolean(showMiniToc),
|
|
189
|
+
wideFormat: toBoolean(wideFormat),
|
|
190
|
+
fullScreen: toBoolean(fullScreen)
|
|
191
|
+
};
|
|
192
|
+
}
|
|
193
|
+
function getLandingPage(data) {
|
|
194
|
+
return (0,utils/* .getPageType */.C2)(data) === 'PAGE_CONSTRUCTOR';
|
|
195
|
+
}
|
|
196
|
+
function getMobileView() {
|
|
197
|
+
if (!isBrowser()) {
|
|
198
|
+
return false;
|
|
199
|
+
}
|
|
200
|
+
return document.body.clientWidth < MOBILE_VIEW_WIDTH_BREAKPOINT;
|
|
201
|
+
}
|
|
202
|
+
function getSetting(name) {
|
|
203
|
+
if (!isBrowser()) {
|
|
204
|
+
return DEFAULT_USER_SETTINGS[name];
|
|
205
|
+
}
|
|
206
|
+
try {
|
|
207
|
+
return sessionStorage.getItem(name) || DEFAULT_USER_SETTINGS[name];
|
|
208
|
+
} catch (e) {
|
|
209
|
+
return DEFAULT_USER_SETTINGS[name];
|
|
210
|
+
}
|
|
211
|
+
}
|
|
212
|
+
function utils_setSetting(name, value) {
|
|
213
|
+
if (!isBrowser()) {
|
|
214
|
+
return;
|
|
215
|
+
}
|
|
216
|
+
try {
|
|
217
|
+
sessionStorage.setItem(name, String(value));
|
|
218
|
+
} catch (e) {}
|
|
219
|
+
}
|
|
220
|
+
function isDetailsTag(el) {
|
|
221
|
+
return (el === null || el === void 0 ? void 0 : el.tagName.toLowerCase()) === 'details';
|
|
222
|
+
}
|
|
223
|
+
function isHeaderTag(el) {
|
|
224
|
+
return [
|
|
225
|
+
'H1',
|
|
226
|
+
'H2',
|
|
227
|
+
'H3',
|
|
228
|
+
'H4',
|
|
229
|
+
'H5',
|
|
230
|
+
'H6'
|
|
231
|
+
].indexOf(el.tagName) !== -1;
|
|
232
|
+
}
|
|
233
|
+
/**
|
|
234
|
+
* Scrolls to the element.
|
|
235
|
+
* If the element is a heading - simply scrolls to it, since needed offset is already in css.
|
|
236
|
+
* If the element is of any other type - calculate the offset form the element position in heading and scroll to it.
|
|
237
|
+
* @param {HTMLElement} el
|
|
238
|
+
*/ function scrollToElement(el) {
|
|
239
|
+
var offset = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : 200;
|
|
240
|
+
if (isInViewport(el)) {
|
|
241
|
+
return;
|
|
242
|
+
}
|
|
243
|
+
if (isHeaderTag(el)) {
|
|
244
|
+
// Header already includes the offset in css
|
|
245
|
+
// That puts it where we want it when it's scrolled to
|
|
246
|
+
el.scrollIntoView();
|
|
247
|
+
} else {
|
|
248
|
+
var elementPosition = el.getBoundingClientRect().top;
|
|
249
|
+
var offsetPosition = elementPosition + window.scrollY - offset;
|
|
250
|
+
window.scrollTo({
|
|
251
|
+
top: offsetPosition
|
|
252
|
+
});
|
|
253
|
+
}
|
|
254
|
+
}
|
|
255
|
+
function getLangPath(lang, href) {
|
|
256
|
+
var path = href.replace(/^https?:\/\/[^/]+/, '').replace(/^\/[a-z]{2}\//, '/');
|
|
257
|
+
return "".concat(lang).concat(path);
|
|
258
|
+
}
|
|
259
|
+
function isInViewport(el) {
|
|
260
|
+
var rect = el.getBoundingClientRect();
|
|
261
|
+
return rect.top >= 0 && rect.bottom <= (window.innerHeight || document.documentElement.clientHeight);
|
|
262
|
+
}
|
|
263
|
+
function scrollToHash() {
|
|
264
|
+
var hash = window.location.hash.substring(1);
|
|
265
|
+
if (!hash) {
|
|
266
|
+
return;
|
|
267
|
+
}
|
|
268
|
+
var element = document.getElementById(hash);
|
|
269
|
+
if (!element) {
|
|
270
|
+
return;
|
|
271
|
+
}
|
|
272
|
+
var node = element === null || element === void 0 ? void 0 : element.parentElement;
|
|
273
|
+
while(node){
|
|
274
|
+
if (isDetailsTag(node)) {
|
|
275
|
+
node.open = true;
|
|
276
|
+
}
|
|
277
|
+
node = node.parentElement;
|
|
278
|
+
}
|
|
279
|
+
element.focus();
|
|
280
|
+
setTimeout(function() {
|
|
281
|
+
scrollToElement(element);
|
|
282
|
+
}, 10);
|
|
283
|
+
}
|
|
284
|
+
|
|
285
|
+
// EXTERNAL MODULE: ./node_modules/@swc/helpers/esm/_define_property.js
|
|
286
|
+
var _define_property = __webpack_require__(27412);
|
|
57
287
|
// EXTERNAL MODULE: ./node_modules/@swc/helpers/esm/_sliced_to_array.js + 3 modules
|
|
58
288
|
var esm_sliced_to_array = __webpack_require__(24460);
|
|
59
|
-
;// CONCATENATED MODULE: ./src/components/
|
|
289
|
+
;// CONCATENATED MODULE: ./src/components/App/useSettings.ts
|
|
60
290
|
|
|
61
291
|
|
|
62
292
|
|
|
63
293
|
|
|
64
|
-
;// CONCATENATED MODULE: ./src/hooks/useLang.ts
|
|
65
294
|
|
|
295
|
+
var capitalize = function(string) {
|
|
296
|
+
return string.replace(/^./, function(ch) {
|
|
297
|
+
return ch.toUpperCase();
|
|
298
|
+
});
|
|
299
|
+
};
|
|
300
|
+
function useSettings_useSettings() {
|
|
301
|
+
var settings = getSettings();
|
|
302
|
+
var theme = useSetting('theme', settings);
|
|
303
|
+
var textSize = useSetting('textSize', settings);
|
|
304
|
+
var wideFormat = useSetting('wideFormat', settings);
|
|
305
|
+
var fullScreen = useSetting('fullScreen', settings);
|
|
306
|
+
var showMiniToc = useSetting('showMiniToc', settings);
|
|
307
|
+
var controls = (0,react.useMemo)(function() {
|
|
308
|
+
return (0,_object_spread._)({}, theme, textSize, wideFormat, showMiniToc, fullScreen);
|
|
309
|
+
}, [
|
|
310
|
+
theme,
|
|
311
|
+
textSize,
|
|
312
|
+
wideFormat,
|
|
313
|
+
showMiniToc,
|
|
314
|
+
fullScreen
|
|
315
|
+
]);
|
|
316
|
+
return controls;
|
|
317
|
+
}
|
|
318
|
+
function useSetting(name, settings) {
|
|
319
|
+
var _useState = (0,esm_sliced_to_array._)((0,react.useState)(settings[name]), 2), setting = _useState[0], setSetting = _useState[1];
|
|
320
|
+
var onChangeSetting = (0,react.useMemo)(function() {
|
|
321
|
+
return withSavingSetting(name, setSetting);
|
|
322
|
+
}, [
|
|
323
|
+
name,
|
|
324
|
+
setSetting
|
|
325
|
+
]);
|
|
326
|
+
return (0,react.useMemo)(function() {
|
|
327
|
+
var _obj;
|
|
328
|
+
return _obj = {}, (0,_define_property._)(_obj, name, setting), (0,_define_property._)(_obj, 'onChange' + capitalize(name), onChangeSetting), _obj;
|
|
329
|
+
}, [
|
|
330
|
+
name,
|
|
331
|
+
setting,
|
|
332
|
+
onChangeSetting
|
|
333
|
+
]);
|
|
334
|
+
}
|
|
335
|
+
function withSavingSetting(settingName, onChange) {
|
|
336
|
+
return function(value) {
|
|
337
|
+
utils_setSetting(settingName, value);
|
|
338
|
+
onChange(value);
|
|
339
|
+
};
|
|
340
|
+
}
|
|
66
341
|
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
342
|
+
;// CONCATENATED MODULE: ./src/components/App/useMobile.ts
|
|
343
|
+
|
|
344
|
+
|
|
345
|
+
|
|
346
|
+
function useMobile_useMobile() {
|
|
347
|
+
var _useState = (0,esm_sliced_to_array._)((0,react.useState)(getMobileView()), 2), mobileView = _useState[0], setMobileView = _useState[1];
|
|
348
|
+
var onResizeHandler = (0,react.useCallback)(function() {
|
|
349
|
+
setMobileView(getMobileView());
|
|
350
|
+
}, []);
|
|
351
|
+
(0,react.useEffect)(onResizeHandler, [
|
|
352
|
+
onResizeHandler
|
|
353
|
+
]);
|
|
354
|
+
(0,react.useEffect)(function() {
|
|
355
|
+
window.addEventListener('resize', onResizeHandler);
|
|
356
|
+
return function() {
|
|
357
|
+
return window.removeEventListener('resize', onResizeHandler);
|
|
358
|
+
};
|
|
359
|
+
}, [
|
|
360
|
+
onResizeHandler
|
|
361
|
+
]);
|
|
362
|
+
return mobileView;
|
|
72
363
|
}
|
|
73
364
|
|
|
365
|
+
// EXTERNAL MODULE: ./node_modules/bem-cn-lite/lib/index.js
|
|
366
|
+
var lib = __webpack_require__(22853);
|
|
367
|
+
;// CONCATENATED MODULE: ./src/components/index.ts
|
|
368
|
+
|
|
369
|
+
|
|
370
|
+
|
|
371
|
+
|
|
74
372
|
// EXTERNAL MODULE: ./node_modules/@swc/helpers/esm/_async_to_generator.js
|
|
75
373
|
var _async_to_generator = __webpack_require__(76150);
|
|
76
374
|
// EXTERNAL MODULE: ./node_modules/@swc/helpers/esm/_class_call_check.js
|
|
77
375
|
var _class_call_check = __webpack_require__(43830);
|
|
78
376
|
// EXTERNAL MODULE: ./node_modules/@swc/helpers/esm/_create_class.js
|
|
79
377
|
var _create_class = __webpack_require__(52062);
|
|
80
|
-
// EXTERNAL MODULE: ./node_modules/@swc/helpers/esm/_define_property.js
|
|
81
|
-
var _define_property = __webpack_require__(27412);
|
|
82
378
|
// EXTERNAL MODULE: ./node_modules/@swc/helpers/esm/_instanceof.js
|
|
83
379
|
var _instanceof = __webpack_require__(41196);
|
|
84
380
|
// EXTERNAL MODULE: ./node_modules/tslib/tslib.es6.mjs
|
|
@@ -317,9 +613,9 @@ function useProvider_useProvider() {
|
|
|
317
613
|
return provider;
|
|
318
614
|
}
|
|
319
615
|
|
|
320
|
-
;// CONCATENATED MODULE: ./src/components/Search/
|
|
616
|
+
;// CONCATENATED MODULE: ./src/components/Search/Page.scss
|
|
321
617
|
|
|
322
|
-
;// CONCATENATED MODULE: ./src/components/Search/
|
|
618
|
+
;// CONCATENATED MODULE: ./src/components/Search/Page.tsx
|
|
323
619
|
|
|
324
620
|
|
|
325
621
|
|
|
@@ -355,7 +651,7 @@ function formatResults(searchResults) {
|
|
|
355
651
|
});
|
|
356
652
|
}
|
|
357
653
|
var ITEMS_PER_PAGE = 10;
|
|
358
|
-
var
|
|
654
|
+
var Page_Page = function() {
|
|
359
655
|
var provider = useProvider();
|
|
360
656
|
var router = useRouter();
|
|
361
657
|
var _useState = _sliced_to_array(useState(''), 2), query = _useState[0], setQuery = _useState[1];
|
|
@@ -401,259 +697,92 @@ var Search = function() {
|
|
|
401
697
|
page,
|
|
402
698
|
provider
|
|
403
699
|
]);
|
|
404
|
-
var handlePageChange = useCallback(function(newPage) {
|
|
405
|
-
setUrlParams(query, newPage);
|
|
406
|
-
setPage(newPage);
|
|
407
|
-
}, [
|
|
408
|
-
query
|
|
409
|
-
]);
|
|
410
|
-
var handleQueryChange = useCallback(function(newQuery) {
|
|
411
|
-
setUrlParams(newQuery, 1);
|
|
412
|
-
setQuery(newQuery);
|
|
413
|
-
setPage(1);
|
|
414
|
-
}, []);
|
|
415
|
-
return /*#__PURE__*/ _jsx("div", {
|
|
416
|
-
className: b(),
|
|
417
|
-
children: /*#__PURE__*/ _jsx(SearchPage, {
|
|
418
|
-
query: query,
|
|
419
|
-
items: results,
|
|
420
|
-
page: page,
|
|
421
|
-
totalItems: total,
|
|
422
|
-
onPageChange: handlePageChange,
|
|
423
|
-
onSubmit: handleQueryChange,
|
|
424
|
-
loading: loading
|
|
425
|
-
})
|
|
426
|
-
});
|
|
427
|
-
};
|
|
428
|
-
|
|
429
|
-
;// CONCATENATED MODULE: ./src/components/Search/index.ts
|
|
430
|
-
|
|
431
|
-
var SearchContext = (0,react.createContext)(null);
|
|
432
|
-
SearchContext.displayName = 'SearchContext';
|
|
433
|
-
var Search_SearchProvider = SearchContext.Provider;
|
|
434
|
-
|
|
435
|
-
function useSearch() {
|
|
436
|
-
return (0,react.useContext)(SearchContext);
|
|
437
|
-
}
|
|
438
|
-
|
|
439
|
-
// EXTERNAL MODULE: ./node_modules/@diplodoc/components/build/esm/utils/index.js + 63 modules
|
|
440
|
-
var utils = __webpack_require__(20935);
|
|
441
|
-
// EXTERNAL MODULE: ./node_modules/@swc/helpers/esm/_to_consumable_array.js + 3 modules
|
|
442
|
-
var _to_consumable_array = __webpack_require__(55210);
|
|
443
|
-
;// CONCATENATED MODULE: ./src/constants.ts
|
|
444
|
-
|
|
445
|
-
|
|
446
|
-
var HEADER_HEIGHT = 64;
|
|
447
|
-
var MOBILE_VIEW_WIDTH_BREAKPOINT = 769;
|
|
448
|
-
var DEFAULT_USER_SETTINGS = {
|
|
449
|
-
theme: models/* .Theme.Light */.Q2.Light,
|
|
450
|
-
textSize: models/* .TextSizes.M */.tF.M,
|
|
451
|
-
showMiniToc: true,
|
|
452
|
-
wideFormat: true,
|
|
453
|
-
fullScreen: false
|
|
454
|
-
};
|
|
455
|
-
var RTL_LANGS = [
|
|
456
|
-
'ar',
|
|
457
|
-
'arc',
|
|
458
|
-
'ckb',
|
|
459
|
-
'dv',
|
|
460
|
-
'fa',
|
|
461
|
-
'ha',
|
|
462
|
-
'he',
|
|
463
|
-
'khw',
|
|
464
|
-
'ks',
|
|
465
|
-
'ps',
|
|
466
|
-
'sd',
|
|
467
|
-
'ur',
|
|
468
|
-
'uz_AF',
|
|
469
|
-
'yi'
|
|
470
|
-
];
|
|
471
|
-
var constants_TextDirection = /*#__PURE__*/ function(TextDirection) {
|
|
472
|
-
TextDirection["RTL"] = "rtl";
|
|
473
|
-
TextDirection["LTR"] = "ltr";
|
|
474
|
-
return TextDirection;
|
|
475
|
-
}({});
|
|
476
|
-
var LINK_KEYS_LEADING_CONFIG = [
|
|
477
|
-
'href'
|
|
478
|
-
];
|
|
479
|
-
var LINK_KEYS_PAGE_CONSTRUCTOR_CONFIG = [
|
|
480
|
-
'src',
|
|
481
|
-
'url',
|
|
482
|
-
'href',
|
|
483
|
-
'icon',
|
|
484
|
-
'image',
|
|
485
|
-
'desktop',
|
|
486
|
-
'mobile',
|
|
487
|
-
'tablet',
|
|
488
|
-
'previewImg',
|
|
489
|
-
'image',
|
|
490
|
-
'avatar',
|
|
491
|
-
'logo',
|
|
492
|
-
'light',
|
|
493
|
-
'dark'
|
|
494
|
-
];
|
|
495
|
-
var LINK_KEYS = (0,_to_consumable_array._)(new Set((0,_to_consumable_array._)(LINK_KEYS_LEADING_CONFIG).concat((0,_to_consumable_array._)(LINK_KEYS_PAGE_CONSTRUCTOR_CONFIG))));
|
|
496
|
-
|
|
497
|
-
;// CONCATENATED MODULE: ./src/utils.ts
|
|
498
|
-
|
|
499
|
-
|
|
500
|
-
function isBrowser() {
|
|
501
|
-
return typeof document !== 'undefined';
|
|
502
|
-
}
|
|
503
|
-
function updateThemeClassName(param) {
|
|
504
|
-
var theme = param.theme;
|
|
505
|
-
if (typeof document === 'undefined') {
|
|
506
|
-
return;
|
|
507
|
-
}
|
|
508
|
-
document.querySelectorAll('.g-root').forEach(function(el) {
|
|
509
|
-
el.classList.toggle('g-root_theme_light', theme === 'light');
|
|
510
|
-
el.classList.toggle('g-root_theme_dark', theme === 'dark');
|
|
511
|
-
});
|
|
512
|
-
}
|
|
513
|
-
function updateRootClassName(states) {
|
|
514
|
-
if (!isBrowser()) {
|
|
515
|
-
return;
|
|
516
|
-
}
|
|
517
|
-
document.body.classList.add('g-root');
|
|
518
|
-
var toggle = function(name, state) {
|
|
519
|
-
return document.body.classList.toggle(name, Boolean(state));
|
|
520
|
-
};
|
|
521
|
-
Object.keys(states).forEach(function(state) {
|
|
522
|
-
switch(state){
|
|
523
|
-
case 'wideFormat':
|
|
524
|
-
toggle('dc-root_wide-format', states[state]);
|
|
525
|
-
break;
|
|
526
|
-
case 'focusSearch':
|
|
527
|
-
toggle('dc-root_focused-search', states[state]);
|
|
528
|
-
break;
|
|
529
|
-
case 'fullScreen':
|
|
530
|
-
toggle('dc-root_full-screen', states[state]);
|
|
531
|
-
break;
|
|
532
|
-
case 'landingPage':
|
|
533
|
-
toggle('dc-root_document-page', !states[state]);
|
|
534
|
-
toggle('dc-root_landing-page', states[state]);
|
|
535
|
-
break;
|
|
536
|
-
case 'mobileView':
|
|
537
|
-
toggle('mobile', states[state]);
|
|
538
|
-
toggle('desktop', !states[state]);
|
|
539
|
-
break;
|
|
540
|
-
}
|
|
700
|
+
var handlePageChange = useCallback(function(newPage) {
|
|
701
|
+
setUrlParams(query, newPage);
|
|
702
|
+
setPage(newPage);
|
|
703
|
+
}, [
|
|
704
|
+
query
|
|
705
|
+
]);
|
|
706
|
+
var handleQueryChange = useCallback(function(newQuery) {
|
|
707
|
+
setUrlParams(newQuery, 1);
|
|
708
|
+
setQuery(newQuery);
|
|
709
|
+
setPage(1);
|
|
710
|
+
}, []);
|
|
711
|
+
return /*#__PURE__*/ _jsx("div", {
|
|
712
|
+
className: b(),
|
|
713
|
+
children: /*#__PURE__*/ _jsx(SearchPage, {
|
|
714
|
+
query: query,
|
|
715
|
+
items: results,
|
|
716
|
+
page: page,
|
|
717
|
+
totalItems: total,
|
|
718
|
+
onPageChange: handlePageChange,
|
|
719
|
+
onSubmit: handleQueryChange,
|
|
720
|
+
loading: loading
|
|
721
|
+
})
|
|
541
722
|
});
|
|
542
|
-
}
|
|
543
|
-
function getDirection(lang) {
|
|
544
|
-
var isRTL = RTL_LANGS.includes(lang);
|
|
545
|
-
return isRTL ? constants_TextDirection.RTL : constants_TextDirection.LTR;
|
|
546
|
-
}
|
|
547
|
-
var toBoolean = function(str) {
|
|
548
|
-
if (typeof str === 'boolean') {
|
|
549
|
-
return str;
|
|
550
|
-
}
|
|
551
|
-
return str ? str === 'true' : false;
|
|
552
723
|
};
|
|
553
|
-
|
|
554
|
-
|
|
555
|
-
|
|
556
|
-
|
|
557
|
-
|
|
558
|
-
|
|
559
|
-
|
|
560
|
-
|
|
561
|
-
|
|
562
|
-
|
|
563
|
-
|
|
564
|
-
|
|
724
|
+
|
|
725
|
+
;// CONCATENATED MODULE: ./src/components/Search/index.tsx
|
|
726
|
+
|
|
727
|
+
|
|
728
|
+
|
|
729
|
+
|
|
730
|
+
|
|
731
|
+
|
|
732
|
+
|
|
733
|
+
|
|
734
|
+
|
|
735
|
+
|
|
736
|
+
var SearchContext = /*#__PURE__*/ (0,react.createContext)(null);
|
|
737
|
+
SearchContext.displayName = 'SearchContext';
|
|
738
|
+
var Search_SearchProvider = SearchContext.Provider;
|
|
739
|
+
function Search(props) {
|
|
740
|
+
var data = props.data, url = props.url;
|
|
741
|
+
var searchData = data.search;
|
|
742
|
+
var lang = (searchData === null || searchData === void 0 ? void 0 : searchData.lang) || Lang.En;
|
|
743
|
+
var settings = useSettings();
|
|
744
|
+
var mobileView = useMobile();
|
|
745
|
+
var fixedLang = SUPPORTED_LANGS.includes(lang) ? lang : Lang.En;
|
|
746
|
+
var direction = getDirection(fixedLang);
|
|
747
|
+
configure({
|
|
748
|
+
lang: fixedLang,
|
|
749
|
+
localeCode: fixedLang
|
|
750
|
+
});
|
|
751
|
+
var routerConfig = {
|
|
752
|
+
pathname: url.pathname,
|
|
753
|
+
depth: 3
|
|
565
754
|
};
|
|
566
|
-
|
|
567
|
-
function
|
|
568
|
-
|
|
569
|
-
|
|
570
|
-
|
|
571
|
-
if (!isBrowser()) {
|
|
572
|
-
return false;
|
|
573
|
-
}
|
|
574
|
-
return document.body.clientWidth < MOBILE_VIEW_WIDTH_BREAKPOINT;
|
|
575
|
-
}
|
|
576
|
-
function getSetting(name) {
|
|
577
|
-
if (!isBrowser()) {
|
|
578
|
-
return DEFAULT_USER_SETTINGS[name];
|
|
579
|
-
}
|
|
580
|
-
try {
|
|
581
|
-
return sessionStorage.getItem(name) || DEFAULT_USER_SETTINGS[name];
|
|
582
|
-
} catch (e) {
|
|
583
|
-
return DEFAULT_USER_SETTINGS[name];
|
|
584
|
-
}
|
|
585
|
-
}
|
|
586
|
-
function utils_setSetting(name, value) {
|
|
587
|
-
if (!isBrowser()) {
|
|
588
|
-
return;
|
|
589
|
-
}
|
|
590
|
-
try {
|
|
591
|
-
sessionStorage.setItem(name, String(value));
|
|
592
|
-
} catch (e) {}
|
|
593
|
-
}
|
|
594
|
-
function isDetailsTag(el) {
|
|
595
|
-
return (el === null || el === void 0 ? void 0 : el.tagName.toLowerCase()) === 'details';
|
|
596
|
-
}
|
|
597
|
-
function isHeaderTag(el) {
|
|
598
|
-
return [
|
|
599
|
-
'H1',
|
|
600
|
-
'H2',
|
|
601
|
-
'H3',
|
|
602
|
-
'H4',
|
|
603
|
-
'H5',
|
|
604
|
-
'H6'
|
|
605
|
-
].indexOf(el.tagName) !== -1;
|
|
606
|
-
}
|
|
607
|
-
/**
|
|
608
|
-
* Scrolls to the element.
|
|
609
|
-
* If the element is a heading - simply scrolls to it, since needed offset is already in css.
|
|
610
|
-
* If the element is of any other type - calculate the offset form the element position in heading and scroll to it.
|
|
611
|
-
* @param {HTMLElement} el
|
|
612
|
-
*/ function scrollToElement(el) {
|
|
613
|
-
var offset = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : 200;
|
|
614
|
-
if (isInViewport(el)) {
|
|
615
|
-
return;
|
|
616
|
-
}
|
|
617
|
-
if (isHeaderTag(el)) {
|
|
618
|
-
// Header already includes the offset in css
|
|
619
|
-
// That puts it where we want it when it's scrolled to
|
|
620
|
-
el.scrollIntoView();
|
|
621
|
-
} else {
|
|
622
|
-
var elementPosition = el.getBoundingClientRect().top;
|
|
623
|
-
var offsetPosition = elementPosition + window.scrollY - offset;
|
|
624
|
-
window.scrollTo({
|
|
625
|
-
top: offsetPosition
|
|
755
|
+
var theme = settings.theme, wideFormat = settings.wideFormat;
|
|
756
|
+
useEffect(function() {
|
|
757
|
+
updateRootClassName({
|
|
758
|
+
mobileView: mobileView,
|
|
759
|
+
wideFormat: wideFormat
|
|
626
760
|
});
|
|
627
|
-
|
|
628
|
-
|
|
629
|
-
|
|
630
|
-
|
|
631
|
-
|
|
632
|
-
|
|
633
|
-
|
|
634
|
-
|
|
635
|
-
return
|
|
761
|
+
updateThemeClassName({
|
|
762
|
+
theme: theme
|
|
763
|
+
});
|
|
764
|
+
}, [
|
|
765
|
+
theme,
|
|
766
|
+
mobileView,
|
|
767
|
+
wideFormat
|
|
768
|
+
]);
|
|
769
|
+
return /*#__PURE__*/ _jsx(ThemeProvider, {
|
|
770
|
+
theme: theme,
|
|
771
|
+
direction: direction,
|
|
772
|
+
children: /*#__PURE__*/ _jsx(LangProvider, {
|
|
773
|
+
value: fixedLang,
|
|
774
|
+
children: /*#__PURE__*/ _jsx(RouterProvider, {
|
|
775
|
+
value: routerConfig,
|
|
776
|
+
children: /*#__PURE__*/ _jsx(Search_SearchProvider, {
|
|
777
|
+
value: searchData,
|
|
778
|
+
children: /*#__PURE__*/ _jsx(Page, {})
|
|
779
|
+
})
|
|
780
|
+
})
|
|
781
|
+
})
|
|
782
|
+
});
|
|
636
783
|
}
|
|
637
|
-
function
|
|
638
|
-
|
|
639
|
-
if (!hash) {
|
|
640
|
-
return;
|
|
641
|
-
}
|
|
642
|
-
var element = document.getElementById(hash);
|
|
643
|
-
if (!element) {
|
|
644
|
-
return;
|
|
645
|
-
}
|
|
646
|
-
var node = element === null || element === void 0 ? void 0 : element.parentElement;
|
|
647
|
-
while(node){
|
|
648
|
-
if (isDetailsTag(node)) {
|
|
649
|
-
node.open = true;
|
|
650
|
-
}
|
|
651
|
-
node = node.parentElement;
|
|
652
|
-
}
|
|
653
|
-
element.focus();
|
|
654
|
-
setTimeout(function() {
|
|
655
|
-
scrollToElement(element);
|
|
656
|
-
}, 10);
|
|
784
|
+
function useSearch() {
|
|
785
|
+
return (0,react.useContext)(SearchContext);
|
|
657
786
|
}
|
|
658
787
|
|
|
659
788
|
// EXTERNAL MODULE: ./src/interceptors/leading-page-links.js
|
|
@@ -855,12 +984,12 @@ function Suggest() {
|
|
|
855
984
|
var suggest = (0,react.useRef)(null);
|
|
856
985
|
var isSearchHidden = (0,useInterface/* .useInterface */.I)('search');
|
|
857
986
|
var onFocus = (0,react.useCallback)(function() {
|
|
858
|
-
|
|
987
|
+
utils_updateRootClassName({
|
|
859
988
|
focusSearch: true
|
|
860
989
|
});
|
|
861
990
|
}, []);
|
|
862
991
|
var onBlur = (0,react.useCallback)(function() {
|
|
863
|
-
|
|
992
|
+
utils_updateRootClassName({
|
|
864
993
|
focusSearch: false
|
|
865
994
|
});
|
|
866
995
|
setTimeout(function() {
|
|
@@ -894,7 +1023,7 @@ var Controls = __webpack_require__(80208);
|
|
|
894
1023
|
|
|
895
1024
|
|
|
896
1025
|
var HeaderControls = /*#__PURE__*/ (0,react.memo)(function(param) {
|
|
897
|
-
var mobileView = param.mobileView, theme = param.theme, onChangeTheme = param.onChangeTheme, textSize = param.textSize, onChangeTextSize = param.onChangeTextSize, wideFormat = param.wideFormat, onChangeWideFormat = param.onChangeWideFormat, showMiniToc = param.showMiniToc, onChangeShowMiniToc = param.onChangeShowMiniToc, lang = param.lang, langs = param.langs, onChangeLang = param.onChangeLang;
|
|
1026
|
+
var mobileView = param.mobileView, theme = param.theme, onChangeTheme = param.onChangeTheme, textSize = param.textSize, onChangeTextSize = param.onChangeTextSize, wideFormat = param.wideFormat, onChangeWideFormat = param.onChangeWideFormat, showMiniToc = param.showMiniToc, onChangeShowMiniToc = param.onChangeShowMiniToc, lang = param.lang, langs = param.langs, onChangeLang = param.onChangeLang, _param_availableLangs = param.availableLangs, availableLangs = _param_availableLangs === void 0 ? [] : _param_availableLangs;
|
|
898
1027
|
return /*#__PURE__*/ (0,jsx_runtime.jsx)(ControlsLayout/* .ControlsLayout */.C, {
|
|
899
1028
|
controlClassName: 'Control',
|
|
900
1029
|
controlSize: models/* .ControlSizes.L */.$D.L,
|
|
@@ -912,7 +1041,8 @@ var HeaderControls = /*#__PURE__*/ (0,react.memo)(function(param) {
|
|
|
912
1041
|
onChangeTextSize: onChangeTextSize,
|
|
913
1042
|
lang: lang,
|
|
914
1043
|
langs: langs,
|
|
915
|
-
onChangeLang: onChangeLang
|
|
1044
|
+
onChangeLang: onChangeLang,
|
|
1045
|
+
availableLangs: availableLangs
|
|
916
1046
|
})
|
|
917
1047
|
});
|
|
918
1048
|
});
|
|
@@ -1046,7 +1176,7 @@ var useNavigation = function(data, controls, CustomControls, CustomSuggest, view
|
|
|
1046
1176
|
|
|
1047
1177
|
|
|
1048
1178
|
|
|
1049
|
-
function
|
|
1179
|
+
function App_Page_Page(_param) {
|
|
1050
1180
|
var data = _param.data, pageProps = (0,_object_without_properties._)(_param, [
|
|
1051
1181
|
"data"
|
|
1052
1182
|
]);
|
|
@@ -1075,7 +1205,7 @@ function LegacyNavPage(param) {
|
|
|
1075
1205
|
}, [
|
|
1076
1206
|
content
|
|
1077
1207
|
]);
|
|
1078
|
-
return /*#__PURE__*/ (0,jsx_runtime.jsx)(
|
|
1208
|
+
return /*#__PURE__*/ (0,jsx_runtime.jsx)(App_Page_Page, (0,_object_spread_props._)((0,_object_spread._)({
|
|
1079
1209
|
data: data,
|
|
1080
1210
|
headerHeight: 0
|
|
1081
1211
|
}, props, controls), {
|
|
@@ -1107,7 +1237,7 @@ function RichNavPage(param) {
|
|
|
1107
1237
|
]);
|
|
1108
1238
|
var navigation = useNavigation(data, controls, CustomControls, CustomSuggest);
|
|
1109
1239
|
var CustomPage = (0,react.useCallback)(function() {
|
|
1110
|
-
return /*#__PURE__*/ (0,jsx_runtime.jsx)(
|
|
1240
|
+
return /*#__PURE__*/ (0,jsx_runtime.jsx)(App_Page_Page, (0,_object_spread_props._)((0,_object_spread._)({
|
|
1111
1241
|
data: data,
|
|
1112
1242
|
headerHeight: fullScreen ? 0 : 64
|
|
1113
1243
|
}, props, navigation.withControls ? filterControls(controls, [
|
|
@@ -1230,80 +1360,56 @@ function useLangs(param) {
|
|
|
1230
1360
|
]);
|
|
1231
1361
|
}
|
|
1232
1362
|
|
|
1233
|
-
;// CONCATENATED MODULE: ./src/components/App/
|
|
1234
|
-
|
|
1363
|
+
;// CONCATENATED MODULE: ./src/components/App/useAvailableLangs.ts
|
|
1235
1364
|
|
|
1236
1365
|
|
|
1237
1366
|
|
|
1238
|
-
|
|
1239
|
-
var capitalize = function(string) {
|
|
1240
|
-
return string.replace(/^./, function(ch) {
|
|
1241
|
-
return ch.toUpperCase();
|
|
1242
|
-
});
|
|
1243
|
-
};
|
|
1244
|
-
function useSettings() {
|
|
1245
|
-
var settings = getSettings();
|
|
1246
|
-
var theme = useSetting('theme', settings);
|
|
1247
|
-
var textSize = useSetting('textSize', settings);
|
|
1248
|
-
var wideFormat = useSetting('wideFormat', settings);
|
|
1249
|
-
var fullScreen = useSetting('fullScreen', settings);
|
|
1250
|
-
var showMiniToc = useSetting('showMiniToc', settings);
|
|
1251
|
-
var controls = (0,react.useMemo)(function() {
|
|
1252
|
-
return (0,_object_spread._)({}, theme, textSize, wideFormat, showMiniToc, fullScreen);
|
|
1253
|
-
}, [
|
|
1254
|
-
theme,
|
|
1255
|
-
textSize,
|
|
1256
|
-
wideFormat,
|
|
1257
|
-
showMiniToc,
|
|
1258
|
-
fullScreen
|
|
1259
|
-
]);
|
|
1260
|
-
return controls;
|
|
1261
|
-
}
|
|
1262
|
-
function useSetting(name, settings) {
|
|
1263
|
-
var _useState = (0,esm_sliced_to_array._)((0,react.useState)(settings[name]), 2), setting = _useState[0], setSetting = _useState[1];
|
|
1264
|
-
var onChangeSetting = (0,react.useMemo)(function() {
|
|
1265
|
-
return withSavingSetting(name, setSetting);
|
|
1266
|
-
}, [
|
|
1267
|
-
name,
|
|
1268
|
-
setSetting
|
|
1269
|
-
]);
|
|
1367
|
+
function useAvailableLangs(data, langs) {
|
|
1270
1368
|
return (0,react.useMemo)(function() {
|
|
1271
|
-
|
|
1272
|
-
|
|
1273
|
-
|
|
1274
|
-
|
|
1275
|
-
|
|
1276
|
-
|
|
1277
|
-
|
|
1278
|
-
|
|
1279
|
-
|
|
1280
|
-
|
|
1281
|
-
|
|
1282
|
-
|
|
1283
|
-
|
|
1284
|
-
|
|
1285
|
-
|
|
1286
|
-
|
|
1287
|
-
|
|
1288
|
-
|
|
1289
|
-
|
|
1290
|
-
|
|
1291
|
-
|
|
1292
|
-
|
|
1293
|
-
|
|
1294
|
-
|
|
1295
|
-
|
|
1296
|
-
|
|
1297
|
-
|
|
1298
|
-
|
|
1299
|
-
|
|
1300
|
-
|
|
1301
|
-
|
|
1302
|
-
|
|
1369
|
+
if (!('meta' in data)) {
|
|
1370
|
+
return [];
|
|
1371
|
+
}
|
|
1372
|
+
var _data_meta = data.meta, canonical = _data_meta.canonical, _data_meta_alternate = _data_meta.alternate, alternate = _data_meta_alternate === void 0 ? [] : _data_meta_alternate;
|
|
1373
|
+
if (!canonical) {
|
|
1374
|
+
return [];
|
|
1375
|
+
}
|
|
1376
|
+
var langsSet = new Set();
|
|
1377
|
+
var _canonical_split = (0,esm_sliced_to_array._)(canonical.split('/'), 1), canonicalLang = _canonical_split[0];
|
|
1378
|
+
if (langs.includes(canonicalLang)) {
|
|
1379
|
+
langsSet.add(canonicalLang);
|
|
1380
|
+
}
|
|
1381
|
+
var _iteratorNormalCompletion = true, _didIteratorError = false, _iteratorError = undefined;
|
|
1382
|
+
try {
|
|
1383
|
+
for(var _iterator = alternate[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true){
|
|
1384
|
+
var alt = _step.value;
|
|
1385
|
+
var href = alt.href;
|
|
1386
|
+
if (!href || (0,utils/* .isExternalHref */.$2)(href)) {
|
|
1387
|
+
continue;
|
|
1388
|
+
}
|
|
1389
|
+
var _href_split = (0,esm_sliced_to_array._)(href.split('/'), 1), altLang = _href_split[0];
|
|
1390
|
+
if (langs.includes(altLang)) {
|
|
1391
|
+
langsSet.add(altLang);
|
|
1392
|
+
}
|
|
1393
|
+
}
|
|
1394
|
+
} catch (err) {
|
|
1395
|
+
_didIteratorError = true;
|
|
1396
|
+
_iteratorError = err;
|
|
1397
|
+
} finally{
|
|
1398
|
+
try {
|
|
1399
|
+
if (!_iteratorNormalCompletion && _iterator.return != null) {
|
|
1400
|
+
_iterator.return();
|
|
1401
|
+
}
|
|
1402
|
+
} finally{
|
|
1403
|
+
if (_didIteratorError) {
|
|
1404
|
+
throw _iteratorError;
|
|
1405
|
+
}
|
|
1406
|
+
}
|
|
1407
|
+
}
|
|
1408
|
+
return Array.from(langsSet);
|
|
1303
1409
|
}, [
|
|
1304
|
-
|
|
1410
|
+
data,
|
|
1411
|
+
langs
|
|
1305
1412
|
]);
|
|
1306
|
-
return mobileView;
|
|
1307
1413
|
}
|
|
1308
1414
|
|
|
1309
1415
|
// EXTERNAL MODULE: ./node_modules/@diplodoc/mdx-extension/build/esm/hooks/useMdxSsr.js + 9 modules
|
|
@@ -1363,15 +1469,17 @@ var withMdxInit = function(param) {
|
|
|
1363
1469
|
|
|
1364
1470
|
|
|
1365
1471
|
|
|
1472
|
+
|
|
1366
1473
|
function hasNavigation(data) {
|
|
1367
1474
|
return Boolean(data.toc.navigation);
|
|
1368
1475
|
}
|
|
1369
1476
|
function App(props) {
|
|
1370
1477
|
var _analytics_gtm, _analytics_gtm1;
|
|
1371
|
-
var data = props.data, router = props.router, lang = props.lang, search = props.search, analytics = props.analytics, viewerInterface = props.viewerInterface;
|
|
1372
|
-
var settings =
|
|
1478
|
+
var data = props.data, router = props.router, lang = props.lang, langs = props.langs, search = props.search, analytics = props.analytics, viewerInterface = props.viewerInterface;
|
|
1479
|
+
var settings = useSettings_useSettings();
|
|
1373
1480
|
var langData = useLangs(props);
|
|
1374
|
-
var mobileView =
|
|
1481
|
+
var mobileView = useMobile_useMobile();
|
|
1482
|
+
var availableLangs = useAvailableLangs(data, langs);
|
|
1375
1483
|
var fixedLang = constants/* .SUPPORTED_LANGS.includes */.aP.includes(lang) ? lang : models/* .Lang.En */.Uo.En;
|
|
1376
1484
|
(0,esm_config/* .configure */.jQ)({
|
|
1377
1485
|
lang: fixedLang,
|
|
@@ -1411,23 +1519,25 @@ function App(props) {
|
|
|
1411
1519
|
]);
|
|
1412
1520
|
var controls = (0,react.useMemo)(function() {
|
|
1413
1521
|
return (0,_object_spread_props._)((0,_object_spread._)({}, settings, langData), {
|
|
1414
|
-
mobileView: mobileView
|
|
1522
|
+
mobileView: mobileView,
|
|
1523
|
+
availableLangs: availableLangs
|
|
1415
1524
|
});
|
|
1416
1525
|
}, [
|
|
1417
1526
|
langData,
|
|
1418
1527
|
settings,
|
|
1419
|
-
mobileView
|
|
1528
|
+
mobileView,
|
|
1529
|
+
availableLangs
|
|
1420
1530
|
]);
|
|
1421
|
-
var direction =
|
|
1531
|
+
var direction = utils_getDirection(lang);
|
|
1422
1532
|
var landingPage = getLandingPage(data);
|
|
1423
1533
|
(0,react.useEffect)(function() {
|
|
1424
|
-
|
|
1534
|
+
utils_updateRootClassName({
|
|
1425
1535
|
mobileView: mobileView,
|
|
1426
1536
|
wideFormat: wideFormat,
|
|
1427
1537
|
fullScreen: fullScreen,
|
|
1428
1538
|
landingPage: landingPage
|
|
1429
1539
|
});
|
|
1430
|
-
|
|
1540
|
+
utils_updateThemeClassName({
|
|
1431
1541
|
theme: theme
|
|
1432
1542
|
});
|
|
1433
1543
|
scrollToHash();
|
|
@@ -1440,12 +1550,12 @@ function App(props) {
|
|
|
1440
1550
|
]);
|
|
1441
1551
|
return /*#__PURE__*/ (0,jsx_runtime.jsx)("div", {
|
|
1442
1552
|
className: "App",
|
|
1443
|
-
children: /*#__PURE__*/ (0,jsx_runtime.jsx)(
|
|
1553
|
+
children: /*#__PURE__*/ (0,jsx_runtime.jsx)(theme_ThemeProvider/* .ThemeProvider */.f, {
|
|
1444
1554
|
theme: theme,
|
|
1445
1555
|
direction: direction,
|
|
1446
|
-
children: /*#__PURE__*/ (0,jsx_runtime.jsx)(
|
|
1556
|
+
children: /*#__PURE__*/ (0,jsx_runtime.jsx)(useLang_LangProvider, {
|
|
1447
1557
|
value: lang,
|
|
1448
|
-
children: /*#__PURE__*/ (0,jsx_runtime.jsx)(
|
|
1558
|
+
children: /*#__PURE__*/ (0,jsx_runtime.jsx)(Router_RouterProvider, {
|
|
1449
1559
|
value: router,
|
|
1450
1560
|
children: /*#__PURE__*/ (0,jsx_runtime.jsx)(Search_SearchProvider, {
|
|
1451
1561
|
value: search,
|
|
@@ -1798,7 +1908,7 @@ __webpack_require__.m = __webpack_modules__;
|
|
|
1798
1908
|
__webpack_require__.x = () => {
|
|
1799
1909
|
// Load entry module and return exports
|
|
1800
1910
|
// This entry module depends on other loaded chunks and execution need to be delayed
|
|
1801
|
-
var __webpack_exports__ = __webpack_require__.O(undefined, ["966", "971"], function() { return __webpack_require__(
|
|
1911
|
+
var __webpack_exports__ = __webpack_require__.O(undefined, ["966", "971"], function() { return __webpack_require__(85978) });
|
|
1802
1912
|
__webpack_exports__ = __webpack_require__.O(__webpack_exports__);
|
|
1803
1913
|
return __webpack_exports__
|
|
1804
1914
|
};
|