@patternfly/react-core 4.214.2 → 4.214.3
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 +11 -0
- package/dist/esm/components/Banner/Banner.d.ts +2 -0
- package/dist/esm/components/Banner/Banner.d.ts.map +1 -1
- package/dist/esm/components/Banner/Banner.js +4 -2
- package/dist/esm/components/Banner/Banner.js.map +1 -1
- package/dist/esm/components/Chip/Chip.d.ts +5 -0
- package/dist/esm/components/Chip/Chip.d.ts.map +1 -1
- package/dist/esm/components/Chip/Chip.js +7 -2
- package/dist/esm/components/Chip/Chip.js.map +1 -1
- package/dist/esm/components/Switch/Switch.d.ts.map +1 -1
- package/dist/esm/components/Switch/Switch.js +2 -3
- package/dist/esm/components/Switch/Switch.js.map +1 -1
- package/dist/js/components/Banner/Banner.d.ts +2 -0
- package/dist/js/components/Banner/Banner.d.ts.map +1 -1
- package/dist/js/components/Banner/Banner.js +4 -2
- package/dist/js/components/Banner/Banner.js.map +1 -1
- package/dist/js/components/Chip/Chip.d.ts +5 -0
- package/dist/js/components/Chip/Chip.d.ts.map +1 -1
- package/dist/js/components/Chip/Chip.js +7 -2
- package/dist/js/components/Chip/Chip.js.map +1 -1
- package/dist/js/components/Switch/Switch.d.ts.map +1 -1
- package/dist/js/components/Switch/Switch.js +2 -3
- package/dist/js/components/Switch/Switch.js.map +1 -1
- package/dist/umd/react-core.css +545 -545
- package/dist/umd/react-core.js +13 -7
- package/dist/umd/react-core.min.js +2 -2
- package/package.json +5 -5
- package/src/components/Banner/Banner.tsx +4 -0
- package/src/components/Banner/__tests__/Banner.test.tsx +5 -1
- package/src/components/Banner/__tests__/__snapshots__/Banner.test.tsx.snap +30 -0
- package/src/components/Banner/examples/BannerBasic.tsx +4 -2
- package/src/components/Chip/Chip.tsx +14 -0
- package/src/components/Chip/__tests__/Chip.test.tsx +9 -0
- package/src/components/Chip/__tests__/__snapshots__/Chip.test.tsx.snap +44 -0
- package/src/components/Switch/Switch.tsx +7 -6
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@patternfly/react-core",
|
|
3
|
-
"version": "4.214.
|
|
3
|
+
"version": "4.214.3",
|
|
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,9 +34,9 @@
|
|
|
34
34
|
"generate": "node scripts/copyStyles.js"
|
|
35
35
|
},
|
|
36
36
|
"dependencies": {
|
|
37
|
-
"@patternfly/react-icons": "^4.65.
|
|
38
|
-
"@patternfly/react-styles": "^4.64.
|
|
39
|
-
"@patternfly/react-tokens": "^4.66.
|
|
37
|
+
"@patternfly/react-icons": "^4.65.3",
|
|
38
|
+
"@patternfly/react-styles": "^4.64.3",
|
|
39
|
+
"@patternfly/react-tokens": "^4.66.3",
|
|
40
40
|
"focus-trap": "6.2.2",
|
|
41
41
|
"react-dropzone": "9.0.0",
|
|
42
42
|
"tippy.js": "5.1.2",
|
|
@@ -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": "
|
|
63
|
+
"gitHead": "9f92fdb50f7df0e12fbf14f815ed10d21f9b097e"
|
|
64
64
|
}
|
|
@@ -11,12 +11,15 @@ export interface BannerProps extends React.HTMLProps<HTMLDivElement> {
|
|
|
11
11
|
variant?: 'default' | 'info' | 'danger' | 'success' | 'warning';
|
|
12
12
|
/** If set to true, the banner sticks to the top of its container */
|
|
13
13
|
isSticky?: boolean;
|
|
14
|
+
/** Text announced by screen readers to indicate the type of banner. Defaults to "${variant} banner" if this prop is not passed in */
|
|
15
|
+
screenReaderText?: string;
|
|
14
16
|
}
|
|
15
17
|
|
|
16
18
|
export const Banner: React.FunctionComponent<BannerProps> = ({
|
|
17
19
|
children,
|
|
18
20
|
className,
|
|
19
21
|
variant = 'default',
|
|
22
|
+
screenReaderText,
|
|
20
23
|
isSticky = false,
|
|
21
24
|
...props
|
|
22
25
|
}: BannerProps) => (
|
|
@@ -30,6 +33,7 @@ export const Banner: React.FunctionComponent<BannerProps> = ({
|
|
|
30
33
|
{...props}
|
|
31
34
|
>
|
|
32
35
|
{children}
|
|
36
|
+
<span className="pf-u-screen-reader">{screenReaderText || `${variant} banner`}</span>
|
|
33
37
|
</div>
|
|
34
38
|
);
|
|
35
39
|
Banner.displayName = 'Banner';
|
|
@@ -5,7 +5,11 @@ import { render } from '@testing-library/react';
|
|
|
5
5
|
['default', 'info', 'success', 'warning', 'danger'].forEach((variant: string) => {
|
|
6
6
|
test(`${variant} banner`, () => {
|
|
7
7
|
const { asFragment } = render(
|
|
8
|
-
<Banner
|
|
8
|
+
<Banner
|
|
9
|
+
variant={variant as 'default' | 'info' | 'success' | 'warning' | 'danger'}
|
|
10
|
+
aria-label={variant}
|
|
11
|
+
screenReaderText={`${variant} banner`}
|
|
12
|
+
>
|
|
9
13
|
{variant} Banner
|
|
10
14
|
</Banner>
|
|
11
15
|
);
|
|
@@ -7,6 +7,11 @@ exports[`danger banner 1`] = `
|
|
|
7
7
|
class="pf-c-banner pf-m-danger"
|
|
8
8
|
>
|
|
9
9
|
danger Banner
|
|
10
|
+
<span
|
|
11
|
+
class="pf-u-screen-reader"
|
|
12
|
+
>
|
|
13
|
+
danger banner
|
|
14
|
+
</span>
|
|
10
15
|
</div>
|
|
11
16
|
</DocumentFragment>
|
|
12
17
|
`;
|
|
@@ -18,6 +23,11 @@ exports[`default banner 1`] = `
|
|
|
18
23
|
class="pf-c-banner"
|
|
19
24
|
>
|
|
20
25
|
default Banner
|
|
26
|
+
<span
|
|
27
|
+
class="pf-u-screen-reader"
|
|
28
|
+
>
|
|
29
|
+
default banner
|
|
30
|
+
</span>
|
|
21
31
|
</div>
|
|
22
32
|
</DocumentFragment>
|
|
23
33
|
`;
|
|
@@ -29,6 +39,11 @@ exports[`info banner 1`] = `
|
|
|
29
39
|
class="pf-c-banner pf-m-info"
|
|
30
40
|
>
|
|
31
41
|
info Banner
|
|
42
|
+
<span
|
|
43
|
+
class="pf-u-screen-reader"
|
|
44
|
+
>
|
|
45
|
+
info banner
|
|
46
|
+
</span>
|
|
32
47
|
</div>
|
|
33
48
|
</DocumentFragment>
|
|
34
49
|
`;
|
|
@@ -40,6 +55,11 @@ exports[`sticky banner 1`] = `
|
|
|
40
55
|
class="pf-c-banner pf-m-sticky"
|
|
41
56
|
>
|
|
42
57
|
Sticky Banner
|
|
58
|
+
<span
|
|
59
|
+
class="pf-u-screen-reader"
|
|
60
|
+
>
|
|
61
|
+
default banner
|
|
62
|
+
</span>
|
|
43
63
|
</div>
|
|
44
64
|
</DocumentFragment>
|
|
45
65
|
`;
|
|
@@ -51,6 +71,11 @@ exports[`success banner 1`] = `
|
|
|
51
71
|
class="pf-c-banner pf-m-success"
|
|
52
72
|
>
|
|
53
73
|
success Banner
|
|
74
|
+
<span
|
|
75
|
+
class="pf-u-screen-reader"
|
|
76
|
+
>
|
|
77
|
+
success banner
|
|
78
|
+
</span>
|
|
54
79
|
</div>
|
|
55
80
|
</DocumentFragment>
|
|
56
81
|
`;
|
|
@@ -62,6 +87,11 @@ exports[`warning banner 1`] = `
|
|
|
62
87
|
class="pf-c-banner pf-m-warning"
|
|
63
88
|
>
|
|
64
89
|
warning Banner
|
|
90
|
+
<span
|
|
91
|
+
class="pf-u-screen-reader"
|
|
92
|
+
>
|
|
93
|
+
warning banner
|
|
94
|
+
</span>
|
|
65
95
|
</div>
|
|
66
96
|
</DocumentFragment>
|
|
67
97
|
`;
|
|
@@ -3,9 +3,11 @@ import { Banner } from '@patternfly/react-core';
|
|
|
3
3
|
|
|
4
4
|
export const BannerBasic: React.FunctionComponent = () => (
|
|
5
5
|
<React.Fragment>
|
|
6
|
-
<Banner>Default banner</Banner>
|
|
6
|
+
<Banner screenReaderText="This is a default Banner">Default banner</Banner>
|
|
7
7
|
<br />
|
|
8
|
-
<Banner variant="info"
|
|
8
|
+
<Banner variant="info" screenReaderText="This is an info Banner">
|
|
9
|
+
Info banner
|
|
10
|
+
</Banner>
|
|
9
11
|
<br />
|
|
10
12
|
<Banner variant="danger">Danger banner</Banner>
|
|
11
13
|
<br />
|
|
@@ -38,6 +38,9 @@ export interface ChipProps extends React.HTMLProps<HTMLDivElement>, OUIAProps {
|
|
|
38
38
|
| 'left-end'
|
|
39
39
|
| 'right-start'
|
|
40
40
|
| 'right-end';
|
|
41
|
+
|
|
42
|
+
/** Css property expressed in percentage or any css unit that overrides the default value of the max-width of the chip's text */
|
|
43
|
+
textMaxWidth?: string;
|
|
41
44
|
}
|
|
42
45
|
|
|
43
46
|
interface ChipState {
|
|
@@ -73,12 +76,20 @@ export class Chip extends React.Component<ChipProps, ChipState> {
|
|
|
73
76
|
});
|
|
74
77
|
}
|
|
75
78
|
|
|
79
|
+
setChipStyle = () => ({
|
|
80
|
+
'--pf-c-chip__text--MaxWidth': this.props.textMaxWidth
|
|
81
|
+
});
|
|
82
|
+
|
|
76
83
|
renderOverflowChip = () => {
|
|
77
84
|
const { children, className, onClick, ouiaId } = this.props;
|
|
78
85
|
const Component = this.props.component as any;
|
|
79
86
|
return (
|
|
80
87
|
<Component
|
|
81
88
|
onClick={onClick}
|
|
89
|
+
{...(this.props.textMaxWidth && {
|
|
90
|
+
style: this.setChipStyle(),
|
|
91
|
+
...this.props.style
|
|
92
|
+
})}
|
|
82
93
|
className={css(styles.chip, styles.modifiers.overflow, className)}
|
|
83
94
|
{...(this.props.component === 'button' ? { type: 'button' } : {})}
|
|
84
95
|
{...getOUIAProps('OverflowChip', ouiaId !== undefined ? ouiaId : this.state.ouiaStateId)}
|
|
@@ -93,6 +104,9 @@ export class Chip extends React.Component<ChipProps, ChipState> {
|
|
|
93
104
|
const Component = component as any;
|
|
94
105
|
return (
|
|
95
106
|
<Component
|
|
107
|
+
{...(this.props.textMaxWidth && {
|
|
108
|
+
style: this.setChipStyle()
|
|
109
|
+
})}
|
|
96
110
|
className={css(styles.chip, className)}
|
|
97
111
|
{...(this.state.isTooltipVisible && { tabIndex: 0 })}
|
|
98
112
|
{...getOUIAProps(Chip.displayName, ouiaId !== undefined ? ouiaId : this.state.ouiaStateId)}
|
|
@@ -38,4 +38,13 @@ describe('Chip', () => {
|
|
|
38
38
|
);
|
|
39
39
|
expect(asFragment()).toMatchSnapshot();
|
|
40
40
|
});
|
|
41
|
+
|
|
42
|
+
test('custom max-width text', () => {
|
|
43
|
+
const { asFragment } = render(
|
|
44
|
+
<Chip className="my-chp-cls" textMaxWidth="100px">
|
|
45
|
+
4 more
|
|
46
|
+
</Chip>
|
|
47
|
+
);
|
|
48
|
+
expect(asFragment()).toMatchSnapshot();
|
|
49
|
+
});
|
|
41
50
|
});
|
|
@@ -86,6 +86,50 @@ exports[`Chip closable with tooltip 1`] = `
|
|
|
86
86
|
</DocumentFragment>
|
|
87
87
|
`;
|
|
88
88
|
|
|
89
|
+
exports[`Chip custom max-width text 1`] = `
|
|
90
|
+
<DocumentFragment>
|
|
91
|
+
<div
|
|
92
|
+
class="pf-c-chip my-chp-cls"
|
|
93
|
+
data-ouia-component-id="OUIA-Generated-Chip-5"
|
|
94
|
+
data-ouia-component-type="PF4/Chip"
|
|
95
|
+
data-ouia-safe="true"
|
|
96
|
+
style="--pf-c-chip__text--MaxWidth: 100px;"
|
|
97
|
+
>
|
|
98
|
+
<span
|
|
99
|
+
class="pf-c-chip__text"
|
|
100
|
+
id="pf-random-id-4"
|
|
101
|
+
>
|
|
102
|
+
4 more
|
|
103
|
+
</span>
|
|
104
|
+
<button
|
|
105
|
+
aria-disabled="false"
|
|
106
|
+
aria-label="close"
|
|
107
|
+
aria-labelledby="remove_pf-random-id-4 pf-random-id-4"
|
|
108
|
+
class="pf-c-button pf-m-plain"
|
|
109
|
+
data-ouia-component-id="close"
|
|
110
|
+
data-ouia-component-type="PF4/Button"
|
|
111
|
+
data-ouia-safe="true"
|
|
112
|
+
id="remove_pf-random-id-4"
|
|
113
|
+
type="button"
|
|
114
|
+
>
|
|
115
|
+
<svg
|
|
116
|
+
aria-hidden="true"
|
|
117
|
+
fill="currentColor"
|
|
118
|
+
height="1em"
|
|
119
|
+
role="img"
|
|
120
|
+
style="vertical-align: -0.125em;"
|
|
121
|
+
viewBox="0 0 352 512"
|
|
122
|
+
width="1em"
|
|
123
|
+
>
|
|
124
|
+
<path
|
|
125
|
+
d="M242.72 256l100.07-100.07c12.28-12.28 12.28-32.19 0-44.48l-22.24-22.24c-12.28-12.28-32.19-12.28-44.48 0L176 189.28 75.93 89.21c-12.28-12.28-32.19-12.28-44.48 0L9.21 111.45c-12.28 12.28-12.28 32.19 0 44.48L109.28 256 9.21 356.07c-12.28 12.28-12.28 32.19 0 44.48l22.24 22.24c12.28 12.28 32.2 12.28 44.48 0L176 322.72l100.07 100.07c12.28 12.28 32.2 12.28 44.48 0l22.24-22.24c12.28-12.28 12.28-32.19 0-44.48L242.72 256z"
|
|
126
|
+
/>
|
|
127
|
+
</svg>
|
|
128
|
+
</button>
|
|
129
|
+
</div>
|
|
130
|
+
</DocumentFragment>
|
|
131
|
+
`;
|
|
132
|
+
|
|
89
133
|
exports[`Chip overflow 1`] = `
|
|
90
134
|
<DocumentFragment>
|
|
91
135
|
<div
|
|
@@ -91,7 +91,13 @@ export class Switch extends React.Component<SwitchProps & OUIAProps, { ouiaState
|
|
|
91
91
|
/>
|
|
92
92
|
{label !== undefined ? (
|
|
93
93
|
<React.Fragment>
|
|
94
|
-
<span className={css(styles.switchToggle)}
|
|
94
|
+
<span className={css(styles.switchToggle)}>
|
|
95
|
+
{hasCheckIcon && (
|
|
96
|
+
<span className={css(styles.switchToggleIcon)} aria-hidden="true">
|
|
97
|
+
<CheckIcon noVerticalAlign />
|
|
98
|
+
</span>
|
|
99
|
+
)}
|
|
100
|
+
</span>
|
|
95
101
|
<span
|
|
96
102
|
className={css(styles.switchLabel, styles.modifiers.on)}
|
|
97
103
|
id={isAriaLabelledBy ? `${this.id}-on` : null}
|
|
@@ -99,11 +105,6 @@ export class Switch extends React.Component<SwitchProps & OUIAProps, { ouiaState
|
|
|
99
105
|
>
|
|
100
106
|
{label}
|
|
101
107
|
</span>
|
|
102
|
-
{hasCheckIcon && (
|
|
103
|
-
<div className={css(styles.switchToggleIcon)} aria-hidden="true">
|
|
104
|
-
<CheckIcon noVerticalAlign />
|
|
105
|
-
</div>
|
|
106
|
-
)}
|
|
107
108
|
<span
|
|
108
109
|
className={css(styles.switchLabel, styles.modifiers.off)}
|
|
109
110
|
id={isAriaLabelledBy ? `${this.id}-off` : null}
|