vork by Voyager
An agent writes a scene as code, renders it on the GPU, looks at the result and revises the code. Source-available and free during the research preview.
翻訳待ち
The maker's introduction consists of the line above. Read the repository README for more details. Repository README ↗
Loading the full README.
Read the full README ↗A light-DOM, token-based web-component design system. You link one
stylesheet and write elements like <al-button> and <al-card> in plain
HTML; there is no shadow DOM, no build step, and no JavaScript required.
This first tier is CSS only.
alder-ui is the built-in design system of the Alder language, which vendors it at a tag. It works from any stack that can write HTML.
The full documentation is the Alder book's Appendix C,
"The alder-ui design system"
(book/C-design-system.md in github.com/tapegram/alder):
tokens and themes, every element with examples, and overriding tokens. This
README is the short version.
<script>try{document.documentElement.classList.toggle("dark",localStorage.theme==="dark"||(!("theme" in localStorage)&&matchMedia("(prefers-color-scheme: dark)").matches))}catch(e){}</script>
<link rel="stylesheet" href="al.css">
<al-page width="narrow">
<al-card>
<h2 slot="header">Sign up</h2>
<form method="post">
<al-stack>
<al-input label="Email"><label>Email<input name="email" type="email" required></label></al-input>
<al-checkbox label="Send me news"><label>Send me news<input name="news" type="checkbox"></label></al-checkbox>
<al-button variant="primary"><button type="submit">Sign up</button></al-button>
</al-stack>
</form>
</al-card>
</al-page>
al.css is the whole library (tokens and every component, inside
@layer al). Copy it from a tagged release, or link the raw file at a tag
(https://raw.githubusercontent.com/tapegram/alder-ui/v0.5.0/al.css). See every
element, variant and state in both themes at
https://tapegram.github.io/alder-ui/ (the root index.html, built from the
demos), or one element per page in demo/.
Elements have no outer margin, as in shadcn. Space siblings with
al-stack (sm 0.5rem, md 1rem, lg 1.5rem, xl 2.5rem). An app's
Layout wraps page content in <al-stack gap="lg">; inside al-page,
prose keeps shadcn's Typography rhythm.
--al-border-width is new, default 1px, and every component border uses
it, so a theme can thicken them. Four small changes keep the themes at
AA, so existing apps look slightly different:
al-button link variant's text is --foreground (the hover underline
is --primary).al-tabs triggers use --muted-foreground. In light mode this
replaces --foreground at 60%; in dark mode it already was
--muted-foreground, so nothing changes there.--accent at 100% (was 50%); the
current-page link keeps its --input at 50% hover fill.al-menu item's text and icon
use --foreground (was --destructive) on the 20% red tint.al-button no longer stretches in grids or column stacks, so add full
where you relied on a full-width button. Put the Layout's page content in
<al-stack gap="lg">:
<al-page …><main><al-stack gap="lg">{children}</al-stack></main></al-page>
(any <header> outside <main> is left alone).
The attributes are the API; custom-elements.json (a
Custom Elements Manifest)
declares each one with its type, default and description.
| element | attributes | slots |
|---|---|---|
al-button | variant (primary default, secondary, outline, ghost, destructive, link), size (xs, sm, md default, lg, icon, icon-sm, icon-lg), disabled, type (button, submit), full | default |
al-input | label, placeholder, disabled, invalid, help | |
al-textarea | label, placeholder, disabled, invalid, help | |
al-select | label, disabled, invalid, help | |
al-checkbox | label, disabled, invalid, help | |
al-table | striped, dense | default (a <table>) |
al-card | header, default, footer, actions, description, action | |
al-badge | variant (default default, secondary, outline, destructive) | default |
al-alert | variant (info default, success, warning, destructive), heading, dismissible | default |
al-pagination | page, pages |
Notes:
This is the beginning of the README. Read the rest at the original. Read the full README ↗
prev, default, next |
al-dialog | heading, size (sm, md default, lg), dismissible | header, default, actions, description |
al-popover | placement (top, bottom default, left, right), offset (sm default, md, lg), anchor (an id; needs al.js, without it the invoker is the anchor) | default |
al-menu | anchor (an id; needs al.js, without it the invoker is the anchor) | default (links or buttons) |
al-tabs | variant (default, line) | default (al-tabs) |
al-tab | name, selected | default (a <label> with a radio, then an al-panel) |
al-panel | default |
al-toast | variant (info default, success, warning, destructive), timeout (ms; default 5000, 0 = sticky) | default |
al-toasts | position (top-left, top-right, bottom-left, bottom-right default) | default (al-toasts) |
al-tooltip | for | default (text) |
al-devpanel | open | default (a <nav> of buttons, then <section>s) |
al-stack | gap (sm, md default, lg, xl), direction (column default, row) | default |
al-page | width (narrow, normal default, wide), plain | default |