@patternfly/react-table 5.3.0-prerelease.2 → 5.3.0-prerelease.20

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 (103) hide show
  1. package/CHANGELOG.md +78 -0
  2. package/components/package.json +1 -1
  3. package/deprecated/package.json +1 -1
  4. package/dist/dynamic/components/Table/package.json +1 -1
  5. package/dist/dynamic/components/Table/utils/decorators/package.json +1 -1
  6. package/dist/dynamic/components/Table/utils/package.json +1 -1
  7. package/dist/dynamic/deprecated/components/Table/base/package.json +1 -1
  8. package/dist/dynamic/deprecated/components/Table/package.json +1 -1
  9. package/dist/dynamic/deprecated/components/package.json +1 -1
  10. package/dist/esm/components/Table/ActionsColumn.d.ts +2 -0
  11. package/dist/esm/components/Table/ActionsColumn.d.ts.map +1 -1
  12. package/dist/esm/components/Table/ActionsColumn.js +4 -4
  13. package/dist/esm/components/Table/ActionsColumn.js.map +1 -1
  14. package/dist/esm/components/Table/TableTypes.d.ts +2 -0
  15. package/dist/esm/components/Table/TableTypes.d.ts.map +1 -1
  16. package/dist/esm/components/Table/Th.d.ts +8 -0
  17. package/dist/esm/components/Table/Th.d.ts.map +1 -1
  18. package/dist/esm/components/Table/Th.js +7 -3
  19. package/dist/esm/components/Table/Th.js.map +1 -1
  20. package/dist/esm/components/Table/utils/decorators/selectable.js +1 -1
  21. package/dist/esm/components/Table/utils/decorators/selectable.js.map +1 -1
  22. package/dist/esm/demos/DashboardHeader.d.ts +8 -0
  23. package/dist/esm/demos/DashboardHeader.d.ts.map +1 -0
  24. package/dist/esm/demos/DashboardHeader.js +77 -0
  25. package/dist/esm/demos/DashboardHeader.js.map +1 -0
  26. package/dist/esm/demos/DashboardWrapper.d.ts +85 -0
  27. package/dist/esm/demos/DashboardWrapper.d.ts.map +1 -0
  28. package/dist/esm/demos/DashboardWrapper.js +41 -0
  29. package/dist/esm/demos/DashboardWrapper.js.map +1 -0
  30. package/dist/esm/demos/index.d.ts +2 -0
  31. package/dist/esm/demos/index.d.ts.map +1 -1
  32. package/dist/esm/demos/index.js +2 -0
  33. package/dist/esm/demos/index.js.map +1 -1
  34. package/dist/esm/index.d.ts +0 -1
  35. package/dist/esm/index.d.ts.map +1 -1
  36. package/dist/esm/index.js +0 -1
  37. package/dist/esm/index.js.map +1 -1
  38. package/dist/js/components/Table/ActionsColumn.d.ts +2 -0
  39. package/dist/js/components/Table/ActionsColumn.d.ts.map +1 -1
  40. package/dist/js/components/Table/ActionsColumn.js +4 -4
  41. package/dist/js/components/Table/ActionsColumn.js.map +1 -1
  42. package/dist/js/components/Table/TableTypes.d.ts +2 -0
  43. package/dist/js/components/Table/TableTypes.d.ts.map +1 -1
  44. package/dist/js/components/Table/Th.d.ts +8 -0
  45. package/dist/js/components/Table/Th.d.ts.map +1 -1
  46. package/dist/js/components/Table/Th.js +7 -3
  47. package/dist/js/components/Table/Th.js.map +1 -1
  48. package/dist/js/components/Table/utils/decorators/selectable.js +1 -1
  49. package/dist/js/components/Table/utils/decorators/selectable.js.map +1 -1
  50. package/dist/js/demos/DashboardHeader.d.ts +8 -0
  51. package/dist/js/demos/DashboardHeader.d.ts.map +1 -0
  52. package/dist/js/demos/DashboardHeader.js +82 -0
  53. package/dist/js/demos/DashboardHeader.js.map +1 -0
  54. package/dist/js/demos/DashboardWrapper.d.ts +85 -0
  55. package/dist/js/demos/DashboardWrapper.d.ts.map +1 -0
  56. package/dist/js/demos/DashboardWrapper.js +45 -0
  57. package/dist/js/demos/DashboardWrapper.js.map +1 -0
  58. package/dist/js/demos/index.d.ts +2 -0
  59. package/dist/js/demos/index.d.ts.map +1 -1
  60. package/dist/js/demos/index.js +2 -0
  61. package/dist/js/demos/index.js.map +1 -1
  62. package/dist/js/index.d.ts +0 -1
  63. package/dist/js/index.d.ts.map +1 -1
  64. package/dist/js/index.js +0 -1
  65. package/dist/js/index.js.map +1 -1
  66. package/dist/umd/react-table.min.js +3 -3
  67. package/package.json +6 -6
  68. package/src/components/Table/ActionsColumn.tsx +33 -28
  69. package/src/components/Table/TableTypes.tsx +2 -0
  70. package/src/components/Table/Th.tsx +20 -2
  71. package/src/components/Table/__tests__/Th.test.tsx +31 -0
  72. package/src/components/Table/examples/TableActions.tsx +2 -2
  73. package/src/components/Table/examples/TableActionsOverflow.tsx +1 -1
  74. package/src/components/Table/examples/TableCompoundExpandable.tsx +1 -1
  75. package/src/components/Table/examples/TableDraggable.tsx +2 -2
  76. package/src/components/Table/examples/TableExpandable.tsx +1 -1
  77. package/src/components/Table/examples/TableNestedExpandable.tsx +1 -1
  78. package/src/components/Table/examples/TableNestedStickyHeader.tsx +3 -0
  79. package/src/components/Table/examples/TableNestedTableExpandable.tsx +1 -1
  80. package/src/components/Table/examples/TableSelectableRadio.tsx +1 -1
  81. package/src/components/Table/examples/TableStripedExpandable.tsx +1 -1
  82. package/src/components/Table/utils/decorators/selectable.tsx +1 -1
  83. package/src/demos/DashboardHeader.tsx +198 -0
  84. package/src/demos/DashboardWrapper.tsx +199 -0
  85. package/src/demos/Table.md +29 -5
  86. package/src/demos/assets/avatarImg.svg +18 -0
  87. package/src/demos/assets/index.d.ts +4 -0
  88. package/src/demos/assets/pf-logo.svg +28 -0
  89. package/src/demos/examples/TableBulkSelect.tsx +2 -2
  90. package/src/demos/examples/TableColumnManagement.tsx +1 -1
  91. package/src/demos/examples/TableCompact.tsx +1 -1
  92. package/src/demos/examples/TableCompoundExpansion.tsx +4 -3
  93. package/src/demos/examples/TableEmptyStateDefault.tsx +1 -1
  94. package/src/demos/examples/TableEmptyStateError.tsx +1 -1
  95. package/src/demos/examples/TableEmptyStateLoading.tsx +1 -1
  96. package/src/demos/examples/TableExpandCollapseAll.tsx +1 -1
  97. package/src/demos/examples/TableSortableResponsive.tsx +2 -2
  98. package/src/demos/examples/TableStaticBottomPagination.tsx +1 -1
  99. package/src/demos/examples/TableStickyFirstColumn.tsx +1 -1
  100. package/src/demos/examples/TableStickyHeader.tsx +1 -1
  101. package/src/demos/index.ts +2 -0
  102. package/src/deprecated/components/Table/__tests__/__snapshots__/Table.test.tsx.snap +10 -4
  103. package/src/index.ts +0 -1
@@ -0,0 +1,199 @@
1
+ import React, { useState } from 'react';
2
+ import {
3
+ Breadcrumb,
4
+ BreadcrumbItem,
5
+ Nav,
6
+ NavItem,
7
+ NavList,
8
+ Page,
9
+ PageSection,
10
+ PageSidebar,
11
+ PageSidebarBody,
12
+ SkipToContent,
13
+ Text,
14
+ TextContent
15
+ } from '@patternfly/react-core';
16
+ import { DashboardHeader } from './DashboardHeader';
17
+
18
+ interface DashboardWrapperProps {
19
+ /** Programmatically manage if the sidebar nav is shown */
20
+ sidebarNavOpen?: boolean;
21
+ /** Flag to render sample breadcrumb if custom breadcrumb not passed */
22
+ hasDefaultBreadcrumb?: boolean;
23
+ /** Flag to render sample page title if custom title not passed */
24
+ hasPageTemplateTitle?: boolean;
25
+ /** Content rendered inside the main section of the page layout (e.g. <PageSection />) */
26
+ children?: React.ReactNode;
27
+ /** Additional classes added to the page layout */
28
+ className?: string;
29
+ /** Header component (e.g. <Masthead />) */
30
+ header?: React.ReactNode;
31
+ /** Sidebar component for a side nav (e.g. <PageSidebar />) */
32
+ sidebar?: React.ReactNode;
33
+ /** Notification drawer component for an optional notification drawer (e.g. <NotificationDrawer />) */
34
+ notificationDrawer?: React.ReactNode;
35
+ /** Flag indicating Notification drawer in expanded */
36
+ isNotificationDrawerExpanded?: boolean;
37
+ /** Flag indicating if breadcrumb width should be limited */
38
+ isBreadcrumbWidthLimited?: boolean;
39
+ /** Callback when notification drawer panel is finished expanding. */
40
+ onNotificationDrawerExpand?: (event: KeyboardEvent | React.MouseEvent | React.TransitionEvent) => void;
41
+ /** Skip to content component for the page */
42
+ skipToContent?: React.ReactElement;
43
+ /** Sets the value for role on the <main> element */
44
+ role?: string;
45
+ /** an id to use for the [role="main"] element */
46
+ mainContainerId?: string;
47
+ /** tabIndex to use for the [role="main"] element, null to unset it */
48
+ mainTabIndex?: number | null;
49
+ /**
50
+ * If true, manages the sidebar open/close state and there is no need to pass the isSidebarOpen boolean into
51
+ * the sidebar component or add a callback onSidebarToggle function into the Masthead component
52
+ */
53
+ isManagedSidebar?: boolean;
54
+ /** Flag indicating if tertiary nav width should be limited */
55
+ isTertiaryNavWidthLimited?: boolean;
56
+ /**
57
+ * If true, the managed sidebar is initially open for desktop view
58
+ */
59
+ defaultManagedSidebarIsOpen?: boolean;
60
+ /**
61
+ * Can add callback to be notified when resize occurs, for example to set the sidebar isSidebarOpen prop to false for a width < 768px
62
+ * Returns object { mobileView: boolean, windowSize: number }
63
+ */
64
+ onPageResize?: ((event: MouseEvent | TouchEvent | React.KeyboardEvent, object: any) => void) | null;
65
+ /**
66
+ * The page resize observer uses the breakpoints returned from this function when adding the pf-m-breakpoint-[default|sm|md|lg|xl|2xl] class
67
+ * You can override the default getBreakpoint function to return breakpoints at different sizes than the default
68
+ * You can view the default getBreakpoint function here:
69
+ * https://github.com/patternfly/patternfly-react/blob/main/packages/react-core/src/helpers/util.ts
70
+ */
71
+ getBreakpoint?: (width: number | null) => 'default' | 'sm' | 'md' | 'lg' | 'xl' | '2xl';
72
+ /**
73
+ * The page resize observer uses the breakpoints returned from this function when adding the pf-m-breakpoint-[default|sm|md|lg|xl|2xl] class
74
+ * You can override the default getVerticalBreakpoint function to return breakpoints at different sizes than the default
75
+ * You can view the default getVerticalBreakpoint function here:
76
+ * https://github.com/patternfly/patternfly-react/blob/main/packages/react-core/src/helpers/util.ts
77
+ */
78
+ getVerticalBreakpoint?: (height: number | null) => 'default' | 'sm' | 'md' | 'lg' | 'xl' | '2xl';
79
+ /** Breadcrumb component for the page */
80
+ breadcrumb?: React.ReactNode;
81
+ /** Tertiary nav component for the page */
82
+ tertiaryNav?: React.ReactNode;
83
+ /** Accessible label, can be used to name main section */
84
+ mainAriaLabel?: string;
85
+ /** Flag indicating if the tertiaryNav should be in a group */
86
+ isTertiaryNavGrouped?: boolean;
87
+ /** Flag indicating if the breadcrumb should be in a group */
88
+ isBreadcrumbGrouped?: boolean;
89
+ /** Additional content of the group */
90
+ additionalGroupedContent?: React.ReactNode;
91
+ /** HTML component used as main component of the page. Defaults to 'main', only pass in 'div' if another 'main' element already exists. */
92
+ mainComponent?: 'main' | 'div';
93
+ /** Additional props of the group */
94
+ groupProps?: any;
95
+ /** Additional props of the breadcrumb */
96
+ breadcrumbProps?: any;
97
+ }
98
+
99
+ export const DashboardBreadcrumb = (
100
+ <Breadcrumb>
101
+ <BreadcrumbItem>Section home</BreadcrumbItem>
102
+ <BreadcrumbItem to="#">Section title</BreadcrumbItem>
103
+ <BreadcrumbItem to="#">Section title</BreadcrumbItem>
104
+ <BreadcrumbItem to="#" isActive>
105
+ Section landing
106
+ </BreadcrumbItem>
107
+ </Breadcrumb>
108
+ );
109
+
110
+ const PageTemplateTitle = (
111
+ <PageSection variant="light">
112
+ <TextContent>
113
+ <Text component="h1">Main title</Text>
114
+ <Text component="p">This is a full page demo.</Text>
115
+ </TextContent>
116
+ </PageSection>
117
+ );
118
+
119
+ export const DashboardWrapper: React.FC<DashboardWrapperProps> = ({
120
+ children,
121
+ mainContainerId,
122
+ breadcrumb,
123
+ header,
124
+ sidebar,
125
+ sidebarNavOpen,
126
+ onPageResize,
127
+ hasDefaultBreadcrumb,
128
+ notificationDrawer,
129
+ isNotificationDrawerExpanded,
130
+ hasPageTemplateTitle,
131
+ ...pageProps
132
+ }: DashboardWrapperProps) => {
133
+ const [activeItem, setActiveItem] = useState(1);
134
+
135
+ const onNavSelect = (_event: React.FormEvent<HTMLInputElement>, result: any) => {
136
+ setActiveItem(result.itemId);
137
+ };
138
+
139
+ let renderedBreadcrumb;
140
+ if (!hasDefaultBreadcrumb) {
141
+ renderedBreadcrumb = breadcrumb ?? DashboardBreadcrumb;
142
+ }
143
+
144
+ const PageNav = (
145
+ <Nav onSelect={onNavSelect} aria-label="Nav">
146
+ <NavList>
147
+ <NavItem itemId={0} isActive={activeItem === 0} to="#system-panel">
148
+ System panel
149
+ </NavItem>
150
+ <NavItem itemId={1} isActive={activeItem === 1} to="#policy">
151
+ Policy
152
+ </NavItem>
153
+ <NavItem itemId={2} isActive={activeItem === 2} to="#auth">
154
+ Authentication
155
+ </NavItem>
156
+ <NavItem itemId={3} isActive={activeItem === 3} to="#network">
157
+ Network services
158
+ </NavItem>
159
+ <NavItem itemId={4} isActive={activeItem === 4} to="#server">
160
+ Server
161
+ </NavItem>
162
+ </NavList>
163
+ </Nav>
164
+ );
165
+
166
+ const _sidebar = (
167
+ <PageSidebar isSidebarOpen={sidebarNavOpen || false}>
168
+ <PageSidebarBody>{PageNav}</PageSidebarBody>
169
+ </PageSidebar>
170
+ );
171
+
172
+ const PageSkipToContent = (
173
+ <SkipToContent href={`#${mainContainerId ?? 'main-content-page-layout-default-nav'}`}>
174
+ Skip to content
175
+ </SkipToContent>
176
+ );
177
+
178
+ return (
179
+ <Page
180
+ header={header ?? <DashboardHeader />}
181
+ sidebar={sidebar ?? _sidebar}
182
+ isManagedSidebar
183
+ skipToContent={PageSkipToContent}
184
+ breadcrumb={renderedBreadcrumb}
185
+ mainContainerId={mainContainerId ?? 'main-content-page-layout-default-nav'}
186
+ notificationDrawer={notificationDrawer}
187
+ isNotificationDrawerExpanded={isNotificationDrawerExpanded}
188
+ {...(typeof onPageResize === 'function' && {
189
+ onPageResize: (event: MouseEvent | TouchEvent | React.KeyboardEvent<Element>, resizeObject: any) =>
190
+ onPageResize(event, resizeObject)
191
+ })}
192
+ {...pageProps}
193
+ >
194
+ {hasPageTemplateTitle && PageTemplateTitle}
195
+ {children}
196
+ </Page>
197
+ );
198
+ };
199
+ DashboardWrapper.displayName = 'DashboardWrapper';
@@ -23,7 +23,25 @@ Page,
23
23
  PageSectionVariants,
24
24
  TextContent,
25
25
  Text,
26
- Divider } from '@patternfly/react-core';
26
+ Divider,
27
+ Avatar,
28
+ Brand,
29
+ Button,
30
+ ButtonVariant,
31
+ Dropdown,
32
+ DropdownGroup,
33
+ DropdownItem,
34
+ DropdownList,
35
+ MastheadBrand,
36
+ MenuToggle,
37
+ ToolbarGroup,
38
+ PageToggleButton,
39
+ Nav,
40
+ NavItem,
41
+ NavList,
42
+ PageSidebar,
43
+ PageSidebarBody,
44
+ } from '@patternfly/react-core';
27
45
  import { Table as TableDeprecated, TableHeader, TableBody } from '@patternfly/react-table/deprecated';
28
46
  import CheckIcon from '@patternfly/react-icons/dist/esm/icons/check-icon';
29
47
  import CloneIcon from '@patternfly/react-icons/dist/esm/icons/clone-icon';
@@ -40,23 +58,23 @@ import CogIcon from '@patternfly/react-icons/dist/esm/icons/cog-icon';
40
58
  import HelpIcon from '@patternfly/react-icons/dist/esm/icons/help-icon';
41
59
  import QuestionCircleIcon from '@patternfly/react-icons/dist/esm/icons/question-circle-icon';
42
60
  import globalDangerColor200 from '@patternfly/react-tokens/dist/esm/global_danger_color_200';
43
- import imgBrand from '@patternfly/react-core/src/components/assets/pfLogo.svg';
44
- import imgAvatar from '@patternfly/react-core/src/components/assets/avatarImg.svg';
45
61
  import AngleDownIcon from '@patternfly/react-icons/dist/esm/icons/angle-down-icon';
46
62
  import AngleRightIcon from '@patternfly/react-icons/dist/esm/icons/angle-right-icon';
47
63
  import BarsIcon from '@patternfly/react-icons/dist/esm/icons/bars-icon';
48
64
  import AttentionBellIcon from '@patternfly/react-icons/dist/esm/icons/attention-bell-icon';
49
65
  import BlueprintIcon from '@patternfly/react-icons/dist/esm/icons/blueprint-icon';
50
66
  import EllipsisVIcon from '@patternfly/react-icons/dist/esm/icons/ellipsis-v-icon';
51
- import { DashboardWrapper } from '@patternfly/react-core/dist/esm/demos/DashboardWrapper';
67
+ import { DashboardWrapper } from '@patternfly/react-table/dist/esm/demos/DashboardWrapper';
52
68
  import { rows, columns } from '@patternfly/react-table/dist/esm/demos/sampleData';
53
69
  import spacing from '@patternfly/react-styles/css/utilities/Spacing/spacing';
70
+ import BellIcon from '@patternfly/react-icons/dist/esm/icons/bell-icon';
54
71
 
55
72
  ## Demos
56
73
 
57
74
  ### Bulk select
58
75
 
59
76
  ```js isFullscreen file="./examples/TableBulkSelect.tsx"
77
+
60
78
  ```
61
79
 
62
80
  ### Expand/collapse all
@@ -86,11 +104,13 @@ import spacing from '@patternfly/react-styles/css/utilities/Spacing/spacing';
86
104
  ### Column management with draggable
87
105
 
88
106
  ```js isFullscreen file="./examples/TableColumnManagementWithDraggable.tsx"
107
+
89
108
  ```
90
109
 
91
110
  ### Filterable
92
111
 
93
112
  ```js isFullscreen file="./examples/TableFilterable.tsx"
113
+
94
114
  ```
95
115
 
96
116
  ### Sortable - responsive
@@ -111,11 +131,12 @@ To demonstrate this, navigate to the last page of data below using the `>>` navi
111
131
  - The `isLastFullPageShown` prop navigates you back to the previous page which does contain a full page of 5 rows (rows 6 - 10).
112
132
 
113
133
  ```js isFullscreen file="./examples/TableAutomaticPagination.tsx"
134
+
114
135
  ```
115
136
 
116
137
  ### Static bottom pagination on mobile
117
138
 
118
- ```ts isFullscreen file="./examples/TableStaticBottomPagination.tsx"
139
+ ```js isFullscreen file="./examples/TableStaticBottomPagination.tsx"
119
140
 
120
141
  ```
121
142
 
@@ -146,14 +167,17 @@ These examples demonstrate the use of an [Empty State component](/components/emp
146
167
  ### Empty
147
168
 
148
169
  ```js isFullscreen file="./examples/TableEmptyStateDefault.tsx"
170
+
149
171
  ```
150
172
 
151
173
  ### Loading
152
174
 
153
175
  ```js isFullscreen file="./examples/TableEmptyStateLoading.tsx"
176
+
154
177
  ```
155
178
 
156
179
  ### Error
157
180
 
158
181
  ```js isFullscreen file="./examples/TableEmptyStateError.tsx"
182
+
159
183
  ```
@@ -0,0 +1,18 @@
1
+ <?xml version="1.0" encoding="utf-8"?>
2
+ <!-- Generator: Adobe Illustrator 24.0.2, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
3
+ <svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
4
+ viewBox="0 0 36 36" style="enable-background:new 0 0 36 36;" xml:space="preserve">
5
+ <style type="text/css">
6
+ .st0{fill-rule:evenodd;clip-rule:evenodd;fill:#F0F0F0;}
7
+ .st1{fill-rule:evenodd;clip-rule:evenodd;fill:#D2D2D2;}
8
+ .st2{fill:#B8BBBE;}
9
+ .st3{fill:#D2D2D2;}
10
+ </style>
11
+ <rect class="st0" width="36" height="36"/>
12
+ <path class="st1" d="M17.7,20.1c-3.5,0-6.4-2.9-6.4-6.4s2.9-6.4,6.4-6.4s6.4,2.9,6.4,6.4S21.3,20.1,17.7,20.1z"/>
13
+ <path class="st2" d="M13.3,36l0-6.7c-2,0.4-2.9,1.4-3.1,3.5L10.1,36H13.3z"/>
14
+ <path class="st3" d="M10.1,36l0.1-3.2c0.2-2.1,1.1-3.1,3.1-3.5l0,6.7h9.4l0-6.7c2,0.4,2.9,1.4,3.1,3.5l0.1,3.2h4.7
15
+ c-0.4-3.9-1.3-9-2.9-11c-1.1-1.4-2.3-2.2-3.5-2.6s-1.8-0.6-6.3-0.6s-6.1,0.7-6.1,0.7c-1.2,0.4-2.4,1.2-3.4,2.6
16
+ C6.7,27,5.8,32.2,5.4,36H10.1z"/>
17
+ <path class="st2" d="M25.9,36l-0.1-3.2c-0.2-2.1-1.1-3.1-3.1-3.5l0,6.7H25.9z"/>
18
+ </svg>
@@ -0,0 +1,4 @@
1
+ declare module '*.svg' {
2
+ const content: string;
3
+ export default content;
4
+ }
@@ -0,0 +1,28 @@
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+ <svg width="679px" height="158px" viewBox="0 0 679 158" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
3
+ <title>PF-HorizontalLogo-Reverse </title>
4
+ <defs>
5
+ <linearGradient x1="100%" y1="1.31838984e-13%" x2="40.4021492%" y2="59.4473677%" id="linearGradient-1">
6
+ <stop stop-color="#FFFFFF" offset="0%"></stop>
7
+ <stop stop-color="#FFFFFF" stop-opacity="0.498497596" offset="100%"></stop>
8
+ </linearGradient>
9
+ </defs>
10
+ <g id="PF-HorizontalLogo-Reverse" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd">
11
+ <g id="Group" transform="translate(-0.000000, 0.000000)">
12
+ <path d="M61.7658863,0 L157.846154,0 L157.846154,96.0802676 C104.782487,96.0802676 61.7658863,53.0636665 61.7658863,0 L61.7658863,0 L61.7658863,0 Z" id="Rectangle-Copy-15" fill="#FFFFFF" opacity="0.401297433"></path>
13
+ <path d="M158,1.84777167 L158,138 C158,149.045695 149.045695,158 138,158 L66.3656919,158 L158,1.84777167 Z M156.152228,3.55271368e-13 L-9.37916411e-13,91.6343081 L-9.37916411e-13,20 C-9.09494702e-13,8.954305 8.954305,3.55271368e-13 20,3.41060513e-13 L156.152228,3.55271368e-13 Z" id="Combined-Shape-Copy-4" fill="url(#linearGradient-1)"></path>
14
+ </g>
15
+ <g id="PatternFly-Copy-11" transform="translate(206.000000, 45.750000)" fill="#FFFFFF" fill-rule="nonzero">
16
+ <path d="M0,65.25 L0,2.25 L33.21,2.25 C37.35,2.25 41.025,3.135 44.235,4.905 C47.445,6.675 49.98,9.09 51.84,12.15 C53.7,15.21 54.63,18.72 54.63,22.68 C54.63,26.46 53.7,29.865 51.84,32.895 C49.98,35.925 47.43,38.31 44.19,40.05 C40.95,41.79 37.29,42.66 33.21,42.66 L15.48,42.66 L15.48,65.25 L0,65.25 Z M15.48,29.88 L31.41,29.88 C33.69,29.88 35.52,29.22 36.9,27.9 C38.28,26.58 38.97,24.87 38.97,22.77 C38.97,20.61 38.28,18.855 36.9,17.505 C35.52,16.155 33.69,15.48 31.41,15.48 L15.48,15.48 L15.48,29.88 Z" id="Shape"></path>
17
+ <path d="M77.04,66.06 C73.68,66.06 70.695,65.43 68.085,64.17 C65.475,62.91 63.435,61.17 61.965,58.95 C60.495,56.73 59.76,54.18 59.76,51.3 C59.76,46.74 61.485,43.215 64.935,40.725 C68.385,38.235 73.2,36.99 79.38,36.99 C83.1,36.99 86.7,37.44 90.18,38.34 L90.18,36 C90.18,31.26 87.15,28.89 81.09,28.89 C77.49,28.89 72.69,30.15 66.69,32.67 L61.47,21.96 C69.15,18.48 76.56,16.74 83.7,16.74 C90.3,16.74 95.43,18.315 99.09,21.465 C102.75,24.615 104.58,29.04 104.58,34.74 L104.58,65.25 L90.18,65.25 L90.18,62.37 C88.26,63.69 86.235,64.635 84.105,65.205 C81.975,65.775 79.62,66.06 77.04,66.06 Z M73.62,51.03 C73.62,52.53 74.28,53.7 75.6,54.54 C76.92,55.38 78.75,55.8 81.09,55.8 C84.69,55.8 87.72,55.05 90.18,53.55 L90.18,47.43 C87.42,46.71 84.54,46.35 81.54,46.35 C79.02,46.35 77.07,46.755 75.69,47.565 C74.31,48.375 73.62,49.53 73.62,51.03 Z" id="Shape"></path>
18
+ <path d="M137.25,65.88 C125.73,65.88 119.97,60.84 119.97,50.76 L119.97,29.79 L110.34,29.79 L110.34,17.64 L119.97,17.64 L119.97,5.4 L134.55,2.25 L134.55,17.64 L147.87,17.64 L147.87,29.79 L134.55,29.79 L134.55,47.88 C134.55,49.98 135.015,51.465 135.945,52.335 C136.875,53.205 138.51,53.64 140.85,53.64 C143.01,53.64 145.2,53.31 147.42,52.65 L147.42,64.44 C146.1,64.86 144.42,65.205 142.38,65.475 C140.34,65.745 138.63,65.88 137.25,65.88 Z" id="Path"></path>
19
+ <path d="M177.57,65.88 C166.05,65.88 160.29,60.84 160.29,50.76 L160.29,29.79 L150.66,29.79 L150.66,17.64 L160.29,17.64 L160.29,5.4 L174.87,2.25 L174.87,17.64 L188.19,17.64 L188.19,29.79 L174.87,29.79 L174.87,47.88 C174.87,49.98 175.335,51.465 176.265,52.335 C177.195,53.205 178.83,53.64 181.17,53.64 C183.33,53.64 185.52,53.31 187.74,52.65 L187.74,64.44 C186.42,64.86 184.74,65.205 182.7,65.475 C180.66,65.745 178.95,65.88 177.57,65.88 Z" id="Path"></path>
20
+ <path d="M217.62,66.15 C212.76,66.15 208.365,65.055 204.435,62.865 C200.505,60.675 197.4,57.72 195.12,54 C192.84,50.28 191.7,46.11 191.7,41.49 C191.7,36.87 192.795,32.7 194.985,28.98 C197.175,25.26 200.16,22.305 203.94,20.115 C207.72,17.925 211.92,16.83 216.54,16.83 C221.22,16.83 225.36,17.955 228.96,20.205 C232.56,22.455 235.395,25.53 237.465,29.43 C239.535,33.33 240.57,37.8 240.57,42.84 L240.57,46.44 L206.64,46.44 C207.6,48.66 209.1,50.475 211.14,51.885 C213.18,53.295 215.58,54 218.34,54 C222.42,54 225.6,52.8 227.88,50.4 L237.51,58.95 C234.51,61.47 231.435,63.3 228.285,64.44 C225.135,65.58 221.58,66.15 217.62,66.15 Z M206.37,36.27 L226.26,36.27 C225.48,33.99 224.205,32.16 222.435,30.78 C220.665,29.4 218.61,28.71 216.27,28.71 C213.87,28.71 211.8,29.37 210.06,30.69 C208.32,32.01 207.09,33.87 206.37,36.27 Z" id="Shape"></path>
21
+ <path d="M247.41,65.25 L247.41,17.64 L261.99,17.64 L261.99,22.41 C265.23,18.51 269.4,16.56 274.5,16.56 C277.08,16.62 278.91,17.01 279.99,17.73 L279.99,30.42 C277.95,29.46 275.64,28.98 273.06,28.98 C270.78,28.98 268.665,29.505 266.715,30.555 C264.765,31.605 263.19,33.09 261.99,35.01 L261.99,65.25 L247.41,65.25 Z" id="Path"></path>
22
+ <path d="M286.29,65.25 L286.29,17.64 L300.87,17.64 L300.87,20.88 C304.47,18.12 308.73,16.74 313.65,16.74 C317.37,16.74 320.655,17.55 323.505,19.17 C326.355,20.79 328.59,23.04 330.21,25.92 C331.83,28.8 332.64,32.13 332.64,35.91 L332.64,65.25 L318.06,65.25 L318.06,37.89 C318.06,35.25 317.28,33.15 315.72,31.59 C314.16,30.03 312.06,29.25 309.42,29.25 C305.76,29.25 302.91,30.51 300.87,33.03 L300.87,65.25 L286.29,65.25 Z" id="Path"></path>
23
+ <polygon id="Path" points="342 65.25 342 2.25 392.04 2.25 392.04 15.66 357.48 15.66 357.48 27.45 380.52 27.45 380.52 40.41 357.48 40.41 357.48 65.25"></polygon>
24
+ <polygon id="Path" points="399.96 65.25 399.96 2.25 414.54 0 414.54 65.25"></polygon>
25
+ <path d="M429.21,84.69 C428.07,84.69 426.96,84.645 425.88,84.555 C424.8,84.465 423.9,84.33 423.18,84.15 L423.18,71.73 C424.38,71.97 425.88,72.09 427.68,72.09 C432.36,72.09 435.51,70.05 437.13,65.97 L437.13,65.88 L418.86,17.64 L434.97,17.64 L445.5,47.61 L457.74,17.64 L473.49,17.64 L452.16,67.68 C450.42,71.82 448.5,75.135 446.4,77.625 C444.3,80.115 441.87,81.915 439.11,83.025 C436.35,84.135 433.05,84.69 429.21,84.69 Z" id="Path"></path>
26
+ </g>
27
+ </g>
28
+ </svg>
@@ -17,7 +17,7 @@ import {
17
17
  } from '@patternfly/react-core';
18
18
  import { Table, Thead, Tr, Th, Tbody, Td } from '@patternfly/react-table';
19
19
  import { rows, columns, SampleDataRow } from '@patternfly/react-table/dist/esm/demos/sampleData';
20
- import { DashboardWrapper } from '@patternfly/react-core/dist/esm/demos/DashboardWrapper';
20
+ import { DashboardWrapper } from '@patternfly/react-table/dist/esm/demos/DashboardWrapper';
21
21
 
22
22
  export const TableBulkSelect: React.FunctionComponent = () => {
23
23
  const [isBulkSelectDropdownOpen, setIsBulkSelectDropdownOpen] = React.useState(false);
@@ -154,7 +154,7 @@ export const TableBulkSelect: React.FunctionComponent = () => {
154
154
  <Table aria-label="Selectable table">
155
155
  <Thead>
156
156
  <Tr>
157
- <Th />
157
+ <Th screenReaderText="Row select" />
158
158
  <Th key={0}>{columns[0]}</Th>
159
159
  <Th key={1}>{columns[1]}</Th>
160
160
  <Th key={2}>{columns[2]}</Th>
@@ -28,7 +28,7 @@ import {
28
28
  import { Table, TableText, Thead, Tr, Th, Tbody, Td } from '@patternfly/react-table';
29
29
  import FilterIcon from '@patternfly/react-icons/dist/esm/icons/filter-icon';
30
30
  import SortAmountDownIcon from '@patternfly/react-icons/dist/esm/icons/sort-amount-down-icon';
31
- import { DashboardWrapper } from '@patternfly/react-core/dist/esm/demos/DashboardWrapper';
31
+ import { DashboardWrapper } from '@patternfly/react-table/dist/esm/demos/DashboardWrapper';
32
32
  import { capitalize } from '@patternfly/react-table/src/components/Table/utils/utils';
33
33
  import { rows, columns, SampleDataRow } from '@patternfly/react-table/dist/esm/demos/sampleData';
34
34
 
@@ -18,7 +18,7 @@ import {
18
18
  import { Table, TableText, Thead, Tr, Th, Tbody, Td } from '@patternfly/react-table';
19
19
  import FilterIcon from '@patternfly/react-icons/dist/esm/icons/filter-icon';
20
20
  import { rows, columns } from '@patternfly/react-table/dist/esm/demos/sampleData';
21
- import { DashboardWrapper } from '@patternfly/react-core/dist/esm/demos/DashboardWrapper';
21
+ import { DashboardWrapper } from '@patternfly/react-table/dist/esm/demos/DashboardWrapper';
22
22
 
23
23
  export const TableCompact: React.FunctionComponent = () => {
24
24
  const [isSelectOpen, setIsSelectOpen] = React.useState<boolean>(false);
@@ -20,7 +20,7 @@ import {
20
20
  import CodeBranchIcon from '@patternfly/react-icons/dist/esm/icons/code-branch-icon';
21
21
  import CodeIcon from '@patternfly/react-icons/dist/esm/icons/code-icon';
22
22
  import CubeIcon from '@patternfly/react-icons/dist/esm/icons/cube-icon';
23
- import { DashboardWrapper } from '@patternfly/react-core/dist/esm/demos/DashboardWrapper';
23
+ import { DashboardWrapper } from '@patternfly/react-table/dist/esm/demos/DashboardWrapper';
24
24
  import FilterIcon from '@patternfly/react-icons/dist/esm/icons/filter-icon';
25
25
  import spacing from '@patternfly/react-styles/css/utilities/Spacing/spacing';
26
26
 
@@ -51,7 +51,7 @@ export const TableCompoundExpansion: React.FunctionComponent = () => {
51
51
  <Th>{columnNames.description}</Th>
52
52
  <Th>{columnNames.date}</Th>
53
53
  <Th>{columnNames.status}</Th>
54
- <Th />
54
+ <Th screenReaderText="Actions" />
55
55
  </Tr>
56
56
  </Thead>
57
57
  <Tbody>
@@ -205,7 +205,8 @@ export const TableCompoundExpansion: React.FunctionComponent = () => {
205
205
  <Th>{columnNames.prs}</Th>
206
206
  <Th>{columnNames.workspaces}</Th>
207
207
  <Th>{columnNames.lastCommit}</Th>
208
- <Th />
208
+ <Th screenReaderText="URL" />
209
+ <Th screenReaderText="Actions" />
209
210
  </Tr>
210
211
  </Thead>
211
212
  {repositories.map((repo, rowIndex) => {
@@ -14,7 +14,7 @@ import {
14
14
  PageSection
15
15
  } from '@patternfly/react-core';
16
16
  import SearchIcon from '@patternfly/react-icons/dist/esm/icons/search-icon';
17
- import { DashboardWrapper } from '@patternfly/react-core/dist/esm/demos/DashboardWrapper';
17
+ import { DashboardWrapper } from '@patternfly/react-table/dist/esm/demos/DashboardWrapper';
18
18
 
19
19
  export const TableEmptyStateDefault: React.FunctionComponent = () => (
20
20
  <DashboardWrapper hasPageTemplateTitle>
@@ -12,7 +12,7 @@ import {
12
12
  } from '@patternfly/react-core';
13
13
  import ExclamationCircleIcon from '@patternfly/react-icons/dist/esm/icons/exclamation-circle-icon';
14
14
  import globalDangerColor200 from '@patternfly/react-tokens/dist/esm/global_danger_color_200';
15
- import { DashboardWrapper } from '@patternfly/react-core/dist/esm/demos/DashboardWrapper';
15
+ import { DashboardWrapper } from '@patternfly/react-table/dist/esm/demos/DashboardWrapper';
16
16
 
17
17
  export const TableEmptyStateError: React.FunctionComponent = () => (
18
18
  <DashboardWrapper hasPageTemplateTitle>
@@ -9,7 +9,7 @@ import {
9
9
  PageSection,
10
10
  Spinner
11
11
  } from '@patternfly/react-core';
12
- import { DashboardWrapper } from '@patternfly/react-core/dist/esm/demos/DashboardWrapper';
12
+ import { DashboardWrapper } from '@patternfly/react-table/dist/esm/demos/DashboardWrapper';
13
13
 
14
14
  export const TableEmptyStateLoading: React.FunctionComponent = () => (
15
15
  <DashboardWrapper hasPageTemplateTitle>
@@ -1,7 +1,7 @@
1
1
  import React, { ReactNode } from 'react';
2
2
  import { Card, Label, PageSection, TextVariants, Text, TextContent } from '@patternfly/react-core';
3
3
  import { Table, Thead, Tbody, Tr, Th, Td, ExpandableRowContent } from '@patternfly/react-table';
4
- import { DashboardWrapper } from '@patternfly/react-core/dist/esm/demos/DashboardWrapper';
4
+ import { DashboardWrapper } from '@patternfly/react-table/dist/esm/demos/DashboardWrapper';
5
5
 
6
6
  const expandableColumns = ['Servers', 'Threads', 'Applications', 'Workspaces', 'Status'];
7
7
 
@@ -39,7 +39,7 @@ import CodeIcon from '@patternfly/react-icons/dist/esm/icons/code-icon';
39
39
  import CodeBranchIcon from '@patternfly/react-icons/dist/esm/icons/code-branch-icon';
40
40
  import SortAmountDownIcon from '@patternfly/react-icons/dist/esm/icons/sort-amount-down-icon';
41
41
  import CubeIcon from '@patternfly/react-icons/dist/esm/icons/cube-icon';
42
- import { DashboardWrapper } from '@patternfly/react-core/dist/esm/demos/DashboardWrapper';
42
+ import { DashboardWrapper } from '@patternfly/react-table/dist/esm/demos/DashboardWrapper';
43
43
  import EllipsisVIcon from '@patternfly/react-icons/dist/esm/icons/ellipsis-v-icon';
44
44
  import { rows, columns, SampleDataRow } from '@patternfly/react-table/dist/esm/demos/sampleData';
45
45
 
@@ -88,7 +88,7 @@ export const TableSortableResponsive: React.FunctionComponent = () => {
88
88
  const kebabDropdownItems = [<OverflowMenuDropdownItem key="kebab-1">Some action</OverflowMenuDropdownItem>];
89
89
 
90
90
  React.useEffect(() => {
91
- setSortedRows(sortedData.slice((page - 1) * perPage, page * perPage - 1));
91
+ setSortedRows(sortedData.slice((page - 1) * perPage, page * perPage));
92
92
  }, [sortedData, page, perPage]);
93
93
 
94
94
  const handleSetPage = (_evt: React.MouseEvent | React.KeyboardEvent | MouseEvent, newPage: number) => {
@@ -18,7 +18,7 @@ import {
18
18
  } from '@patternfly/react-core';
19
19
  import { Table, TableText, Thead, Tr, Th, Tbody, Td } from '@patternfly/react-table';
20
20
  import FilterIcon from '@patternfly/react-icons/dist/esm/icons/filter-icon';
21
- import { DashboardWrapper } from '@patternfly/react-core/dist/esm/demos/DashboardWrapper';
21
+ import { DashboardWrapper } from '@patternfly/react-table/dist/esm/demos/DashboardWrapper';
22
22
  import { rows, columns } from '@patternfly/react-table/dist/esm/demos/sampleData';
23
23
 
24
24
  export const TableStaticBottomPagination: React.FunctionComponent = () => {
@@ -1,7 +1,7 @@
1
1
  import React from 'react';
2
2
  import { Table, Thead, Tr, Th, Tbody, Td, InnerScrollContainer } from '@patternfly/react-table';
3
3
  import { Card, PageSection } from '@patternfly/react-core';
4
- import { DashboardWrapper } from '@patternfly/react-core/dist/esm/demos/DashboardWrapper';
4
+ import { DashboardWrapper } from '@patternfly/react-table/dist/esm/demos/DashboardWrapper';
5
5
 
6
6
  type Direction = 'asc' | 'desc' | undefined;
7
7
 
@@ -2,7 +2,7 @@ import React from 'react';
2
2
 
3
3
  import { Card, Label, PageSection } from '@patternfly/react-core';
4
4
  import { Table, Thead, Tr, Th, Tbody, Td, TableText } from '@patternfly/react-table';
5
- import { DashboardWrapper } from '@patternfly/react-core/dist/esm/demos/DashboardWrapper';
5
+ import { DashboardWrapper } from '@patternfly/react-table/dist/esm/demos/DashboardWrapper';
6
6
  import { rows, columns } from '@patternfly/react-table/dist/esm/demos/sampleData';
7
7
 
8
8
  export const TableStickyHeader: React.FunctionComponent = () => {
@@ -1 +1,3 @@
1
1
  export * from './sampleData';
2
+ export * from './DashboardWrapper';
3
+ export * from './DashboardHeader';
@@ -1366,6 +1366,7 @@ exports[`Table Collapsible nested table 1`] = `
1366
1366
  class="pf-v5-c-table__th"
1367
1367
  data-key="0"
1368
1368
  data-label=""
1369
+ scope=""
1369
1370
  tabindex="-1"
1370
1371
  />
1371
1372
  <th
@@ -2118,6 +2119,7 @@ exports[`Table Collapsible table 1`] = `
2118
2119
  class="pf-v5-c-table__th"
2119
2120
  data-key="0"
2120
2121
  data-label=""
2122
+ scope=""
2121
2123
  tabindex="-1"
2122
2124
  />
2123
2125
  <th
@@ -4133,10 +4135,11 @@ exports[`Table Selectable table 1`] = `
4133
4135
  data-ouia-component-type="PF5/TableRow"
4134
4136
  data-ouia-safe="true"
4135
4137
  >
4136
- <td
4138
+ <th
4137
4139
  class="pf-v5-c-table__th pf-v5-c-table__check"
4138
4140
  data-key="0"
4139
4141
  data-label=""
4142
+ scope=""
4140
4143
  tabindex="-1"
4141
4144
  >
4142
4145
  <label>
@@ -4146,7 +4149,7 @@ exports[`Table Selectable table 1`] = `
4146
4149
  type="checkbox"
4147
4150
  />
4148
4151
  </label>
4149
- </td>
4152
+ </th>
4150
4153
  <th
4151
4154
  aria-sort="none"
4152
4155
  class="pf-v5-c-table__th pf-v5-c-table__sort"
@@ -4837,6 +4840,7 @@ exports[`Table Selectable table with Radio 1`] = `
4837
4840
  class="pf-v5-c-table__th"
4838
4841
  data-key="0"
4839
4842
  data-label=""
4843
+ scope=""
4840
4844
  tabindex="-1"
4841
4845
  />
4842
4846
  <th
@@ -5525,10 +5529,11 @@ exports[`Table Selectable table with selected expandable row 1`] = `
5525
5529
  data-ouia-component-type="PF5/TableRow"
5526
5530
  data-ouia-safe="true"
5527
5531
  >
5528
- <td
5532
+ <th
5529
5533
  class="pf-v5-c-table__th pf-v5-c-table__check"
5530
5534
  data-key="0"
5531
5535
  data-label=""
5536
+ scope=""
5532
5537
  tabindex="-1"
5533
5538
  >
5534
5539
  <label>
@@ -5539,7 +5544,7 @@ exports[`Table Selectable table with selected expandable row 1`] = `
5539
5544
  type="checkbox"
5540
5545
  />
5541
5546
  </label>
5542
- </td>
5547
+ </th>
5543
5548
  <th
5544
5549
  class="pf-v5-c-table__th"
5545
5550
  data-key="1"
@@ -10229,6 +10234,7 @@ exports[`Table simple Editable table 1`] = `
10229
10234
  class="pf-v5-c-table__th"
10230
10235
  data-key="4"
10231
10236
  data-label=""
10237
+ scope=""
10232
10238
  tabindex="-1"
10233
10239
  />
10234
10240
  </tr>
package/src/index.ts CHANGED
@@ -1,2 +1 @@
1
1
  export * from './components';
2
- export * from './demos';