Skip to content

v0.3.0 - crates.io Publishing & GPUI Fork Enhancements

Choose a tag to compare

@Augani Augani released this 06 Feb 00:31
· 46 commits to main since this release

Highlights

  • Published to crates.io -- All 12 adabraka-gpui ecosystem crates + adabraka-ui are now on crates.io. Just cargo add adabraka-ui to get started.
  • GPUI Fork Enhancements -- Inset shadows, letter spacing, squircle corners, text shadows, and animation cancellation built into adabraka-gpui.
  • 85+ Components -- New Form builder, DataGrid, SortableList, InfiniteScroll, and Animation Builder.
  • Comprehensive Animation System -- 30+ easings, spring physics, gestures, exit animations, ripple effects, and scroll physics.

New Components

  • Form - Declarative form builder with validation, field groups, and submit handling
  • DataGrid - Spreadsheet-style grid with inline editing, sorting, and column resizing
  • SortableList - Drag-to-reorder list with smooth animations
  • InfiniteScroll - Automatic loading of paginated data on scroll
  • Animation Builder - Preset animations, keyframes, stagger, transitions

GPUI Fork Features (adabraka-gpui)

  • BoxShadow.inset - Inset shadows across Metal, WGSL, HLSL shader backends
  • TextStyle.letter_spacing - With tracking_tight(), tracking_wide() convenience methods
  • with_cancellable_animation() - Interruptible animations via AnimationHandle
  • continuous_corners on Styled - iOS-style superellipse (squircle) corners
  • TextShadow - With text_shadow_sm/md/lg() presets

Animation & Polish

  • Exit animations for all overlay components (Dialog, Toast, Popover, Sheet, etc.)
  • Input shake on validation failure
  • Ripple effect on Button and IconButton
  • Spring physics, gestures, content transitions, responsive utilities
  • ScrollPhysics with momentum scrolling
  • Smooth animated scroll-to

DX Improvements

  • GPUI re-exports via gpui_ext.rs
  • StyledExt trait with .center(), .stack(), .row(), .glass(), .elevated(), .ring()
  • Spacing, duration, z-index tokens on all 18 themes
  • Expanded prelude

Breaking Changes

  • GPUI dependency changed from gpui to adabraka-gpui (our fork with enhancements)
  • Update your Cargo.toml: gpui = { package = "adabraka-gpui", version = "0.3" }

Installation

[dependencies]
adabraka-ui = "0.3"
gpui = { package = "adabraka-gpui", version = "0.3" }

Full changelog: https://github.com/Augani/adabraka-ui/blob/main/CHANGELOG.md