Ir a contenido
Crea una cuenta
o
inicia sesión
Logotipo de la documentación de Stripe
/
Pregúntale a la IA
Crear cuenta
Iniciar sesión
Empezar
Pagos
Ingresos
Plataformas y marketplaces
Gestión del dinero
Recursos para desarrolladores
Resumen
Control de versiones
Registro de cambios
Actualiza tu versión de la API
Mejora tu versión de SDK
Essentials
SDK
API
Pruebas
CLI de Stripe
Proyectos de muestra
Herramientas
Espacio de trabajo
Dashboard de desarrolladores
Stripe Shell
Stripe para Visual Studio Code
Funciones
Flujos de trabajo
Destinos de eventos
Alertas de estado de StripeCargas de archivos
Soluciones de IA
Kit de herramientas para agentes
Protocolo de Contexto del Modelo
Seguridad y privacidad
Seguridad
Rastreo web de Stripebot
Privacidad
Ampliar Stripe
Desarrolla aplicaciones de Stripe
    Resumen
    Empezar
    Crear una aplicación
    Cómo funciona Stripe Apps
    Aplicaciones de muestra
    Crea tu propia aplicación
    Almacenar secretos
    Métodos de autenticación de API
    Flujos de autorización
    Lógica del lado del servidor
    Escucha los eventos
    Gestionar diferentes modos
    Habilita un entorno de prueba
    Página de Configuración de la aplicación
    Crea una interfaz de usuario
    Onboarding
    Distribuye tu aplicación
    Opciones de distribución
    Cargar tu aplicación
    Versiones y lanzamientos
    Probar tu aplicación
    Publica tu aplicación
    Promociona tu aplicación
    Añadir vínculos profundos
    Crear enlaces de instalación
    Asignar funciones en las extensiones de interfaz de usuario
    Acciones posteriores a la instalación
    Análisis de la aplicación
    Componentes integrados
    Integra Stripe Apps de terceros
    Migración a Stripe Apps
    Migra o desarrolla una extensión
    Migrar un plugin a Stripe Apps o Stripe Connect
    Referencia
    Manifiesto de aplicación
    CLI
    SDK de extensión
    Permisos
    Ventanas
    Patrones de diseño
    Componentes
      Acordeón
      Distintivo
      Banner
      BarChart
      Casilla
      Botón
      ButtonGroup
      Casilla de verificación
      Chip
      ContextView
      DateField
      Divisor
      FocusView
      FormFieldGroup
      Icono
      Img
      Alineado
      LineChart
      Link
      Lista
      Menú
      Vista de Onboarding
      PropertyList
      Radio
      Seleccionar
      SettingsView
      SignInView
      Sparkline
      Indicador giratorio
      Cambiar
      Mesa
      Pestañas
      Lista de tareas
      TextArea
      TextField
      Aviso
      Información sobre herramientas
Usa aplicaciones de Stripe
Socios
Ecosistema de socios
Certificación de socio
InicioRecursos para desarrolladoresBuild Stripe appsComponents

Accordion component for Stripe Apps

Use accordions to split long or complex content into collapsible chunks.

To add the Accordion component to your app:

import {Accordion, AccordionItem} from '@stripe/ui-extension-sdk/ui';

Accordions help a user to quickly scan a collection, identify elements, and access more details without leaving the context that they’re working in.

This is a preview of an Accordion component with three AccordionItem components inside:

Cargando ejemplo...
<Box css={{backgroundColor: 'surface'}}> <Accordion> <AccordionItem title="Apples"> <Box css={{padding: 'xlarge'}}>Accordion contents</Box> </AccordionItem> <AccordionItem title="Bananas"> <Box css={{padding: 'xlarge'}}>Accordion contents</Box> </AccordionItem> <AccordionItem title="Peaches" subtitle="A subtitle can be provided"> <Box css={{padding: 'xlarge'}}>Accordion contents</Box> </AccordionItem> </Accordion> </Box>

Accordion props

PropertyType

children

Required

React.ReactNode

One or more AccordionItem components.

AccordionItem

Accordion components contain one or more AccordionItem components.

AccordionItem props

PropertyType

children

Required

React.ReactNode

The contents of the component.

title

Required

React.ReactNode

A title describing the AccordionItem.

actions

Optional

React.ReactNode

A component containing actions that a user can take on the AccordionItem. If there are more than 2 actions, use an overflow menu to show the rest.

defaultOpen

Optional

boolean | undefined

Whether or not the AccordionItem should be open on the first render.

media

Optional

React.ReactNode

A component containing an optional Img or Icon to help identify the AccordionItem.

onChange

Optional

((isOpen: boolean) => void) | undefined

Callback when the open state has changed.

subtitle

Optional

React.ReactNode

An optional subtitle with addition descriptive information.

Titles and subtitles

Label all AccordionItem components with a title that uniquely identifies the item. You can also use an optional subtitle to provide a description or additional relevant information.

Cargando ejemplo...
<Box css={{backgroundColor: 'surface'}}> <Accordion> <AccordionItem title="Apples"> <Box css={{padding: 'xlarge'}}>Accordion contents</Box> </AccordionItem> <AccordionItem title="Bananas"> <Box css={{padding: 'xlarge'}}>Accordion contents</Box> </AccordionItem> <AccordionItem title="Oranges"> <Box css={{padding: 'xlarge'}}>Accordion contents</Box> </AccordionItem> <AccordionItem title="Peaches" subtitle="A subtitle can be provided"> <Box css={{padding: 'xlarge'}}>Accordion contents</Box> </AccordionItem> </Accordion> </Box>

Media

The AccordionItem component can contain a media element to show a relevant icon or image that helps the user identify the item. Only include media when it helps users identify items and when there’s a strong association between the media and the item itself.

Cargando ejemplo...
<Box css={{backgroundColor: 'surface'}}> <Accordion> <AccordionItem media={<Icon name="chat" />} title="ACH credit transfer" subtitle="ACH Credit Transfer enables US customers..." > <Box css={{padding: 'xlarge'}}>Accordion AccordionContents</Box> </AccordionItem> <AccordionItem title="Cards" subtitle="Accept Visa, Mastercard, American Express..." > <Box css={{padding: 'xlarge'}}>Accordion AccordionContents</Box> </AccordionItem> <AccordionItem title="Apple Pay" subtitle="Manage Apple Pay domains and certificates." > <Box css={{padding: 'xlarge'}}>Accordion AccordionContents</Box> </AccordionItem> </Accordion> </Box>

Actions

You can represent actions that an item can have performed on it with buttons or links placed on the right-hand side of the accordion trigger.

Cargando ejemplo...
const titles = [ 'Example using a link', 'Example using a button', 'Multiple buttons are cool too', ]; const actionExamples = [ <Link key={0} onPress={() => null}> Edit </Link>, <Button key={1} onPress={() => null}> Configure </Button>, <ButtonGroup key={2}> <Button onPress={() => null}>Action 1</Button> <Button onPress={() => null}>Action 2</Button> </ButtonGroup>, ]; return ( <Box css={{backgroundColor: 'surface'}}> <Accordion> {[0, 1, 2].map((i) => ( <AccordionItem title={titles[i]} subtitle={i > 2 && 'An optional subtitle can be provided.'} actions={actionExamples[i]} key={i} > <Box css={{padding: 'xlarge'}}>Accordion AccordionContents</Box> </AccordionItem> ))} </Accordion> </Box> )

Disabling items

Instead of removing a user’s ability to interact with disabled accordion items, disable the associated actions while still presenting as much information within the item as possible to the user.

Cargando ejemplo...
<Box css={{backgroundColor: 'surface'}}> <Accordion> <AccordionItem title="Orangesss" actions={ <Button disabled onPress={() => null}> Edit </Button> } > <Box css={{padding: 'xlarge'}}>Accordion contents</Box> </AccordionItem> </Accordion> </Box>

Véase también

  • Design patterns to follow
  • Style your app
  • UI testing
¿Te ha sido útil la página?
SíNo
  • ¿Necesitas ayuda? Ponte en contacto con el equipo de soporte.
  • Únete a nuestro programa de acceso anticipado.
  • Echa un vistazo a nuestro registro de cambios.
  • ¿Tienes alguna pregunta? Ponte en contacto con el equipo de ventas.
  • ¿LLM? Lee llms.txt.
  • Con tecnología de Markdoc