Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
23 changes: 21 additions & 2 deletions packages/kumo-docs-astro/src/components/demos/ButtonDemo.tsx
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
import { Button } from "@cloudflare/kumo";
import { PlusIcon } from "@phosphor-icons/react";
import { Button, LinkButton } from "@cloudflare/kumo";
import { ArrowSquareOutIcon, PlusIcon } from "@phosphor-icons/react";

export function ButtonBasicDemo() {
return (
Expand Down Expand Up @@ -122,3 +122,22 @@ export function ButtonTitleDemo() {
</div>
);
}

/** Demonstrates using LinkButton for navigation actions that should look like buttons. */
export function ButtonLinkAsButtonDemo() {
return (
<div className="flex flex-wrap items-center gap-3">
<LinkButton href="/components/link" variant="secondary">
Read Link docs
</LinkButton>
<LinkButton
href="https://developers.cloudflare.com"
variant="ghost"
icon={ArrowSquareOutIcon}
external
>
Cloudflare Docs
</LinkButton>
</div>
);
}
16 changes: 16 additions & 0 deletions packages/kumo-docs-astro/src/pages/components/button.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -23,6 +23,7 @@ import {
ButtonLoadingDemo,
ButtonDisabledDemo,
ButtonTitleDemo,
ButtonLinkAsButtonDemo,
} from "~/components/demos/ButtonDemo";

{/* Demo */}
Expand Down Expand Up @@ -216,6 +217,21 @@ export default function Example() {
>
<ButtonTitleDemo client:visible />
</ComponentExample>

### Link as Button

<p>
Use `LinkButton` when the interaction should navigate somewhere but still look
like a button. Use `Button` for in-place actions like submitting, opening, or
toggling UI.
</p>
<ComponentExample
demo="ButtonLinkAsButtonDemo"
vrSection="link-as-button"
vrTitle="Link as Button"
>
<ButtonLinkAsButtonDemo client:visible />
</ComponentExample>
</ComponentSection>

{/* API Reference */}
Expand Down
Loading