@redocly/theme 0.67.0 → 0.68.0-next.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/lib/components/Buttons/ConnectMCPButton.d.ts +1 -1
- package/lib/components/Buttons/ConnectMCPButton.js +50 -17
- package/lib/components/Buttons/variables.js +3 -0
- package/lib/components/Catalog/CatalogEntities.js +2 -11
- package/lib/components/Catalog/CatalogEntity/CatalogEntityRelations/CatalogEntityRelationsTable.js +3 -16
- package/lib/components/Catalog/CatalogEntity/CatalogEntitySchema.d.ts +1 -1
- package/lib/components/Catalog/CatalogEntity/CatalogEntitySchema.js +3 -9
- package/lib/components/Catalog/CatalogFilter/CatalogFilterCheckboxes.js +1 -7
- package/lib/components/Feedback/Feedback.js +4 -1
- package/lib/components/Feedback/Reasons.js +2 -3
- package/lib/components/Menu/MenuItem.js +2 -1
- package/lib/components/Search/SearchAiDialog.js +2 -1
- package/lib/components/Search/SearchAiResponse.js +2 -1
- package/lib/components/Search/SearchTrigger.js +3 -3
- package/lib/core/constants/common.d.ts +1 -0
- package/lib/core/constants/common.js +2 -1
- package/lib/core/constants/search.d.ts +1 -0
- package/lib/core/constants/search.js +2 -1
- package/lib/core/hooks/search/use-search-dialog.js +2 -1
- package/lib/core/hooks/use-active-heading.js +5 -2
- package/lib/core/hooks/use-telemetry-fallback.d.ts +1 -1
- package/lib/core/hooks/use-telemetry-fallback.js +1 -1
- package/lib/core/styles/dark.js +11 -0
- package/lib/core/styles/global.js +36 -34
- package/lib/markdoc/components/NumberedList/NumberedItem.d.ts +25 -0
- package/lib/markdoc/components/NumberedList/NumberedItem.js +217 -0
- package/lib/markdoc/components/NumberedList/NumberedList.d.ts +5 -0
- package/lib/markdoc/components/NumberedList/NumberedList.js +28 -0
- package/lib/markdoc/components/NumberedList/variables.d.ts +1 -0
- package/lib/markdoc/components/NumberedList/variables.js +42 -0
- package/lib/markdoc/components/default.d.ts +2 -0
- package/lib/markdoc/components/default.js +2 -0
- package/lib/markdoc/default.js +4 -0
- package/lib/markdoc/tags/numbered-item.d.ts +2 -0
- package/lib/markdoc/tags/numbered-item.js +35 -0
- package/lib/markdoc/tags/numbered-list.d.ts +2 -0
- package/lib/markdoc/tags/numbered-list.js +28 -0
- package/package.json +3 -3
- package/src/components/Buttons/ConnectMCPButton.tsx +110 -63
- package/src/components/Buttons/variables.ts +3 -0
- package/src/components/Catalog/CatalogEntities.tsx +7 -11
- package/src/components/Catalog/CatalogEntity/CatalogEntityRelations/CatalogEntityRelationsTable.tsx +8 -9
- package/src/components/Catalog/CatalogEntity/CatalogEntitySchema.tsx +6 -8
- package/src/components/Catalog/CatalogFilter/CatalogFilterCheckboxes.tsx +2 -4
- package/src/components/Feedback/Feedback.tsx +11 -1
- package/src/components/Feedback/Reasons.tsx +2 -4
- package/src/components/Menu/MenuItem.tsx +5 -2
- package/src/components/Search/SearchAiDialog.tsx +1 -1
- package/src/components/Search/SearchAiResponse.tsx +1 -1
- package/src/components/Search/SearchTrigger.tsx +3 -3
- package/src/core/constants/common.ts +2 -0
- package/src/core/constants/search.ts +2 -0
- package/src/core/hooks/search/use-search-dialog.ts +2 -1
- package/src/core/hooks/use-active-heading.ts +7 -2
- package/src/core/hooks/use-telemetry-fallback.ts +1 -1
- package/src/core/styles/dark.ts +12 -0
- package/src/core/styles/global.ts +2 -0
- package/src/markdoc/components/NumberedList/NumberedItem.tsx +274 -0
- package/src/markdoc/components/NumberedList/NumberedList.tsx +37 -0
- package/src/markdoc/components/NumberedList/variables.ts +39 -0
- package/src/markdoc/components/default.ts +2 -0
- package/src/markdoc/default.ts +4 -0
- package/src/markdoc/tags/numbered-item.ts +46 -0
- package/src/markdoc/tags/numbered-list.ts +34 -0
|
@@ -5,4 +5,4 @@ export type ConnectMCPButtonProps = {
|
|
|
5
5
|
alignment?: 'start' | 'end';
|
|
6
6
|
options?: MCPOption[];
|
|
7
7
|
};
|
|
8
|
-
export declare function ConnectMCPButton({ placement, alignment, options }: ConnectMCPButtonProps): JSX.Element;
|
|
8
|
+
export declare function ConnectMCPButton({ placement, alignment, options }: ConnectMCPButtonProps): JSX.Element | null;
|
|
@@ -39,7 +39,6 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
39
39
|
exports.ConnectMCPButton = ConnectMCPButton;
|
|
40
40
|
const react_1 = __importStar(require("react"));
|
|
41
41
|
const styled_components_1 = __importDefault(require("styled-components"));
|
|
42
|
-
const Dropdown_1 = require("../../components/Dropdown/Dropdown");
|
|
43
42
|
const DropdownMenu_1 = require("../../components/Dropdown/DropdownMenu");
|
|
44
43
|
const DropdownMenuItem_1 = require("../../components/Dropdown/DropdownMenuItem");
|
|
45
44
|
const Button_1 = require("../../components/Button/Button");
|
|
@@ -47,12 +46,9 @@ const CursorIcon_1 = require("../../icons/CursorIcon/CursorIcon");
|
|
|
47
46
|
const VSCodeIcon_1 = require("../../icons/VSCodeIcon/VSCodeIcon");
|
|
48
47
|
const CopyIcon_1 = require("../../icons/CopyIcon/CopyIcon");
|
|
49
48
|
const CheckmarkFilledIcon_1 = require("../../icons/CheckmarkFilledIcon/CheckmarkFilledIcon");
|
|
50
|
-
const
|
|
49
|
+
const ChevronDownIcon_1 = require("../../icons/ChevronDownIcon/ChevronDownIcon");
|
|
50
|
+
const ChevronUpIcon_1 = require("../../icons/ChevronUpIcon/ChevronUpIcon");
|
|
51
51
|
const hooks_1 = require("../../core/hooks");
|
|
52
|
-
const hooks_2 = require("../../core/hooks");
|
|
53
|
-
const TriggerButton = react_1.default.memo(({ text }) => {
|
|
54
|
-
return (react_1.default.createElement(StyledButton, { variant: "secondary", icon: react_1.default.createElement(ConnectIcon_1.ConnectIcon, null) }, text));
|
|
55
|
-
});
|
|
56
52
|
const MENU_OPTIONS = [
|
|
57
53
|
{
|
|
58
54
|
key: 'cursor',
|
|
@@ -80,31 +76,68 @@ const MENU_OPTIONS = [
|
|
|
80
76
|
},
|
|
81
77
|
];
|
|
82
78
|
function ConnectMCPButton({ placement = 'bottom', alignment = 'end', options = ['cursor', 'vscode', 'copy'], }) {
|
|
83
|
-
const { useTranslate } = (0,
|
|
79
|
+
const { useTranslate } = (0, hooks_1.useThemeHooks)();
|
|
84
80
|
const { translate } = useTranslate();
|
|
85
|
-
const
|
|
86
|
-
|
|
87
|
-
});
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
81
|
+
const [isOpen, setIsOpen] = (0, react_1.useState)(false);
|
|
82
|
+
const wrapperRef = (0, react_1.useRef)(null);
|
|
83
|
+
const { isCopied, visibleOptions, handleAction } = (0, hooks_1.useConnectMCPButton)({ options });
|
|
84
|
+
(0, hooks_1.useOutsideClick)(wrapperRef, () => setIsOpen(false));
|
|
85
|
+
const menuOptions = MENU_OPTIONS.filter((option) => visibleOptions.includes(option.key));
|
|
86
|
+
const primaryOption = menuOptions[0];
|
|
87
|
+
const dropdownOptions = menuOptions.slice(1);
|
|
88
|
+
if (!primaryOption)
|
|
89
|
+
return null;
|
|
90
|
+
const PrimaryIcon = primaryOption.icon;
|
|
91
|
+
// When copy is the primary action there is no dropdown item to show the copied state, so the
|
|
92
|
+
// primary button itself must reflect it.
|
|
93
|
+
const showPrimaryCopied = primaryOption.key === 'copy' && isCopied;
|
|
94
|
+
const handleMenuAction = (key) => {
|
|
95
|
+
handleAction(key);
|
|
96
|
+
setIsOpen(false);
|
|
97
|
+
};
|
|
98
|
+
return (react_1.default.createElement(ConnectMCPButtonWrapper, { ref: wrapperRef, "data-component-name": "Buttons/ConnectMCPButton" },
|
|
99
|
+
react_1.default.createElement(SplitButtonGroup, null,
|
|
100
|
+
react_1.default.createElement(PrimaryButton, { variant: "secondary", icon: showPrimaryCopied ? (react_1.default.createElement(CheckmarkFilledIcon_1.CheckmarkFilledIcon, { color: "var(--color-success-base)" })) : (react_1.default.createElement(PrimaryIcon, null)), onClick: () => handleAction(primaryOption.key) }, translate(primaryOption.titleTranslationKey, primaryOption.titleDefault)),
|
|
101
|
+
dropdownOptions.length > 0 && (react_1.default.createElement(ChevronButton, { variant: "secondary", "aria-label": translate('page.actions.connectMcp.moreOptions', 'More options'), "aria-expanded": isOpen, "aria-haspopup": "menu", onClick: () => setIsOpen((prev) => !prev) }, isOpen ? react_1.default.createElement(ChevronUpIcon_1.ChevronUpIcon, null) : react_1.default.createElement(ChevronDownIcon_1.ChevronDownIcon, null)))),
|
|
102
|
+
isOpen && dropdownOptions.length > 0 && (react_1.default.createElement(DropdownWrapper, { $placement: placement, $alignment: alignment },
|
|
103
|
+
react_1.default.createElement(DropdownMenu_1.DropdownMenu, null, dropdownOptions.map((option) => {
|
|
92
104
|
const Icon = option.icon;
|
|
93
105
|
const showCheckmark = option.key === 'copy' && isCopied;
|
|
94
|
-
return (react_1.default.createElement(DropdownMenuItem_1.DropdownMenuItem, { key: option.key, onAction: () =>
|
|
106
|
+
return (react_1.default.createElement(DropdownMenuItem_1.DropdownMenuItem, { key: option.key, onAction: () => handleMenuAction(option.key) },
|
|
95
107
|
react_1.default.createElement(MenuItemContent, null,
|
|
96
108
|
react_1.default.createElement(MenuItemIcon, null, showCheckmark ? (react_1.default.createElement(CheckmarkFilledIcon_1.CheckmarkFilledIcon, { color: "var(--color-success-base)" })) : (react_1.default.createElement(Icon, null))),
|
|
97
109
|
react_1.default.createElement(MenuItemText, null,
|
|
98
110
|
react_1.default.createElement(MenuItemTitle, null, translate(option.titleTranslationKey, option.titleDefault)),
|
|
99
111
|
react_1.default.createElement(MenuItemDescription, null, translate(option.descriptionTranslationKey, option.descriptionDefault))))));
|
|
100
|
-
})))));
|
|
112
|
+
}))))));
|
|
101
113
|
}
|
|
102
114
|
const ConnectMCPButtonWrapper = styled_components_1.default.div `
|
|
103
115
|
display: inline-block;
|
|
104
116
|
position: relative;
|
|
105
117
|
`;
|
|
106
|
-
const
|
|
118
|
+
const SplitButtonGroup = styled_components_1.default.div `
|
|
119
|
+
display: inline-flex;
|
|
120
|
+
align-items: stretch;
|
|
121
|
+
`;
|
|
122
|
+
const PrimaryButton = (0, styled_components_1.default)(Button_1.Button) `
|
|
107
123
|
--button-gap: var(--connect-mcp-button-gap);
|
|
124
|
+
border-top-right-radius: 0;
|
|
125
|
+
border-bottom-right-radius: 0;
|
|
126
|
+
`;
|
|
127
|
+
const ChevronButton = (0, styled_components_1.default)(Button_1.Button) `
|
|
128
|
+
border-top-left-radius: 0;
|
|
129
|
+
border-bottom-left-radius: 0;
|
|
130
|
+
border-left: none;
|
|
131
|
+
padding-inline: var(--connect-mcp-button-chevron-padding-inline);
|
|
132
|
+
`;
|
|
133
|
+
const DropdownWrapper = styled_components_1.default.div `
|
|
134
|
+
position: absolute;
|
|
135
|
+
top: ${({ $placement }) => ($placement === 'top' ? 'auto' : '100%')};
|
|
136
|
+
bottom: ${({ $placement }) => ($placement === 'top' ? '100%' : 'auto')};
|
|
137
|
+
left: ${({ $alignment }) => ($alignment === 'start' ? '0' : 'auto')};
|
|
138
|
+
right: ${({ $alignment }) => ($alignment === 'end' ? '0' : 'auto')};
|
|
139
|
+
padding-top: var(--dropdown-menu-padding-top);
|
|
140
|
+
z-index: var(--dropdown-menu-z-index);
|
|
108
141
|
`;
|
|
109
142
|
const MenuItemContent = styled_components_1.default.div `
|
|
110
143
|
display: flex;
|
|
@@ -59,6 +59,9 @@ exports.connectMCPButton = (0, styled_components_1.css) `
|
|
|
59
59
|
/* Button gap */
|
|
60
60
|
--connect-mcp-button-gap: var(--spacing-xs);
|
|
61
61
|
|
|
62
|
+
/* Chevron button */
|
|
63
|
+
--connect-mcp-button-chevron-padding-inline: var(--spacing-xs);
|
|
64
|
+
|
|
62
65
|
/* Menu item layout */
|
|
63
66
|
--connect-mcp-button-menu-item-gap: var(--spacing-sm);
|
|
64
67
|
--connect-mcp-button-menu-item-padding-block: var(--spacing-xxs);
|
|
@@ -36,6 +36,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
36
36
|
exports.CatalogEntities = CatalogEntities;
|
|
37
37
|
const react_1 = __importStar(require("react"));
|
|
38
38
|
const hooks_1 = require("../../core/hooks");
|
|
39
|
+
const utils_1 = require("../../core/utils");
|
|
39
40
|
const ArrowDownIcon_1 = require("../../icons/ArrowDownIcon/ArrowDownIcon");
|
|
40
41
|
const CatalogCardView_1 = require("../../components/Catalog/CatalogCardView/CatalogCardView");
|
|
41
42
|
const CatalogTableView_1 = require("../../components/Catalog/CatalogTableView/CatalogTableView");
|
|
@@ -45,9 +46,6 @@ const CatalogEntitiesEmptyState_1 = require("../../components/Catalog/CatalogEnt
|
|
|
45
46
|
const LOAD_MORE_THRESHOLD = 10;
|
|
46
47
|
function CatalogEntities(props) {
|
|
47
48
|
const { catalogConfig, excludedEntities, filterQuery, entitiesTypes, sortOption, searchQuery, viewMode, setEntitiesCounter, handleSortClick, isColumnSorted, } = props;
|
|
48
|
-
const { getEntityDetailsLink } = (0, hooks_1.useCatalogEntityDetails)({
|
|
49
|
-
catalogConfig,
|
|
50
|
-
});
|
|
51
49
|
const { useTelemetry, useFetchCatalogEntities } = (0, hooks_1.useThemeHooks)();
|
|
52
50
|
const telemetry = useTelemetry();
|
|
53
51
|
const { initialFilter } = (0, hooks_1.useCatalogEntities)({
|
|
@@ -65,14 +63,7 @@ function CatalogEntities(props) {
|
|
|
65
63
|
const onRowClick = (entity) => {
|
|
66
64
|
if (searchQuery) {
|
|
67
65
|
telemetry.sendCatalogEntitiesListSearchResultClickedMessage([
|
|
68
|
-
{
|
|
69
|
-
id: entity.id,
|
|
70
|
-
object: 'catalog_entity',
|
|
71
|
-
uri: getEntityDetailsLink(entity),
|
|
72
|
-
query: searchQuery,
|
|
73
|
-
entityKey: entity.key,
|
|
74
|
-
entityType: entity.type,
|
|
75
|
-
},
|
|
66
|
+
Object.assign(Object.assign({}, (0, utils_1.getBaseDataAttributes)('catalogEntitiesListSearchResultId', 'catalogEntitiesListSearchResult')), { query: searchQuery, entityId: entity.id, entityKey: entity.key, entityType: entity.type }),
|
|
76
67
|
]);
|
|
77
68
|
}
|
|
78
69
|
};
|
package/lib/components/Catalog/CatalogEntity/CatalogEntityRelations/CatalogEntityRelationsTable.js
CHANGED
|
@@ -9,28 +9,15 @@ const styled_components_1 = __importDefault(require("styled-components"));
|
|
|
9
9
|
const CatalogActionsRow_1 = require("../../../../components/Catalog/CatalogActionsRow");
|
|
10
10
|
const CatalogEntityRelationsTableContent_1 = require("../../../../components/Catalog/CatalogEntity/CatalogEntityRelations/CatalogEntityRelationsTableContent");
|
|
11
11
|
const hooks_1 = require("../../../../core/hooks");
|
|
12
|
+
const utils_1 = require("../../../../core/utils");
|
|
12
13
|
const constants_1 = require("../../../../core/constants");
|
|
13
14
|
function CatalogEntityRelationsTable({ entity, entitiesCatalogConfig, catalogConfig, relations, query, searchQuery, setSearchQuery, heading, columns, setSortOption, sortOption, handleSortClick, isColumnSorted, shouldShowLoadMore, listType, }) {
|
|
14
15
|
const { useTelemetry } = (0, hooks_1.useThemeHooks)();
|
|
15
16
|
const telemetry = useTelemetry();
|
|
16
|
-
const { getEntityDetailsLink } = (0, hooks_1.useCatalogEntityDetails)({
|
|
17
|
-
catalogConfig,
|
|
18
|
-
entitiesCatalogConfig,
|
|
19
|
-
});
|
|
20
17
|
const onRowClick = (relatedEntity) => {
|
|
21
18
|
if (searchQuery) {
|
|
22
|
-
telemetry.
|
|
23
|
-
{
|
|
24
|
-
id: relatedEntity.id,
|
|
25
|
-
object: 'catalog_entity',
|
|
26
|
-
uri: getEntityDetailsLink(relatedEntity),
|
|
27
|
-
query: searchQuery,
|
|
28
|
-
entityKey: entity.key,
|
|
29
|
-
entityType: entity.type,
|
|
30
|
-
relationType: constants_1.reverseRelationMap[relatedEntity.relationType],
|
|
31
|
-
relatedEntityKey: relatedEntity.key,
|
|
32
|
-
relatedEntityType: relatedEntity.type,
|
|
33
|
-
},
|
|
19
|
+
telemetry.sendCatalogEntitiesRelatedEntitiesListSearchResultClickedMessage([
|
|
20
|
+
Object.assign(Object.assign({}, (0, utils_1.getBaseDataAttributes)('catalogEntitiesRelatedEntitiesListSearchResultId', 'catalogEntitiesRelatedEntitiesListSearchResult')), { query: searchQuery, entityKey: entity.key, entityType: entity.type, relationType: constants_1.reverseRelationMap[relatedEntity.relationType], relatedEntityId: relatedEntity.id, relatedEntityKey: relatedEntity.key, relatedEntityType: relatedEntity.type }),
|
|
34
21
|
]);
|
|
35
22
|
}
|
|
36
23
|
};
|
|
@@ -12,4 +12,4 @@ export type CatalogEntitySchemaProps = {
|
|
|
12
12
|
typeName: string;
|
|
13
13
|
}>;
|
|
14
14
|
};
|
|
15
|
-
export declare function CatalogEntitySchema({ entity, relatedEntity,
|
|
15
|
+
export declare function CatalogEntitySchema({ entity, relatedEntity, RedocSchema, StoreProvider, GraphqlTypeRenderer }: CatalogEntitySchemaProps): React.JSX.Element;
|
|
@@ -42,9 +42,10 @@ const styled_components_1 = __importDefault(require("styled-components"));
|
|
|
42
42
|
const Sampler = __importStar(require("openapi-sampler"));
|
|
43
43
|
const hooks_1 = require("../../../core/hooks");
|
|
44
44
|
const hooks_2 = require("../../../core/hooks");
|
|
45
|
+
const utils_1 = require("../../../core/utils");
|
|
45
46
|
const JsonViewer_1 = require("../../../components/JsonViewer/JsonViewer");
|
|
46
47
|
const CopyButton_1 = require("../../../components/Buttons/CopyButton");
|
|
47
|
-
function CatalogEntitySchema({ entity, relatedEntity,
|
|
48
|
+
function CatalogEntitySchema({ entity, relatedEntity, RedocSchema, StoreProvider, GraphqlTypeRenderer, }) {
|
|
48
49
|
var _a, _b;
|
|
49
50
|
const { useTranslate, useTelemetry } = (0, hooks_1.useThemeHooks)();
|
|
50
51
|
const telemetry = useTelemetry();
|
|
@@ -52,18 +53,11 @@ function CatalogEntitySchema({ entity, relatedEntity, catalogConfig, RedocSchema
|
|
|
52
53
|
const { definition, parsedSchema, rawSchema } = (0, hooks_2.useCatalogEntitySchema)({ entity, relatedEntity });
|
|
53
54
|
const isGraphql = ((_a = entity.metadata) === null || _a === void 0 ? void 0 : _a.specType) === 'graphql';
|
|
54
55
|
const graphqlSDL = (_b = entity === null || entity === void 0 ? void 0 : entity.metadata) === null || _b === void 0 ? void 0 : _b.sdl;
|
|
55
|
-
const { getEntityDetailsLink } = (0, hooks_1.useCatalogEntityDetails)({
|
|
56
|
-
catalogConfig,
|
|
57
|
-
});
|
|
58
56
|
return (react_1.default.createElement(MetadataWrapper, { "data-component-name": "Catalog/CatalogEntity/CatalogEntitySchema" },
|
|
59
57
|
react_1.default.createElement(HeaderWrapper, null,
|
|
60
58
|
react_1.default.createElement(Heading, null, translate('catalog.entity.schema.title')),
|
|
61
59
|
!isGraphql && (react_1.default.createElement(CopyButton_1.CopyButton, { data: rawSchema, buttonText: "Copy Schema", type: "compound", variant: "secondary", iconPosition: "right", size: "medium", onCopyClick: () => telemetry.sendCatalogEntitiesCopyDataSchemaClickedMessage([
|
|
62
|
-
{
|
|
63
|
-
id: entity.id,
|
|
64
|
-
object: 'catalog_entity',
|
|
65
|
-
uri: getEntityDetailsLink(entity),
|
|
66
|
-
},
|
|
60
|
+
Object.assign(Object.assign({}, (0, utils_1.getBaseDataAttributes)('catalogEntitiesCopyDataSchemaId', 'button')), { entityId: entity.id, entityKey: entity.key, entityType: entity.type }),
|
|
67
61
|
]) }))),
|
|
68
62
|
react_1.default.createElement(SplitViewWrapper, null,
|
|
69
63
|
react_1.default.createElement(SchemaContentWrapper, null, isGraphql && graphqlSDL && GraphqlTypeRenderer ? (react_1.default.createElement(GraphqlTypeRenderer, { sdl: graphqlSDL, typeName: entity.title })) : (react_1.default.createElement(StoreProvider, { definition: definition },
|
|
@@ -104,13 +104,7 @@ function CatalogFilterCheckboxes({ filter, filterValuesCasing, showCounter = tru
|
|
|
104
104
|
return (react_1.default.createElement(FilterCheckboxOption, { key: id, role: "link", onClick: () => {
|
|
105
105
|
filter.toggleOption(value);
|
|
106
106
|
telemetry.sendCatalogEntitiesFilterCheckboxToggledMessage([
|
|
107
|
-
{
|
|
108
|
-
id: filter.property + '--' + value,
|
|
109
|
-
object: 'checkbox',
|
|
110
|
-
uri: window.location.href,
|
|
111
|
-
category: filter.property,
|
|
112
|
-
value: value,
|
|
113
|
-
},
|
|
107
|
+
Object.assign(Object.assign({}, (0, utils_1.getBaseDataAttributes)('catalogEntitiesFilterCheckboxId', 'checkbox')), { category: filter.property, value: value }),
|
|
114
108
|
]);
|
|
115
109
|
} },
|
|
116
110
|
react_1.default.createElement(CheckboxIcon_1.CheckboxIcon, { checked: filter.selectedOptions instanceof Set
|
|
@@ -47,6 +47,7 @@ const Comment_1 = require("../../components/Feedback/Comment");
|
|
|
47
47
|
const Mood_1 = require("../../components/Feedback/Mood");
|
|
48
48
|
const Scale_1 = require("../../components/Feedback/Scale");
|
|
49
49
|
const constants_1 = require("../../core/constants");
|
|
50
|
+
const utils_1 = require("../../core/utils");
|
|
50
51
|
const feedbackComponents = {
|
|
51
52
|
rating: Rating_1.Rating,
|
|
52
53
|
sentiment: Sentiment_1.Sentiment,
|
|
@@ -74,7 +75,9 @@ function Feedback(props) {
|
|
|
74
75
|
return (React.createElement(FeedbackWrapper, { "data-component-name": "Feedback/Feedback" },
|
|
75
76
|
React.createElement(FeedbackComponent, { settings: settings, onSubmit: (values) => {
|
|
76
77
|
submitFeedback({ type, values, path });
|
|
77
|
-
telemetry.sendFeedbackMessage(
|
|
78
|
+
telemetry.sendFeedbackMessage([
|
|
79
|
+
Object.assign(Object.assign({}, (0, utils_1.getBaseDataAttributes)('feedbackFormId', 'feedbackForm')), { feedbackType: type }),
|
|
80
|
+
]);
|
|
78
81
|
} })));
|
|
79
82
|
};
|
|
80
83
|
return React.createElement(React.Fragment, { key: pathname }, renderFeedbackComponent());
|
|
@@ -41,14 +41,13 @@ const React = __importStar(require("react"));
|
|
|
41
41
|
const styled_components_1 = __importDefault(require("styled-components"));
|
|
42
42
|
const hooks_1 = require("../../core/hooks");
|
|
43
43
|
function Reasons({ settings, onChange, className }) {
|
|
44
|
-
const { label, component, items = [] } = settings;
|
|
44
|
+
const { label, component = 'checkbox', items = [] } = settings;
|
|
45
45
|
const [checkedState, setCheckedState] = React.useState(new Array(items.length).fill(false));
|
|
46
46
|
const { useTranslate } = (0, hooks_1.useThemeHooks)();
|
|
47
47
|
const { translate } = useTranslate();
|
|
48
48
|
if (!items.length) {
|
|
49
49
|
return null;
|
|
50
50
|
}
|
|
51
|
-
const input_type = component || 'checkbox';
|
|
52
51
|
const handleOptionChange = (position) => {
|
|
53
52
|
const updatedCheckedState = component === 'checkbox'
|
|
54
53
|
? checkedState.map((item, index) => (index === position ? !item : item))
|
|
@@ -60,7 +59,7 @@ function Reasons({ settings, onChange, className }) {
|
|
|
60
59
|
React.createElement(Label, null, label ||
|
|
61
60
|
translate('feedback.settings.reasons.label', 'Which statement describes your thoughts about this page?')),
|
|
62
61
|
items.map((reason, idx) => (React.createElement(OptionWrapper, { key: reason },
|
|
63
|
-
React.createElement("input", { type:
|
|
62
|
+
React.createElement("input", { type: component, value: reason, checked: checkedState[idx], name: "reasons", onChange: () => handleOptionChange(idx) }),
|
|
64
63
|
React.createElement("label", { "data-translation-key": `feedback.settings.reasons.items.${idx + 1}`, id: reason, onClick: () => handleOptionChange(idx) }, translate(`feedback.settings.reasons.items.${idx + 1}`, reason)))))));
|
|
65
64
|
}
|
|
66
65
|
const ReasonsWrapper = styled_components_1.default.div `
|
|
@@ -49,6 +49,7 @@ const GenericIcon_1 = require("../../icons/GenericIcon/GenericIcon");
|
|
|
49
49
|
const Tag_1 = require("../../components/Tag/Tag");
|
|
50
50
|
function MenuItem(props) {
|
|
51
51
|
var _a, _b;
|
|
52
|
+
var _c;
|
|
52
53
|
const { item, depth, className, onClick } = props;
|
|
53
54
|
const { useTranslate, useTelemetry } = (0, hooks_1.useThemeHooks)();
|
|
54
55
|
const { translate } = useTranslate();
|
|
@@ -101,7 +102,7 @@ function MenuItem(props) {
|
|
|
101
102
|
return (react_1.default.createElement(MenuItemWrapper, { "data-component-name": "Menu/MenuItem", className: generateClassName({ type, item, className }), role: "listitem" },
|
|
102
103
|
item.link ? (react_1.default.createElement(MenuItemLink, { to: item.link, external: item.external, target: item.target, languageInsensitive: item.languageInsensitive, onKeyDown: handleExpandOnEnter }, label)) : (label),
|
|
103
104
|
isNested ? (react_1.default.createElement(MenuItemNestedWrapper, { $isExpanded: isExpanded, $depth: depth, ref: nestedMenuRef, style: style }, isExpanded || !canUnmount ? props.children : null)) : null,
|
|
104
|
-
item.separatorLine ? (react_1.default.createElement(MenuItemSeparatorLine, { $depth: depth, $linePosition: item.linePosition })) : null));
|
|
105
|
+
item.separatorLine ? (react_1.default.createElement(MenuItemSeparatorLine, { $depth: depth, $linePosition: (_c = item.linePosition) !== null && _c !== void 0 ? _c : constants_1.DEFAULT_LINE_POSITION })) : null));
|
|
105
106
|
}
|
|
106
107
|
/* for backward compatibility */
|
|
107
108
|
function isDirectColorValue(color) {
|
|
@@ -47,11 +47,12 @@ const SearchAiMessage_1 = require("../../components/Search/SearchAiMessage");
|
|
|
47
47
|
const Admonition_1 = require("../../components/Admonition/Admonition");
|
|
48
48
|
const AiStarsIcon_1 = require("../../icons/AiStarsIcon/AiStarsIcon");
|
|
49
49
|
function SearchAiDialog({ isGeneratingResponse, response, initialMessage, error, resources, onMessageSent, className, conversation, setConversation, toolCalls = [], contentSegments, }) {
|
|
50
|
+
var _a;
|
|
50
51
|
const { useTranslate } = (0, hooks_1.useThemeHooks)();
|
|
51
52
|
const { aiAssistant } = (0, hooks_1.useThemeConfig)();
|
|
52
53
|
const { translate } = useTranslate();
|
|
53
54
|
const conversationEndRef = react_1.default.useRef(null);
|
|
54
|
-
const suggestions = aiAssistant === null || aiAssistant === void 0 ? void 0 : aiAssistant.suggestions;
|
|
55
|
+
const suggestions = (_a = aiAssistant === null || aiAssistant === void 0 ? void 0 : aiAssistant.suggestions) !== null && _a !== void 0 ? _a : [];
|
|
55
56
|
const placeholder = isGeneratingResponse
|
|
56
57
|
? translate('search.ai.generatingResponse', 'Generating response...')
|
|
57
58
|
: conversation.length > 0
|
|
@@ -19,6 +19,7 @@ const ErrorFilledIcon_1 = require("../../icons/ErrorFilledIcon/ErrorFilledIcon")
|
|
|
19
19
|
const constants_1 = require("../../core/constants");
|
|
20
20
|
const ChatIcon_1 = require("../../icons/ChatIcon/ChatIcon");
|
|
21
21
|
function SearchAiResponse(props) {
|
|
22
|
+
var _a;
|
|
22
23
|
const { useMarkdownText } = (0, hooks_1.useThemeHooks)();
|
|
23
24
|
const { question, response, isGeneratingResponse, resources, error, onSuggestionClick } = props;
|
|
24
25
|
const { aiAssistant } = (0, hooks_1.useThemeConfig)();
|
|
@@ -26,7 +27,7 @@ function SearchAiResponse(props) {
|
|
|
26
27
|
const { translate } = useTranslate();
|
|
27
28
|
const markdownResponse = useMarkdownText(response || '');
|
|
28
29
|
let responseContainer = null;
|
|
29
|
-
const suggestions = aiAssistant === null || aiAssistant === void 0 ? void 0 : aiAssistant.suggestions;
|
|
30
|
+
const suggestions = (_a = aiAssistant === null || aiAssistant === void 0 ? void 0 : aiAssistant.suggestions) !== null && _a !== void 0 ? _a : [];
|
|
30
31
|
const hasPendingOrReceivedResponse = response || isGeneratingResponse || error;
|
|
31
32
|
if (hasPendingOrReceivedResponse) {
|
|
32
33
|
let icon;
|
|
@@ -43,14 +43,14 @@ const hooks_1 = require("../../core/hooks");
|
|
|
43
43
|
const Button_1 = require("../../components/Button/Button");
|
|
44
44
|
const SearchIcon_1 = require("../../icons/SearchIcon/SearchIcon");
|
|
45
45
|
const utils_1 = require("../../core/utils");
|
|
46
|
+
const constants_1 = require("../../core/constants");
|
|
46
47
|
function SearchTrigger({ onClick, className }) {
|
|
47
48
|
var _a;
|
|
48
49
|
var _b;
|
|
49
50
|
const themeSettings = (0, hooks_1.useThemeConfig)();
|
|
50
51
|
const { useTranslate } = (0, hooks_1.useThemeHooks)();
|
|
51
52
|
const { translate } = useTranslate();
|
|
52
|
-
const
|
|
53
|
-
const keyShortcuts = (_b = (_a = themeSettings === null || themeSettings === void 0 ? void 0 : themeSettings.search) === null || _a === void 0 ? void 0 : _a.shortcuts) !== null && _b !== void 0 ? _b : [defaultKeyShortcut];
|
|
53
|
+
const keyShortcuts = (_b = (_a = themeSettings === null || themeSettings === void 0 ? void 0 : themeSettings.search) === null || _a === void 0 ? void 0 : _a.shortcuts) !== null && _b !== void 0 ? _b : [constants_1.DEFAULT_KEYBOARD_SHORTCUTS];
|
|
54
54
|
let mainShortcutKey = null;
|
|
55
55
|
if (keyShortcuts) {
|
|
56
56
|
if (Array.isArray(keyShortcuts)) {
|
|
@@ -67,7 +67,7 @@ function SearchTrigger({ onClick, className }) {
|
|
|
67
67
|
React.createElement(SearchTriggerInput, { "data-testid": "search-trigger-input", "data-translation-key": "search.navbar.label" },
|
|
68
68
|
React.createElement(SearchIcon_1.SearchIcon, null),
|
|
69
69
|
translate('search.navbar.label', 'Search'),
|
|
70
|
-
mainShortcutKey ===
|
|
70
|
+
mainShortcutKey === constants_1.DEFAULT_KEYBOARD_SHORTCUTS ? (React.createElement("span", null, isMac ? '⌘K' : 'Ctrl+K')) : (React.createElement("span", null, mainShortcutKey)))));
|
|
71
71
|
}
|
|
72
72
|
const SearchTriggerWrapper = styled_components_1.default.div `
|
|
73
73
|
color: var(--search-trigger-color);
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.DEFAULT_COLOR_MODES = exports.MobileMenuType = exports.MenuItemType = exports.DEFAULT_FEEDBACK_TYPE = exports.FEEDBACK_TYPES = exports.ICONS_CDN_URL = exports.CONTENT_ID = exports.DEFAULT_LOCALE_PLACEHOLDER = exports.REDOCLY_TEAMS_RBAC = void 0;
|
|
3
|
+
exports.DEFAULT_LINE_POSITION = exports.DEFAULT_COLOR_MODES = exports.MobileMenuType = exports.MenuItemType = exports.DEFAULT_FEEDBACK_TYPE = exports.FEEDBACK_TYPES = exports.ICONS_CDN_URL = exports.CONTENT_ID = exports.DEFAULT_LOCALE_PLACEHOLDER = exports.REDOCLY_TEAMS_RBAC = void 0;
|
|
4
4
|
var config_1 = require("@redocly/config");
|
|
5
5
|
Object.defineProperty(exports, "REDOCLY_TEAMS_RBAC", { enumerable: true, get: function () { return config_1.REDOCLY_TEAMS_RBAC; } });
|
|
6
6
|
exports.DEFAULT_LOCALE_PLACEHOLDER = 'default_locale';
|
|
@@ -37,4 +37,5 @@ exports.DEFAULT_COLOR_MODES = {
|
|
|
37
37
|
LIGHT: 'light',
|
|
38
38
|
DARK: 'dark',
|
|
39
39
|
};
|
|
40
|
+
exports.DEFAULT_LINE_POSITION = 'top';
|
|
40
41
|
//# sourceMappingURL=common.js.map
|
|
@@ -14,6 +14,7 @@ export type AiSearchConversationRole = (typeof AiSearchConversationRole)[keyof t
|
|
|
14
14
|
export declare const AI_SEARCH_ERROR_CONFIG: Record<AiSearchError, AiSearchErrorConfig>;
|
|
15
15
|
export declare const AI_SEARCH_MAX_MESSAGE_LENGTH = 45000;
|
|
16
16
|
export declare const SEARCH_DEBOUNCE_TIME_MS = 300;
|
|
17
|
+
export declare const DEFAULT_KEYBOARD_SHORTCUTS = "\u2318+K,CTRL+K";
|
|
17
18
|
export declare const TOOL_CALL_DISPLAY_TEXT: Partial<Record<string, {
|
|
18
19
|
inProgressText: string;
|
|
19
20
|
completedText: string;
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.TOOL_CALL_DISPLAY_TEXT = exports.SEARCH_DEBOUNCE_TIME_MS = exports.AI_SEARCH_MAX_MESSAGE_LENGTH = exports.AI_SEARCH_ERROR_CONFIG = exports.AiSearchConversationRole = exports.AiSearchError = void 0;
|
|
3
|
+
exports.TOOL_CALL_DISPLAY_TEXT = exports.DEFAULT_KEYBOARD_SHORTCUTS = exports.SEARCH_DEBOUNCE_TIME_MS = exports.AI_SEARCH_MAX_MESSAGE_LENGTH = exports.AI_SEARCH_ERROR_CONFIG = exports.AiSearchConversationRole = exports.AiSearchError = void 0;
|
|
4
4
|
const search_1 = require("../types/search");
|
|
5
5
|
var AiSearchError;
|
|
6
6
|
(function (AiSearchError) {
|
|
@@ -39,6 +39,7 @@ exports.AI_SEARCH_ERROR_CONFIG = {
|
|
|
39
39
|
};
|
|
40
40
|
exports.AI_SEARCH_MAX_MESSAGE_LENGTH = 45000;
|
|
41
41
|
exports.SEARCH_DEBOUNCE_TIME_MS = 300;
|
|
42
|
+
exports.DEFAULT_KEYBOARD_SHORTCUTS = '⌘+K,CTRL+K';
|
|
42
43
|
exports.TOOL_CALL_DISPLAY_TEXT = {
|
|
43
44
|
[search_1.ToolCallName.SearchDocumentation]: {
|
|
44
45
|
inProgressText: 'Searching documentation...',
|
|
@@ -11,6 +11,7 @@ const use_theme_hooks_1 = require("../use-theme-hooks");
|
|
|
11
11
|
const use_theme_config_1 = require("../use-theme-config");
|
|
12
12
|
const contexts_1 = require("../../contexts");
|
|
13
13
|
const utils_1 = require("../../utils");
|
|
14
|
+
const constants_1 = require("../../constants");
|
|
14
15
|
function useSearchDialog() {
|
|
15
16
|
var _a;
|
|
16
17
|
var _b;
|
|
@@ -20,7 +21,7 @@ function useSearchDialog() {
|
|
|
20
21
|
const { useTelemetry } = (0, use_theme_hooks_1.useThemeHooks)();
|
|
21
22
|
const telemetry = useTelemetry();
|
|
22
23
|
const { refreshSearchSessionId } = (0, contexts_1.useSearchSession)();
|
|
23
|
-
const keyShortcuts = (_b = (_a = themeSettings === null || themeSettings === void 0 ? void 0 : themeSettings.search) === null || _a === void 0 ? void 0 : _a.shortcuts) !== null && _b !== void 0 ? _b : [
|
|
24
|
+
const keyShortcuts = (_b = (_a = themeSettings === null || themeSettings === void 0 ? void 0 : themeSettings.search) === null || _a === void 0 ? void 0 : _a.shortcuts) !== null && _b !== void 0 ? _b : [constants_1.DEFAULT_KEYBOARD_SHORTCUTS];
|
|
24
25
|
const hotKeys = keyShortcuts === null || keyShortcuts === void 0 ? void 0 : keyShortcuts.join(',');
|
|
25
26
|
(0, react_1.useEffect)(() => {
|
|
26
27
|
if (hotKeys) {
|
|
@@ -46,8 +46,11 @@ function useActiveHeading(contentElement, displayedHeadings) {
|
|
|
46
46
|
const allHeaders = allContent.querySelectorAll(`.${constants_1.HEADING_ANCHOR_CLASS}`);
|
|
47
47
|
const headers = Array.from(allHeaders);
|
|
48
48
|
if (displayedHeadingsRef.current && displayedHeadingsRef.current.length > 0) {
|
|
49
|
-
|
|
50
|
-
|
|
49
|
+
// Resolve targets by id so anchors that are not headings (e.g. numbered
|
|
50
|
+
// list items with a lifted headline) can be scrolled to and tracked.
|
|
51
|
+
return displayedHeadingsRef.current
|
|
52
|
+
.map((heading) => (heading === null || heading === void 0 ? void 0 : heading.id) ? allContent.querySelector(`[id="${heading.id}"]`) : null)
|
|
53
|
+
.filter((element) => element !== null);
|
|
51
54
|
}
|
|
52
55
|
return headers;
|
|
53
56
|
};
|
|
@@ -6,7 +6,7 @@ export declare const useTelemetryFallback: () => {
|
|
|
6
6
|
sendCatalogEntitiesCopyDataSchemaClickedMessage: () => void;
|
|
7
7
|
sendCatalogEntitiesViewModeChangedMessage: () => void;
|
|
8
8
|
sendCatalogEntitiesRelatedEntitiesListSearchQueryMessage: () => void;
|
|
9
|
-
|
|
9
|
+
sendCatalogEntitiesRelatedEntitiesListSearchResultClickedMessage: () => void;
|
|
10
10
|
sendCatalogEntitiesListSearchQueryMessage: () => void;
|
|
11
11
|
sendCatalogEntitiesListSearchResultClickedMessage: () => void;
|
|
12
12
|
sendRedirectMessage: () => void;
|
|
@@ -11,7 +11,7 @@ const useTelemetryFallback = () => ({
|
|
|
11
11
|
sendCatalogEntitiesCopyDataSchemaClickedMessage: () => { },
|
|
12
12
|
sendCatalogEntitiesViewModeChangedMessage: () => { },
|
|
13
13
|
sendCatalogEntitiesRelatedEntitiesListSearchQueryMessage: () => { },
|
|
14
|
-
|
|
14
|
+
sendCatalogEntitiesRelatedEntitiesListSearchResultClickedMessage: () => { },
|
|
15
15
|
sendCatalogEntitiesListSearchQueryMessage: () => { },
|
|
16
16
|
sendCatalogEntitiesListSearchResultClickedMessage: () => { },
|
|
17
17
|
sendRedirectMessage: () => { },
|
package/lib/core/styles/dark.js
CHANGED
|
@@ -58,6 +58,16 @@ const badgesDarkMode = (0, styled_components_1.css) `
|
|
|
58
58
|
|
|
59
59
|
// @tokens End
|
|
60
60
|
`;
|
|
61
|
+
const numberedListDarkMode = (0, styled_components_1.css) `
|
|
62
|
+
/**
|
|
63
|
+
* @tokens Markdown Numbered List
|
|
64
|
+
*/
|
|
65
|
+
|
|
66
|
+
--md-numbered-list-marker-bg-color: var(--color-warm-grey-3); // @presenter Color
|
|
67
|
+
--md-numbered-list-marker-bg-color-hover: var(--color-warm-grey-4); // @presenter Color
|
|
68
|
+
|
|
69
|
+
// @tokens End
|
|
70
|
+
`;
|
|
61
71
|
exports.darkMode = (0, styled_components_1.css) `
|
|
62
72
|
/* === Dark Theme Colors === */
|
|
63
73
|
|
|
@@ -349,6 +359,7 @@ exports.darkMode = (0, styled_components_1.css) `
|
|
|
349
359
|
${variables_dark_14.bannerDarkMode}
|
|
350
360
|
${variables_dark_15.admonitionDarkMode}
|
|
351
361
|
${badgesDarkMode}
|
|
362
|
+
${numberedListDarkMode}
|
|
352
363
|
${palette_dark_1.activeBrandPaletteDark}
|
|
353
364
|
${variables_dark_16.codeBlockDarkMode}
|
|
354
365
|
/**
|
|
@@ -31,23 +31,24 @@ const variables_26 = require("../../components/Product/variables");
|
|
|
31
31
|
const variables_27 = require("../../components/Markdown/variables");
|
|
32
32
|
const variables_28 = require("../../components/Banner/variables");
|
|
33
33
|
const variables_29 = require("../../markdoc/components/Tabs/variables");
|
|
34
|
-
const variables_30 = require("../../markdoc/components/
|
|
35
|
-
const variables_31 = require("../../components/
|
|
36
|
-
const variables_32 = require("../../components/
|
|
37
|
-
const variables_33 = require("../../components/
|
|
38
|
-
const variables_34 = require("../../components/
|
|
39
|
-
const variables_35 = require("../../components/
|
|
40
|
-
const variables_36 = require("../../components/
|
|
41
|
-
const variables_37 = require("../../components/
|
|
42
|
-
const variables_38 = require("../../components/
|
|
43
|
-
const variables_39 = require("../../components/
|
|
44
|
-
const variables_40 = require("../../
|
|
45
|
-
const variables_41 = require("../../markdoc/components/
|
|
46
|
-
const variables_42 = require("../../components/
|
|
47
|
-
const variables_43 = require("../../components/
|
|
48
|
-
const variables_44 = require("../../components/
|
|
49
|
-
const variables_45 = require("../../components/
|
|
50
|
-
const variables_46 = require("../../components/
|
|
34
|
+
const variables_30 = require("../../markdoc/components/NumberedList/variables");
|
|
35
|
+
const variables_31 = require("../../markdoc/components/Diagram/variables");
|
|
36
|
+
const variables_32 = require("../../components/LastUpdated/variables");
|
|
37
|
+
const variables_33 = require("../../components/Logo/variables");
|
|
38
|
+
const variables_34 = require("../../components/StatusCode/variables");
|
|
39
|
+
const variables_35 = require("../../components/Segmented/variables");
|
|
40
|
+
const variables_36 = require("../../components/UserMenu/variables");
|
|
41
|
+
const variables_37 = require("../../components/Tags/variables");
|
|
42
|
+
const variables_38 = require("../../components/VersionPicker/variables");
|
|
43
|
+
const variables_39 = require("../../components/DatePicker/variables");
|
|
44
|
+
const variables_40 = require("../../components/Switch/variables");
|
|
45
|
+
const variables_41 = require("../../markdoc/components/Cards/variables");
|
|
46
|
+
const variables_42 = require("../../markdoc/components/CodeWalkthrough/variables");
|
|
47
|
+
const variables_43 = require("../../components/SkipContent/variables");
|
|
48
|
+
const variables_44 = require("../../components/PageActions/variables");
|
|
49
|
+
const variables_45 = require("../../components/SvgViewer/variables");
|
|
50
|
+
const variables_46 = require("../../components/Toast/variables");
|
|
51
|
+
const variables_47 = require("../../components/PageNavigation/variables");
|
|
51
52
|
const palette_1 = require("./palette");
|
|
52
53
|
const dark_1 = require("./dark");
|
|
53
54
|
const themeColors = (0, styled_components_1.css) `
|
|
@@ -1300,28 +1301,29 @@ exports.styles = (0, styled_components_1.css) `
|
|
|
1300
1301
|
${variables_20.button}
|
|
1301
1302
|
${variables_21.aiAssistantButton}
|
|
1302
1303
|
${variables_21.connectMCPButton}
|
|
1303
|
-
${
|
|
1304
|
+
${variables_41.cards}
|
|
1304
1305
|
${variables_8.catalog}
|
|
1305
1306
|
${variables_11.catalogClassic}
|
|
1306
1307
|
${variables_25.code}
|
|
1307
|
-
${
|
|
1308
|
+
${variables_42.codeWalkthrough}
|
|
1308
1309
|
${docsDropdown}
|
|
1309
1310
|
${variables_15.dropdown}
|
|
1310
1311
|
${error}
|
|
1311
1312
|
${variables_10.filter}
|
|
1312
1313
|
${variables_19.footer}
|
|
1313
1314
|
${headingsTypography}
|
|
1314
|
-
${
|
|
1315
|
+
${variables_37.httpTag}
|
|
1315
1316
|
${variables_9.image}
|
|
1316
1317
|
${inputs}
|
|
1317
1318
|
${variables_1.languagePicker}
|
|
1318
|
-
${
|
|
1319
|
+
${variables_32.lastUpdated}
|
|
1319
1320
|
${links}
|
|
1320
1321
|
${loadProgressBar}
|
|
1321
|
-
${
|
|
1322
|
+
${variables_33.logo}
|
|
1322
1323
|
${variables_27.markdown}
|
|
1323
1324
|
${variables_29.markdownTabs}
|
|
1324
|
-
${variables_30.
|
|
1325
|
+
${variables_30.markdownNumberedList}
|
|
1326
|
+
${variables_31.diagram}
|
|
1325
1327
|
${variables_24.menu}
|
|
1326
1328
|
${variables_24.mobileMenu}
|
|
1327
1329
|
${modal}
|
|
@@ -1340,26 +1342,26 @@ exports.styles = (0, styled_components_1.css) `
|
|
|
1340
1342
|
${variables_7.toc}
|
|
1341
1343
|
${variables_16.tooltip}
|
|
1342
1344
|
${typography}
|
|
1343
|
-
${
|
|
1344
|
-
${
|
|
1345
|
+
${variables_36.userMenu}
|
|
1346
|
+
${variables_38.versionPicker}
|
|
1345
1347
|
${zIndexDepth}
|
|
1346
1348
|
${scorecardColors}
|
|
1347
|
-
${
|
|
1349
|
+
${variables_34.statusCode}
|
|
1348
1350
|
${tab}
|
|
1349
1351
|
${icon}
|
|
1350
1352
|
${tree}
|
|
1351
|
-
${
|
|
1352
|
-
${
|
|
1353
|
+
${variables_35.segmented}
|
|
1354
|
+
${variables_40.switcher}
|
|
1353
1355
|
${variables_17.checkbox}
|
|
1354
1356
|
${variables_3.feedback}
|
|
1355
1357
|
${variables_2.scorecard}
|
|
1356
|
-
${
|
|
1358
|
+
${variables_39.datePicker}
|
|
1357
1359
|
${replay}
|
|
1358
|
-
${
|
|
1359
|
-
${
|
|
1360
|
-
${
|
|
1361
|
-
${
|
|
1362
|
-
${
|
|
1360
|
+
${variables_43.skipContent}
|
|
1361
|
+
${variables_44.pageActions}
|
|
1362
|
+
${variables_45.svgViewer}
|
|
1363
|
+
${variables_46.toast}
|
|
1364
|
+
${variables_47.pageNavigation}
|
|
1363
1365
|
|
|
1364
1366
|
background-color: var(--bg-color);
|
|
1365
1367
|
color: var(--text-color-primary);
|