Components

Every component @ps1ui/core ships today.

Layout

  • PS1Root — App-level wrapper that establishes the responsive containment context.
  • Container — Centers content with a max-width and horizontal padding.
  • Stack — One-dimensional flex layout with direction, gap, and alignment.
  • Grid — Equal-column CSS grid with responsive column counts.
  • Divider — Horizontal or vertical rule for separating adjacent content, rendered as a semantic <hr>.

Typography

  • Heading — Semantic h1–h6 with a level-driven size and weight scale.
  • Text — Body text with variants, sizes, weights, and truncation.
  • Anchor — Inline link with primary and subtle variants.

Forms

  • Button — Primary and secondary actions; renders as any element via the as prop.
  • Input — Single-line text input.
  • Textarea — Multi-line text input.
  • Select — Single or multiple choice from a list of options.
  • Checkbox — Checkbox input with indeterminate support.
  • RadioGroup — Grouped radio buttons with shared name and single-selection semantics.
  • Switch — On/off toggle for a setting that applies immediately.
  • Label — Form label for associating text with controls.

Content

  • Badge — Compact chip for tags, statuses, and count markers.
  • Card — Bordered surface for grouping related content.
  • Code — Inline code chip for identifiers and short fragments in running text.
  • CodeBlock — Syntax-highlighted code powered by Prism grammars.
  • ContributionGraph — GitHub-style activity heatmap — a year of days as a 7×N grid of intensity cells.
  • Details — Collapsible section built on the native <details>/<summary> element.
  • Image — Themed <img> wrapper with plain and bordered variants.
  • List — Ordered or unordered <ul>/<ol> with optional plain-text markers.
  • Table — Semantic <table> with box-drawing-style grid borders and horizontal scrolling.
  • Tabs — Composable tabs with roving keyboard focus, automatic activation, and horizontal or vertical layout.
  • Tooltip — Anchored hint that reveals descriptive text on hover or keyboard focus of a trigger.