@patternfly/react-core 4.219.1 → 4.220.1

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 (39) hide show
  1. package/CHANGELOG.md +27 -0
  2. package/dist/esm/components/AboutModal/AboutModalContainer.js +1 -1
  3. package/dist/esm/components/AboutModal/AboutModalContainer.js.map +1 -1
  4. package/dist/esm/components/ContextSelector/ContextSelector.d.ts.map +1 -1
  5. package/dist/esm/components/ContextSelector/ContextSelector.js +1 -1
  6. package/dist/esm/components/ContextSelector/ContextSelector.js.map +1 -1
  7. package/dist/esm/components/Modal/ModalContent.js +1 -1
  8. package/dist/esm/components/Modal/ModalContent.js.map +1 -1
  9. package/dist/esm/components/Popover/Popover.d.ts.map +1 -1
  10. package/dist/esm/components/Popover/Popover.js +1 -0
  11. package/dist/esm/components/Popover/Popover.js.map +1 -1
  12. package/dist/js/components/AboutModal/AboutModalContainer.js +1 -1
  13. package/dist/js/components/AboutModal/AboutModalContainer.js.map +1 -1
  14. package/dist/js/components/ContextSelector/ContextSelector.d.ts.map +1 -1
  15. package/dist/js/components/ContextSelector/ContextSelector.js +1 -1
  16. package/dist/js/components/ContextSelector/ContextSelector.js.map +1 -1
  17. package/dist/js/components/Modal/ModalContent.js +1 -1
  18. package/dist/js/components/Modal/ModalContent.js.map +1 -1
  19. package/dist/js/components/Popover/Popover.d.ts.map +1 -1
  20. package/dist/js/components/Popover/Popover.js +1 -0
  21. package/dist/js/components/Popover/Popover.js.map +1 -1
  22. package/dist/umd/react-core.js +718 -158
  23. package/dist/umd/react-core.min.js +7 -7
  24. package/package.json +6 -6
  25. package/src/components/AboutModal/AboutModalContainer.tsx +1 -1
  26. package/src/components/ContextSelector/ContextSelector.tsx +4 -1
  27. package/src/components/Modal/ModalContent.tsx +1 -1
  28. package/src/components/Popover/Popover.tsx +1 -0
  29. package/src/demos/ComposableMenu/examples/ComposableActionsMenu.tsx +12 -1
  30. package/src/demos/ComposableMenu/examples/ComposableContextSelector.tsx +12 -1
  31. package/src/demos/ComposableMenu/examples/ComposableDateSelect.tsx +13 -2
  32. package/src/demos/ComposableMenu/examples/ComposableDrilldownMenu.tsx +12 -1
  33. package/src/demos/ComposableMenu/examples/ComposableDropdwnVariants.tsx +10 -6
  34. package/src/demos/ComposableMenu/examples/ComposableFlyout.tsx +12 -1
  35. package/src/demos/ComposableMenu/examples/ComposableOptionsMenuVariants.tsx +6 -1
  36. package/src/demos/ComposableMenu/examples/ComposableSimpleDropdown.tsx +6 -1
  37. package/src/demos/ComposableMenu/examples/ComposableSimpleSelect.tsx +6 -1
  38. package/src/demos/ComposableMenu/examples/ComposableTreeViewMenu.tsx +12 -12
  39. package/src/demos/SearchInput/SearchInput.md +47 -44
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@patternfly/react-core",
3
- "version": "4.219.1",
3
+ "version": "4.220.1",
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",
@@ -34,10 +34,10 @@
34
34
  "generate": "node scripts/copyStyles.js"
35
35
  },
36
36
  "dependencies": {
37
- "@patternfly/react-icons": "^4.70.1",
38
- "@patternfly/react-styles": "^4.69.1",
39
- "@patternfly/react-tokens": "^4.71.1",
40
- "focus-trap": "6.2.2",
37
+ "@patternfly/react-icons": "^4.71.1",
38
+ "@patternfly/react-styles": "^4.70.1",
39
+ "@patternfly/react-tokens": "^4.72.1",
40
+ "focus-trap": "6.9.2",
41
41
  "react-dropzone": "9.0.0",
42
42
  "tippy.js": "5.1.2",
43
43
  "tslib": "^2.0.0"
@@ -60,5 +60,5 @@
60
60
  "react": "^16.8.0 || ^17.0.0",
61
61
  "react-dom": "^16.8.0 || ^17.0.0"
62
62
  },
63
- "gitHead": "7a00f2e2733a593e840464c786f7096e004d02f1"
63
+ "gitHead": "5e656c560b00e485a3a5a8d6e97c5677624a13ed"
64
64
  }
@@ -63,7 +63,7 @@ export const AboutModalContainer: React.FunctionComponent<AboutModalContainerPro
63
63
  <Backdrop>
64
64
  <FocusTrap
65
65
  active={!disableFocusTrap}
66
- focusTrapOptions={{ clickOutsideDeactivates: true }}
66
+ focusTrapOptions={{ clickOutsideDeactivates: true, tabbableOptions: { displayCheck: 'none' } }}
67
67
  className={css(styles.bullseye)}
68
68
  >
69
69
  <AboutModalBox
@@ -143,7 +143,10 @@ export class ContextSelector extends React.Component<ContextSelectorProps, { oui
143
143
  {...(isFlipEnabled && { style: { position: 'revert' } })}
144
144
  >
145
145
  {isOpen && (
146
- <FocusTrap active={!disableFocusTrap} focusTrapOptions={{ clickOutsideDeactivates: true }}>
146
+ <FocusTrap
147
+ active={!disableFocusTrap}
148
+ focusTrapOptions={{ clickOutsideDeactivates: true, tabbableOptions: { displayCheck: 'none' } }}
149
+ >
147
150
  <div className={css(styles.contextSelectorMenuSearch)}>
148
151
  <InputGroup>
149
152
  <TextInput
@@ -185,7 +185,7 @@ export const ModalContent: React.FunctionComponent<ModalContentProps> = ({
185
185
  <Backdrop>
186
186
  <FocusTrap
187
187
  active={!disableFocusTrap}
188
- focusTrapOptions={{ clickOutsideDeactivates: true }}
188
+ focusTrapOptions={{ clickOutsideDeactivates: true, tabbableOptions: { displayCheck: 'none' } }}
189
189
  className={css(bullsEyeStyles.bullseye)}
190
190
  >
191
191
  {modalBox}
@@ -387,6 +387,7 @@ export const Popover: React.FunctionComponent<PopoverProps> = ({
387
387
  focusTrapOptions={{
388
388
  returnFocusOnDeactivate: true,
389
389
  clickOutsideDeactivates: true,
390
+ tabbableOptions: { displayCheck: 'none' },
390
391
  fallbackFocus: () => {
391
392
  // If the popover's trigger is focused but scrolled out of view,
392
393
  // FocusTrap will throw an error when the Enter button is used on the trigger.
@@ -10,6 +10,7 @@ export const ComposableActionsMenu: React.FunctionComponent = () => {
10
10
  const [selectedItems, setSelectedItems] = React.useState<number[]>([]);
11
11
  const toggleRef = React.useRef<HTMLButtonElement>();
12
12
  const menuRef = React.useRef<HTMLDivElement>();
13
+ const containerRef = React.useRef<HTMLDivElement>();
13
14
 
14
15
  const handleMenuKeys = (event: KeyboardEvent) => {
15
16
  if (isOpen && menuRef.current.contains(event.target as Node)) {
@@ -118,5 +119,15 @@ export const ComposableActionsMenu: React.FunctionComponent = () => {
118
119
  </Menu>
119
120
  );
120
121
 
121
- return <Popper trigger={toggle} popper={menu} isVisible={isOpen} popperMatchesTriggerWidth={false} />;
122
+ return (
123
+ <div ref={containerRef}>
124
+ <Popper
125
+ trigger={toggle}
126
+ popper={menu}
127
+ isVisible={isOpen}
128
+ appendTo={containerRef.current}
129
+ popperMatchesTriggerWidth={false}
130
+ />
131
+ </div>
132
+ );
122
133
  };
@@ -62,6 +62,7 @@ export const ComposableContextSelector: React.FunctionComponent = () => {
62
62
  const menuRef = React.useRef<HTMLDivElement>();
63
63
  const toggleRef = React.useRef<HTMLButtonElement>();
64
64
  const menuFooterBtnRef = React.useRef<HTMLButtonElement>();
65
+ const containerRef = React.useRef<HTMLDivElement>();
65
66
 
66
67
  const handleMenuKeys = (event: KeyboardEvent) => {
67
68
  if (!isOpen) {
@@ -198,5 +199,15 @@ export const ComposableContextSelector: React.FunctionComponent = () => {
198
199
  </MenuFooter>
199
200
  </Menu>
200
201
  );
201
- return <Popper trigger={toggle} popper={menu} isVisible={isOpen} popperMatchesTriggerWidth={false} />;
202
+ return (
203
+ <div ref={containerRef}>
204
+ <Popper
205
+ trigger={toggle}
206
+ popper={menu}
207
+ appendTo={containerRef.current}
208
+ isVisible={isOpen}
209
+ popperMatchesTriggerWidth={false}
210
+ />
211
+ </div>
212
+ );
202
213
  };
@@ -3,9 +3,10 @@ import { MenuToggle, Menu, MenuContent, MenuList, MenuItem, Popper } from '@patt
3
3
 
4
4
  export const ComposableSimpleDropdown: React.FunctionComponent = () => {
5
5
  const [isOpen, setIsOpen] = React.useState(false);
6
+ const [selected, setSelected] = React.useState<number>(0);
6
7
  const toggleRef = React.useRef<HTMLButtonElement>();
7
8
  const menuRef = React.useRef<HTMLDivElement>();
8
- const [selected, setSelected] = React.useState<number>(0);
9
+ const containerRef = React.useRef<HTMLDivElement>();
9
10
 
10
11
  const handleMenuKeys = (event: KeyboardEvent) => {
11
12
  if (!isOpen) {
@@ -109,5 +110,15 @@ export const ComposableSimpleDropdown: React.FunctionComponent = () => {
109
110
  </MenuContent>
110
111
  </Menu>
111
112
  );
112
- return <Popper trigger={toggle} popper={menu} isVisible={isOpen} popperMatchesTriggerWidth={false} />;
113
+ return (
114
+ <div ref={containerRef}>
115
+ <Popper
116
+ trigger={toggle}
117
+ popper={menu}
118
+ appendTo={containerRef.current}
119
+ isVisible={isOpen}
120
+ popperMatchesTriggerWidth={false}
121
+ />
122
+ </div>
123
+ );
113
124
  };
@@ -26,6 +26,7 @@ export const ComposableDrilldownMenu: React.FunctionComponent = () => {
26
26
  const [menuHeights, setMenuHeights] = React.useState<MenuHeightsType>({});
27
27
  const toggleRef = React.useRef<HTMLButtonElement>();
28
28
  const menuRef = React.useRef<HTMLDivElement>();
29
+ const containerRef = React.useRef<HTMLDivElement>();
29
30
 
30
31
  const handleMenuKeys = (event: KeyboardEvent) => {
31
32
  if (isOpen && menuRef.current.contains(event.target as Node)) {
@@ -242,5 +243,15 @@ export const ComposableDrilldownMenu: React.FunctionComponent = () => {
242
243
  </MenuContent>
243
244
  </Menu>
244
245
  );
245
- return <Popper trigger={toggle} popper={menu} isVisible={isOpen} popperMatchesTriggerWidth={false} />;
246
+ return (
247
+ <div ref={containerRef}>
248
+ <Popper
249
+ trigger={toggle}
250
+ popper={menu}
251
+ appendTo={containerRef.current}
252
+ isVisible={isOpen}
253
+ popperMatchesTriggerWidth={false}
254
+ />
255
+ </div>
256
+ );
246
257
  };
@@ -23,6 +23,7 @@ export const ComposableDropdwnVariants: React.FunctionComponent = () => {
23
23
  const [toggleSelected, setToggleSelected] = React.useState<string>('basic');
24
24
  const menuRef = React.useRef<HTMLDivElement>();
25
25
  const toggleRef = React.useRef<HTMLButtonElement>();
26
+ const containerRef = React.useRef<HTMLDivElement>();
26
27
 
27
28
  const handleToggleSwitch = (selected: boolean, e: React.MouseEvent<any> | React.KeyboardEvent | MouseEvent) => {
28
29
  setToggleSelected(e.currentTarget.id);
@@ -224,12 +225,15 @@ export const ComposableDropdwnVariants: React.FunctionComponent = () => {
224
225
  />
225
226
  </ToggleGroup>
226
227
  <br />
227
- <Popper
228
- trigger={buildToggle()}
229
- popper={menu}
230
- isVisible={isOpen}
231
- popperMatchesTriggerWidth={['image', 'checkbox'].includes(toggleSelected)}
232
- />
228
+ <div ref={containerRef}>
229
+ <Popper
230
+ trigger={buildToggle()}
231
+ popper={menu}
232
+ appendTo={containerRef.current}
233
+ isVisible={isOpen}
234
+ popperMatchesTriggerWidth={['image', 'checkbox'].includes(toggleSelected)}
235
+ />
236
+ </div>
233
237
  </React.Fragment>
234
238
  );
235
239
  };
@@ -33,6 +33,7 @@ export const ComposableFlyout: React.FunctionComponent = () => {
33
33
  const [isOpen, setIsOpen] = React.useState<boolean>(false);
34
34
  const menuRef = React.useRef<HTMLDivElement>();
35
35
  const toggleRef = React.useRef<HTMLButtonElement>();
36
+ const containerRef = React.useRef<HTMLDivElement>();
36
37
 
37
38
  const handleMenuKeys = (event: KeyboardEvent) => {
38
39
  if (!isOpen) {
@@ -99,5 +100,15 @@ export const ComposableFlyout: React.FunctionComponent = () => {
99
100
  </Menu>
100
101
  );
101
102
 
102
- return <Popper trigger={toggle} popper={menu} isVisible={isOpen} popperMatchesTriggerWidth={false} />;
103
+ return (
104
+ <div ref={containerRef}>
105
+ <Popper
106
+ trigger={toggle}
107
+ popper={menu}
108
+ appendTo={containerRef.current}
109
+ isVisible={isOpen}
110
+ popperMatchesTriggerWidth={false}
111
+ />
112
+ </div>
113
+ );
103
114
  };
@@ -6,6 +6,7 @@ export const ComposableOptionsMenuVariants: React.FunctionComponent = () => {
6
6
  const [selected, setSelected] = React.useState<string>('');
7
7
  const menuRef = React.useRef<HTMLDivElement>();
8
8
  const toggleRef = React.useRef<HTMLButtonElement>();
9
+ const containerRef = React.useRef<HTMLDivElement>();
9
10
 
10
11
  const handleMenuKeys = (event: KeyboardEvent) => {
11
12
  if (isOpen && menuRef.current.contains(event.target as Node)) {
@@ -90,5 +91,9 @@ export const ComposableOptionsMenuVariants: React.FunctionComponent = () => {
90
91
  </MenuContent>
91
92
  </Menu>
92
93
  );
93
- return <Popper trigger={toggle} popper={menu} isVisible={isOpen} />;
94
+ return (
95
+ <div ref={containerRef}>
96
+ <Popper trigger={toggle} popper={menu} appendTo={containerRef.current} isVisible={isOpen} />
97
+ </div>
98
+ );
94
99
  };
@@ -5,6 +5,7 @@ export const ComposableSimpleDropdown: React.FunctionComponent = () => {
5
5
  const [isOpen, setIsOpen] = React.useState(false);
6
6
  const toggleRef = React.useRef<HTMLButtonElement>();
7
7
  const menuRef = React.useRef<HTMLDivElement>();
8
+ const containerRef = React.useRef<HTMLDivElement>();
8
9
 
9
10
  const handleMenuKeys = (event: KeyboardEvent) => {
10
11
  if (!isOpen) {
@@ -66,5 +67,9 @@ export const ComposableSimpleDropdown: React.FunctionComponent = () => {
66
67
  </MenuContent>
67
68
  </Menu>
68
69
  );
69
- return <Popper trigger={toggle} popper={menu} isVisible={isOpen} />;
70
+ return (
71
+ <div ref={containerRef}>
72
+ <Popper trigger={toggle} popper={menu} appendTo={containerRef.current} isVisible={isOpen} />
73
+ </div>
74
+ );
70
75
  };
@@ -7,6 +7,7 @@ export const ComposableSimpleSelect: React.FunctionComponent = () => {
7
7
  const [selected, setSelected] = React.useState<string>('Select a value');
8
8
  const toggleRef = React.useRef<HTMLButtonElement>();
9
9
  const menuRef = React.useRef<HTMLDivElement>();
10
+ const containerRef = React.useRef<HTMLDivElement>();
10
11
 
11
12
  const handleMenuKeys = (event: KeyboardEvent) => {
12
13
  if (isOpen && menuRef.current.contains(event.target as Node)) {
@@ -70,5 +71,9 @@ export const ComposableSimpleSelect: React.FunctionComponent = () => {
70
71
  </MenuContent>
71
72
  </Menu>
72
73
  );
73
- return <Popper trigger={toggle} popper={menu} isVisible={isOpen} />;
74
+ return (
75
+ <div ref={containerRef}>
76
+ <Popper trigger={toggle} popper={menu} appendTo={containerRef.current} isVisible={isOpen} />
77
+ </div>
78
+ );
74
79
  };
@@ -217,11 +217,9 @@ export const ComposableTreeViewMenu: React.FunctionComponent = () => {
217
217
  };
218
218
 
219
219
  const toggle = (
220
- <div ref={containerRef}>
221
- <MenuToggle ref={toggleRef} onClick={onToggleClick} isExpanded={isOpen}>
222
- {isOpen ? 'Expanded' : 'Collapsed'}
223
- </MenuToggle>
224
- </div>
220
+ <MenuToggle ref={toggleRef} onClick={onToggleClick} isExpanded={isOpen}>
221
+ {isOpen ? 'Expanded' : 'Collapsed'}
222
+ </MenuToggle>
225
223
  );
226
224
  const statusMapped = statusOptions.map(mapTree);
227
225
  const roleMapped = roleOptions.map(mapTree);
@@ -263,12 +261,14 @@ export const ComposableTreeViewMenu: React.FunctionComponent = () => {
263
261
  </Panel>
264
262
  );
265
263
  return (
266
- <Popper
267
- trigger={toggle}
268
- popper={menu}
269
- isVisible={isOpen}
270
- appendTo={containerRef.current}
271
- popperMatchesTriggerWidth={false}
272
- />
264
+ <div ref={containerRef}>
265
+ <Popper
266
+ trigger={toggle}
267
+ popper={menu}
268
+ isVisible={isOpen}
269
+ appendTo={containerRef.current}
270
+ popperMatchesTriggerWidth={false}
271
+ />
272
+ </div>
273
273
  );
274
274
  };
@@ -196,8 +196,6 @@ import React from 'react';
196
196
  import {
197
197
  ActionGroup,
198
198
  Button,
199
- Card,
200
- CardBody,
201
199
  DatePicker,
202
200
  Form,
203
201
  FormGroup,
@@ -209,6 +207,9 @@ import {
209
207
  MenuItem,
210
208
  MenuList,
211
209
  MenuToggle,
210
+ Panel,
211
+ PanelMain,
212
+ PanelMainBody,
212
213
  Popper,
213
214
  SearchInput,
214
215
  TextInput,
@@ -425,48 +426,50 @@ AdvancedComposableSearchInput = () => {
425
426
 
426
427
  const advancedForm = (
427
428
  <div ref={advancedSearchPaneRef} role="dialog" aria-label="Advanced search form">
428
- <Card>
429
- <CardBody>
430
- <Form>
431
- <FormGroup label='Has the words' fieldId='has-words' key='has-words'>
432
- <TextInput
433
- type='text'
434
- id='has-words'
435
- value={hasWords}
436
- onChange={value => {
437
- setHasWords(value);
438
- setValue(value);
439
- }}
440
- ref={firstAttrRef}
441
- />
442
- </FormGroup>
443
- <Grid hasGutter md={6}>
444
- <GridItem>
445
- <FormGroup label='Date within' fieldId='date-within' key='date-within'>
446
- <Popper trigger={dateWithinToggle} popper={dateWithinOptions} isVisible={isDateWithinOpen} />
447
- </FormGroup>
448
- </GridItem>
449
- <GridItem>
450
- <FormGroup label='Of date' fieldId='date' key='date'>
451
- <DatePicker
452
- id="datePicker"
453
- style={{width: "100%"}}
454
- value={date}
455
- onChange={setDate}
456
- appendTo={() => document.querySelector("#datePicker")}
457
- />
458
- </FormGroup>
459
- </GridItem>
460
- </Grid>
461
- <ActionGroup>
462
- <Button variant="primary" type="submit" onClick={(e) => onSubmit(null, e)}>Submit</Button>
463
- {!!onClear && (
464
- <Button variant="link" type="reset" onClick={onClear}>Reset</Button>
465
- )}
466
- </ActionGroup>
467
- </Form>
468
- </CardBody>
469
- </Card>
429
+ <Panel variant='raised'>
430
+ <PanelMain>
431
+ <PanelMainBody>
432
+ <Form>
433
+ <FormGroup label='Has the words' fieldId='has-words' key='has-words'>
434
+ <TextInput
435
+ type='text'
436
+ id='has-words'
437
+ value={hasWords}
438
+ onChange={value => {
439
+ setHasWords(value);
440
+ setValue(value);
441
+ }}
442
+ ref={firstAttrRef}
443
+ />
444
+ </FormGroup>
445
+ <Grid hasGutter md={6}>
446
+ <GridItem>
447
+ <FormGroup label='Date within' fieldId='date-within' key='date-within'>
448
+ <Popper trigger={dateWithinToggle} popper={dateWithinOptions} isVisible={isDateWithinOpen} />
449
+ </FormGroup>
450
+ </GridItem>
451
+ <GridItem>
452
+ <FormGroup label='Of date' fieldId='date' key='date'>
453
+ <DatePicker
454
+ id="datePicker"
455
+ style={{width: "100%"}}
456
+ value={date}
457
+ onChange={setDate}
458
+ appendTo={() => document.querySelector("#datePicker")}
459
+ />
460
+ </FormGroup>
461
+ </GridItem>
462
+ </Grid>
463
+ <ActionGroup>
464
+ <Button variant="primary" type="submit" onClick={(e) => onSubmit(null, e)}>Submit</Button>
465
+ {!!onClear && (
466
+ <Button variant="link" type="reset" onClick={onClear}>Reset</Button>
467
+ )}
468
+ </ActionGroup>
469
+ </Form>
470
+ </PanelMainBody>
471
+ </PanelMain>
472
+ </Panel>
470
473
  </div>
471
474
  );
472
475