38 pages · Svelte 5 and React 19
Components
One API in both frameworks, one stylesheet, one set of tokens. Every component works with the keyboard, names itself for screen readers, stops moving when the reader asks for less motion, and speaks English and Russian.
Actions
Forms
Input A labelled one-line text field with hint, error, icon, prefix and suffix. Textarea A labelled multi-line text field with an optional character counter. Select One choice from a short list, with typeahead. Combobox A searchable single choice for long lists. Checkbox An independent yes / no choice. Switch An on / off setting that applies at once. RadioGroup One choice from a few options, all visible. Slider A value in a range, shown as it moves. DatePicker A date field with a keyboard-driven calendar.
Navigation
Data
Table Rows of data: sort, paging, a sticky header, empty and loading states. StatTile One key number with its change and trend. Charts Line, bar and donut charts that stay readable without the picture. KeyValue Labelled values in a grid or in ruled rows. Formatters Money, RTP and dates, exact and in the reader’s language. CountryFlag A country as its code chip, named in the reader’s language. CopyId A long id, shortened, with a copy button.
Display
Feedback
Toast Short notifications from a queue, polite or urgent. Progress How far a job has got, or that it is running. Spinner A small loading indicator. Skeleton A placeholder while content loads. EmptyState What a page or a table shows when there is nothing yet. ErrorState What a page or a panel shows when loading failed.