@viraui/react 2026.0.22 → 2026.0.24

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/dist/catalog.json CHANGED
@@ -5,7 +5,7 @@
5
5
  {
6
6
  "id": "accordion",
7
7
  "name": "Accordion",
8
- "summary": "Collapsible sections grouped into open/closed blocks with optional Surface wrapping, shared corner radius, and background on open items.",
8
+ "summary": "Collapsible sections grouped into open/closed blocks with optional Surface wrapping, shared corner radius, and optional Item color for open-block background.",
9
9
  "guidePath": "./components/accordion/accordion.guide.json"
10
10
  },
11
11
  {
@@ -24,7 +24,7 @@ export type AccordionItemProps = AccordionItem.Props & {
24
24
  */
25
25
  children?: React.ReactNode;
26
26
  /**
27
- * When `true`, wraps the item in `Surface` with open-block background.
27
+ * When `true`, wraps the item in `Surface` (optional open-block background via `color`).
28
28
  * When `false`, renders without `Surface` so consumers can insert `Separator` between items;
29
29
  * island styling is skipped for that item.
30
30
  *
@@ -58,8 +58,9 @@ export type AccordionItemProps = AccordionItem.Props & {
58
58
  border?: SurfaceProps['border'];
59
59
  /**
60
60
  * Resting background for the item card, forwarded to the wrapping `Surface` when `useSurface` is `true`.
61
+ * Omit for no background (`Surface` leaves `--vui-surface-background` as `none`).
61
62
  *
62
- * @default 1
63
+ * @default No background.
63
64
  */
64
65
  color?: SurfaceProps['color'];
65
66
  /**
@@ -8,7 +8,7 @@ import { Surface } from "../surface/surface.js";
8
8
  import { Accordion } from "@base-ui/react/accordion";
9
9
  import { jsx, jsxs } from "react/jsx-runtime";
10
10
  //#region src/components/accordion/accordion-item.tsx
11
- var AccordionItemComponent = ({ border, children, className, color = 1, iconClosed = /* @__PURE__ */ jsx(ChromePlus, { size: 16 }), iconOpen = /* @__PURE__ */ jsx(ChromeMinus, { size: 16 }), iconPosition = "end", radius, style, trigger, useSurface = true, ...otherProps }) => {
11
+ var AccordionItemComponent = ({ border, children, className, color, iconClosed = /* @__PURE__ */ jsx(ChromePlus, { size: 16 }), iconOpen = /* @__PURE__ */ jsx(ChromeMinus, { size: 16 }), iconPosition = "end", radius, style, trigger, useSurface = true, ...otherProps }) => {
12
12
  const iconAtStart = iconPosition === "start";
13
13
  const dynamicStyle = {
14
14
  ...radius != null && { "--vui-accordion-radius": resolveThemeValue(radius, "radius", "var(--radius-medium)") },
@@ -31,7 +31,7 @@ var AccordionItemComponent = ({ border, children, className, color = 1, iconClos
31
31
  style: dynamicStyle,
32
32
  ...useSurface && { render: /* @__PURE__ */ jsx(Surface, {
33
33
  border,
34
- color
34
+ ...color !== void 0 && { color }
35
35
  }) },
36
36
  ...otherProps,
37
37
  children: [/* @__PURE__ */ jsx(Accordion.Header, {
@@ -2,7 +2,7 @@
2
2
  "name": "Accordion",
3
3
  "baseUIApi": "https://base-ui.com/react/components/accordion#api-reference",
4
4
  "structure": "<Accordion>\n <Accordion.Item trigger=\"…\">…</Accordion.Item>\n</Accordion>",
5
- "summary": "Collapsible sections grouped into open/closed blocks with optional Surface wrapping, shared corner radius, and background on open items.",
5
+ "summary": "Collapsible sections grouped into open/closed blocks with optional Surface wrapping, shared corner radius, and optional Item color for open-block background.",
6
6
  "whenToUse": [
7
7
  "Progressive disclosure for related content sections in one surface",
8
8
  "FAQ or settings groups where only one section may be open by default",
@@ -34,7 +34,7 @@
34
34
  "description": "Panel content revealed when the item is open."
35
35
  },
36
36
  "Item.color": {
37
- "description": "Resting background for the item card, forwarded to the wrapping `Surface` when `useSurface` is `true`."
37
+ "description": "Resting background for the item card, forwarded to the wrapping `Surface` when `useSurface` is `true`. Omit for no background."
38
38
  },
39
39
  "Item.iconClosed": {
40
40
  "description": "Decorative icon shown when the item is closed."
@@ -53,7 +53,7 @@
53
53
  "description": "Visible trigger label rendered inside the accordion header button."
54
54
  },
55
55
  "Item.useSurface": {
56
- "description": "When `true`, wraps the item in `Surface` with open-block background. When `false`, renders without `Surface` so consumers can insert `Separator` between items; island styling is skipped for that item."
56
+ "description": "When `true`, wraps the item in `Surface` (optional open-block background via `color`). When `false`, renders without `Surface` so consumers can insert `Separator` between items; island styling is skipped for that item."
57
57
  }
58
58
  },
59
59
  "css": {
@@ -34,11 +34,11 @@ export type DialogSheetProps = {
34
34
  */
35
35
  maxContentWidth?: StackProps['maxWidth'];
36
36
  /**
37
- * Aligns the header content.
37
+ * Aligns the header stack and title/description text (`start` | `center` | `end`).
38
38
  *
39
39
  * @default `start`
40
40
  */
41
- headerAlign?: StackProps['hAlign'];
41
+ headerAlign?: Extract<StackProps['hAlign'], 'start' | 'center' | 'end'>;
42
42
  /**
43
43
  * Whether to show the close button.
44
44
  *
@@ -57,10 +57,14 @@ var DialogSheet = ({ children, description, title, showCloseButton = false, fitC
57
57
  hAlign: headerAlign,
58
58
  hPadding: "medium",
59
59
  children: [/* @__PURE__ */ jsx(Drawer.Title, {
60
- render: /* @__PURE__ */ jsx(Title, { size: "4" }),
60
+ render: /* @__PURE__ */ jsx(Title, {
61
+ align: headerAlign,
62
+ size: "4"
63
+ }),
61
64
  children: title
62
65
  }), description && /* @__PURE__ */ jsx(Drawer.Description, {
63
66
  render: /* @__PURE__ */ jsx(Text, {
67
+ align: headerAlign,
64
68
  tone: "muted",
65
69
  render: /* @__PURE__ */ jsx("p", {})
66
70
  }),
@@ -42,7 +42,7 @@
42
42
  "description": "Centers the sheet horizontally within the viewport."
43
43
  },
44
44
  "Sheet.headerAlign": {
45
- "description": "Aligns the header content."
45
+ "description": "Aligns the header stack and title/description text (`start` | `center` | `end`)."
46
46
  },
47
47
  "Sheet.maxContentWidth": {
48
48
  "description": "Optional maximum width of the content area."
@@ -11,7 +11,7 @@ import { jsx, jsxs } from "react/jsx-runtime";
11
11
  import { Field } from "@base-ui/react/field";
12
12
  import { Slider } from "@base-ui/react/slider";
13
13
  //#region src/components/slider/slider.tsx
14
- var Slider$1 = ({ className, defaultValue, description, dirty, disabled, error, invalid, label, name, orientation = "horizontal", renderValue, thumbAriaLabel, touched, validate, validationDebounceTime, validationMode, value, ref, ...sliderRootProps }) => {
14
+ var Slider$1 = ({ className, defaultValue, description, dirty, disabled, error, invalid, label, name, orientation = "horizontal", renderValue, thumbAlignment = "edge", thumbAriaLabel, touched, validate, validationDebounceTime, validationMode, value, ref, ...sliderRootProps }) => {
15
15
  const isRange = isRangeSlider(value, defaultValue);
16
16
  const isVertical = orientation === "vertical";
17
17
  const showRenderedValue = renderValue === true || typeof renderValue === "function";
@@ -38,6 +38,7 @@ var Slider$1 = ({ className, defaultValue, description, dirty, disabled, error,
38
38
  name,
39
39
  orientation,
40
40
  value,
41
+ thumbAlignment,
41
42
  render: /* @__PURE__ */ jsx(Stack, {
42
43
  direction: "column",
43
44
  rowGap: "medium",
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@viraui/react",
3
- "version": "2026.0.22",
3
+ "version": "2026.0.24",
4
4
  "private": false,
5
5
  "files": [
6
6
  "dist"
@@ -35,7 +35,7 @@
35
35
  "unplugin-dts": "1.0.3",
36
36
  "vite": "8.1.4",
37
37
  "vite-plugin-static-copy": "4.1.1",
38
- "@viraui/foundation": "2026.0.22",
38
+ "@viraui/foundation": "2026.0.24",
39
39
  "@viraui/icons": "2026.0.0",
40
40
  "@viraui/postcss-config": "2026.0.0",
41
41
  "@viraui/tsconfig": "2026.0.0"