Web components
Web components are the UI building blocks that you use to display data and trigger API functions. These components are native UI elements that follow Shopify's design system and render optimized interfaces for retail workflows in the POS app on iOS and Android devices (POS version 10.19 and later).
Your target determines which components you can use because different locations in POS have different interface requirements and constraints.
Anchor to ActionsActions
Actions trigger retail operations through quick, touch-based interactions like applying discounts, confirming payments, and initiating workflows.
Button
Execute actions through tappable button elements with customizable titles and styles.
Clickable
Make any content tappable and trigger actions when pressed.
Link
Make text interactive for lightweight actions, navigation triggers, or actions embedded within text content.
Tile
Display interactive buttons for the POS smart grid that allow merchants to complete actions quickly.
Anchor to Feedback and status indicatorsFeedback and status indicators
Feedback and status indicators keep staff informed about transaction status, errors, and confirmations during retail operations.
Badge
Use color and text to communicate the state of orders, products, customers, and other business data.
Banner
Highlight important information or required actions prominently within the POS interface.
Modal
Display content in an overlay that requires merchant attention before proceeding.
Spinner
Indicate ongoing processes or loading states with visual feedback.
Anchor to FormsForms
Forms capture data during transactions with built-in validation and formatting optimized for mobile touch interfaces.
Choice list
Present multiple options for single or multiple selections.
Date field
Capture date input with a consistent interface for date selection and proper validation.
Date picker
Allow merchants to select a specific date using a calendar-like picker interface.
Date spinner
Enable merchants to select a specific date using a spinner interface with scrollable columns for month, day, and year.
Email field
Capture email address input from customers with built-in validation.
Number field
Capture numeric input with built-in validation.
Search field
Capture search terms using a single-line input field.
Switch
Toggle an option on or off for settings that take effect immediately.
Text area
Capture longer text content with a multi-line, resizable text input area.
Text field
Capture single-line text input.
Time field
Capture time input with a consistent interface for time selection and validation.
Time picker
Allow merchants to select a specific time using an interactive picker interface.
Anchor to Layout and structureLayout and structure
Layout and structure components create consistent visual hierarchy and spacing, presenting content clearly across different device sizes.
Box
Display a generic container with consistent spacing and styling.
Divider
Create visual separation between content sections.
Empty state
Display a placeholder view when there's no content to show, guiding users on what to do next.
Heading
Render hierarchical titles to communicate the structure and organization of page content.
Page
Define full-screen views within modals with navigation titles and back button support.
POS block
Create a container to place content with an action button.
Scroll box
Create a scrollable area for content that exceeds container bounds.
Section
Group related content into clearly-defined thematic areas.
Stack
Organize elements horizontally or vertically along the block or inline axis.
Tabs
Organize content into separate views that merchants can switch between without leaving the page.
Text
Display text with specific visual styles or tones.
Anchor to Media and visualsMedia and visuals
Media and visuals display product images, icons, and branding elements that help staff identify products and communicate information.