Skip to content
← Select
Edit Select
Name
Also known as (comma separated)
Brief definition
Dropdown selection control.
Notes
**Interaction Patterns:** Choose an item.
Tier
Core
Useful
Reference
Deleted
Controls schema (JSON array)
[ { "id": "label", "type": "text", "label": "Label", "default": "Country" }, { "id": "variant", "type": "select", "label": "Variant", "default": "outline", "options": [ "outline", "filled" ] }, { "id": "accent", "type": "color", "label": "Focus colour", "default": "#D9C8F0", "presets": [ "#D9C8F0", "#A8E6C1", "#F5C2E0", "#BFD9F2", "#E8A020", "#241430" ] }, { "id": "radius", "type": "number", "label": "Corner radius", "default": 8, "min": 0, "max": 16, "step": 1 }, { "id": "disabled", "type": "toggle", "label": "Disabled", "default": false } ]
Templates (JSON object keyed by format)
{ "html": "<label class=\"field\">\n <span class=\"field__label\">{{label}}</span>\n <select class=\"field__select field__select--{{variant}}\" style=\"--accent:{{accent}};border-radius:{{radius}}px;\"{{#if disabled}} disabled{{/if}}>\n <option>United Kingdom</option>\n <option>Ireland</option>\n <option>France</option>\n <option>Germany</option>\n </select>\n</label>\n<style>\n.field { display: block; font: 14px system-ui, sans-serif; color: #241430; max-width: 240px; }\n.field__label { display: block; margin-bottom: 6px; font-weight: 500; }\n.field__select { width: 100%; box-sizing: border-box; padding: 10px 12px; font: inherit; color: #241430; background: #FAF7F2; appearance: none; }\n.field__select--outline { border: 1.5px solid #24143040; }\n.field__select--filled { border: 1.5px solid transparent; background: #24143010; }\n.field__select:focus-visible { outline: none; border-color: var(--accent); box-shadow: 0 0 0 3px color-mix(in srgb, var(--accent) 35%, transparent); }\n.field__select:disabled { opacity: .5; cursor: not-allowed; }\n</style>", "tailwind": "<label class=\"block max-w-[240px] text-sm text-[#241430] font-sans\">\n <span class=\"block mb-1.5 font-medium\">{{label}}</span>\n <select{{#if disabled}} disabled{{/if}} class=\"field-select-tw field-select-tw--{{variant}} w-full box-border px-3 py-2.5 bg-[#FAF7F2] border-[1.5px] appearance-none disabled:opacity-50 disabled:cursor-not-allowed\" style=\"border-radius:{{radius}}px;border-color:{{accent}};\">\n <option>United Kingdom</option>\n <option>Ireland</option>\n <option>France</option>\n <option>Germany</option>\n </select>\n</label>\n<style>\n.field-select-tw--filled { background: #24143010 !important; border-color: transparent !important; }\n</style>", "react": "export function Select({\n label = \"{{label}}\",\n variant = \"{{variant}}\",\n accent = \"{{accent}}\",\n radius = {{radius}},\n disabled = {{disabled}},\n}) {\n return (\n <label style={{ display: \"block\", maxWidth: 240, fontFamily: \"system-ui, sans-serif\", fontSize: 14, color: \"#241430\" }}>\n <span style={{ display: \"block\", marginBottom: 6, fontWeight: 500 }}>{label}</span>\n <select disabled={disabled} style={{\n width: \"100%\", boxSizing: \"border-box\", padding: \"10px 12px\", font: \"inherit\",\n color: \"#241430\", background: variant === \"filled\" ? \"#24143010\" : \"#FAF7F2\",\n border: variant === \"filled\" ? \"1.5px solid transparent\" : \"1.5px solid #24143040\",\n borderRadius: radius, appearance: \"none\", opacity: disabled ? 0.5 : 1,\n }}>\n <option>United Kingdom</option>\n <option>Ireland</option>\n <option>France</option>\n <option>Germany</option>\n </select>\n </label>\n );\n}" }
Save
History