Skip to content

react-grab@0.1.48

Latest

Choose a tag to compare

@github-actions github-actions released this 04 Jul 05:57
7b43062

Patch Changes

  • bc3a591: Fix the grab hanging on "Grabbing…" when the app saturates the dev server's connection pool. Source resolution (bundle and source-map fetches via bippy, plus Next.js server-frame symbolication) now runs through a concurrency-capped, abortable queue with a timeout, so it no longer queues indefinitely behind the app's own requests. Requires bippy ≥0.5.42 so an aborted source-map fetch no longer poisons bippy's cache and later grabs recover.

    Also fixes:

    • A click immediately after keyboard navigation selecting a stale element instead of the one under the pointer.
    • The page jumping when focus is restored after a grab (focus now restores with preventScroll).
    • Being unable to select page content while a modal sets body { pointer-events: none } (e.g. Radix), via a hit-test override.

    Plus activation and drag performance: animations freeze via the Web Animations API instead of a universal-selector recalc, activation batches its layout reads before writes, the React-update freeze walks fibers iteratively, and drag de-duplication is O(n·d) instead of O(n²).

  • e56fcc1: Style mode now resolves committed values to the project's design tokens when copying. Tokens are derived from the CSS custom properties already defined in the page's cascade, so this works for any library that exposes design tokens as CSS variables (shadcn/ui, Radix, Chakra, MUI, Tailwind v4 @theme, Panda, vanilla-extract, …) rather than a single hard-coded framework. When a tweaked color matches a token, or a length matches a token whose name shares the property's family (spacing/size/radius/font-size/…), the copied CSS annotates the declaration with a /* var(--token) */ hint and the prompt nudges the agent to prefer the token over the raw value.

    Arrow-key stepping in the Style panel now snaps a px property through that token scale (e.g. / walk the spacing tokens) instead of always nudging ±1px. Shift keeps the coarse raw step (×10) and Alt/Option does a fine raw ±1px step — both opt out of snapping so values can land between tokens. A value sitting outside the scale falls back to a raw step so stepping never dead-ends. When a framework exposes spacing as a single base unit instead of discrete tokens (Tailwind v4's --spacing), stepping walks that base-unit grid.

    Color tokens are resolved through the browser's own rasterizer, so modern wide-gamut values that getComputedStyle returns — lab(), lch(), oklab(), oklch(), color() — are matched too (these are what Tailwind v4 / shadcn themes compile to), not just hex/rgb/hsl.

  • 853ec52: Fix theme detection mis-classifying an undeclared light page as dark for visitors on a dark OS. When a page has no theme marker, no color-scheme, and no painted background, detection now derives the real backdrop from the CSS Canvas system color instead of guessing from prefers-color-scheme. Canvas honors the root element's used color-scheme, so it stays light under the default normal (regardless of the OS) and only tracks the OS preference when the page opts into a dark-capable scheme such as light dark - matching exactly what the browser paints behind the page.

    • @react-grab/cli@0.1.48