wabi 0.10.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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 917f6232c33f67a4dfd39c41f80f22f04c238dce585f27ee262806804905611e
4
- data.tar.gz: ee3d4df53acf6fa939dc3332ebd4963d07d9c007b75957e7dafd8350ea22f8c2
3
+ metadata.gz: f82e3067909c8a7243ae537ec462acb209ec81b29cfbd71a2ccf0c12843e3194
4
+ data.tar.gz: c7df3c79e7200f2a8b564f3ee1282533d1644b96806e6028c777bf33589fca5a
5
5
  SHA512:
6
- metadata.gz: '097aef93667322fd86b77f1eead744acd4bb55d33eb1812143e5a5c690262f67484cc9ed00b055e8fd748b9d7a1ce3dfa8101afbd1c1501fa10134209161b8e1'
7
- data.tar.gz: b49022683f977aec56c959b97e206b27b892a34c606b2a44432a77d68e43836c9795e34010538af6d9bb01151c31d8a4efb52c1d02be30bbd4b7dabcfc09b437
6
+ metadata.gz: 7504021346955e1412105b1a88cdf9bded4b9d4aec9660a5a68bf2e688c961fbfc663af465c533ffe61541ade2050ddd00a60c3a1881fa6dd183011d301d1e68
7
+ data.tar.gz: ed2a0797c11cc9b8caa4af7fe6d529d795c54978739755c7cccbac7db71d78f6e9c346b449de1803e4f77afe01f06f23f70aab767e7e5501396a68cbeb285ca8
data/CHANGELOG.md CHANGED
@@ -2,6 +2,26 @@
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
+
5
25
  ## 0.10.0 - 2026-06-01
6
26
 
7
27
  Toast group coordination — the last long-deferred carryover.
@@ -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
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module Wabi
4
- VERSION = "0.10.0"
4
+ VERSION = "0.11.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.10.0
4
+ version: 0.11.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Oscar Ortega