@patternfly/react-core 6.5.0-prerelease.56 → 6.5.0-prerelease.58

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 (188) hide show
  1. package/CHANGELOG.md +12 -0
  2. package/components/package.json +1 -1
  3. package/deprecated/package.json +1 -1
  4. package/dist/dynamic/components/AboutModal/package.json +1 -1
  5. package/dist/dynamic/components/Accordion/package.json +1 -1
  6. package/dist/dynamic/components/ActionList/package.json +1 -1
  7. package/dist/dynamic/components/Alert/package.json +1 -1
  8. package/dist/dynamic/components/Avatar/package.json +1 -1
  9. package/dist/dynamic/components/BackToTop/package.json +1 -1
  10. package/dist/dynamic/components/Backdrop/package.json +1 -1
  11. package/dist/dynamic/components/BackgroundImage/package.json +1 -1
  12. package/dist/dynamic/components/Badge/package.json +1 -1
  13. package/dist/dynamic/components/Banner/package.json +1 -1
  14. package/dist/dynamic/components/Brand/package.json +1 -1
  15. package/dist/dynamic/components/Breadcrumb/package.json +1 -1
  16. package/dist/dynamic/components/Button/package.json +1 -1
  17. package/dist/dynamic/components/CalendarMonth/package.json +1 -1
  18. package/dist/dynamic/components/Card/package.json +1 -1
  19. package/dist/dynamic/components/Checkbox/package.json +1 -1
  20. package/dist/dynamic/components/ClipboardCopy/package.json +1 -1
  21. package/dist/dynamic/components/CodeBlock/package.json +1 -1
  22. package/dist/dynamic/components/Compass/package.json +1 -1
  23. package/dist/dynamic/components/Content/package.json +1 -1
  24. package/dist/dynamic/components/DataList/package.json +1 -1
  25. package/dist/dynamic/components/DatePicker/package.json +1 -1
  26. package/dist/dynamic/components/DescriptionList/package.json +1 -1
  27. package/dist/dynamic/components/Divider/package.json +1 -1
  28. package/dist/dynamic/components/Drawer/package.json +1 -1
  29. package/dist/dynamic/components/Dropdown/package.json +1 -1
  30. package/dist/dynamic/components/DualListSelector/package.json +1 -1
  31. package/dist/dynamic/components/EmptyState/package.json +1 -1
  32. package/dist/dynamic/components/ExpandableSection/package.json +1 -1
  33. package/dist/dynamic/components/FileUpload/package.json +1 -1
  34. package/dist/dynamic/components/Form/package.json +1 -1
  35. package/dist/dynamic/components/FormSelect/package.json +1 -1
  36. package/dist/dynamic/components/HelperText/package.json +1 -1
  37. package/dist/dynamic/components/Hero/package.json +1 -1
  38. package/dist/dynamic/components/Hint/package.json +1 -1
  39. package/dist/dynamic/components/Icon/package.json +1 -1
  40. package/dist/dynamic/components/InputGroup/package.json +1 -1
  41. package/dist/dynamic/components/JumpLinks/package.json +1 -1
  42. package/dist/dynamic/components/Label/package.json +1 -1
  43. package/dist/dynamic/components/List/package.json +1 -1
  44. package/dist/dynamic/components/LoginPage/package.json +1 -1
  45. package/dist/dynamic/components/Masthead/package.json +1 -1
  46. package/dist/dynamic/components/Menu/package.json +1 -1
  47. package/dist/dynamic/components/MenuToggle/package.json +1 -1
  48. package/dist/dynamic/components/Modal/package.json +1 -1
  49. package/dist/dynamic/components/MultipleFileUpload/package.json +1 -1
  50. package/dist/dynamic/components/Nav/package.json +1 -1
  51. package/dist/dynamic/components/NotificationBadge/package.json +1 -1
  52. package/dist/dynamic/components/NotificationDrawer/package.json +1 -1
  53. package/dist/dynamic/components/NumberInput/package.json +1 -1
  54. package/dist/dynamic/components/OverflowMenu/package.json +1 -1
  55. package/dist/dynamic/components/Page/package.json +1 -1
  56. package/dist/dynamic/components/Pagination/package.json +1 -1
  57. package/dist/dynamic/components/Panel/package.json +1 -1
  58. package/dist/dynamic/components/Popover/package.json +1 -1
  59. package/dist/dynamic/components/Progress/package.json +1 -1
  60. package/dist/dynamic/components/ProgressStepper/package.json +1 -1
  61. package/dist/dynamic/components/Radio/package.json +1 -1
  62. package/dist/dynamic/components/SearchInput/package.json +1 -1
  63. package/dist/dynamic/components/Select/package.json +1 -1
  64. package/dist/dynamic/components/Sidebar/package.json +1 -1
  65. package/dist/dynamic/components/SimpleList/package.json +1 -1
  66. package/dist/dynamic/components/Skeleton/package.json +1 -1
  67. package/dist/dynamic/components/SkipToContent/package.json +1 -1
  68. package/dist/dynamic/components/Slider/package.json +1 -1
  69. package/dist/dynamic/components/Spinner/package.json +1 -1
  70. package/dist/dynamic/components/Switch/package.json +1 -1
  71. package/dist/dynamic/components/Tabs/package.json +1 -1
  72. package/dist/dynamic/components/TextArea/package.json +1 -1
  73. package/dist/dynamic/components/TextInput/package.json +1 -1
  74. package/dist/dynamic/components/TextInputGroup/package.json +1 -1
  75. package/dist/dynamic/components/TimePicker/package.json +1 -1
  76. package/dist/dynamic/components/Timestamp/package.json +1 -1
  77. package/dist/dynamic/components/Title/package.json +1 -1
  78. package/dist/dynamic/components/ToggleGroup/package.json +1 -1
  79. package/dist/dynamic/components/Toolbar/package.json +1 -1
  80. package/dist/dynamic/components/Tooltip/package.json +1 -1
  81. package/dist/dynamic/components/TreeView/package.json +1 -1
  82. package/dist/dynamic/components/Truncate/package.json +1 -1
  83. package/dist/dynamic/components/Wizard/hooks/package.json +1 -1
  84. package/dist/dynamic/components/Wizard/package.json +1 -1
  85. package/dist/dynamic/deprecated/components/Chip/package.json +1 -1
  86. package/dist/dynamic/deprecated/components/DragDrop/package.json +1 -1
  87. package/dist/dynamic/deprecated/components/DualListSelector/package.json +1 -1
  88. package/dist/dynamic/deprecated/components/Modal/package.json +1 -1
  89. package/dist/dynamic/deprecated/components/Tile/package.json +1 -1
  90. package/dist/dynamic/deprecated/components/Wizard/package.json +1 -1
  91. package/dist/dynamic/deprecated/components/package.json +1 -1
  92. package/dist/dynamic/helpers/AnimationsProvider/AnimationsProvider/package.json +1 -1
  93. package/dist/dynamic/helpers/AnimationsProvider/package.json +1 -1
  94. package/dist/dynamic/helpers/FocusTrap/FocusTrap/package.json +1 -1
  95. package/dist/dynamic/helpers/GenerateId/GenerateId/package.json +1 -1
  96. package/dist/dynamic/helpers/KeyboardHandler/package.json +1 -1
  97. package/dist/dynamic/helpers/OUIA/ouia/package.json +1 -1
  98. package/dist/dynamic/helpers/Popper/Popper/package.json +1 -1
  99. package/dist/dynamic/helpers/SSRSafeIds/SSRSafeIds/package.json +1 -1
  100. package/dist/dynamic/helpers/constants/package.json +1 -1
  101. package/dist/dynamic/helpers/datetimeUtils/package.json +1 -1
  102. package/dist/dynamic/helpers/fileUtils/package.json +1 -1
  103. package/dist/dynamic/helpers/htmlConstants/package.json +1 -1
  104. package/dist/dynamic/helpers/package.json +1 -1
  105. package/dist/dynamic/helpers/resizeObserver/package.json +1 -1
  106. package/dist/dynamic/helpers/typeUtils/package.json +1 -1
  107. package/dist/dynamic/helpers/useInterval/package.json +1 -1
  108. package/dist/dynamic/helpers/useIsomorphicLayout/package.json +1 -1
  109. package/dist/dynamic/helpers/useSSRSafeId/package.json +1 -1
  110. package/dist/dynamic/helpers/useUnmountEffect/package.json +1 -1
  111. package/dist/dynamic/helpers/util/package.json +1 -1
  112. package/dist/dynamic/layouts/Bullseye/package.json +1 -1
  113. package/dist/dynamic/layouts/Flex/package.json +1 -1
  114. package/dist/dynamic/layouts/Gallery/package.json +1 -1
  115. package/dist/dynamic/layouts/Grid/package.json +1 -1
  116. package/dist/dynamic/layouts/Level/package.json +1 -1
  117. package/dist/dynamic/layouts/Split/package.json +1 -1
  118. package/dist/dynamic/layouts/Stack/package.json +1 -1
  119. package/dist/dynamic/styles/package.json +1 -1
  120. package/dist/esm/components/Button/Button.d.ts +4 -0
  121. package/dist/esm/components/Button/Button.d.ts.map +1 -1
  122. package/dist/esm/components/Button/Button.js +3 -2
  123. package/dist/esm/components/Button/Button.js.map +1 -1
  124. package/dist/esm/components/Masthead/MastheadLogo.d.ts +2 -0
  125. package/dist/esm/components/Masthead/MastheadLogo.d.ts.map +1 -1
  126. package/dist/esm/components/Masthead/MastheadLogo.js +2 -2
  127. package/dist/esm/components/Masthead/MastheadLogo.js.map +1 -1
  128. package/dist/esm/components/MenuToggle/MenuToggle.d.ts +4 -0
  129. package/dist/esm/components/MenuToggle/MenuToggle.d.ts.map +1 -1
  130. package/dist/esm/components/MenuToggle/MenuToggle.js +5 -2
  131. package/dist/esm/components/MenuToggle/MenuToggle.js.map +1 -1
  132. package/dist/esm/components/Nav/Nav.d.ts +2 -0
  133. package/dist/esm/components/Nav/Nav.d.ts.map +1 -1
  134. package/dist/esm/components/Nav/Nav.js +3 -2
  135. package/dist/esm/components/Nav/Nav.js.map +1 -1
  136. package/dist/esm/components/Page/Page.d.ts +9 -1
  137. package/dist/esm/components/Page/Page.d.ts.map +1 -1
  138. package/dist/esm/components/Page/Page.js +4 -4
  139. package/dist/esm/components/Page/Page.js.map +1 -1
  140. package/dist/esm/components/Toolbar/ToolbarFilter.d.ts.map +1 -1
  141. package/dist/esm/components/Toolbar/ToolbarFilter.js +11 -7
  142. package/dist/esm/components/Toolbar/ToolbarFilter.js.map +1 -1
  143. package/dist/js/components/Button/Button.d.ts +4 -0
  144. package/dist/js/components/Button/Button.d.ts.map +1 -1
  145. package/dist/js/components/Button/Button.js +3 -2
  146. package/dist/js/components/Button/Button.js.map +1 -1
  147. package/dist/js/components/Masthead/MastheadLogo.d.ts +2 -0
  148. package/dist/js/components/Masthead/MastheadLogo.d.ts.map +1 -1
  149. package/dist/js/components/Masthead/MastheadLogo.js +2 -2
  150. package/dist/js/components/Masthead/MastheadLogo.js.map +1 -1
  151. package/dist/js/components/MenuToggle/MenuToggle.d.ts +4 -0
  152. package/dist/js/components/MenuToggle/MenuToggle.d.ts.map +1 -1
  153. package/dist/js/components/MenuToggle/MenuToggle.js +5 -2
  154. package/dist/js/components/MenuToggle/MenuToggle.js.map +1 -1
  155. package/dist/js/components/Nav/Nav.d.ts +2 -0
  156. package/dist/js/components/Nav/Nav.d.ts.map +1 -1
  157. package/dist/js/components/Nav/Nav.js +3 -2
  158. package/dist/js/components/Nav/Nav.js.map +1 -1
  159. package/dist/js/components/Page/Page.d.ts +9 -1
  160. package/dist/js/components/Page/Page.d.ts.map +1 -1
  161. package/dist/js/components/Page/Page.js +3 -3
  162. package/dist/js/components/Page/Page.js.map +1 -1
  163. package/dist/js/components/Toolbar/ToolbarFilter.d.ts.map +1 -1
  164. package/dist/js/components/Toolbar/ToolbarFilter.js +11 -7
  165. package/dist/js/components/Toolbar/ToolbarFilter.js.map +1 -1
  166. package/dist/umd/assets/{output-BqC3GS4y.css → output-DAwLjMtA.css} +18298 -18298
  167. package/dist/umd/react-core.min.js +3 -3
  168. package/helpers/package.json +1 -1
  169. package/layouts/package.json +1 -1
  170. package/next/package.json +1 -1
  171. package/package.json +2 -2
  172. package/src/components/Button/Button.tsx +8 -0
  173. package/src/components/Button/__tests__/Button.test.tsx +42 -0
  174. package/src/components/Button/__tests__/__snapshots__/Button.test.tsx.snap +1 -1
  175. package/src/components/Masthead/MastheadLogo.tsx +8 -1
  176. package/src/components/Masthead/__tests__/Masthead.test.tsx +23 -0
  177. package/src/components/MenuToggle/MenuToggle.tsx +10 -0
  178. package/src/components/MenuToggle/__tests__/MenuToggle.test.tsx +40 -0
  179. package/src/components/Nav/Nav.tsx +6 -2
  180. package/src/components/Nav/__tests__/Nav.test.tsx +45 -0
  181. package/src/components/Page/Page.tsx +24 -4
  182. package/src/components/Page/__tests__/Page.test.tsx +82 -8
  183. package/src/components/Toolbar/ToolbarFilter.tsx +14 -11
  184. package/src/components/Toolbar/__tests__/ToolbarFilter.test.tsx +54 -0
  185. package/src/demos/Nav.md +32 -1
  186. package/src/demos/Page.md +0 -6
  187. package/src/demos/examples/Nav/NavDockedNav.tsx +416 -0
  188. package/src/demos/examples/Page/PageDockedNav.tsx +0 -259
@@ -1,259 +0,0 @@
1
- import { useRef, useState } from 'react';
2
- import {
3
- Avatar,
4
- Brand,
5
- Breadcrumb,
6
- BreadcrumbItem,
7
- Button,
8
- ButtonVariant,
9
- Card,
10
- CardBody,
11
- Content,
12
- Divider,
13
- Dropdown,
14
- DropdownItem,
15
- DropdownList,
16
- Gallery,
17
- GalleryItem,
18
- Masthead,
19
- MastheadMain,
20
- MastheadLogo,
21
- MastheadContent,
22
- MastheadBrand,
23
- MenuToggle,
24
- Nav,
25
- NavItem,
26
- NavList,
27
- Page,
28
- PageSection,
29
- SkipToContent,
30
- Toolbar,
31
- ToolbarContent,
32
- ToolbarGroup,
33
- ToolbarItem,
34
- Tooltip
35
- } from '@patternfly/react-core';
36
- import QuestionCircleIcon from '@patternfly/react-icons/dist/esm/icons/question-circle-icon';
37
- import CubeIcon from '@patternfly/react-icons/dist/esm/icons/cube-icon';
38
- import FolderIcon from '@patternfly/react-icons/dist/esm/icons/folder-icon';
39
- import CloudIcon from '@patternfly/react-icons/dist/esm/icons/cloud-icon';
40
- import CodeIcon from '@patternfly/react-icons/dist/esm/icons/code-icon';
41
- import imgAvatar from '@patternfly/react-core/src/components/assets/avatarImg.svg';
42
- import pfIconLogo from '@patternfly/react-core/src/demos/assets/PF-IconLogo-color.svg';
43
-
44
- interface NavOnSelectProps {
45
- groupId: number | string;
46
- itemId: number | string;
47
- to: string;
48
- }
49
-
50
- export const PageDockedNav: React.FunctionComponent = () => {
51
- const [isDropdownOpen, setIsDropdownOpen] = useState(false);
52
- const [activeItem, setActiveItem] = useState(1);
53
-
54
- const onNavSelect = (_event: React.FormEvent<HTMLInputElement>, selectedItem: NavOnSelectProps) => {
55
- typeof selectedItem.itemId === 'number' && setActiveItem(selectedItem.itemId);
56
- };
57
-
58
- const onDropdownToggle = () => {
59
- setIsDropdownOpen((prevIsOpen) => !prevIsOpen);
60
- };
61
-
62
- const onDropdownSelect = () => {
63
- setIsDropdownOpen(false);
64
- };
65
-
66
- const dashboardBreadcrumb = (
67
- <Breadcrumb>
68
- <BreadcrumbItem>Section home</BreadcrumbItem>
69
- <BreadcrumbItem to="#">Section title</BreadcrumbItem>
70
- <BreadcrumbItem to="#">Section title</BreadcrumbItem>
71
- <BreadcrumbItem to="#" isActive>
72
- Section landing
73
- </BreadcrumbItem>
74
- </Breadcrumb>
75
- );
76
-
77
- const userDropdownItems = [
78
- <>
79
- <DropdownItem key="group 2 profile">My profile</DropdownItem>
80
- <DropdownItem key="group 2 user">User management</DropdownItem>
81
- <DropdownItem key="group 2 logout">Logout</DropdownItem>
82
- </>
83
- ];
84
-
85
- const navItem1Ref = useRef<HTMLAnchorElement>(null);
86
- const navItem2Ref = useRef<HTMLAnchorElement>(null);
87
- const navItem3Ref = useRef<HTMLAnchorElement>(null);
88
- const navItem4Ref = useRef<HTMLAnchorElement>(null);
89
- const settingsRef = useRef<HTMLButtonElement>(null);
90
- const helpRef = useRef<HTMLButtonElement>(null);
91
- const userMenuRef = useRef<HTMLButtonElement>(null);
92
-
93
- const masthead = (
94
- <Masthead id="icon-router-link" variant="docked">
95
- <MastheadMain>
96
- <MastheadBrand>
97
- <MastheadLogo component={(props) => <a {...props} href="#" />}>
98
- <Brand src={pfIconLogo} alt="PatternFly" heights={{ default: '37px' }} />
99
- </MastheadLogo>
100
- </MastheadBrand>
101
- </MastheadMain>
102
- <Divider />
103
- <MastheadContent>
104
- <Toolbar id="toolbar" isVertical>
105
- <ToolbarContent>
106
- <ToolbarItem>
107
- <Nav onSelect={onNavSelect} variant="docked" aria-label="Icon global" ouiaId="IconNav">
108
- <NavList>
109
- <NavItem
110
- preventDefault
111
- id="nav-icon-link1"
112
- to="#nav-icon-link1"
113
- itemId={0}
114
- isActive={activeItem === 0}
115
- icon={<CubeIcon />}
116
- anchorRef={navItem1Ref}
117
- aria-label="Link 1"
118
- />
119
- <NavItem
120
- preventDefault
121
- id="nav-icon-link2"
122
- to="#nav-icon-link2"
123
- itemId={1}
124
- isActive={activeItem === 1}
125
- icon={<FolderIcon />}
126
- anchorRef={navItem2Ref}
127
- aria-label="Link 2"
128
- />
129
- <NavItem
130
- preventDefault
131
- id="nav-icon-link3"
132
- to="#nav-icon-link3"
133
- itemId={2}
134
- isActive={activeItem === 2}
135
- icon={<CloudIcon />}
136
- anchorRef={navItem3Ref}
137
- aria-label="Link 3"
138
- />
139
- <NavItem
140
- preventDefault
141
- id="nav-icon-link4"
142
- to="#nav-icon-link4"
143
- itemId={3}
144
- isActive={activeItem === 3}
145
- icon={<CodeIcon />}
146
- anchorRef={navItem4Ref}
147
- aria-label="Link 4"
148
- />
149
- </NavList>
150
- </Nav>
151
- <Tooltip aria="none" aria-live="off" triggerRef={navItem1Ref} content="Link 1"></Tooltip>
152
- <Tooltip aria="none" aria-live="off" triggerRef={navItem2Ref} content="Link 2"></Tooltip>
153
- <Tooltip aria="none" aria-live="off" triggerRef={navItem3Ref} content="Link 3"></Tooltip>
154
- <Tooltip aria="none" aria-live="off" triggerRef={navItem4Ref} content="Link 4"></Tooltip>
155
- </ToolbarItem>
156
- <ToolbarGroup
157
- variant="action-group-plain"
158
- align={{ default: 'alignEnd' }}
159
- gap={{ default: 'gapNone', md: 'gapMd' }}
160
- >
161
- <ToolbarGroup variant="action-group-plain" visibility={{ default: 'hidden', lg: 'visible' }}>
162
- <ToolbarItem>
163
- <Tooltip aria="none" aria-live="off" triggerRef={settingsRef} content="Settings">
164
- <Button ref={settingsRef} aria-label="Settings" isSettings variant="plain" />
165
- </Tooltip>
166
- </ToolbarItem>
167
- <ToolbarItem>
168
- <Tooltip aria="none" aria-live="off" triggerRef={helpRef} content="Help">
169
- <Button
170
- ref={helpRef}
171
- aria-label="Help"
172
- variant={ButtonVariant.plain}
173
- icon={<QuestionCircleIcon />}
174
- />
175
- </Tooltip>
176
- </ToolbarItem>
177
- </ToolbarGroup>
178
- </ToolbarGroup>
179
- <ToolbarItem>
180
- <Dropdown
181
- isOpen={isDropdownOpen}
182
- onSelect={onDropdownSelect}
183
- shouldFocusToggleOnSelect
184
- onOpenChange={(isOpen: boolean) => setIsDropdownOpen(isOpen)}
185
- toggle={{
186
- toggleNode: (
187
- <Tooltip content="User menu" aria="none" aria-live="off" triggerRef={userMenuRef}>
188
- <MenuToggle
189
- ref={userMenuRef}
190
- onClick={onDropdownToggle}
191
- isExpanded={isDropdownOpen}
192
- icon={<Avatar src={imgAvatar} alt="" size="sm" />}
193
- variant="plain"
194
- aria-label="User menu"
195
- />
196
- </Tooltip>
197
- ),
198
- toggleRef: userMenuRef
199
- }}
200
- >
201
- <DropdownList>{userDropdownItems}</DropdownList>
202
- </Dropdown>
203
- </ToolbarItem>
204
- </ToolbarContent>
205
- </Toolbar>
206
- </MastheadContent>
207
- </Masthead>
208
- );
209
-
210
- const mainContainerId = 'main-content-page-layout-tertiary-nav';
211
-
212
- const handleClick = (event: React.MouseEvent<HTMLAnchorElement>) => {
213
- event.preventDefault();
214
-
215
- const mainContentElement = document.getElementById(mainContainerId);
216
- if (mainContentElement) {
217
- mainContentElement.focus();
218
- }
219
- };
220
-
221
- const pageSkipToContent = (
222
- <SkipToContent onClick={handleClick} href={`#${mainContainerId}`}>
223
- Skip to content
224
- </SkipToContent>
225
- );
226
-
227
- return (
228
- <Page
229
- variant="docked"
230
- masthead={masthead}
231
- skipToContent={pageSkipToContent}
232
- breadcrumb={dashboardBreadcrumb}
233
- mainContainerId={mainContainerId}
234
- isHorizontalSubnavWidthLimited
235
- isBreadcrumbWidthLimited
236
- isBreadcrumbGrouped
237
- additionalGroupedContent={
238
- <PageSection aria-labelledby="main-title">
239
- <Content>
240
- <h1 id="main-title">Main title</h1>
241
- <p>This is a full page demo.</p>
242
- </Content>
243
- </PageSection>
244
- }
245
- >
246
- <PageSection aria-label="Card gallery">
247
- <Gallery hasGutter>
248
- {Array.from({ length: 10 }).map((_value, index) => (
249
- <GalleryItem key={index}>
250
- <Card>
251
- <CardBody>This is a card</CardBody>
252
- </Card>
253
- </GalleryItem>
254
- ))}
255
- </Gallery>
256
- </PageSection>
257
- </Page>
258
- );
259
- };