0.0.1
The first release of @42/ui-react — design foundations plus ~40 components across inputs, the picker family, overlays, and data display.
This is a very minimal version, for now. We will improve the components API, add more callbacks on events, fear not !
The first release of @42/ui-react lays the whole groundwork: a design system built on a
shared (variant × color) model and one xs–xl size scale, plus ~40 components — each
shipping with a docs page, a live playground story, and tests. A few of them, live:
Foundations
The color system, typography (Lato for text, Kode Mono for
accents and code), the shared size scale, gradient/theming tokens, and the layout primitives
Container, Grid, Stack, Text and Title. Every accent-aware component reads the same
palette off a data-color attribute:
Code
<Badge variant="light" color="green">Validated</Badge><Badge variant="light" color="blue">In progress</Badge><Badge variant="light" color="red">Failed</Badge><Badge variant="light" color="gray">Queued</Badge>Inputs & forms
The interactive primitives — Button, ActionIcon, Slider, Kbd, Spinner, Badge,
Card — plus a full form suite wired to a single library-agnostic contract
(value / onChange / onBlur / ref / name), so react-hook-form, TanStack Form, and
native <form> submission all work without an adapter: Input, Field, Checkbox,
RadioGroup, Switch, SegmentGroup, Textarea, PasswordInput, NumberInput, PinInput,
FileUpload and TagsInput.
Code
<Button variant="filled" color="brand">Book an eval slot</Button><Checkbox label="I followed the Norm" defaultChecked /><Switch label="Available for evaluations" defaultChecked /><Slider defaultValue={42} />The picker family
Select, MultiSelect, Autocomplete, Combobox, TreeSelect and TreeMultiSelect share
one input shell and a renderItem callback with typed payloads, tap-anywhere-to-open, and a
consistent clear-vs-chevron behaviour (clearSectionMode).
Code
<Select data={['Paris', 'Lyon', 'Nice', 'Berlin']} placeholder="Pick a campus" />Overlays
Modal and Drawer, driven either by open / onOpenChange or by an imperative
createModals manager (open / confirm / context / stacked), plus the hover-and-focus
Tooltip and the click-panel Popover:
Code
// Hint on hover / focus<Tooltip label="Saved automatically" asChild><Button variant="default">Hover me</Button></Tooltip>// Click-panel<Popover.Root><Popover.Trigger asChild><Button>Intra</Button></Popover.Trigger><Popover.Content>…</Popover.Content></Popover.Root>// Modal & Drawer (or drive them imperatively with createModals)<Modal open={open} onOpenChange={setOpen} title="Welcome aboard">…</Modal><Drawer open={open} onOpenChange={setOpen} placement="end" title="Filters">…</Drawer>Data display
Progress and CircularProgress, plus ChoiceCardGroup — a selectable card group that
switches between radio and checkbox semantics.
Code
<Progress value={62} variant="gradient" /><CircularProgress value={62} variant="gradient" size="lg" />Code
<ChoiceCardGrouplabel="Next project"defaultValue="minishell"items={[ { value: 'philosophers', label: 'Philosophers', description: 'Threads and mutexes.' }, { value: 'minishell', label: 'Minishell', description: 'Parsing, pipes, builtins.' }, { value: 'cub3d', label: 'Cub3D', description: 'Raycasting, Wolfenstein-style.' },]}/>Forms
Bind any control to react-hook-form, TanStack Form, or a native form.
Select
The picker family — renderItem, typed payloads, tree variants.
Modal
Modals, drawers, and the imperative manager.
ChoiceCardGroup
Selectable cards — radio or checkbox.
Git history
Released · Initial release
The first release of the 42 UI kit — design foundations, the core interactive primitives, the combobox/picker family, overlays, and the first data-display components.
Add ChoiceCardGroup (selectable card group — radio / checkbox)
Library-agnostic form support
Progress + CircularProgress components
ClearSectionMode, consistent clear-vs-chevron
Add Tooltip component
Add typed payload to renderItem
Homogenous backdrop blur between drawer & modals
Tap anywhere to open + keyboard-reachable clears
Text-size fixes + OG image refresh
Add renderItem across the picker family
Add Input / Combobox base components
Resolve lint findings across the kit
Click outside on modals/drawer
Add Modal, Drawer & imperative modals manager
Slider and button sizing tweaks
Add Kbd component with docs and dogfood in Button slots
Add synthetic controls to playground to better control state aware fields
Factorised gradient logic & add card variants
Update playground & button/action-icon/spinner sizes/design
Button colors fix
Add disabled colors
Add fonts
Add size fudamental for components
Added disabled and preview
Initial commit
Reworked playground/story to have better preset handling & labels
Slider story & typography
Slider styles
Theme colors not being loaded