@patternfly/react-core 4.201.1 → 4.202.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.
- package/CHANGELOG.md +27 -0
- package/dist/esm/components/DescriptionList/DescriptionList.d.ts +13 -3
- package/dist/esm/components/DescriptionList/DescriptionList.d.ts.map +1 -1
- package/dist/esm/components/DescriptionList/DescriptionList.js +10 -6
- package/dist/esm/components/DescriptionList/DescriptionList.js.map +1 -1
- package/dist/esm/components/Menu/MenuContent.d.ts.map +1 -1
- package/dist/esm/components/Menu/MenuContent.js +21 -2
- package/dist/esm/components/Menu/MenuContent.js.map +1 -1
- package/dist/esm/components/Popover/Popover.d.ts +1 -1
- package/dist/esm/components/Select/Select.d.ts +5 -3
- package/dist/esm/components/Select/Select.d.ts.map +1 -1
- package/dist/esm/components/Select/Select.js +36 -17
- package/dist/esm/components/Select/Select.js.map +1 -1
- package/dist/esm/components/Select/SelectOption.d.ts.map +1 -1
- package/dist/esm/components/Select/SelectOption.js +3 -3
- package/dist/esm/components/Select/SelectOption.js.map +1 -1
- package/dist/esm/components/Select/SelectToggle.d.ts +1 -1
- package/dist/esm/components/Select/SelectToggle.d.ts.map +1 -1
- package/dist/esm/components/Select/SelectToggle.js +14 -14
- package/dist/esm/components/Select/SelectToggle.js.map +1 -1
- package/dist/esm/components/Select/selectConstants.d.ts +1 -0
- package/dist/esm/components/Select/selectConstants.d.ts.map +1 -1
- package/dist/esm/components/Select/selectConstants.js.map +1 -1
- package/dist/esm/components/TimePicker/TimePicker.d.ts +6 -4
- package/dist/esm/components/TimePicker/TimePicker.d.ts.map +1 -1
- package/dist/esm/components/TimePicker/TimePicker.js +15 -8
- package/dist/esm/components/TimePicker/TimePicker.js.map +1 -1
- package/dist/js/components/DescriptionList/DescriptionList.d.ts +13 -3
- package/dist/js/components/DescriptionList/DescriptionList.d.ts.map +1 -1
- package/dist/js/components/DescriptionList/DescriptionList.js +10 -6
- package/dist/js/components/DescriptionList/DescriptionList.js.map +1 -1
- package/dist/js/components/Menu/MenuContent.d.ts.map +1 -1
- package/dist/js/components/Menu/MenuContent.js +21 -2
- package/dist/js/components/Menu/MenuContent.js.map +1 -1
- package/dist/js/components/Popover/Popover.d.ts +1 -1
- package/dist/js/components/Select/Select.d.ts +5 -3
- package/dist/js/components/Select/Select.d.ts.map +1 -1
- package/dist/js/components/Select/Select.js +36 -17
- package/dist/js/components/Select/Select.js.map +1 -1
- package/dist/js/components/Select/SelectOption.d.ts.map +1 -1
- package/dist/js/components/Select/SelectOption.js +3 -3
- package/dist/js/components/Select/SelectOption.js.map +1 -1
- package/dist/js/components/Select/SelectToggle.d.ts +1 -1
- package/dist/js/components/Select/SelectToggle.d.ts.map +1 -1
- package/dist/js/components/Select/SelectToggle.js +14 -14
- package/dist/js/components/Select/SelectToggle.js.map +1 -1
- package/dist/js/components/Select/selectConstants.d.ts +1 -0
- package/dist/js/components/Select/selectConstants.d.ts.map +1 -1
- package/dist/js/components/Select/selectConstants.js.map +1 -1
- package/dist/js/components/TimePicker/TimePicker.d.ts +6 -4
- package/dist/js/components/TimePicker/TimePicker.d.ts.map +1 -1
- package/dist/js/components/TimePicker/TimePicker.js +15 -8
- package/dist/js/components/TimePicker/TimePicker.js.map +1 -1
- package/dist/umd/react-core.css +31 -2
- package/dist/umd/react-core.js +106 -52
- package/dist/umd/react-core.min.css +31 -2
- package/dist/umd/react-core.min.js +2 -2
- package/package.json +6 -6
- package/src/components/CodeBlock/examples/CodeBlock.md +2 -195
- package/src/components/CodeBlock/examples/CodeBlockBasic.tsx +59 -0
- package/src/components/CodeBlock/examples/CodeBlockExpandable.tsx +88 -0
- package/src/components/DescriptionList/DescriptionList.tsx +52 -31
- package/src/components/DescriptionList/examples/DescriptionList.md +87 -28
- package/src/components/Menu/MenuContent.tsx +27 -2
- package/src/components/Popover/Popover.tsx +1 -1
- package/src/components/Select/Select.tsx +39 -18
- package/src/components/Select/SelectOption.tsx +7 -4
- package/src/components/Select/SelectToggle.tsx +15 -15
- package/src/components/Select/__tests__/__snapshots__/Select.test.tsx.snap +2 -0
- package/src/components/Select/examples/Select.md +93 -40
- package/src/components/Select/selectConstants.tsx +1 -0
- package/src/components/TimePicker/TimePicker.tsx +20 -11
- package/src/components/TimePicker/examples/TimePicker.md +2 -0
|
@@ -49,13 +49,14 @@ export interface TimePickerProps
|
|
|
49
49
|
id?: string;
|
|
50
50
|
/** Width of the time picker. */
|
|
51
51
|
width?: string;
|
|
52
|
-
/** The container to append the menu to. Defaults to 'inline'
|
|
52
|
+
/** The container to append the menu to. Defaults to 'inline'.
|
|
53
53
|
* If your menu is being cut off you can append it to an element higher up the DOM tree.
|
|
54
54
|
* Some examples:
|
|
55
|
+
* menuAppendTo="parent"
|
|
55
56
|
* menuAppendTo={() => document.body}
|
|
56
57
|
* menuAppendTo={document.getElementById('target')}
|
|
57
58
|
*/
|
|
58
|
-
menuAppendTo?: HTMLElement | (() => HTMLElement) | 'inline';
|
|
59
|
+
menuAppendTo?: HTMLElement | (() => HTMLElement) | 'inline' | 'parent';
|
|
59
60
|
/** Size of step between time options in minutes.*/
|
|
60
61
|
stepMinutes?: number;
|
|
61
62
|
/** Additional props for input field */
|
|
@@ -81,7 +82,7 @@ interface TimePickerState {
|
|
|
81
82
|
|
|
82
83
|
export class TimePicker extends React.Component<TimePickerProps, TimePickerState> {
|
|
83
84
|
static displayName = 'TimePicker';
|
|
84
|
-
private
|
|
85
|
+
private baseComponentRef = React.createRef<any>();
|
|
85
86
|
private toggleRef = React.createRef<HTMLDivElement>();
|
|
86
87
|
private inputRef = React.createRef<HTMLInputElement>();
|
|
87
88
|
private menuRef = React.createRef<HTMLDivElement>();
|
|
@@ -97,6 +98,7 @@ export class TimePicker extends React.Component<TimePickerProps, TimePickerState
|
|
|
97
98
|
delimiter: ':',
|
|
98
99
|
'aria-label': 'Time picker',
|
|
99
100
|
width: '150px',
|
|
101
|
+
menuAppendTo: 'inline',
|
|
100
102
|
stepMinutes: 30,
|
|
101
103
|
inputProps: {},
|
|
102
104
|
minTime: '',
|
|
@@ -141,7 +143,7 @@ export class TimePicker extends React.Component<TimePickerProps, TimePickerState
|
|
|
141
143
|
}
|
|
142
144
|
|
|
143
145
|
onDocClick = (event: MouseEvent | TouchEvent) => {
|
|
144
|
-
const clickedOnToggle = this.
|
|
146
|
+
const clickedOnToggle = this.toggleRef?.current?.contains(event.target as Node);
|
|
145
147
|
const clickedWithinMenu = this.menuRef?.current?.contains(event.target as Node);
|
|
146
148
|
if (this.state.isOpen && !(clickedOnToggle || clickedWithinMenu)) {
|
|
147
149
|
this.onToggle(false);
|
|
@@ -362,7 +364,7 @@ export class TimePicker extends React.Component<TimePickerProps, TimePickerState
|
|
|
362
364
|
});
|
|
363
365
|
};
|
|
364
366
|
|
|
365
|
-
|
|
367
|
+
onInputClick = (e: any) => {
|
|
366
368
|
if (!this.state.isOpen) {
|
|
367
369
|
this.onToggle(true);
|
|
368
370
|
}
|
|
@@ -429,10 +431,17 @@ export class TimePicker extends React.Component<TimePickerProps, TimePickerState
|
|
|
429
431
|
const isValidFormat = this.isValidFormat(timeState);
|
|
430
432
|
const randomId = id || getUniqueId('time-picker');
|
|
431
433
|
|
|
434
|
+
const getParentElement = () => {
|
|
435
|
+
if (this.baseComponentRef && this.baseComponentRef.current) {
|
|
436
|
+
return this.baseComponentRef.current.parentElement;
|
|
437
|
+
}
|
|
438
|
+
return null;
|
|
439
|
+
};
|
|
440
|
+
|
|
432
441
|
const menuContainer = (
|
|
433
442
|
<Menu ref={this.menuRef} isScrollable>
|
|
434
443
|
<MenuContent maxMenuHeight="200px">
|
|
435
|
-
<MenuList aria-
|
|
444
|
+
<MenuList aria-label={ariaLabel}>
|
|
436
445
|
{options.map((option, index) => (
|
|
437
446
|
<MenuItem onClick={this.onSelect} key={option} id={`${randomId}-option-${index}`}>
|
|
438
447
|
{option}
|
|
@@ -445,6 +454,7 @@ export class TimePicker extends React.Component<TimePickerProps, TimePickerState
|
|
|
445
454
|
|
|
446
455
|
const textInput = (
|
|
447
456
|
<TextInput
|
|
457
|
+
aria-haspopup="menu"
|
|
448
458
|
className={css(formStyles.formControl)}
|
|
449
459
|
id={`${randomId}-input`}
|
|
450
460
|
aria-label={ariaLabel}
|
|
@@ -453,8 +463,7 @@ export class TimePicker extends React.Component<TimePickerProps, TimePickerState
|
|
|
453
463
|
value={timeState || ''}
|
|
454
464
|
type="text"
|
|
455
465
|
iconVariant="clock"
|
|
456
|
-
onClick={this.
|
|
457
|
-
onFocus={this.onInputFocus}
|
|
466
|
+
onClick={this.onInputClick}
|
|
458
467
|
onChange={this.onInputChange}
|
|
459
468
|
onBlur={this.onBlur}
|
|
460
469
|
autoComplete="off"
|
|
@@ -465,14 +474,14 @@ export class TimePicker extends React.Component<TimePickerProps, TimePickerState
|
|
|
465
474
|
);
|
|
466
475
|
|
|
467
476
|
return (
|
|
468
|
-
<div className={css(datePickerStyles.datePicker, className)}>
|
|
477
|
+
<div ref={this.baseComponentRef} className={css(datePickerStyles.datePicker, className)}>
|
|
469
478
|
<div className={css(datePickerStyles.datePickerInput)} style={style} {...props}>
|
|
470
479
|
<InputGroup>
|
|
471
|
-
<div id={randomId}
|
|
480
|
+
<div id={randomId}>
|
|
472
481
|
<div ref={this.toggleRef} style={{ paddingLeft: '0' }}>
|
|
473
482
|
{menuAppendTo !== 'inline' ? (
|
|
474
483
|
<Popper
|
|
475
|
-
appendTo={
|
|
484
|
+
appendTo={menuAppendTo === 'parent' ? getParentElement() : menuAppendTo}
|
|
476
485
|
trigger={textInput}
|
|
477
486
|
popper={menuContainer}
|
|
478
487
|
isVisible={isOpen}
|
|
@@ -10,6 +10,8 @@ import { TimePicker } from '@patternfly/react-core';
|
|
|
10
10
|
|
|
11
11
|
## Examples
|
|
12
12
|
|
|
13
|
+
Appending the TimePicker to the `document.body` may cause accessibility issues, including being unable to navigate into the menu via keyboard or other assistive technologies. Instead, appending to the `"parent"` is recommended.
|
|
14
|
+
|
|
13
15
|
### Basic 12 hour
|
|
14
16
|
|
|
15
17
|
```js
|