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

CircularMarqueeStable

Lay out and animate repeating text around a circular path.

JSTWIG@studiometa/uiStudiometa/ui
CursorStable

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

JSTWIG@studiometa/uiStudiometa/ui
ScrollAnimationStable

Build timeline-driven scroll animations from parent and target components.

JS@studiometa/ui
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

AccordionDeprecated

Build an accessible collection of independently expandable sections.

JSTWIG@studiometa/uiStudiometa/ui
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
ImageGridStable

Arrange image collections in a reusable Twig grid composition.

TWIGStudiometa/ui
LargeTextStable

Scale and repeat oversized text to fill its available width.

JSTWIG@studiometa/uiStudiometa/ui
ReinsuranceStable

Render reassurance lists with icons and an optional mobile slider layout.

TWIGStudiometa/ui
StickyStable

Keep content sticky while exposing its active position state.

JSTWIG@studiometa/uiStudiometa/ui

Load content

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
FrameStable

Build server-rendered navigation frames with triggers, targets, and loaders.

JS@studiometa/ui
LazyIncludeStable

Load and inject remote markup when an include enters the viewport.

JS@studiometa/ui
PrefetchStable

Prefetch links through reusable hover 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
AnchorScrollToStable

Scroll smoothly to an anchor while preserving native link behavior.

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
SliderStable

Compose indexed sliders from items, controls, dots, drag, and progress.

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
ModalDeprecated

Open modal overlays with optional transition-aware behavior.

JSTWIG@studiometa/uiStudiometa/ui
PanelDeprecated

Open a positioned off-canvas panel from an overlay.

JSTWIG@studiometa/uiStudiometa/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