Changelog

New components, blocks, and improvements to StyleX Blocks.

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.