Utilisation

Keep a drag-driven opacity inside its visible range.

tsx
// Keep a drag-driven opacity inside its visible range.
import { Box, clamp, motion, pan } from 'kuito';

export function Draggable() {
  const drag = pan({ axis: 'x' });
  const x = motion(0).follows(drag.x);
  return (
    <Box
      gestures={[drag]}
      translateX={x}
      opacity={clamp(
        x.map((value) => 1 - Math.abs(value) / 240),
        0.2,
        1,
      )}
      width={100}
      height={100}
      backgroundColor="#2563eb"
    />
  );
}

Signatures

ts
(source: Readable<number>, min: number, max: number): Derived<number>

Paramètres

NomTypeRequisDescription
sourceReadable<number>Oui—
minnumberOui—
maxnumberOui—

Retourne

Derived<number>

Généré depuis les déclarations TypeScript publiques : signatures, props et valeurs par défaut viennent de la source vérifiée, les descriptions de sa JSDoc. Aucune valeur par défaut n'est inventée.