--- title: InlineStack description: Use to lay out a horizontal row of components. api_name: product-subscription-extensions source_url: html: >- https://shopify.dev/docs/api/product-subscription-extensions/components/inlinestack md: >- https://shopify.dev/docs/api/product-subscription-extensions/components/inlinestack.md --- ExpandOn this page * [Props](https://shopify.dev/docs/api/product-subscription-extensions/components/inlinestack.md#props) * [Guidelines](https://shopify.dev/docs/api/product-subscription-extensions/components/inlinestack.md#guidelines) # InlineStack Deprecated Product subscription app extensions won't be supported as of February 9, 2026. You should migrate existing product subscription app extensions to [purchase options extensions](https://shopify.dev/docs/apps/build/purchase-options/purchase-options-extensions). Use to lay out a horizontal row of components. A stack is made of flexible items that wrap each of the stack’s children. Options provide control of the alignment and spacing of the items in the stack. Use `StackItem` to group multiple elements inside a `InlineStack` together. ##### JavaScript ```tsx import {extend, InlineStack, Text} from '@shopify/admin-ui-extensions'; function buildStackText(root) { const text = root.createComponent(Text); text.appendChild('Items to stack'); return text; } extend('Playground', (root) => { const inlineStack = root.createComponent(InlineStack, { inlineAlignment: 'center', spacing: 'loose', }); inlineStack.appendChild(buildStackText(root)); inlineStack.appendChild(buildStackText(root)); inlineStack.appendChild(buildStackText(root)); root.appendChild(inlineStack); root.mount(); }); ``` ##### React ```tsx import React from 'react'; import {extend, render, InlineStack, Text} from '@shopify/admin-ui-extensions-react'; function App() { return ( Items to stack Items to stack Items to stack ); } extend( 'Playground', render(() => ), ); ``` *** ## Props optional = ? | Name | Type | Description | | - | - | - | | blockAlignment? | `"leading" \| "center" \| "trailing" \| "baseline"` | Specifies the block alignment. This affects the vertical flow of elements. Default value: `'leading'` | | inlineAlignment? | `"leading" \| "center" \| "trailing"` | Specifies the inline alignment. This affects the horizontal flow of elements. Default value: `'leading'` | | spacing? | `Spacing` | Adjust spacing between children. Default value: `'base'` | *** ## Guidelines * All children of `InlineStack` are placed in a single view object, which makes recycling the views expensive and results in poorer performance when scrolling. Consider keeping your stacks simple. * By default, `InlineStack` alignment is `'leading’`. | ✅ Do | 🛑 Don't | | - | - | | Keep Inline Stacks shallow. Complex hierarchies have performance penalties | Use complex and deep Stack layouts | For more guidelines, refer to Polaris' [Stack best practices](https://polaris.shopify.com/components/layout-and-structure/stack#best-practices). *** * [Props](https://shopify.dev/docs/api/product-subscription-extensions/components/inlinestack.md#props) * [Guidelines](https://shopify.dev/docs/api/product-subscription-extensions/components/inlinestack.md#guidelines)