Component Showcase

Showcasing composable components inspired by Linear's design system.

Linear Filter

A composable filter component with mixed behaviors per offered filter entry (single/multi, searchable/non-searchable, option/string/date/number).

Priority/Owner = XOR single. Project/Labels = multi without search. Assignee Name = multi string input. Reporter Name = single string input.

Filter Setup Legend

FilterTypeSelectionSearchCloseUse case
StatusoptionmultipleononMulti-select status with search.
PriorityoptionsingleoffonXOR/single priority picker.
Valuenumbern/an/aonNumeric min/max range.
AssigneeoptionmultipleononMulti-select predefined assignees.
OwneroptionsingleoffonXOR/single owner picker (no search).
LabelsoptionmultipleoffonMulti labels without search.
ProjectoptionmultipleoffonMulti projects without search.
Assignee Namestringmultiplen/aonMulti free-text names (e.g. gary + john).
Reporter Namestringsinglen/aonSingle free-text name.
Added to cycleoptionmultipleononMulti-select cycle with search.
Datesdaten/an/aonSingle date picker.

Try This

  • 1. Pick two projects and then edit them again from the value section in the pill.
  • 2. Select one owner, then select another owner (XOR behavior).
  • 3. Add both "gary" and "john" in Assignee Name (string multi).
  • 4. Set Reporter Name and replace it with another value (string single).

Animation

An unopinionated animation component for displaying code-like sequences with customizable timing, layout, and styling.

Working on it...

Marquee

Playground for all marquee root props with a live preview.

onMount: 0 | onCycleComplete: 0 | onFinish: 0
Svelte 5
Composable
Unopinionated
Compound API
Type-safe
Minimal overhead