Changelog

New components, blocks, and improvements to StyleX Blocks.

New components: Bubble, Message, and Message Scroller

Three primitives for conversational UIs, in Ark UI and Base UI. Bubble is the framed surface — variants, alignment, grouping, and edge-anchored reactions. Message owns the row around it. Message Scroller is the transcript.

Hey there! what's up?
Hey! Want to see chat bubbles?
I can group messages, switch sides, and keep the whole thread easy to scan.
Sure. Hit me with your best demo.
View Bubble
First blocks: Language Select, Country Picker, Timezone Picker

Blocks are installable components built from the primitives for real use cases, surfaced as examples on the pages of the primitives they compose. Language Select shows native language names and speaks BCP-47 on the wire. Country Picker and Timezone Picker are searchable — a select-style trigger opens a panel with the filter input inside it, one combobox machine end to end, so filtering keeps the full ARIA wiring. Names, offsets, and sort order come from Intl, so neither ships data that can go stale. The Combobox primitive gained the panel-layout parts behind this: FieldTrigger, FieldValue, Panel, Search, and PanelList.

Browse the blocks
New component: Shimmer

A GPU-accelerated highlight sweep for streaming and busy labels. The gradient is masked to the glyphs with -webkit-mask-clip: text so each frame only animates a transform; Firefox falls back to -moz-element() masking, and reduced motion gets the plain text. Pace and band width are the duration and spread props, in both Ark UI and Base UI flavors.

View component
Property-level pseudo-classes

Every recipe now writes pseudo-classes and media queries as property-level condition maps — bg: { default, ":hover" } instead of a nested ":hover" block. StyleX only merges styles predictably at the property level, so overrides through stylex.props now compose reliably, and variant styles keep the base state conditions (invalid, disabled) on every property they touch instead of dropping them.