@redocly/theme 0.59.0-next.2 → 0.59.0-rc.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/Catalog/CatalogEntity/CatalogEntityRelations/CatalogEntityApiDescriptionRelations.js +1 -1
- package/lib/components/Catalog/CatalogEntity/CatalogEntityRelations/CatalogEntityTeamRelations.js +1 -1
- package/lib/components/Catalog/CatalogTagsWithTooltip.js +1 -1
- package/lib/components/Dropdown/Dropdown.d.ts +2 -16
- package/lib/components/Dropdown/Dropdown.js +5 -5
- package/lib/components/Menu/MenuItem.js +1 -1
- package/lib/components/OpenApiDocs/hooks/AdditionalOverviewInfo.d.ts +1 -0
- package/lib/components/OpenApiDocs/hooks/AdditionalOverviewInfo.js +11 -0
- package/lib/components/OpenApiDocs/hooks/AfterOpenApiDescription.d.ts +1 -0
- package/lib/components/OpenApiDocs/hooks/AfterOpenApiDescription.js +5 -0
- package/lib/components/Search/SearchAiConversationInput.d.ts +1 -2
- package/lib/components/Search/SearchAiConversationInput.js +3 -11
- package/lib/components/Search/SearchDialog.js +3 -6
- package/lib/components/Search/variables.js +1 -5
- package/lib/components/Select/variables.js +2 -2
- package/lib/components/Tag/Tag.js +4 -4
- package/lib/core/constants/search.d.ts +4 -5
- package/lib/core/constants/search.js +5 -4
- package/lib/core/hooks/use-tabs.d.ts +2 -3
- package/lib/core/hooks/use-tabs.js +57 -115
- package/lib/core/types/hooks.d.ts +2 -2
- package/lib/ext/process-scorecard.d.ts +5 -0
- package/lib/ext/process-scorecard.js +11 -0
- package/lib/icons/AiStarsIcon/AiStarsIcon.js +2 -11
- package/lib/icons/RedoclyIcon/RedoclyIcon.js +7 -4
- package/lib/index.d.ts +2 -0
- package/lib/index.js +2 -0
- package/lib/markdoc/components/Tabs/TabList.d.ts +1 -3
- package/lib/markdoc/components/Tabs/TabList.js +47 -197
- package/lib/markdoc/components/Tabs/Tabs.d.ts +1 -2
- package/lib/markdoc/components/Tabs/Tabs.js +12 -57
- package/package.json +3 -3
- package/src/components/Catalog/CatalogEntity/CatalogEntityRelations/CatalogEntityApiDescriptionRelations.tsx +1 -1
- package/src/components/Catalog/CatalogEntity/CatalogEntityRelations/CatalogEntityTeamRelations.tsx +1 -1
- package/src/components/Catalog/CatalogTagsWithTooltip.tsx +5 -1
- package/src/components/Dropdown/Dropdown.tsx +79 -84
- package/src/components/Menu/MenuItem.tsx +0 -1
- package/src/components/OpenApiDocs/hooks/AdditionalOverviewInfo.tsx +9 -0
- package/src/components/OpenApiDocs/hooks/AfterOpenApiDescription.tsx +1 -0
- package/src/components/Search/SearchAiConversationInput.tsx +2 -12
- package/src/components/Search/SearchDialog.tsx +3 -6
- package/src/components/Search/variables.ts +1 -5
- package/src/components/Select/variables.ts +2 -2
- package/src/components/Tag/Tag.tsx +6 -6
- package/src/core/constants/search.ts +4 -8
- package/src/core/hooks/use-tabs.ts +86 -168
- package/src/core/types/hooks.ts +1 -5
- package/src/ext/process-scorecard.ts +13 -0
- package/src/icons/AiStarsIcon/AiStarsIcon.tsx +2 -11
- package/src/icons/RedoclyIcon/RedoclyIcon.tsx +22 -4
- package/src/index.ts +2 -0
- package/src/markdoc/components/Tabs/TabList.tsx +105 -312
- package/src/markdoc/components/Tabs/Tabs.tsx +11 -136
|
@@ -6,20 +6,15 @@ const react_1 = require("react");
|
|
|
6
6
|
const react_router_dom_1 = require("react-router-dom");
|
|
7
7
|
const MORE_BUTTON_WIDTH = 80;
|
|
8
8
|
const TABS_GAP = 8;
|
|
9
|
-
function useTabs({ activeTab, onTabChange, totalTabs, containerRef
|
|
9
|
+
function useTabs({ activeTab, onTabChange, totalTabs, containerRef }) {
|
|
10
10
|
const [tabs, setTabs] = (0, react_1.useState)({
|
|
11
11
|
visible: Array.from({ length: totalTabs }, (_, i) => i),
|
|
12
12
|
overflow: [],
|
|
13
13
|
});
|
|
14
|
-
const [isReady, setIsReady] = (0, react_1.useState)(false);
|
|
15
|
-
const isFirstCalculation = (0, react_1.useRef)(true);
|
|
16
14
|
const tabRefs = (0, react_1.useRef)([]);
|
|
17
15
|
const tabWidthsRef = (0, react_1.useRef)([]);
|
|
18
16
|
const tabLabelsRef = (0, react_1.useRef)([]);
|
|
19
|
-
const
|
|
20
|
-
const calculateVisibleTabsRef = (0, react_1.useRef)(null);
|
|
21
|
-
// Synchronously update ref before any callbacks or effects run
|
|
22
|
-
activeTabRef.current = activeTab;
|
|
17
|
+
const allTabsHidden = (0, react_1.useMemo)(() => tabs.visible.length === 0, [tabs.visible]);
|
|
23
18
|
const setTabRef = (0, react_1.useCallback)((element, index) => {
|
|
24
19
|
tabRefs.current[index] = element;
|
|
25
20
|
const width = element === null || element === void 0 ? void 0 : element.offsetWidth;
|
|
@@ -30,25 +25,18 @@ function useTabs({ activeTab, onTabChange, totalTabs, containerRef, }) {
|
|
|
30
25
|
if (label) {
|
|
31
26
|
tabLabelsRef.current[index] = label;
|
|
32
27
|
}
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
tabWidthsRef.current.length >= totalTabs &&
|
|
36
|
-
tabLabelsRef.current.length >= totalTabs &&
|
|
37
|
-
calculateVisibleTabsRef.current) {
|
|
38
|
-
requestAnimationFrame(calculateVisibleTabsRef.current);
|
|
39
|
-
}
|
|
40
|
-
}, [totalTabs]);
|
|
41
|
-
const focusTab = (0, react_1.useCallback)((index) => {
|
|
28
|
+
}, []);
|
|
29
|
+
const focusTab = (index) => {
|
|
42
30
|
const currentElement = tabRefs.current[index];
|
|
43
31
|
currentElement === null || currentElement === void 0 ? void 0 : currentElement.focus();
|
|
44
|
-
}
|
|
32
|
+
};
|
|
45
33
|
const onTabSelect = (0, react_1.useCallback)((index) => {
|
|
46
34
|
var _a;
|
|
47
35
|
focusTab(index);
|
|
48
36
|
const label = (_a = tabRefs.current[index]) === null || _a === void 0 ? void 0 : _a.getAttribute('data-label');
|
|
49
37
|
if (label)
|
|
50
38
|
onTabChange(label);
|
|
51
|
-
}, [onTabChange
|
|
39
|
+
}, [onTabChange]);
|
|
52
40
|
const handleKeyboard = (0, react_1.useCallback)((event, index) => {
|
|
53
41
|
let newIndex = index;
|
|
54
42
|
if (event.key === 'ArrowRight') {
|
|
@@ -71,155 +59,109 @@ function useTabs({ activeTab, onTabChange, totalTabs, containerRef, }) {
|
|
|
71
59
|
onTabSelect(newIndex);
|
|
72
60
|
}, [totalTabs, onTabSelect]);
|
|
73
61
|
const replaceLastVisibleTabWithClickedOverflowTab = (0, react_1.useCallback)((clickedIndex) => {
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
62
|
+
const { visible: visibleTabs, overflow: overflowTabs } = tabs;
|
|
63
|
+
// Indexes of visible tabs should be sorted(asc), to replace the last visible tab with the clicked tab
|
|
64
|
+
const newVisibleTabs = [...visibleTabs].sort((a, b) => a - b);
|
|
65
|
+
const newOverflowTabs = [...overflowTabs];
|
|
66
|
+
const clickedIdxInOverflow = newOverflowTabs.indexOf(clickedIndex);
|
|
67
|
+
if (clickedIdxInOverflow !== -1) {
|
|
68
|
+
const lastVisible = newVisibleTabs[newVisibleTabs.length - 1];
|
|
69
|
+
newOverflowTabs.splice(clickedIdxInOverflow, 1);
|
|
70
|
+
newOverflowTabs.unshift(lastVisible);
|
|
71
|
+
newVisibleTabs.splice(newVisibleTabs.length - 1, 1);
|
|
72
|
+
newVisibleTabs.unshift(clickedIndex);
|
|
73
|
+
}
|
|
74
|
+
setTabs({
|
|
75
|
+
visible: newVisibleTabs,
|
|
76
|
+
overflow: newOverflowTabs,
|
|
82
77
|
});
|
|
83
|
-
}, []);
|
|
78
|
+
}, [tabs]);
|
|
84
79
|
const onTabClick = (0, react_1.useCallback)((labelOrIndex) => {
|
|
85
80
|
const clickedIndex = typeof labelOrIndex === 'string'
|
|
86
81
|
? tabRefs.current.findIndex((ref) => (ref === null || ref === void 0 ? void 0 : ref.getAttribute('data-label')) === labelOrIndex)
|
|
87
82
|
: labelOrIndex;
|
|
88
83
|
if (clickedIndex === -1)
|
|
89
84
|
return;
|
|
90
|
-
const
|
|
91
|
-
if (!
|
|
92
|
-
return;
|
|
93
|
-
// If this is an overflow tab, replace it with a visible one
|
|
94
|
-
if (tabs.overflow.includes(clickedIndex)) {
|
|
85
|
+
const hasOverflowTabs = tabs.overflow.length > 0;
|
|
86
|
+
if (hasOverflowTabs && !allTabsHidden && tabs.overflow.includes(clickedIndex)) {
|
|
95
87
|
replaceLastVisibleTabWithClickedOverflowTab(clickedIndex);
|
|
96
88
|
}
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
89
|
+
const label = tabLabelsRef.current[clickedIndex];
|
|
90
|
+
if (label) {
|
|
91
|
+
onTabChange(label);
|
|
92
|
+
focusTab(clickedIndex);
|
|
93
|
+
}
|
|
94
|
+
}, [allTabsHidden, tabs.overflow, onTabChange, replaceLastVisibleTabWithClickedOverflowTab]);
|
|
100
95
|
const calculateVisibleTabs = (0, react_1.useCallback)(() => {
|
|
101
96
|
const container = containerRef === null || containerRef === void 0 ? void 0 : containerRef.current;
|
|
102
97
|
if (!container)
|
|
103
98
|
return;
|
|
104
99
|
const containerWidth = container.offsetWidth;
|
|
105
100
|
const tabWidths = tabWidthsRef.current;
|
|
106
|
-
const
|
|
107
|
-
//
|
|
108
|
-
if (tabWidths.length < totalTabs || tabLabels.length < totalTabs) {
|
|
109
|
-
return;
|
|
110
|
-
}
|
|
111
|
-
// Check if container has proper width (not zero)
|
|
112
|
-
if (containerWidth === 0) {
|
|
113
|
-
return;
|
|
114
|
-
}
|
|
115
|
-
// Find active tab index by label in tabLabelsRef, not by DOM element
|
|
116
|
-
// because tab might not be rendered if it's in overflow
|
|
117
|
-
const activeTabIndex = tabLabels.findIndex((label) => label === activeTabRef.current);
|
|
101
|
+
const activeTabIndex = tabRefs.current.findIndex((ref) => (ref === null || ref === void 0 ? void 0 : ref.getAttribute('data-label')) === activeTab);
|
|
102
|
+
// Active tab should always be visible, so we include it at the beginning of the array
|
|
118
103
|
let tabsWidth = activeTabIndex !== -1 ? tabWidths[activeTabIndex] : 0;
|
|
119
|
-
const
|
|
120
|
-
const
|
|
104
|
+
const visible = activeTabIndex !== -1 ? [activeTabIndex] : [];
|
|
105
|
+
const overflow = [];
|
|
121
106
|
for (let i = 0; i < tabWidths.length; i++) {
|
|
122
|
-
|
|
107
|
+
// Skip active tab, it was added initially
|
|
108
|
+
if (i === activeTabIndex) {
|
|
123
109
|
continue;
|
|
110
|
+
}
|
|
124
111
|
const tabWidthWithGap = tabWidths[i] + TABS_GAP;
|
|
125
112
|
const projectedWidth = tabsWidth + tabWidthWithGap;
|
|
126
113
|
if (projectedWidth <= containerWidth) {
|
|
127
|
-
|
|
114
|
+
visible.push(i);
|
|
128
115
|
tabsWidth += tabWidthWithGap;
|
|
129
116
|
}
|
|
130
117
|
else {
|
|
131
|
-
|
|
118
|
+
overflow.push(i);
|
|
132
119
|
}
|
|
133
120
|
}
|
|
134
|
-
if (
|
|
121
|
+
if (overflow.length > 0) {
|
|
135
122
|
tabsWidth += MORE_BUTTON_WIDTH;
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
if (removed !== undefined
|
|
140
|
-
|
|
123
|
+
// Remove tabs starting from the end of the array until the width of the visible tabs is less than the container width
|
|
124
|
+
while (tabsWidth > containerWidth && visible.length) {
|
|
125
|
+
const removed = visible.pop();
|
|
126
|
+
if (removed !== undefined) {
|
|
127
|
+
overflow.unshift(removed);
|
|
141
128
|
tabsWidth -= tabWidths[removed];
|
|
142
129
|
}
|
|
143
|
-
else if (removed === activeTabIndex) {
|
|
144
|
-
// Put it back if we accidentally removed the active tab
|
|
145
|
-
visibleTabs.push(removed);
|
|
146
|
-
break;
|
|
147
|
-
}
|
|
148
|
-
}
|
|
149
|
-
// If even with only the active tab visible, it doesn't fit with More button,
|
|
150
|
-
// move all tabs to overflow (show only dropdown)
|
|
151
|
-
if (tabsWidth > containerWidth && visibleTabs.length === 1) {
|
|
152
|
-
overflowTabs.unshift(...visibleTabs);
|
|
153
|
-
visibleTabs.length = 0;
|
|
154
130
|
}
|
|
155
131
|
}
|
|
156
132
|
setTabs({
|
|
157
|
-
visible
|
|
158
|
-
overflow
|
|
133
|
+
visible,
|
|
134
|
+
overflow,
|
|
159
135
|
});
|
|
160
|
-
|
|
161
|
-
if (isFirstCalculation.current) {
|
|
162
|
-
isFirstCalculation.current = false;
|
|
163
|
-
setIsReady(true);
|
|
164
|
-
}
|
|
165
|
-
}, [containerRef, totalTabs]);
|
|
166
|
-
// Store calculateVisibleTabs in ref for use in setTabRef
|
|
167
|
-
calculateVisibleTabsRef.current = calculateVisibleTabs;
|
|
168
|
-
// Reset isFirstCalculation when totalTabs changes (new page/tabs)
|
|
136
|
+
}, [containerRef, activeTab]);
|
|
169
137
|
(0, react_1.useEffect)(() => {
|
|
170
|
-
|
|
171
|
-
setIsReady(false);
|
|
172
|
-
// Clear refs so we wait for new tabs to register
|
|
173
|
-
tabWidthsRef.current = [];
|
|
174
|
-
tabLabelsRef.current = [];
|
|
175
|
-
}, [totalTabs]);
|
|
176
|
-
// Call calculateVisibleTabs on first render and resize
|
|
177
|
-
(0, react_1.useEffect)(() => {
|
|
178
|
-
const container = containerRef === null || containerRef === void 0 ? void 0 : containerRef.current;
|
|
179
|
-
if (!container)
|
|
138
|
+
if (!(containerRef === null || containerRef === void 0 ? void 0 : containerRef.current))
|
|
180
139
|
return;
|
|
181
|
-
let resizeTimeout =
|
|
182
|
-
// Use ResizeObserver to wait until container has proper size
|
|
183
|
-
const resizeObserver = new ResizeObserver(() => {
|
|
184
|
-
if (resizeTimeout)
|
|
185
|
-
cancelAnimationFrame(resizeTimeout);
|
|
186
|
-
resizeTimeout = requestAnimationFrame(calculateVisibleTabs);
|
|
187
|
-
});
|
|
188
|
-
resizeObserver.observe(container);
|
|
140
|
+
let resizeTimeout = requestAnimationFrame(calculateVisibleTabs);
|
|
189
141
|
const handleResize = () => {
|
|
190
|
-
if (resizeTimeout)
|
|
142
|
+
if (resizeTimeout) {
|
|
191
143
|
cancelAnimationFrame(resizeTimeout);
|
|
144
|
+
}
|
|
192
145
|
resizeTimeout = requestAnimationFrame(calculateVisibleTabs);
|
|
193
146
|
};
|
|
194
147
|
window.addEventListener('resize', handleResize);
|
|
195
148
|
return () => {
|
|
196
|
-
resizeObserver.disconnect();
|
|
197
149
|
window.removeEventListener('resize', handleResize);
|
|
198
|
-
|
|
199
|
-
cancelAnimationFrame(resizeTimeout);
|
|
150
|
+
cancelAnimationFrame(resizeTimeout);
|
|
200
151
|
};
|
|
201
152
|
}, [containerRef, totalTabs, calculateVisibleTabs]);
|
|
202
|
-
// Recalculate when activeTab changes to ensure it's visible
|
|
203
|
-
(0, react_1.useEffect)(() => {
|
|
204
|
-
if (!(containerRef === null || containerRef === void 0 ? void 0 : containerRef.current) || isFirstCalculation.current)
|
|
205
|
-
return;
|
|
206
|
-
requestAnimationFrame(calculateVisibleTabs);
|
|
207
|
-
}, [activeTab, containerRef, calculateVisibleTabs]);
|
|
208
153
|
return {
|
|
209
154
|
setTabRef,
|
|
210
155
|
onTabClick,
|
|
211
156
|
handleKeyboard,
|
|
212
157
|
visibleTabs: tabs.visible,
|
|
213
158
|
overflowTabs: tabs.overflow,
|
|
214
|
-
|
|
159
|
+
allTabsHidden,
|
|
215
160
|
};
|
|
216
161
|
}
|
|
217
162
|
const useActiveTab = ({ initialTab, tabsId }) => {
|
|
218
163
|
const [searchParams, setSearchParams] = (0, react_router_dom_1.useSearchParams)();
|
|
219
|
-
const
|
|
220
|
-
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
221
|
-
[]);
|
|
222
|
-
const [activeTab, setActiveTab] = (0, react_1.useState)(initialTabValue);
|
|
164
|
+
const [activeTab, setActiveTab] = (0, react_1.useState)(getInitialTab({ initialTab, searchParams, tabsId }));
|
|
223
165
|
const prevActiveTabRef = (0, react_1.useRef)(activeTab);
|
|
224
166
|
(0, react_1.useEffect)(() => {
|
|
225
167
|
const hasActiveTabChanged = prevActiveTabRef.current !== activeTab;
|
|
@@ -232,10 +174,10 @@ const useActiveTab = ({ initialTab, tabsId }) => {
|
|
|
232
174
|
return searchParams;
|
|
233
175
|
});
|
|
234
176
|
}, [activeTab, setSearchParams, tabsId]);
|
|
235
|
-
return
|
|
177
|
+
return {
|
|
236
178
|
activeTab,
|
|
237
179
|
setActiveTab,
|
|
238
|
-
}
|
|
180
|
+
};
|
|
239
181
|
};
|
|
240
182
|
exports.useActiveTab = useActiveTab;
|
|
241
183
|
const getInitialTab = ({ initialTab, searchParams, tabsId }) => {
|
|
@@ -60,7 +60,7 @@ export type ThemeHooks = {
|
|
|
60
60
|
breadcrumbs: BreadcrumbItem[];
|
|
61
61
|
currentItemSiblings?: BreadcrumbItem[];
|
|
62
62
|
};
|
|
63
|
-
useSearch: (product?: string, autoSearchDisabled?: boolean
|
|
63
|
+
useSearch: (product?: string, autoSearchDisabled?: boolean) => {
|
|
64
64
|
query: string;
|
|
65
65
|
setQuery: React.Dispatch<React.SetStateAction<string>>;
|
|
66
66
|
filter: SearchFilterItem[];
|
|
@@ -78,7 +78,7 @@ export type ThemeHooks = {
|
|
|
78
78
|
};
|
|
79
79
|
useAiSearch: (options?: {
|
|
80
80
|
filter?: SearchFilterItem[];
|
|
81
|
-
}
|
|
81
|
+
}) => {
|
|
82
82
|
askQuestion: (question: string, history?: AiSearchConversationItem[]) => void;
|
|
83
83
|
isGeneratingResponse: boolean;
|
|
84
84
|
question: string;
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.useProcessScorecard = useProcessScorecard;
|
|
4
|
+
const react_1 = require("react");
|
|
5
|
+
function useProcessScorecard() {
|
|
6
|
+
return {
|
|
7
|
+
processScorecard: (0, react_1.useCallback)((scorecard) => scorecard, []),
|
|
8
|
+
processInfo: (0, react_1.useCallback)((info) => info, []),
|
|
9
|
+
};
|
|
10
|
+
}
|
|
11
|
+
//# sourceMappingURL=process-scorecard.js.map
|
|
@@ -30,27 +30,18 @@ exports.AiStarsIcon = (0, styled_components_1.default)(Icon).attrs(() => ({
|
|
|
30
30
|
height: ${({ size }) => size || '16px'};
|
|
31
31
|
width: ${({ size }) => size || '16px'};
|
|
32
32
|
|
|
33
|
-
${({ background, borderRadius, margin
|
|
33
|
+
${({ background, borderRadius, margin }) => background &&
|
|
34
34
|
`
|
|
35
35
|
display: flex;
|
|
36
36
|
align-items: center;
|
|
37
37
|
justify-content: center;
|
|
38
|
-
flex-shrink: 0;
|
|
39
38
|
|
|
40
39
|
background: ${(0, utils_1.getCssColorVariable)(background)};
|
|
41
|
-
width: ${size || '16px'};
|
|
42
|
-
height: ${size || '16px'};
|
|
43
40
|
|
|
44
|
-
padding:
|
|
41
|
+
padding: var(--spacing-xs);
|
|
45
42
|
margin: ${margin || '0'};
|
|
46
43
|
|
|
47
44
|
border-radius: ${background && borderRadius ? borderRadius : 'none'};
|
|
48
|
-
|
|
49
|
-
svg {
|
|
50
|
-
width: calc(${size || '16px'} - 2 * (${padding || 'var(--spacing-xs)'}));
|
|
51
|
-
height: calc(${size || '16px'} - 2 * (${padding || 'var(--spacing-xs)'}));
|
|
52
|
-
flex-shrink: 0;
|
|
53
|
-
}
|
|
54
45
|
`}
|
|
55
46
|
|
|
56
47
|
color: ${({ color }) => color && (0, utils_1.getCssColorVariable)(color)};
|
|
@@ -7,10 +7,13 @@ exports.RedoclyIcon = void 0;
|
|
|
7
7
|
const react_1 = __importDefault(require("react"));
|
|
8
8
|
const styled_components_1 = __importDefault(require("styled-components"));
|
|
9
9
|
const utils_1 = require("../../core/utils");
|
|
10
|
-
const Icon = (props) => (react_1.default.createElement("svg", Object.assign({ viewBox: "0 0 18 18", xmlns: "http://www.w3.org/2000/svg" }, props),
|
|
11
|
-
react_1.default.createElement("g",
|
|
12
|
-
react_1.default.createElement("path", { d: "M14.625 6.19973C14.625 8.69176 12.6173 10.712 10.1406 10.712H2.8125V10.2717C5.04753 10.2717 6.85938 8.44864 6.85938 6.19973C6.85938 3.95082 5.04753 2.12772 2.8125 2.12772V1.6875H10.1406C12.6173 1.6875 14.625 3.70769 14.625 6.19973Z" }),
|
|
13
|
-
react_1.default.createElement("path", { d: "M14.625 16.875C14.625 14.383 12.6173 12.3628 10.1406 12.3628H2.8125V12.803C5.04753 12.803 6.85938 14.6261 6.85938 16.875H14.625Z" }))
|
|
10
|
+
const Icon = (props) => (react_1.default.createElement("svg", Object.assign({ width: "18", height: "18", viewBox: "0 0 18 18", fill: "none", xmlns: "http://www.w3.org/2000/svg" }, props),
|
|
11
|
+
react_1.default.createElement("g", { clipPath: "url(#clip0_4053_1165)" },
|
|
12
|
+
react_1.default.createElement("path", { d: "M14.625 6.19973C14.625 8.69176 12.6173 10.712 10.1406 10.712H2.8125V10.2717C5.04753 10.2717 6.85938 8.44864 6.85938 6.19973C6.85938 3.95082 5.04753 2.12772 2.8125 2.12772V1.6875H10.1406C12.6173 1.6875 14.625 3.70769 14.625 6.19973Z", fill: "#2467F2" }),
|
|
13
|
+
react_1.default.createElement("path", { d: "M14.625 16.875C14.625 14.383 12.6173 12.3628 10.1406 12.3628H2.8125V12.803C5.04753 12.803 6.85938 14.6261 6.85938 16.875H14.625Z", fill: "#2467F2" })),
|
|
14
|
+
react_1.default.createElement("defs", null,
|
|
15
|
+
react_1.default.createElement("clipPath", { id: "clip0_4053_1165" },
|
|
16
|
+
react_1.default.createElement("rect", { width: "18", height: "18", fill: "white" })))));
|
|
14
17
|
exports.RedoclyIcon = (0, styled_components_1.default)(Icon).attrs(() => ({
|
|
15
18
|
'data-component-name': 'icons/RedoclyIcon/RedoclyIcon',
|
|
16
19
|
})) `
|
package/lib/index.d.ts
CHANGED
|
@@ -78,9 +78,11 @@ export * from './components/UserMenu/UserMenuMobile';
|
|
|
78
78
|
export * from './components/Sidebar/Sidebar';
|
|
79
79
|
export * from './components/OpenApiDocs/hooks/AfterOpenApiOperation';
|
|
80
80
|
export * from './components/OpenApiDocs/hooks/AfterOpenApiTitle';
|
|
81
|
+
export * from './components/OpenApiDocs/hooks/AfterOpenApiDescription';
|
|
81
82
|
export * from './components/OpenApiDocs/hooks/BeforeOpenApiOperation';
|
|
82
83
|
export * from './components/OpenApiDocs/hooks/OpenApiFooter';
|
|
83
84
|
export * from './components/OpenApiDocs/hooks/OpenApiHeader';
|
|
85
|
+
export * from './components/OpenApiDocs/hooks/AdditionalOverviewInfo';
|
|
84
86
|
export * from './components/SidebarActions/ChangeViewButton';
|
|
85
87
|
export * from './components/SidebarActions/SidebarActions';
|
|
86
88
|
export * from './components/SidebarActions/styled';
|
package/lib/index.js
CHANGED
|
@@ -131,9 +131,11 @@ __exportStar(require("./components/Sidebar/Sidebar"), exports);
|
|
|
131
131
|
/* OpenApiDocs */
|
|
132
132
|
__exportStar(require("./components/OpenApiDocs/hooks/AfterOpenApiOperation"), exports);
|
|
133
133
|
__exportStar(require("./components/OpenApiDocs/hooks/AfterOpenApiTitle"), exports);
|
|
134
|
+
__exportStar(require("./components/OpenApiDocs/hooks/AfterOpenApiDescription"), exports);
|
|
134
135
|
__exportStar(require("./components/OpenApiDocs/hooks/BeforeOpenApiOperation"), exports);
|
|
135
136
|
__exportStar(require("./components/OpenApiDocs/hooks/OpenApiFooter"), exports);
|
|
136
137
|
__exportStar(require("./components/OpenApiDocs/hooks/OpenApiHeader"), exports);
|
|
138
|
+
__exportStar(require("./components/OpenApiDocs/hooks/AdditionalOverviewInfo"), exports);
|
|
137
139
|
/* SidebarActions */
|
|
138
140
|
__exportStar(require("./components/SidebarActions/ChangeViewButton"), exports);
|
|
139
141
|
__exportStar(require("./components/SidebarActions/SidebarActions"), exports);
|
|
@@ -6,10 +6,8 @@ type TabListProps = {
|
|
|
6
6
|
size: TabsSize;
|
|
7
7
|
activeTab: string;
|
|
8
8
|
onTabChange: (tab: string) => void;
|
|
9
|
-
containerRef: React.RefObject<HTMLUListElement | null>;
|
|
10
|
-
onReadyChange?: (isReady: boolean) => void;
|
|
11
9
|
};
|
|
12
|
-
export declare function TabList({ childrenArray, size, activeTab, onTabChange,
|
|
10
|
+
export declare function TabList({ childrenArray, size, activeTab, onTabChange, }: TabListProps): JSX.Element;
|
|
13
11
|
export declare const TabListContainer: import("styled-components").StyledComponent<"ul", any, {}, never>;
|
|
14
12
|
export declare const TabItem: import("styled-components").StyledComponent<"li", any, {
|
|
15
13
|
active?: boolean;
|