@diplodoc/client 2.1.0-beta.0 → 2.1.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.
@@ -0,0 +1,5 @@
1
+ export declare const RTL_LANGS: string[];
2
+ export declare enum TextDirection {
3
+ RTL = "rtl",
4
+ LTR = "ltr"
5
+ }
@@ -1,7 +1,7 @@
1
1
  /******/ (() => { // webpackBootstrap
2
2
  /******/ var __webpack_modules__ = ({
3
3
 
4
- /***/ 2722:
4
+ /***/ 5048:
5
5
  /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
6
6
 
7
7
  "use strict";
@@ -14,23 +14,25 @@ __webpack_require__.d(__webpack_exports__, {
14
14
  });
15
15
 
16
16
  // EXTERNAL MODULE: ./node_modules/react/index.js
17
- var react = __webpack_require__(7294);
17
+ var react = __webpack_require__(6540);
18
18
  // EXTERNAL MODULE: ./node_modules/react-dom/server.node.js
19
- var server_node = __webpack_require__(9680);
19
+ var server_node = __webpack_require__(4362);
20
20
  // EXTERNAL MODULE: ./node_modules/@gravity-ui/page-constructor/build/esm/containers/PageConstructor/Provider.js
21
- var Provider = __webpack_require__(7725);
22
- // EXTERNAL MODULE: ./node_modules/@gravity-ui/page-constructor/build/esm/containers/PageConstructor/PageConstructor.js + 350 modules
23
- var PageConstructor = __webpack_require__(9324);
24
- // EXTERNAL MODULE: ./node_modules/@diplodoc/components/build/esm/components/DocLeadingPage/DocLeadingPage.js + 2 modules
25
- var DocLeadingPage = __webpack_require__(7332);
26
- // EXTERNAL MODULE: ./node_modules/@diplodoc/components/build/esm/components/DocPage/DocPage.js + 36 modules
27
- var DocPage = __webpack_require__(293);
21
+ var Provider = __webpack_require__(7658);
22
+ // EXTERNAL MODULE: ./node_modules/@gravity-ui/page-constructor/build/esm/containers/PageConstructor/PageConstructor.js + 356 modules
23
+ var PageConstructor = __webpack_require__(9915);
24
+ // EXTERNAL MODULE: ./node_modules/@gravity-ui/uikit/build/esm/components/theme/ThemeProvider.js + 6 modules
25
+ var ThemeProvider = __webpack_require__(4647);
28
26
  // EXTERNAL MODULE: ./node_modules/@diplodoc/components/build/esm/models/index.js
29
- var models = __webpack_require__(8534);
27
+ var models = __webpack_require__(8184);
28
+ // EXTERNAL MODULE: ./node_modules/@diplodoc/components/build/esm/components/DocLeadingPage/DocLeadingPage.js + 2 modules
29
+ var DocLeadingPage = __webpack_require__(8472);
30
+ // EXTERNAL MODULE: ./node_modules/@diplodoc/components/build/esm/components/DocPage/DocPage.js + 39 modules
31
+ var DocPage = __webpack_require__(9530);
30
32
  // EXTERNAL MODULE: ./node_modules/@diplodoc/components/build/esm/components/Controls/ControlsLayout.js
31
- var ControlsLayout = __webpack_require__(9609);
32
- // EXTERNAL MODULE: ./node_modules/@diplodoc/components/build/esm/components/Controls/Controls.js + 65 modules
33
- var Controls = __webpack_require__(4990);
33
+ var ControlsLayout = __webpack_require__(6141);
34
+ // EXTERNAL MODULE: ./node_modules/@diplodoc/components/build/esm/components/Controls/Controls.js + 64 modules
35
+ var Controls = __webpack_require__(7871);
34
36
  ;// CONCATENATED MODULE: ./src/components/HeaderControls/index.tsx
35
37
 
36
38
 
@@ -48,12 +50,12 @@ const HeaderControls = /*#__PURE__*/(0,react.memo)(({
48
50
  showMiniToc,
49
51
  onChangeShowMiniToc
50
52
  }) => {
51
- return /*#__PURE__*/react.createElement(ControlsLayout/* ControlsLayout */.C, {
53
+ return /*#__PURE__*/react.createElement(ControlsLayout/* ControlsLayout */.n, {
52
54
  controlClassName: 'Control',
53
- controlSize: models/* ControlSizes */.$D.L,
55
+ controlSize: models/* ControlSizes */.Uv.L,
54
56
  isWideView: mobileView,
55
57
  isMobileView: mobileView
56
- }, /*#__PURE__*/react.createElement(Controls/* default */.Z, {
58
+ }, /*#__PURE__*/react.createElement(Controls/* default */.A, {
57
59
  className: 'Controls',
58
60
  theme: theme,
59
61
  onChangeTheme: onChangeTheme,
@@ -66,7 +68,15 @@ const HeaderControls = /*#__PURE__*/(0,react.memo)(({
66
68
  }));
67
69
  });
68
70
  HeaderControls.displayName = 'HeaderControls';
71
+ ;// CONCATENATED MODULE: ./src/constants.ts
72
+ const RTL_LANGS = ['ar', 'arc', 'ckb', 'dv', 'fa', 'ha', 'he', 'khw', 'ks', 'ps', 'sd', 'ur', 'uz_AF', 'yi'];
73
+ let TextDirection = /*#__PURE__*/function (TextDirection) {
74
+ TextDirection["RTL"] = "rtl";
75
+ TextDirection["LTR"] = "ltr";
76
+ return TextDirection;
77
+ }({});
69
78
  ;// CONCATENATED MODULE: ./src/utils.ts
79
+
70
80
  function strToBoolean(str) {
71
81
  if (typeof str === 'boolean') {
72
82
  return str;
@@ -81,13 +91,17 @@ function updateRootClassName({
81
91
  }) {
82
92
  document.body.className = ['g-root', mobileView ? 'mobile' : 'desktop', wideFormat && 'dc-root_wide-format', fullHeader && 'dc-root_full-header', theme === 'light' && 'g-root_theme_light', theme === 'dark' && 'g-root_theme_dark'].filter(Boolean).join(' ');
83
93
  }
94
+ function getDirection(lang) {
95
+ const isRTL = RTL_LANGS.includes(lang);
96
+ return isRTL ? TextDirection.RTL : TextDirection.LTR;
97
+ }
84
98
  // EXTERNAL MODULE: ./node_modules/bem-cn-lite/lib/index.js
85
- var lib = __webpack_require__(2853);
99
+ var lib = __webpack_require__(3614);
86
100
  ;// CONCATENATED MODULE: ./src/components/Layout/index.tsx
87
101
 
88
102
 
89
103
 
90
- const b = (0,lib/* default */.Z)('Layout');
104
+ const b = (0,lib/* default */.A)('Layout');
91
105
  function Header() {
92
106
  return null;
93
107
  }
@@ -142,8 +156,8 @@ Layout.Footer = Footer;
142
156
 
143
157
 
144
158
  const DEFAULT_USER_SETTINGS = {
145
- theme: models/* Theme */.Q2.Light,
146
- textSize: models/* TextSizes */.tF.M,
159
+ theme: models/* Theme */.Sx.Light,
160
+ textSize: models/* TextSizes */.ov.M,
147
161
  showMiniToc: true,
148
162
  wideFormat: true,
149
163
  fullScreen: false
@@ -219,15 +233,15 @@ function useMobile() {
219
233
  return mobileView;
220
234
  }
221
235
  // EXTERNAL MODULE: ./src/interceptors/leading-page-links.js
222
- var leading_page_links = __webpack_require__(9380);
236
+ var leading_page_links = __webpack_require__(4186);
223
237
  ;// CONCATENATED MODULE: external "@diplodoc/transform/dist/js/yfm"
224
238
  const yfm_namespaceObject = require("@diplodoc/transform/dist/js/yfm");
225
239
  // EXTERNAL MODULE: ./node_modules/@diplodoc/mermaid-extension/react/index.js
226
- var mermaid_extension_react = __webpack_require__(5289);
240
+ var mermaid_extension_react = __webpack_require__(5905);
227
241
  // EXTERNAL MODULE: ./node_modules/@diplodoc/latex-extension/react/index.js
228
- var latex_extension_react = __webpack_require__(9295);
229
- // EXTERNAL MODULE: ./node_modules/@diplodoc/openapi-extension/runtime/index.min.js + 15 modules
230
- var index_min = __webpack_require__(5584);
242
+ var latex_extension_react = __webpack_require__(358);
243
+ // EXTERNAL MODULE: ./node_modules/@diplodoc/openapi-extension/runtime/index.min.js + 26 modules
244
+ var index_min = __webpack_require__(8432);
231
245
  ;// CONCATENATED MODULE: ./src/components/App/App.tsx
232
246
 
233
247
 
@@ -243,12 +257,25 @@ var index_min = __webpack_require__(5584);
243
257
 
244
258
 
245
259
 
260
+
261
+ function Runtime(props) {
262
+ const {
263
+ theme
264
+ } = props;
265
+ return /*#__PURE__*/react.createElement(react.Fragment, null, /*#__PURE__*/react.createElement(index_min/* Runtime */.v, null), /*#__PURE__*/react.createElement(latex_extension_react/* LatexRuntime */.l, null), /*#__PURE__*/react.createElement(mermaid_extension_react/* MermaidRuntime */.A, {
266
+ theme: theme === models/* Theme */.Sx.Dark ? 'dark' : 'neutral',
267
+ zoom: {
268
+ showMenu: true,
269
+ bindKeys: true
270
+ }
271
+ }));
272
+ }
246
273
  function Page(props) {
247
274
  const {
248
275
  data,
249
276
  ...pageProps
250
277
  } = props;
251
- const Page = data.leading ? DocLeadingPage/* DocLeadingPage */.IU : DocPage/* default */.Z;
278
+ const Page = data.leading ? DocLeadingPage/* DocLeadingPage */.sc : DocPage/* default */.A;
252
279
  return /*#__PURE__*/react.createElement(Layout, null, /*#__PURE__*/react.createElement(Layout.Content, null, /*#__PURE__*/react.createElement(Page, Object.assign({}, data, pageProps))));
253
280
  }
254
281
  function isDropdownItem(item) {
@@ -299,6 +326,7 @@ function App(props) {
299
326
  fullScreen,
300
327
  onChangeFullScreen
301
328
  };
329
+ const direction = getDirection(lang);
302
330
  (0,react.useEffect)(() => {
303
331
  updateRootClassName({
304
332
  theme,
@@ -310,7 +338,12 @@ function App(props) {
310
338
  if (!navigation) {
311
339
  return /*#__PURE__*/react.createElement("div", {
312
340
  className: "App"
313
- }, /*#__PURE__*/react.createElement(Page, Object.assign({}, pageProps, settings)));
341
+ }, /*#__PURE__*/react.createElement(ThemeProvider/* ThemeProvider */.N, {
342
+ theme: theme,
343
+ direction: direction
344
+ }, /*#__PURE__*/react.createElement(Page, Object.assign({}, pageProps, settings)), /*#__PURE__*/react.createElement(Runtime, {
345
+ theme: theme
346
+ })));
314
347
  }
315
348
  const {
316
349
  header = {},
@@ -323,9 +356,12 @@ function App(props) {
323
356
  const headerWithControls = rightItems.some(item => item.type === 'controls');
324
357
  return /*#__PURE__*/react.createElement("div", {
325
358
  className: "App"
326
- }, /*#__PURE__*/react.createElement(Provider/* PageConstructorProvider */.W, {
359
+ }, /*#__PURE__*/react.createElement(ThemeProvider/* ThemeProvider */.N, {
360
+ theme: theme,
361
+ direction: direction
362
+ }, /*#__PURE__*/react.createElement(Provider/* PageConstructorProvider */.Z, {
327
363
  theme: theme
328
- }, /*#__PURE__*/react.createElement(PageConstructor/* PageConstructor */.C, {
364
+ }, /*#__PURE__*/react.createElement(PageConstructor/* PageConstructor */.i, {
329
365
  custom: {
330
366
  navigation: {
331
367
  controls: () => /*#__PURE__*/react.createElement(HeaderControls, Object.assign({}, settings, {
@@ -349,23 +385,19 @@ function App(props) {
349
385
  },
350
386
  logo
351
387
  } : undefined
352
- })), /*#__PURE__*/react.createElement(index_min/* Runtime */.r, null), /*#__PURE__*/react.createElement(latex_extension_react/* LatexRuntime */.S, null), /*#__PURE__*/react.createElement(mermaid_extension_react/* MermaidRuntime */.u, {
353
- theme: theme === models/* Theme */.Q2.Dark ? 'dark' : 'neutral',
354
- zoom: {
355
- showMenu: true,
356
- bindKeys: true
357
- }
388
+ }))), /*#__PURE__*/react.createElement(Runtime, {
389
+ theme: theme
358
390
  }));
359
391
  }
360
392
  ;// CONCATENATED MODULE: ./src/index.server.tsx
361
393
 
362
394
 
363
395
 
364
- const render = props => (0,server_node/* renderToString */.Dq)( /*#__PURE__*/react.createElement(App, props));
396
+ const render = props => (0,server_node/* renderToString */.F0)( /*#__PURE__*/react.createElement(App, props));
365
397
 
366
398
  /***/ }),
367
399
 
368
- /***/ 9380:
400
+ /***/ 4186:
369
401
  /***/ (() => {
370
402
 
371
403
  (function () {
@@ -416,18 +448,18 @@ const render = props => (0,server_node/* renderToString */.Dq)( /*#__PURE__*/rea
416
448
 
417
449
  /***/ }),
418
450
 
419
- /***/ 3615:
451
+ /***/ 7040:
420
452
  /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
421
453
 
422
454
  "use strict";
423
455
  /* harmony export */ __webpack_require__.d(__webpack_exports__, {
424
- /* harmony export */ Z: () => (/* export default binding */ __WEBPACK_DEFAULT_EXPORT__)
456
+ /* harmony export */ A: () => (/* export default binding */ __WEBPACK_DEFAULT_EXPORT__)
425
457
  /* harmony export */ });
426
458
  /* harmony default export */ function __WEBPACK_DEFAULT_EXPORT__() {}
427
459
 
428
460
  /***/ }),
429
461
 
430
- /***/ 6113:
462
+ /***/ 6982:
431
463
  /***/ ((module) => {
432
464
 
433
465
  "use strict";
@@ -435,7 +467,7 @@ module.exports = require("crypto");
435
467
 
436
468
  /***/ }),
437
469
 
438
- /***/ 2781:
470
+ /***/ 2203:
439
471
  /***/ ((module) => {
440
472
 
441
473
  "use strict";
@@ -443,7 +475,7 @@ module.exports = require("stream");
443
475
 
444
476
  /***/ }),
445
477
 
446
- /***/ 7310:
478
+ /***/ 7016:
447
479
  /***/ ((module) => {
448
480
 
449
481
  "use strict";
@@ -451,7 +483,7 @@ module.exports = require("url");
451
483
 
452
484
  /***/ }),
453
485
 
454
- /***/ 3837:
486
+ /***/ 9023:
455
487
  /***/ ((module) => {
456
488
 
457
489
  "use strict";
@@ -495,7 +527,7 @@ module.exports = require("util");
495
527
  /******/ __webpack_require__.x = () => {
496
528
  /******/ // Load entry module and return exports
497
529
  /******/ // This entry module depends on other loaded chunks and execution need to be delayed
498
- /******/ var __webpack_exports__ = __webpack_require__.O(undefined, [514,736], () => (__webpack_require__(2722)))
530
+ /******/ var __webpack_exports__ = __webpack_require__.O(undefined, [644,121], () => (__webpack_require__(5048)))
499
531
  /******/ __webpack_exports__ = __webpack_require__.O(__webpack_exports__);
500
532
  /******/ return __webpack_exports__;
501
533
  /******/ };
@@ -580,7 +612,7 @@ module.exports = require("util");
580
612
  /******/ // This function allow to reference async chunks and sibling chunks for the entrypoint
581
613
  /******/ __webpack_require__.u = (chunkId) => {
582
614
  /******/ // return url for filenames based on template
583
- /******/ return "" + {"514":"react","736":"vendor"}[chunkId] + ".js";
615
+ /******/ return "" + {"121":"vendor","644":"react"}[chunkId] + ".js";
584
616
  /******/ };
585
617
  /******/ })();
586
618
  /******/
@@ -630,7 +662,7 @@ module.exports = require("util");
630
662
  /******/ // object to store loaded chunks
631
663
  /******/ // "1" means "loaded", otherwise not loaded yet
632
664
  /******/ var installedChunks = {
633
- /******/ 143: 1
665
+ /******/ 524: 1
634
666
  /******/ };
635
667
  /******/
636
668
  /******/ __webpack_require__.O.require = (chunkId) => (installedChunks[chunkId]);
@@ -669,8 +701,8 @@ module.exports = require("util");
669
701
  /******/ (() => {
670
702
  /******/ var next = __webpack_require__.x;
671
703
  /******/ __webpack_require__.x = () => {
672
- /******/ __webpack_require__.e(514);
673
- /******/ __webpack_require__.e(736);
704
+ /******/ __webpack_require__.e(644);
705
+ /******/ __webpack_require__.e(121);
674
706
  /******/ return next();
675
707
  /******/ };
676
708
  /******/ })();
@@ -1 +1 @@
1
- {"version":3,"file":"app.js","mappings":"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DJ,6BAAe,sCAAY,CAAC;;;;;;;;ACA5B;;;;;;;;ACAA;;;;;;;;ACAA;;;;;;;;ACAA;;;;;;UCAA;UACA;;UAEA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;;UAEA;UACA;;UAEA;UACA;;UAEA;UACA;UACA;;UAEA;UACA;;UAEA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;;;;;WCrCA;;;;;WCAA;WACA;WACA;WACA;WACA,+BAA+B,wCAAwC;WACvE;WACA;WACA;WACA;WACA,iBAAiB,qBAAqB;WACtC;WACA;WACA,kBAAkB,qBAAqB;WACvC;WACA;WACA,KAAK;WACL;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;;;;;WC3BA;WACA;WACA;WACA;WACA;WACA,iCAAiC,WAAW;WAC5C;WACA;;;;;WCPA;WACA;WACA;WACA;WACA,yCAAyC,wCAAwC;WACjF;WACA;WACA;;;;;WCPA;WACA;WACA;WACA;WACA;WACA;WACA;WACA,EAAE;WACF;;;;;WCRA;WACA;WACA;WACA,cAAc,6BAA6B;WAC3C;;;;;WCJA;WACA;WACA;WACA;WACA;;;;;WCJA;;;;;WCAA;WACA;WACA;WACA,uDAAuD,iBAAiB;WACxE;WACA,gDAAgD,aAAa;WAC7D;;;;;WCNA;WACA;WACA;WACA;WACA;;;;;WCJA;;;;;WCAA;;WAEA;WACA;WACA;WACA;WACA;;WAEA;;WAEA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA,gBAAgB,qBAAqB;WACrC;WACA;WACA;;WAEA;WACA;WACA;WACA;WACA,aAAa;WACb;WACA,IAAI;WACJ;WACA;;WAEA;;WAEA;;WAEA;;;;;WCrCA;WACA;WACA;WACA;WACA;WACA;;;;;UELA;UACA","sources":["webpack://@diplodoc/client/./src/components/HeaderControls/index.tsx","webpack://@diplodoc/client/./src/utils.ts","webpack://@diplodoc/client/./src/components/Layout/index.tsx","webpack://@diplodoc/client/./src/hooks/useSettings.ts","webpack://@diplodoc/client/./src/hooks/useMobile.ts","webpack://@diplodoc/client/external commonjs2 \"@diplodoc/transform/dist/js/yfm\"","webpack://@diplodoc/client/./src/components/App/App.tsx","webpack://@diplodoc/client/./src/index.server.tsx","webpack://@diplodoc/client/./src/interceptors/leading-page-links.js","webpack://@diplodoc/client/./src/stub/empty-module.js","webpack://@diplodoc/client/external node-commonjs \"crypto\"","webpack://@diplodoc/client/external node-commonjs \"stream\"","webpack://@diplodoc/client/external node-commonjs \"url\"","webpack://@diplodoc/client/external node-commonjs \"util\"","webpack://@diplodoc/client/webpack/bootstrap","webpack://@diplodoc/client/webpack/runtime/amd options","webpack://@diplodoc/client/webpack/runtime/chunk loaded","webpack://@diplodoc/client/webpack/runtime/compat get default export","webpack://@diplodoc/client/webpack/runtime/define property getters","webpack://@diplodoc/client/webpack/runtime/ensure chunk","webpack://@diplodoc/client/webpack/runtime/get javascript chunk filename","webpack://@diplodoc/client/webpack/runtime/get mini-css chunk filename","webpack://@diplodoc/client/webpack/runtime/hasOwnProperty shorthand","webpack://@diplodoc/client/webpack/runtime/make namespace object","webpack://@diplodoc/client/webpack/runtime/node module decorator","webpack://@diplodoc/client/webpack/runtime/publicPath","webpack://@diplodoc/client/webpack/runtime/require chunk loading","webpack://@diplodoc/client/webpack/runtime/startup chunk dependencies","webpack://@diplodoc/client/webpack/before-startup","webpack://@diplodoc/client/webpack/startup","webpack://@diplodoc/client/webpack/after-startup"],"sourcesContent":["import React, {memo} from 'react';\n\nimport {ControlSizes, Controls, ControlsLayout, TextSizes, Theme} from '@diplodoc/components';\n\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\ntype OnChangeCallback = (value: any) => void;\n\ntype Props = {\n mobileView: boolean;\n\n theme: Theme;\n onChangeTheme: OnChangeCallback;\n textSize: TextSizes;\n onChangeTextSize: OnChangeCallback;\n wideFormat: boolean;\n onChangeWideFormat: OnChangeCallback;\n showMiniToc: boolean;\n onChangeShowMiniToc: OnChangeCallback;\n};\n\nexport const HeaderControls = memo<Props>(\n ({\n mobileView,\n\n theme,\n onChangeTheme,\n\n textSize,\n onChangeTextSize,\n\n wideFormat,\n onChangeWideFormat,\n\n showMiniToc,\n onChangeShowMiniToc,\n }) => {\n return (\n <ControlsLayout\n controlClassName={'Control'}\n controlSize={ControlSizes.L}\n isWideView={mobileView}\n isMobileView={mobileView}\n >\n <Controls\n className={'Controls'}\n theme={theme}\n onChangeTheme={onChangeTheme}\n wideFormat={wideFormat}\n onChangeWideFormat={onChangeWideFormat}\n showMiniToc={showMiniToc}\n onChangeShowMiniToc={onChangeShowMiniToc}\n textSize={textSize}\n onChangeTextSize={onChangeTextSize}\n />\n </ControlsLayout>\n );\n },\n);\n\nHeaderControls.displayName = 'HeaderControls';\n","import {Theme} from '@diplodoc/components';\n\nexport function strToBoolean(str: string | boolean) {\n if (typeof str === 'boolean') {\n return str;\n }\n\n return str ? str === 'true' : false;\n}\n\nexport function updateRootClassName({\n theme,\n mobileView = false,\n wideFormat = false,\n fullHeader = false,\n}: {\n theme: Theme;\n mobileView: boolean;\n wideFormat: boolean;\n fullHeader: boolean;\n}) {\n document.body.className = [\n 'g-root',\n mobileView ? 'mobile' : 'desktop',\n wideFormat && 'dc-root_wide-format',\n fullHeader && 'dc-root_full-header',\n theme === 'light' && 'g-root_theme_light',\n theme === 'dark' && 'g-root_theme_dark',\n ]\n .filter(Boolean)\n .join(' ');\n}\n","import React, {FC, PropsWithChildren, ReactElement} from 'react';\nimport block from 'bem-cn-lite';\n\nimport './Layout.scss';\n\nconst b = block('Layout');\n\nfunction Header() {\n return null;\n}\n\nfunction Content() {\n return null;\n}\n\nfunction Footer() {\n return null;\n}\n\ntype LayoutStatics = {\n Header: FC<PropsWithChildren>;\n Content: FC<PropsWithChildren>;\n Footer: FC<PropsWithChildren>;\n};\n\nexport const Layout: LayoutStatics & FC<PropsWithChildren<{doc?: boolean}>> = (props) => {\n const {children, doc} = props;\n let header, content, footer;\n\n React.Children.forEach(children as ReactElement[], (child: ReactElement) => {\n switch (child.type) {\n case Header:\n header = child.props.children;\n break;\n case Content:\n content = child.props.children;\n break;\n case Footer:\n footer = child.props.children;\n break;\n }\n });\n\n return (\n <div className={b()}>\n {header && <div className={b('header')}>{header}</div>}\n <div className={b('body')}>\n {content && <div className={b('content')}>{content}</div>}\n {footer && <div className={b('footer', {doc})}>{footer}</div>}\n </div>\n </div>\n );\n};\n\nLayout.displayName = 'Layout';\n\nLayout.defaultProps = {\n doc: false,\n};\n\nLayout.Header = Header;\nLayout.Content = Content;\nLayout.Footer = Footer;\n","import {strToBoolean} from '../utils';\nimport {useState} from 'react';\n\nimport {TextSizes, Theme} from '@diplodoc/components';\n\nconst DEFAULT_USER_SETTINGS = {\n theme: Theme.Light,\n textSize: TextSizes.M,\n showMiniToc: true,\n wideFormat: true,\n fullScreen: false,\n};\n\nexport function useSettings() {\n const settings = getSettings();\n\n const [wideFormat, setWideFormat] = useState(settings.wideFormat);\n const [fullScreen, setFullScreen] = useState(settings.fullScreen);\n const [showMiniToc, setShowMiniToc] = useState(settings.showMiniToc);\n const [theme, setTheme] = useState(settings.theme);\n const [textSize, setTextSize] = useState(settings.textSize);\n\n return {\n theme,\n onChangeTheme: withSavingSetting('theme', setTheme),\n textSize,\n onChangeTextSize: withSavingSetting('textSize', setTextSize),\n wideFormat,\n onChangeWideFormat: withSavingSetting('wideFormat', setWideFormat),\n showMiniToc,\n onChangeShowMiniToc: withSavingSetting('showMiniToc', setShowMiniToc),\n fullScreen,\n onChangeFullScreen: withSavingSetting('fullScreen', setFullScreen),\n };\n}\n\nfunction getSettings() {\n const theme = getSetting('theme');\n const textSize = getSetting('textSize');\n const showMiniToc = getSetting('showMiniToc');\n const wideFormat = getSetting('wideFormat');\n const fullScreen = getSetting('fullScreen');\n\n return {\n theme,\n textSize,\n showMiniToc: strToBoolean(showMiniToc),\n wideFormat: strToBoolean(wideFormat),\n fullScreen: strToBoolean(fullScreen),\n };\n}\n\ntype TSettings = typeof DEFAULT_USER_SETTINGS;\n\nfunction getSetting<T extends keyof TSettings>(name: T): TSettings[T] {\n if (typeof sessionStorage === 'undefined') {\n return DEFAULT_USER_SETTINGS[name];\n }\n\n try {\n return (sessionStorage.getItem(name) as TSettings[T]) || DEFAULT_USER_SETTINGS[name];\n } catch {\n return DEFAULT_USER_SETTINGS[name];\n }\n}\n\nfunction setSetting<T>(name: string, value: T) {\n try {\n sessionStorage.setItem(name, String(value));\n } catch {}\n}\n\nfunction withSavingSetting<T>(settingName: string, onChange: (value: T) => void) {\n return (value: T) => {\n setSetting<T>(settingName, value);\n\n onChange(value);\n };\n}\n","import {useCallback, useEffect, useState} from 'react';\n\nconst MOBILE_VIEW_WIDTH_BREAKPOINT = 769;\n\nexport function useMobile() {\n const [mobileView, setMobileView] = useState<boolean>(\n typeof document !== 'undefined' && document.body.clientWidth < MOBILE_VIEW_WIDTH_BREAKPOINT,\n );\n\n const onResizeHandler = useCallback(() => {\n setMobileView(document.body.clientWidth < MOBILE_VIEW_WIDTH_BREAKPOINT);\n }, []);\n\n useEffect(onResizeHandler, [onResizeHandler]);\n\n useEffect(() => {\n window.addEventListener('resize', onResizeHandler);\n\n return () => window.removeEventListener('resize', onResizeHandler);\n }, [onResizeHandler]);\n\n return mobileView;\n}\n","const __WEBPACK_NAMESPACE_OBJECT__ = require(\"@diplodoc/transform/dist/js/yfm\");","import React, {ReactElement, useEffect} from 'react';\n\nimport {\n NavigationData,\n NavigationDropdownItem,\n NavigationItemModel,\n PageConstructor,\n PageConstructorProvider,\n} from '@gravity-ui/page-constructor';\nimport {\n DocLeadingPage,\n DocLeadingPageData,\n DocPage,\n DocPageData,\n Lang,\n Router,\n Theme,\n} from '@diplodoc/components';\nimport {HeaderControls} from '../HeaderControls';\nimport {updateRootClassName} from '../../utils';\nimport {Layout} from '../Layout';\nimport {useSettings} from '../../hooks/useSettings';\nimport {useMobile} from '../../hooks/useMobile';\n\nimport '../../interceptors/leading-page-links';\n\nimport '@diplodoc/transform/dist/js/yfm';\nimport {MermaidRuntime} from '@diplodoc/mermaid-extension/react';\nimport {LatexRuntime} from '@diplodoc/latex-extension/react';\nimport {Runtime as OpenapiSandbox} from '@diplodoc/openapi-extension/runtime';\n\nimport './App.scss';\n\nexport interface AppProps {\n lang: Lang;\n router: Router;\n}\n\nexport type DocInnerProps<Data = DocLeadingPageData | DocPageData> = {\n data: Data;\n} & AppProps;\n\nexport type {DocLeadingPageData, DocPageData};\n\nfunction Page(props: DocInnerProps) {\n const {data, ...pageProps} = props;\n\n const Page = data.leading ? DocLeadingPage : DocPage;\n\n return (\n <Layout>\n <Layout.Content>\n {/*@ts-ignore*/}\n <Page {...data} {...pageProps} />\n </Layout.Content>\n </Layout>\n );\n}\n\nfunction isDropdownItem(item: NavigationItemModel): item is NavigationDropdownItem {\n return Array.isArray((item as NavigationDropdownItem).items);\n}\n\nfunction rebaseNavItem<T extends NavigationItemModel>(item: T) {\n const result: T = {...item};\n\n if (isDropdownItem(item)) {\n (result as NavigationDropdownItem).items = item.items.map(rebaseNavItem);\n }\n\n if (item.url !== undefined) {\n result.url = item.url.replace(/^\\/?/, '/');\n }\n\n return result;\n}\n\ntype TocData = DocPageData['toc'] & {\n navigation?: NavigationData;\n};\n\nexport function App(props: DocInnerProps): ReactElement {\n const {data, router, lang} = props;\n const {navigation} = data.toc as TocData;\n\n const settings = useSettings();\n const mobileView = useMobile();\n\n const {theme, textSize, wideFormat, fullScreen, showMiniToc, onChangeFullScreen} = settings;\n const fullHeader = !fullScreen && Boolean(navigation);\n const headerHeight = fullHeader ? 64 : 0;\n const pageProps = {\n headerHeight,\n data,\n router,\n lang,\n wideFormat,\n showMiniToc,\n theme,\n textSize,\n fullScreen,\n onChangeFullScreen,\n };\n\n useEffect(() => {\n updateRootClassName({\n theme,\n mobileView,\n wideFormat,\n fullHeader,\n });\n }, [theme, mobileView, wideFormat, fullHeader]);\n\n if (!navigation) {\n return (\n <div className=\"App\">\n <Page {...pageProps} {...settings} />\n </div>\n );\n }\n\n const {header = {}, logo} = navigation;\n const {leftItems = [], rightItems = []} = header as NavigationData['header'];\n const headerWithControls = rightItems.some((item: {type: string}) => item.type === 'controls');\n\n return (\n <div className=\"App\">\n <PageConstructorProvider theme={theme}>\n <PageConstructor\n custom={{\n navigation: {\n controls: () => (\n <HeaderControls {...settings} mobileView={mobileView} />\n ),\n },\n blocks: {\n page: () => (\n <Page {...pageProps} {...(headerWithControls ? {} : settings)} />\n ),\n },\n }}\n content={{\n blocks: [\n {\n type: 'page',\n },\n ],\n }}\n navigation={\n fullHeader\n ? {\n header: {\n withBorder: true,\n leftItems: leftItems.map(rebaseNavItem),\n rightItems: rightItems.map(rebaseNavItem),\n },\n logo,\n }\n : undefined\n }\n />\n </PageConstructorProvider>\n <OpenapiSandbox />\n <LatexRuntime />\n <MermaidRuntime\n theme={theme === Theme.Dark ? 'dark' : 'neutral'}\n zoom={{\n showMenu: true,\n bindKeys: true,\n }}\n />\n </div>\n );\n}\n","import React from 'react';\nimport {renderToString} from 'react-dom/server';\n\nimport {App, DocInnerProps, DocLeadingPageData, DocPageData} from './components/App/App';\n\nexport type {DocInnerProps, DocPageData, DocLeadingPageData};\n\nexport const render = (props: DocInnerProps) => renderToString(<App {...props} />);\n","(function () {\n /**\n * Element.matches() polyfill.\n * @link https://developer.mozilla.org/ru/docs/Web/API/Element/matches\n */\n if (typeof Element !== 'undefined') {\n (function (e) {\n const matches =\n e.matches ||\n e.matchesSelector ||\n e.webkitMatchesSelector ||\n e.mozMatchesSelector ||\n e.msMatchesSelector ||\n e.oMatchesSelector;\n\n if (matches) {\n e.matches = e.matchesSelector = matches;\n } else {\n e.matches = e.matchesSelector = function (selector) {\n const th = this;\n return Array.prototype.some.call(document.querySelectorAll(selector), (el) => {\n return el === th;\n });\n };\n }\n })(Element.prototype);\n }\n\n if (typeof document !== 'undefined') {\n document.addEventListener('click', (event) => {\n const href = event.target.href;\n const locationOrigin = window.location.origin;\n\n if (\n event.target.matches('.dc-doc-layout__center a') &&\n href.startsWith(locationOrigin)\n ) {\n event.preventDefault();\n\n const mainFileName = 'index';\n const extention = '.html';\n\n if (href.endsWith('/')) {\n window.location.href = `${href}${mainFileName}${extention}`;\n return;\n }\n\n // https://../file-name, https://../file-name#fragment\n const splitedHref = href.split('#');\n if (splitedHref.length > 0 && !splitedHref[0].endsWith(extention)) {\n splitedHref[0] += extention;\n window.location.href = splitedHref.join('#');\n return;\n }\n\n window.location.href = href;\n }\n });\n }\n})();\n","export default function () {}\n","module.exports = require(\"crypto\");","module.exports = require(\"stream\");","module.exports = require(\"url\");","module.exports = require(\"util\");","// The module cache\nvar __webpack_module_cache__ = {};\n\n// The require function\nfunction __webpack_require__(moduleId) {\n\t// Check if module is in cache\n\tvar cachedModule = __webpack_module_cache__[moduleId];\n\tif (cachedModule !== undefined) {\n\t\treturn cachedModule.exports;\n\t}\n\t// Create a new module (and put it into the cache)\n\tvar module = __webpack_module_cache__[moduleId] = {\n\t\tid: moduleId,\n\t\tloaded: false,\n\t\texports: {}\n\t};\n\n\t// Execute the module function\n\t__webpack_modules__[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n\t// Flag the module as loaded\n\tmodule.loaded = true;\n\n\t// Return the exports of the module\n\treturn module.exports;\n}\n\n// expose the modules object (__webpack_modules__)\n__webpack_require__.m = __webpack_modules__;\n\n// the startup function\n__webpack_require__.x = () => {\n\t// Load entry module and return exports\n\t// This entry module depends on other loaded chunks and execution need to be delayed\n\tvar __webpack_exports__ = __webpack_require__.O(undefined, [514,736], () => (__webpack_require__(2722)))\n\t__webpack_exports__ = __webpack_require__.O(__webpack_exports__);\n\treturn __webpack_exports__;\n};\n\n","__webpack_require__.amdO = {};","var deferred = [];\n__webpack_require__.O = (result, chunkIds, fn, priority) => {\n\tif(chunkIds) {\n\t\tpriority = priority || 0;\n\t\tfor(var i = deferred.length; i > 0 && deferred[i - 1][2] > priority; i--) deferred[i] = deferred[i - 1];\n\t\tdeferred[i] = [chunkIds, fn, priority];\n\t\treturn;\n\t}\n\tvar notFulfilled = Infinity;\n\tfor (var i = 0; i < deferred.length; i++) {\n\t\tvar [chunkIds, fn, priority] = deferred[i];\n\t\tvar fulfilled = true;\n\t\tfor (var j = 0; j < chunkIds.length; j++) {\n\t\t\tif ((priority & 1 === 0 || notFulfilled >= priority) && Object.keys(__webpack_require__.O).every((key) => (__webpack_require__.O[key](chunkIds[j])))) {\n\t\t\t\tchunkIds.splice(j--, 1);\n\t\t\t} else {\n\t\t\t\tfulfilled = false;\n\t\t\t\tif(priority < notFulfilled) notFulfilled = priority;\n\t\t\t}\n\t\t}\n\t\tif(fulfilled) {\n\t\t\tdeferred.splice(i--, 1)\n\t\t\tvar r = fn();\n\t\t\tif (r !== undefined) result = r;\n\t\t}\n\t}\n\treturn result;\n};","// getDefaultExport function for compatibility with non-harmony modules\n__webpack_require__.n = (module) => {\n\tvar getter = module && module.__esModule ?\n\t\t() => (module['default']) :\n\t\t() => (module);\n\t__webpack_require__.d(getter, { a: getter });\n\treturn getter;\n};","// define getter functions for harmony exports\n__webpack_require__.d = (exports, definition) => {\n\tfor(var key in definition) {\n\t\tif(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\n\t\t\tObject.defineProperty(exports, key, { enumerable: true, get: definition[key] });\n\t\t}\n\t}\n};","__webpack_require__.f = {};\n// This file contains only the entry chunk.\n// The chunk loading function for additional chunks\n__webpack_require__.e = (chunkId) => {\n\treturn Promise.all(Object.keys(__webpack_require__.f).reduce((promises, key) => {\n\t\t__webpack_require__.f[key](chunkId, promises);\n\t\treturn promises;\n\t}, []));\n};","// This function allow to reference async chunks and sibling chunks for the entrypoint\n__webpack_require__.u = (chunkId) => {\n\t// return url for filenames based on template\n\treturn \"\" + {\"514\":\"react\",\"736\":\"vendor\"}[chunkId] + \".js\";\n};","// This function allow to reference async chunks and sibling chunks for the entrypoint\n__webpack_require__.miniCssF = (chunkId) => {\n\t// return url for filenames based on template\n\treturn undefined;\n};","__webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop))","// define __esModule on exports\n__webpack_require__.r = (exports) => {\n\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n\t}\n\tObject.defineProperty(exports, '__esModule', { value: true });\n};","__webpack_require__.nmd = (module) => {\n\tmodule.paths = [];\n\tif (!module.children) module.children = [];\n\treturn module;\n};","__webpack_require__.p = \"\";","// no baseURI\n\n// object to store loaded chunks\n// \"1\" means \"loaded\", otherwise not loaded yet\nvar installedChunks = {\n\t143: 1\n};\n\n__webpack_require__.O.require = (chunkId) => (installedChunks[chunkId]);\n\nvar installChunk = (chunk) => {\n\tvar moreModules = chunk.modules, chunkIds = chunk.ids, runtime = chunk.runtime;\n\tfor(var moduleId in moreModules) {\n\t\tif(__webpack_require__.o(moreModules, moduleId)) {\n\t\t\t__webpack_require__.m[moduleId] = moreModules[moduleId];\n\t\t}\n\t}\n\tif(runtime) runtime(__webpack_require__);\n\tfor(var i = 0; i < chunkIds.length; i++)\n\t\tinstalledChunks[chunkIds[i]] = 1;\n\t__webpack_require__.O();\n};\n\n// require() chunk loading for javascript\n__webpack_require__.f.require = (chunkId, promises) => {\n\t// \"1\" is the signal for \"already loaded\"\n\tif(!installedChunks[chunkId]) {\n\t\tif(true) { // all chunks have JS\n\t\t\tinstallChunk(require(\"./\" + __webpack_require__.u(chunkId)));\n\t\t} else installedChunks[chunkId] = 1;\n\t}\n};\n\n// no external install chunk\n\n// no HMR\n\n// no HMR manifest","var next = __webpack_require__.x;\n__webpack_require__.x = () => {\n\t__webpack_require__.e(514);\n\t__webpack_require__.e(736);\n\treturn next();\n};","","// run startup\nvar __webpack_exports__ = __webpack_require__.x();\n",""],"names":["React","memo","ControlSizes","Controls","ControlsLayout","HeaderControls","mobileView","theme","onChangeTheme","textSize","onChangeTextSize","wideFormat","onChangeWideFormat","showMiniToc","onChangeShowMiniToc","createElement","controlClassName","controlSize","L","isWideView","isMobileView","className","displayName","strToBoolean","str","updateRootClassName","fullHeader","document","body","filter","Boolean","join","block","b","Header","Content","Footer","Layout","props","children","doc","header","content","footer","Children","forEach","child","type","defaultProps","useState","TextSizes","Theme","DEFAULT_USER_SETTINGS","Light","M","fullScreen","useSettings","settings","getSettings","setWideFormat","setFullScreen","setShowMiniToc","setTheme","setTextSize","withSavingSetting","onChangeFullScreen","getSetting","name","sessionStorage","getItem","setSetting","value","setItem","String","settingName","onChange","useCallback","useEffect","MOBILE_VIEW_WIDTH_BREAKPOINT","useMobile","setMobileView","clientWidth","onResizeHandler","window","addEventListener","removeEventListener","PageConstructor","PageConstructorProvider","DocLeadingPage","DocPage","MermaidRuntime","LatexRuntime","Runtime","OpenapiSandbox","Page","data","pageProps","leading","Object","assign","isDropdownItem","item","Array","isArray","items","rebaseNavItem","result","map","url","undefined","replace","App","router","lang","navigation","toc","headerHeight","logo","leftItems","rightItems","headerWithControls","some","custom","controls","blocks","page","withBorder","Dark","zoom","showMenu","bindKeys","renderToString","render","Element","e","matches","matchesSelector","webkitMatchesSelector","mozMatchesSelector","msMatchesSelector","oMatchesSelector","selector","th","prototype","call","querySelectorAll","el","event","href","target","locationOrigin","location","origin","startsWith","preventDefault","mainFileName","extention","endsWith","splitedHref","split","length"],"sourceRoot":""}
1
+ {"version":3,"file":"app.js","mappings":"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CtC;WACA;WACA,kBAAkB,qBAAqB;WACvC;WACA;WACA,KAAK;WACL;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;;;;;WC3BA;WACA;WACA;WACA;WACA;WACA,iCAAiC,WAAW;WAC5C;WACA;;;;;WCPA;WACA;WACA;WACA;WACA,yCAAyC,wCAAwC;WACjF;WACA;WACA;;;;;WCPA;WACA;WACA;WACA;WACA;WACA;WACA;WACA,EAAE;WACF;;;;;WCRA;WACA;WACA;WACA,cAAc,6BAA6B;WAC3C;;;;;WCJA;WACA;WACA;WACA;WACA;;;;;WCJA;;;;;WCAA;WACA;WACA;WACA,uDAAuD,iBAAiB;WACxE;WACA,gDAAgD,aAAa;WAC7D;;;;;WCNA;WACA;WACA;WACA;WACA;;;;;WCJA;;;;;WCAA;;WAEA;WACA;WACA;WACA;WACA;;WAEA;;WAEA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA,gBAAgB,qBAAqB;WACrC;WACA;WACA;;WAEA;WACA;WACA;WACA;WACA,aAAa;WACb;WACA,IAAI;WACJ;WACA;;WAEA;;WAEA;;WAEA;;;;;WCrCA;WACA;WACA;WACA;WACA;WACA;;;;;UELA;UACA","sources":["webpack://@diplodoc/client/./src/components/HeaderControls/index.tsx","webpack://@diplodoc/client/./src/constants.ts","webpack://@diplodoc/client/./src/utils.ts","webpack://@diplodoc/client/./src/components/Layout/index.tsx","webpack://@diplodoc/client/./src/hooks/useSettings.ts","webpack://@diplodoc/client/./src/hooks/useMobile.ts","webpack://@diplodoc/client/external commonjs2 \"@diplodoc/transform/dist/js/yfm\"","webpack://@diplodoc/client/./src/components/App/App.tsx","webpack://@diplodoc/client/./src/index.server.tsx","webpack://@diplodoc/client/./src/interceptors/leading-page-links.js","webpack://@diplodoc/client/./src/stub/empty-module.js","webpack://@diplodoc/client/external node-commonjs \"crypto\"","webpack://@diplodoc/client/external node-commonjs \"stream\"","webpack://@diplodoc/client/external node-commonjs \"url\"","webpack://@diplodoc/client/external node-commonjs \"util\"","webpack://@diplodoc/client/webpack/bootstrap","webpack://@diplodoc/client/webpack/runtime/amd options","webpack://@diplodoc/client/webpack/runtime/chunk loaded","webpack://@diplodoc/client/webpack/runtime/compat get default export","webpack://@diplodoc/client/webpack/runtime/define property getters","webpack://@diplodoc/client/webpack/runtime/ensure chunk","webpack://@diplodoc/client/webpack/runtime/get javascript chunk filename","webpack://@diplodoc/client/webpack/runtime/get mini-css chunk filename","webpack://@diplodoc/client/webpack/runtime/hasOwnProperty shorthand","webpack://@diplodoc/client/webpack/runtime/make namespace object","webpack://@diplodoc/client/webpack/runtime/node module decorator","webpack://@diplodoc/client/webpack/runtime/publicPath","webpack://@diplodoc/client/webpack/runtime/require chunk loading","webpack://@diplodoc/client/webpack/runtime/startup chunk dependencies","webpack://@diplodoc/client/webpack/before-startup","webpack://@diplodoc/client/webpack/startup","webpack://@diplodoc/client/webpack/after-startup"],"sourcesContent":["import React, {memo} from 'react';\n\nimport {ControlSizes, Controls, ControlsLayout, TextSizes, Theme} from '@diplodoc/components';\n\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\ntype OnChangeCallback = (value: any) => void;\n\ntype Props = {\n mobileView: boolean;\n\n theme: Theme;\n onChangeTheme: OnChangeCallback;\n textSize: TextSizes;\n onChangeTextSize: OnChangeCallback;\n wideFormat: boolean;\n onChangeWideFormat: OnChangeCallback;\n showMiniToc: boolean;\n onChangeShowMiniToc: OnChangeCallback;\n};\n\nexport const HeaderControls = memo<Props>(\n ({\n mobileView,\n\n theme,\n onChangeTheme,\n\n textSize,\n onChangeTextSize,\n\n wideFormat,\n onChangeWideFormat,\n\n showMiniToc,\n onChangeShowMiniToc,\n }) => {\n return (\n <ControlsLayout\n controlClassName={'Control'}\n controlSize={ControlSizes.L}\n isWideView={mobileView}\n isMobileView={mobileView}\n >\n <Controls\n className={'Controls'}\n theme={theme}\n onChangeTheme={onChangeTheme}\n wideFormat={wideFormat}\n onChangeWideFormat={onChangeWideFormat}\n showMiniToc={showMiniToc}\n onChangeShowMiniToc={onChangeShowMiniToc}\n textSize={textSize}\n onChangeTextSize={onChangeTextSize}\n />\n </ControlsLayout>\n );\n },\n);\n\nHeaderControls.displayName = 'HeaderControls';\n","export const RTL_LANGS = [\n 'ar',\n 'arc',\n 'ckb',\n 'dv',\n 'fa',\n 'ha',\n 'he',\n 'khw',\n 'ks',\n 'ps',\n 'sd',\n 'ur',\n 'uz_AF',\n 'yi',\n];\n\nexport enum TextDirection {\n RTL = 'rtl',\n LTR = 'ltr',\n}\n","import {Lang, Theme} from '@diplodoc/components';\nimport {RTL_LANGS, TextDirection} from './constants';\n\nexport function strToBoolean(str: string | boolean) {\n if (typeof str === 'boolean') {\n return str;\n }\n\n return str ? str === 'true' : false;\n}\n\nexport function updateRootClassName({\n theme,\n mobileView = false,\n wideFormat = false,\n fullHeader = false,\n}: {\n theme: Theme;\n mobileView: boolean;\n wideFormat: boolean;\n fullHeader: boolean;\n}) {\n document.body.className = [\n 'g-root',\n mobileView ? 'mobile' : 'desktop',\n wideFormat && 'dc-root_wide-format',\n fullHeader && 'dc-root_full-header',\n theme === 'light' && 'g-root_theme_light',\n theme === 'dark' && 'g-root_theme_dark',\n ]\n .filter(Boolean)\n .join(' ');\n}\n\nexport function getDirection(lang: Lang): TextDirection {\n const isRTL = RTL_LANGS.includes(lang);\n\n return isRTL ? TextDirection.RTL : TextDirection.LTR;\n}\n","import React, {FC, PropsWithChildren, ReactElement} from 'react';\nimport block from 'bem-cn-lite';\n\nimport './Layout.scss';\n\nconst b = block('Layout');\n\nfunction Header() {\n return null;\n}\n\nfunction Content() {\n return null;\n}\n\nfunction Footer() {\n return null;\n}\n\ntype LayoutStatics = {\n Header: FC<PropsWithChildren>;\n Content: FC<PropsWithChildren>;\n Footer: FC<PropsWithChildren>;\n};\n\nexport const Layout: LayoutStatics & FC<PropsWithChildren<{doc?: boolean}>> = (props) => {\n const {children, doc} = props;\n let header, content, footer;\n\n React.Children.forEach(children as ReactElement[], (child: ReactElement) => {\n switch (child.type) {\n case Header:\n header = child.props.children;\n break;\n case Content:\n content = child.props.children;\n break;\n case Footer:\n footer = child.props.children;\n break;\n }\n });\n\n return (\n <div className={b()}>\n {header && <div className={b('header')}>{header}</div>}\n <div className={b('body')}>\n {content && <div className={b('content')}>{content}</div>}\n {footer && <div className={b('footer', {doc})}>{footer}</div>}\n </div>\n </div>\n );\n};\n\nLayout.displayName = 'Layout';\n\nLayout.defaultProps = {\n doc: false,\n};\n\nLayout.Header = Header;\nLayout.Content = Content;\nLayout.Footer = Footer;\n","import {strToBoolean} from '../utils';\nimport {useState} from 'react';\n\nimport {TextSizes, Theme} from '@diplodoc/components';\n\nconst DEFAULT_USER_SETTINGS = {\n theme: Theme.Light,\n textSize: TextSizes.M,\n showMiniToc: true,\n wideFormat: true,\n fullScreen: false,\n};\n\nexport function useSettings() {\n const settings = getSettings();\n\n const [wideFormat, setWideFormat] = useState(settings.wideFormat);\n const [fullScreen, setFullScreen] = useState(settings.fullScreen);\n const [showMiniToc, setShowMiniToc] = useState(settings.showMiniToc);\n const [theme, setTheme] = useState(settings.theme);\n const [textSize, setTextSize] = useState(settings.textSize);\n\n return {\n theme,\n onChangeTheme: withSavingSetting('theme', setTheme),\n textSize,\n onChangeTextSize: withSavingSetting('textSize', setTextSize),\n wideFormat,\n onChangeWideFormat: withSavingSetting('wideFormat', setWideFormat),\n showMiniToc,\n onChangeShowMiniToc: withSavingSetting('showMiniToc', setShowMiniToc),\n fullScreen,\n onChangeFullScreen: withSavingSetting('fullScreen', setFullScreen),\n };\n}\n\nfunction getSettings() {\n const theme = getSetting('theme');\n const textSize = getSetting('textSize');\n const showMiniToc = getSetting('showMiniToc');\n const wideFormat = getSetting('wideFormat');\n const fullScreen = getSetting('fullScreen');\n\n return {\n theme,\n textSize,\n showMiniToc: strToBoolean(showMiniToc),\n wideFormat: strToBoolean(wideFormat),\n fullScreen: strToBoolean(fullScreen),\n };\n}\n\ntype TSettings = typeof DEFAULT_USER_SETTINGS;\n\nfunction getSetting<T extends keyof TSettings>(name: T): TSettings[T] {\n if (typeof sessionStorage === 'undefined') {\n return DEFAULT_USER_SETTINGS[name];\n }\n\n try {\n return (sessionStorage.getItem(name) as TSettings[T]) || DEFAULT_USER_SETTINGS[name];\n } catch {\n return DEFAULT_USER_SETTINGS[name];\n }\n}\n\nfunction setSetting<T>(name: string, value: T) {\n try {\n sessionStorage.setItem(name, String(value));\n } catch {}\n}\n\nfunction withSavingSetting<T>(settingName: string, onChange: (value: T) => void) {\n return (value: T) => {\n setSetting<T>(settingName, value);\n\n onChange(value);\n };\n}\n","import {useCallback, useEffect, useState} from 'react';\n\nconst MOBILE_VIEW_WIDTH_BREAKPOINT = 769;\n\nexport function useMobile() {\n const [mobileView, setMobileView] = useState<boolean>(\n typeof document !== 'undefined' && document.body.clientWidth < MOBILE_VIEW_WIDTH_BREAKPOINT,\n );\n\n const onResizeHandler = useCallback(() => {\n setMobileView(document.body.clientWidth < MOBILE_VIEW_WIDTH_BREAKPOINT);\n }, []);\n\n useEffect(onResizeHandler, [onResizeHandler]);\n\n useEffect(() => {\n window.addEventListener('resize', onResizeHandler);\n\n return () => window.removeEventListener('resize', onResizeHandler);\n }, [onResizeHandler]);\n\n return mobileView;\n}\n","const __WEBPACK_NAMESPACE_OBJECT__ = require(\"@diplodoc/transform/dist/js/yfm\");","import React, {ReactElement, useEffect} from 'react';\n\nimport {\n NavigationData,\n NavigationDropdownItem,\n NavigationItemModel,\n PageConstructor,\n PageConstructorProvider,\n} from '@gravity-ui/page-constructor';\nimport {ThemeProvider} from '@gravity-ui/uikit';\nimport {\n DocLeadingPage,\n DocLeadingPageData,\n DocPage,\n DocPageData,\n Lang,\n Router,\n Theme,\n} from '@diplodoc/components';\nimport {HeaderControls} from '../HeaderControls';\nimport {getDirection, updateRootClassName} from '../../utils';\nimport {Layout} from '../Layout';\nimport {useSettings} from '../../hooks/useSettings';\nimport {useMobile} from '../../hooks/useMobile';\n\nimport '../../interceptors/leading-page-links';\n\nimport '@diplodoc/transform/dist/js/yfm';\nimport {MermaidRuntime} from '@diplodoc/mermaid-extension/react';\nimport {LatexRuntime} from '@diplodoc/latex-extension/react';\nimport {Runtime as OpenapiSandbox} from '@diplodoc/openapi-extension/runtime';\n\nimport './App.scss';\n\nexport interface AppProps {\n lang: Lang;\n router: Router;\n}\n\nexport type DocInnerProps<Data = DocLeadingPageData | DocPageData> = {\n data: Data;\n} & AppProps;\n\nexport type {DocLeadingPageData, DocPageData};\n\ntype RuntimeProps = {\n theme: Theme;\n};\n\nfunction Runtime(props: RuntimeProps) {\n const {theme} = props;\n\n return (\n <>\n <OpenapiSandbox />\n <LatexRuntime />\n <MermaidRuntime\n theme={theme === Theme.Dark ? 'dark' : 'neutral'}\n zoom={{\n showMenu: true,\n bindKeys: true,\n }}\n />\n </>\n );\n}\n\nfunction Page(props: DocInnerProps) {\n const {data, ...pageProps} = props;\n const Page = data.leading ? DocLeadingPage : DocPage;\n\n return (\n <Layout>\n <Layout.Content>\n {/*@ts-ignore*/}\n <Page {...data} {...pageProps} />\n </Layout.Content>\n </Layout>\n );\n}\n\nfunction isDropdownItem(item: NavigationItemModel): item is NavigationDropdownItem {\n return Array.isArray((item as NavigationDropdownItem).items);\n}\n\nfunction rebaseNavItem<T extends NavigationItemModel>(item: T) {\n const result: T = {...item};\n\n if (isDropdownItem(item)) {\n (result as NavigationDropdownItem).items = item.items.map(rebaseNavItem);\n }\n\n if (item.url !== undefined) {\n result.url = item.url.replace(/^\\/?/, '/');\n }\n\n return result;\n}\n\ntype TocData = DocPageData['toc'] & {\n navigation?: NavigationData;\n};\n\nexport function App(props: DocInnerProps): ReactElement {\n const {data, router, lang} = props;\n const {navigation} = data.toc as TocData;\n\n const settings = useSettings();\n const mobileView = useMobile();\n\n const {theme, textSize, wideFormat, fullScreen, showMiniToc, onChangeFullScreen} = settings;\n const fullHeader = !fullScreen && Boolean(navigation);\n const headerHeight = fullHeader ? 64 : 0;\n const pageProps = {\n headerHeight,\n data,\n router,\n lang,\n wideFormat,\n showMiniToc,\n theme,\n textSize,\n fullScreen,\n onChangeFullScreen,\n };\n const direction = getDirection(lang);\n\n useEffect(() => {\n updateRootClassName({\n theme,\n mobileView,\n wideFormat,\n fullHeader,\n });\n }, [theme, mobileView, wideFormat, fullHeader]);\n\n if (!navigation) {\n return (\n <div className=\"App\">\n <ThemeProvider theme={theme} direction={direction}>\n <Page {...pageProps} {...settings} />\n <Runtime theme={theme} />\n </ThemeProvider>\n </div>\n );\n }\n\n const {header = {}, logo} = navigation;\n const {leftItems = [], rightItems = []} = header as NavigationData['header'];\n const headerWithControls = rightItems.some((item: {type: string}) => item.type === 'controls');\n\n return (\n <div className=\"App\">\n <ThemeProvider theme={theme} direction={direction}>\n <PageConstructorProvider theme={theme}>\n <PageConstructor\n custom={{\n navigation: {\n controls: () => (\n <HeaderControls {...settings} mobileView={mobileView} />\n ),\n },\n blocks: {\n page: () => (\n <Page\n {...pageProps}\n {...(headerWithControls ? {} : settings)}\n />\n ),\n },\n }}\n content={{\n blocks: [\n {\n type: 'page',\n },\n ],\n }}\n navigation={\n fullHeader\n ? {\n header: {\n withBorder: true,\n leftItems: leftItems.map(rebaseNavItem),\n rightItems: rightItems.map(rebaseNavItem),\n },\n logo,\n }\n : undefined\n }\n />\n </PageConstructorProvider>\n </ThemeProvider>\n <Runtime theme={theme} />\n </div>\n );\n}\n","import React from 'react';\nimport {renderToString} from 'react-dom/server';\n\nimport {App, DocInnerProps, DocLeadingPageData, DocPageData} from './components/App/App';\n\nexport type {DocInnerProps, DocPageData, DocLeadingPageData};\n\nexport const render = (props: DocInnerProps) => renderToString(<App {...props} />);\n","(function () {\n /**\n * Element.matches() polyfill.\n * @link https://developer.mozilla.org/ru/docs/Web/API/Element/matches\n */\n if (typeof Element !== 'undefined') {\n (function (e) {\n const matches =\n e.matches ||\n e.matchesSelector ||\n e.webkitMatchesSelector ||\n e.mozMatchesSelector ||\n e.msMatchesSelector ||\n e.oMatchesSelector;\n\n if (matches) {\n e.matches = e.matchesSelector = matches;\n } else {\n e.matches = e.matchesSelector = function (selector) {\n const th = this;\n return Array.prototype.some.call(document.querySelectorAll(selector), (el) => {\n return el === th;\n });\n };\n }\n })(Element.prototype);\n }\n\n if (typeof document !== 'undefined') {\n document.addEventListener('click', (event) => {\n const href = event.target.href;\n const locationOrigin = window.location.origin;\n\n if (\n event.target.matches('.dc-doc-layout__center a') &&\n href.startsWith(locationOrigin)\n ) {\n event.preventDefault();\n\n const mainFileName = 'index';\n const extention = '.html';\n\n if (href.endsWith('/')) {\n window.location.href = `${href}${mainFileName}${extention}`;\n return;\n }\n\n // https://../file-name, https://../file-name#fragment\n const splitedHref = href.split('#');\n if (splitedHref.length > 0 && !splitedHref[0].endsWith(extention)) {\n splitedHref[0] += extention;\n window.location.href = splitedHref.join('#');\n return;\n }\n\n window.location.href = href;\n }\n });\n }\n})();\n","export default function () {}\n","module.exports = require(\"crypto\");","module.exports = require(\"stream\");","module.exports = require(\"url\");","module.exports = require(\"util\");","// The module cache\nvar __webpack_module_cache__ = {};\n\n// The require function\nfunction __webpack_require__(moduleId) {\n\t// Check if module is in cache\n\tvar cachedModule = __webpack_module_cache__[moduleId];\n\tif (cachedModule !== undefined) {\n\t\treturn cachedModule.exports;\n\t}\n\t// Create a new module (and put it into the cache)\n\tvar module = __webpack_module_cache__[moduleId] = {\n\t\tid: moduleId,\n\t\tloaded: false,\n\t\texports: {}\n\t};\n\n\t// Execute the module function\n\t__webpack_modules__[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n\t// Flag the module as loaded\n\tmodule.loaded = true;\n\n\t// Return the exports of the module\n\treturn module.exports;\n}\n\n// expose the modules object (__webpack_modules__)\n__webpack_require__.m = __webpack_modules__;\n\n// the startup function\n__webpack_require__.x = () => {\n\t// Load entry module and return exports\n\t// This entry module depends on other loaded chunks and execution need to be delayed\n\tvar __webpack_exports__ = __webpack_require__.O(undefined, [644,121], () => (__webpack_require__(5048)))\n\t__webpack_exports__ = __webpack_require__.O(__webpack_exports__);\n\treturn __webpack_exports__;\n};\n\n","__webpack_require__.amdO = {};","var deferred = [];\n__webpack_require__.O = (result, chunkIds, fn, priority) => {\n\tif(chunkIds) {\n\t\tpriority = priority || 0;\n\t\tfor(var i = deferred.length; i > 0 && deferred[i - 1][2] > priority; i--) deferred[i] = deferred[i - 1];\n\t\tdeferred[i] = [chunkIds, fn, priority];\n\t\treturn;\n\t}\n\tvar notFulfilled = Infinity;\n\tfor (var i = 0; i < deferred.length; i++) {\n\t\tvar [chunkIds, fn, priority] = deferred[i];\n\t\tvar fulfilled = true;\n\t\tfor (var j = 0; j < chunkIds.length; j++) {\n\t\t\tif ((priority & 1 === 0 || notFulfilled >= priority) && Object.keys(__webpack_require__.O).every((key) => (__webpack_require__.O[key](chunkIds[j])))) {\n\t\t\t\tchunkIds.splice(j--, 1);\n\t\t\t} else {\n\t\t\t\tfulfilled = false;\n\t\t\t\tif(priority < notFulfilled) notFulfilled = priority;\n\t\t\t}\n\t\t}\n\t\tif(fulfilled) {\n\t\t\tdeferred.splice(i--, 1)\n\t\t\tvar r = fn();\n\t\t\tif (r !== undefined) result = r;\n\t\t}\n\t}\n\treturn result;\n};","// getDefaultExport function for compatibility with non-harmony modules\n__webpack_require__.n = (module) => {\n\tvar getter = module && module.__esModule ?\n\t\t() => (module['default']) :\n\t\t() => (module);\n\t__webpack_require__.d(getter, { a: getter });\n\treturn getter;\n};","// define getter functions for harmony exports\n__webpack_require__.d = (exports, definition) => {\n\tfor(var key in definition) {\n\t\tif(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\n\t\t\tObject.defineProperty(exports, key, { enumerable: true, get: definition[key] });\n\t\t}\n\t}\n};","__webpack_require__.f = {};\n// This file contains only the entry chunk.\n// The chunk loading function for additional chunks\n__webpack_require__.e = (chunkId) => {\n\treturn Promise.all(Object.keys(__webpack_require__.f).reduce((promises, key) => {\n\t\t__webpack_require__.f[key](chunkId, promises);\n\t\treturn promises;\n\t}, []));\n};","// This function allow to reference async chunks and sibling chunks for the entrypoint\n__webpack_require__.u = (chunkId) => {\n\t// return url for filenames based on template\n\treturn \"\" + {\"121\":\"vendor\",\"644\":\"react\"}[chunkId] + \".js\";\n};","// This function allow to reference async chunks and sibling chunks for the entrypoint\n__webpack_require__.miniCssF = (chunkId) => {\n\t// return url for filenames based on template\n\treturn undefined;\n};","__webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop))","// define __esModule on exports\n__webpack_require__.r = (exports) => {\n\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n\t}\n\tObject.defineProperty(exports, '__esModule', { value: true });\n};","__webpack_require__.nmd = (module) => {\n\tmodule.paths = [];\n\tif (!module.children) module.children = [];\n\treturn module;\n};","__webpack_require__.p = \"\";","// no baseURI\n\n// object to store loaded chunks\n// \"1\" means \"loaded\", otherwise not loaded yet\nvar installedChunks = {\n\t524: 1\n};\n\n__webpack_require__.O.require = (chunkId) => (installedChunks[chunkId]);\n\nvar installChunk = (chunk) => {\n\tvar moreModules = chunk.modules, chunkIds = chunk.ids, runtime = chunk.runtime;\n\tfor(var moduleId in moreModules) {\n\t\tif(__webpack_require__.o(moreModules, moduleId)) {\n\t\t\t__webpack_require__.m[moduleId] = moreModules[moduleId];\n\t\t}\n\t}\n\tif(runtime) runtime(__webpack_require__);\n\tfor(var i = 0; i < chunkIds.length; i++)\n\t\tinstalledChunks[chunkIds[i]] = 1;\n\t__webpack_require__.O();\n};\n\n// require() chunk loading for javascript\n__webpack_require__.f.require = (chunkId, promises) => {\n\t// \"1\" is the signal for \"already loaded\"\n\tif(!installedChunks[chunkId]) {\n\t\tif(true) { // all chunks have JS\n\t\t\tinstallChunk(require(\"./\" + __webpack_require__.u(chunkId)));\n\t\t} else installedChunks[chunkId] = 1;\n\t}\n};\n\n// no external install chunk\n\n// no HMR\n\n// no HMR manifest","var next = __webpack_require__.x;\n__webpack_require__.x = () => {\n\t__webpack_require__.e(644);\n\t__webpack_require__.e(121);\n\treturn next();\n};","","// run startup\nvar __webpack_exports__ = __webpack_require__.x();\n",""],"names":["React","memo","ControlSizes","Controls","ControlsLayout","HeaderControls","mobileView","theme","onChangeTheme","textSize","onChangeTextSize","wideFormat","onChangeWideFormat","showMiniToc","onChangeShowMiniToc","createElement","controlClassName","controlSize","L","isWideView","isMobileView","className","displayName","RTL_LANGS","TextDirection","strToBoolean","str","updateRootClassName","fullHeader","document","body","filter","Boolean","join","getDirection","lang","isRTL","includes","RTL","LTR","block","b","Header","Content","Footer","Layout","props","children","doc","header","content","footer","Children","forEach","child","type","defaultProps","useState","TextSizes","Theme","DEFAULT_USER_SETTINGS","Light","M","fullScreen","useSettings","settings","getSettings","setWideFormat","setFullScreen","setShowMiniToc","setTheme","setTextSize","withSavingSetting","onChangeFullScreen","getSetting","name","sessionStorage","getItem","setSetting","value","setItem","String","settingName","onChange","useCallback","useEffect","MOBILE_VIEW_WIDTH_BREAKPOINT","useMobile","setMobileView","clientWidth","onResizeHandler","window","addEventListener","removeEventListener","PageConstructor","PageConstructorProvider","ThemeProvider","DocLeadingPage","DocPage","MermaidRuntime","LatexRuntime","Runtime","OpenapiSandbox","Fragment","Dark","zoom","showMenu","bindKeys","Page","data","pageProps","leading","Object","assign","isDropdownItem","item","Array","isArray","items","rebaseNavItem","result","map","url","undefined","replace","App","router","navigation","toc","headerHeight","direction","logo","leftItems","rightItems","headerWithControls","some","custom","controls","blocks","page","withBorder","renderToString","render","Element","e","matches","matchesSelector","webkitMatchesSelector","mozMatchesSelector","msMatchesSelector","oMatchesSelector","selector","th","prototype","call","querySelectorAll","el","event","href","target","locationOrigin","location","origin","startsWith","preventDefault","mainFileName","extention","endsWith","splitedHref","split","length"],"sourceRoot":""}
@@ -1,8 +1,8 @@
1
1
  {
2
2
  "js": [
3
- "vendor.js",
4
3
  "react.js",
5
- "app.js"
4
+ "app.js",
5
+ "vendor.js"
6
6
  ],
7
7
  "css": []
8
8
  }