wabi 0.18.0 → 0.19.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: 2992f3b45a6bfd70ff6a485e22bc4956fbee2f40bf0a55ec267e799f2d44aba4
4
- data.tar.gz: ade7d69e4c01fe3558a142fc7f7b1e95367cedcece5763180672e2e53e9b4e5d
3
+ metadata.gz: 671da1d85c9efb693bc652c3bff9acc885389113e843ce260cede410c5895167
4
+ data.tar.gz: 314453f9109a42053393780a79c4878f3cdd0c8f2a3a0a6935724f9d7b492d02
5
5
  SHA512:
6
- metadata.gz: f7835b455ad8eed29127998cd522751bc3a229061aebeb36d2e3068b4858e715c78d527391dc046e1beafd1e42a69e47e2087319ab19cd5d3194c3fd7b509a24
7
- data.tar.gz: 61d5bb3eac3d92faf7c3a5af818d3ebc191c5092aa9bf1c1032c60916280d69cfe9f4ec5c2e97bd2d5ec3fe581b0d745a1ef78be524990e8dcb5d5d58de734e0
6
+ metadata.gz: 4ef59549aa56fc4aa2ba29231722de58b2d6ef1876eafcbcc23f9fda9eadb982b8ee48dfde6750bbf761e81627f08a59216bdc682c32b8557cb683cc0a5db844
7
+ data.tar.gz: 74a5b5c2039703bcd61bd13dbac360688b9013932bba19ecf96b51627316eb6b863541c95e537d128c8e82dacd01e7a19e352521dc0c1ba27fab158fc53f2922
data/CHANGELOG.md CHANGED
@@ -2,6 +2,33 @@
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.19.0 - 2026-06-03
6
+
7
+ Sidebar v2 — a richer, themeable Sidebar. No breaking changes (existing v1
8
+ sidebars keep working and pick up the new surface tokens).
9
+
10
+ ### Added
11
+
12
+ - **Dedicated `--sidebar*` color tokens** (full shadcn-style palette: `--sidebar`,
13
+ `--sidebar-foreground`, `--sidebar-primary(-foreground)`, `--sidebar-accent(-foreground)`,
14
+ `--sidebar-border`, `--sidebar-ring`) across all 8 themes (light + dark). The
15
+ sidebar now reads as its own surface; the tokens are exposed as `bg-sidebar`,
16
+ `text-sidebar-foreground`, `bg-sidebar-accent`, `border-sidebar-border`,
17
+ `ring-sidebar-ring`, etc., and are independently re-themeable.
18
+ - **⌘/Ctrl+B** toggles the sidebar (collapse on desktop, open/close on mobile).
19
+ - **Nested submenus** — `SidebarMenuCollapsible` (native `<details>`, no JS) with
20
+ `SidebarMenuSub`/`SidebarMenuSubItem`/`SidebarMenuSubButton`. Expand inline when
21
+ the rail is expanded; hidden in collapsed (icon) mode. The chevron rotates on open.
22
+ - **`SidebarMenuBadge`** — a trailing count badge (hidden in icon mode).
23
+ - **`SidebarMenuAction`** — a secondary per-item button revealed on hover/focus
24
+ (hidden in icon mode).
25
+
26
+ ### Changed
27
+
28
+ - `Sidebar`, `SidebarMenuButton`, and `SidebarTrigger` recolored to the new
29
+ `--sidebar*` surface tokens (active/hover use `--sidebar-accent`); `SidebarMenuItem`
30
+ is now a `group/menu-item` hover context for badges/actions.
31
+
5
32
  ## 0.18.0 - 2026-06-03
6
33
 
7
34
  Adds the **Sidebar** component (#36).
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.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).
7
+ 🎉 **Status:** v0.19.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
 
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.18.0"
4
+ VERSION = "0.19.0"
5
5
  end
data/templates/tokens.css CHANGED
@@ -33,6 +33,24 @@
33
33
  }
34
34
  }
35
35
 
36
+ /* Sidebar surface tokens (full shadcn-style palette). Seven mirror the active
37
+ * theme's base tokens via var() so they stay correct per-theme and per-mode;
38
+ * --sidebar is a tuned neutral chrome surface, distinct from both the page
39
+ * background and the accent (so the active/hover --sidebar-accent stays visible). */
40
+ :root, [data-theme] {
41
+ --sidebar: 0 0% 98%;
42
+ --sidebar-foreground: var(--foreground);
43
+ --sidebar-primary: var(--primary);
44
+ --sidebar-primary-foreground: var(--primary-foreground);
45
+ --sidebar-accent: var(--accent);
46
+ --sidebar-accent-foreground: var(--accent-foreground);
47
+ --sidebar-border: var(--border);
48
+ --sidebar-ring: var(--ring);
49
+ }
50
+ [data-mode="dark"] {
51
+ --sidebar: 240 5.9% 10%;
52
+ }
53
+
36
54
  @theme inline {
37
55
  --color-background: hsl(var(--background));
38
56
  --color-foreground: hsl(var(--foreground));
@@ -53,6 +71,14 @@
53
71
  --color-border: hsl(var(--border));
54
72
  --color-input: hsl(var(--input));
55
73
  --color-ring: hsl(var(--ring));
74
+ --color-sidebar: hsl(var(--sidebar));
75
+ --color-sidebar-foreground: hsl(var(--sidebar-foreground));
76
+ --color-sidebar-primary: hsl(var(--sidebar-primary));
77
+ --color-sidebar-primary-foreground: hsl(var(--sidebar-primary-foreground));
78
+ --color-sidebar-accent: hsl(var(--sidebar-accent));
79
+ --color-sidebar-accent-foreground: hsl(var(--sidebar-accent-foreground));
80
+ --color-sidebar-border: hsl(var(--sidebar-border));
81
+ --color-sidebar-ring: hsl(var(--sidebar-ring));
56
82
  --radius-lg: var(--radius);
57
83
  --radius-md: calc(var(--radius) - 2px);
58
84
  --radius-sm: calc(var(--radius) - 4px);
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.18.0
4
+ version: 0.19.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Oscar Ortega