-
-
Notifications
You must be signed in to change notification settings - Fork 528
Comparing changes
Open a pull request
base repository: unovue/reka-ui
base: v2.9.9
head repository: unovue/reka-ui
compare: v2.9.10
- 8 commits
- 21 files changed
- 6 contributors
Commits on Jun 8, 2026
-
chore(deps): update test (#2681)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Configuration menu - View commit details
-
Copy full SHA for bb0c552 - Browse repository at this point
Copy the full SHA bb0c552View commit details
Commits on Jun 10, 2026
-
fix(Dialog): honor disableOutsidePointerEvents on modal content (#2677)…
… (#2679) `DialogContentModal` hardcoded `:disable-outside-pointer-events="true"`, so a `disableOutsidePointerEvents` value passed to `DialogContent` was silently ignored even though the docs list it as a prop. Pass the prop through with `withDefaults(..., { disableOutsidePointerEvents: true })` so modal dialogs stay locked by default but can be overridden. Because `DialogContent` declares the prop as `Boolean`, Vue coerces an absent value to `false`, which would override the child default; declare an explicit `undefined` default on `DialogContent` so the absent case propagates as `undefined` and the child's default applies, while an explicit `false` is still honored. Note: when a `DialogOverlay` is rendered, its `useBodyScrollLock` locks the body's `pointer-events` through a separate mechanism; this change only affects the `DismissableLayer` lock. Co-authored-by: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Configuration menu - View commit details
-
Copy full SHA for 5496cce - Browse repository at this point
Copy the full SHA 5496cceView commit details -
fix(DismissableLayer): keep body pointer-events locked when nested la…
…yer closes (#2674) (#2678) * fix(DismissableLayer): keep body pointer-events locked when nested layer closes (#2674) The body `pointer-events: none` lock was managed with a `watchEffect` that read `context.layersWithOutsidePointerEventsDisabled.size`. Because `context` is `reactive()`, that read made the effect re-run whenever any layer was added or removed from the set. When a nested layer (e.g. a DropdownMenu inside a Dialog) closed, the still-open ancestor layer's effect re-ran and its cleanup prematurely restored the body's original `pointer-events`, stripping the lock while the Dialog remained open. Switch to `watch` with explicit sources (`layerElement`, `disableOutsidePointerEvents`) so the effect only re-runs on those changes, mirroring Radix's `useEffect` dependency list. Reads of the set size inside the callback no longer create reactive dependencies. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com> * fix(DismissableLayer): remove layer from set on cleanup to handle prop toggle (#2674) Addresses CodeRabbit review: the watch cleanup restored body pointer-events but never removed the layer from `layersWithOutsidePointerEventsDisabled`, leaving a stale entry when `disableOutsidePointerEvents` toggled `true -> false` while the layer stayed mounted (e.g. a modal Menu closing, which binds the prop to `menuContext.open`). A stale entry makes a later `size === 0` check false, so the body would fail to re-lock. Move the deletion into the watch cleanup and restore the body when the set is empty *after* deletion, making the restore independent of cleanup ordering. Add regression tests for the toggle-while-mounted and restore/re-lock paths. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com> --------- Co-authored-by: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Configuration menu - View commit details
-
Copy full SHA for 034d20e - Browse repository at this point
Copy the full SHA 034d20eView commit details -
fix(useId): honor configured id source before vue useId (#2683)
* fix: honor configured id source before vue useId * chore(deps): pin @vue/server-renderer dependency * chore(deps): update lockfile
Configuration menu - View commit details
-
Copy full SHA for b2e781d - Browse repository at this point
Copy the full SHA b2e781dView commit details -
fix(Combobox): keep content open when interacting with associated lab…
…el (#2686) * fix(Combobox): keep content open when interacting with associated label A `<label>` tied (via `for`) to a control inside the combobox forwards its click/focus to that control. Without accounting for this, clicking such a label while open dismissed the content on `pointerdown`, then the forwarded click/focus immediately re-opened it. * test(Combobox): wait for async dismiss in associated-label test The 'stays open' assertion ran after a single nextTick, but a real dismiss is emitted after an internal nextTick too — so the test could pass even if the fix failed to prevent dismiss. Match the wait used in the dismiss test to actually guard against that regression. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com> --------- Co-authored-by: zernonia <zernonia@gmail.com> Co-authored-by: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Configuration menu - View commit details
-
Copy full SHA for ed7531b - Browse repository at this point
Copy the full SHA ed7531bView commit details -
fix(Listbox): prevent virtualized list from scrolling page on mount (#…
…2675) Follow-up to #2666, which fixed the non-virtual path only. A virtualized Listbox still pulled the whole page to itself on mount: `highlightSelected` dropped the `scroll` flag whenever `isVirtual` was true, so a list with no checked item fell through to `highlightFirstItem` (synthetic PageUp → `changeHighlight` with focus + `scrollIntoView`), yanking a below-the-fold listbox into view on load. Thread the mount intent through the `virtualFocusHook` payload (`{ event, scroll }`) so the virtualizer can set its roving-tabindex target without focusing/scrolling on mount, mirroring the non-virtual path. The checked-item branch keeps `scrollToIndex`, which only scrolls the internal listbox container, never the page. Co-authored-by: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Configuration menu - View commit details
-
Copy full SHA for c5dc846 - Browse repository at this point
Copy the full SHA c5dc846View commit details -
chore(deps): update build to ^8.0.16 (#2680)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Configuration menu - View commit details
-
Copy full SHA for d34041d - Browse repository at this point
Copy the full SHA d34041dView commit details -
Configuration menu - View commit details
-
Copy full SHA for b90a438 - Browse repository at this point
Copy the full SHA b90a438View commit details
This comparison is taking too long to generate.
Unfortunately it looks like we can’t render this comparison for you right now. It might be too big, or there might be something weird with your repository.
You can try running this command locally to see the comparison on your machine:
git diff v2.9.9...v2.9.10