Skip to content

Commit bea138e

Browse files
authored
feat(Hero): glass styling update (#12412)
* feat(Hero): glass styling update * fix exact match in test * add beta flag, readd 2.2 rhds icons
1 parent ea832af commit bea138e

9 files changed

Lines changed: 40 additions & 20 deletions

File tree

packages/react-core/package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -54,7 +54,7 @@
5454
"tslib": "^2.8.1"
5555
},
5656
"devDependencies": {
57-
"@patternfly/patternfly": "6.5.0-prerelease.80",
57+
"@patternfly/patternfly": "6.5.0-prerelease.82",
5858
"case-anything": "^3.1.2",
5959
"css": "^3.0.0",
6060
"fs-extra": "^11.3.3"

packages/react-core/src/components/Hero/Hero.tsx

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -34,8 +34,8 @@ export interface HeroProps extends Omit<React.HTMLProps<HTMLDivElement>, 'conten
3434
stop2?: string;
3535
stop3?: string;
3636
};
37-
/** Flag indicating whether glass styles are removed from the hero when a glass theme is applied. */
38-
hasNoGlass?: boolean;
37+
/** @beta Flag indicating the hero has glass styling when glass theme is applied. */
38+
isGlass?: boolean;
3939
/** Modifies the width of the hero body. */
4040
bodyWidth?: string;
4141
/** Modifies the max-width of the hero body. */
@@ -49,7 +49,7 @@ export const Hero: React.FunctionComponent<HeroProps> = ({
4949
backgroundSrcDark,
5050
gradientLight,
5151
gradientDark,
52-
hasNoGlass = false,
52+
isGlass = false,
5353
bodyWidth,
5454
bodyMaxWidth,
5555
...props
@@ -90,7 +90,7 @@ export const Hero: React.FunctionComponent<HeroProps> = ({
9090

9191
return (
9292
<div
93-
className={css(styles.hero, hasNoGlass && styles.modifiers.noGlass, className)}
93+
className={css(styles.hero, isGlass && styles.modifiers.glass, className)}
9494
style={{ ...props.style, ...customStyles }}
9595
{...props}
9696
>

packages/react-core/src/components/Hero/__tests__/Hero.test.tsx

Lines changed: 19 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,12 +16,30 @@ test('Renders with children', () => {
1616
expect(screen.getByText('Test content')).toBeVisible();
1717
});
1818

19-
test(`Renders with ${styles.hero} class on wrapper by defaulty`, () => {
19+
test(`Renders with ${styles.hero} class on wrapper by default`, () => {
2020
render(<Hero>Test</Hero>);
2121

2222
expect(screen.getByText('Test').parentElement).toHaveClass(`${styles.hero}`, { exact: true });
2323
});
2424

25+
test(`Renders with ${styles.modifiers.glass} class when isGlass is true`, () => {
26+
render(<Hero isGlass>Test</Hero>);
27+
28+
expect(screen.getByText('Test').parentElement).toHaveClass(`${styles.modifiers.glass}`);
29+
});
30+
31+
test(`Renders without ${styles.modifiers.glass} class when isGlass is false`, () => {
32+
render(<Hero isGlass={false}>Test</Hero>);
33+
34+
expect(screen.getByText('Test').parentElement).not.toHaveClass(`${styles.modifiers.glass}`);
35+
});
36+
37+
test(`Renders without ${styles.modifiers.glass} class by default`, () => {
38+
render(<Hero>Test</Hero>);
39+
40+
expect(screen.getByText('Test').parentElement).not.toHaveClass(`${styles.modifiers.glass}`);
41+
});
42+
2543
test('Renders with custom class name on wrapper when className prop is provided', () => {
2644
render(<Hero className="custom-class">Test</Hero>);
2745
expect(screen.getByText('Test').parentElement).toHaveClass('custom-class');

packages/react-core/src/demos/Compass/examples/CompassDemo.tsx

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -149,7 +149,9 @@ export const CompassBasic: React.FunctionComponent = () => {
149149
const mainContent = (
150150
<>
151151
<CompassHero>
152-
<Hero gradientDark={{ stop1: '#000', stop2: '#1b0d33', stop3: '#3d2785' }}>Hero</Hero>
152+
<Hero isGlass gradientDark={{ stop1: '#000', stop2: '#1b0d33', stop3: '#3d2785' }}>
153+
Hero
154+
</Hero>
153155
</CompassHero>
154156
<CompassMainHeader title={<Title headingLevel="h1">Content title</Title>} />
155157
<CompassContent>

packages/react-docs/package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,7 @@
2323
"test:a11y": "patternfly-a11y --config patternfly-a11y.config"
2424
},
2525
"dependencies": {
26-
"@patternfly/patternfly": "6.5.0-prerelease.80",
26+
"@patternfly/patternfly": "6.5.0-prerelease.82",
2727
"@patternfly/react-charts": "workspace:^",
2828
"@patternfly/react-code-editor": "workspace:^",
2929
"@patternfly/react-core": "workspace:^",

packages/react-icons/package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -35,7 +35,7 @@
3535
"@fortawesome/free-brands-svg-icons": "^5.15.4",
3636
"@fortawesome/free-regular-svg-icons": "^5.15.4",
3737
"@fortawesome/free-solid-svg-icons": "^5.15.4",
38-
"@patternfly/patternfly": "6.5.0-prerelease.80",
38+
"@patternfly/patternfly": "6.5.0-prerelease.82",
3939
"@rhds/icons": "^2.2.0",
4040
"fs-extra": "^11.3.3",
4141
"tslib": "^2.8.1"

packages/react-styles/package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@
1919
"clean": "rimraf dist css"
2020
},
2121
"devDependencies": {
22-
"@patternfly/patternfly": "6.5.0-prerelease.80",
22+
"@patternfly/patternfly": "6.5.0-prerelease.82",
2323
"change-case": "^5.4.4",
2424
"fs-extra": "^11.3.3"
2525
},

packages/react-tokens/package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,7 @@
3030
},
3131
"devDependencies": {
3232
"@adobe/css-tools": "^4.4.4",
33-
"@patternfly/patternfly": "6.5.0-prerelease.80",
33+
"@patternfly/patternfly": "6.5.0-prerelease.82",
3434
"fs-extra": "^11.3.3"
3535
}
3636
}

yarn.lock

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -5070,10 +5070,10 @@ __metadata:
50705070
languageName: node
50715071
linkType: hard
50725072

5073-
"@patternfly/patternfly@npm:6.5.0-prerelease.80":
5074-
version: 6.5.0-prerelease.80
5075-
resolution: "@patternfly/patternfly@npm:6.5.0-prerelease.80"
5076-
checksum: 10c0/18b3fa8eead7edd9e235d7d9f99af71dbd3dff2637cddbb9f3f10be2b2ef41918a9ed6484a6f4637d73f4b687921e7c04b21341af5e97df0e3d58bf0b2200cd2
5073+
"@patternfly/patternfly@npm:6.5.0-prerelease.82":
5074+
version: 6.5.0-prerelease.82
5075+
resolution: "@patternfly/patternfly@npm:6.5.0-prerelease.82"
5076+
checksum: 10c0/b7876ba790991c62da57f745699b1cf54c410312fa9eecffb2317fc798c5ce9d71b5e135fc28ec724d5aaf6cff900c3d91a93116bd4b5461e6a0f0fe69391e4f
50775077
languageName: node
50785078
linkType: hard
50795079

@@ -5171,7 +5171,7 @@ __metadata:
51715171
version: 0.0.0-use.local
51725172
resolution: "@patternfly/react-core@workspace:packages/react-core"
51735173
dependencies:
5174-
"@patternfly/patternfly": "npm:6.5.0-prerelease.80"
5174+
"@patternfly/patternfly": "npm:6.5.0-prerelease.82"
51755175
"@patternfly/react-icons": "workspace:^"
51765176
"@patternfly/react-styles": "workspace:^"
51775177
"@patternfly/react-tokens": "workspace:^"
@@ -5192,7 +5192,7 @@ __metadata:
51925192
resolution: "@patternfly/react-docs@workspace:packages/react-docs"
51935193
dependencies:
51945194
"@patternfly/documentation-framework": "npm:^6.36.8"
5195-
"@patternfly/patternfly": "npm:6.5.0-prerelease.80"
5195+
"@patternfly/patternfly": "npm:6.5.0-prerelease.82"
51965196
"@patternfly/patternfly-a11y": "npm:5.1.0"
51975197
"@patternfly/react-charts": "workspace:^"
51985198
"@patternfly/react-code-editor": "workspace:^"
@@ -5232,7 +5232,7 @@ __metadata:
52325232
"@fortawesome/free-brands-svg-icons": "npm:^5.15.4"
52335233
"@fortawesome/free-regular-svg-icons": "npm:^5.15.4"
52345234
"@fortawesome/free-solid-svg-icons": "npm:^5.15.4"
5235-
"@patternfly/patternfly": "npm:6.5.0-prerelease.80"
5235+
"@patternfly/patternfly": "npm:6.5.0-prerelease.82"
52365236
"@rhds/icons": "npm:^2.2.0"
52375237
fs-extra: "npm:^11.3.3"
52385238
tslib: "npm:^2.8.1"
@@ -5319,7 +5319,7 @@ __metadata:
53195319
version: 0.0.0-use.local
53205320
resolution: "@patternfly/react-styles@workspace:packages/react-styles"
53215321
dependencies:
5322-
"@patternfly/patternfly": "npm:6.5.0-prerelease.80"
5322+
"@patternfly/patternfly": "npm:6.5.0-prerelease.82"
53235323
change-case: "npm:^5.4.4"
53245324
fs-extra: "npm:^11.3.3"
53255325
languageName: unknown
@@ -5361,7 +5361,7 @@ __metadata:
53615361
resolution: "@patternfly/react-tokens@workspace:packages/react-tokens"
53625362
dependencies:
53635363
"@adobe/css-tools": "npm:^4.4.4"
5364-
"@patternfly/patternfly": "npm:6.5.0-prerelease.80"
5364+
"@patternfly/patternfly": "npm:6.5.0-prerelease.82"
53655365
fs-extra: "npm:^11.3.3"
53665366
languageName: unknown
53675367
linkType: soft

0 commit comments

Comments
 (0)