@patternfly/react-core 6.0.0-prerelease.17 → 6.0.0-prerelease.19
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +14 -0
- package/components/package.json +1 -1
- package/deprecated/package.json +1 -1
- package/dist/dynamic/components/AboutModal/package.json +1 -1
- package/dist/dynamic/components/Accordion/package.json +1 -1
- package/dist/dynamic/components/ActionList/package.json +1 -1
- package/dist/dynamic/components/Alert/package.json +1 -1
- package/dist/dynamic/components/Avatar/package.json +1 -1
- package/dist/dynamic/components/BackToTop/package.json +1 -1
- package/dist/dynamic/components/Backdrop/package.json +1 -1
- package/dist/dynamic/components/BackgroundImage/package.json +1 -1
- package/dist/dynamic/components/Badge/package.json +1 -1
- package/dist/dynamic/components/Banner/package.json +1 -1
- package/dist/dynamic/components/Brand/package.json +1 -1
- package/dist/dynamic/components/Breadcrumb/package.json +1 -1
- package/dist/dynamic/components/Button/package.json +1 -1
- package/dist/dynamic/components/CalendarMonth/package.json +1 -1
- package/dist/dynamic/components/Card/package.json +1 -1
- package/dist/dynamic/components/Checkbox/package.json +1 -1
- package/dist/dynamic/components/ClipboardCopy/package.json +1 -1
- package/dist/dynamic/components/CodeBlock/package.json +1 -1
- package/dist/dynamic/components/Content/package.json +1 -1
- package/dist/dynamic/components/DataList/package.json +1 -1
- package/dist/dynamic/components/DatePicker/package.json +1 -1
- package/dist/dynamic/components/DescriptionList/package.json +1 -1
- package/dist/dynamic/components/Divider/package.json +1 -1
- package/dist/dynamic/components/Drawer/package.json +1 -1
- package/dist/dynamic/components/Dropdown/package.json +1 -1
- package/dist/dynamic/components/DualListSelector/package.json +1 -1
- package/dist/dynamic/components/EmptyState/package.json +1 -1
- package/dist/dynamic/components/ExpandableSection/package.json +1 -1
- package/dist/dynamic/components/FileUpload/package.json +1 -1
- package/dist/dynamic/components/Form/package.json +1 -1
- package/dist/dynamic/components/FormSelect/package.json +1 -1
- package/dist/dynamic/components/HelperText/package.json +1 -1
- package/dist/dynamic/components/Hint/package.json +1 -1
- package/dist/dynamic/components/Icon/package.json +1 -1
- package/dist/dynamic/components/InputGroup/package.json +1 -1
- package/dist/dynamic/components/JumpLinks/package.json +1 -1
- package/dist/dynamic/components/Label/package.json +1 -1
- package/dist/dynamic/components/List/package.json +1 -1
- package/dist/dynamic/components/LoginPage/package.json +1 -1
- package/dist/dynamic/components/Masthead/package.json +1 -1
- package/dist/dynamic/components/Menu/package.json +1 -1
- package/dist/dynamic/components/MenuToggle/package.json +1 -1
- package/dist/dynamic/components/Modal/package.json +1 -1
- package/dist/dynamic/components/MultipleFileUpload/package.json +1 -1
- package/dist/dynamic/components/Nav/package.json +1 -1
- package/dist/dynamic/components/NotificationBadge/package.json +1 -1
- package/dist/dynamic/components/NotificationDrawer/package.json +1 -1
- package/dist/dynamic/components/NumberInput/package.json +1 -1
- package/dist/dynamic/components/OverflowMenu/package.json +1 -1
- package/dist/dynamic/components/Page/package.json +1 -1
- package/dist/dynamic/components/Pagination/package.json +1 -1
- package/dist/dynamic/components/Panel/package.json +1 -1
- package/dist/dynamic/components/Popover/package.json +1 -1
- package/dist/dynamic/components/Progress/package.json +1 -1
- package/dist/dynamic/components/ProgressStepper/package.json +1 -1
- package/dist/dynamic/components/Radio/package.json +1 -1
- package/dist/dynamic/components/SearchInput/package.json +1 -1
- package/dist/dynamic/components/Select/package.json +1 -1
- package/dist/dynamic/components/Sidebar/package.json +1 -1
- package/dist/dynamic/components/SimpleList/package.json +1 -1
- package/dist/dynamic/components/Skeleton/package.json +1 -1
- package/dist/dynamic/components/SkipToContent/package.json +1 -1
- package/dist/dynamic/components/Slider/package.json +1 -1
- package/dist/dynamic/components/Spinner/package.json +1 -1
- package/dist/dynamic/components/Switch/package.json +1 -1
- package/dist/dynamic/components/Tabs/package.json +1 -1
- package/dist/dynamic/components/TextArea/package.json +1 -1
- package/dist/dynamic/components/TextInput/package.json +1 -1
- package/dist/dynamic/components/TextInputGroup/package.json +1 -1
- package/dist/dynamic/components/TimePicker/package.json +1 -1
- package/dist/dynamic/components/Timestamp/package.json +1 -1
- package/dist/dynamic/components/Title/package.json +1 -1
- package/dist/dynamic/components/ToggleGroup/package.json +1 -1
- package/dist/dynamic/components/Toolbar/package.json +1 -1
- package/dist/dynamic/components/Tooltip/package.json +1 -1
- package/dist/dynamic/components/TreeView/package.json +1 -1
- package/dist/dynamic/components/Truncate/package.json +1 -1
- package/dist/dynamic/components/Wizard/hooks/package.json +1 -1
- package/dist/dynamic/components/Wizard/package.json +1 -1
- package/dist/dynamic/deprecated/components/Chip/package.json +1 -1
- package/dist/dynamic/deprecated/components/DragDrop/package.json +1 -1
- package/dist/dynamic/deprecated/components/DualListSelector/package.json +1 -1
- package/dist/dynamic/deprecated/components/Modal/package.json +1 -1
- package/dist/dynamic/deprecated/components/Tile/package.json +1 -0
- package/dist/dynamic/deprecated/components/Wizard/package.json +1 -1
- package/dist/dynamic/deprecated/components/package.json +1 -1
- package/dist/dynamic/helpers/FocusTrap/FocusTrap/package.json +1 -1
- package/dist/dynamic/helpers/GenerateId/GenerateId/package.json +1 -1
- package/dist/dynamic/helpers/KeyboardHandler/package.json +1 -1
- package/dist/dynamic/helpers/OUIA/ouia/package.json +1 -1
- package/dist/dynamic/helpers/Popper/Popper/package.json +1 -1
- package/dist/dynamic/helpers/constants/package.json +1 -1
- package/dist/dynamic/helpers/datetimeUtils/package.json +1 -1
- package/dist/dynamic/helpers/fileUtils/package.json +1 -1
- package/dist/dynamic/helpers/htmlConstants/package.json +1 -1
- package/dist/dynamic/helpers/package.json +1 -1
- package/dist/dynamic/helpers/resizeObserver/package.json +1 -1
- package/dist/dynamic/helpers/typeUtils/package.json +1 -1
- package/dist/dynamic/helpers/useInterval/package.json +1 -1
- package/dist/dynamic/helpers/useIsomorphicLayout/package.json +1 -1
- package/dist/dynamic/helpers/useUnmountEffect/package.json +1 -1
- package/dist/dynamic/helpers/util/package.json +1 -1
- package/dist/dynamic/layouts/Bullseye/package.json +1 -1
- package/dist/dynamic/layouts/Flex/package.json +1 -1
- package/dist/dynamic/layouts/Gallery/package.json +1 -1
- package/dist/dynamic/layouts/Grid/package.json +1 -1
- package/dist/dynamic/layouts/Level/package.json +1 -1
- package/dist/dynamic/layouts/Split/package.json +1 -1
- package/dist/dynamic/layouts/Stack/package.json +1 -1
- package/dist/dynamic/styles/package.json +1 -1
- package/dist/dynamic-modules.json +0 -2
- package/dist/esm/components/Card/CardHeader.d.ts +2 -0
- package/dist/esm/components/Card/CardHeader.d.ts.map +1 -1
- package/dist/esm/components/Card/CardHeader.js +2 -2
- package/dist/esm/components/Card/CardHeader.js.map +1 -1
- package/dist/esm/components/DataList/DataListAction.d.ts +0 -2
- package/dist/esm/components/DataList/DataListAction.d.ts.map +1 -1
- package/dist/esm/components/DataList/DataListAction.js +2 -2
- package/dist/esm/components/DataList/DataListAction.js.map +1 -1
- package/dist/esm/components/Dropdown/Dropdown.js +1 -1
- package/dist/esm/components/Dropdown/Dropdown.js.map +1 -1
- package/dist/esm/components/Menu/MenuContainer.js +1 -1
- package/dist/esm/components/Menu/MenuContainer.js.map +1 -1
- package/dist/esm/components/Select/Select.js +1 -1
- package/dist/esm/components/Select/Select.js.map +1 -1
- package/dist/esm/components/index.d.ts +0 -1
- package/dist/esm/components/index.d.ts.map +1 -1
- package/dist/esm/components/index.js +0 -1
- package/dist/esm/components/index.js.map +1 -1
- package/dist/esm/deprecated/components/Tile/Tile.d.ts.map +1 -0
- package/dist/esm/deprecated/components/Tile/Tile.js.map +1 -0
- package/dist/esm/deprecated/components/Tile/index.d.ts.map +1 -0
- package/dist/esm/deprecated/components/Tile/index.js.map +1 -0
- package/dist/esm/deprecated/components/index.d.ts +1 -0
- package/dist/esm/deprecated/components/index.d.ts.map +1 -1
- package/dist/esm/deprecated/components/index.js +1 -0
- package/dist/esm/deprecated/components/index.js.map +1 -1
- package/dist/js/components/Card/CardHeader.d.ts +2 -0
- package/dist/js/components/Card/CardHeader.d.ts.map +1 -1
- package/dist/js/components/Card/CardHeader.js +2 -2
- package/dist/js/components/Card/CardHeader.js.map +1 -1
- package/dist/js/components/DataList/DataListAction.d.ts +0 -2
- package/dist/js/components/DataList/DataListAction.d.ts.map +1 -1
- package/dist/js/components/DataList/DataListAction.js +2 -2
- package/dist/js/components/DataList/DataListAction.js.map +1 -1
- package/dist/js/components/Dropdown/Dropdown.js +1 -1
- package/dist/js/components/Dropdown/Dropdown.js.map +1 -1
- package/dist/js/components/Menu/MenuContainer.js +1 -1
- package/dist/js/components/Menu/MenuContainer.js.map +1 -1
- package/dist/js/components/Select/Select.js +1 -1
- package/dist/js/components/Select/Select.js.map +1 -1
- package/dist/js/components/index.d.ts +0 -1
- package/dist/js/components/index.d.ts.map +1 -1
- package/dist/js/components/index.js +0 -1
- package/dist/js/components/index.js.map +1 -1
- package/dist/js/deprecated/components/Tile/Tile.d.ts.map +1 -0
- package/dist/js/deprecated/components/Tile/Tile.js.map +1 -0
- package/dist/js/deprecated/components/Tile/index.d.ts.map +1 -0
- package/dist/js/deprecated/components/Tile/index.js.map +1 -0
- package/dist/js/deprecated/components/index.d.ts +1 -0
- package/dist/js/deprecated/components/index.d.ts.map +1 -1
- package/dist/js/deprecated/components/index.js +1 -0
- package/dist/js/deprecated/components/index.js.map +1 -1
- package/dist/styles/base-no-reset.css +14 -8
- package/dist/styles/base.css +14 -8
- package/dist/umd/assets/{output-yUTd5GvQ.css → output-DvS-_eLd.css} +16784 -16999
- package/dist/umd/react-core.min.js +1 -1
- package/helpers/package.json +1 -1
- package/layouts/package.json +1 -1
- package/next/package.json +1 -1
- package/package.json +6 -6
- package/src/components/Card/CardHeader.tsx +9 -2
- package/src/components/Card/examples/Card.md +23 -0
- package/src/components/Card/examples/CardTile.tsx +73 -0
- package/src/components/Card/examples/CardTileMulti.tsx +84 -0
- package/src/components/DataList/DataListAction.tsx +1 -5
- package/src/components/DataList/__tests__/DataListAction.test.tsx +21 -21
- package/src/components/DataList/examples/DataListActions.tsx +0 -1
- package/src/components/DataList/examples/DataListCheckboxes.tsx +0 -3
- package/src/components/DataList/examples/DataListClickableRows.tsx +0 -2
- package/src/components/DataList/examples/DataListExpandable.tsx +3 -18
- package/src/components/DataList/examples/DataListMixedExpandable.tsx +3 -18
- package/src/components/DataList/examples/DataListWidthModifiers.tsx +0 -2
- package/src/components/Dropdown/Dropdown.tsx +1 -1
- package/src/components/Menu/MenuContainer.tsx +1 -1
- package/src/components/Select/Select.tsx +1 -1
- package/src/components/index.ts +0 -1
- package/src/demos/DataList/examples/DataListExpandableControlInToolbar.tsx +3 -18
- package/src/demos/examples/JumpLinks/JumpLinksWithDrawer.js +3 -23
- package/src/{demos/TileDemo.md → deprecated/components/Tile/examples/Tile.md} +67 -2
- package/src/{components → deprecated/components}/Tile/examples/TileBasic.tsx +1 -1
- package/src/{components → deprecated/components}/Tile/examples/TileStacked.tsx +1 -1
- package/src/{components → deprecated/components}/Tile/examples/TileStackedWithLargeIcons.tsx +1 -1
- package/src/{components → deprecated/components}/Tile/examples/TileWithExtraContent.tsx +2 -1
- package/src/{components → deprecated/components}/Tile/examples/TileWithIcon.tsx +1 -1
- package/src/{components → deprecated/components}/Tile/examples/TileWithSubtext.tsx +1 -1
- package/src/deprecated/components/index.ts +1 -0
- package/dist/dynamic/components/Tile/package.json +0 -1
- package/dist/esm/components/Tile/Tile.d.ts.map +0 -1
- package/dist/esm/components/Tile/Tile.js.map +0 -1
- package/dist/esm/components/Tile/index.d.ts.map +0 -1
- package/dist/esm/components/Tile/index.js.map +0 -1
- package/dist/js/components/Tile/Tile.d.ts.map +0 -1
- package/dist/js/components/Tile/Tile.js.map +0 -1
- package/dist/js/components/Tile/index.d.ts.map +0 -1
- package/dist/js/components/Tile/index.js.map +0 -1
- package/src/components/Tile/examples/Tile.md +0 -48
- /package/dist/esm/{components → deprecated/components}/Tile/Tile.d.ts +0 -0
- /package/dist/esm/{components → deprecated/components}/Tile/Tile.js +0 -0
- /package/dist/esm/{components → deprecated/components}/Tile/index.d.ts +0 -0
- /package/dist/esm/{components → deprecated/components}/Tile/index.js +0 -0
- /package/dist/js/{components → deprecated/components}/Tile/Tile.d.ts +0 -0
- /package/dist/js/{components → deprecated/components}/Tile/Tile.js +0 -0
- /package/dist/js/{components → deprecated/components}/Tile/index.d.ts +0 -0
- /package/dist/js/{components → deprecated/components}/Tile/index.js +0 -0
- /package/src/{components → deprecated/components}/Tile/Tile.tsx +0 -0
- /package/src/{components → deprecated/components}/Tile/__tests__/Tile.test.tsx +0 -0
- /package/src/{components → deprecated/components}/Tile/__tests__/__snapshots__/Tile.test.tsx.snap +0 -0
- /package/src/{components → deprecated/components}/Tile/examples/Tile.css +0 -0
- /package/src/{components → deprecated/components}/Tile/index.ts +0 -0
package/helpers/package.json
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"name":"@patternfly/react-core-helpers","main":"../dist/js/helpers/index.js","module":"../dist/esm/helpers/index.js","typings":"../dist/esm/helpers/index.d.ts","version":"6.0.0-prerelease.
|
|
1
|
+
{"name":"@patternfly/react-core-helpers","main":"../dist/js/helpers/index.js","module":"../dist/esm/helpers/index.js","typings":"../dist/esm/helpers/index.d.ts","version":"6.0.0-prerelease.18","private":true}
|
package/layouts/package.json
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"name":"@patternfly/react-core-layouts","main":"../dist/js/layouts/index.js","module":"../dist/esm/layouts/index.js","typings":"../dist/esm/layouts/index.d.ts","version":"6.0.0-prerelease.
|
|
1
|
+
{"name":"@patternfly/react-core-layouts","main":"../dist/js/layouts/index.js","module":"../dist/esm/layouts/index.js","typings":"../dist/esm/layouts/index.d.ts","version":"6.0.0-prerelease.18","private":true}
|
package/next/package.json
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"name":"@patternfly/react-core-next","main":"../dist/js/next/index.js","module":"../dist/esm/next/index.js","typings":"../dist/esm/next/index.d.ts","version":"6.0.0-prerelease.
|
|
1
|
+
{"name":"@patternfly/react-core-next","main":"../dist/js/next/index.js","module":"../dist/esm/next/index.js","typings":"../dist/esm/next/index.d.ts","version":"6.0.0-prerelease.18","private":true}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@patternfly/react-core",
|
|
3
|
-
"version": "6.0.0-prerelease.
|
|
3
|
+
"version": "6.0.0-prerelease.19",
|
|
4
4
|
"description": "This library provides a set of common React components for use with the PatternFly reference implementation.",
|
|
5
5
|
"main": "dist/js/index.js",
|
|
6
6
|
"module": "dist/esm/index.js",
|
|
@@ -46,15 +46,15 @@
|
|
|
46
46
|
"subpaths": "node ../../scripts/exportSubpaths.mjs --config subpaths.config.json"
|
|
47
47
|
},
|
|
48
48
|
"dependencies": {
|
|
49
|
-
"@patternfly/react-icons": "^6.0.0-prerelease.
|
|
50
|
-
"@patternfly/react-styles": "^6.0.0-prerelease.
|
|
51
|
-
"@patternfly/react-tokens": "^6.0.0-prerelease.
|
|
49
|
+
"@patternfly/react-icons": "^6.0.0-prerelease.6",
|
|
50
|
+
"@patternfly/react-styles": "^6.0.0-prerelease.5",
|
|
51
|
+
"@patternfly/react-tokens": "^6.0.0-prerelease.6",
|
|
52
52
|
"focus-trap": "7.6.0",
|
|
53
53
|
"react-dropzone": "^14.2.3",
|
|
54
54
|
"tslib": "^2.7.0"
|
|
55
55
|
},
|
|
56
56
|
"devDependencies": {
|
|
57
|
-
"@patternfly/patternfly": "6.0.0-prerelease.
|
|
57
|
+
"@patternfly/patternfly": "6.0.0-prerelease.13",
|
|
58
58
|
"case-anything": "^2.1.13",
|
|
59
59
|
"css": "^3.0.0",
|
|
60
60
|
"fs-extra": "^11.2.0"
|
|
@@ -63,5 +63,5 @@
|
|
|
63
63
|
"react": "^17 || ^18",
|
|
64
64
|
"react-dom": "^17 || ^18"
|
|
65
65
|
},
|
|
66
|
-
"gitHead": "
|
|
66
|
+
"gitHead": "582e009af5f7e6ec4b479e794db04853bc1ca9bd"
|
|
67
67
|
}
|
|
@@ -54,6 +54,8 @@ export interface CardHeaderSelectableActionsObject {
|
|
|
54
54
|
* the isSelected prop on the card component instead.
|
|
55
55
|
*/
|
|
56
56
|
isChecked?: boolean;
|
|
57
|
+
/** Flag indicating the action is hidden */
|
|
58
|
+
isHidden?: boolean;
|
|
57
59
|
}
|
|
58
60
|
|
|
59
61
|
export interface CardHeaderProps extends React.HTMLProps<HTMLDivElement> {
|
|
@@ -133,7 +135,8 @@ export const CardHeader: React.FunctionComponent<CardHeaderProps> = ({
|
|
|
133
135
|
|
|
134
136
|
const SelectableCardInput = selectableActions?.variant === 'single' ? Radio : Checkbox;
|
|
135
137
|
const getSelectableProps = () => ({
|
|
136
|
-
className: 'pf-m-standalone',
|
|
138
|
+
className: css('pf-m-standalone'),
|
|
139
|
+
inputClassName: css(selectableActions?.isHidden && 'pf-v6-screen-reader'),
|
|
137
140
|
label: <></>,
|
|
138
141
|
'aria-label': selectableActions.selectableActionAriaLabel,
|
|
139
142
|
'aria-labelledby': selectableActions.selectableActionAriaLabelledby,
|
|
@@ -150,7 +153,11 @@ export const CardHeader: React.FunctionComponent<CardHeaderProps> = ({
|
|
|
150
153
|
const getClickableProps = () => {
|
|
151
154
|
const isDisabledLinkCard = isCardDisabled && isClickableLinkCard;
|
|
152
155
|
const baseProps = {
|
|
153
|
-
className: css(
|
|
156
|
+
className: css(
|
|
157
|
+
'pf-v6-c-card__clickable-action',
|
|
158
|
+
isDisabledLinkCard && styles.modifiers.disabled,
|
|
159
|
+
selectableActions?.isHidden && 'pf-v6-screen-reader'
|
|
160
|
+
),
|
|
154
161
|
id: selectableActions.selectableActionId,
|
|
155
162
|
'aria-label': selectableActions.selectableActionAriaLabel,
|
|
156
163
|
'aria-labelledby': selectableActions.selectableActionAriaLabelledby,
|
|
@@ -19,6 +19,7 @@ ouia: true
|
|
|
19
19
|
import pfLogo from '../../assets/PF-HorizontalLogo-Color.svg';
|
|
20
20
|
import pfLogoSmall from '../../assets/PF-IconLogo.svg';
|
|
21
21
|
import EllipsisVIcon from '@patternfly/react-icons/dist/esm/icons/ellipsis-v-icon';
|
|
22
|
+
import PlusIcon from '@patternfly/react-icons/dist/esm/icons/plus-icon';
|
|
22
23
|
|
|
23
24
|
## Examples
|
|
24
25
|
|
|
@@ -178,3 +179,25 @@ Dividers can be placed between sections of the card.
|
|
|
178
179
|
```ts file='./CardWithDividers.tsx'
|
|
179
180
|
|
|
180
181
|
```
|
|
182
|
+
|
|
183
|
+
## Cards as tiles
|
|
184
|
+
|
|
185
|
+
Sets of selectable cards can be used as tiles, which are static options that users can select.
|
|
186
|
+
|
|
187
|
+
They can be either single selectable or multi selectable, by passing the `variant` property to the `selectableActions` object. You can also toggle the visibility of the radio or checkbox by passing the `isHidden` property to the `selectableActions` object.
|
|
188
|
+
|
|
189
|
+
### Single selectable tiles
|
|
190
|
+
|
|
191
|
+
To prevent users from selecting more than 1 tile in a set, set `variant` to "single" within the `selectableActions` object of `<CardHeader>`.
|
|
192
|
+
|
|
193
|
+
```ts file='./CardTile.tsx'
|
|
194
|
+
|
|
195
|
+
```
|
|
196
|
+
|
|
197
|
+
### Multi selectable tiles
|
|
198
|
+
|
|
199
|
+
To allow users to select more than 1 tile in a set, do not set `variant` within the `selectableActions` object of `<CardHeader>`.
|
|
200
|
+
|
|
201
|
+
```ts file='./CardTileMulti.tsx'
|
|
202
|
+
|
|
203
|
+
```
|
|
@@ -0,0 +1,73 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import { Card, CardHeader, CardBody, Gallery, Flex } from '@patternfly/react-core';
|
|
3
|
+
import PlusIcon from '@patternfly/react-icons/dist/esm/icons/plus-icon';
|
|
4
|
+
|
|
5
|
+
export const CardTile: React.FunctionComponent = () => {
|
|
6
|
+
const [isChecked, setIsChecked] = React.useState('');
|
|
7
|
+
const id1 = 'tile-1';
|
|
8
|
+
const id2 = 'tile-2';
|
|
9
|
+
const id3 = 'tile-3';
|
|
10
|
+
|
|
11
|
+
const onChange = (event: React.FormEvent<HTMLInputElement>) => {
|
|
12
|
+
setIsChecked(event.currentTarget.id);
|
|
13
|
+
};
|
|
14
|
+
|
|
15
|
+
return (
|
|
16
|
+
<Gallery hasGutter>
|
|
17
|
+
<Card id="tile-example-1" isSelectable isSelected={isChecked === id1}>
|
|
18
|
+
<CardHeader
|
|
19
|
+
selectableActions={{
|
|
20
|
+
selectableActionId: id1,
|
|
21
|
+
selectableActionAriaLabelledby: 'tile-example-1',
|
|
22
|
+
name: id1,
|
|
23
|
+
variant: 'single',
|
|
24
|
+
onChange,
|
|
25
|
+
isHidden: true
|
|
26
|
+
}}
|
|
27
|
+
>
|
|
28
|
+
<Flex gap={{ default: 'gapSm' }} alignItems={{ default: 'alignItemsCenter' }}>
|
|
29
|
+
<PlusIcon />
|
|
30
|
+
<b>Tile header</b>
|
|
31
|
+
</Flex>
|
|
32
|
+
</CardHeader>
|
|
33
|
+
<CardBody>Tile content and description</CardBody>
|
|
34
|
+
</Card>
|
|
35
|
+
<Card id="tile-example-2" isSelectable isSelected={isChecked === id2}>
|
|
36
|
+
<CardHeader
|
|
37
|
+
selectableActions={{
|
|
38
|
+
selectableActionId: id2,
|
|
39
|
+
selectableActionAriaLabelledby: 'tile-example-2',
|
|
40
|
+
name: id2,
|
|
41
|
+
variant: 'single',
|
|
42
|
+
onChange,
|
|
43
|
+
isHidden: true
|
|
44
|
+
}}
|
|
45
|
+
>
|
|
46
|
+
<Flex gap={{ default: 'gapSm' }} alignItems={{ default: 'alignItemsCenter' }}>
|
|
47
|
+
<PlusIcon />
|
|
48
|
+
<b>Tile header</b>
|
|
49
|
+
</Flex>
|
|
50
|
+
</CardHeader>
|
|
51
|
+
<CardBody>Tile content and description</CardBody>
|
|
52
|
+
</Card>
|
|
53
|
+
<Card id="tile-example-3" isSelectable isDisabled isSelected={isChecked === id3}>
|
|
54
|
+
<CardHeader
|
|
55
|
+
selectableActions={{
|
|
56
|
+
selectableActionId: id3,
|
|
57
|
+
selectableActionAriaLabelledby: 'tile-example-3',
|
|
58
|
+
name: id3,
|
|
59
|
+
variant: 'single',
|
|
60
|
+
onChange,
|
|
61
|
+
isHidden: true
|
|
62
|
+
}}
|
|
63
|
+
>
|
|
64
|
+
<Flex gap={{ default: 'gapSm' }} alignItems={{ default: 'alignItemsCenter' }}>
|
|
65
|
+
<PlusIcon />
|
|
66
|
+
<b>Tile header (disabled)</b>
|
|
67
|
+
</Flex>
|
|
68
|
+
</CardHeader>
|
|
69
|
+
<CardBody>Tile content and description</CardBody>
|
|
70
|
+
</Card>
|
|
71
|
+
</Gallery>
|
|
72
|
+
);
|
|
73
|
+
};
|
|
@@ -0,0 +1,84 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import { Card, CardHeader, CardBody, Gallery, Flex } from '@patternfly/react-core';
|
|
3
|
+
import PlusIcon from '@patternfly/react-icons/dist/esm/icons/plus-icon';
|
|
4
|
+
|
|
5
|
+
export const CardTileMulti: React.FunctionComponent = () => {
|
|
6
|
+
const [isChecked1, setIsChecked1] = React.useState(false);
|
|
7
|
+
const [isChecked2, setIsChecked2] = React.useState(false);
|
|
8
|
+
const [isChecked3, setIsChecked3] = React.useState(false);
|
|
9
|
+
const id1 = 'multi-tile-1';
|
|
10
|
+
const id2 = 'multi-tile-2';
|
|
11
|
+
const id3 = 'multi-tile-3';
|
|
12
|
+
|
|
13
|
+
const onChange = (event: React.FormEvent<HTMLInputElement>, checked: boolean) => {
|
|
14
|
+
const name = event.currentTarget.name;
|
|
15
|
+
|
|
16
|
+
switch (name) {
|
|
17
|
+
case id1:
|
|
18
|
+
setIsChecked1(checked);
|
|
19
|
+
break;
|
|
20
|
+
case id2:
|
|
21
|
+
setIsChecked2(checked);
|
|
22
|
+
break;
|
|
23
|
+
case id3:
|
|
24
|
+
setIsChecked3(checked);
|
|
25
|
+
break;
|
|
26
|
+
}
|
|
27
|
+
};
|
|
28
|
+
|
|
29
|
+
return (
|
|
30
|
+
<Gallery hasGutter>
|
|
31
|
+
<Card id="multi-tile-example-1" isSelectable isSelected={isChecked1}>
|
|
32
|
+
<CardHeader
|
|
33
|
+
selectableActions={{
|
|
34
|
+
selectableActionId: id1,
|
|
35
|
+
selectableActionAriaLabelledby: 'multi-tile-example-1',
|
|
36
|
+
name: id1,
|
|
37
|
+
onChange,
|
|
38
|
+
isHidden: true
|
|
39
|
+
}}
|
|
40
|
+
>
|
|
41
|
+
<Flex gap={{ default: 'gapSm' }} alignItems={{ default: 'alignItemsCenter' }}>
|
|
42
|
+
<PlusIcon />
|
|
43
|
+
<b>Tile header</b>
|
|
44
|
+
</Flex>
|
|
45
|
+
</CardHeader>
|
|
46
|
+
<CardBody>Tile content and description</CardBody>
|
|
47
|
+
</Card>
|
|
48
|
+
<Card id="multi-tile-example-2" isSelectable isSelected={isChecked2}>
|
|
49
|
+
<CardHeader
|
|
50
|
+
selectableActions={{
|
|
51
|
+
selectableActionId: id2,
|
|
52
|
+
selectableActionAriaLabelledby: 'multi-tile-example-2',
|
|
53
|
+
name: id2,
|
|
54
|
+
onChange,
|
|
55
|
+
isHidden: true
|
|
56
|
+
}}
|
|
57
|
+
>
|
|
58
|
+
<Flex gap={{ default: 'gapSm' }} alignItems={{ default: 'alignItemsCenter' }}>
|
|
59
|
+
<PlusIcon />
|
|
60
|
+
<b>Tile header</b>
|
|
61
|
+
</Flex>
|
|
62
|
+
</CardHeader>
|
|
63
|
+
<CardBody>Tile content and description</CardBody>
|
|
64
|
+
</Card>
|
|
65
|
+
<Card id="multi-tile-example-3" isSelectable isDisabled isSelected={isChecked3}>
|
|
66
|
+
<CardHeader
|
|
67
|
+
selectableActions={{
|
|
68
|
+
selectableActionId: id3,
|
|
69
|
+
selectableActionAriaLabelledby: 'multi-tile-example-3',
|
|
70
|
+
name: id3,
|
|
71
|
+
onChange,
|
|
72
|
+
isHidden: true
|
|
73
|
+
}}
|
|
74
|
+
>
|
|
75
|
+
<Flex gap={{ default: 'gapSm' }} alignItems={{ default: 'alignItemsCenter' }}>
|
|
76
|
+
<PlusIcon />
|
|
77
|
+
<b>Tile header (disabled)</b>
|
|
78
|
+
</Flex>
|
|
79
|
+
</CardHeader>
|
|
80
|
+
<CardBody>Tile content and description</CardBody>
|
|
81
|
+
</Card>
|
|
82
|
+
</Gallery>
|
|
83
|
+
);
|
|
84
|
+
};
|
|
@@ -23,8 +23,6 @@ export interface DataListActionProps extends Omit<React.HTMLProps<HTMLDivElement
|
|
|
23
23
|
xl?: 'hidden' | 'visible';
|
|
24
24
|
'2xl'?: 'hidden' | 'visible';
|
|
25
25
|
};
|
|
26
|
-
/** Flag to indicate that the action is a plain button (e.g. kebab dropdown toggle) so that styling is applied to align the button */
|
|
27
|
-
isPlainButtonAction?: boolean;
|
|
28
26
|
}
|
|
29
27
|
|
|
30
28
|
export const DataListAction: React.FunctionComponent<DataListActionProps> = ({
|
|
@@ -35,12 +33,10 @@ export const DataListAction: React.FunctionComponent<DataListActionProps> = ({
|
|
|
35
33
|
id,
|
|
36
34
|
'aria-label': ariaLabel,
|
|
37
35
|
'aria-labelledby': ariaLabelledBy,
|
|
38
|
-
|
|
39
|
-
isPlainButtonAction,
|
|
40
36
|
...props
|
|
41
37
|
}: DataListActionProps) => (
|
|
42
38
|
<div className={css(styles.dataListItemAction, formatBreakpointMods(visibility, styles), className)} {...props}>
|
|
43
|
-
{
|
|
39
|
+
{children}
|
|
44
40
|
</div>
|
|
45
41
|
);
|
|
46
42
|
DataListAction.displayName = 'DataListAction';
|
|
@@ -1,5 +1,7 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
2
|
import { render, screen } from '@testing-library/react';
|
|
3
|
+
import '@testing-library/jest-dom';
|
|
4
|
+
|
|
3
5
|
import { DataListAction } from '../DataListAction';
|
|
4
6
|
|
|
5
7
|
import styles from '@patternfly/react-styles/css/components/DataList/data-list';
|
|
@@ -15,38 +17,35 @@ test('Renders to match snapshot', () => {
|
|
|
15
17
|
|
|
16
18
|
test(`Renders with default class ${styles.dataListItemAction}`, () => {
|
|
17
19
|
render(
|
|
18
|
-
<DataListAction aria-label="Actions" aria-labelledby="ex-action" id="ex-action">
|
|
20
|
+
<DataListAction aria-label="Actions" data-testid="actions" aria-labelledby="ex-action" id="ex-action">
|
|
19
21
|
test
|
|
20
22
|
</DataListAction>
|
|
21
23
|
);
|
|
22
|
-
expect(screen.
|
|
24
|
+
expect(screen.getByTestId('actions')).toHaveClass(styles.dataListItemAction, { exact: true });
|
|
23
25
|
});
|
|
24
26
|
|
|
25
27
|
test(`Renders with custom class when className is passed`, () => {
|
|
26
28
|
render(
|
|
27
|
-
<DataListAction
|
|
29
|
+
<DataListAction
|
|
30
|
+
aria-label="Actions"
|
|
31
|
+
data-testid="actions"
|
|
32
|
+
aria-labelledby="ex-action"
|
|
33
|
+
id="ex-action"
|
|
34
|
+
className="test-class"
|
|
35
|
+
>
|
|
28
36
|
test
|
|
29
37
|
</DataListAction>
|
|
30
38
|
);
|
|
31
|
-
expect(screen.
|
|
39
|
+
expect(screen.getByTestId('actions')).toHaveClass('test-class');
|
|
32
40
|
});
|
|
33
41
|
|
|
34
42
|
test(`Renders with spread props`, () => {
|
|
35
43
|
render(
|
|
36
|
-
<DataListAction dir="rtl" aria-label="Actions" aria-labelledby="ex-action" id="ex-action">
|
|
37
|
-
test
|
|
38
|
-
</DataListAction>
|
|
39
|
-
);
|
|
40
|
-
expect(screen.getByText('test')).toHaveAttribute('dir', 'rtl');
|
|
41
|
-
});
|
|
42
|
-
|
|
43
|
-
test(`Renders with class ${styles.dataListAction} when isPlainButtonAction = true`, () => {
|
|
44
|
-
render(
|
|
45
|
-
<DataListAction id="id" aria-label="Actions" aria-labelledby="ex-action" isPlainButtonAction>
|
|
44
|
+
<DataListAction dir="rtl" data-testid="actions" aria-label="Actions" aria-labelledby="ex-action" id="ex-action">
|
|
46
45
|
test
|
|
47
46
|
</DataListAction>
|
|
48
47
|
);
|
|
49
|
-
expect(screen.
|
|
48
|
+
expect(screen.getByTestId('actions')).toHaveAttribute('dir', 'rtl');
|
|
50
49
|
});
|
|
51
50
|
|
|
52
51
|
['hidden', 'visible'].forEach((vis) => {
|
|
@@ -58,18 +57,19 @@ test(`Renders with class ${styles.dataListAction} when isPlainButtonAction = tru
|
|
|
58
57
|
aria-labelledby="check-action-item2 check-action-action2"
|
|
59
58
|
id="check-action-action2"
|
|
60
59
|
aria-label="Actions"
|
|
60
|
+
data-testid="actions"
|
|
61
61
|
>
|
|
62
62
|
test
|
|
63
63
|
</DataListAction>
|
|
64
64
|
);
|
|
65
65
|
|
|
66
66
|
if (visMod === 'hidden') {
|
|
67
|
-
expect(screen.
|
|
67
|
+
expect(screen.getByTestId('actions')).toHaveClass(styles.modifiers[`${visMod}`]);
|
|
68
68
|
}
|
|
69
|
-
expect(screen.
|
|
70
|
-
expect(screen.
|
|
71
|
-
expect(screen.
|
|
72
|
-
expect(screen.
|
|
73
|
-
expect(screen.
|
|
69
|
+
expect(screen.getByTestId('actions')).toHaveClass(styles.modifiers[`${visMod}OnSm`]);
|
|
70
|
+
expect(screen.getByTestId('actions')).toHaveClass(styles.modifiers[`${visMod}OnMd`]);
|
|
71
|
+
expect(screen.getByTestId('actions')).toHaveClass(styles.modifiers[`${visMod}OnLg`]);
|
|
72
|
+
expect(screen.getByTestId('actions')).toHaveClass(styles.modifiers[`${visMod}OnXl`]);
|
|
73
|
+
expect(screen.getByTestId('actions')).toHaveClass(styles.modifiers[`${visMod}On_2xl`]);
|
|
74
74
|
});
|
|
75
75
|
});
|
|
@@ -73,7 +73,6 @@ export const DataListCheckboxes: React.FunctionComponent = () => {
|
|
|
73
73
|
aria-labelledby="check-action-item1 check-action-action1"
|
|
74
74
|
id="check-action-action1"
|
|
75
75
|
aria-label="Actions"
|
|
76
|
-
isPlainButtonAction
|
|
77
76
|
>
|
|
78
77
|
<Dropdown
|
|
79
78
|
popperProps={{ position: 'right' }}
|
|
@@ -129,7 +128,6 @@ export const DataListCheckboxes: React.FunctionComponent = () => {
|
|
|
129
128
|
aria-labelledby="check-action-item2 check-action-action2"
|
|
130
129
|
id="check-action-action2"
|
|
131
130
|
aria-label="Actions"
|
|
132
|
-
isPlainButtonAction
|
|
133
131
|
>
|
|
134
132
|
<Dropdown
|
|
135
133
|
popperProps={{ position: 'right' }}
|
|
@@ -194,7 +192,6 @@ export const DataListCheckboxes: React.FunctionComponent = () => {
|
|
|
194
192
|
aria-labelledby="check-action-item3 check-action-action3"
|
|
195
193
|
id="check-action-action3"
|
|
196
194
|
aria-label="Actions"
|
|
197
|
-
isPlainButtonAction
|
|
198
195
|
>
|
|
199
196
|
<Dropdown
|
|
200
197
|
popperProps={{ position: 'right' }}
|
|
@@ -65,7 +65,6 @@ export const DataListClickableRows: React.FunctionComponent = () => {
|
|
|
65
65
|
aria-labelledby="clickable-action-item1 clickable-action-action1"
|
|
66
66
|
id="clickable-action-action1"
|
|
67
67
|
aria-label="Actions"
|
|
68
|
-
isPlainButtonAction
|
|
69
68
|
>
|
|
70
69
|
<Dropdown
|
|
71
70
|
popperProps={{ position: 'right' }}
|
|
@@ -116,7 +115,6 @@ export const DataListClickableRows: React.FunctionComponent = () => {
|
|
|
116
115
|
aria-labelledby="clickable-actions-item2 clickable-actions-action2"
|
|
117
116
|
id="clickable-actions-action2"
|
|
118
117
|
aria-label="Actions"
|
|
119
|
-
isPlainButtonAction
|
|
120
118
|
>
|
|
121
119
|
<Dropdown
|
|
122
120
|
popperProps={{ position: 'right' }}
|
|
@@ -81,12 +81,7 @@ export const DataListExpandable: React.FunctionComponent = () => {
|
|
|
81
81
|
</DataListCell>
|
|
82
82
|
]}
|
|
83
83
|
/>
|
|
84
|
-
<DataListAction
|
|
85
|
-
aria-labelledby="ex-item1 ex-action1"
|
|
86
|
-
id="ex-action1"
|
|
87
|
-
aria-label="Actions"
|
|
88
|
-
isPlainButtonAction
|
|
89
|
-
>
|
|
84
|
+
<DataListAction aria-labelledby="ex-item1 ex-action1" id="ex-action1" aria-label="Actions">
|
|
90
85
|
<Dropdown
|
|
91
86
|
popperProps={{ position: 'right' }}
|
|
92
87
|
onSelect={onSelect1}
|
|
@@ -157,12 +152,7 @@ export const DataListExpandable: React.FunctionComponent = () => {
|
|
|
157
152
|
</DataListCell>
|
|
158
153
|
]}
|
|
159
154
|
/>
|
|
160
|
-
<DataListAction
|
|
161
|
-
aria-labelledby="ex-item2 ex-action2"
|
|
162
|
-
id="ex-action2"
|
|
163
|
-
aria-label="Actions"
|
|
164
|
-
isPlainButtonAction
|
|
165
|
-
>
|
|
155
|
+
<DataListAction aria-labelledby="ex-item2 ex-action2" id="ex-action2" aria-label="Actions">
|
|
166
156
|
<Dropdown
|
|
167
157
|
popperProps={{ position: 'right' }}
|
|
168
158
|
onSelect={onSelect2}
|
|
@@ -233,12 +223,7 @@ export const DataListExpandable: React.FunctionComponent = () => {
|
|
|
233
223
|
</DataListCell>
|
|
234
224
|
]}
|
|
235
225
|
/>
|
|
236
|
-
<DataListAction
|
|
237
|
-
aria-labelledby="ex-item3 ex-action3"
|
|
238
|
-
id="ex-action3"
|
|
239
|
-
aria-label="Actions"
|
|
240
|
-
isPlainButtonAction
|
|
241
|
-
>
|
|
226
|
+
<DataListAction aria-labelledby="ex-item3 ex-action3" id="ex-action3" aria-label="Actions">
|
|
242
227
|
<Dropdown
|
|
243
228
|
popperProps={{ position: 'right' }}
|
|
244
229
|
onSelect={onSelect3}
|
|
@@ -83,12 +83,7 @@ export const DataListMixedExpandable: React.FunctionComponent = () => {
|
|
|
83
83
|
</DataListCell>
|
|
84
84
|
]}
|
|
85
85
|
/>
|
|
86
|
-
<DataListAction
|
|
87
|
-
aria-labelledby="m-ex-item1 m-ex-action1"
|
|
88
|
-
id="m-ex-action1"
|
|
89
|
-
aria-label="Actions"
|
|
90
|
-
isPlainButtonAction
|
|
91
|
-
>
|
|
86
|
+
<DataListAction aria-labelledby="m-ex-item1 m-ex-action1" id="m-ex-action1" aria-label="Actions">
|
|
92
87
|
<Dropdown
|
|
93
88
|
popperProps={{ position: 'right' }}
|
|
94
89
|
onSelect={onSelect1}
|
|
@@ -161,12 +156,7 @@ export const DataListMixedExpandable: React.FunctionComponent = () => {
|
|
|
161
156
|
</DataListCell>
|
|
162
157
|
]}
|
|
163
158
|
/>
|
|
164
|
-
<DataListAction
|
|
165
|
-
aria-labelledby="m-ex-item2 m-ex-action2"
|
|
166
|
-
id="m-ex-action2"
|
|
167
|
-
aria-label="Actions"
|
|
168
|
-
isPlainButtonAction
|
|
169
|
-
>
|
|
159
|
+
<DataListAction aria-labelledby="m-ex-item2 m-ex-action2" id="m-ex-action2" aria-label="Actions">
|
|
170
160
|
<Dropdown
|
|
171
161
|
popperProps={{ position: 'right' }}
|
|
172
162
|
onSelect={onSelect2}
|
|
@@ -227,12 +217,7 @@ export const DataListMixedExpandable: React.FunctionComponent = () => {
|
|
|
227
217
|
</DataListCell>
|
|
228
218
|
]}
|
|
229
219
|
/>
|
|
230
|
-
<DataListAction
|
|
231
|
-
aria-labelledby="m-ex-item3 m-ex-action3"
|
|
232
|
-
id="m-ex-action3"
|
|
233
|
-
aria-label="Actions"
|
|
234
|
-
isPlainButtonAction
|
|
235
|
-
>
|
|
220
|
+
<DataListAction aria-labelledby="m-ex-item3 m-ex-action3" id="m-ex-action3" aria-label="Actions">
|
|
236
221
|
<Dropdown
|
|
237
222
|
popperProps={{ position: 'right' }}
|
|
238
223
|
onSelect={onSelect3}
|
|
@@ -92,7 +92,6 @@ export const DataListWidthModifiers: React.FunctionComponent = () => {
|
|
|
92
92
|
aria-labelledby="width-ex2-item1 width-ex2-action1"
|
|
93
93
|
id="width-ex2-action1"
|
|
94
94
|
aria-label="Actions"
|
|
95
|
-
isPlainButtonAction
|
|
96
95
|
>
|
|
97
96
|
<Dropdown
|
|
98
97
|
popperProps={{ position: 'right' }}
|
|
@@ -167,7 +166,6 @@ export const DataListWidthModifiers: React.FunctionComponent = () => {
|
|
|
167
166
|
aria-labelledby="width-ex3-item1 width-ex3-action1"
|
|
168
167
|
id="width-ex3-action1"
|
|
169
168
|
aria-label="Actions"
|
|
170
|
-
isPlainButtonAction
|
|
171
169
|
>
|
|
172
170
|
<Dropdown
|
|
173
171
|
popperProps={{ position: 'right' }}
|
|
@@ -113,7 +113,7 @@ const DropdownBase: React.FunctionComponent<DropdownProps> = ({
|
|
|
113
113
|
'li button:not(:disabled),li input:not(:disabled),li a:not([aria-disabled="true"])'
|
|
114
114
|
);
|
|
115
115
|
firstElement && (firstElement as HTMLElement).focus();
|
|
116
|
-
},
|
|
116
|
+
}, 10);
|
|
117
117
|
}
|
|
118
118
|
|
|
119
119
|
prevIsOpen.current = isOpen;
|
|
@@ -65,7 +65,7 @@ export const MenuContainer: React.FunctionComponent<MenuContainerProps> = ({
|
|
|
65
65
|
'li button:not(:disabled),li input:not(:disabled),li a:not([aria-disabled="true"])'
|
|
66
66
|
);
|
|
67
67
|
firstElement && (firstElement as HTMLElement).focus();
|
|
68
|
-
},
|
|
68
|
+
}, 10);
|
|
69
69
|
}
|
|
70
70
|
|
|
71
71
|
prevIsOpen.current = isOpen;
|
|
@@ -117,7 +117,7 @@ const SelectBase: React.FunctionComponent<SelectProps & OUIAProps> = ({
|
|
|
117
117
|
setTimeout(() => {
|
|
118
118
|
const firstElement = menuRef?.current?.querySelector('li button:not(:disabled),li input:not(:disabled)');
|
|
119
119
|
firstElement && (firstElement as HTMLElement).focus();
|
|
120
|
-
},
|
|
120
|
+
}, 10);
|
|
121
121
|
}
|
|
122
122
|
|
|
123
123
|
prevIsOpen.current = isOpen;
|
package/src/components/index.ts
CHANGED
|
@@ -169,12 +169,7 @@ export const DataListExpandableControlInToolbar: React.FunctionComponent = () =>
|
|
|
169
169
|
</DataListCell>
|
|
170
170
|
]}
|
|
171
171
|
/>
|
|
172
|
-
<DataListAction
|
|
173
|
-
aria-labelledby="ex-item1 ex-action1"
|
|
174
|
-
id="ex-action1"
|
|
175
|
-
aria-label="Actions"
|
|
176
|
-
isPlainButtonAction
|
|
177
|
-
>
|
|
172
|
+
<DataListAction aria-labelledby="ex-item1 ex-action1" id="ex-action1" aria-label="Actions">
|
|
178
173
|
<Dropdown
|
|
179
174
|
isOpen={isOpen1}
|
|
180
175
|
onSelect={onSelect1}
|
|
@@ -251,12 +246,7 @@ export const DataListExpandableControlInToolbar: React.FunctionComponent = () =>
|
|
|
251
246
|
</DataListCell>
|
|
252
247
|
]}
|
|
253
248
|
/>
|
|
254
|
-
<DataListAction
|
|
255
|
-
aria-labelledby="ex-item2 ex-action2"
|
|
256
|
-
id="ex-action2"
|
|
257
|
-
aria-label="Actions"
|
|
258
|
-
isPlainButtonAction
|
|
259
|
-
>
|
|
249
|
+
<DataListAction aria-labelledby="ex-item2 ex-action2" id="ex-action2" aria-label="Actions">
|
|
260
250
|
<Dropdown
|
|
261
251
|
isOpen={isOpen2}
|
|
262
252
|
onSelect={onSelect2}
|
|
@@ -333,12 +323,7 @@ export const DataListExpandableControlInToolbar: React.FunctionComponent = () =>
|
|
|
333
323
|
</DataListCell>
|
|
334
324
|
]}
|
|
335
325
|
/>
|
|
336
|
-
<DataListAction
|
|
337
|
-
aria-labelledby="ex-item3 ex-action3"
|
|
338
|
-
id="ex-action3"
|
|
339
|
-
aria-label="Actions"
|
|
340
|
-
isPlainButtonAction
|
|
341
|
-
>
|
|
326
|
+
<DataListAction aria-labelledby="ex-item3 ex-action3" id="ex-action3" aria-label="Actions">
|
|
342
327
|
<Dropdown
|
|
343
328
|
isOpen={isOpen3}
|
|
344
329
|
onSelect={onSelect3}
|