@diplodoc/client 2.6.2 → 2.7.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +16 -0
- package/build/client/app.css +1 -1
- package/build/client/app.css.map +1 -1
- package/build/client/app.js +1 -1
- package/build/client/app.js.map +1 -1
- package/build/client/app.rtl.css +1 -1
- package/build/client/vendor.css +37 -14
- package/build/client/vendor.css.map +1 -1
- package/build/client/vendor.js +1 -1
- package/build/client/vendor.js.LICENSE.txt +7 -0
- package/build/client/vendor.js.map +1 -1
- package/build/client/vendor.rtl.css +37 -14
- package/build/components/App/App.d.ts +7 -0
- package/build/index.d.ts +2 -2
- package/build/index.server.d.ts +2 -2
- package/build/server/app.js +29 -14
- package/build/server/app.js.map +1 -1
- package/build/server/vendor.js +5060 -1608
- package/build/server/vendor.js.map +1 -1
- package/package.json +2 -2
package/build/server/app.js
CHANGED
|
@@ -23,20 +23,22 @@ var react = __webpack_require__(96540);
|
|
|
23
23
|
var server_node = __webpack_require__(94362);
|
|
24
24
|
// EXTERNAL MODULE: ./node_modules/@gravity-ui/page-constructor/build/esm/containers/PageConstructor/Provider.js
|
|
25
25
|
var Provider = __webpack_require__(47658);
|
|
26
|
-
// EXTERNAL MODULE: ./node_modules/@gravity-ui/page-constructor/build/esm/containers/PageConstructor/PageConstructor.js +
|
|
27
|
-
var PageConstructor = __webpack_require__(
|
|
28
|
-
// EXTERNAL MODULE: ./node_modules/@gravity-ui/uikit/build/esm/components/theme/ThemeProvider.js +
|
|
29
|
-
var ThemeProvider = __webpack_require__(
|
|
26
|
+
// EXTERNAL MODULE: ./node_modules/@gravity-ui/page-constructor/build/esm/containers/PageConstructor/PageConstructor.js + 212 modules
|
|
27
|
+
var PageConstructor = __webpack_require__(26383);
|
|
28
|
+
// EXTERNAL MODULE: ./node_modules/@gravity-ui/uikit/build/esm/components/theme/ThemeProvider.js + 7 modules
|
|
29
|
+
var ThemeProvider = __webpack_require__(45593);
|
|
30
30
|
// EXTERNAL MODULE: ./node_modules/@diplodoc/components/build/esm/models/index.js
|
|
31
31
|
var models = __webpack_require__(78184);
|
|
32
32
|
// EXTERNAL MODULE: ./node_modules/@diplodoc/components/build/esm/utils/index.js + 56 modules
|
|
33
33
|
var utils = __webpack_require__(80676);
|
|
34
|
-
// EXTERNAL MODULE: ./node_modules/@diplodoc/components/build/esm/config/index.js +
|
|
35
|
-
var config = __webpack_require__(
|
|
34
|
+
// EXTERNAL MODULE: ./node_modules/@diplodoc/components/build/esm/config/index.js + 9 modules
|
|
35
|
+
var config = __webpack_require__(65601);
|
|
36
|
+
// EXTERNAL MODULE: ./node_modules/@diplodoc/components/build/esm/components/ConsentPopup/ConsentPopup.js + 43 modules
|
|
37
|
+
var ConsentPopup = __webpack_require__(80002);
|
|
36
38
|
// EXTERNAL MODULE: ./node_modules/@diplodoc/components/build/esm/components/Controls/ControlsLayout.js
|
|
37
39
|
var ControlsLayout = __webpack_require__(26141);
|
|
38
|
-
// EXTERNAL MODULE: ./node_modules/@diplodoc/components/build/esm/components/Controls/Controls.js +
|
|
39
|
-
var Controls = __webpack_require__(
|
|
40
|
+
// EXTERNAL MODULE: ./node_modules/@diplodoc/components/build/esm/components/Controls/Controls.js + 24 modules
|
|
41
|
+
var Controls = __webpack_require__(94035);
|
|
40
42
|
;// CONCATENATED MODULE: ./src/components/HeaderControls/index.tsx
|
|
41
43
|
|
|
42
44
|
|
|
@@ -102,7 +104,11 @@ function updateRootClassName({
|
|
|
102
104
|
wideFormat = false,
|
|
103
105
|
fullHeader = false
|
|
104
106
|
}) {
|
|
105
|
-
document.body.className = ['g-root', mobileView ? 'mobile' : 'desktop', wideFormat && 'dc-root_wide-format', fullHeader && 'dc-root_full-header'
|
|
107
|
+
document.body.className = ['g-root', mobileView ? 'mobile' : 'desktop', wideFormat && 'dc-root_wide-format', fullHeader && 'dc-root_full-header'].filter(Boolean).join(' ');
|
|
108
|
+
document.querySelectorAll('.g-root').forEach(el => {
|
|
109
|
+
el.classList.toggle('g-root_theme_light', theme === 'light');
|
|
110
|
+
el.classList.toggle('g-root_theme_dark', theme === 'dark');
|
|
111
|
+
});
|
|
106
112
|
}
|
|
107
113
|
function getDirection(lang) {
|
|
108
114
|
const isRTL = RTL_LANGS.includes(lang);
|
|
@@ -253,8 +259,8 @@ var yfm_ = __webpack_require__(40527);
|
|
|
253
259
|
var mermaid_extension_react = __webpack_require__(85905);
|
|
254
260
|
// EXTERNAL MODULE: ./node_modules/@diplodoc/latex-extension/react/index.js
|
|
255
261
|
var latex_extension_react = __webpack_require__(90358);
|
|
256
|
-
// EXTERNAL MODULE: ./node_modules/@diplodoc/openapi-extension/runtime/index.min.js +
|
|
257
|
-
var index_min = __webpack_require__(
|
|
262
|
+
// EXTERNAL MODULE: ./node_modules/@diplodoc/openapi-extension/runtime/index.min.js + 13 modules
|
|
263
|
+
var index_min = __webpack_require__(11987);
|
|
258
264
|
// EXTERNAL MODULE: ./node_modules/@gravity-ui/page-constructor/build/esm/grid/Row/Row.js
|
|
259
265
|
var Row = __webpack_require__(98058);
|
|
260
266
|
// EXTERNAL MODULE: ./node_modules/@gravity-ui/page-constructor/build/esm/grid/Col/Col.js + 1 modules
|
|
@@ -337,7 +343,8 @@ function App(props) {
|
|
|
337
343
|
data,
|
|
338
344
|
router,
|
|
339
345
|
lang,
|
|
340
|
-
langs
|
|
346
|
+
langs,
|
|
347
|
+
analytics
|
|
341
348
|
} = props;
|
|
342
349
|
const {
|
|
343
350
|
navigation
|
|
@@ -414,7 +421,11 @@ function App(props) {
|
|
|
414
421
|
resetPaddings: true
|
|
415
422
|
}]
|
|
416
423
|
}
|
|
417
|
-
}))), /*#__PURE__*/react.createElement(
|
|
424
|
+
}))), analytics && /*#__PURE__*/react.createElement(ConsentPopup/* default */.A, {
|
|
425
|
+
router: router,
|
|
426
|
+
gtmId: analytics?.gtm?.id || '',
|
|
427
|
+
consentMode: analytics?.gtm?.mode
|
|
428
|
+
}), /*#__PURE__*/react.createElement(Runtime, {
|
|
418
429
|
theme: theme
|
|
419
430
|
})));
|
|
420
431
|
}
|
|
@@ -463,7 +474,11 @@ function App(props) {
|
|
|
463
474
|
},
|
|
464
475
|
logo
|
|
465
476
|
} : undefined
|
|
466
|
-
}))
|
|
477
|
+
})), analytics && /*#__PURE__*/react.createElement(ConsentPopup/* default */.A, {
|
|
478
|
+
router: router,
|
|
479
|
+
gtmId: analytics?.gtm?.id || '',
|
|
480
|
+
consentMode: analytics?.gtm?.mode
|
|
481
|
+
})), /*#__PURE__*/react.createElement(Runtime, {
|
|
467
482
|
theme: theme
|
|
468
483
|
}));
|
|
469
484
|
}
|
package/build/server/app.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
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/preprocess.ts","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 \"buffer\"","webpack://@diplodoc/client/external node-commonjs \"crypto\"","webpack://@diplodoc/client/external node-commonjs \"fs\"","webpack://@diplodoc/client/external node-commonjs \"os\"","webpack://@diplodoc/client/external node-commonjs \"path\"","webpack://@diplodoc/client/external node-commonjs \"process\"","webpack://@diplodoc/client/external node-commonjs \"punycode\"","webpack://@diplodoc/client/external node-commonjs \"stream\"","webpack://@diplodoc/client/external node-commonjs \"tty\"","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, Lang, 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 lang: Lang;\n langs: Lang[];\n onChangeLang?: (lang: Lang) => void;\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 lang,\n langs,\n onChangeLang,\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 lang={lang}\n langs={langs}\n onChangeLang={onChangeLang}\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('docs')}>\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, useCallback, useEffect} from 'react';\n\nimport {\n NavigationData,\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 configure,\n getLangPath,\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 langs: 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\ntype TocData = DocPageData['toc'] & {\n navigation?: NavigationData;\n};\n\nexport function App(props: DocInnerProps): ReactElement {\n const {data, router, lang, langs} = props;\n const {navigation} = data.toc as TocData;\n\n configure({\n lang,\n });\n\n const settings = useSettings();\n const mobileView = useMobile();\n\n const onChangeLang = useCallback(\n (lang: Lang) => {\n const path = getLangPath(router, lang);\n window.location.replace(path);\n },\n [router],\n );\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 langs,\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 const appClassName = `App ${fullScreenPC ? 'fullscreen-mode' : 'document-mode'}`;\n\n useEffect(() => {\n updateRootClassName({\n theme,\n mobileView,\n wideFormat,\n fullHeader,\n });\n }, [theme, mobileView, wideFormat, fullHeader]);\n\n const pageContext = {\n ...settings,\n onChangeLang,\n };\n\n if (!navigation) {\n return (\n <div className={appClassName}>\n <ThemeProvider theme={theme} direction={direction}>\n <Page {...pageProps} {...pageContext}>\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 resetPaddings: true,\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={appClassName}>\n <ThemeProvider theme={theme} direction={direction}>\n <PageConstructorProvider theme={theme}>\n <PageConstructor\n custom={{\n navigation: {\n controls: () => (\n <HeaderControls\n {...pageContext}\n {...pageProps}\n onChangeLang={onChangeLang}\n mobileView={mobileView}\n />\n ),\n },\n blocks: {\n page: () => (\n <Page\n {...pageProps}\n {...(headerWithControls ? {} : pageContext)}\n >\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 resetPaddings: true,\n },\n ],\n }\n }\n navigation={\n fullHeader\n ? {\n header: {\n withBorder: true,\n leftItems: leftItems,\n rightItems: rightItems,\n },\n logo,\n }\n : undefined\n }\n />\n </PageConstructorProvider>\n </ThemeProvider>\n <Runtime theme={theme} />\n </div>\n );\n}\n","import {\n Block,\n ConstructorBlock,\n NavigationData as ConstructorNavigaitonData,\n PageContent as ConstructorPageContentBase,\n} from '@gravity-ui/page-constructor';\nimport {\n BlocksConfig,\n Parser,\n TransformerRaw,\n config,\n contentTransformer,\n} from '@gravity-ui/page-constructor/server';\n\nexport interface MetaData {\n title: string;\n description?: string;\n}\n\nexport interface PageContentBase {\n meta?: MetaData;\n}\n\nexport enum Lang {\n RU = 'ru',\n EN = 'en',\n}\n\nexport type PageContent<T> = T & PageContentBase;\nexport type ConstructorPageContent = PageContent<ConstructorPageContentBase>;\nexport type NavigationData = PageContent<ConstructorNavigaitonData>;\nexport type ConfigData = ConstructorPageContent | NavigationData;\n\nexport interface PreloadParams {\n lang: Lang;\n pageName: string;\n pageReferer?: string;\n}\n\ninterface BlockConfig {\n transformer: TransformerRaw;\n fields?: string[];\n parser?: Parser;\n}\n\nexport function isPageConfig(config: ConfigData): config is ConstructorPageContent {\n return 'blocks' in config;\n}\n\nexport function preprocess(\n content: ConfigData,\n params: PreloadParams,\n customYfmTransformer: TransformerRaw,\n) {\n const {lang} = params;\n\n if (isPageConfig(content) && content.blocks) {\n return {\n ...content,\n blocks: transformBlocks(content.blocks, lang, customYfmTransformer),\n };\n }\n\n return content;\n}\n\nfunction replaceTransformer(config: BlocksConfig, newTransformer: TransformerRaw): BlocksConfig {\n return Object.keys(config).reduce((newConfig, subBlockType) => {\n const subBlock = config[subBlockType];\n\n if (Array.isArray(subBlock)) {\n newConfig[subBlockType] = subBlock.map((block: {transformer: {name: string}}) => {\n return block.transformer.name === 'yfmTransformer'\n ? {...block, transformer: newTransformer}\n : block;\n }) as BlockConfig[];\n } else {\n newConfig[subBlockType] =\n subBlock.transformer.name === 'yfmTransformer'\n ? {...subBlock, transformer: newTransformer}\n : subBlock;\n }\n\n return newConfig;\n }, {} as BlocksConfig);\n}\n\nfunction transformBlocks(\n blocks: ConstructorBlock[],\n lang: Lang,\n customYfmTransformer: TransformerRaw,\n) {\n const customConfig = replaceTransformer(config, customYfmTransformer);\n\n return contentTransformer({\n content: {blocks},\n options: {\n lang,\n customConfig,\n },\n }).blocks as Block[];\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, LINK_KEYS_LEADING_CONFIG, LINK_KEYS_PAGE_CONSTRUCTOR_CONFIG} from './constants';\nimport {preprocess} from './preprocess';\n\nexport type {DocInnerProps, DocPageData, DocLeadingPageData};\nexport {LINK_KEYS, LINK_KEYS_LEADING_CONFIG, LINK_KEYS_PAGE_CONSTRUCTOR_CONFIG, preprocess};\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(\"buffer\");","module.exports = require(\"crypto\");","module.exports = require(\"fs\");","module.exports = require(\"os\");","module.exports = require(\"path\");","module.exports = require(\"process\");","module.exports = require(\"punycode\");","module.exports = require(\"stream\");","module.exports = require(\"tty\");","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__(94184)))\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","lang","langs","onChangeLang","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","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","configure","getLangPath","getPageByType","getPageType","MermaidRuntime","LatexRuntime","Runtime","OpenapiSandbox","Fragment","Dark","zoom","showMenu","bindKeys","Page","pageProps","App","router","navigation","toc","path","location","replace","headerHeight","direction","fullScreenPC","appClassName","pageContext","custom","page","resetPaddings","logo","leftItems","rightItems","headerWithControls","some","item","controls","withBorder","undefined","config","contentTransformer","Lang","isPageConfig","preprocess","params","customYfmTransformer","transformBlocks","replaceTransformer","newTransformer","keys","reduce","newConfig","subBlockType","subBlock","Array","isArray","map","transformer","customConfig","options","renderToString","render","Element","e","matches","matchesSelector","webkitMatchesSelector","mozMatchesSelector","msMatchesSelector","oMatchesSelector","selector","th","prototype","call","querySelectorAll","el","event","href","target","locationOrigin","origin","startsWith","preventDefault","mainFileName","extention","endsWith","splitedHref","split","length"],"sourceRoot":""}
|
|
1
|
+
{"version":3,"file":"app.js","mappings":"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CAAY,CAAC;;;;;;;;ACA5B;;;;;;;;ACAA;;;;;;;;ACAA;;;;;;;;ACAA;;;;;;;;ACAA;;;;;;;;ACAA;;;;;;;;ACAA;;;;;;;;ACAA;;;;;;;;ACAA;;;;;;;;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/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/preprocess.ts","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 \"buffer\"","webpack://@diplodoc/client/external node-commonjs \"crypto\"","webpack://@diplodoc/client/external node-commonjs \"fs\"","webpack://@diplodoc/client/external node-commonjs \"os\"","webpack://@diplodoc/client/external node-commonjs \"path\"","webpack://@diplodoc/client/external node-commonjs \"process\"","webpack://@diplodoc/client/external node-commonjs \"punycode\"","webpack://@diplodoc/client/external node-commonjs \"stream\"","webpack://@diplodoc/client/external node-commonjs \"tty\"","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, Lang, 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 lang: Lang;\n langs: Lang[];\n onChangeLang?: (lang: Lang) => void;\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 lang,\n langs,\n onChangeLang,\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 lang={lang}\n langs={langs}\n onChangeLang={onChangeLang}\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 ]\n .filter(Boolean)\n .join(' ');\n\n document.querySelectorAll('.g-root').forEach((el) => {\n el.classList.toggle('g-root_theme_light', theme === 'light');\n el.classList.toggle('g-root_theme_dark', theme === 'dark');\n });\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('docs')}>\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, useCallback, useEffect} from 'react';\n\nimport {\n NavigationData,\n PageConstructor,\n PageConstructorProvider,\n PageContent,\n} from '@gravity-ui/page-constructor';\nimport {ThemeProvider} from '@gravity-ui/uikit';\nimport {\n ConsentPopup,\n DocContentPageData,\n DocLeadingPageData,\n DocPageData,\n DocumentType,\n Lang,\n Router,\n Theme,\n configure,\n getLangPath,\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 type DocAnalytics = {\n gtm?: {\n id?: string;\n mode?: 'base' | 'notification';\n };\n};\n\nexport interface AppProps {\n lang: Lang;\n langs: Lang[];\n router: Router;\n type: DocumentType;\n analytics?: DocAnalytics;\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\ntype TocData = DocPageData['toc'] & {\n navigation?: NavigationData;\n};\n\nexport function App(props: DocInnerProps): ReactElement {\n const {data, router, lang, langs, analytics} = props;\n const {navigation} = data.toc as TocData;\n\n configure({\n lang,\n });\n\n const settings = useSettings();\n const mobileView = useMobile();\n\n const onChangeLang = useCallback(\n (lang: Lang) => {\n const path = getLangPath(router, lang);\n window.location.replace(path);\n },\n [router],\n );\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 langs,\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 const appClassName = `App ${fullScreenPC ? 'fullscreen-mode' : 'document-mode'}`;\n\n useEffect(() => {\n updateRootClassName({\n theme,\n mobileView,\n wideFormat,\n fullHeader,\n });\n }, [theme, mobileView, wideFormat, fullHeader]);\n\n const pageContext = {\n ...settings,\n onChangeLang,\n };\n\n if (!navigation) {\n return (\n <div className={appClassName}>\n <ThemeProvider theme={theme} direction={direction}>\n <Page {...pageProps} {...pageContext}>\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 resetPaddings: true,\n },\n ],\n }\n }\n />\n </PageConstructorProvider>\n )}\n </Page>\n {analytics && (\n <ConsentPopup\n router={router}\n gtmId={analytics?.gtm?.id || ''}\n consentMode={analytics?.gtm?.mode}\n />\n )}\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={appClassName}>\n <ThemeProvider theme={theme} direction={direction}>\n <PageConstructorProvider theme={theme}>\n <PageConstructor\n custom={{\n navigation: {\n controls: () => (\n <HeaderControls\n {...pageContext}\n {...pageProps}\n onChangeLang={onChangeLang}\n mobileView={mobileView}\n />\n ),\n },\n blocks: {\n page: () => (\n <Page\n {...pageProps}\n {...(headerWithControls ? {} : pageContext)}\n >\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 resetPaddings: true,\n },\n ],\n }\n }\n navigation={\n fullHeader\n ? {\n header: {\n withBorder: true,\n leftItems: leftItems,\n rightItems: rightItems,\n },\n logo,\n }\n : undefined\n }\n />\n </PageConstructorProvider>\n {analytics && (\n <ConsentPopup\n router={router}\n gtmId={analytics?.gtm?.id || ''}\n consentMode={analytics?.gtm?.mode}\n />\n )}\n </ThemeProvider>\n <Runtime theme={theme} />\n </div>\n );\n}\n","import {\n Block,\n ConstructorBlock,\n NavigationData as ConstructorNavigaitonData,\n PageContent as ConstructorPageContentBase,\n} from '@gravity-ui/page-constructor';\nimport {\n BlocksConfig,\n Parser,\n TransformerRaw,\n config,\n contentTransformer,\n} from '@gravity-ui/page-constructor/server';\n\nexport interface MetaData {\n title: string;\n description?: string;\n}\n\nexport interface PageContentBase {\n meta?: MetaData;\n}\n\nexport enum Lang {\n RU = 'ru',\n EN = 'en',\n}\n\nexport type PageContent<T> = T & PageContentBase;\nexport type ConstructorPageContent = PageContent<ConstructorPageContentBase>;\nexport type NavigationData = PageContent<ConstructorNavigaitonData>;\nexport type ConfigData = ConstructorPageContent | NavigationData;\n\nexport interface PreloadParams {\n lang: Lang;\n pageName: string;\n pageReferer?: string;\n}\n\ninterface BlockConfig {\n transformer: TransformerRaw;\n fields?: string[];\n parser?: Parser;\n}\n\nexport function isPageConfig(config: ConfigData): config is ConstructorPageContent {\n return 'blocks' in config;\n}\n\nexport function preprocess(\n content: ConfigData,\n params: PreloadParams,\n customYfmTransformer: TransformerRaw,\n) {\n const {lang} = params;\n\n if (isPageConfig(content) && content.blocks) {\n return {\n ...content,\n blocks: transformBlocks(content.blocks, lang, customYfmTransformer),\n };\n }\n\n return content;\n}\n\nfunction replaceTransformer(config: BlocksConfig, newTransformer: TransformerRaw): BlocksConfig {\n return Object.keys(config).reduce((newConfig, subBlockType) => {\n const subBlock = config[subBlockType];\n\n if (Array.isArray(subBlock)) {\n newConfig[subBlockType] = subBlock.map((block: {transformer: {name: string}}) => {\n return block.transformer.name === 'yfmTransformer'\n ? {...block, transformer: newTransformer}\n : block;\n }) as BlockConfig[];\n } else {\n newConfig[subBlockType] =\n subBlock.transformer.name === 'yfmTransformer'\n ? {...subBlock, transformer: newTransformer}\n : subBlock;\n }\n\n return newConfig;\n }, {} as BlocksConfig);\n}\n\nfunction transformBlocks(\n blocks: ConstructorBlock[],\n lang: Lang,\n customYfmTransformer: TransformerRaw,\n) {\n const customConfig = replaceTransformer(config, customYfmTransformer);\n\n return contentTransformer({\n content: {blocks},\n options: {\n lang,\n customConfig,\n },\n }).blocks as Block[];\n}\n","import React from 'react';\nimport {renderToString} from 'react-dom/server';\n\nimport {\n App,\n DocAnalytics,\n DocInnerProps,\n DocLeadingPageData,\n DocPageData,\n} from './components/App/App';\nimport {LINK_KEYS, LINK_KEYS_LEADING_CONFIG, LINK_KEYS_PAGE_CONSTRUCTOR_CONFIG} from './constants';\nimport {preprocess} from './preprocess';\n\nexport type {DocInnerProps, DocPageData, DocLeadingPageData, DocAnalytics};\nexport {LINK_KEYS, LINK_KEYS_LEADING_CONFIG, LINK_KEYS_PAGE_CONSTRUCTOR_CONFIG, preprocess};\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(\"buffer\");","module.exports = require(\"crypto\");","module.exports = require(\"fs\");","module.exports = require(\"os\");","module.exports = require(\"path\");","module.exports = require(\"process\");","module.exports = require(\"punycode\");","module.exports = require(\"stream\");","module.exports = require(\"tty\");","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__(94184)))\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","lang","langs","onChangeLang","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","querySelectorAll","forEach","el","classList","toggle","getDirection","isRTL","includes","RTL","LTR","block","b","Header","Content","Footer","Layout","props","children","doc","header","content","footer","Children","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","ConsentPopup","DocumentType","configure","getLangPath","getPageByType","getPageType","MermaidRuntime","LatexRuntime","Runtime","OpenapiSandbox","Fragment","Dark","zoom","showMenu","bindKeys","Page","pageProps","App","router","analytics","navigation","toc","path","location","replace","headerHeight","direction","fullScreenPC","appClassName","pageContext","custom","page","resetPaddings","gtmId","gtm","id","consentMode","mode","logo","leftItems","rightItems","headerWithControls","some","item","controls","withBorder","undefined","config","contentTransformer","Lang","isPageConfig","preprocess","params","customYfmTransformer","transformBlocks","replaceTransformer","newTransformer","keys","reduce","newConfig","subBlockType","subBlock","Array","isArray","map","transformer","customConfig","options","renderToString","render","Element","e","matches","matchesSelector","webkitMatchesSelector","mozMatchesSelector","msMatchesSelector","oMatchesSelector","selector","th","prototype","call","event","href","target","locationOrigin","origin","startsWith","preventDefault","mainFileName","extention","endsWith","splitedHref","split","length"],"sourceRoot":""}
|