wabi 0.9.0 → 0.11.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 +43 -0
- data/lib/wabi/class_merge.rb +6 -0
- 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: f82e3067909c8a7243ae537ec462acb209ec81b29cfbd71a2ccf0c12843e3194
|
|
4
|
+
data.tar.gz: c7df3c79e7200f2a8b564f3ee1282533d1644b96806e6028c777bf33589fca5a
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 7504021346955e1412105b1a88cdf9bded4b9d4aec9660a5a68bf2e688c961fbfc663af465c533ffe61541ade2050ddd00a60c3a1881fa6dd183011d301d1e68
|
|
7
|
+
data.tar.gz: ed2a0797c11cc9b8caa4af7fe6d529d795c54978739755c7cccbac7db71d78f6e9c346b449de1803e4f77afe01f06f23f70aab767e7e5501396a68cbeb285ca8
|
data/CHANGELOG.md
CHANGED
|
@@ -2,6 +2,49 @@
|
|
|
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.11.0 - 2026-06-01
|
|
6
|
+
|
|
7
|
+
New Table component (shadcn parity) plus a ClassMerge alignment fix.
|
|
8
|
+
|
|
9
|
+
### Features
|
|
10
|
+
|
|
11
|
+
- **Table component.** Eight composable, semantic, static primitives mirroring
|
|
12
|
+
shadcn: `Table`, `TableHeader`, `TableBody`, `TableFooter`, `TableRow`,
|
|
13
|
+
`TableHead`, `TableCell`, `TableCaption`. Purely presentational — no JS;
|
|
14
|
+
sorting/pagination stay server-driven. Install with
|
|
15
|
+
`bin/rails g wabi:add table`.
|
|
16
|
+
|
|
17
|
+
### Fixed
|
|
18
|
+
|
|
19
|
+
- **ClassMerge: `text-align` no longer collides with text color.** `text-left`,
|
|
20
|
+
`text-center`, `text-right`, `text-justify`, `text-start`, and `text-end` now
|
|
21
|
+
dedup in their own bucket instead of being dropped against a `text-{color}`
|
|
22
|
+
utility (e.g. `text-muted-foreground`). Surfaced by `TableHead`, which needs
|
|
23
|
+
both `text-left` and `text-muted-foreground` to survive.
|
|
24
|
+
|
|
25
|
+
## 0.10.0 - 2026-06-01
|
|
26
|
+
|
|
27
|
+
Toast group coordination — the last long-deferred carryover.
|
|
28
|
+
|
|
29
|
+
### Features
|
|
30
|
+
|
|
31
|
+
- **Toast Sonner-style stacking.** Toasts now collapse into a peek stack
|
|
32
|
+
(`visible_count`, default 3) and expand to a full spaced list on group
|
|
33
|
+
hover/focus. Overflow toasts are kept and surface as front toasts dismiss
|
|
34
|
+
(their timers hold until visible). Hovering the group pauses every timer.
|
|
35
|
+
`Toaster.new(visible_count:, gap:)` configure the stack. Built on a custom
|
|
36
|
+
two-controller coordinator (`wabi--toaster` + `wabi--toast` via Stimulus
|
|
37
|
+
outlets) — **not** `@zag-js/toast`, whose imperative DOM-creation model looped
|
|
38
|
+
against Wabi's SSR + Turbo Stream append in v0.5.
|
|
39
|
+
- **Swipe-to-dismiss.** Drag a toast horizontally past a threshold to dismiss it.
|
|
40
|
+
|
|
41
|
+
### Breaking
|
|
42
|
+
|
|
43
|
+
- **Toast no longer bakes in a `translate-x` enter/exit transform.** The
|
|
44
|
+
slide/scale is now JS-driven inline styles; the Tailwind base fades via
|
|
45
|
+
opacity only. Apps that overrode the toast transform via `class:` should
|
|
46
|
+
remove `translate-x-*` overrides.
|
|
47
|
+
|
|
5
48
|
## 0.9.0 - 2026-05-31
|
|
6
49
|
|
|
7
50
|
DX + polish, plus a full fix of the vertical Slider.
|
data/lib/wabi/class_merge.rb
CHANGED
|
@@ -75,6 +75,11 @@ module Wabi
|
|
|
75
75
|
auto full screen min max fit none px
|
|
76
76
|
].to_set.freeze
|
|
77
77
|
|
|
78
|
+
# Tail tokens that identify a text-alignment utility (`text-left`,
|
|
79
|
+
# `text-center`, etc.). These are distinct from both text-size and
|
|
80
|
+
# text-color so all three can coexist on the same element.
|
|
81
|
+
TEXT_ALIGN_TOKENS = %w[left center right justify start end].to_set.freeze
|
|
82
|
+
|
|
78
83
|
def utility_group(utility)
|
|
79
84
|
return "atom:#{utility}" if ATOM_UTILITIES.include?(utility)
|
|
80
85
|
|
|
@@ -94,6 +99,7 @@ module Wabi
|
|
|
94
99
|
return "#{head}-#{tail}" if AXIS_FAMILIES.include?(head) && AXIS_SUFFIXES.include?(tail)
|
|
95
100
|
|
|
96
101
|
if WIDTH_COLOR_FAMILIES.include?(head) && tail
|
|
102
|
+
return "#{head}:align" if head == "text" && TEXT_ALIGN_TOKENS.include?(tail)
|
|
97
103
|
return "#{head}:size" if size_or_numeric?(tail)
|
|
98
104
|
return "#{head}:color"
|
|
99
105
|
end
|
data/lib/wabi/version.rb
CHANGED