Saltar al contenido

Galería de temas · seis caminos

Una paleta para tus ideas.

Seis identidades distintas. Superficies y componentes reales, con un estilo que puedes hacer tuyo.

La misma base. Tu punto de vista.

Compara cada paleta en claro u oscuro, con el acabado que elijas.

Tema de vista previa
Acabado de superficie
Paleta Aureform

Aurora

Optimismo eléctrico. Un comienzo brillante.

Impulso del proyecto

128ideas en marcha

+24%
Impulso del proyecto Aurora
Impulso del proyecto AuroraAvance
Lun28
Mar42
Mié36
Jue64
Vie82
Oscuro · Elevado
Ver ejemplo completo
"use client";
import { AppearanceScope } from "@/components/appearance-provider";
import type { AppearanceConfig } from "@/lib/appearance";


import { useState } from "react";
import { Button } from "@/components/ui/button";
import { Badge } from "@/components/ui/badge";
import { Card, CardContent, CardHeader, CardTitle } from "@/components/ui/card";
import { Input } from "@/components/ui/input";
import { Chart } from "@/components/ui/chart";
import { GradientBackground } from "@/components/effects";

function AuroraExample() {
  const [project, setProject] = useState("");
  const [ready, setReady] = useState(false);
  const data = [
    { label: "Lun", value: 28 },
    { label: "Mar", value: 42 },
    { label: "Mié", value: 36 },
    { label: "Jue", value: 64 },
    { label: "Vie", value: 82 },
  ];

  return (
    <main className="mx-auto grid max-w-lg gap-4 bg-background p-6 text-foreground">
      <GradientBackground kind="mesh" colors={["#8B5CF6","#22D3EE","#34D399"]} angle={125} intensity={0.65} className="rounded-2xl border border-border p-6 [&>.afx-background-field]:[background-image:var(--af-gradient-color)]!">
        <Badge variant="outline" className="border-white/25 bg-white/5 text-white">{"Aurora"}</Badge>
        <h1 className="mt-8 text-3xl font-semibold tracking-tight">{"Da tu próximo paso."}</h1>
        <p className="mt-3 text-sm leading-6 text-white/75">{"Optimismo eléctrico. Un comienzo brillante."}</p>
      </GradientBackground>
      <Card appearance="elevated">
        <CardHeader><CardTitle>{"Resumen del lanzamiento"}</CardTitle></CardHeader>
        <CardContent>
          <Chart kind="bar" data={data} height={140} label="Impulso del proyecto" valueLabel="Avance" />
          <form onSubmit={(event) => { event.preventDefault(); setReady(true); }} className="mt-4 grid gap-3">
            <label className="grid gap-2 text-xs font-medium">
              {"Nombre del proyecto"}
              <Input required value={project} onChange={(event) => { setProject(event.target.value); setReady(false); }} placeholder="Tu próxima gran idea" />
            </label>
            <div className="flex flex-wrap gap-2">
              <Button type="submit">{"Crear proyecto"}</Button>
              <Button type="button" variant="outline" onClick={() => { setProject(""); setReady(false); }}>{"Empezar de nuevo"}</Button>
            </div>
            {ready && <p role="status" className="text-xs text-primary">{"Tu vista previa está lista."}</p>}
          </form>
        </CardContent>
      </Card>
    </main>
  );
}

const appearance: AppearanceConfig = {
  "version": 1,
  "theme": "dark",
  "palette": "aurora",
  "colors": {
    "primary": "#8B5CF6",
    "secondary": "#22D3EE",
    "tertiary": "#34D399"
  },
  "material": "elevated",
  "radius": 16,
  "density": "comfortable",
  "typography": "modern",
  "motion": "expressive",
  "hover": "glow",
  "shadow": 0.65,
  "border": 0.55,
  "gradient": {
    "kind": "mesh",
    "angle": 125,
    "intensity": 0.65,
    "stops": [
      {
        "color": "#8B5CF6",
        "position": 0
      },
      {
        "color": "#22D3EE",
        "position": 0.5
      },
      {
        "color": "#34D399",
        "position": 1
      }
    ]
  },
  "shader": {
    "kind": "aurora",
    "speed": 0.2,
    "scale": 1,
    "intensity": 0.55,
    "paused": false
  }
};

export default function ConfiguredAuroraExample() {
  return (
    <AppearanceScope appearance={appearance}>
      <AuroraExample />
    </AppearanceScope>
  );
}
Paleta Aureform

Violeta

Un poco de misterio. Mucha confianza.

Impulso del proyecto

128ideas en marcha

+24%
Impulso del proyecto Violeta
Impulso del proyecto VioletaAvance
Lun28
Mar42
Mié36
Jue64
Vie82
Oscuro · Elevado
Ver ejemplo completo
"use client";
import { AppearanceScope } from "@/components/appearance-provider";
import type { AppearanceConfig } from "@/lib/appearance";


import { useState } from "react";
import { Button } from "@/components/ui/button";
import { Badge } from "@/components/ui/badge";
import { Card, CardContent, CardHeader, CardTitle } from "@/components/ui/card";
import { Input } from "@/components/ui/input";
import { Chart } from "@/components/ui/chart";
import { GradientBackground } from "@/components/effects";

function VioletExample() {
  const [project, setProject] = useState("");
  const [ready, setReady] = useState(false);
  const data = [
    { label: "Lun", value: 28 },
    { label: "Mar", value: 42 },
    { label: "Mié", value: 36 },
    { label: "Jue", value: 64 },
    { label: "Vie", value: 82 },
  ];

  return (
    <main className="mx-auto grid max-w-lg gap-4 bg-background p-6 text-foreground">
      <GradientBackground kind="mesh" colors={["#8B5CF6","#E879F9","#6366F1"]} angle={125} intensity={0.65} className="rounded-2xl border border-border p-6 [&>.afx-background-field]:[background-image:var(--af-gradient-color)]!">
        <Badge variant="outline" className="border-white/25 bg-white/5 text-white">{"Violeta"}</Badge>
        <h1 className="mt-8 text-3xl font-semibold tracking-tight">{"Da tu próximo paso."}</h1>
        <p className="mt-3 text-sm leading-6 text-white/75">{"Un poco de misterio. Mucha confianza."}</p>
      </GradientBackground>
      <Card appearance="elevated">
        <CardHeader><CardTitle>{"Resumen del lanzamiento"}</CardTitle></CardHeader>
        <CardContent>
          <Chart kind="bar" data={data} height={140} label="Impulso del proyecto" valueLabel="Avance" />
          <form onSubmit={(event) => { event.preventDefault(); setReady(true); }} className="mt-4 grid gap-3">
            <label className="grid gap-2 text-xs font-medium">
              {"Nombre del proyecto"}
              <Input required value={project} onChange={(event) => { setProject(event.target.value); setReady(false); }} placeholder="Tu próxima gran idea" />
            </label>
            <div className="flex flex-wrap gap-2">
              <Button type="submit">{"Crear proyecto"}</Button>
              <Button type="button" variant="outline" onClick={() => { setProject(""); setReady(false); }}>{"Empezar de nuevo"}</Button>
            </div>
            {ready && <p role="status" className="text-xs text-primary">{"Tu vista previa está lista."}</p>}
          </form>
        </CardContent>
      </Card>
    </main>
  );
}

const appearance: AppearanceConfig = {
  "version": 1,
  "theme": "dark",
  "palette": "violet",
  "colors": {
    "primary": "#8B5CF6",
    "secondary": "#E879F9",
    "tertiary": "#6366F1"
  },
  "material": "elevated",
  "radius": 16,
  "density": "comfortable",
  "typography": "modern",
  "motion": "expressive",
  "hover": "glow",
  "shadow": 0.65,
  "border": 0.55,
  "gradient": {
    "kind": "mesh",
    "angle": 125,
    "intensity": 0.65,
    "stops": [
      {
        "color": "#8B5CF6",
        "position": 0
      },
      {
        "color": "#E879F9",
        "position": 0.5
      },
      {
        "color": "#6366F1",
        "position": 1
      }
    ]
  },
  "shader": {
    "kind": "aurora",
    "speed": 0.2,
    "scale": 1,
    "intensity": 0.55,
    "paused": false
  }
};

export default function ConfiguredVioletExample() {
  return (
    <AppearanceScope appearance={appearance}>
      <VioletExample />
    </AppearanceScope>
  );
}
Paleta Aureform

Océano

Claridad, en cada dirección.

Impulso del proyecto

128ideas en marcha

+24%
Impulso del proyecto Océano
Impulso del proyecto OcéanoAvance
Lun28
Mar42
Mié36
Jue64
Vie82
Oscuro · Elevado
Ver ejemplo completo
"use client";
import { AppearanceScope } from "@/components/appearance-provider";
import type { AppearanceConfig } from "@/lib/appearance";


import { useState } from "react";
import { Button } from "@/components/ui/button";
import { Badge } from "@/components/ui/badge";
import { Card, CardContent, CardHeader, CardTitle } from "@/components/ui/card";
import { Input } from "@/components/ui/input";
import { Chart } from "@/components/ui/chart";
import { GradientBackground } from "@/components/effects";

function OceanExample() {
  const [project, setProject] = useState("");
  const [ready, setReady] = useState(false);
  const data = [
    { label: "Lun", value: 28 },
    { label: "Mar", value: 42 },
    { label: "Mié", value: 36 },
    { label: "Jue", value: 64 },
    { label: "Vie", value: 82 },
  ];

  return (
    <main className="mx-auto grid max-w-lg gap-4 bg-background p-6 text-foreground">
      <GradientBackground kind="mesh" colors={["#3B82F6","#06B6D4","#38BDF8"]} angle={125} intensity={0.65} className="rounded-2xl border border-border p-6 [&>.afx-background-field]:[background-image:var(--af-gradient-color)]!">
        <Badge variant="outline" className="border-white/25 bg-white/5 text-white">{"Océano"}</Badge>
        <h1 className="mt-8 text-3xl font-semibold tracking-tight">{"Da tu próximo paso."}</h1>
        <p className="mt-3 text-sm leading-6 text-white/75">{"Claridad, en cada dirección."}</p>
      </GradientBackground>
      <Card appearance="elevated">
        <CardHeader><CardTitle>{"Resumen del lanzamiento"}</CardTitle></CardHeader>
        <CardContent>
          <Chart kind="bar" data={data} height={140} label="Impulso del proyecto" valueLabel="Avance" />
          <form onSubmit={(event) => { event.preventDefault(); setReady(true); }} className="mt-4 grid gap-3">
            <label className="grid gap-2 text-xs font-medium">
              {"Nombre del proyecto"}
              <Input required value={project} onChange={(event) => { setProject(event.target.value); setReady(false); }} placeholder="Tu próxima gran idea" />
            </label>
            <div className="flex flex-wrap gap-2">
              <Button type="submit">{"Crear proyecto"}</Button>
              <Button type="button" variant="outline" onClick={() => { setProject(""); setReady(false); }}>{"Empezar de nuevo"}</Button>
            </div>
            {ready && <p role="status" className="text-xs text-primary">{"Tu vista previa está lista."}</p>}
          </form>
        </CardContent>
      </Card>
    </main>
  );
}

const appearance: AppearanceConfig = {
  "version": 1,
  "theme": "dark",
  "palette": "ocean",
  "colors": {
    "primary": "#3B82F6",
    "secondary": "#06B6D4",
    "tertiary": "#38BDF8"
  },
  "material": "elevated",
  "radius": 16,
  "density": "comfortable",
  "typography": "modern",
  "motion": "expressive",
  "hover": "glow",
  "shadow": 0.65,
  "border": 0.55,
  "gradient": {
    "kind": "mesh",
    "angle": 125,
    "intensity": 0.65,
    "stops": [
      {
        "color": "#3B82F6",
        "position": 0
      },
      {
        "color": "#06B6D4",
        "position": 0.5
      },
      {
        "color": "#38BDF8",
        "position": 1
      }
    ]
  },
  "shader": {
    "kind": "aurora",
    "speed": 0.2,
    "scale": 1,
    "intensity": 0.55,
    "paused": false
  }
};

export default function ConfiguredOceanExample() {
  return (
    <AppearanceScope appearance={appearance}>
      <OceanExample />
    </AppearanceScope>
  );
}
Paleta Aureform

Menta

Ideas frescas. Energía que perdura.

Impulso del proyecto

128ideas en marcha

+24%
Impulso del proyecto Menta
Impulso del proyecto MentaAvance
Lun28
Mar42
Mié36
Jue64
Vie82
Oscuro · Elevado
Ver ejemplo completo
"use client";
import { AppearanceScope } from "@/components/appearance-provider";
import type { AppearanceConfig } from "@/lib/appearance";


import { useState } from "react";
import { Button } from "@/components/ui/button";
import { Badge } from "@/components/ui/badge";
import { Card, CardContent, CardHeader, CardTitle } from "@/components/ui/card";
import { Input } from "@/components/ui/input";
import { Chart } from "@/components/ui/chart";
import { GradientBackground } from "@/components/effects";

function MintExample() {
  const [project, setProject] = useState("");
  const [ready, setReady] = useState(false);
  const data = [
    { label: "Lun", value: 28 },
    { label: "Mar", value: 42 },
    { label: "Mié", value: 36 },
    { label: "Jue", value: 64 },
    { label: "Vie", value: 82 },
  ];

  return (
    <main className="mx-auto grid max-w-lg gap-4 bg-background p-6 text-foreground">
      <GradientBackground kind="mesh" colors={["#10B981","#A3E635","#2DD4BF"]} angle={125} intensity={0.65} className="rounded-2xl border border-border p-6 [&>.afx-background-field]:[background-image:var(--af-gradient-color)]!">
        <Badge variant="outline" className="border-white/25 bg-white/5 text-white">{"Menta"}</Badge>
        <h1 className="mt-8 text-3xl font-semibold tracking-tight">{"Da tu próximo paso."}</h1>
        <p className="mt-3 text-sm leading-6 text-white/75">{"Ideas frescas. Energía que perdura."}</p>
      </GradientBackground>
      <Card appearance="elevated">
        <CardHeader><CardTitle>{"Resumen del lanzamiento"}</CardTitle></CardHeader>
        <CardContent>
          <Chart kind="bar" data={data} height={140} label="Impulso del proyecto" valueLabel="Avance" />
          <form onSubmit={(event) => { event.preventDefault(); setReady(true); }} className="mt-4 grid gap-3">
            <label className="grid gap-2 text-xs font-medium">
              {"Nombre del proyecto"}
              <Input required value={project} onChange={(event) => { setProject(event.target.value); setReady(false); }} placeholder="Tu próxima gran idea" />
            </label>
            <div className="flex flex-wrap gap-2">
              <Button type="submit">{"Crear proyecto"}</Button>
              <Button type="button" variant="outline" onClick={() => { setProject(""); setReady(false); }}>{"Empezar de nuevo"}</Button>
            </div>
            {ready && <p role="status" className="text-xs text-primary">{"Tu vista previa está lista."}</p>}
          </form>
        </CardContent>
      </Card>
    </main>
  );
}

const appearance: AppearanceConfig = {
  "version": 1,
  "theme": "dark",
  "palette": "mint",
  "colors": {
    "primary": "#10B981",
    "secondary": "#A3E635",
    "tertiary": "#2DD4BF"
  },
  "material": "elevated",
  "radius": 16,
  "density": "comfortable",
  "typography": "modern",
  "motion": "expressive",
  "hover": "glow",
  "shadow": 0.65,
  "border": 0.55,
  "gradient": {
    "kind": "mesh",
    "angle": 125,
    "intensity": 0.65,
    "stops": [
      {
        "color": "#10B981",
        "position": 0
      },
      {
        "color": "#A3E635",
        "position": 0.5
      },
      {
        "color": "#2DD4BF",
        "position": 1
      }
    ]
  },
  "shader": {
    "kind": "aurora",
    "speed": 0.2,
    "scale": 1,
    "intensity": 0.55,
    "paused": false
  }
};

export default function ConfiguredMintExample() {
  return (
    <AppearanceScope appearance={appearance}>
      <MintExample />
    </AppearanceScope>
  );
}
Paleta Aureform

Brasa

Una chispa que vale la pena seguir.

Impulso del proyecto

128ideas en marcha

+24%
Impulso del proyecto Brasa
Impulso del proyecto BrasaAvance
Lun28
Mar42
Mié36
Jue64
Vie82
Oscuro · Elevado
Ver ejemplo completo
"use client";
import { AppearanceScope } from "@/components/appearance-provider";
import type { AppearanceConfig } from "@/lib/appearance";


import { useState } from "react";
import { Button } from "@/components/ui/button";
import { Badge } from "@/components/ui/badge";
import { Card, CardContent, CardHeader, CardTitle } from "@/components/ui/card";
import { Input } from "@/components/ui/input";
import { Chart } from "@/components/ui/chart";
import { GradientBackground } from "@/components/effects";

function EmberExample() {
  const [project, setProject] = useState("");
  const [ready, setReady] = useState(false);
  const data = [
    { label: "Lun", value: 28 },
    { label: "Mar", value: 42 },
    { label: "Mié", value: 36 },
    { label: "Jue", value: 64 },
    { label: "Vie", value: 82 },
  ];

  return (
    <main className="mx-auto grid max-w-lg gap-4 bg-background p-6 text-foreground">
      <GradientBackground kind="mesh" colors={["#F97316","#F43F5E","#FBBF24"]} angle={125} intensity={0.65} className="rounded-2xl border border-border p-6 [&>.afx-background-field]:[background-image:var(--af-gradient-color)]!">
        <Badge variant="outline" className="border-white/25 bg-white/5 text-white">{"Brasa"}</Badge>
        <h1 className="mt-8 text-3xl font-semibold tracking-tight">{"Da tu próximo paso."}</h1>
        <p className="mt-3 text-sm leading-6 text-white/75">{"Una chispa que vale la pena seguir."}</p>
      </GradientBackground>
      <Card appearance="elevated">
        <CardHeader><CardTitle>{"Resumen del lanzamiento"}</CardTitle></CardHeader>
        <CardContent>
          <Chart kind="bar" data={data} height={140} label="Impulso del proyecto" valueLabel="Avance" />
          <form onSubmit={(event) => { event.preventDefault(); setReady(true); }} className="mt-4 grid gap-3">
            <label className="grid gap-2 text-xs font-medium">
              {"Nombre del proyecto"}
              <Input required value={project} onChange={(event) => { setProject(event.target.value); setReady(false); }} placeholder="Tu próxima gran idea" />
            </label>
            <div className="flex flex-wrap gap-2">
              <Button type="submit">{"Crear proyecto"}</Button>
              <Button type="button" variant="outline" onClick={() => { setProject(""); setReady(false); }}>{"Empezar de nuevo"}</Button>
            </div>
            {ready && <p role="status" className="text-xs text-primary">{"Tu vista previa está lista."}</p>}
          </form>
        </CardContent>
      </Card>
    </main>
  );
}

const appearance: AppearanceConfig = {
  "version": 1,
  "theme": "dark",
  "palette": "ember",
  "colors": {
    "primary": "#F97316",
    "secondary": "#F43F5E",
    "tertiary": "#FBBF24"
  },
  "material": "elevated",
  "radius": 16,
  "density": "comfortable",
  "typography": "modern",
  "motion": "expressive",
  "hover": "glow",
  "shadow": 0.65,
  "border": 0.55,
  "gradient": {
    "kind": "mesh",
    "angle": 125,
    "intensity": 0.65,
    "stops": [
      {
        "color": "#F97316",
        "position": 0
      },
      {
        "color": "#F43F5E",
        "position": 0.5
      },
      {
        "color": "#FBBF24",
        "position": 1
      }
    ]
  },
  "shader": {
    "kind": "aurora",
    "speed": 0.2,
    "scale": 1,
    "intensity": 0.55,
    "paused": false
  }
};

export default function ConfiguredEmberExample() {
  return (
    <AppearanceScope appearance={appearance}>
      <EmberExample />
    </AppearanceScope>
  );
}
Paleta Aureform

Rosa

Calidez con un toque creativo.

Impulso del proyecto

128ideas en marcha

+24%
Impulso del proyecto Rosa
Impulso del proyecto RosaAvance
Lun28
Mar42
Mié36
Jue64
Vie82
Oscuro · Elevado
Ver ejemplo completo
"use client";
import { AppearanceScope } from "@/components/appearance-provider";
import type { AppearanceConfig } from "@/lib/appearance";


import { useState } from "react";
import { Button } from "@/components/ui/button";
import { Badge } from "@/components/ui/badge";
import { Card, CardContent, CardHeader, CardTitle } from "@/components/ui/card";
import { Input } from "@/components/ui/input";
import { Chart } from "@/components/ui/chart";
import { GradientBackground } from "@/components/effects";

function RoseExample() {
  const [project, setProject] = useState("");
  const [ready, setReady] = useState(false);
  const data = [
    { label: "Lun", value: 28 },
    { label: "Mar", value: 42 },
    { label: "Mié", value: 36 },
    { label: "Jue", value: 64 },
    { label: "Vie", value: 82 },
  ];

  return (
    <main className="mx-auto grid max-w-lg gap-4 bg-background p-6 text-foreground">
      <GradientBackground kind="mesh" colors={["#EC4899","#A78BFA","#FB7185"]} angle={125} intensity={0.65} className="rounded-2xl border border-border p-6 [&>.afx-background-field]:[background-image:var(--af-gradient-color)]!">
        <Badge variant="outline" className="border-white/25 bg-white/5 text-white">{"Rosa"}</Badge>
        <h1 className="mt-8 text-3xl font-semibold tracking-tight">{"Da tu próximo paso."}</h1>
        <p className="mt-3 text-sm leading-6 text-white/75">{"Calidez con un toque creativo."}</p>
      </GradientBackground>
      <Card appearance="elevated">
        <CardHeader><CardTitle>{"Resumen del lanzamiento"}</CardTitle></CardHeader>
        <CardContent>
          <Chart kind="bar" data={data} height={140} label="Impulso del proyecto" valueLabel="Avance" />
          <form onSubmit={(event) => { event.preventDefault(); setReady(true); }} className="mt-4 grid gap-3">
            <label className="grid gap-2 text-xs font-medium">
              {"Nombre del proyecto"}
              <Input required value={project} onChange={(event) => { setProject(event.target.value); setReady(false); }} placeholder="Tu próxima gran idea" />
            </label>
            <div className="flex flex-wrap gap-2">
              <Button type="submit">{"Crear proyecto"}</Button>
              <Button type="button" variant="outline" onClick={() => { setProject(""); setReady(false); }}>{"Empezar de nuevo"}</Button>
            </div>
            {ready && <p role="status" className="text-xs text-primary">{"Tu vista previa está lista."}</p>}
          </form>
        </CardContent>
      </Card>
    </main>
  );
}

const appearance: AppearanceConfig = {
  "version": 1,
  "theme": "dark",
  "palette": "rose",
  "colors": {
    "primary": "#EC4899",
    "secondary": "#A78BFA",
    "tertiary": "#FB7185"
  },
  "material": "elevated",
  "radius": 16,
  "density": "comfortable",
  "typography": "modern",
  "motion": "expressive",
  "hover": "glow",
  "shadow": 0.65,
  "border": 0.55,
  "gradient": {
    "kind": "mesh",
    "angle": 125,
    "intensity": 0.65,
    "stops": [
      {
        "color": "#EC4899",
        "position": 0
      },
      {
        "color": "#A78BFA",
        "position": 0.5
      },
      {
        "color": "#FB7185",
        "position": 1
      }
    ]
  },
  "shader": {
    "kind": "aurora",
    "speed": 0.2,
    "scale": 1,
    "intensity": 0.55,
    "paused": false
  }
};

export default function ConfiguredRoseExample() {
  return (
    <AppearanceScope appearance={appearance}>
      <RoseExample />
    </AppearanceScope>
  );
}

¿Encontraste tu camino? Ajusta cada tono en el estudio.

Hazlo tuyo