Version 2025-07 is the last API version to support React-based UI components. Later versions use web components, native UI elements with built-in accessibility, better performance, and consistent styling with Shopify's design system. Check out the migration guide to upgrade your extension.
Text
The text component provides semantic value and visual styling for a small piece of text content. Use text to emphasize or differentiate words or phrases within paragraphs or other block-level components.
For block-level text that occupies full width, use TextBlock.
Supported targets
- Customer
Account::Kitchen Sink - customer-account.
footer. render-after - customer-account.
order-index. announcement. render - customer-account.
order-index. block. render - customer-account.
order-status. announcement. render - customer-account.
order-status. block. render - customer-account.
order-status. cart-line-item. render-after - customer-account.
order-status. cart-line-list. render-after - customer-account.
order-status. customer-information. render-after - customer-account.
order-status. fulfillment-details. render-after - customer-account.
order-status. payment-details. render-after - customer-account.
order-status. return-details. render-after - customer-account.
order-status. unfulfilled-items. render-after - customer-account.
order. action. menu-item. render - customer-account.
order. action. render - customer-account.
order. page. render - customer-account.
page. render - customer-account.
profile. addresses. render-after - customer-account.
profile. announcement. render - customer-account.
profile. block. render - customer-account.
profile. company-details. render-after - customer-account.
profile. company-location-addresses. render-after - customer-account.
profile. company-location-payment. render-after - customer-account.
profile. company-location-staff. render-after - customer-account.
profile. payment. render-after
Supported targets
- Customer
Account::Kitchen Sink - customer-account.
footer. render-after - customer-account.
order-index. announcement. render - customer-account.
order-index. block. render - customer-account.
order-status. announcement. render - customer-account.
order-status. block. render - customer-account.
order-status. cart-line-item. render-after - customer-account.
order-status. cart-line-list. render-after - customer-account.
order-status. customer-information. render-after - customer-account.
order-status. fulfillment-details. render-after - customer-account.
order-status. payment-details. render-after - customer-account.
order-status. return-details. render-after - customer-account.
order-status. unfulfilled-items. render-after - customer-account.
order. action. menu-item. render - customer-account.
order. action. render - customer-account.
order. page. render - customer-account.
page. render - customer-account.
profile. addresses. render-after - customer-account.
profile. announcement. render - customer-account.
profile. block. render - customer-account.
profile. company-details. render-after - customer-account.
profile. company-location-addresses. render-after - customer-account.
profile. company-location-payment. render-after - customer-account.
profile. company-location-staff. render-after - customer-account.
profile. payment. render-after
Anchor to PropertiesProperties
Configure the following properties on the Text component.
- Anchor to accessibilityRoleaccessibilityRoleaccessibilityRoleTextAccessibilityRoleTextAccessibilityRole
Sets the semantic meaning of the text content for assistive technologies. When set, the role conveys additional context about the text's purpose.
address: Indicates the text is contact information. Typically used for addresses.deletion: Indicates the text has been deleted. Typically used for discounted prices.marking: Indicates the text is marked or highlighted and relevant to the user's current action.stress: Indicates emphatic stress. Typically for words that have a stressed emphasis compared to surrounding text.offset: Indicates an offset from the normal prose of the text. Typically used for a foreign word or fictional character thoughts.strong: Indicates strong importance, seriousness, or urgency.
- Anchor to accessibilityVisibilityaccessibilityVisibilityaccessibilityVisibilityAccessibilityVisibilityAccessibilityVisibility
Controls the visibility of the element to assistive technologies. Set to
'hidden'to hide the element from assistive technologies while keeping it visually visible.- Anchor to appearanceappearanceappearance'subdued' | 'accent' | 'decorative' | 'info' | 'success' | 'warning' | 'critical''subdued' | 'accent' | 'decorative' | 'info' | 'success' | 'warning' | 'critical'
Changes the visual appearance of the text, letting you convey meaning through color.
accent: Conveys emphasis and draws attention to the element.subdued: Conveys a subdued or disabled state.info: Conveys informational content.success: Conveys a successful interaction.warning: Conveys something needs attention or action.critical: Conveys a problem has arisen.decorative: Uses thedecorativecolor set within the theme.
- Anchor to emphasisemphasisemphasisEmphasisEmphasis
Use to emphasize a word or a group of words. Set to
boldoritalicto apply typographic emphasis that communicates visual hierarchy or stress.italic: Sets the text in italic. Combine with anofoffsetorstressto add more meaning to the text.bold: Sets the text in bold. Combine with anofstrongto add more meaning to the text.
- Anchor to idididstringstring
A unique identifier for the component. Typically used as a target for another component's controls to associate an accessible label with an action.
- Anchor to sizesizesizeTextSizeTextSize
A keyword that sets the size of the text. Sizes map to the design system's type scale.
: The smallest text size.small: A smaller text size for secondary content.base: The default text size for body content.medium: A slightly larger text size.large: A larger text size for emphasis.: The largest text size.
- Anchor to visibilityvisibilityvisibilityVisibilityVisibility
Controls the visual visibility of the element. Set to
'hidden'to visually hide the element while keeping it accessible to assistive technologies.
TextAccessibilityRole
The subset of accessibility roles available to the text component. Each role conveys specific semantic meaning to assistive technologies, helping users understand the purpose and context of the text content.
'address' | 'deletion' | 'marking' | {type: 'abbreviation'; for?: string} | {type: 'directional-override'; direction: 'ltr' | 'rtl'} | {type: 'datetime'; machineReadable?: string} | 'stress' | 'offset' | 'strong'AccessibilityVisibility
Controls the visibility of an element to assistive technologies. - `hidden`: Hides the element from assistive technologies while keeping it visually visible.
'hidden'Emphasis
A keyword that controls typographic emphasis on a text component. Use emphasis to draw attention to a word or group of words within a passage.
'italic' | 'bold'TextSize
A keyword that maps to a predefined text size from the design system. Includes all standard `Size` values plus `medium`, which sits between `base` and `large`.
Extract<Size, 'extraSmall' | 'small' | 'base' | 'large' | 'extraLarge'> | 'medium'Size
A keyword that maps to a predefined size from the design system's size scale. Components use a subset of these values depending on which sizes they support. - `extraSmall`: The smallest available size. - `small`: A compact size, smaller than the default. - `base`: The default size, appropriate for most contexts. - `large`: A larger size for increased visual prominence. - `extraLarge`: The largest available keyword size. - `fill`: Stretches to fill the available space in the container.
'extraSmall' | 'small' | 'base' | 'large' | 'extraLarge' | 'fill'Visibility
Controls the visual visibility of an element. - `hidden`: Visually hides the element while keeping it accessible to assistive technologies. The element does not occupy visual space.
'hidden'Anchor to ExamplesExamples
Anchor to Style inline textStyle inline text
Apply visual styling to a small piece of inline text. This example renders a text component with default styling.Style inline text

Style inline text
React
import {
reactExtension,
Text,
BlockStack,
} from '@shopify/ui-extensions-react/customer-account';
export default reactExtension(
'customer-account.page.render',
() => <Extension />,
);
function Extension() {
return (
<BlockStack inlineAlignment="center">
<Text size="extraSmall">Total</Text>
<Text size="small">Total</Text>
<Text size="base">Total</Text>
<Text size="medium">Total</Text>
<Text size="large">Total</Text>
<Text size="extraLarge">Total</Text>
</BlockStack>
);
}JS
import {extension, Text, BlockStack} from '@shopify/ui-extensions/customer-account';
export default extension('customer-account.page.render', (root) => {
const text = root.createComponent(BlockStack, undefined, [
root.createComponent(Text, {size: 'extraSmall'}, 'Total'),
root.createComponent(Text, {size: 'small'}, 'Total'),
root.createComponent(Text, {size: 'base'}, 'Total'),
root.createComponent(Text, {size: 'medium'}, 'Total'),
root.createComponent(Text, {size: 'large'}, 'Total'),
root.createComponent(Text, {size: 'extraLarge'}, 'Total'),
]);
root.appendChild(text);
});Anchor to Best practicesBest practices
- Keep inline text short: Use text for words or phrases, not full paragraphs.
- Apply styles intentionally: Use emphasis and tone to convey meaning, not decoration.
- Use TextBlock for paragraphs: For block-level content, use TextBlock instead.