@redocly/theme 0.63.0-next.4 → 0.63.0-next.6

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (136) hide show
  1. package/lib/components/Accordion/variables.js +2 -2
  2. package/lib/components/Buttons/DownloadButton.d.ts +6 -0
  3. package/lib/components/Buttons/DownloadButton.js +20 -0
  4. package/lib/components/Buttons/EmailButton.js +6 -1
  5. package/lib/components/Buttons/NewTabButton.js +6 -1
  6. package/lib/components/Catalog/Catalog.js +114 -50
  7. package/lib/components/Catalog/CatalogAvatar.d.ts +5 -0
  8. package/lib/components/Catalog/CatalogAvatar.js +92 -0
  9. package/lib/components/Catalog/CatalogCardView/CatalogCard.js +26 -7
  10. package/lib/components/Catalog/CatalogCardView/CatalogCardView.js +10 -2
  11. package/lib/components/Catalog/CatalogEntity/CatalogEntity.js +17 -17
  12. package/lib/components/Catalog/CatalogEntity/CatalogEntityGraph/CatalogEntityRelationsLinkedNode.js +4 -20
  13. package/lib/components/Catalog/CatalogEntity/CatalogEntityGraph/CatalogEntityRelationsNodeContent.d.ts +7 -0
  14. package/lib/components/Catalog/CatalogEntity/CatalogEntityGraph/CatalogEntityRelationsNodeContent.js +53 -0
  15. package/lib/components/Catalog/CatalogEntity/CatalogEntityGraph/CatalogEntityRelationsRootNode.js +3 -17
  16. package/lib/components/Catalog/CatalogEntity/CatalogEntityHistory/CatalogEntityHistoryButton.js +30 -9
  17. package/lib/components/Catalog/CatalogEntity/CatalogEntityHistory/CatalogEntityHistorySidebar.js +16 -3
  18. package/lib/components/Catalog/CatalogEntity/CatalogEntityHistory/CatalogEntityVersionItem.js +8 -4
  19. package/lib/components/Catalog/CatalogEntity/CatalogEntityProperties/CatalogEntityProperties.js +11 -5
  20. package/lib/components/Catalog/CatalogEntity/CatalogEntityProperties/DomainsProperty.js +1 -1
  21. package/lib/components/Catalog/CatalogEntity/CatalogEntityProperties/OwnersProperty.js +1 -1
  22. package/lib/components/Catalog/CatalogEntity/CatalogEntityRelations/CatalogEntityApiDescriptionRelations.js +1 -1
  23. package/lib/components/Catalog/CatalogEntity/CatalogEntityRelations/CatalogEntityRelationsTable.js +4 -1
  24. package/lib/components/Catalog/CatalogEntity/CatalogEntityRelations/CatalogEntityRelationsTableContent.js +7 -2
  25. package/lib/components/Catalog/CatalogEntity/CatalogEntityRelations/CatalogEntityTeamRelations.js +1 -1
  26. package/lib/components/Catalog/CatalogEntity/CatalogEntitySchema.js +1 -1
  27. package/lib/components/Catalog/CatalogFilter/CatalogFilterCheckboxes.js +1 -1
  28. package/lib/components/Catalog/CatalogFilter/CatalogFilterContent.d.ts +4 -2
  29. package/lib/components/Catalog/CatalogFilter/CatalogFilterContent.js +25 -8
  30. package/lib/components/Catalog/CatalogMobileFiltersPanel/CatalogMobileFiltersPanel.d.ts +7 -0
  31. package/lib/components/Catalog/CatalogMobileFiltersPanel/CatalogMobileFiltersPanel.js +24 -0
  32. package/lib/components/Catalog/CatalogMobileFiltersPanel/CatalogMobileFiltersPanelHeader.d.ts +6 -0
  33. package/lib/components/Catalog/CatalogMobileFiltersPanel/CatalogMobileFiltersPanelHeader.js +26 -0
  34. package/lib/components/Catalog/CatalogMobileFiltersPanel/CatalogMobileFiltersPanelOverlay.d.ts +7 -0
  35. package/lib/components/Catalog/CatalogMobileFiltersPanel/CatalogMobileFiltersPanelOverlay.js +30 -0
  36. package/lib/components/Catalog/CatalogMobileTopBar/CatalogMobileTopBar.d.ts +13 -0
  37. package/lib/components/Catalog/CatalogMobileTopBar/CatalogMobileTopBar.js +30 -0
  38. package/lib/components/Catalog/CatalogMobileTopBar/CatalogMobileTopBarControls.d.ts +11 -0
  39. package/lib/components/Catalog/CatalogMobileTopBar/CatalogMobileTopBarControls.js +21 -0
  40. package/lib/components/Catalog/CatalogMobileTopBar/CatalogMobileTopBarFiltersButton.d.ts +7 -0
  41. package/lib/components/Catalog/CatalogMobileTopBar/CatalogMobileTopBarFiltersButton.js +25 -0
  42. package/lib/components/Catalog/CatalogPageDescription.js +0 -6
  43. package/lib/components/Catalog/CatalogSelector.d.ts +0 -1
  44. package/lib/components/Catalog/CatalogSelector.js +50 -16
  45. package/lib/components/Catalog/CatalogTableView/CatalogTableView.d.ts +2 -1
  46. package/lib/components/Catalog/CatalogTableView/CatalogTableView.js +20 -5
  47. package/lib/components/Catalog/CatalogTableView/CatalogUserEntityCell.js +2 -23
  48. package/lib/components/Catalog/CatalogTagsWithTooltip.d.ts +2 -1
  49. package/lib/components/Catalog/CatalogTagsWithTooltip.js +14 -6
  50. package/lib/components/Catalog/variables.js +78 -36
  51. package/lib/components/Filter/variables.js +1 -1
  52. package/lib/components/LoadMore/LoadMore.js +1 -0
  53. package/lib/components/Menu/MenuItem.js +1 -1
  54. package/lib/components/PageActions/PageActions.js +1 -2
  55. package/lib/components/Search/SearchDialog.js +1 -1
  56. package/lib/components/SidebarActions/SidebarActions.js +1 -1
  57. package/lib/components/Tooltip/AnchorTooltip.js +5 -2
  58. package/lib/components/Tooltip/JsTooltip.js +5 -2
  59. package/lib/components/UserMenu/UserMenu.js +1 -3
  60. package/lib/core/hooks/index.d.ts +1 -0
  61. package/lib/core/hooks/index.js +1 -0
  62. package/lib/core/hooks/use-is-truncated.d.ts +1 -0
  63. package/lib/core/hooks/use-is-truncated.js +19 -0
  64. package/lib/core/hooks/use-tabs.d.ts +1 -1
  65. package/lib/core/hooks/use-tabs.js +30 -17
  66. package/lib/core/types/hooks.d.ts +1 -0
  67. package/lib/core/types/l10n.d.ts +1 -1
  68. package/lib/core/types/tooltip.d.ts +1 -0
  69. package/lib/core/utils/custom-catalog-options-casing.d.ts +15 -0
  70. package/lib/core/utils/custom-catalog-options-casing.js +32 -0
  71. package/lib/core/utils/index.d.ts +1 -0
  72. package/lib/core/utils/index.js +1 -0
  73. package/lib/index.d.ts +1 -0
  74. package/lib/index.js +1 -0
  75. package/lib/markdoc/components/MarkdocExample/MarkdocExample.js +2 -2
  76. package/lib/markdoc/components/Tabs/Tabs.d.ts +1 -2
  77. package/lib/markdoc/components/Tabs/Tabs.js +9 -22
  78. package/package.json +4 -4
  79. package/src/components/Accordion/variables.ts +2 -2
  80. package/src/components/Buttons/DownloadButton.tsx +41 -0
  81. package/src/components/Buttons/EmailButton.tsx +18 -8
  82. package/src/components/Buttons/NewTabButton.tsx +19 -8
  83. package/src/components/Catalog/Catalog.tsx +157 -95
  84. package/src/components/Catalog/CatalogAvatar.tsx +68 -0
  85. package/src/components/Catalog/CatalogCardView/CatalogCard.tsx +29 -5
  86. package/src/components/Catalog/CatalogCardView/CatalogCardView.tsx +10 -2
  87. package/src/components/Catalog/CatalogEntity/CatalogEntity.tsx +17 -17
  88. package/src/components/Catalog/CatalogEntity/CatalogEntityGraph/CatalogEntityRelationsLinkedNode.tsx +4 -21
  89. package/src/components/Catalog/CatalogEntity/CatalogEntityGraph/CatalogEntityRelationsNodeContent.tsx +82 -0
  90. package/src/components/Catalog/CatalogEntity/CatalogEntityGraph/CatalogEntityRelationsRootNode.tsx +4 -22
  91. package/src/components/Catalog/CatalogEntity/CatalogEntityHistory/CatalogEntityHistoryButton.tsx +39 -10
  92. package/src/components/Catalog/CatalogEntity/CatalogEntityHistory/CatalogEntityHistorySidebar.tsx +19 -3
  93. package/src/components/Catalog/CatalogEntity/CatalogEntityHistory/CatalogEntityVersionItem.tsx +8 -4
  94. package/src/components/Catalog/CatalogEntity/CatalogEntityProperties/CatalogEntityProperties.tsx +12 -10
  95. package/src/components/Catalog/CatalogEntity/CatalogEntityProperties/DomainsProperty.tsx +5 -1
  96. package/src/components/Catalog/CatalogEntity/CatalogEntityProperties/OwnersProperty.tsx +1 -0
  97. package/src/components/Catalog/CatalogEntity/CatalogEntityRelations/CatalogEntityApiDescriptionRelations.tsx +1 -1
  98. package/src/components/Catalog/CatalogEntity/CatalogEntityRelations/CatalogEntityRelationsTable.tsx +6 -2
  99. package/src/components/Catalog/CatalogEntity/CatalogEntityRelations/CatalogEntityRelationsTableContent.tsx +10 -2
  100. package/src/components/Catalog/CatalogEntity/CatalogEntityRelations/CatalogEntityTeamRelations.tsx +1 -1
  101. package/src/components/Catalog/CatalogEntity/CatalogEntitySchema.tsx +1 -1
  102. package/src/components/Catalog/CatalogFilter/CatalogFilterCheckboxes.tsx +1 -1
  103. package/src/components/Catalog/CatalogFilter/CatalogFilterContent.tsx +30 -6
  104. package/src/components/Catalog/CatalogMobileFiltersPanel/CatalogMobileFiltersPanel.tsx +31 -0
  105. package/src/components/Catalog/CatalogMobileFiltersPanel/CatalogMobileFiltersPanelHeader.tsx +34 -0
  106. package/src/components/Catalog/CatalogMobileFiltersPanel/CatalogMobileFiltersPanelOverlay.tsx +40 -0
  107. package/src/components/Catalog/CatalogMobileTopBar/CatalogMobileTopBar.tsx +54 -0
  108. package/src/components/Catalog/CatalogMobileTopBar/CatalogMobileTopBarControls.tsx +34 -0
  109. package/src/components/Catalog/CatalogMobileTopBar/CatalogMobileTopBarFiltersButton.tsx +39 -0
  110. package/src/components/Catalog/CatalogPageDescription.tsx +0 -6
  111. package/src/components/Catalog/CatalogSelector.tsx +23 -21
  112. package/src/components/Catalog/CatalogTableView/CatalogTableView.tsx +37 -6
  113. package/src/components/Catalog/CatalogTableView/CatalogUserEntityCell.tsx +2 -26
  114. package/src/components/Catalog/CatalogTagsWithTooltip.tsx +24 -9
  115. package/src/components/Catalog/variables.ts +78 -36
  116. package/src/components/Filter/variables.ts +1 -1
  117. package/src/components/LoadMore/LoadMore.tsx +1 -0
  118. package/src/components/Menu/MenuItem.tsx +1 -0
  119. package/src/components/PageActions/PageActions.tsx +1 -2
  120. package/src/components/Search/SearchDialog.tsx +1 -1
  121. package/src/components/SidebarActions/SidebarActions.tsx +1 -0
  122. package/src/components/Tooltip/AnchorTooltip.tsx +5 -1
  123. package/src/components/Tooltip/JsTooltip.tsx +5 -1
  124. package/src/components/UserMenu/UserMenu.tsx +1 -3
  125. package/src/core/hooks/code-walkthrough/use-code-walkthrough.ts +1 -1
  126. package/src/core/hooks/index.ts +1 -0
  127. package/src/core/hooks/use-is-truncated.ts +20 -0
  128. package/src/core/hooks/use-tabs.ts +40 -21
  129. package/src/core/types/hooks.ts +1 -1
  130. package/src/core/types/l10n.ts +7 -0
  131. package/src/core/types/tooltip.ts +1 -0
  132. package/src/core/utils/custom-catalog-options-casing.ts +29 -0
  133. package/src/core/utils/index.ts +1 -0
  134. package/src/index.ts +1 -0
  135. package/src/markdoc/components/MarkdocExample/MarkdocExample.tsx +2 -6
  136. package/src/markdoc/components/Tabs/Tabs.tsx +4 -37
@@ -1,6 +1,6 @@
1
- import React, { useState, useEffect, useLayoutEffect, useRef, useCallback } from 'react';
1
+ import React, { useEffect, useRef, useState } from 'react';
2
2
  import { useInRouterContext } from 'react-router-dom';
3
- import styled, { css } from 'styled-components';
3
+ import styled from 'styled-components';
4
4
 
5
5
  import type { JSX } from 'react';
6
6
 
@@ -27,7 +27,6 @@ type TabsProps = {
27
27
  className?: string;
28
28
  size: TabsSize;
29
29
  initialTab?: string;
30
- forceReady?: boolean;
31
30
  activeTab?: string;
32
31
  };
33
32
 
@@ -43,11 +42,9 @@ type UseActiveTabFn = (
43
42
  type TabsViewProps = Omit<TabsProps, 'children'> & {
44
43
  childrenArray: React.ReactElement<TabItemProps>[];
45
44
  initialTab: string;
46
- isReady: boolean;
47
45
  labelsHash: string;
48
46
  useActiveTab: UseActiveTabFn;
49
47
  containerRef: React.RefObject<HTMLUListElement | null>;
50
- onReadyChange: (ready: boolean) => void;
51
48
  externalActiveTab?: string;
52
49
  };
53
50
 
@@ -57,26 +54,14 @@ export function Tabs({
57
54
  className,
58
55
  size,
59
56
  initialTab: propInitialTab,
60
- forceReady = false,
61
57
  activeTab: controlledActiveTab,
62
58
  }: TabsProps): JSX.Element {
63
59
  const childrenArray = React.Children.toArray(children) as React.ReactElement<TabItemProps>[];
64
- const [isReady, setIsReady] = useState(false);
65
60
  const containerRef = useRef<HTMLUListElement | null>(null);
66
61
 
67
62
  const initialTab = propInitialTab ?? childrenArray[0]?.props.label ?? '';
68
63
  const labelsHash = childrenArray.map((c) => c.props.label).join('|');
69
64
 
70
- const handleReadyChange = useCallback((ready: boolean) => {
71
- setIsReady(ready);
72
- }, []);
73
-
74
- // Reset isReady when children change (new page/tabs)
75
- // Use useLayoutEffect to run synchronously before paint
76
- useLayoutEffect(() => {
77
- setIsReady(false);
78
- }, [labelsHash]);
79
-
80
65
  const inRouter = useInRouterContext();
81
66
 
82
67
  return (
@@ -87,10 +72,8 @@ export function Tabs({
87
72
  childrenArray={childrenArray}
88
73
  initialTab={initialTab}
89
74
  useActiveTab={inRouter ? useActiveTabWithRouter : useActiveTabWithoutRouter}
90
- isReady={isReady || forceReady}
91
75
  labelsHash={labelsHash}
92
76
  containerRef={containerRef}
93
- onReadyChange={handleReadyChange}
94
77
  externalActiveTab={controlledActiveTab}
95
78
  />
96
79
  );
@@ -103,10 +86,8 @@ function TabsView({
103
86
  childrenArray,
104
87
  useActiveTab,
105
88
  initialTab,
106
- isReady,
107
89
  labelsHash,
108
90
  containerRef,
109
- onReadyChange,
110
91
  externalActiveTab,
111
92
  }: TabsViewProps): JSX.Element {
112
93
  const { activeTab, setActiveTab } = useActiveTab(initialTab, id, childrenArray);
@@ -118,12 +99,7 @@ function TabsView({
118
99
  }, [externalActiveTab, activeTab, setActiveTab]);
119
100
 
120
101
  return (
121
- <TabsContainer
122
- data-component-name="Markdoc/Tabs/Tabs"
123
- className={className}
124
- key={id}
125
- $isReady={isReady}
126
- >
102
+ <TabsContainer data-component-name="Markdoc/Tabs/Tabs" className={className} key={id}>
127
103
  <TabList
128
104
  key={labelsHash}
129
105
  size={size}
@@ -131,7 +107,6 @@ function TabsView({
131
107
  activeTab={activeTab}
132
108
  onTabChange={setActiveTab}
133
109
  containerRef={containerRef}
134
- onReadyChange={onReadyChange}
135
110
  />
136
111
  {childrenArray.map((child, index) => {
137
112
  const { label } = child.props;
@@ -200,7 +175,7 @@ const useActiveTabWithoutRouter = (
200
175
  };
201
176
  };
202
177
 
203
- const TabsContainer = styled.div<{ $isReady: boolean }>`
178
+ const TabsContainer = styled.div`
204
179
  position: relative;
205
180
  color: var(--md-tabs-container-text-color);
206
181
  font-size: var(--md-tabs-container-font-size);
@@ -216,14 +191,6 @@ const TabsContainer = styled.div<{ $isReady: boolean }>`
216
191
  margin: 0;
217
192
  padding: 0;
218
193
  }
219
-
220
- ${({ $isReady }) =>
221
- !$isReady &&
222
- css`
223
- opacity: 0;
224
- pointer-events: none;
225
- overflow: hidden;
226
- `}
227
194
  `;
228
195
 
229
196
  export const TabContent = styled.div`