<ComboBox>
<Input />
<ComboBoxValue>
{({selectedItems}) => (
<TagGroup items={selectedItems}>
{item => <Tag>{item.name}</Tag>}
</TagGroup>
)}
</ComboBoxValue>
<ComboBox>
Multi-select ComboBox was one of our most requested features. It works just like Select: set selectionMode=multiple, and use the ComboBoxValue component to render the selected values. You can show a TagGroup, a textual list, or any custom component.
react-aria.adobe.com/ComboBox#tag...
04.03.2026 19:30
π 5
π 0
π¬ 0
π 0
New React Aria release!
β
Multi-select ComboBox with customizable selection rendering (e.g. TagGroup)
ποΈ Tree sections β create labeled groups of items
π― Better NumberField paste handling
π Improved Calendar month and year dropdown behavior
π Lots of bug fixes!
react-aria.adobe.com/releases/v1-...
04.03.2026 19:04
π 42
π 4
π¬ 3
π 1
All of these issues apply to popover too. In many cases, popovers _are_ dialogs from an a11y pov. Again, itβs great if all your deps use top layer.
28.02.2026 03:22
π 1
π 0
π¬ 0
π 0
For example, if top layer had been defined such that it rendered in the same z-index stacking context as the body, it could interoperate with pre-existing overlays (essentially acting like a native portal instead of a whole separate layer).
28.02.2026 01:45
π 0
π 0
π¬ 0
π 0
Yes as I said in the post if all of your dependencies use top-layer, and you don't care about the user's browser extensions, it's good. It's a chicken and egg problem. Ideally the CSS standards would create an easier migration path.
28.02.2026 01:43
π 1
π 0
π¬ 2
π 0
This can totally be implemented using existing patterns. Dialogs themselves don't have to be modal. You can have multiple dialogs open at once all of which are visible and interactive simultaneously. Basically these layers:
- app (inert)
- modal backdrop
- dialog
- dialog
27.02.2026 19:53
π 3
π 0
π¬ 0
π 0
From a purely technical perspective that's correct but it's also pretty user-hostile. There's no real accessibility problem with these exceptions - screen readers simply see the extra content as visible like a sighted user would. The "modal" is all content above the backdrop, not just the dialog.
27.02.2026 18:29
π 6
π 0
π¬ 2
π 0
I think toasts are a pretty common one that should live above dialogs. Also support chat widgets or even AI assistants these days might need to be accessed even while dialogs are opened.
27.02.2026 18:05
π 4
π 0
π¬ 1
π 0
import {style} from '@react-spectrum/s2/style' with {type: 'macro'};
<div className={style({backgroundColor: 'red-400', color: 'white'})}>
{/* ... */}
</div>
Macros allow you to generate JS values, functions, and even assets like CSS at build time. The result is inlined into the compiled JS bundle. parceljs.org/features/mac...
We use macros for React Spectrum's CSS-in-JS library to generate atomic CSS at build time.
26.02.2026 19:51
π 6
π 0
π¬ 0
π 0
import regexgen from 'regexgen' with {type: 'macro'};
// Compile a regex at build time.
// The output is inlined into the bundle.
const regex = regexgen(['foobar', 'foobaz', 'foozap', 'fooza']);
unplugin-parcel-macros brings Parcel's build-time macro support to other bundlers, including Vite, Webpack, Rollup, and Esbuild.
v0.2.0 adds support for WASM, so it works in browser environments like Stackblitz too!
github.com/devongovett/...
26.02.2026 19:51
π 21
π 2
π¬ 2
π 0
Install the new React Aria agent skills to help your AI coding tools access the docs:
$ npx skills add react-aria.adobe.com
04.02.2026 17:12
π 1
π 0
π¬ 0
π 0
import {Button} from 'react-aria-components';
import {motion} from 'motion/react';
<Button
render={(domProps, {isPressed}) => (
<motion.button
{...domProps}
animate={{scale: isPressed ? 0.9 : 1}} />
)}>
Press me
</Button>
The `render` prop receives DOM props and component state, allowing you to render router links with pre-fetching support, drive animations, reuse your existing presentational components, etc. react-aria.adobe.com/customizatio...
04.02.2026 17:11
π 3
π 0
π¬ 1
π 0
v1.15.0 | React Aria
New year, new release, and the shine hasnβt worn off from our new documentation website! This monthβs release includes expanded customization options via a new render prop, greater input flexibility i...
New React Aria release!
π New `render` prop β customize DOM element, integrate router links & animation libraries
π Improved DateField UX β constrain invalid dates on blur instead of while typing
π€ Agent skills
π Improved doc search
π 80+ bug fixes
react-aria.adobe.com/releases/v1-...
04.02.2026 17:10
π 37
π 5
π¬ 1
π 0
import {Button} from 'react-aria-components';
import {motion} from 'motion/react';
<Button
render={(domProps, {isPressed}) => (
<motion.button
{...domProps}
animate={{scale: isPressed ? 0.9 : 1}} />
)}>
Press me
</Button>
In the next version of React Aria Components, you can use the `render` prop to customize the rendered DOM element. This also receives the component state, which makes it easy to drive animations.
23.01.2026 19:24
π 55
π 1
π¬ 3
π 0
How Parcel Bundles React Server Components
YouTube video by React Conf
Looks like the React Conf talks are up! Here's mine where I attempted to explain how React Server Components actually work in ~10 minutes. π
www.youtube.com/watch?v=E6A2...
07.01.2026 19:04
π 15
π 1
π¬ 0
π 0
One thing I'd say is that the overhead of tracking everything is not free. I think it makes sense if you have slow compilation steps, or need very low latency (e.g. IDE autocomplete). But if transforms are fast already, then the bookkeeping overhead becomes noticeable.
05.01.2026 03:30
π 2
π 0
π¬ 0
π 0
Parcel v2 was implemented like this. We call them requests, and they are all tracked in a graph. Only requests with changed dependencies re-run. Turbopack takes this even further, with super granular function-level tracking.
04.01.2026 15:46
π 7
π 0
π¬ 1
π 0
It supports some TypeScript/Flow types as well. I didnβt get this working yet but someone shared a benchmark showing it was ~10x faster with types than without.
30.12.2025 06:51
π 6
π 0
π¬ 1
π 0
Hermes is only a JS engine (like v8) not a full runtime (like Node). But you can also expose C functions to JS, so something like that could be built on top.
29.12.2025 23:13
π 2
π 0
π¬ 0
π 0
How to compile JavaScript to C with Static Hermes
Lately, I've been working on porting more of Parcel to Rust, and investigating ways to embed JS-based plugins. This post describes how I used Static Hermes to compile Less.js to a native C library tha...
Facebook's Static Hermes is kind of incredible. It can compile JavaScript into C, which is then optimized into native machine code.
I just compiled the Less.js source code into a C library. Then I called it from Rust as a native Parcel plugin (no Node). Wild. π¨βπ¬
devongovett.me/blog/static-...
29.12.2025 22:30
π 167
π 23
π¬ 7
π 2
Dang, classic.
29.12.2025 21:06
π 1
π 0
π¬ 0
π 0
Hooks are still supported, but we recommend starting with components and dropping down to hooks only where needed. You can find the hook docs for each component under "Related pages" on the right. We'll be updating those docs next year to be more integrated. Ran out of time before launch.
17.12.2025 00:16
π 3
π 0
π¬ 0
π 0
Screenshot of Spectrum 2 example app showing an app frame with a photo grid in a waterfall layout.
Weβre also releasing Spectrum 2, our new design system, which is built on top of React Aria Components! It includes a brand new styling library, more components, and a fresh new look.
react-spectrum.adobe.com
16.12.2025 22:04
π 25
π 1
π¬ 1
π 0
Introducing the new React Aria docs! π
All-new content and search experience. Interactive CSS and Tailwind examples to get you started quickly β just install with shadcn. New guides and full example apps. MCP server and AI integrations.
Check it out! react-aria.adobe.com
16.12.2025 22:04
π 101
π 12
π¬ 9
π 2
Screenshot of Vanilla CSS components in light mode with a purple accent color including TextField, DatePicker, Select, Tags, Radios, Slider, Table, Menu, and more.
Screenshot of Tailwind components in light mode with a blue accent color including TextField, DatePicker, Select, Tags, Radios, Slider, Table, Menu, and more.
Vanilla CSS and Tailwind π¨
11.12.2025 22:03
π 45
π 0
π¬ 3
π 0
I think async notifications are an ok use case for toasts because the user will expect them. But toasts tend to get overused for all error handling because they are so easy to implement. Better to display those in context instead.
10.12.2025 19:57
π 3
π 0
π¬ 0
π 0
Example cards including Emoji Picker, Filterable CRUD Table, Gesture Driven Sheet, iOS List View, Kanban Board, Photo Library, Ripple Button, and Swipeable Tabs.
Examples
10.12.2025 18:48
π 24
π 0
π¬ 0
π 0