Erste Schritte
Kopiere einen Setup-Prompt mit den Installationsschritten und dem vollständigen Markdown-Guide für dieses Plugin.
Set up this Capacitor plugin in the project.
Use the package manager already used by the project.
Install these package(s): `@capgo/capacitor-transitions`
Run the required Capacitor sync/update step after installation.
Read this markdown guide for the full setup steps: https://raw.githubusercontent.com/Cap-go/website/refs/heads/main/apps/docs/src/content/docs/docs/plugins/transitions/getting-started.mdx
Use that guide for platform-specific steps, native file edits, permissions, config changes, imports, and usage setup.
If that guide references other docs pages, read them too.
Installation
Abschnitt mit dem Titel „Installation“Du kannst unser KI-gestütztes Setup nutzen, um das Plugin zu installieren. Füge die Capgo Skills mit dem folgenden Befehl deinem KI-Tool hinzu:
npx skills add https://github.com/Cap-go/capgo-skills --skill capacitor-pluginsNutze dann diesen Prompt:
Use the `capacitor-plugins` skill from `Cap-go/capgo-skills` to install the `@capgo/capacitor-transitions` plugin in my project.Wenn du ein manuelles Setup bevorzugst, installiere das Plugin mit den folgenden Befehlen und befolge die plattformspezifischen Anweisungen unten:
-
Paket installieren
Terminalfenster npm install @capgo/capacitor-transitions -
Web-Komponenten registrieren
import '@capgo/capacitor-transitions'; -
Geroutete Seiten wrappen
<cap-router-outlet platform="auto" swipe-gesture="auto"><cap-page><cap-header slot="header"><h1>Inbox</h1></cap-header><cap-content slot="content"><button>Open message</button></cap-content><cap-footer slot="footer"><nav>Tabs</nav></cap-footer></cap-page></cap-router-outlet> -
Richtung festlegen, bevor der Router die Route wechselt
import { setDirection } from '@capgo/capacitor-transitions/react';setDirection('forward');router.push('/message/42');setDirection('back');router.back();
React-Setup
Abschnitt „React Setup“import { useEffect, useRef } from 'react';import { useNavigate } from 'react-router-dom';import { initTransitions, setDirection, setupPage, setupRouterOutlet } from '@capgo/capacitor-transitions/react';import '@capgo/capacitor-transitions';
initTransitions({ platform: 'auto' });
export function AppShell() { const outletRef = useRef<HTMLElement>(null);
useEffect(() => { if (!outletRef.current) return;
setupRouterOutlet(outletRef.current, { platform: 'auto', swipeGesture: 'auto', }); }, []);
return ( <cap-router-outlet ref={outletRef}> {/* Your router renders cap-page children here. */} </cap-router-outlet> );}
export function InboxPage() { const navigate = useNavigate(); const pageRef = useRef<HTMLElement>(null);
useEffect(() => { if (!pageRef.current) return;
return setupPage(pageRef.current, { onDidEnter: () => console.log('Inbox visible'), }); }, []);
return ( <cap-page ref={pageRef}> <cap-header slot="header"> <h1>Inbox</h1> </cap-header>
<cap-content slot="content"> <button onClick={() => { setDirection('forward'); navigate('/message/42'); }} > Open message </button> </cap-content> </cap-page> );}React JSX TypeScript
Abschnitt „React JSX TypeScript“Import von @capgo/capacitor-transitions/react enthält JSX-Typisierungen für cap-router-outlet, cap-page, cap-header, cap-content, und cap-footer. In den meisten React-Projekten macht dieser Import die Custom Elements in TSX automatisch gültig.
Falls TypeScript weiterhin meldet Property 'cap-router-outlet' does not exist on type 'JSX.IntrinsicElements', füge eine Projekt-Deklarationsdatei hinzu:
import '@capgo/capacitor-transitions/react';Bei Vite, Create React App und den meisten webpack-React-Apps reicht es, die Datei in src/ zu legen. Bei Next.js platziere sie in src/ oder im Projekt-Root und stelle sicher, tsconfig.json dass diese sie enthält:
{ "include": ["src", "src/capgo-transitions.d.ts"]}Bei benutzerdefinierten TypeScript- oder webpack-Setups mit einem separaten types/ Ordner füge stattdessen diesen Ordner hinzu:
{ "include": ["src", "types"]}Zurückwischen
Abschnitt „Swipe Back“iOS-Edge-Geste per Markup aktivieren oder deaktivieren:
<cap-router-outlet swipe-gesture="auto"></cap-router-outlet><cap-router-outlet swipe-gesture="true"></cap-router-outlet><cap-router-outlet swipe-gesture="false"></cap-router-outlet>Oder über JavaScript:
const outlet = document.querySelector('cap-router-outlet');
outlet?.setSwipeGesture('auto');outlet?.setSwipeGesture(true);outlet?.setSwipeGesture(false);auto aktiviert die Geste nur, wenn Capacitor eine native iOS-Runtime meldet. Während der Geste folgt der Seitenübergang dem Finger. Beim Loslassen wird der Übergang entweder abgeschlossen und die Browser-Historie gebeten, einen Schritt zurückzugehen, oder er wird abgebrochen und die aktuelle Seite wiederhergestellt.
Um zu verhindern, dass ein Element die Geste auslöst, füge hinzu: data-swipe-gesture-ignore:
<button data-swipe-gesture-ignore>Open drawer</button>Mit Native Navigation
Abschnitt mit dem Titel „With Native Navigation“Nutzt @capgo/capacitor-transitions mit @capgo/native-navigation wenn die native Navigation die Top- und Bottom-Bars übernehmen soll, während der Web-Content die Ionic-typische Seitenbewegung beibehält.
-
Installiere und synchronisiere das Native-Navigation-Paket:
Terminalfenster npm install @capgo/native-navigationnpx cap sync -
Native UI-Chrome konfigurieren:
import { NativeNavigation } from '@capgo/native-navigation';await NativeNavigation.configure({contentInsetMode: 'css',});await NativeNavigation.setNavbar({title: 'Inbox',backButton: { visible: false },}); -
Den Web-Transition-Outlet nur für Seiten zuständig lassen:
<cap-router-outlet platform="auto" swipe-gesture="auto"><cap-page><cap-content slot="content" fullscreen><main class="native-page">Inbox content</main></cap-content></cap-page></cap-router-outlet>.native-page {padding-top: var(--cap-native-navigation-top);padding-bottom: var(--cap-native-navigation-bottom);} -
Beide Systeme über dieselben Router-Events steuern:
import { NativeNavigation } from '@capgo/native-navigation';import { setDirection } from '@capgo/capacitor-transitions/react';import { router } from './router';await NativeNavigation.addListener('navbarBack', () => {setDirection('back');router.back();});async function openMessage(id: string) {setDirection('forward');router.push(`/message/${id}`);await NativeNavigation.setNavbar({title: 'Message',backButton: { visible: true, title: 'Inbox' },});}
Die native Top Bar nicht erneut als bewegtes Element rendern. <cap-header>. Lassen Sie @capgo/native-navigation die Bar nativ und nutzen Sie @capgo/capacitor-transitions für den WebView-Seiteninhalt darunter.
Komponenten
Abschnitt „Komponenten“<cap-router-outlet>
Abschnitt „<cap-router-outlet>“| Attribut | Typ | Standard | Beschreibung |
|---|---|---|---|
platform | 'ios' | 'android' | 'auto' | 'auto' | Animationsstil |
duration | number | Plattformstandard | Animationsdauer in Millisekunden |
keep-in-dom | boolean | true | Inaktive Seiten im DOM behalten |
max-cached | number | 10 | Maximal gecachte Seiten |
swipe-gesture | boolean | 'auto' | 'auto' | iOS Edge-Gesten aktivieren, deaktivieren oder automatisch erkennen |
Methoden:
push(element, config?)pop(config?)setRoot(element, config?)setSwipeGesture(true | false | 'auto')
Umschließt eine Seite und gibt Lifecycle-Events aus:
cap-will-entercap-did-entercap-will-leavecap-did-leave
<cap-content>
Abschnitt mit dem Titel „<cap-content>“| Attribut | Typ | Standard | Beschreibung |
|---|---|---|---|
fullscreen | boolean | false | Inhalt hinter dem Header scrollen lassen |
scroll-x | boolean | true | Horizontales Scrollen aktivieren |
scroll-y | boolean | true | Vertikales Scrollen aktivieren |
Framework-Helper
Abschnitt mit dem Titel „Framework Helpers“Die Framework-Entrypoints stellen dieselben Core-Helpers bereit:
import { initTransitions, setDirection, setupPage, setupRouterOutlet } from '@capgo/capacitor-transitions/react';
initTransitions({ platform: 'auto' });setDirection('forward');setupRouterOutlet(element, { platform: 'auto', swipeGesture: 'auto' });setupPage(element, { onWillEnter, onDidEnter, onWillLeave, onDidLeave });Verfügbare Entrypoints:
@capgo/capacitor-transitions/react@capgo/capacitor-transitions/vue@capgo/capacitor-transitions/angular@capgo/capacitor-transitions/svelte@capgo/capacitor-transitions/solid
Weiter geht's nach Getting Started
Abschnitt: „Weiter geht’s mit Getting Started“Wenn du es nutzt Erste Schritte um Migration und Enterprise-Betrieb zu planen, verbinde es mit Verwendung von @capgo/capacitor-transitions für die native Funktion in „Verwendung von @capgo/capacitor-transitions“, Capgo Enterprise für den Produkt-Workflow in Capgo Enterprise, Ionic Enterprise Plugin-Alternativen für den Produkt-Workflow in Ionic Enterprise Plugin-Alternativen, Capgo Alternativen für den Produkt-Workflow in Capgo Alternativen, und Capgo Beratung für den Produkt-Workflow in Capgo Consulting.