Zum Inhalt springen
rdlabo.devdocs

API

Referenz der von @rdlabo/ionic-theme-ios27 v1.2.0 exportierten JavaScript-API. CSS- und Sass-Einstiegspunkte sind weiterhin im README dokumentiert.

Effekte

function registerTabBarEffect

(targetElement: HTMLElement) => registeredEffect | undefined

Registriert den Liquid-Glass-Auswahleffekt für eine Ionic-Tab-Leiste.

function registerSegmentEffect

(targetElement: HTMLElement) => registeredEffect | undefined

Registriert den Liquid-Glass-Auswahleffekt für ein Ionic-Segment.

interface registeredEffect

Mitglied Typ Beschreibung
destroy () => void Entfernt Listener und Effektelemente, die durch die Registrierung erzeugt wurden.

interface EffectScales

Eigenschaft Typ Beschreibung
small string Kleine Effektskalierung.
medium string Mittlere Effektskalierung.
large string Große Effektskalierung.
xlarge string Sehr große Effektskalierung.

Durchsuchbare Tab-Leiste

function attachTabBarSearchable

(ionTabBar: HTMLElement, ionFabButton: HTMLElement, ionFooter: HTMLElement) => TabBarSearchableFunction

Bindet den Übergang für eine durchsuchbare Tab-Leiste an und gibt dessen Ereignishandler zurück.

enum TabBarSearchableType

Mitglied Wert Beschreibung
Enter "enter" Wechselt in den Suchmodus.
Leave "leave" Verlässt den Suchmodus.

type alias TabBarSearchableFunction

(event: Event, type: TabBarSearchableType) => Promise<void>

Animationen

function withNativeUIShellTransition

(builder: AnimationBuilder) => AnimationBuilder

Umschließt einen Ionic-Builder für Navigationsanimationen, um das Entfernen nativer Bedienelemente, Wischfortschritt und Abbruch zu koordinieren und die zurückgegebene Animation zu erhalten. Aus dem Paketwurzelpfad und /vertical-bars exportiert. Registrieren Sie ihn als navAnimation und verwenden Sie für jede Navigation eine neue Animation. Die iosTransitionAnimation des Pakets enthält diesen Adapter bereits. Standard- und eigene Ionic-Builder beschreibt die Einrichtung mit bestehendem Theme.

function iosTransitionAnimation

(navEl: HTMLElement, opts: TransitionOptions) => Animation

Erstellt den iOS-Navigationsübergang des Pakets.

function setConfig

(config: Partial<IosTransitionConfig>) => void

Setzt den Radius des Seitenübergangs. Standardmäßig beträgt er 0; native Anwendungen können den gemessenen WebView-Radius übergeben.

interface IosTransitionConfig

Eigenschaft Typ Beschreibung
radius number Eckenradius des Seitenübergangs.

function popoverEnterAnimation

(baseEl: HTMLElement, opts?: any) => Animation

Erstellt die iOS-Popover-Eintrittsanimation.

function popoverLeaveAnimation

(baseEl: HTMLElement) => Animation

Erstellt die iOS-Popover-Austrittsanimation.

Suchleiste

function supportSeachbarCancelButtonIcon

(searchbar: HTMLIonSearchbarElement) => SearchbarCancelButtonIconSupport

Vorübergehende Rendering-Unterstützung für das Ionic-cancelButtonIcon im iOS-Modus. Importieren Sie Seachbar in dieser Schreibweise, wie es das Paket exportiert. Übergeben Sie ein initialisiertes Element.

interface SearchbarCancelButtonIconSupport

Mitglied Typ Beschreibung
refresh () => void Liest cancelButtonIcon nach einer Änderung der JavaScript-Property erneut aus.
destroy () => void Entfernt den Observer und das eingefügte Symbol und stellt den Textinhalt wieder her.

Native UI Shell (Vorschau)

Importieren Sie diese APIs und Typen aus @rdlabo/ionic-theme-ios27/native. Anforderungen und Rückfallverhalten finden Sie in der Anleitung zur Native UI Shell.

function enableNativeUIShell

(options?: NativeUIShellOptions) => Promise<NativeUIShellHandle>

Einmal beim Start aufrufen. Wiederholte Aufrufe mit derselben Konfiguration teilen die aktive Laufzeit; eine abweichende Konfiguration bei aktiver Laufzeit löst einen Fehler aus. Nicht unterstützte Umgebungen geben ein Handle im Web-Zustand zurück. Setzen Sie enabled: false, um die aktive Projektion zu stoppen und Web-Bedienelemente zu verwenden.

function configureNativeTransition

() => Promise<WebViewMetrics>

Liest den nativen WebView-Radius aus und wendet ihn auf Seitenübergänge an, ohne native Bedienelemente zu aktivieren. Auf anderen Plattformen beträgt der Radius 0.

interface NativeUIShellOptions

Erweitert VerticalControlAreaOptions; siehe die folgenden Optionen für die Projektion vertikaler Schaltflächen.

Eigenschaft Typ Beschreibung
enabled boolean Aktiviert die native Projektion global; Standard ist true.
controls NativeUIShellControls Wenn gesetzt, sind nur ausdrücklich auf true gesetzte Bedienelemente geeignet.

interface NativeUIShellControls

Eigenschaft Typ Beschreibung
tabs boolean Tab-Leisten und native Suche.
toolbar boolean Werkzeugleisten-, Zurück- und Menüschaltflächen.
segment boolean Segmente.
fab boolean Schwebende Aktionsschaltflächen.

interface NativeUIShellHandle

Mitglied Typ Beschreibung
getStatus () => NativeUIShellStatus Den aktuellen Status auslesen.
suspend () => Promise<NativeUIShellSuspension> Bedienelemente im Web wiederherstellen, bis die Freigabe fortgesetzt wird.
destroy () => Promise<void> Web-Darstellung wiederherstellen und native Bedienelemente sowie Laufzeit freigeben.

interface NativeUIShellSuspension

Mitglied Typ Beschreibung
resume () => Promise<void> Diese Unterbrechung freigeben. Die native Projektion wird fortgesetzt, nachdem alle aktiven Unterbrechungen freigegeben wurden.

interface WebViewMetrics

Eigenschaft Typ Beschreibung
radius number Nativer Eckenradius der WebView.

interface NativeUIShellStatus

interface NativeUIShellStatus {
  state: 'web' | 'native' | 'stopped';
  projected: number;
  updates: number;
  reason?: string;
}

projected zählt projizierte Bedienelemente, updates zählt Aktualisierungen und reason erklärt die Rückkehr ins Web oder das Stoppen. Eine Laufzeit im Zustand stopped verbindet sich nach einem Bridge-Fehler nicht automatisch erneut. Zerstören Sie das Handle vor dem erneuten Aktivieren.

type alias NativeUIShellComponent

'ion-button' | 'ion-buttons' | 'ion-back-button' | 'ion-menu-button' | 'ion-tab-bar' | 'ion-segment' | 'ion-fab'

Union der von der Laufzeit verarbeiteten Komponenten-Tags. Die jeweiligen Eignungsanforderungen finden Sie in der Anleitung.

iPhone Duo / Vertikaler Steuerbereich (Vorschau)

Importieren Sie diese APIs aus @rdlabo/ionic-theme-ios27/vertical-bars oder @rdlabo/ionic-theme-ios27/native. Der eigenständige Einstiegspunkt funktioniert ohne iOS-27-Theme oder vollständige Native UI Shell. Einrichtung, Toolchain-Anforderungen und Web-Rückfalloption beschreibt iPhone-Duo-Unterstützung.

function enableVerticalControlArea

(options?: VerticalControlAreaOptions) => Promise<VerticalControlAreaHandle>

Startet die Laufzeit ausschließlich für Bedienelemente im vertikalen Bereich. Starten Sie entweder diese Laufzeit oder enableNativeUIShell(). Wiederholte Aufrufe mit derselben Konfiguration teilen sie; eine abweichende aktive Konfiguration löst einen Fehler aus.

interface VerticalControlAreaOptions

Eigenschaft Typ Beschreibung
buttonProjection 'source' | 'system' Aussehen nativer vertikaler Schaltflächen. Standard ist system (SwiftUI); source projiziert Ionic-Füllungen und berechnete Farben.
buttonDefaultFill 'solid' | null Standard für nicht gesetzte Füllungen quellengetreuer Schaltflächen außerhalb von ion-buttons. Standard ist null (Theme-Glas); die Gruppe verwendet weiterhin einen transparenten Hintergrund.

Beeinflusst weder horizontale Bedienelemente noch Web-Klone. Lokale data-projection-Überschreibungen und die Füllungspriorität beschreibt Vertikale Leisten. Setzen Sie buttonProjection: 'source', um das Erscheinungsbild experimenteller Versionen beizubehalten.

function setVerticalControlAreaPlacement

(placement: VerticalBarEdge | VerticalBarPlacement, rtl?: boolean) => void

Wendet die von der Anwendung gewählte Platzierung nach dem Einbinden von ion-app auf CSS und Web-/native Bedienelemente an. Logische Kanten werden anhand des nächstgelegenen Attributs dir oder des ausdrücklich gesetzten rtl aufgelöst. Übergeben Sie null, um das gewöhnliche Layout wiederherzustellen.

function applyFoldStateClasses

(root: HTMLElement, fold: FoldState) => void

Aus @rdlabo/ionic-theme-ios27/vertical-bars importieren. Übergeben Sie den Zustand aus Foldable.getFoldState() / foldStateChange, um genau eine der Klassen ios-theme-fold-flat, ios-theme-fold-half-opened und ios-theme-fold-closed auf das Wurzelelement anzuwenden. Setzt zusätzlich ios-theme-fold-expanded bei halb geöffneter oder flacher Stellung mit Scharniergeometrie und entfernt sie andernfalls. Erhält andere Klassen. Abonniert keine Geräteereignisse und verändert Split-Pane-when nicht. FoldState ist die strukturelle Form mit state: 'flat' | 'half-opened' | 'closed' und optionalem hingeBounds: { x: number; y: number; width: number; height: number }.

interface VerticalControlAreaHandle

Erweitert NativeUIShellHandle um setPlacement, dieselbe Funktion wie setVerticalControlAreaPlacement.

Mitglied Typ Beschreibung
setPlacement (placement: VerticalBarEdge | VerticalBarPlacement, rtl?: boolean) => void Platzierung auf Web- und native Bedienelemente anwenden.

type alias VerticalBarEdge

'leading' | 'trailing' | null

Logische Kante in Leserichtung; null bedeutet keine vertikale Leiste.

interface VerticalBarPlacement

Eigenschaft Typ Beschreibung
edge VerticalBarEdge Logische Leistenkante.
inset number Ausdrückliche Leistenbreite in CSS-Pixeln; weglassen, um CSS-Safe-Area-Regeln zu verwenden.
nativeEdge VerticalBarEdge Von der Anwendung bereitgestellte native logische Kante. Null oder eine nicht registrierte Kante verwendet im Modus verticalBarsOnly eine Web-Leiste, andernfalls das gewöhnliche Native-UI-Shell-Layout. Wird der Wert weggelassen, bleibt der letzte Wert erhalten.

module IonicNativeUIShell

Das enthaltene Capacitor-Plugin stellt WebView-Messwerte für die Darstellung bereit. Es besitzt keine Web-Implementierung. Sichern Sie Aufrufe mit Capacitor.getPlatform() === 'ios' ab. Verwenden Sie @erkamyaman/capacitor-foldable in der Anwendung für Scharnierzustand und Leistenplatzierung. Siehe iPhone-Duo-Unterstützung.

Mitglied Typ Beschreibung
getWebViewMetrics () => Promise<WebViewMetrics> Den effektiven Eckenradius der WebView auslesen.
addListener (name: 'webViewMetricsChange', listener: (event: WebViewMetrics) => void) => Promise<PluginListenerHandle> Änderungen der WebView-Messwerte abonnieren und den Listener zum Abschluss entfernen.

Die Methoden der Bridge für Snapshots und Aktivierungen sind interne Implementierungsdetails. Die früheren APIs DeviceLayout, HingeStatus, getDeviceLayout() und die APIs zur Überwachung des Gerätelayouts wurden entfernt.