Animación | SlideTransition
SlideTransition#
Descripción#
- El deslizamiento direccional entre dos secciones que ocupan el mismo lugar: del centro de notificaciones a los ajustes rápidos y de vuelta, o entre pantallas de un mismo panel.
directiones el lado del que entra la sección nueva; la que se va sale hacia el lado contrario, así que ir y volver se lee como dos pasos de un mismo camino. Entra en 200 ms conease-ui-outy sale en 150 ms conease-in, 16 px y opacidad: lo suficiente para que se note de dónde viene sin que el contenido cruce la ventana.
Props#
direction('left' | 'right' | 'up' | 'down') — El lado del que entra la sección nueva; la anterior se va al contrario. Por omisiónright.mode('out-in' | 'in-out') —out-inpara que no convivan las dos secciones en la pantalla.appear(boolean) — Pone la transición en marcha también en el primer montaje.onEnter/onLeave((el: Element, done: () => void) => void) — Hooks de JavaScript de entrada y salida. Si recibendone, hay que llamarla.
Emite#
beforeEnter,afterEnter,enterCancelled,beforeLeave,afterLeave,leaveCancelled— Los hooks del<Transition>, con el elemento como carga.
Ranura#
- La por defecto: la sección que entra o se va.
Uso#
| |
Notas#
- Para que la ida y la vuelta se lean como un mismo camino,
directionse cambia junto con la sección destino: hacia la derecha al volver, hacia la izquierda al entrar. - Con
prefers-reduced-motionqueda sólo la opacidad (motion-reduce:), como enAppletPopover. - Sólo se mueven
opacityytranslate, que se componen sin rehacer el maquetado. - Las duraciones son las clases
duration-150yduration-200, no un token: la guardia de diseño sólo acepta 100/150/200/300. enteryleavevan como propsonEnteryonLeave, no como eventos, por la misma razón que enRevealTransition: el<Transition>mira la aridad de la función para saber si tiene que esperar adone.