@diplodoc/components 4.25.0 → 4.26.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (142) hide show
  1. package/build/cjs/components/BookmarkButton/BookmarkButton.css.map +1 -1
  2. package/build/cjs/components/Breadcrumbs/Breadcrumbs.css.map +1 -1
  3. package/build/cjs/components/ContributorAvatars/ContributorAvatars.css.map +1 -1
  4. package/build/cjs/components/Contributors/Contributors.css.map +1 -1
  5. package/build/cjs/components/Control/Control.css.map +1 -1
  6. package/build/cjs/components/Controls/Controls.css.map +1 -1
  7. package/build/cjs/components/Controls/single-controls/DividerControl/DividerControl.css.map +1 -1
  8. package/build/cjs/components/Controls/single-controls/LangControl/LangControl.css.map +1 -1
  9. package/build/cjs/components/Controls/single-controls/SettingsControl/SettingsControl.css.map +1 -1
  10. package/build/cjs/components/DocLayout/DocLayout.css.map +1 -1
  11. package/build/cjs/components/DocLeadingPage/DocLeadingPage.css.map +1 -1
  12. package/build/cjs/components/DocPage/DocPage.css.map +1 -1
  13. package/build/cjs/components/DocPage/DocPage.js.map +2 -2
  14. package/build/cjs/components/DocPageTitle/DocPageTitle.css.map +1 -1
  15. package/build/cjs/components/ErrorPage/ErrorPage.css.map +1 -1
  16. package/build/cjs/components/Feedback/Feedback.css.map +1 -1
  17. package/build/cjs/components/Mark/Mark.css.map +1 -1
  18. package/build/cjs/components/MiniToc/MiniToc.css +1 -0
  19. package/build/cjs/components/MiniToc/MiniToc.css.map +3 -3
  20. package/build/cjs/components/MiniToc/MiniToc.d.ts +8 -2
  21. package/build/cjs/components/MiniToc/MiniToc.js +47 -38
  22. package/build/cjs/components/MiniToc/MiniToc.js.map +3 -3
  23. package/build/cjs/components/MobileControls/MobileControl/MobileControl.css.map +1 -1
  24. package/build/cjs/components/MobileControls/MobileControlSheet/MobileControlSheet.css.map +1 -1
  25. package/build/cjs/components/MobileControls/MobileControls.css.map +1 -1
  26. package/build/cjs/components/Notification/Notification.css.map +1 -1
  27. package/build/cjs/components/Paginator/Paginator.css.map +1 -1
  28. package/build/cjs/components/SearchBar/SearchBar.css.map +1 -1
  29. package/build/cjs/components/SearchItem/SearchItem.css.map +1 -1
  30. package/build/cjs/components/SearchPage/SearchPage.css.map +1 -1
  31. package/build/cjs/components/SearchSuggest/index.css.map +1 -1
  32. package/build/cjs/components/ShareButton/ShareButton.css.map +1 -1
  33. package/build/cjs/components/SubNavigation/SubNavigation.css.map +1 -1
  34. package/build/cjs/components/SubNavigation/SubNavigation.d.ts +1 -1
  35. package/build/cjs/components/SubNavigation/SubNavigation.js +10 -13
  36. package/build/cjs/components/SubNavigation/SubNavigation.js.map +2 -2
  37. package/build/cjs/components/SubNavigation/hooks/useHeadingIntersectionObserver.d.ts +17 -0
  38. package/build/cjs/components/SubNavigation/hooks/useHeadingIntersectionObserver.js +79 -0
  39. package/build/cjs/components/SubNavigation/hooks/useHeadingIntersectionObserver.js.map +7 -0
  40. package/build/cjs/components/SubNavigation/hooks/useMiniTocData.d.ts +1 -3
  41. package/build/cjs/components/SubNavigation/hooks/useMiniTocData.js +2 -6
  42. package/build/cjs/components/SubNavigation/hooks/useMiniTocData.js.map +2 -2
  43. package/build/cjs/components/Subscribe/Subscribe.css.map +1 -1
  44. package/build/cjs/components/Toc/Toc.css.map +1 -1
  45. package/build/cjs/components/Toc/Toc.d.ts +0 -3
  46. package/build/cjs/components/Toc/Toc.js +0 -31
  47. package/build/cjs/components/Toc/Toc.js.map +2 -2
  48. package/build/cjs/components/TocItem/TocItem.css.map +1 -1
  49. package/build/cjs/components/TocLable/TocLabel.css.map +1 -1
  50. package/build/cjs/components/TocNavPanel/TocNavPanel.css.map +1 -1
  51. package/build/cjs/components/ToggleArrow/ToggleArrow.css.map +1 -1
  52. package/build/cjs/components/UpdatedAtDate/UpdatedAtDate.css.map +1 -1
  53. package/build/cjs/components/navigation/CustomNavigation/CustomNavigation.css.map +1 -1
  54. package/build/cjs/components/navigation/MobileDropdown/MobileDropdown.css.map +1 -1
  55. package/build/cjs/components/navigation/Sidebar/Sidebar.css.map +1 -1
  56. package/build/cjs/components/navigation/SidebarContent/SidebarContent.css.map +1 -1
  57. package/build/cjs/components/navigation/SidebarNavigation/SidebarNavigation.css.map +1 -1
  58. package/build/cjs/components/navigation/ToMainMenu/ToMainMenu.css.map +1 -1
  59. package/build/cjs/hooks/useStableCallback.d.ts +1 -0
  60. package/build/cjs/{components/Scrollspy/index.js → hooks/useStableCallback.js} +18 -6
  61. package/build/cjs/hooks/useStableCallback.js.map +7 -0
  62. package/build/cjs/index.d.ts +0 -1
  63. package/build/cjs/index.js +0 -1
  64. package/build/cjs/index.js.map +2 -2
  65. package/build/esm/components/BookmarkButton/BookmarkButton.css.map +1 -1
  66. package/build/esm/components/Breadcrumbs/Breadcrumbs.css.map +1 -1
  67. package/build/esm/components/ContributorAvatars/ContributorAvatars.css.map +1 -1
  68. package/build/esm/components/Contributors/Contributors.css.map +1 -1
  69. package/build/esm/components/Control/Control.css.map +1 -1
  70. package/build/esm/components/Controls/Controls.css.map +1 -1
  71. package/build/esm/components/Controls/single-controls/DividerControl/DividerControl.css.map +1 -1
  72. package/build/esm/components/Controls/single-controls/LangControl/LangControl.css.map +1 -1
  73. package/build/esm/components/Controls/single-controls/SettingsControl/SettingsControl.css.map +1 -1
  74. package/build/esm/components/DocLayout/DocLayout.css.map +1 -1
  75. package/build/esm/components/DocLeadingPage/DocLeadingPage.css.map +1 -1
  76. package/build/esm/components/DocPage/DocPage.css.map +1 -1
  77. package/build/esm/components/DocPage/DocPage.js.map +2 -2
  78. package/build/esm/components/DocPageTitle/DocPageTitle.css.map +1 -1
  79. package/build/esm/components/ErrorPage/ErrorPage.css.map +1 -1
  80. package/build/esm/components/Feedback/Feedback.css.map +1 -1
  81. package/build/esm/components/Mark/Mark.css.map +1 -1
  82. package/build/esm/components/MiniToc/MiniToc.css +1 -0
  83. package/build/esm/components/MiniToc/MiniToc.css.map +3 -3
  84. package/build/esm/components/MiniToc/MiniToc.d.ts +8 -2
  85. package/build/esm/components/MiniToc/MiniToc.js +48 -39
  86. package/build/esm/components/MiniToc/MiniToc.js.map +2 -2
  87. package/build/esm/components/MobileControls/MobileControl/MobileControl.css.map +1 -1
  88. package/build/esm/components/MobileControls/MobileControlSheet/MobileControlSheet.css.map +1 -1
  89. package/build/esm/components/MobileControls/MobileControls.css.map +1 -1
  90. package/build/esm/components/Notification/Notification.css.map +1 -1
  91. package/build/esm/components/Paginator/Paginator.css.map +1 -1
  92. package/build/esm/components/SearchBar/SearchBar.css.map +1 -1
  93. package/build/esm/components/SearchItem/SearchItem.css.map +1 -1
  94. package/build/esm/components/SearchPage/SearchPage.css.map +1 -1
  95. package/build/esm/components/SearchSuggest/index.css.map +1 -1
  96. package/build/esm/components/ShareButton/ShareButton.css.map +1 -1
  97. package/build/esm/components/SubNavigation/SubNavigation.css.map +1 -1
  98. package/build/esm/components/SubNavigation/SubNavigation.d.ts +1 -1
  99. package/build/esm/components/SubNavigation/SubNavigation.js +10 -13
  100. package/build/esm/components/SubNavigation/SubNavigation.js.map +2 -2
  101. package/build/esm/components/SubNavigation/hooks/useHeadingIntersectionObserver.d.ts +17 -0
  102. package/build/esm/components/SubNavigation/hooks/useHeadingIntersectionObserver.js +58 -0
  103. package/build/esm/components/SubNavigation/hooks/useHeadingIntersectionObserver.js.map +7 -0
  104. package/build/esm/components/SubNavigation/hooks/useMiniTocData.d.ts +1 -3
  105. package/build/esm/components/SubNavigation/hooks/useMiniTocData.js +2 -6
  106. package/build/esm/components/SubNavigation/hooks/useMiniTocData.js.map +2 -2
  107. package/build/esm/components/Subscribe/Subscribe.css.map +1 -1
  108. package/build/esm/components/Toc/Toc.css.map +1 -1
  109. package/build/esm/components/Toc/Toc.d.ts +0 -3
  110. package/build/esm/components/Toc/Toc.js +0 -31
  111. package/build/esm/components/Toc/Toc.js.map +2 -2
  112. package/build/esm/components/TocItem/TocItem.css.map +1 -1
  113. package/build/esm/components/TocLable/TocLabel.css.map +1 -1
  114. package/build/esm/components/TocNavPanel/TocNavPanel.css.map +1 -1
  115. package/build/esm/components/ToggleArrow/ToggleArrow.css.map +1 -1
  116. package/build/esm/components/UpdatedAtDate/UpdatedAtDate.css.map +1 -1
  117. package/build/esm/components/navigation/CustomNavigation/CustomNavigation.css.map +1 -1
  118. package/build/esm/components/navigation/MobileDropdown/MobileDropdown.css.map +1 -1
  119. package/build/esm/components/navigation/Sidebar/Sidebar.css.map +1 -1
  120. package/build/esm/components/navigation/SidebarContent/SidebarContent.css.map +1 -1
  121. package/build/esm/components/navigation/SidebarNavigation/SidebarNavigation.css.map +1 -1
  122. package/build/esm/components/navigation/ToMainMenu/ToMainMenu.css.map +1 -1
  123. package/build/esm/hooks/useStableCallback.d.ts +1 -0
  124. package/build/esm/hooks/useStableCallback.js +12 -0
  125. package/build/esm/hooks/useStableCallback.js.map +7 -0
  126. package/build/esm/index.d.ts +0 -1
  127. package/build/esm/index.js +0 -1
  128. package/build/esm/index.js.map +2 -2
  129. package/build/index.css.map +1 -1
  130. package/build/themes/common/index.css.map +1 -1
  131. package/package.json +2 -1
  132. package/build/cjs/components/Scrollspy/Scrollspy.d.ts +0 -59
  133. package/build/cjs/components/Scrollspy/Scrollspy.js +0 -337
  134. package/build/cjs/components/Scrollspy/Scrollspy.js.map +0 -7
  135. package/build/cjs/components/Scrollspy/index.d.ts +0 -1
  136. package/build/cjs/components/Scrollspy/index.js.map +0 -7
  137. package/build/esm/components/Scrollspy/Scrollspy.d.ts +0 -59
  138. package/build/esm/components/Scrollspy/Scrollspy.js +0 -309
  139. package/build/esm/components/Scrollspy/Scrollspy.js.map +0 -7
  140. package/build/esm/components/Scrollspy/index.d.ts +0 -1
  141. package/build/esm/components/Scrollspy/index.js +0 -3
  142. package/build/esm/components/Scrollspy/index.js.map +0 -7
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../../src/components/DocPage/DocPage.tsx"],
4
- "sourcesContent": ["import React, {ReactPortal} from 'react';\nimport {Link} from '@gravity-ui/icons';\nimport block from 'bem-cn-lite';\nimport {createPortal} from 'react-dom';\n\nimport {DEFAULT_SETTINGS} from '../../constants';\nimport {\n ControlSizes,\n DocPageData,\n DocSettings,\n FeedbackSendData,\n Lang,\n Router,\n SubscribeData,\n TextSizes,\n Theme,\n VcsType,\n} from '../../models';\nimport {InnerProps, callSafe, getRandomKey, getStateKey, isContributor} from '../../utils';\nimport {BookmarkButton} from '../BookmarkButton';\nimport {Breadcrumbs} from '../Breadcrumbs';\nimport {ContentWrapper} from '../ContentWrapper';\nimport Contributors from '../Contributors/Contributors';\nimport {Controls, ControlsLayout, EditControl} from '../Controls';\nimport {DocLayout} from '../DocLayout';\nimport {DocPageTitle} from '../DocPageTitle';\nimport {Feedback, FeedbackView} from '../Feedback';\nimport {HTML} from '../HTML';\nimport {ShareButton} from '../ShareButton';\nimport {SubNavigation} from '../SubNavigation';\nimport {SearchBar, withHighlightedSearchWords} from '../SearchBar';\nimport {TocNavPanel} from '../TocNavPanel';\nimport UpdatedAtDate from '../UpdatedAtDate/UpdatedAtDate';\nimport {Notification, NotificationProps} from '../Notification';\n\nimport './DocPage.scss';\n\nconst b = block('dc-doc-page');\n\nexport interface DocPageProps extends DocPageData, DocSettings, NotificationProps {\n lang: `${Lang}` | Lang;\n langs?: (`${Lang}` | Lang)[];\n router: Router;\n headerHeight?: number;\n tocTitleIcon?: React.ReactNode;\n hideToc?: boolean;\n legacyToc?: boolean;\n\n showSearchBar?: boolean;\n searchQuery?: string;\n onClickPrevSearch?: () => void;\n onClickNextSearch?: () => void;\n onCloseSearchBar?: () => void;\n onTocNavPanelClick?: (at: 'prev' | 'next') => void;\n searchCurrentIndex?: number;\n searchCountResults?: number;\n\n hideTocHeader?: boolean;\n hideControls?: boolean;\n hideEditControl?: boolean;\n hideFeedbackControls?: boolean;\n hideContributors?: boolean;\n renderLoader?: () => React.ReactNode;\n convertPathToOriginalArticle?: (path: string) => string;\n generatePathToVcs?: (path: string) => string;\n onChangeLang?: (lang: `${Lang}` | Lang) => void;\n onChangeFullScreen?: (value: boolean) => void;\n onChangeSinglePage?: (value: boolean) => void;\n onChangeWideFormat?: (value: boolean) => void;\n onChangeShowMiniToc?: (value: boolean) => void;\n onChangeBookmarkPage?: (value: boolean) => void;\n onChangeTheme?: (theme: Theme) => void;\n onChangeTextSize?: (textSize: TextSizes) => void;\n onSendFeedback?: (data: FeedbackSendData) => void;\n onContentMutation?: () => void;\n onContentLoaded?: () => void;\n onSubscribe?: (data: SubscribeData) => void;\n pdfLink?: string;\n onMiniTocItemClick?: (event: MouseEvent) => void;\n useMainTag?: boolean;\n isMobile?: boolean;\n}\n\ntype DocPageInnerProps = InnerProps<DocPageProps, DocSettings>;\ntype DocPageState = {\n loading: boolean;\n keyDOM: number;\n};\n\nclass DocPage extends React.Component<DocPageInnerProps, DocPageState> {\n static defaultProps: DocSettings = DEFAULT_SETTINGS;\n\n state: DocPageState;\n bodyRef: HTMLDivElement | null = null;\n bodyObserver: MutationObserver | null = null;\n\n constructor(props: DocPageInnerProps) {\n super(props);\n\n this.state = {\n loading: props.singlePage,\n keyDOM: getRandomKey(),\n };\n }\n\n componentDidMount(): void {\n const {singlePage} = this.props;\n\n if (singlePage) {\n this.addLinksToOriginalArticle();\n }\n\n this.setState({loading: false});\n\n this.addBodyObserver();\n }\n\n componentDidUpdate(prevProps: DocPageInnerProps): void {\n if (prevProps.singlePage !== this.props.singlePage) {\n this.setState({loading: true});\n }\n\n if (prevProps.html !== this.props.html) {\n this.setState({keyDOM: getRandomKey()});\n }\n }\n\n componentWillUnmount(): void {\n if (this.bodyObserver) {\n this.bodyObserver.disconnect();\n }\n }\n\n render() {\n const {\n toc,\n router,\n headings,\n lang,\n langs,\n theme,\n title,\n headerHeight,\n wideFormat,\n fullScreen,\n singlePage,\n tocTitleIcon,\n hideTocHeader,\n hideToc,\n footer,\n onChangeSinglePage,\n pdfLink,\n useMainTag,\n onChangeLang,\n onChangeTheme,\n onMiniTocItemClick,\n legacyToc,\n notification,\n notificationCb,\n } = this.props;\n\n const hideBurger = typeof headerHeight !== 'undefined' && headerHeight > 0;\n\n const modes = {\n 'regular-page-width': !wideFormat,\n 'full-screen': fullScreen,\n 'single-page': singlePage,\n };\n\n const mobileControlsData = {\n controlSize: ControlSizes.L,\n lang,\n userSettings: {\n langs,\n onChangeLang,\n theme,\n onChangeTheme,\n },\n };\n\n return (\n <DocLayout\n toc={toc}\n router={router}\n headerHeight={headerHeight}\n className={b(modes)}\n fullScreen={fullScreen}\n tocTitleIcon={tocTitleIcon}\n wideFormat={wideFormat}\n hideTocHeader={hideTocHeader}\n hideToc={hideToc}\n loading={this.state.loading}\n footer={footer}\n singlePage={singlePage}\n onChangeSinglePage={onChangeSinglePage}\n pdfLink={pdfLink}\n legacyToc={legacyToc}\n >\n <DocLayout.Center>\n {this.renderSearchBar()}\n <Notification notification={notification} notificationCb={notificationCb} />\n {this.renderBreadcrumbs()}\n {this.renderControls()}\n <div className={b('main')}>\n <ContentWrapper className={b('content')} useMainTag={useMainTag}>\n {this.renderTitle()}\n {this.renderPageContributors()}\n {this.showMiniToc && this.renderContentMiniToc()}\n {this.renderBody()}\n {this.renderFeedback()}\n </ContentWrapper>\n {this.renderTocNavPanel()}\n </div>\n {this.renderLoader()}\n {this.renderSinglePageControls()}\n </DocLayout.Center>\n <DocLayout.Right>\n {/* This key allows recalculating the offset for the mini-toc for Safari */}\n <div\n className={b('aside')}\n key={getStateKey(this.showMiniToc, wideFormat, singlePage)}\n >\n <SubNavigation\n router={router}\n toc={toc}\n keyDOM={this.state.keyDOM}\n pageTitle={title}\n headings={headings}\n mobileControlsData={mobileControlsData}\n headerHeight={headerHeight}\n hideMiniToc={!this.showMiniToc}\n hideBurger={hideBurger}\n hideTocHeader={hideTocHeader}\n onMiniTocItemClick={onMiniTocItemClick}\n />\n </div>\n </DocLayout.Right>\n </DocLayout>\n );\n }\n\n private handleBodyMutation = (mutationsList: MutationRecord[]) => {\n const {onContentMutation, onContentLoaded} = this.props;\n\n if (this.props.singlePage && this.bodyObserver && this.bodyRef) {\n this.bodyObserver.disconnect();\n this.addLinksToOriginalArticle();\n this.bodyObserver.observe(this.bodyRef, {\n childList: true,\n subtree: true,\n });\n }\n\n if (onContentMutation) {\n setTimeout(onContentMutation, 0);\n }\n\n this.setState({loading: false});\n\n if (!onContentLoaded) {\n return;\n }\n\n setTimeout(() => {\n mutationsList\n .filter(({type}) => type === 'childList')\n .forEach((mutation) => {\n const yfmRoot = mutation.target as HTMLElement;\n const yfmImages = Array.from(yfmRoot.querySelectorAll('img'));\n\n yfmImages.forEach((img) => {\n img.addEventListener('load', onContentLoaded, false);\n });\n });\n }, 0);\n };\n\n private addBodyObserver() {\n if (!this.bodyObserver) {\n this.bodyObserver = new MutationObserver(this.handleBodyMutation);\n }\n\n if (this.bodyRef) {\n this.bodyObserver.observe(this.bodyRef, {\n childList: true,\n subtree: true,\n });\n }\n }\n\n private setBodyRef = (ref: HTMLDivElement) => {\n this.bodyRef = ref;\n };\n\n private renderLoader() {\n const {renderLoader} = this.props;\n const {loading} = this.state;\n\n if (!renderLoader || !loading) {\n return null;\n }\n\n return <div className={b('loader-wrapper')}>{renderLoader()}</div>;\n }\n\n private renderSinglePageControls() {\n const {singlePage, convertPathToOriginalArticle, generatePathToVcs, vcsType} = this.props;\n\n if (!this.bodyRef || !singlePage) {\n return null;\n }\n\n const headers = Array.from(this.bodyRef.querySelectorAll('[data-original-article]'));\n\n return headers.reduce((acc, header, index) => {\n const href = callSafe(\n convertPathToOriginalArticle,\n header.getAttribute('data-original-article') || '',\n );\n\n if (href && header) {\n const vcsHref = callSafe(generatePathToVcs, href);\n\n acc.push(\n createPortal(\n <>\n <a className=\"yfm-anchor yfm-original-link\" href={href}>\n <Link />\n </a>\n {vcsHref && (\n <EditControl\n vcsUrl={vcsHref}\n vcsType={vcsType}\n view={'wide'}\n className={b('edit-button')}\n />\n )}\n </>,\n header,\n 'key-' + index,\n ),\n );\n }\n\n return acc;\n }, [] as ReactPortal[]);\n }\n\n private addLinksToOriginalArticle = () => {\n const {singlePage, generatePathToVcs} = this.props;\n\n if (!this.bodyRef || !singlePage) {\n return;\n }\n\n const headers = Array.from(this.bodyRef.querySelectorAll('[data-original-article]'));\n\n for (const header of headers) {\n /* Hide anchors */\n const anchors = Array.from(header.querySelectorAll('.yfm-anchor'));\n for (const anchor of anchors) {\n if (!anchor.classList.contains('yfm-original-link')) {\n anchor.classList.add('yfm-anchor_hidden');\n }\n }\n\n /* Create the link to the vcs */\n if (typeof generatePathToVcs === 'function') {\n header.classList.add(b('header-container'));\n }\n }\n };\n\n get showMiniToc() {\n const {showMiniToc, singlePage, headings, toc} = this.props;\n\n if (singlePage) {\n return false;\n }\n\n const emptyHeaderOrSinglePage = headings.length === 0 || toc.singlePage;\n const soloHeaderWithChildren =\n headings.length === 1 && headings[0].items && headings[0].items.length >= 1;\n\n if (emptyHeaderOrSinglePage || !(soloHeaderWithChildren || headings.length >= 2)) {\n return false;\n }\n\n return showMiniToc;\n }\n\n private renderBreadcrumbs() {\n const {breadcrumbs} = this.props;\n\n if (!breadcrumbs || breadcrumbs.length < 2) {\n return null;\n }\n\n return (\n <div className={b('breadcrumbs')}>\n <Breadcrumbs items={breadcrumbs} />\n </div>\n );\n }\n\n private renderTitle() {\n const {title, meta, bookmarkedPage, onChangeBookmarkPage, isMobile, headerHeight} =\n this.props;\n const withBookmarks = onChangeBookmarkPage;\n const withShare = isMobile && Number(headerHeight) > 0 && !this.showMiniToc;\n\n if (!title) {\n return null;\n }\n\n return (\n <DocPageTitle stage={meta.stage} className={b('title')}>\n <HTML>{title}</HTML>\n {withBookmarks && (\n <BookmarkButton\n isBookmarked={Boolean(bookmarkedPage)}\n onBookmark={onChangeBookmarkPage}\n />\n )}\n {withShare && <ShareButton className={b('share-button')} title={title} />}\n </DocPageTitle>\n );\n }\n\n private renderPageContributors() {\n const {meta, hideContributors} = this.props;\n\n if (hideContributors) {\n return null;\n }\n\n const author = this.renderAuthor(!meta?.contributors?.length);\n const contributors = this.renderContributors();\n const updatedAt = this.renderUpdatedAt(meta?.updatedAt);\n\n return (\n <div className={b('page-contributors')}>\n {author}\n {contributors}\n {updatedAt}\n </div>\n );\n }\n\n private renderUpdatedAt(updatedAt?: string) {\n if (!updatedAt) {\n return null;\n }\n\n return <UpdatedAtDate updatedAt={updatedAt} />;\n }\n\n private renderAuthor(onlyAuthor: boolean) {\n const {meta} = this.props;\n\n if (!isContributor(meta?.author)) {\n return null;\n }\n\n return (\n <Contributors\n users={[meta.author]}\n onlyAuthor={onlyAuthor}\n translationName={'authors'}\n isAuthor={true}\n />\n );\n }\n\n private renderContributors() {\n const {meta} = this.props;\n\n if (!meta?.contributors || meta.contributors.length === 0) {\n return null;\n }\n\n return <Contributors users={meta.contributors} />;\n }\n\n private renderContentMiniToc() {\n const {headings} = this.props;\n\n return (\n <div className={b('content-mini-toc', 'yfm')}>\n <ul>\n {headings.map(({title, href, level, items}, index) => {\n if (level !== 2) {\n return null;\n }\n\n return (\n <li key={index}>\n <a href={href}>{title}</a>\n {items && (\n <ul>\n {items.map(\n (\n {\n title: itemTitle,\n href: itemHref,\n level: itemLevel,\n },\n idx,\n ) => {\n if (itemLevel !== 3) {\n return null;\n }\n\n return (\n <li key={idx}>\n <a href={itemHref}>{itemTitle}</a>\n </li>\n );\n },\n )}\n </ul>\n )}\n </li>\n );\n })}\n </ul>\n </div>\n );\n }\n\n private renderBody() {\n const {html, textSize} = this.props;\n\n if (!html) {\n return null;\n }\n\n return (\n <div\n ref={this.setBodyRef}\n className={b('body', {'text-size': textSize}, 'yfm')}\n dangerouslySetInnerHTML={{__html: html}}\n />\n );\n }\n\n private renderFeedback() {\n const {singlePage, isLiked, isDisliked, onSendFeedback, hideFeedbackControls} = this.props;\n\n if (singlePage || hideFeedbackControls || !onSendFeedback) {\n return null;\n }\n\n return (\n <div className={b('feedback')}>\n <Feedback\n isLiked={isLiked}\n isDisliked={isDisliked}\n onSendFeedback={onSendFeedback}\n view={FeedbackView.Wide}\n />\n </div>\n );\n }\n\n private renderTocNavPanel() {\n const {toc, singlePage, router, fullScreen, onTocNavPanelClick} = this.props;\n\n if (!toc || singlePage) {\n return null;\n }\n\n return (\n <TocNavPanel\n {...toc}\n onClick={onTocNavPanelClick}\n router={router}\n fixed={fullScreen}\n className={b('toc-nav-panel')}\n />\n );\n }\n\n private isEditable() {\n const {toc, meta, vcsUrl, vcsType} = this.props;\n const editable =\n toc.stage !== 'preview' &&\n meta.stage !== 'preview' &&\n meta.editable !== false &&\n toc.editable !== false;\n\n return Boolean(editable && vcsUrl && vcsType);\n }\n\n private getIsVerticalView = () => {\n const {fullScreen} = this.props;\n return !this.showMiniToc || fullScreen;\n };\n\n private renderSearchBar = () => {\n const {\n showSearchBar,\n searchQuery,\n searchCurrentIndex,\n searchCountResults,\n onClickPrevSearch,\n onClickNextSearch,\n onCloseSearchBar,\n singlePage,\n } = this.props;\n\n if (!showSearchBar || singlePage) {\n return null;\n }\n\n return (\n <div className={b('search-bar')}>\n <SearchBar\n searchCurrentIndex={searchCurrentIndex}\n searchCountResults={searchCountResults}\n onClickPrevSearch={onClickPrevSearch}\n onClickNextSearch={onClickNextSearch}\n onCloseSearchBar={onCloseSearchBar}\n searchQuery={searchQuery}\n />\n </div>\n );\n };\n\n private renderControls() {\n const {\n lang,\n langs,\n textSize,\n theme,\n wideFormat,\n fullScreen,\n singlePage,\n vcsUrl,\n vcsType,\n onChangeLang,\n onChangeFullScreen,\n onChangeWideFormat,\n onChangeShowMiniToc,\n onChangeTheme,\n onChangeTextSize,\n onSendFeedback,\n onSubscribe,\n isLiked,\n isDisliked,\n hideControls,\n hideEditControl,\n hideFeedbackControls,\n } = this.props;\n\n if (hideControls) {\n return null;\n }\n\n const isVerticalView = this.getIsVerticalView();\n\n return (\n <div className={b('controls', {vertical: isVerticalView})}>\n <ControlsLayout isVerticalView={isVerticalView}>\n <Controls\n lang={lang}\n langs={langs}\n textSize={textSize}\n theme={theme}\n wideFormat={wideFormat}\n showMiniToc={this.showMiniToc}\n fullScreen={fullScreen}\n singlePage={singlePage}\n vcsUrl={vcsUrl as string}\n vcsType={vcsType as VcsType}\n isLiked={isLiked}\n isDisliked={isDisliked}\n onChangeLang={onChangeLang}\n onChangeFullScreen={onChangeFullScreen}\n onChangeWideFormat={onChangeWideFormat}\n onChangeShowMiniToc={onChangeShowMiniToc}\n onChangeTheme={onChangeTheme}\n onChangeTextSize={onChangeTextSize}\n onSendFeedback={onSendFeedback}\n onSubscribe={onSubscribe}\n hideEditControl={hideEditControl || fullScreen || !this.isEditable()}\n hideFeedbackControls={hideFeedbackControls}\n />\n </ControlsLayout>\n </div>\n );\n }\n}\n\nexport default withHighlightedSearchWords(DocPage);\n"],
5
- "mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,mBAAiC;AACjC,mBAAmB;AACnB,yBAAkB;AAClB,uBAA2B;AAE3B,uBAA+B;AAC/B,oBAWO;AACP,mBAA6E;AAC7E,4BAA6B;AAC7B,yBAA0B;AAC1B,4BAA6B;AAC7B,0BAAyB;AACzB,sBAAoD;AACpD,uBAAwB;AACxB,0BAA2B;AAC3B,sBAAqC;AACrC,kBAAmB;AACnB,yBAA0B;AAC1B,2BAA4B;AAC5B,uBAAoD;AACpD,yBAA0B;AAC1B,2BAA0B;AAC1B,0BAA8C;AAE9C,qBAAO;AAEP,IAAM,QAAI,mBAAAA,SAAM,aAAa;AAoD7B,IAAM,UAAN,cAAsB,aAAAC,QAAM,UAA2C;AAAA,EAOnE,YAAY,OAA0B;AAClC,UAAM,KAAK;AALf;AACA,mCAAiC;AACjC,wCAAwC;AAmJxC,wBAAQ,sBAAqB,CAAC,kBAAoC;AAC9D,YAAM,EAAC,mBAAmB,gBAAe,IAAI,KAAK;AAElD,UAAI,KAAK,MAAM,cAAc,KAAK,gBAAgB,KAAK,SAAS;AAC5D,aAAK,aAAa,WAAW;AAC7B,aAAK,0BAA0B;AAC/B,aAAK,aAAa,QAAQ,KAAK,SAAS;AAAA,UACpC,WAAW;AAAA,UACX,SAAS;AAAA,QACb,CAAC;AAAA,MACL;AAEA,UAAI,mBAAmB;AACnB,mBAAW,mBAAmB,CAAC;AAAA,MACnC;AAEA,WAAK,SAAS,EAAC,SAAS,MAAK,CAAC;AAE9B,UAAI,CAAC,iBAAiB;AAClB;AAAA,MACJ;AAEA,iBAAW,MAAM;AACb,sBACK,OAAO,CAAC,EAAC,KAAI,MAAM,SAAS,WAAW,EACvC,QAAQ,CAAC,aAAa;AACnB,gBAAM,UAAU,SAAS;AACzB,gBAAM,YAAY,MAAM,KAAK,QAAQ,iBAAiB,KAAK,CAAC;AAE5D,oBAAU,QAAQ,CAAC,QAAQ;AACvB,gBAAI,iBAAiB,QAAQ,iBAAiB,KAAK;AAAA,UACvD,CAAC;AAAA,QACL,CAAC;AAAA,MACT,GAAG,CAAC;AAAA,IACR;AAeA,wBAAQ,cAAa,CAAC,QAAwB;AAC1C,WAAK,UAAU;AAAA,IACnB;AAwDA,wBAAQ,6BAA4B,MAAM;AACtC,YAAM,EAAC,YAAY,kBAAiB,IAAI,KAAK;AAE7C,UAAI,CAAC,KAAK,WAAW,CAAC,YAAY;AAC9B;AAAA,MACJ;AAEA,YAAM,UAAU,MAAM,KAAK,KAAK,QAAQ,iBAAiB,yBAAyB,CAAC;AAEnF,iBAAW,UAAU,SAAS;AAE1B,cAAM,UAAU,MAAM,KAAK,OAAO,iBAAiB,aAAa,CAAC;AACjE,mBAAW,UAAU,SAAS;AAC1B,cAAI,CAAC,OAAO,UAAU,SAAS,mBAAmB,GAAG;AACjD,mBAAO,UAAU,IAAI,mBAAmB;AAAA,UAC5C;AAAA,QACJ;AAGA,YAAI,OAAO,sBAAsB,YAAY;AACzC,iBAAO,UAAU,IAAI,EAAE,kBAAkB,CAAC;AAAA,QAC9C;AAAA,MACJ;AAAA,IACJ;AA+NA,wBAAQ,qBAAoB,MAAM;AAC9B,YAAM,EAAC,WAAU,IAAI,KAAK;AAC1B,aAAO,CAAC,KAAK,eAAe;AAAA,IAChC;AAEA,wBAAQ,mBAAkB,MAAM;AAC5B,YAAM;AAAA,QACF;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,MACJ,IAAI,KAAK;AAET,UAAI,CAAC,iBAAiB,YAAY;AAC9B,eAAO;AAAA,MACX;AAEA,aACI,6BAAAA,QAAA,cAAC,SAAI,WAAW,EAAE,YAAY,KAC1B,6BAAAA,QAAA;AAAA,QAAC;AAAA;AAAA,UACG;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA;AAAA,MACJ,CACJ;AAAA,IAER;AAhhBI,SAAK,QAAQ;AAAA,MACT,SAAS,MAAM;AAAA,MACf,YAAQ,2BAAa;AAAA,IACzB;AAAA,EACJ;AAAA,EAEA,oBAA0B;AACtB,UAAM,EAAC,WAAU,IAAI,KAAK;AAE1B,QAAI,YAAY;AACZ,WAAK,0BAA0B;AAAA,IACnC;AAEA,SAAK,SAAS,EAAC,SAAS,MAAK,CAAC;AAE9B,SAAK,gBAAgB;AAAA,EACzB;AAAA,EAEA,mBAAmB,WAAoC;AACnD,QAAI,UAAU,eAAe,KAAK,MAAM,YAAY;AAChD,WAAK,SAAS,EAAC,SAAS,KAAI,CAAC;AAAA,IACjC;AAEA,QAAI,UAAU,SAAS,KAAK,MAAM,MAAM;AACpC,WAAK,SAAS,EAAC,YAAQ,2BAAa,EAAC,CAAC;AAAA,IAC1C;AAAA,EACJ;AAAA,EAEA,uBAA6B;AACzB,QAAI,KAAK,cAAc;AACnB,WAAK,aAAa,WAAW;AAAA,IACjC;AAAA,EACJ;AAAA,EAEA,SAAS;AACL,UAAM;AAAA,MACF;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,IACJ,IAAI,KAAK;AAET,UAAM,aAAa,OAAO,iBAAiB,eAAe,eAAe;AAEzE,UAAM,QAAQ;AAAA,MACV,sBAAsB,CAAC;AAAA,MACvB,eAAe;AAAA,MACf,eAAe;AAAA,IACnB;AAEA,UAAM,qBAAqB;AAAA,MACvB,aAAa,2BAAa;AAAA,MAC1B;AAAA,MACA,cAAc;AAAA,QACV;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,MACJ;AAAA,IACJ;AAEA,WACI,6BAAAA,QAAA;AAAA,MAAC;AAAA;AAAA,QACG;AAAA,QACA;AAAA,QACA;AAAA,QACA,WAAW,EAAE,KAAK;AAAA,QAClB;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA,SAAS,KAAK,MAAM;AAAA,QACpB;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA;AAAA,MAEA,6BAAAA,QAAA,cAAC,2BAAU,QAAV,MACI,KAAK,gBAAgB,GACtB,6BAAAA,QAAA,cAAC,oCAAa,cAA4B,gBAAgC,GACzE,KAAK,kBAAkB,GACvB,KAAK,eAAe,GACrB,6BAAAA,QAAA,cAAC,SAAI,WAAW,EAAE,MAAM,KACpB,6BAAAA,QAAA,cAAC,wCAAe,WAAW,EAAE,SAAS,GAAG,cACpC,KAAK,YAAY,GACjB,KAAK,uBAAuB,GAC5B,KAAK,eAAe,KAAK,qBAAqB,GAC9C,KAAK,WAAW,GAChB,KAAK,eAAe,CACzB,GACC,KAAK,kBAAkB,CAC5B,GACC,KAAK,aAAa,GAClB,KAAK,yBAAyB,CACnC;AAAA,MACA,6BAAAA,QAAA,cAAC,2BAAU,OAAV,MAEG,6BAAAA,QAAA;AAAA,QAAC;AAAA;AAAA,UACG,WAAW,EAAE,OAAO;AAAA,UACpB,SAAK,0BAAY,KAAK,aAAa,YAAY,UAAU;AAAA;AAAA,QAEzD,6BAAAA,QAAA;AAAA,UAAC;AAAA;AAAA,YACG;AAAA,YACA;AAAA,YACA,QAAQ,KAAK,MAAM;AAAA,YACnB,WAAW;AAAA,YACX;AAAA,YACA;AAAA,YACA;AAAA,YACA,aAAa,CAAC,KAAK;AAAA,YACnB;AAAA,YACA;AAAA,YACA;AAAA;AAAA,QACJ;AAAA,MACJ,CACJ;AAAA,IACJ;AAAA,EAER;AAAA,EAsCQ,kBAAkB;AACtB,QAAI,CAAC,KAAK,cAAc;AACpB,WAAK,eAAe,IAAI,iBAAiB,KAAK,kBAAkB;AAAA,IACpE;AAEA,QAAI,KAAK,SAAS;AACd,WAAK,aAAa,QAAQ,KAAK,SAAS;AAAA,QACpC,WAAW;AAAA,QACX,SAAS;AAAA,MACb,CAAC;AAAA,IACL;AAAA,EACJ;AAAA,EAMQ,eAAe;AACnB,UAAM,EAAC,aAAY,IAAI,KAAK;AAC5B,UAAM,EAAC,QAAO,IAAI,KAAK;AAEvB,QAAI,CAAC,gBAAgB,CAAC,SAAS;AAC3B,aAAO;AAAA,IACX;AAEA,WAAO,6BAAAA,QAAA,cAAC,SAAI,WAAW,EAAE,gBAAgB,KAAI,aAAa,CAAE;AAAA,EAChE;AAAA,EAEQ,2BAA2B;AAC/B,UAAM,EAAC,YAAY,8BAA8B,mBAAmB,QAAO,IAAI,KAAK;AAEpF,QAAI,CAAC,KAAK,WAAW,CAAC,YAAY;AAC9B,aAAO;AAAA,IACX;AAEA,UAAM,UAAU,MAAM,KAAK,KAAK,QAAQ,iBAAiB,yBAAyB,CAAC;AAEnF,WAAO,QAAQ,OAAO,CAAC,KAAK,QAAQ,UAAU;AAC1C,YAAM,WAAO;AAAA,QACT;AAAA,QACA,OAAO,aAAa,uBAAuB,KAAK;AAAA,MACpD;AAEA,UAAI,QAAQ,QAAQ;AAChB,cAAM,cAAU,uBAAS,mBAAmB,IAAI;AAEhD,YAAI;AAAA,cACA;AAAA,YACI,6BAAAA,QAAA,2BAAAA,QAAA,gBACI,6BAAAA,QAAA,cAAC,OAAE,WAAU,gCAA+B,QACxC,6BAAAA,QAAA,cAAC,uBAAK,CACV,GACC,WACG,6BAAAA,QAAA;AAAA,cAAC;AAAA;AAAA,gBACG,QAAQ;AAAA,gBACR;AAAA,gBACA,MAAM;AAAA,gBACN,WAAW,EAAE,aAAa;AAAA;AAAA,YAC9B,CAER;AAAA,YACA;AAAA,YACA,SAAS;AAAA,UACb;AAAA,QACJ;AAAA,MACJ;AAEA,aAAO;AAAA,IACX,GAAG,CAAC,CAAkB;AAAA,EAC1B;AAAA,EA2BA,IAAI,cAAc;AACd,UAAM,EAAC,aAAa,YAAY,UAAU,IAAG,IAAI,KAAK;AAEtD,QAAI,YAAY;AACZ,aAAO;AAAA,IACX;AAEA,UAAM,0BAA0B,SAAS,WAAW,KAAK,IAAI;AAC7D,UAAM,yBACF,SAAS,WAAW,KAAK,SAAS,CAAC,EAAE,SAAS,SAAS,CAAC,EAAE,MAAM,UAAU;AAE9E,QAAI,2BAA2B,EAAE,0BAA0B,SAAS,UAAU,IAAI;AAC9E,aAAO;AAAA,IACX;AAEA,WAAO;AAAA,EACX;AAAA,EAEQ,oBAAoB;AACxB,UAAM,EAAC,YAAW,IAAI,KAAK;AAE3B,QAAI,CAAC,eAAe,YAAY,SAAS,GAAG;AACxC,aAAO;AAAA,IACX;AAEA,WACI,6BAAAA,QAAA,cAAC,SAAI,WAAW,EAAE,aAAa,KAC3B,6BAAAA,QAAA,cAAC,kCAAY,OAAO,aAAa,CACrC;AAAA,EAER;AAAA,EAEQ,cAAc;AAClB,UAAM,EAAC,OAAO,MAAM,gBAAgB,sBAAsB,UAAU,aAAY,IAC5E,KAAK;AACT,UAAM,gBAAgB;AACtB,UAAM,YAAY,YAAY,OAAO,YAAY,IAAI,KAAK,CAAC,KAAK;AAEhE,QAAI,CAAC,OAAO;AACR,aAAO;AAAA,IACX;AAEA,WACI,6BAAAA,QAAA,cAAC,oCAAa,OAAO,KAAK,OAAO,WAAW,EAAE,OAAO,KACjD,6BAAAA,QAAA,cAAC,wBAAM,KAAM,GACZ,iBACG,6BAAAA,QAAA;AAAA,MAAC;AAAA;AAAA,QACG,cAAc,QAAQ,cAAc;AAAA,QACpC,YAAY;AAAA;AAAA,IAChB,GAEH,aAAa,6BAAAA,QAAA,cAAC,kCAAY,WAAW,EAAE,cAAc,GAAG,OAAc,CAC3E;AAAA,EAER;AAAA,EAEQ,yBAAyB;AA7arC;AA8aQ,UAAM,EAAC,MAAM,iBAAgB,IAAI,KAAK;AAEtC,QAAI,kBAAkB;AAClB,aAAO;AAAA,IACX;AAEA,UAAM,SAAS,KAAK,aAAa,GAAC,kCAAM,iBAAN,mBAAoB,OAAM;AAC5D,UAAM,eAAe,KAAK,mBAAmB;AAC7C,UAAM,YAAY,KAAK,gBAAgB,6BAAM,SAAS;AAEtD,WACI,6BAAAA,QAAA,cAAC,SAAI,WAAW,EAAE,mBAAmB,KAChC,QACA,cACA,SACL;AAAA,EAER;AAAA,EAEQ,gBAAgB,WAAoB;AACxC,QAAI,CAAC,WAAW;AACZ,aAAO;AAAA,IACX;AAEA,WAAO,6BAAAA,QAAA,cAAC,qBAAAC,SAAA,EAAc,WAAsB;AAAA,EAChD;AAAA,EAEQ,aAAa,YAAqB;AACtC,UAAM,EAAC,KAAI,IAAI,KAAK;AAEpB,QAAI,KAAC,4BAAc,6BAAM,MAAM,GAAG;AAC9B,aAAO;AAAA,IACX;AAEA,WACI,6BAAAD,QAAA;AAAA,MAAC,oBAAAE;AAAA,MAAA;AAAA,QACG,OAAO,CAAC,KAAK,MAAM;AAAA,QACnB;AAAA,QACA,iBAAiB;AAAA,QACjB,UAAU;AAAA;AAAA,IACd;AAAA,EAER;AAAA,EAEQ,qBAAqB;AACzB,UAAM,EAAC,KAAI,IAAI,KAAK;AAEpB,QAAI,EAAC,6BAAM,iBAAgB,KAAK,aAAa,WAAW,GAAG;AACvD,aAAO;AAAA,IACX;AAEA,WAAO,6BAAAF,QAAA,cAAC,oBAAAE,SAAA,EAAa,OAAO,KAAK,cAAc;AAAA,EACnD;AAAA,EAEQ,uBAAuB;AAC3B,UAAM,EAAC,SAAQ,IAAI,KAAK;AAExB,WACI,6BAAAF,QAAA,cAAC,SAAI,WAAW,EAAE,oBAAoB,KAAK,KACvC,6BAAAA,QAAA,cAAC,YACI,SAAS,IAAI,CAAC,EAAC,OAAO,MAAM,OAAO,MAAK,GAAG,UAAU;AAClD,UAAI,UAAU,GAAG;AACb,eAAO;AAAA,MACX;AAEA,aACI,6BAAAA,QAAA,cAAC,QAAG,KAAK,SACL,6BAAAA,QAAA,cAAC,OAAE,QAAa,KAAM,GACrB,SACG,6BAAAA,QAAA,cAAC,YACI,MAAM;AAAA,QACH,CACI;AAAA,UACI,OAAO;AAAA,UACP,MAAM;AAAA,UACN,OAAO;AAAA,QACX,GACA,QACC;AACD,cAAI,cAAc,GAAG;AACjB,mBAAO;AAAA,UACX;AAEA,iBACI,6BAAAA,QAAA,cAAC,QAAG,KAAK,OACL,6BAAAA,QAAA,cAAC,OAAE,MAAM,YAAW,SAAU,CAClC;AAAA,QAER;AAAA,MACJ,CACJ,CAER;AAAA,IAER,CAAC,CACL,CACJ;AAAA,EAER;AAAA,EAEQ,aAAa;AACjB,UAAM,EAAC,MAAM,SAAQ,IAAI,KAAK;AAE9B,QAAI,CAAC,MAAM;AACP,aAAO;AAAA,IACX;AAEA,WACI,6BAAAA,QAAA;AAAA,MAAC;AAAA;AAAA,QACG,KAAK,KAAK;AAAA,QACV,WAAW,EAAE,QAAQ,EAAC,aAAa,SAAQ,GAAG,KAAK;AAAA,QACnD,yBAAyB,EAAC,QAAQ,KAAI;AAAA;AAAA,IAC1C;AAAA,EAER;AAAA,EAEQ,iBAAiB;AACrB,UAAM,EAAC,YAAY,SAAS,YAAY,gBAAgB,qBAAoB,IAAI,KAAK;AAErF,QAAI,cAAc,wBAAwB,CAAC,gBAAgB;AACvD,aAAO;AAAA,IACX;AAEA,WACI,6BAAAA,QAAA,cAAC,SAAI,WAAW,EAAE,UAAU,KACxB,6BAAAA,QAAA;AAAA,MAAC;AAAA;AAAA,QACG;AAAA,QACA;AAAA,QACA;AAAA,QACA,MAAM,6BAAa;AAAA;AAAA,IACvB,CACJ;AAAA,EAER;AAAA,EAEQ,oBAAoB;AACxB,UAAM,EAAC,KAAK,YAAY,QAAQ,YAAY,mBAAkB,IAAI,KAAK;AAEvE,QAAI,CAAC,OAAO,YAAY;AACpB,aAAO;AAAA,IACX;AAEA,WACI,6BAAAA,QAAA;AAAA,MAAC;AAAA,uCACO,MADP;AAAA,QAEG,SAAS;AAAA,QACT;AAAA,QACA,OAAO;AAAA,QACP,WAAW,EAAE,eAAe;AAAA;AAAA,IAChC;AAAA,EAER;AAAA,EAEQ,aAAa;AACjB,UAAM,EAAC,KAAK,MAAM,QAAQ,QAAO,IAAI,KAAK;AAC1C,UAAM,WACF,IAAI,UAAU,aACd,KAAK,UAAU,aACf,KAAK,aAAa,SAClB,IAAI,aAAa;AAErB,WAAO,QAAQ,YAAY,UAAU,OAAO;AAAA,EAChD;AAAA,EAqCQ,iBAAiB;AACrB,UAAM;AAAA,MACF;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,IACJ,IAAI,KAAK;AAET,QAAI,cAAc;AACd,aAAO;AAAA,IACX;AAEA,UAAM,iBAAiB,KAAK,kBAAkB;AAE9C,WACI,6BAAAA,QAAA,cAAC,SAAI,WAAW,EAAE,YAAY,EAAC,UAAU,eAAc,CAAC,KACpD,6BAAAA,QAAA,cAAC,kCAAe,kBACZ,6BAAAA,QAAA;AAAA,MAAC;AAAA;AAAA,QACG;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA,aAAa,KAAK;AAAA,QAClB;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA,iBAAiB,mBAAmB,cAAc,CAAC,KAAK,WAAW;AAAA,QACnE;AAAA;AAAA,IACJ,CACJ,CACJ;AAAA,EAER;AACJ;AA1lBI,cADE,SACK,gBAA4B;AA4lBvC,IAAO,sBAAQ,6CAA2B,OAAO;",
4
+ "sourcesContent": ["import React, {ReactPortal} from 'react';\nimport {Link} from '@gravity-ui/icons';\nimport block from 'bem-cn-lite';\nimport {createPortal} from 'react-dom';\n\nimport {DEFAULT_SETTINGS} from '../../constants';\nimport {\n ControlSizes,\n DocPageData,\n DocSettings,\n FeedbackSendData,\n Lang,\n Router,\n SubscribeData,\n TextSizes,\n Theme,\n VcsType,\n} from '../../models';\nimport {InnerProps, callSafe, getRandomKey, getStateKey, isContributor} from '../../utils';\nimport {BookmarkButton} from '../BookmarkButton';\nimport {Breadcrumbs} from '../Breadcrumbs';\nimport {ContentWrapper} from '../ContentWrapper';\nimport Contributors from '../Contributors/Contributors';\nimport {Controls, ControlsLayout, EditControl} from '../Controls';\nimport {DocLayout} from '../DocLayout';\nimport {DocPageTitle} from '../DocPageTitle';\nimport {Feedback, FeedbackView} from '../Feedback';\nimport {HTML} from '../HTML';\nimport {ShareButton} from '../ShareButton';\nimport {SubNavigation} from '../SubNavigation';\nimport {SearchBar, withHighlightedSearchWords} from '../SearchBar';\nimport {TocNavPanel} from '../TocNavPanel';\nimport UpdatedAtDate from '../UpdatedAtDate/UpdatedAtDate';\nimport {Notification, NotificationProps} from '../Notification';\n\nimport './DocPage.scss';\n\nconst b = block('dc-doc-page');\n\nexport interface DocPageProps extends DocPageData, DocSettings, NotificationProps {\n lang: `${Lang}` | Lang;\n langs?: (`${Lang}` | Lang)[];\n router: Router;\n headerHeight?: number;\n tocTitleIcon?: React.ReactNode;\n hideToc?: boolean;\n legacyToc?: boolean;\n\n showSearchBar?: boolean;\n searchQuery?: string;\n onClickPrevSearch?: () => void;\n onClickNextSearch?: () => void;\n onCloseSearchBar?: () => void;\n onTocNavPanelClick?: (at: 'prev' | 'next') => void;\n searchCurrentIndex?: number;\n searchCountResults?: number;\n\n hideTocHeader?: boolean;\n hideControls?: boolean;\n hideEditControl?: boolean;\n hideFeedbackControls?: boolean;\n hideContributors?: boolean;\n renderLoader?: () => React.ReactNode;\n convertPathToOriginalArticle?: (path: string) => string;\n generatePathToVcs?: (path: string) => string;\n onChangeLang?: (lang: `${Lang}` | Lang) => void;\n onChangeFullScreen?: (value: boolean) => void;\n onChangeSinglePage?: (value: boolean) => void;\n onChangeWideFormat?: (value: boolean) => void;\n onChangeShowMiniToc?: (value: boolean) => void;\n onChangeBookmarkPage?: (value: boolean) => void;\n onChangeTheme?: (theme: Theme) => void;\n onChangeTextSize?: (textSize: TextSizes) => void;\n onSendFeedback?: (data: FeedbackSendData) => void;\n onContentMutation?: () => void;\n onContentLoaded?: () => void;\n onSubscribe?: (data: SubscribeData) => void;\n pdfLink?: string;\n onMiniTocItemClick?: (event: MouseEvent) => void;\n useMainTag?: boolean;\n isMobile?: boolean;\n}\n\ntype DocPageInnerProps = InnerProps<DocPageProps, DocSettings>;\ntype DocPageState = {\n loading: boolean;\n keyDOM: number;\n};\n\nclass DocPage extends React.Component<DocPageInnerProps, DocPageState> {\n static defaultProps: DocSettings = DEFAULT_SETTINGS;\n\n state: DocPageState;\n bodyRef: HTMLDivElement | null = null;\n bodyObserver: MutationObserver | null = null;\n\n constructor(props: DocPageInnerProps) {\n super(props);\n\n this.state = {\n loading: props.singlePage,\n keyDOM: getRandomKey(),\n };\n }\n\n componentDidMount(): void {\n const {singlePage} = this.props;\n\n if (singlePage) {\n this.addLinksToOriginalArticle();\n }\n\n this.setState({loading: false});\n\n this.addBodyObserver();\n }\n\n componentDidUpdate(prevProps: DocPageInnerProps): void {\n if (prevProps.singlePage !== this.props.singlePage) {\n this.setState({loading: true});\n }\n\n if (prevProps.html !== this.props.html) {\n this.setState({keyDOM: getRandomKey()});\n }\n }\n\n componentWillUnmount(): void {\n if (this.bodyObserver) {\n this.bodyObserver.disconnect();\n }\n }\n\n render() {\n const {\n toc,\n router,\n headings,\n lang,\n langs,\n theme,\n title,\n headerHeight,\n wideFormat,\n fullScreen,\n singlePage,\n tocTitleIcon,\n hideTocHeader,\n hideToc,\n footer,\n onChangeSinglePage,\n pdfLink,\n useMainTag,\n onChangeLang,\n onChangeTheme,\n onMiniTocItemClick,\n legacyToc,\n notification,\n notificationCb,\n } = this.props;\n\n const hideBurger = typeof headerHeight !== 'undefined' && headerHeight > 0;\n\n const modes = {\n 'regular-page-width': !wideFormat,\n 'full-screen': fullScreen,\n 'single-page': singlePage,\n };\n\n const mobileControlsData = {\n controlSize: ControlSizes.L,\n lang,\n userSettings: {\n langs,\n onChangeLang,\n theme,\n onChangeTheme,\n },\n };\n\n return (\n <DocLayout\n toc={toc}\n router={router}\n headerHeight={headerHeight}\n className={b(modes)}\n fullScreen={fullScreen}\n tocTitleIcon={tocTitleIcon}\n wideFormat={wideFormat}\n hideTocHeader={hideTocHeader}\n hideToc={hideToc}\n loading={this.state.loading}\n footer={footer}\n singlePage={singlePage}\n onChangeSinglePage={onChangeSinglePage}\n pdfLink={pdfLink}\n legacyToc={legacyToc}\n >\n <DocLayout.Center>\n {this.renderSearchBar()}\n <Notification notification={notification} notificationCb={notificationCb} />\n {this.renderBreadcrumbs()}\n {this.renderControls()}\n <div className={b('main')}>\n <ContentWrapper className={b('content')} useMainTag={useMainTag}>\n {this.renderTitle()}\n {this.renderPageContributors()}\n {this.showMiniToc && this.renderContentMiniToc()}\n {this.renderBody()}\n {this.renderFeedback()}\n </ContentWrapper>\n {this.renderTocNavPanel()}\n </div>\n {this.renderLoader()}\n {this.renderSinglePageControls()}\n </DocLayout.Center>\n <DocLayout.Right>\n {/* This key allows recalculating the offset for the mini-toc for Safari */}\n <div\n className={b('aside')}\n key={getStateKey(this.showMiniToc, wideFormat, singlePage)}\n >\n <SubNavigation\n router={router}\n toc={toc}\n keyDOM={this.state.keyDOM}\n pageTitle={title}\n headings={headings}\n mobileControlsData={mobileControlsData}\n headerHeight={headerHeight}\n hideMiniToc={!this.showMiniToc}\n hideBurger={hideBurger}\n hideTocHeader={hideTocHeader}\n onMiniTocItemClick={\n onMiniTocItemClick as unknown as (event: React.MouseEvent) => void\n }\n />\n </div>\n </DocLayout.Right>\n </DocLayout>\n );\n }\n\n private handleBodyMutation = (mutationsList: MutationRecord[]) => {\n const {onContentMutation, onContentLoaded} = this.props;\n\n if (this.props.singlePage && this.bodyObserver && this.bodyRef) {\n this.bodyObserver.disconnect();\n this.addLinksToOriginalArticle();\n this.bodyObserver.observe(this.bodyRef, {\n childList: true,\n subtree: true,\n });\n }\n\n if (onContentMutation) {\n setTimeout(onContentMutation, 0);\n }\n\n this.setState({loading: false});\n\n if (!onContentLoaded) {\n return;\n }\n\n setTimeout(() => {\n mutationsList\n .filter(({type}) => type === 'childList')\n .forEach((mutation) => {\n const yfmRoot = mutation.target as HTMLElement;\n const yfmImages = Array.from(yfmRoot.querySelectorAll('img'));\n\n yfmImages.forEach((img) => {\n img.addEventListener('load', onContentLoaded, false);\n });\n });\n }, 0);\n };\n\n private addBodyObserver() {\n if (!this.bodyObserver) {\n this.bodyObserver = new MutationObserver(this.handleBodyMutation);\n }\n\n if (this.bodyRef) {\n this.bodyObserver.observe(this.bodyRef, {\n childList: true,\n subtree: true,\n });\n }\n }\n\n private setBodyRef = (ref: HTMLDivElement) => {\n this.bodyRef = ref;\n };\n\n private renderLoader() {\n const {renderLoader} = this.props;\n const {loading} = this.state;\n\n if (!renderLoader || !loading) {\n return null;\n }\n\n return <div className={b('loader-wrapper')}>{renderLoader()}</div>;\n }\n\n private renderSinglePageControls() {\n const {singlePage, convertPathToOriginalArticle, generatePathToVcs, vcsType} = this.props;\n\n if (!this.bodyRef || !singlePage) {\n return null;\n }\n\n const headers = Array.from(this.bodyRef.querySelectorAll('[data-original-article]'));\n\n return headers.reduce((acc, header, index) => {\n const href = callSafe(\n convertPathToOriginalArticle,\n header.getAttribute('data-original-article') || '',\n );\n\n if (href && header) {\n const vcsHref = callSafe(generatePathToVcs, href);\n\n acc.push(\n createPortal(\n <>\n <a className=\"yfm-anchor yfm-original-link\" href={href}>\n <Link />\n </a>\n {vcsHref && (\n <EditControl\n vcsUrl={vcsHref}\n vcsType={vcsType}\n view={'wide'}\n className={b('edit-button')}\n />\n )}\n </>,\n header,\n 'key-' + index,\n ),\n );\n }\n\n return acc;\n }, [] as ReactPortal[]);\n }\n\n private addLinksToOriginalArticle = () => {\n const {singlePage, generatePathToVcs} = this.props;\n\n if (!this.bodyRef || !singlePage) {\n return;\n }\n\n const headers = Array.from(this.bodyRef.querySelectorAll('[data-original-article]'));\n\n for (const header of headers) {\n /* Hide anchors */\n const anchors = Array.from(header.querySelectorAll('.yfm-anchor'));\n for (const anchor of anchors) {\n if (!anchor.classList.contains('yfm-original-link')) {\n anchor.classList.add('yfm-anchor_hidden');\n }\n }\n\n /* Create the link to the vcs */\n if (typeof generatePathToVcs === 'function') {\n header.classList.add(b('header-container'));\n }\n }\n };\n\n get showMiniToc() {\n const {showMiniToc, singlePage, headings, toc} = this.props;\n\n if (singlePage) {\n return false;\n }\n\n const emptyHeaderOrSinglePage = headings.length === 0 || toc.singlePage;\n const soloHeaderWithChildren =\n headings.length === 1 && headings[0].items && headings[0].items.length >= 1;\n\n if (emptyHeaderOrSinglePage || !(soloHeaderWithChildren || headings.length >= 2)) {\n return false;\n }\n\n return showMiniToc;\n }\n\n private renderBreadcrumbs() {\n const {breadcrumbs} = this.props;\n\n if (!breadcrumbs || breadcrumbs.length < 2) {\n return null;\n }\n\n return (\n <div className={b('breadcrumbs')}>\n <Breadcrumbs items={breadcrumbs} />\n </div>\n );\n }\n\n private renderTitle() {\n const {title, meta, bookmarkedPage, onChangeBookmarkPage, isMobile, headerHeight} =\n this.props;\n const withBookmarks = onChangeBookmarkPage;\n const withShare = isMobile && Number(headerHeight) > 0 && !this.showMiniToc;\n\n if (!title) {\n return null;\n }\n\n return (\n <DocPageTitle stage={meta.stage} className={b('title')}>\n <HTML>{title}</HTML>\n {withBookmarks && (\n <BookmarkButton\n isBookmarked={Boolean(bookmarkedPage)}\n onBookmark={onChangeBookmarkPage}\n />\n )}\n {withShare && <ShareButton className={b('share-button')} title={title} />}\n </DocPageTitle>\n );\n }\n\n private renderPageContributors() {\n const {meta, hideContributors} = this.props;\n\n if (hideContributors) {\n return null;\n }\n\n const author = this.renderAuthor(!meta?.contributors?.length);\n const contributors = this.renderContributors();\n const updatedAt = this.renderUpdatedAt(meta?.updatedAt);\n\n return (\n <div className={b('page-contributors')}>\n {author}\n {contributors}\n {updatedAt}\n </div>\n );\n }\n\n private renderUpdatedAt(updatedAt?: string) {\n if (!updatedAt) {\n return null;\n }\n\n return <UpdatedAtDate updatedAt={updatedAt} />;\n }\n\n private renderAuthor(onlyAuthor: boolean) {\n const {meta} = this.props;\n\n if (!isContributor(meta?.author)) {\n return null;\n }\n\n return (\n <Contributors\n users={[meta.author]}\n onlyAuthor={onlyAuthor}\n translationName={'authors'}\n isAuthor={true}\n />\n );\n }\n\n private renderContributors() {\n const {meta} = this.props;\n\n if (!meta?.contributors || meta.contributors.length === 0) {\n return null;\n }\n\n return <Contributors users={meta.contributors} />;\n }\n\n private renderContentMiniToc() {\n const {headings} = this.props;\n\n return (\n <div className={b('content-mini-toc', 'yfm')}>\n <ul>\n {headings.map(({title, href, level, items}, index) => {\n if (level !== 2) {\n return null;\n }\n\n return (\n <li key={index}>\n <a href={href}>{title}</a>\n {items && (\n <ul>\n {items.map(\n (\n {\n title: itemTitle,\n href: itemHref,\n level: itemLevel,\n },\n idx,\n ) => {\n if (itemLevel !== 3) {\n return null;\n }\n\n return (\n <li key={idx}>\n <a href={itemHref}>{itemTitle}</a>\n </li>\n );\n },\n )}\n </ul>\n )}\n </li>\n );\n })}\n </ul>\n </div>\n );\n }\n\n private renderBody() {\n const {html, textSize} = this.props;\n\n if (!html) {\n return null;\n }\n\n return (\n <div\n ref={this.setBodyRef}\n className={b('body', {'text-size': textSize}, 'yfm')}\n dangerouslySetInnerHTML={{__html: html}}\n />\n );\n }\n\n private renderFeedback() {\n const {singlePage, isLiked, isDisliked, onSendFeedback, hideFeedbackControls} = this.props;\n\n if (singlePage || hideFeedbackControls || !onSendFeedback) {\n return null;\n }\n\n return (\n <div className={b('feedback')}>\n <Feedback\n isLiked={isLiked}\n isDisliked={isDisliked}\n onSendFeedback={onSendFeedback}\n view={FeedbackView.Wide}\n />\n </div>\n );\n }\n\n private renderTocNavPanel() {\n const {toc, singlePage, router, fullScreen, onTocNavPanelClick} = this.props;\n\n if (!toc || singlePage) {\n return null;\n }\n\n return (\n <TocNavPanel\n {...toc}\n onClick={onTocNavPanelClick}\n router={router}\n fixed={fullScreen}\n className={b('toc-nav-panel')}\n />\n );\n }\n\n private isEditable() {\n const {toc, meta, vcsUrl, vcsType} = this.props;\n const editable =\n toc.stage !== 'preview' &&\n meta.stage !== 'preview' &&\n meta.editable !== false &&\n toc.editable !== false;\n\n return Boolean(editable && vcsUrl && vcsType);\n }\n\n private getIsVerticalView = () => {\n const {fullScreen} = this.props;\n return !this.showMiniToc || fullScreen;\n };\n\n private renderSearchBar = () => {\n const {\n showSearchBar,\n searchQuery,\n searchCurrentIndex,\n searchCountResults,\n onClickPrevSearch,\n onClickNextSearch,\n onCloseSearchBar,\n singlePage,\n } = this.props;\n\n if (!showSearchBar || singlePage) {\n return null;\n }\n\n return (\n <div className={b('search-bar')}>\n <SearchBar\n searchCurrentIndex={searchCurrentIndex}\n searchCountResults={searchCountResults}\n onClickPrevSearch={onClickPrevSearch}\n onClickNextSearch={onClickNextSearch}\n onCloseSearchBar={onCloseSearchBar}\n searchQuery={searchQuery}\n />\n </div>\n );\n };\n\n private renderControls() {\n const {\n lang,\n langs,\n textSize,\n theme,\n wideFormat,\n fullScreen,\n singlePage,\n vcsUrl,\n vcsType,\n onChangeLang,\n onChangeFullScreen,\n onChangeWideFormat,\n onChangeShowMiniToc,\n onChangeTheme,\n onChangeTextSize,\n onSendFeedback,\n onSubscribe,\n isLiked,\n isDisliked,\n hideControls,\n hideEditControl,\n hideFeedbackControls,\n } = this.props;\n\n if (hideControls) {\n return null;\n }\n\n const isVerticalView = this.getIsVerticalView();\n\n return (\n <div className={b('controls', {vertical: isVerticalView})}>\n <ControlsLayout isVerticalView={isVerticalView}>\n <Controls\n lang={lang}\n langs={langs}\n textSize={textSize}\n theme={theme}\n wideFormat={wideFormat}\n showMiniToc={this.showMiniToc}\n fullScreen={fullScreen}\n singlePage={singlePage}\n vcsUrl={vcsUrl as string}\n vcsType={vcsType as VcsType}\n isLiked={isLiked}\n isDisliked={isDisliked}\n onChangeLang={onChangeLang}\n onChangeFullScreen={onChangeFullScreen}\n onChangeWideFormat={onChangeWideFormat}\n onChangeShowMiniToc={onChangeShowMiniToc}\n onChangeTheme={onChangeTheme}\n onChangeTextSize={onChangeTextSize}\n onSendFeedback={onSendFeedback}\n onSubscribe={onSubscribe}\n hideEditControl={hideEditControl || fullScreen || !this.isEditable()}\n hideFeedbackControls={hideFeedbackControls}\n />\n </ControlsLayout>\n </div>\n );\n }\n}\n\nexport default withHighlightedSearchWords(DocPage);\n"],
5
+ "mappings": "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",
6
6
  "names": ["block", "React", "UpdatedAtDate", "Contributors"]
7
7
  }
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": 3,
3
- "sources": ["../../../../src/components/DocPageTitle/home/runner/work/components/components/src/components/DocPageTitle/DocPageTitle.scss", "../../../../src/components/DocPageTitle/%3Cinput%20css%20STKhXR%3E"],
3
+ "sources": ["../../../../src/components/DocPageTitle/home/runner/work/components/components/src/components/DocPageTitle/DocPageTitle.scss", "../../../../src/components/DocPageTitle/%3Cinput%20css%20LWYyV9%3E"],
4
4
  "sourcesContent": [".dc-doc-page-title {\n position: relative;\n\n display: flex;\n align-items: flex-end;\n\n &__label {\n position: absolute;\n left: 0;\n top: -11px;\n }\n}\n", ".dc-doc-page-title {\n position: relative;\n display: flex;\n align-items: flex-end;\n}\n.dc-doc-page-title__label {\n position: absolute;\n left: 0;\n top: -11px;\n}\n/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VSb290IjoiL2hvbWUvcnVubmVyL3dvcmsvY29tcG9uZW50cy9jb21wb25lbnRzL3NyYy9jb21wb25lbnRzL0RvY1BhZ2VUaXRsZSIsInNvdXJjZXMiOlsiRG9jUGFnZVRpdGxlLnNjc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7RUFDSTtFQUVBO0VBQ0E7O0FBRUE7RUFDSTtFQUNBO0VBQ0EiLCJzb3VyY2VzQ29udGVudCI6WyIuZGMtZG9jLXBhZ2UtdGl0bGUge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGZsZXgtZW5kO1xuXG4gICAgJl9fbGFiZWwge1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIGxlZnQ6IDA7XG4gICAgICAgIHRvcDogLTExcHg7XG4gICAgfVxufVxuIl19 */"],
5
5
  "mappings": ";AAAA,CAAA;AACI,YAAA;AAEA,WAAA;AACA,eAAA;ACAJ;ADEI,CAAA;AACI,YAAA;AACA,QAAA;AACA,OAAA;ACAR;",
6
6
  "names": []
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": 3,
3
- "sources": ["../../../../src/components/ErrorPage/home/runner/work/components/components/src/components/ErrorPage/ErrorPage.scss", "../../../../src/components/ErrorPage/%3Cinput%20css%20kVFi1f%3E", "../../../../src/components/ErrorPage/home/runner/work/components/components/src/styles/mixins.scss"],
3
+ "sources": ["../../../../src/components/ErrorPage/home/runner/work/components/components/src/components/ErrorPage/ErrorPage.scss", "../../../../src/components/ErrorPage/%3Cinput%20css%20wQsj74%3E", "../../../../src/components/ErrorPage/home/runner/work/components/components/src/styles/mixins.scss"],
4
4
  "sourcesContent": ["@use '../../styles/variables';\n@use '../../styles/mixins';\n\n.ErrorPage {\n display: flex;\n flex-direction: column;\n align-items: center;\n margin-top: 70px;\n padding: 0 50px;\n text-align: center;\n\n &__image {\n width: 230px;\n height: 230px;\n margin-bottom: 40px;\n\n background-size: contain;\n background-repeat: no-repeat;\n background-position: center center;\n\n //The images for error page are supposed to be installed via overriding \"background-image\" variable\n &_code {\n &_403 {\n background-image: var(--dc-error-image-403);\n }\n\n &_404 {\n background-image: var(--dc-error-image-404);\n }\n\n &_500 {\n background-image: var(--dc-error-image-500);\n }\n }\n }\n\n &__code {\n margin-bottom: 10px;\n }\n\n &__title {\n @include mixins.heading3();\n\n max-width: 800px;\n margin-bottom: 20px;\n }\n\n &__description {\n display: flex;\n flex-direction: column;\n gap: 10px;\n\n max-width: 600px;\n\n &-link {\n width: 100%;\n max-width: 200px;\n }\n }\n\n a {\n @include mixins.link();\n }\n\n .mobile & {\n margin-top: 40px;\n padding: 0 20px;\n }\n}\n", ".ErrorPage {\n display: flex;\n flex-direction: column;\n align-items: center;\n margin-top: 70px;\n padding: 0 50px;\n text-align: center;\n}\n.ErrorPage__image {\n width: 230px;\n height: 230px;\n margin-bottom: 40px;\n background-size: contain;\n background-repeat: no-repeat;\n background-position: center center;\n}\n.ErrorPage__image_code_403 {\n background-image: var(--dc-error-image-403);\n}\n.ErrorPage__image_code_404 {\n background-image: var(--dc-error-image-404);\n}\n.ErrorPage__image_code_500 {\n background-image: var(--dc-error-image-500);\n}\n.ErrorPage__code {\n margin-bottom: 10px;\n}\n.ErrorPage__title {\n font-weight: 500;\n font-size: var(--g-text-header-2-font-size);\n line-height: var(--g-text-header-2-line-height);\n max-width: 800px;\n margin-bottom: 20px;\n}\n.ErrorPage__description {\n display: flex;\n flex-direction: column;\n gap: 10px;\n max-width: 600px;\n}\n.ErrorPage__description-link {\n width: 100%;\n max-width: 200px;\n}\n.ErrorPage a {\n color: var(--g-color-text-link);\n text-decoration: none;\n cursor: pointer;\n border-radius: var(--g-focus-border-radius);\n outline: none;\n}\n.utilityfocus .ErrorPage a:focus {\n outline: 2px solid #ffdb4d;\n}\n.ErrorPage a:focus {\n box-shadow: 0 0 0 2px var(--g-color-line-focus);\n outline: 0;\n}\n.ErrorPage a:focus:not(:focus-visible) {\n box-shadow: none;\n}\n.ErrorPage a:hover, .ErrorPage a:active {\n color: var(--g-color-text-link-hover);\n}\n.mobile .ErrorPage {\n margin-top: 40px;\n padding: 0 20px;\n}\n/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VSb290IjoiL2hvbWUvcnVubmVyL3dvcmsvY29tcG9uZW50cy9jb21wb25lbnRzL3NyYy9jb21wb25lbnRzL0Vycm9yUGFnZSIsInNvdXJjZXMiOlsiRXJyb3JQYWdlLnNjc3MiLCIuLi8uLi9zdHlsZXMvbWl4aW5zLnNjc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBR0E7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7O0FBRUE7RUFDSTtFQUNBO0VBQ0E7RUFFQTtFQUNBO0VBQ0E7O0FBSUk7RUFDSTs7QUFHSjtFQUNJOztBQUdKO0VBQ0k7O0FBS1o7RUFDSTs7QUFHSjtFQytDQTtFQW5GQTtFQUNBO0VEc0NJO0VBQ0E7O0FBR0o7RUFDSTtFQUNBO0VBQ0E7RUFFQTs7QUFFQTtFQUNJO0VBQ0E7O0FBSVI7RUNMQTtFQUNBO0VBQ0E7RUFDQTtFQWpDQTs7QUFFQTtFQUNJOztBQWdCQTtFQUNJO0VBQ0E7O0FBRUo7RUFDSTs7QUFlUjtFQUVJOztBREZKO0VBQ0k7RUFDQSIsInNvdXJjZXNDb250ZW50IjpbIkB1c2UgJy4uLy4uL3N0eWxlcy92YXJpYWJsZXMnO1xuQHVzZSAnLi4vLi4vc3R5bGVzL21peGlucyc7XG5cbi5FcnJvclBhZ2Uge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIG1hcmdpbi10b3A6IDcwcHg7XG4gICAgcGFkZGluZzogMCA1MHB4O1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcblxuICAgICZfX2ltYWdlIHtcbiAgICAgICAgd2lkdGg6IDIzMHB4O1xuICAgICAgICBoZWlnaHQ6IDIzMHB4O1xuICAgICAgICBtYXJnaW4tYm90dG9tOiA0MHB4O1xuXG4gICAgICAgIGJhY2tncm91bmQtc2l6ZTogY29udGFpbjtcbiAgICAgICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyIGNlbnRlcjtcblxuICAgICAgICAvL1RoZSBpbWFnZXMgZm9yIGVycm9yIHBhZ2UgYXJlIHN1cHBvc2VkIHRvIGJlIGluc3RhbGxlZCB2aWEgb3ZlcnJpZGluZyBcImJhY2tncm91bmQtaW1hZ2VcIiB2YXJpYWJsZVxuICAgICAgICAmX2NvZGUge1xuICAgICAgICAgICAgJl80MDMge1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHZhcigtLWRjLWVycm9yLWltYWdlLTQwMyk7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICZfNDA0IHtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB2YXIoLS1kYy1lcnJvci1pbWFnZS00MDQpO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmXzUwMCB7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdmFyKC0tZGMtZXJyb3ItaW1hZ2UtNTAwKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX2NvZGUge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAxMHB4O1xuICAgIH1cblxuICAgICZfX3RpdGxlIHtcbiAgICAgICAgQGluY2x1ZGUgbWl4aW5zLmhlYWRpbmczKCk7XG5cbiAgICAgICAgbWF4LXdpZHRoOiA4MDBweDtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMjBweDtcbiAgICB9XG5cbiAgICAmX19kZXNjcmlwdGlvbiB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgIGdhcDogMTBweDtcblxuICAgICAgICBtYXgtd2lkdGg6IDYwMHB4O1xuXG4gICAgICAgICYtbGluayB7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgIG1heC13aWR0aDogMjAwcHg7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBhIHtcbiAgICAgICAgQGluY2x1ZGUgbWl4aW5zLmxpbmsoKTtcbiAgICB9XG5cbiAgICAubW9iaWxlICYge1xuICAgICAgICBtYXJnaW4tdG9wOiA0MHB4O1xuICAgICAgICBwYWRkaW5nOiAwIDIwcHg7XG4gICAgfVxufVxuIiwiQHVzZSAnc2FzczptYXAnO1xuQHVzZSAndmFyaWFibGVzJztcblxuQG1peGluIHRleHQtc2l6ZSgkbmFtZSkge1xuICAgIGZvbnQtc2l6ZTogdmFyKC0tZy10ZXh0LSN7JG5hbWV9LWZvbnQtc2l6ZSk7XG4gICAgbGluZS1oZWlnaHQ6IHZhcigtLWctdGV4dC0jeyRuYW1lfS1saW5lLWhlaWdodCk7XG59XG5cbkBtaXhpbiByZXNldC1saXN0LXN0eWxlKCkge1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiAwO1xuICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG59XG5cbkBtaXhpbiBmaXhBbmNob3JQb3NpdGlvbigkb2Zmc2V0OiAwcHgpIHtcbiAgICBwYWRkaW5nLXRvcDogY2FsYyh2YXIoLS1kYy1oZWFkZXItaGVpZ2h0LCAje3ZhcmlhYmxlcy4kaGVhZGVySGVpZ2h0fSkpO1xuICAgIG1hcmdpbi10b3A6IGNhbGMoI3skb2Zmc2V0fSAtIHZhcigtLWRjLWhlYWRlci1oZWlnaHQsICN7dmFyaWFibGVzLiRoZWFkZXJIZWlnaHR9KSk7XG59XG5cbkBtaXhpbiByZXNldC1saW5rLXN0eWxlKCkge1xuICAgIGNvbG9yOiBpbmhlcml0O1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbn1cblxuQG1peGluIGlzbGFuZHMtZm9jdXMoKSB7XG4gICAgb3V0bGluZTogbm9uZTtcblxuICAgIC51dGlsaXR5Zm9jdXMgJjpmb2N1cyB7XG4gICAgICAgIG91dGxpbmU6IDJweCBzb2xpZCAjZmZkYjRkO1xuICAgIH1cbn1cblxuQG1peGluIGZvY3VzYWJsZSgkb2Zmc2V0OiAwLCAkbW9kZTogJ291dGxpbmUnKSB7XG4gICAgQGlmICRtb2RlID09ICdvdXRsaW5lJyB7XG4gICAgICAgICY6Zm9jdXMge1xuICAgICAgICAgICAgb3V0bGluZTogMnB4IHNvbGlkIHZhcigtLWctY29sb3ItbGluZS1mb2N1cyk7XG4gICAgICAgICAgICBvdXRsaW5lLW9mZnNldDogJG9mZnNldDtcbiAgICAgICAgfVxuICAgICAgICAmOmZvY3VzOm5vdCg6Zm9jdXMtdmlzaWJsZSkge1xuICAgICAgICAgICAgb3V0bGluZTogMDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIEBpZiAkbW9kZSA9PSAnYm94LXNoYWRvdycge1xuICAgICAgICAmOmZvY3VzIHtcbiAgICAgICAgICAgIGJveC1zaGFkb3c6IDAgMCAwIDJweCB2YXIoLS1nLWNvbG9yLWxpbmUtZm9jdXMpO1xuICAgICAgICAgICAgb3V0bGluZTogMDtcbiAgICAgICAgfVxuICAgICAgICAmOmZvY3VzOm5vdCg6Zm9jdXMtdmlzaWJsZSkge1xuICAgICAgICAgICAgYm94LXNoYWRvdzogbm9uZTtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuQG1peGluIGxpbmsoKSB7XG4gICAgY29sb3I6IHZhcigtLWctY29sb3ItdGV4dC1saW5rKTtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIGJvcmRlci1yYWRpdXM6IHZhcigtLWctZm9jdXMtYm9yZGVyLXJhZGl1cyk7XG5cbiAgICBAaW5jbHVkZSBpc2xhbmRzLWZvY3VzKCk7XG5cbiAgICBAaW5jbHVkZSBmb2N1c2FibGUoMCwgJ2JveC1zaGFkb3cnKTtcblxuICAgICY6aG92ZXIsXG4gICAgJjphY3RpdmUge1xuICAgICAgICBjb2xvcjogdmFyKC0tZy1jb2xvci10ZXh0LWxpbmstaG92ZXIpO1xuICAgIH1cbn1cblxuQG1peGluIGhlYWRpbmcxKCkge1xuICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG5cbiAgICBAaW5jbHVkZSB0ZXh0LXNpemUoZGlzcGxheS0zKTtcblxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiBtYXAuZ2V0KHZhcmlhYmxlcy4kc2NyZWVuQnJlYWtwb2ludHMsICdtZCcpIC0gMSkge1xuICAgICAgICBAaW5jbHVkZSB0ZXh0LXNpemUoZGlzcGxheS0yKTtcbiAgICB9XG59XG5cbkBtaXhpbiBoZWFkaW5nMigpIHtcbiAgICBmb250LXdlaWdodDogNTAwO1xuXG4gICAgQGluY2x1ZGUgdGV4dC1zaXplKGRpc3BsYXktMSk7XG59XG5cbkBtaXhpbiBoZWFkaW5nMygpIHtcbiAgICBmb250LXdlaWdodDogNTAwO1xuXG4gICAgQGluY2x1ZGUgdGV4dC1zaXplKGhlYWRlci0yKTtcbn1cblxuQG1peGluIGhlYWRpbmc0KCkge1xuICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG5cbiAgICBAaW5jbHVkZSB0ZXh0LXNpemUoaGVhZGVyLTEpO1xufVxuXG5AbWl4aW4gaGVhZGluZzUoKSB7XG4gICAgZm9udC13ZWlnaHQ6IDUwMDtcblxuICAgIEBpbmNsdWRlIHRleHQtc2l6ZShib2R5LTMpO1xufVxuXG5AbWl4aW4gaGVhZGluZzYoKSB7XG4gICAgZm9udC13ZWlnaHQ6IDQwMDtcblxuICAgIEBpbmNsdWRlIHRleHQtc2l6ZShib2R5LTMpO1xufVxuXG5AbWl4aW4gY29udHJpYnV0b3JzLXRleHQoKSB7XG4gICAgZm9udC1zaXplOiAxM3B4O1xuICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgbWFyZ2luLXJpZ2h0OiA1cHg7XG4gICAgYWxpZ24tc2VsZjogY2VudGVyO1xufVxuXG5AbWl4aW4gdGV4dC1ib2R5LTEoKSB7XG4gICAgZm9udC1zaXplOiB2YXIoLS1nLXRleHQtYm9keS0xLWZvbnQtc2l6ZSk7XG4gICAgbGluZS1oZWlnaHQ6IHZhcigtLWctdGV4dC1ib2R5LTEtbGluZS1oZWlnaHQpO1xuICAgIGZvbnQtd2VpZ2h0OiB2YXIoLS1nLXRleHQtYm9keS1mb250LXdlaWdodCk7XG59XG5cbkBtaXhpbiBkZXNrdG9wLW9ubHkoKSB7XG4gICAgQG1lZGlhIChtYXgtd2lkdGg6IG1hcC5nZXQodmFyaWFibGVzLiRzY3JlZW5CcmVha3BvaW50cywgJ21kJykgLSAxKSB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxufVxuXG5AbWl4aW4gZGVza3RvcC10YWJsZXQtb25seSgpIHtcbiAgICBAbWVkaWEgKG1heC13aWR0aDogbWFwLmdldCh2YXJpYWJsZXMuJHNjcmVlbkJyZWFrcG9pbnRzLCAnc20nKSAtIDEpIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG59XG5cbkBtaXhpbiBtb2JpbGUtdGFibGV0LW9ubHkoKSB7XG4gICAgQG1lZGlhIChtaW4td2lkdGg6IG1hcC5nZXQodmFyaWFibGVzLiRzY3JlZW5CcmVha3BvaW50cywgJ21kJykpIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG59XG5cbkBtaXhpbiBtb2JpbGUtb25seSgpIHtcbiAgICBAbWVkaWEgKG1pbi13aWR0aDogbWFwLmdldCh2YXJpYWJsZXMuJHNjcmVlbkJyZWFrcG9pbnRzLCAnc20nKSkge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cbn1cbiJdfQ== */", "@use 'sass:map';\n@use 'variables';\n\n@mixin text-size($name) {\n font-size: var(--g-text-#{$name}-font-size);\n line-height: var(--g-text-#{$name}-line-height);\n}\n\n@mixin reset-list-style() {\n margin: 0;\n padding: 0;\n list-style: none;\n}\n\n@mixin fixAnchorPosition($offset: 0px) {\n padding-top: calc(var(--dc-header-height, #{variables.$headerHeight}));\n margin-top: calc(#{$offset} - var(--dc-header-height, #{variables.$headerHeight}));\n}\n\n@mixin reset-link-style() {\n color: inherit;\n text-decoration: none;\n}\n\n@mixin islands-focus() {\n outline: none;\n\n .utilityfocus &:focus {\n outline: 2px solid #ffdb4d;\n }\n}\n\n@mixin focusable($offset: 0, $mode: 'outline') {\n @if $mode == 'outline' {\n &:focus {\n outline: 2px solid var(--g-color-line-focus);\n outline-offset: $offset;\n }\n &:focus:not(:focus-visible) {\n outline: 0;\n }\n }\n\n @if $mode == 'box-shadow' {\n &:focus {\n box-shadow: 0 0 0 2px var(--g-color-line-focus);\n outline: 0;\n }\n &:focus:not(:focus-visible) {\n box-shadow: none;\n }\n }\n}\n\n@mixin link() {\n color: var(--g-color-text-link);\n text-decoration: none;\n cursor: pointer;\n border-radius: var(--g-focus-border-radius);\n\n @include islands-focus();\n\n @include focusable(0, 'box-shadow');\n\n &:hover,\n &:active {\n color: var(--g-color-text-link-hover);\n }\n}\n\n@mixin heading1() {\n font-weight: 500;\n\n @include text-size(display-3);\n\n @media (max-width: map.get(variables.$screenBreakpoints, 'md') - 1) {\n @include text-size(display-2);\n }\n}\n\n@mixin heading2() {\n font-weight: 500;\n\n @include text-size(display-1);\n}\n\n@mixin heading3() {\n font-weight: 500;\n\n @include text-size(header-2);\n}\n\n@mixin heading4() {\n font-weight: 500;\n\n @include text-size(header-1);\n}\n\n@mixin heading5() {\n font-weight: 500;\n\n @include text-size(body-3);\n}\n\n@mixin heading6() {\n font-weight: 400;\n\n @include text-size(body-3);\n}\n\n@mixin contributors-text() {\n font-size: 13px;\n font-weight: 400;\n margin-right: 5px;\n align-self: center;\n}\n\n@mixin text-body-1() {\n font-size: var(--g-text-body-1-font-size);\n line-height: var(--g-text-body-1-line-height);\n font-weight: var(--g-text-body-font-weight);\n}\n\n@mixin desktop-only() {\n @media (max-width: map.get(variables.$screenBreakpoints, 'md') - 1) {\n display: none;\n }\n}\n\n@mixin desktop-tablet-only() {\n @media (max-width: map.get(variables.$screenBreakpoints, 'sm') - 1) {\n display: none;\n }\n}\n\n@mixin mobile-tablet-only() {\n @media (min-width: map.get(variables.$screenBreakpoints, 'md')) {\n display: none;\n }\n}\n\n@mixin mobile-only() {\n @media (min-width: map.get(variables.$screenBreakpoints, 'sm')) {\n display: none;\n }\n}\n"],
5
5
  "mappings": ";AAGA,CAAA;AACI,WAAA;AACA,kBAAA;AACA,eAAA;AACA,cAAA;AACA,WAAA,EAAA;AACA,cAAA;ACFJ;ADII,CAAA;AACI,SAAA;AACA,UAAA;AACA,iBAAA;AAEA,mBAAA;AACA,qBAAA;AACA,uBAAA,OAAA;ACHR;ADOY,CAAA;AACI,oBAAA,IAAA;ACLhB;ADQY,CAAA;AACI,oBAAA,IAAA;ACNhB;ADSY,CAAA;AACI,oBAAA,IAAA;ACPhB;ADYI,CAAA;AACI,iBAAA;ACVR;ADaI,CAAA;AE+CA,eAAA;AAnFA,aAAA,IAAA;AACA,eAAA,IAAA;AFsCI,aAAA;AACA,iBAAA;ACVR;ADaI,CAAA;AACI,WAAA;AACA,kBAAA;AACA,OAAA;AAEA,aAAA;ACZR;ADcQ,CAAA;AACI,SAAA;AACA,aAAA;ACZZ;ADgBI,CAzDJ,UAyDI;AELA,SAAA,IAAA;AACA,2BAAA;AAAA,mBAAA;AACA,UAAA;AACA,iBAAA,IAAA;AAjCA,WAAA;AD0BJ;ACxBI,CAAA,aAAA,CFxBJ,UEwBI,CAAA;AACI,WAAA,IAAA,MAAA;AD0BR;ACVQ,CFzCR,UEyCQ,CAAA;AACI,cAAA,EAAA,EAAA,EAAA,IAAA,IAAA;AACA,WAAA;ADYZ;ACVQ,CF7CR,UE6CQ,CAAA,MAAA,KAAA;AACI,cAAA;ADYZ;ACGI,CF7DJ,UE6DI,CAAA;AAAA,CF7DJ,UE6DI,CAAA;AAEI,SAAA,IAAA;ADFR;ADAI,CAAA,OAAA,CA7DJ;AA8DQ,cAAA;AACA,WAAA,EAAA;ACER;",
6
6
  "names": []
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": 3,
3
- "sources": ["../../../../src/components/Feedback/home/runner/work/components/components/src/components/Feedback/Feedback.scss", "../../../../src/components/Feedback/%3Cinput%20css%20nuVDIo%3E", "../../../../src/components/Feedback/home/runner/work/components/components/src/styles/variables.scss", "../../../../src/components/Feedback/home/runner/work/components/components/src/styles/mixins.scss"],
3
+ "sources": ["../../../../src/components/Feedback/home/runner/work/components/components/src/components/Feedback/Feedback.scss", "../../../../src/components/Feedback/%3Cinput%20css%20WSjQmO%3E", "../../../../src/components/Feedback/home/runner/work/components/components/src/styles/variables.scss", "../../../../src/components/Feedback/home/runner/work/components/components/src/styles/mixins.scss"],
4
4
  "sourcesContent": ["@use 'sass:map';\n@use '../../styles/mixins';\n@use '../../styles/variables';\n\n$popupWidth: 320px;\n\n@mixin tooltip-in-center {\n @media screen and (max-width: map.get(variables.$screenBreakpoints, 'xs')) {\n & {\n // stylelint-disable declaration-no-important\n right: 0 !important;\n left: 0 !important;\n margin: auto;\n }\n }\n}\n\n.dc-feedback {\n &__container {\n &_view_wide {\n display: flex;\n align-items: center;\n flex-direction: column;\n width: 100%;\n }\n }\n\n &__container-col {\n display: flex;\n justify-content: center;\n align-items: center;\n flex-direction: column;\n gap: 20px;\n\n width: 100%;\n padding: 26px;\n\n border: 1px solid var(--g-color-line-generic);\n border-radius: 8px;\n\n &_view_wide {\n display: flex;\n align-items: center;\n }\n }\n\n &__success-popup {\n left: -20px;\n\n padding: variables.$popupPadding 50px variables.$popupPadding variables.$popupPadding;\n width: $popupWidth;\n\n &_view_wide {\n @include tooltip-in-center();\n }\n }\n\n &__variants-popup {\n padding: variables.$popupPadding;\n width: $popupWidth;\n left: -20px;\n\n &_view_wide {\n @include tooltip-in-center();\n }\n }\n\n &__popup-title {\n font-size: var(--g-text-body-2-font-size);\n line-height: var(--g-text-body-2-line-height);\n padding-bottom: 8px;\n }\n\n &__popup-text {\n font-size: var(--g-text-body-short-font-size);\n line-height: var(--g-text-body-short-line-height);\n }\n\n &__variants {\n display: flex;\n flex-direction: column;\n padding: 8px 0;\n }\n\n &__variant {\n margin-bottom: 8px;\n white-space: normal;\n }\n\n &__variant:last-child {\n margin-bottom: 0;\n }\n\n &__variants-actions {\n padding-top: 8px;\n display: flex;\n justify-content: flex-end;\n }\n\n &__variants-action {\n margin-left: 10px;\n }\n\n &__textarea {\n padding: 8px 0;\n }\n\n &__title {\n &_view_wide {\n @include mixins.text-size(subheader-3);\n font-weight: 400;\n }\n }\n\n &__controls {\n display: flex;\n gap: 20px;\n\n &_view_wide {\n display: flex;\n }\n }\n\n &__control {\n &:last-child,\n &:first-child {\n display: flex;\n align-items: center;\n\n font-size: 17px;\n line-height: 24px;\n font-weight: 400;\n }\n\n &_view_wide {\n margin-right: 24px;\n\n &:last-child {\n margin-right: 0;\n }\n }\n\n &_view_regular {\n margin-right: 4px;\n\n &:last-child {\n margin-right: 0;\n }\n }\n }\n}\n", ".dc-feedback__container_view_wide {\n display: flex;\n align-items: center;\n flex-direction: column;\n width: 100%;\n}\n.dc-feedback__container-col {\n display: flex;\n justify-content: center;\n align-items: center;\n flex-direction: column;\n gap: 20px;\n width: 100%;\n padding: 26px;\n border: 1px solid var(--g-color-line-generic);\n border-radius: 8px;\n}\n.dc-feedback__container-col_view_wide {\n display: flex;\n align-items: center;\n}\n.dc-feedback__success-popup {\n left: -20px;\n padding: 16px 50px 16px 16px;\n width: 320px;\n}\n@media screen and (max-width: 375px) {\n .dc-feedback__success-popup_view_wide {\n right: 0 !important;\n left: 0 !important;\n margin: auto;\n }\n}\n.dc-feedback__variants-popup {\n padding: 16px;\n width: 320px;\n left: -20px;\n}\n@media screen and (max-width: 375px) {\n .dc-feedback__variants-popup_view_wide {\n right: 0 !important;\n left: 0 !important;\n margin: auto;\n }\n}\n.dc-feedback__popup-title {\n font-size: var(--g-text-body-2-font-size);\n line-height: var(--g-text-body-2-line-height);\n padding-bottom: 8px;\n}\n.dc-feedback__popup-text {\n font-size: var(--g-text-body-short-font-size);\n line-height: var(--g-text-body-short-line-height);\n}\n.dc-feedback__variants {\n display: flex;\n flex-direction: column;\n padding: 8px 0;\n}\n.dc-feedback__variant {\n margin-bottom: 8px;\n white-space: normal;\n}\n.dc-feedback__variant:last-child {\n margin-bottom: 0;\n}\n.dc-feedback__variants-actions {\n padding-top: 8px;\n display: flex;\n justify-content: flex-end;\n}\n.dc-feedback__variants-action {\n margin-left: 10px;\n}\n.dc-feedback__textarea {\n padding: 8px 0;\n}\n.dc-feedback__title_view_wide {\n font-size: var(--g-text-subheader-3-font-size);\n line-height: var(--g-text-subheader-3-line-height);\n font-weight: 400;\n}\n.dc-feedback__controls {\n display: flex;\n gap: 20px;\n}\n.dc-feedback__controls_view_wide {\n display: flex;\n}\n.dc-feedback__control:last-child, .dc-feedback__control:first-child {\n display: flex;\n align-items: center;\n font-size: 17px;\n line-height: 24px;\n font-weight: 400;\n}\n.dc-feedback__control_view_wide {\n margin-right: 24px;\n}\n.dc-feedback__control_view_wide:last-child {\n margin-right: 0;\n}\n.dc-feedback__control_view_regular {\n margin-right: 4px;\n}\n.dc-feedback__control_view_regular:last-child {\n margin-right: 0;\n}\n/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VSb290IjoiL2hvbWUvcnVubmVyL3dvcmsvY29tcG9uZW50cy9jb21wb25lbnRzL3NyYy9jb21wb25lbnRzL0ZlZWRiYWNrIiwic291cmNlcyI6WyJGZWVkYmFjay5zY3NzIiwiLi4vLi4vc3R5bGVzL3ZhcmlhYmxlcy5zY3NzIiwiLi4vLi4vc3R5bGVzL21peGlucy5zY3NzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQW1CUTtFQUNJO0VBQ0E7RUFDQTtFQUNBOztBQUlSO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUVBO0VBQ0E7RUFFQTtFQUNBOztBQUVBO0VBQ0k7RUFDQTs7QUFJUjtFQUNJO0VBRUE7RUFDQSxPQTlDSzs7QUFHVDtFQUNJO0lBRUk7SUFDQTtJQUNBOzs7QUE2Q1I7RUFDSSxTQ2hETztFRGlEUCxPQXZESztFQXdETDs7QUFyREo7RUFDSTtJQUVJO0lBQ0E7SUFDQTs7O0FBdURSO0VBQ0k7RUFDQTtFQUNBOztBQUdKO0VBQ0k7RUFDQTs7QUFHSjtFQUNJO0VBQ0E7RUFDQTs7QUFHSjtFQUNJO0VBQ0E7O0FBR0o7RUFDSTs7QUFHSjtFQUNJO0VBQ0E7RUFDQTs7QUFHSjtFQUNJOztBQUdKO0VBQ0k7O0FBSUE7RUV4R0o7RUFDQTtFRnlHUTs7QUFJUjtFQUNJO0VBQ0E7O0FBRUE7RUFDSTs7QUFLSjtFQUVJO0VBQ0E7RUFFQTtFQUNBO0VBQ0E7O0FBR0o7RUFDSTs7QUFFQTtFQUNJOztBQUlSO0VBQ0k7O0FBRUE7RUFDSSIsInNvdXJjZXNDb250ZW50IjpbIkB1c2UgJ3Nhc3M6bWFwJztcbkB1c2UgJy4uLy4uL3N0eWxlcy9taXhpbnMnO1xuQHVzZSAnLi4vLi4vc3R5bGVzL3ZhcmlhYmxlcyc7XG5cbiRwb3B1cFdpZHRoOiAzMjBweDtcblxuQG1peGluIHRvb2x0aXAtaW4tY2VudGVyIHtcbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiBtYXAuZ2V0KHZhcmlhYmxlcy4kc2NyZWVuQnJlYWtwb2ludHMsICd4cycpKSB7XG4gICAgICAgICYge1xuICAgICAgICAgICAgLy8gc3R5bGVsaW50LWRpc2FibGUgZGVjbGFyYXRpb24tbm8taW1wb3J0YW50XG4gICAgICAgICAgICByaWdodDogMCAhaW1wb3J0YW50O1xuICAgICAgICAgICAgbGVmdDogMCAhaW1wb3J0YW50O1xuICAgICAgICAgICAgbWFyZ2luOiBhdXRvO1xuICAgICAgICB9XG4gICAgfVxufVxuXG4uZGMtZmVlZGJhY2sge1xuICAgICZfX2NvbnRhaW5lciB7XG4gICAgICAgICZfdmlld193aWRlIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9fY29udGFpbmVyLWNvbCB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICBnYXA6IDIwcHg7XG5cbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIHBhZGRpbmc6IDI2cHg7XG5cbiAgICAgICAgYm9yZGVyOiAxcHggc29saWQgdmFyKC0tZy1jb2xvci1saW5lLWdlbmVyaWMpO1xuICAgICAgICBib3JkZXItcmFkaXVzOiA4cHg7XG5cbiAgICAgICAgJl92aWV3X3dpZGUge1xuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX19zdWNjZXNzLXBvcHVwIHtcbiAgICAgICAgbGVmdDogLTIwcHg7XG5cbiAgICAgICAgcGFkZGluZzogdmFyaWFibGVzLiRwb3B1cFBhZGRpbmcgNTBweCB2YXJpYWJsZXMuJHBvcHVwUGFkZGluZyB2YXJpYWJsZXMuJHBvcHVwUGFkZGluZztcbiAgICAgICAgd2lkdGg6ICRwb3B1cFdpZHRoO1xuXG4gICAgICAgICZfdmlld193aWRlIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIHRvb2x0aXAtaW4tY2VudGVyKCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX192YXJpYW50cy1wb3B1cCB7XG4gICAgICAgIHBhZGRpbmc6IHZhcmlhYmxlcy4kcG9wdXBQYWRkaW5nO1xuICAgICAgICB3aWR0aDogJHBvcHVwV2lkdGg7XG4gICAgICAgIGxlZnQ6IC0yMHB4O1xuXG4gICAgICAgICZfdmlld193aWRlIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIHRvb2x0aXAtaW4tY2VudGVyKCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX19wb3B1cC10aXRsZSB7XG4gICAgICAgIGZvbnQtc2l6ZTogdmFyKC0tZy10ZXh0LWJvZHktMi1mb250LXNpemUpO1xuICAgICAgICBsaW5lLWhlaWdodDogdmFyKC0tZy10ZXh0LWJvZHktMi1saW5lLWhlaWdodCk7XG4gICAgICAgIHBhZGRpbmctYm90dG9tOiA4cHg7XG4gICAgfVxuXG4gICAgJl9fcG9wdXAtdGV4dCB7XG4gICAgICAgIGZvbnQtc2l6ZTogdmFyKC0tZy10ZXh0LWJvZHktc2hvcnQtZm9udC1zaXplKTtcbiAgICAgICAgbGluZS1oZWlnaHQ6IHZhcigtLWctdGV4dC1ib2R5LXNob3J0LWxpbmUtaGVpZ2h0KTtcbiAgICB9XG5cbiAgICAmX192YXJpYW50cyB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgIHBhZGRpbmc6IDhweCAwO1xuICAgIH1cblxuICAgICZfX3ZhcmlhbnQge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiA4cHg7XG4gICAgICAgIHdoaXRlLXNwYWNlOiBub3JtYWw7XG4gICAgfVxuXG4gICAgJl9fdmFyaWFudDpsYXN0LWNoaWxkIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICB9XG5cbiAgICAmX192YXJpYW50cy1hY3Rpb25zIHtcbiAgICAgICAgcGFkZGluZy10b3A6IDhweDtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcbiAgICB9XG5cbiAgICAmX192YXJpYW50cy1hY3Rpb24ge1xuICAgICAgICBtYXJnaW4tbGVmdDogMTBweDtcbiAgICB9XG5cbiAgICAmX190ZXh0YXJlYSB7XG4gICAgICAgIHBhZGRpbmc6IDhweCAwO1xuICAgIH1cblxuICAgICZfX3RpdGxlIHtcbiAgICAgICAgJl92aWV3X3dpZGUge1xuICAgICAgICAgICAgQGluY2x1ZGUgbWl4aW5zLnRleHQtc2l6ZShzdWJoZWFkZXItMyk7XG4gICAgICAgICAgICBmb250LXdlaWdodDogNDAwO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9fY29udHJvbHMge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBnYXA6IDIwcHg7XG5cbiAgICAgICAgJl92aWV3X3dpZGUge1xuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX2NvbnRyb2wge1xuICAgICAgICAmOmxhc3QtY2hpbGQsXG4gICAgICAgICY6Zmlyc3QtY2hpbGQge1xuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMTdweDtcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAyNHB4O1xuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICAgICAgfVxuXG4gICAgICAgICZfdmlld193aWRlIHtcbiAgICAgICAgICAgIG1hcmdpbi1yaWdodDogMjRweDtcblxuICAgICAgICAgICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAmX3ZpZXdfcmVndWxhciB7XG4gICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDRweDtcblxuICAgICAgICAgICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG4iLCIvLyBTaXplc1xuJGhlYWRlckhlaWdodDogMHB4O1xuJHN1YkhlYWRlckhlaWdodDogNDBweDtcbiRzdWJOYXZpZ2F0aW9uSGVpZ2h0OiA1MnB4O1xuJG5vcm1hbE9mZnNldDogMjBweDtcbiRtaW5pVG9jT2Zmc2V0OiA1NnB4O1xuJGJsb2NrTWFyZ2luQm90dG9tTGFyZ2U6IDIwcHg7XG4kYmxvY2tNYXJnaW5Cb3R0b21NZWRpdW06IDE1cHg7XG4kaGVhZGVyTWFyZ2luVG9wTGFyZ2U6IDQwcHg7XG4kaGVhZGVyTWFyZ2luVG9wTWVkaXVtOiAzMnB4O1xuJHBvcHVwUGFkZGluZzogMTZweDtcbiRjZW50ZXJCbG9ja01heFdpZHRoOiA3MzZweDtcblxuLy8gTmF2aWdhdGlvblxuJHRvTWFpbk1lbnVWZXJ0aWNhbFBhZGRpbmc6IDRweDtcbiR0b01haW5NZW51SG9yaXpvbnRhbFBhZGRpbmc6IDEycHg7XG4kdG9NYWluTWVudUhlaWdodDogY2FsYyhcbiAgICB2YXIoLS1kYy1zdWJuYXZpZ2F0aW9uLWhlaWdodCwgJHN1Yk5hdmlnYXRpb25IZWlnaHQpIC0gI3skdG9NYWluTWVudVZlcnRpY2FsUGFkZGluZ30gLSAjeyR0b01haW5NZW51VmVydGljYWxQYWRkaW5nfVxuKTtcblxuLy8gTWluaVRvY1xuJG1pbmlUb2NWZXJ0aWNhbFBhZGRpbmc6IDE2cHg7XG4kbWluaVRvY1RpdGxlSGVpZ2h0OiAyMHB4OyAvLyBsaW5lLWhlaWdodCBib2R5LTJcbiRtaW5pVG9jVGl0bGVNYXJnaW46IDEycHg7XG4kbW9iaWxlTWluaVRvY09mZnNldDogMiAqICRtaW5pVG9jVmVydGljYWxQYWRkaW5nICsgJG1pbmlUb2NUaXRsZUhlaWdodCArICRtaW5pVG9jVGl0bGVNYXJnaW47XG5cbiRzY3JlZW5CcmVha3BvaW50czogKFxuICAgICd4cyc6IDM3NXB4LFxuICAgICdzbSc6IDU3N3B4LFxuICAgICdtZCc6IDc2OXB4LFxuICAgICdsZyc6IDEwODFweCxcbiAgICAneGwnOiAxMTg1cHgsXG4pO1xuIiwiQHVzZSAnc2FzczptYXAnO1xuQHVzZSAndmFyaWFibGVzJztcblxuQG1peGluIHRleHQtc2l6ZSgkbmFtZSkge1xuICAgIGZvbnQtc2l6ZTogdmFyKC0tZy10ZXh0LSN7JG5hbWV9LWZvbnQtc2l6ZSk7XG4gICAgbGluZS1oZWlnaHQ6IHZhcigtLWctdGV4dC0jeyRuYW1lfS1saW5lLWhlaWdodCk7XG59XG5cbkBtaXhpbiByZXNldC1saXN0LXN0eWxlKCkge1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiAwO1xuICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG59XG5cbkBtaXhpbiBmaXhBbmNob3JQb3NpdGlvbigkb2Zmc2V0OiAwcHgpIHtcbiAgICBwYWRkaW5nLXRvcDogY2FsYyh2YXIoLS1kYy1oZWFkZXItaGVpZ2h0LCAje3ZhcmlhYmxlcy4kaGVhZGVySGVpZ2h0fSkpO1xuICAgIG1hcmdpbi10b3A6IGNhbGMoI3skb2Zmc2V0fSAtIHZhcigtLWRjLWhlYWRlci1oZWlnaHQsICN7dmFyaWFibGVzLiRoZWFkZXJIZWlnaHR9KSk7XG59XG5cbkBtaXhpbiByZXNldC1saW5rLXN0eWxlKCkge1xuICAgIGNvbG9yOiBpbmhlcml0O1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbn1cblxuQG1peGluIGlzbGFuZHMtZm9jdXMoKSB7XG4gICAgb3V0bGluZTogbm9uZTtcblxuICAgIC51dGlsaXR5Zm9jdXMgJjpmb2N1cyB7XG4gICAgICAgIG91dGxpbmU6IDJweCBzb2xpZCAjZmZkYjRkO1xuICAgIH1cbn1cblxuQG1peGluIGZvY3VzYWJsZSgkb2Zmc2V0OiAwLCAkbW9kZTogJ291dGxpbmUnKSB7XG4gICAgQGlmICRtb2RlID09ICdvdXRsaW5lJyB7XG4gICAgICAgICY6Zm9jdXMge1xuICAgICAgICAgICAgb3V0bGluZTogMnB4IHNvbGlkIHZhcigtLWctY29sb3ItbGluZS1mb2N1cyk7XG4gICAgICAgICAgICBvdXRsaW5lLW9mZnNldDogJG9mZnNldDtcbiAgICAgICAgfVxuICAgICAgICAmOmZvY3VzOm5vdCg6Zm9jdXMtdmlzaWJsZSkge1xuICAgICAgICAgICAgb3V0bGluZTogMDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIEBpZiAkbW9kZSA9PSAnYm94LXNoYWRvdycge1xuICAgICAgICAmOmZvY3VzIHtcbiAgICAgICAgICAgIGJveC1zaGFkb3c6IDAgMCAwIDJweCB2YXIoLS1nLWNvbG9yLWxpbmUtZm9jdXMpO1xuICAgICAgICAgICAgb3V0bGluZTogMDtcbiAgICAgICAgfVxuICAgICAgICAmOmZvY3VzOm5vdCg6Zm9jdXMtdmlzaWJsZSkge1xuICAgICAgICAgICAgYm94LXNoYWRvdzogbm9uZTtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuQG1peGluIGxpbmsoKSB7XG4gICAgY29sb3I6IHZhcigtLWctY29sb3ItdGV4dC1saW5rKTtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIGJvcmRlci1yYWRpdXM6IHZhcigtLWctZm9jdXMtYm9yZGVyLXJhZGl1cyk7XG5cbiAgICBAaW5jbHVkZSBpc2xhbmRzLWZvY3VzKCk7XG5cbiAgICBAaW5jbHVkZSBmb2N1c2FibGUoMCwgJ2JveC1zaGFkb3cnKTtcblxuICAgICY6aG92ZXIsXG4gICAgJjphY3RpdmUge1xuICAgICAgICBjb2xvcjogdmFyKC0tZy1jb2xvci10ZXh0LWxpbmstaG92ZXIpO1xuICAgIH1cbn1cblxuQG1peGluIGhlYWRpbmcxKCkge1xuICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG5cbiAgICBAaW5jbHVkZSB0ZXh0LXNpemUoZGlzcGxheS0zKTtcblxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiBtYXAuZ2V0KHZhcmlhYmxlcy4kc2NyZWVuQnJlYWtwb2ludHMsICdtZCcpIC0gMSkge1xuICAgICAgICBAaW5jbHVkZSB0ZXh0LXNpemUoZGlzcGxheS0yKTtcbiAgICB9XG59XG5cbkBtaXhpbiBoZWFkaW5nMigpIHtcbiAgICBmb250LXdlaWdodDogNTAwO1xuXG4gICAgQGluY2x1ZGUgdGV4dC1zaXplKGRpc3BsYXktMSk7XG59XG5cbkBtaXhpbiBoZWFkaW5nMygpIHtcbiAgICBmb250LXdlaWdodDogNTAwO1xuXG4gICAgQGluY2x1ZGUgdGV4dC1zaXplKGhlYWRlci0yKTtcbn1cblxuQG1peGluIGhlYWRpbmc0KCkge1xuICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG5cbiAgICBAaW5jbHVkZSB0ZXh0LXNpemUoaGVhZGVyLTEpO1xufVxuXG5AbWl4aW4gaGVhZGluZzUoKSB7XG4gICAgZm9udC13ZWlnaHQ6IDUwMDtcblxuICAgIEBpbmNsdWRlIHRleHQtc2l6ZShib2R5LTMpO1xufVxuXG5AbWl4aW4gaGVhZGluZzYoKSB7XG4gICAgZm9udC13ZWlnaHQ6IDQwMDtcblxuICAgIEBpbmNsdWRlIHRleHQtc2l6ZShib2R5LTMpO1xufVxuXG5AbWl4aW4gY29udHJpYnV0b3JzLXRleHQoKSB7XG4gICAgZm9udC1zaXplOiAxM3B4O1xuICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgbWFyZ2luLXJpZ2h0OiA1cHg7XG4gICAgYWxpZ24tc2VsZjogY2VudGVyO1xufVxuXG5AbWl4aW4gdGV4dC1ib2R5LTEoKSB7XG4gICAgZm9udC1zaXplOiB2YXIoLS1nLXRleHQtYm9keS0xLWZvbnQtc2l6ZSk7XG4gICAgbGluZS1oZWlnaHQ6IHZhcigtLWctdGV4dC1ib2R5LTEtbGluZS1oZWlnaHQpO1xuICAgIGZvbnQtd2VpZ2h0OiB2YXIoLS1nLXRleHQtYm9keS1mb250LXdlaWdodCk7XG59XG5cbkBtaXhpbiBkZXNrdG9wLW9ubHkoKSB7XG4gICAgQG1lZGlhIChtYXgtd2lkdGg6IG1hcC5nZXQodmFyaWFibGVzLiRzY3JlZW5CcmVha3BvaW50cywgJ21kJykgLSAxKSB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxufVxuXG5AbWl4aW4gZGVza3RvcC10YWJsZXQtb25seSgpIHtcbiAgICBAbWVkaWEgKG1heC13aWR0aDogbWFwLmdldCh2YXJpYWJsZXMuJHNjcmVlbkJyZWFrcG9pbnRzLCAnc20nKSAtIDEpIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG59XG5cbkBtaXhpbiBtb2JpbGUtdGFibGV0LW9ubHkoKSB7XG4gICAgQG1lZGlhIChtaW4td2lkdGg6IG1hcC5nZXQodmFyaWFibGVzLiRzY3JlZW5CcmVha3BvaW50cywgJ21kJykpIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG59XG5cbkBtaXhpbiBtb2JpbGUtb25seSgpIHtcbiAgICBAbWVkaWEgKG1pbi13aWR0aDogbWFwLmdldCh2YXJpYWJsZXMuJHNjcmVlbkJyZWFrcG9pbnRzLCAnc20nKSkge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cbn1cbiJdfQ== */", "// Sizes\n$headerHeight: 0px;\n$subHeaderHeight: 40px;\n$subNavigationHeight: 52px;\n$normalOffset: 20px;\n$miniTocOffset: 56px;\n$blockMarginBottomLarge: 20px;\n$blockMarginBottomMedium: 15px;\n$headerMarginTopLarge: 40px;\n$headerMarginTopMedium: 32px;\n$popupPadding: 16px;\n$centerBlockMaxWidth: 736px;\n\n// Navigation\n$toMainMenuVerticalPadding: 4px;\n$toMainMenuHorizontalPadding: 12px;\n$toMainMenuHeight: calc(\n var(--dc-subnavigation-height, $subNavigationHeight) - #{$toMainMenuVerticalPadding} - #{$toMainMenuVerticalPadding}\n);\n\n// MiniToc\n$miniTocVerticalPadding: 16px;\n$miniTocTitleHeight: 20px; // line-height body-2\n$miniTocTitleMargin: 12px;\n$mobileMiniTocOffset: 2 * $miniTocVerticalPadding + $miniTocTitleHeight + $miniTocTitleMargin;\n\n$screenBreakpoints: (\n 'xs': 375px,\n 'sm': 577px,\n 'md': 769px,\n 'lg': 1081px,\n 'xl': 1185px,\n);\n", "@use 'sass:map';\n@use 'variables';\n\n@mixin text-size($name) {\n font-size: var(--g-text-#{$name}-font-size);\n line-height: var(--g-text-#{$name}-line-height);\n}\n\n@mixin reset-list-style() {\n margin: 0;\n padding: 0;\n list-style: none;\n}\n\n@mixin fixAnchorPosition($offset: 0px) {\n padding-top: calc(var(--dc-header-height, #{variables.$headerHeight}));\n margin-top: calc(#{$offset} - var(--dc-header-height, #{variables.$headerHeight}));\n}\n\n@mixin reset-link-style() {\n color: inherit;\n text-decoration: none;\n}\n\n@mixin islands-focus() {\n outline: none;\n\n .utilityfocus &:focus {\n outline: 2px solid #ffdb4d;\n }\n}\n\n@mixin focusable($offset: 0, $mode: 'outline') {\n @if $mode == 'outline' {\n &:focus {\n outline: 2px solid var(--g-color-line-focus);\n outline-offset: $offset;\n }\n &:focus:not(:focus-visible) {\n outline: 0;\n }\n }\n\n @if $mode == 'box-shadow' {\n &:focus {\n box-shadow: 0 0 0 2px var(--g-color-line-focus);\n outline: 0;\n }\n &:focus:not(:focus-visible) {\n box-shadow: none;\n }\n }\n}\n\n@mixin link() {\n color: var(--g-color-text-link);\n text-decoration: none;\n cursor: pointer;\n border-radius: var(--g-focus-border-radius);\n\n @include islands-focus();\n\n @include focusable(0, 'box-shadow');\n\n &:hover,\n &:active {\n color: var(--g-color-text-link-hover);\n }\n}\n\n@mixin heading1() {\n font-weight: 500;\n\n @include text-size(display-3);\n\n @media (max-width: map.get(variables.$screenBreakpoints, 'md') - 1) {\n @include text-size(display-2);\n }\n}\n\n@mixin heading2() {\n font-weight: 500;\n\n @include text-size(display-1);\n}\n\n@mixin heading3() {\n font-weight: 500;\n\n @include text-size(header-2);\n}\n\n@mixin heading4() {\n font-weight: 500;\n\n @include text-size(header-1);\n}\n\n@mixin heading5() {\n font-weight: 500;\n\n @include text-size(body-3);\n}\n\n@mixin heading6() {\n font-weight: 400;\n\n @include text-size(body-3);\n}\n\n@mixin contributors-text() {\n font-size: 13px;\n font-weight: 400;\n margin-right: 5px;\n align-self: center;\n}\n\n@mixin text-body-1() {\n font-size: var(--g-text-body-1-font-size);\n line-height: var(--g-text-body-1-line-height);\n font-weight: var(--g-text-body-font-weight);\n}\n\n@mixin desktop-only() {\n @media (max-width: map.get(variables.$screenBreakpoints, 'md') - 1) {\n display: none;\n }\n}\n\n@mixin desktop-tablet-only() {\n @media (max-width: map.get(variables.$screenBreakpoints, 'sm') - 1) {\n display: none;\n }\n}\n\n@mixin mobile-tablet-only() {\n @media (min-width: map.get(variables.$screenBreakpoints, 'md')) {\n display: none;\n }\n}\n\n@mixin mobile-only() {\n @media (min-width: map.get(variables.$screenBreakpoints, 'sm')) {\n display: none;\n }\n}\n"],
5
5
  "mappings": ";AAmBQ,CAAA;AACI,WAAA;AACA,eAAA;AACA,kBAAA;AACA,SAAA;AClBZ;ADsBI,CAAA;AACI,WAAA;AACA,mBAAA;AACA,eAAA;AACA,kBAAA;AACA,OAAA;AAEA,SAAA;AACA,WAAA;AAEA,UAAA,IAAA,MAAA,IAAA;AACA,iBAAA;ACtBR;ADwBQ,CAAA;AACI,WAAA;AACA,eAAA;ACtBZ;AD0BI,CAAA;AACI,QAAA;AAEA,WAAA,KAAA,KAAA,KAAA;AACA,SAAA;ACzBR;ADlBI,OAAA,OAAA,IAAA,CAAA,SAAA,EAAA;AACI,GAAA;AAEI,WAAA;AACA,UAAA;AACA,YAAA;ACmBV;AACF;ADyBI,CAAA;AACI,WAAA;AACA,SAAA;AACA,QAAA;ACvBR;AD9BI,OAAA,OAAA,IAAA,CAAA,SAAA,EAAA;AACI,GAAA;AAEI,WAAA;AACA,UAAA;AACA,YAAA;AC+BV;AACF;ADuBI,CAAA;AACI,aAAA,IAAA;AACA,eAAA,IAAA;AACA,kBAAA;ACrBR;ADwBI,CAAA;AACI,aAAA,IAAA;AACA,eAAA,IAAA;ACtBR;ADyBI,CAAA;AACI,WAAA;AACA,kBAAA;AACA,WAAA,IAAA;ACvBR;AD0BI,CAAA;AACI,iBAAA;AACA,eAAA;ACxBR;AD2BI,CALA,oBAKA;AACI,iBAAA;ACzBR;AD4BI,CAAA;AACI,eAAA;AACA,WAAA;AACA,mBAAA;AC1BR;AD6BI,CAAA;AACI,eAAA;AC3BR;AD8BI,CAAA;AACI,WAAA,IAAA;AC5BR;ADgCQ,CAAA;AGxGJ,aAAA,IAAA;AACA,eAAA,IAAA;AHyGQ,eAAA;AC7BZ;ADiCI,CAAA;AACI,WAAA;AACA,OAAA;AC/BR;ADiCQ,CAAA;AACI,WAAA;AC/BZ;ADoCQ,CAAA,oBAAA;AAAA,CAAA,oBAAA;AAEI,WAAA;AACA,eAAA;AAEA,aAAA;AACA,eAAA;AACA,eAAA;ACpCZ;ADuCQ,CAAA;AACI,gBAAA;ACrCZ;ADuCY,CAHJ,8BAGI;AACI,gBAAA;ACrChB;ADyCQ,CAAA;AACI,gBAAA;ACvCZ;ADyCY,CAHJ,iCAGI;AACI,gBAAA;ACvChB;",
6
6
  "names": []
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": 3,
3
- "sources": ["../../../../src/components/Mark/home/runner/work/components/components/src/components/Mark/Mark.scss", "../../../../src/components/Mark/%3Cinput%20css%206l8xnH%3E"],
3
+ "sources": ["../../../../src/components/Mark/home/runner/work/components/components/src/components/Mark/Mark.scss", "../../../../src/components/Mark/%3Cinput%20css%20psFiM5%3E"],
4
4
  "sourcesContent": [".dc-mark {\n display: inline-block;\n font-weight: bold;\n line-height: 1;\n\n &_color {\n &_blue {\n color: #67b0f8;\n }\n\n &_green {\n color: #56bd67;\n }\n }\n\n &_size {\n &_s {\n font-size: 10px;\n letter-spacing: 0.25px;\n }\n\n &_m {\n font-size: 12px;\n letter-spacing: 0.3px;\n }\n }\n}\n", ".dc-mark {\n display: inline-block;\n font-weight: bold;\n line-height: 1;\n}\n.dc-mark_color_blue {\n color: #67b0f8;\n}\n.dc-mark_color_green {\n color: #56bd67;\n}\n.dc-mark_size_s {\n font-size: 10px;\n letter-spacing: 0.25px;\n}\n.dc-mark_size_m {\n font-size: 12px;\n letter-spacing: 0.3px;\n}\n/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VSb290IjoiL2hvbWUvcnVubmVyL3dvcmsvY29tcG9uZW50cy9jb21wb25lbnRzL3NyYy9jb21wb25lbnRzL01hcmsiLCJzb3VyY2VzIjpbIk1hcmsuc2NzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTtFQUNJO0VBQ0E7RUFDQTs7QUFHSTtFQUNJOztBQUdKO0VBQ0k7O0FBS0o7RUFDSTtFQUNBOztBQUdKO0VBQ0k7RUFDQSIsInNvdXJjZXNDb250ZW50IjpbIi5kYy1tYXJrIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgbGluZS1oZWlnaHQ6IDE7XG5cbiAgICAmX2NvbG9yIHtcbiAgICAgICAgJl9ibHVlIHtcbiAgICAgICAgICAgIGNvbG9yOiAjNjdiMGY4O1xuICAgICAgICB9XG5cbiAgICAgICAgJl9ncmVlbiB7XG4gICAgICAgICAgICBjb2xvcjogIzU2YmQ2NztcbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfc2l6ZSB7XG4gICAgICAgICZfcyB7XG4gICAgICAgICAgICBmb250LXNpemU6IDEwcHg7XG4gICAgICAgICAgICBsZXR0ZXItc3BhY2luZzogMC4yNXB4O1xuICAgICAgICB9XG5cbiAgICAgICAgJl9tIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMTJweDtcbiAgICAgICAgICAgIGxldHRlci1zcGFjaW5nOiAwLjNweDtcbiAgICAgICAgfVxuICAgIH1cbn1cbiJdfQ== */"],
5
5
  "mappings": ";AAAA,CAAA;AACI,WAAA;AACA,eAAA;AACA,eAAA;ACCJ;ADEQ,CAAA;AACI,SAAA;ACAZ;ADGQ,CAAA;AACI,SAAA;ACDZ;ADMQ,CAAA;AACI,aAAA;AACA,kBAAA;ACJZ;ADOQ,CAAA;AACI,aAAA;AACA,kBAAA;ACLZ;",
6
6
  "names": []
@@ -11,6 +11,7 @@
11
11
  margin: 0;
12
12
  padding: 0;
13
13
  list-style: none;
14
+ position: relative;
14
15
  max-height: calc(100vh - 0px - 52px - 56px);
15
16
  max-height: calc(100vh - var(--dc-header-height, 0px) - var(--dc-subnavigation-height, 52px) - 56px);
16
17
  overflow-x: hidden;
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
- "sources": ["../../../../src/components/MiniToc/home/runner/work/components/components/src/components/MiniToc/MiniToc.scss", "../../../../src/components/MiniToc/home/runner/work/components/components/src/styles/mixins.scss", "../../../../src/components/MiniToc/%3Cinput%20css%20xahGp_%3E", "../../../../src/components/MiniToc/home/runner/work/components/components/src/styles/variables.scss"],
4
- "sourcesContent": ["@use 'sass:map';\n@use '../../styles/variables';\n@use '../../styles/mixins';\n\n.dc-mini-toc {\n $class: &;\n\n &__title {\n font-weight: 500;\n color: var(--g-color-text-primary);\n margin-bottom: 12px;\n margin-top: 0;\n\n @include mixins.text-size(body-2);\n }\n\n &__sections {\n @include mixins.reset-list-style();\n\n max-height: calc(\n 100vh - var(--dc-header-height, #{variables.$headerHeight}) - var(\n --dc-subnavigation-height,\n #{variables.$subNavigationHeight}\n ) - #{variables.$miniTocOffset}\n );\n overflow: hidden auto;\n }\n\n &__section {\n display: block;\n\n & > #{$class}__section-link {\n border-left-color: var(--g-color-line-generic);\n\n @include mixins.focusable(-2px);\n }\n\n &-link {\n display: flex;\n align-items: center;\n padding: 6px 6px 6px 12px;\n min-height: 28px;\n\n color: var(--g-color-text-secondary);\n border-left: 2px solid transparent;\n text-decoration: none;\n\n &:hover {\n color: var(--g-color-text-complementary);\n }\n }\n\n &_child {\n #{$class}__section-link {\n padding-left: 25px;\n }\n }\n\n &_active > #{$class}__section-link {\n color: var(--g-color-text-primary);\n border-left-color: var(--g-color-text-primary);\n }\n }\n\n &__bottom {\n display: none;\n }\n\n @media (max-width: map.get(variables.$screenBreakpoints, 'md') - 1) {\n // fix bug with scrolling mini-toc and body on desktop\n body:has(&_overflowed:hover) {\n overflow-y: hidden;\n }\n\n $bottomHeight: 0;\n\n padding: variables.$miniTocVerticalPadding 8px variables.$miniTocVerticalPadding 20px;\n\n &__title {\n margin-bottom: variables.$miniTocTitleMargin;\n }\n\n &:has(&_overflowed) {\n #{$class}__bottom {\n $bottomHeight: 36px;\n\n display: block;\n height: $bottomHeight;\n }\n\n #{$class}__sections {\n max-height: calc(\n 100vh - var(--dc-header-height, #{variables.$headerHeight}) - var(\n --dc-subnavigation-height,\n #{variables.$subNavigationHeight}\n ) - #{variables.$mobileMiniTocOffset} - #{$bottomHeight}\n );\n }\n }\n\n &__section {\n &-link {\n padding: 8px 12px 8px 28px;\n }\n\n &_child {\n #{$class}__section-link {\n padding-left: 44px;\n }\n }\n }\n\n &__sections {\n @include mixins.text-size(body-2);\n\n max-height: calc(\n 100vh - var(--dc-header-height, #{variables.$headerHeight}) - var(\n --dc-subnavigation-height,\n #{variables.$subNavigationHeight}\n ) - #{variables.$mobileMiniTocOffset}\n );\n }\n }\n}\n", "@use 'sass:map';\n@use 'variables';\n\n@mixin text-size($name) {\n font-size: var(--g-text-#{$name}-font-size);\n line-height: var(--g-text-#{$name}-line-height);\n}\n\n@mixin reset-list-style() {\n margin: 0;\n padding: 0;\n list-style: none;\n}\n\n@mixin fixAnchorPosition($offset: 0px) {\n padding-top: calc(var(--dc-header-height, #{variables.$headerHeight}));\n margin-top: calc(#{$offset} - var(--dc-header-height, #{variables.$headerHeight}));\n}\n\n@mixin reset-link-style() {\n color: inherit;\n text-decoration: none;\n}\n\n@mixin islands-focus() {\n outline: none;\n\n .utilityfocus &:focus {\n outline: 2px solid #ffdb4d;\n }\n}\n\n@mixin focusable($offset: 0, $mode: 'outline') {\n @if $mode == 'outline' {\n &:focus {\n outline: 2px solid var(--g-color-line-focus);\n outline-offset: $offset;\n }\n &:focus:not(:focus-visible) {\n outline: 0;\n }\n }\n\n @if $mode == 'box-shadow' {\n &:focus {\n box-shadow: 0 0 0 2px var(--g-color-line-focus);\n outline: 0;\n }\n &:focus:not(:focus-visible) {\n box-shadow: none;\n }\n }\n}\n\n@mixin link() {\n color: var(--g-color-text-link);\n text-decoration: none;\n cursor: pointer;\n border-radius: var(--g-focus-border-radius);\n\n @include islands-focus();\n\n @include focusable(0, 'box-shadow');\n\n &:hover,\n &:active {\n color: var(--g-color-text-link-hover);\n }\n}\n\n@mixin heading1() {\n font-weight: 500;\n\n @include text-size(display-3);\n\n @media (max-width: map.get(variables.$screenBreakpoints, 'md') - 1) {\n @include text-size(display-2);\n }\n}\n\n@mixin heading2() {\n font-weight: 500;\n\n @include text-size(display-1);\n}\n\n@mixin heading3() {\n font-weight: 500;\n\n @include text-size(header-2);\n}\n\n@mixin heading4() {\n font-weight: 500;\n\n @include text-size(header-1);\n}\n\n@mixin heading5() {\n font-weight: 500;\n\n @include text-size(body-3);\n}\n\n@mixin heading6() {\n font-weight: 400;\n\n @include text-size(body-3);\n}\n\n@mixin contributors-text() {\n font-size: 13px;\n font-weight: 400;\n margin-right: 5px;\n align-self: center;\n}\n\n@mixin text-body-1() {\n font-size: var(--g-text-body-1-font-size);\n line-height: var(--g-text-body-1-line-height);\n font-weight: var(--g-text-body-font-weight);\n}\n\n@mixin desktop-only() {\n @media (max-width: map.get(variables.$screenBreakpoints, 'md') - 1) {\n display: none;\n }\n}\n\n@mixin desktop-tablet-only() {\n @media (max-width: map.get(variables.$screenBreakpoints, 'sm') - 1) {\n display: none;\n }\n}\n\n@mixin mobile-tablet-only() {\n @media (min-width: map.get(variables.$screenBreakpoints, 'md')) {\n display: none;\n }\n}\n\n@mixin mobile-only() {\n @media (min-width: map.get(variables.$screenBreakpoints, 'sm')) {\n display: none;\n }\n}\n", ".dc-mini-toc__title {\n font-weight: 500;\n color: var(--g-color-text-primary);\n margin-bottom: 12px;\n margin-top: 0;\n font-size: var(--g-text-body-2-font-size);\n line-height: var(--g-text-body-2-line-height);\n}\n.dc-mini-toc__sections {\n margin: 0;\n padding: 0;\n list-style: none;\n max-height: calc(100vh - var(--dc-header-height, 0px) - var(--dc-subnavigation-height, 52px) - 56px);\n overflow: hidden auto;\n}\n.dc-mini-toc__section {\n display: block;\n}\n.dc-mini-toc__section > .dc-mini-toc__section-link {\n border-left-color: var(--g-color-line-generic);\n}\n.dc-mini-toc__section > .dc-mini-toc__section-link:focus {\n outline: 2px solid var(--g-color-line-focus);\n outline-offset: -2px;\n}\n.dc-mini-toc__section > .dc-mini-toc__section-link:focus:not(:focus-visible) {\n outline: 0;\n}\n.dc-mini-toc__section-link {\n display: flex;\n align-items: center;\n padding: 6px 6px 6px 12px;\n min-height: 28px;\n color: var(--g-color-text-secondary);\n border-left: 2px solid transparent;\n text-decoration: none;\n}\n.dc-mini-toc__section-link:hover {\n color: var(--g-color-text-complementary);\n}\n.dc-mini-toc__section_child .dc-mini-toc__section-link {\n padding-left: 25px;\n}\n.dc-mini-toc__section_active > .dc-mini-toc__section-link {\n color: var(--g-color-text-primary);\n border-left-color: var(--g-color-text-primary);\n}\n.dc-mini-toc__bottom {\n display: none;\n}\n@media (max-width: 768px) {\n .dc-mini-toc {\n padding: 16px 8px 16px 20px;\n }\n body:has(.dc-mini-toc_overflowed:hover) {\n overflow-y: hidden;\n }\n .dc-mini-toc__title {\n margin-bottom: 12px;\n }\n .dc-mini-toc:has(.dc-mini-toc_overflowed) .dc-mini-toc__bottom {\n display: block;\n height: 36px;\n }\n .dc-mini-toc:has(.dc-mini-toc_overflowed) .dc-mini-toc__sections {\n max-height: calc(100vh - var(--dc-header-height, 0px) - var(--dc-subnavigation-height, 52px) - 64px - 36px);\n }\n .dc-mini-toc__section-link {\n padding: 8px 12px 8px 28px;\n }\n .dc-mini-toc__section_child .dc-mini-toc__section-link {\n padding-left: 44px;\n }\n .dc-mini-toc__sections {\n font-size: var(--g-text-body-2-font-size);\n line-height: var(--g-text-body-2-line-height);\n max-height: calc(100vh - var(--dc-header-height, 0px) - var(--dc-subnavigation-height, 52px) - 64px);\n }\n}\n/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VSb290IjoiL2hvbWUvcnVubmVyL3dvcmsvY29tcG9uZW50cy9jb21wb25lbnRzL3NyYy9jb21wb25lbnRzL01pbmlUb2MiLCJzb3VyY2VzIjpbIk1pbmlUb2Muc2NzcyIsIi4uLy4uL3N0eWxlcy9taXhpbnMuc2NzcyIsIi4uLy4uL3N0eWxlcy92YXJpYWJsZXMuc2NzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFPSTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VDUEo7RUFDQTs7QURXQTtFQ1BBO0VBQ0E7RUFDQTtFRFFJO0VBTUE7O0FBR0o7RUFDSTs7QUFFQTtFQUNJOztBQ0VKO0VBQ0k7RUFDQSxnQkRGMEI7O0FDSTlCO0VBQ0k7O0FERko7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUVBO0VBQ0E7RUFDQTs7QUFFQTtFQUNJOztBQUtKO0VBQ0k7O0FBSVI7RUFDSTtFQUNBOztBQUlSO0VBQ0k7O0FBR0o7RUFoRUo7SUF3RVE7O0VBTkE7SUFDSTs7RUFPSjtJQUNJLGVFeERTOztFRjREVDtJQUdJO0lBQ0EsUUFIZTs7RUFNbkI7SUFDSTs7RUFVSjtJQUNJOztFQUlBO0lBQ0k7O0VBS1o7SUM1R0o7SUFDQTtJRDhHUSIsInNvdXJjZXNDb250ZW50IjpbIkB1c2UgJ3Nhc3M6bWFwJztcbkB1c2UgJy4uLy4uL3N0eWxlcy92YXJpYWJsZXMnO1xuQHVzZSAnLi4vLi4vc3R5bGVzL21peGlucyc7XG5cbi5kYy1taW5pLXRvYyB7XG4gICAgJGNsYXNzOiAmO1xuXG4gICAgJl9fdGl0bGUge1xuICAgICAgICBmb250LXdlaWdodDogNTAwO1xuICAgICAgICBjb2xvcjogdmFyKC0tZy1jb2xvci10ZXh0LXByaW1hcnkpO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAxMnB4O1xuICAgICAgICBtYXJnaW4tdG9wOiAwO1xuXG4gICAgICAgIEBpbmNsdWRlIG1peGlucy50ZXh0LXNpemUoYm9keS0yKTtcbiAgICB9XG5cbiAgICAmX19zZWN0aW9ucyB7XG4gICAgICAgIEBpbmNsdWRlIG1peGlucy5yZXNldC1saXN0LXN0eWxlKCk7XG5cbiAgICAgICAgbWF4LWhlaWdodDogY2FsYyhcbiAgICAgICAgICAgIDEwMHZoIC0gdmFyKC0tZGMtaGVhZGVyLWhlaWdodCwgI3t2YXJpYWJsZXMuJGhlYWRlckhlaWdodH0pIC0gdmFyKFxuICAgICAgICAgICAgICAgICAgICAtLWRjLXN1Ym5hdmlnYXRpb24taGVpZ2h0LFxuICAgICAgICAgICAgICAgICAgICAje3ZhcmlhYmxlcy4kc3ViTmF2aWdhdGlvbkhlaWdodH1cbiAgICAgICAgICAgICAgICApIC0gI3t2YXJpYWJsZXMuJG1pbmlUb2NPZmZzZXR9XG4gICAgICAgICk7XG4gICAgICAgIG92ZXJmbG93OiBoaWRkZW4gYXV0bztcbiAgICB9XG5cbiAgICAmX19zZWN0aW9uIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG5cbiAgICAgICAgJiA+ICN7JGNsYXNzfV9fc2VjdGlvbi1saW5rIHtcbiAgICAgICAgICAgIGJvcmRlci1sZWZ0LWNvbG9yOiB2YXIoLS1nLWNvbG9yLWxpbmUtZ2VuZXJpYyk7XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIG1peGlucy5mb2N1c2FibGUoLTJweCk7XG4gICAgICAgIH1cblxuICAgICAgICAmLWxpbmsge1xuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgICAgICBwYWRkaW5nOiA2cHggNnB4IDZweCAxMnB4O1xuICAgICAgICAgICAgbWluLWhlaWdodDogMjhweDtcblxuICAgICAgICAgICAgY29sb3I6IHZhcigtLWctY29sb3ItdGV4dC1zZWNvbmRhcnkpO1xuICAgICAgICAgICAgYm9yZGVyLWxlZnQ6IDJweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcblxuICAgICAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICAgICAgY29sb3I6IHZhcigtLWctY29sb3ItdGV4dC1jb21wbGVtZW50YXJ5KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICZfY2hpbGQge1xuICAgICAgICAgICAgI3skY2xhc3N9X19zZWN0aW9uLWxpbmsge1xuICAgICAgICAgICAgICAgIHBhZGRpbmctbGVmdDogMjVweDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICZfYWN0aXZlID4gI3skY2xhc3N9X19zZWN0aW9uLWxpbmsge1xuICAgICAgICAgICAgY29sb3I6IHZhcigtLWctY29sb3ItdGV4dC1wcmltYXJ5KTtcbiAgICAgICAgICAgIGJvcmRlci1sZWZ0LWNvbG9yOiB2YXIoLS1nLWNvbG9yLXRleHQtcHJpbWFyeSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX19ib3R0b20ge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cblxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiBtYXAuZ2V0KHZhcmlhYmxlcy4kc2NyZWVuQnJlYWtwb2ludHMsICdtZCcpIC0gMSkge1xuICAgICAgICAvLyBmaXggYnVnIHdpdGggc2Nyb2xsaW5nIG1pbmktdG9jIGFuZCBib2R5IG9uIGRlc2t0b3BcbiAgICAgICAgYm9keTpoYXMoJl9vdmVyZmxvd2VkOmhvdmVyKSB7XG4gICAgICAgICAgICBvdmVyZmxvdy15OiBoaWRkZW47XG4gICAgICAgIH1cblxuICAgICAgICAkYm90dG9tSGVpZ2h0OiAwO1xuXG4gICAgICAgIHBhZGRpbmc6IHZhcmlhYmxlcy4kbWluaVRvY1ZlcnRpY2FsUGFkZGluZyA4cHggdmFyaWFibGVzLiRtaW5pVG9jVmVydGljYWxQYWRkaW5nIDIwcHg7XG5cbiAgICAgICAgJl9fdGl0bGUge1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogdmFyaWFibGVzLiRtaW5pVG9jVGl0bGVNYXJnaW47XG4gICAgICAgIH1cblxuICAgICAgICAmOmhhcygmX292ZXJmbG93ZWQpIHtcbiAgICAgICAgICAgICN7JGNsYXNzfV9fYm90dG9tIHtcbiAgICAgICAgICAgICAgICAkYm90dG9tSGVpZ2h0OiAzNnB4O1xuXG4gICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICAgICAgaGVpZ2h0OiAkYm90dG9tSGVpZ2h0O1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAjeyRjbGFzc31fX3NlY3Rpb25zIHtcbiAgICAgICAgICAgICAgICBtYXgtaGVpZ2h0OiBjYWxjKFxuICAgICAgICAgICAgICAgICAgICAxMDB2aCAtIHZhcigtLWRjLWhlYWRlci1oZWlnaHQsICN7dmFyaWFibGVzLiRoZWFkZXJIZWlnaHR9KSAtIHZhcihcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAtLWRjLXN1Ym5hdmlnYXRpb24taGVpZ2h0LFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICN7dmFyaWFibGVzLiRzdWJOYXZpZ2F0aW9uSGVpZ2h0fVxuICAgICAgICAgICAgICAgICAgICAgICAgKSAtICN7dmFyaWFibGVzLiRtb2JpbGVNaW5pVG9jT2Zmc2V0fSAtICN7JGJvdHRvbUhlaWdodH1cbiAgICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgJl9fc2VjdGlvbiB7XG4gICAgICAgICAgICAmLWxpbmsge1xuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDhweCAxMnB4IDhweCAyOHB4O1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmX2NoaWxkIHtcbiAgICAgICAgICAgICAgICAjeyRjbGFzc31fX3NlY3Rpb24tbGluayB7XG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmctbGVmdDogNDRweDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAmX19zZWN0aW9ucyB7XG4gICAgICAgICAgICBAaW5jbHVkZSBtaXhpbnMudGV4dC1zaXplKGJvZHktMik7XG5cbiAgICAgICAgICAgIG1heC1oZWlnaHQ6IGNhbGMoXG4gICAgICAgICAgICAgICAgMTAwdmggLSB2YXIoLS1kYy1oZWFkZXItaGVpZ2h0LCAje3ZhcmlhYmxlcy4kaGVhZGVySGVpZ2h0fSkgLSB2YXIoXG4gICAgICAgICAgICAgICAgICAgICAgICAtLWRjLXN1Ym5hdmlnYXRpb24taGVpZ2h0LFxuICAgICAgICAgICAgICAgICAgICAgICAgI3t2YXJpYWJsZXMuJHN1Yk5hdmlnYXRpb25IZWlnaHR9XG4gICAgICAgICAgICAgICAgICAgICkgLSAje3ZhcmlhYmxlcy4kbW9iaWxlTWluaVRvY09mZnNldH1cbiAgICAgICAgICAgICk7XG4gICAgICAgIH1cbiAgICB9XG59XG4iLCJAdXNlICdzYXNzOm1hcCc7XG5AdXNlICd2YXJpYWJsZXMnO1xuXG5AbWl4aW4gdGV4dC1zaXplKCRuYW1lKSB7XG4gICAgZm9udC1zaXplOiB2YXIoLS1nLXRleHQtI3skbmFtZX0tZm9udC1zaXplKTtcbiAgICBsaW5lLWhlaWdodDogdmFyKC0tZy10ZXh0LSN7JG5hbWV9LWxpbmUtaGVpZ2h0KTtcbn1cblxuQG1peGluIHJlc2V0LWxpc3Qtc3R5bGUoKSB7XG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgbGlzdC1zdHlsZTogbm9uZTtcbn1cblxuQG1peGluIGZpeEFuY2hvclBvc2l0aW9uKCRvZmZzZXQ6IDBweCkge1xuICAgIHBhZGRpbmctdG9wOiBjYWxjKHZhcigtLWRjLWhlYWRlci1oZWlnaHQsICN7dmFyaWFibGVzLiRoZWFkZXJIZWlnaHR9KSk7XG4gICAgbWFyZ2luLXRvcDogY2FsYygjeyRvZmZzZXR9IC0gdmFyKC0tZGMtaGVhZGVyLWhlaWdodCwgI3t2YXJpYWJsZXMuJGhlYWRlckhlaWdodH0pKTtcbn1cblxuQG1peGluIHJlc2V0LWxpbmstc3R5bGUoKSB7XG4gICAgY29sb3I6IGluaGVyaXQ7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xufVxuXG5AbWl4aW4gaXNsYW5kcy1mb2N1cygpIHtcbiAgICBvdXRsaW5lOiBub25lO1xuXG4gICAgLnV0aWxpdHlmb2N1cyAmOmZvY3VzIHtcbiAgICAgICAgb3V0bGluZTogMnB4IHNvbGlkICNmZmRiNGQ7XG4gICAgfVxufVxuXG5AbWl4aW4gZm9jdXNhYmxlKCRvZmZzZXQ6IDAsICRtb2RlOiAnb3V0bGluZScpIHtcbiAgICBAaWYgJG1vZGUgPT0gJ291dGxpbmUnIHtcbiAgICAgICAgJjpmb2N1cyB7XG4gICAgICAgICAgICBvdXRsaW5lOiAycHggc29saWQgdmFyKC0tZy1jb2xvci1saW5lLWZvY3VzKTtcbiAgICAgICAgICAgIG91dGxpbmUtb2Zmc2V0OiAkb2Zmc2V0O1xuICAgICAgICB9XG4gICAgICAgICY6Zm9jdXM6bm90KDpmb2N1cy12aXNpYmxlKSB7XG4gICAgICAgICAgICBvdXRsaW5lOiAwO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgQGlmICRtb2RlID09ICdib3gtc2hhZG93JyB7XG4gICAgICAgICY6Zm9jdXMge1xuICAgICAgICAgICAgYm94LXNoYWRvdzogMCAwIDAgMnB4IHZhcigtLWctY29sb3ItbGluZS1mb2N1cyk7XG4gICAgICAgICAgICBvdXRsaW5lOiAwO1xuICAgICAgICB9XG4gICAgICAgICY6Zm9jdXM6bm90KDpmb2N1cy12aXNpYmxlKSB7XG4gICAgICAgICAgICBib3gtc2hhZG93OiBub25lO1xuICAgICAgICB9XG4gICAgfVxufVxuXG5AbWl4aW4gbGluaygpIHtcbiAgICBjb2xvcjogdmFyKC0tZy1jb2xvci10ZXh0LWxpbmspO1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgYm9yZGVyLXJhZGl1czogdmFyKC0tZy1mb2N1cy1ib3JkZXItcmFkaXVzKTtcblxuICAgIEBpbmNsdWRlIGlzbGFuZHMtZm9jdXMoKTtcblxuICAgIEBpbmNsdWRlIGZvY3VzYWJsZSgwLCAnYm94LXNoYWRvdycpO1xuXG4gICAgJjpob3ZlcixcbiAgICAmOmFjdGl2ZSB7XG4gICAgICAgIGNvbG9yOiB2YXIoLS1nLWNvbG9yLXRleHQtbGluay1ob3Zlcik7XG4gICAgfVxufVxuXG5AbWl4aW4gaGVhZGluZzEoKSB7XG4gICAgZm9udC13ZWlnaHQ6IDUwMDtcblxuICAgIEBpbmNsdWRlIHRleHQtc2l6ZShkaXNwbGF5LTMpO1xuXG4gICAgQG1lZGlhIChtYXgtd2lkdGg6IG1hcC5nZXQodmFyaWFibGVzLiRzY3JlZW5CcmVha3BvaW50cywgJ21kJykgLSAxKSB7XG4gICAgICAgIEBpbmNsdWRlIHRleHQtc2l6ZShkaXNwbGF5LTIpO1xuICAgIH1cbn1cblxuQG1peGluIGhlYWRpbmcyKCkge1xuICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG5cbiAgICBAaW5jbHVkZSB0ZXh0LXNpemUoZGlzcGxheS0xKTtcbn1cblxuQG1peGluIGhlYWRpbmczKCkge1xuICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG5cbiAgICBAaW5jbHVkZSB0ZXh0LXNpemUoaGVhZGVyLTIpO1xufVxuXG5AbWl4aW4gaGVhZGluZzQoKSB7XG4gICAgZm9udC13ZWlnaHQ6IDUwMDtcblxuICAgIEBpbmNsdWRlIHRleHQtc2l6ZShoZWFkZXItMSk7XG59XG5cbkBtaXhpbiBoZWFkaW5nNSgpIHtcbiAgICBmb250LXdlaWdodDogNTAwO1xuXG4gICAgQGluY2x1ZGUgdGV4dC1zaXplKGJvZHktMyk7XG59XG5cbkBtaXhpbiBoZWFkaW5nNigpIHtcbiAgICBmb250LXdlaWdodDogNDAwO1xuXG4gICAgQGluY2x1ZGUgdGV4dC1zaXplKGJvZHktMyk7XG59XG5cbkBtaXhpbiBjb250cmlidXRvcnMtdGV4dCgpIHtcbiAgICBmb250LXNpemU6IDEzcHg7XG4gICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICBtYXJnaW4tcmlnaHQ6IDVweDtcbiAgICBhbGlnbi1zZWxmOiBjZW50ZXI7XG59XG5cbkBtaXhpbiB0ZXh0LWJvZHktMSgpIHtcbiAgICBmb250LXNpemU6IHZhcigtLWctdGV4dC1ib2R5LTEtZm9udC1zaXplKTtcbiAgICBsaW5lLWhlaWdodDogdmFyKC0tZy10ZXh0LWJvZHktMS1saW5lLWhlaWdodCk7XG4gICAgZm9udC13ZWlnaHQ6IHZhcigtLWctdGV4dC1ib2R5LWZvbnQtd2VpZ2h0KTtcbn1cblxuQG1peGluIGRlc2t0b3Atb25seSgpIHtcbiAgICBAbWVkaWEgKG1heC13aWR0aDogbWFwLmdldCh2YXJpYWJsZXMuJHNjcmVlbkJyZWFrcG9pbnRzLCAnbWQnKSAtIDEpIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG59XG5cbkBtaXhpbiBkZXNrdG9wLXRhYmxldC1vbmx5KCkge1xuICAgIEBtZWRpYSAobWF4LXdpZHRoOiBtYXAuZ2V0KHZhcmlhYmxlcy4kc2NyZWVuQnJlYWtwb2ludHMsICdzbScpIC0gMSkge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cbn1cblxuQG1peGluIG1vYmlsZS10YWJsZXQtb25seSgpIHtcbiAgICBAbWVkaWEgKG1pbi13aWR0aDogbWFwLmdldCh2YXJpYWJsZXMuJHNjcmVlbkJyZWFrcG9pbnRzLCAnbWQnKSkge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cbn1cblxuQG1peGluIG1vYmlsZS1vbmx5KCkge1xuICAgIEBtZWRpYSAobWluLXdpZHRoOiBtYXAuZ2V0KHZhcmlhYmxlcy4kc2NyZWVuQnJlYWtwb2ludHMsICdzbScpKSB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxufVxuIiwiLy8gU2l6ZXNcbiRoZWFkZXJIZWlnaHQ6IDBweDtcbiRzdWJIZWFkZXJIZWlnaHQ6IDQwcHg7XG4kc3ViTmF2aWdhdGlvbkhlaWdodDogNTJweDtcbiRub3JtYWxPZmZzZXQ6IDIwcHg7XG4kbWluaVRvY09mZnNldDogNTZweDtcbiRibG9ja01hcmdpbkJvdHRvbUxhcmdlOiAyMHB4O1xuJGJsb2NrTWFyZ2luQm90dG9tTWVkaXVtOiAxNXB4O1xuJGhlYWRlck1hcmdpblRvcExhcmdlOiA0MHB4O1xuJGhlYWRlck1hcmdpblRvcE1lZGl1bTogMzJweDtcbiRwb3B1cFBhZGRpbmc6IDE2cHg7XG4kY2VudGVyQmxvY2tNYXhXaWR0aDogNzM2cHg7XG5cbi8vIE5hdmlnYXRpb25cbiR0b01haW5NZW51VmVydGljYWxQYWRkaW5nOiA0cHg7XG4kdG9NYWluTWVudUhvcml6b250YWxQYWRkaW5nOiAxMnB4O1xuJHRvTWFpbk1lbnVIZWlnaHQ6IGNhbGMoXG4gICAgdmFyKC0tZGMtc3VibmF2aWdhdGlvbi1oZWlnaHQsICRzdWJOYXZpZ2F0aW9uSGVpZ2h0KSAtICN7JHRvTWFpbk1lbnVWZXJ0aWNhbFBhZGRpbmd9IC0gI3skdG9NYWluTWVudVZlcnRpY2FsUGFkZGluZ31cbik7XG5cbi8vIE1pbmlUb2NcbiRtaW5pVG9jVmVydGljYWxQYWRkaW5nOiAxNnB4O1xuJG1pbmlUb2NUaXRsZUhlaWdodDogMjBweDsgLy8gbGluZS1oZWlnaHQgYm9keS0yXG4kbWluaVRvY1RpdGxlTWFyZ2luOiAxMnB4O1xuJG1vYmlsZU1pbmlUb2NPZmZzZXQ6IDIgKiAkbWluaVRvY1ZlcnRpY2FsUGFkZGluZyArICRtaW5pVG9jVGl0bGVIZWlnaHQgKyAkbWluaVRvY1RpdGxlTWFyZ2luO1xuXG4kc2NyZWVuQnJlYWtwb2ludHM6IChcbiAgICAneHMnOiAzNzVweCxcbiAgICAnc20nOiA1NzdweCxcbiAgICAnbWQnOiA3NjlweCxcbiAgICAnbGcnOiAxMDgxcHgsXG4gICAgJ3hsJzogMTE4NXB4LFxuKTtcbiJdfQ== */", "// Sizes\n$headerHeight: 0px;\n$subHeaderHeight: 40px;\n$subNavigationHeight: 52px;\n$normalOffset: 20px;\n$miniTocOffset: 56px;\n$blockMarginBottomLarge: 20px;\n$blockMarginBottomMedium: 15px;\n$headerMarginTopLarge: 40px;\n$headerMarginTopMedium: 32px;\n$popupPadding: 16px;\n$centerBlockMaxWidth: 736px;\n\n// Navigation\n$toMainMenuVerticalPadding: 4px;\n$toMainMenuHorizontalPadding: 12px;\n$toMainMenuHeight: calc(\n var(--dc-subnavigation-height, $subNavigationHeight) - #{$toMainMenuVerticalPadding} - #{$toMainMenuVerticalPadding}\n);\n\n// MiniToc\n$miniTocVerticalPadding: 16px;\n$miniTocTitleHeight: 20px; // line-height body-2\n$miniTocTitleMargin: 12px;\n$mobileMiniTocOffset: 2 * $miniTocVerticalPadding + $miniTocTitleHeight + $miniTocTitleMargin;\n\n$screenBreakpoints: (\n 'xs': 375px,\n 'sm': 577px,\n 'md': 769px,\n 'lg': 1081px,\n 'xl': 1185px,\n);\n"],
5
- "mappings": ";AAOI,CAAA;AACI,eAAA;AACA,SAAA,IAAA;AACA,iBAAA;AACA,cAAA;ACPJ,aAAA,IAAA;AACA,eAAA,IAAA;ACEJ;AFSI,CAAA;ACPA,UAAA;AACA,WAAA;AACA,cAAA;ADQI,cAAA,KAAA,MAAA,EAAA,IAAA,EAAA,KAAA,EAAA;AAAA,cAAA,KAAA,MAAA,EAAA,IAAA,kBAAA,EAAA,KAAA,EAAA,IAAA,yBAAA,EAAA,MAAA,EAAA;AAMA,cAAA;AAAA,cAAA;AAAA,YAAA,OAAA;AEXR;AFcI,CAAA;AACI,WAAA;AEZR;AFcQ,CAHJ,qBAGI,EAAA,CAAA;AACI,qBAAA,IAAA;AEZZ;ADcQ,CDNJ,qBCMI,EAAA,CDHA,yBCGA;AACI,WAAA,IAAA,MAAA,IAAA;AACA,kBAAA;ACZZ;ADcQ,CDVJ,qBCUI,EAAA,CDPA,yBCOA,MAAA,KAAA;AACI,WAAA;ACZZ;AFUQ,CANA;AAOI,WAAA;AACA,eAAA;AACA,WAAA,IAAA,IAAA,IAAA;AACA,cAAA;AAEA,SAAA,IAAA;AACA,eAAA,IAAA,MAAA;AACA,2BAAA;AAAA,mBAAA;AETZ;AFWY,CAhBJ,yBAgBI;AACI,SAAA,IAAA;AEThB;AFcY,CAAA,2BAAA,CAtBJ;AAuBQ,gBAAA;AEZhB;AFgBQ,CAAA,4BAAA,EAAA,CA3BA;AA4BI,SAAA,IAAA;AACA,qBAAA,IAAA;AEdZ;AFkBI,CAAA;AACI,WAAA;AEhBR;AFmBI,OAAA,CAAA,SAAA,EAAA;AAhEJ,GAAA;AAwEQ,aAAA,KAAA,IAAA,KAAA;AEvBN;AFiBM,MAAA,KAAA,CAAA,sBAAA;AACI,gBAAA;AEfV;AFsBM,GAvEJ;AAwEQ,mBAAA;AEpBV;AFwBU,GA/EZ,WA+EY,KAAA,CAbJ,wBAaI,CAnBR;AAsBY,aAAA;AACA,YAAA;AExBd;AF2BU,GAtFZ,WAsFY,KAAA,CApBJ,wBAoBI,CA1ER;AA2EY,gBAAA,KAAA,MAAA,EAAA,IAAA,EAAA,KAAA,EAAA,KAAA,EAAA;AAAA,gBAAA,KAAA,MAAA,EAAA,IAAA,kBAAA,EAAA,KAAA,EAAA,IAAA,yBAAA,EAAA,MAAA,EAAA,KAAA,EAAA;AEzBd;AFmCU,GAtEJ;AAuEQ,aAAA,IAAA,KAAA,IAAA;AEjCd;AFqCc,GArDJ,2BAqDI,CA3ER;AA4EY,kBAAA;AEnClB;AFwCM,GAhGJ;ACZA,eAAA,IAAA;AACA,iBAAA,IAAA;AD8GQ,gBAAA,KAAA,MAAA,EAAA,IAAA,EAAA,KAAA,EAAA;AAAA,gBAAA,KAAA,MAAA,EAAA,IAAA,kBAAA,EAAA,KAAA,EAAA,IAAA,yBAAA,EAAA,MAAA,EAAA;AEtCV;AACF;",
3
+ "sources": ["../../../../src/components/MiniToc/home/runner/work/components/components/src/components/MiniToc/MiniToc.scss", "../../../../src/components/MiniToc/home/runner/work/components/components/src/styles/mixins.scss", "../../../../src/components/MiniToc/%3Cinput%20css%20sf67fn%3E", "../../../../src/components/MiniToc/home/runner/work/components/components/src/styles/variables.scss"],
4
+ "sourcesContent": ["@use 'sass:map';\n@use '../../styles/variables';\n@use '../../styles/mixins';\n\n.dc-mini-toc {\n $class: &;\n\n &__title {\n font-weight: 500;\n color: var(--g-color-text-primary);\n margin-bottom: 12px;\n margin-top: 0;\n\n @include mixins.text-size(body-2);\n }\n\n &__sections {\n @include mixins.reset-list-style();\n\n position: relative;\n\n max-height: calc(\n 100vh - var(--dc-header-height, #{variables.$headerHeight}) - var(\n --dc-subnavigation-height,\n #{variables.$subNavigationHeight}\n ) - #{variables.$miniTocOffset}\n );\n overflow: hidden auto;\n }\n\n &__section {\n display: block;\n\n & > #{$class}__section-link {\n border-left-color: var(--g-color-line-generic);\n\n @include mixins.focusable(-2px);\n }\n\n &-link {\n display: flex;\n align-items: center;\n padding: 6px 6px 6px 12px;\n min-height: 28px;\n\n color: var(--g-color-text-secondary);\n border-left: 2px solid transparent;\n text-decoration: none;\n\n &:hover {\n color: var(--g-color-text-complementary);\n }\n }\n\n &_child {\n #{$class}__section-link {\n padding-left: 25px;\n }\n }\n\n &_active > #{$class}__section-link {\n color: var(--g-color-text-primary);\n border-left-color: var(--g-color-text-primary);\n }\n }\n\n &__bottom {\n display: none;\n }\n\n @media (max-width: map.get(variables.$screenBreakpoints, 'md') - 1) {\n // fix bug with scrolling mini-toc and body on desktop\n body:has(&_overflowed:hover) {\n overflow-y: hidden;\n }\n\n $bottomHeight: 0;\n\n padding: variables.$miniTocVerticalPadding 8px variables.$miniTocVerticalPadding 20px;\n\n &__title {\n margin-bottom: variables.$miniTocTitleMargin;\n }\n\n &:has(&_overflowed) {\n #{$class}__bottom {\n $bottomHeight: 36px;\n\n display: block;\n height: $bottomHeight;\n }\n\n #{$class}__sections {\n max-height: calc(\n 100vh - var(--dc-header-height, #{variables.$headerHeight}) - var(\n --dc-subnavigation-height,\n #{variables.$subNavigationHeight}\n ) - #{variables.$mobileMiniTocOffset} - #{$bottomHeight}\n );\n }\n }\n\n &__section {\n &-link {\n padding: 8px 12px 8px 28px;\n }\n\n &_child {\n #{$class}__section-link {\n padding-left: 44px;\n }\n }\n }\n\n &__sections {\n @include mixins.text-size(body-2);\n\n max-height: calc(\n 100vh - var(--dc-header-height, #{variables.$headerHeight}) - var(\n --dc-subnavigation-height,\n #{variables.$subNavigationHeight}\n ) - #{variables.$mobileMiniTocOffset}\n );\n }\n }\n}\n", "@use 'sass:map';\n@use 'variables';\n\n@mixin text-size($name) {\n font-size: var(--g-text-#{$name}-font-size);\n line-height: var(--g-text-#{$name}-line-height);\n}\n\n@mixin reset-list-style() {\n margin: 0;\n padding: 0;\n list-style: none;\n}\n\n@mixin fixAnchorPosition($offset: 0px) {\n padding-top: calc(var(--dc-header-height, #{variables.$headerHeight}));\n margin-top: calc(#{$offset} - var(--dc-header-height, #{variables.$headerHeight}));\n}\n\n@mixin reset-link-style() {\n color: inherit;\n text-decoration: none;\n}\n\n@mixin islands-focus() {\n outline: none;\n\n .utilityfocus &:focus {\n outline: 2px solid #ffdb4d;\n }\n}\n\n@mixin focusable($offset: 0, $mode: 'outline') {\n @if $mode == 'outline' {\n &:focus {\n outline: 2px solid var(--g-color-line-focus);\n outline-offset: $offset;\n }\n &:focus:not(:focus-visible) {\n outline: 0;\n }\n }\n\n @if $mode == 'box-shadow' {\n &:focus {\n box-shadow: 0 0 0 2px var(--g-color-line-focus);\n outline: 0;\n }\n &:focus:not(:focus-visible) {\n box-shadow: none;\n }\n }\n}\n\n@mixin link() {\n color: var(--g-color-text-link);\n text-decoration: none;\n cursor: pointer;\n border-radius: var(--g-focus-border-radius);\n\n @include islands-focus();\n\n @include focusable(0, 'box-shadow');\n\n &:hover,\n &:active {\n color: var(--g-color-text-link-hover);\n }\n}\n\n@mixin heading1() {\n font-weight: 500;\n\n @include text-size(display-3);\n\n @media (max-width: map.get(variables.$screenBreakpoints, 'md') - 1) {\n @include text-size(display-2);\n }\n}\n\n@mixin heading2() {\n font-weight: 500;\n\n @include text-size(display-1);\n}\n\n@mixin heading3() {\n font-weight: 500;\n\n @include text-size(header-2);\n}\n\n@mixin heading4() {\n font-weight: 500;\n\n @include text-size(header-1);\n}\n\n@mixin heading5() {\n font-weight: 500;\n\n @include text-size(body-3);\n}\n\n@mixin heading6() {\n font-weight: 400;\n\n @include text-size(body-3);\n}\n\n@mixin contributors-text() {\n font-size: 13px;\n font-weight: 400;\n margin-right: 5px;\n align-self: center;\n}\n\n@mixin text-body-1() {\n font-size: var(--g-text-body-1-font-size);\n line-height: var(--g-text-body-1-line-height);\n font-weight: var(--g-text-body-font-weight);\n}\n\n@mixin desktop-only() {\n @media (max-width: map.get(variables.$screenBreakpoints, 'md') - 1) {\n display: none;\n }\n}\n\n@mixin desktop-tablet-only() {\n @media (max-width: map.get(variables.$screenBreakpoints, 'sm') - 1) {\n display: none;\n }\n}\n\n@mixin mobile-tablet-only() {\n @media (min-width: map.get(variables.$screenBreakpoints, 'md')) {\n display: none;\n }\n}\n\n@mixin mobile-only() {\n @media (min-width: map.get(variables.$screenBreakpoints, 'sm')) {\n display: none;\n }\n}\n", ".dc-mini-toc__title {\n font-weight: 500;\n color: var(--g-color-text-primary);\n margin-bottom: 12px;\n margin-top: 0;\n font-size: var(--g-text-body-2-font-size);\n line-height: var(--g-text-body-2-line-height);\n}\n.dc-mini-toc__sections {\n margin: 0;\n padding: 0;\n list-style: none;\n position: relative;\n max-height: calc(100vh - var(--dc-header-height, 0px) - var(--dc-subnavigation-height, 52px) - 56px);\n overflow: hidden auto;\n}\n.dc-mini-toc__section {\n display: block;\n}\n.dc-mini-toc__section > .dc-mini-toc__section-link {\n border-left-color: var(--g-color-line-generic);\n}\n.dc-mini-toc__section > .dc-mini-toc__section-link:focus {\n outline: 2px solid var(--g-color-line-focus);\n outline-offset: -2px;\n}\n.dc-mini-toc__section > .dc-mini-toc__section-link:focus:not(:focus-visible) {\n outline: 0;\n}\n.dc-mini-toc__section-link {\n display: flex;\n align-items: center;\n padding: 6px 6px 6px 12px;\n min-height: 28px;\n color: var(--g-color-text-secondary);\n border-left: 2px solid transparent;\n text-decoration: none;\n}\n.dc-mini-toc__section-link:hover {\n color: var(--g-color-text-complementary);\n}\n.dc-mini-toc__section_child .dc-mini-toc__section-link {\n padding-left: 25px;\n}\n.dc-mini-toc__section_active > .dc-mini-toc__section-link {\n color: var(--g-color-text-primary);\n border-left-color: var(--g-color-text-primary);\n}\n.dc-mini-toc__bottom {\n display: none;\n}\n@media (max-width: 768px) {\n .dc-mini-toc {\n padding: 16px 8px 16px 20px;\n }\n body:has(.dc-mini-toc_overflowed:hover) {\n overflow-y: hidden;\n }\n .dc-mini-toc__title {\n margin-bottom: 12px;\n }\n .dc-mini-toc:has(.dc-mini-toc_overflowed) .dc-mini-toc__bottom {\n display: block;\n height: 36px;\n }\n .dc-mini-toc:has(.dc-mini-toc_overflowed) .dc-mini-toc__sections {\n max-height: calc(100vh - var(--dc-header-height, 0px) - var(--dc-subnavigation-height, 52px) - 64px - 36px);\n }\n .dc-mini-toc__section-link {\n padding: 8px 12px 8px 28px;\n }\n .dc-mini-toc__section_child .dc-mini-toc__section-link {\n padding-left: 44px;\n }\n .dc-mini-toc__sections {\n font-size: var(--g-text-body-2-font-size);\n line-height: var(--g-text-body-2-line-height);\n max-height: calc(100vh - var(--dc-header-height, 0px) - var(--dc-subnavigation-height, 52px) - 64px);\n }\n}\n/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VSb290IjoiL2hvbWUvcnVubmVyL3dvcmsvY29tcG9uZW50cy9jb21wb25lbnRzL3NyYy9jb21wb25lbnRzL01pbmlUb2MiLCJzb3VyY2VzIjpbIk1pbmlUb2Muc2NzcyIsIi4uLy4uL3N0eWxlcy9taXhpbnMuc2NzcyIsIi4uLy4uL3N0eWxlcy92YXJpYWJsZXMuc2NzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFPSTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VDUEo7RUFDQTs7QURXQTtFQ1BBO0VBQ0E7RUFDQTtFRFFJO0VBRUE7RUFNQTs7QUFHSjtFQUNJOztBQUVBO0VBQ0k7O0FDQUo7RUFDSTtFQUNBOztBQUVKO0VBQ0k7O0FEQUo7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUVBO0VBQ0E7RUFDQTs7QUFFQTtFQUNJOztBQUtKO0VBQ0k7O0FBSVI7RUFDSTtFQUNBOztBQUlSO0VBQ0k7O0FBR0o7RUFsRUo7SUEwRVE7O0VBTkE7SUFDSTs7RUFPSjtJQUNJLGVFMURTOztFRjhEVDtJQUdJO0lBQ0EsUUFIZTs7RUFNbkI7SUFDSTs7RUFVSjtJQUNJOztFQUlBO0lBQ0k7O0VBS1o7SUM5R0o7SUFDQTtJRGdIUSIsInNvdXJjZXNDb250ZW50IjpbIkB1c2UgJ3Nhc3M6bWFwJztcbkB1c2UgJy4uLy4uL3N0eWxlcy92YXJpYWJsZXMnO1xuQHVzZSAnLi4vLi4vc3R5bGVzL21peGlucyc7XG5cbi5kYy1taW5pLXRvYyB7XG4gICAgJGNsYXNzOiAmO1xuXG4gICAgJl9fdGl0bGUge1xuICAgICAgICBmb250LXdlaWdodDogNTAwO1xuICAgICAgICBjb2xvcjogdmFyKC0tZy1jb2xvci10ZXh0LXByaW1hcnkpO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAxMnB4O1xuICAgICAgICBtYXJnaW4tdG9wOiAwO1xuXG4gICAgICAgIEBpbmNsdWRlIG1peGlucy50ZXh0LXNpemUoYm9keS0yKTtcbiAgICB9XG5cbiAgICAmX19zZWN0aW9ucyB7XG4gICAgICAgIEBpbmNsdWRlIG1peGlucy5yZXNldC1saXN0LXN0eWxlKCk7XG5cbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgICAgIG1heC1oZWlnaHQ6IGNhbGMoXG4gICAgICAgICAgICAxMDB2aCAtIHZhcigtLWRjLWhlYWRlci1oZWlnaHQsICN7dmFyaWFibGVzLiRoZWFkZXJIZWlnaHR9KSAtIHZhcihcbiAgICAgICAgICAgICAgICAgICAgLS1kYy1zdWJuYXZpZ2F0aW9uLWhlaWdodCxcbiAgICAgICAgICAgICAgICAgICAgI3t2YXJpYWJsZXMuJHN1Yk5hdmlnYXRpb25IZWlnaHR9XG4gICAgICAgICAgICAgICAgKSAtICN7dmFyaWFibGVzLiRtaW5pVG9jT2Zmc2V0fVxuICAgICAgICApO1xuICAgICAgICBvdmVyZmxvdzogaGlkZGVuIGF1dG87XG4gICAgfVxuXG4gICAgJl9fc2VjdGlvbiB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuXG4gICAgICAgICYgPiAjeyRjbGFzc31fX3NlY3Rpb24tbGluayB7XG4gICAgICAgICAgICBib3JkZXItbGVmdC1jb2xvcjogdmFyKC0tZy1jb2xvci1saW5lLWdlbmVyaWMpO1xuXG4gICAgICAgICAgICBAaW5jbHVkZSBtaXhpbnMuZm9jdXNhYmxlKC0ycHgpO1xuICAgICAgICB9XG5cbiAgICAgICAgJi1saW5rIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICAgICAgcGFkZGluZzogNnB4IDZweCA2cHggMTJweDtcbiAgICAgICAgICAgIG1pbi1oZWlnaHQ6IDI4cHg7XG5cbiAgICAgICAgICAgIGNvbG9yOiB2YXIoLS1nLWNvbG9yLXRleHQtc2Vjb25kYXJ5KTtcbiAgICAgICAgICAgIGJvcmRlci1sZWZ0OiAycHggc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG5cbiAgICAgICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgICAgIGNvbG9yOiB2YXIoLS1nLWNvbG9yLXRleHQtY29tcGxlbWVudGFyeSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAmX2NoaWxkIHtcbiAgICAgICAgICAgICN7JGNsYXNzfV9fc2VjdGlvbi1saW5rIHtcbiAgICAgICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDI1cHg7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAmX2FjdGl2ZSA+ICN7JGNsYXNzfV9fc2VjdGlvbi1saW5rIHtcbiAgICAgICAgICAgIGNvbG9yOiB2YXIoLS1nLWNvbG9yLXRleHQtcHJpbWFyeSk7XG4gICAgICAgICAgICBib3JkZXItbGVmdC1jb2xvcjogdmFyKC0tZy1jb2xvci10ZXh0LXByaW1hcnkpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9fYm90dG9tIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG5cbiAgICBAbWVkaWEgKG1heC13aWR0aDogbWFwLmdldCh2YXJpYWJsZXMuJHNjcmVlbkJyZWFrcG9pbnRzLCAnbWQnKSAtIDEpIHtcbiAgICAgICAgLy8gZml4IGJ1ZyB3aXRoIHNjcm9sbGluZyBtaW5pLXRvYyBhbmQgYm9keSBvbiBkZXNrdG9wXG4gICAgICAgIGJvZHk6aGFzKCZfb3ZlcmZsb3dlZDpob3Zlcikge1xuICAgICAgICAgICAgb3ZlcmZsb3cteTogaGlkZGVuO1xuICAgICAgICB9XG5cbiAgICAgICAgJGJvdHRvbUhlaWdodDogMDtcblxuICAgICAgICBwYWRkaW5nOiB2YXJpYWJsZXMuJG1pbmlUb2NWZXJ0aWNhbFBhZGRpbmcgOHB4IHZhcmlhYmxlcy4kbWluaVRvY1ZlcnRpY2FsUGFkZGluZyAyMHB4O1xuXG4gICAgICAgICZfX3RpdGxlIHtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IHZhcmlhYmxlcy4kbWluaVRvY1RpdGxlTWFyZ2luO1xuICAgICAgICB9XG5cbiAgICAgICAgJjpoYXMoJl9vdmVyZmxvd2VkKSB7XG4gICAgICAgICAgICAjeyRjbGFzc31fX2JvdHRvbSB7XG4gICAgICAgICAgICAgICAgJGJvdHRvbUhlaWdodDogMzZweDtcblxuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgICAgIGhlaWdodDogJGJvdHRvbUhlaWdodDtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgI3skY2xhc3N9X19zZWN0aW9ucyB7XG4gICAgICAgICAgICAgICAgbWF4LWhlaWdodDogY2FsYyhcbiAgICAgICAgICAgICAgICAgICAgMTAwdmggLSB2YXIoLS1kYy1oZWFkZXItaGVpZ2h0LCAje3ZhcmlhYmxlcy4kaGVhZGVySGVpZ2h0fSkgLSB2YXIoXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgLS1kYy1zdWJuYXZpZ2F0aW9uLWhlaWdodCxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAje3ZhcmlhYmxlcy4kc3ViTmF2aWdhdGlvbkhlaWdodH1cbiAgICAgICAgICAgICAgICAgICAgICAgICkgLSAje3ZhcmlhYmxlcy4kbW9iaWxlTWluaVRvY09mZnNldH0gLSAjeyRib3R0b21IZWlnaHR9XG4gICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICZfX3NlY3Rpb24ge1xuICAgICAgICAgICAgJi1saW5rIHtcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiA4cHggMTJweCA4cHggMjhweDtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgJl9jaGlsZCB7XG4gICAgICAgICAgICAgICAgI3skY2xhc3N9X19zZWN0aW9uLWxpbmsge1xuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDQ0cHg7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgJl9fc2VjdGlvbnMge1xuICAgICAgICAgICAgQGluY2x1ZGUgbWl4aW5zLnRleHQtc2l6ZShib2R5LTIpO1xuXG4gICAgICAgICAgICBtYXgtaGVpZ2h0OiBjYWxjKFxuICAgICAgICAgICAgICAgIDEwMHZoIC0gdmFyKC0tZGMtaGVhZGVyLWhlaWdodCwgI3t2YXJpYWJsZXMuJGhlYWRlckhlaWdodH0pIC0gdmFyKFxuICAgICAgICAgICAgICAgICAgICAgICAgLS1kYy1zdWJuYXZpZ2F0aW9uLWhlaWdodCxcbiAgICAgICAgICAgICAgICAgICAgICAgICN7dmFyaWFibGVzLiRzdWJOYXZpZ2F0aW9uSGVpZ2h0fVxuICAgICAgICAgICAgICAgICAgICApIC0gI3t2YXJpYWJsZXMuJG1vYmlsZU1pbmlUb2NPZmZzZXR9XG4gICAgICAgICAgICApO1xuICAgICAgICB9XG4gICAgfVxufVxuIiwiQHVzZSAnc2FzczptYXAnO1xuQHVzZSAndmFyaWFibGVzJztcblxuQG1peGluIHRleHQtc2l6ZSgkbmFtZSkge1xuICAgIGZvbnQtc2l6ZTogdmFyKC0tZy10ZXh0LSN7JG5hbWV9LWZvbnQtc2l6ZSk7XG4gICAgbGluZS1oZWlnaHQ6IHZhcigtLWctdGV4dC0jeyRuYW1lfS1saW5lLWhlaWdodCk7XG59XG5cbkBtaXhpbiByZXNldC1saXN0LXN0eWxlKCkge1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiAwO1xuICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG59XG5cbkBtaXhpbiBmaXhBbmNob3JQb3NpdGlvbigkb2Zmc2V0OiAwcHgpIHtcbiAgICBwYWRkaW5nLXRvcDogY2FsYyh2YXIoLS1kYy1oZWFkZXItaGVpZ2h0LCAje3ZhcmlhYmxlcy4kaGVhZGVySGVpZ2h0fSkpO1xuICAgIG1hcmdpbi10b3A6IGNhbGMoI3skb2Zmc2V0fSAtIHZhcigtLWRjLWhlYWRlci1oZWlnaHQsICN7dmFyaWFibGVzLiRoZWFkZXJIZWlnaHR9KSk7XG59XG5cbkBtaXhpbiByZXNldC1saW5rLXN0eWxlKCkge1xuICAgIGNvbG9yOiBpbmhlcml0O1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbn1cblxuQG1peGluIGlzbGFuZHMtZm9jdXMoKSB7XG4gICAgb3V0bGluZTogbm9uZTtcblxuICAgIC51dGlsaXR5Zm9jdXMgJjpmb2N1cyB7XG4gICAgICAgIG91dGxpbmU6IDJweCBzb2xpZCAjZmZkYjRkO1xuICAgIH1cbn1cblxuQG1peGluIGZvY3VzYWJsZSgkb2Zmc2V0OiAwLCAkbW9kZTogJ291dGxpbmUnKSB7XG4gICAgQGlmICRtb2RlID09ICdvdXRsaW5lJyB7XG4gICAgICAgICY6Zm9jdXMge1xuICAgICAgICAgICAgb3V0bGluZTogMnB4IHNvbGlkIHZhcigtLWctY29sb3ItbGluZS1mb2N1cyk7XG4gICAgICAgICAgICBvdXRsaW5lLW9mZnNldDogJG9mZnNldDtcbiAgICAgICAgfVxuICAgICAgICAmOmZvY3VzOm5vdCg6Zm9jdXMtdmlzaWJsZSkge1xuICAgICAgICAgICAgb3V0bGluZTogMDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIEBpZiAkbW9kZSA9PSAnYm94LXNoYWRvdycge1xuICAgICAgICAmOmZvY3VzIHtcbiAgICAgICAgICAgIGJveC1zaGFkb3c6IDAgMCAwIDJweCB2YXIoLS1nLWNvbG9yLWxpbmUtZm9jdXMpO1xuICAgICAgICAgICAgb3V0bGluZTogMDtcbiAgICAgICAgfVxuICAgICAgICAmOmZvY3VzOm5vdCg6Zm9jdXMtdmlzaWJsZSkge1xuICAgICAgICAgICAgYm94LXNoYWRvdzogbm9uZTtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuQG1peGluIGxpbmsoKSB7XG4gICAgY29sb3I6IHZhcigtLWctY29sb3ItdGV4dC1saW5rKTtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIGJvcmRlci1yYWRpdXM6IHZhcigtLWctZm9jdXMtYm9yZGVyLXJhZGl1cyk7XG5cbiAgICBAaW5jbHVkZSBpc2xhbmRzLWZvY3VzKCk7XG5cbiAgICBAaW5jbHVkZSBmb2N1c2FibGUoMCwgJ2JveC1zaGFkb3cnKTtcblxuICAgICY6aG92ZXIsXG4gICAgJjphY3RpdmUge1xuICAgICAgICBjb2xvcjogdmFyKC0tZy1jb2xvci10ZXh0LWxpbmstaG92ZXIpO1xuICAgIH1cbn1cblxuQG1peGluIGhlYWRpbmcxKCkge1xuICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG5cbiAgICBAaW5jbHVkZSB0ZXh0LXNpemUoZGlzcGxheS0zKTtcblxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiBtYXAuZ2V0KHZhcmlhYmxlcy4kc2NyZWVuQnJlYWtwb2ludHMsICdtZCcpIC0gMSkge1xuICAgICAgICBAaW5jbHVkZSB0ZXh0LXNpemUoZGlzcGxheS0yKTtcbiAgICB9XG59XG5cbkBtaXhpbiBoZWFkaW5nMigpIHtcbiAgICBmb250LXdlaWdodDogNTAwO1xuXG4gICAgQGluY2x1ZGUgdGV4dC1zaXplKGRpc3BsYXktMSk7XG59XG5cbkBtaXhpbiBoZWFkaW5nMygpIHtcbiAgICBmb250LXdlaWdodDogNTAwO1xuXG4gICAgQGluY2x1ZGUgdGV4dC1zaXplKGhlYWRlci0yKTtcbn1cblxuQG1peGluIGhlYWRpbmc0KCkge1xuICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG5cbiAgICBAaW5jbHVkZSB0ZXh0LXNpemUoaGVhZGVyLTEpO1xufVxuXG5AbWl4aW4gaGVhZGluZzUoKSB7XG4gICAgZm9udC13ZWlnaHQ6IDUwMDtcblxuICAgIEBpbmNsdWRlIHRleHQtc2l6ZShib2R5LTMpO1xufVxuXG5AbWl4aW4gaGVhZGluZzYoKSB7XG4gICAgZm9udC13ZWlnaHQ6IDQwMDtcblxuICAgIEBpbmNsdWRlIHRleHQtc2l6ZShib2R5LTMpO1xufVxuXG5AbWl4aW4gY29udHJpYnV0b3JzLXRleHQoKSB7XG4gICAgZm9udC1zaXplOiAxM3B4O1xuICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgbWFyZ2luLXJpZ2h0OiA1cHg7XG4gICAgYWxpZ24tc2VsZjogY2VudGVyO1xufVxuXG5AbWl4aW4gdGV4dC1ib2R5LTEoKSB7XG4gICAgZm9udC1zaXplOiB2YXIoLS1nLXRleHQtYm9keS0xLWZvbnQtc2l6ZSk7XG4gICAgbGluZS1oZWlnaHQ6IHZhcigtLWctdGV4dC1ib2R5LTEtbGluZS1oZWlnaHQpO1xuICAgIGZvbnQtd2VpZ2h0OiB2YXIoLS1nLXRleHQtYm9keS1mb250LXdlaWdodCk7XG59XG5cbkBtaXhpbiBkZXNrdG9wLW9ubHkoKSB7XG4gICAgQG1lZGlhIChtYXgtd2lkdGg6IG1hcC5nZXQodmFyaWFibGVzLiRzY3JlZW5CcmVha3BvaW50cywgJ21kJykgLSAxKSB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxufVxuXG5AbWl4aW4gZGVza3RvcC10YWJsZXQtb25seSgpIHtcbiAgICBAbWVkaWEgKG1heC13aWR0aDogbWFwLmdldCh2YXJpYWJsZXMuJHNjcmVlbkJyZWFrcG9pbnRzLCAnc20nKSAtIDEpIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG59XG5cbkBtaXhpbiBtb2JpbGUtdGFibGV0LW9ubHkoKSB7XG4gICAgQG1lZGlhIChtaW4td2lkdGg6IG1hcC5nZXQodmFyaWFibGVzLiRzY3JlZW5CcmVha3BvaW50cywgJ21kJykpIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG59XG5cbkBtaXhpbiBtb2JpbGUtb25seSgpIHtcbiAgICBAbWVkaWEgKG1pbi13aWR0aDogbWFwLmdldCh2YXJpYWJsZXMuJHNjcmVlbkJyZWFrcG9pbnRzLCAnc20nKSkge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cbn1cbiIsIi8vIFNpemVzXG4kaGVhZGVySGVpZ2h0OiAwcHg7XG4kc3ViSGVhZGVySGVpZ2h0OiA0MHB4O1xuJHN1Yk5hdmlnYXRpb25IZWlnaHQ6IDUycHg7XG4kbm9ybWFsT2Zmc2V0OiAyMHB4O1xuJG1pbmlUb2NPZmZzZXQ6IDU2cHg7XG4kYmxvY2tNYXJnaW5Cb3R0b21MYXJnZTogMjBweDtcbiRibG9ja01hcmdpbkJvdHRvbU1lZGl1bTogMTVweDtcbiRoZWFkZXJNYXJnaW5Ub3BMYXJnZTogNDBweDtcbiRoZWFkZXJNYXJnaW5Ub3BNZWRpdW06IDMycHg7XG4kcG9wdXBQYWRkaW5nOiAxNnB4O1xuJGNlbnRlckJsb2NrTWF4V2lkdGg6IDczNnB4O1xuXG4vLyBOYXZpZ2F0aW9uXG4kdG9NYWluTWVudVZlcnRpY2FsUGFkZGluZzogNHB4O1xuJHRvTWFpbk1lbnVIb3Jpem9udGFsUGFkZGluZzogMTJweDtcbiR0b01haW5NZW51SGVpZ2h0OiBjYWxjKFxuICAgIHZhcigtLWRjLXN1Ym5hdmlnYXRpb24taGVpZ2h0LCAkc3ViTmF2aWdhdGlvbkhlaWdodCkgLSAjeyR0b01haW5NZW51VmVydGljYWxQYWRkaW5nfSAtICN7JHRvTWFpbk1lbnVWZXJ0aWNhbFBhZGRpbmd9XG4pO1xuXG4vLyBNaW5pVG9jXG4kbWluaVRvY1ZlcnRpY2FsUGFkZGluZzogMTZweDtcbiRtaW5pVG9jVGl0bGVIZWlnaHQ6IDIwcHg7IC8vIGxpbmUtaGVpZ2h0IGJvZHktMlxuJG1pbmlUb2NUaXRsZU1hcmdpbjogMTJweDtcbiRtb2JpbGVNaW5pVG9jT2Zmc2V0OiAyICogJG1pbmlUb2NWZXJ0aWNhbFBhZGRpbmcgKyAkbWluaVRvY1RpdGxlSGVpZ2h0ICsgJG1pbmlUb2NUaXRsZU1hcmdpbjtcblxuJHNjcmVlbkJyZWFrcG9pbnRzOiAoXG4gICAgJ3hzJzogMzc1cHgsXG4gICAgJ3NtJzogNTc3cHgsXG4gICAgJ21kJzogNzY5cHgsXG4gICAgJ2xnJzogMTA4MXB4LFxuICAgICd4bCc6IDExODVweCxcbik7XG4iXX0= */", "// Sizes\n$headerHeight: 0px;\n$subHeaderHeight: 40px;\n$subNavigationHeight: 52px;\n$normalOffset: 20px;\n$miniTocOffset: 56px;\n$blockMarginBottomLarge: 20px;\n$blockMarginBottomMedium: 15px;\n$headerMarginTopLarge: 40px;\n$headerMarginTopMedium: 32px;\n$popupPadding: 16px;\n$centerBlockMaxWidth: 736px;\n\n// Navigation\n$toMainMenuVerticalPadding: 4px;\n$toMainMenuHorizontalPadding: 12px;\n$toMainMenuHeight: calc(\n var(--dc-subnavigation-height, $subNavigationHeight) - #{$toMainMenuVerticalPadding} - #{$toMainMenuVerticalPadding}\n);\n\n// MiniToc\n$miniTocVerticalPadding: 16px;\n$miniTocTitleHeight: 20px; // line-height body-2\n$miniTocTitleMargin: 12px;\n$mobileMiniTocOffset: 2 * $miniTocVerticalPadding + $miniTocTitleHeight + $miniTocTitleMargin;\n\n$screenBreakpoints: (\n 'xs': 375px,\n 'sm': 577px,\n 'md': 769px,\n 'lg': 1081px,\n 'xl': 1185px,\n);\n"],
5
+ "mappings": ";AAOI,CAAA;AACI,eAAA;AACA,SAAA,IAAA;AACA,iBAAA;AACA,cAAA;ACPJ,aAAA,IAAA;AACA,eAAA,IAAA;ACEJ;AFSI,CAAA;ACPA,UAAA;AACA,WAAA;AACA,cAAA;ADQI,YAAA;AAEA,cAAA,KAAA,MAAA,EAAA,IAAA,EAAA,KAAA,EAAA;AAAA,cAAA,KAAA,MAAA,EAAA,IAAA,kBAAA,EAAA,KAAA,EAAA,IAAA,yBAAA,EAAA,MAAA,EAAA;AAMA,cAAA;AAAA,cAAA;AAAA,YAAA,OAAA;AEZR;AFeI,CAAA;AACI,WAAA;AEbR;AFeQ,CAHJ,qBAGI,EAAA,CAAA;AACI,qBAAA,IAAA;AEbZ;ADaQ,CDJJ,qBCII,EAAA,CDDA,yBCCA;AACI,WAAA,IAAA,MAAA,IAAA;AACA,kBAAA;ACXZ;ADaQ,CDRJ,qBCQI,EAAA,CDLA,yBCKA,MAAA,KAAA;AACI,WAAA;ACXZ;AFWQ,CANA;AAOI,WAAA;AACA,eAAA;AACA,WAAA,IAAA,IAAA,IAAA;AACA,cAAA;AAEA,SAAA,IAAA;AACA,eAAA,IAAA,MAAA;AACA,2BAAA;AAAA,mBAAA;AEVZ;AFYY,CAhBJ,yBAgBI;AACI,SAAA,IAAA;AEVhB;AFeY,CAAA,2BAAA,CAtBJ;AAuBQ,gBAAA;AEbhB;AFiBQ,CAAA,4BAAA,EAAA,CA3BA;AA4BI,SAAA,IAAA;AACA,qBAAA,IAAA;AEfZ;AFmBI,CAAA;AACI,WAAA;AEjBR;AFoBI,OAAA,CAAA,SAAA,EAAA;AAlEJ,GAAA;AA0EQ,aAAA,KAAA,IAAA,KAAA;AExBN;AFkBM,MAAA,KAAA,CAAA,sBAAA;AACI,gBAAA;AEhBV;AFuBM,GAzEJ;AA0EQ,mBAAA;AErBV;AFyBU,GAjFZ,WAiFY,KAAA,CAbJ,wBAaI,CAnBR;AAsBY,aAAA;AACA,YAAA;AEzBd;AF4BU,GAxFZ,WAwFY,KAAA,CApBJ,wBAoBI,CA5ER;AA6EY,gBAAA,KAAA,MAAA,EAAA,IAAA,EAAA,KAAA,EAAA,KAAA,EAAA;AAAA,gBAAA,KAAA,MAAA,EAAA,IAAA,kBAAA,EAAA,KAAA,EAAA,IAAA,yBAAA,EAAA,MAAA,EAAA,KAAA,EAAA;AE1Bd;AFoCU,GAtEJ;AAuEQ,aAAA,IAAA,KAAA,IAAA;AElCd;AFsCc,GArDJ,2BAqDI,CA3ER;AA4EY,kBAAA;AEpClB;AFyCM,GAlGJ;ACZA,eAAA,IAAA;AACA,iBAAA,IAAA;ADgHQ,gBAAA,KAAA,MAAA,EAAA,IAAA,EAAA,KAAA,EAAA;AAAA,gBAAA,KAAA,MAAA,EAAA,IAAA,kBAAA,EAAA,KAAA,EAAA,IAAA,yBAAA,EAAA,MAAA,EAAA;AEvCV;AACF;",
6
6
  "names": []
7
7
  }
@@ -1,5 +1,6 @@
1
- import React from 'react';
1
+ import { FC, MouseEvent } from 'react';
2
2
  import { DocHeadingItem, Router } from '../../models';
3
+ import { FlatHeadingItem } from '../SubNavigation/hooks/useHeadingIntersectionObserver';
3
4
  import './MiniToc.scss';
4
5
  export interface MinitocProps {
5
6
  headings: DocHeadingItem[];
@@ -13,5 +14,10 @@ export interface MinitocSectionProps {
13
14
  router: Router;
14
15
  headerHeight?: number;
15
16
  }
16
- declare const MiniToc: React.NamedExoticComponent<MinitocProps>;
17
+ type MiniTocProps = {
18
+ headings: readonly FlatHeadingItem[];
19
+ activeHeading: FlatHeadingItem | null;
20
+ onItemClick?: (event: MouseEvent) => void;
21
+ };
22
+ declare const MiniToc: FC<MiniTocProps>;
17
23
  export default MiniToc;
@@ -35,49 +35,58 @@ __export(MiniToc_exports, {
35
35
  module.exports = __toCommonJS(MiniToc_exports);
36
36
  var import_react = __toESM(require("react"));
37
37
  var import_bem_cn_lite = __toESM(require("bem-cn-lite"));
38
+ var import_clsx = __toESM(require("clsx"));
38
39
  var import_hooks = require("../../hooks");
39
- var import_Scrollspy = require("../Scrollspy");
40
40
  var import_MiniToc = require("./MiniToc.css");
41
41
  var b = (0, import_bem_cn_lite.default)("dc-mini-toc");
42
- var overflowedClassName = "dc-mini-toc_overflowed";
43
- function getFlatHeadings(items, isChild = false) {
44
- return items.reduce((result, { href, title, items: subItems }) => {
45
- return result.concat({ title, href, isChild }, getFlatHeadings(subItems || [], true));
46
- }, []);
47
- }
48
- var MiniToc = (0, import_react.memo)(
49
- ({ headings, router, headerHeight, onItemClick, onActiveItemTitleChange }) => {
50
- const { t } = (0, import_hooks.useTranslation)("mini-toc");
51
- const flatHeadings = (0, import_react.useMemo)(() => getFlatHeadings(headings), [headings]);
52
- const sectionHrefs = (0, import_react.useMemo)(
53
- () => flatHeadings.map(({ href }) => href, []),
54
- [flatHeadings]
55
- );
56
- const sectionTitles = (0, import_react.useMemo)(
57
- () => flatHeadings.map(({ title }) => title, []),
58
- [flatHeadings]
59
- );
60
- if (flatHeadings.length === 0) {
61
- return null;
42
+ var overflownClassName = "dc-mini-toc_overflowed";
43
+ var MiniToc = ({ headings, activeHeading, onItemClick }) => {
44
+ const { t } = (0, import_hooks.useTranslation)("mini-toc");
45
+ const [isOverflown, setIsOverflown] = (0, import_react.useState)(false);
46
+ const rootContainerRef = (0, import_react.useRef)(null);
47
+ const [refMappings] = (0, import_react.useState)(() => /* @__PURE__ */ new WeakMap());
48
+ const refCb = (forHeading) => (current) => refMappings.set(forHeading, current);
49
+ (0, import_react.useLayoutEffect)(() => {
50
+ var _a, _b, _c, _d;
51
+ const scrollHeight = (_b = (_a = rootContainerRef.current) == null ? void 0 : _a.scrollHeight) != null ? _b : 0;
52
+ const clientHeight = (_d = (_c = rootContainerRef.current) == null ? void 0 : _c.clientHeight) != null ? _d : 0;
53
+ setIsOverflown(scrollHeight > clientHeight);
54
+ }, [headings]);
55
+ (0, import_react.useLayoutEffect)(() => {
56
+ const maybeAffectedLink = activeHeading && refMappings.get(activeHeading);
57
+ const root = rootContainerRef.current;
58
+ if (!maybeAffectedLink || !root) {
59
+ return;
62
60
  }
63
- return /* @__PURE__ */ import_react.default.createElement("nav", { className: b(), "aria-label": t("article-navigation") }, /* @__PURE__ */ import_react.default.createElement("h2", { className: b("title") }, t("title"), ":"), /* @__PURE__ */ import_react.default.createElement(
64
- import_Scrollspy.Scrollspy,
61
+ const needsScroll = !(maybeAffectedLink.offsetTop > root.scrollTop && maybeAffectedLink.offsetTop + maybeAffectedLink.clientHeight < root.scrollTop + root.clientHeight);
62
+ const sign = maybeAffectedLink.offsetTop > root.scrollTop ? 1 : -1;
63
+ const scrollToPos = needsScroll ? maybeAffectedLink.offsetTop + sign * (root.clientHeight / 2) : 0;
64
+ if (needsScroll) {
65
+ root.scroll({ top: scrollToPos, behavior: "smooth" });
66
+ }
67
+ }, [refMappings, activeHeading]);
68
+ return headings.length ? /* @__PURE__ */ import_react.default.createElement("nav", { className: b(), "aria-label": t("article-navigation") }, /* @__PURE__ */ import_react.default.createElement("h2", { className: b("title") }, t("title"), ":"), /* @__PURE__ */ import_react.default.createElement(
69
+ "ul",
70
+ {
71
+ className: (0, import_clsx.default)(b("sections"), isOverflown && overflownClassName),
72
+ "aria-label": t("description"),
73
+ ref: rootContainerRef
74
+ },
75
+ headings.map((heading) => /* @__PURE__ */ import_react.default.createElement(
76
+ "li",
65
77
  {
66
- className: b("sections"),
67
- currentClassName: b("section", { active: true }),
68
- overflowedClassName,
69
- items: sectionHrefs,
70
- titles: sectionTitles,
71
- router,
72
- headerHeight,
73
- onSectionClick: onItemClick,
74
- onActiveItemTitleChange,
75
- "aria-label": t("description")
78
+ key: heading.href,
79
+ "data-hash": heading.href,
80
+ onClick: onItemClick,
81
+ className: b("section", {
82
+ child: heading.isChild,
83
+ active: heading.href === (activeHeading == null ? void 0 : activeHeading.href)
84
+ }),
85
+ ref: refCb(heading)
76
86
  },
77
- flatHeadings.map(({ href, title, isChild }) => /* @__PURE__ */ import_react.default.createElement("li", { key: href, "data-hash": href, className: b("section", { child: isChild }) }, /* @__PURE__ */ import_react.default.createElement("a", { href, className: b("section-link"), "data-router-shallow": true }, title)))
78
- ), /* @__PURE__ */ import_react.default.createElement("div", { className: b("bottom") }));
79
- }
80
- );
81
- MiniToc.displayName = "MiniToc";
87
+ /* @__PURE__ */ import_react.default.createElement("a", { href: heading.href, className: b("section-link"), "data-router-shallow": true }, heading.title)
88
+ ))
89
+ ), /* @__PURE__ */ import_react.default.createElement("div", { className: b("bottom") })) : null;
90
+ };
82
91
  var MiniToc_default = MiniToc;
83
92
  //# sourceMappingURL=MiniToc.js.map
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../../src/components/MiniToc/MiniToc.tsx"],
4
- "sourcesContent": ["import React, {memo, useMemo} from 'react';\nimport block from 'bem-cn-lite';\n\nimport {useTranslation} from '../../hooks';\nimport {DocHeadingItem, Router} from '../../models';\nimport {Scrollspy} from '../Scrollspy';\n\nimport './MiniToc.scss';\n\nconst b = block('dc-mini-toc');\n\nconst overflowedClassName = 'dc-mini-toc_overflowed';\n\nexport interface MinitocProps {\n headings: DocHeadingItem[];\n router: Router;\n headerHeight?: number;\n onItemClick?: (event: MouseEvent) => void;\n onActiveItemTitleChange?: (title: string) => void;\n}\n\nexport interface MinitocSectionProps {\n headings: DocHeadingItem[];\n router: Router;\n headerHeight?: number;\n}\n\ninterface FlatHeadingItem {\n title: string;\n href: string;\n isChild: boolean;\n}\n\nfunction getFlatHeadings(items: DocHeadingItem[], isChild = false): FlatHeadingItem[] {\n return items.reduce((result, {href, title, items: subItems}) => {\n return result.concat({title, href, isChild}, getFlatHeadings(subItems || [], true));\n }, [] as FlatHeadingItem[]);\n}\n\nconst MiniToc = memo<MinitocProps>(\n ({headings, router, headerHeight, onItemClick, onActiveItemTitleChange}) => {\n const {t} = useTranslation('mini-toc');\n const flatHeadings = useMemo(() => getFlatHeadings(headings), [headings]);\n const sectionHrefs = useMemo(\n () => flatHeadings.map<string>(({href}) => href, []),\n [flatHeadings],\n );\n const sectionTitles = useMemo(\n () => flatHeadings.map<string>(({title}) => title, []),\n [flatHeadings],\n );\n\n if (flatHeadings.length === 0) {\n return null;\n }\n\n return (\n <nav className={b()} aria-label={t('article-navigation')}>\n <h2 className={b('title')}>{t('title')}:</h2>\n <Scrollspy\n className={b('sections')}\n currentClassName={b('section', {active: true})}\n overflowedClassName={overflowedClassName}\n items={sectionHrefs}\n titles={sectionTitles}\n router={router}\n headerHeight={headerHeight}\n onSectionClick={onItemClick}\n onActiveItemTitleChange={onActiveItemTitleChange}\n aria-label={t('description')}\n >\n {flatHeadings.map(({href, title, isChild}) => (\n <li key={href} data-hash={href} className={b('section', {child: isChild})}>\n <a href={href} className={b('section-link')} data-router-shallow>\n {title}\n </a>\n </li>\n ))}\n </Scrollspy>\n <div className={b('bottom')}></div>\n </nav>\n );\n },\n);\n\nMiniToc.displayName = 'MiniToc';\n\nexport default MiniToc;\n"],
5
- "mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,mBAAmC;AACnC,yBAAkB;AAElB,mBAA6B;AAE7B,uBAAwB;AAExB,qBAAO;AAEP,IAAM,QAAI,mBAAAA,SAAM,aAAa;AAE7B,IAAM,sBAAsB;AAsB5B,SAAS,gBAAgB,OAAyB,UAAU,OAA0B;AAClF,SAAO,MAAM,OAAO,CAAC,QAAQ,EAAC,MAAM,OAAO,OAAO,SAAQ,MAAM;AAC5D,WAAO,OAAO,OAAO,EAAC,OAAO,MAAM,QAAO,GAAG,gBAAgB,YAAY,CAAC,GAAG,IAAI,CAAC;AAAA,EACtF,GAAG,CAAC,CAAsB;AAC9B;AAEA,IAAM,cAAU;AAAA,EACZ,CAAC,EAAC,UAAU,QAAQ,cAAc,aAAa,wBAAuB,MAAM;AACxE,UAAM,EAAC,EAAC,QAAI,6BAAe,UAAU;AACrC,UAAM,mBAAe,sBAAQ,MAAM,gBAAgB,QAAQ,GAAG,CAAC,QAAQ,CAAC;AACxE,UAAM,mBAAe;AAAA,MACjB,MAAM,aAAa,IAAY,CAAC,EAAC,KAAI,MAAM,MAAM,CAAC,CAAC;AAAA,MACnD,CAAC,YAAY;AAAA,IACjB;AACA,UAAM,oBAAgB;AAAA,MAClB,MAAM,aAAa,IAAY,CAAC,EAAC,MAAK,MAAM,OAAO,CAAC,CAAC;AAAA,MACrD,CAAC,YAAY;AAAA,IACjB;AAEA,QAAI,aAAa,WAAW,GAAG;AAC3B,aAAO;AAAA,IACX;AAEA,WACI,6BAAAC,QAAA,cAAC,SAAI,WAAW,EAAE,GAAG,cAAY,EAAE,oBAAoB,KACnD,6BAAAA,QAAA,cAAC,QAAG,WAAW,EAAE,OAAO,KAAI,EAAE,OAAO,GAAE,GAAC,GACxC,6BAAAA,QAAA;AAAA,MAAC;AAAA;AAAA,QACG,WAAW,EAAE,UAAU;AAAA,QACvB,kBAAkB,EAAE,WAAW,EAAC,QAAQ,KAAI,CAAC;AAAA,QAC7C;AAAA,QACA,OAAO;AAAA,QACP,QAAQ;AAAA,QACR;AAAA,QACA;AAAA,QACA,gBAAgB;AAAA,QAChB;AAAA,QACA,cAAY,EAAE,aAAa;AAAA;AAAA,MAE1B,aAAa,IAAI,CAAC,EAAC,MAAM,OAAO,QAAO,MACpC,6BAAAA,QAAA,cAAC,QAAG,KAAK,MAAM,aAAW,MAAM,WAAW,EAAE,WAAW,EAAC,OAAO,QAAO,CAAC,KACpE,6BAAAA,QAAA,cAAC,OAAE,MAAY,WAAW,EAAE,cAAc,GAAG,uBAAmB,QAC3D,KACL,CACJ,CACH;AAAA,IACL,GACA,6BAAAA,QAAA,cAAC,SAAI,WAAW,EAAE,QAAQ,GAAG,CACjC;AAAA,EAER;AACJ;AAEA,QAAQ,cAAc;AAEtB,IAAO,kBAAQ;",
6
- "names": ["block", "React"]
4
+ "sourcesContent": ["import React, {FC, MouseEvent, useLayoutEffect, useRef, useState} from 'react';\nimport block from 'bem-cn-lite';\nimport clsx from 'clsx';\n\nimport {useTranslation} from '../../hooks';\nimport {DocHeadingItem, Router} from '../../models';\nimport {FlatHeadingItem} from '../SubNavigation/hooks/useHeadingIntersectionObserver';\n\nimport './MiniToc.scss';\n\nconst b = block('dc-mini-toc');\n\nconst overflownClassName = 'dc-mini-toc_overflowed';\n\nexport interface MinitocProps {\n headings: DocHeadingItem[];\n router: Router;\n headerHeight?: number;\n onItemClick?: (event: MouseEvent) => void;\n onActiveItemTitleChange?: (title: string) => void;\n}\n\nexport interface MinitocSectionProps {\n headings: DocHeadingItem[];\n router: Router;\n headerHeight?: number;\n}\n\ntype MiniTocProps = {\n headings: readonly FlatHeadingItem[];\n activeHeading: FlatHeadingItem | null;\n onItemClick?: (event: MouseEvent) => void;\n};\n\nconst MiniToc: FC<MiniTocProps> = ({headings, activeHeading, onItemClick}) => {\n const {t} = useTranslation('mini-toc');\n\n const [isOverflown, setIsOverflown] = useState(false);\n const rootContainerRef = useRef<HTMLUListElement>(null);\n const [refMappings] = useState(() => new WeakMap<FlatHeadingItem, HTMLLIElement>());\n\n const refCb = (forHeading: FlatHeadingItem) => (current: HTMLLIElement) =>\n refMappings.set(forHeading, current);\n\n useLayoutEffect(() => {\n const scrollHeight = rootContainerRef.current?.scrollHeight ?? 0;\n const clientHeight = rootContainerRef.current?.clientHeight ?? 0;\n\n setIsOverflown(scrollHeight > clientHeight);\n }, [headings]);\n\n useLayoutEffect(() => {\n const maybeAffectedLink = activeHeading && refMappings.get(activeHeading);\n const root = rootContainerRef.current;\n\n if (!maybeAffectedLink || !root) {\n return;\n }\n\n const needsScroll = !(\n maybeAffectedLink.offsetTop > root.scrollTop &&\n maybeAffectedLink.offsetTop + maybeAffectedLink.clientHeight <\n root.scrollTop + root.clientHeight\n );\n const sign = maybeAffectedLink.offsetTop > root.scrollTop ? 1 : -1;\n\n const scrollToPos = needsScroll\n ? maybeAffectedLink.offsetTop + sign * (root.clientHeight / 2)\n : 0;\n\n if (needsScroll) {\n root.scroll({top: scrollToPos, behavior: 'smooth'});\n }\n }, [refMappings, activeHeading]);\n\n return headings.length ? (\n <nav className={b()} aria-label={t('article-navigation')}>\n <h2 className={b('title')}>{t('title')}:</h2>\n <ul\n className={clsx(b('sections'), isOverflown && overflownClassName)}\n aria-label={t('description')}\n ref={rootContainerRef}\n >\n {headings.map((heading) => (\n <li\n key={heading.href}\n data-hash={heading.href}\n onClick={onItemClick}\n className={b('section', {\n child: heading.isChild,\n active: heading.href === activeHeading?.href,\n })}\n ref={refCb(heading)}\n >\n <a href={heading.href} className={b('section-link')} data-router-shallow>\n {heading.title}\n </a>\n </li>\n ))}\n </ul>\n <div className={b('bottom')} />\n </nav>\n ) : null;\n};\n\nexport default MiniToc;\n"],
5
+ "mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,mBAAuE;AACvE,yBAAkB;AAClB,kBAAiB;AAEjB,mBAA6B;AAI7B,qBAAO;AAEP,IAAM,QAAI,mBAAAA,SAAM,aAAa;AAE7B,IAAM,qBAAqB;AAsB3B,IAAM,UAA4B,CAAC,EAAC,UAAU,eAAe,YAAW,MAAM;AAC1E,QAAM,EAAC,EAAC,QAAI,6BAAe,UAAU;AAErC,QAAM,CAAC,aAAa,cAAc,QAAI,uBAAS,KAAK;AACpD,QAAM,uBAAmB,qBAAyB,IAAI;AACtD,QAAM,CAAC,WAAW,QAAI,uBAAS,MAAM,oBAAI,QAAwC,CAAC;AAElF,QAAM,QAAQ,CAAC,eAAgC,CAAC,YAC5C,YAAY,IAAI,YAAY,OAAO;AAEvC,oCAAgB,MAAM;AA5C1B;AA6CQ,UAAM,gBAAe,4BAAiB,YAAjB,mBAA0B,iBAA1B,YAA0C;AAC/D,UAAM,gBAAe,4BAAiB,YAAjB,mBAA0B,iBAA1B,YAA0C;AAE/D,mBAAe,eAAe,YAAY;AAAA,EAC9C,GAAG,CAAC,QAAQ,CAAC;AAEb,oCAAgB,MAAM;AAClB,UAAM,oBAAoB,iBAAiB,YAAY,IAAI,aAAa;AACxE,UAAM,OAAO,iBAAiB;AAE9B,QAAI,CAAC,qBAAqB,CAAC,MAAM;AAC7B;AAAA,IACJ;AAEA,UAAM,cAAc,EAChB,kBAAkB,YAAY,KAAK,aACnC,kBAAkB,YAAY,kBAAkB,eAC5C,KAAK,YAAY,KAAK;AAE9B,UAAM,OAAO,kBAAkB,YAAY,KAAK,YAAY,IAAI;AAEhE,UAAM,cAAc,cACd,kBAAkB,YAAY,QAAQ,KAAK,eAAe,KAC1D;AAEN,QAAI,aAAa;AACb,WAAK,OAAO,EAAC,KAAK,aAAa,UAAU,SAAQ,CAAC;AAAA,IACtD;AAAA,EACJ,GAAG,CAAC,aAAa,aAAa,CAAC;AAE/B,SAAO,SAAS,SACZ,6BAAAC,QAAA,cAAC,SAAI,WAAW,EAAE,GAAG,cAAY,EAAE,oBAAoB,KACnD,6BAAAA,QAAA,cAAC,QAAG,WAAW,EAAE,OAAO,KAAI,EAAE,OAAO,GAAE,GAAC,GACxC,6BAAAA,QAAA;AAAA,IAAC;AAAA;AAAA,MACG,eAAW,YAAAC,SAAK,EAAE,UAAU,GAAG,eAAe,kBAAkB;AAAA,MAChE,cAAY,EAAE,aAAa;AAAA,MAC3B,KAAK;AAAA;AAAA,IAEJ,SAAS,IAAI,CAAC,YACX,6BAAAD,QAAA;AAAA,MAAC;AAAA;AAAA,QACG,KAAK,QAAQ;AAAA,QACb,aAAW,QAAQ;AAAA,QACnB,SAAS;AAAA,QACT,WAAW,EAAE,WAAW;AAAA,UACpB,OAAO,QAAQ;AAAA,UACf,QAAQ,QAAQ,UAAS,+CAAe;AAAA,QAC5C,CAAC;AAAA,QACD,KAAK,MAAM,OAAO;AAAA;AAAA,MAElB,6BAAAA,QAAA,cAAC,OAAE,MAAM,QAAQ,MAAM,WAAW,EAAE,cAAc,GAAG,uBAAmB,QACnE,QAAQ,KACb;AAAA,IACJ,CACH;AAAA,EACL,GACA,6BAAAA,QAAA,cAAC,SAAI,WAAW,EAAE,QAAQ,GAAG,CACjC,IACA;AACR;AAEA,IAAO,kBAAQ;",
6
+ "names": ["block", "React", "clsx"]
7
7
  }