wabi 0.17.0 → 0.18.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.
Files changed (5) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +28 -7
  3. data/README.md +4 -4
  4. data/lib/wabi/version.rb +1 -1
  5. metadata +1 -1
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 8416a5c3048f9fc12ef2ae6650ca8de97fac27996b3898428fbad227cec3eb0b
4
- data.tar.gz: 9510d03bf27057412dd57fe31cd4166b79738fb0043627eb59f931291cc614b7
3
+ metadata.gz: 2992f3b45a6bfd70ff6a485e22bc4956fbee2f40bf0a55ec267e799f2d44aba4
4
+ data.tar.gz: ade7d69e4c01fe3558a142fc7f7b1e95367cedcece5763180672e2e53e9b4e5d
5
5
  SHA512:
6
- metadata.gz: 6a6d70ff3106cb54dd1684200e4db93edc65bf8672ae963367d759df85c8fcc7d63c6454967f941e29baa41d8fb9e77da33f6c70da50c950969971a4f5ce1671
7
- data.tar.gz: 07fab2a18b37bcd6890c086d77a26b550691ee40286c303a5ddbc7fddcae6ebbe063baa88ceba981fbb2d7bf7c16a76c71b58e3a006175d41f2546ba9c3cf9b1
6
+ metadata.gz: f7835b455ad8eed29127998cd522751bc3a229061aebeb36d2e3068b4858e715c78d527391dc046e1beafd1e42a69e47e2087319ab19cd5d3194c3fd7b509a24
7
+ data.tar.gz: 61d5bb3eac3d92faf7c3a5af818d3ebc191c5092aa9bf1c1032c60916280d69cfe9f4ec5c2e97bd2d5ec3fe581b0d745a1ef78be524990e8dcb5d5d58de734e0
data/CHANGELOG.md CHANGED
@@ -2,10 +2,32 @@
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.18.0 - 2026-06-03
6
+
7
+ Adds the **Sidebar** component (#36).
8
+
9
+ ### Added
10
+
11
+ - **Sidebar.** A composable, collapsible application sidebar: collapses to an
12
+ icon rail on desktop (toggle persisted in `localStorage`) and becomes an
13
+ off-canvas panel on mobile (focus moves into it, the rest of the page goes
14
+ `inert`, Escape / backdrop click closes). Anatomy: `SidebarProvider`, `Sidebar`
15
+ (`side: :left | :right`), `SidebarTrigger`, `SidebarHeader`/`SidebarContent`/
16
+ `SidebarFooter`, `SidebarGroup`/`SidebarGroupLabel`, `SidebarMenu`/
17
+ `SidebarMenuItem`/`SidebarMenuButton`. Menu buttons render as real `<a>`/`<button>`
18
+ (active item gets `aria-current="page"`) and show a tooltip with their label when
19
+ the rail is collapsed (reuses the Tooltip component). State is set once on the
20
+ provider and propagated via a `group/sidebar` data-attribute marker; the
21
+ `wabi--sidebar` Stimulus controller is custom (no Zag). Install with
22
+ `bin/rails g wabi:add sidebar` (pulls `tooltip`).
23
+
24
+ Caveat: variant/state is propagated through a Tailwind named group
25
+ (`group/sidebar`), which matches any ancestor of that name — avoid nesting a
26
+ `Sidebar` inside another `Sidebar`.
27
+
5
28
  ## 0.17.0 - 2026-06-03
6
29
 
7
- A minimalist `:underline` style variant for Tabs, and the docs `ComponentPreview`
8
- now dogfoods it.
30
+ A minimalist `:underline` style variant for Tabs.
9
31
 
10
32
  ### Added
11
33
 
@@ -17,11 +39,10 @@ now dogfoods it.
17
39
  propagated to `TabsList`/`TabsTrigger` via the `group-data-[variant=underline]`
18
40
  marker.
19
41
 
20
- ### Changed
21
-
22
- - **`ComponentPreview` (docs) now renders the `:underline` Tabs variant** instead
23
- of hand-applying the underline classes inline dogfooding the new variant and
24
- removing the duplicated styling. No visual change.
42
+ Note: the variant is set on the `Tabs` root and applied to its pieces via a
43
+ Tailwind named group (`group/tabs`), which matches any ancestor of that name —
44
+ so a `Tabs` nested inside another `Tabs` inherits the outer variant. Avoid
45
+ nesting tabs of different variants (or give the inner one its own wrapper).
25
46
 
26
47
  ## 0.16.0 - 2026-06-03
27
48
 
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.17.0 alpha — [available on RubyGems](https://rubygems.org/gems/wabi). 35 components, 8 theme palettes, WCAG-AA targeted, live docs + registry at [wabi-docs.onrender.com](https://wabi-docs.onrender.com).
7
+ 🎉 **Status:** v0.18.0 alpha — [available on RubyGems](https://rubygems.org/gems/wabi). 36 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
- ### 35 components
34
+ ### 36 components
35
35
 
36
36
  | Group | Components |
37
37
  |---|---|
38
38
  | **Forms** (14) | Button, Input, NumberInput, Textarea, Label, Checkbox, Switch, Select, RadioGroup, Slider, Toggle, ToggleGroup, Combobox, Form |
39
- | **Layout & Display** (8) | Card, Badge, Separator, Alert, Avatar, Table, DataTable, Skeleton |
39
+ | **Layout & Display** (9) | Card, Badge, Separator, Alert, Avatar, Table, DataTable, Skeleton, Sidebar |
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 |
@@ -135,7 +135,7 @@ bin/dev # starts registry watcher + tailwind watcher + docs server on :3000
135
135
 
136
136
  Then visit:
137
137
  - `/` — marketing landing
138
- - `/docs/components` — index of all 35 components
138
+ - `/docs/components` — index of all 36 components
139
139
  - `/docs/components/{button,dropdown_menu,dialog,tabs}` — detailed pages with live preview + source
140
140
  - `/docs/themes` — all 8 palettes side-by-side
141
141
  - `/docs/getting-started`, `/docs/theming`, `/docs/philosophy` — prose docs
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.17.0"
4
+ VERSION = "0.18.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.17.0
4
+ version: 0.18.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Oscar Ortega