@patternfly/react-core 4.244.0 → 4.244.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 +8 -0
- package/dist/esm/components/DatePicker/DatePicker.d.ts.map +1 -1
- package/dist/esm/components/DatePicker/DatePicker.js +4 -0
- package/dist/esm/components/DatePicker/DatePicker.js.map +1 -1
- package/dist/esm/components/Select/Select.d.ts +2 -0
- package/dist/esm/components/Select/Select.d.ts.map +1 -1
- package/dist/esm/components/Select/Select.js +4 -3
- package/dist/esm/components/Select/Select.js.map +1 -1
- package/dist/esm/components/Select/SelectToggle.d.ts +2 -0
- package/dist/esm/components/Select/SelectToggle.d.ts.map +1 -1
- package/dist/esm/components/Select/SelectToggle.js +3 -5
- package/dist/esm/components/Select/SelectToggle.js.map +1 -1
- package/dist/js/components/DatePicker/DatePicker.d.ts.map +1 -1
- package/dist/js/components/DatePicker/DatePicker.js +4 -0
- package/dist/js/components/DatePicker/DatePicker.js.map +1 -1
- package/dist/js/components/Select/Select.d.ts +2 -0
- package/dist/js/components/Select/Select.d.ts.map +1 -1
- package/dist/js/components/Select/Select.js +4 -3
- package/dist/js/components/Select/Select.js.map +1 -1
- package/dist/js/components/Select/SelectToggle.d.ts +2 -0
- package/dist/js/components/Select/SelectToggle.d.ts.map +1 -1
- package/dist/js/components/Select/SelectToggle.js +3 -5
- package/dist/js/components/Select/SelectToggle.js.map +1 -1
- package/dist/umd/react-core.min.css +3475 -3475
- package/dist/umd/react-core.min.js +1 -1
- package/package.json +2 -2
- package/src/components/DatePicker/DatePicker.tsx +4 -0
- package/src/components/DatePicker/__tests__/DatePicker.test.tsx +21 -0
- package/src/components/Select/Select.tsx +5 -0
- package/src/components/Select/SelectToggle.tsx +5 -4
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@patternfly/react-core",
|
|
3
|
-
"version": "4.244.
|
|
3
|
+
"version": "4.244.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",
|
|
@@ -70,5 +70,5 @@
|
|
|
70
70
|
"react": "^16.8 || ^17 || ^18",
|
|
71
71
|
"react-dom": "^16.8 || ^17 || ^18"
|
|
72
72
|
},
|
|
73
|
-
"gitHead": "
|
|
73
|
+
"gitHead": "a66b0277f021bed9693f19f2ee65d11193305e9d"
|
|
74
74
|
}
|
|
@@ -127,6 +127,10 @@ const DatePickerBase = (
|
|
|
127
127
|
|
|
128
128
|
React.useEffect(() => {
|
|
129
129
|
setPristine(!value);
|
|
130
|
+
const newValueDate = dateParse(value);
|
|
131
|
+
if (errorText && isValidDate(newValueDate)) {
|
|
132
|
+
setError(newValueDate);
|
|
133
|
+
}
|
|
130
134
|
}, [value]);
|
|
131
135
|
|
|
132
136
|
const setError = (date: Date) => {
|
|
@@ -24,6 +24,27 @@ test('Date picker with multiple validators does not show invalid icon on valid i
|
|
|
24
24
|
await user.click(screen.getByRole('textbox'));
|
|
25
25
|
|
|
26
26
|
await user.click(document.body);
|
|
27
|
+
expect(screen.getByRole('textbox')).not.toBeInvalid();
|
|
28
|
+
});
|
|
29
|
+
|
|
30
|
+
test('Error state can be cleared from outside', async () => {
|
|
31
|
+
const rangeValidator = (date: Date) => {
|
|
32
|
+
if (date < new Date('2020-03-17')) {
|
|
33
|
+
return 'error';
|
|
34
|
+
}
|
|
35
|
+
return '';
|
|
36
|
+
};
|
|
37
|
+
|
|
38
|
+
const user = userEvent.setup();
|
|
39
|
+
|
|
40
|
+
const { rerender } = render(<DatePicker value="2020-03-17" validators={[rangeValidator]} />);
|
|
41
|
+
|
|
42
|
+
await user.clear(screen.getByRole('textbox'));
|
|
43
|
+
await user.type(screen.getByRole('textbox'), '2020-03-16');
|
|
44
|
+
|
|
45
|
+
await user.click(document.body);
|
|
46
|
+
|
|
47
|
+
rerender(<DatePicker value="2020-03-18" validators={[rangeValidator]} />);
|
|
27
48
|
|
|
28
49
|
expect(screen.getByRole('textbox')).not.toBeInvalid();
|
|
29
50
|
});
|
|
@@ -143,6 +143,8 @@ export interface SelectProps
|
|
|
143
143
|
maxHeight?: string | number;
|
|
144
144
|
/** Icon element to render inside the select toggle */
|
|
145
145
|
toggleIcon?: React.ReactElement;
|
|
146
|
+
/** Custom icon for the dropdown replacing the CaretDownIcon */
|
|
147
|
+
toggleIndicator?: React.ReactElement;
|
|
146
148
|
/** Custom content to render in the select menu. If this prop is defined, the variant prop will be ignored and the select will render with a single select toggle */
|
|
147
149
|
customContent?: React.ReactNode;
|
|
148
150
|
/** Flag indicating if select should have an inline text input for filtering */
|
|
@@ -239,6 +241,7 @@ export class Select extends React.Component<SelectProps & OUIAProps, SelectState
|
|
|
239
241
|
onClear: () => undefined as void,
|
|
240
242
|
onCreateOption: () => undefined as void,
|
|
241
243
|
toggleIcon: null as React.ReactElement,
|
|
244
|
+
toggleIndicator: null as React.ReactElement,
|
|
242
245
|
onFilter: null,
|
|
243
246
|
onTypeaheadInputChanged: null,
|
|
244
247
|
customContent: null,
|
|
@@ -983,6 +986,7 @@ export class Select extends React.Component<SelectProps & OUIAProps, SelectState
|
|
|
983
986
|
width,
|
|
984
987
|
maxHeight,
|
|
985
988
|
toggleIcon,
|
|
989
|
+
toggleIndicator,
|
|
986
990
|
ouiaId,
|
|
987
991
|
ouiaSafe,
|
|
988
992
|
hasInlineFilter,
|
|
@@ -1314,6 +1318,7 @@ export class Select extends React.Component<SelectProps & OUIAProps, SelectState
|
|
|
1314
1318
|
onClose={this.onClose}
|
|
1315
1319
|
onBlur={onBlur}
|
|
1316
1320
|
variant={variant}
|
|
1321
|
+
toggleIndicator={toggleIndicator}
|
|
1317
1322
|
aria-labelledby={`${ariaLabelledBy || ''} ${selectToggleId}`}
|
|
1318
1323
|
aria-label={toggleAriaLabel}
|
|
1319
1324
|
{...(ariaDescribedby && { 'aria-describedby': ariaDescribedby })}
|
|
@@ -31,6 +31,8 @@ export interface SelectToggleProps extends React.HTMLProps<HTMLElement> {
|
|
|
31
31
|
moveFocusToLastMenuItem?: () => void;
|
|
32
32
|
/** Element which wraps toggle */
|
|
33
33
|
parentRef: React.RefObject<HTMLDivElement>;
|
|
34
|
+
/** Custom icon for the dropdown replacing the CaretDownIcon */
|
|
35
|
+
toggleIndicator?: React.ReactElement;
|
|
34
36
|
/** The menu element */
|
|
35
37
|
menuRef?: React.RefObject<HTMLElement>;
|
|
36
38
|
/** The menu footer element */
|
|
@@ -262,6 +264,7 @@ export class SelectToggle extends React.Component<SelectToggleProps> {
|
|
|
262
264
|
'aria-label': ariaLabel,
|
|
263
265
|
hasFooter,
|
|
264
266
|
footerRef,
|
|
267
|
+
toggleIndicator,
|
|
265
268
|
...props
|
|
266
269
|
} = this.props;
|
|
267
270
|
/* eslint-enable @typescript-eslint/no-unused-vars */
|
|
@@ -307,9 +310,7 @@ export class SelectToggle extends React.Component<SelectToggleProps> {
|
|
|
307
310
|
disabled={isDisabled}
|
|
308
311
|
>
|
|
309
312
|
{children}
|
|
310
|
-
<span className={css(styles.selectToggleArrow)}>
|
|
311
|
-
<CaretDownIcon />
|
|
312
|
-
</span>
|
|
313
|
+
<span className={css(styles.selectToggleArrow)}>{toggleIndicator ?? <CaretDownIcon />}</span>
|
|
313
314
|
</button>
|
|
314
315
|
)}
|
|
315
316
|
{isTypeahead && (
|
|
@@ -354,7 +355,7 @@ export class SelectToggle extends React.Component<SelectToggleProps> {
|
|
|
354
355
|
})}
|
|
355
356
|
disabled={isDisabled}
|
|
356
357
|
>
|
|
357
|
-
<CaretDownIcon className={css(styles.selectToggleArrow)} />
|
|
358
|
+
{toggleIndicator ?? <CaretDownIcon className={css(styles.selectToggleArrow)} />}
|
|
358
359
|
</button>
|
|
359
360
|
</div>
|
|
360
361
|
)}
|