Inicio
Copiar un prompt de configuración con los pasos de instalación y la guía de markdown completa para este 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.
Sección titulada “Instalación”
Puedes utilizar nuestra configuración asistida por inteligencia artificial para instalar el plugin. Agrega las __CAPGO_KEEP_0__ habilidades a tu herramienta de inteligencia artificial utilizando el siguiente comando:You can use our AI-Assisted Setup to install the plugin. Add the Capgo skills to your AI tool using the following command:
npx skills add https://github.com/Cap-go/capgo-skills --skill capacitor-pluginsLuego utilice la siguiente solicitud:
Use the `capacitor-plugins` skill from `Cap-go/capgo-skills` to install the `@capgo/capacitor-transitions` plugin in my project.Si prefiere la configuración manual, instale el complemento ejecutando los siguientes comandos y siguiendo las instrucciones específicas de la plataforma a continuación:
-
Instale el paquete
Ventana de terminal npm install @capgo/capacitor-transitions -
Registre los componentes web
import '@capgo/capacitor-transitions'; -
Envuelva las páginas de navegación
<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> -
Establezca la dirección antes de que su router cambie de ruta
import { setDirection } from '@capgo/capacitor-transitions/react';setDirection('forward');router.push('/message/42');setDirection('back');router.back();
Configuración de React
Título de la sección “Configuración de React”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
Título de la sección “React JSX TypeScript”Importar desde @capgo/capacitor-transitions/react Incluye tipificaciones JSX para cap-router-outlet, cap-page, cap-header, cap-content, y cap-footer. En la mayoría de los proyectos de React, esa importación hace que los elementos personalizados sean válidos en TSX automáticamente.
Si TypeScript sigue reportando errores Property 'cap-router-outlet' does not exist on type 'JSX.IntrinsicElements'agregue un archivo de declaración de proyecto:
import '@capgo/capacitor-transitions/react';Para Vite, Create React App y la mayoría de las aplicaciones de webpack de React, colocar ese archivo dentro src/ es suficiente. Para Next.js, colóquelo en src/ o la raíz del proyecto y asegúrese de que tsconfig.json lo incluya:
{ "include": ["src", "src/capgo-transitions.d.ts"]}Para configuraciones de TypeScript o webpack personalizadas que utilizan una carpeta separada, incluya esa carpeta en su lugar: types/ Copy to clipboard
{ "include": ["src", "types"]}Volver hacia atrás
Título de la sección “Volver hacia atrás”Habilitar o deshabilitar el gesto de borde de iOS desde markup:
<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>O desde JavaScript:
const outlet = document.querySelector('cap-router-outlet');
outlet?.setSwipeGesture('auto');outlet?.setSwipeGesture(true);outlet?.setSwipeGesture(false);auto Habilita el gesto solo cuando Capacitor informa un tiempo de ejecución nativo de iOS. Durante el gesto, la transición sigue el dedo. Cuando el usuario suelta, la transición se completa y pide al historial del navegador que vaya hacia atrás, o cancela y restaura la página actual.
Para mantener un elemento desde que comienza el gesto, agrega data-swipe-gesture-ignore:
<button data-swipe-gesture-ignore>Open drawer</button>Con Navegación Nativa
Título de la sección “Con Navegación Nativa”Usar @capgo/capacitor-transitions con @capgo/native-navigation cuando native debe tener el control de las barras superior e inferior mientras que el contenido web mantiene el movimiento de página estilo Ionic.
-
Instale y sincronice el paquete de navegación nativa:
Ventana de terminal npm install @capgo/native-navigationnpx cap sync -
Configurar el navegador nativo:
import { NativeNavigation } from '@capgo/native-navigation';await NativeNavigation.configure({contentInsetMode: 'css',});await NativeNavigation.setNavbar({title: 'Inbox',backButton: { visible: false },}); -
Mantenga la salida de transición web responsable de las páginas solo:
<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);} -
Haga que ambos sistemas se controlen desde los mismos eventos de router:
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' },});}
No renderizar la barra superior nativa de nuevo como una barra en movimiento <cap-header>. Deje @capgo/native-navigation que la barra sea nativa y utilice @capgo/capacitor-transitions para el contenido de la página de WebView debajo de ella.
Componentes
Sección titulada “Componentes”<cap-router-outlet>
Sección titulada “<cap-router-outlet>”| Atributo | Tipo | Valor predeterminado | Descripción |
|---|---|---|---|
platform | 'ios' | 'android' | 'auto' | 'auto' | Estilo de animación |
duration | number | Valor por defecto de la plataforma | Duración de la animación en milisegundos |
keep-in-dom | boolean | true | Conservar páginas inactivas en el DOM |
max-cached | number | 10 | Máximo de páginas en caché |
swipe-gesture | boolean | 'auto' | 'auto' | Habilitar, deshabilitar o detectar nativamente el gesto de borde de iOS |
Métodos:
push(element, config?)pop(config?)setRoot(element, config?)setSwipeGesture(true | false | 'auto')
<cap-page>
Sección titulada “<cap-page>”Envuelve una página y emite eventos de ciclo de vida:
cap-will-entercap-did-entercap-will-leavecap-did-leave
<cap-content>
Sección titulada “<cap-content>”| Atributo | Tipo | Default | Descripción |
|---|---|---|---|
fullscreen | boolean | false | Hacer que el contenido se desplace detrás del encabezado |
scroll-x | boolean | true | Habilitar desplazamiento horizontal |
scroll-y | boolean | true | Habilitar desplazamiento vertical |
Ayudas de marco
Sección titulada “Ayudas de marco”Los puntos de entrada del marco expuestos ofrecen los mismos ayudantes básicos:
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 });Puntos de entrada disponibles:
@capgo/capacitor-transitions/react@capgo/capacitor-transitions/vue@capgo/capacitor-transitions/angular@capgo/capacitor-transitions/svelte@capgo/capacitor-transitions/solid
Sigue adelante desde Inicio
Sección titulada “Sigue adelante desde Inicio”If you are using Getting Started para planificar la migración y las operaciones empresariales, conecte con Usando @capgo/capacitor-transiciones para la capacidad nativa en Usando @capgo/capacitor-transiciones Capgo Empresas for the product workflow in Capgo Enterprise, para el flujo de trabajo del producto en __CAPGO_KEEP_0__ Empresas Alternativas del plugin de Ionic Empresas Capgo Alternatives Capgo Alternativas para el flujo de trabajo del producto en Capgo Alternativas, y para el flujo de trabajo del producto en Capgo Consultoría.