wabi 0.12.0 → 0.14.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: a35b338300b4049fce7d6d604a749a03f2362d5347927ecaedfb22150b160698
4
- data.tar.gz: f99b546787aeaa2e4279f94c9cf740c3087d33fee12fbf36664488bc51d2cb66
3
+ metadata.gz: 822607cf50c26a6b01e02046334337b052b2dda63608170010853b1f7c956c45
4
+ data.tar.gz: b62c61579a4d1f3b92468d31615a4e43758f7c350c5f48895890555ddc358aac
5
5
  SHA512:
6
- metadata.gz: eb578f5bf136083cd0c13f8762ee105ec91d5ad493883b4ed732025604e23cced1386d9a7460df988fdd3d27da08610d1bf0400bf24f0cf92a0226b50c97fc73
7
- data.tar.gz: '09082d0e8ab2437761afc45af0e0fe1a030911086892c8e732ba4f513ebb43fd7c268a46f9502e47a9995a523883ab8e4be47fe762a251257cfa232d5d00ef72'
6
+ metadata.gz: a0ef5a3acbf22dd7a9160acb27bde9caece017a0502d04247b6c1e273998df6ea01058decad348d7a71ea97e4a7c7012b67738985ee357b5187a8b32e6f125e2
7
+ data.tar.gz: 304cc81dee434dc4f01c981da263711173efb30b132b8e8711345c0f527c2c60ac029dbe6b4ec89396a6ed1de8f32e4cea2e124b52bd02ac8bdd57b9c930c93b
data/CHANGELOG.md CHANGED
@@ -2,6 +2,35 @@
2
2
 
3
3
  All notable changes to Wabi land here. Format follows [Keep a Changelog](https://keepachangelog.com/en/1.1.0/); versions follow [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
4
4
 
5
+ ## 0.14.0 - 2026-06-02
6
+
7
+ The component registry is now live, and the gem points at it by default.
8
+
9
+ ### Changed
10
+
11
+ - **Default registry URL → `https://wabi-docs.onrender.com/r`** (was the
12
+ not-yet-wired `https://wabikit.dev/r`). The registry is now deployed (the docs
13
+ app on Render serves `/r/*.json` for all 34 components), so
14
+ `bin/rails g wabi:add <name>` works out of the box without
15
+ `wabi:registry`. Override anytime with `bin/rails g wabi:registry <url>`.
16
+ (When `wabikit.dev` is wired to the same service, the default can move back.)
17
+
18
+ ## 0.13.0 - 2026-06-01
19
+
20
+ Server-driven DataTable. No breaking changes.
21
+
22
+ ### Features
23
+
24
+ - **DataTable** — composes the static `Table` + `Pagination` into a server-driven
25
+ data table. `DataTableColumnHeader` renders a sort link + asc/desc/neutral
26
+ indicator (the Rails controller orders the query and builds the toggle href —
27
+ no client-side data). `DataTableCheckbox` is a native, theme-styled checkbox
28
+ (no per-row Zag machine). The `wabi--data-table` Stimulus controller
29
+ coordinates select-all + indeterminate state, toggles each row's
30
+ `data-state="selected"`, and dispatches `wabi--data-table:change` with the
31
+ selected row values for app-side bulk actions. Install with
32
+ `bin/rails g wabi:add data_table`.
33
+
5
34
  ## 0.12.0 - 2026-06-01
6
35
 
7
36
  Five new components filling common shadcn gaps. No breaking changes.
data/README.md CHANGED
@@ -4,7 +4,7 @@
4
4
 
5
5
  Wabi is an open-source UI component library for **Ruby on Rails 8**, built on **Phlex + Tailwind 4 + Stimulus + Hotwire**. Inspired by shadcn/ui, components are *copied* into your app — you own the code, customize freely, no upstream API to drift away from.
6
6
 
7
- 🎉 **Status:** v0.12.0 alpha — [available on RubyGems](https://rubygems.org/gems/wabi). 33 components, 8 theme palettes, WCAG-AA targeted, full docs site at the GitHub repo's `docs/` Rails app.
7
+ 🎉 **Status:** v0.14.0 alpha — [available on RubyGems](https://rubygems.org/gems/wabi). 34 components, 8 theme palettes, WCAG-AA targeted, live docs + registry at [wabi-docs.onrender.com](https://wabi-docs.onrender.com).
8
8
 
9
9
  ---
10
10
 
@@ -31,12 +31,12 @@ Then add `@import "./wabi/tokens.css";` AFTER `@import "tailwindcss";` in your `
31
31
 
32
32
  ## What's in the box
33
33
 
34
- ### 33 components
34
+ ### 34 components
35
35
 
36
36
  | Group | Components |
37
37
  |---|---|
38
38
  | **Forms** (13) | Button, Input, Textarea, Label, Checkbox, Switch, Select, RadioGroup, Slider, Toggle, ToggleGroup, Combobox, Form |
39
- | **Layout & Display** (7) | Card, Badge, Separator, Alert, Avatar, Table, Skeleton |
39
+ | **Layout & Display** (8) | Card, Badge, Separator, Alert, Avatar, Table, DataTable, Skeleton |
40
40
  | **Overlays** (6) | Dialog, AlertDialog, Drawer (4 sides), Tooltip, Popover, Command |
41
41
  | **Menus** (1) | DropdownMenu (nested submenus, checkbox + radio items) |
42
42
  | **Navigation** (4) | Accordion, Tabs, Breadcrumb, Pagination |
@@ -106,7 +106,7 @@ That's a fully-accessible modal with focus trap, scroll lock, backdrop click, Es
106
106
  | `wabi:install [--force]` | Copies `tokens.css`, the `wabi--theme` Stimulus controller, and initializes `config/wabi.lock.json`. `--force` re-copies tokens/controller on gem upgrades (lockfile is preserved). |
107
107
  | `wabi:add <name…>` | Copies one or more component source files from the registry into `app/components/ui/` and their controllers into `app/javascript/controllers/wabi/`. Updates the lockfile. |
108
108
  | `wabi:list` | Lists all available components in the configured registry. |
109
- | `wabi:registry <url>` | Switches the active registry origin (default: `https://wabikit.dev/r`). |
109
+ | `wabi:registry <url>` | Switches the active registry origin (default: `https://wabi-docs.onrender.com/r`). |
110
110
  | `wabi:theme <slug>` | Swaps `tokens.css` for the requested palette. Run `bin/rails tailwindcss:build` after. |
111
111
 
112
112
  ---
@@ -134,7 +134,7 @@ bin/dev # starts registry watcher + tailwind watcher + docs server on :3000
134
134
 
135
135
  Then visit:
136
136
  - `/` — marketing landing
137
- - `/docs/components` — index of all 33 components
137
+ - `/docs/components` — index of all 34 components
138
138
  - `/docs/components/{button,dropdown_menu,dialog,tabs}` — detailed pages with live preview + source
139
139
  - `/docs/themes` — all 8 palettes side-by-side
140
140
  - `/docs/getting-started`, `/docs/theming`, `/docs/philosophy` — prose docs
@@ -181,6 +181,7 @@ Requires Node 20+ in PATH (Pagefind is fetched via `npx` on demand).
181
181
  | v0.10 | Toast group coordination (Sonner-style stacking, swipe, group pause) | ✅ shipped 2026-06-01 |
182
182
  | v0.11 | Table component (shadcn parity); ClassMerge text-align fix | ✅ shipped 2026-06-01 |
183
183
  | v0.12 | Skeleton, Breadcrumb, Pagination, Progress, AlertDialog | ✅ shipped 2026-06-01 |
184
+ | v0.13 | DataTable (server-driven: sortable headers + row selection) | ✅ shipped 2026-06-01 |
184
185
  | v1.0 | API stability; external a11y audit | 2027-04 target |
185
186
 
186
187
  See [ROADMAP.md](./ROADMAP.md) for the long-term view and [CHANGELOG.md](./CHANGELOG.md) for the per-release detail.
@@ -14,7 +14,7 @@ module Wabi
14
14
 
15
15
  def fetch_and_write
16
16
  lockfile = Wabi::Lockfile.load(File.join(destination_root, "config/wabi.lock.json"))
17
- base = lockfile.registry # e.g. https://wabikit.dev/r OR file:///abs/path
17
+ base = lockfile.registry # e.g. https://wabi-docs.onrender.com/r OR file:///abs/path
18
18
 
19
19
  shared = fetch("#{base}/themes/_shared.css", label: "_shared")
20
20
  body = fetch("#{base}/themes/#{slug}.css", label: slug)
data/lib/wabi/lockfile.rb CHANGED
@@ -7,7 +7,7 @@ module Wabi
7
7
  # Manages config/wabi.lock.json in a user's Rails app.
8
8
  # Tracks installed components, versions, hashes, and registry origin.
9
9
  class Lockfile
10
- DEFAULT_REGISTRY = "https://wabikit.dev/r"
10
+ DEFAULT_REGISTRY = "https://wabi-docs.onrender.com/r"
11
11
 
12
12
  attr_reader :path, :registry, :components
13
13
 
@@ -8,7 +8,7 @@ require_relative "version"
8
8
 
9
9
  module Wabi
10
10
  class RegistryClient
11
- DEFAULT_BASE_URL = "https://wabikit.dev/r"
11
+ DEFAULT_BASE_URL = "https://wabi-docs.onrender.com/r"
12
12
  DEFAULT_TTL = 24 * 60 * 60
13
13
 
14
14
  attr_reader :base_url
data/lib/wabi/version.rb CHANGED
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module Wabi
4
- VERSION = "0.12.0"
4
+ VERSION = "0.14.0"
5
5
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: wabi
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.12.0
4
+ version: 0.14.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Oscar Ortega