From 37381e94aa972c99a97a2ea670105ca13c63e0b7 Mon Sep 17 00:00:00 2001 From: rdlabo Date: Tue, 22 Sep 2026 10:00:21 +0900 Subject: [PATCH 01/50] feat(demo): add foldable mode toggle --- demo/src/app/index/index-page.component.html | 3 +++ demo/src/app/index/index-page.component.ts | 8 ++++++++ 2 files changed, 11 insertions(+) diff --git a/demo/src/app/index/index-page.component.html b/demo/src/app/index/index-page.component.html index f508efea..6e5045b4 100644 --- a/demo/src/app/index/index-page.component.html +++ b/demo/src/app/index/index-page.component.html @@ -21,6 +21,9 @@ Settings + + Foldable Mode + Dark Mode diff --git a/demo/src/app/index/index-page.component.ts b/demo/src/app/index/index-page.component.ts index e1a2138e..a22a5f3b 100644 --- a/demo/src/app/index/index-page.component.ts +++ b/demo/src/app/index/index-page.component.ts @@ -84,6 +84,10 @@ export class IndexPageComponent { readonly #route = inject(ActivatedRoute); readonly #document = inject(DOCUMENT); + get foldableModeEnabled() { + return this.#document.querySelector('ion-app')?.classList.contains('ios-theme-enable-foldable') ?? false; + } + async navigateNativeUiShell() { await this.#router.navigate(['native-ui-shell'], { relativeTo: this.#route }); } @@ -95,4 +99,8 @@ export class IndexPageComponent { changeColorMode(event: ToggleCustomEvent) { this.#document.documentElement.classList.toggle('ion-palette-dark', event.detail.checked); } + + changeFoldableMode(event: ToggleCustomEvent) { + this.#document.querySelector('ion-app')?.classList.toggle('ios-theme-enable-foldable', event.detail.checked); + } } From aa568f74e2006d0c5ea31e061b11227963db1687 Mon Sep 17 00:00:00 2001 From: rdlabo Date: Mon, 21 Sep 2026 18:12:41 +0900 Subject: [PATCH 02/50] feat(layout): add physical side safe areas --- demo/e2e/physical-side-safe-area.spec.ts | 143 ++++++++++++++++++++ demo/src/app/docs/docs-content.generated.ts | 2 +- docs/special-markup.md | 16 +++ src/styles/components/ion-content.scss | 20 +++ src/styles/components/ion-fab.scss | 15 ++ src/styles/components/ion-menu.scss | 19 +++ src/styles/components/ion-toolbar.scss | 20 +++ 7 files changed, 234 insertions(+), 1 deletion(-) create mode 100644 demo/e2e/physical-side-safe-area.spec.ts diff --git a/demo/e2e/physical-side-safe-area.spec.ts b/demo/e2e/physical-side-safe-area.spec.ts new file mode 100644 index 00000000..8aeb1bbc --- /dev/null +++ b/demo/e2e/physical-side-safe-area.spec.ts @@ -0,0 +1,143 @@ +import { expect, test } from '@playwright/test'; + +type Direction = 'ltr' | 'rtl'; + +const addFixture = async (page: import('@playwright/test').Page, direction: Direction) => { + await page.evaluate((direction) => { + document.body.style.setProperty('--ion-theme-safe-area-left', '76px'); + document.body.style.setProperty('--ion-theme-safe-area-right', '84px'); + document.body.style.setProperty('--ion-safe-area-left', '76px'); + document.body.style.setProperty('--ion-safe-area-right', '84px'); + document.body.classList.add('ionic-theme-enable-safe-area'); + + const main = document.createElement('main'); + main.id = 'safe-area-main'; + const content = document.createElement('ion-content'); + content.id = 'safe-area-content'; + content.mode = 'ios'; + content.dir = direction; + content.innerHTML = 'Content'; + const toolbar = document.createElement('ion-toolbar'); + toolbar.id = 'safe-area-toolbar'; + toolbar.mode = 'ios'; + toolbar.dir = direction; + toolbar.innerHTML = 'Title'; + + const logicalLeft = direction === 'ltr' ? 'start' : 'end'; + for (const physicalSide of ['left', 'right'] as const) { + const logicalSide = physicalSide === 'left' ? logicalLeft : logicalLeft === 'start' ? 'end' : 'start'; + const menu = document.createElement('ion-menu'); + menu.id = `safe-area-menu-${physicalSide}`; + menu.mode = 'ios'; + menu.side = logicalSide; + menu.dir = direction; + menu.contentId = main.id; + menu.innerHTML = `${physicalSide} menu`; + const fab = document.createElement('ion-fab'); + fab.id = `safe-area-fab-${physicalSide}`; + fab.mode = 'ios'; + fab.dir = direction; + fab.horizontal = logicalSide; + fab.vertical = 'center'; + fab.innerHTML = '+'; + main.append(fab); + document.body.append(menu); + } + + const modal = document.createElement('ion-modal'); + modal.id = 'safe-area-modal'; + modal.mode = 'ios'; + modal.innerHTML = 'Modal'; + main.prepend(toolbar, content); + document.body.append(modal, main); + }, direction); +}; + +for (const direction of ['ltr', 'rtl'] as const) { + test(`keeps bilateral physical safe-area geometry in ${direction.toUpperCase()}`, async ({ page }) => { + await page.setViewportSize({ width: 700, height: 900 }); + await page.goto('/main/index'); + await addFixture(page, direction); + + const foreground = await page.locator('#safe-area-content').evaluate((content) => { + const scroll = content.shadowRoot!.querySelector('[part="scroll"]')!; + const toolbar = content.parentElement!.querySelector('#safe-area-toolbar')!; + const container = toolbar.shadowRoot!.querySelector('[part="container"]')!; + return { + contentWidth: content.getBoundingClientRect().width, + contentSafeLeft: getComputedStyle(content).getPropertyValue('--ion-safe-area-left'), + contentSafeRight: getComputedStyle(content).getPropertyValue('--ion-safe-area-right'), + scrollPaddingLeft: getComputedStyle(scroll).paddingLeft, + scrollPaddingRight: getComputedStyle(scroll).paddingRight, + toolbarSafeLeft: getComputedStyle(toolbar).getPropertyValue('--ion-safe-area-left'), + toolbarSafeRight: getComputedStyle(toolbar).getPropertyValue('--ion-safe-area-right'), + toolbarPaddingLeft: getComputedStyle(container).paddingLeft, + toolbarPaddingRight: getComputedStyle(container).paddingRight, + }; + }); + expect(foreground).toEqual({ + contentWidth: 700, + contentSafeLeft: '0px', + contentSafeRight: '0px', + scrollPaddingLeft: '76px', + scrollPaddingRight: '84px', + toolbarSafeLeft: '0px', + toolbarSafeRight: '0px', + toolbarPaddingLeft: '80px', + toolbarPaddingRight: '88px', + }); + + if (direction === 'ltr') { + const modal = page.locator('#safe-area-modal'); + await modal.evaluate((element: HTMLIonModalElement) => element.present()); + expect( + await page + .locator('#safe-area-modal-content') + .evaluate((element) => getComputedStyle(element).getPropertyValue('--ion-safe-area-right')), + ).toBe('12px'); + await modal.evaluate((element: HTMLIonModalElement) => element.dismiss()); + } + + const leftFabBox = (await page.locator('#safe-area-fab-left').boundingBox())!; + const rightFabBox = (await page.locator('#safe-area-fab-right').boundingBox())!; + const logicalInsets = await page.locator('#safe-area-fab-left').evaluate((fab) => ({ + start: getComputedStyle(fab).getPropertyValue('--ios-theme-safe-area-inline-start'), + end: getComputedStyle(fab).getPropertyValue('--ios-theme-safe-area-inline-end'), + })); + expect(logicalInsets).toEqual(direction === 'ltr' ? { start: '76px', end: '84px' } : { start: '84px', end: '76px' }); + if (direction === 'ltr') { + expect(rightFabBox.x + rightFabBox.width).toBeCloseTo(600, 0); + } else { + expect(leftFabBox.x).toBeCloseTo(92, 0); + } + + const leftMenu = page.locator('#safe-area-menu-left'); + await leftMenu.evaluate((element: HTMLIonMenuElement) => element.open(false)); + const leftMenuGeometry = await page.locator('#safe-area-menu-content-left').evaluate((content) => { + const menu = content.closest('ion-menu')!; + return { + safeLeft: getComputedStyle(content).getPropertyValue('--ion-safe-area-left'), + containerLeft: menu.shadowRoot!.querySelector('[part="container"]')!.getBoundingClientRect().left, + foregroundLeft: content.shadowRoot!.querySelector('[part="scroll"]')!.getBoundingClientRect().left, + }; + }); + expect(leftMenuGeometry.safeLeft).toBe('0px'); + expect(leftMenuGeometry.containerLeft).toBeCloseTo(76, 0); + expect(leftMenuGeometry.foregroundLeft).toBeCloseTo(76 + (direction === 'ltr' ? 12 : 16), 0); + await leftMenu.evaluate((element: HTMLIonMenuElement) => element.close(false)); + + const rightMenu = page.locator('#safe-area-menu-right'); + await rightMenu.evaluate((element: HTMLIonMenuElement) => element.open(false)); + const rightMenuGeometry = await page.locator('#safe-area-menu-content-right').evaluate((content) => { + const menu = content.closest('ion-menu')!; + return { + safeRight: getComputedStyle(content).getPropertyValue('--ion-safe-area-right'), + containerRight: menu.shadowRoot!.querySelector('[part="container"]')!.getBoundingClientRect().right, + foregroundRight: content.shadowRoot!.querySelector('[part="scroll"]')!.getBoundingClientRect().right, + }; + }); + expect(rightMenuGeometry.safeRight).toBe('0px'); + expect(rightMenuGeometry.containerRight).toBeCloseTo(700 - 84, 0); + expect(rightMenuGeometry.foregroundRight).toBeCloseTo(700 - 84 - (direction === 'ltr' ? 16 : 12), 0); + }); +} diff --git a/demo/src/app/docs/docs-content.generated.ts b/demo/src/app/docs/docs-content.generated.ts index cd46b6ec..d423ed85 100644 --- a/demo/src/app/docs/docs-content.generated.ts +++ b/demo/src/app/docs/docs-content.generated.ts @@ -1,3 +1,3 @@ // Generated from docs/special-markup.md. Do not edit directly. export const docsContentHtml = - '

Special markup and classes

\n

Most Ionic markup works without changes. The combinations below are explicit opt-ins provided by the theme.

\n

Primary submit buttons

\n

Solid submit buttons use the Ionic color's contrast value for their foreground. Their directional edge treatment follows the iOS 27 prominent-button appearance and does not require an additional brightness color.

\n
<ion-button type="submit" color="primary">Submit</ion-button>\n<ion-button class="button-submit" fill="solid" color="primary">Continue</ion-button>
\n\n
\n
Preview
\nSubmit\nContinue\n
\n\n

Use .button-submit when the button needs the same treatment but cannot use type="submit".

\n

Preferred overlay actions

\n

For iOS alerts and action sheets, set role: 'preferred' on a button to give it a filled --ion-color-primary background and --ion-color-primary-contrast text and icons. While pressed, the background uses --ion-color-primary-shade. This is a theme convention using Ionic's custom button roles; it does not automatically select or invoke the action. Dismissal reports the role as preferred.

\n
buttons: [\n  { text: \'Cancel\', role: \'cancel\' },\n  { text: \'Continue\', role: \'preferred\' },\n];
\n\n

Buttons with no role or default keep the normal text color. cancel retains Ionic's cancellation behavior, selected remains a selection state, and destructive uses --ios-theme-destructive-color. An existing confirm role is not treated as preferred. Use preferred for the recommended action, not simply any action that confirms a choice.

\n

Floating iPad sheets

\n

Set expandToScroll: false on a sheet modal to use floating lower corners and a 20px bottom gap on iPad. Ionic then sizes the visible page at each breakpoint, so the theme can style it with CSS alone. Content scrolls within the current breakpoint; dragging the handle still resizes the sheet. With the default expandToScroll: true, the sheet keeps Ionic's bottom-attached layout and scroll-to-expand behavior.

\n

Tab bar position

\n

Add one of tab-bar-position-start, tab-bar-position-center, or tab-bar-position-end to an iOS ion-tab-bar to position the whole bar within its safe area. These classes work with both slot="top" and slot="bottom" and preserve the bar's width and press animation. Start and end follow the text direction (reversed in RTL). Without a class, the existing placement is unchanged.

\n
<ion-tab-bar slot="bottom" class="tab-bar-position-center">\n  <ion-tab-button tab="home">Home</ion-tab-button>\n  <ion-tab-button tab="settings">Settings</ion-tab-button>\n</ion-tab-bar>
\n\n

These classes do not reposition a separate ion-fab; leave room for it when choosing the bar's position.

\n

Two-line inset list items

\n

Place an unslotted ion-label immediately alongside an unslotted ion-note to render a two-line item. When using the iOS-style inset-list background, wrap the items in ion-item-group; keep ion-list-header outside the group.

\n
<ion-list inset="true">\n  <ion-list-header>\n    <ion-label>Connections</ion-label>\n  </ion-list-header>\n  <ion-item-group>\n    <ion-item>\n      <ion-label>Network &amp; internet</ion-label>\n      <ion-note>Mobile, Wi-Fi, hotspot</ion-note>\n    </ion-item>\n  </ion-item-group>\n</ion-list>
\n\n
\n
Preview
\n\n \n Connections\n \n \n \n Network & internet\n Mobile, Wi-Fi, hotspot\n \n \n\n
\n\n

Use slot="end" on ion-note when you want the standard trailing-note layout instead.

\n

Inset-list section headers

\n

Add .item-group-header to an ion-item-group to create the centered icon, title, and description used at the top of the component demo pages.

\n

This is an introductory group. Place regular list items in a separate ion-item-group that follows it.

\n
<ion-list inset="true">\n  <ion-item-group class="item-group-header">\n    <ion-item>\n      <ion-label>\n        <ion-icon name="list" style="background: var(--ion-color-primary)"></ion-icon>\n        <h2>Lists</h2>\n        <ion-text>Inset-list examples</ion-text>\n      </ion-label>\n    </ion-item>\n  </ion-item-group>\n  <ion-item-group>\n    <ion-item><ion-label>First item</ion-label></ion-item>\n  </ion-item-group>\n</ion-list>
\n\n
\n
Preview
\n\n \n \n \n \n

Lists

\n Inset-list examples\n
\n
\n
\n \n First item\n \n
\n
\n\n

Full-width segments

\n

Add .segment-style-glass to give a segment the same glass surface and selected indicator treatment as the tab bar. The class preserves the segment's existing dimensions and text colors, supports scrollable segments, and respects Ionic's public --background property.

\n
<ion-segment class="segment-style-glass" value="available">\n  <ion-segment-button value="available">Available</ion-segment-button>\n  <ion-segment-button value="away">Away</ion-segment-button>\n</ion-segment>
\n\n

For colored segments, use Ionic's color property (for example, color="primary" or color="secondary"). Ionic uses the palette's base color for the softly tinted track while keeping the selected surface and labels neutral. A surrounding colored toolbar only supplies colors when the segment has no color of its own. The optional moving glass inherits the selected surface color, and custom Ionic palettes work without additional registration.

\n

Add .segment-expand when segment buttons should divide the available width evenly. The class also changes the Liquid Glass effect sizing when registerSegmentEffect is used.

\n

Segments use a 32px minimum height in content and a 48px minimum height inside ion-toolbar. .segment-expand keeps the compact 32px layout in a toolbar. Compact segments retain Ionic's flat background and indicator colors; only the regular toolbar variant has a glass container and scales its outer container while pressed. Content and expanded segments keep their outer bounds. The optional moving glass lens is independent of the container's background.

\n
<ion-segment class="segment-expand" value="new">\n  <ion-segment-button value="new"><ion-label>New</ion-label></ion-segment-button>\n  <ion-segment-button value="replied"><ion-label>Replied</ion-label></ion-segment-button>\n</ion-segment>
\n\n
\n
Preview
\n\n New\n Replied\n\n
\n\n

Classic search bar in a condense header

\n

The theme gives iOS search bars the iOS 27 appearance by default. Add .searchbar-classic to the search field shown beneath a large title in an ion-header with collapse="condense". It uses the conventional filled iOS appearance and collapses with the large title instead of remaining in the fixed header.

\n

Place it in a toolbar with a color, such as color="light"; the classic background is derived from that color's contrast value.

\n

The example uses Ionic's standard collapsible large-title structure. Scroll the preview to collapse the large title and reveal the fixed header.

\n
<div class="ion-page">\n  <ion-header translucent="true">\n    <ion-toolbar color="light">\n      <ion-title>Search</ion-title>\n    </ion-toolbar>\n  </ion-header>\n  <ion-content color="light" fullscreen="true">\n    <ion-header collapse="condense">\n      <ion-toolbar color="light">\n        <ion-title size="large">Search</ion-title>\n      </ion-toolbar>\n      <ion-toolbar color="light">\n        <ion-searchbar class="searchbar-classic" placeholder="Filter results"></ion-searchbar>\n      </ion-toolbar>\n    </ion-header>\n    <ion-list inset="true">\n      <ion-item-group>\n        <ion-item><ion-label>Recent item 1</ion-label></ion-item>\n        <ion-item><ion-label>Recent item 2</ion-label></ion-item>\n        <ion-item><ion-label>Recent item 3</ion-label></ion-item>\n        <ion-item><ion-label>Recent item 4</ion-label></ion-item>\n        <ion-item><ion-label>Recent item 5</ion-label></ion-item>\n        <ion-item><ion-label>Recent item 6</ion-label></ion-item>\n        <ion-item><ion-label>Recent item 7</ion-label></ion-item>\n        <ion-item><ion-label>Recent item 8</ion-label></ion-item>\n        <ion-item><ion-label>Recent item 9</ion-label></ion-item>\n        <ion-item><ion-label>Recent item 10</ion-label></ion-item>\n      </ion-item-group>\n    </ion-list>\n  </ion-content>\n</div>
\n\n
\n
Preview
\n
\n \n \n Search\n \n \n \n \n \n Search\n \n \n \n \n \n \n \n Recent item 1\n Recent item 2\n Recent item 3\n Recent item 4\n Recent item 5\n Recent item 6\n Recent item 7\n Recent item 8\n Recent item 9\n Recent item 10\n \n \n \n
\n
\n\n

The .ion-page wrapper makes this embedded preview behave like a complete routed page. An application using ion-router-outlet normally receives that page container automatically. The inset list and its items only provide enough content to demonstrate scrolling; they are not required by .searchbar-classic.

\n

Search-bar toolbars

\n

Add .toolbar-searchbar when an ion-toolbar combines a search bar with start or end buttons. The class centers the slotted controls and adjusts the spacing around the search field.

\n
<ion-toolbar class="toolbar-searchbar">\n  <ion-buttons slot="start">\n    <ion-button>Cancel</ion-button>\n  </ion-buttons>\n  <ion-searchbar></ion-searchbar>\n</ion-toolbar>
\n\n
\n
Preview
\n\n \n Cancel\n \n \n\n
\n\n

Opting out

\n

Add .ios-theme-disabled to an individual Ionic component when it must retain Ionic's standard iOS styling.

\n

.ios26-disabled is deprecated but remains supported as an alias with the same behavior. Use .ios-theme-disabled for new code.

\n
<ion-button>iOS 27 theme</ion-button> <ion-button class="ios-theme-disabled">Standard Ionic button</ion-button>
\n\n
\n
Preview
\niOS 27 theme Standard Ionic button\n
\n\n

For the background model behind inset lists, see Using ion-item-group.

\n'; + '

Special markup and classes

\n

Most Ionic markup works without changes. The combinations below are explicit opt-ins provided by the theme.

\n

Primary submit buttons

\n

Solid submit buttons use the Ionic color's contrast value for their foreground. Their directional edge treatment follows the iOS 27 prominent-button appearance and does not require an additional brightness color.

\n
<ion-button type="submit" color="primary">Submit</ion-button>\n<ion-button class="button-submit" fill="solid" color="primary">Continue</ion-button>
\n\n
\n
Preview
\nSubmit\nContinue\n
\n\n

Use .button-submit when the button needs the same treatment but cannot use type="submit".

\n

Preferred overlay actions

\n

For iOS alerts and action sheets, set role: 'preferred' on a button to give it a filled --ion-color-primary background and --ion-color-primary-contrast text and icons. While pressed, the background uses --ion-color-primary-shade. This is a theme convention using Ionic's custom button roles; it does not automatically select or invoke the action. Dismissal reports the role as preferred.

\n
buttons: [\n  { text: \'Cancel\', role: \'cancel\' },\n  { text: \'Continue\', role: \'preferred\' },\n];
\n\n

Buttons with no role or default keep the normal text color. cancel retains Ionic's cancellation behavior, selected remains a selection state, and destructive uses --ios-theme-destructive-color. An existing confirm role is not treated as preferred. Use preferred for the recommended action, not simply any action that confirms a choice.

\n

Floating iPad sheets

\n

Set expandToScroll: false on a sheet modal to use floating lower corners and a 20px bottom gap on iPad. Ionic then sizes the visible page at each breakpoint, so the theme can style it with CSS alone. Content scrolls within the current breakpoint; dragging the handle still resizes the sheet. With the default expandToScroll: true, the sheet keeps Ionic's bottom-attached layout and scroll-to-expand behavior.

\n

Tab bar position

\n

Add one of tab-bar-position-start, tab-bar-position-center, or tab-bar-position-end to an iOS ion-tab-bar to position the whole bar within its safe area. These classes work with both slot="top" and slot="bottom" and preserve the bar's width and press animation. Start and end follow the text direction (reversed in RTL). Without a class, the existing placement is unchanged.

\n
<ion-tab-bar slot="bottom" class="tab-bar-position-center">\n  <ion-tab-button tab="home">Home</ion-tab-button>\n  <ion-tab-button tab="settings">Settings</ion-tab-button>\n</ion-tab-bar>
\n\n

These classes do not reposition a separate ion-fab; leave room for it when choosing the bar's position.

\n

Physical side safe areas

\n

When a device reserves a physical side region outside the application's foreground, add .ionic-theme-enable-safe-area to the active ion-app and supply the corresponding theme variable. Use body only when the application has no ion-app root:

\n
<ion-app class="ionic-theme-enable-safe-area" style="--ion-theme-safe-area-right: 84px">...</ion-app>
\n\n

The class enables the alternate safe-area interpretation for both physical sides. --ion-theme-safe-area-left and --ion-theme-safe-area-right independently determine the reserved width on each side, so changing sides does not require changing the class.

\n

This keeps routers and component backgrounds full-viewport. ion-content moves its scroll foreground, ion-toolbar moves its container foreground, and ion-fab adjusts only when it is placed on the reserved physical side. The corresponding Ionic safe-area variable is reset inside those foreground components so descendants do not add the inset again.

\n

ion-menu, ion-modal, and ion-popover are handled as separate surfaces: their internal foreground components do not receive the main-page conversion and retain Ionic's standard safe-area handling. A menu presented from the reserved physical side is positioned before that region; a menu from the opposite side is unchanged. The physical side remains the same in RTL, while Ionic's side="start" and side="end" values remain logical.

\n

When a theme variable is unset, each consumer falls back to the platform safe-area environment value. The variable can instead be populated with concrete native metrics.

\n

Two-line inset list items

\n

Place an unslotted ion-label immediately alongside an unslotted ion-note to render a two-line item. When using the iOS-style inset-list background, wrap the items in ion-item-group; keep ion-list-header outside the group.

\n
<ion-list inset="true">\n  <ion-list-header>\n    <ion-label>Connections</ion-label>\n  </ion-list-header>\n  <ion-item-group>\n    <ion-item>\n      <ion-label>Network &amp; internet</ion-label>\n      <ion-note>Mobile, Wi-Fi, hotspot</ion-note>\n    </ion-item>\n  </ion-item-group>\n</ion-list>
\n\n
\n
Preview
\n\n \n Connections\n \n \n \n Network & internet\n Mobile, Wi-Fi, hotspot\n \n \n\n
\n\n

Use slot="end" on ion-note when you want the standard trailing-note layout instead.

\n

Inset-list section headers

\n

Add .item-group-header to an ion-item-group to create the centered icon, title, and description used at the top of the component demo pages.

\n

This is an introductory group. Place regular list items in a separate ion-item-group that follows it.

\n
<ion-list inset="true">\n  <ion-item-group class="item-group-header">\n    <ion-item>\n      <ion-label>\n        <ion-icon name="list" style="background: var(--ion-color-primary)"></ion-icon>\n        <h2>Lists</h2>\n        <ion-text>Inset-list examples</ion-text>\n      </ion-label>\n    </ion-item>\n  </ion-item-group>\n  <ion-item-group>\n    <ion-item><ion-label>First item</ion-label></ion-item>\n  </ion-item-group>\n</ion-list>
\n\n
\n
Preview
\n\n \n \n \n \n

Lists

\n Inset-list examples\n
\n
\n
\n \n First item\n \n
\n
\n\n

Full-width segments

\n

Add .segment-style-glass to give a segment the same glass surface and selected indicator treatment as the tab bar. The class preserves the segment's existing dimensions and text colors, supports scrollable segments, and respects Ionic's public --background property.

\n
<ion-segment class="segment-style-glass" value="available">\n  <ion-segment-button value="available">Available</ion-segment-button>\n  <ion-segment-button value="away">Away</ion-segment-button>\n</ion-segment>
\n\n

For colored segments, use Ionic's color property (for example, color="primary" or color="secondary"). Ionic uses the palette's base color for the softly tinted track while keeping the selected surface and labels neutral. A surrounding colored toolbar only supplies colors when the segment has no color of its own. The optional moving glass inherits the selected surface color, and custom Ionic palettes work without additional registration.

\n

Add .segment-expand when segment buttons should divide the available width evenly. The class also changes the Liquid Glass effect sizing when registerSegmentEffect is used.

\n

Segments use a 32px minimum height in content and a 48px minimum height inside ion-toolbar. .segment-expand keeps the compact 32px layout in a toolbar. Compact segments retain Ionic's flat background and indicator colors; only the regular toolbar variant has a glass container and scales its outer container while pressed. Content and expanded segments keep their outer bounds. The optional moving glass lens is independent of the container's background.

\n
<ion-segment class="segment-expand" value="new">\n  <ion-segment-button value="new"><ion-label>New</ion-label></ion-segment-button>\n  <ion-segment-button value="replied"><ion-label>Replied</ion-label></ion-segment-button>\n</ion-segment>
\n\n
\n
Preview
\n\n New\n Replied\n\n
\n\n

Classic search bar in a condense header

\n

The theme gives iOS search bars the iOS 27 appearance by default. Add .searchbar-classic to the search field shown beneath a large title in an ion-header with collapse="condense". It uses the conventional filled iOS appearance and collapses with the large title instead of remaining in the fixed header.

\n

Place it in a toolbar with a color, such as color="light"; the classic background is derived from that color's contrast value.

\n

The example uses Ionic's standard collapsible large-title structure. Scroll the preview to collapse the large title and reveal the fixed header.

\n
<div class="ion-page">\n  <ion-header translucent="true">\n    <ion-toolbar color="light">\n      <ion-title>Search</ion-title>\n    </ion-toolbar>\n  </ion-header>\n  <ion-content color="light" fullscreen="true">\n    <ion-header collapse="condense">\n      <ion-toolbar color="light">\n        <ion-title size="large">Search</ion-title>\n      </ion-toolbar>\n      <ion-toolbar color="light">\n        <ion-searchbar class="searchbar-classic" placeholder="Filter results"></ion-searchbar>\n      </ion-toolbar>\n    </ion-header>\n    <ion-list inset="true">\n      <ion-item-group>\n        <ion-item><ion-label>Recent item 1</ion-label></ion-item>\n        <ion-item><ion-label>Recent item 2</ion-label></ion-item>\n        <ion-item><ion-label>Recent item 3</ion-label></ion-item>\n        <ion-item><ion-label>Recent item 4</ion-label></ion-item>\n        <ion-item><ion-label>Recent item 5</ion-label></ion-item>\n        <ion-item><ion-label>Recent item 6</ion-label></ion-item>\n        <ion-item><ion-label>Recent item 7</ion-label></ion-item>\n        <ion-item><ion-label>Recent item 8</ion-label></ion-item>\n        <ion-item><ion-label>Recent item 9</ion-label></ion-item>\n        <ion-item><ion-label>Recent item 10</ion-label></ion-item>\n      </ion-item-group>\n    </ion-list>\n  </ion-content>\n</div>
\n\n
\n
Preview
\n
\n \n \n Search\n \n \n \n \n \n Search\n \n \n \n \n \n \n \n Recent item 1\n Recent item 2\n Recent item 3\n Recent item 4\n Recent item 5\n Recent item 6\n Recent item 7\n Recent item 8\n Recent item 9\n Recent item 10\n \n \n \n
\n
\n\n

The .ion-page wrapper makes this embedded preview behave like a complete routed page. An application using ion-router-outlet normally receives that page container automatically. The inset list and its items only provide enough content to demonstrate scrolling; they are not required by .searchbar-classic.

\n

Search-bar toolbars

\n

Add .toolbar-searchbar when an ion-toolbar combines a search bar with start or end buttons. The class centers the slotted controls and adjusts the spacing around the search field.

\n
<ion-toolbar class="toolbar-searchbar">\n  <ion-buttons slot="start">\n    <ion-button>Cancel</ion-button>\n  </ion-buttons>\n  <ion-searchbar></ion-searchbar>\n</ion-toolbar>
\n\n
\n
Preview
\n\n \n Cancel\n \n \n\n
\n\n

Opting out

\n

Add .ios-theme-disabled to an individual Ionic component when it must retain Ionic's standard iOS styling.

\n

.ios26-disabled is deprecated but remains supported as an alias with the same behavior. Use .ios-theme-disabled for new code.

\n
<ion-button>iOS 27 theme</ion-button> <ion-button class="ios-theme-disabled">Standard Ionic button</ion-button>
\n\n
\n
Preview
\niOS 27 theme Standard Ionic button\n
\n\n

For the background model behind inset lists, see Using ion-item-group.

\n'; diff --git a/docs/special-markup.md b/docs/special-markup.md index ded0e2f5..2424ecbc 100644 --- a/docs/special-markup.md +++ b/docs/special-markup.md @@ -47,6 +47,22 @@ Add one of `tab-bar-position-start`, `tab-bar-position-center`, or `tab-bar-posi These classes do not reposition a separate `ion-fab`; leave room for it when choosing the bar's position. +## Physical side safe areas + +When a device reserves a physical side region outside the application's foreground, add `.ionic-theme-enable-safe-area` to the active `ion-app` and supply the corresponding theme variable. Use `body` only when the application has no `ion-app` root: + +```html +... +``` + +The class enables the alternate safe-area interpretation for both physical sides. `--ion-theme-safe-area-left` and `--ion-theme-safe-area-right` independently determine the reserved width on each side, so changing sides does not require changing the class. + +This keeps routers and component backgrounds full-viewport. `ion-content` moves its scroll foreground, `ion-toolbar` moves its container foreground, and `ion-fab` adjusts only when it is placed on the reserved physical side. The corresponding Ionic safe-area variable is reset inside those foreground components so descendants do not add the inset again. + +`ion-menu`, `ion-modal`, and `ion-popover` are handled as separate surfaces: their internal foreground components do not receive the main-page conversion and retain Ionic's standard safe-area handling. A menu presented from the reserved physical side is positioned before that region; a menu from the opposite side is unchanged. The physical side remains the same in RTL, while Ionic's `side="start"` and `side="end"` values remain logical. + +When a theme variable is unset, each consumer falls back to the platform safe-area environment value. The variable can instead be populated with concrete native metrics. + ## Two-line inset list items Place an unslotted `ion-label` immediately alongside an unslotted `ion-note` to render a two-line item. When using the iOS-style inset-list background, wrap the items in `ion-item-group`; keep `ion-list-header` outside the group. diff --git a/src/styles/components/ion-content.scss b/src/styles/components/ion-content.scss index 39a0e7c7..d30070c5 100644 --- a/src/styles/components/ion-content.scss +++ b/src/styles/components/ion-content.scss @@ -22,3 +22,23 @@ ion-content.ios:not(.ios-theme-disabled, .ios26-disabled).content-fullscreen:not(:has(.ion-content-scroll-host)) { --padding-bottom: calc(60px + var(--ios-theme-floating-safe-area-bottom, var(--ios26-floating-safe-area-bottom))); } + +// A physical side rail changes foreground geometry, not the page background. +// Reset Ionic's matching inset so descendants do not apply it a second time. +:is(ion-app, body).ionic-theme-enable-safe-area + ion-content.ios:not(.ios-theme-disabled, .ios26-disabled):not(:where(ion-menu *, ion-modal *, ion-popover *)) { + --ion-safe-area-left: 0px; + --ion-safe-area-right: 0px; + --ios-theme-safe-area-inline-start: var(--ion-theme-safe-area-left, var(--safe-area-inset-left, env(safe-area-inset-left, 0px))); + --ios-theme-safe-area-inline-end: var(--ion-theme-safe-area-right, var(--safe-area-inset-right, env(safe-area-inset-right, 0px))); + + &::part(scroll) { + padding-inline-start: calc(var(--padding-start, 0px) + var(--ios-theme-safe-area-inline-start)); + padding-inline-end: calc(var(--padding-end, 0px) + var(--ios-theme-safe-area-inline-end)); + } + + &:dir(rtl) { + --ios-theme-safe-area-inline-start: var(--ion-theme-safe-area-right, var(--safe-area-inset-right, env(safe-area-inset-right, 0px))); + --ios-theme-safe-area-inline-end: var(--ion-theme-safe-area-left, var(--safe-area-inset-left, env(safe-area-inset-left, 0px))); + } +} diff --git a/src/styles/components/ion-fab.scss b/src/styles/components/ion-fab.scss index 631318a9..2ef94990 100644 --- a/src/styles/components/ion-fab.scss +++ b/src/styles/components/ion-fab.scss @@ -109,6 +109,21 @@ ion-fab.ios:not(.ios-theme-disabled, .ios26-disabled) { } } +// FAB alignment is independent from tab placement. Map the reserved physical +// side to the matching logical FAB edge for the current writing direction. +:is(ion-app, body).ionic-theme-enable-safe-area + ion-fab.ios:not(.ios-theme-disabled, .ios26-disabled):not(:where(ion-menu *, ion-modal *, ion-popover *)) { + --ion-safe-area-left: 0px; + --ion-safe-area-right: 0px; + --ios-theme-safe-area-inline-start: var(--ion-theme-safe-area-left, var(--safe-area-inset-left, env(safe-area-inset-left, 0px))); + --ios-theme-safe-area-inline-end: var(--ion-theme-safe-area-right, var(--safe-area-inset-right, env(safe-area-inset-right, 0px))); + + &:dir(rtl) { + --ios-theme-safe-area-inline-start: var(--ion-theme-safe-area-right, var(--safe-area-inset-right, env(safe-area-inset-right, 0px))); + --ios-theme-safe-area-inline-end: var(--ion-theme-safe-area-left, var(--safe-area-inset-left, env(safe-area-inset-left, 0px))); + } +} + // A content fixed slot already starts below its page header, including safe area. // Keep the floating gap without adding the screen's top inset a second time. .ion-page:has(> ion-header:not([hidden], .ion-hide)) diff --git a/src/styles/components/ion-menu.scss b/src/styles/components/ion-menu.scss index 3d437eb9..39c8d789 100644 --- a/src/styles/components/ion-menu.scss +++ b/src/styles/components/ion-menu.scss @@ -132,3 +132,22 @@ ion-menu.ios:not(.ios-theme-disabled, .ios26-disabled) { } } } + +// A menu on the reserved physical side must end before the system rail. Its +// own ion-content remains unchanged. The host consumes the matching Ionic +// safe-area variable because its complete surface has already moved inward. +:is(ion-app, body).ionic-theme-enable-safe-area { + ion-menu.ios.menu-side-end:not(:dir(rtl)):not(.ios-theme-disabled, .ios26-disabled), + ion-menu.ios.menu-side-start:dir(rtl):not(.ios-theme-disabled, .ios26-disabled) { + --ion-safe-area-right: 0px; + right: var(--ion-theme-safe-area-right, var(--safe-area-inset-right, env(safe-area-inset-right, 0px))); + left: auto; + } + + ion-menu.ios.menu-side-start:not(:dir(rtl)):not(.ios-theme-disabled, .ios26-disabled), + ion-menu.ios.menu-side-end:dir(rtl):not(.ios-theme-disabled, .ios26-disabled) { + --ion-safe-area-left: 0px; + left: var(--ion-theme-safe-area-left, var(--safe-area-inset-left, env(safe-area-inset-left, 0px))); + right: auto; + } +} diff --git a/src/styles/components/ion-toolbar.scss b/src/styles/components/ion-toolbar.scss index 96576690..6284209a 100644 --- a/src/styles/components/ion-toolbar.scss +++ b/src/styles/components/ion-toolbar.scss @@ -107,3 +107,23 @@ ion-toolbar.ios:not(.ios-theme-disabled, .ios26-disabled) { margin-inline: 0; } } + +// Keep the toolbar background full-width while moving its foreground controls +// out of a physical side rail. +:is(ion-app, body).ionic-theme-enable-safe-area + ion-toolbar.ios:not(.ios-theme-disabled, .ios26-disabled):not(:where(ion-menu *, ion-modal *, ion-popover *)) { + --ion-safe-area-left: 0px; + --ion-safe-area-right: 0px; + --ios-theme-safe-area-inline-start: var(--ion-theme-safe-area-left, var(--safe-area-inset-left, env(safe-area-inset-left, 0px))); + --ios-theme-safe-area-inline-end: var(--ion-theme-safe-area-right, var(--safe-area-inset-right, env(safe-area-inset-right, 0px))); + + &::part(container) { + padding-inline-start: calc(var(--padding-start, 0px) + var(--ios-theme-safe-area-inline-start)); + padding-inline-end: calc(var(--padding-end, 0px) + var(--ios-theme-safe-area-inline-end)); + } + + &:dir(rtl) { + --ios-theme-safe-area-inline-start: var(--ion-theme-safe-area-right, var(--safe-area-inset-right, env(safe-area-inset-right, 0px))); + --ios-theme-safe-area-inline-end: var(--ion-theme-safe-area-left, var(--safe-area-inset-left, env(safe-area-inset-left, 0px))); + } +} From addb1bdd93316019600ef2c277dc8d5eadd37cb8 Mon Sep 17 00:00:00 2001 From: rdlabo Date: Mon, 21 Sep 2026 19:43:34 +0900 Subject: [PATCH 03/50] test: cover physical safe areas visually --- demo/e2e/physical-side-safe-area.spec.ts | 159 +++--------------- demo/e2e/screenshot.spec.ts | 46 ++++- .../physical-side-safe-area-ltr.png | Bin 0 -> 46374 bytes .../physical-side-safe-area-rtl.png | Bin 0 -> 46135 bytes 4 files changed, 68 insertions(+), 137 deletions(-) create mode 100644 demo/e2e/screenshot.spec.ts-snapshots/physical-side-safe-area-ltr.png create mode 100644 demo/e2e/screenshot.spec.ts-snapshots/physical-side-safe-area-rtl.png diff --git a/demo/e2e/physical-side-safe-area.spec.ts b/demo/e2e/physical-side-safe-area.spec.ts index 8aeb1bbc..98b6e364 100644 --- a/demo/e2e/physical-side-safe-area.spec.ts +++ b/demo/e2e/physical-side-safe-area.spec.ts @@ -1,143 +1,32 @@ import { expect, test } from '@playwright/test'; -type Direction = 'ltr' | 'rtl'; - -const addFixture = async (page: import('@playwright/test').Page, direction: Direction) => { - await page.evaluate((direction) => { - document.body.style.setProperty('--ion-theme-safe-area-left', '76px'); - document.body.style.setProperty('--ion-theme-safe-area-right', '84px'); - document.body.style.setProperty('--ion-safe-area-left', '76px'); - document.body.style.setProperty('--ion-safe-area-right', '84px'); - document.body.classList.add('ionic-theme-enable-safe-area'); - - const main = document.createElement('main'); - main.id = 'safe-area-main'; - const content = document.createElement('ion-content'); - content.id = 'safe-area-content'; - content.mode = 'ios'; - content.dir = direction; - content.innerHTML = 'Content'; - const toolbar = document.createElement('ion-toolbar'); - toolbar.id = 'safe-area-toolbar'; - toolbar.mode = 'ios'; - toolbar.dir = direction; - toolbar.innerHTML = 'Title'; - - const logicalLeft = direction === 'ltr' ? 'start' : 'end'; - for (const physicalSide of ['left', 'right'] as const) { - const logicalSide = physicalSide === 'left' ? logicalLeft : logicalLeft === 'start' ? 'end' : 'start'; - const menu = document.createElement('ion-menu'); - menu.id = `safe-area-menu-${physicalSide}`; - menu.mode = 'ios'; - menu.side = logicalSide; - menu.dir = direction; - menu.contentId = main.id; - menu.innerHTML = `${physicalSide} menu`; - const fab = document.createElement('ion-fab'); - fab.id = `safe-area-fab-${physicalSide}`; - fab.mode = 'ios'; - fab.dir = direction; - fab.horizontal = logicalSide; - fab.vertical = 'center'; - fab.innerHTML = '+'; - main.append(fab); - document.body.append(menu); - } - - const modal = document.createElement('ion-modal'); - modal.id = 'safe-area-modal'; - modal.mode = 'ios'; - modal.innerHTML = 'Modal'; - main.prepend(toolbar, content); - document.body.append(modal, main); - }, direction); -}; - for (const direction of ['ltr', 'rtl'] as const) { - test(`keeps bilateral physical safe-area geometry in ${direction.toUpperCase()}`, async ({ page }) => { - await page.setViewportSize({ width: 700, height: 900 }); - await page.goto('/main/index'); - await addFixture(page, direction); - - const foreground = await page.locator('#safe-area-content').evaluate((content) => { - const scroll = content.shadowRoot!.querySelector('[part="scroll"]')!; - const toolbar = content.parentElement!.querySelector('#safe-area-toolbar')!; - const container = toolbar.shadowRoot!.querySelector('[part="container"]')!; + test(`start menu consumes the ${direction === 'ltr' ? 'left' : 'right'} physical safe area in ${direction}`, async ({ page }) => { + await page.goto('/main/index', { waitUntil: 'networkidle' }); + const menu = page.locator('ion-menu'); + + const result = await menu.evaluate((element: HTMLIonMenuElement, direction) => { + const app = document.querySelector('ion-app')!; + app.dir = direction; + app.classList.add('ionic-theme-enable-safe-area'); + app.style.setProperty('--ion-theme-safe-area-left', '76px'); + app.style.setProperty('--ion-theme-safe-area-right', '84px'); + app.style.setProperty('--ion-safe-area-left', '76px'); + app.style.setProperty('--ion-safe-area-right', '84px'); + element.side = 'start'; + + const bounds = element.getBoundingClientRect(); + const contentStyle = getComputedStyle(element.querySelector('ion-content')!); return { - contentWidth: content.getBoundingClientRect().width, - contentSafeLeft: getComputedStyle(content).getPropertyValue('--ion-safe-area-left'), - contentSafeRight: getComputedStyle(content).getPropertyValue('--ion-safe-area-right'), - scrollPaddingLeft: getComputedStyle(scroll).paddingLeft, - scrollPaddingRight: getComputedStyle(scroll).paddingRight, - toolbarSafeLeft: getComputedStyle(toolbar).getPropertyValue('--ion-safe-area-left'), - toolbarSafeRight: getComputedStyle(toolbar).getPropertyValue('--ion-safe-area-right'), - toolbarPaddingLeft: getComputedStyle(container).paddingLeft, - toolbarPaddingRight: getComputedStyle(container).paddingRight, + left: bounds.left, + right: innerWidth - bounds.right, + safeAreaLeft: contentStyle.getPropertyValue('--ion-safe-area-left').trim(), + safeAreaRight: contentStyle.getPropertyValue('--ion-safe-area-right').trim(), }; - }); - expect(foreground).toEqual({ - contentWidth: 700, - contentSafeLeft: '0px', - contentSafeRight: '0px', - scrollPaddingLeft: '76px', - scrollPaddingRight: '84px', - toolbarSafeLeft: '0px', - toolbarSafeRight: '0px', - toolbarPaddingLeft: '80px', - toolbarPaddingRight: '88px', - }); - - if (direction === 'ltr') { - const modal = page.locator('#safe-area-modal'); - await modal.evaluate((element: HTMLIonModalElement) => element.present()); - expect( - await page - .locator('#safe-area-modal-content') - .evaluate((element) => getComputedStyle(element).getPropertyValue('--ion-safe-area-right')), - ).toBe('12px'); - await modal.evaluate((element: HTMLIonModalElement) => element.dismiss()); - } + }, direction); - const leftFabBox = (await page.locator('#safe-area-fab-left').boundingBox())!; - const rightFabBox = (await page.locator('#safe-area-fab-right').boundingBox())!; - const logicalInsets = await page.locator('#safe-area-fab-left').evaluate((fab) => ({ - start: getComputedStyle(fab).getPropertyValue('--ios-theme-safe-area-inline-start'), - end: getComputedStyle(fab).getPropertyValue('--ios-theme-safe-area-inline-end'), - })); - expect(logicalInsets).toEqual(direction === 'ltr' ? { start: '76px', end: '84px' } : { start: '84px', end: '76px' }); - if (direction === 'ltr') { - expect(rightFabBox.x + rightFabBox.width).toBeCloseTo(600, 0); - } else { - expect(leftFabBox.x).toBeCloseTo(92, 0); - } - - const leftMenu = page.locator('#safe-area-menu-left'); - await leftMenu.evaluate((element: HTMLIonMenuElement) => element.open(false)); - const leftMenuGeometry = await page.locator('#safe-area-menu-content-left').evaluate((content) => { - const menu = content.closest('ion-menu')!; - return { - safeLeft: getComputedStyle(content).getPropertyValue('--ion-safe-area-left'), - containerLeft: menu.shadowRoot!.querySelector('[part="container"]')!.getBoundingClientRect().left, - foregroundLeft: content.shadowRoot!.querySelector('[part="scroll"]')!.getBoundingClientRect().left, - }; - }); - expect(leftMenuGeometry.safeLeft).toBe('0px'); - expect(leftMenuGeometry.containerLeft).toBeCloseTo(76, 0); - expect(leftMenuGeometry.foregroundLeft).toBeCloseTo(76 + (direction === 'ltr' ? 12 : 16), 0); - await leftMenu.evaluate((element: HTMLIonMenuElement) => element.close(false)); - - const rightMenu = page.locator('#safe-area-menu-right'); - await rightMenu.evaluate((element: HTMLIonMenuElement) => element.open(false)); - const rightMenuGeometry = await page.locator('#safe-area-menu-content-right').evaluate((content) => { - const menu = content.closest('ion-menu')!; - return { - safeRight: getComputedStyle(content).getPropertyValue('--ion-safe-area-right'), - containerRight: menu.shadowRoot!.querySelector('[part="container"]')!.getBoundingClientRect().right, - foregroundRight: content.shadowRoot!.querySelector('[part="scroll"]')!.getBoundingClientRect().right, - }; - }); - expect(rightMenuGeometry.safeRight).toBe('0px'); - expect(rightMenuGeometry.containerRight).toBeCloseTo(700 - 84, 0); - expect(rightMenuGeometry.foregroundRight).toBeCloseTo(700 - 84 - (direction === 'ltr' ? 16 : 12), 0); + expect(direction === 'ltr' ? result.left : result.right).toBe(direction === 'ltr' ? 76 : 84); + expect(result.safeAreaLeft).toBe('0px'); + expect(result.safeAreaRight).toBe('0px'); }); } diff --git a/demo/e2e/screenshot.spec.ts b/demo/e2e/screenshot.spec.ts index 4183a3ba..eec1e968 100644 --- a/demo/e2e/screenshot.spec.ts +++ b/demo/e2e/screenshot.spec.ts @@ -46,11 +46,11 @@ const routes = [ { path: '/main/index/reorder', name: 'reorder' }, { path: '/main/index/tabs', name: 'tabs' }, { path: '/main/index/toolbar', name: 'toolbar' }, -].sort(() => Math.random() - 0.5); +]; const prepareScreenShot = async (page: Page, routeName: string) => { - await page.waitForTimeout(1000); await page.waitForSelector('ion-content[role="main"]', { timeout: 10000 }); + await page.evaluate(() => document.fonts.ready); if (!routeName.includes(':')) { const scrollHeight = await page.locator('ion-content[role="main"]').evaluate(async (el: any) => { const scrollEl = await el.getScrollElement(); @@ -60,6 +60,39 @@ const prepareScreenShot = async (page: Page, routeName: string) => { } }; +const preparePhysicalSideSafeArea = async (page: Page, direction: 'ltr' | 'rtl') => { + await page.addInitScript(() => ((window as any).IONIC_E2E_TESTING = true)); + await page.setViewportSize({ width: 700, height: 900 }); + await page.goto('/main/index', { waitUntil: 'networkidle' }); + await page.waitForSelector('ion-content[role="main"]'); + await page.evaluate(() => document.fonts.ready); + await page.evaluate((direction) => { + const app = document.querySelector('ion-app')!; + app.dir = direction; + app.style.setProperty('--ion-theme-safe-area-left', '76px'); + app.style.setProperty('--ion-theme-safe-area-right', '84px'); + app.style.setProperty('--ion-safe-area-left', '76px'); + app.style.setProperty('--ion-safe-area-right', '84px'); + app.classList.add('ionic-theme-enable-safe-area'); + + const content = document.querySelector('ion-content[role="main"]')!; + const logicalLeft = direction === 'ltr' ? 'start' : 'end'; + for (const physicalSide of ['left', 'right'] as const) { + const logicalSide = physicalSide === 'left' ? logicalLeft : logicalLeft === 'start' ? 'end' : 'start'; + const fab = document.createElement('ion-fab'); + fab.mode = 'ios'; + fab.dir = direction; + fab.horizontal = logicalSide; + fab.vertical = 'bottom'; + fab.slot = 'fixed'; + fab.style.setProperty('--ios-theme-menu-width', '0px'); + fab.style.setProperty('--ios26-menu-width', '0px'); + fab.innerHTML = `${physicalSide === 'left' ? 'L' : 'R'}`; + content.append(fab); + } + }, direction); +}; + test.describe('Screenshot Tests - All Routes', () => { for (const route of routes) { test(`should match screenshot for ${route.name}`, async ({ page }) => { @@ -95,3 +128,12 @@ test.describe('Screenshot Tests - Dark Mode', () => { }); } }); + +test.describe('Screenshot Tests - Physical Side Safe Area', () => { + for (const direction of ['ltr', 'rtl'] as const) { + test(`should preserve bilateral page foreground geometry in ${direction.toUpperCase()}`, async ({ page }) => { + await preparePhysicalSideSafeArea(page, direction); + await expect(page).toHaveScreenshot(`physical-side-safe-area-${direction}.png`, { animations: 'disabled' }); + }); + } +}); diff --git a/demo/e2e/screenshot.spec.ts-snapshots/physical-side-safe-area-ltr.png b/demo/e2e/screenshot.spec.ts-snapshots/physical-side-safe-area-ltr.png new file mode 100644 index 0000000000000000000000000000000000000000..5102124a32f386a71dc1b940907ba061743a1be2 GIT binary patch literal 46374 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 OguzJP3|EbHiuoT(4r_S; literal 0 HcmV?d00001 diff --git a/demo/e2e/screenshot.spec.ts-snapshots/physical-side-safe-area-rtl.png b/demo/e2e/screenshot.spec.ts-snapshots/physical-side-safe-area-rtl.png new file mode 100644 index 0000000000000000000000000000000000000000..876c886aa2d6c8a8a28e3423a7917af7550681b9 GIT binary patch literal 46135 zcmce;bySsIxbD3W0YO3uMI`i91VKPjQc6LQShTdLba$7ONQrc}EV{cyM5G&}yPHMl zxq0`uzi*5)_8#M$^Nn%*!#|#}SZh7cob#U7{kyKY{E*V(1b7s92n2%Q^{W?h2*i~d z1On6R+7-Cc?ql-~fw+Nq{X$s5K5lIs$GLy^qIp~WAPJe2jz6qpcAHJ{7ZdXf;hVB< ztw>o)`p;@{OER)FBESLzy4{Q|oP;ioakdn|hGBUDpdVO|wc6HSVA=I&0l|G-*qm_hw0Ux9*UoO)=dnTh*Fg7-}yKC(-bb5w)dUi&DK=FJT?OnMKf9}_f z6qBg%^TTau5GKAcmGOBhpav^T*l(I%$$5K+;ceOOuB1zTZ*TAFU~a}{90p<_yn~5J zt&%}hpWZ($&CA{0y&IVuM3|eDw`ywh2LI7ek*`m@R?VrG*ROzp_OD;722vQVAjBC5 zA|i6t2kvo%Nt@;wz8l_K^);j|3sOTR2q$wd*ol`rUe8*l;vwE#T+BC2gpU#BDK9ae zXCO*WCS_ymjaOv57#nlWZT2Z<=|Dxd*9na~I`Q@PvdPQ$UAc0F0Kq-TVECp@DUa<2 z#hQealwo&La&T~@l|W~<%7FI_cW6aqo$T;%B`)r^u<(6s1SKC?UAhjVa^W?Cvb1zs zUvF=N`98zNHPvjgkcO7wfk^lssrh=w#_HxzC+QK*Vzed(!>x+;vD+|u&;{{20C1WGl$>his1xo@Xm&CGm!|GrIaZSBtW{wxa5 zCP$;^&nFrhY<44H6hy*n|9v5f!~R=%xDL4k28IV-W+^KZscv0I0Ddm9rmL$fHbS8; zYpk~@oRN-!AmQUjQc9Cm{;LPvJk3MN&$7$oqF;wyMZV0ky}Wz%YXnUal9DKSx;gHe ze?CtXwc0tJz#9~OD7yS0UG=q}0yZuV4h}qS=V{hd#ymVc1_lOvc4Fxn8RZ6j-?bZ` znwf3JShBJ$j`siL-ThtZO5xtBw7_KIpc#^@?qDwI>11J1NN|^HcW((S?|kbl~Xq*L(X=f&yb_aG|1#{%TxEYF@jd;a{qd{Sv+qLz`CHvOgl zt$1FWjo$R^V425PQp(GfZEZV49*9$L=<6ed=II+F%2Eo#8SjdCIvJXZie6_{Hl;f? zoT=VS;I`YKB`B*?7koX* z_q_Np?VX*4hr1E(t+H86CRp#`DR^N&V`IZ}b?3bIW3sdK&B4aF)v!*a@kC8a&1jZl zwm(ZACpE^R4dPQ@^JheJP%q8lUII z=&f8|8ZAFK-dpA1x8E8*nBc24n{@RKdiS^9ZL*O_@NlCVox|#X>+I>fA3~`!^sM+) zj>{=8ufK_7d-7!MWYcY>JNbj3e2n0(<{N9?iKb z8Eu&uO`cc1am-SGnx$2L{xaA>p+#8xr%eFE4Y4L!sm%nZ4K|WSFI+ngqrsdd4w!Mu z8l39kK7arIoo>vRd_{j0rQM;lnXVu%f^c`CH8n_0O^tnKMoc=Vyx`{OC@Cpvf!1SG z##W%f>oW`s4_C>MHuoE19WOI6>Pi^rNGfXh={>1tp}jqm7{Pp|=yX9BXa4i^&7rGU zSO#;RMAGrk&+ZVYyXB@LpY1xz{oMDtC9-Pn?K}Ol})NF#X>C<@!3Y)(>Xkr(4vGDLTb#)~srr;n8*NhFwDDtXJ z(`27-*09U$;g=H?hBIP{h-ybiN3ZCj4-Oc&f5chLnkKL>QW2c)4ISIAkKDzoFZ*UY z8<@J-b^NC>tymA&O0p` zr>E$AYNfL~?3zzSJ$bjdOh#_qoX-45&o!Qny;z~nD&Yneg6#KsMA;5ZZOke z{hb|V3);?>mZOzyEQ*Sq*6c9M_7D;}X>%$3BBz6mWKkB*lLs*z23f}2yL~cT2E=*$ zqo`|6`)gbzp3^ydJZ?+rZ#_INP9vPf#C|U(x*3N3${AnAWJM&243G6Hag|x7ztpFH z!pGO_z}ZLqbMw2@-C#H|@+k(u5&}38tTL^Jd`cP(BR}O=3cVu7a1#$-YV> zZ9+&g7WZEN1l(267L<%NXJx3DarLyA2(p%i2-}5r<=jA%JE+_C?NJs98QP4>3|>Az zjek$9t+}fMU$P8&Jqr<5N%#PUdE&j70s!{*vJ(w<}lr&e9ehv@! z+HQ=^59=lNX-3E@WpUWQ!hZzAAfiv-?m)JyPLoJ1BATs~+u;FoOVh=s;k7V42Knua zgGo0=-tF~rnUY6bIJ~w`j&>w$VWr>>Zk--!O<1;>P(PX|H_IV0&4Jii!u+V^-wUT`(1f#Pk!yE+F;FGJj7-C7;Rdrx4Q zwejDVe||XSVm0;YIx`2ur&SC5z6`-)i&>wU@35ZZo=z(b(M6C`>;}c%8SDCg#&{UU zIO1TgMV_Fdn-|vk^5Wv+(aiUS`}`x7GBPsxP+JT#_Imyt@7-0m8{bpKfRqXxZ zI;i^y>H9}U@a%BH32j<`Hppo-_*OVc=174NojC7<3Ou= zpM~J!Xpxt%{`_5E`J^km^-?;MTA6CW)T-;5G(p_WY^qrO z@rq8Z?(b{ytHn)xZy6JoP-#|k%TGlfwc6(KP(DJd%E=3nDeh8go~tPjTRVj4B7 zZDYB&JFl})ro7AEeP>J19)Hr=Oyl-Z`lL+%P(#`sSj6 zF7Mxqq>4><3D1dlzL0zmFHdc_R&6^bn6n^@6uhJ9v zz{X@6Q+=#f=C7%?L!GVGdjk)inT+s${L?fT70;JCn0MADfltL}dwe+C#jxMZ)K&xi(y^oGKQmu7#3Ky+%g9QMH;d-{w{vNlw}6U$__*Y0QpDA`Y{CqgKe$p_FF~ zPc`FOT%7urXc#Ru;j-c8guqJh-vaH%1c7RKd3jg^J%t~dF)*?BS8U#g=SG73S~y7V zes$7}y_zX;cGVmao@=Z&vhx9?3FWor1hjS1mGg5~T1~3)lrZygo1weSVWZ~AtY7cA zS-$1sciQ0!r8A61l#Q{dnuF$p&nJD8ZRUI$@<=KsDteb&d*KWdhmb?R`)fW4h_^j8 z)iTTZ23CTm-d0j_^02tLl)Xc4mHb_0-fh31wSr6zNC~C zYp`CAlx_MR@>#NKa^tHg?BmnzcL%ZIo>e{$+i$ltiQv43!G4>Dv8!A;H2%{4VO zIo8#1AQUPX{(@r7zTxHbZ6Ke<_HgUInVIjofk~cDkFZ(ukw$N>#UY4EY;6#ym93+f zuN9)aX7C2ohn$?q+qY5m^=77~b=v*kL?3kIr`NqwQQ;{pEVNnm>21N8dYc(=*@Jv} zsbA2>pUC|%P5RXvzGwIE_q4S&cLgVg;vhA`tS$xh&J7BQj-!*+ z%!vt2)#MJXPb?)2%H{a7^lxM1y<0cMgMKY8ELcq3bT>pPTs~(-ALysxS>WP|LtC=a zpGiVW`c5+<&G8m>PPYm3M^#lZ2?+@?F)@98%oF7=SKYJp{{5WR8x*ZCRk$BK5D*aP z7#ey;PyeU6Sse4r?_*^u%iKEth5V-2+mZvHvX*X>lat=K@oEDbDR2L`cSZI;dN|gd z_&6hzhI(l9P7RUf-FCl6N7W`-7M0tFWUKQzF_Ov{p#K6XT)p-_HS395S^r)-omAB* zB8!m*6A|PD&(gpkb8tK$z&bUH)Ny%j?Fl9-5A|Pl*E(U5k(WD(m)F%38K@zzBqal6 z31b=${cjEZCkucjSzN@ui_wh05xL?{m*}#;e4T|~Z@hLksG7Ond1<87DA8fT&-;3P zM`!2YA6QXwmaUmG&yOV03ru63A5Zp8SZcOTBeh&Z!opD11QZ;g;U{N<1&6;&sWoE1 z^g2S<#|fMS4rD85WMmiwG*0V}lq}CjYFV7^Jrffvvx+|iWuRFw^=8%diFm5;FfN0!yhsMJv9Gf25AM2%{G#RR@H<%0)oi?W`Fo*&(|*y0 z=~%@yj2VY7joazXp?QaC??_m!_&=y&(uRqEz6X6)f3|;8>qN9MNrOgry}3>$x7Eh- zCTIGkf8BVALF#I%UINdnuJPiG4>;usyK20wpWx?;C#+8h)Q zI~%Xr1Wqvj&LOmir_;WP_D)V}!Bsv)w8R}_dp$5x3Ijo+KrB@c?<+u&)(YEZBFd% zj}}uq%n37waTx#I@}o=Oa__yzfe?C(PyV#PWc1Y#D_x?qMBjI*-0CdKx4xXG$Ez%P z^3t*U3bl@V>dpFEZc{({#_Nz05mhA1^ehs*16>2(43y1m|^1VGjT}i>V97xKRY?7o`4!Zx15o97iJ*Z)X?zDUU#%! zg3W;91N@}0e`iy2^4^yqj%o(HmOp>YO)>_&63s=>DWREO?<(Z!&B;4M=?H?~zsD1t zhh@RH7>BMq*+6L$?^)Mu{lv$l7pS5`B+1RqQ`z)-)z>FBPSf+M2ni*PW<*XeGPAR> z`3D&f9iB=P6`M*N@CRIy-)cBwSFc`0HUFYKUx>}$-2_R`=H8p+bOqjFbD~yb z^ZC)-EP$T855R}EJDzD(yO`SBSFBDGx}8@(qNT0u=7 zG3g0l)hR^W7iBgbJ48*U_D;CPa&@p&OvUAC@a=C-j_$qaNXe@|7aNlP(&X<($)W$_ zL$Cm}>(_NVPba_LUlcr9yU>cyRL&=n;a&c?x-o7iQ_?xUg+@DVHTZIFB?36iQZzE6 zAfw|loA`(*`}aPs;tXBNGx0#2;HM$C}5fHfS4Lnm{#W5Pn zQ$&)p&PdoWKT+8!=B(3h^f9X!7^lY=&Wx-ZP@ew){iq~oR>rwxCw zU*1v5%?EkW{72_A)V1>wqu4~xn;ZMO_^rA#5?y8MU0sO!ILszypi~%vj&^v)!?T>= z^hh;$FjuXsRC#8n&9_Q3(eP+TCr{83*IrB?_!XzaPJgA7axBKLqFhSKgaj!qjvFQ02E!`2f7V=9K|0mopnj$0`qswq{`c zAR|vMca@XPdf01ihPt}y%@X^nte53xNZ8qW?KX!=$Zz~jdFem%+jz20L**eWD=X|A zLLD#k5s1^-RkOO`dbj#|Hz6pvy?yK{sYK^BAN_)ZWq?BP3$ot7zYT@mn6l^ZmuoMZ z)y>bbwsE%u?>^%~ez+VNEIB#3aB>BWij`JIQIQq>_TPbb$tYmftH0MTNY$*ZI@U{i z^Z>LI-Y?28Jtp>VMcG+jEq2DUvloNGz}d0D6bo9!VySz2YpdW-nMp^2Kd6do*G5Nz zU%#7Nx2Ap9|9Mbb>w*`^vz!(Rb@JrFwsgkmN zQP!HQgMU8gq%Q+TgQ&=d?CcK!p|#y&a@D9RQ7Qh8c}zqfrDweMg^ZD~`M0Bk1E*pC ztF9~nIUWqc@JvXNYI&ocJ**5&B}PNiwZvbp(}Mn&$cR^~!P9IPR^4^@o9V z0j7u|Cj}?o=2&JiwMLb3wC0=WBv|6BLuSY`Q4-(&$Di5!{9Y$IA4k8JY!0Gg?`2Q1 z6{F%dH}5YUIzBq0Ksm!cE#v_Zmyr<$^eh7^)RB$Bi`1>b+|d%F+jmGw)5J^r^2c2W zve6>tRVUNpG%RX$Ir15V<5jlTiLPJl7I#r_>DvQKsE zCjvc|mXXp`1y^M2@@R(4+3`ak29b0O#1_%KPp7nsN_4f|rbfA|i}h~9X5Gp8_lq&q zEme|-w6w0<^O1Qnetg6k6L_hTS1_-%dmt9wMf^-d%(K(eJsB#JT-8$h)peegdm#N$cZpLB zM#>EO>fPLi^b90YML3O-TICiN;yJ8^oi*>}a_)53Uu0&))!1#G*E$`Tj+aSkJp4i! z5@JH2@EmGM5-7XTNM?`l8IP5l z)&G2fzQuHU>I~3}U~xKdaO_J^VI~Oqn0iN{b0EWnRJ@eWo$dEl1_o1CI9|V&Ht0?B zllydzg^it~S^Vh!{RyFPkX;D85`W_Z0I!dEAJSz2k>{Y}Q)_f^s9YbhL0;*eaE33$ z1^eXu=~1p)skDUjNQr?w68R2D)b3b8LBWq7Khoyrpa&Sp{LuX8&!3bJ#>_qmHiJpR z{&gp&M_=ZTGguc^V}c+3YQCuX_!=Z!KjZZLJTkq(oEq_;k2MV8LvVK=1Tv7Me!;-) z?d|p9RB=#X9k|jo+}&;3FV;_;np(-KMoSF(*rjQfPBt^cYh?uX$|v0>i}hq`9c{>N z!u{7jjHwXzJO*$I&rTmInvzn4h-YK=l;usZe_H>vzb#(K*K$33X*XbC*>JSz>+5?L zMI4m&(3S5hV(X%)xOiqJ=h`GOyjH;S)uEo$rO@8X=CwGK6| z6MH8{nyCEq)!uYKKzw^)R|Y?3W*WexR(*x3_*nuIF-6ZnZGY~4ZS`BoOR^4}bP0U1 zhLG^Om0Ny(e#1pJYN5Yx7Ft-G9BdL@yA}{&yvQ59x=e;*Q-Db}@J2~#VY5Deq}Wai zu>Tba`?vOq&ojKaWhQ?VzJv;eC^LWg3W0cc9W)!_ugJewE@!7Z6O@Mk>ax06)jvFx zgfui@?)sirLMKi}FQ|2K9uld%#X?6X(}>M*Cpq~F{Xd6?_KeK-PV$u)?h+aCtc!%h zvL_!aD;>TN^6*r)-oR$SNlsQLy?uJ-LUtP;@q;yeoa+o+4O#0y?d^|v6|hA_?>uHc zJUTi&j@TF)MIgeZ_$C-m2KyxkF6mF1p&U$pb`}g}B-8sc;lD+E7U5C+;;76vaV(=SO?F7KYvD=MavQb;^^t=ffX#j=_6|@!L&YFZq}Uy zPo7&wjVhqH5u>*QxxLEIQvxtO5YkM?1qpkdR zDFMCcaJ=LOg05kCzKu)I=Thr1I+^sH#&Q_ESMY*btTb%%0HMGL)yeX7)r&-${JHZX zz-qa&)Lgft`A8^_wZB?Q8c8TA8osfw}31Ic+mX$B49*T z<+g^BGcqJaDJNZV2P@NRsXG}E(&;L$GkXZC?j z-N~~^Y4gl@tfH{nxnGgherxLR@Gymi_5H8U@Zm=2g^s)jin`tQL#!hyS&cIQ4+1`a zu2{*+j$qN+I9`&M5lF8iGr<%Orq)=%O|JqNhrr3`{4#>18Xz8RHrp2j&* zsFfMt;WP}xBV(yMOc}8m;*pHuScYB2b#Fi!TtF@BbC|&7Pv5y4>HPwFfBVVXr1P6Y zE!N6?>K098T>=MjS;@E6%{{`|zsn@LUYs2yTKv9~U$gUttF4t_uvkuB-WUJQ&ZX(u zQfgnU+reOEc0JrjZW=Z|HH&&Qq%|cY5F|PyZ|ia)6-8z ztY-)H7lHo%qXpWY(aI&Kdhs@cUbrMxw(Ew_>?bQ+Ix|`wc|;LfFNax=_$Cv;9%@-5of*CKOgiX&Z4Im ztKjN|6=~X!3W+8U_(XEYnN)>Cu2D4r7K>3{y9Ul)WJpMIt*x7zTdIVDLir~LePYBP;E?H~q0+ps%VC$jE9iO(ldz-| z+=Bl74jZkefZGvaVWh<@LTVyiEXj01xY(+Z|5g!Cd@7ysUU{S9q=q4X7F$k4)Tni7!3%^_=qL<@%TQ?7dNzORe zFNG-etilFEytl&Q!+JNc+Gr^DCwoI$;h6m_kd#1ly*v>-Kl}h3nBgJ(vv(y6zg2g( zKf1J}AASddDW@X06AT8j!i`>wS}O|>s*;ltTOa)Jz#J5X3S8`?7+10UJ$5JPyX%eA z-D?D3+nP6`c}XcLjZd9sbOy|wK3d+1dP9gv1hUq~Qg6I*V3eq7a}Em^-7hbrh@seo zz1odY4&*=e_!nTWBp14l1~fJr{JP6^3q_Fg% zs~{GRLUsQz)40-{3w0RKg)+tGFJDw^><^VL;fXL!8>- zS7)I|)}0z4vwFb6i@Tol8T39Rl4oF)jN>i@=?ZI4IN7(8cQpr=ist2#n?yUq-3ykpl z{tS3fvtw(zQBf7CF`ZjJLBVfdaD=jKr;Sv%T+JnS=yAj0!ABf{mof_B zDQ*|%KrrP8v>QHQ>5PV;YZ}DwgCb=boX{)9YuO7`LkL3@%*EjH4zBwzg&a-9H-}$Dgy((!Nytvtv9a zC&#vwR1hrTc~{kgUr#1CNw+ZhryFnjjgEQ|V$W9mhuDaO%;xF0@gLIvd0{b1&m?Ez z2P*xYY(iix*WN=Px%(Uyk)iS;4GfTv8y!9AP8Q7yz7sBLmG{-Z#E1t(gc$-6q%`xL z+WQ8@SX;~EY2~!iO;b%Aldc4Tl`Pa>t@yz)z|$Yk5q3P87hU|VEeHfKsZ|T=KTi`9zdMt{{8!p zAGe^c!Q+&`SC7R&jLE&9>h}Z1WKT@Kv^XnoNhIy+dJZ4eAB&W76_ayF2TgJF=FQU^ z*AW%rp`nop($UHN*9a2q9e6%@zS+hk0Z9)XOG`_O1kv#DFqu=5Ck}(b;qmeD$w~H~ z>%^bWU03j8VU*1^FxdbTPWfpq$)GyhR{ft+5TGlAYi=}Bh`hP$e0 ztTnM{^i2whh>#E|vg-+l66@2A3v>Vj)wrcYk%tlV zcK_Rv0IMJ!9*fV38X&r}jIgkeEvX+M`kye6XJmwuGaz8QddfocdmBs-&$;<|3#yDS zkQ1Sz^(iTl?92e&EF5cOyU%cAoFqLW(JU=P@95ATQV(H=v!n?34tE212pXVabv3>}I$}H+J>U?VZXiqVo?p6dvXl4G-@^ zIMa}>b@_ik*!q8k&;2(hCa0vTqocF4h^uQIh5{2fi%1fB+9z6t?}6Rp;^J1VuC9(k z!VFMJBlHreT4?QdMF-RI_}=jZ3Aqtk<(aFY3y z>)Ep*R4o9o1)y{MmJd6HIE4U$7`j7-j*L;sa4MirW^=5vxN(}>dZ{}SeH-A7-q6Ol z$!H0yd#gCWU5a<;h>m~T{L;Y?;{)5*Fhu*0`3(y;Zprvq}GQIv#>kzFSWCikdQ<&X}Qk5a<;esyNrp$rQab2fC5KoRfGH9Cq z`xaVbmuqLo`?>#uz-a-89q3SywP)MSF_5!4KMOLvcb7x|Z6v5cFGq#@ zAK)7aIPP|*%F4>RZH}aWcLX8e;UWC`wI5Du>g+5Dc)}Ut&?hdi95OI7E3xF#Z44KS zrw8q?KX7q&9{2*uC(Zm6I>RzmRqt;B?fC57KziQV-1PQ@8KtZHQEYuI`sz zfr(aYvswmw-{1x&UltJq)Qj=V#{(Os*egT%o4lG%D*01YbfD+k%`0H(#L7s%eq9Tq z|9DUI!|Z#()2#!Ay@007#lRUmXnWd7>FQ;z6=L`+RPU(+R6j~LY2*g<~_e5Un|t7|eg z0}WXBLN<|V_rx(_IX6j>kWi(nmCggx5x$us?7u)qZ$imSX(XMr%@n_$M=hu9jXhFg zlC4H|+7aYeQo>tg-~R=@B=EbbJq;s2H`5FKRmttg&%On88k~w2UIa} zQi-ZuVjDWG==)WQZP$630t|^hNJe2Mk)yNAt36l(!dme*JJuRD7DGcW0x-V7v;JA4o>^ zD&x$JtkD$l1L~~TwKd6w04!-Nh@>W=CQ{yAr!A@XUZSFflVReH%?2g37a$$SFjImoeO+ws#^ckvA~7co=?$LkNjACU$nU$J6cXT}#8M)nboMPok5G zWDTJHCb^v0vihbB<*HpY;LvcIP2@N!GcdzOHeK+ ze*yv|7yXFOb=%gXkAAT%x(yeK;&{hEknf|et|p}DX`dH5pl?;%ZfX|plrKez!o*R$ z-O=?X0w{}2EwQF1p&|u`6p(lV1zgxs`|;0C_Uy=06arl0eaI4!ft}rQo?d=8bds9lgLw2GuArG_)38 z)N~uoh6~g|HjUoG$1#P0z;Q53@ce0<0EK5KWj}X{g`bQ9?{M9RW{_q8r0rEV<@sz@ z!a|}8bvv}`PmkX;IE#odb6=bmDas@N1Hd7WRsjC94}_&kNBv1qPS7YbaaRP?_ZNUY z_VN?Ev|#O3~k3(*wmDaXEz)8+!2y+O`&Ecq9kaxzj<=R(M!b7n!p8 zG^&$T`W#bVHgGTLY=$}npZ?2i(tmY%`pZ|cmT7YkQgDP~x62y?ff718x;Ulqo|`8- zg+MpE8wq9j7tmCsH=Uhp$ZprvW{x3*()&82tbEr{E=6Nw{4afhS?OHE4EF?O_T~Ed zdEJ-m*odj9Uenm~qmvVQUYH0ZR1A<+3jnrz>g?=NOMnovNulDQp}AOF8_UU|Oc8DR zha=3pNJK~|)9ocS0;yAyJXjClIvod-%&Qy8yYfO_eQP`U2Li$AZsot8zVt)(8`-DM zLph|G3i7LT)nW>+8aWY?UuC?5=)W=&g@aW{^41nE z0(Lg1gy~74scHQzk}A1@1dS(+jYztsZC20@a{a3qMv~Hdv?iCA&wB?aCyUomhr&x7 zGX5g5;Yx@oM$#?x!Q$sXat|O~d9`)927&Yk@hfXg&ouJ#U?~dWt{N=mVsMjUO#TWd z0#Qm4d)zyNwuE@b*fTINll%KQFonXS1l`V`O*(&2@H;)d3~f2g{tgs-O#AR*dmIlt z7gt$(*GP>68uFe3k~v-4Am)CvmO`Jb4E_m9T3xUa&P-T>8W2-4knbuzk?`)G5=&mI zbP?|_TbG3;%7st}B9k5*2mUA%&pUu39-)nTs{J!Zr8q$Di=W>eKHIeoInz7piF<$w z#=xO(lFFpCYGWz~e(|CaP?I(3b}M5(dH5y(jQaJm(V5xVz*c2_PWqr#y{L!?+eU(C z$qL-UKM01{8o^W~YW@x7uhiez2!W!M;otT$1#tFm;%uXOv!*6XU!MBr%|c+q z(Abd=v}@Rn+jMXa_2;S$)nxB(0YR*iHgA2LK^`u{0+_RWFkfpDcgp>uqit;nEiI$G8!i7!xP2gsZqq2Q<65pzco1fD&b8E5EG#UWmHrk~9w{?R)l!PxghNJqvd4y>T=J7yAEo=WK1^!m zk690oj%`;*yniA7_Co-w3%DtqMKJ&X0;8lj+}YmFK?Bh-h)~6->aPnNEcc0r8hiu~ zX(X*ln!yUTqnm2<>ahiReG$6Jj=0{ku=F`U5Ul=SuWVZ8TJz+M;>&CJXM zsc77fl7+KBm$i9FuLCq>capHSwl*}siZWiZ6rjyqgoJ)%W+bdQu(>#@7VvFUG*Vc> zktibvj;#@+d;-Yp0WgRW@|cC^e?H^SBB9P-EAN7YkQwh{oYf~!&w-aagKB03Fz^ z*U9lkgC1T6&*#8Ee%X}0kv{dMWdUy zZ)dEZS1u-;tYqiA0##oSg^=3k5qF3JDUHv8gHOq29K~Az5|`TbaGFq>qFbJ09!L-z zsYvo5k>QsOj41lV;|nLPOy*m|_2MjirtxnX?u!Ldr0Zoqmb-#Hu(f!T{@WO~D#NK< zR$n5TiBh9T9yqd92BDIfgly_v5Rin)B4gjbpZrLCl!;X zeTECJtBlJZL(@HF#QO`Y}YY7Dk{}bB1RqxxH-HD2QYQB=U4u)74^Zml<+KHs(vvOu^InAqolAhgw zCMf*dw-ja8RxgQv0o`x#S%QBxpBx`ruZq1#NH77S;eY(@aBCWx3`3&<^*fzcVcrSu zu8%4=GCVTcM3UKa8mvSlJTps}UQ1-=$j;8MJ5KhcJ_e55etyy=c%dFB1xbxdKl*7h zqURE~)gR9ILxn-zR@|(X?SXO60Q*J9o7ZNAK7V&@Sf2H#qe4gSFiHMP0wSUzKDknU zK0c?lzlDZd?fYtpp8Lz;>HT}A=$GNq(BUldiV>7)w%N4Dn$=~BX>4ksX@Ky8GNY4> zGM{ugu-Tj#j}uxy159W{O@}h*=MgQ_68E1}?xYkO5$EbT%mR2-G zM5=DX5QD=i9YuV>+lui;ivmfA(yFhM`>a{GWQZKYlh+SvCu)_9))CUDClm3!J28P3 zc|y-Ri)sF5&)n!OLHKcOhxQ&Pd8d-NQ^ZKIa%dUQ@2+CGbEG65Tn}*1E;-~NWr;6zb^49eoNw|LH4V+w6kRy&DF$6DTQ^t!aIcs2 zjn%2x->Q!K{x$-Pl1&8SCM92L;p1C8$+xM5fTba$gj|5CDzy1 zud2|grrmrX_O=lZM*^2&G_1lNNTjC4_3!0oHbZ6BMO@*asJPTjiQK3{_mZIuW{xC( zP3}hSmKx_h1<2(%n=WubrXyOt0E!>VS5_IN$jq}lNxo#3 zaB#7718UVg9zm9C_QJ(dYH*f=5!i_l;^-mw(Pu`traPJ#M|QK`YyV9>LJ8YY^`*TI zo$0);h|Wp4vR>`B)qsPmMhsH^QL{q24wd>6s70EW>6cK`&{nOg1S#Iiiw#nl@GdDMfT0!P()`Eke zIQf|K3nn&xf&87p^KBrCWv1g}r=32`oeYI`dx5Iv%;&aR!&{ z*vYEi9x#(K4G{e2RVCU?DwzhGLmSTS3d4`SOy` zm)b)3|KrJv^C60Sq9dqFMH|e}J;-NBLzZe@i@!_a zWT>zr4?97bTscNE`9)%s>?5y#fv|Q0M;ckJsIP4+L3Ff=(NHekGsJwdhRncME$8i* z19=0B0uVNs)N9RC`aHZ8*?tM5WE(BD8}X%IW+JmG%^xtrBV5YlMUeAe`V%vzi7k zgVI|QPMf)3o6tEWZdCrOhEopS7CN^=cm3|@>};x}6nKB282i&PAhFwZQ>>LhQ!^+^ z)VF-|^Ga{!vF7wu)Pe%}1^5M*CM+*5}-xncrH&%f|oY2gpPaGyk9|u!q#G0wd;t z^*uH2mhUgh`tek^oxFDAax-0sHH$dR0plW@NHefxM6lMbcI-M!&AY$0)84mN9()N7 zE@y740InmVCqqxKA7WZD?E^;fE=YsHC^#l$IBZ(A{HXXxQoI=%HTXmql-%Y*A>aii z6a@J{S)6fD@~IEX>^7Xz_O>W>+%u&0DKlxa@6lYurm^Mu_N|wIQYu>~o>zQtohl$G zkAyPE-V{MkQz~cpQsE)X@z)quAZx2>2)=%FE?ZsIQ{x2g47oDRD&t8VrplP<-UMaE zGQG^|WN@B=K8C4ErAh+C`i|I!Q+nB_)FdRS!GBN{O~sioF7n9(KN|5qT$V-&QVBA# z=(Mzt-NM>5$qlth_v%Fit#J{GuLamvB#&VB2eK84c*T%t&4U7A8f7J5U{6c$ z*;9wi)5iQ9vfzsOlX0+MlarGnd>C&^q*?%^+qLwrS^1A+qgph`TxYnRWmBGu9oC10J zRV^(uc4l&fyTrSVfaQxpayPd`NW-tK@%M_7{hMp1r@_L?E&YgvfP;rtXgKo~PK~cX z$UrbZv%XGtBdOv?@_mH)nn5fj`BHf7YJ7BbD#YJXE`1bXVGChK6m<5|B|3z7JM#MX zcon!sL{*@pMG5{yAQY5!t&yhi*jbUn`bQGY(@!CQ*~7egdwz^*1;$KA_611LBQ8@4;Nv`ZZcPSEPdHxqxW?+uDFj#-gRhg zf%D|%U85(c>+F=g*7Tg59q>d-fXPR*>xqer8`-aql!A24l2zoUEGmJVkd;Pg+2-ew zG66#{JYYOi;EZ4(6(1J^gGA$Hfi@{0zePi1rhv;lrmPC77=?l&LnWvW!G1h*o0~(- zMY%8(l9$aPgls|Wz$=Gx1=j9yRA}pV!8)MzX)G+1_JyQ*yqN0~s06x17 zb)!>wO>@AVK9FP(gNF#l4w%VI)nhJ{(fK9u*ia0WKmcy5asxMg^G zXmoU@?`6YOI#yX(33;6vcs{3qCdMq=m=?ysvp9zjf^gJQC7j4E`Mu=5QGapH-pMT* z3Q5L!Y@^J}bPAALtG9mI(35|`f;nIa50P^i(ldI`OF&RuvW0lNiD+OSe+xfEvS^({ zeuZ4;g+4tN^UEn8rRE3Q+jY;Mk5`3|Bl@Kq8X6LzrGb-kdD9TcULUJOujbd+Ehad@ z0nXpSH2J>|;UV{nHu@6fLpDiu>8@GLHgsyAgMvVJYCxoH@9WP7*paiZc$z|FL7I%5 zLzE@|lS>b90d>n3S_x`A+N#*7s6$Be#M{sKQAode6T7wxw;7A3fejAA!~e(nZo6azEK9 z8zo~PO8X5m;=lj;8W~v*u>!EwvNR@(bo_r`8b(c?ph5;?c8(SkFZM^xI13C1vfw;a zw4X2}dW!)@(_)t%Wbvvy%!li~|9W542gRdR>sadW?4N&rO5&#s$#pex4yk|W&>E+F zdD{$>iYorgt40AniYwiWF?Ium?;m0FpxfD@zuAJV`)+zOr^CPa3K$nfe|};@2tXnq z=oc{&hEz6JQPGe%Y`~?9>xRin<9c}i(Ic_hj-~Fh+*oweF7o5Yk3HLl1p{%_&tEbX z{?i08v5so!W(GxJp>oD~G*ZmkCM;NK(6KL?b+B`A^gE(pVO1$EewKBN`#0=%09|P} zWS?@@)@)Y)5FiYbVKg=8J>a`(aboXb@dM$|oi!=zTS;d+CKV{r>q+ooP>s_jLQ6LGtqEr!ieN@$GT-qYf!>baqT$a^r8Zi~ZXu%f@4ZyL*9b z02)>5oGbCpfhE*c#^&YWpi!S-GQWh?ad!!l zn@6OS7=!E8n{~wrDM7f3YzjZjyp0BAd@qzIKtz3om2tR|N10zMS7)}hdt`4Xn4h{|x z`BS0jsR%XG9`gS|-h0P$z4(3OS~`iGLN=#56$;r~QdE?ckrAQH?7fnNQfQEsP4>#3 z4WVSuGLwvmvN!khea83xUiWok9q=1qUSRjI}lLv{l$kr$VlWGz?7ba!F>_y?$|_{wmwugi@kP1 zx+!?m6^`c($wQP1P!shu`JpD7@g&~ zMYfWJj23k1GK$)dK@!#QgvF|2zLQdN>6QD~bShhe8|mW@*^To^efZ}34^O0t50h0G*xKTE zi^=$n*Q7Z%e&_F!cvu1b1N%}wT8#%0+rW0t$6khY@Yz~^HaT#>M=?*Fj`_+_VPVkG z7|MR<;!+Usoa`*~;6HMNpvz?!vE!eT!>~ZeE4t&erE(FZKAC97uzH#tBo{9p$Cd?6QGKVyC&v% z2K%@NMm9&usbX#3MX^@4Axj{eHh$g%=T^EJ=5{+eKWf3sr zxVf=DvV>l5f?^>^&Mcab4uju3O2qE@=yk}vnRyJ(;5UsBv~Y!%E^_x(m+!f?{7+E! zf*6IkjvlRLIEnoo<@(#?m=CZP+OA}3k3R&(1s~6EBV=-3aE3^Fs zPH6t&`JFf~SV&C1;Ku}gVIpPMoTr|xYauDW%kbU919Eh(Y!VV4fLbwvSOl?1L<8tX zTu(}FP+;If&JC2HMgZ08K$$CkzS%9usHHj)hc`0Z;~=51J<>cAIfNM`A=Yj@HMud2 z2Xxz5$9y~s%gppN&w!7KlvSP7VX${ejKbZoy;t#*d`*AboN0db>McaI1xdfckDVOb z42eUZT2;o2l!cNe;h_hJ=THrpAkeJPY(Hp)Q%UFX;0Z={02>j=1vL>W!rB)l=}{W- z6>`L{AsV{McAzifrom)(kh3~}-g2=7nIM2FPNKFEBm#>He=2fjurS-tHVBnnDFo3v zo`fmVyn1Vu=Bwu0SL_-D>W-yJq}2RGoll$WIvuL(YO1OltjjMZRtDp&Rt|i~rtZ4B z(V7}dkg14^Czg@@T6!hts+Y3*`}g#u-v^zw%6b3B0>Vgzux{KBocAw(UE2;%h2J-5Re};>*4k`ztiv$Ly3Zy3+9RgjL<&&)ND4?me|8 zrNgJ`-?)Q0UKrUD$-*K{gGsOjx|g{J50(y1!>DHMsHk*By8@M8n~eJ3q@lcRcU+t9^)!De%P%5E&VnzJ+F&YJ5(OkY(@XxYvk_Q2q@1 zMcLCYZ8z-|`=TOuu4`lB4^YLRB zVmmw0NpfraTD3n7@UZR=R$W<9K|w*Kzd!IiMsYOS`OD+O@^C`dvjgHQSbTZo6Yp$R z9m#kLn`jlDfYjPk%v(mTT+Fi_mJ8sQ`+%$*Hk+?O3o|xmhb7k?zCV($L%l$({>vXkAV_bb47VD^ zAhih$X-@hN^U(G>3W&to?FtRg2IB>l#iPiAC1-PE@g?wS^|q`nLjzOy@T4@woYdRl z>$PoX+C{YwnSFD3StArxw=pp>xp!(Bm#}1CrDkgE&}#Az3{-bJY0~`Lj=MW{?}sm~ zo=u`*9PZ`TwvIBJH@l9mVUQh9W1GG$)RwGB%+D2z{fzYVE*)wb6!g4bQQX+35A>-G z)MC6?#jnqpa_yPzH`#ON25-KAVCMAr_Q+cLEmHGwT(`o)!ccoJj~*&+WqIlF;MxJW zBsMmtxTT*&M5L7fQ>P!^PfJS+HR%JDG~-mGUs+hPBxzSEQ^&r5E4%VMuU~k$RT7MX z%xSpz3J>ysJiEC4|3Wb5zw7Hr7x+8fv$|GlFN{gpZ=c`0d-sG=I7W<|?kyxr)DXP< z{fGWflR^KpAHb*i>Icl9msC_h*bhUa#Y)SiV-o8+%cJy|Su8$2!H|JJWuV0FC}ecI z2%`g5cF=B3Y)KF(juk4#0D57Ki`$Mx`Mv}b#F)=S4 zda#^$dcMRK3JWYfM8mbh&tFR%Ce5pf&1lZl7J@lU^)9jQP#!#fJOdLo@=TC=V=MLv z5b90}hQ#;2dze>%0f!yx%Ft{}y_Ae13J_KVOCP4)&?zp*)>lx78OA;a_@HF)G2caA z=f<-ax6R050K{k93o$XVwMIs+f=)#?8mHO!vk&N$?O(vQ@qnIh1hi=skD+hXARX_u zcUau{B_$-TZ1ZQpwA{snwoZ_~PS&ljupgSoK5mg1tXY^;o<94HWUx_+t@)6>Y8mSo6ZV|O7t<=l|pqfoaeqg z)21LciDl&e-Mh_3jvZ-gvXA6WV}zVaMe!u&Lx0OVR1>y=+nUjDa#(R5pLYQD7${LjJ zql%x#ma*9HmTh}0CT0M@^yZu0+|)u%=@3AGekfh&HV@&8_E^x|7V`cdtA|_T9;OF- zQmHc5%t=VL7^uP9xB}x4edk1@-z{N9X?s(OmF|qcB74ug7STtc!{ZH+v|FysAU;b%r z4291gKQ@C8HRR#L6Lur@A3t7BNJ~si9HT*EXaI-Cyw(20kS*P)4NSol`{PqyEpTv- zBS(zDN#na0Oq0{md8W(5!BLlDtF~#Re2{e;i^Zo>&IRimQc_aau4!*0xiv%wyb=m{ z?IH^e1L*cA`YY07VjxL>W%FQa*J3bTJ%jfPX~;Fsk&~na<>%*557oj}?DVa581Kou zh6aJ!0qZIXteN3FhO&^A5}-~1n1E-Z4rUn0kcWA*?V?bLV;=H&XkkUn0>S}}IIG8; zvc+769}-Ja(ToLde6*e$Yk?L!i#xONHjiOVJ^&9?I_O2j-IsEDLKPGgrr`GhaeqU? z2DJ))lY1f=8f)m$mSvNLckkZC=j9GV%lLMBY#Y#>07wApVKLf(;Mg&m`8mLyl!%wY ze}P|V8Kg%XchmC*?Jq%Zj~z>?`SsV&RwPmdJo<0$5WXHCU|xNo<|Ct`GL3YHuppIP zd%sVh!t8oMQ34O-G}^`1gAfBHJ=$Cy*lfSStzCGWjcp7BTsbg>xiO5S6#$?x#=wu> zZ`UN@o96(4Z*_j3KQ%^C70Vo5A$Im}cva?RW=iq;AoxZXr5d2Zjo#vxfq|FJ@*riv z?i?1F-wa~aDF66}*27^!U0{=N7hz&g3}?H>*7*z{AhMc9AiJWrR1g`awp*4c|Aab< zdBF|8tGhQT1^*L_{6Bh%6t}#Qx_*$qIM>51c%Qe`sen`W4!pwPmx!MeU&tfUd?#$N zL-(kTrd{ti7oe=2RZ|89HG?klHn8XvV89dDEOo;d=>(t8>U2@RtGTuHPrT-?(7Twg zA)*gk3BgVs<2Na~`G;vQ%g+~3fmwSB>Q;oqU0Pk|1EQi@0Y%GN5rYJpXnWgocZI!y zLHuY@bA_8z!^Lg>d!PnN(-y~yQYv=s9SYY&%zWB$am7OEJ1S962q;v-zJ}h|9TPf- z73dbmJ}OIS2x)s=-Tv4Kv9xsNXk9EAGwW(7>mC%0v{;7j!#@3pNZomdt@FYex)oZ7 z6vZa_50iFmLnKbNidVNY4Jp5F6~}5>qn^jFojGRv#(z0M3fP zfdRR3t=Hg%ZI*iSO%4^>cPHdSQh7`k~eNiA8LM zeF@QqLBPp1J7V`0j@Y@(mQy{72iLoE>9mYLi?+4@7T?sgXeTx$OABx$AqpK?QdrUKALuqcuDX# z1M{E79?g%)GK_bnlLAWfm4CAH%4KDSwSfdOn6+?wP6;hn&1ebFGBg{G&>3hpSeTfM zh4B~?v^2(|6xz?g^xON(1*%XJL8g(jO6s&7bA0gEauRsiK523kGPaehC%P+$4ayBH zO?fB;V~iNy2FwYU^Ddq{=L}(ms#i|n6RF_?{J~Ns2M)$7!&wo?T>F_LjYO#(Jcb(i z7_2U?^u(?MyrCqjeqcZ^pwxdEo9LyJ)yQsI=(TG~ecyFDyJA5LpbhCBCJ+L(5Y+WS zlV~>5V9d@&z$6R_ewd#Yu^lls{uTm>Irqml&mxOq)HIiUfbhbbRSaD7F+^I$^3<4;lCf}o90nEgSbObWu^xY z9wb*ig7qiE5%D=P|Lv>K-&@T`TjT}>2NOvG`4ISl53H%FVG!N}feqHsc1V2?vIP({ za6c6lAB>kk)ESc!^QV!A_^p$Hz!L>zP1s&P&FsOl0z=cmLp?~2AlpYnBLK-tpO#^? zHLp^@G98;N41t{%J%*IE5W+&2*3s0|L_+deSQZih6iB*Yx?q}82SRs8LW#o#Ad6U8 zSo)LXLs21qgHwyi6J8Su;LV-aULw;rSs`j46%~{_E+O>%vPBFD3S@m)KyJ+kBb#;z z=nZZOycQXK29YI`xuj69byYC?CI07l0wGi&kP?jEdUIzNa!dJ)>WiV)Bh)rfEe$Zegq8@*mG&PtNiyupjSw-v| zlb;j4(22XOkN85P!oI(JWjr1G3oBG@1gF+$4D&D{ya6!7hcFquL0o#3&u#{!om#xZ z*i&@2n)TiyXA1CCWYCiY5lauE>`kw}y}K8ySv0JV26trl3suBR;h9d`!ExZ3ed~D! zJM8O-rf6bnwm?8KxY_5s030aWB`$mkKEUtkR~5&@&dv^Km~zja&YYm2CiK~P@PuKM zaWhJ$)?n_-K6m!O`}olsy5q}LP*N9+qm^a})B$6KCMn$imrgng*qM|Uj~jiW!@d`=`igfA{i;TZa9Dy%Ld3$hi345wO>iY8 zX?IX&@E`%EsAlLg{^jJ}=G@b(IX_Pf`~KM%NT?0}XI}`?YPJB*rJkvEUE2zI&X_EZmt_t`z@NyHL z=MB6&%y2Yg=)t~IP6Rxxb`2S!Y zu;_I(Au$c5%_??gneL|vSQyYM+y1JWKxFW|)ipH@lv{?OFEZ`5&^&+lPw_x7cf(Wja_8Jm(el|&j%0| z_)pzXDoii9yRSjgkoF#nlOzBUJe=FqZo||5XDvLrFFPZa;k4APm*`Bt{3S^MM*0-j zK~A1rpKEjIx)K@^;()2*$nU>HmY{;l3MCgE^gTYH$8r*mqJ+A#?L#_P*0aSzca$fH`ceus{&J3K8TX zGJVs`3-hkRpWgIHXkeuF|)3sGbebC@(^fKrvJl}J0a zwYDmVPrn731a&Lj^~cYi>AzwrJ=*(odYY?vegVQV8e^a&D0l>ZD=-3hRKuY8)(V4c z5KHD;KtJj34}tu!3*1oXL_!&gAjGj9DawcVc}ups&xXqFt{%Zu%ovLv}>tHND{Z$QXp<|~Bdmnz6d!l@DQ(RLci zy*eef!x)D1(R+zquI2%Kb;DN-lO1o-TUIeBVpA8xr2I!CA=t@(8c>z-3%j>(i8I>3 zk}~x%cL|s|P1jZbILGrBRpM&I|mzWdI*Dy3+g?Mr};NEUJ2iGD|W1e-(ulai?XGU8I6&Er1B<(E{{> zwHv;PWg$7SGW1RvgP5`gblIytr{rh)J*q^{MIw5uZ5DgDD^rh){n=xfx2PY{jKJ)Gn5g?_@fAF9*68E{GflHCWHjD-#yeC&3msC z<$S~GzQTxxb52$GARynZZkvd>cdA{!HCyjwK)bb)(!)=b@r{qb6^DrM#HxZ?0@}zS zap=&-xiwr{dDcfo%}CNN4Qn!{E@ZGBx4hlltYm)q@OBy+a$}R`NeqP=CI<61VNuj+ zip5ddNMl3OHdD|XitUk;9A2xy7s;7~l|){N?|=Qm zYCy89ETUwY11X)nLGJb*=MFUtVpb*I^t96#VkG+rLCHT2-lR0W_PBI68Lzu*o|hN{ zI_U()A-!)v{I0loI?6}4G?#Aq$7v#b4r9s%N>fXK@L7C+iMveqbfsQ8dxa8_+NaFS z#xZInH|{lm0a+nZdV84EZ+%2|CZJM*UOeMi57UI+y0eLhxWLWEU@E+-4u4S%XaPBH zz`GAHY7_~1i~fxTG)N&3g&H|z;o&>xNo}{?>K=t#OU1>rHSzqo{Sqv7!F27$`pmkY z;g5d@(v}!p3OeEbB77LopNyjZ2?y~NV?xIpyoPlk&GWVRlX!s3S&CMziSIGqWM7>I zTyXlRJ$5Y!&)00oI0CX767nKh82D4f!Vfvs+P-C-<~T~9xW%YT80;uCO9h#Do3 z2nUW$=g=oPjV;orcLg)z96;($gwnI&%L~N|q)4%b7E9>1FuWI^=S_S2xm!4f0veDc?ry@lxNhJ0d%Ed(xP51>;=Q%C4LtMUUCmlD zpKyOaCog}g;MM$?{C!t`{$pyq59D6`zuj<2INEwk?2u_Nx)8TKJBmwnLZpH0XK}RB zE5YZ^_Tv7&+(R6qqR$c13Zn%?FCov-dVzc{f-6v)i$ng{(&{Qe)|wQPKeRE^JfB+t z&=^qGLVtWlwh$a(?K}MW(P0^fH9EWz$4;K~gv3jZ90zOw@XQl#VUpT&*pWnl|4mB{ee%RGus!FKMI4Ji7F~<}au-l9NNp6JeoKXy z+4Ns79KWH}0>F=3VVFYaeemD`(Lup<1K*olf;OutQy?(L+P80y>l8PWQ~20_Yn6ES&BdqAN4ufVs`0W7u1 zpx|>~`Uzebkd`|h3!-RZ%#ss$f?)=e&gm=r0AB#ucC)NpHtM=bp^Bqwe^xkLUi|)X z?{)CBnV4&URB3qW16#tWhyg(O;H2?OYNv%GKfj0gsU6GbJGBWj_znm&g9f6l6Pm3Q z-+6hr9B{aOT3Q;P*$!n&8Qf(t70Micr_>H!O9L`HLqkJ^nvLQVYw)(068fxNra4Kb zPinAZNQcv!a|GoegjMY>f&ZR|zZ)z2`;PUXUDyxVx}o_@$sCK$3EFmG%YVc0|HUx& zZde!*KHGNY%o)0r3!tJePm++Z{S|ltUHbo4O7XwgC;oT-an3MC8Fuzm(py^kn5>~{ z@>Qk^c2vfPh9PhntPx%9I|u_{@K$STLr5bb{km@!`y7$6=(rk?^Na3vGsEDb@f`Fu43_A{hp3WC9Ek&|-}1 zID5k+=x>}NGQ}@DRXnt(D;#S$k!0X%9?^l63j^mrA{byZzaB=VAbje6+Qu*Go?riR zs|X}XCjA?L$Z`}%1$lGZ_7G8YdDgz)-07wAWuMnc#E(vZkWwWy#b!n6BZ?MqGMj|VWyg?`KY!H4?ClGmZ z~A3%?Zlbg#yZvy&9tX{4gRhkzO zCTAC1xMS-i?3{ePs6=2OQ$=er%7O~fS9t!LEt>PhVg4S%^+GIaxBI}gW#zTz@i!1~ z|Ne7x%4ir$^6}56Uv91|vfl5%oknY8W8=9tU5g}HE+myyAD{gZZ_F+zVAA{5%Ua`F=-?birVFu08bZGqg<^uB2#)`23@QOyD8 zgdp0=XT2fpq+2i{?)d%kVbVT?&sHRg0WB%@&c$47-^+16z%2dtc z)wUld?Zah-SX*NBjfsl7f-Divun7GCjpf&Wu7K4QDcRZCT9$_?1x8C(F$|k|HB@)5 zs;G)O|BRjSk~@x}lvouTjK8g0_Lnas4?=B3>0k>lGP5Fb&(AYnj8#hFsICh+M$>Jt z5tDi3(t^r2nQv!keyI?v*llO&>g_rO5k zZu^1wRk%3tr2PI_bQlA&11TrLMdV72K(GnW)Laj@) znumQ!E3zi89OJng+I6xvpPhefp?tRS*qqK}W%{6#hxxcvZnsg_4l2&V{rwIP(wIk_ z6X?=d$2#X9?;Ckc9g(-yt7mbBSe%Nat0NgLi%&&Kay&`lu97-DBy~g1I) zAOU~q-INSduU$!Tj%~EEle+FXnVs&niPxkBUoTL;W;cyC(L#ns@7|h`gSsq4DnJ3R|9&zOrrQSMpIC zn(B%vV%xi3M?J5{rlBd{3In?I{ap8D+ag7cu;!RUTwGI7rmNp5NtFd?w12Im%dcOwx`#h05lw z=D7twv#3&Do~|Y@80!qfXcggS6V`rj7NHRfP?iG^Fse9JLCKNCW_(#bo{O@>*1xh; zQjs$*I*Em=uNNrCj?r5Uv>;&9-)~wCgJXWIJrJrZ$QnQqI>)4_qd^KRz}N zDU{5j?FDqrFFiMj`a>iS;{~4TC;qo_le$>4(S@>?1hWeMQC(*-X;dUsU-^E5f(LGL zA;_g$Z_)jxkqyGgA*qk1#@(+xM4{}in8v*4a+O$0zV7!KUJ1LoC=*6p58TVU^@ZsDs4? z=n&dV#pjw&8&PGk_@RjqF0YC1g7gTc`3du_=?*WU73Ei{AQ{=~4!^=Tl-3mlBcw#B z=cUO`16j-sBxid&`|LwbO11LrGQ_LtLsEwW=H_^#DTF*$>)A{BSIsgD9%`x1Q=8=OX14o{=v=lz`?ImSkNXz?wYi%xI82QlQj>GWs;>H2`I_=k zAA=_VGmN96A2xu~nd zHru2ELV|-61uHQV$*`($9yosd0)=&pAJnq*$E`x!QVk3Zy`PaYir1IixUa=D*%Q2( zV!@et@czW~W6N)oDL08zr%8#4DdmV;y3*8!4T;~Z{hdN)b?}oXcCf?&ZVFur=0EE3 zMpneSF3ICBjpeOsG78yDDd;STn>R^q31@=oKzz6XEkLB!gf4=FF?dV~|W;C^29JDW;n0VZf8UH14D7OXV& zd~#n(Sw0cC_wRi_*qo-l8xqa3+= z>{c>AvSrJuBnziHU+8R1PkT#S!tinK+_`YOtYb+=4Vh45((o3&XyHg%+K23Rq$oU& zh%i%^ojf@lc84@C|5pYE2D-~RDOsAY+4j-uXtumw5|W_XvFaQSO(%!As$+EoLSfdM zW5*wED46LSb9d4iR89w4KA&FvLvG8v??>!~hutpQZBb?H-p@V}x$}rN^Jc-fRr7_P zTD5n+spr0$98tbBUXebPzUxL|tQr%;oRHkbj%fV~QHR?PZnHe~tO*@#y1wI=yb0Ly zIN8~Ggo`bQ1(@)8eZNDR8Qgf8mX2EWr$+Vz?qqe3VL+kO%xNQ6ZzExU)?EFAppcYB zQgF;Sd-v$K*Bp1IvuU$2h50@DlpUt7Y0~^$;BZpxaprw0IjZA&C+dP}{CV5F8OSQ8 z6A}9Rwf*74(vTKwxMtaS_)`vOP)Z|XbJ|Mhgw=N6GU+>$}9OXqI4}C|QV}D7u&sHyQjw#t1dD+iACS-Qi`s=&B9<23g zvOaB&XRYK0(%p|H*peM3;kcv4QoUpHG^20?>^g~rxurZpfj_4Pakx6^M zxUYLsygW{`#zCY#_Y32mS*e}#gG{2-6V}ceH-3l!%b<)qbu4D%1O`yP-AiiC#St!= z>1Ae&t}VdG6Qo6g`WjRM;uaikZ!HKa+%_Vzl`U`~JEQe>$+{}H@4|iYXHPUg#eu?8 z=I+nYU-wju%$RG)n2q1FBiWoqtI&Hy zJo&__av*<$gOq)n^3_+<3B~i}NsuqN)fqz6 zPVSeJe0>j{{W9J~nW-%#eC$}4i%&F1cYVYaxShHOFF=KNqd7KCc`tZ?VhW0pz{-Vp zLFZS^n7_m_gjVhvui)djZSb&CtMfG#sZzSj)GfQzsr@WD(YhwFV|~(!HWk{@=i>Zh z7eeIM9(RA|o6mW8{nDHd1o{)fGJeN?wzbW5-kaz=qLBJwQbA+bhjhII36!T#PptPG zQ|_Sf;}fOBMKr+VG`9OCLLU`Yi%V*zf6nFjtUbUsuV7k%cFDQvAdX_6d64DamIB?4 zmW)R-+DD4wUR#)tinvopsKwozEV_$uJq{jM-F=Zkr5+_JeF7WHzXx1luXKCNw9Iv= zYTJyc&^xXvO`rX##Z5WILDh}cakQ<^TQexMJ+E6#=lAX2y_+xXj#j|hTJPu2uHzxr zn%~j_m*ZW3oI3S-dird>_^_2QG!vK9PH;`#9oHHO-w~qaHCL}Quf`~B`}OXOtxMzE zj;`|(o+EC9B;O;>r4M5isQ{;-V&R`Z)PZ9mYH5LkX6_d*?>tcA>l;sVTRQHwb=Swy zvUD|SGFDlh_X%%J{Wq>;yj3!=Gyf=0Zb|!G_2Nw9?=g{21^wlY_qsppIX)ax>9_cN zspyyY{Ql<|t0}09ZbYA~`LbcQKg4K0S;Ic3G5N$|Sw4*bM|fo%a_~{t^ftqOCw)>< zXhuKYWfj}{Vs>lCaOoX{fnI|@V}9HxqGwMV&%kHkcQxpb7TxV^R34AWjaT*CxBJ0V zgOMw{Y)aH)29XDiGPGAzuZxj&bb?kA0N(81KN@ZN))?k>us)XEpg}5 zq@<+{=fics^ab-mwCa!pyEIb+Dj zqx#8)-11wVz3$7`CLePK<4*Go4(^o|fj}_U!!=3O$|~DzA8q~hW+$nVQy*}$Y+J%y zK0SwPoryyN#}{Np+4Q@N5_eQQuqq>LHnF=Krw0@ICJ5aTv{^VQYxb%CCg;!Q)0D`I z$SeL*vNPg14l-g>WWhOfpau_yq*~ryb>Myak+&pDJ8nyn`1k#^LX{>a@7}*}k<9Js zn*TX|Snz!ocZBEMqwO;C+%h|DXJ&+0ra7mQ8iXA;$F0`~>M5cp_?H(}oH8t|;ttzW zP-HpnZa9JKdh8;n&W?%Y|*IYHySdrzr&At=7^m$sGl#5f-}t4duYHsEO@-c>_Nj28*|6f%*AdRIv}Rdcu7K>1H{#|o?z^B zXQ#k1BRH}Ym=~d(2A<4P6?0d@7o^*@J;=M%*%A+(0_reV1NnoY@tyL0>I`zn1&gDC zCZuk%2R*kJ>xsYjdYoUi%E*Cvf8Ql;MN781K5njtV#z*N|EFvcMIS8!3tnC7;%}YP z$iHA;cB4AP;>Jx^AC*9QS{;pV@vH@3LS4r1EI%ytLU2CKP13Rg)wH1q`lOW`1`U+D z^0*M+wC4m|8Y`DK*UT+?1TFFfBRrSPR2m8@jpXV$1lJ->zqbZHcNwlVi=^AbB2Kq= zZws*r0E&UW=)~EyS6BDA4<>p6x){G=@vx>|aHqpm+V@(F<3b+uas-VtL+Jr*{f zM*v`Z3icptKJ|kDYZ%aG)hP9&q4N)`6$Z{!mL1yVUs!f{KOK4K(_#~o=EmHKkhs3W zg6j1Wd2$Nh+82Jyj${R2xbpZ)JDN-$KZ<%dT*22dFh5wY<99Ip<)JS3*Qw?Q-5>Pc zk333qWnb6JyMqcXl+Ba-BA%>A8qH+%D%s~oby+F!aO;n<3GZ#`8edGcK7Zc-(0mj# zm81MEwa)`5Q{uWy{3#F+nfp-+F4mYIH5Vf%{Cv}*6QZb^3bGB~TTrM!bz?rY$4mhpQTfx;z7l*2_k_Ap&<|wP-!ue9uJ0^cF^iH zLpW663GQHXWg=UCRj9-4g!9j<9kv|b!#Q3zU12_ z5}tLZxX-?>nh0DPn9*)K6uy~%$n))vq-(?Li(e&5TsCiTRxmGT`Dwaw@fCAP-F%d% z<G*w+hFTCx>?dGhqc%ZzGLh-p{& zg)I6X|H?X0zPw9oTe@29ooXFcwHwU}$?I7j9>yH2ewRL^Lco}IFd`STp*1+hBD0RV z@^n&_l0lR~p=9Ma8J9Q0T##>ENF@?^R1HqlQ5zGdpP(U{1M0#X$cUHgeO+Dat=1}l zzsSArR*_i8s$}hktWsAtOT~&}4=3}Ox7~q}wQFU*tJ0bW1|07P>$PgK$b`OZ&MKFk zlAB&P(HQI8zWG3W)NVE)mw9OCnM8Zai;*41O=H(Nsq%J@tC^PQI%S&Pw0!c``sH!+ z#*5yzJ$J5Ad&KSg@cVK#la(?XSMdmASI|4<`uEgEawqOnpgGFQ$SWwcl4^46N+`h?U|eU8?HGd-2hNii?#fx*JN4|$7b6-qYBHIuqG?Ms`6PZr5F;kw)Ar3b|s ziTO7SYes&Sl`*;IHBB+9=U;Ff@ukUim}_#N_ba*^**kx$=P-N6W4F6{K4$xBT0(Yd zbep#tr*j92c#+MIr*lk?W_)j3Q!ARCS=nSVROK6~jX&J}w9}|c*?Eu7-WMrg$8kkt zD8J2hb!CGp?b)%g&?@BsY41VXSHUwcq714aU5GkL;ilHKn=fS&sANURIz|BxIENyS zDvf1D)L`;2QOFJ?N3z9bD^Gyx9p!gbyj1mC^ftZjJpL^HHx>Xd=Brk}=SOnhCXa3V z-d9$%F-K^$0nlblcW2S~?=86ZscwYk(U0lg57KsQ{8y>%O!Qmy#Uk%Z2RyT+ncBVH zSkM!AZ_OZ3)mp5-iqXF3ODR{Ym{?WxC%P$NGs~JMM`b9@f^Y=Wt2kwAZD{a{ z;+WR;uce<3l)P~H{*`N|cz!I)KJAuAS@I?<9bGox4-pongc*4l&MA5J|km|Np-uokf`bv&;(9Mrjvl)$H?6YRD3^M!Po3_CKBW z&Jtf4?-ofreCW{Wfb=S5k1kV>&qc_+f+-%RT!-Nhjfg{Nh;R&^^xS~2U;|9>{%#pd zBpHrV03>JNGrCZ)TBUk)JS<0&RmKnh5}|Duwxl*Ym*1Ge1|7y#4<|U5+u4mSek=JJ z`>kWQk?yO3!QA}M`WE)i8CvQ6Bl@m>wU-X>miWLnLUKAG%<`9nb8a{Kjmj==<+9tj z8tT}~yyzsc)cW4day{X?WAv&^=@r{10Y*wg|NA=}3%7OCjR%=1qy`wvted6u%fl}D zy5C4Qcc+>v)k=H8Gqb%j@}9!KV;Pz~s~X_h`QClBg?vxm!7;YBq`e$!m9x*Ta^}G$ z)FG}GoZh&131<%pNC<~9&4nqa^J>zag`uh>zDw%;I_34o#1lef-Def$r7!1JhL|POPBH2P{Wv>!K|V;Z2OoWBm`NVkaLysV9vNN z8tn3^w?XiOcyNKJmC?mUr>Gx8Lx?dvWs*WNV#7c3==hG;aaRj83{nDXJufrf-bZ;` zO}X3Q{w0c3d0dz0j)7ktz+ws5FNkr%hLHNY1i;kfGdKvl$>?Urmmt?cT{>abhGH+F z^IKPKNW7IMYc;%D4HRE6OmksS$#bTnrCo%v?A^ zq;|58o1n{ci+}s}b6ka!HeU{Ddl*fZuZWJ>vpr6ucCME>x*i>_q4ld}@IHLt!>WHw zq*H1r{pa;f{q?Cv9*6ar`<2UNB8DHT_LVlA-^18fu)L`|hNEFxQS~*&E1q%BJS=v^ zDAM2by4$Q2R#~(u_{ymEj>BrxVty$NjuRwshLZ?JA>T=6$ znS8Vid3jpUG=i^y#BnSlAV2%6pdUyTOEga;{~0n3%+;zLZ3MfL$phuu3J3@4>cI4k zyYU%O%7l{jVmNQLs9QYjEf~`U{6${2M0k%{1tf%JZK2HLROLJI&27B2>_)LzY+P~S zfSt)ZZrcLieKBKk=QoVY^>4_{IfW-bdOUQg>16WQ?GQeGX9c4`1Lx>um;BV_M`qJ? zjx%w`EN&JIWd+5FuC?A_E-4}IP5Aj%apFeV1@j;W@ysgy^*r^q7fj7Lh|7_y7>n+7 zn@#TVkCZyBIZ?#%U|eqZG7=HOlXbw2#vtA;j+BtH5FFPw#5QfdWgRN-RA_>rqxgZ;7?&cwmp8}rh%2HGh8}!+=)C@+{?iu+{w`CU zqdzx7C*Ecqnyk-kPVgDg%&(tfYxUH#FSOK4H`%QPrJa}#Z8WaNUC!3E?khd@=uu|Y%bV@k z8D*<&1eq!Y6)W?UOxZ51tDHKu$;5ocARt{d=Z!6{1I*86`xFN&rg3|EZbE+}&3wb` zD+`uK8al{I=U;8396KOjoBYhyf8s3^lPAhJSm4XO&sE9>#e#uiRGKFBd14oVbhN~y zy*wq8G^=8v8_opti%OHHSi6gDhB$uAtadzHzM}3RCv!aW1k!sSzi1}_cB2LcyW9J+ ztz(0fD~ygt*{j&_af{w4PUoR!(3>l%E^ucFykPq=onKf^G$XFrAb2TQT9I4S^sZiI z18u?bzN~GQZ6Q(1m;IzfHrU&q(-ckTzyD;dx)wdyo=SD)h5m)9eQB=bB6RPi8zSmiIxYxohVJ%Tmf$-0nOsrs2SexaQe^1;e2f-I99y(Zz5oFa zGU31Lxq^Gl& ztf9AxYWBWP==;g#hq{|AQ5wCyHyne5M@uXdyqR?yXYNhV71XaEd{HjGv61Lu8QN@D z&k;Cb)7IFm)GwMeqLfN|`$kvRdY_XbgK$oaKScn83?0px>WJ1#C+XAroeCulH*VI4 ze=ya(P+Dwib|&d{Vg`KJ)&LAr3;2o}wPxTJ6@nsbXc6w|M)RZ> zK6$R72dIywf3}@Iu>PT5eKk{nr{{}aJM$}FUOy0|k%)NF>@FvEI&Zk}X=Bd^ zy0!y0QkN#{okN$-B!nHdr}k7zR$jS0Bx-Da*|T}Z$8wOieY5Zy!dH8 zao2svY@k32YLP)ztQjiF7jV6*A)TD&?7dTczsiwEe4N~AqPi-jL(f(IQ(BEd_31=& zoOgfavbLVA=^nSaSEplcE2~(ZnE0AC%dTdU^6KRER1P+u=Qs906B?a6?OXM8UQpE6 zNQnI1to2u&@X(U20~vmF8XWk>rYUNlaz>6eaWC0~ccgEI@r_PG-sz^+8?;k|l5D!& zx)_rG`qEN^i|;Aa_1mi6^C8A*WJ|Qb7iRYDCZ@<0(BNEvGIbVxin#a8km^G?0~n;$ zy19!#--f#$0V~r>Yxm^mas83EdX0XE%+8LhWEQdlBM|f`88~CdBa#chj1at0Yjo0; z-9$da*tw?K?ZJNY6a}OY45Ym)8MI_OjJpQTX;cv$s|;i|XZzK?P2kYO3$7 zHX|tfG%ZqJHGIc&oP*-AwpI?Aq~y<6r{PbjPWjD|VNcO76h7fyd?(D_-7J~@QFE?{ zrPJ*gKb^oG#}dMrTxtXAk3qofnsCsS<^?R<+#P)o*}8OQXpTpxuzPTYyzL!5;W-O2 zTX?raAz35gPuf=nIg+T;)EY#*G#**cKf$U5n8RPpeIHG_l1xRh+-ZT{?{}6)B1WS^ zQ*KHHq&AjLWt;bytPARgn=(d*hGtW!RB!BnyG3wT>YZH^GZRfgRf@1tRorzh3v7?n z&kN25TnaD`csAjY>*;p=eQRfIUF3|bG`6_o~Vm65sESxPKy~JAn`L-P%%PFvgj5J4ugp%{U?xAhF^qcu?zI$O1HL=4{Ro8Ld z#mCl`v_`zCk7^|7MSF&!zy&!m7((sizUY(z@s>s?B zw*LGrNOI-p>JQIrs=ww9Ha`v>*F-gKpBwplP1SiQ?Pb8ict#oFd4z270a<*w`OfO9 z^C7y8^3n7HeEhLz%$71)$<8*YS&01_GfB1i`QCKozO~lAj#F>EXS%ySOlK-2w9Df+UJYNN^}rB|Eq?FR222|FC&1 zbfxF;?{9_7RIMei1r$HdcS#z;@J$3es46D5DuqebVhlF_m~tTFI#-}et_KH&RKc+I zhO^2tw<&qk+yU)-aq$ZY{ORrO!E0;Q6UIB!L^u;7wsP8;o`&Xe(06=IV8SguiF5jP z5S-9PIVq>k|03KUJgBi#S!=}ahUG4VgydWBbKEBWptId5H)ZfjYZn+UWFE%~q(0}* z(o*2eeEMnj8oYKmG2Rk_v#0#qxR#{M!fiLUZvB4ZdQ%trXTVD1_lWO}3Z1K27dW&;0h6i|Y+RE$dcnYqNl0wUV! zRRUpQS(}`PKu#ahIgo*TY4ohDtm^{lO}S?;-K4C@mSUKX`Wp+-P`NT-5PFoWZMD^h z!n5M*L*>(BLk<#Tyho2F$49s{hzJO9^5<8EhAKBWHPlz$!$Hp2Se4BqdqYSU>tk$B zbft}7kRKDD>ry|Thw3$QFSPb)VK=b+d88X`#%!(`Ln{Zma>TidwO55VOu+o9h&Zwi zX1liJhYxUJi>9s8L8^5*@z5%XNa|$-qT-w!Kj?3Mz+bVfGTh1Jkq?HL~J9Cd(NtN1hmw};2O~zh#eyO{! zIOwXs$KSatr_GXeOG>-D(f)b%a?`W#DPDPfiZykB;wfv^@=Q+_q!we7|5l?k_U;WsvjK4 z5fAX9im=$gDF8Xd(n*C!_vmuwiE~bf%%1Jg(2G*^I2oz1<+ygN0X22GHD&}{%NAO( zbz?gpEs$jiF_ra>yVSf*v8TL+?;D&QQLcG-;KT!HHDO1)@qM{=>gzOZhh+4n`ET6!^qA)hPOE=cs1!*bsoaQmB4hR(=$l@C z%{5lN=9#=-L~L!g#`b>uF|y8Q8o$WXp#t^ap$|-GAGFRlH_rR+7h3ZR1%;YgpV77z$M1Tw&-7efh1FG{aN@1RrziK0UX z8Ic}9ilG-#iu9t0q9B6OOAu*;GAf|bZGaRRakxA8{^JK(-&)D}&N=(t@B3`=sbn{P zi(o7L+F&u-c*pw;|IoFy&TJTq6l;YA7#PqgoQv*QdvU(`qeu=;|A}rzv@PNunVOQI<-IibE__ zs#jqw)qup&$8EkK@V&y+K12j0tK;tQP6>dQ({_tK!mM4e> z@w0Xg^npaYxf(vSnBO^n4-P^lK$dF@<*O@mvr@B%B10^HWlwkbVrKuXTUMPa3$~AN z8IH*(8{OU~An!*%9@&2N6{JGx@%3*TU(=NTc%Dg(+7LhG<3QvxH9W=}_iQdN^Ig>D z5M;^yEF(=`rw=z9@ew^r53zS)3d-SYe84zl&Uh55^6Sr8gIOUk@u>mj3NoqrqD-D! zkwLw`OYnt_!$#RUWzN(rfl&gQ6bR&x7Ki6Y3 zEhryIzvYYUC3|ec7X5c7tHs8BCIvb#lLW3}Fmx-4GSd_d2-tLz%J>d6uxpNgk%zFD82jSzw z9%{JZU(5SWp3Mfn4%L3UZdKvxI*+VJAZE7q4=V6>ql61r30-U{U!z@RY7R&I^70vv z8Uld;&6{cJta#Z}z^rj8nL?xNN9QKTyqkU~ldZK<6#wY5W+pTDJ-PzS`_ z`p;CqsU}yYqjk8&S~tf)eK0msd%^$CN?F5!qLjr0wWWh~A`c(t(kEzrHmS4w(K(@y zFU*-!KGuaJ9qbu7^Ix5HN2_@iY#m>SXn(cZ>S>cdOtxBiEU3cJBAt2T8KJ(B^?M)z zjb14!IrlkI*?WwY(ippQK9)pEmqz)L&ya|C(lZbNP8bJqNhOWt360fn_jzn^8SUZk!?vmJ&{qg7`SYf0rh+dM=`L zNY9ORZWR<0XHg$NMWa1Omgeeg)VPv9%{DlP2wG$5pO>r3`hRc|zol^0tgNkntnW{> zzLV;anPF{ZWt7>zvnB>Etx}C-_P8ORQ^*dZvTqQoUULWe!tz3RdWC88Gj<- z1!I1`5Om8f)p*qYR8{5lMirzsOhmY$(2kZA3tvQOL~D(2qb!nd%e^aB)#ZPU}0KQdVx*+g7v2dN5Xb&&D@4 zo`h#p9xR)0vgJQLlV2awjUd-p0UeGRyB%`lmvH?D_a`1l41`~DQEOVxA9;YJAZ z-=FkWLbV3N%oYbq;iE^a86PK|TWcuF#oQ+@-H-ke>ge~fy}jL6h*0Q?)6x>;9#l0g z)g}_%cq6-RiEdn(;gk!lNRyR4R?b}sJ0Tyq>yAOrt%SNdcYcYyxxGQYj_triE%zv5 zvaF*zkmGZ)So#Y4a%7y7i%U$m*Ty1O`&~qz0EICcCB8k%pe62YKao!+n-WFczJ_+n zt4%yK(YM0BTDQdvSo!PTFEjYZ%&f{b=}d+Emp8oJ69YZBwb3XXE;Heo|FEUKPM^TS zbhQ{Fk%A;#Wi;_=hI98(eI{NZ3OMX6HhO0rJJgvTFLm?$a{P`&p*}GfCGQgFr^>6? z)9Ax{w1b9H4-crM%Uh`HJCDUF-1`p#;!f;z*0LH#5b6K(a_d&J1&a5%+@%bO_QaM9_c z1gk!)&CREHcw5I?bvR&kR=C4IVmw`3Os!4!)9uQ}eoVhgw+G5~nuqLXfJeZOmP4g| zm6GvBA70e>z8Gs*3_0CER>{4iKNOjaD;t%_4cR!g(6{~ZjuCctLoRDfID24scY@62 zciFWifz&ePn7Qh064Cw#57oRlg!V|OY6Bnq@XX9YeQV#xZMzMaHZGxnS509bx0yR{ zs#ybdR!FwK^ixv?aDysnc-u>$=$mn~m0@c(4GldL>0*w|$43@F23JChid^+E;%l0! zB$oKXJS3f8eE7o?)Mj(ptb&4qdbaz*b9VLGe+XYScVq@8cm_kBi6>huQ(nX)ZwuoR zRhFj*{@;dcB zPb;L)Srhbvwbd3r?ZH7i!e}){zl4(XZ57`!sjX7_6CjsFM!J?rtcTy7*0Rc2CqZ7? zZ(;DEsp*}YYX^rfn?%nRv#TaAiR*5>@%wEjYTXYGGc!dVrvE)ESs%;DW6<2x6sCPk zS64)A&rLj-hmzMXIVW3bwyEt^(ml;EReC9A6k{P3WRN}n+5Egc2_9+86i|m!t`v~! z{|{ia;k#}o1At^fBpc0YB3 z?%Cs2OSjCxAd93k10l0Nm%ab;l;WR4XU95)t3UPXpeV>nCST9CiOsq2Mn-%RHY1)Qs zb74V2EXa8%i1mQuZHL|9q)M=+5ClD43zG|G_(|~D zOP#V4Bw~#i-iMvYjz@MF0_!Y*9gFqt1vk|bXkNmeE;Iz>j8YMOt6jhXjgODR=CcJg z$T zbOiB?G53^|6lg`kWLix{N&qCpcT*vT6Pfe5v=kdjll9?JN*g6rYVAoG7txIlhC3zAFbUJTXbmEuqieh%vu|#0 zcBm~J(2{iX4`k*6tB|BZb`taE!h9bAuAuj|!xZ$6VuPOrE9svHp9AC34tLpyww97O z4cTOCKy0!Bq{Z&nz=Dz5m+$1SL*6s^-Z0D-e&X_60chwDN%xxbm8`x5td?Mwn=e3* z(%h+H=S7izLj2}63~1;g%}9^gk&KzNb-59PgFjD>;k19KlIeU)Yz$#US^S^RooQ(| zsID$QiQ4}>|F9D@S)9=UAU7!do3OSxU13M|qeUqvBLCin&NVdeAh>>;vpkE1dn>U5 zDzzN~-Ir^L2SQq;Y00{o^e~UM^P_+am>=xa{0tfkqhNTlWAM4Mj4)^NlhXh|49@^= ztlv@n%C~0g2@J# z51<+_i0Y6gC1pJ4kaE;LEy*k^`a1zwJ>XGE!rAqW)pN?4#yl@xUy1|J_3?4ZZ5wI$ e14(=57!dvYg_okJXi(%32n!P% Date: Mon, 21 Sep 2026 19:46:49 +0900 Subject: [PATCH 04/50] test: cover safe area boundaries --- demo/e2e/physical-side-safe-area.spec.ts | 36 ++++++++++++++---- demo/e2e/screenshot.spec.ts | 6 +-- .../physical-side-safe-area-ltr.png | Bin 46374 -> 45529 bytes .../physical-side-safe-area-rtl.png | Bin 46135 -> 45269 bytes 4 files changed, 32 insertions(+), 10 deletions(-) diff --git a/demo/e2e/physical-side-safe-area.spec.ts b/demo/e2e/physical-side-safe-area.spec.ts index 98b6e364..9f4a3faa 100644 --- a/demo/e2e/physical-side-safe-area.spec.ts +++ b/demo/e2e/physical-side-safe-area.spec.ts @@ -5,7 +5,7 @@ for (const direction of ['ltr', 'rtl'] as const) { await page.goto('/main/index', { waitUntil: 'networkidle' }); const menu = page.locator('ion-menu'); - const result = await menu.evaluate((element: HTMLIonMenuElement, direction) => { + const result = await menu.evaluate(async (element: HTMLIonMenuElement, direction) => { const app = document.querySelector('ion-app')!; app.dir = direction; app.classList.add('ionic-theme-enable-safe-area'); @@ -13,20 +13,42 @@ for (const direction of ['ltr', 'rtl'] as const) { app.style.setProperty('--ion-theme-safe-area-right', '84px'); app.style.setProperty('--ion-safe-area-left', '76px'); app.style.setProperty('--ion-safe-area-right', '84px'); - element.side = 'start'; - - const bounds = element.getBoundingClientRect(); + const offsets = []; + for (const side of ['start', 'end'] as const) { + element.side = side; + await new Promise(requestAnimationFrame); + const bounds = element.getBoundingClientRect(); + const physicalSide = side === 'start' ? (direction === 'ltr' ? 'left' : 'right') : direction === 'ltr' ? 'right' : 'left'; + offsets.push({ side, physicalSide, offset: physicalSide === 'left' ? bounds.left : innerWidth - bounds.right }); + } const contentStyle = getComputedStyle(element.querySelector('ion-content')!); + + const modal = document.createElement('ion-modal'); + const modalContent = document.createElement('ion-content'); + modalContent.style.setProperty('--ion-safe-area-right', '12px'); + modal.append(modalContent); + app.append(modal); return { - left: bounds.left, - right: innerWidth - bounds.right, + offsets, safeAreaLeft: contentStyle.getPropertyValue('--ion-safe-area-left').trim(), safeAreaRight: contentStyle.getPropertyValue('--ion-safe-area-right').trim(), + modalSafeAreaRight: getComputedStyle(modalContent).getPropertyValue('--ion-safe-area-right').trim(), }; }, direction); - expect(direction === 'ltr' ? result.left : result.right).toBe(direction === 'ltr' ? 76 : 84); + expect(result.offsets).toEqual( + direction === 'ltr' + ? [ + { side: 'start', physicalSide: 'left', offset: 76 }, + { side: 'end', physicalSide: 'right', offset: 84 }, + ] + : [ + { side: 'start', physicalSide: 'right', offset: 84 }, + { side: 'end', physicalSide: 'left', offset: 76 }, + ], + ); expect(result.safeAreaLeft).toBe('0px'); expect(result.safeAreaRight).toBe('0px'); + expect(result.modalSafeAreaRight).toBe('12px'); }); } diff --git a/demo/e2e/screenshot.spec.ts b/demo/e2e/screenshot.spec.ts index eec1e968..5cb1b125 100644 --- a/demo/e2e/screenshot.spec.ts +++ b/demo/e2e/screenshot.spec.ts @@ -83,10 +83,10 @@ const preparePhysicalSideSafeArea = async (page: Page, direction: 'ltr' | 'rtl') fab.mode = 'ios'; fab.dir = direction; fab.horizontal = logicalSide; - fab.vertical = 'bottom'; + fab.vertical = 'center'; fab.slot = 'fixed'; - fab.style.setProperty('--ios-theme-menu-width', '0px'); - fab.style.setProperty('--ios26-menu-width', '0px'); + fab.style.setProperty('--ios-theme-menu-width', 'var(--ios-theme-safe-area-inline-start)'); + fab.style.setProperty('--ios26-menu-width', 'var(--ios-theme-safe-area-inline-start)'); fab.innerHTML = `${physicalSide === 'left' ? 'L' : 'R'}`; content.append(fab); } diff --git a/demo/e2e/screenshot.spec.ts-snapshots/physical-side-safe-area-ltr.png b/demo/e2e/screenshot.spec.ts-snapshots/physical-side-safe-area-ltr.png index 5102124a32f386a71dc1b940907ba061743a1be2..cdab211ecaa9cf0c6cb69f97c92bdd158ac4f580 100644 GIT binary patch literal 45529 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%0D?XJa3+m&5x`&Xa!8T)Ap zo!I!KXh71+W9!YPsQwpnm+ah{*9Alcocr7Nzjuo|IWi$rowMWYNO8h$Zh@sIjg$%f z?D-pno^UuUOC>sNWhD)!7kvSm{_N;iUJ(ZZq;!Mrmhq2}{M$qQr?C=i4cmpX&!0cPhHkho^Lb{=gDNQLUBK28dXxub>E2^)sd5v zGbhv7V*WzM_H4~b=^Y(cuer2s{<#=T7jf-i`4b`QMTZzebH%=A!6TpTxOhWvS5Utx ziKrgQ?>xq_%&?Ei)sxq@w5f?b?J<8Q?fk^d=Aaz8v(;r?pIP|%7Z4AaKV|*1ZdJrZ zRaP%s@KjR1SaWpNhT;n$qDg>NKnLX))wv5ZsdVEJUBmRgr_)t2IP<QYC9cGoW*AI&u?c(AOAb6DYU>b$;cyO%3P{O7{0q?HvB z&qL#r^{y4oC58@~9V`1oT3Q$Od6X_Y8F4gv9Lv(z*IqS=5n!4vS<_Eo{-Kqg9&*L7 zX64G4*iLHpvC~``bGw!da-!HMCj5|1mg-@WZJFnVV+R_nvOBAJ%^g5vhq<4PH-g?a zdp`IbK{SA`X{&-*iXS2wMM5RS)H?wf`~)szD1PT4dVY}flhsCRnt2Cyn^!M=ktFkA z&%#zt>ZrMgckZvOZ>0_vuHQ4DA>wLLUm77XGMUs<>2bY@g{(h(x0dziXU&hwz0ZHl z6WAYf|3(mreKpNu1NYd6mRT}+YSLFqTD2#b7zX3jRCi^CzW@;mOkd~VByoVk{S`4A z!vkg}`p)!Co;o2PXYt!-GMWbHh=^lAbli_6OPrgUry=xdqL|-CcdL8s!CC`5p~_b8 z+!&pajAtO!&z-w}vyJd3ZjgrhhEULrvXH01)A-TzGis!kG#%7{A$^(Hx4VBu%IaRX zNp7T<1x_`tTWASQJR!T|f9X}NO zD1tIlmCtcFOp{Zpx>#lx+NQh6jmT_fMU1+V3ca~9Mb9RBb_OHOe%<5 z6=T$eh{Pl7X*@`zP~lMo4cR$1N!;0hLdIsgvd!I^q1XH7rujc&D^!g?mr41|GIdWz zO*9+Ti^*`i=9eyyOVkdp7mtpuuUkvr7|O}?@Z)b%C#`(aNgFah8caJd@Se&>S2RcE zc0E;sVPngS!F~$`M2d<*mj#O~Cp|;0^>EM@^=J&eOIY4=r=I4MeIL-e``ZpX6lOD7 zx@;FDhxa_)bZluC{e3R3=Lrb``%YcBI|`LA?wDy*XTTj}xrQ}@uXU+?%V~eyxkyL@ z%TAmHZgXFfww~QXX-$IQ4mo>z<%I&edIRa}%PhA=`^Q3q5~6h{BmC{o-Fq8X5Oju@ z6zKyox^Hg2y0c?hZ&&{tYJ-rJ`lo7^FRpugdsM287PIjOdt)hcWjy3O(XGBUd3s=_ zaQ*@15L}8taK)agm^2^1wZmtZ%ew6K;-z0++xDK6G0T8ghG5fx&d80;AHA?;7{|za zu=LrkRdDLIH_6E|B9#Uw?c-RsEEg*UZw3Z&pHJ=fth_W#k4|m_Dz=n8{N*E|w0!T! z(ty#b)%BK#;yH$bOebVf!>M`ZMQwQ2DMHV=;|*axgH$*qA6WB3TN9TR=f>o{zd-1= zM-dmyiFOU~Rc5I5IYcGLWhZ=ypgk{Wj4=Vo?;FyGd+v{seV_SMmhAUul14_eQ7^TV zXJkv;$rCK6S;d6B1p*FoJ~+ORMP?>EMl)tuwIo^t1!&qCQ??O|eP`}|1|B~8A-;CJ zD_22W^BshGj*z~YMT%(;r#xE6N4MOWj)*o$;Q2DI>~4E@pGj256?Y|L;62fwvbFuW z6nDj%0k_!o2psK3cu!AHcD4kyhwenYb$0%ARkZy}U&AHU$Bxp{GMDRas=8L)3L}%! z($dOUr7l@I_hw?SHb}FiS5#E^6q{yfJai@S;ssL9Cwi$?o1vP4R)3KQL|>8mX?1OF zI9b5j2Y?)~a*g#Bu>GA;>gcH-S5Duc9{vm{VAI_cPrF|UAN&p9#wDk;D-VzvR-(3&SzW|rA^U-C>>~4+nlDKwO>uj7^B=V4+Z5jlIN$EGE`3eX zcD`frSsVWkmW*M+`Sir{Hm!_qS)V1?D^H_P($S|sezVsyi}ZC}zOtkwX~_C)7TMg<{7lC* z4HesX$<>-u)CTMt!^2a;n&m=^Y=VMu9XWKTJYRo;am$gPO*)n zxj%H)-rjj#tqBT7f}C9Sft_Ua7VUZBaJVD~;WLHI+KgF|7|kHzg2+YzdV;af?J=Hs z_T8Yd$CB9tb2s)TVE=J*Covb;!zcyO6R#-vdcsb+T)6r)jLhFTK={1n_1G5Wr%2*x z|I#xRrZZSj^}tqpy}x>Bb$NHbqy8zD0`{0!Rm&Ulm8tc3r%_$3`b$?K8;XB91(sY7 zcbQfnEQ{w=4=TLuIL6qyiMZ6YTnv)l^|zeiZDS*UUmv?o>HLFQ(mWGa#>@*nSn4Qa z2%8!jI-&aV#WhN*f=vV3pc`gI!$w0?9 zie1nGVEC~*Chq>>1HcM9!l%#GOy%&DPF1ERE$D%MYs(znwp05 zD(R=-0d1`1WT(YBN@XuRVnJCI3`E`Ak!pK9W{U+7GPSrKv^c4Kz^NSAIabc4LU z3uDx6UdfRYFftc({CazEy|yp3Tvk29VTFoHe?&@B-fe>h|8`0mnO(CF6mRdpe>9`N69}u>X@8xirm$ob*1I% zVDq;8b4ei!%L#?2u1rOKx>8m+d~JQ!bGWbgC4^H;`ytIRYCwZUM70}aw5#}%QrDV2 z_pip@p^&_5nY_(2H-Tx>@#g~vscSA$jq@E!K0X!wG(KqU#|)`p7AVN8TT=MF?c&Fp$CMtEPTx0H|8}qH zdS+^~}|!IYPz5D9rzVlyv6dQ0{LSCu1igOSTwWvLx9; zmN526sDopVL}M#Sq{SYJLWzXo97`fn2qD>$EQJQ;x$(Zf1=K{4nn@2S{xe$67Dq;Ufi%IWLxySCf_5)nas@MPeN=KwOD8CC z?Z}dg<9|8sKlVstFOQJQg`m0d<~$80`5X}rpzSFsDfC&o`+TX}tPSkBx7 z+#r6@t4xko`1CV-Q&W@mwH%_iO$;Zpu?>$r^i{m1-cR9LG52#{&f8e5?9!_Va=Y#} zs=j-CwDv(Jc4$33C-9}ud(Y~DYke6p0wIYsYEp-UxYr!N!*y>zotnFnHUyu;Blm?X z%y{_ZiLM?l<^>oM18pb*R=w}$6G%^vVIXQiFLA9T+Nqd2Toy>T_B-ftNzVS^9_P=*r(dqzdkLDhQD1e1oA01%4I0Hp6hhCCK`HvVlKTBqQcN7dtzg8H`5cX5IZmd=aYQm>pspyt8w*sxF3O zmL*nXbqCIEvU9O@QkM@`dhVw@aORG@f5LI!oA1ky`RzEe-FB9Tzxd+XI?OwlRJ*xb zS;4+@P$BTZKGPz{Y=UM(e3nOg*15b~$sr=h(qcfv27f5wD%qF7pp$D67nW}VhqifC(4F?xpqa+su< z=t{JG8@lsXDxyF&Nc|Zl`zs`DexbeYn5Gw~pzIM&E=85p)60#rZTqe*!KIC18yJhS zy`&}VTjuR;b(}`EB4ue<#5i|~HgnL6hwix32`yRD(oufmME~JjN<3{SO>Gq@A;>&z zZf*|LC6xFLrrdOhDwIwrQynWYxZ>~LC^z8S|9;rB_in*sfvfRX=d6gVg*-J1JC3Wa zS43AESf5N~t(4q7P=40Vq3c5bpvS`7=9Se?ty#CvCh9e7&tPFh?Mi_ z@I#-$&;=o&Jsxu#@`0bff2)3yX3x#e)&We=p}aQZJuPY+9)|3U-)4}ki%--IcIhJr zIaRPK@<(9j@k$iojzLcod0|MJt=w9qKLHv>MJwcIytkgrrWa_Njk!uCvV837#wx${$8VYx!%Gv%ibsAf8;*y3UvNKpqFT>%Fsv`V- z#P`_{(?k|oHqEIqzC%Rf;)X9vzofI0V5eDjTFUdD9(&V&>h}N2${oqdaaa@Ph_Hwm zUG60kGbidgb~hGLc749;dA-{8*N~n~Tenvj;<`^AzMb;e-;o$1(>L_5wP@#>GX}Hg zMshp!rO68mAEp;5Ch2-`_h#|ld;otDm^+0W&#E&`jT&yL8C^Od-}e0Ut?X`)^S_c9 zuMo`7{Y*0;%k;}@Il1(&hsuMFCmuhPb4Q>wab%n zD^eo=zjO+3txGWiB zyPR0_1sVg)XH1BJ0yEW^r3-UvyhzMXjL(*)7H|aa5K#vM2zx7%#fLQ1$V_|l$K_q_ zJeAi9u__$*Ei_cTM^@~5%4}E{mv3gItn#OHzT5ROBQLjxnYgrTWS=hQQI_GnT#VU?nwBg+wLc}~+|dMpzk2L7q=m`GD&Bx6ffWc6`U3rRn*DlH_ zXvy0XfCE4yy)ih4=n#M?FR&1jh2b>aPF4L%f@hnKI)*~n$mmp`>HMz0G$MF3zD!i? z{OKRrn*^en5mb|b*P33+RK%&1l6qr!(hv87b@Uf(GDu8mgr1JkT3HTD`y#A8?+jpu zQdU;30AcowVWNXxd!9Z@Pl-U|2H$aE%0>GXj|bd`Shd#YP1WK^>JAtpPJR5Co}C>w zzs4*ZPUPjDp9Hn01V?klEQ^6bbKuw`d1EitoAgj7t>WXj@bVk}=m`sa@gu%}ot&G? zyn6d$V4C(Pabt3fXgHKR+Qbqn!?p*-#e03ggIsvvqoG!zzO zvqaKns<5;r3cBD_`tgwpu+kI9xZIqUVIblXQ8z#D1D*;T;(MrKpc;{90Y7E#ty>g> z36!AgElfO!xrINTh8{Gdmh$EUbtxqi>h*hc3)o`{8Yx<(A&Rf`B5a5U10LGk)^*C; zsvX(!jo;A@8-t#}MQV?fx6r6+hnQzbkm3^8&022y?{=jBmX7~^5;lSw<}}6VlJDFC zL)$AlG8I+ZmcV15Fgof|JbSgs<4hL|^XgyJ!ouB333Ol={2pYz!+h^_Le>`o_n7$k zeMZ$m50qJbfythj=Bw$%#6+}Vp1}$hz1vcM0Uea07suMr)ndF039VWAqVUH!B?T_Z z;1Ov7o*Yc!U%ZNzhlh07pz%%#Gj5&=(7i&B;M+W zyyHY4CVp)8;}YYp?af9`3=9}iEzq&)9spd;DX27IAig*3xp-u1QWAC`*_oTOiT{Sn zHxET4BqB@yQIlzaG0Ed7(|A?m%03Kyds*Js(^L2s5dFx|_F4VliG73Lwa&T9UUx{f z1k{Nn)8SA9Dt*~bnwCRU+}eJr0~SRyVV5%ht(x3N)GO||cq zp4_8Wrmmeg0xuLu+IT?>K@t6R=+2Fo!;mQ^-y_Bc`oOQm8%EnczCz{nWnp0h`yA*) z-*O292?hOm1_n5#p#_|yBY58z#`{7R&q5R;NG?_$`eUX$j|20kj?eu!`^AhJgk4t9 zn(_+^mr75OcOmX&f+{JwNr+LJe;%Ph`dgOs1JO{l1Rb11=mFg-cwiv^ZMX}|jMCl1 zifti(cuy36lDk8>_5tGS*O$eq)p0aHc&*F-^?iJCXk~F60SzXMyILd@nVb4ByfVDN*z+af{bG8-EnAg{jaf?M`o@X%hLiK;6kCBEJhN*sTF*Wz zP_a#L-gl2lG6AXl`40X5$rPl#Sq4Qw2Cm~OlHez7#Rizzgwv_XdvkL$x8((wfv{AICWRt0}yV6ZT;Ay*iAME?)(IY!I? literal 46374 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 OguzJP3|EbHiuoT(4r_S; diff --git a/demo/e2e/screenshot.spec.ts-snapshots/physical-side-safe-area-rtl.png b/demo/e2e/screenshot.spec.ts-snapshots/physical-side-safe-area-rtl.png index 876c886aa2d6c8a8a28e3423a7917af7550681b9..a13ffd58629abf74f40e9813e1142c8b0ba55d7e 100644 GIT binary patch literal 45269 zcmd43WmME{xGy}2fRY9X3?&vNAl)D#Do9DUpmcYalz@UtHwXyQ(w!nocc;J*LrFL1 z;(7L7>zsA=hj*X%!#S=cOUH5kb>G+Zt80SfWuFq@B5@H21i|xX5-$;mOEm}trr(uI z@JdI3!z%>h8sfQxsFHKS>LiZ)z|MK=U#)$Xv<&=FH(xw;!XL~m5()}7>`KH+#1oiw zM|Mn%S>Et3l}ESayHb`qYxw-_B2 zWdVnZXlaF?g+4v-)0~zQerjGJKp+}!iDAOa{{O9)Te=@F{O;~%rKhK7VR^{N$jHLN zO~@12JUcfxXMJ#VczAexOo5O;t}H8Yea57kNa@bCN82{Z+B!YW%F8=4>~tQAMx!SJ zsebBZPJG#Usiu}rq^75*=jd1_Z06%5>f_^sjToTLC@pafR>|kTj%0jxm4}P#J}0Nd z+qaj9uP1zRsz=J}^S&d|b$8#h(sXpp7gkkQAH9D4(@_UGLSAvy+{9!dn;N{Q!)!F1P)LyC(T(<_^rN~x(GTz7tY?X-1yg6^k>gkEH4Z`res;%k^|!Mx zCJD^{q1*4DUGP^;E!Er*t>Vnq^0|RM5^lSwlVcH3h@w=kbI!=LdRRxtsBIyPrA7u%(gOX zma&`n&@s}{m8YaUqNo3b@NQFq<1+TNDI?&x2L~P>D0sN*RXYVfVC|rXjTYKS;;01= zN~+i61`2e&$~nj!H>P%HeD~{**UinkYFtF{DV@J4xI~Zz5Z1n$s@Z7MVrOJrIo|ME z8TqalD;=l1bAy6nJWJs{1|qW4Q(E(h@dBfF4xOMp!L;H1S6lPdoj?&3rl{n0<_!iO8(VIg1X~%Hzt;cYMcFEp46`_ooA(mR;?B>iHV7EZl4`*B=YYv$Y^;U zl33NSrQImVJUHE-#wOr@epAS8Pou{9d=$Ufs9Wiw@mNXhlxug=WE=fmNi7m8s?(G0 z^LWl>7UoBKO;llm>@COKF|R$Bm&q|OeB4QdyxR;iGn9=hj#jS!Om$gI9L+Xzc879z z=?cNRt(_fL$1O54c~lVJ>z@<6b|`_kgZ=5qwQ;9MdtT#GLk`0q5;zv6&0?dNHS5mL zp00FpQBhRW!OGRH-h=vUVq$`1ctjZci1} z7lpoljq-d)n4+a+Qkzp3-WNnl--wk-4q=`a)+52${FK|%t*zx9i4`d+GdTq)(?6f3 zS(FJM8HLh_baAo$+FKhBB&=O}Px8ZI zc(Uiq6Fj@4gr-=Y|huN&Ru3N_|=0=>E)hGCE#f6+W%F? zQ8=frPPl91GlqBDo8pW_?lt9{?|Fz1m%@--KabfbiPT}6^joUatd znucTxq#nO{lP)H1X!uouyiN1_6#@bdy1ms=ZIqR%XA*k8+y|4lW|i|HPF4vJ0441Pk3mUmMLby!&ek90mn8~UcaYqb%fBn?%ig-1u%wn9g zx5DOT8oQsrzk2`o?{0BCRyoFYD(4KLe*9?(VX1dNeKeNuQsZz7dQVeE|k`g;s+*5`f95zJCOK8Qdp|zt~`f!k@ zppWY(r3gW`-lQ~3M^0h7L3Y%OD& zw)S>{D_1r>?G(3(si`K6jEsg0bkF^69+?`R9uef%9U<4=*45Q@#`DlTdNuQ&+$w%l zjN598({+a+j(5AGIKOu9NUAdWnUd1Z{&e>=?C*hZ-7AZVazfWBC~~;UEhoo1E+elU zE@#qAyIJk!l~2`}kFulvgW1P4Sj`;Ij#|{!)nS_}?+|DrLe;o6#~7b5sbWk_{PwM= zsO^LnaW;Qyrld5m(!V&uWu`)LTo87U^E51JND(K0{_tGwV|27r-*e0;)^pYV^ONGH zu5yu)owf35d@5Jb_NY8m*J+j4`OS`^)&K&{+)p89`IRfpL?YH6zm-)#xbF^{OeuyO zqBq7$bBbi^5eQX-vJ!G~@-#_puXn0)HD^aVJw5Va-PFblj@*_L1KvXT^Uf)puNLh! zB5!_`aeF<};29@8_r5VqXwR<=-%!f|9d>?%?$)%dG-(N5h)d%AyDs$t-*!mdDB0#` z>^90H)8{j6#_dF>sdZ?X=t{y?DyJGVW8;y++1mXnqs*?<&p~Iz*a#&bcFnO`x7Q-) zCmeG$`iA?-->0ZcbV<&i(d9}?w<3pGs+LYNq|ZH3vFFQ^{e3Sr%Pn6E z9q)~E{CrPtAp7*`Q?KJS_YB+(CVNXg8$&}CQBhHA>x(*+r^RfMkrtUlCgzK?vZ|=4 zh~x@(l#Q-EaogyuTdy+HS}ZZ?=N1%npR6jatgIaBxPCWZDK$5^?$(p>T>hzCbq=n{ za;th8PqkMBy|rgYX5~{==h?UfDegPHbjV-yb{1V0_CH!%pGrt<39%ru#auMU+F&`b zB^=HAIHsJO;tp(#jmE-e`w_>54#el{jw?23M=i9Um)^JlC?aPE#cijy?VrbUCAL;_ z`dxQdCbJao4)d4}&`V+kj9b;){r)VndLKJ*+i(>N#XOFW$hx#(VZyYZXR^Q;AmwWm z+_1cST>q}9qn}oLZK6_q?s|?&-q`ooZia@2+bCv!hZRoinV?!X8f}YX0|kXohc4Ff zCg&5cYL&hvBM4Knm2)$M>`QD(eg=I^;$y`bV}0}}rK37cGvda@R+=l^A|q^zB*R~n zDT-`7e29_tlEln}=ul?=JRR;TBSA*rdVE5{K>G8W9O2Zo9X0h()UgSWTQ-;E2ea!h za3gU-zdYmGi^fJ;XpduIVINPW>c0w0FE20C(x$pcA(VVgEdkLJUQca|pP8BI=)m80 z|H)tP6kDI-Ioi?j;`9%!tq@bQi}z5arsD6Sd7ep00X=zWW2=|=#WgW3Oiol(L0|vv z{;Z?2Q@c0H#Lg~hn!cZSL{jRY%9*;&q%tusz^#2s;TiN-$w+h-Y+XDu~qizkr#Gx zaq;&*BtQ=AZ*Ma&9$Bg8Yxg$p`bH${#(e&~GB-zhtzq~#W)=hC_lqO&`vutAd7is| zEhq?cG~SM%nRHx;i=v%)Tgs=Fb&?bjp{1tw!{I5yG{v?QjxZR|BQN^o$rA>K=dkvH zZqd?;qAZ@98qPN2PNF0Y4Hn+Kc{4vhKaexraF%!nBjxBnY1HgTdc4K?H&8}_*aiCe z9RR=(>s31+^wY{A3Ols;iy}}gO=Ud7!U?>Lg%w_nF>p&qLqkX!sNWTW$h48)mBZ`j z1%-u$71+d-JF$OvcLx{S53g@K4XnAzAhOU>WhHUX|9P`=Mt~nSCY1E1axE1SesjcQ zs%G*#|A#d7zb3VhR&W1*V!vb|w@$|@Y$A52{YjIIl%iWgNGt1he*`&^J(gK8LNr`2 z$jYK;V(NE|2@khWA}ufP>h9+7jtiFhFZlF7_uXx8_4)JX-_Jj%r>Db8n!9F9AmC`; z-99&fLy4VmMLNPb=|8oAtB5K0z0u5Wq5b!}n`Psc^-Et;+oM^%R=%|YSRFq(aql$m zOaE=tN_BoPC&y(q)ifssm3(u;uG{l)fz-t0o9jr5sITYgk;u`~oW)oPm$|$|498+S zpeVH}dlN^;C=@ScDDWvA``(seEj#UM$2DzI&!c6!#jevn*AW0dPTRpVQe z{wcxz30h0D7y+j)u3@cZ4GQ_v3lMpBFh|5%f1>f?#p?}E7-mX;Pk z?w)^J7Ij?~G6HFmY}=X3HRL{!*+gEFa&?V6l&A3eeZRR|aNFF>rwX8sBG=^TU}j^x1z2#Xg5r= zkLR)C|NFz!GN@5mPj6Oee?rJ*OM8eiQfR&Y9Ansk+I0ydCqL!K_LN(3UglVt1&__2 zdzgiRAd)ORa#&G>*3v8S?3uB%v)_0zBkhaCqx4;Qp`%16*&ey_mK`yg#tN0g=c_L!3&@!F+hPvPmH-!Eub-Y1$)fSAO};V0Pq?xH3}7s*u`px^8W) zJX2(+=TwE>1ds$!7!$;T=*4{?GY)md zc_7W1mk)r7Dp6l-YPqN}t&8*v>erQloBabgB#0*V&rvCWr4+wQg=&spxkB z2Efbn>1a+47is8{M!GFxCnmIp17R&YdXU|^bp}_dgf*#~rVt)qt`9;}a-7tC8ks1)cd{9RyUlhL9vC7zoN%p}u^ z6nv`J5=>H1yB9p(vAUWouu*gBOC-$w?|CZ+1qV-6+6C@fcg79g7jMp1PO_SqceTxs zkd%yaY4*>z&#^y@e6jzELx^D;{I$j6Alxj1X(qn+isqs_mqG|cq$ z)`{E48}%OBox{|+6jW4eu2sz<=MUR|J#*5OG;>=kjn;Kt#@ZGcj_3b{E~q!1WYM^L zH`#s5-;6=51$*1tV7k-W03$mxsW!1~j&`Sof#jq;SCk;Y%2?oR0Y<%F=-{fGm( zukufDdoG&&g%s^gx+yl;^C&Nr_5+!Vy0esulNZ<=pq(w|kETjfzU1;Js1-j&@ShJ3 zz~?Klne(j+lX`k?F~%u!yxL#wfaZMlm}VG{OS%dbht|Sjxb^VBrYFTGOmJ&vShpKU zVI-}1m+R5;dA)$*#?(_9yN>S{<%-NoyZZXIYu4wdM5cd^&{m-5l$O2^z6phv4Ke=D z;l#w7p#mwC$7bJpsIh|%r5f)HoNJw4Kgvau+}d3kblV-|(L&=uLr|5kSS^y~tSGde z?H)P_AfTu_-Ft|hov5@UewZ8BhKu@;8bM9%Jfk9PUH~ihJGgud%DyHJ6Y`M`!(b zLQ3FJD>C@`eu#Gc&W+7bsEW#Fed%sSovzbs4`h*L&c|z`VIpTrv8*Dy1O2yH&$fp& zTcc~X#C%D^gpUr2446U%)}75z;zU9-{41$a0qDc9>^DpI^O-95r=I`*{Tut0?_Fl* zaRfrCmRXY*Fc1Uix7p5U=oH zb^V{I+W$3N_-{(%|5rbR5R~+oh=_=!Bt50<`e>HZ6?8#yaWTPwh9}$_S;-fc;d^GkUo_8M1_L-JuWUTQ0pJBNf;v# zCyQvSy3txUr&q7!K>{f%w%c3(aOyHECL&TFN+saxr6(n|0)>5q_v?3(>r!2O$GOGf zik~TXEX`AfpwuDu+JF60(wBFb?UQD?N<`G30F91`GgrI1tfS}E(>HJY&N$@buOktN zGxddPC3!eqMcU}-7K(PBLAF6sGMwfjPLWZbi7 zFAip!iN?##7SZTM?!}nbp|K+8$LaIw99_I=p0%#+QK!Xva{;fz_*6;*9neFIi;JZu z{a?N6J)w66Y^Mijv`3jl+~eWN1oezrv*f^`_lsd?93kZ+>vR5_H$0Em$`AZ5)6gUX z_*qu|^yw3JHdZPIqA>Z$_VoQEMP{Ga@!lF2V`_!1MR9*jwK){%mzE zt%TrfSXlm`7H;ltU)?0?xuhZd=yuO=clYqHN9b3@mx?!T-VDLT<4TN-{I-0d>%K7r z7;Ru=l#|_?rC=Z3rMs6Ra2ut4>jc-D2ouwL@5F@YzmrHKy8+{Re?a~*3!z8rAXY(9rlJRmY)`t&yQA@97c~irvEk_DzY1!B~ zI5=*nB>7~w-j7CjpDK~?T5QfJ$_iK7%ss%uI;`GbRWEVw72q(km@Jd&UJsF@XJp*k z-UcylDAh|$>2^v!FNyz&Y6McW}xCg&^aG?*ovRT=$kN zYwvMB9Iy`k{7|<}Yyl@D!PDb-s6b9X>wyxiuyX~=r9TnT(bXQuT_jAZ>ys1$UT6C} zT3(5+#>^k1qK;akb*t*`u`wv5kx2Sq#=(lcDcW__|HkQy?h!AqcRfAV%)S>EJ~FG4 zK@SPJ?x>ZTmR|aBsMJj@1cI_jipI5zRcv5jw1}Dy2*Adg+|`z)DZI+9Z7`QX6=b-No0E-mS59M%oqb72CGi(Qi-{%h6i z`35{ArWz|XGfP?dXOnm9VPfK>sp(=bf(PKW81&)!Z-#8#13o$P ziBhxjCW-A^%$F{mczAdaEG~Z-8k6e!{!JlGQlnn-@!8?xH0t*xxuRRgXnz7NQk z$z|d=6{LE+8XHBWqnV|jKj)TbhOXg#I#zCW4#=CHKRwfk(`=~Zwuo;3lPCV5N-JIJ z>2(Jjq*|bJx{$z^r&%g1EvH#*DD&)@bs*u|?pRh<77+K6ot;WukHJdCOvkmc$b{E+ z96Q;HI0SJ#UT2@Dqn1QE*`|lxx$pBGF8br$y?d975gbMNj7IAugx-JLRt5}w3hq@n ziHT|+m2;EO8va`KoE7uWFZNlaFd(Rs(B0WMy&cZ~_ zCqOHON^?i-H{V{l1RjsEyw`XcRb?d~Fr?q@?TW_M2dnkk5{q4lcD8m=%*XrDx?a8F z1aS!-L+ZV~z1Z3QcbPwI5Mm%s>Q7E;e*8#pXt?dLCoD|OQl!Xmhn~KtX0!1_07r+< zRaU#2_V#w&YRkOjf`Tod!}WR=jS~Hq;JL8zZjFZ=9PQoRPbo}NkP0RU1f@g^=En3j zy-D_>^v{PWT0xB?UWOU<0Z(AL59Lkwq}#j@)Bm$RS?&Aw?Rcr#MpX=Yfh3FjVkL7) z>*%b5s$TkfF~6jQ6DwjVYpKpd?uwI6olkQJ?0$s#Z0N`TPCu;pU~gc{OX=w;EG$fT zy4VCg_{$&t)BWTxUrx_Sh>1J58mdaywT#{@Yt&b3lm|jwp=K4j)i^1zz-GuCRO&O)YP}cq_8SaPTTj_ zEWrKxipd8yz{yEdP0gh*;tO{;mHdjtS{(hGW$1xt~ zrF|9PWcU%LuX#ex?T1L;>qVUAwcXGz;3+J zmvvcy95H}l+958+dnK1wOq?7}oHq;uv4T%S6A;f7Dw4p1qDok0O^%C;OGrpaN=k~3 zE(>zk7IidRpZ6?c0KaHBgK%`UfI~*mPu2%x*dp*E&7JfP&s%vVK+T6*LP< zQqpoeXX8hT|EUEm${Jv$VavN3!*&PuO{R>22m=IET)a&XaWgelsjHg(azv$?m{=3+ zU%@qLhd$9D(hFLyXk_Eo_mLVQUNPy&ggh1dh z(bKne(q1T0@o)U%@P?yhHvDbVz=1Es13){%+h!UehCJG zmrNH=UdIo+`{bnUpgrqnitA&0d;1LgHR@P84rJhq@o(<05ePyRLq#H_r~Ody>kgP@igDci)SDmGUhEZ(F<=iV&zAWP#$6l0TtZFqShYDt0Ry zf_<~u;I=p5a}0Nsvlsp)duqJo?14-iS)?8mhe5~bD+n&Bjj38HoC^!2IgrTfa3Pw> zv1}KV4O?_xc~oT#p|hB{I3QA!MFl4h6~U=0n?P7gAUTbD%rnvX)t2LB7IR>O9-`tuFx~`O zWxI+)<37W!8^{uvBd>t0Ys%I-c-jM*E<1V9<=nSTijG=Q#QUyjAR$%0wd+!9 zpy&DNerB@g(Jq|M-xksj*{RKpr|t`psuL)${YfW)F&w5h0_fWOduDw0wdr|yR7G;O z@BD1TrAJX^Azn54U4`fGv0k~@5y*&m5zC%&p$}cZ4)^zTwYa>vigI zw47;Hp$Bxu65T7`GSlcA9v&`T*8+Oa-bVd72uwo`U)%8GHu#@1XJbDM1-20r6C=%9 zYybQ6{rqm>zdvpwH5Dj$ZRekrJB`+P9A_z{fuS{(_B8BwIGyT2K+T%~TUt)%86oGm zRN99RJF-}2XJ;i1vS^(uvE^?jc%2<;mYK7;=||EKBlByvq#|iF%FOv-F@jUkX-#dC z3$8+TPX5c(KZlFSs`cwt0YNwEJWu|%7StV?g6Acjf3buyaR}|H-oFbAOBQg-|M^sl zv|pUr4(^=Db_YjxK$6Gas7hB1pfAvn?6!W>)t_v&n?^-aE8H+C4sBiPHSX|~l@PP9=wYGpu&SBIw@L7lDj^gbKSQ^w`CpIGWryiZFqs5WW zWcioxnfdtRk%ClM4dy{wnJ7^p5zSP+mzTkHgOJ?Z+~=~u!?F$|ni@ge2?^Ps4q5g( zKh}lCnXR1DQS)UDc$;GD2MU0AJZTA62o}UL8h!sD9lZ+w#FdF6OzS^>yf)X6wSYyc zmGUEnJ=^pQ=?i*0I6LK~^RY%r%X=DBMc@y1d_6yL zr!PaAg3I*H1MJu5{`j83597X>SV)SBHj=1n=`joH|F~l2`u9%@IEg)umX7Qj(P@Y` zDZvURn~xJqqF2eUUHcdwo|d-P(C|1-Lush+t&8am#IO4Evz+8sO1t--`D)+w!GQ*y zD_R5Wf>)(h`K^qGHH9E=$GpZcy;@uEuj4#w5N)#hSezDaaHb?b_!y?cSe!QiQ)&+L zxsp*(#K*-|K`j$9@BjK?R|(|N+~tkB<1UNPT=n9g^dg~cZT?ceI8*zy#pt{)3J%qw ztM4OimmhdniHc(aelnS;_)fSa$F~si>(?*X4$6Fw=Ptow+R-UF2dzU+@UH~P4G5If z)Q3pn!HQf1IZ4@&7oA%?VJX<3t;{t1IbbPOlCp%2@!ryGl8{^O1!OXi$>FtWCg35a zdNFrf^6)zH-;L@)&&fH!YdveQyXkCbixs0uhyZ!yH*BUi)cfcd9fz~4Hy==Xo&04? z$sT!?$Umb1JaOeFc&t95i6z(@1Sn9Fhb!$CffSh>g2XblHVWsnF;S^Va>cCc=C>3WWnTdNl{c>^%yuIz8+i>Sv!>k6fdPj|t*Y*a!WhRY5vjKtU0RH&W zWEMQg-hglHshKN-IpC0GfpDcbK9ng((|J+g@<>C;IZ$AvQnTs%6@?N8>HxVJEjEg- zxidhxK_EOKZ?c(E*fTDhuB|SrNt4Hpwv7~fiaFE}WTXSU`*@POaItQ?^XB)gzuQ5Ko)TAA2f5s#o;Ch2+}wzTW7jB#ZPKt0~js zcw=BzIc?-;H-p5(R;t}~}-NZkV=z<8?@|Zyw-cCpxUaeuZZ&wsFC^BRinc2v? zZayT;uu)W$)2AmD^ECnvOPmXw1z35t)wJ+n>-+3fF4Z=fvC>2;e*1qQMDe#kihtkf z9#RrI*?F9@Hu7CuoFwu%uU}(4j?1irbw*eMdCt*o%YFelF5cf|La+Sn+2dH<*tm#@ z61`^Z-M<(Z7_hYRB4`oY)JBo)jHyWR)=(;;saw>DP-|rTueLuFE^UE5@{ISf7XsKx z+dDe6>OE^+&NJSVl~V(^;{dz?Da!#aeZ!M`WHCOhNvML(%!!PvTELjzaVM6 z3GC`RQX`Z#=9!F)jI6AzoSdpFNcja5H>qmmpEm zg*gzjIB(4;-U543MJqS)VRCfB2|rJ+T}PTTJXGRinnoZ7G)#Y1{@l7|6P&CK zp~Gx5ESzIIs=J5*7Dh57qi`}tjK~1nM^-dH4?!*rfgqU;O=cTp_h{}1KB*$3(Zc zaJRPb1I3pcpOTB6SHiN1eAfJ<1t$w@$SWAHWx^*F7%^kG!f_qUxL4g8fph^Wen9|hy(}405P+9^JOmS4J({H)xfIqGwkvFKQwB_Xii62?j zAD0yt_GDFq0JaJq&kHFjPI*ju6L@;JA!G_Z((sSpbcq8Q(xidS-@z+jUF?{w^Jpzw z8y_z-d5!o-K`Lz+b1(}D#vL!;=qWW*wUY%Fas=I^AjEUB!X}&?sbs5GWj+c~rO)Bv zul13o7UN%~7g^$xqoa>U7j;3(O60X}XwvlrF#uf4zbT5cpj&Czym<~;T6_C}=ir*8 zh+;BBghqsd+maU*^SZB}UVz?2aqXIM-Nw3*8@vi(oP5N2gW*#y0Vsu= zo7T;Ip@qhOzuaQh`0?Y%L+vU~E-snz3o+n{q~ytd(`2=3o=&Y%_j+OBW?CGV060b` zr~CV&)1C2|Tfdi~x9s;_BrFFCrNgL&Tz6MvlXW+jjgr4+WSGPzld|AL;BfQpHYTQT z!r}72Iv~yI^`m_>DLFZaJqNOJ_66|FM$gXN)PYBMpW!%s1cqb|QB#GdT%fTru&^Y7 z+7FS7zQQL;O3fo9wSY{o;^UiB-b~{QA!P-{d-VJ3Or6N^@WhCSbg`D;NT$J?Xm$Vh zAkyuxjw*IrPSv=e%Pdy1c`PT$C@DWjMIo!5tZZ$i0I=_xYiUg+RO;S;@L(x#w+TXO zSp&VP;sPQfUb}yoRPzU_m;5#I%2ZPC(ebq6bN>DNH#>x$k`sIk9y+J(C}zkTgZ!cJ zTS6TqIvcCisge@=(_68zvB88?0`^L-BSkJDDp`++Z{4~@OqOl|abd8O!%DXZsrW$} zvzn}OfJhbm%o(S19H6{dj9(R1vzyH>NZ_2^Hr|S*ot>RwrzfkBkhVun4O zI~QQw)u5{ozWr464AL!9m+(B#)L8}3Pw+xbhm=A*w%5wrpzece%dVRh*T|5Wkn6t) z&i2_%k%L)*ju30j=373yMMm+ggcM}JEkz0X|4rLe;Jf>;v>EgfA>U83u9_0$jX3X% z3L2-#OkQb^Bzu4Qt;gG%{Kwit8L7B3B_`u4BFdXQI1eD`oLlO! zKA;dJdNcTXBEMswAMRCTB%Y`4e`*1&^3NZm*>3vo*xsVs``Mz-YCgd$3GY@QNV{|A z4x~mS6_mo|GekM4B>!4w7WP~dnpjLQSsD12=EeJMc! zd`g0k3a&@8)}3snSjfJxchTGQQC&;!$-$Q!E3upeQm34w!m3g8jEKv;xA>{t;5~dL zJg}JuE-CaX;1X2t|ELPU{-AzRYyVB^lE=}`Rj0j${K2>HJ6_Dqkm>148U}DBE^CEV z8EyML-JbQ5^dNP?1wCPFSQm0eE1$17~o9w52R$;imEa3vr>nm_4A_^@pBaOgu#fsBnP>p(Ux zUPx2I7T#95)wHGZ?V8Qq(P=pYgVSgwNBB6;(}0Ny_Y6NUh$~gQspDd8XRO|4OJ-mo zOnnHc##-0LtMyyjh=dQaT(%AMQfCF6)}*ARm5nAwUAP~kRV==wsRH|3Y-g=k;?i#) z${QUWO%!kly+YL8*~!-St)gPdmq^5Pti;6JJU4(Wf-Kb3F#-iLsts5|%{4CD{PxDt z;o;~S`8z$Um9-qY2MYN?vr44)hyENz7*Bd-TmnRJBiml48F)#PL^$dDLM)si!r#-zyjo! z?A-qsNq4k9X>+rk+)^D@GdAwcFB;e%sQL3=GE$sE`gL&>*9If00&1g03pszy??}A zXzq9JOw^b+-gWp*B8zWX^X3v-KX40|F#i`Gm2AG9SR$##m$(Z>|6DH76>3{vyd-8m z83ch4W!As%|92*H)~~3?QW6HjNJ&_j_`f(QtKy*ED(&NcNVl=mS3?<}0HzAQ0v8gD zS68QGiAZT%e%0af*s+IAT~F`R7jaS1RCYg~Y*9dF!FWDCXTf;bh?&AZz4$Xc{2fL6 zU!9$F{7P72;#dqUmoFcHXoW<0$4TJWdV2Z*jC66qk_c>rV_Y%tPf4-$3K2x4jAf+` zdGYZbN)cf*UQJDP=Y03IVrKEF4=ij9qmZ?Le5!%Pf{yb@&8p+0#m(w{VU&fE>`cqtnj z6ZWnkN|TUw>lIG)R|pJxrZN<+Ii>qKPX6 zNen)=e5{B8JrK-^DcV9jdpWQlAX2*0zOk|buaQcDkCnan%b5-}FXj5{o6xXKB4O-BN`y7g1MxlydT zXDc}cNUk9C^d{_d@PN`36iintopdW<6vetd30D17q0KhnHv)w691k6OHXUsK+I^ig zjiryT;QjrXay)H-NGx}jddJ&G*(>T+qIEqhcZW2kHDB_fzQ$Xc_N51XZ4IN@pr2ic z*5%Hg0zJSJqFDFn=qQxCEqLfZpr;=(F`>uI3b+U{S^{imFJTaAwd13Qt=`K$yMm8z zJe{A1kzy(c`p*#`m{;4gARu_SXMbY=QCYpx)*znS;yn_z2f@`p!A#J%Is&DLXO#B! zWd#J(?51Hp0yhx*Lh>wnk2B^UK?asf%8zR^8`HI#sy8rSDMDEiK3**b9ibSefQY~vAv(|4! zUv&=JmjdiP z)Pb`J!Shn6iolwC;%^ZXtI2`77)r+W1x&ojY9}waL0Y<8uYbOW)Di?d38?s$?p~L4 zafj=Mq$ikVHTx|)!~Fr1j^h?X2@n>S98U`x)^P*>wGjl|!ArQ5nTd{LaC;R{sAZl( znw5h3Gyc<^esOVeE{UxnO)CN@%7C&* z3A3?14@!L+W_h%PM69Yq)prf~@k65Y*eJo~Cx}HyunObkgm!wwS1>PhT!Qd&^HJN8 zLOo=|-uAZJW+RROzlj)Y?`P2H#sD}z04dqnK?A}sNXQz7!Dz?ne7GEULZjH^l(MRJ zhUzz_mzR1r9ZfVdx&Wj*tjy%`0VoEx#gWNlKJxMN=a*wkNEf(lE?Wg6jnN~+^5D%19nR=flwzyhLXO1Ql=t;hQO zNeVVPR^Off>I(s#vw}M{2^zDh#`)#*lkKpxUn`co1u2)I&PS^m;YXCYK+lfr(N+FF z1B&$Uh|J5EeHVa36(ZZ)FtCvbhXdIyTgR&}{rO^oT^I1ZV@P~1Co8vWX1<8pD|nr+ zi^n7v?*-;S60RE*xl{D&w-bi`vYQR8HJMOM%@D;|4s=E{d^Y(2M zw^8v{*^0v(`MY7jbHFILFhoG*cH3FfV@WwXTh2`8?!Gy|o|#}9%=q}IKeEyV!k2Rg zf9HfOW2COM5#TZzURJm-{z*)`j@lHn#5N;~{oEk}lenHUl~TUm(<9?r?d#u@DJ4`t zEy6oQB4XK@ynEzX{IH4KJ@%*9(>mT0HQXI+&NFdPLRxWWat*!Wb)%wEU-_k@Jq9jW zZGqIGxQ*!dW_*IUiuEcqXDV50GGiW7M2vLyP_6y)OBo2(*qogl4k7LRgg^&urgo6d zAJ$nh)>QUzaE=?YschRo{^FhWyD4~9gwzrN6QtAEHcujOpp9n;Wum--Bp6q^Vk5w# z$ov^wRBJJYIWkKl<@R8`*Exvc!#T1g&!e>+W4ZFIQzBA|WMbo;P_af)WqL=ud9!0t zvMP$BRSsswi+fuIuZzx%X=!P*9qHfDb4Iwc#tXc#wl4JiyQOm+9Gt4V^O(kWb(NBY zLM30TW%IJU4)VDCD;F~FlZl-x!~*$m4>?x`BoFqWorjT5n_^Elvt`kR&M?@5d)biH z*l{hGIA1#3sINPcNi{pyqI009`n2Z}fNmJ!Qzv4rTDs$ptz56X?FAKXu$IfX=ka*j zu36I@tJ$sD&Q7M$-E4imk+j_`afifyXkdN$c*^^^pDs~Vd%F2(1U3 zR{5uDy(S7(SzF39OoGIr(NZU^aXuVoi!2MQ_+H;^?5o|H)Yj4^dj$_BLsLAmAlw2W znqTeRy5IF9PrLcN`-q8&vsSK=lV1qmD;ycJHZu)Aj*QLx!c&EM&0xcDai>OeT1{zj zaNWxPV&B`SM9q^RbSg}`;+(6jp82LqMl;C;MLs-Sw>M^na=%Y9I9p1BH)48x49Wj8^_BJ7U8BqyQAcFi_CndDO{ zNoGe=(`++(22wHci_YF7oUUE0*h<)|pwLFZq?(t%=~9V!v0|gFGt^rcI;{L+$jJ0? zYeB^=Ps+{JwW^ggTPdY$4v&s%A)bS4EU<4n{s>U6tXgz-tl-a3B*0TIzKTMk$2 z?qqHMyJk37GhVX;2;r97`u^OituF&NYAhWK@0MD8xy3m5w$_t)kcYX%^z8JMMI%Ud z#!VE@_v_Eqw|Adj?77@PC>-GX71!6Fr&=XBEu0R2uUN;Paw1dJc#$gM#g-;^VIo1p zt}%Wl;My9x7D-`iw;ffW_S_Od=uar5Ebe)s{8taf?DwRKYlk6m@X0ozta$E?8h!u% z{l0EaZi=txAbzgdUmPOpiA=d=HMo5N9q1D6Kkp-hF11;dPk!yI!WQUI6y3#(Gddhi_x`hoHhwdk;~T5$ zl_lc2@-0)xb@@Jlq~Os~+Wxdxy~B5LW8k@9Viskni$&`+>7bfn{=ZzQA=~qd z3nkRLkE_X>+34FOwkC0&sFyx5GdK5coV4DiAC<3dx=tnQjgDB@1tC*hku7tuA6kv=RdW8U`lTD zn4vUL4`meB$5{hR!;Tmma2n$FA5{RXD!DImvgxbmtMesE87lyA!m>v<@7#L;R>d8v zGKu`kuQylH2hW$ChQ}|g%K!^#D4}N(AVm%3k%7dx;JEAe_AU1^puF0dw|KGwYn+|r zLarrcYXKCNkMQvM4^(DnkI)6v&~fjyKs4Jhk<{f~{GvA2nZpaqYM*GTpM&7?MUst` z<;}>rB@zg)+Fk@5cw-#f3k!XJ?&;mv$mHdUpcY+zAYHM^yws{CEmq#_l3Dsa&JTxHV4zP^b4g81%$R*9UR z`}1dqj-AnJ+Z?uE=x+<2&7$U*qy3G78~!i-6=?s%(lFkHh)Ba)2n$9EzlnsTFGKy= zQH}zwit(eB637NZ{M8DeCy79&s6jyP!+@lAAJ5+6x0i5L5QLc&RyE%Nhk=t8r~qmi zn|75w+e#J4sG3{>xXD=06?Ju#kb>KPfn{I=F{)zX;3&^}*BE4*(l-<9c(*GQ!<+xb z2f?7!nkxhuZJo>@W;+mnaL2lal*+i)W=;Ap&!AIV4*0 z8%OS-)En|9^f=o&GQ5z%G5rKIQidle^tSbK|jo`I8|pZ+l!kj6%r6<3V8>oE6Z z{j5YWdj+-$0DEQoluZO8Fyzo*l#%%nnSuih5H-|{+v_CFTGI<1(2FmLkOHT=VG>hu zfGBM^lCw#T5qP8|Bqnaq#}c31eL#*#vHX%i`2YV)F8=o%B&2AO5P-p2^72{97qQUPKKlCy$H#FtjS!u}*naimyc~5I`-p^uWMPr?6Lq%F zh2GGRsvzH^Bdr2hKKct)4?%6YMG0fi7KJY*8+-{JYyAF5eD|?!+t+ymi8ISknMd#mD}y>$ff#U}6pA}eFS8wW>GOGL>JTl1|ic_ipOGMyDjJIp}u z&_Z(z3=j|#4*ws+S%oHWIiK!5zZ)@fj!rUYx2|@JP&;hw;tf z;a|Fcm$rpl%ckmffDb5f;q=@W%UlTqYXBF7y-V>7YMjc1n;4zWm=^*Y6i zM3B43Xfz^)Me(j2UnT6Tq{Aa>`_}>BCj&_$hi^BC`t*qn6z*ELeN$IxlE5gk6|{M& zifRtrTu@bX784~d%|AQG%dB|7T4Dwb9H=qSv!R{;iTDn_rPz-I;}4T0H#ctZXqRH{ z&mI;wc8S&S5Ip7#h}5_)v_(Sg;K}wkGb0iJauYLJTv4GGL@P`y8kA}jwhkU8JRU}W zKR^5RiP0=ckP9wSHU$OZL3)!%1XB1gNCUCk`)r6TH~2n>5Mhra2?+^%^w1ilK~$=Z zgt$QWZ1lw$&QS%!+q2lPvj_!_jmJQi0+{TUqeTnvuHXGLH&pgLgChIknD zBz)xxj81A^q-pR#J%>QHf-ovo;?~tLcYAX1_aaUNSz=4e{G=m*0|R!Xw{8gocUlCOAM_9Rei@!vGwByEP9RbN zd6mpz;lugxxHO)s#UwXb;lnq~C~MvbirhR%zk%`@&X@P&kzof}%Ue}lk5ULSX{^F@ zGDq?lBp;v!Z*>W5yhz}^c>JLHUZfJ<<3czNv;5BHh%x^Y&W1Z-QVJ=5=1bH>;)+*;CveWFi#$yK<%-k zV0Q}hY=e;7(MD5#>8x0Y(o~X_zbZk*TD$X7**%gLCOg=--yXbw{~iRUrSeC6L~IA& zB=jV&r6p8U)oEpMI+u7&59%1hWTivXRXTb$@OCf4ClJ(H8HT`5<{@}SN`GfStSE_s zAw;A4(>+a@69|mKcb~A|^aXXw5LlNK{>p~3L&f}O>5d<_#RKpaoa%tzZ0o&v@jjMJ zVk6^I2vdGVlSX|2pOobkq>4(&gRcxx%H#~BI&spNzG{K-@ivA`P^^v6LwS;iHgZW9 zVXhvKhp{2cyEvb#RS92F(u(lre~O8*f}-FwwuY~5*l4CHE^LWg@DM7O?0P(7}Y<3)4!{3%0 z8X91Nf{fRltc*3%79tUAT-TF77P_}cSq?(QTprAcZo`L#T(xqU!?5Gxdrc^~&5e0C zBCG*g%f)draB|uM8EU)CGie`=TKWbn8wQNVA+S=v|38>}?|82Jzi(J6Ewm_^jYC8k z@wG)MiioVpE;}-_SB1zZA!N&*CD}}74GM!<9D3bd7bBdJs$UU-RE^Z zuH%p6pNjAJykGCv>$zTET<-h(LwGg~anro_ew`NOC|mdhU^vqu=*lJF9V}vwRu%56 zvafP|XyKf&$Eh6+gzqcq?bOfG$#AXX$B*B@A$RDt_BEp;B!qw!=Js_{dU(8QUADr} zJ6(MGh>rEjH$ltp-U7LTFE*RVGMdnk3fPUb0DbyUHZl!BVD0OjoeinP*`RuVYVqqG z`rV35XA({`y&QsE(6uRAI74Ja6}d&gdamZ_d1<5x;h+Lo`BkyLI{8qB*)JeK40<;V z6*}ENz9Z+Nte)1nc5ZGCbyDs0btv*!FP(QqHG~;~?NV&kY5$}k5i<<(-G7n$hW)wD zE8kRo=FSiJTq<~+pI=O@7vJw+yu3;z52j8RR{tdG=p1*LxFDQu1wr+9JQS`p*6=xB)oKNRWrsA(dxzMh9mtsX|_n!aFLWXa~@ps`z zMzh%i0-Y{R7I4SM2{JNvKM-R7XOt9qhVbQd;&#pjq{Mj|9S#63>L%2A9!#8%39*N!rvFN{)Un5rb=vIG(jLr9RQk} z=Wr9$Mno(;)s?w9hl{f4)zk0FfTz1NHY-Fq;!&nl;YHeoETws8j@-rb zDr$;>hhSeoS3dlEwpo2a7?Ndg&-V8AM+zdxI638J+ge+jgohae=lblsv?0J#f7}Oh z4Mx{}ef+ycYG*mLy`xRn3=H@^KqqSU1ImGw^*XBD>Aqxz=`j6|GRQ-ASXgioyt}Wt5?N}H~-@#R+2lT|b?f38B@7|ra z`1sauFR3Ce?OhfpB%EwIv8_^@x2{G*eXOMP@bMqv$ z{@W=j%Z8%N16JL1N`h=d5Aj=2vlBP>s9NLOgR-=pgL`z+YOHYYM);lPztsXkaN~=8 zLa2R>eo*u>&1KRgw8WE|<0SetkD~N{fA=tup47_jQ{u!*?j3WDvv{Z2l;`L^=B}iAul|b^%Me@|msqF*V}6`!5|?>^0Q{ zf|0XF$GQF5FPgpW2U4yD2@m0lY!#|T=R+f-auXSAv(ICpHj0?MV#iaxk^9ntG-3>y zs~l^8CZ%E*YIDctg*!c&;v)j{hrv*!9&LJgTwI*bUjgJ{K7?|%|BW{UhC?Cg>FFZN zx@C^fmJ|)i0!>1-^l=OTwfa?BRiyEzQiR8rl;O1|7=Qt09$icGC97+jS zU5S5-9%1DFFEuSAp;MK^io=e>X2yEPe#Vv%&n8W0MJ^_(ze1tGbbvSE=}9)x+5LXL zt>4N-MsRX{?eH{ZfID>?^1NUeNoHF^u(o%nLez(|EadFx9G$w zeGea+h0KzgHV)y?!s);GKgyuHYG{df<2`ZWgosGD(5?rKt6$a>wM?@}_!K0_oatCt zaKaee<@{~euzMMwKAH8s1e0;o! zgL9QeDc_`V;^8M0!zWLk#1CXO5gXg{bCceEr`cVZc}6OtW1HgOylih*nca(_uTgqH zqZY8+U{zsI~OTo!h{EyE(|o%y{UVOMGReKEd}zsQ7JDCCXOHlTnzh zt*xO$B`%u8=`5Et^yj>vO2p60fBeyCf&9>poLmch*wXmJM^I5j&}P#+9x=9vcsZJ< z{+sOe5&T&Hmal=WCLo&ZZF!T7^0vEm3(TDKq`y~_pYtu+=Q8cSeH;%o3y)@-Hrx*` z@HR?BFsM=dbXFC9SN(5U+N6||NAh1P_L!1M2A&?!@ZC)>1{2y=v}sZ%jRA?BFOPBC zZr<%lpZF%wxIkO~^nepPUF_6xe9^~`kAK}zOuwJGfePL^S$TO2L^W(6^L=u4K*Oli zbo1sy*31``$P6O3!+?Rz1)^7*1KMe$4?wOPM&rstENps`A2t+W}ziNwX5>W z)z|vR)K@MJXl%gK_u@#@U;+8y^Yve6Y;R_nCREnevhnad;BzKpyk#_C8nf|7veNT? zd3)|$t*dmls0%AH+T3Nz%{~3jOpNMdO`(>vqE>Y3s!o;mkYJISkM)$hR$Ga&_aMN8 zd-t}IlTot-%BL|1a9?C!$|AMdzgbo|#wne~E$E@iZD(PV-BsdN{c_$reCV!z@FzzR z#tjtX$ZI`~WBhC7%{og$TEZ|t-4>gYQ;9$kAcOXOOy3M!O#al5a0V^T?UqS<&MD*+ zY{^&a?;a}oJX1NZIuxST#N!eENvBjGHX#8)R)DKHJKarx)*4x^u3P&@RV{0EycW&f zAk-QW<4`wtPPbQ+>&j1-gqEM`{d?*6aqBSd*<+w`z#=&=jwN*ixllm+ zru0J`T&rbg@}G1WY~J!+)HJcB&Q)z@XA#&8dXgE<-o1O7m_DN?Cr~~JGKS1|>@=d- zIu=OjVj}kbPbQ_rrO5dTA(yW-@1h(6cyf3(s zQ)^GX-$%TuCjYgkcy!xWg_ZI+-L&aGtH(;Sv@DAujvP10sE?3hk?8mr>?ds9Rf~QOE5Xg*n<+9My8gh-7@vNo-M?Y>0QI=< ziuulJ(hRfg&{1Bo4PSXqa#FE!zvS0a&^}&gm3}dl(Y&P@^`J3MLU%8xT2{-}YBUt9 zXicO2cfJa{zS)L6(3r@r1Wp@QnBfuN0;fL^Aa5W6!QwM~h0k z|HW?*{WpO&!K<{$s5ox(^6X~nVG}V)5>bGjX`88jEsnU?V3skjE zZu-h|dGGa#hcCFY?FPoK%bP^P4yRD84{H)zwAF2!I|UK*A={&C^-z?^&fF38@Q@hZ z98Mi~XW{j?b<0-8y*E4bgt%`RRBW-LOW*dK%lUYnh(qP}P5UI+%-=Yh=-k(jEsYo6 z%ck%f_C|h9eWdq}=#@XNm6bM)4rDv$P`W5rJUiRwt~>uF$e2pmE4{$py>=uJdq=4XCuD9wWMRx-xZP&3$A@5I)6q`03$n(8fY?m6t&B<8+6%T83r*-?g+#>$yC!rA$ zAJLDaB<(E-$Ma|=7Pu#s6k(A*78dUFzEC1`{D)i+cM;bBuMQno-vd(#!H7U(6BBXr zUy7zysc!6|qCM>5hudGb92^oLf8B3Dij_WgBK1?cix?fBnA>`RIq41ihohz8{93uz zoRc47UPhuhLMza*)Hum)%{XV6MdCX#Zv0t!Gam8GX}c#kV{UzAcbj@+5fo#7Qk;T1 zNi2}`=dlwr0dNBny=E9sOKfCz=>W=ip?n#e0nSDlk83ZY?fXR7A+mYGh~V#_+=a%RE7xT z)W@p{?5=7!@j=b{3%4iz{hE9Q0%{XQ!U_ZF&da}$3Rpl2!L9tSKWXgh5tQWB;nyos}C?>Y@xkc^GT{<>}<<@sm>8A+#r z6svP)Tc9!PVXIHc;yR`7Mn*&Z_3xeg(1QX$_$j?HeqVZQP5uiZ17_mzAZ$-OQ0=wr&pDvB*qf z;^8F!$jRs6gSVTLnH7whie)Pr1o^zJsS&vGk%xz;<-J^Mn=R$XDq*zWPB)b%7J#`B zl1F?`v=hriKXZcBfGKEcX~C}nG7i&8V@ApJ3(Li{xD1PNm`Ntj4QTiQM&HHEtTJ?R zC|R_75>XYI-&`~r?2%5(!GHGLIcu+7u=M)VU+R*6UKYp}MnQD@AGc8*O&(fYT;yTv zS{huX3+>HDA_^?xNl8g{@5n}D={x?_Vd_cnM}!*VhQepPpGM`?e&O(Qo+oNCDju}6E6#OW|c=`OIuR(r`YF61$Pe?T=)32(*9ZHA8kC?$g*nFVFmA1cd z@nX9u!0JzFw>s9}Cth^bS0w<$2fN~S(a^LLrT{X}Bg9F>KN=Ifp<)1aEA0DE#vZ@e zNM^Ok!0`O0m4oN4B0hlby;TPV%V@Kl>l$I0U>mKRCYKlP} z^Ja3?qbE;X07+pw&WF2Ou-EF&7|$5=mmh#a!;^@ddU2prW^-Aov5w#TFx&!HvjQH2 z9zEw~cIEBA@x>BEIUJED-02I8od`=sWId?Axa|Efrp^P%6HJ{CiUWRjqOcc2m^Q%o zxL?)o9E3(p1LH@D-H(&kYA8i300ww{QQ`)zxQ5h7{0J7fA>eLap32fFdkz z6CW>$;UK_zpr!yAzxW(**;oWd;=Z?^jjBLk103fWW2)SlNlcBP_ZmP%IDpABAL7g{ zOSE)>pBs8Js9pv@7Ni+Zf|-Qy!W;_P%F0S;1ylRSKTj49GnacGuEt#k)^0)mZ$8k~ z)fHO09K>oMw4fYV3J6eYN=iGIvBbngbX$f-YwJq`{`>zZIFa+5`*Zz8n}Q2On+1Ek zDXXIhYc9;R(NHhGX@r@~*s|iW?yYZc{qO~R0VdG{^I7(F7=};@E_?DQhT&L2r>Egp z>ERK0+V2n&@}r(Yal+y@_wcBl-4`fjXN$jD(U7li5@?Gu?@;cXXHL0UcteB z-P!Sr)3E($`-R$RLdg8@$ig)O$i4At1`Q7<|45#DNE;#OO!e8x;@+XEenR(EZQ~xENgYX{s!Rq>wv!v|j6=TaJ3Vr#^ zqX}MQe7xtO=SI?`$x({JLas+8PPS)0m-(Dm(d1#tF!_Mc->&z^E%l)~nVxp~n9Oi(`HY>0_>xE$#0{UwY@f*vlJv z_Pkhu8IHaborcSm#?K(U&%$wb6OG= z>)bBpi&gXKt?n9uhLp@=j$n7AK0z;uPpDP0gBa(ngi7pww)14@>*##(r>&=gt)QKb zzN|1sRYFnY%fRWEMnsC@h+f9;v26ZJC27lX;YK zL^~00;~dTP7{5?e{)^j!cGv-ag#=CS?L;=jeJ>8!fiD&(fDVMQX;~;+tN5}6?wA9} zY7jMd2CL^YOXC%CpUG|R1AW-XV%yXKPb3roP$L0b?gw%yiim*r&-6{!TV}I1+lm7^ zo?X<@1fWQ`-5PwiGt$#sDRZ>0E9^8=-P2;0E!^q1J8b5ChJ5ErhRz;(`iwpTAd4c% zJ}Qs^Qt4T}51y1(e37&yQKiN?gU~p=0p&_Krbag+7_^2%$J+S$=U1yZr{mGgsKz3}qRG@?}5ehUHJF zMIh3_)9)X3!{0@=?Z$jHrB?7OG^c5f&vk-&YERL;X+2Vrr8bX$Z~iU`k_sq6;()md zsPa}z(%SwJzFl!FS}_cFF<9{N_0H%v!WoSJ=6e48y_olJRGCr2Zz3_`YGF)7M4Ddz zbciqNDpMs=%aJiE&CcJcmwKUHI)lS%B+%Hj;zqc#ib|;U*48%R{?FJCvxQZP99R2c z{*Sd&oBn4!L;q{Lf3~6Vhm_@|pPwJ^pK6Ic<>*eabf8{oP;6Nnw zS9&n%BaTq+{COU$O@Iw8+EN<9VI%0v7nwm<;EYAZ#MfpS`lz)A@uMkmozb8M+x37! zXI-rT+>YHA@esg6Q6>8vS8;-r?`SG%n3s*56cOijnP&g~+`c?sh`_J7^=J+ryjC5=K%0zs+SHj5Aa2D?~YTYL3Bh zUx$ZF*Hd$0zRv6S=gi4VAuhcR^T*t}mW;PyCmkFb;y8T8mLJ{lOX~sYS^cMP-H?IgTvUMjM|PF^1f04O!M>$7~xAql(Q^j2qR;@?tv}$MgYSxw*PFsA^`e9egh)4H3M+rAS+jE5K<0PRIqOBa|^$q91Y|J2A$J=Cxy2 z6?o$;6-XPO3X@Y%E~1Ph_ckA!STKsA|LH>~MLZ4&o&AEJPIR-l4Sy{x2wE*dAsXMi zYi}Dn8=El>Bn8>)N9dmrj&aG*lW-roRnSr&Rfrb4{_X*?oE%14`Vr=$T6KUASF&UgiIdu&Ss@KvD!E@-fP51Fw7Zh`H zE*8n>FAd*y0L=Nnk(2q)^-O}C^=)-EG>YAbeyovHJ6iuV9mi$No#=A!7oIs$049)@dho%A|fnPt` zhH+>2L2&`WB#{Z_hF-?Gt|>-zKbKb81KwNXSD32P{nVZk&p-N#PQ=3E|5u%}z0CUm zMj$?Z)W$G5t8Osz<%E#XJIFyP2Jc{o!xi8^ z3E$pN%t6puK&jQHAZmd&4_oJU?%2_$O!(G-&*j8%sE_EYsdavkVJXKUg195;%-;yc z)ZH!c@ve9*FXP**&$k(@hfSL^_o35E-+!=xveu|s+%_D%CTFfu9gzuAF@Von@f0!~ z+C!oQ_A~J4c}CKG$FH(zPkRX69(VCb;(cggeAxb!#ajwNK5TFR4Kl{Ye}p(z4-%^7 zPcO55?|(opAddU1NIqji1zKBMD<*&X$nK$hqovBH=lfs!;7UD^whv->sEoBm9L(rC z6vJL1I2LUiUaeGTiabM=Q_z{Z)L0^bE7o}w?+;eSTnc(9CuOQW(LdIDjtPNCQIAQA z{*(SG))w2He$6*+gnf{rqiwDYIf79rGzI09P1=I)Yk1VgN>G+vuBdp#d5P$pSPC_2~DDSH`HmQ;-Rrr8g{snT$<7Y7Vk8 zv(U=2ki$T}EQmzX$L&wYE@lFWNnq7PMmI{g;|06gfQ}HP(DuT+c*!~w- z9>jNS-*l@JVYVri)MFX`+yA#S&i}dQ{NGgFtlmcaEhP((eNH@@d`2o&3<(fb)W0-s z8^ZAN6GmKsJvHcVh#N5}1Y#d2VCf?q@?EtECvba-_{&T*Fb;g z`5Da37bwX_Gk}dyBW!|$BLh-xm}t2WdhhlNsx7n=7MS5`0}c!bf`oEKY z1zj#UC?T;9JBXjId)E7>ZQbu;#=ESlD*i&mv5&m*Gpj=9M#AVCN!MW7LB{_Kd!fe1 zZ(!Bo-*T)7KI5RH?WMy*Lpo@kI_U}Lau}QPLqt3E8x@Y0 z{)LmXE+6kb=?jEyDl&>1T9(?={6aQBr&NV_;|bF?;#xRF+1P}SIRUO|>fh#1MK&4_ zN#E1tWC*WwUTh|MWBJUx@rk$lv7_yeFzZAXFSYH1GxOVm%@G4%gb33{*3YpvJrvpc z@LKuI{-j0~wRMrL-f6oGllbLsY>ml@G*YC3k&c{oj4MWz6kwKixyPS2)5gXIPpK`v zpd}+Cqt=%vEeMW1BY}}y+m44x7qRX&R@8?>e|6&&uYgTcq2_5mmp6_(YCb{D@|7H# z?*={=?YP#9w$AvSsOsgTyNH@gL|p&7KK%4%!Bu{;c*_rIccl-!0#IolBr*?4`(eZ- zz0br)oxIPc^7iH+av-`d34?cX!4h^x9cHcgNV=#^5(qRX0l~UJ@>ZLc~VR0%qZbtP2N?p=p-# zCx9k+Kg#hH(ChN#KD`$ZVCUxa=%_p)b>Dm+O;UGMWOQ^E-7~u%tt>dx-|ll;c4kGo zo2^CgUZbIr4xmf87_W8Gbl2xF&{v(BLkP z1qOx7a|<=2kV(tI&0Ehgp4;9bKqEh=13A*k=+vubO_+;};{C1blDG8t|1>`J^N-dm z!_|UJQX6b%nq?2-*R*mGniv=qgunqS1ve!6JKK$Y+aZd;CY2Lb;w!C*yQ#8e!zh!s zTh%2KY9v`73jFhP(DnRpmr&o2^V$O~7bTgb1qh>S@f;Xw5tc$0|CbNj|Do8s%5b-p zZ$KZZ$Rt&XJ`Bu&*eMb)jGM2PYF_IP{#}}a8bGwo$ZK%c)wOIaA3Iyl;~vHh@Gt$eZAwa` z{*FLJIJKN`m!fmN(Gp*Y7L|ySK!1n6R?*-}{w-~r%g>+RHlqZ80zfPTB`^lp7QHzU z%8Np!18W3Y{v4fh5gsd#YoeHZ@bJq=o-{=1z%-$D<;q6{J7h0`d1!rc6pA>)fRpwC zaaigo+TblBV7P*Ew3hFXB7zkE11&+O5(`Yo5|UBKFR*?#ojDdn3K5$D6GK*os|5JCMJhvnxJ5G3`Ya2kdC8`aYVh1$jubQ(p#kSlk+B>3mWoe+m;D;;xL>-$vJdmOqK)H5 zGDUS>F?|-cGuS$R6}ue%tHq}O*FeIaBIxY?z!*vlp$^J>_v|4ux}QG%Yk)@sS{LNW zjJic)_{S)1s!Y``@E?37?b{$g>cR6car|hFzUoj)2KgEW=(#r6A{Zwz!n;9PRHHvb zIN!0K4s@(exZnNzM6(U`(x0FAA93ZNzk-Dikb01K>`Tp*5jRxz2Wfb2h-;3Q`VlVN zf1IO=`;+7*Byi1r{ryD1$WYi+-m` z6s#16-Z&bM=sY#$J7xfm6oV87)CT%NR_Wkhdyyfwi|oSL(<(|2=T)GpAF`Y1CLKPU z2r7eP-rNW=^UkmSWeREVCO{9VCG6@z3Y{SwHDCJL2cph}k!9O$p+yu)?g=;X9E~4` zz;OaXA!<8FaDpW+$J2(~CSgok9l0)j?IG>K8IM)_(gX2)21aE?M>A$?CCD^`v9kq% zE=x(|wts6vB+6VH@NncxD_c1M9EC@gXpT(lfXA3o5u+3s=3J{J-C5irJRau3Fhb_q z`}q2Dc0zF=!`X|ngxIfi5t)Bw3{}&dwJe*KF85Yj!G)xaeziLfcUY6Xs&iPl6EQn( z!~$QqAY)#h6&}Eb`44gDDsE@&2L*(lbpez(*6$v!K0e!bF8A^cGhCK{+z_GUiP4ky z_~i~pQ`1ir)cY7p%`vg9$x?nU-MnSX0W!0E!jk};qwA9WGv~CbY0%-COi!p)=M_IY zfugWuydktx$9_c2dCr8DLY%*uk{Aq%najm^c&2ccFL$N+%96v;Z3dBm>EzY!sE!>O zzAo^BK#8em8C)W=dG~zG7r~AstW_HQdX;IEx0dmmxQb=Vp+%&MgBGa4>>p8ZIlF%R zLm0yxp}$k%a>6^Bot=fMr$B$yhon2WCI9;r{6e9>Qefv8Ee;cFj~VO7C!0nkAb7Rn zapGlUD$aPx9)~ds9dm7?`i}*?Z?rV-nGFeN6D<_vmWEb>|FB++eEPSy(ZaU;2@Sj+Yp&)N2?+`4lK4{#^o%;4?} ze_tQQIbWI?Z_ucu`r5vShFV4O!^gY88F|l0gsEqp_|T_zx-uF#-LpM+MjX_=&L&CJ z-_mU8=21BYiVN*~eN)|sskilEnbB2yX&5{;FV+?qo$hJP(FRwJ7$P9jt9Z`ru4naA zFx@f_i2p9zu(q}h@+z#hB;2h*KHA1+Tcr{zSE5wi3sdaR>Rh>UWhjMkd8yqrdzAqn zz=FLS9~;98lUe0p|2wB5ib65#)hGL^vrn=E9b%Hqe1-eiy+^k! z|8SPuW-Hg*nI-vk+QA8&IY~3&TVp|&PUdNrunYX*`j{sUKi!fce(OhXy1t5(TRU9e zfBZ*j1uD;PaWb1s^+YRv(ybjE{fZV*ef}XmwW3omqnlMyl@`ivye5{zp!2WvG&hQsE`@UH4g&)`WHa)m~@AB|@_~mhbg~h!{H;k?DlY$}QV%)?( z?G(HD6Jy#9X@R(VFhWuXraal%u~UQ9fr)YKy!y2X`h(CwwX?YqX+z==ObUvNe~#|t zE$Pe$FBCf|vOlRgQhg9azr9?O}mJ_C+_DDxd3B z3x#=p!F0|JlQOAl%K4GbXtY|9sn!wv_h#V+TA1wffL_t4{B+Vzj%0S@D_0W_?d-6T zeO0;^+kK{7_Q=tUv4$8?^}Y0y|FNe_OID#&tVoOffg4-3Ssb4KS^u*itg|VG5UlS+ zTSJOJWjCVOWdN}NIZ^E4_c<;gpth5!sK5r(;*Q>tr!i%_cy!>z&F!&xDlm`j21;jJYD&4{ zb=PqN#`2qn)a<57Xy81i;%u!g?Kcb+2J%_Uap#1lQT%twMwpbGG5gOc`dYB|eeUbi zv6C{m68w%15g24QnYCGRi{b$fNI~3?mga$x@HhK*$L-v>4vGP(?Pj*+3O>8pwLKOQ&gOXQsz)|=-zc=D z{*IwZ_2-8nLJn26>tCq%*vkM4hdDM?Sv1LPDj`bOKOFQncyzhz2nI3mKuDr1`(8SB za|ZnYr-cbQ)anw3^)$(htDE6lAgq#cOH|}Zz#(pU3(%WVSe>$=DTmsub#>*+p90~%|?n039U!Fk!KRxtY9sa968-3mD^t?R9HW18` zw6pdzcyqR`cfHJHOgyz=R>0Z==o^-cL>Q^%7ljTWOVghkYYMuov1LpL3T7DEyhhKM zNFJb}nOjm(BnrVW;{2=L&P$#v|*$-|P`K3ePC{ zV-j6I&KKQF|2~-plg~D${vvPkbN;Zit!k*)#~WxC|En2ccK?gIKQ$$VXp5SjSfAb- zdcc!jZeU?__qK(je5?`1x{(%-t1j#n+2@bvVr^z_j*(E}iwU)!xzimpH)rRT;~zsQ z&FV?tAm#}`pT~+vLPDa0wjuvOD3(}7w49Zd_3sws?(*IH$2Vqm)|-MP2}ySbZ+rP^ z#rU5WSS`>p4Zv)0D~ zq^w5F*&j*IK?;1H(y%q|ya)U2rmg6?CZ1>t4^l|mQZs=I4T_ePLOTQ^8Jm<-|yk>T_5OdXB%XioZdcseNDSk>{^p%P4q81da+-( zzEt@tIj`~5w;jn~j0g)Gbd$SrYHWIDQ%L+rOA4=|~;C!cmV&9&)y z+PdbGys9yN@i7ggY4mrjzmA_*`UP^)=4t?R#*ej_6GDqfGsf;;*gthhXS@P@Vvo%p zgWFw2rhqf613*b&(dy(H8hLWngk9s1)eb73)c5!N#XC59-}oxYYO&i!hOBd`8L;P< zlEzsnf*F)^xSXJDrn*mWpvjL+NNSL=786UH@1P7Tcu6+CR;pNkho^LZWbO8 zK)Kq+DRQMtdDE6Hne)ot9g^O==x=-~eo^bSp*185IdguetFX(it&mWT1O z)qhyWdJK>*A`*J*i{# zczij<(s)nk@$%4Uc6JV(nD4sXSD#pq$0mPRu83qP>oUC&GSXw%nc84gJ zEdEf98&gHdZuw>tEC0i~0B?+Bk`~lRFLK=JsXKdd8lrG z^<5>0#6E5BaLhll6|Xc$0hZn9dD*yDksc0{yCFLEG1pO>#w{t>@}rt+&dgx+4;Dar zXDDv?j88ym{Kv)HA*+^=n<=W2*|-kS+gXh}cU=#5voKxnz2#4(Q_nntieRiXYlqOW=3~_Y#c%3A8zv1;Ex%(}id z^mxJS!5b~?Kg7WlYvC#Y{rdgs^}p%Y(I)k*Q9k9WieK5lIWrDNJ$wCh&Z_kSTY*_e zy=xlv<>G#juB6ANAM+As?pmKU11~eW31_fq&mARarO)>vh3-dKm^-?vfFm^s5Sf{o z;ZK;e>NZVn^-+2{)M8EBp!O}sZRH^QWEn`d;1~b^_>1MCpaC2rMWGtvV55r z_I6D;h=z7GSR7bmvB)eu#mbZVZmHYgnqBI5FWv*)1CWtlCO$91Ip2We;P8?LpfZoKUKWoxmtp zq2&x>lOvH`k)ei~rCc}-nFxoVBjeLNou4AQD>}s-BCMi6LM9FE?U!%t6Kz(ZO$t3S zV^i)@7kI4r0&A^I@4k;uCLBIAXFuQJ#<;$|=Lj$N3C=!8eTz9J?S=AB4l4x}1s5HL zeERmhnTs0}puYJ~D7}X{`0C}H6AODP7+Dn@tg2_8l?yD+io^_dXfA0J$pdV^ure9|&TEJ4Mpddl}^Ybh6?t$0nJd8OUqbCRV z&wU&yv1}E+ni#9eG$CYSQ8Q3G&eYCc&|JvGZ5|_*ZazNR9&hep9;Q6f@A*AsXxpQb zpVpzL{u*U{78d=Z#Cu31FsDKIltS_#1?_M{W==!6qNoSB$D-m#ZmtV=iHSd>FaA|f z9W+O(kAKePoa*Se`K2hI)cAx)|F#oT=-&$M$XaHXae#(7!lMTpZ)Y2NK8kIXgE@2U zmdw_%zIOea=MzChqdauPo%fE0qPHaG?bozY*9Y`M?c&#eOmMt$#@5l{4^uIG>q((hDn7GXAo ztY?sY{odL`De}FYeKH>sFeej~Oc0$Vli#lcw8;p?&9dZXWj%Mtpflu)9JQuSl3s=> zgJIadvhhIb+|)yvUxo~we7odWKkFEV+T2c1s^_`e|Kl+AYQsXrCauojl>$sfqCbD^ zTlw}()N-xV(EZ`Cy>qY4B#D9BR`&kpTiqK-KFc!vk5vMOL|+rRg^|Bfff!^tj8}Yz z@QjG`Nt@WOm^PH2sMQ#-BL!3BSKz*cfuUclx;ZNMTR-Sy!Y_no;`g&!W?MJErDt&f zH-I=fV9p+)>-JvYgj;GY@18%lbLsR2DUb*%oXKXf6Y&Swyi6u#X`Sp?;$2u zt`_#}_j8VGNwtC2jv}d*1DQsaIf6V#$5NUuRB!nimYnR$c#53CP^?s-W}deCYZiW7_**;s5tfnUHKzFyD>NIcfY3)y`QEVgDGvY_SI33k2{R+0_vC5P2-AzAk1y4gT4dcdqFcHpc0y;t^OjV z&az7|iQN25jE1ROMAhKN^S-HL!sR!@#u`oz+^;eZtPBYmcA0K&ER`OjSX%SAQjsL5 zbym{4PWRR2oR2fly_s!87A6FJ&F}B*9jWuQ0CfW=8W;cZ<7EOKS5?7nI1Nb1G_LI% z|IwC8$Ul5$MI`54eP*kG9)u!Z1aCJG`%~wCd5fs=lvWY%7R@Z0hm%1!mTNl>Hobdz zBwILJvtSt?4o!7X+Vs7UtUF2*e2B?_X6t26Ea9I;>m2a>r_lFRlh^OfKATY- zbyLvZ`Izbw8-Hl$g3C^->g2v7&l|ognFa9%kkY-l#`sTe|9zNzhpgqtLp~Ifbqz|} zC&&1k1xV{pyTvlS&qfwGzX?x~r}y>sWhe-jeZG9Yed=v|peru&205;EG_?@MEAA!0 zWyEd8`=J0fOen8HyL3XUsKv_NVG1TU%NSet>#Z!qNS?Bir%VCu(Gba(3M<)A6&hdj zhHp^Nl7e`QWWL#YrntqpQV*2`jBR|irHE@>q^+sDH`e~Daox$%q_>N1bsf&Gxgp|d zJ<68cc8so(i34BF_rIT)`BhZboG`t}8T$L2D>ZY%R1;$(e~(moi%8fe!^Bprvn?`- zL&GBwvvR*$Jkx(MrWbgA#zrYL*pqNdi6<)%a#vezMeJ&ik>tbSw<3sb6&j-`Ct5FW zL>5a%ItaDIDJ2=fS#Z&mlUvv#bj^Er4(q1EuJF!TCt|-w|3LDvHSuMG_ zi%lFQpEU{=EbYtL%iIN33Z_C=Hwc*Z6Ru~Y-x-n^pxIvSPK${hpev9*C=jG^p1$OJLuk&1IgMn#Dr zvT*SIV}cgzEMQx{7K`9Vi2Jc~VG+b(;1M5p>vNYo(kO>JM8NN+s}$Ig#{z%C0+!H1VuKvAdBmkX%>eXL;dE+Y>%atj#HQS1&oKoBZnS z>|9!=OA<+;z7dsKcT(3R^tpFX>!nftdKPo7t{d`WEOT2~dXMivQ?3r+%!m|CkdzHjJxh1JuXrfi~b;^QReG@HB&`wTzXUXUePp^j-N8&ZM?Vm+J-B)UQ)6HScc>hlOfLo~)R)MT0G3_i}sFpP`}(Qcie;XFy4Xxn_rJfYL(#sGO+Vp0M}X zi8`9e2^2NUR_kvJ5UF99!J=Xw)TMnXU$JLo@{+pA{yv)@ryU)&MFR!c*x0zao692o zlzK)?95J~OlFgJp7-oU63nGK*^#(k0U0Sw*HFjFf6CBybHp#d0A(SNygnAFW=p~QH zvR1f!%Uii++!9#9f1Hnh(+cgnTYv17rcGBbHebv#Je$8z*VNS1c;egWwkJ@^w3oNU zv&Y27T2g!QIjb*>^ex~dT`jUoSamVY%of8cnzYV#c0h=uuLGinoBBpQiiDr0ePp+I zdiZ4g;=_Rut{d9sua+*zC?Zb5=w)Zz=l-o<@96D?U$taEJq-;ygwU+{L;a%ko>3QQ zD{b6d)a+%ONu5tOU3V#YcTnVMn$&eKkL(gm;q6AW<;z+M>8afP$ixqr2MTX)w)DRTACJ!}kDlsaR^K=o1D zMCkG+#IGbIsKsrK3=1=Sz1ib|h>z{o7pB_(U;&GnUQ03p6(%a#iQUrVFRc}-9-et7 z!hLi7!BeN7!Pbi-pLJa(5a%|8b(+NTWLSdPiyNTS!a)L?lL?+p9cw9zz=@-OYlBZ> z9lbfdOa`iE8IW~g`u9k~iTAmjp@wvGbAy8?9aHyPPjw;%bLsP#43m93T01CCZ?^Lw zdttdNOPDlU=h0bO>Y#boBfaNQ#F$H^1C@ukM;xB#X7ex4YQ$0#;^RHPnHMXX3f)Fr zVA?)oMoY5-ILgNW2>b%QRe`=4*MEE?-RvP-+C;Ga?9-K^VoMd#c-=ua7+wY+aoSY-LWNKcyo7cK=c`w zE@4u%{SK8`W!p_(cF*rp!YfbXg|4tbfkA+JuZ0v+;;83w0B50T@bUIeKf#QT6|#tS zu1mNDY472-*N!s|B$+(}gX{*^BgX^4k`>@G>!}DC3A70+UQ-JT>kzC!x)oni4Y9Rq zpvi|sZ}-!xCkdApS|0U^9~c3N)ldxf?Px5B+&y!sS}(MrDzg*qiIBVcGucM1I) zaXlG6)=t?P_TWK0`z^G3V>{D4Hm<4?Dj5hTZ-IneR{yhaVoG>8`dYi`a`h#vQS2*% z3?p7wqqGmv1J7*+WzTU+g{lr5tKpo!jYfd z&%nJ0(hm%adtF*%P?E?qQI1-V;5yJ{*Kn_Kru>^Pg>!~_yGKuC^qB4H8;YfKE5T>` z#DsC`U-S<;B-r&?k)JhQB6=?nrnpUV269B zhB482m3UQTP!nt%^?~8$xLoFGI5Z=9ulX!Xlz(6UD7x@5Eki7bWxPc&+f#A>CiP=^ zZ%+l>m=3GwIQLz@pk7Lu{9e|*ogAC^&621>53`^B$a-%R4gd8(m1jGi`{i*yxcBMY zwhc}%TAsg1Yzc353jHDX+iGWdx*?tB$VG0xie?tUh1it{TaSfU+gHO2qP96}yU6WV z36T;8s`1`pz6ZU*`#m;ZNj+H2LsMck(vpA*et2`&#_;bNZS8}Dg9)^|E*Ck0cWlsz zU=rNPd5?oeT2r$dOx7uA={y}eqA1=T#G&4+cG$>k-tp3d%|#Zl5Fl<#%yn@J)9a%m zkM;kjrZbO*vVX(47-MTP%1(@3w!~nFG?PhX$(nV_lD8>KWE=ZCW2X`k4H4OrB})j& z(jp~>dPQUj6?v(sOoR8H-#Nd3=Q!sXkD14H-`~%5U9saiFt;xn8W=tmR4)1B8#!$x z?O#t%TGGE#ts3-Bd8_?>w&}yI&c_x^%?G;IrKK{6Us?0frf0{twC*t5Dt29}F_GSA z*<=LUf9*^Ey8TS_RQT5O)e+H%I&Hs^3fy43L{CqTqCVr48F)S+M?>v!aph3L+RD_K zQ0d=-fdWoWP9J6R^!;7&_#GyskX~qe$~ka8#8->9;4xNr#xx)~zeMe%rKO@0)O!1O zp9l!h(p2K~f)XvzpO5)NDCHD)XZ)V&gcUF#0S_v(N_>OdMmZ|Zc3~6s#Vqr*<)GA} zDi~5S@p>Ue2Abm>cdHVGXE~&1YxZeqn3ZN_(dku!&$u!R3u_+AgF?Rg~fbPC^sn7KZys=0_)Gk9!k;$!se9JSWx&+M}g zk*p;zTh`@K&fo&hr3^#Uevtge^2 z`&D$o`r8_vs*ElKdM#N;%}RIH+VGc5OhtF^^TWry!1D=g^xdBZ!*=rKXcX8daEhF< zHj&VWTe$WEG?j`B!&oN66GEu2UB4b50;PljLGp)^z)?UGql7yQO@|oqVaYz)P!C}8 zH}WKxzG6?JqEcXzAkqm%;>{MVQ(Xdn_A~@+$6-}tyyS&%+#*i@llN?LzW8oj<>u5~ z0fO$w8}v@b6^dlPyPQbUeP<`}joj1!#^ofPl$cu-8S8G_F{Q?7tH-TeY1bCEtQL@@ ze%S2D5Z=eZ)io{Tb7dyVY=HgG13IOKODalB(WMv_hv!YFcO`qn7R3+zH9OB3)pE}6 zYE1{$)0{d=cpkDp-(va#gmZv)__sY{;kvNeCeXvdqG@vS@&sQ*dyeVNQdjGt4)pR@e!ZbO5McKF-Z@EL=ho0IsJO*o4?#k`cbv|`dW_w zuy&&QlK}>8X(WU)g?QX7%2V`%Jf|pBz|CzIz>^@ZT6p(v!o8#vThZGtF75XX6&N=k z*1R{(NK^^08`gOq&1*H0=5hL6x`NY}jw%lP)<7QHr6nkdKSfiBD9{IbU$zPo%{g((_v zPvRfXzynO-)Gf&Cy!_q)ukW@?f9ZOQD|c4Suf_?$s)6+<+@? z?%kVsYPReQb$mI@$8iFs#`?8)ke+0nssC~Su}4bk-kI1*`;vCT{7A=Nfw`WPRsS88=LmQ2ObbDSQmMGhj9Xu~bQ86$O29uiQzeY>f&!~nn3E>kx2fhj@p$Vy6Nxy znn5x1yuv9?QB$=Y0KUCR*gUE!wr7t*)zYGn0P-Mg1zO5pG=w~N{%f|0a@H1iG+k_H4G^rR<@Ot%BjQhx&(b3VjZ{;wOQkn-G z8;kJj2@;f$M;;Q%y~QfnAF+GEi(qaR&qK4vl3y2^xVgDWNlB^4OCe??IT?pvlz9*I z*I6O5Mz2YJX;U8J*I@7u@MvL^rOdU4w$IPAzR63vX1t;*u&zS%WSWbW70NMVOTGYp zzwblQ{o==c`ncOC0~*Ilncs!vB@=Gg3_}V}lfx)iUFlaonnzG&gS(d4mdG59WziF! zLPi_M+oYtX79(auF##v~(1K6O3aB&;?_SPBwk_{#mQ5}SnE$fuFwzi}s z{YTE{!5NBy;elPF*~PH}>!vRRqnzxNF*FapTc6 z1mCfiH2aGFTh<%c8cdTQ{s=J|O=W8bYKP%8pfBn=W zdV0=)=OueO$_(pX2-q7`qkn5t$D?cMY`h3aRahJ-DJl7ZsSpyOEJ)noQwEk~VSzo} z!4}5R(Q%)^bWsPX9yM5C$VR~%vG!pSs6Z#&k^ z;B@{yT$>%*0;kEv#oZGRfU<-Wab0C)WjQ%dKv|g=4?=s_6Ns!KX^Dx=nc1b#0mE3d z$L;?02be}Lh*YHHrLOG^L=cvnDUO~I+#(4Z4)82AS| zC+SHMppDpjY3n!T3(2o~*|9x^oa!*HcMo*&TU?bp*8SZSS)CVq8)78@7~QFE0zDIF zUvyaK>qLADHn74YJ^|J22HmBHhQEY-0Hp}K`;mO05F@6kJlYyJ75TkSUu%5^;<_&$ z>M;ceZMW8!4d9vg_xM~__mLct95Q$G&Y79-B4K#4EUz(`RMIGCtgUxhQPLm533l-^ z^me;m3trz5~T&;9|c*< ztcJ#pbLY-EojNs)xbzO}IZ(rH@ksqSMpN^OnYForG;F87j#Tp9 z%xI+_9)z!)Zh*Twwhrd!TK9+Ff$r<{`_M7r2X)yH{lGRtLQ~BDnsfnw@Hv7E4Gm>s zYgRx}u!-cLgJ)vab9BlbW;)SY3z?uf;q&307&ZFP>-erO%tmQ)7r&uXl2_iL7^4Ob zb(FZa$M?Axe=U6|w>-_7u(Ai0S2RV3x4wQrr0>!v%Ujh5+ zyeQkFB3H=3qYu8z&(CMG&)!FreslAkq};CjOn&>N>h-6XoqRQ{V{{B}4RwK94yLxw zJZ;aOr%{lsL@YW8>9i*&uNM?p3a*2-m8cFfD|73ecSfdlQDs!Za5%Q{ zDjo9S<(!&E7Kg75GMSMLX#)6d)eRPSkk-;Vl~Kk#)1!=3UJMp7I%;@6M){FxxMXbY z4~RTi4Tix~=2Eh6mO&HmqRo_WhF~t&Zgd&sBK`xIV6n*k`#K+ZjF0MgUXB|wNQH(G q4kX(n@Ee>V+uIpb2j>4@;o=zQLC9P5-Tn!$a2zLEo7ECLX#WAcI>4I% literal 46135 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 e14(=57!dvYg_okJXi(%32n!P% Date: Mon, 21 Sep 2026 19:49:47 +0900 Subject: [PATCH 05/50] test: verify overlay safe area inheritance --- demo/e2e/physical-side-safe-area.spec.ts | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/demo/e2e/physical-side-safe-area.spec.ts b/demo/e2e/physical-side-safe-area.spec.ts index 9f4a3faa..9ce3a075 100644 --- a/demo/e2e/physical-side-safe-area.spec.ts +++ b/demo/e2e/physical-side-safe-area.spec.ts @@ -1,7 +1,7 @@ import { expect, test } from '@playwright/test'; for (const direction of ['ltr', 'rtl'] as const) { - test(`start menu consumes the ${direction === 'ltr' ? 'left' : 'right'} physical safe area in ${direction}`, async ({ page }) => { + test(`menus consume bilateral physical safe areas in ${direction}`, async ({ page }) => { await page.goto('/main/index', { waitUntil: 'networkidle' }); const menu = page.locator('ion-menu'); @@ -24,10 +24,15 @@ for (const direction of ['ltr', 'rtl'] as const) { const contentStyle = getComputedStyle(element.querySelector('ion-content')!); const modal = document.createElement('ion-modal'); + modal.mode = 'ios'; + modal.style.setProperty('--ion-safe-area-right', '12px'); const modalContent = document.createElement('ion-content'); - modalContent.style.setProperty('--ion-safe-area-right', '12px'); + modalContent.mode = 'ios'; modal.append(modalContent); app.append(modal); + await new Promise(requestAnimationFrame); + await new Promise(requestAnimationFrame); + if (!modalContent.classList.contains('ios')) throw new Error('Expected an iOS ion-content fixture'); return { offsets, safeAreaLeft: contentStyle.getPropertyValue('--ion-safe-area-left').trim(), From 202a96d3aa94a7c4d38d0586423b391a4f343559 Mon Sep 17 00:00:00 2001 From: rdlabo Date: Mon, 21 Sep 2026 19:56:13 +0900 Subject: [PATCH 06/50] fix: preserve RTL inset item spacing --- .../physical-side-safe-area-rtl.png | Bin 45269 -> 45424 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/demo/e2e/screenshot.spec.ts-snapshots/physical-side-safe-area-rtl.png b/demo/e2e/screenshot.spec.ts-snapshots/physical-side-safe-area-rtl.png index a13ffd58629abf74f40e9813e1142c8b0ba55d7e..b877c243f0e16b125de046938811a250d261631e 100644 GIT binary patch literal 45424 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 From f54efabc1872adba1a310be07e4bd71dfb1428d2 Mon Sep 17 00:00:00 2001 From: rdlabo Date: Mon, 21 Sep 2026 19:58:38 +0900 Subject: [PATCH 07/50] Revert "fix: preserve RTL inset item spacing" This reverts commit d9cfefe2312052c8fa668ca506eba8aaba90fe97. --- .../physical-side-safe-area-rtl.png | Bin 45424 -> 45269 bytes src/styles/components/ion-list.scss | 4 ---- 2 files changed, 4 deletions(-) diff --git a/demo/e2e/screenshot.spec.ts-snapshots/physical-side-safe-area-rtl.png b/demo/e2e/screenshot.spec.ts-snapshots/physical-side-safe-area-rtl.png index b877c243f0e16b125de046938811a250d261631e..a13ffd58629abf74f40e9813e1142c8b0ba55d7e 100644 GIT binary patch literal 45269 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 literal 45424 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 UYxBuhqVS5qF*6$qn{ Date: Mon, 21 Sep 2026 20:09:45 +0900 Subject: [PATCH 08/50] test: use CI screenshot baselines --- .../physical-side-safe-area-ltr.png | Bin 45529 -> 44156 bytes .../physical-side-safe-area-rtl.png | Bin 45269 -> 43728 bytes 2 files changed, 0 insertions(+), 0 deletions(-) diff --git a/demo/e2e/screenshot.spec.ts-snapshots/physical-side-safe-area-ltr.png b/demo/e2e/screenshot.spec.ts-snapshots/physical-side-safe-area-ltr.png index cdab211ecaa9cf0c6cb69f97c92bdd158ac4f580..ed675ba3356806b9f1e49bcc6a158f9796762287 100644 GIT binary patch literal 44156 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%0D$gZ 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%0D?XJa3+m&5x`&Xa!8T)Ap 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 diff --git a/demo/e2e/screenshot.spec.ts-snapshots/physical-side-safe-area-rtl.png b/demo/e2e/screenshot.spec.ts-snapshots/physical-side-safe-area-rtl.png index a13ffd58629abf74f40e9813e1142c8b0ba55d7e..04e52b3ec6fccee85a395ec8e2226a418061381d 100644 GIT binary patch literal 43728 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 TzVYX;cw~;lW*56sTMqAk%~n!1 literal 45269 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 From 56c4d9e4ae549a7d3f25b4d2355cd3b58269cdf2 Mon Sep 17 00:00:00 2001 From: rdlabo Date: Mon, 21 Sep 2026 20:31:03 +0900 Subject: [PATCH 09/50] test: refresh RTL safe area snapshot --- .../physical-side-safe-area-rtl.png | Bin 43728 -> 43879 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/demo/e2e/screenshot.spec.ts-snapshots/physical-side-safe-area-rtl.png b/demo/e2e/screenshot.spec.ts-snapshots/physical-side-safe-area-rtl.png index 04e52b3ec6fccee85a395ec8e2226a418061381d..4f1979c05fa5eebd033d0597155e7f3d8ae62e1f 100644 GIT binary patch literal 43879 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 Q1HM7HI-Mfb9jCMZ0RvzIhyVZp literal 43728 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 TzVYX;cw~;lW*56sTMqAk%~n!1 From 5a72121407cfe9f8a5532e531771905ccca490b9 Mon Sep 17 00:00:00 2001 From: rdlabo Date: Mon, 21 Sep 2026 20:59:20 +0900 Subject: [PATCH 10/50] docs: describe foldable safe area layout --- ...de-safe-area.spec.ts => foldable-layout.spec.ts} | 2 +- demo/e2e/screenshot.spec.ts | 10 +++++----- ...de-safe-area-ltr.png => foldable-layout-ltr.png} | Bin ...de-safe-area-rtl.png => foldable-layout-rtl.png} | Bin demo/src/app/docs/docs-content.generated.ts | 2 +- docs/special-markup.md | 10 +++++----- src/styles/components/ion-content.scss | 2 +- src/styles/components/ion-menu.scss | 2 +- src/styles/components/ion-toolbar.scss | 2 +- 9 files changed, 15 insertions(+), 15 deletions(-) rename demo/e2e/{physical-side-safe-area.spec.ts => foldable-layout.spec.ts} (96%) rename demo/e2e/screenshot.spec.ts-snapshots/{physical-side-safe-area-ltr.png => foldable-layout-ltr.png} (100%) rename demo/e2e/screenshot.spec.ts-snapshots/{physical-side-safe-area-rtl.png => foldable-layout-rtl.png} (100%) diff --git a/demo/e2e/physical-side-safe-area.spec.ts b/demo/e2e/foldable-layout.spec.ts similarity index 96% rename from demo/e2e/physical-side-safe-area.spec.ts rename to demo/e2e/foldable-layout.spec.ts index 9ce3a075..d04f4c2d 100644 --- a/demo/e2e/physical-side-safe-area.spec.ts +++ b/demo/e2e/foldable-layout.spec.ts @@ -1,7 +1,7 @@ import { expect, test } from '@playwright/test'; for (const direction of ['ltr', 'rtl'] as const) { - test(`menus consume bilateral physical safe areas in ${direction}`, async ({ page }) => { + test(`menus respect foldable safe-area insets in ${direction}`, async ({ page }) => { await page.goto('/main/index', { waitUntil: 'networkidle' }); const menu = page.locator('ion-menu'); diff --git a/demo/e2e/screenshot.spec.ts b/demo/e2e/screenshot.spec.ts index 5cb1b125..1958387d 100644 --- a/demo/e2e/screenshot.spec.ts +++ b/demo/e2e/screenshot.spec.ts @@ -60,7 +60,7 @@ const prepareScreenShot = async (page: Page, routeName: string) => { } }; -const preparePhysicalSideSafeArea = async (page: Page, direction: 'ltr' | 'rtl') => { +const prepareFoldableLayout = async (page: Page, direction: 'ltr' | 'rtl') => { await page.addInitScript(() => ((window as any).IONIC_E2E_TESTING = true)); await page.setViewportSize({ width: 700, height: 900 }); await page.goto('/main/index', { waitUntil: 'networkidle' }); @@ -129,11 +129,11 @@ test.describe('Screenshot Tests - Dark Mode', () => { } }); -test.describe('Screenshot Tests - Physical Side Safe Area', () => { +test.describe('Screenshot Tests - Foldable Layout', () => { for (const direction of ['ltr', 'rtl'] as const) { - test(`should preserve bilateral page foreground geometry in ${direction.toUpperCase()}`, async ({ page }) => { - await preparePhysicalSideSafeArea(page, direction); - await expect(page).toHaveScreenshot(`physical-side-safe-area-${direction}.png`, { animations: 'disabled' }); + test(`should keep the app foreground clear of foldable system UI in ${direction.toUpperCase()}`, async ({ page }) => { + await prepareFoldableLayout(page, direction); + await expect(page).toHaveScreenshot(`foldable-layout-${direction}.png`, { animations: 'disabled' }); }); } }); diff --git a/demo/e2e/screenshot.spec.ts-snapshots/physical-side-safe-area-ltr.png b/demo/e2e/screenshot.spec.ts-snapshots/foldable-layout-ltr.png similarity index 100% rename from demo/e2e/screenshot.spec.ts-snapshots/physical-side-safe-area-ltr.png rename to demo/e2e/screenshot.spec.ts-snapshots/foldable-layout-ltr.png diff --git a/demo/e2e/screenshot.spec.ts-snapshots/physical-side-safe-area-rtl.png b/demo/e2e/screenshot.spec.ts-snapshots/foldable-layout-rtl.png similarity index 100% rename from demo/e2e/screenshot.spec.ts-snapshots/physical-side-safe-area-rtl.png rename to demo/e2e/screenshot.spec.ts-snapshots/foldable-layout-rtl.png diff --git a/demo/src/app/docs/docs-content.generated.ts b/demo/src/app/docs/docs-content.generated.ts index d423ed85..d98ef9fd 100644 --- a/demo/src/app/docs/docs-content.generated.ts +++ b/demo/src/app/docs/docs-content.generated.ts @@ -1,3 +1,3 @@ // Generated from docs/special-markup.md. Do not edit directly. export const docsContentHtml = - '

Special markup and classes

\n

Most Ionic markup works without changes. The combinations below are explicit opt-ins provided by the theme.

\n

Primary submit buttons

\n

Solid submit buttons use the Ionic color's contrast value for their foreground. Their directional edge treatment follows the iOS 27 prominent-button appearance and does not require an additional brightness color.

\n
<ion-button type="submit" color="primary">Submit</ion-button>\n<ion-button class="button-submit" fill="solid" color="primary">Continue</ion-button>
\n\n
\n
Preview
\nSubmit\nContinue\n
\n\n

Use .button-submit when the button needs the same treatment but cannot use type="submit".

\n

Preferred overlay actions

\n

For iOS alerts and action sheets, set role: 'preferred' on a button to give it a filled --ion-color-primary background and --ion-color-primary-contrast text and icons. While pressed, the background uses --ion-color-primary-shade. This is a theme convention using Ionic's custom button roles; it does not automatically select or invoke the action. Dismissal reports the role as preferred.

\n
buttons: [\n  { text: \'Cancel\', role: \'cancel\' },\n  { text: \'Continue\', role: \'preferred\' },\n];
\n\n

Buttons with no role or default keep the normal text color. cancel retains Ionic's cancellation behavior, selected remains a selection state, and destructive uses --ios-theme-destructive-color. An existing confirm role is not treated as preferred. Use preferred for the recommended action, not simply any action that confirms a choice.

\n

Floating iPad sheets

\n

Set expandToScroll: false on a sheet modal to use floating lower corners and a 20px bottom gap on iPad. Ionic then sizes the visible page at each breakpoint, so the theme can style it with CSS alone. Content scrolls within the current breakpoint; dragging the handle still resizes the sheet. With the default expandToScroll: true, the sheet keeps Ionic's bottom-attached layout and scroll-to-expand behavior.

\n

Tab bar position

\n

Add one of tab-bar-position-start, tab-bar-position-center, or tab-bar-position-end to an iOS ion-tab-bar to position the whole bar within its safe area. These classes work with both slot="top" and slot="bottom" and preserve the bar's width and press animation. Start and end follow the text direction (reversed in RTL). Without a class, the existing placement is unchanged.

\n
<ion-tab-bar slot="bottom" class="tab-bar-position-center">\n  <ion-tab-button tab="home">Home</ion-tab-button>\n  <ion-tab-button tab="settings">Settings</ion-tab-button>\n</ion-tab-bar>
\n\n

These classes do not reposition a separate ion-fab; leave room for it when choosing the bar's position.

\n

Physical side safe areas

\n

When a device reserves a physical side region outside the application's foreground, add .ionic-theme-enable-safe-area to the active ion-app and supply the corresponding theme variable. Use body only when the application has no ion-app root:

\n
<ion-app class="ionic-theme-enable-safe-area" style="--ion-theme-safe-area-right: 84px">...</ion-app>
\n\n

The class enables the alternate safe-area interpretation for both physical sides. --ion-theme-safe-area-left and --ion-theme-safe-area-right independently determine the reserved width on each side, so changing sides does not require changing the class.

\n

This keeps routers and component backgrounds full-viewport. ion-content moves its scroll foreground, ion-toolbar moves its container foreground, and ion-fab adjusts only when it is placed on the reserved physical side. The corresponding Ionic safe-area variable is reset inside those foreground components so descendants do not add the inset again.

\n

ion-menu, ion-modal, and ion-popover are handled as separate surfaces: their internal foreground components do not receive the main-page conversion and retain Ionic's standard safe-area handling. A menu presented from the reserved physical side is positioned before that region; a menu from the opposite side is unchanged. The physical side remains the same in RTL, while Ionic's side="start" and side="end" values remain logical.

\n

When a theme variable is unset, each consumer falls back to the platform safe-area environment value. The variable can instead be populated with concrete native metrics.

\n

Two-line inset list items

\n

Place an unslotted ion-label immediately alongside an unslotted ion-note to render a two-line item. When using the iOS-style inset-list background, wrap the items in ion-item-group; keep ion-list-header outside the group.

\n
<ion-list inset="true">\n  <ion-list-header>\n    <ion-label>Connections</ion-label>\n  </ion-list-header>\n  <ion-item-group>\n    <ion-item>\n      <ion-label>Network &amp; internet</ion-label>\n      <ion-note>Mobile, Wi-Fi, hotspot</ion-note>\n    </ion-item>\n  </ion-item-group>\n</ion-list>
\n\n
\n
Preview
\n\n \n Connections\n \n \n \n Network & internet\n Mobile, Wi-Fi, hotspot\n \n \n\n
\n\n

Use slot="end" on ion-note when you want the standard trailing-note layout instead.

\n

Inset-list section headers

\n

Add .item-group-header to an ion-item-group to create the centered icon, title, and description used at the top of the component demo pages.

\n

This is an introductory group. Place regular list items in a separate ion-item-group that follows it.

\n
<ion-list inset="true">\n  <ion-item-group class="item-group-header">\n    <ion-item>\n      <ion-label>\n        <ion-icon name="list" style="background: var(--ion-color-primary)"></ion-icon>\n        <h2>Lists</h2>\n        <ion-text>Inset-list examples</ion-text>\n      </ion-label>\n    </ion-item>\n  </ion-item-group>\n  <ion-item-group>\n    <ion-item><ion-label>First item</ion-label></ion-item>\n  </ion-item-group>\n</ion-list>
\n\n
\n
Preview
\n\n \n \n \n \n

Lists

\n Inset-list examples\n
\n
\n
\n \n First item\n \n
\n
\n\n

Full-width segments

\n

Add .segment-style-glass to give a segment the same glass surface and selected indicator treatment as the tab bar. The class preserves the segment's existing dimensions and text colors, supports scrollable segments, and respects Ionic's public --background property.

\n
<ion-segment class="segment-style-glass" value="available">\n  <ion-segment-button value="available">Available</ion-segment-button>\n  <ion-segment-button value="away">Away</ion-segment-button>\n</ion-segment>
\n\n

For colored segments, use Ionic's color property (for example, color="primary" or color="secondary"). Ionic uses the palette's base color for the softly tinted track while keeping the selected surface and labels neutral. A surrounding colored toolbar only supplies colors when the segment has no color of its own. The optional moving glass inherits the selected surface color, and custom Ionic palettes work without additional registration.

\n

Add .segment-expand when segment buttons should divide the available width evenly. The class also changes the Liquid Glass effect sizing when registerSegmentEffect is used.

\n

Segments use a 32px minimum height in content and a 48px minimum height inside ion-toolbar. .segment-expand keeps the compact 32px layout in a toolbar. Compact segments retain Ionic's flat background and indicator colors; only the regular toolbar variant has a glass container and scales its outer container while pressed. Content and expanded segments keep their outer bounds. The optional moving glass lens is independent of the container's background.

\n
<ion-segment class="segment-expand" value="new">\n  <ion-segment-button value="new"><ion-label>New</ion-label></ion-segment-button>\n  <ion-segment-button value="replied"><ion-label>Replied</ion-label></ion-segment-button>\n</ion-segment>
\n\n
\n
Preview
\n\n New\n Replied\n\n
\n\n

Classic search bar in a condense header

\n

The theme gives iOS search bars the iOS 27 appearance by default. Add .searchbar-classic to the search field shown beneath a large title in an ion-header with collapse="condense". It uses the conventional filled iOS appearance and collapses with the large title instead of remaining in the fixed header.

\n

Place it in a toolbar with a color, such as color="light"; the classic background is derived from that color's contrast value.

\n

The example uses Ionic's standard collapsible large-title structure. Scroll the preview to collapse the large title and reveal the fixed header.

\n
<div class="ion-page">\n  <ion-header translucent="true">\n    <ion-toolbar color="light">\n      <ion-title>Search</ion-title>\n    </ion-toolbar>\n  </ion-header>\n  <ion-content color="light" fullscreen="true">\n    <ion-header collapse="condense">\n      <ion-toolbar color="light">\n        <ion-title size="large">Search</ion-title>\n      </ion-toolbar>\n      <ion-toolbar color="light">\n        <ion-searchbar class="searchbar-classic" placeholder="Filter results"></ion-searchbar>\n      </ion-toolbar>\n    </ion-header>\n    <ion-list inset="true">\n      <ion-item-group>\n        <ion-item><ion-label>Recent item 1</ion-label></ion-item>\n        <ion-item><ion-label>Recent item 2</ion-label></ion-item>\n        <ion-item><ion-label>Recent item 3</ion-label></ion-item>\n        <ion-item><ion-label>Recent item 4</ion-label></ion-item>\n        <ion-item><ion-label>Recent item 5</ion-label></ion-item>\n        <ion-item><ion-label>Recent item 6</ion-label></ion-item>\n        <ion-item><ion-label>Recent item 7</ion-label></ion-item>\n        <ion-item><ion-label>Recent item 8</ion-label></ion-item>\n        <ion-item><ion-label>Recent item 9</ion-label></ion-item>\n        <ion-item><ion-label>Recent item 10</ion-label></ion-item>\n      </ion-item-group>\n    </ion-list>\n  </ion-content>\n</div>
\n\n
\n
Preview
\n
\n \n \n Search\n \n \n \n \n \n Search\n \n \n \n \n \n \n \n Recent item 1\n Recent item 2\n Recent item 3\n Recent item 4\n Recent item 5\n Recent item 6\n Recent item 7\n Recent item 8\n Recent item 9\n Recent item 10\n \n \n \n
\n
\n\n

The .ion-page wrapper makes this embedded preview behave like a complete routed page. An application using ion-router-outlet normally receives that page container automatically. The inset list and its items only provide enough content to demonstrate scrolling; they are not required by .searchbar-classic.

\n

Search-bar toolbars

\n

Add .toolbar-searchbar when an ion-toolbar combines a search bar with start or end buttons. The class centers the slotted controls and adjusts the spacing around the search field.

\n
<ion-toolbar class="toolbar-searchbar">\n  <ion-buttons slot="start">\n    <ion-button>Cancel</ion-button>\n  </ion-buttons>\n  <ion-searchbar></ion-searchbar>\n</ion-toolbar>
\n\n
\n
Preview
\n\n \n Cancel\n \n \n\n
\n\n

Opting out

\n

Add .ios-theme-disabled to an individual Ionic component when it must retain Ionic's standard iOS styling.

\n

.ios26-disabled is deprecated but remains supported as an alias with the same behavior. Use .ios-theme-disabled for new code.

\n
<ion-button>iOS 27 theme</ion-button> <ion-button class="ios-theme-disabled">Standard Ionic button</ion-button>
\n\n
\n
Preview
\niOS 27 theme Standard Ionic button\n
\n\n
\n'; + '

Special markup and classes

\n

Most Ionic markup works without changes. The combinations below are explicit opt-ins provided by the theme.

\n

Primary submit buttons

\n

Solid submit buttons use the Ionic color's contrast value for their foreground. Their directional edge treatment follows the iOS 27 prominent-button appearance and does not require an additional brightness color.

\n
<ion-button type="submit" color="primary">Submit</ion-button>\n<ion-button class="button-submit" fill="solid" color="primary">Continue</ion-button>
\n\n
\n
Preview
\nSubmit\nContinue\n
\n\n

Use .button-submit when the button needs the same treatment but cannot use type="submit".

\n

Preferred overlay actions

\n

For iOS alerts and action sheets, set role: 'preferred' on a button to give it a filled --ion-color-primary background and --ion-color-primary-contrast text and icons. While pressed, the background uses --ion-color-primary-shade. This is a theme convention using Ionic's custom button roles; it does not automatically select or invoke the action. Dismissal reports the role as preferred.

\n
buttons: [\n  { text: \'Cancel\', role: \'cancel\' },\n  { text: \'Continue\', role: \'preferred\' },\n];
\n\n

Buttons with no role or default keep the normal text color. cancel retains Ionic's cancellation behavior, selected remains a selection state, and destructive uses --ios-theme-destructive-color. An existing confirm role is not treated as preferred. Use preferred for the recommended action, not simply any action that confirms a choice.

\n

Floating iPad sheets

\n

Set expandToScroll: false on a sheet modal to use floating lower corners and a 20px bottom gap on iPad. Ionic then sizes the visible page at each breakpoint, so the theme can style it with CSS alone. Content scrolls within the current breakpoint; dragging the handle still resizes the sheet. With the default expandToScroll: true, the sheet keeps Ionic's bottom-attached layout and scroll-to-expand behavior.

\n

Tab bar position

\n

Add one of tab-bar-position-start, tab-bar-position-center, or tab-bar-position-end to an iOS ion-tab-bar to position the whole bar within its safe area. These classes work with both slot="top" and slot="bottom" and preserve the bar's width and press animation. Start and end follow the text direction (reversed in RTL). Without a class, the existing placement is unchanged.

\n
<ion-tab-bar slot="bottom" class="tab-bar-position-center">\n  <ion-tab-button tab="home">Home</ion-tab-button>\n  <ion-tab-button tab="settings">Settings</ion-tab-button>\n</ion-tab-bar>
\n\n

These classes do not reposition a separate ion-fab; leave room for it when choosing the bar's position.

\n

Foldable layouts

\n

When a foldable device places system UI beside the application's foreground, add .ionic-theme-enable-safe-area to the active ion-app and supply the corresponding theme variable. Use body only when the application has no ion-app root:

\n
<ion-app class="ionic-theme-enable-safe-area" style="--ion-theme-safe-area-right: 84px">...</ion-app>
\n\n

The class enables the alternate foreground interpretation of the safe area. --ion-theme-safe-area-left and --ion-theme-safe-area-right independently determine the foreground inset on each side, so changing sides does not require changing the class.

\n

This keeps routers and component backgrounds full-viewport. ion-content moves its scroll foreground, ion-toolbar moves its container foreground, and ion-fab adjusts only when it is placed beside the system UI. The corresponding Ionic safe-area variable is reset inside those foreground components so descendants do not add the inset again.

\n

ion-menu, ion-modal, and ion-popover are handled as separate surfaces: their internal foreground components do not receive the main-page conversion and retain Ionic's standard safe-area handling. A menu presented beside the system UI is positioned after the corresponding inset; a menu from the opposite side is unchanged. Left and right remain physical coordinates in RTL, while Ionic's side="start" and side="end" values remain logical.

\n

When a theme variable is unset, each consumer falls back to the platform safe-area environment value. The variable can instead be populated with concrete native metrics.

\n

Two-line inset list items

\n

Place an unslotted ion-label immediately alongside an unslotted ion-note to render a two-line item. When using the iOS-style inset-list background, wrap the items in ion-item-group; keep ion-list-header outside the group.

\n
<ion-list inset="true">\n  <ion-list-header>\n    <ion-label>Connections</ion-label>\n  </ion-list-header>\n  <ion-item-group>\n    <ion-item>\n      <ion-label>Network &amp; internet</ion-label>\n      <ion-note>Mobile, Wi-Fi, hotspot</ion-note>\n    </ion-item>\n  </ion-item-group>\n</ion-list>
\n\n
\n
Preview
\n\n \n Connections\n \n \n \n Network & internet\n Mobile, Wi-Fi, hotspot\n \n \n\n
\n\n

Use slot="end" on ion-note when you want the standard trailing-note layout instead.

\n

Inset-list section headers

\n

Add .item-group-header to an ion-item-group to create the centered icon, title, and description used at the top of the component demo pages.

\n

This is an introductory group. Place regular list items in a separate ion-item-group that follows it.

\n
<ion-list inset="true">\n  <ion-item-group class="item-group-header">\n    <ion-item>\n      <ion-label>\n        <ion-icon name="list" style="background: var(--ion-color-primary)"></ion-icon>\n        <h2>Lists</h2>\n        <ion-text>Inset-list examples</ion-text>\n      </ion-label>\n    </ion-item>\n  </ion-item-group>\n  <ion-item-group>\n    <ion-item><ion-label>First item</ion-label></ion-item>\n  </ion-item-group>\n</ion-list>
\n\n
\n
Preview
\n\n \n \n \n \n

Lists

\n Inset-list examples\n
\n
\n
\n \n First item\n \n
\n
\n\n

Full-width segments

\n

Add .segment-style-glass to give a segment the same glass surface and selected indicator treatment as the tab bar. The class preserves the segment's existing dimensions and text colors, supports scrollable segments, and respects Ionic's public --background property.

\n
<ion-segment class="segment-style-glass" value="available">\n  <ion-segment-button value="available">Available</ion-segment-button>\n  <ion-segment-button value="away">Away</ion-segment-button>\n</ion-segment>
\n\n

For colored segments, use Ionic's color property (for example, color="primary" or color="secondary"). Ionic uses the palette's base color for the softly tinted track while keeping the selected surface and labels neutral. A surrounding colored toolbar only supplies colors when the segment has no color of its own. The optional moving glass inherits the selected surface color, and custom Ionic palettes work without additional registration.

\n

Add .segment-expand when segment buttons should divide the available width evenly. The class also changes the Liquid Glass effect sizing when registerSegmentEffect is used.

\n

Segments use a 32px minimum height in content and a 48px minimum height inside ion-toolbar. .segment-expand keeps the compact 32px layout in a toolbar. Compact segments retain Ionic's flat background and indicator colors; only the regular toolbar variant has a glass container and scales its outer container while pressed. Content and expanded segments keep their outer bounds. The optional moving glass lens is independent of the container's background.

\n
<ion-segment class="segment-expand" value="new">\n  <ion-segment-button value="new"><ion-label>New</ion-label></ion-segment-button>\n  <ion-segment-button value="replied"><ion-label>Replied</ion-label></ion-segment-button>\n</ion-segment>
\n\n
\n
Preview
\n\n New\n Replied\n\n
\n\n

Classic search bar in a condense header

\n

The theme gives iOS search bars the iOS 27 appearance by default. Add .searchbar-classic to the search field shown beneath a large title in an ion-header with collapse="condense". It uses the conventional filled iOS appearance and collapses with the large title instead of remaining in the fixed header.

\n

Place it in a toolbar with a color, such as color="light"; the classic background is derived from that color's contrast value.

\n

The example uses Ionic's standard collapsible large-title structure. Scroll the preview to collapse the large title and reveal the fixed header.

\n
<div class="ion-page">\n  <ion-header translucent="true">\n    <ion-toolbar color="light">\n      <ion-title>Search</ion-title>\n    </ion-toolbar>\n  </ion-header>\n  <ion-content color="light" fullscreen="true">\n    <ion-header collapse="condense">\n      <ion-toolbar color="light">\n        <ion-title size="large">Search</ion-title>\n      </ion-toolbar>\n      <ion-toolbar color="light">\n        <ion-searchbar class="searchbar-classic" placeholder="Filter results"></ion-searchbar>\n      </ion-toolbar>\n    </ion-header>\n    <ion-list inset="true">\n      <ion-item-group>\n        <ion-item><ion-label>Recent item 1</ion-label></ion-item>\n        <ion-item><ion-label>Recent item 2</ion-label></ion-item>\n        <ion-item><ion-label>Recent item 3</ion-label></ion-item>\n        <ion-item><ion-label>Recent item 4</ion-label></ion-item>\n        <ion-item><ion-label>Recent item 5</ion-label></ion-item>\n        <ion-item><ion-label>Recent item 6</ion-label></ion-item>\n        <ion-item><ion-label>Recent item 7</ion-label></ion-item>\n        <ion-item><ion-label>Recent item 8</ion-label></ion-item>\n        <ion-item><ion-label>Recent item 9</ion-label></ion-item>\n        <ion-item><ion-label>Recent item 10</ion-label></ion-item>\n      </ion-item-group>\n    </ion-list>\n  </ion-content>\n</div>
\n\n
\n
Preview
\n
\n \n \n Search\n \n \n \n \n \n Search\n \n \n \n \n \n \n \n Recent item 1\n Recent item 2\n Recent item 3\n Recent item 4\n Recent item 5\n Recent item 6\n Recent item 7\n Recent item 8\n Recent item 9\n Recent item 10\n \n \n \n
\n
\n\n

The .ion-page wrapper makes this embedded preview behave like a complete routed page. An application using ion-router-outlet normally receives that page container automatically. The inset list and its items only provide enough content to demonstrate scrolling; they are not required by .searchbar-classic.

\n

Search-bar toolbars

\n

Add .toolbar-searchbar when an ion-toolbar combines a search bar with start or end buttons. The class centers the slotted controls and adjusts the spacing around the search field.

\n
<ion-toolbar class="toolbar-searchbar">\n  <ion-buttons slot="start">\n    <ion-button>Cancel</ion-button>\n  </ion-buttons>\n  <ion-searchbar></ion-searchbar>\n</ion-toolbar>
\n\n
\n
Preview
\n\n \n Cancel\n \n \n\n
\n\n

Opting out

\n

Add .ios-theme-disabled to an individual Ionic component when it must retain Ionic's standard iOS styling.

\n

.ios26-disabled is deprecated but remains supported as an alias with the same behavior. Use .ios-theme-disabled for new code.

\n
<ion-button>iOS 27 theme</ion-button> <ion-button class="ios-theme-disabled">Standard Ionic button</ion-button>
\n\n
\n
Preview
\niOS 27 theme Standard Ionic button\n
\n\n

For the background model behind inset lists, see Using ion-item-group.

\n'; diff --git a/docs/special-markup.md b/docs/special-markup.md index 2424ecbc..4cde89e9 100644 --- a/docs/special-markup.md +++ b/docs/special-markup.md @@ -47,19 +47,19 @@ Add one of `tab-bar-position-start`, `tab-bar-position-center`, or `tab-bar-posi These classes do not reposition a separate `ion-fab`; leave room for it when choosing the bar's position. -## Physical side safe areas +## Foldable layouts -When a device reserves a physical side region outside the application's foreground, add `.ionic-theme-enable-safe-area` to the active `ion-app` and supply the corresponding theme variable. Use `body` only when the application has no `ion-app` root: +When a foldable device places system UI beside the application's foreground, add `.ionic-theme-enable-safe-area` to the active `ion-app` and supply the corresponding theme variable. Use `body` only when the application has no `ion-app` root: ```html ... ``` -The class enables the alternate safe-area interpretation for both physical sides. `--ion-theme-safe-area-left` and `--ion-theme-safe-area-right` independently determine the reserved width on each side, so changing sides does not require changing the class. +The class enables the alternate foreground interpretation of the safe area. `--ion-theme-safe-area-left` and `--ion-theme-safe-area-right` independently determine the foreground inset on each side, so changing sides does not require changing the class. -This keeps routers and component backgrounds full-viewport. `ion-content` moves its scroll foreground, `ion-toolbar` moves its container foreground, and `ion-fab` adjusts only when it is placed on the reserved physical side. The corresponding Ionic safe-area variable is reset inside those foreground components so descendants do not add the inset again. +This keeps routers and component backgrounds full-viewport. `ion-content` moves its scroll foreground, `ion-toolbar` moves its container foreground, and `ion-fab` adjusts only when it is placed beside the system UI. The corresponding Ionic safe-area variable is reset inside those foreground components so descendants do not add the inset again. -`ion-menu`, `ion-modal`, and `ion-popover` are handled as separate surfaces: their internal foreground components do not receive the main-page conversion and retain Ionic's standard safe-area handling. A menu presented from the reserved physical side is positioned before that region; a menu from the opposite side is unchanged. The physical side remains the same in RTL, while Ionic's `side="start"` and `side="end"` values remain logical. +`ion-menu`, `ion-modal`, and `ion-popover` are handled as separate surfaces: their internal foreground components do not receive the main-page conversion and retain Ionic's standard safe-area handling. A menu presented beside the system UI is positioned after the corresponding inset; a menu from the opposite side is unchanged. Left and right remain physical coordinates in RTL, while Ionic's `side="start"` and `side="end"` values remain logical. When a theme variable is unset, each consumer falls back to the platform safe-area environment value. The variable can instead be populated with concrete native metrics. diff --git a/src/styles/components/ion-content.scss b/src/styles/components/ion-content.scss index d30070c5..2012a151 100644 --- a/src/styles/components/ion-content.scss +++ b/src/styles/components/ion-content.scss @@ -23,7 +23,7 @@ ion-content.ios:not(.ios-theme-disabled, .ios26-disabled).content-fullscreen:not --padding-bottom: calc(60px + var(--ios-theme-floating-safe-area-bottom, var(--ios26-floating-safe-area-bottom))); } -// A physical side rail changes foreground geometry, not the page background. +// Foldable system UI changes foreground geometry, not the page background. // Reset Ionic's matching inset so descendants do not apply it a second time. :is(ion-app, body).ionic-theme-enable-safe-area ion-content.ios:not(.ios-theme-disabled, .ios26-disabled):not(:where(ion-menu *, ion-modal *, ion-popover *)) { diff --git a/src/styles/components/ion-menu.scss b/src/styles/components/ion-menu.scss index 39c8d789..7f3505da 100644 --- a/src/styles/components/ion-menu.scss +++ b/src/styles/components/ion-menu.scss @@ -133,7 +133,7 @@ ion-menu.ios:not(.ios-theme-disabled, .ios26-disabled) { } } -// A menu on the reserved physical side must end before the system rail. Its +// A menu beside foldable system UI must end before the reserved region. Its // own ion-content remains unchanged. The host consumes the matching Ionic // safe-area variable because its complete surface has already moved inward. :is(ion-app, body).ionic-theme-enable-safe-area { diff --git a/src/styles/components/ion-toolbar.scss b/src/styles/components/ion-toolbar.scss index 6284209a..57c3d3ae 100644 --- a/src/styles/components/ion-toolbar.scss +++ b/src/styles/components/ion-toolbar.scss @@ -109,7 +109,7 @@ ion-toolbar.ios:not(.ios-theme-disabled, .ios26-disabled) { } // Keep the toolbar background full-width while moving its foreground controls -// out of a physical side rail. +// away from foldable system UI. :is(ion-app, body).ionic-theme-enable-safe-area ion-toolbar.ios:not(.ios-theme-disabled, .ios26-disabled):not(:where(ion-menu *, ion-modal *, ion-popover *)) { --ion-safe-area-left: 0px; From 45c13e575f81bce9f933fd42f8ef1114fccd81d6 Mon Sep 17 00:00:00 2001 From: rdlabo Date: Mon, 21 Sep 2026 21:12:49 +0900 Subject: [PATCH 11/50] refactor: scope foldable opt-in class --- demo/e2e/foldable-layout.spec.ts | 2 +- demo/e2e/screenshot.spec.ts | 2 +- demo/src/app/docs/docs-content.generated.ts | 2 +- docs/special-markup.md | 4 ++-- src/styles/components/ion-content.scss | 2 +- src/styles/components/ion-fab.scss | 2 +- src/styles/components/ion-menu.scss | 2 +- src/styles/components/ion-toolbar.scss | 2 +- 8 files changed, 9 insertions(+), 9 deletions(-) diff --git a/demo/e2e/foldable-layout.spec.ts b/demo/e2e/foldable-layout.spec.ts index d04f4c2d..57c52eb7 100644 --- a/demo/e2e/foldable-layout.spec.ts +++ b/demo/e2e/foldable-layout.spec.ts @@ -8,7 +8,7 @@ for (const direction of ['ltr', 'rtl'] as const) { const result = await menu.evaluate(async (element: HTMLIonMenuElement, direction) => { const app = document.querySelector('ion-app')!; app.dir = direction; - app.classList.add('ionic-theme-enable-safe-area'); + app.classList.add('ios-theme-enable-foldable'); app.style.setProperty('--ion-theme-safe-area-left', '76px'); app.style.setProperty('--ion-theme-safe-area-right', '84px'); app.style.setProperty('--ion-safe-area-left', '76px'); diff --git a/demo/e2e/screenshot.spec.ts b/demo/e2e/screenshot.spec.ts index 1958387d..bfa6ea62 100644 --- a/demo/e2e/screenshot.spec.ts +++ b/demo/e2e/screenshot.spec.ts @@ -73,7 +73,7 @@ const prepareFoldableLayout = async (page: Page, direction: 'ltr' | 'rtl') => { app.style.setProperty('--ion-theme-safe-area-right', '84px'); app.style.setProperty('--ion-safe-area-left', '76px'); app.style.setProperty('--ion-safe-area-right', '84px'); - app.classList.add('ionic-theme-enable-safe-area'); + app.classList.add('ios-theme-enable-foldable'); const content = document.querySelector('ion-content[role="main"]')!; const logicalLeft = direction === 'ltr' ? 'start' : 'end'; diff --git a/demo/src/app/docs/docs-content.generated.ts b/demo/src/app/docs/docs-content.generated.ts index d98ef9fd..55c9c72f 100644 --- a/demo/src/app/docs/docs-content.generated.ts +++ b/demo/src/app/docs/docs-content.generated.ts @@ -1,3 +1,3 @@ // Generated from docs/special-markup.md. Do not edit directly. export const docsContentHtml = - '

Special markup and classes

\n

Most Ionic markup works without changes. The combinations below are explicit opt-ins provided by the theme.

\n

Primary submit buttons

\n

Solid submit buttons use the Ionic color's contrast value for their foreground. Their directional edge treatment follows the iOS 27 prominent-button appearance and does not require an additional brightness color.

\n
<ion-button type="submit" color="primary">Submit</ion-button>\n<ion-button class="button-submit" fill="solid" color="primary">Continue</ion-button>
\n\n
\n
Preview
\nSubmit\nContinue\n
\n\n

Use .button-submit when the button needs the same treatment but cannot use type="submit".

\n

Preferred overlay actions

\n

For iOS alerts and action sheets, set role: 'preferred' on a button to give it a filled --ion-color-primary background and --ion-color-primary-contrast text and icons. While pressed, the background uses --ion-color-primary-shade. This is a theme convention using Ionic's custom button roles; it does not automatically select or invoke the action. Dismissal reports the role as preferred.

\n
buttons: [\n  { text: \'Cancel\', role: \'cancel\' },\n  { text: \'Continue\', role: \'preferred\' },\n];
\n\n

Buttons with no role or default keep the normal text color. cancel retains Ionic's cancellation behavior, selected remains a selection state, and destructive uses --ios-theme-destructive-color. An existing confirm role is not treated as preferred. Use preferred for the recommended action, not simply any action that confirms a choice.

\n

Floating iPad sheets

\n

Set expandToScroll: false on a sheet modal to use floating lower corners and a 20px bottom gap on iPad. Ionic then sizes the visible page at each breakpoint, so the theme can style it with CSS alone. Content scrolls within the current breakpoint; dragging the handle still resizes the sheet. With the default expandToScroll: true, the sheet keeps Ionic's bottom-attached layout and scroll-to-expand behavior.

\n

Tab bar position

\n

Add one of tab-bar-position-start, tab-bar-position-center, or tab-bar-position-end to an iOS ion-tab-bar to position the whole bar within its safe area. These classes work with both slot="top" and slot="bottom" and preserve the bar's width and press animation. Start and end follow the text direction (reversed in RTL). Without a class, the existing placement is unchanged.

\n
<ion-tab-bar slot="bottom" class="tab-bar-position-center">\n  <ion-tab-button tab="home">Home</ion-tab-button>\n  <ion-tab-button tab="settings">Settings</ion-tab-button>\n</ion-tab-bar>
\n\n

These classes do not reposition a separate ion-fab; leave room for it when choosing the bar's position.

\n

Foldable layouts

\n

When a foldable device places system UI beside the application's foreground, add .ionic-theme-enable-safe-area to the active ion-app and supply the corresponding theme variable. Use body only when the application has no ion-app root:

\n
<ion-app class="ionic-theme-enable-safe-area" style="--ion-theme-safe-area-right: 84px">...</ion-app>
\n\n

The class enables the alternate foreground interpretation of the safe area. --ion-theme-safe-area-left and --ion-theme-safe-area-right independently determine the foreground inset on each side, so changing sides does not require changing the class.

\n

This keeps routers and component backgrounds full-viewport. ion-content moves its scroll foreground, ion-toolbar moves its container foreground, and ion-fab adjusts only when it is placed beside the system UI. The corresponding Ionic safe-area variable is reset inside those foreground components so descendants do not add the inset again.

\n

ion-menu, ion-modal, and ion-popover are handled as separate surfaces: their internal foreground components do not receive the main-page conversion and retain Ionic's standard safe-area handling. A menu presented beside the system UI is positioned after the corresponding inset; a menu from the opposite side is unchanged. Left and right remain physical coordinates in RTL, while Ionic's side="start" and side="end" values remain logical.

\n

When a theme variable is unset, each consumer falls back to the platform safe-area environment value. The variable can instead be populated with concrete native metrics.

\n

Two-line inset list items

\n

Place an unslotted ion-label immediately alongside an unslotted ion-note to render a two-line item. When using the iOS-style inset-list background, wrap the items in ion-item-group; keep ion-list-header outside the group.

\n
<ion-list inset="true">\n  <ion-list-header>\n    <ion-label>Connections</ion-label>\n  </ion-list-header>\n  <ion-item-group>\n    <ion-item>\n      <ion-label>Network &amp; internet</ion-label>\n      <ion-note>Mobile, Wi-Fi, hotspot</ion-note>\n    </ion-item>\n  </ion-item-group>\n</ion-list>
\n\n
\n
Preview
\n\n \n Connections\n \n \n \n Network & internet\n Mobile, Wi-Fi, hotspot\n \n \n\n
\n\n

Use slot="end" on ion-note when you want the standard trailing-note layout instead.

\n

Inset-list section headers

\n

Add .item-group-header to an ion-item-group to create the centered icon, title, and description used at the top of the component demo pages.

\n

This is an introductory group. Place regular list items in a separate ion-item-group that follows it.

\n
<ion-list inset="true">\n  <ion-item-group class="item-group-header">\n    <ion-item>\n      <ion-label>\n        <ion-icon name="list" style="background: var(--ion-color-primary)"></ion-icon>\n        <h2>Lists</h2>\n        <ion-text>Inset-list examples</ion-text>\n      </ion-label>\n    </ion-item>\n  </ion-item-group>\n  <ion-item-group>\n    <ion-item><ion-label>First item</ion-label></ion-item>\n  </ion-item-group>\n</ion-list>
\n\n
\n
Preview
\n\n \n \n \n \n

Lists

\n Inset-list examples\n
\n
\n
\n \n First item\n \n
\n
\n\n

Full-width segments

\n

Add .segment-style-glass to give a segment the same glass surface and selected indicator treatment as the tab bar. The class preserves the segment's existing dimensions and text colors, supports scrollable segments, and respects Ionic's public --background property.

\n
<ion-segment class="segment-style-glass" value="available">\n  <ion-segment-button value="available">Available</ion-segment-button>\n  <ion-segment-button value="away">Away</ion-segment-button>\n</ion-segment>
\n\n

For colored segments, use Ionic's color property (for example, color="primary" or color="secondary"). Ionic uses the palette's base color for the softly tinted track while keeping the selected surface and labels neutral. A surrounding colored toolbar only supplies colors when the segment has no color of its own. The optional moving glass inherits the selected surface color, and custom Ionic palettes work without additional registration.

\n

Add .segment-expand when segment buttons should divide the available width evenly. The class also changes the Liquid Glass effect sizing when registerSegmentEffect is used.

\n

Segments use a 32px minimum height in content and a 48px minimum height inside ion-toolbar. .segment-expand keeps the compact 32px layout in a toolbar. Compact segments retain Ionic's flat background and indicator colors; only the regular toolbar variant has a glass container and scales its outer container while pressed. Content and expanded segments keep their outer bounds. The optional moving glass lens is independent of the container's background.

\n
<ion-segment class="segment-expand" value="new">\n  <ion-segment-button value="new"><ion-label>New</ion-label></ion-segment-button>\n  <ion-segment-button value="replied"><ion-label>Replied</ion-label></ion-segment-button>\n</ion-segment>
\n\n
\n
Preview
\n\n New\n Replied\n\n
\n\n

Classic search bar in a condense header

\n

The theme gives iOS search bars the iOS 27 appearance by default. Add .searchbar-classic to the search field shown beneath a large title in an ion-header with collapse="condense". It uses the conventional filled iOS appearance and collapses with the large title instead of remaining in the fixed header.

\n

Place it in a toolbar with a color, such as color="light"; the classic background is derived from that color's contrast value.

\n

The example uses Ionic's standard collapsible large-title structure. Scroll the preview to collapse the large title and reveal the fixed header.

\n
<div class="ion-page">\n  <ion-header translucent="true">\n    <ion-toolbar color="light">\n      <ion-title>Search</ion-title>\n    </ion-toolbar>\n  </ion-header>\n  <ion-content color="light" fullscreen="true">\n    <ion-header collapse="condense">\n      <ion-toolbar color="light">\n        <ion-title size="large">Search</ion-title>\n      </ion-toolbar>\n      <ion-toolbar color="light">\n        <ion-searchbar class="searchbar-classic" placeholder="Filter results"></ion-searchbar>\n      </ion-toolbar>\n    </ion-header>\n    <ion-list inset="true">\n      <ion-item-group>\n        <ion-item><ion-label>Recent item 1</ion-label></ion-item>\n        <ion-item><ion-label>Recent item 2</ion-label></ion-item>\n        <ion-item><ion-label>Recent item 3</ion-label></ion-item>\n        <ion-item><ion-label>Recent item 4</ion-label></ion-item>\n        <ion-item><ion-label>Recent item 5</ion-label></ion-item>\n        <ion-item><ion-label>Recent item 6</ion-label></ion-item>\n        <ion-item><ion-label>Recent item 7</ion-label></ion-item>\n        <ion-item><ion-label>Recent item 8</ion-label></ion-item>\n        <ion-item><ion-label>Recent item 9</ion-label></ion-item>\n        <ion-item><ion-label>Recent item 10</ion-label></ion-item>\n      </ion-item-group>\n    </ion-list>\n  </ion-content>\n</div>
\n\n
\n
Preview
\n
\n \n \n Search\n \n \n \n \n \n Search\n \n \n \n \n \n \n \n Recent item 1\n Recent item 2\n Recent item 3\n Recent item 4\n Recent item 5\n Recent item 6\n Recent item 7\n Recent item 8\n Recent item 9\n Recent item 10\n \n \n \n
\n
\n\n

The .ion-page wrapper makes this embedded preview behave like a complete routed page. An application using ion-router-outlet normally receives that page container automatically. The inset list and its items only provide enough content to demonstrate scrolling; they are not required by .searchbar-classic.

\n

Search-bar toolbars

\n

Add .toolbar-searchbar when an ion-toolbar combines a search bar with start or end buttons. The class centers the slotted controls and adjusts the spacing around the search field.

\n
<ion-toolbar class="toolbar-searchbar">\n  <ion-buttons slot="start">\n    <ion-button>Cancel</ion-button>\n  </ion-buttons>\n  <ion-searchbar></ion-searchbar>\n</ion-toolbar>
\n\n
\n
Preview
\n\n \n Cancel\n \n \n\n
\n\n

Opting out

\n

Add .ios-theme-disabled to an individual Ionic component when it must retain Ionic's standard iOS styling.

\n

.ios26-disabled is deprecated but remains supported as an alias with the same behavior. Use .ios-theme-disabled for new code.

\n
<ion-button>iOS 27 theme</ion-button> <ion-button class="ios-theme-disabled">Standard Ionic button</ion-button>
\n\n
\n
Preview
\niOS 27 theme Standard Ionic button\n
\n\n

For the background model behind inset lists, see Using ion-item-group.

\n'; + '

Special markup and classes

\n

Most Ionic markup works without changes. The combinations below are explicit opt-ins provided by the theme.

\n

Primary submit buttons

\n

Solid submit buttons use the Ionic color's contrast value for their foreground. Their directional edge treatment follows the iOS 27 prominent-button appearance and does not require an additional brightness color.

\n
<ion-button type="submit" color="primary">Submit</ion-button>\n<ion-button class="button-submit" fill="solid" color="primary">Continue</ion-button>
\n\n
\n
Preview
\nSubmit\nContinue\n
\n\n

Use .button-submit when the button needs the same treatment but cannot use type="submit".

\n

Preferred overlay actions

\n

For iOS alerts and action sheets, set role: 'preferred' on a button to give it a filled --ion-color-primary background and --ion-color-primary-contrast text and icons. While pressed, the background uses --ion-color-primary-shade. This is a theme convention using Ionic's custom button roles; it does not automatically select or invoke the action. Dismissal reports the role as preferred.

\n
buttons: [\n  { text: \'Cancel\', role: \'cancel\' },\n  { text: \'Continue\', role: \'preferred\' },\n];
\n\n

Buttons with no role or default keep the normal text color. cancel retains Ionic's cancellation behavior, selected remains a selection state, and destructive uses --ios-theme-destructive-color. An existing confirm role is not treated as preferred. Use preferred for the recommended action, not simply any action that confirms a choice.

\n

Floating iPad sheets

\n

Set expandToScroll: false on a sheet modal to use floating lower corners and a 20px bottom gap on iPad. Ionic then sizes the visible page at each breakpoint, so the theme can style it with CSS alone. Content scrolls within the current breakpoint; dragging the handle still resizes the sheet. With the default expandToScroll: true, the sheet keeps Ionic's bottom-attached layout and scroll-to-expand behavior.

\n

Tab bar position

\n

Add one of tab-bar-position-start, tab-bar-position-center, or tab-bar-position-end to an iOS ion-tab-bar to position the whole bar within its safe area. These classes work with both slot="top" and slot="bottom" and preserve the bar's width and press animation. Start and end follow the text direction (reversed in RTL). Without a class, the existing placement is unchanged.

\n
<ion-tab-bar slot="bottom" class="tab-bar-position-center">\n  <ion-tab-button tab="home">Home</ion-tab-button>\n  <ion-tab-button tab="settings">Settings</ion-tab-button>\n</ion-tab-bar>
\n\n

These classes do not reposition a separate ion-fab; leave room for it when choosing the bar's position.

\n

Foldable layouts

\n

When a foldable device places system UI beside the application's foreground, add .ios-theme-enable-foldable to the active ion-app and supply the corresponding theme variable. Use body only when the application has no ion-app root:

\n
<ion-app class="ios-theme-enable-foldable" style="--ion-theme-safe-area-right: 84px">...</ion-app>
\n\n

The class enables the alternate foreground interpretation of the safe area. --ion-theme-safe-area-left and --ion-theme-safe-area-right independently determine the foreground inset on each side, so changing sides does not require changing the class.

\n

This keeps routers and component backgrounds full-viewport. ion-content moves its scroll foreground, ion-toolbar moves its container foreground, and ion-fab adjusts only when it is placed beside the system UI. The corresponding Ionic safe-area variable is reset inside those foreground components so descendants do not add the inset again.

\n

ion-menu, ion-modal, and ion-popover are handled as separate surfaces: their internal foreground components do not receive the main-page conversion and retain Ionic's standard safe-area handling. A menu presented beside the system UI is positioned after the corresponding inset; a menu from the opposite side is unchanged. Left and right remain physical coordinates in RTL, while Ionic's side="start" and side="end" values remain logical.

\n

When a theme variable is unset, each consumer falls back to the platform safe-area environment value. The variable can instead be populated with concrete native metrics.

\n

Two-line inset list items

\n

Place an unslotted ion-label immediately alongside an unslotted ion-note to render a two-line item. When using the iOS-style inset-list background, wrap the items in ion-item-group; keep ion-list-header outside the group.

\n
<ion-list inset="true">\n  <ion-list-header>\n    <ion-label>Connections</ion-label>\n  </ion-list-header>\n  <ion-item-group>\n    <ion-item>\n      <ion-label>Network &amp; internet</ion-label>\n      <ion-note>Mobile, Wi-Fi, hotspot</ion-note>\n    </ion-item>\n  </ion-item-group>\n</ion-list>
\n\n
\n
Preview
\n\n \n Connections\n \n \n \n Network & internet\n Mobile, Wi-Fi, hotspot\n \n \n\n
\n\n

Use slot="end" on ion-note when you want the standard trailing-note layout instead.

\n

Inset-list section headers

\n

Add .item-group-header to an ion-item-group to create the centered icon, title, and description used at the top of the component demo pages.

\n

This is an introductory group. Place regular list items in a separate ion-item-group that follows it.

\n
<ion-list inset="true">\n  <ion-item-group class="item-group-header">\n    <ion-item>\n      <ion-label>\n        <ion-icon name="list" style="background: var(--ion-color-primary)"></ion-icon>\n        <h2>Lists</h2>\n        <ion-text>Inset-list examples</ion-text>\n      </ion-label>\n    </ion-item>\n  </ion-item-group>\n  <ion-item-group>\n    <ion-item><ion-label>First item</ion-label></ion-item>\n  </ion-item-group>\n</ion-list>
\n\n
\n
Preview
\n\n \n \n \n \n

Lists

\n Inset-list examples\n
\n
\n
\n \n First item\n \n
\n
\n\n

Full-width segments

\n

Add .segment-style-glass to give a segment the same glass surface and selected indicator treatment as the tab bar. The class preserves the segment's existing dimensions and text colors, supports scrollable segments, and respects Ionic's public --background property.

\n
<ion-segment class="segment-style-glass" value="available">\n  <ion-segment-button value="available">Available</ion-segment-button>\n  <ion-segment-button value="away">Away</ion-segment-button>\n</ion-segment>
\n\n

For colored segments, use Ionic's color property (for example, color="primary" or color="secondary"). Ionic uses the palette's base color for the softly tinted track while keeping the selected surface and labels neutral. A surrounding colored toolbar only supplies colors when the segment has no color of its own. The optional moving glass inherits the selected surface color, and custom Ionic palettes work without additional registration.

\n

Add .segment-expand when segment buttons should divide the available width evenly. The class also changes the Liquid Glass effect sizing when registerSegmentEffect is used.

\n

Segments use a 32px minimum height in content and a 48px minimum height inside ion-toolbar. .segment-expand keeps the compact 32px layout in a toolbar. Compact segments retain Ionic's flat background and indicator colors; only the regular toolbar variant has a glass container and scales its outer container while pressed. Content and expanded segments keep their outer bounds. The optional moving glass lens is independent of the container's background.

\n
<ion-segment class="segment-expand" value="new">\n  <ion-segment-button value="new"><ion-label>New</ion-label></ion-segment-button>\n  <ion-segment-button value="replied"><ion-label>Replied</ion-label></ion-segment-button>\n</ion-segment>
\n\n
\n
Preview
\n\n New\n Replied\n\n
\n\n

Classic search bar in a condense header

\n

The theme gives iOS search bars the iOS 27 appearance by default. Add .searchbar-classic to the search field shown beneath a large title in an ion-header with collapse="condense". It uses the conventional filled iOS appearance and collapses with the large title instead of remaining in the fixed header.

\n

Place it in a toolbar with a color, such as color="light"; the classic background is derived from that color's contrast value.

\n

The example uses Ionic's standard collapsible large-title structure. Scroll the preview to collapse the large title and reveal the fixed header.

\n
<div class="ion-page">\n  <ion-header translucent="true">\n    <ion-toolbar color="light">\n      <ion-title>Search</ion-title>\n    </ion-toolbar>\n  </ion-header>\n  <ion-content color="light" fullscreen="true">\n    <ion-header collapse="condense">\n      <ion-toolbar color="light">\n        <ion-title size="large">Search</ion-title>\n      </ion-toolbar>\n      <ion-toolbar color="light">\n        <ion-searchbar class="searchbar-classic" placeholder="Filter results"></ion-searchbar>\n      </ion-toolbar>\n    </ion-header>\n    <ion-list inset="true">\n      <ion-item-group>\n        <ion-item><ion-label>Recent item 1</ion-label></ion-item>\n        <ion-item><ion-label>Recent item 2</ion-label></ion-item>\n        <ion-item><ion-label>Recent item 3</ion-label></ion-item>\n        <ion-item><ion-label>Recent item 4</ion-label></ion-item>\n        <ion-item><ion-label>Recent item 5</ion-label></ion-item>\n        <ion-item><ion-label>Recent item 6</ion-label></ion-item>\n        <ion-item><ion-label>Recent item 7</ion-label></ion-item>\n        <ion-item><ion-label>Recent item 8</ion-label></ion-item>\n        <ion-item><ion-label>Recent item 9</ion-label></ion-item>\n        <ion-item><ion-label>Recent item 10</ion-label></ion-item>\n      </ion-item-group>\n    </ion-list>\n  </ion-content>\n</div>
\n\n
\n
Preview
\n
\n \n \n Search\n \n \n \n \n \n Search\n \n \n \n \n \n \n \n Recent item 1\n Recent item 2\n Recent item 3\n Recent item 4\n Recent item 5\n Recent item 6\n Recent item 7\n Recent item 8\n Recent item 9\n Recent item 10\n \n \n \n
\n
\n\n

The .ion-page wrapper makes this embedded preview behave like a complete routed page. An application using ion-router-outlet normally receives that page container automatically. The inset list and its items only provide enough content to demonstrate scrolling; they are not required by .searchbar-classic.

\n

Search-bar toolbars

\n

Add .toolbar-searchbar when an ion-toolbar combines a search bar with start or end buttons. The class centers the slotted controls and adjusts the spacing around the search field.

\n
<ion-toolbar class="toolbar-searchbar">\n  <ion-buttons slot="start">\n    <ion-button>Cancel</ion-button>\n  </ion-buttons>\n  <ion-searchbar></ion-searchbar>\n</ion-toolbar>
\n\n
\n
Preview
\n\n \n Cancel\n \n \n\n
\n\n

Opting out

\n

Add .ios-theme-disabled to an individual Ionic component when it must retain Ionic's standard iOS styling.

\n

.ios26-disabled is deprecated but remains supported as an alias with the same behavior. Use .ios-theme-disabled for new code.

\n
<ion-button>iOS 27 theme</ion-button> <ion-button class="ios-theme-disabled">Standard Ionic button</ion-button>
\n\n
\n
Preview
\niOS 27 theme Standard Ionic button\n
\n\n

For the background model behind inset lists, see Using ion-item-group.

\n'; diff --git a/docs/special-markup.md b/docs/special-markup.md index 4cde89e9..a8e174d2 100644 --- a/docs/special-markup.md +++ b/docs/special-markup.md @@ -49,10 +49,10 @@ These classes do not reposition a separate `ion-fab`; leave room for it when cho ## Foldable layouts -When a foldable device places system UI beside the application's foreground, add `.ionic-theme-enable-safe-area` to the active `ion-app` and supply the corresponding theme variable. Use `body` only when the application has no `ion-app` root: +When a foldable device places system UI beside the application's foreground, add `.ios-theme-enable-foldable` to the active `ion-app` and supply the corresponding theme variable. Use `body` only when the application has no `ion-app` root: ```html -... +... ``` The class enables the alternate foreground interpretation of the safe area. `--ion-theme-safe-area-left` and `--ion-theme-safe-area-right` independently determine the foreground inset on each side, so changing sides does not require changing the class. diff --git a/src/styles/components/ion-content.scss b/src/styles/components/ion-content.scss index 2012a151..39fb520e 100644 --- a/src/styles/components/ion-content.scss +++ b/src/styles/components/ion-content.scss @@ -25,7 +25,7 @@ ion-content.ios:not(.ios-theme-disabled, .ios26-disabled).content-fullscreen:not // Foldable system UI changes foreground geometry, not the page background. // Reset Ionic's matching inset so descendants do not apply it a second time. -:is(ion-app, body).ionic-theme-enable-safe-area +:is(ion-app, body).ios-theme-enable-foldable ion-content.ios:not(.ios-theme-disabled, .ios26-disabled):not(:where(ion-menu *, ion-modal *, ion-popover *)) { --ion-safe-area-left: 0px; --ion-safe-area-right: 0px; diff --git a/src/styles/components/ion-fab.scss b/src/styles/components/ion-fab.scss index 2ef94990..968b5198 100644 --- a/src/styles/components/ion-fab.scss +++ b/src/styles/components/ion-fab.scss @@ -111,7 +111,7 @@ ion-fab.ios:not(.ios-theme-disabled, .ios26-disabled) { // FAB alignment is independent from tab placement. Map the reserved physical // side to the matching logical FAB edge for the current writing direction. -:is(ion-app, body).ionic-theme-enable-safe-area +:is(ion-app, body).ios-theme-enable-foldable ion-fab.ios:not(.ios-theme-disabled, .ios26-disabled):not(:where(ion-menu *, ion-modal *, ion-popover *)) { --ion-safe-area-left: 0px; --ion-safe-area-right: 0px; diff --git a/src/styles/components/ion-menu.scss b/src/styles/components/ion-menu.scss index 7f3505da..4f8fdbb9 100644 --- a/src/styles/components/ion-menu.scss +++ b/src/styles/components/ion-menu.scss @@ -136,7 +136,7 @@ ion-menu.ios:not(.ios-theme-disabled, .ios26-disabled) { // A menu beside foldable system UI must end before the reserved region. Its // own ion-content remains unchanged. The host consumes the matching Ionic // safe-area variable because its complete surface has already moved inward. -:is(ion-app, body).ionic-theme-enable-safe-area { +:is(ion-app, body).ios-theme-enable-foldable { ion-menu.ios.menu-side-end:not(:dir(rtl)):not(.ios-theme-disabled, .ios26-disabled), ion-menu.ios.menu-side-start:dir(rtl):not(.ios-theme-disabled, .ios26-disabled) { --ion-safe-area-right: 0px; diff --git a/src/styles/components/ion-toolbar.scss b/src/styles/components/ion-toolbar.scss index 57c3d3ae..0880caae 100644 --- a/src/styles/components/ion-toolbar.scss +++ b/src/styles/components/ion-toolbar.scss @@ -110,7 +110,7 @@ ion-toolbar.ios:not(.ios-theme-disabled, .ios26-disabled) { // Keep the toolbar background full-width while moving its foreground controls // away from foldable system UI. -:is(ion-app, body).ionic-theme-enable-safe-area +:is(ion-app, body).ios-theme-enable-foldable ion-toolbar.ios:not(.ios-theme-disabled, .ios26-disabled):not(:where(ion-menu *, ion-modal *, ion-popover *)) { --ion-safe-area-left: 0px; --ion-safe-area-right: 0px; From 02c0d7c56ea6e0bd25f0d0a60077594c41940363 Mon Sep 17 00:00:00 2001 From: rdlabo Date: Mon, 21 Sep 2026 21:48:42 +0900 Subject: [PATCH 12/50] feat: add Duo foldable safe area defaults --- demo/e2e/foldable-layout.spec.ts | 10 +++++-- demo/e2e/screenshot.spec.ts | 8 +++--- demo/src/app/docs/docs-content.generated.ts | 2 +- docs/special-markup.md | 8 +++--- src/styles/components/ion-content.scss | 12 ++++---- src/styles/components/ion-fab.scss | 31 +++++++++++++++++---- src/styles/components/ion-menu.scss | 4 +-- src/styles/components/ion-toolbar.scss | 12 ++++---- src/styles/default-variables.scss | 7 +++++ 9 files changed, 62 insertions(+), 32 deletions(-) diff --git a/demo/e2e/foldable-layout.spec.ts b/demo/e2e/foldable-layout.spec.ts index 57c52eb7..3dcba1ff 100644 --- a/demo/e2e/foldable-layout.spec.ts +++ b/demo/e2e/foldable-layout.spec.ts @@ -9,8 +9,12 @@ for (const direction of ['ltr', 'rtl'] as const) { const app = document.querySelector('ion-app')!; app.dir = direction; app.classList.add('ios-theme-enable-foldable'); - app.style.setProperty('--ion-theme-safe-area-left', '76px'); - app.style.setProperty('--ion-theme-safe-area-right', '84px'); + element.side = direction === 'ltr' ? 'end' : 'start'; + await new Promise(requestAnimationFrame); + const defaultBounds = element.getBoundingClientRect(); + const defaultRightOffset = innerWidth - defaultBounds.right; + app.style.setProperty('--ios-theme-foldable-safe-area-left', '76px'); + app.style.setProperty('--ios-theme-foldable-safe-area-right', '84px'); app.style.setProperty('--ion-safe-area-left', '76px'); app.style.setProperty('--ion-safe-area-right', '84px'); const offsets = []; @@ -34,6 +38,7 @@ for (const direction of ['ltr', 'rtl'] as const) { await new Promise(requestAnimationFrame); if (!modalContent.classList.contains('ios')) throw new Error('Expected an iOS ion-content fixture'); return { + defaultRightOffset, offsets, safeAreaLeft: contentStyle.getPropertyValue('--ion-safe-area-left').trim(), safeAreaRight: contentStyle.getPropertyValue('--ion-safe-area-right').trim(), @@ -41,6 +46,7 @@ for (const direction of ['ltr', 'rtl'] as const) { }; }, direction); + expect(result.defaultRightOffset).toBe(80); expect(result.offsets).toEqual( direction === 'ltr' ? [ diff --git a/demo/e2e/screenshot.spec.ts b/demo/e2e/screenshot.spec.ts index bfa6ea62..43b09fea 100644 --- a/demo/e2e/screenshot.spec.ts +++ b/demo/e2e/screenshot.spec.ts @@ -69,8 +69,8 @@ const prepareFoldableLayout = async (page: Page, direction: 'ltr' | 'rtl') => { await page.evaluate((direction) => { const app = document.querySelector('ion-app')!; app.dir = direction; - app.style.setProperty('--ion-theme-safe-area-left', '76px'); - app.style.setProperty('--ion-theme-safe-area-right', '84px'); + app.style.setProperty('--ios-theme-foldable-safe-area-left', '76px'); + app.style.setProperty('--ios-theme-foldable-safe-area-right', '84px'); app.style.setProperty('--ion-safe-area-left', '76px'); app.style.setProperty('--ion-safe-area-right', '84px'); app.classList.add('ios-theme-enable-foldable'); @@ -85,8 +85,8 @@ const prepareFoldableLayout = async (page: Page, direction: 'ltr' | 'rtl') => { fab.horizontal = logicalSide; fab.vertical = 'center'; fab.slot = 'fixed'; - fab.style.setProperty('--ios-theme-menu-width', 'var(--ios-theme-safe-area-inline-start)'); - fab.style.setProperty('--ios26-menu-width', 'var(--ios-theme-safe-area-inline-start)'); + fab.style.setProperty('--ios-theme-menu-width', '0px'); + fab.style.setProperty('--ios26-menu-width', '0px'); fab.innerHTML = `${physicalSide === 'left' ? 'L' : 'R'}`; content.append(fab); } diff --git a/demo/src/app/docs/docs-content.generated.ts b/demo/src/app/docs/docs-content.generated.ts index 55c9c72f..a1b02a07 100644 --- a/demo/src/app/docs/docs-content.generated.ts +++ b/demo/src/app/docs/docs-content.generated.ts @@ -1,3 +1,3 @@ // Generated from docs/special-markup.md. Do not edit directly. export const docsContentHtml = - '

Special markup and classes

\n

Most Ionic markup works without changes. The combinations below are explicit opt-ins provided by the theme.

\n

Primary submit buttons

\n

Solid submit buttons use the Ionic color's contrast value for their foreground. Their directional edge treatment follows the iOS 27 prominent-button appearance and does not require an additional brightness color.

\n
<ion-button type="submit" color="primary">Submit</ion-button>\n<ion-button class="button-submit" fill="solid" color="primary">Continue</ion-button>
\n\n
\n
Preview
\nSubmit\nContinue\n
\n\n

Use .button-submit when the button needs the same treatment but cannot use type="submit".

\n

Preferred overlay actions

\n

For iOS alerts and action sheets, set role: 'preferred' on a button to give it a filled --ion-color-primary background and --ion-color-primary-contrast text and icons. While pressed, the background uses --ion-color-primary-shade. This is a theme convention using Ionic's custom button roles; it does not automatically select or invoke the action. Dismissal reports the role as preferred.

\n
buttons: [\n  { text: \'Cancel\', role: \'cancel\' },\n  { text: \'Continue\', role: \'preferred\' },\n];
\n\n

Buttons with no role or default keep the normal text color. cancel retains Ionic's cancellation behavior, selected remains a selection state, and destructive uses --ios-theme-destructive-color. An existing confirm role is not treated as preferred. Use preferred for the recommended action, not simply any action that confirms a choice.

\n

Floating iPad sheets

\n

Set expandToScroll: false on a sheet modal to use floating lower corners and a 20px bottom gap on iPad. Ionic then sizes the visible page at each breakpoint, so the theme can style it with CSS alone. Content scrolls within the current breakpoint; dragging the handle still resizes the sheet. With the default expandToScroll: true, the sheet keeps Ionic's bottom-attached layout and scroll-to-expand behavior.

\n

Tab bar position

\n

Add one of tab-bar-position-start, tab-bar-position-center, or tab-bar-position-end to an iOS ion-tab-bar to position the whole bar within its safe area. These classes work with both slot="top" and slot="bottom" and preserve the bar's width and press animation. Start and end follow the text direction (reversed in RTL). Without a class, the existing placement is unchanged.

\n
<ion-tab-bar slot="bottom" class="tab-bar-position-center">\n  <ion-tab-button tab="home">Home</ion-tab-button>\n  <ion-tab-button tab="settings">Settings</ion-tab-button>\n</ion-tab-bar>
\n\n

These classes do not reposition a separate ion-fab; leave room for it when choosing the bar's position.

\n

Foldable layouts

\n

When a foldable device places system UI beside the application's foreground, add .ios-theme-enable-foldable to the active ion-app and supply the corresponding theme variable. Use body only when the application has no ion-app root:

\n
<ion-app class="ios-theme-enable-foldable" style="--ion-theme-safe-area-right: 84px">...</ion-app>
\n\n

The class enables the alternate foreground interpretation of the safe area. --ion-theme-safe-area-left and --ion-theme-safe-area-right independently determine the foreground inset on each side, so changing sides does not require changing the class.

\n

This keeps routers and component backgrounds full-viewport. ion-content moves its scroll foreground, ion-toolbar moves its container foreground, and ion-fab adjusts only when it is placed beside the system UI. The corresponding Ionic safe-area variable is reset inside those foreground components so descendants do not add the inset again.

\n

ion-menu, ion-modal, and ion-popover are handled as separate surfaces: their internal foreground components do not receive the main-page conversion and retain Ionic's standard safe-area handling. A menu presented beside the system UI is positioned after the corresponding inset; a menu from the opposite side is unchanged. Left and right remain physical coordinates in RTL, while Ionic's side="start" and side="end" values remain logical.

\n

When a theme variable is unset, each consumer falls back to the platform safe-area environment value. The variable can instead be populated with concrete native metrics.

\n

Two-line inset list items

\n

Place an unslotted ion-label immediately alongside an unslotted ion-note to render a two-line item. When using the iOS-style inset-list background, wrap the items in ion-item-group; keep ion-list-header outside the group.

\n
<ion-list inset="true">\n  <ion-list-header>\n    <ion-label>Connections</ion-label>\n  </ion-list-header>\n  <ion-item-group>\n    <ion-item>\n      <ion-label>Network &amp; internet</ion-label>\n      <ion-note>Mobile, Wi-Fi, hotspot</ion-note>\n    </ion-item>\n  </ion-item-group>\n</ion-list>
\n\n
\n
Preview
\n\n \n Connections\n \n \n \n Network & internet\n Mobile, Wi-Fi, hotspot\n \n \n\n
\n\n

Use slot="end" on ion-note when you want the standard trailing-note layout instead.

\n

Inset-list section headers

\n

Add .item-group-header to an ion-item-group to create the centered icon, title, and description used at the top of the component demo pages.

\n

This is an introductory group. Place regular list items in a separate ion-item-group that follows it.

\n
<ion-list inset="true">\n  <ion-item-group class="item-group-header">\n    <ion-item>\n      <ion-label>\n        <ion-icon name="list" style="background: var(--ion-color-primary)"></ion-icon>\n        <h2>Lists</h2>\n        <ion-text>Inset-list examples</ion-text>\n      </ion-label>\n    </ion-item>\n  </ion-item-group>\n  <ion-item-group>\n    <ion-item><ion-label>First item</ion-label></ion-item>\n  </ion-item-group>\n</ion-list>
\n\n
\n
Preview
\n\n \n \n \n \n

Lists

\n Inset-list examples\n
\n
\n
\n \n First item\n \n
\n
\n\n

Full-width segments

\n

Add .segment-style-glass to give a segment the same glass surface and selected indicator treatment as the tab bar. The class preserves the segment's existing dimensions and text colors, supports scrollable segments, and respects Ionic's public --background property.

\n
<ion-segment class="segment-style-glass" value="available">\n  <ion-segment-button value="available">Available</ion-segment-button>\n  <ion-segment-button value="away">Away</ion-segment-button>\n</ion-segment>
\n\n

For colored segments, use Ionic's color property (for example, color="primary" or color="secondary"). Ionic uses the palette's base color for the softly tinted track while keeping the selected surface and labels neutral. A surrounding colored toolbar only supplies colors when the segment has no color of its own. The optional moving glass inherits the selected surface color, and custom Ionic palettes work without additional registration.

\n

Add .segment-expand when segment buttons should divide the available width evenly. The class also changes the Liquid Glass effect sizing when registerSegmentEffect is used.

\n

Segments use a 32px minimum height in content and a 48px minimum height inside ion-toolbar. .segment-expand keeps the compact 32px layout in a toolbar. Compact segments retain Ionic's flat background and indicator colors; only the regular toolbar variant has a glass container and scales its outer container while pressed. Content and expanded segments keep their outer bounds. The optional moving glass lens is independent of the container's background.

\n
<ion-segment class="segment-expand" value="new">\n  <ion-segment-button value="new"><ion-label>New</ion-label></ion-segment-button>\n  <ion-segment-button value="replied"><ion-label>Replied</ion-label></ion-segment-button>\n</ion-segment>
\n\n
\n
Preview
\n\n New\n Replied\n\n
\n\n

Classic search bar in a condense header

\n

The theme gives iOS search bars the iOS 27 appearance by default. Add .searchbar-classic to the search field shown beneath a large title in an ion-header with collapse="condense". It uses the conventional filled iOS appearance and collapses with the large title instead of remaining in the fixed header.

\n

Place it in a toolbar with a color, such as color="light"; the classic background is derived from that color's contrast value.

\n

The example uses Ionic's standard collapsible large-title structure. Scroll the preview to collapse the large title and reveal the fixed header.

\n
<div class="ion-page">\n  <ion-header translucent="true">\n    <ion-toolbar color="light">\n      <ion-title>Search</ion-title>\n    </ion-toolbar>\n  </ion-header>\n  <ion-content color="light" fullscreen="true">\n    <ion-header collapse="condense">\n      <ion-toolbar color="light">\n        <ion-title size="large">Search</ion-title>\n      </ion-toolbar>\n      <ion-toolbar color="light">\n        <ion-searchbar class="searchbar-classic" placeholder="Filter results"></ion-searchbar>\n      </ion-toolbar>\n    </ion-header>\n    <ion-list inset="true">\n      <ion-item-group>\n        <ion-item><ion-label>Recent item 1</ion-label></ion-item>\n        <ion-item><ion-label>Recent item 2</ion-label></ion-item>\n        <ion-item><ion-label>Recent item 3</ion-label></ion-item>\n        <ion-item><ion-label>Recent item 4</ion-label></ion-item>\n        <ion-item><ion-label>Recent item 5</ion-label></ion-item>\n        <ion-item><ion-label>Recent item 6</ion-label></ion-item>\n        <ion-item><ion-label>Recent item 7</ion-label></ion-item>\n        <ion-item><ion-label>Recent item 8</ion-label></ion-item>\n        <ion-item><ion-label>Recent item 9</ion-label></ion-item>\n        <ion-item><ion-label>Recent item 10</ion-label></ion-item>\n      </ion-item-group>\n    </ion-list>\n  </ion-content>\n</div>
\n\n
\n
Preview
\n
\n \n \n Search\n \n \n \n \n \n Search\n \n \n \n \n \n \n \n Recent item 1\n Recent item 2\n Recent item 3\n Recent item 4\n Recent item 5\n Recent item 6\n Recent item 7\n Recent item 8\n Recent item 9\n Recent item 10\n \n \n \n
\n
\n\n

The .ion-page wrapper makes this embedded preview behave like a complete routed page. An application using ion-router-outlet normally receives that page container automatically. The inset list and its items only provide enough content to demonstrate scrolling; they are not required by .searchbar-classic.

\n

Search-bar toolbars

\n

Add .toolbar-searchbar when an ion-toolbar combines a search bar with start or end buttons. The class centers the slotted controls and adjusts the spacing around the search field.

\n
<ion-toolbar class="toolbar-searchbar">\n  <ion-buttons slot="start">\n    <ion-button>Cancel</ion-button>\n  </ion-buttons>\n  <ion-searchbar></ion-searchbar>\n</ion-toolbar>
\n\n
\n
Preview
\n\n \n Cancel\n \n \n\n
\n\n

Opting out

\n

Add .ios-theme-disabled to an individual Ionic component when it must retain Ionic's standard iOS styling.

\n

.ios26-disabled is deprecated but remains supported as an alias with the same behavior. Use .ios-theme-disabled for new code.

\n
<ion-button>iOS 27 theme</ion-button> <ion-button class="ios-theme-disabled">Standard Ionic button</ion-button>
\n\n
\n
Preview
\niOS 27 theme Standard Ionic button\n
\n\n

For the background model behind inset lists, see Using ion-item-group.

\n'; + '

Special markup and classes

\n

Most Ionic markup works without changes. The combinations below are explicit opt-ins provided by the theme.

\n

Primary submit buttons

\n

Solid submit buttons use the Ionic color's contrast value for their foreground. Their directional edge treatment follows the iOS 27 prominent-button appearance and does not require an additional brightness color.

\n
<ion-button type="submit" color="primary">Submit</ion-button>\n<ion-button class="button-submit" fill="solid" color="primary">Continue</ion-button>
\n\n
\n
Preview
\nSubmit\nContinue\n
\n\n

Use .button-submit when the button needs the same treatment but cannot use type="submit".

\n

Preferred overlay actions

\n

For iOS alerts and action sheets, set role: 'preferred' on a button to give it a filled --ion-color-primary background and --ion-color-primary-contrast text and icons. While pressed, the background uses --ion-color-primary-shade. This is a theme convention using Ionic's custom button roles; it does not automatically select or invoke the action. Dismissal reports the role as preferred.

\n
buttons: [\n  { text: \'Cancel\', role: \'cancel\' },\n  { text: \'Continue\', role: \'preferred\' },\n];
\n\n

Buttons with no role or default keep the normal text color. cancel retains Ionic's cancellation behavior, selected remains a selection state, and destructive uses --ios-theme-destructive-color. An existing confirm role is not treated as preferred. Use preferred for the recommended action, not simply any action that confirms a choice.

\n

Floating iPad sheets

\n

Set expandToScroll: false on a sheet modal to use floating lower corners and a 20px bottom gap on iPad. Ionic then sizes the visible page at each breakpoint, so the theme can style it with CSS alone. Content scrolls within the current breakpoint; dragging the handle still resizes the sheet. With the default expandToScroll: true, the sheet keeps Ionic's bottom-attached layout and scroll-to-expand behavior.

\n

Tab bar position

\n

Add one of tab-bar-position-start, tab-bar-position-center, or tab-bar-position-end to an iOS ion-tab-bar to position the whole bar within its safe area. These classes work with both slot="top" and slot="bottom" and preserve the bar's width and press animation. Start and end follow the text direction (reversed in RTL). Without a class, the existing placement is unchanged.

\n
<ion-tab-bar slot="bottom" class="tab-bar-position-center">\n  <ion-tab-button tab="home">Home</ion-tab-button>\n  <ion-tab-button tab="settings">Settings</ion-tab-button>\n</ion-tab-bar>
\n\n

These classes do not reposition a separate ion-fab; leave room for it when choosing the bar's position.

\n

Foldable layouts

\n

To simulate the iPhone Duo layout on the web, add .ios-theme-enable-foldable to the active ion-app. Use body only when the application has no ion-app root:

\n
<ion-app class="ios-theme-enable-foldable">...</ion-app>
\n\n

The class reserves 80px on the physical right by default, matching the system navigation region measured in the iPhone Duo Simulator. The physical left defaults to 0px. Override --ios-theme-foldable-safe-area-left or --ios-theme-foldable-safe-area-right when simulating a different foldable layout.

\n

This keeps routers and component backgrounds full-viewport. ion-content moves its scroll foreground, ion-toolbar moves its container foreground, and ion-fab adjusts only when it is placed beside the system UI. The corresponding Ionic safe-area variable is reset inside those foreground components so descendants do not add the inset again.

\n

ion-menu, ion-modal, and ion-popover are handled as separate surfaces: their internal foreground components do not receive the main-page conversion and retain Ionic's standard safe-area handling. A menu presented beside the system UI is positioned after the corresponding inset; a menu from the opposite side is unchanged. Left and right remain physical coordinates in RTL, while Ionic's side="start" and side="end" values remain logical.

\n

The foldable values are web-layout simulation inputs. They are independent from Ionic's normal iPhone safe-area variables and do not change ordinary iPhone layouts unless the opt-in class is present.

\n

Two-line inset list items

\n

Place an unslotted ion-label immediately alongside an unslotted ion-note to render a two-line item. When using the iOS-style inset-list background, wrap the items in ion-item-group; keep ion-list-header outside the group.

\n
<ion-list inset="true">\n  <ion-list-header>\n    <ion-label>Connections</ion-label>\n  </ion-list-header>\n  <ion-item-group>\n    <ion-item>\n      <ion-label>Network &amp; internet</ion-label>\n      <ion-note>Mobile, Wi-Fi, hotspot</ion-note>\n    </ion-item>\n  </ion-item-group>\n</ion-list>
\n\n
\n
Preview
\n\n \n Connections\n \n \n \n Network & internet\n Mobile, Wi-Fi, hotspot\n \n \n\n
\n\n

Use slot="end" on ion-note when you want the standard trailing-note layout instead.

\n

Inset-list section headers

\n

Add .item-group-header to an ion-item-group to create the centered icon, title, and description used at the top of the component demo pages.

\n

This is an introductory group. Place regular list items in a separate ion-item-group that follows it.

\n
<ion-list inset="true">\n  <ion-item-group class="item-group-header">\n    <ion-item>\n      <ion-label>\n        <ion-icon name="list" style="background: var(--ion-color-primary)"></ion-icon>\n        <h2>Lists</h2>\n        <ion-text>Inset-list examples</ion-text>\n      </ion-label>\n    </ion-item>\n  </ion-item-group>\n  <ion-item-group>\n    <ion-item><ion-label>First item</ion-label></ion-item>\n  </ion-item-group>\n</ion-list>
\n\n
\n
Preview
\n\n \n \n \n \n

Lists

\n Inset-list examples\n
\n
\n
\n \n First item\n \n
\n
\n\n

Full-width segments

\n

Add .segment-style-glass to give a segment the same glass surface and selected indicator treatment as the tab bar. The class preserves the segment's existing dimensions and text colors, supports scrollable segments, and respects Ionic's public --background property.

\n
<ion-segment class="segment-style-glass" value="available">\n  <ion-segment-button value="available">Available</ion-segment-button>\n  <ion-segment-button value="away">Away</ion-segment-button>\n</ion-segment>
\n\n

For colored segments, use Ionic's color property (for example, color="primary" or color="secondary"). Ionic uses the palette's base color for the softly tinted track while keeping the selected surface and labels neutral. A surrounding colored toolbar only supplies colors when the segment has no color of its own. The optional moving glass inherits the selected surface color, and custom Ionic palettes work without additional registration.

\n

Add .segment-expand when segment buttons should divide the available width evenly. The class also changes the Liquid Glass effect sizing when registerSegmentEffect is used.

\n

Segments use a 32px minimum height in content and a 48px minimum height inside ion-toolbar. .segment-expand keeps the compact 32px layout in a toolbar. Compact segments retain Ionic's flat background and indicator colors; only the regular toolbar variant has a glass container and scales its outer container while pressed. Content and expanded segments keep their outer bounds. The optional moving glass lens is independent of the container's background.

\n
<ion-segment class="segment-expand" value="new">\n  <ion-segment-button value="new"><ion-label>New</ion-label></ion-segment-button>\n  <ion-segment-button value="replied"><ion-label>Replied</ion-label></ion-segment-button>\n</ion-segment>
\n\n
\n
Preview
\n\n New\n Replied\n\n
\n\n

Classic search bar in a condense header

\n

The theme gives iOS search bars the iOS 27 appearance by default. Add .searchbar-classic to the search field shown beneath a large title in an ion-header with collapse="condense". It uses the conventional filled iOS appearance and collapses with the large title instead of remaining in the fixed header.

\n

Place it in a toolbar with a color, such as color="light"; the classic background is derived from that color's contrast value.

\n

The example uses Ionic's standard collapsible large-title structure. Scroll the preview to collapse the large title and reveal the fixed header.

\n
<div class="ion-page">\n  <ion-header translucent="true">\n    <ion-toolbar color="light">\n      <ion-title>Search</ion-title>\n    </ion-toolbar>\n  </ion-header>\n  <ion-content color="light" fullscreen="true">\n    <ion-header collapse="condense">\n      <ion-toolbar color="light">\n        <ion-title size="large">Search</ion-title>\n      </ion-toolbar>\n      <ion-toolbar color="light">\n        <ion-searchbar class="searchbar-classic" placeholder="Filter results"></ion-searchbar>\n      </ion-toolbar>\n    </ion-header>\n    <ion-list inset="true">\n      <ion-item-group>\n        <ion-item><ion-label>Recent item 1</ion-label></ion-item>\n        <ion-item><ion-label>Recent item 2</ion-label></ion-item>\n        <ion-item><ion-label>Recent item 3</ion-label></ion-item>\n        <ion-item><ion-label>Recent item 4</ion-label></ion-item>\n        <ion-item><ion-label>Recent item 5</ion-label></ion-item>\n        <ion-item><ion-label>Recent item 6</ion-label></ion-item>\n        <ion-item><ion-label>Recent item 7</ion-label></ion-item>\n        <ion-item><ion-label>Recent item 8</ion-label></ion-item>\n        <ion-item><ion-label>Recent item 9</ion-label></ion-item>\n        <ion-item><ion-label>Recent item 10</ion-label></ion-item>\n      </ion-item-group>\n    </ion-list>\n  </ion-content>\n</div>
\n\n
\n
Preview
\n
\n \n \n Search\n \n \n \n \n \n Search\n \n \n \n \n \n \n \n Recent item 1\n Recent item 2\n Recent item 3\n Recent item 4\n Recent item 5\n Recent item 6\n Recent item 7\n Recent item 8\n Recent item 9\n Recent item 10\n \n \n \n
\n
\n\n

The .ion-page wrapper makes this embedded preview behave like a complete routed page. An application using ion-router-outlet normally receives that page container automatically. The inset list and its items only provide enough content to demonstrate scrolling; they are not required by .searchbar-classic.

\n

Search-bar toolbars

\n

Add .toolbar-searchbar when an ion-toolbar combines a search bar with start or end buttons. The class centers the slotted controls and adjusts the spacing around the search field.

\n
<ion-toolbar class="toolbar-searchbar">\n  <ion-buttons slot="start">\n    <ion-button>Cancel</ion-button>\n  </ion-buttons>\n  <ion-searchbar></ion-searchbar>\n</ion-toolbar>
\n\n
\n
Preview
\n\n \n Cancel\n \n \n\n
\n\n

Opting out

\n

Add .ios-theme-disabled to an individual Ionic component when it must retain Ionic's standard iOS styling.

\n

.ios26-disabled is deprecated but remains supported as an alias with the same behavior. Use .ios-theme-disabled for new code.

\n
<ion-button>iOS 27 theme</ion-button> <ion-button class="ios-theme-disabled">Standard Ionic button</ion-button>
\n\n
\n
Preview
\niOS 27 theme Standard Ionic button\n
\n\n

For the background model behind inset lists, see Using ion-item-group.

\n'; diff --git a/docs/special-markup.md b/docs/special-markup.md index a8e174d2..0829d087 100644 --- a/docs/special-markup.md +++ b/docs/special-markup.md @@ -49,19 +49,19 @@ These classes do not reposition a separate `ion-fab`; leave room for it when cho ## Foldable layouts -When a foldable device places system UI beside the application's foreground, add `.ios-theme-enable-foldable` to the active `ion-app` and supply the corresponding theme variable. Use `body` only when the application has no `ion-app` root: +To simulate the iPhone Duo layout on the web, add `.ios-theme-enable-foldable` to the active `ion-app`. Use `body` only when the application has no `ion-app` root: ```html -... +... ``` -The class enables the alternate foreground interpretation of the safe area. `--ion-theme-safe-area-left` and `--ion-theme-safe-area-right` independently determine the foreground inset on each side, so changing sides does not require changing the class. +The class reserves `80px` on the physical right by default, matching the system navigation region measured in the iPhone Duo Simulator. The physical left defaults to `0px`. Override `--ios-theme-foldable-safe-area-left` or `--ios-theme-foldable-safe-area-right` when simulating a different foldable layout. This keeps routers and component backgrounds full-viewport. `ion-content` moves its scroll foreground, `ion-toolbar` moves its container foreground, and `ion-fab` adjusts only when it is placed beside the system UI. The corresponding Ionic safe-area variable is reset inside those foreground components so descendants do not add the inset again. `ion-menu`, `ion-modal`, and `ion-popover` are handled as separate surfaces: their internal foreground components do not receive the main-page conversion and retain Ionic's standard safe-area handling. A menu presented beside the system UI is positioned after the corresponding inset; a menu from the opposite side is unchanged. Left and right remain physical coordinates in RTL, while Ionic's `side="start"` and `side="end"` values remain logical. -When a theme variable is unset, each consumer falls back to the platform safe-area environment value. The variable can instead be populated with concrete native metrics. +The foldable values are web-layout simulation inputs. They are independent from Ionic's normal iPhone safe-area variables and do not change ordinary iPhone layouts unless the opt-in class is present. ## Two-line inset list items diff --git a/src/styles/components/ion-content.scss b/src/styles/components/ion-content.scss index 39fb520e..44751566 100644 --- a/src/styles/components/ion-content.scss +++ b/src/styles/components/ion-content.scss @@ -29,16 +29,14 @@ ion-content.ios:not(.ios-theme-disabled, .ios26-disabled).content-fullscreen:not ion-content.ios:not(.ios-theme-disabled, .ios26-disabled):not(:where(ion-menu *, ion-modal *, ion-popover *)) { --ion-safe-area-left: 0px; --ion-safe-area-right: 0px; - --ios-theme-safe-area-inline-start: var(--ion-theme-safe-area-left, var(--safe-area-inset-left, env(safe-area-inset-left, 0px))); - --ios-theme-safe-area-inline-end: var(--ion-theme-safe-area-right, var(--safe-area-inset-right, env(safe-area-inset-right, 0px))); &::part(scroll) { - padding-inline-start: calc(var(--padding-start, 0px) + var(--ios-theme-safe-area-inline-start)); - padding-inline-end: calc(var(--padding-end, 0px) + var(--ios-theme-safe-area-inline-end)); + padding-inline-start: calc(var(--padding-start, 0px) + var(--ios-theme-foldable-safe-area-left-resolved)); + padding-inline-end: calc(var(--padding-end, 0px) + var(--ios-theme-foldable-safe-area-right-resolved)); } - &:dir(rtl) { - --ios-theme-safe-area-inline-start: var(--ion-theme-safe-area-right, var(--safe-area-inset-right, env(safe-area-inset-right, 0px))); - --ios-theme-safe-area-inline-end: var(--ion-theme-safe-area-left, var(--safe-area-inset-left, env(safe-area-inset-left, 0px))); + &:dir(rtl)::part(scroll) { + padding-inline-start: calc(var(--padding-start, 0px) + var(--ios-theme-foldable-safe-area-right-resolved)); + padding-inline-end: calc(var(--padding-end, 0px) + var(--ios-theme-foldable-safe-area-left-resolved)); } } diff --git a/src/styles/components/ion-fab.scss b/src/styles/components/ion-fab.scss index 968b5198..e3dfc2ac 100644 --- a/src/styles/components/ion-fab.scss +++ b/src/styles/components/ion-fab.scss @@ -115,12 +115,33 @@ ion-fab.ios:not(.ios-theme-disabled, .ios26-disabled) { ion-fab.ios:not(.ios-theme-disabled, .ios26-disabled):not(:where(ion-menu *, ion-modal *, ion-popover *)) { --ion-safe-area-left: 0px; --ion-safe-area-right: 0px; - --ios-theme-safe-area-inline-start: var(--ion-theme-safe-area-left, var(--safe-area-inset-left, env(safe-area-inset-left, 0px))); - --ios-theme-safe-area-inline-end: var(--ion-theme-safe-area-right, var(--safe-area-inset-right, env(safe-area-inset-right, 0px))); + --ios-theme-foldable-fab-edge-gap: 16px; + --ios-theme-foldable-fab-start-offset: var(--ios-theme-menu-width, var(--ios26-menu-width, 0px)); - &:dir(rtl) { - --ios-theme-safe-area-inline-start: var(--ion-theme-safe-area-right, var(--safe-area-inset-right, env(safe-area-inset-right, 0px))); - --ios-theme-safe-area-inline-end: var(--ion-theme-safe-area-left, var(--safe-area-inset-left, env(safe-area-inset-left, 0px))); + &.fab-horizontal-start { + inset-inline-start: calc( + var(--ios-theme-foldable-fab-edge-gap) + var(--ios-theme-foldable-fab-start-offset) + + var(--ios-theme-foldable-safe-area-left-resolved) + ); + } + + &.fab-horizontal-end { + inset-inline-end: calc(var(--ios-theme-foldable-fab-edge-gap) + var(--ios-theme-foldable-safe-area-right-resolved)); + } + + &:dir(rtl).fab-horizontal-start { + inset-inline-start: calc( + var(--ios-theme-foldable-fab-edge-gap) + var(--ios-theme-foldable-fab-start-offset) + + var(--ios-theme-foldable-safe-area-right-resolved) + ); + } + + &:dir(rtl).fab-horizontal-end { + inset-inline-end: calc(var(--ios-theme-foldable-fab-edge-gap) + var(--ios-theme-foldable-safe-area-left-resolved)); + } + + &:has(.fab-button-small) { + --ios-theme-foldable-fab-edge-gap: 10px; } } diff --git a/src/styles/components/ion-menu.scss b/src/styles/components/ion-menu.scss index 4f8fdbb9..ed23f965 100644 --- a/src/styles/components/ion-menu.scss +++ b/src/styles/components/ion-menu.scss @@ -140,14 +140,14 @@ ion-menu.ios:not(.ios-theme-disabled, .ios26-disabled) { ion-menu.ios.menu-side-end:not(:dir(rtl)):not(.ios-theme-disabled, .ios26-disabled), ion-menu.ios.menu-side-start:dir(rtl):not(.ios-theme-disabled, .ios26-disabled) { --ion-safe-area-right: 0px; - right: var(--ion-theme-safe-area-right, var(--safe-area-inset-right, env(safe-area-inset-right, 0px))); + right: var(--ios-theme-foldable-safe-area-right-resolved); left: auto; } ion-menu.ios.menu-side-start:not(:dir(rtl)):not(.ios-theme-disabled, .ios26-disabled), ion-menu.ios.menu-side-end:dir(rtl):not(.ios-theme-disabled, .ios26-disabled) { --ion-safe-area-left: 0px; - left: var(--ion-theme-safe-area-left, var(--safe-area-inset-left, env(safe-area-inset-left, 0px))); + left: var(--ios-theme-foldable-safe-area-left-resolved); right: auto; } } diff --git a/src/styles/components/ion-toolbar.scss b/src/styles/components/ion-toolbar.scss index 0880caae..3640429d 100644 --- a/src/styles/components/ion-toolbar.scss +++ b/src/styles/components/ion-toolbar.scss @@ -114,16 +114,14 @@ ion-toolbar.ios:not(.ios-theme-disabled, .ios26-disabled) { ion-toolbar.ios:not(.ios-theme-disabled, .ios26-disabled):not(:where(ion-menu *, ion-modal *, ion-popover *)) { --ion-safe-area-left: 0px; --ion-safe-area-right: 0px; - --ios-theme-safe-area-inline-start: var(--ion-theme-safe-area-left, var(--safe-area-inset-left, env(safe-area-inset-left, 0px))); - --ios-theme-safe-area-inline-end: var(--ion-theme-safe-area-right, var(--safe-area-inset-right, env(safe-area-inset-right, 0px))); &::part(container) { - padding-inline-start: calc(var(--padding-start, 0px) + var(--ios-theme-safe-area-inline-start)); - padding-inline-end: calc(var(--padding-end, 0px) + var(--ios-theme-safe-area-inline-end)); + padding-inline-start: calc(var(--padding-start, 0px) + var(--ios-theme-foldable-safe-area-left-resolved)); + padding-inline-end: calc(var(--padding-end, 0px) + var(--ios-theme-foldable-safe-area-right-resolved)); } - &:dir(rtl) { - --ios-theme-safe-area-inline-start: var(--ion-theme-safe-area-right, var(--safe-area-inset-right, env(safe-area-inset-right, 0px))); - --ios-theme-safe-area-inline-end: var(--ion-theme-safe-area-left, var(--safe-area-inset-left, env(safe-area-inset-left, 0px))); + &:dir(rtl)::part(container) { + padding-inline-start: calc(var(--padding-start, 0px) + var(--ios-theme-foldable-safe-area-right-resolved)); + padding-inline-end: calc(var(--padding-end, 0px) + var(--ios-theme-foldable-safe-area-left-resolved)); } } diff --git a/src/styles/default-variables.scss b/src/styles/default-variables.scss index 2e336b1e..78329db4 100644 --- a/src/styles/default-variables.scss +++ b/src/styles/default-variables.scss @@ -37,3 +37,10 @@ */ --ios26-content-box-shadow-rgb: var(--ion-color-base-rgb, var(--ion-background-color-rgb, 255, 255, 255)); } + +// iPhone Duo web simulation: the iOS 27.1 Simulator is 951pt wide while +// its application window is 871pt wide, leaving an 80pt navigation region. +:is(ion-app, body).ios-theme-enable-foldable { + --ios-theme-foldable-safe-area-left-resolved: var(--ios-theme-foldable-safe-area-left, 0px); + --ios-theme-foldable-safe-area-right-resolved: var(--ios-theme-foldable-safe-area-right, 80px); +} From 23cf96acd379fd3d1ce78bb67b43e405c1851a88 Mon Sep 17 00:00:00 2001 From: rdlabo Date: Tue, 22 Sep 2026 11:20:36 +0900 Subject: [PATCH 13/50] test: refresh foldable layout snapshots for toggle --- .../foldable-layout-ltr.png | Bin 44156 -> 44838 bytes .../foldable-layout-rtl.png | Bin 43879 -> 45277 bytes 2 files changed, 0 insertions(+), 0 deletions(-) diff --git a/demo/e2e/screenshot.spec.ts-snapshots/foldable-layout-ltr.png b/demo/e2e/screenshot.spec.ts-snapshots/foldable-layout-ltr.png index ed675ba3356806b9f1e49bcc6a158f9796762287..c450e85c19d4db90429758e58d6c75d4667cfb2d 100644 GIT binary patch literal 44838 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

vdnvdsWD}}1S%mA!Io9=abchsEC=bs0} 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 AIRF3v literal 44156 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%0D$gZ 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 Q1HM7HI-Mfb9jCMZ0RvzIhyVZp From c714d1a10da6264e9f146294a635f144c7a50b1e Mon Sep 17 00:00:00 2001 From: rdlabo Date: Mon, 21 Sep 2026 16:36:32 +0900 Subject: [PATCH 14/50] feat(tabs): add explicit adaptive vertical placement --- demo/e2e/adaptive-tab-bar.spec.ts | 130 ++++++++++++++++++ .../foldable-tab-drag-labels.png | Bin 0 -> 44751 bytes demo/e2e/native-ui-shell.spec.ts | 26 ++++ demo/src/app/tabs/tabs.page.html | 2 +- src/index.ts | 22 +-- src/native/components/ion-tab-bar.ts | 2 + src/styles/components/ion-tabs.scss | 102 ++++++++++++++ 7 files changed, 275 insertions(+), 9 deletions(-) create mode 100644 demo/e2e/adaptive-tab-bar.spec.ts create mode 100644 demo/e2e/adaptive-tab-bar.spec.ts-snapshots/foldable-tab-drag-labels.png diff --git a/demo/e2e/adaptive-tab-bar.spec.ts b/demo/e2e/adaptive-tab-bar.spec.ts new file mode 100644 index 00000000..3e1c64c9 --- /dev/null +++ b/demo/e2e/adaptive-tab-bar.spec.ts @@ -0,0 +1,130 @@ +import { expect, test } from '@playwright/test'; + +const addFixture = async ( + page: import('@playwright/test').Page, + placement: 'left' | 'right', + slot: 'top' | 'bottom', + direction: 'ltr' | 'rtl' = 'ltr', + count = 4, +) => { + await page.evaluate( + ({ placement, slot, direction, count }) => { + document.body.style.setProperty('--ion-theme-safe-area-right', '84px'); + document.body.style.setProperty('--ion-theme-safe-area-left', '76px'); + + const tabs = document.createElement('ion-tabs'); + tabs.id = 'adaptive-tabs-probe'; + tabs.dir = direction; + tabs.className = `ionic-theme-adaptive-tabs ionic-theme-tabs-side-${placement}`; + tabs.style.cssText = + 'position:fixed;inset:0;z-index:99999;--ion-safe-area-top:22px;--ion-safe-area-right:84px;--ion-safe-area-bottom:34px;--ion-safe-area-left:76px'; + + const bar = document.createElement('ion-tab-bar'); + bar.id = 'adaptive-tab-bar'; + bar.mode = 'ios'; + bar.slot = slot; + for (let index = 0; index < count; index++) { + const button = document.createElement('ion-tab-button'); + button.mode = 'ios'; + button.tab = `tab-${index + 1}`; + const label = document.createElement('ion-label'); + label.textContent = `Tab ${index + 1}`; + button.append(label); + button.addEventListener('click', () => button.setAttribute('data-clicked', 'true')); + bar.append(button); + } + const outlet = document.createElement('ion-router-outlet'); + outlet.id = 'adaptive-tabs-content'; + tabs.append(outlet, bar); + document.body.append(tabs); + }, + { placement, slot, direction, count }, + ); +}; + +test('places bottom tabs in the trailing reserved region and keeps them clickable', async ({ page }) => { + await page.setViewportSize({ width: 700, height: 900 }); + await page.goto('/main/index'); + await addFixture(page, 'right', 'bottom'); + + const bar = page.locator('#adaptive-tab-bar'); + await expect(bar).toHaveClass(/hydrated/); + const box = (await bar.boundingBox())!; + const contentBox = (await page.locator('#adaptive-tabs-content').boundingBox())!; + expect(box.width).toBeCloseTo(62, 0); + expect(box.height).toBeCloseTo(224, 0); + expect(box.x).toBeCloseTo(627, 0); + expect(box.y + box.height).toBeCloseTo(858, 0); + const buttonBoxes = await bar.locator('ion-tab-button').evaluateAll((buttons) => + buttons.map((button) => { + const box = button.getBoundingClientRect(); + return { x: box.x, y: box.y, width: box.width, height: box.height }; + }), + ); + expect(buttonBoxes).toHaveLength(4); + for (const [index, buttonBox] of buttonBoxes.entries()) { + expect(buttonBox.width).toBeCloseTo(54, 0); + expect(buttonBox.height).toBeCloseTo(54, 0); + expect(buttonBox.x).toBeCloseTo(buttonBoxes[0].x, 0); + if (index) expect(buttonBox.y - buttonBoxes[index - 1].y).toBeCloseTo(54, 0); + } + expect(contentBox.x).toBeCloseTo(0, 0); + expect(contentBox.width).toBeCloseTo(700, 0); + const last = bar.locator('ion-tab-button').last(); + await expect(last.locator('a')).toHaveAccessibleName('Tab 4'); + await last.click(); + await expect(last).toHaveAttribute('data-clicked', 'true'); +}); + +test('sizes the bar from its tab count without a fixed supported range', async ({ page }) => { + await page.setViewportSize({ width: 700, height: 900 }); + await page.goto('/main/index'); + await addFixture(page, 'right', 'top', 'ltr', 6); + + const bar = page.locator('#adaptive-tab-bar'); + const box = (await bar.boundingBox())!; + expect(box.height).toBeCloseTo(6 * 54 + 8, 0); + await expect(bar.locator('ion-tab-button')).toHaveCount(6); +}); + +test('supports top alignment and physical left placement', async ({ page }) => { + await page.setViewportSize({ width: 700, height: 900 }); + await page.goto('/main/index'); + await addFixture(page, 'left', 'top'); + + const box = (await page.locator('#adaptive-tab-bar').boundingBox())!; + const contentBox = (await page.locator('#adaptive-tabs-content').boundingBox())!; + expect(box.x).toBeCloseTo(7, 0); + expect(box.y).toBeCloseTo(30, 0); + expect(contentBox.x).toBeCloseTo(0, 0); + expect(contentBox.width).toBeCloseTo(700, 0); +}); + +test('physical side placement does not follow writing direction', async ({ page }) => { + await page.setViewportSize({ width: 700, height: 900 }); + await page.goto('/main/index'); + await addFixture(page, 'left', 'bottom', 'rtl'); + + const box = (await page.locator('#adaptive-tab-bar').boundingBox())!; + const contentBox = (await page.locator('#adaptive-tabs-content').boundingBox())!; + expect(box.x).toBeCloseTo(7, 0); + expect(contentBox.x).toBeCloseTo(0, 0); +}); + +test('foldable tab drag reveals icon labels in the vertical rail', async ({ page }) => { + await page.setViewportSize({ width: 700, height: 900 }); + await page.goto('/main/index'); + await enableFoldable(page); + + const buttons = page.locator('#tab-bar-bottom ion-tab-button'); + const selectedBox = (await buttons.first().boundingBox())!; + const target = buttons.nth(1); + const targetBox = (await target.boundingBox())!; + await page.mouse.move(selectedBox.x + selectedBox.width / 2, selectedBox.y + selectedBox.height / 2); + await page.mouse.down(); + await page.mouse.move(targetBox.x + targetBox.width / 2, targetBox.y + targetBox.height / 2, { steps: 4 }); + await expect.poll(() => buttons.first().evaluate((element) => element.matches(':active'))).toBe(true); + + await expect(page).toHaveScreenshot('foldable-tab-drag-labels.png', { animations: 'disabled' }); + await page.mouse.up(); +}); diff --git a/demo/e2e/adaptive-tab-bar.spec.ts-snapshots/foldable-tab-drag-labels.png b/demo/e2e/adaptive-tab-bar.spec.ts-snapshots/foldable-tab-drag-labels.png new file mode 100644 index 0000000000000000000000000000000000000000..8bf8a45ace51495b09779b76e9c245ed498e1932 GIT binary patch literal 44751 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 literal 0 HcmV?d00001 diff --git a/demo/e2e/native-ui-shell.spec.ts b/demo/e2e/native-ui-shell.spec.ts index 0338a496..d3b44f2c 100644 --- a/demo/e2e/native-ui-shell.spec.ts +++ b/demo/e2e/native-ui-shell.spec.ts @@ -324,6 +324,32 @@ test('unsupported search morph releases and restores a native fixed-slot FAB int await expect(page.locator('ion-tab-bar')).toHaveAttribute('data-native-ui-shell', ''); }); +test('side tabs stay in the web layer instead of using horizontal native projection', async ({ page }) => { + await mockNative(page); + await page.goto('/main/index'); + const tabs = page.locator('ion-tabs'); + const bar = page.locator('ion-tab-bar'); + await expect(bar).toHaveAttribute('data-native-ui-shell', ''); + + await tabs.evaluate((element) => element.classList.remove('ionic-theme-adaptive-tabs')); + await tabs.evaluate((element) => element.classList.add('ionic-theme-tabs-side-right')); + await expect(bar).toHaveAttribute('data-native-ui-shell', ''); + await expect(bar).toHaveClass(/ios27-enable-gesture/); + + await tabs.evaluate((element) => element.classList.add('ionic-theme-adaptive-tabs')); + await expect(bar).not.toHaveAttribute('data-native-ui-shell'); + await expect(bar).not.toHaveClass(/ios27-enable-gesture/); + await expect + .poll(() => + page.evaluate(() => (window as any).__nativeUIShell.updates.at(-1).controls.some((control: any) => control.kind === 'ion-tab-bar')), + ) + .toBe(false); + + await tabs.evaluate((element) => element.classList.remove('ionic-theme-tabs-side-right')); + await expect(bar).toHaveAttribute('data-native-ui-shell', ''); + await expect(bar).toHaveClass(/ios27-enable-gesture/); +}); + test('native click preserves external form submit, disabled, and duplicate protection', async ({ page }) => { await mockNative(page); await page.goto('/main/index/native-ui-shell'); diff --git a/demo/src/app/tabs/tabs.page.html b/demo/src/app/tabs/tabs.page.html index d1a2c969..2743584f 100644 --- a/demo/src/app/tabs/tabs.page.html +++ b/demo/src/app/tabs/tabs.page.html @@ -25,7 +25,7 @@

- + diff --git a/src/index.ts b/src/index.ts index 4a90cebe..0ae9aa53 100644 --- a/src/index.ts +++ b/src/index.ts @@ -14,23 +14,29 @@ export const registerTabBarEffect = (targetElement: HTMLElement): registeredEffe const win = targetElement.ownerDocument.defaultView; if (!targetElement.classList.contains('ios') || !win) return undefined; const reducedMotion = win.matchMedia('(prefers-reduced-motion: reduce)'); + const tabs = targetElement.closest('ion-tabs'); let effect: registeredEffect | undefined; const update = () => { effect?.destroy(); - effect = reducedMotion.matches - ? undefined - : registerEffect(targetElement, 'ion-tab-button', 'tab-selected', { - small: 'scale(1.1, 1)', - medium: 'scale(1.2)', - large: 'scale(1.15, 1.4)', - xlarge: 'scale(1.3)', - }); + const isVertical = tabs?.matches('.ionic-theme-adaptive-tabs:is(.ionic-theme-tabs-side-left, .ionic-theme-tabs-side-right)') ?? false; + effect = + reducedMotion.matches || isVertical + ? undefined + : registerEffect(targetElement, 'ion-tab-button', 'tab-selected', { + small: 'scale(1.1, 1)', + medium: 'scale(1.2)', + large: 'scale(1.15, 1.4)', + xlarge: 'scale(1.3)', + }); }; update(); reducedMotion.addEventListener('change', update); + const placementObserver = tabs ? new win.MutationObserver(update) : undefined; + placementObserver?.observe(tabs!, { attributes: true, attributeFilter: ['class'] }); return { destroy: () => { reducedMotion.removeEventListener('change', update); + placementObserver?.disconnect(); effect?.destroy(); effect = undefined; }, diff --git a/src/native/components/ion-tab-bar.ts b/src/native/components/ion-tab-bar.ts index cf4ea438..9fc03886 100644 --- a/src/native/components/ion-tab-bar.ts +++ b/src/native/components/ion-tab-bar.ts @@ -7,6 +7,8 @@ export const tracksMotion = true; export const read = (element: HTMLElement, id: Identify): Candidate | undefined => { if (element.closest('ion-content')) return; + if (element.closest('ion-tabs')?.matches('.ionic-theme-adaptive-tabs:is(.ionic-theme-tabs-side-left, .ionic-theme-tabs-side-right)')) + return; const children = Array.from(element.querySelectorAll(':scope > ion-tab-button:not(.ion-cloned-element)')); if (!children.length) return; // Only equal items with Ionic's default layout map to UIKit's adaptive tabs. diff --git a/src/styles/components/ion-tabs.scss b/src/styles/components/ion-tabs.scss index 61622ecf..c992015c 100644 --- a/src/styles/components/ion-tabs.scss +++ b/src/styles/components/ion-tabs.scss @@ -163,6 +163,108 @@ ion-tab-bar.ios:not(.ios-theme-disabled, .ios26-disabled) { } } +// Opt-in layout for displays that reserve a vertical region beside the app. +// Placement is deliberately explicit: the application owns the decision to +// use a vertical tab bar, while the theme owns its geometry inside the safe-area inset. +ion-tabs.ionic-theme-adaptive-tabs:is(.ionic-theme-tabs-side-left, .ionic-theme-tabs-side-right) + > ion-tab-bar.ios:not(.ios-theme-disabled, .ios26-disabled) { + --ios-theme-side-tab-bar-width: 62px; + --ios-theme-side-tab-bar-gap: 8px; + --ios-theme-side-safe-area: var(--ion-theme-safe-area-right, var(--safe-area-inset-right, env(safe-area-inset-right, 0px))); + + contain: layout style; + display: flex; + flex-direction: column; + width: 54px; + min-width: 54px; + max-width: 54px; + height: fit-content; + min-height: 0; + left: auto; + right: max(4px, calc((var(--ios-theme-side-safe-area) - var(--ios-theme-side-tab-bar-width)) / 2)); + margin: 0; + + &[slot='top'] { + top: calc(var(--ion-safe-area-top, 0px) + var(--ios-theme-side-tab-bar-gap)); + bottom: auto; + } + + &[slot='bottom'] { + top: auto; + bottom: calc(var(--ion-safe-area-bottom, 0px) + var(--ios-theme-side-tab-bar-gap)); + } + + > ion-tab-button:not(.ion-cloned-element) { + display: block; + flex: none; + width: 54px; + min-width: 54px; + height: 54px; + min-height: 54px; + + &::part(native) { + justify-content: center; + } + + ion-label { + position: absolute; + width: 1px; + height: 1px; + padding: 0; + margin: -1px; + overflow: hidden; + clip: rect(0, 0, 0, 0); + white-space: nowrap; + border: 0; + } + + ion-icon { + margin: 0; + } + } + + > ion-tab-button:not(.ion-cloned-element) ~ ion-tab-button:not(.ion-cloned-element) { + margin-block-start: 0; + margin-inline-start: 0; + } + + // iPhone Duo expands the compact rail labels while the user drags across + // the tab bar. Keep the resting rail icon-first, then reveal every label so + // the destination under the pointer remains identifiable during selection. + &:has(> ion-tab-button:is(.ion-activated, :active)) > ion-tab-button:not(.ion-cloned-element) { + &::part(native) { + flex-direction: column; + padding-block: 4px; + } + + ion-label { + position: static; + width: auto; + height: auto; + max-width: 50px; + padding: 0; + margin: 1px 0 0; + overflow: hidden; + clip: auto; + font-size: 0.5rem; + line-height: 1; + text-overflow: ellipsis; + white-space: nowrap; + } + + ion-icon { + margin: 0; + font-size: 22px; + } + } +} + +ion-tabs.ionic-theme-adaptive-tabs.ionic-theme-tabs-side-left > ion-tab-bar.ios:not(.ios-theme-disabled, .ios26-disabled) { + --ios-theme-side-safe-area: var(--ion-theme-safe-area-left, var(--safe-area-inset-left, env(safe-area-inset-left, 0px))); + left: max(4px, calc((var(--ios-theme-side-safe-area) - var(--ios-theme-side-tab-bar-width)) / 2)); + right: auto; +} + ion-tab-button.ios:not(.ios-theme-disabled, .ios26-disabled) { transform-origin: center 65%; font-size: 0.59rem; From 58033c6f41b3c2eec164ba6b5f0ee91d8474b8e9 Mon Sep 17 00:00:00 2001 From: rdlabo Date: Mon, 21 Sep 2026 22:36:31 +0900 Subject: [PATCH 15/50] fix(tabs): preserve foldable rail beside split pane --- demo/e2e/screenshot.spec.ts | 10 ++++++++-- .../foldable-split-pane-ltr.png | Bin 0 -> 54851 bytes .../foldable-split-pane-rtl.png | Bin 0 -> 54726 bytes src/styles/components/ion-menu.scss | 4 ++-- 4 files changed, 10 insertions(+), 4 deletions(-) create mode 100644 demo/e2e/screenshot.spec.ts-snapshots/foldable-split-pane-ltr.png create mode 100644 demo/e2e/screenshot.spec.ts-snapshots/foldable-split-pane-rtl.png diff --git a/demo/e2e/screenshot.spec.ts b/demo/e2e/screenshot.spec.ts index 43b09fea..0f968715 100644 --- a/demo/e2e/screenshot.spec.ts +++ b/demo/e2e/screenshot.spec.ts @@ -60,9 +60,9 @@ const prepareScreenShot = async (page: Page, routeName: string) => { } }; -const prepareFoldableLayout = async (page: Page, direction: 'ltr' | 'rtl') => { +const prepareFoldableLayout = async (page: Page, direction: 'ltr' | 'rtl', width = 700) => { await page.addInitScript(() => ((window as any).IONIC_E2E_TESTING = true)); - await page.setViewportSize({ width: 700, height: 900 }); + await page.setViewportSize({ width, height: 900 }); await page.goto('/main/index', { waitUntil: 'networkidle' }); await page.waitForSelector('ion-content[role="main"]'); await page.evaluate(() => document.fonts.ready); @@ -135,5 +135,11 @@ test.describe('Screenshot Tests - Foldable Layout', () => { await prepareFoldableLayout(page, direction); await expect(page).toHaveScreenshot(`foldable-layout-${direction}.png`, { animations: 'disabled' }); }); + + test(`should keep foldable tabs in the system rail beside a visible split pane in ${direction.toUpperCase()}`, async ({ page }) => { + await prepareFoldableLayout(page, direction, 1024); + await expect(page.locator('ion-split-pane')).toHaveClass(/split-pane-visible/); + await expect(page).toHaveScreenshot(`foldable-split-pane-${direction}.png`, { animations: 'disabled' }); + }); } }); diff --git a/demo/e2e/screenshot.spec.ts-snapshots/foldable-split-pane-ltr.png b/demo/e2e/screenshot.spec.ts-snapshots/foldable-split-pane-ltr.png new file mode 100644 index 0000000000000000000000000000000000000000..88ccc6c957c0c2ede2b316415fcdf38f7031e9dc GIT binary patch literal 54851 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

Txc+5k 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 Y?nYVucJ#Np$!vK-QB5I3&gAC*0B$_dlmGw# literal 0 HcmV?d00001 diff --git a/src/styles/components/ion-menu.scss b/src/styles/components/ion-menu.scss index ed23f965..095145a1 100644 --- a/src/styles/components/ion-menu.scss +++ b/src/styles/components/ion-menu.scss @@ -4,7 +4,7 @@ ion-split-pane.ios:not(.ios-theme-disabled, .ios26-disabled) { ion-split-pane.ios:not(.ios-theme-disabled, .ios26-disabled).split-pane-visible:has(ion-menu.menu-pane-visible) { .split-pane-main { - ion-tab-bar.ios:not(.ios-theme-disabled, .ios26-disabled) { + ion-tab-bar.ios:not(.ios-theme-disabled, .ios26-disabled):not(:where(.ios-theme-enable-foldable *)) { width: calc( 100% - calc(18px + var(--ion-safe-area-left, 0px)) - calc(18px + var(--ion-safe-area-right, 0px)) - 60px - 12px - var(--ios-theme-menu-width, var(--ios26-menu-width)) @@ -43,7 +43,7 @@ ion-split-pane.ios:not(.ios-theme-disabled, .ios26-disabled).split-pane-visible: ion-footer ion-toolbar { --padding-start: var(--ios-theme-menu-width, var(--ios26-menu-width)); } - ion-tab-bar.ios:not(.ios-theme-disabled, .ios26-disabled) { + ion-tab-bar.ios:not(.ios-theme-disabled, .ios26-disabled):not(:where(.ios-theme-enable-foldable *)) { &[slot='bottom'] { inset-inline-start: calc(16px + var(--ion-safe-area-left, 0px) + var(--ios-theme-menu-width, var(--ios26-menu-width))); &:dir(rtl) { From 16e110941a3187fbdcc3d9e5a44b09c48b987e34 Mon Sep 17 00:00:00 2001 From: rdlabo Date: Tue, 22 Sep 2026 11:21:24 +0900 Subject: [PATCH 16/50] test: refresh foldable split snapshots for toggle --- .../foldable-split-pane-ltr.png | Bin 54851 -> 54378 bytes .../foldable-split-pane-rtl.png | Bin 54726 -> 54869 bytes 2 files changed, 0 insertions(+), 0 deletions(-) diff --git a/demo/e2e/screenshot.spec.ts-snapshots/foldable-split-pane-ltr.png b/demo/e2e/screenshot.spec.ts-snapshots/foldable-split-pane-ltr.png index 88ccc6c957c0c2ede2b316415fcdf38f7031e9dc..78ebfa7df80b56e33481388e376043edbc784df0 100644 GIT binary patch literal 54378 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

Txc+5k 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 Y?nYVucJ#Np$!vK-QB5I3&gAC*0B$_dlmGw# From e94839a7467026a77b7bca72aeb3539d1f3ab1b1 Mon Sep 17 00:00:00 2001 From: rdlabo Date: Tue, 22 Sep 2026 11:39:42 +0900 Subject: [PATCH 17/50] fix(tabs): derive foldable rail from app mode --- demo/e2e/adaptive-tab-bar.spec.ts | 125 ++---------------- .../foldable-tab-drag-labels.png | Bin 44751 -> 44626 bytes demo/e2e/native-ui-shell.spec.ts | 13 +- .../foldable-split-pane-ltr.png | Bin 54378 -> 54613 bytes .../foldable-split-pane-rtl.png | Bin 54869 -> 54764 bytes demo/src/app/docs/docs-content.generated.ts | 2 +- demo/src/app/tabs/tabs.page.html | 2 +- docs/special-markup.md | 2 + src/index.ts | 8 +- src/native/components/ion-tab-bar.ts | 3 +- src/styles/components/ion-tabs.scss | 28 +--- 11 files changed, 32 insertions(+), 151 deletions(-) diff --git a/demo/e2e/adaptive-tab-bar.spec.ts b/demo/e2e/adaptive-tab-bar.spec.ts index 3e1c64c9..bddc148c 100644 --- a/demo/e2e/adaptive-tab-bar.spec.ts +++ b/demo/e2e/adaptive-tab-bar.spec.ts @@ -1,125 +1,24 @@ import { expect, test } from '@playwright/test'; -const addFixture = async ( - page: import('@playwright/test').Page, - placement: 'left' | 'right', - slot: 'top' | 'bottom', - direction: 'ltr' | 'rtl' = 'ltr', - count = 4, -) => { - await page.evaluate( - ({ placement, slot, direction, count }) => { - document.body.style.setProperty('--ion-theme-safe-area-right', '84px'); - document.body.style.setProperty('--ion-theme-safe-area-left', '76px'); - - const tabs = document.createElement('ion-tabs'); - tabs.id = 'adaptive-tabs-probe'; - tabs.dir = direction; - tabs.className = `ionic-theme-adaptive-tabs ionic-theme-tabs-side-${placement}`; - tabs.style.cssText = - 'position:fixed;inset:0;z-index:99999;--ion-safe-area-top:22px;--ion-safe-area-right:84px;--ion-safe-area-bottom:34px;--ion-safe-area-left:76px'; - - const bar = document.createElement('ion-tab-bar'); - bar.id = 'adaptive-tab-bar'; - bar.mode = 'ios'; - bar.slot = slot; - for (let index = 0; index < count; index++) { - const button = document.createElement('ion-tab-button'); - button.mode = 'ios'; - button.tab = `tab-${index + 1}`; - const label = document.createElement('ion-label'); - label.textContent = `Tab ${index + 1}`; - button.append(label); - button.addEventListener('click', () => button.setAttribute('data-clicked', 'true')); - bar.append(button); - } - const outlet = document.createElement('ion-router-outlet'); - outlet.id = 'adaptive-tabs-content'; - tabs.append(outlet, bar); - document.body.append(tabs); - }, - { placement, slot, direction, count }, - ); +const enableFoldable = async (page: import('@playwright/test').Page) => { + const toggle = page.getByText('Foldable Mode').locator('..').locator('ion-toggle'); + await toggle.click(); + await expect(page.locator('ion-app')).toHaveClass(/ios-theme-enable-foldable/); }; -test('places bottom tabs in the trailing reserved region and keeps them clickable', async ({ page }) => { - await page.setViewportSize({ width: 700, height: 900 }); - await page.goto('/main/index'); - await addFixture(page, 'right', 'bottom'); - - const bar = page.locator('#adaptive-tab-bar'); - await expect(bar).toHaveClass(/hydrated/); - const box = (await bar.boundingBox())!; - const contentBox = (await page.locator('#adaptive-tabs-content').boundingBox())!; - expect(box.width).toBeCloseTo(62, 0); - expect(box.height).toBeCloseTo(224, 0); - expect(box.x).toBeCloseTo(627, 0); - expect(box.y + box.height).toBeCloseTo(858, 0); - const buttonBoxes = await bar.locator('ion-tab-button').evaluateAll((buttons) => - buttons.map((button) => { - const box = button.getBoundingClientRect(); - return { x: box.x, y: box.y, width: box.width, height: box.height }; - }), - ); - expect(buttonBoxes).toHaveLength(4); - for (const [index, buttonBox] of buttonBoxes.entries()) { - expect(buttonBox.width).toBeCloseTo(54, 0); - expect(buttonBox.height).toBeCloseTo(54, 0); - expect(buttonBox.x).toBeCloseTo(buttonBoxes[0].x, 0); - if (index) expect(buttonBox.y - buttonBoxes[index - 1].y).toBeCloseTo(54, 0); - } - expect(contentBox.x).toBeCloseTo(0, 0); - expect(contentBox.width).toBeCloseTo(700, 0); - const last = bar.locator('ion-tab-button').last(); - await expect(last.locator('a')).toHaveAccessibleName('Tab 4'); - await last.click(); - await expect(last).toHaveAttribute('data-clicked', 'true'); -}); - -test('sizes the bar from its tab count without a fixed supported range', async ({ page }) => { - await page.setViewportSize({ width: 700, height: 900 }); - await page.goto('/main/index'); - await addFixture(page, 'right', 'top', 'ltr', 6); - - const bar = page.locator('#adaptive-tab-bar'); - const box = (await bar.boundingBox())!; - expect(box.height).toBeCloseTo(6 * 54 + 8, 0); - await expect(bar.locator('ion-tab-button')).toHaveCount(6); -}); - -test('supports top alignment and physical left placement', async ({ page }) => { - await page.setViewportSize({ width: 700, height: 900 }); - await page.goto('/main/index'); - await addFixture(page, 'left', 'top'); - - const box = (await page.locator('#adaptive-tab-bar').boundingBox())!; - const contentBox = (await page.locator('#adaptive-tabs-content').boundingBox())!; - expect(box.x).toBeCloseTo(7, 0); - expect(box.y).toBeCloseTo(30, 0); - expect(contentBox.x).toBeCloseTo(0, 0); - expect(contentBox.width).toBeCloseTo(700, 0); -}); - -test('physical side placement does not follow writing direction', async ({ page }) => { - await page.setViewportSize({ width: 700, height: 900 }); - await page.goto('/main/index'); - await addFixture(page, 'left', 'bottom', 'rtl'); - - const box = (await page.locator('#adaptive-tab-bar').boundingBox())!; - const contentBox = (await page.locator('#adaptive-tabs-content').boundingBox())!; - expect(box.x).toBeCloseTo(7, 0); - expect(contentBox.x).toBeCloseTo(0, 0); -}); - -test('foldable tab drag reveals icon labels in the vertical rail', async ({ page }) => { +test('foldable mode moves tabs into the right rail and reveals labels while dragging', async ({ page }) => { await page.setViewportSize({ width: 700, height: 900 }); await page.goto('/main/index'); await enableFoldable(page); - const buttons = page.locator('#tab-bar-bottom ion-tab-button'); + const bar = page.locator('#tab-bar-bottom'); + const buttons = bar.locator('ion-tab-button'); + const barBox = (await bar.boundingBox())!; + expect(barBox.x).toBeGreaterThan(620); + expect(barBox.width).toBeCloseTo(62, 0); + const selectedBox = (await buttons.first().boundingBox())!; - const target = buttons.nth(1); - const targetBox = (await target.boundingBox())!; + const targetBox = (await buttons.nth(1).boundingBox())!; await page.mouse.move(selectedBox.x + selectedBox.width / 2, selectedBox.y + selectedBox.height / 2); await page.mouse.down(); await page.mouse.move(targetBox.x + targetBox.width / 2, targetBox.y + targetBox.height / 2, { steps: 4 }); diff --git a/demo/e2e/adaptive-tab-bar.spec.ts-snapshots/foldable-tab-drag-labels.png b/demo/e2e/adaptive-tab-bar.spec.ts-snapshots/foldable-tab-drag-labels.png index 8bf8a45ace51495b09779b76e9c245ed498e1932..07cade958e918beb4e0e7452cd7cf3de9ed4d868 100644 GIT binary patch literal 44626 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 M*3#ahn#^GS5BZBtd;kCd literal 44751 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 diff --git a/demo/e2e/native-ui-shell.spec.ts b/demo/e2e/native-ui-shell.spec.ts index d3b44f2c..cab5ceb5 100644 --- a/demo/e2e/native-ui-shell.spec.ts +++ b/demo/e2e/native-ui-shell.spec.ts @@ -324,19 +324,14 @@ test('unsupported search morph releases and restores a native fixed-slot FAB int await expect(page.locator('ion-tab-bar')).toHaveAttribute('data-native-ui-shell', ''); }); -test('side tabs stay in the web layer instead of using horizontal native projection', async ({ page }) => { +test('foldable tabs stay in the web layer instead of using horizontal native projection', async ({ page }) => { await mockNative(page); await page.goto('/main/index'); - const tabs = page.locator('ion-tabs'); + const app = page.locator('ion-app'); const bar = page.locator('ion-tab-bar'); await expect(bar).toHaveAttribute('data-native-ui-shell', ''); - await tabs.evaluate((element) => element.classList.remove('ionic-theme-adaptive-tabs')); - await tabs.evaluate((element) => element.classList.add('ionic-theme-tabs-side-right')); - await expect(bar).toHaveAttribute('data-native-ui-shell', ''); - await expect(bar).toHaveClass(/ios27-enable-gesture/); - - await tabs.evaluate((element) => element.classList.add('ionic-theme-adaptive-tabs')); + await app.evaluate((element) => element.classList.add('ios-theme-enable-foldable')); await expect(bar).not.toHaveAttribute('data-native-ui-shell'); await expect(bar).not.toHaveClass(/ios27-enable-gesture/); await expect @@ -345,7 +340,7 @@ test('side tabs stay in the web layer instead of using horizontal native project ) .toBe(false); - await tabs.evaluate((element) => element.classList.remove('ionic-theme-tabs-side-right')); + await app.evaluate((element) => element.classList.remove('ios-theme-enable-foldable')); await expect(bar).toHaveAttribute('data-native-ui-shell', ''); await expect(bar).toHaveClass(/ios27-enable-gesture/); }); diff --git a/demo/e2e/screenshot.spec.ts-snapshots/foldable-split-pane-ltr.png b/demo/e2e/screenshot.spec.ts-snapshots/foldable-split-pane-ltr.png index 78ebfa7df80b56e33481388e376043edbc784df0..eb6a7244486b739675ab9dab46cadb9e22aed864 100644 GIT binary patch literal 54613 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 Baz+3E literal 54378 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 literal 54869 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 markup and classes\n

Most Ionic markup works without changes. The combinations below are explicit opt-ins provided by the theme.

\n

Primary submit buttons

\n

Solid submit buttons use the Ionic color's contrast value for their foreground. Their directional edge treatment follows the iOS 27 prominent-button appearance and does not require an additional brightness color.

\n
<ion-button type="submit" color="primary">Submit</ion-button>\n<ion-button class="button-submit" fill="solid" color="primary">Continue</ion-button>
\n\n
\n
Preview
\nSubmit\nContinue\n
\n\n

Use .button-submit when the button needs the same treatment but cannot use type="submit".

\n

Preferred overlay actions

\n

For iOS alerts and action sheets, set role: 'preferred' on a button to give it a filled --ion-color-primary background and --ion-color-primary-contrast text and icons. While pressed, the background uses --ion-color-primary-shade. This is a theme convention using Ionic's custom button roles; it does not automatically select or invoke the action. Dismissal reports the role as preferred.

\n
buttons: [\n  { text: \'Cancel\', role: \'cancel\' },\n  { text: \'Continue\', role: \'preferred\' },\n];
\n\n

Buttons with no role or default keep the normal text color. cancel retains Ionic's cancellation behavior, selected remains a selection state, and destructive uses --ios-theme-destructive-color. An existing confirm role is not treated as preferred. Use preferred for the recommended action, not simply any action that confirms a choice.

\n

Floating iPad sheets

\n

Set expandToScroll: false on a sheet modal to use floating lower corners and a 20px bottom gap on iPad. Ionic then sizes the visible page at each breakpoint, so the theme can style it with CSS alone. Content scrolls within the current breakpoint; dragging the handle still resizes the sheet. With the default expandToScroll: true, the sheet keeps Ionic's bottom-attached layout and scroll-to-expand behavior.

\n

Tab bar position

\n

Add one of tab-bar-position-start, tab-bar-position-center, or tab-bar-position-end to an iOS ion-tab-bar to position the whole bar within its safe area. These classes work with both slot="top" and slot="bottom" and preserve the bar's width and press animation. Start and end follow the text direction (reversed in RTL). Without a class, the existing placement is unchanged.

\n
<ion-tab-bar slot="bottom" class="tab-bar-position-center">\n  <ion-tab-button tab="home">Home</ion-tab-button>\n  <ion-tab-button tab="settings">Settings</ion-tab-button>\n</ion-tab-bar>
\n\n

These classes do not reposition a separate ion-fab; leave room for it when choosing the bar's position.

\n

Foldable layouts

\n

To simulate the iPhone Duo layout on the web, add .ios-theme-enable-foldable to the active ion-app. Use body only when the application has no ion-app root:

\n
<ion-app class="ios-theme-enable-foldable">...</ion-app>
\n\n

The class reserves 80px on the physical right by default, matching the system navigation region measured in the iPhone Duo Simulator. The physical left defaults to 0px. Override --ios-theme-foldable-safe-area-left or --ios-theme-foldable-safe-area-right when simulating a different foldable layout.

\n

This keeps routers and component backgrounds full-viewport. ion-content moves its scroll foreground, ion-toolbar moves its container foreground, and ion-fab adjusts only when it is placed beside the system UI. The corresponding Ionic safe-area variable is reset inside those foreground components so descendants do not add the inset again.

\n

ion-menu, ion-modal, and ion-popover are handled as separate surfaces: their internal foreground components do not receive the main-page conversion and retain Ionic's standard safe-area handling. A menu presented beside the system UI is positioned after the corresponding inset; a menu from the opposite side is unchanged. Left and right remain physical coordinates in RTL, while Ionic's side="start" and side="end" values remain logical.

\n

The foldable values are web-layout simulation inputs. They are independent from Ionic's normal iPhone safe-area variables and do not change ordinary iPhone layouts unless the opt-in class is present.

\n

Two-line inset list items

\n

Place an unslotted ion-label immediately alongside an unslotted ion-note to render a two-line item. When using the iOS-style inset-list background, wrap the items in ion-item-group; keep ion-list-header outside the group.

\n
<ion-list inset="true">\n  <ion-list-header>\n    <ion-label>Connections</ion-label>\n  </ion-list-header>\n  <ion-item-group>\n    <ion-item>\n      <ion-label>Network &amp; internet</ion-label>\n      <ion-note>Mobile, Wi-Fi, hotspot</ion-note>\n    </ion-item>\n  </ion-item-group>\n</ion-list>
\n\n
\n
Preview
\n\n \n Connections\n \n \n \n Network & internet\n Mobile, Wi-Fi, hotspot\n \n \n\n
\n\n

Use slot="end" on ion-note when you want the standard trailing-note layout instead.

\n

Inset-list section headers

\n

Add .item-group-header to an ion-item-group to create the centered icon, title, and description used at the top of the component demo pages.

\n

This is an introductory group. Place regular list items in a separate ion-item-group that follows it.

\n
<ion-list inset="true">\n  <ion-item-group class="item-group-header">\n    <ion-item>\n      <ion-label>\n        <ion-icon name="list" style="background: var(--ion-color-primary)"></ion-icon>\n        <h2>Lists</h2>\n        <ion-text>Inset-list examples</ion-text>\n      </ion-label>\n    </ion-item>\n  </ion-item-group>\n  <ion-item-group>\n    <ion-item><ion-label>First item</ion-label></ion-item>\n  </ion-item-group>\n</ion-list>
\n\n
\n
Preview
\n\n \n \n \n \n

Lists

\n Inset-list examples\n
\n
\n
\n \n First item\n \n
\n
\n\n

Full-width segments

\n

Add .segment-style-glass to give a segment the same glass surface and selected indicator treatment as the tab bar. The class preserves the segment's existing dimensions and text colors, supports scrollable segments, and respects Ionic's public --background property.

\n
<ion-segment class="segment-style-glass" value="available">\n  <ion-segment-button value="available">Available</ion-segment-button>\n  <ion-segment-button value="away">Away</ion-segment-button>\n</ion-segment>
\n\n

For colored segments, use Ionic's color property (for example, color="primary" or color="secondary"). Ionic uses the palette's base color for the softly tinted track while keeping the selected surface and labels neutral. A surrounding colored toolbar only supplies colors when the segment has no color of its own. The optional moving glass inherits the selected surface color, and custom Ionic palettes work without additional registration.

\n

Add .segment-expand when segment buttons should divide the available width evenly. The class also changes the Liquid Glass effect sizing when registerSegmentEffect is used.

\n

Segments use a 32px minimum height in content and a 48px minimum height inside ion-toolbar. .segment-expand keeps the compact 32px layout in a toolbar. Compact segments retain Ionic's flat background and indicator colors; only the regular toolbar variant has a glass container and scales its outer container while pressed. Content and expanded segments keep their outer bounds. The optional moving glass lens is independent of the container's background.

\n
<ion-segment class="segment-expand" value="new">\n  <ion-segment-button value="new"><ion-label>New</ion-label></ion-segment-button>\n  <ion-segment-button value="replied"><ion-label>Replied</ion-label></ion-segment-button>\n</ion-segment>
\n\n
\n
Preview
\n\n New\n Replied\n\n
\n\n

Classic search bar in a condense header

\n

The theme gives iOS search bars the iOS 27 appearance by default. Add .searchbar-classic to the search field shown beneath a large title in an ion-header with collapse="condense". It uses the conventional filled iOS appearance and collapses with the large title instead of remaining in the fixed header.

\n

Place it in a toolbar with a color, such as color="light"; the classic background is derived from that color's contrast value.

\n

The example uses Ionic's standard collapsible large-title structure. Scroll the preview to collapse the large title and reveal the fixed header.

\n
<div class="ion-page">\n  <ion-header translucent="true">\n    <ion-toolbar color="light">\n      <ion-title>Search</ion-title>\n    </ion-toolbar>\n  </ion-header>\n  <ion-content color="light" fullscreen="true">\n    <ion-header collapse="condense">\n      <ion-toolbar color="light">\n        <ion-title size="large">Search</ion-title>\n      </ion-toolbar>\n      <ion-toolbar color="light">\n        <ion-searchbar class="searchbar-classic" placeholder="Filter results"></ion-searchbar>\n      </ion-toolbar>\n    </ion-header>\n    <ion-list inset="true">\n      <ion-item-group>\n        <ion-item><ion-label>Recent item 1</ion-label></ion-item>\n        <ion-item><ion-label>Recent item 2</ion-label></ion-item>\n        <ion-item><ion-label>Recent item 3</ion-label></ion-item>\n        <ion-item><ion-label>Recent item 4</ion-label></ion-item>\n        <ion-item><ion-label>Recent item 5</ion-label></ion-item>\n        <ion-item><ion-label>Recent item 6</ion-label></ion-item>\n        <ion-item><ion-label>Recent item 7</ion-label></ion-item>\n        <ion-item><ion-label>Recent item 8</ion-label></ion-item>\n        <ion-item><ion-label>Recent item 9</ion-label></ion-item>\n        <ion-item><ion-label>Recent item 10</ion-label></ion-item>\n      </ion-item-group>\n    </ion-list>\n  </ion-content>\n</div>
\n\n
\n
Preview
\n
\n \n \n Search\n \n \n \n \n \n Search\n \n \n \n \n \n \n \n Recent item 1\n Recent item 2\n Recent item 3\n Recent item 4\n Recent item 5\n Recent item 6\n Recent item 7\n Recent item 8\n Recent item 9\n Recent item 10\n \n \n \n
\n
\n\n

The .ion-page wrapper makes this embedded preview behave like a complete routed page. An application using ion-router-outlet normally receives that page container automatically. The inset list and its items only provide enough content to demonstrate scrolling; they are not required by .searchbar-classic.

\n

Search-bar toolbars

\n

Add .toolbar-searchbar when an ion-toolbar combines a search bar with start or end buttons. The class centers the slotted controls and adjusts the spacing around the search field.

\n
<ion-toolbar class="toolbar-searchbar">\n  <ion-buttons slot="start">\n    <ion-button>Cancel</ion-button>\n  </ion-buttons>\n  <ion-searchbar></ion-searchbar>\n</ion-toolbar>
\n\n
\n
Preview
\n\n \n Cancel\n \n \n\n
\n\n

Opting out

\n

Add .ios-theme-disabled to an individual Ionic component when it must retain Ionic's standard iOS styling.

\n

.ios26-disabled is deprecated but remains supported as an alias with the same behavior. Use .ios-theme-disabled for new code.

\n
<ion-button>iOS 27 theme</ion-button> <ion-button class="ios-theme-disabled">Standard Ionic button</ion-button>
\n\n
\n
Preview
\niOS 27 theme Standard Ionic button\n
\n\n

For the background model behind inset lists, see Using ion-item-group.

\n'; + '

Special markup and classes

\n

Most Ionic markup works without changes. The combinations below are explicit opt-ins provided by the theme.

\n

Primary submit buttons

\n

Solid submit buttons use the Ionic color's contrast value for their foreground. Their directional edge treatment follows the iOS 27 prominent-button appearance and does not require an additional brightness color.

\n
<ion-button type="submit" color="primary">Submit</ion-button>\n<ion-button class="button-submit" fill="solid" color="primary">Continue</ion-button>
\n\n
\n
Preview
\nSubmit\nContinue\n
\n\n

Use .button-submit when the button needs the same treatment but cannot use type="submit".

\n

Preferred overlay actions

\n

For iOS alerts and action sheets, set role: 'preferred' on a button to give it a filled --ion-color-primary background and --ion-color-primary-contrast text and icons. While pressed, the background uses --ion-color-primary-shade. This is a theme convention using Ionic's custom button roles; it does not automatically select or invoke the action. Dismissal reports the role as preferred.

\n
buttons: [\n  { text: \'Cancel\', role: \'cancel\' },\n  { text: \'Continue\', role: \'preferred\' },\n];
\n\n

Buttons with no role or default keep the normal text color. cancel retains Ionic's cancellation behavior, selected remains a selection state, and destructive uses --ios-theme-destructive-color. An existing confirm role is not treated as preferred. Use preferred for the recommended action, not simply any action that confirms a choice.

\n

Floating iPad sheets

\n

Set expandToScroll: false on a sheet modal to use floating lower corners and a 20px bottom gap on iPad. Ionic then sizes the visible page at each breakpoint, so the theme can style it with CSS alone. Content scrolls within the current breakpoint; dragging the handle still resizes the sheet. With the default expandToScroll: true, the sheet keeps Ionic's bottom-attached layout and scroll-to-expand behavior.

\n

Tab bar position

\n

Add one of tab-bar-position-start, tab-bar-position-center, or tab-bar-position-end to an iOS ion-tab-bar to position the whole bar within its safe area. These classes work with both slot="top" and slot="bottom" and preserve the bar's width and press animation. Start and end follow the text direction (reversed in RTL). Without a class, the existing placement is unchanged.

\n
<ion-tab-bar slot="bottom" class="tab-bar-position-center">\n  <ion-tab-button tab="home">Home</ion-tab-button>\n  <ion-tab-button tab="settings">Settings</ion-tab-button>\n</ion-tab-bar>
\n\n

These classes do not reposition a separate ion-fab; leave room for it when choosing the bar's position.

\n

Foldable layouts

\n

To simulate the iPhone Duo layout on the web, add .ios-theme-enable-foldable to the active ion-app. Use body only when the application has no ion-app root:

\n
<ion-app class="ios-theme-enable-foldable">...</ion-app>
\n\n

The class reserves 80px on the physical right by default, matching the system navigation region measured in the iPhone Duo Simulator. The physical left defaults to 0px. Override --ios-theme-foldable-safe-area-left or --ios-theme-foldable-safe-area-right when simulating a different foldable layout.

\n

This keeps routers and component backgrounds full-viewport. ion-content moves its scroll foreground, ion-toolbar moves its container foreground, and ion-fab adjusts only when it is placed beside the system UI. The corresponding Ionic safe-area variable is reset inside those foreground components so descendants do not add the inset again.

\n

ion-menu, ion-modal, and ion-popover are handled as separate surfaces: their internal foreground components do not receive the main-page conversion and retain Ionic's standard safe-area handling. A menu presented beside the system UI is positioned after the corresponding inset; a menu from the opposite side is unchanged. Left and right remain physical coordinates in RTL, while Ionic's side="start" and side="end" values remain logical.

\n

The foldable values are web-layout simulation inputs. They are independent from Ionic's normal iPhone safe-area variables and do not change ordinary iPhone layouts unless the opt-in class is present.

\n

When the app contains ion-tabs, foldable mode moves its iOS tab bar into the physical right-side reserved region and aligns it above the bottom safe area. The Ionic slot value does not select a different foldable position. The resting rail emphasizes icons; while the user presses and drags across it, icon-and-label tabs reveal their labels so the pending destination stays identifiable. The tab bar remains in the web layer and receives pointer input in the simulated system region. Use ion-menu when navigation should become a sidebar; foldable mode does not convert tabs into a menu.

\n

Two-line inset list items

\n

Place an unslotted ion-label immediately alongside an unslotted ion-note to render a two-line item. When using the iOS-style inset-list background, wrap the items in ion-item-group; keep ion-list-header outside the group.

\n
<ion-list inset="true">\n  <ion-list-header>\n    <ion-label>Connections</ion-label>\n  </ion-list-header>\n  <ion-item-group>\n    <ion-item>\n      <ion-label>Network &amp; internet</ion-label>\n      <ion-note>Mobile, Wi-Fi, hotspot</ion-note>\n    </ion-item>\n  </ion-item-group>\n</ion-list>
\n\n
\n
Preview
\n\n \n Connections\n \n \n \n Network & internet\n Mobile, Wi-Fi, hotspot\n \n \n\n
\n\n

Use slot="end" on ion-note when you want the standard trailing-note layout instead.

\n

Inset-list section headers

\n

Add .item-group-header to an ion-item-group to create the centered icon, title, and description used at the top of the component demo pages.

\n

This is an introductory group. Place regular list items in a separate ion-item-group that follows it.

\n
<ion-list inset="true">\n  <ion-item-group class="item-group-header">\n    <ion-item>\n      <ion-label>\n        <ion-icon name="list" style="background: var(--ion-color-primary)"></ion-icon>\n        <h2>Lists</h2>\n        <ion-text>Inset-list examples</ion-text>\n      </ion-label>\n    </ion-item>\n  </ion-item-group>\n  <ion-item-group>\n    <ion-item><ion-label>First item</ion-label></ion-item>\n  </ion-item-group>\n</ion-list>
\n\n
\n
Preview
\n\n \n \n \n \n

Lists

\n Inset-list examples\n
\n
\n
\n \n First item\n \n
\n
\n\n

Full-width segments

\n

Add .segment-style-glass to give a segment the same glass surface and selected indicator treatment as the tab bar. The class preserves the segment's existing dimensions and text colors, supports scrollable segments, and respects Ionic's public --background property.

\n
<ion-segment class="segment-style-glass" value="available">\n  <ion-segment-button value="available">Available</ion-segment-button>\n  <ion-segment-button value="away">Away</ion-segment-button>\n</ion-segment>
\n\n

For colored segments, use Ionic's color property (for example, color="primary" or color="secondary"). Ionic uses the palette's base color for the softly tinted track while keeping the selected surface and labels neutral. A surrounding colored toolbar only supplies colors when the segment has no color of its own. The optional moving glass inherits the selected surface color, and custom Ionic palettes work without additional registration.

\n

Add .segment-expand when segment buttons should divide the available width evenly. The class also changes the Liquid Glass effect sizing when registerSegmentEffect is used.

\n

Segments use a 32px minimum height in content and a 48px minimum height inside ion-toolbar. .segment-expand keeps the compact 32px layout in a toolbar. Compact segments retain Ionic's flat background and indicator colors; only the regular toolbar variant has a glass container and scales its outer container while pressed. Content and expanded segments keep their outer bounds. The optional moving glass lens is independent of the container's background.

\n
<ion-segment class="segment-expand" value="new">\n  <ion-segment-button value="new"><ion-label>New</ion-label></ion-segment-button>\n  <ion-segment-button value="replied"><ion-label>Replied</ion-label></ion-segment-button>\n</ion-segment>
\n\n
\n
Preview
\n\n New\n Replied\n\n
\n\n

Classic search bar in a condense header

\n

The theme gives iOS search bars the iOS 27 appearance by default. Add .searchbar-classic to the search field shown beneath a large title in an ion-header with collapse="condense". It uses the conventional filled iOS appearance and collapses with the large title instead of remaining in the fixed header.

\n

Place it in a toolbar with a color, such as color="light"; the classic background is derived from that color's contrast value.

\n

The example uses Ionic's standard collapsible large-title structure. Scroll the preview to collapse the large title and reveal the fixed header.

\n
<div class="ion-page">\n  <ion-header translucent="true">\n    <ion-toolbar color="light">\n      <ion-title>Search</ion-title>\n    </ion-toolbar>\n  </ion-header>\n  <ion-content color="light" fullscreen="true">\n    <ion-header collapse="condense">\n      <ion-toolbar color="light">\n        <ion-title size="large">Search</ion-title>\n      </ion-toolbar>\n      <ion-toolbar color="light">\n        <ion-searchbar class="searchbar-classic" placeholder="Filter results"></ion-searchbar>\n      </ion-toolbar>\n    </ion-header>\n    <ion-list inset="true">\n      <ion-item-group>\n        <ion-item><ion-label>Recent item 1</ion-label></ion-item>\n        <ion-item><ion-label>Recent item 2</ion-label></ion-item>\n        <ion-item><ion-label>Recent item 3</ion-label></ion-item>\n        <ion-item><ion-label>Recent item 4</ion-label></ion-item>\n        <ion-item><ion-label>Recent item 5</ion-label></ion-item>\n        <ion-item><ion-label>Recent item 6</ion-label></ion-item>\n        <ion-item><ion-label>Recent item 7</ion-label></ion-item>\n        <ion-item><ion-label>Recent item 8</ion-label></ion-item>\n        <ion-item><ion-label>Recent item 9</ion-label></ion-item>\n        <ion-item><ion-label>Recent item 10</ion-label></ion-item>\n      </ion-item-group>\n    </ion-list>\n  </ion-content>\n</div>
\n\n
\n
Preview
\n
\n \n \n Search\n \n \n \n \n \n Search\n \n \n \n \n \n \n \n Recent item 1\n Recent item 2\n Recent item 3\n Recent item 4\n Recent item 5\n Recent item 6\n Recent item 7\n Recent item 8\n Recent item 9\n Recent item 10\n \n \n \n
\n
\n\n

The .ion-page wrapper makes this embedded preview behave like a complete routed page. An application using ion-router-outlet normally receives that page container automatically. The inset list and its items only provide enough content to demonstrate scrolling; they are not required by .searchbar-classic.

\n

Search-bar toolbars

\n

Add .toolbar-searchbar when an ion-toolbar combines a search bar with start or end buttons. The class centers the slotted controls and adjusts the spacing around the search field.

\n
<ion-toolbar class="toolbar-searchbar">\n  <ion-buttons slot="start">\n    <ion-button>Cancel</ion-button>\n  </ion-buttons>\n  <ion-searchbar></ion-searchbar>\n</ion-toolbar>
\n\n
\n
Preview
\n\n \n Cancel\n \n \n\n
\n\n

Opting out

\n

Add .ios-theme-disabled to an individual Ionic component when it must retain Ionic's standard iOS styling.

\n

.ios26-disabled is deprecated but remains supported as an alias with the same behavior. Use .ios-theme-disabled for new code.

\n
<ion-button>iOS 27 theme</ion-button> <ion-button class="ios-theme-disabled">Standard Ionic button</ion-button>
\n\n
\n
Preview
\niOS 27 theme Standard Ionic button\n
\n\n

For the background model behind inset lists, see Using ion-item-group.

\n'; diff --git a/demo/src/app/tabs/tabs.page.html b/demo/src/app/tabs/tabs.page.html index 2743584f..d1a2c969 100644 --- a/demo/src/app/tabs/tabs.page.html +++ b/demo/src/app/tabs/tabs.page.html @@ -25,7 +25,7 @@
- + diff --git a/docs/special-markup.md b/docs/special-markup.md index 0829d087..aaff175e 100644 --- a/docs/special-markup.md +++ b/docs/special-markup.md @@ -63,6 +63,8 @@ This keeps routers and component backgrounds full-viewport. `ion-content` moves The foldable values are web-layout simulation inputs. They are independent from Ionic's normal iPhone safe-area variables and do not change ordinary iPhone layouts unless the opt-in class is present. +When the app contains `ion-tabs`, foldable mode moves its iOS tab bar into the physical right-side reserved region and aligns it above the bottom safe area. The Ionic `slot` value does not select a different foldable position. The resting rail emphasizes icons; while the user presses and drags across it, icon-and-label tabs reveal their labels so the pending destination stays identifiable. The tab bar remains in the web layer and receives pointer input in the simulated system region. Use `ion-menu` when navigation should become a sidebar; foldable mode does not convert tabs into a menu. + ## Two-line inset list items Place an unslotted `ion-label` immediately alongside an unslotted `ion-note` to render a two-line item. When using the iOS-style inset-list background, wrap the items in `ion-item-group`; keep `ion-list-header` outside the group. diff --git a/src/index.ts b/src/index.ts index 0ae9aa53..1b3f06d9 100644 --- a/src/index.ts +++ b/src/index.ts @@ -14,11 +14,11 @@ export const registerTabBarEffect = (targetElement: HTMLElement): registeredEffe const win = targetElement.ownerDocument.defaultView; if (!targetElement.classList.contains('ios') || !win) return undefined; const reducedMotion = win.matchMedia('(prefers-reduced-motion: reduce)'); - const tabs = targetElement.closest('ion-tabs'); + const foldableRoot = targetElement.closest('ion-app') ?? targetElement.ownerDocument.body; let effect: registeredEffect | undefined; const update = () => { effect?.destroy(); - const isVertical = tabs?.matches('.ionic-theme-adaptive-tabs:is(.ionic-theme-tabs-side-left, .ionic-theme-tabs-side-right)') ?? false; + const isVertical = foldableRoot.classList.contains('ios-theme-enable-foldable'); effect = reducedMotion.matches || isVertical ? undefined @@ -31,8 +31,8 @@ export const registerTabBarEffect = (targetElement: HTMLElement): registeredEffe }; update(); reducedMotion.addEventListener('change', update); - const placementObserver = tabs ? new win.MutationObserver(update) : undefined; - placementObserver?.observe(tabs!, { attributes: true, attributeFilter: ['class'] }); + const placementObserver = new win.MutationObserver(update); + placementObserver.observe(foldableRoot, { attributes: true, attributeFilter: ['class'] }); return { destroy: () => { reducedMotion.removeEventListener('change', update); diff --git a/src/native/components/ion-tab-bar.ts b/src/native/components/ion-tab-bar.ts index 9fc03886..3f672ddf 100644 --- a/src/native/components/ion-tab-bar.ts +++ b/src/native/components/ion-tab-bar.ts @@ -7,8 +7,7 @@ export const tracksMotion = true; export const read = (element: HTMLElement, id: Identify): Candidate | undefined => { if (element.closest('ion-content')) return; - if (element.closest('ion-tabs')?.matches('.ionic-theme-adaptive-tabs:is(.ionic-theme-tabs-side-left, .ionic-theme-tabs-side-right)')) - return; + if ((element.closest('ion-app') ?? element.ownerDocument.body).classList.contains('ios-theme-enable-foldable')) return; const children = Array.from(element.querySelectorAll(':scope > ion-tab-button:not(.ion-cloned-element)')); if (!children.length) return; // Only equal items with Ionic's default layout map to UIKit's adaptive tabs. diff --git a/src/styles/components/ion-tabs.scss b/src/styles/components/ion-tabs.scss index c992015c..46fc4f6a 100644 --- a/src/styles/components/ion-tabs.scss +++ b/src/styles/components/ion-tabs.scss @@ -163,14 +163,13 @@ ion-tab-bar.ios:not(.ios-theme-disabled, .ios26-disabled) { } } -// Opt-in layout for displays that reserve a vertical region beside the app. -// Placement is deliberately explicit: the application owns the decision to -// use a vertical tab bar, while the theme owns its geometry inside the safe-area inset. -ion-tabs.ionic-theme-adaptive-tabs:is(.ionic-theme-tabs-side-left, .ionic-theme-tabs-side-right) - > ion-tab-bar.ios:not(.ios-theme-disabled, .ios26-disabled) { +// iPhone Duo reserves the physical right edge for system navigation. In the +// web simulation, keep tabs in that same rail so the application remains +// usable without introducing a second navigation component. +:is(ion-app, body).ios-theme-enable-foldable ion-tabs > ion-tab-bar.ios:not(.ios-theme-disabled, .ios26-disabled) { --ios-theme-side-tab-bar-width: 62px; --ios-theme-side-tab-bar-gap: 8px; - --ios-theme-side-safe-area: var(--ion-theme-safe-area-right, var(--safe-area-inset-right, env(safe-area-inset-right, 0px))); + --ios-theme-side-safe-area: var(--ios-theme-foldable-safe-area-right-resolved); contain: layout style; display: flex; @@ -184,15 +183,8 @@ ion-tabs.ionic-theme-adaptive-tabs:is(.ionic-theme-tabs-side-left, .ionic-theme- right: max(4px, calc((var(--ios-theme-side-safe-area) - var(--ios-theme-side-tab-bar-width)) / 2)); margin: 0; - &[slot='top'] { - top: calc(var(--ion-safe-area-top, 0px) + var(--ios-theme-side-tab-bar-gap)); - bottom: auto; - } - - &[slot='bottom'] { - top: auto; - bottom: calc(var(--ion-safe-area-bottom, 0px) + var(--ios-theme-side-tab-bar-gap)); - } + top: auto; + bottom: calc(var(--ion-safe-area-bottom, 0px) + var(--ios-theme-side-tab-bar-gap)); > ion-tab-button:not(.ion-cloned-element) { display: block; @@ -259,12 +251,6 @@ ion-tabs.ionic-theme-adaptive-tabs:is(.ionic-theme-tabs-side-left, .ionic-theme- } } -ion-tabs.ionic-theme-adaptive-tabs.ionic-theme-tabs-side-left > ion-tab-bar.ios:not(.ios-theme-disabled, .ios26-disabled) { - --ios-theme-side-safe-area: var(--ion-theme-safe-area-left, var(--safe-area-inset-left, env(safe-area-inset-left, 0px))); - left: max(4px, calc((var(--ios-theme-side-safe-area) - var(--ios-theme-side-tab-bar-width)) / 2)); - right: auto; -} - ion-tab-button.ios:not(.ios-theme-disabled, .ios26-disabled) { transform-origin: center 65%; font-size: 0.59rem; From 08239962390adf86c43342930fdefa611d1bc4eb Mon Sep 17 00:00:00 2001 From: rdlabo Date: Tue, 22 Sep 2026 11:46:05 +0900 Subject: [PATCH 18/50] fix(tabs): preserve overlay tab ownership --- demo/e2e/adaptive-tab-bar.spec.ts | 15 +++++++++++++++ src/index.ts | 3 ++- src/native/components/ion-tab-bar.ts | 6 +++++- src/styles/components/ion-tabs.scss | 4 +++- 4 files changed, 25 insertions(+), 3 deletions(-) diff --git a/demo/e2e/adaptive-tab-bar.spec.ts b/demo/e2e/adaptive-tab-bar.spec.ts index bddc148c..463297a4 100644 --- a/demo/e2e/adaptive-tab-bar.spec.ts +++ b/demo/e2e/adaptive-tab-bar.spec.ts @@ -26,4 +26,19 @@ test('foldable mode moves tabs into the right rail and reveals labels while drag await expect(page).toHaveScreenshot('foldable-tab-drag-labels.png', { animations: 'disabled' }); await page.mouse.up(); + + const overlayDirection = await page.evaluate(async () => { + const menu = document.querySelector('ion-menu')!; + const tabs = document.createElement('ion-tabs'); + const overlayBar = document.createElement('ion-tab-bar'); + overlayBar.mode = 'ios'; + tabs.append(overlayBar); + menu.append(tabs); + await customElements.whenDefined('ion-tab-bar'); + await new Promise((resolve) => requestAnimationFrame(() => requestAnimationFrame(() => resolve()))); + const direction = getComputedStyle(overlayBar).flexDirection; + tabs.remove(); + return direction; + }); + expect(overlayDirection).toBe('row'); }); diff --git a/src/index.ts b/src/index.ts index 1b3f06d9..16446a23 100644 --- a/src/index.ts +++ b/src/index.ts @@ -18,7 +18,8 @@ export const registerTabBarEffect = (targetElement: HTMLElement): registeredEffe let effect: registeredEffect | undefined; const update = () => { effect?.destroy(); - const isVertical = foldableRoot.classList.contains('ios-theme-enable-foldable'); + const isVertical = + foldableRoot.classList.contains('ios-theme-enable-foldable') && !targetElement.closest('ion-menu, ion-modal, ion-popover'); effect = reducedMotion.matches || isVertical ? undefined diff --git a/src/native/components/ion-tab-bar.ts b/src/native/components/ion-tab-bar.ts index 3f672ddf..79893e16 100644 --- a/src/native/components/ion-tab-bar.ts +++ b/src/native/components/ion-tab-bar.ts @@ -7,7 +7,11 @@ export const tracksMotion = true; export const read = (element: HTMLElement, id: Identify): Candidate | undefined => { if (element.closest('ion-content')) return; - if ((element.closest('ion-app') ?? element.ownerDocument.body).classList.contains('ios-theme-enable-foldable')) return; + if ( + (element.closest('ion-app') ?? element.ownerDocument.body).classList.contains('ios-theme-enable-foldable') && + !element.closest('ion-menu, ion-modal, ion-popover') + ) + return; const children = Array.from(element.querySelectorAll(':scope > ion-tab-button:not(.ion-cloned-element)')); if (!children.length) return; // Only equal items with Ionic's default layout map to UIKit's adaptive tabs. diff --git a/src/styles/components/ion-tabs.scss b/src/styles/components/ion-tabs.scss index 46fc4f6a..478a5e82 100644 --- a/src/styles/components/ion-tabs.scss +++ b/src/styles/components/ion-tabs.scss @@ -166,7 +166,9 @@ ion-tab-bar.ios:not(.ios-theme-disabled, .ios26-disabled) { // iPhone Duo reserves the physical right edge for system navigation. In the // web simulation, keep tabs in that same rail so the application remains // usable without introducing a second navigation component. -:is(ion-app, body).ios-theme-enable-foldable ion-tabs > ion-tab-bar.ios:not(.ios-theme-disabled, .ios26-disabled) { +:is(ion-app, body).ios-theme-enable-foldable + ion-tabs:not(:where(ion-menu *, ion-modal *, ion-popover *)) + > ion-tab-bar.ios:not(.ios-theme-disabled, .ios26-disabled) { --ios-theme-side-tab-bar-width: 62px; --ios-theme-side-tab-bar-gap: 8px; --ios-theme-side-safe-area: var(--ios-theme-foldable-safe-area-right-resolved); From 39ff308b6d53eb67e0463d41cbe785510202b4ce Mon Sep 17 00:00:00 2001 From: rdlabo Date: Tue, 22 Sep 2026 12:43:01 +0900 Subject: [PATCH 19/50] fix(tabs): show the selected foldable label --- demo/e2e/adaptive-tab-bar.spec.ts | 2 ++ .../foldable-split-pane-ltr.png | Bin 54613 -> 54892 bytes .../foldable-split-pane-rtl.png | Bin 54764 -> 54999 bytes demo/src/app/docs/docs-content.generated.ts | 2 +- docs/special-markup.md | 2 +- src/styles/components/ion-tabs.scss | 6 +++--- 6 files changed, 7 insertions(+), 5 deletions(-) diff --git a/demo/e2e/adaptive-tab-bar.spec.ts b/demo/e2e/adaptive-tab-bar.spec.ts index 463297a4..fb24dcb3 100644 --- a/demo/e2e/adaptive-tab-bar.spec.ts +++ b/demo/e2e/adaptive-tab-bar.spec.ts @@ -16,6 +16,8 @@ test('foldable mode moves tabs into the right rail and reveals labels while drag const barBox = (await bar.boundingBox())!; expect(barBox.x).toBeGreaterThan(620); expect(barBox.width).toBeCloseTo(62, 0); + await expect(buttons.first().locator('ion-label')).toHaveCSS('position', 'static'); + await expect(buttons.nth(1).locator('ion-label')).toHaveCSS('position', 'absolute'); const selectedBox = (await buttons.first().boundingBox())!; const targetBox = (await buttons.nth(1).boundingBox())!; diff --git a/demo/e2e/screenshot.spec.ts-snapshots/foldable-split-pane-ltr.png b/demo/e2e/screenshot.spec.ts-snapshots/foldable-split-pane-ltr.png index eb6a7244486b739675ab9dab46cadb9e22aed864..829ef1a1bf4f693ee728cd5bf0d633ca0c0b04d9 100644 GIT binary patch delta 14085 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 Hnm_#?DaJVA delta 13804 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 diff --git a/demo/e2e/screenshot.spec.ts-snapshots/foldable-split-pane-rtl.png b/demo/e2e/screenshot.spec.ts-snapshots/foldable-split-pane-rtl.png index d0f420e2bd10efd96e52766be8d86bc80c231f14..97a9f30558b8b6b2f5b99231a382ce179badfdc0 100644 GIT binary patch delta 14151 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 delta 13914 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 t|CPwocLU!jIXIxfINSpecial markup and classes
\n

Most Ionic markup works without changes. The combinations below are explicit opt-ins provided by the theme.

\n

Primary submit buttons

\n

Solid submit buttons use the Ionic color's contrast value for their foreground. Their directional edge treatment follows the iOS 27 prominent-button appearance and does not require an additional brightness color.

\n
<ion-button type="submit" color="primary">Submit</ion-button>\n<ion-button class="button-submit" fill="solid" color="primary">Continue</ion-button>
\n\n
\n
Preview
\nSubmit\nContinue\n
\n\n

Use .button-submit when the button needs the same treatment but cannot use type="submit".

\n

Preferred overlay actions

\n

For iOS alerts and action sheets, set role: 'preferred' on a button to give it a filled --ion-color-primary background and --ion-color-primary-contrast text and icons. While pressed, the background uses --ion-color-primary-shade. This is a theme convention using Ionic's custom button roles; it does not automatically select or invoke the action. Dismissal reports the role as preferred.

\n
buttons: [\n  { text: \'Cancel\', role: \'cancel\' },\n  { text: \'Continue\', role: \'preferred\' },\n];
\n\n

Buttons with no role or default keep the normal text color. cancel retains Ionic's cancellation behavior, selected remains a selection state, and destructive uses --ios-theme-destructive-color. An existing confirm role is not treated as preferred. Use preferred for the recommended action, not simply any action that confirms a choice.

\n

Floating iPad sheets

\n

Set expandToScroll: false on a sheet modal to use floating lower corners and a 20px bottom gap on iPad. Ionic then sizes the visible page at each breakpoint, so the theme can style it with CSS alone. Content scrolls within the current breakpoint; dragging the handle still resizes the sheet. With the default expandToScroll: true, the sheet keeps Ionic's bottom-attached layout and scroll-to-expand behavior.

\n

Tab bar position

\n

Add one of tab-bar-position-start, tab-bar-position-center, or tab-bar-position-end to an iOS ion-tab-bar to position the whole bar within its safe area. These classes work with both slot="top" and slot="bottom" and preserve the bar's width and press animation. Start and end follow the text direction (reversed in RTL). Without a class, the existing placement is unchanged.

\n
<ion-tab-bar slot="bottom" class="tab-bar-position-center">\n  <ion-tab-button tab="home">Home</ion-tab-button>\n  <ion-tab-button tab="settings">Settings</ion-tab-button>\n</ion-tab-bar>
\n\n

These classes do not reposition a separate ion-fab; leave room for it when choosing the bar's position.

\n

Foldable layouts

\n

To simulate the iPhone Duo layout on the web, add .ios-theme-enable-foldable to the active ion-app. Use body only when the application has no ion-app root:

\n
<ion-app class="ios-theme-enable-foldable">...</ion-app>
\n\n

The class reserves 80px on the physical right by default, matching the system navigation region measured in the iPhone Duo Simulator. The physical left defaults to 0px. Override --ios-theme-foldable-safe-area-left or --ios-theme-foldable-safe-area-right when simulating a different foldable layout.

\n

This keeps routers and component backgrounds full-viewport. ion-content moves its scroll foreground, ion-toolbar moves its container foreground, and ion-fab adjusts only when it is placed beside the system UI. The corresponding Ionic safe-area variable is reset inside those foreground components so descendants do not add the inset again.

\n

ion-menu, ion-modal, and ion-popover are handled as separate surfaces: their internal foreground components do not receive the main-page conversion and retain Ionic's standard safe-area handling. A menu presented beside the system UI is positioned after the corresponding inset; a menu from the opposite side is unchanged. Left and right remain physical coordinates in RTL, while Ionic's side="start" and side="end" values remain logical.

\n

The foldable values are web-layout simulation inputs. They are independent from Ionic's normal iPhone safe-area variables and do not change ordinary iPhone layouts unless the opt-in class is present.

\n

When the app contains ion-tabs, foldable mode moves its iOS tab bar into the physical right-side reserved region and aligns it above the bottom safe area. The Ionic slot value does not select a different foldable position. The resting rail emphasizes icons; while the user presses and drags across it, icon-and-label tabs reveal their labels so the pending destination stays identifiable. The tab bar remains in the web layer and receives pointer input in the simulated system region. Use ion-menu when navigation should become a sidebar; foldable mode does not convert tabs into a menu.

\n

Two-line inset list items

\n

Place an unslotted ion-label immediately alongside an unslotted ion-note to render a two-line item. When using the iOS-style inset-list background, wrap the items in ion-item-group; keep ion-list-header outside the group.

\n
<ion-list inset="true">\n  <ion-list-header>\n    <ion-label>Connections</ion-label>\n  </ion-list-header>\n  <ion-item-group>\n    <ion-item>\n      <ion-label>Network &amp; internet</ion-label>\n      <ion-note>Mobile, Wi-Fi, hotspot</ion-note>\n    </ion-item>\n  </ion-item-group>\n</ion-list>
\n\n
\n
Preview
\n\n \n Connections\n \n \n \n Network & internet\n Mobile, Wi-Fi, hotspot\n \n \n\n
\n\n

Use slot="end" on ion-note when you want the standard trailing-note layout instead.

\n

Inset-list section headers

\n

Add .item-group-header to an ion-item-group to create the centered icon, title, and description used at the top of the component demo pages.

\n

This is an introductory group. Place regular list items in a separate ion-item-group that follows it.

\n
<ion-list inset="true">\n  <ion-item-group class="item-group-header">\n    <ion-item>\n      <ion-label>\n        <ion-icon name="list" style="background: var(--ion-color-primary)"></ion-icon>\n        <h2>Lists</h2>\n        <ion-text>Inset-list examples</ion-text>\n      </ion-label>\n    </ion-item>\n  </ion-item-group>\n  <ion-item-group>\n    <ion-item><ion-label>First item</ion-label></ion-item>\n  </ion-item-group>\n</ion-list>
\n\n
\n
Preview
\n\n \n \n \n \n

Lists

\n Inset-list examples\n
\n
\n
\n \n First item\n \n
\n
\n\n

Full-width segments

\n

Add .segment-style-glass to give a segment the same glass surface and selected indicator treatment as the tab bar. The class preserves the segment's existing dimensions and text colors, supports scrollable segments, and respects Ionic's public --background property.

\n
<ion-segment class="segment-style-glass" value="available">\n  <ion-segment-button value="available">Available</ion-segment-button>\n  <ion-segment-button value="away">Away</ion-segment-button>\n</ion-segment>
\n\n

For colored segments, use Ionic's color property (for example, color="primary" or color="secondary"). Ionic uses the palette's base color for the softly tinted track while keeping the selected surface and labels neutral. A surrounding colored toolbar only supplies colors when the segment has no color of its own. The optional moving glass inherits the selected surface color, and custom Ionic palettes work without additional registration.

\n

Add .segment-expand when segment buttons should divide the available width evenly. The class also changes the Liquid Glass effect sizing when registerSegmentEffect is used.

\n

Segments use a 32px minimum height in content and a 48px minimum height inside ion-toolbar. .segment-expand keeps the compact 32px layout in a toolbar. Compact segments retain Ionic's flat background and indicator colors; only the regular toolbar variant has a glass container and scales its outer container while pressed. Content and expanded segments keep their outer bounds. The optional moving glass lens is independent of the container's background.

\n
<ion-segment class="segment-expand" value="new">\n  <ion-segment-button value="new"><ion-label>New</ion-label></ion-segment-button>\n  <ion-segment-button value="replied"><ion-label>Replied</ion-label></ion-segment-button>\n</ion-segment>
\n\n
\n
Preview
\n\n New\n Replied\n\n
\n\n

Classic search bar in a condense header

\n

The theme gives iOS search bars the iOS 27 appearance by default. Add .searchbar-classic to the search field shown beneath a large title in an ion-header with collapse="condense". It uses the conventional filled iOS appearance and collapses with the large title instead of remaining in the fixed header.

\n

Place it in a toolbar with a color, such as color="light"; the classic background is derived from that color's contrast value.

\n

The example uses Ionic's standard collapsible large-title structure. Scroll the preview to collapse the large title and reveal the fixed header.

\n
<div class="ion-page">\n  <ion-header translucent="true">\n    <ion-toolbar color="light">\n      <ion-title>Search</ion-title>\n    </ion-toolbar>\n  </ion-header>\n  <ion-content color="light" fullscreen="true">\n    <ion-header collapse="condense">\n      <ion-toolbar color="light">\n        <ion-title size="large">Search</ion-title>\n      </ion-toolbar>\n      <ion-toolbar color="light">\n        <ion-searchbar class="searchbar-classic" placeholder="Filter results"></ion-searchbar>\n      </ion-toolbar>\n    </ion-header>\n    <ion-list inset="true">\n      <ion-item-group>\n        <ion-item><ion-label>Recent item 1</ion-label></ion-item>\n        <ion-item><ion-label>Recent item 2</ion-label></ion-item>\n        <ion-item><ion-label>Recent item 3</ion-label></ion-item>\n        <ion-item><ion-label>Recent item 4</ion-label></ion-item>\n        <ion-item><ion-label>Recent item 5</ion-label></ion-item>\n        <ion-item><ion-label>Recent item 6</ion-label></ion-item>\n        <ion-item><ion-label>Recent item 7</ion-label></ion-item>\n        <ion-item><ion-label>Recent item 8</ion-label></ion-item>\n        <ion-item><ion-label>Recent item 9</ion-label></ion-item>\n        <ion-item><ion-label>Recent item 10</ion-label></ion-item>\n      </ion-item-group>\n    </ion-list>\n  </ion-content>\n</div>
\n\n
\n
Preview
\n
\n \n \n Search\n \n \n \n \n \n Search\n \n \n \n \n \n \n \n Recent item 1\n Recent item 2\n Recent item 3\n Recent item 4\n Recent item 5\n Recent item 6\n Recent item 7\n Recent item 8\n Recent item 9\n Recent item 10\n \n \n \n
\n
\n\n

The .ion-page wrapper makes this embedded preview behave like a complete routed page. An application using ion-router-outlet normally receives that page container automatically. The inset list and its items only provide enough content to demonstrate scrolling; they are not required by .searchbar-classic.

\n

Search-bar toolbars

\n

Add .toolbar-searchbar when an ion-toolbar combines a search bar with start or end buttons. The class centers the slotted controls and adjusts the spacing around the search field.

\n
<ion-toolbar class="toolbar-searchbar">\n  <ion-buttons slot="start">\n    <ion-button>Cancel</ion-button>\n  </ion-buttons>\n  <ion-searchbar></ion-searchbar>\n</ion-toolbar>
\n\n
\n
Preview
\n\n \n Cancel\n \n \n\n
\n\n

Opting out

\n

Add .ios-theme-disabled to an individual Ionic component when it must retain Ionic's standard iOS styling.

\n

.ios26-disabled is deprecated but remains supported as an alias with the same behavior. Use .ios-theme-disabled for new code.

\n
<ion-button>iOS 27 theme</ion-button> <ion-button class="ios-theme-disabled">Standard Ionic button</ion-button>
\n\n
\n
Preview
\niOS 27 theme Standard Ionic button\n
\n\n

For the background model behind inset lists, see Using ion-item-group.

\n'; + '

Special markup and classes

\n

Most Ionic markup works without changes. The combinations below are explicit opt-ins provided by the theme.

\n

Primary submit buttons

\n

Solid submit buttons use the Ionic color's contrast value for their foreground. Their directional edge treatment follows the iOS 27 prominent-button appearance and does not require an additional brightness color.

\n
<ion-button type="submit" color="primary">Submit</ion-button>\n<ion-button class="button-submit" fill="solid" color="primary">Continue</ion-button>
\n\n
\n
Preview
\nSubmit\nContinue\n
\n\n

Use .button-submit when the button needs the same treatment but cannot use type="submit".

\n

Preferred overlay actions

\n

For iOS alerts and action sheets, set role: 'preferred' on a button to give it a filled --ion-color-primary background and --ion-color-primary-contrast text and icons. While pressed, the background uses --ion-color-primary-shade. This is a theme convention using Ionic's custom button roles; it does not automatically select or invoke the action. Dismissal reports the role as preferred.

\n
buttons: [\n  { text: \'Cancel\', role: \'cancel\' },\n  { text: \'Continue\', role: \'preferred\' },\n];
\n\n

Buttons with no role or default keep the normal text color. cancel retains Ionic's cancellation behavior, selected remains a selection state, and destructive uses --ios-theme-destructive-color. An existing confirm role is not treated as preferred. Use preferred for the recommended action, not simply any action that confirms a choice.

\n

Floating iPad sheets

\n

Set expandToScroll: false on a sheet modal to use floating lower corners and a 20px bottom gap on iPad. Ionic then sizes the visible page at each breakpoint, so the theme can style it with CSS alone. Content scrolls within the current breakpoint; dragging the handle still resizes the sheet. With the default expandToScroll: true, the sheet keeps Ionic's bottom-attached layout and scroll-to-expand behavior.

\n

Tab bar position

\n

Add one of tab-bar-position-start, tab-bar-position-center, or tab-bar-position-end to an iOS ion-tab-bar to position the whole bar within its safe area. These classes work with both slot="top" and slot="bottom" and preserve the bar's width and press animation. Start and end follow the text direction (reversed in RTL). Without a class, the existing placement is unchanged.

\n
<ion-tab-bar slot="bottom" class="tab-bar-position-center">\n  <ion-tab-button tab="home">Home</ion-tab-button>\n  <ion-tab-button tab="settings">Settings</ion-tab-button>\n</ion-tab-bar>
\n\n

These classes do not reposition a separate ion-fab; leave room for it when choosing the bar's position.

\n

Foldable layouts

\n

To simulate the iPhone Duo layout on the web, add .ios-theme-enable-foldable to the active ion-app. Use body only when the application has no ion-app root:

\n
<ion-app class="ios-theme-enable-foldable">...</ion-app>
\n\n

The class reserves 80px on the physical right by default, matching the system navigation region measured in the iPhone Duo Simulator. The physical left defaults to 0px. Override --ios-theme-foldable-safe-area-left or --ios-theme-foldable-safe-area-right when simulating a different foldable layout.

\n

This keeps routers and component backgrounds full-viewport. ion-content moves its scroll foreground, ion-toolbar moves its container foreground, and ion-fab adjusts only when it is placed beside the system UI. The corresponding Ionic safe-area variable is reset inside those foreground components so descendants do not add the inset again.

\n

ion-menu, ion-modal, and ion-popover are handled as separate surfaces: their internal foreground components do not receive the main-page conversion and retain Ionic's standard safe-area handling. A menu presented beside the system UI is positioned after the corresponding inset; a menu from the opposite side is unchanged. Left and right remain physical coordinates in RTL, while Ionic's side="start" and side="end" values remain logical.

\n

The foldable values are web-layout simulation inputs. They are independent from Ionic's normal iPhone safe-area variables and do not change ordinary iPhone layouts unless the opt-in class is present.

\n

When the app contains ion-tabs, foldable mode moves its iOS tab bar into the physical right-side reserved region and aligns it above the bottom safe area. The Ionic slot value does not select a different foldable position. At rest, the selected tab displays its icon and label while unselected tabs remain icon-only. While the user presses and drags across the rail, every icon-and-label tab reveals its label so the pending destination stays identifiable. The tab bar remains in the web layer and receives pointer input in the simulated system region. Use ion-menu when navigation should become a sidebar; foldable mode does not convert tabs into a menu.

\n

Two-line inset list items

\n

Place an unslotted ion-label immediately alongside an unslotted ion-note to render a two-line item. When using the iOS-style inset-list background, wrap the items in ion-item-group; keep ion-list-header outside the group.

\n
<ion-list inset="true">\n  <ion-list-header>\n    <ion-label>Connections</ion-label>\n  </ion-list-header>\n  <ion-item-group>\n    <ion-item>\n      <ion-label>Network &amp; internet</ion-label>\n      <ion-note>Mobile, Wi-Fi, hotspot</ion-note>\n    </ion-item>\n  </ion-item-group>\n</ion-list>
\n\n
\n
Preview
\n\n \n Connections\n \n \n \n Network & internet\n Mobile, Wi-Fi, hotspot\n \n \n\n
\n\n

Use slot="end" on ion-note when you want the standard trailing-note layout instead.

\n

Inset-list section headers

\n

Add .item-group-header to an ion-item-group to create the centered icon, title, and description used at the top of the component demo pages.

\n

This is an introductory group. Place regular list items in a separate ion-item-group that follows it.

\n
<ion-list inset="true">\n  <ion-item-group class="item-group-header">\n    <ion-item>\n      <ion-label>\n        <ion-icon name="list" style="background: var(--ion-color-primary)"></ion-icon>\n        <h2>Lists</h2>\n        <ion-text>Inset-list examples</ion-text>\n      </ion-label>\n    </ion-item>\n  </ion-item-group>\n  <ion-item-group>\n    <ion-item><ion-label>First item</ion-label></ion-item>\n  </ion-item-group>\n</ion-list>
\n\n
\n
Preview
\n\n \n \n \n \n

Lists

\n Inset-list examples\n
\n
\n
\n \n First item\n \n
\n
\n\n

Full-width segments

\n

Add .segment-style-glass to give a segment the same glass surface and selected indicator treatment as the tab bar. The class preserves the segment's existing dimensions and text colors, supports scrollable segments, and respects Ionic's public --background property.

\n
<ion-segment class="segment-style-glass" value="available">\n  <ion-segment-button value="available">Available</ion-segment-button>\n  <ion-segment-button value="away">Away</ion-segment-button>\n</ion-segment>
\n\n

For colored segments, use Ionic's color property (for example, color="primary" or color="secondary"). Ionic uses the palette's base color for the softly tinted track while keeping the selected surface and labels neutral. A surrounding colored toolbar only supplies colors when the segment has no color of its own. The optional moving glass inherits the selected surface color, and custom Ionic palettes work without additional registration.

\n

Add .segment-expand when segment buttons should divide the available width evenly. The class also changes the Liquid Glass effect sizing when registerSegmentEffect is used.

\n

Segments use a 32px minimum height in content and a 48px minimum height inside ion-toolbar. .segment-expand keeps the compact 32px layout in a toolbar. Compact segments retain Ionic's flat background and indicator colors; only the regular toolbar variant has a glass container and scales its outer container while pressed. Content and expanded segments keep their outer bounds. The optional moving glass lens is independent of the container's background.

\n
<ion-segment class="segment-expand" value="new">\n  <ion-segment-button value="new"><ion-label>New</ion-label></ion-segment-button>\n  <ion-segment-button value="replied"><ion-label>Replied</ion-label></ion-segment-button>\n</ion-segment>
\n\n
\n
Preview
\n\n New\n Replied\n\n
\n\n

Classic search bar in a condense header

\n

The theme gives iOS search bars the iOS 27 appearance by default. Add .searchbar-classic to the search field shown beneath a large title in an ion-header with collapse="condense". It uses the conventional filled iOS appearance and collapses with the large title instead of remaining in the fixed header.

\n

Place it in a toolbar with a color, such as color="light"; the classic background is derived from that color's contrast value.

\n

The example uses Ionic's standard collapsible large-title structure. Scroll the preview to collapse the large title and reveal the fixed header.

\n
<div class="ion-page">\n  <ion-header translucent="true">\n    <ion-toolbar color="light">\n      <ion-title>Search</ion-title>\n    </ion-toolbar>\n  </ion-header>\n  <ion-content color="light" fullscreen="true">\n    <ion-header collapse="condense">\n      <ion-toolbar color="light">\n        <ion-title size="large">Search</ion-title>\n      </ion-toolbar>\n      <ion-toolbar color="light">\n        <ion-searchbar class="searchbar-classic" placeholder="Filter results"></ion-searchbar>\n      </ion-toolbar>\n    </ion-header>\n    <ion-list inset="true">\n      <ion-item-group>\n        <ion-item><ion-label>Recent item 1</ion-label></ion-item>\n        <ion-item><ion-label>Recent item 2</ion-label></ion-item>\n        <ion-item><ion-label>Recent item 3</ion-label></ion-item>\n        <ion-item><ion-label>Recent item 4</ion-label></ion-item>\n        <ion-item><ion-label>Recent item 5</ion-label></ion-item>\n        <ion-item><ion-label>Recent item 6</ion-label></ion-item>\n        <ion-item><ion-label>Recent item 7</ion-label></ion-item>\n        <ion-item><ion-label>Recent item 8</ion-label></ion-item>\n        <ion-item><ion-label>Recent item 9</ion-label></ion-item>\n        <ion-item><ion-label>Recent item 10</ion-label></ion-item>\n      </ion-item-group>\n    </ion-list>\n  </ion-content>\n</div>
\n\n
\n
Preview
\n
\n \n \n Search\n \n \n \n \n \n Search\n \n \n \n \n \n \n \n Recent item 1\n Recent item 2\n Recent item 3\n Recent item 4\n Recent item 5\n Recent item 6\n Recent item 7\n Recent item 8\n Recent item 9\n Recent item 10\n \n \n \n
\n
\n\n

The .ion-page wrapper makes this embedded preview behave like a complete routed page. An application using ion-router-outlet normally receives that page container automatically. The inset list and its items only provide enough content to demonstrate scrolling; they are not required by .searchbar-classic.

\n

Search-bar toolbars

\n

Add .toolbar-searchbar when an ion-toolbar combines a search bar with start or end buttons. The class centers the slotted controls and adjusts the spacing around the search field.

\n
<ion-toolbar class="toolbar-searchbar">\n  <ion-buttons slot="start">\n    <ion-button>Cancel</ion-button>\n  </ion-buttons>\n  <ion-searchbar></ion-searchbar>\n</ion-toolbar>
\n\n
\n
Preview
\n\n \n Cancel\n \n \n\n
\n\n

Opting out

\n

Add .ios-theme-disabled to an individual Ionic component when it must retain Ionic's standard iOS styling.

\n

.ios26-disabled is deprecated but remains supported as an alias with the same behavior. Use .ios-theme-disabled for new code.

\n
<ion-button>iOS 27 theme</ion-button> <ion-button class="ios-theme-disabled">Standard Ionic button</ion-button>
\n\n
\n
Preview
\niOS 27 theme Standard Ionic button\n
\n\n

For the background model behind inset lists, see Using ion-item-group.

\n'; diff --git a/docs/special-markup.md b/docs/special-markup.md index aaff175e..95475dd0 100644 --- a/docs/special-markup.md +++ b/docs/special-markup.md @@ -63,7 +63,7 @@ This keeps routers and component backgrounds full-viewport. `ion-content` moves The foldable values are web-layout simulation inputs. They are independent from Ionic's normal iPhone safe-area variables and do not change ordinary iPhone layouts unless the opt-in class is present. -When the app contains `ion-tabs`, foldable mode moves its iOS tab bar into the physical right-side reserved region and aligns it above the bottom safe area. The Ionic `slot` value does not select a different foldable position. The resting rail emphasizes icons; while the user presses and drags across it, icon-and-label tabs reveal their labels so the pending destination stays identifiable. The tab bar remains in the web layer and receives pointer input in the simulated system region. Use `ion-menu` when navigation should become a sidebar; foldable mode does not convert tabs into a menu. +When the app contains `ion-tabs`, foldable mode moves its iOS tab bar into the physical right-side reserved region and aligns it above the bottom safe area. The Ionic `slot` value does not select a different foldable position. At rest, the selected tab displays its icon and label while unselected tabs remain icon-only. While the user presses and drags across the rail, every icon-and-label tab reveals its label so the pending destination stays identifiable. The tab bar remains in the web layer and receives pointer input in the simulated system region. Use `ion-menu` when navigation should become a sidebar; foldable mode does not convert tabs into a menu. ## Two-line inset list items diff --git a/src/styles/components/ion-tabs.scss b/src/styles/components/ion-tabs.scss index 478a5e82..46479983 100644 --- a/src/styles/components/ion-tabs.scss +++ b/src/styles/components/ion-tabs.scss @@ -222,9 +222,9 @@ ion-tab-bar.ios:not(.ios-theme-disabled, .ios26-disabled) { margin-inline-start: 0; } - // iPhone Duo expands the compact rail labels while the user drags across - // the tab bar. Keep the resting rail icon-first, then reveal every label so - // the destination under the pointer remains identifiable during selection. + // iPhone Duo identifies the selected destination at rest, then expands all + // labels while the user drags across the rail. + > ion-tab-button.tab-selected:not(.ion-cloned-element), &:has(> ion-tab-button:is(.ion-activated, :active)) > ion-tab-button:not(.ion-cloned-element) { &::part(native) { flex-direction: column; From 566ab56b6192e893f62ac91ec697d4b94cf511a5 Mon Sep 17 00:00:00 2001 From: rdlabo Date: Tue, 22 Sep 2026 13:03:38 +0900 Subject: [PATCH 20/50] fix(tabs): match SwiftUI foldable rail metrics --- demo/e2e/adaptive-tab-bar.spec.ts | 4 +-- .../foldable-tab-drag-labels.png | Bin 44626 -> 44052 bytes .../foldable-split-pane-ltr.png | Bin 54892 -> 54467 bytes .../foldable-split-pane-rtl.png | Bin 54999 -> 54588 bytes demo/src/app/docs/docs-content.generated.ts | 2 +- docs/special-markup.md | 2 +- src/styles/components/ion-tabs.scss | 27 ++++++++++-------- 7 files changed, 19 insertions(+), 16 deletions(-) diff --git a/demo/e2e/adaptive-tab-bar.spec.ts b/demo/e2e/adaptive-tab-bar.spec.ts index fb24dcb3..696e7a00 100644 --- a/demo/e2e/adaptive-tab-bar.spec.ts +++ b/demo/e2e/adaptive-tab-bar.spec.ts @@ -15,8 +15,8 @@ test('foldable mode moves tabs into the right rail and reveals labels while drag const buttons = bar.locator('ion-tab-button'); const barBox = (await bar.boundingBox())!; expect(barBox.x).toBeGreaterThan(620); - expect(barBox.width).toBeCloseTo(62, 0); - await expect(buttons.first().locator('ion-label')).toHaveCSS('position', 'static'); + expect(barBox.width).toBeCloseTo(50, 0); + await expect(buttons.first().locator('ion-label')).toHaveCSS('position', 'absolute'); await expect(buttons.nth(1).locator('ion-label')).toHaveCSS('position', 'absolute'); const selectedBox = (await buttons.first().boundingBox())!; diff --git a/demo/e2e/adaptive-tab-bar.spec.ts-snapshots/foldable-tab-drag-labels.png b/demo/e2e/adaptive-tab-bar.spec.ts-snapshots/foldable-tab-drag-labels.png index 07cade958e918beb4e0e7452cd7cf3de9ed4d868..41360459289e592fe7ba4ed77455950814a8062e 100644 GIT binary patch literal 44052 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%0ACDLGlNexYt zc0@X$B2Y?tF+X5eJkEH^c&s4#7BmJmCcW1RqK*c~x!7^0Xf>@Oq=kGna56ty@*VD# z02Q2%oj)+jgFq|GaN!mCY_N=EJ-6f|ObNw2%gN(5&odjuovmJ$cr326yQi=II)3h} z%gbtato+y9*kagsNZ~V4U1ae|#?7X$A;Nx$+)s5QITw98IVu8#Iez)^%fF_!}p<_QMMG|`7XRe-;`?i#%S-Ji@LXCo|^QQniaC! z1+2eIoC2f0%9ukD!8W!u_cnlrlGeTN4kL5;7d#G9GBSq>&LiKkz)@ZSrI

@8vcn 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 M*3#ahn#^GS5BZBtd;kCd diff --git a/demo/e2e/screenshot.spec.ts-snapshots/foldable-split-pane-ltr.png b/demo/e2e/screenshot.spec.ts-snapshots/foldable-split-pane-ltr.png index 829ef1a1bf4f693ee728cd5bf0d633ca0c0b04d9..8d9f6759aa8b274dff715eafec14923c6d199c35 100644 GIT binary patch literal 54467 zcmb@uXIxWJ*C!f4KoLa+MFBxYL_k1#Cs+XK9i#^7MS2ezbrnhtIA)YVxWRRAXgM#z0`z2E`WcM zeYi*p-b#;$Vj+-g5QUe|w7pX{FqD2;mXmF}gE{&-iR_NY zyMHp;>OR_2qStUTFEuW>K*}uh{-$x$J+>Tdn0&bDDEOacN>n&U>`Wo&G0B=^0?3V&?6VqTjGGL)B=UZJ@$5l#l{$MhdYz}7} z9PQK7CVR9@8@!7FCet(J%9hA~PmQLgvM6O(U!YJXWls9~V$m1)1a)Qa+yu0eWQ8Td9u-~8%gisGkl=|O7XsVx~F>#babYIOKguG zt-5b9T&XO)xuXR3JWsc*yu7}lft1uQYfI!dRnJ}&b%wTzU0~E`Y3XcNSIXC~$}}`; z%m5%xrKP$eLiQ)RR6Z)XgP9t};ZT&9Am>fYX-jylPCGzHo{ z5D?%N6dY=i?OzYei6Inv9}{T?t=nUsW(?MlQ&P6Iv3vW*kaR?xUt0ZcR@OuE3l|uu z$-QuTbP0A^_`-$x>gwu+g%z+l4GsPS1DbyR_?xkpaoS*|^Y-}p2mJl8BXmhKFS}QWjK?dG_8cvMw)Z6PNYJNlCyDWKbz7C>-wYdi=JwXqP`cJdBDc z$@nTt4x%%oprg0f%fn;Xt}>^I({l~oWcs(OOVZ`RBQCDOXF(KAP4^kXas(qzh5VKE z`(&j>)hKx={}U!Uafyl7n3y)!*34>Q0k(yR%>KmK*n>6}bX#khqMBO7r%yK1^|GDu zMN?B7+IO}lkvKeVX0pt3zdeS%n|6ID-)%lDXsdR8%c?s`>BeK9%WLFK3}J=o>FBc? z@87?_8JnbJXNQG)adJrMk*NES`d2@{40-#!0~ZK^+Fs_h+($nt_u0>}PETbWMts-T zM5uk^$2L*sP6|@|y$ap?d%%l2s{df=i1I1j`1~h2_zI%}u{G`%*9z%VAtF25&6Eq- z8AD(R-iCuEs)|faEgG)%@vctT>w)_C_zdPkkLE(Q6H1lWM;uTDxPAjX>dTcsEvcx* z`0w)JOuF){tgIo_cSe55hE7zjXJu#m?{^Q}}!^z;%2QjU3tiJz`FkNnj4A7*>;{CNQ0 ziGCrz*_pJE|ErZM}2dmGL$ECa8)jX znNJgl57ytv;Bjd|DLOC#tw^^$^LK!9BhwI9Nwo0O2RS2C>!^Jl#-8{C@?O-M_d z&eJe&FiB5JVz_a`HJiJTGHM>F)G}p$W*WOr!43AGTNfq@!A&VbIe+mn`%V(Ad?@{Yc zs(i>^e=u-a$Ua!{5r@y|n!e25Wes)l|D>t{`4W-p+FODPFd?$Dz0TgHx$*LJp5t4m zG3+yUuV4Rum3Xo~5k2^v*e0N^s)((2*Oz#3nK4ox)?2P z%FT@}t-n0fX_WCV&=>|$Km2%R=*~xrivFf zw?(iZJ2F4c&(9B&?1#ZUH^u_8KO%_!AtyO=b3&wKWR~~1xU^~*!di6#?o%m-fWU;P zV`EW*yfx$vkDZ)YJZ7hA%5^V6;P@H#<;328k=xXI24g9=vT}dV%)lu4`T1jSiNkYRU3Uq6M$BKbJl7t=XcvjR> z#o5S&?1r?922rz_Y>z9F#ur&946m!dCNqMTu!Eku)(O?boc%gpD@e$MdkACraZPFUL)^zNgtk!Sx`Wr0^17=x1!hdk*$MJ&c0 zhg`i|KM>8q!9gSGoWA%4e6WF-KBN=$&g;rGO6()(Kr69dK0VQwqD%T{mKFQxyV>eM z$*>>-+V$GMFUR-pdMU^LHqPuHDl$YGBDYu&XZcCAFO|D?^R>3) z-@PMqN)cQwzESKU?0ay|Xjn{X-zYM_*_=OogpgnE0t9Bn%otxBQ^C43XGR&>jUXfHejm6}tb zV9hV4kjG~}OytV#r%#0sha#ZG6TjwrzX`CM9t`q6DY;U8IH4NfNl8iBn}(0AEI_ol zE2YbZN~?!ZQm^3J*;&4onDV#_45msDH~Qz{l_!XU{x+pzf=*e!rpZ;3n^KTCHG*Ac z=G8VB%0ldyMvN5*C(S^+cjpQ4tC1rdC!~S6QUpM~l%W{#Y!iqPaOa zLnSkflDI)NXqxaQvxlgl;6Vaxr0VUs;;$;NX`l5dd8@qUB7@2_Y5(Aj&qyS)u&@x$ zFhCFU13x3OMk)nAFlsm%jehaT)-ga%E~m+K=iopSoc%z>Dr;Q&;1()#MXF}0;b@|I zl07wCN`trTJE^t{2=Y>LjwCJ3=;q(gRhqL62x-1sC;viwEvuChia}))Ocx{)PPe6w zX7T)eIVzJ*sN*V=hF2}Z@lW(6efC~l7hWq?G+C`#?1bMy9_fNaM zYW$ANK)t?s%2gnxN>X6a+x^WyTVjtPEZC3&2ld>@14%>uLu~yCDMkLgk`|$ZUsH$I zs5;NM?(ofkx>XU5P9NuIJ?<}aVjqq zKy+?_0%giNke41G53;jnlG3|w(A`m``jn_vEE~K3`={zOR!W#{3IciA%EDr(h_U~t ze)$&0x58=Wd+c!i6E-}vATfbVO*v2b_}HgKml)3js};2xn%&kt`&|Q)d&afFZkfx~ zb?X+@g7g=-$h~@8xEEheMtvcMOFZIS%)WI-j$xr78%F3~hj7M(hOYb5NIyVSEcc`x zJB}l^8rYg-mI|7qNm{4H-CGJ^&A)5VHzAOth}qf5KY#ut3E3C0|KaL+wz>N$B7%mB zN>^Pjg;ZPYVMg+HKsLozk)iOkkjq<7&nod>YBK~Dzp|J7fyeg|00p#csiuA%|K-0v z=Hm6(`RTa6{`mMEl6UtNbs9lYGS$-8*9Vz+bW~o7D`!FrYGq)M)StM#x|*Ny^&;fZ z^U2BI0k(8`*}L7{$8{s=xPkRBM*69F&&d&$m`7iQtpneQTygBnh-%%Ok zAO$^8g&o6g&kr?6X32VGt^nlQ_O3g)^iN9av!-U@vbov06qF$&VR^Ztk{~d~3^X;( zOieRFLh62K?^9=_ZO5dh#>B>2#8KXqxUWi5Rw&@|3lBHevoW)hYki0JmG&cIL}m!H zgDss~w?#A?o|?!aJ- zNfZ}yhJ|ehjB*Fr92dhhsQ>fQz~-bSOo3vhzpz9_pz(Xq>B(Weu=v`JlvkM3B!Ahd zheN^>!XHTyA-3aHc9vCFht73zVZ>>-UKc%Q9^uS?a;VP9X|#-x7$t(h4==C%SzeNK zS^t!L0B;blJ=%{5o*I%65|Vuvra)mcRGqI|7)R~ArcHeZ0!c~H#*>gdv+hkxpl}sI zzRz*3Y^Y~YhklAB?Da2@b+oz9^+0dRKuTFUFC#9y951&TMw3`U`Cjlh{)o86RTY(* z>VNk7-~~?2w!aKJ=tj`1Q^n{vK-k$Wf2G4@oOF2sUbKr(fW3Uw?#9S9seg6@YHW%tS;v) zotnD#I9|7VjZk}-@N0f+>Tt3Zi!LVYt>47d;&iPsf*Exim9-ryxy;)`HJy`}p-~8r zppfubX{vAh2l0mXLwVSR!QO74lU+l(uK~x|%LWy8Qd@@#R2#Cn`!-`)w#x3Y2em0u zZndfyPG^;;kVa4CJB?5g5!~M5pNtHdRjSA(`ASH>LHA3$C@1lKc>pgzf95DIc0{29 zs5rkuO!ZnQbUBg$P|d~QBE^_*Q^Q3>90~yv(JvVLi^ah6$e7d8HYdEMj+d`qf`C@z z;-yPEg$R$4#^m67To2>g%E*i`eg-c9a$J7q6-FUdWo1zW;Voz)EipP=32L?GUF|V^ zXvZ;C9waoZRi!sZ9ReZtt-2o{PaGY+1WlS*pgTET5#cU34W0O>{3}EspW_5x_B&xd zCMMHNOFutC)Q`b#Z8t3UJf}5RZL1sG(`P0SNS5AQ8r<7fq)`3C6p@EZKW%?WaP$2Z zO5fYLF5%Sh2pWHxDO8-3M1~^GZ|OMMaYZ`dch)EP6}mAEN5?8bq7s&OQ>xN#6!0id zqg=-)C)s&Ysgyo8(5 z*VKr$DG#F&GBOqxFOuXSkdLocnds=E)6>(VqVBM;@XEXK^74v^h}?Bx8FRDr63ii%h%Lai-4RZ3C{={UZF_kxw^qw)PA+sW9K7c2-u80nO<>O&KB#Vd2hXm&T>SVi_C_w4V0E zeNRu0oYl+klgjAaV7OI0rWujuZ&+m~<R!*z9im1prW?Wmw+5PW-fcDZDF2;Bx2j&J$G*e7jbf4_Xz zyO#wB<_i>%$86Z*q^(D5bd;AMR2!dY3z+m!d+CTsjPKzk#JZrAyu0m$UUn zm)y_(^+MrRhvr{aA7BV%PA4;=PTt;dPS2>cw6(Q@-Mu{?Pe)D7_qibn7*C3pj=!&Z zJG!VZUC}Cd{~sa?!bFw}5i7prrFsYYrcCo%cXldf804C^+^pmc3JMCYytmWS(tDWz z(8OLRX$&w@{^4ih_(CZUX`u1&Pn|l!(BVQo*c#%T!7CLmP_AR(cYkSni&5H+ z+JSifHF6%(Dx`V8d_2#w6J`{?!>Q?XM zSnh>+y0~a;{E!Q~w(mUO8WwQ6=|v8iWdi6--4=l6SVgnr5zu&0K^kqHsQ@DX?f3~mI zlP1NLnU-b(P))#Id#*2TD>JqSfIR5Q3f^NqpmHiE0Dq#E?$WLJ5iwR;#Z40;bHu!05O&2$}pzLORwmt9z1 zK0Wo-S5;7G7o4FG(z%i6ljTfKnzV{&y87tE%FIy^Y2Nb%lyUGef_ zapqysX z>OAq5CbNW7mK2d~+5MG)Y^5CKZ*Q452eQ}KhSxVdd$k~eY^o%rft<4#uNj`I6Z-X0 zVl5y$;*-JL~&(k9lMrSSh&vURA1C@ z({ik;4 zc(n_DW4t_^1!`5}INz$`xjB)06)=}}lU3QrU*0%5r2|F{X*(!)SITWkd3zcIkZoSL zVhloi=u-Q`H5)m(6QR)x0gsM<83WOI@jEBFHf;k*RkhdTL` z$7pPBdKwqteQHzmf}N`01TK>D@$s!So?y`iy2OD1Vhg1<}QoNtT zcqHsEa)zh89@aPM#4D&r`~et>bpOL_AMI(I<2^(#T{JQgN)+m>>6H>$25~N=N4()Q z?YHkxfPmx~0pOQMx>aqi`JLlMFm)wUSXh`2Wx%OJ=;Fa=+HJcTRM289;9a2yebkFo zxTf;;MbsZgXTp&Ej_g6NNGa4(0&mfS~ zdEpGm>`GR9y=7{q5M`I?lR&cFw#sm#oe zPJj`TLV8oV{PK6XO6md1Z~ggG*<YX582KiofUS&Ib$AJxc~F#?-yemd~uK2%IYi81&)|c`sG$o?9k8WgE07N zTw|jQ2$k{kTvT+MnxeDcOs$&tpbrx2fdw?EqP~UoGF|Fewafeu+LGAU5Qrxz`+;_B z4<8P>9_-9DcPAqsS9E=UK^ba1Iyl%lI@-HOoz8+VDvJHPH%%-!FOAF`OAJAPG|Pga z1Ei%~tq@t@S=(MB)4xs&yAB3wA(8d_onZOPAjcaMULrc2|ynlFI@}wMI-O?scdFJP z$>Q(q=;-OWc#&EokhnHOg!WRtdi5$%boVd-< z%>REp6kx8Af-5vOUJ z=3o!Dp8?%MqleqjK1t37O8?VC?}ez<83g()lvg@g*r5Zk@Lj{`+}zP>7i2QMNrlb# zMdP5f05~Ar>?f->0YA&97R&PyB&OFS5bgg(_+omok)N1g;;maaEVVZl zj8S=cmiF%MD^%3spMI8zR)Id`{evuxshOEhS4Bm|oElrn|502(pX$D*JvX`OG+l4I zGmEIZuw854VPDdaf3@uo)Am$N=9$l9y{G1_tR)SHUwkS+iA3NlM7If4#)bP@;dElh!t>!M~6q$Y}#R(YgP%6|wz@u)IB) zqw=k<*b>hOhlvndth>vjqi<}b3$G@5suVlS91wij*&nrXmD0CE!Wcw=WEM@Ln)-!f zeREQy0pr{pSZOaZ?LB|5(_&?A?tV5AlwtSU!h?1|{h8uVRCw#3qF1$rpXQrGA)TPlnFP6?qW}k&$fq{_ym1wq5q{CzZs3f5O9M`c^+*>a} zJr0>B`p&)qtgb{lX_kr4Td{MzAW@3g=0)FP3Z}U`0X16*WR`-{Fi1WDG^jjFz3*Vg zcit{u(ahPub7ajS)GMz3xce{UnV`(r7Hbyl>Ld|MzTNrr8NSZmqjohyGAb>;YBnqZ zRAw{`TSzL=(cLY5%R}4g>0emv!Lq0o6p{K&V*ykGU4kidekT7esDDGDPojG;>RcQYVtsZ)-=+TUr=hP;xVWlH(L!jKEokrT^hxBf) z&%Q1%-pSF`^@p?wZng=Z&SNrCuGi#GHd(n{?LT>|!2}jgMYfnT=p*=cK=6?`r;yO% zhOJr~;OhU&7w~P+V{JqWa(V8NBKc6hmR>{9HAn`0mhN615TCZ7WFEhp?d3+CUY~dX zaF+d8?`KDI^Pr933RVo14@#PiI-kGXc39q%Y3IxXu~)>vuISP4$glj+ZMVKz!>Wxj z#%tH;=$II8-#$3u;(a@DWDj8Krug+txrp485;_KzXNk-Fpapi;Ie?4}??jpV`T1wR z+`{CdzdBA=8RlyPOmEXy8ihn|w}dVa4rs0qpW>|eH5EHneywCC@EAwxM@3!vQp^)& zx;wDFEOk1RIxpWIvgX^|xJm<^uFzK^_l!+W=I$o0amZBK4Ju!TK#Jc(Or7wQ)S65$ z0EX{@dRDw0)(r-17--RWjYO?$0>1)wj{e4trMWp5KwkY~v>mR+=ymF{{eewXxL|y@ z>wVTgJ)0zqZO_l=HuAW-xrKi#KoA21|Nad=7pwyd|Iyv^RZ>)ZrJ|z2)Hs#P0);R1 z?L=kX9K7_fI|(^eW*g+Q)kNkS6BGTA`IP`-KfXxhr=fY8hbb|Qa=T7~O^kz&FJKgg zxEtzu)02}#A#lM1Wi;!K#o@6wdf+h!|u6Vw5>1ZcLq59cNshx<| zle@2*9>Wrj z96R5GvB{EcqbdXa5%^L6xZ-#|l0+vYJGEM4{?VvsZL!`qBgK^HnCq`>CF#=@yjNys zgyP+qO2dc*n6Es=kp4`-{^F01PO|cMqn@MXd!Mw)@iex4Q0(KPCaEQ1&`x!|re29D(qzUn9hcQEFo^ zJ5+HztR7pXXM!00a_7A2)DceH&OWsB*E_5~3To;r*MpK@ReNCR=_w~;`U!M47R1%% z^u7K47cXAm{rr3BMUiKxi}Q|kn*~Hq&+YNM^zsbBt?XfbNLcC;H=YPV$8*MK_z+~gc1A|0 z&4GQe4*EHTSJf%$3G~5J^B6h1ot`rCa&tT2(xh_L z=u?99z`kGIoIE`}UB?D*$0HJwk~nEa9HxH`t~xTi??*uKHe!qMZ(hvL(*{h|RywAN zgT&e3F7y^tCG_CI14&6g0O2?|^5^E>NckQd;BZg&@d3h^;K725!wDa1W&^ckN zFxdPw*K8U8GBy=~_W;W5cz~&?DQLJRD;FKn5QuLEW#cs18LFEHEp`K0<1pV$-I7Vq zg`=A5nXRvT6b0f~NB+&NjsupHTqi79cQQ-CjYEMp=7wszILC0-d&GqcbQcUbNMd{=-zOMvUKYZ=pSmQKSPw+8`~$!?V?!iYRb`Z;b6?*F{pq+~k(G0=A~c zhwXJce@C+n)g+5Jjn}y4zO9noU#bzSnXGb{tn>w27zmhRrlGK);19vW&Mq$fHdC!% zQ%%J>Yeylxr|{jsZ^)kHzMZM^=?i3bNRpot@R>@(AQJdPu5PVQ?oZ%PJtJ6rl?H=_ z!ev>aKHHC;3A(GN$E&PO^_|v=z!2?5K^-f+&>}y-C9+L}5#qmc8j!f-cFlwJQ7!v! z)+z|oFYmuZQQw9_mAD`=p3A9TiUR0G13q@uR~3h=%zM(IT!ZE1 zp<+og^*VX@7;HSchCyt zOA8BdfeM@c=X{vYdFE~5@%F&*rJ(v68PJ?R_8Pdcij8Y495IR{kjBGmipFO}gvGYW z?L?*<3_Lo2^k4ywVx2ic)2m}Kpye1uyFnoFQai!g`$$lp%_Dw5#dn_p} zUfBDuGx1hCKEO7x6veWoNU^_){u@~woDPcWQQ*Ldc=spx>KPh5AQg11n#$t5!I(Dsa7_GT; z^oEGSQ*6v2+a!_JC8(u2&%4EOdK~V+)RqX+>|(g!S@QDXmRpd|>o3Xoo8=UeVY0Y1h9e5*}%3Y66R7c49p2mAbk!NL!WSm~;f;4noX?uM*$Z zw)_=^1xFgQhOP|^lo_{jbuH_+8L|=NXS;uY+Vves5Fn@@;omOzq(T`y1cil#K_1;m z~XR4vkd#-s)^5zyAAJreCY-~PfE;mU?uuY^dLTp z>gPid5yK>6xmy|j?96_+xKKs|1>40(m&8A0WB-oQWFAl%hnE(=)Sz2;(GVRTq{(D3D zrKP2SsSLj@Jr#RP69~lT+jaoa&H;Xb2&iF!aCTvqvEOmWaHjmU-xG1geCp+1;6hO229&YGYZPWo{o{z6DtloR~V0939kFTuJPx0zd zZ6(sO3p-5vt?sco@uugkto-@&VZF|zq}T-M_$PmC>@J$wfX@FzV zu*#9L6FmjJMkJT6{L7b|pThfuN*hPXYLK7ziv&|)h$THs0I$B&#JAkYW^ozcCc7I^*0m^gri@N8%$W} zZYyJ*@;g1qv$CZ9j&^!dC9+Rws4vFq9%f|RYjO8!%t&^mzIs*Kd#5ja#_QG10ORGJ zXsRKPWIJomZ=V&;2$2 z>oi&G(;otRocA=J0HDdj(vl*!H>i<{qk2&l;MEDFnuHOOdyJ4qM_{iQz@9KOj+6+o%$L+u?Z*`m zb)bH@S%0q(Lv3O~(+fGUdJCnN`><>~Q0 z;1ZBHJg{x2DKa4BDyd}l9~~cqgFFVLLsdAg<{4?D4!t3Mp9ZIrstpVmCFoNP&ZXz) z6$7xd4@_Y&;+PvpOHZxu8h$VHD!OvV++%ixZ$2g_CaYSIcLZSIk5$*MYY-D)$Vcq# zYwlYB?DH?q$y*netNvl5J2laShTRsb8k6Vv{?l%#U@`s9wHpjMjT*q13-tD7&?2(R z|8N&~04~ajN(az|I*>yG6=fl%F_&m_kB%u{*=LCxyw&=50z=d+7f-T2c#yq`wki@= zTm*g8lS1N+Sigyg@n0*fg}OXYz)QXNl2!+qL?2GXq4t~w2c~CoRP2v|kJ0(z1<2_g z;jGs15$NcgRMH@IHH~=IbIhN8Mh~j~_>$cwX+;kY5z4pqhS0Y&zW% zX4t=lB7R#`PyuMF6bd9(g%;khb&%N0EOv7Rtj}O!zyezM9(yt+yUi2%PBpbI;BYmh zrP#i29SH4tiOhY4+CtD0Oab`)Mw05R94n4tV@-JRzgIxFB;cmB))B`3U_JPY#=v^w zrg7?Mf(R%iH~z<*$32KPL*}p9;D5*2s6zC)NA})M$~|paAYDM1C;>eNJa8~+@Slya zC5!WWdU~p3qG{<%?qhI;qP7y}EM5s}2!{{RMdn zx-oJRh>Xzvn`qra4J9BQ&yEpnlR&#lcYLTz|ZUwAD;SW*g8&<7Io5g>i2 zvnllRW}}%N(m`ZA9?tBTn22A3{DBm*0<;Qu7Z+J&)rCNYQyIt}k}WJT(7nDSuMW}q z92)v>t5}DZo(v*-3H!Vxg~?w!fzpr++%9hJ-@kv0*^6Hh5a;Iu2cXznSgq|}BDvY> zLMJnPuc2{zS{#r#&IYa*XJt%po>7o!Utwl;l=sc zLKoTm4p80N5K3*xx%1V{ZN2~oX`ETexEDe}zSy#THSh%hX>;M}5cNmEbgQ7CU~6j& zNJV(Vv`xhztA`Ln7~ths-BBpiyLayh1j3i@zu%iopDr!BJahK>?+75x*t>AD61%r| z5POI?;Ut+|1K@|(r2aNNJ-Y|`ALQXB&@%z!;`j;`Ptbi{u26;&N${L+i>F9r#C^p2 zX(5WN($WM_5cT!RJyI+FP$qjTvVKuz&&(cw?@ss170g#CgV(E9rMl>M8!tc=v#_RP zjD+0dlX-Rr2uNc_HDrNEWL+Vb7l9#-gj5~8=$dI|Ka05OV! zqG(d0$EkedRm>w5Ff&1C50vxXzkfB<IT>!BcEPQ~RA3NebS7?GEiU0hzKq@WOX zn5c-|#Ao0C{6JjXK>Pwgw=OPG)Yop@`0?6MHT=HFXhy~p(ehh?tkEyXy}SXd*8xUC zJU0M5zJC2Ww?Rdz8MY+RU<-gN9%CxSkL}EgEV6QP!DbGwrL!D-ma;(S|0KxZ>z7^v z>N<99xTOcogTN|mq7DKR>OX?93^O7D-_j%Qy6_jsXFs*8Gy|?dbYd&;N)rAyHhDT7 z2WI*7dz?2PopR{Q{t^~@?ObL9{F4yTA7#R3D(TXg>`y?PjjbOE0os3$#5SFTQtc1` z%M7%%T6?#c{SW$K05gs08&LF3~Sv>f}Yg70Xsh7FLY= zVN$`4rvSncx1iFd@~q2WNLSV~JlJu5^+H{4L)^EH!$k>UF){u8(&}o_)soV!d__k` zaM*ar9+LsqDTFn(W^tuAPPo)%zLi5~CYntt3--J07dIc@E>NvCAdT-2wpX$6B3=8? zx^+6X?H_}yoP-Y~3$yAD3i`QXK~B_Dgf44nTesr6<}c^_Ckqg zilGfh|3Wt>ku+DYqV{_v0QP=jUG)0b54YtWFr5O#NciEn_5ME5EzxJa2)Q;|!W-tS zm7^@?wFOAunR=i7zfr7!7X~stzF(fj*p{W%Ya29gm=e@UhwHxtSb%FSVe_k%f!!s*}UnCkgLzW ze3raSH9IB9V1H<-^j*?nLNMP8g!5RI0&V{1?9UA=W+nA|9WiRsw*Cn{j{04a z_Q1`KoN`ra3%{G~j9$%2Ug}O}znr`bborxDUR0z9h=n;27GIgACQKhs(fY6SeQye) zR7ya;{0P)AUBw+U+%rDovwKd)D{F7=q>8%yu#E7z#8U8q29TNe>wW>7B%pd!6Q4el z?(xTAav^z1uC7#D2&Yg+dy~(Vzk^RI_}9y}-epeA(`9sct<0kImV1?yl!Vl5F*z75 zH`M^jB9` z7w{}12tIf23Rry|YCApL)G|D2XlOv6Zq>~-hji}bX=JLVi0%U0cz24JmNBpocAnz4 z^%z^THsZtI1L3{>kQ=wzM9C7HgU?n<=t%B(LPJCI&2`cNdGqwyBbB6wbuP1w??#FY zJM)It%kXhrdc}rFRpX2gG;ATmH>Cfrm!Ns1wgC%6O-&u!fAy~TE0*76G?Mo)3{-&y za#tY0bN8j;=;VZR#55TtUy#F}L75TVu5lbB>r?`uEP#oL2QI6$v z8X2~j=m+9!uliR*Xzs3ft5}meD=wZgI}PRaN3nh+3gv4t2-=vY4V1ol;QwlMwU2sE1LzGiSxof!>6JSgD z(LfTiSgz{DcteYK=f~!B8$D_x2p|gg;`u^?Ot!pLx6M<*2(;Gsq#0Dvyti6}i&pi_ zinP44*g#57BiDU&0pdG}9c4kz2%pV`Y;6t~&AYj!RqqCGjkg$6?GGoUV+4GRa6As| z7`~<9huQ%>oyLnxCX!s|R`Ymw6iy zQo}&1;;#iqveT**FxrVUjhYThLGbU(G}SdV?Xh8uB1!4$kDfgr0p&@%Smw}qs@jDm zc?!7D*5055Sqc_t2EM-t0iG`gY6=e#i;f(X92av0(+?fLW{B*v*Mq27Vq6SS7 z=OVV|AE?m!HlV|k%TAvDZmxb6Yo*6=#5{KS-$l)+!@Ko~qZHk|Vb z`1jw$Hr0lbtNA&boq=~GsLLK79Vr8M25=_r?(6_>R%bl7p%oZAIhv24w?j}}yjZ;q zq|Tm{)y2i(8aHc>r0k|?NhBEa8#tRmBM`Qo317}Y)9QBbBcZ;;tkxBIaJ~xspxy(s zg8SLgu7Fk7&f%d+scF-{mQb3z;#rWq_X{u=VEz|;Jhm(b`LepM`io-RjXdrPGo;Rd zu&Ebvm07)GagjbVb&E@H~p17Iyt=*DEq(|q$-9bnUM-Fui#$>OIDrvQZH!%NRH z`~7ejulU{_&2znAo&d7WWfHUgAVW~m${i$_40M$W8NzuVMsX{e=)1c$}u47{tSP_fw`aN z9`o&6f2RFuX9CYH2@z4zhh+iH;C`{{0~p*as{o6yB1gh~5v=t2ROYe?NJeq}`U>Gh0<|jwL)R z0fSOtXp@odHq-Uh6>_5twQ;zwzrPe6W3}J0tBs9Kd*=!kZu_0r^Vf$D7reZ1To@N# z0Rb(78yz?P^5=*M9KXiT1;z8v`(R*j@G`-BW7zIuqZ}BhVJD_!f153UN#A70$ICiZ zs9zm8EAezPFg7r#dOz@;vN1sTCrs-t7FKRm#2f#F=sz0er1x{W-T}AfVYoibg-SC# zS+riPyD>X8UhVJeMci%~rJ%WUU8Cd~a;pIf+e>ZAKuUJz`AJGj0fYX>|55}}RTC0p zolk}o}``cwiiCIg8`-tIsRYEp5stmCmJ z=XcyqMH69WAmfBKFI&u%QQB6Xvh@KJSh$a(sp(GZ41vLWzI!dNf*i$9ta*ng8Uc{@ zU%mi*F}m1%AGn8|2}Vs0F9;LIzB6f~fHmgvTfTDV2zW;TE`Qw2FDsWj?O*q#d}FFBC`L z7)R+il057tR!EDIk_O^|dhvR9zBVe8uWTYmEMEEkG`)7te11UvKQ8`xs(r!X9 z%_{HQLXa9Ng&&JjgTjf!3B=qC_y2?chd`_c^E6m(nd*V`5SPaN+NI2L9HsfDEIppa z^cmYf9vRQ<{%R@WZ~GaZ(+|iW@L+tT2u|U8K`wbWF_tMty=Md&&AhgJtJP!hF#V_q?RL zcm%N3w7!(j&dC9zBnGbFPbxSw4CG7$&tj&01eg>Qmy$B(+}KNfqW&ba|MtzBmT~ro zY)B-&VoNOYu?TR`Ic!g(p8!MDjs5-oB;;F%v>QxJH*ViHTCqT}hS2Elh(Q`o4`yma zPHKn^H*PQ-9_O;0Tl|5OL~*ew@j*yE1vzE9w7+Hm$RVVp?+>?U3S*5=5ARA5kCB*c zdt4~smBnZaN7pmMnNh$Gv&5K7UF}j@S63%Km7(#>ypc9S`XT1tUjC#ww5U|OX=;hz<$-qjY%nIU`|8Gw#9BP#JTFX}v$3}q@jKNEak%J( z*b?6ZdWMMO5q47q7QfoBK~9hLLKmkVFAudR&bMX8m6iL|2bMTBvBvCuZC%K^&!Nxa^_QSeNeWA$zcx%SR#`k8Bx|_9t zx;ef;PG0GVnHU@t0E0dNKmoQd@+wI_2K1 zdqP|qw@!=f|Jl`Lc8hzPEp3MTv_LDwDnFkio|bK7)TvLM!l2U8SNw3{C=2u!8A z(xAaiNJL~Pks(9oS&5KBBAGQ8DYHsuG7p(&O3Dz*5Q?afA(S!WwSH&!`@HL2-@Dcy z@A}rZzHR&3w)=Uu#O1oq^E{4Y-+$A-^3v6eUGl>5in`lLJ=aJpOcRZV%UDmL+NU{g zjUAJ{^SAHbRdV^zEbHU*JI=%W5#=?QYj_PuzO(CJ8EFj=@=s4QVxp!YxousptjRoUuiwDAd-w30j!1gin%~cBvM=_XJpU`R>f-8fUQ(y)Skfc+ zVVPxT<;;&R&pwOAc|^=PR34&?luYAXkIRx8nXpCB%-ItR3)2sGihL|pTQYugpE8r6 zKnnR5cmAAaGN|zW^n21ST4|L2e$78hF0OxBDeP~l8f5InQTEwmB2dvj=|`pM^Tm(qrlEey z8XD5x0;SN<#hnrJYZhZ;xVQe-p19hl>D&d+2G&fcc>Z;7Gs16pqaec)+&<JxzGPrMIJB}iHxvzzRZ8oxU6PzE>Z~9^pAmi-_Cpy`{-Ic^xUvz z4Xu;xX=`Zki7qy(*cpl5_)P|84~4ev&h@?#Pqlk0W^>Zy6jZ^%*(_aA_4f+}T-G)DldC40=Zg~xFz2QT68cxz+St_8F*d81aO(NS0L6rk^DdH6+1U;-6<1YNQQyHE z0ea2&AMsnQZTGprq9LCJa8DS=UjQ^&ScblSjjs;+cL;cJ`5+>5X5NR{x|y3Z!9>6U zg$hWv<_5l$u|!Upu2*es+G&p4_BXL4UWph8eEj(FqeqVd15amq({$f)pB=4l<~bA| z9-bNNj8Fe3Ugi*I2j$ndH%XR|3A&7ZU|?c$b;*3^68*ozagFzqkIBEq#9T=%km2Lw zla-Yf7S6G4dzN%zQiwr$%lr55Tld83Jc4w~(l;>huiA6#h@>~BzWB^(@F%>5ut9m2 z{qMiu$17~)*Q5BQ4pzEN549%YM}EZ3oU*jEn95hH*zwEt8RGZSlDK`3!Sf`=05)VF z@i22q6S*xL__l)ra1r)ebdK<;d;atFc88}B-@}j@mRol9*H`Fm&z?Q2YIb3;A#BP_ zLwZ){z2T-kN2H};^?w%H3-o9Ka4QetDApS5y*OjLEk!pyJaaOS_Y;uVXBG^XE?v6f zAxM>V6A#0az#DBAAuu4+Jy)TwRuk{#xOmoYzt{4wH@LXBxV&dO^l`(3skRU~kI^et zm;t)E=;gXItlVE+zfekY3%|Iy{+!9tq`i1nxDvnkJiRwVySzNzGS-<*;yE|hZ{A`o z={nJqUA1at^HplHd|$S`{Sn*0eHoHSh;!#ew!^v1#Gvr-XMg-3IvS>>&Tjav0P&T5Kc zjv%4u;^AL6m}G`O6=m;`0s=_(w#LniNN#W_{z9uPlv@p?L%@1)VBl@EG$MBj@sNe} zYA-EP$#I(hJ$1fqyB&)~W=@<;CVkjlti&(N+K=_y-^Ixfxcy3Y2U1IK?q*3scD*G7}JDvf6Hc>v^jK>CjfJ2|)sTZF<8J|%9X&uK@TpzIi^oO%0AlF#=d0&)nCsv2+7@`>a{^cb1tncS2(Cu=&;m6}qLHyyIf{ z-fG5~G@Wy%Cb2I3vo8sjI;Z9V0Q+~WG*`i&Me9v^O)y>iHFPcaw~MQ@{ji$luTX#o z&8{vp}|1MB~`2dz+IKDWmDx97NrLAF0XFd^*Og zQ}5)Na9`{eXGWx4Cj=Hu6D`?=Py2?hwifNCItxW$_+^A~F}F2cf2(bIzy;#2;vH2T zr^04-nUr5Wwetaz$N&v~_PN+sX-Y+GF1R0lWlgPFhRd%kU3+e$y9JCp)UT6^V!-g5 z|FWs@GzhGJuz;@TXI=ZeT(Lwt#xDJV?SBM_e;)q+ojXD61A-((y_bJm!<4r;mdy?) zx$Y8G;;?zHWj&b*mT#Ld#E=KUVQFcpim7n-yZ7<8c9erRt321lHl0C&n%lc9 zrCoT7!=O5h>|oX=$ggRV5)^!D@*9}Dcbn@qb%UUn}#rT?27C{Yk!pI~R zz-#cXdL@-a-AcR#ek04QVzHLhT;R-s)FDm|rQ|uZ!hVo^`K%@?hhXV;G8o6QJgLmcuHm0b7*~NoPje({(=AK17)EXe$4!k$0lw(CV2p9I3-B)(hb)qsyTM= zmaF`bo12UCj`>qarRMDG1ZH3@A4;QA9>0I|MvSof8vMj)C8jno)PCht6E#nTT#QJ} z#K^?Nvo^yje~~?Vj&88?_QYL$Qdd`2yP@ZLqTBm;YLr398l zO9+ZuZA5Wb{rvs4FUS`Pd;(!Sm!}-U^HD;mF~Un3d)C&nx36E13;-E&3t{FHgH2+Db@> zAO7nRBi#l*+?&|*fkG?y=||}LO?DHGT8d|*cdWCaPm_Q!j8FdJ?=RskME^~C+I^-k zKD(nXk1H!v^z6hogWh*^E6)PFy;E}pI zsC#V|m7b2WlW<_=X;St;~<#zLAlN$!&kpz#bJiIoD$nJ#8hAx=}ZJ z2gksh+S=NtCS7li4aLPgs3a9ey>A@#zJKI*?FaIc-dkSwg#M!RM4*{F4b(2}>~WQl zI=u;uG5?vg|5oJ)w}#gst?U&ju{0T!4+aNioh1mr8s0pzEdBqdfh1P4@ofW|m*$oh zeSFA!k<>)T1D)khu0JGTUWKsrK4J%G8Q5kfI#d(h^K^6~=j@WK=&|66H!8f4s=j{X z#<8B%HV0!LsVhH<*@#5`)14E&mo8c3Yh{5QM^YXx!Q0tu4{NbW8G-vqDFffD#2lFkx%R8X~ z$z7HH5s$h4IC=cc?5|&$+GTTMohIoWES{#>W_gOGVvBu_H4x3?iM1{GNQz+WKIvtP zdloGtr&h=CT-#8SWYh%w6urIDCk<`h4F0~VudlzrY0_7aPPUWCllu2CzK)VMc1O=> z$+BoSN~d{QTU%S1DJ8~2oQJ2_d!?utH*dZ?)y~UX_Hd`v z(8x&GlP6BAFK;C#4nTO@*aHLRYR>4Jn>Vkz*%^`w+}5@46P5Rgi)ZQ#kl3SZ5VKWY zZqX*;+{?Kgj!p|xRwLPg$ErYg9qv91;XemAx0ua4xl)nD2@NHsV#n2E=g&X!^t*qb z{vMTDq-Yq2?9LB)Ma3a;NDf{@)%tbhiyI0rcu7e1Y;xlsg3woB zf`MM4!NPVf{2JW%jU%ns1)Ii4e?sy5=+QT-RjQ)Tk}4|JyuYdp=f+VOJvn46pin3f z+X-!OpIEM$^yAqMv>DA&A$mT%QJ0-^s|?CH_U~64b-7#`IJbn_b`9;Cx>r_x-uy0w zqCZtz1H-T0INAqC1Izvmi!2{9&DoimXK_1#PCmem|HSLP~Ycy&Cxisfct2=}J~JCDZw zHQojVDpS6q)2e;f1-J$)-`fm##eH+>bP0byJUsmS=9+qXNmE}u9u_8R=wpozun5=r zswY>pim(cqgzBd@CN1i3kfgi5cl1Nhfa8c$d8zNoZ0oc*tMEH_?$C?cbZMI5foq3s z_Ta%LW4q58sX7#q-9fR2ZRbRGGc3DT9DOosB?YJH$H$Tkf+poQX3rG^98*`Vc5_I) zYH1Ndyy?{K8D=FW-;>U#rdpo-zUomw%-MEaH}9O*yk@m2+|6NK-<1UjTXe;pd)Qd?542eeW@#6>yQzBKTA6f7dhrf zFMA*JJa*L}h2EyOr#*{^V=T5^wHLhP!doupVjAWn_rg&{C3jgVJ}~#Q#q;ZVl+Bwq zHEFlo#E}LmHMKBBui45Zi`s@TO857hYy6p|DTe8%MlaJf>VhbP62F`b?!k^P#wfcz(3= z;g7bmBKNs+tP{6)P20uo0}nYZAcyHZfcl3MyYG2PZqhu>N&X-d#(R^hBDXV8 zi2maz`VPY0)*TN-^V+)l$YCV<&&j`i1QhwwV!2iC-n8z8TON3dXpqGu1ZD3t~0vZ zfbFaL()&^xf`{tPy(t`zj+$%%{6))jM5r9&W@qY9h@^dQ#GBF~0bpXngu&z-KJEi0 zBj@6#gG7HCZq3LV9{vZ}#E!qYDFmT%PhRnl1a`0Odt5}GwT#=WY9}}P)?B)j`gGa{ z8m>DrKC6b${UN0^$oZ(ePz^l=b;+GGh7ImIEuuzW(FuvRBz9L_^wgdC%eL|tk zS5fN6NQmP-Bv7TLA4f84YHDBweiwU`ruKzWx3qna1Xk*FC<1lg^!4=}VMFe9*Jm)X zs5N`DOr>h)Hmqz5eLeg>fgO=n4pl39bJ|pzW@>EWAFC*_&eX%Riy)fqvLd5>dZtaoSbfI z;F>jSlrCKvdb~HXq`{3X}v%_-~wxW)zj01_vRoPbPXta<0}$iT`ICTziF3* zW9;A@`_=wyK&G{Ku0mmkq7n!2-mqWTqEx!lp}pk%6gayO}j7NcyT(~Y_XSr6p-R9)NBCn>;3B; zvH>?TNzVkjH2|~2u_#2-dO?VN0atr!Y{P~PqbS~0g(@sdCh)eCY{GlTddrFiw`oFq z985b~Hd$$Wt^z7o6#l{E2m;bNhX^YV07jp%yOZE3HCCgKyW9n6q$16&`wc=!b10inB`A(} zJ+EnMx`>!_H8soA)xK1@iI%q^pRSi9#btY-rTaF@l2{kAKi%rN<$b_NCvLL}80=m` zOie%38D_TG14>+%lZ?bPg7&WBl8rh#J3Bi$IYDsjLs`|L@|mjVb}0XKdrS7v!0tq6 z8OMHK&nzJC$}CsE-s5f`vHDmMpD5|jTUxN}q+)iGu>%_K*z#JG&6Y@x_FkB36dDv4 zszHqJ)Pqg51HDNPBKQoicc*7pre*P1Rs0B6OdzG*Srv0e-5r16cdYpVZ4W`9x76u6JZsVP3);$>E$g>UH|oIW&Q6ui)x0XDPL zZtXqwBj)IHA7KTb^{qz{p(yzN7?tLM^R(|qom-hSC+Ovvb4C>E6junp6T2<|6J5ZxB62XGew!$1sm=ftvJ4CbF=*8X1vODn1&KOctdsEewWxCDqE|F;1z5p zuCA^^&hs3z&b!0f=UdfQ*#G+LG$Y^aSf{>2lUv8bz9I*6m+HnwRq76$5S+vouWYT=7j=`zWv;Gw)n2Qq zXU`U3c1kqsX^h2X9GQ&Vh@;$b@vzpGCwDp`yS4_bb-meD1--p2qOY`{v?SStT(Rh0 z)h*((8pGn?k|{?{k|RBoK#ZLIejp+6*ph==aPUI#i%l|>lA6O2 z&sN>G=q}1`T`)C_?pqt%bFwe~&P+)Oy4Rqf+0b16CRVApbp|*HnXBGlQiNzAQXwdF zpB$WggQ$zZ$|WhYLf{fIXUn?+wJS+R7H&v)tqz^*FQ)`gIsg9oB|^YJCPnpQu>a0O zWv!(+0eV25;Vc2Q>pW2R_Xr&_d-k7+QSFjWa!zcC8))1lP;b4^e}f5VGp};0=7Ecq z)W*H+E`1ydO6tF{{cIeMb|3Pp)m{F^Z?$kEsH!zIbjv~jj&Q}7bLdk#Myqa}b*=q6ngUT- zW{io^9=(-Q8+`5@&>vgXLmJOL=YvfvJq-&5ZWXjQx%OOo1D-;FJ#m2Fy|L6o;TC}R z(oW6w(Oz?g-O>xrIGG~Ms2dH_^|KE#r6+S2Aky*4_+W?Ae4=mo&3y`m77T-{zr%fK zIVmp;f@?WU>l{u}X;Puz&OUnd8nfFL0z?&Ac-N%<+`Na-fPm^3Op7pAa9q_k8Ph+_T)7*q9+->|btyZGr$xaTQf7xwjR+CJD+_h4bC%{sa3#q>c;a1 zd{8mlR!c~oZ*gJ&J|rxREW0Y6ktbbw)-9O*;Iq2$9W)SVp=pxVaSncjuYUCx8ekPv zTk-)n4(2cUQx#6yP#Yt1S4`PF0vvf0BK>nl1nU`yL8 zs$~e1%!RM7?j@C%$ANF^L*^lBKkQ1J2bEsz4;Z|qULcf~QKnx9JvVT*AOy!BK6OZ< z>m|uU32!C6FU%AM@t)lql~im$WORc_x@dn5qaZXmY3g2~^l*SdXd{b&W^yCnM!1hk zoo%7gPx=wAWxV$$b4;a4<-b0B5_I{>v)N`}h*;0~hdU!CyK-{gZIGcg_;UgNB^!}s zI#0!?9s4lrWTR@y;5Y5t(}k+va4W#?8)X&_3*hLY+XWUb^wtGoOn*o#daJK2Ra9Oe zdWzpFA~3KYDJ_*Rg7#l&d21v3Ax&3R#j_C&Wjzl3#9Ub*!|(}WZ6tNZclDLLof0{9 zAz=r5)w`IZ>wSdN;Nmfpv5kB4l!_;$y*(dQ6M$D9=J4p~CS|!KutBFUTQLwSFIIG& z*%(Yi!}{?YE@27#ERBmNnF!GMYI*IHcFzYZ4iB~o%$(G=t1WL6yZC9y1|;Z(oVER+ zW=kjK+e6t?jebRiYk2==zkj-tE$zgW_U1fPiFXk9zap4dV zdbruQ!I$K+lqwra;y0qCrv7GMw0-*o;?yU8A@HKoQjityc3cjo%U z*FRq}IegfCE#b@GFMLXdY?1hdgk;4dDoqKw0|Ug1Zpt9IgZ_6Q%$}}WL+~7DWO%w_ zZcl!rpp>!3b|#|wB;$te?w)~)WwHV^^{(`MKj!vYijd=#;NjV^h3_s&atO0c7q@OC zVjl@E4>rp(4?H8}bYnZWC$)68X^%l21T5pB^Ezv*Q!B<$*AZ#-3#~10-wxsfJ05d$ zTYHB{^GV11Pfad;NRQ+>g>Qx_D?7eQlW+L(b|7LL$;uxUt`r4!uMNU zW21h(@8Vg}A>N#g;IqyjfSVf!70f&Mu!+N{ zH4-N1eEHNCq4)||R&wxtMJxm<#a7dj*HSp(bw`c7ijSZ*weP4rn{%S!o2Di)?l;wL zM+@a}3I1_9uOXo9+WDu?SEnWpRF9HBx+|(#jqMI;flhu+)DtBov}^TV{=G#`_v_a@ zg7ejDGP?q!0Kg_}qqofPfC_HN*+9~9H6RxnRU5Yft+<&uaw6eU{oD4-R*too zcC6JDQxeK4Dta)=PCO0YK`rr@!P=^$gzk+yceZOxQ)Ao#9W}_!)2Te<>r}Ue9P}ZG zwF8d3>DI1guBKx4#iTCufW@P%#82_VJautLkGcWtkPw}{Bn%*k)ta=@$`WTx*2)d8N2;0C!1%bCg0ZvA(vQ5d ziBeUB_c&tbMFt_-bP!yA5?6;EowS?`3~W#$@=q1dlVt7v9cztrz2_Z1(tB1P+8py2i^p86ve%t_L^TkHg%6=7j`qM*Ac2G0K#F&FR4;M1G zj}D8BT*6^_W%%7535lz4Rr;*VM!4x+xbQ<7c>z`4D^UIgu*!1`0Ql5kM)+iSg{K*od&?^0VpTCvTEEB`KU8`brVmo|A)@DnHZFClsJe5N2fD1`HSpge|as9lM{NDwEQ2k ziJgaAb~J;$%3L_)zZP_wg~+R-NkI9ryG>hLn~s5v!(V!?>ntepz6y^b4!VM=a23<@ z^S~nnOp0@W$pB3G4uf)gCLV1s^fi#XbmRDt0{sK533?I%EDlEqW`52PvnvXUSMp5dERD6L{>jGBNO*U*RofKjTga-TiVn_(4hmRt{PtkW z5j;z+fw z5mi2K+vbQ))EM9MYfPc*axmz%Ox` zQVm@NOR@VP{}?*9#h#v@Y+n#vqSH`k^S1GA;%9ymx0iV8bcE`3SI!x&71bp#JSjk5 zHvQ?+_}ic;+{VV1rUw9c9EMjE7|o+?$q&)rf&ASeb>(FEk*hyrFIWSf84763ab~SE zanae}jFt)Iepr8;9_3|Yqa6x+1=q>6Pd}gxbPMMQM32Hp^jr3v6!-lQI;M3xdZ#uQ zxyF-s^nGg$6mlua&pn~22+_EL(c<*ZBES~l+1P? z@5`P*%u%o|i8p*)xSnX1N6eQP4^QA|pZ(Rpw)*mA!<-M@J0@bCgN7!N&JBjep^&=} zp|zozfMK}`k;Sb&s}Ll;jgciY1VqN5URptg`37$mC@F7``PDCLN8}9P27mal1wY8{ zHt;tS(?j$K$Y)ewxr$1>!06)pqFutL<;t#%<3`M)EbC0u9YeWF+KAuRHsq@jj+@Yr zNEfxv^<@}B^-}idQaelb=2|s!sXvA6iyt112s3x(kFy>0yP4;pnG(nP#0P+PNF|{1 z>Mx6XYedpf;{$iSF|!@_yymoUUFjxzEMd!VQWY!YwHC~4x^{9iv{=GeY!-cRvS|0N zLfQx&(5rja(QZSO)k%t}+8lG55fnhipj;pV z!Zy9dPD!;<@6TkzL)Jy8CLE2{__ih#k+SvwlVb8}GZT~5U69@2b$wNi5;^NHXPPgT zBw|A)x~QnCpQvOlsg?*TSR(+gg)rT)ZZOzIq2(5*3$$t0Ccc&dpwM8 zx8poBVqRj8UC>!EwvRz*EU_adbPA$!twAt}bU=k`V<>%lUmxKMk~8Z#vU_7=@FrRy zi6SB*9GjFjVREJBY1K8pQ+Y144&JOHgk~;;0mxofiI4uinT3UA%a%m-dU4*tQ6QLv z#^!BJ4Gn%Uh)z$3Fs@l!coZblk`85PelHEdxsHhmm*R@GC>s(ZJiWY-0KLWk(5jPg zb~+c87%kLKPc(L1Xa1XLsEO{VTG&~SH(PylU~o`*L@3N%N$IX+nn4(7?F&bs$Asq7 z!q@%7UzikxKfWS?@khkO#6(4P7LsT5&Hbb2&Goc~BgHwhTc7Vf(2rz;U@D1yb$;sz zU0P_jh}c$Wun>Zgy1L)ai?^raRD@p?*O`*Pr{{qB1L{iBkduDDj`;+^b8sn!0-C0O z9fW&Hk{H(!d}UF@bi|k|JW_Y^Z;nYGFUF|}j0_5bz$1v^)2&x|u2@$ds)h@UlT#sJ?}i3{v_4Sb1iiOG>dVaZboy^K zZ$2gIok~thT3W$B!mdxn)5X&7_(H#9VlB4n9}o<0eDUJN`PrDst-4Bba@Do|teBjd z6l;QsckacT@M2we@>e2bY6jPJRFyKZ1t^O6{)oKpgk1rbZR;qnxYk8}M#U>9=h9j= zl+(blCG8EEVCH7UL9=SC6v=-L2m@r_m zWGJ1#6s2xmx!idrnMjS)KPy+FAs)Qq4DFkDEaDz~FV>qU46<9sogyB{Gwvdh2pqy& zJPc8=0TgB?9EFh+q@~4wXxjA~r7zp-qT-By*;g-MJ}4JF2(S2gkuIwdyANAUGR#QK)`^3|)quhGzfEJ@ZeoH88P%u8q< z5ajX;U|$WR%=`Nvro}Q#_aanM`8masB!<5E?cCN$blp_=K=r`z}`d6qgaKvJHe@lum3%-WJrT!I= zWN#FPqeh1hAJ#bX>t+V0Gz};ai~uQ<^a9n8y9^D~iThjkY`@Tz^93xV%4cZ9ek0@o zL|PsSUC>USKyvN>o@Ma->l3@IAT@?vM}A{E%g_ikv1Hf*hECv|-x&312Jrm+NZW~X z^)loM8YKZ9U_oH&p5?ry!djw1p;8_C*bL*9M%QfYzgXlLlw@f+fCL57!r-&ZddAhG zYN6EE>FGKS)drc%Lb0v;2pyINpXw(=%~AYR{lHXV3YZ`3NEe4G5HM*<9%fVvKISQy zLW&I6&bRP59C7TI1C=@S_A#0=TKcWKX>c9FI1>^Qkiphbz@-r_;8Lj5im;sXMn)fD zNg)B&$I)S7E;GZY+!6rkG|)o922Sn@G7C1%Wuk87)`(t4cY)Xo24zMF?ZsMxPj#=t zAL5F411S44s>sn9{DbnYK-$cr&+cR3ZYzK=Vo+y%^CCDKt9&HH0?-On6f!(HcVguc z`4rW^30jM&5msB#=d~lENP)=D*TmQ~5;G(<`PuEXt3J(#_$XYb zcY@M+6R@2-tkikqG8oY3&!3M@+i~nd28U_s#zgU0n)e-tMuxi8fgxH{TnM#g&_B!{0omGf|@5t+P84u+KTo;r@O(Ld%XJ4{D=y*f$pCE zqGEBcd>6Wz@Q5G3a9Ls`E**>N$S^#(o)&%sr_qb29B2~c}VDe2V3N`{;o1eda zox0$*_9q-DgZ}E3PnqF9(01Q1u{LD}sS804zZPTG?Dok&P96Joz|m>4VqT?0D5|sd z3MZZLY@p*m-2|@{p7XPKlvdO|)F+6(T^E*(nKRg&{D+}D|xTXa}TLPvJ2cR91Ls!tY` z9!n0jE#tlfe_*t^txOfxH!@?yZFd4zntY#d$Nh-SyVw^(Rm<_ALHTXQg@YS;8=zlb zSy@pvuq#%6Kk{$n3C?BxY%^)7sYd7|+@=zZCRq8895IQ1$sOYQMD;fH{+3D(u1|&B<+*lAJJ~FY1fpl?R zxHEG^=_XR@LcIb{H5!uPE#r~0kliz0JWcQ&OYbm}N$oV60LDP>MzV6);UBWgW-WVs zXXovkR&!nB^!z@NG`U82a{oNBUz&uo{(CF+Y=>#$Ww%#%{~oGQM6y6)trwmcS*R9p zM6i4Oc+P5e^@XRFCKf)NRAqQaXkd)&bD%WjG=$J`-8 zALr-U6g=(HGFn4yUl7kT+h5tb%A^zOyd;R(ADE3~(~%Yyx2^|&zDDMO5c@T$ncGEegh^KWK9X0O@cvt~&1I8*Ae)WS zB;J={RKO=9LQW|Mm=aXDoIa<`^dBQ{l0s)UIdJ%;ys5u7^$VSxpE*tB$Jt)ebP$HIo#7=K?1YAjLQ?*O%|ynSXty2 z>Rgo|eV-9Gdd?pE?xGxyVApK`#q5Azsd4`-estD1ZO5%s2pLrT_G0a+q~kiVBnlHR=ZwTNYd2=GWlfQ6as?TE?DnFgXMRD13dc2pMFrU@?s=w_D)n{84WYH4&A&U_W-ngSo z#lnNvDr@UTbBpv!3>w`WHv}@I`m`)82yzPHHTxw**#bh_Ib|2$#o<(bLhXCeV}IIa zYTu?)gEV9pDI$kDI6d92@@$Ol?j{O6Tuaem%*h1G^nTgIqte{mZ(gKhkU9IFkqpgA z!<(&;^5PFAuH!sfB#0I^PPBikJ|H)@ANobOZ;l$iqj6L)G1&-0L(jm#0Krc;T&WY2 zlhL&C^Xw!0USb32J;=}26U8&L(1~wg>l?(4Eo*=cS)hPXKunT{@1Aju?h0ANFxHy3Xv< zbd1wJ!ep(&A+ovGx)^!T_v=Ya@!@;cEWG{|O7 zhSm1WK{C)ks`9t7w+W3VpVmbwojP(ZDsctn7%qETYb$xqe46Y^k&nIU8`m7{_3klG z3h`3ALw**C7C%m^_|y~Iwrx8!zNT0!UvqNlF-(~uAvI^K_#P0NMpK=`>%zo4a3fQ; zeEIT)_QoC=na|A{w3>Z_d-lAr5rs~IH$@nu6*UJ<;V+~jx^CsaNKQ(^d{2#p_bAhO z3(qia9o=>UfXYTj#w)I_`llJz_~xee_*2=e()rb1?x(7bPUKw0nFnc8`}u;xI%0@! zr6GOhut~Aw(a)+=x2gH}5TS-vRv?zh&Nh)H8^w^PXZace)~EsledHiLR)Fxsy`mCi zT+gpIba{hkDD-mV2i$Q-XCN*vu9eyG*H;Dh&5b2iO*9H)OP~dz1#{cTwtDdzp{YK~ zUbxeONW#Z-JgF7cnQ}^=Z3Mo(zi@58e2G)fR=VMZ!Q!IJcVIApd?$y2TJDy_$7wuz zxPs{&NFueivQnlGJj2`5q#QeA>0&!8zLg%CZMkC23(t9}IsSjsF9x2@u%68+*;zI6tFvEau=|)I(QkKRsJXvfgt)j=L z22r@MENMCnrXDg-H8%HeBBLeuLDeYxVFmJYZ_=SKUMEf)x6k84Ir3zYidrK1 zDEYs{({t za*Vg6h=>zJMreZ&OPkI?)o2Ag3PUUf)YNjZ&cDLHzXOVW6gG_+*eshO#ern?KxBpY zkOh4mQo)Z?D{mzA0Q*AlDH+6Qeth!LT%_Wl0gLmtBaG$zAGVJX;%!(%OVP13{Dinr z93L7^&tp{maC*SDB60O6#+AgDs-Qw9RgffaVuR<_l3-_NcR2%KlPVVN6-qW8V0avA zq>2aqTcD*cLh84RpHHa{C$HO$Gc~vC(?vg-7d!4ja4XwyQb}d=7`iuwdqg1m~Md~i?Aoy+h?Ks%S(*s(nPeAoh`S%Pmzg8EA9kYy#h=&CFTT{9gWoqxy5IXbF# zs3N&XKc6lZr5ZMnu>5|Dz1rY*$nZUjqSW^`17a}P;1RrUw9;s&sfjfF-k-+6+{NsB zx*8kDPeiFA{5B_Zv~o^seh2`#0&?h{h>6YW!%vP)o1)RC^=~P z^)l}I`=dlQ#(zoTr|~V2h6!DXG|IdJF(%~95oWhCG6dEVr!T&L^FVc$orOi^Q&kkA z`t&F?#)$C#6W|;=F0)u!xl5(wsjQC-2gmXA^TDi0FcfzYr{hi9O~=jj&}o8+h+UJK zYKwyayRc@)p8flc|44qjp7!D(thNQJ_3$$b7TbRc@BZJ~8Sp~?r9Gt>2vF@m2aFCY z&Y=w#?qNS`_@)U{#mJ@qq3b=cqKS%mvwwZtQ@?li`-0@q6TN170whtx0qE2(@GPF{ETbf}1(9o{-=|w_s;sv1x_) zV~SNfuAra>1{7Tq;G|KA&l4>k`1^;9KzfFKAxikn^)0VRiVB$rTfRcI^}$Bepk^UxB8<$>yB8F~d>XM|>9F8NQX!_5+xYCQLj`&)gijl$ zxjmKuPKWdiwWku#yNW8EN3h!hrd zV1@R*d`)vAN3g>H8dK>NC@7Y6g+LbDo&FtAX>IWAKu%CvTzr40l%9JGDc=8NU#51> zW%%70+$D5|VP|a9B62-I9p$P$2GSv`(km1&Bcgi!ngH)$S?SSkC$MXYL*bfx5^#P5 zsS}rPR16wN2pm4_1_X{o@4i6DR{`t^sX7Rj)jJthF{pMYYvxRnv7FQ0_7xDt0I7m2 zf|-FBUzn2aDRpT?cc)By_wc3MO9{8JI05r_9LN6Laoqq!025M#$(FnX-zCa~RbqC2 z2FT2-N1_n3qc*sBG-3|cYfQmRj53ql@Gn-_O8d;2Ga&nLNZe*(&tg=i4-EHMPtt$( zxU1jZJfx$eWAz#f?m)Sgxq53x7OsJmj;a*%s>&Y&y0RIbEN)@;eo<1cD*PXDiikT8 zYpx~IsKwigQeKCRwh#Sgrb*#~F2M3IAEy)S_HH^VS6t-w51V`bs#TvIr(vfpsGj zQ|E}Y7U%ar3B~lZ^0iKMu~p%aCb)zq7m=T z5i_1E#V1vM=d`k30@zwl15SAvF(Qdl$EXOp@W{wAAIecL`z##_Dv`@cbk%czu0-Mh z(8EwkfuwTxXpQ%^iH4@n9D0i153-}#KzkkNWL~&?d=SwWfkT&p4jtwKl%O$A6{wr| zD&nP4@7*=GVMR%+VGDSMN`b^97xv>B5*pFvDIBRlVV?WNm{aHo7+7E1Jq#R@^8 zwurqEGkwv(YQsFr4j6CO7B;UyDvD5Upxg?I4-o}X}c(<>J!t1E~k3YI>V zv3Q20(($qoqR1lXLZ%lt30xG>f*e^u)Wan%S)_hq>SX^5!0H%7S!U@|9-?78{`t!E+iairLut%;$bq& zj7A$v2BL#Q#>QFq3Ox+(V$-bxfdw%B4T_cu_ZT*DBu)v=WtO>43cmP;O)NvFlRmYR$`Iwo63^|NBrzLMK{| z-Slzz{Oqh|gX+glG}ARNU#jFeq6LdkjvE2J9YJjbZ@DR_n3(PZEo=|9_L?7ikud0I z`d-V->@#+1a-hHq8ngB6dNS8vF*i2erK)}p!zRX$wPzU0Kfj%ye_?HsJSoncBU#_? z$ALJwllTSk?^8nluM`@Pjgi0eD@2dXuILz{i!;3mJRpaY#O@x-gLO}OLz)i%KaXUH zl{EMlZ70_O=Lt9+tF>27pkdnS3E9+S`Sb&=D^e%lCZIEJj1Y>@N0oRs+2Sl_71e71 zNuie7i;nI*<=}ybuV1}Fj?ytRX2Lf>%(kblrbb?p>cNh~DzrJ=e_#;4YZ&+4_AJcO z7k>MM6A5+y9LQcc8{^=U!weDRqKLL}5s{JnZQ@Vrsv-Y1 z_ZSzmU5!{f&{3|UuHFp)+M>64hL>P{5ea01K^YLyZTz1W z0=nl(G;$UchWu@Mm?O0}2#To6y3g3aQ|eX^(;b>kFn7qmNlv{-Prp@|q(0_*EU6LJ<<+|y5sg0_{BTzi__u0f$+;@>qMqce_$P&rLMMB#(c#Y-`2hFRe z65Yk8cf$^ys`q$Am4S;EXe|!Ei(%XdVph+42k@5Tu)esA&HXg9~|sR z)#g^-4RfgpCQi6@6l+C&+<{)H<2bfNffJlesIYjMFXPbYR*!1}h%5u%eka4ab;2!x zBo49#;3w|`RZ3cr<>%)Y7TztA8%@1^A4*a#^dn~vyCbpf?%j3MHbBUq*KqpZzaKij z<>LkPq%*=i1OZiUQ!m_wGUEDa6g(#-m@eY6>_?@ux%IQpXgjY<*JlSaLh4$w0~hJ;G^kbMs+U_?pYHbu0dBSsl`8EqZ5HGNjbb?dHz z%;pdVk~NF-4$K~$0n137W7>5D$Msum&Minuqat)38Le1bTdRKZLDm3ybeW6#p8rGO zmYVy`BF}vp?LSVednbcNfUuDmJQ_#X6WfqBhQ}T~;ah0&Ozm*Ip}HzvnfpX8mu;A= zj$hLa7mvW>u&}|2iAsxFKQx(8RVglR#;(3Ea=bG;hMGvp89w_4lh`(HOd9WNHqp|~ z3mp~YmDZ=ybffliwlezM*(uK}bmK)JLXucm^qfDC^>c(=MVZeY_X@KI(xVHqe22LJ zt{B)K!alAC@rxd4&+wq2Q+ekYYS~&_bD2Y-xAtx7K8Wq_>1L#D4qqfU<^NJA_ir2Q zG5p;BtDn3}VlX{eVpx?ffA89r^$&J&gb`Bv&|QB}VM6`ppWpI-t_QrNO}=247B-j{ zu@J_(xlM&|YnyDexfvPx0eA2DKdABP&E4J53>-Ey+Xbc-f)1^5J5frs@4idbHlkbU z6%7Rr9{iMlH`&4iI0stlCy6O74Jz{(vot^dVT3w6|ItmV0K^RO=2~h7BKkh^F|YFO z#+n-A^bWp5I3)2WqsB(`oMj^In%{J^AA~j9$7Z#9{#$Y19gcPX{(VvDHd0xoskrPF zWhNSAlZ@;XiLA_wTuNGQvXy-ok)4q21{sx*nUX?gG7{qQyguCD-|sn&-|;-h^WWo- z@AtUxySRMD`#jIrI=>I7`BpW%bG+|OC)sIQD;){YUzB5|P!#J)_4R6>Kl@7>zd|gpmd7G}f|FxEt_G$xr_*dn_nGF0|Y|3`G*{(2V zoTg!9xJrAKOHg^!v15m4ERN|OOXH?pb>qhC!Gx&I3^L#}&e6BA|@BsV~j6@3_Ss=t3o z^EU7Q4;Jug1Kmpu-o&tqS$YGf#IcVb(A5Hn)J!@!4<0T;F$Je{j zL6nysq0+wYaq;n^!^3?;L%?y!G`a(-+I)P`Cy~2k))b_~Lm~;5p z&Q1jVBIs~~oaa~u11p^)Qd{Dmbzwm1HxObwpX;GS3UK6PqT{4Cfxvt`4mE#fys3&x zY2L&@Fr`pduJNAtnfKY*Oa_K4-yK7=DnA7cjgT}k6bh~Z5)nCPp`xXC@}y1L?A_Wk zaF;(|aHF4&!_IW#{&Cia-j+N6=56#)m0hdu>-aL-)8eWzU(ZV15C(bcsZI(|Vt8h*jOdyiOvrT3kVgE9;am4aP!RXNVTPm9e}rGC?=GGk+J6!_0A zpDt)*{pe?!n`1#y4xtlTrfzx6TX$Zsp6>P7!S#$A(-OO1zeYo%6-_UV;1DLrmfC^H zz}9;RyghVF(98SbNrFBC;_5wXmN71G1!@m{7nD$bIowzu#f;|=q%(l+$#dC_(z0g8*J9TEkojIN z-2QD^Tg{2%)! zz{0OlMVtl&DY+Nv!|uv^IRSizPqYh@B`gP+tog|M=}2bj4}dGrSXTHHG3=YoW5}bT zO6dpfDKU^wdgDSB(lBz3|Fp#{sb|ouzJOl2h*{OPVb)Ci#*F)R#ezBBs0h2*^-pN> z!;;g34aO_VXEL(^S(aB+Bqk;X=e_|6tE&1JGjlOdT!#~ThG7n@Ih`kcd{mIu`^Os_&_>-V)omMzh^wncHOTHX{%9h@d%#?|IrI6rDMF`zCR@g!+s2o5SQYjURfS zrd}$@y+slDy;W5ji8DNW;i30-2cF#{N<(|vYrva+6VeR}ev_5x0-x8^G{1bQaNs~& z#0{5w4Ep|8jwWFTQnTOXzG`2KD=!(#{3;Jl{$46Oy3JP8{@y^YBzw+AnHa;un4w<8 zU`a{}Nq3}nnEozPBUIwpuGM@OhPyt{h!XeI9sQ&lCyOp0sv?(IyqRCNx=jCr`w#CW znR`t0%o9D)an5?%sf)`yzI=ONA@r^M#bvjhJE__BxarWZ&M|{ zGiiI7yMR%8*&^wS9&3QcJo6Hj)kWgl)UP8oKMn?a9Z~L7~^q)bbrA z8j(GIMPkDf_TGoDsMiS$>`g>0V!cX2Lc-rFLcBa}F0A7Cwz{{Gy>ski!_~E?o$oi^ zV)}l;F+{^-wQR_tJ>AAizaNJXXg~p;FEM?78iUKSiG8W+ z4jwW!-qq~^W|1#@qy!X3EIP(ZTFCX9QPC@(JV1|)xx|!5dfA?QwXroI?#=vB>-*DT zj#QP%IA1UIr`<;NG&`cw(k1U@$4Ba41ak{;!g(F@$eGaGf4n|t{M5X$%<&g9Z)wkF z_u(8$>Y}@La`bP-r;Kc;cD9*bS!wL@#g3<0d>)^sDm-G{+j9Fer|^}^8*YcW#m-u* z8}Ax6kXrfN0iTxqn}6kQINay|?49z%KYke&@2YFN-Wgr%pA{ypGy$Z6y}hY>BdNBj zRUR9%ock*Ld)5*#iT)nE?tmg%*gN~)nK|+%3yIA)j|z7iMbo1VMrWzVT$A+ULabYc zc&|o-(ti$W(!#Nep_vd~5`5I|`hp!6?q4cv`965pjC4COa zmq&OF?fV_u>dK|2^4v=NK2gJSdIn>;T z9j56%&)BplEM4AGeA2I~iL@N?n~MIW{zK_e$;z?;{>1s`rtjXpgD#g`=vR2yaKgu! zuO+d`MwTNZOMgwKcgChXvn`2&AD@(`uIZT8m%vBG1!RyQP4xHcPnjXWDf4mOrzR(#CE25;vkV45t%ie$8#e(@MCcu8bExRZE+0yJh*Xv*qZJK<<*e^#0S`p zj}u1o2LVG7yICCQu|)09Co9dBKi+x$+8Ek@82lRWg*?vo)?xPuRkP*RO7+!m*cowQ zPvCQO7}z(f#e4EmnT(vA`V`kXB1V4f@6`uh;qo41@pKwJR&jQ{pv_fblm6b(B~?91 zd?~Br)0No41LGKeNZo@AuBEWV)$olY5H$nnrUgC1%pPq0O z`+hik<|Zi1rd@R)xUeO1UZ{hQhlgqRp+#gOpnBd@)Jc@{nYp|8q@TsRbJNO|aSEv2 z6Efpd!A1jKrJkmNb@ktpuz~32O_zEah<47Ny%V-3YCF-iz5;v<2_e>NZ{4-)5Hd;5 zY_#%5%nK3y1HJ?T1h!9v;F`!rDKG*Sk7x-ii{$utd32{}73tQl#U>^jpbSO|!$5(0 zF`pm=V%*Wwa~7CVmO&QmC$q?iW>2J9fM$U3w>gx43zfI&QOoi+Z{YGb^*JoL1)z`1Tu}i_{Rc)<({B`D?rSL-4GZ29{imK?_ zV!7GmhY?_eNQN?mw;(>s@huv0;JpLqq4Z7wHr`;cC zR>a1(H7SLk@Pp+3!I)g4_Gf>jbm^^~13722ct}R(R4o2{aXk9i|c&gK|OcH<&u1KZ}brAS?9#BbK!pIL_gSJ@I)zyW$eXA0b0??2ec>E;$_zcvUHKz3}nmF_GLrD^;Aj2x#!eABRM)=-mX~77q0~0JIt$pjkslAVKP^5m#V)M0j5Bhx?R0 zX>{Nx%HRJk61SPW3m2+2)LYcdKF+~pqV$-R#My}&lDqo#Zu&Cv^a-`Q-YWMVcj z*#M){+s4nIKbu@OW+8cxL!R`w7NRdHsp4x7uwu!6%eZRenfTj3$O6|;2K4EWf|Tm3 z7bNZ+ksJn83c1(kozVs##It5+xt{{v-cf3T{mW$xK#+bIB-WO92ee&C0Zjo9_Ax+Ez$lESeh?YM2^5~~qOa6{!85_=NB>(AxS=D+$H zY)xrA??WU{`4*jTKBDp!0Po;WOCllUU820rNxU^=B}JDn0na9})PZmlh=5fqwr^9v zKMRK^5dwe4%k2q9h`X^^NwD5Kx{rby1r3g!^8vz&S_$`tW9Co#Gr)E4;hkX=D;LLR zXV5h3NCwwAmKu?sySth4tPi>pPR)3!aS$~3WG;Ti-6tgXx2QNjMkgjLUx>nO$>Oc? zhDcF?WC&1rq2otSh>S9S#(c#vd=M#ft{HeRwd3{=!;H)Cc|zC4<>&Wgim35xpv`ZD z!22Hra){HFSTYTjG3J!^Ss%P$Hg7>nf-tihwgst0oL>*Mws-9ZMT2n$X=0Z!tVIZF zV)-wPQd^4hGF{-|TI$iG@tc-nw^yFWe2*ewea+(Q1UB5zmm%y2?6%Q}1;IER`^?g- zaaXj@9|swcUT<)zV*&|Xhc_8q{SOvEByp+l-4pm*h(S$V*Wot~^vbCQA(oQ(-CX(S zo9}}oweZ{_VSO`|6}O|c{Wq3?NY(EH<+RIpY@h5Po(ytNthV~s$ETmuK2jvspLPwL zR6TKoMv2{Jrt{)0D$df{PKxZ=ZMq~+BWCn=WHQ+sh}2r=HVfQmFkW%T`fJ+14-61X zOL%QU`unXxXjWKI+O$Ak4R+lor3h;1G}SdUFfix-yXcjfl`5;CCY|M^Bzie|a8An7dGa8t;4=86mR&#;zL&kUGu1 z-_fqcGUo;>jue#;4E0Tu-_o-a*WDB_LVpk-cx|;AG!>L%)IEIoIk8H_g+8oY@Xu=J z=cak+3a5Jw%!u%bW<6)sZnGBXG8bR!V>jqwPluagI@>_4~jyf#Lo$MrO(b| z)vlpAEm}-e^vu;OvXl6^V>vs{(b)gz78iSRa0wCzc3Ha`4QW6a{PXi9qV`@|L}zkZ zHi_^!qW50;5K8Q;t=a#VfBa7u^&xtck%8gR+?POT+XP6}A=ty@(f2|*$dx$YBjRzw zR4p$}2z5ZxX9a=*sH_1gV0&NF$@I`&3cSmjypcy_UG)$LvTofv<>SYt5rs`da=L~F z>i&IZ_052-rEsJU)m6L8_65`FdISXpp{5W&>C4xzK-6+OMo+G^Q@ZQI4RGpEF<&J4A4x zAYwHd;VK8We_<3yQCwV{AR{_|c%cI6Hn_UDz=eJo-5xpU5*`wEQuVvS9o1bm$|EG= zXZR9r78(f0=KD49?YPS&mWSND8TQv92qCz*ls-44RQ^4q;nE8s3vg%@gEw&pMjHYV z)1cF5yz+%|>*66~|KW@m=2i;N<}V0g~fy zuJSgPGXEu`Mvh@rl=kCp%Y6Y16R-si4-dnUUuw7pkzmts z^8PLwX;i-RKEH2ZG951%psvLK0C|(s(>X?YxmOd3mii}-`@X?JPi&O(xD2WJ+eS1N z;T?z-AkeXa!9f+}o%;s|)n}TlQ&um@C8*9oUgEvnCg+|}jJ6R~`;9j&c|f~F6yM>V z;cQM9AuNNLKP_kh^KBPdh&4hQ{rmU4(Oe5+{QP)(dq8^yYpK}Yf=>+so_I0aqTNIT z{u~@@sn^7zi(g-%&Mx-XM*nl`Y{dH4oP3EkHg^z(D{K06aFy0xClPNApvj2k`je;q? zZ(sB4*RQ)lo@PfUB>^#J-(hyN>xjzr!(At#-hPSwhv4ZrV#2~wL;wxr>O2ImYcqFv z7+bOFB~95_w|JF8ywR}D4C9pEKAk1wb0FgJ%1}Oou+cHti-WIKofCq&1q85wA5NnU zOHR(q=4&JUF;K>NrUbIDaAo~LsXA~XWxFklmwbHQVO`AiNRYh90h_~}z#wMgv4egI zLH81nzrKI3YqK72cnZ$~K1UTT=}Re8!RMPPc+C(VH?)1(deN9ZMH@g6B) z>%_z^r^#ILRncEk38Yin>T6M(h^99oL7g*C(Q~W`RZrjoPIG)Y z=-ehjMYfFopJ#o({qaQYEy%$!KbATcu$K7m`HVU`O*k#G;+dLO{zB%al_oHSVbA~d zAFa@(;vIGOjEk;X1c8UI|Hr@iKfkZ8EablSAQLn9<`-wd6$$qkvO@@IwH5w%Y_AOgF&<)}#EW||i>D4(*!g&x< zgv`z&ionIa-0Gz?fJdlS;iS+dxm@0MWB={ja{S78u{#UxhBhoVp4)?xV<3QwAHXn( z#}0>*p|tj?Q+L6C(FTlu`#&@@gxnZP=;_JH`R|I$#$yZ~-X8(CR99Cc{s^?4w)e3 zXJA=_kdo;>J1-kh&dZmM`9ES!6fvkoKS$lgka`Cj=#ZYJON$5S&%?AdyLf^V)bjVI zf)FOtMXQ!lmZ=36v}U)=aOtpFR8&zhQ@ohS?j}dY9$>jVJJP11!IV2qwwf@Q;XoY8Cw^@GQ#+6MaO|egPgv@Y*ra5gG{!zJ?t5muJqNC4Ba`A|ONqBWnE+ zN5quiWeXAikggvt}1;=0%> z`!>Ox0d#`|{|9|FwCGx{chNV3awl?4UGD(vQTu}-*_bB7{eQHfth}0G@7<6E-c3%$ zQ+;XVQF`IzIr==ZOw3%{r%&de8%BXKa2?KMy0$$;g_AM%x!w4#0K_}nAP*HIAmJPt za749&m5{u<#4sBiWLarxX5$l6Yp0%)6GvMMPn^gB4(g0%1lY zNA5N{k;w3H*ZNb3a3^s_HGBkxq{f7iowxpFf~*_QLq+6rB_}64*aLoZ*oNFprqZkn zs@mEyVdl)DjS>2F=PPE+D(~NS1R78={k`e9a_hCVb^pNvlwrU>`KOjgc^-=R!eh#H z(!zmDQ*KlQKH2rQpah6LCxS@^vcmkZZ@b_eYOBc~Q)v2;uGSty2(<#Ab6u=TPqzg- zj{NC80#|5tIqQ?Jo_qTOz?>TMCa!Pny2FH7fHdVo=rfj6noWfxH#Tf0lHxcwAOs`abJZAEeo3FF8v%%I)u{~{A z0|eJ~P5C24Va4!}YJR+qwht`Ubw9MhQJs2b_c&HMPAxoNzxyuhuAD3rTCNH~AM4>K zANHp%L+LD$_jgDLE?HhFougAL?tDDsLP1%1rE$h7ox-&#L!8c7xT&UXfh0OYuZPfz z%(YVkbysP1hgF~HTwe}(_UylaMpt3bQM$TeSP9HwW)Dy0o7mttiSobEloAOoO^D4H zwOMOoepXPLlN;fA&Yv-b0H&k7k8BSQ(M?_#jxRmutF?#i$XTje5_yc4D9=4?v`9`z2&7jmi8^9x8@`M zIg`3}GZt7uX^NCUKj4i-6fr(_|H`2C;r=qiKF;&xY9pqU7jB-OPH4i=7C2i>Ly;0^ z`z-t~>h9&a*Z2p~=JaFVyI;w4%T#EmM|NO8RSuQ{h}Z}(;<$C4%L6!n;bp&(!He+5 z_O=V*{&DigQd7-Hd*4DoRMeElAZFk4gQt>XIC|#o;=dnTehkz{nnX&4mWD=TL=Aw@ zqNl)QAS5)!Ex`ax*l`%LSm8>*_##PpSrD8skm+Tz8x45%l{J|^uV&%tvy51ynyWX} z!I<)*`98(_*YDrl3u4lKjU>S}^qV@cBm!A(8s${T?n5~xYyFzNLG=)gKEO$01v0@` zV9kTK7`@Kr%a@7c=yBQKN4-$eAk9H{&{<#;d@Q*|?=vV4ODvw=@yx-zA_iwD6`Twz znWEQ^1i?tKG}v-_5lQ7$SVsGI17ZQd4>;9492Ka2`SL7~kCijsaN!{K`;Yg#N= z{zfm)M<%O%!zV0)e7WUd(E5M{=NV`5t=40T`wP_!Zc?#?*Q)Y?roUzX_oJWwB3hy~ zw+<5set6oe8J1$=#l{h1l8+3NPKyek4bUj#|5&stk=Hj;wPmF4(kyxgZ2ln@2PY)# zfJ^w6C33)9fsG?-0L5e+XJs_^e_s+LJQe~3x}z|AS1Qy3ko^9zJG?a;>d8DxvG&yn z6nXH8>?Z;zVZ5Ym=#1`yKt=SS_z8NcEQ}49$ZgoF&^EhT&yypYFOOfpao+-F7#!V3 zhk|(aVC}*eDEFWr61fp=j@)v>Th?ZIS&h&7IOkmK#Bqr$n9oq2(;1Y=uKzVU55K0u z%`8~XI)>^RZMB*6ZMb4x0oPe2iAA0wt(?QpE~@G@orpG9KbK4E@@>w$^i(;FwLF$eIRZ&yF;+&o6bnW2L ztLtt0@?~2ChlB)ELlO`X47@4XTUc4AvD$?R11dl)08HVxbE9+ybQW-(d4jYa{ZNno zg*vs|M4@sA9%%469-6=}rw~ZSd;_qRmq^j0O(CUREwN)IaZa4?E_`%sk;rL>TN4m~#0htTGkJm#^fS2UzI>x9abo-~hhzWMq^N9fozM=Ey&m(9oKHgOO-SX>? z7*2rC^g@6G#88v>H)BUy6zvE;{M03=K{PD=ezc)G%;TV~2V> zIzX2c7hu(0B&?@i$S_!0;}P)-!}{lviw``rqO%DSF#9&O@%rlcl14OZL_+GSD!-gq zrwjbU0-TRA%u1!jdffF&c=x3pI=>7L-;0gqD}&_C7UN?>l6xdyRfeGaQKw2g6(!G3 zNnZ@f5}K|6UIMjR`j`L&eB$q$B4Sv2iS!RV(cNcvV2WQX1Ax1J*aVTbyrrio|YlRjcPg0|K> z-%@1;Z+aKnUSNrDLCfN`1m-trjzJ+y1l)B`M~6`tEAZ!hd17?#{PaZK6iyM;@`4h=-T=2Ywqc3cx?-=jR9abIHj;($`iXZe14!vJJYAX$xrRh*dY% zRsdpABFiFA4xcC`CqBbMSbSCQ<)G_3hNofwvRRjxwfmC0D$63Od%|+wpG6KGG!QJ`_(Nu6eqRbD( z5=)bW!HMOZni1PT)Ep6D2UG&-TgVPzQH>RT#Lo6otC}zsLX>Q6 zgYS<6h6Sw+;qjgA((js^Cow(2Bxp*6o36Wpl{DYcGKzXSSEF}@OF@7U&?U?Sk+mqZ zRb)PiZPV|Pbs)bsYX8Er@=4iP78*0kgM*)tLw57?SXD4JfiK#C)fnR9y75EPFx-pz z1m^v{1SNo}AYD+pixV7981tfP0Hz1Ys-3{o)VUL&Q$R%*A#U6{BFkt`Ygd7$q@VvT||?2$4&wP*hO4qcMWQJbR|Fwt#TmqYKP1$chh#!t=xEua4R zQ^s%3g>x6lZ*~k4WJMb?L6bm?y>=ZbLl`+PAG8GI|4fxU!?&?O8VKDlnBoZ%k^ry} zCPzfB)mxhYghdA3BpNa8yW&=uZEzghsFG4O@IM*AJmd*b&{rsyK`Aad`DuK7o1&h? zh*;nf%gpbgW|U*93>aGBr@;4N6oCOK8ewzoO2z_wuc0s)=<9oweQZ_smKYoBWnxlV zRu*3n5!^U%MLbbknnGQK`~}Zt{YNyKQ14ujq_x{XK(N?GnwGta=S97H{(O(5q=xwo z$Ry)q!99NX6~49_3Vh=`SQv+o$1yoMsimfNQkrJ?dUCQy)3OBj%7G~ic~8>ayVerM zUc2+(va@BRrdn5g9tjTLkK&JqA%7M*~l*wvrfQUKDe0u+&dHLP`iQOpYl7373Bv-DAp5zWe~mrnEu#{*RPuljTS9$t(GEA`X2I-*G2lM zfv6~^z`mYAjnCIBnP$urno;OXWTOA!_QG0V7gVD;vO z*c~pvaU&hEE5dg**Ku;nsysNcm%6yv*m`|L)XlZ>jq+803Z?Az(z%{BpxqD~W`>3m zIBk4XR8(ACDcJ2-ua4Pp19`1>y^(GRuj%jR!B01e68v-D&JOuxF1IL@DqX>)Ci9BO9je zxL%+-b0|l!K%9`Kp??d|S}d>oBMLZ?%MQ5Vgp|SHMEa;`3TUiLPLBj&`{SC+kpeZ!kP!k8u293njW=dhxNN| zl$H6S_OxlKW!54E)6}~?l%|>&LRsuLCa+gjQws@EIP$Lw>JpB#_qA2KeTMeXw~AQ^ z`zsG8L&X7d0lz0Ps^YpRLQ~@1N(Apcbs8TZ-??iS6((pz0M|9ZrbrYAq9PQt z-H*x<;&lvQjo%#+lSVe$P(OJ*bcb<{$pN)o3!h=~c8nke}ein}T+Ce{=&!J#zpV1P6gmymE|XG)Ja|4x5cxo;0{HzJQinF1Pb z3qtpS%sptH!#cvu7yFO0Fu6&p#iVYWYBbOGojTkv|KY3ud@0=dHdc_suypmJ1;b|w z2@b~G^Bal+gw^R!c`>FGw73S;Wd!Q258IIf(}M581qS66D%A<7#QaiNbp@CXP>W*4 z246Kefz`*i)s7_2hZb2Cmz(|F(;Gx`$QQzpNX|A%rhHhpZZ7Syd%aAzBS8J zZ!c6$PE~0ZaMi06&UP#~u?I9@d4==^4vw9dRb2y0Sow}_JD{JRPJ~e}FZYQxK0<|{ dBi{2hq+1K)GUf#*28n{GrmTG|_sHq1{|kf1i+un9 literal 54892 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%0D-+GHDG{&Uk{HZLQXjDUHqVX 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 QN4vvm2q2z?uft0Rix=P6#F?lHb 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 diff --git a/demo/src/app/docs/docs-content.generated.ts b/demo/src/app/docs/docs-content.generated.ts index a13b689c..a6c6ac19 100644 --- a/demo/src/app/docs/docs-content.generated.ts +++ b/demo/src/app/docs/docs-content.generated.ts @@ -1,3 +1,3 @@ // Generated from docs/special-markup.md. Do not edit directly. export const docsContentHtml = - '

Special markup and classes

\n

Most Ionic markup works without changes. The combinations below are explicit opt-ins provided by the theme.

\n

Primary submit buttons

\n

Solid submit buttons use the Ionic color's contrast value for their foreground. Their directional edge treatment follows the iOS 27 prominent-button appearance and does not require an additional brightness color.

\n
<ion-button type="submit" color="primary">Submit</ion-button>\n<ion-button class="button-submit" fill="solid" color="primary">Continue</ion-button>
\n\n
\n
Preview
\nSubmit\nContinue\n
\n\n

Use .button-submit when the button needs the same treatment but cannot use type="submit".

\n

Preferred overlay actions

\n

For iOS alerts and action sheets, set role: 'preferred' on a button to give it a filled --ion-color-primary background and --ion-color-primary-contrast text and icons. While pressed, the background uses --ion-color-primary-shade. This is a theme convention using Ionic's custom button roles; it does not automatically select or invoke the action. Dismissal reports the role as preferred.

\n
buttons: [\n  { text: \'Cancel\', role: \'cancel\' },\n  { text: \'Continue\', role: \'preferred\' },\n];
\n\n

Buttons with no role or default keep the normal text color. cancel retains Ionic's cancellation behavior, selected remains a selection state, and destructive uses --ios-theme-destructive-color. An existing confirm role is not treated as preferred. Use preferred for the recommended action, not simply any action that confirms a choice.

\n

Floating iPad sheets

\n

Set expandToScroll: false on a sheet modal to use floating lower corners and a 20px bottom gap on iPad. Ionic then sizes the visible page at each breakpoint, so the theme can style it with CSS alone. Content scrolls within the current breakpoint; dragging the handle still resizes the sheet. With the default expandToScroll: true, the sheet keeps Ionic's bottom-attached layout and scroll-to-expand behavior.

\n

Tab bar position

\n

Add one of tab-bar-position-start, tab-bar-position-center, or tab-bar-position-end to an iOS ion-tab-bar to position the whole bar within its safe area. These classes work with both slot="top" and slot="bottom" and preserve the bar's width and press animation. Start and end follow the text direction (reversed in RTL). Without a class, the existing placement is unchanged.

\n
<ion-tab-bar slot="bottom" class="tab-bar-position-center">\n  <ion-tab-button tab="home">Home</ion-tab-button>\n  <ion-tab-button tab="settings">Settings</ion-tab-button>\n</ion-tab-bar>
\n\n

These classes do not reposition a separate ion-fab; leave room for it when choosing the bar's position.

\n

Foldable layouts

\n

To simulate the iPhone Duo layout on the web, add .ios-theme-enable-foldable to the active ion-app. Use body only when the application has no ion-app root:

\n
<ion-app class="ios-theme-enable-foldable">...</ion-app>
\n\n

The class reserves 80px on the physical right by default, matching the system navigation region measured in the iPhone Duo Simulator. The physical left defaults to 0px. Override --ios-theme-foldable-safe-area-left or --ios-theme-foldable-safe-area-right when simulating a different foldable layout.

\n

This keeps routers and component backgrounds full-viewport. ion-content moves its scroll foreground, ion-toolbar moves its container foreground, and ion-fab adjusts only when it is placed beside the system UI. The corresponding Ionic safe-area variable is reset inside those foreground components so descendants do not add the inset again.

\n

ion-menu, ion-modal, and ion-popover are handled as separate surfaces: their internal foreground components do not receive the main-page conversion and retain Ionic's standard safe-area handling. A menu presented beside the system UI is positioned after the corresponding inset; a menu from the opposite side is unchanged. Left and right remain physical coordinates in RTL, while Ionic's side="start" and side="end" values remain logical.

\n

The foldable values are web-layout simulation inputs. They are independent from Ionic's normal iPhone safe-area variables and do not change ordinary iPhone layouts unless the opt-in class is present.

\n

When the app contains ion-tabs, foldable mode moves its iOS tab bar into the physical right-side reserved region and aligns it above the bottom safe area. The Ionic slot value does not select a different foldable position. At rest, the selected tab displays its icon and label while unselected tabs remain icon-only. While the user presses and drags across the rail, every icon-and-label tab reveals its label so the pending destination stays identifiable. The tab bar remains in the web layer and receives pointer input in the simulated system region. Use ion-menu when navigation should become a sidebar; foldable mode does not convert tabs into a menu.

\n

Two-line inset list items

\n

Place an unslotted ion-label immediately alongside an unslotted ion-note to render a two-line item. When using the iOS-style inset-list background, wrap the items in ion-item-group; keep ion-list-header outside the group.

\n
<ion-list inset="true">\n  <ion-list-header>\n    <ion-label>Connections</ion-label>\n  </ion-list-header>\n  <ion-item-group>\n    <ion-item>\n      <ion-label>Network &amp; internet</ion-label>\n      <ion-note>Mobile, Wi-Fi, hotspot</ion-note>\n    </ion-item>\n  </ion-item-group>\n</ion-list>
\n\n
\n
Preview
\n\n \n Connections\n \n \n \n Network & internet\n Mobile, Wi-Fi, hotspot\n \n \n\n
\n\n

Use slot="end" on ion-note when you want the standard trailing-note layout instead.

\n

Inset-list section headers

\n

Add .item-group-header to an ion-item-group to create the centered icon, title, and description used at the top of the component demo pages.

\n

This is an introductory group. Place regular list items in a separate ion-item-group that follows it.

\n
<ion-list inset="true">\n  <ion-item-group class="item-group-header">\n    <ion-item>\n      <ion-label>\n        <ion-icon name="list" style="background: var(--ion-color-primary)"></ion-icon>\n        <h2>Lists</h2>\n        <ion-text>Inset-list examples</ion-text>\n      </ion-label>\n    </ion-item>\n  </ion-item-group>\n  <ion-item-group>\n    <ion-item><ion-label>First item</ion-label></ion-item>\n  </ion-item-group>\n</ion-list>
\n\n
\n
Preview
\n\n \n \n \n \n

Lists

\n Inset-list examples\n
\n
\n
\n \n First item\n \n
\n
\n\n

Full-width segments

\n

Add .segment-style-glass to give a segment the same glass surface and selected indicator treatment as the tab bar. The class preserves the segment's existing dimensions and text colors, supports scrollable segments, and respects Ionic's public --background property.

\n
<ion-segment class="segment-style-glass" value="available">\n  <ion-segment-button value="available">Available</ion-segment-button>\n  <ion-segment-button value="away">Away</ion-segment-button>\n</ion-segment>
\n\n

For colored segments, use Ionic's color property (for example, color="primary" or color="secondary"). Ionic uses the palette's base color for the softly tinted track while keeping the selected surface and labels neutral. A surrounding colored toolbar only supplies colors when the segment has no color of its own. The optional moving glass inherits the selected surface color, and custom Ionic palettes work without additional registration.

\n

Add .segment-expand when segment buttons should divide the available width evenly. The class also changes the Liquid Glass effect sizing when registerSegmentEffect is used.

\n

Segments use a 32px minimum height in content and a 48px minimum height inside ion-toolbar. .segment-expand keeps the compact 32px layout in a toolbar. Compact segments retain Ionic's flat background and indicator colors; only the regular toolbar variant has a glass container and scales its outer container while pressed. Content and expanded segments keep their outer bounds. The optional moving glass lens is independent of the container's background.

\n
<ion-segment class="segment-expand" value="new">\n  <ion-segment-button value="new"><ion-label>New</ion-label></ion-segment-button>\n  <ion-segment-button value="replied"><ion-label>Replied</ion-label></ion-segment-button>\n</ion-segment>
\n\n
\n
Preview
\n\n New\n Replied\n\n
\n\n

Classic search bar in a condense header

\n

The theme gives iOS search bars the iOS 27 appearance by default. Add .searchbar-classic to the search field shown beneath a large title in an ion-header with collapse="condense". It uses the conventional filled iOS appearance and collapses with the large title instead of remaining in the fixed header.

\n

Place it in a toolbar with a color, such as color="light"; the classic background is derived from that color's contrast value.

\n

The example uses Ionic's standard collapsible large-title structure. Scroll the preview to collapse the large title and reveal the fixed header.

\n
<div class="ion-page">\n  <ion-header translucent="true">\n    <ion-toolbar color="light">\n      <ion-title>Search</ion-title>\n    </ion-toolbar>\n  </ion-header>\n  <ion-content color="light" fullscreen="true">\n    <ion-header collapse="condense">\n      <ion-toolbar color="light">\n        <ion-title size="large">Search</ion-title>\n      </ion-toolbar>\n      <ion-toolbar color="light">\n        <ion-searchbar class="searchbar-classic" placeholder="Filter results"></ion-searchbar>\n      </ion-toolbar>\n    </ion-header>\n    <ion-list inset="true">\n      <ion-item-group>\n        <ion-item><ion-label>Recent item 1</ion-label></ion-item>\n        <ion-item><ion-label>Recent item 2</ion-label></ion-item>\n        <ion-item><ion-label>Recent item 3</ion-label></ion-item>\n        <ion-item><ion-label>Recent item 4</ion-label></ion-item>\n        <ion-item><ion-label>Recent item 5</ion-label></ion-item>\n        <ion-item><ion-label>Recent item 6</ion-label></ion-item>\n        <ion-item><ion-label>Recent item 7</ion-label></ion-item>\n        <ion-item><ion-label>Recent item 8</ion-label></ion-item>\n        <ion-item><ion-label>Recent item 9</ion-label></ion-item>\n        <ion-item><ion-label>Recent item 10</ion-label></ion-item>\n      </ion-item-group>\n    </ion-list>\n  </ion-content>\n</div>
\n\n
\n
Preview
\n
\n \n \n Search\n \n \n \n \n \n Search\n \n \n \n \n \n \n \n Recent item 1\n Recent item 2\n Recent item 3\n Recent item 4\n Recent item 5\n Recent item 6\n Recent item 7\n Recent item 8\n Recent item 9\n Recent item 10\n \n \n \n
\n
\n\n

The .ion-page wrapper makes this embedded preview behave like a complete routed page. An application using ion-router-outlet normally receives that page container automatically. The inset list and its items only provide enough content to demonstrate scrolling; they are not required by .searchbar-classic.

\n

Search-bar toolbars

\n

Add .toolbar-searchbar when an ion-toolbar combines a search bar with start or end buttons. The class centers the slotted controls and adjusts the spacing around the search field.

\n
<ion-toolbar class="toolbar-searchbar">\n  <ion-buttons slot="start">\n    <ion-button>Cancel</ion-button>\n  </ion-buttons>\n  <ion-searchbar></ion-searchbar>\n</ion-toolbar>
\n\n
\n
Preview
\n\n \n Cancel\n \n \n\n
\n\n

Opting out

\n

Add .ios-theme-disabled to an individual Ionic component when it must retain Ionic's standard iOS styling.

\n

.ios26-disabled is deprecated but remains supported as an alias with the same behavior. Use .ios-theme-disabled for new code.

\n
<ion-button>iOS 27 theme</ion-button> <ion-button class="ios-theme-disabled">Standard Ionic button</ion-button>
\n\n
\n
Preview
\niOS 27 theme Standard Ionic button\n
\n\n

For the background model behind inset lists, see Using ion-item-group.

\n'; + '

Special markup and classes

\n

Most Ionic markup works without changes. The combinations below are explicit opt-ins provided by the theme.

\n

Primary submit buttons

\n

Solid submit buttons use the Ionic color's contrast value for their foreground. Their directional edge treatment follows the iOS 27 prominent-button appearance and does not require an additional brightness color.

\n
<ion-button type="submit" color="primary">Submit</ion-button>\n<ion-button class="button-submit" fill="solid" color="primary">Continue</ion-button>
\n\n
\n
Preview
\nSubmit\nContinue\n
\n\n

Use .button-submit when the button needs the same treatment but cannot use type="submit".

\n

Preferred overlay actions

\n

For iOS alerts and action sheets, set role: 'preferred' on a button to give it a filled --ion-color-primary background and --ion-color-primary-contrast text and icons. While pressed, the background uses --ion-color-primary-shade. This is a theme convention using Ionic's custom button roles; it does not automatically select or invoke the action. Dismissal reports the role as preferred.

\n
buttons: [\n  { text: \'Cancel\', role: \'cancel\' },\n  { text: \'Continue\', role: \'preferred\' },\n];
\n\n

Buttons with no role or default keep the normal text color. cancel retains Ionic's cancellation behavior, selected remains a selection state, and destructive uses --ios-theme-destructive-color. An existing confirm role is not treated as preferred. Use preferred for the recommended action, not simply any action that confirms a choice.

\n

Floating iPad sheets

\n

Set expandToScroll: false on a sheet modal to use floating lower corners and a 20px bottom gap on iPad. Ionic then sizes the visible page at each breakpoint, so the theme can style it with CSS alone. Content scrolls within the current breakpoint; dragging the handle still resizes the sheet. With the default expandToScroll: true, the sheet keeps Ionic's bottom-attached layout and scroll-to-expand behavior.

\n

Tab bar position

\n

Add one of tab-bar-position-start, tab-bar-position-center, or tab-bar-position-end to an iOS ion-tab-bar to position the whole bar within its safe area. These classes work with both slot="top" and slot="bottom" and preserve the bar's width and press animation. Start and end follow the text direction (reversed in RTL). Without a class, the existing placement is unchanged.

\n
<ion-tab-bar slot="bottom" class="tab-bar-position-center">\n  <ion-tab-button tab="home">Home</ion-tab-button>\n  <ion-tab-button tab="settings">Settings</ion-tab-button>\n</ion-tab-bar>
\n\n

These classes do not reposition a separate ion-fab; leave room for it when choosing the bar's position.

\n

Foldable layouts

\n

To simulate the iPhone Duo layout on the web, add .ios-theme-enable-foldable to the active ion-app. Use body only when the application has no ion-app root:

\n
<ion-app class="ios-theme-enable-foldable">...</ion-app>
\n\n

The class reserves 80px on the physical right by default, matching the system navigation region measured in the iPhone Duo Simulator. The physical left defaults to 0px. Override --ios-theme-foldable-safe-area-left or --ios-theme-foldable-safe-area-right when simulating a different foldable layout.

\n

This keeps routers and component backgrounds full-viewport. ion-content moves its scroll foreground, ion-toolbar moves its container foreground, and ion-fab adjusts only when it is placed beside the system UI. The corresponding Ionic safe-area variable is reset inside those foreground components so descendants do not add the inset again.

\n

ion-menu, ion-modal, and ion-popover are handled as separate surfaces: their internal foreground components do not receive the main-page conversion and retain Ionic's standard safe-area handling. A menu presented beside the system UI is positioned after the corresponding inset; a menu from the opposite side is unchanged. Left and right remain physical coordinates in RTL, while Ionic's side="start" and side="end" values remain logical.

\n

The foldable values are web-layout simulation inputs. They are independent from Ionic's normal iPhone safe-area variables and do not change ordinary iPhone layouts unless the opt-in class is present.

\n

When the app contains ion-tabs, foldable mode moves its iOS tab bar into the physical right-side reserved region and aligns it above the bottom safe area. The Ionic slot value does not select a different foldable position. The stable rail is icon-only, matching a four-tab SwiftUI TabView on iPhone Duo. While the user presses and drags across the rail, every icon-and-label tab reveals its label so the pending destination stays identifiable. The tab bar remains in the web layer and receives pointer input in the simulated system region. Use ion-menu when navigation should become a sidebar; foldable mode does not convert tabs into a menu.

\n

Two-line inset list items

\n

Place an unslotted ion-label immediately alongside an unslotted ion-note to render a two-line item. When using the iOS-style inset-list background, wrap the items in ion-item-group; keep ion-list-header outside the group.

\n
<ion-list inset="true">\n  <ion-list-header>\n    <ion-label>Connections</ion-label>\n  </ion-list-header>\n  <ion-item-group>\n    <ion-item>\n      <ion-label>Network &amp; internet</ion-label>\n      <ion-note>Mobile, Wi-Fi, hotspot</ion-note>\n    </ion-item>\n  </ion-item-group>\n</ion-list>
\n\n
\n
Preview
\n\n \n Connections\n \n \n \n Network & internet\n Mobile, Wi-Fi, hotspot\n \n \n\n
\n\n

Use slot="end" on ion-note when you want the standard trailing-note layout instead.

\n

Inset-list section headers

\n

Add .item-group-header to an ion-item-group to create the centered icon, title, and description used at the top of the component demo pages.

\n

This is an introductory group. Place regular list items in a separate ion-item-group that follows it.

\n
<ion-list inset="true">\n  <ion-item-group class="item-group-header">\n    <ion-item>\n      <ion-label>\n        <ion-icon name="list" style="background: var(--ion-color-primary)"></ion-icon>\n        <h2>Lists</h2>\n        <ion-text>Inset-list examples</ion-text>\n      </ion-label>\n    </ion-item>\n  </ion-item-group>\n  <ion-item-group>\n    <ion-item><ion-label>First item</ion-label></ion-item>\n  </ion-item-group>\n</ion-list>
\n\n
\n
Preview
\n\n \n \n \n \n

Lists

\n Inset-list examples\n
\n
\n
\n \n First item\n \n
\n
\n\n

Full-width segments

\n

Add .segment-style-glass to give a segment the same glass surface and selected indicator treatment as the tab bar. The class preserves the segment's existing dimensions and text colors, supports scrollable segments, and respects Ionic's public --background property.

\n
<ion-segment class="segment-style-glass" value="available">\n  <ion-segment-button value="available">Available</ion-segment-button>\n  <ion-segment-button value="away">Away</ion-segment-button>\n</ion-segment>
\n\n

For colored segments, use Ionic's color property (for example, color="primary" or color="secondary"). Ionic uses the palette's base color for the softly tinted track while keeping the selected surface and labels neutral. A surrounding colored toolbar only supplies colors when the segment has no color of its own. The optional moving glass inherits the selected surface color, and custom Ionic palettes work without additional registration.

\n

Add .segment-expand when segment buttons should divide the available width evenly. The class also changes the Liquid Glass effect sizing when registerSegmentEffect is used.

\n

Segments use a 32px minimum height in content and a 48px minimum height inside ion-toolbar. .segment-expand keeps the compact 32px layout in a toolbar. Compact segments retain Ionic's flat background and indicator colors; only the regular toolbar variant has a glass container and scales its outer container while pressed. Content and expanded segments keep their outer bounds. The optional moving glass lens is independent of the container's background.

\n
<ion-segment class="segment-expand" value="new">\n  <ion-segment-button value="new"><ion-label>New</ion-label></ion-segment-button>\n  <ion-segment-button value="replied"><ion-label>Replied</ion-label></ion-segment-button>\n</ion-segment>
\n\n
\n
Preview
\n\n New\n Replied\n\n
\n\n

Classic search bar in a condense header

\n

The theme gives iOS search bars the iOS 27 appearance by default. Add .searchbar-classic to the search field shown beneath a large title in an ion-header with collapse="condense". It uses the conventional filled iOS appearance and collapses with the large title instead of remaining in the fixed header.

\n

Place it in a toolbar with a color, such as color="light"; the classic background is derived from that color's contrast value.

\n

The example uses Ionic's standard collapsible large-title structure. Scroll the preview to collapse the large title and reveal the fixed header.

\n
<div class="ion-page">\n  <ion-header translucent="true">\n    <ion-toolbar color="light">\n      <ion-title>Search</ion-title>\n    </ion-toolbar>\n  </ion-header>\n  <ion-content color="light" fullscreen="true">\n    <ion-header collapse="condense">\n      <ion-toolbar color="light">\n        <ion-title size="large">Search</ion-title>\n      </ion-toolbar>\n      <ion-toolbar color="light">\n        <ion-searchbar class="searchbar-classic" placeholder="Filter results"></ion-searchbar>\n      </ion-toolbar>\n    </ion-header>\n    <ion-list inset="true">\n      <ion-item-group>\n        <ion-item><ion-label>Recent item 1</ion-label></ion-item>\n        <ion-item><ion-label>Recent item 2</ion-label></ion-item>\n        <ion-item><ion-label>Recent item 3</ion-label></ion-item>\n        <ion-item><ion-label>Recent item 4</ion-label></ion-item>\n        <ion-item><ion-label>Recent item 5</ion-label></ion-item>\n        <ion-item><ion-label>Recent item 6</ion-label></ion-item>\n        <ion-item><ion-label>Recent item 7</ion-label></ion-item>\n        <ion-item><ion-label>Recent item 8</ion-label></ion-item>\n        <ion-item><ion-label>Recent item 9</ion-label></ion-item>\n        <ion-item><ion-label>Recent item 10</ion-label></ion-item>\n      </ion-item-group>\n    </ion-list>\n  </ion-content>\n</div>
\n\n
\n
Preview
\n
\n \n \n Search\n \n \n \n \n \n Search\n \n \n \n \n \n \n \n Recent item 1\n Recent item 2\n Recent item 3\n Recent item 4\n Recent item 5\n Recent item 6\n Recent item 7\n Recent item 8\n Recent item 9\n Recent item 10\n \n \n \n
\n
\n\n

The .ion-page wrapper makes this embedded preview behave like a complete routed page. An application using ion-router-outlet normally receives that page container automatically. The inset list and its items only provide enough content to demonstrate scrolling; they are not required by .searchbar-classic.

\n

Search-bar toolbars

\n

Add .toolbar-searchbar when an ion-toolbar combines a search bar with start or end buttons. The class centers the slotted controls and adjusts the spacing around the search field.

\n
<ion-toolbar class="toolbar-searchbar">\n  <ion-buttons slot="start">\n    <ion-button>Cancel</ion-button>\n  </ion-buttons>\n  <ion-searchbar></ion-searchbar>\n</ion-toolbar>
\n\n
\n
Preview
\n\n \n Cancel\n \n \n\n
\n\n

Opting out

\n

Add .ios-theme-disabled to an individual Ionic component when it must retain Ionic's standard iOS styling.

\n

.ios26-disabled is deprecated but remains supported as an alias with the same behavior. Use .ios-theme-disabled for new code.

\n
<ion-button>iOS 27 theme</ion-button> <ion-button class="ios-theme-disabled">Standard Ionic button</ion-button>
\n\n
\n
Preview
\niOS 27 theme Standard Ionic button\n
\n\n

For the background model behind inset lists, see Using ion-item-group.

\n'; diff --git a/docs/special-markup.md b/docs/special-markup.md index 95475dd0..ef09f719 100644 --- a/docs/special-markup.md +++ b/docs/special-markup.md @@ -63,7 +63,7 @@ This keeps routers and component backgrounds full-viewport. `ion-content` moves The foldable values are web-layout simulation inputs. They are independent from Ionic's normal iPhone safe-area variables and do not change ordinary iPhone layouts unless the opt-in class is present. -When the app contains `ion-tabs`, foldable mode moves its iOS tab bar into the physical right-side reserved region and aligns it above the bottom safe area. The Ionic `slot` value does not select a different foldable position. At rest, the selected tab displays its icon and label while unselected tabs remain icon-only. While the user presses and drags across the rail, every icon-and-label tab reveals its label so the pending destination stays identifiable. The tab bar remains in the web layer and receives pointer input in the simulated system region. Use `ion-menu` when navigation should become a sidebar; foldable mode does not convert tabs into a menu. +When the app contains `ion-tabs`, foldable mode moves its iOS tab bar into the physical right-side reserved region and aligns it above the bottom safe area. The Ionic `slot` value does not select a different foldable position. The stable rail is icon-only, matching a four-tab SwiftUI `TabView` on iPhone Duo. While the user presses and drags across the rail, every icon-and-label tab reveals its label so the pending destination stays identifiable. The tab bar remains in the web layer and receives pointer input in the simulated system region. Use `ion-menu` when navigation should become a sidebar; foldable mode does not convert tabs into a menu. ## Two-line inset list items diff --git a/src/styles/components/ion-tabs.scss b/src/styles/components/ion-tabs.scss index 46479983..1c332b31 100644 --- a/src/styles/components/ion-tabs.scss +++ b/src/styles/components/ion-tabs.scss @@ -169,18 +169,20 @@ ion-tab-bar.ios:not(.ios-theme-disabled, .ios26-disabled) { :is(ion-app, body).ios-theme-enable-foldable ion-tabs:not(:where(ion-menu *, ion-modal *, ion-popover *)) > ion-tab-bar.ios:not(.ios-theme-disabled, .ios26-disabled) { - --ios-theme-side-tab-bar-width: 62px; + --ios-theme-side-tab-bar-width: 50px; --ios-theme-side-tab-bar-gap: 8px; --ios-theme-side-safe-area: var(--ios-theme-foldable-safe-area-right-resolved); contain: layout style; display: flex; flex-direction: column; - width: 54px; - min-width: 54px; - max-width: 54px; + width: 46px; + min-width: 46px; + max-width: 46px; height: fit-content; min-height: 0; + padding: 2px; + border-radius: 25px; left: auto; right: max(4px, calc((var(--ios-theme-side-safe-area) - var(--ios-theme-side-tab-bar-width)) / 2)); margin: 0; @@ -191,10 +193,11 @@ ion-tab-bar.ios:not(.ios-theme-disabled, .ios26-disabled) { > ion-tab-button:not(.ion-cloned-element) { display: block; flex: none; - width: 54px; - min-width: 54px; - height: 54px; - min-height: 54px; + width: 46px; + min-width: 46px; + height: 52px; + min-height: 52px; + border-radius: 23px; &::part(native) { justify-content: center; @@ -214,6 +217,7 @@ ion-tab-bar.ios:not(.ios-theme-disabled, .ios26-disabled) { ion-icon { margin: 0; + font-size: 28px; } } @@ -222,9 +226,8 @@ ion-tab-bar.ios:not(.ios-theme-disabled, .ios26-disabled) { margin-inline-start: 0; } - // iPhone Duo identifies the selected destination at rest, then expands all - // labels while the user drags across the rail. - > ion-tab-button.tab-selected:not(.ion-cloned-element), + // iPhone Duo expands labels while the user drags across the rail. The + // stable four-tab layout remains icon-only, matching SwiftUI's TabView. &:has(> ion-tab-button:is(.ion-activated, :active)) > ion-tab-button:not(.ion-cloned-element) { &::part(native) { flex-direction: column; @@ -235,7 +238,7 @@ ion-tab-bar.ios:not(.ios-theme-disabled, .ios26-disabled) { position: static; width: auto; height: auto; - max-width: 50px; + max-width: 44px; padding: 0; margin: 1px 0 0; overflow: hidden; From 4e22481a4eb5cdd74d2223af7bd444ec82f7143e Mon Sep 17 00:00:00 2001 From: rdlabo Date: Tue, 22 Sep 2026 00:24:54 +0900 Subject: [PATCH 21/50] feat: project foldable back navigation --- demo/e2e/foldable-back-button.spec.ts | 96 ++++++ demo/e2e/native-ui-shell.spec.ts | 23 ++ demo/e2e/screenshot.spec.ts | 39 +++ .../foldable-back-button-ltr.png | Bin 0 -> 68743 bytes .../foldable-back-button-rtl.png | Bin 0 -> 68661 bytes .../foldable-toolbar-actions.png | Bin 0 -> 80933 bytes .../native-ui-shell/native-ui-shell.page.html | 17 +- demo/src/foldable-web.spec.ts | 36 ++ docs/special-markup.md | 6 + src/native/foldable-web.ts | 325 ++++++++++++++++++ src/native/index.ts | 48 ++- src/native/runtime.ts | 6 + src/styles/components/ion-button.scss | 50 +++ 13 files changed, 629 insertions(+), 17 deletions(-) create mode 100644 demo/e2e/foldable-back-button.spec.ts create mode 100644 demo/e2e/screenshot.spec.ts-snapshots/foldable-back-button-ltr.png create mode 100644 demo/e2e/screenshot.spec.ts-snapshots/foldable-back-button-rtl.png create mode 100644 demo/e2e/screenshot.spec.ts-snapshots/foldable-toolbar-actions.png create mode 100644 demo/src/foldable-web.spec.ts create mode 100644 src/native/foldable-web.ts diff --git a/demo/e2e/foldable-back-button.spec.ts b/demo/e2e/foldable-back-button.spec.ts new file mode 100644 index 00000000..fd743c94 --- /dev/null +++ b/demo/e2e/foldable-back-button.spec.ts @@ -0,0 +1,96 @@ +import { expect, test } from '@playwright/test'; + +test('foldable mode replaces the toolbar back button with an interactive Web projection', async ({ page }) => { + await page.setViewportSize({ width: 700, height: 900 }); + await page.goto('/main/index/button'); + const app = page.locator('ion-app'); + await app.evaluate((element) => element.classList.add('ios-theme-enable-foldable')); + + const source = page.locator('app-button ion-header ion-back-button').first(); + const projection = page.locator('ion-app > ion-back-button.ios-theme-foldable-back-button-projection'); + await expect(source).toBeHidden(); + await expect(projection).toBeVisible(); + await expect(projection).toHaveCount(1); + + await source.evaluate((element) => { + const original = element.getBoundingClientRect.bind(element); + (window as any).foldableBackButtonReads = 0; + element.getBoundingClientRect = () => { + (window as any).foldableBackButtonReads++; + return original(); + }; + element.toggleAttribute('data-projection-sync'); + }); + await page.waitForTimeout(100); + const settledReads = await page.evaluate(() => (window as any).foldableBackButtonReads); + await page.waitForTimeout(150); + expect(await page.evaluate(() => (window as any).foldableBackButtonReads)).toBe(settledReads); + + await projection.click(); + await expect(page).toHaveURL(/\/main\/index$/); + await expect(projection).toHaveCount(0); +}); + +test('disabling foldable mode restores the toolbar back button', async ({ page }) => { + await page.goto('/main/index/button'); + const app = page.locator('ion-app'); + await app.evaluate((element) => element.classList.add('ios-theme-enable-foldable')); + const source = page.locator('app-button ion-header ion-back-button').first(); + await expect(source).toBeHidden(); + + await app.evaluate((element) => element.classList.remove('ios-theme-enable-foldable')); + await expect(source).toBeVisible(); + await expect(page.locator('ion-app > ion-back-button.ios-theme-foldable-back-button-projection')).toHaveCount(0); +}); + +test('Native UI Shell suspension synchronously restores and resumes foldable ownership', async ({ page }) => { + await page.goto('/main/index/button'); + const app = page.locator('ion-app'); + await app.evaluate((element) => element.classList.add('ios-theme-enable-foldable')); + const source = page.locator('app-button ion-header ion-back-button').first(); + const projection = page.locator('ion-app > ion-back-button.ios-theme-foldable-back-button-projection'); + await expect(projection).toBeVisible(); + + await page.evaluate(async () => Object.assign(window, { foldableLease: await (window as any).nativeUIShell.suspend() })); + await expect(source).toBeVisible(); + await expect(projection).toHaveCount(0); + + await page.evaluate(async () => (window as any).foldableLease.resume()); + await expect(source).toBeHidden(); + await expect(projection).toBeVisible(); +}); + +test('foldable projection respects shell opt-out and iOS mode', async ({ page }) => { + await page.goto('/main/index/button'); + const app = page.locator('ion-app'); + const source = page.locator('app-button ion-header ion-back-button').first(); + const toolbar = source.locator('xpath=ancestor::ion-toolbar'); + const projection = page.locator('ion-app > ion-back-button.ios-theme-foldable-back-button-projection'); + + await source.evaluate((element) => element.classList.add('ios-theme-shell-disabled')); + await app.evaluate((element) => element.classList.add('ios-theme-enable-foldable')); + await expect(projection).toHaveCount(0); + await expect(source).toBeVisible(); + + await source.evaluate((element) => element.classList.remove('ios-theme-shell-disabled', 'ios')); + await toolbar.evaluate((element) => element.classList.remove('ios')); + await expect(projection).toHaveCount(0); + await expect(source).toBeVisible(); +}); + +test('foldable toolbar projects icon actions and preserves text-only actions', async ({ page }) => { + await page.setViewportSize({ width: 700, height: 900 }); + await page.goto('/main/index/native-ui-shell'); + await page.locator('ion-app').evaluate((element) => element.classList.add('ios-theme-enable-foldable')); + + const sourceGroup = page.locator('app-native-ui-shell ion-header ion-buttons[slot="end"]').first(); + const textAction = sourceGroup.getByText('Cancel', { exact: true }); + const iconSource = sourceGroup.locator('ion-button[aria-label="Save"]'); + const iconProjection = page.locator('ion-app > ion-buttons.ios-theme-foldable-toolbar-projection ion-button[aria-label="Save"]'); + + await expect(textAction).toBeVisible(); + await expect(iconSource).toBeHidden(); + await expect(iconProjection).toBeVisible(); + await iconProjection.click(); + await expect(page.locator('[data-save-count]')).toHaveText('1'); +}); diff --git a/demo/e2e/native-ui-shell.spec.ts b/demo/e2e/native-ui-shell.spec.ts index cab5ceb5..a254fd3b 100644 --- a/demo/e2e/native-ui-shell.spec.ts +++ b/demo/e2e/native-ui-shell.spec.ts @@ -345,6 +345,29 @@ test('foldable tabs stay in the web layer instead of using horizontal native pro await expect(bar).toHaveClass(/ios27-enable-gesture/); }); +test('foldable back navigation hands ownership between native and Web projection', async ({ page }) => { + await mockNative(page); + await page.goto('/main/index/native-ui-shell'); + const app = page.locator('ion-app'); + const source = page.locator('app-native-ui-shell ion-back-button'); + const projection = page.locator('ion-app > ion-back-button.ios-theme-foldable-back-button-projection'); + await expect(source).toHaveAttribute('data-native-ui-shell', ''); + + await app.evaluate((element) => element.classList.add('ios-theme-enable-foldable')); + await expect(projection).toHaveCount(1); + await expect + .poll(() => + page.evaluate(() => + (window as any).__nativeUIShell.updates.at(-1).controls.some((control: any) => control.kind === 'ion-back-button'), + ), + ) + .toBe(false); + + await app.evaluate((element) => element.classList.remove('ios-theme-enable-foldable')); + await expect(projection).toHaveCount(0); + await expect(source).toHaveAttribute('data-native-ui-shell', ''); +}); + test('native click preserves external form submit, disabled, and duplicate protection', async ({ page }) => { await mockNative(page); await page.goto('/main/index/native-ui-shell'); diff --git a/demo/e2e/screenshot.spec.ts b/demo/e2e/screenshot.spec.ts index 0f968715..97528455 100644 --- a/demo/e2e/screenshot.spec.ts +++ b/demo/e2e/screenshot.spec.ts @@ -93,6 +93,31 @@ const prepareFoldableLayout = async (page: Page, direction: 'ltr' | 'rtl', width }, direction); }; +const prepareFoldableBackButton = async (page: Page, direction: 'ltr' | 'rtl') => { + await page.addInitScript(() => ((window as any).IONIC_E2E_TESTING = true)); + await page.setViewportSize({ width: 700, height: 900 }); + await page.goto('/main/index/button', { waitUntil: 'networkidle' }); + await page.evaluate(() => document.fonts.ready); + await page.locator('ion-app').evaluate((app, dir) => { + app.dir = dir; + app.style.setProperty('--ios-theme-foldable-safe-area-right', '84px'); + app.classList.add('ios-theme-enable-foldable'); + }, direction); + await expect(page.locator('ion-app > ion-back-button.ios-theme-foldable-back-button-projection')).toBeVisible(); +}; + +const prepareFoldableToolbar = async (page: Page) => { + await page.addInitScript(() => ((window as any).IONIC_E2E_TESTING = true)); + await page.setViewportSize({ width: 700, height: 900 }); + await page.goto('/main/index/native-ui-shell', { waitUntil: 'networkidle' }); + await page.evaluate(() => document.fonts.ready); + await page.locator('ion-app').evaluate((app) => { + app.style.setProperty('--ios-theme-foldable-safe-area-right', '84px'); + app.classList.add('ios-theme-enable-foldable'); + }); + await expect(page.locator('ion-app > ion-buttons.ios-theme-foldable-toolbar-projection')).not.toHaveCount(0); +}; + test.describe('Screenshot Tests - All Routes', () => { for (const route of routes) { test(`should match screenshot for ${route.name}`, async ({ page }) => { @@ -143,3 +168,17 @@ test.describe('Screenshot Tests - Foldable Layout', () => { }); } }); + +test.describe('Screenshot Tests - Foldable Back Button', () => { + for (const direction of ['ltr', 'rtl'] as const) { + test(`should project the active back button into the physical system rail in ${direction.toUpperCase()}`, async ({ page }) => { + await prepareFoldableBackButton(page, direction); + await expect(page).toHaveScreenshot(`foldable-back-button-${direction}.png`, { animations: 'disabled' }); + }); + } + + test('should project icon actions while keeping text actions in the toolbar', async ({ page }) => { + await prepareFoldableToolbar(page); + await expect(page).toHaveScreenshot('foldable-toolbar-actions.png', { animations: 'disabled' }); + }); +}); diff --git a/demo/e2e/screenshot.spec.ts-snapshots/foldable-back-button-ltr.png b/demo/e2e/screenshot.spec.ts-snapshots/foldable-back-button-ltr.png new file mode 100644 index 0000000000000000000000000000000000000000..5395a378404becbb8b0d13641cf8cb2294e117b8 GIT binary patch literal 68743 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 D>!i!H literal 0 HcmV?d00001 diff --git a/demo/e2e/screenshot.spec.ts-snapshots/foldable-back-button-rtl.png b/demo/e2e/screenshot.spec.ts-snapshots/foldable-back-button-rtl.png new file mode 100644 index 0000000000000000000000000000000000000000..a0fd746c9f011021b5acab4211a6c3f4cb4858f5 GIT binary patch literal 68661 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 literal 0 HcmV?d00001 diff --git a/demo/e2e/screenshot.spec.ts-snapshots/foldable-toolbar-actions.png b/demo/e2e/screenshot.spec.ts-snapshots/foldable-toolbar-actions.png new file mode 100644 index 0000000000000000000000000000000000000000..799c7437a75a9cb79946eeec5c9ea03f7bcbf57a GIT binary patch literal 80933 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

t;Zb2F$fOo3`8g~1&>lqL7^{GpH{tT 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 yAP9mW2oj3_2LJ&7{}|w3Z2$lO21!IgR09B Native UI Shell + Cancel Save @@ -32,14 +33,10 @@

-

- Save count: {{ saves() }} -

+

Save count: {{ saves() }}

Experimental: On supported iOS versions, fixed glass controls are rendered natively.

-

- Selection: {{ selected() }} / Change count: {{ changes() }} -

+

Selection: {{ selected() }} / Change count: {{ changes() }}

Scroll the background to compare transparency and refraction in the top-right button.

@@ -47,13 +44,13 @@ @for (value of fills; track value) { - + }
@for (band of bands; track band) { -
- {{ band }} — GLASS / Glass / 123456789 -
+
+ {{ band }} — GLASS / Glass / 123456789 +
} diff --git a/demo/src/foldable-web.spec.ts b/demo/src/foldable-web.spec.ts new file mode 100644 index 00000000..e46a4c47 --- /dev/null +++ b/demo/src/foldable-web.spec.ts @@ -0,0 +1,36 @@ +import { expect, test } from 'vitest'; +import { createFoldableWebProjection } from '../../src/native/foldable-web'; + +const mountEligibleBackButton = () => { + document.body.innerHTML = ` + +
+ +
+
`; + const button = document.querySelector('ion-back-button') as HTMLElement; + button.style.display = 'block'; + button.style.visibility = 'visible'; + button.getBoundingClientRect = () => ({ width: 44, height: 44 }) as DOMRect; +}; + +const nextFrame = () => new Promise((resolve) => requestAnimationFrame(() => resolve())); + +test('toolbar opt-out leaves an otherwise eligible foldable back button under application ownership', async () => { + mountEligibleBackButton(); + const enabled = createFoldableWebProjection(document, {}); + await nextFrame(); + expect(enabled.getStatus().projected).toBe(1); + expect(document.querySelector('.ios-theme-foldable-back-button-projection')).not.toBeNull(); + await enabled.destroy(); + + mountEligibleBackButton(); + const handle = createFoldableWebProjection(document, { controls: { tabs: true } }); + await nextFrame(); + + expect(handle.getStatus()).toEqual({ state: 'web', projected: 0, updates: 0 }); + expect(document.querySelector('ion-back-button')?.hasAttribute('data-native-ui-shell')).toBe(false); + expect(document.querySelector('.ios-theme-foldable-back-button-projection')).toBeNull(); + + await handle.destroy(); +}); diff --git a/docs/special-markup.md b/docs/special-markup.md index ef09f719..a480f8c2 100644 --- a/docs/special-markup.md +++ b/docs/special-markup.md @@ -65,6 +65,12 @@ The foldable values are web-layout simulation inputs. They are independent from When the app contains `ion-tabs`, foldable mode moves its iOS tab bar into the physical right-side reserved region and aligns it above the bottom safe area. The Ionic `slot` value does not select a different foldable position. The stable rail is icon-only, matching a four-tab SwiftUI `TabView` on iPhone Duo. While the user presses and drags across the rail, every icon-and-label tab reveals its label so the pending destination stays identifiable. The tab bar remains in the web layer and receives pointer input in the simulated system region. Use `ion-menu` when navigation should become a sidebar; foldable mode does not convert tabs into a menu. +When the app contains `ion-tabs`, the same class changes its tab bar to a vertical bar centered in the physical right-side reserved region and aligned to the bottom safe area. No tab placement class is required, and the Ionic `slot` value does not select a different foldable position. The tab bar remains in the web layer so it can receive pointer input in the simulated system region. Use `ion-menu` when navigation should become a sidebar; foldable mode does not convert tabs into a menu. + +When `enableNativeUIShell()` is initialized at application startup, foldable mode uses the same document-level projection lifecycle for fixed-toolbar navigation and actions. The active `ion-back-button` and `ion-button` or `ion-menu-button` controls that contain an icon remain the sources of truth, are hidden while owned, and are represented by interactive Web clones in the physical right-side system rail. Buttons in the same `ion-buttons` group share a vertical rail group. An icon-and-text button is shown as its icon while retaining its accessible label; a text-only button stays in the original toolbar. Menus, modals, and popovers retain their own toolbar layout. + +These Web projections also work when no `ion-tabs` exists and when native projection is unavailable. Disabling foldable mode or leaving the page removes the clones and restores their sources. Override `--ios-theme-foldable-back-button-top` when the simulated system controls use a different vertical layout. + ## Two-line inset list items Place an unslotted `ion-label` immediately alongside an unslotted `ion-note` to render a two-line item. When using the iOS-style inset-list background, wrap the items in `ion-item-group`; keep `ion-list-header` outside the group. diff --git a/src/native/foldable-web.ts b/src/native/foldable-web.ts new file mode 100644 index 00000000..fd73f40b --- /dev/null +++ b/src/native/foldable-web.ts @@ -0,0 +1,325 @@ +import type { NativeUIShellHandle, NativeUIShellOptions, NativeUIShellStatus } from './definitions'; +import { excluded, isShellDisabled, marker, unprojected } from './shared/dom'; + +const backProjectionClass = 'ios-theme-foldable-back-button-projection'; +const toolbarProjectionClass = 'ios-theme-foldable-toolbar-projection'; +const readyClass = 'ios-theme-foldable-toolbar-ready'; + +interface ToolbarProjection { + source: HTMLIonButtonsElement; + projection: HTMLIonButtonsElement; + actions: { source: HTMLElement; projection: HTMLElement; previousAriaHidden: string | null }[]; +} + +export const createFoldableWebProjection = (doc: Document, options: NativeUIShellOptions): NativeUIShellHandle => { + const win = doc.defaultView!; + if (options.controls !== undefined && options.controls.toolbar !== true) + return { + getStatus: () => ({ state: 'web', projected: 0, updates: 0 }), + suspend: async () => ({ resume: async () => {} }), + destroy: async () => {}, + }; + let root: HTMLElement | undefined; + let backSource: HTMLIonBackButtonElement | undefined; + let backProjection: HTMLIonBackButtonElement | undefined; + let previousBackAriaHidden: string | null = null; + let toolbarProjections: ToolbarProjection[] = []; + let suspended = 0; + let stopped = false; + let frame = 0; + let updates = 0; + let observingFoldable = false; + let sourceObserver: MutationObserver | undefined; + let waiters: (() => void)[] = []; + const listeners = new AbortController(); + const foldableRoot = () => doc.querySelector(':is(ion-app, body).ios-theme-enable-foldable'); + const projectedSources = () => + [backSource, ...toolbarProjections.flatMap(({ actions }) => actions.map(({ source }) => source))].filter( + (source): source is HTMLElement => !!source, + ); + const isRendered = (element: HTMLElement) => { + const style = getComputedStyle(element); + const rect = element.getBoundingClientRect(); + return element.isConnected && style.display !== 'none' && style.visibility === 'visible' && rect.width > 0 && rect.height > 0; + }; + const inEligibleToolbar = (element: HTMLElement) => { + const currentRoot = foldableRoot(); + const toolbar = element.closest('ion-toolbar'); + const edge = toolbar?.parentElement; + return ( + !!currentRoot?.contains(element) && + element.matches('.ios') && + !!toolbar?.matches('.ios') && + !!edge?.matches('ion-header, ion-footer') && + !element.closest('ion-content') && + !edge.hasAttribute('collapse') && + !element.closest(excluded) && + !isShellDisabled(element) && + !element.closest('ion-menu, ion-modal, ion-popover, .ion-page-hidden, .ion-page-invisible') + ); + }; + const isEligibleBack = (element: HTMLIonBackButtonElement) => + inEligibleToolbar(element) && unprojected(projectedSources(), () => isRendered(element)); + const isToolbarAction = (element: HTMLElement) => { + if (!element.matches('ion-button.ios, ion-menu-button.ios') || element.closest(excluded) || isShellDisabled(element)) return false; + if (element.matches('ion-menu-button')) return true; + return !!element.querySelector('ion-icon, svg'); + }; + const toolbarActions = (element: HTMLIonButtonsElement) => + Array.from(element.children).filter((child): child is HTMLElement => child instanceof HTMLElement && isToolbarAction(child)); + const pageOrder = (element: Element) => Array.from(doc.querySelectorAll('.ion-page')).indexOf(element.closest('.ion-page')!); + const findBack = () => { + const candidates = Array.from(doc.querySelectorAll(`ion-back-button:not(.${backProjectionClass})`)).filter( + isEligibleBack, + ); + return candidates.sort((a, b) => { + const order = pageOrder(b) - pageOrder(a); + if (order) return order; + return Number(!!b.closest('ion-header')) - Number(!!a.closest('ion-header')); + })[0]; + }; + const findToolbarGroups = () => { + const candidates = Array.from(doc.querySelectorAll(`ion-buttons.ios:not(.${toolbarProjectionClass})`)).filter( + (group) => + inEligibleToolbar(group) && + unprojected(projectedSources(), () => isRendered(group) && toolbarActions(group).some((action) => isRendered(action))), + ); + const highestPage = Math.max(...candidates.map(pageOrder)); + return candidates.filter((candidate) => pageOrder(candidate) === highestPage); + }; + const restore = () => { + backProjection?.remove(); + backProjection = undefined; + if (backSource) { + backSource.removeAttribute(marker); + if (previousBackAriaHidden === null) backSource.removeAttribute('aria-hidden'); + else backSource.setAttribute('aria-hidden', previousBackAriaHidden); + backSource.dispatchEvent(new CustomEvent('nativeUIShellChange')); + } + backSource = undefined; + previousBackAriaHidden = null; + for (const { projection, actions } of toolbarProjections) { + projection.remove(); + for (const { source, previousAriaHidden } of actions) { + source.removeAttribute(marker); + if (previousAriaHidden === null) source.removeAttribute('aria-hidden'); + else source.setAttribute('aria-hidden', previousAriaHidden); + source.dispatchEvent(new CustomEvent('nativeUIShellChange')); + } + } + toolbarProjections = []; + sourceObserver?.disconnect(); + sourceObserver = undefined; + root?.classList.remove(readyClass); + root = undefined; + }; + const copyAttributes = (target: HTMLElement, original: HTMLElement) => { + for (const name of ['id', 'slot', marker, 'aria-hidden']) target.removeAttribute(name); + for (const attribute of Array.from(target.attributes)) + if (!['class', marker].includes(attribute.name) && !original.hasAttribute(attribute.name)) target.removeAttribute(attribute.name); + for (const attribute of Array.from(original.attributes)) + if (!['id', 'slot', marker, 'aria-hidden'].includes(attribute.name)) target.setAttribute(attribute.name, attribute.value); + }; + const syncBack = (target: HTMLIonBackButtonElement, original: HTMLIonBackButtonElement) => { + copyAttributes(target, original); + target.classList.add(backProjectionClass, 'ion-cloned-element'); + target.disabled = original.disabled; + target.defaultHref = original.defaultHref; + target.icon = original.icon; + target.color = original.color; + target.mode = original.mode; + target.text = ''; + }; + const syncAction = (target: HTMLElement, original: HTMLElement) => { + copyAttributes(target, original); + target.classList.add('ios-theme-foldable-toolbar-action', 'ion-cloned-element'); + const label = original.getAttribute('aria-label') ?? original.textContent?.trim(); + if (label) target.setAttribute('aria-label', label); + if ('disabled' in original) (target as HTMLIonButtonElement).disabled = (original as HTMLIonButtonElement).disabled; + if (original.matches('ion-button')) { + const icon = original.querySelector('ion-icon, svg'); + const clonedIcon = icon?.cloneNode(true) as HTMLElement | undefined; + clonedIcon?.setAttribute('slot', 'icon-only'); + target.replaceChildren(...(clonedIcon ? [clonedIcon] : [])); + } + }; + const sameSources = (back: HTMLIonBackButtonElement | undefined, groups: HTMLIonButtonsElement[]) => + back === backSource && + groups.length === toolbarProjections.length && + groups.every((group, index) => { + const current = toolbarProjections[index]; + const actions = toolbarActions(group); + return ( + group === current.source && + actions.length === current.actions.length && + actions.every((action, actionIndex) => action === current.actions[actionIndex].source) + ); + }); + const syncExisting = () => { + if (backSource && backProjection) syncBack(backProjection, backSource); + let topOffset = backSource ? 62 : 0; + for (const { projection, source, actions } of toolbarProjections) { + copyAttributes(projection, source); + projection.classList.add(toolbarProjectionClass, 'ion-cloned-element'); + projection.style.setProperty('--ios-theme-foldable-toolbar-offset', `${topOffset}px`); + actions.forEach(({ source: action, projection: clone }) => syncAction(clone, action)); + topOffset += actions.length * 54 + 8; + } + }; + const project = (nextBack: HTMLIonBackButtonElement | undefined, groups: HTMLIonButtonsElement[]) => { + root = foldableRoot()!; + let topOffset = 0; + if (nextBack) { + backSource = nextBack; + previousBackAriaHidden = nextBack.getAttribute('aria-hidden'); + backProjection = nextBack.cloneNode(false) as HTMLIonBackButtonElement; + syncBack(backProjection, nextBack); + backProjection.addEventListener( + 'click', + (event) => { + event.preventDefault(); + event.stopImmediatePropagation(); + if (backSource && backSource === findBack()) backSource.click(); + }, + { capture: true }, + ); + root.append(backProjection); + nextBack.setAttribute(marker, ''); + nextBack.setAttribute('aria-hidden', 'true'); + nextBack.dispatchEvent(new CustomEvent('nativeUIShellChange')); + topOffset = 62; + } + for (const group of groups) { + const projection = group.cloneNode(false) as HTMLIonButtonsElement; + copyAttributes(projection, group); + projection.classList.add(toolbarProjectionClass, 'ion-cloned-element'); + projection.style.setProperty('--ios-theme-foldable-toolbar-offset', `${topOffset}px`); + const actions = toolbarActions(group).map((source) => { + const clone = source.cloneNode(false) as HTMLElement; + syncAction(clone, source); + clone.addEventListener( + 'click', + (event) => { + event.preventDefault(); + event.stopImmediatePropagation(); + if (source.isConnected) source.click(); + }, + { capture: true }, + ); + projection.append(clone); + const previousAriaHidden = source.getAttribute('aria-hidden'); + source.setAttribute(marker, ''); + source.setAttribute('aria-hidden', 'true'); + source.dispatchEvent(new CustomEvent('nativeUIShellChange')); + return { source, projection: clone, previousAriaHidden }; + }); + root.append(projection); + toolbarProjections.push({ source: group, projection, actions }); + topOffset += actions.length * 54 + 8; + } + if (nextBack || toolbarProjections.length) root.classList.add(readyClass); + sourceObserver = new MutationObserver(schedule); + if (nextBack?.shadowRoot) sourceObserver.observe(nextBack.shadowRoot, { subtree: true, childList: true, attributes: true }); + for (const group of groups) sourceObserver.observe(group, { subtree: true, childList: true, attributes: true }); + }; + const performUpdate = () => { + frame = 0; + const currentRoot = foldableRoot(); + if (observingFoldable !== !!currentRoot) { + observingFoldable = !!currentRoot; + observer.disconnect(); + observer.observe(doc.documentElement, { + subtree: true, + childList: true, + attributes: true, + attributeFilter: observingFoldable ? undefined : ['class'], + }); + } + if (stopped || suspended || !currentRoot) return restore(); + const nextBack = findBack(); + const groups = findToolbarGroups(); + if (!nextBack && !groups.length) return restore(); + if (sameSources(nextBack, groups)) return syncExisting(); + restore(); + project(nextBack, groups); + updates++; + }; + const update = () => { + try { + performUpdate(); + } catch { + restore(); + } finally { + const pending = waiters; + waiters = []; + pending.forEach((resolve) => resolve()); + } + }; + const schedule = (): Promise => { + if (stopped) return Promise.resolve(); + const done = new Promise((resolve) => waiters.push(resolve)); + if (!frame) frame = win.requestAnimationFrame(update); + return done; + }; + const observer = new MutationObserver((records) => { + const insideProjection = (target: Node) => { + const element = target instanceof Element ? target : target.parentNode instanceof Element ? target.parentNode : undefined; + const rootNode = target.getRootNode(); + const shadowHost = rootNode instanceof ShadowRoot ? rootNode.host : undefined; + return !![element, shadowHost].some((candidate) => candidate?.closest(`.${backProjectionClass}, .${toolbarProjectionClass}`)); + }; + const foldableChanged = records.some( + (record) => + (record.type === 'attributes' && (record.target as Element).matches('ion-app, body')) || + (record.type === 'childList' && + Array.from(record.addedNodes).some( + (node) => + node instanceof Element && + (node.matches(':is(ion-app, body).ios-theme-enable-foldable') || + !!node.querySelector(':is(ion-app, body).ios-theme-enable-foldable')), + )), + ); + if ( + (observingFoldable && records.some((record) => record.attributeName !== marker && !insideProjection(record.target))) || + (!observingFoldable && foldableChanged) + ) + schedule(); + }); + observer.observe(doc.documentElement, { subtree: true, childList: true, attributes: true, attributeFilter: ['class'] }); + for (const name of ['ionViewDidEnter', 'ionViewDidLeave', 'ionModalWillPresent', 'ionModalDidDismiss']) + doc.addEventListener(name, schedule, { capture: true, signal: listeners.signal }); + if (options.controls === undefined || options.controls.toolbar === true) schedule(); + + return { + getStatus: (): NativeUIShellStatus => ({ + state: 'web', + projected: Number(!!backSource) + toolbarProjections.reduce((count, group) => count + group.actions.length, 0), + updates, + }), + async suspend() { + suspended++; + restore(); + let resumed = false; + return { + async resume() { + if (resumed) return; + resumed = true; + suspended = Math.max(0, suspended - 1); + if (!suspended) await schedule(); + }, + }; + }, + async destroy() { + if (stopped) return; + stopped = true; + win.cancelAnimationFrame(frame); + frame = 0; + waiters.forEach((resolve) => resolve()); + waiters = []; + observer.disconnect(); + sourceObserver?.disconnect(); + listeners.abort(); + restore(); + }, + }; +}; diff --git a/src/native/index.ts b/src/native/index.ts index 00682612..5fb9cfb7 100644 --- a/src/native/index.ts +++ b/src/native/index.ts @@ -3,6 +3,7 @@ import { setConfig } from '../transition/ios.transition'; import type { NativeUIShellHandle, NativeUIShellOptions, NativeUIShellPlugin, WebViewMetrics } from './definitions'; import { bindMetricsLifecycle } from './lifecycle'; import { createRuntime } from './runtime'; +import { createFoldableWebProjection } from './foldable-web'; export type { NativeUIShellComponent, NativeUIShellControls, @@ -40,23 +41,56 @@ export const enableNativeUIShell = (options: NativeUIShellOptions = {}): Promise }) : Promise.resolve(web('Disabled')); } - if (typeof document === 'undefined' || Capacitor.getPlatform() !== 'ios') return Promise.resolve(web('Requires Capacitor iOS')); + if (typeof document === 'undefined') return Promise.resolve(web('Requires a document')); return (active ??= (async () => { + const foldableWeb = createFoldableWebProjection(document, options); + if (Capacitor.getPlatform() !== 'ios') return resetOnDestroy(withReason(foldableWeb, 'Requires Capacitor iOS')); + let runtime: NativeUIShellHandle | undefined; try { await configureNativeTransition().catch(() => undefined); if (!(await plugin.configure()).supported) { - active = undefined; - return web('Requires iOS 26 or later'); + return resetOnDestroy(withReason(foldableWeb, 'Requires iOS 26 or later')); } - const runtime = await createRuntime(document, plugin, options); - return await bindMetricsLifecycle( + runtime = await createRuntime(document, plugin, options); + runtime = await bindMetricsLifecycle( runtime, () => plugin.addListener('webViewMetricsChange', (metrics) => setConfig({ radius: metrics.radius })), () => (active = undefined), ); + return resetOnDestroy(combine(runtime, foldableWeb)); } catch (error) { - active = undefined; - return web(error instanceof Error ? error.message : String(error)); + await runtime?.destroy(); + return resetOnDestroy(withReason(foldableWeb, error instanceof Error ? error.message : String(error))); } })()); }; + +const combine = (native: NativeUIShellHandle, foldableWeb: NativeUIShellHandle): NativeUIShellHandle => ({ + getStatus: () => { + const nativeStatus = native.getStatus(); + const webStatus = foldableWeb.getStatus(); + return { ...nativeStatus, projected: nativeStatus.projected + webStatus.projected }; + }, + async suspend() { + const [nativeLease, webLease] = await Promise.all([native.suspend(), foldableWeb.suspend()]); + return { resume: async () => void (await Promise.all([nativeLease.resume(), webLease.resume()])) }; + }, + async destroy() { + await Promise.all([native.destroy(), foldableWeb.destroy()]); + }, +}); + +const resetOnDestroy = (handle: NativeUIShellHandle): NativeUIShellHandle => ({ + getStatus: handle.getStatus, + suspend: handle.suspend, + async destroy() { + await handle.destroy(); + active = undefined; + }, +}); + +const withReason = (handle: NativeUIShellHandle, reason: string): NativeUIShellHandle => ({ + getStatus: () => ({ ...handle.getStatus(), reason }), + suspend: () => handle.suspend(), + destroy: () => handle.destroy(), +}); diff --git a/src/native/runtime.ts b/src/native/runtime.ts index 893f1ca3..4955d114 100644 --- a/src/native/runtime.ts +++ b/src/native/runtime.ts @@ -125,6 +125,12 @@ export const createRuntime = async ( const candidateSources = (candidate: Candidate) => candidate.sources ?? [candidate.element]; const readEnabledCandidate = (element: HTMLElement): Candidate | undefined => { const candidate = readCandidate(element, id); + if ( + candidate && + ['ion-back-button', 'ion-buttons', 'ion-menu-button'].includes(candidate.control.kind) && + element.closest(':is(ion-app, body).ios-theme-enable-foldable') + ) + return undefined; return candidate && controlEnabled(candidate) ? candidate : undefined; }; const flush = async () => { diff --git a/src/styles/components/ion-button.scss b/src/styles/components/ion-button.scss index 5a0cacfb..bc372be8 100644 --- a/src/styles/components/ion-button.scss +++ b/src/styles/components/ion-button.scss @@ -436,3 +436,53 @@ ion-button.ios:not(.ios-theme-disabled, .ios26-disabled) { ion-back-button.ios:not(.ios-theme-disabled, .ios26-disabled) { @include theme-button($is-back-button: true); } + +:is(ion-app, body).ios-theme-enable-foldable.ios-theme-foldable-toolbar-ready { + ion-toolbar.ios:not(.ios-theme-disabled, .ios26-disabled):not(:where(ion-menu *, ion-modal *, ion-popover *)) + ion-back-button.ios[data-native-ui-shell]:not(.ios-theme-disabled, .ios26-disabled, .ios-theme-foldable-back-button-projection) { + display: none; + } + + ion-toolbar.ios:not(.ios-theme-disabled, .ios26-disabled):not(:where(ion-menu *, ion-modal *, ion-popover *)) + ion-buttons.ios + > :is(ion-button, ion-menu-button).ios[data-native-ui-shell]:not( + .ios-theme-disabled, + .ios26-disabled, + .ios-theme-foldable-toolbar-action + ) { + display: none; + } + + > ion-back-button.ios.ios-theme-foldable-back-button-projection { + position: fixed; + z-index: 1001; + top: var(--ios-theme-foldable-back-button-top, 220px); + right: max(4px, calc((var(--ios-theme-foldable-safe-area-right-resolved) - 54px) / 2)); + display: block; + width: 54px; + height: 54px; + margin: 0; + } + + > ion-buttons.ios.ios-theme-foldable-toolbar-projection { + position: fixed; + z-index: 1001; + top: calc(var(--ios-theme-foldable-back-button-top, 220px) + var(--ios-theme-foldable-toolbar-offset, 0px)); + right: max(4px, calc((var(--ios-theme-foldable-safe-area-right-resolved) - 62px) / 2)); + display: flex; + flex-direction: column; + width: 62px; + min-width: 62px; + height: auto; + margin: 0; + + > :is(ion-button, ion-menu-button).ios.ios-theme-foldable-toolbar-action { + display: block; + width: 54px; + min-width: 54px; + height: 54px; + min-height: 54px; + margin: 0 4px; + } + } +} From 10f0a40eb48a2485584fef7891bf426889a64cbf Mon Sep 17 00:00:00 2001 From: rdlabo Date: Tue, 22 Sep 2026 08:37:46 +0900 Subject: [PATCH 22/50] fix: align foldable projection eligibility --- demo/src/foldable-web.spec.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/demo/src/foldable-web.spec.ts b/demo/src/foldable-web.spec.ts index e46a4c47..172c9436 100644 --- a/demo/src/foldable-web.spec.ts +++ b/demo/src/foldable-web.spec.ts @@ -5,7 +5,7 @@ const mountEligibleBackButton = () => { document.body.innerHTML = `
- +
`; const button = document.querySelector('ion-back-button') as HTMLElement; From 98f230bdfba70bc236fc51b1237058df2e403ae0 Mon Sep 17 00:00:00 2001 From: rdlabo Date: Tue, 22 Sep 2026 11:42:15 +0900 Subject: [PATCH 23/50] fix: guard active foldable toolbar actions --- docs/special-markup.md | 4 +--- src/native/foldable-web.ts | 3 ++- src/styles/components/ion-button.scss | 4 ++-- 3 files changed, 5 insertions(+), 6 deletions(-) diff --git a/docs/special-markup.md b/docs/special-markup.md index a480f8c2..5ca190a3 100644 --- a/docs/special-markup.md +++ b/docs/special-markup.md @@ -65,11 +65,9 @@ The foldable values are web-layout simulation inputs. They are independent from When the app contains `ion-tabs`, foldable mode moves its iOS tab bar into the physical right-side reserved region and aligns it above the bottom safe area. The Ionic `slot` value does not select a different foldable position. The stable rail is icon-only, matching a four-tab SwiftUI `TabView` on iPhone Duo. While the user presses and drags across the rail, every icon-and-label tab reveals its label so the pending destination stays identifiable. The tab bar remains in the web layer and receives pointer input in the simulated system region. Use `ion-menu` when navigation should become a sidebar; foldable mode does not convert tabs into a menu. -When the app contains `ion-tabs`, the same class changes its tab bar to a vertical bar centered in the physical right-side reserved region and aligned to the bottom safe area. No tab placement class is required, and the Ionic `slot` value does not select a different foldable position. The tab bar remains in the web layer so it can receive pointer input in the simulated system region. Use `ion-menu` when navigation should become a sidebar; foldable mode does not convert tabs into a menu. - When `enableNativeUIShell()` is initialized at application startup, foldable mode uses the same document-level projection lifecycle for fixed-toolbar navigation and actions. The active `ion-back-button` and `ion-button` or `ion-menu-button` controls that contain an icon remain the sources of truth, are hidden while owned, and are represented by interactive Web clones in the physical right-side system rail. Buttons in the same `ion-buttons` group share a vertical rail group. An icon-and-text button is shown as its icon while retaining its accessible label; a text-only button stays in the original toolbar. Menus, modals, and popovers retain their own toolbar layout. -These Web projections also work when no `ion-tabs` exists and when native projection is unavailable. Disabling foldable mode or leaving the page removes the clones and restores their sources. Override `--ios-theme-foldable-back-button-top` when the simulated system controls use a different vertical layout. +These Web projections also work when no `ion-tabs` exists and when native projection is unavailable. Disabling foldable mode or leaving the page removes the clones and restores their sources. Override `--ios-theme-foldable-toolbar-top` when the simulated system controls use a different vertical layout. ## Two-line inset list items diff --git a/src/native/foldable-web.ts b/src/native/foldable-web.ts index fd73f40b..201e7662 100644 --- a/src/native/foldable-web.ts +++ b/src/native/foldable-web.ts @@ -87,6 +87,7 @@ export const createFoldableWebProjection = (doc: Document, options: NativeUIShel const highestPage = Math.max(...candidates.map(pageOrder)); return candidates.filter((candidate) => pageOrder(candidate) === highestPage); }; + const isCurrentToolbarAction = (source: HTMLElement) => findToolbarGroups().some((group) => toolbarActions(group).includes(source)); const restore = () => { backProjection?.remove(); backProjection = undefined; @@ -202,7 +203,7 @@ export const createFoldableWebProjection = (doc: Document, options: NativeUIShel (event) => { event.preventDefault(); event.stopImmediatePropagation(); - if (source.isConnected) source.click(); + if (isCurrentToolbarAction(source)) source.click(); }, { capture: true }, ); diff --git a/src/styles/components/ion-button.scss b/src/styles/components/ion-button.scss index bc372be8..c12c2550 100644 --- a/src/styles/components/ion-button.scss +++ b/src/styles/components/ion-button.scss @@ -456,7 +456,7 @@ ion-back-button.ios:not(.ios-theme-disabled, .ios26-disabled) { > ion-back-button.ios.ios-theme-foldable-back-button-projection { position: fixed; z-index: 1001; - top: var(--ios-theme-foldable-back-button-top, 220px); + top: var(--ios-theme-foldable-toolbar-top, 220px); right: max(4px, calc((var(--ios-theme-foldable-safe-area-right-resolved) - 54px) / 2)); display: block; width: 54px; @@ -467,7 +467,7 @@ ion-back-button.ios:not(.ios-theme-disabled, .ios26-disabled) { > ion-buttons.ios.ios-theme-foldable-toolbar-projection { position: fixed; z-index: 1001; - top: calc(var(--ios-theme-foldable-back-button-top, 220px) + var(--ios-theme-foldable-toolbar-offset, 0px)); + top: calc(var(--ios-theme-foldable-toolbar-top, 220px) + var(--ios-theme-foldable-toolbar-offset, 0px)); right: max(4px, calc((var(--ios-theme-foldable-safe-area-right-resolved) - 62px) / 2)); display: flex; flex-direction: column; From d041b696354df32e1bbe8137cfb9a33bb91f8096 Mon Sep 17 00:00:00 2001 From: rdlabo Date: Tue, 22 Sep 2026 13:05:18 +0900 Subject: [PATCH 24/50] test: refresh SwiftUI-matched foldable rail --- .../foldable-tab-drag-labels.png | Bin 44052 -> 45650 bytes .../foldable-split-pane-ltr.png | Bin 54467 -> 54821 bytes .../foldable-split-pane-rtl.png | Bin 54588 -> 54892 bytes demo/src/app/docs/docs-content.generated.ts | 2 +- 4 files changed, 1 insertion(+), 1 deletion(-) diff --git a/demo/e2e/adaptive-tab-bar.spec.ts-snapshots/foldable-tab-drag-labels.png b/demo/e2e/adaptive-tab-bar.spec.ts-snapshots/foldable-tab-drag-labels.png index 41360459289e592fe7ba4ed77455950814a8062e..3b769f699ad69c40a378a5f25feac2df09c40976 100644 GIT binary patch literal 45650 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 literal 44052 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%0ACDLGlNexYt zc0@X$B2Y?tF+X5eJkEH^c&s4#7BmJmCcW1RqK*c~x!7^0Xf>@Oq=kGna56ty@*VD# z02Q2%oj)+jgFq|GaN!mCY_N=EJ-6f|ObNw2%gN(5&odjuovmJ$cr326yQi=II)3h} z%gbtato+y9*kagsNZ~V4U1ae|#?7X$A;Nx$+)s5QITw98IVu8#Iez)^%fF_!}p<_QMMG|`7XRe-;`?i#%S-Ji@LXCo|^QQniaC! z1+2eIoC2f0%9ukD!8W!u_cnlrlGeTN4kL5;7d#G9GBSq>&LiKkz)@ZSrI

@8vcn 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 literal 54467 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 diff --git a/demo/e2e/screenshot.spec.ts-snapshots/foldable-split-pane-rtl.png b/demo/e2e/screenshot.spec.ts-snapshots/foldable-split-pane-rtl.png index 8e5af8e2e8eb301aaf83a2b9ee8517a60e2e115c..e4504ad7eb874b79f759f3e555c920d6d109ca33 100644 GIT binary patch literal 54892 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 DSZ4HJ literal 54588 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%0D-+GHDG{&Uk{HZLQXjDUHqVX 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 QN4vvm2q2z?uft0Rix=P6#F?lHb zRlBw8*CW^FTDrw9&nZk#SS<+U9D~L4k>6F9Kxi-Qv8%>KX7Z!adlBagSE5rNEOdD9 z?b?A#1?}f6xG-SLy%R8WsdpQ6B4-1PTLgrKzxDS|ehOXu^7(T~qOd*^M4p{hubx%N zZ?K7;9lz?CyYm>W);UW?&Ox&X*(Y_2joToAFY)8aT3I-xknTfvTHtu3^tV1dd|_^m z0B`pGhnlqtDER^TRgd7(V|KUeiAU#IOp5c|VB8cI7RJ5`R={)I(7m^O(`A#aNak)01*hoy_M=(ns{f6M`t#P@XBXeVi;Z z#gqi%(&Special markup and classes\n

Most Ionic markup works without changes. The combinations below are explicit opt-ins provided by the theme.

\n

Primary submit buttons

\n

Solid submit buttons use the Ionic color's contrast value for their foreground. Their directional edge treatment follows the iOS 27 prominent-button appearance and does not require an additional brightness color.

\n
<ion-button type="submit" color="primary">Submit</ion-button>\n<ion-button class="button-submit" fill="solid" color="primary">Continue</ion-button>
\n\n
\n
Preview
\nSubmit\nContinue\n
\n\n

Use .button-submit when the button needs the same treatment but cannot use type="submit".

\n

Preferred overlay actions

\n

For iOS alerts and action sheets, set role: 'preferred' on a button to give it a filled --ion-color-primary background and --ion-color-primary-contrast text and icons. While pressed, the background uses --ion-color-primary-shade. This is a theme convention using Ionic's custom button roles; it does not automatically select or invoke the action. Dismissal reports the role as preferred.

\n
buttons: [\n  { text: \'Cancel\', role: \'cancel\' },\n  { text: \'Continue\', role: \'preferred\' },\n];
\n\n

Buttons with no role or default keep the normal text color. cancel retains Ionic's cancellation behavior, selected remains a selection state, and destructive uses --ios-theme-destructive-color. An existing confirm role is not treated as preferred. Use preferred for the recommended action, not simply any action that confirms a choice.

\n

Floating iPad sheets

\n

Set expandToScroll: false on a sheet modal to use floating lower corners and a 20px bottom gap on iPad. Ionic then sizes the visible page at each breakpoint, so the theme can style it with CSS alone. Content scrolls within the current breakpoint; dragging the handle still resizes the sheet. With the default expandToScroll: true, the sheet keeps Ionic's bottom-attached layout and scroll-to-expand behavior.

\n

Tab bar position

\n

Add one of tab-bar-position-start, tab-bar-position-center, or tab-bar-position-end to an iOS ion-tab-bar to position the whole bar within its safe area. These classes work with both slot="top" and slot="bottom" and preserve the bar's width and press animation. Start and end follow the text direction (reversed in RTL). Without a class, the existing placement is unchanged.

\n
<ion-tab-bar slot="bottom" class="tab-bar-position-center">\n  <ion-tab-button tab="home">Home</ion-tab-button>\n  <ion-tab-button tab="settings">Settings</ion-tab-button>\n</ion-tab-bar>
\n\n

These classes do not reposition a separate ion-fab; leave room for it when choosing the bar's position.

\n

Foldable layouts

\n

To simulate the iPhone Duo layout on the web, add .ios-theme-enable-foldable to the active ion-app. Use body only when the application has no ion-app root:

\n
<ion-app class="ios-theme-enable-foldable">...</ion-app>
\n\n

The class reserves 80px on the physical right by default, matching the system navigation region measured in the iPhone Duo Simulator. The physical left defaults to 0px. Override --ios-theme-foldable-safe-area-left or --ios-theme-foldable-safe-area-right when simulating a different foldable layout.

\n

This keeps routers and component backgrounds full-viewport. ion-content moves its scroll foreground, ion-toolbar moves its container foreground, and ion-fab adjusts only when it is placed beside the system UI. The corresponding Ionic safe-area variable is reset inside those foreground components so descendants do not add the inset again.

\n

ion-menu, ion-modal, and ion-popover are handled as separate surfaces: their internal foreground components do not receive the main-page conversion and retain Ionic's standard safe-area handling. A menu presented beside the system UI is positioned after the corresponding inset; a menu from the opposite side is unchanged. Left and right remain physical coordinates in RTL, while Ionic's side="start" and side="end" values remain logical.

\n

The foldable values are web-layout simulation inputs. They are independent from Ionic's normal iPhone safe-area variables and do not change ordinary iPhone layouts unless the opt-in class is present.

\n

When the app contains ion-tabs, foldable mode moves its iOS tab bar into the physical right-side reserved region and aligns it above the bottom safe area. The Ionic slot value does not select a different foldable position. The stable rail is icon-only, matching a four-tab SwiftUI TabView on iPhone Duo. While the user presses and drags across the rail, every icon-and-label tab reveals its label so the pending destination stays identifiable. The tab bar remains in the web layer and receives pointer input in the simulated system region. Use ion-menu when navigation should become a sidebar; foldable mode does not convert tabs into a menu.

\n

Two-line inset list items

\n

Place an unslotted ion-label immediately alongside an unslotted ion-note to render a two-line item. When using the iOS-style inset-list background, wrap the items in ion-item-group; keep ion-list-header outside the group.

\n
<ion-list inset="true">\n  <ion-list-header>\n    <ion-label>Connections</ion-label>\n  </ion-list-header>\n  <ion-item-group>\n    <ion-item>\n      <ion-label>Network &amp; internet</ion-label>\n      <ion-note>Mobile, Wi-Fi, hotspot</ion-note>\n    </ion-item>\n  </ion-item-group>\n</ion-list>
\n\n
\n
Preview
\n\n \n Connections\n \n \n \n Network & internet\n Mobile, Wi-Fi, hotspot\n \n \n\n
\n\n

Use slot="end" on ion-note when you want the standard trailing-note layout instead.

\n

Inset-list section headers

\n

Add .item-group-header to an ion-item-group to create the centered icon, title, and description used at the top of the component demo pages.

\n

This is an introductory group. Place regular list items in a separate ion-item-group that follows it.

\n
<ion-list inset="true">\n  <ion-item-group class="item-group-header">\n    <ion-item>\n      <ion-label>\n        <ion-icon name="list" style="background: var(--ion-color-primary)"></ion-icon>\n        <h2>Lists</h2>\n        <ion-text>Inset-list examples</ion-text>\n      </ion-label>\n    </ion-item>\n  </ion-item-group>\n  <ion-item-group>\n    <ion-item><ion-label>First item</ion-label></ion-item>\n  </ion-item-group>\n</ion-list>
\n\n
\n
Preview
\n\n \n \n \n \n

Lists

\n Inset-list examples\n
\n
\n
\n \n First item\n \n
\n
\n\n

Full-width segments

\n

Add .segment-style-glass to give a segment the same glass surface and selected indicator treatment as the tab bar. The class preserves the segment's existing dimensions and text colors, supports scrollable segments, and respects Ionic's public --background property.

\n
<ion-segment class="segment-style-glass" value="available">\n  <ion-segment-button value="available">Available</ion-segment-button>\n  <ion-segment-button value="away">Away</ion-segment-button>\n</ion-segment>
\n\n

For colored segments, use Ionic's color property (for example, color="primary" or color="secondary"). Ionic uses the palette's base color for the softly tinted track while keeping the selected surface and labels neutral. A surrounding colored toolbar only supplies colors when the segment has no color of its own. The optional moving glass inherits the selected surface color, and custom Ionic palettes work without additional registration.

\n

Add .segment-expand when segment buttons should divide the available width evenly. The class also changes the Liquid Glass effect sizing when registerSegmentEffect is used.

\n

Segments use a 32px minimum height in content and a 48px minimum height inside ion-toolbar. .segment-expand keeps the compact 32px layout in a toolbar. Compact segments retain Ionic's flat background and indicator colors; only the regular toolbar variant has a glass container and scales its outer container while pressed. Content and expanded segments keep their outer bounds. The optional moving glass lens is independent of the container's background.

\n
<ion-segment class="segment-expand" value="new">\n  <ion-segment-button value="new"><ion-label>New</ion-label></ion-segment-button>\n  <ion-segment-button value="replied"><ion-label>Replied</ion-label></ion-segment-button>\n</ion-segment>
\n\n
\n
Preview
\n\n New\n Replied\n\n
\n\n

Classic search bar in a condense header

\n

The theme gives iOS search bars the iOS 27 appearance by default. Add .searchbar-classic to the search field shown beneath a large title in an ion-header with collapse="condense". It uses the conventional filled iOS appearance and collapses with the large title instead of remaining in the fixed header.

\n

Place it in a toolbar with a color, such as color="light"; the classic background is derived from that color's contrast value.

\n

The example uses Ionic's standard collapsible large-title structure. Scroll the preview to collapse the large title and reveal the fixed header.

\n
<div class="ion-page">\n  <ion-header translucent="true">\n    <ion-toolbar color="light">\n      <ion-title>Search</ion-title>\n    </ion-toolbar>\n  </ion-header>\n  <ion-content color="light" fullscreen="true">\n    <ion-header collapse="condense">\n      <ion-toolbar color="light">\n        <ion-title size="large">Search</ion-title>\n      </ion-toolbar>\n      <ion-toolbar color="light">\n        <ion-searchbar class="searchbar-classic" placeholder="Filter results"></ion-searchbar>\n      </ion-toolbar>\n    </ion-header>\n    <ion-list inset="true">\n      <ion-item-group>\n        <ion-item><ion-label>Recent item 1</ion-label></ion-item>\n        <ion-item><ion-label>Recent item 2</ion-label></ion-item>\n        <ion-item><ion-label>Recent item 3</ion-label></ion-item>\n        <ion-item><ion-label>Recent item 4</ion-label></ion-item>\n        <ion-item><ion-label>Recent item 5</ion-label></ion-item>\n        <ion-item><ion-label>Recent item 6</ion-label></ion-item>\n        <ion-item><ion-label>Recent item 7</ion-label></ion-item>\n        <ion-item><ion-label>Recent item 8</ion-label></ion-item>\n        <ion-item><ion-label>Recent item 9</ion-label></ion-item>\n        <ion-item><ion-label>Recent item 10</ion-label></ion-item>\n      </ion-item-group>\n    </ion-list>\n  </ion-content>\n</div>
\n\n
\n
Preview
\n
\n \n \n Search\n \n \n \n \n \n Search\n \n \n \n \n \n \n \n Recent item 1\n Recent item 2\n Recent item 3\n Recent item 4\n Recent item 5\n Recent item 6\n Recent item 7\n Recent item 8\n Recent item 9\n Recent item 10\n \n \n \n
\n
\n\n

The .ion-page wrapper makes this embedded preview behave like a complete routed page. An application using ion-router-outlet normally receives that page container automatically. The inset list and its items only provide enough content to demonstrate scrolling; they are not required by .searchbar-classic.

\n

Search-bar toolbars

\n

Add .toolbar-searchbar when an ion-toolbar combines a search bar with start or end buttons. The class centers the slotted controls and adjusts the spacing around the search field.

\n
<ion-toolbar class="toolbar-searchbar">\n  <ion-buttons slot="start">\n    <ion-button>Cancel</ion-button>\n  </ion-buttons>\n  <ion-searchbar></ion-searchbar>\n</ion-toolbar>
\n\n
\n
Preview
\n\n \n Cancel\n \n \n\n
\n\n

Opting out

\n

Add .ios-theme-disabled to an individual Ionic component when it must retain Ionic's standard iOS styling.

\n

.ios26-disabled is deprecated but remains supported as an alias with the same behavior. Use .ios-theme-disabled for new code.

\n
<ion-button>iOS 27 theme</ion-button> <ion-button class="ios-theme-disabled">Standard Ionic button</ion-button>
\n\n
\n
Preview
\niOS 27 theme Standard Ionic button\n
\n\n

For the background model behind inset lists, see Using ion-item-group.

\n'; + '

Special markup and classes

\n

Most Ionic markup works without changes. The combinations below are explicit opt-ins provided by the theme.

\n

Primary submit buttons

\n

Solid submit buttons use the Ionic color's contrast value for their foreground. Their directional edge treatment follows the iOS 27 prominent-button appearance and does not require an additional brightness color.

\n
<ion-button type="submit" color="primary">Submit</ion-button>\n<ion-button class="button-submit" fill="solid" color="primary">Continue</ion-button>
\n\n
\n
Preview
\nSubmit\nContinue\n
\n\n

Use .button-submit when the button needs the same treatment but cannot use type="submit".

\n

Preferred overlay actions

\n

For iOS alerts and action sheets, set role: 'preferred' on a button to give it a filled --ion-color-primary background and --ion-color-primary-contrast text and icons. While pressed, the background uses --ion-color-primary-shade. This is a theme convention using Ionic's custom button roles; it does not automatically select or invoke the action. Dismissal reports the role as preferred.

\n
buttons: [\n  { text: \'Cancel\', role: \'cancel\' },\n  { text: \'Continue\', role: \'preferred\' },\n];
\n\n

Buttons with no role or default keep the normal text color. cancel retains Ionic's cancellation behavior, selected remains a selection state, and destructive uses --ios-theme-destructive-color. An existing confirm role is not treated as preferred. Use preferred for the recommended action, not simply any action that confirms a choice.

\n

Floating iPad sheets

\n

Set expandToScroll: false on a sheet modal to use floating lower corners and a 20px bottom gap on iPad. Ionic then sizes the visible page at each breakpoint, so the theme can style it with CSS alone. Content scrolls within the current breakpoint; dragging the handle still resizes the sheet. With the default expandToScroll: true, the sheet keeps Ionic's bottom-attached layout and scroll-to-expand behavior.

\n

Tab bar position

\n

Add one of tab-bar-position-start, tab-bar-position-center, or tab-bar-position-end to an iOS ion-tab-bar to position the whole bar within its safe area. These classes work with both slot="top" and slot="bottom" and preserve the bar's width and press animation. Start and end follow the text direction (reversed in RTL). Without a class, the existing placement is unchanged.

\n
<ion-tab-bar slot="bottom" class="tab-bar-position-center">\n  <ion-tab-button tab="home">Home</ion-tab-button>\n  <ion-tab-button tab="settings">Settings</ion-tab-button>\n</ion-tab-bar>
\n\n

These classes do not reposition a separate ion-fab; leave room for it when choosing the bar's position.

\n

Foldable layouts

\n

To simulate the iPhone Duo layout on the web, add .ios-theme-enable-foldable to the active ion-app. Use body only when the application has no ion-app root:

\n
<ion-app class="ios-theme-enable-foldable">...</ion-app>
\n\n

The class reserves 80px on the physical right by default, matching the system navigation region measured in the iPhone Duo Simulator. The physical left defaults to 0px. Override --ios-theme-foldable-safe-area-left or --ios-theme-foldable-safe-area-right when simulating a different foldable layout.

\n

This keeps routers and component backgrounds full-viewport. ion-content moves its scroll foreground, ion-toolbar moves its container foreground, and ion-fab adjusts only when it is placed beside the system UI. The corresponding Ionic safe-area variable is reset inside those foreground components so descendants do not add the inset again.

\n

ion-menu, ion-modal, and ion-popover are handled as separate surfaces: their internal foreground components do not receive the main-page conversion and retain Ionic's standard safe-area handling. A menu presented beside the system UI is positioned after the corresponding inset; a menu from the opposite side is unchanged. Left and right remain physical coordinates in RTL, while Ionic's side="start" and side="end" values remain logical.

\n

The foldable values are web-layout simulation inputs. They are independent from Ionic's normal iPhone safe-area variables and do not change ordinary iPhone layouts unless the opt-in class is present.

\n

When the app contains ion-tabs, foldable mode moves its iOS tab bar into the physical right-side reserved region and aligns it above the bottom safe area. The Ionic slot value does not select a different foldable position. The stable rail is icon-only, matching a four-tab SwiftUI TabView on iPhone Duo. While the user presses and drags across the rail, every icon-and-label tab reveals its label so the pending destination stays identifiable. The tab bar remains in the web layer and receives pointer input in the simulated system region. Use ion-menu when navigation should become a sidebar; foldable mode does not convert tabs into a menu.

\n

When enableNativeUIShell() is initialized at application startup, foldable mode uses the same document-level projection lifecycle for fixed-toolbar navigation and actions. The active ion-back-button and ion-button or ion-menu-button controls that contain an icon remain the sources of truth, are hidden while owned, and are represented by interactive Web clones in the physical right-side system rail. Buttons in the same ion-buttons group share a vertical rail group. An icon-and-text button is shown as its icon while retaining its accessible label; a text-only button stays in the original toolbar. Menus, modals, and popovers retain their own toolbar layout.

\n

These Web projections also work when no ion-tabs exists and when native projection is unavailable. Disabling foldable mode or leaving the page removes the clones and restores their sources. Override --ios-theme-foldable-toolbar-top when the simulated system controls use a different vertical layout.

\n

Two-line inset list items

\n

Place an unslotted ion-label immediately alongside an unslotted ion-note to render a two-line item. When using the iOS-style inset-list background, wrap the items in ion-item-group; keep ion-list-header outside the group.

\n
<ion-list inset="true">\n  <ion-list-header>\n    <ion-label>Connections</ion-label>\n  </ion-list-header>\n  <ion-item-group>\n    <ion-item>\n      <ion-label>Network &amp; internet</ion-label>\n      <ion-note>Mobile, Wi-Fi, hotspot</ion-note>\n    </ion-item>\n  </ion-item-group>\n</ion-list>
\n\n
\n
Preview
\n\n \n Connections\n \n \n \n Network & internet\n Mobile, Wi-Fi, hotspot\n \n \n\n
\n\n

Use slot="end" on ion-note when you want the standard trailing-note layout instead.

\n

Inset-list section headers

\n

Add .item-group-header to an ion-item-group to create the centered icon, title, and description used at the top of the component demo pages.

\n

This is an introductory group. Place regular list items in a separate ion-item-group that follows it.

\n
<ion-list inset="true">\n  <ion-item-group class="item-group-header">\n    <ion-item>\n      <ion-label>\n        <ion-icon name="list" style="background: var(--ion-color-primary)"></ion-icon>\n        <h2>Lists</h2>\n        <ion-text>Inset-list examples</ion-text>\n      </ion-label>\n    </ion-item>\n  </ion-item-group>\n  <ion-item-group>\n    <ion-item><ion-label>First item</ion-label></ion-item>\n  </ion-item-group>\n</ion-list>
\n\n
\n
Preview
\n\n \n \n \n \n

Lists

\n Inset-list examples\n
\n
\n
\n \n First item\n \n
\n
\n\n

Full-width segments

\n

Add .segment-style-glass to give a segment the same glass surface and selected indicator treatment as the tab bar. The class preserves the segment's existing dimensions and text colors, supports scrollable segments, and respects Ionic's public --background property.

\n
<ion-segment class="segment-style-glass" value="available">\n  <ion-segment-button value="available">Available</ion-segment-button>\n  <ion-segment-button value="away">Away</ion-segment-button>\n</ion-segment>
\n\n

For colored segments, use Ionic's color property (for example, color="primary" or color="secondary"). Ionic uses the palette's base color for the softly tinted track while keeping the selected surface and labels neutral. A surrounding colored toolbar only supplies colors when the segment has no color of its own. The optional moving glass inherits the selected surface color, and custom Ionic palettes work without additional registration.

\n

Add .segment-expand when segment buttons should divide the available width evenly. The class also changes the Liquid Glass effect sizing when registerSegmentEffect is used.

\n

Segments use a 32px minimum height in content and a 48px minimum height inside ion-toolbar. .segment-expand keeps the compact 32px layout in a toolbar. Compact segments retain Ionic's flat background and indicator colors; only the regular toolbar variant has a glass container and scales its outer container while pressed. Content and expanded segments keep their outer bounds. The optional moving glass lens is independent of the container's background.

\n
<ion-segment class="segment-expand" value="new">\n  <ion-segment-button value="new"><ion-label>New</ion-label></ion-segment-button>\n  <ion-segment-button value="replied"><ion-label>Replied</ion-label></ion-segment-button>\n</ion-segment>
\n\n
\n
Preview
\n\n New\n Replied\n\n
\n\n

Classic search bar in a condense header

\n

The theme gives iOS search bars the iOS 27 appearance by default. Add .searchbar-classic to the search field shown beneath a large title in an ion-header with collapse="condense". It uses the conventional filled iOS appearance and collapses with the large title instead of remaining in the fixed header.

\n

Place it in a toolbar with a color, such as color="light"; the classic background is derived from that color's contrast value.

\n

The example uses Ionic's standard collapsible large-title structure. Scroll the preview to collapse the large title and reveal the fixed header.

\n
<div class="ion-page">\n  <ion-header translucent="true">\n    <ion-toolbar color="light">\n      <ion-title>Search</ion-title>\n    </ion-toolbar>\n  </ion-header>\n  <ion-content color="light" fullscreen="true">\n    <ion-header collapse="condense">\n      <ion-toolbar color="light">\n        <ion-title size="large">Search</ion-title>\n      </ion-toolbar>\n      <ion-toolbar color="light">\n        <ion-searchbar class="searchbar-classic" placeholder="Filter results"></ion-searchbar>\n      </ion-toolbar>\n    </ion-header>\n    <ion-list inset="true">\n      <ion-item-group>\n        <ion-item><ion-label>Recent item 1</ion-label></ion-item>\n        <ion-item><ion-label>Recent item 2</ion-label></ion-item>\n        <ion-item><ion-label>Recent item 3</ion-label></ion-item>\n        <ion-item><ion-label>Recent item 4</ion-label></ion-item>\n        <ion-item><ion-label>Recent item 5</ion-label></ion-item>\n        <ion-item><ion-label>Recent item 6</ion-label></ion-item>\n        <ion-item><ion-label>Recent item 7</ion-label></ion-item>\n        <ion-item><ion-label>Recent item 8</ion-label></ion-item>\n        <ion-item><ion-label>Recent item 9</ion-label></ion-item>\n        <ion-item><ion-label>Recent item 10</ion-label></ion-item>\n      </ion-item-group>\n    </ion-list>\n  </ion-content>\n</div>
\n\n
\n
Preview
\n
\n \n \n Search\n \n \n \n \n \n Search\n \n \n \n \n \n \n \n Recent item 1\n Recent item 2\n Recent item 3\n Recent item 4\n Recent item 5\n Recent item 6\n Recent item 7\n Recent item 8\n Recent item 9\n Recent item 10\n \n \n \n
\n
\n\n

The .ion-page wrapper makes this embedded preview behave like a complete routed page. An application using ion-router-outlet normally receives that page container automatically. The inset list and its items only provide enough content to demonstrate scrolling; they are not required by .searchbar-classic.

\n

Search-bar toolbars

\n

Add .toolbar-searchbar when an ion-toolbar combines a search bar with start or end buttons. The class centers the slotted controls and adjusts the spacing around the search field.

\n
<ion-toolbar class="toolbar-searchbar">\n  <ion-buttons slot="start">\n    <ion-button>Cancel</ion-button>\n  </ion-buttons>\n  <ion-searchbar></ion-searchbar>\n</ion-toolbar>
\n\n
\n
Preview
\n\n \n Cancel\n \n \n\n
\n\n

Opting out

\n

Add .ios-theme-disabled to an individual Ionic component when it must retain Ionic's standard iOS styling.

\n

.ios26-disabled is deprecated but remains supported as an alias with the same behavior. Use .ios-theme-disabled for new code.

\n
<ion-button>iOS 27 theme</ion-button> <ion-button class="ios-theme-disabled">Standard Ionic button</ion-button>
\n\n
\n
Preview
\niOS 27 theme Standard Ionic button\n
\n\n

For the background model behind inset lists, see Using ion-item-group.

\n'; From e67caaca5faca766989954bc560ac4f32713552d Mon Sep 17 00:00:00 2001 From: rdlabo Date: Tue, 22 Sep 2026 13:40:23 +0900 Subject: [PATCH 25/50] fix: match foldable toolbar control metrics --- .../foldable-back-button-ltr.png | Bin 68743 -> 68604 bytes .../foldable-back-button-rtl.png | Bin 68661 -> 68544 bytes .../foldable-toolbar-actions.png | Bin 80933 -> 70841 bytes src/native/foldable-web.ts | 10 +++++---- src/styles/components/ion-button.scss | 20 +++++++++--------- 5 files changed, 16 insertions(+), 14 deletions(-) diff --git a/demo/e2e/screenshot.spec.ts-snapshots/foldable-back-button-ltr.png b/demo/e2e/screenshot.spec.ts-snapshots/foldable-back-button-ltr.png index 5395a378404becbb8b0d13641cf8cb2294e117b8..e98123ad0f2cf260194d725dd355adbcd6eb922c 100644 GIT binary patch literal 68604 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 literal 68743 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 D>!i!H diff --git a/demo/e2e/screenshot.spec.ts-snapshots/foldable-back-button-rtl.png b/demo/e2e/screenshot.spec.ts-snapshots/foldable-back-button-rtl.png index a0fd746c9f011021b5acab4211a6c3f4cb4858f5..29aadb10c7eb269e4af29d55a9768a564f9860ac 100644 GIT binary patch literal 68544 zcmb@uRa9L~v^9tYcMt9oT!Om=hv4qPgS!)4f&_x=f#4D>xI=JvcXxN_4f*arMt8sU zZ62^KRkdnatvS~TQ|<|@9n3#AISgp zmy|4Xl0a0EP%0Wc;3_HzE*$#xHuG=)tIHiUpr9ess)ZxQ#LhjZ1|3E;E}nGx@|goC z=$tWJ931M`vCzfI=TjZg@UUz8Rq&lZXdieS=X%bg*RJEh?h_`BU}m4DQ>ju-C}>7|#3qD+dSZb3WTv zasNyt7mN2-LbFN!Cg|DJPUhfQ1<;Qq-pW?7Y8E!Qam3MFyiHvP92gBqJyvAvMr| z$$!EV4i6q5|FO9lPsI|Bjvhwx4xRq()e!B0)Tq&;2Uq>nIYtF^qPp>cdtg8MKa;_c z2F9Sm{hd%$QAzso!@(_n7grS#eQpIpN={BrwDKJ=FOhGQxC#Mt1h(vWfu2wj-jNZ| z_U4<=XgFpj`jWt?6qpd#z*bCBP;_;o)9ELMI(L&G^WqD6dGVn$y^W3u?upkwFrZaq zNr_y$nlnFs$!n#x%S{i* zjm#5`H=mRKSWKAC{$5kp_m(@D{wfB0c{n#^&R(WnOPkf4Wf!yB)YJrQ@vC;kw87Ey zf&Yq0N(z0^`fKVJge~0~GMvs^`*q>^W+hSJZgYb=(`!A0zaE5U7d;mfA3sSU^5Iow z5z&*(6(#&5F+zeZZE)A3sAT`H#M4f=9?d_D_%2s@Ke$N3B%0D=%Pbie!3lZj`1^G& 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�`~RTu#a z2nd)pcq{-SB;_&zx&h_koBQiyFx%_sykTS^0Y+>)lUZp`6;*LbFl9SjSv!vA?j*;5 z>~GGM?r+Zo`1xlct{9Pl14c`LgV1(Z()iDK5{CR*AKL)Ecf13UiMhET9Y8A>1L@vj zO0n;a)ai0}si5#cbt;X`ttP(HP^QIb{6X&&e?rBs82AgQPJ6(_>g@c>jO+=!@HB9p zuTc)JFUA6ae20?e5%o1qb{xql%r;M*SIfp3K?t|;nvdw6Zy4rge0+9xHsCI7Qa}T- z+FKj3hwhh1?jEx|WL&fmo^z0S=omHb3mm!KW8-jO~V@Ru}w~T9m7TI{|v*u&5mHb%db-0q73D^O0v(f~Y zZ2#V4x?#iWxWzADy3Dnf4<{!Bw+zyrqp#9Ka9$Lu;YV28HqZ#G?LG+7egNCsMS3Ey z!KcBOFCU@UHve_6v`z9lSB$2Hs%mSgJ0dqK+Cl&)i{rKKuN${K2G$(|3Fx}AF4>bm z+z$*kF?p<$EUv-#ukAh;Cors&lbc&uEVR5m?!{3&|MLhlF9_IOguUGQ4(uF|SA$97 z8+EFiQR02}YCu>2R*i9W6zXq-O^FZIb(FU%C!L^6;8=VP(WFjw>|Eh1bMQHo!yFPGEa`oNr861!rY$CSt%Y;IMD=yeePy#TGNy8-8EJgv>()0T3x-nmHS|Gp9f z4tz-5Bt~>iWa1M|T6)&=|5-^XkP;MjEofH~7U?-TmutTu%%qJUf;luxHyv7-1WLT+ z9S$j}in6lKrQL+v9b0~xnMRPQm=LA06_=_*AnVkfec_4gSV@ay)p*hDEsDO3gWFcJ zBq8Wb^Rou+S?$a0$(}FM6USC!@6-w3{1qpYGR2(jJX%J>T~5(fvyVeyzh*W8me6cM z+Dsg%&xEH#PURp;dtjKQ)5^;4R{x^5R!~4diZ4Wxs{q@ssz`HxOtSx%>{#gsi3j9E z#=QnfSC<)7&QROC7g}EU?d}Wwkg5p`b8RXs36_+g&9)pe-ouq-5NDs`oiYu&PdiTCMZq&MFvb3}u3ZQpC$~9=ocq6O?ZionuYkw&#_u`i^ zSZ3(HBR?ZWc5t90XJjwe-n_q3vL)e^**PE*SobY^Y0HS3=nC{PmuJ);I;2W7`682e zdDUB21w<-#jz(2)iIp~j<&dm%xA%uSmeUd;|F{N6JKD?xpIPaNIqltLvnm_!__~!6 zR|zLIoHfouRiD9q<{P{p6YS|Y;K}UZG!n|N8aoqkd2FQTp&NmPY#e&SG{i z$28m;ABhj`bdh^*1a-anv5cpvlM?EZu|$!B9-g$PO8n)Rp{j($y_1k%F27Yh@fo89 zqDvP>qAzN1?*}?LJD(%@DMVWnN4Lzu&tFnq<2~x6#XtN+?H&QasMfIdBw81?;m(Ms=oNKeSv z8?QPZe0ljgCr_WW3U`ET+Ig4-U0+8>qRBO^>!+ELWfFUA#gY4gIjV(Y4x@TxcwOfe z(A?(2Qp*uzPEwCQ9wOLRED%&QWZSP0QX%d>FI-q%b4)cAW<&0@p=-pl1pXu*IOA|t=-@2vwsR^aO9qPLP(VQe%KtCTyFU(a|N`7>ojtQ8Pd(y=b>tRh6%+c$Y(_;yHevwi&*Y1w)UpezkdHdkEXT3)}{$25gY>Y68TxF4(Ebie=6ltM4_ozrpWja$%tNpPGMklYTP*bwcn0=RUBk&V^ch_jdr)y_1mCjF z*n%IkM=7TSpt~~7Zg~6EwNt*Y@kidK6PO59OA1XX$NzddduwF#mE8x-6gU={5X`^+ zyC!i=Xz@Ja(&6nUnFH&t@1{2rC)Ow|O);a-SlTlREUdG$zVUqlEG#SnOaY6FRh4%} U*qhGWP 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 diff --git a/demo/e2e/screenshot.spec.ts-snapshots/foldable-toolbar-actions.png b/demo/e2e/screenshot.spec.ts-snapshots/foldable-toolbar-actions.png index 799c7437a75a9cb79946eeec5c9ea03f7bcbf57a..76c32be37cb8d3cb433c4148304d8594cad651b2 100644 GIT binary patch literal 70841 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 literal 80933 zcmeFZbx@V-`!6gZ-Jo>0BHb+@9fBw!N|zul-5}i{-J%$Xl+xWTpoAiwN`o|ubFJLz3Yr7rByfvz= z7(Sh8^r=M5_-ucY;i=!?_ix(mqDFAeop{a#VJ<8#4$EAgW8hPf@jPy@9eZ8xzFF}w z;B2#ccd`2(8JlkcE=~0HUMq2?1>aAt(}x*vdB3wX*bh-Vo(>AB*s|%Rm$gamd?41A zE4&?%ZPlN8OUma^&|tZ=e(T9>(*<1FlYqxw%P;7CcTmO!0}$tIj)7=%o#e*q8X8Z( zzR})a86?J^_1)KK^!}5SloTUMdE$_4`zOetwtxCr;z|C8S_F-N|8rZ>-VIUv4wWz{ zm)e$t^)YtMY#Sz&c0WOMbMIskQJ1A2pY6u(w&Fa0arly{O6x@u(Zv{nort-1-i0Fb z3;(fs^Ls~Rl}p$6dtSZ%DYmlSWu>CGe@3@I8n2jbfxOQWbE}tU+bsopU29rWe{^%i zpHaNb^VzBunf0y2SL8CND01KYo+aXFRjc>$G1tdO_3oWf*SL7|t(VQ?rMmV6h9wtS zgj`qD$KAH3GnUP};~Mw+Zt5BPJ$tM3ib}*m(xQh*(}HPGOXkAuU`^Y_e^6**Qm8oB z``1Iq#y``p!>lYUp4%sXCXAC~lUUV+ZAU}XqbvO{5f>pC_;pK3YJDl3V|CAdd(3!s zM@SBY2c%yp4OabDN8$0&c^Tu?Fz+noJh1ONhB9_Sde5?iQ)bj?AF*qTnc94qLFJhF z{4(9AiN82rs5p+_!`EL@C|nC6xGBTGte9!&n1Pr**Xjw;*tDXVbz3Ie|23?*ga<2h zNl?gcyd$4Z(zDENq7;RlY1(r!HUyJ!rru-wzTTr3Nl9%jw78k6sSomHQ8pU!<;iY7 zh*_ST)K@%Q3!4qN%y|)dMZZfoq*@G0Oo*jB zpPqa>_L*xz(X946yA&ZvGxiq~4^)n-q~5|TQm??IA$j`a^TlGkjJ_5YS^=;9B=7af zfc4Q=)id6|-)O&#>3PpJYdUnp_D0uPDZTD?O;V4wx=ZHU%hD6qJg*IYfvQNcq$j26 zW}j&!n}$c+Dy`zzFP3+I=GISFiHHxV)EsGT}_GXym`|a&PR=USL_ob+GEP zd40b*-tor$$%gL(Uu8CrS;AJ+s1nhT^)lAc(UFgK<3UM{%}8N^eE6w-XT-ulz)mYB z-yyyKF=G?D;xB3uhx7Sx`W-1>SW(3}?o{=S#|zP1dLInGolV+(Z2W9LRq=cLLp#ep zY0mD+Y949x+UTqPw&%Fvg!DrQ7Kx|dtM0#lAY?zeb8$3#xsuE42RI^9kvWACc` zKwG)d=O|agqcmRfdzCF|E(SM_srFkPR+eBtHnWZhV%+OoHWQ_^CoDdyx(tf8K zQyfjG0R+*RX;oY_#FF(TG+lv(13=}lQV|> zMyqj&qnR1g&}H9?o6L9h?-eRU8vCDIwUct3Y1mutue91-=wuts549T1eAbRHLdL0s z-rWT^a=gT#QZbgwOGZGa+TkZIcTM0`v+Fjr*AtY^KbX2gSiWz$7jRui< zla^ksvgQXL3?~gq396@EqEGY$O=?fnh(eq3rcdhO*}q3TuN3`#(W+@($AlD-9%h@OcS+b=ew(Haa&f>#JS*pL2T1(=sGd| z9$V9qZX8B6yl=}90|LW>xgNJXA38)tNAIi5msAcdY>$6<$agYxk9?xUV6li4^_&U% zgd!=?{ni&QiI_$NHS{%t$&^LSmi^b!yO-09w;JiDOcioN3ofmH544hzUN+yyCXG|e z|CX^5YdrXJe{kof#+hrpmS0aezbEIu#RsFwve|5dHjlCOT*KNmt9#pm%q|pORG~dW z8%r45eAOotGVvh=533!7o_uYY{*H}9a25CZ(l%5-DVKo}Zm4h=KJ{mZpLN1dzr(o8 ze(~q`#43*&D(&4NwB0z)d#^>eeVk+kb>HedCu_)SJ6_3hv}XvB4Z+5y!outonlN%* z>LIp%<+p%#+nm3BC3#JyHsAztw%uDSP^_~gWSARC-gj_(9`JxpL*%Kn;G)zEyIq;r zF3w}srEizC@ou_jv~%ZvfBX158K;S~;aPy)j+EPJN6C!e`AAIg$za;=OUJQ-l*N0@ z9<+Q+-+RUw6dYW>+ZH!o9R3j9&k^z@KbG)0+>qFA*iX5qX*!^R)qa)$x15=o&T|f> z5HaKaGsv@>IbM?A_tF z`>=ZJ^w00|X--Z~k)Lk&1~Y{;l)rzn(}St?;-=n%kB=|D+kK3Uk5|HA6y5Q1TOaMT zP|TC|n+dqQ;4|-<`!)BqN3PKH#W*HgaY6DjRFN z?oGe*onopi%w`FM$({Xo-NmYswL3NDi}4b%5yHs%#DDAIXO>@=qiUD4=03fwX)#nn zQ9Yg1jtxPbo$upc9r?%JhEgs&khwS*D^f`Yn6s2;0%Lo3bCKF4-5-F}j~C_Tk=>u;XH~AiI{mk?J#hFa`9Oqiw z=+W9ph&>XBb?u*W`Vx||YgP%+%ZEhC;r;YG`gwkFycqA?#gGK}=UP--L_^;Pp?C>G zwh~@iX>sWg6cwl4w=3Zf<9u-QSFd(kGZGb09B(?OwRfbh)Db>n^_h6yZEdhn>gheQ znL%s(z#-j>E-jv%L1{Rr*R{rRs?Z*Ld5iL3D?dgnTW|c-xQiE{`>fH z!p|Xot|8cYvD6}|9NKNG_tj9QngcGQuHB4ya2ycDbZO=uH+XB((qk-pkG*{}XxXpkmad866$fxi`ko&kqX@ z(Ou~@5J8&Yd$QL_vwC^iEE}ZHD;LqAA^oS8DL#Z>Sw-b4SqL$^&{`PkRh*8_YqE+I zj0!XIg}0X;CEzN>(`jf*|0>zVQ^8#t&dVcyGSG~6pOmdz(gBCCdvt6pk(rA!F^vP} zYHRS-+D7Q+X>iZIh~KdqqS#+3u=1W(xwI;v+@#&HE;CV>xgr+fAS-Ecn;eI+FjOI= z$JL}39=_S8$c>=e>`|>tSZiTROGO86Vsv{rx`Ae$Q8x@373glm$=re~BA}O6|J0#L z#vNl6As{w1@{+T+w>QdQiTDlno#^W$f+~!As3iDIgtsLZdJq;RDv>wGJ{5RLW;xmW#NRe@pc?DNh z3BIS`#q(0&qZnRGC5nWPKZ&5LzsBT|XhT%1rKpHu?!CCnxAdu?Xmv`)t8*XcE9syR zF%voRWjvG$m}KVIX6EMmaq+ELOm_rvc|OWY6@2D+b3?%axTZ_S($dTI^>sczKIjHQ zUe~1lq*8WnofE zXe;gpB-#}f6=g0uT$1+UtxoFkD!iUNg(Inuy}VY7)?|5BnA;$e z)k>{l*CVlZM@w!=a!)W~y48Oih1%E5?^u+LO|h<(y2JR%lP3-uJP8g&OySx`>@JvR z%fGq0*%0UZ!$3F=vK*Vl+}6Ha(=!?Y;u+1;G`WPeBxaj-llMPbfW+q~%Y83M+0=K8 z^JD@BaCsVR_UPaV!vrU&c?-pmatY+)9e|kzPv_)C2B}x`aFSnV6t+x^F|uU>{7I#o z&-c`l*))L0Q3=`*(bGd)878FUxA^t-Evg}epQvZw7OP|z`H#nCH1T>-v%Zbj0hT^@M%6FT5Yd=5z5l4Mg zhfN=L3^ms~f20dd`y;Dr${U?mQI%nZPLlZPJ0>Ts!d zcCB3BKF;M!#F=BN%*oOsn+8>$zxRvEA@P0q*3M_9F4PC~C@-(wd@v_5RqI;(s20GK zKN}lc;VR;Ik+43==jexHbNOnfklo?d&)-E(2WunGej^O$O#xC0d%xhM+Q&+4S4Liv z;cqUAxjg^VNWR}t7xRrID9(pd)|I`lvy+ncTF?lmJ!bu2q*>H@Y|o&tOdV`i&$#8ROJBUD3(e{?xu-EEc^S(ky_W)?;6qMJmSkK_b9#u9Q~}8 z@;(6Q-&SS2O-Lu1o+mOhN!e=Qa;@S~g@uYFQO~Cj535PU`01kKHkDXYc#NB%+DdL~ z?Nq8~@K2Y(Uw{Q+r^WBu5KLcNU#B!;h;*uXp_Ea$15YOg`E*!}JOsInn`p*#YRa~c zczVf}Sh)9J7G0G8ru#FEUlNhlCqvDA*!HO}xK2q3=t z;tbv|f7~ps$sX0OuvpKq&J}W;@c<2=jRz*T;io5Rsa&-SQ8%Yn2SsMN9)8|<=%~S= zyLSAWbBaEoH|kpR_}hCEOLP|4oFs0U6%VO;{(=u z5}9F1bx~J2&PrF&sI?oBwJ?(vqbifUdBr=Y(JZLWGzCxKF9Oc^hK;)Ph}(l$W6>Y*3hOI zXZ=JRHzxT45GUl^n0U8RJ$L51r>v(cEJO85%mUSTp3WJZsBJ}Iu*-}ONVHyc2!Bc8 zlwIaOoGTS)+@blt3U_7J#{%J(F#6C7T|STQ8dEs3xrTh&>W;GvrDlGAuXu<(&sT1e zIxnb_L`0~3XJs%;!Y87lo5h7sP>cI_&i4@3AIUG$jRlJd`lpCQ~5!pUW9%b_CX~|2Cw<+=H zBmwZrI82oOT9?bj(1H?Md56P;4rxW~I*5ig_=)!M|n-M@ONVjZ+ zaJ}3K4cbZoG<>!lTNI%9f-^Z3Ny`2m8{g?{^QZg9r1NTy)O9ZXmgSeJzo3raKe*+} zboaG7rSA9AM-s_NNwD0{&bFILbKAm+46a3{Lh{)QjRx+S~%at z!SpWvMn`8SvEa$C_aAroD6}MBsU-JX51ki*Xy_geT_KiIz`Y}4e&W#t2B!Z@#aN)@ zgW4+!b6@Xib$%*yT`dhjOhrAodH-FC-@D-RJg=3Eho9|F;FPCO^3coKt@#zOBtI#G z-nq7{$>fp0z{*A!&?+k@x62hzehJ!0dpKd9>yQ|mI>q*NZlg(!uhZc%F)U=H3yrTkor`AsUh2xa6u z=;gk4M$uNIE5#?9?UD5MD&5oBdytCgzpHi7h|TCi4ClbUNE6F6?lulPh#uU#m!m!6N)9%NmWMqUAp`%P4l$4nn zWhScq*yh6cNhFpr$Gd(t2w7}Z4TpQqM_0j%!8#RlIm~yHe95rK zZn7tZ22XBD2)_C;W^^3kT&U-_svb5Vei3pFs!FiOl;k)!_ncvr%GqvyX4IL$63^z8It-Q8<%sdtNzM!-t_>~M3|XItt_Kw276 z58x6s6uWQlEL|dBsilF%a)h)szT~%p(-mD(`)B-N_0u2M?Jr^S>>gG0bNB!EL$4yC zcD;w=E7ceJxx!Bky}j#tZ=@NysDM$T!5ws3yBH@Ck%R{zdA{v=jjZ^yUn%M7p2Jc{ z=o087M5Lthx~y62&@iqb9 zxs}$#{(HUbDh;500UCSU?B7_~4$69umYf_aUoiKhI>7QW?ib+atqkWiJ1;6;;9xO9V(x4DVNSJm{=@HQ~u+1B;9>!nmniB@Olr z#UBD%@v<&#k(PJ&-)9OxJq4l7jGwP`7A8)29PMV+?Ezn4vy z*whOyOAqvv8t28k6g1J&Yu`Wp2AuKa-s5TqS|91dNpohUIF=m0vqRzu1~ePg&jc`( z0cihh^bzsCIugkA_Fl23jt)uIYt5YRaQPqe^8{-7oN^pk?+JKkEgRujn>1tcH=1; zBFEAt&{54D3NqwmGt4@rr!lk=sh&YnJ0SLP-p#)fu(+_`I~3s)*nIz;?(SpT07Kfj zkZbt(fWeUk_xBceon9-6N2%9`RRFx{JNwlgqI0NTF3Fu1H1|~)$)=0sT>2&#D2zQl zJ^FQSoVegFxx{@iZkER6e%vrQ6%L9o6jqaS%*DS_%vIB4VDNkqrwpMa0Q17*Hul4j_!J= zEX?;L8|cqLbX^QJ(KjwPyR%9(aI#*Ux8+#oH>ZzEzp*0qSmt+0Wej`hd!Q0eZ*C$OlVUhP?EE+Y|LRVY$GulK=zc8r5Jp7 z9I;&}QEfNC3rBKaHklzHMB6isplGt8CxC6$lj{_SjahXE$}FBvN;Pz$YD}~8<_GfD zS>>~kuVt0AuvE^5rO)i4F&zE$pkLRISLTIgVk-I3++{o;ucZ7V^rqn<4iY0yghQCq z7|?u*J*bqd$;pm>p62Xb9=rpdnmJU2S+O=A7xi$>>{c@nL!4_jcn`ERG?t5Vu+}9f z=3-qpIwDDP%%7SRK5q0baD4`C3=GHQWbg&wcJMg)xPb=$rvt2!ogj}6?lW2YR|=6N z_7(A-EznvboLZ%1b)+RQqcuXa;)s~K6N+J(Ep9hoJ_c&lInvVmxCM*y=faDn_hRqaS`ng)iKR+jMKC08q5&OenC$EXE3 zC@iO@rDoQrFZjemXDRq9uCU|GG|UCXABU`cYavTZOWpJVz5x8)hu@dhy@Qnv>uT~V zSeC~{0iDJQewLgVPOyU_6o1FRb zd`j%wP%wzDNdFm3cE6?P@~Wy)muLwDDu5XyBMqE3ii?YZW|o5jICMtBg-Jle@t}mF zDV(SqOi(IE1!!$(4v%VGSjFc?)p$N3!nlf=6;c!L^rPZvL4@FLhkV%wMzWAy$r779 zJ-oE@lYOLj7~lssn1Ix{rWKxInTX&&&z>E~ncNa8BO3%P_P8>~7(#olvZ<#hWM(1> z0&}RSGZY6_B5sE#D3GK$LWVHRLA(9m(`ws%wB!?+?rdOs$u|r=06frh)>CL1v?Hzm zA~CVtdYJCIY8v+k@=7Gaa7JFm{9jG@+&b|y$^SVqI0E{6H8Jw|J$Qc0I!K&Sde;;A z_y0pGG}Acp*i7-x8g3ow4@vqY)0g#p^ksE?OyXGEO3L za&l_we$)kqbcU8-X0`+}TU%RDKDo%a^veL1u|0u71D~i>cX8PR>V|vmhHjBEacFSw zjkU0%A{HHa@r2As!GCfy3Z=KNFoAX{EiGLki~vaiRD4Zk=|o(jdy`<| zK$-kA*A)7gB-bG$PF=KF`*&F?GCXAVYB=bW?gN^$8gb;Gz z)+;qqkfi+kZE-FTSonRVOn_2Duza86gW5}z)?hZDzvnB48O6xT$_l5_9&$2q(}XED z**+%x;_PVAzUQ^WUk|_~;^4q7#v_u1)up9-F7}TI3n*4BEEcQlc#Xu!$JK*Pgag)A zxpWu}UAe3H0ZuVQ3>@7xZ$TT7!%8HDfJ<_abcjD`Ehg)jQ&Ljk(zA9(s@ajycFoM1cg|dNrFH3sMSGW0#ZE2Gpe-Dk zv9KS|6D~P-wujM~MHpAc4ssR2KVy|&K_xwrT&i;@qhw&eibJNXrY2wtOcIW!K-_fz z{!d?qmR^16z?}Ug=y2Gi{~qruv(Gf1yKqRaz$7-lf#*naZtgz^?1Wptw>qrF)w0xO zp4wU#MAAlje(OO=`Wf2t-!tii*$Nqt#fy_SlBh$3MFY??+eq+{D;d5sI^v81(gJ&s zCdjlmuO!=Iul)COa^BwF7I|66Fi1;8K@P~+Kr;xz~IWMsUfTABVn_%jQE zh(I%&Z||=0#Z695_9n9{$@8W23UK~&wo7725Db?xxyl0|uaSc@%<1p*+oQp{N-b*h zv+miC&rdaGWL=RKR0K!Trz1gd^e&;@ThD`5(*#3agRDoc>mQ2>`FaL^akfiewwUV; z-8U_Ju(E&(*fD8b=V$wSf3BWchI2I&SE#^zV|< z1+Blor-yf{gB>s=7mXMvD4fz_-PdBo@Ll)$bbLX|QqiySxIEgI=L(>ZUd2APD&tRH5 zNrl{hR`dUny4 zI`FHNXd?1QZX+Or89>unHl3ZxG@{KQa&4%gkIfqhTCnB z0qW7$&&Bx9nqfQHnQte~z@@ys=Vf)9jg|Fz)=jYWk&i6+skHY2hjyUkvaP7o+!g0! zWH{zoKARk}yJ{EREsz5_H7-6r9-1$19ZF|HVxsfTTx)13Iw>3AF?iF+RV}pJQ6#LY z=?%Bd%*;j#@9YYu^NwWybGPb1)1no3;}8;hq3y4~eJ6q|I}GN?RbC23amm{URXRd;Wx(R8+3Pk^Ha{^;!+}7?waU~E;?c&TewtNZG6j-<^8}7S?)PK4(&n(fZ#6=+>psW==6G` zD~v)y*Zu^?lnH+?J(v>6!>msLcd1G)2=!|A3#49v92c&~`m2G3j2*)qf3FHlZ!If1SP@3rVu?X3Tm?HdkNJgcQdd3D2?BrQ_6hd!rf;9lK@ zhwMl75Kc-|`~M%%|8EcI(EW5)ABV{@Q_#j?%6$L<2?oiq#J1#i8b7fCbhy@E-`*o_ zodUV%AdPf%cT-PH%3??EAk{Tf8jio6H4^A*D(5}6k|{iZfWKy&FM;Vb>WzOi4uCcQ ziAOUpr1=EhA396U2auNhmlBn>n$8>+sj^-{ytF{9O;q)tdXFH{Uxto$bOvlfa$ z;hS3O%p=DalU71Pg44JAdKvak5W5Y%N!9jmBOx`}_Bq;mTA>PYCx^OqHd2j$p#aJF z(XEe-hlXj6)_cXq&Hkp1e*C!fGbw-Xld^s?2B5jiE^0@M`Lks3=(c8?1N6gba4$FG z{(}Hwr4UuOYtT-qgq}!(7j82^-*2?5qZMPLy$;*GA5Df=ugNWBbHN7qK z?3Zp)7&d){(*FRJV8Gm00cdMr|nE#!NUZ@zm(3?SU>(6um?m{W;dkn@EIJaj$ z=2HLB0=Am}wBhm?)w$Walc7;E`_@mo@qeJf5^<6I*aljBHlw{yuW2-Xkr19#=UpCoXJlEb`M;hj;zv1A8zo4SejZ zW?1<6oV#Ku&!1K9gYQ=gNit|P-#~T+DOY6LsU0MRSXg40!p_dl&_Yx-G(LTN%v+0I z%!XzWG7$QQspnFy)gm5bsuHy{ZjcdAfE_?WLkOH+WbhnRj};43=v|vXs#iZ|Vs! zbld@`)Sj$lZ9Xk)0OwL8OPE#B337hT`$G~#r=Y-@4&~%gcvjpt3SR~z)|uOVr3iu` zKrz07nV>IY)`2yR*R|iK=`QWEgw+qW|NOg)NI(}@+rvQK@&bNB`z{sHAPC_PUAVVNWfe7C^=h*`QM3Bpx1`Q6P&(F~uYnM~u?(9Q8WLIV#Xr$q1 zdlj9I+mPDqzDswEC?b%{Z0|{^qo?nE9AACWUpzY{ujVw_2^Qku;oMRqe zyNk_L`HzLN*U!VZ14$Rw!`Vh3k8xK@Pd12<`lT9sud}*+0Usbi?$Bw&0g|N=fu4B> zkPc?!uY#f+)0BwK%Rb1oD`nh;c*X+oyiRLmezl?rcy79vU`MRTO!|7`ZTx(5&>x>j z9_9x2uZ_GUrU$Ca5<&LnUNJ!ygdWGCGl7LMD|7WG0T!8<-A2VfeF?VeT~LfR+({$|4Hdz%kBP@+)iuZ*DE zvnL`TVG;f(=IiQEPV`s)+&40>>%8_?xOj|eh|;9%KkUmU1iuia^VN(}uZ0~UAIt*b zY7t;)uVH+}Se0WE^{I$?82lmQu`=v|DKWd!(G8+3S{Fl%b)Q_zdMpr70lNG1CFT9@ zjR0UxB_A|6&9{ZNf#(!fEn%E;JB4>(#cfItk4&sj?I(~mI%9$}f}iecMBrZNhiI6sc7rJA_U83}3_)dy(5!=y@(uTFdXpjhezJ@(}SGEF1 z;Qn=#AqUv9Bmo}RMJ;^%heLhr7ez3oU{b6MWGrs<@)v(LCjM}@0M!}anlyutyGhK- z+O1AI`0xfqBrIvE!T39a>{-qqB;_ES1rI1)y=SsJ4nP+JWq_p+|T|q^% zVmqntfg#0LiLIJN*fHh1l3@*T>_(_9@J6N~VGPmU*H~ZhA<_mrtn?;9)sP_$**T0A zwE2>6(VK*ZfwwkYTj{C->60!!R}cVr;O>5VcOUu`>^*qZtTqQaOreozf_@i_gvm=# zL=>A~3r`8)9oV~u#H$ma9s8djE5YDs#iXx_Py71OIL|)e2Sn;!!7hcopp$FtF?NJe z44o8JYmo9nLw1j}&OBP%E6^%7?o~THs_>h#OrspO7=W&T+ylr&q^}sm$>_7e#*I>l z4L;!G#r~B&k2>^ht@ekAl7}*>g6mFxxKQ=ocDPn?2 zjF}V}w-E(rAfuYPx*J(LA0Z-KpVZ0{bMXgg1EM!yz8H>>+_=pIE-v|aigWGd?~=&z zNdt<~F$u&KmiZVsN6R|uV)xvggD&a8g=T3^&d8Uj4mcVvF8q5vo@~nB)9>(#b^=n4 zd||QgtdE>X2EHY(vLi$b)+rIEq=m>T6BX_ zi=YF6SB`UGD3|shdD%G>fE}_Qe|Kp`k#}si(5|rPwfArSOO1LM%ce02>A0Y>HK~lP z9Xg=lL_V-sCB^*r8=Tg@FiztE3qS8nSZ#1<8FYeuW(a^`1OFu+6D76il7korhz|Yq z%Ka*5H~A+|enEslHHE{pP3bQ=;pV_tK&9A#U~=-0j;^jG{AoIv{DP*1B7dc*&&9EL4ShN&%6KxGIg3v zz4YML&nnxoP;AnTx6E1Lz=DulOWD+Cpf|x1O25Q_p?LwAaX>|B+`&&D-R_K?37j#A zT=&}%U5d0M;7KWH4QXN&Fvd^j||1e_{$y7qEtSiPU9_Dgd> z!1qnD)$Dsf^*|KU%HZ!@;u14ZqXpCNL9u3zb*`5coCfhQ8vZ==MSfF$sFaUQr+wL? zcb~m&VN;8tmyxzUZJ}YatCr>p{&Yb~tjG^N$kcB}yqY0dfnz7SW=ae--Uw;k@-*xO zA7vub9}4uE-q4FI=6{kI1R~O!!Aa#OUKoyGELL@r|9)$^02dL2vGM|!cDd9~a5Uhj47aLYP`0dQyKHbf7sNH>BiGgj|86^5AQAL=}fA)0Sr>y+k8RHCcIi}ibomPjTdp(HEF!op%g zryds~@d~mWE9jv_U7({Mfmr?1|7_EJ@SC3Tpr~h00wX@Pa07ssSgcT?pz9)*5iznl zbN*!#U*GF(Ls|!LpN?i!n9-Ti8Yn$a%95 za;+n~|M<=ripk(PvswIjqs?6Z3BHn0=A3s|m}Ug2-Gdb!?&iHw-mNLIDOjgjG2hb& zD{o-|N!bv;=%l=fPXA~Iz!c0T`{4>B)hu=6c^Ts2KNM!bvnfOxG|lsQ*r(lmFscTM z`Mfb|c4CcH%h6NQ>QWE{y1yGx5am4^H;B7zfRWB}22trbpVcTQo@Cd{BFMkh?7%6c zIkP-JgdD)+A7qFC$XoW$q~zq@hChVi903op?CUl^{{Ro+*~lGoDbNOHikTOb0fDA= zW^@G3c+tPpNM?HXu$nu!7;Z|g8|c0R^IT545lNVZKcNe}o`fLNxt8=v2Rah^$IUX0 z@xz8{2$bNyT5Uv|*HP_aH<(stS#AWDC!G@bh(Mn@b`^tBwT4I-Vwzo6k^SAtw`(v;Id5NaQ?$h_BBoN}9xr zag`u~Lde|10(r7_leIMHWg%S8wCFp(h(yvq#emJHm4<>J#$~FsAI!#{h6OJ2bGAcV zcr=pZ>iYpt4TpwZ#b4J3DUBftP>-7H2Rt7d5z8fun)nRQ?^o9OpYOd|mzwcfrM31e zd!YEV=$B3qr~HpN-zPOvl9N9Vx-?co{;(r*avRk(`z#-WE8^I6V%1VucERY8>K`Lv zrWdxRcX1}Aw)T*oiyfiCeD?G*G^CG|+Q(PjA9WprzX9Nzx<_=X4MVEytlyEg9XYpA z&oJEAY-dJijm3<+svffYuf32VoGvHWYAPy#VKWNIsR6cPi>5AgmBZ7gTFlUGYr9oF z9n1ycV!ggJo@RI)z~lSrK0y7y18}7Cv zHEObEiXAJlUMV2t16y|8m^Nzt&fNPFrH22sv_UqweF)FmR&GPRD*bxrr{iJI7P&FY zvn-Cf9_Sl?fK(kB3`fFt3)$SwVPMfAR*D9U_e42Q2qz0UbhuY{yXm`iVEb3_?a%m+ zw&7O-e4booU;f2QQqVtp9rb%$Qt>DAmNoA%LV5?%d5*3%H>VWqEa9g+hj2%Jx|7

t;Zb2F$fOo3`8g~1&>lqL7^{GpH{tT zz@?idFeKW(%7L>9OTg_H34dbC4WTdSA7c+OvcWEySol(viF_T=?@bQY zr`B=G)_IaFX%hREX9d5a!7Chs{X;Ed%3|hM8~2@H47n-+<4sFXw~?fZKEJoZSejC} zlB$s>o%2DE`-xBnq32@2OKcV9I~w=cclS;` zr@m#EMH1I&_)3h|%a!B2oYR&m;%rA-L6=u ze}<$$uqh>T-#kmM?SZ)d$&U{)o*b<8*m~DC^RkqEv#K{I=Eyq`dxxG`$>t9pWXGyb%yaJu;Vdl&nra9O9U^7SU9~o^-$cWLlN`OR8^6UkpKuWM!{+NR4mU8J2`$ zokxWmZVJiMju~Uk*qKhY`P_L`gRWPmlHZch%1vVs`(EM)fgfU`?>sNtcoZg$ES@U+ zAD;&`R^*S^XL9H=it2RuEppXlsrZE}Sy#}O!`NHuG6g>LqMS8;sm|RG>xuLji?IJ8 z!zioDM5X@N`^CN23HK#vlLpQ_l4caZxZgI~3UJnpeD`X~$bHJvqSI$aBI9MQSii1W zCP#*1W1+9D|8L3sFNu>g{)Y4-6(XXBIj(N>sxbd=aITZvY;47-V7*6)!K%(Aqa!TCUB4+jvEafSKhpze2vuv)4?8WPDdN*BME3 z5MT3%SmVtDxd#rZ4x{9X%$*IwkU!l);8pkR7e*6z*C$=}Gua@K1MieT(wC+vA+ewO ztAq_#o0Fe%qxXki6U?PD^Sefnah)OOlj}TQ#oNYlwKUs4)7za^5yKJJsatx6$IFTI z`rg`(jN4DPUpy;&j#~g*iFk7rSD9bln#R>>8PQ0dZ_qdE_989gcXfYqf-kg=4z zAh*L;mvYOxSXDxba5=_hLG~T@=GV8IE&Shxy-K?^ZdQ6u?5JF_C|$Vyx`x zY0RyLqaqB6{uy)8h3Lcgs|ccS^Bs+n#M@}AuTp;AR5c_giE0`MXj=q6NNFJc`HO~? z)33QsQ;MJ;fzp|Y3bL2Qgz#Vx2i)|+l=01p5nLaBBC1U6Am$dO)Qvdc44{`wk&Ha^ zygNA<#uz-`gg0_F;WI}!FKx*i`pT%xBxqRMh8d&J({i1alF=aCE8@G&*in;3SfyKL z&6C~I#(E8XUQet`Y^ltpugsYIbijG3g))1L4H!4Z{1oo}gieZJL`@e)d2w{BG$ z7B(6iBzmS}7BI@MaxZx)(An#=P&CZaXR_=V;N6Vbdq|K%{je5SS~xHdFE<7k?sk@M z(%``zb%(wLwXSjT%~WCE-yf>YV%IV+iudNH6eAeOvFztbte30>tc)fUOGJr{EHIlM zG?ds_o~4({r{eOCrL$&~lQg5B^rgWbiGh==qKG?{)JYGJMU?p>T+?=hd>_gE()XqsPZD4v@)S^CPT8|P8*oWqNx zxZdrt;%7)C_qAFmzP9XH$Ksn)_%jpKH896H$4hJ7-c1)#YuN0d|0!{_<##{py_<^h zbg?gIlwzz3t~`28bNy=&$Z;WeFF*}cJ0M~tIfY`TFt@&<;X!Xt#pZACfa&jfMoLY2 zS1`c~6#{LuDgA9+&@15Rt#CX>#;`K$(M2YcnpNDM!JktoS>8N*GZ_6!N zb@y4#u*|%b>qJU2TJ#y+hq1Z8ew}T9>x@*hZ*!+f!#(qPjxI%T$)ER(z^26_J%0?J zF`z$XcjfZ6ZlBk6oe8b6la3f1lF?Dt#NBQXem|WPNQmM^8nlC+x(>7M&*OFuqE3xL z3b^&)((suew+6!x%M4!`io3B!upOJ?wEGVUu+eSLjroBVdaYTw4*n}5;- zn_RK4ljI2`2KwU@-oXA&iCDtd;%T%-?){`!#=wBRov;<7;q@CUqkxYMdpL{K@6Hk! zglWz6Htf4TRJ0MwUcybDU4y`zY=xd3~RH z*ow0Wzl*~nb3g?k^@o&c8@j4FIACt#$Bw?MV^MbIBz%=ZJ+28uI>e$+7zwGw!JDjn;iZHPJ;yV;=uvkEMUOHquVuM2X7Ju`$yq;ULd)b?brkYZC5z{2H`v1xf<# z8I-NnQKN}`DMc@fSij`Qn^y`*n_b^fRJTs=5(fS$eB2isnTsixqHBw$dy^>vt zdDE+uwl{bpC-*A5Kn|Pt&3inrviL2&_6z9{J{4#Q2z=2=Pse*3b(D;`)Mxw4$FuJ} zxklt{q|fB$^Q$)8+#K6(wS3_;-#3DGe4Meo&W#-1ez~<-xrPn5#&b&e%H`eNjpMdAZ~~VTw>qZk|w~3b}63J+4HL zhq@89UGqIfSru#t4c0tq8k-^RMxRUp%N&ggcnL7VL1L7KYQd(;9E%BW!MRgL45C;D zkK;!a4%5?`V(Ei#<#xlmZ*&IZCG+h6=WQt5TGfo`64&e05*NVF-_o_0rBeKiS40zI z^{qOR?rl2Hvu(X%Va>MKTjl(+@7devcr_VX%*qQDQ(OGYw&tYuSFs(sOcYamB80=( zU1>ipo_JSvbXnRt8J4wQZZ+XzdFuEhQ;nSGj~l)sZbC1x_?VZx&nC44QJFgjCZ3C@ zy-6f(mt7*1jJ{KqLOm)#d9GGuz>LTB=0ThM=d z@JoO3;AI=h+>34j9hPA(%+i4FD`u5ga7aVK;1dS&K+~yr-Z$_q`#2JcI}iyYr0eay ze8m&f7u}UER;J!xTFiV=TiZhNE1PyiSh}!P(lD^bX*=o~8W44G2WUx3O8BwF4b=R{ z-d@~CMO9*Aw+2C-Ffkw^oh>zwcS0n#`gtE5c$}b^`eM8RScL!0*ZNyf=;LqLJch4> zrUN=Uz;p-ikljX_2>4oH9rBCct;7|#y~A+_PUm11u+PdpK40WN$G4g=jASn3G`SE6 zZFY|&aI}*HDmq_}PA5-&rjO zFzN>o9DzsypvAuo+CwOPvkpC-egOhY=G8i;z-k71jPAXnY!G<)Zv=({AyiQbkPei! z0+&ca28+kR59BgsS39wcWY4|lF5}TFLhORsgF+IUQ?>Cf5{ypa;Ba!mKXLo}t#MkN z>|2;JE?9LW-rO7bmUiLp56jiBce(c%)UOx@*jj!2Iape33Y;QxBmnh+O-x@0*fxU8 zcgO*kD@sHwv;^!Qy|l*;D7?>L6+t+VD6{eT^&!OP8N6v_1}sxJhgx@PEEWlh1BCY& z7^qE-%Q`eb`1=5IVyKe3zd1o}Hw?`CzAEI+>0%x@Uhhj{17naJl!vRC+Hm>~14SS* z2J%YfxIq2Zk$_BQf`WYOEJGL7$s){&A0k;f@{*>-@?md+S@-P|k4-*$8dZVx5@0rW?&b*_e64q}G9pG~1>j_y^F7iOn;8WJW3{>KSx1Gg7il#xP^1Y* zM;;%joT7NJxCYeb?(==fW9>MY3dxUb-B-%O8Iby1R<{rZI-SY*{A%!Kb_L*lg@P9z zD!AM?_SRkfIqzd(*yEifha%1)AVcYMz=I6(sK=Mo{(zFH&0*d}+>}7eswE5|{=wPF z%!2q~6N62Bm3%yS%1rmv!-gf(ztacm*42tu#6KJ-2}VT1KpgynM-(Z9@P3qwDvqWr z;LQNN^8r}Xe8FOgC2kODEs#SpalC1}s6wpFnIYy77n~2DATH;4$KuzFDYDlqO~Ra# zQ!n587BWO6nrtzyXt%&?q_G zF0X`7`rW0QxZ48GrruRY5gg}0O|@_c#o7(=Ub~9C=b7tD z`5UfY7XgzaV<*e6!)<@a(gI%!%Blk)#y#jj>lV+1>&6rI$D9OoMiu0&x@1P<2=c#u zABxFx@Nxe!2OwUPX%RRNCbj%=ga9?lS4%_#OXVgp_-=W9yv3wU*mwLB8SgLx=jmA> zMPgzof;_|W%-(nnFPj`ljUZA57?~A+o=fNV+dz=U@LD_Xxx?3YSW*bD1o1EV9BOR? zMf-vM-4eq9stP%RnBrpmU~njGU^-;=R9lxwEv!7~fx6@`BU{9X$2I)8I=}!Q3|c!e z-(UNnwS?1U58zWIOBJ{pMGkG)q-K^-wW!9>%=_EIJ2jD>7k0=R2E_Yr%3XU}Ak_`6 zvb*LzD2)A%mjjBwe|jFhTgSaQ2-cQsORa&Jh^@Mp3pbC24mWkR|Mfhc51|Fg$r|GZ ziOOh;Odx;YkQN}Mzr~&x6%{zOpT5GuBlE)BWm*Q-I__C3v+nb2l#SRk3Cj-Q2oYb>`}V}0e5t>xB88_M)&lekiSpfWEJ!;oC?g{ErOV@)JK>oq~My(3oVIbjxO>HHP$@iAv?Td+4#{L=?o2iuQ>H+DV%eKl$+YPmX!nTu0^7ni`!qP4~ZqrgD+2?BmS zu$FSK!M&AT0hXXN7WcPwhk3u#J&53$55#MYwcU* z&Gr8%AgR`uoc|!^P~daf6`@H$2#gn^F6cc-_yq8tb6nr-W((+NoSh+rxHo0VKM>eW zMEL}-iZeZrSW%Rde;gO~qUVer>`3u-cz=5X`mjk+L~yBc0S5|SU_j>3sPc+Q>p8J1 z8E{V?0VA1Sl9ZMv4!!2tWG*O{cvnv$$L?dK1{ituOO4iB&cYe}tY@1f@OPW`2BPER z5h70v)Nr;RAE@W7nVbQez3#jkNLl-*U-w=lKi8_+>a`ed^TQLMnZhG?ZA4+>$6aLsiHN9D!5K`8ke{{J5M z#56UpE;>LT4l;E9cSi-J;9*lzD*#CWFq3jAug5(T2NI-=Kt=h#sxwP<3%h~!b_En2 zD0FZ8EFw}YjK}k#)GJYL(G+#+CH!qxrws1XZ8Hcj5B*5aKPkHtR0AQGRlwn{ERIlK z0#t7-fs%uS78@{Mao_itzwjp_9%Kwu6iN`>WoygRy=zdah`ol5N07iqE(?pZF;-Rv zanpwxQ0M(d0>=)@#!`th0)=MN5aAx=CK0CL&L)AB=q)tv(B-#Z9YhUHymeaah6kSm z(oOMXgu}y*E}<7R!?MQ)St5fBIBVe>8ZrqVaCR?0>(E66l29tZE@Esv`wwvpFh)o` zUG=SEEr#s~?Cx>(HXOH&$!hM~Ucm3VZG0gr3%e%=_CipPu0hGxsjh{U4=!q`0oz-p zaFUXtPH6gQ|xpnB+N6Z0&bkhXnUihGw|=6ER?G_r@YdoPP~ z&<Xn45@Vn+5jVL_o3R;%J-z-PiK^a>8=G`N-^bNXtZ{0x5-|D+ zqn)mrob8sLa0F#{Pz-0vK~%Fr#71f303AtbG4Rx&5@(+sF1s%$N;=T<%_LSWis7iA zIf5NK8kqbFPl$PwQ$_fM1I`c3o~@aGI zl`VN(%g^lh`4rZ9H|5~LYi{gZf6}_{xzAj&n-p2)pvu@YGXuZ6!a@0aHyO6bd#fBN zPn(!YZQH^)arhFL#TO!#4EidR^T1bbTl)^Wf+xppsYZ&Zs0`J%8=Gfi?K4XTP3$ko z>2;yle_cpTDrno)3ew!);Iyzf0)<@dvi6OhrUx{6)Oelc2~VDMvMXP#Bx{avEo?XV zI11Hv)RW5RbmNzI;nd2X#a%wKhVFN5fG1zWNja_<29^1FDqL>`V>gE56-0(7qtqh_)3rrj^h zR|P(RW_OW;YbewF_D(k>@%4{~fdnVZZPLb#oN57f_#(fljY=!j09Ohva(SF6I#gpg z%?-Ur;W&=}Nhe?uu&WjYQcS^5mg$KiD}O-KTdpS#olSqv*;udm#gBnp*|NTp!5&&s zac#DX%5O(0U;h^isE{hBO#T8zdeD_RC5WnOo1^p<1`Rq0f)>mawCA3-pOZVBcF9_X zzT`mSfer6zKjS!JdNn#GwD9{S)33 zCTdPW#oOYP;zRa|92LbsF+#di1PHLKBNpcZ6jGTOk>nKkBWZq`yT1lxrCKe24!IPo2gXw$D0uITzPt1O)Fo}=rwCFcV+JSF zVg^ifyhDUP;#*t#A28Whkqm}aj4Q2kQ?xaAXny>lcCVem**?!_{Tr)9InLxB2z_H1 zb!G?VpZ{I7M-zJFgtR5CgajQ>J(NdVf=$ zanEvBWj0IS8wC*^Yr-`y18$CNHO+G8xds$UU+^6BrP26%-E~QfVJ8P#ruKsps}S(2 zpYSNFzme66#0O4W(OqaO47<){QADm!XAFthO^)&*>D#we%Q-AxNV|o_4tjBT^)R^V zPcD~SIDl=fC*Zj+Tr((_(o=4zI5b|@avi0mLddO|mUqu54vqf~bi$2UPz9Fsd@zq!YPlP9E|Awq%GjNX zrUo6BCBo3?_nxa5Xw_H|iTB2nH%YXDUZCl>zX*O0z_W;mNk5d3qRM!-gMsB5D2~c^ zPkD(kz;kop`hMVfX5lZVE}Qq8$x7&Zn;svFGX+>meWak} z^JOntxZs1vgCnED6R{uz#{vV(kJWRA72I2o^DV)kp-eYj3e`jnOM|)R=DK|*;}mz2 zdgZqtw??3Ab`k%;-vrq08Jj%WZ3 z)DHn>!x~#!=6tX(6i7ty7!akd)6TRk`PiCzgF@UL{kH{Dt%E`zth>86xxB++|H>%e{~w z0?neir^$-B_2zhdd6~J0QZnzbyuU99Vwxal2@HLN?;dTofy*7deBU8vlDt7Q$MYOg z0=zm;8nBlKXB(7eW$|yiuFaD;%rso7i8A>ODMs(LPs}x#blU3+p%|40K@2SWt-6!BcTS{Sm#gYE~+ZTK@pa;@{ zTF8gP=m;D+rb6a(t%0}~l(C7^K>p^q2`ouW-+sDtJKG!{({4bdMy4pyZE50Q(0}Q+ zzjy(N2)>nkk;70sO)^g$qs9r`8C|}De0f+93qDqGmB3a`ki|aS_sOtFPW1XzEx*_W z(txY0#!RlgPqp!Hz6021CqMiW9cWv$h)-BUf3m@0@uZ)%4RjYScnIzzmMtWhbMe|z z{51O7COIb`$4UYY-yU2VCOR*=vK)GlseF#9=;zfEd|{v2WsrLrx26v{`Y!P*}HZnL$O6X+gZK zBn%M|e+btguv`rwfFwl`e&3Q8#iDtjQj5WO2Z?5{$47sSnZawElWluw>^}3DUAVk4 zs{y2O*3>+l7(r0;0HV=tCH5N)d008ZheJ5dXMG&GCa#GLPd-6?qvgYDAl`A&h@$sO z4EjRQ1GBa|TkoZLu2!*`WA{su<}a)2X>Ps^F<|GMzXIG?{>>9&pMS{tThHpSiQp0 zy-hs{4^m?9ov+DcD-(= zLrYZriu|DA$N2z9uDdlQ+F4zUTCszDe@3St?HkHxhg`Mtt-J4E?3HlK`$^_W9SD+H zXYfw(b(xiOx@3EBd$bbDriN%gg%(_D%H=0$T8(s8=iq)KCz=!}v`dkU!}KuV3Y(%6 z2>bFrBjVfhXmJmUBk;7OLIwKy`0}kUF+9P!08Ei)a1>m-{UMD!T;$TJM)*U+4q279 zIvKq(pPO3z)8>pVofjQ`VBfqJ#HCDyd(4u|UpEJ#8&u*Bt_WVp<(gxtPe}g*j+|k< zDX~)z=yb25Uv>HvvNBAwa{o=aAQf~Z10ZBbR?@URY ze%YPpXdPkt3zI8eyM|wQ;CO$q^$aWYjoBLf_SX6fpkW5^t9_*0`_P^Wx>$D}XPWpb z<`MT<7(oDVgmMf#VW^1+G3mchzoOzd_JMFEnn7;2O{qkn$Fd>oB^T;UWyu=b3B}$; z*rf2lHUV3+l?x2%^?)79@`EDn<7IjneB{^7Oq20X5FZ0l`V&d?VHAc~@SeS;R3w=_ zc-I1?q%NC6HtP{{>iR*|l|Ks;~@{}3!?c7ory*Dd{2KhlfKI12gLh^vs znq5Cx*8IbgraMpeTEJ05+$_w8v1;cHf+s6tZH>`?IT2z`vMZZptA+Rga(*-&X8IRT zlIh{Ui@}hveg;ttKjj3h{*!i-41P1o{#>6Q>TB6zFt`NJ(MBV{_UX@l)%>$Zzz_PZ zfm7K4tc~R|0CV|+ZbVWJ6z)8K(V5@j-~vVPy$|gXq%4rS9TipwIfMwDezIS*D?Pe{ zc(UO_-ds7&SqJbTJ?pAN2x3A-W6uZkG&$NFY)*hIL<;5}AW5`&3c&!qR64_pueG!Q zPbgi~F5{3H;V|H?ME_7x3x~7vCZKtp#Q)3)^%@Wy1bXL5P=5QsBLssf13;kANNmWA z`5x$yc# z{$-COF0uOY=>E-I`TrfG)vG&7JUj*k7I12bLjWme0j;X?$ zehaF0xas3*1kbztfSVL-x_`3WX9dwHxZK9zb~j0dgl))jzMUa30rn5DE*n6`J{tFudJt({Vg=rT)5yFYLphiL%m10jC*qG3b zJGhreLe_vt9s#SttoU^mm9X6-0r4;1$(jk$=5Mo}8t6bYJfo~Ff2@*ijrs_mK;8a8 z2Z(onYir^;Hfz~j6+Wdhf9u_!=)el@MQkLpP(hNOtE@7YvDQP@2_nO_eT`Rh!z{NG!yV! z*I!_sZTNnV2E1NUf`hI+d%#M@P+n}>sfXc!L*@j|Qg}C?&R)$J1NZD6KTXAsrdu18Jc= z!U0lyAB3SUUj~TFiRZg(PfEzZRGOeU#0a$4(KB{K*M;D#-g%k`!N@)($^k$88s2c& zpW`DrqaG#gz`M$hj^ov5ZSSW&&Z8h-lWzkOq&sh=G3mT|A+r7BP&bxz2_#Ib z#!~k~2O&Gk61i&gZDWc(`Z(U<+;s&C^ljsX5*y}kVM;~Iwm~<~g{T3`!zD8?0suw}8N?pV9?P+mWGk zgufzx03O6|AbXQ8EOrA;lJy9jo3?C0KnLu$$RLSM^u5=z1bGmU?@9gPQ*0g=m8~P& z?l^|)qBIkb4gKlla+8ARhm0%zUevuDsb7F}Bfn7INwI#F`rcCWkDDX|TYey0MCA2R z6zcoEEb%(Z>}s0A3g5y=^7|zWF35Z6z5>V2N(|@4N;^G*|53}EzILMJ+2PtMWK@r-jc<^&3{=u&}^ zULS%Oi4D8j%nq}w1kUSoN31*V9Jj}jjEACgb`MQwsNpCTblwlXmFj5{$jsFt-fbN7 zHbQ0_M!c<4RmjY?nJ9MyDDb`Ik6+JcTWS0Nr!9EFzn5?sR$8p-jXd>-Yh9MR;$2B? zKYZ)Q4V$nZr}_@^_a3zAZu2Cwg@w7LkCtP(r8_M_wXwaa4`B^qlSXtepK|GS8{UVE zBCCnJ@+QuloC9&+O?je^D>kAjxgSuMPwQvX#E0$;82k7%Rgs8J@tMbNo}ZAPK%KSb z3C&(%#xqzs`UX5}pm%We^J$tVI43su%X+{j@s3?l zpn;7e<|L6$SqX;Qg`%WzcwFq!q*<`0hQZ?GjR>^Wz94^;nc9oE&qE@&`40^v}TdN@2ZyX`KZl9 z6nq2%3fg#%0|dnA;0inQuoujo?J;|hiY)*lBpTZ9<$lEp_mDYF5F`UN% zi^Tx2Tn6lXagQ>d#q@|WSpwq~Gt&$}`Kipem9NEwn`uw8j!v#uV%B2f1vPgP4crpn z;OYi?;8>c7wEV*sQT3gKG~cyiZqV7hZ*73uS+v`l(648b`FgE=Yux6a!BE)5^#Xq9_H z50eXTCUB5&ej9xtIXHqp*owTFKn6>;bm z&J9SwuyNK^?x{FETQ4X19tFaR#CdVz9Y`#gV&>m)8WYZ7-46)eb1Rmb+fXss|Mr=H zu^XssE-^?vq-1fnm0(+u;aaMhvcC(XX@p<4la+q}iq9;D+dX^}hFyd(`>hF+<+r-s zc*dULScse*S$A)WmX<jCw&c%MAv4JfnjWC_^31Wj04OU!zj0j05zAXH#)N^`J z32gp%fsTW&=5?^`-=(6b>4p-50CSPtt2R?$z70Ds#;c;_Of)B-b>1R(AUk_Y{-Yd2 zDYYC{&DV6SIiV?xJ(X?5s|}bC5|1~awC37tr>GdTmn_J)Y!Y4%o<)+P=uyX{6GocN zA1votX27d{e4kXOHeU;z{Nnbyl5rFhh)9A{^aA%+_iY>yqD-j z<6wqb6Zo_%clBoUWbt_eP8s~KyFubujr{p|`qmI=jZx+zU%QLf2Ib!Gp6=PDHDxu< zW#;iB6wbnH-0}Dm_qOgw=QHG7+c4fZTPv=9^!TVw7^`hh$``YaH{ysS%5)q_8O#RV z^Hb&opuF`b24yhb%@u_BO%E(Zi^i9=uTs+Kvb90RF2>fQo6(Xc4}zW=m!F_PBXLzL zIxLxRfmC)I6PKX75k_emytO99eyS#?K<@G*$SP=#!XEo1&6-c~Mf-^YB_OAKee2Mp ze(&@1Sdfc=RKF!Y4tEd5+-@ppjQ(c`+P}y{wEE4jO397?`s@F_!}!}IG8^SbCcw`s z8zY|lgDTH9*_ebqWet(Fr$Xo+9ZUEG%gR6dFr2Pm4vfKoIsAqK6uj^ycdEZ3rFC}r z^eqxnZR)j1g7Z6h@E61w9Q}>Jmpj=MPQLh`2wQDnXn#{8 z$+s!|_rL#fnu88?`F-)pzu%yi#P8z=lmcYW96!?o3LL~6-CbQ!@!bZ8z~Ss$;8j5t zz7#EzZk+M2U+#zFqU*#8L=`~ZOF*jwF*uiCDlM?_w~d@a2bqy(8wuAp-2az?DJB6t z6f}^{W03dR0v`{Zz1FpBAhw!?CPWs5b-9JmLWun)g461XM8rP}y?s(*;=HgzK72Ds zV80I;+JM0&50vKL_XkiayjeHGiHNLb(UOx3V0XThJVgm;Q#M2f?wMr{Mc( z4E!hjGRZ#V1X#)WZ7uUDV5l|ytXep+%35phJTI(mMMjI_8?2%Luau&fbt#JgQB43{qTaTB|mz#EI zJX6=!=Ge5*yF4$1~jrc`h zhkRow$t|=vdmX_$QPimZH-9uS#JU{_`;T}RXx)Twq0I_RL4gS?8rxmljC272!u0bE zW=kD{at?PRp(GK+E%wuO$S4fl#8aMS#1T0Ip*0UedhKWqhp?gVu&=}!UWOz&P-=Wp z#z8khD8QX&uj)uFQuQt6bvt^9#l0;iw$|BD3h!qYY5<#?LWht~u7Uw$SO9PtsPiBl zU>;^pLjdu300t&#j5Lzb@9!gD?YE%BQAr?BA=-AZtZ|YFaYqMU+S$w=zQcRb;wKX zo7jzrm=XZ-Cg`r%$t-xQBisX4{L2IdG@uA&iXXDKdl%o*E(*{2vhxF-$>N;u&?QG*uqW+Xke^SJZoloZ(g#c^quT zIsQ(6stK`q9U^*`dk~9{JWmG6QRSeL=Txy7>%OtWD{x@Wy*icqMng5|0r43sJ25jP z&=oxIVPOe6z4;lWmHm)MD3m*K`lSorb%Ux0noa%(i1~$vu?fC9$TEED9A?38)~h%! z!pzJ(N%CrVJH3~5VpI#4<_WCbOqMIW9Jn9vzyQ4x(;Q!&#F%{B%eP*Eh-!24ah9KK z{9{>Y>cH?2t0xbF;EnMLmSKjsT|n2^-Y>1Uoe+A}3xu@?9Fx>QL1XXG5Wz@43>&xI zF6zY!$3Juf5ZG9#i`$pL&LzI_2ht?~ICu)TF6b(uhXI{KE(O{VYgJ5O;tXPK=pzRfDn{ zzFUA@)1QDSqT)A10Xp$H!=yZNp_tkOAhq2Oj4I47T#dM?=_mCoU-n=hUFd25FRn&R8p+(0svSP6 zao>PZ;b}=0$=T-*R6Ms{!!>g7`k?J{STp*ho$5!QXXFmO7Y0afrw&$Ak$UuvJ9andAILhr**rLn8g6W5n2Pf-qV^H=lZAXP-9(e33IiV z3?jNuo>pO-AL?mIgeK@2`&DC1NC9v=-KYdov^qP`6EUNgN2MEnf`)y0F!!rRQSA`9 zX)BCuc?uQAjYaV9xGj2ajY2cM*0atwp}g@6Fv{^{><`*O43N`-xXkXYfLWbGQcj7Q59o=f!3#6CG8FFIpXKhf4lE)kC4f;gw0` z6Eow=_#%qe){#VR!*-3cWqI=I3;p-;Kg#-iIHO?69)(b&^;ATNw09tv;wwG_IG<`& zu?sRe$S(KN!kx`f7YZ4QP;DEXoc);JY@`EMBPTqCZ50J|aww!yTXmW-j1Zu$Nd@!H8HK#ngQ=y+d*~Mp944G;|~_)Zlu2^ zo1KvDYQO*iZOb3$WLe1wVpAJAVl?M}M(K}B)-t|sC3Z`% zx%P--+%%X@gv?e#YDnEO14o0-m)^=rB^GqHQG=Ll{X*Tr^8~)=tz6kS<9IbI$nhIj z4oeglasHEnxyDa-j^L&l7EAr}MpL#9+=rrz4@8}sId}P6ekWB4C|a_f!s3nJ@rLdb z#y8!Hxku9}W%H?2K$qSbWb%8-IiY8XO4h8Ra!-;DdGxn$6l8BtR!8SVKX~BIZkh1~ zu5S&s@*yYz&{N%uzgcg;b)ln?Aq}#DYto1zlauejNyUNKBJ#)5Y(;Q03*jcN;>T>M z)ZzNwn8$pLn?klE?9(Um&sZ76Hf-kIY9Vsb^u?M1f)@{sDUO+V%ZE|i#Qw!2sp^*` z)7c5xPc|n)zv!Oe6m+VGL>CY&Ch49-TuwRKi@W~FQ1E?m=tM*=X%nW(Kd`-(U%dD( zK|52OFDgn?wz-VW#qucA+D|7e1Tn=mh17U7E-n&TA56A-2@jGEf?^y$ ztv;9-&*haAVOutYT5E{oN2xG0gACc+SmE*qYzu+zF`ZDITvc2pCfne&&_X$1`1NVwc{} zape_yc`>_$ZN!aqXHruQwALlWJI_;%7i1Tj%gJ%;eD09X&;`v(q|COi(%JOB;QQ8^ ztS#H8t&ip!LOrPwKJHMgx z3Mjzdc@;bSLa}X~h;6}li%NLVjI5S za-j%j_7Xf$W*&Z-NDcupZI`hZX^TI3ykM=lHuux?+!8|@9>(z@Uxf)}hvK#^buT5u zYnjkDc)ctq@5Ukjr7$5&X-7o7e^lN}qv1qDd+DClTBG1G?7P}#Ni9`ogWHe^@y6^N z*s%HeNvEs&*N_4xPm>`OJ#LXroJ&Nr!7L+W>8F8^V_zL zF5J7$pu>?B{cFXeUwvZg3wC2^6X94;m%{6-2lef?LDVU@OtF&Fo*5t(G~oN$dS1&! znY$rgCHiadozPL$h9!tpzPeXA`ee1CFbwYbbIFZOCI|k zxO(!+4*n4*7Rkk{k-eaW{vy%2h17+P-%!P?DDT7U-6;2$lb7eehB{>mG0+}a2pM#h zdvJT9*AA$dyl66o0y-|`F;ui2CDW6x`#!Frskcnq8scy+9ngQaD($hl2bQ6#FYO%H zyGNdmAJCMrCo6gRw|BdK+25WGW0hKNeY~5hzio>@{G=&bX5K+oD5#?kMc66MnX@)-&R{c? zmrUbY@nCS?W>qU1d)kvvV5ZjbdH5{@Z%#DRkS^g97pk1wy(z_kUqZ!qa#TA^E{O3r z^C}sd=S6&xL(TX5&Z(xv;G_X>U=S)C7@6>5E+-{~n&)37Duzj6a zp*1V-m+!l^hu-M{=I@5a7B1xyCP!qaUoWBP2rJ8^5vYx6dvSbtgFm)Mt6A8dCE0w=>hR_XHLe4u|hL zyr#BtbylSH8l-yW6A|!>{^|w!KCdy1Fa}Ziiwk$!g9wxD8Z{mo5mR>wDWZ~9B+PHt z^&bRA2V79BnZV#k*JDG{Dmui@LQw@7p)Y8dO`7bv30Z1@4M)wCd+eI6a&FV9mCRV^ zWBTSv!R2= zvgW9*`UzPO&%froNtWJrxa7O9+w>m9A>Dp1xaRz?;<1k18-22m5sgqX($@=#y3dVkG|A~Xt-pVLM; zRYWW+1YJZGYqUC((Va@uWs2 zeJ*qlble$B^y%ufcdftZk^k&UGU*%UsPEB0~Ijtgd|Q9 zo3qw1sa1Xgm&|uX1C9cAolQ<}GF3GI-M;~R@o_YgtYNu;()!i274oU~S`v=;-d-q8 zK?u4+OZlE> zhgXE=*2l`e0`(y0w9pCC%THPB6*iMFi>h2|(Wl@7b3M%;9qzS{mA`R203fzW!V>3H z-^4ZR`kG0J64Kxh0Eg77LcKI@s!~kk`+AVxZHqr9Ze6FjuRG5*yV-P=tC5^J*XtYC zLz0g#0V+5uq!}Mx9{#YYztDM;f0E>`O@fGSF6}xo0KldRnhagykGCc%dph>lM`q-3 zZoq^|m^AOZ)SHMAE<2kSSAlOqd0ok`SB_YON53_@k4%Y?)fb9MNQV=N)R?R_Qk1+wv6t(5C&OM$*VNtSsk(-}GTfV$F)gNK8PlW~%jJ^eCe zNwN$GF=2*lWD5hwCIF(MD5;+QWySDwep;?WEU@QX5kee1PKOK{P%_K zN!MDb$Kng=uh72bSPFiZxPsQ;D0P*|Fiup>ET9B5*d^!P&TG={+?&jQZ5Rh4s@BXy##lsk;baAjCwg9c;Jhg;~%y6tm)7bPqL zR27`=c`#VJyE#{o$d0L%555}@KDc`LxmcT#uDVM2a`Le7b5-pD&XfX|V=XiPh?Tjy z`FD;F@05ZSJ@cV_|1!3ztO|fBKLm^jeumsoT+Q!daCo%ey3rj;bF1Lw<=*^&&pz{g zWn)PNbj;*#?1(j{pF)-{Ma@v+bLQ5&y=o$la>y&&>>Q8rT&_Wq%#r8_8S8adr87+G zeI5qi*67L+jcK1hm}1x+EM79+eM`C6F?pV#NLHk`lv7=iOU7k9_aH4A|F)WteDV0q zG!uk{7;#}H2F$WB>U_cYdXsMR&UC=cE0{-jDzqG?moYV8h54rIG~6I&HK)?Wx;n$= z3W2WRbS@nU){JCe5};>TjZ&uB5z0{>0`sWy<;qGxUO?NVvUZ!=>J5F#-j`F}J@!Yi zqLV4v93GgLmMiZmCzMOdH#};mOm$xO(MRkMLfs!+6FAn2O5wv~mY z|0fwUeU#*^Hf3l4S>9nkK{AnW=*d+lUF$EY!OAY4+eYoD&ktFAzvHg!@k~4+Na>Bh zPPE)XEnH+$4AhQq?Dwz-pa#pDcIaXvZJf0L2g7VZ+Y;?s7;qm}*x5%}xag3dS~O0T z3lZ4lc#d@Q@tub%r?r6+k}BsJ2R8h*gi2iHEf?&%HcW6{P;fPH@CZAMC^#@@CV0i9 zIv(UvT0cWvsMW_t*e#qZ7^+{P6MVs`yx@f0;A0rXv_m_jT4YIM1Cm z(2ghLZY3%oMO)#%(E$O3Rq3M;VHmms2!5jKj^KN~t4a~Mi7@>e@fMf%ejgzRkQeL} zh*6(e%NlT@?tg$XxootIxEy5EK&on@mD~k(#Ok^k6~?m{gR{B{Oe=u(gZKZA+>%x= z{VV!Y%ra0`5%GcO^2gssLAUT%h=9caF1fp)oZJ>`{R+{Xz%yyWY~WLXr;ubL5KL}L ztsHI8!_>lIn0W&s?tGW;zw?2J-zr0iD_Tn)L z^U-G2x;x0ZK+5zvUkN8k#$(3>bd;N`hRG0qjZ8&_b6mylW~osBO~C#k@2B~ zamZ|PKyLUzwh6A~Qng+h3qH;2B1a_{rTp=^ALE5GQ zYmlo?5+X1>J3ZMNgxPB1nJ}{>CnpC9KF1~1grx*A@WSaH-~}(i6uLKZa(xSR{=es^{WXUF z-~H#SC6OpdlTfk9gbjyfRJI@!IHdV|JI|XT!K4eVb$;pZ9L@is+W(y(|ED8v|MIZ7 z^HI~JM8Kst!NUO_2&OQ?o4*Lsfw0F%5ZEva#p&TjFa)X`0@@Wa4m0Z>gUJSFxd4mi z*NU*|-JxmHt$Yc{tBpjNrQ}Xh2ju&*Fjr5Fs1?~^0X~sG`)VV z_i9#5vZO@inPU*?7dtWz8PbyjWdqp1NDSF;UdZ18K8gEwDgBpuK-NzIDV;7O=?1Qo zwBZC9ZcmCHDbhq_qL|;2;n>JGhkYjvGrxW$r=+NCgWm2PP%%qDN?g%JhDIP(7#M;v zS9JyrJu(er@IB0EczV|e2HEBQ)M9X~m+jBu6cgm)!mI9S2aXAp>-})*QgZ49ItrtTFPuR|4YvspHZH(FZ(j3q<74jBg%fn&p+RErCtWuR3JC1NWO!$r z!4L}y%!H~wxhWWx)vZS{TS%VkGwEASHTx;*DaiGgL?_;0fUzmQ$_RKxXa@yE5B@B@ z)Mn^)l`$7$95K`Oh1t2K{UJ+O4UsU&%DcY<*nn6oM+bi}QcO>T7vOTbV9tu4IcILt z;k$wGIQ`NZrm6&&!SC%Ne?uo@{a?i@SMk%rHTK9$%#K#wAfXC_g|*RmQ?07|h!IXd zcx-=Q?;&>S)00q0BS@ZvJYO9+TR|%{@iZ+R#0t(T`oy$CofAk39Gt7=+S&@gz|aLM zYJNCF58xVe{D!D~O)*k+K-5GRKS(S0YmMc=qElXf_i}iz%3FBP+lWlAUookneNw&x zvc;l7FQ@_xgD1s7m)6U1cB6;V6R1V7Ruw_-V%vVT&oTKaBCH3B^a#cSAyT}v;+1Es z-gQs_AkoEi6fukH`1&|OZ&qs#)h_4|*N*{~UAmiy zzV62{NcbgQI^hq5rn9yMI28mOOstU_*%K7W!+o1)0hf__6~t%quT@j$HUs znH0Cpr4TX@1pS7BV=5btlRIEay3r9*{s-h2P00mToubkZxJ(~`neaqCJmYR;Jk@q7evqpwb&WU*0plmrE^b6?qL(ORelVphRcXh769Et$c1Qvtv5~aBQo*bdQm35_6N`dZ8Egk zj<@GZx$~_%@&Y}%BgaqdrqvABeFJMQTBvP9zWis%<347N1wT_V&M@Gi)%x6tCtqKCuD3GU~5pG4?-8PMpJMp5_0bcQe~}zx~b!BIcC9h z1sgF&e-za(s7`dP#HlMkc?Xet59G*X{zOy>P$sNwMdK&tnotJsd;~~fD_aq?Q*~Wf zt~zQ+;Hwg`{TFD#CETFkhxruGYCN{J{b&Rs4kPJR=x;Vm`zW>>M>qS2q;N{c**)fU z?m@M8{r$~z6nLR1`*|!Z{tG=Y{x|AbgZs99r~gxWG9tno6+;LpL#-U&8Ul0Lv6ITBhh2*m+a~oAuBwI5j>}B4 zj;Dg}+D0pKW?)DLGFWkvWP#ze&0+Ca9-BZrt`i;vwd6f^Qu!SiraG7j@HoDZV{&GU@})~9&pN^(ZvgO_{;0}S;5W0^-vXsco;U7 zB8M&O`lO4yg`A=xILd4Ffnm_+K-A-4GmF^DP3QmW0vtPLtkSMhM-o->>Ak|Ap{n40 zf)&g=wU|pUCWxh6*mp@u>3br}%itMt9-Qa@4|{JJ6jvCnYbHSxJh)qc;O-UzL4r$g zcemgg+}*VU1b4T_-QC^Y-J02)GpD9z>W)@T)xA^mtNGE@-R!-;?_29#&w7^wK&{!6 z0%yifp4{FAn=Z02v1wLr^ao+p#PY^nyiW^MtiY`U14i(K>|-t%YrWPePOm`qFervL zNKV+aT7ZI>NsyEVmXbIPI~y?2ebNMK(IUjAyPB<0TL0L-e)14^sUGKaVP3(IEJLl( zhodD}Mhph<*e3a|kH!;-K>O5AoNitKxd^rWw*HbS)cIC7KU)`3R6)_s8F; zB-_)nm|)WwLR8HvEJZ%X&%O;!OkUu~RHgK56C-l%7Kzh!B$;3Xnmu8%M}x8q1_bg2nzCp6mNuX zG~5RyAndAwf+F}Kz)RwGdiOSqj0{Z)G5t696e`*G3gs@VY-{vpJEdB|j!$q%8&arF z#!(+PgpmWNfML=A-OV+HgF$BbhA_W+%Jqe7sp@_Sf&e^|Z6F*kpT56X()RK2pLec8 zK|j{IZTA2k=0>InKz6=bD{R@O3IQi*X;kD27kl657*Aj+r1!B^2seBc7W5iuz#Z_V zAnyRc?I+7zzpk($)I=;vazo3YdJa_%``Gb?I;Kf7B15s&`$J(mzYUVueb8Bpva58zNs+6z-7>s2_L@FT$&1*{h z9o%0Zl#g`-egi%YZ+RM*jOv&c&SnQyhi-she~uD2A@3Xi1>w%xsGgCr#d=k~YXS$ZrQlHrGwUWU;9=sd zP(vUSl>C>MM2M{UR&}zEeNYwM1j;j=_4D_9*3oucBC^+T!8aYToeE1FJY_;_mF$(M z9Vo|u@Yc53bb@`&R_y$%K5(kbC3fUqde~zjj)?M~3d81ti7j|fk za3UKT$-IHbO7}=u=^e4mX&R1ig?0K96t(Q~^s4Ob6KX}tcMJ>))Dqk8+kI{N^V+mi zN4dF*u3Q}R$N(rzrk0*+U4<5%-Z)1}<5Zz6ye3W^;DV%5(Mh^jf_O0rA6a$EgPuO_ ztd>5$U1N%xHQ?$_P8Mms=?%AX^hca6y?fv9*Z&I{tjO_yCdOQiG5=w^hFbQYO}_tE z)67s+bW&jW`N)7cK!<)Po4bLC!7BsZ*cZei|Mz-F|4+Ua=!cEg9N>S z$2CdIX#o&u)Yb|Wsl2NGD`WJRn2j971-b=C03P-kKplR{$N;sp3xJl6PzeOmfh%A) zNQK|PFaRj4x0=r@A<%Nd4jAj9vjYyW(*XYq483;Q>uBr+PGxxvN*=Bd_oQk-%L_)Y zw2?I&1Poq7Kc)cE89;ufBqzU3HwDJKRsGMYA}RtfU35f@wM@f1cN6_mTh$?{x>M*0hnH!i28O#N=i2#7>n-?39d%uk-ez@8L6540L zQX2<9Euq=~Pa+GLy4K)11#aDfOc0v zk(2RH>fv@*)pZ8iov^U6_gYx!=}&;P4w!fVc>-+R7BqfT?g0ci(4=XU{n4buUk3pE zI3xvJ;StK_cX z?%+4`H=ujyjdlfG9EkL}`f*->JmU7Xgv==$=x+jaf_4=jPA?z<7T|rGcnkE9t^x_! zH`MOO!-zg%FTmqX+wCA1h*#g{h8_O|@4qpi074Gfs+nZB1JxYnbO74ja0@}G2m}m7 zuEsiUsSMsiZnZ|Y8}q7_61D2;QJye6KIL(j@O}Qf<*v8(U|>L|A)tv0hylN00M6eJ+C6~2>c}w1+6tX7LU0Nzl;1t2bUN-u?=(`f$P2A zreFd+v_NGVuml_ja2sHNT1X{VVB(*CAo7|k)c{mQKHta4gdbA6P4HOBU*Bdw*?t64 z_bs;psr?Lqp&uNDth!rjzjZgzYXrJ|6G!`_y8}Q$5+6xI8p!H^#)Ft|UhReVjrW?>CKP9RC{pJIxm2ca3%IPbRpa7)y9E3IqI7JM4Uk%Rq-fb6@3NVZu zpWg85{5~UeM&!^nXrj)mkCyvRMGF00_WJ`og+KIX@vk2#z7>3=cYvS4fa1`#J!@HV zZe4Y976tvIGOKa#G4Pm&0}~IqIoUWX=S=Ls+^oj!!kkvVc?fvj6zk*`zE1=4?;9W= z-;IHXGy^${<%t0p_MUndv;bsmZ$vO;6wqHr`L3kOxLq>N13N5|RTza(p@ljtuk7(U zs{u}v6Xh1LOo_QW1D;X+K>whcDL$lUSwM0B>Kyg^Y0&RO8|0?^VLl^@8Zc;)hp3!p zj|~qGkB;tU`=H2%IAo#Vu?0K4yWglWC28Dx0ao^&Hm(4~3uqVLkY@PMFaSNr!UV91?M^R@Q7EI7%QnAI^P;<9-@fUQ*(3_odx$je>## zFv%-@p(k41Wex+>IB12h_o#6m&g*0cjGs?!xQ0dI3Typq_+8c z$G*;hx7Rk$q9Z>EwmF$S+`a+Puqy7oxk`Xjh7+PT6kt`)c{dB(TU5iRgWxb;tCgk% zu~R)vIH>x+;O4#5zpbsA_)!44{RH&4)C&SF1Q@4Xdj?`;d&Ksyw?O%$K`gaxo7@pH zytQ+})l=#Da0Plrq^RGJanv?$?GWqoC_zLQz1LfHTC!Ts??j0>A|?8b%d9UF_QVJ5 zYpx`^r^}7Yjh#79l<2leT_~YRR3{_kkzAXAyTn%R&Jr+8Zm0627wiK^6vYL~6=g@% zoevxl6Xz`s9JjD5ERa@h>wa~KIq zelzI;09o-qKX+-MnHB=fG{|r92KLoeU~kZ5KG(m3;@(X*2u|l}4_bfT0YrHn_mf(n zS3UA55X*UJjm%qnESn0V@PRY-mB{ zY5??*M)wfVH6WaR?}f4j=2qF0_Pn4k)jmTxOJ68=Q>X)7Q}>W&$D`gKIRCLIg_bNj zK)bA8oS_9!q3^!^#>2zA2LY#^`V#|j0u~n5;t}+Dxl3kJTAE}XXx8}ZtY&KmN}ni3 zLSxIvJJVgWlK}1Yi}P?zL$+|(vHw;8<=oyk9f1%d@Yg;Im3q zb#<2qcGB-}sL;#~auefr^W524Tj#>Ot5&|*?}bpi|8SPPU3=6o7+>+;UZFq2gu=eP z3Vru^djs?%xC!OIv;d)Kxxc2sNBtkX{lE2=AIpkr z3vo*L%LvoU*tPW%&uXlyII~cy0U6R$&$vZX(`AVs;pj75v`MdFEzOI3?@=>L1(hvV zDkK4iwakA|6}oCWTa1h^+r=YCoO3F3lmtQXSVocf@@~`b`J=cCqPE6s#=Nh4dYeJX zC`(YB*lSD& zO(bGfF3WHEADf*848KRsw*H!(J|FDe`E4<{_bZ99uz1*kO!zlK&@N`gFrz@_Q+vTy ztgR)3&Hc^@sPop93WeK2KdMe}EMRWvtkm_i6qsp0YrQSnSd&2ZwW5GCXZ z)LI4F*jHUHjteWa2!@`Q3ZVL({qOS2U!SHB^qv^oaM!9WtnrCuzJQyF(q13Z>CdYa zy?UWIr7a=MWuGCylwe?K4F!@A(uWkgZ$q2`AroU;11*f*N;;1t(}#0r*` zpQG)M-aWISv2ZzG_;KdZVH)%Ea1;c;NKw z%WdIy97;tQnxii$R8?(GsApK+4%E?L@*pXXXnhvbSels~?9JEFfLuOVB$gGGS%@cM z7>DC1aoO8$sP&;7PEZ5^yMym78j?rDLw(<#T~D+WY*!xj(;ZoJYEkNaPrb+EY|YJW zTI-m5eXmM>*+x{pwie_LpArMxc#(J>Tzk>Q$kE~C+2Mo&4N`B0-~MoZe(2h^&sk)F z5At?guz9`wp}0I}0|fJFd870F#CQBH=ivsh%k~HJ;i``*k45%Z0oAKZ<4QKGg*Tsd zl&p49T3?2ndhQ|w3M`BZ%Fc^nc6MDD1udY>;^y+o8jtG^G~E|$W?cthYB8TL#t&WV zkO1NG7F9z5>y0j~L9YUSTYXkQLC z61P;D1-J&OtXvODKX(+L)?^A>6Er#huDv_#-BHPSweu8a;@Z7T5?p<8fa09w)M2^J z??WQ9svr&dr@$elQ}#Wiu$Fe%R`9 zRu;USoP4rL=Q0=zNU!q z>M+xQj&ic(AviRr^m-p!SUfkE;yg$*{i`?3xo>7GN}z%h2uCz(gkAIBsX$tf+OEs&uF2ZpeYwelMpohO#gMuRs z&vm$o`r>;RNlAoPVa^XE1724twPCW5XGaa@e-}nGiR6Or2ShQ*nQUyRMFsv^ihn+}gTe;Q7be&Ui7iwyWPXC#%EKCE9wB+S^kc(3F=qBFRj`Ss;ppJqxrCBIr}&&&^Nw>Ic4sQnAD z8>T%g_uAYs+TEGg`yqBbS8Wr;cj~=M8e1|MV#?mgcDQGe7p!%4{ zvu};NK;=x###E2aIbU5on5ovrMcuV+bkTc+?R7i2+81rb>|Xg93CevhzcI#YHMQg2 z7l!q?$5r-$=5U8o9s0wMSNSa-M~QoZxp>)@)?$kC)7XEZu)TWH~dp+ zGmfFub@8fviG`c9e(0OqrHCrDyHibyEuknbYD`w8kY=Al=UlmCkMa;=vlUMIGOg7^94hpJ z{KR?r%vG(vE_g}3sp%2e4J6>!SM#xk({-%1i9B@~iQ-0wLOLWFs9lsGo%s0|6YOYe z@~gnIz8PDSCF4bm`qd>G&%;N+tB4nJfC-ec3(wS3Gj8=XmT??ugA}?k%C2WPS~&i_M)fUkhrZMi_d))W{kqj>yQU% z$*fo`vhc{R;2kVLg=G;sUP}&FEabaXp4{|Y z!?Jyz3cQ@7s`kAH8G zYRL$ctaX^Qb?_sJK*O6i{1mud7w~XDKK~3^$Ct*W$2l+%bYHN1t+}%{e%iWhw{Vef zo7lVil~n`bhKbVTJop1@ZFMoK_3*ol(--L?XQX4^t2CKQ--Ec3%a@lYp*% zq)+yg)k6M35Yhs_`mk2x$nI#DL(_`8{Q4YoI!B4&$eY`@t~2bV6CV^7a;N-y9G_(d z(y7bqwS0B?>79e~r#h0jJEs)CE*Qsu@5!TGN&So4{Ek~i4|lfYnoQyQU9<-ZDktLm z-n@i!dsk1#rEI;Gyr!y8?5&oaW!%t)^!aT6A9e`#WJ_l!q{8*u?F+zYcre8F#6GJh3`Zm8n zh1d$|WCr4_y4#Rk$AnDeu`|W#k*~1p_oq-1rm9P*$A(5)GxsuD_pm2hpx>RkPqg4# zsl{r9VAzZIKQ*4U1X|bBDP#!dT%Suk?IqdGGA><6VAQ2FO_2o=h`kGy;9o-owNqki z`Wbl`7_b@2eUnyrO>BM#*;r}cIM#l`j->y((gyUIl+}LVL{~s(xnI~LLZ-(Pm)1HT zKxu;yWY%=S?fGVyyK-4vIo8_vVbhN<{^90+#4I0H2sMom6A7I2C=t~$hq6#?dWVdW zbzf!Aio%negtE*vp^O-4;mwiCdnsMxvXvM}h=F8dscnYXm6hR6EH@b!MZIM|{@S@z zoEjFG?Te@=L*&P$>)|HIbyG<_;+@NccfAX2s%hTqQC)XCD4&seKd%Lvd0b?W&~GLC zxxMZOLq-IrSZU8r<>A1M5}s9xY<`wuvh~&thPTrr%gP5_H;JWbf)M+wmsd51&TRp2 z$jyDp@Orl$=RM3T=LilgSvHi0KpKSy{#aY>B-vBGOx-Hk^j(PbB+oy90zh5ZxJ|a*kh-p^V z$#C_PTVgq<5!g`_Cw)N7Tuk4KOns7p9&&jxK5dU?zLTokvzS`LkkA~qN2i>4PzPs{ zq{0E&?tkBmv_E}Yer|UtT)fwD8?l{8V4UC&peB?yB1e-I!)vHKpf|8Y;O-JJJE)p}Gugkt=%L*2%koYaSYz z>3J?~aAt1V(f(wvuqYC;NePalFs)XOv= z`Grx0XrdPOKO7aJlue*oYbnMJ$rV^()rEK23Y@%_Nj-mlntFM@XmGwE1a)y>^SAL? z)mxqZE*>>o|B&@H^}_C<2~K4+Lq$;=%Z4t(D1!Ryi&^=K3sVnd&_oArpl;mDm~ruO zy*dnwu2{3Ntgb+@*SbLM-NJuq0WZ86PS<~|Mz>(JR~tNHoc^82%QfkkYdrpXWnK<| zrFlNx(YXr6)A?G1X9IE;;8Brr!W;~A&qM}ccrcS=8U8F=mE$b1akF`siKA=esgeCj zC>mH;eplZ|(AEYltMV|<=b;yvD!&VF(haNCXIa!W2W zp@_K>+)r~TMBXx>4WcU(CCet;S$9KsQF z_tkPdb>%4lt0_C>t~A}VZ!%?9b{YSAHgV?Jt}D95#WVG;UJ1G}PLp`qV{Oj+_3lI5 zrkn;yv!(SENPD+pcbX9TYF>``V4e4>%7=%BVE-XJzHiLXUU^DR!y37FIeIJ&$%_;8 z&VUnbHZf!@D2-;Iz>DD81M%HgRR=Cr7748U9sz&!LLvgohI(&?HBz(YE3*SqQFNW@ zSWgBIavJ@__;TmVX=Vz&m&GKJ))Y_t$>vN1?eMkFK*o$_h@Yf;+{4uR3-+pZ3MF1| z1fA#hti+zyT_r!EwSig}K5^Mrl*Soo1QUfbm#<7O?Fwvq+-N73`M8sIga_4T5s{Q! z=LqF}-r6cjcNEOvId;MdcD}7!>C~$t;k1!XIUlg{d%5hYswFnpi|+*@yLw8URPdKO zrn}M4erGX2%v9t9*i8m#!`a zNB`WJFqXZW&}ETq@Lmts7IwuYIFz9~^}6}XpQ)O&OFdj}HiXt9VkkrtQB~?6NT@IE zd1IynHZxwInbT%WDMxB|uUX-c)O>9IVj5N2?c&l=Un>k#80Ko(v}l58|r~H zd%OqiSFlL8eJ6s+!dG8t{Lzdzkq*qm;Lq7}y7H7wmWwh?tV ztDoxH2#jPzWnwdcu5PK0GMl#k$UF#zep^fTHR&T9;ICQM&@c-)@sYj=6q}=SahwY6 z>m}j({5k9wRo{dv$=wmJ>oknrvkvg#1z`(zO_v3i5bpyOI9+EPb$im+h6)<^6I5qaoXL z-9r6z)3lMz9R0qaG>vwbuUTq{5ZS(`b%CLzkqkSd~T_hzTMc<(xq;$ z{}Aly>So{SLe*nguFgoI8EHa(8L8`Y&)FsDEsVMqi3O7LAz>}!$pb-<#xQY9^NuBr z&7bE!bjrI8V!57s?Gi>`k~JdWexAR34PW4G`lp~pdn9~4h75k>3zg_Zo6TDLJY-J0 zH}jQsij#IMktI&j-8+|x%>HaY*tpL1xj+F@P!!U}<9H*cW9@qk*UYv2;=yY-Bt+j4j^!5*VxHmq^e!Q%y{AEC}Co-?);YR~YIh$`Rq?0Ov!!8UdX)`9gL<&O_@ zXDOOn5Jy|px`MmUAgh)8{lf?1eKgW2H4oKRNX_gIKegGAv?4tyb!kX&&$71GZ{>q_ z+f>u_#CvQ{v5q>~dBN-HjxyW@t3BgHPIgT`lcFl&-x5pVcna6+(&&s0dZ}tIHAR#c z9eel>eqkYymdkt7CnnEwbRvhfan-x_BHetx_%7md8*SIE&aqx>r@k<20TWhaF`PnCF87VTOKninV3B_R@EA-*v~sl>V;D z*~?(t9&!c!^Q4UkG~6Uw8e#eyaJ>!W!9S{3IYT$*pziK}c%KLzaI9a_!h$?U`j{T# z>c_%t9;WHAg}R5w_R+l;qxzmQU4I9tjn&kA^*c%ffmp70?)(y}!#bteenb<~0gDpx zFs|*j0n51XVW=+0Z}hi@c56kO5#=63p(;3gF!P(9a{orU{lb&6yBKV|u{2dX)+df5 zj+wFK7NhcsrR1p|tr0)ckQzl8Z$=GK7PC0N1w>%a9_TpuAQgw=_ z+rvX6@^A1K7gdHoO!_@xok!M2WS|_!*@$!@*p%1AZ9M!P4@Yn<=nM|@;kI%muVZ5; zcmV`v1x4j%3=_w}sFv%~L##FyqgQR#Ozy{rdgV*I4PT>#I@UlGr?J-E960NAF10oB zgGJJ<*>I>aDRJ)O^2=vsfd~GkX zoW35Qd86!&XJVwCsNJ)!Pky}cQOLGy?8G6TxoJ1XqDEU@d$CSARW*_-_!Iq}yt-Vm zs*CGNEaB4xd&n_J@Qg=kpZdI&oO&8!DE2_&8t$<>1eUo-GHMu zGM>ec0d8&b8S8mxfFD+<4i61o0#6*DVlFe#YWFdMSZy$axMC#Y(Z~duc(NQux*dwb z*xlAzBYR_ozBqy&BsYJO=^c5r%H4;toA=bp5oF*U=DoW)6?7%$Xq8Tz2?REG$FItr z-I7H7uGc-eabbSu1Ti|D#GHsLY3_urWs8@Ky_kR~3u9rF7;=M~^a^yM`dm>sCLl%7 z)bX3!@{XaTHW`hKnX~|kH@M=gf7jU#x}of`I8%E3Wn$lGs7PUK@)sB}G@GA@K~*KMf$cAdO)`FMZmj2it3P2s*KWA;rj@xwLTJ@k^cno*>l8ly@Y5nI%w*2=YYG~{z*zt*Q5IYS2gUT-!P zl6U*05uL*YFP|jL5Ol#{y#--q5#6=yx~iY~i7;jrd$)wv7*J>e3GIALW@8Q1n;m!% zDUn#AZEzgy71xW`R?}r)NYE|+^K<=r7n!@AZ$AT@iGLqS15#D&uAspc@mFWDPW9vm<*Xmqk&gZj+RZ5*^eXLSKH=bokLlQsR)@`@tx5+SQIr| zUiKn(1i4un`lvbQqtq>`>k8T%>br&)=Zh7SK9;iKy9W$1(sJ4r#^6gd>gIc8R{im` zquSwh-CyY8eDzFZumWjock4yTitg!;ct>CMZpLk4Va&(5Z1 zXMVi(n9__R@UR)>ma1M2Du|gUK_H#s7dSKGU2~hoVd>pE$`t0iaDxOTbIVVYE6sz; z^|7j0#EqTm(P%$))}B;ZLnL1JO?UgI?fyWFSo~w)snYW?ChF$s}JS6lb<+)Dn3Io zp6htAw$`$MpZa&_u0L-n^4#%%ld%|f`XRV3H@N0%?N@UV54jKH^x||lgZk-4U>P*~ zUs}L!lYBD&MaU@q&fdXwP6Eq%{_Z0}U%Jx_-1+6@k}*&h<=g$c3P^Ax=_-&U?-5o~ zC^ALn$w5Ul8xK<>5;jJwp1ZDv@`k<>H>|Hwis?W-2BNp}{PJ>ebkgi~9@Z~zyNbE| zvi-qUOgf|TqH|5U`4KGt4COI@em^8h>_V9=dE?!NBP_TW<6#Q@0J&bwZ_})WJFpF#ipAA+YKOrr|at+IJ^m4K)rb@*zt?S+sYfQ**^3s zKE~yKnTkjsw`$L^-}8|2zP?tu{kqThrQFucYDY|?lsziV)fDk}4VA}zyVH>Gc4eT> z7|6IyF(DlEFtbGOb-!Sz*xM)4J2vBYd+%@*cYn8x+g%YrA2if>tGo2+l}}{kLo5ab3>F7@hJ(4=xV@(x1=k`6F3jesqn|LH$3kn; zWlYO0o*v;W@YA}Z@5VjdTRqlDTS_tE)qO9<+c8a|*vgwtc3LaP?9kN}s5rm~Ube#> zRvv$vHFOQc+dl9bl^_u{I!=}*oph`aS$PEVsyB>O+x#6Td&0h3-%`J-Dx&NN`lrck zdluHRUindrSfH@4+=~ZM+ir->#I6UZA-Eo_%<#y^YdIWR8&?r?dch@qt?gcU@(6zJ zKYS2n-foC#i(GE2O~{CCZTqVnu+fKTRbRsu^#E{QaT%|R0)3}y(aO^pJxuy?`Sq`^ z_rbUQE&B->cR;D`H1jaK9#c4POQ7M2)J(zeYM+?$<$4|?SDzNvI_uS|%YRpmSEG)D zuZc$$F|=53lF}PTAm#}3ceN!1A?%1oaGVAXXP)XT0uDJNy~+G0*95t3N5#NkHkRHj zbOX@YIvtdug%)?+kIde=Igfd6occi?mN%1DHAaLnZ(GiOhOq#m%?|QFYv~%AZrT@* zv1QrV-~f`Rn%e;hcZZEStjVK$oR<^XSz`LV&J$+v_KFzt>x-cA#s0^;hqP9@&sjj3 z@octj9UK>QJYhK?c$(m8Kh{O8&VF|jL7O=J3?pu|LZbsXGD-h9p5y7X>wSAVj1 z3e~GexK;R6Pr$a^+S|kQwj@A91*oFJQix`Fal@Eg6S$>n`q-s4hc=$J#@UEoh`8i47c;EWEkg?Gj@xqx5*eCa?y}W*=Z7>qw_c{BrQn`8kvb0ydl@gsIMcr#Ze89WnAfF# zL}18z!gAg-x3rYh4+|R=)MC#B`SQN9CxHm7H_>h2fr?x}-wNgNYVJcl$0>zhNS%5N&|Simm9V#aU~fmOu~nCU z?MRTPT&t9nZbW5j{cg|)GQa2@wK=)wnlcv7&-k%R)bzY1>>QcRM&*jyJ||0M^KpHi z1GkE6(aG*wimu>F9Vf4|627^Iz{uh%7vT}^gyp_yGz5$1`@-$mT$MS^)BMU>`K!l` zOh3$$P?^QeE_&4E!(k+gY*}H z@3~?8AgEbcXZ4-bb&I9m_6sjlaWu+-D0Yo-rmh5CvDoX$)6aWFT)T9k z#(-y`PCX-`Ca5Jwget9dnvJyDXdBUKJ29;I@a0jP3u8V@T~hC8n-nR|&M>&8TbAvm ze|~pR@RKnQdLgjgOd5=F!&@Z4bel0P+BV|hnJaoRWQOla?7k$yNTGqmUyWOLqFZ53 zaL``Mx(F{R5vo>_909KHq0Db~6Yghsu0c>p;d@}0jv&D!Y9pq^cKpl#3@l7i0JsZ= zdHVpfqfOFpK>ZT?jwiK7CmZVx)(bhi;`vWXuZH}8hYtMj9X|UXjFtQUe=Y!*{y&3E z{|C8r*Lw))|M(UyZ@wH-~JnvQa&O*yS^x1I++%K$xVitpd>K1vKC zMWK5AdfeO^HaWaf*i)n-XMZk6R)n$rh!OZBc{%#5pRAVDQneyW;78oEbC2v5nS7K& zD=BezetgoR$#lM%7{b~vh2Ex`GW=TNj$SrS_7_AVWRIC=2FYUFA|fTCbiSV;ImkJI z_Ln|%a^kNrZJYIMq^{<-0 z{t|Yr!Pb2GT|vH;f9+LmEwhz2Jy`5!2^`Ip0)km##xD5|uQ1ZB)c9i6iE343l_Lv2 z&De{_DsU-gi&wFDsOf6aW@E%3KE@>E43dX#2fP*t-gFUe%gFIi&C6&Mikgm zzk9&ebl6UR!jxg)FyWVjT*seW?VG^fB6_5Rw2Y=&8G51U$iaFBynBji@)-Uv)mP^- zD`DchunKK4Y+%t@%I=#lZfu~2*5jj;Y1qVtUt{4g*`zC9^PH^4v--7tLM&#IJZU9a zR%b5Zu9962hT0wr*Wxl-;giqF22P_o7+Dvl1{jiI_=770sCOoQ7P33FgByMu*X4)Hx;_~g^A^e9@3(Hl&UH(YPkEH0gIqaI0}Q1cp|dMaS%kU)p& zQw7}of2c;09PR?>yU`L6LhJDtgOpYFAJ8o8&6-F5h8FPIilyomiR5D;$uYUM5)d1* z;|OnllMEcRi#I*@q()1QACyYxZM1n9G-^7?Ve>LBF5O|p+fD**z^BPlUfDf7#en3rW@lEiTcs34>zW)b>nehSpQ|2Wb z)4uXHqawGd(pYD9Xy%~vH`?~oU-j8fYZwRP%c9la*0>HAsFaojSIfC)`~4o9>S4^t zj!`{UuycMqOp%bQ4(c)QcG$4apkE4o&aG1sor@-a!PvBjEF{Bm6q2QRG^TX)BU-*9 zzbV|Yf%j5*&@G^glKnS>mU|W6>U%2ieM2{#G=Eku+?+56lpqrAr<9fJ0V$zFl_z(f zp-~tTb`1Lyw|U^~k!5V?^9_%=n3?^|yU?h#a3!%T6kr2WlKK>%6dk`xb}Kj{B79+l>LH;gvuRpndKyF$)`LHyJvex%a!a{fyRRy} z95iHL$6U8)3*(ZG|D$ljpBI{?WjgM4oT{+5nq>Zs8|SOEuWYc+;Pib^!Fh^Lovs3p z*-0KhGq{l&gj&fcH<9jO6vldjPEnmKd@LCbYoZlOxZ~&ZN#3eAW-=YuXln?8{D;FJ zkL~rtrNZ_HQ{D;8ds{19pDgt%cFR8;!gLd6VX!9&xxZ|VNfE_aSb__WHosZGKE6+^nnj ziHx5(^DB zKeQ3DeQ+n~;v)fX4_FAR)HDS+Ljf`4Bhw$-4?(=d^YA3~E)W zTKCABi87{eqNzOfUb=4aQS6m6#5=j>G7(P)sLz9Y>|3_Y`@)zZK{$&Fg^JT= zWNbZC?@UIq<>}?2x?TRJATL9oMYrR0GI*edwhMq*3y(@ z5HR@7#xSrEf1tRG5BX{Iofn?>OFSM7d8s`~&947B!Ifj4WbA&sKbKCl@cOsHZ+(9} zE^^bAXe4xWM6kM&RGJz~3cy6aaH4%8eZX*Q8_gFVw+ZBiob$}pjqFhssla?652|7v zH^1bz{p|i}nDHpIE_Z^ij$UII#EdB%OPq+L#DR<}6Ivieb%M`o#XOQ5z3Lwx^>auX zuOCK-Q+O&frO{Fk&Tg}WMEWRru5W-3Y~d9J?q%fU7?!9Ty9PLJp+z;e2LDKNI-;dQ zoxrVD#g^>IZvLPsk%n!mi@-b=gPi^GTz~A3&>iifC|!n8k_vHIB^yxzO`E<^PVS7;!&nOe!)T$a3{x!%D^Mj(DOeJ#HkD6L5saGRPwD()6f`17qoZ7 zONASF92iIU&dc&lD)|0T+7;q9+!zuuE#kThV>|Z}WaZ`jJQT}&n;Y=AlS%m8w_QB7 zkU3@4My@kNq2Nc%XOpLi9aPC)nQh_Tp&5)KPCMkD2dx0kIv_8z#%nfpN7R<#7e?54_5*>2CpDY_rsww@`Le1a4mBChc9GB{~ z-Y;JyAp;=UxD-V=g3fZnhejV*4*psg*#D($)>=6jf~SXpbGDuCG-vNEE}X&{8jTdG zHf2&$CRbV*Yf?fgAuND3o`frKFyXjOl;1HcQ|c>L^_Y{dJeR;q)>g~HIo=hNWt&WRs10hK^% zzkpaWR~aG(<4MpzqE3>KB5D#(P03|_>Rdl&Y?&Ew>XyVGzLE<}JLCy9ZVz9K)K#;C zwnVg3-Ip3y`lz7f;1Ke`)4)ALyxBOubQ;MD^kwAEq3Y*V_=Um2z?hx{ZV%>5o9f9X z`fT{)-QH3Dhb=m_XGjJ?;KFfqA&HU>j+`PS$2Q^;(~3bgWTP5PWTF{Nw;5|tlhzRJZJPQH zBnxr3nVe`ysi|_dJl{epf(qV_ssx4dD zu(i>TC*>vGSXbvI;=)_*I6CK_Ux|TYke91^CMs0!G3aoKr5o(-qxpqu4gG~`X zlggC}#=wCAq9={J9Jy*gi?n>I8}&tx*4WULaAS$g+ovFh+z)4NCQ>x=`hm zX3VwgOLk-qQ?VPWO#;lM5S0b73E%G2lzC=)%7zC9Qq-y_gV=DSfn+KbQ6+_dk#ImS z5S2TkJkU~3$Ygt%0_w;z$Zg+A>iKfAF*t;#ntk11q{Bo;aKM^?J6umEVUQ1Lau1aO z(}P7`wcx=A#Q^WfXHWL^dIBmmm>@AT@X9bF1Wf*f@2Hw#@=HFX4VX+xXrZn)#(J8G zYKrzlWU4Y<31%40OfIC#KGBJy#%CebxJ=1cK73i-zRFz?r&pwEsuQOaAIy1ylu{bB zX&qTnz9{AJ@Ki>mJYVXp1&YB}Ri_TsXF3)j6%TI@u5mGF$4G=Rqm?1YR!uV@K4od9 zmKrUq-8kT8fLuuB2=R5^C{!TK=3&-#t}U}KeTt&}`1(Y~V8SYo5i0rRcycO-5)G7r z_f7}e2x-YIZ!Wmu`oRrVDVasVVQ1Xqa!C-o9i&O-22 zI>Z{HrCpcc6JRvO<-pXO1sEd=xgc`ud`N4M{i75RYF?M>=5=?Ze5W*3{)DZ*ySm?5I&SF|K}JkHe%E@Kq-Tih&U;jSzekj9Lfi z6E#B~g5}_o_X4Fsp@to>7BVJb2`s5A92F}O`iVg@oudZU!tbptrTl=$w6%a*PK|S` zs(_B1sj;I@z>|OV<*?oX3mpU|;NTopVDRY6=`+&oQ#HtDdRR)CNu`jAf$Bjdqr`-7 zpemRenaj2e&Suk$!3zXU)r>+@&pI49RE|1FftvwDp0d!QJXHrUPJn&*R{EfBQaT;hc*UgOPUoF~bYN=Igs*jjOywbgvw^AD1cl6E z*`8!Di^?1e3f@GIxGqssu0&pr>bhw2uBfE}OuGUd2d|T5+?$(778mF2)==?PLquj! zBgigbM@2);n&mV9c*RdHys-G716S48#=SUycsww{0}^#LGF1RF40Kdm86W7RiH^d{ z9z;5sW!yj-Au(VLMjQ6E3SBQTc~+M1Ui1Y%WaEP;R%Wyb0RcWgmGo~7@8F9j-r&G= zYFS!Wjd+M2xKr)4q!GfJjmlJrnY;ZHVrqgf7nm~BH^8yXz@y7_@};(jDg#57MkP6b z2V2S%UZ$paebd&=yaG2$U>PN%vf&-Mo1|GCK}`m6U@vDC$b<$+A&_cM_V~)vqFlZnWMk@CtvVzu zjT+1mkO}`DgepWKg&2dbAM6nS02m6N*aA`2JJY>5(@(AnSF?yZziK4ys_IrFL`NmH zQPmQO+AygDp3Yxm@@S1612+RR+KZW376YY7iFVn@;FvgXAkSD(lSE5GlRTh@muhhc zr5mVL40;(QJDb5|l<0C2qBHnB)mF7LhUgP6lOJ8}BJyQy3ldvk;O;Oh5mH}upai|Z zBjx)h`H>k%i1v9<7|Y;tp)r}@p}2T`9e;>XrgHhp1ZNoZQaxgD7zu`tqI;6pu;|$IOlB$KK}SKUoQxnl zdz0`%8Y-(|*?ufDTU%&H_0Gyz>Mje0MUJ+L9w-!@0j@@A3<3zosX&=;#=b#915sU> z^lz&QmIjLpG8kKf$uM1_LoA0wAnH`E1(Z>xHHh;d`*%6tQb;;(lpHl)WU7!LIZdL8 zs&812!7+M4*8tJh#Z{w!@XrUL5JsI2hzGfrg^H!f2_L>XHLAjWBR(iKo){J^S|sI< zZg(_L0K)jmwkHg_O!O1K3g?l?h>@qvvk%{bb_*U3XdA*GBcvHfD`DKtLQxP_fT6t3 zw}8AsM-H8-Bag*_0X5SZjWUWP%BEaI%34CJm8&AkU1%W>N}rh}i2_##HM&81K~xHe zPUitn6|)Bla+xwnfMvcK%{wr&1I#}KM~L<^YQV=4z=RkDl^DR3Yh&}<0(y`cy zlG+}fdaWv76G7d8>;iUFG<0gJnsCvjxw*MXKhcm#_`cUzUzez_2N!N2ogEoOlzB;V zi~-9IQi$tA@1z&Nk#0i<5mGsCjSynF1x!?eDH9MFlVF;q??Jks4?zkKrtgEV*xyo@ z{n)|@Tk7-Dj%7sA+S7;5C~wRy&Z?6`gQWTaD&rCSrN}ExQdb^^V?5NdJigRIUJ_yx z($m2G4I&rPCu${W2CL@5BytGto3JloDT5F_zu(FL^gy39)ztV&t{ZZ}(NDD9hp`e< z!)BQZAXg`p_K(VG3wpo@ox20`0>J+PnPqa=$`}cp4Md$LIg%DVmWU+4cp5rtM;RTp zK7kq9`X)ebN0bRQ;RQW$&VfOpr$^P|gsCB;{D5*V2fa1Xdxiyse3*c$t-Gp0X;wY8 zKCxaPT+a-kvOc)!bSR`Gg5YzQPB(#>s3u`nTSTI>K-6x)hH1lXYEFMc&AJfn85*mn zB(nI&QK>0lx4mTfnpG9+*AR2UsY#V(!9*L#Y0!IjqfW2g24rMsQeDF;9o8%s3dR^h zGcu?my+poR2wbjNscKJVzDS{Nt;R@IQicgnC=2aq?}FA1I{(Ah-W{c6nZ86-TB0b6 zue7Ynlh6$!$V{Zngj_(O676GPMl_hFt7Z#JKUq@g8^=>KZq#%Tl^kp&j8Y(QQq*)) z)y&nE&iCdfW%dal0l9Lwu2T0}84_P7H?#~3@d!R@zQS64hKo$pDL>ztE-mhsTeGgZ zGL}yeWaqL&q9Ivdd*mgTW)g!mx7sec2(CzC7&rXst#7on~)Xjs;D`E-!2TqAPzDqBcYxQD4^2sIl~B{ssv1t;DEPaDK& zOgb$%7<5B|#-L<_qeCB1v99#FXzi$)t#78fP(~~-y=p_szhguR@wGDpykZbH5!aVk z-@;Me8mUI$JTVufb3LuNHp}MwWP2xgZNxAa3_PGOg7evTdly@ z5V{oUWreHOa#%Av4?ztO<#P2hOzwNyaH_E!3Hp8IT7aF{QAA=E%Vm1R$zVpeQTEaf z`(%A>LCeRZG(CA?`56A|<4V@b!H`2ie?W&K=3;?j@F2~QK))um0%#PmvM&Lxpz;KL z)8Rt2Rg}rseKrZ=D?upN1Uh}yQ)<%=HlH@t);f6+*NH;0Y0Bt@sbB<*_?fI2;Sg4G zMJ3r8tq@psmf~PAdkaJiC6<%kyeTW$mwD#OKtbw+H4sxrq5Qfal|)fIrtYmEY7f%= zm|7JW%#sgTC6w6m1JXPleZm-Jwlp!nCTm%&rVNrxc|Oz%NHRx`=xln+;QM-5ANVbF z#p#*3O8t;#xPRh1)H)4;lO5{S3A86MeqkNBYOr*J5xqlKXOwNqAv)z-uE}nY1D0kfN-1Yt`y`ONQ;c z=X?Kp;gc8M?9#WF*OYwm&IiiYZk%%A*$Y1TywC9A*_}$HbIXTxT?lS6+XYCh`4?o@ zz&%$Dgk)1vk(b${ynF*e(SYn!zPV^fRF-w^nw{y8xbG)K=9kw{T@5{^O7}8jXaeJD z(Z7Plgs`z%SOy+oc+|r9N&sljJu@rbQMqCZwLA^*cd8N!Sm0e}I@MB{5N7)SxbL=l zRBCiZUsy4kZ;UHlC;g~I4b6#kIr!4nI?^*@M!gUR5uJ^vLm|SI&*TDpDkuO+3_jDk z0hUL!axwz3Kp@}>L#rTZP75ghZew*#R(^q4c3OR&Xk|t%k1h>*TVF4S;RYQ&>`iyO zB*@jW?3UgI7znD;M3^#-rVmxKSdA@6SqMXk2nJIx9inb%q)#>plJJ>M&jc~zljezR zRM)w5GX$eZ{b%Xdkp}{|*D!JcP9!B@!DJ-DQO4WUA%(N!>m?C`8zeGf={y3h5gMgY zX{uSu7HW$xV^)Jw8f~$0*&=wWQ`hc?U3giqp~Le!m&o19Y!9lZ$g2AB)Y?C=ys0m} z`HpTlOqpqjQ81PDJQw zJ4k)`ZR5)&ubU{%rzFxPf6dCuNM0v`AUlh1E*b`ACcQ{@g!(md23AvDy%=f}LW%7P zNI`cEI^L>ZlEAJ*WC1Q(<3x3o&r@aui0{bQt@;u8Ju@68fz*Jc0o_?s^%+Kb=5DQx z*ViXwTbc^&i#;i(0MID)z#6`=Vhr!%#+GhWlQzNo3f=(aC-A`I54o0RR;PB_>tkVN zsLF`(->M;+t`ieUh7MdU`xuPJ)ZdiF7TY}j!4D!MCr{b36oUl)nh&=*kn#+M>&8_8 z7LjQGur?md+Cv(_pM)82tgTBl#Ph_+%uKFxf-;-4Ozg9)H(|CQH8UH{%6%-zwzE79 zYJy47jNmN?ZVzEQM`U$+LB&DMn-oYn2-S=BFvxh7;*=_@?*|bIq6-Wzc1B5BJc|-z zT;b0QOq+g&4-g$uPyHeZmk^1)a{n`_cT)ow?|&*sy-<`qi?iAdpN#gNzap z74TB&JK`Aq;_jV`dUkUiQy!wsu{o>C{ONbpwW5tZfxAPfJWMDx2_%B;4kJdx(V*&e z<4_(%pV>N2A8^Vb9inHT8;rX~e85p(G2agEx@MMcNF|VcT0f?Q#aQ*`iu{sJ{l^Sj zIeXy~*WU^6map3c8*`?9!XJF2->8wiI8~ds1ZK;=sv!}df8x|Z)4`9iwzlZ8#rxJJGT{R& zYfGCvdd8q>o~M>4a;RLYhz5Cy;AQ|D%#>-DN6d7tr4PAq#Ei$m?5J=tIFXr|_pb_V zdSq&PR;EKQ(7mcrS;|>R#N*LS&v8;uBGaJ>qSFo4K%eLt05IN!1T{Z66+tIRZK;y_ zp7_YBujf4Ui>tk)_v0I`8+p*d_g{R`syVYsXvQ3J#7V!tPIb!=#DXEPT2PY&A_iu~ z=_Q4gL7)s4u3|bDQX31Z^FM4sO0+H04_I!)k(2LbEx>FYwTN)A+=Mc-fx(1!sA@_t zg8(Iy7L97fpq(1>?vEbXlphk^h4Wy?jMlif@wr|qxT9)-f2}y~m=r+Tw0Eb;=p^iiS$5QiW zi7tj*G6AMwKz58;p*3(`1RsV%EdOfWgO}aB+r&LgmGZhe_Of$}yLD--tKYg|3wJ*( z_~Z-z{@O*0AG_{`MW4+$?{D|?8#_K#EvN(UIEcv3eo%2_(s-(H-Y(RDr-%vCR z&i1`%lwY!O>BfuK)(6*^vIO=OrdD@>(TjYU-jPr<)J=Dpn~|%%XEo%|xe{qVr+#8r zN-qEa5CBO;K~#mPRS3!EhO8Oudu*)9O~5$DX9x9KIHX{G@0{}UhP?m4f`b~o4E}c9 zk3PM8;;2q*@*)ko*LOQ*COYRds-Ks4VwAGPgSGb5aY3*_DF#B6k2EL?g|QF?-D4G% zwcewq_SLMF&onjEXX(WvsqQ$LH6UU}PBCRXp>C-aU{J0a%8cPqd!o9ksW!ku?>MXG z%umL}J+@ZNnmugNerx8>BiqBOxnIN3oThjQ^r^H)zyu~h2C7ThAe|O!Y&o+6E=(nV zsCV?#K4vX=rF2dNGsVn=*7sOL@GomS8tRPbmbx?pc@=&Qe{k; z?Mtt)Tj%Wj+y&FV42sCupmC#$x^;%w&7_l$<+|bdJMLTX$#nkLoKBsJx_2kU2oIVf zMOr%AT>=v;z>o}HIa$$xIW@}&g6t%|iD-z|RONQb&x<&Xo>&RNOC`lT=s zQwuH1XV{h-PVfQk_NA)VFw5@f{pe>Bd`5qg2G_8fSP0*8V3vUxN{Y$q6%Cnp&)h5F zyFs_YNUgUr?nmBUGki*)S?BFG^}&S)HYUZ&tV^rA@`pXl+q-ntvHcdSv7+4{DL1Zq zVGOoPztTr2ycK5Y0_wmT0V)?yCwOZurBLw}`Q_A}OQv+Fxe4kP20lLpNzaK!9Y07S zkzchc96k@PNU$>kx98G()+bIISp69a!*53$6+%Z(K4AX)pYRC9xTBAZ#A0XM_NO)T z=4lJ7ieUOvV?f}4ULOO-j*~wO#c|}aMJiK)+6KV-$I-Tz>4K)H8_Tt2teKn=p;V(j zF~po2+a74AfjPs>RFM9gZm#Oyp-ipupxUOE4^# zq@1EFpJ7{7rVq0X;f#Whhrk-#S_oSgCfuVWrAe#nUr8uOEj;Duiyhw7Gin?ee-uCB z>V~XTB}@ZRT2Nkh{9~?kLWv7OUScksH+5edshT#eTph`XPWtgt|9jxydBuf4{lk?n z{pI1c3zxn1&;R`7`d{hv6Q}=}k>}p=`-d*SX6uHH`~CRGyhGcva%Ja1!}LmSRIg>( z!o%*OXwXH_pxLB8>uRx~As*>pAP}SwnGKYdYLW54D;+Trt*BqJTmGtqj<#ozMU{7 z4W06P%en7*O&g*&sP^wt<62Q)H0Dt{SRG~fl?Prc1`-IYrpAV>Sj?&{)0->%XkM8k z2Tz0Uf#rLYSXP*tn@g$sfOU5qB?}6BcDwMAd*lpxk%u>A@4bhN-&-c+n{^{7N%u9W zH-cD$I0KG$BkP_t_)YuEy5QOt8Am!aBvojVsvC&$&!?P6nle6AwX7mpYPlo=WZeI6yiGOL)sYbV?EX9Yj^54p;$Oe< z{e~6lt1o-- zvR}XPkALt-c0s{!-}umtfUI>=40j7ge3y}6EYoq4S+QKNGEPu5AUlI^vVeKN{8*Mt z`pTzj?O>{V3MQpGIBeyRfNIBsSjUz+GM z#gVG=$nz!Nw;t4$=TSUUUMd%A#-;i!tA{QvQzJZCOO9T;QT;Aal_vjT@K;y1w4eZL zweO%&$udyYa^(IUb88}XjJidsjg&F8Xl9P7C3Rk0b2_LlgFHGoH7?YZIPdZus!odC zJg5^~fHY03wo13b1Nw~}OZN&gm1}TbTgs{opn+)LwFE}O&T|9@a3yD9$mDr=cfuO=+xv;hNimDS?cf{N}}q5_ccDac9|R= zxoY4f?^g|B2RQ>XCH2AVO3X47lhdSg+vMe|s+70nAm;YU!qg`d$yjELnpg?Z748@f zXDZl?jja(A)gB;l5GWsmDyMP-h$$E_{uEyS#nZoNs;M6~X+Ot_)>Tz+Sh7qFuT`MN zNj<8dj(8<@8#Fj0C!46BQVwVuWEN1BDlfy=lsYQZt{fF=Ajur?mB5{!w3i!#0mPj;K(6w~S%C*6tLG1+|DcwkXM};KdS)}TUw#0OVg2J6v z0>Na?8l>q!(|}NgoaGzbg99d^c*;d#rI_eIog+Oga1}#z5>%SjYR16;?Uhk=b5xy~ zAq&EkTS&OaTCWUb~tEo=OpH+5hz8s{`~%@odhdSLnA5b(S7+>UynQPgo&q~AvBiJl-luO`kW5pYY;s!rJ1}{EeW#;3Q{_Qr zaHC!atR^ul0UQ52)xVbFe^uoWnu9<$?TA$xn_b`hgO!QwjF^8&?}et*F00QSTwFf6 z*Mc`z4W}s|76oQHnyp+8+8u2|>dK)Cw-un^&V?23BE*;^RZBi}j1k%lyLsXZ_v`a{vQlb?Dh3_%x4`SxD zN(&_>2ly&zG4tiO|NWca^Y0z{i}Mfo=~=g*bRsP36_Tz424DQ>Gr9w|r^yBO26T$5 zGSDH^*e+?DC?tGpWuWwdsuOA6;Fc0p*PA*RE5vU5TL{rvl5je}Dk||{wKwab+pyME zG7FMQ_rEF_32r$JD>s95aA3{{fy@Wfgq%>8Xz?eX*Voo%=ZpJ~Y+SKAMKKW3H1ugz zB3oTPLd8O}bJg9LR33nDmUC-Cf9s4N26tzT$n;e=5O|JiGhe*^_S+9UU9n*^f3vV# z7b7>(+dFR3Zy!F6S|GWQ5yYk?&_~buNFZ}qULwbih2oV?W}L_nm=LDvA&>0Yo3 z1Er7}PH5mhQFf71NLy2f=`y(KGu*3K4xO#Z^fa&?dN=C!3e<hx4qLUnqG@&nnr0ki@QTDaE4t|hi?fkxCK4We~;D%(V?-6fYwgXJrN*`44$@}VkJ zLyhx>>M9QslfjfWQCA~`U})+}AG=y5q#t>O0D0SaLz_hp3)B817Kj zeamTja=(7dS9wD+`$pJo0IixycoEndU+;i&46|@LQE=H3{FP0GvZZ>2>5{~YcRgDEE zfdysPm8Z(40~`cw8-Ww4q7{seIcoCOb(?s2V&5}<>_nqizw*k)#mnS+SK7A>HzX!$ zV==i8hjtr0lsT?dcc2nrX-gNDl8`6Qg;Qwiikd2;#vW6mZlSJ+%c9;~P*g@w*hWYl zn~qXLngW5P0f=wrD(aPoEFS~0H&}2|bwg3DQ!6cSDnR2=!5tM8fE$;CSI6=+G*b*y zF28!x89$}sQ2gDGKH|Z1e_pYE1Ao81vTEk5?~oR8m7=vyJV+=xZ^D;C%9kRBxWuY7 zogHafHB;%m1fJnW9P&ir4AD)Anu`NPxufA3}iP6zPHD*lgA!?;LEo^Fzu;VHY{B^ zXu=rSQPsxs4<7q35q`2W4mkT1*+`^#qS62U{?A{$`0|9)PCxR>Yn+U1b;UV4gc7vk z0DYrVD+xJh(&jqjCMqM344J@z9r?!nz zieaMKx#5Gw)!kDI@ORhO1}mcQYp>DE$jXQ}`!5Q~e&XO9K}eUu!r$T#nFYB=T=@%ei%W5rODDUiu;2Lc1kzAi z8YyZ~$dp?}j^m}B@J%IKCy8mVln+snV0MJEX2cj39heYJg@Lo3`>TocPBC@X?1~_u zgNU(Bx+!XNrd=A^!$GV@>li13t{g|_G(anq4H$APAFpcqIJjsVg=K7RbA&tH6-zx(y;AMStliP9Uy-njemczt8f z;e!tT`Dt>|Xh+^kH^OV9YNJ>t@{9kzP}HmM#Ir7d>D%@I!Im*8*V?W_UQ7HiSTw?~ zM^E@y5aior`$U76XyT4#;cAsOkp*dM5ILthuS`04sbgH}vQu)bZEZZ2HIbJ%%pmtg zswB6qK-L?kYp z646%2GkvSPhcD5=19cB7&<)V_=>vk`w@dU`ndr1ND)JEe!f1N9a2%IMHy)&kV+Qe!bviTV^q|c#Gv~P@1 zGvxJ^(?-u^F;z;9;4r(Dt4zvSGgRgn%I4=&Ib}u~MPF8((haF&R;%q%$Nlji?;3UZ zk@{BMOllEU(5>sw9>4$L^DbGxU@`yLfW5}-^`j|^KAQ36iwc4?Ld9MAQH7d5r4={??i~i@$vNy**AiWW~(6P+iAf ze~}Z55|u40O0sh1yd|HB^_}AN^>5#O=Y%uQ7Z;T2-hvivwbYKF8VD@Q&X2(LlL;3^ z1M)4ieWJlnBzz~s1*bSHxTE_`k+nx*kwjPaynI08sa}GnY6UBnnPRu7R1DgwOZ8IA z@GB-l!2+X7)Ry%e3 z{(81qnV?xTnwlpt`U5BI*JsS`@~xCKRjSS)AtvIaGB5~HVG?K$I&VP!B9qEV=DtLT z^1*;D)FWw7U9vrZ6GP1tG4e>yqNPEoOWw8{yb6x-oPi3Zmis)|iyGWZPmGAHIVPy& zif{l?x(ZrOAR3Hr;F7`>v*w~%S*P9k;E+lC=@r0;8l}rm$Fi~@9zXs^N1b@{<=jB* ze$0U*58v)2@17%dBuj{@s*PpOU3U}z z)8SWLIpWYG8fzP!XoiyON~0=YDzS>xL4c*#5)s!+#Bl-z@@=!do`$#|$yWWjFmJvX zML~j+P`JK~2>8@2USzz!aP7Hv_LH$F#_p=Q+H%&UqsF4F+0~iqwzTAf+0Y(o3K0qt z7MOr;!HY1kv_blfA@R`F!)Wc%O)+|q6R6e&5;>1F=y60<2L~OIH(Me^O`3qvIScat zWNx@948$Nza$gW7kt1p5n#vV57KxbAP%sug)lBs_L8#JvfAJ zSbRxM0hsmLJFC7FDR`eh|5BH0hW+ao7x~E~3C+xxpSkLt=_X7fE5ud|unl>mX1Gsu zJ1_%$NS<(mSpY$uL})jg-sfA+DAos5+^7H6)hmQbmYQ$C-un&S_W-rdgyWGwfH@7-)eoI{ z;kvmC_dWZRWB>0GY0Jf^dgS5zb{=%^LuXx6zIuaN`9R4*6&Vr9xsEFX6T(d;@`PZU zxJ*?PHOHXCWbhKCk00nhArT@Z5dTcROa`Y=d5?5%j*8S6&yCVjH1M1`CILlND+?;r zY9K1hLc2jCS~2))rlk>`y1MuU*mKO#vQ=xRKKLyEOXY?wf0}$Qw4ft@eLjs!sV%%O z&hpRaJpbF@m#tjI|M=m94~{(Y82&{9nN_KQ5z|0BNNmE!j|fi#L6C2m?Gp{uOC+Lh zrW&Avzd?2fGRq5k1gfSrC#`@njF$AkE=4X7Z2;s;n9D9_0l?zRx-%f=20LljDy7EZ zk@BV*BbYcyn4^=)(pHq29XMdqpssbqhfXb`{JqLh(cssulBkJfN&rEpZzdwRI<8NG z8HR9JRyq_ll_Q<8DnbE12Bs4Ih;}&3o>$*D%eC&15Y#bM`D@fuUALaIri0B80cNtF z^^FH!&Dex=cUc{fv%=pg>E8!_q_}VINLE(wF=JMK@dXJ@-*Nj$1L+0jBw%zPhN7m= z>9C2(%GBnJ!c;{udke(F&5x)`H_cGB4)C8tOij=EQDGywsAmkHGf#oxX}^%AabwQVpaz8H)MRlg47Brm*Z zV2;x%H-6s4c|tz8v|D~6CxgM5EHx7B5R%%1P-~<{Om>({OyEMerqzr9`I^CUPttHY zH0WfB9%)fE0l{Rk1!FR01LT{Lz{^clCvJX7v$JTm$NNr(9 zm4kld(FgzL)7KM?$<6}@bNhYa^Uo0-FXzUa=|LeO_5=-L)DTgoIs$f93ojq!f-DBi zt>W*(U z=Ad$!Rb`-kg|`eQ4|93s%XCOc>}5JtK!@HAyZZk!^Yb%ubByasEeRS#Pe@~J{e!2T zy>|AzDZjn+z+axpM0m?l4l1gaE>QOoaUCm%z%`i-&~8~ogZK>fYghL*=>oc zmC8iDfP>1_i88Lb1a#hs+=;L6SgUj^(ao4Dnd@3BSV&O?^Q2N;9k!9CR&&y)(Y5AH zNI7nDKxHB=FX4cRW3QS1@8aHF-@4-w5Dk9P`_JWnB+VE!X`h2G`DMkL%|*TYGqsd; z&`45R3rXGB)kvR<)yfg%+hjXuPeh`w@9}<6U7URE?NK#uQpxC!%E^b!2FmngKa-iz zTsIJ6cLgw+f`rxewwocak;=%4^3ZT=<`C%!$jEed>s=0qpqGc%@#>;a-v0)qH0 zFMT&8ZuElWjVB(19eb{Pr! zeU{p_=~24_-My}02a-ONYlQeJUlrs^${bm>uBUcEIK>0{3ftq$VZAR?GNlm;mN;bU ze7D@mDhDqtL`Yz6hKk(Viz-3O(RV^)wy6%P2vQcbi`y(;Av{Cchi(6|<&2@k7OO-{ zUSHa6-$*EV4=1LV)@EiGRM$5R+OyFOW+_G?Ms@pvVK*^Sk8j3uvnOA94fDkKy3i4nhY=CMF&5mH-TnUR+b?g}j-DK)7B z%wZ<^k;+sC(S)=zV5yf|bFTw59^S$ryyeJIz9aRnScJ)kWwy=tWon@hK?7#amkBDF zMYkZOK>8u5t7jZC%R;9@QyLdB>63C818ZM^vN7|3#C`3H`}bs?w`AH^ZZvZ7>wka$ zo~LHL^nOvF?)>+*uHG=__`@chd-^@coVk4Z7Y9+Ns9ztoz6(p21+A58mjfN18&9$b zE+&n9>ujHBa3WDB>Cudc>L4R9%T5ocmA%nH=wJmQyGycdNT42Anv&3Fn3+qr6$PQ3 zhn8Z{-fS>BG&Ab4aHE2pY+p~AbJf&#dweE(TkQs6DP2l>8HgFY!m!Mj6B>Q9wv{zr zGJa}D2P||YKV$fIi7SdsN59(u}uq>FP-+)kc0LzhBJ>% zv5d)yz^D}Ekh|mP(nEkr)Vt%lXFhxj_cZk0eOO-S68`re-+jIBvws}-i~P=|ea4SD zUV;G*@L*^ZQ#)&Rn~T&a4^S|53k)V)~iH&7GM=vmT0LJ*63rFji1gN&+GmEaZ_ z+TTD)^VuA<*&(SbSZ@lyiFD@%)uO!Fsgqx2P&_fUy?jVY5?Z zwv^1-Js2Wl;$YZcZ(!|sU0TND&JBWsuZp><=Pu7*Q|c+=Iealx+#S`k+WZUoj*t` zIF8e8#K048yNt>bTdmOKA?h1F=xo-MieR>evaBSt-cfFUSsSoYy8|vOhZ4JH2uVFG z8Vm_^Xvc0mGKUG~Jt#NBHtjLB_pZE~dX-7IS&6UZxFgpa6}!wYEgF5)0epM%$4ytC&g|$?Gj(}=#p3nPdf*{{A+wEy!UcF4@ zlJ0*#x=j$3T&K(}gSq@9wF4#A7E5_Q-6y)OF-8lRWF^^ynGQ^KdZT((kMCbTV_7k4 zy+6u|C66DsJWE`0dZ4DPhBAsWk^O)K_-jdI2RT#m^xt(6);#Wf!`HqU`# z0y4+s7eEOKu`)(%|AVEMlx&5CAk%(P=ld%OX(;I4?Po8(wqnMoOF#O6`M$nvd_Bp< z*GpXZsTzb1*?-T06Lxo8#}rKG1QL^M!F0?HP8>_wLCe*{>(=z*!Nteg>q4|lE;Dg_LQdId^)X{tuCL6BC(Vd2C`Vp)vTH$u8ytca z6{e}ZrtPpz3j;SRMo<(&(;l>$_a)8Oom!djTFC{Sg|0uPJAFr;i)Lj>on1mz_(o@o z5$iUCx~sL0BPfiiF6#(oN&yU}&6m=8+tj_JyaTVbsFFWVZCAftDyD^pZdy<+#ztBq z#vH1jQa`O~1}$Ppko9I#>4J(Ps(7m1%74_r7=A`8Qkr`DmD)@BNvk}tU%PDFkv?$Z zzWhP-6j?d4Pf{+=gy_29{G`!x0XVwQBUk5!#Ys`7HS?Y&F;Dj_P_0+tpH z+Ba?K+bM_5tOAfU$Bd~t^Euj<#|Ar-LOD9(5doAm1|EdG85I>l+eL$BFpj&JfY8%y@kbT%{0?pi1dG*0sv?#msbv zKrPGSkW}-ayMgVQ;}l%)=Au?>Rx?#Fl9fRQbg6~zRnI$DrC`nb4%P4IhvQJ~J2fMZ z)|?iqzjLfzYU7b=QB;VV1{)^sky0K?f=T~`n5+mQZ!#K$10q?OEtkpaB((%`bR@#$ z$~o3)f*)o2G*K%y;iM=kQ%eqn&r{0N!kJ6$x|O8>BSc~G38)Rnco)nt(LM+>fF{Z) z>Y0t^zDFU;W8S8g^%D=B5CBg2pnez)JPq~%8I??fGyPP-by5C8P4$sHm-^DIT zdP9P#3QkIS0ne6bTe+%uG%iVLLt~=VUI{_kkL^~b>#O}H&yTe_bf*dT8w63Pr2Pg*CY`-LJOl*}W z?ada;liKU4{hMELqS4^?gw4xiicQSm-1IJvwO?iY^w|l1J|zRt8qcW?PA&BulqaaJ z)RLIO7>UGSe=YQOcKadQJYRM_hb&J@t((Q4)JsqdEtH3lz=@^Z@8)QTRTxuC@+&l@ zRcxa?G-zg~e(b|+RzFY-c$mh|Xv*hPjzRqn)!WT#pQI{T((HVh&jbxpZZoSea3q!x zOuOWRmqv4$@}w2jE;F?oQY-ai$3cj$7G@QX1jS2j2YN^5-Hth9!r)R8rL-~WZ>(Vi zLB4&qTQpQ=6lBzj)WV4Laz-*_A^;&I{b~e^Q-M*{i=}#$1C)-BxQyj0&2S-+am|7lFKc?iAgf34c7HgwC#5j8c<3?L45@jhyk?7z%YuFhmcg`O@itowE3RR->In?TLD{*pV)IF zg7d|;T^?fn*ml+rYkr9}D-SW-gaoS&FuO^S^y+Q9JT$dIHfztpOMTI$)=BzrHY-o_ zhy6#k&H72Z-nUU6`CkqGGTBpYB4fFFU%daq!?qf)Kq>ZGvS)K?#3$2&O z80ltbAng~``J#bQw2$T+8KJQC(|m`t9nV+G<*_zX$J3^oTBslEeP->ZMd)^wC*Dxs zPW7_`?DF#!g7zv;lem{vtL6DlKxIE1XRNNOp7+cILB4&qGpB)w{&Qt{AQFQsdDYwetYkE=vBXrh#TsqmuLAWGyCl|%5mMsn);1PR`nS>g8%6sC;S1R z5MS^7=-*x5Z=Z4B-TL9(cLt>uK3iE4Cj~7Q6G7UUZ<1|W8Oh76Yve67CYx_&em?1_ zY^jN^F3U16lU~Yo#b0s@kYtb`Ch!@tX2^dx$jHqL`AK`8COla1hS_4NW9SxoqS>#! zIr`WsqmMmu?W{TXA9q4SRh9WuqOsBbr0;oNJZ`@eud5>+j5J>gv1*0|H2{^jjhYG1 z%FjNnShL!^9DLwGXa8H=SBY03^ZjH~Q`+a__4Tm9t2EJ&Qpt>uHB;aDLGjO%PTK9z zLr=N)uIde&-u%Oz=KVxtP>1*b__C&2QGr{QuX*Ou-@}_1z4Fig`|M#plT2->X)T#_ zyrxTGC3eO#>YJ+ET!J7wh3)q=h=p(St2S-&b2D=sn&e$pEapTbEYYEFu=dwC2N&ly zZm7s|UH0=s=I6$eZ_Vxb>5{GmSxphg?^P^1lxd4Qf4aDoj|KJ|P_^IC%IBt+=4P-% zM%DiH_0p5}sp?e}Cmjzr8WRZ(+nEBznhlLC4H3!~_8vPruWR?AhaB?IkItC?=9_z* za>~jXGoJg^CDE*`tWJeLedMuNZZ028fA;7=_Na_h<&(_g&$ik#vSO6fWO zc_tF=aI4p`AbBArT2GX-!5;RtbJE$;4?p}P-!xWNpZ@S8z4sV< z_o0X8mX?$)U3$gG|C{;DbMOE4A5O&WHD=hU_uahk-A`V<>2LfJ9DnLjwOh7Q$2s!a z3)jqA@boWly6U56$PWNNnXD}&6`g9=f6t&_a_|ymk-z| zt!Autb7eHAGeMA@!Z(`NOX7C%iR6Sdtgpbk? zkJL|6^-T1zP&^OmUUStk^Gb3X=dUfSX^MTgu=`aEDG zIbz9&3ySLE?$LXc&sv@H@)w0edo=YfNwiOS+Pi)-WX*5ygIarL`b~8|sxajtK}q_I z8@FNpe7^C*6_=lM*WWIAZ))ekL#93SKz(J!yMMm@!Z+T&eA;v;5^1cdnf>B_hfg`` zf)`$z{OjL}VH|B!EbOz)L^;_{bY?dhK^N zz&pbaKkVumA8~b9(!cK|?>u+aw3imV`*Ceq1>XUW6J7fDBL`e~>bO&;%zpKK{`ont zPu=6>Bfi!8={V=hiAGPn>#j%7IP*_?@Au}dcZgefQ1aXrH=TC>A1;08NiUI{`{suy z{PD_IcIGesdrv|4&Of>Py3PZ7pZC;XpkkpU@%o1IpMB(KFFf_(-yh`Vnf=mBT#H;a zzkZ+%FBpP^2 z%`4orx~!HRuRdvyS zec12OseO~4Q`Hd7jQaZyt(m?w=YZk0q(c(P%oJ-n?NX{XY$)j7op11wS+B8U`38U9 zym;~EB}+;N4$LYj;KSc3H{Q%+SQ9V!*@pS^{xojv%;%nQW4PXJtMu7xFY!EneA)8l z@J{!UBVc3QocWKOcHuvN@(b=)XsQ?Ox%0q2(M)mabs5r+Z){$=dhY8V3eoU`VeH8# zUpHs!@j#LQ01Ea=L_t*6=?~vuwtVHke|a^3XZ_rTuibRl13$WG`Db4>)@(bbP}08- zzm7@=^sC;qnZK-9v!>g~k$fY+Yq$I^UHQh4gAd_ehr1?Cc>Q<(M>+<)*Nrh&%{#6& zWlmlpL6DurH(f!D(p7#wt*ZBVbVBYWGcT8Xch(~-&1>3HlU3j3dOlfQo-5yJD9A~i zx!;QO4qkc6gmuNa@usBn+2Y*22G+eZCv4Kd&V(D|jNDxu$Xx#E^trFSHsrtq`8Jmb zYi7>m8~nNR;K96;&w_pD8r|W0WTJgyz1Zjm;)2EB) z88b=-46xtl!{1kbciXxDe&CFU|B_YELYv(4lqv7s^LS2CL8tCN6lZl^dHKVqoRVy6 z>OOqfo~NAHR4XJx*WCsk`G1#Q@XWpEK6TfCeRd~eR1--wG|7!ldD{T)&P8WxRg;PtUq?`WMCh`p+USg-J zX@_6n@soeb&r0mS+lJd;8acIviFML)!c0k>v zp$&Jw)@5Z`Q{R$!JCr9V&JNWN?=P|o3mw;GB>kH$l!rDiPv8b^?lw)`A#GM3@y?wG z9m6+@`}R5Y{=at_I+VY2;+=Os^UI657dN}G(-GHRAIr_1{OjNRead0H&IcWEU{-#9 z-IguSU3^htuU@g79NsTOh@_p$)BMpwRqVw2300n#ule(rzFcGLxz zy!t@*-3H{96yA5-g}->|K@tQEsp%W|KLaOCI`CJ&di{65>pyYdlKum@I`_Tge}3_^ z{4QPUwr)N7?t87k=Psxpp%@&RO~_WCZd_a8X^_os6E03$o6OkKHyME#g4Ux<&Qy$Or`1m*?LswMh`6ue@W4SpytvnsAenOVV zi#J7irL|O^L_=*XE7H6?jQQ*4EdKjRms~&d#f;pX?|1#AmB(wUuPfiwse7qio~GKG zjNGiCetft!gIvDM=T}v_a1P`ueK~*_W0RnUN?VHB*F_xnrdrfmTzyD z)DMyG=2F_o2Wp!trdMUraCf#W?D9To4=OetNZNz%dU+|!AdF>Z2J^Dxb=Bm%Ktx}R28WVZf8)>%u+_Pvh0F!UkHDgmt3G_ zg@ctiuNHID}F+NMj@j0xg#^<7oJpu(XUm>Y!bY<4t_ zt~!>xV%6qeSw;DoG?URrBCLWK57l+hW28bwN*7)IL#8-1?+I@BBdL%I#;f!sPdB;)X5~2%aF{R z>=qNXkR5>!)3XZlGf*)g$PWxEhj&~ta0gUn(yv)vzKJUa%zs371?@54fzld@?>!bpdo*NPxW`@;LsC?VOD7E#iZ2T<3RFL6px zF(A8&b~5UYv&3CrzIFXXC#MgIWfLbxooFPIQ`{+*okfrxgV$kBagm)IfFQ^Z0Y|RZ zpG`<#LiTl?Et@LmH0FGVCbuKsKiX|+AeI@K<}IyVUvp5mVY!qpVl|D#p_I9~Ink_G zQ+1u!vDcaIm_%aHSYAGLGg_I3h9JoI6G&o+%BaL{ly+g{g=JelkLP*2dObJf2Tpso zKi{QaWo@opS9f5yQRCfCU$e@3Lb*~%Mo6TnAl}&6R9i3Bc~$e31?Coxtj&4bE!~h*$v{JGnr?zVCX9sp2ePBlEVp6k4+@r!t z5YNrZ%FN14CcH#Ek!Xzj9wX@&s=9P(vul&K^@HO7w0Y7b*pGeD20a2z-$%=jonIa< z79trL{Nak}*A8p7Y&%pQ+D`R@<-zh`dD^c$ToE`_Ji9UCWDweuMuri0ZbSU_C6yav zMU=Kt5Cqvtd<&i~O1BoUS1Z3->2w=c(!W3LypU9HBK2|NCAc#p>O`W^%$%I0$C6D6 z->1Gu#k21)pLX;W651EahYc?OpE_JBi04Q~OfK?B+w7(g1o{3zmDu2NLEJJ!HI~6%LBP3Bx5kiZe;${t;^>oR5ObWdi5Fc=*YoVBAb|IPF zNM;#}e_6eDe%;EAnQ@vK1UM0-gYfMq;!?6XJMpf+a^dDpT}f_fRzbJyqCF$sHju_j zl58T3tA{wDapJ_Kday570@tb>4lvrJ1)r$JfGa4#4k(zbU2AZv$l?c+& z*h#Z@c))&rM&o+cK)tf!s&%D_jBZ&)VlJi=&2yqTk&Ij?mQUOa`#Pc4^LFFPN4tXM zX&Wq0+hBRx=7&+9CgN3-M4cb6OExw7@ftt5A<^`H!`98wrgEo|#l-vxlnY2lX6H`% zl{b_ua~sQ?h6R3QB<{qR8}n%-L81v3^(fc;_0@w(dyt*Kn6w92p0>gAv<;T0ZGLFw z@hM5TED@#2D2Y2PPQ4`a#p=*>heQg3>@;@KIwA53NfMT%$$D4ciA9DDE1F74dr;VE zE@=<2JZ*#JX&Wq0+x!sAla{7{SqsQ_ijK6n7`0-9?X@@D5AFx|gZugJ?gv3S7`VO| zf*=TjAfZ6ffFKBhAV?@sG$06qAP5o)6b%T1AP9nl0!0IYAP9mWp+M1qAP9mWNGMP= yAP9mW2oj3_2LJ&7{}|w3Z2$lO21!IgR09B { if (backSource && backProjection) syncBack(backProjection, backSource); - let topOffset = backSource ? 62 : 0; + let topOffset = backSource ? toolbarControlSize + toolbarControlGap : 0; for (const { projection, source, actions } of toolbarProjections) { copyAttributes(projection, source); projection.classList.add(toolbarProjectionClass, 'ion-cloned-element'); projection.style.setProperty('--ios-theme-foldable-toolbar-offset', `${topOffset}px`); actions.forEach(({ source: action, projection: clone }) => syncAction(clone, action)); - topOffset += actions.length * 54 + 8; + topOffset += actions.length * toolbarControlSize + toolbarControlGap; } }; const project = (nextBack: HTMLIonBackButtonElement | undefined, groups: HTMLIonButtonsElement[]) => { @@ -188,7 +190,7 @@ export const createFoldableWebProjection = (doc: Document, options: NativeUIShel nextBack.setAttribute(marker, ''); nextBack.setAttribute('aria-hidden', 'true'); nextBack.dispatchEvent(new CustomEvent('nativeUIShellChange')); - topOffset = 62; + topOffset = toolbarControlSize + toolbarControlGap; } for (const group of groups) { const projection = group.cloneNode(false) as HTMLIonButtonsElement; @@ -216,7 +218,7 @@ export const createFoldableWebProjection = (doc: Document, options: NativeUIShel }); root.append(projection); toolbarProjections.push({ source: group, projection, actions }); - topOffset += actions.length * 54 + 8; + topOffset += actions.length * toolbarControlSize + toolbarControlGap; } if (nextBack || toolbarProjections.length) root.classList.add(readyClass); sourceObserver = new MutationObserver(schedule); diff --git a/src/styles/components/ion-button.scss b/src/styles/components/ion-button.scss index c12c2550..5690cbac 100644 --- a/src/styles/components/ion-button.scss +++ b/src/styles/components/ion-button.scss @@ -457,10 +457,10 @@ ion-back-button.ios:not(.ios-theme-disabled, .ios26-disabled) { position: fixed; z-index: 1001; top: var(--ios-theme-foldable-toolbar-top, 220px); - right: max(4px, calc((var(--ios-theme-foldable-safe-area-right-resolved) - 54px) / 2)); + right: max(4px, calc((var(--ios-theme-foldable-safe-area-right-resolved) - 68px) / 2)); display: block; - width: 54px; - height: 54px; + width: 68px; + height: 68px; margin: 0; } @@ -468,20 +468,20 @@ ion-back-button.ios:not(.ios-theme-disabled, .ios26-disabled) { position: fixed; z-index: 1001; top: calc(var(--ios-theme-foldable-toolbar-top, 220px) + var(--ios-theme-foldable-toolbar-offset, 0px)); - right: max(4px, calc((var(--ios-theme-foldable-safe-area-right-resolved) - 62px) / 2)); + right: max(4px, calc((var(--ios-theme-foldable-safe-area-right-resolved) - 68px) / 2)); display: flex; flex-direction: column; - width: 62px; - min-width: 62px; + width: 68px; + min-width: 68px; height: auto; margin: 0; > :is(ion-button, ion-menu-button).ios.ios-theme-foldable-toolbar-action { display: block; - width: 54px; - min-width: 54px; - height: 54px; - min-height: 54px; + width: 60px; + min-width: 60px; + height: 68px; + min-height: 68px; margin: 0 4px; } } From df6b3e502c7e42169febf82d45bec7e74db97dbf Mon Sep 17 00:00:00 2001 From: rdlabo Date: Tue, 22 Sep 2026 13:45:17 +0900 Subject: [PATCH 26/50] fix: center projected toolbar icons --- .../foldable-layout-ltr.png | Bin 44838 -> 46689 bytes .../foldable-layout-rtl.png | Bin 45277 -> 46748 bytes .../foldable-split-pane-ltr.png | Bin 54821 -> 54890 bytes .../foldable-split-pane-rtl.png | Bin 54892 -> 54904 bytes .../foldable-toolbar-actions.png | Bin 70841 -> 70845 bytes src/styles/components/ion-button.scss | 4 ++++ 6 files changed, 4 insertions(+) diff --git a/demo/e2e/screenshot.spec.ts-snapshots/foldable-layout-ltr.png b/demo/e2e/screenshot.spec.ts-snapshots/foldable-layout-ltr.png index c450e85c19d4db90429758e58d6c75d4667cfb2d..4f826bc1ddd32a4336628af334007e28ef9846cf 100644 GIT binary patch literal 46689 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 z zlyvE$D@OKNVWWG0cI7IXiyeFfog3$7v<%ti-k6VvwXyP6U~zyucv0(0E-|HIY%H7FvS>|-~u z0%S*pvf+*+Y3l3;V~^D&UhaElCfP4vDT%Gk;&JS`=L8n!nnxD4oIbygDSyA{%s=!q z*AF7oG1HQ-_`q?*Ue3=)XGQJ1(6<)J>dLZa-FVTco$RebS(#B?Z50RBTn=4kvj6-9 zhFB5G-1L<_td$^vQTl&{rV3;WN>#KT%#~O(r$!n;6wsg<1Xq>x(eA%ulm%sFe_%Iq z?cFW+5Bm)G9czl) zfzJNPhl|4M8X6#YkEZCCdyX|DXls}a8VMmq#g$B3v*kA!gSh!LI`YG%cIO}L1RfUF z2czLJB}v(eEgB(jck=OJD>+>sN&#_)r@y~~We@g7$AEqNUO;JxtGKA;1(FGchjX>| zWp+r+2H-KneizUX&GIryEa~VRx?L{1^g0NieBx>2NV2~(KiTwZ{Q)_?z~#x@wpWg3 zbJ}0Q)IE!&*ICCbkECdH-$X+Fxc0H5M{mPXeDax_gqo2NeRwQKf!Af z+d)8AwcodyMF0*TdadVQ9zAjdJDiw|%ozYlm_XC8EdV<|098uBl<5QMZLat4-=pP} zZ|)l+b5+v^#D33v+ALv{IE;neqSjUEMSE9v)%arq0Mau_+GhYOt^D}<1ku*;$bmr4 zIQ9h?PclL`Y^DZkR{ruYP-X25zU>c2_d37UZ#2bCn+3>*cta`n3$Ch*e(5_&fqQfGb0VR)@T``*wJ69+#wMAN?QD@TLrS(0ehjxgI zdtkq@5UMt!qpu`;mrS}4@a=}oUN=Qu4f{UkqfTs% z3#Z?1xMR;^90N%ozDsDX(FrB0zJGlEIx`#yQ|uEC_|XIBwhfeiZDN5V!F7wL!dkY8s?(aP<|2rz>HfAq$8MGBO*j_mS=utrDY_irC;I%& zkd!l@0Tl1lSxZUFTtWun{XWryNEmsi3YnBFl=_ju@^(*%k%Zj`prH^H7Vdo#^u)xa z_Anjg8)m)TYE9j6YDh)fL}6|ITpWp=)BZG2!`4Ze{Adv%cEkQ`9?q~aa$Wc#==7KG zO)$kT3qohe;WtV@8jihfW@0C|r-IuKpiYsEO?gdcPK;bO-i~Q)oVZ0^>-7Vq#zs!gnr-^wte84=!a9srND*l;MGKsNop( zxNj{xm7nPC!Wj<)OBR{!gI@^fP|kxZ=#}QE)xRFWZ>`SsI612{#;`@0p$SO=alNCV z`<5rnR#2WCy6do)5Ue0IKE3qJXUmf(PkJ3Lw5puLVLyQxAL(i#nBF!}bXaz>F_3Dgzoq3>Nad;1|&UeOz_aZ7t#KYn(S-5(iVZVkC%m$vx}o?s3NucOz5U<5ntui~-*QB)4Xp{-<5B-VdbA6Dmr;&G|3VDM zp=kVE8kdHwamX<@$KpEkJ^s_tU-2yUZd@8h=U`YS)7sDJ-rX*P%hBJzq3zjDHFqMh zU$ZRQtRN=#>*z>Ui$YphA423rn|7fN0u*)tp+e-8l#hnP*+%sv@T?*g7ZDd0sh=9y zPFg*1HbTGHaPnboEix@<2$|KZV2T-mCpixucnwth5oPP;%c;<5pnAx;@u~mOwzuq1 z>}-Lx`hjbwD`pO&2@TxiKG9dXo8tysA36;e*mj}*i8_OnCR=?215Rnz4(J)5hmoAQ zh-4Yp8ui@Uw~rn@n%_AUM!D@_S#5181Xffml8y~j`-8Qk>tfeGh4pd;&?@o?Q!&(_NH5WokN@%C3S&L*8g;!?cvtCiV zr!$T2gu4+CAtqpymnLj}bB#bc&wT%lSc`aZLbO5UxQEq6oEa62D&}68h|GAw3<}&+ z-j&hZ#t#E(Zpq!n?ZRXJ3s`B+Bt0wof|&E@+_LKLLSUl!r2>U#CoP8N{nzJV2+amT zi9Ik<0YUr$t$Wl>D5nhm9C8Bs>7&8%a~ok(O_Un?`gIUL$!3Cqx;4*KNGZR%C$o}$ z^_l)#xV)xwo9HG=>7+wa$zSExyS1h$CZ(l`DN|EZC)#3okj#z!_!b60${=U-k<1@Q z*99whv|XSVDNIY1Kg}m2V-{#>Y3X{p`!QfvM-|4Sm)yxskeP4v>-N7L8De5$Yt58Y zo-p*?#;h`|ST^n$gxu(X#Z1Juh)(8YW@ZAISPI^rsB3CrA<(MnBzW(IBMM$(xFUf2 z<}Co>GtkEo>qA&rSkZTei-RYNySFUH(ZPcjCm{tb?Gxa%ZFyf&AmSf6PoiZDjQ)xi z2=RiMdoN*LcC_hFJR}Pbr+i^$9>h0O>DnperJ%DVt8o}9+UiXhb%6V4iu`vdDa%n+ zLde(x00=T!bXnk47ntvDaHY!0*-!Na{h<^%J(hbLSQpXUgWdRsGvOI?^p9`fR;CI{ zu3Wu}xv|Y4oY3+;v3?Zv(i!$6W`wsv@$(bU#?T$DtV59Pp+^ za1Ju37!Q`U1U^w^uRRl9q!}4I?CmAybVBNa_XOKeTn+0}&bU{*?gFXtg)Z)$JDDqY zh>6K^aWR){-e#9mw>HdUDpt?NWzSYbE|ODFKzltZ^enjR45B7XY^m4{td+1)g zQYvYad()V)(V%kP3ZhHIC>$^_zyok3Cr>AW$*3a`%*x#84?`!h9K7u#4h zp&neFg#|}o`?V`6DX25Q0Al-5HC_BvkNI1>o|rQHlQSO)4So4InLs^njqdYp7t=Ca2Z`dK8A!xn0O} z{1uDKy@?5D9F*$n8|H?H@d>SGAW=s(B&v0y=X-v&a?M_iuY2t5g3HU3>g@J7)47Mn zK8^U0h54VZ?fU@SZamhSicQnGzpAXo9QJrHhK+#l_lsjHn>__fyWWJu6@I<_`=4c* z#KoCNYjAU4Nk7Q^uX^5AGYbnkR{sn~bp_7$meH%?-c{;E&Zj=zmMtOUt7yCuZQnog z5fh>#wC9rRjRCB3XuYq#>f+{BSUO7Ux8Kt8CV(0tOqhoYKr$h5@0v;Zb&G7&nFJeK z1|}v4ndBTj%_PNoH&L9CZPBqAv{ z-5tv~zDLgHs9Zu;jrVEiABohK0Zeb_z6Gs54`MkXeu=%t=dRJDPm+ql&YgMbT(%~Z z2;{p=sO5o#5KQvewZo``X5kcqKt=#A5*+FR;v&d%#G#E|2XQGjrl-mOeW=*88AL)5 z!&5gNS}z^m-u`4u$c%5dITaOEEswu3d(|h$JNx<`%kMnkGn^jNTuHwB=jU7FPqWtB zQoZaddu>N{` zmxtT^N21hQT>AIAd)5daJli{7YV5>+QkOC~?9M=0s&A4Wo2zHi%TJ#^fqU`VXAvuP zV?UuAVUsbrvMyVL6ZH_D*&gHnIIxGpA6ccUrnMCw+VZm2FG4?i(6iy#T!TmQ0qyjv zpF^SZWw`-gf9|5%V%4en#LcdF+#zS($&+6Zi$Zlv?v#SU`(afsJVZ>eKJJhpf2l@0 zQDkVbySA6`N_`@yq46|B9R2jRm6K)l;d~fb z$!^}MVtOYZZ_z81>t4v`KOEjBe{{p8j84~h$5Okwv9PTUKSHUcClM%{`TjXV&-`m_ z3KnR{XSCnlzd|W|<7L>LzL$}!zYa>zlzkdvds)Nro_?-nHYnEq7L)m+hfm6rW;g4I zna37JY*8?s7v|}hn;reW;9Xebn6ox)3KA%!A@N50&=CXIqY2rkCgIPoB z(vJ}u-8n8Kxe0ZKQL5QUNhRE@=KIZXDsx8NRx2!P=<@jSFM}La{ubYb&&}O|Vnkw>n zR{el!$?efQ{J+_49Oi8L_>Ud=HpOXaSNV24OgBWsJUZ^rh%7o*mjvpBTe7F}4R?Lg z_m(r??dPa@qv!akw7&QjS1%oICJGm=zvpg=D1L8tr?tOlda=TzIp@%8_LcimZ)GCb zUOAi^?3=#%zKPmKeX{XJ%jJ|+LErsEYBay_4~CC=CPf!we7uF`mUHP&3Fw{m^P2o- zKKk4LwfT?1vjz!@w>Gl>3ACupTkCtv+ zyFEJef3k}U`bf3;b&u^a`Eq&2)I&DPRSY9m@UOn4&)76duTZr~JTR$nllT+CTt}TT z+*OfTA%4}P$6>8~Z`zItU5S17bt@^0f+~|bI^T2;`X1x&PpHVe#6(icoLTkfUuO81 zpDlgbt5?YGZ=<53RwP1YC!y&LVo43=DXdk!T?z`8zNMEQcF~xw%ibK){L=HjUan~P zcI@;+!vt;Mw*iz9C_Ke2&o*A)%C~MbEc|@ur^%Ux1;)XrnLZ>n9_&o%e2Ht-3%9J=-MZHW!z$ysXU9lgb|u*gl+2}-RQ((-UOJ(^zy8$s zZ9|!VEWeg>&l8|E*tah#MUekNN6d+0MVoZ_+;5`g-kec+>)QD8_7~)j_lw+JCtcaT z75WAwg4<~$xa50lhT+*u6^0sCc^(P@Uev29d;?R1jRP2wI~;mmj`eXq^%Dn6&2{B`du?>i*mzMe=@<* z!0H?*zMoB}vVn8wtxzIaeS%?TZchF5m-ZDW#a}#Y_g<7bVLjgAmgfUCCsb!&`W(oJ zU(?3R!$@)~aF*=V8%8H88+w?+Cm1Nn$@kc=<>x==PBbj&ELLp3vi7#^8oN1}n9M9K z^WRSHzdh9#y;+%_oKyPAg{%06uv}8>8`VqRK|c$6@P1D~Tebalc#)rS12#~k zz+LljDPtm^S@MXEyL<8cgNlm9*NR`GFJ43**vQ%t)U?SJoSB!|WNE~#VTnV;$n^(Q znDqosNW-{&(C8eIoz+`Dc-JukQW3W%YM>eoJf}kx31$`|O6_RojCa%9#B7xQp+^n` zE&#Aq#i%26?8Prs>|q%7l-9WLe~fy-rfP{Kfj2>| z`3Dakz)n6~!+ami$jPsi5~pCsL%pK4kcn&&B0y{e6$^y!GoW!eL81H+&s-A_6_ocC zCs^<8Tl$Gwykdjb%(}m^fO_>B4_>#3!w=nrlv-y;av`Vt@aC{@3K{>N>b>@>gu&`0 z-U+dK(WCSzb=fE)}(=LM=AHPC)XjI)#As?}95AQ5m($vTu|+CcNp z(2ZlMbw`XH;`+Vb9+;Z}5>22r347u!kzKa}HRHah^@i<`IM+(@h^Fr*C8gLOMMFPI z#fK3i-haZA%0G6!w)S5=?gO2`1#n^xvNhmjOb^h(NkNO@aC%Ae>dv(zke3SYk5-}a zGVZ={7*X~e8Nq_W)kl7bKD&%q0u!z`Bf-x#$}|Eg3Qhv8L&ylX@?IYbe<|@A?{Tc! zfNm;Xr|^F$7ml|>8{tgF7zB`no)gwEs`@IO9* zfeSC5l5d`PUYo0_t?ih)$TclE`v7Xa_L+-}!iFO9;1x_h67d}WmPPdXQ_ES&aNOvU zjs7g7ArzrGMvXRSAtFoh@&5dtv0xFXTg~rN(3e9DF`NVZDa&XT592@9JQq1}ak~D^ z&Xe8>{m_Ryocq)YG;MSk73L7V6Iq#MKj=_QmD;|=0&~HtC|;Uoypf#+Dy204MuT8l z0|Ou9+4&QQl9>GU6J&ABEn6ImzOZw zfjz`9@7B<<(q^nV!T@|<0V)L`Wk2!PW)r2(-KE2Xku-Y_q*F5wdXbe^yIa!-hcV={0DAIAv_Q2grOWFZxM73A>c$oPA@i&8EWu_u>C7c z$Buuc&AaZz8GL7NOv+u}j^j=}o_IuzhkMY~w9)xJJw0}lCBVWMOb`o4{{cKQbSj2B z7hi3V$gJ-r6#C$M)9)sU&6Hwf;llL0kr*`P8XK4JJmt)SEUDMKehl3UK}o+l4KHvc zxrI(>B7kQ$Rr&eSp|`WU41W?@IFU(>(?|iG-u{- zAHl8#F`T-vjeT{S^Q)GY=X&+@6aEnTm-{(-S8rut;7%I@sLRHX%3U;@ASxe}|kL`RYappNND1xS;CP z2b==kkRLC{xADfj7q7Y^e2e#3T5N19@Z|_m&tcX-mDn)Byk6E?g~sRVl`C-sz%9o9 z06j9kW|NAwV>!MtUbL5o-Mq#}aE(G3rAG+QG9j%#ON^)Qbe6(5RP*WH%h45P;qzaj z03{4dDxIwlzj=!Y{4Kl0_Bs{q_Kg{(7ccHyPF1d(CIWZkx!1~&xvgEt43P0jY+S7U zTYR?`|49|57rLc9i(RNCRr#>o1ZL^^63KMO*NPKAc62F9v}+$#d#Gni8AB_Yi+okz z@1dSbe=#^~^Ivjx_U|WR_9E$d&~*92DMrjY9=CmQ1RwD8+gw^QB486B$T>J2AZJhV zcmqh`0UX|c-<}=v@`qS4-Iy3M1!~{J3bmmJ%bzm$4QvQTSz35VsY%IDOko&y+mPXp z(2|m`h*uG|3O{DhU3;I%4yTp9rQDWpS~#O5D45HxeD*>j8NY|iE`n;hc=msJ}ded=C-{ zP6>xln-W_X`r&bbh)@B#y`@e_p*WT4fe%zcCXS5Dr-c4`1kVQ0S8?FJp7RrJf(LK= z`uWvhmL5Kn<|kjQ9(>4uL*b0Z$z+Els9(<_xZ3OUd%`9pl(^YoWMrgm>e#Vkpv8s+ zFK)^c;G)}qOHP7^#}PyXiWi5m8|md6;x~|77r`#y^8t0)kyQZvrZ|Lf>v2of-Syo) zn`dQ^obSnN1`qk{85CoPZoBf2`~j|c7_fOHnx6W;7!NRXiHqPjNQE$uX1l^p)V-o* zPQ3+lM=yfbHnC*%WfwiI5EAw~*EkbDD8^~u+_``|PhTXM__yoX_ zrWcm4U!PDoE#HL5VJ-vSZ5G& z=At?1bS6iZ)RB*QKR4qvfs;*B?n3_-eZI7#hfc)D#}kY)6FYloP$mtOeYeWT654iX zgjXYbd7@v7h_s?;%$OSbeDA&i3#*d)o;`bToMSE#KHakRR5W5oiR$?7G!ne3Arn$v z{dpfl&oY*{L?4{!C78a6NhZ0kexes3Zzv4RiB9MM$Hq}O9QRR z;fi%@N5duwW~$A(0khAyVe7~@zB6+TE5QS1w$AHOh?c|AG-_$H%~3h0-fwwj1u{$0 zeiq+LW(6rSCoIcUP2~TKq|Slj*AFwmv@1B)P>3=E1Uy4EmwjA5eYeBs_ht19#58s8 zIWLqdP{K~3=>orSEh&jV1~YRM8p@s99MEVWrXtBh`OnEAgD@&MsC3@>5vf>k^@H4b z7M2_`jmTJmzR0y$E)LzSHlkNSF;yDiGyw{^=+J#Wz6SXp{T_eXd;ZO|w5!mR;l3TV zSMns7a5l&qV_C%QYLOiP5HF~FZ`fMHt)yRIRz!%`VBP8okQNpFf*PIvTJixAjLAVo zL(Bw5@G~lVZYY4)n)U*Zh*4~L`1NmIA1KB*6stm+s9WaNa}Pqmedfm_V`6@xiy;JU z!%)nAlS0w^E+a6SYi+FrSi$WnP0 zoCLcN;unJR$3wU^(Y_f+daOrPp4Yhs?If_dR}7+TPZCcS&CM1a%~|YbANq z?A9HBg(q2Y|3|6t>xGPaUj;I1)HJ=(jS-paT;)*xClU%R zyv1Rqqo;T9ULGUDSnPXb4%-cdZL_IuLS>`8I26L%4Jt|N%it5vZ;iR=KDoe*84%SA zGNypzpm=?8U-!U)6bVPN$J>}FUWUu}F7^E-r-i(=j=@3x?gQw(ui5UkA4ie&AoT=_ zn;9kD=~sVa0o$%iIyEnSlc|!QJ;s6#&f2G+_rxLGKS_vcezuX(a=7)kw1Fzc!_FFX zrg|P@GxTifD1%FwfB~$EYGoPG#UJ}m${u;#2Nl@uf`fwr(xl&IM-7Lra~@n6M+2rZ zg8$6wSD#jNY2O*GofX+dL*k2+qa9}F>|J727l%lsR+&SXj^h9|zFvAKU;Zghu(sdl za0U=MI%rgw45l1PpX4Rp>2wv@cNj<{n+z3Cyecx8E}e%$7VyXbf+3v`;Z*hx5ZLer zqS)C;vnQpcboTXbGLE`yHi{AVYUQ4u1v)B!1NNAOUpD^Fnp1GIG$i%=I6HPR?nd*^op}9hdQ!%mwm?-gbw$b)+ zK&6xu!lAIjC3o*mLn7~JYIJloc3>DBxJzE8Dzm*+{oaiM4NA!B`Zq;Vtt0C#M+jY= zixI8G>-{~e5yj@oq%J$D7tV%l<4Y?mBZ3^9{u4WJIu2v%eD}u&{Zg;}PfG?bUPfgbyPUZiG5i&Ef$FWN?l0A}n6eX1q5>aL$%1DWhO-W=_R#sM0 zR0oBuj5<;wBFZWip-}O=Pv7hJpX*$%<9OfmKA-2gpL-ODAufKL8j1j}W!u33XYoC- z1YisQh$q2h1H=fHwzdLPLa~k`8NYPTU#SG@)=MV{Ds9^$m`dnuPydN6D+-3!E_i_) z|Cv)wD@EDPV>~w-Wt`yO37mh|V>HkCzZ0{c?gVqmidADa~g#G!uxhF|4#aVVGQ`A6AgRr znVobcn2m2822M zGq~csPD8pY{xnXg3*?~$MFNivW!78@t-unT-SOZ!gv8lK$rvXZ+vUTGi+DlDk^8zf z1%>j8RbUIR4X(s4&(scaQpb&I|1^}_2#_&y8c)6XJVN?{Xm>ZdnF(m4|Bh_V4vi?$ z6WV#l!N>olV;sXjnM~}ExV)QUC|ZLb?Ktvia~oH0-WyTc2X3>xd}8rm6DmYR=J=F` zRzHOl#nL97S0Vwvx3k2N?YT`hI-yJ32vkr-OL}*_TqL7>>f+6NUB$PYmH{YAUNN3z zB5yP1&7a>Ttm-cQ_c&?%DGwq0esQHVe8*Rt0ZvI!bg`1fm1pDNFjb=q6Jf*uBOtpz zugghxD=RC9S5Mw!aefy?{|M~;%dNMn?cxTDB&`a_@*hADx}fRF=DX8gV*W zhfaKAt;un_V+e*amGU}JI5u=29?g@Cw+&%RkQ!Nq{+-r5qLL8Si$yO@evx9avgLlPbDJ(j8y;ZE>FF_9TnpAY zn|Ei9*4x+@yZv~CB3 z#!I-Z`2zujm2l!XRTu$10;M$!F&0w{X*xYXe97}`1GT?$iaYc+d}tf5>QwAh;5l8D zzrbKprr-K}e=d<-*(#3Pv`w&UYoyAt)|k{i8xr2rXCyQyoDOIf-g0L#dT-oemP9iI zF_1J))#h~4v9c~*7+?4{TM^S)RqH+XH{rhjPhZ8Cgu_`Q%YR=4zqoS{{E$0noQXI>RAe_H!Kdx^)3)VrDO(Ow`8>S5k*<0n^763{m#lTYi*|Sq)D`M=q4Yz$I{)K` z+}5oO_vMd1sjI0ui_HnVD_RHEV4UFAmF^sH;}Tb-Au`-q9&mm&_Uf6)&zHV^eC*># zu9)W5)-g?SQqxZ^F?t4uGe;Or&tOuwwPD)?$8)MS?lw$QkMYv;K`665W2TYODVSac zqnl^75G(kKO7ijvVd*h5w8t1e3E0^&S~mNBeW&&;_2d-)tlQBk4mKhAb$_wN5(<%O zrk(l>mK@fXEh8VH-FlI!#>zW~UgP%q6*#F!uJLmD4#OTfLXM_nqPx5Mz#X3RggBn! z-rE*bMxm8V<#_bh2hj>Q`d&w461NBn(qvgbwoDeZG;J_7;%1mzuYJZ<6iw{8IkV@{ zg1SMzRCP?u*}Q7^`=jJtm(UL(ep$+X8(L~_!4XMUu4YzEGSw^7QmnB^|HF3N0?eN9 z3-abGZ6E)EZCHR#gNz|(Sq%NU%N%*p2&F@>^pK8gAiVRqO@Q{Ty9jAIrrG`kd{e_o zUJok8$s*i$B5G%Tdc!ioLhb5r9{$P<1EIb5_1E^@NnxHSDJkKOXCTgBrSb9hHa6}5 zYPa{esx}gShuU?R6KL4g5aWcAml9-JQbxHeh~Y zZ&;W=@rjax!Yv@rsP`avBA_&B&Lo64EDrHLam|~np0+oAgLVMcDHDlhVbiawE7Gpt zh%hkHSm9PpG7*Si43BB=m{E6cc-)PVj#CCkBw0Fv6gs?Fr@mg)2OhE*%NF4YdQ4kJ#^mM} zLmDm-kx=9`+1S`v$yS=dPs+d`+-dIyueWuZDQnlvf^X?^_2~D!^L$@4?4>H?ltadLcF<5um^YqcJ{k=XG1#`WB`XEi48HYxtimp|ZNTxX2Xl zh%zd#2%9A=W+_wYDz5yN$y6l3)ir;KkCqf<^9NF;7Ri>C#V?6bEzjs;6q=_o9st`c zyrR+iE1~E$Mxmcgko-zWi~@;})fPx*X%~TiI7nxysi_5pg;CMbfugU5w@I&IDk1BY zP=tbh8EXUqVD4#f-Wj+L?G{H=t`C>sr}6PK3aU9);T@5)4JuIyty6<&&_M@d*qHA3 zi(Z8~BcGjY{K8Gpx~Rmm5k2aOV1O=D+3ZJFrNpl301iXQ8CZzmWFDytx>sNSo>Loc z8=od7j!7bU0g#lasAyERWtP6lx{Y8c5;RWT+~P8P<5l`8W$Iv9rM*#SnoQQ78wg@z z`26KdG@GDg!0@4~DJdiySYlv3w5#A%MX3OB=;ezS7bY^?_5|}>4d%MkPzyLFri`U% zRaA7-nO97#e2NZK>Fu0C1kJrb2;J7u_{YU!11D(0X4^3PXB5OkwDkd^ow@7XlLcRn zevC|d{~25H_d-94GA z)4&UeecDvbx?OlIbilY=$3`(QWmHMkKPfLUTWojRAnZ(`uruP?;jJ%4MKLBuN55(* z;NQV&7>*lRQ=`5QUdTS*vE=X4#rFdIOgCFbttjCAKnP2$M8zyP&vHD(xC_!`$_%p6o zIqVo zj~{0&7$;PudsJTh{Mi#o&dQA|SFSjvWoCZM&i?h2*!J$7oiqnV?xgG2`2+=nF~3r0 zG4*@EASo0I?ohd7y|$9lzJdc8T&g*{QK`Cctuh!T^TMBP%807X$~sj~<~u-|p-X0A z;=yIc1{*4a=xG=WGjH4!ie{cW*4RORs$k;8En;u6Yk>cCPZ-+}y@~q@|#Zcwt z3uvrzEEm3=Fy}HQArHMuJ23Fd%1Uj7sJ@Esj&mA?*Jv+M5u;LnzpJHIo*Ub))nuLf zMPE&}*yPXE)s#bp4f(JbNQm;Ts()dx(6vW}iTcrEyp1+p%T=We4@)d;oFPAP>@8K! zN!a%9vEuUiE|Hpg$Z+T5^R=h3n`A%U`0ss)A|fKLRloT)nAD?hksrxYXmUCJtB{wi zNifr7%x{%VTGe}AUq{d=Q=5-%?=es9oIO5X&6c^s+dLe=KDdI26$ zQ>#{w5nfoSd1qIh*5?u-^WSHvMqPePCifxH#IDHQ+q(|E$u#4BY`+Rrz@$owOM#_QWdBefs z)6(RO{6oh_vw^G`9zmScD!MNEud7gkxF+Y(#T9D|hO)W!e^(VUH~iAle*Y`*K;yf6 z5wv$bDh0}|sW1_uMUlBYf?t2R%>uenmg7?&i~9Ia_za0;NXv9n`Ze`=A`@t8?6OYZTH}N85;TrNOY2XNkxTY zjrU;_lSn5R5mbTY{%jD`PYC%hgcX)By$=TB;n?yJc=$Y!FHmXt8}qvKqKMs>MzooY z7kuVyOj^d#Emb)1w%6dj8OihTBZBDZ6hghhwlU0>IF_#AlQsGk^Bcggv1yNG;oxpx ztdsg2&#~Vf8$^M@#7B)k{@GX@ob-0LcwSiiT7pQpS=gaNi!J793{?`0?AQH%|2$d8 z$jHd@RwAtvz<^A@jB9Ha4Cw49+G5-<`ky@u$K3?0&t)ZtBu;U9t+}p4Ybp-=4BeNP zVV%|IXz%6VK_vz8DLKwePHG%$X38IeEyeMr9;jTVVdH&*};gL5P# zEPPMxW}Axz+$w-cHy^^$l791M9gr8`bKPf?W))56@a!7zPhNaK8#uPVyRLQczTR(+k&~9*=v}2*5k1R#e@)AIqfQfQnDJxk>$6 zMJC(_Q!syk@q7c1B95>!))Eh4uK^2vj}b>=wwf1mi^oB)sBFW8pJ!@XcCk5%c-!E< z3^#KotY#|H_#K02=V-N8aRMxq#ca;Hu;LNwGIwyMw7R-_lB3kRluH>oMRarP?P3^} z4p-%SCA?CQ-wE51*XOATs;}J_LjJ-8k@SK>ZxHLOOmFLMWNI3{e}2}$m#xK?HhQbL zIL$_E*iBTCj`A84d2Sr`OX$k$!CuR{qQEsEoUtb^)M!pDtmM#VR#AS_D=bbOz3=et zr%9fl(&-t%(n=T965>viY?A*1!cL&ksiWe4c`gB;vC1&CA&0G9Sjb7I?mv!VAjOsM z-w^Ty2d%UOnn&c6P?plzHUPp~womI^%WSL;~IBsUVY=iH?FghBXZf99sjTc!25z zV@XOm++pzW{PZgsEdNJGD}Pb(Bf7>UbPpY=Te*k}zHgYe(-XU&DGz}qrzxR$4aflo zr8-Rqq18@KEr|%Ow6OkryfN*o?XFchISt9l^NVK|Z7LjvwZ;U)%ch@#t+lq6(%j9A e9~i0Cc^!?6=CjVpG_f_jLbKb%!nnfFDdKodTsXBi)dk6OSed}H8v30@}cyHU;~k0z)$*v zo%Nxhu%M*HL{!{T_7@Pna6eHZ9@BnE`sq3L+jJ%__eD1W{wI1!KCc3vT?VhhS9Ov0 z#=m~NcAr0Ig=QditF*U#`!JJC@W*uY<-wh$+|cyTm2bMEmG@1Qiw%i=3mZx-SNDfc z^Eys5Gw}YQp`qJ`_i)(Q*fB6@=wf1GIY^?g;MMEaVPWv<3o9oUcnk8s_7d zL3nQMw5EzmV4jbU4@sn2-q_9E9V#TNaL9*6U0a)xK3O7rC2ca9^WJNbj18-okay^I)f#~Jhv23B% z=3S5kBe)uynv$Rehay=;kyvG1E~WoodUeMdWiUrr%FDsgXT}*69DF0DMhm%RNxXDu z`s}HBq;F;yIq`+$`x|z47`>NulJYm|QnNNEp)-o|vhqX2d$0-zxME^Wnf{({^!^GK zZ?SUL{xxGPQ{9F6HEHOT7E*{Rw()PtN-g)1(qdjINOj> z;zdm?Y^{eRxKSsP#`6P-#-PftJCl5ZIAG4(`6U;f~J#11*-JUZG?F)r6QJv)o0 z5L8l77|vJB-rgoERx4Vsj-DS=!x}QTV`O6D;^UiL(lf0hKt39^c<48g_3-deQK@_Z zIYqm=bWkheqNZMp7V;6YUv;ywv1#Wb>2 z-WxA)TyTDnjBcuNKO>OBlu2k4EcPTKA!|#df@H0`Z0KSvzk;47@Zn&W=?w-qjYE5( z&mbw1ltsAjd*$9k94l$4axCe2Exof;xa0)m9p z)JVTM+vc^#t4-dgFxf-%g}=kge}hoB*4EZ?mt2bQMx%eF@Vk~sMDmJ=<#2-|A%!Ly zg7LA+VnaMHA}s7?C(n5xiHorCUAoj%NviA7V$e#Hcd5^5kF-v`?#ErUU=C9``PAEf zLcRXPu3wr}KRvG~P@m+uty5etOhOe=Eo~Ty0&i=gaga+2HYh2piR6 zqL3U9&*^fXxN?A6auJ)9l;3ePIhIB+44K0F{A6d$G{5SI&yBS}r=FWgct(GtH+{XM zM6cOq?5Care1US_AXCkJaC}R*Y1)s|S<6!WK1#3UJ~9N-9Msoy_EC-t!(tsP9dNWddOLuhOA zMqFDRFSv;&bzRy@_YL-IewXSA9wgXbjY$p(?pvEUu^P$gkOuw4#F# zwtn^E6A{s&6Ge8~Ha|$@w-}atJv}&}&3m2MtwWiw2O_T>;KHWx+8b^UQz`k14J1{4 zWzzMz=}6)-iZM!IN%z!LX9JhYt!3q^QrxeVDrH+da!mz;3W2D;Ug~?eUPEzr>y0x_ zS%O(f^E@n8FHPgTACoUir9}(6JeW&POJla$5|R;*%9f1oPZuiPkJ}ndP3FI%HordK zQ69^a7j+ToY3XUL%X5a6hk9LHRyM3w@kdI1DdkOtva)hey#gC4he^trd8MY%oNW&l zc7gPYu3TJYQ{INbmO2DUtEw41DO&lo_T!bd5Y;z_-&`wB;W3&Ys_PoUe4id_PSz+} zEZRFdBqbzFjE(W|*2BZWaC?P@p8I-c7~6-^`y5-5P0-`qY9#BEd#TLQmcu5KWkDi785smUMbJ|sej#z@-nGlmYY>``u{T*mjwnAgFeHSUbA4k2Ij=U)8DCV? ze40~HRWu|$)*PJVi`}A9qj0>#ceyRnhF|r$+-xwg3*>rq<#2FtAei8hR@*Fi4Ca9| zqA)|ukYzHEGzz5@%K0LFMnSE@WFUtbE%5VNSG3WKw@p85i4M(mKo?FrklR;FJ%s4x z-5vQVxDlzr{`<)7SZJ-TLJ~p}neGn#5GfqkL3!u-JUGX4YM1JI2VMEum52lck3uDQ z?G?Ww{NsAy@rqC6@%}9OH?GkAF`T=hd4~I0_>##NPtC+*vF_3Phl`Gm#mAV!-(M50 zZ`8rOcrGhbUy3%%(#GGeM`@=&`+IvygdRoih*go%^EI@cRrSyq^_t%Q;f1;Dj23zn zD-rH~dw*=SD!U;eJ-u`aG5@rK z8uATPRY!aKvLC*`~8WMYH`XP3wg}&h^fFZ(R@bl&U{dOJYQm zd$J(hUeq5R)=To&mBU?C+AI&Gl1WKRmw;|iope;hXSWO2*7V2F) zj;p3Fy;p(~6->UOz~(M~>Prx!^w{>(sdq7STW!yaySE|e#lKcYQi_O2Ks-HlP^?A8 zz$lD6M4p?<;ALT1GAxHfKmg#as;)9o6#A)?6w!9B`r=}0X@ALA-^E3(EjV&rUFgB- zu-4uvXJvYNn$lN0QiW>#^03}k=_R;?uUI*GKYw6lV5pFY)R-$fW}kB@sk2*or=h{?D;g9k&@$0T_ER!_zrj7- zs8%+y#B%aiqCCv?a=;a(PwjdkiW8aF#l+NhH&$A?e#^b*A@L`npNiR?nVFf082daw z-k)~IP}@pw9f`Z9&5!*F$@Ag;jNYx?>TesA$V0R9i}I!3PJ%VS2(Zr>fuyn>RHgY; ziFYIk*S=|iA~gnla2JKA;n}8;Kq8S?52kw5d<~2F@?VkD@1W)F&)+1b5GC>0mb;yN z3xBN5T~4cp(J;3|E9axlTi+UqOQFkwST#yLpf!uFn;#xL!-X7znsF&xU2nVHap`kO zP#Ih6J-F`f?qC30E;hJd9SY9Y9A((m^avKuxj}M_s%5{)z`TxTX!A=fRTq<~1t+0Z2f!^j2K0?qbvkP5M$mASXf9x0AEgU=a?{f%C9`9@ zCtY1VIBGc>?guK{3^k)dzXCAJQ)yZ8?pWeCk|`SJJf z--ZV59Y)e<8=cYC6N&Bgwqz6tr1W_9AAGB2kA_Z&O-vl0mS$0|(U)?YO)}m)Ol?+< zmz$eg=&+^=inyWdU(o8Gxv~nOHe%N1EuFA9#$2MqZ&uNWv*z#2uC=3jMNcmQU}x&q zzn~xgL`+KjOL%xi1&5KLAq>oY@uXp9=ZEy1(pTK8t?y(lEG#rM;P|IQ^MAV;{zEQQ z2}J{xM!5zuGpRB&MLIfs^(OZh6J=%%tyk37*Vnf;H-iEL9r$UodUIF*`RaSfXy_%c z85t`z2NV@!_)_&0N0#(xH}vT5BB%cW{x>%}=N^x7{Ma{NQ2qtWX>G&H>~lw@Tjo_h z*GkgO5_-FP#!rmH$^i7zpl#RN+%bL#zi%8jL;X|i@p_H|395m7LvOCA1Ua$;iZ7?jB9{tcnc z4$@*`hx!5D$g9MV|IPIDzmi(yS41R$5J_PNBS0V!rNB%-@Cwhs>;-rw{(pK)jCNZ| zRa;xT!sOS(cgHPeGft8f{F4*5Q@eNXV)cA(bg-~vY>munb2hfN!ek7eCgI^FM8w42 zMlS$H_QVW%LX(V>wCFGc#jg zV*aL#jgM#1bC}5xIXFLeGAAlNI$1LX2-x6d@bA95-NGV5#%p#~)?uIZOi@H^{+wEc z-dcOiru)+(1A`~I=;LzdJ-y2@0Gx!5|4x@S>oWGTSxq0iF1llihLn+$7rA0$6R`EPQZZMHo?QlppQ|i=leqSn z?%1SAA8s$4zZ2?8!}U4yF?=-PP)|S84a5EYLewGJUo2gT8+)ZX)Eg3MxOOt zH97yK&rQLInb%22b3kie`ks$4&v(YUhUDvg9%f%F(@?(k z>h@U-4E#A)eGnHcpTfIXZOw4=t7m!nt7_3C4GoQqynOmwFsy6h;_!A}%b-e2OU4-G zv7UyIltMHM_^T_mBVwdYH(x zoO%24gu0%kP)iK8WDfMX+B7Y~IP&Iz7OUOz3(lu}PHo?Z&+w>Cl`KSY{<_F_dyI?j zrqwA#8Gxy#dtV0KHeYP$0MCKGx7_Q-^^{cxeoAktc^ppX zj}tmNdTe@$ZsY8uYEJB4$(?J$QIpo~X&+0kJRmQFN{P>B*`Z1>Ad|9(n4F}Bdr z&`{9PD~`OcAMfH@U*CChNDWh-T(4ma{&3qZ=(@W+AjQF<4-M^RLPO8_Jw5#t82oT| zg<`KqO{c80cT8H3jQj)NUM)484KnU5 zjpi=RHdi`s=~b9EGYF+}TYHr1Hg4n{H9svLE^KV#Lm&=OnSLrR16)sazM`6%v-yfO zeIbv$^UZgM{Ggt77WdnN7p$Jn59^QqGF}=@mOLO+)5`lO-J1FqNfu4q4vSv(xrXKI zHMamd%;S9#7`6`tN-E3*$2JUa_09=yt>Qb%vmo1Q_?T3 zn$Dj6L>-qKuBr3b^eh>B(4#1Py;^IQn1ApbRoJf`lJYr)dR^uH{hKjoQ?HZeHkdMV zsjek(*00j2yHssGmuyQx6)m>2Iwrpbkc_C(KTCg8%X>58Fh4&Jv zZGT*FG})W^I>)Zo)_00gl9b-}kvzJw=?S;-eP>%kdiLU7Y38!zR!3!Bo$qKYL63S}Z!Z2Y}hV5IPvkvprh$-rw@LKcS_DK-Tk6 z3HqNdranA3ot8u7(_e9Macv=(0N!!g%o8nOJw7ro86ZDkeBQ`_8Of3MzfVp8h~m?K z%=>!U|G7c`KfnP0zklmEB~{kOW?o>PCzsy&4p75a;I21>#v@#0 z{&+Izz?4EOFE5WIs{0VU{oLEXG@^p0afa%um~6w zF|OsK8BL-gm{gRNU|!C}tFIRH7~gLu+j6jT45kTc)w@_LvH^<$2?FY(dyj}@Jn`E% z|E^$k5-E9D7&Jl8i}!MJlRJ-(mRsxVR!ik;>pihVCCYhnA(sbjZEXW4eLS*FJ%fXt z-RPt|yBD|64~Sk*ZC95@Hbm^aTwDi`sJ-hl3-frKaYh ztsR*r=n)(eB5mvRVnpjFLHquT2xP0$k{_14x_3^Lx& zc@joFGnmk~PdJVZnQU5Dv89Jj0%wD#a4n) zE{~wo_VH}ho?QCdVoW4n&&&Q^RR%UT_K@@4&PXBKncwi?)-ze+nFYsFdcF(Q-pSzj z(o-^^?}~0LulFdM4yJr8vxAmFsKli`;j?YU|`A76^ z7plp3KFYmi6@0xx7$_JAQ;!>KtxXO70gG^JacmATs=dCxWtvV+s_EKm>p~r6Yi3R9e42)*oJn;rjR_mFWDbG#>-L19p6L zJVJEnmoK{`*`|OEv$Kz4l1a@rnzEd>lq}SbNc$0x3Bo@e{Bf3oC1lo~zCIf| zEeZ|lYueS$-jSSG=qKoS$t>$_p>9sSz5{rhm0)c+c$^P zb?H>OseA*`_n#$hyGOD~xore|SG?>Lq()l;c6Q9wT^f~=8o>bRl25rlxDxuNJm`8b zif`>(z}7pJ1Hg)&@52BUsetvwZ&i!kr49sN--jdL`?Tcb@ECwS_`GkO?CtFzJe+fs zxxzw2$qdaD^b#3LkdTn3|2WSzdEe!*#bC!wX*)Ut;#-z_IQ(?G$Nh9U2hNqfF;D`v zN9s7f1#*5G`}qNb{B4A80BCl)BXzj5SL{Y{Um`+-a2IgO;1OB35P zdss@Z8?~qc2LUt~DQGp4LZ)-?48(QeQNR9v#>Pb<8k(Ovb1u%iD(785Z{7aZ@vq@~ zY~}v{K!E?d!*5YS(;K+EsdC|xk()LfvdtPF#Kb84y&d#3(kBYJelQ|o`Hy!FFVn!mx5HayfD86QzU&tf z@d!kaK%8LXtQ9St$`pDBpmOQAELaCogG}+SGSjDZ64}_$(2wBDJo9sTzLkDscEU3} zX)fT_3TKbN!QY&rAwaU|;X>Rsi)nYkrPYsaQ(q9v* z^y&|vV1RF>is!QI=f_y0jwc!b@$=h{2R`*|8EMy`wgP+^RReFMZr<2Qza;prnEa0W zqwsa%zV+e9XJf~^GLS!F#-BcYGByU%5FP4b5ezVWo1;jdUj*2~8~3?}7+YI0#fKWhEtmu!DZR@PZl@1^%VQc>YQz zM-O8{mOo7Tb&e{AXaEPDaXD;6XkpFx_;@U>JON%@B|PtHbTx82bgXW4o=n1Lf4ETz zFj0Xws;QZzd4c>(6qHywdn+s!2^KkA-Ln|CybSe-hL5dkB!w1&Nh!e*z3BJHd9Smh zL-jc4C<`bC>+8UE$#xZ0AySeB=L?7kfwRMcF^Q%)>%fS1IME#uQ)$ek{~8w;*c8^? z-3@fY*S{F({O}x(mqqX>#DX$IVCtx7Xe9C@UBA1)dhU_8ne=j4h2@io+O}qjhI}R3 zohX|6{Ye%dH=s-v3HY>rqe1zszo;yzfQb3ddb;QAkiW#x%)WRJtZZj&M0zEKsvW#y@3YdR{8|`(kH!l`$%YLR*MaFb_-+j zLJz=6Mu8Mgev6G&H2*tDPemo-rW8x_0h}{%b)%o12`tt+>`PXc`q+4?bCS3$2Wx)t zInyUO1_tkyHdE-yu1Gs>4KmTwd&3;J2BAhuP&)*?fY8Gt9zOd}!ho0x=qPubmfPZ4 z@H+3t?OsJLN8V|73@<~WsM(DF`Z{AC35#+A(R02Cd=oNZ6S1yP- zYPu_-yJ0_0L4!EFU}74u;=a4P^IR73aYYMxUJhti}lUHmv4T&-Sa$Zp(@oJHwiY$&9 z2NxGKs+D6Mo5l+@JktHH{l!L7gHPATE0@&37iudi`GcajU|CYP2}WOy?+$RG8*g`u zV%%6;78^Ye^w@vASN{3le6E`5k3hM{XeKhYs`JN>AKlJ}A27+37*av4Ayt)6FXI4{ zyi(KIe`~oV;H1`ij$0t>*scwo$7z511Uw6g8hAbyUC#q9^WQl+InuE-sY1R!x930& zbFI;9bzSlX|6NfTRN5{ru4v6W4heqmeEdUW915nz?3FTvErOH>qsIs^U!bxz?v>ON zFlxMLtaLv!X%Ams)^7-mUIuY7Y@7{e#3B98pV-B_Ic`F!(kYmr3J)i>KC+0XX|S6+bX z!we|%%7;-__CU@un*}~6mkid=Gku=n;O+nm{4SiO$!$9`B(T^kq_;iUw&^tsoYC

vdnvdsWD}}1S%mA!Io9=abchsEC=bs0} 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 AIRF3v diff --git a/demo/e2e/screenshot.spec.ts-snapshots/foldable-layout-rtl.png b/demo/e2e/screenshot.spec.ts-snapshots/foldable-layout-rtl.png index e2c6cbaa8ba08823ee258b42a72eb3b1e9f42531..80af6e51c1ddd3a14417f07e24ef13bf5ea282c5 100644 GIT binary patch literal 46748 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

    cryl|x1Oj+9WU?(QJ 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 diff --git a/demo/e2e/screenshot.spec.ts-snapshots/foldable-split-pane-rtl.png b/demo/e2e/screenshot.spec.ts-snapshots/foldable-split-pane-rtl.png index e4504ad7eb874b79f759f3e555c920d6d109ca33..ed3e691b863c7963ef3484c4a6cdadf3fb1aee60 100644 GIT binary patch delta 39908 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∈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
      cryl|x1Oj+9WU?(QJ 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 literal 54890 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%0ADOPzr= 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 literal 54904 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⪼3=`wjPKb=EN+w$>Ua$ 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 Ilu_XS0I^0=fB*mh literal 70845 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 syncAction(clone, action)); + if (projection.matches('ion-buttons')) actions.forEach(({ source: action, projection: clone }) => syncAction(clone, action)); topOffset += actions.length * toolbarControlSize + toolbarControlGap; } }; @@ -193,13 +194,15 @@ export const createFoldableWebProjection = (doc: Document, options: NativeUIShel topOffset = toolbarControlSize + toolbarControlGap; } for (const group of groups) { - const projection = group.cloneNode(false) as HTMLIonButtonsElement; - copyAttributes(projection, group); + const sources = toolbarActions(group); + const projection = (sources.length === 1 ? sources[0] : group).cloneNode(false) as HTMLElement; + if (sources.length === 1) syncAction(projection, sources[0]); + else copyAttributes(projection, group); projection.classList.add(toolbarProjectionClass, 'ion-cloned-element'); projection.style.setProperty('--ios-theme-foldable-toolbar-offset', `${topOffset}px`); - const actions = toolbarActions(group).map((source) => { - const clone = source.cloneNode(false) as HTMLElement; - syncAction(clone, source); + const actions = sources.map((source) => { + const clone = sources.length === 1 ? projection : (source.cloneNode(false) as HTMLElement); + if (sources.length > 1) syncAction(clone, source); clone.addEventListener( 'click', (event) => { @@ -209,7 +212,7 @@ export const createFoldableWebProjection = (doc: Document, options: NativeUIShel }, { capture: true }, ); - projection.append(clone); + if (sources.length > 1) projection.append(clone); const previousAriaHidden = source.getAttribute('aria-hidden'); source.setAttribute(marker, ''); source.setAttribute('aria-hidden', 'true'); diff --git a/src/styles/components/ion-button.scss b/src/styles/components/ion-button.scss index b381ca90..5b54e156 100644 --- a/src/styles/components/ion-button.scss +++ b/src/styles/components/ion-button.scss @@ -457,32 +457,43 @@ ion-back-button.ios:not(.ios-theme-disabled, .ios26-disabled) { position: fixed; z-index: 1001; top: var(--ios-theme-foldable-toolbar-top, 220px); - right: max(4px, calc((var(--ios-theme-foldable-safe-area-right-resolved) - 68px) / 2)); + right: max(4px, calc((var(--ios-theme-foldable-safe-area-right-resolved) - 46px) / 2)); display: block; - width: 68px; - height: 68px; + width: 46px; + height: 46px; margin: 0; } - > ion-buttons.ios.ios-theme-foldable-toolbar-projection { + > .ios.ios-theme-foldable-toolbar-projection { position: fixed; z-index: 1001; top: calc(var(--ios-theme-foldable-toolbar-top, 220px) + var(--ios-theme-foldable-toolbar-offset, 0px)); - right: max(4px, calc((var(--ios-theme-foldable-safe-area-right-resolved) - 68px) / 2)); + right: max(4px, calc((var(--ios-theme-foldable-safe-area-right-resolved) - 46px) / 2)); + width: 46px; + min-width: 46px; + height: 46px; + min-height: 46px; + margin: 0; + } + + > ion-menu-button.ios.ios-theme-foldable-toolbar-projection { + @include api.glass-control-background; + border-radius: 50%; + } + + > ion-buttons.ios.ios-theme-foldable-toolbar-projection { display: flex; flex-direction: column; - width: 68px; - min-width: 68px; height: auto; - margin: 0; + min-height: 0; > :is(ion-button, ion-menu-button).ios.ios-theme-foldable-toolbar-action { display: block; - width: 60px; - min-width: 60px; - height: 68px; - min-height: 68px; - margin: 0 4px; + width: 42px; + min-width: 42px; + height: 46px; + min-height: 46px; + margin: 0 2px; &::part(native) { margin-inline: auto; From b08adcbbc1f731cefbcc8af3c4cd9d1f30a0ded0 Mon Sep 17 00:00:00 2001 From: rdlabo Date: Tue, 22 Sep 2026 14:04:48 +0900 Subject: [PATCH 28/50] test: refresh foldable tab drag projection --- .../foldable-tab-drag-labels.png | Bin 45650 -> 45316 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/demo/e2e/adaptive-tab-bar.spec.ts-snapshots/foldable-tab-drag-labels.png b/demo/e2e/adaptive-tab-bar.spec.ts-snapshots/foldable-tab-drag-labels.png index 3b769f699ad69c40a378a5f25feac2df09c40976..5ab1cc129e53976cd8a01d3e5d81ea2a52ef1438 100644 GIT binary patch literal 45316 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 From 8dcad24e35c6e018926825815026781ab84a8fdc Mon Sep 17 00:00:00 2001 From: rdlabo Date: Tue, 22 Sep 2026 14:10:37 +0900 Subject: [PATCH 29/50] fix: center foldable toolbar icon frames --- .../foldable-tab-drag-labels.png | Bin 45316 -> 45295 bytes .../foldable-layout-ltr.png | Bin 46138 -> 46092 bytes .../foldable-layout-rtl.png | Bin 46170 -> 46122 bytes .../foldable-split-pane-ltr.png | Bin 54610 -> 54615 bytes .../foldable-split-pane-rtl.png | Bin 54683 -> 54676 bytes .../foldable-toolbar-actions.png | Bin 69666 -> 69667 bytes src/styles/components/ion-button.scss | 13 ++++++++++--- 7 files changed, 10 insertions(+), 3 deletions(-) diff --git a/demo/e2e/adaptive-tab-bar.spec.ts-snapshots/foldable-tab-drag-labels.png b/demo/e2e/adaptive-tab-bar.spec.ts-snapshots/foldable-tab-drag-labels.png index 5ab1cc129e53976cd8a01d3e5d81ea2a52ef1438..6c47da048c0f011605ad35b9f2b408e0ac5c2d5e 100644 GIT binary patch literal 45295 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¦Uo>`s6pAQ{7U}j?JJnWWyOKU^d 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

      Special markup and classes

      \n

      Most Ionic markup works without changes. The combinations below are explicit opt-ins provided by the theme.

      \n

      Primary submit buttons

      \n

      Solid submit buttons use the Ionic color's contrast value for their foreground. Their directional edge treatment follows the iOS 27 prominent-button appearance and does not require an additional brightness color.

      \n
      <ion-button type="submit" color="primary">Submit</ion-button>\n<ion-button class="button-submit" fill="solid" color="primary">Continue</ion-button>
      \n\n
      \n
      Preview
      \nSubmit\nContinue\n
      \n\n

      Use .button-submit when the button needs the same treatment but cannot use type="submit".

      \n

      Preferred overlay actions

      \n

      For iOS alerts and action sheets, set role: 'preferred' on a button to give it a filled --ion-color-primary background and --ion-color-primary-contrast text and icons. While pressed, the background uses --ion-color-primary-shade. This is a theme convention using Ionic's custom button roles; it does not automatically select or invoke the action. Dismissal reports the role as preferred.

      \n
      buttons: [\n  { text: \'Cancel\', role: \'cancel\' },\n  { text: \'Continue\', role: \'preferred\' },\n];
      \n\n

      Buttons with no role or default keep the normal text color. cancel retains Ionic's cancellation behavior, selected remains a selection state, and destructive uses --ios-theme-destructive-color. An existing confirm role is not treated as preferred. Use preferred for the recommended action, not simply any action that confirms a choice.

      \n

      Floating iPad sheets

      \n

      Set expandToScroll: false on a sheet modal to use floating lower corners and a 20px bottom gap on iPad. Ionic then sizes the visible page at each breakpoint, so the theme can style it with CSS alone. Content scrolls within the current breakpoint; dragging the handle still resizes the sheet. With the default expandToScroll: true, the sheet keeps Ionic's bottom-attached layout and scroll-to-expand behavior.

      \n

      Tab bar position

      \n

      Add one of tab-bar-position-start, tab-bar-position-center, or tab-bar-position-end to an iOS ion-tab-bar to position the whole bar within its safe area. These classes work with both slot="top" and slot="bottom" and preserve the bar's width and press animation. Start and end follow the text direction (reversed in RTL). Without a class, the existing placement is unchanged.

      \n
      <ion-tab-bar slot="bottom" class="tab-bar-position-center">\n  <ion-tab-button tab="home">Home</ion-tab-button>\n  <ion-tab-button tab="settings">Settings</ion-tab-button>\n</ion-tab-bar>
      \n\n

      These classes do not reposition a separate ion-fab; leave room for it when choosing the bar's position.

      \n

      Foldable layouts

      \n

      To simulate the iPhone Duo layout on the web, add .ios-theme-enable-foldable to the active ion-app. Use body only when the application has no ion-app root:

      \n
      <ion-app class="ios-theme-enable-foldable">...</ion-app>
      \n\n

      The class reserves 80px on the physical right by default, matching the system navigation region measured in the iPhone Duo Simulator. The physical left defaults to 0px. Override --ios-theme-foldable-safe-area-left or --ios-theme-foldable-safe-area-right when simulating a different foldable layout.

      \n

      This keeps routers and component backgrounds full-viewport. ion-content moves its scroll foreground, ion-toolbar moves its container foreground, and ion-fab adjusts only when it is placed beside the system UI. The corresponding Ionic safe-area variable is reset inside those foreground components so descendants do not add the inset again.

      \n

      ion-menu, ion-modal, and ion-popover are handled as separate surfaces: their internal foreground components do not receive the main-page conversion and retain Ionic's standard safe-area handling. A menu presented beside the system UI is positioned after the corresponding inset; a menu from the opposite side is unchanged. Left and right remain physical coordinates in RTL, while Ionic's side="start" and side="end" values remain logical.

      \n

      The foldable values are web-layout simulation inputs. They are independent from Ionic's normal iPhone safe-area variables and do not change ordinary iPhone layouts unless the opt-in class is present.

      \n

      When the app contains ion-tabs, foldable mode moves its iOS tab bar into the physical right-side reserved region and aligns it above the bottom safe area. The Ionic slot value does not select a different foldable position. The stable rail is icon-only, matching a four-tab SwiftUI TabView on iPhone Duo. While the user presses and drags across the rail, every icon-and-label tab reveals its label so the pending destination stays identifiable. The tab bar remains in the web layer and receives pointer input in the simulated system region. Use ion-menu when navigation should become a sidebar; foldable mode does not convert tabs into a menu.

      \n

      When enableNativeUIShell() is initialized at application startup, foldable mode uses the same document-level projection lifecycle for fixed-toolbar navigation and actions. The active ion-back-button and ion-button or ion-menu-button controls that contain an icon remain the sources of truth, are hidden while owned, and are represented by interactive Web clones in the physical right-side system rail. Buttons in the same ion-buttons group share a vertical rail group. An icon-and-text button is shown as its icon while retaining its accessible label; a text-only button stays in the original toolbar. Menus, modals, and popovers retain their own toolbar layout.

      \n

      These Web projections also work when no ion-tabs exists and when native projection is unavailable. Disabling foldable mode or leaving the page removes the clones and restores their sources. Override --ios-theme-foldable-toolbar-top when the simulated system controls use a different vertical layout.

      \n

      Two-line inset list items

      \n

      Place an unslotted ion-label immediately alongside an unslotted ion-note to render a two-line item. When using the iOS-style inset-list background, wrap the items in ion-item-group; keep ion-list-header outside the group.

      \n
      <ion-list inset="true">\n  <ion-list-header>\n    <ion-label>Connections</ion-label>\n  </ion-list-header>\n  <ion-item-group>\n    <ion-item>\n      <ion-label>Network &amp; internet</ion-label>\n      <ion-note>Mobile, Wi-Fi, hotspot</ion-note>\n    </ion-item>\n  </ion-item-group>\n</ion-list>
      \n\n
      \n
      Preview
      \n\n \n Connections\n \n \n \n Network & internet\n Mobile, Wi-Fi, hotspot\n \n \n\n
      \n\n

      Use slot="end" on ion-note when you want the standard trailing-note layout instead.

      \n

      Inset-list section headers

      \n

      Add .item-group-header to an ion-item-group to create the centered icon, title, and description used at the top of the component demo pages.

      \n

      This is an introductory group. Place regular list items in a separate ion-item-group that follows it.

      \n
      <ion-list inset="true">\n  <ion-item-group class="item-group-header">\n    <ion-item>\n      <ion-label>\n        <ion-icon name="list" style="background: var(--ion-color-primary)"></ion-icon>\n        <h2>Lists</h2>\n        <ion-text>Inset-list examples</ion-text>\n      </ion-label>\n    </ion-item>\n  </ion-item-group>\n  <ion-item-group>\n    <ion-item><ion-label>First item</ion-label></ion-item>\n  </ion-item-group>\n</ion-list>
      \n\n
      \n
      Preview
      \n\n \n \n \n \n

      Lists

      \n Inset-list examples\n
      \n
      \n
      \n \n First item\n \n
      \n
      \n\n

      Full-width segments

      \n

      Add .segment-style-glass to give a segment the same glass surface and selected indicator treatment as the tab bar. The class preserves the segment's existing dimensions and text colors, supports scrollable segments, and respects Ionic's public --background property.

      \n
      <ion-segment class="segment-style-glass" value="available">\n  <ion-segment-button value="available">Available</ion-segment-button>\n  <ion-segment-button value="away">Away</ion-segment-button>\n</ion-segment>
      \n\n

      For colored segments, use Ionic's color property (for example, color="primary" or color="secondary"). Ionic uses the palette's base color for the softly tinted track while keeping the selected surface and labels neutral. A surrounding colored toolbar only supplies colors when the segment has no color of its own. The optional moving glass inherits the selected surface color, and custom Ionic palettes work without additional registration.

      \n

      Add .segment-expand when segment buttons should divide the available width evenly. The class also changes the Liquid Glass effect sizing when registerSegmentEffect is used.

      \n

      Segments use a 32px minimum height in content and a 48px minimum height inside ion-toolbar. .segment-expand keeps the compact 32px layout in a toolbar. Compact segments retain Ionic's flat background and indicator colors; only the regular toolbar variant has a glass container and scales its outer container while pressed. Content and expanded segments keep their outer bounds. The optional moving glass lens is independent of the container's background.

      \n
      <ion-segment class="segment-expand" value="new">\n  <ion-segment-button value="new"><ion-label>New</ion-label></ion-segment-button>\n  <ion-segment-button value="replied"><ion-label>Replied</ion-label></ion-segment-button>\n</ion-segment>
      \n\n
      \n
      Preview
      \n\n New\n Replied\n\n
      \n\n

      Classic search bar in a condense header

      \n

      The theme gives iOS search bars the iOS 27 appearance by default. Add .searchbar-classic to the search field shown beneath a large title in an ion-header with collapse="condense". It uses the conventional filled iOS appearance and collapses with the large title instead of remaining in the fixed header.

      \n

      Place it in a toolbar with a color, such as color="light"; the classic background is derived from that color's contrast value.

      \n

      The example uses Ionic's standard collapsible large-title structure. Scroll the preview to collapse the large title and reveal the fixed header.

      \n
      <div class="ion-page">\n  <ion-header translucent="true">\n    <ion-toolbar color="light">\n      <ion-title>Search</ion-title>\n    </ion-toolbar>\n  </ion-header>\n  <ion-content color="light" fullscreen="true">\n    <ion-header collapse="condense">\n      <ion-toolbar color="light">\n        <ion-title size="large">Search</ion-title>\n      </ion-toolbar>\n      <ion-toolbar color="light">\n        <ion-searchbar class="searchbar-classic" placeholder="Filter results"></ion-searchbar>\n      </ion-toolbar>\n    </ion-header>\n    <ion-list inset="true">\n      <ion-item-group>\n        <ion-item><ion-label>Recent item 1</ion-label></ion-item>\n        <ion-item><ion-label>Recent item 2</ion-label></ion-item>\n        <ion-item><ion-label>Recent item 3</ion-label></ion-item>\n        <ion-item><ion-label>Recent item 4</ion-label></ion-item>\n        <ion-item><ion-label>Recent item 5</ion-label></ion-item>\n        <ion-item><ion-label>Recent item 6</ion-label></ion-item>\n        <ion-item><ion-label>Recent item 7</ion-label></ion-item>\n        <ion-item><ion-label>Recent item 8</ion-label></ion-item>\n        <ion-item><ion-label>Recent item 9</ion-label></ion-item>\n        <ion-item><ion-label>Recent item 10</ion-label></ion-item>\n      </ion-item-group>\n    </ion-list>\n  </ion-content>\n</div>
      \n\n
      \n
      Preview
      \n
      \n \n \n Search\n \n \n \n \n \n Search\n \n \n \n \n \n \n \n Recent item 1\n Recent item 2\n Recent item 3\n Recent item 4\n Recent item 5\n Recent item 6\n Recent item 7\n Recent item 8\n Recent item 9\n Recent item 10\n \n \n \n
      \n
      \n\n

      The .ion-page wrapper makes this embedded preview behave like a complete routed page. An application using ion-router-outlet normally receives that page container automatically. The inset list and its items only provide enough content to demonstrate scrolling; they are not required by .searchbar-classic.

      \n

      Search-bar toolbars

      \n

      Add .toolbar-searchbar when an ion-toolbar combines a search bar with start or end buttons. The class centers the slotted controls and adjusts the spacing around the search field.

      \n
      <ion-toolbar class="toolbar-searchbar">\n  <ion-buttons slot="start">\n    <ion-button>Cancel</ion-button>\n  </ion-buttons>\n  <ion-searchbar></ion-searchbar>\n</ion-toolbar>
      \n\n
      \n
      Preview
      \n\n \n Cancel\n \n \n\n
      \n\n

      Opting out

      \n

      Add .ios-theme-disabled to an individual Ionic component when it must retain Ionic's standard iOS styling.

      \n

      .ios26-disabled is deprecated but remains supported as an alias with the same behavior. Use .ios-theme-disabled for new code.

      \n
      <ion-button>iOS 27 theme</ion-button> <ion-button class="ios-theme-disabled">Standard Ionic button</ion-button>
      \n\n
      \n
      Preview
      \niOS 27 theme Standard Ionic button\n
      \n\n

      For the background model behind inset lists, see Using ion-item-group.

      \n'; + '

      Special markup and classes

      \n

      Most Ionic markup works without changes. The combinations below are explicit opt-ins provided by the theme.

      \n

      Primary submit buttons

      \n

      Solid submit buttons use the Ionic color's contrast value for their foreground. Their directional edge treatment follows the iOS 27 prominent-button appearance and does not require an additional brightness color.

      \n
      <ion-button type="submit" color="primary">Submit</ion-button>\n<ion-button class="button-submit" fill="solid" color="primary">Continue</ion-button>
      \n\n
      \n
      Preview
      \nSubmit\nContinue\n
      \n\n

      Use .button-submit when the button needs the same treatment but cannot use type="submit".

      \n

      Preferred overlay actions

      \n

      For iOS alerts and action sheets, set role: 'preferred' on a button to give it a filled --ion-color-primary background and --ion-color-primary-contrast text and icons. While pressed, the background uses --ion-color-primary-shade. This is a theme convention using Ionic's custom button roles; it does not automatically select or invoke the action. Dismissal reports the role as preferred.

      \n
      buttons: [\n  { text: \'Cancel\', role: \'cancel\' },\n  { text: \'Continue\', role: \'preferred\' },\n];
      \n\n

      Buttons with no role or default keep the normal text color. cancel retains Ionic's cancellation behavior, selected remains a selection state, and destructive uses --ios-theme-destructive-color. An existing confirm role is not treated as preferred. Use preferred for the recommended action, not simply any action that confirms a choice.

      \n

      Floating iPad sheets

      \n

      Set expandToScroll: false on a sheet modal to use floating lower corners and a 20px bottom gap on iPad. Ionic then sizes the visible page at each breakpoint, so the theme can style it with CSS alone. Content scrolls within the current breakpoint; dragging the handle still resizes the sheet. With the default expandToScroll: true, the sheet keeps Ionic's bottom-attached layout and scroll-to-expand behavior.

      \n

      Tab bar position

      \n

      Add one of tab-bar-position-start, tab-bar-position-center, or tab-bar-position-end to an iOS ion-tab-bar to position the whole bar within its safe area. These classes work with both slot="top" and slot="bottom" and preserve the bar's width and press animation. Start and end follow the text direction (reversed in RTL). Without a class, the existing placement is unchanged.

      \n
      <ion-tab-bar slot="bottom" class="tab-bar-position-center">\n  <ion-tab-button tab="home">Home</ion-tab-button>\n  <ion-tab-button tab="settings">Settings</ion-tab-button>\n</ion-tab-bar>
      \n\n

      These classes do not reposition a separate ion-fab; leave room for it when choosing the bar's position.

      \n

      Foldable layouts

      \n

      To simulate the iPhone Duo layout on the web, add .ios-theme-enable-foldable to the active ion-app. Use body only when the application has no ion-app root:

      \n
      <ion-app class="ios-theme-enable-foldable">...</ion-app>
      \n\n

      The class reserves 80px on the physical right by default, matching the system navigation region measured in the iPhone Duo Simulator. The physical left defaults to 0px. Override --ios-theme-foldable-safe-area-left or --ios-theme-foldable-safe-area-right when simulating a different foldable layout.

      \n

      This keeps routers and component backgrounds full-viewport. ion-content moves its scroll foreground, ion-toolbar moves its container foreground, and ion-fab adjusts only when it is placed beside the system UI. The corresponding Ionic safe-area variable is reset inside those foreground components so descendants do not add the inset again.

      \n

      ion-menu, ion-modal, and ion-popover are handled as separate surfaces: their internal foreground components do not receive the main-page conversion and retain Ionic's standard safe-area handling. A menu presented beside the system UI keeps Ionic's full-viewport animation host and offsets only its visible container by the corresponding inset; a menu from the opposite side is unchanged. Left and right remain physical coordinates in RTL, while Ionic's side="start" and side="end" values remain logical.

      \n

      The foldable values are web-layout simulation inputs. They are independent from Ionic's normal iPhone safe-area variables and do not change ordinary iPhone layouts unless the opt-in class is present.

      \n

      When the app contains ion-tabs, foldable mode moves its iOS tab bar into the physical right-side reserved region and aligns it above the bottom safe area. The Ionic slot value does not select a different foldable position. Without Native UI Shell, the stable Web rail is icon-only, matching a four-tab SwiftUI TabView on iPhone Duo. While the user presses and drags across that rail, every icon-and-label tab reveals its label so the pending destination stays identifiable. The Web tab bar receives pointer input in the simulated system region. Use ion-menu when navigation should become a sidebar; foldable mode does not convert tabs into a menu.

      \n

      On supported iOS versions, initializing enableNativeUIShell() at application startup hands eligible foldable tabs, back navigation, menu buttons, and fixed-toolbar actions to a native SwiftUI TabView and toolbar. The Ionic controls remain the sources of labels, icons, selected/disabled state, form submission, routing, and click handlers while SwiftUI owns adaptive placement and interaction. Fixed-toolbar actions need an icon or SVG, no direct text node, and standard fill="default" or fill="clear" to be eligible for the side rail. Text-only actions stay in the original Web toolbar. Placement is chosen when a routed page enters; changing an existing button's content does not move it between the toolbar and rail until the page leaves and re-enters. Menus, modals, and popovers retain their own toolbar layout.

      \n

      On Web, Android, older iOS, or when native projection is unavailable during setup, the Web tab bar and fixed-toolbar clones remain the fallback. Those projections also work when no ion-tabs exists; text-only actions stay in the original Web toolbar. Disabling foldable mode or leaving the page removes the native ownership or Web clones and restores their sources. Override --ios-theme-foldable-toolbar-top when the simulated system controls use a different vertical layout.

      \n

      Two-line inset list items

      \n

      Place an unslotted ion-label immediately alongside an unslotted ion-note to render a two-line item. When using the iOS-style inset-list background, wrap the items in ion-item-group; keep ion-list-header outside the group.

      \n
      <ion-list inset="true">\n  <ion-list-header>\n    <ion-label>Connections</ion-label>\n  </ion-list-header>\n  <ion-item-group>\n    <ion-item>\n      <ion-label>Network &amp; internet</ion-label>\n      <ion-note>Mobile, Wi-Fi, hotspot</ion-note>\n    </ion-item>\n  </ion-item-group>\n</ion-list>
      \n\n
      \n
      Preview
      \n\n \n Connections\n \n \n \n Network & internet\n Mobile, Wi-Fi, hotspot\n \n \n\n
      \n\n

      Use slot="end" on ion-note when you want the standard trailing-note layout instead.

      \n

      Inset-list section headers

      \n

      Add .item-group-header to an ion-item-group to create the centered icon, title, and description used at the top of the component demo pages.

      \n

      This is an introductory group. Place regular list items in a separate ion-item-group that follows it.

      \n
      <ion-list inset="true">\n  <ion-item-group class="item-group-header">\n    <ion-item>\n      <ion-label>\n        <ion-icon name="list" style="background: var(--ion-color-primary)"></ion-icon>\n        <h2>Lists</h2>\n        <ion-text>Inset-list examples</ion-text>\n      </ion-label>\n    </ion-item>\n  </ion-item-group>\n  <ion-item-group>\n    <ion-item><ion-label>First item</ion-label></ion-item>\n  </ion-item-group>\n</ion-list>
      \n\n
      \n
      Preview
      \n\n \n \n \n \n

      Lists

      \n Inset-list examples\n
      \n
      \n
      \n \n First item\n \n
      \n
      \n\n

      Full-width segments

      \n

      Add .segment-style-glass to give a segment the same glass surface and selected indicator treatment as the tab bar. The class preserves the segment's existing dimensions and text colors, supports scrollable segments, and respects Ionic's public --background property.

      \n
      <ion-segment class="segment-style-glass" value="available">\n  <ion-segment-button value="available">Available</ion-segment-button>\n  <ion-segment-button value="away">Away</ion-segment-button>\n</ion-segment>
      \n\n

      For colored segments, use Ionic's color property (for example, color="primary" or color="secondary"). Ionic uses the palette's base color for the softly tinted track while keeping the selected surface and labels neutral. A surrounding colored toolbar only supplies colors when the segment has no color of its own. The optional moving glass inherits the selected surface color, and custom Ionic palettes work without additional registration.

      \n

      Add .segment-expand when segment buttons should divide the available width evenly. The class also changes the Liquid Glass effect sizing when registerSegmentEffect is used.

      \n

      Segments use a 32px minimum height in content and a 48px minimum height inside ion-toolbar. .segment-expand keeps the compact 32px layout in a toolbar. Compact segments retain Ionic's flat background and indicator colors; only the regular toolbar variant has a glass container and scales its outer container while pressed. Content and expanded segments keep their outer bounds. The optional moving glass lens is independent of the container's background.

      \n
      <ion-segment class="segment-expand" value="new">\n  <ion-segment-button value="new"><ion-label>New</ion-label></ion-segment-button>\n  <ion-segment-button value="replied"><ion-label>Replied</ion-label></ion-segment-button>\n</ion-segment>
      \n\n
      \n
      Preview
      \n\n New\n Replied\n\n
      \n\n

      Classic search bar in a condense header

      \n

      The theme gives iOS search bars the iOS 27 appearance by default. Add .searchbar-classic to the search field shown beneath a large title in an ion-header with collapse="condense". It uses the conventional filled iOS appearance and collapses with the large title instead of remaining in the fixed header.

      \n

      Place it in a toolbar with a color, such as color="light"; the classic background is derived from that color's contrast value.

      \n

      The example uses Ionic's standard collapsible large-title structure. Scroll the preview to collapse the large title and reveal the fixed header.

      \n
      <div class="ion-page">\n  <ion-header translucent="true">\n    <ion-toolbar color="light">\n      <ion-title>Search</ion-title>\n    </ion-toolbar>\n  </ion-header>\n  <ion-content color="light" fullscreen="true">\n    <ion-header collapse="condense">\n      <ion-toolbar color="light">\n        <ion-title size="large">Search</ion-title>\n      </ion-toolbar>\n      <ion-toolbar color="light">\n        <ion-searchbar class="searchbar-classic" placeholder="Filter results"></ion-searchbar>\n      </ion-toolbar>\n    </ion-header>\n    <ion-list inset="true">\n      <ion-item-group>\n        <ion-item><ion-label>Recent item 1</ion-label></ion-item>\n        <ion-item><ion-label>Recent item 2</ion-label></ion-item>\n        <ion-item><ion-label>Recent item 3</ion-label></ion-item>\n        <ion-item><ion-label>Recent item 4</ion-label></ion-item>\n        <ion-item><ion-label>Recent item 5</ion-label></ion-item>\n        <ion-item><ion-label>Recent item 6</ion-label></ion-item>\n        <ion-item><ion-label>Recent item 7</ion-label></ion-item>\n        <ion-item><ion-label>Recent item 8</ion-label></ion-item>\n        <ion-item><ion-label>Recent item 9</ion-label></ion-item>\n        <ion-item><ion-label>Recent item 10</ion-label></ion-item>\n      </ion-item-group>\n    </ion-list>\n  </ion-content>\n</div>
      \n\n
      \n
      Preview
      \n
      \n \n \n Search\n \n \n \n \n \n Search\n \n \n \n \n \n \n \n Recent item 1\n Recent item 2\n Recent item 3\n Recent item 4\n Recent item 5\n Recent item 6\n Recent item 7\n Recent item 8\n Recent item 9\n Recent item 10\n \n \n \n
      \n
      \n\n

      The .ion-page wrapper makes this embedded preview behave like a complete routed page. An application using ion-router-outlet normally receives that page container automatically. The inset list and its items only provide enough content to demonstrate scrolling; they are not required by .searchbar-classic.

      \n

      Search-bar toolbars

      \n

      Add .toolbar-searchbar when an ion-toolbar combines a search bar with start or end buttons. The class centers the slotted controls and adjusts the spacing around the search field.

      \n
      <ion-toolbar class="toolbar-searchbar">\n  <ion-buttons slot="start">\n    <ion-button>Cancel</ion-button>\n  </ion-buttons>\n  <ion-searchbar></ion-searchbar>\n</ion-toolbar>
      \n\n
      \n
      Preview
      \n\n \n Cancel\n \n \n\n
      \n\n

      Opting out

      \n

      Add .ios-theme-disabled to an individual Ionic component when it must retain Ionic's standard iOS styling.

      \n

      .ios26-disabled is deprecated but remains supported as an alias with the same behavior. Use .ios-theme-disabled for new code.

      \n
      <ion-button>iOS 27 theme</ion-button> <ion-button class="ios-theme-disabled">Standard Ionic button</ion-button>
      \n\n
      \n
      Preview
      \niOS 27 theme Standard Ionic button\n
      \n\n

      For the background model behind inset lists, see Using ion-item-group.

      \n'; diff --git a/demo/src/app/index/index-page.component.html b/demo/src/app/index/index-page.component.html index 6e5045b4..2ba70cad 100644 --- a/demo/src/app/index/index-page.component.html +++ b/demo/src/app/index/index-page.component.html @@ -6,9 +6,11 @@ Index + - diff --git a/demo/src/app/native-ui-shell/native-ui-shell.page.html b/demo/src/app/native-ui-shell/native-ui-shell.page.html index bcdbbd6f..f405bda9 100644 --- a/demo/src/app/native-ui-shell/native-ui-shell.page.html +++ b/demo/src/app/native-ui-shell/native-ui-shell.page.html @@ -18,11 +18,11 @@ - + Actions: {{ github() }} / {{ refreshes() }} - - + + @@ -33,10 +33,14 @@
      -

      Save count: {{ saves() }}

      +

      + Save count: {{ saves() }} +

      Experimental: On supported iOS versions, fixed glass controls are rendered natively.

      -

      Selection: {{ selected() }} / Change count: {{ changes() }}

      +

      + Selection: {{ selected() }} / Change count: {{ changes() }} +

      Scroll the background to compare transparency and refraction in the top-right button.

      @@ -44,13 +48,13 @@ @for (value of fills; track value) { - + }
      @for (band of bands; track band) { -
      - {{ band }} — GLASS / Glass / 123456789 -
      +
      + {{ band }} — GLASS / Glass / 123456789 +
      }
      diff --git a/demo/src/native-ui-shell-transition.spec.ts b/demo/src/native-ui-shell-transition.spec.ts index 6dc9b608..60cfd220 100644 --- a/demo/src/native-ui-shell-transition.spec.ts +++ b/demo/src/native-ui-shell-transition.spec.ts @@ -1,6 +1,7 @@ import { expect, test } from 'vitest'; import { connectNativeUIShellTransition, + FOLDABLE_TRANSITION_CANCELED, getNativeSearchBindings, registerNativeSearch, setNativeUIShellIntegration, @@ -16,14 +17,18 @@ const fixture = () => { const pending = new Promise((resolve) => { ready = resolve; }); + let finish!: Parameters[0]; setNativeUIShellIntegration(doc, { suspend: async () => { await pending; - return () => calls.push('resume'); + return (canceled = false) => calls.push(`resume:${canceled}`); }, }); const animation = { - onFinish: () => animation, + onFinish: (callback: typeof finish) => { + finish = callback; + return animation; + }, play: async () => { calls.push('play'); }, @@ -45,7 +50,7 @@ const fixture = () => { }, } as unknown as Animation; connectNativeUIShellTransition(animation, page); - return { animation, calls, ready }; + return { animation, calls, ready, finish: (step: 0 | 1) => finish(step, animation) }; }; test('normal transition waits for native suspension', async () => { @@ -54,11 +59,11 @@ test('normal transition waits for native suspension', async () => { expect(calls).toEqual([]); ready(); await played; - expect(calls).toEqual(['play', 'resume']); + expect(calls).toEqual(['play', 'resume:false']); }); test('interactive cancellation queued during suspension keeps the last progress', async () => { - const { animation, calls, ready } = fixture(); + const { animation, calls, ready, finish } = fixture(); animation.progressStart(true); animation.progressStep(0.2); animation.progressStep(0.4); @@ -66,8 +71,10 @@ test('interactive cancellation queued during suspension keeps the last progress' expect(calls).toEqual([]); ready(); await expect.poll(() => calls).toEqual(['start', 'step:0.4', 'end:0']); + finish(0); + expect(calls).toEqual(['start', 'step:0.4', 'end:0', 'resume:true']); animation.destroy(); - expect(calls).toEqual(['start', 'step:0.4', 'end:0', 'resume', 'destroy']); + expect(calls).toEqual(['start', 'step:0.4', 'end:0', 'resume:true', 'destroy']); }); test('destroy during bridge preparation cannot start an abandoned transition', async () => { @@ -76,7 +83,7 @@ test('destroy during bridge preparation cannot start an abandoned transition', a animation.destroy(); ready(); await played; - expect(calls).toEqual(['destroy', 'resume']); + expect(calls).toEqual(['destroy', 'resume:true']); }); test('without native enablement the animation remains untouched', () => { @@ -86,6 +93,30 @@ test('without native enablement the animation remains untouched', () => { expect(animation.play).toBe(play); }); +test('a canceled Web transition releases the still-active leaving page', () => { + const doc = document.implementation.createHTMLDocument(); + const app = doc.createElement('ion-app'); + doc.body.append(app); + const entering = doc.createElement('main'); + const leaving = doc.createElement('main'); + app.append(entering, leaving); + let finish!: Parameters[0]; + const animation = { onFinish: (callback: typeof finish) => (finish = callback) } as unknown as Animation; + let cancellations = 0; + let canceledEntering: HTMLElement | undefined; + leaving.addEventListener(FOLDABLE_TRANSITION_CANCELED, (event) => { + cancellations++; + canceledEntering = (event as CustomEvent<{ entering: HTMLElement }>).detail.entering; + }); + + connectNativeUIShellTransition(animation, entering, leaving); + finish(1, animation); + expect(cancellations).toBe(0); + finish(0, animation); + expect(cancellations).toBe(1); + expect(canceledEntering).toBe(entering); +}); + test('server rendering has no DOM side effects', async () => { await expect(configureNativeTransition()).resolves.toEqual({ radius: 0 }); const handle = await enableNativeUIShell(); diff --git a/docs/native-ui-shell.md b/docs/native-ui-shell.md index afb3f7ac..25435640 100644 --- a/docs/native-ui-shell.md +++ b/docs/native-ui-shell.md @@ -6,7 +6,7 @@ title: Native UI Shell (Experimental) Native UI Shell is experimental. Its API and supported controls may change. -Native UI Shell gives an Ionic app native navigation and action controls around its Web content. The optional Capacitor iOS plugin renders supported fixed Ionic controls with UIKit and the system's Liquid Glass material. Page content, scrolling, application state and routing remain in Ionic's WebView. +Native UI Shell gives an Ionic app native navigation and action controls around its Web content. The optional Capacitor iOS plugin renders supported fixed Ionic controls with UIKit or SwiftUI and the system's Liquid Glass material. Page content, scrolling, application state and routing remain in Ionic's WebView. ## Background @@ -167,6 +167,14 @@ Suspensions are nestable and `resume()` is idempotent. Native projection resumes The native material and control appearance follow the running iOS version; an iOS 26 device does not acquire iOS 27's appearance merely by installing this theme. +## Foldable controls + +On supported iOS versions, adding `.ios-theme-enable-foldable` changes only controls that the system relocates into the physical side rail. Native UI Shell presents eligible tabs, back navigation, menu buttons, and toolbar actions through a SwiftUI `TabView` and toolbar only when iOS reports a physical right-side safe area large enough for that rail. SwiftUI owns their adaptive placement and Liquid Glass appearance; Ionic remains the source of labels, icons, selected/disabled state, routing, form submission, and click handlers. + +The SwiftUI surface is clipped and hit-tested to the system rail. Web content remains visible and interactive outside that physical region. The runtime optimistically updates tab selection before forwarding the action to the original `ion-tab-button`, using the same event and stale-revision protection as the other native controls. Menus, modals, and popovers remain independent surfaces and are not moved into the main-page rail. + +The foldable exception accepts standard `fill="default"` and `fill="clear"` fixed-toolbar buttons because SwiftUI determines their compact representation. Solid, outline, custom-color, scrolling, and explicitly opted-out controls remain on the Web. On Web, Android, older iOS, or when native projection is unavailable during setup, the existing foldable Web projection remains the fallback. + ## Native UI Shell API The generated reference below documents the handle returned by `enableNativeUIShell()`. The underlying Capacitor bridge and its control-snapshot protocol are implementation details. diff --git a/docs/special-markup.md b/docs/special-markup.md index 5ca190a3..343ec4f6 100644 --- a/docs/special-markup.md +++ b/docs/special-markup.md @@ -59,15 +59,15 @@ The class reserves `80px` on the physical right by default, matching the system This keeps routers and component backgrounds full-viewport. `ion-content` moves its scroll foreground, `ion-toolbar` moves its container foreground, and `ion-fab` adjusts only when it is placed beside the system UI. The corresponding Ionic safe-area variable is reset inside those foreground components so descendants do not add the inset again. -`ion-menu`, `ion-modal`, and `ion-popover` are handled as separate surfaces: their internal foreground components do not receive the main-page conversion and retain Ionic's standard safe-area handling. A menu presented beside the system UI is positioned after the corresponding inset; a menu from the opposite side is unchanged. Left and right remain physical coordinates in RTL, while Ionic's `side="start"` and `side="end"` values remain logical. +`ion-menu`, `ion-modal`, and `ion-popover` are handled as separate surfaces: their internal foreground components do not receive the main-page conversion and retain Ionic's standard safe-area handling. A menu presented beside the system UI keeps Ionic's full-viewport animation host and offsets only its visible container by the corresponding inset; a menu from the opposite side is unchanged. Left and right remain physical coordinates in RTL, while Ionic's `side="start"` and `side="end"` values remain logical. The foldable values are web-layout simulation inputs. They are independent from Ionic's normal iPhone safe-area variables and do not change ordinary iPhone layouts unless the opt-in class is present. -When the app contains `ion-tabs`, foldable mode moves its iOS tab bar into the physical right-side reserved region and aligns it above the bottom safe area. The Ionic `slot` value does not select a different foldable position. The stable rail is icon-only, matching a four-tab SwiftUI `TabView` on iPhone Duo. While the user presses and drags across the rail, every icon-and-label tab reveals its label so the pending destination stays identifiable. The tab bar remains in the web layer and receives pointer input in the simulated system region. Use `ion-menu` when navigation should become a sidebar; foldable mode does not convert tabs into a menu. +When the app contains `ion-tabs`, foldable mode moves its iOS tab bar into the physical right-side reserved region and aligns it above the bottom safe area. The Ionic `slot` value does not select a different foldable position. Without Native UI Shell, the stable Web rail is icon-only, matching a four-tab SwiftUI `TabView` on iPhone Duo. While the user presses and drags across that rail, every icon-and-label tab reveals its label so the pending destination stays identifiable. The Web tab bar receives pointer input in the simulated system region. Use `ion-menu` when navigation should become a sidebar; foldable mode does not convert tabs into a menu. -When `enableNativeUIShell()` is initialized at application startup, foldable mode uses the same document-level projection lifecycle for fixed-toolbar navigation and actions. The active `ion-back-button` and `ion-button` or `ion-menu-button` controls that contain an icon remain the sources of truth, are hidden while owned, and are represented by interactive Web clones in the physical right-side system rail. Buttons in the same `ion-buttons` group share a vertical rail group. An icon-and-text button is shown as its icon while retaining its accessible label; a text-only button stays in the original toolbar. Menus, modals, and popovers retain their own toolbar layout. +On supported iOS versions, initializing `enableNativeUIShell()` at application startup hands eligible foldable tabs, back navigation, menu buttons, and fixed-toolbar actions to a native SwiftUI `TabView` and toolbar. The Ionic controls remain the sources of labels, icons, selected/disabled state, form submission, routing, and click handlers while SwiftUI owns adaptive placement and interaction. Fixed-toolbar actions need an icon or SVG, no direct text node, and standard `fill="default"` or `fill="clear"` to be eligible for the side rail. Text-only actions stay in the original Web toolbar. Placement is chosen when a routed page enters; changing an existing button's content does not move it between the toolbar and rail until the page leaves and re-enters. Menus, modals, and popovers retain their own toolbar layout. -These Web projections also work when no `ion-tabs` exists and when native projection is unavailable. Disabling foldable mode or leaving the page removes the clones and restores their sources. Override `--ios-theme-foldable-toolbar-top` when the simulated system controls use a different vertical layout. +On Web, Android, older iOS, or when native projection is unavailable during setup, the Web tab bar and fixed-toolbar clones remain the fallback. Those projections also work when no `ion-tabs` exists; text-only actions stay in the original Web toolbar. Disabling foldable mode or leaving the page removes the native ownership or Web clones and restores their sources. Override `--ios-theme-foldable-toolbar-top` when the simulated system controls use a different vertical layout. ## Two-line inset list items diff --git a/ios/Sources/IonicNativeUIShellPlugin/Components/ShellFoldableRail.swift b/ios/Sources/IonicNativeUIShellPlugin/Components/ShellFoldableRail.swift new file mode 100644 index 00000000..e49f904d --- /dev/null +++ b/ios/Sources/IonicNativeUIShellPlugin/Components/ShellFoldableRail.swift @@ -0,0 +1,332 @@ +import Combine +import SwiftUI +import UIKit + +protocol ShellFoldableRailControlling: AnyObject { + var view: UIView { get } + func attach(to owner: UIViewController, in parent: UIView) + func apply(_ controls: [ShellControl], rendering: ShellRendering) + func detach() +} + +@available(iOS 26.0, *) +final class ShellFoldableRailModel: ObservableObject { + struct Item: Identifiable { + let id: String + let label: String + let accessibilityLabel: String + let image: UIImage? + let badge: ShellBadge? + let disabled: Bool + var selected: Bool + } + + struct Group: Identifiable { + let id: String + let items: [Item] + let slot: ShellControl.ToolbarSlot? + } + + @Published var back: Item? + @Published var groups: [Group] = [] + @Published var tabs: [Item] = [] + @Published var selection = "" + var activate: (String) -> Void = { _ in } + private var domSelection = "" + private var pendingSelection: ShellTabBar.PendingSelection? + private var pendingExpiryWork: DispatchWorkItem? + + func apply(_ controls: [ShellControl], rendering: ShellRendering, + now: CFAbsoluteTime = CFAbsoluteTimeGetCurrent()) { + func item(_ source: ShellItem) -> Item { + Item(id: source.id, label: source.content.label, + accessibilityLabel: source.content.accessibilityLabel, + image: rendering.image(source.content), badge: source.content.badge, disabled: source.content.disabled, + selected: source.content.selected) + } + withAnimation(.smooth(duration: 0.3)) { + back = controls.first(where: { $0.kind == .backButton })?.items.first.map(item) + groups = controls.compactMap { control in + guard [.button, .buttons, .menuButton].contains(control.kind) else { return nil } + return Group(id: control.id, items: control.items.map(item), slot: control.toolbarSlot) + } + } + tabs = controls.first(where: { $0.kind == .tabBar })?.items.map(item) ?? [] + domSelection = tabs.first(where: \.selected)?.id ?? "" + reconcileSelection(now: now) + } + + func select(_ id: String, now: CFAbsoluteTime = CFAbsoluteTimeGetCurrent(), ttl: CFTimeInterval = 1) { + guard let item = tabs.first(where: { $0.id == id }), !item.disabled else { return } + pendingSelection = .init(id: id, until: now + ttl) + selection = id + pendingExpiryWork?.cancel() + let work = DispatchWorkItem { [weak self] in self?.reconcileSelection() } + pendingExpiryWork = work + DispatchQueue.main.asyncAfter(deadline: .now() + ttl + 0.02, execute: work) + activate(id) + } + + private func reconcileSelection(now: CFAbsoluteTime = CFAbsoluteTimeGetCurrent()) { + guard let pending = pendingSelection else { selection = domSelection; return } + let item = tabs.first(where: { $0.id == pending.id }) + if item == nil || item!.disabled || now >= pending.until || domSelection == pending.id { + pendingSelection = nil + pendingExpiryWork?.cancel() + pendingExpiryWork = nil + selection = domSelection + } else { + selection = pending.id + } + } +} + +@available(iOS 26.0, *) +private struct ShellFoldableLabel: View { + let item: ShellFoldableRailModel.Item + + var body: some View { + if let image = item.image { + Label { + Text(item.label.isEmpty ? item.accessibilityLabel : item.label) + } icon: { + Image(uiImage: image) + } + } else { + Text(item.label) + } + } +} + +@available(iOS 26.0, *) +private func foldableButton(_ item: ShellFoldableRailModel.Item, model: ShellFoldableRailModel) -> some View { + Button { model.activate(item.id) } label: { ShellFoldableLabel(item: item) } + .disabled(item.disabled) + .accessibilityLabel(item.accessibilityLabel) + .accessibilityIdentifier(item.id) +} + +@available(iOS 26.0, *) +private func foldableBackButton(_ item: ShellFoldableRailModel.Item, model: ShellFoldableRailModel) -> some View { + Button { model.activate(item.id) } label: { Image(systemName: "chevron.backward") } + .disabled(item.disabled) + .accessibilityLabel(item.accessibilityLabel) + .accessibilityIdentifier("BackButton") +} + +@available(iOS 26.0, *) +private struct ShellFoldableBadge: ViewModifier { + let badge: ShellBadge? + + @ViewBuilder func body(content: Content) -> some View { + if let badge { content.badge(badge.value) } + else { content } + } +} + +@available(iOS 26.0, *) +private struct ShellFoldableRailView: View { + @ObservedObject var model: ShellFoldableRailModel + + var body: some View { + Group { + if model.tabs.isEmpty { + ShellFoldablePage(model: model) + } else { + TabView(selection: Binding(get: { model.selection }, set: { model.select($0) })) { + ForEach(model.tabs) { item in + ShellFoldablePage(model: model) + .tag(item.id) + .tabItem { ShellFoldableLabel(item: item) } + .modifier(ShellFoldableBadge(badge: item.badge)) + .disabled(item.disabled) + .accessibilityLabel(item.accessibilityLabel) + .accessibilityIdentifier(item.id) + } + } + } + } + .modifier(ShellFoldableCompression()) + .background(Color.clear) + } +} + +@available(iOS 26.0, *) +private struct ShellFoldablePage: View { + @ObservedObject var model: ShellFoldableRailModel + + var body: some View { + NavigationStack { + Color.clear.modifier(ShellFoldableToolbarAdapter(model: model)) + } + } +} + +@available(iOS 26.0, *) +private struct ShellFoldableCompression: ViewModifier { + @ViewBuilder func body(content: Content) -> some View { + if #available(iOS 27.1, *) { + content.toolbarVerticalCompressionBehavior(.prefersToolbarItems) + } else { + content + } + } +} + +@available(iOS 26.0, *) +private struct ShellFoldableToolbarAdapter: ViewModifier { + @ObservedObject var model: ShellFoldableRailModel + + @ViewBuilder func body(content: Content) -> some View { + if #available(iOS 27.1, *) { + content.modifier(ShellFoldableToolbar(model: model)) + } else { + content.modifier(ShellFoldableLegacyToolbar(model: model)) + } + } +} + +@available(iOS 27.1, *) +private struct ShellFoldableToolbar: ViewModifier { + @ObservedObject var model: ShellFoldableRailModel + + func body(content: Content) -> some View { + content.toolbar { + if let back = model.back { + ToolbarItem(placement: .navigation) { + foldableBackButton(back, model: model) + } + .axisBehavior(.verticalPreferred) + } + ForEach(model.groups.filter { $0.slot == .start }) { group in + ToolbarItemGroup(placement: .topBarLeading) { + ForEach(group.items) { item in + foldableButton(item, model: model) + } + } + .axisBehavior(.verticalPreferred) + } + ForEach(model.groups.filter { $0.slot != .start }) { group in + ToolbarItemGroup(placement: .topBarTrailing) { + ForEach(group.items) { item in + foldableButton(item, model: model) + } + } + .axisBehavior(.verticalPreferred) + } + } + } +} + +@available(iOS 26.0, *) +private struct ShellFoldableLegacyToolbar: ViewModifier { + @ObservedObject var model: ShellFoldableRailModel + + func body(content: Content) -> some View { + content.toolbar { + if let back = model.back { + ToolbarItem(placement: .navigation) { + foldableBackButton(back, model: model) + } + } + ForEach(model.groups) { group in + ToolbarItemGroup(placement: .primaryAction) { + ForEach(group.items) { item in + foldableButton(item, model: model) + } + } + } + } + } +} + +@available(iOS 26.0, *) +final class ShellFoldableRailController: ShellFoldableRailControlling { + private final class TransparentHostingController: UIHostingController { + override func viewDidLayoutSubviews() { + super.viewDidLayoutSubviews() + makeFullSizeSurfacesTransparent(in: view) + } + + private func makeFullSizeSurfacesTransparent(in surface: UIView) { + let frame = surface.convert(surface.bounds, to: view) + let railWidth = view.safeAreaInsets.right > 0 ? view.safeAreaInsets.right : 80 + guard !(surface is UIVisualEffectView) else { return } + let coversHost = frame.insetBy(dx: -1, dy: -1).contains(view.bounds) + let coversRail = frame.minY <= 1 && frame.maxY >= view.bounds.maxY - 1 && + frame.minX <= view.bounds.maxX - railWidth + 1 && frame.maxX >= view.bounds.maxX - 1 + // SwiftUI may add an opaque backing behind the rail controls. + // Keep that backing clear without touching the glass controls or materials. + if coversHost || coversRail { + surface.backgroundColor = .clear + surface.isOpaque = false + } + surface.subviews.forEach(makeFullSizeSurfacesTransparent) + } + } + + private final class RailContainer: UIView { + private let railMask = CAShapeLayer() + + private var railWidth: CGFloat { safeAreaInsets.right > 0 ? safeAreaInsets.right : 80 } + + override init(frame: CGRect) { + super.init(frame: frame) + layer.mask = railMask + } + + required init?(coder: NSCoder) { nil } + + override func layoutSubviews() { + super.layoutSubviews() + railMask.path = UIBezierPath(rect: CGRect(x: bounds.maxX - railWidth, y: 0, + width: railWidth, height: bounds.height)).cgPath + } + + override func point(inside point: CGPoint, with event: UIEvent?) -> Bool { + point.x >= bounds.maxX - railWidth && super.point(inside: point, with: event) + } + } + + private let model = ShellFoldableRailModel() + private lazy var controller = TransparentHostingController(rootView: ShellFoldableRailView(model: model)) + private let container = RailContainer() + private weak var owner: UIViewController? + + var view: UIView { container } + + init(activate: @escaping (String) -> Void) { + model.activate = activate + container.backgroundColor = .clear + controller.view.backgroundColor = .clear + controller.view.isOpaque = false + } + + func attach(to owner: UIViewController, in parent: UIView) { + guard self.owner !== owner || container.superview !== parent else { return } + detach() + self.owner = owner + owner.addChild(controller) + container.frame = parent.bounds + container.autoresizingMask = [.flexibleWidth, .flexibleHeight] + controller.view.frame = container.bounds + controller.view.autoresizingMask = [.flexibleWidth, .flexibleHeight] + container.addSubview(controller.view) + parent.addSubview(container) + controller.didMove(toParent: owner) + } + + func apply(_ controls: [ShellControl], rendering: ShellRendering) { + model.apply(controls, rendering: rendering) + controller.overrideUserInterfaceStyle = controls.contains(where: \.dark) ? .dark : .light + } + + func detach() { + guard controller.parent != nil else { return } + controller.willMove(toParent: nil) + container.removeFromSuperview() + controller.view.removeFromSuperview() + controller.removeFromParent() + owner = nil + } +} diff --git a/ios/Sources/IonicNativeUIShellPlugin/IonicNativeUIShellPlugin.swift b/ios/Sources/IonicNativeUIShellPlugin/IonicNativeUIShellPlugin.swift index 11cfd077..291a2d41 100644 --- a/ios/Sources/IonicNativeUIShellPlugin/IonicNativeUIShellPlugin.swift +++ b/ios/Sources/IonicNativeUIShellPlugin/IonicNativeUIShellPlugin.swift @@ -13,6 +13,7 @@ public class IonicNativeUIShellPlugin: CAPPlugin, CAPBridgedPlugin, UITabBarDele CAPPluginMethod(name: "clear", returnType: CAPPluginReturnPromise) ] private var host: ShellHost? + private var foldableRail: ShellFoldableRailControlling? private var controls: [String: UIView] = [:] private var searchControllers: [String: UIViewController] = [:] private var fingerprints: [String: ShellControl] = [:] @@ -40,7 +41,10 @@ public class IonicNativeUIShellPlugin: CAPPlugin, CAPBridgedPlugin, UITabBarDele self.keyboardVisible = !overlap.isNull && overlap.width > 0 && overlap.height > 0 } } - if !keyboard { self.host?.isHidden = true } + if !keyboard { + self.host?.isHidden = true + self.foldableRail?.view.isHidden = true + } var searchOwnsKeyboard = false if #available(iOS 26.0, *) { self.searchControllers.values.forEach { @@ -105,6 +109,11 @@ public class IonicNativeUIShellPlugin: CAPPlugin, CAPBridgedPlugin, UITabBarDele self?.removeControls() self?.revision = 0 if #available(iOS 26.0, *) { + self?.bridge?.webView?.layoutIfNeeded() + // A foldable rail exists only when the system reserves enough of + // the physical right edge to host its adaptive controls. Ordinary + // iPhone/iPad safe areas must keep using the Web projection. + let foldableRail = (self?.bridge?.webView?.safeAreaInsets.right ?? 0) >= 70 // Ionic already paints the header edge; a second native effect can // add a dark scrim when the OS and Web themes differ. if let effect = self?.bridge?.webView?.scrollView.topEdgeEffect { @@ -112,7 +121,7 @@ public class IonicNativeUIShellPlugin: CAPPlugin, CAPBridgedPlugin, UITabBarDele effect.isHidden = true self?.restoreTopEdge = { [weak effect] in effect?.isHidden = hidden } } - call.resolve(["supported": true]) + call.resolve(["supported": true, "foldableRail": foldableRail]) } else { call.resolve(["supported": false]) } } @@ -146,6 +155,8 @@ public class IonicNativeUIShellPlugin: CAPPlugin, CAPBridgedPlugin, UITabBarDele Array(controls.keys).forEach { removeControl($0, duration: duration) } host?.removeFromSuperview() host = nil + foldableRail?.detach() + foldableRail = nil rendering.clear() pendingTabSelections.removeAll() pendingTabExpiryWorks.values.forEach { $0.cancel() } @@ -194,10 +205,11 @@ public class IonicNativeUIShellPlugin: CAPPlugin, CAPBridgedPlugin, UITabBarDele } let duration = ShellCrossfade.duration(snapshot.transitionDuration) let existing = Set(self.controls.keys) - let snapshots = snapshot.controls + let foldable = snapshot.controls.filter { $0.placement == .foldableRail } + let snapshots = snapshot.controls.filter { $0.placement != .foldableRail } let width = snapshot.viewportWidth self.revision = next - if snapshots.isEmpty { + if snapshots.isEmpty && foldable.isEmpty { self.removeControls(duration: duration) call.resolve(["revision": next]); return } @@ -216,6 +228,19 @@ public class IonicNativeUIShellPlugin: CAPPlugin, CAPBridgedPlugin, UITabBarDele var fabs: [(ShellFab, ShellControl)] = [] var searches: [(ShellSearchController, ShellControl, CGRect, CGRect, UIView?, Bool)] = [] var rejectedSearches: [String] = [] + if foldable.isEmpty || self.keyboardVisible { + self.foldableRail?.detach() + self.foldableRail = nil + if self.keyboardVisible { rejectedControls.append(contentsOf: foldable.map(\.id)) } + } else if let owner = self.bridge?.viewController { + let rail = self.foldableRail ?? ShellFoldableRailController(activate: { [weak self] id in self?.activate(id) }) + self.foldableRail = rail + rail.attach(to: owner, in: owner.view) + rail.apply(foldable, rendering: self.rendering) + rail.view.isHidden = false + } else { + rejectedControls.append(contentsOf: foldable.map(\.id)) + } UIView.performWithoutAnimation { if host.superview !== parent { parent.addSubview(host) } for node in snapshots { diff --git a/ios/Sources/IonicNativeUIShellPlugin/Shared/ShellSnapshot.swift b/ios/Sources/IonicNativeUIShellPlugin/Shared/ShellSnapshot.swift index 75e74adf..ab211732 100644 --- a/ios/Sources/IonicNativeUIShellPlugin/Shared/ShellSnapshot.swift +++ b/ios/Sources/IonicNativeUIShellPlugin/Shared/ShellSnapshot.swift @@ -31,8 +31,12 @@ struct ShellFrame: Decodable, Equatable { } struct ShellControl: Decodable, Equatable { + enum Placement: String, Decodable { case foldableRail = "foldable-rail" } + enum ToolbarSlot: String, Decodable { case start, end } let id: String let kind: ShellComponent + let placement: Placement? + let toolbarSlot: ToolbarSlot? let frame: ShellFrame let items: [ShellItem] let dark: Bool @@ -40,12 +44,14 @@ struct ShellControl: Decodable, Equatable { let tabBarAnchor: ShellTabBar.Anchor? let search: ShellSearch? - private enum CodingKeys: String, CodingKey { case id, kind, items, dark, rtl, tabBarAnchor, search } + private enum CodingKeys: String, CodingKey { case id, kind, placement, toolbarSlot, items, dark, rtl, tabBarAnchor, search } init(from decoder: Decoder) throws { let values = try decoder.container(keyedBy: CodingKeys.self) id = try values.decode(String.self, forKey: .id) kind = try values.decode(ShellComponent.self, forKey: .kind) + placement = try values.decodeIfPresent(Placement.self, forKey: .placement) + toolbarSlot = try values.decodeIfPresent(ToolbarSlot.self, forKey: .toolbarSlot) frame = try ShellFrame(from: decoder) items = try values.decode([ShellItem].self, forKey: .items) dark = try values.decode(Bool.self, forKey: .dark) @@ -57,6 +63,7 @@ struct ShellControl: Decodable, Equatable { var isValid: Bool { ShellComponents.supported.contains(kind) && !id.isEmpty && frame.isValid && !items.isEmpty && items.count <= 30 && (!ShellButton.kinds.contains(kind) || items.count == 1) && + (toolbarSlot == nil || (placement == .foldableRail && [.button, .buttons, .menuButton].contains(kind))) && Set(items.map(\.id)).count == items.count && items.allSatisfy(\.isValid) && (tabBarAnchor.map { kind == .tabBar && $0.isValid } ?? true) && (search.map { kind == .tabBar && $0.isValid } ?? true) diff --git a/ios/Tests/IonicNativeUIShellPluginTests/ShellSnapshotTests.swift b/ios/Tests/IonicNativeUIShellPluginTests/ShellSnapshotTests.swift index c804b0e8..970b7c82 100644 --- a/ios/Tests/IonicNativeUIShellPluginTests/ShellSnapshotTests.swift +++ b/ios/Tests/IonicNativeUIShellPluginTests/ShellSnapshotTests.swift @@ -37,6 +37,35 @@ final class ShellSnapshotTests: XCTestCase { } } + @MainActor func testFoldableTabOptimismWaitsForWebAndRollsBackWhenStale() throws { + guard #available(iOS 26.0, *) else { throw XCTSkip("Requires SwiftUI adaptive tabs") } + func tabs(_ selected: String, includeRight: Bool = true) throws -> [ShellControl] { + var items = [item(["id": "left", "selected": selected == "left"])] + if includeRight { + items.append(item(["id": "right", "selected": selected == "right", + "badge": ["value": "3", "color": "rgb(255, 0, 0)", "textColor": "rgb(255, 255, 255)"]])) + } + return try decode([control(["kind": "ion-tab-bar", "items": items])]).controls + } + let model = ShellFoldableRailModel() + let rendering = ShellRendering() + model.apply(try tabs("left"), rendering: rendering, now: 100) + XCTAssertEqual(model.tabs.last?.badge?.value, "3") + model.select("right", now: 100, ttl: 10) + model.apply(try tabs("left"), rendering: rendering, now: 101) + XCTAssertEqual(model.selection, "right", "a stale Web echo must not undo the optimistic selection") + model.apply(try tabs("right"), rendering: rendering, now: 102) + XCTAssertEqual(model.selection, "right", "the matching Web echo confirms the selection") + + model.apply(try tabs("left"), rendering: rendering, now: 200) + model.select("right", now: 200, ttl: 10) + model.apply(try tabs("left"), rendering: rendering, now: 211) + XCTAssertEqual(model.selection, "left", "an expired selection rolls back to Web state") + model.select("right", now: 220, ttl: 10) + model.apply(try tabs("left", includeRight: false), rendering: rendering, now: 221) + XCTAssertEqual(model.selection, "left", "a removed target rolls back immediately") + } + @MainActor func testSegmentSelectionEchoPreservesNativeViewsAndActionsUseUpdatedItems() throws { guard #available(iOS 26.0, *) else { return } func node(_ items: [JSObject]) throws -> ShellControl { diff --git a/package-lock.json b/package-lock.json index 6eb32d17..3d353f09 100644 --- a/package-lock.json +++ b/package-lock.json @@ -12,7 +12,7 @@ ], "license": "MIT", "dependencies": { - "@rdlabo/ionic-theme-utils": "git+https://github.com/rdlabo-dev/ionic-theme-utils.git#30acb040153797407a5fe27f0db6c69a3410d855" + "@rdlabo/ionic-theme-utils": "git+https://github.com/rdlabo-dev/ionic-theme-utils.git#44b1535387c326ed69fc239d38dbdb9776b629c2" }, "devDependencies": { "@capacitor/core": "^8.5.2", @@ -2259,7 +2259,7 @@ }, "node_modules/@rdlabo/ionic-theme-utils": { "version": "0.1.0", - "resolved": "git+https://github.com/rdlabo-dev/ionic-theme-utils.git#30acb040153797407a5fe27f0db6c69a3410d855", + "resolved": "git+https://github.com/rdlabo-dev/ionic-theme-utils.git#44b1535387c326ed69fc239d38dbdb9776b629c2", "integrity": "sha512-W4MFC4reLS4cK23hqWrWEf88d1Gx3mRfkkd2eihzjaGm+jndS+SdBmGmcefuaUXzL0J6lDtBPMWEkn78IOI+LA==", "inBundle": true, "license": "MIT", diff --git a/package.json b/package.json index 4523ee81..abf394ee 100644 --- a/package.json +++ b/package.json @@ -56,7 +56,7 @@ }, "homepage": "https://docs.rdlabo.dev/projects/ionic-theme-ios27", "dependencies": { - "@rdlabo/ionic-theme-utils": "git+https://github.com/rdlabo-dev/ionic-theme-utils.git#30acb040153797407a5fe27f0db6c69a3410d855" + "@rdlabo/ionic-theme-utils": "git+https://github.com/rdlabo-dev/ionic-theme-utils.git#44b1535387c326ed69fc239d38dbdb9776b629c2" }, "bundleDependencies": [ "@rdlabo/ionic-theme-utils" diff --git a/src/native-integration/index.ts b/src/native-integration/index.ts index 84144b2f..1355497c 100644 --- a/src/native-integration/index.ts +++ b/src/native-integration/index.ts @@ -2,7 +2,7 @@ import type { Animation } from '@ionic/core'; export interface NativeUIShellIntegration { - suspend(scopes: HTMLElement[]): Promise<() => void>; + suspend(scopes: HTMLElement[]): Promise<(canceled?: boolean) => void>; search?(binding: NativeSearchBinding, active: boolean, focus?: boolean): Promise; } @@ -32,6 +32,7 @@ export const requestNativeSearch = async (binding: NativeSearchBinding, active: (await runtimes.get(binding.tabBar.ownerDocument)?.search?.(binding, active, focus)) ?? false; const runtimes = new WeakMap(); +export const FOLDABLE_TRANSITION_CANCELED = 'iosThemeFoldableTransitionCanceled'; export const setNativeUIShellIntegration = (doc: Document, runtime?: NativeUIShellIntegration) => { if (runtime) runtimes.set(doc, runtime); @@ -40,11 +41,15 @@ export const setNativeUIShellIntegration = (doc: Document, runtime?: NativeUIShe export const isNativeUIShell = (element: HTMLElement) => element.hasAttribute('data-native-ui-shell'); -export const suspendNativeUIShell = async (scopes: HTMLElement[]): Promise<() => void> => +export const suspendNativeUIShell = async (scopes: HTMLElement[]): Promise<(canceled?: boolean) => void> => (await runtimes.get(scopes[0]?.ownerDocument)?.suspend(scopes)) ?? (() => {}); /** Ionic write hooks cannot await the bridge. Gate playback, including interactive playback. */ export const connectNativeUIShellTransition = (animation: Animation, entering: HTMLElement, leaving?: HTMLElement) => { + if (leaving) + animation.onFinish((step) => { + if (step === 0) leaving.dispatchEvent(new CustomEvent(FOLDABLE_TRANSITION_CANCELED, { bubbles: true, detail: { entering } })); + }); if (!runtimes.has(entering.ownerDocument)) return; const scopes = leaving ? [entering, leaving] : [entering]; const play = animation.play.bind(animation); @@ -52,7 +57,7 @@ export const connectNativeUIShellTransition = (animation: Animation, entering: H const progressStep = animation.progressStep.bind(animation); const progressEnd = animation.progressEnd.bind(animation); const destroy = animation.destroy.bind(animation); - let release: (() => void) | undefined; + let release: ((canceled?: boolean) => void) | undefined; let preparation: Promise | undefined; let disposed = false; let interactiveReady = false; @@ -60,15 +65,15 @@ export const connectNativeUIShellTransition = (animation: Animation, entering: H let end: Parameters | undefined; const prepare = () => (preparation ??= suspendNativeUIShell(scopes).then((resume) => { - if (disposed) resume(); + if (disposed) resume(true); else release = resume; })); - const finish = () => { - release?.(); + const finish = (canceled = false) => { + release?.(canceled); release = undefined; preparation = undefined; }; - animation.onFinish(finish); + animation.onFinish((step) => finish(step === 0)); animation.play = async (options) => { await prepare(); if (disposed) return; @@ -103,7 +108,7 @@ export const connectNativeUIShellTransition = (animation: Animation, entering: H }; animation.destroy = (...args) => { disposed = true; - finish(); + finish(true); return destroy(...args); }; }; diff --git a/src/native/components/index.ts b/src/native/components/index.ts index 2d414108..33a9cf52 100644 --- a/src/native/components/index.ts +++ b/src/native/components/index.ts @@ -5,7 +5,7 @@ import * as menuButton from './ion-menu-button'; import * as tabBar from './ion-tab-bar'; import * as segment from './ion-segment'; import * as fab from './ion-fab'; -import { isDisabledButtonGroupChild, visible } from '../shared/dom'; +import { isDisabledButtonGroupChild, isFoldableRailSource, visible } from '../shared/dom'; import type { Candidate, Identify } from '../shared/candidate'; // Static composition only. Each component declares its own tag, discovery and reader. @@ -27,13 +27,17 @@ export const motionSelector = [ ...components.filter((component) => 'tracksMotion' in component && component.tracksMotion).map((component) => component.tag), ].join(', '); +export const isFoldableRailCandidate = isFoldableRailSource; + export const readCandidate = (element: HTMLElement, id: Identify): Candidate | undefined => { - if (!element.classList.contains('ios') || !visible(element) || element.closest('ion-modal, ion-popover')) return; + const foldable = isFoldableRailCandidate(element); + if (!element.classList.contains('ios') || !visible(element, foldable) || element.closest('ion-modal, ion-popover')) return; const style = getComputedStyle(element); if ( !isDisabledButtonGroupChild(element) && !style.getPropertyValue('--ios-theme-glass-background-rgb').trim() && - !style.getPropertyValue('--ios26-glass-background-rgb').trim() + !style.getPropertyValue('--ios26-glass-background-rgb').trim() && + !foldable ) return; if (element.contains(element.ownerDocument.activeElement)) return; diff --git a/src/native/components/ion-button.ts b/src/native/components/ion-button.ts index 369bbc62..d81cd9eb 100644 --- a/src/native/components/ion-button.ts +++ b/src/native/components/ion-button.ts @@ -1,12 +1,23 @@ import { createCandidate, appendItem } from '../shared/candidate'; import type { Candidate, Identify } from '../shared/candidate'; -import { inFixedToolbar } from '../shared/dom'; +import { inFixedToolbar, isFoldableToolbarAction, isFoldableToolbarGroup } from '../shared/dom'; export const tag = 'ion-button'; export const read = (element: HTMLElement, id: Identify): Candidate | undefined => { const button = element as HTMLIonButtonElement; - if (!inFixedToolbar(element) || button.fill !== 'default' || button.classList.contains('ion-color')) return; + const foldable = + !element.closest('ion-menu, ion-modal, ion-popover') && !!element.closest(':is(ion-app, body).ios-theme-enable-foldable'); + if (foldable && element.parentElement && isFoldableToolbarGroup(element.parentElement)) return; + const fill = button.fill ?? 'default'; + if ( + !inFixedToolbar(element) || + (foldable && !isFoldableToolbarAction(element)) || + (!foldable && fill !== 'default') || + (foldable && !['default', 'clear'].includes(fill)) || + button.classList.contains('ion-color') + ) + return; const candidate = createCandidate(element, tag, id); return appendItem(candidate, element, id) ? candidate : undefined; }; diff --git a/src/native/components/ion-buttons.ts b/src/native/components/ion-buttons.ts index 0dd49d66..1912eea0 100644 --- a/src/native/components/ion-buttons.ts +++ b/src/native/components/ion-buttons.ts @@ -1,6 +1,6 @@ import { createCandidate, appendItem } from '../shared/candidate'; import type { Candidate, Identify } from '../shared/candidate'; -import { inFixedToolbar } from '../shared/dom'; +import { foldableToolbarActions, inFixedToolbar, isFoldableToolbarGroup } from '../shared/dom'; import * as menuButton from './ion-menu-button'; export const tag = 'ion-buttons'; @@ -8,18 +8,24 @@ export const tracksMotion = true; export const read = (element: HTMLElement, id: Identify): Candidate | undefined => { if (!inFixedToolbar(element)) return; - const children = Array.from(element.children) as HTMLElement[]; + let children = Array.from(element.children) as HTMLElement[]; if (children.length === 1) return menuButton.read(element, id); + const foldable = + !element.closest('ion-menu, ion-modal, ion-popover') && !!element.closest(':is(ion-app, body).ios-theme-enable-foldable'); + if (foldable && !isFoldableToolbarGroup(element)) return; + if (foldable) children = foldableToolbarActions(element); if ( !children.length || children.some( (child) => !child.matches(`${menuButton.tag}.ios`) && - (!child.matches('ion-button.ios.button-clear') || (child as HTMLIonButtonElement).fill !== 'clear'), + (!child.matches(`ion-button.ios${foldable ? '' : '.button-clear'}`) || + !(foldable ? ['default', 'clear'] : ['clear']).includes((child as HTMLIonButtonElement).fill ?? 'default')), ) ) return; const candidate = createCandidate(element, tag, id); + if (foldable && children.length !== element.children.length) candidate.sources = children; for (const child of children) { const supported = child.matches(menuButton.tag) ? menuButton.append(candidate, child as HTMLIonMenuButtonElement, id) diff --git a/src/native/components/ion-tab-bar.ts b/src/native/components/ion-tab-bar.ts index 79893e16..cf4ea438 100644 --- a/src/native/components/ion-tab-bar.ts +++ b/src/native/components/ion-tab-bar.ts @@ -7,11 +7,6 @@ export const tracksMotion = true; export const read = (element: HTMLElement, id: Identify): Candidate | undefined => { if (element.closest('ion-content')) return; - if ( - (element.closest('ion-app') ?? element.ownerDocument.body).classList.contains('ios-theme-enable-foldable') && - !element.closest('ion-menu, ion-modal, ion-popover') - ) - return; const children = Array.from(element.querySelectorAll(':scope > ion-tab-button:not(.ion-cloned-element)')); if (!children.length) return; // Only equal items with Ionic's default layout map to UIKit's adaptive tabs. diff --git a/src/native/definitions.ts b/src/native/definitions.ts index 1cd38532..0e6d2ce2 100644 --- a/src/native/definitions.ts +++ b/src/native/definitions.ts @@ -83,6 +83,10 @@ export interface ShellItem extends Frame { export interface ShellControl extends Frame { id: string; kind: NativeUIShellComponent; + /** Lets the native host own adaptive placement instead of mirroring the DOM frame. */ + placement?: 'foldable-rail'; + /** Logical Ionic toolbar slot, preserved when projecting to the foldable rail. */ + toolbarSlot?: 'start' | 'end'; items: ShellItem[]; dark: boolean; rtl: boolean; @@ -131,7 +135,7 @@ export interface WebViewMetrics { } export interface NativeUIShellPlugin { - configure(): Promise<{ supported: boolean }>; + configure(): Promise<{ supported: boolean; foldableRail?: boolean }>; getWebViewMetrics(): Promise; update(snapshot: ShellSnapshot): Promise<{ revision: number; rejectedSearches?: string[]; rejectedControls?: string[] }>; clear(options: { revision: number }): Promise; diff --git a/src/native/foldable-web.ts b/src/native/foldable-web.ts index e5336838..823ce9c2 100644 --- a/src/native/foldable-web.ts +++ b/src/native/foldable-web.ts @@ -1,5 +1,19 @@ import type { NativeUIShellHandle, NativeUIShellOptions, NativeUIShellStatus } from './definitions'; -import { isExcluded, isShellDisabled, marker, unprojected } from './shared/dom'; +import { FOLDABLE_TRANSITION_CANCELED } from '../native-integration'; +import { + activateProjectedElement, + createFoldablePageState, + foldableEnteringPage, + foldableToolbarActions, + isExcluded, + isFoldableToolbarGroup, + isShellDisabled, + marker, + prehideOnlyMutation, + prehiddenClass, + unprojected, + withoutPrehide, +} from './shared/dom'; const backProjectionClass = 'ios-theme-foldable-back-button-projection'; const toolbarProjectionClass = 'ios-theme-foldable-toolbar-projection'; @@ -36,6 +50,7 @@ export const createFoldableWebProjection = (doc: Document, options: NativeUIShel let frame = 0; let updates = 0; let observingFoldable = false; + const foldablePages = createFoldablePageState(); let sourceObserver: MutationObserver | undefined; let waiters: (() => void)[] = []; const listeners = new AbortController(); @@ -44,11 +59,12 @@ export const createFoldableWebProjection = (doc: Document, options: NativeUIShel [backSource, ...toolbarProjections.flatMap(({ actions }) => actions.map(({ source }) => source))].filter( (source): source is HTMLElement => !!source, ); - const isRendered = (element: HTMLElement) => { - const style = getComputedStyle(element); - const rect = element.getBoundingClientRect(); - return element.isConnected && style.display !== 'none' && style.visibility === 'visible' && rect.width > 0 && rect.height > 0; - }; + const isRendered = (element: HTMLElement) => + withoutPrehide(element, () => { + const style = getComputedStyle(element); + const rect = element.getBoundingClientRect(); + return element.isConnected && style.display !== 'none' && style.visibility === 'visible' && rect.width > 0 && rect.height > 0; + }); const inEligibleToolbar = (element: HTMLElement) => { const currentRoot = foldableRoot(); const toolbar = element.closest('ion-toolbar'); @@ -60,20 +76,14 @@ export const createFoldableWebProjection = (doc: Document, options: NativeUIShel !!edge?.matches('ion-header, ion-footer') && !element.closest('ion-content') && !edge.hasAttribute('collapse') && - !isExcluded(element) && + !isExcluded(element, foldableEnteringPage(element)) && !isShellDisabled(element) && - !element.closest('ion-menu, ion-modal, ion-popover, .ion-page-hidden, .ion-page-invisible') + !foldablePages.isDeparted(element) && + !element.closest('ion-menu, ion-modal, ion-popover, .ion-page-hidden') ); }; const isEligibleBack = (element: HTMLIonBackButtonElement) => inEligibleToolbar(element) && unprojected(projectedSources(), () => isRendered(element)); - const isToolbarAction = (element: HTMLElement) => { - if (!element.matches('ion-button.ios, ion-menu-button.ios') || isExcluded(element) || isShellDisabled(element)) return false; - if (element.matches('ion-menu-button')) return true; - return !!element.querySelector('ion-icon, svg'); - }; - const toolbarActions = (element: HTMLIonButtonsElement) => - Array.from(element.children).filter((child): child is HTMLElement => child instanceof HTMLElement && isToolbarAction(child)); const pageOrder = (element: Element) => Array.from(doc.querySelectorAll('.ion-page')).indexOf(element.closest('.ion-page')!); const findBack = () => { const candidates = Array.from(doc.querySelectorAll(`ion-back-button:not(.${backProjectionClass})`)).filter( @@ -88,10 +98,9 @@ export const createFoldableWebProjection = (doc: Document, options: NativeUIShel const findToolbarGroups = () => { const candidates = Array.from(doc.querySelectorAll(`ion-buttons.ios:not(.${toolbarProjectionClass})`)).flatMap( (group): ToolbarSource[] => { - const actions = toolbarActions(group).filter((action) => unprojected(projectedSources(), () => isRendered(action))); + const actions = foldableToolbarActions(group).filter((action) => unprojected(projectedSources(), () => isRendered(action))); if (!actions.length) return []; - if (group.matches('.ionic-theme-disabled, .ios-theme-disabled, .ios26-disabled')) - return actions.filter(inEligibleToolbar).map((action) => ({ group, actions: [action] })); + if (!isFoldableToolbarGroup(group)) return actions.filter(inEligibleToolbar).map((action) => ({ group, actions: [action] })); return inEligibleToolbar(group) && unprojected(projectedSources(), () => isRendered(group)) ? [{ group, actions }] : []; }, ); @@ -131,6 +140,7 @@ export const createFoldableWebProjection = (doc: Document, options: NativeUIShel if (!['class', marker].includes(attribute.name) && !original.hasAttribute(attribute.name)) target.removeAttribute(attribute.name); for (const attribute of Array.from(original.attributes)) if (!['id', 'slot', marker, 'aria-hidden'].includes(attribute.name)) target.setAttribute(attribute.name, attribute.value); + target.classList.remove(prehiddenClass); }; const syncBack = (target: HTMLIonBackButtonElement, original: HTMLIonBackButtonElement) => { copyAttributes(target, original); @@ -191,7 +201,7 @@ export const createFoldableWebProjection = (doc: Document, options: NativeUIShel (event) => { event.preventDefault(); event.stopImmediatePropagation(); - if (backSource && backSource === findBack()) backSource.click(); + if (backSource && backSource === findBack()) activateProjectedElement(backSource); }, { capture: true }, ); @@ -215,7 +225,7 @@ export const createFoldableWebProjection = (doc: Document, options: NativeUIShel (event) => { event.preventDefault(); event.stopImmediatePropagation(); - if (isCurrentToolbarAction(source)) source.click(); + if (isCurrentToolbarAction(source)) activateProjectedElement(source); }, { capture: true }, ); @@ -231,9 +241,19 @@ export const createFoldableWebProjection = (doc: Document, options: NativeUIShel topOffset += actions.length * toolbarControlSize + toolbarControlGap; } if (nextBack || toolbarProjections.length) root.classList.add(readyClass); - sourceObserver = new MutationObserver(schedule); - if (nextBack?.shadowRoot) sourceObserver.observe(nextBack.shadowRoot, { subtree: true, childList: true, attributes: true }); - for (const { group } of groups) sourceObserver.observe(group, { subtree: true, childList: true, attributes: true }); + sourceObserver = new MutationObserver((records) => { + if ( + records.some( + (record) => + record.type !== 'attributes' || (![marker, 'aria-hidden'].includes(record.attributeName ?? '') && !prehideOnlyMutation(record)), + ) + ) + schedule(); + }); + if (nextBack?.shadowRoot) + sourceObserver.observe(nextBack.shadowRoot, { subtree: true, childList: true, attributes: true, attributeOldValue: true }); + for (const { group } of groups) + sourceObserver.observe(group, { subtree: true, childList: true, attributes: true, attributeOldValue: true }); }; const performUpdate = () => { frame = 0; @@ -245,6 +265,7 @@ export const createFoldableWebProjection = (doc: Document, options: NativeUIShel subtree: true, childList: true, attributes: true, + attributeOldValue: true, attributeFilter: observingFoldable ? undefined : ['class'], }); } @@ -293,13 +314,32 @@ export const createFoldableWebProjection = (doc: Document, options: NativeUIShel )), ); if ( - (observingFoldable && records.some((record) => record.attributeName !== marker && !insideProjection(record.target))) || - (!observingFoldable && foldableChanged) + (observingFoldable && + records.some((record) => record.attributeName !== marker && !prehideOnlyMutation(record) && !insideProjection(record.target))) || + (!observingFoldable && foldableChanged && records.some((record) => !prehideOnlyMutation(record))) ) schedule(); }); - observer.observe(doc.documentElement, { subtree: true, childList: true, attributes: true, attributeFilter: ['class'] }); - for (const name of ['ionViewDidEnter', 'ionViewDidLeave', 'ionModalWillPresent', 'ionModalDidDismiss']) + observer.observe(doc.documentElement, { + subtree: true, + childList: true, + attributes: true, + attributeOldValue: true, + attributeFilter: ['class'], + }); + const pageLifecycle = (event: Event) => { + const page = event.target; + if (!(page instanceof HTMLElement) || !page.matches('.ion-page')) return; + if (event.type === FOLDABLE_TRANSITION_CANCELED) { + const entering = (event as CustomEvent<{ entering?: HTMLElement }>).detail?.entering; + foldablePages.cancel(entering, page); + } else foldablePages.lifecycle(event); + if (foldableRoot()) schedule(); + }; + for (const name of ['ionViewWillEnter', 'ionViewWillLeave', 'ionViewDidEnter', 'ionViewDidLeave']) + doc.addEventListener(name, pageLifecycle, { capture: true, signal: listeners.signal }); + doc.addEventListener(FOLDABLE_TRANSITION_CANCELED, pageLifecycle, { capture: true, signal: listeners.signal }); + for (const name of ['ionModalWillPresent', 'ionModalDidDismiss']) doc.addEventListener(name, schedule, { capture: true, signal: listeners.signal }); if (options.controls === undefined || options.controls.toolbar === true) schedule(); diff --git a/src/native/index.ts b/src/native/index.ts index 5fb9cfb7..e030ee80 100644 --- a/src/native/index.ts +++ b/src/native/index.ts @@ -4,6 +4,7 @@ import type { NativeUIShellHandle, NativeUIShellOptions, NativeUIShellPlugin, We import { bindMetricsLifecycle } from './lifecycle'; import { createRuntime } from './runtime'; import { createFoldableWebProjection } from './foldable-web'; +import { prehideFoldableToolbarSources } from './prehide'; export type { NativeUIShellComponent, NativeUIShellControls, @@ -22,6 +23,27 @@ const web = (reason: string): NativeUIShellHandle => ({ destroy: async () => {}, }); +const combine = (native: NativeUIShellHandle, fallback: NativeUIShellHandle): NativeUIShellHandle => ({ + getStatus() { + const nativeStatus = native.getStatus(); + const fallbackStatus = fallback.getStatus(); + return { + ...nativeStatus, + state: + nativeStatus.state === 'stopped' && fallbackStatus.state === 'stopped' ? 'stopped' : nativeStatus.projected > 0 ? 'native' : 'web', + projected: nativeStatus.projected + fallbackStatus.projected, + updates: nativeStatus.updates + fallbackStatus.updates, + }; + }, + async suspend() { + const [nativeLease, fallbackLease] = await Promise.all([native.suspend(), fallback.suspend()]); + return { resume: async () => void (await Promise.all([nativeLease.resume(), fallbackLease.resume()])) }; + }, + async destroy() { + await Promise.all([native.destroy(), fallback.destroy()]); + }, +}); + /** Reads the current native WebView geometry and applies it to page transitions. */ export const configureNativeTransition = async (): Promise => { const metrics = typeof document !== 'undefined' && Capacitor.getPlatform() === 'ios' ? await plugin.getWebViewMetrics() : { radius: 0 }; @@ -42,49 +64,51 @@ export const enableNativeUIShell = (options: NativeUIShellOptions = {}): Promise : Promise.resolve(web('Disabled')); } if (typeof document === 'undefined') return Promise.resolve(web('Requires a document')); + const stopPrehide = + !active && (options.controls === undefined || options.controls.toolbar === true) ? prehideFoldableToolbarSources(document) : undefined; return (active ??= (async () => { - const foldableWeb = createFoldableWebProjection(document, options); - if (Capacitor.getPlatform() !== 'ios') return resetOnDestroy(withReason(foldableWeb, 'Requires Capacitor iOS')); + if (Capacitor.getPlatform() !== 'ios') + return resetOnDestroy(withReason(createFoldableWebProjection(document, options), 'Requires Capacitor iOS'), stopPrehide); let runtime: NativeUIShellHandle | undefined; try { await configureNativeTransition().catch(() => undefined); - if (!(await plugin.configure()).supported) { - return resetOnDestroy(withReason(foldableWeb, 'Requires iOS 26 or later')); + const capabilities = await plugin.configure(); + if (!capabilities.supported) { + return resetOnDestroy(withReason(createFoldableWebProjection(document, options), 'Requires iOS 26 or later'), stopPrehide); } - runtime = await createRuntime(document, plugin, options); + runtime = await createRuntime(document, plugin, options, capabilities.foldableRail === true); + if (capabilities.foldableRail !== true) runtime = combine(runtime, createFoldableWebProjection(document, options)); runtime = await bindMetricsLifecycle( runtime, () => plugin.addListener('webViewMetricsChange', (metrics) => setConfig({ radius: metrics.radius })), () => (active = undefined), ); - return resetOnDestroy(combine(runtime, foldableWeb)); + return resetOnDestroy(runtime, stopPrehide); } catch (error) { await runtime?.destroy(); - return resetOnDestroy(withReason(foldableWeb, error instanceof Error ? error.message : String(error))); + return resetOnDestroy( + withReason(createFoldableWebProjection(document, options), error instanceof Error ? error.message : String(error)), + stopPrehide, + ); } })()); }; -const combine = (native: NativeUIShellHandle, foldableWeb: NativeUIShellHandle): NativeUIShellHandle => ({ - getStatus: () => { - const nativeStatus = native.getStatus(); - const webStatus = foldableWeb.getStatus(); - return { ...nativeStatus, projected: nativeStatus.projected + webStatus.projected }; - }, +const resetOnDestroy = (handle: NativeUIShellHandle, prehide?: ReturnType): NativeUIShellHandle => ({ + getStatus: handle.getStatus, async suspend() { - const [nativeLease, webLease] = await Promise.all([native.suspend(), foldableWeb.suspend()]); - return { resume: async () => void (await Promise.all([nativeLease.resume(), webLease.resume()])) }; - }, - async destroy() { - await Promise.all([native.destroy(), foldableWeb.destroy()]); + const lease = await handle.suspend(); + const resumePrehide = prehide?.suspend(); + return { + async resume() { + await lease.resume(); + resumePrehide?.(); + }, + }; }, -}); - -const resetOnDestroy = (handle: NativeUIShellHandle): NativeUIShellHandle => ({ - getStatus: handle.getStatus, - suspend: handle.suspend, async destroy() { await handle.destroy(); + prehide?.stop(); active = undefined; }, }); diff --git a/src/native/prehide.ts b/src/native/prehide.ts new file mode 100644 index 00000000..0687079b --- /dev/null +++ b/src/native/prehide.ts @@ -0,0 +1,220 @@ +import { LIFECYCLE_DID_LEAVE, LIFECYCLE_WILL_ENTER } from '@ionic/core'; +import { + clearFoldablePlacement, + foldableBackWebClass, + foldableRailOwned, + inFixedToolbar, + isFoldableToolbarActionShape, + isPermanentlyExcluded, + isShellDisabled, + prehiddenClass, + prehideRootClass, + rejectedClass, + setFoldablePlacement, +} from './shared/dom'; + +const overlays = 'ion-menu, ion-modal, ion-popover'; +const sourceSelector = 'ion-back-button, ion-menu-button, ion-buttons, ion-button'; +const backSupported = (element: HTMLElement): boolean => { + const back = element as HTMLIonBackButtonElement; + return back.icon === undefined && back.color === undefined && !!back.shadowRoot; +}; +const eligible = (element: HTMLElement): boolean => + inFixedToolbar(element) && !isPermanentlyExcluded(element) && !isShellDisabled(element) && !element.closest(overlays); + +/** Capture toolbar placement once per routed-page epoch, before Ionic paints its transition. */ +export const prehideFoldableToolbarSources = (doc: Document): { suspend: () => () => void; stop: () => void } => { + doc.documentElement.classList.add(prehideRootClass); + const scopes = new Map>(); + const pendingBacks = new Map }>(); + const listeners = new AbortController(); + const root = () => doc.querySelector(':is(ion-app, body).ios-theme-enable-foldable'); + let suspended = 0; + let stopped = false; + const routedPage = (element: HTMLElement) => element.closest('.ion-page:not(ion-app, body)'); + const release = (scope: HTMLElement) => { + for (const [element, pending] of pendingBacks) { + if (pending.scope !== scope) continue; + clearTimeout(pending.timer); + pendingBacks.delete(element); + } + const owned = scopes.get(scope); + if (!owned) return; + owned.forEach((element) => { + element.classList.remove(prehiddenClass); + element.classList.remove(foldableBackWebClass); + clearFoldablePlacement(element); + }); + scopes.delete(scope); + }; + const capture = (scope: HTMLElement) => { + if (!root()?.contains(scope) || scope.closest(overlays)) return; + const owned = scopes.get(scope) ?? new Set(); + const place = (element: HTMLElement, rail: boolean) => { + if (owned.has(element)) return; + setFoldablePlacement(element, rail); + if (element.matches('ion-back-button')) element.classList.toggle(foldableBackWebClass, !rail); + owned.add(element); + }; + scope.querySelectorAll(sourceSelector).forEach((element) => { + if (element.closest(overlays) || (scope.matches('.ion-page') && routedPage(element) !== scope)) return; + if (element.matches('ion-buttons')) { + const children = Array.from(element.children).filter((child): child is HTMLElement => child instanceof HTMLElement); + const actions = children.filter((child) => eligible(child) && isFoldableToolbarActionShape(child)); + const group = + eligible(element) && + actions.length === children.length && + (actions.length > 1 || (actions.length === 1 && actions[0].matches('ion-menu-button'))); + const freshGroup = !owned.has(element); + place(element, group); + children.forEach((child) => { + if (!child.matches('ion-back-button')) place(child, freshGroup && actions.includes(child)); + }); + } else if (element.matches('ion-back-button') || !element.parentElement?.matches('ion-buttons')) { + if (owned.has(element)) return; + if ( + element.matches('ion-back-button') && + eligible(element) && + (element as HTMLIonBackButtonElement).icon === undefined && + (element as HTMLIonBackButtonElement).color === undefined && + !element.shadowRoot && + !element.classList.contains('hydrated') + ) { + if (!pendingBacks.has(element)) { + const timer = setTimeout(() => { + if (pendingBacks.get(element)?.scope !== scope) return; + pendingBacks.delete(element); + // A custom element that never hydrates must remain usable on Web. + place(element, false); + reconcile(); + }, 1500); + pendingBacks.set(element, { scope, timer }); + } + return; + } + const pending = pendingBacks.get(element); + if (pending) { + clearTimeout(pending.timer); + pendingBacks.delete(element); + } + place( + element, + eligible(element) && (element.matches('ion-back-button') ? backSupported(element) : isFoldableToolbarActionShape(element)), + ); + } + }); + scopes.set(scope, owned); + }; + const reconcile = () => { + const foldable = root(); + if (!foldable) { + Array.from(scopes.keys()).forEach(release); + return; + } + for (const scope of scopes.keys()) if (!scope.isConnected) release(scope); + for (const [element, pending] of pendingBacks) if (element.shadowRoot || element.classList.contains('hydrated')) capture(pending.scope); + // Ionic inserts the destination as invisible before WillEnter. Hide its + // sources in that same mutation microtask; capture new DOM identities on active pages too. + foldable.querySelectorAll('.ion-page:not(ion-app, body, .ion-page-hidden)').forEach(capture); + // Root toolbars can mount after startup; each new DOM identity is captured once. + foldable.querySelectorAll(sourceSelector).forEach((element) => { + if (routedPage(element) || element.closest(overlays)) return; + const scope = element.closest('ion-toolbar'); + if (scope) capture(scope); + }); + for (const owned of scopes.values()) { + for (const element of owned) { + const groupOwnsChildren = + element.parentElement?.matches('ion-buttons') && + foldableRailOwned(element.parentElement) && + Array.from(element.parentElement.children).every((child) => child instanceof HTMLElement && foldableRailOwned(child)); + const hide = + !suspended && + foldableRailOwned(element) && + !groupOwnsChildren && + element.isConnected && + !element.closest(`.${rejectedClass}`) && + !isPermanentlyExcluded(element) && + !isShellDisabled(element) && + (!element.matches('ion-back-button') || backSupported(element) || !element.classList.contains('hydrated')) && + (!element.matches('ion-buttons') || + Array.from(element.children).every((child) => child instanceof HTMLElement && foldableRailOwned(child))); + element.classList.toggle(prehiddenClass, hide); + if (element.matches('ion-back-button')) element.classList.toggle(foldableBackWebClass, !hide); + } + } + }; + const onWillEnter = (event: Event) => { + const page = event.target; + if (page instanceof HTMLElement && page.matches('.ion-page')) { + release(page); // Cached pages begin a new placement epoch. + capture(page); + reconcile(); + } + }; + const onDidLeave = (event: Event) => { + const page = event.target; + if (page instanceof HTMLElement) release(page); + }; + doc.addEventListener(LIFECYCLE_WILL_ENTER, onWillEnter, { capture: true, signal: listeners.signal }); + doc.addEventListener(LIFECYCLE_DID_LEAVE, onDidLeave, { capture: true, signal: listeners.signal }); + reconcile(); + const mutationRelevant = (record: MutationRecord) => { + if (record.type === 'childList') + return [...Array.from(record.addedNodes), ...Array.from(record.removedNodes)].some( + (node) => + node instanceof Element && + (node.matches(`${sourceSelector}, .ion-page, ion-toolbar`) || !!node.querySelector(`${sourceSelector}, .ion-page, ion-toolbar`)), + ); + if (record.attributeName !== 'class') return true; + const current = (record.target as Element).className; + const previous = record.oldValue ?? ''; + const withoutOwned = (value: string) => + value + .split(/\s+/) + .filter((name) => name && ![prehiddenClass, prehideRootClass, foldableBackWebClass].includes(name)) + .join(' '); + return typeof current !== 'string' || withoutOwned(previous) !== withoutOwned(current); + }; + let scheduled = false; + const observer = new (doc.defaultView?.MutationObserver ?? MutationObserver)((records) => { + if (scheduled || !records.some(mutationRelevant)) return; + scheduled = true; + queueMicrotask(() => { + scheduled = false; + reconcile(); + }); + }); + observer.observe(doc.documentElement, { + subtree: true, + childList: true, + attributes: true, + attributeOldValue: true, + attributeFilter: ['class', 'hidden', 'inert', 'icon', 'color'], + }); + return { + suspend: () => { + if (stopped) return () => {}; + suspended++; + doc.documentElement.classList.remove(prehideRootClass); + reconcile(); + let resumed = false; + return () => { + if (resumed || stopped) return; + resumed = true; + if (--suspended === 0) { + doc.documentElement.classList.add(prehideRootClass); + reconcile(); + } + }; + }, + stop: () => { + if (stopped) return; + stopped = true; + observer.disconnect(); + listeners.abort(); + doc.documentElement.classList.remove(prehideRootClass); + Array.from(scopes.keys()).forEach(release); + }, + }; +}; diff --git a/src/native/runtime.ts b/src/native/runtime.ts index 4955d114..61c205dc 100644 --- a/src/native/runtime.ts +++ b/src/native/runtime.ts @@ -1,6 +1,6 @@ import type { PluginListenerHandle } from '@capacitor/core'; import { LIFECYCLE_WILL_ENTER, LIFECYCLE_WILL_LEAVE, LIFECYCLE_DID_ENTER, LIFECYCLE_DID_LEAVE } from '@ionic/core'; -import { getNativeSearchBindings, setNativeUIShellIntegration } from '../native-integration'; +import { FOLDABLE_TRANSITION_CANCELED, getNativeSearchBindings, setNativeUIShellIntegration } from '../native-integration'; import { createSearchSupport } from './components/searchable-tabs'; import type { ShellActivation, @@ -10,8 +10,16 @@ import type { NativeUIShellPlugin, NativeUIShellStatus, } from './definitions'; -import { readCandidate, selector, shadowSelector, motionSelector } from './components'; -import { marker, unprojected } from './shared/dom'; +import { readCandidate, selector, shadowSelector, motionSelector, isFoldableRailCandidate } from './components'; +import { + activateProjectedElement, + createFoldablePageState, + isFoldableRailSource, + marker, + prehideOnlyMutation, + rejectedClass, + unprojected, +} from './shared/dom'; import { createIconRenderer } from './shared/icons'; import type { Candidate } from './shared/candidate'; import { CSS_MOTION_EVENTS } from './shared/events'; @@ -19,6 +27,8 @@ import { createCrossfade, fadeMarker } from './shared/crossfade'; const overlays = 'ion-modal, ion-popover, ion-alert, ion-action-sheet, ion-loading, ion-picker, ion-toast, ion-menu'; const overlayNames = ['Modal', 'Popover', 'Alert', 'ActionSheet', 'Loading', 'Picker', 'Toast']; +const foldableRailMarker = 'data-native-ui-shell-foldable-rail'; +const foldableRailMemberMarker = 'data-native-ui-shell-foldable-rail-member'; // A failed bridge must not leave the source inaccessible indefinitely. const bounded = (promise: Promise): Promise => @@ -31,6 +41,7 @@ export const createRuntime = async ( doc: Document, plugin: NativeUIShellPlugin, options: NativeUIShellOptions = {}, + nativeFoldableRail = true, ): Promise => { const win = doc.defaultView!; const icons = createIconRenderer(); @@ -38,8 +49,11 @@ export const createRuntime = async ( const ids = new WeakMap(); let rejected = new WeakMap(); const sources = new Map(); + const foldableRailOwners = new Set(); + const foldableRailMembers = new Set(); const suspended = new Set(); const pages = new Set(); + const foldablePages = createFoldablePageState(); const presented = new Set(); const manualSuspensions = new Set(); const moving = new Map>(); @@ -95,13 +109,22 @@ export const createRuntime = async ( const style = doc.createElement('style'); const hidden = `[${marker}]:not([${fadeMarker}])`; style.textContent = `${hidden}, ${hidden} *, ${hidden}::before, ${hidden}::after, ${hidden}::part(native) { visibility: hidden !important; } - [${marker}], [${marker}] * { pointer-events: none !important; }`; + [${marker}], [${marker}] * { pointer-events: none !important; } + /* Ionic disables the covered page while a menu is open. Foldable rail + controls remain outside that page; zero specificity preserves any + pointer-events rule supplied by the application itself. */ + :where(.menu-content-open) :where([${foldableRailMarker}]) { + pointer-events: auto; + } + :where(.menu-content-open) :where([${foldableRailMarker}]) > :where(:not([${foldableRailMemberMarker}])) { + pointer-events: none; + }`; const restore = (element: HTMLElement) => { lastSnapshot = ''; search.release(element); element.removeAttribute(marker); - if (!stopped) crossfade.play(element, false, handoffInstant); + if (!stopped) crossfade.play(element, false, handoffInstant || isFoldableRailSource(element)); if (element.getAttribute('aria-hidden') === 'true') { const previous = sources.get(element); if (previous == null) element.removeAttribute('aria-hidden'); @@ -110,7 +133,13 @@ export const createRuntime = async ( sources.delete(element); element.dispatchEvent(new CustomEvent('nativeUIShellChange')); }; - const restoreAll = () => Array.from(sources.keys()).forEach(restore); + const restoreAll = () => { + Array.from(sources.keys()).forEach(restore); + foldableRailOwners.forEach((element) => element.removeAttribute(foldableRailMarker)); + foldableRailOwners.clear(); + foldableRailMembers.forEach((element) => element.removeAttribute(foldableRailMemberMarker)); + foldableRailMembers.clear(); + }; const finishWaiters = () => { const current = waiters; waiters = []; @@ -123,14 +152,36 @@ export const createRuntime = async ( }; const search = createSearchSupport(doc, id, schedule); const candidateSources = (candidate: Candidate) => candidate.sources ?? [candidate.element]; + const setRejected = (element: HTMLElement, value: boolean) => { + element.classList.toggle(rejectedClass, value); + }; + const measuringPointerPages = new WeakSet(); const readEnabledCandidate = (element: HTMLElement): Candidate | undefined => { - const candidate = readCandidate(element, id); - if ( - candidate && - ['ion-back-button', 'ion-buttons', 'ion-menu-button'].includes(candidate.control.kind) && - element.closest(':is(ion-app, body).ios-theme-enable-foldable') - ) - return undefined; + const pointerPage = isFoldableRailCandidate(element) ? element.closest('.ion-page') : undefined; + let candidate: Candidate | undefined; + if (pointerPage && getComputedStyle(pointerPage).pointerEvents === 'none') { + const previous = pointerPage.style.getPropertyValue('pointer-events'); + const priority = pointerPage.style.getPropertyPriority('pointer-events'); + const hadStyle = pointerPage.hasAttribute('style'); + measuringPointerPages.add(pointerPage); + pointerPage.style.setProperty('pointer-events', 'auto', 'important'); + try { + candidate = readCandidate(element, id); + } finally { + if (previous) pointerPage.style.setProperty('pointer-events', previous, priority); + else pointerPage.style.removeProperty('pointer-events'); + if (!hadStyle && !pointerPage.style.length) pointerPage.removeAttribute('style'); + win.setTimeout(() => measuringPointerPages.delete(pointerPage), 0); + } + } else candidate = readCandidate(element, id); + if (candidate && isFoldableRailCandidate(element)) { + if (!nativeFoldableRail) return undefined; + candidate.control.placement = 'foldable-rail'; + if (['ion-button', 'ion-buttons', 'ion-menu-button'].includes(candidate.control.kind)) { + const slot = (element.matches('ion-buttons') ? element : (element.closest('ion-buttons') ?? element)).getAttribute('slot'); + if (slot === 'start' || slot === 'end') candidate.control.toolbarSlot = slot; + } + } return candidate && controlEnabled(candidate) ? candidate : undefined; }; const flush = async () => { @@ -143,17 +194,22 @@ export const createRuntime = async ( } }; const blocked = (element: HTMLElement) => - Array.from(suspended).some((scopes) => scopes.some((scope) => scope.contains(element))) || - Array.from(pages).some((page) => page.contains(element)) || - Array.from(moving.keys()).some((surface) => surface.contains(element)); + foldablePages.isDeparted(element) || + (!isFoldableRailSource(element) && + (Array.from(suspended).some((scopes) => scopes.some((scope) => scope.contains(element))) || + Array.from(pages).some((scope) => scope.contains(element)) || + Array.from(moving.keys()).some((surface) => surface.contains(element)))); const painted = () => new Promise((resolve) => win.requestAnimationFrame(() => win.requestAnimationFrame(() => resolve()))); - const overlayOpen = () => { + const overlayOpen = (includeMenu = true) => { for (const element of presented) if (!element.isConnected) presented.delete(element); + const presentedOverlayOpen = Array.from(presented).some((element) => includeMenu || !element.matches('ion-menu')); return ( manualSuspensions.size > 0 || - presented.size > 0 || + presentedOverlayOpen || Array.from(doc.querySelectorAll(overlays)).some( - (element) => (element as Element & { presented?: boolean }).presented || element.classList.contains('show-menu'), + (element) => + (includeMenu || !element.matches('ion-menu')) && + ((element as Element & { presented?: boolean }).presented || element.classList.contains('show-menu')), ) ); }; @@ -164,19 +220,21 @@ export const createRuntime = async ( search.keepSearchTabsVisible(); for (const page of pages) if (!page.isConnected) pages.delete(page); for (const surface of moving.keys()) if (!surface.isConnected) moving.delete(surface); - if (doc.hidden || overlayOpen()) return []; + if (doc.hidden || overlayOpen(false)) return []; if (win.visualViewport && (win.visualViewport.scale !== 1 || win.visualViewport.offsetTop !== 0) && !search.hasActive()) return []; - return unprojected(sources.keys(), () => + const menuOpen = overlayOpen(); + const candidates = unprojected(sources.keys(), () => search .decorate( Array.from(doc.querySelectorAll(selector)) - .filter((element) => !blocked(element)) + .filter((element) => !foldablePages.isDeparted(element) && (!blocked(element) || (menuOpen && isFoldableRailSource(element)))) .map(readEnabledCandidate) .filter((candidate): candidate is Candidate => !!candidate), blocked, ) .filter((candidate) => !rejected.has(candidate.element) || rejected.get(candidate.element) !== signature(candidate)), ); + return menuOpen ? candidates.filter((candidate) => isFoldableRailCandidate(candidate.element)) : candidates; }; const observe = () => { const wanted = new Set(); @@ -245,7 +303,7 @@ export const createRuntime = async ( removed.forEach(restore); // The outgoing tab is no longer visible, so waiting two frames only leaves its // native snapshot over the destination. Stack transitions still need the paint. - if (!handoffInstant) { + if (!handoffInstant && removed.some((element) => !isFoldableRailSource(element))) { await painted(); if (stopped || dirty) return; } @@ -274,6 +332,7 @@ export const createRuntime = async ( for (const candidate of candidates) { if (result.rejectedControls?.includes(candidate.control.id)) { rejected.set(candidate.element, signatures.get(candidate.element)!); + setRejected(candidate.element, true); dirty = true; } } @@ -282,6 +341,15 @@ export const createRuntime = async ( const current = dirty ? new Map(currentCandidates.map((candidate) => [candidate.element, signature(candidate)])) : signatures; const currentSources = new Set(currentCandidates.flatMap(candidateSources)); const accepted = candidates.filter((candidate) => current.get(candidate.element) === signatures.get(candidate.element)); + accepted.forEach((candidate) => setRejected(candidate.element, false)); + const acceptedFoldableRailOwners = new Set( + accepted.filter((candidate) => candidate.control.placement === 'foldable-rail').map((candidate) => candidate.element), + ); + const acceptedFoldableRailMembers = new Set( + accepted + .filter((candidate) => candidate.control.placement === 'foldable-rail') + .flatMap((candidate) => Array.from(candidate.actions.values())), + ); const invalidated = candidates.length !== accepted.length; acceptedRevision = result.revision; lastSnapshot = invalidated ? '' : serialized; @@ -291,10 +359,28 @@ export const createRuntime = async ( // Keep an existing cover while its content catches up. Only an ineligible // source needs to return to Web; new sources still require an exact ack. for (const element of sources.keys()) if (!currentSources.has(element)) restore(element); + for (const element of foldableRailOwners) { + if (acceptedFoldableRailOwners.has(element)) continue; + element.removeAttribute(foldableRailMarker); + foldableRailOwners.delete(element); + } + for (const element of acceptedFoldableRailOwners) { + element.setAttribute(foldableRailMarker, ''); + foldableRailOwners.add(element); + } + for (const element of foldableRailMembers) { + if (acceptedFoldableRailMembers.has(element)) continue; + element.removeAttribute(foldableRailMemberMarker); + foldableRailMembers.delete(element); + } + for (const element of acceptedFoldableRailMembers) { + element.setAttribute(foldableRailMemberMarker, ''); + foldableRailMembers.add(element); + } for (const element of accepted.flatMap(candidateSources)) { if (!sources.has(element)) { sources.set(element, element.getAttribute('aria-hidden')); - crossfade.play(element, true, handoffInstant); + crossfade.play(element, true, handoffInstant || isFoldableRailSource(element)); element.setAttribute(marker, ''); element.setAttribute('aria-hidden', 'true'); element.dispatchEvent(new CustomEvent('nativeUIShellChange')); @@ -326,13 +412,21 @@ export const createRuntime = async ( else finishWaiters(); } }; - const observation: MutationObserverInit = { subtree: true, childList: true, characterData: true, attributes: true }; + const observation: MutationObserverInit = { + subtree: true, + childList: true, + characterData: true, + attributes: true, + attributeOldValue: true, + }; const observer = new MutationObserver((records) => { if ( records.some( (record) => record.attributeName !== marker && record.attributeName !== fadeMarker && + !prehideOnlyMutation(record) && + !(record.attributeName === 'style' && measuringPointerPages.has(record.target as HTMLElement)) && !( record.attributeName === 'aria-hidden' && sources.has(record.target as HTMLElement) && @@ -347,6 +441,7 @@ export const createRuntime = async ( target.addEventListener(name, callback, { capture: true, signal: listeners.signal }); const pageWill: EventListener = (event) => { const page = event.target as HTMLElement; + foldablePages.lifecycle(event); getNativeSearchBindings(doc) .filter((binding) => page.contains(binding.footer)) .forEach((binding) => search.retire(binding)); @@ -357,7 +452,9 @@ export const createRuntime = async ( schedule(); }; const pageDid: EventListener = (event) => { - pages.delete(event.target as HTMLElement); + const page = event.target as HTMLElement; + foldablePages.lifecycle(event); + pages.delete(page); schedule(); if (tabSwitchHandoff && pages.size === 0) endTabSwitchHandoff(); }; @@ -417,6 +514,14 @@ export const createRuntime = async ( for (const name of Object.values(CSS_MOTION_EVENTS)) on(doc, name, motion); for (const name of [LIFECYCLE_WILL_ENTER, LIFECYCLE_WILL_LEAVE]) on(doc, name, pageWill); for (const name of [LIFECYCLE_DID_ENTER, LIFECYCLE_DID_LEAVE]) on(doc, name, pageDid); + on(doc, FOLDABLE_TRANSITION_CANCELED, (event) => { + const leaving = event.target as HTMLElement; + const entering = (event as CustomEvent<{ entering?: HTMLElement }>).detail?.entering; + foldablePages.cancel(entering, leaving); + pages.delete(leaving); + if (entering) pages.delete(entering); + schedule(); + }); on(doc, 'ionTabsWillChange', () => { // Vanilla ion-tabs dispatches DOM events; @ionic/angular uses EventEmitters instead. armTabSwitchHandoff(); @@ -439,12 +544,16 @@ export const createRuntime = async ( schedule(); }); } + const eventMenu = (event: Event) => + event.composedPath().find((target): target is HTMLElement => target instanceof HTMLElement && target.matches('ion-menu')); on(doc, 'ionWillOpen', (event) => { - presented.add(event.target as HTMLElement); + const menu = eventMenu(event); + if (menu) presented.add(menu); schedule(); }); on(doc, 'ionDidClose', (event) => { - presented.delete(event.target as HTMLElement); + const menu = eventMenu(event); + if (menu) presented.delete(menu); schedule(); }); for (const name of [ @@ -522,6 +631,7 @@ export const createRuntime = async ( /* Always restore the Web, even after bridge loss. */ } style.remove(); + doc.querySelectorAll(`.${rejectedClass}`).forEach((element) => setRejected(element, false)); icons.clear(); pages.clear(); presented.clear(); @@ -540,7 +650,7 @@ export const createRuntime = async ( event.revision < acceptedRevision || event.revision > revision || event.sequence <= lastSequence || - overlayOpen() + overlayOpen(false) ) return; // Native may send input before update() resolves on the JS bridge. @@ -561,7 +671,7 @@ export const createRuntime = async ( candidate?.control.search && [candidate.control.search.trigger.id, candidate.control.search.closeId].includes(event.id); if (!searchAction && (!item || item.disabled || item.visible === false)) return; // The original Ionic host owns form submission, routerLink and selection events. - element.click(); + activateProjectedElement(element); lastSnapshot = ''; // Reconcile even if Ionic rejects the proposed native selection. schedule(); }; @@ -597,9 +707,14 @@ export const createRuntime = async ( await flush(); // Source DOM has been restored before Ionic starts moving it. await new Promise((resolve) => win.requestAnimationFrame(() => resolve())); - return () => { + return (canceled = false) => { suspended.delete(scopes); - scopes.forEach((scope) => pages.delete(scope)); // interactive cancellation has no didLeave. + if (canceled || !scopes.some((scope) => scope.closest(':is(ion-app, body).ios-theme-enable-foldable'))) { + scopes.forEach((scope) => pages.delete(scope)); // Preserve ordinary iPhone handoff; cancellation has no DidLeave. + if (canceled) { + foldablePages.cancel(scopes[0], scopes[1]); // The entering page is abandoned; the leaving page stays active. + } + } schedule(); }; }, diff --git a/src/native/shared/candidate.ts b/src/native/shared/candidate.ts index 22b00dd7..7bb93ae5 100644 --- a/src/native/shared/candidate.ts +++ b/src/native/shared/candidate.ts @@ -1,5 +1,5 @@ import type { ShellControl, ShellItem, NativeUIShellComponent } from '../definitions'; -import { frame, isDark, text, visible } from './dom'; +import { frame, isDark, isFoldableRailSource, text, visible } from './dom'; import { iconSource } from './icons'; export interface Candidate { @@ -39,7 +39,11 @@ export const appendItem = ( content: ParentNode = child, label = text(child), ): ShellItem | undefined => { - if (!visible(child) || child.querySelector('input, button, a, img, canvas, video, ion-spinner, ion-avatar')) return; + if ( + !visible(child, isFoldableRailSource(candidate.element)) || + child.querySelector('input, button, a, img, canvas, video, ion-spinner, ion-avatar') + ) + return; const icons = Array.from(content.querySelectorAll('ion-icon')); const directSVGs = Array.from(content.querySelectorAll('svg')); if (icons.length + directSVGs.length > 1) return undefined; @@ -54,7 +58,11 @@ export const appendItem = ( id: id(child), ...frame(child.getBoundingClientRect(), candidate.element.getBoundingClientRect()), label, - accessibilityLabel: child.getAttribute('aria-label') ?? native?.getAttribute('aria-label') ?? label, + accessibilityLabel: + child.getAttribute('aria-label') ?? + native?.getAttribute('aria-label') ?? + (icons[0]?.getAttribute('aria-hidden') === 'true' ? null : icons[0]?.getAttribute('aria-label')) ?? + label, disabled: !!(child as ItemElement).disabled || !!(candidate.element as ItemElement).disabled || diff --git a/src/native/shared/dom.ts b/src/native/shared/dom.ts index 48df88fe..53b7acaf 100644 --- a/src/native/shared/dom.ts +++ b/src/native/shared/dom.ts @@ -3,24 +3,144 @@ import { fadeMarker } from './crossfade'; import type { Frame } from '../definitions'; export const marker = 'data-native-ui-shell'; +export const prehiddenClass = 'ios-theme-native-ui-shell-prehidden'; +export const prehideRootClass = 'ios-theme-native-ui-shell-prehide'; +export const rejectedClass = 'ios-theme-native-ui-shell-rejected'; +export const foldableBackWebClass = 'ios-theme-foldable-back-web-owned'; +const prehideClasses = new Set([prehiddenClass, prehideRootClass]); +export const prehideOnlyMutation = (record: MutationRecord): boolean => { + if (record.attributeName !== 'class' || record.oldValue === null) return false; + const withoutPrehide = (value: string) => + value + .split(/\s+/) + .filter((name) => name && !prehideClasses.has(name)) + .join(' '); + return withoutPrehide(record.oldValue) === withoutPrehide((record.target as Element).getAttribute('class') ?? ''); +}; + +export const withoutPrehide = (element: HTMLElement, read: () => T): T => { + const changed: HTMLElement[] = []; + for (let current: HTMLElement | null = element; current; current = current.parentElement) { + if (current.classList.contains(prehiddenClass)) { + current.classList.remove(prehiddenClass); + changed.push(current); + } + } + const root = element.ownerDocument.documentElement; + if (element.matches('ion-back-button') && root.classList.contains(prehideRootClass)) { + root.classList.remove(prehideRootClass); + changed.push(root); + } + try { + return read(); + } finally { + changed.forEach((current) => current.classList.add(current === root ? prehideRootClass : prehiddenClass)); + } +}; export const isDark = (style: CSSStyleDeclaration): boolean => style.getPropertyValue('--ios27-color-scheme').trim() === 'dark'; -export const excluded = - '.ionic-theme-disabled, .ios-theme-disabled, .ios26-disabled, .ion-page-hidden, .ion-page-invisible, .ion-cloned-element, [hidden], [inert]'; +const permanentlyExcluded = '.ionic-theme-disabled, .ios-theme-disabled, .ios26-disabled, .ion-cloned-element, [hidden], [inert]'; +export const excluded = `${permanentlyExcluded}, .ion-page-hidden, .ion-page-invisible`; +const enteringPages = new WeakSet(); +export const setFoldableEnteringPage = (page: HTMLElement, entering: boolean): void => { + if (entering) enteringPages.add(page); + else enteringPages.delete(page); +}; +export const foldableEnteringPage = (element: HTMLElement): HTMLElement | undefined => { + const page = element.closest('.ion-page-invisible'); + return page && enteringPages.has(page) && page.closest(':is(ion-app, body).ios-theme-enable-foldable') ? page : undefined; +}; +export const createFoldablePageState = () => { + const departed = new WeakSet(); + return { + isDeparted(element: HTMLElement): boolean { + const page = element.closest('.ion-page'); + return !!page && departed.has(page) && !!element.closest(':is(ion-app, body).ios-theme-enable-foldable'); + }, + lifecycle(event: Event): void { + const page = event.target; + if (!(page instanceof HTMLElement) || !page.matches('.ion-page')) return; + const entering = event.type === 'ionViewWillEnter'; + if (entering || event.type === 'ionViewDidEnter') departed.delete(page); + else if (event.type === 'ionViewWillLeave' || event.type === 'ionViewDidLeave') departed.add(page); + setFoldableEnteringPage(page, entering); + }, + cancel(entering?: HTMLElement, leaving?: HTMLElement): void { + if (entering) { + departed.add(entering); + setFoldableEnteringPage(entering, false); + } + if (leaving) departed.delete(leaving); + }, + }; +}; const disabledButtonGroup = 'ion-buttons:is(.ionic-theme-disabled, .ios-theme-disabled, .ios26-disabled)'; const shellDisabledSelector = '.ios-theme-shell-disabled'; export const isDisabledButtonGroupChild = (element: HTMLElement): boolean => element.matches('ion-button.ios') && element.parentElement?.matches(disabledButtonGroup) === true; -export const isExcluded = (element: HTMLElement): boolean => { - const owner = element.closest(excluded); +const foldableRailTags = new Set(['ion-button', 'ion-back-button', 'ion-buttons', 'ion-menu-button', 'ion-tab-bar']); + +export const isFoldableRailSource = (element: HTMLElement): boolean => + foldableRailTags.has(element.localName) && + (element.matches('ion-tab-bar') || foldableRailOwned(element)) && + !element.closest('ion-menu, ion-modal, ion-popover') && + !!element.closest(':is(ion-app, body).ios-theme-enable-foldable'); + +const excludedBy = (element: HTMLElement, selector: string): boolean => { + const owner = element.closest(selector); return !!owner && !(element.parentElement === owner && isDisabledButtonGroupChild(element)); }; +export const isPermanentlyExcluded = (element: HTMLElement): boolean => excludedBy(element, permanentlyExcluded); +export const isExcluded = (element: HTMLElement, enteringPage?: HTMLElement): boolean => + excludedBy(element, `${permanentlyExcluded}, .ion-page-hidden`) || (!!element.closest('.ion-page-invisible') && !enteringPage); + // A shared native surface must not cover an opted-out descendant either. export const isShellDisabled = (element: Element): boolean => !!element.closest(shellDisabledSelector) || !!element.querySelector(shellDisabledSelector); +export const isFoldableToolbarActionShape = (element: HTMLElement): boolean => + element.matches('ion-menu-button') || + (element.matches('ion-button') && + !!element.querySelector('ion-icon, svg') && + !Array.from(element.childNodes).some((node) => node.nodeType === Node.TEXT_NODE && !!node.textContent?.trim()) && + !element.matches('.ion-color, [color]') && + ['default', 'clear'].includes((element as HTMLIonButtonElement).fill ?? element.getAttribute('fill') ?? 'default')); + +// Placement belongs to the DOM identity for one routed-page epoch. Changes to +// content/disabled state affect rendering, never its chosen surface. +const foldablePlacement = new WeakMap(); +export const setFoldablePlacement = (element: HTMLElement, rail: boolean): void => { + foldablePlacement.set(element, rail); +}; +export const clearFoldablePlacement = (element: HTMLElement): void => { + foldablePlacement.delete(element); +}; +export const foldableRailOwned = (element: HTMLElement): boolean => foldablePlacement.get(element) === true; + +export const isFoldableToolbarAction = (element: HTMLElement): boolean => + element.matches('.ios') && foldableRailOwned(element) && !isExcluded(element, foldableEnteringPage(element)) && !isShellDisabled(element); + +export const foldableToolbarActions = (element: HTMLElement): HTMLElement[] => + Array.from(element.children).filter((child): child is HTMLElement => child instanceof HTMLElement && isFoldableToolbarAction(child)); + +export const isFoldableToolbarGroup = (element: HTMLElement): boolean => { + return ( + element.matches('ion-buttons.ios') && + foldableRailOwned(element) && + !element.matches('.ionic-theme-disabled, .ios-theme-disabled, .ios26-disabled') && + !isShellDisabled(element) + ); +}; + +export const activateProjectedElement = (element: HTMLElement): void => { + const target = element.matches('ion-button, ion-back-button, ion-menu-button') + ? element.shadowRoot?.querySelector('[part~="native"]') + : undefined; + (target ?? element).click(); +}; + export const unprojected = (elements: Iterable, read: () => T): T => { const hidden = Array.from(elements).filter((element) => element.hasAttribute(marker)); hidden.forEach((element) => element.removeAttribute(marker)); @@ -31,14 +151,22 @@ export const unprojected = (elements: Iterable, read: () => T): } }; -export const visible = (element: HTMLElement): boolean => { - if (!element.isConnected || isExcluded(element) || isShellDisabled(element)) return false; +const readVisible = (element: HTMLElement, allowOutsideViewport: boolean): boolean => { + const enteringPage = isFoldableRailSource(element) ? foldableEnteringPage(element) : undefined; + if (!element.isConnected || isExcluded(element, enteringPage) || isShellDisabled(element)) return false; for (let current: HTMLElement | null = element; current; current = current.parentElement) { const style = getComputedStyle(current); - if (style.display === 'none' || style.visibility !== 'visible' || (Number(style.opacity) === 0 && !current.hasAttribute(fadeMarker))) + if ( + style.display === 'none' || + style.visibility !== 'visible' || + (Number(style.opacity) === 0 && !current.hasAttribute(fadeMarker) && current !== enteringPage) + ) return false; - // Moving/collapsing/custom transformed surfaces stay in Web coordinates. + // Ordinary controls on moving/collapsing/custom transformed surfaces stay in Web coordinates. + // Foldable rail controls are placed independently of their Web coordinates and must remain + // owned while Ionic transforms the content behind an open menu. if ( + !allowOutsideViewport && style.transform !== 'none' && !new DOMMatrixReadOnly(style.transform).isIdentity && current !== element && @@ -48,10 +176,15 @@ export const visible = (element: HTMLElement): boolean => { } const rect = element.getBoundingClientRect(); return ( - rect.width > 0 && rect.height > 0 && rect.left >= -1 && rect.top >= -1 && rect.right <= innerWidth + 1 && rect.bottom <= innerHeight + 1 + rect.width > 0 && + rect.height > 0 && + (allowOutsideViewport || (rect.left >= -1 && rect.top >= -1 && rect.right <= innerWidth + 1 && rect.bottom <= innerHeight + 1)) ); }; +export const visible = (element: HTMLElement, allowOutsideViewport = false): boolean => + withoutPrehide(element, () => readVisible(element, allowOutsideViewport)); + export const frame = (rect: DOMRect, origin?: DOMRect): Frame => ({ x: rect.x - (origin?.x ?? 0), y: rect.y - (origin?.y ?? 0), @@ -70,10 +203,11 @@ export const text = (element: Element): string => { export const inFixedToolbar = (element: Element): boolean => { const edge = element.closest('ion-toolbar')?.parentElement; + const foldable = !!element.closest(':is(ion-app, body).ios-theme-enable-foldable'); return ( !!edge?.matches('ion-header, ion-footer') && !element.closest('ion-content') && !edge.hasAttribute('collapse') && - !edge.matches('.header-collapse-main, .header-collapse-condense') + (foldable || !edge.matches('.header-collapse-main, .header-collapse-condense')) ); }; diff --git a/src/styles/components/ion-button.scss b/src/styles/components/ion-button.scss index bb57c26b..e787423e 100644 --- a/src/styles/components/ion-button.scss +++ b/src/styles/components/ion-button.scss @@ -437,6 +437,31 @@ ion-back-button.ios:not(.ios-theme-disabled, .ios26-disabled) { @include theme-button($is-back-button: true); } +.ios-theme-native-ui-shell-prehidden { + position: absolute !important; + visibility: hidden !important; +} + +// Ionic can paint a newly inserted routed page before its WillEnter snapshot. +// Until JS assigns ownership, keep only its foldable back source off the Web +// toolbar. Web-owned/opted-out buttons are released as soon as classified. +html.ios-theme-native-ui-shell-prehide + :is(ion-app, body).ios-theme-enable-foldable + :is(ion-header, ion-footer):not([collapse]):not(:where(ion-content *, ion-menu *, ion-modal *, ion-popover *)) + ion-toolbar + ion-back-button:not( + [icon], + [color], + .ios-theme-foldable-back-web-owned, + .ionic-theme-disabled, + .ios-theme-disabled, + .ios26-disabled, + .ios-theme-foldable-back-button-projection + ):not(:where(.ios-theme-shell-disabled *, .ionic-theme-disabled *, .ios-theme-disabled *, .ios26-disabled *)) { + position: absolute !important; + visibility: hidden !important; +} + :is(ion-app, body).ios-theme-enable-foldable.ios-theme-foldable-toolbar-ready { ion-toolbar.ios:not(.ios-theme-disabled, .ios26-disabled):not(:where(ion-menu *, ion-modal *, ion-popover *)) ion-back-button.ios[data-native-ui-shell]:not(.ios-theme-disabled, .ios26-disabled, .ios-theme-foldable-back-button-projection) { diff --git a/src/styles/components/ion-content.scss b/src/styles/components/ion-content.scss index 44751566..fd804a9c 100644 --- a/src/styles/components/ion-content.scss +++ b/src/styles/components/ion-content.scss @@ -23,6 +23,11 @@ ion-content.ios:not(.ios-theme-disabled, .ios26-disabled).content-fullscreen:not --padding-bottom: calc(60px + var(--ios-theme-floating-safe-area-bottom, var(--ios26-floating-safe-area-bottom))); } +// Keep the Web page's transition dimming, but never shade the foldable rail. +:is(ion-app, body).ios-theme-enable-foldable .ios-transition-shade { + clip-path: inset(0 var(--ios-theme-foldable-safe-area-right-resolved) 0 var(--ios-theme-foldable-safe-area-left-resolved)); +} + // Foldable system UI changes foreground geometry, not the page background. // Reset Ionic's matching inset so descendants do not apply it a second time. :is(ion-app, body).ios-theme-enable-foldable diff --git a/src/styles/components/ion-menu.scss b/src/styles/components/ion-menu.scss index 095145a1..80eeebd1 100644 --- a/src/styles/components/ion-menu.scss +++ b/src/styles/components/ion-menu.scss @@ -140,14 +140,18 @@ ion-menu.ios:not(.ios-theme-disabled, .ios26-disabled) { ion-menu.ios.menu-side-end:not(:dir(rtl)):not(.ios-theme-disabled, .ios26-disabled), ion-menu.ios.menu-side-start:dir(rtl):not(.ios-theme-disabled, .ios26-disabled) { --ion-safe-area-right: 0px; - right: var(--ios-theme-foldable-safe-area-right-resolved); - left: auto; + + &::part(container) { + margin-right: var(--ios-theme-foldable-safe-area-right-resolved); + } } ion-menu.ios.menu-side-start:not(:dir(rtl)):not(.ios-theme-disabled, .ios26-disabled), ion-menu.ios.menu-side-end:dir(rtl):not(.ios-theme-disabled, .ios26-disabled) { --ion-safe-area-left: 0px; - left: var(--ios-theme-foldable-safe-area-left-resolved); - right: auto; + + &::part(container) { + margin-left: var(--ios-theme-foldable-safe-area-left-resolved); + } } } diff --git a/src/transition/ios.transition.ts b/src/transition/ios.transition.ts index 44e9f7e9..cb5e655e 100644 --- a/src/transition/ios.transition.ts +++ b/src/transition/ios.transition.ts @@ -14,6 +14,7 @@ const transitionConfig = { offLeftPercent: 30, getIonPageElement, connectNativeUIShellTransition, + shouldAnimateFixedBackButton: (navEl: HTMLElement) => !navEl.closest(':is(ion-app, body).ios-theme-enable-foldable'), radius: 0, }; From 8e473bce6f9682d5af03753678556ee589183411 Mon Sep 17 00:00:00 2001 From: rdlabo Date: Thu, 24 Sep 2026 15:45:57 +0900 Subject: [PATCH 33/50] feat: name adaptive side controls vertical bars --- demo/e2e/adaptive-tab-bar.spec.ts | 12 +- ....png => vertical-bars-tab-drag-labels.png} | Bin demo/e2e/animation.spec.ts | 4 +- demo/e2e/native-ui-shell.spec.ts | 74 ++++++------ demo/e2e/screenshot.spec.ts | 48 ++++---- ....png => vertical-bars-back-button-ltr.png} | Bin ....png => vertical-bars-back-button-rtl.png} | Bin ...t-ltr.png => vertical-bars-layout-ltr.png} | Bin ...t-rtl.png => vertical-bars-layout-rtl.png} | Bin ...r.png => vertical-bars-split-pane-ltr.png} | Bin ...l.png => vertical-bars-split-pane-rtl.png} | Bin ....png => vertical-bars-toolbar-actions.png} | Bin ...c.ts => vertical-bars-back-button.spec.ts} | 89 +++++++++------ ...t.spec.ts => vertical-bars-layout.spec.ts} | 8 +- .../NativeUIShellTests.swift | 24 ++-- demo/src/app/docs/docs-content.generated.ts | 2 +- demo/src/app/index/index-page.component.html | 2 +- demo/src/app/index/index-page.component.ts | 8 +- demo/src/native-ui-shell-transition.spec.ts | 4 +- ...-web.spec.ts => vertical-bars-web.spec.ts} | 14 +-- docs/native-ui-shell.md | 25 +++-- docs/special-markup.md | 16 +-- ...ableRail.swift => ShellVerticalBars.swift} | 70 ++++++------ .../IonicNativeUIShellPlugin.swift | 36 +++--- .../Shared/ShellSnapshot.swift | 4 +- .../ShellSnapshotTests.swift | 4 +- src/index.ts | 6 +- src/native-integration/index.ts | 4 +- src/native/components/index.ts | 10 +- src/native/components/ion-button.ts | 14 +-- src/native/components/ion-buttons.ts | 16 +-- src/native/definitions.ts | 6 +- src/native/index.ts | 23 ++-- src/native/prehide.ts | 52 +++++---- src/native/runtime.ts | 106 +++++++++--------- src/native/shared/candidate.ts | 4 +- src/native/shared/dom.ts | 63 ++++++----- .../{foldable-web.ts => vertical-bars-web.ts} | 70 ++++++------ src/styles/components/ion-button.scss | 34 +++--- src/styles/components/ion-content.scss | 18 +-- src/styles/components/ion-fab.scss | 20 ++-- src/styles/components/ion-menu.scss | 12 +- src/styles/components/ion-tabs.scss | 4 +- src/styles/components/ion-toolbar.scss | 12 +- src/styles/default-variables.scss | 6 +- src/transition/ios.transition.ts | 2 +- 46 files changed, 481 insertions(+), 445 deletions(-) rename demo/e2e/adaptive-tab-bar.spec.ts-snapshots/{foldable-tab-drag-labels.png => vertical-bars-tab-drag-labels.png} (100%) rename demo/e2e/screenshot.spec.ts-snapshots/{foldable-back-button-ltr.png => vertical-bars-back-button-ltr.png} (100%) rename demo/e2e/screenshot.spec.ts-snapshots/{foldable-back-button-rtl.png => vertical-bars-back-button-rtl.png} (100%) rename demo/e2e/screenshot.spec.ts-snapshots/{foldable-layout-ltr.png => vertical-bars-layout-ltr.png} (100%) rename demo/e2e/screenshot.spec.ts-snapshots/{foldable-layout-rtl.png => vertical-bars-layout-rtl.png} (100%) rename demo/e2e/screenshot.spec.ts-snapshots/{foldable-split-pane-ltr.png => vertical-bars-split-pane-ltr.png} (100%) rename demo/e2e/screenshot.spec.ts-snapshots/{foldable-split-pane-rtl.png => vertical-bars-split-pane-rtl.png} (100%) rename demo/e2e/screenshot.spec.ts-snapshots/{foldable-toolbar-actions.png => vertical-bars-toolbar-actions.png} (100%) rename demo/e2e/{foldable-back-button.spec.ts => vertical-bars-back-button.spec.ts} (70%) rename demo/e2e/{foldable-layout.spec.ts => vertical-bars-layout.spec.ts} (92%) rename demo/src/{foldable-web.spec.ts => vertical-bars-web.spec.ts} (62%) rename ios/Sources/IonicNativeUIShellPlugin/Components/{ShellFoldableRail.swift => ShellVerticalBars.swift} (82%) rename src/native/{foldable-web.ts => vertical-bars-web.ts} (86%) diff --git a/demo/e2e/adaptive-tab-bar.spec.ts b/demo/e2e/adaptive-tab-bar.spec.ts index 696e7a00..a53436de 100644 --- a/demo/e2e/adaptive-tab-bar.spec.ts +++ b/demo/e2e/adaptive-tab-bar.spec.ts @@ -1,15 +1,15 @@ import { expect, test } from '@playwright/test'; -const enableFoldable = async (page: import('@playwright/test').Page) => { - const toggle = page.getByText('Foldable Mode').locator('..').locator('ion-toggle'); +const enableVerticalBars = async (page: import('@playwright/test').Page) => { + const toggle = page.getByText('iPhone Duo Mode').locator('..').locator('ion-toggle'); await toggle.click(); - await expect(page.locator('ion-app')).toHaveClass(/ios-theme-enable-foldable/); + await expect(page.locator('ion-app')).toHaveClass(/ios-theme-vertical-bars/); }; -test('foldable mode moves tabs into the right rail and reveals labels while dragging', async ({ page }) => { +test('verticalBars mode moves tabs into the right rail and reveals labels while dragging', async ({ page }) => { await page.setViewportSize({ width: 700, height: 900 }); await page.goto('/main/index'); - await enableFoldable(page); + await enableVerticalBars(page); const bar = page.locator('#tab-bar-bottom'); const buttons = bar.locator('ion-tab-button'); @@ -26,7 +26,7 @@ test('foldable mode moves tabs into the right rail and reveals labels while drag await page.mouse.move(targetBox.x + targetBox.width / 2, targetBox.y + targetBox.height / 2, { steps: 4 }); await expect.poll(() => buttons.first().evaluate((element) => element.matches(':active'))).toBe(true); - await expect(page).toHaveScreenshot('foldable-tab-drag-labels.png', { animations: 'disabled' }); + await expect(page).toHaveScreenshot('vertical-bars-tab-drag-labels.png', { animations: 'disabled' }); await page.mouse.up(); const overlayDirection = await page.evaluate(async () => { diff --git a/demo/e2e/adaptive-tab-bar.spec.ts-snapshots/foldable-tab-drag-labels.png b/demo/e2e/adaptive-tab-bar.spec.ts-snapshots/vertical-bars-tab-drag-labels.png similarity index 100% rename from demo/e2e/adaptive-tab-bar.spec.ts-snapshots/foldable-tab-drag-labels.png rename to demo/e2e/adaptive-tab-bar.spec.ts-snapshots/vertical-bars-tab-drag-labels.png diff --git a/demo/e2e/animation.spec.ts b/demo/e2e/animation.spec.ts index 88acfd91..74dcf4d2 100644 --- a/demo/e2e/animation.spec.ts +++ b/demo/e2e/animation.spec.ts @@ -104,9 +104,9 @@ test.describe('Animation Tests', () => { await expect(shade).toHaveCount(0); }); - test('foldable page transition keeps its shade outside the control rail', async ({ page }) => { + test('verticalBars page transition keeps its shade outside the control rail', async ({ page }) => { await page.goto('/main/index', { waitUntil: 'networkidle' }); - await page.locator('ion-app').evaluate((app) => app.classList.add('ios-theme-enable-foldable')); + await page.locator('ion-app').evaluate((app) => app.classList.add('ios-theme-vertical-bars')); await page.getByRole('button', { name: 'button', exact: true }).click(); const shade = page.locator('.ios-transition-shade'); await expect(shade).toBeVisible(); diff --git a/demo/e2e/native-ui-shell.spec.ts b/demo/e2e/native-ui-shell.spec.ts index a2cd7d08..5e05e2af 100644 --- a/demo/e2e/native-ui-shell.spec.ts +++ b/demo/e2e/native-ui-shell.spec.ts @@ -6,8 +6,8 @@ import * as overlayTypes from '../src/app/overlay-types'; const importer = new NodePackageImporter(resolve(__dirname, '../../')); -const mockNative = async (page: Page, fail = false, foldableRail = true) => { - const script = ([fail, foldableRail]: readonly [boolean, boolean]) => { +const mockNative = async (page: Page, fail = false, verticalBars = true) => { + const script = ([fail, verticalBars]: readonly [boolean, boolean]) => { const state = { updates: [] as any[], sequence: 0, @@ -38,7 +38,7 @@ const mockNative = async (page: Page, fail = false, foldableRail = true) => { }, ], nativePromise: async (_plugin: string, method: string, options: any) => { - if (method === 'configure') return { supported: true, foldableRail }; + if (method === 'configure') return { supported: true, verticalBars }; if (method === 'getWebViewMetrics') return { radius: 0 }; state.updates.push(method === 'clear' ? { ...options, controls: [] } : options); if (state.hang && method === 'update') await new Promise(() => {}); @@ -70,7 +70,7 @@ const mockNative = async (page: Page, fail = false, foldableRail = true) => { }, }); }; - await page.addInitScript(script, [fail, foldableRail] as const); + await page.addInitScript(script, [fail, verticalBars] as const); }; const activate = (page: Page, label: string, duplicate = false) => @@ -331,39 +331,39 @@ test('unsupported search morph releases and restores a native fixed-slot FAB int await expect(page.locator('ion-tab-bar')).toHaveAttribute('data-native-ui-shell', ''); }); -test('foldable tabs request native adaptive rail placement', async ({ page }) => { +test('verticalBars tabs request native adaptive rail placement', async ({ page }) => { await mockNative(page); await page.goto('/main/index'); const app = page.locator('ion-app'); const bar = page.locator('ion-tab-bar'); await expect(bar).toHaveAttribute('data-native-ui-shell', ''); - await app.evaluate((element) => element.classList.add('ios-theme-enable-foldable')); + await app.evaluate((element) => element.classList.add('ios-theme-vertical-bars')); await expect(bar).toHaveAttribute('data-native-ui-shell', ''); await expect .poll(() => page.evaluate(() => (window as any).__nativeUIShell.updates .at(-1) - .controls.some((control: any) => control.kind === 'ion-tab-bar' && control.placement === 'foldable-rail'), + .controls.some((control: any) => control.kind === 'ion-tab-bar' && control.placement === 'vertical-bars'), ), ) .toBe(true); - await app.evaluate((element) => element.classList.remove('ios-theme-enable-foldable')); + await app.evaluate((element) => element.classList.remove('ios-theme-vertical-bars')); await expect(bar).toHaveAttribute('data-native-ui-shell', ''); await expect(bar).toHaveClass(/ios27-enable-gesture/); }); -test('foldable back navigation and toolbar slots request native rail placement', async ({ page }) => { +test('verticalBars back navigation and toolbar slots request native rail placement', async ({ page }) => { await mockNative(page); await page.goto('/main/index/native-ui-shell'); const app = page.locator('ion-app'); const source = page.locator('app-native-ui-shell ion-back-button'); - const projection = page.locator('ion-app > ion-back-button.ios-theme-foldable-back-button-projection'); + const projection = page.locator('ion-app > ion-back-button.ios-theme-vertical-bars-back-button-projection'); await expect(source).toHaveAttribute('data-native-ui-shell', ''); - await app.evaluate((element) => element.classList.add('ios-theme-enable-foldable')); + await app.evaluate((element) => element.classList.add('ios-theme-vertical-bars')); await expect(projection).toHaveCount(0); await expect(source).toHaveAttribute('data-native-ui-shell', ''); await expect @@ -374,7 +374,7 @@ test('foldable back navigation and toolbar slots request native rail placement', .at(-1) .controls.some( (control: any) => - control.kind === 'ion-back-button' && control.placement === 'foldable-rail' && control.toolbarSlot === undefined, + control.kind === 'ion-back-button' && control.placement === 'vertical-bars' && control.toolbarSlot === undefined, ) && !(window as any).__nativeUIShell.updates .at(-1) @@ -390,7 +390,7 @@ test('foldable back navigation and toolbar slots request native rail placement', .controls.some( (control: any) => control.kind === 'ion-button' && - control.placement === 'foldable-rail' && + control.placement === 'vertical-bars' && control.toolbarSlot === 'end' && control.items.some((item: any) => item.accessibilityLabel === 'Save'), ), @@ -406,20 +406,20 @@ test('foldable back navigation and toolbar slots request native rail placement', ) .toBe('start'); - await app.evaluate((element) => element.classList.remove('ios-theme-enable-foldable')); + await app.evaluate((element) => element.classList.remove('ios-theme-vertical-bars')); await expect(projection).toHaveCount(0); await expect(source).toHaveAttribute('data-native-ui-shell', ''); }); -test('native foldable toolbar returns with Index after a pushed page', async ({ page }) => { +test('native verticalBars toolbar returns with Index after a pushed page', async ({ page }) => { await mockNative(page); await page.goto('/main/index'); - await page.locator('ion-app').evaluate((app) => app.classList.add('ios-theme-enable-foldable')); + await page.locator('ion-app').evaluate((app) => app.classList.add('ios-theme-vertical-bars')); const hasIndexActions = () => page.evaluate(() => { const controls = (window as any).__nativeUIShell.updates.at(-1).controls; return controls.some( - (control: any) => control.placement === 'foldable-rail' && control.items.some((item: any) => item.accessibilityLabel === 'GitHub'), + (control: any) => control.placement === 'vertical-bars' && control.items.some((item: any) => item.accessibilityLabel === 'GitHub'), ); }); await expect.poll(hasIndexActions).toBe(true); @@ -444,10 +444,10 @@ test('native foldable toolbar returns with Index after a pushed page', async ({ await expect.poll(hasIndexActions).toBe(true); }); -test('native foldable actions follow WillEnter and stay enabled during navigation', async ({ page }) => { +test('native verticalBars actions follow WillEnter and stay enabled during navigation', async ({ page }) => { await mockNative(page); await page.goto('/main/index/native-ui-shell'); - await page.locator('ion-app').evaluate((app) => app.classList.add('ios-theme-enable-foldable')); + await page.locator('ion-app').evaluate((app) => app.classList.add('ios-theme-vertical-bars')); const source = page.locator('app-native-ui-shell ion-back-button'); await expect(source).toHaveAttribute('data-native-ui-shell', ''); const routedPage = page.locator('app-native-ui-shell.ion-page'); @@ -497,14 +497,14 @@ test('native foldable actions follow WillEnter and stay enabled during navigatio await routedPage.evaluate((element) => (element.style.pointerEvents = '')); await routedPage.evaluate((element) => element.dispatchEvent(new CustomEvent('ionViewWillLeave', { bubbles: true }))); await expect(source).not.toHaveAttribute('data-native-ui-shell', ''); - await routedPage.evaluate((element) => element.dispatchEvent(new Event('iosThemeFoldableTransitionCanceled', { bubbles: true }))); + await routedPage.evaluate((element) => element.dispatchEvent(new Event('iosThemeVerticalBarsTransitionCanceled', { bubbles: true }))); await expect(source).toHaveAttribute('data-native-ui-shell', ''); }); -test('foldable toolbar sources are hidden before ownership and restored with their lifecycle', async ({ page }) => { +test('verticalBars toolbar sources are hidden before ownership and restored with their lifecycle', async ({ page }) => { await mockNative(page); await page.goto('/main/index/native-ui-shell'); - await page.locator('ion-app').evaluate((element) => element.classList.add('ios-theme-enable-foldable')); + await page.locator('ion-app').evaluate((element) => element.classList.add('ios-theme-vertical-bars')); const source = page.locator('app-native-ui-shell ion-button[type=submit]'); await expect(source).toHaveAttribute('data-native-ui-shell', ''); await expect(source).toHaveClass(/ios-theme-native-ui-shell-prehidden/); @@ -549,7 +549,7 @@ test('foldable toolbar sources are hidden before ownership and restored with the root.append(header); const back = header.querySelector('ion-back-button')!; back.setAttribute('data-late-back', ''); - return back.classList.contains('ios-theme-foldable-back-web-owned'); + return back.classList.contains('ios-theme-vertical-bars-back-web-owned'); }); expect(lateBackInitially).toBe(false); const lateBack = page.locator('ion-back-button[data-late-back]'); @@ -557,7 +557,7 @@ test('foldable toolbar sources are hidden before ownership and restored with the await expect(lateBack).toHaveAttribute('data-native-ui-shell', ''); await page.waitForTimeout(1600); // Past the unhydrated readiness timeout. await expect(lateBack).toHaveAttribute('data-native-ui-shell', ''); - await expect(lateBack).not.toHaveClass(/ios-theme-foldable-back-web-owned/); + await expect(lateBack).not.toHaveClass(/ios-theme-vertical-bars-back-web-owned/); await lateBack.evaluate((element) => element.closest('ion-header')?.remove()); const lateAction = page.locator('app-native-ui-shell ion-button[data-late-action]'); @@ -587,10 +587,10 @@ test('foldable toolbar sources are hidden before ownership and restored with the await expect(source).toHaveCSS('visibility', 'visible'); }); -test('rejected foldable control returns to an operable Web source', async ({ page }) => { +test('rejected verticalBars control returns to an operable Web source', async ({ page }) => { await mockNative(page); await page.goto('/main/index/native-ui-shell'); - await page.locator('ion-app').evaluate((element) => element.classList.add('ios-theme-enable-foldable')); + await page.locator('ion-app').evaluate((element) => element.classList.add('ios-theme-vertical-bars')); const save = page.locator('app-native-ui-shell ion-button[type=submit]'); await expect(save).toHaveAttribute('data-native-ui-shell', ''); await page.evaluate(() => { @@ -604,12 +604,12 @@ test('rejected foldable control returns to an operable Web source', async ({ pag await expect(page.locator('[data-save-count]')).toHaveText('1'); }); -test('foldable rail remains native while its Ionic menu is open', async ({ page }) => { +test('verticalBars rail remains native while its Ionic menu is open', async ({ page }) => { await page.setViewportSize({ width: 390, height: 844 }); await mockNative(page); await page.goto('/main/index/native-ui-shell'); await page.locator('app-native-ui-shell ion-menu-button').evaluate((element: HTMLIonMenuButtonElement) => (element.autoHide = false)); - await page.locator('ion-app').evaluate((element) => element.classList.add('ios-theme-enable-foldable')); + await page.locator('ion-app').evaluate((element) => element.classList.add('ios-theme-vertical-bars')); const menu = page.locator('ion-menu'); const menuSource = page.locator('app-native-ui-shell ion-menu-button').locator('..'); const backSource = page.locator('app-native-ui-shell ion-back-button'); @@ -690,16 +690,16 @@ test('foldable rail remains native while its Ionic menu is open', async ({ page await expect(morphedCancel).toBeVisible(); }); -test('foldable controls stay operable on Web when the native side rail is unavailable', async ({ page }) => { +test('verticalBars controls stay operable on Web when the native side rail is unavailable', async ({ page }) => { await page.setViewportSize({ width: 390, height: 844 }); await mockNative(page, false, false); await page.goto('/main/index/native-ui-shell'); await page.locator('app-native-ui-shell ion-menu-button').evaluate((element: HTMLIonMenuButtonElement) => (element.autoHide = false)); - await page.locator('ion-app').evaluate((element) => element.classList.add('ios-theme-enable-foldable')); + await page.locator('ion-app').evaluate((element) => element.classList.add('ios-theme-vertical-bars')); - const projection = page.locator('ion-app > ion-back-button.ios-theme-foldable-back-button-projection'); - const menuProjection = page.locator('ion-app > ion-menu-button.ios-theme-foldable-toolbar-projection'); - const saveProjection = page.locator('ion-app > ion-button.ios-theme-foldable-toolbar-projection[aria-label=Save]'); + const projection = page.locator('ion-app > ion-back-button.ios-theme-vertical-bars-back-button-projection'); + const menuProjection = page.locator('ion-app > ion-menu-button.ios-theme-vertical-bars-toolbar-projection'); + const saveProjection = page.locator('ion-app > ion-button.ios-theme-vertical-bars-toolbar-projection[aria-label=Save]'); await expect(projection).toBeVisible(); await expect(menuProjection).toBeVisible(); await expect(saveProjection).toBeVisible(); @@ -715,7 +715,7 @@ test('foldable controls stay operable on Web when the native side rail is unavai .poll(() => page.evaluate(() => (window as any).__nativeUIShell.updates.every((snapshot: any) => - snapshot.controls.every((control: any) => control.placement !== 'foldable-rail'), + snapshot.controls.every((control: any) => control.placement !== 'vertical-bars'), ), ), ) @@ -732,14 +732,14 @@ test('foldable controls stay operable on Web when the native side rail is unavai await page.evaluate(() => { const outlet = document.querySelector('ion-tabs ion-router-outlet')!; - (window as any).__foldableBackCloneMoved = false; + (window as any).__verticalBarsBackCloneMoved = false; new MutationObserver(() => { - if (outlet.querySelector(':scope > ion-back-button.ion-cloned-element')) (window as any).__foldableBackCloneMoved = true; + if (outlet.querySelector(':scope > ion-back-button.ion-cloned-element')) (window as any).__verticalBarsBackCloneMoved = true; }).observe(outlet, { childList: true }); }); await projection.click(); await expect(page).toHaveURL(/\/main\/index$/); - expect(await page.evaluate(() => (window as any).__foldableBackCloneMoved)).toBe(false); + expect(await page.evaluate(() => (window as any).__verticalBarsBackCloneMoved)).toBe(false); }); test('native click preserves external form submit, disabled, and duplicate protection', async ({ page }) => { diff --git a/demo/e2e/screenshot.spec.ts b/demo/e2e/screenshot.spec.ts index 97528455..a2ca028e 100644 --- a/demo/e2e/screenshot.spec.ts +++ b/demo/e2e/screenshot.spec.ts @@ -60,7 +60,7 @@ const prepareScreenShot = async (page: Page, routeName: string) => { } }; -const prepareFoldableLayout = async (page: Page, direction: 'ltr' | 'rtl', width = 700) => { +const prepareVerticalBarsLayout = async (page: Page, direction: 'ltr' | 'rtl', width = 700) => { await page.addInitScript(() => ((window as any).IONIC_E2E_TESTING = true)); await page.setViewportSize({ width, height: 900 }); await page.goto('/main/index', { waitUntil: 'networkidle' }); @@ -69,11 +69,11 @@ const prepareFoldableLayout = async (page: Page, direction: 'ltr' | 'rtl', width await page.evaluate((direction) => { const app = document.querySelector('ion-app')!; app.dir = direction; - app.style.setProperty('--ios-theme-foldable-safe-area-left', '76px'); - app.style.setProperty('--ios-theme-foldable-safe-area-right', '84px'); + app.style.setProperty('--ios-theme-vertical-bars-safe-area-left', '76px'); + app.style.setProperty('--ios-theme-vertical-bars-safe-area-right', '84px'); app.style.setProperty('--ion-safe-area-left', '76px'); app.style.setProperty('--ion-safe-area-right', '84px'); - app.classList.add('ios-theme-enable-foldable'); + app.classList.add('ios-theme-vertical-bars'); const content = document.querySelector('ion-content[role="main"]')!; const logicalLeft = direction === 'ltr' ? 'start' : 'end'; @@ -93,29 +93,29 @@ const prepareFoldableLayout = async (page: Page, direction: 'ltr' | 'rtl', width }, direction); }; -const prepareFoldableBackButton = async (page: Page, direction: 'ltr' | 'rtl') => { +const prepareVerticalBarsBackButton = async (page: Page, direction: 'ltr' | 'rtl') => { await page.addInitScript(() => ((window as any).IONIC_E2E_TESTING = true)); await page.setViewportSize({ width: 700, height: 900 }); await page.goto('/main/index/button', { waitUntil: 'networkidle' }); await page.evaluate(() => document.fonts.ready); await page.locator('ion-app').evaluate((app, dir) => { app.dir = dir; - app.style.setProperty('--ios-theme-foldable-safe-area-right', '84px'); - app.classList.add('ios-theme-enable-foldable'); + app.style.setProperty('--ios-theme-vertical-bars-safe-area-right', '84px'); + app.classList.add('ios-theme-vertical-bars'); }, direction); - await expect(page.locator('ion-app > ion-back-button.ios-theme-foldable-back-button-projection')).toBeVisible(); + await expect(page.locator('ion-app > ion-back-button.ios-theme-vertical-bars-back-button-projection')).toBeVisible(); }; -const prepareFoldableToolbar = async (page: Page) => { +const prepareVerticalBarsToolbar = async (page: Page) => { await page.addInitScript(() => ((window as any).IONIC_E2E_TESTING = true)); await page.setViewportSize({ width: 700, height: 900 }); await page.goto('/main/index/native-ui-shell', { waitUntil: 'networkidle' }); await page.evaluate(() => document.fonts.ready); await page.locator('ion-app').evaluate((app) => { - app.style.setProperty('--ios-theme-foldable-safe-area-right', '84px'); - app.classList.add('ios-theme-enable-foldable'); + app.style.setProperty('--ios-theme-vertical-bars-safe-area-right', '84px'); + app.classList.add('ios-theme-vertical-bars'); }); - await expect(page.locator('ion-app > ion-buttons.ios-theme-foldable-toolbar-projection')).not.toHaveCount(0); + await expect(page.locator('ion-app > ion-buttons.ios-theme-vertical-bars-toolbar-projection')).not.toHaveCount(0); }; test.describe('Screenshot Tests - All Routes', () => { @@ -154,31 +154,31 @@ test.describe('Screenshot Tests - Dark Mode', () => { } }); -test.describe('Screenshot Tests - Foldable Layout', () => { +test.describe('Screenshot Tests - VerticalBars Layout', () => { for (const direction of ['ltr', 'rtl'] as const) { - test(`should keep the app foreground clear of foldable system UI in ${direction.toUpperCase()}`, async ({ page }) => { - await prepareFoldableLayout(page, direction); - await expect(page).toHaveScreenshot(`foldable-layout-${direction}.png`, { animations: 'disabled' }); + test(`should keep the app foreground clear of verticalBars system UI in ${direction.toUpperCase()}`, async ({ page }) => { + await prepareVerticalBarsLayout(page, direction); + await expect(page).toHaveScreenshot(`vertical-bars-layout-${direction}.png`, { animations: 'disabled' }); }); - test(`should keep foldable tabs in the system rail beside a visible split pane in ${direction.toUpperCase()}`, async ({ page }) => { - await prepareFoldableLayout(page, direction, 1024); + test(`should keep verticalBars tabs in the system rail beside a visible split pane in ${direction.toUpperCase()}`, async ({ page }) => { + await prepareVerticalBarsLayout(page, direction, 1024); await expect(page.locator('ion-split-pane')).toHaveClass(/split-pane-visible/); - await expect(page).toHaveScreenshot(`foldable-split-pane-${direction}.png`, { animations: 'disabled' }); + await expect(page).toHaveScreenshot(`vertical-bars-split-pane-${direction}.png`, { animations: 'disabled' }); }); } }); -test.describe('Screenshot Tests - Foldable Back Button', () => { +test.describe('Screenshot Tests - VerticalBars Back Button', () => { for (const direction of ['ltr', 'rtl'] as const) { test(`should project the active back button into the physical system rail in ${direction.toUpperCase()}`, async ({ page }) => { - await prepareFoldableBackButton(page, direction); - await expect(page).toHaveScreenshot(`foldable-back-button-${direction}.png`, { animations: 'disabled' }); + await prepareVerticalBarsBackButton(page, direction); + await expect(page).toHaveScreenshot(`vertical-bars-back-button-${direction}.png`, { animations: 'disabled' }); }); } test('should project icon actions while keeping text actions in the toolbar', async ({ page }) => { - await prepareFoldableToolbar(page); - await expect(page).toHaveScreenshot('foldable-toolbar-actions.png', { animations: 'disabled' }); + await prepareVerticalBarsToolbar(page); + await expect(page).toHaveScreenshot('vertical-bars-toolbar-actions.png', { animations: 'disabled' }); }); }); diff --git a/demo/e2e/screenshot.spec.ts-snapshots/foldable-back-button-ltr.png b/demo/e2e/screenshot.spec.ts-snapshots/vertical-bars-back-button-ltr.png similarity index 100% rename from demo/e2e/screenshot.spec.ts-snapshots/foldable-back-button-ltr.png rename to demo/e2e/screenshot.spec.ts-snapshots/vertical-bars-back-button-ltr.png diff --git a/demo/e2e/screenshot.spec.ts-snapshots/foldable-back-button-rtl.png b/demo/e2e/screenshot.spec.ts-snapshots/vertical-bars-back-button-rtl.png similarity index 100% rename from demo/e2e/screenshot.spec.ts-snapshots/foldable-back-button-rtl.png rename to demo/e2e/screenshot.spec.ts-snapshots/vertical-bars-back-button-rtl.png diff --git a/demo/e2e/screenshot.spec.ts-snapshots/foldable-layout-ltr.png b/demo/e2e/screenshot.spec.ts-snapshots/vertical-bars-layout-ltr.png similarity index 100% rename from demo/e2e/screenshot.spec.ts-snapshots/foldable-layout-ltr.png rename to demo/e2e/screenshot.spec.ts-snapshots/vertical-bars-layout-ltr.png diff --git a/demo/e2e/screenshot.spec.ts-snapshots/foldable-layout-rtl.png b/demo/e2e/screenshot.spec.ts-snapshots/vertical-bars-layout-rtl.png similarity index 100% rename from demo/e2e/screenshot.spec.ts-snapshots/foldable-layout-rtl.png rename to demo/e2e/screenshot.spec.ts-snapshots/vertical-bars-layout-rtl.png diff --git a/demo/e2e/screenshot.spec.ts-snapshots/foldable-split-pane-ltr.png b/demo/e2e/screenshot.spec.ts-snapshots/vertical-bars-split-pane-ltr.png similarity index 100% rename from demo/e2e/screenshot.spec.ts-snapshots/foldable-split-pane-ltr.png rename to demo/e2e/screenshot.spec.ts-snapshots/vertical-bars-split-pane-ltr.png diff --git a/demo/e2e/screenshot.spec.ts-snapshots/foldable-split-pane-rtl.png b/demo/e2e/screenshot.spec.ts-snapshots/vertical-bars-split-pane-rtl.png similarity index 100% rename from demo/e2e/screenshot.spec.ts-snapshots/foldable-split-pane-rtl.png rename to demo/e2e/screenshot.spec.ts-snapshots/vertical-bars-split-pane-rtl.png diff --git a/demo/e2e/screenshot.spec.ts-snapshots/foldable-toolbar-actions.png b/demo/e2e/screenshot.spec.ts-snapshots/vertical-bars-toolbar-actions.png similarity index 100% rename from demo/e2e/screenshot.spec.ts-snapshots/foldable-toolbar-actions.png rename to demo/e2e/screenshot.spec.ts-snapshots/vertical-bars-toolbar-actions.png diff --git a/demo/e2e/foldable-back-button.spec.ts b/demo/e2e/vertical-bars-back-button.spec.ts similarity index 70% rename from demo/e2e/foldable-back-button.spec.ts rename to demo/e2e/vertical-bars-back-button.spec.ts index 357821b9..bbe0ab60 100644 --- a/demo/e2e/foldable-back-button.spec.ts +++ b/demo/e2e/vertical-bars-back-button.spec.ts @@ -1,70 +1,70 @@ import { expect, test } from '@playwright/test'; -test('foldable mode replaces the toolbar back button with an interactive Web projection', async ({ page }) => { +test('verticalBars mode replaces the toolbar back button with an interactive Web projection', async ({ page }) => { await page.setViewportSize({ width: 700, height: 900 }); await page.goto('/main/index/button'); const app = page.locator('ion-app'); - await app.evaluate((element) => element.classList.add('ios-theme-enable-foldable')); + await app.evaluate((element) => element.classList.add('ios-theme-vertical-bars')); const source = page.locator('app-button ion-header ion-back-button').first(); - const projection = page.locator('ion-app > ion-back-button.ios-theme-foldable-back-button-projection'); + const projection = page.locator('ion-app > ion-back-button.ios-theme-vertical-bars-back-button-projection'); await expect(source).toBeHidden(); await expect(projection).toBeVisible(); await expect(projection).toHaveCount(1); await source.evaluate((element) => { const original = element.getBoundingClientRect.bind(element); - (window as any).foldableBackButtonReads = 0; + (window as any).verticalBarsBackButtonReads = 0; element.getBoundingClientRect = () => { - (window as any).foldableBackButtonReads++; + (window as any).verticalBarsBackButtonReads++; return original(); }; element.toggleAttribute('data-projection-sync'); }); await page.waitForTimeout(100); - const settledReads = await page.evaluate(() => (window as any).foldableBackButtonReads); + const settledReads = await page.evaluate(() => (window as any).verticalBarsBackButtonReads); await page.waitForTimeout(150); - expect(await page.evaluate(() => (window as any).foldableBackButtonReads)).toBe(settledReads); + expect(await page.evaluate(() => (window as any).verticalBarsBackButtonReads)).toBe(settledReads); await projection.click(); await expect(page).toHaveURL(/\/main\/index$/); await expect(projection).toHaveCount(0); }); -test('disabling foldable mode restores the toolbar back button', async ({ page }) => { +test('disabling verticalBars mode restores the toolbar back button', async ({ page }) => { await page.goto('/main/index/button'); const app = page.locator('ion-app'); - await app.evaluate((element) => element.classList.add('ios-theme-enable-foldable')); + await app.evaluate((element) => element.classList.add('ios-theme-vertical-bars')); const source = page.locator('app-button ion-header ion-back-button').first(); await expect(source).toBeHidden(); - await app.evaluate((element) => element.classList.remove('ios-theme-enable-foldable')); + await app.evaluate((element) => element.classList.remove('ios-theme-vertical-bars')); await expect(source).toBeVisible(); - await expect(page.locator('ion-app > ion-back-button.ios-theme-foldable-back-button-projection')).toHaveCount(0); + await expect(page.locator('ion-app > ion-back-button.ios-theme-vertical-bars-back-button-projection')).toHaveCount(0); }); -test('Native UI Shell suspension synchronously restores and resumes foldable ownership', async ({ page }) => { +test('Native UI Shell suspension synchronously restores and resumes verticalBars ownership', async ({ page }) => { await page.goto('/main/index/button'); const app = page.locator('ion-app'); - await app.evaluate((element) => element.classList.add('ios-theme-enable-foldable')); + await app.evaluate((element) => element.classList.add('ios-theme-vertical-bars')); const source = page.locator('app-button ion-header ion-back-button').first(); - const projection = page.locator('ion-app > ion-back-button.ios-theme-foldable-back-button-projection'); + const projection = page.locator('ion-app > ion-back-button.ios-theme-vertical-bars-back-button-projection'); await expect(projection).toBeVisible(); - await page.evaluate(async () => Object.assign(window, { foldableLease: await (window as any).nativeUIShell.suspend() })); + await page.evaluate(async () => Object.assign(window, { verticalBarsLease: await (window as any).nativeUIShell.suspend() })); await expect(source).toBeVisible(); await expect(projection).toHaveCount(0); - await page.evaluate(async () => (window as any).foldableLease.resume()); + await page.evaluate(async () => (window as any).verticalBarsLease.resume()); await expect(source).toBeHidden(); await expect(projection).toBeVisible(); }); test('a stale suspension lease cannot re-hide Web controls after shell teardown', async ({ page }) => { await page.goto('/main/index/button'); - await page.locator('ion-app').evaluate((element) => element.classList.add('ios-theme-enable-foldable')); + await page.locator('ion-app').evaluate((element) => element.classList.add('ios-theme-vertical-bars')); const source = page.locator('app-button ion-header ion-back-button').first(); - await expect(page.locator('ion-app > ion-back-button.ios-theme-foldable-back-button-projection')).toBeVisible(); + await expect(page.locator('ion-app > ion-back-button.ios-theme-vertical-bars-back-button-projection')).toBeVisible(); await page.evaluate(async () => { const shell = (window as any).nativeUIShell; @@ -78,8 +78,8 @@ test('a stale suspension lease cannot re-hide Web controls after shell teardown' test('Web toolbar projection switches at WillLeave and restores on cancellation', async ({ page }) => { await page.goto('/main/index/button'); - await page.locator('ion-app').evaluate((app) => app.classList.add('ios-theme-enable-foldable')); - const projection = page.locator('ion-app > ion-back-button.ios-theme-foldable-back-button-projection'); + await page.locator('ion-app').evaluate((app) => app.classList.add('ios-theme-vertical-bars')); + const projection = page.locator('ion-app > ion-back-button.ios-theme-vertical-bars-back-button-projection'); await expect(projection).toBeVisible(); const routedPage = page.locator('app-button.ion-page'); @@ -103,39 +103,39 @@ test('Web toolbar projection switches at WillLeave and restores on cancellation' await routedPage.evaluate((element) => element.dispatchEvent(new CustomEvent('ionViewWillLeave', { bubbles: true }))); await expect(projection).toHaveCount(0); - await routedPage.evaluate((element) => element.dispatchEvent(new Event('iosThemeFoldableTransitionCanceled', { bubbles: true }))); + await routedPage.evaluate((element) => element.dispatchEvent(new Event('iosThemeVerticalBarsTransitionCanceled', { bubbles: true }))); await expect(projection).toBeVisible(); }); -test('turning foldable on during a transition honors its success or cancellation', async ({ page }) => { +test('turning verticalBars on during a transition honors its success or cancellation', async ({ page }) => { await page.goto('/main/index/button'); const app = page.locator('ion-app'); - await app.evaluate((element) => element.classList.remove('ios-theme-enable-foldable')); + await app.evaluate((element) => element.classList.remove('ios-theme-vertical-bars')); const routedPage = page.locator('app-button.ion-page'); - const projection = page.locator('ion-app > ion-back-button.ios-theme-foldable-back-button-projection'); + const projection = page.locator('ion-app > ion-back-button.ios-theme-vertical-bars-back-button-projection'); await routedPage.evaluate((element) => element.dispatchEvent(new CustomEvent('ionViewWillLeave', { bubbles: true }))); - await app.evaluate((element) => element.classList.add('ios-theme-enable-foldable')); + await app.evaluate((element) => element.classList.add('ios-theme-vertical-bars')); await expect(projection).toHaveCount(0); - await routedPage.evaluate((element) => element.dispatchEvent(new Event('iosThemeFoldableTransitionCanceled', { bubbles: true }))); + await routedPage.evaluate((element) => element.dispatchEvent(new Event('iosThemeVerticalBarsTransitionCanceled', { bubbles: true }))); await expect(projection).toBeVisible(); - await app.evaluate((element) => element.classList.remove('ios-theme-enable-foldable')); + await app.evaluate((element) => element.classList.remove('ios-theme-vertical-bars')); await routedPage.evaluate((element) => element.dispatchEvent(new CustomEvent('ionViewWillLeave', { bubbles: true }))); - await app.evaluate((element) => element.classList.add('ios-theme-enable-foldable')); + await app.evaluate((element) => element.classList.add('ios-theme-vertical-bars')); await routedPage.evaluate((element) => element.dispatchEvent(new CustomEvent('ionViewDidLeave', { bubbles: true }))); await expect(projection).toHaveCount(0); }); -test('foldable projection respects shell opt-out and iOS mode', async ({ page }) => { +test('verticalBars projection respects shell opt-out and iOS mode', async ({ page }) => { await page.goto('/main/index/button'); const app = page.locator('ion-app'); const source = page.locator('app-button ion-header ion-back-button').first(); const toolbar = source.locator('xpath=ancestor::ion-toolbar'); - const projection = page.locator('ion-app > ion-back-button.ios-theme-foldable-back-button-projection'); + const projection = page.locator('ion-app > ion-back-button.ios-theme-vertical-bars-back-button-projection'); await source.evaluate((element) => element.classList.add('ios-theme-shell-disabled')); - await app.evaluate((element) => element.classList.add('ios-theme-enable-foldable')); + await app.evaluate((element) => element.classList.add('ios-theme-vertical-bars')); await expect(projection).toHaveCount(0); await expect(source).toBeVisible(); @@ -145,15 +145,15 @@ test('foldable projection respects shell opt-out and iOS mode', async ({ page }) await expect(source).toBeVisible(); }); -test('foldable toolbar projects icon actions and preserves text-only actions', async ({ page }) => { +test('verticalBars toolbar projects icon actions and preserves text-only actions', async ({ page }) => { await page.setViewportSize({ width: 700, height: 900 }); await page.goto('/main/index/native-ui-shell'); - await page.locator('ion-app').evaluate((element) => element.classList.add('ios-theme-enable-foldable')); + await page.locator('ion-app').evaluate((element) => element.classList.add('ios-theme-vertical-bars')); const sourceGroup = page.locator('app-native-ui-shell ion-header ion-buttons[slot="end"]').first(); const textAction = sourceGroup.getByText('Cancel', { exact: true }); const iconSource = sourceGroup.locator('ion-button[aria-label="Save"]'); - const iconProjection = page.locator('ion-app > ion-button.ios-theme-foldable-toolbar-projection[aria-label="Save"]'); + const iconProjection = page.locator('ion-app > ion-button.ios-theme-vertical-bars-toolbar-projection[aria-label="Save"]'); await expect(sourceGroup).toBeVisible(); await expect(textAction).toBeVisible(); @@ -172,11 +172,28 @@ test('theme-disabled ion-buttons project their icon actions as independent contr const app = page.locator('ion-app'); const sourceGroup = page.locator('[data-glass-group]'); await sourceGroup.evaluate((element) => element.classList.add('ionic-theme-disabled')); - await app.evaluate((element) => element.classList.add('ios-theme-enable-foldable')); + await app.evaluate((element) => element.classList.add('ios-theme-vertical-bars')); await expect( page.locator( - 'ion-app > ion-button.ios-theme-foldable-toolbar-projection:has(ion-icon:is([name="logo-github"], [name="refresh-circle"]))', + 'ion-app > ion-button.ios-theme-vertical-bars-toolbar-projection:has(ion-icon:is([name="logo-github"], [name="refresh-circle"]))', ), ).toHaveCount(2); await expect(sourceGroup).toBeHidden(); }); + +test('horizontal-only keeps a group and an individual button in their Web toolbar', async ({ page }) => { + await page.setViewportSize({ width: 700, height: 900 }); + await page.goto('/main/index/native-ui-shell'); + const group = page.locator('[data-glass-group]'); + const save = page.locator('app-native-ui-shell ion-button[type="submit"]'); + await group.evaluate((element) => element.classList.add('ios-theme-horizontal-only')); + await save.evaluate((element) => element.classList.add('ios-theme-horizontal-only')); + await page.locator('ion-app').evaluate((element) => element.classList.add('ios-theme-vertical-bars')); + + await expect(group).toBeVisible(); + await expect(save).toBeVisible(); + await expect(page.locator('ion-app > ion-buttons.ios-theme-vertical-bars-toolbar-projection')).toHaveCount(0); + await expect(page.locator('ion-app > ion-button.ios-theme-vertical-bars-toolbar-projection[aria-label="Save"]')).toHaveCount(0); + await save.click(); + await expect(page.locator('[data-save-count]')).toHaveText('1'); +}); diff --git a/demo/e2e/foldable-layout.spec.ts b/demo/e2e/vertical-bars-layout.spec.ts similarity index 92% rename from demo/e2e/foldable-layout.spec.ts rename to demo/e2e/vertical-bars-layout.spec.ts index 14b6919c..3d1abd65 100644 --- a/demo/e2e/foldable-layout.spec.ts +++ b/demo/e2e/vertical-bars-layout.spec.ts @@ -1,7 +1,7 @@ import { expect, test } from '@playwright/test'; for (const direction of ['ltr', 'rtl'] as const) { - test(`menus respect foldable safe-area insets in ${direction}`, async ({ page }) => { + test(`menus respect verticalBars safe-area insets in ${direction}`, async ({ page }) => { await page.setViewportSize({ width: 390, height: 844 }); await page.goto('/main/index', { waitUntil: 'networkidle' }); const menu = page.locator('ion-menu'); @@ -9,7 +9,7 @@ for (const direction of ['ltr', 'rtl'] as const) { const result = await menu.evaluate(async (element: HTMLIonMenuElement, direction) => { const app = document.querySelector('ion-app')!; app.dir = direction; - app.classList.add('ios-theme-enable-foldable'); + app.classList.add('ios-theme-vertical-bars'); element.side = direction === 'ltr' ? 'end' : 'start'; await new Promise(requestAnimationFrame); const container = element.shadowRoot!.querySelector('[part~="container"]')!; @@ -17,8 +17,8 @@ for (const direction of ['ltr', 'rtl'] as const) { const defaultHostBounds = element.getBoundingClientRect(); const defaultRightOffset = innerWidth - container.getBoundingClientRect().right; await element.close(false); - app.style.setProperty('--ios-theme-foldable-safe-area-left', '76px'); - app.style.setProperty('--ios-theme-foldable-safe-area-right', '84px'); + app.style.setProperty('--ios-theme-vertical-bars-safe-area-left', '76px'); + app.style.setProperty('--ios-theme-vertical-bars-safe-area-right', '84px'); app.style.setProperty('--ion-safe-area-left', '76px'); app.style.setProperty('--ion-safe-area-right', '84px'); const offsets = []; diff --git a/demo/ios/NativeUIShellTests/NativeUIShellTests.swift b/demo/ios/NativeUIShellTests/NativeUIShellTests.swift index cd3fcfd8..d8cbfdb1 100644 --- a/demo/ios/NativeUIShellTests/NativeUIShellTests.swift +++ b/demo/ios/NativeUIShellTests/NativeUIShellTests.swift @@ -251,10 +251,10 @@ final class NativeUIShellTests: XCTestCase { capture("native-tab-settings") } - func testNativeFoldableRail() throws { + func testNativeVerticalBars() throws { let app = XCUIApplication(bundleIdentifier: "io.ionic.theme.ios27") app.launch() - let toggle = app.webViews.switches["Foldable Mode"] + let toggle = app.webViews.switches["iPhone Duo Mode"] XCTAssertTrue(toggle.waitForExistence(timeout: 15), app.debugDescription) if toggle.value as? String == "0" { toggle.tap() } @@ -262,13 +262,13 @@ final class NativeUIShellTests: XCTestCase { let library = app.buttons["Library"] XCTAssertTrue(index.waitForExistence(timeout: 10), app.debugDescription) XCTAssertTrue(library.waitForExistence(timeout: 10), app.debugDescription) - assertOnFoldableRail(index, in: app) + assertOnVerticalBars(index, in: app) library.tap() XCTAssertTrue(app.webViews.staticTexts["Library"].firstMatch.waitForExistence(timeout: 5), "The native tab did not project its activation to Web\n" + app.debugDescription) XCTAssertTrue(library.isSelected, app.debugDescription) index.tap() XCTAssertTrue(toggle.waitForExistence(timeout: 5), app.debugDescription) - capture("native-foldable-index") + capture("native-vertical-bars-index") openPage(app, name: "native-ui-shell") let save = nativeButton(app, label: "Save") XCTAssertTrue(save.waitForExistence(timeout: 10), app.debugDescription) @@ -282,11 +282,11 @@ final class NativeUIShellTests: XCTestCase { XCTAssertTrue(refresh.waitForExistence(timeout: 5), app.debugDescription) refresh.tap() XCTAssertTrue(app.webViews.staticTexts["Actions: 1 / 1"].waitForExistence(timeout: 5), app.debugDescription) - capture("native-foldable-toolbar") + capture("native-vertical-bars-toolbar") let back = app.buttons["BackButton"] XCTAssertTrue(back.waitForExistence(timeout: 5), app.debugDescription) - assertOnFoldableRail(back, in: app) + assertOnVerticalBars(back, in: app) back.tap() XCTAssertTrue(toggle.waitForExistence(timeout: 10), app.debugDescription) XCTAssertTrue(nativeButton(app, label: "GitHub").waitForExistence(timeout: 10), "Index toolbar did not return after native back\n" + app.debugDescription) @@ -297,20 +297,20 @@ final class NativeUIShellTests: XCTestCase { pageMenu.tap() let menuLink = app.webViews.links["Docs"] XCTAssertTrue(menuLink.waitForExistence(timeout: 5), app.debugDescription) - capture("native-foldable-menu-open") + capture("native-vertical-bars-menu-open") for control in [pageMenu, back, save, library] { - XCTAssertTrue(control.waitForExistence(timeout: 5), "Every foldable rail control must remain native while the menu is open\n" + app.debugDescription) - assertOnFoldableRail(control, in: app) - XCTAssertTrue(control.isEnabled, "Foldable rail controls must remain enabled while Ionic disables the covered page\n" + app.debugDescription) + XCTAssertTrue(control.waitForExistence(timeout: 5), "Every verticalBars rail control must remain native while the menu is open\n" + app.debugDescription) + assertOnVerticalBars(control, in: app) + XCTAssertTrue(control.isEnabled, "VerticalBars rail controls must remain enabled while Ionic disables the covered page\n" + app.debugDescription) } save.tap() app.coordinate(withNormalizedOffset: CGVector(dx: 0.81, dy: 0.55)).tap() XCTAssertTrue(menuLink.waitForNonExistence(timeout: 5), "The projected Ionic menu button did not close its menu\n" + app.debugDescription) XCTAssertTrue(savedOnce(app).waitForExistence(timeout: 5), "The native control stopped projecting actions while the menu was open\n" + app.debugDescription) - capture("native-foldable-after-menu") + capture("native-vertical-bars-after-menu") } - private func assertOnFoldableRail(_ element: XCUIElement, in app: XCUIApplication, + private func assertOnVerticalBars(_ element: XCUIElement, in app: XCUIApplication, file: StaticString = #filePath, line: UInt = #line) { XCTAssertGreaterThan(element.frame.midX, app.frame.width * 0.8, "Expected native control on the physical right rail, got \(element.frame) in \(app.frame)", diff --git a/demo/src/app/docs/docs-content.generated.ts b/demo/src/app/docs/docs-content.generated.ts index dab40a24..5409abb3 100644 --- a/demo/src/app/docs/docs-content.generated.ts +++ b/demo/src/app/docs/docs-content.generated.ts @@ -1,3 +1,3 @@ // Generated from docs/special-markup.md. Do not edit directly. export const docsContentHtml = - '

      Special markup and classes

      \n

      Most Ionic markup works without changes. The combinations below are explicit opt-ins provided by the theme.

      \n

      Primary submit buttons

      \n

      Solid submit buttons use the Ionic color's contrast value for their foreground. Their directional edge treatment follows the iOS 27 prominent-button appearance and does not require an additional brightness color.

      \n
      <ion-button type="submit" color="primary">Submit</ion-button>\n<ion-button class="button-submit" fill="solid" color="primary">Continue</ion-button>
      \n\n
      \n
      Preview
      \nSubmit\nContinue\n
      \n\n

      Use .button-submit when the button needs the same treatment but cannot use type="submit".

      \n

      Preferred overlay actions

      \n

      For iOS alerts and action sheets, set role: 'preferred' on a button to give it a filled --ion-color-primary background and --ion-color-primary-contrast text and icons. While pressed, the background uses --ion-color-primary-shade. This is a theme convention using Ionic's custom button roles; it does not automatically select or invoke the action. Dismissal reports the role as preferred.

      \n
      buttons: [\n  { text: \'Cancel\', role: \'cancel\' },\n  { text: \'Continue\', role: \'preferred\' },\n];
      \n\n

      Buttons with no role or default keep the normal text color. cancel retains Ionic's cancellation behavior, selected remains a selection state, and destructive uses --ios-theme-destructive-color. An existing confirm role is not treated as preferred. Use preferred for the recommended action, not simply any action that confirms a choice.

      \n

      Floating iPad sheets

      \n

      Set expandToScroll: false on a sheet modal to use floating lower corners and a 20px bottom gap on iPad. Ionic then sizes the visible page at each breakpoint, so the theme can style it with CSS alone. Content scrolls within the current breakpoint; dragging the handle still resizes the sheet. With the default expandToScroll: true, the sheet keeps Ionic's bottom-attached layout and scroll-to-expand behavior.

      \n

      Tab bar position

      \n

      Add one of tab-bar-position-start, tab-bar-position-center, or tab-bar-position-end to an iOS ion-tab-bar to position the whole bar within its safe area. These classes work with both slot="top" and slot="bottom" and preserve the bar's width and press animation. Start and end follow the text direction (reversed in RTL). Without a class, the existing placement is unchanged.

      \n
      <ion-tab-bar slot="bottom" class="tab-bar-position-center">\n  <ion-tab-button tab="home">Home</ion-tab-button>\n  <ion-tab-button tab="settings">Settings</ion-tab-button>\n</ion-tab-bar>
      \n\n

      These classes do not reposition a separate ion-fab; leave room for it when choosing the bar's position.

      \n

      Foldable layouts

      \n

      To simulate the iPhone Duo layout on the web, add .ios-theme-enable-foldable to the active ion-app. Use body only when the application has no ion-app root:

      \n
      <ion-app class="ios-theme-enable-foldable">...</ion-app>
      \n\n

      The class reserves 80px on the physical right by default, matching the system navigation region measured in the iPhone Duo Simulator. The physical left defaults to 0px. Override --ios-theme-foldable-safe-area-left or --ios-theme-foldable-safe-area-right when simulating a different foldable layout.

      \n

      This keeps routers and component backgrounds full-viewport. ion-content moves its scroll foreground, ion-toolbar moves its container foreground, and ion-fab adjusts only when it is placed beside the system UI. The corresponding Ionic safe-area variable is reset inside those foreground components so descendants do not add the inset again.

      \n

      ion-menu, ion-modal, and ion-popover are handled as separate surfaces: their internal foreground components do not receive the main-page conversion and retain Ionic's standard safe-area handling. A menu presented beside the system UI keeps Ionic's full-viewport animation host and offsets only its visible container by the corresponding inset; a menu from the opposite side is unchanged. Left and right remain physical coordinates in RTL, while Ionic's side="start" and side="end" values remain logical.

      \n

      The foldable values are web-layout simulation inputs. They are independent from Ionic's normal iPhone safe-area variables and do not change ordinary iPhone layouts unless the opt-in class is present.

      \n

      When the app contains ion-tabs, foldable mode moves its iOS tab bar into the physical right-side reserved region and aligns it above the bottom safe area. The Ionic slot value does not select a different foldable position. Without Native UI Shell, the stable Web rail is icon-only, matching a four-tab SwiftUI TabView on iPhone Duo. While the user presses and drags across that rail, every icon-and-label tab reveals its label so the pending destination stays identifiable. The Web tab bar receives pointer input in the simulated system region. Use ion-menu when navigation should become a sidebar; foldable mode does not convert tabs into a menu.

      \n

      On supported iOS versions, initializing enableNativeUIShell() at application startup hands eligible foldable tabs, back navigation, menu buttons, and fixed-toolbar actions to a native SwiftUI TabView and toolbar. The Ionic controls remain the sources of labels, icons, selected/disabled state, form submission, routing, and click handlers while SwiftUI owns adaptive placement and interaction. Fixed-toolbar actions need an icon or SVG, no direct text node, and standard fill="default" or fill="clear" to be eligible for the side rail. Text-only actions stay in the original Web toolbar. Placement is chosen when a routed page enters; changing an existing button's content does not move it between the toolbar and rail until the page leaves and re-enters. Menus, modals, and popovers retain their own toolbar layout.

      \n

      On Web, Android, older iOS, or when native projection is unavailable during setup, the Web tab bar and fixed-toolbar clones remain the fallback. Those projections also work when no ion-tabs exists; text-only actions stay in the original Web toolbar. Disabling foldable mode or leaving the page removes the native ownership or Web clones and restores their sources. Override --ios-theme-foldable-toolbar-top when the simulated system controls use a different vertical layout.

      \n

      Two-line inset list items

      \n

      Place an unslotted ion-label immediately alongside an unslotted ion-note to render a two-line item. When using the iOS-style inset-list background, wrap the items in ion-item-group; keep ion-list-header outside the group.

      \n
      <ion-list inset="true">\n  <ion-list-header>\n    <ion-label>Connections</ion-label>\n  </ion-list-header>\n  <ion-item-group>\n    <ion-item>\n      <ion-label>Network &amp; internet</ion-label>\n      <ion-note>Mobile, Wi-Fi, hotspot</ion-note>\n    </ion-item>\n  </ion-item-group>\n</ion-list>
      \n\n
      \n
      Preview
      \n\n \n Connections\n \n \n \n Network & internet\n Mobile, Wi-Fi, hotspot\n \n \n\n
      \n\n

      Use slot="end" on ion-note when you want the standard trailing-note layout instead.

      \n

      Inset-list section headers

      \n

      Add .item-group-header to an ion-item-group to create the centered icon, title, and description used at the top of the component demo pages.

      \n

      This is an introductory group. Place regular list items in a separate ion-item-group that follows it.

      \n
      <ion-list inset="true">\n  <ion-item-group class="item-group-header">\n    <ion-item>\n      <ion-label>\n        <ion-icon name="list" style="background: var(--ion-color-primary)"></ion-icon>\n        <h2>Lists</h2>\n        <ion-text>Inset-list examples</ion-text>\n      </ion-label>\n    </ion-item>\n  </ion-item-group>\n  <ion-item-group>\n    <ion-item><ion-label>First item</ion-label></ion-item>\n  </ion-item-group>\n</ion-list>
      \n\n
      \n
      Preview
      \n\n \n \n \n \n

      Lists

      \n Inset-list examples\n
      \n
      \n
      \n \n First item\n \n
      \n
      \n\n

      Full-width segments

      \n

      Add .segment-style-glass to give a segment the same glass surface and selected indicator treatment as the tab bar. The class preserves the segment's existing dimensions and text colors, supports scrollable segments, and respects Ionic's public --background property.

      \n
      <ion-segment class="segment-style-glass" value="available">\n  <ion-segment-button value="available">Available</ion-segment-button>\n  <ion-segment-button value="away">Away</ion-segment-button>\n</ion-segment>
      \n\n

      For colored segments, use Ionic's color property (for example, color="primary" or color="secondary"). Ionic uses the palette's base color for the softly tinted track while keeping the selected surface and labels neutral. A surrounding colored toolbar only supplies colors when the segment has no color of its own. The optional moving glass inherits the selected surface color, and custom Ionic palettes work without additional registration.

      \n

      Add .segment-expand when segment buttons should divide the available width evenly. The class also changes the Liquid Glass effect sizing when registerSegmentEffect is used.

      \n

      Segments use a 32px minimum height in content and a 48px minimum height inside ion-toolbar. .segment-expand keeps the compact 32px layout in a toolbar. Compact segments retain Ionic's flat background and indicator colors; only the regular toolbar variant has a glass container and scales its outer container while pressed. Content and expanded segments keep their outer bounds. The optional moving glass lens is independent of the container's background.

      \n
      <ion-segment class="segment-expand" value="new">\n  <ion-segment-button value="new"><ion-label>New</ion-label></ion-segment-button>\n  <ion-segment-button value="replied"><ion-label>Replied</ion-label></ion-segment-button>\n</ion-segment>
      \n\n
      \n
      Preview
      \n\n New\n Replied\n\n
      \n\n

      Classic search bar in a condense header

      \n

      The theme gives iOS search bars the iOS 27 appearance by default. Add .searchbar-classic to the search field shown beneath a large title in an ion-header with collapse="condense". It uses the conventional filled iOS appearance and collapses with the large title instead of remaining in the fixed header.

      \n

      Place it in a toolbar with a color, such as color="light"; the classic background is derived from that color's contrast value.

      \n

      The example uses Ionic's standard collapsible large-title structure. Scroll the preview to collapse the large title and reveal the fixed header.

      \n
      <div class="ion-page">\n  <ion-header translucent="true">\n    <ion-toolbar color="light">\n      <ion-title>Search</ion-title>\n    </ion-toolbar>\n  </ion-header>\n  <ion-content color="light" fullscreen="true">\n    <ion-header collapse="condense">\n      <ion-toolbar color="light">\n        <ion-title size="large">Search</ion-title>\n      </ion-toolbar>\n      <ion-toolbar color="light">\n        <ion-searchbar class="searchbar-classic" placeholder="Filter results"></ion-searchbar>\n      </ion-toolbar>\n    </ion-header>\n    <ion-list inset="true">\n      <ion-item-group>\n        <ion-item><ion-label>Recent item 1</ion-label></ion-item>\n        <ion-item><ion-label>Recent item 2</ion-label></ion-item>\n        <ion-item><ion-label>Recent item 3</ion-label></ion-item>\n        <ion-item><ion-label>Recent item 4</ion-label></ion-item>\n        <ion-item><ion-label>Recent item 5</ion-label></ion-item>\n        <ion-item><ion-label>Recent item 6</ion-label></ion-item>\n        <ion-item><ion-label>Recent item 7</ion-label></ion-item>\n        <ion-item><ion-label>Recent item 8</ion-label></ion-item>\n        <ion-item><ion-label>Recent item 9</ion-label></ion-item>\n        <ion-item><ion-label>Recent item 10</ion-label></ion-item>\n      </ion-item-group>\n    </ion-list>\n  </ion-content>\n</div>
      \n\n
      \n
      Preview
      \n
      \n \n \n Search\n \n \n \n \n \n Search\n \n \n \n \n \n \n \n Recent item 1\n Recent item 2\n Recent item 3\n Recent item 4\n Recent item 5\n Recent item 6\n Recent item 7\n Recent item 8\n Recent item 9\n Recent item 10\n \n \n \n
      \n
      \n\n

      The .ion-page wrapper makes this embedded preview behave like a complete routed page. An application using ion-router-outlet normally receives that page container automatically. The inset list and its items only provide enough content to demonstrate scrolling; they are not required by .searchbar-classic.

      \n

      Search-bar toolbars

      \n

      Add .toolbar-searchbar when an ion-toolbar combines a search bar with start or end buttons. The class centers the slotted controls and adjusts the spacing around the search field.

      \n
      <ion-toolbar class="toolbar-searchbar">\n  <ion-buttons slot="start">\n    <ion-button>Cancel</ion-button>\n  </ion-buttons>\n  <ion-searchbar></ion-searchbar>\n</ion-toolbar>
      \n\n
      \n
      Preview
      \n\n \n Cancel\n \n \n\n
      \n\n

      Opting out

      \n

      Add .ios-theme-disabled to an individual Ionic component when it must retain Ionic's standard iOS styling.

      \n

      .ios26-disabled is deprecated but remains supported as an alias with the same behavior. Use .ios-theme-disabled for new code.

      \n
      <ion-button>iOS 27 theme</ion-button> <ion-button class="ios-theme-disabled">Standard Ionic button</ion-button>
      \n\n
      \n
      Preview
      \niOS 27 theme Standard Ionic button\n
      \n\n

      For the background model behind inset lists, see Using ion-item-group.

      \n'; + '

      Special markup and classes

      \n

      Most Ionic markup works without changes. The combinations below are explicit opt-ins provided by the theme.

      \n

      Primary submit buttons

      \n

      Solid submit buttons use the Ionic color's contrast value for their foreground. Their directional edge treatment follows the iOS 27 prominent-button appearance and does not require an additional brightness color.

      \n
      <ion-button type="submit" color="primary">Submit</ion-button>\n<ion-button class="button-submit" fill="solid" color="primary">Continue</ion-button>
      \n\n
      \n
      Preview
      \nSubmit\nContinue\n
      \n\n

      Use .button-submit when the button needs the same treatment but cannot use type="submit".

      \n

      Preferred overlay actions

      \n

      For iOS alerts and action sheets, set role: 'preferred' on a button to give it a filled --ion-color-primary background and --ion-color-primary-contrast text and icons. While pressed, the background uses --ion-color-primary-shade. This is a theme convention using Ionic's custom button roles; it does not automatically select or invoke the action. Dismissal reports the role as preferred.

      \n
      buttons: [\n  { text: \'Cancel\', role: \'cancel\' },\n  { text: \'Continue\', role: \'preferred\' },\n];
      \n\n

      Buttons with no role or default keep the normal text color. cancel retains Ionic's cancellation behavior, selected remains a selection state, and destructive uses --ios-theme-destructive-color. An existing confirm role is not treated as preferred. Use preferred for the recommended action, not simply any action that confirms a choice.

      \n

      Floating iPad sheets

      \n

      Set expandToScroll: false on a sheet modal to use floating lower corners and a 20px bottom gap on iPad. Ionic then sizes the visible page at each breakpoint, so the theme can style it with CSS alone. Content scrolls within the current breakpoint; dragging the handle still resizes the sheet. With the default expandToScroll: true, the sheet keeps Ionic's bottom-attached layout and scroll-to-expand behavior.

      \n

      Tab bar position

      \n

      Add one of tab-bar-position-start, tab-bar-position-center, or tab-bar-position-end to an iOS ion-tab-bar to position the whole bar within its safe area. These classes work with both slot="top" and slot="bottom" and preserve the bar's width and press animation. Start and end follow the text direction (reversed in RTL). Without a class, the existing placement is unchanged.

      \n
      <ion-tab-bar slot="bottom" class="tab-bar-position-center">\n  <ion-tab-button tab="home">Home</ion-tab-button>\n  <ion-tab-button tab="settings">Settings</ion-tab-button>\n</ion-tab-bar>
      \n\n

      These classes do not reposition a separate ion-fab; leave room for it when choosing the bar's position.

      \n

      Support iPhone Duo

      \n

      To simulate the iPhone Duo layout on the web, add .ios-theme-vertical-bars to the active ion-app. Use body only when the application has no ion-app root:

      \n
      <ion-app class="ios-theme-vertical-bars">...</ion-app>
      \n\n

      The class reserves 80px on the physical right by default, matching the system navigation region measured in the iPhone Duo Simulator. The physical left defaults to 0px. Override --ios-theme-vertical-bars-safe-area-left or --ios-theme-vertical-bars-safe-area-right when simulating a different layout.

      \n

      This keeps routers and component backgrounds full-viewport. ion-content moves its scroll foreground, ion-toolbar moves its container foreground, and ion-fab adjusts only when it is placed beside the system UI. The corresponding Ionic safe-area variable is reset inside those foreground components so descendants do not add the inset again.

      \n

      ion-menu, ion-modal, and ion-popover are handled as separate surfaces: their internal foreground components do not receive the main-page conversion and retain Ionic's standard safe-area handling. A menu presented beside the system UI keeps Ionic's full-viewport animation host and offsets only its visible container by the corresponding inset; a menu from the opposite side is unchanged. Left and right remain physical coordinates in RTL, while Ionic's side="start" and side="end" values remain logical.

      \n

      These values are web-layout simulation inputs. They are independent from Ionic's normal iPhone safe-area variables and do not change ordinary iPhone layouts unless the opt-in class is present.

      \n

      When the app contains ion-tabs, this mode moves its iOS tab bar into the physical right-side reserved region and aligns it above the bottom safe area. The Ionic slot value does not select a different position. Without Native UI Shell, the stable Web rail is icon-only, matching a four-tab SwiftUI TabView on iPhone Duo. While the user presses and drags across that rail, every icon-and-label tab reveals its label so the pending destination stays identifiable. The Web tab bar receives pointer input in the simulated system region. Use ion-menu when navigation should become a sidebar; this mode does not convert tabs into a menu.

      \n

      On supported iOS versions, initializing enableNativeUIShell() at application startup hands eligible tabs, back navigation, menu buttons, and fixed-toolbar actions to a native SwiftUI TabView and toolbar. The Ionic controls remain the sources of labels, icons, selected/disabled state, form submission, routing, and click handlers while SwiftUI owns adaptive placement and interaction. Fixed-toolbar actions need an icon or SVG, no direct text node, and standard fill="default" or fill="clear" to be eligible for the side rail. Text-only actions stay in the original Web toolbar. Add .ios-theme-horizontal-only to an ion-buttons group or individual ion-button to keep it in the Web toolbar. Placement is chosen when a routed page enters; changing an existing button's content does not move it between the toolbar and rail until the page leaves and re-enters. Menus, modals, and popovers retain their own toolbar layout.

      \n

      On Web, Android, older iOS, or when native projection is unavailable during setup, the Web tab bar and fixed-toolbar clones remain the fallback. Those projections also work when no ion-tabs exists; text-only actions stay in the original Web toolbar. Disabling the mode or leaving the page removes the native ownership or Web clones and restores their sources. Override --ios-theme-vertical-bars-toolbar-top when the simulated system controls use a different vertical layout.

      \n

      Two-line inset list items

      \n

      Place an unslotted ion-label immediately alongside an unslotted ion-note to render a two-line item. When using the iOS-style inset-list background, wrap the items in ion-item-group; keep ion-list-header outside the group.

      \n
      <ion-list inset="true">\n  <ion-list-header>\n    <ion-label>Connections</ion-label>\n  </ion-list-header>\n  <ion-item-group>\n    <ion-item>\n      <ion-label>Network &amp; internet</ion-label>\n      <ion-note>Mobile, Wi-Fi, hotspot</ion-note>\n    </ion-item>\n  </ion-item-group>\n</ion-list>
      \n\n
      \n
      Preview
      \n\n \n Connections\n \n \n \n Network & internet\n Mobile, Wi-Fi, hotspot\n \n \n\n
      \n\n

      Use slot="end" on ion-note when you want the standard trailing-note layout instead.

      \n

      Inset-list section headers

      \n

      Add .item-group-header to an ion-item-group to create the centered icon, title, and description used at the top of the component demo pages.

      \n

      This is an introductory group. Place regular list items in a separate ion-item-group that follows it.

      \n
      <ion-list inset="true">\n  <ion-item-group class="item-group-header">\n    <ion-item>\n      <ion-label>\n        <ion-icon name="list" style="background: var(--ion-color-primary)"></ion-icon>\n        <h2>Lists</h2>\n        <ion-text>Inset-list examples</ion-text>\n      </ion-label>\n    </ion-item>\n  </ion-item-group>\n  <ion-item-group>\n    <ion-item><ion-label>First item</ion-label></ion-item>\n  </ion-item-group>\n</ion-list>
      \n\n
      \n
      Preview
      \n\n \n \n \n \n

      Lists

      \n Inset-list examples\n
      \n
      \n
      \n \n First item\n \n
      \n
      \n\n

      Full-width segments

      \n

      Add .segment-style-glass to give a segment the same glass surface and selected indicator treatment as the tab bar. The class preserves the segment's existing dimensions and text colors, supports scrollable segments, and respects Ionic's public --background property.

      \n
      <ion-segment class="segment-style-glass" value="available">\n  <ion-segment-button value="available">Available</ion-segment-button>\n  <ion-segment-button value="away">Away</ion-segment-button>\n</ion-segment>
      \n\n

      For colored segments, use Ionic's color property (for example, color="primary" or color="secondary"). Ionic uses the palette's base color for the softly tinted track while keeping the selected surface and labels neutral. A surrounding colored toolbar only supplies colors when the segment has no color of its own. The optional moving glass inherits the selected surface color, and custom Ionic palettes work without additional registration.

      \n

      Add .segment-expand when segment buttons should divide the available width evenly. The class also changes the Liquid Glass effect sizing when registerSegmentEffect is used.

      \n

      Segments use a 32px minimum height in content and a 48px minimum height inside ion-toolbar. .segment-expand keeps the compact 32px layout in a toolbar. Compact segments retain Ionic's flat background and indicator colors; only the regular toolbar variant has a glass container and scales its outer container while pressed. Content and expanded segments keep their outer bounds. The optional moving glass lens is independent of the container's background.

      \n
      <ion-segment class="segment-expand" value="new">\n  <ion-segment-button value="new"><ion-label>New</ion-label></ion-segment-button>\n  <ion-segment-button value="replied"><ion-label>Replied</ion-label></ion-segment-button>\n</ion-segment>
      \n\n
      \n
      Preview
      \n\n New\n Replied\n\n
      \n\n

      Classic search bar in a condense header

      \n

      The theme gives iOS search bars the iOS 27 appearance by default. Add .searchbar-classic to the search field shown beneath a large title in an ion-header with collapse="condense". It uses the conventional filled iOS appearance and collapses with the large title instead of remaining in the fixed header.

      \n

      Place it in a toolbar with a color, such as color="light"; the classic background is derived from that color's contrast value.

      \n

      The example uses Ionic's standard collapsible large-title structure. Scroll the preview to collapse the large title and reveal the fixed header.

      \n
      <div class="ion-page">\n  <ion-header translucent="true">\n    <ion-toolbar color="light">\n      <ion-title>Search</ion-title>\n    </ion-toolbar>\n  </ion-header>\n  <ion-content color="light" fullscreen="true">\n    <ion-header collapse="condense">\n      <ion-toolbar color="light">\n        <ion-title size="large">Search</ion-title>\n      </ion-toolbar>\n      <ion-toolbar color="light">\n        <ion-searchbar class="searchbar-classic" placeholder="Filter results"></ion-searchbar>\n      </ion-toolbar>\n    </ion-header>\n    <ion-list inset="true">\n      <ion-item-group>\n        <ion-item><ion-label>Recent item 1</ion-label></ion-item>\n        <ion-item><ion-label>Recent item 2</ion-label></ion-item>\n        <ion-item><ion-label>Recent item 3</ion-label></ion-item>\n        <ion-item><ion-label>Recent item 4</ion-label></ion-item>\n        <ion-item><ion-label>Recent item 5</ion-label></ion-item>\n        <ion-item><ion-label>Recent item 6</ion-label></ion-item>\n        <ion-item><ion-label>Recent item 7</ion-label></ion-item>\n        <ion-item><ion-label>Recent item 8</ion-label></ion-item>\n        <ion-item><ion-label>Recent item 9</ion-label></ion-item>\n        <ion-item><ion-label>Recent item 10</ion-label></ion-item>\n      </ion-item-group>\n    </ion-list>\n  </ion-content>\n</div>
      \n\n
      \n
      Preview
      \n
      \n \n \n Search\n \n \n \n \n \n Search\n \n \n \n \n \n \n \n Recent item 1\n Recent item 2\n Recent item 3\n Recent item 4\n Recent item 5\n Recent item 6\n Recent item 7\n Recent item 8\n Recent item 9\n Recent item 10\n \n \n \n
      \n
      \n\n

      The .ion-page wrapper makes this embedded preview behave like a complete routed page. An application using ion-router-outlet normally receives that page container automatically. The inset list and its items only provide enough content to demonstrate scrolling; they are not required by .searchbar-classic.

      \n

      Search-bar toolbars

      \n

      Add .toolbar-searchbar when an ion-toolbar combines a search bar with start or end buttons. The class centers the slotted controls and adjusts the spacing around the search field.

      \n
      <ion-toolbar class="toolbar-searchbar">\n  <ion-buttons slot="start">\n    <ion-button>Cancel</ion-button>\n  </ion-buttons>\n  <ion-searchbar></ion-searchbar>\n</ion-toolbar>
      \n\n
      \n
      Preview
      \n\n \n Cancel\n \n \n\n
      \n\n

      Opting out

      \n

      Add .ios-theme-disabled to an individual Ionic component when it must retain Ionic's standard iOS styling.

      \n

      .ios26-disabled is deprecated but remains supported as an alias with the same behavior. Use .ios-theme-disabled for new code.

      \n
      <ion-button>iOS 27 theme</ion-button> <ion-button class="ios-theme-disabled">Standard Ionic button</ion-button>
      \n\n
      \n
      Preview
      \niOS 27 theme Standard Ionic button\n
      \n\n

      For the background model behind inset lists, see Using ion-item-group.

      \n'; diff --git a/demo/src/app/index/index-page.component.html b/demo/src/app/index/index-page.component.html index 2ba70cad..1c12496c 100644 --- a/demo/src/app/index/index-page.component.html +++ b/demo/src/app/index/index-page.component.html @@ -24,7 +24,7 @@ Settings - Foldable Mode + iPhone Duo Mode Dark Mode diff --git a/demo/src/app/index/index-page.component.ts b/demo/src/app/index/index-page.component.ts index a22a5f3b..96a9b294 100644 --- a/demo/src/app/index/index-page.component.ts +++ b/demo/src/app/index/index-page.component.ts @@ -84,8 +84,8 @@ export class IndexPageComponent { readonly #route = inject(ActivatedRoute); readonly #document = inject(DOCUMENT); - get foldableModeEnabled() { - return this.#document.querySelector('ion-app')?.classList.contains('ios-theme-enable-foldable') ?? false; + get verticalBarsModeEnabled() { + return this.#document.querySelector('ion-app')?.classList.contains('ios-theme-vertical-bars') ?? false; } async navigateNativeUiShell() { @@ -100,7 +100,7 @@ export class IndexPageComponent { this.#document.documentElement.classList.toggle('ion-palette-dark', event.detail.checked); } - changeFoldableMode(event: ToggleCustomEvent) { - this.#document.querySelector('ion-app')?.classList.toggle('ios-theme-enable-foldable', event.detail.checked); + changeVerticalBarsMode(event: ToggleCustomEvent) { + this.#document.querySelector('ion-app')?.classList.toggle('ios-theme-vertical-bars', event.detail.checked); } } diff --git a/demo/src/native-ui-shell-transition.spec.ts b/demo/src/native-ui-shell-transition.spec.ts index 60cfd220..698052ab 100644 --- a/demo/src/native-ui-shell-transition.spec.ts +++ b/demo/src/native-ui-shell-transition.spec.ts @@ -1,7 +1,7 @@ import { expect, test } from 'vitest'; import { connectNativeUIShellTransition, - FOLDABLE_TRANSITION_CANCELED, + VERTICAL_BARS_TRANSITION_CANCELED, getNativeSearchBindings, registerNativeSearch, setNativeUIShellIntegration, @@ -104,7 +104,7 @@ test('a canceled Web transition releases the still-active leaving page', () => { const animation = { onFinish: (callback: typeof finish) => (finish = callback) } as unknown as Animation; let cancellations = 0; let canceledEntering: HTMLElement | undefined; - leaving.addEventListener(FOLDABLE_TRANSITION_CANCELED, (event) => { + leaving.addEventListener(VERTICAL_BARS_TRANSITION_CANCELED, (event) => { cancellations++; canceledEntering = (event as CustomEvent<{ entering: HTMLElement }>).detail.entering; }); diff --git a/demo/src/foldable-web.spec.ts b/demo/src/vertical-bars-web.spec.ts similarity index 62% rename from demo/src/foldable-web.spec.ts rename to demo/src/vertical-bars-web.spec.ts index 172c9436..4a6c72e8 100644 --- a/demo/src/foldable-web.spec.ts +++ b/demo/src/vertical-bars-web.spec.ts @@ -1,9 +1,9 @@ import { expect, test } from 'vitest'; -import { createFoldableWebProjection } from '../../src/native/foldable-web'; +import { createVerticalBarsWebProjection } from '../../src/native/vertical-bars-web'; const mountEligibleBackButton = () => { document.body.innerHTML = ` - +
      @@ -16,21 +16,21 @@ const mountEligibleBackButton = () => { const nextFrame = () => new Promise((resolve) => requestAnimationFrame(() => resolve())); -test('toolbar opt-out leaves an otherwise eligible foldable back button under application ownership', async () => { +test('toolbar opt-out leaves an otherwise eligible verticalBars back button under application ownership', async () => { mountEligibleBackButton(); - const enabled = createFoldableWebProjection(document, {}); + const enabled = createVerticalBarsWebProjection(document, {}); await nextFrame(); expect(enabled.getStatus().projected).toBe(1); - expect(document.querySelector('.ios-theme-foldable-back-button-projection')).not.toBeNull(); + expect(document.querySelector('.ios-theme-vertical-bars-back-button-projection')).not.toBeNull(); await enabled.destroy(); mountEligibleBackButton(); - const handle = createFoldableWebProjection(document, { controls: { tabs: true } }); + const handle = createVerticalBarsWebProjection(document, { controls: { tabs: true } }); await nextFrame(); expect(handle.getStatus()).toEqual({ state: 'web', projected: 0, updates: 0 }); expect(document.querySelector('ion-back-button')?.hasAttribute('data-native-ui-shell')).toBe(false); - expect(document.querySelector('.ios-theme-foldable-back-button-projection')).toBeNull(); + expect(document.querySelector('.ios-theme-vertical-bars-back-button-projection')).toBeNull(); await handle.destroy(); }); diff --git a/docs/native-ui-shell.md b/docs/native-ui-shell.md index 25435640..8738524b 100644 --- a/docs/native-ui-shell.md +++ b/docs/native-ui-shell.md @@ -167,13 +167,13 @@ Suspensions are nestable and `resume()` is idempotent. Native projection resumes The native material and control appearance follow the running iOS version; an iOS 26 device does not acquire iOS 27's appearance merely by installing this theme. -## Foldable controls +## Support iPhone Duo -On supported iOS versions, adding `.ios-theme-enable-foldable` changes only controls that the system relocates into the physical side rail. Native UI Shell presents eligible tabs, back navigation, menu buttons, and toolbar actions through a SwiftUI `TabView` and toolbar only when iOS reports a physical right-side safe area large enough for that rail. SwiftUI owns their adaptive placement and Liquid Glass appearance; Ionic remains the source of labels, icons, selected/disabled state, routing, form submission, and click handlers. +On supported iOS versions, adding `.ios-theme-vertical-bars` changes only controls that the system relocates into the physical side rail. Native UI Shell presents eligible tabs, back navigation, menu buttons, and toolbar actions through a SwiftUI `TabView` and toolbar only when iOS reports a physical right-side safe area large enough for that rail. SwiftUI owns their adaptive placement and Liquid Glass appearance; Ionic remains the source of labels, icons, selected/disabled state, routing, form submission, and click handlers. The SwiftUI surface is clipped and hit-tested to the system rail. Web content remains visible and interactive outside that physical region. The runtime optimistically updates tab selection before forwarding the action to the original `ion-tab-button`, using the same event and stale-revision protection as the other native controls. Menus, modals, and popovers remain independent surfaces and are not moved into the main-page rail. -The foldable exception accepts standard `fill="default"` and `fill="clear"` fixed-toolbar buttons because SwiftUI determines their compact representation. Solid, outline, custom-color, scrolling, and explicitly opted-out controls remain on the Web. On Web, Android, older iOS, or when native projection is unavailable during setup, the existing foldable Web projection remains the fallback. +This mode accepts standard `fill="default"` and `fill="clear"` fixed-toolbar buttons because SwiftUI determines their compact representation. Solid, outline, custom-color, scrolling, and explicitly opted-out controls remain on the Web. Add `.ios-theme-horizontal-only` to an `ion-buttons` group or individual `ion-button` to keep it in the horizontal Web toolbar. On Web, Android, older iOS, or when native projection is unavailable during setup, the Web projection remains the fallback. ## Native UI Shell API @@ -181,10 +181,10 @@ The generated reference below documents the handle returned by `enableNativeUISh -- [`getStatus()`](#getstatus) -- [`suspend()`](#suspend) -- [`destroy()`](#destroy) -- [Interfaces](#interfaces) +* [`getStatus()`](#getstatus) +* [`suspend()`](#suspend) +* [`destroy()`](#destroy) +* [Interfaces](#interfaces) @@ -201,7 +201,8 @@ Returns the current Web/native projection state. **Returns:** NativeUIShellStatus ---- +-------------------- + ### suspend() @@ -213,7 +214,8 @@ Restores projected controls to the Web until the returned lease is resumed. **Returns:** Promise<NativeUIShellSuspension> ---- +-------------------- + ### destroy() @@ -223,10 +225,12 @@ destroy() => Promise Stops synchronization, restores Web controls and releases native resources. ---- +-------------------- + ### Interfaces + #### NativeUIShellStatus | Prop | Type | @@ -236,6 +240,7 @@ Stops synchronization, restores Web controls and releases native resources. | **`updates`** | number | | **`reason`** | string | + #### NativeUIShellSuspension | Method | Signature | Description | diff --git a/docs/special-markup.md b/docs/special-markup.md index 343ec4f6..2ff1f6bd 100644 --- a/docs/special-markup.md +++ b/docs/special-markup.md @@ -47,27 +47,27 @@ Add one of `tab-bar-position-start`, `tab-bar-position-center`, or `tab-bar-posi These classes do not reposition a separate `ion-fab`; leave room for it when choosing the bar's position. -## Foldable layouts +## Support iPhone Duo -To simulate the iPhone Duo layout on the web, add `.ios-theme-enable-foldable` to the active `ion-app`. Use `body` only when the application has no `ion-app` root: +To simulate the iPhone Duo layout on the web, add `.ios-theme-vertical-bars` to the active `ion-app`. Use `body` only when the application has no `ion-app` root: ```html -... +... ``` -The class reserves `80px` on the physical right by default, matching the system navigation region measured in the iPhone Duo Simulator. The physical left defaults to `0px`. Override `--ios-theme-foldable-safe-area-left` or `--ios-theme-foldable-safe-area-right` when simulating a different foldable layout. +The class reserves `80px` on the physical right by default, matching the system navigation region measured in the iPhone Duo Simulator. The physical left defaults to `0px`. Override `--ios-theme-vertical-bars-safe-area-left` or `--ios-theme-vertical-bars-safe-area-right` when simulating a different layout. This keeps routers and component backgrounds full-viewport. `ion-content` moves its scroll foreground, `ion-toolbar` moves its container foreground, and `ion-fab` adjusts only when it is placed beside the system UI. The corresponding Ionic safe-area variable is reset inside those foreground components so descendants do not add the inset again. `ion-menu`, `ion-modal`, and `ion-popover` are handled as separate surfaces: their internal foreground components do not receive the main-page conversion and retain Ionic's standard safe-area handling. A menu presented beside the system UI keeps Ionic's full-viewport animation host and offsets only its visible container by the corresponding inset; a menu from the opposite side is unchanged. Left and right remain physical coordinates in RTL, while Ionic's `side="start"` and `side="end"` values remain logical. -The foldable values are web-layout simulation inputs. They are independent from Ionic's normal iPhone safe-area variables and do not change ordinary iPhone layouts unless the opt-in class is present. +These values are web-layout simulation inputs. They are independent from Ionic's normal iPhone safe-area variables and do not change ordinary iPhone layouts unless the opt-in class is present. -When the app contains `ion-tabs`, foldable mode moves its iOS tab bar into the physical right-side reserved region and aligns it above the bottom safe area. The Ionic `slot` value does not select a different foldable position. Without Native UI Shell, the stable Web rail is icon-only, matching a four-tab SwiftUI `TabView` on iPhone Duo. While the user presses and drags across that rail, every icon-and-label tab reveals its label so the pending destination stays identifiable. The Web tab bar receives pointer input in the simulated system region. Use `ion-menu` when navigation should become a sidebar; foldable mode does not convert tabs into a menu. +When the app contains `ion-tabs`, this mode moves its iOS tab bar into the physical right-side reserved region and aligns it above the bottom safe area. The Ionic `slot` value does not select a different position. Without Native UI Shell, the stable Web rail is icon-only, matching a four-tab SwiftUI `TabView` on iPhone Duo. While the user presses and drags across that rail, every icon-and-label tab reveals its label so the pending destination stays identifiable. The Web tab bar receives pointer input in the simulated system region. Use `ion-menu` when navigation should become a sidebar; this mode does not convert tabs into a menu. -On supported iOS versions, initializing `enableNativeUIShell()` at application startup hands eligible foldable tabs, back navigation, menu buttons, and fixed-toolbar actions to a native SwiftUI `TabView` and toolbar. The Ionic controls remain the sources of labels, icons, selected/disabled state, form submission, routing, and click handlers while SwiftUI owns adaptive placement and interaction. Fixed-toolbar actions need an icon or SVG, no direct text node, and standard `fill="default"` or `fill="clear"` to be eligible for the side rail. Text-only actions stay in the original Web toolbar. Placement is chosen when a routed page enters; changing an existing button's content does not move it between the toolbar and rail until the page leaves and re-enters. Menus, modals, and popovers retain their own toolbar layout. +On supported iOS versions, initializing `enableNativeUIShell()` at application startup hands eligible tabs, back navigation, menu buttons, and fixed-toolbar actions to a native SwiftUI `TabView` and toolbar. The Ionic controls remain the sources of labels, icons, selected/disabled state, form submission, routing, and click handlers while SwiftUI owns adaptive placement and interaction. Fixed-toolbar actions need an icon or SVG, no direct text node, and standard `fill="default"` or `fill="clear"` to be eligible for the side rail. Text-only actions stay in the original Web toolbar. Add `.ios-theme-horizontal-only` to an `ion-buttons` group or individual `ion-button` to keep it in the Web toolbar. Placement is chosen when a routed page enters; changing an existing button's content does not move it between the toolbar and rail until the page leaves and re-enters. Menus, modals, and popovers retain their own toolbar layout. -On Web, Android, older iOS, or when native projection is unavailable during setup, the Web tab bar and fixed-toolbar clones remain the fallback. Those projections also work when no `ion-tabs` exists; text-only actions stay in the original Web toolbar. Disabling foldable mode or leaving the page removes the native ownership or Web clones and restores their sources. Override `--ios-theme-foldable-toolbar-top` when the simulated system controls use a different vertical layout. +On Web, Android, older iOS, or when native projection is unavailable during setup, the Web tab bar and fixed-toolbar clones remain the fallback. Those projections also work when no `ion-tabs` exists; text-only actions stay in the original Web toolbar. Disabling the mode or leaving the page removes the native ownership or Web clones and restores their sources. Override `--ios-theme-vertical-bars-toolbar-top` when the simulated system controls use a different vertical layout. ## Two-line inset list items diff --git a/ios/Sources/IonicNativeUIShellPlugin/Components/ShellFoldableRail.swift b/ios/Sources/IonicNativeUIShellPlugin/Components/ShellVerticalBars.swift similarity index 82% rename from ios/Sources/IonicNativeUIShellPlugin/Components/ShellFoldableRail.swift rename to ios/Sources/IonicNativeUIShellPlugin/Components/ShellVerticalBars.swift index e49f904d..df6366ce 100644 --- a/ios/Sources/IonicNativeUIShellPlugin/Components/ShellFoldableRail.swift +++ b/ios/Sources/IonicNativeUIShellPlugin/Components/ShellVerticalBars.swift @@ -2,7 +2,7 @@ import Combine import SwiftUI import UIKit -protocol ShellFoldableRailControlling: AnyObject { +protocol ShellVerticalBarsControlling: AnyObject { var view: UIView { get } func attach(to owner: UIViewController, in parent: UIView) func apply(_ controls: [ShellControl], rendering: ShellRendering) @@ -10,7 +10,7 @@ protocol ShellFoldableRailControlling: AnyObject { } @available(iOS 26.0, *) -final class ShellFoldableRailModel: ObservableObject { +final class ShellVerticalBarsModel: ObservableObject { struct Item: Identifiable { let id: String let label: String @@ -82,8 +82,8 @@ final class ShellFoldableRailModel: ObservableObject { } @available(iOS 26.0, *) -private struct ShellFoldableLabel: View { - let item: ShellFoldableRailModel.Item +private struct ShellVerticalBarsLabel: View { + let item: ShellVerticalBarsModel.Item var body: some View { if let image = item.image { @@ -99,15 +99,15 @@ private struct ShellFoldableLabel: View { } @available(iOS 26.0, *) -private func foldableButton(_ item: ShellFoldableRailModel.Item, model: ShellFoldableRailModel) -> some View { - Button { model.activate(item.id) } label: { ShellFoldableLabel(item: item) } +private func verticalBarsButton(_ item: ShellVerticalBarsModel.Item, model: ShellVerticalBarsModel) -> some View { + Button { model.activate(item.id) } label: { ShellVerticalBarsLabel(item: item) } .disabled(item.disabled) .accessibilityLabel(item.accessibilityLabel) .accessibilityIdentifier(item.id) } @available(iOS 26.0, *) -private func foldableBackButton(_ item: ShellFoldableRailModel.Item, model: ShellFoldableRailModel) -> some View { +private func verticalBarsBackButton(_ item: ShellVerticalBarsModel.Item, model: ShellVerticalBarsModel) -> some View { Button { model.activate(item.id) } label: { Image(systemName: "chevron.backward") } .disabled(item.disabled) .accessibilityLabel(item.accessibilityLabel) @@ -115,7 +115,7 @@ private func foldableBackButton(_ item: ShellFoldableRailModel.Item, model: Shel } @available(iOS 26.0, *) -private struct ShellFoldableBadge: ViewModifier { +private struct ShellVerticalBarsBadge: ViewModifier { let badge: ShellBadge? @ViewBuilder func body(content: Content) -> some View { @@ -125,20 +125,20 @@ private struct ShellFoldableBadge: ViewModifier { } @available(iOS 26.0, *) -private struct ShellFoldableRailView: View { - @ObservedObject var model: ShellFoldableRailModel +private struct ShellVerticalBarsView: View { + @ObservedObject var model: ShellVerticalBarsModel var body: some View { Group { if model.tabs.isEmpty { - ShellFoldablePage(model: model) + ShellVerticalBarsPage(model: model) } else { TabView(selection: Binding(get: { model.selection }, set: { model.select($0) })) { ForEach(model.tabs) { item in - ShellFoldablePage(model: model) + ShellVerticalBarsPage(model: model) .tag(item.id) - .tabItem { ShellFoldableLabel(item: item) } - .modifier(ShellFoldableBadge(badge: item.badge)) + .tabItem { ShellVerticalBarsLabel(item: item) } + .modifier(ShellVerticalBarsBadge(badge: item.badge)) .disabled(item.disabled) .accessibilityLabel(item.accessibilityLabel) .accessibilityIdentifier(item.id) @@ -146,24 +146,24 @@ private struct ShellFoldableRailView: View { } } } - .modifier(ShellFoldableCompression()) + .modifier(ShellVerticalBarsCompression()) .background(Color.clear) } } @available(iOS 26.0, *) -private struct ShellFoldablePage: View { - @ObservedObject var model: ShellFoldableRailModel +private struct ShellVerticalBarsPage: View { + @ObservedObject var model: ShellVerticalBarsModel var body: some View { NavigationStack { - Color.clear.modifier(ShellFoldableToolbarAdapter(model: model)) + Color.clear.modifier(ShellVerticalBarsToolbarAdapter(model: model)) } } } @available(iOS 26.0, *) -private struct ShellFoldableCompression: ViewModifier { +private struct ShellVerticalBarsCompression: ViewModifier { @ViewBuilder func body(content: Content) -> some View { if #available(iOS 27.1, *) { content.toolbarVerticalCompressionBehavior(.prefersToolbarItems) @@ -174,34 +174,34 @@ private struct ShellFoldableCompression: ViewModifier { } @available(iOS 26.0, *) -private struct ShellFoldableToolbarAdapter: ViewModifier { - @ObservedObject var model: ShellFoldableRailModel +private struct ShellVerticalBarsToolbarAdapter: ViewModifier { + @ObservedObject var model: ShellVerticalBarsModel @ViewBuilder func body(content: Content) -> some View { if #available(iOS 27.1, *) { - content.modifier(ShellFoldableToolbar(model: model)) + content.modifier(ShellVerticalBarsToolbar(model: model)) } else { - content.modifier(ShellFoldableLegacyToolbar(model: model)) + content.modifier(ShellVerticalBarsLegacyToolbar(model: model)) } } } @available(iOS 27.1, *) -private struct ShellFoldableToolbar: ViewModifier { - @ObservedObject var model: ShellFoldableRailModel +private struct ShellVerticalBarsToolbar: ViewModifier { + @ObservedObject var model: ShellVerticalBarsModel func body(content: Content) -> some View { content.toolbar { if let back = model.back { ToolbarItem(placement: .navigation) { - foldableBackButton(back, model: model) + verticalBarsBackButton(back, model: model) } .axisBehavior(.verticalPreferred) } ForEach(model.groups.filter { $0.slot == .start }) { group in ToolbarItemGroup(placement: .topBarLeading) { ForEach(group.items) { item in - foldableButton(item, model: model) + verticalBarsButton(item, model: model) } } .axisBehavior(.verticalPreferred) @@ -209,7 +209,7 @@ private struct ShellFoldableToolbar: ViewModifier { ForEach(model.groups.filter { $0.slot != .start }) { group in ToolbarItemGroup(placement: .topBarTrailing) { ForEach(group.items) { item in - foldableButton(item, model: model) + verticalBarsButton(item, model: model) } } .axisBehavior(.verticalPreferred) @@ -219,20 +219,20 @@ private struct ShellFoldableToolbar: ViewModifier { } @available(iOS 26.0, *) -private struct ShellFoldableLegacyToolbar: ViewModifier { - @ObservedObject var model: ShellFoldableRailModel +private struct ShellVerticalBarsLegacyToolbar: ViewModifier { + @ObservedObject var model: ShellVerticalBarsModel func body(content: Content) -> some View { content.toolbar { if let back = model.back { ToolbarItem(placement: .navigation) { - foldableBackButton(back, model: model) + verticalBarsBackButton(back, model: model) } } ForEach(model.groups) { group in ToolbarItemGroup(placement: .primaryAction) { ForEach(group.items) { item in - foldableButton(item, model: model) + verticalBarsButton(item, model: model) } } } @@ -241,7 +241,7 @@ private struct ShellFoldableLegacyToolbar: ViewModifier { } @available(iOS 26.0, *) -final class ShellFoldableRailController: ShellFoldableRailControlling { +final class ShellVerticalBarsController: ShellVerticalBarsControlling { private final class TransparentHostingController: UIHostingController { override func viewDidLayoutSubviews() { super.viewDidLayoutSubviews() @@ -288,8 +288,8 @@ final class ShellFoldableRailController: ShellFoldableRailControlling { } } - private let model = ShellFoldableRailModel() - private lazy var controller = TransparentHostingController(rootView: ShellFoldableRailView(model: model)) + private let model = ShellVerticalBarsModel() + private lazy var controller = TransparentHostingController(rootView: ShellVerticalBarsView(model: model)) private let container = RailContainer() private weak var owner: UIViewController? diff --git a/ios/Sources/IonicNativeUIShellPlugin/IonicNativeUIShellPlugin.swift b/ios/Sources/IonicNativeUIShellPlugin/IonicNativeUIShellPlugin.swift index 291a2d41..6e6ee076 100644 --- a/ios/Sources/IonicNativeUIShellPlugin/IonicNativeUIShellPlugin.swift +++ b/ios/Sources/IonicNativeUIShellPlugin/IonicNativeUIShellPlugin.swift @@ -13,7 +13,7 @@ public class IonicNativeUIShellPlugin: CAPPlugin, CAPBridgedPlugin, UITabBarDele CAPPluginMethod(name: "clear", returnType: CAPPluginReturnPromise) ] private var host: ShellHost? - private var foldableRail: ShellFoldableRailControlling? + private var verticalBars: ShellVerticalBarsControlling? private var controls: [String: UIView] = [:] private var searchControllers: [String: UIViewController] = [:] private var fingerprints: [String: ShellControl] = [:] @@ -43,7 +43,7 @@ public class IonicNativeUIShellPlugin: CAPPlugin, CAPBridgedPlugin, UITabBarDele } if !keyboard { self.host?.isHidden = true - self.foldableRail?.view.isHidden = true + self.verticalBars?.view.isHidden = true } var searchOwnsKeyboard = false if #available(iOS 26.0, *) { @@ -110,10 +110,10 @@ public class IonicNativeUIShellPlugin: CAPPlugin, CAPBridgedPlugin, UITabBarDele self?.revision = 0 if #available(iOS 26.0, *) { self?.bridge?.webView?.layoutIfNeeded() - // A foldable rail exists only when the system reserves enough of + // A vertical control rail exists only when the system reserves enough of // the physical right edge to host its adaptive controls. Ordinary // iPhone/iPad safe areas must keep using the Web projection. - let foldableRail = (self?.bridge?.webView?.safeAreaInsets.right ?? 0) >= 70 + let verticalBars = (self?.bridge?.webView?.safeAreaInsets.right ?? 0) >= 70 // Ionic already paints the header edge; a second native effect can // add a dark scrim when the OS and Web themes differ. if let effect = self?.bridge?.webView?.scrollView.topEdgeEffect { @@ -121,7 +121,7 @@ public class IonicNativeUIShellPlugin: CAPPlugin, CAPBridgedPlugin, UITabBarDele effect.isHidden = true self?.restoreTopEdge = { [weak effect] in effect?.isHidden = hidden } } - call.resolve(["supported": true, "foldableRail": foldableRail]) + call.resolve(["supported": true, "verticalBars": verticalBars]) } else { call.resolve(["supported": false]) } } @@ -155,8 +155,8 @@ public class IonicNativeUIShellPlugin: CAPPlugin, CAPBridgedPlugin, UITabBarDele Array(controls.keys).forEach { removeControl($0, duration: duration) } host?.removeFromSuperview() host = nil - foldableRail?.detach() - foldableRail = nil + verticalBars?.detach() + verticalBars = nil rendering.clear() pendingTabSelections.removeAll() pendingTabExpiryWorks.values.forEach { $0.cancel() } @@ -205,11 +205,11 @@ public class IonicNativeUIShellPlugin: CAPPlugin, CAPBridgedPlugin, UITabBarDele } let duration = ShellCrossfade.duration(snapshot.transitionDuration) let existing = Set(self.controls.keys) - let foldable = snapshot.controls.filter { $0.placement == .foldableRail } - let snapshots = snapshot.controls.filter { $0.placement != .foldableRail } + let verticalBars = snapshot.controls.filter { $0.placement == .verticalBars } + let snapshots = snapshot.controls.filter { $0.placement != .verticalBars } let width = snapshot.viewportWidth self.revision = next - if snapshots.isEmpty && foldable.isEmpty { + if snapshots.isEmpty && verticalBars.isEmpty { self.removeControls(duration: duration) call.resolve(["revision": next]); return } @@ -228,18 +228,18 @@ public class IonicNativeUIShellPlugin: CAPPlugin, CAPBridgedPlugin, UITabBarDele var fabs: [(ShellFab, ShellControl)] = [] var searches: [(ShellSearchController, ShellControl, CGRect, CGRect, UIView?, Bool)] = [] var rejectedSearches: [String] = [] - if foldable.isEmpty || self.keyboardVisible { - self.foldableRail?.detach() - self.foldableRail = nil - if self.keyboardVisible { rejectedControls.append(contentsOf: foldable.map(\.id)) } + if verticalBars.isEmpty || self.keyboardVisible { + self.verticalBars?.detach() + self.verticalBars = nil + if self.keyboardVisible { rejectedControls.append(contentsOf: verticalBars.map(\.id)) } } else if let owner = self.bridge?.viewController { - let rail = self.foldableRail ?? ShellFoldableRailController(activate: { [weak self] id in self?.activate(id) }) - self.foldableRail = rail + let rail = self.verticalBars ?? ShellVerticalBarsController(activate: { [weak self] id in self?.activate(id) }) + self.verticalBars = rail rail.attach(to: owner, in: owner.view) - rail.apply(foldable, rendering: self.rendering) + rail.apply(verticalBars, rendering: self.rendering) rail.view.isHidden = false } else { - rejectedControls.append(contentsOf: foldable.map(\.id)) + rejectedControls.append(contentsOf: verticalBars.map(\.id)) } UIView.performWithoutAnimation { if host.superview !== parent { parent.addSubview(host) } diff --git a/ios/Sources/IonicNativeUIShellPlugin/Shared/ShellSnapshot.swift b/ios/Sources/IonicNativeUIShellPlugin/Shared/ShellSnapshot.swift index ab211732..584e4319 100644 --- a/ios/Sources/IonicNativeUIShellPlugin/Shared/ShellSnapshot.swift +++ b/ios/Sources/IonicNativeUIShellPlugin/Shared/ShellSnapshot.swift @@ -31,7 +31,7 @@ struct ShellFrame: Decodable, Equatable { } struct ShellControl: Decodable, Equatable { - enum Placement: String, Decodable { case foldableRail = "foldable-rail" } + enum Placement: String, Decodable { case verticalBars = "vertical-bars" } enum ToolbarSlot: String, Decodable { case start, end } let id: String let kind: ShellComponent @@ -63,7 +63,7 @@ struct ShellControl: Decodable, Equatable { var isValid: Bool { ShellComponents.supported.contains(kind) && !id.isEmpty && frame.isValid && !items.isEmpty && items.count <= 30 && (!ShellButton.kinds.contains(kind) || items.count == 1) && - (toolbarSlot == nil || (placement == .foldableRail && [.button, .buttons, .menuButton].contains(kind))) && + (toolbarSlot == nil || (placement == .verticalBars && [.button, .buttons, .menuButton].contains(kind))) && Set(items.map(\.id)).count == items.count && items.allSatisfy(\.isValid) && (tabBarAnchor.map { kind == .tabBar && $0.isValid } ?? true) && (search.map { kind == .tabBar && $0.isValid } ?? true) diff --git a/ios/Tests/IonicNativeUIShellPluginTests/ShellSnapshotTests.swift b/ios/Tests/IonicNativeUIShellPluginTests/ShellSnapshotTests.swift index 970b7c82..1514ae31 100644 --- a/ios/Tests/IonicNativeUIShellPluginTests/ShellSnapshotTests.swift +++ b/ios/Tests/IonicNativeUIShellPluginTests/ShellSnapshotTests.swift @@ -37,7 +37,7 @@ final class ShellSnapshotTests: XCTestCase { } } - @MainActor func testFoldableTabOptimismWaitsForWebAndRollsBackWhenStale() throws { + @MainActor func testVerticalBarsTabOptimismWaitsForWebAndRollsBackWhenStale() throws { guard #available(iOS 26.0, *) else { throw XCTSkip("Requires SwiftUI adaptive tabs") } func tabs(_ selected: String, includeRight: Bool = true) throws -> [ShellControl] { var items = [item(["id": "left", "selected": selected == "left"])] @@ -47,7 +47,7 @@ final class ShellSnapshotTests: XCTestCase { } return try decode([control(["kind": "ion-tab-bar", "items": items])]).controls } - let model = ShellFoldableRailModel() + let model = ShellVerticalBarsModel() let rendering = ShellRendering() model.apply(try tabs("left"), rendering: rendering, now: 100) XCTAssertEqual(model.tabs.last?.badge?.value, "3") diff --git a/src/index.ts b/src/index.ts index 16446a23..a4e9dd6a 100644 --- a/src/index.ts +++ b/src/index.ts @@ -14,12 +14,12 @@ export const registerTabBarEffect = (targetElement: HTMLElement): registeredEffe const win = targetElement.ownerDocument.defaultView; if (!targetElement.classList.contains('ios') || !win) return undefined; const reducedMotion = win.matchMedia('(prefers-reduced-motion: reduce)'); - const foldableRoot = targetElement.closest('ion-app') ?? targetElement.ownerDocument.body; + const verticalBarsRoot = targetElement.closest('ion-app') ?? targetElement.ownerDocument.body; let effect: registeredEffect | undefined; const update = () => { effect?.destroy(); const isVertical = - foldableRoot.classList.contains('ios-theme-enable-foldable') && !targetElement.closest('ion-menu, ion-modal, ion-popover'); + verticalBarsRoot.classList.contains('ios-theme-vertical-bars') && !targetElement.closest('ion-menu, ion-modal, ion-popover'); effect = reducedMotion.matches || isVertical ? undefined @@ -33,7 +33,7 @@ export const registerTabBarEffect = (targetElement: HTMLElement): registeredEffe update(); reducedMotion.addEventListener('change', update); const placementObserver = new win.MutationObserver(update); - placementObserver.observe(foldableRoot, { attributes: true, attributeFilter: ['class'] }); + placementObserver.observe(verticalBarsRoot, { attributes: true, attributeFilter: ['class'] }); return { destroy: () => { reducedMotion.removeEventListener('change', update); diff --git a/src/native-integration/index.ts b/src/native-integration/index.ts index 1355497c..03404410 100644 --- a/src/native-integration/index.ts +++ b/src/native-integration/index.ts @@ -32,7 +32,7 @@ export const requestNativeSearch = async (binding: NativeSearchBinding, active: (await runtimes.get(binding.tabBar.ownerDocument)?.search?.(binding, active, focus)) ?? false; const runtimes = new WeakMap(); -export const FOLDABLE_TRANSITION_CANCELED = 'iosThemeFoldableTransitionCanceled'; +export const VERTICAL_BARS_TRANSITION_CANCELED = 'iosThemeVerticalBarsTransitionCanceled'; export const setNativeUIShellIntegration = (doc: Document, runtime?: NativeUIShellIntegration) => { if (runtime) runtimes.set(doc, runtime); @@ -48,7 +48,7 @@ export const suspendNativeUIShell = async (scopes: HTMLElement[]): Promise<(canc export const connectNativeUIShellTransition = (animation: Animation, entering: HTMLElement, leaving?: HTMLElement) => { if (leaving) animation.onFinish((step) => { - if (step === 0) leaving.dispatchEvent(new CustomEvent(FOLDABLE_TRANSITION_CANCELED, { bubbles: true, detail: { entering } })); + if (step === 0) leaving.dispatchEvent(new CustomEvent(VERTICAL_BARS_TRANSITION_CANCELED, { bubbles: true, detail: { entering } })); }); if (!runtimes.has(entering.ownerDocument)) return; const scopes = leaving ? [entering, leaving] : [entering]; diff --git a/src/native/components/index.ts b/src/native/components/index.ts index 33a9cf52..4ffac4e0 100644 --- a/src/native/components/index.ts +++ b/src/native/components/index.ts @@ -5,7 +5,7 @@ import * as menuButton from './ion-menu-button'; import * as tabBar from './ion-tab-bar'; import * as segment from './ion-segment'; import * as fab from './ion-fab'; -import { isDisabledButtonGroupChild, isFoldableRailSource, visible } from '../shared/dom'; +import { isDisabledButtonGroupChild, isVerticalBarsSource, visible } from '../shared/dom'; import type { Candidate, Identify } from '../shared/candidate'; // Static composition only. Each component declares its own tag, discovery and reader. @@ -27,17 +27,17 @@ export const motionSelector = [ ...components.filter((component) => 'tracksMotion' in component && component.tracksMotion).map((component) => component.tag), ].join(', '); -export const isFoldableRailCandidate = isFoldableRailSource; +export const isVerticalBarsCandidate = isVerticalBarsSource; export const readCandidate = (element: HTMLElement, id: Identify): Candidate | undefined => { - const foldable = isFoldableRailCandidate(element); - if (!element.classList.contains('ios') || !visible(element, foldable) || element.closest('ion-modal, ion-popover')) return; + const verticalBars = isVerticalBarsCandidate(element); + if (!element.classList.contains('ios') || !visible(element, verticalBars) || element.closest('ion-modal, ion-popover')) return; const style = getComputedStyle(element); if ( !isDisabledButtonGroupChild(element) && !style.getPropertyValue('--ios-theme-glass-background-rgb').trim() && !style.getPropertyValue('--ios26-glass-background-rgb').trim() && - !foldable + !verticalBars ) return; if (element.contains(element.ownerDocument.activeElement)) return; diff --git a/src/native/components/ion-button.ts b/src/native/components/ion-button.ts index d81cd9eb..925ea59b 100644 --- a/src/native/components/ion-button.ts +++ b/src/native/components/ion-button.ts @@ -1,20 +1,20 @@ import { createCandidate, appendItem } from '../shared/candidate'; import type { Candidate, Identify } from '../shared/candidate'; -import { inFixedToolbar, isFoldableToolbarAction, isFoldableToolbarGroup } from '../shared/dom'; +import { inFixedToolbar, isVerticalBarsToolbarAction, isVerticalBarsToolbarGroup } from '../shared/dom'; export const tag = 'ion-button'; export const read = (element: HTMLElement, id: Identify): Candidate | undefined => { const button = element as HTMLIonButtonElement; - const foldable = - !element.closest('ion-menu, ion-modal, ion-popover') && !!element.closest(':is(ion-app, body).ios-theme-enable-foldable'); - if (foldable && element.parentElement && isFoldableToolbarGroup(element.parentElement)) return; + const verticalBars = + !element.closest('ion-menu, ion-modal, ion-popover') && !!element.closest(':is(ion-app, body).ios-theme-vertical-bars'); + if (verticalBars && element.parentElement && isVerticalBarsToolbarGroup(element.parentElement)) return; const fill = button.fill ?? 'default'; if ( !inFixedToolbar(element) || - (foldable && !isFoldableToolbarAction(element)) || - (!foldable && fill !== 'default') || - (foldable && !['default', 'clear'].includes(fill)) || + (verticalBars && !isVerticalBarsToolbarAction(element)) || + (!verticalBars && fill !== 'default') || + (verticalBars && !['default', 'clear'].includes(fill)) || button.classList.contains('ion-color') ) return; diff --git a/src/native/components/ion-buttons.ts b/src/native/components/ion-buttons.ts index 1912eea0..010b2188 100644 --- a/src/native/components/ion-buttons.ts +++ b/src/native/components/ion-buttons.ts @@ -1,6 +1,6 @@ import { createCandidate, appendItem } from '../shared/candidate'; import type { Candidate, Identify } from '../shared/candidate'; -import { foldableToolbarActions, inFixedToolbar, isFoldableToolbarGroup } from '../shared/dom'; +import { verticalBarsToolbarActions, inFixedToolbar, isVerticalBarsToolbarGroup } from '../shared/dom'; import * as menuButton from './ion-menu-button'; export const tag = 'ion-buttons'; @@ -10,22 +10,22 @@ export const read = (element: HTMLElement, id: Identify): Candidate | undefined if (!inFixedToolbar(element)) return; let children = Array.from(element.children) as HTMLElement[]; if (children.length === 1) return menuButton.read(element, id); - const foldable = - !element.closest('ion-menu, ion-modal, ion-popover') && !!element.closest(':is(ion-app, body).ios-theme-enable-foldable'); - if (foldable && !isFoldableToolbarGroup(element)) return; - if (foldable) children = foldableToolbarActions(element); + const verticalBars = + !element.closest('ion-menu, ion-modal, ion-popover') && !!element.closest(':is(ion-app, body).ios-theme-vertical-bars'); + if (verticalBars && !isVerticalBarsToolbarGroup(element)) return; + if (verticalBars) children = verticalBarsToolbarActions(element); if ( !children.length || children.some( (child) => !child.matches(`${menuButton.tag}.ios`) && - (!child.matches(`ion-button.ios${foldable ? '' : '.button-clear'}`) || - !(foldable ? ['default', 'clear'] : ['clear']).includes((child as HTMLIonButtonElement).fill ?? 'default')), + (!child.matches(`ion-button.ios${verticalBars ? '' : '.button-clear'}`) || + !(verticalBars ? ['default', 'clear'] : ['clear']).includes((child as HTMLIonButtonElement).fill ?? 'default')), ) ) return; const candidate = createCandidate(element, tag, id); - if (foldable && children.length !== element.children.length) candidate.sources = children; + if (verticalBars && children.length !== element.children.length) candidate.sources = children; for (const child of children) { const supported = child.matches(menuButton.tag) ? menuButton.append(candidate, child as HTMLIonMenuButtonElement, id) diff --git a/src/native/definitions.ts b/src/native/definitions.ts index 0e6d2ce2..37c3a238 100644 --- a/src/native/definitions.ts +++ b/src/native/definitions.ts @@ -84,8 +84,8 @@ export interface ShellControl extends Frame { id: string; kind: NativeUIShellComponent; /** Lets the native host own adaptive placement instead of mirroring the DOM frame. */ - placement?: 'foldable-rail'; - /** Logical Ionic toolbar slot, preserved when projecting to the foldable rail. */ + placement?: 'vertical-bars'; + /** Logical Ionic toolbar slot, preserved when projecting to the vertical rail. */ toolbarSlot?: 'start' | 'end'; items: ShellItem[]; dark: boolean; @@ -135,7 +135,7 @@ export interface WebViewMetrics { } export interface NativeUIShellPlugin { - configure(): Promise<{ supported: boolean; foldableRail?: boolean }>; + configure(): Promise<{ supported: boolean; verticalBars?: boolean }>; getWebViewMetrics(): Promise; update(snapshot: ShellSnapshot): Promise<{ revision: number; rejectedSearches?: string[]; rejectedControls?: string[] }>; clear(options: { revision: number }): Promise; diff --git a/src/native/index.ts b/src/native/index.ts index e030ee80..a05d16fe 100644 --- a/src/native/index.ts +++ b/src/native/index.ts @@ -3,8 +3,8 @@ import { setConfig } from '../transition/ios.transition'; import type { NativeUIShellHandle, NativeUIShellOptions, NativeUIShellPlugin, WebViewMetrics } from './definitions'; import { bindMetricsLifecycle } from './lifecycle'; import { createRuntime } from './runtime'; -import { createFoldableWebProjection } from './foldable-web'; -import { prehideFoldableToolbarSources } from './prehide'; +import { createVerticalBarsWebProjection } from './vertical-bars-web'; +import { prehideVerticalBarsToolbarSources } from './prehide'; export type { NativeUIShellComponent, NativeUIShellControls, @@ -65,19 +65,21 @@ export const enableNativeUIShell = (options: NativeUIShellOptions = {}): Promise } if (typeof document === 'undefined') return Promise.resolve(web('Requires a document')); const stopPrehide = - !active && (options.controls === undefined || options.controls.toolbar === true) ? prehideFoldableToolbarSources(document) : undefined; + !active && (options.controls === undefined || options.controls.toolbar === true) + ? prehideVerticalBarsToolbarSources(document) + : undefined; return (active ??= (async () => { if (Capacitor.getPlatform() !== 'ios') - return resetOnDestroy(withReason(createFoldableWebProjection(document, options), 'Requires Capacitor iOS'), stopPrehide); + return resetOnDestroy(withReason(createVerticalBarsWebProjection(document, options), 'Requires Capacitor iOS'), stopPrehide); let runtime: NativeUIShellHandle | undefined; try { await configureNativeTransition().catch(() => undefined); const capabilities = await plugin.configure(); if (!capabilities.supported) { - return resetOnDestroy(withReason(createFoldableWebProjection(document, options), 'Requires iOS 26 or later'), stopPrehide); + return resetOnDestroy(withReason(createVerticalBarsWebProjection(document, options), 'Requires iOS 26 or later'), stopPrehide); } - runtime = await createRuntime(document, plugin, options, capabilities.foldableRail === true); - if (capabilities.foldableRail !== true) runtime = combine(runtime, createFoldableWebProjection(document, options)); + runtime = await createRuntime(document, plugin, options, capabilities.verticalBars === true); + if (capabilities.verticalBars !== true) runtime = combine(runtime, createVerticalBarsWebProjection(document, options)); runtime = await bindMetricsLifecycle( runtime, () => plugin.addListener('webViewMetricsChange', (metrics) => setConfig({ radius: metrics.radius })), @@ -87,14 +89,17 @@ export const enableNativeUIShell = (options: NativeUIShellOptions = {}): Promise } catch (error) { await runtime?.destroy(); return resetOnDestroy( - withReason(createFoldableWebProjection(document, options), error instanceof Error ? error.message : String(error)), + withReason(createVerticalBarsWebProjection(document, options), error instanceof Error ? error.message : String(error)), stopPrehide, ); } })()); }; -const resetOnDestroy = (handle: NativeUIShellHandle, prehide?: ReturnType): NativeUIShellHandle => ({ +const resetOnDestroy = ( + handle: NativeUIShellHandle, + prehide?: ReturnType, +): NativeUIShellHandle => ({ getStatus: handle.getStatus, async suspend() { const lease = await handle.suspend(); diff --git a/src/native/prehide.ts b/src/native/prehide.ts index 0687079b..92918a6b 100644 --- a/src/native/prehide.ts +++ b/src/native/prehide.ts @@ -1,16 +1,16 @@ import { LIFECYCLE_DID_LEAVE, LIFECYCLE_WILL_ENTER } from '@ionic/core'; import { - clearFoldablePlacement, - foldableBackWebClass, - foldableRailOwned, + clearVerticalBarsPlacement, + verticalBarsBackWebClass, + verticalBarsOwned, inFixedToolbar, - isFoldableToolbarActionShape, + isVerticalBarsToolbarActionShape, isPermanentlyExcluded, isShellDisabled, prehiddenClass, prehideRootClass, rejectedClass, - setFoldablePlacement, + setVerticalBarsPlacement, } from './shared/dom'; const overlays = 'ion-menu, ion-modal, ion-popover'; @@ -20,15 +20,19 @@ const backSupported = (element: HTMLElement): boolean => { return back.icon === undefined && back.color === undefined && !!back.shadowRoot; }; const eligible = (element: HTMLElement): boolean => - inFixedToolbar(element) && !isPermanentlyExcluded(element) && !isShellDisabled(element) && !element.closest(overlays); + inFixedToolbar(element) && + !element.closest('ion-buttons.ios-theme-horizontal-only, ion-button.ios-theme-horizontal-only') && + !isPermanentlyExcluded(element) && + !isShellDisabled(element) && + !element.closest(overlays); /** Capture toolbar placement once per routed-page epoch, before Ionic paints its transition. */ -export const prehideFoldableToolbarSources = (doc: Document): { suspend: () => () => void; stop: () => void } => { +export const prehideVerticalBarsToolbarSources = (doc: Document): { suspend: () => () => void; stop: () => void } => { doc.documentElement.classList.add(prehideRootClass); const scopes = new Map>(); const pendingBacks = new Map }>(); const listeners = new AbortController(); - const root = () => doc.querySelector(':is(ion-app, body).ios-theme-enable-foldable'); + const root = () => doc.querySelector(':is(ion-app, body).ios-theme-vertical-bars'); let suspended = 0; let stopped = false; const routedPage = (element: HTMLElement) => element.closest('.ion-page:not(ion-app, body)'); @@ -42,8 +46,8 @@ export const prehideFoldableToolbarSources = (doc: Document): { suspend: () => ( if (!owned) return; owned.forEach((element) => { element.classList.remove(prehiddenClass); - element.classList.remove(foldableBackWebClass); - clearFoldablePlacement(element); + element.classList.remove(verticalBarsBackWebClass); + clearVerticalBarsPlacement(element); }); scopes.delete(scope); }; @@ -52,15 +56,15 @@ export const prehideFoldableToolbarSources = (doc: Document): { suspend: () => ( const owned = scopes.get(scope) ?? new Set(); const place = (element: HTMLElement, rail: boolean) => { if (owned.has(element)) return; - setFoldablePlacement(element, rail); - if (element.matches('ion-back-button')) element.classList.toggle(foldableBackWebClass, !rail); + setVerticalBarsPlacement(element, rail); + if (element.matches('ion-back-button')) element.classList.toggle(verticalBarsBackWebClass, !rail); owned.add(element); }; scope.querySelectorAll(sourceSelector).forEach((element) => { if (element.closest(overlays) || (scope.matches('.ion-page') && routedPage(element) !== scope)) return; if (element.matches('ion-buttons')) { const children = Array.from(element.children).filter((child): child is HTMLElement => child instanceof HTMLElement); - const actions = children.filter((child) => eligible(child) && isFoldableToolbarActionShape(child)); + const actions = children.filter((child) => eligible(child) && isVerticalBarsToolbarActionShape(child)); const group = eligible(element) && actions.length === children.length && @@ -99,15 +103,15 @@ export const prehideFoldableToolbarSources = (doc: Document): { suspend: () => ( } place( element, - eligible(element) && (element.matches('ion-back-button') ? backSupported(element) : isFoldableToolbarActionShape(element)), + eligible(element) && (element.matches('ion-back-button') ? backSupported(element) : isVerticalBarsToolbarActionShape(element)), ); } }); scopes.set(scope, owned); }; const reconcile = () => { - const foldable = root(); - if (!foldable) { + const verticalBars = root(); + if (!verticalBars) { Array.from(scopes.keys()).forEach(release); return; } @@ -115,9 +119,9 @@ export const prehideFoldableToolbarSources = (doc: Document): { suspend: () => ( for (const [element, pending] of pendingBacks) if (element.shadowRoot || element.classList.contains('hydrated')) capture(pending.scope); // Ionic inserts the destination as invisible before WillEnter. Hide its // sources in that same mutation microtask; capture new DOM identities on active pages too. - foldable.querySelectorAll('.ion-page:not(ion-app, body, .ion-page-hidden)').forEach(capture); + verticalBars.querySelectorAll('.ion-page:not(ion-app, body, .ion-page-hidden)').forEach(capture); // Root toolbars can mount after startup; each new DOM identity is captured once. - foldable.querySelectorAll(sourceSelector).forEach((element) => { + verticalBars.querySelectorAll(sourceSelector).forEach((element) => { if (routedPage(element) || element.closest(overlays)) return; const scope = element.closest('ion-toolbar'); if (scope) capture(scope); @@ -126,11 +130,11 @@ export const prehideFoldableToolbarSources = (doc: Document): { suspend: () => ( for (const element of owned) { const groupOwnsChildren = element.parentElement?.matches('ion-buttons') && - foldableRailOwned(element.parentElement) && - Array.from(element.parentElement.children).every((child) => child instanceof HTMLElement && foldableRailOwned(child)); + verticalBarsOwned(element.parentElement) && + Array.from(element.parentElement.children).every((child) => child instanceof HTMLElement && verticalBarsOwned(child)); const hide = !suspended && - foldableRailOwned(element) && + verticalBarsOwned(element) && !groupOwnsChildren && element.isConnected && !element.closest(`.${rejectedClass}`) && @@ -138,9 +142,9 @@ export const prehideFoldableToolbarSources = (doc: Document): { suspend: () => ( !isShellDisabled(element) && (!element.matches('ion-back-button') || backSupported(element) || !element.classList.contains('hydrated')) && (!element.matches('ion-buttons') || - Array.from(element.children).every((child) => child instanceof HTMLElement && foldableRailOwned(child))); + Array.from(element.children).every((child) => child instanceof HTMLElement && verticalBarsOwned(child))); element.classList.toggle(prehiddenClass, hide); - if (element.matches('ion-back-button')) element.classList.toggle(foldableBackWebClass, !hide); + if (element.matches('ion-back-button')) element.classList.toggle(verticalBarsBackWebClass, !hide); } } }; @@ -172,7 +176,7 @@ export const prehideFoldableToolbarSources = (doc: Document): { suspend: () => ( const withoutOwned = (value: string) => value .split(/\s+/) - .filter((name) => name && ![prehiddenClass, prehideRootClass, foldableBackWebClass].includes(name)) + .filter((name) => name && ![prehiddenClass, prehideRootClass, verticalBarsBackWebClass].includes(name)) .join(' '); return typeof current !== 'string' || withoutOwned(previous) !== withoutOwned(current); }; diff --git a/src/native/runtime.ts b/src/native/runtime.ts index 61c205dc..c5853966 100644 --- a/src/native/runtime.ts +++ b/src/native/runtime.ts @@ -1,6 +1,6 @@ import type { PluginListenerHandle } from '@capacitor/core'; import { LIFECYCLE_WILL_ENTER, LIFECYCLE_WILL_LEAVE, LIFECYCLE_DID_ENTER, LIFECYCLE_DID_LEAVE } from '@ionic/core'; -import { FOLDABLE_TRANSITION_CANCELED, getNativeSearchBindings, setNativeUIShellIntegration } from '../native-integration'; +import { VERTICAL_BARS_TRANSITION_CANCELED, getNativeSearchBindings, setNativeUIShellIntegration } from '../native-integration'; import { createSearchSupport } from './components/searchable-tabs'; import type { ShellActivation, @@ -10,11 +10,11 @@ import type { NativeUIShellPlugin, NativeUIShellStatus, } from './definitions'; -import { readCandidate, selector, shadowSelector, motionSelector, isFoldableRailCandidate } from './components'; +import { readCandidate, selector, shadowSelector, motionSelector, isVerticalBarsCandidate } from './components'; import { activateProjectedElement, - createFoldablePageState, - isFoldableRailSource, + createVerticalBarsPageState, + isVerticalBarsSource, marker, prehideOnlyMutation, rejectedClass, @@ -27,8 +27,8 @@ import { createCrossfade, fadeMarker } from './shared/crossfade'; const overlays = 'ion-modal, ion-popover, ion-alert, ion-action-sheet, ion-loading, ion-picker, ion-toast, ion-menu'; const overlayNames = ['Modal', 'Popover', 'Alert', 'ActionSheet', 'Loading', 'Picker', 'Toast']; -const foldableRailMarker = 'data-native-ui-shell-foldable-rail'; -const foldableRailMemberMarker = 'data-native-ui-shell-foldable-rail-member'; +const verticalBarsMarker = 'data-native-ui-shell-vertical-bars'; +const verticalBarsMemberMarker = 'data-native-ui-shell-vertical-bars-member'; // A failed bridge must not leave the source inaccessible indefinitely. const bounded = (promise: Promise): Promise => @@ -41,7 +41,7 @@ export const createRuntime = async ( doc: Document, plugin: NativeUIShellPlugin, options: NativeUIShellOptions = {}, - nativeFoldableRail = true, + nativeVerticalBars = true, ): Promise => { const win = doc.defaultView!; const icons = createIconRenderer(); @@ -49,11 +49,11 @@ export const createRuntime = async ( const ids = new WeakMap(); let rejected = new WeakMap(); const sources = new Map(); - const foldableRailOwners = new Set(); - const foldableRailMembers = new Set(); + const verticalBarsOwners = new Set(); + const verticalBarsMembers = new Set(); const suspended = new Set(); const pages = new Set(); - const foldablePages = createFoldablePageState(); + const verticalBarsPages = createVerticalBarsPageState(); const presented = new Set(); const manualSuspensions = new Set(); const moving = new Map>(); @@ -110,13 +110,13 @@ export const createRuntime = async ( const hidden = `[${marker}]:not([${fadeMarker}])`; style.textContent = `${hidden}, ${hidden} *, ${hidden}::before, ${hidden}::after, ${hidden}::part(native) { visibility: hidden !important; } [${marker}], [${marker}] * { pointer-events: none !important; } - /* Ionic disables the covered page while a menu is open. Foldable rail + /* Ionic disables the covered page while a menu is open. VerticalBars rail controls remain outside that page; zero specificity preserves any pointer-events rule supplied by the application itself. */ - :where(.menu-content-open) :where([${foldableRailMarker}]) { + :where(.menu-content-open) :where([${verticalBarsMarker}]) { pointer-events: auto; } - :where(.menu-content-open) :where([${foldableRailMarker}]) > :where(:not([${foldableRailMemberMarker}])) { + :where(.menu-content-open) :where([${verticalBarsMarker}]) > :where(:not([${verticalBarsMemberMarker}])) { pointer-events: none; }`; @@ -124,7 +124,7 @@ export const createRuntime = async ( lastSnapshot = ''; search.release(element); element.removeAttribute(marker); - if (!stopped) crossfade.play(element, false, handoffInstant || isFoldableRailSource(element)); + if (!stopped) crossfade.play(element, false, handoffInstant || isVerticalBarsSource(element)); if (element.getAttribute('aria-hidden') === 'true') { const previous = sources.get(element); if (previous == null) element.removeAttribute('aria-hidden'); @@ -135,10 +135,10 @@ export const createRuntime = async ( }; const restoreAll = () => { Array.from(sources.keys()).forEach(restore); - foldableRailOwners.forEach((element) => element.removeAttribute(foldableRailMarker)); - foldableRailOwners.clear(); - foldableRailMembers.forEach((element) => element.removeAttribute(foldableRailMemberMarker)); - foldableRailMembers.clear(); + verticalBarsOwners.forEach((element) => element.removeAttribute(verticalBarsMarker)); + verticalBarsOwners.clear(); + verticalBarsMembers.forEach((element) => element.removeAttribute(verticalBarsMemberMarker)); + verticalBarsMembers.clear(); }; const finishWaiters = () => { const current = waiters; @@ -157,7 +157,7 @@ export const createRuntime = async ( }; const measuringPointerPages = new WeakSet(); const readEnabledCandidate = (element: HTMLElement): Candidate | undefined => { - const pointerPage = isFoldableRailCandidate(element) ? element.closest('.ion-page') : undefined; + const pointerPage = isVerticalBarsCandidate(element) ? element.closest('.ion-page') : undefined; let candidate: Candidate | undefined; if (pointerPage && getComputedStyle(pointerPage).pointerEvents === 'none') { const previous = pointerPage.style.getPropertyValue('pointer-events'); @@ -174,9 +174,9 @@ export const createRuntime = async ( win.setTimeout(() => measuringPointerPages.delete(pointerPage), 0); } } else candidate = readCandidate(element, id); - if (candidate && isFoldableRailCandidate(element)) { - if (!nativeFoldableRail) return undefined; - candidate.control.placement = 'foldable-rail'; + if (candidate && isVerticalBarsCandidate(element)) { + if (!nativeVerticalBars) return undefined; + candidate.control.placement = 'vertical-bars'; if (['ion-button', 'ion-buttons', 'ion-menu-button'].includes(candidate.control.kind)) { const slot = (element.matches('ion-buttons') ? element : (element.closest('ion-buttons') ?? element)).getAttribute('slot'); if (slot === 'start' || slot === 'end') candidate.control.toolbarSlot = slot; @@ -194,8 +194,8 @@ export const createRuntime = async ( } }; const blocked = (element: HTMLElement) => - foldablePages.isDeparted(element) || - (!isFoldableRailSource(element) && + verticalBarsPages.isDeparted(element) || + (!isVerticalBarsSource(element) && (Array.from(suspended).some((scopes) => scopes.some((scope) => scope.contains(element))) || Array.from(pages).some((scope) => scope.contains(element)) || Array.from(moving.keys()).some((surface) => surface.contains(element)))); @@ -227,14 +227,16 @@ export const createRuntime = async ( search .decorate( Array.from(doc.querySelectorAll(selector)) - .filter((element) => !foldablePages.isDeparted(element) && (!blocked(element) || (menuOpen && isFoldableRailSource(element)))) + .filter( + (element) => !verticalBarsPages.isDeparted(element) && (!blocked(element) || (menuOpen && isVerticalBarsSource(element))), + ) .map(readEnabledCandidate) .filter((candidate): candidate is Candidate => !!candidate), blocked, ) .filter((candidate) => !rejected.has(candidate.element) || rejected.get(candidate.element) !== signature(candidate)), ); - return menuOpen ? candidates.filter((candidate) => isFoldableRailCandidate(candidate.element)) : candidates; + return menuOpen ? candidates.filter((candidate) => isVerticalBarsCandidate(candidate.element)) : candidates; }; const observe = () => { const wanted = new Set(); @@ -303,7 +305,7 @@ export const createRuntime = async ( removed.forEach(restore); // The outgoing tab is no longer visible, so waiting two frames only leaves its // native snapshot over the destination. Stack transitions still need the paint. - if (!handoffInstant && removed.some((element) => !isFoldableRailSource(element))) { + if (!handoffInstant && removed.some((element) => !isVerticalBarsSource(element))) { await painted(); if (stopped || dirty) return; } @@ -342,12 +344,12 @@ export const createRuntime = async ( const currentSources = new Set(currentCandidates.flatMap(candidateSources)); const accepted = candidates.filter((candidate) => current.get(candidate.element) === signatures.get(candidate.element)); accepted.forEach((candidate) => setRejected(candidate.element, false)); - const acceptedFoldableRailOwners = new Set( - accepted.filter((candidate) => candidate.control.placement === 'foldable-rail').map((candidate) => candidate.element), + const acceptedVerticalBarsOwners = new Set( + accepted.filter((candidate) => candidate.control.placement === 'vertical-bars').map((candidate) => candidate.element), ); - const acceptedFoldableRailMembers = new Set( + const acceptedVerticalBarsMembers = new Set( accepted - .filter((candidate) => candidate.control.placement === 'foldable-rail') + .filter((candidate) => candidate.control.placement === 'vertical-bars') .flatMap((candidate) => Array.from(candidate.actions.values())), ); const invalidated = candidates.length !== accepted.length; @@ -359,28 +361,28 @@ export const createRuntime = async ( // Keep an existing cover while its content catches up. Only an ineligible // source needs to return to Web; new sources still require an exact ack. for (const element of sources.keys()) if (!currentSources.has(element)) restore(element); - for (const element of foldableRailOwners) { - if (acceptedFoldableRailOwners.has(element)) continue; - element.removeAttribute(foldableRailMarker); - foldableRailOwners.delete(element); + for (const element of verticalBarsOwners) { + if (acceptedVerticalBarsOwners.has(element)) continue; + element.removeAttribute(verticalBarsMarker); + verticalBarsOwners.delete(element); } - for (const element of acceptedFoldableRailOwners) { - element.setAttribute(foldableRailMarker, ''); - foldableRailOwners.add(element); + for (const element of acceptedVerticalBarsOwners) { + element.setAttribute(verticalBarsMarker, ''); + verticalBarsOwners.add(element); } - for (const element of foldableRailMembers) { - if (acceptedFoldableRailMembers.has(element)) continue; - element.removeAttribute(foldableRailMemberMarker); - foldableRailMembers.delete(element); + for (const element of verticalBarsMembers) { + if (acceptedVerticalBarsMembers.has(element)) continue; + element.removeAttribute(verticalBarsMemberMarker); + verticalBarsMembers.delete(element); } - for (const element of acceptedFoldableRailMembers) { - element.setAttribute(foldableRailMemberMarker, ''); - foldableRailMembers.add(element); + for (const element of acceptedVerticalBarsMembers) { + element.setAttribute(verticalBarsMemberMarker, ''); + verticalBarsMembers.add(element); } for (const element of accepted.flatMap(candidateSources)) { if (!sources.has(element)) { sources.set(element, element.getAttribute('aria-hidden')); - crossfade.play(element, true, handoffInstant || isFoldableRailSource(element)); + crossfade.play(element, true, handoffInstant || isVerticalBarsSource(element)); element.setAttribute(marker, ''); element.setAttribute('aria-hidden', 'true'); element.dispatchEvent(new CustomEvent('nativeUIShellChange')); @@ -441,7 +443,7 @@ export const createRuntime = async ( target.addEventListener(name, callback, { capture: true, signal: listeners.signal }); const pageWill: EventListener = (event) => { const page = event.target as HTMLElement; - foldablePages.lifecycle(event); + verticalBarsPages.lifecycle(event); getNativeSearchBindings(doc) .filter((binding) => page.contains(binding.footer)) .forEach((binding) => search.retire(binding)); @@ -453,7 +455,7 @@ export const createRuntime = async ( }; const pageDid: EventListener = (event) => { const page = event.target as HTMLElement; - foldablePages.lifecycle(event); + verticalBarsPages.lifecycle(event); pages.delete(page); schedule(); if (tabSwitchHandoff && pages.size === 0) endTabSwitchHandoff(); @@ -514,10 +516,10 @@ export const createRuntime = async ( for (const name of Object.values(CSS_MOTION_EVENTS)) on(doc, name, motion); for (const name of [LIFECYCLE_WILL_ENTER, LIFECYCLE_WILL_LEAVE]) on(doc, name, pageWill); for (const name of [LIFECYCLE_DID_ENTER, LIFECYCLE_DID_LEAVE]) on(doc, name, pageDid); - on(doc, FOLDABLE_TRANSITION_CANCELED, (event) => { + on(doc, VERTICAL_BARS_TRANSITION_CANCELED, (event) => { const leaving = event.target as HTMLElement; const entering = (event as CustomEvent<{ entering?: HTMLElement }>).detail?.entering; - foldablePages.cancel(entering, leaving); + verticalBarsPages.cancel(entering, leaving); pages.delete(leaving); if (entering) pages.delete(entering); schedule(); @@ -709,10 +711,10 @@ export const createRuntime = async ( await new Promise((resolve) => win.requestAnimationFrame(() => resolve())); return (canceled = false) => { suspended.delete(scopes); - if (canceled || !scopes.some((scope) => scope.closest(':is(ion-app, body).ios-theme-enable-foldable'))) { + if (canceled || !scopes.some((scope) => scope.closest(':is(ion-app, body).ios-theme-vertical-bars'))) { scopes.forEach((scope) => pages.delete(scope)); // Preserve ordinary iPhone handoff; cancellation has no DidLeave. if (canceled) { - foldablePages.cancel(scopes[0], scopes[1]); // The entering page is abandoned; the leaving page stays active. + verticalBarsPages.cancel(scopes[0], scopes[1]); // The entering page is abandoned; the leaving page stays active. } } schedule(); diff --git a/src/native/shared/candidate.ts b/src/native/shared/candidate.ts index 7bb93ae5..e9739cc9 100644 --- a/src/native/shared/candidate.ts +++ b/src/native/shared/candidate.ts @@ -1,5 +1,5 @@ import type { ShellControl, ShellItem, NativeUIShellComponent } from '../definitions'; -import { frame, isDark, isFoldableRailSource, text, visible } from './dom'; +import { frame, isDark, isVerticalBarsSource, text, visible } from './dom'; import { iconSource } from './icons'; export interface Candidate { @@ -40,7 +40,7 @@ export const appendItem = ( label = text(child), ): ShellItem | undefined => { if ( - !visible(child, isFoldableRailSource(candidate.element)) || + !visible(child, isVerticalBarsSource(candidate.element)) || child.querySelector('input, button, a, img, canvas, video, ion-spinner, ion-avatar') ) return; diff --git a/src/native/shared/dom.ts b/src/native/shared/dom.ts index 53b7acaf..ef0e59da 100644 --- a/src/native/shared/dom.ts +++ b/src/native/shared/dom.ts @@ -6,7 +6,7 @@ export const marker = 'data-native-ui-shell'; export const prehiddenClass = 'ios-theme-native-ui-shell-prehidden'; export const prehideRootClass = 'ios-theme-native-ui-shell-prehide'; export const rejectedClass = 'ios-theme-native-ui-shell-rejected'; -export const foldableBackWebClass = 'ios-theme-foldable-back-web-owned'; +export const verticalBarsBackWebClass = 'ios-theme-vertical-bars-back-web-owned'; const prehideClasses = new Set([prehiddenClass, prehideRootClass]); export const prehideOnlyMutation = (record: MutationRecord): boolean => { if (record.attributeName !== 'class' || record.oldValue === null) return false; @@ -41,20 +41,20 @@ export const isDark = (style: CSSStyleDeclaration): boolean => style.getProperty const permanentlyExcluded = '.ionic-theme-disabled, .ios-theme-disabled, .ios26-disabled, .ion-cloned-element, [hidden], [inert]'; export const excluded = `${permanentlyExcluded}, .ion-page-hidden, .ion-page-invisible`; const enteringPages = new WeakSet(); -export const setFoldableEnteringPage = (page: HTMLElement, entering: boolean): void => { +export const setVerticalBarsEnteringPage = (page: HTMLElement, entering: boolean): void => { if (entering) enteringPages.add(page); else enteringPages.delete(page); }; -export const foldableEnteringPage = (element: HTMLElement): HTMLElement | undefined => { +export const verticalBarsEnteringPage = (element: HTMLElement): HTMLElement | undefined => { const page = element.closest('.ion-page-invisible'); - return page && enteringPages.has(page) && page.closest(':is(ion-app, body).ios-theme-enable-foldable') ? page : undefined; + return page && enteringPages.has(page) && page.closest(':is(ion-app, body).ios-theme-vertical-bars') ? page : undefined; }; -export const createFoldablePageState = () => { +export const createVerticalBarsPageState = () => { const departed = new WeakSet(); return { isDeparted(element: HTMLElement): boolean { const page = element.closest('.ion-page'); - return !!page && departed.has(page) && !!element.closest(':is(ion-app, body).ios-theme-enable-foldable'); + return !!page && departed.has(page) && !!element.closest(':is(ion-app, body).ios-theme-vertical-bars'); }, lifecycle(event: Event): void { const page = event.target; @@ -62,12 +62,12 @@ export const createFoldablePageState = () => { const entering = event.type === 'ionViewWillEnter'; if (entering || event.type === 'ionViewDidEnter') departed.delete(page); else if (event.type === 'ionViewWillLeave' || event.type === 'ionViewDidLeave') departed.add(page); - setFoldableEnteringPage(page, entering); + setVerticalBarsEnteringPage(page, entering); }, cancel(entering?: HTMLElement, leaving?: HTMLElement): void { if (entering) { departed.add(entering); - setFoldableEnteringPage(entering, false); + setVerticalBarsEnteringPage(entering, false); } if (leaving) departed.delete(leaving); }, @@ -79,13 +79,13 @@ const shellDisabledSelector = '.ios-theme-shell-disabled'; export const isDisabledButtonGroupChild = (element: HTMLElement): boolean => element.matches('ion-button.ios') && element.parentElement?.matches(disabledButtonGroup) === true; -const foldableRailTags = new Set(['ion-button', 'ion-back-button', 'ion-buttons', 'ion-menu-button', 'ion-tab-bar']); +const verticalBarsTags = new Set(['ion-button', 'ion-back-button', 'ion-buttons', 'ion-menu-button', 'ion-tab-bar']); -export const isFoldableRailSource = (element: HTMLElement): boolean => - foldableRailTags.has(element.localName) && - (element.matches('ion-tab-bar') || foldableRailOwned(element)) && +export const isVerticalBarsSource = (element: HTMLElement): boolean => + verticalBarsTags.has(element.localName) && + (element.matches('ion-tab-bar') || verticalBarsOwned(element)) && !element.closest('ion-menu, ion-modal, ion-popover') && - !!element.closest(':is(ion-app, body).ios-theme-enable-foldable'); + !!element.closest(':is(ion-app, body).ios-theme-vertical-bars'); const excludedBy = (element: HTMLElement, selector: string): boolean => { const owner = element.closest(selector); @@ -100,7 +100,7 @@ export const isExcluded = (element: HTMLElement, enteringPage?: HTMLElement): bo export const isShellDisabled = (element: Element): boolean => !!element.closest(shellDisabledSelector) || !!element.querySelector(shellDisabledSelector); -export const isFoldableToolbarActionShape = (element: HTMLElement): boolean => +export const isVerticalBarsToolbarActionShape = (element: HTMLElement): boolean => element.matches('ion-menu-button') || (element.matches('ion-button') && !!element.querySelector('ion-icon, svg') && @@ -110,25 +110,28 @@ export const isFoldableToolbarActionShape = (element: HTMLElement): boolean => // Placement belongs to the DOM identity for one routed-page epoch. Changes to // content/disabled state affect rendering, never its chosen surface. -const foldablePlacement = new WeakMap(); -export const setFoldablePlacement = (element: HTMLElement, rail: boolean): void => { - foldablePlacement.set(element, rail); +const verticalBarsPlacement = new WeakMap(); +export const setVerticalBarsPlacement = (element: HTMLElement, rail: boolean): void => { + verticalBarsPlacement.set(element, rail); }; -export const clearFoldablePlacement = (element: HTMLElement): void => { - foldablePlacement.delete(element); +export const clearVerticalBarsPlacement = (element: HTMLElement): void => { + verticalBarsPlacement.delete(element); }; -export const foldableRailOwned = (element: HTMLElement): boolean => foldablePlacement.get(element) === true; +export const verticalBarsOwned = (element: HTMLElement): boolean => verticalBarsPlacement.get(element) === true; -export const isFoldableToolbarAction = (element: HTMLElement): boolean => - element.matches('.ios') && foldableRailOwned(element) && !isExcluded(element, foldableEnteringPage(element)) && !isShellDisabled(element); +export const isVerticalBarsToolbarAction = (element: HTMLElement): boolean => + element.matches('.ios') && + verticalBarsOwned(element) && + !isExcluded(element, verticalBarsEnteringPage(element)) && + !isShellDisabled(element); -export const foldableToolbarActions = (element: HTMLElement): HTMLElement[] => - Array.from(element.children).filter((child): child is HTMLElement => child instanceof HTMLElement && isFoldableToolbarAction(child)); +export const verticalBarsToolbarActions = (element: HTMLElement): HTMLElement[] => + Array.from(element.children).filter((child): child is HTMLElement => child instanceof HTMLElement && isVerticalBarsToolbarAction(child)); -export const isFoldableToolbarGroup = (element: HTMLElement): boolean => { +export const isVerticalBarsToolbarGroup = (element: HTMLElement): boolean => { return ( element.matches('ion-buttons.ios') && - foldableRailOwned(element) && + verticalBarsOwned(element) && !element.matches('.ionic-theme-disabled, .ios-theme-disabled, .ios26-disabled') && !isShellDisabled(element) ); @@ -152,7 +155,7 @@ export const unprojected = (elements: Iterable, read: () => T): }; const readVisible = (element: HTMLElement, allowOutsideViewport: boolean): boolean => { - const enteringPage = isFoldableRailSource(element) ? foldableEnteringPage(element) : undefined; + const enteringPage = isVerticalBarsSource(element) ? verticalBarsEnteringPage(element) : undefined; if (!element.isConnected || isExcluded(element, enteringPage) || isShellDisabled(element)) return false; for (let current: HTMLElement | null = element; current; current = current.parentElement) { const style = getComputedStyle(current); @@ -163,7 +166,7 @@ const readVisible = (element: HTMLElement, allowOutsideViewport: boolean): boole ) return false; // Ordinary controls on moving/collapsing/custom transformed surfaces stay in Web coordinates. - // Foldable rail controls are placed independently of their Web coordinates and must remain + // VerticalBars rail controls are placed independently of their Web coordinates and must remain // owned while Ionic transforms the content behind an open menu. if ( !allowOutsideViewport && @@ -203,11 +206,11 @@ export const text = (element: Element): string => { export const inFixedToolbar = (element: Element): boolean => { const edge = element.closest('ion-toolbar')?.parentElement; - const foldable = !!element.closest(':is(ion-app, body).ios-theme-enable-foldable'); + const verticalBars = !!element.closest(':is(ion-app, body).ios-theme-vertical-bars'); return ( !!edge?.matches('ion-header, ion-footer') && !element.closest('ion-content') && !edge.hasAttribute('collapse') && - (foldable || !edge.matches('.header-collapse-main, .header-collapse-condense')) + (verticalBars || !edge.matches('.header-collapse-main, .header-collapse-condense')) ); }; diff --git a/src/native/foldable-web.ts b/src/native/vertical-bars-web.ts similarity index 86% rename from src/native/foldable-web.ts rename to src/native/vertical-bars-web.ts index 823ce9c2..bab472a8 100644 --- a/src/native/foldable-web.ts +++ b/src/native/vertical-bars-web.ts @@ -1,12 +1,12 @@ import type { NativeUIShellHandle, NativeUIShellOptions, NativeUIShellStatus } from './definitions'; -import { FOLDABLE_TRANSITION_CANCELED } from '../native-integration'; +import { VERTICAL_BARS_TRANSITION_CANCELED } from '../native-integration'; import { activateProjectedElement, - createFoldablePageState, - foldableEnteringPage, - foldableToolbarActions, + createVerticalBarsPageState, + verticalBarsEnteringPage, + verticalBarsToolbarActions, isExcluded, - isFoldableToolbarGroup, + isVerticalBarsToolbarGroup, isShellDisabled, marker, prehideOnlyMutation, @@ -15,9 +15,9 @@ import { withoutPrehide, } from './shared/dom'; -const backProjectionClass = 'ios-theme-foldable-back-button-projection'; -const toolbarProjectionClass = 'ios-theme-foldable-toolbar-projection'; -const readyClass = 'ios-theme-foldable-toolbar-ready'; +const backProjectionClass = 'ios-theme-vertical-bars-back-button-projection'; +const toolbarProjectionClass = 'ios-theme-vertical-bars-toolbar-projection'; +const readyClass = 'ios-theme-vertical-bars-toolbar-ready'; const toolbarControlSize = 46; const toolbarControlGap = 10; @@ -32,7 +32,7 @@ interface ToolbarSource { actions: HTMLElement[]; } -export const createFoldableWebProjection = (doc: Document, options: NativeUIShellOptions): NativeUIShellHandle => { +export const createVerticalBarsWebProjection = (doc: Document, options: NativeUIShellOptions): NativeUIShellHandle => { const win = doc.defaultView!; if (options.controls !== undefined && options.controls.toolbar !== true) return { @@ -49,12 +49,12 @@ export const createFoldableWebProjection = (doc: Document, options: NativeUIShel let stopped = false; let frame = 0; let updates = 0; - let observingFoldable = false; - const foldablePages = createFoldablePageState(); + let observingVerticalBars = false; + const verticalBarsPages = createVerticalBarsPageState(); let sourceObserver: MutationObserver | undefined; let waiters: (() => void)[] = []; const listeners = new AbortController(); - const foldableRoot = () => doc.querySelector(':is(ion-app, body).ios-theme-enable-foldable'); + const verticalBarsRoot = () => doc.querySelector(':is(ion-app, body).ios-theme-vertical-bars'); const projectedSources = () => [backSource, ...toolbarProjections.flatMap(({ actions }) => actions.map(({ source }) => source))].filter( (source): source is HTMLElement => !!source, @@ -66,7 +66,7 @@ export const createFoldableWebProjection = (doc: Document, options: NativeUIShel return element.isConnected && style.display !== 'none' && style.visibility === 'visible' && rect.width > 0 && rect.height > 0; }); const inEligibleToolbar = (element: HTMLElement) => { - const currentRoot = foldableRoot(); + const currentRoot = verticalBarsRoot(); const toolbar = element.closest('ion-toolbar'); const edge = toolbar?.parentElement; return ( @@ -76,9 +76,9 @@ export const createFoldableWebProjection = (doc: Document, options: NativeUIShel !!edge?.matches('ion-header, ion-footer') && !element.closest('ion-content') && !edge.hasAttribute('collapse') && - !isExcluded(element, foldableEnteringPage(element)) && + !isExcluded(element, verticalBarsEnteringPage(element)) && !isShellDisabled(element) && - !foldablePages.isDeparted(element) && + !verticalBarsPages.isDeparted(element) && !element.closest('ion-menu, ion-modal, ion-popover, .ion-page-hidden') ); }; @@ -98,9 +98,9 @@ export const createFoldableWebProjection = (doc: Document, options: NativeUIShel const findToolbarGroups = () => { const candidates = Array.from(doc.querySelectorAll(`ion-buttons.ios:not(.${toolbarProjectionClass})`)).flatMap( (group): ToolbarSource[] => { - const actions = foldableToolbarActions(group).filter((action) => unprojected(projectedSources(), () => isRendered(action))); + const actions = verticalBarsToolbarActions(group).filter((action) => unprojected(projectedSources(), () => isRendered(action))); if (!actions.length) return []; - if (!isFoldableToolbarGroup(group)) return actions.filter(inEligibleToolbar).map((action) => ({ group, actions: [action] })); + if (!isVerticalBarsToolbarGroup(group)) return actions.filter(inEligibleToolbar).map((action) => ({ group, actions: [action] })); return inEligibleToolbar(group) && unprojected(projectedSources(), () => isRendered(group)) ? [{ group, actions }] : []; }, ); @@ -154,7 +154,7 @@ export const createFoldableWebProjection = (doc: Document, options: NativeUIShel }; const syncAction = (target: HTMLElement, original: HTMLElement) => { copyAttributes(target, original); - target.classList.add('ios-theme-foldable-toolbar-action', 'ion-cloned-element'); + target.classList.add('ios-theme-vertical-bars-toolbar-action', 'ion-cloned-element'); const label = original.getAttribute('aria-label') ?? original.textContent?.trim(); if (label) target.setAttribute('aria-label', label); if ('disabled' in original) (target as HTMLIonButtonElement).disabled = (original as HTMLIonButtonElement).disabled; @@ -183,13 +183,13 @@ export const createFoldableWebProjection = (doc: Document, options: NativeUIShel if (actions.length === 1 && !projection.matches('ion-buttons')) syncAction(projection, actions[0].source); else copyAttributes(projection, source); projection.classList.add(toolbarProjectionClass, 'ion-cloned-element'); - projection.style.setProperty('--ios-theme-foldable-toolbar-offset', `${topOffset}px`); + projection.style.setProperty('--ios-theme-vertical-bars-toolbar-offset', `${topOffset}px`); if (projection.matches('ion-buttons')) actions.forEach(({ source: action, projection: clone }) => syncAction(clone, action)); topOffset += actions.length * toolbarControlSize + toolbarControlGap; } }; const project = (nextBack: HTMLIonBackButtonElement | undefined, groups: ToolbarSource[]) => { - root = foldableRoot()!; + root = verticalBarsRoot()!; let topOffset = 0; if (nextBack) { backSource = nextBack; @@ -216,7 +216,7 @@ export const createFoldableWebProjection = (doc: Document, options: NativeUIShel if (sources.length === 1) syncAction(projection, sources[0]); else copyAttributes(projection, group); projection.classList.add(toolbarProjectionClass, 'ion-cloned-element'); - projection.style.setProperty('--ios-theme-foldable-toolbar-offset', `${topOffset}px`); + projection.style.setProperty('--ios-theme-vertical-bars-toolbar-offset', `${topOffset}px`); const actions = sources.map((source) => { const clone = sources.length === 1 ? projection : (source.cloneNode(false) as HTMLElement); if (sources.length > 1) syncAction(clone, source); @@ -257,16 +257,16 @@ export const createFoldableWebProjection = (doc: Document, options: NativeUIShel }; const performUpdate = () => { frame = 0; - const currentRoot = foldableRoot(); - if (observingFoldable !== !!currentRoot) { - observingFoldable = !!currentRoot; + const currentRoot = verticalBarsRoot(); + if (observingVerticalBars !== !!currentRoot) { + observingVerticalBars = !!currentRoot; observer.disconnect(); observer.observe(doc.documentElement, { subtree: true, childList: true, attributes: true, attributeOldValue: true, - attributeFilter: observingFoldable ? undefined : ['class'], + attributeFilter: observingVerticalBars ? undefined : ['class'], }); } if (stopped || suspended || !currentRoot) return restore(); @@ -302,21 +302,21 @@ export const createFoldableWebProjection = (doc: Document, options: NativeUIShel const shadowHost = rootNode instanceof ShadowRoot ? rootNode.host : undefined; return !![element, shadowHost].some((candidate) => candidate?.closest(`.${backProjectionClass}, .${toolbarProjectionClass}`)); }; - const foldableChanged = records.some( + const verticalBarsChanged = records.some( (record) => (record.type === 'attributes' && (record.target as Element).matches('ion-app, body')) || (record.type === 'childList' && Array.from(record.addedNodes).some( (node) => node instanceof Element && - (node.matches(':is(ion-app, body).ios-theme-enable-foldable') || - !!node.querySelector(':is(ion-app, body).ios-theme-enable-foldable')), + (node.matches(':is(ion-app, body).ios-theme-vertical-bars') || + !!node.querySelector(':is(ion-app, body).ios-theme-vertical-bars')), )), ); if ( - (observingFoldable && + (observingVerticalBars && records.some((record) => record.attributeName !== marker && !prehideOnlyMutation(record) && !insideProjection(record.target))) || - (!observingFoldable && foldableChanged && records.some((record) => !prehideOnlyMutation(record))) + (!observingVerticalBars && verticalBarsChanged && records.some((record) => !prehideOnlyMutation(record))) ) schedule(); }); @@ -330,15 +330,15 @@ export const createFoldableWebProjection = (doc: Document, options: NativeUIShel const pageLifecycle = (event: Event) => { const page = event.target; if (!(page instanceof HTMLElement) || !page.matches('.ion-page')) return; - if (event.type === FOLDABLE_TRANSITION_CANCELED) { + if (event.type === VERTICAL_BARS_TRANSITION_CANCELED) { const entering = (event as CustomEvent<{ entering?: HTMLElement }>).detail?.entering; - foldablePages.cancel(entering, page); - } else foldablePages.lifecycle(event); - if (foldableRoot()) schedule(); + verticalBarsPages.cancel(entering, page); + } else verticalBarsPages.lifecycle(event); + if (verticalBarsRoot()) schedule(); }; for (const name of ['ionViewWillEnter', 'ionViewWillLeave', 'ionViewDidEnter', 'ionViewDidLeave']) doc.addEventListener(name, pageLifecycle, { capture: true, signal: listeners.signal }); - doc.addEventListener(FOLDABLE_TRANSITION_CANCELED, pageLifecycle, { capture: true, signal: listeners.signal }); + doc.addEventListener(VERTICAL_BARS_TRANSITION_CANCELED, pageLifecycle, { capture: true, signal: listeners.signal }); for (const name of ['ionModalWillPresent', 'ionModalDidDismiss']) doc.addEventListener(name, schedule, { capture: true, signal: listeners.signal }); if (options.controls === undefined || options.controls.toolbar === true) schedule(); diff --git a/src/styles/components/ion-button.scss b/src/styles/components/ion-button.scss index e787423e..82ac66c9 100644 --- a/src/styles/components/ion-button.scss +++ b/src/styles/components/ion-button.scss @@ -443,28 +443,28 @@ ion-back-button.ios:not(.ios-theme-disabled, .ios26-disabled) { } // Ionic can paint a newly inserted routed page before its WillEnter snapshot. -// Until JS assigns ownership, keep only its foldable back source off the Web +// Until JS assigns ownership, keep only its verticalBars back source off the Web // toolbar. Web-owned/opted-out buttons are released as soon as classified. html.ios-theme-native-ui-shell-prehide - :is(ion-app, body).ios-theme-enable-foldable + :is(ion-app, body).ios-theme-vertical-bars :is(ion-header, ion-footer):not([collapse]):not(:where(ion-content *, ion-menu *, ion-modal *, ion-popover *)) ion-toolbar ion-back-button:not( [icon], [color], - .ios-theme-foldable-back-web-owned, + .ios-theme-vertical-bars-back-web-owned, .ionic-theme-disabled, .ios-theme-disabled, .ios26-disabled, - .ios-theme-foldable-back-button-projection + .ios-theme-vertical-bars-back-button-projection ):not(:where(.ios-theme-shell-disabled *, .ionic-theme-disabled *, .ios-theme-disabled *, .ios26-disabled *)) { position: absolute !important; visibility: hidden !important; } -:is(ion-app, body).ios-theme-enable-foldable.ios-theme-foldable-toolbar-ready { +:is(ion-app, body).ios-theme-vertical-bars.ios-theme-vertical-bars-toolbar-ready { ion-toolbar.ios:not(.ios-theme-disabled, .ios26-disabled):not(:where(ion-menu *, ion-modal *, ion-popover *)) - ion-back-button.ios[data-native-ui-shell]:not(.ios-theme-disabled, .ios26-disabled, .ios-theme-foldable-back-button-projection) { + ion-back-button.ios[data-native-ui-shell]:not(.ios-theme-disabled, .ios26-disabled, .ios-theme-vertical-bars-back-button-projection) { display: none; } @@ -473,7 +473,7 @@ html.ios-theme-native-ui-shell-prehide > :is(ion-button, ion-menu-button).ios[data-native-ui-shell]:not( .ios-theme-disabled, .ios26-disabled, - .ios-theme-foldable-toolbar-action + .ios-theme-vertical-bars-toolbar-action ) { display: none; } @@ -485,22 +485,22 @@ html.ios-theme-native-ui-shell-prehide display: none; } - > ion-back-button.ios.ios-theme-foldable-back-button-projection { + > ion-back-button.ios.ios-theme-vertical-bars-back-button-projection { position: fixed; z-index: 1001; - top: var(--ios-theme-foldable-toolbar-top, 220px); - right: max(4px, calc((var(--ios-theme-foldable-safe-area-right-resolved) - 46px) / 2)); + top: var(--ios-theme-vertical-bars-toolbar-top, 220px); + right: max(4px, calc((var(--ios-theme-vertical-bars-safe-area-right-resolved) - 46px) / 2)); display: block; width: 46px; height: 46px; margin: 0; } - > .ios.ios-theme-foldable-toolbar-projection { + > .ios.ios-theme-vertical-bars-toolbar-projection { position: fixed; z-index: 1001; - top: calc(var(--ios-theme-foldable-toolbar-top, 220px) + var(--ios-theme-foldable-toolbar-offset, 0px)); - right: max(4px, calc((var(--ios-theme-foldable-safe-area-right-resolved) - 46px) / 2)); + top: calc(var(--ios-theme-vertical-bars-toolbar-top, 220px) + var(--ios-theme-vertical-bars-toolbar-offset, 0px)); + right: max(4px, calc((var(--ios-theme-vertical-bars-safe-area-right-resolved) - 46px) / 2)); width: 46px; min-width: 46px; height: 46px; @@ -515,12 +515,12 @@ html.ios-theme-native-ui-shell-prehide } } - > ion-menu-button.ios.ios-theme-foldable-toolbar-projection { + > ion-menu-button.ios.ios-theme-vertical-bars-toolbar-projection { @include api.glass-control-background; border-radius: 50%; } - > ion-button.ios.ios-theme-foldable-toolbar-projection { + > ion-button.ios.ios-theme-vertical-bars-toolbar-projection { --background: rgba(var(--ios-theme-glass-background-rgb, var(--ios26-glass-background-rgb)), 0.72); --border-radius: 50%; @include glass.light-shadow('--box-shadow'); @@ -530,13 +530,13 @@ html.ios-theme-native-ui-shell-prehide } } - > ion-buttons.ios.ios-theme-foldable-toolbar-projection { + > ion-buttons.ios.ios-theme-vertical-bars-toolbar-projection { display: flex; flex-direction: column; height: auto; min-height: 0; - > :is(ion-button, ion-menu-button).ios.ios-theme-foldable-toolbar-action { + > :is(ion-button, ion-menu-button).ios.ios-theme-vertical-bars-toolbar-action { display: block; width: 44px; min-width: 44px; diff --git a/src/styles/components/ion-content.scss b/src/styles/components/ion-content.scss index fd804a9c..fd16f492 100644 --- a/src/styles/components/ion-content.scss +++ b/src/styles/components/ion-content.scss @@ -23,25 +23,25 @@ ion-content.ios:not(.ios-theme-disabled, .ios26-disabled).content-fullscreen:not --padding-bottom: calc(60px + var(--ios-theme-floating-safe-area-bottom, var(--ios26-floating-safe-area-bottom))); } -// Keep the Web page's transition dimming, but never shade the foldable rail. -:is(ion-app, body).ios-theme-enable-foldable .ios-transition-shade { - clip-path: inset(0 var(--ios-theme-foldable-safe-area-right-resolved) 0 var(--ios-theme-foldable-safe-area-left-resolved)); +// Keep the Web page's transition dimming, but never shade the verticalBars rail. +:is(ion-app, body).ios-theme-vertical-bars .ios-transition-shade { + clip-path: inset(0 var(--ios-theme-vertical-bars-safe-area-right-resolved) 0 var(--ios-theme-vertical-bars-safe-area-left-resolved)); } -// Foldable system UI changes foreground geometry, not the page background. +// VerticalBars system UI changes foreground geometry, not the page background. // Reset Ionic's matching inset so descendants do not apply it a second time. -:is(ion-app, body).ios-theme-enable-foldable +:is(ion-app, body).ios-theme-vertical-bars ion-content.ios:not(.ios-theme-disabled, .ios26-disabled):not(:where(ion-menu *, ion-modal *, ion-popover *)) { --ion-safe-area-left: 0px; --ion-safe-area-right: 0px; &::part(scroll) { - padding-inline-start: calc(var(--padding-start, 0px) + var(--ios-theme-foldable-safe-area-left-resolved)); - padding-inline-end: calc(var(--padding-end, 0px) + var(--ios-theme-foldable-safe-area-right-resolved)); + padding-inline-start: calc(var(--padding-start, 0px) + var(--ios-theme-vertical-bars-safe-area-left-resolved)); + padding-inline-end: calc(var(--padding-end, 0px) + var(--ios-theme-vertical-bars-safe-area-right-resolved)); } &:dir(rtl)::part(scroll) { - padding-inline-start: calc(var(--padding-start, 0px) + var(--ios-theme-foldable-safe-area-right-resolved)); - padding-inline-end: calc(var(--padding-end, 0px) + var(--ios-theme-foldable-safe-area-left-resolved)); + padding-inline-start: calc(var(--padding-start, 0px) + var(--ios-theme-vertical-bars-safe-area-right-resolved)); + padding-inline-end: calc(var(--padding-end, 0px) + var(--ios-theme-vertical-bars-safe-area-left-resolved)); } } diff --git a/src/styles/components/ion-fab.scss b/src/styles/components/ion-fab.scss index e3dfc2ac..95a582a3 100644 --- a/src/styles/components/ion-fab.scss +++ b/src/styles/components/ion-fab.scss @@ -111,37 +111,37 @@ ion-fab.ios:not(.ios-theme-disabled, .ios26-disabled) { // FAB alignment is independent from tab placement. Map the reserved physical // side to the matching logical FAB edge for the current writing direction. -:is(ion-app, body).ios-theme-enable-foldable +:is(ion-app, body).ios-theme-vertical-bars ion-fab.ios:not(.ios-theme-disabled, .ios26-disabled):not(:where(ion-menu *, ion-modal *, ion-popover *)) { --ion-safe-area-left: 0px; --ion-safe-area-right: 0px; - --ios-theme-foldable-fab-edge-gap: 16px; - --ios-theme-foldable-fab-start-offset: var(--ios-theme-menu-width, var(--ios26-menu-width, 0px)); + --ios-theme-vertical-bars-fab-edge-gap: 16px; + --ios-theme-vertical-bars-fab-start-offset: var(--ios-theme-menu-width, var(--ios26-menu-width, 0px)); &.fab-horizontal-start { inset-inline-start: calc( - var(--ios-theme-foldable-fab-edge-gap) + var(--ios-theme-foldable-fab-start-offset) + - var(--ios-theme-foldable-safe-area-left-resolved) + var(--ios-theme-vertical-bars-fab-edge-gap) + var(--ios-theme-vertical-bars-fab-start-offset) + + var(--ios-theme-vertical-bars-safe-area-left-resolved) ); } &.fab-horizontal-end { - inset-inline-end: calc(var(--ios-theme-foldable-fab-edge-gap) + var(--ios-theme-foldable-safe-area-right-resolved)); + inset-inline-end: calc(var(--ios-theme-vertical-bars-fab-edge-gap) + var(--ios-theme-vertical-bars-safe-area-right-resolved)); } &:dir(rtl).fab-horizontal-start { inset-inline-start: calc( - var(--ios-theme-foldable-fab-edge-gap) + var(--ios-theme-foldable-fab-start-offset) + - var(--ios-theme-foldable-safe-area-right-resolved) + var(--ios-theme-vertical-bars-fab-edge-gap) + var(--ios-theme-vertical-bars-fab-start-offset) + + var(--ios-theme-vertical-bars-safe-area-right-resolved) ); } &:dir(rtl).fab-horizontal-end { - inset-inline-end: calc(var(--ios-theme-foldable-fab-edge-gap) + var(--ios-theme-foldable-safe-area-left-resolved)); + inset-inline-end: calc(var(--ios-theme-vertical-bars-fab-edge-gap) + var(--ios-theme-vertical-bars-safe-area-left-resolved)); } &:has(.fab-button-small) { - --ios-theme-foldable-fab-edge-gap: 10px; + --ios-theme-vertical-bars-fab-edge-gap: 10px; } } diff --git a/src/styles/components/ion-menu.scss b/src/styles/components/ion-menu.scss index 80eeebd1..723c35f0 100644 --- a/src/styles/components/ion-menu.scss +++ b/src/styles/components/ion-menu.scss @@ -4,7 +4,7 @@ ion-split-pane.ios:not(.ios-theme-disabled, .ios26-disabled) { ion-split-pane.ios:not(.ios-theme-disabled, .ios26-disabled).split-pane-visible:has(ion-menu.menu-pane-visible) { .split-pane-main { - ion-tab-bar.ios:not(.ios-theme-disabled, .ios26-disabled):not(:where(.ios-theme-enable-foldable *)) { + ion-tab-bar.ios:not(.ios-theme-disabled, .ios26-disabled):not(:where(.ios-theme-vertical-bars *)) { width: calc( 100% - calc(18px + var(--ion-safe-area-left, 0px)) - calc(18px + var(--ion-safe-area-right, 0px)) - 60px - 12px - var(--ios-theme-menu-width, var(--ios26-menu-width)) @@ -43,7 +43,7 @@ ion-split-pane.ios:not(.ios-theme-disabled, .ios26-disabled).split-pane-visible: ion-footer ion-toolbar { --padding-start: var(--ios-theme-menu-width, var(--ios26-menu-width)); } - ion-tab-bar.ios:not(.ios-theme-disabled, .ios26-disabled):not(:where(.ios-theme-enable-foldable *)) { + ion-tab-bar.ios:not(.ios-theme-disabled, .ios26-disabled):not(:where(.ios-theme-vertical-bars *)) { &[slot='bottom'] { inset-inline-start: calc(16px + var(--ion-safe-area-left, 0px) + var(--ios-theme-menu-width, var(--ios26-menu-width))); &:dir(rtl) { @@ -133,16 +133,16 @@ ion-menu.ios:not(.ios-theme-disabled, .ios26-disabled) { } } -// A menu beside foldable system UI must end before the reserved region. Its +// A menu beside verticalBars system UI must end before the reserved region. Its // own ion-content remains unchanged. The host consumes the matching Ionic // safe-area variable because its complete surface has already moved inward. -:is(ion-app, body).ios-theme-enable-foldable { +:is(ion-app, body).ios-theme-vertical-bars { ion-menu.ios.menu-side-end:not(:dir(rtl)):not(.ios-theme-disabled, .ios26-disabled), ion-menu.ios.menu-side-start:dir(rtl):not(.ios-theme-disabled, .ios26-disabled) { --ion-safe-area-right: 0px; &::part(container) { - margin-right: var(--ios-theme-foldable-safe-area-right-resolved); + margin-right: var(--ios-theme-vertical-bars-safe-area-right-resolved); } } @@ -151,7 +151,7 @@ ion-menu.ios:not(.ios-theme-disabled, .ios26-disabled) { --ion-safe-area-left: 0px; &::part(container) { - margin-left: var(--ios-theme-foldable-safe-area-left-resolved); + margin-left: var(--ios-theme-vertical-bars-safe-area-left-resolved); } } } diff --git a/src/styles/components/ion-tabs.scss b/src/styles/components/ion-tabs.scss index 1c332b31..452b6347 100644 --- a/src/styles/components/ion-tabs.scss +++ b/src/styles/components/ion-tabs.scss @@ -166,12 +166,12 @@ ion-tab-bar.ios:not(.ios-theme-disabled, .ios26-disabled) { // iPhone Duo reserves the physical right edge for system navigation. In the // web simulation, keep tabs in that same rail so the application remains // usable without introducing a second navigation component. -:is(ion-app, body).ios-theme-enable-foldable +:is(ion-app, body).ios-theme-vertical-bars ion-tabs:not(:where(ion-menu *, ion-modal *, ion-popover *)) > ion-tab-bar.ios:not(.ios-theme-disabled, .ios26-disabled) { --ios-theme-side-tab-bar-width: 50px; --ios-theme-side-tab-bar-gap: 8px; - --ios-theme-side-safe-area: var(--ios-theme-foldable-safe-area-right-resolved); + --ios-theme-side-safe-area: var(--ios-theme-vertical-bars-safe-area-right-resolved); contain: layout style; display: flex; diff --git a/src/styles/components/ion-toolbar.scss b/src/styles/components/ion-toolbar.scss index 3640429d..4e4b36e8 100644 --- a/src/styles/components/ion-toolbar.scss +++ b/src/styles/components/ion-toolbar.scss @@ -109,19 +109,19 @@ ion-toolbar.ios:not(.ios-theme-disabled, .ios26-disabled) { } // Keep the toolbar background full-width while moving its foreground controls -// away from foldable system UI. -:is(ion-app, body).ios-theme-enable-foldable +// away from verticalBars system UI. +:is(ion-app, body).ios-theme-vertical-bars ion-toolbar.ios:not(.ios-theme-disabled, .ios26-disabled):not(:where(ion-menu *, ion-modal *, ion-popover *)) { --ion-safe-area-left: 0px; --ion-safe-area-right: 0px; &::part(container) { - padding-inline-start: calc(var(--padding-start, 0px) + var(--ios-theme-foldable-safe-area-left-resolved)); - padding-inline-end: calc(var(--padding-end, 0px) + var(--ios-theme-foldable-safe-area-right-resolved)); + padding-inline-start: calc(var(--padding-start, 0px) + var(--ios-theme-vertical-bars-safe-area-left-resolved)); + padding-inline-end: calc(var(--padding-end, 0px) + var(--ios-theme-vertical-bars-safe-area-right-resolved)); } &:dir(rtl)::part(container) { - padding-inline-start: calc(var(--padding-start, 0px) + var(--ios-theme-foldable-safe-area-right-resolved)); - padding-inline-end: calc(var(--padding-end, 0px) + var(--ios-theme-foldable-safe-area-left-resolved)); + padding-inline-start: calc(var(--padding-start, 0px) + var(--ios-theme-vertical-bars-safe-area-right-resolved)); + padding-inline-end: calc(var(--padding-end, 0px) + var(--ios-theme-vertical-bars-safe-area-left-resolved)); } } diff --git a/src/styles/default-variables.scss b/src/styles/default-variables.scss index 78329db4..8e237ce5 100644 --- a/src/styles/default-variables.scss +++ b/src/styles/default-variables.scss @@ -40,7 +40,7 @@ // iPhone Duo web simulation: the iOS 27.1 Simulator is 951pt wide while // its application window is 871pt wide, leaving an 80pt navigation region. -:is(ion-app, body).ios-theme-enable-foldable { - --ios-theme-foldable-safe-area-left-resolved: var(--ios-theme-foldable-safe-area-left, 0px); - --ios-theme-foldable-safe-area-right-resolved: var(--ios-theme-foldable-safe-area-right, 80px); +:is(ion-app, body).ios-theme-vertical-bars { + --ios-theme-vertical-bars-safe-area-left-resolved: var(--ios-theme-vertical-bars-safe-area-left, 0px); + --ios-theme-vertical-bars-safe-area-right-resolved: var(--ios-theme-vertical-bars-safe-area-right, 80px); } diff --git a/src/transition/ios.transition.ts b/src/transition/ios.transition.ts index cb5e655e..538f88e4 100644 --- a/src/transition/ios.transition.ts +++ b/src/transition/ios.transition.ts @@ -14,7 +14,7 @@ const transitionConfig = { offLeftPercent: 30, getIonPageElement, connectNativeUIShellTransition, - shouldAnimateFixedBackButton: (navEl: HTMLElement) => !navEl.closest(':is(ion-app, body).ios-theme-enable-foldable'), + shouldAnimateFixedBackButton: (navEl: HTMLElement) => !navEl.closest(':is(ion-app, body).ios-theme-vertical-bars'), radius: 0, }; From 494436f20430c73372a9a58d4fb15ac48be149d5 Mon Sep 17 00:00:00 2001 From: rdlabo Date: Thu, 24 Sep 2026 17:42:30 +0900 Subject: [PATCH 34/50] feat: expose standalone vertical control area --- README.md | 4 + demo/e2e/native-ui-shell.spec.ts | 47 ++- demo/e2e/vertical-bars-standalone.spec.ts | 39 +++ demo/src/app/docs/docs-content.generated.ts | 2 +- demo/src/main.ts | 4 +- docs/native-ui-shell.md | 2 + docs/special-markup.md | 16 +- .../IonicNativeUIShellPlugin.swift | 20 +- package.json | 4 + src/native/definitions.ts | 4 +- src/native/index.ts | 23 +- src/native/runtime.ts | 2 + src/native/shared/dom.ts | 7 +- src/styles/components/ion-button.scss | 114 ------- src/styles/components/ion-content.scss | 23 -- src/styles/components/ion-fab.scss | 36 --- src/styles/components/ion-menu.scss | 23 -- src/styles/components/ion-tabs.scss | 93 ------ src/styles/components/ion-toolbar.scss | 18 -- src/styles/default-variables.scss | 7 - src/styles/ionic-theme-ios27.scss | 1 + src/styles/vertical-bars.scss | 285 ++++++++++++++++++ src/vertical-bars.ts | 2 + 23 files changed, 439 insertions(+), 337 deletions(-) create mode 100644 demo/e2e/vertical-bars-standalone.spec.ts create mode 100644 src/styles/vertical-bars.scss create mode 100644 src/vertical-bars.ts diff --git a/README.md b/README.md index e55599a9..80247132 100644 --- a/README.md +++ b/README.md @@ -121,6 +121,10 @@ Use this markup to preview the inset grouped list look. For the list structure t ## Optional setups +### Support iPhone Duo without the iOS 27 theme + +Import only `@rdlabo/ionic-theme-ios27/dist/css/vertical-bars.css`, add `ios-theme-vertical-bars` to `ion-app`, and call `enableVerticalControlArea()` from `@rdlabo/ionic-theme-ios27/vertical-bars` at startup. This uses Ionic's standard appearance outside the Vertical Control Area; on supported iOS, only controls moved into that area are projected natively. See [Support iPhone Duo](./docs/special-markup.md#support-iphone-duo) for the complete setup. + ### Use only the iOS 27 theme Install only `@rdlabo/ionic-theme-ios27` and import its styles unconditionally in your global stylesheet: diff --git a/demo/e2e/native-ui-shell.spec.ts b/demo/e2e/native-ui-shell.spec.ts index 5e05e2af..71a359e3 100644 --- a/demo/e2e/native-ui-shell.spec.ts +++ b/demo/e2e/native-ui-shell.spec.ts @@ -16,6 +16,8 @@ const mockNative = async (page: Page, fail = false, verticalBars = true) => { rejectInactiveSearch: false, rejectAllSearch: false, rejectControlLabel: '', + configuredWith: undefined as any, + metricsRequested: 0, activate: (_event: any) => {}, search: (_event: any) => {}, metrics: (_event: any) => {}, @@ -38,8 +40,14 @@ const mockNative = async (page: Page, fail = false, verticalBars = true) => { }, ], nativePromise: async (_plugin: string, method: string, options: any) => { - if (method === 'configure') return { supported: true, verticalBars }; - if (method === 'getWebViewMetrics') return { radius: 0 }; + if (method === 'configure') { + state.configuredWith = options; + return { supported: true, verticalBars }; + } + if (method === 'getWebViewMetrics') { + state.metricsRequested++; + return { radius: 0 }; + } state.updates.push(method === 'clear' ? { ...options, controls: [] } : options); if (state.hang && method === 'update') await new Promise(() => {}); if (state.delay) await new Promise((resolve) => setTimeout(resolve, state.delay)); @@ -355,6 +363,41 @@ test('verticalBars tabs request native adaptive rail placement', async ({ page } await expect(bar).toHaveClass(/ios27-enable-gesture/); }); +test('standalone Vertical Control Area never snapshots ordinary Native UI Shell controls', async ({ page }) => { + await mockNative(page); + await page.goto('/main/index/native-ui-shell?verticalBarsOnly=1'); + await page.evaluate(() => { + for (const sheet of Array.from(document.styleSheets)) { + for (let index = sheet.cssRules.length - 1; index >= 0; index--) { + const rule = sheet.cssRules[index]; + if (rule instanceof CSSSupportsRule && rule.cssText.includes('--ios27-color-scheme')) sheet.deleteRule(index); + } + } + }); + const app = page.locator('ion-app'); + await app.evaluate((element) => { + element.classList.add('ios-theme-vertical-bars'); + element.style.setProperty('--ion-background-color-rgb', '0, 0, 0'); + }); + const allVerticalBarsDark = (expected: boolean) => + page.evaluate((expected) => { + const controls = ((window as any).__nativeUIShell.updates.at(-1)?.controls ?? []).filter( + (control: any) => control.placement === 'vertical-bars', + ); + return controls.length > 0 && controls.every((control: any) => control.dark === expected); + }, expected); + await expect.poll(() => allVerticalBarsDark(true)).toBe(true); + const state = await page.evaluate(() => { + const { configuredWith, metricsRequested, updates } = (window as any).__nativeUIShell; + return { configuredWith, metricsRequested, updates }; + }); + expect(state.configuredWith).toEqual({ verticalBarsOnly: true }); + expect(state.metricsRequested).toBe(0); + expect(state.updates.flatMap((update: any) => update.controls).every((control: any) => control.placement === 'vertical-bars')).toBe(true); + await app.evaluate((element) => element.style.setProperty('--ion-background-color-rgb', '255, 255, 255')); + await expect.poll(() => allVerticalBarsDark(false)).toBe(true); +}); + test('verticalBars back navigation and toolbar slots request native rail placement', async ({ page }) => { await mockNative(page); await page.goto('/main/index/native-ui-shell'); diff --git a/demo/e2e/vertical-bars-standalone.spec.ts b/demo/e2e/vertical-bars-standalone.spec.ts new file mode 100644 index 00000000..ed4338d1 --- /dev/null +++ b/demo/e2e/vertical-bars-standalone.spec.ts @@ -0,0 +1,39 @@ +import { resolve } from 'node:path'; +import { expect, test } from '@playwright/test'; +import { compile } from 'sass'; + +const verticalBars = compile(resolve(__dirname, '../../src/styles/vertical-bars.scss')).css; + +test('Vertical Control Area works with Ionic CSS and no iOS 27 theme', async ({ page }) => { + await page.setViewportSize({ width: 700, height: 900 }); + await page.goto('/main/index/native-ui-shell?verticalBarsOnly=1'); + await page.evaluate(() => { + for (const sheet of Array.from(document.styleSheets)) { + for (let index = sheet.cssRules.length - 1; index >= 0; index--) { + const rule = sheet.cssRules[index]; + if (rule instanceof CSSSupportsRule && rule.cssText.includes('--ios27-color-scheme')) sheet.deleteRule(index); + } + } + }); + await page.addStyleTag({ content: verticalBars }); + expect(await page.evaluate(() => getComputedStyle(document.documentElement).getPropertyValue('--ios27-color-scheme').trim())).toBe(''); + await page.locator('ion-app').evaluate((element) => element.classList.add('ios-theme-vertical-bars')); + + const tabBar = page.locator('#tab-bar-bottom'); + await expect.poll(async () => (await tabBar.boundingBox())?.x).toBeGreaterThan(620); + const toolbar = page.locator('app-native-ui-shell ion-toolbar').first(); + await expect + .poll(() => toolbar.evaluate((element) => getComputedStyle(element).getPropertyValue('--ion-safe-area-right').trim())) + .toBe('0px'); + const source = page.locator('app-native-ui-shell ion-button[type="submit"]'); + const projection = page.locator('ion-app > ion-button.ios-theme-vertical-bars-toolbar-projection[aria-label="Save"]'); + await expect(source).toBeHidden(); + await expect(projection).toBeVisible(); + await projection.click(); + await expect(page.locator('[data-save-count]')).toHaveText('1'); + + const back = page.locator('ion-app > ion-back-button.ios-theme-vertical-bars-back-button-projection'); + await expect(back).toBeVisible(); + await back.click(); + await expect(page).toHaveURL(/\/main\/index$/); +}); diff --git a/demo/src/app/docs/docs-content.generated.ts b/demo/src/app/docs/docs-content.generated.ts index 5409abb3..6f891dd8 100644 --- a/demo/src/app/docs/docs-content.generated.ts +++ b/demo/src/app/docs/docs-content.generated.ts @@ -1,3 +1,3 @@ // Generated from docs/special-markup.md. Do not edit directly. export const docsContentHtml = - '

      Special markup and classes

      \n

      Most Ionic markup works without changes. The combinations below are explicit opt-ins provided by the theme.

      \n

      Primary submit buttons

      \n

      Solid submit buttons use the Ionic color's contrast value for their foreground. Their directional edge treatment follows the iOS 27 prominent-button appearance and does not require an additional brightness color.

      \n
      <ion-button type="submit" color="primary">Submit</ion-button>\n<ion-button class="button-submit" fill="solid" color="primary">Continue</ion-button>
      \n\n
      \n
      Preview
      \nSubmit\nContinue\n
      \n\n

      Use .button-submit when the button needs the same treatment but cannot use type="submit".

      \n

      Preferred overlay actions

      \n

      For iOS alerts and action sheets, set role: 'preferred' on a button to give it a filled --ion-color-primary background and --ion-color-primary-contrast text and icons. While pressed, the background uses --ion-color-primary-shade. This is a theme convention using Ionic's custom button roles; it does not automatically select or invoke the action. Dismissal reports the role as preferred.

      \n
      buttons: [\n  { text: \'Cancel\', role: \'cancel\' },\n  { text: \'Continue\', role: \'preferred\' },\n];
      \n\n

      Buttons with no role or default keep the normal text color. cancel retains Ionic's cancellation behavior, selected remains a selection state, and destructive uses --ios-theme-destructive-color. An existing confirm role is not treated as preferred. Use preferred for the recommended action, not simply any action that confirms a choice.

      \n

      Floating iPad sheets

      \n

      Set expandToScroll: false on a sheet modal to use floating lower corners and a 20px bottom gap on iPad. Ionic then sizes the visible page at each breakpoint, so the theme can style it with CSS alone. Content scrolls within the current breakpoint; dragging the handle still resizes the sheet. With the default expandToScroll: true, the sheet keeps Ionic's bottom-attached layout and scroll-to-expand behavior.

      \n

      Tab bar position

      \n

      Add one of tab-bar-position-start, tab-bar-position-center, or tab-bar-position-end to an iOS ion-tab-bar to position the whole bar within its safe area. These classes work with both slot="top" and slot="bottom" and preserve the bar's width and press animation. Start and end follow the text direction (reversed in RTL). Without a class, the existing placement is unchanged.

      \n
      <ion-tab-bar slot="bottom" class="tab-bar-position-center">\n  <ion-tab-button tab="home">Home</ion-tab-button>\n  <ion-tab-button tab="settings">Settings</ion-tab-button>\n</ion-tab-bar>
      \n\n

      These classes do not reposition a separate ion-fab; leave room for it when choosing the bar's position.

      \n

      Support iPhone Duo

      \n

      To simulate the iPhone Duo layout on the web, add .ios-theme-vertical-bars to the active ion-app. Use body only when the application has no ion-app root:

      \n
      <ion-app class="ios-theme-vertical-bars">...</ion-app>
      \n\n

      The class reserves 80px on the physical right by default, matching the system navigation region measured in the iPhone Duo Simulator. The physical left defaults to 0px. Override --ios-theme-vertical-bars-safe-area-left or --ios-theme-vertical-bars-safe-area-right when simulating a different layout.

      \n

      This keeps routers and component backgrounds full-viewport. ion-content moves its scroll foreground, ion-toolbar moves its container foreground, and ion-fab adjusts only when it is placed beside the system UI. The corresponding Ionic safe-area variable is reset inside those foreground components so descendants do not add the inset again.

      \n

      ion-menu, ion-modal, and ion-popover are handled as separate surfaces: their internal foreground components do not receive the main-page conversion and retain Ionic's standard safe-area handling. A menu presented beside the system UI keeps Ionic's full-viewport animation host and offsets only its visible container by the corresponding inset; a menu from the opposite side is unchanged. Left and right remain physical coordinates in RTL, while Ionic's side="start" and side="end" values remain logical.

      \n

      These values are web-layout simulation inputs. They are independent from Ionic's normal iPhone safe-area variables and do not change ordinary iPhone layouts unless the opt-in class is present.

      \n

      When the app contains ion-tabs, this mode moves its iOS tab bar into the physical right-side reserved region and aligns it above the bottom safe area. The Ionic slot value does not select a different position. Without Native UI Shell, the stable Web rail is icon-only, matching a four-tab SwiftUI TabView on iPhone Duo. While the user presses and drags across that rail, every icon-and-label tab reveals its label so the pending destination stays identifiable. The Web tab bar receives pointer input in the simulated system region. Use ion-menu when navigation should become a sidebar; this mode does not convert tabs into a menu.

      \n

      On supported iOS versions, initializing enableNativeUIShell() at application startup hands eligible tabs, back navigation, menu buttons, and fixed-toolbar actions to a native SwiftUI TabView and toolbar. The Ionic controls remain the sources of labels, icons, selected/disabled state, form submission, routing, and click handlers while SwiftUI owns adaptive placement and interaction. Fixed-toolbar actions need an icon or SVG, no direct text node, and standard fill="default" or fill="clear" to be eligible for the side rail. Text-only actions stay in the original Web toolbar. Add .ios-theme-horizontal-only to an ion-buttons group or individual ion-button to keep it in the Web toolbar. Placement is chosen when a routed page enters; changing an existing button's content does not move it between the toolbar and rail until the page leaves and re-enters. Menus, modals, and popovers retain their own toolbar layout.

      \n

      On Web, Android, older iOS, or when native projection is unavailable during setup, the Web tab bar and fixed-toolbar clones remain the fallback. Those projections also work when no ion-tabs exists; text-only actions stay in the original Web toolbar. Disabling the mode or leaving the page removes the native ownership or Web clones and restores their sources. Override --ios-theme-vertical-bars-toolbar-top when the simulated system controls use a different vertical layout.

      \n

      Two-line inset list items

      \n

      Place an unslotted ion-label immediately alongside an unslotted ion-note to render a two-line item. When using the iOS-style inset-list background, wrap the items in ion-item-group; keep ion-list-header outside the group.

      \n
      <ion-list inset="true">\n  <ion-list-header>\n    <ion-label>Connections</ion-label>\n  </ion-list-header>\n  <ion-item-group>\n    <ion-item>\n      <ion-label>Network &amp; internet</ion-label>\n      <ion-note>Mobile, Wi-Fi, hotspot</ion-note>\n    </ion-item>\n  </ion-item-group>\n</ion-list>
      \n\n
      \n
      Preview
      \n\n \n Connections\n \n \n \n Network & internet\n Mobile, Wi-Fi, hotspot\n \n \n\n
      \n\n

      Use slot="end" on ion-note when you want the standard trailing-note layout instead.

      \n

      Inset-list section headers

      \n

      Add .item-group-header to an ion-item-group to create the centered icon, title, and description used at the top of the component demo pages.

      \n

      This is an introductory group. Place regular list items in a separate ion-item-group that follows it.

      \n
      <ion-list inset="true">\n  <ion-item-group class="item-group-header">\n    <ion-item>\n      <ion-label>\n        <ion-icon name="list" style="background: var(--ion-color-primary)"></ion-icon>\n        <h2>Lists</h2>\n        <ion-text>Inset-list examples</ion-text>\n      </ion-label>\n    </ion-item>\n  </ion-item-group>\n  <ion-item-group>\n    <ion-item><ion-label>First item</ion-label></ion-item>\n  </ion-item-group>\n</ion-list>
      \n\n
      \n
      Preview
      \n\n \n \n \n \n

      Lists

      \n Inset-list examples\n
      \n
      \n
      \n \n First item\n \n
      \n
      \n\n

      Full-width segments

      \n

      Add .segment-style-glass to give a segment the same glass surface and selected indicator treatment as the tab bar. The class preserves the segment's existing dimensions and text colors, supports scrollable segments, and respects Ionic's public --background property.

      \n
      <ion-segment class="segment-style-glass" value="available">\n  <ion-segment-button value="available">Available</ion-segment-button>\n  <ion-segment-button value="away">Away</ion-segment-button>\n</ion-segment>
      \n\n

      For colored segments, use Ionic's color property (for example, color="primary" or color="secondary"). Ionic uses the palette's base color for the softly tinted track while keeping the selected surface and labels neutral. A surrounding colored toolbar only supplies colors when the segment has no color of its own. The optional moving glass inherits the selected surface color, and custom Ionic palettes work without additional registration.

      \n

      Add .segment-expand when segment buttons should divide the available width evenly. The class also changes the Liquid Glass effect sizing when registerSegmentEffect is used.

      \n

      Segments use a 32px minimum height in content and a 48px minimum height inside ion-toolbar. .segment-expand keeps the compact 32px layout in a toolbar. Compact segments retain Ionic's flat background and indicator colors; only the regular toolbar variant has a glass container and scales its outer container while pressed. Content and expanded segments keep their outer bounds. The optional moving glass lens is independent of the container's background.

      \n
      <ion-segment class="segment-expand" value="new">\n  <ion-segment-button value="new"><ion-label>New</ion-label></ion-segment-button>\n  <ion-segment-button value="replied"><ion-label>Replied</ion-label></ion-segment-button>\n</ion-segment>
      \n\n
      \n
      Preview
      \n\n New\n Replied\n\n
      \n\n

      Classic search bar in a condense header

      \n

      The theme gives iOS search bars the iOS 27 appearance by default. Add .searchbar-classic to the search field shown beneath a large title in an ion-header with collapse="condense". It uses the conventional filled iOS appearance and collapses with the large title instead of remaining in the fixed header.

      \n

      Place it in a toolbar with a color, such as color="light"; the classic background is derived from that color's contrast value.

      \n

      The example uses Ionic's standard collapsible large-title structure. Scroll the preview to collapse the large title and reveal the fixed header.

      \n
      <div class="ion-page">\n  <ion-header translucent="true">\n    <ion-toolbar color="light">\n      <ion-title>Search</ion-title>\n    </ion-toolbar>\n  </ion-header>\n  <ion-content color="light" fullscreen="true">\n    <ion-header collapse="condense">\n      <ion-toolbar color="light">\n        <ion-title size="large">Search</ion-title>\n      </ion-toolbar>\n      <ion-toolbar color="light">\n        <ion-searchbar class="searchbar-classic" placeholder="Filter results"></ion-searchbar>\n      </ion-toolbar>\n    </ion-header>\n    <ion-list inset="true">\n      <ion-item-group>\n        <ion-item><ion-label>Recent item 1</ion-label></ion-item>\n        <ion-item><ion-label>Recent item 2</ion-label></ion-item>\n        <ion-item><ion-label>Recent item 3</ion-label></ion-item>\n        <ion-item><ion-label>Recent item 4</ion-label></ion-item>\n        <ion-item><ion-label>Recent item 5</ion-label></ion-item>\n        <ion-item><ion-label>Recent item 6</ion-label></ion-item>\n        <ion-item><ion-label>Recent item 7</ion-label></ion-item>\n        <ion-item><ion-label>Recent item 8</ion-label></ion-item>\n        <ion-item><ion-label>Recent item 9</ion-label></ion-item>\n        <ion-item><ion-label>Recent item 10</ion-label></ion-item>\n      </ion-item-group>\n    </ion-list>\n  </ion-content>\n</div>
      \n\n
      \n
      Preview
      \n
      \n \n \n Search\n \n \n \n \n \n Search\n \n \n \n \n \n \n \n Recent item 1\n Recent item 2\n Recent item 3\n Recent item 4\n Recent item 5\n Recent item 6\n Recent item 7\n Recent item 8\n Recent item 9\n Recent item 10\n \n \n \n
      \n
      \n\n

      The .ion-page wrapper makes this embedded preview behave like a complete routed page. An application using ion-router-outlet normally receives that page container automatically. The inset list and its items only provide enough content to demonstrate scrolling; they are not required by .searchbar-classic.

      \n

      Search-bar toolbars

      \n

      Add .toolbar-searchbar when an ion-toolbar combines a search bar with start or end buttons. The class centers the slotted controls and adjusts the spacing around the search field.

      \n
      <ion-toolbar class="toolbar-searchbar">\n  <ion-buttons slot="start">\n    <ion-button>Cancel</ion-button>\n  </ion-buttons>\n  <ion-searchbar></ion-searchbar>\n</ion-toolbar>
      \n\n
      \n
      Preview
      \n\n \n Cancel\n \n \n\n
      \n\n

      Opting out

      \n

      Add .ios-theme-disabled to an individual Ionic component when it must retain Ionic's standard iOS styling.

      \n

      .ios26-disabled is deprecated but remains supported as an alias with the same behavior. Use .ios-theme-disabled for new code.

      \n
      <ion-button>iOS 27 theme</ion-button> <ion-button class="ios-theme-disabled">Standard Ionic button</ion-button>
      \n\n
      \n
      Preview
      \niOS 27 theme Standard Ionic button\n
      \n\n

      For the background model behind inset lists, see Using ion-item-group.

      \n'; + '

      Special markup and classes

      \n

      Most Ionic markup works without changes. The combinations below are explicit opt-ins provided by the theme.

      \n

      Primary submit buttons

      \n

      Solid submit buttons use the Ionic color's contrast value for their foreground. Their directional edge treatment follows the iOS 27 prominent-button appearance and does not require an additional brightness color.

      \n
      <ion-button type="submit" color="primary">Submit</ion-button>\n<ion-button class="button-submit" fill="solid" color="primary">Continue</ion-button>
      \n\n
      \n
      Preview
      \nSubmit\nContinue\n
      \n\n

      Use .button-submit when the button needs the same treatment but cannot use type="submit".

      \n

      Preferred overlay actions

      \n

      For iOS alerts and action sheets, set role: 'preferred' on a button to give it a filled --ion-color-primary background and --ion-color-primary-contrast text and icons. While pressed, the background uses --ion-color-primary-shade. This is a theme convention using Ionic's custom button roles; it does not automatically select or invoke the action. Dismissal reports the role as preferred.

      \n
      buttons: [\n  { text: \'Cancel\', role: \'cancel\' },\n  { text: \'Continue\', role: \'preferred\' },\n];
      \n\n

      Buttons with no role or default keep the normal text color. cancel retains Ionic's cancellation behavior, selected remains a selection state, and destructive uses --ios-theme-destructive-color. An existing confirm role is not treated as preferred. Use preferred for the recommended action, not simply any action that confirms a choice.

      \n

      Floating iPad sheets

      \n

      Set expandToScroll: false on a sheet modal to use floating lower corners and a 20px bottom gap on iPad. Ionic then sizes the visible page at each breakpoint, so the theme can style it with CSS alone. Content scrolls within the current breakpoint; dragging the handle still resizes the sheet. With the default expandToScroll: true, the sheet keeps Ionic's bottom-attached layout and scroll-to-expand behavior.

      \n

      Tab bar position

      \n

      Add one of tab-bar-position-start, tab-bar-position-center, or tab-bar-position-end to an iOS ion-tab-bar to position the whole bar within its safe area. These classes work with both slot="top" and slot="bottom" and preserve the bar's width and press animation. Start and end follow the text direction (reversed in RTL). Without a class, the existing placement is unchanged.

      \n
      <ion-tab-bar slot="bottom" class="tab-bar-position-center">\n  <ion-tab-button tab="home">Home</ion-tab-button>\n  <ion-tab-button tab="settings">Settings</ion-tab-button>\n</ion-tab-bar>
      \n\n

      These classes do not reposition a separate ion-fab; leave room for it when choosing the bar's position.

      \n

      Support iPhone Duo

      \n

      Load the separate stylesheet and start its projection runtime. The iOS 27 theme stylesheets are not required:

      \n
      @use \'@rdlabo/ionic-theme-ios27/dist/css/vertical-bars.css\';
      \n\n
      import { enableVerticalControlArea } from \'@rdlabo/ionic-theme-ios27/vertical-bars\';\n\nvoid enableVerticalControlArea();
      \n\n

      Add .ios-theme-vertical-bars to the active ion-app. Use body only when the application has no ion-app root:

      \n
      <ion-app class="ios-theme-vertical-bars">...</ion-app>
      \n\n

      The class reserves 80px on the physical right by default, matching the system navigation region measured in the iPhone Duo Simulator. The physical left defaults to 0px. Override --ios-theme-vertical-bars-safe-area-left or --ios-theme-vertical-bars-safe-area-right when simulating a different layout.

      \n

      This keeps routers and component backgrounds full-viewport. ion-content moves its scroll foreground, ion-toolbar moves its container foreground, and ion-fab adjusts only when it is placed beside the system UI. The corresponding Ionic safe-area variable is reset inside those foreground components so descendants do not add the inset again.

      \n

      ion-menu, ion-modal, and ion-popover are handled as separate surfaces: their internal foreground components do not receive the main-page conversion and retain Ionic's standard safe-area handling. A menu presented beside the system UI keeps Ionic's full-viewport animation host and offsets only its visible container by the corresponding inset; a menu from the opposite side is unchanged. Left and right remain physical coordinates in RTL, while Ionic's side="start" and side="end" values remain logical.

      \n

      These values are web-layout simulation inputs. They are independent from Ionic's normal iPhone safe-area variables and do not change ordinary iPhone layouts unless the opt-in class is present.

      \n

      When the app contains ion-tabs, this mode moves its iOS tab bar into the physical right-side reserved region and aligns it above the bottom safe area. The Ionic slot value does not select a different position. Without Native UI Shell, the stable Web rail is icon-only, matching a four-tab SwiftUI TabView on iPhone Duo. While the user presses and drags across that rail, every icon-and-label tab reveals its label so the pending destination stays identifiable. The Web tab bar receives pointer input in the simulated system region. Use ion-menu when navigation should become a sidebar; this mode does not convert tabs into a menu.

      \n

      On supported iOS versions, enableVerticalControlArea() hands eligible tabs, back navigation, menu buttons, and fixed-toolbar actions to a native SwiftUI TabView and toolbar. It does not project ordinary Native UI Shell controls outside the vertical area. If the app already uses the full enableNativeUIShell(), keep that single runtime instead of starting both. The Ionic controls remain the sources of labels, icons, selected/disabled state, form submission, routing, and click handlers while SwiftUI owns adaptive placement and interaction. Fixed-toolbar actions need an icon or SVG, no direct text node, and standard fill="default" or fill="clear" to be eligible for the side rail. Text-only actions stay in the original Web toolbar. Add .ios-theme-horizontal-only to an ion-buttons group or individual ion-button to keep it in the Web toolbar. Placement is chosen when a routed page enters; changing an existing button's content does not move it between the toolbar and rail until the page leaves and re-enters. Menus, modals, and popovers retain their own toolbar layout.

      \n

      On Web, Android, older iOS, or when native projection is unavailable during setup, the Web tab bar and fixed-toolbar clones remain the fallback. Those projections also work when no ion-tabs exists; text-only actions stay in the original Web toolbar. Disabling the mode or leaving the page removes the native ownership or Web clones and restores their sources. Override --ios-theme-vertical-bars-toolbar-top when the simulated system controls use a different vertical layout.

      \n

      Two-line inset list items

      \n

      Place an unslotted ion-label immediately alongside an unslotted ion-note to render a two-line item. When using the iOS-style inset-list background, wrap the items in ion-item-group; keep ion-list-header outside the group.

      \n
      <ion-list inset="true">\n  <ion-list-header>\n    <ion-label>Connections</ion-label>\n  </ion-list-header>\n  <ion-item-group>\n    <ion-item>\n      <ion-label>Network &amp; internet</ion-label>\n      <ion-note>Mobile, Wi-Fi, hotspot</ion-note>\n    </ion-item>\n  </ion-item-group>\n</ion-list>
      \n\n
      \n
      Preview
      \n\n \n Connections\n \n \n \n Network & internet\n Mobile, Wi-Fi, hotspot\n \n \n\n
      \n\n

      Use slot="end" on ion-note when you want the standard trailing-note layout instead.

      \n

      Inset-list section headers

      \n

      Add .item-group-header to an ion-item-group to create the centered icon, title, and description used at the top of the component demo pages.

      \n

      This is an introductory group. Place regular list items in a separate ion-item-group that follows it.

      \n
      <ion-list inset="true">\n  <ion-item-group class="item-group-header">\n    <ion-item>\n      <ion-label>\n        <ion-icon name="list" style="background: var(--ion-color-primary)"></ion-icon>\n        <h2>Lists</h2>\n        <ion-text>Inset-list examples</ion-text>\n      </ion-label>\n    </ion-item>\n  </ion-item-group>\n  <ion-item-group>\n    <ion-item><ion-label>First item</ion-label></ion-item>\n  </ion-item-group>\n</ion-list>
      \n\n
      \n
      Preview
      \n\n \n \n \n \n

      Lists

      \n Inset-list examples\n
      \n
      \n
      \n \n First item\n \n
      \n
      \n\n

      Full-width segments

      \n

      Add .segment-style-glass to give a segment the same glass surface and selected indicator treatment as the tab bar. The class preserves the segment's existing dimensions and text colors, supports scrollable segments, and respects Ionic's public --background property.

      \n
      <ion-segment class="segment-style-glass" value="available">\n  <ion-segment-button value="available">Available</ion-segment-button>\n  <ion-segment-button value="away">Away</ion-segment-button>\n</ion-segment>
      \n\n

      For colored segments, use Ionic's color property (for example, color="primary" or color="secondary"). Ionic uses the palette's base color for the softly tinted track while keeping the selected surface and labels neutral. A surrounding colored toolbar only supplies colors when the segment has no color of its own. The optional moving glass inherits the selected surface color, and custom Ionic palettes work without additional registration.

      \n

      Add .segment-expand when segment buttons should divide the available width evenly. The class also changes the Liquid Glass effect sizing when registerSegmentEffect is used.

      \n

      Segments use a 32px minimum height in content and a 48px minimum height inside ion-toolbar. .segment-expand keeps the compact 32px layout in a toolbar. Compact segments retain Ionic's flat background and indicator colors; only the regular toolbar variant has a glass container and scales its outer container while pressed. Content and expanded segments keep their outer bounds. The optional moving glass lens is independent of the container's background.

      \n
      <ion-segment class="segment-expand" value="new">\n  <ion-segment-button value="new"><ion-label>New</ion-label></ion-segment-button>\n  <ion-segment-button value="replied"><ion-label>Replied</ion-label></ion-segment-button>\n</ion-segment>
      \n\n
      \n
      Preview
      \n\n New\n Replied\n\n
      \n\n

      Classic search bar in a condense header

      \n

      The theme gives iOS search bars the iOS 27 appearance by default. Add .searchbar-classic to the search field shown beneath a large title in an ion-header with collapse="condense". It uses the conventional filled iOS appearance and collapses with the large title instead of remaining in the fixed header.

      \n

      Place it in a toolbar with a color, such as color="light"; the classic background is derived from that color's contrast value.

      \n

      The example uses Ionic's standard collapsible large-title structure. Scroll the preview to collapse the large title and reveal the fixed header.

      \n
      <div class="ion-page">\n  <ion-header translucent="true">\n    <ion-toolbar color="light">\n      <ion-title>Search</ion-title>\n    </ion-toolbar>\n  </ion-header>\n  <ion-content color="light" fullscreen="true">\n    <ion-header collapse="condense">\n      <ion-toolbar color="light">\n        <ion-title size="large">Search</ion-title>\n      </ion-toolbar>\n      <ion-toolbar color="light">\n        <ion-searchbar class="searchbar-classic" placeholder="Filter results"></ion-searchbar>\n      </ion-toolbar>\n    </ion-header>\n    <ion-list inset="true">\n      <ion-item-group>\n        <ion-item><ion-label>Recent item 1</ion-label></ion-item>\n        <ion-item><ion-label>Recent item 2</ion-label></ion-item>\n        <ion-item><ion-label>Recent item 3</ion-label></ion-item>\n        <ion-item><ion-label>Recent item 4</ion-label></ion-item>\n        <ion-item><ion-label>Recent item 5</ion-label></ion-item>\n        <ion-item><ion-label>Recent item 6</ion-label></ion-item>\n        <ion-item><ion-label>Recent item 7</ion-label></ion-item>\n        <ion-item><ion-label>Recent item 8</ion-label></ion-item>\n        <ion-item><ion-label>Recent item 9</ion-label></ion-item>\n        <ion-item><ion-label>Recent item 10</ion-label></ion-item>\n      </ion-item-group>\n    </ion-list>\n  </ion-content>\n</div>
      \n\n
      \n
      Preview
      \n
      \n \n \n Search\n \n \n \n \n \n Search\n \n \n \n \n \n \n \n Recent item 1\n Recent item 2\n Recent item 3\n Recent item 4\n Recent item 5\n Recent item 6\n Recent item 7\n Recent item 8\n Recent item 9\n Recent item 10\n \n \n \n
      \n
      \n\n

      The .ion-page wrapper makes this embedded preview behave like a complete routed page. An application using ion-router-outlet normally receives that page container automatically. The inset list and its items only provide enough content to demonstrate scrolling; they are not required by .searchbar-classic.

      \n

      Search-bar toolbars

      \n

      Add .toolbar-searchbar when an ion-toolbar combines a search bar with start or end buttons. The class centers the slotted controls and adjusts the spacing around the search field.

      \n
      <ion-toolbar class="toolbar-searchbar">\n  <ion-buttons slot="start">\n    <ion-button>Cancel</ion-button>\n  </ion-buttons>\n  <ion-searchbar></ion-searchbar>\n</ion-toolbar>
      \n\n
      \n
      Preview
      \n\n \n Cancel\n \n \n\n
      \n\n

      Opting out

      \n

      Add .ios-theme-disabled to an individual Ionic component when it must retain Ionic's standard iOS styling.

      \n

      .ios26-disabled is deprecated but remains supported as an alias with the same behavior. Use .ios-theme-disabled for new code.

      \n
      <ion-button>iOS 27 theme</ion-button> <ion-button class="ios-theme-disabled">Standard Ionic button</ion-button>
      \n\n
      \n
      Preview
      \niOS 27 theme Standard Ionic button\n
      \n\n

      For the background model behind inset lists, see Using ion-item-group.

      \n'; diff --git a/demo/src/main.ts b/demo/src/main.ts index 3082d306..4ae64eaf 100644 --- a/demo/src/main.ts +++ b/demo/src/main.ts @@ -2,6 +2,7 @@ import { bootstrapApplication } from '@angular/platform-browser'; import { createAppConfig, type IonicAnimationOptions } from './app/app.config'; import { AppComponent } from './app/app.component'; import { enableNativeUIShell } from '../../src/native'; +import { enableVerticalControlArea } from '../../src/vertical-bars'; import { iosTransitionAnimation, popoverEnterAnimation, popoverLeaveAnimation } from '@rdlabo/ionic-theme-ios27'; /** @@ -21,4 +22,5 @@ function loadIOSAnimations(): IonicAnimationOptions { // Demo forces mode: 'ios' (including Playwright), so do not gate on isPlatform('ios'). bootstrapApplication(AppComponent, createAppConfig(loadIOSAnimations())).catch((err) => console.error(err)); -void enableNativeUIShell().then((handle) => Object.assign(window, { nativeUIShell: handle })); +const startShell = new URLSearchParams(window.location.search).has('verticalBarsOnly') ? enableVerticalControlArea : enableNativeUIShell; +void startShell().then((handle) => Object.assign(window, { nativeUIShell: handle })); diff --git a/docs/native-ui-shell.md b/docs/native-ui-shell.md index 8738524b..afab10c1 100644 --- a/docs/native-ui-shell.md +++ b/docs/native-ui-shell.md @@ -169,6 +169,8 @@ The native material and control appearance follow the running iOS version; an iO ## Support iPhone Duo +The standalone Vertical Control Area entry point (`@rdlabo/ionic-theme-ios27/vertical-bars`) and `dist/css/vertical-bars.css` work without loading the iOS 27 theme. Call `enableVerticalControlArea()` for this use case; it projects only controls placed in the vertical area. Apps already calling `enableNativeUIShell()` should keep that single runtime rather than starting both. + On supported iOS versions, adding `.ios-theme-vertical-bars` changes only controls that the system relocates into the physical side rail. Native UI Shell presents eligible tabs, back navigation, menu buttons, and toolbar actions through a SwiftUI `TabView` and toolbar only when iOS reports a physical right-side safe area large enough for that rail. SwiftUI owns their adaptive placement and Liquid Glass appearance; Ionic remains the source of labels, icons, selected/disabled state, routing, form submission, and click handlers. The SwiftUI surface is clipped and hit-tested to the system rail. Web content remains visible and interactive outside that physical region. The runtime optimistically updates tab selection before forwarding the action to the original `ion-tab-button`, using the same event and stale-revision protection as the other native controls. Menus, modals, and popovers remain independent surfaces and are not moved into the main-page rail. diff --git a/docs/special-markup.md b/docs/special-markup.md index 2ff1f6bd..2a0d1945 100644 --- a/docs/special-markup.md +++ b/docs/special-markup.md @@ -49,7 +49,19 @@ These classes do not reposition a separate `ion-fab`; leave room for it when cho ## Support iPhone Duo -To simulate the iPhone Duo layout on the web, add `.ios-theme-vertical-bars` to the active `ion-app`. Use `body` only when the application has no `ion-app` root: +Load the separate stylesheet and start its projection runtime. The iOS 27 theme stylesheets are **not required**: + +```scss +@use '@rdlabo/ionic-theme-ios27/dist/css/vertical-bars.css'; +``` + +```ts +import { enableVerticalControlArea } from '@rdlabo/ionic-theme-ios27/vertical-bars'; + +void enableVerticalControlArea(); +``` + +Add `.ios-theme-vertical-bars` to the active `ion-app`. Use `body` only when the application has no `ion-app` root: ```html ... @@ -65,7 +77,7 @@ These values are web-layout simulation inputs. They are independent from Ionic's When the app contains `ion-tabs`, this mode moves its iOS tab bar into the physical right-side reserved region and aligns it above the bottom safe area. The Ionic `slot` value does not select a different position. Without Native UI Shell, the stable Web rail is icon-only, matching a four-tab SwiftUI `TabView` on iPhone Duo. While the user presses and drags across that rail, every icon-and-label tab reveals its label so the pending destination stays identifiable. The Web tab bar receives pointer input in the simulated system region. Use `ion-menu` when navigation should become a sidebar; this mode does not convert tabs into a menu. -On supported iOS versions, initializing `enableNativeUIShell()` at application startup hands eligible tabs, back navigation, menu buttons, and fixed-toolbar actions to a native SwiftUI `TabView` and toolbar. The Ionic controls remain the sources of labels, icons, selected/disabled state, form submission, routing, and click handlers while SwiftUI owns adaptive placement and interaction. Fixed-toolbar actions need an icon or SVG, no direct text node, and standard `fill="default"` or `fill="clear"` to be eligible for the side rail. Text-only actions stay in the original Web toolbar. Add `.ios-theme-horizontal-only` to an `ion-buttons` group or individual `ion-button` to keep it in the Web toolbar. Placement is chosen when a routed page enters; changing an existing button's content does not move it between the toolbar and rail until the page leaves and re-enters. Menus, modals, and popovers retain their own toolbar layout. +On supported iOS versions, `enableVerticalControlArea()` hands eligible tabs, back navigation, menu buttons, and fixed-toolbar actions to a native SwiftUI `TabView` and toolbar. It does not project ordinary Native UI Shell controls outside the vertical area. If the app already uses the full `enableNativeUIShell()`, keep that single runtime instead of starting both. The Ionic controls remain the sources of labels, icons, selected/disabled state, form submission, routing, and click handlers while SwiftUI owns adaptive placement and interaction. Fixed-toolbar actions need an icon or SVG, no direct text node, and standard `fill="default"` or `fill="clear"` to be eligible for the side rail. Text-only actions stay in the original Web toolbar. Add `.ios-theme-horizontal-only` to an `ion-buttons` group or individual `ion-button` to keep it in the Web toolbar. Placement is chosen when a routed page enters; changing an existing button's content does not move it between the toolbar and rail until the page leaves and re-enters. Menus, modals, and popovers retain their own toolbar layout. On Web, Android, older iOS, or when native projection is unavailable during setup, the Web tab bar and fixed-toolbar clones remain the fallback. Those projections also work when no `ion-tabs` exists; text-only actions stay in the original Web toolbar. Disabling the mode or leaving the page removes the native ownership or Web clones and restores their sources. Override `--ios-theme-vertical-bars-toolbar-top` when the simulated system controls use a different vertical layout. diff --git a/ios/Sources/IonicNativeUIShellPlugin/IonicNativeUIShellPlugin.swift b/ios/Sources/IonicNativeUIShellPlugin/IonicNativeUIShellPlugin.swift index 6e6ee076..a9a17d7a 100644 --- a/ios/Sources/IonicNativeUIShellPlugin/IonicNativeUIShellPlugin.swift +++ b/ios/Sources/IonicNativeUIShellPlugin/IonicNativeUIShellPlugin.swift @@ -116,7 +116,7 @@ public class IonicNativeUIShellPlugin: CAPPlugin, CAPBridgedPlugin, UITabBarDele let verticalBars = (self?.bridge?.webView?.safeAreaInsets.right ?? 0) >= 70 // Ionic already paints the header edge; a second native effect can // add a dark scrim when the OS and Web themes differ. - if let effect = self?.bridge?.webView?.scrollView.topEdgeEffect { + if call.getBool("verticalBarsOnly") != true, let effect = self?.bridge?.webView?.scrollView.topEdgeEffect { let hidden = effect.isHidden effect.isHidden = true self?.restoreTopEdge = { [weak effect] in effect?.isHidden = hidden } @@ -213,12 +213,6 @@ public class IonicNativeUIShellPlugin: CAPPlugin, CAPBridgedPlugin, UITabBarDele self.removeControls(duration: duration) call.resolve(["revision": next]); return } - let host = self.host ?? ShellHost() - self.host = host - host.frame = parent.bounds - host.autoresizingMask = [.flexibleWidth, .flexibleHeight] - host.backgroundColor = .clear - host.isAccessibilityElement = false let scale = webView.bounds.width / width let retained = Set(snapshots.map(\.id)) for id in Array(self.controls.keys) where !retained.contains(id) { @@ -241,6 +235,18 @@ public class IonicNativeUIShellPlugin: CAPPlugin, CAPBridgedPlugin, UITabBarDele } else { rejectedControls.append(contentsOf: verticalBars.map(\.id)) } + if snapshots.isEmpty { + self.host?.removeFromSuperview() + self.host = nil + call.resolve(["revision": next, "rejectedControls": rejectedControls]) + return + } + let host = self.host ?? ShellHost() + self.host = host + host.frame = parent.bounds + host.autoresizingMask = [.flexibleWidth, .flexibleHeight] + host.backgroundColor = .clear + host.isAccessibilityElement = false UIView.performWithoutAnimation { if host.superview !== parent { parent.addSubview(host) } for node in snapshots { diff --git a/package.json b/package.json index abf394ee..e7bd807b 100644 --- a/package.json +++ b/package.json @@ -16,6 +16,10 @@ "./native": { "types": "./dist/native/index.d.ts", "import": "./dist/native/index.js" + }, + "./vertical-bars": { + "types": "./dist/vertical-bars.d.ts", + "import": "./dist/vertical-bars.js" } }, "files": [ diff --git a/src/native/definitions.ts b/src/native/definitions.ts index 37c3a238..0f8049a9 100644 --- a/src/native/definitions.ts +++ b/src/native/definitions.ts @@ -15,6 +15,8 @@ export interface NativeUIShellOptions { enabled?: boolean; /** Controls eligible for native projection. Omit to enable every control; when present, only `true` controls are enabled. */ controls?: NativeUIShellControls; + /** Internal: limit native projection to the Vertical Control Area. */ + verticalBarsOnly?: boolean; } export interface NativeUIShellControls { @@ -135,7 +137,7 @@ export interface WebViewMetrics { } export interface NativeUIShellPlugin { - configure(): Promise<{ supported: boolean; verticalBars?: boolean }>; + configure(options?: { verticalBarsOnly?: boolean }): Promise<{ supported: boolean; verticalBars?: boolean }>; getWebViewMetrics(): Promise; update(snapshot: ShellSnapshot): Promise<{ revision: number; rejectedSearches?: string[]; rejectedControls?: string[] }>; clear(options: { revision: number }): Promise; diff --git a/src/native/index.ts b/src/native/index.ts index a05d16fe..a5b81567 100644 --- a/src/native/index.ts +++ b/src/native/index.ts @@ -51,6 +51,10 @@ export const configureNativeTransition = async (): Promise => { return metrics; }; +/** Call once at application startup. Ionic markup remains the source of truth. */ +export const enableVerticalControlArea = (): Promise => + enableNativeUIShell({ controls: { tabs: true, toolbar: true }, verticalBarsOnly: true }); + /** Call once at application startup. Ionic markup remains the source of truth. */ export const enableNativeUIShell = (options: NativeUIShellOptions = {}): Promise => { if (options.enabled === false) { @@ -73,18 +77,21 @@ export const enableNativeUIShell = (options: NativeUIShellOptions = {}): Promise return resetOnDestroy(withReason(createVerticalBarsWebProjection(document, options), 'Requires Capacitor iOS'), stopPrehide); let runtime: NativeUIShellHandle | undefined; try { - await configureNativeTransition().catch(() => undefined); - const capabilities = await plugin.configure(); + if (!options.verticalBarsOnly) await configureNativeTransition().catch(() => undefined); + const capabilities = await plugin.configure({ verticalBarsOnly: options.verticalBarsOnly === true }); if (!capabilities.supported) { return resetOnDestroy(withReason(createVerticalBarsWebProjection(document, options), 'Requires iOS 26 or later'), stopPrehide); } - runtime = await createRuntime(document, plugin, options, capabilities.verticalBars === true); + runtime = await createRuntime(document, plugin, options, capabilities.verticalBars === true, options.verticalBarsOnly === true); if (capabilities.verticalBars !== true) runtime = combine(runtime, createVerticalBarsWebProjection(document, options)); - runtime = await bindMetricsLifecycle( - runtime, - () => plugin.addListener('webViewMetricsChange', (metrics) => setConfig({ radius: metrics.radius })), - () => (active = undefined), - ); + if (!options.verticalBarsOnly) + runtime = await bindMetricsLifecycle( + runtime, + () => plugin.addListener('webViewMetricsChange', (metrics) => setConfig({ radius: metrics.radius })), + () => { + active = undefined; + }, + ); return resetOnDestroy(runtime, stopPrehide); } catch (error) { await runtime?.destroy(); diff --git a/src/native/runtime.ts b/src/native/runtime.ts index c5853966..c79d42ae 100644 --- a/src/native/runtime.ts +++ b/src/native/runtime.ts @@ -42,6 +42,7 @@ export const createRuntime = async ( plugin: NativeUIShellPlugin, options: NativeUIShellOptions = {}, nativeVerticalBars = true, + verticalBarsOnly = false, ): Promise => { const win = doc.defaultView!; const icons = createIconRenderer(); @@ -157,6 +158,7 @@ export const createRuntime = async ( }; const measuringPointerPages = new WeakSet(); const readEnabledCandidate = (element: HTMLElement): Candidate | undefined => { + if (verticalBarsOnly && !isVerticalBarsCandidate(element)) return; const pointerPage = isVerticalBarsCandidate(element) ? element.closest('.ion-page') : undefined; let candidate: Candidate | undefined; if (pointerPage && getComputedStyle(pointerPage).pointerEvents === 'none') { diff --git a/src/native/shared/dom.ts b/src/native/shared/dom.ts index ef0e59da..5b9abad3 100644 --- a/src/native/shared/dom.ts +++ b/src/native/shared/dom.ts @@ -37,7 +37,12 @@ export const withoutPrehide = (element: HTMLElement, read: () => T): T => { changed.forEach((current) => current.classList.add(current === root ? prehideRootClass : prehiddenClass)); } }; -export const isDark = (style: CSSStyleDeclaration): boolean => style.getPropertyValue('--ios27-color-scheme').trim() === 'dark'; +export const isDark = (style: CSSStyleDeclaration): boolean => { + const themeScheme = style.getPropertyValue('--ios27-color-scheme').trim(); + if (themeScheme) return themeScheme === 'dark'; + const background = style.getPropertyValue('--ion-background-color-rgb').match(/\d+/g)?.slice(0, 3).map(Number); + return !!background && background.length === 3 && background[0] * 0.2126 + background[1] * 0.7152 + background[2] * 0.0722 < 128; +}; const permanentlyExcluded = '.ionic-theme-disabled, .ios-theme-disabled, .ios26-disabled, .ion-cloned-element, [hidden], [inert]'; export const excluded = `${permanentlyExcluded}, .ion-page-hidden, .ion-page-invisible`; const enteringPages = new WeakSet(); diff --git a/src/styles/components/ion-button.scss b/src/styles/components/ion-button.scss index 82ac66c9..5a0cacfb 100644 --- a/src/styles/components/ion-button.scss +++ b/src/styles/components/ion-button.scss @@ -436,117 +436,3 @@ ion-button.ios:not(.ios-theme-disabled, .ios26-disabled) { ion-back-button.ios:not(.ios-theme-disabled, .ios26-disabled) { @include theme-button($is-back-button: true); } - -.ios-theme-native-ui-shell-prehidden { - position: absolute !important; - visibility: hidden !important; -} - -// Ionic can paint a newly inserted routed page before its WillEnter snapshot. -// Until JS assigns ownership, keep only its verticalBars back source off the Web -// toolbar. Web-owned/opted-out buttons are released as soon as classified. -html.ios-theme-native-ui-shell-prehide - :is(ion-app, body).ios-theme-vertical-bars - :is(ion-header, ion-footer):not([collapse]):not(:where(ion-content *, ion-menu *, ion-modal *, ion-popover *)) - ion-toolbar - ion-back-button:not( - [icon], - [color], - .ios-theme-vertical-bars-back-web-owned, - .ionic-theme-disabled, - .ios-theme-disabled, - .ios26-disabled, - .ios-theme-vertical-bars-back-button-projection - ):not(:where(.ios-theme-shell-disabled *, .ionic-theme-disabled *, .ios-theme-disabled *, .ios26-disabled *)) { - position: absolute !important; - visibility: hidden !important; -} - -:is(ion-app, body).ios-theme-vertical-bars.ios-theme-vertical-bars-toolbar-ready { - ion-toolbar.ios:not(.ios-theme-disabled, .ios26-disabled):not(:where(ion-menu *, ion-modal *, ion-popover *)) - ion-back-button.ios[data-native-ui-shell]:not(.ios-theme-disabled, .ios26-disabled, .ios-theme-vertical-bars-back-button-projection) { - display: none; - } - - ion-toolbar.ios:not(.ios-theme-disabled, .ios26-disabled):not(:where(ion-menu *, ion-modal *, ion-popover *)) - ion-buttons.ios - > :is(ion-button, ion-menu-button).ios[data-native-ui-shell]:not( - .ios-theme-disabled, - .ios26-disabled, - .ios-theme-vertical-bars-toolbar-action - ) { - display: none; - } - - ion-toolbar.ios:not(.ios-theme-disabled, .ios26-disabled):not(:where(ion-menu *, ion-modal *, ion-popover *)) - ion-buttons.ios:has(> :is(ion-back-button, ion-button, ion-menu-button)[data-native-ui-shell]):not( - :has(> :is(ion-back-button, ion-button, ion-menu-button):not([data-native-ui-shell])) - ) { - display: none; - } - - > ion-back-button.ios.ios-theme-vertical-bars-back-button-projection { - position: fixed; - z-index: 1001; - top: var(--ios-theme-vertical-bars-toolbar-top, 220px); - right: max(4px, calc((var(--ios-theme-vertical-bars-safe-area-right-resolved) - 46px) / 2)); - display: block; - width: 46px; - height: 46px; - margin: 0; - } - - > .ios.ios-theme-vertical-bars-toolbar-projection { - position: fixed; - z-index: 1001; - top: calc(var(--ios-theme-vertical-bars-toolbar-top, 220px) + var(--ios-theme-vertical-bars-toolbar-offset, 0px)); - right: max(4px, calc((var(--ios-theme-vertical-bars-safe-area-right-resolved) - 46px) / 2)); - width: 46px; - min-width: 46px; - height: 46px; - min-height: 46px; - margin: 0; - - :is(ion-icon, svg) { - width: 22px; - height: 22px; - margin: 0; - font-size: 22px; - } - } - - > ion-menu-button.ios.ios-theme-vertical-bars-toolbar-projection { - @include api.glass-control-background; - border-radius: 50%; - } - - > ion-button.ios.ios-theme-vertical-bars-toolbar-projection { - --background: rgba(var(--ios-theme-glass-background-rgb, var(--ios26-glass-background-rgb)), 0.72); - --border-radius: 50%; - @include glass.light-shadow('--box-shadow'); - - &::part(native) { - @include api.glass-control-background($include-background: false, $shadow: var(--box-shadow)); - } - } - - > ion-buttons.ios.ios-theme-vertical-bars-toolbar-projection { - display: flex; - flex-direction: column; - height: auto; - min-height: 0; - - > :is(ion-button, ion-menu-button).ios.ios-theme-vertical-bars-toolbar-action { - display: block; - width: 44px; - min-width: 44px; - height: 46px; - min-height: 46px; - margin: 0 1px; - - &::part(native) { - margin-inline: auto; - } - } - } -} diff --git a/src/styles/components/ion-content.scss b/src/styles/components/ion-content.scss index fd16f492..39a0e7c7 100644 --- a/src/styles/components/ion-content.scss +++ b/src/styles/components/ion-content.scss @@ -22,26 +22,3 @@ ion-content.ios:not(.ios-theme-disabled, .ios26-disabled).content-fullscreen:not(:has(.ion-content-scroll-host)) { --padding-bottom: calc(60px + var(--ios-theme-floating-safe-area-bottom, var(--ios26-floating-safe-area-bottom))); } - -// Keep the Web page's transition dimming, but never shade the verticalBars rail. -:is(ion-app, body).ios-theme-vertical-bars .ios-transition-shade { - clip-path: inset(0 var(--ios-theme-vertical-bars-safe-area-right-resolved) 0 var(--ios-theme-vertical-bars-safe-area-left-resolved)); -} - -// VerticalBars system UI changes foreground geometry, not the page background. -// Reset Ionic's matching inset so descendants do not apply it a second time. -:is(ion-app, body).ios-theme-vertical-bars - ion-content.ios:not(.ios-theme-disabled, .ios26-disabled):not(:where(ion-menu *, ion-modal *, ion-popover *)) { - --ion-safe-area-left: 0px; - --ion-safe-area-right: 0px; - - &::part(scroll) { - padding-inline-start: calc(var(--padding-start, 0px) + var(--ios-theme-vertical-bars-safe-area-left-resolved)); - padding-inline-end: calc(var(--padding-end, 0px) + var(--ios-theme-vertical-bars-safe-area-right-resolved)); - } - - &:dir(rtl)::part(scroll) { - padding-inline-start: calc(var(--padding-start, 0px) + var(--ios-theme-vertical-bars-safe-area-right-resolved)); - padding-inline-end: calc(var(--padding-end, 0px) + var(--ios-theme-vertical-bars-safe-area-left-resolved)); - } -} diff --git a/src/styles/components/ion-fab.scss b/src/styles/components/ion-fab.scss index 95a582a3..631318a9 100644 --- a/src/styles/components/ion-fab.scss +++ b/src/styles/components/ion-fab.scss @@ -109,42 +109,6 @@ ion-fab.ios:not(.ios-theme-disabled, .ios26-disabled) { } } -// FAB alignment is independent from tab placement. Map the reserved physical -// side to the matching logical FAB edge for the current writing direction. -:is(ion-app, body).ios-theme-vertical-bars - ion-fab.ios:not(.ios-theme-disabled, .ios26-disabled):not(:where(ion-menu *, ion-modal *, ion-popover *)) { - --ion-safe-area-left: 0px; - --ion-safe-area-right: 0px; - --ios-theme-vertical-bars-fab-edge-gap: 16px; - --ios-theme-vertical-bars-fab-start-offset: var(--ios-theme-menu-width, var(--ios26-menu-width, 0px)); - - &.fab-horizontal-start { - inset-inline-start: calc( - var(--ios-theme-vertical-bars-fab-edge-gap) + var(--ios-theme-vertical-bars-fab-start-offset) + - var(--ios-theme-vertical-bars-safe-area-left-resolved) - ); - } - - &.fab-horizontal-end { - inset-inline-end: calc(var(--ios-theme-vertical-bars-fab-edge-gap) + var(--ios-theme-vertical-bars-safe-area-right-resolved)); - } - - &:dir(rtl).fab-horizontal-start { - inset-inline-start: calc( - var(--ios-theme-vertical-bars-fab-edge-gap) + var(--ios-theme-vertical-bars-fab-start-offset) + - var(--ios-theme-vertical-bars-safe-area-right-resolved) - ); - } - - &:dir(rtl).fab-horizontal-end { - inset-inline-end: calc(var(--ios-theme-vertical-bars-fab-edge-gap) + var(--ios-theme-vertical-bars-safe-area-left-resolved)); - } - - &:has(.fab-button-small) { - --ios-theme-vertical-bars-fab-edge-gap: 10px; - } -} - // A content fixed slot already starts below its page header, including safe area. // Keep the floating gap without adding the screen's top inset a second time. .ion-page:has(> ion-header:not([hidden], .ion-hide)) diff --git a/src/styles/components/ion-menu.scss b/src/styles/components/ion-menu.scss index 723c35f0..187c9982 100644 --- a/src/styles/components/ion-menu.scss +++ b/src/styles/components/ion-menu.scss @@ -132,26 +132,3 @@ ion-menu.ios:not(.ios-theme-disabled, .ios26-disabled) { } } } - -// A menu beside verticalBars system UI must end before the reserved region. Its -// own ion-content remains unchanged. The host consumes the matching Ionic -// safe-area variable because its complete surface has already moved inward. -:is(ion-app, body).ios-theme-vertical-bars { - ion-menu.ios.menu-side-end:not(:dir(rtl)):not(.ios-theme-disabled, .ios26-disabled), - ion-menu.ios.menu-side-start:dir(rtl):not(.ios-theme-disabled, .ios26-disabled) { - --ion-safe-area-right: 0px; - - &::part(container) { - margin-right: var(--ios-theme-vertical-bars-safe-area-right-resolved); - } - } - - ion-menu.ios.menu-side-start:not(:dir(rtl)):not(.ios-theme-disabled, .ios26-disabled), - ion-menu.ios.menu-side-end:dir(rtl):not(.ios-theme-disabled, .ios26-disabled) { - --ion-safe-area-left: 0px; - - &::part(container) { - margin-left: var(--ios-theme-vertical-bars-safe-area-left-resolved); - } - } -} diff --git a/src/styles/components/ion-tabs.scss b/src/styles/components/ion-tabs.scss index 452b6347..61622ecf 100644 --- a/src/styles/components/ion-tabs.scss +++ b/src/styles/components/ion-tabs.scss @@ -163,99 +163,6 @@ ion-tab-bar.ios:not(.ios-theme-disabled, .ios26-disabled) { } } -// iPhone Duo reserves the physical right edge for system navigation. In the -// web simulation, keep tabs in that same rail so the application remains -// usable without introducing a second navigation component. -:is(ion-app, body).ios-theme-vertical-bars - ion-tabs:not(:where(ion-menu *, ion-modal *, ion-popover *)) - > ion-tab-bar.ios:not(.ios-theme-disabled, .ios26-disabled) { - --ios-theme-side-tab-bar-width: 50px; - --ios-theme-side-tab-bar-gap: 8px; - --ios-theme-side-safe-area: var(--ios-theme-vertical-bars-safe-area-right-resolved); - - contain: layout style; - display: flex; - flex-direction: column; - width: 46px; - min-width: 46px; - max-width: 46px; - height: fit-content; - min-height: 0; - padding: 2px; - border-radius: 25px; - left: auto; - right: max(4px, calc((var(--ios-theme-side-safe-area) - var(--ios-theme-side-tab-bar-width)) / 2)); - margin: 0; - - top: auto; - bottom: calc(var(--ion-safe-area-bottom, 0px) + var(--ios-theme-side-tab-bar-gap)); - - > ion-tab-button:not(.ion-cloned-element) { - display: block; - flex: none; - width: 46px; - min-width: 46px; - height: 52px; - min-height: 52px; - border-radius: 23px; - - &::part(native) { - justify-content: center; - } - - ion-label { - position: absolute; - width: 1px; - height: 1px; - padding: 0; - margin: -1px; - overflow: hidden; - clip: rect(0, 0, 0, 0); - white-space: nowrap; - border: 0; - } - - ion-icon { - margin: 0; - font-size: 28px; - } - } - - > ion-tab-button:not(.ion-cloned-element) ~ ion-tab-button:not(.ion-cloned-element) { - margin-block-start: 0; - margin-inline-start: 0; - } - - // iPhone Duo expands labels while the user drags across the rail. The - // stable four-tab layout remains icon-only, matching SwiftUI's TabView. - &:has(> ion-tab-button:is(.ion-activated, :active)) > ion-tab-button:not(.ion-cloned-element) { - &::part(native) { - flex-direction: column; - padding-block: 4px; - } - - ion-label { - position: static; - width: auto; - height: auto; - max-width: 44px; - padding: 0; - margin: 1px 0 0; - overflow: hidden; - clip: auto; - font-size: 0.5rem; - line-height: 1; - text-overflow: ellipsis; - white-space: nowrap; - } - - ion-icon { - margin: 0; - font-size: 22px; - } - } -} - ion-tab-button.ios:not(.ios-theme-disabled, .ios26-disabled) { transform-origin: center 65%; font-size: 0.59rem; diff --git a/src/styles/components/ion-toolbar.scss b/src/styles/components/ion-toolbar.scss index 4e4b36e8..96576690 100644 --- a/src/styles/components/ion-toolbar.scss +++ b/src/styles/components/ion-toolbar.scss @@ -107,21 +107,3 @@ ion-toolbar.ios:not(.ios-theme-disabled, .ios26-disabled) { margin-inline: 0; } } - -// Keep the toolbar background full-width while moving its foreground controls -// away from verticalBars system UI. -:is(ion-app, body).ios-theme-vertical-bars - ion-toolbar.ios:not(.ios-theme-disabled, .ios26-disabled):not(:where(ion-menu *, ion-modal *, ion-popover *)) { - --ion-safe-area-left: 0px; - --ion-safe-area-right: 0px; - - &::part(container) { - padding-inline-start: calc(var(--padding-start, 0px) + var(--ios-theme-vertical-bars-safe-area-left-resolved)); - padding-inline-end: calc(var(--padding-end, 0px) + var(--ios-theme-vertical-bars-safe-area-right-resolved)); - } - - &:dir(rtl)::part(container) { - padding-inline-start: calc(var(--padding-start, 0px) + var(--ios-theme-vertical-bars-safe-area-right-resolved)); - padding-inline-end: calc(var(--padding-end, 0px) + var(--ios-theme-vertical-bars-safe-area-left-resolved)); - } -} diff --git a/src/styles/default-variables.scss b/src/styles/default-variables.scss index 8e237ce5..2e336b1e 100644 --- a/src/styles/default-variables.scss +++ b/src/styles/default-variables.scss @@ -37,10 +37,3 @@ */ --ios26-content-box-shadow-rgb: var(--ion-color-base-rgb, var(--ion-background-color-rgb, 255, 255, 255)); } - -// iPhone Duo web simulation: the iOS 27.1 Simulator is 951pt wide while -// its application window is 871pt wide, leaving an 80pt navigation region. -:is(ion-app, body).ios-theme-vertical-bars { - --ios-theme-vertical-bars-safe-area-left-resolved: var(--ios-theme-vertical-bars-safe-area-left, 0px); - --ios-theme-vertical-bars-safe-area-right-resolved: var(--ios-theme-vertical-bars-safe-area-right, 80px); -} diff --git a/src/styles/ionic-theme-ios27.scss b/src/styles/ionic-theme-ios27.scss index 48dc0af4..65b9351c 100644 --- a/src/styles/ionic-theme-ios27.scss +++ b/src/styles/ionic-theme-ios27.scss @@ -21,3 +21,4 @@ @use 'components/ion-toast'; @use 'components/ion-toggle'; @use 'components/ion-toolbar'; +@use 'vertical-bars'; diff --git a/src/styles/vertical-bars.scss b/src/styles/vertical-bars.scss new file mode 100644 index 00000000..a205ced9 --- /dev/null +++ b/src/styles/vertical-bars.scss @@ -0,0 +1,285 @@ +@use 'utils/api'; +@use 'utils/glass'; + +// iPhone Duo simulation: the system reserves 80pt at the physical right edge. +// This entry point does not load the iOS 27 theme or change ordinary Ionic UI. +:is(ion-app, body).ios-theme-vertical-bars { + --ios-theme-vertical-bars-safe-area-left-resolved: var(--ios-theme-vertical-bars-safe-area-left, 0px); + --ios-theme-vertical-bars-safe-area-right-resolved: var(--ios-theme-vertical-bars-safe-area-right, 80px); +} + +// Supply material defaults only to Web projections, never to ordinary controls. +:is(ion-app, body).ios-theme-vertical-bars.ios-theme-vertical-bars-toolbar-ready + > :is(ion-menu-button, ion-button).ios-theme-vertical-bars-toolbar-projection { + --ios26-glass-background-rgb: var(--ion-background-color-rgb, 255, 255, 255); + --ios26-glass-border-color-rgb: var(--ion-background-color-rgb, 255, 255, 255); + --ios26-glass-box-shadow-color-rgb: var(--ion-text-color-rgb, 0, 0, 0); +} + +// The transition shade belongs to the Web page, never to the control area. +:is(ion-app, body).ios-theme-vertical-bars .ios-transition-shade { + clip-path: inset(0 var(--ios-theme-vertical-bars-safe-area-right-resolved) 0 var(--ios-theme-vertical-bars-safe-area-left-resolved)); +} + +// Keep page backgrounds and the router full width; move only their foregrounds. +:is(ion-app, body).ios-theme-vertical-bars + ion-content.ios:not(.ios-theme-disabled, .ios26-disabled):not(:where(ion-menu *, ion-modal *, ion-popover *)) { + --ion-safe-area-left: 0px; + --ion-safe-area-right: 0px; + + &::part(scroll) { + padding-inline-start: calc(var(--padding-start, 0px) + var(--ios-theme-vertical-bars-safe-area-left-resolved)); + padding-inline-end: calc(var(--padding-end, 0px) + var(--ios-theme-vertical-bars-safe-area-right-resolved)); + } + + &:dir(rtl)::part(scroll) { + padding-inline-start: calc(var(--padding-start, 0px) + var(--ios-theme-vertical-bars-safe-area-right-resolved)); + padding-inline-end: calc(var(--padding-end, 0px) + var(--ios-theme-vertical-bars-safe-area-left-resolved)); + } +} + +:is(ion-app, body).ios-theme-vertical-bars + ion-toolbar.ios:not(.ios-theme-disabled, .ios26-disabled):not(:where(ion-menu *, ion-modal *, ion-popover *)) { + --ion-safe-area-left: 0px; + --ion-safe-area-right: 0px; + + &::part(container) { + padding-inline-start: calc(var(--padding-start, 0px) + var(--ios-theme-vertical-bars-safe-area-left-resolved)); + padding-inline-end: calc(var(--padding-end, 0px) + var(--ios-theme-vertical-bars-safe-area-right-resolved)); + } + + &:dir(rtl)::part(container) { + padding-inline-start: calc(var(--padding-start, 0px) + var(--ios-theme-vertical-bars-safe-area-right-resolved)); + padding-inline-end: calc(var(--padding-end, 0px) + var(--ios-theme-vertical-bars-safe-area-left-resolved)); + } +} + +:is(ion-app, body).ios-theme-vertical-bars + ion-fab.ios:not(.ios-theme-disabled, .ios26-disabled):not(:where(ion-menu *, ion-modal *, ion-popover *)) { + --ion-safe-area-left: 0px; + --ion-safe-area-right: 0px; + --ios-theme-vertical-bars-fab-edge-gap: 16px; + --ios-theme-vertical-bars-fab-start-offset: var(--ios-theme-menu-width, var(--ios26-menu-width, 0px)); + + &.fab-horizontal-start { + inset-inline-start: calc( + var(--ios-theme-vertical-bars-fab-edge-gap) + var(--ios-theme-vertical-bars-fab-start-offset) + + var(--ios-theme-vertical-bars-safe-area-left-resolved) + ); + } + &.fab-horizontal-end { + inset-inline-end: calc(var(--ios-theme-vertical-bars-fab-edge-gap) + var(--ios-theme-vertical-bars-safe-area-right-resolved)); + } + &:dir(rtl).fab-horizontal-start { + inset-inline-start: calc( + var(--ios-theme-vertical-bars-fab-edge-gap) + var(--ios-theme-vertical-bars-fab-start-offset) + + var(--ios-theme-vertical-bars-safe-area-right-resolved) + ); + } + &:dir(rtl).fab-horizontal-end { + inset-inline-end: calc(var(--ios-theme-vertical-bars-fab-edge-gap) + var(--ios-theme-vertical-bars-safe-area-left-resolved)); + } + &:has(.fab-button-small) { + --ios-theme-vertical-bars-fab-edge-gap: 10px; + } +} + +// Menus retain their own safe-area handling and full-width animation host. +:is(ion-app, body).ios-theme-vertical-bars { + ion-menu.ios.menu-side-end:not(:dir(rtl)):not(.ios-theme-disabled, .ios26-disabled), + ion-menu.ios.menu-side-start:dir(rtl):not(.ios-theme-disabled, .ios26-disabled) { + --ion-safe-area-right: 0px; + &::part(container) { + margin-right: var(--ios-theme-vertical-bars-safe-area-right-resolved); + } + } + ion-menu.ios.menu-side-start:not(:dir(rtl)):not(.ios-theme-disabled, .ios26-disabled), + ion-menu.ios.menu-side-end:dir(rtl):not(.ios-theme-disabled, .ios26-disabled) { + --ion-safe-area-left: 0px; + &::part(container) { + margin-left: var(--ios-theme-vertical-bars-safe-area-left-resolved); + } + } +} + +:is(ion-app, body).ios-theme-vertical-bars + ion-tabs:not(:where(ion-menu *, ion-modal *, ion-popover *)) + > ion-tab-bar.ios:not(.ios-theme-disabled, .ios26-disabled) { + --ios-theme-side-tab-bar-width: 50px; + --ios-theme-side-tab-bar-gap: 8px; + --ios-theme-side-safe-area: var(--ios-theme-vertical-bars-safe-area-right-resolved); + contain: layout style; + position: absolute; + z-index: 2; + display: flex; + flex-direction: column; + width: 46px; + min-width: 46px; + max-width: 46px; + height: fit-content; + min-height: 0; + padding: 2px; + border-radius: 25px; + left: auto; + right: max(4px, calc((var(--ios-theme-side-safe-area) - var(--ios-theme-side-tab-bar-width)) / 2)); + margin: 0; + top: auto; + bottom: calc(var(--ion-safe-area-bottom, 0px) + var(--ios-theme-side-tab-bar-gap)); + + > ion-tab-button:not(.ion-cloned-element) { + display: block; + flex: none; + width: 46px; + min-width: 46px; + height: 52px; + min-height: 52px; + border-radius: 23px; + &::part(native) { + justify-content: center; + } + ion-label { + position: absolute; + width: 1px; + height: 1px; + padding: 0; + margin: -1px; + overflow: hidden; + clip: rect(0, 0, 0, 0); + white-space: nowrap; + border: 0; + } + ion-icon { + margin: 0; + font-size: 28px; + } + } + > ion-tab-button:not(.ion-cloned-element) ~ ion-tab-button:not(.ion-cloned-element) { + margin-block-start: 0; + margin-inline-start: 0; + } + &:has(> ion-tab-button:is(.ion-activated, :active)) > ion-tab-button:not(.ion-cloned-element) { + &::part(native) { + flex-direction: column; + padding-block: 4px; + } + ion-label { + position: static; + width: auto; + height: auto; + max-width: 44px; + padding: 0; + margin: 1px 0 0; + overflow: hidden; + clip: auto; + font-size: 0.5rem; + line-height: 1; + text-overflow: ellipsis; + white-space: nowrap; + } + ion-icon { + margin: 0; + font-size: 22px; + } + } +} + +.ios-theme-native-ui-shell-prehidden { + position: absolute !important; + visibility: hidden !important; +} + +// Hide an entering back source until JS decides whether it belongs in the rail. +html.ios-theme-native-ui-shell-prehide + :is(ion-app, body).ios-theme-vertical-bars + :is(ion-header, ion-footer):not([collapse]):not(:where(ion-content *, ion-menu *, ion-modal *, ion-popover *)) + ion-toolbar + ion-back-button:not( + [icon], + [color], + .ios-theme-vertical-bars-back-web-owned, + .ionic-theme-disabled, + .ios-theme-disabled, + .ios26-disabled, + .ios-theme-vertical-bars-back-button-projection + ):not(:where(.ios-theme-shell-disabled *, .ionic-theme-disabled *, .ios-theme-disabled *, .ios26-disabled *)) { + position: absolute !important; + visibility: hidden !important; +} + +:is(ion-app, body).ios-theme-vertical-bars.ios-theme-vertical-bars-toolbar-ready { + ion-toolbar.ios:not(.ios-theme-disabled, .ios26-disabled):not(:where(ion-menu *, ion-modal *, ion-popover *)) + ion-back-button.ios[data-native-ui-shell]:not(.ios-theme-disabled, .ios26-disabled, .ios-theme-vertical-bars-back-button-projection) { + display: none; + } + ion-toolbar.ios:not(.ios-theme-disabled, .ios26-disabled):not(:where(ion-menu *, ion-modal *, ion-popover *)) + ion-buttons.ios + > :is(ion-button, ion-menu-button).ios[data-native-ui-shell]:not( + .ios-theme-disabled, + .ios26-disabled, + .ios-theme-vertical-bars-toolbar-action + ) { + display: none; + } + ion-toolbar.ios:not(.ios-theme-disabled, .ios26-disabled):not(:where(ion-menu *, ion-modal *, ion-popover *)) + ion-buttons.ios:has(> :is(ion-back-button, ion-button, ion-menu-button)[data-native-ui-shell]):not( + :has(> :is(ion-back-button, ion-button, ion-menu-button):not([data-native-ui-shell])) + ) { + display: none; + } + > ion-back-button.ios.ios-theme-vertical-bars-back-button-projection { + position: fixed; + z-index: 1001; + top: var(--ios-theme-vertical-bars-toolbar-top, 220px); + right: max(4px, calc((var(--ios-theme-vertical-bars-safe-area-right-resolved) - 46px) / 2)); + display: block; + width: 46px; + height: 46px; + margin: 0; + } + > .ios.ios-theme-vertical-bars-toolbar-projection { + position: fixed; + z-index: 1001; + top: calc(var(--ios-theme-vertical-bars-toolbar-top, 220px) + var(--ios-theme-vertical-bars-toolbar-offset, 0px)); + right: max(4px, calc((var(--ios-theme-vertical-bars-safe-area-right-resolved) - 46px) / 2)); + width: 46px; + min-width: 46px; + height: 46px; + min-height: 46px; + margin: 0; + :is(ion-icon, svg) { + width: 22px; + height: 22px; + margin: 0; + font-size: 22px; + } + } + > ion-menu-button.ios.ios-theme-vertical-bars-toolbar-projection { + @include api.glass-control-background; + border-radius: 50%; + } + > ion-button.ios.ios-theme-vertical-bars-toolbar-projection { + --background: rgba(var(--ios-theme-glass-background-rgb, var(--ios26-glass-background-rgb)), 0.72); + --border-radius: 50%; + @include glass.light-shadow('--box-shadow'); + &::part(native) { + @include api.glass-control-background($include-background: false, $shadow: var(--box-shadow)); + } + } + > ion-buttons.ios.ios-theme-vertical-bars-toolbar-projection { + display: flex; + flex-direction: column; + height: auto; + min-height: 0; + > :is(ion-button, ion-menu-button).ios.ios-theme-vertical-bars-toolbar-action { + display: block; + width: 44px; + min-width: 44px; + height: 46px; + min-height: 46px; + margin: 0 1px; + &::part(native) { + margin-inline: auto; + } + } + } +} diff --git a/src/vertical-bars.ts b/src/vertical-bars.ts new file mode 100644 index 00000000..f6a0ac15 --- /dev/null +++ b/src/vertical-bars.ts @@ -0,0 +1,2 @@ +export { enableVerticalControlArea } from './native'; +export type { NativeUIShellHandle, NativeUIShellStatus, NativeUIShellSuspension } from './native'; From 57e308fbe5d97d3cbb465646d2651fe941d703c8 Mon Sep 17 00:00:00 2001 From: rdlabo Date: Thu, 24 Sep 2026 18:15:12 +0900 Subject: [PATCH 35/50] test: ignore local Ionic Conference App integration --- .gitignore | 1 + 1 file changed, 1 insertion(+) diff --git a/.gitignore b/.gitignore index 8d10bdc4..05902379 100644 --- a/.gitignore +++ b/.gitignore @@ -1,4 +1,5 @@ dist/ +/integration/ionic-conference-app/ # Generated by @rdlabo/ionic-theme-utils before Sass compilation. /src/styles/utils/structured-list.scss From c82bab57ba4108703f069e11b627fbde7fc3ea4d Mon Sep 17 00:00:00 2001 From: rdlabo Date: Thu, 24 Sep 2026 19:06:56 +0900 Subject: [PATCH 36/50] fix(vertical-bars): project back buttons outside fixed toolbars --- demo/e2e/native-ui-shell.spec.ts | 56 ++++++++++------------- demo/e2e/vertical-bars-standalone.spec.ts | 7 +++ src/native/components/ion-back-button.ts | 10 +++- src/native/prehide.ts | 11 ++++- src/native/vertical-bars-web.ts | 9 +++- src/styles/vertical-bars.scss | 15 ++++-- 6 files changed, 68 insertions(+), 40 deletions(-) diff --git a/demo/e2e/native-ui-shell.spec.ts b/demo/e2e/native-ui-shell.spec.ts index 71a359e3..a35aa553 100644 --- a/demo/e2e/native-ui-shell.spec.ts +++ b/demo/e2e/native-ui-shell.spec.ts @@ -366,6 +366,11 @@ test('verticalBars tabs request native adaptive rail placement', async ({ page } test('standalone Vertical Control Area never snapshots ordinary Native UI Shell controls', async ({ page }) => { await mockNative(page); await page.goto('/main/index/native-ui-shell?verticalBarsOnly=1'); + const back = page.locator('app-native-ui-shell ion-back-button'); + await back.evaluate((element: HTMLIonBackButtonElement) => { + element.text = 'Return'; + element.closest('app-native-ui-shell')?.querySelector('ion-content')?.prepend(element); + }); await page.evaluate(() => { for (const sheet of Array.from(document.styleSheets)) { for (let index = sheet.cssRules.length - 1; index >= 0; index--) { @@ -394,6 +399,8 @@ test('standalone Vertical Control Area never snapshots ordinary Native UI Shell expect(state.configuredWith).toEqual({ verticalBarsOnly: true }); expect(state.metricsRequested).toBe(0); expect(state.updates.flatMap((update: any) => update.controls).every((control: any) => control.placement === 'vertical-bars')).toBe(true); + await expect(back).toHaveClass(/ios-theme-native-ui-shell-prehidden/); + expect(state.updates.at(-1).controls.find((control: any) => control.kind === 'ion-back-button')?.items[0]?.label).toBe('Return'); await app.evaluate((element) => element.style.setProperty('--ion-background-color-rgb', '255, 255, 255')); await expect.poll(() => allVerticalBarsDark(false)).toBe(true); }); @@ -571,38 +578,6 @@ test('verticalBars toolbar sources are hidden before ownership and restored with await customBack.evaluate((element: HTMLIonBackButtonElement) => (element.color = 'primary')); await expect(customBack).not.toHaveAttribute('data-native-ui-shell', ''); await expect(customBack).toHaveCSS('visibility', 'visible'); - const webOnlyBacks = await page.locator('app-native-ui-shell').evaluate((host) => { - const content = host.querySelector('ion-content')!; - const nested = document.createElement('ion-header'); - nested.innerHTML = ''; - content.append(nested); - const condensed = document.createElement('ion-header'); - condensed.setAttribute('collapse', 'condense'); - condensed.innerHTML = ''; - host.append(condensed); - return [nested.querySelector('ion-back-button')!, condensed.querySelector('ion-back-button')!].map( - (back) => getComputedStyle(back).visibility, - ); - }); - expect(webOnlyBacks).toEqual(['visible', 'visible']); - - const lateBackInitially = await page.locator('ion-app').evaluate((root) => { - const header = document.createElement('ion-header'); - header.innerHTML = ''; - root.append(header); - const back = header.querySelector('ion-back-button')!; - back.setAttribute('data-late-back', ''); - return back.classList.contains('ios-theme-vertical-bars-back-web-owned'); - }); - expect(lateBackInitially).toBe(false); - const lateBack = page.locator('ion-back-button[data-late-back]'); - await expect(lateBack).toHaveClass(/ios-theme-native-ui-shell-prehidden/); - await expect(lateBack).toHaveAttribute('data-native-ui-shell', ''); - await page.waitForTimeout(1600); // Past the unhydrated readiness timeout. - await expect(lateBack).toHaveAttribute('data-native-ui-shell', ''); - await expect(lateBack).not.toHaveClass(/ios-theme-vertical-bars-back-web-owned/); - await lateBack.evaluate((element) => element.closest('ion-header')?.remove()); - const lateAction = page.locator('app-native-ui-shell ion-button[data-late-action]'); await page .locator('app-native-ui-shell ion-toolbar') @@ -625,6 +600,23 @@ test('verticalBars toolbar sources are hidden before ownership and restored with await source.evaluate((element) => element.classList.add('ios-theme-shell-disabled')); await expect(source).toHaveCSS('visibility', 'visible'); + const lateBackInitially = await page.locator('ion-app').evaluate((root) => { + const header = document.createElement('ion-header'); + header.innerHTML = ''; + root.append(header); + const back = header.querySelector('ion-back-button')!; + back.setAttribute('data-late-back', ''); + return back.classList.contains('ios-theme-vertical-bars-back-web-owned'); + }); + expect(lateBackInitially).toBe(false); + const lateBack = page.locator('ion-back-button[data-late-back]'); + await expect(lateBack).toHaveClass(/ios-theme-native-ui-shell-prehidden/); + await expect(lateBack).toHaveAttribute('data-native-ui-shell', ''); + await page.waitForTimeout(1600); // Past the unhydrated readiness timeout. + await expect(lateBack).toHaveAttribute('data-native-ui-shell', ''); + await expect(lateBack).not.toHaveClass(/ios-theme-vertical-bars-back-web-owned/); + await lateBack.evaluate((element) => element.closest('ion-header')?.remove()); + await page.evaluate(() => (window as any).nativeUIShell.destroy()); await expect(source).not.toHaveClass(/ios-theme-native-ui-shell-prehidden/); await expect(source).toHaveCSS('visibility', 'visible'); diff --git a/demo/e2e/vertical-bars-standalone.spec.ts b/demo/e2e/vertical-bars-standalone.spec.ts index ed4338d1..04d4a0e6 100644 --- a/demo/e2e/vertical-bars-standalone.spec.ts +++ b/demo/e2e/vertical-bars-standalone.spec.ts @@ -17,6 +17,11 @@ test('Vertical Control Area works with Ionic CSS and no iOS 27 theme', async ({ }); await page.addStyleTag({ content: verticalBars }); expect(await page.evaluate(() => getComputedStyle(document.documentElement).getPropertyValue('--ios27-color-scheme').trim())).toBe(''); + const backSource = page.locator('app-native-ui-shell ion-back-button'); + await backSource.evaluate((element: HTMLIonBackButtonElement) => { + element.text = 'Return'; + element.closest('app-native-ui-shell')?.querySelector('ion-content')?.prepend(element); + }); await page.locator('ion-app').evaluate((element) => element.classList.add('ios-theme-vertical-bars')); const tabBar = page.locator('#tab-bar-bottom'); @@ -34,6 +39,8 @@ test('Vertical Control Area works with Ionic CSS and no iOS 27 theme', async ({ const back = page.locator('ion-app > ion-back-button.ios-theme-vertical-bars-back-button-projection'); await expect(back).toBeVisible(); + await expect(backSource).toBeHidden(); + expect(await back.evaluate((element: HTMLIonBackButtonElement) => element.text)).toBe(''); await back.click(); await expect(page).toHaveURL(/\/main\/index$/); }); diff --git a/src/native/components/ion-back-button.ts b/src/native/components/ion-back-button.ts index 496c0133..111f7ee4 100644 --- a/src/native/components/ion-back-button.ts +++ b/src/native/components/ion-back-button.ts @@ -1,12 +1,18 @@ import { createCandidate, appendItem } from '../shared/candidate'; import type { Candidate, Identify } from '../shared/candidate'; -import { inFixedToolbar } from '../shared/dom'; +import { inFixedToolbar, isVerticalBarsSource } from '../shared/dom'; export const tag = 'ion-back-button'; export const read = (element: HTMLElement, id: Identify): Candidate | undefined => { const button = element as HTMLIonBackButtonElement; - if (!inFixedToolbar(element) || button.icon !== undefined || button.color !== undefined || !button.shadowRoot) return; + if ( + !button.shadowRoot || + button.icon !== undefined || + button.color !== undefined || + (!isVerticalBarsSource(element) && !inFixedToolbar(element)) + ) + return; const candidate = createCandidate(element, tag, id); const label = button.shadowRoot.querySelector('[part="text"]')?.textContent?.trim() ?? ''; return appendItem(candidate, element, id, button.shadowRoot, label) ? candidate : undefined; diff --git a/src/native/prehide.ts b/src/native/prehide.ts index 92918a6b..b61781fb 100644 --- a/src/native/prehide.ts +++ b/src/native/prehide.ts @@ -19,6 +19,11 @@ const backSupported = (element: HTMLElement): boolean => { const back = element as HTMLIonBackButtonElement; return back.icon === undefined && back.color === undefined && !!back.shadowRoot; }; +const eligibleBack = (element: HTMLElement): boolean => + !element.closest('ion-buttons.ios-theme-horizontal-only') && + !isPermanentlyExcluded(element) && + !isShellDisabled(element) && + !element.closest(overlays); const eligible = (element: HTMLElement): boolean => inFixedToolbar(element) && !element.closest('ion-buttons.ios-theme-horizontal-only, ion-button.ios-theme-horizontal-only') && @@ -78,7 +83,7 @@ export const prehideVerticalBarsToolbarSources = (doc: Document): { suspend: () if (owned.has(element)) return; if ( element.matches('ion-back-button') && - eligible(element) && + eligibleBack(element) && (element as HTMLIonBackButtonElement).icon === undefined && (element as HTMLIonBackButtonElement).color === undefined && !element.shadowRoot && @@ -103,7 +108,9 @@ export const prehideVerticalBarsToolbarSources = (doc: Document): { suspend: () } place( element, - eligible(element) && (element.matches('ion-back-button') ? backSupported(element) : isVerticalBarsToolbarActionShape(element)), + element.matches('ion-back-button') + ? eligibleBack(element) && backSupported(element) + : eligible(element) && isVerticalBarsToolbarActionShape(element), ); } }); diff --git a/src/native/vertical-bars-web.ts b/src/native/vertical-bars-web.ts index bab472a8..337d0963 100644 --- a/src/native/vertical-bars-web.ts +++ b/src/native/vertical-bars-web.ts @@ -83,7 +83,14 @@ export const createVerticalBarsWebProjection = (doc: Document, options: NativeUI ); }; const isEligibleBack = (element: HTMLIonBackButtonElement) => - inEligibleToolbar(element) && unprojected(projectedSources(), () => isRendered(element)); + !!verticalBarsRoot()?.contains(element) && + element.matches('.ios') && + !element.closest('ion-buttons.ios-theme-horizontal-only') && + !isExcluded(element, verticalBarsEnteringPage(element)) && + !isShellDisabled(element) && + !verticalBarsPages.isDeparted(element) && + !element.closest('ion-menu, ion-modal, ion-popover') && + unprojected(projectedSources(), () => isRendered(element)); const pageOrder = (element: Element) => Array.from(doc.querySelectorAll('.ion-page')).indexOf(element.closest('.ion-page')!); const findBack = () => { const candidates = Array.from(doc.querySelectorAll(`ion-back-button:not(.${backProjectionClass})`)).filter( diff --git a/src/styles/vertical-bars.scss b/src/styles/vertical-bars.scss index a205ced9..51bef3ce 100644 --- a/src/styles/vertical-bars.scss +++ b/src/styles/vertical-bars.scss @@ -191,8 +191,6 @@ // Hide an entering back source until JS decides whether it belongs in the rail. html.ios-theme-native-ui-shell-prehide :is(ion-app, body).ios-theme-vertical-bars - :is(ion-header, ion-footer):not([collapse]):not(:where(ion-content *, ion-menu *, ion-modal *, ion-popover *)) - ion-toolbar ion-back-button:not( [icon], [color], @@ -201,7 +199,18 @@ html.ios-theme-native-ui-shell-prehide .ios-theme-disabled, .ios26-disabled, .ios-theme-vertical-bars-back-button-projection - ):not(:where(.ios-theme-shell-disabled *, .ionic-theme-disabled *, .ios-theme-disabled *, .ios26-disabled *)) { + ):not( + :where( + ion-menu *, + ion-modal *, + ion-popover *, + ion-buttons.ios-theme-horizontal-only *, + .ios-theme-shell-disabled *, + .ionic-theme-disabled *, + .ios-theme-disabled *, + .ios26-disabled * + ) + ) { position: absolute !important; visibility: hidden !important; } From 54c7df81a3c44c4fd9f613ffb2253994fbfc6c47 Mon Sep 17 00:00:00 2001 From: rdlabo Date: Thu, 24 Sep 2026 19:50:31 +0900 Subject: [PATCH 37/50] fix(vertical-bars): align back selection across Web and native --- demo/e2e/native-ui-shell.spec.ts | 63 +++++++++++++++++++-- demo/e2e/vertical-bars-back-button.spec.ts | 15 ++++- demo/e2e/vertical-bars-standalone.spec.ts | 3 + demo/src/app/docs/docs-content.generated.ts | 2 +- docs/native-ui-shell.md | 4 +- docs/special-markup.md | 2 +- src/native/components/index.ts | 7 ++- src/native/prehide.ts | 18 +++++- src/native/runtime.ts | 19 ++++++- src/native/shared/dom.ts | 25 ++++++++ src/native/vertical-bars-web.ts | 12 ++-- src/styles/vertical-bars.scss | 4 +- 12 files changed, 150 insertions(+), 24 deletions(-) diff --git a/demo/e2e/native-ui-shell.spec.ts b/demo/e2e/native-ui-shell.spec.ts index a35aa553..4cb7e991 100644 --- a/demo/e2e/native-ui-shell.spec.ts +++ b/demo/e2e/native-ui-shell.spec.ts @@ -366,11 +366,14 @@ test('verticalBars tabs request native adaptive rail placement', async ({ page } test('standalone Vertical Control Area never snapshots ordinary Native UI Shell controls', async ({ page }) => { await mockNative(page); await page.goto('/main/index/native-ui-shell?verticalBarsOnly=1'); - const back = page.locator('app-native-ui-shell ion-back-button'); - await back.evaluate((element: HTMLIonBackButtonElement) => { + await page.locator('app-native-ui-shell ion-back-button').evaluate((element: HTMLIonBackButtonElement) => { element.text = 'Return'; - element.closest('app-native-ui-shell')?.querySelector('ion-content')?.prepend(element); + element.mode = 'md'; + element.classList.remove('ios'); + element.classList.add('md'); + element.closest('ion-app')?.append(element); }); + const back = page.locator('ion-app > ion-back-button'); await page.evaluate(() => { for (const sheet of Array.from(document.styleSheets)) { for (let index = sheet.cssRules.length - 1; index >= 0; index--) { @@ -400,7 +403,37 @@ test('standalone Vertical Control Area never snapshots ordinary Native UI Shell expect(state.metricsRequested).toBe(0); expect(state.updates.flatMap((update: any) => update.controls).every((control: any) => control.placement === 'vertical-bars')).toBe(true); await expect(back).toHaveClass(/ios-theme-native-ui-shell-prehidden/); - expect(state.updates.at(-1).controls.find((control: any) => control.kind === 'ion-back-button')?.items[0]?.label).toBe('Return'); + await expect + .poll(() => + page.evaluate( + () => + (window as any).__nativeUIShell.updates.at(-1)?.controls.find((control: any) => control.kind === 'ion-back-button')?.items[0] + ?.label, + ), + ) + .toBe('Return'); + await expect(back).toHaveClass(/\bmd\b/); + await page.locator('app-native-ui-shell ion-content').evaluate((content) => { + const pageBack = document.createElement('ion-back-button'); + pageBack.setAttribute('default-href', '/main/index'); + pageBack.setAttribute('data-page-back', ''); + content.prepend(pageBack); + }); + const pageBack = page.locator('ion-back-button[data-page-back]'); + await expect(pageBack).toHaveAttribute('data-native-ui-shell', ''); + await expect(back).not.toHaveAttribute('data-native-ui-shell', ''); + await expect + .poll(() => + page.evaluate( + () => (window as any).__nativeUIShell.updates.at(-1)?.controls.filter((control: any) => control.kind === 'ion-back-button').length, + ), + ) + .toBe(1); + await page + .locator('app-native-ui-shell') + .evaluate((element) => element.dispatchEvent(new CustomEvent('ionViewDidLeave', { bubbles: true }))); + await expect(back).toHaveClass(/ios-theme-native-ui-shell-prehidden/); + await expect(back).toHaveAttribute('data-native-ui-shell', ''); await app.evaluate((element) => element.style.setProperty('--ion-background-color-rgb', '255, 255, 255')); await expect.poll(() => allVerticalBarsDark(false)).toBe(true); }); @@ -409,13 +442,30 @@ test('verticalBars back navigation and toolbar slots request native rail placeme await mockNative(page); await page.goto('/main/index/native-ui-shell'); const app = page.locator('ion-app'); - const source = page.locator('app-native-ui-shell ion-back-button'); + const source = page.locator('app-native-ui-shell ion-back-button').first(); const projection = page.locator('ion-app > ion-back-button.ios-theme-vertical-bars-back-button-projection'); await expect(source).toHaveAttribute('data-native-ui-shell', ''); + await source.evaluate((element) => { + const second = document.createElement('ion-back-button'); + second.setAttribute('default-href', '/main/index'); + second.setAttribute('data-second-back', ''); + element.closest('ion-toolbar')?.append(second); + }); + const secondBack = page.locator('ion-back-button[data-second-back]'); + await expect(secondBack).toHaveClass(/hydrated/); await app.evaluate((element) => element.classList.add('ios-theme-vertical-bars')); await expect(projection).toHaveCount(0); await expect(source).toHaveAttribute('data-native-ui-shell', ''); + await expect(secondBack).toBeVisible(); + await expect(secondBack).not.toHaveAttribute('data-native-ui-shell', ''); + await expect + .poll(() => + page.evaluate( + () => (window as any).__nativeUIShell.updates.at(-1)?.controls.filter((control: any) => control.kind === 'ion-back-button').length, + ), + ) + .toBe(1); await expect .poll(() => page.evaluate( @@ -595,7 +645,8 @@ test('verticalBars toolbar sources are hidden before ownership and restored with await source.evaluate((element) => element.classList.add('author-hidden')); await expect(source).not.toHaveAttribute('data-native-ui-shell', ''); await source.evaluate((element) => element.classList.remove('author-hidden')); - await expect(source).toHaveAttribute('data-native-ui-shell', ''); + await expect(source).toHaveAttribute('data-native-ui-shell-vertical-bars-member', ''); + await expect(source).toHaveClass(/ios-theme-native-ui-shell-prehidden/); await source.evaluate((element) => element.classList.add('ios-theme-shell-disabled')); await expect(source).toHaveCSS('visibility', 'visible'); diff --git a/demo/e2e/vertical-bars-back-button.spec.ts b/demo/e2e/vertical-bars-back-button.spec.ts index bbe0ab60..2044dc95 100644 --- a/demo/e2e/vertical-bars-back-button.spec.ts +++ b/demo/e2e/vertical-bars-back-button.spec.ts @@ -127,7 +127,7 @@ test('turning verticalBars on during a transition honors its success or cancella await expect(projection).toHaveCount(0); }); -test('verticalBars projection respects shell opt-out and iOS mode', async ({ page }) => { +test('verticalBars back projection respects source opt-out regardless of Ionic mode', async ({ page }) => { await page.goto('/main/index/button'); const app = page.locator('ion-app'); const source = page.locator('app-button ion-header ion-back-button').first(); @@ -139,10 +139,19 @@ test('verticalBars projection respects shell opt-out and iOS mode', async ({ pag await expect(projection).toHaveCount(0); await expect(source).toBeVisible(); - await source.evaluate((element) => element.classList.remove('ios-theme-shell-disabled', 'ios')); + await source.evaluate((element) => { + element.classList.remove('ios-theme-shell-disabled'); + (element as HTMLIonBackButtonElement).mode = 'md'; + }); await toolbar.evaluate((element) => element.classList.remove('ios')); - await expect(projection).toHaveCount(0); await expect(source).toBeVisible(); + await page + .locator('app-button.ion-page') + .evaluate((element) => element.dispatchEvent(new CustomEvent('ionViewWillEnter', { bubbles: true }))); + await expect(source).toBeHidden(); + await expect(projection).toBeVisible(); + expect(await projection.evaluate((element: HTMLIonBackButtonElement) => element.mode)).toBe('md'); + await expect(projection).toHaveCSS('position', 'fixed'); }); test('verticalBars toolbar projects icon actions and preserves text-only actions', async ({ page }) => { diff --git a/demo/e2e/vertical-bars-standalone.spec.ts b/demo/e2e/vertical-bars-standalone.spec.ts index 04d4a0e6..c921d49c 100644 --- a/demo/e2e/vertical-bars-standalone.spec.ts +++ b/demo/e2e/vertical-bars-standalone.spec.ts @@ -41,6 +41,9 @@ test('Vertical Control Area works with Ionic CSS and no iOS 27 theme', async ({ await expect(back).toBeVisible(); await expect(backSource).toBeHidden(); expect(await back.evaluate((element: HTMLIonBackButtonElement) => element.text)).toBe(''); + await backSource.evaluate((element) => element.closest('ion-app')?.append(element)); + await expect(page.locator('ion-app > ion-back-button:not(.ios-theme-vertical-bars-back-button-projection)')).toBeHidden(); + await expect(back).toBeVisible(); await back.click(); await expect(page).toHaveURL(/\/main\/index$/); }); diff --git a/demo/src/app/docs/docs-content.generated.ts b/demo/src/app/docs/docs-content.generated.ts index 6f891dd8..9772f1c7 100644 --- a/demo/src/app/docs/docs-content.generated.ts +++ b/demo/src/app/docs/docs-content.generated.ts @@ -1,3 +1,3 @@ // Generated from docs/special-markup.md. Do not edit directly. export const docsContentHtml = - '

      Special markup and classes

      \n

      Most Ionic markup works without changes. The combinations below are explicit opt-ins provided by the theme.

      \n

      Primary submit buttons

      \n

      Solid submit buttons use the Ionic color's contrast value for their foreground. Their directional edge treatment follows the iOS 27 prominent-button appearance and does not require an additional brightness color.

      \n
      <ion-button type="submit" color="primary">Submit</ion-button>\n<ion-button class="button-submit" fill="solid" color="primary">Continue</ion-button>
      \n\n
      \n
      Preview
      \nSubmit\nContinue\n
      \n\n

      Use .button-submit when the button needs the same treatment but cannot use type="submit".

      \n

      Preferred overlay actions

      \n

      For iOS alerts and action sheets, set role: 'preferred' on a button to give it a filled --ion-color-primary background and --ion-color-primary-contrast text and icons. While pressed, the background uses --ion-color-primary-shade. This is a theme convention using Ionic's custom button roles; it does not automatically select or invoke the action. Dismissal reports the role as preferred.

      \n
      buttons: [\n  { text: \'Cancel\', role: \'cancel\' },\n  { text: \'Continue\', role: \'preferred\' },\n];
      \n\n

      Buttons with no role or default keep the normal text color. cancel retains Ionic's cancellation behavior, selected remains a selection state, and destructive uses --ios-theme-destructive-color. An existing confirm role is not treated as preferred. Use preferred for the recommended action, not simply any action that confirms a choice.

      \n

      Floating iPad sheets

      \n

      Set expandToScroll: false on a sheet modal to use floating lower corners and a 20px bottom gap on iPad. Ionic then sizes the visible page at each breakpoint, so the theme can style it with CSS alone. Content scrolls within the current breakpoint; dragging the handle still resizes the sheet. With the default expandToScroll: true, the sheet keeps Ionic's bottom-attached layout and scroll-to-expand behavior.

      \n

      Tab bar position

      \n

      Add one of tab-bar-position-start, tab-bar-position-center, or tab-bar-position-end to an iOS ion-tab-bar to position the whole bar within its safe area. These classes work with both slot="top" and slot="bottom" and preserve the bar's width and press animation. Start and end follow the text direction (reversed in RTL). Without a class, the existing placement is unchanged.

      \n
      <ion-tab-bar slot="bottom" class="tab-bar-position-center">\n  <ion-tab-button tab="home">Home</ion-tab-button>\n  <ion-tab-button tab="settings">Settings</ion-tab-button>\n</ion-tab-bar>
      \n\n

      These classes do not reposition a separate ion-fab; leave room for it when choosing the bar's position.

      \n

      Support iPhone Duo

      \n

      Load the separate stylesheet and start its projection runtime. The iOS 27 theme stylesheets are not required:

      \n
      @use \'@rdlabo/ionic-theme-ios27/dist/css/vertical-bars.css\';
      \n\n
      import { enableVerticalControlArea } from \'@rdlabo/ionic-theme-ios27/vertical-bars\';\n\nvoid enableVerticalControlArea();
      \n\n

      Add .ios-theme-vertical-bars to the active ion-app. Use body only when the application has no ion-app root:

      \n
      <ion-app class="ios-theme-vertical-bars">...</ion-app>
      \n\n

      The class reserves 80px on the physical right by default, matching the system navigation region measured in the iPhone Duo Simulator. The physical left defaults to 0px. Override --ios-theme-vertical-bars-safe-area-left or --ios-theme-vertical-bars-safe-area-right when simulating a different layout.

      \n

      This keeps routers and component backgrounds full-viewport. ion-content moves its scroll foreground, ion-toolbar moves its container foreground, and ion-fab adjusts only when it is placed beside the system UI. The corresponding Ionic safe-area variable is reset inside those foreground components so descendants do not add the inset again.

      \n

      ion-menu, ion-modal, and ion-popover are handled as separate surfaces: their internal foreground components do not receive the main-page conversion and retain Ionic's standard safe-area handling. A menu presented beside the system UI keeps Ionic's full-viewport animation host and offsets only its visible container by the corresponding inset; a menu from the opposite side is unchanged. Left and right remain physical coordinates in RTL, while Ionic's side="start" and side="end" values remain logical.

      \n

      These values are web-layout simulation inputs. They are independent from Ionic's normal iPhone safe-area variables and do not change ordinary iPhone layouts unless the opt-in class is present.

      \n

      When the app contains ion-tabs, this mode moves its iOS tab bar into the physical right-side reserved region and aligns it above the bottom safe area. The Ionic slot value does not select a different position. Without Native UI Shell, the stable Web rail is icon-only, matching a four-tab SwiftUI TabView on iPhone Duo. While the user presses and drags across that rail, every icon-and-label tab reveals its label so the pending destination stays identifiable. The Web tab bar receives pointer input in the simulated system region. Use ion-menu when navigation should become a sidebar; this mode does not convert tabs into a menu.

      \n

      On supported iOS versions, enableVerticalControlArea() hands eligible tabs, back navigation, menu buttons, and fixed-toolbar actions to a native SwiftUI TabView and toolbar. It does not project ordinary Native UI Shell controls outside the vertical area. If the app already uses the full enableNativeUIShell(), keep that single runtime instead of starting both. The Ionic controls remain the sources of labels, icons, selected/disabled state, form submission, routing, and click handlers while SwiftUI owns adaptive placement and interaction. Fixed-toolbar actions need an icon or SVG, no direct text node, and standard fill="default" or fill="clear" to be eligible for the side rail. Text-only actions stay in the original Web toolbar. Add .ios-theme-horizontal-only to an ion-buttons group or individual ion-button to keep it in the Web toolbar. Placement is chosen when a routed page enters; changing an existing button's content does not move it between the toolbar and rail until the page leaves and re-enters. Menus, modals, and popovers retain their own toolbar layout.

      \n

      On Web, Android, older iOS, or when native projection is unavailable during setup, the Web tab bar and fixed-toolbar clones remain the fallback. Those projections also work when no ion-tabs exists; text-only actions stay in the original Web toolbar. Disabling the mode or leaving the page removes the native ownership or Web clones and restores their sources. Override --ios-theme-vertical-bars-toolbar-top when the simulated system controls use a different vertical layout.

      \n

      Two-line inset list items

      \n

      Place an unslotted ion-label immediately alongside an unslotted ion-note to render a two-line item. When using the iOS-style inset-list background, wrap the items in ion-item-group; keep ion-list-header outside the group.

      \n
      <ion-list inset="true">\n  <ion-list-header>\n    <ion-label>Connections</ion-label>\n  </ion-list-header>\n  <ion-item-group>\n    <ion-item>\n      <ion-label>Network &amp; internet</ion-label>\n      <ion-note>Mobile, Wi-Fi, hotspot</ion-note>\n    </ion-item>\n  </ion-item-group>\n</ion-list>
      \n\n
      \n
      Preview
      \n\n \n Connections\n \n \n \n Network & internet\n Mobile, Wi-Fi, hotspot\n \n \n\n
      \n\n

      Use slot="end" on ion-note when you want the standard trailing-note layout instead.

      \n

      Inset-list section headers

      \n

      Add .item-group-header to an ion-item-group to create the centered icon, title, and description used at the top of the component demo pages.

      \n

      This is an introductory group. Place regular list items in a separate ion-item-group that follows it.

      \n
      <ion-list inset="true">\n  <ion-item-group class="item-group-header">\n    <ion-item>\n      <ion-label>\n        <ion-icon name="list" style="background: var(--ion-color-primary)"></ion-icon>\n        <h2>Lists</h2>\n        <ion-text>Inset-list examples</ion-text>\n      </ion-label>\n    </ion-item>\n  </ion-item-group>\n  <ion-item-group>\n    <ion-item><ion-label>First item</ion-label></ion-item>\n  </ion-item-group>\n</ion-list>
      \n\n
      \n
      Preview
      \n\n \n \n \n \n

      Lists

      \n Inset-list examples\n
      \n
      \n
      \n \n First item\n \n
      \n
      \n\n

      Full-width segments

      \n

      Add .segment-style-glass to give a segment the same glass surface and selected indicator treatment as the tab bar. The class preserves the segment's existing dimensions and text colors, supports scrollable segments, and respects Ionic's public --background property.

      \n
      <ion-segment class="segment-style-glass" value="available">\n  <ion-segment-button value="available">Available</ion-segment-button>\n  <ion-segment-button value="away">Away</ion-segment-button>\n</ion-segment>
      \n\n

      For colored segments, use Ionic's color property (for example, color="primary" or color="secondary"). Ionic uses the palette's base color for the softly tinted track while keeping the selected surface and labels neutral. A surrounding colored toolbar only supplies colors when the segment has no color of its own. The optional moving glass inherits the selected surface color, and custom Ionic palettes work without additional registration.

      \n

      Add .segment-expand when segment buttons should divide the available width evenly. The class also changes the Liquid Glass effect sizing when registerSegmentEffect is used.

      \n

      Segments use a 32px minimum height in content and a 48px minimum height inside ion-toolbar. .segment-expand keeps the compact 32px layout in a toolbar. Compact segments retain Ionic's flat background and indicator colors; only the regular toolbar variant has a glass container and scales its outer container while pressed. Content and expanded segments keep their outer bounds. The optional moving glass lens is independent of the container's background.

      \n
      <ion-segment class="segment-expand" value="new">\n  <ion-segment-button value="new"><ion-label>New</ion-label></ion-segment-button>\n  <ion-segment-button value="replied"><ion-label>Replied</ion-label></ion-segment-button>\n</ion-segment>
      \n\n
      \n
      Preview
      \n\n New\n Replied\n\n
      \n\n

      Classic search bar in a condense header

      \n

      The theme gives iOS search bars the iOS 27 appearance by default. Add .searchbar-classic to the search field shown beneath a large title in an ion-header with collapse="condense". It uses the conventional filled iOS appearance and collapses with the large title instead of remaining in the fixed header.

      \n

      Place it in a toolbar with a color, such as color="light"; the classic background is derived from that color's contrast value.

      \n

      The example uses Ionic's standard collapsible large-title structure. Scroll the preview to collapse the large title and reveal the fixed header.

      \n
      <div class="ion-page">\n  <ion-header translucent="true">\n    <ion-toolbar color="light">\n      <ion-title>Search</ion-title>\n    </ion-toolbar>\n  </ion-header>\n  <ion-content color="light" fullscreen="true">\n    <ion-header collapse="condense">\n      <ion-toolbar color="light">\n        <ion-title size="large">Search</ion-title>\n      </ion-toolbar>\n      <ion-toolbar color="light">\n        <ion-searchbar class="searchbar-classic" placeholder="Filter results"></ion-searchbar>\n      </ion-toolbar>\n    </ion-header>\n    <ion-list inset="true">\n      <ion-item-group>\n        <ion-item><ion-label>Recent item 1</ion-label></ion-item>\n        <ion-item><ion-label>Recent item 2</ion-label></ion-item>\n        <ion-item><ion-label>Recent item 3</ion-label></ion-item>\n        <ion-item><ion-label>Recent item 4</ion-label></ion-item>\n        <ion-item><ion-label>Recent item 5</ion-label></ion-item>\n        <ion-item><ion-label>Recent item 6</ion-label></ion-item>\n        <ion-item><ion-label>Recent item 7</ion-label></ion-item>\n        <ion-item><ion-label>Recent item 8</ion-label></ion-item>\n        <ion-item><ion-label>Recent item 9</ion-label></ion-item>\n        <ion-item><ion-label>Recent item 10</ion-label></ion-item>\n      </ion-item-group>\n    </ion-list>\n  </ion-content>\n</div>
      \n\n
      \n
      Preview
      \n
      \n \n \n Search\n \n \n \n \n \n Search\n \n \n \n \n \n \n \n Recent item 1\n Recent item 2\n Recent item 3\n Recent item 4\n Recent item 5\n Recent item 6\n Recent item 7\n Recent item 8\n Recent item 9\n Recent item 10\n \n \n \n
      \n
      \n\n

      The .ion-page wrapper makes this embedded preview behave like a complete routed page. An application using ion-router-outlet normally receives that page container automatically. The inset list and its items only provide enough content to demonstrate scrolling; they are not required by .searchbar-classic.

      \n

      Search-bar toolbars

      \n

      Add .toolbar-searchbar when an ion-toolbar combines a search bar with start or end buttons. The class centers the slotted controls and adjusts the spacing around the search field.

      \n
      <ion-toolbar class="toolbar-searchbar">\n  <ion-buttons slot="start">\n    <ion-button>Cancel</ion-button>\n  </ion-buttons>\n  <ion-searchbar></ion-searchbar>\n</ion-toolbar>
      \n\n
      \n
      Preview
      \n\n \n Cancel\n \n \n\n
      \n\n

      Opting out

      \n

      Add .ios-theme-disabled to an individual Ionic component when it must retain Ionic's standard iOS styling.

      \n

      .ios26-disabled is deprecated but remains supported as an alias with the same behavior. Use .ios-theme-disabled for new code.

      \n
      <ion-button>iOS 27 theme</ion-button> <ion-button class="ios-theme-disabled">Standard Ionic button</ion-button>
      \n\n
      \n
      Preview
      \niOS 27 theme Standard Ionic button\n
      \n\n

      For the background model behind inset lists, see Using ion-item-group.

      \n'; + '

      Special markup and classes

      \n

      Most Ionic markup works without changes. The combinations below are explicit opt-ins provided by the theme.

      \n

      Primary submit buttons

      \n

      Solid submit buttons use the Ionic color's contrast value for their foreground. Their directional edge treatment follows the iOS 27 prominent-button appearance and does not require an additional brightness color.

      \n
      <ion-button type="submit" color="primary">Submit</ion-button>\n<ion-button class="button-submit" fill="solid" color="primary">Continue</ion-button>
      \n\n
      \n
      Preview
      \nSubmit\nContinue\n
      \n\n

      Use .button-submit when the button needs the same treatment but cannot use type="submit".

      \n

      Preferred overlay actions

      \n

      For iOS alerts and action sheets, set role: 'preferred' on a button to give it a filled --ion-color-primary background and --ion-color-primary-contrast text and icons. While pressed, the background uses --ion-color-primary-shade. This is a theme convention using Ionic's custom button roles; it does not automatically select or invoke the action. Dismissal reports the role as preferred.

      \n
      buttons: [\n  { text: \'Cancel\', role: \'cancel\' },\n  { text: \'Continue\', role: \'preferred\' },\n];
      \n\n

      Buttons with no role or default keep the normal text color. cancel retains Ionic's cancellation behavior, selected remains a selection state, and destructive uses --ios-theme-destructive-color. An existing confirm role is not treated as preferred. Use preferred for the recommended action, not simply any action that confirms a choice.

      \n

      Floating iPad sheets

      \n

      Set expandToScroll: false on a sheet modal to use floating lower corners and a 20px bottom gap on iPad. Ionic then sizes the visible page at each breakpoint, so the theme can style it with CSS alone. Content scrolls within the current breakpoint; dragging the handle still resizes the sheet. With the default expandToScroll: true, the sheet keeps Ionic's bottom-attached layout and scroll-to-expand behavior.

      \n

      Tab bar position

      \n

      Add one of tab-bar-position-start, tab-bar-position-center, or tab-bar-position-end to an iOS ion-tab-bar to position the whole bar within its safe area. These classes work with both slot="top" and slot="bottom" and preserve the bar's width and press animation. Start and end follow the text direction (reversed in RTL). Without a class, the existing placement is unchanged.

      \n
      <ion-tab-bar slot="bottom" class="tab-bar-position-center">\n  <ion-tab-button tab="home">Home</ion-tab-button>\n  <ion-tab-button tab="settings">Settings</ion-tab-button>\n</ion-tab-bar>
      \n\n

      These classes do not reposition a separate ion-fab; leave room for it when choosing the bar's position.

      \n

      Support iPhone Duo

      \n

      Load the separate stylesheet and start its projection runtime. The iOS 27 theme stylesheets are not required:

      \n
      @use \'@rdlabo/ionic-theme-ios27/dist/css/vertical-bars.css\';
      \n\n
      import { enableVerticalControlArea } from \'@rdlabo/ionic-theme-ios27/vertical-bars\';\n\nvoid enableVerticalControlArea();
      \n\n

      Add .ios-theme-vertical-bars to the active ion-app. Use body only when the application has no ion-app root:

      \n
      <ion-app class="ios-theme-vertical-bars">...</ion-app>
      \n\n

      The class reserves 80px on the physical right by default, matching the system navigation region measured in the iPhone Duo Simulator. The physical left defaults to 0px. Override --ios-theme-vertical-bars-safe-area-left or --ios-theme-vertical-bars-safe-area-right when simulating a different layout.

      \n

      This keeps routers and component backgrounds full-viewport. ion-content moves its scroll foreground, ion-toolbar moves its container foreground, and ion-fab adjusts only when it is placed beside the system UI. The corresponding Ionic safe-area variable is reset inside those foreground components so descendants do not add the inset again.

      \n

      ion-menu, ion-modal, and ion-popover are handled as separate surfaces: their internal foreground components do not receive the main-page conversion and retain Ionic's standard safe-area handling. A menu presented beside the system UI keeps Ionic's full-viewport animation host and offsets only its visible container by the corresponding inset; a menu from the opposite side is unchanged. Left and right remain physical coordinates in RTL, while Ionic's side="start" and side="end" values remain logical.

      \n

      These values are web-layout simulation inputs. They are independent from Ionic's normal iPhone safe-area variables and do not change ordinary iPhone layouts unless the opt-in class is present.

      \n

      When the app contains ion-tabs, this mode moves its iOS tab bar into the physical right-side reserved region and aligns it above the bottom safe area. The Ionic slot value does not select a different position. Without Native UI Shell, the stable Web rail is icon-only, matching a four-tab SwiftUI TabView on iPhone Duo. While the user presses and drags across that rail, every icon-and-label tab reveals its label so the pending destination stays identifiable. The Web tab bar receives pointer input in the simulated system region. Use ion-menu when navigation should become a sidebar; this mode does not convert tabs into a menu.

      \n

      On supported iOS versions, enableVerticalControlArea() hands eligible tabs, back navigation, menu buttons, and fixed-toolbar actions to a native SwiftUI TabView and toolbar. Back navigation can come from outside a fixed toolbar and does not require an ios mode class; the application chooses where to enable Vertical Bars and which Ionic component mode to use. The other toolbar actions still require a fixed toolbar. It does not project ordinary Native UI Shell controls outside the vertical area. If the app already uses the full enableNativeUIShell(), keep that single runtime instead of starting both. The Ionic controls remain the sources of labels, icons, selected/disabled state, form submission, routing, and click handlers while SwiftUI owns adaptive placement and interaction. Fixed-toolbar actions need an icon or SVG, no direct text node, and standard fill="default" or fill="clear" to be eligible for the side rail. Text-only actions stay in the original Web toolbar. Add .ios-theme-horizontal-only to an ion-buttons group or individual ion-button to keep it in the Web toolbar. Placement is chosen when a routed page enters; changing an existing button's content does not move it between the toolbar and rail until the page leaves and re-enters. Menus, modals, and popovers retain their own toolbar layout.

      \n

      On Web, Android, older iOS, or when native projection is unavailable during setup, the Web tab bar and fixed-toolbar clones remain the fallback. Those projections also work when no ion-tabs exists; text-only actions stay in the original Web toolbar. Disabling the mode or leaving the page removes the native ownership or Web clones and restores their sources. Override --ios-theme-vertical-bars-toolbar-top when the simulated system controls use a different vertical layout.

      \n

      Two-line inset list items

      \n

      Place an unslotted ion-label immediately alongside an unslotted ion-note to render a two-line item. When using the iOS-style inset-list background, wrap the items in ion-item-group; keep ion-list-header outside the group.

      \n
      <ion-list inset="true">\n  <ion-list-header>\n    <ion-label>Connections</ion-label>\n  </ion-list-header>\n  <ion-item-group>\n    <ion-item>\n      <ion-label>Network &amp; internet</ion-label>\n      <ion-note>Mobile, Wi-Fi, hotspot</ion-note>\n    </ion-item>\n  </ion-item-group>\n</ion-list>
      \n\n
      \n
      Preview
      \n\n \n Connections\n \n \n \n Network & internet\n Mobile, Wi-Fi, hotspot\n \n \n\n
      \n\n

      Use slot="end" on ion-note when you want the standard trailing-note layout instead.

      \n

      Inset-list section headers

      \n

      Add .item-group-header to an ion-item-group to create the centered icon, title, and description used at the top of the component demo pages.

      \n

      This is an introductory group. Place regular list items in a separate ion-item-group that follows it.

      \n
      <ion-list inset="true">\n  <ion-item-group class="item-group-header">\n    <ion-item>\n      <ion-label>\n        <ion-icon name="list" style="background: var(--ion-color-primary)"></ion-icon>\n        <h2>Lists</h2>\n        <ion-text>Inset-list examples</ion-text>\n      </ion-label>\n    </ion-item>\n  </ion-item-group>\n  <ion-item-group>\n    <ion-item><ion-label>First item</ion-label></ion-item>\n  </ion-item-group>\n</ion-list>
      \n\n
      \n
      Preview
      \n\n \n \n \n \n

      Lists

      \n Inset-list examples\n
      \n
      \n
      \n \n First item\n \n
      \n
      \n\n

      Full-width segments

      \n

      Add .segment-style-glass to give a segment the same glass surface and selected indicator treatment as the tab bar. The class preserves the segment's existing dimensions and text colors, supports scrollable segments, and respects Ionic's public --background property.

      \n
      <ion-segment class="segment-style-glass" value="available">\n  <ion-segment-button value="available">Available</ion-segment-button>\n  <ion-segment-button value="away">Away</ion-segment-button>\n</ion-segment>
      \n\n

      For colored segments, use Ionic's color property (for example, color="primary" or color="secondary"). Ionic uses the palette's base color for the softly tinted track while keeping the selected surface and labels neutral. A surrounding colored toolbar only supplies colors when the segment has no color of its own. The optional moving glass inherits the selected surface color, and custom Ionic palettes work without additional registration.

      \n

      Add .segment-expand when segment buttons should divide the available width evenly. The class also changes the Liquid Glass effect sizing when registerSegmentEffect is used.

      \n

      Segments use a 32px minimum height in content and a 48px minimum height inside ion-toolbar. .segment-expand keeps the compact 32px layout in a toolbar. Compact segments retain Ionic's flat background and indicator colors; only the regular toolbar variant has a glass container and scales its outer container while pressed. Content and expanded segments keep their outer bounds. The optional moving glass lens is independent of the container's background.

      \n
      <ion-segment class="segment-expand" value="new">\n  <ion-segment-button value="new"><ion-label>New</ion-label></ion-segment-button>\n  <ion-segment-button value="replied"><ion-label>Replied</ion-label></ion-segment-button>\n</ion-segment>
      \n\n
      \n
      Preview
      \n\n New\n Replied\n\n
      \n\n

      Classic search bar in a condense header

      \n

      The theme gives iOS search bars the iOS 27 appearance by default. Add .searchbar-classic to the search field shown beneath a large title in an ion-header with collapse="condense". It uses the conventional filled iOS appearance and collapses with the large title instead of remaining in the fixed header.

      \n

      Place it in a toolbar with a color, such as color="light"; the classic background is derived from that color's contrast value.

      \n

      The example uses Ionic's standard collapsible large-title structure. Scroll the preview to collapse the large title and reveal the fixed header.

      \n
      <div class="ion-page">\n  <ion-header translucent="true">\n    <ion-toolbar color="light">\n      <ion-title>Search</ion-title>\n    </ion-toolbar>\n  </ion-header>\n  <ion-content color="light" fullscreen="true">\n    <ion-header collapse="condense">\n      <ion-toolbar color="light">\n        <ion-title size="large">Search</ion-title>\n      </ion-toolbar>\n      <ion-toolbar color="light">\n        <ion-searchbar class="searchbar-classic" placeholder="Filter results"></ion-searchbar>\n      </ion-toolbar>\n    </ion-header>\n    <ion-list inset="true">\n      <ion-item-group>\n        <ion-item><ion-label>Recent item 1</ion-label></ion-item>\n        <ion-item><ion-label>Recent item 2</ion-label></ion-item>\n        <ion-item><ion-label>Recent item 3</ion-label></ion-item>\n        <ion-item><ion-label>Recent item 4</ion-label></ion-item>\n        <ion-item><ion-label>Recent item 5</ion-label></ion-item>\n        <ion-item><ion-label>Recent item 6</ion-label></ion-item>\n        <ion-item><ion-label>Recent item 7</ion-label></ion-item>\n        <ion-item><ion-label>Recent item 8</ion-label></ion-item>\n        <ion-item><ion-label>Recent item 9</ion-label></ion-item>\n        <ion-item><ion-label>Recent item 10</ion-label></ion-item>\n      </ion-item-group>\n    </ion-list>\n  </ion-content>\n</div>
      \n\n
      \n
      Preview
      \n
      \n \n \n Search\n \n \n \n \n \n Search\n \n \n \n \n \n \n \n Recent item 1\n Recent item 2\n Recent item 3\n Recent item 4\n Recent item 5\n Recent item 6\n Recent item 7\n Recent item 8\n Recent item 9\n Recent item 10\n \n \n \n
      \n
      \n\n

      The .ion-page wrapper makes this embedded preview behave like a complete routed page. An application using ion-router-outlet normally receives that page container automatically. The inset list and its items only provide enough content to demonstrate scrolling; they are not required by .searchbar-classic.

      \n

      Search-bar toolbars

      \n

      Add .toolbar-searchbar when an ion-toolbar combines a search bar with start or end buttons. The class centers the slotted controls and adjusts the spacing around the search field.

      \n
      <ion-toolbar class="toolbar-searchbar">\n  <ion-buttons slot="start">\n    <ion-button>Cancel</ion-button>\n  </ion-buttons>\n  <ion-searchbar></ion-searchbar>\n</ion-toolbar>
      \n\n
      \n
      Preview
      \n\n \n Cancel\n \n \n\n
      \n\n

      Opting out

      \n

      Add .ios-theme-disabled to an individual Ionic component when it must retain Ionic's standard iOS styling.

      \n

      .ios26-disabled is deprecated but remains supported as an alias with the same behavior. Use .ios-theme-disabled for new code.

      \n
      <ion-button>iOS 27 theme</ion-button> <ion-button class="ios-theme-disabled">Standard Ionic button</ion-button>
      \n\n
      \n
      Preview
      \niOS 27 theme Standard Ionic button\n
      \n\n

      For the background model behind inset lists, see Using ion-item-group.

      \n'; diff --git a/docs/native-ui-shell.md b/docs/native-ui-shell.md index afab10c1..0af928c3 100644 --- a/docs/native-ui-shell.md +++ b/docs/native-ui-shell.md @@ -50,7 +50,7 @@ Native appearance follows the applied class, system or always-dark theme CSS. Sy | `ion-segment` | Fixed toolbar, non-scrollable, text **or** one icon per item | `UISegmentedControl` | | `ion-fab` / `ion-fab-button` / `ion-fab-list` | Glass FAB in an `ion-content` fixed slot; one main button and optional directional lists | Persistent glass `UIButton` per button; one FAB synchronization group | -Only iOS-mode components with the theme variables installed are eligible. `ionic-theme-disabled`, `ios-theme-disabled`, and the legacy `ios26-disabled` on an element or ancestor always exclude it. A disabled theme on one tab/segment item keeps its whole group on the Web. +For the ordinary Native UI Shell, only iOS-mode components with the theme variables installed are eligible. Vertical Bars back navigation is the exception described below. `ionic-theme-disabled`, `ios-theme-disabled`, and the legacy `ios26-disabled` on an element or ancestor always exclude it. A disabled theme on one tab/segment item keeps its whole group on the Web. Use `ios-theme-shell-disabled` to disable only the iOS Native UI Shell while keeping the Web theme. It excludes the element and all its descendants. Adding or removing the class at runtime automatically restores Web rendering or re-evaluates native eligibility. @@ -62,7 +62,7 @@ Use `ios-theme-shell-disabled` to disable only the iOS Native UI Shell while kee If a child inside a shared native surface opts out, the entire surface stays on the Web: this includes button groups, tab bars, segments and FAB lists. Opting out of the search FAB or any part of the search footer disables native search integration; the tab bar can still render natively if it remains eligible. -Placement is required even when the appearance is glass. Buttons, back buttons, menu-button groups and segments need a toolbar directly inside `ion-header` or `ion-footer`, with no `ion-content` ancestor around the control. Buttons directly inside a header/footer, standalone toolbars, and toolbars or headers nested in scrolling content stay on the Web. FABs without `slot="fixed"` also stay on the Web. Moving a projected control to an excluded location restores its Web rendering; moving it back re-evaluates eligibility. +Placement is required even when the appearance is glass. In the ordinary Native UI Shell, buttons, back buttons, menu-button groups and segments need a toolbar directly inside `ion-header` or `ion-footer`, with no `ion-content` ancestor around the control. Buttons directly inside a header/footer, standalone toolbars, and toolbars or headers nested in scrolling content stay on the Web. FABs without `slot="fixed"` also stay on the Web. Moving a projected control to an excluded location restores its Web rendering; moving it back re-evaluates eligibility. When `.ios-theme-vertical-bars` is enabled, a standard `ion-back-button` can instead be projected to the Vertical Control Area from outside a fixed toolbar, including routed content or a persistent app shell. The application chooses where to enable this mode and which Ionic component mode to use; the projection does not require the button's `ios` mode class. Overlays, collapsed headers, opted-out controls and departed pages are excluded. Native tabs accept equal-width items with Ionic's default `layout="icon-top"`. The native bar uses a local compact horizontal and regular vertical size class to preserve the Web's stacked icon/label arrangement on iPad and in landscape. This does not change the app's size class. Label size and weight follow the Web snapshot. Other explicit Ionic layouts (`icon-start`, `icon-end`, `icon-bottom`, `icon-hide`, `label-hide`) and unequal item widths keep the entire tab bar on the Web. Start, center and end placement follow the original `ion-tab-bar`, including RTL. Directional `ion-icon` artwork preserves its rendered RTL flip. diff --git a/docs/special-markup.md b/docs/special-markup.md index 2a0d1945..dbb4a0f0 100644 --- a/docs/special-markup.md +++ b/docs/special-markup.md @@ -77,7 +77,7 @@ These values are web-layout simulation inputs. They are independent from Ionic's When the app contains `ion-tabs`, this mode moves its iOS tab bar into the physical right-side reserved region and aligns it above the bottom safe area. The Ionic `slot` value does not select a different position. Without Native UI Shell, the stable Web rail is icon-only, matching a four-tab SwiftUI `TabView` on iPhone Duo. While the user presses and drags across that rail, every icon-and-label tab reveals its label so the pending destination stays identifiable. The Web tab bar receives pointer input in the simulated system region. Use `ion-menu` when navigation should become a sidebar; this mode does not convert tabs into a menu. -On supported iOS versions, `enableVerticalControlArea()` hands eligible tabs, back navigation, menu buttons, and fixed-toolbar actions to a native SwiftUI `TabView` and toolbar. It does not project ordinary Native UI Shell controls outside the vertical area. If the app already uses the full `enableNativeUIShell()`, keep that single runtime instead of starting both. The Ionic controls remain the sources of labels, icons, selected/disabled state, form submission, routing, and click handlers while SwiftUI owns adaptive placement and interaction. Fixed-toolbar actions need an icon or SVG, no direct text node, and standard `fill="default"` or `fill="clear"` to be eligible for the side rail. Text-only actions stay in the original Web toolbar. Add `.ios-theme-horizontal-only` to an `ion-buttons` group or individual `ion-button` to keep it in the Web toolbar. Placement is chosen when a routed page enters; changing an existing button's content does not move it between the toolbar and rail until the page leaves and re-enters. Menus, modals, and popovers retain their own toolbar layout. +On supported iOS versions, `enableVerticalControlArea()` hands eligible tabs, back navigation, menu buttons, and fixed-toolbar actions to a native SwiftUI `TabView` and toolbar. Back navigation can come from outside a fixed toolbar and does not require an `ios` mode class; the application chooses where to enable Vertical Bars and which Ionic component mode to use. The other toolbar actions still require a fixed toolbar. It does not project ordinary Native UI Shell controls outside the vertical area. If the app already uses the full `enableNativeUIShell()`, keep that single runtime instead of starting both. The Ionic controls remain the sources of labels, icons, selected/disabled state, form submission, routing, and click handlers while SwiftUI owns adaptive placement and interaction. Fixed-toolbar actions need an icon or SVG, no direct text node, and standard `fill="default"` or `fill="clear"` to be eligible for the side rail. Text-only actions stay in the original Web toolbar. Add `.ios-theme-horizontal-only` to an `ion-buttons` group or individual `ion-button` to keep it in the Web toolbar. Placement is chosen when a routed page enters; changing an existing button's content does not move it between the toolbar and rail until the page leaves and re-enters. Menus, modals, and popovers retain their own toolbar layout. On Web, Android, older iOS, or when native projection is unavailable during setup, the Web tab bar and fixed-toolbar clones remain the fallback. Those projections also work when no `ion-tabs` exists; text-only actions stay in the original Web toolbar. Disabling the mode or leaving the page removes the native ownership or Web clones and restores their sources. Override `--ios-theme-vertical-bars-toolbar-top` when the simulated system controls use a different vertical layout. diff --git a/src/native/components/index.ts b/src/native/components/index.ts index 4ffac4e0..903917d6 100644 --- a/src/native/components/index.ts +++ b/src/native/components/index.ts @@ -31,7 +31,12 @@ export const isVerticalBarsCandidate = isVerticalBarsSource; export const readCandidate = (element: HTMLElement, id: Identify): Candidate | undefined => { const verticalBars = isVerticalBarsCandidate(element); - if (!element.classList.contains('ios') || !visible(element, verticalBars) || element.closest('ion-modal, ion-popover')) return; + if ( + (!element.classList.contains('ios') && !(verticalBars && element.matches('ion-back-button'))) || + !visible(element, verticalBars) || + element.closest('ion-modal, ion-popover') + ) + return; const style = getComputedStyle(element); if ( !isDisabledButtonGroupChild(element) && diff --git a/src/native/prehide.ts b/src/native/prehide.ts index b61781fb..da99fbd6 100644 --- a/src/native/prehide.ts +++ b/src/native/prehide.ts @@ -6,6 +6,7 @@ import { inFixedToolbar, isVerticalBarsToolbarActionShape, isPermanentlyExcluded, + isVerticalBarsBackPosition, isShellDisabled, prehiddenClass, prehideRootClass, @@ -20,6 +21,7 @@ const backSupported = (element: HTMLElement): boolean => { return back.icon === undefined && back.color === undefined && !!back.shadowRoot; }; const eligibleBack = (element: HTMLElement): boolean => + isVerticalBarsBackPosition(element) && !element.closest('ion-buttons.ios-theme-horizontal-only') && !isPermanentlyExcluded(element) && !isShellDisabled(element) && @@ -35,6 +37,7 @@ const eligible = (element: HTMLElement): boolean => export const prehideVerticalBarsToolbarSources = (doc: Document): { suspend: () => () => void; stop: () => void } => { doc.documentElement.classList.add(prehideRootClass); const scopes = new Map>(); + const owner = new WeakMap(); const pendingBacks = new Map }>(); const listeners = new AbortController(); const root = () => doc.querySelector(':is(ion-app, body).ios-theme-vertical-bars'); @@ -50,6 +53,8 @@ export const prehideVerticalBarsToolbarSources = (doc: Document): { suspend: () const owned = scopes.get(scope); if (!owned) return; owned.forEach((element) => { + if (owner.get(element) !== scope) return; + owner.delete(element); element.classList.remove(prehiddenClass); element.classList.remove(verticalBarsBackWebClass); clearVerticalBarsPlacement(element); @@ -61,11 +66,15 @@ export const prehideVerticalBarsToolbarSources = (doc: Document): { suspend: () const owned = scopes.get(scope) ?? new Set(); const place = (element: HTMLElement, rail: boolean) => { if (owned.has(element)) return; + const previousScope = owner.get(element); + if (previousScope) scopes.get(previousScope)?.delete(element); + owner.set(element, scope); setVerticalBarsPlacement(element, rail); if (element.matches('ion-back-button')) element.classList.toggle(verticalBarsBackWebClass, !rail); owned.add(element); }; - scope.querySelectorAll(sourceSelector).forEach((element) => { + const sources = scope.matches('ion-back-button') ? [scope] : Array.from(scope.querySelectorAll(sourceSelector)); + sources.forEach((element) => { if (element.closest(overlays) || (scope.matches('.ion-page') && routedPage(element) !== scope)) return; if (element.matches('ion-buttons')) { const children = Array.from(element.children).filter((child): child is HTMLElement => child instanceof HTMLElement); @@ -89,6 +98,11 @@ export const prehideVerticalBarsToolbarSources = (doc: Document): { suspend: () !element.shadowRoot && !element.classList.contains('hydrated') ) { + const previousPending = pendingBacks.get(element); + if (previousPending && previousPending.scope !== scope) { + clearTimeout(previousPending.timer); + pendingBacks.delete(element); + } if (!pendingBacks.has(element)) { const timer = setTimeout(() => { if (pendingBacks.get(element)?.scope !== scope) return; @@ -130,7 +144,7 @@ export const prehideVerticalBarsToolbarSources = (doc: Document): { suspend: () // Root toolbars can mount after startup; each new DOM identity is captured once. verticalBars.querySelectorAll(sourceSelector).forEach((element) => { if (routedPage(element) || element.closest(overlays)) return; - const scope = element.closest('ion-toolbar'); + const scope = element.closest('ion-toolbar') ?? (element.matches('ion-back-button') ? element : null); if (scope) capture(scope); }); for (const owned of scopes.values()) { diff --git a/src/native/runtime.ts b/src/native/runtime.ts index c79d42ae..2ba42cfa 100644 --- a/src/native/runtime.ts +++ b/src/native/runtime.ts @@ -15,6 +15,7 @@ import { activateProjectedElement, createVerticalBarsPageState, isVerticalBarsSource, + preferredVerticalBarsBack, marker, prehideOnlyMutation, rejectedClass, @@ -158,6 +159,12 @@ export const createRuntime = async ( }; const measuringPointerPages = new WeakSet(); const readEnabledCandidate = (element: HTMLElement): Candidate | undefined => { + if ( + element.matches('ion-back-button') && + element.closest(':is(ion-app, body).ios-theme-vertical-bars') && + !isVerticalBarsCandidate(element) + ) + return; if (verticalBarsOnly && !isVerticalBarsCandidate(element)) return; const pointerPage = isVerticalBarsCandidate(element) ? element.closest('.ion-page') : undefined; let candidate: Candidate | undefined; @@ -238,7 +245,17 @@ export const createRuntime = async ( ) .filter((candidate) => !rejected.has(candidate.element) || rejected.get(candidate.element) !== signature(candidate)), ); - return menuOpen ? candidates.filter((candidate) => isVerticalBarsCandidate(candidate.element)) : candidates; + const back = preferredVerticalBarsBack( + candidates + .filter((candidate) => candidate.control.kind === 'ion-back-button' && isVerticalBarsCandidate(candidate.element)) + .map((candidate) => candidate.element), + doc, + ); + const selected = candidates.filter( + (candidate) => + candidate.control.kind !== 'ion-back-button' || !isVerticalBarsCandidate(candidate.element) || candidate.element === back, + ); + return menuOpen ? selected.filter((candidate) => isVerticalBarsCandidate(candidate.element)) : selected; }; const observe = () => { const wanted = new Set(); diff --git a/src/native/shared/dom.ts b/src/native/shared/dom.ts index 5b9abad3..e3166294 100644 --- a/src/native/shared/dom.ts +++ b/src/native/shared/dom.ts @@ -92,6 +92,31 @@ export const isVerticalBarsSource = (element: HTMLElement): boolean => !element.closest('ion-menu, ion-modal, ion-popover') && !!element.closest(':is(ion-app, body).ios-theme-vertical-bars'); +export const isVerticalBarsBackPosition = (element: HTMLElement): boolean => { + if (element.closest('ion-header[collapse], ion-footer[collapse]')) return false; + const page = element.closest('.ion-page'); + if (!page) return true; + const candidates = Array.from(page.querySelectorAll('ion-back-button')).filter( + (back) => + back.closest('.ion-page') === page && + !back.matches('.ion-cloned-element') && + !back.closest('ion-header[collapse], ion-footer[collapse], ion-menu, ion-modal, ion-popover'), + ); + const rank = (back: HTMLElement) => + inFixedToolbar(back) ? 0 : back.closest('ion-header ion-toolbar, ion-footer ion-toolbar') ? 1 : back.closest('ion-toolbar') ? 3 : 2; + const best = candidates.reduce( + (winner, back) => (!winner || rank(back) < rank(winner) ? back : winner), + undefined, + ); + return best === element; +}; + +export const preferredVerticalBarsBack = (elements: T[], doc: Document): T | undefined => { + const pages = Array.from(doc.querySelectorAll('.ion-page')); + const pageOrder = (element: Element) => pages.indexOf(element.closest('.ion-page')!); + return elements.sort((a, b) => pageOrder(b) - pageOrder(a) || Number(!!b.closest('ion-header')) - Number(!!a.closest('ion-header')))[0]; +}; + const excludedBy = (element: HTMLElement, selector: string): boolean => { const owner = element.closest(selector); return !!owner && !(element.parentElement === owner && isDisabledButtonGroupChild(element)); diff --git a/src/native/vertical-bars-web.ts b/src/native/vertical-bars-web.ts index 337d0963..e7648892 100644 --- a/src/native/vertical-bars-web.ts +++ b/src/native/vertical-bars-web.ts @@ -8,6 +8,9 @@ import { isExcluded, isVerticalBarsToolbarGroup, isShellDisabled, + isVerticalBarsBackPosition, + preferredVerticalBarsBack, + verticalBarsOwned, marker, prehideOnlyMutation, prehiddenClass, @@ -84,7 +87,8 @@ export const createVerticalBarsWebProjection = (doc: Document, options: NativeUI }; const isEligibleBack = (element: HTMLIonBackButtonElement) => !!verticalBarsRoot()?.contains(element) && - element.matches('.ios') && + verticalBarsOwned(element) && + isVerticalBarsBackPosition(element) && !element.closest('ion-buttons.ios-theme-horizontal-only') && !isExcluded(element, verticalBarsEnteringPage(element)) && !isShellDisabled(element) && @@ -96,11 +100,7 @@ export const createVerticalBarsWebProjection = (doc: Document, options: NativeUI const candidates = Array.from(doc.querySelectorAll(`ion-back-button:not(.${backProjectionClass})`)).filter( isEligibleBack, ); - return candidates.sort((a, b) => { - const order = pageOrder(b) - pageOrder(a); - if (order) return order; - return Number(!!b.closest('ion-header')) - Number(!!a.closest('ion-header')); - })[0]; + return preferredVerticalBarsBack(candidates, doc); }; const findToolbarGroups = () => { const candidates = Array.from(doc.querySelectorAll(`ion-buttons.ios:not(.${toolbarProjectionClass})`)).flatMap( diff --git a/src/styles/vertical-bars.scss b/src/styles/vertical-bars.scss index 51bef3ce..c167b695 100644 --- a/src/styles/vertical-bars.scss +++ b/src/styles/vertical-bars.scss @@ -204,6 +204,8 @@ html.ios-theme-native-ui-shell-prehide ion-menu *, ion-modal *, ion-popover *, + ion-header[collapse] *, + ion-footer[collapse] *, ion-buttons.ios-theme-horizontal-only *, .ios-theme-shell-disabled *, .ionic-theme-disabled *, @@ -235,7 +237,7 @@ html.ios-theme-native-ui-shell-prehide ) { display: none; } - > ion-back-button.ios.ios-theme-vertical-bars-back-button-projection { + > ion-back-button.ios-theme-vertical-bars-back-button-projection { position: fixed; z-index: 1001; top: var(--ios-theme-vertical-bars-toolbar-top, 220px); From a93c8be8c3d5acc8b9249462d9b85447b639713a Mon Sep 17 00:00:00 2001 From: rdlabo Date: Thu, 24 Sep 2026 20:27:13 +0900 Subject: [PATCH 38/50] feat(vertical-bars): support Ionic md mode --- demo/e2e/adaptive-tab-bar.spec.ts | 1 + demo/e2e/vertical-bars-standalone.spec.ts | 82 +++++++++++---------- demo/src/app/app.config.ts | 2 +- demo/src/app/docs/docs-content.generated.ts | 2 +- demo/src/global.scss | 1 + docs/native-ui-shell.md | 4 +- docs/special-markup.md | 6 +- src/native/components/index.ts | 6 +- src/native/components/ion-buttons.ts | 4 +- src/native/components/ion-menu-button.ts | 2 +- src/native/shared/dom.ts | 9 +-- src/native/vertical-bars-web.ts | 5 +- src/styles/vertical-bars.scss | 44 ++++++----- 13 files changed, 85 insertions(+), 83 deletions(-) diff --git a/demo/e2e/adaptive-tab-bar.spec.ts b/demo/e2e/adaptive-tab-bar.spec.ts index a53436de..7d3a0d69 100644 --- a/demo/e2e/adaptive-tab-bar.spec.ts +++ b/demo/e2e/adaptive-tab-bar.spec.ts @@ -13,6 +13,7 @@ test('verticalBars mode moves tabs into the right rail and reveals labels while const bar = page.locator('#tab-bar-bottom'); const buttons = bar.locator('ion-tab-button'); + await expect.poll(async () => (await bar.boundingBox())?.x).toBeGreaterThan(620); const barBox = (await bar.boundingBox())!; expect(barBox.x).toBeGreaterThan(620); expect(barBox.width).toBeCloseTo(50, 0); diff --git a/demo/e2e/vertical-bars-standalone.spec.ts b/demo/e2e/vertical-bars-standalone.spec.ts index c921d49c..6ead1c63 100644 --- a/demo/e2e/vertical-bars-standalone.spec.ts +++ b/demo/e2e/vertical-bars-standalone.spec.ts @@ -4,46 +4,48 @@ import { compile } from 'sass'; const verticalBars = compile(resolve(__dirname, '../../src/styles/vertical-bars.scss')).css; -test('Vertical Control Area works with Ionic CSS and no iOS 27 theme', async ({ page }) => { - await page.setViewportSize({ width: 700, height: 900 }); - await page.goto('/main/index/native-ui-shell?verticalBarsOnly=1'); - await page.evaluate(() => { - for (const sheet of Array.from(document.styleSheets)) { - for (let index = sheet.cssRules.length - 1; index >= 0; index--) { - const rule = sheet.cssRules[index]; - if (rule instanceof CSSSupportsRule && rule.cssText.includes('--ios27-color-scheme')) sheet.deleteRule(index); +for (const mode of ['ios', 'md'] as const) + test(`Vertical Control Area works in ${mode} mode with Ionic CSS and no iOS 27 theme`, async ({ page }) => { + await page.setViewportSize({ width: 700, height: 900 }); + await page.goto(`/main/index/native-ui-shell?verticalBarsOnly=1&ionicMode=${mode}`); + await expect(page.locator('ion-app')).toHaveClass(new RegExp(`\\b${mode}\\b`)); + await page.evaluate(() => { + for (const sheet of Array.from(document.styleSheets)) { + for (let index = sheet.cssRules.length - 1; index >= 0; index--) { + const rule = sheet.cssRules[index]; + if (rule instanceof CSSSupportsRule && rule.cssText.includes('--ios27-color-scheme')) sheet.deleteRule(index); + } } - } - }); - await page.addStyleTag({ content: verticalBars }); - expect(await page.evaluate(() => getComputedStyle(document.documentElement).getPropertyValue('--ios27-color-scheme').trim())).toBe(''); - const backSource = page.locator('app-native-ui-shell ion-back-button'); - await backSource.evaluate((element: HTMLIonBackButtonElement) => { - element.text = 'Return'; - element.closest('app-native-ui-shell')?.querySelector('ion-content')?.prepend(element); - }); - await page.locator('ion-app').evaluate((element) => element.classList.add('ios-theme-vertical-bars')); + }); + await page.addStyleTag({ content: verticalBars }); + expect(await page.evaluate(() => getComputedStyle(document.documentElement).getPropertyValue('--ios27-color-scheme').trim())).toBe(''); + const backSource = page.locator('app-native-ui-shell ion-back-button'); + await backSource.evaluate((element: HTMLIonBackButtonElement) => { + element.text = 'Return'; + element.closest('app-native-ui-shell')?.querySelector('ion-content')?.prepend(element); + }); + await page.locator('ion-app').evaluate((element) => element.classList.add('ios-theme-vertical-bars')); - const tabBar = page.locator('#tab-bar-bottom'); - await expect.poll(async () => (await tabBar.boundingBox())?.x).toBeGreaterThan(620); - const toolbar = page.locator('app-native-ui-shell ion-toolbar').first(); - await expect - .poll(() => toolbar.evaluate((element) => getComputedStyle(element).getPropertyValue('--ion-safe-area-right').trim())) - .toBe('0px'); - const source = page.locator('app-native-ui-shell ion-button[type="submit"]'); - const projection = page.locator('ion-app > ion-button.ios-theme-vertical-bars-toolbar-projection[aria-label="Save"]'); - await expect(source).toBeHidden(); - await expect(projection).toBeVisible(); - await projection.click(); - await expect(page.locator('[data-save-count]')).toHaveText('1'); + const tabBar = page.locator('#tab-bar-bottom'); + await expect.poll(async () => (await tabBar.boundingBox())?.x).toBeGreaterThan(620); + const toolbar = page.locator('app-native-ui-shell ion-toolbar').first(); + await expect + .poll(() => toolbar.evaluate((element) => getComputedStyle(element).getPropertyValue('--ion-safe-area-right').trim())) + .toBe('0px'); + const source = page.locator('app-native-ui-shell ion-button[type="submit"]'); + const projection = page.locator('ion-app > ion-button.ios-theme-vertical-bars-toolbar-projection[aria-label="Save"]'); + await expect(source).toBeHidden(); + await expect(projection).toBeVisible(); + await projection.click(); + await expect(page.locator('[data-save-count]')).toHaveText('1'); - const back = page.locator('ion-app > ion-back-button.ios-theme-vertical-bars-back-button-projection'); - await expect(back).toBeVisible(); - await expect(backSource).toBeHidden(); - expect(await back.evaluate((element: HTMLIonBackButtonElement) => element.text)).toBe(''); - await backSource.evaluate((element) => element.closest('ion-app')?.append(element)); - await expect(page.locator('ion-app > ion-back-button:not(.ios-theme-vertical-bars-back-button-projection)')).toBeHidden(); - await expect(back).toBeVisible(); - await back.click(); - await expect(page).toHaveURL(/\/main\/index$/); -}); + const back = page.locator('ion-app > ion-back-button.ios-theme-vertical-bars-back-button-projection'); + await expect(back).toBeVisible(); + await expect(backSource).toBeHidden(); + expect(await back.evaluate((element: HTMLIonBackButtonElement) => element.text)).toBe(''); + await backSource.evaluate((element) => element.closest('ion-app')?.append(element)); + await expect(page.locator('ion-app > ion-back-button:not(.ios-theme-vertical-bars-back-button-projection)')).toBeHidden(); + await expect(back).toBeVisible(); + await back.click(); + await expect(page).toHaveURL(/\/main\/index$/); + }); diff --git a/demo/src/app/app.config.ts b/demo/src/app/app.config.ts index de474a42..4d86197f 100644 --- a/demo/src/app/app.config.ts +++ b/demo/src/app/app.config.ts @@ -27,7 +27,7 @@ export const createAppConfig = (animations: IonicAnimationOptions = {}): Applica provideRouter(routes, withComponentInputBinding()), provideIonicAngular({ useSetInputAPI: true, - mode: 'ios', + mode: typeof window !== 'undefined' && new URLSearchParams(window.location.search).get('ionicMode') === 'md' ? 'md' : 'ios', backButtonText: '', animated: !isE2ETesting, ...animations, diff --git a/demo/src/app/docs/docs-content.generated.ts b/demo/src/app/docs/docs-content.generated.ts index 9772f1c7..6e4d74d6 100644 --- a/demo/src/app/docs/docs-content.generated.ts +++ b/demo/src/app/docs/docs-content.generated.ts @@ -1,3 +1,3 @@ // Generated from docs/special-markup.md. Do not edit directly. export const docsContentHtml = - '

      Special markup and classes

      \n

      Most Ionic markup works without changes. The combinations below are explicit opt-ins provided by the theme.

      \n

      Primary submit buttons

      \n

      Solid submit buttons use the Ionic color's contrast value for their foreground. Their directional edge treatment follows the iOS 27 prominent-button appearance and does not require an additional brightness color.

      \n
      <ion-button type="submit" color="primary">Submit</ion-button>\n<ion-button class="button-submit" fill="solid" color="primary">Continue</ion-button>
      \n\n
      \n
      Preview
      \nSubmit\nContinue\n
      \n\n

      Use .button-submit when the button needs the same treatment but cannot use type="submit".

      \n

      Preferred overlay actions

      \n

      For iOS alerts and action sheets, set role: 'preferred' on a button to give it a filled --ion-color-primary background and --ion-color-primary-contrast text and icons. While pressed, the background uses --ion-color-primary-shade. This is a theme convention using Ionic's custom button roles; it does not automatically select or invoke the action. Dismissal reports the role as preferred.

      \n
      buttons: [\n  { text: \'Cancel\', role: \'cancel\' },\n  { text: \'Continue\', role: \'preferred\' },\n];
      \n\n

      Buttons with no role or default keep the normal text color. cancel retains Ionic's cancellation behavior, selected remains a selection state, and destructive uses --ios-theme-destructive-color. An existing confirm role is not treated as preferred. Use preferred for the recommended action, not simply any action that confirms a choice.

      \n

      Floating iPad sheets

      \n

      Set expandToScroll: false on a sheet modal to use floating lower corners and a 20px bottom gap on iPad. Ionic then sizes the visible page at each breakpoint, so the theme can style it with CSS alone. Content scrolls within the current breakpoint; dragging the handle still resizes the sheet. With the default expandToScroll: true, the sheet keeps Ionic's bottom-attached layout and scroll-to-expand behavior.

      \n

      Tab bar position

      \n

      Add one of tab-bar-position-start, tab-bar-position-center, or tab-bar-position-end to an iOS ion-tab-bar to position the whole bar within its safe area. These classes work with both slot="top" and slot="bottom" and preserve the bar's width and press animation. Start and end follow the text direction (reversed in RTL). Without a class, the existing placement is unchanged.

      \n
      <ion-tab-bar slot="bottom" class="tab-bar-position-center">\n  <ion-tab-button tab="home">Home</ion-tab-button>\n  <ion-tab-button tab="settings">Settings</ion-tab-button>\n</ion-tab-bar>
      \n\n

      These classes do not reposition a separate ion-fab; leave room for it when choosing the bar's position.

      \n

      Support iPhone Duo

      \n

      Load the separate stylesheet and start its projection runtime. The iOS 27 theme stylesheets are not required:

      \n
      @use \'@rdlabo/ionic-theme-ios27/dist/css/vertical-bars.css\';
      \n\n
      import { enableVerticalControlArea } from \'@rdlabo/ionic-theme-ios27/vertical-bars\';\n\nvoid enableVerticalControlArea();
      \n\n

      Add .ios-theme-vertical-bars to the active ion-app. Use body only when the application has no ion-app root:

      \n
      <ion-app class="ios-theme-vertical-bars">...</ion-app>
      \n\n

      The class reserves 80px on the physical right by default, matching the system navigation region measured in the iPhone Duo Simulator. The physical left defaults to 0px. Override --ios-theme-vertical-bars-safe-area-left or --ios-theme-vertical-bars-safe-area-right when simulating a different layout.

      \n

      This keeps routers and component backgrounds full-viewport. ion-content moves its scroll foreground, ion-toolbar moves its container foreground, and ion-fab adjusts only when it is placed beside the system UI. The corresponding Ionic safe-area variable is reset inside those foreground components so descendants do not add the inset again.

      \n

      ion-menu, ion-modal, and ion-popover are handled as separate surfaces: their internal foreground components do not receive the main-page conversion and retain Ionic's standard safe-area handling. A menu presented beside the system UI keeps Ionic's full-viewport animation host and offsets only its visible container by the corresponding inset; a menu from the opposite side is unchanged. Left and right remain physical coordinates in RTL, while Ionic's side="start" and side="end" values remain logical.

      \n

      These values are web-layout simulation inputs. They are independent from Ionic's normal iPhone safe-area variables and do not change ordinary iPhone layouts unless the opt-in class is present.

      \n

      When the app contains ion-tabs, this mode moves its iOS tab bar into the physical right-side reserved region and aligns it above the bottom safe area. The Ionic slot value does not select a different position. Without Native UI Shell, the stable Web rail is icon-only, matching a four-tab SwiftUI TabView on iPhone Duo. While the user presses and drags across that rail, every icon-and-label tab reveals its label so the pending destination stays identifiable. The Web tab bar receives pointer input in the simulated system region. Use ion-menu when navigation should become a sidebar; this mode does not convert tabs into a menu.

      \n

      On supported iOS versions, enableVerticalControlArea() hands eligible tabs, back navigation, menu buttons, and fixed-toolbar actions to a native SwiftUI TabView and toolbar. Back navigation can come from outside a fixed toolbar and does not require an ios mode class; the application chooses where to enable Vertical Bars and which Ionic component mode to use. The other toolbar actions still require a fixed toolbar. It does not project ordinary Native UI Shell controls outside the vertical area. If the app already uses the full enableNativeUIShell(), keep that single runtime instead of starting both. The Ionic controls remain the sources of labels, icons, selected/disabled state, form submission, routing, and click handlers while SwiftUI owns adaptive placement and interaction. Fixed-toolbar actions need an icon or SVG, no direct text node, and standard fill="default" or fill="clear" to be eligible for the side rail. Text-only actions stay in the original Web toolbar. Add .ios-theme-horizontal-only to an ion-buttons group or individual ion-button to keep it in the Web toolbar. Placement is chosen when a routed page enters; changing an existing button's content does not move it between the toolbar and rail until the page leaves and re-enters. Menus, modals, and popovers retain their own toolbar layout.

      \n

      On Web, Android, older iOS, or when native projection is unavailable during setup, the Web tab bar and fixed-toolbar clones remain the fallback. Those projections also work when no ion-tabs exists; text-only actions stay in the original Web toolbar. Disabling the mode or leaving the page removes the native ownership or Web clones and restores their sources. Override --ios-theme-vertical-bars-toolbar-top when the simulated system controls use a different vertical layout.

      \n

      Two-line inset list items

      \n

      Place an unslotted ion-label immediately alongside an unslotted ion-note to render a two-line item. When using the iOS-style inset-list background, wrap the items in ion-item-group; keep ion-list-header outside the group.

      \n
      <ion-list inset="true">\n  <ion-list-header>\n    <ion-label>Connections</ion-label>\n  </ion-list-header>\n  <ion-item-group>\n    <ion-item>\n      <ion-label>Network &amp; internet</ion-label>\n      <ion-note>Mobile, Wi-Fi, hotspot</ion-note>\n    </ion-item>\n  </ion-item-group>\n</ion-list>
      \n\n
      \n
      Preview
      \n\n \n Connections\n \n \n \n Network & internet\n Mobile, Wi-Fi, hotspot\n \n \n\n
      \n\n

      Use slot="end" on ion-note when you want the standard trailing-note layout instead.

      \n

      Inset-list section headers

      \n

      Add .item-group-header to an ion-item-group to create the centered icon, title, and description used at the top of the component demo pages.

      \n

      This is an introductory group. Place regular list items in a separate ion-item-group that follows it.

      \n
      <ion-list inset="true">\n  <ion-item-group class="item-group-header">\n    <ion-item>\n      <ion-label>\n        <ion-icon name="list" style="background: var(--ion-color-primary)"></ion-icon>\n        <h2>Lists</h2>\n        <ion-text>Inset-list examples</ion-text>\n      </ion-label>\n    </ion-item>\n  </ion-item-group>\n  <ion-item-group>\n    <ion-item><ion-label>First item</ion-label></ion-item>\n  </ion-item-group>\n</ion-list>
      \n\n
      \n
      Preview
      \n\n \n \n \n \n

      Lists

      \n Inset-list examples\n
      \n
      \n
      \n \n First item\n \n
      \n
      \n\n

      Full-width segments

      \n

      Add .segment-style-glass to give a segment the same glass surface and selected indicator treatment as the tab bar. The class preserves the segment's existing dimensions and text colors, supports scrollable segments, and respects Ionic's public --background property.

      \n
      <ion-segment class="segment-style-glass" value="available">\n  <ion-segment-button value="available">Available</ion-segment-button>\n  <ion-segment-button value="away">Away</ion-segment-button>\n</ion-segment>
      \n\n

      For colored segments, use Ionic's color property (for example, color="primary" or color="secondary"). Ionic uses the palette's base color for the softly tinted track while keeping the selected surface and labels neutral. A surrounding colored toolbar only supplies colors when the segment has no color of its own. The optional moving glass inherits the selected surface color, and custom Ionic palettes work without additional registration.

      \n

      Add .segment-expand when segment buttons should divide the available width evenly. The class also changes the Liquid Glass effect sizing when registerSegmentEffect is used.

      \n

      Segments use a 32px minimum height in content and a 48px minimum height inside ion-toolbar. .segment-expand keeps the compact 32px layout in a toolbar. Compact segments retain Ionic's flat background and indicator colors; only the regular toolbar variant has a glass container and scales its outer container while pressed. Content and expanded segments keep their outer bounds. The optional moving glass lens is independent of the container's background.

      \n
      <ion-segment class="segment-expand" value="new">\n  <ion-segment-button value="new"><ion-label>New</ion-label></ion-segment-button>\n  <ion-segment-button value="replied"><ion-label>Replied</ion-label></ion-segment-button>\n</ion-segment>
      \n\n
      \n
      Preview
      \n\n New\n Replied\n\n
      \n\n

      Classic search bar in a condense header

      \n

      The theme gives iOS search bars the iOS 27 appearance by default. Add .searchbar-classic to the search field shown beneath a large title in an ion-header with collapse="condense". It uses the conventional filled iOS appearance and collapses with the large title instead of remaining in the fixed header.

      \n

      Place it in a toolbar with a color, such as color="light"; the classic background is derived from that color's contrast value.

      \n

      The example uses Ionic's standard collapsible large-title structure. Scroll the preview to collapse the large title and reveal the fixed header.

      \n
      <div class="ion-page">\n  <ion-header translucent="true">\n    <ion-toolbar color="light">\n      <ion-title>Search</ion-title>\n    </ion-toolbar>\n  </ion-header>\n  <ion-content color="light" fullscreen="true">\n    <ion-header collapse="condense">\n      <ion-toolbar color="light">\n        <ion-title size="large">Search</ion-title>\n      </ion-toolbar>\n      <ion-toolbar color="light">\n        <ion-searchbar class="searchbar-classic" placeholder="Filter results"></ion-searchbar>\n      </ion-toolbar>\n    </ion-header>\n    <ion-list inset="true">\n      <ion-item-group>\n        <ion-item><ion-label>Recent item 1</ion-label></ion-item>\n        <ion-item><ion-label>Recent item 2</ion-label></ion-item>\n        <ion-item><ion-label>Recent item 3</ion-label></ion-item>\n        <ion-item><ion-label>Recent item 4</ion-label></ion-item>\n        <ion-item><ion-label>Recent item 5</ion-label></ion-item>\n        <ion-item><ion-label>Recent item 6</ion-label></ion-item>\n        <ion-item><ion-label>Recent item 7</ion-label></ion-item>\n        <ion-item><ion-label>Recent item 8</ion-label></ion-item>\n        <ion-item><ion-label>Recent item 9</ion-label></ion-item>\n        <ion-item><ion-label>Recent item 10</ion-label></ion-item>\n      </ion-item-group>\n    </ion-list>\n  </ion-content>\n</div>
      \n\n
      \n
      Preview
      \n
      \n \n \n Search\n \n \n \n \n \n Search\n \n \n \n \n \n \n \n Recent item 1\n Recent item 2\n Recent item 3\n Recent item 4\n Recent item 5\n Recent item 6\n Recent item 7\n Recent item 8\n Recent item 9\n Recent item 10\n \n \n \n
      \n
      \n\n

      The .ion-page wrapper makes this embedded preview behave like a complete routed page. An application using ion-router-outlet normally receives that page container automatically. The inset list and its items only provide enough content to demonstrate scrolling; they are not required by .searchbar-classic.

      \n

      Search-bar toolbars

      \n

      Add .toolbar-searchbar when an ion-toolbar combines a search bar with start or end buttons. The class centers the slotted controls and adjusts the spacing around the search field.

      \n
      <ion-toolbar class="toolbar-searchbar">\n  <ion-buttons slot="start">\n    <ion-button>Cancel</ion-button>\n  </ion-buttons>\n  <ion-searchbar></ion-searchbar>\n</ion-toolbar>
      \n\n
      \n
      Preview
      \n\n \n Cancel\n \n \n\n
      \n\n

      Opting out

      \n

      Add .ios-theme-disabled to an individual Ionic component when it must retain Ionic's standard iOS styling.

      \n

      .ios26-disabled is deprecated but remains supported as an alias with the same behavior. Use .ios-theme-disabled for new code.

      \n
      <ion-button>iOS 27 theme</ion-button> <ion-button class="ios-theme-disabled">Standard Ionic button</ion-button>
      \n\n
      \n
      Preview
      \niOS 27 theme Standard Ionic button\n
      \n\n

      For the background model behind inset lists, see Using ion-item-group.

      \n'; + '

      Special markup and classes

      \n

      Most Ionic markup works without changes. The combinations below are explicit opt-ins provided by the theme.

      \n

      Primary submit buttons

      \n

      Solid submit buttons use the Ionic color's contrast value for their foreground. Their directional edge treatment follows the iOS 27 prominent-button appearance and does not require an additional brightness color.

      \n
      <ion-button type="submit" color="primary">Submit</ion-button>\n<ion-button class="button-submit" fill="solid" color="primary">Continue</ion-button>
      \n\n
      \n
      Preview
      \nSubmit\nContinue\n
      \n\n

      Use .button-submit when the button needs the same treatment but cannot use type="submit".

      \n

      Preferred overlay actions

      \n

      For iOS alerts and action sheets, set role: 'preferred' on a button to give it a filled --ion-color-primary background and --ion-color-primary-contrast text and icons. While pressed, the background uses --ion-color-primary-shade. This is a theme convention using Ionic's custom button roles; it does not automatically select or invoke the action. Dismissal reports the role as preferred.

      \n
      buttons: [\n  { text: \'Cancel\', role: \'cancel\' },\n  { text: \'Continue\', role: \'preferred\' },\n];
      \n\n

      Buttons with no role or default keep the normal text color. cancel retains Ionic's cancellation behavior, selected remains a selection state, and destructive uses --ios-theme-destructive-color. An existing confirm role is not treated as preferred. Use preferred for the recommended action, not simply any action that confirms a choice.

      \n

      Floating iPad sheets

      \n

      Set expandToScroll: false on a sheet modal to use floating lower corners and a 20px bottom gap on iPad. Ionic then sizes the visible page at each breakpoint, so the theme can style it with CSS alone. Content scrolls within the current breakpoint; dragging the handle still resizes the sheet. With the default expandToScroll: true, the sheet keeps Ionic's bottom-attached layout and scroll-to-expand behavior.

      \n

      Tab bar position

      \n

      Add one of tab-bar-position-start, tab-bar-position-center, or tab-bar-position-end to an iOS ion-tab-bar to position the whole bar within its safe area. These classes work with both slot="top" and slot="bottom" and preserve the bar's width and press animation. Start and end follow the text direction (reversed in RTL). Without a class, the existing placement is unchanged.

      \n
      <ion-tab-bar slot="bottom" class="tab-bar-position-center">\n  <ion-tab-button tab="home">Home</ion-tab-button>\n  <ion-tab-button tab="settings">Settings</ion-tab-button>\n</ion-tab-bar>
      \n\n

      These classes do not reposition a separate ion-fab; leave room for it when choosing the bar's position.

      \n

      Support iPhone Duo

      \n

      Load the separate stylesheet and start its projection runtime. The iOS 27 theme stylesheets are not required:

      \n
      @use \'@rdlabo/ionic-theme-ios27/dist/css/vertical-bars.css\';
      \n\n
      import { enableVerticalControlArea } from \'@rdlabo/ionic-theme-ios27/vertical-bars\';\n\nvoid enableVerticalControlArea();
      \n\n

      Add .ios-theme-vertical-bars to the active ion-app. Use body only when the application has no ion-app root:

      \n
      <ion-app class="ios-theme-vertical-bars">...</ion-app>
      \n\n

      For example, an app configured with Ionic mode: 'md' can use this same ion-app class. No component needs to switch to mode="ios" for Vertical Bars.

      \n

      The class reserves 80px on the physical right by default, matching the system navigation region measured in the iPhone Duo Simulator. The physical left defaults to 0px. Override --ios-theme-vertical-bars-safe-area-left or --ios-theme-vertical-bars-safe-area-right when simulating a different layout.

      \n

      This keeps routers and component backgrounds full-viewport. ion-content moves its scroll foreground, ion-toolbar moves its container foreground, and ion-fab adjusts only when it is placed beside the system UI. The corresponding Ionic safe-area variable is reset inside those foreground components so descendants do not add the inset again.

      \n

      ion-menu, ion-modal, and ion-popover are handled as separate surfaces: their internal foreground components do not receive the main-page conversion and retain Ionic's standard safe-area handling. A menu presented beside the system UI keeps Ionic's full-viewport animation host and offsets only its visible container by the corresponding inset; a menu from the opposite side is unchanged. Left and right remain physical coordinates in RTL, while Ionic's side="start" and side="end" values remain logical.

      \n

      These values are web-layout simulation inputs. They are independent from Ionic's normal iPhone safe-area variables and do not change ordinary iPhone layouts unless the opt-in class is present.

      \n

      When the app contains ion-tabs, this mode moves its tab bar into the physical right-side reserved region and aligns it above the bottom safe area. The Ionic slot value does not select a different position. Without Native UI Shell, the stable Web rail is icon-only, matching a four-tab SwiftUI TabView on iPhone Duo. While the user presses and drags across that rail, every icon-and-label tab reveals its label so the pending destination stays identifiable. The Web tab bar receives pointer input in the simulated system region. Use ion-menu when navigation should become a sidebar; this mode does not convert tabs into a menu.

      \n

      On supported iOS versions, enableVerticalControlArea() hands eligible tabs, back navigation, menu buttons, and fixed-toolbar actions to a native SwiftUI TabView and toolbar. Vertical Bars works with either Ionic ios or md mode; the application chooses both its component mode and where to enable Vertical Bars. Back navigation can come from outside a fixed toolbar; other toolbar actions still require a fixed toolbar. It does not project ordinary Native UI Shell controls outside the vertical area. If the app already uses the full enableNativeUIShell(), keep that single runtime instead of starting both. The Ionic controls remain the sources of labels, icons, selected/disabled state, form submission, routing, and click handlers while SwiftUI owns adaptive placement and interaction. Fixed-toolbar actions need an icon or SVG, no direct text node, and standard fill="default" or fill="clear" to be eligible for the side rail. Text-only actions stay in the original Web toolbar. Add .ios-theme-horizontal-only to an ion-buttons group or individual ion-button to keep it in the Web toolbar. Placement is chosen when a routed page enters; changing an existing button's content does not move it between the toolbar and rail until the page leaves and re-enters. Menus, modals, and popovers retain their own toolbar layout.

      \n

      On Web, Android, older iOS, or when native projection is unavailable during setup, the Web tab bar and fixed-toolbar clones remain the fallback. Those projections also work when no ion-tabs exists; text-only actions stay in the original Web toolbar. Disabling the mode or leaving the page removes the native ownership or Web clones and restores their sources. Override --ios-theme-vertical-bars-toolbar-top when the simulated system controls use a different vertical layout.

      \n

      Two-line inset list items

      \n

      Place an unslotted ion-label immediately alongside an unslotted ion-note to render a two-line item. When using the iOS-style inset-list background, wrap the items in ion-item-group; keep ion-list-header outside the group.

      \n
      <ion-list inset="true">\n  <ion-list-header>\n    <ion-label>Connections</ion-label>\n  </ion-list-header>\n  <ion-item-group>\n    <ion-item>\n      <ion-label>Network &amp; internet</ion-label>\n      <ion-note>Mobile, Wi-Fi, hotspot</ion-note>\n    </ion-item>\n  </ion-item-group>\n</ion-list>
      \n\n
      \n
      Preview
      \n\n \n Connections\n \n \n \n Network & internet\n Mobile, Wi-Fi, hotspot\n \n \n\n
      \n\n

      Use slot="end" on ion-note when you want the standard trailing-note layout instead.

      \n

      Inset-list section headers

      \n

      Add .item-group-header to an ion-item-group to create the centered icon, title, and description used at the top of the component demo pages.

      \n

      This is an introductory group. Place regular list items in a separate ion-item-group that follows it.

      \n
      <ion-list inset="true">\n  <ion-item-group class="item-group-header">\n    <ion-item>\n      <ion-label>\n        <ion-icon name="list" style="background: var(--ion-color-primary)"></ion-icon>\n        <h2>Lists</h2>\n        <ion-text>Inset-list examples</ion-text>\n      </ion-label>\n    </ion-item>\n  </ion-item-group>\n  <ion-item-group>\n    <ion-item><ion-label>First item</ion-label></ion-item>\n  </ion-item-group>\n</ion-list>
      \n\n
      \n
      Preview
      \n\n \n \n \n \n

      Lists

      \n Inset-list examples\n
      \n
      \n
      \n \n First item\n \n
      \n
      \n\n

      Full-width segments

      \n

      Add .segment-style-glass to give a segment the same glass surface and selected indicator treatment as the tab bar. The class preserves the segment's existing dimensions and text colors, supports scrollable segments, and respects Ionic's public --background property.

      \n
      <ion-segment class="segment-style-glass" value="available">\n  <ion-segment-button value="available">Available</ion-segment-button>\n  <ion-segment-button value="away">Away</ion-segment-button>\n</ion-segment>
      \n\n

      For colored segments, use Ionic's color property (for example, color="primary" or color="secondary"). Ionic uses the palette's base color for the softly tinted track while keeping the selected surface and labels neutral. A surrounding colored toolbar only supplies colors when the segment has no color of its own. The optional moving glass inherits the selected surface color, and custom Ionic palettes work without additional registration.

      \n

      Add .segment-expand when segment buttons should divide the available width evenly. The class also changes the Liquid Glass effect sizing when registerSegmentEffect is used.

      \n

      Segments use a 32px minimum height in content and a 48px minimum height inside ion-toolbar. .segment-expand keeps the compact 32px layout in a toolbar. Compact segments retain Ionic's flat background and indicator colors; only the regular toolbar variant has a glass container and scales its outer container while pressed. Content and expanded segments keep their outer bounds. The optional moving glass lens is independent of the container's background.

      \n
      <ion-segment class="segment-expand" value="new">\n  <ion-segment-button value="new"><ion-label>New</ion-label></ion-segment-button>\n  <ion-segment-button value="replied"><ion-label>Replied</ion-label></ion-segment-button>\n</ion-segment>
      \n\n
      \n
      Preview
      \n\n New\n Replied\n\n
      \n\n

      Classic search bar in a condense header

      \n

      The theme gives iOS search bars the iOS 27 appearance by default. Add .searchbar-classic to the search field shown beneath a large title in an ion-header with collapse="condense". It uses the conventional filled iOS appearance and collapses with the large title instead of remaining in the fixed header.

      \n

      Place it in a toolbar with a color, such as color="light"; the classic background is derived from that color's contrast value.

      \n

      The example uses Ionic's standard collapsible large-title structure. Scroll the preview to collapse the large title and reveal the fixed header.

      \n
      <div class="ion-page">\n  <ion-header translucent="true">\n    <ion-toolbar color="light">\n      <ion-title>Search</ion-title>\n    </ion-toolbar>\n  </ion-header>\n  <ion-content color="light" fullscreen="true">\n    <ion-header collapse="condense">\n      <ion-toolbar color="light">\n        <ion-title size="large">Search</ion-title>\n      </ion-toolbar>\n      <ion-toolbar color="light">\n        <ion-searchbar class="searchbar-classic" placeholder="Filter results"></ion-searchbar>\n      </ion-toolbar>\n    </ion-header>\n    <ion-list inset="true">\n      <ion-item-group>\n        <ion-item><ion-label>Recent item 1</ion-label></ion-item>\n        <ion-item><ion-label>Recent item 2</ion-label></ion-item>\n        <ion-item><ion-label>Recent item 3</ion-label></ion-item>\n        <ion-item><ion-label>Recent item 4</ion-label></ion-item>\n        <ion-item><ion-label>Recent item 5</ion-label></ion-item>\n        <ion-item><ion-label>Recent item 6</ion-label></ion-item>\n        <ion-item><ion-label>Recent item 7</ion-label></ion-item>\n        <ion-item><ion-label>Recent item 8</ion-label></ion-item>\n        <ion-item><ion-label>Recent item 9</ion-label></ion-item>\n        <ion-item><ion-label>Recent item 10</ion-label></ion-item>\n      </ion-item-group>\n    </ion-list>\n  </ion-content>\n</div>
      \n\n
      \n
      Preview
      \n
      \n \n \n Search\n \n \n \n \n \n Search\n \n \n \n \n \n \n \n Recent item 1\n Recent item 2\n Recent item 3\n Recent item 4\n Recent item 5\n Recent item 6\n Recent item 7\n Recent item 8\n Recent item 9\n Recent item 10\n \n \n \n
      \n
      \n\n

      The .ion-page wrapper makes this embedded preview behave like a complete routed page. An application using ion-router-outlet normally receives that page container automatically. The inset list and its items only provide enough content to demonstrate scrolling; they are not required by .searchbar-classic.

      \n

      Search-bar toolbars

      \n

      Add .toolbar-searchbar when an ion-toolbar combines a search bar with start or end buttons. The class centers the slotted controls and adjusts the spacing around the search field.

      \n
      <ion-toolbar class="toolbar-searchbar">\n  <ion-buttons slot="start">\n    <ion-button>Cancel</ion-button>\n  </ion-buttons>\n  <ion-searchbar></ion-searchbar>\n</ion-toolbar>
      \n\n
      \n
      Preview
      \n\n \n Cancel\n \n \n\n
      \n\n

      Opting out

      \n

      Add .ios-theme-disabled to an individual Ionic component when it must retain Ionic's standard iOS styling.

      \n

      .ios26-disabled is deprecated but remains supported as an alias with the same behavior. Use .ios-theme-disabled for new code.

      \n
      <ion-button>iOS 27 theme</ion-button> <ion-button class="ios-theme-disabled">Standard Ionic button</ion-button>
      \n\n
      \n
      Preview
      \niOS 27 theme Standard Ionic button\n
      \n\n

      For the background model behind inset lists, see Using ion-item-group.

      \n'; diff --git a/demo/src/global.scss b/demo/src/global.scss index 8dac0e64..fba628bb 100644 --- a/demo/src/global.scss +++ b/demo/src/global.scss @@ -37,6 +37,7 @@ @use '@ionic/angular/css/palettes/dark.class.css'; @use 'sass:meta'; +@use '../../src/styles/vertical-bars'; // Adaptive iOS themes: capability checks, not OS version. See README.md. // `overflow-anchor: auto` selects the newer theme; `text-wrap: pretty` without it keeps iOS 26. diff --git a/docs/native-ui-shell.md b/docs/native-ui-shell.md index 0af928c3..f434cf35 100644 --- a/docs/native-ui-shell.md +++ b/docs/native-ui-shell.md @@ -50,7 +50,7 @@ Native appearance follows the applied class, system or always-dark theme CSS. Sy | `ion-segment` | Fixed toolbar, non-scrollable, text **or** one icon per item | `UISegmentedControl` | | `ion-fab` / `ion-fab-button` / `ion-fab-list` | Glass FAB in an `ion-content` fixed slot; one main button and optional directional lists | Persistent glass `UIButton` per button; one FAB synchronization group | -For the ordinary Native UI Shell, only iOS-mode components with the theme variables installed are eligible. Vertical Bars back navigation is the exception described below. `ionic-theme-disabled`, `ios-theme-disabled`, and the legacy `ios26-disabled` on an element or ancestor always exclude it. A disabled theme on one tab/segment item keeps its whole group on the Web. +For the ordinary Native UI Shell, only iOS-mode components with the theme variables installed are eligible. Explicitly enabled Vertical Bars is mode-independent as described below. `ionic-theme-disabled`, `ios-theme-disabled`, and the legacy `ios26-disabled` on an element or ancestor always exclude it. A disabled theme on one tab/segment item keeps its whole group on the Web. Use `ios-theme-shell-disabled` to disable only the iOS Native UI Shell while keeping the Web theme. It excludes the element and all its descendants. Adding or removing the class at runtime automatically restores Web rendering or re-evaluates native eligibility. @@ -62,7 +62,7 @@ Use `ios-theme-shell-disabled` to disable only the iOS Native UI Shell while kee If a child inside a shared native surface opts out, the entire surface stays on the Web: this includes button groups, tab bars, segments and FAB lists. Opting out of the search FAB or any part of the search footer disables native search integration; the tab bar can still render natively if it remains eligible. -Placement is required even when the appearance is glass. In the ordinary Native UI Shell, buttons, back buttons, menu-button groups and segments need a toolbar directly inside `ion-header` or `ion-footer`, with no `ion-content` ancestor around the control. Buttons directly inside a header/footer, standalone toolbars, and toolbars or headers nested in scrolling content stay on the Web. FABs without `slot="fixed"` also stay on the Web. Moving a projected control to an excluded location restores its Web rendering; moving it back re-evaluates eligibility. When `.ios-theme-vertical-bars` is enabled, a standard `ion-back-button` can instead be projected to the Vertical Control Area from outside a fixed toolbar, including routed content or a persistent app shell. The application chooses where to enable this mode and which Ionic component mode to use; the projection does not require the button's `ios` mode class. Overlays, collapsed headers, opted-out controls and departed pages are excluded. +Placement is required even when the appearance is glass. In the ordinary Native UI Shell, buttons, back buttons, menu-button groups and segments need a toolbar directly inside `ion-header` or `ion-footer`, with no `ion-content` ancestor around the control. Buttons directly inside a header/footer, standalone toolbars, and toolbars or headers nested in scrolling content stay on the Web. FABs without `slot="fixed"` also stay on the Web. Moving a projected control to an excluded location restores its Web rendering; moving it back re-evaluates eligibility. When `.ios-theme-vertical-bars` is enabled, a standard `ion-back-button` can instead be projected to the Vertical Control Area from outside a fixed toolbar, including routed content or a persistent app shell. The application chooses where to enable this mode and which Ionic component mode to use; Vertical Bars projection does not require `ios` mode classes. Overlays, collapsed headers, opted-out controls and departed pages are excluded. Native tabs accept equal-width items with Ionic's default `layout="icon-top"`. The native bar uses a local compact horizontal and regular vertical size class to preserve the Web's stacked icon/label arrangement on iPad and in landscape. This does not change the app's size class. Label size and weight follow the Web snapshot. Other explicit Ionic layouts (`icon-start`, `icon-end`, `icon-bottom`, `icon-hide`, `label-hide`) and unequal item widths keep the entire tab bar on the Web. Start, center and end placement follow the original `ion-tab-bar`, including RTL. Directional `ion-icon` artwork preserves its rendered RTL flip. diff --git a/docs/special-markup.md b/docs/special-markup.md index dbb4a0f0..ac2502e4 100644 --- a/docs/special-markup.md +++ b/docs/special-markup.md @@ -67,6 +67,8 @@ Add `.ios-theme-vertical-bars` to the active `ion-app`. Use `body` only when the ... ``` +For example, an app configured with Ionic `mode: 'md'` can use this same `ion-app` class. No component needs to switch to `mode="ios"` for Vertical Bars. + The class reserves `80px` on the physical right by default, matching the system navigation region measured in the iPhone Duo Simulator. The physical left defaults to `0px`. Override `--ios-theme-vertical-bars-safe-area-left` or `--ios-theme-vertical-bars-safe-area-right` when simulating a different layout. This keeps routers and component backgrounds full-viewport. `ion-content` moves its scroll foreground, `ion-toolbar` moves its container foreground, and `ion-fab` adjusts only when it is placed beside the system UI. The corresponding Ionic safe-area variable is reset inside those foreground components so descendants do not add the inset again. @@ -75,9 +77,9 @@ This keeps routers and component backgrounds full-viewport. `ion-content` moves These values are web-layout simulation inputs. They are independent from Ionic's normal iPhone safe-area variables and do not change ordinary iPhone layouts unless the opt-in class is present. -When the app contains `ion-tabs`, this mode moves its iOS tab bar into the physical right-side reserved region and aligns it above the bottom safe area. The Ionic `slot` value does not select a different position. Without Native UI Shell, the stable Web rail is icon-only, matching a four-tab SwiftUI `TabView` on iPhone Duo. While the user presses and drags across that rail, every icon-and-label tab reveals its label so the pending destination stays identifiable. The Web tab bar receives pointer input in the simulated system region. Use `ion-menu` when navigation should become a sidebar; this mode does not convert tabs into a menu. +When the app contains `ion-tabs`, this mode moves its tab bar into the physical right-side reserved region and aligns it above the bottom safe area. The Ionic `slot` value does not select a different position. Without Native UI Shell, the stable Web rail is icon-only, matching a four-tab SwiftUI `TabView` on iPhone Duo. While the user presses and drags across that rail, every icon-and-label tab reveals its label so the pending destination stays identifiable. The Web tab bar receives pointer input in the simulated system region. Use `ion-menu` when navigation should become a sidebar; this mode does not convert tabs into a menu. -On supported iOS versions, `enableVerticalControlArea()` hands eligible tabs, back navigation, menu buttons, and fixed-toolbar actions to a native SwiftUI `TabView` and toolbar. Back navigation can come from outside a fixed toolbar and does not require an `ios` mode class; the application chooses where to enable Vertical Bars and which Ionic component mode to use. The other toolbar actions still require a fixed toolbar. It does not project ordinary Native UI Shell controls outside the vertical area. If the app already uses the full `enableNativeUIShell()`, keep that single runtime instead of starting both. The Ionic controls remain the sources of labels, icons, selected/disabled state, form submission, routing, and click handlers while SwiftUI owns adaptive placement and interaction. Fixed-toolbar actions need an icon or SVG, no direct text node, and standard `fill="default"` or `fill="clear"` to be eligible for the side rail. Text-only actions stay in the original Web toolbar. Add `.ios-theme-horizontal-only` to an `ion-buttons` group or individual `ion-button` to keep it in the Web toolbar. Placement is chosen when a routed page enters; changing an existing button's content does not move it between the toolbar and rail until the page leaves and re-enters. Menus, modals, and popovers retain their own toolbar layout. +On supported iOS versions, `enableVerticalControlArea()` hands eligible tabs, back navigation, menu buttons, and fixed-toolbar actions to a native SwiftUI `TabView` and toolbar. Vertical Bars works with either Ionic `ios` or `md` mode; the application chooses both its component mode and where to enable Vertical Bars. Back navigation can come from outside a fixed toolbar; other toolbar actions still require a fixed toolbar. It does not project ordinary Native UI Shell controls outside the vertical area. If the app already uses the full `enableNativeUIShell()`, keep that single runtime instead of starting both. The Ionic controls remain the sources of labels, icons, selected/disabled state, form submission, routing, and click handlers while SwiftUI owns adaptive placement and interaction. Fixed-toolbar actions need an icon or SVG, no direct text node, and standard `fill="default"` or `fill="clear"` to be eligible for the side rail. Text-only actions stay in the original Web toolbar. Add `.ios-theme-horizontal-only` to an `ion-buttons` group or individual `ion-button` to keep it in the Web toolbar. Placement is chosen when a routed page enters; changing an existing button's content does not move it between the toolbar and rail until the page leaves and re-enters. Menus, modals, and popovers retain their own toolbar layout. On Web, Android, older iOS, or when native projection is unavailable during setup, the Web tab bar and fixed-toolbar clones remain the fallback. Those projections also work when no `ion-tabs` exists; text-only actions stay in the original Web toolbar. Disabling the mode or leaving the page removes the native ownership or Web clones and restores their sources. Override `--ios-theme-vertical-bars-toolbar-top` when the simulated system controls use a different vertical layout. diff --git a/src/native/components/index.ts b/src/native/components/index.ts index 903917d6..670d865e 100644 --- a/src/native/components/index.ts +++ b/src/native/components/index.ts @@ -31,11 +31,7 @@ export const isVerticalBarsCandidate = isVerticalBarsSource; export const readCandidate = (element: HTMLElement, id: Identify): Candidate | undefined => { const verticalBars = isVerticalBarsCandidate(element); - if ( - (!element.classList.contains('ios') && !(verticalBars && element.matches('ion-back-button'))) || - !visible(element, verticalBars) || - element.closest('ion-modal, ion-popover') - ) + if ((!element.classList.contains('ios') && !verticalBars) || !visible(element, verticalBars) || element.closest('ion-modal, ion-popover')) return; const style = getComputedStyle(element); if ( diff --git a/src/native/components/ion-buttons.ts b/src/native/components/ion-buttons.ts index 010b2188..62b307b3 100644 --- a/src/native/components/ion-buttons.ts +++ b/src/native/components/ion-buttons.ts @@ -18,8 +18,8 @@ export const read = (element: HTMLElement, id: Identify): Candidate | undefined !children.length || children.some( (child) => - !child.matches(`${menuButton.tag}.ios`) && - (!child.matches(`ion-button.ios${verticalBars ? '' : '.button-clear'}`) || + !child.matches(`${menuButton.tag}${verticalBars ? '' : '.ios'}`) && + (!child.matches(`ion-button${verticalBars ? '' : '.ios.button-clear'}`) || !(verticalBars ? ['default', 'clear'] : ['clear']).includes((child as HTMLIonButtonElement).fill ?? 'default')), ) ) diff --git a/src/native/components/ion-menu-button.ts b/src/native/components/ion-menu-button.ts index c225aef3..e6296af2 100644 --- a/src/native/components/ion-menu-button.ts +++ b/src/native/components/ion-menu-button.ts @@ -16,7 +16,7 @@ export const append = (candidate: Candidate, button: HTMLIonMenuButtonElement, i export const read = (group: HTMLElement, id: Identify): Candidate | undefined => { if (!inFixedToolbar(group) || !group.matches('ion-buttons') || group.children.length !== 1) return; const button = group.firstElementChild; - if (!button?.matches(`${tag}.ios`)) return; + if (!button?.matches(`${tag}${group.closest(':is(ion-app, body).ios-theme-vertical-bars') ? '' : '.ios'}`)) return; const candidate = createCandidate(group, tag, id); return append(candidate, button as HTMLIonMenuButtonElement, id) ? candidate : undefined; }; diff --git a/src/native/shared/dom.ts b/src/native/shared/dom.ts index e3166294..d949035e 100644 --- a/src/native/shared/dom.ts +++ b/src/native/shared/dom.ts @@ -82,7 +82,7 @@ const disabledButtonGroup = 'ion-buttons:is(.ionic-theme-disabled, .ios-theme-di const shellDisabledSelector = '.ios-theme-shell-disabled'; export const isDisabledButtonGroupChild = (element: HTMLElement): boolean => - element.matches('ion-button.ios') && element.parentElement?.matches(disabledButtonGroup) === true; + element.matches('ion-button') && element.parentElement?.matches(disabledButtonGroup) === true; const verticalBarsTags = new Set(['ion-button', 'ion-back-button', 'ion-buttons', 'ion-menu-button', 'ion-tab-bar']); @@ -150,17 +150,14 @@ export const clearVerticalBarsPlacement = (element: HTMLElement): void => { export const verticalBarsOwned = (element: HTMLElement): boolean => verticalBarsPlacement.get(element) === true; export const isVerticalBarsToolbarAction = (element: HTMLElement): boolean => - element.matches('.ios') && - verticalBarsOwned(element) && - !isExcluded(element, verticalBarsEnteringPage(element)) && - !isShellDisabled(element); + verticalBarsOwned(element) && !isExcluded(element, verticalBarsEnteringPage(element)) && !isShellDisabled(element); export const verticalBarsToolbarActions = (element: HTMLElement): HTMLElement[] => Array.from(element.children).filter((child): child is HTMLElement => child instanceof HTMLElement && isVerticalBarsToolbarAction(child)); export const isVerticalBarsToolbarGroup = (element: HTMLElement): boolean => { return ( - element.matches('ion-buttons.ios') && + element.matches('ion-buttons') && verticalBarsOwned(element) && !element.matches('.ionic-theme-disabled, .ios-theme-disabled, .ios26-disabled') && !isShellDisabled(element) diff --git a/src/native/vertical-bars-web.ts b/src/native/vertical-bars-web.ts index e7648892..58e448b6 100644 --- a/src/native/vertical-bars-web.ts +++ b/src/native/vertical-bars-web.ts @@ -74,8 +74,7 @@ export const createVerticalBarsWebProjection = (doc: Document, options: NativeUI const edge = toolbar?.parentElement; return ( !!currentRoot?.contains(element) && - element.matches('.ios') && - !!toolbar?.matches('.ios') && + !!toolbar && !!edge?.matches('ion-header, ion-footer') && !element.closest('ion-content') && !edge.hasAttribute('collapse') && @@ -103,7 +102,7 @@ export const createVerticalBarsWebProjection = (doc: Document, options: NativeUI return preferredVerticalBarsBack(candidates, doc); }; const findToolbarGroups = () => { - const candidates = Array.from(doc.querySelectorAll(`ion-buttons.ios:not(.${toolbarProjectionClass})`)).flatMap( + const candidates = Array.from(doc.querySelectorAll(`ion-buttons:not(.${toolbarProjectionClass})`)).flatMap( (group): ToolbarSource[] => { const actions = verticalBarsToolbarActions(group).filter((action) => unprojected(projectedSources(), () => isRendered(action))); if (!actions.length) return []; diff --git a/src/styles/vertical-bars.scss b/src/styles/vertical-bars.scss index c167b695..e1dd6910 100644 --- a/src/styles/vertical-bars.scss +++ b/src/styles/vertical-bars.scss @@ -23,7 +23,7 @@ // Keep page backgrounds and the router full width; move only their foregrounds. :is(ion-app, body).ios-theme-vertical-bars - ion-content.ios:not(.ios-theme-disabled, .ios26-disabled):not(:where(ion-menu *, ion-modal *, ion-popover *)) { + ion-content:is(.ios, .md):not(.ios-theme-disabled, .ios26-disabled):not(:where(ion-menu *, ion-modal *, ion-popover *)) { --ion-safe-area-left: 0px; --ion-safe-area-right: 0px; @@ -39,7 +39,7 @@ } :is(ion-app, body).ios-theme-vertical-bars - ion-toolbar.ios:not(.ios-theme-disabled, .ios26-disabled):not(:where(ion-menu *, ion-modal *, ion-popover *)) { + ion-toolbar:is(.ios, .md):not(.ios-theme-disabled, .ios26-disabled):not(:where(ion-menu *, ion-modal *, ion-popover *)) { --ion-safe-area-left: 0px; --ion-safe-area-right: 0px; @@ -55,7 +55,7 @@ } :is(ion-app, body).ios-theme-vertical-bars - ion-fab.ios:not(.ios-theme-disabled, .ios26-disabled):not(:where(ion-menu *, ion-modal *, ion-popover *)) { + ion-fab:is(.ios, .md):not(.ios-theme-disabled, .ios26-disabled):not(:where(ion-menu *, ion-modal *, ion-popover *)) { --ion-safe-area-left: 0px; --ion-safe-area-right: 0px; --ios-theme-vertical-bars-fab-edge-gap: 16px; @@ -86,15 +86,15 @@ // Menus retain their own safe-area handling and full-width animation host. :is(ion-app, body).ios-theme-vertical-bars { - ion-menu.ios.menu-side-end:not(:dir(rtl)):not(.ios-theme-disabled, .ios26-disabled), - ion-menu.ios.menu-side-start:dir(rtl):not(.ios-theme-disabled, .ios26-disabled) { + ion-menu:is(.ios, .md).menu-side-end:not(:dir(rtl)):not(.ios-theme-disabled, .ios26-disabled), + ion-menu:is(.ios, .md).menu-side-start:dir(rtl):not(.ios-theme-disabled, .ios26-disabled) { --ion-safe-area-right: 0px; &::part(container) { margin-right: var(--ios-theme-vertical-bars-safe-area-right-resolved); } } - ion-menu.ios.menu-side-start:not(:dir(rtl)):not(.ios-theme-disabled, .ios26-disabled), - ion-menu.ios.menu-side-end:dir(rtl):not(.ios-theme-disabled, .ios26-disabled) { + ion-menu:is(.ios, .md).menu-side-start:not(:dir(rtl)):not(.ios-theme-disabled, .ios26-disabled), + ion-menu:is(.ios, .md).menu-side-end:dir(rtl):not(.ios-theme-disabled, .ios26-disabled) { --ion-safe-area-left: 0px; &::part(container) { margin-left: var(--ios-theme-vertical-bars-safe-area-left-resolved); @@ -104,7 +104,7 @@ :is(ion-app, body).ios-theme-vertical-bars ion-tabs:not(:where(ion-menu *, ion-modal *, ion-popover *)) - > ion-tab-bar.ios:not(.ios-theme-disabled, .ios26-disabled) { + > ion-tab-bar:is(.ios, .md):not(.ios-theme-disabled, .ios26-disabled) { --ios-theme-side-tab-bar-width: 50px; --ios-theme-side-tab-bar-gap: 8px; --ios-theme-side-safe-area: var(--ios-theme-vertical-bars-safe-area-right-resolved); @@ -218,21 +218,25 @@ html.ios-theme-native-ui-shell-prehide } :is(ion-app, body).ios-theme-vertical-bars.ios-theme-vertical-bars-toolbar-ready { - ion-toolbar.ios:not(.ios-theme-disabled, .ios26-disabled):not(:where(ion-menu *, ion-modal *, ion-popover *)) - ion-back-button.ios[data-native-ui-shell]:not(.ios-theme-disabled, .ios26-disabled, .ios-theme-vertical-bars-back-button-projection) { + ion-toolbar:is(.ios, .md):not(.ios-theme-disabled, .ios26-disabled):not(:where(ion-menu *, ion-modal *, ion-popover *)) + ion-back-button:is(.ios, .md)[data-native-ui-shell]:not( + .ios-theme-disabled, + .ios26-disabled, + .ios-theme-vertical-bars-back-button-projection + ) { display: none; } - ion-toolbar.ios:not(.ios-theme-disabled, .ios26-disabled):not(:where(ion-menu *, ion-modal *, ion-popover *)) - ion-buttons.ios - > :is(ion-button, ion-menu-button).ios[data-native-ui-shell]:not( + ion-toolbar:is(.ios, .md):not(.ios-theme-disabled, .ios26-disabled):not(:where(ion-menu *, ion-modal *, ion-popover *)) + ion-buttons:is(.ios, .md) + > :is(ion-button, ion-menu-button):is(.ios, .md)[data-native-ui-shell]:not( .ios-theme-disabled, .ios26-disabled, .ios-theme-vertical-bars-toolbar-action ) { display: none; } - ion-toolbar.ios:not(.ios-theme-disabled, .ios26-disabled):not(:where(ion-menu *, ion-modal *, ion-popover *)) - ion-buttons.ios:has(> :is(ion-back-button, ion-button, ion-menu-button)[data-native-ui-shell]):not( + ion-toolbar:is(.ios, .md):not(.ios-theme-disabled, .ios26-disabled):not(:where(ion-menu *, ion-modal *, ion-popover *)) + ion-buttons:is(.ios, .md):has(> :is(ion-back-button, ion-button, ion-menu-button)[data-native-ui-shell]):not( :has(> :is(ion-back-button, ion-button, ion-menu-button):not([data-native-ui-shell])) ) { display: none; @@ -247,7 +251,7 @@ html.ios-theme-native-ui-shell-prehide height: 46px; margin: 0; } - > .ios.ios-theme-vertical-bars-toolbar-projection { + > :is(.ios, .md).ios-theme-vertical-bars-toolbar-projection { position: fixed; z-index: 1001; top: calc(var(--ios-theme-vertical-bars-toolbar-top, 220px) + var(--ios-theme-vertical-bars-toolbar-offset, 0px)); @@ -264,11 +268,11 @@ html.ios-theme-native-ui-shell-prehide font-size: 22px; } } - > ion-menu-button.ios.ios-theme-vertical-bars-toolbar-projection { + > ion-menu-button:is(.ios, .md).ios-theme-vertical-bars-toolbar-projection { @include api.glass-control-background; border-radius: 50%; } - > ion-button.ios.ios-theme-vertical-bars-toolbar-projection { + > ion-button:is(.ios, .md).ios-theme-vertical-bars-toolbar-projection { --background: rgba(var(--ios-theme-glass-background-rgb, var(--ios26-glass-background-rgb)), 0.72); --border-radius: 50%; @include glass.light-shadow('--box-shadow'); @@ -276,12 +280,12 @@ html.ios-theme-native-ui-shell-prehide @include api.glass-control-background($include-background: false, $shadow: var(--box-shadow)); } } - > ion-buttons.ios.ios-theme-vertical-bars-toolbar-projection { + > ion-buttons:is(.ios, .md).ios-theme-vertical-bars-toolbar-projection { display: flex; flex-direction: column; height: auto; min-height: 0; - > :is(ion-button, ion-menu-button).ios.ios-theme-vertical-bars-toolbar-action { + > :is(ion-button, ion-menu-button):is(.ios, .md).ios-theme-vertical-bars-toolbar-action { display: block; width: 44px; min-width: 44px; From 5124c39e552d1a38213c1f8194b28966fc43c4e7 Mon Sep 17 00:00:00 2001 From: rdlabo Date: Thu, 24 Sep 2026 20:34:16 +0900 Subject: [PATCH 39/50] docs(vertical-bars): show app-owned platform opt-in --- demo/src/app/docs/docs-content.generated.ts | 2 +- demo/src/main.ts | 2 +- docs/special-markup.md | 7 ++++++- 3 files changed, 8 insertions(+), 3 deletions(-) diff --git a/demo/src/app/docs/docs-content.generated.ts b/demo/src/app/docs/docs-content.generated.ts index 6e4d74d6..dd019f57 100644 --- a/demo/src/app/docs/docs-content.generated.ts +++ b/demo/src/app/docs/docs-content.generated.ts @@ -1,3 +1,3 @@ // Generated from docs/special-markup.md. Do not edit directly. export const docsContentHtml = - '

      Special markup and classes

      \n

      Most Ionic markup works without changes. The combinations below are explicit opt-ins provided by the theme.

      \n

      Primary submit buttons

      \n

      Solid submit buttons use the Ionic color's contrast value for their foreground. Their directional edge treatment follows the iOS 27 prominent-button appearance and does not require an additional brightness color.

      \n
      <ion-button type="submit" color="primary">Submit</ion-button>\n<ion-button class="button-submit" fill="solid" color="primary">Continue</ion-button>
      \n\n
      \n
      Preview
      \nSubmit\nContinue\n
      \n\n

      Use .button-submit when the button needs the same treatment but cannot use type="submit".

      \n

      Preferred overlay actions

      \n

      For iOS alerts and action sheets, set role: 'preferred' on a button to give it a filled --ion-color-primary background and --ion-color-primary-contrast text and icons. While pressed, the background uses --ion-color-primary-shade. This is a theme convention using Ionic's custom button roles; it does not automatically select or invoke the action. Dismissal reports the role as preferred.

      \n
      buttons: [\n  { text: \'Cancel\', role: \'cancel\' },\n  { text: \'Continue\', role: \'preferred\' },\n];
      \n\n

      Buttons with no role or default keep the normal text color. cancel retains Ionic's cancellation behavior, selected remains a selection state, and destructive uses --ios-theme-destructive-color. An existing confirm role is not treated as preferred. Use preferred for the recommended action, not simply any action that confirms a choice.

      \n

      Floating iPad sheets

      \n

      Set expandToScroll: false on a sheet modal to use floating lower corners and a 20px bottom gap on iPad. Ionic then sizes the visible page at each breakpoint, so the theme can style it with CSS alone. Content scrolls within the current breakpoint; dragging the handle still resizes the sheet. With the default expandToScroll: true, the sheet keeps Ionic's bottom-attached layout and scroll-to-expand behavior.

      \n

      Tab bar position

      \n

      Add one of tab-bar-position-start, tab-bar-position-center, or tab-bar-position-end to an iOS ion-tab-bar to position the whole bar within its safe area. These classes work with both slot="top" and slot="bottom" and preserve the bar's width and press animation. Start and end follow the text direction (reversed in RTL). Without a class, the existing placement is unchanged.

      \n
      <ion-tab-bar slot="bottom" class="tab-bar-position-center">\n  <ion-tab-button tab="home">Home</ion-tab-button>\n  <ion-tab-button tab="settings">Settings</ion-tab-button>\n</ion-tab-bar>
      \n\n

      These classes do not reposition a separate ion-fab; leave room for it when choosing the bar's position.

      \n

      Support iPhone Duo

      \n

      Load the separate stylesheet and start its projection runtime. The iOS 27 theme stylesheets are not required:

      \n
      @use \'@rdlabo/ionic-theme-ios27/dist/css/vertical-bars.css\';
      \n\n
      import { enableVerticalControlArea } from \'@rdlabo/ionic-theme-ios27/vertical-bars\';\n\nvoid enableVerticalControlArea();
      \n\n

      Add .ios-theme-vertical-bars to the active ion-app. Use body only when the application has no ion-app root:

      \n
      <ion-app class="ios-theme-vertical-bars">...</ion-app>
      \n\n

      For example, an app configured with Ionic mode: 'md' can use this same ion-app class. No component needs to switch to mode="ios" for Vertical Bars.

      \n

      The class reserves 80px on the physical right by default, matching the system navigation region measured in the iPhone Duo Simulator. The physical left defaults to 0px. Override --ios-theme-vertical-bars-safe-area-left or --ios-theme-vertical-bars-safe-area-right when simulating a different layout.

      \n

      This keeps routers and component backgrounds full-viewport. ion-content moves its scroll foreground, ion-toolbar moves its container foreground, and ion-fab adjusts only when it is placed beside the system UI. The corresponding Ionic safe-area variable is reset inside those foreground components so descendants do not add the inset again.

      \n

      ion-menu, ion-modal, and ion-popover are handled as separate surfaces: their internal foreground components do not receive the main-page conversion and retain Ionic's standard safe-area handling. A menu presented beside the system UI keeps Ionic's full-viewport animation host and offsets only its visible container by the corresponding inset; a menu from the opposite side is unchanged. Left and right remain physical coordinates in RTL, while Ionic's side="start" and side="end" values remain logical.

      \n

      These values are web-layout simulation inputs. They are independent from Ionic's normal iPhone safe-area variables and do not change ordinary iPhone layouts unless the opt-in class is present.

      \n

      When the app contains ion-tabs, this mode moves its tab bar into the physical right-side reserved region and aligns it above the bottom safe area. The Ionic slot value does not select a different position. Without Native UI Shell, the stable Web rail is icon-only, matching a four-tab SwiftUI TabView on iPhone Duo. While the user presses and drags across that rail, every icon-and-label tab reveals its label so the pending destination stays identifiable. The Web tab bar receives pointer input in the simulated system region. Use ion-menu when navigation should become a sidebar; this mode does not convert tabs into a menu.

      \n

      On supported iOS versions, enableVerticalControlArea() hands eligible tabs, back navigation, menu buttons, and fixed-toolbar actions to a native SwiftUI TabView and toolbar. Vertical Bars works with either Ionic ios or md mode; the application chooses both its component mode and where to enable Vertical Bars. Back navigation can come from outside a fixed toolbar; other toolbar actions still require a fixed toolbar. It does not project ordinary Native UI Shell controls outside the vertical area. If the app already uses the full enableNativeUIShell(), keep that single runtime instead of starting both. The Ionic controls remain the sources of labels, icons, selected/disabled state, form submission, routing, and click handlers while SwiftUI owns adaptive placement and interaction. Fixed-toolbar actions need an icon or SVG, no direct text node, and standard fill="default" or fill="clear" to be eligible for the side rail. Text-only actions stay in the original Web toolbar. Add .ios-theme-horizontal-only to an ion-buttons group or individual ion-button to keep it in the Web toolbar. Placement is chosen when a routed page enters; changing an existing button's content does not move it between the toolbar and rail until the page leaves and re-enters. Menus, modals, and popovers retain their own toolbar layout.

      \n

      On Web, Android, older iOS, or when native projection is unavailable during setup, the Web tab bar and fixed-toolbar clones remain the fallback. Those projections also work when no ion-tabs exists; text-only actions stay in the original Web toolbar. Disabling the mode or leaving the page removes the native ownership or Web clones and restores their sources. Override --ios-theme-vertical-bars-toolbar-top when the simulated system controls use a different vertical layout.

      \n

      Two-line inset list items

      \n

      Place an unslotted ion-label immediately alongside an unslotted ion-note to render a two-line item. When using the iOS-style inset-list background, wrap the items in ion-item-group; keep ion-list-header outside the group.

      \n
      <ion-list inset="true">\n  <ion-list-header>\n    <ion-label>Connections</ion-label>\n  </ion-list-header>\n  <ion-item-group>\n    <ion-item>\n      <ion-label>Network &amp; internet</ion-label>\n      <ion-note>Mobile, Wi-Fi, hotspot</ion-note>\n    </ion-item>\n  </ion-item-group>\n</ion-list>
      \n\n
      \n
      Preview
      \n\n \n Connections\n \n \n \n Network & internet\n Mobile, Wi-Fi, hotspot\n \n \n\n
      \n\n

      Use slot="end" on ion-note when you want the standard trailing-note layout instead.

      \n

      Inset-list section headers

      \n

      Add .item-group-header to an ion-item-group to create the centered icon, title, and description used at the top of the component demo pages.

      \n

      This is an introductory group. Place regular list items in a separate ion-item-group that follows it.

      \n
      <ion-list inset="true">\n  <ion-item-group class="item-group-header">\n    <ion-item>\n      <ion-label>\n        <ion-icon name="list" style="background: var(--ion-color-primary)"></ion-icon>\n        <h2>Lists</h2>\n        <ion-text>Inset-list examples</ion-text>\n      </ion-label>\n    </ion-item>\n  </ion-item-group>\n  <ion-item-group>\n    <ion-item><ion-label>First item</ion-label></ion-item>\n  </ion-item-group>\n</ion-list>
      \n\n
      \n
      Preview
      \n\n \n \n \n \n

      Lists

      \n Inset-list examples\n
      \n
      \n
      \n \n First item\n \n
      \n
      \n\n

      Full-width segments

      \n

      Add .segment-style-glass to give a segment the same glass surface and selected indicator treatment as the tab bar. The class preserves the segment's existing dimensions and text colors, supports scrollable segments, and respects Ionic's public --background property.

      \n
      <ion-segment class="segment-style-glass" value="available">\n  <ion-segment-button value="available">Available</ion-segment-button>\n  <ion-segment-button value="away">Away</ion-segment-button>\n</ion-segment>
      \n\n

      For colored segments, use Ionic's color property (for example, color="primary" or color="secondary"). Ionic uses the palette's base color for the softly tinted track while keeping the selected surface and labels neutral. A surrounding colored toolbar only supplies colors when the segment has no color of its own. The optional moving glass inherits the selected surface color, and custom Ionic palettes work without additional registration.

      \n

      Add .segment-expand when segment buttons should divide the available width evenly. The class also changes the Liquid Glass effect sizing when registerSegmentEffect is used.

      \n

      Segments use a 32px minimum height in content and a 48px minimum height inside ion-toolbar. .segment-expand keeps the compact 32px layout in a toolbar. Compact segments retain Ionic's flat background and indicator colors; only the regular toolbar variant has a glass container and scales its outer container while pressed. Content and expanded segments keep their outer bounds. The optional moving glass lens is independent of the container's background.

      \n
      <ion-segment class="segment-expand" value="new">\n  <ion-segment-button value="new"><ion-label>New</ion-label></ion-segment-button>\n  <ion-segment-button value="replied"><ion-label>Replied</ion-label></ion-segment-button>\n</ion-segment>
      \n\n
      \n
      Preview
      \n\n New\n Replied\n\n
      \n\n

      Classic search bar in a condense header

      \n

      The theme gives iOS search bars the iOS 27 appearance by default. Add .searchbar-classic to the search field shown beneath a large title in an ion-header with collapse="condense". It uses the conventional filled iOS appearance and collapses with the large title instead of remaining in the fixed header.

      \n

      Place it in a toolbar with a color, such as color="light"; the classic background is derived from that color's contrast value.

      \n

      The example uses Ionic's standard collapsible large-title structure. Scroll the preview to collapse the large title and reveal the fixed header.

      \n
      <div class="ion-page">\n  <ion-header translucent="true">\n    <ion-toolbar color="light">\n      <ion-title>Search</ion-title>\n    </ion-toolbar>\n  </ion-header>\n  <ion-content color="light" fullscreen="true">\n    <ion-header collapse="condense">\n      <ion-toolbar color="light">\n        <ion-title size="large">Search</ion-title>\n      </ion-toolbar>\n      <ion-toolbar color="light">\n        <ion-searchbar class="searchbar-classic" placeholder="Filter results"></ion-searchbar>\n      </ion-toolbar>\n    </ion-header>\n    <ion-list inset="true">\n      <ion-item-group>\n        <ion-item><ion-label>Recent item 1</ion-label></ion-item>\n        <ion-item><ion-label>Recent item 2</ion-label></ion-item>\n        <ion-item><ion-label>Recent item 3</ion-label></ion-item>\n        <ion-item><ion-label>Recent item 4</ion-label></ion-item>\n        <ion-item><ion-label>Recent item 5</ion-label></ion-item>\n        <ion-item><ion-label>Recent item 6</ion-label></ion-item>\n        <ion-item><ion-label>Recent item 7</ion-label></ion-item>\n        <ion-item><ion-label>Recent item 8</ion-label></ion-item>\n        <ion-item><ion-label>Recent item 9</ion-label></ion-item>\n        <ion-item><ion-label>Recent item 10</ion-label></ion-item>\n      </ion-item-group>\n    </ion-list>\n  </ion-content>\n</div>
      \n\n
      \n
      Preview
      \n
      \n \n \n Search\n \n \n \n \n \n Search\n \n \n \n \n \n \n \n Recent item 1\n Recent item 2\n Recent item 3\n Recent item 4\n Recent item 5\n Recent item 6\n Recent item 7\n Recent item 8\n Recent item 9\n Recent item 10\n \n \n \n
      \n
      \n\n

      The .ion-page wrapper makes this embedded preview behave like a complete routed page. An application using ion-router-outlet normally receives that page container automatically. The inset list and its items only provide enough content to demonstrate scrolling; they are not required by .searchbar-classic.

      \n

      Search-bar toolbars

      \n

      Add .toolbar-searchbar when an ion-toolbar combines a search bar with start or end buttons. The class centers the slotted controls and adjusts the spacing around the search field.

      \n
      <ion-toolbar class="toolbar-searchbar">\n  <ion-buttons slot="start">\n    <ion-button>Cancel</ion-button>\n  </ion-buttons>\n  <ion-searchbar></ion-searchbar>\n</ion-toolbar>
      \n\n
      \n
      Preview
      \n\n \n Cancel\n \n \n\n
      \n\n

      Opting out

      \n

      Add .ios-theme-disabled to an individual Ionic component when it must retain Ionic's standard iOS styling.

      \n

      .ios26-disabled is deprecated but remains supported as an alias with the same behavior. Use .ios-theme-disabled for new code.

      \n
      <ion-button>iOS 27 theme</ion-button> <ion-button class="ios-theme-disabled">Standard Ionic button</ion-button>
      \n\n
      \n
      Preview
      \niOS 27 theme Standard Ionic button\n
      \n\n

      For the background model behind inset lists, see Using ion-item-group.

      \n'; + '

      Special markup and classes

      \n

      Most Ionic markup works without changes. The combinations below are explicit opt-ins provided by the theme.

      \n

      Primary submit buttons

      \n

      Solid submit buttons use the Ionic color's contrast value for their foreground. Their directional edge treatment follows the iOS 27 prominent-button appearance and does not require an additional brightness color.

      \n
      <ion-button type="submit" color="primary">Submit</ion-button>\n<ion-button class="button-submit" fill="solid" color="primary">Continue</ion-button>
      \n\n
      \n
      Preview
      \nSubmit\nContinue\n
      \n\n

      Use .button-submit when the button needs the same treatment but cannot use type="submit".

      \n

      Preferred overlay actions

      \n

      For iOS alerts and action sheets, set role: 'preferred' on a button to give it a filled --ion-color-primary background and --ion-color-primary-contrast text and icons. While pressed, the background uses --ion-color-primary-shade. This is a theme convention using Ionic's custom button roles; it does not automatically select or invoke the action. Dismissal reports the role as preferred.

      \n
      buttons: [\n  { text: \'Cancel\', role: \'cancel\' },\n  { text: \'Continue\', role: \'preferred\' },\n];
      \n\n

      Buttons with no role or default keep the normal text color. cancel retains Ionic's cancellation behavior, selected remains a selection state, and destructive uses --ios-theme-destructive-color. An existing confirm role is not treated as preferred. Use preferred for the recommended action, not simply any action that confirms a choice.

      \n

      Floating iPad sheets

      \n

      Set expandToScroll: false on a sheet modal to use floating lower corners and a 20px bottom gap on iPad. Ionic then sizes the visible page at each breakpoint, so the theme can style it with CSS alone. Content scrolls within the current breakpoint; dragging the handle still resizes the sheet. With the default expandToScroll: true, the sheet keeps Ionic's bottom-attached layout and scroll-to-expand behavior.

      \n

      Tab bar position

      \n

      Add one of tab-bar-position-start, tab-bar-position-center, or tab-bar-position-end to an iOS ion-tab-bar to position the whole bar within its safe area. These classes work with both slot="top" and slot="bottom" and preserve the bar's width and press animation. Start and end follow the text direction (reversed in RTL). Without a class, the existing placement is unchanged.

      \n
      <ion-tab-bar slot="bottom" class="tab-bar-position-center">\n  <ion-tab-button tab="home">Home</ion-tab-button>\n  <ion-tab-button tab="settings">Settings</ion-tab-button>\n</ion-tab-bar>
      \n\n

      These classes do not reposition a separate ion-fab; leave room for it when choosing the bar's position.

      \n

      Support iPhone Duo

      \n

      Load the separate stylesheet and start its projection runtime. The iOS 27 theme stylesheets are not required:

      \n
      @use \'@rdlabo/ionic-theme-ios27/dist/css/vertical-bars.css\';
      \n\n
      import { enableVerticalControlArea } from \'@rdlabo/ionic-theme-ios27/vertical-bars\';\n\n// `platform` is the app\'s injected Ionic Platform instance.\nif (platform.is(\'ios\')) {\n  void enableVerticalControlArea();\n}
      \n\n

      The platform.is('ios') guard is an application choice, not an Ionic mode requirement. An app can keep mode: 'md' on iOS and still enable Vertical Bars.

      \n

      Add .ios-theme-vertical-bars to the active ion-app. Use body only when the application has no ion-app root:

      \n
      <ion-app class="ios-theme-vertical-bars">...</ion-app>
      \n\n

      For example, an app configured with Ionic mode: 'md' can use this same ion-app class. No component needs to switch to mode="ios" for Vertical Bars.

      \n

      The class reserves 80px on the physical right by default, matching the system navigation region measured in the iPhone Duo Simulator. The physical left defaults to 0px. Override --ios-theme-vertical-bars-safe-area-left or --ios-theme-vertical-bars-safe-area-right when simulating a different layout.

      \n

      This keeps routers and component backgrounds full-viewport. ion-content moves its scroll foreground, ion-toolbar moves its container foreground, and ion-fab adjusts only when it is placed beside the system UI. The corresponding Ionic safe-area variable is reset inside those foreground components so descendants do not add the inset again.

      \n

      ion-menu, ion-modal, and ion-popover are handled as separate surfaces: their internal foreground components do not receive the main-page conversion and retain Ionic's standard safe-area handling. A menu presented beside the system UI keeps Ionic's full-viewport animation host and offsets only its visible container by the corresponding inset; a menu from the opposite side is unchanged. Left and right remain physical coordinates in RTL, while Ionic's side="start" and side="end" values remain logical.

      \n

      These values are web-layout simulation inputs. They are independent from Ionic's normal iPhone safe-area variables and do not change ordinary iPhone layouts unless the opt-in class is present.

      \n

      When the app contains ion-tabs, this mode moves its tab bar into the physical right-side reserved region and aligns it above the bottom safe area. The Ionic slot value does not select a different position. Without Native UI Shell, the stable Web rail is icon-only, matching a four-tab SwiftUI TabView on iPhone Duo. While the user presses and drags across that rail, every icon-and-label tab reveals its label so the pending destination stays identifiable. The Web tab bar receives pointer input in the simulated system region. Use ion-menu when navigation should become a sidebar; this mode does not convert tabs into a menu.

      \n

      On supported iOS versions, enableVerticalControlArea() hands eligible tabs, back navigation, menu buttons, and fixed-toolbar actions to a native SwiftUI TabView and toolbar. Vertical Bars works with either Ionic ios or md mode; the application chooses both its component mode and where to enable Vertical Bars. Back navigation can come from outside a fixed toolbar; other toolbar actions still require a fixed toolbar. It does not project ordinary Native UI Shell controls outside the vertical area. If the app already uses the full enableNativeUIShell(), keep that single runtime instead of starting both. The Ionic controls remain the sources of labels, icons, selected/disabled state, form submission, routing, and click handlers while SwiftUI owns adaptive placement and interaction. Fixed-toolbar actions need an icon or SVG, no direct text node, and standard fill="default" or fill="clear" to be eligible for the side rail. Text-only actions stay in the original Web toolbar. Add .ios-theme-horizontal-only to an ion-buttons group or individual ion-button to keep it in the Web toolbar. Placement is chosen when a routed page enters; changing an existing button's content does not move it between the toolbar and rail until the page leaves and re-enters. Menus, modals, and popovers retain their own toolbar layout.

      \n

      On Web, Android, older iOS, or when native projection is unavailable during setup, the Web tab bar and fixed-toolbar clones remain the fallback. Those projections also work when no ion-tabs exists; text-only actions stay in the original Web toolbar. Disabling the mode or leaving the page removes the native ownership or Web clones and restores their sources. Override --ios-theme-vertical-bars-toolbar-top when the simulated system controls use a different vertical layout.

      \n

      Two-line inset list items

      \n

      Place an unslotted ion-label immediately alongside an unslotted ion-note to render a two-line item. When using the iOS-style inset-list background, wrap the items in ion-item-group; keep ion-list-header outside the group.

      \n
      <ion-list inset="true">\n  <ion-list-header>\n    <ion-label>Connections</ion-label>\n  </ion-list-header>\n  <ion-item-group>\n    <ion-item>\n      <ion-label>Network &amp; internet</ion-label>\n      <ion-note>Mobile, Wi-Fi, hotspot</ion-note>\n    </ion-item>\n  </ion-item-group>\n</ion-list>
      \n\n
      \n
      Preview
      \n\n \n Connections\n \n \n \n Network & internet\n Mobile, Wi-Fi, hotspot\n \n \n\n
      \n\n

      Use slot="end" on ion-note when you want the standard trailing-note layout instead.

      \n

      Inset-list section headers

      \n

      Add .item-group-header to an ion-item-group to create the centered icon, title, and description used at the top of the component demo pages.

      \n

      This is an introductory group. Place regular list items in a separate ion-item-group that follows it.

      \n
      <ion-list inset="true">\n  <ion-item-group class="item-group-header">\n    <ion-item>\n      <ion-label>\n        <ion-icon name="list" style="background: var(--ion-color-primary)"></ion-icon>\n        <h2>Lists</h2>\n        <ion-text>Inset-list examples</ion-text>\n      </ion-label>\n    </ion-item>\n  </ion-item-group>\n  <ion-item-group>\n    <ion-item><ion-label>First item</ion-label></ion-item>\n  </ion-item-group>\n</ion-list>
      \n\n
      \n
      Preview
      \n\n \n \n \n \n

      Lists

      \n Inset-list examples\n
      \n
      \n
      \n \n First item\n \n
      \n
      \n\n

      Full-width segments

      \n

      Add .segment-style-glass to give a segment the same glass surface and selected indicator treatment as the tab bar. The class preserves the segment's existing dimensions and text colors, supports scrollable segments, and respects Ionic's public --background property.

      \n
      <ion-segment class="segment-style-glass" value="available">\n  <ion-segment-button value="available">Available</ion-segment-button>\n  <ion-segment-button value="away">Away</ion-segment-button>\n</ion-segment>
      \n\n

      For colored segments, use Ionic's color property (for example, color="primary" or color="secondary"). Ionic uses the palette's base color for the softly tinted track while keeping the selected surface and labels neutral. A surrounding colored toolbar only supplies colors when the segment has no color of its own. The optional moving glass inherits the selected surface color, and custom Ionic palettes work without additional registration.

      \n

      Add .segment-expand when segment buttons should divide the available width evenly. The class also changes the Liquid Glass effect sizing when registerSegmentEffect is used.

      \n

      Segments use a 32px minimum height in content and a 48px minimum height inside ion-toolbar. .segment-expand keeps the compact 32px layout in a toolbar. Compact segments retain Ionic's flat background and indicator colors; only the regular toolbar variant has a glass container and scales its outer container while pressed. Content and expanded segments keep their outer bounds. The optional moving glass lens is independent of the container's background.

      \n
      <ion-segment class="segment-expand" value="new">\n  <ion-segment-button value="new"><ion-label>New</ion-label></ion-segment-button>\n  <ion-segment-button value="replied"><ion-label>Replied</ion-label></ion-segment-button>\n</ion-segment>
      \n\n
      \n
      Preview
      \n\n New\n Replied\n\n
      \n\n

      Classic search bar in a condense header

      \n

      The theme gives iOS search bars the iOS 27 appearance by default. Add .searchbar-classic to the search field shown beneath a large title in an ion-header with collapse="condense". It uses the conventional filled iOS appearance and collapses with the large title instead of remaining in the fixed header.

      \n

      Place it in a toolbar with a color, such as color="light"; the classic background is derived from that color's contrast value.

      \n

      The example uses Ionic's standard collapsible large-title structure. Scroll the preview to collapse the large title and reveal the fixed header.

      \n
      <div class="ion-page">\n  <ion-header translucent="true">\n    <ion-toolbar color="light">\n      <ion-title>Search</ion-title>\n    </ion-toolbar>\n  </ion-header>\n  <ion-content color="light" fullscreen="true">\n    <ion-header collapse="condense">\n      <ion-toolbar color="light">\n        <ion-title size="large">Search</ion-title>\n      </ion-toolbar>\n      <ion-toolbar color="light">\n        <ion-searchbar class="searchbar-classic" placeholder="Filter results"></ion-searchbar>\n      </ion-toolbar>\n    </ion-header>\n    <ion-list inset="true">\n      <ion-item-group>\n        <ion-item><ion-label>Recent item 1</ion-label></ion-item>\n        <ion-item><ion-label>Recent item 2</ion-label></ion-item>\n        <ion-item><ion-label>Recent item 3</ion-label></ion-item>\n        <ion-item><ion-label>Recent item 4</ion-label></ion-item>\n        <ion-item><ion-label>Recent item 5</ion-label></ion-item>\n        <ion-item><ion-label>Recent item 6</ion-label></ion-item>\n        <ion-item><ion-label>Recent item 7</ion-label></ion-item>\n        <ion-item><ion-label>Recent item 8</ion-label></ion-item>\n        <ion-item><ion-label>Recent item 9</ion-label></ion-item>\n        <ion-item><ion-label>Recent item 10</ion-label></ion-item>\n      </ion-item-group>\n    </ion-list>\n  </ion-content>\n</div>
      \n\n
      \n
      Preview
      \n
      \n \n \n Search\n \n \n \n \n \n Search\n \n \n \n \n \n \n \n Recent item 1\n Recent item 2\n Recent item 3\n Recent item 4\n Recent item 5\n Recent item 6\n Recent item 7\n Recent item 8\n Recent item 9\n Recent item 10\n \n \n \n
      \n
      \n\n

      The .ion-page wrapper makes this embedded preview behave like a complete routed page. An application using ion-router-outlet normally receives that page container automatically. The inset list and its items only provide enough content to demonstrate scrolling; they are not required by .searchbar-classic.

      \n

      Search-bar toolbars

      \n

      Add .toolbar-searchbar when an ion-toolbar combines a search bar with start or end buttons. The class centers the slotted controls and adjusts the spacing around the search field.

      \n
      <ion-toolbar class="toolbar-searchbar">\n  <ion-buttons slot="start">\n    <ion-button>Cancel</ion-button>\n  </ion-buttons>\n  <ion-searchbar></ion-searchbar>\n</ion-toolbar>
      \n\n
      \n
      Preview
      \n\n \n Cancel\n \n \n\n
      \n\n

      Opting out

      \n

      Add .ios-theme-disabled to an individual Ionic component when it must retain Ionic's standard iOS styling.

      \n

      .ios26-disabled is deprecated but remains supported as an alias with the same behavior. Use .ios-theme-disabled for new code.

      \n
      <ion-button>iOS 27 theme</ion-button> <ion-button class="ios-theme-disabled">Standard Ionic button</ion-button>
      \n\n
      \n
      Preview
      \niOS 27 theme Standard Ionic button\n
      \n\n

      For the background model behind inset lists, see Using ion-item-group.

      \n'; diff --git a/demo/src/main.ts b/demo/src/main.ts index 4ae64eaf..cbb25989 100644 --- a/demo/src/main.ts +++ b/demo/src/main.ts @@ -20,7 +20,7 @@ function loadIOSAnimations(): IonicAnimationOptions { }; } -// Demo forces mode: 'ios' (including Playwright), so do not gate on isPlatform('ios'). +// Keep the Web fallback available in the demo; applications can choose when to enable it. bootstrapApplication(AppComponent, createAppConfig(loadIOSAnimations())).catch((err) => console.error(err)); const startShell = new URLSearchParams(window.location.search).has('verticalBarsOnly') ? enableVerticalControlArea : enableNativeUIShell; void startShell().then((handle) => Object.assign(window, { nativeUIShell: handle })); diff --git a/docs/special-markup.md b/docs/special-markup.md index ac2502e4..5d7b206f 100644 --- a/docs/special-markup.md +++ b/docs/special-markup.md @@ -58,9 +58,14 @@ Load the separate stylesheet and start its projection runtime. The iOS 27 theme ```ts import { enableVerticalControlArea } from '@rdlabo/ionic-theme-ios27/vertical-bars'; -void enableVerticalControlArea(); +// `platform` is the app's injected Ionic Platform instance. +if (platform.is('ios')) { + void enableVerticalControlArea(); +} ``` +The `platform.is('ios')` guard is an application choice, not an Ionic `mode` requirement. An app can keep `mode: 'md'` on iOS and still enable Vertical Bars. + Add `.ios-theme-vertical-bars` to the active `ion-app`. Use `body` only when the application has no `ion-app` root: ```html From 93ee5afffdffe29b9734530314b7ee46e353d1fd Mon Sep 17 00:00:00 2001 From: rdlabo Date: Thu, 24 Sep 2026 21:22:50 +0900 Subject: [PATCH 40/50] test(vertical-bars): focus standalone coverage on unique contracts --- demo/e2e/adaptive-tab-bar.spec.ts | 1 - demo/e2e/native-ui-shell.spec.ts | 84 ++++------------------- demo/e2e/vertical-bars-standalone.spec.ts | 79 ++++++++++----------- 3 files changed, 49 insertions(+), 115 deletions(-) diff --git a/demo/e2e/adaptive-tab-bar.spec.ts b/demo/e2e/adaptive-tab-bar.spec.ts index 7d3a0d69..06efef2e 100644 --- a/demo/e2e/adaptive-tab-bar.spec.ts +++ b/demo/e2e/adaptive-tab-bar.spec.ts @@ -15,7 +15,6 @@ test('verticalBars mode moves tabs into the right rail and reveals labels while const buttons = bar.locator('ion-tab-button'); await expect.poll(async () => (await bar.boundingBox())?.x).toBeGreaterThan(620); const barBox = (await bar.boundingBox())!; - expect(barBox.x).toBeGreaterThan(620); expect(barBox.width).toBeCloseTo(50, 0); await expect(buttons.first().locator('ion-label')).toHaveCSS('position', 'absolute'); await expect(buttons.nth(1).locator('ion-label')).toHaveCSS('position', 'absolute'); diff --git a/demo/e2e/native-ui-shell.spec.ts b/demo/e2e/native-ui-shell.spec.ts index 4cb7e991..dcfe0dc5 100644 --- a/demo/e2e/native-ui-shell.spec.ts +++ b/demo/e2e/native-ui-shell.spec.ts @@ -17,7 +17,6 @@ const mockNative = async (page: Page, fail = false, verticalBars = true) => { rejectAllSearch: false, rejectControlLabel: '', configuredWith: undefined as any, - metricsRequested: 0, activate: (_event: any) => {}, search: (_event: any) => {}, metrics: (_event: any) => {}, @@ -44,10 +43,7 @@ const mockNative = async (page: Page, fail = false, verticalBars = true) => { state.configuredWith = options; return { supported: true, verticalBars }; } - if (method === 'getWebViewMetrics') { - state.metricsRequested++; - return { radius: 0 }; - } + if (method === 'getWebViewMetrics') return { radius: 0 }; state.updates.push(method === 'clear' ? { ...options, controls: [] } : options); if (state.hang && method === 'update') await new Promise(() => {}); if (state.delay) await new Promise((resolve) => setTimeout(resolve, state.delay)); @@ -366,76 +362,20 @@ test('verticalBars tabs request native adaptive rail placement', async ({ page } test('standalone Vertical Control Area never snapshots ordinary Native UI Shell controls', async ({ page }) => { await mockNative(page); await page.goto('/main/index/native-ui-shell?verticalBarsOnly=1'); - await page.locator('app-native-ui-shell ion-back-button').evaluate((element: HTMLIonBackButtonElement) => { - element.text = 'Return'; - element.mode = 'md'; - element.classList.remove('ios'); - element.classList.add('md'); - element.closest('ion-app')?.append(element); - }); - const back = page.locator('ion-app > ion-back-button'); - await page.evaluate(() => { - for (const sheet of Array.from(document.styleSheets)) { - for (let index = sheet.cssRules.length - 1; index >= 0; index--) { - const rule = sheet.cssRules[index]; - if (rule instanceof CSSSupportsRule && rule.cssText.includes('--ios27-color-scheme')) sheet.deleteRule(index); - } - } - }); - const app = page.locator('ion-app'); - await app.evaluate((element) => { - element.classList.add('ios-theme-vertical-bars'); - element.style.setProperty('--ion-background-color-rgb', '0, 0, 0'); - }); - const allVerticalBarsDark = (expected: boolean) => - page.evaluate((expected) => { - const controls = ((window as any).__nativeUIShell.updates.at(-1)?.controls ?? []).filter( - (control: any) => control.placement === 'vertical-bars', - ); - return controls.length > 0 && controls.every((control: any) => control.dark === expected); - }, expected); - await expect.poll(() => allVerticalBarsDark(true)).toBe(true); - const state = await page.evaluate(() => { - const { configuredWith, metricsRequested, updates } = (window as any).__nativeUIShell; - return { configuredWith, metricsRequested, updates }; - }); - expect(state.configuredWith).toEqual({ verticalBarsOnly: true }); - expect(state.metricsRequested).toBe(0); - expect(state.updates.flatMap((update: any) => update.controls).every((control: any) => control.placement === 'vertical-bars')).toBe(true); - await expect(back).toHaveClass(/ios-theme-native-ui-shell-prehidden/); - await expect - .poll(() => - page.evaluate( - () => - (window as any).__nativeUIShell.updates.at(-1)?.controls.find((control: any) => control.kind === 'ion-back-button')?.items[0] - ?.label, - ), - ) - .toBe('Return'); - await expect(back).toHaveClass(/\bmd\b/); - await page.locator('app-native-ui-shell ion-content').evaluate((content) => { - const pageBack = document.createElement('ion-back-button'); - pageBack.setAttribute('default-href', '/main/index'); - pageBack.setAttribute('data-page-back', ''); - content.prepend(pageBack); - }); - const pageBack = page.locator('ion-back-button[data-page-back]'); - await expect(pageBack).toHaveAttribute('data-native-ui-shell', ''); - await expect(back).not.toHaveAttribute('data-native-ui-shell', ''); + await page.locator('ion-app').evaluate((element) => element.classList.add('ios-theme-vertical-bars')); await expect .poll(() => - page.evaluate( - () => (window as any).__nativeUIShell.updates.at(-1)?.controls.filter((control: any) => control.kind === 'ion-back-button').length, - ), + page.evaluate(() => { + const { configuredWith, updates } = (window as any).__nativeUIShell; + const controls = updates.at(-1)?.controls ?? []; + return ( + configuredWith?.verticalBarsOnly === true && + controls.length > 0 && + updates.flatMap((update: any) => update.controls).every((control: any) => control.placement === 'vertical-bars') + ); + }), ) - .toBe(1); - await page - .locator('app-native-ui-shell') - .evaluate((element) => element.dispatchEvent(new CustomEvent('ionViewDidLeave', { bubbles: true }))); - await expect(back).toHaveClass(/ios-theme-native-ui-shell-prehidden/); - await expect(back).toHaveAttribute('data-native-ui-shell', ''); - await app.evaluate((element) => element.style.setProperty('--ion-background-color-rgb', '255, 255, 255')); - await expect.poll(() => allVerticalBarsDark(false)).toBe(true); + .toBe(true); }); test('verticalBars back navigation and toolbar slots request native rail placement', async ({ page }) => { diff --git a/demo/e2e/vertical-bars-standalone.spec.ts b/demo/e2e/vertical-bars-standalone.spec.ts index 6ead1c63..49b09b78 100644 --- a/demo/e2e/vertical-bars-standalone.spec.ts +++ b/demo/e2e/vertical-bars-standalone.spec.ts @@ -4,48 +4,43 @@ import { compile } from 'sass'; const verticalBars = compile(resolve(__dirname, '../../src/styles/vertical-bars.scss')).css; -for (const mode of ['ios', 'md'] as const) - test(`Vertical Control Area works in ${mode} mode with Ionic CSS and no iOS 27 theme`, async ({ page }) => { - await page.setViewportSize({ width: 700, height: 900 }); - await page.goto(`/main/index/native-ui-shell?verticalBarsOnly=1&ionicMode=${mode}`); - await expect(page.locator('ion-app')).toHaveClass(new RegExp(`\\b${mode}\\b`)); - await page.evaluate(() => { - for (const sheet of Array.from(document.styleSheets)) { - for (let index = sheet.cssRules.length - 1; index >= 0; index--) { - const rule = sheet.cssRules[index]; - if (rule instanceof CSSSupportsRule && rule.cssText.includes('--ios27-color-scheme')) sheet.deleteRule(index); - } +test('Vertical Control Area works in md mode with Ionic CSS and no iOS 27 theme', async ({ page }) => { + await page.setViewportSize({ width: 700, height: 900 }); + await page.goto('/main/index/native-ui-shell?verticalBarsOnly=1&ionicMode=md'); + await expect(page.locator('ion-app')).toHaveClass(/\bmd\b/); + await page.evaluate(() => { + for (const sheet of Array.from(document.styleSheets)) { + for (let index = sheet.cssRules.length - 1; index >= 0; index--) { + const rule = sheet.cssRules[index]; + if (rule instanceof CSSSupportsRule && rule.cssText.includes('--ios27-color-scheme')) sheet.deleteRule(index); } - }); - await page.addStyleTag({ content: verticalBars }); - expect(await page.evaluate(() => getComputedStyle(document.documentElement).getPropertyValue('--ios27-color-scheme').trim())).toBe(''); - const backSource = page.locator('app-native-ui-shell ion-back-button'); - await backSource.evaluate((element: HTMLIonBackButtonElement) => { - element.text = 'Return'; - element.closest('app-native-ui-shell')?.querySelector('ion-content')?.prepend(element); - }); - await page.locator('ion-app').evaluate((element) => element.classList.add('ios-theme-vertical-bars')); + } + }); + await page.addStyleTag({ content: verticalBars }); + expect(await page.evaluate(() => getComputedStyle(document.documentElement).getPropertyValue('--ios27-color-scheme').trim())).toBe(''); + const backSource = page.locator('app-native-ui-shell ion-back-button'); + await backSource.evaluate((element: HTMLIonBackButtonElement) => { + element.text = 'Return'; + element.closest('app-native-ui-shell')?.querySelector('ion-content')?.prepend(element); + }); + await page.locator('ion-app').evaluate((element) => element.classList.add('ios-theme-vertical-bars')); - const tabBar = page.locator('#tab-bar-bottom'); - await expect.poll(async () => (await tabBar.boundingBox())?.x).toBeGreaterThan(620); - const toolbar = page.locator('app-native-ui-shell ion-toolbar').first(); - await expect - .poll(() => toolbar.evaluate((element) => getComputedStyle(element).getPropertyValue('--ion-safe-area-right').trim())) - .toBe('0px'); - const source = page.locator('app-native-ui-shell ion-button[type="submit"]'); - const projection = page.locator('ion-app > ion-button.ios-theme-vertical-bars-toolbar-projection[aria-label="Save"]'); - await expect(source).toBeHidden(); - await expect(projection).toBeVisible(); - await projection.click(); - await expect(page.locator('[data-save-count]')).toHaveText('1'); + const tabBar = page.locator('#tab-bar-bottom'); + await expect.poll(async () => (await tabBar.boundingBox())?.x).toBeGreaterThan(620); + const toolbar = page.locator('app-native-ui-shell ion-toolbar').first(); + await expect + .poll(() => toolbar.evaluate((element) => getComputedStyle(element).getPropertyValue('--ion-safe-area-right').trim())) + .toBe('0px'); + const source = page.locator('app-native-ui-shell ion-button[type="submit"]'); + const projection = page.locator('ion-app > ion-button.ios-theme-vertical-bars-toolbar-projection[aria-label="Save"]'); + await expect(source).toBeHidden(); + await expect(projection).toBeVisible(); + await projection.click(); + await expect(page.locator('[data-save-count]')).toHaveText('1'); - const back = page.locator('ion-app > ion-back-button.ios-theme-vertical-bars-back-button-projection'); - await expect(back).toBeVisible(); - await expect(backSource).toBeHidden(); - expect(await back.evaluate((element: HTMLIonBackButtonElement) => element.text)).toBe(''); - await backSource.evaluate((element) => element.closest('ion-app')?.append(element)); - await expect(page.locator('ion-app > ion-back-button:not(.ios-theme-vertical-bars-back-button-projection)')).toBeHidden(); - await expect(back).toBeVisible(); - await back.click(); - await expect(page).toHaveURL(/\/main\/index$/); - }); + const back = page.locator('ion-app > ion-back-button.ios-theme-vertical-bars-back-button-projection'); + await expect(back).toBeVisible(); + await expect(backSource).toBeHidden(); + await back.click(); + await expect(page).toHaveURL(/\/main\/index$/); +}); From 5aa04f1c6f3e650818bbfd4dc15c5985adb2b129 Mon Sep 17 00:00:00 2001 From: rdlabo Date: Thu, 24 Sep 2026 23:17:25 +0900 Subject: [PATCH 41/50] feat(vertical-bars): expose native placement with web fallback --- demo/e2e/adaptive-tab-bar.spec.ts | 10 +++ .../vertical-bars-left.png | Bin 0 -> 4309 bytes demo/src/app/docs/docs-content.generated.ts | 2 +- demo/src/app/index/index-page.component.ts | 3 +- docs/special-markup.md | 24 ++++-- .../Components/ShellVerticalBars.swift | 24 ++++-- .../IonicNativeUIShellPlugin.swift | 63 +++++++++++++-- .../Shared/ShellSnapshot.swift | 2 + src/native/definitions.ts | 12 ++- src/native/index.ts | 76 ++++++++++++++++-- src/native/runtime.ts | 12 ++- src/native/vertical-bars-web.ts | 9 ++- src/styles/vertical-bars.scss | 29 ++++++- src/vertical-bars.ts | 9 ++- 14 files changed, 238 insertions(+), 37 deletions(-) create mode 100644 demo/e2e/adaptive-tab-bar.spec.ts-snapshots/vertical-bars-left.png diff --git a/demo/e2e/adaptive-tab-bar.spec.ts b/demo/e2e/adaptive-tab-bar.spec.ts index 06efef2e..c9722edd 100644 --- a/demo/e2e/adaptive-tab-bar.spec.ts +++ b/demo/e2e/adaptive-tab-bar.spec.ts @@ -44,3 +44,13 @@ test('verticalBars mode moves tabs into the right rail and reveals labels while }); expect(overlayDirection).toBe('row'); }); + +test('manual classes place the Web rail on the left in Chrome', async ({ page }) => { + await page.setViewportSize({ width: 700, height: 900 }); + await page.goto('/main/index'); + await page.locator('ion-app').evaluate((root) => root.classList.add('ios-theme-vertical-bars', 'ios-theme-vertical-bars-left')); + + const bar = page.locator('#tab-bar-bottom'); + await expect.poll(async () => (await bar.boundingBox())?.x).toBeLessThan(35); + await expect(bar).toHaveScreenshot('vertical-bars-left.png', { animations: 'disabled' }); +}); diff --git a/demo/e2e/adaptive-tab-bar.spec.ts-snapshots/vertical-bars-left.png b/demo/e2e/adaptive-tab-bar.spec.ts-snapshots/vertical-bars-left.png new file mode 100644 index 0000000000000000000000000000000000000000..d3b4f8dd8e8c79a02ded4b1cef79155d10474410 GIT binary patch literal 4309 zcmai&XEYpKyM~QAj2^v3CxWP>M=ygY(MRtjQ6dPU8%e|{gXms8Y6u2H^e#%o=rVd6 zoe-VlUFV$d@AqT(wb#C%y{_l}@x&PDX_ApJk>KFqkU_N6p5KpR_iX}*d*2%>Z3g1t zP~t$;l#K(jcdd!NX-t?x6*4l0KR2nM5GKGpLba4R0{kcBw1$R_Bmg0RdTfetY^-s9 z{dPer4INWH(wNc^Ur252REeG@zl#>6Ohwfs#l4oEF&yF)f8%1ar7Jsl@=hE=S8-Xv zJ&6s(9Aw?yE#BSU-c4g(B=BiTQ;`sGA-;9y4gLISR`KWf_^^UnF|K!|#$19aE?OmD zi9IE^8jU@HJ;0R{@}(ucBqdY`MM8yE4G~)0l)x3u67d%jOnrsvZoLko?Te1}P`E}E zs;;Jn%DQhg@fr0@hu&xH&uO?|CF`~O8y%JTogNaIM`f=P#E@edKR0X4NpyL+FnE*U z&!ky2^wr4OiPWQ5Xdq_+tu_h$USb(XRDgpJLet z+sS_BHiBaSkV(33ph_EZl*j~vgxVJ^jg5g7(WfYkXK9kJ#9_1$9q1KaXwR~DL`hLZ zIW1rA>?>TpnM5>pmsF42xn5ePIeh*xzes^mQUo1z=M;+K87Rxo=aAcR!Pg@<$>Z|< zpvSY=ob#Yt6fK0MP0$oUb2>j-4E$IB^rxqVTDY_XB*W8Jz6e!897jI#yA*yCA$ z#|S?X8lWUMDyClgz6{c$$Hn9u`I2!xFez(h7Z?_ToJPoDea7@en>vZd6ka5K0=@!+ zj6sNFa)n`~U-&V6T9?K!2#0Ox!b`%OktInI5?%JFk6e(UJx|nb?JdmK_(RT|GZ7il zHZtBImdZL0!t#&lYFw%BHcVMa(QmwJ&tHyr(WqpU*S+(%oyj@KY*exp=IAu~HdQ<9 zxnP-09f5aO&Sa*fW*l>$-19|iLXjuBZ@pYA9eah#T{O_sg2N{0B#F47P4`l>leFK7L1q~4Z%6%}4g%9I>X$`|-StZT7S;@guP z%IA*tU?I%m{phV+KmXV->~Uk?NA@>e0of$FCFpW073xqj-0ts^RSyq3G@O;{E>b*g zpS?L;^Pm|enCu2|6|07uGrvl!u^#IPfEB@v*b9_)G>Iy+h=U)6UC@&I^6 zhCzE=9Er_#3pj6($R0kcL)#BK^<3{@X}7)gh0x7}1`$>NpXm>TNC(19%}wDR=F-DC zPsztx4U-wn#{vd=GaqbeK|9)-uMI7OQf4?aB{W4&^*b4(a5GIeU2-*iiV1pF))EV& zjcQ>uX3Ri}e)%C?$d2eOopDtV z8p-AekEEP1RHA&CN*>{OKV^>DO0LWR-^&4q@roF_FZsX!s0qnZ4)n$N6=2F|->0VY z8|&P9H8OVr1d8P&DD}{k?h<|SgODDV~t-9M4!m zBH`O?oYy#jGUUhXj@{;-Bm^13T#B4F@+xX)QoS3~oBFC&0gI2%{Q^rTJRr}ezrj`b z+Go5_`Q-P;sU8ABL$8LEPrJa1WQ}mvxj@5**0*Pl2FT5+3IdK6>9{IeTfFF%#{EFh zGA2Eu9-0=V66&GUOD^tHNLry^$#W!H+1@Upzd%Hct8#Mz0YzCXbN;d1EUPDzQY{RS=FN6+=!68mPR1+tE_OLE}Q; zX3p{P@zp{5-Fs$FZ`mAXDNnUW86tR8f7S+*V`F12m_YDpOCk!kmWz!nhz}3^bf(6! z!t^V&B|vn!$DCm3Fx>w*PooO7M7Me=Y~c`-7`s_r_x0o_ff0la5W(DpnkAdX_QV( zdI^=X2$(K_-oT$MB`<@BM2L<5Ki~G>79A;zD%!Qp%}g1Mf>X<6OcJGL)iy0d>g(=J zn0?KMAtza0ZGa|0x@V=v<%WeC3U}9kB>D$|7sz?X1cipsn;>G2g{;)7w#)6WmW{R5 ztEpaRdyR{qvPnQ7%>*_~wQakg>2%K1kf5cG2zcDOduRF9p45G8woN|87*C?1-6^92 zf#i!LNzS#;K;noGgHCgGt`u;3_YJ9q0LQ!Ao0gxfIQgAXM2aV4s;civ5gxgYRV%ca#mTjT7ue%+~DKE`e~c2CdP`z$ZWfBFQ=NjUyb3c3ZnW3)M z(`;v$6IkWwp!46~9xQi%K%d-mNw z4T>WfZ|>2$M~&JH)1hduSRO3mow7*G=Tm&TmaH#qg-X2K$D&ILKbcxsK%VbRH+n7V z)vEv1?m?bUS$YXUky_dMmuCle_u@}?XOq|9g6{S%*XOGV2Thx7gP|hxErD+m*c5sc zR{P?(tQzU&AG*oK@=`b}F;Z$1{ZB(uZ4tf#kj;2fsKI|m&RgTAx zS*sgN_l!ufWu7U~e|WCS@Blil%$JeE@4q)kKm?$lW8+Kmmuh@fqRX354V+xEVsJR0 z55jbe=E#Zu{&uwd;bB96Owm4#?CTZ$HaUSjX9pkH$6%})hQ*+jbV8K2whi<5{~um_0}1u?}sX+Lami7n(=iL)sw zj{Ax2=COvR6EqKpOTmcr&Vh0@ zH}|Nt-(K#(9t4l8@KTqFPh=&I&@Bc;2BF(RuIx0%theL9ZTgBgCuJr7Q2+56*j2^u zR^xECj7LUJeYGSqj7Xk*Q5+37D$(m)b7y0k)!fzW)D^t7`}yvmwZAteVJep0pg|-q5eBe@uK$Mp=RMmYo3fSZ=Td zu2C^fE!=}`{8=Ye5FuEmg!ipvzVvV2@2)oCnC>;v6@&4n(<#e*Ca0U;D=~z}zrk}b zlgb7S)dy&qn9$Z9&YWNFROg$ zvB$Mn0;?}i4ZU@$Hp**zT!o6%kCA?)1HpA9nbaN*Z+&;B@ylQWXeG1u;ZH|l*EZUV zkp45uZ^u+OO>n1?Kf_6`Pb>zFwfgQav^Tu&<9D!-Q>4NFDf2v*@vu0}Ch0ejG)+Uw z0HQY1P+F?hkoKhn+P|usJtoQm*hV`@odn>6?)|B+PyDAm*D{Q7DD6qf{I}kwH=AN} zqWr}92IhtKwIcj0TfYj^!$r?JTb|xszexvmF#x@GXKK>Dxxqwt5Cz8IN82@S@~>Ca zQsbGJ3nLdFj_t_&*xw@61Nytv%{Ke(Xn^YY`^g?YwR(jo(|P2u#yJ*FtYTbxQ1=!9 zA!bW33pUIaToSQYO}a`I4dim_;4d_iEI`-Rik;iMmMq11en_9qb>8}OF`39IcuWbjqlhG!V|Zr(?_EPTdfEExam%bZsyI8F94sg> zhQNUEACIeBsO3d=m3b6MVN(Wenxq~QObIM9k>Qcv1?Af<0+d?spS2WEG&jov!-bQh zjlXT)Tf;x%uH<0KYR~xwvU#A3oh9sH9=>}{|_PeAl+dGPz~D*vdUm2CG4r-w#-(veJMi2jrRN& zoP;+H=~&Y840jb_8i5eG)tFlgOEm#;n7~;%VDs$72B^JuznS$*{{0lss62gX?gknLhCHE z1iGu}3z{bm?kh7^X5*!sV9i6}GaaoGCvyq1321Hemi|m+kTkc5VH10nvR9hSk$X=59J+q7qN?Bunb@^ExV@uMgVn*S2ZMT?o`_;d4-?)6%5R zMA^aaya7uv6ix((V~)X65LTMZ0S}-!JnA;lEscbdgGX3U`X=P8Ut2hL uP%H;0|GK*uaCi52k8l2dLin!|Je(I^tl9(g67TPKa3Jb>YE>$Bk^cj|^f`F| literal 0 HcmV?d00001 diff --git a/demo/src/app/docs/docs-content.generated.ts b/demo/src/app/docs/docs-content.generated.ts index dd019f57..3c8f04f0 100644 --- a/demo/src/app/docs/docs-content.generated.ts +++ b/demo/src/app/docs/docs-content.generated.ts @@ -1,3 +1,3 @@ // Generated from docs/special-markup.md. Do not edit directly. export const docsContentHtml = - '

      Special markup and classes

      \n

      Most Ionic markup works without changes. The combinations below are explicit opt-ins provided by the theme.

      \n

      Primary submit buttons

      \n

      Solid submit buttons use the Ionic color's contrast value for their foreground. Their directional edge treatment follows the iOS 27 prominent-button appearance and does not require an additional brightness color.

      \n
      <ion-button type="submit" color="primary">Submit</ion-button>\n<ion-button class="button-submit" fill="solid" color="primary">Continue</ion-button>
      \n\n
      \n
      Preview
      \nSubmit\nContinue\n
      \n\n

      Use .button-submit when the button needs the same treatment but cannot use type="submit".

      \n

      Preferred overlay actions

      \n

      For iOS alerts and action sheets, set role: 'preferred' on a button to give it a filled --ion-color-primary background and --ion-color-primary-contrast text and icons. While pressed, the background uses --ion-color-primary-shade. This is a theme convention using Ionic's custom button roles; it does not automatically select or invoke the action. Dismissal reports the role as preferred.

      \n
      buttons: [\n  { text: \'Cancel\', role: \'cancel\' },\n  { text: \'Continue\', role: \'preferred\' },\n];
      \n\n

      Buttons with no role or default keep the normal text color. cancel retains Ionic's cancellation behavior, selected remains a selection state, and destructive uses --ios-theme-destructive-color. An existing confirm role is not treated as preferred. Use preferred for the recommended action, not simply any action that confirms a choice.

      \n

      Floating iPad sheets

      \n

      Set expandToScroll: false on a sheet modal to use floating lower corners and a 20px bottom gap on iPad. Ionic then sizes the visible page at each breakpoint, so the theme can style it with CSS alone. Content scrolls within the current breakpoint; dragging the handle still resizes the sheet. With the default expandToScroll: true, the sheet keeps Ionic's bottom-attached layout and scroll-to-expand behavior.

      \n

      Tab bar position

      \n

      Add one of tab-bar-position-start, tab-bar-position-center, or tab-bar-position-end to an iOS ion-tab-bar to position the whole bar within its safe area. These classes work with both slot="top" and slot="bottom" and preserve the bar's width and press animation. Start and end follow the text direction (reversed in RTL). Without a class, the existing placement is unchanged.

      \n
      <ion-tab-bar slot="bottom" class="tab-bar-position-center">\n  <ion-tab-button tab="home">Home</ion-tab-button>\n  <ion-tab-button tab="settings">Settings</ion-tab-button>\n</ion-tab-bar>
      \n\n

      These classes do not reposition a separate ion-fab; leave room for it when choosing the bar's position.

      \n

      Support iPhone Duo

      \n

      Load the separate stylesheet and start its projection runtime. The iOS 27 theme stylesheets are not required:

      \n
      @use \'@rdlabo/ionic-theme-ios27/dist/css/vertical-bars.css\';
      \n\n
      import { enableVerticalControlArea } from \'@rdlabo/ionic-theme-ios27/vertical-bars\';\n\n// `platform` is the app\'s injected Ionic Platform instance.\nif (platform.is(\'ios\')) {\n  void enableVerticalControlArea();\n}
      \n\n

      The platform.is('ios') guard is an application choice, not an Ionic mode requirement. An app can keep mode: 'md' on iOS and still enable Vertical Bars.

      \n

      Add .ios-theme-vertical-bars to the active ion-app. Use body only when the application has no ion-app root:

      \n
      <ion-app class="ios-theme-vertical-bars">...</ion-app>
      \n\n

      For example, an app configured with Ionic mode: 'md' can use this same ion-app class. No component needs to switch to mode="ios" for Vertical Bars.

      \n

      The class reserves 80px on the physical right by default, matching the system navigation region measured in the iPhone Duo Simulator. The physical left defaults to 0px. Override --ios-theme-vertical-bars-safe-area-left or --ios-theme-vertical-bars-safe-area-right when simulating a different layout.

      \n

      This keeps routers and component backgrounds full-viewport. ion-content moves its scroll foreground, ion-toolbar moves its container foreground, and ion-fab adjusts only when it is placed beside the system UI. The corresponding Ionic safe-area variable is reset inside those foreground components so descendants do not add the inset again.

      \n

      ion-menu, ion-modal, and ion-popover are handled as separate surfaces: their internal foreground components do not receive the main-page conversion and retain Ionic's standard safe-area handling. A menu presented beside the system UI keeps Ionic's full-viewport animation host and offsets only its visible container by the corresponding inset; a menu from the opposite side is unchanged. Left and right remain physical coordinates in RTL, while Ionic's side="start" and side="end" values remain logical.

      \n

      These values are web-layout simulation inputs. They are independent from Ionic's normal iPhone safe-area variables and do not change ordinary iPhone layouts unless the opt-in class is present.

      \n

      When the app contains ion-tabs, this mode moves its tab bar into the physical right-side reserved region and aligns it above the bottom safe area. The Ionic slot value does not select a different position. Without Native UI Shell, the stable Web rail is icon-only, matching a four-tab SwiftUI TabView on iPhone Duo. While the user presses and drags across that rail, every icon-and-label tab reveals its label so the pending destination stays identifiable. The Web tab bar receives pointer input in the simulated system region. Use ion-menu when navigation should become a sidebar; this mode does not convert tabs into a menu.

      \n

      On supported iOS versions, enableVerticalControlArea() hands eligible tabs, back navigation, menu buttons, and fixed-toolbar actions to a native SwiftUI TabView and toolbar. Vertical Bars works with either Ionic ios or md mode; the application chooses both its component mode and where to enable Vertical Bars. Back navigation can come from outside a fixed toolbar; other toolbar actions still require a fixed toolbar. It does not project ordinary Native UI Shell controls outside the vertical area. If the app already uses the full enableNativeUIShell(), keep that single runtime instead of starting both. The Ionic controls remain the sources of labels, icons, selected/disabled state, form submission, routing, and click handlers while SwiftUI owns adaptive placement and interaction. Fixed-toolbar actions need an icon or SVG, no direct text node, and standard fill="default" or fill="clear" to be eligible for the side rail. Text-only actions stay in the original Web toolbar. Add .ios-theme-horizontal-only to an ion-buttons group or individual ion-button to keep it in the Web toolbar. Placement is chosen when a routed page enters; changing an existing button's content does not move it between the toolbar and rail until the page leaves and re-enters. Menus, modals, and popovers retain their own toolbar layout.

      \n

      On Web, Android, older iOS, or when native projection is unavailable during setup, the Web tab bar and fixed-toolbar clones remain the fallback. Those projections also work when no ion-tabs exists; text-only actions stay in the original Web toolbar. Disabling the mode or leaving the page removes the native ownership or Web clones and restores their sources. Override --ios-theme-vertical-bars-toolbar-top when the simulated system controls use a different vertical layout.

      \n

      Two-line inset list items

      \n

      Place an unslotted ion-label immediately alongside an unslotted ion-note to render a two-line item. When using the iOS-style inset-list background, wrap the items in ion-item-group; keep ion-list-header outside the group.

      \n
      <ion-list inset="true">\n  <ion-list-header>\n    <ion-label>Connections</ion-label>\n  </ion-list-header>\n  <ion-item-group>\n    <ion-item>\n      <ion-label>Network &amp; internet</ion-label>\n      <ion-note>Mobile, Wi-Fi, hotspot</ion-note>\n    </ion-item>\n  </ion-item-group>\n</ion-list>
      \n\n
      \n
      Preview
      \n\n \n Connections\n \n \n \n Network & internet\n Mobile, Wi-Fi, hotspot\n \n \n\n
      \n\n

      Use slot="end" on ion-note when you want the standard trailing-note layout instead.

      \n

      Inset-list section headers

      \n

      Add .item-group-header to an ion-item-group to create the centered icon, title, and description used at the top of the component demo pages.

      \n

      This is an introductory group. Place regular list items in a separate ion-item-group that follows it.

      \n
      <ion-list inset="true">\n  <ion-item-group class="item-group-header">\n    <ion-item>\n      <ion-label>\n        <ion-icon name="list" style="background: var(--ion-color-primary)"></ion-icon>\n        <h2>Lists</h2>\n        <ion-text>Inset-list examples</ion-text>\n      </ion-label>\n    </ion-item>\n  </ion-item-group>\n  <ion-item-group>\n    <ion-item><ion-label>First item</ion-label></ion-item>\n  </ion-item-group>\n</ion-list>
      \n\n
      \n
      Preview
      \n\n \n \n \n \n

      Lists

      \n Inset-list examples\n
      \n
      \n
      \n \n First item\n \n
      \n
      \n\n

      Full-width segments

      \n

      Add .segment-style-glass to give a segment the same glass surface and selected indicator treatment as the tab bar. The class preserves the segment's existing dimensions and text colors, supports scrollable segments, and respects Ionic's public --background property.

      \n
      <ion-segment class="segment-style-glass" value="available">\n  <ion-segment-button value="available">Available</ion-segment-button>\n  <ion-segment-button value="away">Away</ion-segment-button>\n</ion-segment>
      \n\n

      For colored segments, use Ionic's color property (for example, color="primary" or color="secondary"). Ionic uses the palette's base color for the softly tinted track while keeping the selected surface and labels neutral. A surrounding colored toolbar only supplies colors when the segment has no color of its own. The optional moving glass inherits the selected surface color, and custom Ionic palettes work without additional registration.

      \n

      Add .segment-expand when segment buttons should divide the available width evenly. The class also changes the Liquid Glass effect sizing when registerSegmentEffect is used.

      \n

      Segments use a 32px minimum height in content and a 48px minimum height inside ion-toolbar. .segment-expand keeps the compact 32px layout in a toolbar. Compact segments retain Ionic's flat background and indicator colors; only the regular toolbar variant has a glass container and scales its outer container while pressed. Content and expanded segments keep their outer bounds. The optional moving glass lens is independent of the container's background.

      \n
      <ion-segment class="segment-expand" value="new">\n  <ion-segment-button value="new"><ion-label>New</ion-label></ion-segment-button>\n  <ion-segment-button value="replied"><ion-label>Replied</ion-label></ion-segment-button>\n</ion-segment>
      \n\n
      \n
      Preview
      \n\n New\n Replied\n\n
      \n\n

      Classic search bar in a condense header

      \n

      The theme gives iOS search bars the iOS 27 appearance by default. Add .searchbar-classic to the search field shown beneath a large title in an ion-header with collapse="condense". It uses the conventional filled iOS appearance and collapses with the large title instead of remaining in the fixed header.

      \n

      Place it in a toolbar with a color, such as color="light"; the classic background is derived from that color's contrast value.

      \n

      The example uses Ionic's standard collapsible large-title structure. Scroll the preview to collapse the large title and reveal the fixed header.

      \n
      <div class="ion-page">\n  <ion-header translucent="true">\n    <ion-toolbar color="light">\n      <ion-title>Search</ion-title>\n    </ion-toolbar>\n  </ion-header>\n  <ion-content color="light" fullscreen="true">\n    <ion-header collapse="condense">\n      <ion-toolbar color="light">\n        <ion-title size="large">Search</ion-title>\n      </ion-toolbar>\n      <ion-toolbar color="light">\n        <ion-searchbar class="searchbar-classic" placeholder="Filter results"></ion-searchbar>\n      </ion-toolbar>\n    </ion-header>\n    <ion-list inset="true">\n      <ion-item-group>\n        <ion-item><ion-label>Recent item 1</ion-label></ion-item>\n        <ion-item><ion-label>Recent item 2</ion-label></ion-item>\n        <ion-item><ion-label>Recent item 3</ion-label></ion-item>\n        <ion-item><ion-label>Recent item 4</ion-label></ion-item>\n        <ion-item><ion-label>Recent item 5</ion-label></ion-item>\n        <ion-item><ion-label>Recent item 6</ion-label></ion-item>\n        <ion-item><ion-label>Recent item 7</ion-label></ion-item>\n        <ion-item><ion-label>Recent item 8</ion-label></ion-item>\n        <ion-item><ion-label>Recent item 9</ion-label></ion-item>\n        <ion-item><ion-label>Recent item 10</ion-label></ion-item>\n      </ion-item-group>\n    </ion-list>\n  </ion-content>\n</div>
      \n\n
      \n
      Preview
      \n
      \n \n \n Search\n \n \n \n \n \n Search\n \n \n \n \n \n \n \n Recent item 1\n Recent item 2\n Recent item 3\n Recent item 4\n Recent item 5\n Recent item 6\n Recent item 7\n Recent item 8\n Recent item 9\n Recent item 10\n \n \n \n
      \n
      \n\n

      The .ion-page wrapper makes this embedded preview behave like a complete routed page. An application using ion-router-outlet normally receives that page container automatically. The inset list and its items only provide enough content to demonstrate scrolling; they are not required by .searchbar-classic.

      \n

      Search-bar toolbars

      \n

      Add .toolbar-searchbar when an ion-toolbar combines a search bar with start or end buttons. The class centers the slotted controls and adjusts the spacing around the search field.

      \n
      <ion-toolbar class="toolbar-searchbar">\n  <ion-buttons slot="start">\n    <ion-button>Cancel</ion-button>\n  </ion-buttons>\n  <ion-searchbar></ion-searchbar>\n</ion-toolbar>
      \n\n
      \n
      Preview
      \n\n \n Cancel\n \n \n\n
      \n\n

      Opting out

      \n

      Add .ios-theme-disabled to an individual Ionic component when it must retain Ionic's standard iOS styling.

      \n

      .ios26-disabled is deprecated but remains supported as an alias with the same behavior. Use .ios-theme-disabled for new code.

      \n
      <ion-button>iOS 27 theme</ion-button> <ion-button class="ios-theme-disabled">Standard Ionic button</ion-button>
      \n\n
      \n
      Preview
      \niOS 27 theme Standard Ionic button\n
      \n\n

      For the background model behind inset lists, see Using ion-item-group.

      \n'; + '

      Special markup and classes

      \n

      Most Ionic markup works without changes. The combinations below are explicit opt-ins provided by the theme.

      \n

      Primary submit buttons

      \n

      Solid submit buttons use the Ionic color's contrast value for their foreground. Their directional edge treatment follows the iOS 27 prominent-button appearance and does not require an additional brightness color.

      \n
      <ion-button type="submit" color="primary">Submit</ion-button>\n<ion-button class="button-submit" fill="solid" color="primary">Continue</ion-button>
      \n\n
      \n
      Preview
      \nSubmit\nContinue\n
      \n\n

      Use .button-submit when the button needs the same treatment but cannot use type="submit".

      \n

      Preferred overlay actions

      \n

      For iOS alerts and action sheets, set role: 'preferred' on a button to give it a filled --ion-color-primary background and --ion-color-primary-contrast text and icons. While pressed, the background uses --ion-color-primary-shade. This is a theme convention using Ionic's custom button roles; it does not automatically select or invoke the action. Dismissal reports the role as preferred.

      \n
      buttons: [\n  { text: \'Cancel\', role: \'cancel\' },\n  { text: \'Continue\', role: \'preferred\' },\n];
      \n\n

      Buttons with no role or default keep the normal text color. cancel retains Ionic's cancellation behavior, selected remains a selection state, and destructive uses --ios-theme-destructive-color. An existing confirm role is not treated as preferred. Use preferred for the recommended action, not simply any action that confirms a choice.

      \n

      Floating iPad sheets

      \n

      Set expandToScroll: false on a sheet modal to use floating lower corners and a 20px bottom gap on iPad. Ionic then sizes the visible page at each breakpoint, so the theme can style it with CSS alone. Content scrolls within the current breakpoint; dragging the handle still resizes the sheet. With the default expandToScroll: true, the sheet keeps Ionic's bottom-attached layout and scroll-to-expand behavior.

      \n

      Tab bar position

      \n

      Add one of tab-bar-position-start, tab-bar-position-center, or tab-bar-position-end to an iOS ion-tab-bar to position the whole bar within its safe area. These classes work with both slot="top" and slot="bottom" and preserve the bar's width and press animation. Start and end follow the text direction (reversed in RTL). Without a class, the existing placement is unchanged.

      \n
      <ion-tab-bar slot="bottom" class="tab-bar-position-center">\n  <ion-tab-button tab="home">Home</ion-tab-button>\n  <ion-tab-button tab="settings">Settings</ion-tab-button>\n</ion-tab-bar>
      \n\n

      These classes do not reposition a separate ion-fab; leave room for it when choosing the bar's position.

      \n

      Support iPhone Duo

      \n

      Load the separate stylesheet and start its projection runtime. The iOS 27 theme stylesheets are not required:

      \n
      @use \'@rdlabo/ionic-theme-ios27/dist/css/vertical-bars.css\';
      \n\n
      import {\n  addVerticalBarPlacementListener,\n  enableVerticalControlArea,\n  getVerticalBarPlacement,\n} from \'@rdlabo/ionic-theme-ios27/vertical-bars\';\n\n// Start Web projection on Chrome too; it remains idle until the class is present.\nconst rail = await enableVerticalControlArea();\n\n// `platform` is the app\'s injected Ionic Platform instance.\nif (platform.is(\'ios\')) {\n  await addVerticalBarPlacementListener(({ edge }) => rail.setPlacement(edge));\n  rail.setPlacement((await getVerticalBarPlacement()).edge);\n}
      \n\n

      The platform.is('ios') guard controls automatic application of native placement, not the component mode or the Web simulation. An app can keep mode: 'md' on iOS and still enable Vertical Bars.

      \n

      The placement listener only reports what iOS chose; the application decides whether to call setPlacement. Passing null restores the ordinary layout. Placement is read from the WebView's UIKit trait; projected tabs and toolbar controls still render with SwiftUI. If the app already starts the full enableNativeUIShell(), use setVerticalControlAreaPlacement(edge) instead of starting another runtime.

      \n

      For Chrome development, no native plugin is needed. Add .ios-theme-vertical-bars to the active ion-app to simulate the right rail, or add .ios-theme-vertical-bars-left as well to simulate the left rail. Use body only when the application has no ion-app root:

      \n
      <ion-app class="ios-theme-vertical-bars">...</ion-app>
      \n\n

      For example, an app configured with Ionic mode: 'md' can use this same ion-app class. No component needs to switch to mode="ios" for Vertical Bars.

      \n

      The class reserves 80px on the physical right in Chrome, matching the system navigation region measured in the iPhone Duo Simulator. On iOS it also respects a larger CSS safe-area inset. The left modifier moves that reservation to the physical left. Override --ios-theme-vertical-bars-safe-area-left or --ios-theme-vertical-bars-safe-area-right when simulating a different layout.

      \n

      This keeps routers and component backgrounds full-viewport. ion-content moves its scroll foreground, ion-toolbar moves its container foreground, and ion-fab adjusts only when it is placed beside the system UI. The corresponding Ionic safe-area variable is reset inside those foreground components so descendants do not add the inset again.

      \n

      ion-menu, ion-modal, and ion-popover are handled as separate surfaces: their internal foreground components do not receive the main-page conversion and retain Ionic's standard safe-area handling. A menu presented beside the system UI keeps Ionic's full-viewport animation host and offsets only its visible container by the corresponding inset; a menu from the opposite side is unchanged. Left and right remain physical coordinates in RTL, while Ionic's side="start" and side="end" values remain logical.

      \n

      These values are web-layout simulation inputs. They are independent from Ionic's normal iPhone safe-area variables and do not change ordinary iPhone layouts unless the opt-in class is present.

      \n

      When the app contains ion-tabs, this mode moves its tab bar into the chosen physical-side reserved region and aligns it above the bottom safe area. The Ionic slot value does not select a different position. Without Native UI Shell, the stable Web rail is icon-only, matching a four-tab SwiftUI TabView on iPhone Duo. While the user presses and drags across that rail, every icon-and-label tab reveals its label so the pending destination stays identifiable. The Web tab bar receives pointer input in the simulated system region. Use ion-menu when navigation should become a sidebar; this mode does not convert tabs into a menu.

      \n

      On supported iOS versions, enableVerticalControlArea() hands eligible tabs, back navigation, menu buttons, and fixed-toolbar actions to a native SwiftUI TabView and toolbar. Vertical Bars works with either Ionic ios or md mode; the application chooses both its component mode and where to enable Vertical Bars. Back navigation can come from outside a fixed toolbar; other toolbar actions still require a fixed toolbar. It does not project ordinary Native UI Shell controls outside the vertical area. If the app already uses the full enableNativeUIShell(), keep that single runtime instead of starting both. The Ionic controls remain the sources of labels, icons, selected/disabled state, form submission, routing, and click handlers while SwiftUI owns adaptive placement and interaction. Fixed-toolbar actions need an icon or SVG, no direct text node, and standard fill="default" or fill="clear" to be eligible for the side rail. Text-only actions stay in the original Web toolbar. Add .ios-theme-horizontal-only to an ion-buttons group or individual ion-button to keep it in the Web toolbar. Placement is chosen when a routed page enters; changing an existing button's content does not move it between the toolbar and rail until the page leaves and re-enters. Menus, modals, and popovers retain their own toolbar layout.

      \n

      On Web, Android, or when native projection is unavailable, the Web tab bar and fixed-toolbar clones remain the fallback. Those projections also work when no ion-tabs exists; text-only actions stay in the original Web toolbar. Disabling the mode or leaving the page removes the native ownership or Web clones and restores their sources. Override --ios-theme-vertical-bars-toolbar-top when the simulated system controls use a different vertical layout.

      \n

      Two-line inset list items

      \n

      Place an unslotted ion-label immediately alongside an unslotted ion-note to render a two-line item. When using the iOS-style inset-list background, wrap the items in ion-item-group; keep ion-list-header outside the group.

      \n
      <ion-list inset="true">\n  <ion-list-header>\n    <ion-label>Connections</ion-label>\n  </ion-list-header>\n  <ion-item-group>\n    <ion-item>\n      <ion-label>Network &amp; internet</ion-label>\n      <ion-note>Mobile, Wi-Fi, hotspot</ion-note>\n    </ion-item>\n  </ion-item-group>\n</ion-list>
      \n\n
      \n
      Preview
      \n\n \n Connections\n \n \n \n Network & internet\n Mobile, Wi-Fi, hotspot\n \n \n\n
      \n\n

      Use slot="end" on ion-note when you want the standard trailing-note layout instead.

      \n

      Inset-list section headers

      \n

      Add .item-group-header to an ion-item-group to create the centered icon, title, and description used at the top of the component demo pages.

      \n

      This is an introductory group. Place regular list items in a separate ion-item-group that follows it.

      \n
      <ion-list inset="true">\n  <ion-item-group class="item-group-header">\n    <ion-item>\n      <ion-label>\n        <ion-icon name="list" style="background: var(--ion-color-primary)"></ion-icon>\n        <h2>Lists</h2>\n        <ion-text>Inset-list examples</ion-text>\n      </ion-label>\n    </ion-item>\n  </ion-item-group>\n  <ion-item-group>\n    <ion-item><ion-label>First item</ion-label></ion-item>\n  </ion-item-group>\n</ion-list>
      \n\n
      \n
      Preview
      \n\n \n \n \n \n

      Lists

      \n Inset-list examples\n
      \n
      \n
      \n \n First item\n \n
      \n
      \n\n

      Full-width segments

      \n

      Add .segment-style-glass to give a segment the same glass surface and selected indicator treatment as the tab bar. The class preserves the segment's existing dimensions and text colors, supports scrollable segments, and respects Ionic's public --background property.

      \n
      <ion-segment class="segment-style-glass" value="available">\n  <ion-segment-button value="available">Available</ion-segment-button>\n  <ion-segment-button value="away">Away</ion-segment-button>\n</ion-segment>
      \n\n

      For colored segments, use Ionic's color property (for example, color="primary" or color="secondary"). Ionic uses the palette's base color for the softly tinted track while keeping the selected surface and labels neutral. A surrounding colored toolbar only supplies colors when the segment has no color of its own. The optional moving glass inherits the selected surface color, and custom Ionic palettes work without additional registration.

      \n

      Add .segment-expand when segment buttons should divide the available width evenly. The class also changes the Liquid Glass effect sizing when registerSegmentEffect is used.

      \n

      Segments use a 32px minimum height in content and a 48px minimum height inside ion-toolbar. .segment-expand keeps the compact 32px layout in a toolbar. Compact segments retain Ionic's flat background and indicator colors; only the regular toolbar variant has a glass container and scales its outer container while pressed. Content and expanded segments keep their outer bounds. The optional moving glass lens is independent of the container's background.

      \n
      <ion-segment class="segment-expand" value="new">\n  <ion-segment-button value="new"><ion-label>New</ion-label></ion-segment-button>\n  <ion-segment-button value="replied"><ion-label>Replied</ion-label></ion-segment-button>\n</ion-segment>
      \n\n
      \n
      Preview
      \n\n New\n Replied\n\n
      \n\n

      Classic search bar in a condense header

      \n

      The theme gives iOS search bars the iOS 27 appearance by default. Add .searchbar-classic to the search field shown beneath a large title in an ion-header with collapse="condense". It uses the conventional filled iOS appearance and collapses with the large title instead of remaining in the fixed header.

      \n

      Place it in a toolbar with a color, such as color="light"; the classic background is derived from that color's contrast value.

      \n

      The example uses Ionic's standard collapsible large-title structure. Scroll the preview to collapse the large title and reveal the fixed header.

      \n
      <div class="ion-page">\n  <ion-header translucent="true">\n    <ion-toolbar color="light">\n      <ion-title>Search</ion-title>\n    </ion-toolbar>\n  </ion-header>\n  <ion-content color="light" fullscreen="true">\n    <ion-header collapse="condense">\n      <ion-toolbar color="light">\n        <ion-title size="large">Search</ion-title>\n      </ion-toolbar>\n      <ion-toolbar color="light">\n        <ion-searchbar class="searchbar-classic" placeholder="Filter results"></ion-searchbar>\n      </ion-toolbar>\n    </ion-header>\n    <ion-list inset="true">\n      <ion-item-group>\n        <ion-item><ion-label>Recent item 1</ion-label></ion-item>\n        <ion-item><ion-label>Recent item 2</ion-label></ion-item>\n        <ion-item><ion-label>Recent item 3</ion-label></ion-item>\n        <ion-item><ion-label>Recent item 4</ion-label></ion-item>\n        <ion-item><ion-label>Recent item 5</ion-label></ion-item>\n        <ion-item><ion-label>Recent item 6</ion-label></ion-item>\n        <ion-item><ion-label>Recent item 7</ion-label></ion-item>\n        <ion-item><ion-label>Recent item 8</ion-label></ion-item>\n        <ion-item><ion-label>Recent item 9</ion-label></ion-item>\n        <ion-item><ion-label>Recent item 10</ion-label></ion-item>\n      </ion-item-group>\n    </ion-list>\n  </ion-content>\n</div>
      \n\n
      \n
      Preview
      \n
      \n \n \n Search\n \n \n \n \n \n Search\n \n \n \n \n \n \n \n Recent item 1\n Recent item 2\n Recent item 3\n Recent item 4\n Recent item 5\n Recent item 6\n Recent item 7\n Recent item 8\n Recent item 9\n Recent item 10\n \n \n \n
      \n
      \n\n

      The .ion-page wrapper makes this embedded preview behave like a complete routed page. An application using ion-router-outlet normally receives that page container automatically. The inset list and its items only provide enough content to demonstrate scrolling; they are not required by .searchbar-classic.

      \n

      Search-bar toolbars

      \n

      Add .toolbar-searchbar when an ion-toolbar combines a search bar with start or end buttons. The class centers the slotted controls and adjusts the spacing around the search field.

      \n
      <ion-toolbar class="toolbar-searchbar">\n  <ion-buttons slot="start">\n    <ion-button>Cancel</ion-button>\n  </ion-buttons>\n  <ion-searchbar></ion-searchbar>\n</ion-toolbar>
      \n\n
      \n
      Preview
      \n\n \n Cancel\n \n \n\n
      \n\n

      Opting out

      \n

      Add .ios-theme-disabled to an individual Ionic component when it must retain Ionic's standard iOS styling.

      \n

      .ios26-disabled is deprecated but remains supported as an alias with the same behavior. Use .ios-theme-disabled for new code.

      \n
      <ion-button>iOS 27 theme</ion-button> <ion-button class="ios-theme-disabled">Standard Ionic button</ion-button>
      \n\n
      \n
      Preview
      \niOS 27 theme Standard Ionic button\n
      \n\n

      For the background model behind inset lists, see Using ion-item-group.

      \n'; diff --git a/demo/src/app/index/index-page.component.ts b/demo/src/app/index/index-page.component.ts index 96a9b294..095cdac6 100644 --- a/demo/src/app/index/index-page.component.ts +++ b/demo/src/app/index/index-page.component.ts @@ -19,6 +19,7 @@ import { ToggleCustomEvent, } from '@demo/ionic'; import { ActivatedRoute, Router } from '@angular/router'; +import { setVerticalControlAreaPlacement } from '@rdlabo/ionic-theme-ios27/vertical-bars'; interface IComponent { name: string; @@ -101,6 +102,6 @@ export class IndexPageComponent { } changeVerticalBarsMode(event: ToggleCustomEvent) { - this.#document.querySelector('ion-app')?.classList.toggle('ios-theme-vertical-bars', event.detail.checked); + setVerticalControlAreaPlacement(event.detail.checked ? 'right' : null); } } diff --git a/docs/special-markup.md b/docs/special-markup.md index 5d7b206f..c07bdc64 100644 --- a/docs/special-markup.md +++ b/docs/special-markup.md @@ -56,17 +56,27 @@ Load the separate stylesheet and start its projection runtime. The iOS 27 theme ``` ```ts -import { enableVerticalControlArea } from '@rdlabo/ionic-theme-ios27/vertical-bars'; +import { + addVerticalBarPlacementListener, + enableVerticalControlArea, + getVerticalBarPlacement, +} from '@rdlabo/ionic-theme-ios27/vertical-bars'; + +// Start Web projection on Chrome too; it remains idle until the class is present. +const rail = await enableVerticalControlArea(); // `platform` is the app's injected Ionic Platform instance. if (platform.is('ios')) { - void enableVerticalControlArea(); + await addVerticalBarPlacementListener(({ edge }) => rail.setPlacement(edge)); + rail.setPlacement((await getVerticalBarPlacement()).edge); } ``` -The `platform.is('ios')` guard is an application choice, not an Ionic `mode` requirement. An app can keep `mode: 'md'` on iOS and still enable Vertical Bars. +The `platform.is('ios')` guard controls automatic application of native placement, not the component mode or the Web simulation. An app can keep `mode: 'md'` on iOS and still enable Vertical Bars. + +The placement listener only reports what iOS chose; the application decides whether to call `setPlacement`. Passing `null` restores the ordinary layout. Placement is read from the WebView's UIKit trait; projected tabs and toolbar controls still render with SwiftUI. If the app already starts the full `enableNativeUIShell()`, use `setVerticalControlAreaPlacement(edge)` instead of starting another runtime. -Add `.ios-theme-vertical-bars` to the active `ion-app`. Use `body` only when the application has no `ion-app` root: +For Chrome development, no native plugin is needed. Add `.ios-theme-vertical-bars` to the active `ion-app` to simulate the right rail, or add `.ios-theme-vertical-bars-left` as well to simulate the left rail. Use `body` only when the application has no `ion-app` root: ```html ... @@ -74,7 +84,7 @@ Add `.ios-theme-vertical-bars` to the active `ion-app`. Use `body` only when the For example, an app configured with Ionic `mode: 'md'` can use this same `ion-app` class. No component needs to switch to `mode="ios"` for Vertical Bars. -The class reserves `80px` on the physical right by default, matching the system navigation region measured in the iPhone Duo Simulator. The physical left defaults to `0px`. Override `--ios-theme-vertical-bars-safe-area-left` or `--ios-theme-vertical-bars-safe-area-right` when simulating a different layout. +The class reserves `80px` on the physical right in Chrome, matching the system navigation region measured in the iPhone Duo Simulator. On iOS it also respects a larger CSS safe-area inset. The left modifier moves that reservation to the physical left. Override `--ios-theme-vertical-bars-safe-area-left` or `--ios-theme-vertical-bars-safe-area-right` when simulating a different layout. This keeps routers and component backgrounds full-viewport. `ion-content` moves its scroll foreground, `ion-toolbar` moves its container foreground, and `ion-fab` adjusts only when it is placed beside the system UI. The corresponding Ionic safe-area variable is reset inside those foreground components so descendants do not add the inset again. @@ -82,11 +92,11 @@ This keeps routers and component backgrounds full-viewport. `ion-content` moves These values are web-layout simulation inputs. They are independent from Ionic's normal iPhone safe-area variables and do not change ordinary iPhone layouts unless the opt-in class is present. -When the app contains `ion-tabs`, this mode moves its tab bar into the physical right-side reserved region and aligns it above the bottom safe area. The Ionic `slot` value does not select a different position. Without Native UI Shell, the stable Web rail is icon-only, matching a four-tab SwiftUI `TabView` on iPhone Duo. While the user presses and drags across that rail, every icon-and-label tab reveals its label so the pending destination stays identifiable. The Web tab bar receives pointer input in the simulated system region. Use `ion-menu` when navigation should become a sidebar; this mode does not convert tabs into a menu. +When the app contains `ion-tabs`, this mode moves its tab bar into the chosen physical-side reserved region and aligns it above the bottom safe area. The Ionic `slot` value does not select a different position. Without Native UI Shell, the stable Web rail is icon-only, matching a four-tab SwiftUI `TabView` on iPhone Duo. While the user presses and drags across that rail, every icon-and-label tab reveals its label so the pending destination stays identifiable. The Web tab bar receives pointer input in the simulated system region. Use `ion-menu` when navigation should become a sidebar; this mode does not convert tabs into a menu. On supported iOS versions, `enableVerticalControlArea()` hands eligible tabs, back navigation, menu buttons, and fixed-toolbar actions to a native SwiftUI `TabView` and toolbar. Vertical Bars works with either Ionic `ios` or `md` mode; the application chooses both its component mode and where to enable Vertical Bars. Back navigation can come from outside a fixed toolbar; other toolbar actions still require a fixed toolbar. It does not project ordinary Native UI Shell controls outside the vertical area. If the app already uses the full `enableNativeUIShell()`, keep that single runtime instead of starting both. The Ionic controls remain the sources of labels, icons, selected/disabled state, form submission, routing, and click handlers while SwiftUI owns adaptive placement and interaction. Fixed-toolbar actions need an icon or SVG, no direct text node, and standard `fill="default"` or `fill="clear"` to be eligible for the side rail. Text-only actions stay in the original Web toolbar. Add `.ios-theme-horizontal-only` to an `ion-buttons` group or individual `ion-button` to keep it in the Web toolbar. Placement is chosen when a routed page enters; changing an existing button's content does not move it between the toolbar and rail until the page leaves and re-enters. Menus, modals, and popovers retain their own toolbar layout. -On Web, Android, older iOS, or when native projection is unavailable during setup, the Web tab bar and fixed-toolbar clones remain the fallback. Those projections also work when no `ion-tabs` exists; text-only actions stay in the original Web toolbar. Disabling the mode or leaving the page removes the native ownership or Web clones and restores their sources. Override `--ios-theme-vertical-bars-toolbar-top` when the simulated system controls use a different vertical layout. +On Web, Android, or when native projection is unavailable, the Web tab bar and fixed-toolbar clones remain the fallback. Those projections also work when no `ion-tabs` exists; text-only actions stay in the original Web toolbar. Disabling the mode or leaving the page removes the native ownership or Web clones and restores their sources. Override `--ios-theme-vertical-bars-toolbar-top` when the simulated system controls use a different vertical layout. ## Two-line inset list items diff --git a/ios/Sources/IonicNativeUIShellPlugin/Components/ShellVerticalBars.swift b/ios/Sources/IonicNativeUIShellPlugin/Components/ShellVerticalBars.swift index df6366ce..f41bf8f6 100644 --- a/ios/Sources/IonicNativeUIShellPlugin/Components/ShellVerticalBars.swift +++ b/ios/Sources/IonicNativeUIShellPlugin/Components/ShellVerticalBars.swift @@ -5,7 +5,7 @@ import UIKit protocol ShellVerticalBarsControlling: AnyObject { var view: UIView { get } func attach(to owner: UIViewController, in parent: UIView) - func apply(_ controls: [ShellControl], rendering: ShellRendering) + func apply(_ controls: [ShellControl], rendering: ShellRendering, edge: String) func detach() } @@ -243,6 +243,7 @@ private struct ShellVerticalBarsLegacyToolbar: ViewModifier { @available(iOS 26.0, *) final class ShellVerticalBarsController: ShellVerticalBarsControlling { private final class TransparentHostingController: UIHostingController { + var railEdge = "right" override func viewDidLayoutSubviews() { super.viewDidLayoutSubviews() makeFullSizeSurfacesTransparent(in: view) @@ -250,11 +251,14 @@ final class ShellVerticalBarsController: ShellVerticalBarsControlling { private func makeFullSizeSurfacesTransparent(in surface: UIView) { let frame = surface.convert(surface.bounds, to: view) - let railWidth = view.safeAreaInsets.right > 0 ? view.safeAreaInsets.right : 80 + let inset = railEdge == "left" ? view.safeAreaInsets.left : view.safeAreaInsets.right + let railWidth = inset > 0 ? inset : 80 guard !(surface is UIVisualEffectView) else { return } let coversHost = frame.insetBy(dx: -1, dy: -1).contains(view.bounds) let coversRail = frame.minY <= 1 && frame.maxY >= view.bounds.maxY - 1 && - frame.minX <= view.bounds.maxX - railWidth + 1 && frame.maxX >= view.bounds.maxX - 1 + (railEdge == "left" + ? frame.minX <= 1 && frame.maxX >= railWidth - 1 + : frame.minX <= view.bounds.maxX - railWidth + 1 && frame.maxX >= view.bounds.maxX - 1) // SwiftUI may add an opaque backing behind the rail controls. // Keep that backing clear without touching the glass controls or materials. if coversHost || coversRail { @@ -267,8 +271,12 @@ final class ShellVerticalBarsController: ShellVerticalBarsControlling { private final class RailContainer: UIView { private let railMask = CAShapeLayer() + var railEdge = "right" { didSet { setNeedsLayout() } } - private var railWidth: CGFloat { safeAreaInsets.right > 0 ? safeAreaInsets.right : 80 } + private var railWidth: CGFloat { + let inset = railEdge == "left" ? safeAreaInsets.left : safeAreaInsets.right + return inset > 0 ? inset : 80 + } override init(frame: CGRect) { super.init(frame: frame) @@ -279,12 +287,12 @@ final class ShellVerticalBarsController: ShellVerticalBarsControlling { override func layoutSubviews() { super.layoutSubviews() - railMask.path = UIBezierPath(rect: CGRect(x: bounds.maxX - railWidth, y: 0, + railMask.path = UIBezierPath(rect: CGRect(x: railEdge == "left" ? bounds.minX : bounds.maxX - railWidth, y: 0, width: railWidth, height: bounds.height)).cgPath } override func point(inside point: CGPoint, with event: UIEvent?) -> Bool { - point.x >= bounds.maxX - railWidth && super.point(inside: point, with: event) + (railEdge == "left" ? point.x <= railWidth : point.x >= bounds.maxX - railWidth) && super.point(inside: point, with: event) } } @@ -316,7 +324,9 @@ final class ShellVerticalBarsController: ShellVerticalBarsControlling { controller.didMove(toParent: owner) } - func apply(_ controls: [ShellControl], rendering: ShellRendering) { + func apply(_ controls: [ShellControl], rendering: ShellRendering, edge: String) { + container.railEdge = edge + controller.railEdge = edge model.apply(controls, rendering: rendering) controller.overrideUserInterfaceStyle = controls.contains(where: \.dark) ? .dark : .light } diff --git a/ios/Sources/IonicNativeUIShellPlugin/IonicNativeUIShellPlugin.swift b/ios/Sources/IonicNativeUIShellPlugin/IonicNativeUIShellPlugin.swift index a9a17d7a..7477ca6d 100644 --- a/ios/Sources/IonicNativeUIShellPlugin/IonicNativeUIShellPlugin.swift +++ b/ios/Sources/IonicNativeUIShellPlugin/IonicNativeUIShellPlugin.swift @@ -8,6 +8,7 @@ public class IonicNativeUIShellPlugin: CAPPlugin, CAPBridgedPlugin, UITabBarDele public let jsName = "IonicNativeUIShell" public let pluginMethods: [CAPPluginMethod] = [ CAPPluginMethod(name: "configure", returnType: CAPPluginReturnPromise), + CAPPluginMethod(name: "getVerticalBarPlacement", returnType: CAPPluginReturnPromise), CAPPluginMethod(name: "getWebViewMetrics", returnType: CAPPluginReturnPromise), CAPPluginMethod(name: "update", returnType: CAPPluginReturnPromise), CAPPluginMethod(name: "clear", returnType: CAPPluginReturnPromise) @@ -25,6 +26,9 @@ public class IonicNativeUIShellPlugin: CAPPlugin, CAPBridgedPlugin, UITabBarDele private var pendingTabExpiryWorks: [String: DispatchWorkItem] = [:] private var restoreTopEdge: (() -> Void)? private var observers: [NSObjectProtocol] = [] + private var lastVerticalBarEdge: String? + private var verticalBarPlacementObserved = false + private weak var observedVerticalBarView: UIView? public override func load() { for name in [UIApplication.didEnterBackgroundNotification, UIResponder.keyboardWillChangeFrameNotification, UIResponder.keyboardWillHideNotification, @@ -59,6 +63,7 @@ public class IonicNativeUIShellPlugin: CAPPlugin, CAPBridgedPlugin, UITabBarDele } } else if name == UIDevice.orientationDidChangeNotification { self.notifyWebViewMetricsChange() + self.notifyVerticalBarPlacementChange() } }) } @@ -68,8 +73,10 @@ public class IonicNativeUIShellPlugin: CAPPlugin, CAPBridgedPlugin, UITabBarDele if name == UIResponder.keyboardDidHideNotification { self?.keyboardVisible = false } self?.bridge?.triggerWindowJSEvent(eventName: "nativeUIShellRefresh", data: name == UIApplication.didBecomeActiveNotification ? "{\"retireSearch\":true}" : "{}") if name == UIApplication.didBecomeActiveNotification { self?.notifyWebViewMetricsChange() } + if name == UIApplication.didBecomeActiveNotification { self?.notifyVerticalBarPlacementChange() } }) } + DispatchQueue.main.async { [weak self] in self?.observeVerticalBarPlacement() } } deinit { @@ -87,6 +94,53 @@ public class IonicNativeUIShellPlugin: CAPPlugin, CAPBridgedPlugin, UITabBarDele notifyListeners("webViewMetricsChange", data: metrics) } + private func verticalBarEdge() -> String? { + #if canImport(UIKit, _underlyingVersion: 9127.0.85) && !targetEnvironment(macCatalyst) + if #available(iOS 27.1, *), let webView = bridge?.webView { + let rtl = webView.effectiveUserInterfaceLayoutDirection == .rightToLeft + switch webView.traitCollection.verticalBarEdge { + case .leading: return rtl ? "right" : "left" + case .trailing: return rtl ? "left" : "right" + default: return nil + } + } + #endif + return nil + } + + private func verticalBarPlacement() -> JSObject { + if let edge = verticalBarEdge() { return ["edge": edge] } + return ["edge": NSNull()] + } + + private func notifyVerticalBarPlacementChange() { + let edge = verticalBarEdge() + guard !verticalBarPlacementObserved || edge != lastVerticalBarEdge else { return } + verticalBarPlacementObserved = true + lastVerticalBarEdge = edge + notifyListeners("verticalBarPlacementChange", data: verticalBarPlacement()) + } + + private func observeVerticalBarPlacement() { + #if canImport(UIKit, _underlyingVersion: 9127.0.85) && !targetEnvironment(macCatalyst) + if #available(iOS 27.1, *), let webView = bridge?.webView, observedVerticalBarView !== webView { + observedVerticalBarView = webView + let traits: [UITrait] = [UITraitLayoutDirection.self] + UITraitCollection.systemTraitsAffectingVerticalBarEdge + _ = webView.registerForTraitChanges(traits) { [weak self] (_: UIView, _: UITraitCollection) in + self?.notifyVerticalBarPlacementChange() + } + } + #endif + notifyVerticalBarPlacementChange() + } + + @objc func getVerticalBarPlacement(_ call: CAPPluginCall) { + DispatchQueue.main.async { [weak self] in + self?.observeVerticalBarPlacement() + call.resolve(self?.verticalBarPlacement() ?? ["edge": NSNull()]) + } + } + @objc func getWebViewMetrics(_ call: CAPPluginCall) { DispatchQueue.main.async { [weak self] in guard #available(iOS 26.0, *) else { @@ -103,6 +157,7 @@ public class IonicNativeUIShellPlugin: CAPPlugin, CAPBridgedPlugin, UITabBarDele @objc func configure(_ call: CAPPluginCall) { DispatchQueue.main.async { [weak self] in + self?.observeVerticalBarPlacement() // A new JS context starts revision numbering again (live reload / navigation). self?.restoreTopEdge?() self?.restoreTopEdge = nil @@ -110,10 +165,6 @@ public class IonicNativeUIShellPlugin: CAPPlugin, CAPBridgedPlugin, UITabBarDele self?.revision = 0 if #available(iOS 26.0, *) { self?.bridge?.webView?.layoutIfNeeded() - // A vertical control rail exists only when the system reserves enough of - // the physical right edge to host its adaptive controls. Ordinary - // iPhone/iPad safe areas must keep using the Web projection. - let verticalBars = (self?.bridge?.webView?.safeAreaInsets.right ?? 0) >= 70 // Ionic already paints the header edge; a second native effect can // add a dark scrim when the OS and Web themes differ. if call.getBool("verticalBarsOnly") != true, let effect = self?.bridge?.webView?.scrollView.topEdgeEffect { @@ -121,7 +172,7 @@ public class IonicNativeUIShellPlugin: CAPPlugin, CAPBridgedPlugin, UITabBarDele effect.isHidden = true self?.restoreTopEdge = { [weak effect] in effect?.isHidden = hidden } } - call.resolve(["supported": true, "verticalBars": verticalBars]) + call.resolve(["supported": true]) } else { call.resolve(["supported": false]) } } @@ -230,7 +281,7 @@ public class IonicNativeUIShellPlugin: CAPPlugin, CAPBridgedPlugin, UITabBarDele let rail = self.verticalBars ?? ShellVerticalBarsController(activate: { [weak self] id in self?.activate(id) }) self.verticalBars = rail rail.attach(to: owner, in: owner.view) - rail.apply(verticalBars, rendering: self.rendering) + rail.apply(verticalBars, rendering: self.rendering, edge: snapshot.verticalBarEdge ?? "right") rail.view.isHidden = false } else { rejectedControls.append(contentsOf: verticalBars.map(\.id)) diff --git a/ios/Sources/IonicNativeUIShellPlugin/Shared/ShellSnapshot.swift b/ios/Sources/IonicNativeUIShellPlugin/Shared/ShellSnapshot.swift index 584e4319..76921bfa 100644 --- a/ios/Sources/IonicNativeUIShellPlugin/Shared/ShellSnapshot.swift +++ b/ios/Sources/IonicNativeUIShellPlugin/Shared/ShellSnapshot.swift @@ -11,10 +11,12 @@ struct ShellSnapshot: Decodable { let revision: Int let transitionDuration: Double? let viewportWidth: Double + let verticalBarEdge: String? let controls: [ShellControl] var isValid: Bool { revision >= 0 && (transitionDuration.map { $0.isFinite && $0 >= 0 && $0 <= 500 } ?? true) && viewportWidth.isFinite && viewportWidth > 0 && controls.count <= 100 && + (verticalBarEdge == nil || verticalBarEdge == "left" || verticalBarEdge == "right") && Set(controls.map(\.id)).count == controls.count && controls.allSatisfy(\.isValid) } } diff --git a/src/native/definitions.ts b/src/native/definitions.ts index 0f8049a9..571fe6a1 100644 --- a/src/native/definitions.ts +++ b/src/native/definitions.ts @@ -39,6 +39,13 @@ export interface NativeUIShellHandle { destroy(): Promise; } +export type VerticalBarEdge = 'left' | 'right' | null; + +export interface VerticalControlAreaHandle extends NativeUIShellHandle { + /** Applies the application's chosen placement to both Web and native controls. */ + setPlacement(edge: VerticalBarEdge): void; +} + export interface NativeUIShellSuspension { /** Releases this suspension. Native projection resumes after all active suspensions are released. */ resume(): Promise; @@ -122,6 +129,7 @@ export interface ShellSnapshot { revision: number; transitionDuration?: number; viewportWidth: number; + verticalBarEdge?: Exclude; controls: ShellControl[]; } @@ -137,11 +145,13 @@ export interface WebViewMetrics { } export interface NativeUIShellPlugin { - configure(options?: { verticalBarsOnly?: boolean }): Promise<{ supported: boolean; verticalBars?: boolean }>; + configure(options?: { verticalBarsOnly?: boolean }): Promise<{ supported: boolean }>; + getVerticalBarPlacement(): Promise<{ edge: VerticalBarEdge }>; getWebViewMetrics(): Promise; update(snapshot: ShellSnapshot): Promise<{ revision: number; rejectedSearches?: string[]; rejectedControls?: string[] }>; clear(options: { revision: number }): Promise; addListener(name: 'activate', listener: (event: ShellActivation) => void): Promise; addListener(name: 'search', listener: (event: ShellSearchEvent) => void): Promise; addListener(name: 'webViewMetricsChange', listener: (event: WebViewMetrics) => void): Promise; + addListener(name: 'verticalBarPlacementChange', listener: (event: { edge: VerticalBarEdge }) => void): Promise; } diff --git a/src/native/index.ts b/src/native/index.ts index a5b81567..59fd0862 100644 --- a/src/native/index.ts +++ b/src/native/index.ts @@ -1,6 +1,13 @@ import { Capacitor, registerPlugin } from '@capacitor/core'; import { setConfig } from '../transition/ios.transition'; -import type { NativeUIShellHandle, NativeUIShellOptions, NativeUIShellPlugin, WebViewMetrics } from './definitions'; +import type { + NativeUIShellHandle, + NativeUIShellOptions, + NativeUIShellPlugin, + VerticalBarEdge, + VerticalControlAreaHandle, + WebViewMetrics, +} from './definitions'; import { bindMetricsLifecycle } from './lifecycle'; import { createRuntime } from './runtime'; import { createVerticalBarsWebProjection } from './vertical-bars-web'; @@ -12,6 +19,8 @@ export type { NativeUIShellOptions, NativeUIShellStatus, NativeUIShellSuspension, + VerticalBarEdge, + VerticalControlAreaHandle, WebViewMetrics, } from './definitions'; @@ -51,9 +60,34 @@ export const configureNativeTransition = async (): Promise => { return metrics; }; +/** Reads the system's current vertical-bar placement without changing the theme. */ +export const getVerticalBarPlacement = (): Promise<{ edge: VerticalBarEdge }> => + typeof document !== 'undefined' && Capacitor.getPlatform() === 'ios' ? plugin.getVerticalBarPlacement() : Promise.resolve({ edge: null }); + +/** Observes placement; the application decides whether to apply each change. */ +export const addVerticalBarPlacementListener = (listener: (placement: { edge: VerticalBarEdge }) => void) => + typeof document !== 'undefined' && Capacitor.getPlatform() === 'ios' + ? plugin.addListener('verticalBarPlacementChange', listener) + : Promise.resolve({ remove: async () => {} }); + +/** Applies one placement to the CSS layout and both Web/native projections. */ +export const setVerticalControlAreaPlacement = (edge: VerticalBarEdge): void => { + if (typeof document === 'undefined') return; + const root = document.querySelector('ion-app') ?? document.body; + root.classList.toggle('ios-theme-vertical-bars', edge !== null); + root.classList.toggle('ios-theme-vertical-bars-left', edge === 'left'); +}; + /** Call once at application startup. Ionic markup remains the source of truth. */ -export const enableVerticalControlArea = (): Promise => - enableNativeUIShell({ controls: { tabs: true, toolbar: true }, verticalBarsOnly: true }); +export const enableVerticalControlArea = async (): Promise => { + const handle = await enableNativeUIShell({ controls: { tabs: true, toolbar: true }, verticalBarsOnly: true }); + return { + getStatus: () => handle.getStatus(), + suspend: () => handle.suspend(), + destroy: () => handle.destroy(), + setPlacement: setVerticalControlAreaPlacement, + }; +}; /** Call once at application startup. Ionic markup remains the source of truth. */ export const enableNativeUIShell = (options: NativeUIShellOptions = {}): Promise => { @@ -76,14 +110,28 @@ export const enableNativeUIShell = (options: NativeUIShellOptions = {}): Promise if (Capacitor.getPlatform() !== 'ios') return resetOnDestroy(withReason(createVerticalBarsWebProjection(document, options), 'Requires Capacitor iOS'), stopPrehide); let runtime: NativeUIShellHandle | undefined; + let placementListener: Awaited> | undefined; try { if (!options.verticalBarsOnly) await configureNativeTransition().catch(() => undefined); const capabilities = await plugin.configure({ verticalBarsOnly: options.verticalBarsOnly === true }); if (!capabilities.supported) { return resetOnDestroy(withReason(createVerticalBarsWebProjection(document, options), 'Requires iOS 26 or later'), stopPrehide); } - runtime = await createRuntime(document, plugin, options, capabilities.verticalBars === true, options.verticalBarsOnly === true); - if (capabilities.verticalBars !== true) runtime = combine(runtime, createVerticalBarsWebProjection(document, options)); + let nativeEdge: VerticalBarEdge = null; + const nativeVerticalBars = () => { + const root = document.querySelector(':is(ion-app, body).ios-theme-vertical-bars'); + return nativeEdge !== null && !!root && nativeEdge === (root.classList.contains('ios-theme-vertical-bars-left') ? 'left' : 'right'); + }; + placementListener = await addVerticalBarPlacementListener(({ edge }) => { + nativeEdge = edge; + document.defaultView?.dispatchEvent(new Event('nativeUIShellRefresh')); + }); + nativeEdge = (await getVerticalBarPlacement()).edge; + runtime = await createRuntime(document, plugin, options, nativeVerticalBars, options.verticalBarsOnly === true); + runtime = combine( + runtime, + createVerticalBarsWebProjection(document, options, () => !nativeVerticalBars()), + ); if (!options.verticalBarsOnly) runtime = await bindMetricsLifecycle( runtime, @@ -92,9 +140,10 @@ export const enableNativeUIShell = (options: NativeUIShellOptions = {}): Promise active = undefined; }, ); - return resetOnDestroy(runtime, stopPrehide); + return resetOnDestroy(withPlacementListener(runtime, placementListener), stopPrehide); } catch (error) { await runtime?.destroy(); + await placementListener?.remove().catch(() => {}); return resetOnDestroy( withReason(createVerticalBarsWebProjection(document, options), error instanceof Error ? error.message : String(error)), stopPrehide, @@ -103,6 +152,21 @@ export const enableNativeUIShell = (options: NativeUIShellOptions = {}): Promise })()); }; +const withPlacementListener = ( + handle: NativeUIShellHandle, + listener: Awaited>, +): NativeUIShellHandle => ({ + getStatus: () => handle.getStatus(), + suspend: () => handle.suspend(), + async destroy() { + try { + await handle.destroy(); + } finally { + await listener.remove().catch(() => {}); + } + }, +}); + const resetOnDestroy = ( handle: NativeUIShellHandle, prehide?: ReturnType, diff --git a/src/native/runtime.ts b/src/native/runtime.ts index 2ba42cfa..11c8fc29 100644 --- a/src/native/runtime.ts +++ b/src/native/runtime.ts @@ -42,7 +42,7 @@ export const createRuntime = async ( doc: Document, plugin: NativeUIShellPlugin, options: NativeUIShellOptions = {}, - nativeVerticalBars = true, + nativeVerticalBars: () => boolean = () => true, verticalBarsOnly = false, ): Promise => { const win = doc.defaultView!; @@ -184,7 +184,7 @@ export const createRuntime = async ( } } else candidate = readCandidate(element, id); if (candidate && isVerticalBarsCandidate(element)) { - if (!nativeVerticalBars) return undefined; + if (!nativeVerticalBars()) return undefined; candidate.control.placement = 'vertical-bars'; if (['ion-button', 'ion-buttons', 'ion-menu-button'].includes(candidate.control.kind)) { const slot = (element.matches('ion-buttons') ? element : (element.closest('ion-buttons') ?? element)).getAttribute('slot'); @@ -329,7 +329,13 @@ export const createRuntime = async ( if (stopped || dirty) return; } } - const data = { viewportWidth: win.innerWidth, controls: candidates.map((candidate) => candidate.control) }; + const root = doc.querySelector(':is(ion-app, body).ios-theme-vertical-bars'); + const verticalBarEdge: 'left' | 'right' | undefined = root + ? root.classList.contains('ios-theme-vertical-bars-left') + ? 'left' + : 'right' + : undefined; + const data = { viewportWidth: win.innerWidth, verticalBarEdge, controls: candidates.map((candidate) => candidate.control) }; const serialized = JSON.stringify(data); if (serialized === lastSnapshot && !forceRefresh) return; const snapshot: ShellSnapshot = { ...data, revision: ++revision, transitionDuration: crossfade.duration(handoffInstant) }; diff --git a/src/native/vertical-bars-web.ts b/src/native/vertical-bars-web.ts index 58e448b6..dddfc9c2 100644 --- a/src/native/vertical-bars-web.ts +++ b/src/native/vertical-bars-web.ts @@ -35,7 +35,11 @@ interface ToolbarSource { actions: HTMLElement[]; } -export const createVerticalBarsWebProjection = (doc: Document, options: NativeUIShellOptions): NativeUIShellHandle => { +export const createVerticalBarsWebProjection = ( + doc: Document, + options: NativeUIShellOptions, + enabled: () => boolean = () => true, +): NativeUIShellHandle => { const win = doc.defaultView!; if (options.controls !== undefined && options.controls.toolbar !== true) return { @@ -275,7 +279,7 @@ export const createVerticalBarsWebProjection = (doc: Document, options: NativeUI attributeFilter: observingVerticalBars ? undefined : ['class'], }); } - if (stopped || suspended || !currentRoot) return restore(); + if (stopped || suspended || !currentRoot || !enabled()) return restore(); const nextBack = findBack(); const groups = findToolbarGroups(); if (!nextBack && !groups.length) return restore(); @@ -347,6 +351,7 @@ export const createVerticalBarsWebProjection = (doc: Document, options: NativeUI doc.addEventListener(VERTICAL_BARS_TRANSITION_CANCELED, pageLifecycle, { capture: true, signal: listeners.signal }); for (const name of ['ionModalWillPresent', 'ionModalDidDismiss']) doc.addEventListener(name, schedule, { capture: true, signal: listeners.signal }); + win.addEventListener('nativeUIShellRefresh', schedule, { signal: listeners.signal }); if (options.controls === undefined || options.controls.toolbar === true) schedule(); return { diff --git a/src/styles/vertical-bars.scss b/src/styles/vertical-bars.scss index e1dd6910..7f163821 100644 --- a/src/styles/vertical-bars.scss +++ b/src/styles/vertical-bars.scss @@ -5,7 +5,18 @@ // This entry point does not load the iOS 27 theme or change ordinary Ionic UI. :is(ion-app, body).ios-theme-vertical-bars { --ios-theme-vertical-bars-safe-area-left-resolved: var(--ios-theme-vertical-bars-safe-area-left, 0px); - --ios-theme-vertical-bars-safe-area-right-resolved: var(--ios-theme-vertical-bars-safe-area-right, 80px); + --ios-theme-vertical-bars-safe-area-right-resolved: var( + --ios-theme-vertical-bars-safe-area-right, + max(80px, env(safe-area-inset-right, 0px)) + ); +} + +:is(ion-app, body).ios-theme-vertical-bars.ios-theme-vertical-bars-left { + --ios-theme-vertical-bars-safe-area-left-resolved: var( + --ios-theme-vertical-bars-safe-area-left, + max(80px, env(safe-area-inset-left, 0px)) + ); + --ios-theme-vertical-bars-safe-area-right-resolved: var(--ios-theme-vertical-bars-safe-area-right, 0px); } // Supply material defaults only to Web projections, never to ordinary controls. @@ -183,6 +194,14 @@ } } +:is(ion-app, body).ios-theme-vertical-bars.ios-theme-vertical-bars-left + ion-tabs:not(:where(ion-menu *, ion-modal *, ion-popover *)) + > ion-tab-bar:is(.ios, .md):not(.ios-theme-disabled, .ios26-disabled) { + --ios-theme-side-safe-area: var(--ios-theme-vertical-bars-safe-area-left-resolved); + right: auto; + left: max(4px, calc((var(--ios-theme-side-safe-area) - var(--ios-theme-side-tab-bar-width)) / 2)); +} + .ios-theme-native-ui-shell-prehidden { position: absolute !important; visibility: hidden !important; @@ -298,3 +317,11 @@ html.ios-theme-native-ui-shell-prehide } } } + +:is(ion-app, body).ios-theme-vertical-bars.ios-theme-vertical-bars-left { + > ion-back-button.ios-theme-vertical-bars-back-button-projection, + > :is(.ios, .md).ios-theme-vertical-bars-toolbar-projection { + right: auto; + left: max(4px, calc((var(--ios-theme-vertical-bars-safe-area-left-resolved) - 46px) / 2)); + } +} diff --git a/src/vertical-bars.ts b/src/vertical-bars.ts index f6a0ac15..69acac54 100644 --- a/src/vertical-bars.ts +++ b/src/vertical-bars.ts @@ -1,2 +1,7 @@ -export { enableVerticalControlArea } from './native'; -export type { NativeUIShellHandle, NativeUIShellStatus, NativeUIShellSuspension } from './native'; +export { + addVerticalBarPlacementListener, + enableVerticalControlArea, + getVerticalBarPlacement, + setVerticalControlAreaPlacement, +} from './native'; +export type { NativeUIShellStatus, NativeUIShellSuspension, VerticalBarEdge, VerticalControlAreaHandle } from './native'; From 739e4db7ec307d8c6273532191c2597eb7191e02 Mon Sep 17 00:00:00 2001 From: rdlabo Date: Fri, 25 Sep 2026 02:31:32 +0900 Subject: [PATCH 42/50] fix(vertical-bars): require ion-app root and guard shell configuration --- demo/src/app/docs/docs-content.generated.ts | 2 +- demo/src/app/index/index-page.component.ts | 2 +- demo/src/native-ui-shell-lifecycle.spec.ts | 26 +++++++++++++++++ docs/special-markup.md | 6 +++- src/index.ts | 6 ++-- src/native/components/ion-button.ts | 3 +- src/native/components/ion-buttons.ts | 3 +- src/native/components/ion-menu-button.ts | 2 +- src/native/index.ts | 31 ++++++++++++++++----- src/native/prehide.ts | 2 +- src/native/runtime.ts | 10 ++----- src/native/shared/dom.ts | 8 +++--- src/native/vertical-bars-web.ts | 7 ++--- src/styles/vertical-bars.scss | 26 ++++++++--------- src/transition/ios.transition.ts | 2 +- 15 files changed, 88 insertions(+), 48 deletions(-) diff --git a/demo/src/app/docs/docs-content.generated.ts b/demo/src/app/docs/docs-content.generated.ts index 3c8f04f0..cefd00e9 100644 --- a/demo/src/app/docs/docs-content.generated.ts +++ b/demo/src/app/docs/docs-content.generated.ts @@ -1,3 +1,3 @@ // Generated from docs/special-markup.md. Do not edit directly. export const docsContentHtml = - '

      Special markup and classes

      \n

      Most Ionic markup works without changes. The combinations below are explicit opt-ins provided by the theme.

      \n

      Primary submit buttons

      \n

      Solid submit buttons use the Ionic color's contrast value for their foreground. Their directional edge treatment follows the iOS 27 prominent-button appearance and does not require an additional brightness color.

      \n
      <ion-button type="submit" color="primary">Submit</ion-button>\n<ion-button class="button-submit" fill="solid" color="primary">Continue</ion-button>
      \n\n
      \n
      Preview
      \nSubmit\nContinue\n
      \n\n

      Use .button-submit when the button needs the same treatment but cannot use type="submit".

      \n

      Preferred overlay actions

      \n

      For iOS alerts and action sheets, set role: 'preferred' on a button to give it a filled --ion-color-primary background and --ion-color-primary-contrast text and icons. While pressed, the background uses --ion-color-primary-shade. This is a theme convention using Ionic's custom button roles; it does not automatically select or invoke the action. Dismissal reports the role as preferred.

      \n
      buttons: [\n  { text: \'Cancel\', role: \'cancel\' },\n  { text: \'Continue\', role: \'preferred\' },\n];
      \n\n

      Buttons with no role or default keep the normal text color. cancel retains Ionic's cancellation behavior, selected remains a selection state, and destructive uses --ios-theme-destructive-color. An existing confirm role is not treated as preferred. Use preferred for the recommended action, not simply any action that confirms a choice.

      \n

      Floating iPad sheets

      \n

      Set expandToScroll: false on a sheet modal to use floating lower corners and a 20px bottom gap on iPad. Ionic then sizes the visible page at each breakpoint, so the theme can style it with CSS alone. Content scrolls within the current breakpoint; dragging the handle still resizes the sheet. With the default expandToScroll: true, the sheet keeps Ionic's bottom-attached layout and scroll-to-expand behavior.

      \n

      Tab bar position

      \n

      Add one of tab-bar-position-start, tab-bar-position-center, or tab-bar-position-end to an iOS ion-tab-bar to position the whole bar within its safe area. These classes work with both slot="top" and slot="bottom" and preserve the bar's width and press animation. Start and end follow the text direction (reversed in RTL). Without a class, the existing placement is unchanged.

      \n
      <ion-tab-bar slot="bottom" class="tab-bar-position-center">\n  <ion-tab-button tab="home">Home</ion-tab-button>\n  <ion-tab-button tab="settings">Settings</ion-tab-button>\n</ion-tab-bar>
      \n\n

      These classes do not reposition a separate ion-fab; leave room for it when choosing the bar's position.

      \n

      Support iPhone Duo

      \n

      Load the separate stylesheet and start its projection runtime. The iOS 27 theme stylesheets are not required:

      \n
      @use \'@rdlabo/ionic-theme-ios27/dist/css/vertical-bars.css\';
      \n\n
      import {\n  addVerticalBarPlacementListener,\n  enableVerticalControlArea,\n  getVerticalBarPlacement,\n} from \'@rdlabo/ionic-theme-ios27/vertical-bars\';\n\n// Start Web projection on Chrome too; it remains idle until the class is present.\nconst rail = await enableVerticalControlArea();\n\n// `platform` is the app\'s injected Ionic Platform instance.\nif (platform.is(\'ios\')) {\n  await addVerticalBarPlacementListener(({ edge }) => rail.setPlacement(edge));\n  rail.setPlacement((await getVerticalBarPlacement()).edge);\n}
      \n\n

      The platform.is('ios') guard controls automatic application of native placement, not the component mode or the Web simulation. An app can keep mode: 'md' on iOS and still enable Vertical Bars.

      \n

      The placement listener only reports what iOS chose; the application decides whether to call setPlacement. Passing null restores the ordinary layout. Placement is read from the WebView's UIKit trait; projected tabs and toolbar controls still render with SwiftUI. If the app already starts the full enableNativeUIShell(), use setVerticalControlAreaPlacement(edge) instead of starting another runtime.

      \n

      For Chrome development, no native plugin is needed. Add .ios-theme-vertical-bars to the active ion-app to simulate the right rail, or add .ios-theme-vertical-bars-left as well to simulate the left rail. Use body only when the application has no ion-app root:

      \n
      <ion-app class="ios-theme-vertical-bars">...</ion-app>
      \n\n

      For example, an app configured with Ionic mode: 'md' can use this same ion-app class. No component needs to switch to mode="ios" for Vertical Bars.

      \n

      The class reserves 80px on the physical right in Chrome, matching the system navigation region measured in the iPhone Duo Simulator. On iOS it also respects a larger CSS safe-area inset. The left modifier moves that reservation to the physical left. Override --ios-theme-vertical-bars-safe-area-left or --ios-theme-vertical-bars-safe-area-right when simulating a different layout.

      \n

      This keeps routers and component backgrounds full-viewport. ion-content moves its scroll foreground, ion-toolbar moves its container foreground, and ion-fab adjusts only when it is placed beside the system UI. The corresponding Ionic safe-area variable is reset inside those foreground components so descendants do not add the inset again.

      \n

      ion-menu, ion-modal, and ion-popover are handled as separate surfaces: their internal foreground components do not receive the main-page conversion and retain Ionic's standard safe-area handling. A menu presented beside the system UI keeps Ionic's full-viewport animation host and offsets only its visible container by the corresponding inset; a menu from the opposite side is unchanged. Left and right remain physical coordinates in RTL, while Ionic's side="start" and side="end" values remain logical.

      \n

      These values are web-layout simulation inputs. They are independent from Ionic's normal iPhone safe-area variables and do not change ordinary iPhone layouts unless the opt-in class is present.

      \n

      When the app contains ion-tabs, this mode moves its tab bar into the chosen physical-side reserved region and aligns it above the bottom safe area. The Ionic slot value does not select a different position. Without Native UI Shell, the stable Web rail is icon-only, matching a four-tab SwiftUI TabView on iPhone Duo. While the user presses and drags across that rail, every icon-and-label tab reveals its label so the pending destination stays identifiable. The Web tab bar receives pointer input in the simulated system region. Use ion-menu when navigation should become a sidebar; this mode does not convert tabs into a menu.

      \n

      On supported iOS versions, enableVerticalControlArea() hands eligible tabs, back navigation, menu buttons, and fixed-toolbar actions to a native SwiftUI TabView and toolbar. Vertical Bars works with either Ionic ios or md mode; the application chooses both its component mode and where to enable Vertical Bars. Back navigation can come from outside a fixed toolbar; other toolbar actions still require a fixed toolbar. It does not project ordinary Native UI Shell controls outside the vertical area. If the app already uses the full enableNativeUIShell(), keep that single runtime instead of starting both. The Ionic controls remain the sources of labels, icons, selected/disabled state, form submission, routing, and click handlers while SwiftUI owns adaptive placement and interaction. Fixed-toolbar actions need an icon or SVG, no direct text node, and standard fill="default" or fill="clear" to be eligible for the side rail. Text-only actions stay in the original Web toolbar. Add .ios-theme-horizontal-only to an ion-buttons group or individual ion-button to keep it in the Web toolbar. Placement is chosen when a routed page enters; changing an existing button's content does not move it between the toolbar and rail until the page leaves and re-enters. Menus, modals, and popovers retain their own toolbar layout.

      \n

      On Web, Android, or when native projection is unavailable, the Web tab bar and fixed-toolbar clones remain the fallback. Those projections also work when no ion-tabs exists; text-only actions stay in the original Web toolbar. Disabling the mode or leaving the page removes the native ownership or Web clones and restores their sources. Override --ios-theme-vertical-bars-toolbar-top when the simulated system controls use a different vertical layout.

      \n

      Two-line inset list items

      \n

      Place an unslotted ion-label immediately alongside an unslotted ion-note to render a two-line item. When using the iOS-style inset-list background, wrap the items in ion-item-group; keep ion-list-header outside the group.

      \n
      <ion-list inset="true">\n  <ion-list-header>\n    <ion-label>Connections</ion-label>\n  </ion-list-header>\n  <ion-item-group>\n    <ion-item>\n      <ion-label>Network &amp; internet</ion-label>\n      <ion-note>Mobile, Wi-Fi, hotspot</ion-note>\n    </ion-item>\n  </ion-item-group>\n</ion-list>
      \n\n
      \n
      Preview
      \n\n \n Connections\n \n \n \n Network & internet\n Mobile, Wi-Fi, hotspot\n \n \n\n
      \n\n

      Use slot="end" on ion-note when you want the standard trailing-note layout instead.

      \n

      Inset-list section headers

      \n

      Add .item-group-header to an ion-item-group to create the centered icon, title, and description used at the top of the component demo pages.

      \n

      This is an introductory group. Place regular list items in a separate ion-item-group that follows it.

      \n
      <ion-list inset="true">\n  <ion-item-group class="item-group-header">\n    <ion-item>\n      <ion-label>\n        <ion-icon name="list" style="background: var(--ion-color-primary)"></ion-icon>\n        <h2>Lists</h2>\n        <ion-text>Inset-list examples</ion-text>\n      </ion-label>\n    </ion-item>\n  </ion-item-group>\n  <ion-item-group>\n    <ion-item><ion-label>First item</ion-label></ion-item>\n  </ion-item-group>\n</ion-list>
      \n\n
      \n
      Preview
      \n\n \n \n \n \n

      Lists

      \n Inset-list examples\n
      \n
      \n
      \n \n First item\n \n
      \n
      \n\n

      Full-width segments

      \n

      Add .segment-style-glass to give a segment the same glass surface and selected indicator treatment as the tab bar. The class preserves the segment's existing dimensions and text colors, supports scrollable segments, and respects Ionic's public --background property.

      \n
      <ion-segment class="segment-style-glass" value="available">\n  <ion-segment-button value="available">Available</ion-segment-button>\n  <ion-segment-button value="away">Away</ion-segment-button>\n</ion-segment>
      \n\n

      For colored segments, use Ionic's color property (for example, color="primary" or color="secondary"). Ionic uses the palette's base color for the softly tinted track while keeping the selected surface and labels neutral. A surrounding colored toolbar only supplies colors when the segment has no color of its own. The optional moving glass inherits the selected surface color, and custom Ionic palettes work without additional registration.

      \n

      Add .segment-expand when segment buttons should divide the available width evenly. The class also changes the Liquid Glass effect sizing when registerSegmentEffect is used.

      \n

      Segments use a 32px minimum height in content and a 48px minimum height inside ion-toolbar. .segment-expand keeps the compact 32px layout in a toolbar. Compact segments retain Ionic's flat background and indicator colors; only the regular toolbar variant has a glass container and scales its outer container while pressed. Content and expanded segments keep their outer bounds. The optional moving glass lens is independent of the container's background.

      \n
      <ion-segment class="segment-expand" value="new">\n  <ion-segment-button value="new"><ion-label>New</ion-label></ion-segment-button>\n  <ion-segment-button value="replied"><ion-label>Replied</ion-label></ion-segment-button>\n</ion-segment>
      \n\n
      \n
      Preview
      \n\n New\n Replied\n\n
      \n\n

      Classic search bar in a condense header

      \n

      The theme gives iOS search bars the iOS 27 appearance by default. Add .searchbar-classic to the search field shown beneath a large title in an ion-header with collapse="condense". It uses the conventional filled iOS appearance and collapses with the large title instead of remaining in the fixed header.

      \n

      Place it in a toolbar with a color, such as color="light"; the classic background is derived from that color's contrast value.

      \n

      The example uses Ionic's standard collapsible large-title structure. Scroll the preview to collapse the large title and reveal the fixed header.

      \n
      <div class="ion-page">\n  <ion-header translucent="true">\n    <ion-toolbar color="light">\n      <ion-title>Search</ion-title>\n    </ion-toolbar>\n  </ion-header>\n  <ion-content color="light" fullscreen="true">\n    <ion-header collapse="condense">\n      <ion-toolbar color="light">\n        <ion-title size="large">Search</ion-title>\n      </ion-toolbar>\n      <ion-toolbar color="light">\n        <ion-searchbar class="searchbar-classic" placeholder="Filter results"></ion-searchbar>\n      </ion-toolbar>\n    </ion-header>\n    <ion-list inset="true">\n      <ion-item-group>\n        <ion-item><ion-label>Recent item 1</ion-label></ion-item>\n        <ion-item><ion-label>Recent item 2</ion-label></ion-item>\n        <ion-item><ion-label>Recent item 3</ion-label></ion-item>\n        <ion-item><ion-label>Recent item 4</ion-label></ion-item>\n        <ion-item><ion-label>Recent item 5</ion-label></ion-item>\n        <ion-item><ion-label>Recent item 6</ion-label></ion-item>\n        <ion-item><ion-label>Recent item 7</ion-label></ion-item>\n        <ion-item><ion-label>Recent item 8</ion-label></ion-item>\n        <ion-item><ion-label>Recent item 9</ion-label></ion-item>\n        <ion-item><ion-label>Recent item 10</ion-label></ion-item>\n      </ion-item-group>\n    </ion-list>\n  </ion-content>\n</div>
      \n\n
      \n
      Preview
      \n
      \n \n \n Search\n \n \n \n \n \n Search\n \n \n \n \n \n \n \n Recent item 1\n Recent item 2\n Recent item 3\n Recent item 4\n Recent item 5\n Recent item 6\n Recent item 7\n Recent item 8\n Recent item 9\n Recent item 10\n \n \n \n
      \n
      \n\n

      The .ion-page wrapper makes this embedded preview behave like a complete routed page. An application using ion-router-outlet normally receives that page container automatically. The inset list and its items only provide enough content to demonstrate scrolling; they are not required by .searchbar-classic.

      \n

      Search-bar toolbars

      \n

      Add .toolbar-searchbar when an ion-toolbar combines a search bar with start or end buttons. The class centers the slotted controls and adjusts the spacing around the search field.

      \n
      <ion-toolbar class="toolbar-searchbar">\n  <ion-buttons slot="start">\n    <ion-button>Cancel</ion-button>\n  </ion-buttons>\n  <ion-searchbar></ion-searchbar>\n</ion-toolbar>
      \n\n
      \n
      Preview
      \n\n \n Cancel\n \n \n\n
      \n\n

      Opting out

      \n

      Add .ios-theme-disabled to an individual Ionic component when it must retain Ionic's standard iOS styling.

      \n

      .ios26-disabled is deprecated but remains supported as an alias with the same behavior. Use .ios-theme-disabled for new code.

      \n
      <ion-button>iOS 27 theme</ion-button> <ion-button class="ios-theme-disabled">Standard Ionic button</ion-button>
      \n\n
      \n
      Preview
      \niOS 27 theme Standard Ionic button\n
      \n\n

      For the background model behind inset lists, see Using ion-item-group.

      \n'; + '

      Special markup and classes

      \n

      Most Ionic markup works without changes. The combinations below are explicit opt-ins provided by the theme.

      \n

      Primary submit buttons

      \n

      Solid submit buttons use the Ionic color's contrast value for their foreground. Their directional edge treatment follows the iOS 27 prominent-button appearance and does not require an additional brightness color.

      \n
      <ion-button type="submit" color="primary">Submit</ion-button>\n<ion-button class="button-submit" fill="solid" color="primary">Continue</ion-button>
      \n\n
      \n
      Preview
      \nSubmit\nContinue\n
      \n\n

      Use .button-submit when the button needs the same treatment but cannot use type="submit".

      \n

      Preferred overlay actions

      \n

      For iOS alerts and action sheets, set role: 'preferred' on a button to give it a filled --ion-color-primary background and --ion-color-primary-contrast text and icons. While pressed, the background uses --ion-color-primary-shade. This is a theme convention using Ionic's custom button roles; it does not automatically select or invoke the action. Dismissal reports the role as preferred.

      \n
      buttons: [\n  { text: \'Cancel\', role: \'cancel\' },\n  { text: \'Continue\', role: \'preferred\' },\n];
      \n\n

      Buttons with no role or default keep the normal text color. cancel retains Ionic's cancellation behavior, selected remains a selection state, and destructive uses --ios-theme-destructive-color. An existing confirm role is not treated as preferred. Use preferred for the recommended action, not simply any action that confirms a choice.

      \n

      Floating iPad sheets

      \n

      Set expandToScroll: false on a sheet modal to use floating lower corners and a 20px bottom gap on iPad. Ionic then sizes the visible page at each breakpoint, so the theme can style it with CSS alone. Content scrolls within the current breakpoint; dragging the handle still resizes the sheet. With the default expandToScroll: true, the sheet keeps Ionic's bottom-attached layout and scroll-to-expand behavior.

      \n

      Tab bar position

      \n

      Add one of tab-bar-position-start, tab-bar-position-center, or tab-bar-position-end to an iOS ion-tab-bar to position the whole bar within its safe area. These classes work with both slot="top" and slot="bottom" and preserve the bar's width and press animation. Start and end follow the text direction (reversed in RTL). Without a class, the existing placement is unchanged.

      \n
      <ion-tab-bar slot="bottom" class="tab-bar-position-center">\n  <ion-tab-button tab="home">Home</ion-tab-button>\n  <ion-tab-button tab="settings">Settings</ion-tab-button>\n</ion-tab-bar>
      \n\n

      These classes do not reposition a separate ion-fab; leave room for it when choosing the bar's position.

      \n

      Support iPhone Duo

      \n

      Load the separate stylesheet and start its projection runtime. The iOS 27 theme stylesheets are not required:

      \n
      @use \'@rdlabo/ionic-theme-ios27/dist/css/vertical-bars.css\';
      \n\n
      import {\n  addVerticalBarPlacementListener,\n  enableVerticalControlArea,\n  getVerticalBarPlacement,\n} from \'@rdlabo/ionic-theme-ios27/vertical-bars\';\n\n// Start Web projection on Chrome too; it remains idle until the class is present.\nconst rail = await enableVerticalControlArea();\n\n// `platform` is the app\'s injected Ionic Platform instance.\nif (platform.is(\'ios\')) {\n  await addVerticalBarPlacementListener(({ edge }) => rail.setPlacement(edge));\n  rail.setPlacement((await getVerticalBarPlacement()).edge);\n}
      \n\n

      The platform.is('ios') guard controls automatic application of native placement, not the component mode or the Web simulation. An app can keep mode: 'md' on iOS and still enable Vertical Bars.

      \n

      The placement listener only reports what iOS chose; the application decides whether to call setPlacement. Passing null restores the ordinary layout. Placement is read from the WebView's UIKit trait; projected tabs and toolbar controls still render with SwiftUI. If the app already starts the full enableNativeUIShell(), use setVerticalControlAreaPlacement(edge) instead of starting another runtime.

      \n

      Start either enableVerticalControlArea() or the full enableNativeUIShell() once at application startup. Repeating the same configuration returns the shared runtime; starting a different configuration while it is active throws an error. The application should have one owner responsible for destroying that runtime.

      \n

      For Chrome development, no native plugin is needed. Add .ios-theme-vertical-bars to ion-app to simulate the right rail, or add .ios-theme-vertical-bars-left as well to simulate the left rail:

      \n
      <ion-app class="ios-theme-vertical-bars">...</ion-app>
      \n\n

      setPlacement requires a mounted ion-app. Call it after the app root exists; passing null restores the ordinary layout.

      \n

      For example, an app configured with Ionic mode: 'md' can use this same ion-app class. No component needs to switch to mode="ios" for Vertical Bars.

      \n

      The class reserves 80px on the physical right in Chrome, matching the system navigation region measured in the iPhone Duo Simulator. On iOS it also respects a larger CSS safe-area inset. The left modifier moves that reservation to the physical left. Override --ios-theme-vertical-bars-safe-area-left or --ios-theme-vertical-bars-safe-area-right when simulating a different layout.

      \n

      This keeps routers and component backgrounds full-viewport. ion-content moves its scroll foreground, ion-toolbar moves its container foreground, and ion-fab adjusts only when it is placed beside the system UI. The corresponding Ionic safe-area variable is reset inside those foreground components so descendants do not add the inset again.

      \n

      ion-menu, ion-modal, and ion-popover are handled as separate surfaces: their internal foreground components do not receive the main-page conversion and retain Ionic's standard safe-area handling. A menu presented beside the system UI keeps Ionic's full-viewport animation host and offsets only its visible container by the corresponding inset; a menu from the opposite side is unchanged. Left and right remain physical coordinates in RTL, while Ionic's side="start" and side="end" values remain logical.

      \n

      These values are web-layout simulation inputs. They are independent from Ionic's normal iPhone safe-area variables and do not change ordinary iPhone layouts unless the opt-in class is present.

      \n

      When the app contains ion-tabs, this mode moves its tab bar into the chosen physical-side reserved region and aligns it above the bottom safe area. The Ionic slot value does not select a different position. Without Native UI Shell, the stable Web rail is icon-only, matching a four-tab SwiftUI TabView on iPhone Duo. While the user presses and drags across that rail, every icon-and-label tab reveals its label so the pending destination stays identifiable. The Web tab bar receives pointer input in the simulated system region. Use ion-menu when navigation should become a sidebar; this mode does not convert tabs into a menu.

      \n

      On supported iOS versions, enableVerticalControlArea() hands eligible tabs, back navigation, menu buttons, and fixed-toolbar actions to a native SwiftUI TabView and toolbar. Vertical Bars works with either Ionic ios or md mode; the application chooses both its component mode and where to enable Vertical Bars. Back navigation can come from outside a fixed toolbar; other toolbar actions still require a fixed toolbar. It does not project ordinary Native UI Shell controls outside the vertical area. If the app already uses the full enableNativeUIShell(), keep that single runtime instead of starting both. The Ionic controls remain the sources of labels, icons, selected/disabled state, form submission, routing, and click handlers while SwiftUI owns adaptive placement and interaction. Fixed-toolbar actions need an icon or SVG, no direct text node, and standard fill="default" or fill="clear" to be eligible for the side rail. Text-only actions stay in the original Web toolbar. Add .ios-theme-horizontal-only to an ion-buttons group or individual ion-button to keep it in the Web toolbar. Placement is chosen when a routed page enters; changing an existing button's content does not move it between the toolbar and rail until the page leaves and re-enters. Menus, modals, and popovers retain their own toolbar layout.

      \n

      On Web, Android, or when native projection is unavailable, the Web tab bar and fixed-toolbar clones remain the fallback. Those projections also work when no ion-tabs exists; text-only actions stay in the original Web toolbar. Disabling the mode or leaving the page removes the native ownership or Web clones and restores their sources. Override --ios-theme-vertical-bars-toolbar-top when the simulated system controls use a different vertical layout.

      \n

      Two-line inset list items

      \n

      Place an unslotted ion-label immediately alongside an unslotted ion-note to render a two-line item. When using the iOS-style inset-list background, wrap the items in ion-item-group; keep ion-list-header outside the group.

      \n
      <ion-list inset="true">\n  <ion-list-header>\n    <ion-label>Connections</ion-label>\n  </ion-list-header>\n  <ion-item-group>\n    <ion-item>\n      <ion-label>Network &amp; internet</ion-label>\n      <ion-note>Mobile, Wi-Fi, hotspot</ion-note>\n    </ion-item>\n  </ion-item-group>\n</ion-list>
      \n\n
      \n
      Preview
      \n\n \n Connections\n \n \n \n Network & internet\n Mobile, Wi-Fi, hotspot\n \n \n\n
      \n\n

      Use slot="end" on ion-note when you want the standard trailing-note layout instead.

      \n

      Inset-list section headers

      \n

      Add .item-group-header to an ion-item-group to create the centered icon, title, and description used at the top of the component demo pages.

      \n

      This is an introductory group. Place regular list items in a separate ion-item-group that follows it.

      \n
      <ion-list inset="true">\n  <ion-item-group class="item-group-header">\n    <ion-item>\n      <ion-label>\n        <ion-icon name="list" style="background: var(--ion-color-primary)"></ion-icon>\n        <h2>Lists</h2>\n        <ion-text>Inset-list examples</ion-text>\n      </ion-label>\n    </ion-item>\n  </ion-item-group>\n  <ion-item-group>\n    <ion-item><ion-label>First item</ion-label></ion-item>\n  </ion-item-group>\n</ion-list>
      \n\n
      \n
      Preview
      \n\n \n \n \n \n

      Lists

      \n Inset-list examples\n
      \n
      \n
      \n \n First item\n \n
      \n
      \n\n

      Full-width segments

      \n

      Add .segment-style-glass to give a segment the same glass surface and selected indicator treatment as the tab bar. The class preserves the segment's existing dimensions and text colors, supports scrollable segments, and respects Ionic's public --background property.

      \n
      <ion-segment class="segment-style-glass" value="available">\n  <ion-segment-button value="available">Available</ion-segment-button>\n  <ion-segment-button value="away">Away</ion-segment-button>\n</ion-segment>
      \n\n

      For colored segments, use Ionic's color property (for example, color="primary" or color="secondary"). Ionic uses the palette's base color for the softly tinted track while keeping the selected surface and labels neutral. A surrounding colored toolbar only supplies colors when the segment has no color of its own. The optional moving glass inherits the selected surface color, and custom Ionic palettes work without additional registration.

      \n

      Add .segment-expand when segment buttons should divide the available width evenly. The class also changes the Liquid Glass effect sizing when registerSegmentEffect is used.

      \n

      Segments use a 32px minimum height in content and a 48px minimum height inside ion-toolbar. .segment-expand keeps the compact 32px layout in a toolbar. Compact segments retain Ionic's flat background and indicator colors; only the regular toolbar variant has a glass container and scales its outer container while pressed. Content and expanded segments keep their outer bounds. The optional moving glass lens is independent of the container's background.

      \n
      <ion-segment class="segment-expand" value="new">\n  <ion-segment-button value="new"><ion-label>New</ion-label></ion-segment-button>\n  <ion-segment-button value="replied"><ion-label>Replied</ion-label></ion-segment-button>\n</ion-segment>
      \n\n
      \n
      Preview
      \n\n New\n Replied\n\n
      \n\n

      Classic search bar in a condense header

      \n

      The theme gives iOS search bars the iOS 27 appearance by default. Add .searchbar-classic to the search field shown beneath a large title in an ion-header with collapse="condense". It uses the conventional filled iOS appearance and collapses with the large title instead of remaining in the fixed header.

      \n

      Place it in a toolbar with a color, such as color="light"; the classic background is derived from that color's contrast value.

      \n

      The example uses Ionic's standard collapsible large-title structure. Scroll the preview to collapse the large title and reveal the fixed header.

      \n
      <div class="ion-page">\n  <ion-header translucent="true">\n    <ion-toolbar color="light">\n      <ion-title>Search</ion-title>\n    </ion-toolbar>\n  </ion-header>\n  <ion-content color="light" fullscreen="true">\n    <ion-header collapse="condense">\n      <ion-toolbar color="light">\n        <ion-title size="large">Search</ion-title>\n      </ion-toolbar>\n      <ion-toolbar color="light">\n        <ion-searchbar class="searchbar-classic" placeholder="Filter results"></ion-searchbar>\n      </ion-toolbar>\n    </ion-header>\n    <ion-list inset="true">\n      <ion-item-group>\n        <ion-item><ion-label>Recent item 1</ion-label></ion-item>\n        <ion-item><ion-label>Recent item 2</ion-label></ion-item>\n        <ion-item><ion-label>Recent item 3</ion-label></ion-item>\n        <ion-item><ion-label>Recent item 4</ion-label></ion-item>\n        <ion-item><ion-label>Recent item 5</ion-label></ion-item>\n        <ion-item><ion-label>Recent item 6</ion-label></ion-item>\n        <ion-item><ion-label>Recent item 7</ion-label></ion-item>\n        <ion-item><ion-label>Recent item 8</ion-label></ion-item>\n        <ion-item><ion-label>Recent item 9</ion-label></ion-item>\n        <ion-item><ion-label>Recent item 10</ion-label></ion-item>\n      </ion-item-group>\n    </ion-list>\n  </ion-content>\n</div>
      \n\n
      \n
      Preview
      \n
      \n \n \n Search\n \n \n \n \n \n Search\n \n \n \n \n \n \n \n Recent item 1\n Recent item 2\n Recent item 3\n Recent item 4\n Recent item 5\n Recent item 6\n Recent item 7\n Recent item 8\n Recent item 9\n Recent item 10\n \n \n \n
      \n
      \n\n

      The .ion-page wrapper makes this embedded preview behave like a complete routed page. An application using ion-router-outlet normally receives that page container automatically. The inset list and its items only provide enough content to demonstrate scrolling; they are not required by .searchbar-classic.

      \n

      Search-bar toolbars

      \n

      Add .toolbar-searchbar when an ion-toolbar combines a search bar with start or end buttons. The class centers the slotted controls and adjusts the spacing around the search field.

      \n
      <ion-toolbar class="toolbar-searchbar">\n  <ion-buttons slot="start">\n    <ion-button>Cancel</ion-button>\n  </ion-buttons>\n  <ion-searchbar></ion-searchbar>\n</ion-toolbar>
      \n\n
      \n
      Preview
      \n\n \n Cancel\n \n \n\n
      \n\n

      Opting out

      \n

      Add .ios-theme-disabled to an individual Ionic component when it must retain Ionic's standard iOS styling.

      \n

      .ios26-disabled is deprecated but remains supported as an alias with the same behavior. Use .ios-theme-disabled for new code.

      \n
      <ion-button>iOS 27 theme</ion-button> <ion-button class="ios-theme-disabled">Standard Ionic button</ion-button>
      \n\n
      \n
      Preview
      \niOS 27 theme Standard Ionic button\n
      \n\n

      For the background model behind inset lists, see Using ion-item-group.

      \n'; diff --git a/demo/src/app/index/index-page.component.ts b/demo/src/app/index/index-page.component.ts index 095cdac6..b61ad180 100644 --- a/demo/src/app/index/index-page.component.ts +++ b/demo/src/app/index/index-page.component.ts @@ -86,7 +86,7 @@ export class IndexPageComponent { readonly #document = inject(DOCUMENT); get verticalBarsModeEnabled() { - return this.#document.querySelector('ion-app')?.classList.contains('ios-theme-vertical-bars') ?? false; + return !!this.#document.querySelector('ion-app.ios-theme-vertical-bars'); } async navigateNativeUiShell() { diff --git a/demo/src/native-ui-shell-lifecycle.spec.ts b/demo/src/native-ui-shell-lifecycle.spec.ts index 5dc606d2..5e55a912 100644 --- a/demo/src/native-ui-shell-lifecycle.spec.ts +++ b/demo/src/native-ui-shell-lifecycle.spec.ts @@ -1,6 +1,7 @@ import { expect, test, vi } from 'vitest'; import type { NativeUIShellHandle } from '../../src/native'; import { bindMetricsLifecycle } from '../../src/native/lifecycle'; +import { enableNativeUIShell, setVerticalControlAreaPlacement } from '../../src/native'; const runtime = (destroy = vi.fn(async () => {})): NativeUIShellHandle => ({ getStatus: () => ({ state: 'native', projected: 1, updates: 1 }), @@ -27,3 +28,28 @@ test('listener removal failure still destroys and deactivates once', async () => expect(destroy).toHaveBeenCalledOnce(); expect(deactivate).toHaveBeenCalledOnce(); }); + +test('placement requires ion-app and clears it when disabled', () => { + document.body.replaceChildren(); + expect(() => setVerticalControlAreaPlacement('right')).toThrow('requires ion-app'); + document.body.innerHTML = ''; + const app = document.querySelector('ion-app')!; + + setVerticalControlAreaPlacement('left'); + expect(app.classList.contains('ios-theme-vertical-bars-left')).toBe(true); + + setVerticalControlAreaPlacement(null); + expect(app.classList.contains('ios-theme-vertical-bars')).toBe(false); + + setVerticalControlAreaPlacement('right'); + expect(app.classList.contains('ios-theme-vertical-bars')).toBe(true); + setVerticalControlAreaPlacement(null); + document.body.replaceChildren(); +}); + +test('a second startup cannot silently replace the active configuration', async () => { + const first = await enableNativeUIShell({ controls: { tabs: true }, verticalBarsOnly: true }); + expect(await enableNativeUIShell({ controls: { tabs: true }, verticalBarsOnly: true })).toBe(first); + await expect(enableNativeUIShell({ controls: { toolbar: true } })).rejects.toThrow('different controls'); + await first.destroy(); +}); diff --git a/docs/special-markup.md b/docs/special-markup.md index c07bdc64..b380fabd 100644 --- a/docs/special-markup.md +++ b/docs/special-markup.md @@ -76,12 +76,16 @@ The `platform.is('ios')` guard controls automatic application of native placemen The placement listener only reports what iOS chose; the application decides whether to call `setPlacement`. Passing `null` restores the ordinary layout. Placement is read from the WebView's UIKit trait; projected tabs and toolbar controls still render with SwiftUI. If the app already starts the full `enableNativeUIShell()`, use `setVerticalControlAreaPlacement(edge)` instead of starting another runtime. -For Chrome development, no native plugin is needed. Add `.ios-theme-vertical-bars` to the active `ion-app` to simulate the right rail, or add `.ios-theme-vertical-bars-left` as well to simulate the left rail. Use `body` only when the application has no `ion-app` root: +Start either `enableVerticalControlArea()` or the full `enableNativeUIShell()` once at application startup. Repeating the same configuration returns the shared runtime; starting a different configuration while it is active throws an error. The application should have one owner responsible for destroying that runtime. + +For Chrome development, no native plugin is needed. Add `.ios-theme-vertical-bars` to `ion-app` to simulate the right rail, or add `.ios-theme-vertical-bars-left` as well to simulate the left rail: ```html ... ``` +`setPlacement` requires a mounted `ion-app`. Call it after the app root exists; passing `null` restores the ordinary layout. + For example, an app configured with Ionic `mode: 'md'` can use this same `ion-app` class. No component needs to switch to `mode="ios"` for Vertical Bars. The class reserves `80px` on the physical right in Chrome, matching the system navigation region measured in the iPhone Duo Simulator. On iOS it also respects a larger CSS safe-area inset. The left modifier moves that reservation to the physical left. Override `--ios-theme-vertical-bars-safe-area-left` or `--ios-theme-vertical-bars-safe-area-right` when simulating a different layout. diff --git a/src/index.ts b/src/index.ts index a4e9dd6a..f61ca477 100644 --- a/src/index.ts +++ b/src/index.ts @@ -14,12 +14,12 @@ export const registerTabBarEffect = (targetElement: HTMLElement): registeredEffe const win = targetElement.ownerDocument.defaultView; if (!targetElement.classList.contains('ios') || !win) return undefined; const reducedMotion = win.matchMedia('(prefers-reduced-motion: reduce)'); - const verticalBarsRoot = targetElement.closest('ion-app') ?? targetElement.ownerDocument.body; + const verticalBarsRoot = targetElement.closest('ion-app'); let effect: registeredEffect | undefined; const update = () => { effect?.destroy(); const isVertical = - verticalBarsRoot.classList.contains('ios-theme-vertical-bars') && !targetElement.closest('ion-menu, ion-modal, ion-popover'); + !!verticalBarsRoot?.classList.contains('ios-theme-vertical-bars') && !targetElement.closest('ion-menu, ion-modal, ion-popover'); effect = reducedMotion.matches || isVertical ? undefined @@ -33,7 +33,7 @@ export const registerTabBarEffect = (targetElement: HTMLElement): registeredEffe update(); reducedMotion.addEventListener('change', update); const placementObserver = new win.MutationObserver(update); - placementObserver.observe(verticalBarsRoot, { attributes: true, attributeFilter: ['class'] }); + if (verticalBarsRoot) placementObserver.observe(verticalBarsRoot, { attributes: true, attributeFilter: ['class'] }); return { destroy: () => { reducedMotion.removeEventListener('change', update); diff --git a/src/native/components/ion-button.ts b/src/native/components/ion-button.ts index 925ea59b..a1f5dc9b 100644 --- a/src/native/components/ion-button.ts +++ b/src/native/components/ion-button.ts @@ -6,8 +6,7 @@ export const tag = 'ion-button'; export const read = (element: HTMLElement, id: Identify): Candidate | undefined => { const button = element as HTMLIonButtonElement; - const verticalBars = - !element.closest('ion-menu, ion-modal, ion-popover') && !!element.closest(':is(ion-app, body).ios-theme-vertical-bars'); + const verticalBars = !element.closest('ion-menu, ion-modal, ion-popover') && !!element.closest('ion-app.ios-theme-vertical-bars'); if (verticalBars && element.parentElement && isVerticalBarsToolbarGroup(element.parentElement)) return; const fill = button.fill ?? 'default'; if ( diff --git a/src/native/components/ion-buttons.ts b/src/native/components/ion-buttons.ts index 62b307b3..8b19cbdf 100644 --- a/src/native/components/ion-buttons.ts +++ b/src/native/components/ion-buttons.ts @@ -10,8 +10,7 @@ export const read = (element: HTMLElement, id: Identify): Candidate | undefined if (!inFixedToolbar(element)) return; let children = Array.from(element.children) as HTMLElement[]; if (children.length === 1) return menuButton.read(element, id); - const verticalBars = - !element.closest('ion-menu, ion-modal, ion-popover') && !!element.closest(':is(ion-app, body).ios-theme-vertical-bars'); + const verticalBars = !element.closest('ion-menu, ion-modal, ion-popover') && !!element.closest('ion-app.ios-theme-vertical-bars'); if (verticalBars && !isVerticalBarsToolbarGroup(element)) return; if (verticalBars) children = verticalBarsToolbarActions(element); if ( diff --git a/src/native/components/ion-menu-button.ts b/src/native/components/ion-menu-button.ts index e6296af2..94e13908 100644 --- a/src/native/components/ion-menu-button.ts +++ b/src/native/components/ion-menu-button.ts @@ -16,7 +16,7 @@ export const append = (candidate: Candidate, button: HTMLIonMenuButtonElement, i export const read = (group: HTMLElement, id: Identify): Candidate | undefined => { if (!inFixedToolbar(group) || !group.matches('ion-buttons') || group.children.length !== 1) return; const button = group.firstElementChild; - if (!button?.matches(`${tag}${group.closest(':is(ion-app, body).ios-theme-vertical-bars') ? '' : '.ios'}`)) return; + if (!button?.matches(`${tag}${group.closest('ion-app.ios-theme-vertical-bars') ? '' : '.ios'}`)) return; const candidate = createCandidate(group, tag, id); return append(candidate, button as HTMLIonMenuButtonElement, id) ? candidate : undefined; }; diff --git a/src/native/index.ts b/src/native/index.ts index 59fd0862..6bc3dfa5 100644 --- a/src/native/index.ts +++ b/src/native/index.ts @@ -26,6 +26,7 @@ export type { const plugin = registerPlugin('IonicNativeUIShell'); let active: Promise | undefined; +let activeConfiguration: string | undefined; const web = (reason: string): NativeUIShellHandle => ({ getStatus: () => ({ state: 'web', projected: 0, updates: 0, reason }), suspend: async () => ({ resume: async () => {} }), @@ -73,9 +74,10 @@ export const addVerticalBarPlacementListener = (listener: (placement: { edge: Ve /** Applies one placement to the CSS layout and both Web/native projections. */ export const setVerticalControlAreaPlacement = (edge: VerticalBarEdge): void => { if (typeof document === 'undefined') return; - const root = document.querySelector('ion-app') ?? document.body; - root.classList.toggle('ios-theme-vertical-bars', edge !== null); - root.classList.toggle('ios-theme-vertical-bars-left', edge === 'left'); + const app = document.querySelector('ion-app'); + if (!app) throw new Error('Vertical Control Area requires ion-app'); + app.classList.toggle('ios-theme-vertical-bars', edge !== null); + app.classList.toggle('ios-theme-vertical-bars-left', edge === 'left'); }; /** Call once at application startup. Ionic markup remains the source of truth. */ @@ -94,6 +96,7 @@ export const enableNativeUIShell = (options: NativeUIShellOptions = {}): Promise if (options.enabled === false) { const current = active; active = undefined; + activeConfiguration = undefined; return current ? current.then(async (handle) => { await handle.destroy(); @@ -102,6 +105,16 @@ export const enableNativeUIShell = (options: NativeUIShellOptions = {}): Promise : Promise.resolve(web('Disabled')); } if (typeof document === 'undefined') return Promise.resolve(web('Requires a document')); + const controls = options.controls; + const configuration = JSON.stringify([ + options.verticalBarsOnly === true, + ...(['tabs', 'toolbar', 'segment', 'fab'] as const).map((component) => !controls || controls[component] === true), + ]); + if (active && activeConfiguration !== configuration) + return Promise.reject( + new Error('Native UI Shell is already running with different controls; destroy it before changing configuration.'), + ); + activeConfiguration = configuration; const stopPrehide = !active && (options.controls === undefined || options.controls.toolbar === true) ? prehideVerticalBarsToolbarSources(document) @@ -119,7 +132,7 @@ export const enableNativeUIShell = (options: NativeUIShellOptions = {}): Promise } let nativeEdge: VerticalBarEdge = null; const nativeVerticalBars = () => { - const root = document.querySelector(':is(ion-app, body).ios-theme-vertical-bars'); + const root = document.querySelector('ion-app.ios-theme-vertical-bars'); return nativeEdge !== null && !!root && nativeEdge === (root.classList.contains('ios-theme-vertical-bars-left') ? 'left' : 'right'); }; placementListener = await addVerticalBarPlacementListener(({ edge }) => { @@ -183,9 +196,13 @@ const resetOnDestroy = ( }; }, async destroy() { - await handle.destroy(); - prehide?.stop(); - active = undefined; + try { + await handle.destroy(); + } finally { + prehide?.stop(); + active = undefined; + activeConfiguration = undefined; + } }, }); diff --git a/src/native/prehide.ts b/src/native/prehide.ts index da99fbd6..a01c8782 100644 --- a/src/native/prehide.ts +++ b/src/native/prehide.ts @@ -40,7 +40,7 @@ export const prehideVerticalBarsToolbarSources = (doc: Document): { suspend: () const owner = new WeakMap(); const pendingBacks = new Map }>(); const listeners = new AbortController(); - const root = () => doc.querySelector(':is(ion-app, body).ios-theme-vertical-bars'); + const root = () => doc.querySelector('ion-app.ios-theme-vertical-bars'); let suspended = 0; let stopped = false; const routedPage = (element: HTMLElement) => element.closest('.ion-page:not(ion-app, body)'); diff --git a/src/native/runtime.ts b/src/native/runtime.ts index 11c8fc29..70a7a632 100644 --- a/src/native/runtime.ts +++ b/src/native/runtime.ts @@ -159,11 +159,7 @@ export const createRuntime = async ( }; const measuringPointerPages = new WeakSet(); const readEnabledCandidate = (element: HTMLElement): Candidate | undefined => { - if ( - element.matches('ion-back-button') && - element.closest(':is(ion-app, body).ios-theme-vertical-bars') && - !isVerticalBarsCandidate(element) - ) + if (element.matches('ion-back-button') && element.closest('ion-app.ios-theme-vertical-bars') && !isVerticalBarsCandidate(element)) return; if (verticalBarsOnly && !isVerticalBarsCandidate(element)) return; const pointerPage = isVerticalBarsCandidate(element) ? element.closest('.ion-page') : undefined; @@ -329,7 +325,7 @@ export const createRuntime = async ( if (stopped || dirty) return; } } - const root = doc.querySelector(':is(ion-app, body).ios-theme-vertical-bars'); + const root = doc.querySelector('ion-app.ios-theme-vertical-bars'); const verticalBarEdge: 'left' | 'right' | undefined = root ? root.classList.contains('ios-theme-vertical-bars-left') ? 'left' @@ -736,7 +732,7 @@ export const createRuntime = async ( await new Promise((resolve) => win.requestAnimationFrame(() => resolve())); return (canceled = false) => { suspended.delete(scopes); - if (canceled || !scopes.some((scope) => scope.closest(':is(ion-app, body).ios-theme-vertical-bars'))) { + if (canceled || !scopes.some((scope) => scope.closest('ion-app.ios-theme-vertical-bars'))) { scopes.forEach((scope) => pages.delete(scope)); // Preserve ordinary iPhone handoff; cancellation has no DidLeave. if (canceled) { verticalBarsPages.cancel(scopes[0], scopes[1]); // The entering page is abandoned; the leaving page stays active. diff --git a/src/native/shared/dom.ts b/src/native/shared/dom.ts index d949035e..ecd02de1 100644 --- a/src/native/shared/dom.ts +++ b/src/native/shared/dom.ts @@ -52,14 +52,14 @@ export const setVerticalBarsEnteringPage = (page: HTMLElement, entering: boolean }; export const verticalBarsEnteringPage = (element: HTMLElement): HTMLElement | undefined => { const page = element.closest('.ion-page-invisible'); - return page && enteringPages.has(page) && page.closest(':is(ion-app, body).ios-theme-vertical-bars') ? page : undefined; + return page && enteringPages.has(page) && page.closest('ion-app.ios-theme-vertical-bars') ? page : undefined; }; export const createVerticalBarsPageState = () => { const departed = new WeakSet(); return { isDeparted(element: HTMLElement): boolean { const page = element.closest('.ion-page'); - return !!page && departed.has(page) && !!element.closest(':is(ion-app, body).ios-theme-vertical-bars'); + return !!page && departed.has(page) && !!element.closest('ion-app.ios-theme-vertical-bars'); }, lifecycle(event: Event): void { const page = event.target; @@ -90,7 +90,7 @@ export const isVerticalBarsSource = (element: HTMLElement): boolean => verticalBarsTags.has(element.localName) && (element.matches('ion-tab-bar') || verticalBarsOwned(element)) && !element.closest('ion-menu, ion-modal, ion-popover') && - !!element.closest(':is(ion-app, body).ios-theme-vertical-bars'); + !!element.closest('ion-app.ios-theme-vertical-bars'); export const isVerticalBarsBackPosition = (element: HTMLElement): boolean => { if (element.closest('ion-header[collapse], ion-footer[collapse]')) return false; @@ -233,7 +233,7 @@ export const text = (element: Element): string => { export const inFixedToolbar = (element: Element): boolean => { const edge = element.closest('ion-toolbar')?.parentElement; - const verticalBars = !!element.closest(':is(ion-app, body).ios-theme-vertical-bars'); + const verticalBars = !!element.closest('ion-app.ios-theme-vertical-bars'); return ( !!edge?.matches('ion-header, ion-footer') && !element.closest('ion-content') && diff --git a/src/native/vertical-bars-web.ts b/src/native/vertical-bars-web.ts index dddfc9c2..9a93e4bc 100644 --- a/src/native/vertical-bars-web.ts +++ b/src/native/vertical-bars-web.ts @@ -61,7 +61,7 @@ export const createVerticalBarsWebProjection = ( let sourceObserver: MutationObserver | undefined; let waiters: (() => void)[] = []; const listeners = new AbortController(); - const verticalBarsRoot = () => doc.querySelector(':is(ion-app, body).ios-theme-vertical-bars'); + const verticalBarsRoot = () => doc.querySelector('ion-app.ios-theme-vertical-bars'); const projectedSources = () => [backSource, ...toolbarProjections.flatMap(({ actions }) => actions.map(({ source }) => source))].filter( (source): source is HTMLElement => !!source, @@ -314,13 +314,12 @@ export const createVerticalBarsWebProjection = ( }; const verticalBarsChanged = records.some( (record) => - (record.type === 'attributes' && (record.target as Element).matches('ion-app, body')) || + (record.type === 'attributes' && (record.target as Element).matches('ion-app')) || (record.type === 'childList' && Array.from(record.addedNodes).some( (node) => node instanceof Element && - (node.matches(':is(ion-app, body).ios-theme-vertical-bars') || - !!node.querySelector(':is(ion-app, body).ios-theme-vertical-bars')), + (node.matches('ion-app.ios-theme-vertical-bars') || !!node.querySelector('ion-app.ios-theme-vertical-bars')), )), ); if ( diff --git a/src/styles/vertical-bars.scss b/src/styles/vertical-bars.scss index 7f163821..6667cae0 100644 --- a/src/styles/vertical-bars.scss +++ b/src/styles/vertical-bars.scss @@ -3,7 +3,7 @@ // iPhone Duo simulation: the system reserves 80pt at the physical right edge. // This entry point does not load the iOS 27 theme or change ordinary Ionic UI. -:is(ion-app, body).ios-theme-vertical-bars { +ion-app.ios-theme-vertical-bars { --ios-theme-vertical-bars-safe-area-left-resolved: var(--ios-theme-vertical-bars-safe-area-left, 0px); --ios-theme-vertical-bars-safe-area-right-resolved: var( --ios-theme-vertical-bars-safe-area-right, @@ -11,7 +11,7 @@ ); } -:is(ion-app, body).ios-theme-vertical-bars.ios-theme-vertical-bars-left { +ion-app.ios-theme-vertical-bars.ios-theme-vertical-bars-left { --ios-theme-vertical-bars-safe-area-left-resolved: var( --ios-theme-vertical-bars-safe-area-left, max(80px, env(safe-area-inset-left, 0px)) @@ -20,7 +20,7 @@ } // Supply material defaults only to Web projections, never to ordinary controls. -:is(ion-app, body).ios-theme-vertical-bars.ios-theme-vertical-bars-toolbar-ready +ion-app.ios-theme-vertical-bars.ios-theme-vertical-bars-toolbar-ready > :is(ion-menu-button, ion-button).ios-theme-vertical-bars-toolbar-projection { --ios26-glass-background-rgb: var(--ion-background-color-rgb, 255, 255, 255); --ios26-glass-border-color-rgb: var(--ion-background-color-rgb, 255, 255, 255); @@ -28,12 +28,12 @@ } // The transition shade belongs to the Web page, never to the control area. -:is(ion-app, body).ios-theme-vertical-bars .ios-transition-shade { +ion-app.ios-theme-vertical-bars .ios-transition-shade { clip-path: inset(0 var(--ios-theme-vertical-bars-safe-area-right-resolved) 0 var(--ios-theme-vertical-bars-safe-area-left-resolved)); } // Keep page backgrounds and the router full width; move only their foregrounds. -:is(ion-app, body).ios-theme-vertical-bars +ion-app.ios-theme-vertical-bars ion-content:is(.ios, .md):not(.ios-theme-disabled, .ios26-disabled):not(:where(ion-menu *, ion-modal *, ion-popover *)) { --ion-safe-area-left: 0px; --ion-safe-area-right: 0px; @@ -49,7 +49,7 @@ } } -:is(ion-app, body).ios-theme-vertical-bars +ion-app.ios-theme-vertical-bars ion-toolbar:is(.ios, .md):not(.ios-theme-disabled, .ios26-disabled):not(:where(ion-menu *, ion-modal *, ion-popover *)) { --ion-safe-area-left: 0px; --ion-safe-area-right: 0px; @@ -65,7 +65,7 @@ } } -:is(ion-app, body).ios-theme-vertical-bars +ion-app.ios-theme-vertical-bars ion-fab:is(.ios, .md):not(.ios-theme-disabled, .ios26-disabled):not(:where(ion-menu *, ion-modal *, ion-popover *)) { --ion-safe-area-left: 0px; --ion-safe-area-right: 0px; @@ -96,7 +96,7 @@ } // Menus retain their own safe-area handling and full-width animation host. -:is(ion-app, body).ios-theme-vertical-bars { +ion-app.ios-theme-vertical-bars { ion-menu:is(.ios, .md).menu-side-end:not(:dir(rtl)):not(.ios-theme-disabled, .ios26-disabled), ion-menu:is(.ios, .md).menu-side-start:dir(rtl):not(.ios-theme-disabled, .ios26-disabled) { --ion-safe-area-right: 0px; @@ -113,7 +113,7 @@ } } -:is(ion-app, body).ios-theme-vertical-bars +ion-app.ios-theme-vertical-bars ion-tabs:not(:where(ion-menu *, ion-modal *, ion-popover *)) > ion-tab-bar:is(.ios, .md):not(.ios-theme-disabled, .ios26-disabled) { --ios-theme-side-tab-bar-width: 50px; @@ -194,7 +194,7 @@ } } -:is(ion-app, body).ios-theme-vertical-bars.ios-theme-vertical-bars-left +ion-app.ios-theme-vertical-bars.ios-theme-vertical-bars-left ion-tabs:not(:where(ion-menu *, ion-modal *, ion-popover *)) > ion-tab-bar:is(.ios, .md):not(.ios-theme-disabled, .ios26-disabled) { --ios-theme-side-safe-area: var(--ios-theme-vertical-bars-safe-area-left-resolved); @@ -209,7 +209,7 @@ // Hide an entering back source until JS decides whether it belongs in the rail. html.ios-theme-native-ui-shell-prehide - :is(ion-app, body).ios-theme-vertical-bars + ion-app.ios-theme-vertical-bars ion-back-button:not( [icon], [color], @@ -236,7 +236,7 @@ html.ios-theme-native-ui-shell-prehide visibility: hidden !important; } -:is(ion-app, body).ios-theme-vertical-bars.ios-theme-vertical-bars-toolbar-ready { +ion-app.ios-theme-vertical-bars.ios-theme-vertical-bars-toolbar-ready { ion-toolbar:is(.ios, .md):not(.ios-theme-disabled, .ios26-disabled):not(:where(ion-menu *, ion-modal *, ion-popover *)) ion-back-button:is(.ios, .md)[data-native-ui-shell]:not( .ios-theme-disabled, @@ -318,7 +318,7 @@ html.ios-theme-native-ui-shell-prehide } } -:is(ion-app, body).ios-theme-vertical-bars.ios-theme-vertical-bars-left { +ion-app.ios-theme-vertical-bars.ios-theme-vertical-bars-left { > ion-back-button.ios-theme-vertical-bars-back-button-projection, > :is(.ios, .md).ios-theme-vertical-bars-toolbar-projection { right: auto; diff --git a/src/transition/ios.transition.ts b/src/transition/ios.transition.ts index 538f88e4..652c86de 100644 --- a/src/transition/ios.transition.ts +++ b/src/transition/ios.transition.ts @@ -14,7 +14,7 @@ const transitionConfig = { offLeftPercent: 30, getIonPageElement, connectNativeUIShellTransition, - shouldAnimateFixedBackButton: (navEl: HTMLElement) => !navEl.closest(':is(ion-app, body).ios-theme-vertical-bars'), + shouldAnimateFixedBackButton: (navEl: HTMLElement) => !navEl.closest('ion-app.ios-theme-vertical-bars'), radius: 0, }; From db3fc687c2f71c791679d759fda68e25688b2ee6 Mon Sep 17 00:00:00 2001 From: rdlabo Date: Fri, 25 Sep 2026 08:23:28 +0900 Subject: [PATCH 43/50] fix(demo): follow Duo vertical bar edge --- demo/src/app/index/index-page.component.ts | 6 +++--- demo/src/main.ts | 10 ++++++++-- 2 files changed, 11 insertions(+), 5 deletions(-) diff --git a/demo/src/app/index/index-page.component.ts b/demo/src/app/index/index-page.component.ts index b61ad180..70adabd8 100644 --- a/demo/src/app/index/index-page.component.ts +++ b/demo/src/app/index/index-page.component.ts @@ -19,7 +19,7 @@ import { ToggleCustomEvent, } from '@demo/ionic'; import { ActivatedRoute, Router } from '@angular/router'; -import { setVerticalControlAreaPlacement } from '@rdlabo/ionic-theme-ios27/vertical-bars'; +import { getVerticalBarPlacement, setVerticalControlAreaPlacement } from '@rdlabo/ionic-theme-ios27/vertical-bars'; interface IComponent { name: string; @@ -101,7 +101,7 @@ export class IndexPageComponent { this.#document.documentElement.classList.toggle('ion-palette-dark', event.detail.checked); } - changeVerticalBarsMode(event: ToggleCustomEvent) { - setVerticalControlAreaPlacement(event.detail.checked ? 'right' : null); + async changeVerticalBarsMode(event: ToggleCustomEvent) { + setVerticalControlAreaPlacement(event.detail.checked ? ((await getVerticalBarPlacement()).edge ?? 'right') : null); } } diff --git a/demo/src/main.ts b/demo/src/main.ts index cbb25989..1ae8790d 100644 --- a/demo/src/main.ts +++ b/demo/src/main.ts @@ -2,7 +2,7 @@ import { bootstrapApplication } from '@angular/platform-browser'; import { createAppConfig, type IonicAnimationOptions } from './app/app.config'; import { AppComponent } from './app/app.component'; import { enableNativeUIShell } from '../../src/native'; -import { enableVerticalControlArea } from '../../src/vertical-bars'; +import { addVerticalBarPlacementListener, enableVerticalControlArea, setVerticalControlAreaPlacement } from '../../src/vertical-bars'; import { iosTransitionAnimation, popoverEnterAnimation, popoverLeaveAnimation } from '@rdlabo/ionic-theme-ios27'; /** @@ -21,6 +21,12 @@ function loadIOSAnimations(): IonicAnimationOptions { } // Keep the Web fallback available in the demo; applications can choose when to enable it. -bootstrapApplication(AppComponent, createAppConfig(loadIOSAnimations())).catch((err) => console.error(err)); +void bootstrapApplication(AppComponent, createAppConfig(loadIOSAnimations())) + .then(() => + addVerticalBarPlacementListener(({ edge }) => { + if (edge && document.querySelector('ion-app.ios-theme-vertical-bars')) setVerticalControlAreaPlacement(edge); + }), + ) + .catch((err) => console.error(err)); const startShell = new URLSearchParams(window.location.search).has('verticalBarsOnly') ? enableVerticalControlArea : enableNativeUIShell; void startShell().then((handle) => Object.assign(window, { nativeUIShell: handle })); From 18ef95c88903843acbeab40345b16a241d45c63b Mon Sep 17 00:00:00 2001 From: rdlabo Date: Fri, 25 Sep 2026 08:50:59 +0900 Subject: [PATCH 44/50] fix(vertical-bars): use measured native safe-area inset --- demo/e2e/vertical-bars-standalone.spec.ts | 8 ++++++++ demo/src/app/docs/docs-content.generated.ts | 2 +- demo/src/app/index/index-page.component.ts | 4 +++- demo/src/main.ts | 8 ++++++-- demo/src/native-ui-shell-lifecycle.spec.ts | 6 ++++++ docs/special-markup.md | 8 ++++---- .../IonicNativeUIShellPlugin.swift | 17 +++++++++++++---- src/native/definitions.ts | 12 +++++++++--- src/native/index.ts | 17 ++++++++++++----- src/styles/vertical-bars.scss | 4 ++-- 10 files changed, 64 insertions(+), 22 deletions(-) diff --git a/demo/e2e/vertical-bars-standalone.spec.ts b/demo/e2e/vertical-bars-standalone.spec.ts index 49b09b78..b09c0241 100644 --- a/demo/e2e/vertical-bars-standalone.spec.ts +++ b/demo/e2e/vertical-bars-standalone.spec.ts @@ -27,6 +27,14 @@ test('Vertical Control Area works in md mode with Ionic CSS and no iOS 27 theme' const tabBar = page.locator('#tab-bar-bottom'); await expect.poll(async () => (await tabBar.boundingBox())?.x).toBeGreaterThan(620); + const app = page.locator('ion-app'); + await app.evaluate((element) => element.style.setProperty('--ios-theme-vertical-bars-native-inset', '64px')); + await expect + .poll(() => + app.evaluate((element) => getComputedStyle(element).getPropertyValue('--ios-theme-vertical-bars-safe-area-right-resolved').trim()), + ) + .toBe('64px'); + await app.evaluate((element) => element.style.removeProperty('--ios-theme-vertical-bars-native-inset')); const toolbar = page.locator('app-native-ui-shell ion-toolbar').first(); await expect .poll(() => toolbar.evaluate((element) => getComputedStyle(element).getPropertyValue('--ion-safe-area-right').trim())) diff --git a/demo/src/app/docs/docs-content.generated.ts b/demo/src/app/docs/docs-content.generated.ts index cefd00e9..0230b8f1 100644 --- a/demo/src/app/docs/docs-content.generated.ts +++ b/demo/src/app/docs/docs-content.generated.ts @@ -1,3 +1,3 @@ // Generated from docs/special-markup.md. Do not edit directly. export const docsContentHtml = - '

      Special markup and classes

      \n

      Most Ionic markup works without changes. The combinations below are explicit opt-ins provided by the theme.

      \n

      Primary submit buttons

      \n

      Solid submit buttons use the Ionic color's contrast value for their foreground. Their directional edge treatment follows the iOS 27 prominent-button appearance and does not require an additional brightness color.

      \n
      <ion-button type="submit" color="primary">Submit</ion-button>\n<ion-button class="button-submit" fill="solid" color="primary">Continue</ion-button>
      \n\n
      \n
      Preview
      \nSubmit\nContinue\n
      \n\n

      Use .button-submit when the button needs the same treatment but cannot use type="submit".

      \n

      Preferred overlay actions

      \n

      For iOS alerts and action sheets, set role: 'preferred' on a button to give it a filled --ion-color-primary background and --ion-color-primary-contrast text and icons. While pressed, the background uses --ion-color-primary-shade. This is a theme convention using Ionic's custom button roles; it does not automatically select or invoke the action. Dismissal reports the role as preferred.

      \n
      buttons: [\n  { text: \'Cancel\', role: \'cancel\' },\n  { text: \'Continue\', role: \'preferred\' },\n];
      \n\n

      Buttons with no role or default keep the normal text color. cancel retains Ionic's cancellation behavior, selected remains a selection state, and destructive uses --ios-theme-destructive-color. An existing confirm role is not treated as preferred. Use preferred for the recommended action, not simply any action that confirms a choice.

      \n

      Floating iPad sheets

      \n

      Set expandToScroll: false on a sheet modal to use floating lower corners and a 20px bottom gap on iPad. Ionic then sizes the visible page at each breakpoint, so the theme can style it with CSS alone. Content scrolls within the current breakpoint; dragging the handle still resizes the sheet. With the default expandToScroll: true, the sheet keeps Ionic's bottom-attached layout and scroll-to-expand behavior.

      \n

      Tab bar position

      \n

      Add one of tab-bar-position-start, tab-bar-position-center, or tab-bar-position-end to an iOS ion-tab-bar to position the whole bar within its safe area. These classes work with both slot="top" and slot="bottom" and preserve the bar's width and press animation. Start and end follow the text direction (reversed in RTL). Without a class, the existing placement is unchanged.

      \n
      <ion-tab-bar slot="bottom" class="tab-bar-position-center">\n  <ion-tab-button tab="home">Home</ion-tab-button>\n  <ion-tab-button tab="settings">Settings</ion-tab-button>\n</ion-tab-bar>
      \n\n

      These classes do not reposition a separate ion-fab; leave room for it when choosing the bar's position.

      \n

      Support iPhone Duo

      \n

      Load the separate stylesheet and start its projection runtime. The iOS 27 theme stylesheets are not required:

      \n
      @use \'@rdlabo/ionic-theme-ios27/dist/css/vertical-bars.css\';
      \n\n
      import {\n  addVerticalBarPlacementListener,\n  enableVerticalControlArea,\n  getVerticalBarPlacement,\n} from \'@rdlabo/ionic-theme-ios27/vertical-bars\';\n\n// Start Web projection on Chrome too; it remains idle until the class is present.\nconst rail = await enableVerticalControlArea();\n\n// `platform` is the app\'s injected Ionic Platform instance.\nif (platform.is(\'ios\')) {\n  await addVerticalBarPlacementListener(({ edge }) => rail.setPlacement(edge));\n  rail.setPlacement((await getVerticalBarPlacement()).edge);\n}
      \n\n

      The platform.is('ios') guard controls automatic application of native placement, not the component mode or the Web simulation. An app can keep mode: 'md' on iOS and still enable Vertical Bars.

      \n

      The placement listener only reports what iOS chose; the application decides whether to call setPlacement. Passing null restores the ordinary layout. Placement is read from the WebView's UIKit trait; projected tabs and toolbar controls still render with SwiftUI. If the app already starts the full enableNativeUIShell(), use setVerticalControlAreaPlacement(edge) instead of starting another runtime.

      \n

      Start either enableVerticalControlArea() or the full enableNativeUIShell() once at application startup. Repeating the same configuration returns the shared runtime; starting a different configuration while it is active throws an error. The application should have one owner responsible for destroying that runtime.

      \n

      For Chrome development, no native plugin is needed. Add .ios-theme-vertical-bars to ion-app to simulate the right rail, or add .ios-theme-vertical-bars-left as well to simulate the left rail:

      \n
      <ion-app class="ios-theme-vertical-bars">...</ion-app>
      \n\n

      setPlacement requires a mounted ion-app. Call it after the app root exists; passing null restores the ordinary layout.

      \n

      For example, an app configured with Ionic mode: 'md' can use this same ion-app class. No component needs to switch to mode="ios" for Vertical Bars.

      \n

      The class reserves 80px on the physical right in Chrome, matching the system navigation region measured in the iPhone Duo Simulator. On iOS it also respects a larger CSS safe-area inset. The left modifier moves that reservation to the physical left. Override --ios-theme-vertical-bars-safe-area-left or --ios-theme-vertical-bars-safe-area-right when simulating a different layout.

      \n

      This keeps routers and component backgrounds full-viewport. ion-content moves its scroll foreground, ion-toolbar moves its container foreground, and ion-fab adjusts only when it is placed beside the system UI. The corresponding Ionic safe-area variable is reset inside those foreground components so descendants do not add the inset again.

      \n

      ion-menu, ion-modal, and ion-popover are handled as separate surfaces: their internal foreground components do not receive the main-page conversion and retain Ionic's standard safe-area handling. A menu presented beside the system UI keeps Ionic's full-viewport animation host and offsets only its visible container by the corresponding inset; a menu from the opposite side is unchanged. Left and right remain physical coordinates in RTL, while Ionic's side="start" and side="end" values remain logical.

      \n

      These values are web-layout simulation inputs. They are independent from Ionic's normal iPhone safe-area variables and do not change ordinary iPhone layouts unless the opt-in class is present.

      \n

      When the app contains ion-tabs, this mode moves its tab bar into the chosen physical-side reserved region and aligns it above the bottom safe area. The Ionic slot value does not select a different position. Without Native UI Shell, the stable Web rail is icon-only, matching a four-tab SwiftUI TabView on iPhone Duo. While the user presses and drags across that rail, every icon-and-label tab reveals its label so the pending destination stays identifiable. The Web tab bar receives pointer input in the simulated system region. Use ion-menu when navigation should become a sidebar; this mode does not convert tabs into a menu.

      \n

      On supported iOS versions, enableVerticalControlArea() hands eligible tabs, back navigation, menu buttons, and fixed-toolbar actions to a native SwiftUI TabView and toolbar. Vertical Bars works with either Ionic ios or md mode; the application chooses both its component mode and where to enable Vertical Bars. Back navigation can come from outside a fixed toolbar; other toolbar actions still require a fixed toolbar. It does not project ordinary Native UI Shell controls outside the vertical area. If the app already uses the full enableNativeUIShell(), keep that single runtime instead of starting both. The Ionic controls remain the sources of labels, icons, selected/disabled state, form submission, routing, and click handlers while SwiftUI owns adaptive placement and interaction. Fixed-toolbar actions need an icon or SVG, no direct text node, and standard fill="default" or fill="clear" to be eligible for the side rail. Text-only actions stay in the original Web toolbar. Add .ios-theme-horizontal-only to an ion-buttons group or individual ion-button to keep it in the Web toolbar. Placement is chosen when a routed page enters; changing an existing button's content does not move it between the toolbar and rail until the page leaves and re-enters. Menus, modals, and popovers retain their own toolbar layout.

      \n

      On Web, Android, or when native projection is unavailable, the Web tab bar and fixed-toolbar clones remain the fallback. Those projections also work when no ion-tabs exists; text-only actions stay in the original Web toolbar. Disabling the mode or leaving the page removes the native ownership or Web clones and restores their sources. Override --ios-theme-vertical-bars-toolbar-top when the simulated system controls use a different vertical layout.

      \n

      Two-line inset list items

      \n

      Place an unslotted ion-label immediately alongside an unslotted ion-note to render a two-line item. When using the iOS-style inset-list background, wrap the items in ion-item-group; keep ion-list-header outside the group.

      \n
      <ion-list inset="true">\n  <ion-list-header>\n    <ion-label>Connections</ion-label>\n  </ion-list-header>\n  <ion-item-group>\n    <ion-item>\n      <ion-label>Network &amp; internet</ion-label>\n      <ion-note>Mobile, Wi-Fi, hotspot</ion-note>\n    </ion-item>\n  </ion-item-group>\n</ion-list>
      \n\n
      \n
      Preview
      \n\n \n Connections\n \n \n \n Network & internet\n Mobile, Wi-Fi, hotspot\n \n \n\n
      \n\n

      Use slot="end" on ion-note when you want the standard trailing-note layout instead.

      \n

      Inset-list section headers

      \n

      Add .item-group-header to an ion-item-group to create the centered icon, title, and description used at the top of the component demo pages.

      \n

      This is an introductory group. Place regular list items in a separate ion-item-group that follows it.

      \n
      <ion-list inset="true">\n  <ion-item-group class="item-group-header">\n    <ion-item>\n      <ion-label>\n        <ion-icon name="list" style="background: var(--ion-color-primary)"></ion-icon>\n        <h2>Lists</h2>\n        <ion-text>Inset-list examples</ion-text>\n      </ion-label>\n    </ion-item>\n  </ion-item-group>\n  <ion-item-group>\n    <ion-item><ion-label>First item</ion-label></ion-item>\n  </ion-item-group>\n</ion-list>
      \n\n
      \n
      Preview
      \n\n \n \n \n \n

      Lists

      \n Inset-list examples\n
      \n
      \n
      \n \n First item\n \n
      \n
      \n\n

      Full-width segments

      \n

      Add .segment-style-glass to give a segment the same glass surface and selected indicator treatment as the tab bar. The class preserves the segment's existing dimensions and text colors, supports scrollable segments, and respects Ionic's public --background property.

      \n
      <ion-segment class="segment-style-glass" value="available">\n  <ion-segment-button value="available">Available</ion-segment-button>\n  <ion-segment-button value="away">Away</ion-segment-button>\n</ion-segment>
      \n\n

      For colored segments, use Ionic's color property (for example, color="primary" or color="secondary"). Ionic uses the palette's base color for the softly tinted track while keeping the selected surface and labels neutral. A surrounding colored toolbar only supplies colors when the segment has no color of its own. The optional moving glass inherits the selected surface color, and custom Ionic palettes work without additional registration.

      \n

      Add .segment-expand when segment buttons should divide the available width evenly. The class also changes the Liquid Glass effect sizing when registerSegmentEffect is used.

      \n

      Segments use a 32px minimum height in content and a 48px minimum height inside ion-toolbar. .segment-expand keeps the compact 32px layout in a toolbar. Compact segments retain Ionic's flat background and indicator colors; only the regular toolbar variant has a glass container and scales its outer container while pressed. Content and expanded segments keep their outer bounds. The optional moving glass lens is independent of the container's background.

      \n
      <ion-segment class="segment-expand" value="new">\n  <ion-segment-button value="new"><ion-label>New</ion-label></ion-segment-button>\n  <ion-segment-button value="replied"><ion-label>Replied</ion-label></ion-segment-button>\n</ion-segment>
      \n\n
      \n
      Preview
      \n\n New\n Replied\n\n
      \n\n

      Classic search bar in a condense header

      \n

      The theme gives iOS search bars the iOS 27 appearance by default. Add .searchbar-classic to the search field shown beneath a large title in an ion-header with collapse="condense". It uses the conventional filled iOS appearance and collapses with the large title instead of remaining in the fixed header.

      \n

      Place it in a toolbar with a color, such as color="light"; the classic background is derived from that color's contrast value.

      \n

      The example uses Ionic's standard collapsible large-title structure. Scroll the preview to collapse the large title and reveal the fixed header.

      \n
      <div class="ion-page">\n  <ion-header translucent="true">\n    <ion-toolbar color="light">\n      <ion-title>Search</ion-title>\n    </ion-toolbar>\n  </ion-header>\n  <ion-content color="light" fullscreen="true">\n    <ion-header collapse="condense">\n      <ion-toolbar color="light">\n        <ion-title size="large">Search</ion-title>\n      </ion-toolbar>\n      <ion-toolbar color="light">\n        <ion-searchbar class="searchbar-classic" placeholder="Filter results"></ion-searchbar>\n      </ion-toolbar>\n    </ion-header>\n    <ion-list inset="true">\n      <ion-item-group>\n        <ion-item><ion-label>Recent item 1</ion-label></ion-item>\n        <ion-item><ion-label>Recent item 2</ion-label></ion-item>\n        <ion-item><ion-label>Recent item 3</ion-label></ion-item>\n        <ion-item><ion-label>Recent item 4</ion-label></ion-item>\n        <ion-item><ion-label>Recent item 5</ion-label></ion-item>\n        <ion-item><ion-label>Recent item 6</ion-label></ion-item>\n        <ion-item><ion-label>Recent item 7</ion-label></ion-item>\n        <ion-item><ion-label>Recent item 8</ion-label></ion-item>\n        <ion-item><ion-label>Recent item 9</ion-label></ion-item>\n        <ion-item><ion-label>Recent item 10</ion-label></ion-item>\n      </ion-item-group>\n    </ion-list>\n  </ion-content>\n</div>
      \n\n
      \n
      Preview
      \n
      \n \n \n Search\n \n \n \n \n \n Search\n \n \n \n \n \n \n \n Recent item 1\n Recent item 2\n Recent item 3\n Recent item 4\n Recent item 5\n Recent item 6\n Recent item 7\n Recent item 8\n Recent item 9\n Recent item 10\n \n \n \n
      \n
      \n\n

      The .ion-page wrapper makes this embedded preview behave like a complete routed page. An application using ion-router-outlet normally receives that page container automatically. The inset list and its items only provide enough content to demonstrate scrolling; they are not required by .searchbar-classic.

      \n

      Search-bar toolbars

      \n

      Add .toolbar-searchbar when an ion-toolbar combines a search bar with start or end buttons. The class centers the slotted controls and adjusts the spacing around the search field.

      \n
      <ion-toolbar class="toolbar-searchbar">\n  <ion-buttons slot="start">\n    <ion-button>Cancel</ion-button>\n  </ion-buttons>\n  <ion-searchbar></ion-searchbar>\n</ion-toolbar>
      \n\n
      \n
      Preview
      \n\n \n Cancel\n \n \n\n
      \n\n

      Opting out

      \n

      Add .ios-theme-disabled to an individual Ionic component when it must retain Ionic's standard iOS styling.

      \n

      .ios26-disabled is deprecated but remains supported as an alias with the same behavior. Use .ios-theme-disabled for new code.

      \n
      <ion-button>iOS 27 theme</ion-button> <ion-button class="ios-theme-disabled">Standard Ionic button</ion-button>
      \n\n
      \n
      Preview
      \niOS 27 theme Standard Ionic button\n
      \n\n

      For the background model behind inset lists, see Using ion-item-group.

      \n'; + '

      Special markup and classes

      \n

      Most Ionic markup works without changes. The combinations below are explicit opt-ins provided by the theme.

      \n

      Primary submit buttons

      \n

      Solid submit buttons use the Ionic color's contrast value for their foreground. Their directional edge treatment follows the iOS 27 prominent-button appearance and does not require an additional brightness color.

      \n
      <ion-button type="submit" color="primary">Submit</ion-button>\n<ion-button class="button-submit" fill="solid" color="primary">Continue</ion-button>
      \n\n
      \n
      Preview
      \nSubmit\nContinue\n
      \n\n

      Use .button-submit when the button needs the same treatment but cannot use type="submit".

      \n

      Preferred overlay actions

      \n

      For iOS alerts and action sheets, set role: 'preferred' on a button to give it a filled --ion-color-primary background and --ion-color-primary-contrast text and icons. While pressed, the background uses --ion-color-primary-shade. This is a theme convention using Ionic's custom button roles; it does not automatically select or invoke the action. Dismissal reports the role as preferred.

      \n
      buttons: [\n  { text: \'Cancel\', role: \'cancel\' },\n  { text: \'Continue\', role: \'preferred\' },\n];
      \n\n

      Buttons with no role or default keep the normal text color. cancel retains Ionic's cancellation behavior, selected remains a selection state, and destructive uses --ios-theme-destructive-color. An existing confirm role is not treated as preferred. Use preferred for the recommended action, not simply any action that confirms a choice.

      \n

      Floating iPad sheets

      \n

      Set expandToScroll: false on a sheet modal to use floating lower corners and a 20px bottom gap on iPad. Ionic then sizes the visible page at each breakpoint, so the theme can style it with CSS alone. Content scrolls within the current breakpoint; dragging the handle still resizes the sheet. With the default expandToScroll: true, the sheet keeps Ionic's bottom-attached layout and scroll-to-expand behavior.

      \n

      Tab bar position

      \n

      Add one of tab-bar-position-start, tab-bar-position-center, or tab-bar-position-end to an iOS ion-tab-bar to position the whole bar within its safe area. These classes work with both slot="top" and slot="bottom" and preserve the bar's width and press animation. Start and end follow the text direction (reversed in RTL). Without a class, the existing placement is unchanged.

      \n
      <ion-tab-bar slot="bottom" class="tab-bar-position-center">\n  <ion-tab-button tab="home">Home</ion-tab-button>\n  <ion-tab-button tab="settings">Settings</ion-tab-button>\n</ion-tab-bar>
      \n\n

      These classes do not reposition a separate ion-fab; leave room for it when choosing the bar's position.

      \n

      Support iPhone Duo

      \n

      Load the separate stylesheet and start its projection runtime. The iOS 27 theme stylesheets are not required:

      \n
      @use \'@rdlabo/ionic-theme-ios27/dist/css/vertical-bars.css\';
      \n\n
      import {\n  addVerticalBarPlacementListener,\n  enableVerticalControlArea,\n  getVerticalBarPlacement,\n} from \'@rdlabo/ionic-theme-ios27/vertical-bars\';\n\n// Start Web projection on Chrome too; it remains idle until the class is present.\nconst rail = await enableVerticalControlArea();\n\n// `platform` is the app\'s injected Ionic Platform instance.\nif (platform.is(\'ios\')) {\n  await addVerticalBarPlacementListener((placement) => rail.setPlacement(placement));\n  rail.setPlacement(await getVerticalBarPlacement());\n}
      \n\n

      The platform.is('ios') guard controls automatic application of native placement, not the component mode or the Web simulation. An app can keep mode: 'md' on iOS and still enable Vertical Bars.

      \n

      The placement listener only reports what iOS chose; the application decides whether to call setPlacement. Passing null restores the ordinary layout. The result includes the physical edge and its UIKit safe-area inset. Projected tabs and toolbar controls still render with SwiftUI. If the app already starts the full enableNativeUIShell(), use setVerticalControlAreaPlacement(placement) instead of starting another runtime.

      \n

      Start either enableVerticalControlArea() or the full enableNativeUIShell() once at application startup. Repeating the same configuration returns the shared runtime; starting a different configuration while it is active throws an error. The application should have one owner responsible for destroying that runtime.

      \n

      For Chrome development, no native plugin is needed. Add .ios-theme-vertical-bars to ion-app to simulate the right rail, or add .ios-theme-vertical-bars-left as well to simulate the left rail:

      \n
      <ion-app class="ios-theme-vertical-bars">...</ion-app>
      \n\n

      setPlacement requires a mounted ion-app. Call it after the app root exists; passing null restores the ordinary layout.

      \n

      For example, an app configured with Ionic mode: 'md' can use this same ion-app class. No component needs to switch to mode="ios" for Vertical Bars.

      \n

      The class reserves 80px on the physical right in Chrome to simulate iPhone Duo. When setPlacement receives a native placement, it uses the measured UIKit inset instead of the simulated width, even when that inset is less than 80px. The left modifier moves the reservation to the physical left. Override --ios-theme-vertical-bars-safe-area-left or --ios-theme-vertical-bars-safe-area-right when simulating a different layout.

      \n

      This keeps routers and component backgrounds full-viewport. ion-content moves its scroll foreground, ion-toolbar moves its container foreground, and ion-fab adjusts only when it is placed beside the system UI. The corresponding Ionic safe-area variable is reset inside those foreground components so descendants do not add the inset again.

      \n

      ion-menu, ion-modal, and ion-popover are handled as separate surfaces: their internal foreground components do not receive the main-page conversion and retain Ionic's standard safe-area handling. A menu presented beside the system UI keeps Ionic's full-viewport animation host and offsets only its visible container by the corresponding inset; a menu from the opposite side is unchanged. Left and right remain physical coordinates in RTL, while Ionic's side="start" and side="end" values remain logical.

      \n

      These values are web-layout simulation inputs. They are independent from Ionic's normal iPhone safe-area variables and do not change ordinary iPhone layouts unless the opt-in class is present.

      \n

      When the app contains ion-tabs, this mode moves its tab bar into the chosen physical-side reserved region and aligns it above the bottom safe area. The Ionic slot value does not select a different position. Without Native UI Shell, the stable Web rail is icon-only, matching a four-tab SwiftUI TabView on iPhone Duo. While the user presses and drags across that rail, every icon-and-label tab reveals its label so the pending destination stays identifiable. The Web tab bar receives pointer input in the simulated system region. Use ion-menu when navigation should become a sidebar; this mode does not convert tabs into a menu.

      \n

      On supported iOS versions, enableVerticalControlArea() hands eligible tabs, back navigation, menu buttons, and fixed-toolbar actions to a native SwiftUI TabView and toolbar. Vertical Bars works with either Ionic ios or md mode; the application chooses both its component mode and where to enable Vertical Bars. Back navigation can come from outside a fixed toolbar; other toolbar actions still require a fixed toolbar. It does not project ordinary Native UI Shell controls outside the vertical area. If the app already uses the full enableNativeUIShell(), keep that single runtime instead of starting both. The Ionic controls remain the sources of labels, icons, selected/disabled state, form submission, routing, and click handlers while SwiftUI owns adaptive placement and interaction. Fixed-toolbar actions need an icon or SVG, no direct text node, and standard fill="default" or fill="clear" to be eligible for the side rail. Text-only actions stay in the original Web toolbar. Add .ios-theme-horizontal-only to an ion-buttons group or individual ion-button to keep it in the Web toolbar. Placement is chosen when a routed page enters; changing an existing button's content does not move it between the toolbar and rail until the page leaves and re-enters. Menus, modals, and popovers retain their own toolbar layout.

      \n

      On Web, Android, or when native projection is unavailable, the Web tab bar and fixed-toolbar clones remain the fallback. Those projections also work when no ion-tabs exists; text-only actions stay in the original Web toolbar. Disabling the mode or leaving the page removes the native ownership or Web clones and restores their sources. Override --ios-theme-vertical-bars-toolbar-top when the simulated system controls use a different vertical layout.

      \n

      Two-line inset list items

      \n

      Place an unslotted ion-label immediately alongside an unslotted ion-note to render a two-line item. When using the iOS-style inset-list background, wrap the items in ion-item-group; keep ion-list-header outside the group.

      \n
      <ion-list inset="true">\n  <ion-list-header>\n    <ion-label>Connections</ion-label>\n  </ion-list-header>\n  <ion-item-group>\n    <ion-item>\n      <ion-label>Network &amp; internet</ion-label>\n      <ion-note>Mobile, Wi-Fi, hotspot</ion-note>\n    </ion-item>\n  </ion-item-group>\n</ion-list>
      \n\n
      \n
      Preview
      \n\n \n Connections\n \n \n \n Network & internet\n Mobile, Wi-Fi, hotspot\n \n \n\n
      \n\n

      Use slot="end" on ion-note when you want the standard trailing-note layout instead.

      \n

      Inset-list section headers

      \n

      Add .item-group-header to an ion-item-group to create the centered icon, title, and description used at the top of the component demo pages.

      \n

      This is an introductory group. Place regular list items in a separate ion-item-group that follows it.

      \n
      <ion-list inset="true">\n  <ion-item-group class="item-group-header">\n    <ion-item>\n      <ion-label>\n        <ion-icon name="list" style="background: var(--ion-color-primary)"></ion-icon>\n        <h2>Lists</h2>\n        <ion-text>Inset-list examples</ion-text>\n      </ion-label>\n    </ion-item>\n  </ion-item-group>\n  <ion-item-group>\n    <ion-item><ion-label>First item</ion-label></ion-item>\n  </ion-item-group>\n</ion-list>
      \n\n
      \n
      Preview
      \n\n \n \n \n \n

      Lists

      \n Inset-list examples\n
      \n
      \n
      \n \n First item\n \n
      \n
      \n\n

      Full-width segments

      \n

      Add .segment-style-glass to give a segment the same glass surface and selected indicator treatment as the tab bar. The class preserves the segment's existing dimensions and text colors, supports scrollable segments, and respects Ionic's public --background property.

      \n
      <ion-segment class="segment-style-glass" value="available">\n  <ion-segment-button value="available">Available</ion-segment-button>\n  <ion-segment-button value="away">Away</ion-segment-button>\n</ion-segment>
      \n\n

      For colored segments, use Ionic's color property (for example, color="primary" or color="secondary"). Ionic uses the palette's base color for the softly tinted track while keeping the selected surface and labels neutral. A surrounding colored toolbar only supplies colors when the segment has no color of its own. The optional moving glass inherits the selected surface color, and custom Ionic palettes work without additional registration.

      \n

      Add .segment-expand when segment buttons should divide the available width evenly. The class also changes the Liquid Glass effect sizing when registerSegmentEffect is used.

      \n

      Segments use a 32px minimum height in content and a 48px minimum height inside ion-toolbar. .segment-expand keeps the compact 32px layout in a toolbar. Compact segments retain Ionic's flat background and indicator colors; only the regular toolbar variant has a glass container and scales its outer container while pressed. Content and expanded segments keep their outer bounds. The optional moving glass lens is independent of the container's background.

      \n
      <ion-segment class="segment-expand" value="new">\n  <ion-segment-button value="new"><ion-label>New</ion-label></ion-segment-button>\n  <ion-segment-button value="replied"><ion-label>Replied</ion-label></ion-segment-button>\n</ion-segment>
      \n\n
      \n
      Preview
      \n\n New\n Replied\n\n
      \n\n

      Classic search bar in a condense header

      \n

      The theme gives iOS search bars the iOS 27 appearance by default. Add .searchbar-classic to the search field shown beneath a large title in an ion-header with collapse="condense". It uses the conventional filled iOS appearance and collapses with the large title instead of remaining in the fixed header.

      \n

      Place it in a toolbar with a color, such as color="light"; the classic background is derived from that color's contrast value.

      \n

      The example uses Ionic's standard collapsible large-title structure. Scroll the preview to collapse the large title and reveal the fixed header.

      \n
      <div class="ion-page">\n  <ion-header translucent="true">\n    <ion-toolbar color="light">\n      <ion-title>Search</ion-title>\n    </ion-toolbar>\n  </ion-header>\n  <ion-content color="light" fullscreen="true">\n    <ion-header collapse="condense">\n      <ion-toolbar color="light">\n        <ion-title size="large">Search</ion-title>\n      </ion-toolbar>\n      <ion-toolbar color="light">\n        <ion-searchbar class="searchbar-classic" placeholder="Filter results"></ion-searchbar>\n      </ion-toolbar>\n    </ion-header>\n    <ion-list inset="true">\n      <ion-item-group>\n        <ion-item><ion-label>Recent item 1</ion-label></ion-item>\n        <ion-item><ion-label>Recent item 2</ion-label></ion-item>\n        <ion-item><ion-label>Recent item 3</ion-label></ion-item>\n        <ion-item><ion-label>Recent item 4</ion-label></ion-item>\n        <ion-item><ion-label>Recent item 5</ion-label></ion-item>\n        <ion-item><ion-label>Recent item 6</ion-label></ion-item>\n        <ion-item><ion-label>Recent item 7</ion-label></ion-item>\n        <ion-item><ion-label>Recent item 8</ion-label></ion-item>\n        <ion-item><ion-label>Recent item 9</ion-label></ion-item>\n        <ion-item><ion-label>Recent item 10</ion-label></ion-item>\n      </ion-item-group>\n    </ion-list>\n  </ion-content>\n</div>
      \n\n
      \n
      Preview
      \n
      \n \n \n Search\n \n \n \n \n \n Search\n \n \n \n \n \n \n \n Recent item 1\n Recent item 2\n Recent item 3\n Recent item 4\n Recent item 5\n Recent item 6\n Recent item 7\n Recent item 8\n Recent item 9\n Recent item 10\n \n \n \n
      \n
      \n\n

      The .ion-page wrapper makes this embedded preview behave like a complete routed page. An application using ion-router-outlet normally receives that page container automatically. The inset list and its items only provide enough content to demonstrate scrolling; they are not required by .searchbar-classic.

      \n

      Search-bar toolbars

      \n

      Add .toolbar-searchbar when an ion-toolbar combines a search bar with start or end buttons. The class centers the slotted controls and adjusts the spacing around the search field.

      \n
      <ion-toolbar class="toolbar-searchbar">\n  <ion-buttons slot="start">\n    <ion-button>Cancel</ion-button>\n  </ion-buttons>\n  <ion-searchbar></ion-searchbar>\n</ion-toolbar>
      \n\n
      \n
      Preview
      \n\n \n Cancel\n \n \n\n
      \n\n

      Opting out

      \n

      Add .ios-theme-disabled to an individual Ionic component when it must retain Ionic's standard iOS styling.

      \n

      .ios26-disabled is deprecated but remains supported as an alias with the same behavior. Use .ios-theme-disabled for new code.

      \n
      <ion-button>iOS 27 theme</ion-button> <ion-button class="ios-theme-disabled">Standard Ionic button</ion-button>
      \n\n
      \n
      Preview
      \niOS 27 theme Standard Ionic button\n
      \n\n

      For the background model behind inset lists, see Using ion-item-group.

      \n'; diff --git a/demo/src/app/index/index-page.component.ts b/demo/src/app/index/index-page.component.ts index 70adabd8..be4b48a1 100644 --- a/demo/src/app/index/index-page.component.ts +++ b/demo/src/app/index/index-page.component.ts @@ -102,6 +102,8 @@ export class IndexPageComponent { } async changeVerticalBarsMode(event: ToggleCustomEvent) { - setVerticalControlAreaPlacement(event.detail.checked ? ((await getVerticalBarPlacement()).edge ?? 'right') : null); + if (!event.detail.checked) return setVerticalControlAreaPlacement(null); + const placement = await getVerticalBarPlacement(); + setVerticalControlAreaPlacement(placement.edge ? placement : 'right'); } } diff --git a/demo/src/main.ts b/demo/src/main.ts index 1ae8790d..9c84e261 100644 --- a/demo/src/main.ts +++ b/demo/src/main.ts @@ -23,8 +23,12 @@ function loadIOSAnimations(): IonicAnimationOptions { // Keep the Web fallback available in the demo; applications can choose when to enable it. void bootstrapApplication(AppComponent, createAppConfig(loadIOSAnimations())) .then(() => - addVerticalBarPlacementListener(({ edge }) => { - if (edge && document.querySelector('ion-app.ios-theme-vertical-bars')) setVerticalControlAreaPlacement(edge); + addVerticalBarPlacementListener((placement) => { + const app = document.querySelector('ion-app.ios-theme-vertical-bars'); + if (app) + setVerticalControlAreaPlacement( + placement.edge ? placement : app.classList.contains('ios-theme-vertical-bars-left') ? 'left' : 'right', + ); }), ) .catch((err) => console.error(err)); diff --git a/demo/src/native-ui-shell-lifecycle.spec.ts b/demo/src/native-ui-shell-lifecycle.spec.ts index 5e55a912..8d212007 100644 --- a/demo/src/native-ui-shell-lifecycle.spec.ts +++ b/demo/src/native-ui-shell-lifecycle.spec.ts @@ -37,9 +37,15 @@ test('placement requires ion-app and clears it when disabled', () => { setVerticalControlAreaPlacement('left'); expect(app.classList.contains('ios-theme-vertical-bars-left')).toBe(true); + expect(app.style.getPropertyValue('--ios-theme-vertical-bars-native-inset')).toBe(''); + + setVerticalControlAreaPlacement({ edge: 'right', inset: 64 }); + expect(app.classList.contains('ios-theme-vertical-bars-left')).toBe(false); + expect(app.style.getPropertyValue('--ios-theme-vertical-bars-native-inset')).toBe('64px'); setVerticalControlAreaPlacement(null); expect(app.classList.contains('ios-theme-vertical-bars')).toBe(false); + expect(app.style.getPropertyValue('--ios-theme-vertical-bars-native-inset')).toBe(''); setVerticalControlAreaPlacement('right'); expect(app.classList.contains('ios-theme-vertical-bars')).toBe(true); diff --git a/docs/special-markup.md b/docs/special-markup.md index b380fabd..c40b26d8 100644 --- a/docs/special-markup.md +++ b/docs/special-markup.md @@ -67,14 +67,14 @@ const rail = await enableVerticalControlArea(); // `platform` is the app's injected Ionic Platform instance. if (platform.is('ios')) { - await addVerticalBarPlacementListener(({ edge }) => rail.setPlacement(edge)); - rail.setPlacement((await getVerticalBarPlacement()).edge); + await addVerticalBarPlacementListener((placement) => rail.setPlacement(placement)); + rail.setPlacement(await getVerticalBarPlacement()); } ``` The `platform.is('ios')` guard controls automatic application of native placement, not the component mode or the Web simulation. An app can keep `mode: 'md'` on iOS and still enable Vertical Bars. -The placement listener only reports what iOS chose; the application decides whether to call `setPlacement`. Passing `null` restores the ordinary layout. Placement is read from the WebView's UIKit trait; projected tabs and toolbar controls still render with SwiftUI. If the app already starts the full `enableNativeUIShell()`, use `setVerticalControlAreaPlacement(edge)` instead of starting another runtime. +The placement listener only reports what iOS chose; the application decides whether to call `setPlacement`. Passing `null` restores the ordinary layout. The result includes the physical edge and its UIKit safe-area inset. Projected tabs and toolbar controls still render with SwiftUI. If the app already starts the full `enableNativeUIShell()`, use `setVerticalControlAreaPlacement(placement)` instead of starting another runtime. Start either `enableVerticalControlArea()` or the full `enableNativeUIShell()` once at application startup. Repeating the same configuration returns the shared runtime; starting a different configuration while it is active throws an error. The application should have one owner responsible for destroying that runtime. @@ -88,7 +88,7 @@ For Chrome development, no native plugin is needed. Add `.ios-theme-vertical-bar For example, an app configured with Ionic `mode: 'md'` can use this same `ion-app` class. No component needs to switch to `mode="ios"` for Vertical Bars. -The class reserves `80px` on the physical right in Chrome, matching the system navigation region measured in the iPhone Duo Simulator. On iOS it also respects a larger CSS safe-area inset. The left modifier moves that reservation to the physical left. Override `--ios-theme-vertical-bars-safe-area-left` or `--ios-theme-vertical-bars-safe-area-right` when simulating a different layout. +The class reserves `80px` on the physical right in Chrome to simulate iPhone Duo. When `setPlacement` receives a native placement, it uses the measured UIKit inset instead of the simulated width, even when that inset is less than `80px`. The left modifier moves the reservation to the physical left. Override `--ios-theme-vertical-bars-safe-area-left` or `--ios-theme-vertical-bars-safe-area-right` when simulating a different layout. This keeps routers and component backgrounds full-viewport. `ion-content` moves its scroll foreground, `ion-toolbar` moves its container foreground, and `ion-fab` adjusts only when it is placed beside the system UI. The corresponding Ionic safe-area variable is reset inside those foreground components so descendants do not add the inset again. diff --git a/ios/Sources/IonicNativeUIShellPlugin/IonicNativeUIShellPlugin.swift b/ios/Sources/IonicNativeUIShellPlugin/IonicNativeUIShellPlugin.swift index 7477ca6d..b3503775 100644 --- a/ios/Sources/IonicNativeUIShellPlugin/IonicNativeUIShellPlugin.swift +++ b/ios/Sources/IonicNativeUIShellPlugin/IonicNativeUIShellPlugin.swift @@ -27,6 +27,7 @@ public class IonicNativeUIShellPlugin: CAPPlugin, CAPBridgedPlugin, UITabBarDele private var restoreTopEdge: (() -> Void)? private var observers: [NSObjectProtocol] = [] private var lastVerticalBarEdge: String? + private var lastVerticalBarInset: CGFloat = 0 private var verticalBarPlacementObserved = false private weak var observedVerticalBarView: UIView? @@ -108,16 +109,24 @@ public class IonicNativeUIShellPlugin: CAPPlugin, CAPBridgedPlugin, UITabBarDele return nil } + private func verticalBarInset(for edge: String?) -> CGFloat { + guard let edge, let webView = bridge?.webView else { return 0 } + webView.layoutIfNeeded() + return edge == "left" ? webView.safeAreaInsets.left : webView.safeAreaInsets.right + } + private func verticalBarPlacement() -> JSObject { - if let edge = verticalBarEdge() { return ["edge": edge] } - return ["edge": NSNull()] + if let edge = verticalBarEdge() { return ["edge": edge, "inset": Double(verticalBarInset(for: edge))] } + return ["edge": NSNull(), "inset": 0] } private func notifyVerticalBarPlacementChange() { let edge = verticalBarEdge() - guard !verticalBarPlacementObserved || edge != lastVerticalBarEdge else { return } + let inset = verticalBarInset(for: edge) + guard !verticalBarPlacementObserved || edge != lastVerticalBarEdge || abs(inset - lastVerticalBarInset) > 0.5 else { return } verticalBarPlacementObserved = true lastVerticalBarEdge = edge + lastVerticalBarInset = inset notifyListeners("verticalBarPlacementChange", data: verticalBarPlacement()) } @@ -137,7 +146,7 @@ public class IonicNativeUIShellPlugin: CAPPlugin, CAPBridgedPlugin, UITabBarDele @objc func getVerticalBarPlacement(_ call: CAPPluginCall) { DispatchQueue.main.async { [weak self] in self?.observeVerticalBarPlacement() - call.resolve(self?.verticalBarPlacement() ?? ["edge": NSNull()]) + call.resolve(self?.verticalBarPlacement() ?? ["edge": NSNull(), "inset": 0]) } } diff --git a/src/native/definitions.ts b/src/native/definitions.ts index 571fe6a1..33ad1612 100644 --- a/src/native/definitions.ts +++ b/src/native/definitions.ts @@ -41,9 +41,15 @@ export interface NativeUIShellHandle { export type VerticalBarEdge = 'left' | 'right' | null; +export interface VerticalBarPlacement { + edge: VerticalBarEdge; + /** UIKit safe-area inset on the physical vertical-bar edge, in points. */ + inset: number; +} + export interface VerticalControlAreaHandle extends NativeUIShellHandle { /** Applies the application's chosen placement to both Web and native controls. */ - setPlacement(edge: VerticalBarEdge): void; + setPlacement(placement: VerticalBarEdge | VerticalBarPlacement): void; } export interface NativeUIShellSuspension { @@ -146,12 +152,12 @@ export interface WebViewMetrics { export interface NativeUIShellPlugin { configure(options?: { verticalBarsOnly?: boolean }): Promise<{ supported: boolean }>; - getVerticalBarPlacement(): Promise<{ edge: VerticalBarEdge }>; + getVerticalBarPlacement(): Promise; getWebViewMetrics(): Promise; update(snapshot: ShellSnapshot): Promise<{ revision: number; rejectedSearches?: string[]; rejectedControls?: string[] }>; clear(options: { revision: number }): Promise; addListener(name: 'activate', listener: (event: ShellActivation) => void): Promise; addListener(name: 'search', listener: (event: ShellSearchEvent) => void): Promise; addListener(name: 'webViewMetricsChange', listener: (event: WebViewMetrics) => void): Promise; - addListener(name: 'verticalBarPlacementChange', listener: (event: { edge: VerticalBarEdge }) => void): Promise; + addListener(name: 'verticalBarPlacementChange', listener: (event: VerticalBarPlacement) => void): Promise; } diff --git a/src/native/index.ts b/src/native/index.ts index 6bc3dfa5..edbc9440 100644 --- a/src/native/index.ts +++ b/src/native/index.ts @@ -5,6 +5,7 @@ import type { NativeUIShellOptions, NativeUIShellPlugin, VerticalBarEdge, + VerticalBarPlacement, VerticalControlAreaHandle, WebViewMetrics, } from './definitions'; @@ -20,6 +21,7 @@ export type { NativeUIShellStatus, NativeUIShellSuspension, VerticalBarEdge, + VerticalBarPlacement, VerticalControlAreaHandle, WebViewMetrics, } from './definitions'; @@ -62,22 +64,27 @@ export const configureNativeTransition = async (): Promise => { }; /** Reads the system's current vertical-bar placement without changing the theme. */ -export const getVerticalBarPlacement = (): Promise<{ edge: VerticalBarEdge }> => - typeof document !== 'undefined' && Capacitor.getPlatform() === 'ios' ? plugin.getVerticalBarPlacement() : Promise.resolve({ edge: null }); +export const getVerticalBarPlacement = (): Promise => + typeof document !== 'undefined' && Capacitor.getPlatform() === 'ios' + ? plugin.getVerticalBarPlacement() + : Promise.resolve({ edge: null, inset: 0 }); /** Observes placement; the application decides whether to apply each change. */ -export const addVerticalBarPlacementListener = (listener: (placement: { edge: VerticalBarEdge }) => void) => +export const addVerticalBarPlacementListener = (listener: (placement: VerticalBarPlacement) => void) => typeof document !== 'undefined' && Capacitor.getPlatform() === 'ios' ? plugin.addListener('verticalBarPlacementChange', listener) : Promise.resolve({ remove: async () => {} }); /** Applies one placement to the CSS layout and both Web/native projections. */ -export const setVerticalControlAreaPlacement = (edge: VerticalBarEdge): void => { +export const setVerticalControlAreaPlacement = (placement: VerticalBarEdge | VerticalBarPlacement): void => { if (typeof document === 'undefined') return; - const app = document.querySelector('ion-app'); + const app = document.querySelector('ion-app'); if (!app) throw new Error('Vertical Control Area requires ion-app'); + const { edge, inset } = placement && typeof placement === 'object' ? placement : { edge: placement, inset: 0 }; app.classList.toggle('ios-theme-vertical-bars', edge !== null); app.classList.toggle('ios-theme-vertical-bars-left', edge === 'left'); + if (edge && Number.isFinite(inset) && inset > 0) app.style.setProperty('--ios-theme-vertical-bars-native-inset', `${inset}px`); + else app.style.removeProperty('--ios-theme-vertical-bars-native-inset'); }; /** Call once at application startup. Ionic markup remains the source of truth. */ diff --git a/src/styles/vertical-bars.scss b/src/styles/vertical-bars.scss index 6667cae0..2b103682 100644 --- a/src/styles/vertical-bars.scss +++ b/src/styles/vertical-bars.scss @@ -7,14 +7,14 @@ ion-app.ios-theme-vertical-bars { --ios-theme-vertical-bars-safe-area-left-resolved: var(--ios-theme-vertical-bars-safe-area-left, 0px); --ios-theme-vertical-bars-safe-area-right-resolved: var( --ios-theme-vertical-bars-safe-area-right, - max(80px, env(safe-area-inset-right, 0px)) + var(--ios-theme-vertical-bars-native-inset, max(80px, env(safe-area-inset-right, 0px))) ); } ion-app.ios-theme-vertical-bars.ios-theme-vertical-bars-left { --ios-theme-vertical-bars-safe-area-left-resolved: var( --ios-theme-vertical-bars-safe-area-left, - max(80px, env(safe-area-inset-left, 0px)) + var(--ios-theme-vertical-bars-native-inset, max(80px, env(safe-area-inset-left, 0px))) ); --ios-theme-vertical-bars-safe-area-right-resolved: var(--ios-theme-vertical-bars-safe-area-right, 0px); } From ca99f046bbb771be1cf3c086e084c36143f5b07c Mon Sep 17 00:00:00 2001 From: rdlabo Date: Fri, 25 Sep 2026 12:26:47 +0900 Subject: [PATCH 45/50] feat(vertical-bars): unify device layout reporting and Duo hinge support Replace separate placement/metrics getters and listeners with a single device-layout API (getDeviceLayout + deviceLayoutChange) so vertical-bar placement, hinge posture, and WebView corner radius stay synchronized. Monitoring is reference-counted, error paths no longer decrement other callers' counts, and destroy is idempotent. The demo split pane now follows the hinge posture (320px fully open, 50vw partially open) via the `when` attribute, side-menu items use routerLink for tab-consistent navigation, and screenshot coverage guards both widths. Generated with [Devin](https://devin.ai) Co-Authored-By: Devin <158243242+devin-ai-integration[bot]@users.noreply.github.com> --- demo/e2e/screenshot.spec.ts | 18 +++ .../duo-split-menu-flat.png | Bin 0 -> 42983 bytes .../duo-split-menu-half-open.png | Bin 0 -> 42986 bytes demo/src/app/docs/docs-content.generated.ts | 2 +- demo/src/app/index/index-page.component.ts | 6 +- demo/src/app/tabs/tabs.page.html | 10 +- demo/src/app/tabs/tabs.page.scss | 11 ++ demo/src/app/tabs/tabs.page.ts | 65 ++++++++- demo/src/main.ts | 13 +- demo/src/vertical-bars-web.spec.ts | 3 + docs/special-markup.md | 39 +++++- .../IonicNativeUIShellPlugin.swift | 132 +++++++++++++++--- src/native/definitions.ts | 21 ++- src/native/index.ts | 70 +++++----- src/styles/vertical-bars.scss | 12 ++ src/vertical-bars.ts | 10 +- 16 files changed, 319 insertions(+), 93 deletions(-) create mode 100644 demo/e2e/screenshot.spec.ts-snapshots/duo-split-menu-flat.png create mode 100644 demo/e2e/screenshot.spec.ts-snapshots/duo-split-menu-half-open.png diff --git a/demo/e2e/screenshot.spec.ts b/demo/e2e/screenshot.spec.ts index a2ca028e..33e66c3b 100644 --- a/demo/e2e/screenshot.spec.ts +++ b/demo/e2e/screenshot.spec.ts @@ -169,6 +169,24 @@ test.describe('Screenshot Tests - VerticalBars Layout', () => { } }); +test('Settings split-menu widths on iPhone Duo', async ({ page }) => { + await page.addInitScript(() => ((window as any).IONIC_E2E_TESTING = true)); + await page.setViewportSize({ width: 951, height: 669 }); + await page.goto('/main/index', { waitUntil: 'networkidle' }); + const splitPane = page.locator('ion-split-pane'); + await splitPane.evaluate((element) => { + element.setAttribute('when', '(min-width: 900px)'); + }); + await expect(splitPane).toHaveClass(/split-pane-visible/); + await page.evaluate(() => document.fonts.ready); + await expect(page).toHaveScreenshot('duo-split-menu-flat.png', { animations: 'disabled' }); + + await splitPane.evaluate((element) => { + element.classList.add('ios-theme-split-pane-half-open'); + }); + await expect(page).toHaveScreenshot('duo-split-menu-half-open.png', { animations: 'disabled' }); +}); + test.describe('Screenshot Tests - VerticalBars Back Button', () => { for (const direction of ['ltr', 'rtl'] as const) { test(`should project the active back button into the physical system rail in ${direction.toUpperCase()}`, async ({ page }) => { diff --git a/demo/e2e/screenshot.spec.ts-snapshots/duo-split-menu-flat.png b/demo/e2e/screenshot.spec.ts-snapshots/duo-split-menu-flat.png new file mode 100644 index 0000000000000000000000000000000000000000..4d2e18720961851a30b5a44cb554b9d252e0318f GIT binary patch literal 42983 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 literal 0 HcmV?d00001 diff --git a/demo/e2e/screenshot.spec.ts-snapshots/duo-split-menu-half-open.png b/demo/e2e/screenshot.spec.ts-snapshots/duo-split-menu-half-open.png new file mode 100644 index 0000000000000000000000000000000000000000..487d4e69ea20428c9478d5595e27a059ae5d0153 GIT binary patch literal 42986 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 Nc6dkY%427f{sI3b%tHVG literal 0 HcmV?d00001 diff --git a/demo/src/app/docs/docs-content.generated.ts b/demo/src/app/docs/docs-content.generated.ts index 0230b8f1..c16e6d57 100644 --- a/demo/src/app/docs/docs-content.generated.ts +++ b/demo/src/app/docs/docs-content.generated.ts @@ -1,3 +1,3 @@ // Generated from docs/special-markup.md. Do not edit directly. export const docsContentHtml = - '

      Special markup and classes

      \n

      Most Ionic markup works without changes. The combinations below are explicit opt-ins provided by the theme.

      \n

      Primary submit buttons

      \n

      Solid submit buttons use the Ionic color's contrast value for their foreground. Their directional edge treatment follows the iOS 27 prominent-button appearance and does not require an additional brightness color.

      \n
      <ion-button type="submit" color="primary">Submit</ion-button>\n<ion-button class="button-submit" fill="solid" color="primary">Continue</ion-button>
      \n\n
      \n
      Preview
      \nSubmit\nContinue\n
      \n\n

      Use .button-submit when the button needs the same treatment but cannot use type="submit".

      \n

      Preferred overlay actions

      \n

      For iOS alerts and action sheets, set role: 'preferred' on a button to give it a filled --ion-color-primary background and --ion-color-primary-contrast text and icons. While pressed, the background uses --ion-color-primary-shade. This is a theme convention using Ionic's custom button roles; it does not automatically select or invoke the action. Dismissal reports the role as preferred.

      \n
      buttons: [\n  { text: \'Cancel\', role: \'cancel\' },\n  { text: \'Continue\', role: \'preferred\' },\n];
      \n\n

      Buttons with no role or default keep the normal text color. cancel retains Ionic's cancellation behavior, selected remains a selection state, and destructive uses --ios-theme-destructive-color. An existing confirm role is not treated as preferred. Use preferred for the recommended action, not simply any action that confirms a choice.

      \n

      Floating iPad sheets

      \n

      Set expandToScroll: false on a sheet modal to use floating lower corners and a 20px bottom gap on iPad. Ionic then sizes the visible page at each breakpoint, so the theme can style it with CSS alone. Content scrolls within the current breakpoint; dragging the handle still resizes the sheet. With the default expandToScroll: true, the sheet keeps Ionic's bottom-attached layout and scroll-to-expand behavior.

      \n

      Tab bar position

      \n

      Add one of tab-bar-position-start, tab-bar-position-center, or tab-bar-position-end to an iOS ion-tab-bar to position the whole bar within its safe area. These classes work with both slot="top" and slot="bottom" and preserve the bar's width and press animation. Start and end follow the text direction (reversed in RTL). Without a class, the existing placement is unchanged.

      \n
      <ion-tab-bar slot="bottom" class="tab-bar-position-center">\n  <ion-tab-button tab="home">Home</ion-tab-button>\n  <ion-tab-button tab="settings">Settings</ion-tab-button>\n</ion-tab-bar>
      \n\n

      These classes do not reposition a separate ion-fab; leave room for it when choosing the bar's position.

      \n

      Support iPhone Duo

      \n

      Load the separate stylesheet and start its projection runtime. The iOS 27 theme stylesheets are not required:

      \n
      @use \'@rdlabo/ionic-theme-ios27/dist/css/vertical-bars.css\';
      \n\n
      import {\n  addVerticalBarPlacementListener,\n  enableVerticalControlArea,\n  getVerticalBarPlacement,\n} from \'@rdlabo/ionic-theme-ios27/vertical-bars\';\n\n// Start Web projection on Chrome too; it remains idle until the class is present.\nconst rail = await enableVerticalControlArea();\n\n// `platform` is the app\'s injected Ionic Platform instance.\nif (platform.is(\'ios\')) {\n  await addVerticalBarPlacementListener((placement) => rail.setPlacement(placement));\n  rail.setPlacement(await getVerticalBarPlacement());\n}
      \n\n

      The platform.is('ios') guard controls automatic application of native placement, not the component mode or the Web simulation. An app can keep mode: 'md' on iOS and still enable Vertical Bars.

      \n

      The placement listener only reports what iOS chose; the application decides whether to call setPlacement. Passing null restores the ordinary layout. The result includes the physical edge and its UIKit safe-area inset. Projected tabs and toolbar controls still render with SwiftUI. If the app already starts the full enableNativeUIShell(), use setVerticalControlAreaPlacement(placement) instead of starting another runtime.

      \n

      Start either enableVerticalControlArea() or the full enableNativeUIShell() once at application startup. Repeating the same configuration returns the shared runtime; starting a different configuration while it is active throws an error. The application should have one owner responsible for destroying that runtime.

      \n

      For Chrome development, no native plugin is needed. Add .ios-theme-vertical-bars to ion-app to simulate the right rail, or add .ios-theme-vertical-bars-left as well to simulate the left rail:

      \n
      <ion-app class="ios-theme-vertical-bars">...</ion-app>
      \n\n

      setPlacement requires a mounted ion-app. Call it after the app root exists; passing null restores the ordinary layout.

      \n

      For example, an app configured with Ionic mode: 'md' can use this same ion-app class. No component needs to switch to mode="ios" for Vertical Bars.

      \n

      The class reserves 80px on the physical right in Chrome to simulate iPhone Duo. When setPlacement receives a native placement, it uses the measured UIKit inset instead of the simulated width, even when that inset is less than 80px. The left modifier moves the reservation to the physical left. Override --ios-theme-vertical-bars-safe-area-left or --ios-theme-vertical-bars-safe-area-right when simulating a different layout.

      \n

      This keeps routers and component backgrounds full-viewport. ion-content moves its scroll foreground, ion-toolbar moves its container foreground, and ion-fab adjusts only when it is placed beside the system UI. The corresponding Ionic safe-area variable is reset inside those foreground components so descendants do not add the inset again.

      \n

      ion-menu, ion-modal, and ion-popover are handled as separate surfaces: their internal foreground components do not receive the main-page conversion and retain Ionic's standard safe-area handling. A menu presented beside the system UI keeps Ionic's full-viewport animation host and offsets only its visible container by the corresponding inset; a menu from the opposite side is unchanged. Left and right remain physical coordinates in RTL, while Ionic's side="start" and side="end" values remain logical.

      \n

      These values are web-layout simulation inputs. They are independent from Ionic's normal iPhone safe-area variables and do not change ordinary iPhone layouts unless the opt-in class is present.

      \n

      When the app contains ion-tabs, this mode moves its tab bar into the chosen physical-side reserved region and aligns it above the bottom safe area. The Ionic slot value does not select a different position. Without Native UI Shell, the stable Web rail is icon-only, matching a four-tab SwiftUI TabView on iPhone Duo. While the user presses and drags across that rail, every icon-and-label tab reveals its label so the pending destination stays identifiable. The Web tab bar receives pointer input in the simulated system region. Use ion-menu when navigation should become a sidebar; this mode does not convert tabs into a menu.

      \n

      On supported iOS versions, enableVerticalControlArea() hands eligible tabs, back navigation, menu buttons, and fixed-toolbar actions to a native SwiftUI TabView and toolbar. Vertical Bars works with either Ionic ios or md mode; the application chooses both its component mode and where to enable Vertical Bars. Back navigation can come from outside a fixed toolbar; other toolbar actions still require a fixed toolbar. It does not project ordinary Native UI Shell controls outside the vertical area. If the app already uses the full enableNativeUIShell(), keep that single runtime instead of starting both. The Ionic controls remain the sources of labels, icons, selected/disabled state, form submission, routing, and click handlers while SwiftUI owns adaptive placement and interaction. Fixed-toolbar actions need an icon or SVG, no direct text node, and standard fill="default" or fill="clear" to be eligible for the side rail. Text-only actions stay in the original Web toolbar. Add .ios-theme-horizontal-only to an ion-buttons group or individual ion-button to keep it in the Web toolbar. Placement is chosen when a routed page enters; changing an existing button's content does not move it between the toolbar and rail until the page leaves and re-enters. Menus, modals, and popovers retain their own toolbar layout.

      \n

      On Web, Android, or when native projection is unavailable, the Web tab bar and fixed-toolbar clones remain the fallback. Those projections also work when no ion-tabs exists; text-only actions stay in the original Web toolbar. Disabling the mode or leaving the page removes the native ownership or Web clones and restores their sources. Override --ios-theme-vertical-bars-toolbar-top when the simulated system controls use a different vertical layout.

      \n

      Two-line inset list items

      \n

      Place an unslotted ion-label immediately alongside an unslotted ion-note to render a two-line item. When using the iOS-style inset-list background, wrap the items in ion-item-group; keep ion-list-header outside the group.

      \n
      <ion-list inset="true">\n  <ion-list-header>\n    <ion-label>Connections</ion-label>\n  </ion-list-header>\n  <ion-item-group>\n    <ion-item>\n      <ion-label>Network &amp; internet</ion-label>\n      <ion-note>Mobile, Wi-Fi, hotspot</ion-note>\n    </ion-item>\n  </ion-item-group>\n</ion-list>
      \n\n
      \n
      Preview
      \n\n \n Connections\n \n \n \n Network & internet\n Mobile, Wi-Fi, hotspot\n \n \n\n
      \n\n

      Use slot="end" on ion-note when you want the standard trailing-note layout instead.

      \n

      Inset-list section headers

      \n

      Add .item-group-header to an ion-item-group to create the centered icon, title, and description used at the top of the component demo pages.

      \n

      This is an introductory group. Place regular list items in a separate ion-item-group that follows it.

      \n
      <ion-list inset="true">\n  <ion-item-group class="item-group-header">\n    <ion-item>\n      <ion-label>\n        <ion-icon name="list" style="background: var(--ion-color-primary)"></ion-icon>\n        <h2>Lists</h2>\n        <ion-text>Inset-list examples</ion-text>\n      </ion-label>\n    </ion-item>\n  </ion-item-group>\n  <ion-item-group>\n    <ion-item><ion-label>First item</ion-label></ion-item>\n  </ion-item-group>\n</ion-list>
      \n\n
      \n
      Preview
      \n\n \n \n \n \n

      Lists

      \n Inset-list examples\n
      \n
      \n
      \n \n First item\n \n
      \n
      \n\n

      Full-width segments

      \n

      Add .segment-style-glass to give a segment the same glass surface and selected indicator treatment as the tab bar. The class preserves the segment's existing dimensions and text colors, supports scrollable segments, and respects Ionic's public --background property.

      \n
      <ion-segment class="segment-style-glass" value="available">\n  <ion-segment-button value="available">Available</ion-segment-button>\n  <ion-segment-button value="away">Away</ion-segment-button>\n</ion-segment>
      \n\n

      For colored segments, use Ionic's color property (for example, color="primary" or color="secondary"). Ionic uses the palette's base color for the softly tinted track while keeping the selected surface and labels neutral. A surrounding colored toolbar only supplies colors when the segment has no color of its own. The optional moving glass inherits the selected surface color, and custom Ionic palettes work without additional registration.

      \n

      Add .segment-expand when segment buttons should divide the available width evenly. The class also changes the Liquid Glass effect sizing when registerSegmentEffect is used.

      \n

      Segments use a 32px minimum height in content and a 48px minimum height inside ion-toolbar. .segment-expand keeps the compact 32px layout in a toolbar. Compact segments retain Ionic's flat background and indicator colors; only the regular toolbar variant has a glass container and scales its outer container while pressed. Content and expanded segments keep their outer bounds. The optional moving glass lens is independent of the container's background.

      \n
      <ion-segment class="segment-expand" value="new">\n  <ion-segment-button value="new"><ion-label>New</ion-label></ion-segment-button>\n  <ion-segment-button value="replied"><ion-label>Replied</ion-label></ion-segment-button>\n</ion-segment>
      \n\n
      \n
      Preview
      \n\n New\n Replied\n\n
      \n\n

      Classic search bar in a condense header

      \n

      The theme gives iOS search bars the iOS 27 appearance by default. Add .searchbar-classic to the search field shown beneath a large title in an ion-header with collapse="condense". It uses the conventional filled iOS appearance and collapses with the large title instead of remaining in the fixed header.

      \n

      Place it in a toolbar with a color, such as color="light"; the classic background is derived from that color's contrast value.

      \n

      The example uses Ionic's standard collapsible large-title structure. Scroll the preview to collapse the large title and reveal the fixed header.

      \n
      <div class="ion-page">\n  <ion-header translucent="true">\n    <ion-toolbar color="light">\n      <ion-title>Search</ion-title>\n    </ion-toolbar>\n  </ion-header>\n  <ion-content color="light" fullscreen="true">\n    <ion-header collapse="condense">\n      <ion-toolbar color="light">\n        <ion-title size="large">Search</ion-title>\n      </ion-toolbar>\n      <ion-toolbar color="light">\n        <ion-searchbar class="searchbar-classic" placeholder="Filter results"></ion-searchbar>\n      </ion-toolbar>\n    </ion-header>\n    <ion-list inset="true">\n      <ion-item-group>\n        <ion-item><ion-label>Recent item 1</ion-label></ion-item>\n        <ion-item><ion-label>Recent item 2</ion-label></ion-item>\n        <ion-item><ion-label>Recent item 3</ion-label></ion-item>\n        <ion-item><ion-label>Recent item 4</ion-label></ion-item>\n        <ion-item><ion-label>Recent item 5</ion-label></ion-item>\n        <ion-item><ion-label>Recent item 6</ion-label></ion-item>\n        <ion-item><ion-label>Recent item 7</ion-label></ion-item>\n        <ion-item><ion-label>Recent item 8</ion-label></ion-item>\n        <ion-item><ion-label>Recent item 9</ion-label></ion-item>\n        <ion-item><ion-label>Recent item 10</ion-label></ion-item>\n      </ion-item-group>\n    </ion-list>\n  </ion-content>\n</div>
      \n\n
      \n
      Preview
      \n
      \n \n \n Search\n \n \n \n \n \n Search\n \n \n \n \n \n \n \n Recent item 1\n Recent item 2\n Recent item 3\n Recent item 4\n Recent item 5\n Recent item 6\n Recent item 7\n Recent item 8\n Recent item 9\n Recent item 10\n \n \n \n
      \n
      \n\n

      The .ion-page wrapper makes this embedded preview behave like a complete routed page. An application using ion-router-outlet normally receives that page container automatically. The inset list and its items only provide enough content to demonstrate scrolling; they are not required by .searchbar-classic.

      \n

      Search-bar toolbars

      \n

      Add .toolbar-searchbar when an ion-toolbar combines a search bar with start or end buttons. The class centers the slotted controls and adjusts the spacing around the search field.

      \n
      <ion-toolbar class="toolbar-searchbar">\n  <ion-buttons slot="start">\n    <ion-button>Cancel</ion-button>\n  </ion-buttons>\n  <ion-searchbar></ion-searchbar>\n</ion-toolbar>
      \n\n
      \n
      Preview
      \n\n \n Cancel\n \n \n\n
      \n\n

      Opting out

      \n

      Add .ios-theme-disabled to an individual Ionic component when it must retain Ionic's standard iOS styling.

      \n

      .ios26-disabled is deprecated but remains supported as an alias with the same behavior. Use .ios-theme-disabled for new code.

      \n
      <ion-button>iOS 27 theme</ion-button> <ion-button class="ios-theme-disabled">Standard Ionic button</ion-button>
      \n\n
      \n
      Preview
      \niOS 27 theme Standard Ionic button\n
      \n\n

      For the background model behind inset lists, see Using ion-item-group.

      \n'; + '

      Special markup and classes

      \n

      Most Ionic markup works without changes. The combinations below are explicit opt-ins provided by the theme.

      \n

      Primary submit buttons

      \n

      Solid submit buttons use the Ionic color's contrast value for their foreground. Their directional edge treatment follows the iOS 27 prominent-button appearance and does not require an additional brightness color.

      \n
      <ion-button type="submit" color="primary">Submit</ion-button>\n<ion-button class="button-submit" fill="solid" color="primary">Continue</ion-button>
      \n\n
      \n
      Preview
      \nSubmit\nContinue\n
      \n\n

      Use .button-submit when the button needs the same treatment but cannot use type="submit".

      \n

      Preferred overlay actions

      \n

      For iOS alerts and action sheets, set role: 'preferred' on a button to give it a filled --ion-color-primary background and --ion-color-primary-contrast text and icons. While pressed, the background uses --ion-color-primary-shade. This is a theme convention using Ionic's custom button roles; it does not automatically select or invoke the action. Dismissal reports the role as preferred.

      \n
      buttons: [\n  { text: \'Cancel\', role: \'cancel\' },\n  { text: \'Continue\', role: \'preferred\' },\n];
      \n\n

      Buttons with no role or default keep the normal text color. cancel retains Ionic's cancellation behavior, selected remains a selection state, and destructive uses --ios-theme-destructive-color. An existing confirm role is not treated as preferred. Use preferred for the recommended action, not simply any action that confirms a choice.

      \n

      Floating iPad sheets

      \n

      Set expandToScroll: false on a sheet modal to use floating lower corners and a 20px bottom gap on iPad. Ionic then sizes the visible page at each breakpoint, so the theme can style it with CSS alone. Content scrolls within the current breakpoint; dragging the handle still resizes the sheet. With the default expandToScroll: true, the sheet keeps Ionic's bottom-attached layout and scroll-to-expand behavior.

      \n

      Tab bar position

      \n

      Add one of tab-bar-position-start, tab-bar-position-center, or tab-bar-position-end to an iOS ion-tab-bar to position the whole bar within its safe area. These classes work with both slot="top" and slot="bottom" and preserve the bar's width and press animation. Start and end follow the text direction (reversed in RTL). Without a class, the existing placement is unchanged.

      \n
      <ion-tab-bar slot="bottom" class="tab-bar-position-center">\n  <ion-tab-button tab="home">Home</ion-tab-button>\n  <ion-tab-button tab="settings">Settings</ion-tab-button>\n</ion-tab-bar>
      \n\n

      These classes do not reposition a separate ion-fab; leave room for it when choosing the bar's position.

      \n

      Support iPhone Duo

      \n

      Load the separate stylesheet and start its projection runtime. The iOS 27 theme stylesheets are not required:

      \n
      @use \'@rdlabo/ionic-theme-ios27/dist/css/vertical-bars.css\';
      \n\n
      import {\n  IonicNativeUIShell,\n  enableVerticalControlArea,\n} from \'@rdlabo/ionic-theme-ios27/vertical-bars\';\n\n// Start Web projection on Chrome too; it remains idle until the class is present.\nconst rail = await enableVerticalControlArea();\n\n// `platform` is the app\'s injected Ionic Platform instance.\nif (platform.is(\'ios\')) {\n  await IonicNativeUIShell.startDeviceLayoutMonitoring();\n  const listener = await IonicNativeUIShell.addListener(\'deviceLayoutChange\', ({ placement }) => rail.setPlacement(placement));\n  rail.setPlacement((await IonicNativeUIShell.getDeviceLayout()).placement);\n  // When updates are no longer needed:\n  // await listener.remove();\n  // await IonicNativeUIShell.stopDeviceLayoutMonitoring();\n}
      \n\n

      The platform.is('ios') guard controls automatic application of native placement, not the component mode or the Web simulation. An app can keep mode: 'md' on iOS and still enable Vertical Bars.

      \n

      The device-layout listener reports what iOS chose; the application decides whether to call setPlacement. Passing null restores the ordinary layout. The placement includes the physical edge and its UIKit safe-area inset. The same event also includes hinge status and WebView corner radius. Call stopDeviceLayoutMonitoring() after removing the listener to stop device-layout events. Projected tabs and toolbar controls still render with SwiftUI. If the app already starts the full enableNativeUIShell(), use setVerticalControlAreaPlacement(placement) instead of starting another runtime.

      \n

      Start either enableVerticalControlArea() or the full enableNativeUIShell() once at application startup. Repeating the same configuration returns the shared runtime; starting a different configuration while it is active throws an error. The application should have one owner responsible for destroying that runtime.

      \n

      For Chrome development, no native plugin is needed. Add .ios-theme-vertical-bars to ion-app to simulate the right rail, or add .ios-theme-vertical-bars-left as well to simulate the left rail:

      \n
      <ion-app class="ios-theme-vertical-bars">...</ion-app>
      \n\n

      setPlacement requires a mounted ion-app. Call it after the app root exists; passing null restores the ordinary layout.

      \n

      For example, an app configured with Ionic mode: 'md' can use this same ion-app class. No component needs to switch to mode="ios" for Vertical Bars.

      \n

      The class reserves 80px on the physical right in Chrome to simulate iPhone Duo. When setPlacement receives a native placement, it uses the measured UIKit inset instead of the simulated width, even when that inset is less than 80px. The left modifier moves the reservation to the physical left. Override --ios-theme-vertical-bars-safe-area-left or --ios-theme-vertical-bars-safe-area-right when simulating a different layout.

      \n

      This keeps routers and component backgrounds full-viewport. ion-content moves its scroll foreground, ion-toolbar moves its container foreground, and ion-fab adjusts only when it is placed beside the system UI. The corresponding Ionic safe-area variable is reset inside those foreground components so descendants do not add the inset again.

      \n

      ion-menu, ion-modal, and ion-popover are handled as separate surfaces: their internal foreground components do not receive the main-page conversion and retain Ionic's standard safe-area handling. A menu presented beside the system UI keeps Ionic's full-viewport animation host and offsets only its visible container by the corresponding inset; a menu from the opposite side is unchanged. Left and right remain physical coordinates in RTL, while Ionic's side="start" and side="end" values remain logical.

      \n

      For a side-by-side menu on iPhone Duo, opt the ion-split-pane into the separately measured Settings layout. The sidebar is 320pt when fully unfolded and reaches the display midpoint when half-opened (50vw). The application supplies the posture; both states have the same viewport width, so a width media query cannot distinguish them:

      \n
      <ion-split-pane\n  [class.ios-theme-split-pane-half-open]="halfOpened"\n  contentId="main-content"\n  when="(min-width: 900px)"\n>\n  <ion-menu contentId="main-content">...</ion-menu>\n  <div id="main-content">...</div>\n</ion-split-pane>
      \n\n

      Set the ordinary split-pane width to 320pt in the application's stylesheet, and let the half-open class change only the width value:

      \n
      ion-split-pane {\n  --ios-theme-menu-width: var(--ios-theme-split-pane-width);\n  --side-width: var(--ios-theme-menu-width);\n  --side-max-width: var(--ios-theme-menu-width);\n  transition: --ios-theme-split-pane-width 300ms ease;\n}
      \n\n

      The registered --ios-theme-split-pane-width defaults to 320px; .ios-theme-split-pane-half-open sets it to 50vw. Set halfOpened from deviceLayoutChange.hingeStatus (and read the initial value with getDeviceLayout). The exported HingeStatus enum has Unavailable, Closed, PartiallyOpen, and FullyOpen; Unavailable means no hinge is available. Ionic's when decides whether the menu is a persistent side pane; choose its breakpoint so the pane is hidden when closed. The application chooses where to apply this width rule; an ordinary split pane elsewhere is unchanged. This layout works without the iOS 27 theme and does not enable Vertical Bars or move an overlay menu.

      \n

      These values are web-layout simulation inputs. They are independent from Ionic's normal iPhone safe-area variables and do not change ordinary iPhone layouts unless the opt-in class is present.

      \n

      When the app contains ion-tabs, this mode moves its tab bar into the chosen physical-side reserved region and aligns it above the bottom safe area. The Ionic slot value does not select a different position. Without Native UI Shell, the stable Web rail is icon-only, matching a four-tab SwiftUI TabView on iPhone Duo. While the user presses and drags across that rail, every icon-and-label tab reveals its label so the pending destination stays identifiable. The Web tab bar receives pointer input in the simulated system region. Use ion-menu when navigation should become a sidebar; this mode does not convert tabs into a menu.

      \n

      On supported iOS versions, enableVerticalControlArea() hands eligible tabs, back navigation, menu buttons, and fixed-toolbar actions to a native SwiftUI TabView and toolbar. Vertical Bars works with either Ionic ios or md mode; the application chooses both its component mode and where to enable Vertical Bars. Back navigation can come from outside a fixed toolbar; other toolbar actions still require a fixed toolbar. It does not project ordinary Native UI Shell controls outside the vertical area. If the app already uses the full enableNativeUIShell(), keep that single runtime instead of starting both. The Ionic controls remain the sources of labels, icons, selected/disabled state, form submission, routing, and click handlers while SwiftUI owns adaptive placement and interaction. Fixed-toolbar actions need an icon or SVG, no direct text node, and standard fill="default" or fill="clear" to be eligible for the side rail. Text-only actions stay in the original Web toolbar. Add .ios-theme-horizontal-only to an ion-buttons group or individual ion-button to keep it in the Web toolbar. Placement is chosen when a routed page enters; changing an existing button's content does not move it between the toolbar and rail until the page leaves and re-enters. Menus, modals, and popovers retain their own toolbar layout.

      \n

      On Web, Android, or when native projection is unavailable, the Web tab bar and fixed-toolbar clones remain the fallback. Those projections also work when no ion-tabs exists; text-only actions stay in the original Web toolbar. Disabling the mode or leaving the page removes the native ownership or Web clones and restores their sources. Override --ios-theme-vertical-bars-toolbar-top when the simulated system controls use a different vertical layout.

      \n

      Two-line inset list items

      \n

      Place an unslotted ion-label immediately alongside an unslotted ion-note to render a two-line item. When using the iOS-style inset-list background, wrap the items in ion-item-group; keep ion-list-header outside the group.

      \n
      <ion-list inset="true">\n  <ion-list-header>\n    <ion-label>Connections</ion-label>\n  </ion-list-header>\n  <ion-item-group>\n    <ion-item>\n      <ion-label>Network &amp; internet</ion-label>\n      <ion-note>Mobile, Wi-Fi, hotspot</ion-note>\n    </ion-item>\n  </ion-item-group>\n</ion-list>
      \n\n
      \n
      Preview
      \n\n \n Connections\n \n \n \n Network & internet\n Mobile, Wi-Fi, hotspot\n \n \n\n
      \n\n

      Use slot="end" on ion-note when you want the standard trailing-note layout instead.

      \n

      Inset-list section headers

      \n

      Add .item-group-header to an ion-item-group to create the centered icon, title, and description used at the top of the component demo pages.

      \n

      This is an introductory group. Place regular list items in a separate ion-item-group that follows it.

      \n
      <ion-list inset="true">\n  <ion-item-group class="item-group-header">\n    <ion-item>\n      <ion-label>\n        <ion-icon name="list" style="background: var(--ion-color-primary)"></ion-icon>\n        <h2>Lists</h2>\n        <ion-text>Inset-list examples</ion-text>\n      </ion-label>\n    </ion-item>\n  </ion-item-group>\n  <ion-item-group>\n    <ion-item><ion-label>First item</ion-label></ion-item>\n  </ion-item-group>\n</ion-list>
      \n\n
      \n
      Preview
      \n\n \n \n \n \n

      Lists

      \n Inset-list examples\n
      \n
      \n
      \n \n First item\n \n
      \n
      \n\n

      Full-width segments

      \n

      Add .segment-style-glass to give a segment the same glass surface and selected indicator treatment as the tab bar. The class preserves the segment's existing dimensions and text colors, supports scrollable segments, and respects Ionic's public --background property.

      \n
      <ion-segment class="segment-style-glass" value="available">\n  <ion-segment-button value="available">Available</ion-segment-button>\n  <ion-segment-button value="away">Away</ion-segment-button>\n</ion-segment>
      \n\n

      For colored segments, use Ionic's color property (for example, color="primary" or color="secondary"). Ionic uses the palette's base color for the softly tinted track while keeping the selected surface and labels neutral. A surrounding colored toolbar only supplies colors when the segment has no color of its own. The optional moving glass inherits the selected surface color, and custom Ionic palettes work without additional registration.

      \n

      Add .segment-expand when segment buttons should divide the available width evenly. The class also changes the Liquid Glass effect sizing when registerSegmentEffect is used.

      \n

      Segments use a 32px minimum height in content and a 48px minimum height inside ion-toolbar. .segment-expand keeps the compact 32px layout in a toolbar. Compact segments retain Ionic's flat background and indicator colors; only the regular toolbar variant has a glass container and scales its outer container while pressed. Content and expanded segments keep their outer bounds. The optional moving glass lens is independent of the container's background.

      \n
      <ion-segment class="segment-expand" value="new">\n  <ion-segment-button value="new"><ion-label>New</ion-label></ion-segment-button>\n  <ion-segment-button value="replied"><ion-label>Replied</ion-label></ion-segment-button>\n</ion-segment>
      \n\n
      \n
      Preview
      \n\n New\n Replied\n\n
      \n\n

      Classic search bar in a condense header

      \n

      The theme gives iOS search bars the iOS 27 appearance by default. Add .searchbar-classic to the search field shown beneath a large title in an ion-header with collapse="condense". It uses the conventional filled iOS appearance and collapses with the large title instead of remaining in the fixed header.

      \n

      Place it in a toolbar with a color, such as color="light"; the classic background is derived from that color's contrast value.

      \n

      The example uses Ionic's standard collapsible large-title structure. Scroll the preview to collapse the large title and reveal the fixed header.

      \n
      <div class="ion-page">\n  <ion-header translucent="true">\n    <ion-toolbar color="light">\n      <ion-title>Search</ion-title>\n    </ion-toolbar>\n  </ion-header>\n  <ion-content color="light" fullscreen="true">\n    <ion-header collapse="condense">\n      <ion-toolbar color="light">\n        <ion-title size="large">Search</ion-title>\n      </ion-toolbar>\n      <ion-toolbar color="light">\n        <ion-searchbar class="searchbar-classic" placeholder="Filter results"></ion-searchbar>\n      </ion-toolbar>\n    </ion-header>\n    <ion-list inset="true">\n      <ion-item-group>\n        <ion-item><ion-label>Recent item 1</ion-label></ion-item>\n        <ion-item><ion-label>Recent item 2</ion-label></ion-item>\n        <ion-item><ion-label>Recent item 3</ion-label></ion-item>\n        <ion-item><ion-label>Recent item 4</ion-label></ion-item>\n        <ion-item><ion-label>Recent item 5</ion-label></ion-item>\n        <ion-item><ion-label>Recent item 6</ion-label></ion-item>\n        <ion-item><ion-label>Recent item 7</ion-label></ion-item>\n        <ion-item><ion-label>Recent item 8</ion-label></ion-item>\n        <ion-item><ion-label>Recent item 9</ion-label></ion-item>\n        <ion-item><ion-label>Recent item 10</ion-label></ion-item>\n      </ion-item-group>\n    </ion-list>\n  </ion-content>\n</div>
      \n\n
      \n
      Preview
      \n
      \n \n \n Search\n \n \n \n \n \n Search\n \n \n \n \n \n \n \n Recent item 1\n Recent item 2\n Recent item 3\n Recent item 4\n Recent item 5\n Recent item 6\n Recent item 7\n Recent item 8\n Recent item 9\n Recent item 10\n \n \n \n
      \n
      \n\n

      The .ion-page wrapper makes this embedded preview behave like a complete routed page. An application using ion-router-outlet normally receives that page container automatically. The inset list and its items only provide enough content to demonstrate scrolling; they are not required by .searchbar-classic.

      \n

      Search-bar toolbars

      \n

      Add .toolbar-searchbar when an ion-toolbar combines a search bar with start or end buttons. The class centers the slotted controls and adjusts the spacing around the search field.

      \n
      <ion-toolbar class="toolbar-searchbar">\n  <ion-buttons slot="start">\n    <ion-button>Cancel</ion-button>\n  </ion-buttons>\n  <ion-searchbar></ion-searchbar>\n</ion-toolbar>
      \n\n
      \n
      Preview
      \n\n \n Cancel\n \n \n\n
      \n\n

      Opting out

      \n

      Add .ios-theme-disabled to an individual Ionic component when it must retain Ionic's standard iOS styling.

      \n

      .ios26-disabled is deprecated but remains supported as an alias with the same behavior. Use .ios-theme-disabled for new code.

      \n
      <ion-button>iOS 27 theme</ion-button> <ion-button class="ios-theme-disabled">Standard Ionic button</ion-button>
      \n\n
      \n
      Preview
      \niOS 27 theme Standard Ionic button\n
      \n\n

      For the background model behind inset lists, see Using ion-item-group.

      \n'; diff --git a/demo/src/app/index/index-page.component.ts b/demo/src/app/index/index-page.component.ts index be4b48a1..c20f829d 100644 --- a/demo/src/app/index/index-page.component.ts +++ b/demo/src/app/index/index-page.component.ts @@ -19,7 +19,8 @@ import { ToggleCustomEvent, } from '@demo/ionic'; import { ActivatedRoute, Router } from '@angular/router'; -import { getVerticalBarPlacement, setVerticalControlAreaPlacement } from '@rdlabo/ionic-theme-ios27/vertical-bars'; +import { IonicNativeUIShell, setVerticalControlAreaPlacement } from '@rdlabo/ionic-theme-ios27/vertical-bars'; +import { Capacitor } from '@capacitor/core'; interface IComponent { name: string; @@ -103,7 +104,8 @@ export class IndexPageComponent { async changeVerticalBarsMode(event: ToggleCustomEvent) { if (!event.detail.checked) return setVerticalControlAreaPlacement(null); - const placement = await getVerticalBarPlacement(); + const placement = + Capacitor.getPlatform() === 'ios' ? (await IonicNativeUIShell.getDeviceLayout()).placement : ({ edge: null, inset: 0 } as const); setVerticalControlAreaPlacement(placement.edge ? placement : 'right'); } } diff --git a/demo/src/app/tabs/tabs.page.html b/demo/src/app/tabs/tabs.page.html index d1a2c969..21c8ac8f 100644 --- a/demo/src/app/tabs/tabs.page.html +++ b/demo/src/app/tabs/tabs.page.html @@ -1,21 +1,21 @@ - + - + Index - + Docs - + Library - + Settings diff --git a/demo/src/app/tabs/tabs.page.scss b/demo/src/app/tabs/tabs.page.scss index bfffad40..ff8049a6 100644 --- a/demo/src/app/tabs/tabs.page.scss +++ b/demo/src/app/tabs/tabs.page.scss @@ -1,3 +1,14 @@ ion-item { --background: transparent; } + +// The demo enables its Duo split pane at 900px; ordinary Ionic split panes keep their own width. +ion-split-pane[when='(min-width: 900px)'] { + --ios-theme-menu-width: var(--ios-theme-split-pane-width); + --side-width: var(--ios-theme-menu-width); + --side-max-width: var(--ios-theme-menu-width); + + @media (prefers-reduced-motion: no-preference) { + transition: --ios-theme-split-pane-width 300ms ease; + } +} diff --git a/demo/src/app/tabs/tabs.page.ts b/demo/src/app/tabs/tabs.page.ts index 1543d673..6ff5ae5a 100644 --- a/demo/src/app/tabs/tabs.page.ts +++ b/demo/src/app/tabs/tabs.page.ts @@ -1,4 +1,4 @@ -import { Component, ElementRef, inject, OnInit } from '@angular/core'; +import { AfterViewInit, Component, ElementRef, inject, OnDestroy, OnInit, viewChild } from '@angular/core'; import { IonContent, IonIcon, @@ -14,21 +14,40 @@ import { ViewDidEnter, ViewDidLeave, } from '@demo/ionic'; -import { NavigationEnd, Router } from '@angular/router'; +import { NavigationEnd, Router, RouterLink } from '@angular/router'; import { filter } from 'rxjs'; // import { registerTabBarEffect } from '@rdlabo/ionic-theme-ios27'; import { registeredEffect, registerTabBarEffect } from '../../../../src'; +import { HingeStatus, IonicNativeUIShell } from '@rdlabo/ionic-theme-ios27/vertical-bars'; +import { Capacitor } from '@capacitor/core'; @Component({ selector: 'app-tabs', templateUrl: 'tabs.page.html', styleUrls: ['tabs.page.scss'], - imports: [IonTabs, IonTabBar, IonTabButton, IonIcon, IonLabel, IonSplitPane, IonMenu, IonContent, IonList, IonItem, IonItemGroup], + imports: [ + IonTabs, + IonTabBar, + IonTabButton, + IonIcon, + IonLabel, + IonSplitPane, + IonMenu, + IonContent, + IonList, + IonItem, + IonItemGroup, + RouterLink, + ], }) -export class TabsPage implements OnInit, ViewDidEnter, ViewDidLeave { +export class TabsPage implements OnInit, AfterViewInit, OnDestroy, ViewDidEnter, ViewDidLeave { readonly #router = inject(Router); readonly #el = inject(ElementRef); + private readonly splitPane = viewChild.required>('splitPane', { read: ElementRef }); + #hingeListener?: { remove(): Promise }; + #hingeMonitoring = false; + #destroyed = false; readonly registeredGestures: registeredEffect[] = []; ngOnInit() { this.#router.events.pipe(filter((event) => event instanceof NavigationEnd)).subscribe((params) => { @@ -44,6 +63,44 @@ export class TabsPage implements OnInit, ViewDidEnter, ViewDidLeave { }); } + ngAfterViewInit() { + void this.observeHinge(); + } + + setHingeStatus(status: HingeStatus) { + const splitPane = this.splitPane().nativeElement; + // The width rules key off the `when` attribute, so go through setAttribute. + splitPane.setAttribute('when', status === HingeStatus.Unavailable ? '(min-width: 992px)' : '(min-width: 900px)'); + splitPane.classList.toggle('ios-theme-split-pane-half-open', status === HingeStatus.PartiallyOpen); + } + + async observeHinge() { + if (Capacitor.getPlatform() !== 'ios') return; + await IonicNativeUIShell.startDeviceLayoutMonitoring(); + this.#hingeMonitoring = true; + if (this.#destroyed) return this.releaseHinge(); + this.#hingeListener = await IonicNativeUIShell.addListener('deviceLayoutChange', ({ hingeStatus }) => { + if (!this.#destroyed) this.setHingeStatus(hingeStatus); + }); + const { hingeStatus } = await IonicNativeUIShell.getDeviceLayout(); + if (this.#destroyed) return this.releaseHinge(); + this.setHingeStatus(hingeStatus); + } + + private releaseHinge() { + void this.#hingeListener?.remove(); + this.#hingeListener = undefined; + if (this.#hingeMonitoring) { + this.#hingeMonitoring = false; + void IonicNativeUIShell.stopDeviceLayoutMonitoring(); + } + } + + ngOnDestroy() { + this.#destroyed = true; + this.releaseHinge(); + } + ionViewDidEnter() { const registerGesture = registerTabBarEffect(document.querySelector('ion-tab-bar')!); if (registerGesture) { diff --git a/demo/src/main.ts b/demo/src/main.ts index 9c84e261..a9b48ca8 100644 --- a/demo/src/main.ts +++ b/demo/src/main.ts @@ -2,7 +2,8 @@ import { bootstrapApplication } from '@angular/platform-browser'; import { createAppConfig, type IonicAnimationOptions } from './app/app.config'; import { AppComponent } from './app/app.component'; import { enableNativeUIShell } from '../../src/native'; -import { addVerticalBarPlacementListener, enableVerticalControlArea, setVerticalControlAreaPlacement } from '../../src/vertical-bars'; +import { IonicNativeUIShell, enableVerticalControlArea, setVerticalControlAreaPlacement } from '../../src/vertical-bars'; +import { Capacitor } from '@capacitor/core'; import { iosTransitionAnimation, popoverEnterAnimation, popoverLeaveAnimation } from '@rdlabo/ionic-theme-ios27'; /** @@ -22,15 +23,17 @@ function loadIOSAnimations(): IonicAnimationOptions { // Keep the Web fallback available in the demo; applications can choose when to enable it. void bootstrapApplication(AppComponent, createAppConfig(loadIOSAnimations())) - .then(() => - addVerticalBarPlacementListener((placement) => { + .then(async () => { + if (Capacitor.getPlatform() !== 'ios') return; + await IonicNativeUIShell.startDeviceLayoutMonitoring(); + await IonicNativeUIShell.addListener('deviceLayoutChange', ({ placement }) => { const app = document.querySelector('ion-app.ios-theme-vertical-bars'); if (app) setVerticalControlAreaPlacement( placement.edge ? placement : app.classList.contains('ios-theme-vertical-bars-left') ? 'left' : 'right', ); - }), - ) + }); + }) .catch((err) => console.error(err)); const startShell = new URLSearchParams(window.location.search).has('verticalBarsOnly') ? enableVerticalControlArea : enableNativeUIShell; void startShell().then((handle) => Object.assign(window, { nativeUIShell: handle })); diff --git a/demo/src/vertical-bars-web.spec.ts b/demo/src/vertical-bars-web.spec.ts index 4a6c72e8..dbc35a41 100644 --- a/demo/src/vertical-bars-web.spec.ts +++ b/demo/src/vertical-bars-web.spec.ts @@ -1,5 +1,6 @@ import { expect, test } from 'vitest'; import { createVerticalBarsWebProjection } from '../../src/native/vertical-bars-web'; +import { setVerticalBarsPlacement } from '../../src/native/shared/dom'; const mountEligibleBackButton = () => { document.body.innerHTML = ` @@ -12,6 +13,8 @@ const mountEligibleBackButton = () => { button.style.display = 'block'; button.style.visibility = 'visible'; button.getBoundingClientRect = () => ({ width: 44, height: 44 }) as DOMRect; + // Eligibility requires prehide's per-page placement capture; mark it directly. + setVerticalBarsPlacement(button, true); }; const nextFrame = () => new Promise((resolve) => requestAnimationFrame(() => resolve())); diff --git a/docs/special-markup.md b/docs/special-markup.md index c40b26d8..a3a2f93f 100644 --- a/docs/special-markup.md +++ b/docs/special-markup.md @@ -57,9 +57,8 @@ Load the separate stylesheet and start its projection runtime. The iOS 27 theme ```ts import { - addVerticalBarPlacementListener, + IonicNativeUIShell, enableVerticalControlArea, - getVerticalBarPlacement, } from '@rdlabo/ionic-theme-ios27/vertical-bars'; // Start Web projection on Chrome too; it remains idle until the class is present. @@ -67,14 +66,18 @@ const rail = await enableVerticalControlArea(); // `platform` is the app's injected Ionic Platform instance. if (platform.is('ios')) { - await addVerticalBarPlacementListener((placement) => rail.setPlacement(placement)); - rail.setPlacement(await getVerticalBarPlacement()); + await IonicNativeUIShell.startDeviceLayoutMonitoring(); + const listener = await IonicNativeUIShell.addListener('deviceLayoutChange', ({ placement }) => rail.setPlacement(placement)); + rail.setPlacement((await IonicNativeUIShell.getDeviceLayout()).placement); + // When updates are no longer needed: + // await listener.remove(); + // await IonicNativeUIShell.stopDeviceLayoutMonitoring(); } ``` The `platform.is('ios')` guard controls automatic application of native placement, not the component mode or the Web simulation. An app can keep `mode: 'md'` on iOS and still enable Vertical Bars. -The placement listener only reports what iOS chose; the application decides whether to call `setPlacement`. Passing `null` restores the ordinary layout. The result includes the physical edge and its UIKit safe-area inset. Projected tabs and toolbar controls still render with SwiftUI. If the app already starts the full `enableNativeUIShell()`, use `setVerticalControlAreaPlacement(placement)` instead of starting another runtime. +The device-layout listener reports what iOS chose; the application decides whether to call `setPlacement`. Passing `null` restores the ordinary layout. The placement includes the physical edge and its UIKit safe-area inset. The same event also includes hinge status and WebView corner radius. Call `stopDeviceLayoutMonitoring()` after removing the listener to stop device-layout events. Projected tabs and toolbar controls still render with SwiftUI. If the app already starts the full `enableNativeUIShell()`, use `setVerticalControlAreaPlacement(placement)` instead of starting another runtime. Start either `enableVerticalControlArea()` or the full `enableNativeUIShell()` once at application startup. Repeating the same configuration returns the shared runtime; starting a different configuration while it is active throws an error. The application should have one owner responsible for destroying that runtime. @@ -94,6 +97,32 @@ This keeps routers and component backgrounds full-viewport. `ion-content` moves `ion-menu`, `ion-modal`, and `ion-popover` are handled as separate surfaces: their internal foreground components do not receive the main-page conversion and retain Ionic's standard safe-area handling. A menu presented beside the system UI keeps Ionic's full-viewport animation host and offsets only its visible container by the corresponding inset; a menu from the opposite side is unchanged. Left and right remain physical coordinates in RTL, while Ionic's `side="start"` and `side="end"` values remain logical. +For a side-by-side menu on iPhone Duo, opt the `ion-split-pane` into the separately measured Settings layout. The sidebar is 320pt when fully unfolded and reaches the display midpoint when half-opened (50vw). The application supplies the posture; both states have the same viewport width, so a width media query cannot distinguish them: + +```html + + ... +
      ...
      +
      +``` + +Set the ordinary split-pane width to 320pt in the application's stylesheet, and let the half-open class change only the width value: + +```css +ion-split-pane { + --ios-theme-menu-width: var(--ios-theme-split-pane-width); + --side-width: var(--ios-theme-menu-width); + --side-max-width: var(--ios-theme-menu-width); + transition: --ios-theme-split-pane-width 300ms ease; +} +``` + +The registered `--ios-theme-split-pane-width` defaults to 320px; `.ios-theme-split-pane-half-open` sets it to 50vw. Set `halfOpened` from `deviceLayoutChange.hingeStatus` (and read the initial value with `getDeviceLayout`). The exported `HingeStatus` enum has `Unavailable`, `Closed`, `PartiallyOpen`, and `FullyOpen`; `Unavailable` means no hinge is available. Ionic's `when` decides whether the menu is a persistent side pane; choose its breakpoint so the pane is hidden when closed. The application chooses where to apply this width rule; an ordinary split pane elsewhere is unchanged. This layout works without the iOS 27 theme and does not enable Vertical Bars or move an overlay menu. + These values are web-layout simulation inputs. They are independent from Ionic's normal iPhone safe-area variables and do not change ordinary iPhone layouts unless the opt-in class is present. When the app contains `ion-tabs`, this mode moves its tab bar into the chosen physical-side reserved region and aligns it above the bottom safe area. The Ionic `slot` value does not select a different position. Without Native UI Shell, the stable Web rail is icon-only, matching a four-tab SwiftUI `TabView` on iPhone Duo. While the user presses and drags across that rail, every icon-and-label tab reveals its label so the pending destination stays identifiable. The Web tab bar receives pointer input in the simulated system region. Use `ion-menu` when navigation should become a sidebar; this mode does not convert tabs into a menu. diff --git a/ios/Sources/IonicNativeUIShellPlugin/IonicNativeUIShellPlugin.swift b/ios/Sources/IonicNativeUIShellPlugin/IonicNativeUIShellPlugin.swift index b3503775..e51971fe 100644 --- a/ios/Sources/IonicNativeUIShellPlugin/IonicNativeUIShellPlugin.swift +++ b/ios/Sources/IonicNativeUIShellPlugin/IonicNativeUIShellPlugin.swift @@ -8,8 +8,9 @@ public class IonicNativeUIShellPlugin: CAPPlugin, CAPBridgedPlugin, UITabBarDele public let jsName = "IonicNativeUIShell" public let pluginMethods: [CAPPluginMethod] = [ CAPPluginMethod(name: "configure", returnType: CAPPluginReturnPromise), - CAPPluginMethod(name: "getVerticalBarPlacement", returnType: CAPPluginReturnPromise), - CAPPluginMethod(name: "getWebViewMetrics", returnType: CAPPluginReturnPromise), + CAPPluginMethod(name: "getDeviceLayout", returnType: CAPPluginReturnPromise), + CAPPluginMethod(name: "startDeviceLayoutMonitoring", returnType: CAPPluginReturnPromise), + CAPPluginMethod(name: "stopDeviceLayoutMonitoring", returnType: CAPPluginReturnPromise), CAPPluginMethod(name: "update", returnType: CAPPluginReturnPromise), CAPPluginMethod(name: "clear", returnType: CAPPluginReturnPromise) ] @@ -30,6 +31,12 @@ public class IonicNativeUIShellPlugin: CAPPlugin, CAPBridgedPlugin, UITabBarDele private var lastVerticalBarInset: CGFloat = 0 private var verticalBarPlacementObserved = false private weak var observedVerticalBarView: UIView? + private var verticalBarRegistration: AnyObject? + private weak var observedHingeView: UIView? + private var hingeInteraction: AnyObject? + private var hingeStatus: String? + private var deviceLayoutMonitoring = 0 + private var lastDeviceLayout: String? public override func load() { for name in [UIApplication.didEnterBackgroundNotification, UIResponder.keyboardWillChangeFrameNotification, UIResponder.keyboardWillHideNotification, @@ -75,15 +82,29 @@ public class IonicNativeUIShellPlugin: CAPPlugin, CAPBridgedPlugin, UITabBarDele self?.bridge?.triggerWindowJSEvent(eventName: "nativeUIShellRefresh", data: name == UIApplication.didBecomeActiveNotification ? "{\"retireSearch\":true}" : "{}") if name == UIApplication.didBecomeActiveNotification { self?.notifyWebViewMetricsChange() } if name == UIApplication.didBecomeActiveNotification { self?.notifyVerticalBarPlacementChange() } + if name == UIApplication.didBecomeActiveNotification { self?.refreshHingeStatus() } }) } - DispatchQueue.main.async { [weak self] in self?.observeVerticalBarPlacement() } } deinit { observers.forEach(NotificationCenter.default.removeObserver) } + private func stopDeviceLayoutObservation() { + if #available(iOS 17.0, *), let view = observedVerticalBarView, + let registration = verticalBarRegistration as? any UITraitChangeRegistration { + view.unregisterForTraitChanges(registration) + } + verticalBarRegistration = nil + observedVerticalBarView = nil + if let interaction = hingeInteraction as? UIInteraction { + observedHingeView?.removeInteraction(interaction) + } + hingeInteraction = nil + observedHingeView = nil + } + private func webViewMetrics() -> JSObject? { guard #available(iOS 26.0, *), let webView = bridge?.webView else { return nil } webView.layoutIfNeeded() @@ -91,8 +112,59 @@ public class IonicNativeUIShellPlugin: CAPPlugin, CAPBridgedPlugin, UITabBarDele } private func notifyWebViewMetricsChange() { - guard let metrics = webViewMetrics() else { return } - notifyListeners("webViewMetricsChange", data: metrics) + notifyDeviceLayoutChange() + } + + private func deviceLayout() -> JSObject { + var layout: JSObject = ["placement": verticalBarPlacement(), + "webViewMetrics": webViewMetrics() ?? ["radius": 0]] + layout["hingeStatus"] = hingeStatus ?? "unavailable" + return layout + } + + private func notifyDeviceLayoutChange() { + guard deviceLayoutMonitoring > 0 else { return } + let layout = deviceLayout() + let fingerprint = "\(verticalBarEdge() ?? "none"):\(verticalBarInset(for: verticalBarEdge())):\(hingeStatus ?? "none"):\(webViewMetrics()?["radius"] ?? 0)" + guard fingerprint != lastDeviceLayout else { return } + lastDeviceLayout = fingerprint + notifyListeners("deviceLayoutChange", data: layout) + } + + @objc func getDeviceLayout(_ call: CAPPluginCall) { + DispatchQueue.main.async { [weak self] in + self?.observeVerticalBarPlacement() + self?.observeHingeStatus() + self?.refreshHingeStatus() + DispatchQueue.main.async { + call.resolve(self?.deviceLayout() ?? ["placement": ["edge": NSNull(), "inset": 0], "hingeStatus": "unavailable", "webViewMetrics": ["radius": 0]]) + if self?.deviceLayoutMonitoring == 0 { self?.stopDeviceLayoutObservation() } + } + } + } + + @objc func startDeviceLayoutMonitoring(_ call: CAPPluginCall) { + DispatchQueue.main.async { [weak self] in + self?.deviceLayoutMonitoring += 1 + self?.lastDeviceLayout = nil + self?.observeVerticalBarPlacement() + self?.observeHingeStatus() + self?.refreshHingeStatus() + call.resolve() + } + } + + @objc func stopDeviceLayoutMonitoring(_ call: CAPPluginCall) { + DispatchQueue.main.async { [weak self] in + if let self, self.deviceLayoutMonitoring > 0 { + self.deviceLayoutMonitoring -= 1 + if self.deviceLayoutMonitoring == 0 { + self.lastDeviceLayout = nil + self.stopDeviceLayoutObservation() + } + } + call.resolve() + } } private func verticalBarEdge() -> String? { @@ -127,15 +199,18 @@ public class IonicNativeUIShellPlugin: CAPPlugin, CAPBridgedPlugin, UITabBarDele verticalBarPlacementObserved = true lastVerticalBarEdge = edge lastVerticalBarInset = inset - notifyListeners("verticalBarPlacementChange", data: verticalBarPlacement()) + notifyDeviceLayoutChange() } private func observeVerticalBarPlacement() { #if canImport(UIKit, _underlyingVersion: 9127.0.85) && !targetEnvironment(macCatalyst) if #available(iOS 27.1, *), let webView = bridge?.webView, observedVerticalBarView !== webView { + if let view = observedVerticalBarView, let registration = verticalBarRegistration as? any UITraitChangeRegistration { + view.unregisterForTraitChanges(registration) + } observedVerticalBarView = webView let traits: [UITrait] = [UITraitLayoutDirection.self] + UITraitCollection.systemTraitsAffectingVerticalBarEdge - _ = webView.registerForTraitChanges(traits) { [weak self] (_: UIView, _: UITraitCollection) in + verticalBarRegistration = webView.registerForTraitChanges(traits) { [weak self] (_: UIView, _: UITraitCollection) in self?.notifyVerticalBarPlacementChange() } } @@ -143,25 +218,38 @@ public class IonicNativeUIShellPlugin: CAPPlugin, CAPBridgedPlugin, UITabBarDele notifyVerticalBarPlacementChange() } - @objc func getVerticalBarPlacement(_ call: CAPPluginCall) { - DispatchQueue.main.async { [weak self] in - self?.observeVerticalBarPlacement() - call.resolve(self?.verticalBarPlacement() ?? ["edge": NSNull(), "inset": 0]) + private func observeHingeStatus() { + #if canImport(UIKit, _underlyingVersion: 9127.0.85) && !targetEnvironment(macCatalyst) + if #available(iOS 27.1, *), let webView = bridge?.webView, observedHingeView !== webView { + if let interaction = hingeInteraction as? UIInteraction { + observedHingeView?.removeInteraction(interaction) + } + observedHingeView = webView + let interaction = UIHingeInteraction { [weak self] _, update in + let status: String? + switch update.hinge?.status { + case .closed: status = "closed" + case .partiallyOpen: status = "partially-open" + case .fullyOpen: status = "fully-open" + default: status = nil + } + guard status != self?.hingeStatus else { return } + self?.hingeStatus = status + self?.notifyDeviceLayoutChange() + } + hingeInteraction = interaction + webView.addInteraction(interaction) } + #endif } - @objc func getWebViewMetrics(_ call: CAPPluginCall) { - DispatchQueue.main.async { [weak self] in - guard #available(iOS 26.0, *) else { - call.resolve(["radius": 0]) - return - } - guard let metrics = self?.webViewMetrics() else { - call.reject("WebView unavailable") - return - } - call.resolve(metrics) + private func refreshHingeStatus() { + #if canImport(UIKit, _underlyingVersion: 9127.0.85) && !targetEnvironment(macCatalyst) + if #available(iOS 27.1, *), let interaction = hingeInteraction as? UIHingeInteraction { + interaction.isEnabled = false + interaction.isEnabled = true } + #endif } @objc func configure(_ call: CAPPluginCall) { diff --git a/src/native/definitions.ts b/src/native/definitions.ts index 33ad1612..6c2dee68 100644 --- a/src/native/definitions.ts +++ b/src/native/definitions.ts @@ -47,6 +47,13 @@ export interface VerticalBarPlacement { inset: number; } +export enum HingeStatus { + Unavailable = 'unavailable', + Closed = 'closed', + PartiallyOpen = 'partially-open', + FullyOpen = 'fully-open', +} + export interface VerticalControlAreaHandle extends NativeUIShellHandle { /** Applies the application's chosen placement to both Web and native controls. */ setPlacement(placement: VerticalBarEdge | VerticalBarPlacement): void; @@ -150,14 +157,20 @@ export interface WebViewMetrics { radius: number; } +export interface DeviceLayout { + placement: VerticalBarPlacement; + hingeStatus: HingeStatus; + webViewMetrics: WebViewMetrics; +} + export interface NativeUIShellPlugin { configure(options?: { verticalBarsOnly?: boolean }): Promise<{ supported: boolean }>; - getVerticalBarPlacement(): Promise; - getWebViewMetrics(): Promise; + getDeviceLayout(): Promise; + startDeviceLayoutMonitoring(): Promise; + stopDeviceLayoutMonitoring(): Promise; update(snapshot: ShellSnapshot): Promise<{ revision: number; rejectedSearches?: string[]; rejectedControls?: string[] }>; clear(options: { revision: number }): Promise; addListener(name: 'activate', listener: (event: ShellActivation) => void): Promise; addListener(name: 'search', listener: (event: ShellSearchEvent) => void): Promise; - addListener(name: 'webViewMetricsChange', listener: (event: WebViewMetrics) => void): Promise; - addListener(name: 'verticalBarPlacementChange', listener: (event: VerticalBarPlacement) => void): Promise; + addListener(name: 'deviceLayoutChange', listener: (event: DeviceLayout) => void): Promise; } diff --git a/src/native/index.ts b/src/native/index.ts index edbc9440..410a9e13 100644 --- a/src/native/index.ts +++ b/src/native/index.ts @@ -9,7 +9,6 @@ import type { VerticalControlAreaHandle, WebViewMetrics, } from './definitions'; -import { bindMetricsLifecycle } from './lifecycle'; import { createRuntime } from './runtime'; import { createVerticalBarsWebProjection } from './vertical-bars-web'; import { prehideVerticalBarsToolbarSources } from './prehide'; @@ -20,13 +19,16 @@ export type { NativeUIShellOptions, NativeUIShellStatus, NativeUIShellSuspension, + DeviceLayout, VerticalBarEdge, VerticalBarPlacement, VerticalControlAreaHandle, WebViewMetrics, } from './definitions'; +export { HingeStatus } from './definitions'; const plugin = registerPlugin('IonicNativeUIShell'); +export const IonicNativeUIShell = plugin; let active: Promise | undefined; let activeConfiguration: string | undefined; const web = (reason: string): NativeUIShellHandle => ({ @@ -58,23 +60,12 @@ const combine = (native: NativeUIShellHandle, fallback: NativeUIShellHandle): Na /** Reads the current native WebView geometry and applies it to page transitions. */ export const configureNativeTransition = async (): Promise => { - const metrics = typeof document !== 'undefined' && Capacitor.getPlatform() === 'ios' ? await plugin.getWebViewMetrics() : { radius: 0 }; + const metrics = + typeof document !== 'undefined' && Capacitor.getPlatform() === 'ios' ? (await plugin.getDeviceLayout()).webViewMetrics : { radius: 0 }; setConfig({ radius: metrics.radius }); return metrics; }; -/** Reads the system's current vertical-bar placement without changing the theme. */ -export const getVerticalBarPlacement = (): Promise => - typeof document !== 'undefined' && Capacitor.getPlatform() === 'ios' - ? plugin.getVerticalBarPlacement() - : Promise.resolve({ edge: null, inset: 0 }); - -/** Observes placement; the application decides whether to apply each change. */ -export const addVerticalBarPlacementListener = (listener: (placement: VerticalBarPlacement) => void) => - typeof document !== 'undefined' && Capacitor.getPlatform() === 'ios' - ? plugin.addListener('verticalBarPlacementChange', listener) - : Promise.resolve({ remove: async () => {} }); - /** Applies one placement to the CSS layout and both Web/native projections. */ export const setVerticalControlAreaPlacement = (placement: VerticalBarEdge | VerticalBarPlacement): void => { if (typeof document === 'undefined') return; @@ -130,7 +121,8 @@ export const enableNativeUIShell = (options: NativeUIShellOptions = {}): Promise if (Capacitor.getPlatform() !== 'ios') return resetOnDestroy(withReason(createVerticalBarsWebProjection(document, options), 'Requires Capacitor iOS'), stopPrehide); let runtime: NativeUIShellHandle | undefined; - let placementListener: Awaited> | undefined; + let placementListener: Awaited> | undefined; + let monitoring = false; try { if (!options.verticalBarsOnly) await configureNativeTransition().catch(() => undefined); const capabilities = await plugin.configure({ verticalBarsOnly: options.verticalBarsOnly === true }); @@ -142,28 +134,24 @@ export const enableNativeUIShell = (options: NativeUIShellOptions = {}): Promise const root = document.querySelector('ion-app.ios-theme-vertical-bars'); return nativeEdge !== null && !!root && nativeEdge === (root.classList.contains('ios-theme-vertical-bars-left') ? 'left' : 'right'); }; - placementListener = await addVerticalBarPlacementListener(({ edge }) => { - nativeEdge = edge; + await plugin.startDeviceLayoutMonitoring(); + monitoring = true; + placementListener = await plugin.addListener('deviceLayoutChange', ({ placement, webViewMetrics }) => { + nativeEdge = placement.edge; + if (!options.verticalBarsOnly) setConfig({ radius: webViewMetrics.radius }); document.defaultView?.dispatchEvent(new Event('nativeUIShellRefresh')); }); - nativeEdge = (await getVerticalBarPlacement()).edge; + nativeEdge = (await plugin.getDeviceLayout()).placement.edge; runtime = await createRuntime(document, plugin, options, nativeVerticalBars, options.verticalBarsOnly === true); runtime = combine( runtime, createVerticalBarsWebProjection(document, options, () => !nativeVerticalBars()), ); - if (!options.verticalBarsOnly) - runtime = await bindMetricsLifecycle( - runtime, - () => plugin.addListener('webViewMetricsChange', (metrics) => setConfig({ radius: metrics.radius })), - () => { - active = undefined; - }, - ); return resetOnDestroy(withPlacementListener(runtime, placementListener), stopPrehide); } catch (error) { await runtime?.destroy(); await placementListener?.remove().catch(() => {}); + if (monitoring) await plugin.stopDeviceLayoutMonitoring().catch(() => {}); return resetOnDestroy( withReason(createVerticalBarsWebProjection(document, options), error instanceof Error ? error.message : String(error)), stopPrehide, @@ -174,18 +162,24 @@ export const enableNativeUIShell = (options: NativeUIShellOptions = {}): Promise const withPlacementListener = ( handle: NativeUIShellHandle, - listener: Awaited>, -): NativeUIShellHandle => ({ - getStatus: () => handle.getStatus(), - suspend: () => handle.suspend(), - async destroy() { - try { - await handle.destroy(); - } finally { - await listener.remove().catch(() => {}); - } - }, -}); + listener: Awaited>, +): NativeUIShellHandle => { + let destroyed = false; + return { + getStatus: () => handle.getStatus(), + suspend: () => handle.suspend(), + async destroy() { + if (destroyed) return; + destroyed = true; + try { + await handle.destroy(); + } finally { + await listener.remove().catch(() => {}); + await plugin.stopDeviceLayoutMonitoring().catch(() => {}); + } + }, + }; +}; const resetOnDestroy = ( handle: NativeUIShellHandle, diff --git a/src/styles/vertical-bars.scss b/src/styles/vertical-bars.scss index 2b103682..5b51477b 100644 --- a/src/styles/vertical-bars.scss +++ b/src/styles/vertical-bars.scss @@ -3,6 +3,18 @@ // iPhone Duo simulation: the system reserves 80pt at the physical right edge. // This entry point does not load the iOS 27 theme or change ordinary Ionic UI. +// A split menu is independent of the vertical control area. Its width is +// selected by the application from the device posture, not the viewport width. +@property --ios-theme-split-pane-width { + syntax: ''; + inherits: false; + initial-value: 320px; +} + +ion-split-pane.ios-theme-split-pane-half-open { + --ios-theme-split-pane-width: 50vw; +} + ion-app.ios-theme-vertical-bars { --ios-theme-vertical-bars-safe-area-left-resolved: var(--ios-theme-vertical-bars-safe-area-left, 0px); --ios-theme-vertical-bars-safe-area-right-resolved: var( diff --git a/src/vertical-bars.ts b/src/vertical-bars.ts index 69acac54..7aad866c 100644 --- a/src/vertical-bars.ts +++ b/src/vertical-bars.ts @@ -1,7 +1,3 @@ -export { - addVerticalBarPlacementListener, - enableVerticalControlArea, - getVerticalBarPlacement, - setVerticalControlAreaPlacement, -} from './native'; -export type { NativeUIShellStatus, NativeUIShellSuspension, VerticalBarEdge, VerticalControlAreaHandle } from './native'; +export { enableVerticalControlArea, setVerticalControlAreaPlacement, IonicNativeUIShell } from './native'; +export { HingeStatus } from './native'; +export type { DeviceLayout, NativeUIShellStatus, NativeUIShellSuspension, VerticalBarEdge, VerticalControlAreaHandle } from './native'; From f8a48889db0c3a82b835c01fec42364879fab686 Mon Sep 17 00:00:00 2001 From: rdlabo Date: Fri, 25 Sep 2026 15:27:51 +0900 Subject: [PATCH 46/50] fix(vertical-bars): let expanded tab rail draw and receive touches over web view Generated with [Devin](https://devin.ai) Co-Authored-By: Devin <158243242+devin-ai-integration[bot]@users.noreply.github.com> --- .../Components/ShellVerticalBars.swift | 46 +++++++++++-------- 1 file changed, 26 insertions(+), 20 deletions(-) diff --git a/ios/Sources/IonicNativeUIShellPlugin/Components/ShellVerticalBars.swift b/ios/Sources/IonicNativeUIShellPlugin/Components/ShellVerticalBars.swift index f41bf8f6..dc7458c5 100644 --- a/ios/Sources/IonicNativeUIShellPlugin/Components/ShellVerticalBars.swift +++ b/ios/Sources/IonicNativeUIShellPlugin/Components/ShellVerticalBars.swift @@ -251,16 +251,13 @@ final class ShellVerticalBarsController: ShellVerticalBarsControlling { private func makeFullSizeSurfacesTransparent(in surface: UIView) { let frame = surface.convert(surface.bounds, to: view) - let inset = railEdge == "left" ? view.safeAreaInsets.left : view.safeAreaInsets.right - let railWidth = inset > 0 ? inset : 80 guard !(surface is UIVisualEffectView) else { return } let coversHost = frame.insetBy(dx: -1, dy: -1).contains(view.bounds) + // SwiftUI may add an opaque backing behind the rail controls, sized to + // the rail or to an expanded tab bar. Keep that backing clear without + // touching the glass controls or materials. let coversRail = frame.minY <= 1 && frame.maxY >= view.bounds.maxY - 1 && - (railEdge == "left" - ? frame.minX <= 1 && frame.maxX >= railWidth - 1 - : frame.minX <= view.bounds.maxX - railWidth + 1 && frame.maxX >= view.bounds.maxX - 1) - // SwiftUI may add an opaque backing behind the rail controls. - // Keep that backing clear without touching the glass controls or materials. + (railEdge == "left" ? frame.minX <= 1 : frame.maxX >= view.bounds.maxX - 1) if coversHost || coversRail { surface.backgroundColor = .clear surface.isOpaque = false @@ -270,29 +267,38 @@ final class ShellVerticalBarsController: ShellVerticalBarsControlling { } private final class RailContainer: UIView { - private let railMask = CAShapeLayer() - var railEdge = "right" { didSet { setNeedsLayout() } } + var railEdge = "right" private var railWidth: CGFloat { let inset = railEdge == "left" ? safeAreaInsets.left : safeAreaInsets.right return inset > 0 ? inset : 80 } - override init(frame: CGRect) { - super.init(frame: frame) - layer.mask = railMask + // The rail is not masked: expanded rail content (a widened tab bar) is + // allowed to draw over the WebView. Inside the base rail touches behave + // as before; beyond it touches are captured only where they land inside + // an actual bar surface so empty overlap still belongs to the WebView. + // The SwiftUI hosting scaffold reports a full-size hosting view for + // every point, so the hit result cannot tell bar content from empty + // space — the bar frames decide instead. + override func hitTest(_ point: CGPoint, with event: UIEvent?) -> UIView? { + let hit = super.hitTest(point, with: event) + let inRail = railEdge == "left" ? point.x <= railWidth : point.x >= bounds.maxX - railWidth + if inRail { return hit } + guard hit != nil, containsBarSurface(at: point) else { return nil } + return hit } - required init?(coder: NSCoder) { nil } - - override func layoutSubviews() { - super.layoutSubviews() - railMask.path = UIBezierPath(rect: CGRect(x: railEdge == "left" ? bounds.minX : bounds.maxX - railWidth, y: 0, - width: railWidth, height: bounds.height)).cgPath + private func containsBarSurface(at point: CGPoint) -> Bool { + containsBarSurface(in: self, at: point) } - override func point(inside point: CGPoint, with event: UIEvent?) -> Bool { - (railEdge == "left" ? point.x <= railWidth : point.x >= bounds.maxX - railWidth) && super.point(inside: point, with: event) + private func containsBarSurface(in view: UIView, at point: CGPoint) -> Bool { + guard !view.isHidden, view.alpha > 0.05 else { return false } + let name = NSStringFromClass(type(of: view)) + if (name.contains("TabBar") || name.contains("Platter") || name.contains("Pocket") || name.contains("Sidebar")), + convert(view.bounds, from: view).contains(point) { return true } + return view.subviews.contains { containsBarSurface(in: $0, at: point) } } } From 2453f43ceedca04bdfe4067b7b25d53694906516 Mon Sep 17 00:00:00 2001 From: rdlabo Date: Fri, 25 Sep 2026 15:45:04 +0900 Subject: [PATCH 47/50] fix(vertical-bars): skip inset padding on collapse toolbars Generated with [Devin](https://devin.ai) Co-Authored-By: Devin <158243242+devin-ai-integration[bot]@users.noreply.github.com> --- src/styles/vertical-bars.scss | 17 ++++++++++------- 1 file changed, 10 insertions(+), 7 deletions(-) diff --git a/src/styles/vertical-bars.scss b/src/styles/vertical-bars.scss index 5b51477b..963a083f 100644 --- a/src/styles/vertical-bars.scss +++ b/src/styles/vertical-bars.scss @@ -66,14 +66,17 @@ ion-app.ios-theme-vertical-bars --ion-safe-area-left: 0px; --ion-safe-area-right: 0px; - &::part(container) { - padding-inline-start: calc(var(--padding-start, 0px) + var(--ios-theme-vertical-bars-safe-area-left-resolved)); - padding-inline-end: calc(var(--padding-end, 0px) + var(--ios-theme-vertical-bars-safe-area-right-resolved)); - } + // Collapse headers already sit inside the padded ion-content scroll area. + &:not(:where(ion-header.header-collapse-condense *, ion-footer.footer-collapse-fade *)) { + &::part(container) { + padding-inline-start: calc(var(--padding-start, 0px) + var(--ios-theme-vertical-bars-safe-area-left-resolved)); + padding-inline-end: calc(var(--padding-end, 0px) + var(--ios-theme-vertical-bars-safe-area-right-resolved)); + } - &:dir(rtl)::part(container) { - padding-inline-start: calc(var(--padding-start, 0px) + var(--ios-theme-vertical-bars-safe-area-right-resolved)); - padding-inline-end: calc(var(--padding-end, 0px) + var(--ios-theme-vertical-bars-safe-area-left-resolved)); + &:dir(rtl)::part(container) { + padding-inline-start: calc(var(--padding-start, 0px) + var(--ios-theme-vertical-bars-safe-area-right-resolved)); + padding-inline-end: calc(var(--padding-end, 0px) + var(--ios-theme-vertical-bars-safe-area-left-resolved)); + } } } From 7b7524ba1075c50fc7acfa35a28434ccc0e26cf9 Mon Sep 17 00:00:00 2001 From: rdlabo Date: Fri, 25 Sep 2026 19:00:59 +0900 Subject: [PATCH 48/50] refactor(vertical-bars): consolidate shell lifecycle and modernize e2e mocks Merge the withReason/withPlacementListener/resetOnDestroy wrappers into a single manage() helper and drop the dead lifecycle module so handle ownership lives in one place. Reuse inFixedToolbar for toolbar eligibility instead of duplicating the same structural check. E2E mocks now model the plugin implementation returned by registerPlugin for IonicNativeUIShell instead of bridging through window.__nativeUIShell or PluginHeaders, so tests exercise the same registration path as the app and emit events through the plugin listener registry. Test probes move off window onto the ion-app element and document, and the remaining any types are replaced with the public ShellSnapshot/ShellControl/ShellItem surface. Style-value specs that re-verified what screenshot regression already covers are removed. Generated with [Devin](https://devin.ai) Co-Authored-By: Devin <158243242+devin-ai-integration[bot]@users.noreply.github.com> --- demo/e2e/animation.spec.ts | 15 +- demo/e2e/card-opt-out.spec.ts | 6 +- demo/e2e/glass.spec.ts | 81 -- demo/e2e/native-shell-mock.ts | 77 ++ demo/e2e/native-ui-shell-edge.spec.ts | 269 ++++--- demo/e2e/native-ui-shell.spec.ts | 874 +++++++++++++-------- demo/e2e/popover.spec.ts | 59 +- demo/e2e/range-interaction.spec.ts | 6 +- demo/e2e/rtl.spec.ts | 75 -- demo/e2e/screenshot.spec.ts | 14 +- demo/e2e/submit-color.spec.ts | 80 -- demo/e2e/tab-bar-position.spec.ts | 65 -- demo/e2e/toggle.spec.ts | 42 - demo/e2e/vertical-bars-back-button.spec.ts | 19 +- demo/src/app/app.config.ts | 10 +- demo/src/app/tabs/tabs.page.html | 8 +- demo/src/app/tabs/tabs.page.ts | 10 +- demo/src/main.ts | 5 +- demo/src/native-ui-shell-lifecycle.spec.ts | 30 +- demo/tsconfig.json | 1 + src/native/index.ts | 121 ++- src/native/lifecycle.ts | 38 - src/native/vertical-bars-web.ts | 24 +- src/transition/index.ts | 17 +- src/utils.ts | 16 +- 25 files changed, 953 insertions(+), 1009 deletions(-) delete mode 100644 demo/e2e/glass.spec.ts create mode 100644 demo/e2e/native-shell-mock.ts delete mode 100644 demo/e2e/rtl.spec.ts delete mode 100644 demo/e2e/submit-color.spec.ts delete mode 100644 demo/e2e/tab-bar-position.spec.ts delete mode 100644 src/native/lifecycle.ts diff --git a/demo/e2e/animation.spec.ts b/demo/e2e/animation.spec.ts index 74dcf4d2..3f398472 100644 --- a/demo/e2e/animation.spec.ts +++ b/demo/e2e/animation.spec.ts @@ -1,10 +1,11 @@ import { expect, test, type Page } from '@playwright/test'; +import type { AnimationCall } from './native-shell-mock'; const installAnimationObserver = async (page: Page) => { await page.addInitScript(() => { const originalAnimate = Element.prototype.animate; - (window as any).__IONIC_ANIMATION_CALLS__ = []; + document.__IONIC_ANIMATION_CALLS__ = []; Element.prototype.animate = function (keyframes, options) { const animation = originalAnimate.call(this, keyframes, options); const properties = Array.isArray(keyframes) @@ -16,7 +17,7 @@ const installAnimationObserver = async (page: Page) => { : Object.keys(keyframes ?? {}).filter((key) => !['offset', 'easing', 'composite'].includes(key)); const duration = typeof options === 'number' ? options : typeof options?.duration === 'number' ? options.duration : 0; - (window as any).__IONIC_ANIMATION_CALLS__.push({ + document.__IONIC_ANIMATION_CALLS__!.push({ animation, duration, properties, @@ -30,13 +31,13 @@ const installAnimationObserver = async (page: Page) => { }; const clearAnimationCalls = async (page: Page) => { - await page.evaluate(() => ((window as any).__IONIC_ANIMATION_CALLS__ = [])); + await page.evaluate(() => (document.__IONIC_ANIMATION_CALLS__ = [])); }; const hasRunningAnimation = (page: Page, targetClass?: string) => { return page.evaluate((expectedClass) => { - return (window as any).__IONIC_ANIMATION_CALLS__.some( - (call: { animation: Animation; duration: number; properties: string[]; targetClass: string }) => + return document.__IONIC_ANIMATION_CALLS__!.some( + (call: AnimationCall) => call.animation.playState === 'running' && call.duration > 0 && call.properties.includes('transform') && @@ -47,8 +48,8 @@ const hasRunningAnimation = (page: Page, targetClass?: string) => { const hasAnimationCall = (page: Page, targetClass: string) => { return page.evaluate((expectedClass) => { - return (window as any).__IONIC_ANIMATION_CALLS__.some( - (call: { duration: number; properties: string[]; targetClass: string }) => + return document.__IONIC_ANIMATION_CALLS__!.some( + (call: AnimationCall) => call.duration > 0 && call.properties.includes('transform') && call.targetClass.split(' ').includes(expectedClass), ); }, targetClass); diff --git a/demo/e2e/card-opt-out.spec.ts b/demo/e2e/card-opt-out.spec.ts index 175564f8..9b4d0083 100644 --- a/demo/e2e/card-opt-out.spec.ts +++ b/demo/e2e/card-opt-out.spec.ts @@ -18,7 +18,11 @@ for (const disabled of ['ios-theme-disabled', 'ios26-disabled']) { return card; }; const cards = [create(false), create(true)]; - await Promise.all(cards.flatMap((card) => [card, ...card.querySelectorAll('*')]).map((el: any) => el.componentOnReady?.())); + await Promise.all( + cards + .flatMap((card) => [card, ...card.querySelectorAll('*')]) + .map((el: Element & { componentOnReady?: () => Promise }) => el.componentOnReady?.()), + ); const result = cards.map((card) => [...card.querySelectorAll(tag)].map((el) => { const s = getComputedStyle(el); diff --git a/demo/e2e/glass.spec.ts b/demo/e2e/glass.spec.ts deleted file mode 100644 index 65d2bd1e..00000000 --- a/demo/e2e/glass.spec.ts +++ /dev/null @@ -1,81 +0,0 @@ -import { expect, test } from '@playwright/test'; - -test('fullscreen page chrome is transparent or frosted according to translucent', async ({ page }) => { - await page.goto('/main/album'); - const content = page.locator('app-album-page > ion-content'); - const header = page.locator('app-album-page > ion-header'); - const footer = page.locator('app-album-page > ion-footer'); - const headerToolbar = header.locator(':scope > ion-toolbar'); - const footerToolbar = footer.locator(':scope > ion-toolbar'); - - await expect(header).toHaveClass(/header-translucent/); - await expect(headerToolbar).toHaveCSS('--background', 'transparent'); - expect(await header.evaluate((element) => getComputedStyle(element, '::after').backdropFilter)).toBe('blur(2px)'); - - await expect(footer).toHaveClass(/footer-translucent/); - expect(await footer.evaluate((element) => getComputedStyle(element, '::before').backdropFilter)).toBe('blur(8px)'); - expect(await footer.evaluate((element) => getComputedStyle(element, '::before').backgroundColor)).not.toBe('rgba(0, 0, 0, 0)'); - expect(await footer.evaluate((element) => getComputedStyle(element, '::after').backdropFilter)).toBe('blur(2px)'); - await expect(footerToolbar).toHaveCSS('--border-width', /^0?\.5px 0 0$/); - - await footer.evaluate((element: HTMLIonFooterElement) => (element.translucent = false)); - await header.evaluate((element: HTMLIonHeaderElement) => (element.translucent = false)); - await expect(header).not.toHaveClass(/header-translucent/); - await expect(footer).not.toHaveClass(/footer-translucent/); - await expect(headerToolbar).toHaveCSS('--background', 'transparent'); - await expect(footerToolbar).toHaveCSS('--background', 'transparent'); - expect(await header.evaluate((element) => getComputedStyle(element, '::after').content)).toBe('none'); - expect(await footer.evaluate((element) => getComputedStyle(element, '::after').content)).toBe('none'); - - await content.evaluate((element: HTMLIonContentElement) => (element.fullscreen = false)); - await expect(content).not.toHaveClass(/content-fullscreen/); - await expect(headerToolbar).not.toHaveCSS('--background', 'transparent'); - await expect(footerToolbar).not.toHaveCSS('--background', 'transparent'); - - await footer.evaluate((element: HTMLIonFooterElement) => (element.translucent = true)); - await expect(footer).toHaveClass(/footer-translucent/); - expect(await footer.evaluate((element) => getComputedStyle(element, '::after').content)).toBe('none'); -}); - -test('dark resting glass applies the directional rim to standalone and grouped controls', async ({ page }) => { - await page.goto('/main/index/native-ui-shell'); - await page.evaluate(() => document.documentElement.classList.add('ion-palette-dark')); - const button = page.locator('app-native-ui-shell ion-button[type="submit"]'); - const surface = button.locator('[part="native"]'); - await expect(surface).toHaveCSS('border-left-color', 'rgba(0, 0, 0, 0)'); - await expect(surface).toHaveCSS('border-right-color', 'rgba(0, 0, 0, 0)'); - await expect(surface).toHaveCSS('background-color', 'rgba(62, 62, 62, 0.5)'); - const back = page.locator('app-native-ui-shell ion-back-button').locator('[part="native"]'); - await expect(back).toHaveCSS('border-left-color', 'rgba(0, 0, 0, 0)'); - await expect(back).toHaveCSS('background-color', 'rgba(62, 62, 62, 0.5)'); - const group = page.locator('app-native-ui-shell ion-buttons[data-glass-group]'); - await expect(group).toHaveCSS('border-left-color', 'rgba(0, 0, 0, 0)'); - await expect(group).toHaveCSS('border-right-color', 'rgba(0, 0, 0, 0)'); -}); - -for (const dark of [false, true]) { - test(`Glass preserves Ionic background and shadow overrides in ${dark ? 'dark' : 'light'} mode`, async ({ page }) => { - await page.goto('/main/index/native-ui-shell'); - await page.evaluate((enabled) => document.documentElement.classList.toggle('ion-palette-dark', enabled), dark); - const tabs = page.locator('ion-tab-bar'); - await expect(tabs).toHaveClass(/hydrated/); - const tabFrame = await tabs.boundingBox(); - await tabs.evaluate((el) => el.style.setProperty('--background', 'rgb(12, 34, 56)')); - expect(await tabs.evaluate((el) => getComputedStyle(el, '::before').backgroundColor)).toBe('rgb(12, 34, 56)'); - expect(await tabs.boundingBox()).toEqual(tabFrame); - for (const selector of ['app-native-ui-shell ion-button[type="submit"]', 'app-native-ui-shell ion-back-button']) { - const control = page.locator(selector); - await control.evaluate((el) => { - el.style.setProperty('--background', 'rgb(12, 34, 56)'); - el.style.setProperty('--box-shadow', '0 0 2px rgb(12, 34, 56)'); - }); - await expect(control.locator('[part="native"]')).toHaveCSS('background-color', 'rgb(12, 34, 56)'); - await expect(control.locator('[part="native"]')).toHaveCSS('box-shadow', 'rgb(12, 34, 56) 0px 0px 2px 0px'); - } - await page.goto('/main/index/floating-action-button-fixed'); - await page.evaluate((enabled) => document.documentElement.classList.toggle('ion-palette-dark', enabled), dark); - const fab = page.locator('ion-fab-button').first(); - await fab.evaluate((el) => el.style.setProperty('--box-shadow', 'none')); - await expect(fab.locator('[part="native"]')).toHaveCSS('box-shadow', 'none'); - }); -} diff --git a/demo/e2e/native-shell-mock.ts b/demo/e2e/native-shell-mock.ts new file mode 100644 index 00000000..8c943987 --- /dev/null +++ b/demo/e2e/native-shell-mock.ts @@ -0,0 +1,77 @@ +import type { NativeUIShellHandle, NativeUIShellSuspension, ShellControl, ShellSnapshot } from '../../src/native/definitions'; + +/** + * State carried by the fake native plugin that `mockNative` installs. + * + * The init script intercepts the `window.Capacitor` assignment during + * `@capacitor/core` initialisation and patches `registerPlugin`, so the app's + * `registerPlugin('IonicNativeUIShell')` receives the mock + * object itself. Specs reach it the same way the application does: + * + * Capacitor.registerPlugin('IonicNativeUIShell') + */ +export interface ShellMockCore { + /** update()/clear() snapshots received by the plugin. */ + updates: ShellSnapshot[]; + /** Monotonic sequence counter for emitted events. */ + sequence: number; + /** Listener registry mirroring Capacitor's WebPlugin semantics. */ + listeners: Record void)[]>; + /** Emits a native event to every registered listener. */ + notifyListeners(eventName: string, data: unknown): void; +} + +export interface AnimationCall { + animation: Animation; + duration: number; + properties: string[]; + targetClass: string; + targetTag: string; +} + +/** Test probes attached to the demo's element instead of `window`. */ +export interface TestAppElement extends HTMLElement { + nativeUIShell?: NativeUIShellHandle; + verticalBarsLease?: NativeUIShellSuspension; + verticalBarsBackButtonReads?: number; + verticalBarsBackCloneMoved?: boolean; + fabClicks?: number; + fabRetired?: boolean; + menuExtra?: boolean; + retiredSearchbar?: HTMLIonSearchbarElement; + searchEvents?: [string, unknown][]; + placement?: { + element: Element; + parent: HTMLElement | null; + next: ChildNode | null; + slot: string; + zone: Element; + }; + searchPlacement?: { + page: HTMLElement; + footer: Element; + fab: Element; + buttons: Element; + toolbar: Element; + }; +} + +declare global { + const Capacitor: { + getPlatform(): string; + registerPlugin(name: string, implementations?: Record): T; + Plugins: Record; + [key: string]: unknown; + }; + + interface Window { + Capacitor?: typeof Capacitor; + CapacitorCustomPlatform?: { name: string }; + } + + interface Document { + /** Set by e2e init scripts to force the app into its animation-free mode. */ + IONIC_E2E_TESTING?: boolean; + __IONIC_ANIMATION_CALLS__?: AnimationCall[]; + } +} diff --git a/demo/e2e/native-ui-shell-edge.spec.ts b/demo/e2e/native-ui-shell-edge.spec.ts index e1a49b06..70d795de 100644 --- a/demo/e2e/native-ui-shell-edge.spec.ts +++ b/demo/e2e/native-ui-shell-edge.spec.ts @@ -1,78 +1,128 @@ import { expect, test } from '@playwright/test'; import type { Page } from '@playwright/test'; import { buildSync } from 'esbuild'; +import type { NativeUIShellComponent, ShellControl, ShellItem, ShellSnapshot } from '../../src/native/definitions'; +import type { ShellMockCore } from './native-shell-mock'; + +interface GeometryEvidence { + id: string; + frame: number; + visibleFrame: number; + backReleases: number; + retirements: { frame: number; visibleFrame: number; visible: boolean; backProjected: boolean }[]; +} + +interface ShellMock extends ShellMockCore { + rejectKind?: NativeUIShellComponent; + /** Controls UIKit would still show; a rejected kind is omitted like the real host. */ + rendered: Map; + holdAcknowledgement: boolean; + /** Resolves the held update() acknowledgement. */ + acknowledge?: () => void; + onUpdate?: (snapshot: { controls: ShellControl[] }) => void; + evidence?: GeometryEvidence; +} const mockNative = async (page: Page) => { await page.addInitScript(() => { - const state = { - updates: [] as any[], + const mock = { + updates: [] as ShellSnapshot[], sequence: 0, - rejectKind: undefined as string | undefined, - rendered: new Map(), + rejectKind: undefined as NativeUIShellComponent | undefined, + rendered: new Map(), holdAcknowledgement: false, acknowledge: undefined as (() => void) | undefined, - onUpdate: undefined as ((snapshot: any) => void) | undefined, - activate: (_event: any) => {}, - metrics: (_event: any) => {}, + onUpdate: undefined as ((snapshot: { controls: ShellControl[] }) => void) | undefined, + evidence: undefined as GeometryEvidence | undefined, + listeners: {} as Record void)[]>, + addListener(eventName: string, callback: (event: never) => void) { + const listeners = (this.listeners[eventName] ??= []); + listeners.push(callback); + return Promise.resolve({ remove: async () => listeners.splice(listeners.indexOf(callback), 1) }); + }, + async removeAllListeners() { + this.listeners = {}; + }, + notifyListeners(eventName: string, data: unknown) { + for (const listener of this.listeners[eventName] ?? []) listener(data as never); + }, + async configure() { + return { supported: true }; + }, + async getWebViewMetrics() { + return { radius: 0 }; + }, + async getDeviceLayout() { + return { + placement: { edge: 'right' as const, inset: 84 }, + hingeStatus: 'unavailable' as const, + webViewMetrics: { radius: 0 }, + }; + }, + async startDeviceLayoutMonitoring() {}, + async stopDeviceLayoutMonitoring() {}, + async update(options: ShellSnapshot) { + this.updates.push(options); + return this.settle(options); + }, + async clear(options: { revision: number }) { + this.updates.push({ revision: options.revision, viewportWidth: 0, controls: [] }); + return this.settle({ ...options, controls: [] }); + }, + async settle(options: { revision?: number; controls: ShellControl[] }) { + const controls = options.controls; + const rejectedControls = controls.filter((control) => control.kind === this.rejectKind).map((control) => control.id); + const ids = new Set(controls.map((control) => control.id)); + for (const id of this.rendered.keys()) if (!ids.has(id)) this.rendered.delete(id); + for (const control of controls) { + // UIKit retains an existing cover until a later snapshot retires its id. + if (control.kind !== this.rejectKind) this.rendered.set(control.id, control); + } + this.onUpdate?.({ ...options, controls }); + if (this.holdAcknowledgement) await new Promise((resolve) => (this.acknowledge = resolve)); + return { revision: options.revision, rejectedControls }; + }, }; - Object.assign(window, { - __nativeUIShell: state, - CapacitorCustomPlatform: { name: 'ios' }, - Capacitor: { - PluginHeaders: [ - { - name: 'IonicNativeUIShell', - methods: [ - { name: 'configure', rtype: 'promise' }, - { name: 'getWebViewMetrics', rtype: 'promise' }, - { name: 'update', rtype: 'promise' }, - { name: 'clear', rtype: 'promise' }, - { name: 'addListener' }, - { name: 'removeListener' }, - ], - }, - ], - nativePromise: async (_plugin: string, method: string, options: any) => { - if (method === 'configure') return { supported: true }; - if (method === 'getWebViewMetrics') return { radius: 0 }; - state.updates.push(method === 'clear' ? { ...options, controls: [] } : options); - const controls = method === 'clear' ? [] : options.controls; - const rejectedControls = controls.filter((control: any) => control.kind === state.rejectKind).map((control: any) => control.id); - const ids = new Set(controls.map((control: any) => control.id)); - for (const id of state.rendered.keys()) if (!ids.has(id)) state.rendered.delete(id); - for (const control of controls) { - // UIKit retains an existing cover until a later snapshot retires its id. - if (control.kind !== state.rejectKind) state.rendered.set(control.id, control); - } - state.onUpdate?.({ ...options, controls }); - if (state.holdAcknowledgement) await new Promise((resolve) => (state.acknowledge = resolve)); - return { - revision: options.revision, - rejectedControls, - }; - }, - nativeCallback: (_plugin: string, method: string, options: any, callback: (event: any) => void) => { - if (method === 'addListener' && options.eventName === 'activate') state.activate = callback; - if (method === 'addListener' && options.eventName === 'webViewMetricsChange') state.metrics = callback; - return 'shell-listener'; - }, + + window.CapacitorCustomPlatform = { name: 'ios' }; + // Substitute the mock as the plugin implementation when @capacitor/core + // initialises its global, before the app registers 'IonicNativeUIShell'. + let capacitor: { registerPlugin: (name: string, implementations?: Record) => unknown } | undefined; + Object.defineProperty(window, 'Capacitor', { + configurable: true, + get: () => capacitor, + set: (instance) => { + const registerPlugin = instance.registerPlugin; + instance.registerPlugin = (name: string, implementations?: Record) => + name === 'IonicNativeUIShell' ? mock : registerPlugin(name, implementations); + capacitor = instance; }, }); }); }; const latestControl = (page: Page, kind: string) => - page.evaluate((kind) => (window as any).__nativeUIShell.updates.at(-1)?.controls.find((c: any) => c.kind === kind), kind); + page.evaluate( + (kind) => + Capacitor.registerPlugin('IonicNativeUIShell') + .updates.at(-1) + ?.controls.find((c: ShellControl) => c.kind === kind), + kind, + ); const activate = (page: Page, kind: string, label?: string, count = 1) => page.evaluate( ({ kind, label, count }) => { - const state = (window as any).__nativeUIShell; - const snapshot = state.updates.at(-1); - const control = snapshot.controls.find((c: any) => c.kind === kind); - const item = label ? control.items.find((i: any) => i.label === label) : control.items[0]; + const state = Capacitor.registerPlugin('IonicNativeUIShell'); + const snapshot = state.updates.at(-1)!; + const item = label + ? snapshot.controls + .filter((c: ShellControl) => c.kind === kind) + .flatMap((c: ShellControl) => c.items) + .find((i) => i.label === label) + : snapshot.controls.find((c: ShellControl) => c.kind === kind)!.items[0]; for (let index = 0; index < count; index++) { - state.activate({ id: item.id, revision: snapshot.revision, sequence: ++state.sequence }); + state.notifyListeners('activate', { id: item!.id, revision: snapshot.revision, sequence: ++state.sequence }); } }, { kind, label, count }, @@ -82,14 +132,14 @@ const tabState = (page: Page) => page.locator('ion-tab-bar').evaluate((bar) => ({ frame: bar.getBoundingClientRect().toJSON(), role: bar.getAttribute('role'), - items: Array.from(bar.querySelectorAll('ion-tab-button:not(.ion-cloned-element)')).map((button: any) => ({ - label: button.querySelector('ion-label')?.textContent.trim(), + items: Array.from(bar.querySelectorAll('ion-tab-button:not(.ion-cloned-element)')).map((button) => ({ + label: button.querySelector('ion-label')?.textContent?.trim(), frame: button.getBoundingClientRect().toJSON(), selected: button.selected, disabled: button.disabled, - role: button.shadowRoot.querySelector('[part=native]')?.getAttribute('role'), - ariaSelected: button.shadowRoot.querySelector('[part=native]')?.getAttribute('aria-selected'), - color: getComputedStyle(button.shadowRoot.querySelector('[part=native]')).color, + role: button.shadowRoot?.querySelector('[part=native]')?.getAttribute('role'), + ariaSelected: button.shadowRoot?.querySelector('[part=native]')?.getAttribute('aria-selected'), + color: getComputedStyle(button.shadowRoot!.querySelector('[part=native]')!).color, })), })); @@ -128,18 +178,20 @@ for (const direction of ['ltr', 'rtl']) { await expect(page).toHaveURL(`/main/${label.toLowerCase()}`); await expect(web).toHaveURL(`/main/${label.toLowerCase()}`); await expect - .poll(async () => (await latestControl(page, 'ion-tab-bar'))?.items.filter((i: any) => i.selected).map((i: any) => i.label)) + .poll(async () => + (await latestControl(page, 'ion-tab-bar'))?.items.filter((i: ShellItem) => i.selected).map((i: ShellItem) => i.label), + ) .toEqual([label]); // A real Web click runs the press animation; compare after both settle. await web.locator('ion-tab-bar').evaluate(async (bar) => { await Promise.all(bar.getAnimations({ subtree: true }).map((animation) => animation.finished.catch(() => {}))); }); await expect.poll(async () => JSON.stringify(await tabState(page)) === JSON.stringify(await tabState(web))).toBe(true); - const native = await latestControl(page, 'ion-tab-bar'); + const native = (await latestControl(page, 'ion-tab-bar'))!; const actual = await tabState(page); const reference = await tabState(web); expect(actual).toEqual(reference); - for (const key of ['x', 'y', 'width', 'height']) expect(native[key]).toBeCloseTo(reference.frame[key], 1); + for (const key of ['x', 'y', 'width', 'height'] as const) expect(native[key]).toBeCloseTo(reference.frame[key], 1); expect(native.rtl).toBe(direction === 'rtl'); for (const [index, item] of native.items.entries()) { const dom = reference.items[index]; @@ -198,11 +250,11 @@ for (const fixed of [false, true]) { } await expect.poll(async () => JSON.stringify(await appearance(page)) === JSON.stringify(await appearance(web))).toBe(true); if (fixed) { - const control = await latestControl(page, 'ion-back-button'); + const control = (await latestControl(page, 'ion-back-button'))!; const original = await appearance(web); expect(control.items[0].label).toBe(original.label); expect(control.items[0].accessibilityLabel).toBe(original.accessibilityLabel); - for (const key of ['x', 'y', 'width', 'height']) expect(control[key]).toBeCloseTo(original.frame[key], 1); + for (const key of ['x', 'y', 'width', 'height'] as const) expect(control[key]).toBeCloseTo(original.frame[key], 1); } }; const clickBack = async (p: Page, count = 1) => { @@ -212,11 +264,14 @@ for (const fixed of [false, true]) { for (let i = 0; i < count; i++) button.click(); }, count); }; + // With fixed native headers the toolbar button is projected, so tap it through the native activation path. + const clickPush = (p: Page) => + p === page && fixed ? activate(p, 'ion-button', 'Push') : p.getByRole('button', { name: 'Push', exact: true }).click(); for (let cycle = 0; cycle < 3; cycle++) { await Promise.all([page, web].map((p) => p.getByRole('button', { name: 'button', exact: true }).click())); await Promise.all([page, web].map((p) => expect(p).toHaveURL('/main/index/button'))); await checkBack(); - await Promise.all([page, web].map((p) => p.getByRole('button', { name: 'Push', exact: true }).click())); + await Promise.all([page, web].map((p) => clickPush(p))); await Promise.all([page, web].map((p) => expect(p).toHaveURL('/main/index/action-sheet'))); await checkBack(); await Promise.all([page, web].map((p) => clickBack(p, cycle === 2 ? 3 : 1))); @@ -237,10 +292,10 @@ test('RTL native back icon mirrors the Web chevron', async ({ page }) => { await mockNative(page); await page.goto('/main/index/native-ui-shell'); await expect(page.locator('app-native-ui-shell ion-back-button')).toHaveAttribute('data-native-ui-shell', ''); - const ltr = (await latestControl(page, 'ion-back-button')).items[0].icon; + const ltr = (await latestControl(page, 'ion-back-button'))!.items[0].icon!; await page.evaluate(() => (document.documentElement.dir = 'rtl')); await expect.poll(async () => (await latestControl(page, 'ion-back-button'))?.rtl).toBe(true); - const rtl = (await latestControl(page, 'ion-back-button')).items[0].icon; + const rtl = (await latestControl(page, 'ion-back-button'))!.items[0].icon!; expect(rtl).not.toBe(ltr); const error = await page.evaluate( async ({ ltr, rtl }) => { @@ -327,27 +382,27 @@ test('native geometry rejection paints Web before retirement and retries after l await expect(bar).toHaveAttribute('data-native-ui-shell', ''); await expect(back).toHaveAttribute('data-native-ui-shell', ''); await page.evaluate(() => { - const state = (window as any).__nativeUIShell; + const state = Capacitor.registerPlugin('IonicNativeUIShell'); const bar = document.querySelector('ion-tab-bar')!; const back = document.querySelector('app-native-ui-shell ion-back-button')!; - const id = state.updates.at(-1).controls.find((control: any) => control.kind === 'ion-tab-bar').id; + const id = state.updates.at(-1)!.controls.find((control: ShellControl) => control.kind === 'ion-tab-bar')!.id; state.evidence = { id, frame: 0, visibleFrame: -1, backReleases: 0, retirements: [] }; const tick = () => { - state.evidence.frame++; - if (!back.hasAttribute('data-native-ui-shell')) state.evidence.backReleases++; + state.evidence!.frame++; + if (!back.hasAttribute('data-native-ui-shell')) state.evidence!.backReleases++; requestAnimationFrame(tick); }; requestAnimationFrame(tick); bar.addEventListener('nativeUIShellChange', () => { if (!bar.hasAttribute('data-native-ui-shell') && getComputedStyle(bar).visibility === 'visible') { - state.evidence.visibleFrame = state.evidence.frame; + state.evidence!.visibleFrame = state.evidence!.frame; } }); - state.onUpdate = (snapshot: any) => { - if (!snapshot.controls.some((control: any) => control.id === id)) { - state.evidence.retirements.push({ - frame: state.evidence.frame, - visibleFrame: state.evidence.visibleFrame, + state.onUpdate = (snapshot: { controls: ShellControl[] }) => { + if (!snapshot.controls.some((control: ShellControl) => control.id === id)) { + state.evidence!.retirements.push({ + frame: state.evidence!.frame, + visibleFrame: state.evidence!.visibleFrame, visible: getComputedStyle(bar).visibility === 'visible', backProjected: back.hasAttribute('data-native-ui-shell'), }); @@ -357,31 +412,31 @@ test('native geometry rejection paints Web before retirement and retries after l state.holdAcknowledgement = true; }); await bar.evaluate((bar) => (bar.style.width = '300px')); - await expect.poll(() => page.evaluate(() => !!(window as any).__nativeUIShell.acknowledge)).toBe(true); + await expect.poll(() => page.evaluate(() => !!Capacitor.registerPlugin('IonicNativeUIShell').acknowledge)).toBe(true); await expect(bar).toHaveAttribute('data-native-ui-shell', ''); expect( await page.evaluate(() => { - const state = (window as any).__nativeUIShell; - return state.rendered.has(state.evidence.id); + const state = Capacitor.registerPlugin('IonicNativeUIShell'); + return state.rendered.has(state.evidence!.id); }), ).toBe(true); await page.evaluate(() => { - const state = (window as any).__nativeUIShell; + const state = Capacitor.registerPlugin('IonicNativeUIShell'); state.holdAcknowledgement = false; - state.acknowledge(); + state.acknowledge!(); }); await expect(bar).not.toHaveAttribute('data-native-ui-shell'); await expect(bar).toHaveCSS('visibility', 'visible'); await expect(bar).not.toHaveAttribute('aria-hidden'); await expect(back).toHaveAttribute('data-native-ui-shell', ''); await expect.poll(() => latestControl(page, 'ion-tab-bar')).toBeUndefined(); - const retirement = await page.evaluate(() => (window as any).__nativeUIShell.evidence.retirements[0]); + const retirement = await page.evaluate(() => Capacitor.registerPlugin('IonicNativeUIShell').evidence!.retirements[0]); expect(retirement.visible).toBe(true); expect(retirement.backProjected).toBe(true); expect(retirement.visibleFrame).toBeGreaterThanOrEqual(0); expect(retirement.frame - retirement.visibleFrame).toBeGreaterThanOrEqual(2); const counts = await page.evaluate(async () => { - const state = (window as any).__nativeUIShell; + const state = Capacitor.registerPlugin('IonicNativeUIShell'); // Let the restoration's mutation notification settle, then re-read identical data. for (let frame = 0; frame < 4; frame++) await new Promise(requestAnimationFrame); const before = state.updates.length; @@ -392,24 +447,24 @@ test('native geometry rejection paints Web before retirement and retries after l return { before, after: state.updates.length }; }); expect(counts.after).toBe(counts.before); - await page.evaluate(() => ((window as any).__nativeUIShell.rejectKind = undefined)); + await page.evaluate(() => (Capacitor.registerPlugin('IonicNativeUIShell').rejectKind = undefined)); // Recovery is driven by a new DOM layout, without recreating the runtime. await bar.evaluate((bar) => bar.style.removeProperty('width')); await expect(bar).toHaveAttribute('data-native-ui-shell', ''); await expect(back).toHaveAttribute('data-native-ui-shell', ''); - expect(await page.evaluate(() => (window as any).__nativeUIShell.updates.length)).toBeGreaterThan(counts.after); + expect(await page.evaluate(() => Capacitor.registerPlugin('IonicNativeUIShell').updates.length)).toBeGreaterThan(counts.after); await page.evaluate(() => { - (window as any).__nativeUIShell.rejectKind = 'ion-tab-bar'; + Capacitor.registerPlugin('IonicNativeUIShell').rejectKind = 'ion-tab-bar'; window.dispatchEvent(new Event('nativeUIShellRefresh')); }); await expect(bar).not.toHaveAttribute('data-native-ui-shell'); await expect.poll(() => latestControl(page, 'ion-tab-bar')).toBeUndefined(); await page.evaluate(() => { - (window as any).__nativeUIShell.rejectKind = undefined; + Capacitor.registerPlugin('IonicNativeUIShell').rejectKind = undefined; window.dispatchEvent(new Event('nativeUIShellRefresh')); }); await expect(bar).toHaveAttribute('data-native-ui-shell', ''); - expect(await page.evaluate(() => (window as any).__nativeUIShell.evidence.backReleases)).toBe(0); + expect(await page.evaluate(() => Capacitor.registerPlugin('IonicNativeUIShell').evidence!.backReleases)).toBe(0); }); test('native refresh during a pending rejection retries after the stale acknowledgement', async ({ page }) => { @@ -421,27 +476,27 @@ test('native refresh during a pending rejection retries after the stale acknowle await expect(bar).toHaveAttribute('data-native-ui-shell', ''); await expect(back).toHaveAttribute('data-native-ui-shell', ''); await page.evaluate(() => { - const state = (window as any).__nativeUIShell; + const state = Capacitor.registerPlugin('IonicNativeUIShell'); state.rejectKind = 'ion-tab-bar'; state.holdAcknowledgement = true; }); await bar.evaluate((bar) => (bar.style.width = '300px')); - await expect.poll(() => page.evaluate(() => !!(window as any).__nativeUIShell.acknowledge)).toBe(true); + await expect.poll(() => page.evaluate(() => !!Capacitor.registerPlugin('IonicNativeUIShell').acknowledge)).toBe(true); const pending = await page.evaluate(() => { - const state = (window as any).__nativeUIShell; - const snapshot = state.updates.at(-1); + const state = Capacitor.registerPlugin('IonicNativeUIShell'); + const snapshot = state.updates.at(-1)!; // UIKit now has usable geometry, but its earlier rejection has not reached JS. state.rejectKind = undefined; window.dispatchEvent(new Event('nativeUIShellRefresh')); state.holdAcknowledgement = false; - state.acknowledge(); - return { revision: snapshot.revision, id: snapshot.controls.find((control: any) => control.kind === 'ion-tab-bar').id }; + state.acknowledge!(); + return { revision: snapshot.revision, id: snapshot.controls.find((control: ShellControl) => control.kind === 'ion-tab-bar')!.id }; }); await expect .poll(() => page.evaluate(({ revision, id }) => { - const snapshot = (window as any).__nativeUIShell.updates.at(-1); - return snapshot.revision > revision && snapshot.controls.some((control: any) => control.id === id); + const snapshot = Capacitor.registerPlugin('IonicNativeUIShell').updates.at(-1)!; + return snapshot.revision > revision && snapshot.controls.some((control: ShellControl) => control.id === id); }, pending), ) .toBe(true); @@ -473,7 +528,7 @@ for (const path of ['/main/index', '/main/album']) { } await page.locator('ion-tab-bar').evaluate((bar, variant) => { bar.setAttribute('color', 'light'); - const buttons = [...bar.querySelectorAll('ion-tab-button:not(.ion-cloned-element)')]; + const buttons = [...bar.querySelectorAll('ion-tab-button:not(.ion-cloned-element)')]; buttons.forEach((button) => button.setAttribute('aria-label', button.textContent!.trim())); if (variant === 'icon-only') buttons.forEach((button) => button.querySelector('ion-label')?.remove()); if (variant === 'label-only') buttons.forEach((button) => button.querySelector('ion-icon')?.remove()); @@ -494,14 +549,14 @@ for (const path of ['/main/index', '/main/album']) { }, variant); const current = () => latestControl(page, 'ion-tab-bar'); if (variant === 'icon-only') { - await expect.poll(async () => (await current())?.items.every((item: any) => item.label === '' && !!item.icon)).toBe(true); - expect((await current()).items.every((item: any) => !!item.accessibilityLabel)).toBe(true); + await expect.poll(async () => (await current())?.items.every((item: ShellItem) => item.label === '' && !!item.icon)).toBe(true); + expect((await current())!.items.every((item: ShellItem) => !!item.accessibilityLabel)).toBe(true); } else if (variant === 'label-only') { - await expect.poll(async () => (await current())?.items.every((item: any) => !!item.label && !item.icon)).toBe(true); + await expect.poll(async () => (await current())?.items.every((item: ShellItem) => !!item.label && !item.icon)).toBe(true); } else { await expect(page.locator('ion-badge').first()).toHaveClass(/hydrated/); await expect - .poll(async () => (await current())?.items.map((item: any) => item.badge?.value ?? null)) + .poll(async () => (await current())?.items.map((item: ShellItem) => item.badge?.value ?? null)) .toEqual([null, null, '47', null]); // Ionic iOS hides an empty badge; a visible empty badge maps to a notification dot. await page @@ -517,7 +572,7 @@ for (const path of ['/main/index', '/main/album']) { return { color: style.backgroundColor, textColor: style.color }; }), ); - const snapshot = await current(); + const snapshot = (await current())!; expect(colors.every(({ color }) => color !== 'transparent' && color !== 'rgba(0, 0, 0, 0)')).toBe(true); expect(snapshot.items[0].badge).toEqual({ value: '', ...colors[0] }); expect(snapshot.items[2].badge).toEqual({ value: '47', ...colors[1] }); @@ -545,10 +600,10 @@ for (const path of ['/main/index', '/main/album']) { await expect(page.locator('ion-tab-bar')).toHaveAttribute('data-native-ui-shell', ''); // Selection stays owned by the actual Ionic tab button, including icon-only tabs. await page.evaluate(() => { - const state = (window as any).__nativeUIShell; - const snapshot = state.updates.at(-1); - const item = snapshot.controls.find((control: any) => control.kind === 'ion-tab-bar').items[1]; - state.activate({ id: item.id, revision: snapshot.revision, sequence: ++state.sequence }); + const state = Capacitor.registerPlugin('IonicNativeUIShell'); + const snapshot = state.updates.at(-1)!; + const item = snapshot.controls.find((control: ShellControl) => control.kind === 'ion-tab-bar')!.items[1]; + state.notifyListeners('activate', { id: item.id, revision: snapshot.revision, sequence: ++state.sequence }); }); await expect(page).toHaveURL('/main/docs'); await expect.poll(async () => (await current())?.items[1].selected).toBe(true); diff --git a/demo/e2e/native-ui-shell.spec.ts b/demo/e2e/native-ui-shell.spec.ts index dcfe0dc5..a3852449 100644 --- a/demo/e2e/native-ui-shell.spec.ts +++ b/demo/e2e/native-ui-shell.spec.ts @@ -3,74 +3,106 @@ import type { Page } from '@playwright/test'; import { compile, NodePackageImporter } from 'sass'; import { resolve } from 'node:path'; import * as overlayTypes from '../src/app/overlay-types'; +import type { ShellControl, ShellItem, ShellSnapshot } from '../../src/native/definitions'; +import type { ShellMockCore, TestAppElement } from './native-shell-mock'; const importer = new NodePackageImporter(resolve(__dirname, '../../')); +interface ShellMock extends ShellMockCore { + delay: number; + hang: boolean; + rejectInactiveSearch: boolean; + rejectAllSearch: boolean; + rejectControlLabel: string; + configuredWith?: { verticalBarsOnly?: boolean }; + lateSearch?: () => void; + tabRetirements: number; + retirementDetails: { path: string; tabs: string }[]; +} + const mockNative = async (page: Page, fail = false, verticalBars = true) => { const script = ([fail, verticalBars]: readonly [boolean, boolean]) => { - const state = { - updates: [] as any[], + const mock = { + updates: [] as ShellSnapshot[], sequence: 0, delay: 0, hang: false, rejectInactiveSearch: false, rejectAllSearch: false, rejectControlLabel: '', - configuredWith: undefined as any, - activate: (_event: any) => {}, - search: (_event: any) => {}, - metrics: (_event: any) => {}, - }; - Object.assign(window, { - __nativeUIShell: state, - CapacitorCustomPlatform: { name: 'ios' }, - Capacitor: { - PluginHeaders: [ - { - name: 'IonicNativeUIShell', - methods: [ - { name: 'configure', rtype: 'promise' }, - { name: 'getWebViewMetrics', rtype: 'promise' }, - { name: 'update', rtype: 'promise' }, - { name: 'clear', rtype: 'promise' }, - { name: 'addListener' }, - { name: 'removeListener' }, - ], - }, - ], - nativePromise: async (_plugin: string, method: string, options: any) => { - if (method === 'configure') { - state.configuredWith = options; - return { supported: true, verticalBars }; - } - if (method === 'getWebViewMetrics') return { radius: 0 }; - state.updates.push(method === 'clear' ? { ...options, controls: [] } : options); - if (state.hang && method === 'update') await new Promise(() => {}); - if (state.delay) await new Promise((resolve) => setTimeout(resolve, state.delay)); - if (fail && method === 'update' && options.controls.length) throw new Error('Test native failure'); - return { - revision: options.revision, - rejectedSearches: - state.rejectInactiveSearch || state.rejectAllSearch - ? options.controls - ?.filter((control: any) => control.search && (state.rejectAllSearch || control.search.available === false)) - .map((control: any) => control.id) - : [], - rejectedControls: state.rejectControlLabel + configuredWith: undefined as { verticalBarsOnly?: boolean } | undefined, + lateSearch: undefined as (() => void) | undefined, + tabRetirements: 0, + retirementDetails: [] as { path: string; tabs: string }[], + listeners: {} as Record void)[]>, + addListener(eventName: string, callback: (event: never) => void) { + const listeners = (this.listeners[eventName] ??= []); + listeners.push(callback); + return Promise.resolve({ remove: async () => listeners.splice(listeners.indexOf(callback), 1) }); + }, + async removeAllListeners() { + this.listeners = {}; + }, + notifyListeners(eventName: string, data: unknown) { + for (const listener of this.listeners[eventName] ?? []) listener(data as never); + }, + async configure(options: { verticalBarsOnly?: boolean }) { + this.configuredWith = options; + return { supported: true, verticalBars }; + }, + async getWebViewMetrics() { + return { radius: 0 }; + }, + async getDeviceLayout() { + return { + placement: { edge: verticalBars ? ('right' as const) : null, inset: verticalBars ? 84 : 0 }, + hingeStatus: 'unavailable' as const, + webViewMetrics: { radius: 0 }, + }; + }, + async startDeviceLayoutMonitoring() {}, + async stopDeviceLayoutMonitoring() {}, + async update(options: ShellSnapshot) { + this.updates.push(options); + if (this.hang) await new Promise(() => {}); + return this.rejections(options); + }, + async clear(options: { revision: number }) { + this.updates.push({ revision: options.revision, viewportWidth: 0, controls: [] }); + return this.rejections(options); + }, + async rejections(options: { revision?: number; controls?: ShellControl[] }) { + if (this.delay) await new Promise((resolve) => setTimeout(resolve, this.delay)); + if (fail && options.controls?.length) throw new Error('Test native failure'); + return { + revision: options.revision, + rejectedSearches: + this.rejectInactiveSearch || this.rejectAllSearch ? options.controls - ?.filter((control: any) => control.items.some((item: any) => item.accessibilityLabel === state.rejectControlLabel)) - .map((control: any) => control.id) + ?.filter((control) => control.search && (this.rejectAllSearch || control.search.available === false)) + .map((control) => control.id) : [], - }; - }, - nativeCallback: (_plugin: string, method: string, options: any, callback: (event: any) => void) => { - if (method === 'addListener') { - if (options.eventName === 'search') state.search = callback; - else if (options.eventName === 'activate') state.activate = callback; - else if (options.eventName === 'webViewMetricsChange') state.metrics = callback; - } - return 'shell-listener'; - }, + rejectedControls: this.rejectControlLabel + ? options.controls + ?.filter((control) => control.items.some((item) => item.accessibilityLabel === this.rejectControlLabel)) + .map((control) => control.id) + : [], + }; + }, + }; + + window.CapacitorCustomPlatform = { name: 'ios' }; + // Substitute the mock as the plugin implementation when @capacitor/core + // initialises its global, before the app registers 'IonicNativeUIShell'. + let capacitor: { registerPlugin: (name: string, implementations?: Record) => unknown } | undefined; + Object.defineProperty(window, 'Capacitor', { + configurable: true, + get: () => capacitor, + set: (instance) => { + const registerPlugin = instance.registerPlugin; + instance.registerPlugin = (name: string, implementations?: Record) => + name === 'IonicNativeUIShell' ? mock : registerPlugin(name, implementations); + capacitor = instance; }, }); }; @@ -80,16 +112,16 @@ const mockNative = async (page: Page, fail = false, verticalBars = true) => { const activate = (page: Page, label: string, duplicate = false) => page.evaluate( ({ label, duplicate }) => { - const state = (window as any).__nativeUIShell; - const snapshot = state.updates.findLast((value: any) => - value.controls.some((control: any) => control.items.some((item: any) => item.label === label || item.accessibilityLabel === label)), - ); + const state = Capacitor.registerPlugin('IonicNativeUIShell'); + const snapshot = state.updates.findLast((value) => + value.controls.some((control) => control.items.some((item) => item.label === label || item.accessibilityLabel === label)), + )!; const item = snapshot.controls - .flatMap((control: any) => control.items) - .find((item: any) => item.label === label || item.accessibilityLabel === label); + .flatMap((control) => control.items) + .find((item) => item.label === label || item.accessibilityLabel === label)!; const event = { id: item.id, revision: snapshot.revision, sequence: ++state.sequence }; - state.activate(event); - if (duplicate) state.activate(event); + state.notifyListeners('activate', event); + if (duplicate) state.notifyListeners('activate', event); }, { label, duplicate }, ); @@ -104,22 +136,22 @@ test('FAB keeps a complete native batch across staggered lists and measures each const state = () => page.evaluate(() => { const fab = document.querySelector('ion-fab[horizontal=center]')!; - const controls = (window as any).__nativeUIShell.updates.at(-1).controls; - return controls.find((c: any) => c.kind === 'ion-fab' && c.items.length === 7); + const controls = Capacitor.registerPlugin('IonicNativeUIShell').updates.at(-1)!.controls; + return controls.find((c: ShellControl) => c.kind === 'ion-fab' && c.items.length === 7)!; }); const closed = await state(); - expect(closed.items.filter((i: any) => i.visible)).toHaveLength(1); - expect(closed.items.every((i: any) => i.icon && i.closeIcon)).toBe(true); + expect(closed.items.filter((i: ShellItem) => i.visible)).toHaveLength(1); + expect(closed.items.every((i: ShellItem) => i.icon && i.closeIcon)).toBe(true); await fab.locator(':scope > ion-fab-button').evaluate((b: HTMLIonFabButtonElement) => b.click()); - await expect.poll(async () => (await state()).items.filter((i: any) => i.visible).length).toBe(7); + await expect.poll(async () => (await state()).items.filter((i: ShellItem) => i.visible).length).toBe(7); const opened = await state(); - expect(opened.items.map((i: any) => i.id)).toEqual(closed.items.map((i: any) => i.id)); + expect(opened.items.map((i: ShellItem) => i.id)).toEqual(closed.items.map((i: ShellItem) => i.id)); const rects = await fab.locator('ion-fab-button').evaluateAll((buttons) => buttons.map((b) => b.getBoundingClientRect().toJSON())); for (let index = 0; index < rects.length; index++) { - for (const key of ['x', 'y', 'width', 'height']) expect(opened.items[index][key]).toBeCloseTo(rects[index][key], 1); + for (const key of ['x', 'y', 'width', 'height'] as const) expect(opened.items[index][key]).toBeCloseTo(rects[index][key], 1); } await fab.evaluate((f: HTMLIonFabElement) => f.close()); - await expect.poll(async () => (await state()).items.filter((i: any) => i.visible).length).toBe(1); + await expect.poll(async () => (await state()).items.filter((i: ShellItem) => i.visible).length).toBe(1); await expect(fab).toHaveAttribute('data-native-ui-shell', ''); }); @@ -129,26 +161,27 @@ test('FAB activation stays with Ionic and rejects hidden, disabled and duplicate const fab = page.locator('ion-fab[horizontal=center]'); await expect(fab).toHaveAttribute('data-native-ui-shell', ''); await fab.evaluate((element) => { - (window as any).__fabClicks = 0; - element.querySelector('ion-fab-list ion-fab-button')!.addEventListener('click', () => (window as any).__fabClicks++); + const app = document.querySelector('ion-app') as TestAppElement; + app.fabClicks = 0; + element.querySelector('ion-fab-list ion-fab-button')!.addEventListener('click', () => (app.fabClicks = (app.fabClicks ?? 0) + 1)); }); await activate(page, 'Up action'); - expect(await page.evaluate(() => (window as any).__fabClicks)).toBe(0); + expect(await page.evaluate(() => (document.querySelector('ion-app') as TestAppElement).fabClicks)).toBe(0); await activate(page, 'Center FAB actions', true); await expect.poll(() => fab.evaluate((element: HTMLIonFabElement) => element.activated)).toBe(true); await expect .poll(() => page.evaluate( () => - (window as any).__nativeUIShell.updates - .at(-1) - .controls.find((c: any) => c.kind === 'ion-fab' && c.items.length === 7) - .items.filter((i: any) => i.visible).length, + Capacitor.registerPlugin('IonicNativeUIShell') + .updates.at(-1)! + .controls.find((c: ShellControl) => c.kind === 'ion-fab' && c.items.length === 7)! + .items.filter((i: ShellItem) => i.visible).length, ), ) .toBe(7); await activate(page, 'Up action', true); - expect(await page.evaluate(() => (window as any).__fabClicks)).toBe(1); + expect(await page.evaluate(() => (document.querySelector('ion-app') as TestAppElement).fabClicks)).toBe(1); await expect.poll(() => fab.evaluate((element: HTMLIonFabElement) => element.activated)).toBe(false); await fab.locator(':scope > ion-fab-button').evaluate((element: HTMLIonFabButtonElement) => (element.disabled = true)); await activate(page, 'Center FAB actions'); @@ -179,7 +212,7 @@ test('FAB reverses during stagger, keeps its cover, and ignores late hidden acti expect(evidence.covered).toBe(true); expect(evidence.active).toBe(false); await expect(fab).toHaveAttribute('data-native-ui-shell', ''); - await page.evaluate(() => ((window as any).__nativeUIShell.delay = 120)); + await page.evaluate(() => (Capacitor.registerPlugin('IonicNativeUIShell').delay = 120)); await fab.evaluate((element: HTMLIonFabElement) => (element.activated = true)); await fab.evaluate((element: HTMLIonFabElement) => { element.style.display = 'none'; @@ -213,8 +246,9 @@ test('FAB restores excluded groups and follows icon, list and theme changes', as .poll(() => page.evaluate( () => - (window as any).__nativeUIShell.updates.at(-1).controls.find((c: any) => c.kind === 'ion-fab' && c.items.length === 6)?.items - .length, + Capacitor.registerPlugin('IonicNativeUIShell') + .updates.at(-1)! + .controls.find((c: ShellControl) => c.kind === 'ion-fab' && c.items.length === 6)?.items.length, ), ) .toBe(6); @@ -281,10 +315,10 @@ test('FAB uses measured positions after RTL and viewport changes', async ({ page await expect .poll(() => page.evaluate(() => { - const control = (window as any).__nativeUIShell.updates - .at(-1) - .controls.find((c: any) => c.kind === 'ion-fab' && c.items.length === 7); - if (!control || control.rtl !== (document.documentElement.dir === 'rtl') || control.items.some((i: any) => !i.visible)) + const control = Capacitor.registerPlugin('IonicNativeUIShell') + .updates.at(-1)! + .controls.find((c: ShellControl) => c.kind === 'ion-fab' && c.items.length === 7); + if (!control || control.rtl !== (document.documentElement.dir === 'rtl') || control.items.some((i: ShellItem) => !i.visible)) return false; const buttons = Array.from(document.querySelector('ion-fab[horizontal=center]')!.querySelectorAll('ion-fab-button')); return buttons.every((b, index) => { @@ -297,10 +331,11 @@ test('FAB uses measured positions after RTL and viewport changes', async ({ page .toBe(true); const icon = await page.evaluate( () => - (window as any).__nativeUIShell.updates.at(-1).controls.find((c: any) => c.kind === 'ion-fab' && c.items.length === 7).items[2] - .icon, + Capacitor.registerPlugin('IonicNativeUIShell') + .updates.at(-1)! + .controls.find((c: ShellControl) => c.kind === 'ion-fab' && c.items.length === 7)!.items[2].icon, ); - if (direction === 'rtl') rtlIcon = icon; + if (direction === 'rtl') rtlIcon = icon!; else expect(icon).not.toBe(rtlIcon); } } @@ -321,9 +356,11 @@ test('unsupported search morph releases and restores a native fixed-slot FAB int await expect .poll(() => page.evaluate(() => - (window as any).__nativeUIShell.updates - .at(-1) - .controls.some((c: any) => c.kind === 'ion-fab' && c.items.some((i: any) => i.accessibilityLabel === 'Search albums')), + Capacitor.registerPlugin('IonicNativeUIShell') + .updates.at(-1)! + .controls.some( + (c: ShellControl) => c.kind === 'ion-fab' && c.items.some((i: ShellItem) => i.accessibilityLabel === 'Search albums'), + ), ), ) .toBe(true); @@ -347,9 +384,9 @@ test('verticalBars tabs request native adaptive rail placement', async ({ page } await expect .poll(() => page.evaluate(() => - (window as any).__nativeUIShell.updates - .at(-1) - .controls.some((control: any) => control.kind === 'ion-tab-bar' && control.placement === 'vertical-bars'), + Capacitor.registerPlugin('IonicNativeUIShell') + .updates.at(-1)! + .controls.some((control: ShellControl) => control.kind === 'ion-tab-bar' && control.placement === 'vertical-bars'), ), ) .toBe(true); @@ -366,12 +403,14 @@ test('standalone Vertical Control Area never snapshots ordinary Native UI Shell await expect .poll(() => page.evaluate(() => { - const { configuredWith, updates } = (window as any).__nativeUIShell; + const { configuredWith, updates } = Capacitor.registerPlugin('IonicNativeUIShell'); const controls = updates.at(-1)?.controls ?? []; return ( configuredWith?.verticalBarsOnly === true && controls.length > 0 && - updates.flatMap((update: any) => update.controls).every((control: any) => control.placement === 'vertical-bars') + updates + .flatMap((update: ShellSnapshot) => update.controls) + .every((control: ShellControl) => control.placement === 'vertical-bars') ); }), ) @@ -402,7 +441,10 @@ test('verticalBars back navigation and toolbar slots request native rail placeme await expect .poll(() => page.evaluate( - () => (window as any).__nativeUIShell.updates.at(-1)?.controls.filter((control: any) => control.kind === 'ion-back-button').length, + () => + Capacitor.registerPlugin('IonicNativeUIShell') + .updates.at(-1) + ?.controls.filter((control: ShellControl) => control.kind === 'ion-back-button').length, ), ) .toBe(1); @@ -410,29 +452,29 @@ test('verticalBars back navigation and toolbar slots request native rail placeme .poll(() => page.evaluate( () => - (window as any).__nativeUIShell.updates - .at(-1) + Capacitor.registerPlugin('IonicNativeUIShell') + .updates.at(-1)! .controls.some( - (control: any) => + (control: ShellControl) => control.kind === 'ion-back-button' && control.placement === 'vertical-bars' && control.toolbarSlot === undefined, ) && - !(window as any).__nativeUIShell.updates - .at(-1) - .controls.some((control: any) => control.items.some((item: any) => item.label === 'Cancel')), + !Capacitor.registerPlugin('IonicNativeUIShell') + .updates.at(-1)! + .controls.some((control: ShellControl) => control.items.some((item: ShellItem) => item.label === 'Cancel')), ), ) .toBe(true); await expect .poll(() => page.evaluate(() => - (window as any).__nativeUIShell.updates - .at(-1) + Capacitor.registerPlugin('IonicNativeUIShell') + .updates.at(-1)! .controls.some( - (control: any) => + (control: ShellControl) => control.kind === 'ion-button' && control.placement === 'vertical-bars' && control.toolbarSlot === 'end' && - control.items.some((item: any) => item.accessibilityLabel === 'Save'), + control.items.some((item: ShellItem) => item.accessibilityLabel === 'Save'), ), ), ) @@ -441,7 +483,9 @@ test('verticalBars back navigation and toolbar slots request native rail placeme .poll(() => page.evaluate( () => - (window as any).__nativeUIShell.updates.at(-1).controls.find((control: any) => control.kind === 'ion-menu-button')?.toolbarSlot, + Capacitor.registerPlugin('IonicNativeUIShell') + .updates.at(-1)! + .controls.find((control: ShellControl) => control.kind === 'ion-menu-button')?.toolbarSlot, ), ) .toBe('start'); @@ -457,9 +501,10 @@ test('native verticalBars toolbar returns with Index after a pushed page', async await page.locator('ion-app').evaluate((app) => app.classList.add('ios-theme-vertical-bars')); const hasIndexActions = () => page.evaluate(() => { - const controls = (window as any).__nativeUIShell.updates.at(-1).controls; + const controls = Capacitor.registerPlugin('IonicNativeUIShell').updates.at(-1)!.controls; return controls.some( - (control: any) => control.placement === 'vertical-bars' && control.items.some((item: any) => item.accessibilityLabel === 'GitHub'), + (control: ShellControl) => + control.placement === 'vertical-bars' && control.items.some((item: ShellItem) => item.accessibilityLabel === 'GitHub'), ); }); await expect.poll(hasIndexActions).toBe(true); @@ -468,17 +513,17 @@ test('native verticalBars toolbar returns with Index after a pushed page', async await expect .poll(() => page.evaluate(() => { - const state = (window as any).__nativeUIShell; - const snapshot = state.updates.at(-1); - return !!snapshot.controls.find((control: any) => control.kind === 'ion-back-button')?.items[0]; + const state = Capacitor.registerPlugin('IonicNativeUIShell'); + const snapshot = state.updates.at(-1)!; + return !!snapshot.controls.find((control: ShellControl) => control.kind === 'ion-back-button')?.items[0]; }), ) .toBe(true); await page.evaluate(() => { - const state = (window as any).__nativeUIShell; - const snapshot = state.updates.at(-1); - const back = snapshot.controls.find((control: any) => control.kind === 'ion-back-button').items[0]; - state.activate({ id: back.id, revision: snapshot.revision, sequence: ++state.sequence }); + const state = Capacitor.registerPlugin('IonicNativeUIShell'); + const snapshot = state.updates.at(-1)!; + const back = snapshot.controls.find((control: ShellControl) => control.kind === 'ion-back-button')!.items[0]; + state.notifyListeners('activate', { id: back.id, revision: snapshot.revision, sequence: ++state.sequence }); }); await expect(page).toHaveURL(/\/main\/index$/); await expect.poll(hasIndexActions).toBe(true); @@ -508,12 +553,12 @@ test('native verticalBars actions follow WillEnter and stay enabled during navig const saveDisabled = () => page.evaluate( () => - (window as any).__nativeUIShell.updates - .findLast((update: any) => - update.controls.some((control: any) => control.items.some((item: any) => item.accessibilityLabel === 'Save')), - ) - .controls.flatMap((control: any) => control.items) - .find((item: any) => item.accessibilityLabel === 'Save').disabled, + Capacitor.registerPlugin('IonicNativeUIShell') + .updates.findLast((update: ShellSnapshot) => + update.controls.some((control: ShellControl) => control.items.some((item: ShellItem) => item.accessibilityLabel === 'Save')), + )! + .controls.flatMap((control: ShellControl) => control.items) + .find((item: ShellItem) => item.accessibilityLabel === 'Save')!.disabled, ); await expect.poll(saveDisabled).toBe(false); await page.addStyleTag({ content: '.author-no-pointer { pointer-events: none }' }); @@ -608,7 +653,7 @@ test('verticalBars toolbar sources are hidden before ownership and restored with await expect(lateBack).not.toHaveClass(/ios-theme-vertical-bars-back-web-owned/); await lateBack.evaluate((element) => element.closest('ion-header')?.remove()); - await page.evaluate(() => (window as any).nativeUIShell.destroy()); + await page.evaluate(() => (document.querySelector('ion-app') as TestAppElement).nativeUIShell!.destroy()); await expect(source).not.toHaveClass(/ios-theme-native-ui-shell-prehidden/); await expect(source).toHaveCSS('visibility', 'visible'); }); @@ -620,7 +665,7 @@ test('rejected verticalBars control returns to an operable Web source', async ({ const save = page.locator('app-native-ui-shell ion-button[type=submit]'); await expect(save).toHaveAttribute('data-native-ui-shell', ''); await page.evaluate(() => { - (window as any).__nativeUIShell.rejectControlLabel = 'Save'; + Capacitor.registerPlugin('IonicNativeUIShell').rejectControlLabel = 'Save'; window.dispatchEvent(new Event('nativeUIShellRefresh')); }); await expect(save).not.toHaveAttribute('data-native-ui-shell', ''); @@ -661,22 +706,26 @@ test('verticalBars rail remains native while its Ionic menu is open', async ({ p await expect .poll(() => page.evaluate(() => { - const controls = (window as any).__nativeUIShell.updates.at(-1)?.controls ?? []; - const demoActions = (control: any) => - control.items.filter((item: any) => ['GitHub', 'Refresh'].includes(item.accessibilityLabel)).length; + const controls = Capacitor.registerPlugin('IonicNativeUIShell').updates.at(-1)?.controls ?? []; + const demoActions = (control: ShellControl) => + control.items.filter((item: ShellItem) => ['GitHub', 'Refresh'].includes(item.accessibilityLabel)).length; return { - groups: controls.filter((control: any) => control.kind === 'ion-buttons' && demoActions(control) === 2).length, - individuals: controls.filter((control: any) => control.kind === 'ion-button' && demoActions(control) > 0).length, + groups: controls.filter((control: ShellControl) => control.kind === 'ion-buttons' && demoActions(control) === 2).length, + individuals: controls.filter((control: ShellControl) => control.kind === 'ion-button' && demoActions(control) > 0).length, }; }), ) .toEqual({ groups: 1, individuals: 0 }); const nativeDisabled = () => page.evaluate(() => { - const items = (window as any).__nativeUIShell.updates.at(-1).controls.flatMap((control: any) => control.items); + const items = Capacitor.registerPlugin('IonicNativeUIShell') + .updates.at(-1)! + .controls.flatMap((control: ShellControl) => control.items); return { - save: items.find((item: any) => item.accessibilityLabel === 'Save')?.disabled, - actions: items.filter((item: any) => ['GitHub', 'Refresh'].includes(item.accessibilityLabel)).map((item: any) => item.disabled), + save: items.find((item: ShellItem) => item.accessibilityLabel === 'Save')?.disabled, + actions: items + .filter((item: ShellItem) => ['GitHub', 'Refresh'].includes(item.accessibilityLabel)) + .map((item: ShellItem) => item.disabled), }; }); await actionGroup.evaluate((element: HTMLElement) => (element.style.pointerEvents = 'none')); @@ -736,12 +785,14 @@ test('verticalBars controls stay operable on Web when the native side rail is un await expect(saveProjection).toHaveCount(0); await saveSource.evaluate((element) => element.classList.remove('author-hidden')); await expect(saveProjection).toBeVisible(); - await expect.poll(() => page.evaluate(() => (window as any).nativeUIShell.getStatus().projected)).toBeGreaterThan(0); + await expect + .poll(() => page.evaluate(() => (document.querySelector('ion-app') as TestAppElement).nativeUIShell!.getStatus().projected)) + .toBeGreaterThan(0); await expect .poll(() => page.evaluate(() => - (window as any).__nativeUIShell.updates.every((snapshot: any) => - snapshot.controls.every((control: any) => control.placement !== 'vertical-bars'), + Capacitor.registerPlugin('IonicNativeUIShell').updates.every((snapshot: ShellSnapshot) => + snapshot.controls.every((control: ShellControl) => control.placement !== 'vertical-bars'), ), ), ) @@ -758,14 +809,15 @@ test('verticalBars controls stay operable on Web when the native side rail is un await page.evaluate(() => { const outlet = document.querySelector('ion-tabs ion-router-outlet')!; - (window as any).__verticalBarsBackCloneMoved = false; + (document.querySelector('ion-app') as TestAppElement).verticalBarsBackCloneMoved = false; new MutationObserver(() => { - if (outlet.querySelector(':scope > ion-back-button.ion-cloned-element')) (window as any).__verticalBarsBackCloneMoved = true; + if (outlet.querySelector(':scope > ion-back-button.ion-cloned-element')) + (document.querySelector('ion-app') as TestAppElement).verticalBarsBackCloneMoved = true; }).observe(outlet, { childList: true }); }); await projection.click(); await expect(page).toHaveURL(/\/main\/index$/); - expect(await page.evaluate(() => (window as any).__verticalBarsBackCloneMoved)).toBe(false); + expect(await page.evaluate(() => (document.querySelector('ion-app') as TestAppElement).verticalBarsBackCloneMoved)).toBe(false); }); test('native click preserves external form submit, disabled, and duplicate protection', async ({ page }) => { @@ -780,11 +832,13 @@ test('native click preserves external form submit, disabled, and duplicate prote await expect(button).toHaveJSProperty('disabled', true); await activate(page, 'Save'); await expect(page.locator('[data-save-count]')).toHaveText('1'); - await expect.poll(() => page.evaluate(() => (window as any).nativeUIShell.getStatus().projected)).toBeGreaterThan(0); + await expect + .poll(() => page.evaluate(() => (document.querySelector('ion-app') as TestAppElement).nativeUIShell!.getStatus().projected)) + .toBeGreaterThan(0); await page.waitForTimeout(200); - const count = await page.evaluate(() => (window as any).__nativeUIShell.updates.length); + const count = await page.evaluate(() => Capacitor.registerPlugin('IonicNativeUIShell').updates.length); await page.waitForTimeout(250); - expect(await page.evaluate(() => (window as any).__nativeUIShell.updates.length)).toBe(count); + expect(await page.evaluate(() => Capacitor.registerPlugin('IonicNativeUIShell').updates.length)).toBe(count); }); test('ancestor display, element opt-out aliases and non-glass fills restore Web', async ({ page }) => { @@ -891,7 +945,13 @@ test('shell opt-out cannot be bypassed by searchable tab integration', async ({ await page.goto('/main/album'); const footer = page.locator('app-album-page ion-footer'); const tabs = page.locator('ion-tab-bar'); - const search = () => page.evaluate(() => (window as any).__nativeUIShell.updates.at(-1).controls.find((c: any) => c.search)?.search); + const search = () => + page.evaluate( + () => + Capacitor.registerPlugin('IonicNativeUIShell') + .updates.at(-1)! + .controls.find((c: ShellControl) => c.search)?.search, + ); await expect.poll(async () => (await search())?.trigger.accessibilityLabel).toBe('Search'); for (const target of [ footer, @@ -921,22 +981,28 @@ test('shell opt-out retires active search without losing input or accepting late await page.goto('/main/album'); const footer = page.locator('app-album-page ion-footer'); const bar = footer.locator('ion-searchbar'); - const search = () => page.evaluate(() => (window as any).__nativeUIShell.updates.at(-1).controls.find((c: any) => c.search)?.search); + const search = () => + page.evaluate( + () => + Capacitor.registerPlugin('IonicNativeUIShell') + .updates.at(-1)! + .controls.find((c: ShellControl) => c.search)?.search, + ); await expect(footer).toHaveAttribute('data-native-ui-shell', ''); await page.evaluate(() => { - const state = (window as any).__nativeUIShell; - const snapshot = state.updates.at(-1); - state.activate({ - id: snapshot.controls.find((c: any) => c.search).search.trigger.id, + const state = Capacitor.registerPlugin('IonicNativeUIShell'); + const snapshot = state.updates.at(-1)!; + state.notifyListeners('activate', { + id: snapshot.controls.find((c: ShellControl) => c.search)!.search!.trigger.id, revision: snapshot.revision, sequence: ++state.sequence, }); }); await expect.poll(async () => (await search())?.active).toBe(true); await page.evaluate(() => { - const state = (window as any).__nativeUIShell; - const snapshot = state.updates.at(-1); - const search = snapshot.controls.find((c: any) => c.search).search; + const state = Capacitor.registerPlugin('IonicNativeUIShell'); + const snapshot = state.updates.at(-1)!; + const search = snapshot.controls.find((c: ShellControl) => c.search)!.search!; const event = { id: search.id, valueVersion: search.valueVersion, @@ -945,14 +1011,14 @@ test('shell opt-out retires active search without losing input or accepting late value: '日本', composing: false, }; - state.search({ ...event, sequence: ++state.sequence }); - state.lateSearch = () => state.search({ ...event, value: 'stale', sequence: ++state.sequence }); + state.notifyListeners('search', { ...event, sequence: ++state.sequence }); + state.lateSearch = () => state.notifyListeners('search', { ...event, value: 'stale', sequence: ++state.sequence }); }); await expect(bar).toHaveJSProperty('value', '日本'); await bar.evaluate((element) => element.classList.add('ios-theme-shell-disabled')); await expect(footer).not.toHaveAttribute('data-native-ui-shell'); await expect.poll(search).toBeUndefined(); - await page.evaluate(() => (window as any).__nativeUIShell.lateSearch()); + await page.evaluate(() => Capacitor.registerPlugin('IonicNativeUIShell').lateSearch!()); await expect(bar).toHaveJSProperty('value', '日本'); await bar.evaluate((element) => element.classList.remove('ios-theme-shell-disabled')); await expect(footer).toHaveAttribute('data-native-ui-shell', ''); @@ -984,7 +1050,7 @@ test('modal suspension, tab hiding and destroy restore ownership', async ({ page await page.getByRole('button', { name: 'Open modal', exact: true }).click(); await expect(page.locator('[data-native-ui-shell]')).toHaveCount(0); await expect - .poll(() => page.evaluate(() => (window as any).__nativeUIShell.updates.at(-1))) + .poll(() => page.evaluate(() => Capacitor.registerPlugin('IonicNativeUIShell').updates.at(-1)!)) .toMatchObject({ controls: [], transitionDuration: 0 }); await page.getByRole('button', { name: 'Close modal', exact: true }).click(); await expect(button).toHaveAttribute('data-native-ui-shell', ''); @@ -992,7 +1058,7 @@ test('modal suspension, tab hiding and destroy restore ownership', async ({ page await expect(tabs).not.toHaveAttribute('data-native-ui-shell'); await tabs.evaluate((element) => element.style.removeProperty('display')); await expect(tabs).toHaveAttribute('data-native-ui-shell', ''); - await page.evaluate(() => (window as any).nativeUIShell.destroy()); + await page.evaluate(() => (document.querySelector('ion-app') as TestAppElement).nativeUIShell!.destroy()); await expect(page.locator('[data-native-ui-shell]')).toHaveCount(0); await page.getByRole('button', { name: 'Save', exact: true }).click(); await expect(page.locator('[data-save-count]')).toHaveText('1'); @@ -1003,7 +1069,7 @@ test('delayed response cannot reclaim a hidden source', async ({ page }) => { await page.goto('/main/index/native-ui-shell'); const button = page.locator('app-native-ui-shell ion-button[type=submit]'); await expect(button).toHaveAttribute('data-native-ui-shell', ''); - await page.evaluate(() => ((window as any).__nativeUIShell.delay = 150)); + await page.evaluate(() => (Capacitor.registerPlugin('IonicNativeUIShell').delay = 150)); await button.evaluate((element) => (element.querySelector('[data-label]')!.textContent = '変更')); await page.getByRole('button', { name: 'Parent hidden: false', exact: true }).click(); await expect(button).not.toHaveAttribute('data-native-ui-shell'); @@ -1012,9 +1078,9 @@ test('delayed response cannot reclaim a hidden source', async ({ page }) => { await expect .poll(() => page.evaluate(() => - (window as any).__nativeUIShell.updates - .at(-1) - .controls.some((control: any) => control.items.some((item: any) => item.label === '変更')), + Capacitor.registerPlugin('IonicNativeUIShell') + .updates.at(-1)! + .controls.some((control: ShellControl) => control.items.some((item: ShellItem) => item.label === '変更')), ), ) .toBe(false); @@ -1027,23 +1093,33 @@ test('native refresh during a pending acknowledgement resends unchanged controls await page.locator('ion-tab-bar').evaluate((element) => element.remove()); await expect(page.locator('app-native-ui-shell ion-button[type=submit]')).toHaveAttribute('data-native-ui-shell', ''); await expect - .poll(() => page.evaluate(() => (window as any).__nativeUIShell.updates.at(-1).controls.some((c: any) => c.kind === 'ion-tab-bar'))) + .poll(() => + page.evaluate(() => + Capacitor.registerPlugin('IonicNativeUIShell') + .updates.at(-1)! + .controls.some((c: ShellControl) => c.kind === 'ion-tab-bar'), + ), + ) .toBe(false); const revision = await page.evaluate(() => { - const state = (window as any).__nativeUIShell; + const state = Capacitor.registerPlugin('IonicNativeUIShell'); state.delay = 500; window.dispatchEvent(new Event('nativeUIShellRefresh')); - return state.updates.at(-1).revision; + return state.updates.at(-1)!.revision; }); - await expect.poll(() => page.evaluate(() => (window as any).__nativeUIShell.updates.at(-1).revision)).toBeGreaterThan(revision); + await expect + .poll(() => page.evaluate(() => Capacitor.registerPlugin('IonicNativeUIShell').updates.at(-1)!.revision)) + .toBeGreaterThan(revision); const pending = await page.evaluate(() => { - const state = (window as any).__nativeUIShell; - const snapshot = state.updates.at(-1); + const state = Capacitor.registerPlugin('IonicNativeUIShell'); + const snapshot = state.updates.at(-1)!; window.dispatchEvent(new Event('nativeUIShellRefresh')); return snapshot; }); - await expect.poll(() => page.evaluate(() => (window as any).__nativeUIShell.updates.at(-1).revision)).toBeGreaterThan(pending.revision); - const refreshed = await page.evaluate(() => (window as any).__nativeUIShell.updates.at(-1)); + await expect + .poll(() => page.evaluate(() => Capacitor.registerPlugin('IonicNativeUIShell').updates.at(-1)!.revision)) + .toBeGreaterThan(pending.revision); + const refreshed = await page.evaluate(() => Capacitor.registerPlugin('IonicNativeUIShell').updates.at(-1)!); expect(refreshed.controls).toEqual(pending.controls); await expect(page.locator('app-native-ui-shell ion-button[type=submit]')).toHaveAttribute('data-native-ui-shell', ''); }); @@ -1051,7 +1127,9 @@ test('native refresh during a pending acknowledgement resends unchanged controls test('native failure leaves Web form usable', async ({ page }) => { await mockNative(page, true); await page.goto('/main/index/native-ui-shell'); - await expect.poll(() => page.evaluate(() => (window as any).nativeUIShell?.getStatus().state)).toBe('stopped'); + await expect + .poll(() => page.evaluate(() => (document.querySelector('ion-app') as TestAppElement).nativeUIShell?.getStatus().state)) + .toBe('web'); await page.getByRole('button', { name: 'Save', exact: true }).click(); await expect(page.locator('[data-save-count]')).toHaveText('1'); }); @@ -1073,19 +1151,21 @@ test('100 hide/show cycles leave stable ownership and destroy stops updates', as await page.goto('/main/index/native-ui-shell'); const button = page.locator('app-native-ui-shell ion-button[type=submit]'); await expect(button).toHaveAttribute('data-native-ui-shell', ''); - const initial = await page.evaluate(() => (window as any).nativeUIShell.getStatus().projected); + const initial = await page.evaluate(() => (document.querySelector('ion-app') as TestAppElement).nativeUIShell!.getStatus().projected); for (let index = 0; index < 100; index++) { await button.evaluate((element) => (element.parentElement!.hidden = true)); await expect(button).not.toHaveAttribute('data-native-ui-shell'); await button.evaluate((element) => (element.parentElement!.hidden = false)); await expect(button).toHaveAttribute('data-native-ui-shell', ''); } - expect(await page.evaluate(() => (window as any).nativeUIShell.getStatus().projected)).toBe(initial); - await page.evaluate(() => (window as any).nativeUIShell.destroy()); - const updates = await page.evaluate(() => (window as any).__nativeUIShell.updates.length); + expect(await page.evaluate(() => (document.querySelector('ion-app') as TestAppElement).nativeUIShell!.getStatus().projected)).toBe( + initial, + ); + await page.evaluate(() => (document.querySelector('ion-app') as TestAppElement).nativeUIShell!.destroy()); + const updates = await page.evaluate(() => Capacitor.registerPlugin('IonicNativeUIShell').updates.length); await button.evaluate((element) => element.setAttribute('fill', 'clear')); await page.waitForTimeout(300); - expect(await page.evaluate(() => (window as any).__nativeUIShell.updates.length)).toBe(updates); + expect(await page.evaluate(() => Capacitor.registerPlugin('IonicNativeUIShell').updates.length)).toBe(updates); await expect(page.locator('[data-native-ui-shell]')).toHaveCount(0); }); @@ -1096,8 +1176,10 @@ test('ion-icon SVGs project and update when their name changes', async ({ page } await expect(button).toHaveAttribute('data-native-ui-shell', ''); const nativeIcon = () => button.evaluate(() => { - const snapshot = (window as any).__nativeUIShell.updates.at(-1); - return snapshot.controls.flatMap((control: any) => control.items).find((item: any) => item.accessibilityLabel === 'Save')?.icon; + const snapshot = Capacitor.registerPlugin('IonicNativeUIShell').updates.at(-1)!; + return snapshot.controls + .flatMap((control: ShellControl) => control.items) + .find((item: ShellItem) => item.accessibilityLabel === 'Save')?.icon; }); await expect.poll(nativeIcon).toMatch(/^iVBOR/); const original = await nativeIcon(); @@ -1116,23 +1198,27 @@ test('clear ion-buttons share one glass surface and keep independent actions', a const github = group.locator('ion-button').nth(0); const refresh = group.locator('ion-button').nth(1); const projectedGroup = () => - page.evaluate(() => - (window as any).__nativeUIShell.updates - .at(-1) - .controls.find( - (control: any) => control.kind === 'ion-buttons' && control.items.some((item: any) => item.accessibilityLabel === 'GitHub'), - ), + page.evaluate( + () => + Capacitor.registerPlugin('IonicNativeUIShell') + .updates.at(-1)! + .controls.find( + (control: ShellControl) => + control.kind === 'ion-buttons' && control.items.some((item: ShellItem) => item.accessibilityLabel === 'GitHub'), + )!, ); await expect(group).toHaveAttribute('data-native-ui-shell', ''); await expect(group.locator('[data-native-ui-shell]')).toHaveCount(0); await expect(github.locator('button')).toHaveCSS('visibility', 'hidden'); const native = await projectedGroup(); expect(native.items).toHaveLength(2); - expect(native.items.map((item: any) => item.accessibilityLabel)).toEqual(['GitHub', 'Refresh']); + expect(native.items.map((item: ShellItem) => item.accessibilityLabel)).toEqual(['GitHub', 'Refresh']); const githubName = () => page.evaluate( (id) => - (window as any).__nativeUIShell.updates.at(-1).controls.find((control: any) => control.id === id)?.items[0]?.accessibilityLabel, + Capacitor.registerPlugin('IonicNativeUIShell') + .updates.at(-1)! + .controls.find((control: ShellControl) => control.id === id)?.items[0]?.accessibilityLabel, native.id, ); await github.locator('ion-icon').evaluate((icon) => icon.setAttribute('aria-hidden', 'true')); @@ -1195,11 +1281,12 @@ test('theme-disabled ion-buttons project eligible buttons independently', async await expect .poll(() => page.evaluate(() => { - const controls = (window as any).__nativeUIShell.updates.at(-1)?.controls ?? []; - const isDemoAction = (control: any) => control.items.some((item: any) => ['GitHub', 'Refresh'].includes(item.accessibilityLabel)); + const controls = Capacitor.registerPlugin('IonicNativeUIShell').updates.at(-1)?.controls ?? []; + const isDemoAction = (control: ShellControl) => + control.items.some((item: ShellItem) => ['GitHub', 'Refresh'].includes(item.accessibilityLabel)); return { - buttons: controls.filter((control: any) => control.kind === 'ion-button' && isDemoAction(control)).length, - groups: controls.filter((control: any) => control.kind === 'ion-buttons' && isDemoAction(control)).length, + buttons: controls.filter((control: ShellControl) => control.kind === 'ion-button' && isDemoAction(control)).length, + groups: controls.filter((control: ShellControl) => control.kind === 'ion-buttons' && isDemoAction(control)).length, }; }), ) @@ -1234,11 +1321,12 @@ test('all demo pages keep projection consistent through consecutive navigation', await expect .poll(() => page.evaluate(() => { - const status = (window as any).nativeUIShell.getStatus(); - const snapshot = (window as any).__nativeUIShell.updates.at(-1); + const status = (document.querySelector('ion-app') as TestAppElement).nativeUIShell!.getStatus(); + const snapshot = Capacitor.registerPlugin('IonicNativeUIShell').updates.at(-1)!; return ( status.state !== 'stopped' && - status.projected === snapshot?.controls.reduce((count: number, control: any) => count + (control.search?.available ? 3 : 1), 0) + status.projected === + snapshot?.controls.reduce((count: number, control: ShellControl) => count + (control.search?.available ? 3 : 1), 0) ); }), ) @@ -1262,7 +1350,9 @@ test('all demo pages keep projection consistent through consecutive navigation', const back = async () => { await settled(); const hasNativeBack = await page.evaluate(() => - (window as any).__nativeUIShell.updates.at(-1).controls.some((control: any) => control.kind === 'ion-back-button'), + Capacitor.registerPlugin('IonicNativeUIShell') + .updates.at(-1)! + .controls.some((control: ShellControl) => control.kind === 'ion-back-button'), ); if (hasNativeBack) await activate(page, 'back'); else @@ -1340,7 +1430,9 @@ test('demo overlay variants retire native controls and restore them after dismis await expect(page.locator('[data-native-ui-shell]')).toHaveCount(0); await overlay.evaluate((element: HTMLElement & { dismiss(): Promise }) => element.dismiss()); await expect(page.locator('ion-tab-bar')).toHaveAttribute('data-native-ui-shell', ''); - expect(await page.evaluate(() => (window as any).nativeUIShell.getStatus().state)).not.toBe('stopped'); + expect(await page.evaluate(() => (document.querySelector('ion-app') as TestAppElement).nativeUIShell!.getStatus().state)).not.toBe( + 'stopped', + ); }); } } @@ -1354,7 +1446,7 @@ test('shared tabs stay native throughout navigation and delayed page updates', a const tabs = page.locator('ion-tab-bar'); await expect(tabs).toHaveAttribute('data-native-ui-shell', ''); await tabs.evaluate((element) => { - const state = (window as any).__nativeUIShell; + const state = Capacitor.registerPlugin('IonicNativeUIShell'); state.updates = []; state.delay = 100; state.tabRetirements = 0; @@ -1374,9 +1466,9 @@ test('shared tabs stay native throughout navigation and delayed page updates', a await expect .poll(() => page.evaluate(() => - (window as any).__nativeUIShell.updates - .at(-1) - ?.controls.some((control: any) => control.items.some((item: any) => item.label === 'Index pending')), + Capacitor.registerPlugin('IonicNativeUIShell') + .updates.at(-1)! + ?.controls.some((control: ShellControl) => control.items.some((item: ShellItem) => item.label === 'Index pending')), ), ) .toBe(true); @@ -1396,9 +1488,9 @@ test('shared tabs stay native throughout navigation and delayed page updates', a await expect .poll(() => page.evaluate(() => - (window as any).__nativeUIShell.updates - .at(-1) - .controls.some((control: any) => control.items.some((item: any) => item.label === '更新中')), + Capacitor.registerPlugin('IonicNativeUIShell') + .updates.at(-1)! + .controls.some((control: ShellControl) => control.items.some((item: ShellItem) => item.label === '更新中')), ), ) .toBe(true); @@ -1414,10 +1506,10 @@ test('shared tabs stay native throughout navigation and delayed page updates', a } await page.waitForTimeout(300); const state = await page.evaluate(() => ({ - retirements: (window as any).__nativeUIShell.tabRetirements, - details: (window as any).__nativeUIShell.retirementDetails, - ids: (window as any).__nativeUIShell.updates.map( - (snapshot: any) => snapshot.controls.find((control: any) => control.kind === 'ion-tab-bar')?.id, + retirements: Capacitor.registerPlugin('IonicNativeUIShell').tabRetirements, + details: Capacitor.registerPlugin('IonicNativeUIShell').retirementDetails, + ids: Capacitor.registerPlugin('IonicNativeUIShell').updates.map( + (snapshot: ShellSnapshot) => snapshot.controls.find((control: ShellControl) => control.kind === 'ion-tab-bar')?.id, ), })); expect(state.retirements, JSON.stringify(state.details)).toBe(0); @@ -1436,7 +1528,7 @@ test('native tabs carry position anchors for both slots and text directions', as for (const position of ['start', 'center', 'end']) { await tabs.evaluate( (element, state) => { - element.dir = state.direction; + (element as HTMLElement).dir = state.direction; element.slot = state.slot; element.classList.remove('tab-bar-position-start', 'tab-bar-position-center', 'tab-bar-position-end'); element.classList.add(`tab-bar-position-${state.position}`); @@ -1448,13 +1540,17 @@ test('native tabs carry position anchors for both slots and text directions', as .poll(() => page.evaluate( () => - (window as any).__nativeUIShell.updates.at(-1)?.controls.find((control: any) => control.kind === 'ion-tab-bar') - ?.tabBarAnchor, + Capacitor.registerPlugin('IonicNativeUIShell') + .updates.at(-1) + ?.controls.find((control: ShellControl) => control.kind === 'ion-tab-bar')?.tabBarAnchor, ), ) .toEqual({ x, y: slot === 'bottom' ? 1 : 0 }); - const native = await page.evaluate(() => - (window as any).__nativeUIShell.updates.at(-1).controls.find((control: any) => control.kind === 'ion-tab-bar'), + const native = await page.evaluate( + () => + Capacitor.registerPlugin('IonicNativeUIShell') + .updates.at(-1)! + .controls.find((control: ShellControl) => control.kind === 'ion-tab-bar')!, ); const dom = await tabs.boundingBox(); expect(native.x).toBeCloseTo(dom!.x, 1); @@ -1471,9 +1567,12 @@ test('tab icons use selection tint only for text-colored SVGs', async ({ page }) await expect(tabs).toHaveAttribute('data-native-ui-shell', ''); const items = () => page.evaluate( - () => (window as any).__nativeUIShell.updates.at(-1)?.controls.find((control: any) => control.kind === 'ion-tab-bar')?.items, + () => + Capacitor.registerPlugin('IonicNativeUIShell') + .updates.at(-1) + ?.controls.find((control: ShellControl) => control.kind === 'ion-tab-bar')?.items, ); - await expect.poll(async () => (await items())?.every((item: any) => item.iconTemplate)).toBe(true); + await expect.poll(async () => (await items())?.every((item: ShellItem) => item.iconTemplate)).toBe(true); await tabs .locator('ion-icon') .first() @@ -1482,7 +1581,7 @@ test('tab icons use selection tint only for text-colored SVGs', async ({ page }) ''; }); await expect.poll(async () => (await items())?.[0]?.iconTemplate).toBe(false); - expect((await items()).slice(1).every((item: any) => item.iconTemplate)).toBe(true); + expect((await items())!.slice(1).every((item: ShellItem) => item.iconTemplate)).toBe(true); }); test('menu button toggles its Ionic menu and follows autoHide, disabled and split pane', async ({ page }) => { @@ -1498,8 +1597,9 @@ test('menu button toggles its Ionic menu and follows autoHide, disabled and spli .poll(() => page.evaluate( () => - (window as any).__nativeUIShell.updates.at(-1).controls.find((c: any) => c.kind === 'ion-menu-button')?.items[0].icon?.length ?? - 0, + Capacitor.registerPlugin('IonicNativeUIShell') + .updates.at(-1)! + .controls.find((c: ShellControl) => c.kind === 'ion-menu-button')?.items[0].icon?.length ?? 0, ), ) .toBeGreaterThan(0); @@ -1523,7 +1623,10 @@ test('menu button toggles its Ionic menu and follows autoHide, disabled and spli await expect .poll(() => page.evaluate( - () => (window as any).__nativeUIShell.updates.at(-1).controls.find((c: any) => c.kind === 'ion-menu-button')?.items[0].disabled, + () => + Capacitor.registerPlugin('IonicNativeUIShell') + .updates.at(-1)! + .controls.find((c: ShellControl) => c.kind === 'ion-menu-button')?.items[0].disabled, ), ) .toBe(true); @@ -1567,7 +1670,10 @@ test('menu button projects slot icons and shared glass, restoring excluded surfa const surface = button.locator('..'); await expect(surface).toHaveAttribute('data-native-ui-shell', ''); const original = await page.evaluate( - () => (window as any).__nativeUIShell.updates.at(-1).controls.find((c: any) => c.kind === 'ion-menu-button').items[0].icon, + () => + Capacitor.registerPlugin('IonicNativeUIShell') + .updates.at(-1)! + .controls.find((c: ShellControl) => c.kind === 'ion-menu-button')!.items[0].icon, ); await button.evaluate((element) => { element.innerHTML = ''; @@ -1575,7 +1681,10 @@ test('menu button projects slot icons and shared glass, restoring excluded surfa await expect .poll(() => page.evaluate( - () => (window as any).__nativeUIShell.updates.at(-1).controls.find((c: any) => c.kind === 'ion-menu-button')?.items[0].icon, + () => + Capacitor.registerPlugin('IonicNativeUIShell') + .updates.at(-1)! + .controls.find((c: ShellControl) => c.kind === 'ion-menu-button')?.items[0].icon, ), ) .not.toBe(original); @@ -1585,7 +1694,7 @@ test('menu button projects slot icons and shared glass, restoring excluded surfa extra.fill = 'clear'; extra.textContent = 'Extra'; extra.addEventListener('click', () => { - (window as any).__menuExtra = true; + (document.querySelector('ion-app') as TestAppElement).menuExtra = true; }); element.append(extra); }); @@ -1593,14 +1702,15 @@ test('menu button projects slot icons and shared glass, restoring excluded surfa .poll(() => page.evaluate( () => - (window as any).__nativeUIShell.updates - .at(-1) - .controls.find((c: any) => c.kind === 'ion-buttons' && c.items.some((i: any) => i.label === 'Extra'))?.items.length, + Capacitor.registerPlugin('IonicNativeUIShell') + .updates.at(-1)! + .controls.find((c: ShellControl) => c.kind === 'ion-buttons' && c.items.some((i: ShellItem) => i.label === 'Extra'))?.items + .length, ), ) .toBe(2); await activate(page, 'Extra'); - await expect.poll(() => page.evaluate(() => (window as any).__menuExtra)).toBe(true); + await expect.poll(() => page.evaluate(() => (document.querySelector('ion-app') as TestAppElement).menuExtra)).toBe(true); await activate(page, 'menu'); await expect(page.locator('ion-menu')).toHaveClass(/show-menu/); await expect.poll(() => page.locator('ion-menu').evaluate((element: HTMLIonMenuElement) => element.isOpen())).toBe(true); @@ -1644,39 +1754,45 @@ test('replacing a projected searchbar retires old input and binds the new field' await page.goto('/main/album'); const footer = page.locator('app-album-page ion-footer'); const bar = footer.locator('ion-searchbar'); - const config = () => page.evaluate(() => (window as any).__nativeUIShell.updates.at(-1).controls.find((c: any) => c.search)?.search); + const config = () => + page.evaluate( + () => + Capacitor.registerPlugin('IonicNativeUIShell') + .updates.at(-1)! + .controls.find((c: ShellControl) => c.search)?.search, + ); await expect(footer).toHaveAttribute('data-native-ui-shell', ''); await bar.evaluate((element: HTMLIonSearchbarElement) => element.setFocus()); await expect.poll(async () => (await config())?.active).toBe(true); const previous = await config(); await bar.evaluate((old: HTMLIonSearchbarElement) => { - const state = (window as any).__nativeUIShell; - const snapshot = state.updates.at(-1); - const search = snapshot.controls.find((c: any) => c.search).search; + const state = Capacitor.registerPlugin('IonicNativeUIShell'); + const snapshot = state.updates.at(-1)!; + const search = snapshot.controls.find((c: ShellControl) => c.search)!.search!; const event = { id: search.id, revision: snapshot.revision, valueVersion: search.valueVersion, phase: 'input', composing: false }; - state.search({ ...event, value: 'old field', sequence: ++state.sequence }); + state.notifyListeners('search', { ...event, value: 'old field', sequence: ++state.sequence }); const replacement = document.createElement('ion-searchbar'); for (const attribute of old.attributes) replacement.setAttribute(attribute.name, attribute.value); replacement.value = 'application initial value'; - (window as any).__retiredSearchbar = old; + (document.querySelector('ion-app') as TestAppElement).retiredSearchbar = old; old.replaceWith(replacement); // Arrive before the observer can retire the old state: DOM identity must reject it. - state.search({ ...event, value: 'stale input', sequence: ++state.sequence }); + state.notifyListeners('search', { ...event, value: 'stale input', sequence: ++state.sequence }); }); - expect(await page.evaluate(() => (window as any).__retiredSearchbar.value)).toBe('old field'); + expect(await page.evaluate(() => (document.querySelector('ion-app') as TestAppElement).retiredSearchbar!.value)).toBe('old field'); await expect .poll(async () => { const current = await config(); - return !!current && current.id !== previous.id && !current.active && current.value === 'application initial value'; + return !!current && current.id !== previous!.id && !current.active && current.value === 'application initial value'; }) .toBe(true); await bar.evaluate((element: HTMLIonSearchbarElement) => element.setFocus()); await expect.poll(async () => (await config())?.focused).toBe(true); await page.evaluate(() => { - const state = (window as any).__nativeUIShell; - const snapshot = state.updates.at(-1); - const search = snapshot.controls.find((c: any) => c.search).search; - state.search({ + const state = Capacitor.registerPlugin('IonicNativeUIShell'); + const snapshot = state.updates.at(-1)!; + const search = snapshot.controls.find((c: ShellControl) => c.search)!.search!; + state.notifyListeners('search', { id: search.id, revision: snapshot.revision, valueVersion: search.valueVersion, @@ -1692,7 +1808,7 @@ test('replacing a projected searchbar retires old input and binds the new field' await expect .poll(async () => { const current = await config(); - return !!current && current.id !== session.id && !current.active && current.value === 'replacement input'; + return !!current && current.id !== session!.id && !current.active && current.value === 'replacement input'; }) .toBe(true); }); @@ -1704,15 +1820,21 @@ test('native search compensates keyboard tab hiding while respecting application await page.goto('/main/album'); const footer = page.locator('app-album-page ion-footer'); const tabBar = page.locator('ion-tab-bar'); - const config = () => page.evaluate(() => (window as any).__nativeUIShell.updates.at(-1).controls.find((c: any) => c.search)?.search); + const config = () => + page.evaluate( + () => + Capacitor.registerPlugin('IonicNativeUIShell') + .updates.at(-1)! + .controls.find((c: ShellControl) => c.search)?.search, + ); await page.addStyleTag({ content: 'ion-tab-bar.application-hidden { display: none !important; }' }); for (const mode of ['inline', 'class']) { await expect(footer).toHaveAttribute('data-native-ui-shell', ''); await page.evaluate(() => { - const state = (window as any).__nativeUIShell; - const snapshot = state.updates.at(-1); - state.activate({ - id: snapshot.controls.find((c: any) => c.search).search.trigger.id, + const state = Capacitor.registerPlugin('IonicNativeUIShell'); + const snapshot = state.updates.at(-1)!; + state.notifyListeners('activate', { + id: snapshot.controls.find((c: ShellControl) => c.search)!.search!.trigger.id, revision: snapshot.revision, sequence: ++state.sequence, }); @@ -1726,10 +1848,10 @@ test('native search compensates keyboard tab hiding while respecting application await expect(tabBar).not.toHaveClass(/tab-bar-hidden/); await expect(footer).toHaveAttribute('data-native-ui-shell', ''); await page.evaluate(() => { - const state = (window as any).__nativeUIShell; - const snapshot = state.updates.at(-1); - const search = snapshot.controls.find((c: any) => c.search).search; - state.search({ + const state = Capacitor.registerPlugin('IonicNativeUIShell'); + const snapshot = state.updates.at(-1)!; + const search = snapshot.controls.find((c: ShellControl) => c.search)!.search!; + state.notifyListeners('search', { id: search.id, revision: snapshot.revision, valueVersion: search.valueVersion, @@ -1765,34 +1887,46 @@ test('search group keeps its covers, forwards Ionic events and preserves text on await page.goto('/main/album'); const footer = page.locator('app-album-page ion-footer'); await expect(footer).toHaveAttribute('data-native-ui-shell', ''); - const config = () => page.evaluate(() => (window as any).__nativeUIShell.updates.at(-1).controls.find((c: any) => c.search)?.search); - expect((await config()).active).toBe(false); + const config = () => + page.evaluate( + () => + Capacitor.registerPlugin('IonicNativeUIShell') + .updates.at(-1)! + .controls.find((c: ShellControl) => c.search)?.search, + ); + expect((await config())?.active).toBe(false); await footer.evaluate((element) => { const bar = element.querySelector('ion-searchbar')!; - (window as any).__searchEvents = []; + (document.querySelector('ion-app') as TestAppElement).searchEvents = []; for (const name of ['ionFocus', 'ionInput', 'ionBlur', 'ionChange', 'ionClear', 'ionCancel']) { - bar.addEventListener(name, (event: any) => (window as any).__searchEvents.push([name, event.detail?.value])); + bar.addEventListener(name, (event: Event) => + (document.querySelector('ion-app') as TestAppElement).searchEvents!.push([name, (event as CustomEvent).detail?.value]), + ); } }); const action = async (close = false) => page.evaluate((close) => { - const state = (window as any).__nativeUIShell; - const snapshot = state.updates.at(-1); - const search = snapshot.controls.find((c: any) => c.search).search; - state.activate({ id: close ? search.closeId : search.trigger.id, revision: snapshot.revision, sequence: ++state.sequence }); + const state = Capacitor.registerPlugin('IonicNativeUIShell'); + const snapshot = state.updates.at(-1)!; + const search = snapshot.controls.find((c: ShellControl) => c.search)!.search!; + state.notifyListeners('activate', { + id: close ? search.closeId : search.trigger.id, + revision: snapshot.revision, + sequence: ++state.sequence, + }); }, close); await action(); - await expect.poll(async () => (await config()).active).toBe(true); + await expect.poll(async () => (await config())?.active).toBe(true); await expect(footer).toHaveAttribute('data-native-ui-shell', ''); expect(page.url()).toContain('/main/album'); const nativeEvent = async (phase: string, value: string, composing = false) => page.evaluate( ({ phase, value, composing }) => { - const state = (window as any).__nativeUIShell; - const snapshot = state.updates.at(-1); - state.search({ - id: snapshot.controls.find((c: any) => c.search).search.id, - valueVersion: snapshot.controls.find((c: any) => c.search).search.valueVersion, + const state = Capacitor.registerPlugin('IonicNativeUIShell'); + const snapshot = state.updates.at(-1)!; + state.notifyListeners('search', { + id: snapshot.controls.find((c: ShellControl) => c.search)!.search!.id, + valueVersion: snapshot.controls.find((c: ShellControl) => c.search)!.search!.valueVersion, revision: snapshot.revision, sequence: ++state.sequence, phase, @@ -1808,9 +1942,9 @@ test('search group keeps its covers, forwards Ionic events and preserves text on await nativeEvent('input', '日本', false); await expect(footer.locator('ion-searchbar')).toHaveJSProperty('value', '日本'); await action(true); - await expect.poll(async () => (await config()).active).toBe(false); + await expect.poll(async () => (await config())?.active).toBe(false); await expect(footer).toHaveAttribute('data-native-ui-shell', ''); - expect(await page.evaluate(() => (window as any).__searchEvents.map((e: any) => e[0]))).toEqual([ + expect(await page.evaluate(() => (document.querySelector('ion-app') as TestAppElement).searchEvents!.map((e) => e[0]))).toEqual([ 'ionFocus', 'ionInput', 'ionInput', @@ -1818,16 +1952,20 @@ test('search group keeps its covers, forwards Ionic events and preserves text on 'ionChange', ]); await action(); - await expect.poll(async () => (await config()).active).toBe(true); - expect((await config()).value).toBe('日本'); + await expect.poll(async () => (await config())?.active).toBe(true); + expect((await config())?.value).toBe('日本'); await footer.locator('ion-searchbar').evaluate((bar: HTMLIonSearchbarElement) => { bar.value = 'external'; }); - await expect.poll(async () => (await config()).value).toBe('external'); + await expect.poll(async () => (await config())?.value).toBe('external'); await nativeEvent('focus', 'external'); await nativeEvent('clear', 'external'); - await expect.poll(async () => (await config()).value).toBe(''); - expect(await page.evaluate(() => (window as any).__searchEvents.filter((e: any) => e[0] === 'ionClear').length)).toBe(1); + await expect.poll(async () => (await config())?.value).toBe(''); + expect( + await page.evaluate( + () => (document.querySelector('ion-app') as TestAppElement).searchEvents!.filter((e) => e[0] === 'ionClear').length, + ), + ).toBe(1); }); test('search retirement keeps the value, rejects late input and allows a fresh Web session', async ({ page }) => { @@ -1839,7 +1977,14 @@ test('search retirement keeps the value, rejects late input and allows a fresh W await expect(footer).toHaveAttribute('data-native-ui-shell', ''); await page.locator('app-album-page ion-fab-button').evaluate((button: HTMLElement) => button.click()); await expect - .poll(() => page.evaluate(() => (window as any).__nativeUIShell.updates.at(-1).controls.find((c: any) => c.search)?.search.active)) + .poll(() => + page.evaluate( + () => + Capacitor.registerPlugin('IonicNativeUIShell') + .updates.at(-1)! + .controls.find((c: ShellControl) => c.search)?.search?.active, + ), + ) .toBe(true); await footer.locator('ion-searchbar').evaluate((bar: HTMLIonSearchbarElement) => { bar.value = 'retained'; @@ -1847,11 +1992,11 @@ test('search retirement keeps the value, rejects late input and allows a fresh W await footer.evaluate((element) => element.classList.add('ionic-theme-disabled')); await expect(footer).not.toHaveAttribute('data-native-ui-shell'); await page.evaluate(() => { - const state = (window as any).__nativeUIShell; - const snapshot = state.updates.findLast((s: any) => s.controls.some((c: any) => c.search?.active)); - state.search({ - id: snapshot.controls.find((c: any) => c.search).search.id, - valueVersion: snapshot.controls.find((c: any) => c.search).search.valueVersion, + const state = Capacitor.registerPlugin('IonicNativeUIShell'); + const snapshot = state.updates.findLast((s: ShellSnapshot) => s.controls.some((c: ShellControl) => c.search?.active))!; + state.notifyListeners('search', { + id: snapshot.controls.find((c: ShellControl) => c.search)!.search!.id, + valueVersion: snapshot.controls.find((c: ShellControl) => c.search)!.search!.valueVersion, revision: snapshot.revision, sequence: ++state.sequence, phase: 'input', @@ -1870,7 +2015,14 @@ test('search retirement keeps the value, rejects late input and allows a fresh W await footer.evaluate((element) => element.classList.remove('ionic-theme-disabled')); await expect(footer).toHaveAttribute('data-native-ui-shell', ''); await expect - .poll(() => page.evaluate(() => (window as any).__nativeUIShell.updates.at(-1).controls.find((c: any) => c.search)?.search.active)) + .poll(() => + page.evaluate( + () => + Capacitor.registerPlugin('IonicNativeUIShell') + .updates.at(-1)! + .controls.find((c: ShellControl) => c.search)?.search?.active, + ), + ) .toBe(false); expect(errors).toEqual([]); }); @@ -1920,13 +2072,20 @@ test('a Leave sent before native Enter completes remains the final state', async const errors: string[] = []; page.on('pageerror', (error) => errors.push(error.message)); await page.evaluate(() => { - (window as any).__nativeUIShell.delay = 200; + Capacitor.registerPlugin('IonicNativeUIShell').delay = 200; (document.querySelector('app-album-page ion-fab-button') as HTMLElement).click(); (document.querySelector('app-album-page ion-footer ion-button') as HTMLElement).click(); }); await page.waitForTimeout(600); await expect - .poll(() => page.evaluate(() => (window as any).__nativeUIShell.updates.at(-1).controls.find((c: any) => c.search)?.search.active)) + .poll(() => + page.evaluate( + () => + Capacitor.registerPlugin('IonicNativeUIShell') + .updates.at(-1)! + .controls.find((c: ShellControl) => c.search)?.search?.active, + ), + ) .toBe(false); await expect(footer).toHaveAttribute('data-native-ui-shell', ''); expect(errors).toEqual([]); @@ -1941,14 +2100,21 @@ test('app normalization wins over old native input while blur still terminates f await expect(footer).toHaveAttribute('data-native-ui-shell', ''); await page.locator('app-album-page ion-fab-button').evaluate((button: HTMLElement) => button.click()); await expect - .poll(() => page.evaluate(() => (window as any).__nativeUIShell.updates.at(-1).controls.find((c: any) => c.search)?.search.active)) + .poll(() => + page.evaluate( + () => + Capacitor.registerPlugin('IonicNativeUIShell') + .updates.at(-1)! + .controls.find((c: ShellControl) => c.search)?.search?.active, + ), + ) .toBe(true); await footer.locator('ion-searchbar').evaluate((bar: HTMLIonSearchbarElement) => { - const state = (window as any).__nativeUIShell; - const snapshot = state.updates.at(-1); - const search = snapshot.controls.find((c: any) => c.search).search; + const state = Capacitor.registerPlugin('IonicNativeUIShell'); + const snapshot = state.updates.at(-1)!; + const search = snapshot.controls.find((c: ShellControl) => c.search)!.search!; const emit = (phase: string, value: string) => - state.search({ + state.notifyListeners('search', { id: search.id, revision: snapshot.revision, sequence: ++state.sequence, @@ -1971,7 +2137,14 @@ test('app normalization wins over old native input while blur still terminates f }); await expect(footer.locator('ion-searchbar')).toHaveJSProperty('value', 'NORMALIZED'); await expect - .poll(() => page.evaluate(() => (window as any).__nativeUIShell.updates.at(-1).controls.find((c: any) => c.search)?.search.focused)) + .poll(() => + page.evaluate( + () => + Capacitor.registerPlugin('IonicNativeUIShell') + .updates.at(-1)! + .controls.find((c: ShellControl) => c.search)?.search?.focused, + ), + ) .toBe(false); }); @@ -1985,13 +2158,13 @@ test('a lost search bridge releases Enter and keeps the current value in Web', a await page.evaluate(() => { const page = document.querySelector('app-album-page')!; (page.querySelector('ion-searchbar') as HTMLIonSearchbarElement).value = 'bridge retained'; - (window as any).__nativeUIShell.hang = true; + Capacitor.registerPlugin('IonicNativeUIShell').hang = true; (page.querySelector('ion-fab-button') as HTMLElement).click(); }); await expect(footer).not.toHaveAttribute('data-native-ui-shell', { timeout: 10000 }); await expect(footer).toHaveCSS('opacity', '1'); await expect(footer.locator('ion-searchbar')).toHaveJSProperty('value', 'bridge retained'); - expect(await page.evaluate(() => (window as any).nativeUIShell.getStatus().state)).toBe('stopped'); + expect(await page.evaluate(() => (document.querySelector('ion-app') as TestAppElement).nativeUIShell!.getStatus().state)).toBe('web'); await footer.locator('ion-button').click(); await expect(footer).toHaveCSS('opacity', '0'); }); @@ -2002,15 +2175,17 @@ test('a retained FAB accepts a second click while its current native update awai const fab = page.locator('ion-fab[horizontal=center]'); await expect(fab).toHaveAttribute('data-native-ui-shell', ''); await page.evaluate(() => { - (window as any).__nativeUIShell.delay = 500; + Capacitor.registerPlugin('IonicNativeUIShell').delay = 500; }); await activate(page, 'Center FAB actions'); await expect .poll(() => page.evaluate(() => - (window as any).__nativeUIShell.updates - .at(-1) - .controls.some((c: any) => c.kind === 'ion-fab' && c.items.length === 7 && c.items.filter((i: any) => i.visible).length > 1), + Capacitor.registerPlugin('IonicNativeUIShell') + .updates.at(-1)! + .controls.some( + (c: ShellControl) => c.kind === 'ion-fab' && c.items.length === 7 && c.items.filter((i: ShellItem) => i.visible).length > 1, + ), ), ) .toBe(true); @@ -2031,23 +2206,23 @@ test('FAB keeps its cover while Stencil show and the rendered host class catch u // Hold the real Stencil intermediate state long enough to exercise a bridge update. Object.defineProperty(child, 'show', { configurable: true, get: () => true }); child.classList.remove('fab-button-show'); - (window as any).__fabRetired = false; + (document.querySelector('ion-app') as TestAppElement).fabRetired = false; element.addEventListener('nativeUIShellChange', () => { - if (!element.hasAttribute('data-native-ui-shell')) (window as any).__fabRetired = true; + if (!element.hasAttribute('data-native-ui-shell')) (document.querySelector('ion-app') as TestAppElement).fabRetired = true; }); }); await expect .poll(() => page.evaluate(() => - (window as any).__nativeUIShell.updates - .at(-1) - .controls.some((c: any) => c.kind === 'ion-fab' && c.items.length === 7 && c.items[1].visible === false), + Capacitor.registerPlugin('IonicNativeUIShell') + .updates.at(-1)! + .controls.some((c: ShellControl) => c.kind === 'ion-fab' && c.items.length === 7 && c.items[1].visible === false), ), ) .toBe(true); await activate(page, 'Center FAB actions'); await expect(fab).toHaveJSProperty('activated', false); - expect(await page.evaluate(() => (window as any).__fabRetired)).toBe(false); + expect(await page.evaluate(() => (document.querySelector('ion-app') as TestAppElement).fabRetired)).toBe(false); }); test('native resume retires search even when WebKit visibility stayed visible', async ({ page }) => { @@ -2061,7 +2236,14 @@ test('native resume retires search even when WebKit visibility stayed visible', }); await page.evaluate(() => window.dispatchEvent(Object.assign(new Event('nativeUIShellRefresh'), { retireSearch: true }))); await expect - .poll(() => page.evaluate(() => (window as any).__nativeUIShell.updates.at(-1).controls.find((c: any) => c.search)?.search.active)) + .poll(() => + page.evaluate( + () => + Capacitor.registerPlugin('IonicNativeUIShell') + .updates.at(-1)! + .controls.find((c: ShellControl) => c.search)?.search?.active, + ), + ) .toBe(false); await expect(footer.locator('ion-searchbar')).toHaveJSProperty('value', 'background'); }); @@ -2106,14 +2288,23 @@ for (const [kind, selector] of [ const source = page.locator(`app-native-ui-shell ${selector}`); await expect(source).toHaveAttribute('data-native-ui-shell', ''); const id = await page.evaluate( - (kind) => (window as any).__nativeUIShell.updates.at(-1).controls.find((c: any) => c.kind === kind).id, + (kind) => + Capacitor.registerPlugin('IonicNativeUIShell') + .updates.at(-1)! + .controls.find((c: ShellControl) => c.kind === kind)!.id, kind, ); await source.evaluate((element) => { const zone = document.createElement('div'); zone.style.cssText = 'position:fixed;top:330px;left:12px;width:300px;height:140px;z-index:200'; element.closest('app-native-ui-shell')!.append(zone); - (window as any).__placement = { element, parent: element.parentElement, next: element.nextSibling, slot: element.slot, zone }; + (document.querySelector('ion-app') as TestAppElement).placement = { + element, + parent: element.parentElement, + next: element.nextSibling, + slot: element.slot, + zone, + }; }); for (const markup of [ '', @@ -2124,29 +2315,37 @@ for (const [kind, selector] of [ '', ]) { await page.evaluate((markup) => { - const { element, zone } = (window as any).__placement; + const { element, zone } = (document.querySelector('ion-app') as TestAppElement).placement!; // These destinations have no toolbar start slot; keep the Web control assigned. element.slot = ''; zone.innerHTML = markup; - zone.querySelector('[data-target]').append(element); + zone.querySelector('[data-target]')!.append(element); }, markup); await expect(source).not.toHaveAttribute('data-native-ui-shell'); await expect - .poll(() => page.evaluate((id) => (window as any).__nativeUIShell.updates.at(-1).controls.some((c: any) => c.id === id), id)) + .poll(() => + page.evaluate( + (id) => + Capacitor.registerPlugin('IonicNativeUIShell') + .updates.at(-1)! + .controls.some((c: ShellControl) => c.id === id), + id, + ), + ) .toBe(false); await expect(source).toHaveCSS('visibility', 'visible'); await page.evaluate(() => { - const { element, parent, next, slot } = (window as any).__placement; - parent.insertBefore(element, next); + const { element, parent, next, slot } = (document.querySelector('ion-app') as TestAppElement).placement!; + parent!.insertBefore(element, next); element.slot = slot; }); await expect(source, `restored from ${markup}`).toHaveAttribute('data-native-ui-shell', ''); } // A footer toolbar is supported too; do not accidentally restrict this to headers. await page.evaluate(() => { - const { element, zone } = (window as any).__placement; + const { element, zone } = (document.querySelector('ion-app') as TestAppElement).placement!; zone.innerHTML = ''; - zone.querySelector('ion-toolbar').append(element); + zone.querySelector('ion-toolbar')!.append(element); }); await expect(source).toHaveAttribute('data-native-ui-shell', ''); }); @@ -2184,11 +2383,11 @@ test('search registration cannot bypass fixed placement restrictions', async ({ const page = footer.parentElement!; const fab = page.querySelector('ion-fab')!; const buttons = footer.querySelector('ion-buttons')!; - (window as any).__searchPlacement = { page, footer, fab, buttons, toolbar: buttons.parentElement }; + (document.querySelector('ion-app') as TestAppElement).searchPlacement = { page, footer, fab, buttons, toolbar: buttons.parentElement! }; }); for (const placement of ['fab-slot', 'fab-wrapper', 'back-outside', 'footer-scroll']) { await page.evaluate((placement) => { - const { page, footer, fab, buttons } = (window as any).__searchPlacement; + const { page, footer, fab, buttons } = (document.querySelector('ion-app') as TestAppElement).searchPlacement!; if (placement === 'fab-slot') fab.removeAttribute('slot'); if (placement === 'fab-wrapper') { const wrapper = document.createElement('div'); @@ -2197,16 +2396,22 @@ test('search registration cannot bypass fixed placement restrictions', async ({ wrapper.append(fab); } if (placement === 'back-outside') footer.append(buttons); - if (placement === 'footer-scroll') page.querySelector('ion-content').append(footer); + if (placement === 'footer-scroll') page.querySelector('ion-content')!.append(footer); }, placement); await expect(footer).not.toHaveAttribute('data-native-ui-shell'); await expect - .poll(() => page.evaluate(() => (window as any).__nativeUIShell.updates.at(-1).controls.some((c: any) => c.search?.available))) + .poll(() => + page.evaluate(() => + Capacitor.registerPlugin('IonicNativeUIShell') + .updates.at(-1)! + .controls.some((c: ShellControl) => c.search?.available), + ), + ) .toBe(false); await page.evaluate((placement) => { - const { page, footer, fab, buttons, toolbar } = (window as any).__searchPlacement; + const { page, footer, fab, buttons, toolbar } = (document.querySelector('ion-app') as TestAppElement).searchPlacement!; if (placement === 'fab-slot') fab.setAttribute('slot', 'fixed'); - if (placement === 'fab-wrapper') fab.parentElement.replaceWith(fab); + if (placement === 'fab-wrapper') fab.parentElement!.replaceWith(fab); if (placement === 'back-outside') toolbar.prepend(buttons); if (placement === 'footer-scroll') page.append(footer); }, placement); @@ -2249,8 +2454,10 @@ for (const theme of ['light', 'class', 'system', 'always'] as const) { await expect .poll(() => page.evaluate(() => { - const controls = (window as any).__nativeUIShell.updates.at(-1).controls; - return ['ion-tab-bar', 'ion-fab'].map((kind) => controls.filter((c: any) => c.kind === kind).map((c: any) => c.dark)); + const controls = Capacitor.registerPlugin('IonicNativeUIShell').updates.at(-1)!.controls; + return ['ion-tab-bar', 'ion-fab'].map((kind) => + controls.filter((c: ShellControl) => c.kind === kind).map((c: ShellControl) => c.dark), + ); }), ) .toEqual([[expected], [expected, expected, expected, expected]]); @@ -2302,7 +2509,7 @@ test('reduced motion hands off without a crossfade', async ({ page }) => { const segment = page.locator('app-native-ui-shell ion-segment'); await expect(segment).toHaveAttribute('data-native-ui-shell', ''); await expect(segment).not.toHaveAttribute('data-native-ui-shell-fading'); - const duration = await page.evaluate(() => (window as any).__nativeUIShell.updates.at(-1).transitionDuration); + const duration = await page.evaluate(() => Capacitor.registerPlugin('IonicNativeUIShell').updates.at(-1)!.transitionDuration); expect(duration).toBe(0); await segment.evaluate((el) => el.classList.add('ios-theme-shell-disabled')); await expect(segment).not.toHaveAttribute('data-native-ui-shell'); @@ -2314,17 +2521,18 @@ test('tab switches hand off without a crossfade', async ({ page }) => { await page.goto('/main/index/native-ui-shell'); const segment = page.locator('app-native-ui-shell ion-segment'); await expect(segment).toHaveAttribute('data-native-ui-shell', ''); - const before = await page.evaluate(() => (window as any).__nativeUIShell.updates.length); + const before = await page.evaluate(() => Capacitor.registerPlugin('IonicNativeUIShell').updates.length); await activate(page, 'Docs'); await expect(page).toHaveURL(/\/main\/docs/); await expect .poll(() => page.evaluate( (start) => - (window as any).__nativeUIShell.updates - .slice(start) + Capacitor.registerPlugin('IonicNativeUIShell') + .updates.slice(start) .some( - (update: any) => update.transitionDuration === 0 && !update.controls.some((control: any) => control.kind === 'ion-segment'), + (update: ShellSnapshot) => + update.transitionDuration === 0 && !update.controls.some((control: ShellControl) => control.kind === 'ion-segment'), ), before, ), @@ -2372,8 +2580,9 @@ for (const direction of ['ltr', 'rtl']) { await expect .poll(() => page.evaluate(() => { - const item = (window as any).__nativeUIShell.updates.at(-1)?.controls.find((control: any) => control.kind === 'ion-button') - ?.items[0]; + const item = Capacitor.registerPlugin('IonicNativeUIShell') + .updates.at(-1) + ?.controls.find((control: ShellControl) => control.kind === 'ion-button')?.items[0]; return item && [item.imagePadding, item.contentInsetLeading, item.contentInsetTrailing]; }), ) @@ -2401,8 +2610,9 @@ for (const direction of ['ltr', 'rtl']) { await expect .poll(() => page.evaluate(() => { - const item = (window as any).__nativeUIShell.updates.at(-1)?.controls.find((control: any) => control.kind === 'ion-back-button') - ?.items[0]; + const item = Capacitor.registerPlugin('IonicNativeUIShell') + .updates.at(-1) + ?.controls.find((control: ShellControl) => control.kind === 'ion-back-button')?.items[0]; return item && [item.imagePadding, item.contentInsetLeading, item.contentInsetTrailing]; }), ) @@ -2416,13 +2626,15 @@ test('rejected cached search is replaced by ordinary native tabs after navigatio await page.route('https://picsum.photos/**', (route) => route.abort()); await page.goto('/main/album'); await expect(page.locator('app-album-page ion-footer')).toHaveAttribute('data-native-ui-shell', ''); - await page.evaluate(() => ((window as any).__nativeUIShell.rejectInactiveSearch = true)); + await page.evaluate(() => (Capacitor.registerPlugin('IonicNativeUIShell').rejectInactiveSearch = true)); await activate(page, 'Index'); await expect(page).toHaveURL('/main/index'); await expect .poll(() => page.evaluate(() => { - const control = (window as any).__nativeUIShell.updates.at(-1)?.controls.find((c: any) => c.kind === 'ion-tab-bar'); + const control = Capacitor.registerPlugin('IonicNativeUIShell') + .updates.at(-1) + ?.controls.find((c: ShellControl) => c.kind === 'ion-tab-bar'); return !!control && !control.search; }), ) @@ -2442,22 +2654,22 @@ for (const invalidated of [false, true]) { await expect(button).toHaveAttribute('data-native-ui-shell', ''); await button.evaluate((el) => (el.parentElement!.hidden = true)); await expect(button).not.toHaveAttribute('data-native-ui-shell'); - await page.evaluate(() => ((window as any).__nativeUIShell.delay = 1000)); - const previous = await page.evaluate(() => (window as any).__nativeUIShell.updates.at(-1).revision); + await page.evaluate(() => (Capacitor.registerPlugin('IonicNativeUIShell').delay = 1000)); + const previous = await page.evaluate(() => Capacitor.registerPlugin('IonicNativeUIShell').updates.at(-1)!.revision); await button.evaluate((el) => (el.parentElement!.hidden = false)); await expect .poll(() => page.evaluate((previous) => { - const snapshot = (window as any).__nativeUIShell.updates.at(-1); - return snapshot.revision > previous && snapshot.controls.some((c: any) => c.kind === 'ion-button'); + const snapshot = Capacitor.registerPlugin('IonicNativeUIShell').updates.at(-1)!; + return snapshot.revision > previous && snapshot.controls.some((c: ShellControl) => c.kind === 'ion-button'); }, previous), ) .toBe(true); await expect(button).not.toHaveAttribute('data-native-ui-shell'); await activate(page, (await button.locator('[data-label]').textContent()) as string, true); await expect(page.locator('[data-save-count]')).toHaveText('0'); - if (invalidated) await button.evaluate((el: any) => (el.disabled = true)); - await page.evaluate(() => ((window as any).__nativeUIShell.delay = 0)); + if (invalidated) await button.evaluate((el: HTMLIonButtonElement) => (el.disabled = true)); + await page.evaluate(() => (Capacitor.registerPlugin('IonicNativeUIShell').delay = 0)); if (invalidated) { await page.waitForTimeout(1200); await expect(page.locator('[data-save-count]')).toHaveText('0'); @@ -2474,14 +2686,14 @@ test('rejected search retries when tab content changes without resizing', async await page.goto('/main/album'); const footer = page.locator('app-album-page ion-footer'); await expect(footer).toHaveAttribute('data-native-ui-shell', ''); - await page.evaluate(() => ((window as any).__nativeUIShell.rejectAllSearch = true)); + await page.evaluate(() => (Capacitor.registerPlugin('IonicNativeUIShell').rejectAllSearch = true)); await page .locator('ion-tab-button ion-label') .first() .evaluate((el) => (el.textContent = 'Rejected')); await expect(footer).not.toHaveAttribute('data-native-ui-shell'); const before = await page.locator('ion-tab-bar').boundingBox(); - await page.evaluate(() => ((window as any).__nativeUIShell.rejectAllSearch = false)); + await page.evaluate(() => (Capacitor.registerPlugin('IonicNativeUIShell').rejectAllSearch = false)); await page .locator('ion-tab-button ion-label') .first() diff --git a/demo/e2e/popover.spec.ts b/demo/e2e/popover.spec.ts index a7d6e513..263e5998 100644 --- a/demo/e2e/popover.spec.ts +++ b/demo/e2e/popover.spec.ts @@ -1,5 +1,14 @@ import { expect, test } from '@playwright/test'; +/** Element the spec instruments to capture the bounds the animation measured. */ +interface MeasuredTrigger extends HTMLElement { + presentationBounds?: DOMRect; + restoreMeasurement?: () => void; +} + +/** `presented` exists on the component class but not its public element interface. */ +type PopoverProbe = HTMLIonPopoverElement & { presented: boolean }; + test('ordinary anchors show an arrow and morphing buttons do not', async ({ page }) => { await page.goto('/main/index/popover'); // Reopen the ordinary trigger to verify callout cleanup after a morphing popover. @@ -13,7 +22,7 @@ test('ordinary anchors show an arrow and morphing buttons do not', async ({ page } else { await expect(arrow).toBeVisible(); } - await popover.evaluate(async (el: any) => el.dismiss()); + await popover.evaluate(async (el: HTMLIonPopoverElement) => el.dismiss()); await expect(popover).toBeHidden(); } }); @@ -22,7 +31,7 @@ test('popover can be presented without a trigger', async ({ page }) => { await page.goto('/main/index/popover'); await page.waitForSelector('ion-popover.hydrated', { state: 'attached' }); const result = await page.evaluate(async () => { - const popover = document.createElement('ion-popover') as any; + const popover = document.createElement('ion-popover') as PopoverProbe; popover.component = document.createElement('div'); popover.component.textContent = 'Unanchored content'; document.body.append(popover); @@ -35,7 +44,7 @@ test('popover can be presented without a trigger', async ({ page }) => { expect(result).toBe(true); }); -for (const side of ['top', 'bottom', 'left', 'right']) { +for (const side of ['top', 'bottom', 'left', 'right'] as const) { test(`arrow stays visible for ${side} placement`, async ({ page }) => { await page.setViewportSize({ width: 1210, height: 834 }); await page.goto('/main/index/popover'); @@ -44,7 +53,7 @@ for (const side of ['top', 'bottom', 'left', 'right']) { const anchor = document.createElement('button'); anchor.style.cssText = 'position:fixed;left:540px;top:350px;width:80px;height:44px'; document.body.append(anchor); - const popover = document.createElement('ion-popover') as any; + const popover = document.createElement('ion-popover') as PopoverProbe; popover.component = document.createElement('div'); popover.component.textContent = 'Content'; popover.style.cssText = '--width:240px;--height:180px'; @@ -52,7 +61,7 @@ for (const side of ['top', 'bottom', 'left', 'right']) { popover.side = side; document.body.append(popover); await popover.present(); - const arrow = popover.shadowRoot.querySelector('[part="arrow"]'); + const arrow = popover.shadowRoot!.querySelector('[part="arrow"]')!; const rect = arrow.getBoundingClientRect(); const result = { x: rect.x, y: rect.y, width: rect.width, height: rect.height }; await popover.dismiss(); @@ -87,14 +96,14 @@ for (const width of [390, 1210]) { await new Promise((resolve) => requestAnimationFrame(() => requestAnimationFrame(() => resolve()))); const anchorRect = anchor.getBoundingClientRect(); const paneRect = pane.getBoundingClientRect(); - const popover = document.createElement('ion-popover') as any; + const popover = document.createElement('ion-popover') as PopoverProbe; popover.component = document.createElement('div'); popover.component.textContent = 'Content'; popover.event = { target: anchor }; popover.style.cssText = '--width:240px'; document.body.append(popover); await popover.present(); - const content = popover.shadowRoot.querySelector('[part="content"]'); + const content = popover.shadowRoot!.querySelector('[part="content"]')!; const rect = content.getBoundingClientRect(); const origin = parseFloat(getComputedStyle(content).transformOrigin); const result = { @@ -132,7 +141,7 @@ for (const width of [390, 1210]) { await trigger.scrollIntoViewIfNeeded(); // The pressed button can grow before presentation; compare the surface with // the visual bounds read by the animation, rather than the resting button. - await trigger.evaluate((el: any) => { + await trigger.evaluate((el: MeasuredTrigger) => { const measure = el.getBoundingClientRect; el.getBoundingClientRect = () => { const rect = measure.call(el); @@ -149,29 +158,29 @@ for (const width of [390, 1210]) { await expect(popover).toBeVisible(); await expect .poll(() => - popover.evaluate((el: any) => - el.shadowRoot - .querySelector('[part="content"]') + popover.evaluate((el: HTMLIonPopoverElement) => + el + .shadowRoot!.querySelector('[part="content"]')! .getAnimations() .every((a: Animation) => a.playState === 'finished'), ), ) .toBe(true); - const before = await trigger.evaluate((el: any) => { - const rect = el.presentationBounds; - el.restoreMeasurement(); + const before = await trigger.evaluate((el: MeasuredTrigger) => { + const rect = el.presentationBounds!; + el.restoreMeasurement!(); delete el.presentationBounds; return { x: rect.x, width: rect.width }; }); - const geometry = await popover.evaluate((el: any) => { - const trigger = document.getElementById(el.trigger)!; + const geometry = await popover.evaluate((el: HTMLIonPopoverElement) => { + const trigger = document.getElementById(el.trigger!)!; const pane = trigger.closest('ion-content')!; const scroll = pane.shadowRoot!.querySelector('[part="scroll"]')!; const style = getComputedStyle(scroll); const paneRect = pane.getBoundingClientRect(); - const content = el.shadowRoot.querySelector('[part="content"]'); + const content = el.shadowRoot!.querySelector('[part="content"]')!; const rect = content.getBoundingClientRect(); - const arrow = el.shadowRoot.querySelector('[part="arrow"]'); + const arrow = el.shadowRoot!.querySelector('[part="arrow"]')!; const arrowRect = arrow.getBoundingClientRect(); const anchor = trigger.getBoundingClientRect(); return { @@ -205,14 +214,14 @@ for (const width of [390, 1210]) { 1.5, ); } - await popover.evaluate(async (el: any) => el.dismiss()); + await popover.evaluate(async (el: HTMLIonPopoverElement) => el.dismiss()); await expect(popover).toBeHidden(); } }); } for (const tag of ['button', 'ion-button']) { - for (const side of ['top', 'bottom', 'left', 'right']) { + for (const side of ['top', 'bottom', 'left', 'right'] as const) { test(`event reference points to the click on ${tag} for ${side} placement`, async ({ page }) => { await page.setViewportSize({ width: 1210, height: 834 }); await page.goto('/main/index/popover'); @@ -223,7 +232,7 @@ for (const tag of ['button', 'ion-button']) { anchor.style.cssText = 'position:fixed;left:500px;top:300px;width:200px;height:120px'; anchor.textContent = 'Open'; document.body.append(anchor); - const popover = document.createElement('ion-popover') as any; + const popover = document.createElement('ion-popover') as PopoverProbe; popover.component = document.createElement('div'); popover.component.textContent = 'Content'; popover.style.cssText = '--width:240px;--height:180px'; @@ -232,12 +241,12 @@ for (const tag of ['button', 'ion-button']) { popover.side = side; document.body.append(popover); await popover.present(); - const root = popover.shadowRoot; - const content = root.querySelector('.popover-content'); + const root = popover.shadowRoot!; + const content = root.querySelector('.popover-content')!; const rect = content.getBoundingClientRect(); - const arrow = root.querySelector('[part="arrow"]').getBoundingClientRect(); + const arrow = root.querySelector('[part="arrow"]')!.getBoundingClientRect(); const origin = getComputedStyle(content).transformOrigin.split(' ').map(parseFloat); - const layer = root.querySelector('[part="callout-glass"]'); + const layer = root.querySelector('[part="callout-glass"]')!; const layerRect = layer.getBoundingClientRect(); const layerOrigin = getComputedStyle(layer).transformOrigin.split(' ').map(parseFloat); const horizontal = side === 'left' || side === 'right'; diff --git a/demo/e2e/range-interaction.spec.ts b/demo/e2e/range-interaction.spec.ts index 7357fa3d..4c223f42 100644 --- a/demo/e2e/range-interaction.spec.ts +++ b/demo/e2e/range-interaction.spec.ts @@ -13,7 +13,7 @@ for (const direction of ['ltr', 'rtl']) { const range = page.locator('#range-probe'); await expect(range).toHaveClass(/hydrated/); await range.evaluate( - (el: any, { direction, endpoint }) => { + (el: HTMLIonRangeElement, { direction, endpoint }) => { el.dir = direction; el.min = 0; el.max = 100; @@ -33,7 +33,7 @@ for (const direction of ['ltr', 'rtl']) { await page.mouse.move(endX, initial.y + initial.height / 2, { steps: 8 }); await expect(range).toHaveClass(/range-pressed/); await expect.poll(() => knob.evaluate((el) => el.getBoundingClientRect().width)).toBeCloseTo(initial.width, 1); - await expect.poll(() => range.evaluate((el: any) => el.value)).toEqual({ lower: endpoint, upper: endpoint }); + await expect.poll(() => range.evaluate((el: HTMLIonRangeElement) => el.value)).toEqual({ lower: endpoint, upper: endpoint }); await page.mouse.up(); }); } @@ -47,7 +47,7 @@ for (const direction of ['ltr', 'rtl']) { }); const range = page.locator('#range-probe'); await expect(range).toHaveClass(/hydrated/); - await range.evaluate((el: any, direction) => { + await range.evaluate((el: HTMLIonRangeElement, direction) => { el.dir = direction; el.min = 0; el.max = 100; diff --git a/demo/e2e/rtl.spec.ts b/demo/e2e/rtl.spec.ts deleted file mode 100644 index 7c574bce..00000000 --- a/demo/e2e/rtl.spec.ts +++ /dev/null @@ -1,75 +0,0 @@ -import { expect, test } from '@playwright/test'; - -for (const direction of ['ltr', 'rtl'] as const) { - test(`${direction} mirrors logical spacing with asymmetric safe areas`, async ({ page }) => { - await page.goto('/main/index', { waitUntil: 'networkidle' }); - await page.evaluate((dir) => { - const fixture = document.createElement('div'); - fixture.id = 'rtl-probe'; - fixture.dir = dir; - fixture.style.cssText = - 'position:fixed;inset:0;z-index:99999;--ion-safe-area-left:20px;--ion-safe-area-right:8px;--ios-theme-menu-width:0px'; - - const fab = document.createElement('ion-fab'); - fab.id = 'fab-probe'; - fab.mode = 'ios'; - fab.className = 'fab-horizontal-start'; - fab.innerHTML = '+'; - - const tabs = document.createElement('ion-tab-bar'); - tabs.id = 'tabs-probe'; - tabs.mode = 'ios'; - tabs.slot = 'bottom'; - tabs.className = 'tab-bar-position-start'; - tabs.innerHTML = 'OneTwo'; - - const list = document.createElement('ion-list'); - list.id = 'list-probe'; - list.mode = 'ios'; - list.className = 'list-inset'; - list.innerHTML = - '
      Supporting text
      Item
      Footer'; - - const toolbar = document.createElement('ion-toolbar'); - toolbar.id = 'toolbar-probe'; - toolbar.mode = 'ios'; - toolbar.className = 'toolbar-searchbar'; - toolbar.innerHTML = 'Action'; - - fixture.append(fab, tabs, list, toolbar); - document.body.append(fixture); - }, direction); - - await expect(page.locator('#fab-probe')).toHaveClass(/hydrated/); - await expect(page.locator('#tabs-probe')).toHaveClass(/hydrated/); - await expect(page.locator('#list-probe')).toHaveClass(/hydrated/); - - const values = await page.locator('#rtl-probe').evaluate((fixture) => { - const direction = fixture.getAttribute('dir'); - const style = (selector: string) => getComputedStyle(fixture.querySelector(selector)!); - const fab = fixture.querySelector('#fab-probe')!.getBoundingClientRect(); - const tabs = fixture.querySelector('#tabs-probe')!.getBoundingClientRect(); - const note = style('#list-probe > ion-note'); - const radio = style('.radio-group-top'); - const toolbarButtons = style('#toolbar-probe ion-buttons'); - - return { - fabStart: direction === 'ltr' ? fab.left : innerWidth - fab.right, - tabsStart: direction === 'ltr' ? tabs.left : innerWidth - tabs.right, - noteStart: note.marginInlineStart, - noteEnd: note.marginInlineEnd, - radioStart: radio.paddingInlineStart, - radioEnd: radio.paddingInlineEnd, - toolbarGap: toolbarButtons.marginInlineEnd, - }; - }); - - expect(values.fabStart).toBeCloseTo(16, 1); - expect(values.tabsStart).toBeCloseTo(direction === 'ltr' ? 36 : 24, 1); - expect(values.noteStart).toBe(direction === 'ltr' ? '40px' : '28px'); - expect(values.noteEnd).toBe(direction === 'ltr' ? '28px' : '40px'); - expect(values.radioStart).toBe(direction === 'ltr' ? '40px' : '28px'); - expect(values.radioEnd).toBe(direction === 'ltr' ? '28px' : '40px'); - expect(values.toolbarGap).toBe('6px'); - }); -} diff --git a/demo/e2e/screenshot.spec.ts b/demo/e2e/screenshot.spec.ts index 33e66c3b..5bec2e23 100644 --- a/demo/e2e/screenshot.spec.ts +++ b/demo/e2e/screenshot.spec.ts @@ -52,7 +52,7 @@ const prepareScreenShot = async (page: Page, routeName: string) => { await page.waitForSelector('ion-content[role="main"]', { timeout: 10000 }); await page.evaluate(() => document.fonts.ready); if (!routeName.includes(':')) { - const scrollHeight = await page.locator('ion-content[role="main"]').evaluate(async (el: any) => { + const scrollHeight = await page.locator('ion-content[role="main"]').evaluate(async (el: HTMLIonContentElement) => { const scrollEl = await el.getScrollElement(); return scrollEl.scrollHeight; }); @@ -61,7 +61,7 @@ const prepareScreenShot = async (page: Page, routeName: string) => { }; const prepareVerticalBarsLayout = async (page: Page, direction: 'ltr' | 'rtl', width = 700) => { - await page.addInitScript(() => ((window as any).IONIC_E2E_TESTING = true)); + await page.addInitScript(() => (document.IONIC_E2E_TESTING = true)); await page.setViewportSize({ width, height: 900 }); await page.goto('/main/index', { waitUntil: 'networkidle' }); await page.waitForSelector('ion-content[role="main"]'); @@ -94,7 +94,7 @@ const prepareVerticalBarsLayout = async (page: Page, direction: 'ltr' | 'rtl', w }; const prepareVerticalBarsBackButton = async (page: Page, direction: 'ltr' | 'rtl') => { - await page.addInitScript(() => ((window as any).IONIC_E2E_TESTING = true)); + await page.addInitScript(() => (document.IONIC_E2E_TESTING = true)); await page.setViewportSize({ width: 700, height: 900 }); await page.goto('/main/index/button', { waitUntil: 'networkidle' }); await page.evaluate(() => document.fonts.ready); @@ -107,7 +107,7 @@ const prepareVerticalBarsBackButton = async (page: Page, direction: 'ltr' | 'rtl }; const prepareVerticalBarsToolbar = async (page: Page) => { - await page.addInitScript(() => ((window as any).IONIC_E2E_TESTING = true)); + await page.addInitScript(() => (document.IONIC_E2E_TESTING = true)); await page.setViewportSize({ width: 700, height: 900 }); await page.goto('/main/index/native-ui-shell', { waitUntil: 'networkidle' }); await page.evaluate(() => document.fonts.ready); @@ -122,7 +122,7 @@ test.describe('Screenshot Tests - All Routes', () => { for (const route of routes) { test(`should match screenshot for ${route.name}`, async ({ page }) => { // Set E2E testing flag to disable animations - await page.addInitScript(() => ((window as any).IONIC_E2E_TESTING = true)); + await page.addInitScript(() => (document.IONIC_E2E_TESTING = true)); await page.goto(route.path, { waitUntil: 'networkidle' }); await prepareScreenShot(page, route.name); await expect(page).toHaveScreenshot(`${route.name}.png`, { @@ -139,7 +139,7 @@ test.describe('Screenshot Tests - Dark Mode', () => { for (const route of routes) { test(`should match dark mode screenshot for ${route.name}`, async ({ page }) => { // Set E2E testing flag to disable animations - await page.addInitScript(() => ((window as any).IONIC_E2E_TESTING = true)); + await page.addInitScript(() => (document.IONIC_E2E_TESTING = true)); await page.goto(route.path, { waitUntil: 'networkidle' }); await page.evaluate(async () => { document.documentElement.classList.add('ion-palette-dark'); @@ -170,7 +170,7 @@ test.describe('Screenshot Tests - VerticalBars Layout', () => { }); test('Settings split-menu widths on iPhone Duo', async ({ page }) => { - await page.addInitScript(() => ((window as any).IONIC_E2E_TESTING = true)); + await page.addInitScript(() => (document.IONIC_E2E_TESTING = true)); await page.setViewportSize({ width: 951, height: 669 }); await page.goto('/main/index', { waitUntil: 'networkidle' }); const splitPane = page.locator('ion-split-pane'); diff --git a/demo/e2e/submit-color.spec.ts b/demo/e2e/submit-color.spec.ts deleted file mode 100644 index a2956c56..00000000 --- a/demo/e2e/submit-color.spec.ts +++ /dev/null @@ -1,80 +0,0 @@ -import { expect, test } from '@playwright/test'; - -for (const dark of [false, true]) { - test(`glass button pressed shading: dark=${dark}`, async ({ page }) => { - await page.goto('/main/index/button'); - await expect(page.locator('ion-tab-bar')).toBeVisible(); - await page.evaluate((dark) => { - document.documentElement.classList.toggle('ion-palette-dark', dark); - const fixture = document.createElement('div'); - fixture.id = 'glass-button-probe'; - fixture.innerHTML = ` - Grouped - Standalone`; - document.body.append(fixture); - }, dark); - const buttons = page.locator('#glass-button-probe ion-button'); - await expect(buttons.locator('[part="native"]')).toHaveCount(2); - const read = () => - page.locator('#glass-button-probe').evaluate((fixture) => - [ - fixture.querySelector('ion-buttons')!, - fixture.querySelector(':scope > ion-button')!.shadowRoot!.querySelector('[part="native"]')!, - ].map((el) => { - const style = getComputedStyle(el); - return { background: style.backgroundColor, shadow: style.boxShadow }; - }), - ); - const rest = await read(); - await buttons.evaluateAll((elements) => elements.forEach((el) => el.classList.add('ion-activated'))); - const pressed = await read(); - if (dark) { - for (const surface of pressed) { - expect(surface.background).toBe('rgba(255, 255, 255, 0.5)'); - expect(surface.shadow).toContain('rgba(0, 0, 0, 0.32)'); - expect(surface.shadow).toContain('inset'); - } - } else { - for (const surface of pressed) expect(surface.background).toBe('rgba(255, 255, 255, 0.96)'); - } - await buttons.evaluateAll((elements) => elements.forEach((el) => el.classList.remove('ion-activated'))); - expect(await read()).toEqual(rest); - }); -} - -for (const color of [undefined, 'primary', 'danger', 'brand']) { - test(`submit preserves ${color ?? 'default'} color and contrast when pressed`, async ({ page }) => { - await page.goto('/main/index/button'); - await page.addStyleTag({ content: '.ion-color-brand { --ion-color-base: #ffee00; --ion-color-contrast: #112233; }' }); - await page.evaluate((color) => { - const button = document.createElement('ion-button'); - button.id = 'submit-probe'; - button.mode = 'ios'; - button.setAttribute('type', 'submit'); - button.color = color; - button.textContent = 'Submit'; - button.style.cssText = 'position:fixed;top:100px;left:20px;z-index:99999'; - document.body.append(button); - }, color); - const button = page.locator('#submit-probe'); - await expect(button).toHaveClass(/hydrated/); - const expected = await button.evaluate((element, color) => { - const style = getComputedStyle(element); - const background = style.getPropertyValue(color ? '--ion-color-base' : '--ion-color-primary').trim(); - const contrast = style.getPropertyValue(color ? '--ion-color-contrast' : '--ion-color-primary-contrast').trim(); - const probe = document.createElement('span'); - probe.style.color = contrast; - document.body.append(probe); - const foreground = getComputedStyle(probe).color; - probe.remove(); - return { background, foreground }; - }, color); - const native = button.locator('button'); - await expect(native).toHaveCSS('color', expected.foreground); - await button.evaluate((element) => element.classList.add('ion-activated')); - await expect - .poll(() => button.evaluate((element) => getComputedStyle(element).getPropertyValue('--background-activated').trim())) - .toBe(expected.background); - await expect(native).toHaveCSS('color', expected.foreground); - }); -} diff --git a/demo/e2e/tab-bar-position.spec.ts b/demo/e2e/tab-bar-position.spec.ts deleted file mode 100644 index 06e32e7f..00000000 --- a/demo/e2e/tab-bar-position.spec.ts +++ /dev/null @@ -1,65 +0,0 @@ -import { expect, test } from '@playwright/test'; - -for (const direction of ['ltr', 'rtl']) { - for (const slot of ['top', 'bottom']) { - for (const count of [2, 3, 4, 5] as const) { - test(`${direction} ${slot} ${count} tabs support all positions without shifting the press origin`, async ({ page }) => { - await page.setViewportSize({ width: 800, height: 900 }); - await page.goto('/main/index'); - await page.evaluate( - ({ direction, slot, count }) => { - const fixture = document.createElement('div'); - fixture.style.cssText = 'position:fixed;inset:0;z-index:99999;--ion-safe-area-left:20px;--ion-safe-area-right:8px'; - fixture.dir = direction; - const bar = document.createElement('ion-tab-bar'); - bar.id = 'position-probe'; - bar.mode = 'ios'; - bar.slot = slot; - for (let i = 0; i < count; i++) { - const button = document.createElement('ion-tab-button'); - button.mode = 'ios'; - button.textContent = `Tab ${i + 1}`; - bar.append(button); - } - fixture.append(bar); - document.body.append(fixture); - }, - { direction, slot, count }, - ); - const bar = page.locator('#position-probe'); - await expect(bar).toHaveClass(/hydrated/); - for (const position of ['start', 'center', 'end']) { - await bar.evaluate((element, position) => { - element.classList.remove('tab-bar-position-start', 'tab-bar-position-center', 'tab-bar-position-end'); - element.classList.add(`tab-bar-position-${position}`); - }, position); - const normal = (await bar.boundingBox())!; - const nativeWidth = { 2: 188, 3: 274, 4: 336, 5: 414 }[count]!; - // A half-pixel border rounds differently at desktop and device DPR. - expect(Math.abs(normal.width - nativeWidth)).toBeLessThanOrEqual(1); - if (position === 'center') { - expect(normal.x + normal.width / 2).toBeCloseTo(406, 1); - } else if ((position === 'start') === (direction === 'ltr')) { - expect(normal.x).toBeCloseTo(36, 1); - } else { - expect(normal.x + normal.width).toBeCloseTo(776, 1); - } - await bar - .locator('ion-tab-button') - .first() - .evaluate((button) => button.classList.add('ion-activated')); - await expect - .poll(() => bar.evaluate((element) => new DOMMatrixReadOnly(getComputedStyle(element).transform).a)) - .toBeCloseTo(1.038, 3); - const pressed = (await bar.boundingBox())!; - expect(pressed.x + pressed.width / 2).toBeCloseTo(normal.x + normal.width / 2, 1); - await bar - .locator('ion-tab-button') - .first() - .evaluate((button) => button.classList.remove('ion-activated')); - await expect.poll(() => bar.evaluate((element) => element.getBoundingClientRect().width)).toBeCloseTo(normal.width, 1); - } - }); - } - } -} diff --git a/demo/e2e/toggle.spec.ts b/demo/e2e/toggle.spec.ts index 07815463..5a677417 100644 --- a/demo/e2e/toggle.spec.ts +++ b/demo/e2e/toggle.spec.ts @@ -102,30 +102,6 @@ test('reduced motion removes the release transition', async ({ page }) => { expect((await toggle.locator('[part="handle"]').boundingBox())!.height).toBe(24); }); -test('native resting and held dimensions preserve the handle center', async ({ page }) => { - const toggle = page.locator('.section-example ion-toggle').first(); - const track = toggle.locator('[part="track"]'); - const handle = toggle.locator('[part="handle"]'); - await track.scrollIntoViewIfNeeded(); - const rest = (await handle.boundingBox())!; - const bounds = (await track.boundingBox())!; - expect(bounds.width).toBe(63); - expect(bounds.height).toBe(28); - expect(rest.width).toBe(37); - expect(rest.height).toBe(24); - await page.mouse.move(bounds.x + bounds.width / 2, bounds.y + bounds.height / 2); - await page.mouse.down(); - // Measure the held state, not the same width on the initial spring's way up. - await page.waitForTimeout(400); - await expect.poll(async () => Math.round((await handle.boundingBox())!.width)).toBe(58); - const held = (await handle.boundingBox())!; - expect(held.height).toBeCloseTo(38.333, 0); - expect(held.x + held.width / 2).toBeCloseTo(rest.x + rest.width / 2, 1); - await page.mouse.up(); - await expect.poll(async () => Math.round((await handle.boundingBox())!.width)).toBe(37); - await expect.poll(async () => Math.round((await handle.boundingBox())!.x - rest.x)).toBe(22); -}); - test('custom handle shadow remains overridable', async ({ page }) => { const toggle = page.locator('.section-example ion-toggle').first(); await toggle.evaluate((element) => element.style.setProperty('--handle-box-shadow', 'none')); @@ -190,24 +166,6 @@ for (const duration of [50, 80, 100, 150, 600]) { }); } -test('checked toggle uses its Ionic palette color', async ({ page }) => { - const toggle = page.locator('.section-example ion-toggle').first(); - await toggle.evaluate((el) => { - el.setAttribute('color', 'danger'); - (el as HTMLIonToggleElement).checked = true; - }); - await expect(toggle).toHaveClass(/ion-color-danger/); - const expected = await toggle.evaluate((el) => { - const probe = document.createElement('span'); - probe.style.color = getComputedStyle(el).getPropertyValue('--ion-color-base'); - el.append(probe); - const color = getComputedStyle(probe).color; - probe.remove(); - return color; - }); - await expect(toggle.locator('[part="track"]')).toHaveCSS('background-color', expected); -}); - test('native handle still moves when lens CSS is unavailable', async ({ page }) => { const removed = await page.evaluate(() => { let count = 0; diff --git a/demo/e2e/vertical-bars-back-button.spec.ts b/demo/e2e/vertical-bars-back-button.spec.ts index 2044dc95..f4c3cd38 100644 --- a/demo/e2e/vertical-bars-back-button.spec.ts +++ b/demo/e2e/vertical-bars-back-button.spec.ts @@ -1,4 +1,5 @@ import { expect, test } from '@playwright/test'; +import type { TestAppElement } from './native-shell-mock'; test('verticalBars mode replaces the toolbar back button with an interactive Web projection', async ({ page }) => { await page.setViewportSize({ width: 700, height: 900 }); @@ -14,17 +15,18 @@ test('verticalBars mode replaces the toolbar back button with an interactive Web await source.evaluate((element) => { const original = element.getBoundingClientRect.bind(element); - (window as any).verticalBarsBackButtonReads = 0; + const app = document.querySelector('ion-app') as TestAppElement; + app.verticalBarsBackButtonReads = 0; element.getBoundingClientRect = () => { - (window as any).verticalBarsBackButtonReads++; + app.verticalBarsBackButtonReads = (app.verticalBarsBackButtonReads ?? 0) + 1; return original(); }; element.toggleAttribute('data-projection-sync'); }); await page.waitForTimeout(100); - const settledReads = await page.evaluate(() => (window as any).verticalBarsBackButtonReads); + const settledReads = await page.evaluate(() => (document.querySelector('ion-app') as TestAppElement).verticalBarsBackButtonReads); await page.waitForTimeout(150); - expect(await page.evaluate(() => (window as any).verticalBarsBackButtonReads)).toBe(settledReads); + expect(await page.evaluate(() => (document.querySelector('ion-app') as TestAppElement).verticalBarsBackButtonReads)).toBe(settledReads); await projection.click(); await expect(page).toHaveURL(/\/main\/index$/); @@ -51,11 +53,14 @@ test('Native UI Shell suspension synchronously restores and resumes verticalBars const projection = page.locator('ion-app > ion-back-button.ios-theme-vertical-bars-back-button-projection'); await expect(projection).toBeVisible(); - await page.evaluate(async () => Object.assign(window, { verticalBarsLease: await (window as any).nativeUIShell.suspend() })); + await page.evaluate(async () => { + const app = document.querySelector('ion-app') as TestAppElement; + app.verticalBarsLease = await app.nativeUIShell!.suspend(); + }); await expect(source).toBeVisible(); await expect(projection).toHaveCount(0); - await page.evaluate(async () => (window as any).verticalBarsLease.resume()); + await page.evaluate(async () => (document.querySelector('ion-app') as TestAppElement).verticalBarsLease!.resume()); await expect(source).toBeHidden(); await expect(projection).toBeVisible(); }); @@ -67,7 +72,7 @@ test('a stale suspension lease cannot re-hide Web controls after shell teardown' await expect(page.locator('ion-app > ion-back-button.ios-theme-vertical-bars-back-button-projection')).toBeVisible(); await page.evaluate(async () => { - const shell = (window as any).nativeUIShell; + const shell = (document.querySelector('ion-app') as TestAppElement).nativeUIShell!; const lease = await shell.suspend(); await shell.destroy(); await lease.resume(); diff --git a/demo/src/app/app.config.ts b/demo/src/app/app.config.ts index 4d86197f..fc27fca0 100644 --- a/demo/src/app/app.config.ts +++ b/demo/src/app/app.config.ts @@ -3,7 +3,7 @@ import { provideRouter, withComponentInputBinding } from '@angular/router'; import * as allIcons from 'ionicons/icons'; import { routes } from './app.routes'; -import { IONIC_MAJOR, provideIonicAngular } from '@demo/ionic'; +import { IONIC_MAJOR, provideIonicAngular, type AnimationBuilder } from '@demo/ionic'; import { addIcons } from 'ionicons'; addIcons(allIcons); @@ -13,13 +13,13 @@ if (typeof document !== 'undefined') { } export interface IonicAnimationOptions { - navAnimation?: (...args: any[]) => any; - popoverEnter?: (...args: any[]) => any; - popoverLeave?: (...args: any[]) => any; + navAnimation?: AnimationBuilder; + popoverEnter?: AnimationBuilder; + popoverLeave?: AnimationBuilder; } // Disable animations during E2E tests for consistent screenshots -const isE2ETesting = typeof window !== 'undefined' && (window as any).IONIC_E2E_TESTING === true; +const isE2ETesting = typeof document !== 'undefined' && (document as Document & { IONIC_E2E_TESTING?: boolean }).IONIC_E2E_TESTING === true; export const createAppConfig = (animations: IonicAnimationOptions = {}): ApplicationConfig => ({ providers: [ diff --git a/demo/src/app/tabs/tabs.page.html b/demo/src/app/tabs/tabs.page.html index 21c8ac8f..014ee7b7 100644 --- a/demo/src/app/tabs/tabs.page.html +++ b/demo/src/app/tabs/tabs.page.html @@ -3,19 +3,19 @@ - + Index - + Docs - + Library - + Settings diff --git a/demo/src/app/tabs/tabs.page.ts b/demo/src/app/tabs/tabs.page.ts index 6ff5ae5a..89ed0826 100644 --- a/demo/src/app/tabs/tabs.page.ts +++ b/demo/src/app/tabs/tabs.page.ts @@ -44,7 +44,7 @@ import { Capacitor } from '@capacitor/core'; export class TabsPage implements OnInit, AfterViewInit, OnDestroy, ViewDidEnter, ViewDidLeave { readonly #router = inject(Router); readonly #el = inject(ElementRef); - private readonly splitPane = viewChild.required>('splitPane', { read: ElementRef }); + readonly splitPane = viewChild.required>('splitPane', { read: ElementRef }); #hingeListener?: { remove(): Promise }; #hingeMonitoring = false; #destroyed = false; @@ -78,16 +78,16 @@ export class TabsPage implements OnInit, AfterViewInit, OnDestroy, ViewDidEnter, if (Capacitor.getPlatform() !== 'ios') return; await IonicNativeUIShell.startDeviceLayoutMonitoring(); this.#hingeMonitoring = true; - if (this.#destroyed) return this.releaseHinge(); + if (this.#destroyed) return this.#releaseHinge(); this.#hingeListener = await IonicNativeUIShell.addListener('deviceLayoutChange', ({ hingeStatus }) => { if (!this.#destroyed) this.setHingeStatus(hingeStatus); }); const { hingeStatus } = await IonicNativeUIShell.getDeviceLayout(); - if (this.#destroyed) return this.releaseHinge(); + if (this.#destroyed) return this.#releaseHinge(); this.setHingeStatus(hingeStatus); } - private releaseHinge() { + #releaseHinge() { void this.#hingeListener?.remove(); this.#hingeListener = undefined; if (this.#hingeMonitoring) { @@ -98,7 +98,7 @@ export class TabsPage implements OnInit, AfterViewInit, OnDestroy, ViewDidEnter, ngOnDestroy() { this.#destroyed = true; - this.releaseHinge(); + this.#releaseHinge(); } ionViewDidEnter() { diff --git a/demo/src/main.ts b/demo/src/main.ts index a9b48ca8..e76f1057 100644 --- a/demo/src/main.ts +++ b/demo/src/main.ts @@ -36,4 +36,7 @@ void bootstrapApplication(AppComponent, createAppConfig(loadIOSAnimations())) }) .catch((err) => console.error(err)); const startShell = new URLSearchParams(window.location.search).has('verticalBarsOnly') ? enableVerticalControlArea : enableNativeUIShell; -void startShell().then((handle) => Object.assign(window, { nativeUIShell: handle })); +void startShell().then((handle) => { + const app = document.querySelector('ion-app'); + if (app) Object.assign(app, { nativeUIShell: handle }); +}); diff --git a/demo/src/native-ui-shell-lifecycle.spec.ts b/demo/src/native-ui-shell-lifecycle.spec.ts index 8d212007..de4b8303 100644 --- a/demo/src/native-ui-shell-lifecycle.spec.ts +++ b/demo/src/native-ui-shell-lifecycle.spec.ts @@ -1,34 +1,6 @@ -import { expect, test, vi } from 'vitest'; -import type { NativeUIShellHandle } from '../../src/native'; -import { bindMetricsLifecycle } from '../../src/native/lifecycle'; +import { expect, test } from 'vitest'; import { enableNativeUIShell, setVerticalControlAreaPlacement } from '../../src/native'; -const runtime = (destroy = vi.fn(async () => {})): NativeUIShellHandle => ({ - getStatus: () => ({ state: 'native', projected: 1, updates: 1 }), - suspend: async () => ({ resume: async () => {} }), - destroy, -}); - -test('listener registration failure destroys the initialized runtime', async () => { - const destroy = vi.fn(async () => {}); - const failure = new Error('listener registration failed'); - - await expect(bindMetricsLifecycle(runtime(destroy), async () => Promise.reject(failure), vi.fn())).rejects.toBe(failure); - expect(destroy).toHaveBeenCalledOnce(); -}); - -test('listener removal failure still destroys and deactivates once', async () => { - const destroy = vi.fn(async () => {}); - const deactivate = vi.fn(); - const failure = new Error('listener removal failed'); - const handle = await bindMetricsLifecycle(runtime(destroy), async () => ({ remove: async () => Promise.reject(failure) }), deactivate); - - await expect(handle.destroy()).rejects.toBe(failure); - await expect(handle.destroy()).rejects.toBe(failure); - expect(destroy).toHaveBeenCalledOnce(); - expect(deactivate).toHaveBeenCalledOnce(); -}); - test('placement requires ion-app and clears it when disabled', () => { document.body.replaceChildren(); expect(() => setVerticalControlAreaPlacement('right')).toThrow('requires ion-app'); diff --git a/demo/tsconfig.json b/demo/tsconfig.json index be67a836..f917e6ca 100644 --- a/demo/tsconfig.json +++ b/demo/tsconfig.json @@ -22,6 +22,7 @@ "target": "es2022", "module": "es2020", "useDefineForClassFields": false, + "lib": ["es2023", "dom", "dom.iterable", "webworker.importscripts", "scripthost"], "skipLibCheck": true }, "angularCompilerOptions": { diff --git a/src/native/index.ts b/src/native/index.ts index 410a9e13..d0a714d4 100644 --- a/src/native/index.ts +++ b/src/native/index.ts @@ -58,6 +58,42 @@ const combine = (native: NativeUIShellHandle, fallback: NativeUIShellHandle): Na }, }); +/** Wraps a runtime handle with the shared enable-lifecycle: reason, suspend hooks and idempotent destroy. */ +const manage = ( + handle: NativeUIShellHandle, + lifecycle: { + reason?: string; + suspend?: () => (() => void) | undefined; + destroy?: () => void | Promise; + } = {}, +): NativeUIShellHandle => { + let destroyed = false; + return { + getStatus: () => (lifecycle.reason ? { ...handle.getStatus(), reason: lifecycle.reason } : handle.getStatus()), + async suspend() { + const lease = await handle.suspend(); + const resume = lifecycle.suspend?.(); + return { + async resume() { + await lease.resume(); + resume?.(); + }, + }; + }, + async destroy() { + if (destroyed) return; + destroyed = true; + try { + await handle.destroy(); + } finally { + await lifecycle.destroy?.(); + active = undefined; + activeConfiguration = undefined; + } + }, + }; +}; + /** Reads the current native WebView geometry and applies it to page transitions. */ export const configureNativeTransition = async (): Promise => { const metrics = @@ -113,22 +149,25 @@ export const enableNativeUIShell = (options: NativeUIShellOptions = {}): Promise new Error('Native UI Shell is already running with different controls; destroy it before changing configuration.'), ); activeConfiguration = configuration; - const stopPrehide = + const prehide = !active && (options.controls === undefined || options.controls.toolbar === true) ? prehideVerticalBarsToolbarSources(document) : undefined; + const fallback = (reason: string) => + manage(createVerticalBarsWebProjection(document, options), { + reason, + suspend: () => prehide?.suspend(), + destroy: () => prehide?.stop(), + }); return (active ??= (async () => { - if (Capacitor.getPlatform() !== 'ios') - return resetOnDestroy(withReason(createVerticalBarsWebProjection(document, options), 'Requires Capacitor iOS'), stopPrehide); + if (Capacitor.getPlatform() !== 'ios') return fallback('Requires Capacitor iOS'); let runtime: NativeUIShellHandle | undefined; let placementListener: Awaited> | undefined; let monitoring = false; try { if (!options.verticalBarsOnly) await configureNativeTransition().catch(() => undefined); const capabilities = await plugin.configure({ verticalBarsOnly: options.verticalBarsOnly === true }); - if (!capabilities.supported) { - return resetOnDestroy(withReason(createVerticalBarsWebProjection(document, options), 'Requires iOS 26 or later'), stopPrehide); - } + if (!capabilities.supported) return fallback('Requires iOS 26 or later'); let nativeEdge: VerticalBarEdge = null; const nativeVerticalBars = () => { const root = document.querySelector('ion-app.ios-theme-vertical-bars'); @@ -142,73 +181,23 @@ export const enableNativeUIShell = (options: NativeUIShellOptions = {}): Promise document.defaultView?.dispatchEvent(new Event('nativeUIShellRefresh')); }); nativeEdge = (await plugin.getDeviceLayout()).placement.edge; - runtime = await createRuntime(document, plugin, options, nativeVerticalBars, options.verticalBarsOnly === true); runtime = combine( - runtime, + await createRuntime(document, plugin, options, nativeVerticalBars, options.verticalBarsOnly === true), createVerticalBarsWebProjection(document, options, () => !nativeVerticalBars()), ); - return resetOnDestroy(withPlacementListener(runtime, placementListener), stopPrehide); + return manage(runtime, { + suspend: () => prehide?.suspend(), + destroy: async () => { + await placementListener?.remove().catch(() => {}); + if (monitoring) await plugin.stopDeviceLayoutMonitoring().catch(() => {}); + prehide?.stop(); + }, + }); } catch (error) { await runtime?.destroy(); await placementListener?.remove().catch(() => {}); if (monitoring) await plugin.stopDeviceLayoutMonitoring().catch(() => {}); - return resetOnDestroy( - withReason(createVerticalBarsWebProjection(document, options), error instanceof Error ? error.message : String(error)), - stopPrehide, - ); + return fallback(error instanceof Error ? error.message : String(error)); } })()); }; - -const withPlacementListener = ( - handle: NativeUIShellHandle, - listener: Awaited>, -): NativeUIShellHandle => { - let destroyed = false; - return { - getStatus: () => handle.getStatus(), - suspend: () => handle.suspend(), - async destroy() { - if (destroyed) return; - destroyed = true; - try { - await handle.destroy(); - } finally { - await listener.remove().catch(() => {}); - await plugin.stopDeviceLayoutMonitoring().catch(() => {}); - } - }, - }; -}; - -const resetOnDestroy = ( - handle: NativeUIShellHandle, - prehide?: ReturnType, -): NativeUIShellHandle => ({ - getStatus: handle.getStatus, - async suspend() { - const lease = await handle.suspend(); - const resumePrehide = prehide?.suspend(); - return { - async resume() { - await lease.resume(); - resumePrehide?.(); - }, - }; - }, - async destroy() { - try { - await handle.destroy(); - } finally { - prehide?.stop(); - active = undefined; - activeConfiguration = undefined; - } - }, -}); - -const withReason = (handle: NativeUIShellHandle, reason: string): NativeUIShellHandle => ({ - getStatus: () => ({ ...handle.getStatus(), reason }), - suspend: () => handle.suspend(), - destroy: () => handle.destroy(), -}); diff --git a/src/native/lifecycle.ts b/src/native/lifecycle.ts deleted file mode 100644 index a8e18d72..00000000 --- a/src/native/lifecycle.ts +++ /dev/null @@ -1,38 +0,0 @@ -import type { PluginListenerHandle } from '@capacitor/core'; -import type { NativeUIShellHandle } from './definitions'; - -export const bindMetricsLifecycle = async ( - runtime: NativeUIShellHandle, - listen: () => Promise, - deactivate: () => void, -): Promise => { - let listener: PluginListenerHandle; - try { - listener = await listen(); - } catch (error) { - await runtime.destroy(); - throw error; - } - - let destroying: Promise | undefined; - return { - getStatus: runtime.getStatus, - suspend: runtime.suspend, - destroy() { - return (destroying ??= (async () => { - let removalError: unknown; - try { - await listener.remove(); - } catch (error) { - removalError = error; - } - try { - await runtime.destroy(); - } finally { - deactivate(); - } - if (removalError) throw removalError; - })()); - }, - }; -}; diff --git a/src/native/vertical-bars-web.ts b/src/native/vertical-bars-web.ts index 9a93e4bc..ec7205b8 100644 --- a/src/native/vertical-bars-web.ts +++ b/src/native/vertical-bars-web.ts @@ -5,6 +5,7 @@ import { createVerticalBarsPageState, verticalBarsEnteringPage, verticalBarsToolbarActions, + inFixedToolbar, isExcluded, isVerticalBarsToolbarGroup, isShellDisabled, @@ -72,22 +73,13 @@ export const createVerticalBarsWebProjection = ( const rect = element.getBoundingClientRect(); return element.isConnected && style.display !== 'none' && style.visibility === 'visible' && rect.width > 0 && rect.height > 0; }); - const inEligibleToolbar = (element: HTMLElement) => { - const currentRoot = verticalBarsRoot(); - const toolbar = element.closest('ion-toolbar'); - const edge = toolbar?.parentElement; - return ( - !!currentRoot?.contains(element) && - !!toolbar && - !!edge?.matches('ion-header, ion-footer') && - !element.closest('ion-content') && - !edge.hasAttribute('collapse') && - !isExcluded(element, verticalBarsEnteringPage(element)) && - !isShellDisabled(element) && - !verticalBarsPages.isDeparted(element) && - !element.closest('ion-menu, ion-modal, ion-popover, .ion-page-hidden') - ); - }; + const inEligibleToolbar = (element: HTMLElement) => + !!verticalBarsRoot()?.contains(element) && + inFixedToolbar(element) && + !isExcluded(element, verticalBarsEnteringPage(element)) && + !isShellDisabled(element) && + !verticalBarsPages.isDeparted(element) && + !element.closest('ion-menu, ion-modal, ion-popover, .ion-page-hidden'); const isEligibleBack = (element: HTMLIonBackButtonElement) => !!verticalBarsRoot()?.contains(element) && verticalBarsOwned(element) && diff --git a/src/transition/index.ts b/src/transition/index.ts index 607ebf40..a092cd30 100644 --- a/src/transition/index.ts +++ b/src/transition/index.ts @@ -170,7 +170,7 @@ const waitForReady = async (opts: TransitionOptions, defaultDeep: boolean) => { await notifyViewReady(opts.viewIsReady, opts.enteringEl); }; -const notifyViewReady = async (viewIsReady: undefined | ((enteringEl: HTMLElement) => Promise), enteringEl: HTMLElement) => { +const notifyViewReady = async (viewIsReady: undefined | ((enteringEl: HTMLElement) => Promise), enteringEl: HTMLElement) => { if (viewIsReady) { await viewIsReady(enteringEl); } @@ -180,7 +180,7 @@ const playTransition = (trans: Animation, opts: TransitionOptions): Promise((resolve) => { - trans.onFinish((currentStep: any) => resolve(currentStep === 1)); + trans.onFinish((currentStep) => resolve(currentStep === 1)); }); // cool, let's do this, start the transition @@ -236,8 +236,13 @@ export const waitForMount = (): Promise => { return new Promise((resolve) => raf(() => raf(() => resolve()))); }; -export const deepReady = async (el: any | undefined): Promise => { - const element = el as any; +type LazyLoadedElement = Element & { + componentOnReady?: () => Promise; + __registerHost?: unknown; +}; + +export const deepReady = async (el: Element | undefined): Promise => { + const element = el as LazyLoadedElement | undefined; if (element) { if (element.componentOnReady != null) { // eslint-disable-next-line custom-rules/no-component-on-ready-method @@ -259,7 +264,7 @@ export const deepReady = async (el: any | undefined): Promise => { return; } - await Promise.all(Array.from(element.children).map(deepReady)); + await Promise.all(Array.from(element.children).map((child) => deepReady(child))); } }; @@ -358,7 +363,7 @@ const getIosIonHeader = (opts: TransitionOptions): HTMLElement | null => { export interface TransitionOptions extends NavOptions { progressCallback?: (ani: Animation | undefined) => void; - baseEl: any; + baseEl: HTMLElement; enteringEl: HTMLElement; leavingEl: HTMLElement | undefined; } diff --git a/src/utils.ts b/src/utils.ts index 126f620c..b9e8a71d 100644 --- a/src/utils.ts +++ b/src/utils.ts @@ -1,8 +1,8 @@ import { AnimationPosition } from './sheets-of-glass/interfaces'; import { IonicConfig } from '@ionic/core'; -declare const __zone_symbol__requestAnimationFrame: any; -declare const requestAnimationFrame: any; +declare const __zone_symbol__requestAnimationFrame: ((callback: FrameRequestCallback) => number) | undefined; +declare const requestAnimationFrame: ((callback: FrameRequestCallback) => number) | undefined; export const getElementRoot = (el: HTMLElement, fallback: HTMLElement = el) => { return el.shadowRoot || fallback; @@ -58,15 +58,15 @@ export const changeSelectedElement = ( }; export class Config { - private m = new Map(); + private m = new Map(); reset(configObj: IonicConfig) { - this.m = new Map(Object.entries(configObj) as any); + this.m = new Map(Object.entries(configObj) as [keyof IonicConfig, unknown][]); } - get(key: keyof IonicConfig, fallback?: any): any { + get(key: keyof IonicConfig, fallback?: T): T { const value = this.m.get(key); - return value !== undefined ? value : fallback; + return value !== undefined ? (value as T) : (fallback as T); } getBoolean(key: keyof IonicConfig, fallback = false): boolean { @@ -81,11 +81,11 @@ export class Config { } getNumber(key: keyof IonicConfig, fallback?: number): number { - const val = parseFloat(this.m.get(key)); + const val = parseFloat(String(this.m.get(key))); return isNaN(val) ? (fallback !== undefined ? fallback : NaN) : val; } - set(key: keyof IonicConfig, value: any) { + set(key: keyof IonicConfig, value: unknown) { this.m.set(key, value); } } From 4b0ed35c9ad4fb27487e94a53ff4faef73f35d20 Mon Sep 17 00:00:00 2001 From: rdlabo Date: Fri, 25 Sep 2026 19:18:31 +0900 Subject: [PATCH 49/50] refactor(vertical-bars): tighten native plugin types - Store search controllers behind ShellSearchControlling so the UIViewController dictionary stops round-tripping through as? casts. - Replace the erased trait-registration token with an unregister closure and hold the hinge interaction as UIInteraction. - Gate iOS 27.1-only SwiftUI symbols in ShellVerticalBars behind the same canImport check the plugin uses; Xcode 27.0 cannot see them. --- .../Components/ShellSearchController.swift | 16 ++++++- .../Components/ShellVerticalBars.swift | 10 +++++ .../IonicNativeUIShellPlugin.swift | 45 ++++++++----------- 3 files changed, 43 insertions(+), 28 deletions(-) diff --git a/ios/Sources/IonicNativeUIShellPlugin/Components/ShellSearchController.swift b/ios/Sources/IonicNativeUIShellPlugin/Components/ShellSearchController.swift index d2b71b3a..0a79ea39 100644 --- a/ios/Sources/IonicNativeUIShellPlugin/Components/ShellSearchController.swift +++ b/ios/Sources/IonicNativeUIShellPlugin/Components/ShellSearchController.swift @@ -45,8 +45,22 @@ private final class ShellSearchInputDelegate: NSObject, UITextFieldDelegate { func textFieldShouldClear(_ textField: UITextField) -> Bool { clear?(); return false } } +// Lets the plugin registry retain iOS 26-gated search controllers without +// availability-gated stored properties, mirroring ShellVerticalBarsControlling. +protocol ShellSearchControlling: AnyObject { + var surface: ShellSearchHost { get } + var ownsKeyboard: Bool { get } + var ownsKeyboardChrome: Bool { get } + var transitionCoordinator: UIViewControllerTransitionCoordinator? { get } + var activate: ((String) -> Void)? { get set } + var changed: ((String, ShellSearchPhase, String, Bool, Int) -> Int)? { get set } + func attach(to parent: UIViewController, in container: UIView) + func detach() + func apply(_ snapshot: ShellControl, webFrame: CGRect, barFrame: CGRect, triggerFrame: CGRect, rendering: ShellRendering) -> Bool +} + @available(iOS 26.0, *) -final class ShellSearchController: UITabBarController, UITabBarControllerDelegate, UISearchBarDelegate { +final class ShellSearchController: UITabBarController, UITabBarControllerDelegate, UISearchBarDelegate, ShellSearchControlling { // Wire stays active+focused; local session drives chrome (idle / presented / focused). private enum Session: Equatable { case idle, presented, focused } diff --git a/ios/Sources/IonicNativeUIShellPlugin/Components/ShellVerticalBars.swift b/ios/Sources/IonicNativeUIShellPlugin/Components/ShellVerticalBars.swift index dc7458c5..79522e51 100644 --- a/ios/Sources/IonicNativeUIShellPlugin/Components/ShellVerticalBars.swift +++ b/ios/Sources/IonicNativeUIShellPlugin/Components/ShellVerticalBars.swift @@ -165,11 +165,15 @@ private struct ShellVerticalBarsPage: View { @available(iOS 26.0, *) private struct ShellVerticalBarsCompression: ViewModifier { @ViewBuilder func body(content: Content) -> some View { + #if canImport(UIKit, _underlyingVersion: 9127.0.85) && !targetEnvironment(macCatalyst) if #available(iOS 27.1, *) { content.toolbarVerticalCompressionBehavior(.prefersToolbarItems) } else { content } + #else + content + #endif } } @@ -178,14 +182,19 @@ private struct ShellVerticalBarsToolbarAdapter: ViewModifier { @ObservedObject var model: ShellVerticalBarsModel @ViewBuilder func body(content: Content) -> some View { + #if canImport(UIKit, _underlyingVersion: 9127.0.85) && !targetEnvironment(macCatalyst) if #available(iOS 27.1, *) { content.modifier(ShellVerticalBarsToolbar(model: model)) } else { content.modifier(ShellVerticalBarsLegacyToolbar(model: model)) } + #else + content.modifier(ShellVerticalBarsLegacyToolbar(model: model)) + #endif } } +#if canImport(UIKit, _underlyingVersion: 9127.0.85) && !targetEnvironment(macCatalyst) @available(iOS 27.1, *) private struct ShellVerticalBarsToolbar: ViewModifier { @ObservedObject var model: ShellVerticalBarsModel @@ -217,6 +226,7 @@ private struct ShellVerticalBarsToolbar: ViewModifier { } } } +#endif @available(iOS 26.0, *) private struct ShellVerticalBarsLegacyToolbar: ViewModifier { diff --git a/ios/Sources/IonicNativeUIShellPlugin/IonicNativeUIShellPlugin.swift b/ios/Sources/IonicNativeUIShellPlugin/IonicNativeUIShellPlugin.swift index e51971fe..9165b570 100644 --- a/ios/Sources/IonicNativeUIShellPlugin/IonicNativeUIShellPlugin.swift +++ b/ios/Sources/IonicNativeUIShellPlugin/IonicNativeUIShellPlugin.swift @@ -17,7 +17,7 @@ public class IonicNativeUIShellPlugin: CAPPlugin, CAPBridgedPlugin, UITabBarDele private var host: ShellHost? private var verticalBars: ShellVerticalBarsControlling? private var controls: [String: UIView] = [:] - private var searchControllers: [String: UIViewController] = [:] + private var searchControllers: [String: ShellSearchControlling] = [:] private var fingerprints: [String: ShellControl] = [:] private let rendering = ShellRendering() private var revision = 0 @@ -31,9 +31,9 @@ public class IonicNativeUIShellPlugin: CAPPlugin, CAPBridgedPlugin, UITabBarDele private var lastVerticalBarInset: CGFloat = 0 private var verticalBarPlacementObserved = false private weak var observedVerticalBarView: UIView? - private var verticalBarRegistration: AnyObject? + private var unregisterVerticalBarObservation: (() -> Void)? private weak var observedHingeView: UIView? - private var hingeInteraction: AnyObject? + private var hingeInteraction: UIInteraction? private var hingeStatus: String? private var deviceLayoutMonitoring = 0 private var lastDeviceLayout: String? @@ -58,12 +58,9 @@ public class IonicNativeUIShellPlugin: CAPPlugin, CAPBridgedPlugin, UITabBarDele self.verticalBars?.view.isHidden = true } var searchOwnsKeyboard = false - if #available(iOS 26.0, *) { - self.searchControllers.values.forEach { - guard let controller = $0 as? ShellSearchController else { return } - if controller.ownsKeyboardChrome { searchOwnsKeyboard = true } - if !keyboard { controller.surface.isHidden = true } - } + self.searchControllers.values.forEach { controller in + if controller.ownsKeyboardChrome { searchOwnsKeyboard = true } + if !keyboard { controller.surface.isHidden = true } } if keyboard { if !searchOwnsKeyboard { @@ -92,13 +89,10 @@ public class IonicNativeUIShellPlugin: CAPPlugin, CAPBridgedPlugin, UITabBarDele } private func stopDeviceLayoutObservation() { - if #available(iOS 17.0, *), let view = observedVerticalBarView, - let registration = verticalBarRegistration as? any UITraitChangeRegistration { - view.unregisterForTraitChanges(registration) - } - verticalBarRegistration = nil + unregisterVerticalBarObservation?() + unregisterVerticalBarObservation = nil observedVerticalBarView = nil - if let interaction = hingeInteraction as? UIInteraction { + if let interaction = hingeInteraction { observedHingeView?.removeInteraction(interaction) } hingeInteraction = nil @@ -205,14 +199,13 @@ public class IonicNativeUIShellPlugin: CAPPlugin, CAPBridgedPlugin, UITabBarDele private func observeVerticalBarPlacement() { #if canImport(UIKit, _underlyingVersion: 9127.0.85) && !targetEnvironment(macCatalyst) if #available(iOS 27.1, *), let webView = bridge?.webView, observedVerticalBarView !== webView { - if let view = observedVerticalBarView, let registration = verticalBarRegistration as? any UITraitChangeRegistration { - view.unregisterForTraitChanges(registration) - } + unregisterVerticalBarObservation?() observedVerticalBarView = webView let traits: [UITrait] = [UITraitLayoutDirection.self] + UITraitCollection.systemTraitsAffectingVerticalBarEdge - verticalBarRegistration = webView.registerForTraitChanges(traits) { [weak self] (_: UIView, _: UITraitCollection) in + let registration = webView.registerForTraitChanges(traits) { [weak self] (_: UIView, _: UITraitCollection) in self?.notifyVerticalBarPlacementChange() } + unregisterVerticalBarObservation = { [weak webView] in webView?.unregisterForTraitChanges(registration) } } #endif notifyVerticalBarPlacementChange() @@ -221,7 +214,7 @@ public class IonicNativeUIShellPlugin: CAPPlugin, CAPBridgedPlugin, UITabBarDele private func observeHingeStatus() { #if canImport(UIKit, _underlyingVersion: 9127.0.85) && !targetEnvironment(macCatalyst) if #available(iOS 27.1, *), let webView = bridge?.webView, observedHingeView !== webView { - if let interaction = hingeInteraction as? UIInteraction { + if let interaction = hingeInteraction { observedHingeView?.removeInteraction(interaction) } observedHingeView = webView @@ -290,9 +283,7 @@ public class IonicNativeUIShellPlugin: CAPPlugin, CAPBridgedPlugin, UITabBarDele } private func removeControl(_ id: String, duration: TimeInterval = 0) { - if #available(iOS 26.0, *) { - (searchControllers.removeValue(forKey: id) as? ShellSearchController)?.detach() - } + searchControllers.removeValue(forKey: id)?.detach() if let control = controls.removeValue(forKey: id) { ShellCrossfade.retire(control, duration: duration) } fingerprints.removeValue(forKey: id) pendingTabSelections.removeValue(forKey: id) @@ -368,7 +359,7 @@ public class IonicNativeUIShellPlugin: CAPPlugin, CAPBridgedPlugin, UITabBarDele } var rejectedControls: [String] = [] var fabs: [(ShellFab, ShellControl)] = [] - var searches: [(ShellSearchController, ShellControl, CGRect, CGRect, UIView?, Bool)] = [] + var searches: [(ShellSearchControlling, ShellControl, CGRect, CGRect, UIView?, Bool)] = [] var rejectedSearches: [String] = [] if verticalBars.isEmpty || self.keyboardVisible { self.verticalBars?.detach() @@ -412,7 +403,7 @@ public class IonicNativeUIShellPlugin: CAPPlugin, CAPBridgedPlugin, UITabBarDele rejectedControls.append(id) } // Only native search owns its keyboard; other controls return to Web. - if self.keyboardVisible && (self.searchControllers[id] as? ShellSearchController)?.ownsKeyboard != true { + if self.keyboardVisible && self.searchControllers[id]?.ownsKeyboard != true { reject(); continue } let local = node.frame.rect @@ -420,9 +411,9 @@ public class IonicNativeUIShellPlugin: CAPPlugin, CAPBridgedPlugin, UITabBarDele width: local.width * scale, height: local.height * scale), to: parent) if let search = node.search { guard let owner = self.bridge?.viewController else { rejectedSearches.append(id); continue } - let controller: ShellSearchController + let controller: ShellSearchControlling let previousCover = self.controls[id] - let replacing = self.searchControllers[id] as? ShellSearchController + let replacing = self.searchControllers[id] if let existing = replacing { controller = existing } else { // Keep the ordinary UITabBar cover until the search controller applies. From 6854516aef822498a8e493b4acbf73d81d7cba9e Mon Sep 17 00:00:00 2001 From: rdlabo Date: Fri, 25 Sep 2026 19:27:23 +0900 Subject: [PATCH 50/50] docs: add a dedicated iPhone Duo guide - Move the Duo content out of special-markup into docs/iphone-duo.md so readers who only want Duo support have one page: device-layout reporting without a runtime, the vertical rail, and the posture-driven split pane. - Document that device-layout monitoring is reference-counted and independent of configure(), and that the enable* runtimes already hold a monitoring reference while native projection is active. - Note that the plugin reports device facts and never applies them to the DOM; the application owns placement decisions. - Extend docgen to emit the VerticalControlAreaHandle reference and link the new page from the README and native-ui-shell guide. --- README.md | 3 +- docs/iphone-duo.md | 238 ++++++++++++++++++++++++++++++++++++++++ docs/native-ui-shell.md | 2 +- docs/special-markup.md | 82 +------------- package.json | 2 +- 5 files changed, 243 insertions(+), 84 deletions(-) create mode 100644 docs/iphone-duo.md diff --git a/README.md b/README.md index 80247132..4b7aa3cd 100644 --- a/README.md +++ b/README.md @@ -123,7 +123,7 @@ Use this markup to preview the inset grouped list look. For the list structure t ### Support iPhone Duo without the iOS 27 theme -Import only `@rdlabo/ionic-theme-ios27/dist/css/vertical-bars.css`, add `ios-theme-vertical-bars` to `ion-app`, and call `enableVerticalControlArea()` from `@rdlabo/ionic-theme-ios27/vertical-bars` at startup. This uses Ionic's standard appearance outside the Vertical Control Area; on supported iOS, only controls moved into that area are projected natively. See [Support iPhone Duo](./docs/special-markup.md#support-iphone-duo) for the complete setup. +Import only `@rdlabo/ionic-theme-ios27/dist/css/vertical-bars.css`, add `ios-theme-vertical-bars` to `ion-app`, and call `enableVerticalControlArea()` from `@rdlabo/ionic-theme-ios27/vertical-bars` at startup. This uses Ionic's standard appearance outside the Vertical Control Area; on supported iOS, only controls moved into that area are projected natively. To read only the hinge posture — for example to adapt an `ion-split-pane` — subscribe to the plugin's `deviceLayoutChange` event without starting any runtime. See [iPhone Duo support](https://docs.rdlabo.dev/projects/ionic-theme-ios27/docs/iphone-duo) for the complete setup. ### Use only the iOS 27 theme @@ -211,6 +211,7 @@ For Ionic 9 Angular, import `isPlatform` and `provideIonicAngular` from `@ionic/ - [ESLint](https://docs.rdlabo.dev/projects/ionic-theme-ios27/docs/eslint) — check list structure with ESLint rules. - [Features](https://docs.rdlabo.dev/projects/ionic-theme-ios27/docs/features) — CSS variables, Liquid Glass, selective imports, and dark mode. - [Native UI Shell (Experimental)](https://docs.rdlabo.dev/projects/ionic-theme-ios27/docs/native-ui-shell) — project supported Ionic controls, text, and icons into UIKit. +- [iPhone Duo support](https://docs.rdlabo.dev/projects/ionic-theme-ios27/docs/iphone-duo) — vertical system rail, hinge posture, and split-pane layout; usable without the theme or the shell. - [Animation](https://docs.rdlabo.dev/projects/ionic-theme-ios27/docs/animation) — tab, segment, and searchable effects. - [Migration from iOS 26](https://docs.rdlabo.dev/projects/ionic-theme-ios27/docs/migration) — upgrade an existing app, including stylesheet, class, and CSS variable changes. - [iOS 26 migration history](https://docs.rdlabo.dev/projects/ionic-theme-ios26/docs/migration) — earlier major-version changes for the previous package. diff --git a/docs/iphone-duo.md b/docs/iphone-duo.md new file mode 100644 index 00000000..0d4a38f1 --- /dev/null +++ b/docs/iphone-duo.md @@ -0,0 +1,238 @@ +--- +title: iPhone Duo support +--- + +# iPhone Duo support + +iPhone Duo folds along a hinge and reserves a physical system rail on one side of the display. On iOS 27.1 and later, the system reports both facts to the app: the rail's edge with its safe-area inset, and the hinge posture while the device opens and closes. + +This package provides three independent pieces for that hardware. Each works **without the iOS 27 theme stylesheets** and **without the full Native UI Shell**: + +- `dist/css/vertical-bars.css` — opt-in classes that reserve the rail's safe area, plus a registered custom property for a posture-driven split-pane width. +- `enableVerticalControlArea()` — moves eligible tabs and toolbar controls into the reserved area. On Capacitor iOS they are rendered by a native SwiftUI `TabView` and toolbar; everywhere else the same controls appear as Web clones. +- Device-layout reporting — the bundled Capacitor plugin reports rail placement, hinge status and the WebView corner radius through `getDeviceLayout()` and the `deviceLayoutChange` event. + +## Choose what to adopt + +| Goal | Stylesheet | Runtime | +| ------------------------------------------------ | ------------------- | ------------------------------------------------------------------ | +| Hinge posture only (split pane, layout switches) | `vertical-bars.css` | none — subscribe to the plugin directly | +| Vertical rail for tabs and toolbar actions | `vertical-bars.css` | `enableVerticalControlArea()` | +| Native shell plus the rail | `vertical-bars.css` | `enableNativeUIShell()` — already includes rail and posture support | + +```scss +@use '@rdlabo/ionic-theme-ios27/dist/css/vertical-bars.css'; +``` + +The stylesheet never changes ordinary Ionic UI by itself; every rule requires an opt-in class. Load it unconditionally — these values are simulation and layout inputs, independent from Ionic's normal safe-area variables. + +## Read the device layout + +`npx cap sync ios` registers the plugin automatically; no `configure` call is needed for device layout. An app that only wants the hinge posture — for example to drive a split pane — uses this API alone, with no projection runtime: + +```ts +import { Capacitor } from '@capacitor/core'; +import { HingeStatus, IonicNativeUIShell } from '@rdlabo/ionic-theme-ios27/vertical-bars'; + +// The plugin has no Web implementation; guard the subscription. +if (Capacitor.getPlatform() === 'ios') { + await IonicNativeUIShell.startDeviceLayoutMonitoring(); + const listener = await IonicNativeUIShell.addListener('deviceLayoutChange', ({ hingeStatus }) => { + // apply the posture + }); + const { hingeStatus } = await IonicNativeUIShell.getDeviceLayout(); // initial value + + // When the consumer goes away: + // await listener.remove(); + // await IonicNativeUIShell.stopDeviceLayoutMonitoring(); +} +``` + +`DeviceLayout` carries: + +| Field | Meaning | +| ----------------------- | ---------------------------------------------------------------------------------------------------------- | +| `placement` | `{ edge: 'left' \| 'right' \| null, inset }` — the physical rail edge and its UIKit safe-area inset in points; `edge` is `null` on devices without a rail | +| `hingeStatus` | `HingeStatus.Unavailable` (no hinge), `Closed`, `PartiallyOpen`, or `FullyOpen` | +| `webViewMetrics.radius` | the WebView's effective top-left corner radius in points | + +Monitoring is reference-counted: each consumer pairs `startDeviceLayoutMonitoring()` with `stopDeviceLayoutMonitoring()`, and events stop when the last consumer releases it. `getDeviceLayout()` also works without monitoring for a one-shot read. While `enableVerticalControlArea()` or `enableNativeUIShell()` has native projection active it already holds a monitoring reference, so those users only add a listener and read the initial value — no extra start/stop pair. + +The plugin reports device facts and never applies them to the DOM. The application decides what each value means for its layout — this boundary keeps the native values easy to mock in tests and keeps the theme's responsibility limited to the stylesheets and runtime below. + +## Reserve the vertical rail + +Add `.ios-theme-vertical-bars` to `ion-app` to reserve the rail region on the physical right, or add `.ios-theme-vertical-bars-left` as well to use the physical left: + +```html +... +``` + +For Chrome development, no native plugin is needed — the class alone reserves `80px` to simulate iPhone Duo. When `setPlacement` receives a native placement, the measured UIKit inset replaces the simulated width, even when that inset is less than `80px`. Override `--ios-theme-vertical-bars-safe-area-left` or `--ios-theme-vertical-bars-safe-area-right` when simulating a different layout. + +This keeps routers and component backgrounds full-viewport. `ion-content` moves its scroll foreground, `ion-toolbar` moves its container foreground, and `ion-fab` adjusts only when placed beside the system UI. The corresponding Ionic safe-area variable is reset inside those foreground components so descendants do not add the inset again. + +`ion-menu`, `ion-modal`, and `ion-popover` are handled as separate surfaces: their internal foreground components do not receive the main-page conversion and retain Ionic's standard safe-area handling. A menu presented beside the system UI keeps Ionic's full-viewport animation host and offsets only its visible container by the corresponding inset; a menu from the opposite side is unchanged. Left and right remain physical coordinates in RTL, while Ionic's `side="start"` and `side="end"` values remain logical. + +The mode is component-mode independent: an app can keep Ionic `mode: 'md'` on iOS and still enable Vertical Bars. No component needs `mode="ios"`. + +## Project controls into the rail + +Start the standalone runtime once at application startup: + +```ts +import { Capacitor } from '@capacitor/core'; +import { enableVerticalControlArea, IonicNativeUIShell } from '@rdlabo/ionic-theme-ios27/vertical-bars'; + +// Start on Chrome too; the Web projection stays idle until the class is present. +const rail = await enableVerticalControlArea(); + +if (Capacitor.getPlatform() === 'ios') { + // The runtime already monitors device layout; only subscribe. + await IonicNativeUIShell.addListener('deviceLayoutChange', ({ placement }) => rail.setPlacement(placement)); + rail.setPlacement((await IonicNativeUIShell.getDeviceLayout()).placement); +} +``` + +`setPlacement` on the handle and the exported `setVerticalControlAreaPlacement` are the same function; either applies the application's chosen placement to the CSS layout and both projections. Passing `null` restores the ordinary layout. It requires a mounted `ion-app` — call it after the app root exists. The device-layout listener reports what iOS chose; the application decides whether to apply it. An app that wants to keep its own fixed edge can ignore `placement.edge` and pass `'left'` or `'right'`. + +Start either `enableVerticalControlArea()` or the full `enableNativeUIShell()` — not both. Repeating the same configuration returns the shared runtime; starting a different configuration while it is active throws an error. The application should have one owner responsible for destroying that runtime. If the app already uses `enableNativeUIShell()`, keep that single runtime and call `setVerticalControlAreaPlacement(placement)` from its listener. + +On supported iOS versions the runtime hands eligible tabs, back navigation, menu buttons, and fixed-toolbar actions to a native SwiftUI `TabView` and toolbar; on Web, Android, or when native projection is unavailable, Web clones remain the fallback. Back navigation can come from outside a fixed toolbar; other actions still require one. Fixed-toolbar actions need an icon or SVG, no direct text node, and standard `fill="default"` or `fill="clear"` — text-only actions stay in the original Web toolbar. Add `.ios-theme-horizontal-only` to an `ion-buttons` group or individual `ion-button` to keep it in the horizontal toolbar. Placement is chosen when a routed page enters; changing an existing button's content does not move it between the toolbar and rail until the page leaves and re-enters. Menus, modals, and popovers retain their own toolbar layout. + +When the app contains `ion-tabs`, its tab bar moves into the reserved region and aligns above the bottom safe area; the Ionic `slot` value does not select a different position. Without native projection, the stable Web rail is icon-only, matching a four-tab SwiftUI `TabView`. While the user presses and drags across that rail, every icon-and-label tab reveals its label so the pending destination stays identifiable. The Web tab bar receives pointer input in the simulated system region. Use `ion-menu` when navigation should become a sidebar; this mode does not convert tabs into a menu. Web clones also work when no `ion-tabs` exists. Disabling the mode or leaving the page removes the native ownership or Web clones and restores their sources. Override `--ios-theme-vertical-bars-toolbar-top` when the simulated system controls use a different vertical layout. + +## Adapt the split pane + +For a side-by-side menu on iPhone Duo, opt the `ion-split-pane` into the separately measured Settings layout. The sidebar is 320pt when fully unfolded and reaches the display midpoint when half-opened (50vw). The application supplies the posture; both states have the same viewport width, so a width media query cannot distinguish them: + +```html + + ... +
      ...
      +
      +``` + +Set the ordinary split-pane width to 320pt in the application's stylesheet, and let the half-open class change only the width value: + +```css +ion-split-pane { + --ios-theme-menu-width: var(--ios-theme-split-pane-width); + --side-width: var(--ios-theme-menu-width); + --side-max-width: var(--ios-theme-menu-width); + transition: --ios-theme-split-pane-width 300ms ease; +} +``` + +The registered `--ios-theme-split-pane-width` defaults to `320px`; `.ios-theme-split-pane-half-open` sets it to `50vw`. Set `halfOpened` when `deviceLayoutChange` reports `HingeStatus.PartiallyOpen` (and read the initial value with `getDeviceLayout`). Ionic's `when` decides whether the menu is a persistent side pane; choose its breakpoint so the pane is hidden when closed — `HingeStatus.Unavailable` means the device has no hinge, so restore the ordinary breakpoint for it. The application chooses where to apply this width rule; an ordinary split pane elsewhere is unchanged. This layout does not enable Vertical Bars or move an overlay menu. + +## Vertical Control Area API + +The generated reference below documents the handle returned by `enableVerticalControlArea()`. + + + +* [`setPlacement(...)`](#setplacement) +* [`getStatus()`](#getstatus) +* [`suspend()`](#suspend) +* [`destroy()`](#destroy) +* [Interfaces](#interfaces) +* [Type Aliases](#type-aliases) + + + + + + +### setPlacement(...) + +```typescript +setPlacement(placement: VerticalBarEdge | VerticalBarPlacement) => void +``` + +Applies the application's chosen placement to both Web and native controls. + +| Param | Type | +| --------------- | ----------------------------------------------------------------------------------------------------------------------- | +| **`placement`** | VerticalBarEdge \| VerticalBarPlacement | + +-------------------- + + +### getStatus() + +```typescript +getStatus() => NativeUIShellStatus +``` + +Returns the current Web/native projection state. + +**Returns:** NativeUIShellStatus + +-------------------- + + +### suspend() + +```typescript +suspend() => Promise +``` + +Restores projected controls to the Web until the returned lease is resumed. + +**Returns:** Promise<NativeUIShellSuspension> + +-------------------- + + +### destroy() + +```typescript +destroy() => Promise +``` + +Stops synchronization, restores Web controls and releases native resources. + +-------------------- + + +### Interfaces + + +#### VerticalBarPlacement + +| Prop | Type | Description | +| ----------- | ----------------------------------------------------------- | ------------------------------------------------------------------- | +| **`edge`** | VerticalBarEdge | | +| **`inset`** | number | UIKit safe-area inset on the physical vertical-bar edge, in points. | + + +#### NativeUIShellStatus + +| Prop | Type | +| --------------- | ------------------------------------------- | +| **`state`** | 'native' \| 'stopped' \| 'web' | +| **`projected`** | number | +| **`updates`** | number | +| **`reason`** | string | + + +#### NativeUIShellSuspension + +| Method | Signature | Description | +| ---------- | ---------------------------- | ---------------------------------------------------------------------------------------------- | +| **resume** | () => Promise<void> | Releases this suspension. Native projection resumes after all active suspensions are released. | + + +### Type Aliases + + +#### VerticalBarEdge + +'left' | 'right' | null + + diff --git a/docs/native-ui-shell.md b/docs/native-ui-shell.md index f434cf35..e7725d5f 100644 --- a/docs/native-ui-shell.md +++ b/docs/native-ui-shell.md @@ -169,7 +169,7 @@ The native material and control appearance follow the running iOS version; an iO ## Support iPhone Duo -The standalone Vertical Control Area entry point (`@rdlabo/ionic-theme-ios27/vertical-bars`) and `dist/css/vertical-bars.css` work without loading the iOS 27 theme. Call `enableVerticalControlArea()` for this use case; it projects only controls placed in the vertical area. Apps already calling `enableNativeUIShell()` should keep that single runtime rather than starting both. +The standalone Vertical Control Area entry point (`@rdlabo/ionic-theme-ios27/vertical-bars`) and `dist/css/vertical-bars.css` work without loading the iOS 27 theme. Call `enableVerticalControlArea()` for this use case; it projects only controls placed in the vertical area. Apps already calling `enableNativeUIShell()` should keep that single runtime rather than starting both. See [iPhone Duo support](https://docs.rdlabo.dev/projects/ionic-theme-ios27/docs/iphone-duo) for the complete setup, including hinge posture and the split-pane layout for apps that do not use this shell at all. On supported iOS versions, adding `.ios-theme-vertical-bars` changes only controls that the system relocates into the physical side rail. Native UI Shell presents eligible tabs, back navigation, menu buttons, and toolbar actions through a SwiftUI `TabView` and toolbar only when iOS reports a physical right-side safe area large enough for that rail. SwiftUI owns their adaptive placement and Liquid Glass appearance; Ionic remains the source of labels, icons, selected/disabled state, routing, form submission, and click handlers. diff --git a/docs/special-markup.md b/docs/special-markup.md index a3a2f93f..42ade0da 100644 --- a/docs/special-markup.md +++ b/docs/special-markup.md @@ -49,87 +49,7 @@ These classes do not reposition a separate `ion-fab`; leave room for it when cho ## Support iPhone Duo -Load the separate stylesheet and start its projection runtime. The iOS 27 theme stylesheets are **not required**: - -```scss -@use '@rdlabo/ionic-theme-ios27/dist/css/vertical-bars.css'; -``` - -```ts -import { - IonicNativeUIShell, - enableVerticalControlArea, -} from '@rdlabo/ionic-theme-ios27/vertical-bars'; - -// Start Web projection on Chrome too; it remains idle until the class is present. -const rail = await enableVerticalControlArea(); - -// `platform` is the app's injected Ionic Platform instance. -if (platform.is('ios')) { - await IonicNativeUIShell.startDeviceLayoutMonitoring(); - const listener = await IonicNativeUIShell.addListener('deviceLayoutChange', ({ placement }) => rail.setPlacement(placement)); - rail.setPlacement((await IonicNativeUIShell.getDeviceLayout()).placement); - // When updates are no longer needed: - // await listener.remove(); - // await IonicNativeUIShell.stopDeviceLayoutMonitoring(); -} -``` - -The `platform.is('ios')` guard controls automatic application of native placement, not the component mode or the Web simulation. An app can keep `mode: 'md'` on iOS and still enable Vertical Bars. - -The device-layout listener reports what iOS chose; the application decides whether to call `setPlacement`. Passing `null` restores the ordinary layout. The placement includes the physical edge and its UIKit safe-area inset. The same event also includes hinge status and WebView corner radius. Call `stopDeviceLayoutMonitoring()` after removing the listener to stop device-layout events. Projected tabs and toolbar controls still render with SwiftUI. If the app already starts the full `enableNativeUIShell()`, use `setVerticalControlAreaPlacement(placement)` instead of starting another runtime. - -Start either `enableVerticalControlArea()` or the full `enableNativeUIShell()` once at application startup. Repeating the same configuration returns the shared runtime; starting a different configuration while it is active throws an error. The application should have one owner responsible for destroying that runtime. - -For Chrome development, no native plugin is needed. Add `.ios-theme-vertical-bars` to `ion-app` to simulate the right rail, or add `.ios-theme-vertical-bars-left` as well to simulate the left rail: - -```html -... -``` - -`setPlacement` requires a mounted `ion-app`. Call it after the app root exists; passing `null` restores the ordinary layout. - -For example, an app configured with Ionic `mode: 'md'` can use this same `ion-app` class. No component needs to switch to `mode="ios"` for Vertical Bars. - -The class reserves `80px` on the physical right in Chrome to simulate iPhone Duo. When `setPlacement` receives a native placement, it uses the measured UIKit inset instead of the simulated width, even when that inset is less than `80px`. The left modifier moves the reservation to the physical left. Override `--ios-theme-vertical-bars-safe-area-left` or `--ios-theme-vertical-bars-safe-area-right` when simulating a different layout. - -This keeps routers and component backgrounds full-viewport. `ion-content` moves its scroll foreground, `ion-toolbar` moves its container foreground, and `ion-fab` adjusts only when it is placed beside the system UI. The corresponding Ionic safe-area variable is reset inside those foreground components so descendants do not add the inset again. - -`ion-menu`, `ion-modal`, and `ion-popover` are handled as separate surfaces: their internal foreground components do not receive the main-page conversion and retain Ionic's standard safe-area handling. A menu presented beside the system UI keeps Ionic's full-viewport animation host and offsets only its visible container by the corresponding inset; a menu from the opposite side is unchanged. Left and right remain physical coordinates in RTL, while Ionic's `side="start"` and `side="end"` values remain logical. - -For a side-by-side menu on iPhone Duo, opt the `ion-split-pane` into the separately measured Settings layout. The sidebar is 320pt when fully unfolded and reaches the display midpoint when half-opened (50vw). The application supplies the posture; both states have the same viewport width, so a width media query cannot distinguish them: - -```html - - ... -
      ...
      -
      -``` - -Set the ordinary split-pane width to 320pt in the application's stylesheet, and let the half-open class change only the width value: - -```css -ion-split-pane { - --ios-theme-menu-width: var(--ios-theme-split-pane-width); - --side-width: var(--ios-theme-menu-width); - --side-max-width: var(--ios-theme-menu-width); - transition: --ios-theme-split-pane-width 300ms ease; -} -``` - -The registered `--ios-theme-split-pane-width` defaults to 320px; `.ios-theme-split-pane-half-open` sets it to 50vw. Set `halfOpened` from `deviceLayoutChange.hingeStatus` (and read the initial value with `getDeviceLayout`). The exported `HingeStatus` enum has `Unavailable`, `Closed`, `PartiallyOpen`, and `FullyOpen`; `Unavailable` means no hinge is available. Ionic's `when` decides whether the menu is a persistent side pane; choose its breakpoint so the pane is hidden when closed. The application chooses where to apply this width rule; an ordinary split pane elsewhere is unchanged. This layout works without the iOS 27 theme and does not enable Vertical Bars or move an overlay menu. - -These values are web-layout simulation inputs. They are independent from Ionic's normal iPhone safe-area variables and do not change ordinary iPhone layouts unless the opt-in class is present. - -When the app contains `ion-tabs`, this mode moves its tab bar into the chosen physical-side reserved region and aligns it above the bottom safe area. The Ionic `slot` value does not select a different position. Without Native UI Shell, the stable Web rail is icon-only, matching a four-tab SwiftUI `TabView` on iPhone Duo. While the user presses and drags across that rail, every icon-and-label tab reveals its label so the pending destination stays identifiable. The Web tab bar receives pointer input in the simulated system region. Use `ion-menu` when navigation should become a sidebar; this mode does not convert tabs into a menu. - -On supported iOS versions, `enableVerticalControlArea()` hands eligible tabs, back navigation, menu buttons, and fixed-toolbar actions to a native SwiftUI `TabView` and toolbar. Vertical Bars works with either Ionic `ios` or `md` mode; the application chooses both its component mode and where to enable Vertical Bars. Back navigation can come from outside a fixed toolbar; other toolbar actions still require a fixed toolbar. It does not project ordinary Native UI Shell controls outside the vertical area. If the app already uses the full `enableNativeUIShell()`, keep that single runtime instead of starting both. The Ionic controls remain the sources of labels, icons, selected/disabled state, form submission, routing, and click handlers while SwiftUI owns adaptive placement and interaction. Fixed-toolbar actions need an icon or SVG, no direct text node, and standard `fill="default"` or `fill="clear"` to be eligible for the side rail. Text-only actions stay in the original Web toolbar. Add `.ios-theme-horizontal-only` to an `ion-buttons` group or individual `ion-button` to keep it in the Web toolbar. Placement is chosen when a routed page enters; changing an existing button's content does not move it between the toolbar and rail until the page leaves and re-enters. Menus, modals, and popovers retain their own toolbar layout. - -On Web, Android, or when native projection is unavailable, the Web tab bar and fixed-toolbar clones remain the fallback. Those projections also work when no `ion-tabs` exists; text-only actions stay in the original Web toolbar. Disabling the mode or leaving the page removes the native ownership or Web clones and restores their sources. Override `--ios-theme-vertical-bars-toolbar-top` when the simulated system controls use a different vertical layout. +iPhone Duo support — the vertical system rail, hinge posture, and the posture-driven split-pane layout — is independent of the iOS 27 theme and the full Native UI Shell. See [iPhone Duo support](https://docs.rdlabo.dev/projects/ionic-theme-ios27/docs/iphone-duo) for the complete setup, including device-layout monitoring without a projection runtime. ## Two-line inset list items diff --git a/package.json b/package.json index e7bd807b..a9800007 100644 --- a/package.json +++ b/package.json @@ -35,7 +35,7 @@ "prebuild:css": "rdlabo-copy-structured-list src/styles/utils/structured-list.scss", "build:css": "rm -rf dist/css && sass src/styles:dist/css --style=compressed --no-source-map", "build:ts": "tsc", - "docgen": "docgen --project tsconfig.docgen.json --api NativeUIShellHandle --output-readme docs/native-ui-shell.md", + "docgen": "docgen --project tsconfig.docgen.json --api NativeUIShellHandle --output-readme docs/native-ui-shell.md && docgen --project tsconfig.docgen.json --api VerticalControlAreaHandle --output-readme docs/iphone-duo.md", "build:demo": "npm run build && cd demo && npm install && npm run build -- --configuration=production", "lint": "prettier --check \"./**/*.{scss,ts}\" && prettier --parser angular --check \"./**/*.html\"", "fmt": "prettier --write \"./**/*.{scss,ts}\" && prettier --parser angular --write \"./**/*.html\"",

      Y>*uDTiKhWKU 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 literal 46170 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%0D(KuGi6>jVO)k9!z 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 O&2Hyj>k3Psxc>t=%&ipw diff --git a/demo/e2e/screenshot.spec.ts-snapshots/foldable-split-pane-ltr.png b/demo/e2e/screenshot.spec.ts-snapshots/foldable-split-pane-ltr.png index 066b8fd71de9ad483eccc851ada8d64d94758efd..e587a6017a34970a2b772250bf743d1f3391b83a 100644 GIT binary patch literal 54615 zcmce;XIN8f*DV}GWN#JNN|TNvA|N15dJz=_r1y^WUZmHch^SQQNL6}`^csR9y-5kZ z_ufMwA<4Pf@AaJb`o8P@e9z&B!Gx@=weES(Ip!E+=99Xr0@-!?>ktTpO!4J&O$g*F z_?7tmUsu4xkMq$42;?7#;`684zUe!&q=8!2)18MSiF@#ryd8KVdjNO9-(Bi%L@*|!NF#lyqHBo;dG)aCtwXzQe=(hUso9FLzkwav}VT_2YZ-7E4b8HDY1bL4qQz?D4a zz9P$x#kQIW?ziB25_`k)`FvN)6t(irK8hRhHGjKYl9ay-AUc(_YyCWixRMk9*}~Vv zY8m21;1!6C9Hj7-KODdDC6xV9Z0tWW?lT7?1^2+>LRuOBf+TXv$nbG+6s%Y;Sy(=Z zWT5fFM_wLL`_4E-`vECwCzd&|@8{Eoz|AEJZoQO&ICEAH_?26T2%>Kyqr>c6?6sn)Jpa7*3W-;&!j^g za3rvn*?M64=6C_3{4o;G?RyOot4D`TInU7ti4B`Xh4p3caR7s}EM;!d8a zx)-lkk0xVgpijh~zKs&|;1b}G5`O%+-bG)keeL|;IDfRT)E*JVAQJaht3Y+UNK4@< z=O1Eo9on2640=z~&ca5%<4YTq54REOGfy}>w&r%t64He~HplU8U*{2X`}5Dhm3PIa zzPPR~%D?}1A5NyCF*O6h`;dwEN^LQ+M3+Xw1U6D;iki)#7}%I9TOS^5arg4l3AruS zR4-&dY@9Q6{{g$PD3n)5=HK^`TnW)JX{0jo{9fUS4PF(ABl17pvmLtWwzKgq8151o zDH^5e;O?Ji7)~HSa0p z2lH|m;)R$f{+LBhpmnBz`OD28EAiH!t*vZrv!tod|KQNoc9WP%KR#r+md^ksMQ3Mw zVZhlRVl=+l1+~ICVk2|j7tLfOZG!pc-mdk9BVUDSe`V$5molu*d3>>`lg03O*+&4k zM~7yS@n6Yl-|zY1w4O+E?2_?#va?g~?W(;{c~qK^m%F#BqN=pdsSq8=KdzFJlGRhj z=U<3O^4f$Ux;jol-YW+`yS4VyalZv8#RyHTO=|ORHRYjozcl&HPbNP3%pOAp9$Re` z>h^EpYY)di#qUj^uw(s*G6H5AIU8`IVLK~O7`{`}*wbvAxii|Zjg64;aC5u!#G>>> zqbuQ7j!T(F&e+Ic%j5k?4uvQ>0;Yto+79VIoUnPl^hJ)l<3#ReYS&+zUJagyav6;} z3t!D4kiPc8K|WsIfyWE5Y|pB6B_^sHG#)K2!5yz%U0L8Q3p2S@wyNPs>>$qS7Xc1`^{S8B&*Wsz z=*Y6MwdiB~ZHU#v=DKOKwQNkcRzWz@F}wBi8;`2IbF*S73(LG=%{CW^9QGx8$c0+j zlvlYa+(~@3ClM;2XWQD|ZoT+DX3$LO32t+;DXX!SHY=FwwxMNz%slPXl}B76BI^m? zFlf|q$$a)LDR7vD#=jtES!+CoCM}+aCq;jG3Gwl{cGmW9{fLjR>YJ?!C}=|r4{Q4D zPi1E4xXu0=U@{86Se$l65Q+?rX*`&rFW>5HR2!bhyk0S{f40Fv3XTSnWK|<3IzqT#{+P}x5@e7V`P&n!hdVDn;1(-e_}o3 z;lVOq-)LiFBZ;3NM)w6~KW*#aYq?mfElV41BL4Y37ZVdH`6Vrl8wu6-4Jw9$I;34TNex-5(LXrW%6BT`^tC1rg>t64^ERP`I z!>>SoPym2ZCGV|a}}#(gR;FIV|0l<{PDplPqMV1nm9JA2UCBB@#M`DC7QveoG9Y>wCVn3@dE zDN8yiad@)Eah)S8u-bmaH9ue&L1^6^+25Ljhi}HEJ#h}ipZj%a(9$L+azk(a_19z7 zFK7I(f7O@h!R{3FWf3ek(O1Dqkrx#iD0w9(WR^e*CGn>8BrjIh*RdG?6jepVZlSqr zLXyqi78c*dA0?igA15>WtvoHlN4ON2A&7dDq1$_VF5-uyMK3@7^_wBn;cUjro{|libd}W^12al6ukNe zpWQv%Kd+)^JPO>a9mid^$6YI@q|}HY`ImRSID|sl7csGA<}`OP{VQxgMfJ>X-E%PK8R6rdb*_T0Ogk3%arb!&J2tVWyFr_Iw2?W^)3q7=mPzhH z5)#0D|OUmsgm|Y3q;_10C)8n3n0`bCk2oq=760;iT&mR@7*Z_ zgH#v-zs2C%Y$J|t+7G@Xc}COjwgnBn=B2`Si~L3j`luI%+MOOB8nWLW>-Sh65DUU2 zY&HTIG>IU@iZfDswKz{Fb#Q->l7c^RnwZH~VemQuI4KC@8T09rhC*Jq%)O;jtJ_{e zY;3p>3{!Lrc1?kO+(V zbiEIxH}6^|QUUBY+O3~{r-!y0$(IXh%AA%pY2>*186YwAGIVwfLG@Y&l6OtSCsUemr7j#zf} z9t0vw?S|bQxuHTQ9r%9JPFp)c`~bTz@v1;A&07z9%Jiy0$Z_oATR5{u`Rmz6;f~k# zzYwcQcf)8lrfSma>SEkImph{JJ=pDM0*?v0230nw5?G59V}`)$saze!6^K4d9T5q{ zh(l$K$Efy^kOuv-ih@@ow7e7kX7%&t$?5Ji?W}ocG*hCZ`aXYg+=Gj!p%`kD2RuAT z(ZKUJi^@^+zRP7`xoxbii*q^(NUxHTA`X5jUx#E@-U2v%%+KFnT!I$g=Am>= zz3<2n4UZv>Nxn|WllJlwqyy#c+ph{3CC}Xo{`2#ds z53E5H2vOu`)dE2#p40bOISR7J26|~(S+Il`-rlN1pTNrViXR$&0x8P+GHvO;d-qO7 zA%;a}uGud_t{1?O>ItveS*d1t(5u0N^UVU3(x+GZI9N|#pYKkEMLECkQFkW>y}!S@ zS_Xk|Q3C{AoVc(+xEeyq5zW~%0S+PMe`Z)RUaZ4?Zz&71u(mctMAvnf8(I;%c(lWr%-nf*4G9kjc2tR%#GIdN)Rksx~)3x-#DQ()#Js zr~MY}X^rmwbREK7-vJE|AaFJI73;_}6Yz2elqGn~wYC2` zYodX!uDADxENJYNi}BXC1V3q6Ik{ie_FB@olL&FIEv^qXX9fUR`5rFS=(33HjkQP2 zi$tqtNqZfyF%9#Wr&szNy9x}Qm4>WmnVF~Ojc@NGph<_ES5aGG^M316vyG^Y$*K~6 z`?r1mAVr8cPuT>{(Lq`<8$>^f3y*D)Zviyx>@emGLUEbM03iHdTmbCO^%l#{=!dIu zNlBWpBp8O$blO#Re?UzNpMCP;VPPe&Nu)FsA6VVZ#6Xlth1p_z8-+i!REwZdacL~_ zfSHO2yUyA5CaJKO2Dg!kkTZ%-h;qS6aTrwKPDMEM!X2q+7R2wdCS}rVAHdn02A%uS()L@b zNt)EToHYv1XNd(BCu}zc_(sA}wXLn@c{}$Z)eiLD*y<(;&z;=C5f*V@^XVj&IC&ag zjPLJ4BWmrZ;$=?+j-I=?xP(B>0m5ppz3ktp?nW)Ov@qvuX=(~YsVpxp)=*MXA{RqK zLXOvO%)3Cbr_OC3a4_YA@}@n%?J^(aqM)s+&)$p%UNXVacjZgxoc}i2vK_c8^sa;* zV^mbs?r@%EU|_T6Jq3kM>t5ZPOyaMY;J*Br4h9J;tK5>y%sgFTS%-1|p2O$4@#g`@ zdKQ-C9E;tbhl)P@i06hBGNxa#(n0-V2>!8hV|nApElX z?U%Cz*Xc$e>Mviu>{{!e=1}?ScCsNHzyxx%Y4Ev@C5n$Z=;XB}3U)`8OaQMkR>t7H z4;Q564OCzP!0xLAx`;yNLZ1kteNC09QtOSmX}z7j+e^?162@r>otg8tGg5g$CD+5wS(S^+F0$Fy0d$e1C!0r8+=C3Z?Ck6_G9DPR-LEqfEt|Niy;rXy^~`zV zi0Fk~ww9Le(Jfq@3tGd2B#P^Zh_5-%)T7qY!c!hR6A=;N#Erw|bBBxz)bfLI*V05> z1I|~+KhMdHPEXrnPMXM>#JxM2MxrS7VEDsvGlGxq>-iQO_GHtsam+GCYH@wtmeHgo zaI)M)f*K-gy+FlUqNJi2jP2K3`GbX0NNz1JJFaSljB>}Q6v*H=f)vPEE>Lyv+72o# z!#gAIj8@rZ-EEVXf0030S*CEI6IfauzdrC#)cvAsV==UGZq)MZBY%OKLLjQ0BM3_t z7_g`y;Mmp5%uCPp!98bC9LZF#+nOgAuLhShdn>r9j! zDyd_|UQO#+X>7{D7n^TTpJe*e>iki8=iS|(re%o>nigu+WnM}7OIV#NTQ#F`iwO{0Na6yBfzIxf7lEme zlHO3TIk;^Yw!OB;`=Y@@*TrSeAFf)`-#s`8`u0D67IQ|o%uX2Gs!qgS5<>do#&6|x z&}E^;tR@PX0?0AvBv-Fq!(vIBaUH$WwfLlr43j3+iTcC%B0P6kyw=l{bpcSDF4;PL zVvqqgaCsFIK`S@5!bipcl^r+*onDel3kz7)6F~+pu_8Dnv$~icEwjf@U z!LD>ucFM;vft|@}Ki0e&?Q9h35yLE&lAdt?Q1<9y^l!%CVf7L7g5|I9Z|iqut+8^db!vTFG-k*KRiYrEFS&=Jl{! zf#tb;W`cN&5jqowsCjv9)L&=l?1!Ojx9m9bas?twl~H|P0J zo2;`Oy>r>pIgt`ULfQdv13l_xulE0%I0t+8|M_SBHh5cO+(HEpnod$q=1s8Yff8DI zO>Pv^ONF)%WJa}4fD2bA(aQg2wXJ9Lj{B#Mj0jTV#C9+UV6>Ghnn&> z{=0@=&CQY#8FBw){S$Qf-6;W_V&Qkd@(Bn2wlgy$04l#OiiM7rAtzyW!pJpXd6%Lu zg$Qs=mC$*!_<}jkwkB_vkxfsyKU&ZH_`ar%t?k)4Dd$5urPD0vxtNTMjHu{D=QLL7 zZEs1ivG8W?bUD^_y>*`SdrnR`8I!|JNLap*ojUYj;is_Us53EI-!WeMHJEI9!bf$->WV682ig(2e!|fZO zw^T6usHy(DXrv$)<2qftTejSxSP?w!Oo_u?0C>e~)>5jSl9OZEc8v^huz=?&e&7!& z?HL;4#=n;!J&K=E6j);kgiAhfuBTVQMk@Y>UE zer|kRuLOzvu@yc#s-0TzjP;I^7xe7 zi0f#PbkF%u_TmMtDcN=MNg!6uj<`6^=Fe`s!sqMeThViVxEu;vdXb}}cYcS5?lDsQ zbz1A?8I7LUpw2PD0yboWKYS06&n_di@ORfo?2H*i?6;P7(&N$t_jc?BLX?zFD=g*f zT#&>4{Zj1gt7o5<9mmSQ*aVm9a(lo!e)p8b#Gu)U`PBI6q9UTSdP?M@)S-lT(&5>y ztecv#ye+?f|L!X-jf{LHB2ovqgohs_Zh7rY40-ZUP*8OLo%Y04jD>o2W8+Vm#a z5hnzq&pZy|1cks0t)5DRzI&GU`D|^QPsP@tx})hIFBjw#*{+1A=1urNp_tj~gWYk{ z;9V21J?Hp>SwHk6uZfYi;~cdlGEmWP&I@>2X^%Gar#+dGIDYEo5})6n6nxr`kVrQx z(cL9OlxwlrTy$n;Y}(tmeTdODC#R1xYI~qE_*_0WKi{~~_nYdh|8**MR@Q9WK~pLJ zlUGVgl70e9T|<_d+bq&=axZsPM(-6sT|P09{`t5fFt#9wLbgvFTVfK(2V5-P%O6twpgE>sP%#5!Ji$8{Q2YYtN;LX){pWc z1lR?Zen;)52|LbJ-W#Og4gcYfLT;IH`d<8SMc_lpSuoS0b$a{39gE&fE(v;^o=Zy> znp$yrGhaSHmuIAdNbiK_)zeA8DSb{a3~|yYc+{o&E7fY4ORK657-mG z4YV50{8if9|NJviW+XxzwFZd1&oL2tH=PNGhhodFaAdWc2o^RlIA~Uznm)0)67wG} zAiZ>aJ0m^aN=Z(xdGpHCr%&Tunp7~8AaB1BShCXA)&@EC_urHtaX*UG3gJoxV3#8c zdc3jhK^!XQ!Yp7h%V+d!TSRDprxsIZ7o~>?CLS5`UnCpI6mw=2hNE69y%{bIaCM!& z*Q|xL3B{t%K)9aO>n|IR3@b(65mtTo8-V9L5%Xo3Ow=7=-M6VLYc|TqP;b@Rm>5?e z2vI-mi79~^gMFR5a(_9YwC|=L+0E+-;|tm5dD)C=2LgZWjC0Rg=#K|8{4#DPU)azm zA;uDhWBad>l5Tr8_8Zl{v}U2DtqbZTUk1oL9b|Bi^}+D>??HFu-M2CHp*q&0SsgG> zz28W)1xT)43&ONtui-Rd-(4yhD`k=K-YDw&D^I|<;V6qC&kX*iNOxDfo%ejBt?Hgy zrmyQEhseytWN+_!**I+}{xD#b-muzfw$PoD6F2Qu|8(jp0EMsKioImwgmMj^?r*Qt zGS9^_L)zW4@HYKlaX9omw;ujay*rzl+8}5H0XHlvAt6#|=7!MbtRGC5YI4S&PSoqG zQNTWSb^ZSRKCN*!x7@VOW#YWBPzrkCC;Xt+Xxv4!llH47Mrv~&K|s$F+bLk>b0Uv z#>2zHxJmq2S3=pd_GPI20J{=(L;r+61SA4Z`u=c3Rqhq9*#|20$U+T435oTI z3QIq~MvH=kI7HSw2u#e$=4`q1^iyI|)W(p>Iodeq-SN@~GN8S7e2V7?o<2!?ANzrf zLD3xGogb0_di?J1=aG<@_Ki=8(x3pSCJRj;_=I$gQ>E9_X)Bd~63-G7n9_No+O zA&No5C+Ok}w%4EeT@hP2xqm%jpOKlx48h>CqiIJcLkLMl&q!lG*}qbraCRN!|4IzyH=< z$6!gje)+?t+1N&=rz0+|L4MF*2}$&9Dq2tKXNc-N1D6$8wgsJ?VqtFH-&2p@G81+> zOZh;SHY1tcq-n|$d{BOIM`7Bh*&WrW5|(5?Qi}_DD>7Ig;Nb6X*d`w}@9*Qj{iJ;! zcAPgp*Mc74v{WEZq7Zhu$ek{j1r#_%PYtq+VXoFBoU$|KbW`Nz)3E<2k#4h(U9eh` z=e;K=6z5`#IPbM_!#edBrk*`s><=C=pJDge6rx8N;Q8%h^8A z7|?+`${|P8ooRV3jQtG&LVRw$5bxOGhk>x#e`s_GAD@@-|1=mo2*rl}~9VnuXN90{ zK}walg6)kFeqDe?m(Id<5s-xjT5vA?l75q;pK^2?qYcxvS$sU+CK4po$$^$K*;x0TXZsr4>s<9!xOuLuB`n( zT^Z0f{eymzwI3@7=|M?J6*grT#GV#@zLYp8$W@7og;Z59jzC5>cNXIKKPj=IWK6PN z%NrXDJ3A}-Zj*sO;XZ^s&_yc*6SW_F%ngJ~s|8!hzSRLTsWzqNVN<gUSnwZ|Fa)2jQI3n9${PqPR zd-Jgb0E5K}Iqpf)7J$KMp-rj4) zW{_5ym2B4VYb2}f`{W@i9-f{H(OD4n2b`Roii(Q%_Vx`84Tfd9u)1M3F8~ohuOmbs zRaaMsKpha&d713fsnpT@jX= zfmM+ebXWK9|CZBp+w}A^Fc|e+eF|3EeU%(C+}-;r6QWKJta`M(#$7#Jh13I5Sa&u(ko&hg~g@uKj+`9%0nH9?xvV=n-M?d5$R64+`8mr68Ru@LIdeI3dlHn8S2)pTj%HJcsw4+s65sIQ2UqPKSo9-kQ3$o z0*iH@_$mnr=UP&HPH#Vw^WlwwQWEos74@G?%)pZ(ASejTb?m_6p|2l7!_%jaTANeZ1G5|Et1kjWn1G8L#j0QxN_5md|HM2^qPbVSC z&0(+>%+|qTTl;{x`_k`%tl(npTFu~pAUX-vIAw_-H@6=KJtr1Lv`1Xj53rmDFZe~o z^xZ1${ypmV$|n|57YA+RF96N_ZKWoO*QC*I=(~ljVlpO@PH-SyOzVh-8G3OzAB-)V zFp%)x@jduSnphdTYF)>kM3upw^}gagW}i zEN*9WAi!uAw}4cmjCgNvX=Guss015efbAH6323XUQ>YG$Gj(F*#@|V=^#PW1y zrmd#mV?!1GeD+f*rsF<1)YKcQD$Ln(OrDBKv?(zu`NdH$AFO7A8`eAwI>*-5R*AiO zHcrlN&oK~c5ZlZktP3eqPLqp^8FwJ3}F@33m zo${G9SF;&4H8od|a_Disq=q|k(BxZOMvq<)iD zrpt)7(O+M_Kqbv)%F^^#IM-sRm6cVO%LRb4fDXzM_bLud$L=+$5vdEWu29Vo=5C9O zHPd*6k)iCZ*R1D=6>2&;WfS)S8{pbf3!Ilo(LAp-@4>!+)BwYu(TVFZGW`7Ri@(A; zH0+DMO8Qk+yUjxhxZzQr{!;;sVvo&VNyC0izdz*@euI6LCE$D5PHXM?>;2!FEG*)l zFP%5hCnpz+;Vkko%sg!%G9>~|cLrq$k^!eqUbFS}^=;u4C1jSG-pUF;dlI>=vH953 zg-{Bm5&UOr?iCg5q_niOR}H(h)1PsyK$A(H1*-4M?Xfaz?JciKJSgi=oTqYm)qjP@ zwK@FFva(w@pOlHtQHa4{vAuQxyX8_Wz9nUjbs-~>)ycUA;p5|LH*AK(sXczYnrG9| zqWeRv-n~+IaTtddah*Bjd(^)Oc>XP1VR{{UA` zC@BTal*s0@*fD=aa@(8WylGfiSeTf~s5n4f*?MEi5mG%uapy6}#(nj&f3p;?P*ggO z^G-%zd>@@vccp(w^o&TIq{zBjIPFG1%GAcM(d};a*QCFtAc?P(K6ibjd{F>eqg)^v zP`C0X?gumj8xw~r6@ENd)&5WRTX!W8Nyts$DB@R*{P^)NJzq!78V`Q^4h6OPe)C8O}s`krJ6jCoQ%KRKqQb~_ESHm?2 zOW|Xr8Z7?mcH!0{RFH>Za>+82R0C-bDg7Z_Kck(~5QII)jPmRcU45@)Jk~sitfQHD ze5+%BhxQ|IjX;IFeS3+j)g|RHz}RqP6?yW@xQ0=$fT3u2J3qpt*>^}((s`;Hq=3NV zev#Xd-0s~}+f4qlZz{>!b*@u}d~(m83DftFn?Wo$b~6PA-USZEaI4y|#6iDSMcXhxh-(1>AqxWtf_p+9TY>tol`GQ!A8HE59)O zd^oT$PUa&5K71HEITUU?zWDuVS>bda z>v%LOL9L&>(sAkShHlSZeESSavi}*_&jCC9fOsl5Y1#uV;NDDwn)JEVw^I&aW((Md z`<(7fGBY!0NcbduH=y5%@|do1A`o|52Qb<3PBF+%^ zihB=O+)Iy3igcT@@SByc_6S;-e#Lj|-lW+kpX99z5XhY86)nR_^OyBw$vROWsPMM* zORx`gVWvz>Ogz{>jb4tMWcqb3CZMuYLv&)NZoe-7-YnFIG97F7;{3cC`_%z&R5A56 z*E7v`SjEOhe$Zui*~0R32E&~@RHlg6PCLlkN{wK8!0D87@ZqY!MUpfibkotlxPf^B z;dXZmnY;!ZLm#`%#%4%hxdb?G!cH&cLF9i#Na(et7h0gpe-Cy8DNg&(vq<&Sr~yxfm~Md3SJuFx&H3%McYxegb=OaSlA*S~$JywzSC) zRK7Y2ef^#L{>J*?Rx6wB1d0w}vLZqxSY*9glF3J$dW!o^{8TS;OgNb$<9E z{$nBjt%EE)eqyr9mIp_rF^LBbIx3Hco@rOLuU`p4dG5`WsZ5`~C_tPYr2*G*B0cU{ zExD9nZIaRW+6-DZ)nArE^M|u;-X8Pt&v4V7pr@ve$a2f{rG1uq6gnu>mAN=t$!LKA z27g>nP%#mIa%myfVl_V}gF!X&b8~wfe)q9jh>=3fi&%cW*-J&2;f|&i55A5(3y1O^*U~b(0#3j~&14rmfP* z4qvEkhw`vO^wr#6Mj>UK=_U4L21!wehr5$agvDp1xu+R~op@l&vK&79QsWq|f^f{= zv;aMWvWyx2PmUVr>Tt1&gd!ENQ!mMl8Z7@7_u8f#B=}*v!x1=}$&?C8=HMN`7g5al zb-o94DhCG`0WOp^Od4mE{kpA#@_|a?>(qNW@ddBqspI40!0<$Y%Sz9xvJA`!*XA?d zmx5YYDH=iVVvlh?^Xj&{7eU)Wf(5`R0Kb@;&S>()BIrh_Ub0l6V0pN> zvOL(*V%rgv1w9%{gCTOWJ%#AUJ5;_lib@pR=g5)>_zG0z(|k~+hehu&Fa(s@-q1~V zGN^@Vr|cAL66>pfs=pDd1Cla`0Hb->MTcmfe81t*{%c??kJJJ@wZwxprKVFR6}@Kb zjgLgc;SX0=7Z=YLhha7|!g&hgr)7pUn`1fST^h@VwGJf%iAnf<-A90&So7X>jU6Hi zb=e$Q{;;nbDC{*Q1^jZExPu@b!|EiW_Sn~|j1rCb@~z=sf~{dT**sp%2Lo+}idvQy=3y!^v5!o85b|)504X8;je>=&6OSNuti44U^r= zYBULF;J)p(lVqhFw$6Gb#N_(Tn@)4h4Wl^VWh5nMd@1DlLodBixJsK)=~@|{FQP6F z9IX0CKAEx>%bv1)EikB6ZrmW`_J;?KJ<+?a+D}nW_|^&f`Dpsgt4^L^5XL>nB|0WT zgR8Z((`Spx2YQI2fbPm1wmz$>b2;C|`Isedez`?Li$ZS<51e`6XHrKB*b*xRgPKF? ze15XUADv)Ua<6tnZc9d1twgXs-pJ~u1QPo39H}z!tBCHbN$(no_#6~j80-Mzicw6p*K?*ZNSGCX8-&%nSS&s8>o-P+H9 zTU^|*mUWuH*N;%CSLq5`@#{|4fMsTI&t%$m&Ld!GlW!oaX`^jW8tbqMv}w&&V6e{= z4PJ?lxgo>mL}-!Wm=m{XTbpH{muS`pUU~5h)$7l_M#l#UfZ%hPtX|wFCYile<1qd= zY~F2p0QcGYYWQfZIa>weJvwIlMVf2h51hwJSu5f@t zlrjhujw`V6N(OPgK^5<3Liaf7`g{5w*$f?-E}ggaxQct(C4K#BA+BK&gu6y&ovpK7 z3-FT({7v_wS!WEBbkJ6AV@g$(hrE2FI}eAgt$~K&Nn+*3Tuz<#>G1fsJ1*>}eIr#- zRlLtLq=HKqzF6IsvzbMA!K;`j>h{%mZFtBsbOSKj?=R~9I-tnKkV3lN$`D4WZ2)ca$ ztV^cBhYi~Fq7NR2L~P>vtZNdJR_g(zrp;7K=Ft@EuVkD z?=F7en@oB`YU+>L{T3SFvp-V{s@eKL=H7^_tiFD|xZ}PVR1$#fWV3+vwYzQ0OBT>` zdzJC>+4IW!@?sS0V@QbbIsL;{;XlOYQkqSJ&_l1h=KGQ};;%nz@`9}^Q#PMJviU%b zF~|~YqZzS(5rpM1E3GdIaBctdtnTD^6~s)c`}ioc$ut5x<~TTD_Sos{j@Rs_&)~_y zL5ir$nHhBN%g~tf)V%oXqxGyu4ZygUH%|nl1XP+&Q2j~7o|Hcv)A6fr&g32?Q^Gqg z=*q?+g``lx&*Q;rXAMFUk(8X{XrSX_`1Nv*tqZXtJTYQ&UsCwisY> zREHlJtJ?wB!ZylJQ@tqJ%&|sXPfujo`8E$=$({9h%@~2$kl^wxJceF8@Z=i;jW`}F zc|lu3JGXFHkg2Gwg2R*yMl(u_de8h8nJ@dbyVToqVYR0fGXUx)xU_V!psnzIy_dMg z*T=kSYOW;SA%Iu@A(VC<;^*fFn4HW^=3o6PY&<0$49#h#>vm4=UY?IqG7}RmH|}*E z9Uk(`8_efDhZJ7jB5SxloD~{+)5mG#A!pG6Pr!b_LB*t+WX>IY$kEZsz(Ag}W8J^D zGT=E#mk1EQUo8(DL6ZFIVo>NFsS_VyU?Iv?84xgEwX?Riw$AaQIWz&4PYoSvN>9o3 zy4&`lFg7baJuV|-d3V?HTgg4K+3&YgOk?;6CT-gy59uMl2vQZ(L$XDfjyZ9~f2X7z zlwjkVo>TO~a>!vbXB6N0*oUySoM=3W%| z?2bJHbh<3{myC?Oq57*N=gK5}d58-t2Rwq;%g@V%^VT!DE7qZv2JJJVB!!@mt+R;N z%k0jRdcV|D8?oW}41Y;m`2BJm#@s$J;JUiJyo0Q4c2$+7y&+EdnH0KnNMpzW)!nVg z%)Hj@6nDwO{(I>qzag=ysWennD;tGRF4B%)=ieqyPiH*AG@qSa6`T_fa|AaC67mMj zXJ5a5J?Q~7gO_hUy&X!_rudYE0U)x(V2G>hvE=;a90CNApa8O4Ru*D0Za(n17RR87 z;DFiA32VfhCh~9p{Hi)jQ8$E{H5$$5|^YsM{qpl>xjR9zfkZdPS z%{bstBtvgibX7HeW_Ja1Ry?j{+BYu;4IAEK!FE(3G zE?cuSmqEg2AtP?xzG?< zdoc+K332hHqrR+!goL-mSlmGynw{?y3}i&!;jd1h%U-C>At%q<wD&>OxikYo zQUIZ*h|7XX4WG(5j2?h-rMAw_bufmLIR2gCCOLT~m}aW0LjylaF1M_1H=^ZTRfwdN zR8J7`Jz(g1l-H=NG^hj7W`@ElO-fdFO$OrWi6GwGJUm7f%^=WhZ8`MxqUa$?reMP2 zMU|}#7cmY?ady~QQ+WaC&WAZ(Tce3`1TZ5%oa(lo;iK$c?WW*;Yo8`xUiLC$Y4mkaX)ETNJLv}aw2wr;~u<>m$jltuk4%sTm!T4+d>H~a=_Jt0YyG(X*?kJ4Gc&`e7+=| z$rAhc_!Rw8_CvfZnq>#Nmdyk3bN{|}^So@WH|E4%@d|1S8K0q195yU-!416a^EyYP zTBpjUb9cB_&@kheMz>9${C_7mWswh%h=eK4%BK4I(J~{wujw!&7aDf4pR=-`Q9$)K z1=a>Ie+CTf(O~U+NFnk>|vBE64sckz`(yykAxn zc`^6c*q&7|zyr|yv0 z%#4gqNdj>Ft*~aLupXJ2C zsGrd8UAdb5H8ykv2sFIJz@mo$`}bL!Ker^xMY!(2OgU=H_3$&d0j0_$+ zSt3Y;;>(wR{uP|Y8k(Y;BLK)hqr7HyqjKFwte{Y-9=jJXm?2ST{`1E01L`|>Cdy5) zU)U7r*1wuo9WF)iMbQcBR$K>Kv4b2v9t`N@k}HR|W=aM4qxYn|wzNMHeQpQJlEJTz z?5ClxICu@KUz%oQoWCP6f4XJDR^|r{>W0{ez2)HHDN`a1fe!xUECV>X25@(3lKc{! zoSUc91z?I~N>mx%>i|rgpm=61wkae8r%~@5EmE;UkXqpKz_a~e5b|kb8j=%C>H>zf zDkes)M7JyxiuYTdy<_iNT?o{5U;W$)zmMmpcKG?<#({93!(g4$ESc08Q!{s03dJFo0VHBb=<8FK9%)cTzS>LG#|=u?}Xz zYJoai8Q@?h11TI`e`T&7tfT?jKCgHmxcQ+2LpJ4Q2p>lu}in_3L)6enBA-jjEdMR?nR zbWTo-!=-khXf!NGOC<4`l@Cn81L~fWsHv%?vVXFksdw)n{rQ)Ha_xhRJAj9k_+PZW zcOaMh|2KZ2IEi#BDH)YyMv1J95?LW+uVjQGB73zQq-0h`inlE?vPXlAN>))x3S~rD z+3)*tbHt&zOL8xdOe?y^*r|}$S)B%;%b7allU|^NHGcr zcW%9oRpCY^|9MU+;iCb*8~L>Ehz(xo2=)B1&wpud%}}+slf!Ez=DH!(_f^Isr=zc) zcgT-w_a11xscWO*QunQGHD|uA{arcVSrCv|A&)9-Kq#kOHw@ur$)rQeeOufiO1!&e zx?0;}iYQgW z_Q9|0xsEI0&85q$tTetsRd)WxoE)Ci2eT3=Ta>e@*vW9famrrMWPgV{>0mZCl;9## zd|&?~0D7|u_u=k`yyj87Ay0=pGC+-(R9?u_%GkEw?wV^bm^F2wq?pA90kOn8ce3Tn zzP`Svv~joQUJE7RqH9mlTI(?-E!s2Lu&&wf=t58EGn$GNt|4p>vk*kWsRt83FJHbK z&L(L^N+5s=B3zhi=U2+S%GL_!`_vJQPGa_{{H^3e!D|6qi+o} zRM{@en8(F`DV52N`grNqtt}o>!os<(Um6)F`&&QfcaCNL0viN&A9--} zjx1$Ns=^NKX-${cY}87W`uSpi>lT-9ZMA{aS4pxhahCowT`CdmP0zij+m6=a7y;5K zNLWen{lFoq8?#Mz%bu5JG<6$FMfUUsKXq=SBgkji&%)w%5mY_!^GFcKA8ylOLm}`_geI;9xD{s5QisakxMbQiyG&B9QK|~F)5kFu#n|o2bO=u zFf`)k<{oxJ^^{(<&&f%Dv+_`--e8z$P?R5Uz7F^QqsGHYbB?UvA&NpLM}>6z_{C z9WqV#wCF(d8M<)92MNyc8ZDo|BW~EyjP zec0V6?@e1hMSuA%LG(MN=sQI@4G{NI%+MVL<+Z$e<95TI2)b!;moEhJGG)?AWn=$! zXwdcOc0%!S7S-6;&P(vN9Nv2-?c`MKix+0&jEuwut#zxeJ`KJYwjEz*AJ95d`i# zVcUf#w53h)p$MutLG5)LCV4E=U%k3M$#XoVUDlq4u;ulr)#5|_`Rfy#z%n|_6-Yc9 z;TtuK=ukR*7=@HC`cD>a`6qY2vP%Dh-pOc(6N1sT@hT5RhMCW~yXypAUdYDMQwj(; zbWHe4O+TNuf8GYkIe2%hy}ab4(_#W#C{5JI3=@k#pP%3r?#MBmNN^tcSbjbpo@zl# z%6Q%U)bam#yt*RAd4|i4`H4E(X7@kO+1Nb$(XVv>{(T!M7$tVcd*b8&ofqIaArF)A z=?`UUIy$fMmg7X0=WZy>Hs*pGKHFDwj6T_Ws2tmpg=Z1#na=wR(9RjxlCXvbK!Syt zry4zU=g`wxR6AFYm3p7+^Jz9qKY_h_3to%){#u!Nwz25fSWn({DE9BlvV9*I(4UO! z;*|0n_nY@2%IwzRmG%~)zmy%nb>DyrG0*4E^%`LY)X#9&_xg-_eK`$nw6%94E!lA1 z>bc51+EwI}R&!TwagE3QG}_w%OLP0SI=9^)ME%Uk!Qotab`odByN9O$KrBAF5{@R^ z(v|#KqAoG*HT7F63+q#FD$c;`GW!l3xG>VG<|wE$19@>zp^MG!nbAO5zd0QvBRN>T zL~G`jX5UZf2#5aN*0;OyUwQH3#U9fGEl;3MTeEJRK|Xu(zAw%lNRa8R7{u8gNrQ|4 z#I4|L%{g>wudy(sBjOYHW7vL!IeRmr`Lr|br&u_oRFfuAy^#mMa{LmkJze`RKD*BO zKHsc-CtZe?vS8d1@+}k1pDOYu(9Dh~>gYtu6nIWpzBMsoU+D@)8J9zLG3xafQf$o7 z(gHy{v@+vN3$vVd#M!DG?KSbUBknRDbuV8Y+t;x!<{Fv0M5O3ni}i1Ee3P5CE>YG~ zi}PFe&#O**U>#%g_%znDe?$@e@208mn#X@%u@rrXLW^rGe@%WEdTBa0H`h3cGE_Ii zeWcU7G4h_Wq?Fx@ZlFim8Pm8>D&8}*v(D{l!ybKyFDPA55n%fV3_|7^A_prnKFLZ; zGjG|eL$7`FCboHZ@}rsUxS@f@TZ5lo0#$lat(d*Su4d*Ocd z@_(V;|Kw4|7KP%~6M(LM9~t>PJ|55;{R5u11Lv$1wt9UE4zUPaKIU;>{5=&{m`{r% zeuJgY8v1n{HZL}K_Q@@`h}Q1SEi2N9f57WvW`M+!=9gV@D}}+-TrKET9q{25XSTnj z%9uaEuC3q3YZ)qZ{^)g%M*++EVh3G5PHD@{xUX5O@blT2=SOc1`iASArDu91d4KKQ zGBm`;#|OkBZsOtNzt?O`*rpHg8eVP2%MrTiqUH<6Mn<=E*AvOrqYoT#;9e2Cbj_m1 zZ~l$x^USV5EUZ4?iA$r&mb<2G_irGY4VQ%g4HeM(;P!PjKo9xk=~IX@)Xxh+ob%T` zC70`AVNoZsTtheVF=Js>dr1ljIemX8(dS=!nBJzC)Mvg~=Gbg7QSm;e^o`@p@#9~C zLZrs5{g*GfO9jv?j)M4jdx431_-W7xRFAB#c`N47J^;~W-~0Eb+bA#5IsHKd9McW5)Yyu2MLl@b&Za z<7{3$XoXuCPQo79(Pd@b>=KTr#Sz@4PSvq6*3Eyb5u)fmy?QG%OFsAd^^maWFUVM& zU3oh^4IBZ_-tp$}f3WDFkt6E!$N~8D$?E9QkgBS7`k*j9QEIIG5+^e}^kkd8n&g$3UCa(bM98&Ax;6u0*@X+XLHya9TpIx~T9=`UEKlBB! z{{7gTNn`%l+sh*%aV*SDXqpE1398MI5c~Q?vR=S)xm{jaX>XJEbzs0qhAtCF&~YE1 zimEK#lm9G&klH}R!cE|dSCh>5;*=~8|^m7-zj=2q-TzgL4vr<7+~%**D6citvC4xzP9;Z6a6mV=w!%)?+}!N$>iYA? zk8>9;#L*0ML~`F2I=eIp+}}ecNjN4U0qe7WXvp~r-DYxq8!Hfvp5x)cfoQPN!hcd5&e2ov@Kl zdth*Qo1}Alp{<68I$~YEY9$5q%`ax@WpokSd-E4rRDI{`)6&vjzb2he#iu_WPX9VI zl)Ks<@!O^9!TSg zi>J{f$;e1u4S8GnvtgU~oj`Uk5yYvCb^k;Q=xAn!oW0(A{&4uY)Sr9s>Xo_d(b5jB9(#MXti~H0(mN-13N_o=y6{@re6`8x-z6fVwIG!CIv+&4)`eHMi|ov zZN%{5cN2V?w?0jL<=bc&K&|fVX|EGiQ!@GNA#)aHY13lHVF-sg`Tc?LCorRT(h z2e*=wT}R7YS5^Xkt|5&ENdsYc^c}MMD$XY4N?AW^lqqp)vaVfP$gv@sSO9p8gh6$f zq3vSq^~I%@^>XC-uW0;b;oL46eWS(|X%{eT8d;zA;q9mgCsLr=DMiiV(XW%gxL&`wcqhqGSLLfqC(Ez4YtYKUiMVuR+WbGi2L zTd&>PsI#(djk>5DPp?$s$?oeh??&otM!qQ&F}c{YuL&Fc{++U=f_?Y3+AjBsRof`n zc2!J&`&iu(A$jDeWf-y(|GM^}#5aD-6lek-Zq6?xNPWz!`kZ%fcVXp1z`@LcLWH zPj|gWJk@;cT7RCB`o}vlD~0#ZsOPs%iM<{v2I=B_W_NxZysAU4Qt`db?y^tRNa=AQKx z9#3B#RsKHzr8Q^Y!`_Mu8d~b_9{E?op!5E~Ssch|42p4ChWW{G!ofyDbm{y`sF3Bq zj(sdVtRiKTndqo~ZGcywynkoWR|)p`drDV<$t%BW9DM%tX(~1+Ip1lWW{P>`tm{Kp zFi^Nn8|W6M$5THR)dJFzNt%6q@975R&i6mah=tFOJtX;s)LDXZOFaAJ>(9N>!3#TG zep5Cc7A3BgB+m(a0wx)eBw1w19hBu;tP8#*8_;*WfYW8d)VZeIubP7h8hQ4g=0YO& zIsAkAQJtN|V`IVsmEqO%{-`VM?9u@d>WToWj+w0S%(prEGAj2d7F=q z)JAR?@%?hlx4F5u`k;`^mRnjs#XqRR2T!IHHmfnZ2Pyjg-a z;J*x<2X)wgB|WyE+^AUaKJD#+rZUX$yN709FMx(uR8&D!R6D=*?dTL^!^xAlc_)%% z7D3PIF33u^<*Whx@lKP+@=HU9?k>7-?vttU`v2iuv@5HqP#w<4+g$C?e3Kg}UMP*U zw25^PFIjk~=`J{lBgqKKw<$7F4V?D&hIs~e6LNUyZ=oLrbmCE)kg#5&ZSB9XfN%u$ zjSsA~3@9uriCVSk)*5`*iO-)>REHfXrT0}Eh20x%J8`9GqXn&g@jzq5BP0k{4wo5IFcXs8xiW1J-i`U0)!%u#{@4-Om(5~A!sD#2Q6;grnK?NdZmD{b9 zjVZt3y-nX`fQ-3$3_5-i!<#BlZomKZY%&e;c5rM=l~2*w)eiDLI)_+u7}|`@ zYT?)MD+JCp@(Tr65@)VoQW{L87NOHeh_3R(FjO7j%BXNJK!ycx3-q7{&5dOSup&h9 zYJC3kCBGzXiEHQ1oiXaXmA~GYy1@7hkZSrDD9}6Tk^~6B-Ewj~2M%au?UlCqQPn7h zv%Nstz^SF@lof~nNLI$stE3zwJ&JuofR;zZCs^bfHgWyHm&8*lPJ(4ceX zT1+qcRh)?Xw2X^S-$b+QDlROn`LGJrC70B>6g2X`e;a=UcteG`PnU3ws>d>DQ>yNW zJENLDKD-LlDj2<-M#%yWsbZ7ri|xNZcx+d+Y2}5p^^xCny9EK?c{5x-{d-!??((@?3!L) zaEa124RDOggYgrsT`EK=icLm05&od#Nyy)16E@o3^{ChpTbxH%_6af4lLDf{l-cGJ zi2CSIoJcXVPzCNf==H;@<2z}}@ciH!BC`a-8lkR|{QRndU%-UL6d1x_Tlf>j2_cMOmS~GB;wuDd(fVo1UJ&dE#tS6mPS{3RBqfC4p?fHItSG zk5Y(CLV~W*$=bRdI7ExT$oiSUzsWH-@qr^pk7~^G?*#tg?eRWZ z*$r^)WJ1dU9m4w}`x`|?Q&rwmci0>2(52a^H8J79j|(2}t<+GO1B2MLNA)J3sX>c% z(-zWI$s}r4rZamURz{e1s@_;M-P9aXFL6xVsk{W&OjmznVpP2g#(rlf}3({FNho*znd>1|ro^0ZyOw^ZM6TjOsVcE+7A}_1cRt-ubW5a+_A%omVx%gMiJ-M1UUom^+ zfqw+2rotH)*5}T>OJI*hl~J?12OpY^v!U7}51OCD4|c=$Qw6uBYyQNatnk&%&gb&3vgaY@6# z+r7Nzz#d;~X=D)R`fg(+s9*oOCLpg@h<7-J-^aYr?_5@IL~6s{?RjImg?;WF$B^rO zWjr}8d0kr6g2lUG3WL&}C0=zkecZuZnH>1T;I?n~<#E+eAvxbccG$S@8Bh>8qIxjCT)s%PT=QCCX-JdwotgvN1sgXgn-#MFTZtiJP%i-6$ zo_N=qgwk16L zsJoV(e0nji>aV~4LW)~coe+KcT13&9F%#+gQX>y9y7)vz{fv6NLB2*t=UaUGiua}y z3;3Mox0Cx;r+i@QyZ^knyd2GIfB#HOq0mb<*=vnPIP168J_oiW9=W)%K(gCzK{shj zkqJgoV}sx(de%W;84O2sTwMAi#vISOnAuNN)Tl{!RPPUWYjSt;o^7gMx6RzC_d2Jn zb59}0UkJhTD((9D@-!V1tl|n<@!51`+P~^d+OA0-DDqqS`5da1m^A&&TL&zH^Tuyf zxJ2#T#pky?^Y+RGZMmtM&w?vIV+)raH(ENVtA{N$Y$8~BPA>lFPj#HJ98U-aW_%eX z%Mj^>Wlx4Mf)ZPS5(A6H?G|Zlb6sq27O7t@c@wJ@)I|@=^smWDU8XEW$H%zZ?03UF zR+hYH4tHCt?JojhS{#O)3dk_W4raa7+kGLD# zLT`nw{d7+uC8k%`QRDL7FCFnMzkVL0GO4dz+E)TOLDou_5C;*X4ZqwZ=Qh|kA3rCA z?BvdM)BQ^x{PoZtMcc_=?J*AC0;N?|&F4N|a4;)(#c)xb5~ZF)aNc8@5TN*skT;bh)MA_9%EY@o6cNgrL2PK=`&ii zf^ujR!-bp(9mete`>t;H!wWa~!RTxmxIBa9@*pPMfzZj$M+J8Q=g-ca7on9m1>to2 z_9kE3x}U5;d)kM;y~yJjnP0%lK?mHf*9Ld=XmYlGmp_(L`>gg1OZOk^w%P*z!!J6@ z5|o;HDI)^`g>^GFHUk5LuCzLcBS7QQWGHRuPD4Dsm{a9X0YrLq>o>nggf`2u` z>MNHHuO?eW8XtcyLm$M~JiSu;VLszxA}f)}hz?+S9>NkSioI14zm*B)L zjxA}Dpe7#o^r%@AoaimOn%FAug&u8PqY#J2QfIK~&`wE1V6;+FsvFM59Nez38-V0X zuoURzrx*t`hVQm=uI#x1L~SAR=~aUk@B3hIE|0qbK=}75FZk=&A2j&q|J?|f|GoeD zR}n4I6^@lrR1{q$BgMatnu_~&)WV`hoxYPBNlO1ijM7KW=ZXKq0?0_Es}mzsKXZ*O zuN|j~P5dpm)anY!>-KMXO3^hY5e;eqX_AW8K})K;bgXE8U%Tk&)P#hX6|+~Xh^`Rv zZ>mMt;U~dznYt*91(Tv4b>C7wa1HSrmmu5xh*gAjP!G8(9{!;0XO9nINE)bcUEnWD)vvKcTa;<+4&hGNVzqdAm7Qwe@rZiAxCy`?aTN30WvlJUz9nviM1DM_q5y z{y>6QJ#cP2!|K(nbu_F&c^#({lak6u*oYr2()^A04juBw+w2yfaovk&Xtx*Prwpj2 zTinoa!JCGt|3n;jCLbUT8E>d~@6ZyPl-8~1;Asx&V<+C%Hz^Q78(y!`k;k_jP*3e& z(jpYq2KGMgsvA_qgBi}jF{i~qnBD#FvVv+_0Zi~QtgQ%d`He(KOP}c4Mul4@0ENQH z4;(px^Mh=Nph}#czSi9>MR`)TsVw(DW0YxhyqBuQ)wg>4R2Z~vPJ*c6GbSIjJC=xj z0Lf%%_!c5Nej;e+buQWD#2AhZ8$M(ne;RghTn@k#56{ss+4HZZGn(Yz0(Z37*VoUewjNFov;w~jdQvfsA3Gl^-9icrgvO9)1$API3 z>Bof7QKzL1MDy{0D2kcPKESYUbUO)jXldCxue=?dftZgx5+F{-PvU5|O^i)QScFE< z^V{nkd-tA0yfIqa{jb8p!Ya^ejiMn&-Q5(;_q=|2LcbH;OPOVD01XWdJ`|bu6M>kQ z-~B#xUzl2RZfWkP7^G0cHH+iXdq`Ko?Bi+T0Mv`XMy4y?pXthu9s7ZU8ax;3Nmqz# zzYe^PXRZ^;+^T4?abq;JW5(l5I@jq!NPSbmA=?$My9$9doBH(9HRr#j-bmZbE$RFL z;@wVT&t8vsO^*F`FHBvkc|+pR;&Mv69ZAnfPsbdgBb$9chw^a+%z=(ur|PC7{1nLPucCDRMFa5H3de98*>GLS;hF%)V5lB_dfiA3tcBFyZd*CM0Ja$P-_aI2yKp|kM zEN0BY!a_^~xpc4M-vWJTIgLisT_RE5-(>cXN(l3|-QoU7X=z`3{K)}Gd7W$Kk?s99 zy9j|tBIYy=UZ5$q?-v?vym<;U4PLX~``xvv=C`)INc$*6;`ZH%ZUp|plqBHvoU+4m#LdALLAn#~N^**)zkX%=uLlnL+1=bF|$YQi0Jzr~T7B2$RjjJ34@E3<4!ATnA5^c_CE{ zxX}rF2*tqWnR3qgn~%OsGT2);itnyM7(H&7M_Vr@{$ zmoak52WuPF0>L6+s559jv~TS_33^nw3`*jb_TYkZ{fCi5j$UBy;d8F@=g*J6D;Y%- zW)lpfOgmX1nzFEqX9C{Auk=NC<$oeZi4Fl5r8gstg)kxIALO^hhi~4YO-QV=iiF6mJF# z%s#VY$k?$lUqdf1FE6HX_@Y5hY|TZmM;J2t70FV!BwZ{Xy1*y@z&UX4M?dcR=Vvf4 z{0gN03RI34UdGMRI+852rz=oZ^&IH4td+b_Qh8cd_>mq1Q;rG51Gz(19qapC5#9iV zjG;4YGmhE}5~{koI{Z~wc(~Ao*!#Q88{1mEJX1EnC4#M-@*mafzL4VLGpi}6Zme7l zzzPtR$^^fhk177^_dq)Q>;FKh@`^FH{&D}^;3dD+c)`p~tBCNuZx$$bH3ae3AlCK7 zi>!f)+L+NOoRWl<^eSR1Q+3#KEd4JONh#SKTfZ?+GI1~`G9@x^GUBYA4ih^yZ0TO~ z4BxC%a=PRl9 zY}W=l!?|cBM2BWUCpf zw3mlg(c7qKL9&Ji!=8xlzrd^uEK_t@7#VesvKAo)Cpy9&X>IoQPzANJUo6LJ#U-KF zjlq!v^`#IsZe_%&ZEB@OozeeG`oIa9&AaHI)z_=hf4a7P|4u@Gt2>&OAoX|v8OY38 zkj$H*oHIPiDR|+|ye>gJAZMR;bm-mb@7gy1)pYR1su`|BlOx~1 zC*8g+u$YqUb2;o&SXg1!hoL|jZYZiKk@Q|{Y;1;xhDloXB_o!UnxtvEvhs2V@jD3j zSk0=0UrrF}QKvqQj^-rKry3>we1}BLUokP8B*OUlMR5?Ig*k>u+X!?}XQ3a;!wSH^}bRgeyj0qAyiS76Oq{T<*1_U+q8>cMni%+!}N zTZ0$NReHA)(b`{lWdtZC+R7%P(1o%23i*42tTQt{sFvh)Z|T|BlcTP{n>DhNhzS#~ zc&}e6n}lzuYflSBvS{_|Q{{q5KQ(vtNXpPOhd2=rS`Xx$6(Q&A#zAyMiS3>H%hHtR z;gQ*6vpV0?p!- zDyhd!-<&P-?=5p_UsJc|P)pcvO)_I}K$68fUA0~% z!1AP5i=sjl6ff;eb^HidaRngRtwKYuU%v*PD{NGtm{s_%m*HUAv=-)6>RmR5Q%sP4 z8!i$tx`yhG>JMK&XMHdBfTrM&=ttDgU$?#TqO&q32`WgG5J@@GQ6lWKx}cwWO^%qS zY6<;8*FK*ja-!KmXz!>B4DiHL*IaiJ>Or>9t**A3^wzyS6$z_U*!PU zk*B;GaWPdc*nePpLM3Pi)XTZ@`=hclsg80i{F?r&+idjUm#lOjj&eoB-Fw`vZJRcA zqIy2ex7#0ZAN0Ag#)T|kv2^&fZtXoJAMUraN6z>-O_1Bod_9EDO##2_h4^lKczC$K z|4%M1q_LGgZ)jLqlu8YJw;1tuba5TWi30&%L;O=b!)=4& zxeNxl%pzz;MQ-z#Op?Vj=L=YUWf0YvsuF>q%Z#?uWJOB{`Yx6irY$I{x=O|oE0|S8 zi3&h<(9z!Rj0{YC)W&JdiwDZmybV@)g9BSOZzgMfeBihO7ZlzHG4>7itXWjms&0U$ zF1yBEYo47zHNA*ge1O!jHuN(PmZ>=zB!0RY4F`ONU-0ir%xUy^L*}NXqE0p`J9kgq zr^&idVdQyC>(0BX^4En^2*q;M)KFfn3~zvxlq)*{QJ~DgJi|$U%7GtL-$%!T1NR3# zoVuqkM~p1AyQFjt3G#FP3)vEF)ZA zzJG&fo3wQ?u@vO$WxOJ3wM}vKZdr3^iCm<*H@Tlh0;J-*P8fuxpKkMR5d+Wmt#)FR zgyB_Zg!3j~2E&>v5--l#RyCZSV6%uIOeE_WqC%!P1`Y`Qwa)xsSisGrHgOy;mX?<( znzdh(eZzVmqRvo#N~-mR|2(YHdRL(qSSFq*HHt_tt-|uO9%gDTEU||&V7we^XjKLSCbD2C3o9Ad9*$@hbNd`H>8P*@Q`dR#6^-zOLx+3>Os$ZXyQ%;Q` zFY14#K)g_8XNN>~lZFM2-`tOr^Y^1g?dv%@mt!o}YS92n4DuLAs9NEpY2@B>lgN~k zPDCfD(d<85757L;Iw&jTGFJEj$4*s&R4jSeRbIP?T~jxODmzSO1OxICF+?Vn%j5b# ze9JUhRuhq@+MzwNLt>y!<9de~q^oAS%NIiv)cu|Rs*1lvMU}Nx1q-ac@mo^1ylZFt zUND_eSsq*deiacGHKAQH-&;kaSYrq~cIuWpR0ZnN`FS6AclW5FK#%cS?Nvf^ckc-Xj&YyTEmFA-N?ohIidM41#+oJ$ z4$TLQ{3mV?{Fva>7);PRG<@#Qf*ID8(q~(j6jv)BIkIc_Zu!YZ9x_T%DPEiw^FvkT z(nu$1^B`zGcD7^)1CZ6)b@nIU_5 z!2g1kjunIVfh@f*b|^wvXGox0>!l-q;h5@S*ea1kQZPL=KM@;0@S2`JWhaVN&AXjW zBBaIy&1@QX3iv1N%?2x;U%3VPrkFifx$TW0C=;vpj_>(J>;e27B$yB32Yl_=%pP!< zr=9mkH{bA7rLV@HQV&1!Pdug_(3aix`W%Xltj9}N2Ty(=Kx%YuXbJ8(7XV4Y4zmqg zKGYIBon9u(nX*stO7q*sCnt*>m6e`UR#qmdV0buUoG*{sh2n#m+94 zF2g~4om(M}dUyA61_`>Q#q~jA(HAzev1y$V*h3q1Wl6NiLbRrRg+)KceG%HaNo+iFz42wttgK#R;W33f==@2Vm>Yf}yZHDt0#mmx(lGYYPXj)SYy*}7M|Imd+8dYl z(PuUv-vVkwO1j+jkiNj5#DlCSG>QV971W94vukT_==S?w+CW%+$=!?smUS1ax2C41 zl~sy$lWg$j>KC8-u2Lssjugg;7kc?D2=H@i#TEWBKe}f@`>GDW(=&;iI?xm~oUFgd zIKE&1w3&ctk3Fs8uq$(rvUH3c%|-Nk1)L~bAwhV!D};*X|MBB{JG*Ls_S^FF(gsnM z7VXWRSQdF_2fm`>d+j!@Uym%8vsb2uBRs_o1QiY9t0h|MO=d6Y1qrJz`@U-Rjf0?vvVvCI;~Aj4}XqW?)z|5RYs`Ock{jJZ{*9?1>!l!UIF@o?L*e{tEYm-ps-4Z z_48t33d5&6Wo5WZ-Fcw=p|9RHu?m5s=&4TVsE~awv1#{NDhl!qgkV4_SCO8l8ajZ; z3~C%5`O-xFAM4h|X%Y1XDA*gh1o>qj&}6=o(neQe^q0>K&Y25}kKVi%kxie~;^&w3 zA=ItE3`%q<;QD1E<^0*RBME{fU2-?8KMyGks=!4Wb_ShwY1+F3c0~Pw#^h(upOXU0 zB}-?F*eH6*q$q}8Y5>d4!02c~RMh>Y_X`%r*UnPW6EYmW34*c{qTwr=m{UMl zp%K`PgrGfpULusZdinYlnN{k4Y#9;mVTcI6$hiIB2|0Z#E>CmXbUah!&6_9Nw1S+J z*Ur@3MWqNK#lhJeBt1~jFg()n#)xk8pntNnXLk%kHkY?#L(F_fb}M>g3{k(xNUDWT zSYW;^_z6abOWGP5sOFMk1Gcb8w%*zhbT8S}9jVd~RiJTPJ)}tRCp1@Y2^tDaF*?Y= zMdYfPe1>J)2%t22OAQ<1%cX$96AK)eGAB5}>#YGnQl2(G=U@Q@pdf%g1)+MxBPGE}NRx*d{|XKLDYiGs^vyw? z;+odRMpX@s=+cz_z72m6gJ~-#O?S}iEYM*c?&|Ue2$*(r1=}I6ErOdyro+U$QA}$* z4TRwj5+2%??S%ecd2;B8aRqS>zo&tJ&G2T z%DR@8@QS|XKM1>1x$jz*B{h4|m}fK07$mdPeK|7oDw$Dm8%^Dk=IGq$%1ym#d~Vr8 zGcG)T5OK=>WDB40Ig?!B1>1f<2LDxNtjqX6q?QnsN2qDH{uL3SXXSwx?K0NXe1ZBH z?$;QxsDT26Bxy&FK~XGYPfb2BYCa19%GjzF%>P0E7yvm$qgmn zWRN+2RLoDbwD9GSb9e{uv$djjk{u~C(h$#YL=E8!4BanmP6mfNNMdUuz~Y>DPrLH&H^p}euFf-m%f-YF z;y6G}a28`FbO!C1*c~!32dhED+$g6@9WiU?$RYRm zJiKZhn*XEB3eXwu%wq^i2T$DjjcE6ThjTw)UwY+M%F!BGym};W1*BipaqF_m@et-hip;p&xDgw&U*kf5$Lns9!iok^ga@kEynHHaJ`&jK;zK4@A zx@fXYZX)jkvCjb{zG^8B<9cdau35Qm^8$npGvmF!pwjTkMDNg`?#AT0k#FC=L1tO% z+-u@Phv)(fdt0_H9sc}T3=|Nqu}1!31TE7NdrKSjGAIiyYu2QH?`sClm_rTTBOqt^ zn`Ugj!0qqiB1thrLAGJjrd=hzP2rS`jBOPObTPV-m!cC)rGG(HeGxkUYuB#fuJI2= z#>M5OxZ_R=zjDN>V^xZy;HV1;K3g5dSMkho?jZm5UlQH_7k-kIA$*2KbrbXgsUeFbN!vD_g|6!{}iFQD<*KW=G4nY0LXJS2M<>NW-a`j*m^--_$kAfb_xgGc^>NlCL5^6yA; z7Kge8dJo&%hZzKWK0$9~a|w{uo&EOLwK9Ze^B}sn^|t(C0yw3x&ZTyF_fwEOC(*%! zBI?EX4CoUv-T+%8R(v7guF24=EZoVFk>`3@a%vo~vTfF)_r49Hr-F~LO6X+To*x>j zHvRW!k^p(S561w+v9-um!8?f!lSVvoy1lJ!(m`)GXt8zI*WwWcY_Izl%eDhAnwo}5 zPzYNzS?S{;&)IgHWQBj}`UN6VMt4->SpJ(gm@rhhTHv{DKk^Zdt6%7e`I(0XNgO*x z){yOI?1b^c#$uRKVcjQl;J^Vv!RE62XACxz!~ITXO~7&~%Dag3X>bPE6t{$9Ox0UG zZ8_e25)9P#>}A=uabpJ{oq~b_@VE+SS0`zJY#Fa6&fNM(CX8DaLJC5j0DHi+2LX&+ zIS7gu+md>(a7mfWFHpMP=>NL<*KFJkhVxW?80)%q>u~(VeEiA)E%c-J&e6u`e!Ghu z^srCZ7~L76jD0LPdFhPa?iFzKy1z7ds$WD|ZP!qrf8eb1=)(hZ*{pJ2{l?Rz0&rtp zx0TDn8(s}9EsH8IR}g5nbCZKDxO*3HqkxUED%raDblh|DHyYj?$+6R;Ha^}Ei^w+L zMj4+X!H)&Ma}umC;@=bH-j*F#S{-+UG(XHtZ&u|hJd9dS;#Q{ixalh1C|D}A7&V1uuR@M4W`IA-!&WX z73b=iH&75@YT;)8(I`wQRLWbqGOaK-KcCfAn`v2FGdAF%kn6YEJJvZ27hhe-1P7SP zwJrDHoB4ERZnKA5noNmQKs}Kiih!Zp*VRKg{`~VKM{JZir_S01Lkn+8TP;%mcj=+i z70HKbWE@I-z`;%*kEdUA@i%X$x06B4L#>v{b1K)L z`7LZI5BH&Kt`QOa5q<<3dF`;TWg6Fk=2`3P|zJS!$1^wea2-h zmiysXu3mK%XU~e7T5)=va_H}qussDj*V>jg{{8!lfHYtg6vmxVKekS}PwUQi&=`>2 zr^H-$7u_Ulwwu?_XgD0(#^r%vTx*h@ZRfm41TnW@6s_M}<^f5=Y${M&>2^9R@1-yr z3~ifCRtU7`+4vtbKF)S2tx-v+2lW~CjdsmJb;W_YhV{TJjgEh?Qk0jy8Eo`&`B+F7s3 zJqs*uq+AgXJgGG2r2`(9!SSAf7}fdj58u$BAj08$T*VR;dNrdDDiHuV57dISasbmr zmf`V`$KeY^tPgh@Bsjh+0CJZ9?!=DX832^UajG_QB^X#BWbfms$YQhoQT)Mqv)}ng z`PXEWgT2_aMTCAoGs~8cY|LhSGX)lHj4?zHan@qi_OaO``$j{0fyZJt3y|AX$Q9?^ z0sr`;R=ReVmN*jzS?G|n7>&V4f7b;6Kqn{gu>GSUE%CYF=}ASN$;C^Tuqs710#Z-= zCb{`d;Q)XxTb{!E&*;}|(Di0pe1qXvk)M77EK$pN42;En$PxCeQ^k0Jmc z&n3lJiX79C@_L%YoN2y){;caBi?AeVb(~+Um4_TWfBpO^a6wrQf5ldf*`O+`S-h|) z=l|GXs42=rPnbsExf6Hu=J6ss=6a6y_Ci+7bt97j_T%Im+eni#{p~CYkN*?QHcDD_ zY1e-fum5v|IjPV)VfMS7%@jdv$7-|zr)uo;djRm-$zJz=@%8?H5EANelH3#KzCf)v zqWbTB)nlv$wml|kF}+-LU&yID=z0cD&=5xC{MyDwy-CFCX4H|RAIIJyB&7{7DcUd< z3$z4RpdZ7afMYT=P*kbW7wrB`5eo*Zq&jq@$Jzw_EfQ-a43w~6`JaI#45lRv1wiS0 zAi28;t}JXR_I7scY?U)_OkvzYKEF^$DQrUsQk#XpPHn1Iczb@siND#gEEM9%v&AkO z0FZM;WgUmq_7)hR^*67>xCJ=NVA4auXZ&xC7jA$f%6e-k!F5yrsRKCW{k)JhrhD$D z@d7kw7|t1?p`xr@-_QV=X={RHepWCO6C@>p)D_a5gf}3jyiQe&lvxLWLc>RheTl-q z*R5p_pH^bzFwn2U9uz9YAg7{~jEuU;^Bsu?jOJ5V?qOt|n9Rv1 zmlF_3h=@+hQs<AQZjN+*o@2!h1@gg0M$mgZj8R#) zNQUkL01qfoo7Ov=jmpg4T+JZ+z!WCi99c@q@UAb~)>rou# zVVokyI4{p+ytZ2gLlts}hPb8V>^zPZt)#qMcNt~Ci<@9wNm0|C$k`S6&T^j0Bsrso zMzM9XpFA-}(KvM(1CD|-aG%9Sq-n>*#o2xMEBYSYJ1GjNPxR7on2C!N08_`tj@Iq` z|Mm0;0$F*2aT>;`MJOzzvX{wNz+tjGo18Q$uzHNH3Z@rQAa#q&3Tn0$oDHP?03Uzk z3Gg4%r&R~&k#zZ?@r~e=odq&4jUZDTS@@y?_Erc?PCCxq#icn*1)feJ8^<=37eJa1 zjRXk1k#+y}<2iSrA4o?r<#c3VA-UKSOu;zTLxxroUaKwFct6lSk37`3co=+P`E#kB ziMv)&R`w!6asrOOLK_qem<0}?;U9Q>SQ{krr8AGPuyIeH?9@(*8&TM`>(-+{q4TQ8 zUg~C7rcIlzRvi5KTZ>P2fK~1?=IEk8;`ide&C%&+{DiI}QNDQj(so(-t(7fuP(qHz<8q*+6w`_qXDTf;6o5DMNt z3yo&=w7+{uMP)VPyUEETqoe<=xGxWPdzsic%4nP)N=6-$yiWGG}VndkMMH+#Rw`yKE1eE)v_*w3?fVy%1K_wTx{bGmSL zX*+2^e^tK#&=v~-$$@IlQPl4X7ruN0e-AmLCUeyXrLmcypZc}tTs#(&G^ZeoI{T#~vY&Wcwm2}^1*DDZGGo*|0ekr7?>QlmK zkm|+Ac!=)MIu4a}Dk_J@EmU+>V(ySw1o$><@D++TTTi)FxL>VW<3Dt#O(~G}`|b6! z=RSXWYW{rZTv2a?ECY$nKO{t~CMkXzb?0e>Hhy_fpXG-+eLX$M#xD3Q-VfYLzAAf< zpF?WWGU~`ZopYi3LUY^Dj)-6^f(Y}PyE|e$_m@21d5lMvVz79=smxe+X@5aG9o=I3 zQ_vO9o;`d1JSF)tH$UyB2Ps!zB^6VFM?^ z$<5t|4_7)|z@oaU%FtPWfkrtYo1341($Ue2pNq<)M*Ky`t!m%6IXHI7D&c7~`}UnR zjG^4W0I`)iy=J<)k>+Vp+)8XKq@_;(iv@@A zNTi3+J*3emfq|xJ10?n^w`;jBuC6v`Xyl?F9a|_PP=Uz?Jk`;09e&KjLh_>W$;ssb zBxJgI3bIs!DMdIBCc>BYILDeW{6YlJ1 zQe+J@+-NS4ViVlaJU7KF`LjoTyd(2`?wGGRo#bYI%|Ck{YXxSiRaa$8KK|sw zc=m9SY}53VqKn;n+1CacU6!6}B2JxKupVk;yp zm0-pxi1WLDzY_PhVF0TVGG>mC&H_e0*$4n#osPt7%+WuNUUsrKD;NA3Ls>^rBh; zb^@jT9BehveOKty(TX&nmLq8ssbW$i2+0|TYZfTn6|B5AKJYi}``{R$3H#mO-wac` z_ac(j_b`$iH;c`Ny|}_Tw|4DCO4m`Elt=gQus{kfzx2UhQ>SmZp1yCXJQ)+tEiR#4 zNtYAhWWJ?$!sV6qT9MP2XUr>+eN>x+#$I^6FbOw2)=Y~6&jEgeCmxe==$}QnSIcJ) zV9{%cvBl$qZqAq;a00NH=o-ISp@tUs6&iwS`7teU832Hg3DCv9g@Ke@6A<;0e-`7d z>Fv#P#Rj^0Cd6Mv+C$x@r?Uh!VqG$G5TSFLRzb^QOv<_$VG~7ytR_ZneF94DTB; zr7iOrp{Fj*88p?VZ>tEyfK2{g=3T6;d|{FPHJ&$vzyJQ*N0k;oB6tJ%wyA8WME?2( z1|`{%iHS7haZ819*Q8n5SYS!#y5$)k&=)Z%=;coug-IZq?6UzjYNZiTt5_I$=1MP=JE6S}T zbKl6ixwv2|F&SGY9%RDtC}OmynD+4J;40?!u_~SF-y?IQ(;ZX4+0H+eO(SQ&`fQM? z&}n8`WBQVYjN`<_p#u3Ji;Jzl1p$x~FZ0NmXLs+0f#RsJ7S8(f_(HGo)bv7VpU1W- z+T96(T)$u8eLbh8Hta9Fe$@1adeYn&?Xs8O!)f=8zt{Ia?;RSy$|@-()%(m;U`?H! zAESSoXH<>S(s1~-`TcztxwaT)QrHucnW*Ey)bq&okHeBT2|G`jnB@)jSuQj=={#!? zOj45d9P5oKF@Ms{5qGe{)3~zgY{;XNR8=`fM#ey2ko22&;WA|`iQUO=vs5U(^wdhkN@p5B z(Jl+usfK(V(2XDTsygH%_)6AZ&#k^Nw)IksX5eEXt^neikYa?m9dk4+-iBzb2#clL zXEJ)XkH2Z#NqS$weZ8OS9kNpV8TRk8J9bX0S$gN|A4?y1NzEsn0p;Z67Z(@n0!(yh zV(YloDEVUDKf-Bh3;l@-2WXxSnMowj=LORnCaT0S9_QogBXoPdilE{h!!!_ZWv)^p0wJjLRiV8j_WX&YYAQs-O01 zPOh6<_#N#f<%G=A4@oq%IVi7|EkFfN2F>_70jVag)atorw9b1R89U9u`YW)Mv+ zEdvz&?fm>IZ6zAM1@>DWHyv4Y(g{nR%eg3{fqN$MUH)57yy_6|{CqbZ9UYc6w%0gL za8_v!@eY`ONbp9BBrLN0?h<y|zT*CeMWekZ?=FaAtetjmA2Gh1!#n22t+$Qy>3A4~5q@=7T4MeGTH>?!oi=y#^( z!a*``wd29?;R{B_aZCnddZ!dz9OMkM&$*~GC-=Oz<|p2**BWb5`}_AX-EX|io*JI< zJafjAe3dd_mq>DCA@C$CF6^RkiZGjdtxkM9sntf6WcVxj`n2WpJw_(BP*5Yxbu^YA zmQPhxRi&keLw3kUJT)*!jx4?+MNzqds2aZUUtiH5e9)ixk0f$;Z|_yH>hAQwr^-6f zL#TN8650WMJ4=(N|tTedQ0x zoqTmYc);DQOTVmB&W5{D4S}_P@kvWRGN1et*fgGmH{Y))B7MI zBLn@8hPHM?`_Jy~2i&shNWK7p1*r9O4QC_~)PP+f<*|qv8jcCGsGUuv^iUDXF$2EI zG#m|u4Au>xm0=~tGl?<#Hw6b943K*6pzR^A+q$)_(CzBYw~|0b2thQwWZ<0BE|_CC z1SA!J)sZKO4Ii~o{+=Hs^n`c|#1d|xzD^X%0MvzMW>2%v_kDRmKpTlxNIV+7S&xhY zS>?1Kh{#VNI2?}8l`B_%X?y@T+^${f4;#VP0L9W^eUa3We>LUGu~EAIXBW_awF8A0 z8x%P6XL8cx=i_tM%@?FAsc~^}2Y%%qrc(-e(L+jhaKISCEX1qB$@wNeU9*a+PfC7H zx+oLgGB^Eoe)R^<_cB|2rKrhu{oTVL;kK!I5fao7zYiZiOdg_vNeEqMDXs2`&_juu zf=og=0ab6=pL7ckN~T^3%6aq#zQ1TtlFD8EmB`wAu?V1Ou%jAsQD zB!|T^1=zkNzhlQ4ba+%U_dR4z>zh zYZH!e4bc~GM4?j1z>Q-%o`Sa(s#M&^NnYs*=(ASq{-PLivu#Xx5Ny*|6BV;}8)rHE zty7hOs@mNp-3a0REF zZ~+kD@(~w^GLjohIyySihhW`l2os?5Z$cZn!R~_OX2gtW>^BAeePRtnCroCi^bP^C#{G`a-CFsVAmOp251u6`{&&x;5V%n*#sT_~g+ z7SLCL)`NnRTxWq4t$-%bdEtv;7AawU1>I4|Z%IH$4}ecwQ&S|*g0(D^%rXlVPLC+4 z2a1;L@tV-lY*=?&Mls36+`ELNt)xXLt9?;PkT;qcP9nX>ucNx|XG zv;_xKpVSlBA@$x_U=^}|z%*dM{R>S*7RL2C=jM7$d@NtEN$cEsd6&^{2;%K3+uMmS zlE65mBG1(v0R%@u8f9{}H+n zB2fn}OyXfsMV89u%}V2z4%4A@225ZD2|cZ#)+53}4a(K%B@LeiQZqwS?*njEX=lHT zASiI8gyI)sA0oX zBGrO->GK#6-x-_SixMq?}AL-RE6?KMBFrpl?I8 zsT%=v1HVBUzE3!YV$lo^IweDJQ;#Dewr(*!+>C7^3@xdrwmNlr`zgN1PmRySs7}s@ zO-Up&{-82CWHW!1fv%v_&Dl&iJ%0G)wht#?y+P5-jgT^<=TD*TUhW+8 zcS*1Mg6R;YDdEC+=gqaS%HRF>5ARAo)*AS5c)8PAlR;`js>90MBK(8YY4eHR`rug% zI7H7XzVyFC{V3l!4ebDTCm1Gt5LLn-D&6LPQLwKHP!XOnE)!U9+cCi-a$o{V1`#d{ z`HuLre}7}XEJQ5Xj+nub$O;BQq?HJ8yo-8{uc4nX5CNj^#bqIPcEIEKVH6~}eclQ* z1w>xz@)g-nysG`CvY+Vd|NV%`gQ7|X5TIRSOA4YVQB4Sm>kf1eaU;{{HA-CNq2k29 zDKEF?!pptc|CfLL?>5S^sQrR8L2-a8Mgu;$O+;jFer6SG&qMSK0y5y4JZW<}8^ZhKg#R7L<@00$j4 zVwxaFTmC%<#|!Q^2PjVgu7&aPgFUNdF!4W&k`cHQO<$nhEmBDhG}0Mo|JuEqS%CST zqQ~|`C}fVlB<7$!;Z=y|{?$=jym8?^@+148#6o9))f>l$s!Ti@Tqnr zymMpOKq@(v*=K3Nz`*dXG~D3tzK#ph#2!7o&G&*)8Akw4p~Vvm%aCIufa3oIrPamu zS;CW|<--CG#3Ft+#2z#xLvj>4V>z;=>G(y-&DKN36crknLcC)_Ai=*T^_$z-gELIO za=RYFl~h$zdTfIU$$$xBQj>yfe?YLpq6k$-?_m*gnmy(cJMC?>?-OB~Q>U<^s5 zyRww=M=CUwoP@o`iv`F6Wna+jli>Z>U!2&{W-Wzd{W^eKavaasGQd{GhR&}|Tv$sc z)^`q{)pz6NEfh|GEZx%560-O3$w0+i6!8T(aR6r_rVAt9xxv4nP^XrcfBO8HZB5dP zp>2EWBDr^=A3as7=dk+zy?bg}TJ@n2=;1EYM`JHFA36TJqxjZiF&`8oJUe3KRX9&| zU!RCw6wQFn9Y~_Qr6upoE8zh2?6xrvP}2)>FxXqDvGH2aCI3M#N+MFL!T1|ae$Xz#Y3bDlrXOS`mP76&KU~}w zsH_z(tu0Gh!lz0;vmvbZDoYp(YBgZatrz-2ZM)4m#`C|wb&xl3(y@B$~-JH#t~xQ z1BDU!I*?P;4=^eUJ=c~?a;Y}PCb+9w#;#-6<`-Oe2!l+dH?IztxoFgLPt%L|-OLmx zCv(scNSV#*vqa3zRs5iRw)MJA3`^C&QwX0C@@I+6$+U?;26vp6=yyZ+;dc$s+vNyRnU8y$+9nZ7R)%fR6Cwj z{luvVS7M*-Fk*utcZjR&-zZ`64N02A=SgVAn*mNE%Q%u7!zR8`Z$d`8@nlzjzf0B! z+# zL|MEhqE#fV%l(l?TlYRD_|I(AQCgy5LTEbU@{PY3z0witR37S*OuFiGq>8^K`HR28+n!2rvA%3&@q!Rbi3#``+kVkE=}pOlor9c_FCfx&H@8TnYJtX*jS(E0YMS&;|(M; zuK&=>5Kkf?9lz(#I}~X%)u)Z)DqArcuV7||5$P&sHx%J?3UCyud5Kk{IH~L4`!gxR zp@AikUyz&(LQ@edFCq01o{2V=PrrtcFeq1uh-xU6X6EMbz79fq_au2E)LA>Px9X{F zYzH}BDeH~NABYN zf#cc_&EB~X+1@z*p@h;{8}q!j6@E*TY>l_ph|yMEd$QQ$`V131`&Yid;}Gu+N$CMZ zLSzb5oy{n~ylDsSv0HNx)w)L08~d_hD&Aq4f8hxv)RS~E45Kv!NI|m%7|h{CRjs7! z-X|ciZwYC0C!W*Q9+*mrUDK77b}-?vPooW&!5rKQ4UeE5o@?|>J9fvZ)B*$yn_%zM z=oVfzDreuacV_1J?X(Fbe_;|x4Cu>1F*ZHzsA_y5eHuPw{?LW)pko-BCEceT`=2>; z9;+}fe2S%sxH8`8=p;}+k>qKj9QAvYc*MwVxs<67mC6A)-x!<8pOBRe~Em%{+Rp= zUm4A7VsF#RQc&kcjVu6OxUlGv`M%lgrJl%Ltz$PuA~M#X#abB7d1SOw>|ZRP!!*Z1 z>>^y>KEb_O)Jx7^E<= zN$zQ`*U~m1kb^ZpjH17SaL=F}yq(5r$ML@7>O63)i|t-O%|^bCwLbI%;YfIP;Hm?h0U#yoi*~CYhY)Y4*zvzc*Hl^+&p##9 zQ7t*+SP`x6SWM~Bm=Wf;46H3qVdcTo0X*6x8K9VZQxi@h}1M9 zNd`woUqzZ^+;#Q#SgH?56G zrsrQ7n&#+TL!OBZcMx`diuSg`4pB`YhO-5QglsUTrt=-Lud#E&jqi^9r(k#MitT7{ z)yCyP@&bpcheGUDvPSA6tk)+#Z_l^;C}DzuUhKJn1^I-zn@Df%tRPDXF^&oyjPXxI zhm>7F-CWF1A}j$lF8VWq~gi zx_D{2B;kFVB0k3j|GHDmk;_hKL%v5qVet3wJ8Nh>y9o_I*_71$JQk!A%1G>9V=uRT z-y`xc*KV5!@IjyCU~VOj&m|c^BPyvdALz1s1^S70{Ry1}r5i8FC;lb@k}QBc>12IO zC5h@JpEf^{1}6I#eePRYg6H2WwBUp4ojEs@B z0hH&fXOO&T@9)131{$&4di2^S#W&#*{R}zaM2lSth6$a<%9WXU zR09X8BRm^7o}IOnauo|l&lfSKiuQn6dTTQ^S;OM^xF}>A#?ITj#`Vq#P1azCp_AdX z|BaVBLw38_Z|XO!33rI8uD#svSyM{&_pF#whvHvJYWuL<_K6NZiBs3po}Ccq6h5M{ z4vQfn+lKFL9-#IjMC`jrAvzWo?TZV{=%1Cfm`qtlpvD}5XbiK|vRYvtEqJJj1OMN& zkBW{c<@2Yttz5AiGP73DIeS7xk+kt)1G*V!aNM;>&Txb{cBeZ{*hW7O z)d}@=&m{I?(7O&_e*NzLlgtC&DMwrdu4fd4C}>v4(B8A_+0Rd6gNQgB#5Fz^Q2S zR|5^_3=jX-z%I?i4&+n3wC_HN-y1)aAi(rb29AYG4~J~x(028AL@(GhDDm4XGi=3~ znwP481ZuBAAPLi6%HCt&=^_`o7Pv5P6EY4xj+ZoeNl*R~3hLN2Gqcp^<7%A#!nx(r@JDMhmbKrnV3EoxEM+)ruFbKQqt$Pp9;k4yJo_S}UKKHKo|YWr{nYN~mO zH+X?#I+CwBZ42N<8XE=rUySR!id@hBw*JC#G**N=Q^*7Vr@MSqQ!r|-WzAaELQK6_ zH<{zks;>MC5EE8=!@s4+CX#>6)fK@&e|(B(19i$DN{vW#_*v8AM4v~6-r%Lt{Vy1s zRO`3E<$J{N+Rm?gs^xc-ZkKwp!_%L9=!2K_w7PA$=}k&ka6mwUaDIKFJY(l9%ZPKv z>q6*_LmIFuJaZMrCkfvEiqD@zBPV^_DkOAk4%u)vgz9EN%+&ZmCd|EC>dJ&|ckdw& zzO2ens;G!aLTbGQH7OIMf+dE1Y`*9|w+rzyMLv3KMZ~VVy9YPmxR+lQ(xT_Ft7kCl z+qcz`wOC3KT>SjSi+#Zdt#WNfuGbbKJV-pw&uQ~Vne2jx*?1K!uDCMUp$7umsztKe6uLr*PKohSsUS(Jy#`af z_w+@CJb~Td*g6!J_6o*NzzF8HuW(~SZcKG1tC5I-R`+SJU}gnCAF?z|C}8b0dyL!$ zegF;?m<{XMcK8k&hiv#`^&A_2`2~ig%cF_LNF(ww3USlly5Oi(!C;cJS+fxTgDA3T=Q zB!S4&J2ZjWsi`S=V3HE$(f&Z19Rbi4T(Oy%^#Z13D4|o@Yz6ETkTVqil9v7t2#XHa z!xiNVEQp@2F5g9Pqy$NUXvL$Uue8Hslj_x^U^c8oYwF_W*4x`#DURv6J=;Euz>$AHAXm)JG5jhIf1o;c8u`y*+c+5|xoxVN!^&@%^Am_Ef zy!rXNaU$vfynXQC0;Y``b7+9H1nY=+q|vlT=pnBgT76m`3NiFw2jY z0}P!`a&5p&KS50dykuhMcek{Fxk~)F>xkAvTnuJXFu!Jp4&4w~gDeD-Hn>JvhDRYQY{?4*~hrL*lYWqc3S9qDeD zpcTn0N_JMzinBiD_>Qj)4e>T^APkU0jXngkk(0CYB4XHZ*!@J^P&?EK<^L>t#`|qt z00^>yHdEh$8X)T3AK;gERo)Li%wO&eq-S6V5&H*Cx_xU=O8EEBpSIdvbFAtoBudAi zj)r%3H5*%_;H*1RPJP-tMb6NOHE2GEzV9;Q0+s`BC3zo2R%9K$4Y-@w2q>x3=3z1( zL#D#^_pPm!)JfnW#QkV%Yg-e7X&)stY=zPf5AQZ;8Ds%)Ay7aoa7EIM2R)kokzW~= z1CK}PuB{$2;2-c6bHJ8_SR9Xw-1d;jg~ISpWboUGMKXM5X1U;$qfK z7nGJZvJ4lL|7~gm>Zo{5*aCqx8T2j~9riq#j)QSGk$98X6iZDz{YTiA4n~ z7F07bOy@X`{Pt}hXfLR@U`j0lrX4rK0|Y5>svh(mbSh_&1gqadJY$tw41KOhhQE zaJT`>XxK;iNy)N+_RYD}Nd*P&A;Z_$CGj0r9Eysx`uZzQ4E_!)R(zerfUm~UskNe$*HT7}_mg!w@6tGy@wtOb1d4^O zm0pwgQ@MTnN@II(bNs`l@$JurVYav4iSqMP^FTvN|8bV37wNSI;gS}f{b!*$>W=2& zv1sXjL0(1(zkX;l2QHp+$w>Dk`RrNqf=3dsjGF$z^Z<1M*3$6sxFNjhNYrjw*{Y_d zWB;v2qGz}X1V@)m)~n``=XYg_m6d-w^D;;zii=WExbXS;G3UN4rRHYYP2$nz-rZNI zJZ2m4*1V(wBENn7h=!YpFp-p0YCZ`gP(`=sE8WS%1Rh1o6?84UtJCW-dEvBf=H<)an1qT_Sl}*U@k!BX;EJ>J!#t++IZMxoib@eE%L7V<-MW_LYHWBZ zILsCn7%pEP3k+ODayddivKIpi@pxe!d|;m?JBwm5$<6$ar|j|v*w7Rq@Xf&gPzBU@d1(pQfiDQha-v z6PZPr98Owf<>0h|@%R{?*LvRo7Ce?2$~#!e&TfT zy?0Od;ddya(H}V-4vhaJmh(;TS=Jd+>Z)Z-u7XZazwXBmwjhRJLN&?J4xLlhpWjG1 zQF=GNYLk!U@mX|Xh#(C@4|}mbu7=QtJy)=ACc;WE0bolIoJ>U+90B$kO%68wCQ2oG z%BYIzyhIb|rOdCk#SD+)Y{6MN167l+kI(4T6vinxgm(3K0q*{V7!ib+VC*?_<_vk} z=2``z7h`()uu<$BXiP$YIWA8x&PNkzB9H)OwAQ{^&gKi>@MR1Lnjf0Thb&^;a3~X* z<+lj~|NN;KuG+@{8o(u3C|raWH}Q?F+CxQ@d_bJ)lnD&twlc}*EhjLvlFtJ&lI}l@ z{mN;-Vq#({216mXYwkgV6)0iE=GJPTLyTA`QjP98Bw^nFp&LVUVQ>w<#_8%+UI0pE z`A~R`!Jq4TG*Kl6hhPvB@oJ`>fYSwv%|o+-crP#)p-Rq}r_e9W6HR9Tp|t2)y;ZIr zwjkvhI6}eGQV(@|;d<1uO~W;(-e-o<0Wk$&>8()zaqd3?T6kf$+HJkDlcsUHE zFJQqF8tVgDg1^i_#S;NBI_e?i1JO~xyzD&}(}_H)ZEeob7dl{;lC9i&_1m_zq7{Ge zXa@_KP(bc%DNl*L5ONtbWyt&~$eIOaiSUJP_S(b!BM4wH+}n}6{X8#%MbSEAc&dh; zz-BKI2Ny3{<-ek|Rx41T|K>bp)8I4rbu(;Pxt2xA*j;Y&71}nHNkF~$3zrdeMeN!^ zeh(^H=zJS}Tw*3SpDT^-HG>-47nl}y@La$BlEAsI5vreg54BDrKM`2?rdHuUF%Kd> zmX+PQb*sD;?S`~nqZa)*kX-c>^LX4e_KFSy8FB+~Dp= zyaq||{gb#8`G*=E&igxPURPrJ+++CC(L1$AMat*m!d=7L{ckY=bS(K>-UQ$31S;Wx zB;-6f**QXhw<_=}>^EoNnGa+Sb_~1y;2UwB?h=XU8#AQ|zw8Z9r2ltZo3Ru$@weV# zI+t)ghgGQu%NoP?-M{B8DD!BCwe!GG7?Dy(OY!M=%b5X6VZd{-4JyQ zqZ?>;rSCS@6`1faz9P0sgCWTcwFO`?Da-k%gy{N3>WTl<`s^S za9@2+Mq8biNBymabmF+z?3XtfL}o0Y7D zR4f8*BbJ+E%{5}A0WZFgxpU}iO9O$JGBMMFyF|M(Ao>5+he3knMhm3=&6cy)D&z4IGo7APtxY;SKTurYv-&esT{rJa<-(AW2H z=N>7AVz6c)_()wFv+wiaqKnbLfAfEBj{jqio=U4#)zHw;`DtNWcR`s$#BQ)qE?ob7 zGnnf96R3DF_7-YA>${SzL{F(=vN!lQBsM2KQpSM4;p_P;`EofIqFug1_nTk;6txGR zDQdl#F5#(hzJ9;oL)4S@;HLxk$dz8-zH=ww=lFcC+6zwbqd@U%5N^$Y0Ap2E)vg}H z@OpuO_0rWm!SlPSn;DX-CowZKZ~AUsCnsO}`(fO9v`{4N!4KKxg4P%k_GuCGnU5LI zp4xMR-eKECnrH*(*>5hyj1DcD5%fcGimsJ%|F|LR%AnzM=K%08k3Zjm4!2j#=OKSIpY|3n$yf=32T6hTw<|wBI4u& z3Wd55*E!Latq{A+7|#BfYu<0T_TgnnledQXh z=f^AHtttjVOr_f?5n*mFCj{tw%fKTwsrwA36Tv(*J)M1hGXC6d2d6{&-yKf(-qG8Q zlpRHU;+%Q1Q*6j3n&iL-VvY}!bes-X5Wc5Qc61FzIl$OmV zDJFJ>>9O1~r)Bpi183ALBd#7QFzttAg5mM;)-2u^l( zMHa{LJXdq`p8yl=Mhp3{POqE2*3uUG(K~J!bUZCgwTI#`IA`N_&c5_ zadCg9n!YCzb0PPxsv;!nEk}k=z-k~XOgWuVr{wJgp6=e>gk?njnZKW({YWti?3}ny z_K>X-{YtE1liz?xceWBDQn5cUEUYI62K`hQ<#0Sy0fTzJRfEEz_rJFvJ2yZ4PWD>M z$*GU)+5RSWMYs9MJvbPq#q&BCW|>dlsNtILvDSNu&fNJ`UonfZw`nrb>-?%{7fYtq}L+ht8FYT@?KFFNTMw5udJdpkc*m48M8k+r=B zDTtYiQg4faAFPd)Yh#m!aMNX{D>pkLrH&3$zkJzkuf_ML6PD;Rn)lm#a#ho$N{M)` z*mfB~;;V3!y|r~aGE(Z1<1#4~qe#G6+ZfCN{cV=z65WFlgymw$^t56AS?f=%<|!#8 zP~$FSyx4CET76}00Og$bfsJ&1dAVx6mG#vjip+7a!WP2jG|2IPUv0;{^%hn%y zWB5?-j8R$W-kz4cJO?#(zxfLLg9kPBKCc~Z)C)g<-Yfk5J9F+@Hun~O5S$n-A};i| zr-YA+ZDGny23$2hdEYA}^>>-6`S~+$EW1_k8O&iY51{AB$8a4|*zrTXGtqW_ke~W| zOI##rDX<$YFiLI%5y8LT{O`HNq@ANp#rC*PC@h>&GQA1`e)07MdJ=;v02N@?bgnzk zot#t$YAdnB8#B2?5Qdt8cJIRiNg$;x{{(hNXJlj~ChER1PkML*QgH2j$f_WF2zT)C zF*wuC&oNV@@1msO`ahnexavS4@pqumX6s(lA+E%SMxHJ%>V@Cr!f!9QEVPFQ94(2G zK}^{|rlf8wASf88Xns7Zr#C?XX>oF)xOP6X|4kO9tt=-8SN`qOXl&BGBq%6oZeg*r zvlF)y1N$5*p&O#h3ozvqc={GPDmED*adADCgWX*MuAa?PVn%Y4SFh>hbaw@5^$mrx zk7ZZMRjwtZ`{vNrf5^(p!p{=WHW~hY^FPTLKsNPerfxr0O=c!n%_Q67V143rK6ul4 zVy6O=zPAZ=SsV7PgKe7CEhg}#WcYi%bscVNv+7NDCcSXsv*!JP&uq|xoh7AqE=qbC zlVfQT$d~A6c6JFGGY_&?xFOt;&53ePt{)v8H8rv3XliH(gjbVLQJ18B`I2{4=>ZF^ z=ls`T*0{CiRj=cHrc%3+L>vy6b5kuXH15*ZgtHI7Q+?1NhSwH$H+OE_KRemY#0co= zB@yum!KO2KxEqy4M}+T68c`unT|T>MbF5_S>=eOBUqd`2r{{xriPgdP3v7pQA`xDg zLC=MDKArj%E=UVaE`&sucB`4#sOhlJU*&Y_(-kAClKax_mQ)R*Y^3>h-Co)aZr|wG zSV7CqmY77nishaZXV$_IyOCG&@*SdRzmBf1u9_BdHeNwoAn(CX%6=vrTcP9!O0(I= z?F~U0q!Z{vYcTc%CtK z6q{HnT8w)i9?2@r7T}F*c^f1xB^5qIJaI=;@=Mt;J5E(?d}gTljGUO5;BPvF4G_CH z*j~Iy6YPVpew9xaam;~0xIyAaQYxlO!mWc*BhirF=|sZN(nVeylVHV4nvQquOB&53 z@Tig|1}X16bFuyACqZ>NiI;*ujQDQ1=^h_!U{_ba`x8cwc30A5{JTA7+QU=U(TJBU z;JmP#s>pQ>tG>PZaWtb}c{#mLb>WFLGb2dR9ZFD~g|Z-_GcSocceZueFoNsuzV znEUc)iBeB&f6hqrcQoScsKBiCqY@XtG~`+EY&qB+IaEg<{7&~7hX`biyL}oK`}}Le z`Ma20o^a%joc-9DZ%$N08&3(ZNE%_|}_5p=h9IprAHY9N0l}Q~^>N#jRTW;0!^k(+s zSr4sT0s%g)l=v`7)fwI7KS1TRKK`oq;yx>q8w@U#XEI;~4zBQ4dVad5;ls)?y3O%2 zX&xR;7GW9b+hSsewJXNz0AIqv+^hPAhK43;x5g?fDwN77Iqv^TiKu!rP`)Zqq+iM9 zWmKe-5*1}Cu{8IiIqpW%?4*fywbOWm&u#|X&iE^azxgD&xfy_Mo&zYA@^m~T(lBqz zIHu|0ZvwmOCPBWL&0AjK9;)gvUE?|sGNuS1hUXpt@X8xBG!7E*lf&)hUIQBa5fPd`Aqn))BE#aF8ZEzaii==T6|FIAW9c)G*`1zg5AnN(&z*qDSIgtaB zD(0&EsvQimI?y_%->6fhfBiaw93m=OU2IfOD^19=?1vH^92`EoQi7enw$&C!58@ct zMsM;8EJ0{JL~m+Y1?qsV0`*|e>TrGqW;K{CKz%j3B_t%oxpBX}QfG6jy4m%$9p0aC z###4!vJ%~}+jnE%W~RueEVi& z>6Nz_fh}Blq%(s^0Ste2r7xXpsm=+9Bl>PG1dx8@4Aim)=sm#@aQ1{^%Y>BtY~=`Y z`SNAW9OdIxq#AZOA9X8v-ljL1m5Ir>Xrv>e(GlG9GZK^&vvr<{9+bCo9cGRzl!at? z<|b_D8Ei27$ArxcD?f@Sjqv&NkhLFUmG<>|#m^U|S7C#0w(7aMu-gZLjLK67YQK@-TZdbyVg08RG$5$Bru_P3yYyAF*C@C!(z=O9z1w3G%m!-YApHq@hg_Amo9w@<@T#TO_PLOVLEV5oRh{Y8#Em9 zc^>{w8Ui22L8+G*S>dbEZDA&Y5hAvOd;L&qM)`%mf1T>`E&Ti%H0}b>r{&Q>yY)Qs z6cQ0xZfBCTw9G;w!D3BS+Ls)I%)1Y^`iGrkWs^X51b`2X5aaxG#skS?PQ75Mz5kQx z%y}ZWeZcHqJEzVtCa1Xi3ey8pWQTH8_rh#`b-({=(=ioerR~&{C)x|^e+RP^+`Awl z3S=SW8wSF+M6&RIb?Gtt#95V-Nc6$)RFPVvo@3JE>Ah~H zenuOx($i4)HL8u|>G3AaX$4MI`LnJmUknMOu+!S#zjqmKbFV4uIin-i99sgPq=-7R z2`pLf5$1;cTRqQ(e?tBpi_ORJ1b zla378%f_8?k7Fb?8n(FgBO~CU*cCQOFYmoiPo#YhYJJ8#S6B0>p@--{De?`6ia!|0 zI3m~>g#FYLouofT-ts^8__dM|FkX#r5lv{|uW(`=Z+(GG+U>lFv9(p2^&4qz-JPO> z@|1p?o?h3y&QU3mcJe|25#e}1>O!IZpw4Zn8#9!9GXGX`IsIcLyx{Yj2x#3qukxy zAH+)Ge>Zq-NHkUZeLz|~X;u%TE5bF|{{)4nex(zBU2xa3i&{oMTV^}gXIF>6x%82^ z_^Xr@-@Vm&HJw7tNc~*X+l@)sbiGZY4vJ6y!&|qZH`9zFws3ZVyTZatPuGtmJh5DX zA?l>r7r?oSntgH!qAu-15v4s+Y=qBvEAjQKa4S}n_w*bMHR5=zmzI}{$FScgQ%_D# zkn&e&1Wt4+kLgb@UWt|=$FN1|?MVC`Eo)!#pOso4HEL$v+oim8>B<3~+Iyjr9_Bz4 zmz1pcN-Hf}z-1nn(5R}CnWguDQ?A8x03b24{WE^&AmK)>8v3n3oqIn?wgy1AtS7B< z>FKk&#fFMXN=3Sx=#;LPTwKW9yK3!iMhSYLtP3rE7;W0N=1eb57&d}^j;9`RZkZFO zhR%N1QzFxeOG)ADC9ZMFR@x0IQ$ircfY)#&C7&rA{|G2I|7PN3xwZkrRSF6(PtQib zqi>iC0{Wtb#_H;yQc|WqP(E&R%F@PqnG{Y$U1O`ZASB>t{jpU8qMJvjrHP4=7f_wO zz2a7RXa1)rKURgCez-Fwn&P&Hd+73(?*SSD$2bR$=nLP*Fqfp}t6GDd#!!)I1s0?N682Nic# zZmkuiijwx{eu^3aK&bI=jrondrQn?E8Gl8lwrWV2S&k6(2w0CM^r!J`v<6B`ORdP9 zd4wet#qUVCt!4(-2Lpgz@0_1$ULVJIIQKUn*1-j0yiE_LeREX{(V6q5(a3)JG+(bD zvC{AZjQ2B+B;l3$j$Gxsjkc8xR`;p*Uv>xjAAZqA%JG>%iQ`{Z2ku>*dF-=RNLa3^ zsVO{MzsJUgrsJF9ENv**zx@c*I+8V1dD@LTe}BTz#)Y>EHe7GAdtwc%^z}yJhXY57 z6ZzF7+QHdrHLn)fMZN0sVHqSrAFl`+IqZW#@gpLlqdBr8HYXcbP+{nJ63@{wlOn^a zy^YRKH#JuA>m#u382rh}1@M4Pc5HMPby`WTP?B(dqF?3^azqxK7pcZ45?*ykF71MADw(Dj`99ZpxiCPDDkI8VW?w;@6A{fG6Ny2Cz2^9zRgC-new}^@b~8{CMHmN`ij$C1x3{} ztFhvbR7_P46MzQKr1+NeJ!ZY|U3$VFM&U6(LTod_R72xuGQVy-1`e^YNjzY2TAe^; z1O)|M$b3F9uu|V)DInPq5LeNW$1Sy-ii&liH_{ z@c8f>;90b30KWlFkR>dZjluQg!1Z29yV0v|r{9j%%?Ito-(N^nnW5#xekksXU-gyE ziN=n_GPQ_RYLco`>`AFh*13 zwAyj%psLIw`!&cFFP{aRadC0c^BZe%{~j19GYh&1=vTn4Xy25E=q#Tg7vq%dPIpD23glp39)TI;#^>G1HqiPvVaL9S}G(@Yl144*z@W@h&F>sJDPQ%ymE zii!#|Qju6v5_v4gaZgq5`Ez#m`@;p=_4Z@MgZ%S<{|dl|Ig=h-w?bzi(xrWMsx~(_ z(KW6MUXHa>{E!yLRg%)Glaq$0Wd3EzLbeAhKR$&U9Hff*yY7u|=Tr<{S^894Q(G@; zH?8&G2_2Wh&Da}#@@cVl8b6>XClnWo;>Hvdy4K<*EA2ej|2*mTVCd`WI&*6Mh?I|n z`}iCk9;Qn9XvkGmP!`j|;$rZ=#%pYmyu3$G((2t;iv0-(UDgId&gm(! z^)~(Kr{o7b0I66>TI8r|eY{;>QjwFBb8xI|-(*ke6WA1Pv2QYbY`u7Uh|3qh-r%F& zFVfqZgO=VdAw?t#bVRVOjbYncgRf3Mo*&JjvIio~otvW0$7a8J{S8F&1vC3qoEx{x z%Pz(bWCXk>9!`@_Ru&SEa(mD|*hx&}! zob>|T_QHMs=Lc<*Lj5wgrGpL0tbAh$^l&ZWtQIORUJFX9>Ii0W^TVx&Ms+WlPBIA8 zH8o;rIJPq?>Rrl)7j{znV`GC9g^H`EC*QFb2E%}q4`+p?+(OY9BAAPs#?l+>mnzjZ zXKy+;pBC5SVypv(D*IBUc?O<(W%}ZANV%EGCV$`XFw_M|;L>%7L!9m7#Ker;*UD}h z8d}5R3#&;(x#`{>eWllt%g_qWhYy|B7PkQb7=;1lE0EUud`#g%7pdrF@NViZo#``@ zxHLCktjLD3(TOTLfD|3DJAy|Wm``_xh0*=$F!5h3J4%y)VLUX)OuQVS?h+bls4;BQ zv71#&)dsEB7rBMW8U;;yo0Yi5MRyyuSQ0Ib@<;~h0#8(elM@a^W``QH32_E)yF6xB zDS+RJ7xUTQ-fl9TTf#g*>Mj&>FKHv?@|qD(GM=fMMtN|(q&G1)H@DW&k(0|wNihhc zFmJ)c4Kix={e5)vL8gV~-~9T4gX9l{V1y9G70THP)#b51?~ zZqw_dBn)rZsP_u8zv$FSlW;YS<{AI5%z&AMhVAaKl7{TQ#?uHc7+O+^ijf397kEUf*mf(m3?*L!Ug!j`Uq0KKP&53EXTbFW@+}yv-x}S5?-sf zM{0RXt$K8ZmTq3T*&|=zw@@0lKbUbl-oI|1`3^rn{{pYD?JcTRwDZt%uT5WS0$T_< zzzOL({3By2Z~`t}gE;&otyq~A_MBvECLXW9^P%Ve)g1?t4bdu~f%^1>NSbo+3j{sBk&Zrc5heKBb@6(U% zwQV{?x}xp1F=tZ=eg1|Y6N0(n$ed~!Wd+q_;nTh+vTUa`H?=6$Y*Cp@E;wW7Fk<#=^y#7?tL zak6c!7%k@Xn=kk7y|`|`1|gi{0*(eh0D+38ezDcv`bE0b_Q4>vb4^)AVq!n2ev1eP z_DhUF+MLOAy~%Y7-szLcC*;&DIW5dt5phsjTLON6my+7~C3T>AjT)lDx)+>QCBpVi zw$nAyxw$KVA??e6ZmzFSX9oN@)ySTcaX(lGXVyY-yARy^#dA4!c6JZ!q>53a(@bgJ z>Z%EXaJmy;Q*2bH$YSzF5rfY{5YJ2yr@dUH42~1uto%;UX^@8xlhFZ0K51zq_R#`u z9uX0pa@WREi8YpBpowx`6^YL=ZahXijXMAnKo-v&)|09A=g;_eQrC8xtuof3G(JFq z52t*+#~3J>dyoHDx^D13d?tOSKDqjh-g*oHfBKN>sF83bYRyEBnng-|CtZP~r9Gnw z{e3&Q>6F~Zm%yF(C{5>Fh|@t)ZBb_(i;gViT+q;9g9i8kl2hZ9KsZw3@s*VYYa%tb z{Po!dQc^%}A7GuE6=?%BSNdWohCNe+Y_*Vbz3c0#fW}{1!i1)2D4qob+-#5B9Lj~& zS2>bXF%Ki?5{;% zkmIQN{utAR3-3aWygRD+R{G@?dbdX=+15VLr(WM%|2F2dKD{&$jN`}pT*`@HmROxX z+Z30QX$laX_SXDrb#g*#ty=Gnvrr@Zhs=NPhekfXiO=bVdG%m( zli7)uS%3LG2&%RoY=ZFbmboBD!rXn-s|xTNDL<3!oLSXDpM1l(WR}=_Owc&|NX2+7 zSbObRlh*a?*C)iq!iQPZ`{8`!AnSX}~(qacJ z1A~Qc}!WTeM>KU;ZfaETH{9O|!+jlC(%s7p<)mb9~l+#S)gvA7ZH&!3+m7n!EMj*L^+ z5w;uI>D{BGxcbTzB>@9jEXGsd?_$W!>x|(_y~)Cpm5#c(s*WJfR(t^|jp@?NIXXO6 zu+NgvchLMhnt@0T=+7!Gb+ILs=%FGse897)poll({3as@fR4#DS|SbH2|)T*H@&K% z2S39%?UV`+&Z2Wv?2iD&UHaf32$n&74P=)m4N{HGh?e}$SOEt{(kh3uZCpM3u=AfS zlyktP%SC$Yba(Hm0>Gqg2s#VG&!EOu`22~QL$S%A05SFd2ZD+THDMeJo|f_(2~}H` z*+U51jcS!pjM}*;o;rtI@mQPQA5u%8uP;_b%{1EAn|sTaXpEfH_*9=Or%ZGIU5$nE zb^ZSBJztw!b=I)`w~f+Dzifdj&1Oclp4jr0LOuJx++mj>@p2{nHDA30@;BEu=jJ$B zE=h4*(!Tzm`j<;KzP&5NL^w!$K}_IK-`b#c+reP33@^yTDGdH5j*$LD>47Lx$npPL-YC~_&F_mFome7 zO?o5=WF*9|y1rg=ZC_PfT;eh*#cv?DWGcpdGf_l{zvP4juDxuUmzEN`0r^B?Ef3_3 z{Wn5=gYuwqEszwx`0`?B?+DkUn-Q6if*a)IZ6hNu8V#>NOgV-r8{OQ#9~rVbTm_1Y z_D4`s1_x8xoR9{x#N@DXa0LHWc9gl3`BN<7LLOrl{rHgPxlHAybd`kp((iZZ+kpi? zdV7;{eMkb+VoBfDOLCNI(VWkF4%e3ig#=!36N?IZ_l{yNkfLSOR;aJ9&v2g-a+tzQ zv-l@7v*B=tq|`Pd;_CGFO-T2Bz}12Tk&lm0R8$u=vbL`S&ngBfLReUs9CG{M-~f-u z@9%5#%3Y1DK=Y66@=~6Nhv!L&g#_G7wAM@n62& z$|uk=-B!5G%gcNJ{;#LHE*K9VJ-uP?r6*t;x-MOX40iQ|q(jshflY6vKcl~!I}e-n zK;}=25#uW%Mh3oKx-6t@%rk3iYmkXPefqBUn97n3xB@sNk*@>)frOAybbkVyA9iySnt$d(<%qbusK;s@8M5Y$P#RH(RpxSA=rfggfgTeG9 z@Wrxj#Z+${tz@vt_|=T-aj2#qt|BAjx^=p#FJy+sR3U70sjprYQA#rA-G6GF{nHZq z0L8h?PEM&x$M^53TBCA>;_l00G-co!V#f5F{Eq53n+(=@F&Y_K27?Q31eMc}ya|LkV z?(FVrax23jyaTL1djEEZvU)+P@|e-f!uF$n`y;w4x!-{toUbt)c94YzYEi%k>-@CK zQdb!QqlNM^pa|oOb|VE=7#YopCch4L4h|k#x|=ueozgB#Yj;gdaB&3pK)M6L8(w~C z<0O9Uo=xTO_g9GGNVVMvHzx6sql1#N^2r*iga-2H&Z)0{(P&#++YQ(lm*VUT}E;ssF8T(rr3 zr4Ov;KV)S4n4y(cYG}i#%--q%5^O&czwHm0Um(pJMd_9R!ZG_q{efT9>gp<>|9cEx z;yZx?>#%711k!!y!GjmZd>)8X^CTYItn6&AW$Ob{`F%M^>17S&#UynIVR_NAugQTc z4iqC?`?$euC6FWC6)qDhqc>Ww95eRa>EZx&DPPg%-~?Y7gN-AwZj2f@ZvaJ>2KOxZ zs?qm1(Yy|+_2zA%Ku9$l^*@{s7ImBya+(%PD|S)aE3@bTL>Rl#>d4${s_m-(Mvu^c@ewVO=@8i=;0s_Ku^ zO+HtPUi-(oeT%zpkegfLG^N>aNeMLgLRkO(;O z&X1&Kk;tmr^M%6$c6&vUa^W%a;2{7ha{%`27fD!g9c~1rOU))zDDqihf{%sFezY)p zBLz1VL@mRqLI7_hK{Q?uWQPJv;HB~(1SzLUXnQSmM&AQ*nD8op%!+^=D?yiAh1JPk zW>dV10yeDV%maP*8&mYbR0ZIXlJ-|$z-#-NWBehhl zWT|Bz#3FadduAuP|hDDV^Yh=pt=heSfpUb8Ef@pQZ#ax?s> zsi{dh6RN7enmsYQcjLlk>h}2*r#giK1SSnor|)>VW^f#8=|X++G9(t&HG4ON94GhY zegu6uP&vMqRcRd4$`EATo7~pX(edjSXWM0J>cqO~@yoY2_DC;YxkO1R_)z_4F!xaq zP{`z~?lp6IiVmk-RBTa)Xg#rGaO_=v>fV^Bm;TW3Qc;f8)AQ-a+!gryd;rrC$pTn@ z8?sWRB?7DSaNa=3%@0K3d`(87H>RnBrDo4O;lNJx`R2X5cPaST4Fs<$wMkjDf9_2Y zRl;ok{j0J1$Eq%?&fn8s?gkT0tIyF-kK^ryjuKBa?i`dR4^0A&tZeVS1{FRqNGKkC z9Tv1N*?%$|%t|w9HUa2M#jk&s)I>h)vUk5{4OA?(?-&K-W&RND@U^5Q42X({b-&Ay zWRY|+-lh9183_$Xicf!Pla(@ApRgv5diV%8KGNmu7{SQd5$Z7Jz{%S_&!w5eEaox? zWYH+dZ51aq>HRocD#!Cl4voUEGcpzoywNE(Ov0N0qDG^59)wdoSraf)0ZM4JtIPJ+ zr|ahdjfiUUCjim3@q^a_up?-Jb=+zD_Bu!SRR6cfP4j;$lAi?~ja>{mlb0L9NOe*BW4(vzKqOUttjV)zKj@hu@g8nY;qTc98{=*9DHY z>il~rBsMlSN#*_ouZ5f4_YZF68vhp;@Ul}M#8kI%C#!0z*!I03g;@6d;G;pmycp=q z;HxZNo3lkjnBkcyE=jNTno-9v$hcVL=f2KP^};qo`c1lH)u4S>AOR{|Ck{6>vn?{X z%fOEaL>{yGaHzjCvkZLkk1h(D@o4*Dwz->|Tc3Oe6;%;t!T#gQQ3!BRt`m17CE3wM zEp_)rt!-=$j|?`KskH%5JeDf%&g!#x9e6(gdAB}UX@7Qd1VY67>j4L_(gExQ?$xo@ zRwMvk4I!nVMpvhLuZ^rD1c39w1b*5h@P4e}JfDG|O>(ngcRrX6*!%(jK7tcY+WPmG zr}cM+0QYPJ06ytKm^83v0E-CtfX}Rdvv!5m$E3|=$q571>SD88{+*QJx6{P}o8JEO zjM@hdf2db(*%nIM5y7H){+>(3`1n*9X$p6lA#GcpxnF|TYu_op0A`G$)8jA;`AE*C zoi(NY?A%=LrTF9+DWAW2%i(qhoBo>E<^AJ>h9`FT!NMA=-N=DgHlL9KyqcepC>_6@ zy;ygv1&TuKQwL=&t+-z=$;NiOc}f60dCoTYsHBJ()ws-)QcIPZ{&@E-tP#NcJ-N>{ z0E3f-?b)r$Xu7+h9QPXWv%VVc`1J`*Yj7@h3FL5aNgvJy4GR9r*W^&R1Xcv?w;PTT zY|y$VA7NPMfdQG70nkAjePQ{1h?DJ(7&a`A;}H;6&j$&;`C~d$=lS^Y z<8tbAjGPUmViFk!ry+?tSw7$OW$tdJR>MuJUW3GMudn9kFE`VoiWC&9LpWwEt*!Ug zC(rDr%*pde*camGQUtFKK;9} zAbo{Kuy*wPaX;{g66gYcG6k+t_mKK(As{1BfsYZq%Pc0sJbK_rmpkhfVb`zQIUD;(Efosy0O!a2$+Z2I+&xxSU33flB> zE~~GKT+X8bRU~G*)*i6NVX6q=O7`7b;}JgQVB?!QT=*#A*{Tyz+1Fe2h3=06Y}WCZ z^Uq*dxHx}FrQO(L)oncW^jS|vQ1JA(2t|WA`w}V98btMZBLQ#^CqAT`7Fq1~Z{Ejx zTIlF355mxKZ_xp#OHB-#malUufgi+b?*E_zGA@T$R(suM^=Ae` z#!Arf;o-sh3~}o#sRrSp-|@EI&}OojljX*wndWAaZQYl|MEs7LPH({BJ9olaX2J;n(@hDj3jrPmNjJZwpu7ZewHhA$TnDRX)G(K8Ax7 zLwfssC4MU^FAdTK*aV{?IwbZ(3C3^moQnMLR6aU8+qd~wTf4q{>+`Kz#zg9TY z?9lAItYrdirZ@3H?y49Oo!jFq0SX`nK@Ch-7O8HBe@uXj!VZY1n9yg=43ACcdKGZxqjfOG~V&_uxtF!Q|nAM*sGjO1&sU7BLg!kiW(J98#+E z_U&7cLnYQhA3xr1c}p7d@#;aSX0>&~n#qC6!Joa0-Fb$9(>dNIc*0cbdOf;FYIuOo zbW7~bn@yS1_;;GSq_~XJPoS;hRcmZucm%VI*um%>(1F8AJGZbPc~tBRH9G2LBdAF| z^2HrELcumf2}lckoBMXgDq1Oc_B>6}{n#T*!z(9}e(T_&x1~n9aYky~Z3fwQ!LA8@ z*Z;YA>hELTli)aehTZ{IpQ}uRx&GLTYW*20F%FHA$=al~wG)FU8ELV6MF0PEeypp> z%F1F#i)LnKfO$y`SU(p#uVb!7O#*W(YLDtuc@{6fecP{JophFx*5aEc2Z{&1XfzPP z=V)$YC+clhe%r$6(#}qP9&I+^w>vUQLc&90F7*BQvHffN9x#0#GMJrbT0b4{i8#&} z>@>E9#U~|w9l~VEYRLot4O@W6SruQ(nS}ZumRBgRw5?+**!pbAYdN5AUKSa={HMMj z;t6D#oi@s{cCwG*x9&k>K*eEpN>D<}xO2NLC1Ppgo`OD<{LV{7sw>zPde+$}R=^+_ zq^GBEOjSpQg~bj+M`ZII7{hb^Lqag8J5Yf=h8&}1`yqN(Gr#<#aTej+1Q4*s#N1R`W7A`C*5EkHm5nJ;BcHf^^v8C2S7*Lyj#v9XDYiV7Ova5363 z-ic^xYVuqgj@Cg;!~#%p@h*R|2YIbl&Dv;CWoNV=8>p5pcJOz%-w;L#Q%li~SVm-L zhWHQn@bjkn5%T0&{mT`GmI0)ky*U~j%DqP~MJ(4)Ps7`eoqgnr?T~(qFgrb_s&bq; z0SnQzk0XSq2qo46hYzNMt*JiW9@cf)*jPrOV8}MHiO~Kj8j1ZN%DZ&6VQYt}`U-BQ z(S1t9aSC*O)u}a;n3>J575XDi4z||y_?vc?qf&xR8X55mcx=4~rZ2J0Q@e=#EeWKs zYfP4;_$@008$Ibizgxn+^k9CzYCAU0ZF`sUFks6jU zzC0gU>y|PKfgPalvoAY-b?~gHtwgHPWdP9TBc8dll0&Vn7NB(!adL+GT;()$R<#ZD z+nFyXSkD?AvuthePt|z#`}ROLW|3n(C471(qXJ2*nKW8Q_vFKUfwSsGzsyM0i_@>9 z@b{y6wccI66vZ48YpGg9(1@r-1TCzW2W>OrwpC7gtw$I_u9~m3w@scBY0DiCs+O!pD$=?jjoN9&c1aPxU;j@*O%>RU#(|?sB{Cgd4HNT%ME>` ze=rkk3jT956i-@34~X2r>TabK+8PLfHp=ineyo6Wt^74HVEB(=S60pDC=xb+F{(RI2Wz1I!qNt` zo;-Z=dBWMpiltN1G_N_HaCLFcikDoKGK5Q&4Y;?xK$Z&?OMhQ8~C znez{l6>zGOT!6gRUrN6a7ah%b?b_=4`s-vJ;-Gr}sjG+9cYS|1x0v8yasHJ1V7bKr zhuJd7{TO0tokK=OCN5DxMO^m#lK%_B!9fn@DI@dabG0gH!USKLsTvwF@7}%3?lQ^k z=@GTrHfeFuQ2!wZh_-CDmZ>SJei-O10AEXhZpE#vIM*zSq8l8EavH>*gS51?hDQIz z4JqlyI12Dy?s_&P?giDHXGKR~cM(E%o_D4Wd z(DKnPb01KJK~7Nh^Ea(A(=_E5^w5O|{u7Z(PPMubH~ zD5|NQ)5fz6FM1M+vIM^hp_tMir>=n2|Iq{a*L^2zYh`0oUtiB)w=EEN7IV`JH@&@H zL78>TFN9J}lNieB_1^j+J{C^0b{U+;p(!aT>mM7qmws}|f;-FF0;5+!^%<|UZB>Tf z1`hjQT!1v;Eofvi{C-Ris1Y@&bh9u1;UJ%Sa*@J86l)+jjIta4pSvqaHX@N0nEsRK zHN@U(bWdWl$&R^v1TzjeuAl!>Sb|eHNv_S!EiPuo(f_*^oU~j`01*INoORaEPnLhS z(&z8JyR1@<^T$i8gVO!mRNV5(loQifooCA7;o;?*?SO$baz>Hakbsgqj&Sigs3!Fk zJrm>7QII^TGh?fIovx|+R1V<_kaZn>{VH=GadGj!KGou4Mq!8{>=)RL5K#}o`D`Dn-R0tQv#)Ox}R0Jz)8^3{U-iIa-kg|Yf&jb;Z_Pr@=P>7fTWoxwP@bVm=n9yr6TmdJfGrzcapK5SW z7Pqmn0sLoJEJ{mqhew-fC;MtM?kDtg59xZ?#gV~%R6dihxvAH1SP2r-o~;Bvs9K81 zv&loH*Rx#;@c-;4FJ;D$C5E*(Zr;?y)s?>6yEqt_mYfU+4S)(4fZ^rNojVUw`;3=X zJ@m7OsfjTr?_6u-Bhw%7^EPKQIj?733V8XZDXL(4oB$ek%_{h z6P9I3VK7+!PbHt`m-#af!~qikTn+5^?`t)nWvjf7_iVY|VgD6%v?#6Mhq`chodzAy zYt~vo$FkB@$lA2P#%C^oFA&)g_L1heNsaRQnwsGv15qKN?~4`kp%27=%*clB1M=Fq z$xj^E9Z-BWOcl|VH*EV8=&*r-khVT=A0LL`?3@w<(ZaeN{ge(Ag?2UAK3d<0oJ=%MLE-m7~6atj{*`)hr zhaX^AawG0I+wtyr*n&AO@48f`%x9 z$SCPLb#wm-{Q4|daq5e?0-OKds{szlfbBN=bDM~b#D%~I_wV0-Q>jl+Pmi58l0TP| zIB647Qh0oe$75-EnpP(&Kr79|$$D7-DIV(GN+tTGPgwf(Kjh@Zy`g0ZPhL-vL?CX< z3g4k3-lWPBo$FvjOoK)$z;*-PzVP)R=v@QovGVjL+8=M!wlxeRgYbfm>KBiNZt;wo z7iUE$B;;sWUA0=oV7RPKi>f1%Wlm>HOZ5Sz2MY*jaxLDLLpe@}1dH?VG$DTH zE?Dt&z~b!ygAoGAA%io8s(Sx_1&cAG>@E^)y?sCqGSSfNH4{%u{&;06eFdB%_*A!S z(~SV!U>t#%I6w-%+`1*|l#2Ovt_cG1&TajiD+kTN))H7?HD-Ba8kj||H#c5JoW6Y* zoP>a*1xz)d1&i0yF$~`zw@t3^aGMy0R(|1e$W!B~;L#}LH>mQ%3|ehWR`Tz?S&WKO zw>?B0&e!@LoY2wfsFeZz9+DDk(#OF>Cu08VlFv*tqPamaxTUCib`mH%)X)=`)jwZ> z6%oEsIX2t|1ln}(zagNPU?ttR81T0_2Ctg~PJ!llpYJ>9ryQ@Y0bIRR(yw377ihXj z8{zu`jknbbi086r=<7NUTcB3p>afM2St!5a05`+)>Iq}8Wy1XgaIXRtIJcfs6?@t( zN;+Qf*nxh`N*M$HWKz5$4b0BCWz{`3W$-u{^zgS$|Mr|K&6C_rE%(Kjpmh9g86k2J z4g1rzUslo$EN2b=7jbVMmgCz03tzXWh16OUniOf$L`Cx?X`)&4B&9(bsL*U)N=YNq zfbM3Mk|rsO(jYWRDxuO`q01(a zeVZ$>Ph*VZ$gV@|Z>Sa8+51tovhtiSual=C~+6`io39q;A_xC?-szhbk5T)^CStU0Z1BzVk1 z%%xxV&HvtZKkfCj4Qp_jr@{P@9h9v}`6l((;<`b=xLs$fe1(I&?b)|qd=w3A*ZM7D zobotBKI$bYxLCQ>MsB}s5>xLFBpw?Kx8(6dYdhm#d}+-z3U{Ie&UT-XOLPY}TC*l% zo8qpA-iG5G>9wA&u2~D8lK`-Wb1Q$EYZEWL{sPM*-F~o3`4~^O<}Cw%Ng~DY!>OCr zM^=S|r!Wv9jeFW>&+gy9AAV3E@s2Wk_ITA?XM>9@uDJ)qzy6|8ll)A^hOxAP8LI~C zGu_j#CEsc);~ltmuI&n1980s5_xgIt-ua`nuFHq~dve_`Uhwkrsv(Nz%9KFHi{WXc zoa~hd6hC1z#!ywGb;jP;_enrPX<6AWlcTvtXZm!^_DHW%xs8(Y!`&UTZ6fI~3)W}1 z_G>>kVolf7S_Tc|J@UTs)vJM_^yIiN8{a1?`afYAJpJu;X;aE2KB@z^lyhXv3e*W3 zcSE|#+*11G%a_nE$5mk)Hci*ua!JlQF21)|E-UKOMPbui@}N12;F*0%+N+7nnrxyJ zm5+bqY$jg&{Kz$T7qIxVl!=pi?@G9~9w%!D1%B-kW)Ptaj2Q5_$+GBXS1mtky z?xTNU*GyfAZ-US}w#&-<71tSs#nHm3%{38R{@p<#VB-ASvW`G}aH1tG{EqbXk55j* z`z`pqN=E%kzjOC}_4Tr6r9D0cw4?^8?3I-rtOgNxgNkY~Wk0Q{!s==_Wc5`h(v6^XS&}Xe)~oj-SCiG|$jr48C&d zlG}%T)e6^#P_;JqDSLiaaXAzJegUP?SXp|DjI3ZOk^HZ{LyB}BYNnkTtrMmH-G zgj>Yp#)1CW(i4*V_W9m|Q@^l3Wv+^j8Ha53+=n~ZruAG$Kt%65@m@qsY#fxKaO0TB zPSG5j3O^jT;uTYdYs0kmif>nyD}t)S%zIoo@2Lb3mUBP9?LGO?8@l#_W7v4~owT}X zf2|kS-qX#pg=^e{h87R3P| zxO+FpENSX;mh`rV0Klc&#}0%~Ehywt1UFr6Z5^hGTuJr*+2g)hWoX_%cHUdh)YK`w zX307Ro>4_v24yPt6tS@p@PiCYoPv#;7^t5-jE@0P;}B`mD7KncLFz`%-%ites1DfaNz9%{#*k7prH2JM-io{l~; zJuPk5x6k9_pB}py>2xjH?&0KTiQ%F^NUgCvO-6$I=MvF|&b2$F(lqqr# zPM_l0&B?@Kyc&Pr#$&s{#@5VSRjNYRrIWAp`@5~iUU>H-S3Z7!akz)5VjA-HE4$Em zxtyS6X!j*3%UdSI$4?B`w{Iangx%%j(p%cgOKR%2$ueqc`sc*p}A=iM%G0oyoWnS<_DT@oZO~92*)P6;!_BVF;IWk!E*Z zOWloUWlD4X@9tg1ZtLBi%LUz#q;8H;`kQz6io5(L9^;U0_@VP?9TuMmwM<8Qz~v7W z$4R8+yyvT+K!-PcL*JH_2sv5%R=ng<0?WdcWQFM>?XJ%P`}XZqc$&m%SpT>fnlNT% zg+**o!bfi(eQ^b?94}gpqc0AgVl>iD9ak|ne%!}E9UY_)`Wv()qmmLXuOdWJa<)*= zaVnnb`@TsaBKrZ(8I*Re;E~5Z`s~~qFyFtWC#c*cZ9?vHr_sN#fR9C|UtF1Ru$$~F zj}x;tIYpmg_ki5@MBXgmzl7O^DWWxx+h$=KQDM_V)k){oU}`{22OYQn=ruB}VcqYK z9_?AbS)t-o|GM57#DYwXc4S{_%#!yUw=$mhBT9}l;brpw6i7OI=;6x5)6?|}(>-TK z-d8x!s)FR^M$<7A^Z2n;b(G8+vZdTzSzG&OaZivAz2DSesrQh?v7ySq#V6?OW8o@; zj|&0_zq4nhTwBkMcfGO+oOZm8^PLOHAUS3m|A{_XMHn+X%B^u;nDSRz95teTUQyP7 zf@&8X6c9$~pGt$4<$5J>bs*US06yk8_q94~XvhVpZj)~Yvv{2Z;y_;U0WSmjUt1@n*99->L5NY^`OOWz6=yGw%(25e7usFLn zqh?@n*t_h6sN13S1^Ib-d5p*?F!f~6uCfjxU)#{jSM1~ut85cdpU=(Iu;CCtF3(4; zVXIlx9JyIp9nC79*gs1Yx&(%U1Tx4CY>t`^FmFYu^a=?!@qV&wAES<4ZBc*t9>gN?!8C$?Xb*1(+;tg@_gUvy#jwCp`yosqFZ9O zL+v~N@zUbHTSrT3s_q3iQGURFy!q9|Dsmr?qK$Z$UK#P`%Jt{V6$yB;VeAICGXIO< zrAL(~JAG@+hs)CVp0P|R`gtp!{VvX?6fkFo+nifu{=#CuuC7i@EVoAZdc&n(`H~@q zH!sNZ@wMq!*wT~~3cfRN2V^iYZ+$oW;6~g)e}CqK%SnAj9zERMW!S>u2iCS# zPQE=B!bim9EtvidxD8=PYVNuG6Rkf2ZloP}`1l;Zy&l3su_~QB%@!A~xiwPk0w}`6 zcf3*LSu=4f?F^e9?Ktt}uYufh^9q~yjYjpbn!|BSKE7Gu*ROjcVn|&4ZF5hUZRiRh zB8kN26je13kBMjjy}rJ_tpd7tq~;-$+cn=BJiU}WHO2VQ1gS3fV%C%EA0Q&w;I#BD z3e@Z=z1~C_ujabw^efEVNAI4R8NH1%n?0L`Ee|baaYKBtRp{b+tx?a~+FH-kr%mg_ z@EmQ{01TQUSL(Mn_h2|Xdw7`ls+ggBPxtH@fTt8|yb1abKJ`nN+aTF9#|`W(p3uKz z8J5*ZlS^EI^zr%g?b_#14E*v?>nCb9CC9}<+c7#g7#VMRh0s?W?ym&zji?7E>O_d( zg}-lxMC4cbc9pAr)7vx)TbKluBXKu8%N(t3Je8-StLIWtbZCeuS#AzP#6$r;~&VJl?4`TKN1xGob3^@c z$KIeI%JHY&zyH1dm4zAu1C|gn(b6n&_wGt=cY}2WwH-Uc5M5 zp{n1sJ0)(`wOjnOq+}stiwX-1mzP#?a*3Wzium`0u*{ve&CO*yWC44a_#4Xu>BlM` z9VO#l0nacqGeg_P7WsxUf3vi?MqC*HX?jcDen6$;IHb+UquKK>w;5_D$5m4}A1T zk9K_X>CvXZfn3|Ky_*pD*i@{S42V(De-_8h8U}{x;SNb29+k~Xo}cq-jc!8Tbx21? z*>^PK!Np@|&sG3WP<=38etzJu>M(THm1p;u^nSG{*BxUT>-6^r|9RTSccO!9^XAR$ z>}4>Y#l#qQT(wd3pI=y5s`z?&y~Yi$^0PlK#K)gW{8)snpo3fDFXWAcC+y=B5Mbuq z{rTHICDdRN!PFh}macO?5xv;#vFtUK;erMvA-EpMob!^q|TwL8xPFmjf2Yz|l zz`)QqSNe_Nlat?C+(`*H+3d2>L5g>R_ohT+c*xZ%Nq@k{nEPMLn+xCekoi*A+B77^RC!T#O zbkb|#4{tk>|JdSWySw#^k+x`a+Z>y~A79m7rsJDs1q2pcW2r>%FXgm>?0 zWpeT%tDn>DhE6(kl{+`MTx%bC9EdC5bU(%8Xv6!5fUV)Z25mGx911&iaX8n=#Ke~5 z-)ZQtwQ_448luw{#^il#Lm^hoF)EJ}nd#M2)}oJG`hDBB++4wv^MMOfahIhLY^VC0 z>=~4iPl`XuO_p!q*vYIZSve(IYi~F{GF=wICHKkO$cYW7*mXV4$k!=Nb3(8R)kKF- zjD;6g$x%PMh={dYe5>ylp4{bAYE08s9Z*p*>z0e+{F+;ny}owJ?+UxcajcU%m5Wz4 z^tZLO9afwdkd$mG0a$-Wds>`sSLL-0!&Uy|feGz?;=Pv7ld-}ztS4H3 ziygM5zp&~enmVXjcY0{ro}VIW4>0i2E}V}~zk0ofjXw)Y%w2gKS%)D8JFgQj&bqiq zaYOv7WSMhcv3(RsHVeEf(%CYN25;s%w*9tHY=Kf^0(=7Cy*Lt<)@vO)6lt0qtXm?! zbwN7>@!)I0W}mEx3MnV`cN)xdR8I@w~funyL$K$2T^zi{E=PQt3>Y@HMVaWSnlxKgSOkpdl^`tb=*zNR}l2-3n= zQ{$6vx^uqS?WUo9a@yY3XKKRyO0i`4>S`o(7&2OK=zZ0FT+aGJxZ%N#)_&d-pN48U z?Cr&1@;h+g;CM&5#>_*52UoD^M&OhT8Rma#Q}T4YbN1>>!Y9-uyR-bv1n^ob#@T_j zd!&9QD+S8+d^elH0T8xDyjI22GvCm+AhD~9^F?_d^a|SaXxXjN);gglm7n>mI(W1E zv9lwQQN{e!${fLj=8>OI86V4?^!9%I$SGyD?v;TWr{gP$a$;6bxBl_R?dS)wp-7VY zH1_ey&1-eEC1kbulI2R<;b{KwyqDIf^=gOPY}+1Mb~d!g^Y7b-;GT6O->wu6j9iue zjY%m0eh?sdI^xeeP7k0Uy(4{Mymu@yI{IOZK~T`AVe!hWBiZk%I`QOfS;#Xgk2o~p z-5YNC#JvN3Ki&hJBct?^*OBb+QJKQIH21*5w8MNU*u|s(u(xJd=9SwcugjpRsd8mz zv0vEBy4?G)uJ*@Ar_({?Km~&xGnGLlF4HtGX%&(0fsVROf7ZR5i{;g6gMs@G-U_d2 zZ;)%t1Vj7la}$UfC2@G8Yg)F)0Ik~Y#W(#%T>({{0N7Kfx#=8Ti>t`ccy!UzhiH=Hi)Xp zY)Qu%7lAXzXh0YB>DxDTICehg+WNA(z3TKIjNINo(hpW%;NRF?c4`!4d?2~CI;=+< zCw~6?iI7u8Ma9@tP$w71%vShMy8@##$&MW>En)eo<;Vaas7;H*ca@9~`!LGKSJY7~H+FlakV>;juHJeEmM9*|h!I857~sV?x4bW+!t7 z?d;^LTReGTw=~AJ6BH17x4gWx_saS(hz53{7Y(UC@>NI$r}^*hbO=27UyHgIpwML~ zAv67MB5oH~->XZwRfp%-#5{ev^c2ocCEL8W!dtH*4+nY$!*M*vT0;|k2lDs{V?I~O z@PKd*J)N73DF7X849~A>;K4%utMAsA;o%)rGQe?js*pyIm31N?eP5sRHA);ltv;XD zP+pTvd5Me=X;)-Fb2rht$Rf}^H)5-u4T-wkXkB)97h8uSC0aaSzV1!$C_m@Fuz>g4 z8};q@$)CD*@gm-$P;vteskDqeOA#CCO7?#ck@4EB5(`Fp@XHr%(xRyOY^ncuyArFd ztm=5{y>LTr+s6KEfl}pOw;iBxY-k06Gtp)EH1 ze8Y7}ST<{gF%_SqC#>QN3waX>$Lb%fA);UVxCs>@uUf%hp1Pf)a(D}B)%FKDbAgn6 zSth2~(<^V!fXM^ayvqbED(#K@1j&gAmBVPY^!>{VZ8o-cZCzcPCvN5e0ZT=3F+FMr z4qP(KbeP>NZi67{j1P=0J)P)b^%CW%M8>VDsp};r+0g24zc`>Cw-%qh@sWk)n>_j& zNTSZ#gJ=sq^0K;G@p}~=5bJw}zHsmj;=OWWZhAcgUGVzW9$q=QvJcfeqnCPU%eEwK zs&;!s|K*2A$5dAG>Y*t}I6QYumr$H913kkgz8WC|_flnE&fOhq} zwfg*B4s_((|D>%Kf69{wZ@9h&@c+?4XKFFih7G`#G{O6_aPT_L0$PWL=ep4+keaC2 zdY#S8ZrPs$*((bi9~%lwgYcA-K05#t|L@NkDpwXxbm*;7Ik(rPYw-J*2hD3!+FXIQ zn%wlTll62i@*}g*3A@v~vIU9}R2#}#gp8&~d*a1yfswYf=qaC+^FpJz(UfH*s`5Ni zZiJs`*T-18m-gfD_>dZPugUr2V;4R)9wDLmzPdlrkH*Q9@q4%5S+A=47Snqo0N)t2 z8R(C<_`%+R0fB0BH@6%)oxFB&i^rNU&$Pj2*8uy8qdi<=_|amH+A1LRJ2sIXys@6p zds=6|e}10U8T|P?1DHfHpE;N*hdYZs^z|c+Yw(qK9nC`#<LtU@Z?`-+GS; zLW3WOE*3dD{Y&h^-o5?*sH zeRJPDy=0{{CuG~TX|uOZRLt7kp01=VBTx2NK_YB4bvYm{@=(yDe5)8rOXyP`Pt}Ts zOBMZhOOCl@a4_x5i>m@Vcg8IJXseL(o60!E$jBJe(+R6q%!ws7mPH05V`LcjRpz*< zQuHaV^pWi^U#8;Y#4TF!4AUgGW3|clJJ$k9zd31O;Q-dXiB0mj=A(?H_U)U+tOTd; z8i$j{KhU(`q83N;D&^$m#m(|lGS4$IvP)^k#k}@JdCE5UsiIu!5()u}?h7pE3LJ|> z;;!#OAS0Vify1@Y0kA^4Nebs4Rz&gMejV%DCZirYmysdpBZKdPSfESHd+{)4hA4w| zLs+v>sOhm&zZ=St6}wXVyL)Pm=dr@}C)%WS3u|Zn1kKVQp59m8r@#F9B6GbZ`UZ`I z!3#s_aCFvt*j&Lliastr#@ccnF7YD;s|(TJStHHMuLIpqI(a*5I6Pvkt&3b^<%Df<+mF4}ZtEw?Aj;}2niVGzW24g(=Edfs6yH->#%yC_W0=_xh2-yo+$DF@JR4De zu|y64`#TajhArTP1L0pGC&F4eq@-zRQRbZ)Gc>GA%9uAMw_3;Epgm{cuC4M>e%3n0 ztT+|PSR1T8Bo|p32RAh9vSi77?nC!%!xqL}?N{roPM&-R{S2^iEqa;LGgiF^H^jmf z9`kGWt$Qo3=j4u-t8LhJYN$nHovMqH$Gep0u!=fjV~=<|r_FWy)~&PP?V_Zqo8Lp) zZbTQt$hdVknbHhvW^0I>zUq+J&c;dOH%2+M6e~b+%boTybl2pSXec{l7X2o!ZQC0EFGR5&wzfnx%xCL+$VV?9lt% zGokIb=wDu1x~@vaW-|OxHgECA;`B&5)7i6UHB&yK)LI>Kf8t2J^49spS_bhi?pZ{A zeMg;EwxDjr-DG=`uh~cX@i(Hn>aJqlUPvH~avEx3rR*COX=ZF3xiD|kJm)C-+?^Y6$QXQT;IV@(e=V*NWLm37Sz8<=zl%ex6 zDvWDi+50k-#9i=cq7#S{we$reIm7_bu;|fboezps@6@;V`WiMKs&ksht^*85NGnr+ z&&j8&EW5dVdUmR7>YA0Fa=h1V^!909NoX*lxr294n%;?u+EKY@jY_rV2ec^}7R&LA z$5U2^{Jrs#7T7BTXt`Xdgt(W{@Sc_=QhYos%VEy^;EZx@AUAIjslkVhSELf1`@H6-wcS1${Q3N z8E0jMzi!Y*jqmJChZBTcEs5Bs{nj3GLSjIZOiof#YuaHBmnZS2E#1+pEH*~4bcD*r zEcPa>u*EDf9Mj$$?Y*7+3TrajDxcD?o-^$;An*-H)NNn-UwW68Oi?>1DkyyN8+l0H zVn;_&tCDw*_ZH*O(u3*|CpAR=_mvjkw_aMiDan6a*5yVp&bn41!^XFu<8hW5&ijmg zoW{DvoB*1%+lSp9x{oHrCir|(AD=_6Ko*Wd37$3wVCyl4ntFQiPX=&EDa?F0*6b;^ z$kW)&r@S>gr`*&S(jmN>k@HuG@0ORBkue_@m3s{}%}A`N&HRs7+|XPsFM+F@tmSRi zvRC*yfZxa4mPn0}k_Ws?;=Yr2{1zH9TtOCiHyD%%Hpzo!?Astl6M6u|JL{HOsq(X- zWYxOh-D#~6?DOG5M7_?#6>9O}k1N8HzZ2Ct3{3u{nmFM>d%{?lm9|r+GnFxRBk2de z$iVF0^Q_`gDmLD`hwe(bG=t0v%k4~2r875+IFyziTRHRb1hD?N`&OaW=GMavkPye{($op>LzHbR0 zO8zr$kaQ0n==i*Q6SNIcy6FjWK3T>~u$xD&*-4c;@qQHc=)F&>pw1JBqBwko5J=ko z<)3^yaTzU+u~-EFyvvXlZs@B68|h!y^=!p@UP&)Y3eGdvw5|X$Trkb^B=nVTrt3DG zanscFT*FP5b8EWlDD%IZ4~Yy#L~LD;j!{}awQF*6*NbzVRIj0CD)xmfTjK8*KDKzs zc@|w_OhM!ZJI#?9|?8Hg*6<9DTw0weG0>bfp1Q}A+}4Uy{r>9nqS_`SL(f!*_l z@r;3i0rJGi9n>bwK6pT);f2bh>!$*i_6O7REj`b`&Erpg{O;HrB1X&A)#Bj6gV=9l z*6HZI{kAiu89+*YNdY|p!f_WnXlg;>=cFbF5zz3vs|#&u0i|XOSs-b1K5$@lJK7eN zJ2Xj2p_%%SUSYyAwWaB{rEKfZ>0sLO8LCxk`hD<*Twb>W-Rmk+nKA`Q$CdTLr9bu7$O;qstY`p+e)^m_B)Ruk>E!xU+R0W~o;#WGA2W19cZNyc{ z+AX_V(<9`;gNucQ(Ju*%l1s^o7WY-#bR%g~kjPbZvh~py54h)wNt=3kM(+G9cupng zkRX<2Y;rP!i3V6}rXg8Y_@4t6_A%kL1@9+Ix%yRlA;~`%p$x-D=1Z3#Xe+7bEm!?g@g=lMMpnKNQhan zdb65nyDBxPSr}1RcuY4U;^zgC^SE?>$0)5O06oY>d7Nct4qr{!hjft8hayxjQcNUZ zp&L$#qMSPIv+ngJUcr#8m(Nv^*$H;f5a^s*#XDgEjRtkfaaDi~jzE9To-OgLQ6@fY zcUkZ{b*lDt>nTUiYA?<;`g=9S^V8F>4098sah$7Ue!sP*Qk6JzF(E-x@8>E)UVvfM znKQa}nS!KVq^dhn5>tlO^m+0ytXacaMPUtj*n+1gv2=I~@m*S0u=bv+>bYMi#I)CL z-~s$+i2!wSEl8P~E}Wwf)t?E2Ul4?j+_}WW`8%r!7B!~dIeF`^_OKJ3)pdwy+KBF2 ziL9ZtAAAAQsG`-k`*~Z{F9A{*C+D0l1Jpa5B4@P^nUn7Wh3&Jq6rx>#VSQQHuhqL* zR`y662TkMP!63BL!%(LG4M7kgUsKbaURGNl*>zp#d_(>J5Y>d_!4s?}o93ahCgTns znh3uTwS403)5o zcs1>dq$k=eqie#!IPXd%nw^`Uo+~^Rd^AgA1HzfKukvmp5_(6ij=ZG_rJ{vLDv&Wj zR5v*zujKKm)2DT`wUy3E><|~%6UuWv{W+frTSP){pYgYE!4)=@&Q14G8^NXx-8iWj zt}zE>uctKc0Q?akFG7u%29kr>ozyin(AtviF!t#3-U#_zo8?*K)_+9HkOI&#FfF0Q zzup2xxEyo|ICYQ@=!t$u02m0Q{Z>SQ>U{kRHgNnoq^KnM~2)e6^cDT6-Q;VTk>khUvwH4Y*`F7%se(0qLg_}N(S;n)queP|BwK{Ze53wva?Qhhxj zDfm0$=M?gYAoAAkwm5X?bv(`tC`#Yl**k*1?#DZP1 z;ll^u<5@5G+$4AGAORzAhr+%OI-CbWEsU8{t&E@VH)$%XtdSrnDU2n*Z4If8 zo!;^JlojPEJgbqBk)UAe^L5j+A!EAECb?O}EdNBiSmvCxdzawlqSqLfhVy+8Ssaq6 z&T)aY)m8uzoM_A9D}0lrDBOVID)JJhWq*(*jk!wqoElm%L~$VJ2@~^bhf$2jM|C$e z=p5Io7H^!N{8$+r%+`n?hTJPH>3R)HwS#Eo9Ufu!!+yW*+8@&3UxsuQcT3*K1S)2# zaMf03qH3GNaYtOtLkS5S7QBzW9$eAJ0eY_l5#Eu=hwflLA7hBx; zs@vHS+UIjkXkXFLZB%F-MsIKytwz@1xb>L?JbsdIqEAz8SZ&v~;0U6;aLw1`iHa=bm~}^ivP4Ap{Is>}p}Q_ZhBW$|`Y%pE&uWf1nCaqZ@sI)*m%jNWi;= zHN5`uVIrT~bsEAT%8D_~fm#K*7DvcDJ}KE zmV&Uef+|3^<47i&dI%#4#P#J+{y$q7&IU@h&_i1R)m3^wEY>A~%e3=Rhk#3 z;R6Dh)bGbwFTCBM+Y(eb2;j#h@wUe!*=#DiMm?U*f5QSzlJT;KxV?1{$V#LpPvP+U zhl|~3dbBE4(T)Jv%MpHF1&`oyEzNhXMa`zbx2olQh82M8Li{T@L;B;}#t>j-mDjFw z_w2XZPAe0%mAt_yY7am0;aaUxI(310?OKSJx3^X9CC5u`Hhte2;^$v3)PL$%@tb0w z&_;c!2cZBHlbD=N^M1%Eii^)QnUhe8Z|wb@*0oIyXV0W;j0s90^ed=fT^t+$N2=|) z`uMTi-w3Ri$$AtjqMs#x_n)zh6!QP&^WqFcG5PPAjsIW%^3A%O>gQi3&i@)` zN|4zkVY}ZiP?L3b;T1zzea0M3>{lzeSPSS8?!%t++*06&Agyrq4J-}~QRU&c?7meu$1$Rcy)@QFa7t~P_Kp^5xQ%l_z{QBzaHjzHB@QEd8+ zRf7P5En;(0pV!{L;ky`wb-B56 ziEmunDzyXUhZu0#Tb!k!uv)k43c3Q!j@4GFmyC*va>!$e*`i1|+O2o`>?zKJuW=Y80}~^oaW*ZW zGh;vWMlh`zLKn8CA8}}HFJkdxRdT6gJ#(C5mKiH;fu68JGx98^rC4DL25or7uRh$k zGc^1rS9C?zlu=Zc*eaDw%?IU&i^^Np;s-XD4;aXALAx0rpKdn!S5I(mZ=*Du=zzZ#Be3P1 zK}rd~ZR^E+U$uW3$DyHhO%X= zT1$2;=A^X#M#R}0jtnF$Eh(-K5uL-nigSp{^y)tuFndv$je>z~v;MsKc1N-%B_tFk zdy@p3XyAO_J+pdg2ZGnf&qasNhdJ@?T^x$6G3=D8=E<<@S?5eC`a}G>cb#)?;i)E( zNav;<)cUA@UdC&;zR1$|yroK8&g*-4#KmpL==8O%g))Vz_i>xLHI&d-?Kt#tB`n!P zrguZgNta*Fk(tBUZCQHl1%s?rS7?$mL?2D^ArGVGz{N6Sp)kI^bhSziNwBaA3a&wN z=71c{ZE!X5S`%A*Z-w!9B_$;k2j=Cz54}vFUjshW0i$A7Rn_y03^Z^95?&~NNG`p$ z_AHz$j&@LKN#NLuKxIfRGtt$3vq?{3`w6YLRTxSEQ(Lw!Tr?pfFlsjer);1HfmZ^X zO4O{Vl2XuLm)7D0%Yh~VSbq>;y_Qm-tmR*>a5xwN?jgely%xX$yt>Y|iG`&V!K(WO z_(9xgknSP#0%l;Ih8T>cY@-wwu%koK+<+2t>Smr1BzZrfe(Z)~bR6sR%a=d4Z3`Mm zJX2F$z5G+=L1pJ+c>9`|-UB@5hBLSQDY4rqDFyl~bl)BW1YS%0Q$NEKERAu9fK!ho z`n*+~tv!$#OV-a^ufY(>fp&!d12t(%lQV>TJL#ZJh~>kchuqq>A~3xNX%MTdqZG=AfO!jG=dq9>X^eF6)zqxyEezJe#%t`pwfXOX_en2YPVJ#+Tly<*~ zGU!+#J!`1u0cU$4ka~CuS6XXZB>lsG*qys@;y2O`wmB630^CAeriR(rk5#m{9S7H})Dbmrt{P4g85k^t zaUIzy-v7e3Dinf$?|(Ml?>9hOnmzp5YuE3IYxBKUZ0<;iPK=GE#oT=S;OeDI-eVt+ z>`|yHz}k>J{yNgojJ=ln6_ZIGe6cfnSEOiHMYtFRql94e=o4*FSo;2g_B3x6b3ggp z3LihiGv$vv-~2AuJs%mg1wDf+T{x97`$JMwsqN>XFxj#2c4(q_ikiH`NiA4rkUd%3Vq0r zZ)XQ-)Sf?$GNsvvXAvHD;l(AS+wQu;;gfAm!EG`OnxBm4s|*zLDnHZmD!qJ^`@zA$ibhdXx?<&;yMhvO)mh8R2S4AnG;b?3waI`uoS3Uvaw}j3@ z+{E#n8#aLS3gycqfa2!|G}Xly+A|FYY3Hp;C$Lbe(4vXH8*!S1@m)?`(As?c z&%AAPI%7GjTGhxrR*t={sWAxW6u@*jXF2tQR8eJki@ByDqj`hC6N4La2x~A$uj=K8 z27f0}y9a#OVHEBaFql!>XmOVAH{V<(EoS9h)$cO$4#vkb9-93Ex70>D7Bx$Ydt7lV z-qOVqXA%e%gURL0eU%B)MD6S_1PrWdKWV7Hci5uW(rsSKd$T-n&29}%GDe-rQBGsO zwb?ToYYY>m>f?&#kJIuzRg9?vrgz?YlntekV5r3_oEiQzqnX>7ktzBeJid_Q&atVq zlk@vSPXz}D+uHVQe9!Kv@9l?84?=NYcwx~bJe#Z+Zf5oz?~*O*5;t*n&Ny(H42#6( zmWJsbbqvO5(r}e79~UC*n1+pf8j~o9Ioy$$-CVOhFrk@g^5v$VE2T@bJ<>vR{HHy4 zm+ne2c8q$Vd`2YJLw61Jg?iO{)486FPT%QRS^oIr=B-h{Pm9UA`8V&uciX2U zoA0SH2*pDb>}+)w&Kev>rdO%wo_&z~hHZm;)20VDR@qSs?{cl>VSoqJ?euor(2mH0 z6$nMhXWqf|aIsZPVd3e7eJ7uI^o)OJ9y%BK+f8t;i#!j~3NduaVX@{0b~ZJRts$X^ z8QBwPm{-~bKp58{Iw%B$GWH>h`PnzhhR+5##((RxW2b2MthMX19H&_Lp?E%G^B>HK zsBD?$z$Czk@T=iyfwjXHaZr%!6vKs-Ky;wtzW*aNWxTtbw2=eC05P?<+YTfEycKdt z&xC*2;QbxM>q>pnIi+7OhCve%zNh*SUGfZ24X|y2?%&!QHv+0jJ#ZOz@fkcgq^h7l z&eCB$bQGUHL4Nu+2?r1Gn;`58J|pkzG|V2^U;fdn*|Q8`gj>MVJw!}wOjEONp4n?W z2Be>sQ#nY4rhNE5lPmq)z;?ose+<^jyB`cKRuk*zr3-DupEa*A8^?Gr=3*u@qEtKp z;KVF~35nwmz?pmVkoFQn2oBwqd4%^9W^`clQAeV&q9V1+RPW)QDEHNw4>_cqcOzKX z<$4bkCZuN{I~8?wxIK^7W@>x#L;iLJg{RnFVQYwg+;3Z)?1vKpA~@>`KOY!osX6gy zc?}LIiaq;>TiMCG=ir4#pcp`T4*NXha4$Iutp=>uGdOK?36;{?_B8dpv@wtjP)e1Eru&K(tcrp0(SO?Y z=6G`G$4WgSG0M*MIW0pdXG1H74uFz2UaEH2e;@URQrKlGwtc(mo$q`eF)k11=FT!- zM6maZ`d2XhbbaMp{!IGt@`-wlXKG~iUfFbgnYipuw*ZTO-5{O+hnh`!HwTC zS7d3ZUvC*8VGbQ0>zj1xPfcc-gt_(1dyy?CI+!t5lV^HDR=MY1A1Z0W?JCw)Oe>%A z!n-s?ld!J}ar76>+O#U9+MpkKl3D5!Dj4F1yqjkylU;ZkX?_(+i%GGpzkFbyl~Yv} z1q5EzAm81Sd;3t1{)G9Z=6}j(j0%gob!%{Z+{QC~8%G4Czyl2>s=Iad7q*3*`1;iX zWqvU%?9d0fJ>A5ECs9huSQVWee(B$OybO1!HjyzG?)O@^o3BHNxP4gBx3!bfVWCz&dh4V7y%e|s1+Rt2x0B&vRri6L zqHjBy)oL<(U?wzy7Q;dLEGJlij-flsweuE*rIW{hBMc3koQHk}m;OQIzTGED)ZtCd z&f_XUVydkjI;l6}@3`m5^5XowteoM?IPP{LCe*ldAFD(r#CRcX81*|kItue1UT1nn ze)I6}g4^vf3gLLCU$-mdyYaL>hEWp2(ap9JDhLu+m#5^iincBWrC}aUU*Go+d7->S zOx)7mkNf)%LrzHSQpb+2n-2D^cru#OT8!~#??$E(OM_+-wjSeiP~sb)W!`@BJM1{X zfKQ(~1(wQ4m@;djW~2&##xk&>PdnXkhavR+EE^jeKIP~>g~jvh$l@#tIOF59VeMK2?jfpV?E7V}t zl8sX3cKwKdDeVflA+TO4pX!Z{+1<_f)M2FR$V=QxcHs){Rz4LPgzqhov2t=XrK%uf z0-%na5hp9T0DLc!|NUQ+*W$a%>HJG=2~&Lj9=H*_yi8fmAh%cXA&UlZ`Uf;LgdKO* z9mSm^$L)&n?vj&}n2cEhlp>VB155-vMt-^w zZ8RVMMPm4yL`WOSqA~bY1U21P2d6Ui;|J`s>)bYQx(xzDoQ1Z>5vDoXRoe0v;gUJ#WJU`hXPgoT zR%xx@z%CWZ8;$G4xR;JoF2Hz!vXf5APRq*6y0BJX`xe~5OMX%iQ3_~i(Vk-da2Wy$76So0-E-Ur z&LR)Ru0-P5r8zI3D!Bd0+0a85W4{Ieht6ls=7S`x3%4bjx-RdQ!%+C>AcN)aqIBr< zXMN{KsF*Oa*|Vd-F>OibSyk~{~f4)_J{qWPH$jG?bt2xknQ;|0JsO6N^E#>%Fqnb7Dg4gGRgrA*HG z$Brp2eEQ_BU5a>dA=v0$XQQ_0=;=v&OEU;kc^Cwwi%*R+LvE0n>4JR`1)=`y?V_TV zszX>sW_R1L2&>%xAhd6M+KkoqzXUM_0etO^INSG~w9ukQP@+2dCEw*0pcM>>9GsX?25IvPyg7@t50w;&px}4lNyw(<8f3|wNC(o_ z*N2o>Y3aLK@8&7LWspO#JP!5twm=kw=%Qb9ZG65XLt&BW**RE+z(V1<)eclUa8|J%Q_v)=7gH`|z z$A!xB^B+t@!J4RW?$l&oo#F45Na4rxVfZIA$G+EfbweoeNgXO6vu7ArOEe;UHdXL$Gi3Z!AJJ=gu{*wuitk)RLYAmFxA z6cKTQK9rQd22`ad2U$=EjPDX&upA zQls_}F)XcL5L`Ap*mMjxfr*J}6aS&ePXlnWf5+66cyr7^`B31f13Jyo?9MQC6zcqF zHzWQafM$lXI=mIHqwIKewC8i(^`CU10nRMtGp=<;qno;^>Vuuf!h1gQtVS3YAc$X? z3mzCg1Fs|cRaP}e55JasCj!leHb-*q@To-B!^Ecw$2^JFnJjdHtp=MP%O z=fJy;Jv){5{Ow!4hb!v9h#Up-7LWE9q7*V3g#y;1$sO3nAG`+zA!(A~c&47nnW-xp z0an%ZK2G4Y2ZlQ|4jkC3L3J=?XuYsPjkj@~x&h>-J_g}{4I|*w;eQ+N?cKC(n;7d8 zlk6i2^NvOZ&+U73?+lYuVk*jodM$0^AD_P+Atz7k)Eb%V;r&{q1W$`(zH}tD( z7#PTNBI+m$R6Wf;LX9+YbMuvzpf6vhSmrdvMr%p zV$mCwa;DS~>Aiol3i64{xv%SoBJ_!>D>#w2DFqlKMz1Xx3zu_N`i?;UkryUxtrXdv3gGpT_JD zKyKP91&EshTmVrNaz8xf#!cj?JzVME%Ttv++~YbYN|(Wph}hI3%i&2<)=8>K&rS9L z6b-Y6iZPkQZIUoL3ioLO$0sneQeY^^_kq404F36 z)j8b0czUtm&SG(aSnO*F#78G{?Sj@3`9gRU6?2EZZcH zUpKA-?$8NPL&PZ5`qX~|F7SwnsnY17V^{6E_3bhNbOl<@C66r~h9F?wv zz3jTF6M-Kv-RT&#D9zuwSy*-!LTx(@ID8jj7rjF-F>Y9S=gwPCf`w0O9&R+uDo>rV zTBFkcW41ZQA;*`5-3ddZ762JgR^Pj&hVJArC&HF9_uN{{Pkh~X)9ZY*_}jHZiSs4ry}H5C|~=JPzW=#|M!yPe^O=$_Fhv2 zX>k(B>+$1hUXME6%TJ>Jf?P}@u>3qDWKY6>_f_U9HsRTbH&OWUauZe&xOOgxnNT9M zg(KQhB@RmL3=z()TVcI=fqnExi9o9`6 zpwLV?6ao)`SxXUlgoobN*GDxXdLtM5uN_SmCJc~6OB-hfB&pXwV#>jK__q@#uB*=slqD!>{|xg^OEI0fBDix z4jtmb17igVZeLs7&EeLsbFA27Ngco3u5&!FM`hk3-D|$C22I_t|1BtX=aW`(< zu*ow;x=Ku9qUitR>_S}eW!R&7oiWzv(F?xy7C|pPf;f#_a7A=!`=m{? zXsAVHo9XP%Ern8yH#L7k!V#5;oEvRf`~=equRypjnujgV$O%)M&}!A3Jxm@gV5q%# zb+0fv_r}0$h{0;mZ8euv;l(3$9s;zd z!#JI=;lqsFT2vFx(T+z7b+V|E&-ugTbmCSJ+OkU@P17RxP5%A zwXYNSI3m!F{#y%pT&T_ZUoD_Z{o|*_#R-Nsa*1MpZ{LGCI5Bj@&-$yiYl8A8UE1`VdnDn*IR zlzApaSV@#bgtBBTnToK^`{A?C>-&5C&gcAl{IU0L$FkP*+|PYq*L%92%58FHL*NK% z@<8?_+?W(p|MqQTQ`4_;XBfiV0a)4hGz|4@aOPV(2(`P8WRUHdGhCZoOvLUGuSdEY zxpCUmbZFbQAC;ByoFTM=O_95L`;%JEZ8VkQQEotF&zmT|FcfY>U%w_EXI=VGyVg}$ zCWMC%11kJ!^-@khqfOH#Ay#l~!TY7DGC6_1--d^QjXvpX`<6d*bLvd$Iyyiu!%G5J zEFB>Jff2a}6cyXr+rf|CAC3aLnf4dB1+w9TByw)hxyvDj^^`vhO0P(=cC_D9VF~&9 z`G{PSl-zzV`7Zm?TS#3mJT*P{;6%Z}Hi}pBRP6mP$9rOL^xqU?Fl|BV=qdlAq9RrZ zpdk{Ml+&&EEnXu;+9;{0=m*#a-J3B`wXpbj-nKDX-lgrm`iAEjUhC!x$64|+4y|7$ zz{nUax}!Gesv*1HeW5@D!=zQ_$}3hM*IU1FJ)^z~qsrlphkvRvsv6p_3e%&%`k1kG zBtqMxD)!B#_AXMxg->hvW@+2H&Uy^IdDAiNmHX4@%RTAzuat%c7Y`Yu982v)GRIF{ zq{!6QKNFsl)bxnzrt(A>)_)?0aPsbZXsYvg^d|0owwS!U*Prn|G$|~kUJ@CW*8Y0^ z*%XTnRw~qfn-z?nD;fV#TrnFL={FGdm7Z}81B%2E7-35$E0M`a(-gB6s;;5 z<8sl^FsYvefX2n;rl|Q^ohR@u7+lfT*7o~)TM$x6(Krmz_633JxPWdFW9d==nRdb3 z_4qMO>GVrP5xG#rix^j|Py{WR`-Gk(7ZJlye_m75zBZjf-TX&i-@wq&_&Y~hO$^uI_Gry0AedByAixVEI=XVLWzOrt0dqHZ26< zmpA@t#ONvUn_H1vOizm199vV>x9>Zb;y#3WP0q}?dU!~2hD4B3UHMWXBOBBFe9N<` z2YJ|F!^iSJi((t+yjv|1P7r+S);LC^FcENY0Q0rN29Of1qp%)Mq_eZ^F;U=@Uv4Sn+_fPxY%6hD*whj}k zZMKopXx*VG`?O1@0HM0Ze-+E~MS=#+c22C+5wr_VD3KrQw{LXlt6pZJX#lQiv z^MtLzxwje#TlhRkuBx1$pdhOmcntt9LsbzH9F(dJBLp99nrHW3U>uB56U3?sZ$T(<6By(DN^Qvg7SuDHn8wS3R7wlFjmHJ^IsKq=AkrUz8Q}aj!C4Ne7?2NY@g(NrMttcak`g;yQ24EW%n zKQpWQi*blMM=*!;t%;?VEp8J02W0F3HYyfWHlE!uKEM#6IQd2za0^NU8esuH$4V+b zq87R>a{A!q0EtvRDo|$9e1zADS~M%Oj2<08*rEJ-f=c=lagN3_(H;5J=3hn7_%_q1a5!v?)0l3s1{vh^eVf1 zdfS1bUs0F)3rTk4%_nZujvcemqTJxKg3dZ7V1wWy3-j~Y)k%2X447G1L^dsC)Wk8O z-?XD1uN>8xT1TQnsruTog*^Liq}!-ZF1({o?bTh0?#c{_g)-l``91e&*)mQ#@05zV ztCXWBuGvc6%irN|>GXMh+zlUMQ};Je-`&wP)=G-ZYNy@W^rDXaVT3I&@9XJ|4Rbvk zXrZ0bAv!4+Elw~}6}!bKQoG1vs_lHwqI_7BxFErZh*W`r$URjGNiGAg zVmjjY9c!8Mzi6j={`MmB*N}NMIdRmx!m%n2To3U!w}g0Y+h&QfTp%*-L*3cjhgRL+ zew!u!4d|k6{}|hQpwuZbHmE_bcWP#<-3oz%AI-F8x&!;ZPMVhMCXwUw-uDPs*VjMr zv5($!G)Hlha@}Ic5e7m-OR_$@S#n^=Ep{8p+@9X~d39P3`KpeMWvONAr|z>ZL)lNr z(^l>BUdD0x^wjyLgjo7Zb`d6zX833p;<9l@r!EL@9@@BZqq+ zlb5cD^}CrgtvT)JW}{OXhtjecWL8q|Js8N>7}NiK|HA8N35_#}4u^^2kQ9~ZT-`0= zwZcT?AM^W6A8Z=7Cq|mzbYR|d|HA`?V`XiX2iNu{Why>wu=)HTDRAj_lhmXY(pHz0 z-l&|_RXZcUP^9e4(=b*T7UZ|TDcOry2T)u%)9I9F~Iy6JvR%b$3O^YRJ`aYqGg zm11{z% z!nh#*J*j<0*0y^jpOaHBapVY~L`u(G{&de`z^ymP_I_b=aJ!Uy;i^tv>622G4xN3@ z;_Rg53(RD|D0K4tqq3obk9G$x1ib$nmoumP^Hlt&9g1&qlsmHf*G2^{eLnwI({1I{ z;bB5yeUNgK%jS1>tl$2Z(+-7srWTJm^_sK-X8TKq3_Ief{9B7-QX;~Mi$anKqw|Dw zIpRCLtBY~SLP*F$baz8q&U5-|er5c%zav6D+T2~oQlR(7m%|fwI>VB(nLe`W@*2Am z8yhQf$wOXv`C*a9G(Uu88in?|xf-}PE!}?q-0_(i4|jJX>Omd8lw&i>%Rh+(qn?8O zkrYi=7Wwd8;=}{>6a3)81HL_yvmMp4ox=b5>BzoW*sIITACl!!26k1dGA(^?@BMSv zraZ`U{@m~Wp{|H$B>WVgh_}P~34}@Xe3^|fn%T;Y^aBa2kOe) zhdL>dhrf0v%ox!xe@A@RY7SPWCoLGtdRFS5W_K+nCq=9j<{6y!rdlu6xc&=6s~fKJ zuL-;FpB5$({3jszHzniM0(E9T-SYL2i#pHi{?d9A4=K6}ku?A+az^=NWM+`pQ|jw? z;zVanz-l-ya2oD2HSPG`Y^5i3i6|mVkSsm_w})ozkqb-)KE59l(}=J^0;rPL1orpi z-e-|Di@M`E=+wBCOkRRugCdhK#Gq5}Iqk0Y#&2sNL{JOg|z$SR2kGz*GpPhGM(} zY#F=m9EJg)-Vxrr*T^R>GEy2qFJM+M(&c}?2C1I)Uj*O^5yH+mKoff-DI-Km<;>?+wmfEFkj4g*uNj|xD zz_lO?%+HJsuKoP^@4d6};kJ1lVxk}tejvVJ1w7(048^4-8e9FjANk7J+VrP4O6(QY zr7ONnUk;ez=eN_7(t0)g_VyeC6AMLye};f&hZ z&@;)j#y*3q`PVlxF~#Glh38uAd%AURAzEGl4t2hz$}=@A`O2%F6H__j=!t&kIwQdf zR4;%mtpkr7?YoMfUmwVQ280O<$F8LcAIp?}A@OV!?>rILBrQHyv_;POk*!y?KOLct zX}xa41Br&$w-8yBk?LtL;OLwadrY>mN!rMgWQ)SEpY2Wlsd z8MI)ROC5jvKz`@T?d%%ZiI<4SEZ& zH;dsPgb*hx4>ziQH}$ZpS>tEi0y_#inW!CgxGDK_3?xHg16o%V&41H^tRv?SUj`GB z$ePMi|8@!`)UQ59TOLu)!4#><>_deA9{F12(D8N3iV$@GPP9FSj*nltr^qQG`4`5U zz~_)Dj<{VUl4vF(>~d6XyPx4H5VUYPn8pwkmsfNj8OH-UM?0sz*b`zZyAhL{OX|%rgFb)Q`62OCIw-=iq$Zy!P z<#>$**b_D{tv3~Li9kJs&b0taYq%uR$78-CGlsAZxTXSBhLrXf9GH?G`g-Ti4MNK+ zVfq@Vw2!hIHqP}Vjl(L2;-bLUn1tFgvItz4M z0lOAFp&e7$HDoaX1&b2%%fby$&i?@blFlSPC%c7JYG(VkFV_dFy2b%<5}n45ol|UN zAPbtGkVsres9Sz}W53~_i1}k#`P}WvOm(^;8)V z!vmL9O?W2zD%}j&?hxM6 zg%=PJy_HBf7|4b<=)Y6#j>Z%b7+$wX;Xv!}TBA0r`3_jpc6i3k>_bWle5HIl zBnuBHDJfxxmJv2fN=owd_8y*|6TJWgEbommBgx40$dNNR3D2EdW4n&JYt6ZrH{3sj z2p(A6NB|10Xw{>}zzgLRTN==tJt6DYB&+dTMdRlJb8_y?A6q)MND!xFlGj#a+2n&u z#Z;UmPz(lt38nIL({Gx{DgOez8;Ch|%kufzO|aE*Eqzc3z*}?cFb!;mu}mlK77_4v zI*cd+NNXP}S{~`hcJML1%}D(DSsXgea!3yVppZwOzs5Wf*z$d0*nRr+=?O9;Cc5D% zrS5t|&sg2pcoB!Ma+~4WJknl!Lz8Y#d#cGm|(Y z8l9QL%0*r;SB|4kKZz-$JA|h`Gq(lF^nYL_|MxGs(Xyv;ty`{iWZ%%c9l}B1J9i4d z(ErKq)nU_jm!?Rh9xO(qgSVZ6Zv1G78R{{O5`g@2dA4b=PXWe{XSARvrmetX`jdz77jX=q#afg+>pk z&9@X3XCuFm%86o(Wx4A}U%yly{lEF+zhxA8);q6b9+^hl_j^JVm3=cab9C~%q)?Os zQ8RQQhiP%)C)uhJyze9&TPG0GhYXr^{{ot*=QcKm2hsbB2qXVYK;S91au$-a;-0nV z^T{+iVfrm0bx*ZlK77b=S3=OYg_NFs>((k1vMWf%+i+?nChnN__Cx57dDqF||58uM zgGw3v2tv95x)4-J+jgJ2ZhH(#x6mo_ug2MBhg03bVf6GJ#ZBP;u--vu9it<0AEnUs z@8##;DAvc#SKLwDJd1yBKRdF9o%=Qm>Vakl8I)3GWZL41Damc{^~2PLqkizy^CyRC zF}59UwcpfNROjxut|mQcfqaW@1xaYLL;(4vdl$>7r*ADuq+I&!TZnWpaAnYb&HTcG zI0ceulMKntiU(ibh^)qTpkWpy}Me3XY%$CFQlV1;=ZA&8A3u6^lt#dM9P9*1b_yTys$7GKSe#;4P z3elwn=5L4Pu>1X2C`~&qk^J1DLrPe{?MK%vUK=Us^Tf2usZL%91#rb)Scg5QHU6^z zD>GdB^GFT}+f(iO^WJnn7sQzgmOf*9)z&HL+tBH85Gf|G_al%CwcIFnp5wlP7*V~rX(L%`EsYwaxY(sY#_FE z0JkxZy{$K-1P7ZNbtIpm3X|G({fpwX$NYS!(len<_w)0Ec-65}Yq1x)JR&IpaMlHQ zhe51nsbRMj*|}310mFOpZ{*&5bM%^P63Uz#YqUysi(zyXI%+edG}%L$1r-ft{90=j znZ|aeP)Ojwq9J6XQR3K7m6K21o6CEHBn@^_^)G0y`V-O*BmW~KS_<^y6gGyHOiY?9 z9zA-b+@X_B7n%`>2MOb}C+u4i1LEQwqp|x3wo3fLL~IDN3RwlI{ryN9>4hAnzOgZP zNRDkz)~?kCb01MbH`1Z?RMwcPy7bd>1*v*(P$1^s(_nvsnma?P0~chomG5&@a7aNh z>fn;4W59Olv4N9w`0H0fv=b#i*RIa8+p%*Gm9&IUkrWgVUojm54_`L)Kp1rDM9ldr zy^N=L>6hW>6{I;sj0@583_v4`(1uZ|3th$RqQ+5uJTiT3Jj90Vrjsn(+1hv-T+CX| zJ@vJ0PSwHtq>690qLt_HI%K4z+-X!W^0cujrz zZA;k6qy1gT)dT2$0N^cx+u&f$kH+~OJq_d(=SMpjm8fsaFu__`v`vubop1h)ft<={ zmY@r=>9F4A@TJ@|dZ)w^9m!n}_7;i=(CZ%($@-AZ;f2~$^$%IB!}`bVc*4lU1l!b8 zbP2T|wbqV3u=|~tiNmhgi6F#`0(b)vjFG65Vpi_yf@eQJg$^Cl zS%A~)_K*9!Zdq>n*Fr{m+#v+6kTy>Al^J+%@Djs(<^r=+;0289KAwM0AAon%>0PVW z<5O6##6neogk!Hb8ATuj%NFIHzw$8C`MVO$%ZnjxTU6M7^PS6QrWq+l?rsa+S$hR$kp`hC2IA-#7n#ys0XWzjSxr#O zDdB#@SRL1N#?cm|DiBb@%5;cuHEt~ZS}71|hmsgWpYh%^T}l6^=bQTgVtXD%G`!g( zq^7B^zG`*GS;{thJf`bzrPUv)=&qzDW4F*m%hqjjIfuYn@G*x@W1PgXZ>do7)=OH z>HRY(jg1G$i&qbp>_h=24{U@A6^m$zHn1Hi@2Ex=CdnS|YP=MpNvs&JSv|Z@p1e4Z z1sNk|YT%lOk-W`uvbuEDZ3~e3;oznwG}ssjsUa0TJso`zR6@imgeq>BN#=ANtJeaO z5A%zZ=Etw)O}cYcB47yxfF0(n()*u(FPGV}xUe#5mGvIZIGHt7q2!KC=#G*^R$wpC zdqH>$pcNjTyA3XEd|Z#@?D$`5nO}GkyDv5?!o)zE|E?5d@mRtMtuY&7Ht`grcROoi zQ{PD7DC1RP^%&Wy4KCeg7Mq4-`S?LV3V47Q5EF>e2);Q?j}++(<87EWtbN&Y|_ZtyAij^)~+gzQ`y zwYFaEJV1(has$9%lE`N9m0|5sQ6H9(HWfUlQh(5uBE#z>$WP3AR_{d_-h)2akn?A8BWjlJ$8k!N~+BKJsQGY(_B+b`HH#_GQ! z#w+6Z48jsHq`V)}A zQj;RyOpUbbTJm2dpoCY-fA<3F`O)&^H5L_o&$hE}Y#vG=z=nqj2j=rBZEvB4s4s+r zBP;U9eZaLm?KiqJe1!SxvjA3Wb-TYX-^ufnTk*@X)vWPJdZo8=A*`KA8LR?Bh zcQiX;l6m}b0U=OBkT+Ts+HgjW=Gw@+cRvvlefMGYAG@)^+R-q;TbL9b`v0p!(Rj0Y z!}4QXc0C_Ox$gd7*JZwl^%XF_W~;(E*J$SD2k?SlJ^G3>#$%uElakBoW*8@8%`Hl& zK%Jk5b!3O`$AkZ30p*0x72$mS3?@O*IUY9Xh}`Wwf--RwX$@wweDjo_fS!quUgB{^ zY@|$txESK3Vr=^Y9g{jA*-A+nNN`Y4U&*-*>UnW-a*Eu30qGLI*Im>MucmNjuR`dI zHuM8g+UPPOR4%!*t)5RElgZo#7SV+(~2if@WldDOVW_RCC(wx{7}( z{_Z+95zZgt6UB>kg5Ea6k$DIIIn(!gwsrN|5?RUKk+;{J0dp4E<+w zZkdBY!1O)bBCQ)UcgXXH=u$tJyX|{oP|CGv+^gvi+&kbB6b8(dC?|Yg)k6co)XAtlWr z=10RAX}}*QskUjOzouHFpVYk58_Mcc<2fcd*;lWHpQcM4hqD)ZdVa4#WI}>diMb7+ zPK3LEMBs)8f(lF}cfK1IIaboJ#R~~+L*$0R0tas-q`cky3z6lY+-yY4M7&g6@-CsG^a*=hnNE64eLe=ERsxAol2t*Xf-F(RM&|fTIBB$^h2-Ka4Uc0 z)(5gu<@M=W?^7iwGHdrFM!&!ht?@3kqq}?!o%O++utS9Sax%qI^iFTVwN-<{FvUIZ7a#FizMgoO>u(H%YqMGLO?spA4Tt}PpB^rC$t)T!2&ZM zOXBA)aj>Ykk4!X zPmW%;>i@o6=Zi4hRyq6TE^m19t0}fZ1Sytbk2JlD#tx;0yNJ;J}(v@2l~7_Qnp zT<N0A^<0ymcE;;_~}UWLZ$Dqp1t zX2jM_;)K>GiJ*F024f2}m1dmwa2oYJv_?i{Fl$i#xzKr)m=zoh5q*Mbj`nLBLyjFe zlAS(kkTe?+kQbJNqA0|&f~j8WFSm#7ymJOJbcrn0M@qCfbnlvP(gwly?6*ak7v zap^DS6XBG1Sm_BXXRmyaFcZncP{JAmAK{`_9dtEl_7Ue8mXM6p^;r>3#ms!Tf%T0M zdO9IyXsZv5T0vre zwI+^K@2Q5`kpFAdSm9?pWhQRVtm@(sb6w!~*CXvA7WSXnS>eyoymY;2Xq8u_Br<3fbCZ=r3N0Qivg$8P%ak;Y8z)di4>Tv_aNj{Me-k=A zl5;*+7QOYZEkHHUykZQQ>qVN}~kBsO{ zBG1+_aFOyK5Ed2g+z^g0MZjTTmCM1A4uPbwOwrkD8V_-Mp~21uW$a%lO}~$gJxoZD zEPDe40>Z$?a5uCFk3Sze)cUhpjLkZ}nqQ<$s(%^n#Wo5L-PTP7!0eLse+2amZ! zZ6JH+>FuaNS=CF(}%EJ zGJ#xTv)q%FwG6o-FU1t#LqSml>pAHIgm0@eK$(bNf3CJ$lc8ZlK6NEL*4UdX>ogLy z>UMDvov$upZm~a%qF}G6s1U!lAeE>D)&+NZJI2(4@Wo@fE3PTV0;kXuan|hzx-j%x zo(;gav)ma#1ah4r(yQNrU_R^RR(g0Ao0_=y?q)a;QA6^sR((Qt@3__vEXof#TtcEz zCpYmdVH*C2%r9>xr>*mEA94d`Dh)Le-c5VL^`Eszen{fweq)^77*NG!<`-iaWA^X} z2%LcfKNmB2!*IFp9~Gcjg5UKb1_l7%TLZUqMv&H!e(BzaB|Dap01;!RE);VKz7w}a zSVv%c1JIDoa(3l?fC%L>cCG!ep*vr?Bw0!!=(qsvjeFr(#_CRvPj+ajB4_|$G=@@q zPEw}q&RVw!g;|bi-Vq;Bx{6I{WTdFU;FTc;Qmo+kl;j%FNXgH-+NsT}qIpC`KU>$gk2wDAPFfa+9K7*8Bb}fpEt;Z;vQW3 z$&vmz++}!e*?#pv1k5(IxoHQV2l5I!uuc%)3hvSH#!3<_8E@NVl{;<`NcR6!{Tym+ zDA{x20$ygbgn5|C0=nboyStxYF%!-=oD6nS_t5LR!oul?BMrtqt1=Hq0|NsN)Plr6 zu%@{~v4vH)G$zxBZCl?v(sy$5PE_z5#kz`d0hIvOjS`+IK??c|2ZT6)Q=noJ;a)wN z#-_c1!+pHGM7hA<;7b!39C7jSeGn)+^bdI0@f=Ngk4y(iQBe>NCziTgIH5a(l}|93 z!ItdpJty>e8PQ8d2jAG(Xx#n?2v!Ug(7wAPAKm!Ggi+x)jcUBKzY!8CF)XxgjdJNf z>#aXeR*5YkDWnYK5exA1#~m%~Ug>b@OdclFw2U}bZqYcjbnlK+dX%1h`c~0s)fc5= z%e`o_jL%IY71Q3{Tjh#|g`n&3hYzfA@tciVm$|fSy}iTWv5vJjfM>`ssd}o$4=f8` zGVg}mycd$=pgD?+^!D_$i@X`bvHUY!mo8Pjur9ANRdI~IchCLTsmcc@EC>M!F6hZx$*E-*X`STP;q0SR9BO1of;a11tRkv9PC)PgsJx4 zADrH{@8RE$yxW)p)u_|2hZFviOUr88<;zfAfD>hAVxq!xH|;~(`;HFzVb1y=35EApJtZZbbaf?7cinq)?_SA~C;B@UuU^%9e`8p}#iinv z_SMB|<(sb;Hgz!o7X);U{jUu?WaNVf4`N~po%?E_rm+cVSgxOnfVK!7X3d`gAA^MyhP@QOvQjRvB6 z+V(~cl3{F)DFW6KeET-@s%JFDX500+{m85EYWp%X^d4(g5znih?2S|18>Cr;Nq?+D zUUCjidkfQ}6$)pF62y9pet|{ZzZb?c`5RC~qdsa|qmf=$)a9z>^)ZyLT4EWK<0mHb z1O+J^U8{Ei_rlNx)1no4BbUw^AL1`&09Dw+&uXJ@SDb(rVV;f62*9HSaVwj)R} z&u>P9AjV-8yTU8_2R3DHaI~8cT(3WIGx~!1S-=2om3}_6MIu>=$pv6LXklAE6 zeX8&O(2b$E(Cfp*own|7KLSwt`7y(!`St6R!L85Pq5<`3b3#R;|FxaK=?cf8S;3^PIMoiMW35rFg&xA_9 z!iTSyXG`(%Y)^uaW$Wkx@B~Zj?K^jfFk3|U;3PXfacT9V+*VirK>*5YdE}L0S_t)= zVh`Lw2n7h$&%|HeD?VUXK#^KHWW0)%^4NwSWn z@Ylp_Xb`HL-fqnPbR{w4Z^_?6HDJ5C9bR(Wf#Ko)Q9^(xrhe)e;5&qEsB7xgSZtDV zwZe7UDgh|a>|JN@Rt00GMQU98Gu+igGpE5qO>1zW@xDD9L_#yef56<1Hx3G diff --git a/demo/e2e/screenshot.spec.ts-snapshots/foldable-split-pane-rtl.png b/demo/e2e/screenshot.spec.ts-snapshots/foldable-split-pane-rtl.png index ee527a6ef4e4b6b7a9da5d5d15cca5c85c9f56b7..36319c5a2088246118b8c373cb52f819a4a19e5c 100644 GIT binary patch literal 54676 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 MG>&E}o89`q0Eajo_y7O^ literal 54683 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%0ADOPzr= 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 diff --git a/demo/e2e/screenshot.spec.ts-snapshots/foldable-toolbar-actions.png b/demo/e2e/screenshot.spec.ts-snapshots/foldable-toolbar-actions.png index c08586458e20f3a97b31776b44c275945976193e..03cddb1100f60ca4210ec0ec8c2a10a04afcfcb2 100644 GIT binary patch delta 64127 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 M07*qoM6N<$f}v ion-menu-button.ios.ios-theme-foldable-toolbar-projection { @@ -489,11 +496,11 @@ ion-back-button.ios:not(.ios-theme-disabled, .ios26-disabled) { > :is(ion-button, ion-menu-button).ios.ios-theme-foldable-toolbar-action { display: block; - width: 42px; - min-width: 42px; + width: 44px; + min-width: 44px; height: 46px; min-height: 46px; - margin: 0 2px; + margin: 0 1px; &::part(native) { margin-inline: auto; From 9db68458242dde3f316162bb80f8c2d3e0ef5632 Mon Sep 17 00:00:00 2001 From: rdlabo Date: Tue, 22 Sep 2026 14:19:03 +0900 Subject: [PATCH 30/50] fix: hide emptied toolbar button groups --- demo/e2e/foldable-back-button.spec.ts | 4 ++++ src/styles/components/ion-button.scss | 7 +++++++ 2 files changed, 11 insertions(+) diff --git a/demo/e2e/foldable-back-button.spec.ts b/demo/e2e/foldable-back-button.spec.ts index 1b38cc5c..285543aa 100644 --- a/demo/e2e/foldable-back-button.spec.ts +++ b/demo/e2e/foldable-back-button.spec.ts @@ -88,9 +88,13 @@ test('foldable toolbar projects icon actions and preserves text-only actions', a const iconSource = sourceGroup.locator('ion-button[aria-label="Save"]'); const iconProjection = page.locator('ion-app > ion-button.ios-theme-foldable-toolbar-projection[aria-label="Save"]'); + await expect(sourceGroup).toBeVisible(); await expect(textAction).toBeVisible(); await expect(iconSource).toBeHidden(); await expect(iconProjection).toBeVisible(); await iconProjection.click(); await expect(page.locator('[data-save-count]')).toHaveText('1'); + + await textAction.evaluate((element) => element.remove()); + await expect(sourceGroup).toBeHidden(); }); diff --git a/src/styles/components/ion-button.scss b/src/styles/components/ion-button.scss index 8bb7b2c2..bd5432e4 100644 --- a/src/styles/components/ion-button.scss +++ b/src/styles/components/ion-button.scss @@ -453,6 +453,13 @@ ion-back-button.ios:not(.ios-theme-disabled, .ios26-disabled) { display: none; } + ion-toolbar.ios:not(.ios-theme-disabled, .ios26-disabled):not(:where(ion-menu *, ion-modal *, ion-popover *)) + ion-buttons.ios:has(> :is(ion-back-button, ion-button, ion-menu-button)[data-native-ui-shell]):not( + :has(> :is(ion-back-button, ion-button, ion-menu-button):not([data-native-ui-shell])) + ) { + display: none; + } + > ion-back-button.ios.ios-theme-foldable-back-button-projection { position: fixed; z-index: 1001; From 6b78fba1b2fa2e115462a5a633dc48c053247db1 Mon Sep 17 00:00:00 2001 From: rdlabo Date: Tue, 22 Sep 2026 14:50:08 +0900 Subject: [PATCH 31/50] fix: project disabled button groups individually --- demo/e2e/foldable-back-button.spec.ts | 15 ++++++++++ demo/e2e/native-ui-shell.spec.ts | 21 ++++++++++++++ src/native/components/index.ts | 8 ++++-- src/native/foldable-web.ts | 41 ++++++++++++++++----------- src/native/shared/dom.ts | 11 ++++++- src/styles/components/ion-button.scss | 10 +++++++ 6 files changed, 86 insertions(+), 20 deletions(-) diff --git a/demo/e2e/foldable-back-button.spec.ts b/demo/e2e/foldable-back-button.spec.ts index 285543aa..40020f82 100644 --- a/demo/e2e/foldable-back-button.spec.ts +++ b/demo/e2e/foldable-back-button.spec.ts @@ -98,3 +98,18 @@ test('foldable toolbar projects icon actions and preserves text-only actions', a await textAction.evaluate((element) => element.remove()); await expect(sourceGroup).toBeHidden(); }); + +test('theme-disabled ion-buttons project their icon actions as independent controls', async ({ page }) => { + await page.setViewportSize({ width: 700, height: 900 }); + await page.goto('/main/index/native-ui-shell'); + const app = page.locator('ion-app'); + const sourceGroup = page.locator('[data-glass-group]'); + await sourceGroup.evaluate((element) => element.classList.add('ionic-theme-disabled')); + await app.evaluate((element) => element.classList.add('ios-theme-enable-foldable')); + await expect( + page.locator( + 'ion-app > ion-button.ios-theme-foldable-toolbar-projection:has(ion-icon:is([name="logo-github"], [name="refresh-circle"]))', + ), + ).toHaveCount(2); + await expect(sourceGroup).toBeHidden(); +}); diff --git a/demo/e2e/native-ui-shell.spec.ts b/demo/e2e/native-ui-shell.spec.ts index a254fd3b..18bc72cb 100644 --- a/demo/e2e/native-ui-shell.spec.ts +++ b/demo/e2e/native-ui-shell.spec.ts @@ -765,6 +765,27 @@ test('clear ion-buttons share one glass surface and keep independent actions', a await expect(github.locator('button')).toHaveCSS('visibility', 'visible'); }); +test('theme-disabled ion-buttons project eligible buttons independently', async ({ page }) => { + await mockNative(page); + await page.goto('/main/index/native-ui-shell'); + await page.locator('[data-glass-group]').evaluate((group) => { + group.classList.add('ionic-theme-disabled'); + group.querySelectorAll('ion-button').forEach((button) => (button.fill = 'default')); + }); + await expect + .poll(() => + page.evaluate(() => { + const controls = (window as any).__nativeUIShell.updates.at(-1).controls; + const isDemoAction = (control: any) => control.items.some((item: any) => ['GitHub', 'Refresh'].includes(item.accessibilityLabel)); + return { + buttons: controls.filter((control: any) => control.kind === 'ion-button' && isDemoAction(control)).length, + groups: controls.filter((control: any) => control.kind === 'ion-buttons' && isDemoAction(control)).length, + }; + }), + ) + .toEqual({ buttons: 2, groups: 0 }); +}); + test('all demo pages keep projection consistent through consecutive navigation', async ({ page }) => { test.setTimeout(240000); await page.setViewportSize({ width: 440, height: 956 }); diff --git a/src/native/components/index.ts b/src/native/components/index.ts index 89711c5a..2d414108 100644 --- a/src/native/components/index.ts +++ b/src/native/components/index.ts @@ -5,7 +5,7 @@ import * as menuButton from './ion-menu-button'; import * as tabBar from './ion-tab-bar'; import * as segment from './ion-segment'; import * as fab from './ion-fab'; -import { visible } from '../shared/dom'; +import { isDisabledButtonGroupChild, visible } from '../shared/dom'; import type { Candidate, Identify } from '../shared/candidate'; // Static composition only. Each component declares its own tag, discovery and reader. @@ -30,7 +30,11 @@ export const motionSelector = [ export const readCandidate = (element: HTMLElement, id: Identify): Candidate | undefined => { if (!element.classList.contains('ios') || !visible(element) || element.closest('ion-modal, ion-popover')) return; const style = getComputedStyle(element); - if (!style.getPropertyValue('--ios-theme-glass-background-rgb').trim() && !style.getPropertyValue('--ios26-glass-background-rgb').trim()) + if ( + !isDisabledButtonGroupChild(element) && + !style.getPropertyValue('--ios-theme-glass-background-rgb').trim() && + !style.getPropertyValue('--ios26-glass-background-rgb').trim() + ) return; if (element.contains(element.ownerDocument.activeElement)) return; return components.find((component) => component.tag === element.localName)?.read(element, id); diff --git a/src/native/foldable-web.ts b/src/native/foldable-web.ts index 5803e066..e5336838 100644 --- a/src/native/foldable-web.ts +++ b/src/native/foldable-web.ts @@ -1,5 +1,5 @@ import type { NativeUIShellHandle, NativeUIShellOptions, NativeUIShellStatus } from './definitions'; -import { excluded, isShellDisabled, marker, unprojected } from './shared/dom'; +import { isExcluded, isShellDisabled, marker, unprojected } from './shared/dom'; const backProjectionClass = 'ios-theme-foldable-back-button-projection'; const toolbarProjectionClass = 'ios-theme-foldable-toolbar-projection'; @@ -13,6 +13,11 @@ interface ToolbarProjection { actions: { source: HTMLElement; projection: HTMLElement; previousAriaHidden: string | null }[]; } +interface ToolbarSource { + group: HTMLIonButtonsElement; + actions: HTMLElement[]; +} + export const createFoldableWebProjection = (doc: Document, options: NativeUIShellOptions): NativeUIShellHandle => { const win = doc.defaultView!; if (options.controls !== undefined && options.controls.toolbar !== true) @@ -55,7 +60,7 @@ export const createFoldableWebProjection = (doc: Document, options: NativeUIShel !!edge?.matches('ion-header, ion-footer') && !element.closest('ion-content') && !edge.hasAttribute('collapse') && - !element.closest(excluded) && + !isExcluded(element) && !isShellDisabled(element) && !element.closest('ion-menu, ion-modal, ion-popover, .ion-page-hidden, .ion-page-invisible') ); @@ -63,7 +68,7 @@ export const createFoldableWebProjection = (doc: Document, options: NativeUIShel const isEligibleBack = (element: HTMLIonBackButtonElement) => inEligibleToolbar(element) && unprojected(projectedSources(), () => isRendered(element)); const isToolbarAction = (element: HTMLElement) => { - if (!element.matches('ion-button.ios, ion-menu-button.ios') || element.closest(excluded) || isShellDisabled(element)) return false; + if (!element.matches('ion-button.ios, ion-menu-button.ios') || isExcluded(element) || isShellDisabled(element)) return false; if (element.matches('ion-menu-button')) return true; return !!element.querySelector('ion-icon, svg'); }; @@ -81,15 +86,19 @@ export const createFoldableWebProjection = (doc: Document, options: NativeUIShel })[0]; }; const findToolbarGroups = () => { - const candidates = Array.from(doc.querySelectorAll(`ion-buttons.ios:not(.${toolbarProjectionClass})`)).filter( - (group) => - inEligibleToolbar(group) && - unprojected(projectedSources(), () => isRendered(group) && toolbarActions(group).some((action) => isRendered(action))), + const candidates = Array.from(doc.querySelectorAll(`ion-buttons.ios:not(.${toolbarProjectionClass})`)).flatMap( + (group): ToolbarSource[] => { + const actions = toolbarActions(group).filter((action) => unprojected(projectedSources(), () => isRendered(action))); + if (!actions.length) return []; + if (group.matches('.ionic-theme-disabled, .ios-theme-disabled, .ios26-disabled')) + return actions.filter(inEligibleToolbar).map((action) => ({ group, actions: [action] })); + return inEligibleToolbar(group) && unprojected(projectedSources(), () => isRendered(group)) ? [{ group, actions }] : []; + }, ); - const highestPage = Math.max(...candidates.map(pageOrder)); - return candidates.filter((candidate) => pageOrder(candidate) === highestPage); + const highestPage = Math.max(...candidates.map(({ group }) => pageOrder(group))); + return candidates.filter(({ group }) => pageOrder(group) === highestPage); }; - const isCurrentToolbarAction = (source: HTMLElement) => findToolbarGroups().some((group) => toolbarActions(group).includes(source)); + const isCurrentToolbarAction = (source: HTMLElement) => findToolbarGroups().some(({ actions }) => actions.includes(source)); const restore = () => { backProjection?.remove(); backProjection = undefined; @@ -146,12 +155,11 @@ export const createFoldableWebProjection = (doc: Document, options: NativeUIShel target.replaceChildren(...(clonedIcon ? [clonedIcon] : [])); } }; - const sameSources = (back: HTMLIonBackButtonElement | undefined, groups: HTMLIonButtonsElement[]) => + const sameSources = (back: HTMLIonBackButtonElement | undefined, groups: ToolbarSource[]) => back === backSource && groups.length === toolbarProjections.length && - groups.every((group, index) => { + groups.every(({ group, actions }, index) => { const current = toolbarProjections[index]; - const actions = toolbarActions(group); return ( group === current.source && actions.length === current.actions.length && @@ -170,7 +178,7 @@ export const createFoldableWebProjection = (doc: Document, options: NativeUIShel topOffset += actions.length * toolbarControlSize + toolbarControlGap; } }; - const project = (nextBack: HTMLIonBackButtonElement | undefined, groups: HTMLIonButtonsElement[]) => { + const project = (nextBack: HTMLIonBackButtonElement | undefined, groups: ToolbarSource[]) => { root = foldableRoot()!; let topOffset = 0; if (nextBack) { @@ -193,8 +201,7 @@ export const createFoldableWebProjection = (doc: Document, options: NativeUIShel nextBack.dispatchEvent(new CustomEvent('nativeUIShellChange')); topOffset = toolbarControlSize + toolbarControlGap; } - for (const group of groups) { - const sources = toolbarActions(group); + for (const { group, actions: sources } of groups) { const projection = (sources.length === 1 ? sources[0] : group).cloneNode(false) as HTMLElement; if (sources.length === 1) syncAction(projection, sources[0]); else copyAttributes(projection, group); @@ -226,7 +233,7 @@ export const createFoldableWebProjection = (doc: Document, options: NativeUIShel if (nextBack || toolbarProjections.length) root.classList.add(readyClass); sourceObserver = new MutationObserver(schedule); if (nextBack?.shadowRoot) sourceObserver.observe(nextBack.shadowRoot, { subtree: true, childList: true, attributes: true }); - for (const group of groups) sourceObserver.observe(group, { subtree: true, childList: true, attributes: true }); + for (const { group } of groups) sourceObserver.observe(group, { subtree: true, childList: true, attributes: true }); }; const performUpdate = () => { frame = 0; diff --git a/src/native/shared/dom.ts b/src/native/shared/dom.ts index 30096285..48df88fe 100644 --- a/src/native/shared/dom.ts +++ b/src/native/shared/dom.ts @@ -6,8 +6,17 @@ export const marker = 'data-native-ui-shell'; export const isDark = (style: CSSStyleDeclaration): boolean => style.getPropertyValue('--ios27-color-scheme').trim() === 'dark'; export const excluded = '.ionic-theme-disabled, .ios-theme-disabled, .ios26-disabled, .ion-page-hidden, .ion-page-invisible, .ion-cloned-element, [hidden], [inert]'; +const disabledButtonGroup = 'ion-buttons:is(.ionic-theme-disabled, .ios-theme-disabled, .ios26-disabled)'; const shellDisabledSelector = '.ios-theme-shell-disabled'; +export const isDisabledButtonGroupChild = (element: HTMLElement): boolean => + element.matches('ion-button.ios') && element.parentElement?.matches(disabledButtonGroup) === true; + +export const isExcluded = (element: HTMLElement): boolean => { + const owner = element.closest(excluded); + return !!owner && !(element.parentElement === owner && isDisabledButtonGroupChild(element)); +}; + // A shared native surface must not cover an opted-out descendant either. export const isShellDisabled = (element: Element): boolean => !!element.closest(shellDisabledSelector) || !!element.querySelector(shellDisabledSelector); @@ -23,7 +32,7 @@ export const unprojected = (elements: Iterable, read: () => T): }; export const visible = (element: HTMLElement): boolean => { - if (!element.isConnected || element.closest(excluded) || isShellDisabled(element)) return false; + if (!element.isConnected || isExcluded(element) || isShellDisabled(element)) return false; for (let current: HTMLElement | null = element; current; current = current.parentElement) { const style = getComputedStyle(current); if (style.display === 'none' || style.visibility !== 'visible' || (Number(style.opacity) === 0 && !current.hasAttribute(fadeMarker))) diff --git a/src/styles/components/ion-button.scss b/src/styles/components/ion-button.scss index bd5432e4..bb57c26b 100644 --- a/src/styles/components/ion-button.scss +++ b/src/styles/components/ion-button.scss @@ -495,6 +495,16 @@ ion-back-button.ios:not(.ios-theme-disabled, .ios26-disabled) { border-radius: 50%; } + > ion-button.ios.ios-theme-foldable-toolbar-projection { + --background: rgba(var(--ios-theme-glass-background-rgb, var(--ios26-glass-background-rgb)), 0.72); + --border-radius: 50%; + @include glass.light-shadow('--box-shadow'); + + &::part(native) { + @include api.glass-control-background($include-background: false, $shadow: var(--box-shadow)); + } + } + > ion-buttons.ios.ios-theme-foldable-toolbar-projection { display: flex; flex-direction: column; From 7451754b4f13178cd12f6bc22e61aa9529a3ab88 Mon Sep 17 00:00:00 2001 From: Masahiko Sakakibara Date: Thu, 24 Sep 2026 15:13:58 +0900 Subject: [PATCH 32/50] feat(native): project foldable controls with SwiftUI (#214) --- demo/e2e/animation.spec.ts | 11 + demo/e2e/foldable-back-button.spec.ts | 67 +++ demo/e2e/foldable-layout.spec.ts | 32 +- demo/e2e/native-ui-shell.spec.ts | 431 +++++++++++++++++- .../NativeUIShellTests.swift | 68 +++ demo/package-lock.json | 4 +- demo/src/app/docs/docs-content.generated.ts | 2 +- demo/src/app/index/index-page.component.html | 6 +- .../native-ui-shell/native-ui-shell.page.html | 22 +- demo/src/native-ui-shell-transition.spec.ts | 45 +- docs/native-ui-shell.md | 10 +- docs/special-markup.md | 8 +- .../Components/ShellFoldableRail.swift | 332 ++++++++++++++ .../IonicNativeUIShellPlugin.swift | 33 +- .../Shared/ShellSnapshot.swift | 9 +- .../ShellSnapshotTests.swift | 29 ++ package-lock.json | 4 +- package.json | 2 +- src/native-integration/index.ts | 21 +- src/native/components/index.ts | 10 +- src/native/components/ion-button.ts | 15 +- src/native/components/ion-buttons.ts | 12 +- src/native/components/ion-tab-bar.ts | 5 - src/native/definitions.ts | 6 +- src/native/foldable-web.ts | 94 ++-- src/native/index.ts | 70 ++- src/native/prehide.ts | 220 +++++++++ src/native/runtime.ts | 179 ++++++-- src/native/shared/candidate.ts | 14 +- src/native/shared/dom.ts | 154 ++++++- src/styles/components/ion-button.scss | 25 + src/styles/components/ion-content.scss | 5 + src/styles/components/ion-menu.scss | 12 +- src/transition/ios.transition.ts | 1 + 34 files changed, 1777 insertions(+), 181 deletions(-) create mode 100644 ios/Sources/IonicNativeUIShellPlugin/Components/ShellFoldableRail.swift create mode 100644 src/native/prehide.ts diff --git a/demo/e2e/animation.spec.ts b/demo/e2e/animation.spec.ts index 229bed64..88acfd91 100644 --- a/demo/e2e/animation.spec.ts +++ b/demo/e2e/animation.spec.ts @@ -104,6 +104,17 @@ test.describe('Animation Tests', () => { await expect(shade).toHaveCount(0); }); + test('foldable page transition keeps its shade outside the control rail', async ({ page }) => { + await page.goto('/main/index', { waitUntil: 'networkidle' }); + await page.locator('ion-app').evaluate((app) => app.classList.add('ios-theme-enable-foldable')); + await page.getByRole('button', { name: 'button', exact: true }).click(); + const shade = page.locator('.ios-transition-shade'); + await expect(shade).toBeVisible(); + await page.evaluate(() => document.getAnimations().forEach((animation) => animation.pause())); + await expect(shade).toHaveCSS('clip-path', 'inset(0px 80px 0px 0px)'); + await page.evaluate(() => document.getAnimations().forEach((animation) => animation.play())); + }); + test('runs and completes the iOS popover animations', async ({ page }) => { await page.goto('/main/index/popover', { waitUntil: 'networkidle' }); await clearAnimationCalls(page); diff --git a/demo/e2e/foldable-back-button.spec.ts b/demo/e2e/foldable-back-button.spec.ts index 40020f82..357821b9 100644 --- a/demo/e2e/foldable-back-button.spec.ts +++ b/demo/e2e/foldable-back-button.spec.ts @@ -60,6 +60,73 @@ test('Native UI Shell suspension synchronously restores and resumes foldable own await expect(projection).toBeVisible(); }); +test('a stale suspension lease cannot re-hide Web controls after shell teardown', async ({ page }) => { + await page.goto('/main/index/button'); + await page.locator('ion-app').evaluate((element) => element.classList.add('ios-theme-enable-foldable')); + const source = page.locator('app-button ion-header ion-back-button').first(); + await expect(page.locator('ion-app > ion-back-button.ios-theme-foldable-back-button-projection')).toBeVisible(); + + await page.evaluate(async () => { + const shell = (window as any).nativeUIShell; + const lease = await shell.suspend(); + await shell.destroy(); + await lease.resume(); + }); + await expect(source).toBeVisible(); + await expect(page.locator('html')).not.toHaveClass(/ios-theme-native-ui-shell-prehide/); +}); + +test('Web toolbar projection switches at WillLeave and restores on cancellation', async ({ page }) => { + await page.goto('/main/index/button'); + await page.locator('ion-app').evaluate((app) => app.classList.add('ios-theme-enable-foldable')); + const projection = page.locator('ion-app > ion-back-button.ios-theme-foldable-back-button-projection'); + await expect(projection).toBeVisible(); + const routedPage = page.locator('app-button.ion-page'); + + await routedPage.evaluate((element) => { + element.dispatchEvent(new CustomEvent('ionViewWillLeave', { bubbles: true })); + }); + await expect(projection).toHaveCount(0); + await routedPage.evaluate((element) => element.dispatchEvent(new CustomEvent('ionViewDidLeave', { bubbles: true }))); + await page.waitForTimeout(150); + await expect(projection).toHaveCount(0); + + await routedPage.evaluate((element) => { + element.classList.add('ion-page-invisible'); + element.dispatchEvent(new CustomEvent('ionViewWillEnter', { bubbles: true })); + }); + await expect(projection).toBeVisible(); + await routedPage.evaluate((element) => { + element.classList.remove('ion-page-invisible'); + element.dispatchEvent(new CustomEvent('ionViewDidEnter', { bubbles: true })); + }); + + await routedPage.evaluate((element) => element.dispatchEvent(new CustomEvent('ionViewWillLeave', { bubbles: true }))); + await expect(projection).toHaveCount(0); + await routedPage.evaluate((element) => element.dispatchEvent(new Event('iosThemeFoldableTransitionCanceled', { bubbles: true }))); + await expect(projection).toBeVisible(); +}); + +test('turning foldable on during a transition honors its success or cancellation', async ({ page }) => { + await page.goto('/main/index/button'); + const app = page.locator('ion-app'); + await app.evaluate((element) => element.classList.remove('ios-theme-enable-foldable')); + const routedPage = page.locator('app-button.ion-page'); + const projection = page.locator('ion-app > ion-back-button.ios-theme-foldable-back-button-projection'); + + await routedPage.evaluate((element) => element.dispatchEvent(new CustomEvent('ionViewWillLeave', { bubbles: true }))); + await app.evaluate((element) => element.classList.add('ios-theme-enable-foldable')); + await expect(projection).toHaveCount(0); + await routedPage.evaluate((element) => element.dispatchEvent(new Event('iosThemeFoldableTransitionCanceled', { bubbles: true }))); + await expect(projection).toBeVisible(); + + await app.evaluate((element) => element.classList.remove('ios-theme-enable-foldable')); + await routedPage.evaluate((element) => element.dispatchEvent(new CustomEvent('ionViewWillLeave', { bubbles: true }))); + await app.evaluate((element) => element.classList.add('ios-theme-enable-foldable')); + await routedPage.evaluate((element) => element.dispatchEvent(new CustomEvent('ionViewDidLeave', { bubbles: true }))); + await expect(projection).toHaveCount(0); +}); + test('foldable projection respects shell opt-out and iOS mode', async ({ page }) => { await page.goto('/main/index/button'); const app = page.locator('ion-app'); diff --git a/demo/e2e/foldable-layout.spec.ts b/demo/e2e/foldable-layout.spec.ts index 3dcba1ff..14b6919c 100644 --- a/demo/e2e/foldable-layout.spec.ts +++ b/demo/e2e/foldable-layout.spec.ts @@ -2,6 +2,7 @@ import { expect, test } from '@playwright/test'; for (const direction of ['ltr', 'rtl'] as const) { test(`menus respect foldable safe-area insets in ${direction}`, async ({ page }) => { + await page.setViewportSize({ width: 390, height: 844 }); await page.goto('/main/index', { waitUntil: 'networkidle' }); const menu = page.locator('ion-menu'); @@ -11,8 +12,11 @@ for (const direction of ['ltr', 'rtl'] as const) { app.classList.add('ios-theme-enable-foldable'); element.side = direction === 'ltr' ? 'end' : 'start'; await new Promise(requestAnimationFrame); - const defaultBounds = element.getBoundingClientRect(); - const defaultRightOffset = innerWidth - defaultBounds.right; + const container = element.shadowRoot!.querySelector('[part~="container"]')!; + await element.open(false); + const defaultHostBounds = element.getBoundingClientRect(); + const defaultRightOffset = innerWidth - container.getBoundingClientRect().right; + await element.close(false); app.style.setProperty('--ios-theme-foldable-safe-area-left', '76px'); app.style.setProperty('--ios-theme-foldable-safe-area-right', '84px'); app.style.setProperty('--ion-safe-area-left', '76px'); @@ -21,9 +25,17 @@ for (const direction of ['ltr', 'rtl'] as const) { for (const side of ['start', 'end'] as const) { element.side = side; await new Promise(requestAnimationFrame); + await element.open(false); const bounds = element.getBoundingClientRect(); + const containerBounds = container.getBoundingClientRect(); const physicalSide = side === 'start' ? (direction === 'ltr' ? 'left' : 'right') : direction === 'ltr' ? 'right' : 'left'; - offsets.push({ side, physicalSide, offset: physicalSide === 'left' ? bounds.left : innerWidth - bounds.right }); + offsets.push({ + side, + physicalSide, + hostWidthPreserved: bounds.width > 0 && bounds.width === defaultHostBounds.width, + offset: physicalSide === 'left' ? containerBounds.left : innerWidth - containerBounds.right, + }); + await element.close(false); } const contentStyle = getComputedStyle(element.querySelector('ion-content')!); @@ -38,6 +50,7 @@ for (const direction of ['ltr', 'rtl'] as const) { await new Promise(requestAnimationFrame); if (!modalContent.classList.contains('ios')) throw new Error('Expected an iOS ion-content fixture'); return { + defaultHostWidthPositive: defaultHostBounds.width > 0, defaultRightOffset, offsets, safeAreaLeft: contentStyle.getPropertyValue('--ion-safe-area-left').trim(), @@ -46,16 +59,19 @@ for (const direction of ['ltr', 'rtl'] as const) { }; }, direction); - expect(result.defaultRightOffset).toBe(80); + expect({ hostWidthPositive: result.defaultHostWidthPositive, containerRight: result.defaultRightOffset }).toEqual({ + hostWidthPositive: true, + containerRight: 80, + }); expect(result.offsets).toEqual( direction === 'ltr' ? [ - { side: 'start', physicalSide: 'left', offset: 76 }, - { side: 'end', physicalSide: 'right', offset: 84 }, + { side: 'start', physicalSide: 'left', hostWidthPreserved: true, offset: 76 }, + { side: 'end', physicalSide: 'right', hostWidthPreserved: true, offset: 84 }, ] : [ - { side: 'start', physicalSide: 'right', offset: 84 }, - { side: 'end', physicalSide: 'left', offset: 76 }, + { side: 'start', physicalSide: 'right', hostWidthPreserved: true, offset: 84 }, + { side: 'end', physicalSide: 'left', hostWidthPreserved: true, offset: 76 }, ], ); expect(result.safeAreaLeft).toBe('0px'); diff --git a/demo/e2e/native-ui-shell.spec.ts b/demo/e2e/native-ui-shell.spec.ts index 18bc72cb..a2cd7d08 100644 --- a/demo/e2e/native-ui-shell.spec.ts +++ b/demo/e2e/native-ui-shell.spec.ts @@ -6,8 +6,8 @@ import * as overlayTypes from '../src/app/overlay-types'; const importer = new NodePackageImporter(resolve(__dirname, '../../')); -const mockNative = async (page: Page, fail = false) => { - await page.addInitScript((fail) => { +const mockNative = async (page: Page, fail = false, foldableRail = true) => { + const script = ([fail, foldableRail]: readonly [boolean, boolean]) => { const state = { updates: [] as any[], sequence: 0, @@ -15,6 +15,7 @@ const mockNative = async (page: Page, fail = false) => { hang: false, rejectInactiveSearch: false, rejectAllSearch: false, + rejectControlLabel: '', activate: (_event: any) => {}, search: (_event: any) => {}, metrics: (_event: any) => {}, @@ -37,7 +38,7 @@ const mockNative = async (page: Page, fail = false) => { }, ], nativePromise: async (_plugin: string, method: string, options: any) => { - if (method === 'configure') return { supported: true }; + if (method === 'configure') return { supported: true, foldableRail }; if (method === 'getWebViewMetrics') return { radius: 0 }; state.updates.push(method === 'clear' ? { ...options, controls: [] } : options); if (state.hang && method === 'update') await new Promise(() => {}); @@ -51,6 +52,11 @@ const mockNative = async (page: Page, fail = false) => { ?.filter((control: any) => control.search && (state.rejectAllSearch || control.search.available === false)) .map((control: any) => control.id) : [], + rejectedControls: state.rejectControlLabel + ? options.controls + ?.filter((control: any) => control.items.some((item: any) => item.accessibilityLabel === state.rejectControlLabel)) + .map((control: any) => control.id) + : [], }; }, nativeCallback: (_plugin: string, method: string, options: any, callback: (event: any) => void) => { @@ -63,7 +69,8 @@ const mockNative = async (page: Page, fail = false) => { }, }, }); - }, fail); + }; + await page.addInitScript(script, [fail, foldableRail] as const); }; const activate = (page: Page, label: string, duplicate = false) => @@ -324,7 +331,7 @@ test('unsupported search morph releases and restores a native fixed-slot FAB int await expect(page.locator('ion-tab-bar')).toHaveAttribute('data-native-ui-shell', ''); }); -test('foldable tabs stay in the web layer instead of using horizontal native projection', async ({ page }) => { +test('foldable tabs request native adaptive rail placement', async ({ page }) => { await mockNative(page); await page.goto('/main/index'); const app = page.locator('ion-app'); @@ -332,20 +339,23 @@ test('foldable tabs stay in the web layer instead of using horizontal native pro await expect(bar).toHaveAttribute('data-native-ui-shell', ''); await app.evaluate((element) => element.classList.add('ios-theme-enable-foldable')); - await expect(bar).not.toHaveAttribute('data-native-ui-shell'); - await expect(bar).not.toHaveClass(/ios27-enable-gesture/); + await expect(bar).toHaveAttribute('data-native-ui-shell', ''); await expect .poll(() => - page.evaluate(() => (window as any).__nativeUIShell.updates.at(-1).controls.some((control: any) => control.kind === 'ion-tab-bar')), + page.evaluate(() => + (window as any).__nativeUIShell.updates + .at(-1) + .controls.some((control: any) => control.kind === 'ion-tab-bar' && control.placement === 'foldable-rail'), + ), ) - .toBe(false); + .toBe(true); await app.evaluate((element) => element.classList.remove('ios-theme-enable-foldable')); await expect(bar).toHaveAttribute('data-native-ui-shell', ''); await expect(bar).toHaveClass(/ios27-enable-gesture/); }); -test('foldable back navigation hands ownership between native and Web projection', async ({ page }) => { +test('foldable back navigation and toolbar slots request native rail placement', async ({ page }) => { await mockNative(page); await page.goto('/main/index/native-ui-shell'); const app = page.locator('ion-app'); @@ -354,20 +364,384 @@ test('foldable back navigation hands ownership between native and Web projection await expect(source).toHaveAttribute('data-native-ui-shell', ''); await app.evaluate((element) => element.classList.add('ios-theme-enable-foldable')); - await expect(projection).toHaveCount(1); + await expect(projection).toHaveCount(0); + await expect(source).toHaveAttribute('data-native-ui-shell', ''); + await expect + .poll(() => + page.evaluate( + () => + (window as any).__nativeUIShell.updates + .at(-1) + .controls.some( + (control: any) => + control.kind === 'ion-back-button' && control.placement === 'foldable-rail' && control.toolbarSlot === undefined, + ) && + !(window as any).__nativeUIShell.updates + .at(-1) + .controls.some((control: any) => control.items.some((item: any) => item.label === 'Cancel')), + ), + ) + .toBe(true); await expect .poll(() => page.evaluate(() => - (window as any).__nativeUIShell.updates.at(-1).controls.some((control: any) => control.kind === 'ion-back-button'), + (window as any).__nativeUIShell.updates + .at(-1) + .controls.some( + (control: any) => + control.kind === 'ion-button' && + control.placement === 'foldable-rail' && + control.toolbarSlot === 'end' && + control.items.some((item: any) => item.accessibilityLabel === 'Save'), + ), ), ) - .toBe(false); + .toBe(true); + await expect + .poll(() => + page.evaluate( + () => + (window as any).__nativeUIShell.updates.at(-1).controls.find((control: any) => control.kind === 'ion-menu-button')?.toolbarSlot, + ), + ) + .toBe('start'); await app.evaluate((element) => element.classList.remove('ios-theme-enable-foldable')); await expect(projection).toHaveCount(0); await expect(source).toHaveAttribute('data-native-ui-shell', ''); }); +test('native foldable toolbar returns with Index after a pushed page', async ({ page }) => { + await mockNative(page); + await page.goto('/main/index'); + await page.locator('ion-app').evaluate((app) => app.classList.add('ios-theme-enable-foldable')); + const hasIndexActions = () => + page.evaluate(() => { + const controls = (window as any).__nativeUIShell.updates.at(-1).controls; + return controls.some( + (control: any) => control.placement === 'foldable-rail' && control.items.some((item: any) => item.accessibilityLabel === 'GitHub'), + ); + }); + await expect.poll(hasIndexActions).toBe(true); + await page.getByRole('button', { name: 'button', exact: true }).click(); + await expect(page).toHaveURL(/\/main\/index\/button$/); + await expect + .poll(() => + page.evaluate(() => { + const state = (window as any).__nativeUIShell; + const snapshot = state.updates.at(-1); + return !!snapshot.controls.find((control: any) => control.kind === 'ion-back-button')?.items[0]; + }), + ) + .toBe(true); + await page.evaluate(() => { + const state = (window as any).__nativeUIShell; + const snapshot = state.updates.at(-1); + const back = snapshot.controls.find((control: any) => control.kind === 'ion-back-button').items[0]; + state.activate({ id: back.id, revision: snapshot.revision, sequence: ++state.sequence }); + }); + await expect(page).toHaveURL(/\/main\/index$/); + await expect.poll(hasIndexActions).toBe(true); +}); + +test('native foldable actions follow WillEnter and stay enabled during navigation', async ({ page }) => { + await mockNative(page); + await page.goto('/main/index/native-ui-shell'); + await page.locator('ion-app').evaluate((app) => app.classList.add('ios-theme-enable-foldable')); + const source = page.locator('app-native-ui-shell ion-back-button'); + await expect(source).toHaveAttribute('data-native-ui-shell', ''); + const routedPage = page.locator('app-native-ui-shell.ion-page'); + + await routedPage.evaluate((element) => element.dispatchEvent(new CustomEvent('ionViewWillLeave', { bubbles: true }))); + await expect(source).not.toHaveAttribute('data-native-ui-shell', ''); + await routedPage.evaluate((element) => element.dispatchEvent(new CustomEvent('ionViewDidLeave', { bubbles: true }))); + await expect(source).not.toHaveAttribute('data-native-ui-shell', ''); + await page.waitForTimeout(150); + await expect(source).not.toHaveAttribute('data-native-ui-shell', ''); + + await routedPage.evaluate((element) => { + element.classList.add('ion-page-invisible'); + element.style.pointerEvents = 'none'; + element.dispatchEvent(new CustomEvent('ionViewWillEnter', { bubbles: true })); + }); + await expect(source).toHaveAttribute('data-native-ui-shell', ''); + const saveDisabled = () => + page.evaluate( + () => + (window as any).__nativeUIShell.updates + .findLast((update: any) => + update.controls.some((control: any) => control.items.some((item: any) => item.accessibilityLabel === 'Save')), + ) + .controls.flatMap((control: any) => control.items) + .find((item: any) => item.accessibilityLabel === 'Save').disabled, + ); + await expect.poll(saveDisabled).toBe(false); + await page.addStyleTag({ content: '.author-no-pointer { pointer-events: none }' }); + const save = page.locator('app-native-ui-shell ion-button[type=submit]'); + for (const target of [save, save.locator('xpath=..'), save.locator('xpath=../..')]) { + await target.evaluate((element) => element.classList.add('author-no-pointer')); + await expect.poll(saveDisabled).toBe(true); + await target.evaluate((element) => element.classList.remove('author-no-pointer')); + await expect.poll(saveDisabled).toBe(false); + } + await activate(page, 'Save'); + await expect(page.locator('app-native-ui-shell [data-save-count]')).toHaveText('1'); + await routedPage.evaluate((element) => { + element.classList.remove('ion-page-invisible'); + element.dispatchEvent(new CustomEvent('ionViewDidEnter', { bubbles: true })); + }); + await expect.poll(saveDisabled).toBe(false); + await save.evaluate((element) => element.classList.add('author-no-pointer')); + await expect.poll(saveDisabled).toBe(true); + await save.evaluate((element) => element.classList.remove('author-no-pointer')); + await routedPage.evaluate((element) => (element.style.pointerEvents = '')); + await routedPage.evaluate((element) => element.dispatchEvent(new CustomEvent('ionViewWillLeave', { bubbles: true }))); + await expect(source).not.toHaveAttribute('data-native-ui-shell', ''); + await routedPage.evaluate((element) => element.dispatchEvent(new Event('iosThemeFoldableTransitionCanceled', { bubbles: true }))); + await expect(source).toHaveAttribute('data-native-ui-shell', ''); +}); + +test('foldable toolbar sources are hidden before ownership and restored with their lifecycle', async ({ page }) => { + await mockNative(page); + await page.goto('/main/index/native-ui-shell'); + await page.locator('ion-app').evaluate((element) => element.classList.add('ios-theme-enable-foldable')); + const source = page.locator('app-native-ui-shell ion-button[type=submit]'); + await expect(source).toHaveAttribute('data-native-ui-shell', ''); + await expect(source).toHaveClass(/ios-theme-native-ui-shell-prehidden/); + + const prehidden = await source.evaluate((element) => { + element.removeAttribute('data-native-ui-shell'); + const style = getComputedStyle(element); + return { position: style.position, visibility: style.visibility }; + }); + expect(prehidden).toEqual({ position: 'absolute', visibility: 'hidden' }); + + const earlyBack = await page.locator('app-native-ui-shell ion-back-button').evaluate((element) => { + element.removeAttribute('data-native-ui-shell'); + element.classList.remove('ios-theme-native-ui-shell-prehidden'); + const style = getComputedStyle(element); + return { position: style.position, visibility: style.visibility }; + }); + expect(earlyBack).toEqual({ position: 'absolute', visibility: 'hidden' }); + + const customBack = page.locator('app-native-ui-shell ion-back-button'); + await customBack.evaluate((element: HTMLIonBackButtonElement) => (element.color = 'primary')); + await expect(customBack).not.toHaveAttribute('data-native-ui-shell', ''); + await expect(customBack).toHaveCSS('visibility', 'visible'); + const webOnlyBacks = await page.locator('app-native-ui-shell').evaluate((host) => { + const content = host.querySelector('ion-content')!; + const nested = document.createElement('ion-header'); + nested.innerHTML = ''; + content.append(nested); + const condensed = document.createElement('ion-header'); + condensed.setAttribute('collapse', 'condense'); + condensed.innerHTML = ''; + host.append(condensed); + return [nested.querySelector('ion-back-button')!, condensed.querySelector('ion-back-button')!].map( + (back) => getComputedStyle(back).visibility, + ); + }); + expect(webOnlyBacks).toEqual(['visible', 'visible']); + + const lateBackInitially = await page.locator('ion-app').evaluate((root) => { + const header = document.createElement('ion-header'); + header.innerHTML = ''; + root.append(header); + const back = header.querySelector('ion-back-button')!; + back.setAttribute('data-late-back', ''); + return back.classList.contains('ios-theme-foldable-back-web-owned'); + }); + expect(lateBackInitially).toBe(false); + const lateBack = page.locator('ion-back-button[data-late-back]'); + await expect(lateBack).toHaveClass(/ios-theme-native-ui-shell-prehidden/); + await expect(lateBack).toHaveAttribute('data-native-ui-shell', ''); + await page.waitForTimeout(1600); // Past the unhydrated readiness timeout. + await expect(lateBack).toHaveAttribute('data-native-ui-shell', ''); + await expect(lateBack).not.toHaveClass(/ios-theme-foldable-back-web-owned/); + await lateBack.evaluate((element) => element.closest('ion-header')?.remove()); + + const lateAction = page.locator('app-native-ui-shell ion-button[data-late-action]'); + await page + .locator('app-native-ui-shell ion-toolbar') + .first() + .evaluate((toolbar) => { + const button = document.createElement('ion-button'); + button.setAttribute('data-late-action', ''); + button.setAttribute('aria-label', 'Late action'); + button.innerHTML = ''; + toolbar.append(button); + }); + await expect(lateAction).toHaveAttribute('data-native-ui-shell', ''); + + await page.addStyleTag({ content: '.author-hidden { visibility: hidden !important }' }); + await source.evaluate((element) => element.classList.add('author-hidden')); + await expect(source).not.toHaveAttribute('data-native-ui-shell', ''); + await source.evaluate((element) => element.classList.remove('author-hidden')); + await expect(source).toHaveAttribute('data-native-ui-shell', ''); + + await source.evaluate((element) => element.classList.add('ios-theme-shell-disabled')); + await expect(source).toHaveCSS('visibility', 'visible'); + + await page.evaluate(() => (window as any).nativeUIShell.destroy()); + await expect(source).not.toHaveClass(/ios-theme-native-ui-shell-prehidden/); + await expect(source).toHaveCSS('visibility', 'visible'); +}); + +test('rejected foldable control returns to an operable Web source', async ({ page }) => { + await mockNative(page); + await page.goto('/main/index/native-ui-shell'); + await page.locator('ion-app').evaluate((element) => element.classList.add('ios-theme-enable-foldable')); + const save = page.locator('app-native-ui-shell ion-button[type=submit]'); + await expect(save).toHaveAttribute('data-native-ui-shell', ''); + await page.evaluate(() => { + (window as any).__nativeUIShell.rejectControlLabel = 'Save'; + window.dispatchEvent(new Event('nativeUIShellRefresh')); + }); + await expect(save).not.toHaveAttribute('data-native-ui-shell', ''); + await expect(save).not.toHaveClass(/ios-theme-native-ui-shell-prehidden/); + await expect(save).toHaveCSS('visibility', 'visible'); + await save.click(); + await expect(page.locator('[data-save-count]')).toHaveText('1'); +}); + +test('foldable rail remains native while its Ionic menu is open', async ({ page }) => { + await page.setViewportSize({ width: 390, height: 844 }); + await mockNative(page); + await page.goto('/main/index/native-ui-shell'); + await page.locator('app-native-ui-shell ion-menu-button').evaluate((element: HTMLIonMenuButtonElement) => (element.autoHide = false)); + await page.locator('ion-app').evaluate((element) => element.classList.add('ios-theme-enable-foldable')); + const menu = page.locator('ion-menu'); + const menuSource = page.locator('app-native-ui-shell ion-menu-button').locator('..'); + const backSource = page.locator('app-native-ui-shell ion-back-button'); + const saveSource = page.locator('app-native-ui-shell ion-button[type=submit]'); + const cancelSource = page.locator('app-native-ui-shell ion-button').filter({ hasText: 'Cancel' }); + const actionGroup = page.locator('app-native-ui-shell ion-buttons[data-glass-group]'); + const tabs = page.locator('ion-tab-bar'); + + await actionGroup.evaluate((element) => { + const cancel = document.createElement('ion-button') as HTMLIonButtonElement; + cancel.classList.add('ios'); + cancel.fill = 'clear'; + cancel.textContent = 'Cancel mixed action'; + element.prepend(cancel); + }); + const mixedCancel = actionGroup.locator('ion-button').filter({ hasText: 'Cancel mixed action' }); + const mixedIcons = actionGroup.locator('ion-button').filter({ has: page.locator('ion-icon') }); + await expect(actionGroup).not.toHaveAttribute('data-native-ui-shell'); + await expect(mixedIcons.nth(0)).toHaveAttribute('data-native-ui-shell', ''); + await expect(mixedIcons.nth(1)).toHaveAttribute('data-native-ui-shell', ''); + await expect(mixedCancel).not.toHaveAttribute('data-native-ui-shell'); + await expect(mixedCancel).toBeVisible(); + await expect + .poll(() => + page.evaluate(() => { + const controls = (window as any).__nativeUIShell.updates.at(-1)?.controls ?? []; + const demoActions = (control: any) => + control.items.filter((item: any) => ['GitHub', 'Refresh'].includes(item.accessibilityLabel)).length; + return { + groups: controls.filter((control: any) => control.kind === 'ion-buttons' && demoActions(control) === 2).length, + individuals: controls.filter((control: any) => control.kind === 'ion-button' && demoActions(control) > 0).length, + }; + }), + ) + .toEqual({ groups: 1, individuals: 0 }); + const nativeDisabled = () => + page.evaluate(() => { + const items = (window as any).__nativeUIShell.updates.at(-1).controls.flatMap((control: any) => control.items); + return { + save: items.find((item: any) => item.accessibilityLabel === 'Save')?.disabled, + actions: items.filter((item: any) => ['GitHub', 'Refresh'].includes(item.accessibilityLabel)).map((item: any) => item.disabled), + }; + }); + await actionGroup.evaluate((element: HTMLElement) => (element.style.pointerEvents = 'none')); + await activate(page, 'menu'); + await expect(menu).toHaveClass(/show-menu/); + await expect.poll(nativeDisabled).toEqual({ save: false, actions: [true, true] }); + await actionGroup.evaluate((element: HTMLElement) => (element.style.pointerEvents = '')); + await expect.poll(nativeDisabled).toEqual({ save: false, actions: [false, false] }); + await mixedCancel.evaluate((element) => element.remove()); + await expect(actionGroup).toHaveAttribute('data-native-ui-shell', ''); + await saveSource.evaluate((element: HTMLElement) => (element.style.pointerEvents = 'none')); + await actionGroup.evaluate((element: HTMLElement) => (element.style.pointerEvents = 'none')); + await expect.poll(nativeDisabled).toEqual({ save: true, actions: [true, true] }); + await expect(menu).toHaveClass(/show-menu/); + await activate(page, 'Save'); + await expect(page.locator('[data-save-count]')).toHaveText('0'); + await saveSource.evaluate((element: HTMLElement) => (element.style.pointerEvents = '')); + await actionGroup.evaluate((element: HTMLElement) => (element.style.pointerEvents = '')); + await expect.poll(nativeDisabled).toEqual({ save: false, actions: [false, false] }); + await expect.poll(() => cancelSource.evaluate((element) => getComputedStyle(element).pointerEvents)).toBe('none'); + for (const source of [menuSource, backSource, saveSource, tabs]) await expect(source).toHaveAttribute('data-native-ui-shell', ''); + await expect(cancelSource).toBeVisible(); + await activate(page, 'Save'); + await expect(page.locator('[data-save-count]')).toHaveText('1'); + // Placement is selected when this page enters, not re-evaluated from later content. + await cancelSource.evaluate((element) => { + element.setAttribute('data-morphed-cancel', ''); + element.textContent = ''; + const icon = document.createElement('ion-icon'); + icon.setAttribute('slot', 'icon-only'); + icon.setAttribute('name', 'checkmark'); + element.append(icon); + }); + const morphedCancel = page.locator('app-native-ui-shell ion-button[data-morphed-cancel]'); + await expect(morphedCancel).not.toHaveAttribute('data-native-ui-shell', ''); + await expect(morphedCancel).not.toHaveClass(/ios-theme-native-ui-shell-prehidden/); + await expect(morphedCancel).toBeVisible(); +}); + +test('foldable controls stay operable on Web when the native side rail is unavailable', async ({ page }) => { + await page.setViewportSize({ width: 390, height: 844 }); + await mockNative(page, false, false); + await page.goto('/main/index/native-ui-shell'); + await page.locator('app-native-ui-shell ion-menu-button').evaluate((element: HTMLIonMenuButtonElement) => (element.autoHide = false)); + await page.locator('ion-app').evaluate((element) => element.classList.add('ios-theme-enable-foldable')); + + const projection = page.locator('ion-app > ion-back-button.ios-theme-foldable-back-button-projection'); + const menuProjection = page.locator('ion-app > ion-menu-button.ios-theme-foldable-toolbar-projection'); + const saveProjection = page.locator('ion-app > ion-button.ios-theme-foldable-toolbar-projection[aria-label=Save]'); + await expect(projection).toBeVisible(); + await expect(menuProjection).toBeVisible(); + await expect(saveProjection).toBeVisible(); + await expect(page.locator('ion-tab-bar')).toBeVisible(); + await page.addStyleTag({ content: '.author-hidden { visibility: hidden !important }' }); + const saveSource = page.locator('app-native-ui-shell ion-button[type=submit]'); + await saveSource.evaluate((element) => element.classList.add('author-hidden')); + await expect(saveProjection).toHaveCount(0); + await saveSource.evaluate((element) => element.classList.remove('author-hidden')); + await expect(saveProjection).toBeVisible(); + await expect.poll(() => page.evaluate(() => (window as any).nativeUIShell.getStatus().projected)).toBeGreaterThan(0); + await expect + .poll(() => + page.evaluate(() => + (window as any).__nativeUIShell.updates.every((snapshot: any) => + snapshot.controls.every((control: any) => control.placement !== 'foldable-rail'), + ), + ), + ) + .toBe(true); + + await menuProjection.click(); + await expect(page.locator('ion-menu')).toHaveClass(/show-menu/); + await expect(projection).toBeVisible(); + await expect(menuProjection).toBeVisible(); + await expect(saveProjection).toBeVisible(); + await expect(page.locator('ion-tab-bar')).toBeVisible(); + await saveProjection.click(); + await expect(page.locator('[data-save-count]')).toHaveText('1'); + + await page.evaluate(() => { + const outlet = document.querySelector('ion-tabs ion-router-outlet')!; + (window as any).__foldableBackCloneMoved = false; + new MutationObserver(() => { + if (outlet.querySelector(':scope > ion-back-button.ion-cloned-element')) (window as any).__foldableBackCloneMoved = true; + }).observe(outlet, { childList: true }); + }); + await projection.click(); + await expect(page).toHaveURL(/\/main\/index$/); + expect(await page.evaluate(() => (window as any).__foldableBackCloneMoved)).toBe(false); +}); + test('native click preserves external form submit, disabled, and duplicate protection', async ({ page }) => { await mockNative(page); await page.goto('/main/index/native-ui-shell'); @@ -387,15 +761,20 @@ test('native click preserves external form submit, disabled, and duplicate prote expect(await page.evaluate(() => (window as any).__nativeUIShell.updates.length)).toBe(count); }); -test('ancestor display/theme aliases and non-glass fills restore Web', async ({ page }) => { +test('ancestor display, element opt-out aliases and non-glass fills restore Web', async ({ page }) => { await mockNative(page); await page.goto('/main/index/native-ui-shell'); const button = page.locator('app-native-ui-shell ion-button[type=submit]'); + const toolbar = button.locator('xpath=ancestor::ion-toolbar[1]'); await expect(button).toHaveAttribute('data-native-ui-shell', ''); - for (const toggle of ['Parent hidden', 'Theme disabled']) { - await page.getByRole('button', { name: `${toggle}: false`, exact: true }).click(); + await page.getByRole('button', { name: 'Parent hidden: false', exact: true }).click(); + await expect(button).not.toHaveAttribute('data-native-ui-shell'); + await page.getByRole('button', { name: 'Parent hidden: true', exact: true }).click(); + await expect(button).toHaveAttribute('data-native-ui-shell', ''); + for (const name of ['ios-theme-disabled', 'ios26-disabled', 'ionic-theme-disabled']) { + await toolbar.evaluate((element, name) => element.classList.add(name), name); await expect(button).not.toHaveAttribute('data-native-ui-shell'); - await page.getByRole('button', { name: `${toggle}: true`, exact: true }).click(); + await toolbar.evaluate((element, name) => element.classList.remove(name), name); await expect(button).toHaveAttribute('data-native-ui-shell', ''); } for (const name of ['ios-theme-disabled', 'ios26-disabled', 'ionic-theme-disabled']) { @@ -404,6 +783,11 @@ test('ancestor display/theme aliases and non-glass fills restore Web', async ({ await button.evaluate((element, name) => element.classList.remove(name), name); await expect(button).toHaveAttribute('data-native-ui-shell', ''); } + await page + .locator('app-native-ui-shell ion-buttons[slot=end] ion-button') + .filter({ hasText: 'Cancel' }) + .evaluate((element) => element.remove()); + await expect(button).toHaveAttribute('data-native-ui-shell', ''); for (const fill of ['clear', 'solid', 'outline']) { await page.getByRole('button', { name: `fill: ${fill}`, exact: true }).click(); await expect(button).not.toHaveAttribute('data-native-ui-shell'); @@ -719,6 +1103,16 @@ test('clear ion-buttons share one glass surface and keep independent actions', a const native = await projectedGroup(); expect(native.items).toHaveLength(2); expect(native.items.map((item: any) => item.accessibilityLabel)).toEqual(['GitHub', 'Refresh']); + const githubName = () => + page.evaluate( + (id) => + (window as any).__nativeUIShell.updates.at(-1).controls.find((control: any) => control.id === id)?.items[0]?.accessibilityLabel, + native.id, + ); + await github.locator('ion-icon').evaluate((icon) => icon.setAttribute('aria-hidden', 'true')); + await expect.poll(githubName).not.toBe('GitHub'); + await github.locator('ion-icon').evaluate((icon) => icon.removeAttribute('aria-hidden')); + await expect.poll(githubName).toBe('GitHub'); for (const item of native.items) expect(item.icon).toMatch(/^iVBOR/); await activate(page, 'GitHub', true); await expect(page.locator('ion-title').filter({ hasText: 'Actions:' })).toHaveText('Actions: 1 / 0'); @@ -775,7 +1169,7 @@ test('theme-disabled ion-buttons project eligible buttons independently', async await expect .poll(() => page.evaluate(() => { - const controls = (window as any).__nativeUIShell.updates.at(-1).controls; + const controls = (window as any).__nativeUIShell.updates.at(-1)?.controls ?? []; const isDemoAction = (control: any) => control.items.some((item: any) => ['GitHub', 'Refresh'].includes(item.accessibilityLabel)); return { buttons: controls.filter((control: any) => control.kind === 'ion-button' && isDemoAction(control)).length, @@ -1071,6 +1465,7 @@ test('menu button toggles its Ionic menu and follows autoHide, disabled and spli await page.goto('/main/index/native-ui-shell'); const menu = page.locator('ion-menu'); const button = page.locator('app-native-ui-shell ion-menu-button'); + await button.evaluate((element: HTMLIonMenuButtonElement) => (element.autoHide = true)); const surface = button.locator('..'); await expect(surface).toHaveAttribute('data-native-ui-shell', ''); await expect diff --git a/demo/ios/NativeUIShellTests/NativeUIShellTests.swift b/demo/ios/NativeUIShellTests/NativeUIShellTests.swift index bd6650ea..cd3fcfd8 100644 --- a/demo/ios/NativeUIShellTests/NativeUIShellTests.swift +++ b/demo/ios/NativeUIShellTests/NativeUIShellTests.swift @@ -108,6 +108,8 @@ final class NativeUIShellTests: XCTestCase { entry.tap() let save = nativeButton(app, label: "Save") XCTAssertTrue(save.waitForExistence(timeout: 10), app.debugDescription) + XCTAssertFalse(nativeButton(app, label: "Cancel").exists, "Text-only toolbar actions must remain in Web") + XCTAssertTrue(app.webViews.buttons["Cancel"].firstMatch.exists, app.debugDescription) XCUIDevice.shared.press(.home) XCTAssertTrue(app.wait(for: .runningBackground, timeout: 5)) app.activate() @@ -249,6 +251,72 @@ final class NativeUIShellTests: XCTestCase { capture("native-tab-settings") } + func testNativeFoldableRail() throws { + let app = XCUIApplication(bundleIdentifier: "io.ionic.theme.ios27") + app.launch() + let toggle = app.webViews.switches["Foldable Mode"] + XCTAssertTrue(toggle.waitForExistence(timeout: 15), app.debugDescription) + if toggle.value as? String == "0" { toggle.tap() } + + let index = app.buttons["Index"] + let library = app.buttons["Library"] + XCTAssertTrue(index.waitForExistence(timeout: 10), app.debugDescription) + XCTAssertTrue(library.waitForExistence(timeout: 10), app.debugDescription) + assertOnFoldableRail(index, in: app) + library.tap() + XCTAssertTrue(app.webViews.staticTexts["Library"].firstMatch.waitForExistence(timeout: 5), "The native tab did not project its activation to Web\n" + app.debugDescription) + XCTAssertTrue(library.isSelected, app.debugDescription) + index.tap() + XCTAssertTrue(toggle.waitForExistence(timeout: 5), app.debugDescription) + capture("native-foldable-index") + openPage(app, name: "native-ui-shell") + let save = nativeButton(app, label: "Save") + XCTAssertTrue(save.waitForExistence(timeout: 10), app.debugDescription) + save.tap() + XCTAssertTrue(savedOnce(app).waitForExistence(timeout: 5), app.debugDescription) + let github = app.buttons["GitHub"] + XCTAssertTrue(github.waitForExistence(timeout: 5), app.debugDescription) + github.tap() + XCTAssertTrue(app.webViews.staticTexts["Actions: 1 / 0"].waitForExistence(timeout: 5), app.debugDescription) + let refresh = app.buttons["Refresh"] + XCTAssertTrue(refresh.waitForExistence(timeout: 5), app.debugDescription) + refresh.tap() + XCTAssertTrue(app.webViews.staticTexts["Actions: 1 / 1"].waitForExistence(timeout: 5), app.debugDescription) + capture("native-foldable-toolbar") + + let back = app.buttons["BackButton"] + XCTAssertTrue(back.waitForExistence(timeout: 5), app.debugDescription) + assertOnFoldableRail(back, in: app) + back.tap() + XCTAssertTrue(toggle.waitForExistence(timeout: 10), app.debugDescription) + XCTAssertTrue(nativeButton(app, label: "GitHub").waitForExistence(timeout: 10), "Index toolbar did not return after native back\n" + app.debugDescription) + openPage(app, name: "native-ui-shell") + XCTAssertTrue(back.waitForExistence(timeout: 5), app.debugDescription) + let pageMenu = nativeButton(app, label: "menu") + XCTAssertTrue(pageMenu.waitForExistence(timeout: 5), app.debugDescription) + pageMenu.tap() + let menuLink = app.webViews.links["Docs"] + XCTAssertTrue(menuLink.waitForExistence(timeout: 5), app.debugDescription) + capture("native-foldable-menu-open") + for control in [pageMenu, back, save, library] { + XCTAssertTrue(control.waitForExistence(timeout: 5), "Every foldable rail control must remain native while the menu is open\n" + app.debugDescription) + assertOnFoldableRail(control, in: app) + XCTAssertTrue(control.isEnabled, "Foldable rail controls must remain enabled while Ionic disables the covered page\n" + app.debugDescription) + } + save.tap() + app.coordinate(withNormalizedOffset: CGVector(dx: 0.81, dy: 0.55)).tap() + XCTAssertTrue(menuLink.waitForNonExistence(timeout: 5), "The projected Ionic menu button did not close its menu\n" + app.debugDescription) + XCTAssertTrue(savedOnce(app).waitForExistence(timeout: 5), "The native control stopped projecting actions while the menu was open\n" + app.debugDescription) + capture("native-foldable-after-menu") + } + + private func assertOnFoldableRail(_ element: XCUIElement, in app: XCUIApplication, + file: StaticString = #filePath, line: UInt = #line) { + XCTAssertGreaterThan(element.frame.midX, app.frame.width * 0.8, + "Expected native control on the physical right rail, got \(element.frame) in \(app.frame)", + file: file, line: line) + } + func testNativeShellPageAuditAndRepeatedNavigation() throws { executionTimeAllowance = 900 let app = XCUIApplication(bundleIdentifier: "io.ionic.theme.ios27") diff --git a/demo/package-lock.json b/demo/package-lock.json index 82ac6ad5..d386d48d 100644 --- a/demo/package-lock.json +++ b/demo/package-lock.json @@ -56,13 +56,13 @@ }, "..": { "name": "@rdlabo/ionic-theme-ios27", - "version": "1.0.1", + "version": "1.0.4", "bundleDependencies": [ "@rdlabo/ionic-theme-utils" ], "license": "MIT", "dependencies": { - "@rdlabo/ionic-theme-utils": "git+https://github.com/rdlabo-dev/ionic-theme-utils.git#e82be4389d9209750229f5fee990046b5b1217da" + "@rdlabo/ionic-theme-utils": "git+https://github.com/rdlabo-dev/ionic-theme-utils.git#44b1535387c326ed69fc239d38dbdb9776b629c2" }, "devDependencies": { "@capacitor/core": "^8.5.2", diff --git a/demo/src/app/docs/docs-content.generated.ts b/demo/src/app/docs/docs-content.generated.ts index 88e3180a..dab40a24 100644 --- a/demo/src/app/docs/docs-content.generated.ts +++ b/demo/src/app/docs/docs-content.generated.ts @@ -1,3 +1,3 @@ // Generated from docs/special-markup.md. Do not edit directly. export const docsContentHtml = - '

    QI4l#c5z`>@VQqIc(s?aloYx!Yzs4pix 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 z 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 SezJth5e6}Cn?vdIcsTYSce9q_gy&gGF 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%0DbWPR*TnXPM`9fUq`IaTbx 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 Date: Tue, 22 Sep 2026 13:54:06 +0900 Subject: [PATCH 27/50] fix: mirror native foldable toolbar grouping --- demo/e2e/foldable-back-button.spec.ts | 2 +- .../foldable-back-button-ltr.png | Bin 68604 -> 68412 bytes .../foldable-back-button-rtl.png | Bin 68544 -> 68353 bytes .../foldable-layout-ltr.png | Bin 46689 -> 46138 bytes .../foldable-layout-rtl.png | Bin 46748 -> 46170 bytes .../foldable-split-pane-ltr.png | Bin 54890 -> 54610 bytes .../foldable-split-pane-rtl.png | Bin 54904 -> 54683 bytes .../foldable-toolbar-actions.png | Bin 70845 -> 69666 bytes src/native/foldable-web.ts | 25 ++++++------ src/styles/components/ion-button.scss | 37 ++++++++++++------ 10 files changed, 39 insertions(+), 25 deletions(-) diff --git a/demo/e2e/foldable-back-button.spec.ts b/demo/e2e/foldable-back-button.spec.ts index fd743c94..1b38cc5c 100644 --- a/demo/e2e/foldable-back-button.spec.ts +++ b/demo/e2e/foldable-back-button.spec.ts @@ -86,7 +86,7 @@ test('foldable toolbar projects icon actions and preserves text-only actions', a const sourceGroup = page.locator('app-native-ui-shell ion-header ion-buttons[slot="end"]').first(); const textAction = sourceGroup.getByText('Cancel', { exact: true }); const iconSource = sourceGroup.locator('ion-button[aria-label="Save"]'); - const iconProjection = page.locator('ion-app > ion-buttons.ios-theme-foldable-toolbar-projection ion-button[aria-label="Save"]'); + const iconProjection = page.locator('ion-app > ion-button.ios-theme-foldable-toolbar-projection[aria-label="Save"]'); await expect(textAction).toBeVisible(); await expect(iconSource).toBeHidden(); diff --git a/demo/e2e/screenshot.spec.ts-snapshots/foldable-back-button-ltr.png b/demo/e2e/screenshot.spec.ts-snapshots/foldable-back-button-ltr.png index e98123ad0f2cf260194d725dd355adbcd6eb922c..8252345f435ba115e5f17e19516a79e0cff64323 100644 GIT binary patch literal 68412 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⁡aFm9oE97E<*Yabc`n7?uMW4vxz-WSAy|A4~gC--%}CZZ?A*;YbnM?>3#9K6u^FsOuYTG;TfIodj5js;bVkdN?79r|^2svaflo+C>T=MY5!m z-7FfVwxOoNI9?yBj`7|O1IcL%kj$+4+^%H)bdsP({RH6&=r&~_NrAHA`KBl-c@COA z?DbKtrLu!iKjWGY@m$rU8?}_C=0YUy6mV`iMU`6W9V&Hn9{Ik@8zk0kBWDq)S9fo*-|qnUCq?7$ai$n`dR#SCk|DT(r!+o zhwhL9FV7GtPxTi51AP1G>0YZ}mSVKhf^sRh0?^kgvX-!JaHgf>#Mv|k4*h%FN>|C5 zPo2V^a_qp(z0A>|J{$(H$InQTC!=KHwpx^$xN_q02Be%io(HDM z`o5;$zkcRiSECG(m}KVvg%w-PrX6&1Ec&tiwS7@0gocI&Xt;1GxlGBjXE=>E!5|>w zvw2Sz*nwIv?bf_635766(pbHK?$>&kq^xY_myHNW_}z$Di`CY9V7BM|{1~^R*^|9& zKTn_?2q+6p2Lth4cw!9i4b16&mTw+GZ4LI4eFZZej{@W z+(Tb2%f|insQ#%cGv*ZxE)7f+U~i3K@!Oo=*re2H>p1>)cdK>#B@syL__=3I?hFcb zgADQYe`^6KO&z5TZYUxa+bW^3d!a>Gp|X&x6$x(F*fC@16^9gIl|Y`Uhr>{su?kE2 z6|I#EsygfxH0S4Q;tvDMBg=17w%aMi>Lph1w4}RPzb0eM-8_1{PPF(BQNEkkNmf6) znoK1waoxkOd?Q5#`R2*9#&F{YigwY0+E`Ra+KWeCjdip6A<}b;H9}10Hj5fRZaW{_ z`299%{sOU_9f-DcQm~Jht@=qy4ht6(sDwm*A7G@Rk(HEG4OW=0saXcc>UE<)7>HnO zXYsf|MyK+1n$x}QcYOs)3f!iHKx?ZVoZdi$0_8GT{eu#CZeR=_9=}nKf(Kh&cFtPe zOl3QF|4wCl+FK*m_vPN)Uh8it;JqFvtL}*=^F)VelzrPl?OuAm_xw9MI~D|Mu1jlK zJ~#J&-HM&nF?xGV%e8_yP+iLRY8OgP%>Q|=5z{Vhs_VKmfd+xroNl$zHPDBPIs=2i zy^)lW@jj_zALHEn4U5j#aWPm%LRiu9lJ<2JC+Je&X{65Y^$}d2=RC#Eb~>@ams>zL zw*cdlm>iI{<}?s_?q|1$^vnMa@xQ;CI&Xw)MKg6X18>ZpKOQAr#qED`uzicwoWxWtZ0`jE@ouI%TinQ zMMCb2*;`O1-R&it8Bcsen;3PyJU;@x#v&Oi;yh?N#3vMbty-7`b-$PUy}vCA3JM=l zKlpJVBsR5&;S(bD0rd;52HX5Xc5uhP2hJy}KE>abc1az#_x5s8?Y`{iKcGzjL5PBi zD&%Q33OKhRpcdkO^$qwf7+q(xP`Ya5UoWAAf+w)rtYb?6)I(2N+V{+po=p|6)XB6I zcTq5Nk#e6OctE&f?g0jQs(;j3rlo5{DnIFMVQN!)u<4;6C9&sW4w%Us71K{yo2NK_ zc2*v1@JetqU&lJ6=eLL;SKe1A*D^SbpN~sQGOJmLj~4=E6hm^zMn3!4^0WcSZIL2Ho0#u#5sE4AtWlXy@3~A?uI1?d+B$CGx zGBW%LwNgZT;Gu+QKXVW(0=E zn3ZY(XNIAoWtMDP5p`saJJKq!GPZsnS^ivP6E2uaLS|rO)lbDQ4B&e zH^FECG=PGLsVV{kitPo3h3PV@l-CnUElRWtC()am@mei>2>1W~u)SIwEBYzH-$ugY z-^tDv3;?Y?Be=ki2->c$^*2lyvakynqa!2ova)jrq-%G=H%SQ?WCf&*&MFS%c2212 z#dX;|!@Lg>zTxB2qWGBnS=Rh@h@?k=@;!G%tyuP?%>si|DLwWkCN+B!P(tsW6%APh`dA{sRNB4}hH3HdREF9gQ= zskZwfPVFZauu3MB?z{RncA3McKgf-$$jHN3i>JzGdnPBDr!O2<$(a57@4@Zo)T|w^ zFajJ&bhWg^^zW4EU-^0I4SXw8PVooTy4cDdsbYiz64&tEHfj)6cAnK5AHklk*P_?!sY6%l3LZ z=@dIeTpBWk5I5HYdqo7ykhg^K*M=A$xGnTztr*7+h28zJlSP~;b z<$(a5I$5mi^p{RG=?H^dFI1g6YRhhM`!w7y5mS9WIyNRPQ_E(T1v%i~`i*(vGnIos z-d7yw5TqTT`}ef#H{I1kAKWp*%$cU6yj*|{igxVBmP12x0HTF(9s(-e;OJ<*hK#HX zyM)h&UV{d1C#Q(Xsh^1@Cq}XW8f8jzrZmwFPrSj17~c!23>W^O%5DwpC(YGDUJ}8i z{?`@fs@8)$LoIU8cAS%S={(6RpfQOUnbAZ-LBUBuF|ozT;~|{SW;0p3fgW65TZ`t` zSO*n}LM*4Kk+KGqhJc>M%-T4Plg5a~Q)03@5r;kT=d#oR47E>jd9*9i(ukmPRyJ3l z>4w05>&nOSH__H`OdL%VSiFuw!;&t8xS3h-M6q~4V;mlve$%>rV|cjKmFLfe<+GYx z>bM-CJG^b@4By;v_fd2Ga*7>)0BrX2C%C>a&}}a$m_Joo0V;xP-=a2$X!79vQD3CdMKy~p)qRV-QU$(7)4VRRJRZ34vB8rOC%`AE~O!qxR>i*aD54DPet^4aP&K#uf zvdP8k)zWF9zgD95ItkWG9@G+@Rp(0RWq(GNxS zQf5tumA`c2%CW41%p{<$q(qYk8~9NwLF)~bSPQfSU0dJ}1!MP7MCAiIbL1ty16BaQ z0Z6Jpxb|7iwCDtv(o#VL630=}=79-;If4aI0pg3D|9JE>#Uj`u$2pWE4ja*|2K5|9 z5V*iXpu{D>K7S%7NGd{J-XcduhxK#7+#N0Egs+>H>q`0u8lz7fux<+|nyg0x^ zJ(w1QcnHnma3LXGBsQeRTN{v4Qq0Oszy^g08)R7&kP4YNej(}X$4z^?oBoTE+ULim zAZZAZfSJK!2w*wx(7)iIq+`Fp%+05dh~>xeeu4$o^3kBmpdJD?u}UOBuX1Z&3V5q1 z7&#>ZB*QSMh#+60xBn6FDq~@FS^f?fv;6t|2G$dUio`xqw+PI#Mvws(U|BG}fPzPY z=UcWItC^Pz4Q@i<31 z=LHxpA2#I+4)f?2Lb}{mJbW>BngO(zRs?HgPrbAgP8CYLBrKZE&W+|(`US>d6rpI+ z@pwAM%1xFyLDX;y0qTA$)`%}vEj{AW%RlGfZVf*PfcqV~G{eWB&t(;}J6%ze1QM{S zsLbEv4d=j!vJhjKAays}4xuv+JAxRxNUt&(eEGOdLdE5$wtfPZF!7-aT~#$w0YZ?P zkfa+x8S;-q`?+HV%#m$R(D;(*X3&9XQL^b>rj$itNW@_?GQMc|v%Pw@F=Q~rcG%v~ zEghXVwk2tb#h3c9T|Ia#@k-T!z-11fFSzIE zWrL)sMKM^~)2TF8&$HnS?^e7A{TRU;;p!=OAaNoILn51PAGxR~0fUYanALIF@G1IZ z;Fo`$zi+Q>3IpgtQ&MX*Eu&W$Dxrlfyq|AK$Jgsygb3u%_iWz`oKwo++b0OYh+z9J zey?yIziWZ%r_`hz?v^536}NyS2gKB{%}8UHyOt82*D0>s1ed%<=KasM9OQud5g_gt z?VJzAH>ss^4w^0{Qi>X`%tiM9@H;|HkTD>+>0%}vR3Zc!V@B2y3;Jh z^`?+M&MJtVDE<~OOn#ZRidJRcwuK0@PbPWfBiUSs(KbHRISd&*&#yjg!o^63O10d% z)I2uGUhA|CQ)V!9jxquMYkOlqEGKkD8avW+!=5lzeBcoY#zoU|O6Pj~I=&As--q=W}|KSM2xdm_VR?~omN z)nU}p2Jd+Bd}46?#<7nH!#cL5mL&ZxtFWc_&&p^F)&aw(9R3Ek%o>G^8D;)&Z9^Ns zzw!d;TNsj=uygL*vKVEQ7c%U{UmjVUOD5$+iB+6E5glB9Ym_=6x?ov<_kR55(Ae~F zN%EQ!ybUOt@eNo>_wv$&;)nqhRY<}GuWL%7&)mQBva&|Ta@Hz@fEF|6d4E0)`$`Ai zHpX1p)?n$=KEi+V!9LF@=b{=6cew;0%$R>edkpVcK_}F948U>Pcx-CkHBArZOU^5WR4URk)v`Pn`CAH>Cyzsy`w0U6*$n#?|62E2`igT@UHDYafX&cegp46g*s$I)v+=@@iB6D>bLXU*EpHC$8O<2-LUVA zHtcQ|AU)LMHXoDg8U~r$#hDKJzZ!_S)d*HnMn(H#1@{lcZ5Ic6lT=*BP%hx!ynr*aM1ECeGMYPNc$Fv?E4{_-E=N zV^7@S8Fc0sLYebm zNAlci>`un?2OIlu!KZ+d=@b~#(%H*9*)Ut&xjZTI;An;0k(c$h!@-`oH^))Z?>Vy@ zfwgkyLUR^=%&!mk#UXgW=t@4uKwsi*05-f*`ELDe8Z7w+tQoBv_=e{hCczaa3G9_R zD(lQ8+-AcQ-{<3z(=_$tHMvM0HNS^ysIm*R-)sj)+6?bVWs+<3#|iWoV=T{xlB8g% z5RJx_lZF_<$`)4x`-k1bA5i(7uUZ3GE3XVp*-Lv>MjzU=W(kCI^KITV%?j<&18;jz z-xw=;pmf)4-u|z#+XHB-Er_Gu)czTvnQe}+jN^;Q=ftY^P8gA zp*->-zGRnAm6rU-lLA3?_{be#NO3{COh0D!ZD8GF&fG}WIQminw~C-M-LUKzDYwJ6~K2-*IJs1;lg|rO$}3NkibG zGcwL*f8?g;&0mrfM7sUU89FZ4v(akqB78*ahIatWA#iH|6fUpgHxF|cMj_B_a{|Px zk1M8o5(r6-{doBH_rlRRcgzCyL+#Y#$!VtB5mh6MOBmhy#DXRhXOVukmcFa z%$kBnZ{X0*y^j;?#Fx^LcH{a*s`JX{wd}no1K;Onu<(tjRHT@_{-vVmj3U!gTW63} z-p1_+L(vdFZ^j#^1g0c$-V@IthIhs#01ZB+eO4cCnWM+u9YOROz)u``o5UMi%bjF> zKk>-w>u_s5PtV`QLCk>Ot5wSeb$YEVPLj>MGlje@LmPAsy-7a~I{G%AKsJY~%Kgi~5)W#FzJQU%gyY z$kCwB%HDnDQqdMvS0w%}DJZ}v4i?Csu~TQyB=hU7UtuDy2Sw1a`zh@Zt|%D$wJ85y z+0(35fG@TNhbpAfH;q+iEY?z7I}%OGhc ze{UvAkBr2F6Ye;F_Nx$h1UhEw3=Jlfs?z_=;WL+f|mN|gs=M(JAORr2RANxYr zO3k&oed{_q<J^XQhhjAciNp# zZq-r&@_ftnV-I`gr|h>^&cKzLEm&WsBUqPztrNU9Vtm=x2FwZ`j^mpwtldK?{st z8-Q(7u6aPah(GOkwz>J3nqp21i;9|BS>YuFh2m8st#+UI^%7Tl36BQZyAKO3(~*69 z&n58!hGVagCt!nomIUUEzUn3&>=_8&ATHt_CgtIB56=(EXCejYv(Tn;)))%t<-pu z@{=pfUC!4u)u#bc0G*7;LPK8I!$T6FhD{W^HSy@xe5#jJc|!CI5ZrsK7QvyTD~oJf zNK6p7er5CgRqps)HC^o)gGR8&?7q>p86GNS^weB}#c9>z?KEO3FrlERn3kD| zSOx)Jd8HUC^I2;TQT>e_C?fI34pi!K76y-aqsKVW;EtC`?VRq)XN(hFSgev5|N8vE8FZ1sJRv1qN zaE$H+^O#_xFE|Ja2-y1GVKAtm3`9vuNs`;ng8#XDkS=z0j>gO6_2bCXd7qIgllRMg zG60j)OX+5aMJSr0K}V;1X8@5X0%e{3>tKVEXHdu3r7{93k4fOiFjSKN1TR7u(p@r) zPuOz>%(a)vjuj3#5iu!%F3K+BqnfB22=Pu*l9(2B7eX=|r^ZvO)N>i-H0LBhy2Ign zzKS@*3<&Sc5jPU~AIXSh8i1ptQ+k8-eh;cP9^(YMsiJ}72mY6?cmF%%&w*{%mO7B% znvWm!8|KRxA<7Gf+U5MG z5_w3ZA6;8?Jy=~)esW8$jQ`gBO6T`Xqto7=lO#v^IwI9u$8uVXVKh3 zx9k9A`6*1{$7V6Y;rE0Dl(nKaYw00*bKmHLLqo%6PD)Bf7T`qc6*>+N2V^_i3{*0A z5B~5B2#5CnPo5b}n1&Y~@W3UeP?qMqvyKE9XPq!`mCsltC14_R~```Xu2mq5;(!xm~{J)dgX_BNW3+om4JMJP^1Rkd8VMNPUW zytTCzXwmmCbO2S5*t3DbK?Z8-SVD9cCa?(<9V9Gz0Ms5RE*u_=%>PuSSz`tO&w-jV z*W+ozvFg4!061d?}8mkX9q3R zP~G@ljpnANO}EG=^bN~-zCkRh+-|2pA7Z_t2_TGm-wuzBed2aK-W^Gw*#-bQ zy5pop*}lzh4zjE3;{*Kv)&jb%>aeh|Qbv9SLPQ*YL!l^;`0hs-brKmVgUW`uYx&*i zJ7U%s!!BvYwrRl8{a)zsdp&8e&aB!Tem!&f`yC9xWSj#K7BY3$ z(`Aq9k33&5_r^L->X!nUffayj4gKNvU(04>ZP-L12<^VS zgr~f654e<-!!`%1y1@1!c_n}vkO3umufB1+1lvq*>a`W9-7T%XP$sCSAmg(kQ1z(;q%CoIiP)NPlmIA1G(b}%gace{%*@!l zp@6T1@bK`U{7J*aG-1JF)M+rjCGQ@Uwshb;WSI+)P7UXN&x(|>0+%&KQlTzc1hD>w z7Znx37uIadR~u8wXGNX`F2fzY0GOn~@(*Iqfc~qAYZw3Rvg0 zV2rQp0m#7!xTIr0V`D#zoS*l7T65oude4LKw|~beAP)?b07nV48f+{qLLPUE+taqY z?vL$86l?%dz<~XjfEOfG7YIN)pj-r`r2In(Y#Y4xMl*r$Fessc*`AHUXBXn?2TKK` zrll3~E!iTcP_R0aA*a2os4OjA1e{KT?MfcT1)w97q15zI2ahp$tcY}PEa}+bpgcit z#HS=_Kv@G>u>OD8Obcb4r~(`n5QQLC`%YXLHUE&av#YaMM#nGNcpfh|IUP(ElJZeA zFo+ppG3aP$Xi(#U`!+Q=Z2jXDFD@;e^v!ZPn%&SqWmQoAwp1@Gl180bPYJ{v-B$N% zVsiIL(%>h6_5g(CQkN+}$)>7}`*wzskFFnxcs(IFV1FL~!E2OrF9V?Dh5Z^*bWC>; z6&39T=7mPUL6OU{TlixN1Y(Xb3k%ttOhDJACzuc*xbWOEzzB;5FN!?ka>+X@FREy zqKT+(q7E~jLkbGf82BKmOue+bd=BLOPPIcmpbQ%$FdElK=sgn(EK#`fyza}&hQ%OA zq?~p9OI31-btWfNWCZ>~EQ4RtF&l{tnv?(A>lHEO@8OeSS51HR?6E|C_MCt!bjVD? zcJJwLT4ETz;e3kQN=a}E5;O6eH?ojL>3afFSznp=*D zi9Nc827M2l^GoC>7OQ=sBTP?Tb>do(KN{dzrJ@nGP4H4L@s3$V808v<_>w=s@U@3- zTA=HzkVuxrhr4jIK^zCkGa-qok8z&AI!{w~M!O+)gSEw;D-Z6VquXQZ?eydnZ!71b zhjzW*=Sv1mm#deRm9^6o>Z*B`4J_CdBnmUrxnIKM;WC!Nzr|TfIfC~ZJBm^mNE*Xxt2HRSeRACCjq|ypo=0SIf1p6o z2jfWDU4R;su;DHqVP-~e41DV_gLOSTJ&*lN9&bHsXXwDnf{w~|NhFx+EdRFK;Vh;l zWjo1L4|DQSmz>-550+HvE@oagTN7HMSCfA2oi+PKXXw!-7Sk;h1yFI%X^9_7d@FnGV5;7|3CrN;X zKBxIy5H*?Lm1;_q2!@@a46`J7pq^nznS4tf4qID`X1cbA63-zdhVD(nGXf?1vfiZI z{|t22=ZDMjaTL9GbhB|BtEG%|xi7NTQX>ZmydzwB@lt1?M<)_5Op`r}TW-X1U-Ey7 z>dF&5+-U6g#bWU2rMxL^Us!9%8K z>b6%^u}%r@Q|1TOCb+FkyP?D~d12X@ZL$88Hqq4t9ifhdycS1|A#blaC>R3V?wFYPpEzO{QnR73Yq^qUd1G?WYm5m<|j z7U=KGX)i#=PQZ#qA?d=jJLDN=L`{jAO%z3$6+5<;{`avrRY1H{Jn!%=avknT( zL@wfFfkkv~C5eoQhe9_|8I4xrS&#kXo01!@E0C;mC6LKJvwX7h*&tMt?xKjm%_zhX z`+C1s0uwV2(@csM{@Ji6y42Jt{nb6k-~2dbcDVBRQ?V7jJPH`V^@w#r^=rF7n7Bqp~_ztuPlPg?`5s~lCulv z>*_Z6-H$AuQxNQ9eq)G2_~hqSrbXF=YM;T(#@^kF$ie4DLb7Gd>6B8z-X%)O8O|=c z#!Nw{B*9W1cDl#PI|O%@n3rEx%0CP`)6*?CqK%(ySEsK21Z^+xo>d6h zfCnUk2%}qtTn;Gc72rvzyf};HUH@#sFdHD#T9Q6#omrtEwpC@FkHOs6EuFfGI{clj zKyGu2&h=I3HPfK8*&aJ-(+0{r={BolYqo3mI=3>68}Vr(RtUdNzpxq8QVb5Fbwr*& znA?V!9SL@%CsaS;E3{k6FEIO^*__$=5K~bF!s)83(fXLUgUJR5UL2v`nM6bw-DduK zlFlL7{Cy7Ehs1gp2cul5%5OOKN`f4?&}e7z z$8VrReTKxIzK?HBAi{ET^5d)rb2gj3=V<4{;#Rs8ZRO-z4pc{LKf;-%LC#X0RzjN} z0=35sB0KxkO5Mqd_(C*XBQ#p$Rdd>NzJ^uXKBh#tFBqb~>83cjd0TgVJ5cWCAR<>S zt9_lPMOB&Zd^^XV%@4~h7!kH*(7cm!Fjd7ozxuQP4>#rmA0f}9-At*7igz;K3Y!ti4Elh?{QzxGYeCFHQ(a~ALJlBbrXz>pes7%@E-r`98%=(*ML6948 z7G_msFww5$Q$*i{^`I^e>$zBqwL7kaso<=iJi1i#UKYviuZ}LR&tXKp|$UdiW#R$lrs~p??`@?RBB)Oa{`Y;KVC^px*L1GyjJ*k zA6ezEXyp>-L;3KAPXxB;XQ>$_jXThNCET9AINs1cD~uJj9KtcHa54|ise zjWDK=@_x=cgtmk?)hMHAj@^PaLZs-uR$MaX6#Pud~ z(U+{Nyktq0ydC(m`&rnx_l^;IaiobvhNh#sKR?HO6PjWpH?HKwHD0sTn$6GV5B{k$ z@9^6Ll2%^7WMOjfw$VxwqlxWfPUeUJ3ApYUJUbcw8|9EtPeq0MG3I`O&PcXyf`J?~8M8MxEZGbY5# z{MAuRSc@K2gV(in+o8o;wy{D%@6f;<`_>-Oj{HKuIWw=;JwKtXFL(V^ug+^9FZOlp zL>H`}IWk7C0Jt+X7~LoqOwuDhBT@Itq??F8c+8%^@F(4)yAj`wE3ZAqT1f79)iJ;% zaoD6FX`PrFT+Hk{%Xg*nn5uMeoK`MbNR(y>K5|QUz)yl^tWsdGggdX&&AXWN)Ej@G zyFoy$uCTRi_2;RxT#5I!$3>E;{iI)=2hwe?k2dt&xqqXb3c*@-IZtFwzF1ZLSehS~ zE79jet8429X=Clw_gG=`r~YO_Pg`;+RU#+Dp6EqHcr{~ri)5QMw)X@ZtmLF=5FY&T zp)h3Lo!6T;rSsK=N(ZA^~ejvKgYeOkzd{a_-U*FG}jYG;j7KvCgN9VfG7P z4CU@&+4f7eFxaOs&O|BW6UxiIZNpYHk0N49%B#4S6((FrdCou*w~b?D<<`d>IbkUE z_eyxZ!I9~!|3XiYIO~Y=R1^W-#64XidJq#=i<)3AB*ho2$Hv`LE7>c3su5QA`(*5f zyAe61?6zCwg`y#P_-)FFF=WNK&+XOnR~1F;`j3N8RL8r3*{=VT*&Lm3Et{A=2vbNqXI>!)&sxJ_HFK5!hpF(I(i@|NpOV9te+^q9;@JZ{80{3xojkd9{lLJ zqC}h@A&L0Y-#f?Rvf?eDn?yrBH8Cf#M^nMN{Pw-?eZ19FMcZ||_y#xO)dwfyct6hp z0a+zU3%3WjikVIP>~6E4xtoVcv#qMz?VkZdEF!%o8H7=8!PihV;$JCH*6H`rS~t); zu{Dznuq85y2Ue4AT9)5Pv~!XNF>B4Y9z@G zx~kNN9xI-bCpVl64|<=&fw+2ogvb^G7ad*8wM!J&a=`%3$s><&GQVr_MwcxJ8kLPU zg!{U@?iS2YuN&07zstItdC%%q%9!_U(&`%0a9Q(+zioYtd;y28r1s)hh@~K+rc;hAzln|p*G$(gP;8a~Ew?Jc; z8+t-375qv|7wu%B%}U}0Emy>3*cbA+tQnC|A`f&*v@MQL&XWG8BH!N$D|}>@N5)?4_r8#ch7J7`5&_>xGV*JAJ_WcIAZ^H zLwbSWJ47h{-m7T{WP*I2#?-$*KRk(;dZ_f~?O7<3(ZU12rFQq0a!MZggFATf+{<*8 zlqrd8SCnYEl-Dl!SMS6#)qeFvxuvrosN)S6k>8s=z2Ixz^^sqWyF4Ts$S$HYE$wX~ zp|VQs)n-*HS_=_EJX>cmXVUH4696Ef1raBgOcx2>y!C|cMS!U(s>W5CyQpsZjaNr# zrQuh3HPZPddrA^QVLBU;ZaJhgwD$cGOH5>Xf&v8C5NwdrL%f-<$P!ll7dn?Hj*vgn zt!$o-twpI#M^&pvED0_le+HXG?CK6)+lPb=3u_rv=vos_p{vK9V$6QOwlfqeQg=Qt zV2}DCIl)k&nr<-ymn=oYk9H=jDvTA{FO(1L`FkkB4E4|gkFs>bjQn74Z&Op<+HwP{UsfRLk zMB9&Sb44_g}slci%ELIu~vWFLyDpI5p8$})7CmI%c)LZmB5o;WhS9qeu$vm1- zV^Ms?WU-KuFn&kOwAoryH=T%;@RSj~*Yj~$f)Q0m@;HS)pSlBl0h*R|`&(@K!uQ)l zzay=A=26-|2z(_9y4#PW>5MKff&5`t6_hB-D=|eTsEWQVvY*h<$@xc1vS|PBf_U0{ z2#D4KoNUN9>GctSJee;k|H&eNA*b`m%E=K2+)%)@6XQ((d8c8g*Y4HN?^`otvRRhr z0DGiawKwg;NPqrG>iYHFP;5q|1RQ7bUU+O&ZEfwehB*KI?~zF05!fC!#RO#)l?Q+w z#ZmA|Fn)j&gD+h)b|isjqw6~|+a|GX5OVZb)N=qYha9TCF06qanCSI)oWH_x5FGpm zj?FFli*bq>N#Ab}C?E!S4KDzZ#H9EH%(Rew+G;ya+Yz`HN%d z-i?CKq@DOZRt$df$V+&SEOJpu`syQ|L8wV3?#wWhC&!@VBk<@I$x`PaxeQt6FD#jm z^G7PU6Qg?Jqdf$iy`F_dk=Ey!>7Jkfj2p~2JiPn4zi7p*rb<<`7*C!Z1=kujp#>B6 zumhqT!|tzGr$X9X!Qy|TftR13Vs^!wH?!&Cxpf4#<@;PwGA<2yT4rX&B>IISIqVf- z=3hr}+1T0HO+4Ok-1<IXQ(+?bIDXdQ&^N<{U z|Gwu-aXdIJi-4N!EiPV%L>i9{lfCyE6`lhTxDy26>(r}jsEx?!Hy1nwXl1*6eSO^o z69|?~FmSMNud5;YS{m&>FnSYYocVV{sFVmPpkQq|a|mQ2y~_(YpZW zP5c^>H8P^Ti~Ium9-2G{RHsYsCf|b>rJ4nIr{2l2zRQ=S^FS@a6T!;3VdjFMo&Aj4 z_$%j*E8|VepS0R}&9#1Cgp%I>>7=-fy^|M{9n2QSapFneG@tiXL>gQX-|l6o)RW z1M!QvZ$7|HE6Xeo!Wd5p;V$G~soD?7vUyE{%WBC*j1KuELguf`2QYB+Clta9@3R5d zfKzmgmjxD%>D^*O^+lVU{9<3WB#Y9Nv)&^gE!sVz^K9y7izJuzw-yXgQAlQL0R?cuRKfDha1Zi%a1FR>EsWT{c?JPmj(7LxvrV`*N<1D87YNw|G; zuPG+XOJp;5n$VBo)IaYE{X_@(Q)j47>*tQ>-zu)Gs97@*eS+BJjq&wt@GqrJ{qg(eVFgVWj{6#M1x2JojWuaZ&M$7mbah8^<^v5fJTaGnVQ4`Go@V6LOEz9-^;| zh>WK^Sn7CLS&3t&&IufTo+3Vziy*Z;na#J)L0c3y&PHwO8X9=7?A%q}fJ6vDmQQs~ z2FNeK5E;R$gJFyR+1qElMbv3&q&c^ow!OseI4>d&G93gm)ezbl4Tg6;w_PzYfButt zG!HFKr(|Zf*-u*X;WOQ?wfm4SmM6f)Wp|R!J<5 zYT77%7XDu>pvz}}wkFeL8u0H>uDsLBs}%@%=1~B_SIj zbfEXN=P&sFEWT99ZNI;iym6yfuO@>{DFLXhhmCF)GBOq~Z5IZk2*=;O8+t#M+3@j| zjVDCvsHu%X)?Cf}Zn9|kU@RA*U=F`5Zffm=mp&WiiEe)EToui(^F9-WGD3Gx#!hz) zMIARs%f>PeR(k)w6IN<-p7vkq337ty^xh{-J}#fi$3sxLvhTH6FK_c3yDdUI_>jC) zSF1A?0WDv|VVBCvv-EWH{oD@Eaog{hI|X-wASQ`|LRs|Cl<{J4^Udv?gW8*Rv)NXo zS-H6;OQxCc^JW7F`L8;>b|F5-{UjkFp&qh<_CFaQFRb?95##{IQor!pJ%LNkQh~3b zrlw;6<<|SF-#xg1q-10k*X*vuJb_}vF^0Tm1`#)6pGnK6=0}rgkezLav(XvwgOT3m zrQU$Vpmvl0I4!l+qsY;ZKp&XBhPTt|Jn}wIuo6OPnvBTQRO5)~C4eHF(c9&1+=Ohj z8xQfNlxi~g;{HvF>r}` zt<}z-+NdZfeD-E=qc1k?h@fS;F(XZswY$c$s}J(Eaq4 zLl04B(n7irLr%F#wR)QXD`;Q8?w{a=0Tibp%+h{n*X(I7>y>J{VIuONk%@yDw7jCs z%;U{#VBKD<=ESZD7&aCLwAD{3i_<6dSK!|*m&1Pa>!hY(6+gtc2znAdz19zR3s6d~ zjf7V#$Hl9`Q1v3=)T=fZ!b3p+0@OXzOsq_UQrD{|f5}KmYl)edo}65t!TQ>{NF#jx z`f;&46{x}Zo(Q`aPw$F=_-xIiZ@y}}T!#4T=kCkrR!PU*@dq#&dk)2r94xlJ&J!@} zS#oLHKkK|EAoApGveeNQ#*=nFoS37AHbCK_loYtaG2OX+sO;4pS1tF((Cd1?K9h_|IQ604D2$kAePl^eGCWu! zf^iLp+UtSE+5ZP9eYbmqbAQs2mx)&^Poh7e`?SqjvvV*o(p?{k#4GzG)8e&#NfarvJM`4e?1=ka z?$4Z*pj%jkk5=kU$Dgt-n09(WN(W{jK8U=QdjCq7hpo8$e9J*>c--X`EOR%PqoUxp zToFVYGb|P5KR1ys64D2j%OpZw4{pm3_WZ^UR6tMoF=aEhN*eM^UF9rW z(#%!n!Q+lf0k&ox{fFfOnY=qH8XAfr=(ZmZ&hbTUlxy_)*NUHC91MZ9%;*D3W{B1j zb*8C*>^FZL=3YsD%CU}}-0+amKj@cm;wSlyKrUtAnV!MC*d6pMyoZyG0c{J9q6$jl z*ZGdwZgF51#NPkHo<>lXkZ?c#eB<{EzC}$$-e`v5Sj92Ua!6(0;Bq3x_dx#HHbWz2!>r zy_e6QJ;O{4D@2z-J=z&OEzWXzxv(dOzKOO(A+ogP!Nn_*OK506i@xSr=L{2x;!NR4 zljLxI&}~a%H>*C)5Ou8XI|aNvZ)fw|#dmji-PA@uV$c)ay1_r9PfkwBg2#5lR981a z?Njxm_Uk52aL9eEFzfBv5O_uG8(QZrs)4*$j$&IXij3Rpqdf@gA9im;lkPBIukLaG zZGLxv#RH4y0rdL}HztmsYm8^teFoLh=9{N$i648cume#92km_f^cKRpb4ND*?CrZk zE=Uk?-B3EYqgo-Qe=RCj((kAba+k=SrrmK~DxKby%onT35ZfIhv-@+~^CbPvh|jk} zZAApAnoRxHFoU~Ts^AoM>8f&ullHCZ81RQIBBgR=Pz}U=4~&{GlEb4tu!v~+y1e=p zj&`QXK;97U_GVPM;jt;CCv^K;M8DA~_mU{LQgL_#b0Zm9-Kbp2B>diMFsXO@pARe_ zEO$}S*2rD9`b(N|LU~~~Li8b~aPYoF1dqIDfH8I0p!@Sg)5cAxs>;fZcxB0(A773D z#qPu;fq(g-@==&*&A7nftZDXo6>wh!2u>UuzdU zZ$DaUboni|X#o`k`W?=HXFw6}^(t}#c@>rG#YFbM=f#Fl)OTP&XpysQd{-d#WOi>B z9z)J*dChG#aBA*X*!RKj4c*>^1=uF!9;1q;%+gvQoj}#~Jm*Rd^Y6I2x@ze8Lwo)w zyQZP~$8BgRNJ;rTDOB<=r5TDwS-?I^1DZiPC)ZdiLT5RmUjRh`~PQuzolei^TP&V zT7rw2T|&*8Kx-EpcqgTd68VGQjp@_kCoiMubUe9Y;DKMoDU4y1iqhfl?15^AS%5iXbKT5B=rDbspJxc|bze-x4 z9|VqI!YsHViONM3E(g=!s;<8NfP^t$MnnY0x7C4^&a%P!!Ol;QS|Ky$qeIOsk1Pl4 zZtSBpN43)B-A(IM8M01$Wz`oGgK{`51j-K{(C~RVI`Z%}$IuH-L0tQrH*fk|PfF7B z-O_X+G^64b$UK;FwGnRh_AtHz^Db_*);KZXgvPdDpMky(B1Aqs+T^&0{<0eP%|!;i za3WY~SDnIgLcfD`Q&|r6uM|G$!qXh{*+iC$@VWamU_%BkMezOZX!%=`MI2QRQ=~=c zMAWUdBG&nFZp*jWPZo2iWdPDE8HNFyt0v)a<;hG2HO=?;;vanXk$Py4E!B=dNSlK$ zFP8Z+pxhu(LfF2ePQ3iK-1P&1{a5FUPJlNEC_7_tr}veq#3-8Ytky@bd5O?hCY4y6 zyBTGU+1$=4!gBl5_beEHitJHZbKZnF*2Gq^Jx-WblnE_?#|9hZtG* zT_G4Ts53?iIDwgdfG}nL3n^^if=Dv zzuxxq4^vN5Oi+A(kD9({(;&g~@$X+}pgzaKcvNR>_wM;IETxGrSF^RJ+1GNsz^9rARqStn<^iREeoQKib57tj!a+9O(D9H0 zwVhsohgM8-@o6c8QL{NR=%99NA_ls|Cy+c0C|3&-f|3mDA(A)>`Q?3eam=Qals0d^nBK5sxg7HQ~X`BMNXcaaA>h3a`H~Ri9HX}S z_~LY0b88O5|0u*^{|%l(RG6aj>%ksfcKyN!H@KuG40hnI1Ccn<;z|#13 zydKL%e8wbb-Usn%3iRPKvIKn+FzJ)_Kbt%JFBYIk70Er1%{>lW2Ms31R)h`Wmi1#9 zQRFrGj)YM6s%y+UK*?-OA0IUeIe2V$Fa^f@R@nhf{OeGWciZMI`6w0jpA(4H##KEA z8-lDw(JkS?iz7(YrX)J({d0DsgW`aFh)OF40N#k&z^_dsjKLQcGRmi^R)j6z3P5+9 zSkqnMX=+%fZ$`4Rx{I4qYK}Wz$|W| zF}?*?4;8;|@6FpMk17vA7=5GX!g58uQE#GJuuo9oB2NFV3E`1ppJ~ydu=QvP9DKyr zv{*pHzXw9WRnxwC5WMwWF&`#H)0sh{AAJ$QC?++viEeA1MOmcY{0zfGBDWIy%;OtJ^tixy0@XM%l!2DVEy& z>dk+kV=c`n*ZPV$&Dt9!@y@h0Pw^0uEmSZ+b8>km$DwWQ_!w7V;B6iBDbg4@TGo&r zUwJ`Y#C(%EVg$cmp4xy<+Igc$5=sP=39Bo`iG<^2f?l+lr$?K!%@ZfZEpyQXY59FB zc$Du&$;lyzW#WXY{IvlQYjMM5C_OFM{YJRLCiZCg*aEfm&gM&t9G}Z!ZJM`&Tu8?Z zWMFZ5)ed0 z{nro=gTBALW8od^|A4#c(e5t|sR?Fyd-DUp2x&dMwTye@*L^yrX1@*&jT_6I-d)GT zbhC`qs3EF;tD)G$f26}5fN62j!omg~;1U1G;oN@TBr6^UEoBx}nx-YobVwSkcjrYRSA#0p2TG zIwuRN^oG)&hpF>S=R?LXU8`-vl=a=`Mi`5*AEOn%lym-AhNnhmLJQ2hxVh}4dY0_8 zTEocm6l%j{b+{(=+8Xq1MlQ0ENk-Il&WOV`?t0M!poW6nE+7(>K&J_G%f078fR3)w zJ%MryL}6VL?%{0BJgCgq*bTwDwb&08n}^=)h{;}M57h0Kz?l!6C2IYGN!p;+FjUQ6 z)a`JoLu=%SrcV5-Yq!OBk`=rT2GxXWNX%YrhA?tvFf(tP1Q3FzLk`v`+aP2tjUU)B8 zwjd&fF2Hco`+Gh9#%lMFBxt>Ja6D!2#T&fD>fJi;SAMIqxLVl}7$~-+w-O3a&uxC5Y^f!O*cop)94l`;cwOYeH4?nV=fI9kc!ce?5m(=5y(bw{T4K zgpU1!o^{HDIgLOkt}BJ#;5pM56n<>h%Fr5R{zw~cqSB7-58r^lmW}uZZ55MTQD8Z7b=pLyvFrJTQSfgA;5JZ zcI*T~qD3Q>66NX$vceNfhcE0xF2;`51}8TuWWr2j$!Nx1q?(wzry}wPv&6l=5Dx@& z?4c2&qgslxi1i0qmi-J=3|YAZwE=RaWuSqBA#$BzO1a{z2PQlroag~SP5xh7 z?<_x4k$TtbOUgfJQWKOA7_pq%R0MpoNI1ix5BZw@m(|fnvmfCDFc%@u)uw$_{$4E?qJ$4cL9d}st z2n=hNDJ(DM;u^$?H=INqhGE1bDe6jeSmOy#nX-DFmp9x2E>p81U;pBKU*9j-Y6(G= z#c%Qd+GKH9 z2S|2MnOtVS14zDyz86PZ1|&8UzoNNN{)7N?r2H5yd)RaaQz6_3X;fo3Dtw(_9|T_E zfpb>QR( z;ZffZK$DyN&$W-0fMrQIZ;b2o+aTwy^mXJ@lzKFgp9)8a#I8zMId$-Fr>6XK@N+dM zOiD-Rkr7}|p{NnnxVC*tW&il6kkFOZSBCYPT?BhXit@Ub7)TJ(o<1#E4$@>3>{P~2 zi->TLs)mm}RsNrRq!Z^Aq4YExafjE`fImn*%g~VwT6x z8P7;dE1n-Qn8k~aXJ@f+`{uOJi+q@WTP;a%!gpmRHhH}$R3OjYg#Hczi8hb|HFY z2Um@h!*Y_uW3pHQIX}V7H8eQ{g%h?Db-^m42R@ur$^d$RhzI16cg*`jNZ1r(j{MGM z4cuk&N2*ey45>O zmlySWfy@VN&krI{RcUPa|BIz)raVVCc4{)*q@$&CR1NR@a^_EM%1)|M=M?t3+?|Tu ze`sL(e?ve_GwZKFWn>;Ff7N6$7!}Rv&n+cocF9r@{L2CM3tL3N+1c&<={Cvjc7GR_ z!%~%}51;%#GxC-0KnfEhhF}IR06R`0mfPPAroR_Zv=u5bl$}?j*%x7V@&}lVA8AD| zf!6^F=oR>;P>DlP60YB+$AKP)&`V^k6`=zjS>1lM8S}1)XY>u#4HC$eL5h z{<{f8H09`573>y*_wYCpzflOyPoY--_HU&1KT_y^8WIVYAU~3;Bn-y zGq6G*kH72GYVi9qQ3P0liGUe6P*{I~atXHApe`f@91~}HAMw(xs*)42WV>eH;`P%;|?LVeH{|zPzs{1SynJ1fq?jSY-N$_AqjQy5gTs zMilt1$4=1$3!~16^E9iV;O|GPWUzV$gMSxkX9oo%<&B4YZI+N4)3m4OX3M`!>eOwi z#c*2=D=XYY_A{%McDa@;gfj@wl@QN*P`xc|fCb*F=u9Flp-iO8_5FD5tO)F{2u6vo zd~G1FJdNeb4|(3lg|Px(2aIqrm!)?9Z|lGz^$%Xn=xEBYt#^Vn9;tU|8`$^-H!xCw zXLtb<1cXlr;K&DBPQT$Qz?X4@2m}d6*!6~LjnJ>|W=`dbxnTktYZ1Elv9i&pNO9zq zko*h4qdnh?R(vj<^H;d_M7cCXH2uu*`Q7hGJVsj~<~@uw3{pP2T84@kK5x^nS1L?K z$;`s>eyz6zGER<{4i{Ul)g{3^j3v_B+&+QP;)CJ{^{iMmK_0#KMz;D3vBQZX^y**< z=}LNZCQRqh572YXj5Q)EF9X}&zFfN=@$nS^Y(aPW-wj%!s-akfHh@`8v5PWM`#LQ< z>>ccX%Abx$u8(cY_!+b40=>}Ie6j53M=YVHYCm`6D?GKRUQ4YuKuDt&mJvRQ zO?X|b1>19KTC-Zg{R>|Ws(kjPY_0tJ63Tw$Yn#&EfwgF*`1eHe#V#lUKj15r2@JBd zL6(HX@O?zYy;a^cWz>C+?k!dca~+cIFgXowMe;GfjERU4%c%O_kh1^?y!uD0UbT&z za+jzS8s^5lHKC78*IekF?IcV1~PaB3HA2FGi$RgF{>&5K2y=9pcnIyww+V`Fi?BCP@<9 z*4OGUK0NuO!!5M12AUECrOnt4LGZ3$l!1zhOiBuo*~AHJN$DpiLMoF{MPO?hto7Jg zU$d^8l}hmcY;RD;cWRTM?t7&4%MT4h7v zimK|iF`Nh|fBlb5<2IK_x6l>L78Z$nB6EY4&Q>TC8tHMkp*#qMMwAaafPrY&Tx1)Y zQ2A4}`hbMh2+Lt?1lOozZvO5qWMjgi7(_d7;K^3;)i2D;`Ux7eC~hA%Em0?4jlno z1M%0CreWx*rhH=@#+SltUTrfxUbnTqv%;4)cA_H98q`ImxOtQK?bB6bVz*i5uFZ|2 zNFXZI-h2fAZi{~!E}_XB?Cfj)%38uu8G+5{hoU(O)q`_hTEChQ|FL&VZBdBR>>YQ# zIVB1=5f;3v<(pLuEAJIO9vrx#L}%0z92Lfy_t7}!QC1($0^|0~jqWz6gzEJk$wIpOrgC%yzxTi(z$FaZU!(&8KyO9-=opu66HvTba+3ib^ z)-u?7w3pI>ijGy-dG+nd-+22&D4X{^|76__`nBqYSk~Go=|8Z$0{!!~zvnTJ#!2+PpqH8}4UnjM~Yo&lCF1}RVO%W(fu@^eY#LWf|d_06G3K`YxY*zI=dITD`r zHfNT{Tt0#(RkrqCo)|@MrV+zSH?)!%Gyh$VFVvgiojs6{fy3VWKk+dC<^zma?upck zXRkjRC)sTS2w5O#fo6RS_#)>{LIV|Yi12={_n)o?z`+kmbax2(B`zLm*A0$V1+5T| z(*mVO{}RAgIXOJb>2IkA(52MgO`?UMr1z_Kx7;t(?<}7J33R$YPh_lDaT8x^@rQ`8 z!0Ch>ktCSuX?IvcGO4$jUKk|lz)oK}i*GITey=GE`b1djQ?s-E0Vo{{cH8Uji+cqi zuQG)RRZJ};v*1xG5KiFWlcI-<0q<9e?HlU9@}pVs>BWMHTR&!_o;~qKu+yK_$#f+w z))h#V5emF;TTw^ad#1ua$#afuM`FU3vkyS;h4F>iD7=8a*P?^*b+mY-9b+;oA1hx| zB}pTG3WSQJL6b(oL!3d)f*V2Ih-JwU_>DKt17tqj{VHVI*hI2)5nOwSs~PsGtrCxG`wCU>zt z_V|*55g_}hDD9clpgC7J=NYS6Bysv{1>W^wCRs*KPjFF`4EcWj7`mgS=7x6(nlB@( z78uNxbtj*tW84u{R8{@$Q!k*!GN73xHs+drpImAQzwywXC^jaopdh*YAz;_x{;jJV zQG@6&?nIE_c`uh>`0`w~_vcD0QynoUI^$pG67}U6rkN7c_{%f8 ztx8OGYJCY|;b~V%ylYux+n;hA!_Zz+SgeL0*b!6vjq>pFCW~%AH)?z95n3wu0DG2k z;ALjLmM0nFX1+jWoV|RW%JbF7Dal^ll4{J@LDBQ7TIzMiZGF2mFuxG7Gp@QStjS4`kf!k@=w0B$sDA?%~SflMX^2gUf>kF;6G#7{T* zge(AmK`npcjBMVN*!;#gVl{@-02t4W5z`wlHA51_?H6ADFTlkFT1LYN znS1!7^qrlZJFcHitkApvpMO>{pMr$EzR zB7cPWUl4P#LWgXrtvDgx$3=jpk&CUQCIhD1<5Ar5|BLrrdoK2J;g#!34;YFJ&wqlH z5E=}K=!qL`e1mM=SpS7nPQKnahBa9ru>Jb=tNkabuI2p9%;=g`qtwLfNc@Px|9=8e zP15IoeZ}(JTF36l#*T(QW!p2;*S8g1SnFUzXM54bl5o!wS|s4 z9%a0OA|9=yvNarZfMUVQB;-$d2o^n%smFc06n9YwpU33CUmn6#AB?$=hj13@Ao~X= zl6Y$lLLLedTOjdI34HWAGh4WcsORr*!I3<;BG*1bl@MrT9731UW3WRpkGOX4+i#Gxg=@C9=bY4Mn-yiHcf`+gA?SGH&Hot7Bx)nh>AWyAe0_+x+yCE zLl2Yg10ZJJG&MCfQA$aGk^7f}gTsEJ0x;aDkSu0y+OSZ#dpu@Pi2?yB3%rvSgFdmX zXv`EEV%WK#h08-uu!sb4=@t5LiN+$LS_0+L&Z#)$iCRWbrlNeL=+E5d+wOOqr1$g;h+D%uyEb#rMKWKHm$sjA|I{qUG6 zh~cujp1Lb@GVxx~gh?gx&AZW2;?(dg>4E4qTv=r@E(ll@7S`dOQ$}E!3!V8(-X&3u zNq=L_i4n4fdmtzwgX8dabo*9zqfi7>>f^X#y!+fb*Fa#O8ccHg9R}(3FAjjuKR^zH zvD|kPQWn28Xfq#(;a3c<^~r)V3Wvg0_8(A=jFwd=Go)=_->MuKw&9DkypCGSIrYs; ztZWt^)fO$5?<jAq>Su=a z^;Z>*;Z%e#H*zL|Gf?<#DF3+vRKRYX5}L-e+yU zeu0T6UK=wkJLv2CxVSiv-)(S|Jpu9pcr5C;H4~R2dhaREx6=}=*gd*Nu7a9v6)4P* zb+>l8yoh6`HuAg2iXFT^W2YN@DnPjz)<^ZvVJf+pJBQ9HCV$9Zl(nFx6+lZk(V zIuHbG#iE|oT12&-2qkw__EjI4ae_=n&{G6kd6Wbt?6QS*v5G*EM56*LCOw`&LwEG> zH&|3bP>6f|nhhz9YPK0#fE&(V*oP1&0D&oNLd+l$_wL<;p-WKQ??FmZ#CDjuY#XE@ zFj%ZZB}N(he$vx|GiHgDpy&V8O^5hR-+3R5fHRGM25srLQ4pvd&L9?K#%_TW0n*Iv zlXEb2xj7{1j@=@oJa6P?DXX9ykZCrf?2=5sl=lLxnG(H@M)Xx?|M>kKr66-4O@GQBYNr%#{y5BU|M`zRFxAiOY@ zqAd9-J0cCfB=t2ZB5Q?%&EL{&Y_tD&!LqyP|G_Cn`SMEOAP!^3=g(^PE)uC=Pynjm z1SprJK1~Ayx1q(3zEFpfX2)D4W2_W^X5=ku~0_e+FxMVn=E`FZ7~7#v_q(K*!aBO zW1<+RzUY_^ZO}Rf>2NbF5ls)>CTeeQ4_IW5kcn71M*9#ZhA25}B)HPN1Nw)Xfyu?m z?~A#?`VV+8beBL%dPn5J^Lfhahbx!6x@G1gJeMbGM1SN#KN^|?1@D|)K+>)hpyvV? z)_vIdI4*+~>$ej*D+5G9DbwCTZ<7^ws@;9z?W2B7I1!%99};F#hS94?ozg>&&`;1k zc`^xo%n@JgC%+nSYhRbn@U=X}2Mg0QK;kf>Wql{nOreP=hIQAcje&A|t4V7RS!~G} zV@(b_Y~b;MgX|b8d@fGTn>%f6s2(#WSIrUY@s#8Yl@2eVuMsM+dgsP|Kk707m*h7% z>ba#PSe8HX1*P1lrdE~8^N_p|Ev(cU@gV*$g4xRmoE4@8z}O6EyU}@Bq=DkHLCGA5 z!hVVFV54&k27D4@Hj;|rzN5I&AvCj52aqA*SwF;12hymGRMItYd~h9zDa71APMl!8n%1t2*&0u$IKXrReC zKhETyCin(;OwDuxD*pNpnmQ<7PiAc|A+1y~H|IEK8WRN;BMWya^kTl)j%aOwk{_^& zGK=af?c?qjxvm>l;mrs2dck)^QVcuE91zDYb+L#-b_}3=wJ`*h*cKH2Y$fuvPD(Lb zF;`sTt|1i*KStS1!-r7#2pfic0N6*<>t;GSH4%yCp44Z9Fj@vdrR&5Y{IIMdG>Obv zgjWTgk{pof6;{QguDic_8ZZsfLDJ%5Pho-^pO3-TonddEmDLz}WNKxD9e(uE- z=a->af`3+oye`ANOa|Xu5!06%{a_a4;1(hNcSd1M?8rUq8?$a0%a{{zhg36Qs7IcG zXCi3+jkKW!qBpW8*fHv$lgoNgKHC&MEfLy9@|9p+#PuT<*ENIAI0;dk!;!I91rE2m z?;8mzs*A%H7hDtxozOgSm<0!l^a?|jyzvKGp{>;;k3^`<35i?5Fp}Zz?Is_OYC-%d zkhKiQ@PKZbB{sgdZ`sEIQB_=j;&4GpN$}9Y`gr(Kd;y5j4c`!Cj3u$_k3(srNTxyx z6#HhN?*Y!Ib4=N=yHc4xH5ur>t-Utoa=&l)&|~c2Xws!?<^Ma)YsbRr1qlS!#TiN_ zUu+G&WwKc4!i3%sye|em@e5SMWt%sPT%FMIaU|2R`Rgt*-8_XyKr=C#6`d=qKl-(! z3Q`W)+sJ(Mqm8M@_3t+&2ly;%?h)3?H2iqJiNoaTY_=P9JuR0FP-H`WIUQ$(S|BI<{K%` z(vFh6BZ}w<<86?#pxN|WisPV%UD5TujYAtz8M!hL%~+E0S)jF6cwqlkwdyqsW(wx7 zB&m?1;$>y#7P2PwI$qZ;ZL`qL%_O?~=}xLdyJf#)=(Bn=T`w#OT8mbmoD^1-;kLm? z0iD)?Z-T460Ps1z3q74$NmTCt=4~mJtq&PQ%#HGs5A!#$pav1Sx+8p#C-=Krl4#Z1 zqIr1RXIYfyIFSRIBkz;TgA~ht7bx~%pc^uF4RxOuBYBDIf}2P_5~G;XqKEeM;9ydrt@J&!H?cQRak$(&v=Nip0hMB3 zH}~;A2crK^S3FJ&k@hFo=z1d7G_Eo~nvBh;+%x>3nPV!|7`bNp-xl@rGy}bzot=T) z+kEQxsB8#oO-M-PpBuZ5SeDzzk1Xj~sNgWte58@lm=F2|9ibnEF=@37Umf#7t`i>k z<4s2;{xLRG&w`8br~reQuUo}fo9-&=v&35a@_q%es^aPImm z0g@Y)@&$zz!f=R_kllvc+zY5z+vw{|Fv`J@ii3LYRzUw0TTT(swaPb9Ei4jpR1ilcFbgGzqJ~2Dge91InIJtrF zn9W$mQI@dj1z}8f|G|Vq6Onu5)Hmh4OD;>$SY16t9s&Bdeq}Znw!SljKI=a8J}|HT z8z^|z(`I=qA|cb8<5kywMiOMq_<(w)^OlSzkjxYV0N4S#SN6J~fqDcDzA#g<)z76c zw%j8z3hw+rrs>dvNt7@yJC(Kc94mM{uG-fRJdj8M}nOq{Fv+~TiijQM=~P( z0wuV8&iW^~8QW${{8^N~z-zq)PM6Qj?2VzMY;(sRx5*#Clfe0ObbgnaYg*%Dp0K9B z{tHl8>(QWY@qp5C1&f#z9f=r{yM|EYG`>`cA8vwg#9s%Hb@!OExCD*wzRYJa3_zv0 zYOWO%Y4g0H5AAUYJoM)ne@0Gdl+^kdlL>8)w*~74KTihb)aM+C7kQidpSrCh(}EK% zF~WF(L^SoiDmyFioL5U<-CB(Xv#z*m%k;fjxGL@4_)u;K|BQe3wPPICIA6|^j(L3E z%na-l5o1{_VlC`fiDJkg{O~l0&!`M1HlaatW;gdVHJldMJ#tLPY^?;nR zVwqun?dp5Iq;6-iYa7Lbp^t@uyY4VO^{0oM+ADS*yAE3zT~+;u0_D-eEepBiW7jSA zXrC_4owqR<{oG;cmcFcxsSwB0RgyIEyD&~M8kNG|vOpGG$tfrU+2A=|aj z?Nff}Y0<7lBI{pW3%e{<{3$(le=L7fxHX|X51&YcW%&-k7Pz~5j+rqf`H5A8naD|w zi}rfQwg1rqq%-xBfFTpg7E1FfCMMnWN%tjsJPi>C_H+)cE3r+}8i2Dd(;#7YO6Osf zoDP=OL=Q(9*M0bU7BtJ>Zy;9mTtw^QS8|Meqr4!KFog_!!B|{GGO5k>3)4|!wM+#z z`F8#X!tmI``n|-Op>1SD_zMfUS9JBrk7WTP#1+e!nZ*;SVmuC;kWIJ}V6%W*Hwvi+ zl!E;Gan`Lp-(5~g$r{=3mzoJ5UvYMJUPWGOQA1G8X&cbqATq=o?VA#1A`KI9Xko)I zf}r!rD#=UPItQ7=^!1lk#mupoWT@sk#JukU#5{s~MpnQnuBk_qHS=wKJEK3V^<8=M z%n{Rc@!^G@PNRELOH z+ipI$k~8iO3{qOkY?yX%T;pJ2PrG&Z?v=}zU8=rf)*^@6EG$=j=g>^Q1_s+OrOi^6XDrnfT*WYwvHBg&{sADN$;tO8|%|*0a^gU|O7t9P2 zNhZ3iN7`D?6cfrjU{2aIZT%CgVoY08vnBS$GzoeSGlfoKoP|B|S_-*bl3?#`;()lA z80Hzm;T`yaV!?XogYqNJse+D<^%Q<)HC8rcU?v?Ixq7G^AVb0)nu^e0Qr6Vegc~}> zDeEN}57U-d#@Fo>$%8{ZZ}37@@99e9(lm0JXUcLr;ztCXvEs2rp$!u&bbWY#(_b40 zJECuypPO4nRaLG=`rzm2dv@}aJJb{b%(2X`GG)z0=q|s(@jL?Ssbo=-wOx}6?>SkB4PYAimubE zf>(NI)JLN`s4s*r*I@4^o|?icVW{wJ7agDYg}eFGQscXsWfC@c4#K0I$u{ zD}1{%dl&V<1<8v+IhxUXG*>h8YSF{RpKq_d7%OqfLm8ZtB#IA&Rf1E50M#{1f2kGJ zBNBe!XNf?=OfYdO9>5%@SViqG5XkV0?LLS*Z{p%?C%=9G+hQog z>CG2DHDB!RiqBK5VG=ikvf{M6!^{bltIvuGlCO7c^j4K3UxIo41*j$7C$4k1z_Sls&XfJWaJ-n{>}g54M#96D z2|9wRs!2pp(=v=I3c1|s8gpdXCMK?H#S`TDVNV7NVB?M)Ozz|i=*g>&RC?cH+p|p6RZ<%3p3C%{x$`1B zimo`@B~RC9v03p^S5oS`grP5X$(fm%;?9c&hUJF#5dNJ6t1X^pZ>ch|XS{cVKX%8P zD}RIX@_jLBIF!SN8GBE+?$^Pzg@lfgi@2Q#>Nt>c3Zu4 zh$*6edN4*Gq^sO{t#h4d=)t36eL%h)&fb-7OznnER&%q$@7*iL)r2@FD93?gJ(`zs zl?^5T9)Lw0^)F zXqc|Y%gYBm-PE|aIZwGzN_Xv;#M@V@u-+XV?~9UC^BZ-)S9YVvM#rl7@q96j;Bs%> zi}~<)zAny)zlr~(N|3WkX8SfAj`HuS9*i1RZs+Ur8O{}Tf#cwHaj)Y4lvxsaC_cYeh6_fs@06vd>>McL0S%nc?H zh6aS+Y?Vc49%NoYv#Ql@y^}2RbhOm%!Q!1%*UgcD`0JSD;#JR8psL`#N1~dAL`uE&a^547AcD!)dobSz>#AA!9G&3{{7TD=Ox3*-g2qydi5WIg;_p-g!jo_ z5VBs#a0~2=0MNLCJS*|cq+c4NAy(_3(PzLS{iFDtu;qI?N+6J0@eH%=Bm3=t#C+QR1C?PrlEkpjaL zlkEXOc&3{|o-Or$*oBcPhnv5n5sC>vjk|>(R9g4I|M8B#eE7EZQn!*W@K_LFU~RPMD3dAVLscHx;3Hyj(wbz ztoQ=7(e?3ig4$!4#dd5rQSss;TRl1N6TJo=n-byXPzA9r6(yzIBYG)!gx|$$+_Z7% z3BW}PO~|^3r2R4o8Fx=@s?CYjsGAm67RT#-{9}@A{$4cJPIkO z{Lf|lTwFuux1fO*^eWMnfcm)(_QuSS&)MA97~^VJ;|d@6v>jiI!+w@`ilfJO!_x@9 zD)ls>53^SpZmZsgxnS=St=9+h`I`G?q^T0(_WWVu7hjhl?>d(0KutpP9SXx`8%R31AI33!YgrchOPVG zdv8`uTIC7T!1FYSO}V_uf8&^oID>hkyK-%8(?kX5*YJc3c%QSR7=xks;RB3jFtLZ5Lk};}SD;0z-6e zCgSl93MNTAW8P+|4d{e&#^{{eivsc?X{s$ypk?v=^^icYso~}y)Wg2#|7D3)oJOiu zI7AzTmV+QRhPuYHCY@^m(xXg__5p{Zbw<>Uo&5Oy0j1&Vc}^{AbE z?0>WXx}rkVwzgRCEkN7`IQgxMZhUnR`}tmMkpbZ7T)@Zr4s40Ai@n+AxJ#s5JDKRO zNVgGiBgqm$*&mq6$;mHM-L^RKYr@g{m&cm^o5zx$Rh51gFtI_wE~lU+JT+acpDy;0 z#R-oks|U6tW~C!q+S>0K)Mc6&?9piU0e?y=j(mK~a7j-mzNtyzRV=f4Cc4M9|M)Xn zley+$6SMTUN%(%50p@a6lxth2nhJ3=7-6d@Aj^ zh|Z+*wtU;oL;VVg$L6=t-Z*n=qh|b-r^#TymF{GcaO|s3XE! zEh8&#?+pqDlqx?@l|1QId3GW$NLTIm4ue!EmXru5AjzB%OP1t17*S*d9~2I?_RivO zQQ?36&f1HwCJ|;|CoP6uI`T7A5CEhyk+L7NJWwz9gZWl0R}1@=$8YM(*PjW#A6Q>dupypxkxJ=zee0VBX83ZGx*!SQDfmHCvHr+M=`AKB!~>-0tF=Zv+#0UgZF zjTTGCS$!t!*QAwqqd$$+qVWe$+q{sC@h#Nn$mxUf{IM`{Hmii%=t`vDEkU);<1qUd z3>sW5(X264xd-{>RUCrLuJQa(fZ}stZ(x-U1Sx!YIp1aRZS}>KByvbBKD1Kk@X1@k6<3yJ#PeF3#nV}H^FKb*E# zzHIVe8|E`>KX5?Z!Xh$TK!zpDP7l&g;}T(shBzPrKnO3+^B5WjOFHZwEVQP!G0P33 z&Xn8F;Ym6C0M74b5^2Q)-hMO<-VCEF)j#0Fma~-HJ%eH$rOAV?mRDsBW9qc{#VS-pSse&}W`8YXUY~R!(m0>2NgH3;4 znLB#~PLO{iYHiEP+)8zON@6wV1&F0y60&*MpA3SP!Uy&gD*EXbzd;s< zrhKEdFpjNd1?(ga#z6FVQc#r*NN|_62M&|yb|kD%q-}#gq8jNCu2}%G$HDscfTCXk*3c~?VTU%f7tik%&%%CZ{13m~`|)bggA5I< z;b;x4iU(OU+gz;KKicwc0d_)WC;@dz@y7G2GO#`_AN76A5@srr4Ex7+FJpc|p89^@ zpRvehpWG0Y5hf(X%>=CdN*NL?QrgVLXRB6_sem774(ztS=4yFLdAmnL6kJ45shWIs zcLbF9Q9dgN5^*aAbwWZ3+XkCnw}{avCnb%->_cE8AT1A3EgqZl@R4xQPjlad5W=Bn zuv2D`c$O&U$eP_$_AV4%c!L5ytVOrA@W8;pmc`5%Gi0an22qwJiVXqv13SI7oQ5yOKo7}QdLgak=&a7CHGluN)h zt%wQiiccijaj-slp^gzrtS=0103ce~UqH)Lz6cJzgOszmA?sxXsRndqXOR;3@Zvj>fm zmJY~!f_dfO4x~UBuWDItI9rwYbGk{bKjq!uUkOOSX=;`cPZTw}$4%jw?C4fygpA_M zeI8~nO=`#8i~5+iASe9cK%3$rxQ*fFa+`d@hxL<2mLIHvSLs-vhgMVXJo0kA(R`nG zP*V+VmSMSav8bmD0y8I~(Zg$y(AP{NwP3@A4F1mJ-?u8rjr+*bGXBk*l1e}7E{GzR zl$Neu&gQB{26_iH~F9!xDFYO__ z2et*MFH;fRJX22ooS;zgE)<6ybyhMJLBagW@ME>ut@=DwjjadmH}S(n1=MlOXo&X0 zU8SdGjZMp&@iqn{@Qz`z1Yi52ojLa4N`F+Ddu}@ioSSEUP1<<_@D;+1u=w+zr{#us zQzhbGzb3buZAZNmGsR=nGR20<5U!+Y2XKKYjS-BlA3#!x9=kRCo)rr`>M+BFLqilW z;s32o<)gtiU2en6h?`2h$a(Huo%6L^hRWT$(ZMz9&rSm5GG(Ry9=$oySGH4oNTiRg z2d^r|BJH(4-cxmX?IjJ9GSSh%3Y5?Rel7Xo=zFjl&}NK;j|yI4>b0+be@Ev$XF^f? zq#%5|oE5cDdraNE>K#XIMM8+T&jfcGKKR0;>yQ6%g(Ir&*ycfg9<-^M$R2v)=pCn8 zD5t@FZnK5Jn|69mnJ{2euKyVsrJEO}=t53L1gFd~kUghkCR(9Pxl#?vqfPsDH0jc+Gi70h5fx%GuJ!24=!jTd}%h%KCl|>SWf z3JgjoOCL_B`_aKi7;M3Bsp*S4NmxBuj~#l@cua+Kva{G}qjGBA%k-ifqTgb=8cU~w zn>Iu0(fJv?ai4|hqT2PFSylTL<;~1k*x)Mltd)B0tuJ-R-eskwLz^E znU3-LQYHaTfZuIgM67mB_&r`c@k>|#E@OY|Ug30W=+)SiOTkEjzED0H0Wr9i7*#*? zS_?bn``!!cTIgNf=a>7tdYO}ii8zq_RN(j(I^0m<-YRZj#SX;C!rZkX^)xW}&|qp2 z>x=W56?HiJ4@LAWt+M5>x=W?OW2lW6XCcDOv|_kQ>HW`6wE!8j*ngi`wwa=IBre7F z9yb7%^2*Bk?JG*TeJ9Kp#R9cHs;CN0rSsdW2t!Q;E6DfC&~m@Wx0kIna(TPlWNTl+ zU5?v0?a;k7fENZA9xO*v`--tyM>u&8ksDH- z-IC3O>))T*ToydfHlIYV`Z-BQh@Yl^{K#YFOi4h=f%-BKtUvVg2Y}uH!xGvtK3aN5 zhlt2QJ-H$!~(c*rPj%$_fau1&(kwCaS;8I`@H^0Eh_U~`ELtAG-w?Fz^Q1GT- zv#hJd{)~g;*BTK|KmBcbNh9O*WB0=8)nX0_()00Y2bggSGf1Ulve|R*pq8DiLIUg~ z*|8IU+1(x$tWb3sH@Zt^KFhOzxh`v@`TFD>PJLqcvB%$Q3U%+WDzzy`{ti^{4Gyvr zCy#x8w4QZvF!1;isj=YJ3WXqN*^k7yG&oDv?&IzWi>XDa+zvW#r3Q4Pn|G|O+n_cw z$q_{MUv}!xH*9NSlz)4OKjrEfSjd0R;*t4wVoZl+Nm9n2Kz}}*xSbCsZxh1V$|leIr3C8WmU*PYI=W= z8h?JW79$_mnNsOnwY;bIp#Z)y_x`MxA^N2|!50SXBq@1!LzuZYbh+p7co`r%Zr9^hAbU2im?N>RGBPpM&4)kF$cV~OQ)$3f(LpM6!rD`8AP?6@;z^=bD#} zP~sOpEpRL1PQLAWwi7wd`&599nXpq0vhkLt4F9z?+i9@Mz3 z29v)4Yr)Ed1F$Ei`EV9aE>r$-UrcpF4JV@#ho)1I^YWyzZE+a0xo>_^cbTg4Z0fohcbIfQU*`K}@5~WDGMwi3FK!pQw*N*N zN))7)@%u^Fj&d;~uH3qz{3Xl@67qZAU z;|7hIQR3_W|QL!PAb zZ!^ByGj64)`5{4%;o6qYhVJO>%Dy? zs6Xh+qgql))LjljrcF;-qJ3|uy%oa#iL+5UN&XhhTv|scU#rv%07>B{r&(!Xwmj7k z;36>r0M;V8{Sh5a2P(1DkJ>pt2P2P;&gyAWc%=C1#DL+`0akl_?Pvx`oF@QbDT5{} z@OOti_gB!Q@2QY4xvin5jK_$ffE5Mn5IQJ&1`hh+X@HsrC{}(IWS&!vLyv^17vTH2 zE47W~CAHTD_d`4#tPX=z(GT`Tlx3sfg$%M|@lFrywA!r$w5eH8SF-4=zs$`U3&%%h zXayEn)&Q1s?2H&c;i`rWt)%(xx%J61XT zffg?%jJYQz2E4{iI#+gkf7$uvxVd3nD*HmC z8I(ga*$ZxaTz67Jm*K=TR{6l`6rFT`IB~y0Qs}`nqsjWGyaNAs2M>N69zc|({>B66 zuIuL!Q_-ZwzS<#0^+UG>s<1xXSKvQA>jU@^fQP!gc(Hmd;F*EI?6>;`+`Q>Ijk#2C z|NSlkOZ~ZY+WAem7qK8Qz69k3=mp43_u{7M=m#G8k+`5i>p;=W12)qn_+EFc^@v^1 zL5YZIy~p?A8n*n7^Y)mrl}DK;I7vb#Q0RxMOwz%tg&5YNUDn zh_fd5LUun6`=yz?z{xSMO~+7WuWSr8bGY0HBj8CDFozs8{34lWC?7dKwu=}SkyM>O zXki7AExGm@hgc&kr>cvpW8>R^=eO9?ID+6BHBRwxRXan;@bIoN*BSC% z%3I&FSOV^i82l_LSvkWcIy-rDR*B{L=A+K7#Y=-_ZH@+c`6t8%uAa#{tDesW%Iqzr zHPbgozO6*750>t7{?u-9zt-RT;Z>l|8<_UuJEIC^M9in*N=JDgAI8ZLARJ9rZbvr+ z{1VrG-CpWAo6V+tX_iCWVJaP-Iw-(0f_4VG(zM~!`6sQvIC@R~#Fy{inG}3r`7%^X z?42+1cYLn9X`kIHyomiRHu`d+NeFYP<90|ZUI27Ao!Djp!*m@+>Vel)F)m};0JK(_ z*$9#XMsqs%x6H}A#7ttsuP`7Q@vydl0L1!0@`ge^6}%w4GU}UWW9jCLr+Swcvazsb zv72uP5}{`UQ|}UkMBW=+-~*k$zllX!;jZv(6Z5n3OWxP7=aA)U0=F4m3*J{|+4g9y zW;C_Shj90Ob(DqDcXe_=Q_HZ}<8pRXz}MK@r)64K=z|I=>k9n72wqwXN!=Rs{P<8n zgNA6HPuJkfMzfcl^3w>_w@UAA((*f13XN)hYPzd_{rKu@dHcPV`-id|^fx>#>e0To z{~Y<|`AA16KBhxPp~1A9nCT|Qm3r`RM`@`I6-#W2AF zOb7*v5%fzq7m8pi3=L*gA1{4$rDoz~uYb?dItkw9B7`HOI0Z2_!)#X4a)W4=DUyjZ z8qw(!r;4YT&lnEieyl(2Q1|l$ea;j)Le${f?c3$9Hoc~4LG8-tbU$SQiWfJiuULD1 zpPhq09M@ChxRq656maIg-4Z{3bS@G+r#DG|na8!3GH`?kx-MZ2{^$_K@A0|^xZ7M> zqGC%R0fHv<#MPE#C)@ob?8b?Lzdd&+b?CiRLjO<^r*D&%g%{L0YU`4+cltys z^YY6T%jO?(1)XiXk85=thkhAd7s)_?3^!MIFQ@P1u0oNks}u=QSkrx(el=xlMec7g z>tV(o=1`S*%`El2*T9iur~ROWRS-0wTVO=%AashCH$o$;AD*sTug2c-wos4T>{9lh zPKPNGkm+Mzv^YK~{UkEyBu?fDdbEfWD-4FDKENESG)IG&q;?n4lNt|tlM2!jHdD?Y zXR?=}Qon)W+ZcAVDXr$9p;DjT#i}qF2MQ!k3gQQohB!JM>;?mcX=K@%!y}K!9+TKT7c(K)>C?SsQ~-Jc~+UgqTIls(utr*}Svyb6j4uRXr> zB8bUbQ)si*qe~-eaJ1C{VS?MP`n8yV;O-%<%T89VyR%(uSbv*-F*_9xCGF~4n}{^p zt7Jri+W_j90QNViyE!mg)9*RB)3+5>?51hu9-qKd9F+)U`dJSo+hfyR6jP(X9Asy7 zd0*5hAX7m@A5KpkW%{@@v~MH?eopI!%bbHzatBw z7L@zw4Mjtv3c1-11g{vLzXP_t`Toj4ThY|ZaUiOEWeICbb^?@!?P%F@yq-xzn5pwk z@;q zEiiA81T)}bvZbG+i}J=b=r~V(;Dp-3oMT64>kKk_B>wFXW9>jiH@BLIo0!<<1Ob5M zySqI3O_HAQ3sT&P{eYRGJE#i^APMNB_?#V^eI#)T3E3DfW;=+)Z0M5S@7G3uDS}19 zl_>q<=2u&IA>{V`G`wI1U_T+nv|h!0N&Y}N3fTfR{#N?d47h;rtO1NapNwx~**VJyfa-VT#HoUG;_O?`SynR&8twDb9S8{ zjp-ay4mXU&C=+%BP_fWOGLw<>5}LR?h*?ut!yrvRx^G`%=e&LD`Uvg#7$>#pWM=>d|u5Z zWVD_!FjO(-LwVg*SgO?)?X2f+GtCCErWCwN(ToAq*d_#Q%7ee1V6vMlE$v(QNR?I! z1_E~lTk5^;1S(Q&s&8FV-iT@~>lS}RSm18u5R_Rm{UD#JV($MS4zbW<#re&mis zBcTI3DU(`BRu+~cLMof3-^w?&t*dFZDHZofL?7HQR599x)Pbxd%CeaP)|t&V<*fYZ z+D}e+23_}8us=8l(x%hFQ;MO;x!Iir#~LhA^_*o--t+&D767|H*ntb(VInUl(%*+~ z;ck*JUJ0HM!Z9dma3&q$(r?Q_xufp4)fgXg_0^{dVdwp{>DYB7uHM(Q{5B#`NXk0{5R%b!Xh)IK@^Aucj}L@>nj# zj83XdUgDw`0N9s;S}_Ygac9D_^Z5k0^!|uuywSI-oJd0p^G(gY_d|tp{QZp|96!q* zDsPh1aE}fc@1N|R9k+^Rg-PYtce2+9%^*9 z^)*-wq6kqF>kbkFA+MqsnUT~SIgi5)h9d4VlYsQktHT<31NZ|-f32~BJZdan_bXc0 zWsBICymCcNZoM9uEHa1ChzhMBl~aMd}(C|2>0PF>Zdhio>HtctH>$4c)rn2c1k zU4G5Ou46yd#RKW(h(jeuM@^`8R&)qID`_<78IN9m&0&(2G1(x_5s$E}<=c$nQ~63Z z9Z8DpQ$Z=84PMxmeSY!-FKl;In3DAgf0R*JdQ`VAJ5a@AJytPb5{lPy+c15YbIC>0 zDkbP?_oK&*2$m*jRws0%rlskYzKy3LDIBowC#4{|8X?R)X#~8@)+D~2>n|R}^DH!{ zQ>RJioG$z%dzOQS@$0mp#S_&%@;9w5DXD$v89iV#Ry<}$J}~r}J;f3tGAt}Zx!1pW zE=iW<4e>q1onVaQsE1m6mnjQaAN+|8Cx%)L>zzvnsc-LEy*((!X6cB)|u=4%Yd3+DmSn zq_*yi>(V_Do0G^dQRj21_<6kd?AE+{N|0_IXxdIytTXwTSmP!}VjBM6X#$u0RX^a< z{1o(El}P0Ja*e6r9%bTun&~%tOIrO!_8LRd8S6KK%qeNve?@*_nn@`|kLrc-h5@_# zRjM5~bU1bG6h~QAT^KN;3$%ptm9qQVUq|lj-7~&(i9!ZpLYrKl%H}w=<*LuK`w`dR zs2Df8m1uKe)w`8QFGn{I+2Bsjy~K7)^ROOURebf;$`YBXceF=+1`n#i7hCUMjyLZadhd@Nlz5`g@4g^xqah z=JfO(%_Y3cvXAK>k=iw5(PhdWnc*l=vf!cg|L-(5OnCf1iBcf>OU`NV37-i8+n#AeMTUUGcRpX+d`Fncug_1pgTLXL&O zr*K{1-c9{+5|^ItBYT#=$E5zZ&j@{w%>Ujgko(`K#bUw#+i=5@4fX$bl>e8P+5AefLgR8(O z!7l-DtUM08n7AxUIJxSCSu9lRZc;_6K}#4BwS%Yd8>dL zND5_!QD+j6knILOQNG4dMB2dA-*38khqr8iVhREzTVr;0HENcvS2gG$Hs#d|5=SnS z)YK1I#l=xWZ6d8TU_d7y@7MWnz`X!+Ur~1W*zEH&;-PD+{oE0)mqUJ7iVA2-8*e1u zRN$e`p>w5r{)OU4Dp5X;f|ljOx`lS!;TtzflN3HRuDd=d&xq@lA5Ji)|k#7o$h zpo0CkxvQao*4IZ=Z7sczh8ivYx&TaIpgUT_Bj+sAaFj?zkvL%dlgGgtj}!S)5kw4= z)v{s8F3?2E?C2CcenaT)o!1T?RVsLAP(w`g-I+fhE+jwQSq9l12psYJq$nbFMgc@R z8j(pbbixym65v;=nGUAA2{T&;@4YSUyK4FI$AIV3ZH3k9nu%d3Dco9w)thoq943&L&?k$kt z(mOT{LlfwMfGR0*rWuUR>ddLoCtpZtdRg;^E7%-Ogu3Q}TBn1(b?LxmIruf_uTd|a za29(9&*4oj3yFBH)?u+(qKf0GzBb{O0eL~qXs)O|O z&Lk1u_>~U{CK5o0un~}peFowr|0NlXGh-&Gk1fJ5wO(DEE=tpq;>x)Bd~MQx{0L7W zD9XEJ0<&XP|Iv$&IT?IT!7rOyF1_JQpL|TAk&45r5U0vPCK?%vv3O#tKp*p9`gB3Y zH1gW5E<>7MNzOkSf3Pc6Zmuoby}0UGGyF$Z*5D*HVtCEY)_K}s*KF5${@}~M_sTg8&iq3_4t1$B-1K z184@|Vt#oQ_ORUaIosE(eKuTVb_AvJs~es$h81&X-it?QgFDYzK-99e%sY4TZj6$O=Ey79TiXRBGz(Uhxg1f;Z`n9Ty0B;I{r;3s45-veOc{_4;#Q^6_ZP2e{Q3@y7~B_nywsV>LQ!pFB7 z&Q~A?!x!4T2e)G!9L#=uZr(_lh3gnPlO($0?pvl4CxJR*tB{Z<6jqoq;q==FBP>=6Hra$ZtM#i}t6%3}MmXvl`pq)~ zMf}X|A+bnp--DX?KkPyMFUfk#KWiri{weR_e0%*G*3afEoOPdIF~P7~{0Gqc#5fh% z7HW7(zq!u$!J(Za0qZoE?RF$95mm(eOUVs)=oak%ZEU>E^BotN8S6~&mU*kAe+@`c zo7y*tq9p-UM9HU%!lj^Yn1!Ug!qP!w-}9*6`k$V9$+{wT@a>6xR$+Es{e8Nh=g`bB zu5#kI@@?81zak`o{}c;jZ5Z=a>lQwQ$z0yG06Lr?+GS_%R^=(&VP!D!4orPO&Squ~ zloGaRhCUwAt>(JM=TFDJ$^&xE5Lvpa%AGWC>)Qkdw z(F%=0?1h0ctXe<4FYtRDg#noRf{4cWjmH!{D<>oPbRdn_o%+RMF*y4GC4l$f#h-cV z|JB%g$5Z`=|Ks+`UddirS;;1wj6%wuk-d&Bgk$f$M@EH^nUE2pWMw2XD7TqKL30lkMDow;W+2KUia(1uj_iQW1PvjOL+c3-)epqj2n_0wpX+KX0s}E78x0l zB4>h}D2V)y#0@d)Tmy3et}Rm5(0M$QGhixuG^2HPvZC|e>iY(E;T_hI-^1?LO*#4I z?Y49&hQyu#I=z68tO@=U>Uh~>R+5o?2*8%Tw57SlFAGQ{I&AwhK+{A80_6CI7Iubq z1{4$IF0B6nxV4tUL>vp3lE<8=#1h56Bf7%BrT0?rot9$zE{_zntW1)g-yxzc%p4uJ zn!J+ao?Gdz@4~@ei|_CC(g#%g9~;2n+k}3$5Qu~n3bk=yvisj<&?jWZBw>KZj|Pro_vd^I2QFZ! za!rs*^7TlOg&U>03j#uA?3)JQ?fdz8EbM8F0)!1I5tnc0^;3Zr|5G?|cB$JT@9*q# z=QTD(aJ6Ykf_Lt2p@Auf6Ak#HU)T*>y9P2 zwAdM|`VSF4Wc@Nllo~TT+O4j)UDpIh7TydN$THyw7IdF{ko}8Z&}}T-u~S?a7mc#R z0RJxeDav14aOlP2L}B7#I57^Fv9qzE7KgXVZg4I+F$Be%05dXxWmdWX6SL_HEs0m> z|I7l;wp(@{%AinbEQ7(K!6Gf`yO`fwe;YG@M%)%*N1EKG=O_#Kjg7!Q0 zTfi@(h!zHo5&a=vVS_BZX9CQ)Z{_XerIBZ>fCx~^hLy~!7jpzrfBBul+vxXh^>2Vg z0>cZ7E0Vt&hn)W4|Jpg+N~D-OS!=KmNVIILZw+)=E!cYe*8g-C&)e8ML%(Nkw!6LT z?w>|;QGXY9sYdLXz?in0gqPwQ`OymJxmIn-!R~bazShoPYU4R|8#B2p7(2LW1iPA-SZ;O}tKb#0bmxYt3KVo)l}o``De_ZR>@B=ak{u$A zcTNzx$FGt-8pJS%#0d`RB#2_F+3mnD#!I-&f0;=769z6vW$=l~b;0>u1~Z}^w__*D zD{i?#hn)fXG%SwdRI9Ph9rojH+P>n)6341}h3B>1!8#oJgbT&7{2@PspDq=%T)i58 z;-_xWu8lr>gJ4hFwGtW3Y1K~JCK%ab9E^)ElX49Q&2S9j3kNEF3M?7Pho5U)uA;$m z*}r=<6keKtvMoY?v6HTkoH9R2Ep4u~Og3Da8aJJ~m0A04W$Wnd?XSeF zvtq}|vp-wW<6AKaPJeZsc1xYix&5uv#2yPeOGsJUXc4{~l+?2f)gm&x-w^GHkAWWc z8SNS77cHGf4AL~yqu21Lw~lPCM7);d6TlHZQqMkT*z-OM2&8kpGjQ|jTzai@rss~@ zbGz2^u5C-HA!>B1X}?3P?xedt5skkH$V|dsbI+wWQu|eCdk*f#)QnmjDsQ6UXCn z>A#OO$hus@=@x^`kMAJ6!)_yAD^B9qMSoJ#91ikm^&@31Z#E8#WiEtR9xM@(=dp5` zq#sxj-zbL(8=59v&wuH&94@(PU4E+1V8wKdfj@ZQ^vimVCso(`i~q0nac!M~>nTKb z-bTXA9f-tg*1?T$W=AKD{I<~%8q@XniB3OM&pl-(cGF-It)iG|?5q$po9d96SvM^$ z%W-a!XnN!qUMlLtMX~1mD3>fRWUyL{DSmYGv?$EttkKrt_DhL-8bq0w)^e+){^;`W z^E`8iocP1Gf-DPtYbQ6%`k^;a@_YQ$!j7uMW)^&gJi%JNcElX_rIvPo#6BfiUuJi% zU6h9c1yM@v3F%x97bCu_E*E!DBttT-K~!pe{kxtl6>l~_Ds>6OV?Eo5$@7nCPm&mY}XVxk==IoNwMpq}fKymWil(r3?{Zkzvs z=};A86lt5@N8)+6-`5CccS~kR2w~Ybo?jc9V9S7}5osgGmt)`G*FqNjSUO>4sbz31?tqFhbsYO(i^X_mn_ z3jwosRaxAFm1fYwKS91f0MZ1uRPt*Sz~OCBZ(9Wxii+W%rM2Z`^~Fi0zd-4ad#fqn z#GRkk_X@4N?|^N)L*mv}0WSF(SKLp_tBst@#7sg>O7hiOy$j@>T5S12fLr14c8P>B zlK(u~{c;??H!b*=kY1d0A5-)p%T4xPUaa^>$GGHY71x)hfq}GZqLl`Dj?HvM3bjG0 z8GcCfurE-nvs{yRBd0gXYrpb(S}9aj<<(C;I~v(cKAB~{!d%8P$GiTroYOMlFC|WI zr5bO)#2hJ6vB%(VHtjPv9#=W?jEY!z!e;u7zj6G=E2B2o#`-UT>&jhZk z7%vDO@)uf=a!eTx1j=kt5oP}N`kPRLl|oBwUiQ9hZ-X?cmP#OxRiW~4HZl7u#A>4a zEz#c)w%3EP1L(DO+Cf|M^eo;P!mK-U+lqO6SmnLFy+NCH4m>hu;@MiOTWQRH6ld{% z{hW>x$#v^0VDTU%LyL^jGUzp>d=iZc51MUq6PIVtTEu{1h;45yu*qn6mZ8lkdzXds z)I61dex05e*ODsg>O#n_vLH#s;FFtlf63RKO%{XuxHwYn!7~(99q&OB&cF@CE0ofT zH8|G2*`$Va44k2(&;`u}<%VC^pc6ATQi)w=<+k$~NjV1R)4#yMDvnCLmiTxHqaBc` z>bHL-y%TWp_je$j$4*2V4ahR~U!hn+_wV?&2kxvaJRSgivYCuL*T_s_N-2`rFthE6 zp=$b>Bu?55vyuGXCpiN)H>x=Iu{jafPQrWC#%D6naeqUpUUV;cJj5~>@ldB@i+$n$Gg!t5*auvF|#cj8k& zl9t!GjnDp8&ks!_PVTxMhTn>;F*I(qJ~-mHtag6raa3F2(RMney+HK!t!U2p`xidlH)W7agK zj3?Pc-8+K&tr<@HYOcG5j??Qg#28e1u0JA?5>AiX#jJ#$h3oS>@$9N!?IlyCrZ4j^ z(SL;XJbR8WRk;w|!bC)el-BFpTB3rfUC~jYNCR8=@-@b1gLQa?oRSqug9G&HT7$Y4VWgueqGxu788Bu4k1i?bJshZV(kQ03ozp9=?uz>FIlT zqI1F8#;r;5TRW&|gBQe@yQ!g4VGZJJ;zPiqGpG5A*6|vqe}Do0#L50!7)Idw;T{^7 zBwNtH8XJ4Ua@Xe@7Q_T4q-vIN$oC;q-PTB5M4&+10eSmRWpPIuR1CK&0i_3vrA6*r z7db?6Q&ZN=7`W~3xvc}+LLZO)tbk;-qJry{6v`nsSv^>?n-fcEFak|S{vo!@@#`6v zZ*BR4=BLDFHSb^W8NI^$OO6qHl0poR&&_U=4o1YD8+Tz6Bc!lV_B|579`RRY^j$zV z!3q?6bP4;qvApi7nChbCrP6_?N?vGRqs3uc)o%(x^q<@L3#4$}zPm_BLVr_(UUj)z6g4anYk9V)@^ciM|6B)JZ0q z!k3$i((GQL3bL_)Oj?Dj19g4|Uy~VjN-NZjmc}Q-L6|DGYq9dki zFy1S(>qcC8;FScT($Dx}PU$+Gzpbb5d5*r3coE;!cZVITC<;fle)xB|)2s=M^`j`D z;1K*C9D_2Renl5RzK0et03$MUV{!Jm?+`i-j^Rmd>fhbwo)Z1MlX~h9tL8_m{y(#T z%Jga%jSNX1-8i+0I^0ve+Z#_0cXDO9k|-I*sPre9vG1`&Q=pH-B0% zVN@;HaBoh?ka(Tx(68h^=#9iz|%4JzOJ*#t7n$=5V{c+jd z509s9T9Zw0ZZB{v9g^tU6F8R_JB0U4q1EEHjpjf15*d?}WS{aYl~VB;-SoV|LfN?( zI!2hoVx+&R?wGBsw{rh}%d%ePz`DzVP?65iEB8jtbxob-F_G=OhtCy?qAk>@_~Xb% z@lA!r>E}c#iyGS4@j_IU7Sf4u-mSEGWxn|e(B`6`ME(%YI)f^I=CyS7?=AjG`#fK3^ut9g{+1?ywA~^I-SP40VP$=K3iOfS zxFV$Rt*OuJBUt-%pE)&Jw zF4LFk7<^Yy?dl=%mzk;TTo^tUtB$WUqa8L725&VmJiQa=z`LX(NzZRSLx5XM?A{!A zj{f%}3K=ezS-3N6=DhG{IVde6>MGIj0J_+uauFNqo2d$ym7}9@;{S#H{y)IO|My?9 z3ue54=0otHE~KQS1goCmbx)ya&-GCVn1R7S&Hn(}v{^ARF{tP_$m&ZXW{La2p4tBi z{tvm~U{MsQOrfrY`dmtw``r{;a@UV>+z#TGxKc&ap3eL*1MxXf@Msj$6v!_GvLFYu zfe5(}_1@lI8c9z(AQEOWA4o_cI zQGsov!-tCK-`7&YeD{t}<>?*_t9u6qAlVt^1`6QGZI0Auf8_W*e@p`)@d8|`tnSKj z-#os!dUq~IhAKw`uRtcqG@s&*k2#HoUFu=@=vE-%RCMY@# z2#XF-?O4WJ{SrvX444|`GsXC4Ym6?UD=6T$lLi!y?hCdzF91PC;OOm80iJv#wp zl43QEUgBp2oy)L818?8Odx~EI(-2crXQ6DK#}*joigc1(sCP0b?c*;|yIbtfQj(Jw=WRy6?F9f#??vd23RPa_MFgQbJk*&M zU<1TY;Nc5H6m&O>fhUT8p_GavLzD2uLJ-DhU8e*@^Vg9l0Y)oyQ(8|)z>W0*hlvoA zKM2L^43fFL$&0Ro_d>JB+V4-u)e7eo@LEDm+?$#KBL4_-rq#EqrDKmFxEOc=v+a+i z{;d$ZV&<$wg-757bJXy6P7E!GWH4aI+M;m=sPx*y)!$a;o^7#rEke?&3}PWTO9a@j zBs~`OQ-CG*0}t`D3A&H0-%$>V5^{&QRkxzN9JEB*T-EPzCu$}3sW$8D>+j}NS5_*0 zlzFB3h%Pc;sqM4>6xbXz`|d4)J-Nl5C$0q3WBVwkvHd9f!xs+s2nY20<(K6ZFBltl zE~QQ11vj_8rF672siky+Uuc$5`EcF?qm!fQJnAReRB-A(o9sxEsHn2{g z3MUpz$6`fWa*`2Mz1b)SmkxMb6aiMRMQpOrgC-^3Ukom@c>vZ|Y7933V1d*j!#6-29>b{>|Cu{4~Bv zNUAQ;DsU0XRv3W3%p5yplCP3*t=DsBnb}qbOMgYR;@3* zBpEKHE7jI>Q(%su71F>a&@=Nk3ieCS%`fqs;v1$C;EREJxM^h(@2F$3M*>^b-Vq*7 zp#LJYHP_Jz84YL)Z!JVEdP2D}d(gA-4i$a~2e%t7FmwQ$g8h^J?-EvKFcy6ak?7a1 z#j0__8qVSU94{pS%2cxt3dPkR;-Q2Co_FxN3KekNklCWwqcw|rxMn^Fq@f|3-U z0Sb}0I707|`-7}uABW;L-smliU^Ez+8X5HwmF03x8QLX_j7?BACOL4D3B}v=lAsQa z5j*)QQ<_#z9bPHcbDN+)MD)J~ z@t=G+V_S+&)U7+grCM8UI<<|Rrpu&4d`$R_!xL4R@3?O*#;12vu;Y=2R%zB@&x{&r z+$cB_3F|FjvyF%BrG*bpm446JzA~m#X};EgRfx0U^`7jNhkmqE7s-YjgUOAESRKOK zG5_B?0`-RMg{gtHt@#gKoAt@@{Hq7H9b-g-Xf~hQY@TgNKd{XFbnj^3p+{BH!rzOx zLp}cSRAv#>^ZaN_g&caEr|#7{SC35Q`MMdCHbmsg^EpEf=M7w}GCxhQJ3ichKVzt> zjY*(Dh}ygD^2+Y>>@{GCQuWz7-&@timK<^=;o>6}eUWQ?SqEE?M%%SiEoCbpsHN`6 zcKQ$-S-l-CTNYaZnZ2)`+bgJfMAfD;gIzr=uWKois@u8iL)V#!ih9NVJf~~_S}Jaa z-?N}T7GbamcVf^fw&Ro+ytvPLpB+R9 zhFPC(^I*3WRou|nIdM;1dN$SaQ7duytQUzn013{!CEsV3QeLX<&7$k;C)rQ>SM3>(l~30BdoNd{0xAibf>$ zT)i#%@6s*g+tp7!w9TQ6c@*i8w)OtW6VI2n8p-b3H;$V56apstAJ^O%T5 zk0FXJChJhK{)XY;Hr+zP^L(s}a)XwSC%yd5n>R%fmURZathwy43t`EV5WoVWe)4+l z2fkHaJ%s)(k>tRmkA-5o+6};22ZXx%Ebx>@D#n`2qV^(jRIyQfJyb~8b&RGz5YI_8 zSFa-det;HiHXOtkuUr1^`36GmvqVVY(u&jPT~Ag0U;C82n&i!!ZLeOXDPJ*rC;(w= zy}fuv$4}s0iMjy$_JKXM6rwiWK=Jv76jeAB?_o~#_V4jJyp#C38jCm)*Y1r(oj+N~ zII4XjVs|L~Ky>@Muy6q;Dp^@Fk0nENn$iQpFIb>a97vU?@L)m0;CGzsAr_GY;a%W# zx58)>G=Ms7Fo9M!28TD)vvPBbFUqQ_o=AAC!uZa)eyYh5;@CNXEf>R#6-y;V(+PEY z4h|eVy-T)G7&u1E3t$K|cBN7r9PTsEDx97nc zA0?OkS1<}o?EdA0tK8QoL_^5PbX#(ki7gQUY?Lka=Q_2jsa)QoBE<~$HAXL?R=y?x zt|Fcxi7ud329-Z@=EE%>uvY_wADCt5(fI8ODk?amS5k7ebWq&w;=tWiXTbB7m9ghm zffCD=5F1vV$b60pCFtvOcXuydj;83*WUXU9-0iuHRW|hp4UOQsnv(o|bLIiG9!Tp1 zi4bC7U~mvTFE1rZbEm5hpz=I|pjrYBi52&10C07#e_sxj^kKy-=4Rb*a9w^(wQz%* zJ38@lPv#fiu~PvErUP5IflQ?&LBH2Iqww1~w%0-X3zAJi?=6FFI>=Fb``}#!6we9t5-G|=7l+hmWRS96)~P-_ zhBo~N|0@Npdl(9xsuT-E33W2Fg8M}3Q_SB);8BWy^8Gm{;*`I6IR(s!e^$fbEf6dN z5V&iDxjqnAY(d)Yu~GrERvLiJt3lUEvd^tx7Y-UZPY9qcKp(W$ z$`c1ngXH$@EWt&{bRX*LBY#v0?b&lqSiG9=uAvt$Fs?P9E7hjrAz!_EWj|ITFAOsP z$Qb*X-82D}cNgeUgBCi_v8ec)7BJ2SD3vfT1l-^<1m*X?rbLz5FF68=$XPIh2%zml zGsHh9Zr=ui9(=Kw@v?q$Qr+J`{NQihRp7utt!vbATxb(icvzB0Nr3&6lJ%N!*niDl zl%$aP+dQvo52(N(NwgY>s(`3Km;t!|g?K^-_yPDog4eD4(qL7cCPu^@UsBlm!l<;-YrT$suRC? zGhYqTBvIX%s$BVn;mDmkqwBAh#E_I(5K}O=ejD6O2L_}O3urcAiB}D-6%=3O;~s!` zO>7pS=;l@n!-_0<9rGlx7^$oj;^xl&-+vIEe504(a1>=SZ&MG%$%e|xfgl^`ioaBu zR%mk_2kW97&^KQ;qG*hB4VUEx&{$%Emz5c^ZrfChzZh3f5{kR<79&-_73y@{-jgN=6J5#Uj%{m<+=TIm>-!kWdu zUKS5uHC{Nludj}pFGs`qy8)Q%K_q-x7_{i}T*uc)j!);>{Gnx^vJl(?-C0-yGc5e< zyuA193NKMB9gp>m0q@+;=Fbrc5MhbOh~ip;WuT%Gx`#{4kJrYoZB!JHLub|=AW;J1 zXE(R&sl;MxJpc3NVU+e|su~&@_b>k(sHMl_Y5KYiJUVCCL7;`sVidIK0H3zCPXz** z{U-#sS;xn}^r_c_;}bc{KL;XmJb7W}_ZFi1tINVxMJc(tjzZZu|mEBz0{ zvOMWW>eX5V54i55s%&^dMzFW19tzb9?q=cvnf2k~T|+}_K~+bmkNmoT~~brlLzge(146h=tlh|0?j%caF7Vu+8Q=SToh+8 zOS?fy5U#iRa<;>gn7DlGiUryw%>P~kJ`XR)H}LAQOYVaqj%Y4LzaSCdDV}tk(T(UB)EPm*KFrjIhy`J>< zDO)$GLSm9g=VRe)9x#+k>#O;ReYk`W2N&4*_i0hmBo_tTMw+4F6E*Kq-Vb4eJr37i zev7ZTTO-Wp=z?ez@*C|UI#9=yv9Yb)T4RgR{jegXPAS;%8t0tgipF@|+?A?JMlJmI zYuoATEQh3qtgN(?_FuKr^PB`}iFhTm1~Xy^Qb)2VU)cWZq%+;=X6~^{8F4piIAN7$ z)W7~%WtKg+tN04(IHk|w?-T1jCx4YNL#aIC&en31Yj8#C^7W)>qv$ld1u)Jcz}C=8 zJY(SD=Jsk?F>+>K;Y00qIjlBPGrFu&I^2yB$$DRS3_eim9}$*hO7|5SBXkG%w;{j25*wc~s_`%B=@gn;z4ri{#-aFLUFV?5 z4_0l7Kf(x>f}NCe$NUoUV%P6ZH~qcB4$JxP_p|U8v(Sn+?SPk@Q&pG?IG@Grycw~n z*VWA~qydXK5FxdlYFrEyy1(43`+C*gmePoWXQk4$q{Y?-%bV!a-mK)wjIqeLCbe6V z+R0n_U${6eY9e8`50o$?#qt{r2J{>oIt#}f8XOwbi?n$t-K%f{9^i|yQh2vux_3UT z`|jy?cAff= z-t4$I&TYU0c*7+3`W(SMQc>#5#6&4HjMLQKJT9BeUWkvb+<*WYJ zc?2s4Q3|qcX4%G9o{pX`s`u1yrhncSX2HMsU3bmwsgd%m_ls^#_ozA2y-w{tN881VtCm|JMy*)`?YRdTfsp=^8-1cL$IcA@3QBw<#T75A;l0iHL z`iqM;Kwoi?Cn(ktyB%hjY<^X~oL7?9_{rrlK}_2zx4}9S6;f8zW~5}r@mBo{vzmY6 z&M>RKieZppRjd4#65(pltrbcqW~HC!XlQ8X=VnbineY!BRPl(3mfkxZ=*lxt1wTPk MQ`S_fQm_d5KP7Huu>b%7 literal 68604 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 diff --git a/demo/e2e/screenshot.spec.ts-snapshots/foldable-back-button-rtl.png b/demo/e2e/screenshot.spec.ts-snapshots/foldable-back-button-rtl.png index 29aadb10c7eb269e4af29d55a9768a564f9860ac..b10f62ef3179509629fd16a13a8de41eaea93c8c 100644 GIT binary patch literal 68353 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 bh>h|1^L6pT74)TSP^~3)I{zkSD literal 68544 zcmb@uRa9L~v^9tYcMt9oT!Om=hv4qPgS!)4f&_x=f#4D>xI=JvcXxN_4f*arMt8sU zZ62^KRkdnatvS~TQ|<|@9n3#AISgp zmy|4Xl0a0EP%0Wc;3_HzE*$#xHuG=)tIHiUpr9ess)ZxQ#LhjZ1|3E;E}nGx@|goC z=$tWJ931M`vCzfI=TjZg@UUz8Rq&lZXdieS=X%bg*RJEh?h_`BU}m4DQ>ju-C}>7|#3qD+dSZb3WTv zasNyt7mN2-LbFN!Cg|DJPUhfQ1<;Qq-pW?7Y8E!Qam3MFyiHvP92gBqJyvAvMr| z$$!EV4i6q5|FO9lPsI|Bjvhwx4xRq()e!B0)Tq&;2Uq>nIYtF^qPp>cdtg8MKa;_c z2F9Sm{hd%$QAzso!@(_n7grS#eQpIpN={BrwDKJ=FOhGQxC#Mt1h(vWfu2wj-jNZ| z_U4<=XgFpj`jWt?6qpd#z*bCBP;_;o)9ELMI(L&G^WqD6dGVn$y^W3u?upkwFrZaq zNr_y$nlnFs$!n#x%S{i* zjm#5`H=mRKSWKAC{$5kp_m(@D{wfB0c{n#^&R(WnOPkf4Wf!yB)YJrQ@vC;kw87Ey zf&Yq0N(z0^`fKVJge~0~GMvs^`*q>^W+hSJZgYb=(`!A0zaE5U7d;mfA3sSU^5Iow z5z&*(6(#&5F+zeZZE)A3sAT`H#M4f=9?d_D_%2s@Ke$N3B%0D=%Pbie!3lZj`1^G& z9J%~ArY!sH5l8d#Dtu7|5izlE520(jHIq&qn4s^&(TvR!PxH%j<36-)(-~d@y=J9G z9gM#V-}7yb_x24;rq<@lAi!Ky?2Qnq55h# z6m}4vo)Fi1`KW2;NnB^-1%Zyk+_mitX2WS?An}No=Nr|*OyB2s2FE6i18~6q{WCe>ikb=UR-hq}68Q zi4WIN^~3>VqOqv^wM9YMvu9W6<>h6xzhDZI9F0y7>MN@d)hx(=t1gW~ z9a^ADFDw<2wBpkm;U@Fc8h6>`8@;YdgtWI7y|S`0B0OBH)`mg97_%b$G6)kB)5O&D zZT5je%o)(xT=?kd=mP_Et9Q|J(0u67-HLj88A(ZEoRF_7MJ5~$9TO9ysHtgKp&=&Q zB1IY(xT&h9MppRd+OyG`%)#EjPZk${=hE0|Z16V;>@!@mo^35J0s=ye18tX2n!zl7?}7VDOHo3DjhlOp`a0lKSlB z<>lbuU}V%p(95k81v6Dcf}*Xes{Hx$XJzHMjEusWkooes*A-r&p^cIF&t&K2H8eDQ zU}R)uVHq=LH-eUjeSEir;3wwC1n%pgVNQSt9vc|gb$bitf%EEoBr$}?veuOp>6;%$ z*6ixOIdBQR$3=uTM-lhw+B5p<^y*!6H8GIJ6ce+=|AixRv`v^|k-+UtU|0)>-#a9) zw!y=Nu zkCZUh(Mcl-?D~L-M6vz5v4T6D#bm0>urqH4e|=pRIzX76_Wzah4OYu{LDcotO(BP1 za4xUesi@Bg%_d<%ky0d#0_hXNIPRv}Zr)c;Yuf3pgoA69-P5XZD!lYut}%hRDaN@e zf$k~(PG=V!7@zQ7$S_4!RXAR3lvLC3fUg{QNEODf!$ao;=W3PyNlC$jO$iJXqfqVo zps4%n7p0U`7}#C-pc4;DY504VYtH@V>4T-d;<7(#>gwvMQ@MG0Sq88`G!_~|{W^`g z+qzQpVxMnlY(F?F+IrbGxvJ$a-aV4e7P?r9F>8!T#iHVqE$!s&9zoyIZC`%+eSU)#D(9)I{R^;YV^uz>G zY)S@!NIiro`KkuFoINovtcxQL_T6^fJZmq1zfVg^u?*?Vh>b;_5mBzN>_{}M(kP*% z{AI`8c1B_Zw)tV5w^yV0-Nz1$0nL33)y%aIsP!}-K75a0!~gEYjXIvB$SwvcMx3Ex z`REdnT{yL{jO(->z8v)cGp|h@p~F=;TWs;Wu%fgTR-kXA}EM|cd?-e+h^|Ej8x5Bi=iFe09d z?j~oji&jgltIfR`>ucs*C@ZrIELmKx>ki5_ww#8NFt}OLJz#4gnnRfP{dK^ zGvaVwM#YD4`Uz3aS?eeeC_Fy?*3{7=kez`Bk8GgP_dSsY=1jb{M~m>qi7)j$Dy*O`?10!YhJ4Gv#Gk5snx6 z%hW6!VPSpI)SRpQYrBjjriz7yjZHzFkM}*6P-Mum27WD&r`uNs6z3P3a0t7Cij9cD1=7bKOd!)wP_VececF z=i1=N$jGn_DVda}CL9Dt2#hfonM%N+%ZCs9I@Cwy+`x2D(tQc|?J1%k3>PY0AN$yVR<5*1D z-7(vdK_m^GN#r!*lRP4QN-;+bS#Aqt>M>_s%N7-Y; zS6rU&aHuFL!?OICdaOAB<)NZ50sLTKSc&ql_t4eWUhF z=6E|^ZIr(%!`rJ)U$PeqI+0 zbVD+tjM0NG$biFjSOYo#X*>ju%P?_}=6W*R$B$D*zf=T5S5fY+R|8N4R9x%LRZJj6 zq@Wpz8+*FDY2W{#>F}Sj0bb{)~NCrhR5ZFS_*xKohm!x0>H ziB4yU*Mz>|JO~{Y!8U(1d_N%x3y1POZ!lBKlz_ia#hQEa^qZ*Bsrq)|0*WdPaT#0W z{q*GZ(`~kXDzUz$6G54Re6qENYw6n6)ZdL3=9?sQpL198X|JYbzf3|wW`!i1d1d=u zKNR}NMhp4HeTW;o;iHvkLC>PSi|IV;Fun6)ED!Dx{J4 zv?`f&5#P_z$virzcZpN$9`Z6Fz)Fs%1s zEFzSj96W2|(M~z6w$e19w7K6*2^%74j*qcf0b-EmiCaV2s z5RZMg?h~;$F7?lWo+!enVP4zj>v=lwhwHuZU!BI${18=_W1omu%@+PJ^nB;_JXz*< z81Ou4eh9`dd%74=%};l6Naf%*OS9iM%k);#H_B7UbQu%haort-#(z2SwS`5JY((BO zs0uoI*mY?{a>s7~rLga%0*CG;*A@PAGiT?k--f^ei%3K7n25#VV49(qW>d<=h3A|= zlYvva`Cj4hssmwUqug=lTElbbqq@;b7=~cSc}Yq2Ml|tnqweh49_Ja|??JpS)|t$P zIuY3Kn>}4y56XCpio71C&(D#UohFd@J)A6-8oKLuGCq1<(`SPxH}_%y9*y}s6`sxU z!K`}W!ws3MF~r9eLdOj)in`(B^|G@SE#upr$GWkjG~1|(^zrtyY5l)2IE4EyEj21P zYg!xO0SzHA3q7vRE!E?0XR;GrSHTa^^Tc@8`aX)TQzIdN7WFByPiFL=92Y}5hF_xo zY*EzN+%edUV-tTfxVCx15=>=X*L`_!7-IF5-EIG(ixmmEZO}^^te)72^cZ1`{N%Nx z601(zvT~Tw>g{*CQfM^HXulL~w9R4PBXl+%7Q%55yLU`&?}dLh>UB0Gaki?+^5t7y zOQxG;g`1l{?xL2L<8d~_LS87wd_?&$+J#Gm?;tu1U3Z9CXoSa|WS>QPckUUeKw?oq zn|_H}510HHpT62|RFqq@l;iFf92#Ejq60qSW9zeXrs7~HL+xVZ?{4m$y7GPCB-*+W zwIC5qbaB0KlJ2o@aeLPWdDGYY$9nD&s24n+^{`g|rk1S(+dk?*p!T|5gL%213DEeq zm8k0yw&?Kk>>Yu_)NtNE0GwFYrquOE`ugh6{^A?R9psrzmt-|;7ZpqTJ$LAkyN_Ch!#z=DR$ja8p*(+^sOJIxZPg!!NLEU! zu%G~!&6I+5KN#QU@urnHn0WVk!S?C6QA*^D5~#<#RE-FT2OAs#s(k@0MihhZW|2)@ z$9@V+U8mk=Y5r_uBo?CV_it2ueYbgGO-m5DEWl3;4hCJV)g}5k0I(j>WBWXvS z>}zNjJbaDzIhgub*#ExhsG%nTulR^exV~g*tHE}pI-{hC%-)9+M(KRy?l0UDp&qh7 z{!W+f)WX@y=VSP%$KzuG7!*cUJ@0t(P67>Q9m}bG3+CPKNw}H>uUaWt9Xj~pZY06* z!kq}F=?KO>kZsiN&001R2Ts^TD_WH+(L8QgAoXe)cgVEbd{?*fB3m3sm=E{*raWls z03=%|g7JNQZtNJbP|ZjzeWELQB|OumZl`sARUWRocLu*%nd^-H?AfyRH<(7M`qnhf zNhx;s#|}aFDPJ=PzCrMyQ$u3|H@?J3V&CPhME&IS^rzOBX2<8djn`^ZI6%%*~NB?x!Fey&sL#l$74*eLJ(~O&3&;S2HQxjy`i03p!M>0?}+Mlv&bUt9jyg*q%$sGOs=_(c<ch2RG!A=xGkNdrRA(KUq zgCj_2#7kMyY6J=dn`FLjRdro9^U(@L)7B@B*7o9nJh&Y45L6}NF}JNsXQfgPhOOU$ zTs1iufA0R&+cVpaME|Z4eC#H-*glfC&yrR*viEFqqcuC%LJ-SpdRapWk<1rrM8ol|LDR=#$YHPf9ZsgEgjs31!Cafsa7 zJ%p=kBY0^S6K|03AW>OyC&M8aqV~abDZg)CZf^g3s13u^m$PVm85x;uxcS->l0+Fc z6k|kN;X;VP)`kZ->PVGRA0XbzNK5A$fdT5}&q_l}n*aje)+ds7*!z{Jknu^A#;4CR~_? zn;erkpy3SIYI?IsiH({WJ(wBfbzwaaxE_)$8yg!AJy$NeomnEoLv#BxQe`Bef2TGY zx;Ggkoq|Ir7qBLldOR&e7%6+Sf2SpL9;bHpcSo7uASTo9%&;uiI;X!x)*tUuqwT@Dvf;zbR+D6H_P7BKPm zMs}Mbg$E}PL7-uG?>Y6`AZanzw-0KlEA2;CZd0(|I)Y^vNgZU8Fqk{G;dWe#N>bS+j0oAg?^|W_uwM=4}-i7ub z>$7?2WfIvDo&nxiMcX2RLKI3*ZWTgOwES4&D%WS$ykuSTCxvB8uJTlE!Yn)i&my?8 zZ&GHOFxy;)g!&H?p;-a21PU)uG2RqwX{S0gzRwOB&ISXDE2lQeyYpJ;!FijdkWi0w z=Et2dr$>3B2s=9T4g=lEaa|`5iy!ung^#mDQJrLquc`vZ&lfd4H+}9Lck_+re9&lm zp`3|+av??&>~J|PyYDbm2N(*j-Xt7b&02FcEYw&Dx}RgZjTv?t+@U(5`d67Llf9)BQS;&SXFBdMw$+QR0>Uw$>PW4f$dd~)61pafv#nc`xHH{euzf)p3okBj+1^gI z^>-7w&dY;-+3z`CYV^1fkWR<3F;g%r|LSqM>wdc04haL_wETPY+@+ussH;h`n-AWk z%wXf3mES07zJUpMaHZ!N&oZ#6vqY_N)Qh&11bKic~O^R2qelg=r_7VNot0<2X$ z`cey&?V5*x;5+wpWBQZBb*A^*zMsOr1yewtew3R@U87lN#6VYSeqD$;6ru8xH}1-l z^56*nrtAB8HKcUG#Xlf6STdb%uZ6 zZqAfwJ`J)dJe~NSEZXMaXr*A1;Pv>rDcpasX2F8`8A49)VBZlj&d6ny5w zfC)spScK+4LEwM5Aa@Y7njU%g?i~`5ev4B$BATJdb}1~39R={RQqf?pvp+B0DU!?|n6un8dxE)S|aQq6L(bw?{I~xCU)o zpYDM)<0GzX%$yZ#kYl`!NT>o?+0fehv!Qlrut-s#vymrt#|!6B7;kaa#$?oR?AP>D z_C*$^&fdO496Krt;g6n*XSo{+eEbJ+2M~L&Z0LKg#(o$>K@H+WKi2<)hS!JwE0>jtv@)p z{%ZQ_=jPU8H(3^UcCq$uy?(62$Q1=O8SP}6B~oD5cK%>7{HkMJl+KIA~$+m-YMJ;>o zIP&zV?n`?*fWuAX4Fz)f>8}BAO=DjBRyE9nPvte9YYR;5y11;t6v$yuS{|Zc{ZCq7 z7zG7S>NcQ-OrI_%qK$hp*xgQ1%fH$*>}{8~KA#sAGlsAS8U=W`-7M7t>CCzeWBuSr z>`wx_4*{YS7VnAUP|@MhaFEeKDCqOok>A=%h}3B9;Wu0siqVQxW~&i5zXehhdjH5J9cZg=x_8f zKX@@txV;mx-x^zwt1((MIh&g^I{syYc0H!Q9<Pnwxii3KSleuc5;;=+pF;YcK(;LjY`Os$XTBSHM0 z*8uQ5q^!X2e+piL_eV-r*6V7Db6DUZlBwnPuyUZxZ88x^>}&`0@h{ZxOt$h_e@ z?-ebw6>ZU9b;d5wbbyn^OgjxnAuo46m}b_xS-SDtVRQ)JVwTVJVns7+ABiRZ1Z;`* z$a0WCxlB};Ma?`qM&~pdI#p{)34y!z4!UIbR+~&$L&YgoCXY>%jHEC6NNr1s?6zlUT@uKIPr@>5U+5J_5kECvc4Lxt`0n z(-L}Ve!BKligQ06ul!P6sBE_AJVOX9C=)1k-#P<2L98J7RPsWn;vpP9J{}GPw!A(7 zImxD@E5>Gl17Y=1sT=(++Ah+xzf)~U-Y8+*N`)=`p@XD0JBlr3-=2v^a8>B8FAmj8 z6lg9UB&YK3!E|nBry-j8?-4$BY1|ShTUd*tVdEp-NT}?x+ZP5DIYUEmyff$k0g%3t z7zrOYH}`Hdj*iP*x81-<%14;W?Kb}>Agi$%MHbbjpoK-sqKypYb?NKx$6hmDX=w(~ zQFVz9)L2L|IG@l225o3UQ#{UNYd4(m@O}~q)PDcJtRLC!a)wMhznf3wl_o4B_JTJq zRe0XCyBs+HkVQwA%}jP$*Xd+X1J8-q^rwgz!ElzM(u)B(G=gzKCa=tbQ4p?}A8|KV zbB=2~p`4*uVcZY&PS$>9@7`#B=`j~_n*xFA_c?yp~Kzk9XO zq)@@nJWx2eOs*{-lVDZELy!qS5@F9-RcKUI-iFDDfP|}_+9EW4%|r9eS^s#;`kJ7S zMi)u?K$}>nD|{!v)KgV`$0Y^Y}n{=PxnijgI zqA=eT#iuw{Z~<_^o}N^oG=AP?;|2<2UB|ze@0cy?Cht6BNUs{c7(2)YpiBk^e#YS= zKkjjfmDue?%bK4F33n&=s04R+?xD{~LsY$$y zbocv&7WNX` zgQi8N$ByVTnHHxC^y}2Zif@`C{5%YuoMXo}Yt8rpS_A~mkF;iH8)UOto7a&-PAM7t z{zS{ozediX85`kmNp&?Bb^g{G3R}2oG`mIJI3&zAh^ASHP%_={?BXA;|sc@^AD zef}eiC$Ip%V9G&_iG@Y`M{Xu^C{+cK*+N`AsBV)+$5KQ@m=*2s3z+tbHSXfF;EgY!S<6K*W(y!RCJZ{WzX;&TO zW98$VMAr17#6gQ08VVa3iO9=i?|ZuurpV#yMX^G~nKJJp6VVrxmBF3dMkB2|)Jsc; z&)3>Uybn457;8G+Eey}vyv)DU{2(MDaUY8jMM~k4Wgf~kfV^M+$bBsI<)Uy+i>g6D za0vUdr>nTA=+H&xVEWjQAibX@rNKRJT4uhg+4H8STimXiMv%s~Ho?TqEOp3!NS3pJ z+q!1{;zDM8BJO8}9vtadFo+Z{Uc-rrp0lZOdUjG5*^YV9uKKCPKg!8bavRn@e0{wm zEiG+xQ*3Hw6q6y1-Bg-fLq$#PWTjP*u2@`0C+FS#)_=%#@2qG5C%eU7);2SysJr{e zXFH1_K4?)%MA0!+ewV}pB7Mt88!IS5d9=@{k#5$Z&7#t7vN7xOOu^;CQ5L&cMWJ7K zcPxJA>J$`KY;J93Q>MknzDKwow5;JF_%k?&nDZG$Umj!1B*UTI)G9alkLM)LLb2}0w(kqWo2a)-x+B}9F_>n z!O^Jll9CT}bfT6Mdlqx(2lcoFS#Vj%c8W-Txnrpa8Asq zt;pU57!F7{xe-e{u!fT>XB{h@9>+mcA>zMy9*DOrr@Qd#FF~1X}s;kBO@KY zzOfO91|uDr2r1NELVpo?MdGfinh+iyzHccbA<>{Wa?=DG21kP@iMXZ&ums23ZE6>c z&CE@t+#+Xl zLj&|X5>ir9fsEyMB1Q<|(C8Cg@#d&<1ciN=orli>ToJK{;>&oe6)b;gJ*ebo4ntB& za{ENagnDCT4nv`ZVJ+Z))3K6%VyvDHjPWzLAp?N;|1Ev;e@DLj|M+xHD5FR7usORy z(FEMm${PhiScmbk5H^3}OD!)m7R3iKDRv>suI~4_I;gKS6~$g?>gQsaLDQUxJpdI| zLHR7CuBOI71{Vl%Oj85#%5&JT<0@5ynG7I_CHaM)a$@<30d5vMxWR9OKTvQ9F=7FFfr+P}66A7Wil8Hz zvOV#={*BA7Cydc#?ibf%ZleCm4w6H}WtuNvg%y~=O#+rWE|y(I%Jq%?kqX0DBoNi1 z>$5RV>xsity@EB91D47@JY70Z`tX)RH0+^6JsD@_&)fld2j`*jD=P+Q*U9dXMe`uI z0MZTE34ip#{0e)7xF3TAiNKjad1JxXEu;7 z&w~#VZ>t~)@CQW#>xacYvLmG7W%uosA1EB^il5gdMP27QGyOU{9fY92*qikUC&+s2qXqB8+Cctm#3HcVBD1|Wu6V)oJsOSJq*K|hV|d3Gk9hsXE*M(Uo0PS4noVaM7Y0nu+qFVXf}?z{W8&s2*xxNWkF?$D#bE8=q^Ph@&m)08@J2NwJZpG!@5 z%inY^rY;uH+_UNG3}9AtL7o8@xE4fZtTnJ}pbVIRD-Sr1)|I!uYgd~20*Pcsta~ylY<4*|qGRjI#XnAB`Rh|m zfzT_Ts*4k;rG8XE_hvKsZ{YmrFuYVZpFhU!9Qhk|eA&}_&Iw#;WdUCrUY_@7-P+tw zq*_XqMhMb{^Q#_sk;9n4T->C4E&9mbp=W?)-7ep{YiN=-X-2MRY~&e*MK5Mwj z+^Cd0UYQs2w&axQ20zFRtbdrvK%c49EklCQK~^tipe}XzBRQ?hw`$9+WQbNi;s^+S zI_^iSvLp!Xb+cnUxGyulaq+3%qnc3e%kSw944ocO?O4t_&#WvIEJPm`HCl#dYa=L_ z`FTDUwHvus9K@{=`3ubvv|J%Q&NR ztKua1X&4E{$sX&TV=^TAhAPTNS%yVrp$l|0Jg>cf$wL#|hWG1K3inFSY?3m$%a@5gec~p@ z2<%hM`Eu|#(v&w6;Mw<)8!DbJGpq#o*NxUL!q)q> zKqMdaPHMjMDE!Y>72>}$k5jV>_+gnCJu8-I5IGPt>`}g3I+I;kYrcq?>on__>U8G`E5Y*Lr=bHbG$>7}2GNylyQd>@E=9cqr#@5C z#Nxf!3ksgoqgQTg3%5x zfCh5DoyRZf;kW`J;FuX0b6-ICPBCw4T1z{Zde5oG2;N3t)FxXQYPd`!zjKe!wO6*} zOMVeOqkaWk)C4N!zg7O-;X-w4aFZQ4Mr6I6;^zOlR5Q(iOFqJ-1x zFc3Iq)bya?pN)_cNW2KTRt~y)Jz;Eh_kYU2Tb?fxYKg_o-+P4o%u3HWT*lf=2bjRt%=?`pS&%-N{6O5 zc~ERO&7AByrg;T6qD>8#>M3`-L?*t0de z&@{m_zRp~PjOA>9WL?r-WEsYO8&o}Lr)21loX=*6LH_eS*|VlIh9B*2(}Oe*njYwM zd_~ecYl{Ea*oEC}^FCjtJ6mPg=Cm}oU5(yMbNV<>;)(B{zAxt`Wz4>IL#dkPZi*_m zVUko?<$AN6i`p0c9TqH5R>w#0nvD`4-$wAiM87htMQV-Se8$M!YD(+ecva2ut^D68 zO)@%hbsbt4Y_7zwuGTyxCBvct^ln7N69QkIb}q}eOmE%O$!mMJ$WT4a_amX^0seYYB>k1N{iOJ@*vp=wp^p1j%1j~2{A z6B$`Oe{BZbxtuifjf;XHJ71GnuZ_FBUo%dwu~zHrT2ENx=v@OiDGo}HM_Y$?7A^!^yzglABnZ3=*yj=|$9G4iCZ=R>NiAtS(uFnOJ zk_tUfv>bO1waNl?gUX_@XP-`FK#>39r(4t9uCZlJV@8tY)%-8#hU0X)A!Codpp)i( z-aOB{-!{R~Wo)9HZiE+w7SpUU0X?r}me(YhziwaSW?n|^$mMzGQ|gR-pXpgg(Dn=y zo2#wn4Q$7beZ%&yUgPBB{I9%tw-X9J?x8;piB;_zu;^H`Xg`1sFgNCFtA`}7Ma zbcX_fGbQ@ZeNRSs(o=7-CGgx)1+O|xa-pV$`t$eWW8%f=16s@QLA}oZiQOSNVEs*s`8A0& zFQ#QKhrPw_#}JMW^u*Wr{RToiV4yW^Qx^{3eTF7$kM-wy?b-fw^VdemnyQ}Fz=_aT-e#MJAB_zWnl!;kJYsd`E^J6ByuXC{ti*sE&w~=*aE-}5 zbL5<$2G_{eyCJjOG|t!LdD;Nf?IhSgjPkoQF0K9MO-IiE28;bfiU=Km7T6p?^DmUK zRTpPFA}mFDsh8GL2lk{Qfc&?RLwe~jTEE&A3|#T7AwF{XB)D2;i}HwL7)a2w4>5@R=UsbF+ywHCB68omEo<<;=XG_7p&{>D0Dee`$&TZ3!#E-& zJF0%KaV7;OgbELIXz^Qv9-zcZ!BfSxZ{0sEykGM`68lM*)SfxD?5QydRb z3XT}BV{(1g(vn{IQz}bEj&4x(?!^b;ZN+%29h{aN$Bu4JjCS1}kAOh+AITA^XyG%U zdxL;FP)SM278dcp{iq_q+tStcbppj*sjE8 zWV|OPPLj)i_0*s+1?>6dhaokkDM{=T=Do0n7haa*@HKlfSuquMjnagalzon`TJ7>1 zBU8P}JJ93c=kI)h5@cw!0&_CN?$%pMD@KQfJriAgq^!pEytu`+c&xr`6x#3AiX3bY z`Q7ZAlPX0FH!KZcrIy&ynV9Cy9myBsZU%+^6&+H&%abrPtkAO!jhINue)C;X=42EA zXELN)DemXb?B1ZHQx-SSE&gIdc2-uebrdHq`xW)p!mEFjO!Aii_}mIIGI7Yk8p??4 zr=iF$jgVm_1vE1>mRxlhz>yx^6e#=wJ&r$T!yD-WLZxCjxD!-NO-&~(JHTkOuRmQr#Xe+(7OsoM6Z7M3NeM~WBNDFyc+20FCK7S0| zUJD9vDCUK=mQ(QGgs-tsgr^zf6OkA-8jT1T| z?(WSedaQh}tu=w*Rouetn%yL^K(}i74Tjp~+eEY1?YIU_+iy@6{?B-`qRY{GoEk zAkKx&&8YU_c%tp}wJ?MJA=ZUiDBkPoDiMGZ$v#ZFa{rrH$we1Nw65cjY7gOzD?oMx zo&9S#?(m}nx{hvGr2 z<>I*U1YknLq0^5dsTE)O!yE_L;PSd$etQ?e>%31-hVte&ItBp{w?(mcXy{5u!2R5$ ze$l7`799_G>wtX^Qk(4O&tm{;Mhk*?6CrW@&!6tek2HR402QIOeF!MH186=#_ot0g zIdpjdrd;W;1wVLm;!96}LiXWby7zAI`n_3NY(m0xwrEHOzo)?EsOY}AAOO{m(OS>` z7G8R;9AJz?Fauim9Jgf$z3#TMgHHnCFitOGKM~af*e!FF?~6}89~~WnpzqU_`rXB9 zdw{yGvueJ4y4_!wqj~4O@vZ&haz+{&MTOXul<=b~5B|-LI{OV)R@VEggG8V$cjG&! zQ5aW;pHbZ|=ptV(HT+J%J1T?w!ptNz6#nql+%|13EiDc9d|#ei?;J0-hXC-;324C0 z4G2X%Ez9&e?*oQTY%mFd@Pbps+S}X9z}L6$#!}9cjlGCr1tw|Z;=-Xs6NQ^=bi0>N z%(9a6X#`-9A-Pk7-n|L>+4SN1=wPPYcRh@{m&XeQhDM;1)EZ#& zqJp3AIF9g#WCGo#FRllrwMNj$(Dh!^C7QR~cB?{z`d(+1$k&Y31+5jPs-6sk*x}HR3IuK>U#Pw0^z#!t1 zloEbJaNHTjl5SfE2r54iS^;*zp@x{wI3qA=jKU+lkR%GC15-#y!Yr;HdDiY=nR@=#)J#0<`8xBUte+3M#6i z1-IcI2x&7#G|~*8d#OU)`D%-cjp(ZR8Y?EUfESspd>|$5UD@2;obZa(B0r3D7Gcrs%RjmJv70p0+?+GT_U_ zq;v}|uq8Gh3m;OAQ-q`Y{I6ddDgqdZGT@5^j|s#!?EZjB5~K= zM@!1c@a`An0PNgvcY720uM^65Nb2DD5l0!<(#6_rVl z_@6OzJ09{a>ri9>Ik0iv+`+l^A`QxTEpz(pL zK!6({(sDo(ua29A!sB}VtTGNr4@F;mAYpmwfmEQZ<=(PfLACwq6tG4Bw*NxN;}j#4 z1y)wK4$s96;utmD1uzIggCWRgMDQctaZ-#srznPm{0_`QXbqaecVN#3z>XQP4LF7*kUpIZ_E{ z){PlnopcO&^6yaS5PVN*X;#GI;y!qoU!noUO-&sJ%y@{w4fxFe!Zo}O?P;M9gP2W0 zFpXc=2D%;T6?e?Pu%sxA-`p_I?;<|o%of@iR$f$8a`F-NO=&3*0V~liRU7MSr_9aG zovuyjl*9nUW+>ExgGam~GQ;lqk!JXvE)Yx|9HhM${>y^E>n;cS`?GMI8NY}vgILXPi$B@dXDDY!cC~*6R2M4#+8DBq-fyR(EIXpt9M2)VbynPfZk{&%Q zm#kfq1O3F;_}?F4b1JH`WOvrg z!S#t?QhYoC4o?0TrZ>+Pb85_*ymrk5^xNV(d3amj;m6=oz`+HSjO|@Y7EKf0{geS@ z`H9u=uK$;U4x_r9-1i|&<-Q;BC;$rjO zp2gnYv8^z7ddUAp+<(Vo`G@c0xb3$0-di#wlzrQU5RxP_Gc$XytjvUvojr>Zl1(H# zyAatsvVG6H*ZckWeE<3V{`ft9-^aKADz59kpV#wxp67X-$8ntBRl3)6N-;`|Zr$ny zTal3w(dS)3*U|nZg^)PYWbI&O;gpRT>F8v=dku0u{Xc z{I}FmJ{v|qUKamXl&EzCC#vwHnM6cKgAh7T4-vtsg!|n6jp9mio`M~AOsC2H`}d8E z?8JFM2EMAelA@0KJ_#J@D_-<^$*swZ;u&@2Y_XcRVAan1!cR!a=l*KujElgs>MiW`v#hzz zShhDeWM3mi(w&b|aPy9ZEhCu4Aoe@|LxYYvfK z2O9qrZn#$Di2*|c1ABAlOb5@G+bz(mw+qs@UG!{EzFP*W z9MZsR_Wb45dwBx4he&TGzW-xZpdS5fC|?zhhTKtpXTFvPIcu1k-mhQ2bRSmd;o|0w zeoVw{Yg`z3uGALOX@38`1Kl4RQBphMT8K7~%TduoPfLFH5>C{}Hgo2SHb{@;xVV(V zy3#}}gwI!tvc;W#@aGZpT@^bA>X6ajgZHoovKz4}YSMc)=DBLWsx{jNl-O^QevWr-;wjsi~^A>r!jXFsg;#g+Iz=YBPC|BM4mfYnHd?rkgK=X z1P5Ulef=45x(TfAtLfLS8k9qa-g$WRA(c|+7^~l+x{~dC;2u+?OL+<+Gi(kOEaf@M zv=Gwm&UIgoA^jGDp1oT)5ra6Z_6P7eVa$ak-03l!np+)AYKgPa$a#%*iEE_hOv25> z(^n@+pI3??svk9F7{#Qo-KSQWwKS^#P0P?k-Oj-XEuj8-I8kX3V zpTKg)sxM`@y!UAUF!R(fn||)({ZaxxwBnv%!wS0tH|6c;51#qPGP$|B&b=8~A?&uw zL$K|O$hj;i9p92LCf+L(zaWXpH~^K}e8A?+M~V+y?dK{+x+5 z;2DGC_Y2;N{XoMRh2*e`2Okzxu)q(Af4JxP%H6^itrD_tluBt-`3 z;gRFJi8@|~@iK>ocZ#^*U;Y`nv*ZT>S|yHg_2X^-fsmaChf0d^P1+5ttRi0NbNemL zUTdH1J~wz#hl0C_8Z{fi7G?s^c5&nKmyTPb zoNbE-=kMu}&@Ncz1$4AaYoqTzwq)(-cIjr~5exFyS!G>TjitxVk8G%~t);}HxYZfk za--BiPeqMq?YhHE)g!s`woi&L!;GjHEN+zE*2{+j6)Et13d@J!Rg^<(SI?8tXToTM zmU~$XaekoZDRyyINxMn=a52hgQlVJE`iP(N;vLhjE3JUxwb3A9@@kX%4Bf?fS$3t^ z%&-IGdq($B9W~)fwU_Y$^11NZm$#a^geKHTrkA?PUL0BQN*mLE@9hgy4~kQG66bYe z3tKB9jO}Mv98*kfu1Qz8g{oe6ah;iJqFlne;z*tQ`8ZC(GQxU;i9I3{!nT~w0=!yp z)lTL3358Qy^n->mu0MP5OqXbP(OQ^pLPwG+=aO|uTim(I%35W{oY5e~L@q+vy9;Tk zFcXPQK;05FZ{X88<#JbB!0W(v=TU)+YQihhd|qVzDKC<@<(i20G*pj*l}v|(_hXT7 zy>`uKn5t;8h$BnUVkriEaJ(b)=Ov3Jsy|uZJeMYDbDE?GVDS#(u{!y)$}8@*rgO}? z?kqqgdmtNwo|4wTwaqZkJTH0h23LT0kruxzl8mF8FJ|Z%aa)UHq-J&x$y)Oq+Yw&2z*N11ZnIzRIb zy&UI(-pBY^#rI6SmAh0KG)VaI#qd3{Z@Syn3%*MY$yEImijPf1rq^MFh0ESs%#BKy zZQY%9C-6Sv*Wu}+G(Nos{Ds4s0t_Rh64zM6E%TLQ?8qiVSg-OKe3UBHo2*w-K8AWG zFRSwnUMHc&msi$VQQozoi64r;C%UiEn66*tBzi2R*Lg7hNa%sB4WXIpN9hOXe`zK| z*7Pf67_jaK4g= zj8wk5anA)U?H-G~+|d=Bi;>VGd0EG|dF{>hg3|Zx)QhVI7rJsQ<#E^kS&hnc=iZM9pmzjm+wn~+#&kP!tSmaYwb3#CP35>&Xo zDzlLgzUWZV-pswCS?~KNFpqk+K5JIIiVT|{2kM;Ft9K0A; zuD&e%Ohw+q(%0WZF0B=?9vl{M@7po=;F8ACy$Uv&8#T&|g!hn~C0ywy)grl`Pmf(B z=A=PM)gUq{@4eFTJ^2EQ>3P_22@O2+mn7+dDz=+}^}JS!3Ny)@m}^HS|0-bb=Bqc|ajDfsk#*8S<& zm(xePzn1uvsM*?=q|=pb;)-#D3GXfM($0y5ZnNd2M5}}}YN)YruD+jke32UEC6HN* z#M}$_t=0Cg3{TiAXSLMw=?Xgk^|2~_)75i8-?h25T}5nqT`@hoq2wj&UsLfAwfF%I z`F>{e>}#pv*H zZ&o3%j{6Yv2M-f3FLcs8;>Td?u+Eho#jSQ6P#w^kG*ilQ0aVZZlWhHGqOC|tf;MOO z@hotS3lZaM^;;~R44uO7m+a^yySHDvLX_uoT=0Qz{z-2A&D{y#n>aF$sGY`2sop2Y zTI70>$&f@^%A3?1lO226k*4B}g!fePJr{p6#aYXSd#`F+z}u2i(D;+as#ogABJ2T; zP>y?Bkv;}pl%x7-s=e!nPF1%fCk6e*_pFp-S@o;yvrNnfVvs(AXZR~YxyJAfsHZO^Y)eeUAZ^RVHCU$cfh$%s6(Ok0R( zNa=_cdsHhnh5X`?EA}!cA>qs0#^$NO zP7+?s^OFNbe9x_!D1zYa?vZ7zY*NB85Yq#s%V){Nxe7Sy{Nz%eEa@@QfmSt?f;mE2 zB{vOQjMIFSm>^ra7cH7Sy^Y4$xi$T|{SU8SM2k4l3jWNtR9O6`Svmm;qFyIEV#kzz zq_~C`P%W|7mA2Vbt8oz3zvRW?t>L|Gx0=K;*ly2zl_GQ0@k5!ti-4q&f2>!s+p)Ac z4deZ9w{aDD2STz{ncre!JH%pWg$XR#6CfGh1|)1J<*51M31zq3i^ySi^=%EoR>RpM z*rS^qn~NiL-nmn5{E_^0K|HsGpxv7C&IR1~FN^;}~n7}crOH;b``>Q(!%`~0!d!yi74{sb`F zTFKp_06@-N(@<(YWA}Yz#iM}ZC9h#q;YIS%3Oj43%cjeVQ@cLXIE=^6f>=?Z%^IUo zHd<^WIiIvO+x3qimfAk&KHUDv;yd4_6NTV17U(u2?QIFPe(g@Zrg|((P)YW&NJcHH zl;655hZ_OL1l>VEQamOORJF_IU5 zw#R?uy(kjej$G1sbxqkr3Sbe%lW=kE>t9T?BWF!L7vHCJqlaVNX$1geNRKr7+IK^> z0yJd?d5^MWr&|)mOzKbPifTT!a-ch*f7OsbC(>yiI%5ApY29f>@Xomd*mGJ%QRzkYcMicz`@xt?IdA#ROge=7={`-<7f}d=EI+! z8xy-A&7Sew?=K!5L@V{x$VDhHQeQA%pR0IXZQYn6%HDbqn;$eBZXbMI_mRXHBE6!X zbY^`gE`j1l`+^O~IK}DfgvDExcddS7)i^;28c4LVXSTZIzc`c(ZYP%n0_)f9UU-Cf zQP;B2-N9$3NUm9V%B=Kz&PW@nZG$PmTj3Pp+Df)`$3nukc(y5c>CmU-CaZS+ zI)VImYrMG-#dgGU=da*m^o_f-`u%S%ZtWG!Xc2Gn zLx*u!6*>DQH7R!I5Yaa}vi!vEBbpMeFZaMcbcwgc4msYdBT-BGk$rQy#~qt7ooL53 ze6OZPJ1ZO~o^k0;o;)v>zlwlN0?Lic#;;H_8@HlgM{Gl+w_D9tOoQ- zr&^(1eh^@=WmWhWL`>v{hp-mhXxmZpk~gHh{!pGnt+a*Xll1^|z4v^y1DK;GXS~;> zx10sss`2S6xzY;sH#iCJ*hHYXH$7xT%Ap>TS}2V1|AQ$Xl3hY#++J*&H1TKbRX#ra zb9-mbrk#Hwh&JVEM8>QZ#_- zLi`UcmYf`*4w9$Ix^iF+@u-{8?fIEO&s(cL(C21nX7YbtM}L?XM-ASJ%ALMgZbD@ZMCM70BhG7Buz(WFkzGmHE-f(f>L^A(nu% zfJk^@$0jSQEK_S4_V{?!qemtt#AR|Is|IMV)c)`0^xx&|K*!mJI_N8jin<-`%!5rt zt?|;0Vd+u%Mvu)!>yh=h(0=>z$=3}rYt#16QZ=Li>TpQ?8NVLFzkf2&gfIdPT6lx& z=Rycbn~u)*2gc%Ez@{${P$z)D03Qe+T^T95zNd!SYW|XJH2_pgay^q{%?f`qvtzLnwtI3h!{=|HyKWFn{7ui*iG+XW-1RI z<4eI4;J)SU{jvDG-{mU@-@LOVA&#Q4F{3%Pv$RI0q)yd13&2320N&l`Wu@Higr>6l zSCQ_cr=sN#8>#I$_-pWJ^c7jLIOxMrjrIhN@Zn+IvN68ossQ^LE;cswyEndvVC@g$ zYZLBSON1vSC4rLk3vCA!YK4x*#>Qs=5yE=yZoC^f^!DrEo(n+q@$_7w$6%L4H4_%q z%;1TGp+M``&zI*;`8qGgdcJ+5?o~^Ko#Kl3dkJ}G?jfzLpCn~F$b>5!YUbY@fmbUl zVlFm_C2y;h>~sRm#o!)-ZRjX|JwLrAOkO?eO9Dmer?iY;4IQj4zUsO!r{v zo}(%Cr3i?SbfYP?LnnGM4z^3%0GRXg2?%Vq1Y?3-LfHF+X!P#jc=X`sI{7M3rfSt? zXv7VcUBu`{N#}!91Xx2ziF!;?Hkz)M@1S=EQLj|)5uEE9(7%5QvTC!(XGgm~{r}G5 zviJpgPk2QJHT$2IGPKtTLo4=cTK{io`es6x4*2qsj7MNNdnIex=V(6S&3Nm)bNT&u zg#eOfF>xbg~<`99^9KyAO%v!UkxSMvIH9 zg^{_hgOoAVZe3eH*dS1cAGQUxOj&7phz&Qbzx4+x6s=;oBiM$NlQe{a=&Kc6Pm?+Q zojjh3n0&ejniBkmI;Nt^9mO21$@31ox_>wPf>fl&YK_71kl;dTOM>z8Z4e=IkDk^T zrp?0Plg=q-)(ZBnU?;A{^BP6DOs5q#5jG3K(o$2j(=Gujx~=P=7q+HaUaO<0b~)5Q24^R^_a+q~@&~s@*_~TUgqV9;yy41EEUa>+)sg&D47^;kw>_M1g#3A!Y$nVA=7Jgyi9N%CHe`bvX>ST$_bI4 zvMv4X*;+-S^an?weuJz3m@L%Bf;6=uvs)JyPTgu0Z1Kp8nl_RO8B37}6oE0+qnPE&CQL8 z*tg7}0y=fjfGX0=PHeP}w`u-*eDL8>z$)Bx=njLiI+M=<(u;!v)d2rZOovX;%ZcD*lezBWu+g_Jo}7< zq1kr7aH;Q}QAG-zIb3QOume}L=O_rfg!eOS`s_%PK(;2nE+eY`zXvO1( zhP80;j{wtk^O}bE8>aF=fB@D+qv<@DhizIMc?^3(gOcM}Jn({^4cRctIcBz+w(P+l zI#Fx(x?kU9#@Evf>s-f5A!V>&z86t0FQ!__$IEN@)>1t{0ez2@-QlR(Y>kiH7S-40 zTxe-COMfxK4jh<=i1r%+XWrDeHIaT80nE}~&L@B95GJ(_ljQ6c&?NA6{i~5CEGsM9 zYF;P*K$7WOEQ16zZ7fo++h3HH7thrBdV<&+Tv@+YJaDOf(G}HWVqr#&??WSQ8}sAnCn z^$|JCb6(-%qWjYBa>ydd`?B}jLn)Wx1|-&M=FKPcag&9b42-ziu0GY`QzWQERoCWuWDhu}@Vm4ca>mDQUs$%1N&DA_?mq($BR@Zq^iC(Mj~ zK^ZJvk)Vt769q9i8MJ2$HP;Qa3Daz+yUyE`?d3p4n#qnzaq#n|GmN4UTd^*xtEPBKxc3xHOwbug)&%kJ zq9k=pOqh{46ExisMFq`$VX{FsLE9D+gSk6)tlUXyX@dr2q*;uTX+_4S(R#=)>RV+g zZC9^MGR-Iqaw_ZwKHdKD3HpN};6)3>mMF=|`;O}-#>RR-alqHNx_c0PjXX_5gMi@j zM<=ak52nyh6EXVd5rICR`w{M zS$l{M7RcGc%ki$Ep5X&A&gU|_N|FKwl}6!mh#2NsU*Ib83w~2=VuhY$5(XIvpraR( z$h{1F{_gFHKh{Y+Ee$-j(%Rf_pz&Cp`RMes*?zn-6c<}AH}B+NbNq9l9H^51+m9O? z)X3FIw9lW4uAf8kZ6<|FOv@@I-PT`OS*jA8>|(?sA~bUrbgs#@{U}q@*+?r4F9ap}F-WcomOBh1D@JqftUa!gJ(z ze?6931f2Nz`tX8S2shUhf@Dk{$=9ketxLorPUe)zj? zey^AgBiAMk#w_YQA!1lO>xyOA1qU(A-v&5RahpFsE1n+G(XDd5;R+yTzw=Pf7^ClX zxwft@zQrSplBGAif`XH^wr&av=(Rlwt)X{ru5x}%H7*-(tkBTcuWRuC>o}W`H2d)* zoJ7FqaF{LCpS}A*Ta4P6X|IXA7l(;hsQkU>W0jIj2`V)dy*(ik zQ`Gx6owe4XF_Ga>^;Lwt+(@fEdGmw&+ear0|-r zZq~UKeY0A!0&e6T4ULtd_GyVAONQ7kbjLvTy#{y3n&BEn)sLkX5r@<7owARAY1Fej zzv(r50doXCL6`mO-%a1=dQ>K?GeMtzf6GWs%}z~DBlJY-=*;h!wbzsu)YJBn{g&55 zR*jpzJmqJS!v9ao!AW0GRP@@rYxT3xgZF`#!FBfI_?>>l3^$v6|0-@1!)O#tk&Cf1 zGWnz1aq_}XR|fgth$`izX}a)aKkdzYv@D;_$;HJ4HI1ZX3JJYrPJJ=rn)#O`F398Q zZd$H{gcF=GT95W5`n;Za@86yD=62ZdFV{cCi7qa64Q_1~E?ukEbCQU<`a4g=0p{CX zvwsC(;8lKpj6r!_u^{HzMvfFVzfTfuU%->Y1l~SN;JE@na{*75aMC3g*mTbB<;KU$ zXW0AUbhOm*Aw&E5F*6a27ejc0-q%m)PpOeUH zXsCf@k9`<9O^{QIJwrx6xEG9OB^mJwRYk^2oZd+qv#SB?&J{i(WBk&)=nXdWZQ-w8 z-KTlI8b}K?ohzoyd7MF~BjSnZc=|)r( z0;_|Geg@|vsKK9;>n3(Cp=n(}JB}BVFnsG!`m<>L%#Zw~HMlwl*QZ>O2kV6WtH(&vzaR$o^TWi7zTYZ*#$ImY$)-O%dO zDF?062wu`%vjR3sXVns_e@S{oyKUXg9A>O2Lb5+%w1g)|Uil{idZ=H`YuV!DTwx*( z?KF=FBITS>QWBHrl^2}*jS>lRHnf~@a;LM>^D?z*9Vv%?u~d>qqO$SWh-6|Ef%{>C zFqzhRQ`V*b*9_=JknIpp#XD^vOaI|4Z5 zW*PmD-TeHTPBl|aPu1Eg+Z)D5M-BO@)7HYmu*mq$)OBe`6ya86!8X;?Hw-OXu!QK7 zlD@jjNK;W!2@jN%ln4*7m$zu8rldfYhC4MFubmX4g}R+e_v%x910yWF1XktHfttJu zgR4gK!UJvoa&6^viv;w5p*+Tp^;H&BZ+#O1U+{SgSz#zE?GV~e*%?9;;sD7@vzJiP z>rFHMsQF+ik6s8&Pht&hAKetxq5y0fR$ie!)7@=lKK&e2|fxi#~EZzMGmVku) zU)}NB<5k(qMsl8arHbE?S$azH(qpiu-4i6j*$$?Qj)}3dVR=u{?{m*GL6v%IzJT1) zWmoZkKN93nGk{D3BtWGA2$VB$L#iHp__jR7bvwmWpv^n)Sl7@nEjt^04Hw5veEaRG zvX=b9C4P8Wtc{kiI|HBU1hAL9s678v;FSeJOMu-FEFTkrTXSSQCcVYY-dE4@@#9BS z`UUNZrtc>oGtkY%TrJyL5Zs@eTo>B1laCTVpt@!EtR6pZE*X6P1SuL^ON#AS zHkAj)rbsvAKJfQ_eYTyWLAZc&0*CbCftD6=9#2;E8LWBzQp$q{kIiWRc&V-Ws^*hh zHkfQ_ux)5*A`u*MX8?&m5R53IxAg^MW}{jgmo7T%uj$vzz*kMOd96`p#BHM5>=i!D zsp{AlG-nu9hAklQwi0rvEJqJH&wT(Nlm4!NWFXuB@KxsLh3Kn`DMUZ|fg-rjLq|sk zj}E1I0EBo{|6;o^uo*^@fw>;mU#_cH?O}XX;Kgx~aU5;0ro^n{-1E)<#R9@OKETAX z;R1Cvp6D%@WX3n{IQ@PT-W8==r1Q$eUT=8p1}8~L(LKY$1P;%x{JcS#4&tM18Q=E^ zTwZHlvoBx1nDjARRX=zWks#~}Y{u4YU^IGu0)-5?oATK$LtS%=_Zdty3%n;0diM#y zv~TgBWk_7PvI-DgHLr820=lUg)TB!(00dv)@nizBmgxzcN_a_Ie$9QPevC&YW4CXe z<^33l^OEjXR$TlI#*Kc*u7=opCutWu?Ic1?I~W?HAZMvAEiOhZ6oR}W@=tr1#ce~x zlT=>QfSg!o4Z|w%OfC)%Oq&2M99sz5_#e58-FV23Wb$|5+k!23#DpnG5vmQVJ!~*p zr~H4vvNp#9p__if4N|uR#LiRpeVqst-M?*nHtgUNkQszAEeIcSEn)E2%nV=7b_mcG z28klwSo7z+JG)#fvKv=f7}1x(*m2#(5U6_gz$YYe{3Olci2jGvaS-GJe*!^)0_TB5 zT>M?|h)2gLuCCt6jbLs&gZ`^_!96gdd%CJi_OR(W{q7x7r#qv)k7|c>IF2X_-YT=7 z68Z>kj}(z)?Zfd!)5$~>9uk6)Tnc;p;^K5$mF{51|5sNm_<&!TQh|1-_w28Hmw4-v z%0$O<&aqTxWLpowx`$PP=LDkFan&p~C!e96cj3AECTNWz51ksjaMVq}Xc3t>B`hjz zY9d4;cQAU_ChYCHJ#3~Wmp|s>Z{p17W zk$B@=dHBkTXjmgft^3xbGDJhqf?PTY`B?Q-x?#Wq^diC@lm01Oek|p&Aqn=0L&AF? zfArS*Jo+6I?uzYJ@7m!({c`qBugdXI$V9pAAE%&}80%J|43 zo3QuVPWRQ-@hnFyz%-DDdPdEV{QN;z>Jlcq>5#T(7>|KC+3oGXsJ!D^Aa*bL$!Eu&r zk*fHHqPZpzK+hq#Reps&{ejJ|euQ3m@iS-aP)W^U~RrH+=^{iX~!#DwRKwh9AT_rSeaUs5X~&D3=BmJm9}?v@luP)nw;xiKlmOX=y1cAsC&sw^414{Dx4fM2{`L z^DqDNgK;mv!H_d3amVTgDWH6%iLP;&eEViO4s7EtKn4eK9)xlD@iGg~Z1%(_bZmj5 zkZ=X@-588^U8C*@eYljU$=_eAj~<_;jCiBSxmBp`n7KR~#)J1({?{xP=)F?x=8E&< z_R38~;(Ny7*u}qtNjVME`S7f97)gkjNfWt^w}ETE)aM9ocdqE@aq&H+gW2Tj8KGtw zGSb{Q``|XVvEpwuvZ;McGS*GvU0=cZ9NTFOPWP}ND}U84#if0z7qLm4au61u1H1M? zv){*3^P!MhLw?@Oy`twDzTb=9e&`3Spda)1Wuvfcoud33#e%KUYk#4of#`p_Hi~zM znR^0U?f!Q~L!i!zH}Had%6}`;LzuaN=8+#6vx9Mo4dTYeOM2~}<=UR29h$CgZtLrB z;_LRf!dK?JB`%MC#XDf<&O72SrC>jm2+zwS#n4`gY1{NdZ?EZ{!49-9q5 z9rT)j1Wk6ggCec%=ZZe-s9WybiP-S}WCPE0be}acZz?CNgta(*T%!JH+)T0iRdfIz z<pYo%!JODA|mW;u)6x7FGF%gKK z%aDluf(#%c%|`e&s24*$(W6@15hEzNLiVr<8eHt zmowewV&#eFhUb3N1CPN!fb2IUG!Y)HS4jQJ%ap&}T<7Qan-8ZkHTJiQ+X*rD`8(^G z_yI(Z3Q`PgIv<-_8}UG3DFI*$_yZG8nU7aK%qlyZ(d5Omsn5$}Pc!Sl275_rAJrjL z(1b0dkcL@FVBAxxU)J=@uaac+%?qA8CiTv29$`);vL(S8A$?~+<#fK=)Nudka|S1Q z7$1E>4Q0gV6T=VZ{-7ivk|K<*zqkKzbflc7*IB)|bndMpL+5&$YxK>|BJN1nBzg@J z(5u0433&_p{wj#_Yj09bbX7an!SfKS12QQ5(`d-8?QkhX;?rraZ$MxktWU1mD`RCx zh1!-b0D#Et$JS0!DGG!~5MlJf@h654OzSe@ojI0F;uD;x;4i3&_#EjcZ}oCY(!egzwR+3G4)KGYl!De->cU(o&z>6jN;g=qo)3oZeQsQ zWLuc0LYTqF{uQQ&qN@_@c>wzp()iTvP6UzXU0(FNi^ESo%s%s7KB#$qvh^Dh5H!q7 zP<66ZEoL-S@4Cwokn%>(v)4r~_l~oWGW)=>P`45J$vH#&S8GSUS9bOLt;Xz!ML4yCkR}x zD3(aR52T4;5}DVoh91oc%-~foxSvaqHDvJ0Npd_bnhLzi-yPuyTwbbG-h{}t>U zsUffA)O`*#BfL->(pyEwUb5~w8;W6~CqkD0y)*9TP>7ixJaVfw}IB)7fzJ&DP>(Zd1$e(d;zIUhvv)$w^{!V(^9 zsHk*Ro3+>e`NLVDPLZ_}hUId;wr1x}`A042$j00}@6g7o;02`(>UtgYK#1VU+_aeZ z2Fj_nwzk^Z+UgHYn;yRR@6&w^lsA%fRmT^U0Wd;sgex-(C#r7=dD>i9*kyUG)wEp? zmx-w**EFNTpsfFKOniI<24YKl{+4e2FjTbQ4O*liHBUoCe$1ubacX96W)r%Sfbb<; zCl<|yCQV8J9vkD~Y4;u=Mkc7|992nj{Fgx5TeiD?&u z4nMV6PN=CTBUJ3rTQRCI_+$c%4?+h1Jmvj*)cjIT?Wa~&W9XX+N#sHpMR|D`g(5Jv z(m@>8?$J5sIyeafk}za>M_rvPvB29H)$P2~+h>n8q|%`bQ?>PB95Zyw3eI;B6fNjz zZdu96oNb!_UD+MAqp*}QjRs(J>P|y@giv5KBJ{hQH2MxMOneLLqZpK~gauIZ|Mv{? z&;=eVt%Dwh>^+T6O&wC?L)zMbPnvh_=$lt0;lEv|U@M%-59Pd$jD%s*y7jwcr}2dq z`ia}zJttG7Vn6@tSoIz!1S^;E|{lEC& z;ff)EgVQ!sQPt2uFJK`yXtu2MD_E>$xP1+@R-Ab6<#J{-{#(>}u1pT()aD_KSp|mz z+SO*<{Fn|_b+xp^Pye&*W;~f$&q6{%{``5GJMoeCFWOF2?FmdwR5OH@irCiJzb}cv zlQP>!jiUyA=gL9Nfe3-2F-oN9`>5~mzmJrlMk>B;sH2lh>_1 z|GPjG77RK?OSrKG#gU|ItgiK2&8y6%f5y<9+( zWKtT?EdV=rYFI4{I)q$c9Lfv?&m@%4<8}7;$S~lU!YLk|DR($wfs!bZ86{u5--U0oS z!na=vfLCX;ipbMS!wB;?Yo2sZTi?Rz_`vCtI~0sWj>izi10Y;B$R}iBCYy5Bc|U^B z4fMFJZk9m)5bW!FfZ`bboKj`>wghGd`ymM3x_~CfG$@DyRls6J?qnq&GMtK>9QiOD zEdS;<2B#(w_qEXmhB->Owp5l98T5ru?BzeWLvVsy{RF;|vi8xPic2K9t%>hu9jeYh zJ+%4yPhb{7g6i0Axvx}30=hP*vi$ouh+}?1>@I0+P2#$p;QO>$<<(9Yk65$g4vd`u zdL#f0*&HW5Vy%u74AbrGsr0j2RW)9kL-gMdG z!JlBG0N}zA6xP|G?uX+;*(PW6v=9k%RQw&$)KNGK2rKW3VV@O!4`hqF4)m_i9-Brp zOYqaCrH3R0=`gr@4vlaE|9`OnmD5B`SaQ{^>szFLs;s%sc)-f#kAm$gZbE8m#I!LC zx%C`_k2wtw6j+mLN;s=>(7#F*HL*v%ALRBhO^Sv7Z~d=0ih_@!YD9%i8mE7ru=#9Wm zs(Z!V!5Q_bukFD? zRmukgkVZ4Kx-yEw4C%)>lf|->HWlnK2{+bqQ5v>auMXG-ydXC-yU4ygE0X>dczODW z%zKVc@_6wDoN(YMf;G_8a8}v4rMumzEuDyht5QZ!u5glD_5`70TE2&@xX*6u3p>{5 zZ&0+Sym&DJvpY~yd7J$5a>8&TU+C|ygMR;yQOrWD3Yo#1!a{a$(0}RPV^axw!5$fO zTw~GQJ6gIO(f&Xf>_9ZIXL_^2dtr7L(nTFnELNO(_w{wfEFG0z?TsZmcpZ7v7V$!h z6o?&2^9Igf7@-%SXgcWglfGb=krjC1{k8piM70&ng2iWF%ZEO*&t|wQOmYeX*)7}Q z@6Q>}{fcw&{BT;}Py{%7AMFDLpHEn=PIlfm{U_5vmopn36PQoel?rb~=A^Y&M1RtY zF&EDe3BQqg8>Rwqr?Fh2Sv)F0UU|cl>5TDb0X!=aX;z)_AaZv@m)OJ(o?Pu&d z`zw zRU)@Iypi7f-T-5P^kdu|@=J*{y=?1^AD8l#LB!d!ojxjYIR zrjEEVo@68!jwP?1=OAAsyZ=>G_=n{6EpBspB%SSJXzkS>C`J$~pNDb)k@-5RoR+oU z;Y%Q-OalZ556^coQB|8mfxSn+*jw8l1zX&UPC`=`0mim*%%7{7P@V9;ioBH*CeH%0 zkU|f@u_kER$Xvp{yx>vfH^+2?GzL$hknSK!f3S1WzU}jx{ylZwKAbT>O}mX&k;MZur~smabI9PS8Mhfb zecpmel0&{dQImi9$+=M^Jg#F4$nwFM!7w z7e6mA{(^@}FOl|@_5ih#;5@|D5OUrMYz=}bXTz%>Mrjp7F@iW74yWv`E*aG3QN+CX zFW>}XW~$w0mbvIY&lXY>EE4)=;|6MzT|KMc~|Yl=+>jIoU&cU9F>UHjDKnzj!z2CywzJ@Ve|q*0`jf%qYOiFCon>(oJ~ zApVIb7O|Wt^N_$W=A9o*DAN_gioFy~iX?~9bzBD7>TY8wStT55fLOB{{g(Bcdb!gA z?E%3mKGW>nP(j7m`ho1}pa0gkuJq)3!dFq+XzXyt)S6eoLP z!~bUnN9Fdn9>EBko?Am`G=kDZ!lK20*shCZk-cvMKbTbRz^=~DR)Z2YoUihQEl%il zoXKr?P6{vv1|oT4H4X_e%NJlM4t@{A04h^Qb0zomUEGuh-*UWT%MTl_%wz9SPVK_X zK<(5PG{t=RKvq4r)Z$LG3qH#$(F&mvFKrFB-J$(2^Z9A0xQyVFtPt(3>migoXn0Tf zLEM~&^(E*Oi;XIoP9dE?_s}+h#G8}ZeXNn-vmnwONTNDF$3rghD_H6kKc8+%4J4#d z`*GKy&i-pKh1q1^W+B`%c2Nx2Og;+EbiMO9E`=noicrY^*QAge6!o_^y)2iEYE|+^1W} zf|%f9e~!f_Yjtg=1J?~YfhU9;aYoq9f>rIeoU6#x_+$uCU&Z|)t9x*h{2zSe8o;V5 zV-dcwTxs~jmUv?$L0z~V`HU1-nu>Fc-Ay)~(Q^5IDouUz{eZw?Y+bHagCtHZSz&DT zdKEp%=;y5K?m#nPJY^Tt&h;f43eI+K>^b6uJ`_yr3rZyr=mg;=cH$~Zv)zmqh2&M` zjhMdwvS80uT4+QReQ)%R^ln&+*GHaey2z3CZXAg^W0cuaDKVk9$MwI!`tX~Qe#jp? zv!+jeMu|ywZMf3+2ja%I?e_UQ7;Zkwmhdu5mZyO3IO-Z2O~|qtSN*s)70d`qK_mbq z%~6h{iiplM4yn&*pg#UJS@+%gqGyj(>Ti13nr*^w10^Q0LC7e4Aqx6 z-Z6pa1Z)!hX^ov`d@gN)z`U35eGcqy#N&L2v~fv)oo#T=T8Xv%rBJnZ$P_g-Wu@&g zMVBpLx>@?pp&i}b?TN%Cc4FYpy+kvh4=twsA^fcEpqAnmMQ$O@w+@rn+)X?}_HUR* z1rjq$BkqFAZ`H)Z`sDlz8|mM-GuVI4u7K%t^sq_xxm6X^mORfMj(8C2?u&PHlMbkCx7rP0MQ^3|HWdIpQdui?AW*U`*xOP<}UXsU!ZdfOSIZoNd!Cg#`9{mcQ6<5YtC2 z9_mY(Zr>Clu~LI>w=ezj-rcC>{Ylqq)bRu&$dk#6w}SQKUewz93nspY11r-XgnDuI z7~kR@=kE%ble5D!I=&JX#4l*9@99hWG<6lSTj|q{cac%3G~Fok-b9yO-3ej+f9Gq3 zhZou4hT;+$n*C@~_0_i$ThKP#K2|AaF{LH#gyE}% zfAH6ya!&6fWsesrIJaRI-}*$21=y9K42@z%WGC?Sc5P8FZ0?I-)2fc|HmbNK( zqC3J2276tmWGC+5Yy*ck7l7#JCKdKBjt2ru`)arxv9gx%D7aZIFq!_`lw<}MC0ad8 zvZqv>AyXxEli?5I4GA|yjERL`nb0iA)g4fgr+M&4WGN;}Zq|-~HlN|dnG)(gY|Mrt z$aL#pMyfLUZq(S>nXQsdv|%qa@hVT?s2@E4^c^>Zo7X||+9H`CIv+Zo0ZGhy2%|zW z{&A?E;uhW`ruPZKynK+))GgnAR)ndH9gXh8g!|VuD-i*soCqA!a=@ahiYsAQcTt?y zN@;BFxb$TKbiqLn7^0#yZiNy=z+SuTWm=Qc<9G130Y6W8_G;sfiP^w$38UDLjt~BLNk0>WOT7D z-l1KBj-E(l$g-<+wX-NpR|-FWrEEi}s*>d!mq~V0k{e&$UxssT8nl)ARzU8olc-6+ zD_&2yA^SjTr*O^)d6slPGC6e|kryi*iF5Q?+ippMR=J%0)5+kF$@zf(KcoQ3W-}z8 zE{1|9+KXz;?1x5!n&V0?zGn4=<=$B7&i?*Cbv~mRXm89Du3x`ib9w9eS&NeYzgi24 zME`LCEg5`p?+s&JrAi!*XW-5C7m~rOg`Dg8CV`I=*>*L!(^B zz@U)WNSEb*PzD4Uv#LbfCZGs5xZS^V6b;I*U%67!+T8qq{{K#>c2|R{sEqh2R!@Cs ziopLMA&IOGfYHoBe1`EtQE3X|z2IL01|nkOga5amP~iP702VXE5i={lHJft`jg6mk zVkf8lhu^48;1$`B_R_e7?HT3R=*5)XEiNr>)8oFv`af98JlEGe1zr}j(ASE$Wlnw@ zWa&&9h0&TGgkD76{vW*Rd6;$Pvj#mrv0j_*>NW3T+r6)Ak^Ybovzu_m5hZhA;%Ztlfsv-{1>MV{Q#)1xKC>A2vqw)t-b zc0=+Mq=ra|$S0HyX8@!s8o|qt=@KI>7_uQ8mGAu}$w(}A4&#ab`1t$y_>gwv#r?M~ zdc1H4nW3Bo-Jmbft`W!HWnYaJYl56XVxzXLbn73hu6v`GA7)u+i z8URI+pNh3bCM50c{a?(zWmHuG_wGw~cej+Zq=0lw2?!!B(ozzFba#oM(xH@;fPi!e z2%>Z&A&4}Bq=08`eBb{)Q9pikupBxT_z4uystu^N}pXWE-0a_%QVc9iAMxl$$ zt~aBVDJCItPgwLb8hFM$#90cxXykrn2ar>nuoD$L9vqJIh0$bb;)Q zw!3;ikR>hdwc;DhPYRN>ZvJfK>^E3h6~YJ+Z#3zL99kDCY~XzP@}+#Way}Q*vy#b8 zK_yOR6ZU6UZ;+sibS7H=iM(j#aM*L^^Qt&KGTkKkm&QpiUPS$lO|oPM@z`EVv3peK z-o0q9{1X9rhqgBM;Mz@rOwkPd8zAem7`?zo1a_|U@ng_C+sXMCxSfo9?r^4&v^%g| zcr}?C4>DO?{icAhMpm{sO+f$6ywR-i*~YFwak~I`94MimKYy0(!a;NYYDb}?6P-C~TZ>CExNt5>K9(-S76 zr0n`2YCX#RJdiijg)6gCA4P@jGy|)L8MPj>lgizdCOR?0BNNz{X`}mJ3)dUQc+qf_Zvr4d~Je zGQFHx0aAp9{IqkZ2*9$1(Fy5qiG57jpJ5vsFI;_jnFq7?Ji@@J$bvTXMEc2|1puM_ zX{BIl2|fQjpfQJf94lMAfX&2j-f9w-h*6pRQkJD3Mzdy5mcpBxrH1DKC1S{+_vCQg zP>IwM$W5>Y-a__4F05LQUGkTry)vj(cfB=hF;244q*6pR&asP#AQ?a)VBi6zExBEL zCi(=l8vs}eA|RFV2tO>;eo(uWVUg~K4mXUPiCVBHsRFt)0j6>;U~FgMgcIr9c5wt_ z^;453>rW(aZFLqq?4-Wdn%nTT|tg1Ea`ooK^;?`^8hFHZaWiFx7q#Vo0O<-j*38ot*zZ*s} z*?TBN>Su!z?e_n0q{S!mzk>Sd8PF+zfRKw;k^}T7glYDcq0*@{0ksg?F>V5>Tmq8( zHkN(0(bz7JV!|_W#e)3N^~KEI$3~M%UlI2kcQ&HZBIF~~qdST(zK|oe~r>2okPt%wTj3y4$+h6VOwzd`<}nRW^-saK-zwhoqY>n zsdK)bryMzc?f{)Fm07yRaLcb@3;6)d1B47xC(Q?6y3PRt`n3ax6T@BOr25wZBpiFr zLC{>8fy`$~=W-hH@=3x zYYL&U{sAL`VjooE2)7o1^B%)SKY(c>4i6AbzvA!lm_P{&A;?StOL^#ozCeHJ(TIb) z)B-Vd+M6DnGd~-qsBhR5OYQ)1EM)G z6U16rY(i>w_E9YP-HtvuzJ&9IaAp)=-~F&zQUA?%b4*YB0!sA6n;V=wk;w{!WzKiO zqX=9mdy++IEp_#qu8T-K{lGWLL#nERLe*VEzZ;au&P<8NpyOtNy-%T4yR0JoUWi#H$(xuHqdG8 zG_Emxp7R*hBuco$C#%@cd$FK77h;Jc&MJ&)jZDKlWmIwaSWLkZq{9YEaY`CPa19`I z%IcN48()$fbzkz_f4>ED{?2XLY0;OrArhN4@7#+QGY8#aLT7|E!az6Fy0I-Q68m6T z`9V5Zk0>0$@)b`PDoW1Q2_^$;*4c3?RvPB^L>l}$lEUly4j_uW;q)`h7|fCR3vzD9 zC@@vu@`cKpF}-D1e>`9J8I44QuW3t2_>EwwI_VLr*DtVI9Jgukqf_BUVHlB(&15?c zpOE(3>RH%Wv^RfVf&IDR5$hl>%6wKRKnx>ZZvvq^;w+Umccp955(6DC{^VYbjoOVG z=lPpc_AeNxt!}LsK2sD2SJ)b}I*{NIVlWk9v8^X97H$;wl>S%xyrMjE3npgp6OrKb zEBMwP{{E0N%9v3s zL*6xm^99YHNWv}_HLLFWSO`J+zrHnU95BGKVfRMLD3IgBj3}*rm1)5^U5r4`JarqO zG;7c;lB%D|`HtPe+@(yBe*EJzVuU3F`oEQ`?TMV`JOO!PEv&Mz^MzA8jk+VeT4CAG3?R%x}AU))x zsnNK+ib&<)OW9(1zF@E98^ynde}oFA$>eET4iBd&zm(G;K2i&d2DoKy=&*p&{*Xye z3i#8shmkCtnvXj5m{@uCIZ{>{DXdU#xz=50>_%%QsIq41{EvMND_z#U<7P}>&)B{^9%}Q80}{OIShPQM+mT#r_Nu*RQiNMq#u}1BcEk3Ny4iTK*l%{=ZV_ zd2{?|T=}kTQCKb7p{X13Lixn!x*N?-y?r!_=m7&YUvJUgYJmWEr^0o41^k+E(~q~A zbQMIy$9;q^;1l9~B>SQFKkhX#aoU8yMs_QINsnN5qWU6-0zeGcDi= zUzE0@7$+F7Q2}ZV;TEv2` z-=%hKl$9~81dVrWhH@(!fRm8tyrjd$$=ROONm2<8y`tnvl9z;~eWZ0R)MKcH&(|(O zx_`NUNWvm6Es|?>nBvUwQj9iS^LIEv;M~51tv(*#r|}Q)3w|k^kFlZh)n|NTapFlU z4sDuX?jkm2f77e~@vapwAV_K8L?PH7fCs#;DXw(zM4?XH>#t_ww-`CQajT?Re!U|C zj!U|D!=&gfMzqXj_$qcFKb)j{qBCZoLn83nwUfD+IY0LQW?U=7xH7IK-Q9oYnPl$S z_Ia&FZ*pt8CXaq8>jNy5Um@YoNh;joeWqjul+BGHk?eXr$2`ycKsa0TqfD40B-Jr^ z3ueCSuP@E752^Yq&G;3Lr`pnST4v(r-nTOUhH5e*YvYfkECsJ>} z)cG z&C!@YD=?W&tA7i%@yYNinH^U(I9@)o$Rs=UA<)yr-22QsXTetUA2>8Py8?&~oA zR{Ey(QV8Ab8A6qG_X+hT{k=Kq0zxK2zpVWT4kjtX)5Z*e+96lKQ#Y6?`oPod$2f-| z8N%mQxCZn1AmQW-X1J}<)lA3X%K3!8Yy(%ENNZ9`Qj#lFs4T^2aQG_#ZY1`lraUBP z$Y6*C@fHBU%7B)@M=tWJrU*tEpJ~+vVkn!f!4vluEB?(-`zT}fq@R0;X;g(`8G+Xh z!jcxLsi;9C0`*qFOo0j^Pp`4t)B~OlDQ=IsRuIi{-MGwG4cF(J#8~cC2_kIw#^Y2A zP!hr&^y0ap84#Fb*e^k+8%Jh14;__TU=oC87GY}Vp&MaGL4M@ShRsC{O8{oPF(nD2fdZ1LS;U zU6#1o8<{Mb{dKa(kG0ekho3)3Klx;Ud8KN;54d#`Qcyppy5 zY5_Ao<-R}jBCBxfF#Nm$Hib&V2%RY+p5HGiv0-Bu1xZx81Rd(*P8-*sd4g^*8pHkA z$YJ{1PPuqK6cru4rL+{sz+m1s4lV=iV#^h47cFj~CTgXB_p7 zp)blAx1#ds7qx=i$~W7hhvpRt7UKk}LE!;0ft;25TB^|#dc~kV~+|9ANDiUJHI>teLeCMbN-#-^6WAJW$pa_F}9p_Jif=hj|1LIlTNxHqRE(+et8d zE^>#GYSD9Wd&vJ1Cdy&*aEEI3aD5c>IX8>S9-d`1-FKnp+%FZy(D7eKeo8auot7YM zb$St13`&eSO_9(N@Ez8M%4wfF)AU_ z*Vx=l7g1Q<+D2q=Jp@t_HwQ;i>!T|jf-J9ynF)mg-}7QrfJ3FTKII~@7!E3U4Y5Ki zkcnN`ut;ZUd}9e&_+X3^RVsO)eF&Wm68*|N80jYJk7|?ZUy|(bV;kk z>Du`4SZquTjh_ni)Idog$We|TQ)$n}pdu_9jg(NNtpyX|(KI4^&#jS5}uY?wbg-Sbg`RlK0y0mu<4MxKJ z(CVTJrCt3GlJ+EBK{WNG@9Fo-Tg_V>AwKXCqQ+^rY0{uzKn?ZpU#EW zgUfz9sU3Sg!zm!u7#c+)+(|ed=wpQx>o8ML`migj5eg5a2nj7CRYB^A)3D0F2MC8AeM3VqUFEKF zTTz{$lDJXZ)I{N39aED`EklFn;a$p+@<5-_F)mh9W0!fPxBfa(E+#RNQV_$*2a!>< zu_>ILxcUJe9aO`+#;32NiLevxh+>>oZ^tPpHn-xtmN|*u2jR@u_a@3Y3x=$(#mD4q z@T>l$(m-f-ij0caO3NPUZx4l|{ShfkZhw5ek6Q0M;`(OrmAz?j}X0`U)ao!9;; zaN&ZBmxx4U%L|h%lxc}6Ghfb1hQzq&e?szI*^V}f%EarlXe@k!!GDxjeak25}@F^x>#b87a+X=kHGcF9JWIi&oXLxgUWz7WZR2kEI zNk&E`kP+{OM`lFI81akG|0;SiFS4x~%5im35vdbRV1MPgJPA-NjJ`AJziOZmxgShK z+YC!Wv@W^$JTN9je7f z>96kSjjymGVItRH^Ok=C#8jT))`QFss=2XoOdX4>`apjgpXm(LX^?)${2+=2$p0;p z3V=z#uCc%OK?t&)W(>q*kfJi=QGE-W>_G{SG;?Vu+X>so@j3M=%Jh3@;t9EWvUD<7 zfTk{t{^R^CV|4xJ%7QKiFZ1Qng`B%z6e&aoITn`*l3z@?E)De{~k7a zk(L%CBd7Y{YWJL=`kN3r7o&F`pY~S+Rfh!}C${pJ^P!6uVU?a=b-$?glQ1EMYZH<| zz@OP&sLYwGudQ|Zl=9J4cgiUN_Etdrqt0=*=U@?m6l%7%hZ`=49aV+^2J?So+0}y& zR+GVj0heKxru&l>{%5~Sn!u!d*r^ojCL8;4KZt>xLE}Cg4tp& zx6X;+MyYbR^Qg`U8kAbARUDprBZt<@9~tzL-f!L%+SpjPXKH7NmgiQx0*gJKwzK*6gBV{ zaB*{Ii~66z=+I(#kiBNE-CBq_nTzX_js$3XbAgMwCasSrwM;a8eLqYhCtsF~zFFFW zj3?y3p*`!?Rwd1g%2Qj={8k?r2y)^5dWV+BYg(KnW#jBX7euUXvZ66s*xGuFib(*7 zM9-bM>Brb zdJ-TZQh^HtvyVv`8BKm4V}=WqeHiG{Xe&axySrognu+w3qWqfdezDL^dl=zkdE>n% z^369Wn<&ciVda4|5_Iq(AVRp8bInS2+9Nc*o>6 zV3K}#ei}%xY!?Je^A)saEvL*-fsprqs5S25Tc`=N0@i&Nc^4qDI^c8P+y@& zP{ZIfpfYrAl~VRj`zPJELD%*u+6|J@*Sw^PGp@0*ZFtAHs1m!wW3{YvN z>Kw&VHeAIaXqEw3n)hCFXn>`Ow0Cg8v7&pSrlsB^EW^K$wZFoaho%YRwIn=6YlyEi ztJYqj{){loeQw{kuHQ2b*jIZHm@VQ6>n%@0S9gZ;y0BTbKoAa>Hfy%VHeQ0s=q*CH zNOwdM(^@7)?gB6S;dM$1ol}7Iz42hR)Ziqv>gRAv@7_|^n75*1ju-+# zgQKVrqoKa#b${3F*0&xWZtl+C>E=JiZdE?DO#hMvlL&ymd;lQTGRHFI#o3Vp+JE<| z3*yuKA}4?Dx@&7~{iMAA%a_)z5sm5&_?C(}&tOgZ`}mw*qcm@}`WOSW%UbY-LByBq z6PHm!RmfUGwlo#@_4$LURx?a(O|_0%*zUxt9Jgn(L!FTXjFB2>E#ReRn_Lzmpnxqm zFPe-^W>vv9_t>7n&qr2E5qj+?#)vB4-m9ZyA!o#P>z0`*XC3+*jyS5|1|{bmGjUbX zN8jQ!6qcJjH@Q_;ELBvY$THnOII#Vk8T}Fz`loe$<#z`_wDsPai;hBiHA4!#T3Ub& zu)G0MS5wha^~E1=yMr<$WVs+MXF z&i_DX_;Eg<6#=tC2OE5(I}4SSu1#t&=+QU`yrrs>Wt}l3eKFH#87M!U$iw+iPNZ3{ zyJwPVzrL%nbmQk^{T#qo!%^#9b@$vF(pndP8Glz?9%B!gjGW@pZ0n$-`OhH6z%%TW z{L&BVKBFB&$1ffl+et3y+K#kZr3UTVHy9ZF_;Vz!T#Cb=8(cLx=X0>X ze~?1*Y)MNt$mXPK$;jZ2N!%*dVE?oEEWXHrF!!Co0D`7K4`aS!#cz^V~y`7WC*F0+P^^ z9bAK83K{)yXfCw18HHVQe_wwh=&+*NqUAK(`ry;ZwUcNCxhC1SPn=P;d#H0$D{oa|Utw?x&{cmQQMXQb#CxS)?r8QbK4m>BA+I$h2912*G^ZdDi-Rjei{7hJx zT9MOq<_ifr9DCMwrxCD9PRXx%+IB&iJWKp-mTOyblv z(ucHM&v`A^f3*PUcQEL@>BtrI!mgINh1rEvnvlTTR3!aBtEm*9Dyp`a*$UGLjIYm` z-}0|`sYP0 zaKt*3*`Ote8Y@{%a2`MCQy+o|R## zt_p%w82f*xB?-lgN^9eDevA4?aMPm|s*x*N7*ydNnR$7RdrpokIW^@x+;*&-^4z{I zil(oFh8xAi)S^av6K~Wu<+g7thXjrM8#b|r?7?e)X?rE>TaV`k{BsUki@+EX+L1Kp zmAKad>rE>v2*{7Oww#h_gysX}u_UB|on0HHLfE3MV=%<^LXk!GLb(SKi=AB|!c=&Z zCNV~`6UlW0$X;xTx9j0B5Iml9t{h!Is)@E1QhjA7dok-Y5ngX0OaB36oNDi%Sf@p* zf>p@BkQCA3CP&KX-D*6g;kOt?ZPn~E^nZ1&I23%ZR#(F};75hkh&$M%xT zA9Z2Z76;X+_?zDRbJFMW2a5f$(68biq34Cq8q^Z(s*HXw2}VGzi*^9Cn#aC#MDHR) zoT{U0Lv*y>%xZ%Z;MPgutP`Ic2@`fcvLHtJk*s6{Y*}Lap~?P?Kgtffa6zdU2^lr) zjGR7W{Rp<^+2bYl-ZxyMU^63mG)GD2yclFvTvn!VK~=W6tvG;8ySTgb$CQuqb_hz; zulB1?uS(i(xqcXMR1}pF#{TwBnZZ)ab!i4|s2U+M_eyvFgF5&J78Xu!;)|SUlNRAxV7ucdp=e^B-awo@=4#Yoq;;k!`DJZwMZ7l5862TuKj!4TU2;kqYQ*@F&HhExtThT9+gi!r487N_$v2N zy})Fpo#h?f=762iSPcT=LULpziFUG|rSjhr%cSdxy8bX9PLlW~=EXEI!=!~kpAXIG<0{@dWBf^6R!fHqONxJQ(G5u@;z{V_K=o^KBJDzE zD~2_ovJGwFl|F%#O_s!C8#r`h(vxs+2d>O>66YtH8&AveR$E~#ZDf`uj z{YCr@IjLJ-YSo}EwW~MDIRvI*h=DjH@GINwSNoqsRX-wJro0O2F}r6aB%8sqx=Cc|8=sFTErK0naR&po&+~$loabnm{{;{ z-oH0SVSHs}Wup#tBhQq|G5>T$O<9X(K$wJcL&D|Mwjsl5 z3r~|Z^jv@(Bl4y?+vKHOD29lgOjMLL+c4rZMP24Y%F>{EmS{8!OOSh|ao@#gl+klTOJDNPVqYxXaU zB#gxVL@ADcVTKL8O)F@3Fc1=)3z!>&)jco41m{K;cM23AFl#NpM|>6*MRAc4VYga) z@nXNFF8xnGOQH_OCMNnnqc8t8LNE_>${22X*aZY!0+xW1-;B-;>s*?w3o7ZQ#Ehec zCen!x-E(hcVRhvQJ$TFJy92=J=7DaCfO?-{b+zU-0&UOJp; z2q_&@!L*i9k}kn0Atj4@wHS}txcd?oxxw*941J=c+3etMLNwyUcC$CV!vgMUp&YR- zgq^Tm@E!PdhH`9be8!4(k?Qv}L(#Ahl4R3IFlUEO2oi*4td&u~ZL|!tTkzZqBYH)is9?idr{x1O2b=(P6@b zYOeCdm;(v1H1X_@ZtR#)nkXbgxx+L z`Ec=Wxv_!1epId8T@WD#pb??3dzJlv{SP^`EE6v;F9U<;s-Zqz)?y#wS@wdgK=9v- zr`$>5qUqipm6#Yu$B1)~GvtUg0bKkE{jFJR{i|m?Gn*&dJ>jUus{TE%;!3f$QGCWi z>S&CU04i3plz%V7#e&_XDi+178XM<>mk7E*%Jb*X`{uO%9b2j;fsyKGrNkIZdvN8! zmkUh188xeIT}!ZiGZ4B1k}av1|9+7ghe0w%^ujJbKfia=JlrQsjzaj-%OHSg*io1A z{NBIExng*7#FSdOT~ePJ5c3B9pCn9)FITw~ zF}ZiT_q~h86G?LjbN$t{w{VUf))FBKWZQ4f%ULl->T2nJj>4S zSSo(pm}yf(d?{as&xscQLpD-H6{}KA2h~%Y&a0^lHu%O54xd+`D=PStNth-FTopI& z;?M5pBg-Rk0dF^qvBiw>yDne)fOBP6;;@~XJ#KR?5dxU5s*%i|kBp6#QO?fKKWQZx zd6(q{zFg4TFfmn5={)QZbgbAUby<9h4>0(cvHH|;HyP#1UrRSp+h7+&R%Pty{x!1rW&RlI$OtsXlsR=eW~7dXiGCQGp}gw-@Qv98eN!gBs{e}j;MpxWWcY(nmYO} zA9=Zb)APN<;eFeuedrm35xF5c1o^m7)Tv`)C13o}@VtpGkziy|2zQ)5OHJU_HqBQ| zmVuS8Dy{)#C8YN|adh6eL(RK)u+z4*bNx3Y!;{(m`|eVK30Qu5DlyW;n#Z)Jew%^_ zCy9V1SIOl0a}f%SG*ygGIaM(TSyuBw%{WX0WCc$yF5%I#!i_;3XSrA_-q?}L&)pv> zOZ+JaanHlDzw0FGsHK&rTyW&u0Y^f9$4KuJLH>Y;fiU`~9BRxHvfQ<%o^-{f)5fHJey!Lyx-iz&qU{&4Wex(`|JIn|=B{W&xYOy7+wKX@aI)YC0CL5iRQ6QvkK z%Q~ja7QpQ}}D8h&D9TOjaHFGH+H(%SkKIZ=`Z)APU<{A4yzRQBvLSD;@5E*FvcQcVQRTi+{~r7_AP) zSugx=tThq$axQ_KU3bxN@%Lv0X4cOpTs)k4kBqki%-uih$r@PP=Ii}orI~hbp}g$0 zIGaXKYFh_PyVgWzm4=m**sG1$0#$t%ZEmYZQx7No?>e0~t^^fTdX{-j+GA3DaQ^9n z{}5l)(9V}!(f$VVjo-e~9(Z`8cBvlis%K+URZKr)zb9Vr#t;rQFEe=ags#c!J|*wr zME8P>NTZ$mJKkPAU($bgWYf$px&AzKi2Y~+b3zSUjqaZ<0nai2UYJRWV$5gt zR(|lb+$p+GSZmo_YP(Gz`p71pe{Q|BV7w%c3c9WGyBPzkH)!JJu|JXFBXz16fXPb2I-Z~R{yjTKFAS&# z&R_Nt{8tMY7%1?{ntGroQ^n)08=Y6XQ@@Aox6zNQ&SRX@Rn|Z8$Js1N>`{h9?WbJg zi+vM^apbRm>I06R-4tG(PR%bafOt44s+!ldLX=t)_|Nh}@eq$+2C;?lrblrf9dHpmVHp!_Y96$zersG;+Tq^{ ziVV;p5$0FoP0)0|&&|z2&ix)+D7!jgKbSSMlLtaE@NaIutx+^#!ihh~geAO)g~pBy zFsXnj98`+m!H(zyhU`s76x+D#u((=OQt}V{5;YS;*k1kUV+^@FpWo z;EOf!V|7&yJNkFex`(|m@&cXbJI*3Q&tI9H%QLcktSs1VdB$SDikj_E5Eb%PW@Wb_WBx%#a@xQrllHD z@~A6(WD2&N$f1xtPQ!v@0Z!Bhm*=M}W?=8k2BVr-gFP6c#pXTqmPb!Sd-9cHY4q?G z2l(5<6iV9|oG-yWM4^@+J<@etE8Ms8=^2FBn3vJfpMVdJ->g}@_6MxXL-3JwRg|Kg zZ$Z3%ikB<-#mtQH94u)6>j$pS@v*TewqLz6m&6p8>)L@NFN1o&r=9*T&fZTKx|qnd zvP{#er2d-R#_%c@Vl8M_# z@`hx@>S4N`c5P-SB8|3a`ns7n{_7vq=U+d@HN7=n!+O2fJHcEm%7P8mL79^cJD>UI zd)8Ug29uqQjaN}DA@5I)W?kTmKHEJV0J9S~v)JgxuZHj$n&u6frT3Atv@$YS1NDs` z;;ZO|Ic|z-AAEVDjHQcnz5rh$E-YQuDl10P3XIU@U@i_n=E3TBx4p-`(VcUi95wXc zxG9=TtIskq@Nu{p#EOpZza|K8KneV`C(fQYkMKp5h-NPasQIJ0rJQ`<-b14okzmI? zwK&z-6kydkRPDdyL%O0}Ho(vQ!u3`4Q_A7|cGb0=mXM^|T}!Se&_O^yy)#}$X*H8~ z2<^g`XpU^EGt$N&VB0!F3uR>1;(NHq1Y8yfaAuoC$fP}GxgIR@&})$}@FaBZ3}_Ky zT6JK0%ao9jX@l}T5Pa`ln8h8}zCl0}2o(#`zQ2RiqCWS&5c^oP4jLyU0-i!a2#nmQ zIG2;VXs3VoBnhSVWV@?RCg$O1!1s3}W3XW-%ljMk%x|CoW&+?;9NJTAsV4&OXo)=s zd(`>4aVdCYnVFb^FULmXMR8`bOCa`>>XLQL>O-_dd<|kW8k4ZF zST4Ua{uOw68(^*FSRY1Q6T`cY01wM%iqiZAxPCF{Pf$*bxhNM`RPa3|#fjz<;nNG9iA2`VJ}j(H2iVw7kEwpY8DYz+UI==ns{}Z}%*L9Y zz(P7^nk0{2N{q=1ur_zjZZgv%xQ!M|U>Jlfi9&a^su5%Y@D0PPWK)HkU!wG*orc2= zfX=o{0%3oLybj=S*c{eH2BA0QxcveNJrs{%UmQ3#8$jQ@b@5w|*hx;pVT`kwF_Vd5QCZgFjG@TvkJyD zA7d#8gygUlq{Do@=!vYZ?^rZPO?k#itg6VQ)?(zT}T%wCuo7DX(YWKl*rV)t8ia(hb58e}T_W*M;yX8l#%J^mTn49aj?wYo@)lE!n zk6`J-0kDd~!(pIJPOt^u!1#?L82j=!ETZrr;3OhWjdUo^*lmsu4vWo8I=U)^3pn&a zf#L8yX*40+MNh|*KnqV#jt4B3g>HJgilVvH8)8u{fh4(l{g!A?=*eLVS!FtY; zrY*5b78a8OglGt*TyyXqEY{Wwxeo47CAx3tCJy3W#u)*pe5OW|{f|G4nNEyWl&$sX z&9n<(uVX6(d~qm$?k|-~^4?`Z^vNFVR!h8B?~KpQl4pXk!ATJd(#5cEOTgv1&yyv{ zgZOt7)9>LV(1^ULs^auQJ+H27^>Ui682ogX_BVGO_gVw-&b$47{x&bC=~p-08$@Mv zmUJ>S-xT;Z4qPu?<861J7z*C+^x?<~k|_&3A)aAz?32w@JWBaQ`?Q&T;Eu@g(?2mH zMlM?nKXprls5~Cscf`eYpy2UH-%9+dFF%4K9z7(q991mYZ;5mV&4g87NmZ?#bl`a& zJw&LlQ|i#lO<6z`L-#ATxf$Tb_qx?b?SyH%m54G`l-fYIxg;pwZqJZU$i0lG zC$h)#UUEzQ_9aV__$%OIa^!XZeWmEJhacue+>tL1;FvrPBCWP$s%n=HWc_P=Igk0q3hQLcrY&gp%u{E1DG7_U$)>DAG^vw%5rw#i@R2-Q z8?0pjXgifh^t`i*5z0}RH+FQv@0C7%*Qs$iqLh-dvOfdnmm!65&FKv;Y#U0+L?vx% zX=W$kEAA%>_Hl?W=~N<5*9yKCPUZIsZrUZtB!$O7E@c0gJ37E>xK?CWR|YKV*{{R#T;pcw3S5! zJW3TU+RsC;D*+6s!zJt&?bdm8*Xz*4@5--a&1yT6d99Zs%~knSq{vR0;~Ubca%|r9 zggV?i=d#PiKcYeo2msh{CfXCmwD2k>I_F1dTKvE*zGSam|%xg+YvmlA%#9=(kXsyhP^o z?@e%SxPWtFa`|Jdg1chR3LFrmjh}sCohL)D_J)(J(CStYxNZQUC>j`y13;=8V?nH; z{nz*20eaV6bH86o-MaD5&7z=G=;PyH{@}e!z%esbtb^smbT7!s<>G(?fkh)eyMSlL zri;7DUyurxN;y zyWwwGn^vB&&0AnPH0-~g*{ zsiV~R_&o)T5>4g0>C~s4Ki^u0Dhk)C`c#p#eG-O5StKlVBsX(_z6?z99SfI7VvP*n z2-*-s0=7lOhTg9-F0x{XXXz0?JR_ni~43r}};f@BPXA9)177fHzt&p8O*tz5#9_ z6g&ZJZe$6RsnZ$9O6vF?$g0NVQc&OY_z4`5u$qn;@DMizw6s-^;JQJ_wY&lcOg!`Y z7yb~D3W%5P0Y}xA549g z8dl)!r_S%cIT4S)kQ#XQ3H`fv4c^vnd0E-{+5O{7Sr@G1ZzR1Fk4`zVhBn^eCQ<%U z(TJM3Y#93Rgqm-O>v}!kWy?i^xxW8Jd5;tKho5tIDRYWOHn-cvyzTHZnaQe|*g}H> zq2(-ccXtO+`4%GM1GL-0{avW>?6+?CqzV};T>^gtm@Ccm0? zLJBf@I(XphkQ;yeB~!xv0xC+x!pes0Xw|F2N_%Fn!e&vK2j--$ z^V{F@?V)C#;|7pm4YXkJD>cD3#|>TZS)(_hBu>!C{w4ljEda&`^4)!{B?5SjDR8o> z>H<|MQp;6S3PPxd#5hk`6U0#{!$0G^ehvxSBgcwH3`bX1M3!R92PQb1IZM#LD&YKp ztYLdgUy?#hw$06gyBv-5mW$J8$z3>#%d;6$gal=+E=G0iGpO3#acrO6si_D$whhjV z!GS}L$uhja=)PG}4}r_u->)!oIHy}lszDHeBGL%oEKnHba$u06;Obz*S5?PP^y zr}Pf`Q8O%2ASP8^&X2-o)(WC$d7~e34JzIULG=u#?qlJ+_}u#3G}pvvZKLNK_xM69 zRV=i0``+v&H*6g2C?EXg{gOCLeqQdfErU7nKTg$)k)wVx>HNbJMjEM?h#tmKpw&1= z1uHe=c}&rsYA8FU3|=hf2HX#G%`Z*rQLnV$`xs>>Mufr@*JBf_EQLz$PaLNv+<=;o z_0CUGA(4>s(UupHW3)?1*-1A0GH0J--)78bW(PVYT{Kzp-;KcyA@aM)s^T2j$r!|` zIUOZ3&!>?e8XFsL9G>Ce>}Mn`X)Yf6;$!%a?ohnHC-$i1k57sDDP3-L?%>yP3bGSv zXKi~QRC=z0yb*g%)`*9PKa~+`FRy%!5)IK^;K(>xeQj*Q4?Jt-q_9P5*&7lxFl3@|@#3=ho?_NA3 zF{MN3x1qMg#`~1qpu$S5$Qiv35SwwuAaBIyZW~|>RoRPuaKE>}(?XUdIigUcKZw|M zslx{_u768hnN9e5Bzv9HT2-hM=-S6><7Z&ioir2N+lNN90 zzRyS((6R6{QFpWLfyH5R<1aj`v07wZwI58Wt^vvg!%MEknJoB2G?$II6pojiL4V{pOD3o&<%wcg7}|_cv~q3()AZKf5WZVVY#? zFiCJTA_nFL1lM(jRZ{ZTk-yYA4Bz-Ve@ArT&4xA1F! zQYPoT;o?Kz7S*?3t80176flSL6y7<-(t8r!6H3Je4!{$jjdZCHx%|+G?N%M9yEnq+ zP{%8PX{bLkEeeM-QnVV4_Kw`LCB|?_&6UF`k|QncMVE5hH-n%Z->;7*heU zvOQ?rLDTO%qMa&&%kiPw)sUiA%Jl$-$XZ3P9LcBU*KK9;7g@trYJO-%|9RaJbOoZw zt|dTw@EP(vrZ0vx>D$|YapAm!_fPFNqYAZPW~1+1)4&8ge@Y|FUt!%SO;^W=?LWjAlK;5DqOq@zOIY{6&nR#8pB=S= z9UWQlV@YEvBd3)aq{=k#7oz{~ANod$y>$FXq3u4}G|O?4eL5`vWy?}~Zs+QA(d6)v zp{&@mWJ9X+J1KAMUEbTqf$z2Gk_&FK3{+0CZ9Kfb=~wgqWX+lKewo1^C+>_Q^tty+ zn=ZD$yax{xH(9i{-}H+KI>VY?ws1Cc;jzYx&4G_;4$tR#{dn)9x&%2CIphRccD~g+ z>^nH-BVsp|$_~(uKYmTV9JndmRNgt?X{B0Medn-?@7JZTn_^nS+r;Cu;C%lCWtexV zaabi{{spYBX_Z9>IS}4px(~b{KllT3#w<2?7+nau7hpbP#&SzbO7uKrz1~+xmp3{1 z#U2$q%u^Hbew{dttUvJnY@j2lLbE&&zmw56$^3z7BxT3vlB1`g_jp9m5{TD=ckXWz zl~{x2LfY3O;o(=1)Z*wRDR5y>4ib(Z$ee$7|6Xcyu7HFP2teZp(~l2+Y=cXHNL|&Y z&{DG`&?kE4nbvSPd(gYnfFg&gfrWa5+n3{O$1;aC$F1SMiaH}{yauHMw(Gm)?%H$} z26|$2`MERIppo;yw+Z9~tQ0&*9>7GmS_jswLn8Z3@`)5!jwkw7p-zOsqMUKU$jAsd z`X9(uP9Cq1s?f!p_}wZPE_?v>$0!sTDBOah`lSEP! zKl2CW3=vv|89eVYI`RC!p@77Z!vBltzl+2#VmFivvcHY3Eni^K?joa49cWnV^G%fE4zWp$S^8Iz%!OLfs3`zk zPHr09z1tIjQOI$}I9*lC*D7aR%(m&nYtnPK{K+U%$+MYqq?p*|TslR~hPy&Tw2^-zUq(*`iOF_+l!( zLh~&_d4oj6U+@O;flif-w^s#>uUc?-fI^64^%_j|EZfj!D@3i18=3z7w(fKCY7qB@4x>JtK1|-|uplyMx_4 z0CnQjB764-(7SwIs@RFze9gW9IAKgzHbU^nq8fvRq4PJT$m%6|@5I4H^AR|}uCQV% z`ZKcU0<7lw{o+9a@rvs;kd&GR>g#Ua@%uT}dH$4_68T_{FWup}cy*1DA;r%mYRT;y z6d8@_iHXrY zL0blJQ6_F?_8gvXMqFvn>1r83TUy;P$)yaVvuS6k&%WQz95#L1^dmQ?><{ki%n{AF&3p_0&|EfVA^DHAD58Na zyeeV-7mpnym$ z-AL!I5BN`tODUM|R7=^9ur(fnI!KTO-p>Dh8c;rgx_|m6!&$zYoa-^0Q1S}&DmCC@ zQNn8%HF*e`?<&`m-M$+IH)AUk2RxbXMx0>2M~qR7V38(vS{vy5&=V}jfVSU`dHwwJ z3F!m{8CkpW6s*Bia$5W>Hs`7UvzMBh8VH_9J?u{%V$bA|irhyil$3R~dw`3S|KJNN z(GaK+lSW9Hyg2(BcuDH>5`n+4d=6Fi;(1;KeM7Iz`4?0|DWU**GM)q_3c7(Q?twMP zJ`;VifH@u9RWVX1Ib~P=bcJfGCNl+xll)w0`-_ld|Fre8n~@MZ)gu2P9{d0;r6eRS z>cy4=Xji~#r(D898^VLf@DtXTBt6DnSb`pHQe@Hun5q$wSSOUsbwXf38|}e(nD_1i zC_W02Op>n9*DV*r0t=5x%E^F(g@`Gaz3j*=v8CHk+{7!uI5i|nLA;~(HtV` zT&gbRH&zlzD_O~0vHfvT_1epkYn{K3Uo;GG3@1%aON^5q)EwK5oM7B>BYUq5VEQta zv%}bTw&_Pxus1K6(N2}WetiJy`Sdxr2Ew(UJMUtQ?t5V~Yk!B4b(JwlDhSnlp?Ph$ zx3(*u-UG(FDnSQL{$(BaX@C&HkZ1*C2I~u1-yRF0$J29_tAIGdNWv05S~!b8N<4dG zlek9t)cCWcY7#O!g{bvZuQx7_x$}lK?!#Tr*eea-ZgumWQ2k7V07~9kfGLJZQYz9p zJh%O^?vj!iES*WwD=^t*GMd;_iAR34yJJ&&Ygx>8m6SR0kT~9Sd_yUz9vBx9U zx}ZX~)6@NeYHAVFu&re1?{IB_vB&ZSP5H$*j(JvHg^NEHSUn7iv*WGh>1VG^5e(9W zbOHhyy7z5}cNM%i@UNRlid?^Hb?^@kA-6iP&kd#(p_pY?m&&*-sid>`CG10N+9%5f zj;ww^I9k=@?MFn2fk<^F0o7Uz4;#g37sN6GJ2r0^DaUpWZwhCdz-Jivl)7QO*y?xz z{?vu4Kd0w~C!(ZwFhfsStoRzo5pIW1mj>mivQm#!Cs7XI8hM6abAt)>=#+SB!1jteL z8~=RE=pN;B0*0=-l?-1j)%eyPTNw%>Su;3-bnaLbD!f}G8}+~D63!B-O6p2SNjBeX zX|rZo)uL*<)?K9*_xWr4(=7h(_rvXm%Mz-!bbP+Y`v02+xC&yYRTZiV&fc|7Ef#LH zahO&tD`U)HG zYt+xvfU0s+>L=ZkY6&WLyF+Q?bARD|W|_8>^NaX4caDv0_e5lIg@%y)j&*IrfkQFv z?nk}d*{Qy3q%K0t^i&NMH;#L{NP1?r!XFTg$z2krY;D)2pD%tyz?`hg5C^ zxz>G%wN4eCvb-l;Sv~nh(Z6fsunov|0or9aJf}7hd5$TA?7OJBxHXGGsPggraY*k4 ze`{>ZXCS}Z2|YAk%98M0M8`c%Z9+{@J(!X3K%IMDGHn>F!lu2F_u zt$gIgu}iY}Q+wqUZ$bn9SmH0f_!9mKyK5SMpyszV;^J#>#p~_mram@4vF+q$CFoTq z(dHK8Dyz-9gxTnVc3ytuy2#>=cwpOuSE|ZGY)tM%%k? zbx-hxE0tNv3wfwXeI$1YUa%Dn%``Tnl|C2R+GJ=hZIL~9?c~><;;qD7KNjgL86%l= zaf6ZxO<&_LH6;!X&~(kxwi(9tUMJ!VcFX2CnC`aVV64&3kj;;ppcOlJ_$2nBuF5G) zpcl6E#?Q!@>Bt3_YnR8V1e8y)#^!XC1JMqMWjf+W3VHs}9bOphEA22vsIEVw%twWV zqJ$U@ApI80SF6F*77x8Mhht8DdbC7EG4#pj1XtG9&W`OPR&PvGyJPfu)WJMS-22j6 zHFg%V#R;)m+%>9%D5)y}Hz@IyXiWGC;z@VfqYFPX3oGuHfgQ-9`VH~msbZ0M&Vp(3 zgWhR@0>pZJ;AU0tBEv%MLIF1GYtD?Y`|}68==NcHnMttYg+afZ@r?lSwF>Nh3GMINqF*m&Eq zlIuFrE#1ZYtb9|h)wsDvHRy&Q_kioDT+Q1-b!CIph$Q1=^*!!P$QO?Ce}EoFD*2X? zmJ_EuF1(tcQ?C99lezj-ll*)v(hS`A>`vs+0c`DZjwzeJ!*NR^+sX0@jxyU$@M&6$ zjiOc#-`@%~AY0JZxv4iQBD|O%bp^3z;iI&S3h++4txAiq)%v4VP1==PXHFjaISH}P zmBxzANsV(8Av~}18u21J5v8NV%eKeb8TuhMVw(bof|n(3w7OdCFr+N4s<>Dxf}R=2 zxB7SkPAURK%=>zE>=Si<_NVH~-N=BA68a~q9Y+g&aq@JV(OLU+rNZ1W<*d>>{7G=8Hm)I(9j<*Z7yQ^rb6h0)(Qt4$e*!7MI78 zf-D7-?m1xPj}I+=(HZkl@(mOflgB=o3NZ^~4PzE_R4KnUBc^FC!J2376k!-0)%T_v zmykVo_~*Q8PH;k$uE6WlmHI3BxiYH>f-Mf2zVq#Mb_Jp`#&Y~L_Eia}fCuWr*HWU@ zw)dHd3fU3`G5DF+vJ$aEbSl0vpB{0E|DoSfS5iP1bOr{Y)>AvEusb_?#)`%`Z3uez z%47CXMTe+vkMC_~A-20J7r)@n8-kaOvMrTP8(Q1+dt@~ko$~$%Nw^5kakVH~-AHAZ zclOBBvK6oHnuj-5mvhpvk%yaDisQ;E(?Wd*m0^}SgR3U-Ru`X=>}8-YIYVdGJX@S8 zH5zXtT3wsNZnnwa{UqMJtoT>3lC>Yq7s#H{W}z$Nt-1q)#6h->cbVNRmu*x8d6fPZ zTbLiT=@hMP#kESp?YL}aOjR_|tc)!41c(X+0J|$mDWWQlp!8s*Ci}!fcCe}VN%mwA zDtb@{T$s?8Oi#TTlp!>u;lPsNitgxqszV*THvC+DFTs{FkoO(`4s_cQrC=@&*y()%iTn@bd#gt1JG%tCeGW?ZuLI=Yw2 z8!nYz;h&J|z62VXm0ZS1bTgZlM+ZI~#w1bQOKI*PM>qOHaiw`R?tJiK#h2ro z@x7H~mNj4fLHI62zo_&Q(uRFjs5hU z$XZdD)vRh7=^*538^T&K^x~q9r+ez>+Z9*G+AZb@)N1#G8lEo{dNk_n+_HDgYq5`f z6mgSuCeMV&O`bcC5w+*ehzj*#t&IDm~Tm>kwam4;Wac=KR>e}BWSA{JV! zLxAw!N(nS)nZ!W?Vj$4ipsb$-8V6#3Yv!mu&mG8VF=}_9I+!P&57y1Sk8K}>cLluf z4|NZ>)6>&6?sM;d8{#OiFrI0D3iS_zWZ@GWx`<1$UR#If!LVo*I;Re9dRkA`&m7eE z%rVT%##_DQGigKwkGGq)6{v~K>3j$VUVE*)2eZdEkJN@HsMOntuj!O{`1YwT9i;86 z1vFZknVG9&{3aHuR^N$MDhGhY$pnmYHu|+%0^r# z>qELE<30$d@i&-RxcdB_dK8A(S+{_JAzA!6?L3wazke_$dAbknrU#^VYd*S&?c0k1 zB3*C+h?IU$XxPDt&{SrX4I@PbiNsr0sQoBj3-&mMt>MzFcQdojB^bkz@pt}i|D)W^ zI>#BYBKX0O!1M{0R5HJarFsU%(?0NEqmfYRX?qDkDz!-DCM&<5vZ=4$MDv{*b46kf zL29e8nyQ0J4W%lF;w!dF&e!t3*hKy`cqfgWEfvH_-E|sy$wV3_`D}utd#FS7t8VG6 z0mCPwW8znogM7fSW{PxoZ(hjS-c z<~IE5jYL|oi;ESP2P_BZE)em?#0?Z@3H0EPbnD;h2|cC!*8Ka&55+=tk1m(pArqVL zJ>mLV*^KJ%M+tH4G}R=I%~V&Q1MP+0oU85iA?ls#G5f?l1~;t0GpHq*>l;`vm`}TJ%8xVcmlPuVN zHu{1i3-i1|8+JE4?Nb<~go9YIC*t`>F@v=V5~~O`%8)~F_q}d#9pN4;&s$7C{c%Z7 z?|YneFBNqe(ShU%Cdti+*>_ZT5Kk$YKsQkRG5A!PaT2_zdJz$ssZ0bC-1(feER4-E zcuHErm~dDq2bhHmUA|F@N=n^|X6*unUc@R7-elsvK@Vizb5`on&XN>rrqZIiM=#1w zEqQE2DHsG(KrI%0y91coEiRx=lt%It^Gd1f7&=RTKnPm?`piV%T>MD8w44xOL{O?4 zurO1R)KcVQ&w1s;L!Z7Yi4u=nY~(@b@g*r;kd&lq)w=S1&-GRES+peHee#78Wpb<) zr*FDW5k_u63^7Sb2_Un@Dy;G^w14GqyL39X<#%>;ZSa`!fyCJ>ie{+oBXhJ;6_vU> z#}Bnu7;&crIztkLS&>MAgwngyR&rWKZCYZEslc~gz@^hAq3%#k`*fW2JYk8zjld{M zP0hoM7d;>^3aIL6I)stY9f$9{l%~x+-Kob>q7Lw}T|pG7exvs{wW6Az3jkxl_t^Ov z^uhORfmwMt%hrid;8*^ZU2LFqU0hO>CV}Vxj2><{4kjLkU5O+y2M#OHiYB^esCZeL zIbjfH*!?k~AqQrjg<=+MSh{Wv`qVkYUvc7_ImvK#e?eLdyS9#*Sz@0OlyhCO!OzI4 z$$#txWO#B;u{p!^gQ?Fm?#IqP1onp0D)};1sIhxr4`@+nl3yWn+)a6P_m?*NpNVQa zHE+$Nt=)kA-?)UGfsYr47RZB8BW*i_ad{b}UZb61ZrC$lA<&5W&F>51oKlD*>xpYp0aL(=zKlCiX@ z>nss;7_fEI6mRb1L`sBg5JUx0Qafs@*#zIpY1(m@W2a)_xDYAsH&E1Th(buLX7ui8 zcEwWAb$H4mXRv*JOg0Ph>v8Ha8FK^_=wQ*-ke{#?TDU8j!$qWsJdedDbD)f{2Z8UL zOOy>|2Wcjg31`RU_iRW!T~ts(2OVPK)kwzwW&ynXABV~Kf1H>Xd}weir5vO;_%l)TJ?yCD%yf*o$#gs0-5YLFGbQ<#KcmD7duuMP7 z;o6U%lA+key&OU7$V_=ljh=Kte3IaD1hW#l^VtnIc8)k6c{ZG+)Fi|y5kqy|^HvF( zH}t)MR|!*T*No=BPhY)oEvbLOL+)qIM*M@z4_@XdOX!}vXEQuBCPg9DogTm)i`!Sx z4|%!|mSDm+24wBIwou^K_vt)ylM_hiW}U(e!F8-+#O;B1p^)p|9f$CmC^ne?MN(RK zS>ao(ULd>nP}p8n2PMPvFt-WIHOm_}%kKHAWeI2@w8v`t~e!YM3VoKBxAprm917Wj&9%zn0pny zE*E(#_<>*SjSclS;%rXt@^6n;F7prG&$WyDQe$)d{yU!z#Vy@vJCRrYzk`|@JCf;z zRGe$*=O$0bTR(?f_&Ir)21+M_{r0cAq_On7DJFPHx5ZUucmfOq78khPdy#6-m2Yee zjouj}uXw-YykJ^kxFzLu!kr{yw)#QpaB9^-0;$a8>v_0@okNoAW+4^wGi2H3^(gXc z_M2guq%R{lRfIL4$KQW*z2)Qo!S6uCBX^?9MT~~K^d~d;B6PM#6BlG3szgp-_@<1Q z{iTO+`%=UH(v}>Uf6v{ z)JGP?B#Y8lFMko`0@h!s*pICRfY=taJlo&}j{d_ZCd?NbNE_rO$A9JuIu*K_p z+~rDqUPQy8b=9LGNMS%t8&JXW@Y0gf4^fEU!;d)Q2srn){EXgcX~0*aqQdT0R<>nKNCNAWOYuUH1sO7uPn)(dA2IPf8yhX& zkm4GU6rMfKH&?&F_mM+=EpN4xNS>bo|{F~=|A2Q1_T@uYpdtKrC7#| zz0L_@F2R$KE42~5REIa6dksc3g=lwKzqq+qx<@nW64se=g@&C7VQ^W8_N+skDb^jc z(~D$7*|myNgmTs*%4z^Ts~2??5y1aM|6geLpIk2W(LbPDUGtw}?f*fB<7w#;f4$rg zAQr?JD$h1gF6|OUV=Q}MQie=YeMbKeRF4Lo9ES1*^k=d)%HAMN2yy~+4Fl>4yjHFv=t$^@#Ql^6OjfywxB@H4-*?Zs?M8w7b zf?or$ObCWvF%x<_o1SxNf&Ul{wO`>Hv~9hfUY1UQRa*my1#Fz7?P9w`fs;0L@1i_B z+)>Z?WOBY^Kt|BCpg5HMzt7x(2`k2SRtWnaS0Nen#4z{g!H6Te1HZ*!+<>8~$j2mT zHZG@M0}BUr(SA;(9P@S1Nsc*{g9i76Va|Ywk4t|Oo(3<65xDUHFHS;AlysECNC#tM zui{Z15A*&NaJCOQJz9mp-GIFzwM2vTPD!$zI>{`p=Xy%VtnIK^b*AN{l>l8g*q?x* ziu$`a>rnk9RSwe#&8qwG+~!|}q>q4HjkdWn5Q|BQzT1bqgtVHlD}m4%VGNNQtHI40 z!`cKB=Q!yobuvB#*-nQ?Ep6iS;$os%snIlQ5@V6f74ZdvNH$qnMuCO&6?5R2n-nzm zQOm+s#WV$}1jLZ#>UfA8)n%N%18p*$Rgh@*5GEuUn02x4VvjX3+73V&jLJ>9^c2%o za3hY2GgentG^`lE2Xhep`otcP+rHv;!^o(xU=Drrf}tN!IxaIcKp2CR>lF2er(j4F zVdEi_11Sy|Kje*VEcXX8a~a}8SOU(@&Jd!d%je!nDCOBeWViwNdeT&omKK@Q!7iEC z9ft`GBDUpJwvsGqfLQ=0zwG>3aFg%n5?S(|92~EhF2`j5Eg-|Mz2bHYJX4v5!c1ii zt^;gu%MrE{F7zPcQajg@0Ytm(Y>1st6%^~yhWj#>k%*!%`8>=>!`npo_}1WAIVAu2 zwLj9Py@*f02poZns(!ZjyG~Z)^P``I!G1mZI!X1`&6{ksDOcjuvF=ERz%vWfi+stH zl4f;+$2L5$>2*B@)8$_vfoooQXr_I6B_p*IrSc1|O<2X{g(#|4lHvKP;!m$YWms0W z3GfLupJMc8t2)-;R98C8XsmUHM}#lWm-UE#gVdE zuuO!>mxkOE)AG;K>-9TVjVye}pouOSQ;jD9dxdha4o3~Wqe75L(<(?mmvEVpI}!a3 z-l_2c@BUu$XIJ`JkyzAS@RsdDTPB7a#NifxNSs_O+slRoo0xX8=`BC>@lBJ6{8R4s z#|xVP+3IGc@IOIv{=Mf>C{}TWphJ(e+uhr<5GfAAV)Q4gq5+0$;KU1?ca({i^sI$4%b4dzUbGydM*L>i%sbY%J3F)vG76DxPHgjaoJqEY|7 z@K3y&xN*5*Vh?+!{(3xzaCjoW)A{tj%fZH=Bv;U}`qQy)D&w`lJ&Y9FLsx}L`*uPO zW*1k@YhZgey(NiEs(zs8MJVThyqr%hOonU25F+~T4T$0Q6y$?Ddu650iDfD18M|LO z-E!k+W-Y`IY-uehKp{Vg^HqDgN?+q8L@;uLPAMJkJWq^E1+dN#xF-7n1) z$q5>wadV96iezZtw;HwHZ5EnGH%3a^ue{bT`_18p**#K8QI8#V0^~FtEgE|H2OgDd zn{gIpzicmm?}JMk#-O$RSWwp4VlkAlwp?@ZgoEZ@6J^uiYebO$vF5#u&*mR6fEE|F zd7z)Y`g#Z zz?}!L&t%`K+~pAQoFxr5$#I%883!C;wLPm+t#4hR4O^#5n8L^?4Nk; z?y;t)7CtiZzdu1!oEOP@^uACIH?f(jXpL@Lem+Iy(43G#bjiiOeny&+sU7PPTe|(~ zkV>l`?K3tYX%TLod^74FK=Kl}w~9t%o=rA}D6yfu@eSSZWYKlE&+&tUp1=6^axeE+ z28GV2w)Kzo3w{prh`Fn?AuV6Ei6Xv){;@gg*v-`ySAA#G zW?w%Xor3)ibmi~Sksa0^O<&&obWIMls+^9zK)Ri3A0L?Z7v7SideeL5@%_1N|3-7K z`6A9K;x8U1?p6Z#&sz4MnDmr9c)sqL)7(O`xE+Kj#JpK@LIcNmo#e%sRP7h~`*$-t zja}Z07E`)^OIy9`TX#^QcGsP0`9@E)Ox$6MtljXIxI@oM@E?5Dvmbg}pCnrmTT4N2 z6ENo;N{pyS!+$hiH*(xTyecIkwfyIx%-qkJ?%KG+G z_J6NfM5Ox2Sirw)T0OS))3-L$Q~&J%@WXn!M-Hm5+`P29DbIX;ldk{o-j=G#_O$9D zP(r}+7+s@pVUcvLw>7i~bA~`wz8m!kH<&CU7@6hGg!5tqoV96g%w76>9&mERc^mTF ze`jD~GU;*w4{BUtLVH2#|2CYp>)8d^5^E6=5fF@&W@G!H1r%A8l^2uO@BaJQ;vL|m z3T28wCeUbFf{*=%&Uar46*n&|>rKqiTIFpL>0DVtd0Mgm+kn^=V=VA^F8w~9J5zuH z5%%BjGmTUvR6N>f$_ua5zJGG*76D_J+S@6;x9X>ryI8pq**b+o6E2d}h7n7m_Ww4z zI50?LxwD)GvsKoT!W|o5UtiEzpTH3W8|ibK2GBM`4H?ZE(I&Td(Wj=gZ;NWpPjr8B9yLNB*%^$E+f>&{8;MT*?Nsa9xChr|MfKh}r^8-K} ztG4cl0H+&Ufkj5`opGyrNP$%vV$&%0>oV!|WWUWGtE$5la~S+O4r-x1f?V|V?7vs+ z@<%0UFgB6Sgob=!5Nx@?ndzvc^wkq_$Kj*Z+>~})YFx>iTo2vftQA51q5JG9CmPAw zko)7uFw2c_EUa^N8fYbhA7F=LB1jubna{MAlBPCM@6MwAd}Iw>{ol#P^DcpUO_>$jPejAt`L=D>by3%pkVHn zVb4bM{Plo)eSZ+kbB*5iU>ywO9=+xGe|JeNkGgy_R5e7G6h*Pxtd=E^yTGwe>v#PJ4WOj^Eici0MC4zsVO*i>Q*c`YwdA0I3)`jFK1l{ky zU0PmF)4>_R-*bWTe{~52Z~RH15ddvR^K5(bCrla_M&1auF|-;p5T^@bCH(HF87c(_ zP#r<746ID1MKbtk-W;%-%BBn@E{C4#@Gupky^Z|?`yYYx*u}|93cF^0mWmGejyM@a z>%Tp^*roaG5R89)I7(`hIO5g-UrWi?ah?>v#9C%28w^pSG494URCT?N4 zh`XkqaWNU!=L8wC^A?|eZ9Mx|9J6VHml)JmL_^R-jg=aSG@fr=1IXdDi{-QuSTA@q z$za~FqbY-qG;e_B4{Siu{2F)uHXD~S)GeOf1PWTFxmUb-jF_S!dyryh+n+6W5D%T9 zTVDGkba#NXaR?-`^P;KAe>=Y@-sh)>J-YhK$RvV03G|HO-Gu+T2rq*U�`~RTu#a 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 z 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%0D(KuGi6>jVO)k9!z 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 O&2Hyj>k3Psxc>t=%&ipw literal 46748 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

For the background model behind inset lists, see Using ion-item-group.