@diplodoc/components 5.4.0 → 5.4.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- 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.map +1 -1
- 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/SettingsControl/SettingsControl.css.map +1 -1
- package/build/cjs/components/DocLayout/DocLayout.css.map +1 -1
- package/build/cjs/components/DocLeadingPage/DocLeadingPage.css.map +1 -1
- package/build/cjs/components/DocPage/DocPage.css.map +1 -1
- 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/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/SearchInput.d.ts +2 -0
- package/build/cjs/components/SearchSuggest/SearchInput.js +5 -2
- package/build/cjs/components/SearchSuggest/SearchInput.js.map +2 -2
- package/build/cjs/components/SearchSuggest/Suggest.d.ts +3 -0
- package/build/cjs/components/SearchSuggest/Suggest.js +19 -14
- package/build/cjs/components/SearchSuggest/Suggest.js.map +2 -2
- package/build/cjs/components/SearchSuggest/SuggestItem.d.ts +7 -2
- package/build/cjs/components/SearchSuggest/SuggestItem.js +23 -2
- package/build/cjs/components/SearchSuggest/SuggestItem.js.map +2 -2
- package/build/cjs/components/SearchSuggest/__tests__/SearchSuggestWithAi.spec.d.ts +1 -0
- package/build/cjs/components/SearchSuggest/index.css +45 -0
- package/build/cjs/components/SearchSuggest/index.css.map +3 -3
- package/build/cjs/components/SearchSuggest/index.d.ts +8 -2
- package/build/cjs/components/SearchSuggest/index.js +27 -8
- package/build/cjs/components/SearchSuggest/index.js.map +3 -3
- package/build/cjs/components/SearchSuggest/types.d.ts +12 -2
- package/build/cjs/components/SearchSuggest/types.js +1 -0
- package/build/cjs/components/SearchSuggest/types.js.map +2 -2
- package/build/cjs/components/SearchSuggest/useProvider.d.ts +4 -1
- package/build/cjs/components/SearchSuggest/useProvider.js +69 -27
- package/build/cjs/components/SearchSuggest/useProvider.js.map +2 -2
- 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/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/constants.d.ts +1 -0
- package/build/cjs/components/navigation/CustomNavigation/CustomNavigation.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/models/index.d.ts +14 -2
- package/build/cjs/models/index.js.map +1 -1
- 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.map +1 -1
- 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/SettingsControl/SettingsControl.css.map +1 -1
- package/build/esm/components/DocLayout/DocLayout.css.map +1 -1
- package/build/esm/components/DocLeadingPage/DocLeadingPage.css.map +1 -1
- package/build/esm/components/DocPage/DocPage.css.map +1 -1
- 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/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/SearchInput.d.ts +2 -0
- package/build/esm/components/SearchSuggest/SearchInput.js +5 -2
- package/build/esm/components/SearchSuggest/SearchInput.js.map +2 -2
- package/build/esm/components/SearchSuggest/Suggest.d.ts +3 -0
- package/build/esm/components/SearchSuggest/Suggest.js +19 -14
- package/build/esm/components/SearchSuggest/Suggest.js.map +2 -2
- package/build/esm/components/SearchSuggest/SuggestItem.d.ts +7 -2
- package/build/esm/components/SearchSuggest/SuggestItem.js +23 -2
- package/build/esm/components/SearchSuggest/SuggestItem.js.map +2 -2
- package/build/esm/components/SearchSuggest/__tests__/SearchSuggestWithAi.spec.d.ts +1 -0
- package/build/esm/components/SearchSuggest/index.css +45 -0
- package/build/esm/components/SearchSuggest/index.css.map +3 -3
- package/build/esm/components/SearchSuggest/index.d.ts +8 -2
- package/build/esm/components/SearchSuggest/index.js +27 -8
- package/build/esm/components/SearchSuggest/index.js.map +3 -3
- package/build/esm/components/SearchSuggest/types.d.ts +12 -2
- package/build/esm/components/SearchSuggest/types.js +1 -0
- package/build/esm/components/SearchSuggest/types.js.map +2 -2
- package/build/esm/components/SearchSuggest/useProvider.d.ts +4 -1
- package/build/esm/components/SearchSuggest/useProvider.js +69 -27
- package/build/esm/components/SearchSuggest/useProvider.js.map +2 -2
- 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/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/constants.d.ts +1 -0
- package/build/esm/components/navigation/CustomNavigation/CustomNavigation.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/models/index.d.ts +14 -2
- package/build/esm/models/index.js.map +1 -1
- package/build/index.css +1 -0
- package/build/index.css.map +3 -3
- package/build/themes/common/index.css.map +1 -1
- package/package.json +1 -1
|
@@ -34,11 +34,13 @@ import block from "bem-cn-lite";
|
|
|
34
34
|
import uniqueId from "lodash/uniqueId";
|
|
35
35
|
import { CommonAnalyticsEvent, useAnalytics } from "../../shared/libs/analytics";
|
|
36
36
|
import { useTranslation, useVirtualElementRef } from "../../hooks";
|
|
37
|
+
import { SuggestItemType } from "./types";
|
|
37
38
|
import { SearchInput } from "./SearchInput";
|
|
38
39
|
import { Suggest } from "./Suggest";
|
|
39
40
|
import { SuggestItem } from "./SuggestItem";
|
|
40
41
|
import { useFocus } from "./useFocus";
|
|
41
42
|
import "./index.css";
|
|
43
|
+
import { SuggestItemType as SuggestItemType2 } from "./types";
|
|
42
44
|
var b = block("dc-search-suggest");
|
|
43
45
|
var MIMIC_PC_CONTROL = "pc-control pc-control_size_l pc-control_theme_primary";
|
|
44
46
|
function CloseButton({ onClick, className }) {
|
|
@@ -62,9 +64,15 @@ var SearchSuggest = forwardRef((props, api) => {
|
|
|
62
64
|
classNameContainer,
|
|
63
65
|
classNameClose,
|
|
64
66
|
placeholder = t("search_placeholder"),
|
|
67
|
+
startContent,
|
|
65
68
|
endContent,
|
|
66
69
|
closeButton,
|
|
67
|
-
onBlur
|
|
70
|
+
onBlur,
|
|
71
|
+
withAllResults = true,
|
|
72
|
+
focusFirstSearchResult = false,
|
|
73
|
+
hasClear = false,
|
|
74
|
+
withFocusOverlay = false,
|
|
75
|
+
emptyState
|
|
68
76
|
} = props;
|
|
69
77
|
const analytics = useAnalytics();
|
|
70
78
|
const href = useRef(null);
|
|
@@ -87,13 +95,13 @@ var SearchSuggest = forwardRef((props, api) => {
|
|
|
87
95
|
const page = provider.link(query);
|
|
88
96
|
const onKeyDown = useCallback(
|
|
89
97
|
(event) => {
|
|
90
|
-
if (event.key === "Enter" && active === void 0 && page) {
|
|
98
|
+
if (event.key === "Enter" && withAllResults && !focusFirstSearchResult && active === void 0 && page) {
|
|
91
99
|
submitItem(page);
|
|
92
100
|
} else if (suggest.current) {
|
|
93
101
|
suggest.current.onKeyDown(event);
|
|
94
102
|
}
|
|
95
103
|
},
|
|
96
|
-
[suggest, active, submitItem, page]
|
|
104
|
+
[suggest, active, submitItem, page, withAllResults, focusFirstSearchResult]
|
|
97
105
|
);
|
|
98
106
|
const open = useCallback(() => {
|
|
99
107
|
setFocused(true);
|
|
@@ -109,6 +117,10 @@ var SearchSuggest = forwardRef((props, api) => {
|
|
|
109
117
|
if (!fromKeyboard) {
|
|
110
118
|
return;
|
|
111
119
|
}
|
|
120
|
+
if (item.type === SuggestItemType.Action) {
|
|
121
|
+
item.onClick();
|
|
122
|
+
return;
|
|
123
|
+
}
|
|
112
124
|
submitItem(item.link);
|
|
113
125
|
},
|
|
114
126
|
[submitItem]
|
|
@@ -136,7 +148,8 @@ var SearchSuggest = forwardRef((props, api) => {
|
|
|
136
148
|
};
|
|
137
149
|
}, [analytics, focused, watch]);
|
|
138
150
|
useImperativeHandle(api, () => ({ open, close }), [open, close]);
|
|
139
|
-
|
|
151
|
+
const wrapperClassName = [b("wrapper", { focused }), classNameContainer].filter(Boolean).join(" ");
|
|
152
|
+
return /* @__PURE__ */ React.createElement("div", { className: wrapperClassName }, withFocusOverlay && focused && /* @__PURE__ */ React.createElement("div", { className: b("overlay"), onClick: onOutsideClick }), /* @__PURE__ */ React.createElement("a", { ref: href, href: "#", hidden: true, "aria-hidden": true }), /* @__PURE__ */ React.createElement(
|
|
140
153
|
SearchInput,
|
|
141
154
|
__spreadProps(__spreadValues({}, handlers), {
|
|
142
155
|
ref: input,
|
|
@@ -148,12 +161,14 @@ var SearchSuggest = forwardRef((props, api) => {
|
|
|
148
161
|
onKeyDown,
|
|
149
162
|
autoFocus: focused,
|
|
150
163
|
placeholder,
|
|
164
|
+
startContent,
|
|
151
165
|
endContent: !focused && endContent,
|
|
152
166
|
controlProps: {
|
|
153
167
|
"aria-controls": `dc-popup-${id}`,
|
|
154
168
|
"aria-expanded": Boolean(input.current && focused),
|
|
155
169
|
"aria-activedescendant": active === void 0 ? void 0 : `dc-${id}-list-item-${active}`
|
|
156
|
-
}
|
|
170
|
+
},
|
|
171
|
+
hasClear
|
|
157
172
|
})
|
|
158
173
|
), closeButton && focused && /* @__PURE__ */ React.createElement(CloseButton, { onClick: onClose, className: classNameClose }), input.current && /* @__PURE__ */ React.createElement(
|
|
159
174
|
Popup,
|
|
@@ -162,7 +177,7 @@ var SearchSuggest = forwardRef((props, api) => {
|
|
|
162
177
|
onOutsideClick,
|
|
163
178
|
id: `dc-popup-${id}`,
|
|
164
179
|
className: b("popup"),
|
|
165
|
-
style: { width: box.width },
|
|
180
|
+
style: { width: box.width, zIndex: 1002 },
|
|
166
181
|
anchorRef: box,
|
|
167
182
|
strategy: "fixed"
|
|
168
183
|
},
|
|
@@ -173,15 +188,19 @@ var SearchSuggest = forwardRef((props, api) => {
|
|
|
173
188
|
id: `dc-${id}-list`,
|
|
174
189
|
query,
|
|
175
190
|
provider,
|
|
191
|
+
withAllResults,
|
|
192
|
+
activeItemIndex: focusFirstSearchResult ? active != null ? active : 0 : active,
|
|
176
193
|
renderItem: SuggestItem,
|
|
177
194
|
onItemClick: onSubmit,
|
|
178
|
-
onChangeActive: setActive
|
|
195
|
+
onChangeActive: setActive,
|
|
196
|
+
emptyState
|
|
179
197
|
}
|
|
180
198
|
)
|
|
181
199
|
));
|
|
182
200
|
});
|
|
183
201
|
SearchSuggest.displayName = "SearchSuggest";
|
|
184
202
|
export {
|
|
185
|
-
SearchSuggest
|
|
203
|
+
SearchSuggest,
|
|
204
|
+
SuggestItemType2 as SuggestItemType
|
|
186
205
|
};
|
|
187
206
|
//# 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
|
|
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,mBAAkB;AAC1B,SAAQ,eAAc;AACtB,SAAQ,mBAAkB;AAC1B,SAAQ,gBAAe;AACvB,OAAO;
|
|
6
|
-
"names": []
|
|
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": "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",
|
|
6
|
+
"names": ["SuggestItemType"]
|
|
7
7
|
}
|
|
@@ -1,14 +1,18 @@
|
|
|
1
1
|
import type { BreadcrumbItem } from '../../models';
|
|
2
|
+
import type { ReactNode } from 'react';
|
|
2
3
|
export declare enum SuggestItemType {
|
|
3
4
|
Text = "text",
|
|
4
5
|
Page = "page",
|
|
5
6
|
Group = "group",
|
|
6
7
|
Delimiter = "delimiter",
|
|
7
|
-
Link = "link"
|
|
8
|
+
Link = "link",
|
|
9
|
+
Action = "action"
|
|
8
10
|
}
|
|
9
11
|
interface SearchSuggestBaseItem {
|
|
10
12
|
type: SuggestItemType;
|
|
11
13
|
disabled?: boolean;
|
|
14
|
+
icon?: ReactNode;
|
|
15
|
+
hint?: ReactNode;
|
|
12
16
|
}
|
|
13
17
|
interface SearchSuggestTextItem extends SearchSuggestBaseItem {
|
|
14
18
|
type: SuggestItemType.Text;
|
|
@@ -33,8 +37,14 @@ interface SearchSuggestLinkItem extends SearchSuggestBaseItem {
|
|
|
33
37
|
title: string;
|
|
34
38
|
link: string;
|
|
35
39
|
}
|
|
40
|
+
export interface SearchSuggestActionItem extends SearchSuggestBaseItem {
|
|
41
|
+
type: SuggestItemType.Action;
|
|
42
|
+
title: string;
|
|
43
|
+
description?: string;
|
|
44
|
+
onClick: () => void;
|
|
45
|
+
}
|
|
36
46
|
export type SearchSuggestLinkableItem = SearchSuggestPageItem | SearchSuggestLinkItem;
|
|
37
|
-
export type SearchSuggestItem = SearchSuggestLinkableItem | SearchSuggestTextItem | SearchSuggestGroupItem | SearchSuggestDelimiterItem;
|
|
47
|
+
export type SearchSuggestItem = SearchSuggestActionItem | SearchSuggestLinkableItem | SearchSuggestTextItem | SearchSuggestGroupItem | SearchSuggestDelimiterItem;
|
|
38
48
|
export type SearchGroup = {
|
|
39
49
|
type: SuggestItemType;
|
|
40
50
|
items: SearchSuggestItem[];
|
|
@@ -5,6 +5,7 @@ var SuggestItemType = /* @__PURE__ */ ((SuggestItemType2) => {
|
|
|
5
5
|
SuggestItemType2["Group"] = "group";
|
|
6
6
|
SuggestItemType2["Delimiter"] = "delimiter";
|
|
7
7
|
SuggestItemType2["Link"] = "link";
|
|
8
|
+
SuggestItemType2["Action"] = "action";
|
|
8
9
|
return SuggestItemType2;
|
|
9
10
|
})(SuggestItemType || {});
|
|
10
11
|
export {
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../../src/components/SearchSuggest/types.ts"],
|
|
4
|
-
"sourcesContent": ["import type {BreadcrumbItem} from '../../models';\n\nexport enum SuggestItemType {\n Text = 'text',\n Page = 'page',\n Group = 'group',\n Delimiter = 'delimiter',\n Link = 'link',\n}\n\ninterface SearchSuggestBaseItem {\n type: SuggestItemType;\n disabled?: boolean;\n}\n\ninterface SearchSuggestTextItem extends SearchSuggestBaseItem {\n type: SuggestItemType.Text;\n title: string;\n}\n\nexport interface SearchSuggestPageItem extends SearchSuggestBaseItem {\n type: SuggestItemType.Page;\n title: string;\n link: string;\n description?: string;\n breadcrumbs?: BreadcrumbItem[];\n}\n\ninterface SearchSuggestGroupItem extends SearchSuggestBaseItem {\n type: SuggestItemType.Group;\n title: string;\n}\n\ninterface SearchSuggestDelimiterItem extends SearchSuggestBaseItem {\n type: SuggestItemType.Delimiter;\n}\n\ninterface SearchSuggestLinkItem extends SearchSuggestBaseItem {\n type: SuggestItemType.Link;\n title: string;\n link: string;\n}\n\nexport type SearchSuggestLinkableItem = SearchSuggestPageItem | SearchSuggestLinkItem;\n\nexport type SearchSuggestItem =\n | SearchSuggestLinkableItem\n | SearchSuggestTextItem\n | SearchSuggestGroupItem\n | SearchSuggestDelimiterItem;\n\nexport type SearchGroup = {\n type: SuggestItemType;\n items: SearchSuggestItem[];\n};\n"],
|
|
5
|
-
"mappings": ";
|
|
4
|
+
"sourcesContent": ["import type {BreadcrumbItem} from '../../models';\nimport type {ReactNode} from 'react';\n\nexport enum SuggestItemType {\n Text = 'text',\n Page = 'page',\n Group = 'group',\n Delimiter = 'delimiter',\n Link = 'link',\n Action = 'action',\n}\n\ninterface SearchSuggestBaseItem {\n type: SuggestItemType;\n disabled?: boolean;\n icon?: ReactNode;\n hint?: ReactNode;\n}\n\ninterface SearchSuggestTextItem extends SearchSuggestBaseItem {\n type: SuggestItemType.Text;\n title: string;\n}\n\nexport interface SearchSuggestPageItem extends SearchSuggestBaseItem {\n type: SuggestItemType.Page;\n title: string;\n link: string;\n description?: string;\n breadcrumbs?: BreadcrumbItem[];\n}\n\ninterface SearchSuggestGroupItem extends SearchSuggestBaseItem {\n type: SuggestItemType.Group;\n title: string;\n}\n\ninterface SearchSuggestDelimiterItem extends SearchSuggestBaseItem {\n type: SuggestItemType.Delimiter;\n}\n\ninterface SearchSuggestLinkItem extends SearchSuggestBaseItem {\n type: SuggestItemType.Link;\n title: string;\n link: string;\n}\n\nexport interface SearchSuggestActionItem extends SearchSuggestBaseItem {\n type: SuggestItemType.Action;\n title: string;\n description?: string;\n onClick: () => void;\n}\n\nexport type SearchSuggestLinkableItem = SearchSuggestPageItem | SearchSuggestLinkItem;\n\nexport type SearchSuggestItem =\n | SearchSuggestActionItem\n | SearchSuggestLinkableItem\n | SearchSuggestTextItem\n | SearchSuggestGroupItem\n | SearchSuggestDelimiterItem;\n\nexport type SearchGroup = {\n type: SuggestItemType;\n items: SearchSuggestItem[];\n};\n"],
|
|
5
|
+
"mappings": ";AAGO,IAAK,kBAAL,kBAAKA,qBAAL;AACH,EAAAA,iBAAA,UAAO;AACP,EAAAA,iBAAA,UAAO;AACP,EAAAA,iBAAA,WAAQ;AACR,EAAAA,iBAAA,eAAY;AACZ,EAAAA,iBAAA,UAAO;AACP,EAAAA,iBAAA,YAAS;AAND,SAAAA;AAAA,GAAA;",
|
|
6
6
|
"names": ["SuggestItemType"]
|
|
7
7
|
}
|
|
@@ -3,5 +3,8 @@ import type { SearchSuggestItem } from './types';
|
|
|
3
3
|
type Zalgo<T> = Promise<T> | T;
|
|
4
4
|
type Items = Zalgo<SearchSuggestItem[] | null>;
|
|
5
5
|
type Request = (query: string) => () => void;
|
|
6
|
-
|
|
6
|
+
type UseProviderOptions = {
|
|
7
|
+
withAllResults?: boolean;
|
|
8
|
+
};
|
|
9
|
+
export declare function useProvider(provider: ISearchProvider, options?: UseProviderOptions): [Items, Request];
|
|
7
10
|
export {};
|
|
@@ -4,18 +4,26 @@ import debounce from "lodash/debounce";
|
|
|
4
4
|
import { useTranslation } from "../../hooks";
|
|
5
5
|
import { SuggestItemType } from "./types";
|
|
6
6
|
var cache = /* @__PURE__ */ new Map();
|
|
7
|
-
function useProvider(provider) {
|
|
7
|
+
function useProvider(provider, options = {}) {
|
|
8
|
+
const { withAllResults = true } = options;
|
|
8
9
|
const wait = useRef(null);
|
|
9
10
|
const [items, setItems] = useState(null);
|
|
10
11
|
const { t } = useTranslation("search-suggest");
|
|
11
12
|
const suggest = useMemo(
|
|
12
13
|
() => debounce((query) => {
|
|
14
|
+
const cacheKey = `${withAllResults ? "all" : "items"}:${query}`;
|
|
13
15
|
const promise = wait.current = (async () => {
|
|
14
16
|
try {
|
|
15
17
|
const data = await provider.suggest(query);
|
|
16
|
-
const items2 = format(
|
|
17
|
-
|
|
18
|
-
|
|
18
|
+
const items2 = format(
|
|
19
|
+
query,
|
|
20
|
+
data,
|
|
21
|
+
(args) => provider.link(args),
|
|
22
|
+
t,
|
|
23
|
+
withAllResults
|
|
24
|
+
);
|
|
25
|
+
cache.set(cacheKey, items2);
|
|
26
|
+
setTimeout(() => cache.delete(cacheKey), 3e4);
|
|
19
27
|
return items2;
|
|
20
28
|
} catch (e) {
|
|
21
29
|
return [
|
|
@@ -34,44 +42,77 @@ function useProvider(provider) {
|
|
|
34
42
|
}
|
|
35
43
|
});
|
|
36
44
|
}, 300),
|
|
37
|
-
[t, provider, wait, setItems]
|
|
45
|
+
[t, provider, wait, setItems, withAllResults]
|
|
38
46
|
);
|
|
39
47
|
const request = useCallback(
|
|
40
48
|
(query) => {
|
|
49
|
+
const cacheKey = `${withAllResults ? "all" : "items"}:${query}`;
|
|
41
50
|
if (!query) {
|
|
42
51
|
wait.current = null;
|
|
43
52
|
setItems(null);
|
|
44
|
-
} else if (cache.has(
|
|
53
|
+
} else if (cache.has(cacheKey)) {
|
|
45
54
|
wait.current = null;
|
|
46
|
-
setItems(cache.get(
|
|
55
|
+
setItems(cache.get(cacheKey));
|
|
47
56
|
} else {
|
|
48
57
|
suggest(query);
|
|
49
58
|
}
|
|
50
59
|
return suggest.cancel;
|
|
51
60
|
},
|
|
52
|
-
[suggest, setItems]
|
|
61
|
+
[suggest, setItems, withAllResults]
|
|
53
62
|
);
|
|
54
63
|
return [items, request];
|
|
55
64
|
}
|
|
56
|
-
function format(query, items, link, t) {
|
|
65
|
+
function format(query, items, link, t, withAllResults) {
|
|
57
66
|
const page = link(query);
|
|
58
|
-
const
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
)
|
|
73
|
-
|
|
74
|
-
|
|
67
|
+
const preparedItems = [];
|
|
68
|
+
const groupedItemsMap = {};
|
|
69
|
+
items.forEach((item) => {
|
|
70
|
+
if (item.type === SuggestItemType.Action) {
|
|
71
|
+
preparedItems.push({
|
|
72
|
+
type: SuggestItemType.Action,
|
|
73
|
+
title: item.title,
|
|
74
|
+
description: item.description || "",
|
|
75
|
+
onClick: item.onClick,
|
|
76
|
+
icon: item.icon,
|
|
77
|
+
hint: item.hint
|
|
78
|
+
});
|
|
79
|
+
return;
|
|
80
|
+
}
|
|
81
|
+
if (item.type === SuggestItemType.Page) {
|
|
82
|
+
preparedItems.push({
|
|
83
|
+
type: SuggestItemType.Page,
|
|
84
|
+
title: item.title,
|
|
85
|
+
link: item.link,
|
|
86
|
+
description: item.description,
|
|
87
|
+
breadcrumbs: item.breadcrumbs,
|
|
88
|
+
icon: item.icon,
|
|
89
|
+
hint: item.hint
|
|
90
|
+
});
|
|
91
|
+
return;
|
|
92
|
+
}
|
|
93
|
+
if (item.type === SuggestItemType.Link) {
|
|
94
|
+
preparedItems.push({
|
|
95
|
+
type: SuggestItemType.Link,
|
|
96
|
+
title: item.title,
|
|
97
|
+
link: item.link,
|
|
98
|
+
icon: item.icon,
|
|
99
|
+
hint: item.hint
|
|
100
|
+
});
|
|
101
|
+
return;
|
|
102
|
+
}
|
|
103
|
+
groupedItemsMap[item.type] = groupedItemsMap[item.type] || { type: item.type, items: [] };
|
|
104
|
+
groupedItemsMap[item.type].items.push({
|
|
105
|
+
type: SuggestItemType.Page,
|
|
106
|
+
title: item.title,
|
|
107
|
+
link: item.link,
|
|
108
|
+
description: item.description,
|
|
109
|
+
breadcrumbs: item.breadcrumbs,
|
|
110
|
+
icon: item.icon,
|
|
111
|
+
hint: item.hint
|
|
112
|
+
});
|
|
113
|
+
});
|
|
114
|
+
const groups = Object.values(groupedItemsMap);
|
|
115
|
+
const groupedItems = groups.length === 1 ? groups[0].items : groups.reduce((result2, group) => {
|
|
75
116
|
if (result2.length) {
|
|
76
117
|
result2.push({
|
|
77
118
|
type: SuggestItemType.Delimiter,
|
|
@@ -85,7 +126,8 @@ function format(query, items, link, t) {
|
|
|
85
126
|
});
|
|
86
127
|
return result2.concat(group.items);
|
|
87
128
|
}, []);
|
|
88
|
-
|
|
129
|
+
const result = preparedItems.concat(groupedItems);
|
|
130
|
+
if (withAllResults && result.length > 0 && page) {
|
|
89
131
|
result.push({
|
|
90
132
|
type: SuggestItemType.Link,
|
|
91
133
|
title: t("search-suggest_all-results"),
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../../src/components/SearchSuggest/useProvider.ts"],
|
|
4
|
-
"sourcesContent": ["import type {ISearchProvider, ISearchResult, TFunction} from '../../models';\nimport type {SearchGroup, SearchSuggestItem} from './types';\n\nimport {useCallback, useMemo, useRef, useState} from 'react';\nimport debounce from 'lodash/debounce';\n\nimport {useTranslation} from '../../hooks';\n\nimport {SuggestItemType} from './types';\n\ntype Link = (query: string) => string | null;\ntype Zalgo<T> = Promise<T> | T;\ntype Items = Zalgo<SearchSuggestItem[] | null>;\ntype Request = (query: string) => () => void;\n\nconst cache = new Map<string, SearchSuggestItem[]>();\n\nexport function useProvider(provider: ISearchProvider): [Items, Request] {\n const wait = useRef<Zalgo<SearchSuggestItem[] | null>>(null);\n const [items, setItems] = useState<Zalgo<SearchSuggestItem[] | null>>(null);\n const {t} = useTranslation('search-suggest');\n\n const suggest = useMemo(\n () =>\n debounce((query: string) => {\n const promise = (wait.current = (async () => {\n try {\n const data = await provider.suggest(query);\n const items = format(query
|
|
5
|
-
"mappings": ";AAGA,SAAQ,aAAa,SAAS,QAAQ,gBAAe;AACrD,OAAO,cAAc;AAErB,SAAQ,sBAAqB;AAE7B,SAAQ,uBAAsB;
|
|
4
|
+
"sourcesContent": ["import type {ISearchProvider, ISearchResult, TFunction} from '../../models';\nimport type {SearchGroup, SearchSuggestItem} from './types';\n\nimport {useCallback, useMemo, useRef, useState} from 'react';\nimport debounce from 'lodash/debounce';\n\nimport {useTranslation} from '../../hooks';\n\nimport {SuggestItemType} from './types';\n\ntype Link = (query: string) => string | null;\ntype Zalgo<T> = Promise<T> | T;\ntype Items = Zalgo<SearchSuggestItem[] | null>;\ntype Request = (query: string) => () => void;\ntype UseProviderOptions = {\n withAllResults?: boolean;\n};\n\nconst cache = new Map<string, SearchSuggestItem[]>();\n\nexport function useProvider(\n provider: ISearchProvider,\n options: UseProviderOptions = {},\n): [Items, Request] {\n const {withAllResults = true} = options;\n const wait = useRef<Zalgo<SearchSuggestItem[] | null>>(null);\n const [items, setItems] = useState<Zalgo<SearchSuggestItem[] | null>>(null);\n const {t} = useTranslation('search-suggest');\n\n const suggest = useMemo(\n () =>\n debounce((query: string) => {\n const cacheKey = `${withAllResults ? 'all' : 'items'}:${query}`;\n const promise = (wait.current = (async () => {\n try {\n const data = await provider.suggest(query);\n const items = format(\n query,\n data,\n (args) => provider.link(args),\n t,\n withAllResults,\n );\n\n cache.set(cacheKey, items);\n setTimeout(() => cache.delete(cacheKey), 30000);\n\n return items;\n } catch {\n return [\n {\n type: SuggestItemType.Text,\n title: t('search-suggest_error-text'),\n disabled: true,\n },\n ] as SearchSuggestItem[];\n }\n })());\n\n setItems(promise);\n\n promise.then((items) => {\n if (wait.current === promise) {\n setItems(items);\n }\n });\n }, 300),\n [t, provider, wait, setItems, withAllResults],\n );\n\n const request = useCallback(\n (query: string) => {\n const cacheKey = `${withAllResults ? 'all' : 'items'}:${query}`;\n\n if (!query) {\n wait.current = null;\n setItems(null);\n } else if (cache.has(cacheKey)) {\n wait.current = null;\n setItems(cache.get(cacheKey) as SearchSuggestItem[]);\n } else {\n suggest(query);\n }\n\n return suggest.cancel;\n },\n [suggest, setItems, withAllResults],\n );\n\n return [items, request];\n}\n\nfunction format(\n query: string,\n items: ISearchResult[],\n link: Link,\n t: TFunction,\n withAllResults: boolean,\n) {\n const page = link(query);\n const preparedItems: SearchSuggestItem[] = [];\n const groupedItemsMap = {} as Record<string, SearchGroup>;\n\n items.forEach((item) => {\n if (item.type === SuggestItemType.Action) {\n preparedItems.push({\n type: SuggestItemType.Action,\n title: item.title,\n description: item.description || '',\n onClick: item.onClick,\n icon: item.icon,\n hint: item.hint,\n });\n return;\n }\n\n if (item.type === SuggestItemType.Page) {\n preparedItems.push({\n type: SuggestItemType.Page,\n title: item.title,\n link: item.link,\n description: item.description,\n breadcrumbs: item.breadcrumbs,\n icon: item.icon,\n hint: item.hint,\n });\n return;\n }\n\n if (item.type === SuggestItemType.Link) {\n preparedItems.push({\n type: SuggestItemType.Link,\n title: item.title,\n link: item.link,\n icon: item.icon,\n hint: item.hint,\n });\n return;\n }\n\n groupedItemsMap[item.type] = groupedItemsMap[item.type] || {type: item.type, items: []};\n groupedItemsMap[item.type].items.push({\n type: SuggestItemType.Page,\n title: item.title,\n link: item.link,\n description: item.description,\n breadcrumbs: item.breadcrumbs,\n icon: item.icon,\n hint: item.hint,\n });\n });\n\n const groups = Object.values(groupedItemsMap);\n\n const groupedItems =\n groups.length === 1\n ? groups[0].items\n : groups.reduce((result, group) => {\n if (result.length) {\n result.push({\n type: SuggestItemType.Delimiter,\n disabled: true,\n });\n }\n\n result.push({\n type: SuggestItemType.Group,\n title: t(`search-item_type-${group.type}`, t('search-item_type-main')),\n disabled: true,\n });\n\n return result.concat(group.items as SearchSuggestItem[]);\n }, [] as SearchSuggestItem[]);\n\n const result = preparedItems.concat(groupedItems);\n\n if (withAllResults && result.length > 0 && page) {\n result.push({\n type: SuggestItemType.Link,\n title: t('search-suggest_all-results'),\n link: page,\n });\n }\n\n return result;\n}\n"],
|
|
5
|
+
"mappings": "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",
|
|
6
6
|
"names": ["items", "result"]
|
|
7
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 asnFGd%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 tTqZxU%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 sa7IK2%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": []
|