PageActions
The "Copy page" split button a docs page carries in its header.
View code
<PageActions
markdownHref="/docs/install.md"
labels={{
copy: "Copy page",
copied: "Copied",
failed: "Could not copy the page",
more: "More ways to use this page",
}}
links={[
{ label: "View as Markdown", description: "Read this page as plain text", href: "/docs/install.md" },
{ label: "Open in Claude", description: "Ask questions about this page", href: claudeUrl, external: true },
{ label: "Open in ChatGPT", description: "Ask questions about this page", href: chatGptUrl, external: true },
{ label: "Edit on GitHub", description: "Suggest a change to this page", href: sourceUrl, external: true },
]}
/>Demo docs sites
Whole pages built only from @sdxc/ui, each for an invented product with its own palette and type. They open in a new tab.
- Content docsDriftwood DocsGuides for Driftwood, a command line that deploys static sites: a tutorial, how-to guides and concept pages./demo/docs/driftwood
- Component docsLattice DocsDocs for Lattice UI, a component library: an index of components, each with live previews, props and accessibility notes./demo/docs/lattice
- API referenceParcelo DocsThe HTTP API reference for Parcelo, a shipping-label API: resources, endpoints with request and response fields, and examples in three languages./demo/docs/parcelo
- Utilities docsTempo DocsReference for Tempo, an invented library of CSS utilities: every spacing, colour, layout, type and effect utility drawn beside its call and the CSS it emits./demo/docs/tempo
Every demo, landings and docs sites alike, is listed in the demo gallery.
Installation
An ordinary dependency: install it, import the theme once, and import the component where it is used.
npm add @sdxc/ui remiximport "@sdxc/ui/theme.css";Usage
import { PageActions } from "@sdxc/ui/docs";Renders the split button: the copy island, then the chevron opening a native popover
menu through popovertarget, so the menu opens and closes without JavaScript.
Props
Read from the component's own types, so every prop, every default and every allowed value is listed.
| Prop | Type | Required | Description |
|---|---|---|---|
markdownHref | string | Yes | The page's Markdown twin, fetched and copied by the main button. |
labels | Labels | Yes | |
links | Link[] | No | The menu's entries; with none, the chevron and menu are left out. |
menuId | string | No | Id shared by the menu and its trigger. @default "page-actions-menu" |
Also accepts everything in Omit<TagProps<"div">, "children">.