@patternfly/react-core 4.213.1 → 4.213.4
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 +33 -0
- package/dist/esm/components/ApplicationLauncher/ApplicationLauncher.d.ts +2 -9
- package/dist/esm/components/ApplicationLauncher/ApplicationLauncher.d.ts.map +1 -1
- package/dist/esm/components/ApplicationLauncher/ApplicationLauncher.js.map +1 -1
- package/dist/esm/components/Card/Card.d.ts +7 -0
- package/dist/esm/components/Card/Card.d.ts.map +1 -1
- package/dist/esm/components/Card/Card.js +24 -1
- package/dist/esm/components/Card/Card.js.map +1 -1
- package/dist/esm/components/Card/CardTitle.d.ts.map +1 -1
- package/dist/esm/components/Card/CardTitle.js +8 -1
- package/dist/esm/components/Card/CardTitle.js.map +1 -1
- package/dist/esm/components/ContextSelector/ContextSelector.d.ts +2 -9
- package/dist/esm/components/ContextSelector/ContextSelector.d.ts.map +1 -1
- package/dist/esm/components/ContextSelector/ContextSelector.js.map +1 -1
- package/dist/esm/components/Dropdown/Dropdown.d.ts +2 -9
- package/dist/esm/components/Dropdown/Dropdown.d.ts.map +1 -1
- package/dist/esm/components/Dropdown/Dropdown.js +2 -2
- package/dist/esm/components/Dropdown/Dropdown.js.map +1 -1
- package/dist/esm/components/OptionsMenu/OptionsMenu.d.ts +2 -9
- package/dist/esm/components/OptionsMenu/OptionsMenu.d.ts.map +1 -1
- package/dist/esm/components/OptionsMenu/OptionsMenu.js.map +1 -1
- package/dist/esm/components/Select/Select.d.ts +2 -9
- package/dist/esm/components/Select/Select.d.ts.map +1 -1
- package/dist/esm/components/Select/Select.js.map +1 -1
- package/dist/esm/helpers/Popper/Popper.d.ts +10 -0
- package/dist/esm/helpers/Popper/Popper.d.ts.map +1 -1
- package/dist/esm/helpers/Popper/Popper.js.map +1 -1
- package/dist/js/components/ApplicationLauncher/ApplicationLauncher.d.ts +2 -9
- package/dist/js/components/ApplicationLauncher/ApplicationLauncher.d.ts.map +1 -1
- package/dist/js/components/ApplicationLauncher/ApplicationLauncher.js.map +1 -1
- package/dist/js/components/Card/Card.d.ts +7 -0
- package/dist/js/components/Card/Card.d.ts.map +1 -1
- package/dist/js/components/Card/Card.js +24 -1
- package/dist/js/components/Card/Card.js.map +1 -1
- package/dist/js/components/Card/CardTitle.d.ts.map +1 -1
- package/dist/js/components/Card/CardTitle.js +8 -1
- package/dist/js/components/Card/CardTitle.js.map +1 -1
- package/dist/js/components/ContextSelector/ContextSelector.d.ts +2 -9
- package/dist/js/components/ContextSelector/ContextSelector.d.ts.map +1 -1
- package/dist/js/components/ContextSelector/ContextSelector.js.map +1 -1
- package/dist/js/components/Dropdown/Dropdown.d.ts +2 -9
- package/dist/js/components/Dropdown/Dropdown.d.ts.map +1 -1
- package/dist/js/components/Dropdown/Dropdown.js +2 -2
- package/dist/js/components/Dropdown/Dropdown.js.map +1 -1
- package/dist/js/components/OptionsMenu/OptionsMenu.d.ts +2 -9
- package/dist/js/components/OptionsMenu/OptionsMenu.d.ts.map +1 -1
- package/dist/js/components/OptionsMenu/OptionsMenu.js.map +1 -1
- package/dist/js/components/Select/Select.d.ts +2 -9
- package/dist/js/components/Select/Select.d.ts.map +1 -1
- package/dist/js/components/Select/Select.js.map +1 -1
- package/dist/js/helpers/Popper/Popper.d.ts +10 -0
- package/dist/js/helpers/Popper/Popper.d.ts.map +1 -1
- package/dist/js/helpers/Popper/Popper.js.map +1 -1
- package/dist/umd/react-core.css +69 -69
- package/dist/umd/react-core.js +33 -4
- package/dist/umd/react-core.min.js +1 -1
- package/package.json +5 -5
- package/src/components/ApplicationLauncher/ApplicationLauncher.tsx +2 -9
- package/src/components/Card/Card.tsx +53 -0
- package/src/components/Card/CardTitle.tsx +11 -1
- package/src/components/Card/__tests__/Card.test.tsx +90 -1
- package/src/components/Card/__tests__/CardTitle.test.tsx +13 -0
- package/src/components/Card/examples/Card.md +17 -0
- package/src/components/Card/examples/CardLegacySelectable.tsx +11 -2
- package/src/components/Card/examples/CardSelectable.tsx +10 -1
- package/src/components/Card/examples/CardSelectableA11yHighlight.tsx +61 -0
- package/src/components/ContextSelector/ContextSelector.tsx +2 -9
- package/src/components/Dropdown/Dropdown.tsx +3 -11
- package/src/components/OptionsMenu/OptionsMenu.tsx +2 -9
- package/src/components/Select/Select.tsx +3 -10
- package/src/demos/Card/Card.md +29 -29
- package/src/demos/PrimaryDetail.md +16 -2
- package/src/demos/examples/Tabs/ModalTabs.tsx +4 -1
- package/src/helpers/Popper/Popper.tsx +11 -0
package/src/demos/Card/Card.md
CHANGED
|
@@ -197,7 +197,7 @@ class CardViewBasic extends React.Component {
|
|
|
197
197
|
});
|
|
198
198
|
}
|
|
199
199
|
};
|
|
200
|
-
|
|
200
|
+
|
|
201
201
|
this.onKeyDown = (event, productId) => {
|
|
202
202
|
console.log(productId);
|
|
203
203
|
if (event.target !== event.currentTarget) {
|
|
@@ -206,28 +206,30 @@ class CardViewBasic extends React.Component {
|
|
|
206
206
|
if ([' ', 'Enter'].includes(event.key)) {
|
|
207
207
|
event.preventDefault();
|
|
208
208
|
this.setState(prevState => {
|
|
209
|
-
return prevState.selectedItems.includes(productId*1)
|
|
210
|
-
|
|
211
|
-
|
|
212
|
-
|
|
213
|
-
|
|
214
|
-
|
|
215
|
-
|
|
216
|
-
|
|
209
|
+
return prevState.selectedItems.includes(productId * 1)
|
|
210
|
+
? {
|
|
211
|
+
selectedItems: [...prevState.selectedItems.filter(id => productId * 1 != id)],
|
|
212
|
+
areAllSelected: false
|
|
213
|
+
}
|
|
214
|
+
: {
|
|
215
|
+
selectedItems: [...prevState.selectedItems, productId * 1],
|
|
216
|
+
areAllSelected: prevState.totalItemCount === prevState.selectedItems.length + 1
|
|
217
|
+
};
|
|
217
218
|
});
|
|
218
219
|
}
|
|
219
220
|
};
|
|
220
|
-
|
|
221
|
+
|
|
221
222
|
this.onClick = productId => {
|
|
222
223
|
this.setState(prevState => {
|
|
223
|
-
return prevState.selectedItems.includes(productId*1)
|
|
224
|
-
|
|
225
|
-
|
|
226
|
-
|
|
227
|
-
|
|
228
|
-
|
|
229
|
-
|
|
230
|
-
|
|
224
|
+
return prevState.selectedItems.includes(productId * 1)
|
|
225
|
+
? {
|
|
226
|
+
selectedItems: [...prevState.selectedItems.filter(id => productId * 1 != id)],
|
|
227
|
+
areAllSelected: false
|
|
228
|
+
}
|
|
229
|
+
: {
|
|
230
|
+
selectedItems: [...prevState.selectedItems, productId * 1],
|
|
231
|
+
areAllSelected: prevState.totalItemCount === prevState.selectedItems.length + 1
|
|
232
|
+
};
|
|
231
233
|
});
|
|
232
234
|
};
|
|
233
235
|
}
|
|
@@ -559,12 +561,8 @@ class CardViewBasic extends React.Component {
|
|
|
559
561
|
</Toolbar>
|
|
560
562
|
</PageSection>
|
|
561
563
|
<PageSection isFilled>
|
|
562
|
-
<Gallery hasGutter>
|
|
563
|
-
<Card
|
|
564
|
-
isSelectable
|
|
565
|
-
selectableVariant="raised"
|
|
566
|
-
isCompact
|
|
567
|
-
>
|
|
564
|
+
<Gallery hasGutter aria-label="Selectable card container">
|
|
565
|
+
<Card isSelectableRaised isCompact>
|
|
568
566
|
<Bullseye>
|
|
569
567
|
<EmptyState variant={EmptyStateVariant.xs}>
|
|
570
568
|
<EmptyStateIcon icon={PlusCircleIcon} />
|
|
@@ -578,13 +576,15 @@ class CardViewBasic extends React.Component {
|
|
|
578
576
|
</Bullseye>
|
|
579
577
|
</Card>
|
|
580
578
|
{filtered.map((product, key) => (
|
|
581
|
-
<Card
|
|
582
|
-
|
|
583
|
-
|
|
584
|
-
isCompact
|
|
579
|
+
<Card
|
|
580
|
+
isSelectableRaised
|
|
581
|
+
hasSelectableInput
|
|
582
|
+
isCompact
|
|
585
583
|
key={product.name}
|
|
586
|
-
|
|
584
|
+
id={product.name.replace(/ /g, '-')}
|
|
585
|
+
onKeyDown={e => this.onKeyDown(e, product.id)}
|
|
587
586
|
onClick={() => this.onClick(product.id)}
|
|
587
|
+
onSelectableInputChange={() => this.onClick(product.id)}
|
|
588
588
|
isSelected={selectedItems.includes(product.id)}
|
|
589
589
|
>
|
|
590
590
|
<CardHeader>
|
|
@@ -1100,6 +1100,7 @@ class PrimaryDetailCardView extends React.Component {
|
|
|
1100
1100
|
return;
|
|
1101
1101
|
}
|
|
1102
1102
|
if ([13, 32].includes(event.keyCode)) {
|
|
1103
|
+
event.preventDefault();
|
|
1103
1104
|
const newSelected = event.currentTarget.id;
|
|
1104
1105
|
this.setState({
|
|
1105
1106
|
activeCard: newSelected,
|
|
@@ -1121,6 +1122,17 @@ class PrimaryDetailCardView extends React.Component {
|
|
|
1121
1122
|
});
|
|
1122
1123
|
};
|
|
1123
1124
|
|
|
1125
|
+
this.onChange = (labelledById, _event) => {
|
|
1126
|
+
if (labelledById === this.state.activeCard) {
|
|
1127
|
+
return;
|
|
1128
|
+
}
|
|
1129
|
+
|
|
1130
|
+
this.setState({
|
|
1131
|
+
activeCard: labelledById,
|
|
1132
|
+
isDrawerExpanded: true
|
|
1133
|
+
});
|
|
1134
|
+
};
|
|
1135
|
+
|
|
1124
1136
|
this.onPerPageSelect = (_evt, perPage) => {
|
|
1125
1137
|
this.setState({ page: 1, perPage });
|
|
1126
1138
|
};
|
|
@@ -1262,7 +1274,7 @@ class PrimaryDetailCardView extends React.Component {
|
|
|
1262
1274
|
};
|
|
1263
1275
|
|
|
1264
1276
|
const drawerContent = (
|
|
1265
|
-
<Gallery hasGutter>
|
|
1277
|
+
<Gallery hasGutter aria-label="Selectable card container">
|
|
1266
1278
|
{filtered.map((product, key) => (
|
|
1267
1279
|
<React.Fragment>
|
|
1268
1280
|
<Card
|
|
@@ -1271,8 +1283,10 @@ class PrimaryDetailCardView extends React.Component {
|
|
|
1271
1283
|
id={'card-view-' + key}
|
|
1272
1284
|
onKeyDown={this.onKeyDown}
|
|
1273
1285
|
onClick={this.onCardClick}
|
|
1286
|
+
onSelectableInputChange={this.onChange}
|
|
1274
1287
|
isSelectable
|
|
1275
|
-
isSelected={activeCard === key}
|
|
1288
|
+
isSelected={activeCard === 'card-view-' + key}
|
|
1289
|
+
hasSelectableInput
|
|
1276
1290
|
>
|
|
1277
1291
|
<CardHeader>
|
|
1278
1292
|
<img src={icons[product.icon]} alt={`${product.name} icon`} style={{ height: '50px' }} />
|
|
@@ -89,14 +89,17 @@ export const ModalTabs: React.FunctionComponent = () => {
|
|
|
89
89
|
</TextContent>
|
|
90
90
|
</PageSection>
|
|
91
91
|
<PageSection isFilled>
|
|
92
|
-
<Gallery hasGutter>
|
|
92
|
+
<Gallery hasGutter aria-label="Selectable card container">
|
|
93
93
|
{products.map(product => (
|
|
94
94
|
<Card
|
|
95
95
|
isSelectable
|
|
96
96
|
isSelectableRaised
|
|
97
|
+
hasSelectableInput
|
|
97
98
|
isCompact
|
|
98
99
|
key={product.id}
|
|
100
|
+
id={product.name.replace(/ /g, '-')}
|
|
99
101
|
onClick={onCardClick(product)}
|
|
102
|
+
onSelectableInputChange={() => onCardClick(product)()}
|
|
100
103
|
onKeyPress={onCardKeyPress(product)}
|
|
101
104
|
>
|
|
102
105
|
<CardTitle>{product.name}</CardTitle>
|
|
@@ -14,6 +14,17 @@ const getOppositePlacement = (placement: Placement): any =>
|
|
|
14
14
|
(matched: string) => hash[matched as 'left' | 'right' | 'bottom' | 'top'] as BasePlacement
|
|
15
15
|
);
|
|
16
16
|
|
|
17
|
+
export interface ToggleMenuBaseProps {
|
|
18
|
+
/** The container to append the menu to. Defaults to 'inline'
|
|
19
|
+
* If your menu is being cut off you can append it to an element higher up the DOM tree.
|
|
20
|
+
* Some examples:
|
|
21
|
+
* menuAppendTo="parent"
|
|
22
|
+
* menuAppendTo={() => document.body}
|
|
23
|
+
* menuAppendTo={document.getElementById('target')}
|
|
24
|
+
*/
|
|
25
|
+
menuAppendTo?: HTMLElement | (() => HTMLElement) | 'parent' | 'inline';
|
|
26
|
+
}
|
|
27
|
+
|
|
17
28
|
export const getOpacityTransition = (animationDuration: number) =>
|
|
18
29
|
`opacity ${animationDuration}ms cubic-bezier(.54, 1.5, .38, 1.11)`;
|
|
19
30
|
|