@redocly/theme 0.3.0 → 0.4.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (158) hide show
  1. package/Button/Button.js +3 -3
  2. package/CodeBlock/CodeBlock.js +1 -1
  3. package/ColorModeSwitcher/ColorModeSwitcher.js +1 -1
  4. package/Footer/Footer.js +1 -1
  5. package/Footer/FooterColumn.js +4 -4
  6. package/Footer/FooterColumns.js +1 -1
  7. package/Footer/FooterCopyright.js +1 -1
  8. package/JsonViewer/JsonViewer.js +1 -1
  9. package/Markdown/Admonition.js +3 -3
  10. package/Markdown/CodeSample/CodeSample.js +3 -3
  11. package/Markdown/ContainerWrapper.d.ts +5 -0
  12. package/Markdown/ContainerWrapper.js +21 -0
  13. package/Markdown/MarkdownLayout.js +2 -2
  14. package/Markdown/MarkdownWrapper.js +3 -3
  15. package/Markdown/index.d.ts +1 -1
  16. package/Markdown/index.js +1 -1
  17. package/Navbar/MobileNavbarItem.js +1 -1
  18. package/Navbar/MobileNavbarMenu.js +6 -6
  19. package/Navbar/Navbar.d.ts +1 -0
  20. package/Navbar/Navbar.js +10 -8
  21. package/Navbar/NavbarDropdown.js +1 -1
  22. package/Navbar/NavbarItem.d.ts +3 -3
  23. package/Navbar/NavbarItem.js +17 -14
  24. package/Navbar/NavbarMenu.js +1 -1
  25. package/NavbarLogo/NavbarLogo.js +1 -1
  26. package/OperationBadge/OperationBadge.js +1 -1
  27. package/Panel/Panel.d.ts +2 -1
  28. package/Panel/Panel.js +8 -3
  29. package/Panel/PanelBody.js +1 -1
  30. package/Panel/PanelComponent.d.ts +3 -2
  31. package/Panel/PanelComponent.js +3 -2
  32. package/Panel/PanelHeader.d.ts +1 -1
  33. package/Panel/PanelHeader.js +3 -3
  34. package/Panel/PanelHeaderTitle.js +1 -1
  35. package/Panel/index.d.ts +0 -3
  36. package/Panel/index.js +0 -3
  37. package/Profile/Profile.js +1 -1
  38. package/SamplesPanelControls/SamplesPanelControls.js +6 -4
  39. package/Search/Autocomplete.js +1 -1
  40. package/Search/Input.js +1 -1
  41. package/Search/Parameters.js +1 -1
  42. package/Search/Popover.js +1 -1
  43. package/Search/Search.js +1 -1
  44. package/Search/SearchItem.js +3 -3
  45. package/Search/utils.js +1 -1
  46. package/Sidebar/ApiCallItem.js +1 -1
  47. package/Sidebar/ArrowBack.js +1 -1
  48. package/Sidebar/BackButton.js +1 -1
  49. package/Sidebar/Drilldown.js +1 -1
  50. package/Sidebar/DrilldownMenu.js +2 -2
  51. package/Sidebar/DrilldownMenuItem.js +3 -3
  52. package/Sidebar/ExternalIcon.js +1 -1
  53. package/Sidebar/Menu.js +1 -1
  54. package/Sidebar/MenuContainer.js +1 -1
  55. package/Sidebar/MenuGroup.js +6 -2
  56. package/Sidebar/MenuItemLabel.js +1 -1
  57. package/Sidebar/MenuLink.js +1 -1
  58. package/Sidebar/SeparatorItem.js +1 -1
  59. package/Sidebar/SeparatorLine.js +1 -1
  60. package/Sidebar/Sidebar.js +1 -1
  61. package/SidebarLogo/SidebarLogo.js +1 -1
  62. package/TableOfContent/TableOfContent.js +5 -5
  63. package/Tooltip/Tooltip.js +1 -1
  64. package/Typography/H1.js +1 -1
  65. package/Typography/H2.js +1 -1
  66. package/Typography/H3.js +1 -1
  67. package/Typography/SectionHeader.js +1 -1
  68. package/Typography/Typography.js +1 -1
  69. package/globalStyle.js +27 -25
  70. package/icons/ArrowIcon/ArrowIcon.js +1 -1
  71. package/package.json +1 -1
  72. package/src/Button/Button.tsx +14 -6
  73. package/src/CodeBlock/CodeBlock.ts +2 -4
  74. package/src/ColorModeSwitcher/ColorModeSwitcher.tsx +1 -1
  75. package/src/Footer/Footer.tsx +3 -2
  76. package/src/Footer/FooterColumn.tsx +13 -9
  77. package/src/Footer/FooterColumns.tsx +2 -2
  78. package/src/Footer/FooterCopyright.tsx +1 -1
  79. package/src/JsonViewer/JsonViewer.tsx +5 -5
  80. package/src/Markdown/Admonition.tsx +3 -2
  81. package/src/Markdown/CodeSample/CodeSample.tsx +18 -17
  82. package/src/Markdown/{ContentWrapper.tsx → ContainerWrapper.tsx} +4 -4
  83. package/src/Markdown/MarkdownLayout.tsx +3 -3
  84. package/src/Markdown/MarkdownWrapper.tsx +87 -47
  85. package/src/Markdown/index.ts +1 -1
  86. package/src/Navbar/MobileNavbarItem.tsx +1 -3
  87. package/src/Navbar/MobileNavbarMenu.tsx +19 -17
  88. package/src/Navbar/Navbar.tsx +19 -10
  89. package/src/Navbar/NavbarDropdown.tsx +2 -1
  90. package/src/Navbar/NavbarItem.tsx +41 -24
  91. package/src/Navbar/NavbarMenu.tsx +1 -1
  92. package/src/NavbarLogo/NavbarLogo.tsx +4 -4
  93. package/src/OperationBadge/OperationBadge.ts +8 -9
  94. package/src/Panel/Panel.ts +17 -3
  95. package/src/Panel/PanelBody.ts +13 -5
  96. package/src/Panel/PanelComponent.tsx +3 -0
  97. package/src/Panel/PanelHeader.ts +13 -6
  98. package/src/Panel/PanelHeaderTitle.ts +6 -4
  99. package/src/Panel/index.ts +0 -3
  100. package/src/Profile/Profile.tsx +1 -1
  101. package/src/SamplesPanelControls/SamplesPanelControls.ts +9 -9
  102. package/src/Search/Autocomplete.tsx +1 -1
  103. package/src/Search/Input.tsx +7 -2
  104. package/src/Search/Parameters.tsx +1 -1
  105. package/src/Search/Popover.tsx +3 -3
  106. package/src/Search/Search.tsx +3 -1
  107. package/src/Search/SearchItem.tsx +14 -9
  108. package/src/Search/utils.tsx +1 -1
  109. package/src/Sidebar/ApiCallItem.tsx +7 -0
  110. package/src/Sidebar/ArrowBack.tsx +1 -1
  111. package/src/Sidebar/BackButton.tsx +10 -5
  112. package/src/Sidebar/Drilldown.tsx +1 -3
  113. package/src/Sidebar/DrilldownMenu.tsx +2 -2
  114. package/src/Sidebar/DrilldownMenuItem.tsx +12 -8
  115. package/src/Sidebar/ExternalIcon.tsx +1 -1
  116. package/src/Sidebar/Menu.tsx +1 -1
  117. package/src/Sidebar/MenuContainer.tsx +1 -1
  118. package/src/Sidebar/MenuGroup.tsx +12 -2
  119. package/src/Sidebar/MenuItemLabel.tsx +7 -7
  120. package/src/Sidebar/MenuLink.tsx +1 -1
  121. package/src/Sidebar/SeparatorItem.tsx +5 -1
  122. package/src/Sidebar/SeparatorLine.tsx +2 -2
  123. package/src/Sidebar/Sidebar.tsx +4 -4
  124. package/src/SidebarLogo/SidebarLogo.tsx +3 -3
  125. package/src/TableOfContent/TableOfContent.tsx +18 -16
  126. package/src/Tooltip/Tooltip.tsx +2 -2
  127. package/src/Typography/H1.ts +2 -2
  128. package/src/Typography/H2.ts +2 -2
  129. package/src/Typography/H3.ts +2 -1
  130. package/src/Typography/SectionHeader.ts +4 -4
  131. package/src/Typography/Typography.ts +1 -1
  132. package/src/globalStyle.ts +1395 -348
  133. package/src/icons/ArrowIcon/ArrowIcon.tsx +3 -3
  134. package/src/ui/Background.tsx +1 -1
  135. package/src/ui/Dropdown.tsx +6 -6
  136. package/src/ui/Jumbotron.tsx +1 -1
  137. package/src/ui/Tiles/TileHeader.ts +5 -5
  138. package/src/ui/Tiles/TileText.tsx +1 -1
  139. package/src/ui/UniversalLink.tsx +1 -1
  140. package/src/utils/theme-helpers.ts +1 -1
  141. package/ui/Background.js +1 -1
  142. package/ui/Dropdown.js +4 -4
  143. package/ui/Jumbotron.js +1 -1
  144. package/ui/Tiles/TileHeader.js +1 -1
  145. package/ui/Tiles/TileText.js +1 -1
  146. package/ui/UniversalLink.js +1 -1
  147. package/utils/theme-helpers.js +1 -1
  148. package/Markdown/ContentWrapper.d.ts +0 -5
  149. package/Markdown/ContentWrapper.js +0 -21
  150. package/Panel/CodePanel.d.ts +0 -5
  151. package/Panel/CodePanel.js +0 -21
  152. package/Panel/ContentPanel.d.ts +0 -5
  153. package/Panel/ContentPanel.js +0 -20
  154. package/Panel/DarkHeader.d.ts +0 -1
  155. package/Panel/DarkHeader.js +0 -10
  156. package/src/Panel/CodePanel.ts +0 -34
  157. package/src/Panel/ContentPanel.ts +0 -44
  158. package/src/Panel/DarkHeader.ts +0 -8
@@ -3,7 +3,7 @@ import styled from 'styled-components';
3
3
 
4
4
  import type { ResolvedConfigLinks, ResolvedNavItem } from '@theme/types/portal';
5
5
 
6
- import { NavMenuItem, NavMenuItemWithDropdownWrapper } from '@theme/Navbar/NavbarItem';
6
+ import { NavbarMenuItem, NavbarMenuItemWithDropdownWrapper } from '@theme/Navbar/NavbarItem';
7
7
  import { MobileNavbarItem } from '@theme/Navbar/MobileNavbarItem';
8
8
  import { DropdownWrapper } from '@theme/Navbar/NavbarDropdown';
9
9
  import { isPrimitive, isEmptyArray } from '@theme/utils';
@@ -20,8 +20,8 @@ export function MobileNavbarMenu({
20
20
  }
21
21
 
22
22
  return (
23
- <NavItemsWrapper data-component-name="Navbar/MobileNavbarMenu">
24
- <NavItemsContainer>
23
+ <NavbarItemsWrapper data-component-name="Navbar/MobileNavbarMenu">
24
+ <NavbarItemsContainer>
25
25
  {(menuItems as ResolvedNavItem[]).map((navItem, index) => {
26
26
  return (
27
27
  <MobileNavbarItem
@@ -31,13 +31,13 @@ export function MobileNavbarMenu({
31
31
  />
32
32
  );
33
33
  })}
34
- </NavItemsContainer>
35
- <NavItemsClosableArea onClick={closeMenu} />
36
- </NavItemsWrapper>
34
+ </NavbarItemsContainer>
35
+ <NavbarItemsClosableArea onClick={closeMenu} />
36
+ </NavbarItemsWrapper>
37
37
  );
38
38
  }
39
39
 
40
- const NavItemsWrapper = styled.div`
40
+ const NavbarItemsWrapper = styled.div`
41
41
  height: 100%;
42
42
  width: 100%;
43
43
  position: fixed;
@@ -63,7 +63,7 @@ const NavItemsWrapper = styled.div`
63
63
  }
64
64
  `;
65
65
 
66
- const NavItemsClosableArea = styled.div`
66
+ const NavbarItemsClosableArea = styled.div`
67
67
  display: flex;
68
68
  flex: 1;
69
69
  min-width: 50px;
@@ -71,7 +71,7 @@ const NavItemsClosableArea = styled.div`
71
71
  background-color: rgba(255, 255, 255, 0.4);
72
72
  `;
73
73
 
74
- const NavItemsContainer = styled.ul`
74
+ const NavbarItemsContainer = styled.ul`
75
75
  width: 70%;
76
76
  list-style: none;
77
77
  margin: 0;
@@ -80,26 +80,28 @@ const NavItemsContainer = styled.ul`
80
80
  flex-direction: column;
81
81
  background: var(--navbar-background-color);
82
82
 
83
- ${NavMenuItem} {
84
- &:not(:last-child){
83
+ ${NavbarMenuItem} {
84
+ &:not(:last-child) {
85
85
  border-bottom: 1px solid var(--navbar-item-separator-line-color, #dadada);
86
86
  }
87
87
  border-radius: 0;
88
88
  padding: 1em 0;
89
- width: 100%;
89
+ width: 100%;
90
90
  }
91
-
92
- ${NavMenuItemWithDropdownWrapper} {
91
+
92
+ ${NavbarMenuItemWithDropdownWrapper} {
93
93
  display: block;
94
- &:not(:last-child){
94
+ &:not(:last-child) {
95
95
  border-bottom: 1px solid var(--navbar-item-separator-line-color, #dadada);
96
96
  border-radius: 0;
97
97
  }
98
- ${NavMenuItem} {
98
+ ${NavbarMenuItem} {
99
99
  border-bottom: none;
100
100
  }
101
+ }
102
+
101
103
  ${DropdownWrapper} {
102
- background-color: var(--navbar-background-color);
104
+ background-color: var(--navbar-background-color);
103
105
  width: 100%;
104
106
  padding: 0;
105
107
  position: relative;
@@ -34,11 +34,13 @@ export function Navbar({ menu, logo, search, profile }: NavbarProps): JSX.Elemen
34
34
  <NavbarContainer data-component-name="Navbar/Navbar">
35
35
  <MobileNavbarMenuButton onClick={openMobileMenu} />
36
36
  {isOpen && <MobileNavbarMenu closeMenu={closeMobileMenu} menuItems={menu} />}
37
- {logo}
38
- <NavbarMenu menuItems={menu} />
39
- {hideSearch ? null : search}
40
- {profile}
41
- <ColorModeSwitcher />
37
+ <NavbarRow>
38
+ {logo}
39
+ <NavbarMenu menuItems={menu} />
40
+ {hideSearch ? null : search}
41
+ {profile}
42
+ <ColorModeSwitcher />
43
+ </NavbarRow>
42
44
  </NavbarContainer>
43
45
  );
44
46
  }
@@ -47,21 +49,18 @@ export const NavbarContainer = styled.nav`
47
49
  height: var(--navbar-height);
48
50
  box-sizing: border-box;
49
51
  display: flex;
50
- color: var(--navbar-text-color);
51
52
  align-items: center;
52
- justify-content: space-between;
53
53
  flex-shrink: 0;
54
54
 
55
55
  font-size: 0.875rem;
56
56
  position: sticky;
57
57
  top: 0;
58
58
  z-index: 200;
59
- padding: 10px var(--sidebar-margin-left);
59
+ padding: var(--navbar-item-paddin-vertical) var(--navbar-item-padding-horizontal);
60
60
  background: var(--navbar-background-color);
61
- font-family: var(--h-font-family);
61
+ font-family: var(--navbar-item-font-family);
62
62
 
63
63
  ${({ theme }) => theme.mediaQueries.medium} {
64
- padding: 10px var(--sidebar-margin-left);
65
64
  font-size: 1rem;
66
65
  }
67
66
 
@@ -77,3 +76,13 @@ export const NavbarContainer = styled.nav`
77
76
  }
78
77
  }
79
78
  `;
79
+
80
+ export const NavbarRow = styled.div`
81
+ display: flex;
82
+ align-items: center;
83
+ justify-content: space-between;
84
+ margin: 0 auto;
85
+ width: 100%;
86
+
87
+ max-width: var(--navbar-container-max-width);
88
+ `;
@@ -24,7 +24,8 @@ export function NavbarDropdown({ items }: NavbarDropdownProps): JSX.Element {
24
24
  export const DropdownWrapper = styled.div`
25
25
  display: none;
26
26
  position: absolute;
27
- background: var(--navbar-item-active-background-color);
27
+ background: var(--navbar-dropdown-background);
28
+ border: var(--navbar-item-border);
28
29
  border-radius: var(--navbar-item-border-radius);
29
30
  padding: 10px 15px;
30
31
  width: max-content;
@@ -24,30 +24,38 @@ export function NavbarItem({ navItem, className }: NavbarItemProps): JSX.Element
24
24
  const item = navItem as ResolvedNavLinkItem;
25
25
  const isActive = pathname === withPathPrefix(item.link);
26
26
  return (
27
- <NavMenuItem active={isActive} data-component-name="Navbar/NavbarItem" className={className}>
28
- <NavLink to={item.link} active={isActive}>
29
- <NavLabel>{item.label}</NavLabel>
30
- </NavLink>
31
- </NavMenuItem>
27
+ <NavbarMenuItem
28
+ active={isActive}
29
+ data-component-name="Navbar/NavbarItem"
30
+ className={className}
31
+ >
32
+ <NavbarLink to={item.link} active={isActive}>
33
+ <NavbarLabel>{item.label}</NavbarLabel>
34
+ </NavbarLink>
35
+ </NavbarMenuItem>
32
36
  );
33
37
  }
34
38
 
35
39
  if ((navItem as ResolvedNavGroupItem).items) {
36
40
  const item = navItem as ResolvedNavGroupItem;
37
41
  return (
38
- <NavMenuItemWithDropdownWrapper>
39
- <NavMenuItem active={false} data-component-name="Navbar/NavbarItem" className={className}>
40
- <NavLabel>{item.label}</NavLabel>
41
- </NavMenuItem>
42
+ <NavbarMenuItemWithDropdownWrapper>
43
+ <NavbarMenuItem
44
+ active={false}
45
+ data-component-name="Navbar/NavbarItem"
46
+ className={className}
47
+ >
48
+ <NavbarLabel>{item.label}</NavbarLabel>
49
+ </NavbarMenuItem>
42
50
  <NavbarDropdown items={item.items as ResolvedNavLinkItem[]} />
43
- </NavMenuItemWithDropdownWrapper>
51
+ </NavbarMenuItemWithDropdownWrapper>
44
52
  );
45
53
  }
46
54
 
47
55
  return null;
48
56
  }
49
57
 
50
- export const NavMenuItemWithDropdownWrapper = styled.div`
58
+ export const NavbarMenuItemWithDropdownWrapper = styled.div`
51
59
  display: inline-block;
52
60
  position: relative;
53
61
  border-radius: var(--navbar-item-border-radius);
@@ -59,27 +67,36 @@ export const NavMenuItemWithDropdownWrapper = styled.div`
59
67
  }
60
68
  `;
61
69
 
62
- export const NavMenuItem = styled.li<{ active?: boolean }>`
70
+ export const NavbarLink = styled(Link)`
71
+ color: ${({ active }) =>
72
+ active ? 'var(--navbar-item-active-text-color)' : 'var(--navbar-text-color)'};
73
+ text-decoration: ${({ active }) =>
74
+ active ? 'var(--navbar-item-active-text-decoration)' : 'none'};
75
+ `;
76
+
77
+ export const NavbarMenuItem = styled.li<{ active?: boolean }>`
63
78
  display: inline-block;
64
- padding: 8px calc(var(--sidebar-spacing-horizontal) * 2);
79
+ padding: var(--navbar-item-paddin-vertical) var(--navbar-item-padding-horizontal);
80
+ margin-left: var(--navbar-item-margin-horizontal);
65
81
  text-align: center;
66
82
  line-height: 1;
67
83
  font-size: var(--navbar-item-font-size);
68
- margin-left: var(--navbar-item-margin-horizontal);
69
- margin-right: var(--navbar-item-margin-horizontal);
70
84
  border-radius: var(--navbar-item-border-radius);
71
85
  font-weight: var(--navbar-item-font-weight);
72
- background: ${({ active }) => (active ? 'var(--navbar-item-active-background-color)' : 'none')};
73
- `;
74
-
75
- export const NavLink = styled(Link)`
76
- color: ${({ active }) =>
77
- active ? 'var(--navbar-item-active-text-color)' : 'var(--navbar-text-color)'};
78
- text-decoration: ${({ active }) =>
79
- active ? 'var(--navbar-item-active-text-decoration)' : 'none'};
86
+ background: ${({ active }) => active && 'var(--navbar-item-active-background-color)'};
87
+ color: ${({ active }) => active && 'var(--navbar-item-active-text-color)'};
88
+ &:hover {
89
+ color: var(--navbar-item-hover-text-color);
90
+ text-decoration: var(--navbar-item-hover-text-decoration);
91
+ background: var(--navbar-item-hover-background-color);
92
+ ${NavbarLink} {
93
+ color: var(--navbar-item-hover-text-color);
94
+ text-decoration: var(--navbar-item-hover-text-decoration);
95
+ }
96
+ }
80
97
  `;
81
98
 
82
- const NavLabel = styled.span`
99
+ const NavbarLabel = styled.span`
83
100
  cursor: pointer;
84
101
  vertical-align: middle;
85
102
  `;
@@ -24,7 +24,7 @@ export function NavbarMenu({ menuItems }: { menuItems: ResolvedConfigLinks }): J
24
24
 
25
25
  const NavItemsContainer = styled.ul`
26
26
  list-style: none;
27
- margin: 0 7px;
27
+ margin: 0 var(--navbar-item-margin-horizontal);
28
28
  padding: 0;
29
29
  display: none;
30
30
  flex-wrap: nowrap;
@@ -17,8 +17,8 @@ export function NavbarLogo({ logo }: NavbarLogoProps): JSX.Element | null {
17
17
  }
18
18
 
19
19
  const NavLogo = styled.img`
20
- max-width: var(--logo-max-width);
21
- max-height: var(--logo-max-height);
22
- height: var(--logo-height);
23
- margin: var(--logo-margin);
20
+ max-width: var(--navbar-logo-max-width);
21
+ max-height: var(--navbar-logo-max-height);
22
+ height: var(--navbar-logo-height);
23
+ margin: var(--navbar-logo-margin);
24
24
  `;
@@ -7,15 +7,14 @@ export const OperationBadge = styled.span.attrs((props: { type: string }) => ({
7
7
  display: inline-flex;
8
8
  align-items: center;
9
9
  justify-content: center;
10
- font-size: var(--http-badge-menu-font-size);
11
- font-family: var(--http-badge-font-family);
12
- font-weight: var(--http-badge-font-weight);
13
- line-height: var(--http-badge-menu-line-height);
14
- color: var(--http-badge-color);
15
- background-color: #333;
16
- border-radius: var(--http-badge-border-radius);
17
- width: 36px;
18
- height: 14px;
10
+ font-size: var(--badge-http-font-size);
11
+ font-family: var(--badge-http-font-family);
12
+ font-weight: var(--badge-http-font-weight);
13
+ line-height: var(--badge-http-line-height);
14
+ color: var(--badge-http-text-color);
15
+ background-color: var(--badge-background-color);
16
+ border-radius: var(--badge-http-border-radius);
17
+ width: 58px;
19
18
  text-transform: uppercase;
20
19
  text-align: center;
21
20
  margin-right: 6px;
@@ -3,18 +3,32 @@ import styled from 'styled-components';
3
3
  import { PanelHeader } from '@theme/Panel/PanelHeader';
4
4
  import { PanelBody } from '@theme/Panel/PanelBody';
5
5
  import { PanelComponent } from '@theme/Panel/PanelComponent';
6
+ import { ShelfIcon } from '@theme/icons/ShelfIcon';
6
7
 
7
- export const Panel = styled(PanelComponent).attrs(() => ({
8
+ export const Panel = styled(PanelComponent).attrs(({ className }) => ({
8
9
  'data-component-name': 'Panel/Panel',
10
+ className: className || 'panel-default',
9
11
  }))`
10
- border-radius: var(--panels-border-radius);
12
+ background-color: var(--panel-background-color);
13
+ color: var(--panel-text-color);
14
+ font-family: var(--panel-font-family-local);
15
+ font-size: var(--panel-font-size-local);
16
+ font-weight: var(--panel-font-weight-local);
17
+ border: var(--panel-border-local);
18
+ border-radius: var(--panel-border-radius);
11
19
 
12
20
  ${PanelHeader} + ${PanelBody} {
13
21
  border-top-left-radius: 0;
14
22
  border-top-right-radius: 0;
15
23
  }
16
24
 
25
+ ${PanelHeader} {
26
+ ${ShelfIcon} {
27
+ fill: var(--panel-chevron-icon-color); // ?????
28
+ }
29
+ }
30
+
17
31
  &:not(:last-child) {
18
- margin-bottom: 10px;
32
+ margin-bottom: var(--panel-gap-vertical);
19
33
  }
20
34
  `;
@@ -24,9 +24,17 @@ export const PanelBody = styled.div.attrs(() => ({
24
24
  ${({ animate }) => animate && showPanelAnimation};
25
25
  ${({ hidden }) => hidden && 'visibility: hidden'};
26
26
 
27
- border-top-left-radius: var(--panels-border-radius);
28
- border-top-right-radius: var(--panels-border-radius);
29
- border-bottom-right-radius: var(--panels-border-radius);
30
- border-bottom-left-radius: var(--panels-border-radius);
31
- background-color: var(--panels-background-color);
27
+ background-color: var(--panel-body-background-color);
28
+
29
+ font-family: var(--panel-body-font-family-local);
30
+ font-size: var(--panel-body-font-size-local);
31
+ font-weight: var(--panel-body-font-weight-local);
32
+ border: var(--panel-body-border-local);
33
+ padding: var(--panel-body-padding-local);
34
+ color: var(--panel-body-text-color);
35
+
36
+ border-top-left-radius: var(--panel-border-radius);
37
+ border-top-right-radius: var(--panel-border-radius);
38
+ border-bottom-right-radius: var(--panel-border-radius);
39
+ border-bottom-left-radius: var(--panel-border-radius);
32
40
  `;
@@ -17,6 +17,7 @@ export interface PanelComponentProps {
17
17
  className?: string;
18
18
  header?: ReactNode | ((props: PanelHeaderProps) => ReactNode);
19
19
  onToggle?: (expanded: boolean) => void;
20
+ description?: React.ReactNode;
20
21
  }
21
22
 
22
23
  export function PanelComponent({
@@ -25,6 +26,7 @@ export function PanelComponent({
25
26
  className,
26
27
  children,
27
28
  onToggle,
29
+ description,
28
30
  }: PropsWithChildren<PanelComponentProps>): JSX.Element {
29
31
  const [isExpanded, setExpanded] = useState(expanded);
30
32
  const [animate, setAnimate] = useState(false);
@@ -54,6 +56,7 @@ export function PanelComponent({
54
56
  <InlineBox>
55
57
  <PanelHeaderTitle data-cy="title">{header}</PanelHeaderTitle>
56
58
  <ShelfIcon direction={isExpanded ? 'down' : 'right'} />
59
+ {description}
57
60
  </InlineBox>
58
61
  </PanelHeader>
59
62
  ))}
@@ -2,7 +2,7 @@ import { BaseSyntheticEvent } from 'react';
2
2
  import styled from 'styled-components';
3
3
 
4
4
  export interface PanelHeaderProps {
5
- expanded: boolean;
5
+ expanded?: boolean;
6
6
  disabled?: boolean;
7
7
  toggle?: (e: BaseSyntheticEvent) => void;
8
8
  }
@@ -15,13 +15,20 @@ export const PanelHeader = styled.div.attrs(() => ({
15
15
  display: flex;
16
16
  align-items: center;
17
17
  justify-content: space-between;
18
- white-space: nowrap;
18
+ white-space: var(--panel-heading-white-space-local);
19
+
19
20
  cursor: pointer;
20
21
 
21
- border-top-left-radius: var(--panels-border-radius);
22
- border-top-right-radius: var(--panels-border-radius);
23
- border-bottom-right-radius: ${({ expanded }) => (expanded ? '0' : 'var(--panels-border-radius)')};
24
- border-bottom-left-radius: ${({ expanded }) => (expanded ? '0' : 'var(--panels-border-radius)')};
22
+ line-height: var(--panel-heading-line-height-local);
23
+ font-size: var(--panel-heading-font-size-local);
24
+ padding: var(--panel-heading-padding-local);
25
+ border: var(--panel-heading-border);
26
+ background-color: var(--panel-heading-background-color);
27
+
28
+ border-top-left-radius: var(--panel-border-radius);
29
+ border-top-right-radius: var(--panel-border-radius);
30
+ border-bottom-right-radius: ${({ expanded }) => (expanded ? '0' : 'var(--panel-border-radius)')};
31
+ border-bottom-left-radius: ${({ expanded }) => (expanded ? '0' : 'var(--panel-border-radius)')};
25
32
 
26
33
  pointer-events: ${({ disabled }) => (disabled ? 'none' : 'auto')};
27
34
  `;
@@ -3,11 +3,13 @@ import styled from 'styled-components';
3
3
  export const PanelHeaderTitle = styled.span.attrs(() => ({
4
4
  'data-component-name': 'Panel/PanelHeaderTitle',
5
5
  }))`
6
- line-height: 1;
7
6
  margin-right: 5px;
8
- font-weight: 700;
9
- /* changed from var(--color-content-inverse) to var(--color-content)
7
+ font-weight: var(--panel-heading-font-weight-local);
8
+ overflow: hidden;
9
+ text-overflow: ellipsis;
10
+
11
+ /* changed from var(--text-color-inverse) to var(--text-color)
10
12
  should change several components in openapi/graphql reference-docs to use inverse color
11
13
  */
12
- color: var(--color-content);
14
+ color: var(--panel-heading-text-color);
13
15
  `;
@@ -1,6 +1,3 @@
1
- export * from '@theme/Panel/CodePanel';
2
- export * from '@theme/Panel/ContentPanel';
3
- export * from '@theme/Panel/DarkHeader';
4
1
  export * from '@theme/Panel/Panel';
5
2
  export * from '@theme/Panel/PanelBody';
6
3
  export * from '@theme/Panel/PanelComponent';
@@ -49,7 +49,7 @@ const ProfileWrapper = styled.div`
49
49
  align-items: center;
50
50
  cursor: pointer;
51
51
  width: auto;
52
- padding-left: calc(var(--sidebar-spacing-horizontal) * 2);
52
+ padding: 0 var(--navbar-item-padding-horizontal);
53
53
  `;
54
54
 
55
55
  const StyledUserName = styled.span`
@@ -5,25 +5,25 @@ import { CodeBlock } from '@theme/CodeBlock';
5
5
  export const SamplesControlButton = styled.button.attrs(() => ({
6
6
  'data-component-name': 'SamplesPanelControls/SamplesPanelControls',
7
7
  }))`
8
- background-color: var(--samples-panel-controls-background-color);
8
+ background-color: var(--panel-samples-controls-background-color);
9
9
  border: 0;
10
10
  outline: 0;
11
- border-radius: var(--global-border-radius);
11
+ border-radius: var(--border-radius);
12
12
  height: 20px;
13
- color: var(--color-content-inverse);
13
+ color: var(--panel-samples-controls-text-color);
14
14
  font-size: 12px;
15
15
  line-height: 12px;
16
16
  cursor: pointer;
17
17
  padding: 1px 6px;
18
18
  min-width: 90px;
19
19
 
20
- ${({ theme }) => theme.mediaQueries.small} {
20
+ ${({ theme }) => theme.mediaQueries?.small} {
21
21
  padding: 2px 20px;
22
22
  }
23
23
 
24
24
  :hover,
25
25
  :focus {
26
- background-color: var(--samples-panel-controls-hover-background-color);
26
+ background-color: var(--panel-samples-controls-hover-background-color);
27
27
  }
28
28
  `;
29
29
 
@@ -43,7 +43,7 @@ export const SampleControls = styled.div`
43
43
  margin-top: 5px;
44
44
  margin-left: 10px;
45
45
 
46
- ${({ theme }) => theme.mediaQueries.small} {
46
+ ${({ theme }) => theme.mediaQueries?.small} {
47
47
  margin-top: 0;
48
48
  }
49
49
 
@@ -64,9 +64,9 @@ export const PreformattedCodeBlock = styled(CodeBlock.withComponent('pre'))`
64
64
  margin: 0;
65
65
  font-family: var(--code-font-family);
66
66
  padding: 20px;
67
- border-radius: var(--global-border-radius);
68
- background-color: var(--samples-panel-controls-background-color);
69
- color: var(--color-content-inverse);
67
+ border-radius: var(--border-radius);
68
+ background-color: var(--panel-samples-controls-background-color);
69
+ color: var(--text-color-inverse);
70
70
  font-size: var(--code-font-size);
71
71
  white-space: var(--code-wrap, pre);
72
72
  `;
@@ -125,5 +125,5 @@ const Overlay = styled.div`
125
125
 
126
126
  const Message = styled.div`
127
127
  padding: 24px;
128
- color: var(--color-content);
128
+ color: var(--text-color);
129
129
  `;
@@ -6,7 +6,7 @@ export const FormInput = styled.input.attrs(() => ({
6
6
  padding: 1em 2.5em 1em 1em;
7
7
  background-color: var(--search-input-background-color);
8
8
  border-radius: var(--search-input-border-radius);
9
- border: none;
9
+ border: var(--search-input-border);
10
10
  outline: none;
11
11
  color: var(--search-input-text-color);
12
12
  font-size: var(--search-input-font-size);
@@ -14,6 +14,11 @@ export const FormInput = styled.input.attrs(() => ({
14
14
  line-height: var(--search-input-line-height);
15
15
 
16
16
  ::placeholder {
17
- color: var(--search-input-text-color);
17
+ color: var(--search-input-placeholder-color);
18
+ }
19
+
20
+ &:hover {
21
+ background-color: var(--search-input-hover-background-color);
22
+ border: var(--search-input-hover-border);
18
23
  }
19
24
  `;
@@ -39,7 +39,7 @@ export function Parameters({ parameters = [] }: ParametersProps): JSX.Element {
39
39
  }
40
40
 
41
41
  const Wrapper = styled.div`
42
- border-left: 1px solid var(--global-border-color);
42
+ border-left: 1px solid var(--border-color);
43
43
  padding: 0 12px;
44
44
  margin-top: 8px;
45
45
  margin-bottom: 4px;
@@ -12,9 +12,9 @@ export const Popover = styled.div.attrs(() => ({
12
12
  max-width: 90vw;
13
13
  max-height: 400px;
14
14
  overflow-y: auto;
15
- box-shadow: 0 16px 24px 2px rgba(0, 0, 0, 0.14), 0 6px 30px 5px rgba(0, 0, 0, 0.12),
16
- 0 8px 10px -5px rgba(0, 0, 0, 0.4);
17
- background: var(--search-popover-backgrond-color);
15
+ box-shadow: var(--search-popover-shadow);
16
+ background: var(--search-popover-background-color);
18
17
  list-style: none;
19
18
  border-radius: var(--search-popover-border-radius);
19
+ border: var(--search-popover-border);
20
20
  `;
@@ -49,4 +49,6 @@ export function Search(): JSX.Element {
49
49
  );
50
50
  }
51
51
 
52
- const Wrapper = styled.div``;
52
+ const Wrapper = styled.div`
53
+ margin: 0 auto;
54
+ `;
@@ -41,18 +41,31 @@ export function SearchItem({ item }: SearchItemProps): JSX.Element {
41
41
  );
42
42
  }
43
43
 
44
+ const Title = styled.div`
45
+ font-weight: var(--font-weight-bold);
46
+ color: var(--search-item-title-text-color);
47
+ overflow: hidden;
48
+ text-overflow: ellipsis;
49
+ line-height: var(--line-height-base);
50
+ `;
51
+
44
52
  const SearchLink = styled(Link)`
45
53
  display: block;
46
54
  text-decoration: none;
47
- padding: 8px 24px;
55
+ padding: var(--search-item-padding);
48
56
  transition: background-color 0.3s ease;
49
57
  outline: none;
50
58
  white-space: nowrap;
51
59
  color: var(--search-item-text-color);
60
+ background-color: var(--search-item-background-color);
52
61
 
53
62
  &:hover,
54
63
  &:focus {
64
+ color: var(--search-item-active-text-color);
55
65
  background-color: var(--search-item-active-background-color);
66
+ ${Title} {
67
+ color: var(--search-item-active-title-text-color);
68
+ }
56
69
  }
57
70
  `;
58
71
 
@@ -64,14 +77,6 @@ const Operation = styled.div`
64
77
  text-overflow: ellipsis;
65
78
  `;
66
79
 
67
- const Title = styled.div`
68
- font-weight: var(--font-weight-bold);
69
- color: var(--search-item-title-text-color);
70
- overflow: hidden;
71
- text-overflow: ellipsis;
72
- line-height: var(--line-height-base);
73
- `;
74
-
75
80
  const Description = styled.div`
76
81
  font-size: var(--font-size-base);
77
82
  overflow: hidden;
@@ -15,5 +15,5 @@ export const highlight = (text: string | string[]): JSX.Element | string => {
15
15
  };
16
16
 
17
17
  const Strong = styled.strong`
18
- color: var(--color-content);
18
+ color: var(--search-highlight-text-color);
19
19
  `;
@@ -29,4 +29,11 @@ const Wrapper = styled.div``;
29
29
  export const Badge = styled(OperationBadge)`
30
30
  flex-shrink: 0;
31
31
  margin-top: 0;
32
+ width: 36px;
33
+ height: 14px;
34
+ font-size: var(--sidebar-item-badge-http-font-size);
35
+ font-family: var(--sidebar-item-badge-http-font-family);
36
+ font-weight: var(--sidebar-item-badge-http-font-weight);
37
+ border-radius: var(--sidebar-item-badge-http-border-radius);
38
+ color: var(--sidebar-item-badge-http-text-color);
32
39
  `;
@@ -18,5 +18,5 @@ const Arrow = ({ className }: { className?: string }): JSX.Element => (
18
18
  );
19
19
 
20
20
  export const ArrowBack = styled(Arrow)`
21
- fill: var(--sidebar-chevron-color);
21
+ fill: var(--sidebar-group-item-chevron-color);
22
22
  `;