36 lines
2.1 KiB
Plaintext
36 lines
2.1 KiB
Plaintext
component FinalCTA {
|
|
props {
|
|
label = "Get started"
|
|
href = ""
|
|
type = "button"
|
|
variant = "primary"
|
|
disabled = false
|
|
class = ""
|
|
}
|
|
|
|
view {
|
|
<span class="contents {class}">
|
|
{#if href}
|
|
<a
|
|
href="{href}"
|
|
class=' group inline-flex min-h-11 items-center justify-center gap-2 rounded-xl px-5 py-2.5 text-sm font-semibold no-underline transition duration-200 focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-[var(--wire-color-primary,#059669)] focus-visible:ring-offset-2 focus-visible:ring-offset-[var(--wire-color-background,#ffffff)] {variant === "primary" ? "bg-[var(--wire-color-primary,#059669)] text-[var(--wire-color-primary-contrast,#ffffff)] hover:bg-[var(--wire-color-primary-hover,#047857)]" : "border border-[var(--wire-color-border,#e2e8f0)] bg-[var(--wire-color-surface,#ffffff)] text-[var(--wire-color-text,#0f172a)] hover:border-[var(--wire-color-primary,#059669)] hover:text-[var(--wire-color-primary,#059669)]"} '
|
|
aria-disabled="{disabled}"
|
|
>
|
|
<span>{label}</span>
|
|
<span class="transition-transform duration-200 group-hover:translate-x-0.5" aria-hidden="true">→</span>
|
|
<slot />
|
|
</a>
|
|
{:else}
|
|
<button
|
|
type="{type}"
|
|
disabled="{disabled}"
|
|
class=' group inline-flex min-h-11 items-center justify-center gap-2 rounded-xl px-5 py-2.5 text-sm font-semibold transition duration-200 disabled:cursor-not-allowed disabled:opacity-50 focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-[var(--wire-color-primary,#059669)] focus-visible:ring-offset-2 focus-visible:ring-offset-[var(--wire-color-background,#ffffff)] {variant === "primary" ? "bg-[var(--wire-color-primary,#059669)] text-[var(--wire-color-primary-contrast,#ffffff)] hover:bg-[var(--wire-color-primary-hover,#047857)]" : "border border-[var(--wire-color-border,#e2e8f0)] bg-[var(--wire-color-surface,#ffffff)] text-[var(--wire-color-text,#0f172a)] hover:border-[var(--wire-color-primary,#059669)] hover:text-[var(--wire-color-primary,#059669)]"} '
|
|
>
|
|
<span>{label}</span>
|
|
<slot />
|
|
</button>
|
|
{/if}
|
|
</span>
|
|
}
|
|
}
|