wabi 0.18.0 → 0.19.1
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 +40 -0
- data/README.md +1 -1
- data/lib/wabi/version.rb +1 -1
- data/templates/tokens.css +26 -0
- 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: 6aef01aa58d7bbeec405a5fe78738d296ca768feadba9a7324f882508db7523a
|
|
4
|
+
data.tar.gz: 861c25b6e38a6e0af1a72e2f3549c0500585cf8885f61351dfd6c7a6d8cc08f7
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: eadd26f25642aef2d0ebb1c931fc89fcb1a3a2fe17bff0365c3d4125c590b608bbd25e0ee69abdd9e589f533abcfec9599cddb05604515e40a39cd0a7d8737ae
|
|
7
|
+
data.tar.gz: ab2c3531a780efe9321348bcdd615234ed8981ee17e1c90d01dbe803ad9ca39f00355f044993c8e1dfacc907eab548d8ea0601ba7324ffadc24c7d6a697cc924
|
data/CHANGELOG.md
CHANGED
|
@@ -2,6 +2,46 @@
|
|
|
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.1 - 2026-06-03
|
|
6
|
+
|
|
7
|
+
### Fixed
|
|
8
|
+
|
|
9
|
+
- **Sidebar collapsed-only tooltips showed when expanded too.** The menu-button
|
|
10
|
+
tooltip's content portals to `<body>` (Zag default), which escaped the
|
|
11
|
+
`group/sidebar` scope, so the `group-data-[state=expanded]/sidebar:hidden` gate
|
|
12
|
+
never matched and the label tooltip appeared even when the rail was expanded
|
|
13
|
+
(redundant with the visible label). The `wabi--sidebar` controller now mirrors
|
|
14
|
+
collapse state to `<html data-wabi-sidebar="…">` (same idiom as the theme
|
|
15
|
+
controller's `data-mode`), and the tooltip content gates on that marker — which
|
|
16
|
+
reaches the portaled content. Tooltips now appear only when collapsed.
|
|
17
|
+
|
|
18
|
+
## 0.19.0 - 2026-06-03
|
|
19
|
+
|
|
20
|
+
Sidebar v2 — a richer, themeable Sidebar. No breaking changes (existing v1
|
|
21
|
+
sidebars keep working and pick up the new surface tokens).
|
|
22
|
+
|
|
23
|
+
### Added
|
|
24
|
+
|
|
25
|
+
- **Dedicated `--sidebar*` color tokens** (full shadcn-style palette: `--sidebar`,
|
|
26
|
+
`--sidebar-foreground`, `--sidebar-primary(-foreground)`, `--sidebar-accent(-foreground)`,
|
|
27
|
+
`--sidebar-border`, `--sidebar-ring`) across all 8 themes (light + dark). The
|
|
28
|
+
sidebar now reads as its own surface; the tokens are exposed as `bg-sidebar`,
|
|
29
|
+
`text-sidebar-foreground`, `bg-sidebar-accent`, `border-sidebar-border`,
|
|
30
|
+
`ring-sidebar-ring`, etc., and are independently re-themeable.
|
|
31
|
+
- **⌘/Ctrl+B** toggles the sidebar (collapse on desktop, open/close on mobile).
|
|
32
|
+
- **Nested submenus** — `SidebarMenuCollapsible` (native `<details>`, no JS) with
|
|
33
|
+
`SidebarMenuSub`/`SidebarMenuSubItem`/`SidebarMenuSubButton`. Expand inline when
|
|
34
|
+
the rail is expanded; hidden in collapsed (icon) mode. The chevron rotates on open.
|
|
35
|
+
- **`SidebarMenuBadge`** — a trailing count badge (hidden in icon mode).
|
|
36
|
+
- **`SidebarMenuAction`** — a secondary per-item button revealed on hover/focus
|
|
37
|
+
(hidden in icon mode).
|
|
38
|
+
|
|
39
|
+
### Changed
|
|
40
|
+
|
|
41
|
+
- `Sidebar`, `SidebarMenuButton`, and `SidebarTrigger` recolored to the new
|
|
42
|
+
`--sidebar*` surface tokens (active/hover use `--sidebar-accent`); `SidebarMenuItem`
|
|
43
|
+
is now a `group/menu-item` hover context for badges/actions.
|
|
44
|
+
|
|
5
45
|
## 0.18.0 - 2026-06-03
|
|
6
46
|
|
|
7
47
|
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.
|
|
7
|
+
🎉 **Status:** v0.19.1 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
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);
|