Inputs, feedback, dialogs
A working tour of the form-control, alert, dialog, code-block, and keyboard-chip components. Every control here is a token-driven Inkwell primitive.
01
Input controls
5 controls
Shown to teammates and on shared links.
Slugs cannot contain spaces. Try
acme-editorial.
Used as the seed region for new projects.
Disabled fields use
--gray-100 background and --gray-500 text.
02
Selection controls
3 controls
Notifications
Default theme
Workspace flags
03
System messages
4 severitiesHeads up
Your workspace will move to the new billing model on the first of next month.
Settings saved
Changes are live for everyone in this workspace.
Approaching plan limit
You've used 87% of your monthly seat allocation.
Sync failed
Last attempt at 14:02 returned a 502. We'll retry in 5 minutes.
04
Keyboard & code
2 patternsSave with ⌘S · Open command palette with ⌘K · Toggle theme with ⌥T
const dialog = document.querySelector('#confirm');
document.querySelector('#open').addEventListener('click', () => {
dialog.showModal();
});
05
Confirmation dialog
native <dialog>Native HTML <dialog> with focus trap, ESC-to-close, and styled ::backdrop. Zero JS beyond showModal().
Made with hairlines and serifs by Vinny Carpenter. The 1.5px is on purpose.