Merge branch 'next' into ROU-11977-v2

This commit is contained in:
José Rio
2025-06-18 10:46:35 +01:00
committed by GitHub
10 changed files with 19 additions and 6 deletions

View File

@@ -1460,7 +1460,7 @@ export namespace Components {
*/
"theme"?: "ios" | "md" | "ionic";
/**
* If `true`, the header will be translucent. Only applies when the theme is `"ios"` and the device supports [`backdrop-filter`](https://developer.mozilla.org/en-US/docs/Web/CSS/backdrop-filter#Browser_compatibility). Note: In order to scroll content behind the header, the `fullscreen` attribute needs to be set on the content.
* If `true`, the header will be translucent. Only applies when the theme is `"ios"` or `"ionic"` and the device supports [`backdrop-filter`](https://developer.mozilla.org/en-US/docs/Web/CSS/backdrop-filter#Browser_compatibility). Note: In order to scroll content behind the header, the `fullscreen` attribute needs to be set on the content.
* @default false
*/
"translucent": boolean;
@@ -7369,7 +7369,7 @@ declare namespace LocalJSX {
*/
"theme"?: "ios" | "md" | "ionic";
/**
* If `true`, the header will be translucent. Only applies when the theme is `"ios"` and the device supports [`backdrop-filter`](https://developer.mozilla.org/en-US/docs/Web/CSS/backdrop-filter#Browser_compatibility). Note: In order to scroll content behind the header, the `fullscreen` attribute needs to be set on the content.
* If `true`, the header will be translucent. Only applies when the theme is `"ios"` or `"ionic"` and the device supports [`backdrop-filter`](https://developer.mozilla.org/en-US/docs/Web/CSS/backdrop-filter#Browser_compatibility). Note: In order to scroll content behind the header, the `fullscreen` attribute needs to be set on the content.
* @default false
*/
"translucent"?: boolean;

View File

@@ -21,3 +21,16 @@ ion-toolbar + ion-toolbar {
--padding-start: #{globals.$ion-space-400};
--padding-end: #{globals.$ion-space-400};
}
@supports (backdrop-filter: blur(0)) {
.header-background {
@include globals.position(0, 0, 0, 0);
position: absolute;
backdrop-filter: saturate(180%) blur(globals.$ion-scale-100);
}
.header-translucent-ionic ion-toolbar {
--opacity: 0.7;
}
}

View File

@@ -55,7 +55,7 @@ export class Header implements ComponentInterface {
/**
* If `true`, the header will be translucent.
* Only applies when the theme is `"ios"` and the device supports
* Only applies when the theme is `"ios"` or `"ionic"` and the device supports
* [`backdrop-filter`](https://developer.mozilla.org/en-US/docs/Web/CSS/backdrop-filter#Browser_compatibility).
*
* Note: In order to scroll content behind the header, the `fullscreen`
@@ -240,7 +240,7 @@ export class Header implements ComponentInterface {
}}
{...inheritedAttributes}
>
{theme === 'ios' && translucent && <div class="header-background"></div>}
{theme !== 'md' && translucent && <div class="header-background"></div>}
<slot></slot>
</Host>
);

View File

@@ -2,9 +2,9 @@ import { expect } from '@playwright/test';
import { configs, test } from '@utils/test/playwright';
/**
* Translucent effect is only available in iOS mode.
* Translucent effect is only available in iOS and Ionic mode.
*/
configs({ modes: ['ios'], directions: ['ltr'] }).forEach(({ title, screenshot, config }) => {
configs({ modes: ['ios', 'ionic-md'], directions: ['ltr'] }).forEach(({ title, screenshot, config }) => {
test.describe(title('header: fade'), () => {
test('should not have visual regressions with fade header', async ({ page }) => {
await page.goto('/src/components/header/test/fade', config);

View File

Binary file not shown.

After

Width:  |  Height:  |  Size: 10 KiB

View File

Binary file not shown.

After

Width:  |  Height:  |  Size: 15 KiB

View File

Binary file not shown.

After

Width:  |  Height:  |  Size: 11 KiB

View File

Binary file not shown.

After

Width:  |  Height:  |  Size: 8.4 KiB

View File

Binary file not shown.

After

Width:  |  Height:  |  Size: 14 KiB

View File

Binary file not shown.

After

Width:  |  Height:  |  Size: 10 KiB