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 +4 -4
- data/CHANGELOG.md +29 -0
- data/README.md +6 -5
- data/lib/wabi/generators/theme_generator.rb +1 -1
- data/lib/wabi/lockfile.rb +1 -1
- data/lib/wabi/registry_client.rb +1 -1
- data/lib/wabi/version.rb +1 -1
- metadata +1 -1
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 822607cf50c26a6b01e02046334337b052b2dda63608170010853b1f7c956c45
|
|
4
|
+
data.tar.gz: b62c61579a4d1f3b92468d31615a4e43758f7c350c5f48895890555ddc358aac
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
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.
|
|
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
|
-
###
|
|
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** (
|
|
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://
|
|
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
|
|
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://
|
|
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://
|
|
10
|
+
DEFAULT_REGISTRY = "https://wabi-docs.onrender.com/r"
|
|
11
11
|
|
|
12
12
|
attr_reader :path, :registry, :components
|
|
13
13
|
|
data/lib/wabi/registry_client.rb
CHANGED
data/lib/wabi/version.rb
CHANGED