@botiverse/raft-ui 0.57.0 → 0.57.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,25 @@
1
+ ## [0.57.2](https://github.com/botiverse/raft-design/compare/v0.57.1...v0.57.2) (2026-11-02)
2
+
3
+ ### Fixed
4
+
5
+ - **DrawerContent**: every bottom sheet (`swipeDirection="down"`, the default) draws the grab handle, not only one with `snapPoints`. ([#944](https://github.com/botiverse/raft-design/pull/944))
6
+ - Why: the rule is a grab handle on every bottom sheet; a content-sized sheet had none.
7
+ - Affects: content-sized bottom sheets gain the handle and are 8px taller (the header's `pt-2` under the handle); drawers from other edges without snap points are unchanged. The handle stays `aria-hidden`.
8
+ - Docs: https://raft-design.botiverse.build/components/drawer/
9
+
10
+ ## [0.57.1](https://github.com/botiverse/raft-design/compare/v0.57.0...v0.57.1) (2026-11-02)
11
+
12
+ ### Fixed
13
+
14
+ - **SidebarSectionControls**: a section's controls are always shown, with a mouse as on a touch screen. ([#942](https://github.com/botiverse/raft-design/pull/942))
15
+ - Why: shown only on hover, they hid what the header can do, and a long title's room changed as the pointer passed (stdrc).
16
+ - Affects: the controls are no longer hidden at rest with a mouse; a collapsed section's attention mark sits before them in the row and hides only while the section is open.
17
+ - Docs: https://raft-design.botiverse.build/components/sidebar/
18
+ - **Edge pull of a header's first and last control** (sidebar section controls, panel and dialog heads, Lightbox actions): it holds while that control's menu is open. ([#942](https://github.com/botiverse/raft-design/pull/942))
19
+ - Why: an open menu puts Base UI focus guards and a hidden portal span beside its trigger, so the trigger stopped being the last child, lost its 5px pull and moved left.
20
+ - Affects: the pull now skips `[data-base-ui-focus-guard]` and `[aria-owns]` siblings.
21
+ - Docs: https://raft-design.botiverse.build/foundations/alignment/
22
+
1
23
  ## [0.57.0](https://github.com/botiverse/raft-design/compare/v0.56.1...v0.57.0) (2026-11-01)
2
24
 
3
25
  ### Breaking Changes
@@ -97,7 +97,7 @@ function DrawerContent({ className, children, portalProps, ...props }) {
97
97
  "data-slot": "drawer-popup",
98
98
  className: popup({ className }),
99
99
  ...props,
100
- children: [hasSnapPoints ? /* @__PURE__ */ jsx(DrawerSwipeHandle, {}) : null, /* @__PURE__ */ jsx(Drawer.Content, {
100
+ children: [hasSnapPoints || swipeDirection === "down" ? /* @__PURE__ */ jsx(DrawerSwipeHandle, {}) : null, /* @__PURE__ */ jsx(Drawer.Content, {
101
101
  "data-slot": "drawer-content",
102
102
  className: content(),
103
103
  children: /* @__PURE__ */ jsx(DialogSheetReset, { children })
@@ -163,7 +163,6 @@ const drawer = tv({
163
163
  },
164
164
  compoundVariants: [{
165
165
  side: "down",
166
- snapPoints: true,
167
166
  class: { header: ["pt-2"] }
168
167
  }, {
169
168
  axis: "y",
@@ -45,7 +45,7 @@ const lightbox = tv({ slots: {
45
45
  actions: [
46
46
  "flex shrink-0 items-center",
47
47
  "gap-1",
48
- "[&>[data-icon-inset]:last-child]:-mr-icon-inset"
48
+ "[&>[data-icon-inset]:nth-last-child(1_of_:not([data-base-ui-focus-guard],[aria-owns]))]:-mr-icon-inset"
49
49
  ],
50
50
  stage: ["pointer-events-none relative flex min-h-0 flex-1 items-center justify-center overflow-hidden"],
51
51
  media: ["pointer-events-auto max-h-[80vh] max-w-[86vw] border-0 bg-transparent shadow-none"],
@@ -26,23 +26,9 @@ const sidebarSectionRecipe = tv({ slots: {
26
26
  ],
27
27
  sidebarSectionTitle: ["min-w-0 truncate"],
28
28
  sidebarSectionCount: ["font-mono text-mono-meta font-normal tabular-nums text-foreground-hint"],
29
- sidebarSectionAttention: [
30
- "inline-flex min-w-4.5 shrink-0 items-center justify-center",
31
- "pointer-fine:absolute pointer-fine:top-1/2 pointer-fine:right-0 pointer-fine:-translate-y-1/2",
32
- "group-data-open/section:hidden",
33
- "group-data-popup-open/section-header:hidden",
34
- "group-hover/section-header:hidden"
35
- ],
29
+ sidebarSectionAttention: ["inline-flex min-w-4.5 shrink-0 items-center justify-center", "group-data-open/section:hidden"],
36
30
  sidebarSectionTrailing: ["relative flex min-w-4.5 shrink-0 items-center justify-end"],
37
- sidebarSectionControls: [
38
- "flex shrink-0 items-center gap-1",
39
- "pointer-events-none opacity-0",
40
- "not-pointer-fine:pointer-events-auto not-pointer-fine:opacity-100",
41
- "pointer-fine:group-hover/section-header:pointer-events-auto pointer-fine:group-hover/section-header:opacity-100",
42
- "pointer-fine:focus-within:pointer-events-auto pointer-fine:focus-within:opacity-100",
43
- "pointer-fine:has-data-popup-open:pointer-events-auto pointer-fine:has-data-popup-open:opacity-100",
44
- "[&>[data-icon-inset]:last-child]:-mr-icon-inset"
45
- ],
31
+ sidebarSectionControls: ["flex shrink-0 items-center gap-1", "[&>[data-icon-inset]:nth-last-child(1_of_:not([data-base-ui-focus-guard],[aria-owns]))]:-mr-icon-inset"],
46
32
  sidebarSectionControl: [
47
33
  "relative flex h-6 w-auto min-w-6 shrink-0 items-center justify-center p-0 -my-1",
48
34
  "[&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-3.5",
@@ -19,7 +19,7 @@
19
19
  * the pull holds when its last action is hidden at some width.
20
20
  */
21
21
  /** The pull alone, for a head whose padding is already its margin (a dialog's 20px). */
22
- const headEdgePull = ["[&>[data-icon-inset]:first-child]:-ml-icon-inset", "[&>[data-icon-inset]:last-child]:-mr-icon-inset"];
22
+ const headEdgePull = ["[&>[data-icon-inset]:nth-child(1_of_:not([data-base-ui-focus-guard],[aria-owns]))]:-ml-icon-inset", "[&>[data-icon-inset]:nth-last-child(1_of_:not([data-base-ui-focus-guard],[aria-owns]))]:-mr-icon-inset"];
23
23
  /**
24
24
  * A panel's head: its column's margin, and the pull. The margin is
25
25
  * `--column-margin` (styles.css): 20px on a desktop and 16px on a phone,
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@botiverse/raft-ui",
3
- "version": "0.57.0",
3
+ "version": "0.57.2",
4
4
  "description": "React components and CSS foundations for the Raft Design System.",
5
5
  "keywords": [
6
6
  "agent-skills",