|
1 | 1 | # @ark-ui/solid |
2 | 2 |
|
| 3 | +## [5.37.0] - 2026-05-26 |
| 4 | + |
| 5 | +### Added |
| 6 | + |
| 7 | +- ### Added |
| 8 | + - **Floating Components**: Add `data-side` to placement-aware parts so you can style them based on the current |
| 9 | + placement (`top`, `bottom`, `left`, `right`). |
| 10 | + > Affects Color Picker, Combobox, Date Picker, Hover Card, Menu, Popover, Select, Tooltip, and Tour. |
| 11 | + - **Date Input**: Add `hideTimeZone` prop. When the value is a `ZonedDateTime`, the `timeZoneName` segment now renders |
| 12 | + automatically — set `hideTimeZone` to hide it. Arrow navigation and auto-advance after typing now reach read-only |
| 13 | + focusable segments too. |
| 14 | + - **Splitter** |
| 15 | + - Accept CSS units (`px`, `em`, `rem`, `vh`, `vw`) for `defaultSize`, `minSize`, and `maxSize` in addition to |
| 16 | + percentages. |
| 17 | + ```jsx |
| 18 | + <Splitter.Root |
| 19 | + panels={[ |
| 20 | + { id: 'nav', minSize: '240px', maxSize: '480px' }, |
| 21 | + { id: 'main', minSize: 30 }, |
| 22 | + ]} |
| 23 | + defaultSize={['240px', '60vw']} |
| 24 | + /> |
| 25 | + ``` |
| 26 | + - Add `resizeBehavior` per panel. Set to `"preserve-pixel-size"` to keep a panel's pixel size constant when the |
| 27 | + parent splitter group resizes. |
| 28 | + - Allow non-panel children (toolbars, rails, status bars) inside the splitter root. Use partial trigger ids |
| 29 | + (`"left:"`, `":right"`) to bind handles around the fixed element. |
| 30 | + ### Fixed |
| 31 | + - **Accordion**: Remove redundant `aria-disabled` from item triggers. |
| 32 | + - **Color Picker**: Fire `onValueChangeEnd` when you pick a color with the EyeDropper API — matches the behavior when |
| 33 | + ending a drag on the area or channel sliders. |
| 34 | + - **Combobox**: Stop `Enter` from submitting the form when an item is highlighted, or when the typed value will be |
| 35 | + rejected by `allowCustomValue: false`. |
| 36 | + - **Date Input** |
| 37 | + - Preserve entered segments when applying min/max. Values clamp segment-by-segment on blur, so `06/15/1999` with min |
| 38 | + `2000-01-01` becomes `06/15/2000` instead of snapping to `01/01/2000`. |
| 39 | + - Fix range mode keyboard navigation so `ArrowRight` moves from the last segment of the start date to the first |
| 40 | + segment of the end date. |
| 41 | + - Fix time-only formatters (no `year` segment) never firing `onValueChange`. |
| 42 | + - Fix `setSegmentValue` reading stale display values. |
| 43 | + - Fix `dayPeriod` (AM/PM) arrow up/down not updating the visible segment when `hourCycle` changes at runtime. |
| 44 | + - Fix typing "A" / "P" on the `dayPeriod` segment not updating the visible AM/PM. |
| 45 | + - **Date Picker** |
| 46 | + - Fix clearing the value not resetting `activeIndex` and `hoveredValue` in range mode when input parts are not |
| 47 | + rendered. |
| 48 | + - Fix date input not being writable in locales with multi-character separators (e.g. `cs-CZ`, `sk-SK`, `hu-HU`, |
| 49 | + `ko-KR`). |
| 50 | + - Fix Firefox issue where the native month/year `<select>` was not interactive when the picker is inside a modal |
| 51 | + dialog. |
| 52 | + - Fix range selection with `outsideDaySelectable`: hovering outside-month days no longer changes the visible month; |
| 53 | + hover preview for the end date still updates. |
| 54 | + - **Dialog, Drawer, Hover Card, Menu, Popover, Tooltip**: Fix custom trigger elements (via `ids.trigger`) being |
| 55 | + ignored when shared across components — e.g. wrapping a `Popover.Trigger` in a `Tooltip` with the same id no longer |
| 56 | + breaks positioning. Also fix trigger lookups in shadow root. |
| 57 | + - **Dialog, Drawer, Popover**: Fix dismissable layers losing their `pointer-events` in Svelte and Vue, where a spread |
| 58 | + update could rewrite the whole `style` attribute and wipe the value. |
| 59 | + - **Drawer** |
| 60 | + - Fix controlled drawers snapping back open before the close animation when dismissed by swipe. |
| 61 | + - Fix the indent and indent background snapping into place after the close animation instead of transitioning in |
| 62 | + sync. |
| 63 | + - Fix `--drawer-swipe-progress` jumping straight to `1` at the start of a dismiss swipe — it now moves smoothly from |
| 64 | + `0` (at rest) to `1` (fully dismissed). |
| 65 | + - Fix the drawer freezing mid-drag on release when its content mounts lazily, which left snap points unmeasured. |
| 66 | + - **React 19 Strict Mode**: Fix dialog, drawer, and popover leaving `<body>` uninteractive (`data-scroll-lock`, |
| 67 | + `data-inert`, `overflow: hidden`, `pointer-events: none`) after closing. |
| 68 | + - **Number Input**: Fix inconsistent blur behavior when the input is cleared and `min` is greater than `0`. |
| 69 | + - **Splitter** |
| 70 | + - Fix clicking a resize trigger not moving focus to it, which prevented arrow keys from resizing the splitter until |
| 71 | + it was tab-focused (notably on Safari). |
| 72 | + - Fix `data-focus` being applied on hover — it now only sets when the trigger is actually focused. |
| 73 | + - **Tabs**: Observe the tab list with `ResizeObserver` so the indicator updates when the list resizes without |
| 74 | + individual tab triggers changing size (e.g. responsive grid reflow). |
| 75 | +
|
| 76 | +### Fixed |
| 77 | +
|
| 78 | +- **Date Input**: Fix `DateInput.Segment` to stay in sync with the latest segment state while typing. |
| 79 | +
|
| 80 | +- **Floating Panel**: Re-export additional types (`ResizeTriggerAxis`, `Stage`, `ElementIds`, `IntlTranslations`, |
| 81 | + `AnchorPositionDetails`, `Point`, `Size`) and the `resizeTriggerAxes` constant from `@zag-js/floating-panel`. |
| 82 | +
|
3 | 83 | ## [5.36.2] - 2026-04-22 |
4 | 84 |
|
5 | 85 | ### Fixed |
|
0 commit comments