Skip to content

Releases: Pompidup/cligrid

v2.0.0

03 Apr 07:55

Choose a tag to compare

cligrid v2.0.0

Major release with new components, input paradigms, theming, and animation.

New Components

  • Table — data table with column alignment, headers, and vertical scroll
  • Spinner — animated loading indicator (dots, line, arc, bouncingBar)
  • Tabs — tab navigation with Left/Right keyboard control
  • Modal — dialog with title, body, navigable buttons, focus trap
  • Checkbox — toggle input with Space/Enter control

Animation System

  • Built-in app.animate() with easing functions (linear, easeIn, easeOut, easeInOut, bounce, elastic)
  • app.tick() for frame-based callbacks
  • Batch rendering with dirty-component accumulation

Mouse Support

  • Click, scroll, hover detection (mouseenter/mouseleave)
  • SGR protocol parsing, hit-testing via component positions
  • hovered in RenderContext for hover-aware rendering

Theme System

  • Design tokens: primary, secondary, danger, success, warning, surface, text, border, muted, accent
  • Built-in dark/light presets, runtime switching with app.setTheme()

Layout Enhancements

  • gap for flex spacing
  • minWidth, maxWidth, minHeight, maxHeight constraints
  • justifyContent and alignItems for flex distribution

Styling Enhancements

  • Italic, strikethrough, inverse text styles
  • Unicode width-aware rendering (emoji, CJK, zero-width joiners)
  • focusStyle for automatic visual focus indicators
  • Color utilities: gradient(), lighten(), darken(), mix()
  • Horizontal scrolling with keyboard control and visual indicator

Full changelog: https://github.com/Pompidup/cligrid/blob/main/CHANGELOG.md

v1.1.0

02 Apr 14:13

Choose a tag to compare

What's New

  • Styled segments — new segments field on RenderLine allows multiple styles within a single line via StyledSegment[]. Each segment has its own fg, bg, bold, dim, underline. The line-level style acts as a base for all segments.
  • Text alignment — new align field on RenderLine supports "left" (default), "center", and "right" alignment within the component's content area. Works with both plain text and segments.
  • Segment-aware overflowhidden, ellipsis, wrap, and wrap-word overflow modes now correctly handle segments, truncating and wrapping across segment boundaries while preserving individual styles.
  • New demopnpm demo:segments showcases color palettes, log-level badges, text alignment, combined segments + alignment, and segment overflow with ellipsis.

Full Changelog: https://github.com/Pompidup/cligrid/blob/main/CHANGELOG.md

v1.0.3

02 Apr 08:25

Choose a tag to compare

Bug Fix

  • Fix terminal resize artifacts: clear screen before re-rendering to prevent visual artifacts when resizing the terminal window

v1.0.2

01 Apr 20:27

Choose a tag to compare

Fix

  • Include README.md explicitly in package files to ensure it appears on npm

v1.0.1

01 Apr 12:04

Choose a tag to compare

Patch Changes

  • Extract cligrid to dedicated repository
  • Update repository and homepage URLs
  • Add CI/CD with GitHub Actions and OIDC trusted publisher