Skip to content

Components

Ready-to-use interface and behavior solutions, grouped by the task they help accomplish. JavaScript, Twig and Liquid are delivery surfaces rather than separate component categories.

Trigger an action

ActionStable

Map declarative DOM events to methods on components and targets.

JS@studiometa/ui
ButtonStable

Render composable button and link templates with icons and style variants.

TWIGStudiometa/ui
HoverableStable

Reflect pointer hover state for declarative styling and interactions.

JS@studiometa/ui

Animate content

CursorStable

Render a custom cursor that reacts to pointer movement and hover targets.

JSTWIG@studiometa/uiStudiometa/ui
MarqueeStable

Publish a scroll-driven, wrapping progress that CSS turns into a horizontal or circular marquee.

JSTWIG@studiometa/uiStudiometa/ui
MotionStable

Animate elements declaratively with Motion and drive the playback from interactions.

JS@studiometa/ui Motion
MotionScrollTimelineStable

Drive the Motion children of an element with its scroll progress.

JS@studiometa/ui Motion
MotionSequenceStable

Compose Motion children into a single staggered animation timeline.

JS@studiometa/ui Motion
MotionViewStable

Play DOM updates as view transitions declared with Motion keyframes.

JS@studiometa/ui Motion
ScrollRevealStable

Reveal elements as they enter the viewport, once or repeatedly.

JS@studiometa/ui

Bind reactive data

DataBindStable

Reflect reactive values into attributes, properties, classes, or text.

JS@studiometa/ui
DataComputedStable

Derive reactive values from data exposed by a scope.

JS@studiometa/ui
DataEffectStable

Run declarative side effects whenever scoped reactive values change.

JS@studiometa/ui
DataModelStable

Synchronize form controls with reactive values using declarative models.

JS@studiometa/ui
DataScopeStable

Provide an isolated reactive data scope to descendant data components.

JS@studiometa/ui

Show and hide content

DisclosureStable

Build accessible standalone disclosures and dynamically registered accordion groups.

JSTWIG@studiometa/uiStudiometa/ui

Handle dragging

DraggableStable

Add bounded pointer dragging with axis and movement controls.

JS@studiometa/ui

Build a layout

HeroStable

Compose hero sections with media, text, actions, and flexible positioning.

TWIGStudiometa/ui
IconListStable

Render structured lists of icons, labels, and optional actions.

TWIGStudiometa/ui
StickyStable

Keep content sticky while exposing its active position state.

JSTWIG@studiometa/uiStudiometa/ui

Load content

DeferStable

Load and inject remote markup when the element mounts.

JS@studiometa/ui
FetchStable

Fetch and replace server-rendered content with loaders and transitions.

JSLIQUID@studiometa/ui
FetchShopifyPartialPreview

Refresh Shopify partials while preserving client-side interaction state.

JSLIQUID@studiometa/ui
FetchShopifySectionStable

Update Shopify sections through the stable Section Rendering API.

JSLIQUID@studiometa/ui
PrefetchStable

Prefetch links through reusable interaction and visibility strategies.

JS@studiometa/ui

Build a map

MapboxMapStable

Compose declarative Mapbox maps from maps, controls, data, markers, and clusters.

JS@studiometa/ui Mapbox
MapboxStaticMapStable

Render Mapbox Static Images API URLs without loading an interactive map.

TWIGStudiometa/ui
StoreLocatorStable

Orchestrate a Mapbox cluster into a searchable, selectable store locator.

JS@studiometa/ui Mapbox

Display media

FigureStable

Render responsive images with lazy loading, placeholders, and captions.

JSTWIG@studiometa/uiStudiometa/ui
FigureShopifyStable

Load responsive images from Shopify CDN URLs in Liquid storefronts.

JSLIQUID@studiometa/ui
FigureTwicpicsStable

Render and optimize responsive images through the TwicPics CDN.

JSTWIG@studiometa/uiStudiometa/ui
FigureVideoStable

Render responsive videos with lazy loading, sources, and captions.

JSTWIG@studiometa/uiStudiometa/ui
FigureVideoTwicpicsStable

Deliver responsive video through TwicPics with optimized source URLs.

JSTWIG@studiometa/uiStudiometa/ui
IconStable

Render inline SVG icons from local files or configured icon sets.

TWIGStudiometa/ui
IconImgStable

Render icons as image sources with optional current-color support.

TWIGStudiometa/ui

Navigate content

AnchorNavStable

Keep anchor navigation state synchronized with sections in view.

JS@studiometa/ui
CarouselStable

Compose scrollable carousels from wrappers, items, controls, and drag behavior.

JS@studiometa/ui
MenuStable

Compose accessible menus from toggle buttons and nested lists.

JS@studiometa/ui
ScrollToStable

Scroll smoothly to an anchor while preserving native link behavior.

JS@studiometa/ui
TabsStable

Build accessible tab lists and panels with synchronized active state.

JSTWIG@studiometa/uiStudiometa/ui

Open an overlay

DialogStable

Coordinate native dialogs, delegated triggers, and optional transitions.

JS@studiometa/ui
ToasterStable

Announce toasts from live regions with pausable auto-dismiss and animated stacking.

JS@studiometa/ui

Track interactions

TrackStable

Declare provider-agnostic analytics events and inherited tracking context.

JSTWIGLIQUID@studiometa/ui