@diplodoc/components 5.5.0 → 5.7.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/build/cjs/components/BookmarkButton/BookmarkButton.css.map +1 -1
- package/build/cjs/components/Breadcrumbs/Breadcrumbs.css.map +1 -1
- package/build/cjs/components/ContributorAvatars/ContributorAvatars.css.map +1 -1
- package/build/cjs/components/Contributors/Contributors.css.map +1 -1
- package/build/cjs/components/Control/Control.css.map +1 -1
- package/build/cjs/components/Controls/Controls.css +1 -0
- package/build/cjs/components/Controls/Controls.css.map +3 -3
- package/build/cjs/components/Controls/Controls.d.ts +5 -0
- package/build/cjs/components/Controls/Controls.js +11 -2
- package/build/cjs/components/Controls/Controls.js.map +2 -2
- package/build/cjs/components/Controls/single-controls/DividerControl/DividerControl.css.map +1 -1
- package/build/cjs/components/Controls/single-controls/LangControl/LangControl.css.map +1 -1
- package/build/cjs/components/Controls/single-controls/PdfControl.d.ts +3 -0
- package/build/cjs/components/Controls/single-controls/PdfControl.js +4 -3
- package/build/cjs/components/Controls/single-controls/PdfControl.js.map +2 -2
- package/build/cjs/components/Controls/single-controls/SettingsControl/SettingsControl.css.map +1 -1
- package/build/cjs/components/DocContentPage/DocContentPage.d.ts +5 -0
- package/build/cjs/components/DocContentPage/DocContentPage.js +4 -2
- package/build/cjs/components/DocContentPage/DocContentPage.js.map +2 -2
- package/build/cjs/components/DocLayout/DocLayout.css.map +1 -1
- package/build/cjs/components/DocLayout/DocLayout.d.ts +5 -0
- package/build/cjs/components/DocLayout/DocLayout.js +3 -1
- package/build/cjs/components/DocLayout/DocLayout.js.map +2 -2
- package/build/cjs/components/DocLeadingPage/DocLeadingPage.css.map +1 -1
- package/build/cjs/components/DocPage/DocPage.css.map +1 -1
- package/build/cjs/components/DocPage/DocPage.d.ts +5 -0
- package/build/cjs/components/DocPage/DocPage.js +2 -0
- package/build/cjs/components/DocPage/DocPage.js.map +2 -2
- package/build/cjs/components/DocPageTitle/DocPageTitle.css.map +1 -1
- package/build/cjs/components/ErrorPage/ErrorPage.css.map +1 -1
- package/build/cjs/components/Feedback/Feedback.css.map +1 -1
- package/build/cjs/components/Mark/Mark.css.map +1 -1
- package/build/cjs/components/MiniToc/MiniToc.css.map +1 -1
- package/build/cjs/components/MobileControls/MobileControl/MobileControl.css.map +1 -1
- package/build/cjs/components/MobileControls/MobileControlSheet/MobileControlSheet.css.map +1 -1
- package/build/cjs/components/MobileControls/MobileControls.css.map +1 -1
- package/build/cjs/components/NeuroExpertModal/NeuroExpertModal.css +63 -0
- package/build/cjs/components/NeuroExpertModal/NeuroExpertModal.css.map +7 -0
- package/build/cjs/components/NeuroExpertModal/NeuroExpertModal.d.ts +9 -0
- package/build/cjs/components/NeuroExpertModal/NeuroExpertModal.js +99 -0
- package/build/cjs/components/NeuroExpertModal/NeuroExpertModal.js.map +7 -0
- package/build/cjs/components/NeuroExpertModal/index.d.ts +2 -0
- package/build/cjs/components/NeuroExpertModal/index.js +27 -0
- package/build/cjs/components/NeuroExpertModal/index.js.map +7 -0
- package/build/cjs/components/Notification/Notification.css.map +1 -1
- package/build/cjs/components/Paginator/Paginator.css.map +1 -1
- package/build/cjs/components/SearchBar/SearchBar.css.map +1 -1
- package/build/cjs/components/SearchItem/SearchItem.css.map +1 -1
- package/build/cjs/components/SearchPage/SearchPage.css.map +1 -1
- package/build/cjs/components/SearchSuggest/AiIcon.d.ts +2 -0
- package/build/cjs/components/SearchSuggest/AiIcon.js +44 -0
- package/build/cjs/components/SearchSuggest/AiIcon.js.map +7 -0
- package/build/cjs/components/SearchSuggest/Suggest.d.ts +2 -1
- package/build/cjs/components/SearchSuggest/Suggest.js +4 -6
- package/build/cjs/components/SearchSuggest/Suggest.js.map +2 -2
- package/build/cjs/components/SearchSuggest/index.css +7 -0
- package/build/cjs/components/SearchSuggest/index.css.map +3 -3
- package/build/cjs/components/SearchSuggest/index.d.ts +3 -0
- package/build/cjs/components/SearchSuggest/index.js +14 -3
- package/build/cjs/components/SearchSuggest/index.js.map +3 -3
- package/build/cjs/components/SearchSuggest/useAiAction.d.ts +7 -0
- package/build/cjs/components/SearchSuggest/useAiAction.js +60 -0
- package/build/cjs/components/SearchSuggest/useAiAction.js.map +7 -0
- package/build/cjs/components/ShareButton/ShareButton.css.map +1 -1
- package/build/cjs/components/SubNavigation/SubNavigation.css.map +1 -1
- package/build/cjs/components/Subscribe/Subscribe.css.map +1 -1
- package/build/cjs/components/Toc/Toc.css.map +1 -1
- package/build/cjs/components/Toc/Toc.d.ts +5 -0
- package/build/cjs/components/Toc/Toc.js +5 -3
- package/build/cjs/components/Toc/Toc.js.map +2 -2
- package/build/cjs/components/TocItem/TocItem.css.map +1 -1
- package/build/cjs/components/TocLable/TocLabel.css.map +1 -1
- package/build/cjs/components/TocNavPanel/TocNavPanel.css.map +1 -1
- package/build/cjs/components/ToggleArrow/ToggleArrow.css.map +1 -1
- package/build/cjs/components/UpdatedAtDate/UpdatedAtDate.css.map +1 -1
- package/build/cjs/components/Widgets/Widgets.css.map +1 -1
- package/build/cjs/components/navigation/CustomNavigation/CustomNavigation.css.map +1 -1
- package/build/cjs/components/navigation/Label/Label.css.map +1 -1
- package/build/cjs/components/navigation/MobileDropdown/MobileDropdown.css.map +1 -1
- package/build/cjs/components/navigation/Sidebar/Sidebar.css.map +1 -1
- package/build/cjs/components/navigation/SidebarContent/SidebarContent.css.map +1 -1
- package/build/cjs/components/navigation/SidebarNavigation/SidebarNavigation.css.map +1 -1
- package/build/cjs/components/navigation/ToMainMenu/ToMainMenu.css.map +1 -1
- package/build/cjs/i18n/index.d.ts +32 -0
- package/build/cjs/i18n/index.js +26 -16
- package/build/cjs/i18n/index.js.map +2 -2
- package/build/cjs/index.d.ts +1 -0
- package/build/cjs/index.js +1 -0
- package/build/cjs/index.js.map +2 -2
- package/build/esm/components/BookmarkButton/BookmarkButton.css.map +1 -1
- package/build/esm/components/Breadcrumbs/Breadcrumbs.css.map +1 -1
- package/build/esm/components/ContributorAvatars/ContributorAvatars.css.map +1 -1
- package/build/esm/components/Contributors/Contributors.css.map +1 -1
- package/build/esm/components/Control/Control.css.map +1 -1
- package/build/esm/components/Controls/Controls.css +1 -0
- package/build/esm/components/Controls/Controls.css.map +3 -3
- package/build/esm/components/Controls/Controls.d.ts +5 -0
- package/build/esm/components/Controls/Controls.js +11 -2
- package/build/esm/components/Controls/Controls.js.map +2 -2
- package/build/esm/components/Controls/single-controls/DividerControl/DividerControl.css.map +1 -1
- package/build/esm/components/Controls/single-controls/LangControl/LangControl.css.map +1 -1
- package/build/esm/components/Controls/single-controls/PdfControl.d.ts +3 -0
- package/build/esm/components/Controls/single-controls/PdfControl.js +4 -3
- package/build/esm/components/Controls/single-controls/PdfControl.js.map +2 -2
- package/build/esm/components/Controls/single-controls/SettingsControl/SettingsControl.css.map +1 -1
- package/build/esm/components/DocContentPage/DocContentPage.d.ts +5 -0
- package/build/esm/components/DocContentPage/DocContentPage.js +4 -2
- package/build/esm/components/DocContentPage/DocContentPage.js.map +2 -2
- package/build/esm/components/DocLayout/DocLayout.css.map +1 -1
- package/build/esm/components/DocLayout/DocLayout.d.ts +5 -0
- package/build/esm/components/DocLayout/DocLayout.js +3 -1
- package/build/esm/components/DocLayout/DocLayout.js.map +2 -2
- package/build/esm/components/DocLeadingPage/DocLeadingPage.css.map +1 -1
- package/build/esm/components/DocPage/DocPage.css.map +1 -1
- package/build/esm/components/DocPage/DocPage.d.ts +5 -0
- package/build/esm/components/DocPage/DocPage.js +2 -0
- package/build/esm/components/DocPage/DocPage.js.map +2 -2
- package/build/esm/components/DocPageTitle/DocPageTitle.css.map +1 -1
- package/build/esm/components/ErrorPage/ErrorPage.css.map +1 -1
- package/build/esm/components/Feedback/Feedback.css.map +1 -1
- package/build/esm/components/Mark/Mark.css.map +1 -1
- package/build/esm/components/MiniToc/MiniToc.css.map +1 -1
- package/build/esm/components/MobileControls/MobileControl/MobileControl.css.map +1 -1
- package/build/esm/components/MobileControls/MobileControlSheet/MobileControlSheet.css.map +1 -1
- package/build/esm/components/MobileControls/MobileControls.css.map +1 -1
- package/build/esm/components/NeuroExpertModal/NeuroExpertModal.css +63 -0
- package/build/esm/components/NeuroExpertModal/NeuroExpertModal.css.map +7 -0
- package/build/esm/components/NeuroExpertModal/NeuroExpertModal.d.ts +9 -0
- package/build/esm/components/NeuroExpertModal/NeuroExpertModal.js +68 -0
- package/build/esm/components/NeuroExpertModal/NeuroExpertModal.js.map +7 -0
- package/build/esm/components/NeuroExpertModal/index.d.ts +2 -0
- package/build/esm/components/NeuroExpertModal/index.js +6 -0
- package/build/esm/components/NeuroExpertModal/index.js.map +7 -0
- package/build/esm/components/Notification/Notification.css.map +1 -1
- package/build/esm/components/Paginator/Paginator.css.map +1 -1
- package/build/esm/components/SearchBar/SearchBar.css.map +1 -1
- package/build/esm/components/SearchItem/SearchItem.css.map +1 -1
- package/build/esm/components/SearchPage/SearchPage.css.map +1 -1
- package/build/esm/components/SearchSuggest/AiIcon.d.ts +2 -0
- package/build/esm/components/SearchSuggest/AiIcon.js +13 -0
- package/build/esm/components/SearchSuggest/AiIcon.js.map +7 -0
- package/build/esm/components/SearchSuggest/Suggest.d.ts +2 -1
- package/build/esm/components/SearchSuggest/Suggest.js +4 -6
- package/build/esm/components/SearchSuggest/Suggest.js.map +2 -2
- package/build/esm/components/SearchSuggest/index.css +7 -0
- package/build/esm/components/SearchSuggest/index.css.map +3 -3
- package/build/esm/components/SearchSuggest/index.d.ts +3 -0
- package/build/esm/components/SearchSuggest/index.js +14 -3
- package/build/esm/components/SearchSuggest/index.js.map +3 -3
- package/build/esm/components/SearchSuggest/useAiAction.d.ts +7 -0
- package/build/esm/components/SearchSuggest/useAiAction.js +29 -0
- package/build/esm/components/SearchSuggest/useAiAction.js.map +7 -0
- package/build/esm/components/ShareButton/ShareButton.css.map +1 -1
- package/build/esm/components/SubNavigation/SubNavigation.css.map +1 -1
- package/build/esm/components/Subscribe/Subscribe.css.map +1 -1
- package/build/esm/components/Toc/Toc.css.map +1 -1
- package/build/esm/components/Toc/Toc.d.ts +5 -0
- package/build/esm/components/Toc/Toc.js +5 -3
- package/build/esm/components/Toc/Toc.js.map +2 -2
- package/build/esm/components/TocItem/TocItem.css.map +1 -1
- package/build/esm/components/TocLable/TocLabel.css.map +1 -1
- package/build/esm/components/TocNavPanel/TocNavPanel.css.map +1 -1
- package/build/esm/components/ToggleArrow/ToggleArrow.css.map +1 -1
- package/build/esm/components/UpdatedAtDate/UpdatedAtDate.css.map +1 -1
- package/build/esm/components/Widgets/Widgets.css.map +1 -1
- package/build/esm/components/navigation/CustomNavigation/CustomNavigation.css.map +1 -1
- package/build/esm/components/navigation/Label/Label.css.map +1 -1
- package/build/esm/components/navigation/MobileDropdown/MobileDropdown.css.map +1 -1
- package/build/esm/components/navigation/Sidebar/Sidebar.css.map +1 -1
- package/build/esm/components/navigation/SidebarContent/SidebarContent.css.map +1 -1
- package/build/esm/components/navigation/SidebarNavigation/SidebarNavigation.css.map +1 -1
- package/build/esm/components/navigation/ToMainMenu/ToMainMenu.css.map +1 -1
- package/build/esm/i18n/index.d.ts +32 -0
- package/build/esm/i18n/index.js +26 -16
- package/build/esm/i18n/index.js.map +2 -2
- package/build/esm/index.d.ts +1 -0
- package/build/esm/index.js +1 -0
- package/build/esm/index.js.map +2 -2
- package/build/index.css.map +1 -1
- package/build/themes/common/index.css.map +1 -1
- package/package.json +1 -1
- package/src/i18n/ar.json +3 -1
- package/src/i18n/bg.json +3 -1
- package/src/i18n/cs.json +3 -1
- package/src/i18n/el.json +3 -1
- package/src/i18n/en.json +3 -1
- package/src/i18n/es.json +3 -1
- package/src/i18n/et.json +3 -1
- package/src/i18n/fr.json +3 -1
- package/src/i18n/he.json +3 -1
- package/src/i18n/kk.json +3 -1
- package/src/i18n/pt.json +3 -1
- package/src/i18n/ru.json +3 -1
- package/src/i18n/tr.json +3 -1
- package/src/i18n/uz.json +3 -1
- package/src/i18n/zh-tw.json +3 -1
- package/src/i18n/zh.json +3 -1
|
@@ -4,6 +4,8 @@ import React from 'react';
|
|
|
4
4
|
import './index.scss';
|
|
5
5
|
export type { SearchSuggestActionItem, SearchSuggestItem, SearchSuggestLinkableItem, SearchSuggestPageItem, } from './types';
|
|
6
6
|
export { SuggestItemType } from './types';
|
|
7
|
+
export { AiIcon } from './AiIcon';
|
|
8
|
+
export { useAiActionItem } from './useAiAction';
|
|
7
9
|
export interface SearchSuggestProps {
|
|
8
10
|
provider: ISearchProvider;
|
|
9
11
|
placeholder?: string;
|
|
@@ -20,6 +22,7 @@ export interface SearchSuggestProps {
|
|
|
20
22
|
hasClear?: boolean;
|
|
21
23
|
withFocusOverlay?: boolean;
|
|
22
24
|
emptyState?: React.ReactNode;
|
|
25
|
+
onAiAction?: (query: string) => void;
|
|
23
26
|
}
|
|
24
27
|
export interface SearchSuggestApi {
|
|
25
28
|
open(): void;
|
|
@@ -35,12 +35,15 @@ import uniqueId from "lodash/uniqueId";
|
|
|
35
35
|
import { CommonAnalyticsEvent, useAnalytics } from "../../shared/libs/analytics";
|
|
36
36
|
import { useTranslation, useVirtualElementRef } from "../../hooks";
|
|
37
37
|
import { SuggestItemType } from "./types";
|
|
38
|
+
import { useAiActionItem } from "./useAiAction";
|
|
38
39
|
import { SearchInput } from "./SearchInput";
|
|
39
40
|
import { Suggest } from "./Suggest";
|
|
40
41
|
import { SuggestItem } from "./SuggestItem";
|
|
41
42
|
import { useFocus } from "./useFocus";
|
|
42
43
|
import "./index.css";
|
|
43
44
|
import { SuggestItemType as SuggestItemType2 } from "./types";
|
|
45
|
+
import { AiIcon } from "./AiIcon";
|
|
46
|
+
import { useAiActionItem as useAiActionItem2 } from "./useAiAction";
|
|
44
47
|
var b = block("dc-search-suggest");
|
|
45
48
|
var MIMIC_PC_CONTROL = "pc-control pc-control_size_l pc-control_theme_primary";
|
|
46
49
|
function CloseButton({ onClick, className }) {
|
|
@@ -72,7 +75,8 @@ var SearchSuggest = forwardRef((props, api) => {
|
|
|
72
75
|
focusFirstSearchResult = false,
|
|
73
76
|
hasClear = false,
|
|
74
77
|
withFocusOverlay = false,
|
|
75
|
-
emptyState
|
|
78
|
+
emptyState,
|
|
79
|
+
onAiAction
|
|
76
80
|
} = props;
|
|
77
81
|
const analytics = useAnalytics();
|
|
78
82
|
const href = useRef(null);
|
|
@@ -83,6 +87,10 @@ var SearchSuggest = forwardRef((props, api) => {
|
|
|
83
87
|
const [active, setActive] = useState(void 0);
|
|
84
88
|
const [focused, setFocused, handlers] = useFocus(props);
|
|
85
89
|
const [box, watch] = useVirtualElementRef(input.current);
|
|
90
|
+
const aiActionItem = useAiActionItem({
|
|
91
|
+
query,
|
|
92
|
+
onAiAction
|
|
93
|
+
});
|
|
86
94
|
const submitItem = useCallback(
|
|
87
95
|
(link) => {
|
|
88
96
|
if (href.current) {
|
|
@@ -193,14 +201,17 @@ var SearchSuggest = forwardRef((props, api) => {
|
|
|
193
201
|
renderItem: SuggestItem,
|
|
194
202
|
onItemClick: onSubmit,
|
|
195
203
|
onChangeActive: setActive,
|
|
196
|
-
emptyState
|
|
204
|
+
emptyState,
|
|
205
|
+
prependItems: aiActionItem ? [aiActionItem] : void 0
|
|
197
206
|
}
|
|
198
207
|
)
|
|
199
208
|
));
|
|
200
209
|
});
|
|
201
210
|
SearchSuggest.displayName = "SearchSuggest";
|
|
202
211
|
export {
|
|
212
|
+
AiIcon,
|
|
203
213
|
SearchSuggest,
|
|
204
|
-
SuggestItemType2 as SuggestItemType
|
|
214
|
+
SuggestItemType2 as SuggestItemType,
|
|
215
|
+
useAiActionItem2 as useAiActionItem
|
|
205
216
|
};
|
|
206
217
|
//# sourceMappingURL=index.js.map
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../../src/components/SearchSuggest/index.tsx"],
|
|
4
|
-
"sourcesContent": ["import type {KeyboardEvent, MouseEventHandler, SyntheticEvent} from 'react';\nimport type {ISearchProvider} from '../../models';\nimport type {SearchSuggestItem, SearchSuggestLinkableItem} from './types';\nimport type {List} from '@gravity-ui/uikit';\n\nimport React, {\n forwardRef,\n useCallback,\n useEffect,\n useImperativeHandle,\n useMemo,\n useRef,\n useState,\n} from 'react';\nimport {Icon, Popup} from '@gravity-ui/uikit';\nimport {Xmark} from '@gravity-ui/icons';\nimport block from 'bem-cn-lite';\nimport uniqueId from 'lodash/uniqueId';\n\nimport {CommonAnalyticsEvent, useAnalytics} from '../../shared/libs/analytics';\nimport {useTranslation, useVirtualElementRef} from '../../hooks';\n\nimport {SuggestItemType} from './types';\nimport {SearchInput} from './SearchInput';\nimport {Suggest} from './Suggest';\nimport {SuggestItem} from './SuggestItem';\nimport {useFocus} from './useFocus';\nimport './index.scss';\n\nconst b = block('dc-search-suggest');\n\nexport type {\n SearchSuggestActionItem,\n SearchSuggestItem,\n SearchSuggestLinkableItem,\n SearchSuggestPageItem,\n} from './types';\nexport {SuggestItemType} from './types';\n\nexport interface SearchSuggestProps {\n provider: ISearchProvider;\n placeholder?: string;\n classNameContainer?: string;\n classNameClose?: string;\n className?: string;\n onFocus?: (event: SyntheticEvent) => void;\n onBlur?: (event: SyntheticEvent) => void;\n startContent?: React.ReactNode;\n endContent?: React.ReactNode;\n closeButton?: boolean;\n withAllResults?: boolean;\n focusFirstSearchResult?: boolean;\n hasClear?: boolean;\n withFocusOverlay?: boolean;\n emptyState?: React.ReactNode;\n}\n\nexport interface SearchSuggestApi {\n open(): void;\n\n close(): void;\n}\n\nconst MIMIC_PC_CONTROL = 'pc-control pc-control_size_l pc-control_theme_primary';\n\nfunction CloseButton({onClick, className}: {onClick: MouseEventHandler; className?: string}) {\n const {t} = useTranslation('search');\n\n return (\n <button\n type=\"button\"\n aria-label={t('search_close')}\n className={b('close', [MIMIC_PC_CONTROL, className].join(' '))}\n onClick={onClick}\n >\n <Icon data={Xmark} size={24} />\n </button>\n );\n}\n\nexport const SearchSuggest = forwardRef<SearchSuggestApi, SearchSuggestProps>((props, api) => {\n const {t} = useTranslation('search');\n\n const {\n provider,\n className,\n classNameContainer,\n classNameClose,\n placeholder = t('search_placeholder'),\n startContent,\n endContent,\n closeButton,\n onBlur,\n withAllResults = true,\n focusFirstSearchResult = false,\n hasClear = false,\n withFocusOverlay = false,\n emptyState,\n } = props;\n const analytics = useAnalytics();\n const href = useRef<HTMLAnchorElement>(null);\n const input = useRef<HTMLElement>(null);\n const suggest = useRef<List<SearchSuggestItem>>(null);\n const id = useMemo(uniqueId, []);\n const [query, setQuery] = useState('');\n const [active, setActive] = useState<undefined | number>(undefined);\n const [focused, setFocused, handlers] = useFocus(props);\n const [box, watch] = useVirtualElementRef(input.current);\n\n const submitItem = useCallback(\n (link: string) => {\n if (href.current) {\n href.current.href = link;\n href.current.click();\n }\n },\n [href],\n );\n\n const page = provider.link(query);\n const onKeyDown = useCallback(\n (event: KeyboardEvent<HTMLElement>) => {\n if (\n event.key === 'Enter' &&\n withAllResults &&\n !focusFirstSearchResult &&\n active === undefined &&\n page\n ) {\n submitItem(page);\n } else if (suggest.current) {\n suggest.current.onKeyDown(event);\n }\n },\n [suggest, active, submitItem, page, withAllResults, focusFirstSearchResult],\n );\n\n const open = useCallback(() => {\n setFocused(true);\n }, [setFocused]);\n\n const close = useCallback(() => {\n setFocused(false);\n }, [setFocused]);\n\n const clearQuery = useCallback(() => {\n setQuery('');\n }, [setQuery]);\n\n const onSubmit = useCallback(\n (item: SearchSuggestItem, _index?: number, fromKeyboard?: boolean) => {\n if (!fromKeyboard) {\n return;\n }\n\n if (item.type === SuggestItemType.Action) {\n item.onClick();\n return;\n }\n\n submitItem((item as SearchSuggestLinkableItem).link);\n },\n [submitItem],\n );\n\n const onClose = useCallback(\n (event: SyntheticEvent) => {\n close();\n clearQuery();\n onBlur?.(event);\n },\n [close, clearQuery, onBlur],\n );\n\n const onOutsideClick = useCallback(() => {\n if (focused) {\n close();\n }\n }, [focused, close]);\n\n useEffect(() => provider.init(), [provider]);\n useEffect(() => {\n if (focused) {\n analytics.track(CommonAnalyticsEvent.DOCS_SEARCH_CLICK);\n\n return watch();\n }\n\n return () => {};\n }, [analytics, focused, watch]);\n\n useImperativeHandle(api, () => ({open, close}), [open, close]);\n\n const wrapperClassName = [b('wrapper', {focused}), classNameContainer]\n .filter(Boolean)\n .join(' ');\n\n return (\n <div className={wrapperClassName}>\n {withFocusOverlay && focused && (\n <div className={b('overlay')} onClick={onOutsideClick} />\n )}\n <a ref={href} href=\"#\" hidden aria-hidden />\n <SearchInput\n {...handlers}\n ref={input}\n id={`dc-${id}-input`}\n size=\"l\"\n className={b(null, className)}\n text={query}\n onUpdate={setQuery}\n onKeyDown={onKeyDown}\n autoFocus={focused}\n placeholder={placeholder}\n startContent={startContent}\n endContent={!focused && endContent}\n controlProps={{\n 'aria-controls': `dc-popup-${id}`,\n 'aria-expanded': Boolean(input.current && focused),\n 'aria-activedescendant':\n active === undefined ? undefined : `dc-${id}-list-item-${active}`,\n }}\n hasClear={hasClear}\n />\n {closeButton && focused && <CloseButton onClick={onClose} className={classNameClose} />}\n {input.current && (\n <Popup\n open={Boolean(query && focused)}\n onOutsideClick={onOutsideClick}\n id={`dc-popup-${id}`}\n className={b('popup')}\n style={{width: box.width, zIndex: 1002}}\n anchorRef={box}\n strategy=\"fixed\"\n >\n <Suggest\n ref={suggest}\n id={`dc-${id}-list`}\n query={query}\n provider={provider}\n withAllResults={withAllResults}\n activeItemIndex={focusFirstSearchResult ? (active ?? 0) : active}\n renderItem={SuggestItem}\n onItemClick={onSubmit}\n onChangeActive={setActive}\n emptyState={emptyState}\n />\n </Popup>\n )}\n </div>\n );\n});\n\nSearchSuggest.displayName = 'SearchSuggest';\n"],
|
|
5
|
-
"mappings": ";;;;;;;;;;;;;;;;;;;;;AAKA,OAAO;AAAA,EACH;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,OACG;AACP,SAAQ,MAAM,aAAY;AAC1B,SAAQ,aAAY;AACpB,OAAO,WAAW;AAClB,OAAO,cAAc;AAErB,SAAQ,sBAAsB,oBAAmB;AACjD,SAAQ,gBAAgB,4BAA2B;AAEnD,SAAQ,uBAAsB;AAC9B,SAAQ,mBAAkB;AAC1B,SAAQ,eAAc;AACtB,SAAQ,mBAAkB;AAC1B,SAAQ,gBAAe;AACvB,OAAO;AAUP,SAAQ,mBAAAA,wBAAsB;
|
|
6
|
-
"names": ["SuggestItemType"]
|
|
4
|
+
"sourcesContent": ["import type {KeyboardEvent, MouseEventHandler, SyntheticEvent} from 'react';\nimport type {ISearchProvider} from '../../models';\nimport type {SearchSuggestItem, SearchSuggestLinkableItem} from './types';\nimport type {List} from '@gravity-ui/uikit';\n\nimport React, {\n forwardRef,\n useCallback,\n useEffect,\n useImperativeHandle,\n useMemo,\n useRef,\n useState,\n} from 'react';\nimport {Icon, Popup} from '@gravity-ui/uikit';\nimport {Xmark} from '@gravity-ui/icons';\nimport block from 'bem-cn-lite';\nimport uniqueId from 'lodash/uniqueId';\n\nimport {CommonAnalyticsEvent, useAnalytics} from '../../shared/libs/analytics';\nimport {useTranslation, useVirtualElementRef} from '../../hooks';\n\nimport {SuggestItemType} from './types';\nimport {useAiActionItem} from './useAiAction';\nimport {SearchInput} from './SearchInput';\nimport {Suggest} from './Suggest';\nimport {SuggestItem} from './SuggestItem';\nimport {useFocus} from './useFocus';\nimport './index.scss';\n\nconst b = block('dc-search-suggest');\n\nexport type {\n SearchSuggestActionItem,\n SearchSuggestItem,\n SearchSuggestLinkableItem,\n SearchSuggestPageItem,\n} from './types';\nexport {SuggestItemType} from './types';\nexport {AiIcon} from './AiIcon';\nexport {useAiActionItem} from './useAiAction';\n\nexport interface SearchSuggestProps {\n provider: ISearchProvider;\n placeholder?: string;\n classNameContainer?: string;\n classNameClose?: string;\n className?: string;\n onFocus?: (event: SyntheticEvent) => void;\n onBlur?: (event: SyntheticEvent) => void;\n startContent?: React.ReactNode;\n endContent?: React.ReactNode;\n closeButton?: boolean;\n withAllResults?: boolean;\n focusFirstSearchResult?: boolean;\n hasClear?: boolean;\n withFocusOverlay?: boolean;\n emptyState?: React.ReactNode;\n onAiAction?: (query: string) => void;\n}\n\nexport interface SearchSuggestApi {\n open(): void;\n\n close(): void;\n}\n\nconst MIMIC_PC_CONTROL = 'pc-control pc-control_size_l pc-control_theme_primary';\n\nfunction CloseButton({onClick, className}: {onClick: MouseEventHandler; className?: string}) {\n const {t} = useTranslation('search');\n\n return (\n <button\n type=\"button\"\n aria-label={t('search_close')}\n className={b('close', [MIMIC_PC_CONTROL, className].join(' '))}\n onClick={onClick}\n >\n <Icon data={Xmark} size={24} />\n </button>\n );\n}\n\nexport const SearchSuggest = forwardRef<SearchSuggestApi, SearchSuggestProps>((props, api) => {\n const {t} = useTranslation('search');\n\n const {\n provider,\n className,\n classNameContainer,\n classNameClose,\n placeholder = t('search_placeholder'),\n startContent,\n endContent,\n closeButton,\n onBlur,\n withAllResults = true,\n focusFirstSearchResult = false,\n hasClear = false,\n withFocusOverlay = false,\n emptyState,\n onAiAction,\n } = props;\n const analytics = useAnalytics();\n const href = useRef<HTMLAnchorElement>(null);\n const input = useRef<HTMLElement>(null);\n const suggest = useRef<List<SearchSuggestItem>>(null);\n const id = useMemo(uniqueId, []);\n const [query, setQuery] = useState('');\n const [active, setActive] = useState<undefined | number>(undefined);\n const [focused, setFocused, handlers] = useFocus(props);\n const [box, watch] = useVirtualElementRef(input.current);\n\n const aiActionItem = useAiActionItem({\n query,\n onAiAction,\n });\n\n const submitItem = useCallback(\n (link: string) => {\n if (href.current) {\n href.current.href = link;\n href.current.click();\n }\n },\n [href],\n );\n\n const page = provider.link(query);\n const onKeyDown = useCallback(\n (event: KeyboardEvent<HTMLElement>) => {\n if (\n event.key === 'Enter' &&\n withAllResults &&\n !focusFirstSearchResult &&\n active === undefined &&\n page\n ) {\n submitItem(page);\n } else if (suggest.current) {\n suggest.current.onKeyDown(event);\n }\n },\n [suggest, active, submitItem, page, withAllResults, focusFirstSearchResult],\n );\n\n const open = useCallback(() => {\n setFocused(true);\n }, [setFocused]);\n\n const close = useCallback(() => {\n setFocused(false);\n }, [setFocused]);\n\n const clearQuery = useCallback(() => {\n setQuery('');\n }, [setQuery]);\n\n const onSubmit = useCallback(\n (item: SearchSuggestItem, _index?: number, fromKeyboard?: boolean) => {\n if (!fromKeyboard) {\n return;\n }\n\n if (item.type === SuggestItemType.Action) {\n item.onClick();\n return;\n }\n\n submitItem((item as SearchSuggestLinkableItem).link);\n },\n [submitItem],\n );\n\n const onClose = useCallback(\n (event: SyntheticEvent) => {\n close();\n clearQuery();\n onBlur?.(event);\n },\n [close, clearQuery, onBlur],\n );\n\n const onOutsideClick = useCallback(() => {\n if (focused) {\n close();\n }\n }, [focused, close]);\n\n useEffect(() => provider.init(), [provider]);\n useEffect(() => {\n if (focused) {\n analytics.track(CommonAnalyticsEvent.DOCS_SEARCH_CLICK);\n\n return watch();\n }\n\n return () => {};\n }, [analytics, focused, watch]);\n\n useImperativeHandle(api, () => ({open, close}), [open, close]);\n\n const wrapperClassName = [b('wrapper', {focused}), classNameContainer]\n .filter(Boolean)\n .join(' ');\n\n return (\n <div className={wrapperClassName}>\n {withFocusOverlay && focused && (\n <div className={b('overlay')} onClick={onOutsideClick} />\n )}\n <a ref={href} href=\"#\" hidden aria-hidden />\n <SearchInput\n {...handlers}\n ref={input}\n id={`dc-${id}-input`}\n size=\"l\"\n className={b(null, className)}\n text={query}\n onUpdate={setQuery}\n onKeyDown={onKeyDown}\n autoFocus={focused}\n placeholder={placeholder}\n startContent={startContent}\n endContent={!focused && endContent}\n controlProps={{\n 'aria-controls': `dc-popup-${id}`,\n 'aria-expanded': Boolean(input.current && focused),\n 'aria-activedescendant':\n active === undefined ? undefined : `dc-${id}-list-item-${active}`,\n }}\n hasClear={hasClear}\n />\n {closeButton && focused && <CloseButton onClick={onClose} className={classNameClose} />}\n {input.current && (\n <Popup\n open={Boolean(query && focused)}\n onOutsideClick={onOutsideClick}\n id={`dc-popup-${id}`}\n className={b('popup')}\n style={{width: box.width, zIndex: 1002}}\n anchorRef={box}\n strategy=\"fixed\"\n >\n <Suggest\n ref={suggest}\n id={`dc-${id}-list`}\n query={query}\n provider={provider}\n withAllResults={withAllResults}\n activeItemIndex={focusFirstSearchResult ? (active ?? 0) : active}\n renderItem={SuggestItem}\n onItemClick={onSubmit}\n onChangeActive={setActive}\n emptyState={emptyState}\n prependItems={aiActionItem ? [aiActionItem] : undefined}\n />\n </Popup>\n )}\n </div>\n );\n});\n\nSearchSuggest.displayName = 'SearchSuggest';\n"],
|
|
5
|
+
"mappings": "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",
|
|
6
|
+
"names": ["SuggestItemType", "useAiActionItem"]
|
|
7
7
|
}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import type { SearchSuggestActionItem } from './types';
|
|
2
|
+
interface AiActionItemProps {
|
|
3
|
+
query: string;
|
|
4
|
+
onAiAction: ((query: string) => void) | undefined;
|
|
5
|
+
}
|
|
6
|
+
export declare function useAiActionItem({ query, onAiAction, }: AiActionItemProps): SearchSuggestActionItem | null;
|
|
7
|
+
export {};
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
// src/components/SearchSuggest/useAiAction.tsx
|
|
2
|
+
import React, { useMemo } from "react";
|
|
3
|
+
import { Text } from "@gravity-ui/uikit";
|
|
4
|
+
import { useTranslation } from "../../hooks";
|
|
5
|
+
import { SuggestItemType } from "./types";
|
|
6
|
+
import { AiIcon } from "./AiIcon";
|
|
7
|
+
var ENTER_HINT = /* @__PURE__ */ React.createElement(Text, { variant: "body-short", color: "secondary" }, "ENTER");
|
|
8
|
+
function useAiActionItem({
|
|
9
|
+
query,
|
|
10
|
+
onAiAction
|
|
11
|
+
}) {
|
|
12
|
+
const { t } = useTranslation("search-suggest");
|
|
13
|
+
return useMemo(() => {
|
|
14
|
+
if (!onAiAction || !query) {
|
|
15
|
+
return null;
|
|
16
|
+
}
|
|
17
|
+
return {
|
|
18
|
+
type: SuggestItemType.Action,
|
|
19
|
+
title: t("search-suggest_ask-ai"),
|
|
20
|
+
icon: /* @__PURE__ */ React.createElement(AiIcon, null),
|
|
21
|
+
hint: ENTER_HINT,
|
|
22
|
+
onClick: () => onAiAction(query)
|
|
23
|
+
};
|
|
24
|
+
}, [onAiAction, query, t]);
|
|
25
|
+
}
|
|
26
|
+
export {
|
|
27
|
+
useAiActionItem
|
|
28
|
+
};
|
|
29
|
+
//# sourceMappingURL=useAiAction.js.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../../src/components/SearchSuggest/useAiAction.tsx"],
|
|
4
|
+
"sourcesContent": ["import type {SearchSuggestActionItem} from './types';\n\nimport React, {useMemo} from 'react';\nimport {Text} from '@gravity-ui/uikit';\n\nimport {useTranslation} from '../../hooks';\n\nimport {SuggestItemType} from './types';\nimport {AiIcon} from './AiIcon';\n\ninterface AiActionItemProps {\n query: string;\n onAiAction: ((query: string) => void) | undefined;\n}\n\nconst ENTER_HINT = (\n <Text variant=\"body-short\" color=\"secondary\">\n ENTER\n </Text>\n);\n\nexport function useAiActionItem({\n query,\n onAiAction,\n}: AiActionItemProps): SearchSuggestActionItem | null {\n const {t} = useTranslation('search-suggest');\n\n return useMemo(() => {\n if (!onAiAction || !query) {\n return null;\n }\n\n return {\n type: SuggestItemType.Action,\n title: t('search-suggest_ask-ai'),\n icon: <AiIcon />,\n hint: ENTER_HINT,\n onClick: () => onAiAction(query),\n };\n }, [onAiAction, query, t]);\n}\n"],
|
|
5
|
+
"mappings": ";AAEA,OAAO,SAAQ,eAAc;AAC7B,SAAQ,YAAW;AAEnB,SAAQ,sBAAqB;AAE7B,SAAQ,uBAAsB;AAC9B,SAAQ,cAAa;AAOrB,IAAM,aACF,oCAAC,QAAK,SAAQ,cAAa,OAAM,eAAY,OAE7C;AAGG,SAAS,gBAAgB;AAAA,EAC5B;AAAA,EACA;AACJ,GAAsD;AAClD,QAAM,EAAC,EAAC,IAAI,eAAe,gBAAgB;AAE3C,SAAO,QAAQ,MAAM;AACjB,QAAI,CAAC,cAAc,CAAC,OAAO;AACvB,aAAO;AAAA,IACX;AAEA,WAAO;AAAA,MACH,MAAM,gBAAgB;AAAA,MACtB,OAAO,EAAE,uBAAuB;AAAA,MAChC,MAAM,oCAAC,YAAO;AAAA,MACd,MAAM;AAAA,MACN,SAAS,MAAM,WAAW,KAAK;AAAA,IACnC;AAAA,EACJ,GAAG,CAAC,YAAY,OAAO,CAAC,CAAC;AAC7B;",
|
|
6
|
+
"names": []
|
|
7
|
+
}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
|
-
"sources": ["../../../../src/components/ShareButton/ShareButton.scss", "../../../../src/components/ShareButton/%3Cinput css
|
|
3
|
+
"sources": ["../../../../src/components/ShareButton/ShareButton.scss", "../../../../src/components/ShareButton/%3Cinput css KQ11tE%3E"],
|
|
4
4
|
"sourcesContent": ["// same as bookmark button keep it sync :)\n\n.dc-share-button {\n vertical-align: middle;\n margin: 0 0 5px 12px;\n\n &:hover::before {\n background-color: transparent;\n }\n}\n", ".dc-share-button {\n vertical-align: middle;\n margin: 0 0 5px 12px;\n}\n.dc-share-button:hover::before {\n background-color: transparent;\n}\n/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VSb290IjoiL2hvbWUvcnVubmVyL3dvcmsvY29tcG9uZW50cy9jb21wb25lbnRzL3NyYy9jb21wb25lbnRzL1NoYXJlQnV0dG9uIiwic291cmNlcyI6WyJTaGFyZUJ1dHRvbi5zY3NzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUVBO0VBQ0k7RUFDQTs7QUFFQTtFQUNJIiwic291cmNlc0NvbnRlbnQiOlsiLy8gc2FtZSBhcyBib29rbWFyayBidXR0b24ga2VlcCBpdCBzeW5jIDopXG5cbi5kYy1zaGFyZS1idXR0b24ge1xuICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgbWFyZ2luOiAwIDAgNXB4IDEycHg7XG5cbiAgICAmOmhvdmVyOjpiZWZvcmUge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICB9XG59XG4iXX0= */"],
|
|
5
5
|
"mappings": ";AAEA,CAAA;AACI,kBAAA;AACA,UAAA,EAAA,EAAA,IAAA;ACDJ;ADGI,CAJJ,eAII,MAAA;AACI,oBAAA;ACDR;",
|
|
6
6
|
"names": []
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
|
-
"sources": ["../../../../src/components/SubNavigation/SubNavigation.scss", "../../../../src/components/SubNavigation/%3Cinput css
|
|
3
|
+
"sources": ["../../../../src/components/SubNavigation/SubNavigation.scss", "../../../../src/components/SubNavigation/%3Cinput css dhFPD7%3E", "../../../../src/styles/mixins.scss"],
|
|
4
4
|
"sourcesContent": ["@use 'sass:map';\n@use '../../styles/variables';\n@use '../../styles/mixins';\n\n.dc-subnavigation {\n $horizontalPadding: 12px;\n $verticalPadding: 4px;\n\n position: relative;\n z-index: 119;\n\n display: flex;\n justify-content: space-between;\n\n box-sizing: content-box;\n width: calc(100% - 2 * #{$horizontalPadding});\n height: variables.$subNavigationHeight - $verticalPadding - $verticalPadding;\n padding: $verticalPadding $horizontalPadding;\n\n gap: $verticalPadding;\n\n background: var(--g-color-base-background);\n border-bottom: 1px solid var(--g-color-line-generic);\n\n transition: transform 300ms 0s;\n\n will-change: transform;\n\n @media (min-width: map.get(variables.$screenBreakpoints, 'md')) {\n display: none;\n }\n\n .dc-root_wide-format & {\n padding-inline: 0 8px;\n width: calc(100% - 8px);\n }\n\n &_visible {\n margin-top: 0;\n }\n\n &_invisible {\n --dc-header-height: 64px;\n transform: translateY(calc(0px - var(--dc-header-height, #{variables.$headerHeight})));\n }\n\n &_hidden {\n display: none;\n }\n\n &__wrapper {\n width: 100%;\n }\n\n &__mini-toc {\n @media (max-width: map.get(variables.$screenBreakpoints, 'md') - 1) {\n width: 100%;\n max-height: 0px;\n\n box-shadow: 0px 1px 5px 0px rgba(0, 0, 0, 0.15);\n background: var(--g-color-base-background);\n\n overflow-y: hidden;\n\n will-change: max-height;\n\n body:has(&_open .dc-mini-toc_overflowed) {\n overflow-y: hidden;\n }\n\n &_open {\n max-height: calc(\n 100vh - var(--dc-header-height, variables.$headerHeight) - var(\n --dc-subnavigation-height,\n variables.$subNavigationHeight\n )\n );\n transition: max-height 300ms 0s;\n }\n }\n }\n\n &__icon {\n display: flex;\n justify-content: center;\n align-items: center;\n\n padding: 12px;\n }\n\n &__mini-toc-button {\n $gap: 4px;\n $iconSize: 44px;\n\n display: flex;\n align-items: center;\n justify-content: flex-start;\n flex: 1 0 0;\n\n width: 100%;\n max-width: calc(100% - #{$iconSize} - 2 * #{$gap} - #{$horizontalPadding});\n\n padding: 0;\n padding-left: 4px;\n gap: $gap;\n\n border-radius: var(--g-border-radius-xs, 3px);\n border: none;\n border-left: 1px solid var(--g-color-line-generic);\n outline: none;\n\n color: var(--g-color-text-primary);\n background: none;\n\n text-decoration: none;\n\n @include mixins.text-size(subheader-2);\n font-weight: 500;\n\n transition:\n transform 0.1s ease-out,\n color 0.15s linear;\n transform: scale(1);\n\n touch-action: manipulation;\n\n .dc-root_wide-format & {\n max-width: calc(100% - #{$iconSize} - 2 * #{$gap});\n }\n\n // if has burger\n &:nth-child(2) {\n max-width: calc(100% - 2 * #{$iconSize} - 2 * #{$gap});\n }\n\n &_hidden {\n visibility: hidden;\n }\n\n &_disabled {\n user-select: text;\n }\n\n &_label {\n border-left: none;\n justify-content: center;\n\n font-weight: 600;\n @include mixins.text-size(subheader-3);\n }\n\n &_center,\n .dc-root_wide-format &_center {\n max-width: unset;\n }\n\n // without burgerButton\n &:nth-child(1) {\n border-left: none;\n }\n\n // with burgerButton\n &:nth-child(2) {\n padding-left: 0;\n }\n\n &:not(&_disabled) {\n &:hover {\n background: var(--g-color-base-simple-hover);\n }\n\n &:active {\n transition: none;\n transform: scale(0.98);\n }\n\n &:focus-visible {\n outline: var(--g-color-line-focus, rgb(78, 121, 235));\n outline-width: 2px;\n outline-style: solid;\n }\n }\n }\n\n &__title {\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n\n &_single {\n padding-left: $horizontalPadding;\n }\n }\n\n & &__share-button {\n &_absolute {\n position: absolute;\n right: 0;\n\n .dc-root_wide-format & {\n right: 8px;\n }\n }\n\n &_invisible {\n display: none;\n }\n }\n}\n", ".dc-subnavigation {\n position: relative;\n z-index: 119;\n display: flex;\n justify-content: space-between;\n box-sizing: content-box;\n width: calc(100% - 2 * 12px);\n height: 44px;\n padding: 4px 12px;\n gap: 4px;\n background: var(--g-color-base-background);\n border-bottom: 1px solid var(--g-color-line-generic);\n transition: transform 300ms 0s;\n will-change: transform;\n}\n@media (min-width: 769px) {\n .dc-subnavigation {\n display: none;\n }\n}\n.dc-root_wide-format .dc-subnavigation {\n padding-inline: 0 8px;\n width: calc(100% - 8px);\n}\n.dc-subnavigation_visible {\n margin-top: 0;\n}\n.dc-subnavigation_invisible {\n --dc-header-height: 64px;\n transform: translateY(calc(0px - var(--dc-header-height, 0px)));\n}\n.dc-subnavigation_hidden {\n display: none;\n}\n.dc-subnavigation__wrapper {\n width: 100%;\n}\n@media (max-width: 768px) {\n .dc-subnavigation__mini-toc {\n width: 100%;\n max-height: 0px;\n box-shadow: 0px 1px 5px 0px rgba(0, 0, 0, 0.15);\n background: var(--g-color-base-background);\n overflow-y: hidden;\n will-change: max-height;\n }\n body:has(.dc-subnavigation__mini-toc_open .dc-mini-toc_overflowed) {\n overflow-y: hidden;\n }\n .dc-subnavigation__mini-toc_open {\n max-height: calc(100vh - var(--dc-header-height, 0px) - var(--dc-subnavigation-height, 52px));\n transition: max-height 300ms 0s;\n }\n}\n.dc-subnavigation__icon {\n display: flex;\n justify-content: center;\n align-items: center;\n padding: 12px;\n}\n.dc-subnavigation__mini-toc-button {\n display: flex;\n align-items: center;\n justify-content: flex-start;\n flex: 1 0 0;\n width: 100%;\n max-width: calc(100% - 44px - 2 * 4px - 12px);\n padding: 0;\n padding-left: 4px;\n gap: 4px;\n border-radius: var(--g-border-radius-xs, 3px);\n border: none;\n border-left: 1px solid var(--g-color-line-generic);\n outline: none;\n color: var(--g-color-text-primary);\n background: none;\n text-decoration: none;\n font-size: var(--g-text-subheader-2-font-size);\n line-height: var(--g-text-subheader-2-line-height);\n font-weight: 500;\n transition: transform 0.1s ease-out, color 0.15s linear;\n transform: scale(1);\n touch-action: manipulation;\n}\n.dc-root_wide-format .dc-subnavigation__mini-toc-button {\n max-width: calc(100% - 44px - 2 * 4px);\n}\n.dc-subnavigation__mini-toc-button:nth-child(2) {\n max-width: calc(100% - 2 * 44px - 2 * 4px);\n}\n.dc-subnavigation__mini-toc-button_hidden {\n visibility: hidden;\n}\n.dc-subnavigation__mini-toc-button_disabled {\n user-select: text;\n}\n.dc-subnavigation__mini-toc-button_label {\n border-left: none;\n justify-content: center;\n font-weight: 600;\n font-size: var(--g-text-subheader-3-font-size);\n line-height: var(--g-text-subheader-3-line-height);\n}\n.dc-subnavigation__mini-toc-button_center, .dc-root_wide-format .dc-subnavigation__mini-toc-button_center {\n max-width: unset;\n}\n.dc-subnavigation__mini-toc-button:nth-child(1) {\n border-left: none;\n}\n.dc-subnavigation__mini-toc-button:nth-child(2) {\n padding-left: 0;\n}\n.dc-subnavigation__mini-toc-button:not(.dc-subnavigation__mini-toc-button_disabled):hover {\n background: var(--g-color-base-simple-hover);\n}\n.dc-subnavigation__mini-toc-button:not(.dc-subnavigation__mini-toc-button_disabled):active {\n transition: none;\n transform: scale(0.98);\n}\n.dc-subnavigation__mini-toc-button:not(.dc-subnavigation__mini-toc-button_disabled):focus-visible {\n outline: var(--g-color-line-focus, rgb(78, 121, 235));\n outline-width: 2px;\n outline-style: solid;\n}\n.dc-subnavigation__title {\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n}\n.dc-subnavigation__title_single {\n padding-left: 12px;\n}\n.dc-subnavigation .dc-subnavigation__share-button_absolute {\n position: absolute;\n right: 0;\n}\n.dc-root_wide-format .dc-subnavigation .dc-subnavigation__share-button_absolute {\n right: 8px;\n}\n.dc-subnavigation .dc-subnavigation__share-button_invisible {\n display: none;\n}\n/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VSb290IjoiL2hvbWUvcnVubmVyL3dvcmsvY29tcG9uZW50cy9jb21wb25lbnRzL3NyYy9jb21wb25lbnRzL1N1Yk5hdmlnYXRpb24iLCJzb3VyY2VzIjpbIlN1Yk5hdmlnYXRpb24uc2NzcyIsIi4uLy4uL3N0eWxlcy9taXhpbnMuc2NzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFJQTtFQUlJO0VBQ0E7RUFFQTtFQUNBO0VBRUE7RUFDQTtFQUNBO0VBQ0E7RUFFQSxLQWJrQjtFQWVsQjtFQUNBO0VBRUE7RUFFQTs7QUFFQTtFQXhCSjtJQXlCUTs7O0FBR0o7RUFDSTtFQUNBOztBQUdKO0VBQ0k7O0FBR0o7RUFDSTtFQUNBOztBQUdKO0VBQ0k7O0FBR0o7RUFDSTs7QUFJQTtFQURKO0lBRVE7SUFDQTtJQUVBO0lBQ0E7SUFFQTtJQUVBOztFQUVBO0lBQ0k7O0VBR0o7SUFDSTtJQU1BOzs7QUFLWjtFQUNJO0VBQ0E7RUFDQTtFQUVBOztBQUdKO0VBSUk7RUFDQTtFQUNBO0VBQ0E7RUFFQTtFQUNBO0VBRUE7RUFDQTtFQUNBLEtBYk07RUFlTjtFQUNBO0VBQ0E7RUFDQTtFQUVBO0VBQ0E7RUFFQTtFQzlHSjtFQUNBO0VEZ0hJO0VBRUEsWUFDSTtFQUVKO0VBRUE7O0FBRUE7RUFDSTs7QUFJSjtFQUNJOztBQUdKO0VBQ0k7O0FBR0o7RUFDSTs7QUFHSjtFQUNJO0VBQ0E7RUFFQTtFQy9JUjtFQUNBOztBRGtKSTtFQUVJOztBQUlKO0VBQ0k7O0FBSUo7RUFDSTs7QUFJQTtFQUNJOztBQUdKO0VBQ0k7RUFDQTs7QUFHSjtFQUNJO0VBQ0E7RUFDQTs7QUFLWjtFQUNJO0VBQ0E7RUFDQTs7QUFFQTtFQUNJLGNBekxZOztBQThMaEI7RUFDSTtFQUNBOztBQUVBO0VBQ0k7O0FBSVI7RUFDSSIsInNvdXJjZXNDb250ZW50IjpbIkB1c2UgJ3Nhc3M6bWFwJztcbkB1c2UgJy4uLy4uL3N0eWxlcy92YXJpYWJsZXMnO1xuQHVzZSAnLi4vLi4vc3R5bGVzL21peGlucyc7XG5cbi5kYy1zdWJuYXZpZ2F0aW9uIHtcbiAgICAkaG9yaXpvbnRhbFBhZGRpbmc6IDEycHg7XG4gICAgJHZlcnRpY2FsUGFkZGluZzogNHB4O1xuXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHotaW5kZXg6IDExOTtcblxuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuXG4gICAgYm94LXNpemluZzogY29udGVudC1ib3g7XG4gICAgd2lkdGg6IGNhbGMoMTAwJSAtIDIgKiAjeyRob3Jpem9udGFsUGFkZGluZ30pO1xuICAgIGhlaWdodDogdmFyaWFibGVzLiRzdWJOYXZpZ2F0aW9uSGVpZ2h0IC0gJHZlcnRpY2FsUGFkZGluZyAtICR2ZXJ0aWNhbFBhZGRpbmc7XG4gICAgcGFkZGluZzogJHZlcnRpY2FsUGFkZGluZyAkaG9yaXpvbnRhbFBhZGRpbmc7XG5cbiAgICBnYXA6ICR2ZXJ0aWNhbFBhZGRpbmc7XG5cbiAgICBiYWNrZ3JvdW5kOiB2YXIoLS1nLWNvbG9yLWJhc2UtYmFja2dyb3VuZCk7XG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHZhcigtLWctY29sb3ItbGluZS1nZW5lcmljKTtcblxuICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAzMDBtcyAwcztcblxuICAgIHdpbGwtY2hhbmdlOiB0cmFuc2Zvcm07XG5cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogbWFwLmdldCh2YXJpYWJsZXMuJHNjcmVlbkJyZWFrcG9pbnRzLCAnbWQnKSkge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cblxuICAgIC5kYy1yb290X3dpZGUtZm9ybWF0ICYge1xuICAgICAgICBwYWRkaW5nLWlubGluZTogMCA4cHg7XG4gICAgICAgIHdpZHRoOiBjYWxjKDEwMCUgLSA4cHgpO1xuICAgIH1cblxuICAgICZfdmlzaWJsZSB7XG4gICAgICAgIG1hcmdpbi10b3A6IDA7XG4gICAgfVxuXG4gICAgJl9pbnZpc2libGUge1xuICAgICAgICAtLWRjLWhlYWRlci1oZWlnaHQ6IDY0cHg7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWShjYWxjKDBweCAtIHZhcigtLWRjLWhlYWRlci1oZWlnaHQsICN7dmFyaWFibGVzLiRoZWFkZXJIZWlnaHR9KSkpO1xuICAgIH1cblxuICAgICZfaGlkZGVuIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG5cbiAgICAmX193cmFwcGVyIHtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgfVxuXG4gICAgJl9fbWluaS10b2Mge1xuICAgICAgICBAbWVkaWEgKG1heC13aWR0aDogbWFwLmdldCh2YXJpYWJsZXMuJHNjcmVlbkJyZWFrcG9pbnRzLCAnbWQnKSAtIDEpIHtcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgbWF4LWhlaWdodDogMHB4O1xuXG4gICAgICAgICAgICBib3gtc2hhZG93OiAwcHggMXB4IDVweCAwcHggcmdiYSgwLCAwLCAwLCAwLjE1KTtcbiAgICAgICAgICAgIGJhY2tncm91bmQ6IHZhcigtLWctY29sb3ItYmFzZS1iYWNrZ3JvdW5kKTtcblxuICAgICAgICAgICAgb3ZlcmZsb3cteTogaGlkZGVuO1xuXG4gICAgICAgICAgICB3aWxsLWNoYW5nZTogbWF4LWhlaWdodDtcblxuICAgICAgICAgICAgYm9keTpoYXMoJl9vcGVuIC5kYy1taW5pLXRvY19vdmVyZmxvd2VkKSB7XG4gICAgICAgICAgICAgICAgb3ZlcmZsb3cteTogaGlkZGVuO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmX29wZW4ge1xuICAgICAgICAgICAgICAgIG1heC1oZWlnaHQ6IGNhbGMoXG4gICAgICAgICAgICAgICAgICAgIDEwMHZoIC0gdmFyKC0tZGMtaGVhZGVyLWhlaWdodCwgdmFyaWFibGVzLiRoZWFkZXJIZWlnaHQpIC0gdmFyKFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIC0tZGMtc3VibmF2aWdhdGlvbi1oZWlnaHQsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFyaWFibGVzLiRzdWJOYXZpZ2F0aW9uSGVpZ2h0XG4gICAgICAgICAgICAgICAgICAgICAgICApXG4gICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgICAgICB0cmFuc2l0aW9uOiBtYXgtaGVpZ2h0IDMwMG1zIDBzO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9faWNvbiB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuXG4gICAgICAgIHBhZGRpbmc6IDEycHg7XG4gICAgfVxuXG4gICAgJl9fbWluaS10b2MtYnV0dG9uIHtcbiAgICAgICAgJGdhcDogNHB4O1xuICAgICAgICAkaWNvblNpemU6IDQ0cHg7XG5cbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xuICAgICAgICBmbGV4OiAxIDAgMDtcblxuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgbWF4LXdpZHRoOiBjYWxjKDEwMCUgLSAjeyRpY29uU2l6ZX0gLSAyICogI3skZ2FwfSAtICN7JGhvcml6b250YWxQYWRkaW5nfSk7XG5cbiAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiA0cHg7XG4gICAgICAgIGdhcDogJGdhcDtcblxuICAgICAgICBib3JkZXItcmFkaXVzOiB2YXIoLS1nLWJvcmRlci1yYWRpdXMteHMsIDNweCk7XG4gICAgICAgIGJvcmRlcjogbm9uZTtcbiAgICAgICAgYm9yZGVyLWxlZnQ6IDFweCBzb2xpZCB2YXIoLS1nLWNvbG9yLWxpbmUtZ2VuZXJpYyk7XG4gICAgICAgIG91dGxpbmU6IG5vbmU7XG5cbiAgICAgICAgY29sb3I6IHZhcigtLWctY29sb3ItdGV4dC1wcmltYXJ5KTtcbiAgICAgICAgYmFja2dyb3VuZDogbm9uZTtcblxuICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG5cbiAgICAgICAgQGluY2x1ZGUgbWl4aW5zLnRleHQtc2l6ZShzdWJoZWFkZXItMik7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG5cbiAgICAgICAgdHJhbnNpdGlvbjpcbiAgICAgICAgICAgIHRyYW5zZm9ybSAwLjFzIGVhc2Utb3V0LFxuICAgICAgICAgICAgY29sb3IgMC4xNXMgbGluZWFyO1xuICAgICAgICB0cmFuc2Zvcm06IHNjYWxlKDEpO1xuXG4gICAgICAgIHRvdWNoLWFjdGlvbjogbWFuaXB1bGF0aW9uO1xuXG4gICAgICAgIC5kYy1yb290X3dpZGUtZm9ybWF0ICYge1xuICAgICAgICAgICAgbWF4LXdpZHRoOiBjYWxjKDEwMCUgLSAjeyRpY29uU2l6ZX0gLSAyICogI3skZ2FwfSk7XG4gICAgICAgIH1cblxuICAgICAgICAvLyBpZiBoYXMgYnVyZ2VyXG4gICAgICAgICY6bnRoLWNoaWxkKDIpIHtcbiAgICAgICAgICAgIG1heC13aWR0aDogY2FsYygxMDAlIC0gMiAqICN7JGljb25TaXplfSAtIDIgKiAjeyRnYXB9KTtcbiAgICAgICAgfVxuXG4gICAgICAgICZfaGlkZGVuIHtcbiAgICAgICAgICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgICAgICAgfVxuXG4gICAgICAgICZfZGlzYWJsZWQge1xuICAgICAgICAgICAgdXNlci1zZWxlY3Q6IHRleHQ7XG4gICAgICAgIH1cblxuICAgICAgICAmX2xhYmVsIHtcbiAgICAgICAgICAgIGJvcmRlci1sZWZ0OiBub25lO1xuICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG5cbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgICAgICAgICBAaW5jbHVkZSBtaXhpbnMudGV4dC1zaXplKHN1YmhlYWRlci0zKTtcbiAgICAgICAgfVxuXG4gICAgICAgICZfY2VudGVyLFxuICAgICAgICAuZGMtcm9vdF93aWRlLWZvcm1hdCAmX2NlbnRlciB7XG4gICAgICAgICAgICBtYXgtd2lkdGg6IHVuc2V0O1xuICAgICAgICB9XG5cbiAgICAgICAgLy8gd2l0aG91dCBidXJnZXJCdXR0b25cbiAgICAgICAgJjpudGgtY2hpbGQoMSkge1xuICAgICAgICAgICAgYm9yZGVyLWxlZnQ6IG5vbmU7XG4gICAgICAgIH1cblxuICAgICAgICAvLyB3aXRoIGJ1cmdlckJ1dHRvblxuICAgICAgICAmOm50aC1jaGlsZCgyKSB7XG4gICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gICAgICAgIH1cblxuICAgICAgICAmOm5vdCgmX2Rpc2FibGVkKSB7XG4gICAgICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiB2YXIoLS1nLWNvbG9yLWJhc2Utc2ltcGxlLWhvdmVyKTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgJjphY3RpdmUge1xuICAgICAgICAgICAgICAgIHRyYW5zaXRpb246IG5vbmU7XG4gICAgICAgICAgICAgICAgdHJhbnNmb3JtOiBzY2FsZSgwLjk4KTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgJjpmb2N1cy12aXNpYmxlIHtcbiAgICAgICAgICAgICAgICBvdXRsaW5lOiB2YXIoLS1nLWNvbG9yLWxpbmUtZm9jdXMsIHJnYig3OCwgMTIxLCAyMzUpKTtcbiAgICAgICAgICAgICAgICBvdXRsaW5lLXdpZHRoOiAycHg7XG4gICAgICAgICAgICAgICAgb3V0bGluZS1zdHlsZTogc29saWQ7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX190aXRsZSB7XG4gICAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICAgIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xuXG4gICAgICAgICZfc2luZ2xlIHtcbiAgICAgICAgICAgIHBhZGRpbmctbGVmdDogJGhvcml6b250YWxQYWRkaW5nO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJiAmX19zaGFyZS1idXR0b24ge1xuICAgICAgICAmX2Fic29sdXRlIHtcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgIHJpZ2h0OiAwO1xuXG4gICAgICAgICAgICAuZGMtcm9vdF93aWRlLWZvcm1hdCAmIHtcbiAgICAgICAgICAgICAgICByaWdodDogOHB4O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgJl9pbnZpc2libGUge1xuICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgfVxuICAgIH1cbn1cbiIsIkB1c2UgJ3Nhc3M6bWFwJztcbkB1c2UgJ3ZhcmlhYmxlcyc7XG5cbkBtaXhpbiB0ZXh0LXNpemUoJG5hbWUpIHtcbiAgICBmb250LXNpemU6IHZhcigtLWctdGV4dC0jeyRuYW1lfS1mb250LXNpemUpO1xuICAgIGxpbmUtaGVpZ2h0OiB2YXIoLS1nLXRleHQtI3skbmFtZX0tbGluZS1oZWlnaHQpO1xufVxuXG5AbWl4aW4gcmVzZXQtbGlzdC1zdHlsZSgpIHtcbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZzogMDtcbiAgICBsaXN0LXN0eWxlOiBub25lO1xufVxuXG5AbWl4aW4gZml4QW5jaG9yUG9zaXRpb24oJG9mZnNldDogMHB4KSB7XG4gICAgcGFkZGluZy10b3A6IGNhbGModmFyKC0tZGMtaGVhZGVyLWhlaWdodCwgI3t2YXJpYWJsZXMuJGhlYWRlckhlaWdodH0pKTtcbiAgICBtYXJnaW4tdG9wOiBjYWxjKCN7JG9mZnNldH0gLSB2YXIoLS1kYy1oZWFkZXItaGVpZ2h0LCAje3ZhcmlhYmxlcy4kaGVhZGVySGVpZ2h0fSkpO1xufVxuXG5AbWl4aW4gcmVzZXQtbGluay1zdHlsZSgpIHtcbiAgICBjb2xvcjogaW5oZXJpdDtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG59XG5cbkBtaXhpbiBpc2xhbmRzLWZvY3VzKCkge1xuICAgIG91dGxpbmU6IG5vbmU7XG5cbiAgICAudXRpbGl0eWZvY3VzICY6Zm9jdXMge1xuICAgICAgICBvdXRsaW5lOiAycHggc29saWQgI2ZmZGI0ZDtcbiAgICB9XG59XG5cbkBtaXhpbiBmb2N1c2FibGUoJG9mZnNldDogMCwgJG1vZGU6ICdvdXRsaW5lJykge1xuICAgIEBpZiAkbW9kZSA9PSAnb3V0bGluZScge1xuICAgICAgICAmOmZvY3VzIHtcbiAgICAgICAgICAgIG91dGxpbmU6IDJweCBzb2xpZCB2YXIoLS1nLWNvbG9yLWxpbmUtZm9jdXMpO1xuICAgICAgICAgICAgb3V0bGluZS1vZmZzZXQ6ICRvZmZzZXQ7XG4gICAgICAgIH1cbiAgICAgICAgJjpmb2N1czpub3QoOmZvY3VzLXZpc2libGUpIHtcbiAgICAgICAgICAgIG91dGxpbmU6IDA7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBAaWYgJG1vZGUgPT0gJ2JveC1zaGFkb3cnIHtcbiAgICAgICAgJjpmb2N1cyB7XG4gICAgICAgICAgICBib3gtc2hhZG93OiAwIDAgMCAycHggdmFyKC0tZy1jb2xvci1saW5lLWZvY3VzKTtcbiAgICAgICAgICAgIG91dGxpbmU6IDA7XG4gICAgICAgIH1cbiAgICAgICAgJjpmb2N1czpub3QoOmZvY3VzLXZpc2libGUpIHtcbiAgICAgICAgICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbkBtaXhpbiBsaW5rKCkge1xuICAgIGNvbG9yOiB2YXIoLS1nLWNvbG9yLXRleHQtbGluayk7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICBib3JkZXItcmFkaXVzOiB2YXIoLS1nLWZvY3VzLWJvcmRlci1yYWRpdXMpO1xuXG4gICAgQGluY2x1ZGUgaXNsYW5kcy1mb2N1cygpO1xuXG4gICAgQGluY2x1ZGUgZm9jdXNhYmxlKDAsICdib3gtc2hhZG93Jyk7XG5cbiAgICAmOmhvdmVyLFxuICAgICY6YWN0aXZlIHtcbiAgICAgICAgY29sb3I6IHZhcigtLWctY29sb3ItdGV4dC1saW5rLWhvdmVyKTtcbiAgICB9XG59XG5cbkBtaXhpbiBoZWFkaW5nMSgpIHtcbiAgICBmb250LXdlaWdodDogNTAwO1xuXG4gICAgQGluY2x1ZGUgdGV4dC1zaXplKGRpc3BsYXktMyk7XG5cbiAgICBAbWVkaWEgKG1heC13aWR0aDogbWFwLmdldCh2YXJpYWJsZXMuJHNjcmVlbkJyZWFrcG9pbnRzLCAnbWQnKSAtIDEpIHtcbiAgICAgICAgQGluY2x1ZGUgdGV4dC1zaXplKGRpc3BsYXktMik7XG4gICAgfVxufVxuXG5AbWl4aW4gaGVhZGluZzIoKSB7XG4gICAgZm9udC13ZWlnaHQ6IDUwMDtcblxuICAgIEBpbmNsdWRlIHRleHQtc2l6ZShkaXNwbGF5LTEpO1xufVxuXG5AbWl4aW4gaGVhZGluZzMoKSB7XG4gICAgZm9udC13ZWlnaHQ6IDUwMDtcblxuICAgIEBpbmNsdWRlIHRleHQtc2l6ZShoZWFkZXItMik7XG59XG5cbkBtaXhpbiBoZWFkaW5nNCgpIHtcbiAgICBmb250LXdlaWdodDogNTAwO1xuXG4gICAgQGluY2x1ZGUgdGV4dC1zaXplKGhlYWRlci0xKTtcbn1cblxuQG1peGluIGhlYWRpbmc1KCkge1xuICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG5cbiAgICBAaW5jbHVkZSB0ZXh0LXNpemUoYm9keS0zKTtcbn1cblxuQG1peGluIGhlYWRpbmc2KCkge1xuICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG5cbiAgICBAaW5jbHVkZSB0ZXh0LXNpemUoYm9keS0zKTtcbn1cblxuQG1peGluIGNvbnRyaWJ1dG9ycy10ZXh0KCkge1xuICAgIGZvbnQtc2l6ZTogMTNweDtcbiAgICBmb250LXdlaWdodDogNDAwO1xuICAgIG1hcmdpbi1yaWdodDogNXB4O1xuICAgIGFsaWduLXNlbGY6IGNlbnRlcjtcbn1cblxuQG1peGluIHRleHQtYm9keS0xKCkge1xuICAgIGZvbnQtc2l6ZTogdmFyKC0tZy10ZXh0LWJvZHktMS1mb250LXNpemUpO1xuICAgIGxpbmUtaGVpZ2h0OiB2YXIoLS1nLXRleHQtYm9keS0xLWxpbmUtaGVpZ2h0KTtcbiAgICBmb250LXdlaWdodDogdmFyKC0tZy10ZXh0LWJvZHktZm9udC13ZWlnaHQpO1xufVxuXG5AbWl4aW4gZGVza3RvcC1vbmx5KCkge1xuICAgIEBtZWRpYSAobWF4LXdpZHRoOiBtYXAuZ2V0KHZhcmlhYmxlcy4kc2NyZWVuQnJlYWtwb2ludHMsICdtZCcpIC0gMSkge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cbn1cblxuQG1peGluIGRlc2t0b3AtdGFibGV0LW9ubHkoKSB7XG4gICAgQG1lZGlhIChtYXgtd2lkdGg6IG1hcC5nZXQodmFyaWFibGVzLiRzY3JlZW5CcmVha3BvaW50cywgJ3NtJykgLSAxKSB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxufVxuXG5AbWl4aW4gbW9iaWxlLXRhYmxldC1vbmx5KCkge1xuICAgIEBtZWRpYSAobWluLXdpZHRoOiBtYXAuZ2V0KHZhcmlhYmxlcy4kc2NyZWVuQnJlYWtwb2ludHMsICdtZCcpKSB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxufVxuXG5AbWl4aW4gbW9iaWxlLW9ubHkoKSB7XG4gICAgQG1lZGlhIChtaW4td2lkdGg6IG1hcC5nZXQodmFyaWFibGVzLiRzY3JlZW5CcmVha3BvaW50cywgJ3NtJykpIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG59XG5cbkBtaXhpbiBncmF2aXR5LXVpLXRleHQtc2l6ZXMoJGRlbHRhKSB7XG4gICAgLS1nLXRleHQtYm9keS0xLWZvbnQtc2l6ZTogI3sxM3B4ICsgJGRlbHRhfTtcbiAgICAtLWctdGV4dC1ib2R5LTEtbGluZS1oZWlnaHQ6ICN7MThweCArICRkZWx0YX07XG4gICAgLS1nLXRleHQtYm9keS0yLWZvbnQtc2l6ZTogI3sxNXB4ICsgJGRlbHRhfTtcbiAgICAtLWctdGV4dC1ib2R5LTItbGluZS1oZWlnaHQ6ICN7MjBweCArICRkZWx0YX07XG4gICAgLS1nLXRleHQtYm9keS0zLWZvbnQtc2l6ZTogI3sxN3B4ICsgJGRlbHRhfTtcbiAgICAtLWctdGV4dC1ib2R5LTMtbGluZS1oZWlnaHQ6ICN7MjRweCArICRkZWx0YX07XG4gICAgLS1nLXRleHQtYm9keS1zaG9ydC1mb250LXNpemU6ICN7MTNweCArICRkZWx0YX07XG4gICAgLS1nLXRleHQtY2FwdGlvbi0xLWZvbnQtc2l6ZTogI3s5cHggKyAkZGVsdGF9O1xuICAgIC0tZy10ZXh0LWNhcHRpb24tMi1mb250LXNpemU6ICN7MTFweCArICRkZWx0YX07XG4gICAgLS1nLXRleHQtaGVhZGVyLTEtZm9udC1zaXplOiAjezIwcHggKyAkZGVsdGF9O1xuICAgIC0tZy10ZXh0LWhlYWRlci0yLWZvbnQtc2l6ZTogI3syNHB4ICsgJGRlbHRhfTtcbiAgICAtLWctdGV4dC1zdWJoZWFkZXItMS1mb250LXNpemU6ICN7MTNweCArICRkZWx0YX07XG4gICAgLS1nLXRleHQtc3ViaGVhZGVyLTItZm9udC1zaXplOiAjezE1cHggKyAkZGVsdGF9O1xuICAgIC0tZy10ZXh0LXN1YmhlYWRlci0zLWZvbnQtc2l6ZTogI3sxN3B4ICsgJGRlbHRhfTtcbiAgICAtLWctdGV4dC1kaXNwbGF5LTEtZm9udC1zaXplOiAjezI4cHggKyAkZGVsdGF9O1xuICAgIC0tZy10ZXh0LWRpc3BsYXktMi1mb250LXNpemU6ICN7MzJweCArICRkZWx0YX07XG4gICAgLS1nLXRleHQtZGlzcGxheS0zLWZvbnQtc2l6ZTogI3s0MHB4ICsgJGRlbHRhfTtcbiAgICAtLWctdGV4dC1kaXNwbGF5LTQtZm9udC1zaXplOiAjezQ4cHggKyAkZGVsdGF9O1xuICAgIC0tZy10ZXh0LWNvZGUtMS1mb250LXNpemU6ICN7MTJweCArICRkZWx0YX07XG4gICAgLS1nLXRleHQtY29kZS0yLWZvbnQtc2l6ZTogI3sxNHB4ICsgJGRlbHRhfTtcbiAgICAtLWctdGV4dC1jb2RlLTMtZm9udC1zaXplOiAjezE2cHggKyAkZGVsdGF9O1xuICAgIC0tZy10ZXh0LWNvZGUtaW5saW5lLTEtZm9udC1zaXplOiAjezEycHggKyAkZGVsdGF9O1xuICAgIC0tZy10ZXh0LWNvZGUtaW5saW5lLTItZm9udC1zaXplOiAjezE0cHggKyAkZGVsdGF9O1xuICAgIC0tZy10ZXh0LWNvZGUtaW5saW5lLTMtZm9udC1zaXplOiAjezE2cHggKyAkZGVsdGF9O1xuXG4gICAgLS15Zm0tZm9udC1zaXplOiB2YXIoLS1nLXRleHQtYm9keS0yLWZvbnQtc2l6ZSk7XG4gICAgLS15Zm0tZm9udC1saW5lLWhlaWdodDogdmFyKC0tZy10ZXh0LWJvZHktMi1saW5lLWhlaWdodCk7XG4gICAgLS15Zm0tZm9udC1zaXplLWgyOiB2YXIoLS1nLXRleHQtaGVhZGVyLTItZm9udC1zaXplKTtcbiAgICAtLXlmbS1mb250LXNpemUtaDM6IHZhcigtLWctdGV4dC1oZWFkZXItMS1mb250LXNpemUpO1xuICAgIC0teWZtLWZvbnQtc2l6ZS1oNDogdmFyKC0tZy10ZXh0LXN1YmhlYWRlci0zLWZvbnQtc2l6ZSk7XG4gICAgLS15Zm0tZm9udC1zaXplLWg1OiB2YXIoLS1nLXRleHQtc3ViaGVhZGVyLTItZm9udC1zaXplKTtcbiAgICAtLXlmbS1mb250LXNpemUtaDY6IHZhcigtLWctdGV4dC1zdWJoZWFkZXItMS1mb250LXNpemUpO1xufVxuIl19 */", "@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\n@mixin gravity-ui-text-sizes($delta) {\n --g-text-body-1-font-size: #{13px + $delta};\n --g-text-body-1-line-height: #{18px + $delta};\n --g-text-body-2-font-size: #{15px + $delta};\n --g-text-body-2-line-height: #{20px + $delta};\n --g-text-body-3-font-size: #{17px + $delta};\n --g-text-body-3-line-height: #{24px + $delta};\n --g-text-body-short-font-size: #{13px + $delta};\n --g-text-caption-1-font-size: #{9px + $delta};\n --g-text-caption-2-font-size: #{11px + $delta};\n --g-text-header-1-font-size: #{20px + $delta};\n --g-text-header-2-font-size: #{24px + $delta};\n --g-text-subheader-1-font-size: #{13px + $delta};\n --g-text-subheader-2-font-size: #{15px + $delta};\n --g-text-subheader-3-font-size: #{17px + $delta};\n --g-text-display-1-font-size: #{28px + $delta};\n --g-text-display-2-font-size: #{32px + $delta};\n --g-text-display-3-font-size: #{40px + $delta};\n --g-text-display-4-font-size: #{48px + $delta};\n --g-text-code-1-font-size: #{12px + $delta};\n --g-text-code-2-font-size: #{14px + $delta};\n --g-text-code-3-font-size: #{16px + $delta};\n --g-text-code-inline-1-font-size: #{12px + $delta};\n --g-text-code-inline-2-font-size: #{14px + $delta};\n --g-text-code-inline-3-font-size: #{16px + $delta};\n\n --yfm-font-size: var(--g-text-body-2-font-size);\n --yfm-font-line-height: var(--g-text-body-2-line-height);\n --yfm-font-size-h2: var(--g-text-header-2-font-size);\n --yfm-font-size-h3: var(--g-text-header-1-font-size);\n --yfm-font-size-h4: var(--g-text-subheader-3-font-size);\n --yfm-font-size-h5: var(--g-text-subheader-2-font-size);\n --yfm-font-size-h6: var(--g-text-subheader-1-font-size);\n}\n"],
|
|
5
5
|
"mappings": "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",
|
|
6
6
|
"names": []
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
|
-
"sources": ["../../../../src/components/Subscribe/Subscribe.scss", "../../../../src/components/Subscribe/%3Cinput css
|
|
3
|
+
"sources": ["../../../../src/components/Subscribe/Subscribe.scss", "../../../../src/components/Subscribe/%3Cinput css FEGTGV%3E", "../../../../src/styles/variables.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-subscribe {\n &__container {\n &_view_wide {\n display: flex;\n align-items: center;\n flex-direction: column;\n width: 100%;\n }\n }\n\n &__container-row {\n display: flex;\n justify-content: center;\n width: 100%;\n padding: 28px;\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 padding: 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\n &_view_wide {\n @include tooltip-in-center();\n }\n }\n\n &__popup-title {\n font-size: var(--g-text-body2-font-size);\n line-height: var(--g-text-body2-line-height);\n padding-bottom: 8px;\n }\n\n &__popup-text {\n font-size: var(--g-text-body-1-font-size);\n line-height: var(--g-text-body-1-line-height);\n }\n\n &__variants-actions {\n display: flex;\n justify-content: flex-end;\n }\n\n &__variants-action {\n margin-left: 10px;\n }\n\n &__variant__list-item {\n padding: 6px 12px;\n }\n\n &__textarea {\n padding: 8px 0;\n }\n\n &__title {\n &_view_wide {\n font-size: var(--g-text-body2-font-size);\n line-height: var(--g-text-body2-line-height);\n margin-right: 16px;\n font-weight: 400;\n }\n }\n\n &__controls {\n display: flex;\n\n &_view_wide {\n display: flex;\n }\n }\n\n &__control {\n &:last-of-type {\n font-size: 13px;\n line-height: 18px;\n display: flex;\n align-items: center;\n }\n\n &_view_wide {\n margin-right: 12px;\n\n &:last-of-type {\n margin-right: 0;\n }\n }\n\n &_view_regular {\n margin-right: 4px;\n\n &:last-of-type {\n margin-right: 0;\n }\n }\n }\n}\n", ".dc-subscribe__container_view_wide {\n display: flex;\n align-items: center;\n flex-direction: column;\n width: 100%;\n}\n.dc-subscribe__container-row {\n display: flex;\n justify-content: center;\n width: 100%;\n padding: 28px;\n border: 1px solid var(--g-color-line-generic);\n border-radius: 8px;\n}\n.dc-subscribe__container-row_view_wide {\n display: flex;\n align-items: center;\n}\n.dc-subscribe__success-popup {\n padding: 16px;\n width: 320px;\n}\n@media screen and (max-width: 375px) {\n .dc-subscribe__success-popup_view_wide {\n right: 0 !important;\n left: 0 !important;\n margin: auto;\n }\n}\n.dc-subscribe__variants-popup {\n padding: 16px;\n width: 320px;\n}\n@media screen and (max-width: 375px) {\n .dc-subscribe__variants-popup_view_wide {\n right: 0 !important;\n left: 0 !important;\n margin: auto;\n }\n}\n.dc-subscribe__popup-title {\n font-size: var(--g-text-body2-font-size);\n line-height: var(--g-text-body2-line-height);\n padding-bottom: 8px;\n}\n.dc-subscribe__popup-text {\n font-size: var(--g-text-body-1-font-size);\n line-height: var(--g-text-body-1-line-height);\n}\n.dc-subscribe__variants-actions {\n display: flex;\n justify-content: flex-end;\n}\n.dc-subscribe__variants-action {\n margin-left: 10px;\n}\n.dc-subscribe__variant__list-item {\n padding: 6px 12px;\n}\n.dc-subscribe__textarea {\n padding: 8px 0;\n}\n.dc-subscribe__title_view_wide {\n font-size: var(--g-text-body2-font-size);\n line-height: var(--g-text-body2-line-height);\n margin-right: 16px;\n font-weight: 400;\n}\n.dc-subscribe__controls {\n display: flex;\n}\n.dc-subscribe__controls_view_wide {\n display: flex;\n}\n.dc-subscribe__control:last-of-type {\n font-size: 13px;\n line-height: 18px;\n display: flex;\n align-items: center;\n}\n.dc-subscribe__control_view_wide {\n margin-right: 12px;\n}\n.dc-subscribe__control_view_wide:last-of-type {\n margin-right: 0;\n}\n.dc-subscribe__control_view_regular {\n margin-right: 4px;\n}\n.dc-subscribe__control_view_regular:last-of-type {\n margin-right: 0;\n}\n/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VSb290IjoiL2hvbWUvcnVubmVyL3dvcmsvY29tcG9uZW50cy9jb21wb25lbnRzL3NyYy9jb21wb25lbnRzL1N1YnNjcmliZSIsInNvdXJjZXMiOlsiU3Vic2NyaWJlLnNjc3MiLCIuLi8uLi9zdHlsZXMvdmFyaWFibGVzLnNjc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBbUJRO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7O0FBSVI7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUVBO0VBQ0E7O0FBRUE7RUFDSTtFQUNBOztBQUlSO0VBQ0ksU0NqQ087RURrQ1AsT0F4Q0s7O0FBR1Q7RUFDSTtJQUVJO0lBQ0E7SUFDQTs7O0FBdUNSO0VBQ0ksU0MxQ087RUQyQ1AsT0FqREs7O0FBR1Q7RUFDSTtJQUVJO0lBQ0E7SUFDQTs7O0FBZ0RSO0VBQ0k7RUFDQTtFQUNBOztBQUdKO0VBQ0k7RUFDQTs7QUFHSjtFQUNJO0VBQ0E7O0FBR0o7RUFDSTs7QUFHSjtFQUNJOztBQUdKO0VBQ0k7O0FBSUE7RUFDSTtFQUNBO0VBQ0E7RUFDQTs7QUFJUjtFQUNJOztBQUVBO0VBQ0k7O0FBS0o7RUFDSTtFQUNBO0VBQ0E7RUFDQTs7QUFHSjtFQUNJOztBQUVBO0VBQ0k7O0FBSVI7RUFDSTs7QUFFQTtFQUNJIiwic291cmNlc0NvbnRlbnQiOlsiQHVzZSAnc2FzczptYXAnO1xuQHVzZSAnLi4vLi4vc3R5bGVzL21peGlucyc7XG5AdXNlICcuLi8uLi9zdHlsZXMvdmFyaWFibGVzJztcblxuJHBvcHVwV2lkdGg6IDMyMHB4O1xuXG5AbWl4aW4gdG9vbHRpcC1pbi1jZW50ZXIge1xuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IG1hcC5nZXQodmFyaWFibGVzLiRzY3JlZW5CcmVha3BvaW50cywgJ3hzJykpIHtcbiAgICAgICAgJiB7XG4gICAgICAgICAgICAvLyBzdHlsZWxpbnQtZGlzYWJsZSBkZWNsYXJhdGlvbi1uby1pbXBvcnRhbnRcbiAgICAgICAgICAgIHJpZ2h0OiAwICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICBsZWZ0OiAwICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICBtYXJnaW46IGF1dG87XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi5kYy1zdWJzY3JpYmUge1xuICAgICZfX2NvbnRhaW5lciB7XG4gICAgICAgICZfdmlld193aWRlIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9fY29udGFpbmVyLXJvdyB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgcGFkZGluZzogMjhweDtcblxuICAgICAgICBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1nLWNvbG9yLWxpbmUtZ2VuZXJpYyk7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDhweDtcblxuICAgICAgICAmX3ZpZXdfd2lkZSB7XG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX3N1Y2Nlc3MtcG9wdXAge1xuICAgICAgICBwYWRkaW5nOiB2YXJpYWJsZXMuJHBvcHVwUGFkZGluZztcbiAgICAgICAgd2lkdGg6ICRwb3B1cFdpZHRoO1xuXG4gICAgICAgICZfdmlld193aWRlIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIHRvb2x0aXAtaW4tY2VudGVyKCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX192YXJpYW50cy1wb3B1cCB7XG4gICAgICAgIHBhZGRpbmc6IHZhcmlhYmxlcy4kcG9wdXBQYWRkaW5nO1xuICAgICAgICB3aWR0aDogJHBvcHVwV2lkdGg7XG5cbiAgICAgICAgJl92aWV3X3dpZGUge1xuICAgICAgICAgICAgQGluY2x1ZGUgdG9vbHRpcC1pbi1jZW50ZXIoKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX3BvcHVwLXRpdGxlIHtcbiAgICAgICAgZm9udC1zaXplOiB2YXIoLS1nLXRleHQtYm9keTItZm9udC1zaXplKTtcbiAgICAgICAgbGluZS1oZWlnaHQ6IHZhcigtLWctdGV4dC1ib2R5Mi1saW5lLWhlaWdodCk7XG4gICAgICAgIHBhZGRpbmctYm90dG9tOiA4cHg7XG4gICAgfVxuXG4gICAgJl9fcG9wdXAtdGV4dCB7XG4gICAgICAgIGZvbnQtc2l6ZTogdmFyKC0tZy10ZXh0LWJvZHktMS1mb250LXNpemUpO1xuICAgICAgICBsaW5lLWhlaWdodDogdmFyKC0tZy10ZXh0LWJvZHktMS1saW5lLWhlaWdodCk7XG4gICAgfVxuXG4gICAgJl9fdmFyaWFudHMtYWN0aW9ucyB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG4gICAgfVxuXG4gICAgJl9fdmFyaWFudHMtYWN0aW9uIHtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDEwcHg7XG4gICAgfVxuXG4gICAgJl9fdmFyaWFudF9fbGlzdC1pdGVtIHtcbiAgICAgICAgcGFkZGluZzogNnB4IDEycHg7XG4gICAgfVxuXG4gICAgJl9fdGV4dGFyZWEge1xuICAgICAgICBwYWRkaW5nOiA4cHggMDtcbiAgICB9XG5cbiAgICAmX190aXRsZSB7XG4gICAgICAgICZfdmlld193aWRlIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogdmFyKC0tZy10ZXh0LWJvZHkyLWZvbnQtc2l6ZSk7XG4gICAgICAgICAgICBsaW5lLWhlaWdodDogdmFyKC0tZy10ZXh0LWJvZHkyLWxpbmUtaGVpZ2h0KTtcbiAgICAgICAgICAgIG1hcmdpbi1yaWdodDogMTZweDtcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX19jb250cm9scyB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG5cbiAgICAgICAgJl92aWV3X3dpZGUge1xuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX2NvbnRyb2wge1xuICAgICAgICAmOmxhc3Qtb2YtdHlwZSB7XG4gICAgICAgICAgICBmb250LXNpemU6IDEzcHg7XG4gICAgICAgICAgICBsaW5lLWhlaWdodDogMThweDtcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICB9XG5cbiAgICAgICAgJl92aWV3X3dpZGUge1xuICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAxMnB4O1xuXG4gICAgICAgICAgICAmOmxhc3Qtb2YtdHlwZSB7XG4gICAgICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgJl92aWV3X3JlZ3VsYXIge1xuICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiA0cHg7XG5cbiAgICAgICAgICAgICY6bGFzdC1vZi10eXBlIHtcbiAgICAgICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG4iLCIvLyBTaXplc1xuJGhlYWRlckhlaWdodDogMHB4O1xuJHN1YkhlYWRlckhlaWdodDogNDBweDtcbiRzdWJOYXZpZ2F0aW9uSGVpZ2h0OiA1MnB4O1xuJG5vcm1hbE9mZnNldDogMjBweDtcbiRtaW5pVG9jT2Zmc2V0OiA1NnB4O1xuJGJsb2NrTWFyZ2luQm90dG9tTGFyZ2U6IDIwcHg7XG4kYmxvY2tNYXJnaW5Cb3R0b21NZWRpdW06IDE1cHg7XG4kaGVhZGVyTWFyZ2luVG9wTGFyZ2U6IDQwcHg7XG4kaGVhZGVyTWFyZ2luVG9wTWVkaXVtOiAzMnB4O1xuJHBvcHVwUGFkZGluZzogMTZweDtcbiRjZW50ZXJCbG9ja01heFdpZHRoOiA3MzZweDtcblxuLy8gTmF2aWdhdGlvblxuJHRvTWFpbk1lbnVWZXJ0aWNhbFBhZGRpbmc6IDRweDtcbiR0b01haW5NZW51SG9yaXpvbnRhbFBhZGRpbmc6IDEycHg7XG4kdG9NYWluTWVudUhlaWdodDogY2FsYyhcbiAgICB2YXIoLS1kYy1zdWJuYXZpZ2F0aW9uLWhlaWdodCwgJHN1Yk5hdmlnYXRpb25IZWlnaHQpIC0gI3skdG9NYWluTWVudVZlcnRpY2FsUGFkZGluZ30gLVxuICAgICAgICAjeyR0b01haW5NZW51VmVydGljYWxQYWRkaW5nfVxuKTtcblxuLy8gTWluaVRvY1xuJG1pbmlUb2NWZXJ0aWNhbFBhZGRpbmc6IDE2cHg7XG4kbWluaVRvY1RpdGxlSGVpZ2h0OiAyMHB4OyAvLyBsaW5lLWhlaWdodCBib2R5LTJcbiRtaW5pVG9jVGl0bGVNYXJnaW46IDEycHg7XG4kbW9iaWxlTWluaVRvY09mZnNldDogMiAqICRtaW5pVG9jVmVydGljYWxQYWRkaW5nICsgJG1pbmlUb2NUaXRsZUhlaWdodCArICRtaW5pVG9jVGl0bGVNYXJnaW47XG5cbiRzY3JlZW5CcmVha3BvaW50czogKFxuICAgICd4cyc6IDM3NXB4LFxuICAgICdzbSc6IDU3N3B4LFxuICAgICdtZCc6IDc2OXB4LFxuICAgICdsZyc6IDEwODFweCxcbiAgICAneGwnOiAxMTg1cHgsXG4pO1xuIl19 */", "// 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} -\n #{$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
5
|
"mappings": ";AAmBQ,CAAA;AACI,WAAA;AACA,eAAA;AACA,kBAAA;AACA,SAAA;AClBZ;ADsBI,CAAA;AACI,WAAA;AACA,mBAAA;AACA,SAAA;AACA,WAAA;AAEA,UAAA,IAAA,MAAA,IAAA;AACA,iBAAA;ACrBR;ADuBQ,CAAA;AACI,WAAA;AACA,eAAA;ACrBZ;ADyBI,CAAA;AACI,WAAA;AACA,SAAA;ACvBR;ADdI,OAAA,YAAA,WAAA;AACI,GAAA;AAEI,WAAA;AACA,UAAA;AACA,YAAA;ACeV;AACF;ADuBI,CAAA;AACI,WAAA;AACA,SAAA;ACrBR;ADzBI,OAAA,YAAA,WAAA;AACI,GAAA;AAEI,WAAA;AACA,UAAA;AACA,YAAA;AC0BV;AACF;ADqBI,CAAA;AACI,aAAA,IAAA;AACA,eAAA,IAAA;AACA,kBAAA;ACnBR;ADsBI,CAAA;AACI,aAAA,IAAA;AACA,eAAA,IAAA;ACpBR;ADuBI,CAAA;AACI,WAAA;AACA,mBAAA;ACrBR;ADwBI,CAAA;AACI,eAAA;ACtBR;ADyBI,CAAA;AACI,WAAA,IAAA;ACvBR;AD0BI,CAAA;AACI,WAAA,IAAA;ACxBR;AD4BQ,CAAA;AACI,aAAA,IAAA;AACA,eAAA,IAAA;AACA,gBAAA;AACA,eAAA;AC1BZ;AD8BI,CAAA;AACI,WAAA;AC5BR;AD8BQ,CAAA;AACI,WAAA;AC5BZ;ADiCQ,CAAA,qBAAA;AACI,aAAA;AACA,eAAA;AACA,WAAA;AACA,eAAA;AC/BZ;ADkCQ,CAAA;AACI,gBAAA;AChCZ;ADkCY,CAHJ,+BAGI;AACI,gBAAA;AChChB;ADoCQ,CAAA;AACI,gBAAA;AClCZ;ADoCY,CAHJ,kCAGI;AACI,gBAAA;AClChB;",
|
|
6
6
|
"names": []
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
|
-
"sources": ["../../../../src/components/Toc/Toc.scss", "../../../../src/components/Toc/%3Cinput css
|
|
3
|
+
"sources": ["../../../../src/components/Toc/Toc.scss", "../../../../src/components/Toc/%3Cinput css 40HCmj%3E", "../../../../src/styles/mixins.scss"],
|
|
4
4
|
"sourcesContent": ["@use 'sass:map';\n@use '../../styles/variables';\n@use '../../styles/mixins';\n\n$iconSize: 18px;\n$toggleSize: 10px;\n$leftOffset: 57px;\n\n@mixin toc-header {\n @include mixins.text-size(body-2);\n font-weight: 500;\n}\n\n.dc-toc {\n $class: &;\n\n display: flex;\n flex-direction: column;\n height: calc(100vh - var(--dc-header-height, #{variables.$headerHeight}));\n overflow: hidden;\n border-right: 1px solid var(--g-color-line-generic);\n\n @media (max-width: map.get(variables.$screenBreakpoints, 'md') - 1) {\n padding: 12px 16px 0px;\n\n border-right: none;\n overflow-y: auto;\n }\n\n &__empty {\n padding: 5px 15px 5px 24px;\n }\n\n &__top {\n flex-grow: 0;\n flex-shrink: 0;\n display: flex;\n align-items: flex-start;\n padding: 10px 10px 8px 0;\n margin-bottom: 12px;\n\n @media (max-width: map.get(variables.$screenBreakpoints, 'md') - 1) {\n padding: 10px 12px 10px 28px;\n margin-bottom: 0;\n }\n\n &_scrolled {\n border-bottom: 1px solid var(--g-color-line-generic);\n }\n\n @mixin top-main-base {\n display: flex;\n align-items: flex-start;\n width: 100%;\n box-sizing: border-box;\n padding: var(--g-spacing-2) var(--g-spacing-3);\n gap: var(--g-spacing-2);\n }\n\n &_with-extra-header {\n flex-direction: column;\n margin-bottom: var(--g-spacing-1);\n\n @media (max-width: map.get(variables.$screenBreakpoints, 'md') - 1) {\n padding: 0;\n }\n\n .dc-toc__top-main {\n @include top-main-base;\n\n &-link {\n @include top-main-base;\n cursor: pointer;\n\n @include mixins.reset-link-style();\n border-radius: 3px;\n\n &:hover {\n background: var(--g-color-base-simple-hover);\n }\n\n &_active {\n background: var(--g-color-base-selection);\n }\n }\n }\n .dc-toc__top-header-icon,\n .dc-toc-label_offset {\n margin: 0;\n flex-shrink: 0;\n }\n .dc-toc__top-header {\n display: inline-flex;\n flex-grow: 1;\n font-size: var(--g-text-body-1-font-size);\n font-weight: var(--g-text-body-font-weight);\n line-height: var(--g-text-body-1-line-height);\n }\n\n .dc-toc__content > .dc-toc__list {\n padding-left: var(--g-spacing-4);\n }\n }\n\n &-header-icon {\n display: flex;\n margin-right: 5px;\n flex-shrink: 0;\n\n [dir='rtl'] & {\n margin-left: 5px;\n }\n }\n\n &-header {\n flex-grow: 0;\n $headerClass: &;\n position: relative;\n font-weight: 500;\n\n @include mixins.text-size(body-3);\n\n &_link {\n @include mixins.reset-link-style();\n\n display: flex;\n align-items: center;\n border-radius: var(--g-focus-border-radius);\n\n @include mixins.link();\n\n &:hover {\n color: var(--g-color-text-primary);\n }\n\n @include mixins.focusable();\n }\n }\n }\n\n &__bottom {\n flex-grow: 0;\n flex-shrink: 0;\n display: flex;\n align-items: center;\n padding: 4px 10px 20px 0;\n\n &_scrolled {\n border-top: 1px solid var(--g-color-line-generic);\n\n @media (max-width: map.get(variables.$screenBreakpoints, 'md') - 1) {\n border-top: 0;\n }\n }\n }\n\n &__content {\n --g-scrollbar-width: 6px;\n\n position: relative;\n flex-grow: 1;\n overflow-y: auto;\n scrollbar-width: thin;\n\n @media (max-width: map.get(variables.$screenBreakpoints, 'md') - 1) {\n overflow-y: unset;\n }\n\n &_offset_top {\n @media (min-width: map.get(variables.$screenBreakpoints, 'md')) {\n padding-top: 12px;\n }\n }\n }\n\n &__list {\n @include mixins.reset-list-style();\n\n display: block;\n\n &-item {\n cursor: pointer;\n user-select: none;\n\n &_labeled {\n margin-top: 16px;\n }\n\n &_main > *:first-child {\n color: var(--g-color-text-primary);\n }\n\n &:not(&_opened) > #{$class}__list {\n display: none;\n }\n\n // recurcive padding\n &:not(&_labeled) > #{$class}__list {\n padding-left: 20px;\n\n [dir='rtl'] & {\n padding-right: 20px;\n }\n }\n }\n }\n\n &__content > &__list {\n padding-right: 21px;\n padding-bottom: 30px;\n\n @media (max-width: map.get(variables.$screenBreakpoints, 'md') - 1) {\n padding-right: 0;\n }\n }\n\n &__content_with-extra-header > &__list {\n padding-right: 10px;\n\n @media (max-width: #{map.get(variables.$screenBreakpoints, 'md') - 1px}) {\n padding-right: 0;\n }\n }\n}\n", ".dc-toc {\n display: flex;\n flex-direction: column;\n height: calc(100vh - var(--dc-header-height, 0px));\n overflow: hidden;\n border-right: 1px solid var(--g-color-line-generic);\n}\n@media (max-width: 768px) {\n .dc-toc {\n padding: 12px 16px 0px;\n border-right: none;\n overflow-y: auto;\n }\n}\n.dc-toc__empty {\n padding: 5px 15px 5px 24px;\n}\n.dc-toc__top {\n flex-grow: 0;\n flex-shrink: 0;\n display: flex;\n align-items: flex-start;\n padding: 10px 10px 8px 0;\n margin-bottom: 12px;\n}\n@media (max-width: 768px) {\n .dc-toc__top {\n padding: 10px 12px 10px 28px;\n margin-bottom: 0;\n }\n}\n.dc-toc__top_scrolled {\n border-bottom: 1px solid var(--g-color-line-generic);\n}\n.dc-toc__top_with-extra-header {\n flex-direction: column;\n margin-bottom: var(--g-spacing-1);\n}\n@media (max-width: 768px) {\n .dc-toc__top_with-extra-header {\n padding: 0;\n }\n}\n.dc-toc__top_with-extra-header .dc-toc__top-main {\n display: flex;\n align-items: flex-start;\n width: 100%;\n box-sizing: border-box;\n padding: var(--g-spacing-2) var(--g-spacing-3);\n gap: var(--g-spacing-2);\n}\n.dc-toc__top_with-extra-header .dc-toc__top-main-link {\n display: flex;\n align-items: flex-start;\n width: 100%;\n box-sizing: border-box;\n padding: var(--g-spacing-2) var(--g-spacing-3);\n gap: var(--g-spacing-2);\n cursor: pointer;\n color: inherit;\n text-decoration: none;\n border-radius: 3px;\n}\n.dc-toc__top_with-extra-header .dc-toc__top-main-link:hover {\n background: var(--g-color-base-simple-hover);\n}\n.dc-toc__top_with-extra-header .dc-toc__top-main-link_active {\n background: var(--g-color-base-selection);\n}\n.dc-toc__top_with-extra-header .dc-toc__top-header-icon,\n.dc-toc__top_with-extra-header .dc-toc-label_offset {\n margin: 0;\n flex-shrink: 0;\n}\n.dc-toc__top_with-extra-header .dc-toc__top-header {\n display: inline-flex;\n flex-grow: 1;\n font-size: var(--g-text-body-1-font-size);\n font-weight: var(--g-text-body-font-weight);\n line-height: var(--g-text-body-1-line-height);\n}\n.dc-toc__top_with-extra-header .dc-toc__content > .dc-toc__list {\n padding-left: var(--g-spacing-4);\n}\n.dc-toc__top-header-icon {\n display: flex;\n margin-right: 5px;\n flex-shrink: 0;\n}\n[dir=rtl] .dc-toc__top-header-icon {\n margin-left: 5px;\n}\n.dc-toc__top-header {\n flex-grow: 0;\n position: relative;\n font-weight: 500;\n font-size: var(--g-text-body-3-font-size);\n line-height: var(--g-text-body-3-line-height);\n}\n.dc-toc__top-header_link {\n color: inherit;\n text-decoration: none;\n display: flex;\n align-items: center;\n border-radius: var(--g-focus-border-radius);\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 .dc-toc__top-header_link:focus {\n outline: 2px solid #ffdb4d;\n}\n.dc-toc__top-header_link:focus {\n box-shadow: 0 0 0 2px var(--g-color-line-focus);\n outline: 0;\n}\n.dc-toc__top-header_link:focus:not(:focus-visible) {\n box-shadow: none;\n}\n.dc-toc__top-header_link:hover, .dc-toc__top-header_link:active {\n color: var(--g-color-text-link-hover);\n}\n.dc-toc__top-header_link:hover {\n color: var(--g-color-text-primary);\n}\n.dc-toc__top-header_link:focus {\n outline: 2px solid var(--g-color-line-focus);\n outline-offset: 0;\n}\n.dc-toc__top-header_link:focus:not(:focus-visible) {\n outline: 0;\n}\n.dc-toc__bottom {\n flex-grow: 0;\n flex-shrink: 0;\n display: flex;\n align-items: center;\n padding: 4px 10px 20px 0;\n}\n.dc-toc__bottom_scrolled {\n border-top: 1px solid var(--g-color-line-generic);\n}\n@media (max-width: 768px) {\n .dc-toc__bottom_scrolled {\n border-top: 0;\n }\n}\n.dc-toc__content {\n --g-scrollbar-width: 6px;\n position: relative;\n flex-grow: 1;\n overflow-y: auto;\n scrollbar-width: thin;\n}\n@media (max-width: 768px) {\n .dc-toc__content {\n overflow-y: unset;\n }\n}\n@media (min-width: 769px) {\n .dc-toc__content_offset_top {\n padding-top: 12px;\n }\n}\n.dc-toc__list {\n margin: 0;\n padding: 0;\n list-style: none;\n display: block;\n}\n.dc-toc__list-item {\n cursor: pointer;\n user-select: none;\n}\n.dc-toc__list-item_labeled {\n margin-top: 16px;\n}\n.dc-toc__list-item_main > *:first-child {\n color: var(--g-color-text-primary);\n}\n.dc-toc__list-item:not(.dc-toc__list-item_opened) > .dc-toc__list {\n display: none;\n}\n.dc-toc__list-item:not(.dc-toc__list-item_labeled) > .dc-toc__list {\n padding-left: 20px;\n}\n[dir=rtl] .dc-toc__list-item:not(.dc-toc__list-item_labeled) > .dc-toc__list {\n padding-right: 20px;\n}\n.dc-toc__content > .dc-toc__list {\n padding-right: 21px;\n padding-bottom: 30px;\n}\n@media (max-width: 768px) {\n .dc-toc__content > .dc-toc__list {\n padding-right: 0;\n }\n}\n.dc-toc__content_with-extra-header > .dc-toc__list {\n padding-right: 10px;\n}\n@media (max-width: 768px) {\n .dc-toc__content_with-extra-header > .dc-toc__list {\n padding-right: 0;\n }\n}\n/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VSb290IjoiL2hvbWUvcnVubmVyL3dvcmsvY29tcG9uZW50cy9jb21wb25lbnRzL3NyYy9jb21wb25lbnRzL1RvYyIsInNvdXJjZXMiOlsiVG9jLnNjc3MiLCIuLi8uLi9zdHlsZXMvbWl4aW5zLnNjc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBYUE7RUFHSTtFQUNBO0VBQ0E7RUFDQTtFQUNBOztBQUVBO0VBVEo7SUFVUTtJQUVBO0lBQ0E7OztBQUdKO0VBQ0k7O0FBR0o7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7O0FBRUE7RUFSSjtJQVNRO0lBQ0E7OztBQUdKO0VBQ0k7O0FBWUo7RUFDSTtFQUNBOztBQUVBO0VBSko7SUFLUTs7O0FBR0o7RUFoQkE7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOztBQWNJO0VBbkJKO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQWdCUTtFQ3BEaEI7RUFDQTtFRHNEZ0I7O0FBRUE7RUFDSTs7QUFHSjtFQUNJOztBQUlaO0FBQUE7RUFFSTtFQUNBOztBQUVKO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QUFHSjtFQUNJOztBQUlSO0VBQ0k7RUFDQTtFQUNBOztBQUVBO0VBQ0k7O0FBSVI7RUFDSTtFQUVBO0VBQ0E7RUNsSFI7RUFDQTs7QURxSFE7RUN0R1I7RUFDQTtFRHdHWTtFQUNBO0VBQ0E7RUN4RVo7RUFDQTtFQUNBO0VBQ0E7RUFqQ0E7O0FBRUE7RUFDSTs7QUFnQkE7RUFDSTtFQUNBOztBQUVKO0VBQ0k7O0FBZVI7RUFFSTs7QURpRVE7RUFDSTs7QUNsR1o7RUFDSTtFQUNBLGdCQUpjOztBQU1sQjtFQUNJOztBRHFHUjtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7O0FBRUE7RUFDSTs7QUFFQTtFQUhKO0lBSVE7OztBQUtaO0VBQ0k7RUFFQTtFQUNBO0VBQ0E7RUFDQTs7QUFFQTtFQVJKO0lBU1E7OztBQUlBO0VBREo7SUFFUTs7O0FBS1o7RUN0S0E7RUFDQTtFQUNBO0VEdUtJOztBQUVBO0VBQ0k7RUFDQTs7QUFFQTtFQUNJOztBQUdKO0VBQ0k7O0FBR0o7RUFDSTs7QUFJSjtFQUNJOztBQUVBO0VBQ0k7O0FBTWhCO0VBQ0k7RUFDQTs7QUFFQTtFQUpKO0lBS1E7OztBQUlSO0VBQ0k7O0FBRUE7RUFISjtJQUlRIiwic291cmNlc0NvbnRlbnQiOlsiQHVzZSAnc2FzczptYXAnO1xuQHVzZSAnLi4vLi4vc3R5bGVzL3ZhcmlhYmxlcyc7XG5AdXNlICcuLi8uLi9zdHlsZXMvbWl4aW5zJztcblxuJGljb25TaXplOiAxOHB4O1xuJHRvZ2dsZVNpemU6IDEwcHg7XG4kbGVmdE9mZnNldDogNTdweDtcblxuQG1peGluIHRvYy1oZWFkZXIge1xuICAgIEBpbmNsdWRlIG1peGlucy50ZXh0LXNpemUoYm9keS0yKTtcbiAgICBmb250LXdlaWdodDogNTAwO1xufVxuXG4uZGMtdG9jIHtcbiAgICAkY2xhc3M6ICY7XG5cbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgaGVpZ2h0OiBjYWxjKDEwMHZoIC0gdmFyKC0tZGMtaGVhZGVyLWhlaWdodCwgI3t2YXJpYWJsZXMuJGhlYWRlckhlaWdodH0pKTtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIGJvcmRlci1yaWdodDogMXB4IHNvbGlkIHZhcigtLWctY29sb3ItbGluZS1nZW5lcmljKTtcblxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiBtYXAuZ2V0KHZhcmlhYmxlcy4kc2NyZWVuQnJlYWtwb2ludHMsICdtZCcpIC0gMSkge1xuICAgICAgICBwYWRkaW5nOiAxMnB4IDE2cHggMHB4O1xuXG4gICAgICAgIGJvcmRlci1yaWdodDogbm9uZTtcbiAgICAgICAgb3ZlcmZsb3cteTogYXV0bztcbiAgICB9XG5cbiAgICAmX19lbXB0eSB7XG4gICAgICAgIHBhZGRpbmc6IDVweCAxNXB4IDVweCAyNHB4O1xuICAgIH1cblxuICAgICZfX3RvcCB7XG4gICAgICAgIGZsZXgtZ3JvdzogMDtcbiAgICAgICAgZmxleC1zaHJpbms6IDA7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xuICAgICAgICBwYWRkaW5nOiAxMHB4IDEwcHggOHB4IDA7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDEycHg7XG5cbiAgICAgICAgQG1lZGlhIChtYXgtd2lkdGg6IG1hcC5nZXQodmFyaWFibGVzLiRzY3JlZW5CcmVha3BvaW50cywgJ21kJykgLSAxKSB7XG4gICAgICAgICAgICBwYWRkaW5nOiAxMHB4IDEycHggMTBweCAyOHB4O1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgICAgfVxuXG4gICAgICAgICZfc2Nyb2xsZWQge1xuICAgICAgICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHZhcigtLWctY29sb3ItbGluZS1nZW5lcmljKTtcbiAgICAgICAgfVxuXG4gICAgICAgIEBtaXhpbiB0b3AtbWFpbi1iYXNlIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICBhbGlnbi1pdGVtczogZmxleC1zdGFydDtcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICAgICAgICAgIHBhZGRpbmc6IHZhcigtLWctc3BhY2luZy0yKSB2YXIoLS1nLXNwYWNpbmctMyk7XG4gICAgICAgICAgICBnYXA6IHZhcigtLWctc3BhY2luZy0yKTtcbiAgICAgICAgfVxuXG4gICAgICAgICZfd2l0aC1leHRyYS1oZWFkZXIge1xuICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IHZhcigtLWctc3BhY2luZy0xKTtcblxuICAgICAgICAgICAgQG1lZGlhIChtYXgtd2lkdGg6IG1hcC5nZXQodmFyaWFibGVzLiRzY3JlZW5CcmVha3BvaW50cywgJ21kJykgLSAxKSB7XG4gICAgICAgICAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLmRjLXRvY19fdG9wLW1haW4ge1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIHRvcC1tYWluLWJhc2U7XG5cbiAgICAgICAgICAgICAgICAmLWxpbmsge1xuICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSB0b3AtbWFpbi1iYXNlO1xuICAgICAgICAgICAgICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG5cbiAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgbWl4aW5zLnJlc2V0LWxpbmstc3R5bGUoKTtcbiAgICAgICAgICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogM3B4O1xuXG4gICAgICAgICAgICAgICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZDogdmFyKC0tZy1jb2xvci1iYXNlLXNpbXBsZS1ob3Zlcik7XG4gICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICAmX2FjdGl2ZSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiB2YXIoLS1nLWNvbG9yLWJhc2Utc2VsZWN0aW9uKTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIC5kYy10b2NfX3RvcC1oZWFkZXItaWNvbixcbiAgICAgICAgICAgIC5kYy10b2MtbGFiZWxfb2Zmc2V0IHtcbiAgICAgICAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgICAgICAgICAgZmxleC1zaHJpbms6IDA7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAuZGMtdG9jX190b3AtaGVhZGVyIHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICAgICAgICAgICAgICBmbGV4LWdyb3c6IDE7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiB2YXIoLS1nLXRleHQtYm9keS0xLWZvbnQtc2l6ZSk7XG4gICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6IHZhcigtLWctdGV4dC1ib2R5LWZvbnQtd2VpZ2h0KTtcbiAgICAgICAgICAgICAgICBsaW5lLWhlaWdodDogdmFyKC0tZy10ZXh0LWJvZHktMS1saW5lLWhlaWdodCk7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC5kYy10b2NfX2NvbnRlbnQgPiAuZGMtdG9jX19saXN0IHtcbiAgICAgICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IHZhcigtLWctc3BhY2luZy00KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICYtaGVhZGVyLWljb24ge1xuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgIG1hcmdpbi1yaWdodDogNXB4O1xuICAgICAgICAgICAgZmxleC1zaHJpbms6IDA7XG5cbiAgICAgICAgICAgIFtkaXI9J3J0bCddICYge1xuICAgICAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiA1cHg7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAmLWhlYWRlciB7XG4gICAgICAgICAgICBmbGV4LWdyb3c6IDA7XG4gICAgICAgICAgICAkaGVhZGVyQ2xhc3M6ICY7XG4gICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgICBmb250LXdlaWdodDogNTAwO1xuXG4gICAgICAgICAgICBAaW5jbHVkZSBtaXhpbnMudGV4dC1zaXplKGJvZHktMyk7XG5cbiAgICAgICAgICAgICZfbGluayB7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgbWl4aW5zLnJlc2V0LWxpbmstc3R5bGUoKTtcblxuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgICAgICAgICBib3JkZXItcmFkaXVzOiB2YXIoLS1nLWZvY3VzLWJvcmRlci1yYWRpdXMpO1xuXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgbWl4aW5zLmxpbmsoKTtcblxuICAgICAgICAgICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgICAgICAgICBjb2xvcjogdmFyKC0tZy1jb2xvci10ZXh0LXByaW1hcnkpO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIG1peGlucy5mb2N1c2FibGUoKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX2JvdHRvbSB7XG4gICAgICAgIGZsZXgtZ3JvdzogMDtcbiAgICAgICAgZmxleC1zaHJpbms6IDA7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIHBhZGRpbmc6IDRweCAxMHB4IDIwcHggMDtcblxuICAgICAgICAmX3Njcm9sbGVkIHtcbiAgICAgICAgICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCB2YXIoLS1nLWNvbG9yLWxpbmUtZ2VuZXJpYyk7XG5cbiAgICAgICAgICAgIEBtZWRpYSAobWF4LXdpZHRoOiBtYXAuZ2V0KHZhcmlhYmxlcy4kc2NyZWVuQnJlYWtwb2ludHMsICdtZCcpIC0gMSkge1xuICAgICAgICAgICAgICAgIGJvcmRlci10b3A6IDA7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX19jb250ZW50IHtcbiAgICAgICAgLS1nLXNjcm9sbGJhci13aWR0aDogNnB4O1xuXG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgZmxleC1ncm93OiAxO1xuICAgICAgICBvdmVyZmxvdy15OiBhdXRvO1xuICAgICAgICBzY3JvbGxiYXItd2lkdGg6IHRoaW47XG5cbiAgICAgICAgQG1lZGlhIChtYXgtd2lkdGg6IG1hcC5nZXQodmFyaWFibGVzLiRzY3JlZW5CcmVha3BvaW50cywgJ21kJykgLSAxKSB7XG4gICAgICAgICAgICBvdmVyZmxvdy15OiB1bnNldDtcbiAgICAgICAgfVxuXG4gICAgICAgICZfb2Zmc2V0X3RvcCB7XG4gICAgICAgICAgICBAbWVkaWEgKG1pbi13aWR0aDogbWFwLmdldCh2YXJpYWJsZXMuJHNjcmVlbkJyZWFrcG9pbnRzLCAnbWQnKSkge1xuICAgICAgICAgICAgICAgIHBhZGRpbmctdG9wOiAxMnB4O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9fbGlzdCB7XG4gICAgICAgIEBpbmNsdWRlIG1peGlucy5yZXNldC1saXN0LXN0eWxlKCk7XG5cbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG5cbiAgICAgICAgJi1pdGVtIHtcbiAgICAgICAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgICAgICAgIHVzZXItc2VsZWN0OiBub25lO1xuXG4gICAgICAgICAgICAmX2xhYmVsZWQge1xuICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6IDE2cHg7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICZfbWFpbiA+ICo6Zmlyc3QtY2hpbGQge1xuICAgICAgICAgICAgICAgIGNvbG9yOiB2YXIoLS1nLWNvbG9yLXRleHQtcHJpbWFyeSk7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICY6bm90KCZfb3BlbmVkKSA+ICN7JGNsYXNzfV9fbGlzdCB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLy8gcmVjdXJjaXZlIHBhZGRpbmdcbiAgICAgICAgICAgICY6bm90KCZfbGFiZWxlZCkgPiAjeyRjbGFzc31fX2xpc3Qge1xuICAgICAgICAgICAgICAgIHBhZGRpbmctbGVmdDogMjBweDtcblxuICAgICAgICAgICAgICAgIFtkaXI9J3J0bCddICYge1xuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAyMHB4O1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX2NvbnRlbnQgPiAmX19saXN0IHtcbiAgICAgICAgcGFkZGluZy1yaWdodDogMjFweDtcbiAgICAgICAgcGFkZGluZy1ib3R0b206IDMwcHg7XG5cbiAgICAgICAgQG1lZGlhIChtYXgtd2lkdGg6IG1hcC5nZXQodmFyaWFibGVzLiRzY3JlZW5CcmVha3BvaW50cywgJ21kJykgLSAxKSB7XG4gICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAwO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9fY29udGVudF93aXRoLWV4dHJhLWhlYWRlciA+ICZfX2xpc3Qge1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAxMHB4O1xuXG4gICAgICAgIEBtZWRpYSAobWF4LXdpZHRoOiAje21hcC5nZXQodmFyaWFibGVzLiRzY3JlZW5CcmVha3BvaW50cywgJ21kJykgLSAxcHh9KSB7XG4gICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAwO1xuICAgICAgICB9XG4gICAgfVxufVxuIiwiQHVzZSAnc2FzczptYXAnO1xuQHVzZSAndmFyaWFibGVzJztcblxuQG1peGluIHRleHQtc2l6ZSgkbmFtZSkge1xuICAgIGZvbnQtc2l6ZTogdmFyKC0tZy10ZXh0LSN7JG5hbWV9LWZvbnQtc2l6ZSk7XG4gICAgbGluZS1oZWlnaHQ6IHZhcigtLWctdGV4dC0jeyRuYW1lfS1saW5lLWhlaWdodCk7XG59XG5cbkBtaXhpbiByZXNldC1saXN0LXN0eWxlKCkge1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiAwO1xuICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG59XG5cbkBtaXhpbiBmaXhBbmNob3JQb3NpdGlvbigkb2Zmc2V0OiAwcHgpIHtcbiAgICBwYWRkaW5nLXRvcDogY2FsYyh2YXIoLS1kYy1oZWFkZXItaGVpZ2h0LCAje3ZhcmlhYmxlcy4kaGVhZGVySGVpZ2h0fSkpO1xuICAgIG1hcmdpbi10b3A6IGNhbGMoI3skb2Zmc2V0fSAtIHZhcigtLWRjLWhlYWRlci1oZWlnaHQsICN7dmFyaWFibGVzLiRoZWFkZXJIZWlnaHR9KSk7XG59XG5cbkBtaXhpbiByZXNldC1saW5rLXN0eWxlKCkge1xuICAgIGNvbG9yOiBpbmhlcml0O1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbn1cblxuQG1peGluIGlzbGFuZHMtZm9jdXMoKSB7XG4gICAgb3V0bGluZTogbm9uZTtcblxuICAgIC51dGlsaXR5Zm9jdXMgJjpmb2N1cyB7XG4gICAgICAgIG91dGxpbmU6IDJweCBzb2xpZCAjZmZkYjRkO1xuICAgIH1cbn1cblxuQG1peGluIGZvY3VzYWJsZSgkb2Zmc2V0OiAwLCAkbW9kZTogJ291dGxpbmUnKSB7XG4gICAgQGlmICRtb2RlID09ICdvdXRsaW5lJyB7XG4gICAgICAgICY6Zm9jdXMge1xuICAgICAgICAgICAgb3V0bGluZTogMnB4IHNvbGlkIHZhcigtLWctY29sb3ItbGluZS1mb2N1cyk7XG4gICAgICAgICAgICBvdXRsaW5lLW9mZnNldDogJG9mZnNldDtcbiAgICAgICAgfVxuICAgICAgICAmOmZvY3VzOm5vdCg6Zm9jdXMtdmlzaWJsZSkge1xuICAgICAgICAgICAgb3V0bGluZTogMDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIEBpZiAkbW9kZSA9PSAnYm94LXNoYWRvdycge1xuICAgICAgICAmOmZvY3VzIHtcbiAgICAgICAgICAgIGJveC1zaGFkb3c6IDAgMCAwIDJweCB2YXIoLS1nLWNvbG9yLWxpbmUtZm9jdXMpO1xuICAgICAgICAgICAgb3V0bGluZTogMDtcbiAgICAgICAgfVxuICAgICAgICAmOmZvY3VzOm5vdCg6Zm9jdXMtdmlzaWJsZSkge1xuICAgICAgICAgICAgYm94LXNoYWRvdzogbm9uZTtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuQG1peGluIGxpbmsoKSB7XG4gICAgY29sb3I6IHZhcigtLWctY29sb3ItdGV4dC1saW5rKTtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIGJvcmRlci1yYWRpdXM6IHZhcigtLWctZm9jdXMtYm9yZGVyLXJhZGl1cyk7XG5cbiAgICBAaW5jbHVkZSBpc2xhbmRzLWZvY3VzKCk7XG5cbiAgICBAaW5jbHVkZSBmb2N1c2FibGUoMCwgJ2JveC1zaGFkb3cnKTtcblxuICAgICY6aG92ZXIsXG4gICAgJjphY3RpdmUge1xuICAgICAgICBjb2xvcjogdmFyKC0tZy1jb2xvci10ZXh0LWxpbmstaG92ZXIpO1xuICAgIH1cbn1cblxuQG1peGluIGhlYWRpbmcxKCkge1xuICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG5cbiAgICBAaW5jbHVkZSB0ZXh0LXNpemUoZGlzcGxheS0zKTtcblxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiBtYXAuZ2V0KHZhcmlhYmxlcy4kc2NyZWVuQnJlYWtwb2ludHMsICdtZCcpIC0gMSkge1xuICAgICAgICBAaW5jbHVkZSB0ZXh0LXNpemUoZGlzcGxheS0yKTtcbiAgICB9XG59XG5cbkBtaXhpbiBoZWFkaW5nMigpIHtcbiAgICBmb250LXdlaWdodDogNTAwO1xuXG4gICAgQGluY2x1ZGUgdGV4dC1zaXplKGRpc3BsYXktMSk7XG59XG5cbkBtaXhpbiBoZWFkaW5nMygpIHtcbiAgICBmb250LXdlaWdodDogNTAwO1xuXG4gICAgQGluY2x1ZGUgdGV4dC1zaXplKGhlYWRlci0yKTtcbn1cblxuQG1peGluIGhlYWRpbmc0KCkge1xuICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG5cbiAgICBAaW5jbHVkZSB0ZXh0LXNpemUoaGVhZGVyLTEpO1xufVxuXG5AbWl4aW4gaGVhZGluZzUoKSB7XG4gICAgZm9udC13ZWlnaHQ6IDUwMDtcblxuICAgIEBpbmNsdWRlIHRleHQtc2l6ZShib2R5LTMpO1xufVxuXG5AbWl4aW4gaGVhZGluZzYoKSB7XG4gICAgZm9udC13ZWlnaHQ6IDQwMDtcblxuICAgIEBpbmNsdWRlIHRleHQtc2l6ZShib2R5LTMpO1xufVxuXG5AbWl4aW4gY29udHJpYnV0b3JzLXRleHQoKSB7XG4gICAgZm9udC1zaXplOiAxM3B4O1xuICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgbWFyZ2luLXJpZ2h0OiA1cHg7XG4gICAgYWxpZ24tc2VsZjogY2VudGVyO1xufVxuXG5AbWl4aW4gdGV4dC1ib2R5LTEoKSB7XG4gICAgZm9udC1zaXplOiB2YXIoLS1nLXRleHQtYm9keS0xLWZvbnQtc2l6ZSk7XG4gICAgbGluZS1oZWlnaHQ6IHZhcigtLWctdGV4dC1ib2R5LTEtbGluZS1oZWlnaHQpO1xuICAgIGZvbnQtd2VpZ2h0OiB2YXIoLS1nLXRleHQtYm9keS1mb250LXdlaWdodCk7XG59XG5cbkBtaXhpbiBkZXNrdG9wLW9ubHkoKSB7XG4gICAgQG1lZGlhIChtYXgtd2lkdGg6IG1hcC5nZXQodmFyaWFibGVzLiRzY3JlZW5CcmVha3BvaW50cywgJ21kJykgLSAxKSB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxufVxuXG5AbWl4aW4gZGVza3RvcC10YWJsZXQtb25seSgpIHtcbiAgICBAbWVkaWEgKG1heC13aWR0aDogbWFwLmdldCh2YXJpYWJsZXMuJHNjcmVlbkJyZWFrcG9pbnRzLCAnc20nKSAtIDEpIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG59XG5cbkBtaXhpbiBtb2JpbGUtdGFibGV0LW9ubHkoKSB7XG4gICAgQG1lZGlhIChtaW4td2lkdGg6IG1hcC5nZXQodmFyaWFibGVzLiRzY3JlZW5CcmVha3BvaW50cywgJ21kJykpIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG59XG5cbkBtaXhpbiBtb2JpbGUtb25seSgpIHtcbiAgICBAbWVkaWEgKG1pbi13aWR0aDogbWFwLmdldCh2YXJpYWJsZXMuJHNjcmVlbkJyZWFrcG9pbnRzLCAnc20nKSkge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cbn1cblxuQG1peGluIGdyYXZpdHktdWktdGV4dC1zaXplcygkZGVsdGEpIHtcbiAgICAtLWctdGV4dC1ib2R5LTEtZm9udC1zaXplOiAjezEzcHggKyAkZGVsdGF9O1xuICAgIC0tZy10ZXh0LWJvZHktMS1saW5lLWhlaWdodDogI3sxOHB4ICsgJGRlbHRhfTtcbiAgICAtLWctdGV4dC1ib2R5LTItZm9udC1zaXplOiAjezE1cHggKyAkZGVsdGF9O1xuICAgIC0tZy10ZXh0LWJvZHktMi1saW5lLWhlaWdodDogI3syMHB4ICsgJGRlbHRhfTtcbiAgICAtLWctdGV4dC1ib2R5LTMtZm9udC1zaXplOiAjezE3cHggKyAkZGVsdGF9O1xuICAgIC0tZy10ZXh0LWJvZHktMy1saW5lLWhlaWdodDogI3syNHB4ICsgJGRlbHRhfTtcbiAgICAtLWctdGV4dC1ib2R5LXNob3J0LWZvbnQtc2l6ZTogI3sxM3B4ICsgJGRlbHRhfTtcbiAgICAtLWctdGV4dC1jYXB0aW9uLTEtZm9udC1zaXplOiAjezlweCArICRkZWx0YX07XG4gICAgLS1nLXRleHQtY2FwdGlvbi0yLWZvbnQtc2l6ZTogI3sxMXB4ICsgJGRlbHRhfTtcbiAgICAtLWctdGV4dC1oZWFkZXItMS1mb250LXNpemU6ICN7MjBweCArICRkZWx0YX07XG4gICAgLS1nLXRleHQtaGVhZGVyLTItZm9udC1zaXplOiAjezI0cHggKyAkZGVsdGF9O1xuICAgIC0tZy10ZXh0LXN1YmhlYWRlci0xLWZvbnQtc2l6ZTogI3sxM3B4ICsgJGRlbHRhfTtcbiAgICAtLWctdGV4dC1zdWJoZWFkZXItMi1mb250LXNpemU6ICN7MTVweCArICRkZWx0YX07XG4gICAgLS1nLXRleHQtc3ViaGVhZGVyLTMtZm9udC1zaXplOiAjezE3cHggKyAkZGVsdGF9O1xuICAgIC0tZy10ZXh0LWRpc3BsYXktMS1mb250LXNpemU6ICN7MjhweCArICRkZWx0YX07XG4gICAgLS1nLXRleHQtZGlzcGxheS0yLWZvbnQtc2l6ZTogI3szMnB4ICsgJGRlbHRhfTtcbiAgICAtLWctdGV4dC1kaXNwbGF5LTMtZm9udC1zaXplOiAjezQwcHggKyAkZGVsdGF9O1xuICAgIC0tZy10ZXh0LWRpc3BsYXktNC1mb250LXNpemU6ICN7NDhweCArICRkZWx0YX07XG4gICAgLS1nLXRleHQtY29kZS0xLWZvbnQtc2l6ZTogI3sxMnB4ICsgJGRlbHRhfTtcbiAgICAtLWctdGV4dC1jb2RlLTItZm9udC1zaXplOiAjezE0cHggKyAkZGVsdGF9O1xuICAgIC0tZy10ZXh0LWNvZGUtMy1mb250LXNpemU6ICN7MTZweCArICRkZWx0YX07XG4gICAgLS1nLXRleHQtY29kZS1pbmxpbmUtMS1mb250LXNpemU6ICN7MTJweCArICRkZWx0YX07XG4gICAgLS1nLXRleHQtY29kZS1pbmxpbmUtMi1mb250LXNpemU6ICN7MTRweCArICRkZWx0YX07XG4gICAgLS1nLXRleHQtY29kZS1pbmxpbmUtMy1mb250LXNpemU6ICN7MTZweCArICRkZWx0YX07XG5cbiAgICAtLXlmbS1mb250LXNpemU6IHZhcigtLWctdGV4dC1ib2R5LTItZm9udC1zaXplKTtcbiAgICAtLXlmbS1mb250LWxpbmUtaGVpZ2h0OiB2YXIoLS1nLXRleHQtYm9keS0yLWxpbmUtaGVpZ2h0KTtcbiAgICAtLXlmbS1mb250LXNpemUtaDI6IHZhcigtLWctdGV4dC1oZWFkZXItMi1mb250LXNpemUpO1xuICAgIC0teWZtLWZvbnQtc2l6ZS1oMzogdmFyKC0tZy10ZXh0LWhlYWRlci0xLWZvbnQtc2l6ZSk7XG4gICAgLS15Zm0tZm9udC1zaXplLWg0OiB2YXIoLS1nLXRleHQtc3ViaGVhZGVyLTMtZm9udC1zaXplKTtcbiAgICAtLXlmbS1mb250LXNpemUtaDU6IHZhcigtLWctdGV4dC1zdWJoZWFkZXItMi1mb250LXNpemUpO1xuICAgIC0teWZtLWZvbnQtc2l6ZS1oNjogdmFyKC0tZy10ZXh0LXN1YmhlYWRlci0xLWZvbnQtc2l6ZSk7XG59XG4iXX0= */", "@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\n@mixin gravity-ui-text-sizes($delta) {\n --g-text-body-1-font-size: #{13px + $delta};\n --g-text-body-1-line-height: #{18px + $delta};\n --g-text-body-2-font-size: #{15px + $delta};\n --g-text-body-2-line-height: #{20px + $delta};\n --g-text-body-3-font-size: #{17px + $delta};\n --g-text-body-3-line-height: #{24px + $delta};\n --g-text-body-short-font-size: #{13px + $delta};\n --g-text-caption-1-font-size: #{9px + $delta};\n --g-text-caption-2-font-size: #{11px + $delta};\n --g-text-header-1-font-size: #{20px + $delta};\n --g-text-header-2-font-size: #{24px + $delta};\n --g-text-subheader-1-font-size: #{13px + $delta};\n --g-text-subheader-2-font-size: #{15px + $delta};\n --g-text-subheader-3-font-size: #{17px + $delta};\n --g-text-display-1-font-size: #{28px + $delta};\n --g-text-display-2-font-size: #{32px + $delta};\n --g-text-display-3-font-size: #{40px + $delta};\n --g-text-display-4-font-size: #{48px + $delta};\n --g-text-code-1-font-size: #{12px + $delta};\n --g-text-code-2-font-size: #{14px + $delta};\n --g-text-code-3-font-size: #{16px + $delta};\n --g-text-code-inline-1-font-size: #{12px + $delta};\n --g-text-code-inline-2-font-size: #{14px + $delta};\n --g-text-code-inline-3-font-size: #{16px + $delta};\n\n --yfm-font-size: var(--g-text-body-2-font-size);\n --yfm-font-line-height: var(--g-text-body-2-line-height);\n --yfm-font-size-h2: var(--g-text-header-2-font-size);\n --yfm-font-size-h3: var(--g-text-header-1-font-size);\n --yfm-font-size-h4: var(--g-text-subheader-3-font-size);\n --yfm-font-size-h5: var(--g-text-subheader-2-font-size);\n --yfm-font-size-h6: var(--g-text-subheader-1-font-size);\n}\n"],
|
|
5
5
|
"mappings": "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",
|
|
6
6
|
"names": []
|
|
@@ -10,6 +10,11 @@ export interface TocProps extends TocData {
|
|
|
10
10
|
singlePage?: boolean;
|
|
11
11
|
onChangeSinglePage?: (value: boolean) => void;
|
|
12
12
|
pdfLink?: string;
|
|
13
|
+
pdfIconConfig?: {
|
|
14
|
+
position?: string;
|
|
15
|
+
size?: 'S' | 'M' | 'L';
|
|
16
|
+
icon?: string;
|
|
17
|
+
};
|
|
13
18
|
}
|
|
14
19
|
interface TocState {
|
|
15
20
|
activeId: string | null | undefined;
|
|
@@ -265,12 +265,13 @@ var Toc = class extends React.Component {
|
|
|
265
265
|
return extraHeader ? this.renderTopWithExtra() : this.renderTopDefault();
|
|
266
266
|
}
|
|
267
267
|
renderBottom() {
|
|
268
|
-
|
|
268
|
+
var _a;
|
|
269
|
+
const { singlePage, onChangeSinglePage, pdfLink, pdfIconConfig } = this.props;
|
|
269
270
|
const { contentScrolled } = this.state;
|
|
270
271
|
return /* @__PURE__ */ React.createElement("div", { className: b("bottom", { scrolled: contentScrolled }) }, /* @__PURE__ */ React.createElement(
|
|
271
272
|
ControlsLayout,
|
|
272
273
|
{
|
|
273
|
-
controlSize: ControlSizes.L,
|
|
274
|
+
controlSize: (_a = pdfIconConfig == null ? void 0 : pdfIconConfig.size) != null ? _a : ControlSizes.L,
|
|
274
275
|
popupPosition: PopperPosition.TOP_START
|
|
275
276
|
},
|
|
276
277
|
/* @__PURE__ */ React.createElement(
|
|
@@ -278,7 +279,8 @@ var Toc = class extends React.Component {
|
|
|
278
279
|
{
|
|
279
280
|
singlePage,
|
|
280
281
|
onChangeSinglePage,
|
|
281
|
-
pdfLink
|
|
282
|
+
pdfLink,
|
|
283
|
+
pdfIconConfig
|
|
282
284
|
}
|
|
283
285
|
)
|
|
284
286
|
));
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../../src/components/Toc/Toc.tsx"],
|
|
4
|
-
"sourcesContent": ["import type {Router, TocData, TocItem} from '../../models';\n\nimport React from 'react';\nimport {getUniqId} from '@gravity-ui/uikit';\nimport block from 'bem-cn-lite';\nimport omit from 'lodash/omit';\n\nimport {PopperPosition} from '../../hooks';\nimport {ControlSizes} from '../../models';\nimport {isActiveItem, normalizeHash, normalizePath} from '../../utils';\nimport {Controls, ControlsLayout} from '../Controls';\nimport {HTML} from '../HTML';\nimport {TocItem as Item} from '../TocItem';\nimport TocLabel from '../TocLable/TocLabel';\n\nimport {TocItemRegistry} from './TocItemRegistry';\nimport './Toc.scss';\n\nconst b = block('dc-toc');\n\nfunction zip<T>(array: string[], fill: T): Record<string, T> {\n return array.reduce((acc, item) => Object.assign(acc, {[item]: fill}), {});\n}\n\nexport interface TocProps extends TocData {\n router: Router;\n headerHeight?: number;\n tocTitleIcon?: React.ReactNode;\n hideTocHeader?: boolean;\n singlePage?: boolean;\n onChangeSinglePage?: (value: boolean) => void;\n pdfLink?: string;\n}\n\ninterface TocState {\n activeId: string | null | undefined;\n fixedById: Record<string, 'opened' | 'closed'>;\n contentScrolled: boolean;\n registry: TocItemRegistry;\n}\n\nclass Toc extends React.Component<TocProps, TocState> {\n contentRef = React.createRef<HTMLDivElement>();\n rootRef = React.createRef<HTMLDivElement>();\n activeRef = React.createRef<HTMLButtonElement>();\n\n containerEl: HTMLElement | null = null;\n footerEl: HTMLElement | null = null;\n tocTopId: string;\n\n constructor(props: TocProps) {\n super(props);\n\n this.state = this.computeState(this.getInitialState());\n this.tocTopId = getUniqId();\n }\n\n getInitialState() {\n return {\n registry: new TocItemRegistry(this.props.items || [], this.normalizeUrl),\n fixedById: {},\n activeId: null,\n contentScrolled: false,\n };\n }\n\n componentDidMount() {\n this.containerEl = document.querySelector('.Layout__content');\n this.footerEl = document.querySelector('.Footer');\n\n if (this.contentRef && this.contentRef.current) {\n this.contentRef.current.addEventListener('scroll', this.handleContentScroll);\n }\n\n this.scrollToActiveItem();\n }\n\n componentDidUpdate(prevProps: TocProps, prevState: TocState) {\n const {router, singlePage, items} = this.props;\n\n let nextState;\n\n if (prevProps.items !== items) {\n nextState = this.getInitialState();\n }\n\n if (\n prevProps.router.pathname !== router.pathname ||\n prevProps.router.hash !== router.hash ||\n prevProps.singlePage !== singlePage ||\n nextState\n ) {\n nextState = this.computeState(nextState || prevState);\n } else if (prevState.activeId !== this.state.activeId) {\n this.scrollToActiveItem();\n }\n\n if (nextState) {\n this.setState(nextState);\n }\n }\n\n componentWillUnmount() {\n if (this.contentRef && this.contentRef.current) {\n this.contentRef.current.removeEventListener('scroll', this.handleContentScroll);\n }\n }\n\n render() {\n const {items, hideTocHeader, extraHeader} = this.props;\n const content = items ? this.renderList(items) : this.renderEmpty('');\n\n return (\n <nav className={b()} ref={this.rootRef}>\n {this.renderTop()}\n <div\n className={b('content', {\n offset_top: hideTocHeader,\n 'with-extra-header': Boolean(extraHeader),\n })}\n ref={this.contentRef}\n >\n {content}\n </div>\n {this.renderBottom()}\n </nav>\n );\n }\n\n computeState(prevState: TocState) {\n const {router} = this.props;\n const {pathname, hash} = router;\n\n const activeUrl = this.normalizeUrl(pathname, hash);\n const activeId = activeUrl && prevState.registry.getIdByUrl(activeUrl as string);\n\n let fixedById = prevState.fixedById;\n\n if (activeId && prevState.activeId && activeId !== prevState.activeId) {\n const expandedIds = [activeId].concat(prevState.registry.getParentIds(activeId));\n const dropClosedSign = expandedIds.filter((id) => prevState.fixedById[id] === 'closed');\n\n if (dropClosedSign.length) {\n fixedById = omit(fixedById, dropClosedSign);\n }\n }\n\n return {...prevState, activeId, fixedById};\n }\n\n private normalizeUrl = (path: string, hash: string | undefined) => {\n const {singlePage} = this.props;\n\n return singlePage ? normalizeHash(hash) : normalizePath(path);\n };\n\n private renderList = (items: TocItem[]) => {\n const {toggleItem} = this;\n const {singlePage} = this.props;\n const {activeId, fixedById} = this.state;\n\n const activeItem = activeId && this.state.registry.getItemById(activeId);\n const activeScope: Record<string, boolean> = activeItem\n ? zip([activeId].concat(this.state.registry.getParentIds(activeId)), true)\n : {};\n\n return (\n <ul className={b('list')} aria-labelledby={this.tocTopId}>\n {items.map((item, index) => {\n const main = !this.state.registry.getParentId(item.id);\n const active =\n (singlePage && !activeId && index === 0 && main) || item.id === activeId;\n const opened = fixedById[item.id] === 'opened';\n const closed = fixedById[item.id] === 'closed';\n const hasItems = Boolean(item.items && item.items.length > 0);\n const expandable = hasItems && !item.labeled;\n const expanded =\n (expandable &&\n !closed &&\n (item.expanded || activeScope[item.id] || opened)) ||\n (hasItems && Boolean(item.labeled));\n\n const ref = active ? {ref: this.activeRef} : {};\n\n return (\n <li\n key={item.id}\n id={item.id}\n className={b('list-item', {\n main,\n active,\n opened: expanded,\n labeled: item.labeled,\n })}\n >\n <Item\n {...{\n ...item,\n ...ref,\n active,\n expanded,\n expandable,\n toggleItem,\n }}\n />\n {expanded && this.renderList(item.items as TocItem[])}\n </li>\n );\n })}\n </ul>\n );\n };\n\n private renderEmpty(text: string) {\n return <div className={b('empty')}>{text}</div>;\n }\n\n private renderTopMainContent() {\n const {tocTitleIcon, title, label} = this.props;\n const topHeader = (\n <div className={b('top-header')}>\n <HTML>{title}</HTML>\n </div>\n );\n\n return (\n <>\n {tocTitleIcon && (\n <div className={b('top-header-icon')} aria-hidden=\"true\">\n {tocTitleIcon}\n </div>\n )}\n {topHeader}\n {label && <TocLabel label={label} />}\n </>\n );\n }\n\n private renderTopWithExtra() {\n const {router, href, singlePage, extraHeader} = this.props;\n const {contentScrolled} = this.state;\n\n const isActive = href ? isActiveItem(router, href, singlePage) : false;\n const TopMainComponent = href ? 'a' : 'div';\n const topMainProps = href\n ? {href, className: b('top-main-link', {active: isActive}), 'data-router-shallow': true}\n : {className: b('top-main')};\n\n return (\n <div\n className={b('top', {scrolled: contentScrolled, 'with-extra-header': true})}\n id={this.tocTopId}\n >\n {extraHeader}\n <TopMainComponent {...topMainProps}>{this.renderTopMainContent()}</TopMainComponent>\n </div>\n );\n }\n\n private renderTopDefault() {\n const {router, title, href, tocTitleIcon, singlePage, label} = this.props;\n const {contentScrolled} = this.state;\n\n let topHeader;\n if (href) {\n const active = isActiveItem(router, href, singlePage);\n topHeader = (\n <a\n href={href}\n className={b('top-header', {active, link: true})}\n data-router-shallow\n >\n <HTML>{title}</HTML>\n </a>\n );\n } else {\n topHeader = (\n <div className={b('top-header')}>\n <HTML>{title}</HTML>\n </div>\n );\n }\n\n return (\n <div className={b('top', {scrolled: contentScrolled})} id={this.tocTopId}>\n {tocTitleIcon && (\n <div className={b('top-header-icon')} aria-hidden=\"true\">\n {tocTitleIcon}\n </div>\n )}\n {topHeader}\n {label && <TocLabel label={label} />}\n </div>\n );\n }\n\n private renderTop() {\n const {hideTocHeader, extraHeader} = this.props;\n\n if (hideTocHeader) {\n return null;\n }\n\n return extraHeader ? this.renderTopWithExtra() : this.renderTopDefault();\n }\n\n private renderBottom() {\n const {singlePage, onChangeSinglePage, pdfLink} = this.props;\n const {contentScrolled} = this.state;\n\n return (\n <div className={b('bottom', {scrolled: contentScrolled})}>\n <ControlsLayout\n controlSize={ControlSizes.L}\n popupPosition={PopperPosition.TOP_START}\n >\n <Controls\n singlePage={singlePage}\n onChangeSinglePage={onChangeSinglePage}\n pdfLink={pdfLink}\n />\n </ControlsLayout>\n </div>\n );\n }\n\n private scrollToItem = () => {\n if (!this.activeRef.current) {\n return;\n }\n\n const itemElement = this.activeRef.current;\n const itemHeight = itemElement.offsetHeight ?? 0;\n const itemOffset = itemElement.offsetTop;\n const scrollableParent = itemElement.offsetParent as HTMLDivElement | null;\n\n if (!scrollableParent) {\n return;\n }\n\n const scrollableHeight = scrollableParent.offsetHeight;\n const scrollableOffset = scrollableParent.scrollTop;\n\n const itemVisible =\n itemOffset >= scrollableOffset &&\n itemOffset <= scrollableOffset + scrollableHeight - itemHeight;\n\n if (!itemVisible) {\n scrollableParent.scrollTop = itemOffset - Math.floor(scrollableHeight / 2) + itemHeight;\n }\n };\n\n private scrollToActiveItem = () => {\n if (!this.activeRef.current) {\n return;\n }\n\n this.scrollToItem();\n };\n\n private handleContentScroll = () => {\n const contentNode = this.contentRef.current;\n const contentScrolled = contentNode ? contentNode.scrollTop > 0 : false;\n if (contentScrolled !== this.state.contentScrolled) {\n this.setState({contentScrolled});\n }\n };\n\n private openItem = (id: string) => {\n this.setState((prevState) => ({\n ...prevState,\n fixedById: {\n ...prevState.fixedById,\n [id]: 'opened',\n },\n }));\n };\n\n private closeItem = (id: string) => {\n const ids = this.state.registry.getChildIds(id);\n\n this.setState((prevState) => ({\n ...prevState,\n fixedById: {\n ...omit(prevState.fixedById, ids),\n [id]: 'closed',\n },\n }));\n };\n\n private toggleItem = (id: string, opened: boolean) => {\n if (opened) {\n this.closeItem(id);\n } else {\n this.openItem(id);\n }\n };\n}\n\nexport default Toc;\n"],
|
|
5
|
-
"mappings": ";;;;;;;;;;;;;;;;;;;;;;AAEA,OAAO,WAAW;AAClB,SAAQ,iBAAgB;AACxB,OAAO,WAAW;AAClB,OAAO,UAAU;AAEjB,SAAQ,sBAAqB;AAC7B,SAAQ,oBAAmB;AAC3B,SAAQ,cAAc,eAAe,qBAAoB;AACzD,SAAQ,UAAU,sBAAqB;AACvC,SAAQ,YAAW;AACnB,SAAQ,WAAW,YAAW;AAC9B,OAAO,cAAc;AAErB,SAAQ,uBAAsB;AAC9B,OAAO;AAEP,IAAM,IAAI,MAAM,QAAQ;AAExB,SAAS,IAAO,OAAiB,MAA4B;AACzD,SAAO,MAAM,OAAO,CAAC,KAAK,SAAS,OAAO,OAAO,KAAK,EAAC,CAAC,IAAI,GAAG,KAAI,CAAC,GAAG,CAAC,CAAC;AAC7E;
|
|
4
|
+
"sourcesContent": ["import type {Router, TocData, TocItem} from '../../models';\n\nimport React from 'react';\nimport {getUniqId} from '@gravity-ui/uikit';\nimport block from 'bem-cn-lite';\nimport omit from 'lodash/omit';\n\nimport {PopperPosition} from '../../hooks';\nimport {ControlSizes} from '../../models';\nimport {isActiveItem, normalizeHash, normalizePath} from '../../utils';\nimport {Controls, ControlsLayout} from '../Controls';\nimport {HTML} from '../HTML';\nimport {TocItem as Item} from '../TocItem';\nimport TocLabel from '../TocLable/TocLabel';\n\nimport {TocItemRegistry} from './TocItemRegistry';\nimport './Toc.scss';\n\nconst b = block('dc-toc');\n\nfunction zip<T>(array: string[], fill: T): Record<string, T> {\n return array.reduce((acc, item) => Object.assign(acc, {[item]: fill}), {});\n}\n\nexport interface TocProps extends TocData {\n router: Router;\n headerHeight?: number;\n tocTitleIcon?: React.ReactNode;\n hideTocHeader?: boolean;\n singlePage?: boolean;\n onChangeSinglePage?: (value: boolean) => void;\n pdfLink?: string;\n pdfIconConfig?: {position?: string; size?: 'S' | 'M' | 'L'; icon?: string};\n}\n\ninterface TocState {\n activeId: string | null | undefined;\n fixedById: Record<string, 'opened' | 'closed'>;\n contentScrolled: boolean;\n registry: TocItemRegistry;\n}\n\nclass Toc extends React.Component<TocProps, TocState> {\n contentRef = React.createRef<HTMLDivElement>();\n rootRef = React.createRef<HTMLDivElement>();\n activeRef = React.createRef<HTMLButtonElement>();\n\n containerEl: HTMLElement | null = null;\n footerEl: HTMLElement | null = null;\n tocTopId: string;\n\n constructor(props: TocProps) {\n super(props);\n\n this.state = this.computeState(this.getInitialState());\n this.tocTopId = getUniqId();\n }\n\n getInitialState() {\n return {\n registry: new TocItemRegistry(this.props.items || [], this.normalizeUrl),\n fixedById: {},\n activeId: null,\n contentScrolled: false,\n };\n }\n\n componentDidMount() {\n this.containerEl = document.querySelector('.Layout__content');\n this.footerEl = document.querySelector('.Footer');\n\n if (this.contentRef && this.contentRef.current) {\n this.contentRef.current.addEventListener('scroll', this.handleContentScroll);\n }\n\n this.scrollToActiveItem();\n }\n\n componentDidUpdate(prevProps: TocProps, prevState: TocState) {\n const {router, singlePage, items} = this.props;\n\n let nextState;\n\n if (prevProps.items !== items) {\n nextState = this.getInitialState();\n }\n\n if (\n prevProps.router.pathname !== router.pathname ||\n prevProps.router.hash !== router.hash ||\n prevProps.singlePage !== singlePage ||\n nextState\n ) {\n nextState = this.computeState(nextState || prevState);\n } else if (prevState.activeId !== this.state.activeId) {\n this.scrollToActiveItem();\n }\n\n if (nextState) {\n this.setState(nextState);\n }\n }\n\n componentWillUnmount() {\n if (this.contentRef && this.contentRef.current) {\n this.contentRef.current.removeEventListener('scroll', this.handleContentScroll);\n }\n }\n\n render() {\n const {items, hideTocHeader, extraHeader} = this.props;\n const content = items ? this.renderList(items) : this.renderEmpty('');\n\n return (\n <nav className={b()} ref={this.rootRef}>\n {this.renderTop()}\n <div\n className={b('content', {\n offset_top: hideTocHeader,\n 'with-extra-header': Boolean(extraHeader),\n })}\n ref={this.contentRef}\n >\n {content}\n </div>\n {this.renderBottom()}\n </nav>\n );\n }\n\n computeState(prevState: TocState) {\n const {router} = this.props;\n const {pathname, hash} = router;\n\n const activeUrl = this.normalizeUrl(pathname, hash);\n const activeId = activeUrl && prevState.registry.getIdByUrl(activeUrl as string);\n\n let fixedById = prevState.fixedById;\n\n if (activeId && prevState.activeId && activeId !== prevState.activeId) {\n const expandedIds = [activeId].concat(prevState.registry.getParentIds(activeId));\n const dropClosedSign = expandedIds.filter((id) => prevState.fixedById[id] === 'closed');\n\n if (dropClosedSign.length) {\n fixedById = omit(fixedById, dropClosedSign);\n }\n }\n\n return {...prevState, activeId, fixedById};\n }\n\n private normalizeUrl = (path: string, hash: string | undefined) => {\n const {singlePage} = this.props;\n\n return singlePage ? normalizeHash(hash) : normalizePath(path);\n };\n\n private renderList = (items: TocItem[]) => {\n const {toggleItem} = this;\n const {singlePage} = this.props;\n const {activeId, fixedById} = this.state;\n\n const activeItem = activeId && this.state.registry.getItemById(activeId);\n const activeScope: Record<string, boolean> = activeItem\n ? zip([activeId].concat(this.state.registry.getParentIds(activeId)), true)\n : {};\n\n return (\n <ul className={b('list')} aria-labelledby={this.tocTopId}>\n {items.map((item, index) => {\n const main = !this.state.registry.getParentId(item.id);\n const active =\n (singlePage && !activeId && index === 0 && main) || item.id === activeId;\n const opened = fixedById[item.id] === 'opened';\n const closed = fixedById[item.id] === 'closed';\n const hasItems = Boolean(item.items && item.items.length > 0);\n const expandable = hasItems && !item.labeled;\n const expanded =\n (expandable &&\n !closed &&\n (item.expanded || activeScope[item.id] || opened)) ||\n (hasItems && Boolean(item.labeled));\n\n const ref = active ? {ref: this.activeRef} : {};\n\n return (\n <li\n key={item.id}\n id={item.id}\n className={b('list-item', {\n main,\n active,\n opened: expanded,\n labeled: item.labeled,\n })}\n >\n <Item\n {...{\n ...item,\n ...ref,\n active,\n expanded,\n expandable,\n toggleItem,\n }}\n />\n {expanded && this.renderList(item.items as TocItem[])}\n </li>\n );\n })}\n </ul>\n );\n };\n\n private renderEmpty(text: string) {\n return <div className={b('empty')}>{text}</div>;\n }\n\n private renderTopMainContent() {\n const {tocTitleIcon, title, label} = this.props;\n const topHeader = (\n <div className={b('top-header')}>\n <HTML>{title}</HTML>\n </div>\n );\n\n return (\n <>\n {tocTitleIcon && (\n <div className={b('top-header-icon')} aria-hidden=\"true\">\n {tocTitleIcon}\n </div>\n )}\n {topHeader}\n {label && <TocLabel label={label} />}\n </>\n );\n }\n\n private renderTopWithExtra() {\n const {router, href, singlePage, extraHeader} = this.props;\n const {contentScrolled} = this.state;\n\n const isActive = href ? isActiveItem(router, href, singlePage) : false;\n const TopMainComponent = href ? 'a' : 'div';\n const topMainProps = href\n ? {href, className: b('top-main-link', {active: isActive}), 'data-router-shallow': true}\n : {className: b('top-main')};\n\n return (\n <div\n className={b('top', {scrolled: contentScrolled, 'with-extra-header': true})}\n id={this.tocTopId}\n >\n {extraHeader}\n <TopMainComponent {...topMainProps}>{this.renderTopMainContent()}</TopMainComponent>\n </div>\n );\n }\n\n private renderTopDefault() {\n const {router, title, href, tocTitleIcon, singlePage, label} = this.props;\n const {contentScrolled} = this.state;\n\n let topHeader;\n if (href) {\n const active = isActiveItem(router, href, singlePage);\n topHeader = (\n <a\n href={href}\n className={b('top-header', {active, link: true})}\n data-router-shallow\n >\n <HTML>{title}</HTML>\n </a>\n );\n } else {\n topHeader = (\n <div className={b('top-header')}>\n <HTML>{title}</HTML>\n </div>\n );\n }\n\n return (\n <div className={b('top', {scrolled: contentScrolled})} id={this.tocTopId}>\n {tocTitleIcon && (\n <div className={b('top-header-icon')} aria-hidden=\"true\">\n {tocTitleIcon}\n </div>\n )}\n {topHeader}\n {label && <TocLabel label={label} />}\n </div>\n );\n }\n\n private renderTop() {\n const {hideTocHeader, extraHeader} = this.props;\n\n if (hideTocHeader) {\n return null;\n }\n\n return extraHeader ? this.renderTopWithExtra() : this.renderTopDefault();\n }\n\n private renderBottom() {\n const {singlePage, onChangeSinglePage, pdfLink, pdfIconConfig} = this.props;\n const {contentScrolled} = this.state;\n\n return (\n <div className={b('bottom', {scrolled: contentScrolled})}>\n <ControlsLayout\n controlSize={(pdfIconConfig?.size as ControlSizes) ?? ControlSizes.L}\n popupPosition={PopperPosition.TOP_START}\n >\n <Controls\n singlePage={singlePage}\n onChangeSinglePage={onChangeSinglePage}\n pdfLink={pdfLink}\n pdfIconConfig={pdfIconConfig}\n />\n </ControlsLayout>\n </div>\n );\n }\n\n private scrollToItem = () => {\n if (!this.activeRef.current) {\n return;\n }\n\n const itemElement = this.activeRef.current;\n const itemHeight = itemElement.offsetHeight ?? 0;\n const itemOffset = itemElement.offsetTop;\n const scrollableParent = itemElement.offsetParent as HTMLDivElement | null;\n\n if (!scrollableParent) {\n return;\n }\n\n const scrollableHeight = scrollableParent.offsetHeight;\n const scrollableOffset = scrollableParent.scrollTop;\n\n const itemVisible =\n itemOffset >= scrollableOffset &&\n itemOffset <= scrollableOffset + scrollableHeight - itemHeight;\n\n if (!itemVisible) {\n scrollableParent.scrollTop = itemOffset - Math.floor(scrollableHeight / 2) + itemHeight;\n }\n };\n\n private scrollToActiveItem = () => {\n if (!this.activeRef.current) {\n return;\n }\n\n this.scrollToItem();\n };\n\n private handleContentScroll = () => {\n const contentNode = this.contentRef.current;\n const contentScrolled = contentNode ? contentNode.scrollTop > 0 : false;\n if (contentScrolled !== this.state.contentScrolled) {\n this.setState({contentScrolled});\n }\n };\n\n private openItem = (id: string) => {\n this.setState((prevState) => ({\n ...prevState,\n fixedById: {\n ...prevState.fixedById,\n [id]: 'opened',\n },\n }));\n };\n\n private closeItem = (id: string) => {\n const ids = this.state.registry.getChildIds(id);\n\n this.setState((prevState) => ({\n ...prevState,\n fixedById: {\n ...omit(prevState.fixedById, ids),\n [id]: 'closed',\n },\n }));\n };\n\n private toggleItem = (id: string, opened: boolean) => {\n if (opened) {\n this.closeItem(id);\n } else {\n this.openItem(id);\n }\n };\n}\n\nexport default Toc;\n"],
|
|
5
|
+
"mappings": "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",
|
|
6
6
|
"names": []
|
|
7
7
|
}
|