@diplodoc/client 2.1.1 → 2.2.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.
@@ -1,14 +1,22 @@
1
- import { ReactElement } from 'react';
2
- import { DocLeadingPageData, DocPageData, Lang, Router } from '@diplodoc/components';
1
+ import React, { ReactElement } from 'react';
2
+ import { PageContent } from '@gravity-ui/page-constructor';
3
+ import { DocContentPageData, DocLeadingPageData, DocPageData, DocumentType, Lang, Router } from '@diplodoc/components';
3
4
  import '../../interceptors/leading-page-links';
4
5
  import '@diplodoc/transform/dist/js/yfm';
5
6
  import './App.scss';
6
7
  export interface AppProps {
7
8
  lang: Lang;
8
9
  router: Router;
10
+ type: DocumentType;
9
11
  }
10
- export type DocInnerProps<Data = DocLeadingPageData | DocPageData> = {
12
+ export interface PageContentData extends DocContentPageData {
13
+ data: PageContent & {
14
+ fullScreen?: boolean;
15
+ };
16
+ }
17
+ export type DocInnerProps<Data = DocLeadingPageData | DocPageData | PageContentData> = {
11
18
  data: Data;
12
19
  } & AppProps;
13
20
  export type { DocLeadingPageData, DocPageData };
21
+ export declare function Page(props: DocInnerProps): React.JSX.Element;
14
22
  export declare function App(props: DocInnerProps): ReactElement;
@@ -0,0 +1,11 @@
1
+ import React from 'react';
2
+ import { Theme } from '@gravity-ui/page-constructor';
3
+ import { PageContentData } from '../App/App';
4
+ export type WithChildren<T = {}> = T & {
5
+ children?: React.ReactNode;
6
+ };
7
+ export declare const ConstructorRow: ({ children }: WithChildren<{}>) => React.JSX.Element | null;
8
+ export declare function ConstructorPage({ data: { data }, theme }: {
9
+ data: PageContentData;
10
+ theme: Theme;
11
+ }): React.JSX.Element;
@@ -3,3 +3,6 @@ export declare enum TextDirection {
3
3
  RTL = "rtl",
4
4
  LTR = "ltr"
5
5
  }
6
+ export declare const LINK_KEYS_LEADING_CONFIG: string[];
7
+ export declare const LINK_KEYS_PAGE_CONSTRUCTOR_CONFIG: string[];
8
+ export declare const LINK_KEYS: string[];
@@ -1,3 +1,5 @@
1
1
  import { DocInnerProps, DocLeadingPageData, DocPageData } from './components/App/App';
2
+ import { LINK_KEYS } from './constants';
2
3
  export type { DocInnerProps, DocPageData, DocLeadingPageData };
4
+ export { LINK_KEYS };
3
5
  export declare const render: (props: DocInnerProps) => string;
@@ -1,7 +1,7 @@
1
1
  /******/ (() => { // webpackBootstrap
2
2
  /******/ var __webpack_modules__ = ({
3
3
 
4
- /***/ 4873:
4
+ /***/ 5579:
5
5
  /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
6
6
 
7
7
  "use strict";
@@ -10,6 +10,7 @@ __webpack_require__.r(__webpack_exports__);
10
10
 
11
11
  // EXPORTS
12
12
  __webpack_require__.d(__webpack_exports__, {
13
+ LINK_KEYS: () => (/* reexport */ LINK_KEYS),
13
14
  render: () => (/* binding */ render)
14
15
  });
15
16
 
@@ -19,20 +20,18 @@ var react = __webpack_require__(6540);
19
20
  var server_node = __webpack_require__(4362);
20
21
  // EXTERNAL MODULE: ./node_modules/@gravity-ui/page-constructor/build/esm/containers/PageConstructor/Provider.js
21
22
  var Provider = __webpack_require__(7658);
22
- // EXTERNAL MODULE: ./node_modules/@gravity-ui/page-constructor/build/esm/containers/PageConstructor/PageConstructor.js + 354 modules
23
- var PageConstructor = __webpack_require__(3320);
23
+ // EXTERNAL MODULE: ./node_modules/@gravity-ui/page-constructor/build/esm/containers/PageConstructor/PageConstructor.js + 216 modules
24
+ var PageConstructor = __webpack_require__(3233);
24
25
  // EXTERNAL MODULE: ./node_modules/@gravity-ui/uikit/build/esm/components/theme/ThemeProvider.js + 6 modules
25
- var ThemeProvider = __webpack_require__(4647);
26
+ var ThemeProvider = __webpack_require__(7028);
26
27
  // EXTERNAL MODULE: ./node_modules/@diplodoc/components/build/esm/models/index.js
27
28
  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 + 38 modules
31
- var DocPage = __webpack_require__(9031);
29
+ // EXTERNAL MODULE: ./node_modules/@diplodoc/components/build/esm/utils/index.js + 61 modules
30
+ var utils = __webpack_require__(4957);
32
31
  // EXTERNAL MODULE: ./node_modules/@diplodoc/components/build/esm/components/Controls/ControlsLayout.js
33
32
  var ControlsLayout = __webpack_require__(6141);
34
- // EXTERNAL MODULE: ./node_modules/@diplodoc/components/build/esm/components/Controls/Controls.js + 85 modules
35
- var Controls = __webpack_require__(7825);
33
+ // EXTERNAL MODULE: ./node_modules/@diplodoc/components/build/esm/components/Controls/Controls.js + 64 modules
34
+ var Controls = __webpack_require__(7871);
36
35
  ;// CONCATENATED MODULE: ./src/components/HeaderControls/index.tsx
37
36
 
38
37
 
@@ -75,6 +74,9 @@ let TextDirection = /*#__PURE__*/function (TextDirection) {
75
74
  TextDirection["LTR"] = "ltr";
76
75
  return TextDirection;
77
76
  }({});
77
+ const LINK_KEYS_LEADING_CONFIG = ['href'];
78
+ const LINK_KEYS_PAGE_CONSTRUCTOR_CONFIG = ['src', 'url', 'href', 'icon', 'image', 'desktop', 'mobile', 'tablet', 'previewImg', 'image', 'avatar', 'logo', 'light', 'dark'];
79
+ const LINK_KEYS = [...new Set([...LINK_KEYS_LEADING_CONFIG, ...LINK_KEYS_PAGE_CONSTRUCTOR_CONFIG])];
78
80
  ;// CONCATENATED MODULE: ./src/utils.ts
79
81
 
80
82
  function strToBoolean(str) {
@@ -240,8 +242,48 @@ var yfm_ = __webpack_require__(527);
240
242
  var mermaid_extension_react = __webpack_require__(5905);
241
243
  // EXTERNAL MODULE: ./node_modules/@diplodoc/latex-extension/react/index.js
242
244
  var latex_extension_react = __webpack_require__(358);
243
- // EXTERNAL MODULE: ./node_modules/@diplodoc/openapi-extension/runtime/index.min.js + 56 modules
244
- var index_min = __webpack_require__(8682);
245
+ // EXTERNAL MODULE: ./node_modules/@diplodoc/openapi-extension/runtime/index.min.js + 26 modules
246
+ var index_min = __webpack_require__(8432);
247
+ // EXTERNAL MODULE: ./node_modules/@gravity-ui/page-constructor/build/esm/grid/Row/Row.js
248
+ var Row = __webpack_require__(8058);
249
+ // EXTERNAL MODULE: ./node_modules/@gravity-ui/page-constructor/build/esm/grid/Col/Col.js + 1 modules
250
+ var Col = __webpack_require__(2445);
251
+ // EXTERNAL MODULE: ./node_modules/@gravity-ui/page-constructor/build/esm/utils/theme.js
252
+ var utils_theme = __webpack_require__(3259);
253
+ // EXTERNAL MODULE: ./node_modules/@gravity-ui/page-constructor/build/esm/components/BackgroundMedia/BackgroundMedia.js + 1 modules
254
+ var BackgroundMedia = __webpack_require__(1998);
255
+ // EXTERNAL MODULE: ./node_modules/@gravity-ui/page-constructor/build/esm/grid/Grid/Grid.js + 2 modules
256
+ var Grid = __webpack_require__(2945);
257
+ // EXTERNAL MODULE: ./node_modules/@gravity-ui/page-constructor/build/esm/containers/PageConstructor/components/ConstructorBlocks/ConstructorBlocks.js + 10 modules
258
+ var ConstructorBlocks = __webpack_require__(4012);
259
+ ;// CONCATENATED MODULE: ./src/components/ConstructorPage/index.tsx
260
+
261
+
262
+
263
+ const bPC = (0,lib/* default */.A)('pc-page-constructor');
264
+ const bPCRow = (0,lib/* default */.A)('pc-constructor-row');
265
+ const ConstructorRow = ({
266
+ children
267
+ }) => children ? /*#__PURE__*/react.createElement(Row/* Row */.f, {
268
+ className: bPCRow()
269
+ }, /*#__PURE__*/react.createElement(Col/* Col */.f, null, children)) : null;
270
+ function ConstructorPage({
271
+ data: {
272
+ data
273
+ },
274
+ theme
275
+ }) {
276
+ const themedBackground = (0,utils_theme/* getThemedValue */.d)(data?.background, theme);
277
+ return /*#__PURE__*/react.createElement("div", {
278
+ className: bPC('')
279
+ }, /*#__PURE__*/react.createElement("div", {
280
+ className: bPC('wrapper')
281
+ }, data?.blocks && themedBackground && /*#__PURE__*/react.createElement(BackgroundMedia/* default */.A, Object.assign({}, themedBackground, {
282
+ className: bPC('background')
283
+ })), /*#__PURE__*/react.createElement(Grid/* Grid */.x, null, /*#__PURE__*/react.createElement(ConstructorRow, null, /*#__PURE__*/react.createElement(ConstructorBlocks/* ConstructorBlocks */.F, {
284
+ items: data?.blocks
285
+ })))));
286
+ }
245
287
  ;// CONCATENATED MODULE: ./src/components/App/App.tsx
246
288
 
247
289
 
@@ -258,6 +300,7 @@ var index_min = __webpack_require__(8682);
258
300
 
259
301
 
260
302
 
303
+
261
304
  function Runtime(props) {
262
305
  const {
263
306
  theme
@@ -275,7 +318,7 @@ function Page(props) {
275
318
  data,
276
319
  ...pageProps
277
320
  } = props;
278
- const Page = data.leading ? DocLeadingPage/* DocLeadingPage */.sc : DocPage/* default */.A;
321
+ const Page = (0,utils/* getPageByType */.$T)(props?.type);
279
322
  return /*#__PURE__*/react.createElement(Layout, null, /*#__PURE__*/react.createElement(Layout.Content, null, /*#__PURE__*/react.createElement(Page, Object.assign({}, data, pageProps))));
280
323
  }
281
324
  function isDropdownItem(item) {
@@ -314,6 +357,7 @@ function App(props) {
314
357
  } = settings;
315
358
  const fullHeader = !fullScreen && Boolean(navigation);
316
359
  const headerHeight = fullHeader ? 64 : 0;
360
+ const type = (0,utils/* getPageType */.M5)(data);
317
361
  const pageProps = {
318
362
  headerHeight,
319
363
  data,
@@ -324,9 +368,11 @@ function App(props) {
324
368
  theme,
325
369
  textSize,
326
370
  fullScreen,
327
- onChangeFullScreen
371
+ onChangeFullScreen,
372
+ type
328
373
  };
329
374
  const direction = getDirection(lang);
375
+ const fullScreenPC = type === models/* DocumentType */.KG.PageConstructor && 'data' in data && 'fullScreen' in data.data && data.data.fullScreen;
330
376
  (0,react.useEffect)(() => {
331
377
  updateRootClassName({
332
378
  theme,
@@ -341,7 +387,23 @@ function App(props) {
341
387
  }, /*#__PURE__*/react.createElement(ThemeProvider/* ThemeProvider */.N, {
342
388
  theme: theme,
343
389
  direction: direction
344
- }, /*#__PURE__*/react.createElement(Page, Object.assign({}, pageProps, settings)), /*#__PURE__*/react.createElement(Runtime, {
390
+ }, /*#__PURE__*/react.createElement(Page, Object.assign({}, pageProps, settings), type === models/* DocumentType */.KG.PageConstructor && /*#__PURE__*/react.createElement(Provider/* PageConstructorProvider */.Z, {
391
+ theme: theme
392
+ }, /*#__PURE__*/react.createElement(PageConstructor/* PageConstructor */.i, {
393
+ custom: {
394
+ blocks: {
395
+ page: () => /*#__PURE__*/react.createElement(ConstructorPage, {
396
+ data: data,
397
+ theme: theme
398
+ })
399
+ }
400
+ },
401
+ content: fullScreenPC ? data.data : {
402
+ blocks: [{
403
+ type: 'page'
404
+ }]
405
+ }
406
+ }))), /*#__PURE__*/react.createElement(Runtime, {
345
407
  theme: theme
346
408
  })));
347
409
  }
@@ -369,10 +431,13 @@ function App(props) {
369
431
  }))
370
432
  },
371
433
  blocks: {
372
- page: () => /*#__PURE__*/react.createElement(Page, Object.assign({}, pageProps, headerWithControls ? {} : settings))
434
+ page: () => /*#__PURE__*/react.createElement(Page, Object.assign({}, pageProps, headerWithControls ? {} : settings), type === models/* DocumentType */.KG.PageConstructor && 'data' in data && /*#__PURE__*/react.createElement(ConstructorPage, {
435
+ data: data,
436
+ theme: theme
437
+ }))
373
438
  }
374
439
  },
375
- content: {
440
+ content: fullScreenPC ? data.data : {
376
441
  blocks: [{
377
442
  type: 'page'
378
443
  }]
@@ -393,6 +458,8 @@ function App(props) {
393
458
 
394
459
 
395
460
 
461
+
462
+
396
463
  const render = props => (0,server_node/* renderToString */.F0)( /*#__PURE__*/react.createElement(App, props));
397
464
 
398
465
  /***/ }),
@@ -535,7 +602,7 @@ module.exports = require("util");
535
602
  /******/ __webpack_require__.x = () => {
536
603
  /******/ // Load entry module and return exports
537
604
  /******/ // This entry module depends on other loaded chunks and execution need to be delayed
538
- /******/ var __webpack_exports__ = __webpack_require__.O(undefined, [644,121], () => (__webpack_require__(4873)))
605
+ /******/ var __webpack_exports__ = __webpack_require__.O(undefined, [644,121], () => (__webpack_require__(5579)))
539
606
  /******/ __webpack_exports__ = __webpack_require__.O(__webpack_exports__);
540
607
  /******/ return __webpack_exports__;
541
608
  /******/ };
@@ -1 +1 @@
1
- {"version":3,"file":"app.js","mappings":"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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/./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 commonjs2 \"@diplodoc/transform/dist/js/yfm\"","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","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(\"@diplodoc/transform/dist/js/yfm\");","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__(4873)))\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
+ {"version":3,"file":"app.js","mappings":"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","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/./src/components/ConstructorPage/index.tsx","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 commonjs2 \"@diplodoc/transform/dist/js/yfm\"","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\nexport const LINK_KEYS_LEADING_CONFIG = ['href'];\nexport const LINK_KEYS_PAGE_CONSTRUCTOR_CONFIG = [\n 'src',\n 'url',\n 'href',\n 'icon',\n 'image',\n 'desktop',\n 'mobile',\n 'tablet',\n 'previewImg',\n 'image',\n 'avatar',\n 'logo',\n 'light',\n 'dark',\n];\n\nexport const LINK_KEYS = [\n ...new Set([...LINK_KEYS_LEADING_CONFIG, ...LINK_KEYS_PAGE_CONSTRUCTOR_CONFIG]),\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","import React from 'react';\n\nimport block from 'bem-cn-lite';\nimport {\n BackgroundMedia,\n Col,\n ConstructorBlocks,\n Grid,\n Row,\n Theme,\n getThemedValue,\n} from '@gravity-ui/page-constructor';\nimport {PageContentData} from '../App/App';\n\nexport type WithChildren<T = {}> = T & {children?: React.ReactNode};\n\nconst bPC = block('pc-page-constructor');\nconst bPCRow = block('pc-constructor-row');\n\nexport const ConstructorRow = ({children}: WithChildren<{}>) =>\n children ? (\n <Row className={bPCRow()}>\n <Col>{children}</Col>\n </Row>\n ) : null;\n\nexport function ConstructorPage({data: {data}, theme}: {data: PageContentData; theme: Theme}) {\n const themedBackground = getThemedValue(data?.background, theme);\n\n return (\n <div className={bPC('')}>\n <div className={bPC('wrapper')}>\n {data?.blocks && themedBackground && (\n <BackgroundMedia {...themedBackground} className={bPC('background')} />\n )}\n <Grid>\n <ConstructorRow>\n <ConstructorBlocks items={data?.blocks} />\n </ConstructorRow>\n </Grid>\n </div>\n </div>\n );\n}\n","import React, {ReactElement, useEffect} from 'react';\n\nimport {\n NavigationData,\n NavigationDropdownItem,\n NavigationItemModel,\n PageConstructor,\n PageConstructorProvider,\n PageContent,\n} from '@gravity-ui/page-constructor';\nimport {ThemeProvider} from '@gravity-ui/uikit';\nimport {\n DocContentPageData,\n DocLeadingPageData,\n DocPageData,\n DocumentType,\n Lang,\n Router,\n Theme,\n getPageByType,\n getPageType,\n} from '@diplodoc/components';\n\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';\nimport {ConstructorPage} from '../ConstructorPage';\n\nexport interface AppProps {\n lang: Lang;\n router: Router;\n type: DocumentType;\n}\n\nexport interface PageContentData extends DocContentPageData {\n data: PageContent & {fullScreen?: boolean};\n}\n\nexport type DocInnerProps<Data = DocLeadingPageData | DocPageData | PageContentData> = {\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\nexport function Page(props: DocInnerProps) {\n const {data, ...pageProps} = props;\n const Page = getPageByType(props?.type);\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 type = getPageType(data);\n\n const pageProps = {\n headerHeight,\n data,\n router,\n lang,\n wideFormat,\n showMiniToc,\n theme,\n textSize,\n fullScreen,\n onChangeFullScreen,\n type,\n };\n const direction = getDirection(lang);\n const fullScreenPC =\n type === DocumentType.PageConstructor &&\n 'data' in data &&\n 'fullScreen' in data.data &&\n data.data.fullScreen;\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 {type === DocumentType.PageConstructor && (\n <PageConstructorProvider theme={theme}>\n <PageConstructor\n custom={{\n blocks: {\n page: () => (\n <ConstructorPage\n data={data as PageContentData}\n theme={theme}\n />\n ),\n },\n }}\n content={\n fullScreenPC\n ? (data.data as PageContent)\n : {\n blocks: [\n {\n type: 'page',\n },\n ],\n }\n }\n />\n </PageConstructorProvider>\n )}\n </Page>\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 {...pageProps} {...(headerWithControls ? {} : settings)}>\n {type === DocumentType.PageConstructor &&\n 'data' in data && (\n <ConstructorPage\n data={data as PageContentData}\n theme={theme}\n />\n )}\n </Page>\n ),\n },\n }}\n content={\n fullScreenPC\n ? (data.data as PageContent)\n : {\n blocks: [\n {\n type: 'page',\n },\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';\nimport {LINK_KEYS} from './constants';\n\nexport type {DocInnerProps, DocPageData, DocLeadingPageData};\nexport {LINK_KEYS};\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(\"@diplodoc/transform/dist/js/yfm\");","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__(5579)))\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","LINK_KEYS_LEADING_CONFIG","LINK_KEYS_PAGE_CONSTRUCTOR_CONFIG","LINK_KEYS","Set","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","BackgroundMedia","Col","ConstructorBlocks","Grid","Row","getThemedValue","bPC","bPCRow","ConstructorRow","ConstructorPage","data","themedBackground","background","blocks","Object","assign","items","PageConstructor","PageConstructorProvider","ThemeProvider","DocumentType","getPageByType","getPageType","MermaidRuntime","LatexRuntime","Runtime","OpenapiSandbox","Fragment","Dark","zoom","showMenu","bindKeys","Page","pageProps","isDropdownItem","item","Array","isArray","rebaseNavItem","result","map","url","undefined","replace","App","router","navigation","toc","headerHeight","direction","fullScreenPC","custom","page","logo","leftItems","rightItems","headerWithControls","some","controls","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":""}