@botiverse/raft-ui 0.52.0 → 0.52.2
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.
package/CHANGELOG.md
CHANGED
|
@@ -1,3 +1,15 @@
|
|
|
1
|
+
## [0.52.2](https://github.com/botiverse/raft-design/compare/v0.52.1...v0.52.2) (2026-10-29)
|
|
2
|
+
|
|
3
|
+
### Fixed
|
|
4
|
+
|
|
5
|
+
- **A Badge rendered as a button keeps a 44px touch target:** on a touch screen its transparent hit area reaches 44px (and at least the badge's width) through CSS anchor positioning, so the badge's own clip doesn't cut it. The look, long-label truncation and desktop are unchanged; browsers without `anchor-scope` keep today's behaviour. A badge the consumer positions (`relative`) gets no extension. ([#892](https://github.com/botiverse/raft-design/pull/892))
|
|
6
|
+
|
|
7
|
+
## [0.52.1](https://github.com/botiverse/raft-design/compare/v0.52.0...v0.52.1) (2026-10-29)
|
|
8
|
+
|
|
9
|
+
### Fixed
|
|
10
|
+
|
|
11
|
+
- **PanelAction hit area reaches 44px:** the ::after target is placed from inside the 1.5px border, so it was 41–42px tall; it now reaches past the border, as Button's does. This also fixes PanelSplitActionMenu's touch extension (42px). ([#889](https://github.com/botiverse/raft-design/pull/889))
|
|
12
|
+
|
|
1
13
|
## [0.52.0](https://github.com/botiverse/raft-design/compare/v0.51.0...v0.52.0) (2026-10-29)
|
|
2
14
|
|
|
3
15
|
### Added
|
|
@@ -10,7 +10,10 @@ const badge = tv({
|
|
|
10
10
|
"transition-[filter,opacity] duration-100",
|
|
11
11
|
"[&_svg]:size-3.5 [&_svg]:shrink-0 [&_[data-slot='spinner']]:size-3 [&_[data-slot='spinner']]:text-xs",
|
|
12
12
|
"*:data-[slot=status]:lead-dot",
|
|
13
|
-
"disabled:cursor-not-allowed disabled:bg-fill-muted disabled:text-foreground-disabled disabled:opacity-100 disabled:inset-ring-0"
|
|
13
|
+
"disabled:cursor-not-allowed disabled:bg-fill-muted disabled:text-foreground-disabled disabled:opacity-100 disabled:inset-ring-0",
|
|
14
|
+
"supports-[anchor-scope:all]:pointer-coarse:enabled:[anchor-name:--badge] supports-[anchor-scope:all]:pointer-coarse:enabled:[anchor-scope:--badge]",
|
|
15
|
+
"supports-[anchor-scope:all]:pointer-coarse:enabled:after:absolute supports-[anchor-scope:all]:pointer-coarse:enabled:after:content-[''] supports-[anchor-scope:all]:pointer-coarse:enabled:after:[position-anchor:--badge]",
|
|
16
|
+
"supports-[anchor-scope:all]:pointer-coarse:enabled:after:inset-y-[calc(anchor(center)-22px)] supports-[anchor-scope:all]:pointer-coarse:enabled:after:inset-x-[min(anchor(inside),anchor(center)-22px)]"
|
|
14
17
|
] },
|
|
15
18
|
variants: {
|
|
16
19
|
appearance: {
|
|
@@ -8,7 +8,7 @@ const panelActionBase = tv({ base: [
|
|
|
8
8
|
"[&>svg]:pointer-events-none [&>svg]:shrink-0",
|
|
9
9
|
"h-control min-w-control rounded-control border-[1.5px] border-transparent bg-transparent py-0",
|
|
10
10
|
"px-2 md:pointer-fine:px-[5px]",
|
|
11
|
-
"after:absolute after:-inset-control-hit",
|
|
11
|
+
"after:absolute after:-inset-[calc(var(--spacing-control-hit)+1.5px)]",
|
|
12
12
|
"text-foreground",
|
|
13
13
|
"hover:bg-fill-medium active:bg-fill-medium",
|
|
14
14
|
"focus-visible:shadow-focus",
|
|
@@ -39,7 +39,7 @@ const panelSplitActionMenu = tv({
|
|
|
39
39
|
base: [
|
|
40
40
|
"pointer-events-auto min-w-0 rounded-s-none px-0",
|
|
41
41
|
"w-6 me-5 md:pointer-fine:w-5 md:pointer-fine:me-0",
|
|
42
|
-
"after:start-0 after:inset-e-[-21.5px] md:pointer-fine:after:-end-control-hit",
|
|
42
|
+
"after:start-0 after:inset-e-[-21.5px] md:pointer-fine:after:-end-[calc(var(--spacing-control-hit)+1.5px)]",
|
|
43
43
|
"focus-visible:z-1",
|
|
44
44
|
"[[data-split-action-main][data-pressed]~&]:[--split-action-menu-tint:var(--fill-subtle)]",
|
|
45
45
|
"[[data-split-action-main][aria-pressed=true]~&]:[--split-action-menu-tint:var(--fill-subtle)]",
|