# Changelog

Notable changes to sashimi UI are documented in this file.

## 2.1.0 - 2026-08-09

### Fixed

- Fixed the position of radio and checkbox controls inside `card-option` across
  different line heights and control sizes.
- Made `card-option` spacing use the size of its actual control instead of the
  larger of the radio and checkbox sizes.

## 2.0.3 - 2026-08-01

### Breaking changes

- Removed support for deep imports from `sashimi-ui/react/*`. Import React
  components from `sashimi-ui/react` or
  `sashimi-ui/react/sui-prefixed` instead.

### Added

- Added the optional `baseline.css` stylesheet, which provides page-level
  typography, spacing, and color defaults without including component styles.
- Added the `card-option` component style.
- Added component styles for `callout`, `chip`, `details`, `file-input`,
  `meter`, and `tab-item`.
- Added the `--sui-color-success` and `--sui-color-warning` theme tokens for
  semantic status colors.
- Added React components for `CardOption`, `Checkbox`, `FileInput`, `Radio`,
  and `Switch`.

### Changed

- Marked the React and React DOM peer dependencies as optional so CSS-only
  users do not need to install them. React components still require React 19.
- Corrected the `sashimi-ui/react/sui-prefixed` package export.

### Fixed

- Fixed the React `Input` component to render the native void element without
  children.
- Fixed the React `Label` component display name.
- Fixed modal dialogs so `style` and consumer `onClick` handlers are preserved.
- Fixed modal click-away detection for clicks on child elements and
  keyboard-initiated clicks.
- Fixed popover click-away detection and event-listener cleanup.

### Migrating from 1.x

Replace React component deep imports:

```diff
- import Input from "sashimi-ui/react/Input";
+ import { Input } from "sashimi-ui/react";
```

For `sui-` prefixed class names, import from the prefixed entry point:

```js
import { Input } from "sashimi-ui/react/sui-prefixed";
```

No CSS import changes are required for existing applications. To opt in to the
new page-level baseline styles, load them after the theme and before the
component bundle:

```js
import "sashimi-ui/default.theme.css";
import "sashimi-ui/baseline.css";
import "sashimi-ui/bundle.css";
```
