@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.
Files changed (74) hide show
  1. package/CHANGELOG.md +33 -0
  2. package/dist/esm/components/ApplicationLauncher/ApplicationLauncher.d.ts +2 -9
  3. package/dist/esm/components/ApplicationLauncher/ApplicationLauncher.d.ts.map +1 -1
  4. package/dist/esm/components/ApplicationLauncher/ApplicationLauncher.js.map +1 -1
  5. package/dist/esm/components/Card/Card.d.ts +7 -0
  6. package/dist/esm/components/Card/Card.d.ts.map +1 -1
  7. package/dist/esm/components/Card/Card.js +24 -1
  8. package/dist/esm/components/Card/Card.js.map +1 -1
  9. package/dist/esm/components/Card/CardTitle.d.ts.map +1 -1
  10. package/dist/esm/components/Card/CardTitle.js +8 -1
  11. package/dist/esm/components/Card/CardTitle.js.map +1 -1
  12. package/dist/esm/components/ContextSelector/ContextSelector.d.ts +2 -9
  13. package/dist/esm/components/ContextSelector/ContextSelector.d.ts.map +1 -1
  14. package/dist/esm/components/ContextSelector/ContextSelector.js.map +1 -1
  15. package/dist/esm/components/Dropdown/Dropdown.d.ts +2 -9
  16. package/dist/esm/components/Dropdown/Dropdown.d.ts.map +1 -1
  17. package/dist/esm/components/Dropdown/Dropdown.js +2 -2
  18. package/dist/esm/components/Dropdown/Dropdown.js.map +1 -1
  19. package/dist/esm/components/OptionsMenu/OptionsMenu.d.ts +2 -9
  20. package/dist/esm/components/OptionsMenu/OptionsMenu.d.ts.map +1 -1
  21. package/dist/esm/components/OptionsMenu/OptionsMenu.js.map +1 -1
  22. package/dist/esm/components/Select/Select.d.ts +2 -9
  23. package/dist/esm/components/Select/Select.d.ts.map +1 -1
  24. package/dist/esm/components/Select/Select.js.map +1 -1
  25. package/dist/esm/helpers/Popper/Popper.d.ts +10 -0
  26. package/dist/esm/helpers/Popper/Popper.d.ts.map +1 -1
  27. package/dist/esm/helpers/Popper/Popper.js.map +1 -1
  28. package/dist/js/components/ApplicationLauncher/ApplicationLauncher.d.ts +2 -9
  29. package/dist/js/components/ApplicationLauncher/ApplicationLauncher.d.ts.map +1 -1
  30. package/dist/js/components/ApplicationLauncher/ApplicationLauncher.js.map +1 -1
  31. package/dist/js/components/Card/Card.d.ts +7 -0
  32. package/dist/js/components/Card/Card.d.ts.map +1 -1
  33. package/dist/js/components/Card/Card.js +24 -1
  34. package/dist/js/components/Card/Card.js.map +1 -1
  35. package/dist/js/components/Card/CardTitle.d.ts.map +1 -1
  36. package/dist/js/components/Card/CardTitle.js +8 -1
  37. package/dist/js/components/Card/CardTitle.js.map +1 -1
  38. package/dist/js/components/ContextSelector/ContextSelector.d.ts +2 -9
  39. package/dist/js/components/ContextSelector/ContextSelector.d.ts.map +1 -1
  40. package/dist/js/components/ContextSelector/ContextSelector.js.map +1 -1
  41. package/dist/js/components/Dropdown/Dropdown.d.ts +2 -9
  42. package/dist/js/components/Dropdown/Dropdown.d.ts.map +1 -1
  43. package/dist/js/components/Dropdown/Dropdown.js +2 -2
  44. package/dist/js/components/Dropdown/Dropdown.js.map +1 -1
  45. package/dist/js/components/OptionsMenu/OptionsMenu.d.ts +2 -9
  46. package/dist/js/components/OptionsMenu/OptionsMenu.d.ts.map +1 -1
  47. package/dist/js/components/OptionsMenu/OptionsMenu.js.map +1 -1
  48. package/dist/js/components/Select/Select.d.ts +2 -9
  49. package/dist/js/components/Select/Select.d.ts.map +1 -1
  50. package/dist/js/components/Select/Select.js.map +1 -1
  51. package/dist/js/helpers/Popper/Popper.d.ts +10 -0
  52. package/dist/js/helpers/Popper/Popper.d.ts.map +1 -1
  53. package/dist/js/helpers/Popper/Popper.js.map +1 -1
  54. package/dist/umd/react-core.css +69 -69
  55. package/dist/umd/react-core.js +33 -4
  56. package/dist/umd/react-core.min.js +1 -1
  57. package/package.json +5 -5
  58. package/src/components/ApplicationLauncher/ApplicationLauncher.tsx +2 -9
  59. package/src/components/Card/Card.tsx +53 -0
  60. package/src/components/Card/CardTitle.tsx +11 -1
  61. package/src/components/Card/__tests__/Card.test.tsx +90 -1
  62. package/src/components/Card/__tests__/CardTitle.test.tsx +13 -0
  63. package/src/components/Card/examples/Card.md +17 -0
  64. package/src/components/Card/examples/CardLegacySelectable.tsx +11 -2
  65. package/src/components/Card/examples/CardSelectable.tsx +10 -1
  66. package/src/components/Card/examples/CardSelectableA11yHighlight.tsx +61 -0
  67. package/src/components/ContextSelector/ContextSelector.tsx +2 -9
  68. package/src/components/Dropdown/Dropdown.tsx +3 -11
  69. package/src/components/OptionsMenu/OptionsMenu.tsx +2 -9
  70. package/src/components/Select/Select.tsx +3 -10
  71. package/src/demos/Card/Card.md +29 -29
  72. package/src/demos/PrimaryDetail.md +16 -2
  73. package/src/demos/examples/Tabs/ModalTabs.tsx +4 -1
  74. package/src/helpers/Popper/Popper.tsx +11 -0
@@ -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
- selectedItems: [...prevState.selectedItems.filter(id => productId * 1 != id)],
212
- areAllSelected: false
213
- } : {
214
- selectedItems: [...prevState.selectedItems, productId * 1],
215
- areAllSelected: prevState.totalItemCount === prevState.selectedItems.length + 1
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
- selectedItems: [...prevState.selectedItems.filter(id => productId * 1 != id)],
226
- areAllSelected: false
227
- } : {
228
- selectedItems: [...prevState.selectedItems, productId * 1],
229
- areAllSelected: prevState.totalItemCount === prevState.selectedItems.length + 1
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
- isSelectable
583
- selectableVariant="raised"
584
- isCompact
579
+ <Card
580
+ isSelectableRaised
581
+ hasSelectableInput
582
+ isCompact
585
583
  key={product.name}
586
- onKeyDown={(e) => this.onKeyDown(e, product.id)}
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