{ "$schema": "https://ui.shadcn.com/schema/registry-item.json", "name": "choice", "type": "registry:item", "title": "aesthetic Choice", "description": "Aesthetic Choice primitive, v0.25.0. Installs ae-check, ae-choice, ae-radio, ae-switch without the full stylesheet.", "registryDependencies": [ "https://aesthetic.mistystep.io/r/aesthetic-base.json" ], "meta": { "version": "0.25.0", "tier": "primitive", "route": "choice", "classes": ["ae-check", "ae-choice", "ae-radio", "ae-switch"], "attributes": [], "tokens": [ "--ae-surface", "--ae-wash", "--ae-ink", "--ae-ink-faint", "--ae-accent", "--ae-surface-dark", "--ae-wash-dark", "--ae-ink-dark", "--ae-ink-faint-dark", "--ae-accent-dark", "--ae-font", "--ae-font-mono", "--ae-w-regular", "--ae-ease", "--ae-quick", "--ae-ink-muted", "--ae-ink-muted-dark", "--ae-radius" ], "recipes": [] }, "files": [ { "path": "registry/choice/aesthetic.choice.css", "type": "registry:file", "target": "~/aesthetic.choice.css", "content": "/* aesthetic choice v0.25.0 — generated by scripts/build-registry.mjs. */\n@import './aesthetic.base.css';\n\n:root {\n --ae-ink-muted: #737373;\n --ae-ink-muted-dark: #8f8f8f;\n --ae-radius: 0;\n}\n\n@media (prefers-color-scheme: dark) {\n :root:not(.light):not([data-ae-mode='light']) {\n --ae-ink-muted: var(--ae-ink-muted-dark);\n }\n}\n\n.light,\n[data-ae-mode='light'] {\n color-scheme: light;\n}\n\n:root.dark,\n:root[data-ae-mode='dark'] {\n color-scheme: dark;\n --ae-ink-muted: var(--ae-ink-muted-dark);\n}\n\n.ae-choice {\ndisplay: flex;\n align-items: center;\n gap: 0.65em;\n cursor: pointer;\n}\n\n.ae-choice + .ae-choice {\nmargin-top: 0.3em;\n}\n\ninput.ae-check,\ninput.ae-radio {\nappearance: none;\n width: 1em;\n height: 1em;\n flex: none;\n margin: 0;\n display: inline-grid;\n place-content: center;\n background: transparent;\n border: 1px solid var(--ae-ink-muted);\n border-radius: var(--ae-radius);\n cursor: pointer;\n vertical-align: -0.12em;\n transition:\n border-color var(--ae-quick) var(--ae-ease),\n background-color var(--ae-quick) var(--ae-ease);\n}\n\ninput.ae-check:hover,\ninput.ae-radio:hover,\n.ae-choice:hover input.ae-check,\n.ae-choice:hover input.ae-radio {\nborder-color: var(--ae-ink);\n}\n\ninput.ae-check::before {\ncontent: '';\n width: 0.55em;\n height: 0.3em;\n margin-top: -0.12em;\n border-left: 2px solid var(--ae-surface);\n border-bottom: 2px solid var(--ae-surface);\n transform: rotate(-45deg);\n opacity: 0;\n transition: opacity var(--ae-quick) var(--ae-ease);\n}\n\ninput.ae-check:checked {\nbackground: var(--ae-ink);\n border-color: var(--ae-ink);\n}\n\ninput.ae-check:checked::before {\nopacity: 1;\n}\n\ninput.ae-radio::before {\ncontent: '';\n width: 0.42em;\n height: 0.42em;\n background: var(--ae-ink);\n opacity: 0;\n transition: opacity var(--ae-quick) var(--ae-ease);\n}\n\ninput.ae-radio:checked {\nborder-color: var(--ae-ink);\n}\n\ninput.ae-radio:checked::before {\nopacity: 1;\n}\n\ninput.ae-check:disabled,\ninput.ae-radio:disabled,\ninput.ae-switch:disabled {\nopacity: 0.45;\n cursor: default;\n}\n\ninput.ae-switch {\nappearance: none;\n position: relative;\n width: 2.1em;\n height: 1.15em;\n flex: none;\n margin: 0;\n background: transparent;\n border: 1px solid var(--ae-ink-muted);\n border-radius: var(--ae-radius);\n cursor: pointer;\n vertical-align: -0.18em;\n transition: border-color var(--ae-quick) var(--ae-ease);\n}\n\ninput.ae-switch::before {\ncontent: '';\n position: absolute;\n top: 0.14em;\n bottom: 0.14em;\n left: 0.14em;\n width: 0.68em;\n background: var(--ae-ink-muted);\n transition:\n left var(--ae-quick) var(--ae-ease),\n background-color var(--ae-quick) var(--ae-ease);\n}\n\ninput.ae-switch:hover {\nborder-color: var(--ae-ink);\n}\n\ninput.ae-switch:checked {\nborder-color: var(--ae-ink);\n}\n\ninput.ae-switch:checked::before {\nleft: calc(100% - 0.82em);\n background: var(--ae-ink);\n}\n" } ] }