Ir al contenido

FloatButton

Botón de acción flotante que permanece fijo en la página para acceso rápido a acciones comunes.

import { FloatButton } from 'asterui'

Básico

Botón de acción flotante simple.

import { FloatButton } from 'asterui'

function App() {
  return (
      <div className="relative h-32 bg-base-200 rounded-lg">
        <FloatButton
          icon={<span className="text-lg">+</span>}
          onClick={() => alert('Button clicked!')}
          className="!absolute !right-4 !bottom-4"
        />
      </div>
    )
}

export default App

Con Tooltip

Botón flotante con tooltip al pasar el ratón.

import { FloatButton } from 'asterui'

function App() {
  return (
      <div className="relative h-32 bg-base-200 rounded-lg">
        <FloatButton
          icon={<span className="text-lg">+</span>}
          tooltip="Add new item"
          type="primary"
          onClick={() => alert('Add clicked!')}
          className="!absolute !right-4 !bottom-4"
        />
      </div>
    )
}

export default App

Tipos

Tipos de botón predeterminado y primario.

import { FloatButton } from 'asterui'

function App() {
  return (
      <div className="relative h-32 bg-base-200 rounded-lg">
        <FloatButton
          icon={<span className="text-lg">+</span>}
          type="default"
          className="!absolute !right-20 !bottom-4"
        />
        <FloatButton
          icon={<span className="text-lg">♥</span>}
          type="primary"
          className="!absolute !right-4 !bottom-4"
        />
      </div>
    )
}

export default App

Formas

Formas de botón circulares y cuadradas.

import { FloatButton } from 'asterui'

function App() {
  return (
      <div className="relative h-32 bg-base-200 rounded-lg">
        <FloatButton
          icon={<span className="text-lg">+</span>}
          shape="circle"
          className="!absolute !right-20 !bottom-4"
        />
        <FloatButton
          icon={<span className="text-lg">+</span>}
          shape="square"
          className="!absolute !right-4 !bottom-4"
        />
      </div>
    )
}

export default App

Con Badge

Botón flotante con insignia de notificación.

5
import { FloatButton } from 'asterui'

function App() {
  return (
      <div className="relative h-32 bg-base-200 rounded-lg">
        <FloatButton
          icon={<span className="text-lg">💬</span>}
          badge={5}
          onClick={() => alert('You have 5 unread messages')}
          className="!absolute !right-4 !bottom-4"
        />
      </div>
    )
}

export default App

Grupo de Botones Flotantes

Grupo de botones flotantes que se expanden al hacer clic.

import { FloatButton } from 'asterui'

function App() {
  return (
      <div className="relative h-48 bg-base-200 rounded-lg">
        <FloatButton.Group
          icon={<span className="text-lg">+</span>}
          className="!absolute !right-4 !bottom-4"
        >
          <FloatButton
            icon={<span>?</span>}
            onClick={() => alert('Help section')}
          />
          <FloatButton
            icon={<span>💬</span>}
            onClick={() => alert('Contact support')}
          />
          <FloatButton
            icon={<span>↻</span>}
            onClick={() => alert('Refreshing...')}
          />
        </FloatButton.Group>
      </div>
    )
}

export default App

Volver Arriba

Botón de desplazamiento hacia arriba que aparece después de desplazarse hacia abajo.

BackTop button appears after scrolling down 400px

import { FloatButton } from 'asterui'

function App() {
  return (
      <div className="relative h-32 bg-base-200 rounded-lg flex items-center justify-center text-base-content/60">
        <p>BackTop button appears after scrolling down 400px</p>
      </div>
    )
}

export default App
PropiedadDescripciónTipoPredeterminado
iconIcono a mostrar en el botónReact.ReactNode-
descriptionTexto de descripción debajo del iconoReact.ReactNode-
typeTipo/color del botón'default' | 'primary''default'
shapeForma del botón'circle' | 'square''circle'
tooltipTexto de tooltip al pasar el ratónstring-
tooltipPlacementPosición del tooltip'left' | 'right' | 'top' | 'bottom''left'
badgeContenido de la insignia a mostrarnumber | React.ReactNode-
hrefURL del enlace (renderiza como ancla)string-
targetTarget del enlacestring-
onClickManejador de evento de clic() => void-
classNameClases CSS adicionalesstring-
data-testidID de prueba para pruebasstring-
PropiedadDescripciónTipoPredeterminado
childrenComponentes FloatButton a agruparReact.ReactNode-
flowerOrganiza botones en diseño de cuarto de círculo (radial)booleanfalse
shapeForma del botón para los hijos'circle' | 'square''circle'
iconIcono del botón activador principalReact.ReactNode-
mainActionIcono del botón de acción principal (reemplaza activador cuando está abierto)React.ReactNode-
onMainActionManejador de clic para el botón de acción principal() => void-
showCloseMostrar botón de cierre cuando está abiertobooleanfalse
typeTipo/color del botón'default' | 'primary''default'
positionPosición en pantalla'bottom-right' | 'bottom-left' | 'top-right' | 'top-left''bottom-right'
offsetDistancia desde el borde en píxelesnumber24
data-testidID de prueba para pruebasstring-
PropiedadDescripciónTipoPredeterminado
visibilityHeightDistancia de desplazamiento antes de que aparezca el botón (píxeles)number400
targetElemento objetivo de desplazamiento() => HTMLElement | Window-
onClickManejador de evento de clic (llamado antes de desplazarse)() => void-
iconIcono personalizadoReact.ReactNode-
durationDuración de la animación de desplazamiento en msnumber450
positionPosición en pantalla'bottom-right' | 'bottom-left''bottom-right'
offsetDistancia desde el borde en píxelesnumber24
data-testidID de prueba para pruebasstring-
  • Usa elemento <button> nativo para soporte de teclado adecuado
  • Soporta prop href para renderizar como ancla para funcionalidad de enlace
  • Los tooltips proporcionan contexto para lectores de pantalla cuando están presentes
  • Los estados de enfoque son claramente visibles para navegación por teclado
  • La expansión del grupo es accesible por teclado
  • El botón BackTop aparece/desaparece según la posición de desplazamiento