# Versions POS UI Extensions versions. Contains the changelog for each version as well as the information on which versions are currently supported. ## Compatibility Policy ## 2025.04 - Added in POS version: N/A - Removed in POS version: N/A - Release day: N/A ### Breaking Changes - Renamed `NewTextFieldProps` to `TextFieldProps`. ### Features **Developer Preview**: - Added support for the [pos.transaction-complete.event.observe](/docs/api/pos-ui-extensions/targets/post-purchase/pos-transaction-complete-event-observe) target. - Added support for cash tracking session. [pos.cash-tracking-session-start.event.observe](/docs/api/pos-ui-extensions/targets/cash-tracking/pos-cash-tracking-session-start-event-observe), [pos.cash-tracking-session-complete.event.observe](/docs/api/pos-ui-extensions/targets/cash-tracking/pos-cash-tracking-session-complete-event-observe) targets. - Added support for the [pos.receipt-footer.block.render](/docs/api/pos-ui-extensions/targets/receipts/pos-receipt-footer-block-render) target. - Introduced a [POSReceiptBlock component](/docs/api/pos-ui-extensions/components/posreceiptblock). It's the required parent component for [pos.receipt-footer.block.render](/docs/api/pos-ui-extensions/targets/receipts/pos-receipt-footer-block-render) targets. ## 2025.01 - Added in POS version: 9.26 - Removed in POS version: N/A - Release day: 1/6/2025 ## Important Fixes - **POS 9.30.0**: - Modal updated so neither swiping down nor tapping outside of modal will dismiss modal. - **POS 9.29.0**: - Fixed an issue where the `FormattedTextField` component was rendering black input text in dark mode. - **POS 9.27.0**: - Fixed an issue where the `Stack` component was not rendering correctly. By default, `Stack` will now always wrap. Additionally, stacks using `'block'` will now compress horizontally. Use `alignContents: 'stretch'` to take all of the horizontal space. This will not have an impact on layout in previous POS versions. ### Breaking Changes - Removed the deprecated `ActionItem` component. Use a [Button](/docs/api/pos-ui-extensions/components/button) instead. - Removed the deprecated `SmartGridApi`. Use the [ActionApi](/docs/api/pos-ui-extensions/apis/action-api) instead. - Removed the deprecated DiscountType. Use [CartDiscountType](/docs/api/pos-ui-extensions/apis/cart-api#cartapi-propertydetail-applycartdiscount) and [LineItemDiscountType](/docs/api/pos-ui-extensions/apis/cart-api#cartapi-propertydetail-setlineitemdiscount) instead. - Removed the deprecated `badge` prop from the [List](/docs/api/pos-ui-extensions/components/list) component. Use `badges` instead. - Removed the deprecated `TextFieldProps` type from the [TextField](/docs/api/pos-ui-extensions/components/textfield) component. - Deprecated `'vertical'` and `'horizontal'` as values for the `direction` field in the [Stack](/docs/api/pos-ui-extensions/components/Stack) component. Use `'block'` and `'inline'` instead. - Deprecated the `flex` field in the [Stack](/docs/api/pos-ui-extensions/components/Stack) component. Set `blockSize` or `inlineSize` to a value other than `'auto'` to create the desired size for your `Stack`. - Deprecated the `flexWrap` field in the [Stack](/docs/api/pos-ui-extensions/components/Stack) component. Content will now wrap automatically. - Deprecated the `paddingHorizontal` and `paddingVertical` fields in the [Stack](/docs/api/pos-ui-extensions/components/Stack) component. Use `paddingInline` and `paddingBlock` instead. - Removed `customValidator` prop from the [FormattedTextField](/docs/api/pos-ui-extensions/components/formattedtextfield) component. - Removed `email`, `firstName`, `lastName`, and `note` from the [Customer](/docs/api/pos-ui-extensions/apis/cart-api#customer) object. - `Text` now takes priority in growing over other components. To contain Text to its minimum width, wrap it in a `Box` component. ### Features - Added [PrintApi](/docs/api/pos-ui-extensions/apis/print-api) and a [PrintPreview](/docs/api/pos-ui-extensions/components/printpreview) component. - Added `currency` prop to the [SessionApi](/docs/api/pos-ui-extensions/apis/session-api). - [Cart API](/docs/api/pos-ui-extensions/apis/cart-api) updates: - Added `bulkUpdateCart` function for single-operation cart updates. - The `addLineItem` and `addCustomSale` functions now return a `UUID` for the added line item. - Added [Box](/docs/api/pos-ui-extensions/components/box) component. - Added a new `justifyContent` prop to [Stack](/docs/api/pos-ui-extensions/components/Stack) component. The default value is `'start'`. - Added a new `alignContents` prop to [Stack](/docs/api/pos-ui-extensions/components/Stack) component. The default value is `'start'`. By default, `'block'` stacks may compress horizontally. Use `'stretch'` to take all of the horizontal space. - Added a new `alignItems` prop to [Stack](/docs/api/pos-ui-extensions/components/Stack) component. The default value is `'stretch'`. This may by default cause certain elements to stretch. - Added a new `blockSize` prop to [Stack](/docs/api/pos-ui-extensions/components/Stack) component. This will allow setting a vertical size for the stack. - Added a new `inlineSize` prop to [Stack](/docs/api/pos-ui-extensions/components/Stack) component. This will allow setting a horizontal size for the stack. - Added sizing and fill options to the [Image](/docs/api/pos-ui-extensions/components/image) component. ## 2024.10.1 - Added in POS version: 9.22 - Removed in POS version: N/A - Release day: 11/11/2024. ### Features - Fixes long standing issue where `useEffect` teardown functions are not working in React ## 2024.10 - Added in POS version: 9.19 - Removed in POS version: N/A - Release day: 10/1/2024. ### Features - Added support for iOS debugging with the Safari dev tools. - On iOS, modals now appear in windowed mode. - Introduced a [POSBlock component](/docs/api/pos-ui-extensions/components/POSBlock). It's the required parent component for block extension targets. - Introduced a [POSBlockRow component](/docs/api/pos-ui-extensions/components/POSBlockRow). It's the required child component for POSBlock, and can be used to wrap other components. - Added support for the [pos.product-details.block.render](/docs/api/pos-ui-extensions/targets/product-details/pos-product-details-block-render) target. - Added support for the [pos.purchase.post.block.render](/docs/api/pos-ui-extensions/targets/post-purchase/pos-purchase-post-block-render) target. - Added support for the [pos.order-details.block.render](/docs/api/pos-ui-extensions/targets/order-details/pos-order-details-block-render) target. - Added support for the [pos.customer-details.block.render](/docs/api/pos-ui-extensions/targets/customer-details/pos-customer-details-block-render) target. - Deprecated the [ActionItem component](/docs/api/pos-ui-extensions/components/ActionItem). Please use the [Button component](/docs/api/pos-ui-extensions/components/Button) instead. ## 2024.07 - Added in POS version: 9.15 - Removed in POS version: N/A - Release day: 08/14/2024. ### Features - Introduced a [SectionHeader component](/docs/api/pos-ui-extensions/components/sectionheader). It can be used to title sections and structure content. - Removed `subtitle` property to the [FormattedTextField](/docs/api/pos-ui-extensions/apis/formatted-text-field) component. - Removed `subtitle` property to the [TextField](/docs/api/pos-ui-extensions/apis/text-field) component. - Renamed the `OrderAPIContent` interface to `OrderApiContent`. - Added support for the [pos.product-details.action.menu-item.render](/docs/api/pos-ui-extensions/targets/product-details/pos-product-details-action-menu-item-render) and [pos.product-details.action.render](/docs/api/pos-ui-extensions/targets/product-details/pos-product-details-action-render) targets. - Added support for the [pos.order-details.action.menu-item.render](/docs/api/pos-ui-extensions/targets/order-details/pos-order-details-action-menu-item-render) and [pos.order-details.action.render](/docs/api/pos-ui-extensions/targets/order-details/pos-order-details-action-render) targets. - Added support for the [pos.draft-order-details.action.menu-item.render](/docs/api/pos-ui-extensions/targets/draft-order-details/pos-draft-order-details-action-menu-item-render) and [pos.draft-order-details.action.render](/docs/api/pos-ui-extensions/targets/draft-order-details/pos-draft-order-details-action-render) targets. - Added support for the [pos.customer-details.action.menu-item.render](/docs/api/pos-ui-extensions/targets/customer-details/pos-customer-details-action-menu-item-render) and [pos.customer-details.action.render](/docs/api/pos-ui-extensions/targets/customer-details/pos-customer-details-action-render) targets. ## 2024.04 - Added in POS version: 9.11 - Removed in POS version: 9.31.0 - Release day: 06/10/2024. ### Features - Added support for the [pos.purchase.post.action.menu-item.render](/docs/api/pos-ui-extensions/targets/post-purchase/pos-purchase-post-action-menu-item-render) and [pos.purchase.post.action.render](/docs/api/pos-ui-extensions/targets/post-purchase/pos-purchase-post-action-render) targets. ## 1.7.0 - Added in POS version: 9.4.0 - Removed in POS version: 9.31.0 - Release day: 03/13/2024. ### Features - Added `discounts` property to the [Cart](/docs/api/pos-ui-extensions/apis/cart-api) object in the Cart API. - Added `addCartCodeDiscount` function to the [Cart API](/docs/api/pos-ui-extensions/apis/cart-api#cartapi-propertydetail-addcartcodediscount). - Added `removeAllDiscounts` function to the [Cart API](/docs/api/pos-ui-extensions/apis/cart-api#cartapi-propertydetail-removealldiscounts). - Added `listHeaderComponent` property to the [List](/docs/api/pos-ui-extensions/components/list#list-propertydetail-listheadercomponent) component. ## 1.6.0 - Added in POS version: 9.2.0 - Removed in POS version: 9.31.0 - Release day: 02/15/2024. ### Features - Added `bannerProps` prop to [CameraScanner](/docs/api/pos-ui-extensions/components/camerascanner#camerascanner-propertydetail-bannerprops). - Added `fetchPaginatedProductVariantsWithProductId` to [ProductSearch](/docs/api/pos-ui-extensions/api/productsearch-api#productsearchapi-propertydetail-fetchpaginatedproductvariantswithproductid). ## 1.5.1 - Added in POS version: 8.22.0 - Removed in POS version: 9.31.0 - Release day: 11/13/2023. ### Features - Added `isGiftCard` prop to [lineItem](/docs/api/pos-ui-extensions/apis/cart-api) in the Cart API. - Deprecated `DiscountType` and introduced `CartDiscountType` and `LineItemDiscountType` in the Cart API. ## 1.5.0 - Added in POS version: 8.21.0 - Removed in POS version: 9.31.0 - Release day: 10/30/2023. ### Features - Added `bulkAddLineItemProperties` to the [Cart API](/docs/api/pos-ui-extensions/apis/cart-api), which allows updating multiple line item properties in one call. - Added `bulkSetLineItemDiscounts` to the [Cart API](/docs/api/pos-ui-extensions/apis/cart-api), which allows updating multiple line item discounts in one call. ## 1.4.0 - Added in POS version: 8.18.0 - Removed in POS version: 9.31.0 - Release day: 9/27/2023. ### Features - Added optional `BadgeStatus` prop to the [Badge component](/docs/api/pos-ui-extensions/components/badge). - Added `isDevice` function to the [Device API](/docs/api/pos-ui-extensions/apis/device-api). - Introduced a [`Connectivity API`](/docs/api/pos-ui-extensions/apis/connectivity-api). The Connectivity API gives the UI extension access to the information about the device connectivity. - Added optional `overrideNavigateBack` prop to the [Screen component](/docs/api/pos-ui-extensions/components/screen). ## 1.3.0 - Added in POS version: 8.15.0 - Removed in POS version: 9.31.0 - Release day: 8/16/2023. ### Features Introduced the following components: - [`DatePicker`](/docs/api/pos-ui-extensions/components/datepicker): Used to select dates. - [`TimePicker`](/docs/api/pos-ui-extensions/components/timepicker): Used to select times. - [`DateField`](/docs/api/pos-ui-extensions/components/datefield): Used to select dates using a text input. - [`TimeField`](/docs/api/pos-ui-extensions/components/timefield): Used to select times using a text input. - [`TextArea`](/docs/api/pos-ui-extensions/components/textarea): A text field to allow merchants to input or modify multiline text. - [`NumberField`](/docs/api/pos-ui-extensions/components/numberfield): A text field to capture numerical values. - [`EmailField`](/docs/api/pos-ui-extensions/components/emailfield): A text field to capture email addresses. - [`TextField`](/docs/api/pos-ui-extensions/components/textfield): A updated text field supporting text input. - [`Tile component`](/docs/api/pos-ui-extensions/components/tile): Updated to support `badgeValue`. The `enabled` and `onPress` properties are now optional. ## 1.2.0 - Added in POS version: 8.12.0 - Removed in POS version: 9.31.0 - Release day: 6/26/2023. ### Features - Introduced a [PinPad component](/docs/api/pos-ui-extensions/components/pinpad). It can be used to authenticate or identify individuals through a standardized number pad. - Introduced [Product Search API](/docs/api/pos-ui-extensions/apis/productsearch-api). The Product Search API gives the UI Extension access to the native product search and fetching functionality of Shopify POS. - Added a function for setting an attributed staff to the cart and line items to [Cart API](/docs/api/pos-ui-extensions/api/cart-api). - The [Navigator component](/docs/api/pos-ui-extensions/components/navigator) now supports a new prop called `initialScreenName`. It can be used to set the name of the `Screen` to initialize to. - Introduced a [Device API](/docs/api/pos-ui-extensions/apis/device-api). The Device API gives the UI Extension access to the information about the device that the extension is running on. - The [List component](/docs/api/pos-ui-extensions/components/list) was updated to support `badge` property for `leftSide` image, and `toggleSwitch` property for `rightSide`. ## 1.1.2 - Added in POS version: 8.9.0 - Removed in POS version: 9.31.0 - Release day: 5/15/2023. ### Features - Introduces new `CameraScanner` component. - Introduces new `Scanner` API. ## 1.0.1 - Added in POS version: 8.8.1 - Removed in POS version: 9.31.0 - Release day: 5/3/2023. ### Fixes - Addresses a problem where certain published extensions could not be launched on POS. ## 1.0.0 - Added in POS version: 8.8.0 - Removed in POS version: 9.31.0 - Release day: 5/1/2023. ### Features - The `Banner` component now can hide the action button. - The `Stepper` component now has `minimumValue`, `maximumValue`, and `value` props. ### Fixes - An unremovable scanning icon was removed from `SearchBar`. - Icon sizes were adjusted for `SearchBar` to avoid cropping. - `FormattedTextField` now doesn't crash on `currency` value for `inputType`. - Removed multiple broken `inputType` values for `FormattedTextField`. - Resolved multiple path issues with the package. ## References - [Action API](https://shopify.dev/docs/api/pos-ui-extensions/2024-04/apis/action-api.txt): The Action API allows an action extension to modally present its corresponding modal target. - [Cart API](https://shopify.dev/docs/api/pos-ui-extensions/2024-04/apis/cart-api.txt): The Cart API enables UI Extensions to manage and interact with POS cart contents, such as discounts, line items, and customer details. It provides a comprehensive set of functions for adding and removing items, alongside a subscribable object that keeps the UI Extension updated with real-time changes to the cart. - [Connectivity API](https://shopify.dev/docs/api/pos-ui-extensions/2024-04/apis/connectivity-api.txt): The Connectivity API enables POS UI extensions to retrieve device connectivity information, such as whether the device has an internet connection. - [Device API](https://shopify.dev/docs/api/pos-ui-extensions/2024-04/apis/device-api.txt): The Device API allows the UI Extension to retrieve device information including the device name and ID. - [Locale API](https://shopify.dev/docs/api/pos-ui-extensions/2024-04/apis/locale-api.txt): The Locale API allows the extension to retrieve the merchant's locale. - [Navigation API](https://shopify.dev/docs/api/pos-ui-extensions/2024-04/apis/navigation-api.txt): The Navigation API enables POS UI extension to navigate between screens. - [Order API](https://shopify.dev/docs/api/pos-ui-extensions/2024-04/apis/order-api.txt): The Order API provides an extension with data about the current order. - [ProductSearch API](https://shopify.dev/docs/api/pos-ui-extensions/2024-04/apis/productsearch-api.txt): The ProductSearch API gives extensions access to the native product search and fetching functionality of Shopify POS. The interface provides numerous functions to search for products by query, or to fetch the details of one or more products or product variants. - [Scanner API](https://shopify.dev/docs/api/pos-ui-extensions/2024-04/apis/scanner-api.txt): The Scanner API enables an extension to access scanner data and available scanning sources supported by the device. - [Session API](https://shopify.dev/docs/api/pos-ui-extensions/2024-04/apis/session-api.txt): The Session API contains the information about the current user session, and allows to fetch a fresh session token for communication with your apps backend service. - [Toast API](https://shopify.dev/docs/api/pos-ui-extensions/2024-04/apis/toast-api.txt): The Toast API allows the display of a Toast component. - [ActionItem](https://shopify.dev/docs/api/pos-ui-extensions/2024-04/components/actionitem.txt): The `ActionItem` provides a tappable surface on the specified extension target as an entry point to an extension. Note that the text displayed on this `ActionItem` is dependent on the description of the extension. - [Badge](https://shopify.dev/docs/api/pos-ui-extensions/2024-04/components/badge.txt): Badges are used to inform merchants of the status of an item or action that’s been taken. - [Banner](https://shopify.dev/docs/api/pos-ui-extensions/2024-04/components/banner.txt): A banner informs merchants about important changes or persistent conditions. Use if you need to communicate to merchants in a prominent way, without blocking other actions. - [Button](https://shopify.dev/docs/api/pos-ui-extensions/2024-04/components/button.txt): Buttons enable the merchant to initiate actions, like "add", "save", or "next". - [CameraScanner](https://shopify.dev/docs/api/pos-ui-extensions/2024-04/components/camerascanner.txt): The camera scanner uses the devices camera to scan and decode barcodes or QR codes. It displays a live feed with guidance markers for alignment and triggers actions within the app upon successful recognition. - [DateField](https://shopify.dev/docs/api/pos-ui-extensions/2024-04/components/datefield.txt): A component that enables users to open a dialog and select a date through a text input. - [DatePicker](https://shopify.dev/docs/api/pos-ui-extensions/2024-04/components/datepicker.txt): A component used to select a date through a dialog. - [Dialog](https://shopify.dev/docs/api/pos-ui-extensions/2024-04/components/dialog.txt): A dialog is a high-priority, intentionally disruptive message that requires action from the merchant before they can continue using POS. - [EmailField](https://shopify.dev/docs/api/pos-ui-extensions/2024-04/components/emailfield.txt): Use an email field to conveniently and accurately capture merchant email addresses. - [FormattedTextField](https://shopify.dev/docs/api/pos-ui-extensions/2024-04/components/formattedtextfield.txt): Use a formatted text field when you require additional functionality such as the text field input type or a custom validator. - [Icon](https://shopify.dev/docs/api/pos-ui-extensions/2024-04/components/icon.txt): A component that renders an icon from the POS asset catalog. - [Image](https://shopify.dev/docs/api/pos-ui-extensions/2024-04/components/image.txt): The image component displays an image to a merchant in Shopify POS. - [List](https://shopify.dev/docs/api/pos-ui-extensions/2024-04/components/list.txt): The list is a scrollable component in which the list rows are rendered. - [Navigator](https://shopify.dev/docs/api/pos-ui-extensions/2024-04/components/navigator.txt): A component used to navigate between different screens. - [NumberField](https://shopify.dev/docs/api/pos-ui-extensions/2024-04/components/numberfield.txt): Use a number field to conveniently and accurately capture numerical values. - [PinPad](https://shopify.dev/docs/api/pos-ui-extensions/2024-04/components/pinpad.txt): A component used to authenticate or identify individuals through a standarized number pad. - [RadioButtonList](https://shopify.dev/docs/api/pos-ui-extensions/2024-04/components/radiobuttonlist.txt): A radio button list lets merchants select from a given set of options. - [Screen](https://shopify.dev/docs/api/pos-ui-extensions/2024-04/components/screen.txt): A component used in the root of a modal extension to define a screen. - [ScrollView](https://shopify.dev/docs/api/pos-ui-extensions/2024-04/components/scrollview.txt): The ScrollView component allows content that doesn’t fully fit on screen to scroll. Typically, the ScrollView component serves as the root component of a Screen. - [SearchBar](https://shopify.dev/docs/api/pos-ui-extensions/2024-04/components/searchbar.txt): The search bar lets merchants enter search queries for objects throughout the app. - [Section](https://shopify.dev/docs/api/pos-ui-extensions/2024-04/components/section.txt): A component used to group other components together in a card-like UI. Usually, sections will be used inside a ScrollView. - [SegmentedControl](https://shopify.dev/docs/api/pos-ui-extensions/2024-04/components/segmentedcontrol.txt): The segmented control lets the merchant easily switch between different lists or views on the same page. - [Selectable](https://shopify.dev/docs/api/pos-ui-extensions/2024-04/components/selectable.txt): The selectable component allows you to wrap any non-interactive UI component to make it selectable. - [Spacing](https://shopify.dev/docs/api/pos-ui-extensions/2024-04/components/spacing.txt): Set of spacing constants to be used in the UI Extensions components library. - [Stack](https://shopify.dev/docs/api/pos-ui-extensions/2024-04/components/stack.txt): A container for other components that allows them to be stacked horizontally or vertically. When building complex UIs, this will be your primary building block. - [Stepper](https://shopify.dev/docs/api/pos-ui-extensions/2024-04/components/stepper.txt): A component used for increasing or decreasing quantities. - [Text](https://shopify.dev/docs/api/pos-ui-extensions/2024-04/components/text.txt): Text can be rendered in different sizes and colors in order to structure content. - [TextArea](https://shopify.dev/docs/api/pos-ui-extensions/2024-04/components/textarea.txt): Use a text input to allow merchants to input or modify multiline text. - [TextField](https://shopify.dev/docs/api/pos-ui-extensions/2024-04/components/textfield.txt): Use a text field to allow merchants to enter or edit text. If you want to specify the kind of input, then use a formatted text field. - [Tile](https://shopify.dev/docs/api/pos-ui-extensions/2024-04/components/tile.txt): Tiles are customizable buttons that allow staff to complete actions quickly. Think of them as shortcuts--adding a 10% discount to an order, for example. Tiles provide contextual information and let merchants quickly access workflows, actions, and information from the smart grid and the top of detail pages. They’re dynamic and can change based on surrounding context, such as what’s in the cart. - [TimeField](https://shopify.dev/docs/api/pos-ui-extensions/2024-04/components/timefield.txt): A component that enables users to open a dialog and select a time through a text input. - [TimePicker](https://shopify.dev/docs/api/pos-ui-extensions/2024-04/components/timepicker.txt): A component used to select a time through a dialog. - [pos.home.modal.render](https://shopify.dev/docs/api/pos-ui-extensions/2024-04/targets/smart-grid/pos-home-modal-render.txt): A full-screen extension target that renders when a `pos.home.tile.render` target calls for it - [pos.home.tile.render](https://shopify.dev/docs/api/pos-ui-extensions/2024-04/targets/smart-grid/pos-home-tile-render.txt): A static extension target that renders as a smart grid tile - [pos.purchase.post.action.menu-item.render](https://shopify.dev/docs/api/pos-ui-extensions/2024-04/targets/post-purchase/pos-purchase-post-action-menu-item-render.txt): A static extension target that renders as a menu item on the post-purchase screen - [pos.purchase.post.action.render](https://shopify.dev/docs/api/pos-ui-extensions/2024-04/targets/post-purchase/pos-purchase-post-action-render.txt): A full-screen extension target that renders when a `pos.purchase.post.action.menu-item.render` target calls for it - [Action API](https://shopify.dev/docs/api/pos-ui-extensions/2024-07/apis/action-api.txt): The Action API allows an action extension to modally present its corresponding modal target. ### Supporting targets - [pos.home.tile.render](/docs/api/pos-ui-extensions/targets/smart-grid/pos-home-tile-render) - [pos.purchase.post.action.menu-item.render](/docs/api/pos-ui-extensions/targets/post-purchase/pos-purchase-post-action-menu-item-render) - [pos.order-details.action.menu-item.render](/docs/api/pos-ui-extensions/targets/order-details/pos-order-details-action-menu-item-render) - [pos.product-details.action.menu-item.render](/docs/api/pos-ui-extensions/targets/product-details/pos-product-details-action-menu-item-render) - [pos.customer-details.action.menu-item.render](/docs/api/pos-ui-extensions/targets/customer-details/pos-customer-details-action-menu-item-render) - [pos.draft-order-details.action.menu-item.render](/docs/api/pos-ui-extensions/targets/draft-order-details/pos-draft-order-details-action-menu-item-render) - [Cart API](https://shopify.dev/docs/api/pos-ui-extensions/2024-07/apis/cart-api.txt): The Cart API enables UI Extensions to manage and interact with POS cart contents, such as discounts, line items, and customer details. It provides a comprehensive set of functions for adding and removing items, alongside a subscribable object that keeps the UI Extension updated with real-time changes to the cart. ### Supporting targets - [pos.home.tile.render](/docs/api/pos-ui-extensions/targets/smart-grid/pos-home-tile-render) - [pos.home.modal.render](/docs/api/pos-ui-extensions/targets/smart-grid/pos-home-modal-render) - [pos.product-details.action.menu-item.render](/docs/api/pos-ui-extensions/targets/product-details/pos-product-details-action-menu-item-render) - [pos.product-details.action.render](/docs/api/pos-ui-extensions/targets/product-details/pos-product-details-action-render) - [pos.customer-details.action.menu-item.render](/docs/api/pos-ui-extensions/targets/customer-details/pos-customer-details-action-menu-item-render) - [pos.customer-details.action.render](/docs/api/pos-ui-extensions/targets/customer-details/pos-customer-details-action-render) - [pos.order-details.action.menu-item.render](/docs/api/pos-ui-extensions/targets/order-details/pos-order-details-action-menu-item-render) - [pos.order-details.action.render](/docs/api/pos-ui-extensions/targets/order-details/pos-order-details-action-render) - [pos.draft-order-details.action.menu-item.render](/docs/api/pos-ui-extensions/targets/draft-order-details/pos-draft-order-details-action-menu-item-render) - [pos.draft-order-details.action.render](/docs/api/pos-ui-extensions/targets/draft-order-details/pos-draft-order-details-action-render) - [Connectivity API](https://shopify.dev/docs/api/pos-ui-extensions/2024-07/apis/connectivity-api.txt): The Connectivity API enables POS UI extensions to retrieve device connectivity information, such as whether the device has an internet connection. - [Customer API](https://shopify.dev/docs/api/pos-ui-extensions/2024-07/apis/customer-api.txt): The customer API provides an extension with data about the current customer. ### Supporting targets - [pos.customer-details.action.menu-item.render](/docs/api/pos-ui-extensions/targets/customer-details/pos-customer-details-action-menu-item-render) - [pos.customer-details.action.render](/docs/api/pos-ui-extensions/targets/customer-details/pos-customer-details-action-render) - [Device API](https://shopify.dev/docs/api/pos-ui-extensions/2024-07/apis/device-api.txt): The Device API allows the UI Extension to retrieve device information including the device name and ID. - [Draft Order API](https://shopify.dev/docs/api/pos-ui-extensions/2024-07/apis/draft-order-api.txt): The Draft Order API provides an extension with data about the current draft order. ### Supporting targets - [pos.draft-order-details.action.menu-item.render](/docs/api/pos-ui-extensions/targets/draft-order-details/pos-draft-order-details-action-menu-item-render) - [pos.draft-order-details.action.render](/docs/api/pos-ui-extensions/targets/draft-order-details/pos-draft-order-details-action-render) - [Locale API](https://shopify.dev/docs/api/pos-ui-extensions/2024-07/apis/locale-api.txt): The Locale API allows the extension to retrieve the merchant's locale. - [Navigation API](https://shopify.dev/docs/api/pos-ui-extensions/2024-07/apis/navigation-api.txt): The Navigation API enables POS UI extension to navigate between screens. ### Supporting targets - [pos.home.modal.render](/docs/api/pos-ui-extensions/targets/smart-grid/pos-home-modal-render) - [pos.purchase.post.action.render](/docs/api/pos-ui-extensions/targets/post-purchase/pos-purchase-post-action-render) - [pos.product-details.action.render](/docs/api/pos-ui-extensions/targets/product-details/pos-product-details-action-render) - [pos.order-details.action.render](/docs/api/pos-ui-extensions/targets/order-details/pos-order-details-action-render) - [pos.draft-order-details.action.render](/docs/api/pos-ui-extensions/targets/draft-order-details/pos-draft-order-details-action-render) - [pos.customer-details.action.menu-item.render](/docs/api/pos-ui-extensions/targets/customer-details/pos-customer-details-action-menu-item-render) - [Order API](https://shopify.dev/docs/api/pos-ui-extensions/2024-07/apis/order-api.txt): The Order API provides an extension with data about the current order. ### Supporting targets - [pos.purchase.post.action.menu-item.render](/docs/api/pos-ui-extensions/targets/post-purchase/pos-purchase-post-action-menu-item-render) - [pos.purchase.post.action.render](/docs/api/pos-ui-extensions/targets/post-purchase/pos-purchase-post-action-render) - [pos.order-details.action.menu-item.render](/docs/api/pos-ui-extensions/targets/order-details/pos-order-details-action-menu-item-render) - [pos.order-details.action.render](/docs/api/pos-ui-extensions/targets/order-details/pos-order-details-action-render) - [Product API](https://shopify.dev/docs/api/pos-ui-extensions/2024-07/apis/product-api.txt): The Product API provides an extension with data about the current Product. ### Supporting targets - [pos.product-details.action.menu-item.render](/docs/api/pos-ui-extensions/targets/product-details/pos-product-details-action-menu-item-render) - [pos.product-details.action.render](/docs/api/pos-ui-extensions/targets/product-details/pos-product-details-action-render) - [ProductSearch API](https://shopify.dev/docs/api/pos-ui-extensions/2024-07/apis/productsearch-api.txt): The ProductSearch API gives extensions access to the native product search and fetching functionality of Shopify POS. The interface provides numerous functions to search for products by query, or to fetch the details of one or more products or product variants. - [Scanner API](https://shopify.dev/docs/api/pos-ui-extensions/2024-07/apis/scanner-api.txt): The Scanner API enables an extension to access scanner data and available scanning sources supported by the device. ### Supporting targets - [pos.home.modal.render](/docs/api/pos-ui-extensions/targets/smart-grid/pos-home-modal-render) - [pos.purchase.post.action.render](/docs/api/pos-ui-extensions/targets/post-purchase/pos-purchase-post-action-render) - [pos.product-details.action.render](/docs/api/pos-ui-extensions/targets/product-details/pos-product-details-action-render) - [pos.order-details.action.render](/docs/api/pos-ui-extensions/targets/order-details/pos-order-details-action-render) - [pos.draft-order-details.action.render](/docs/api/pos-ui-extensions/targets/draft-order-details/pos-draft-order-details-action-render) - [pos.customer-details.action.menu-item.render](/docs/api/pos-ui-extensions/targets/customer-details/pos-customer-details-action-menu-item-render) - [Session API](https://shopify.dev/docs/api/pos-ui-extensions/2024-07/apis/session-api.txt): The Session API contains the information about the current user session, and allows to fetch a fresh session token for communication with your apps backend service. - [Toast API](https://shopify.dev/docs/api/pos-ui-extensions/2024-07/apis/toast-api.txt): The Toast API allows the display of a Toast component. - [ActionItem](https://shopify.dev/docs/api/pos-ui-extensions/2024-07/components/actionitem.txt): The `ActionItem` provides a tappable surface on the specified extension target as an entry point to an extension. Note that the text displayed on this `ActionItem` is dependent on the description of the extension. - [Badge](https://shopify.dev/docs/api/pos-ui-extensions/2024-07/components/badge.txt): Badges are used to inform merchants of the status of an item or action that’s been taken. - [Banner](https://shopify.dev/docs/api/pos-ui-extensions/2024-07/components/banner.txt): A banner informs merchants about important changes or persistent conditions. Use if you need to communicate to merchants in a prominent way, without blocking other actions. - [Button](https://shopify.dev/docs/api/pos-ui-extensions/2024-07/components/button.txt): Buttons enable the merchant to initiate actions, like "add", "save", or "next". - [CameraScanner](https://shopify.dev/docs/api/pos-ui-extensions/2024-07/components/camerascanner.txt): The camera scanner uses the devices camera to scan and decode barcodes or QR codes. It displays a live feed with guidance markers for alignment and triggers actions within the app upon successful recognition. - [DateField](https://shopify.dev/docs/api/pos-ui-extensions/2024-07/components/datefield.txt): A component that enables users to open a dialog and select a date through a text input. - [DatePicker](https://shopify.dev/docs/api/pos-ui-extensions/2024-07/components/datepicker.txt): A component used to select a date through a dialog. - [Dialog](https://shopify.dev/docs/api/pos-ui-extensions/2024-07/components/dialog.txt): A dialog is a high-priority, intentionally disruptive message that requires action from the merchant before they can continue using POS. - [EmailField](https://shopify.dev/docs/api/pos-ui-extensions/2024-07/components/emailfield.txt): Use an email field to conveniently and accurately capture merchant email addresses. - [FormattedTextField](https://shopify.dev/docs/api/pos-ui-extensions/2024-07/components/formattedtextfield.txt): Use a formatted text field when you require additional functionality such as the text field input type or a custom validator. - [Icon](https://shopify.dev/docs/api/pos-ui-extensions/2024-07/components/icon.txt): A component that renders an icon from the POS asset catalog. - [Image](https://shopify.dev/docs/api/pos-ui-extensions/2024-07/components/image.txt): The image component displays an image to a merchant in Shopify POS. - [List](https://shopify.dev/docs/api/pos-ui-extensions/2024-07/components/list.txt): The list is a scrollable component in which the list rows are rendered. - [Navigator](https://shopify.dev/docs/api/pos-ui-extensions/2024-07/components/navigator.txt): A component used to navigate between different screens. - [NumberField](https://shopify.dev/docs/api/pos-ui-extensions/2024-07/components/numberfield.txt): Use a number field to conveniently and accurately capture numerical values. - [PinPad](https://shopify.dev/docs/api/pos-ui-extensions/2024-07/components/pinpad.txt): A component used to authenticate or identify individuals through a standarized number pad. - [RadioButtonList](https://shopify.dev/docs/api/pos-ui-extensions/2024-07/components/radiobuttonlist.txt): A radio button list lets merchants select from a given set of options. - [Screen](https://shopify.dev/docs/api/pos-ui-extensions/2024-07/components/screen.txt): A component used in the root of a modal extension to define a screen. - [ScrollView](https://shopify.dev/docs/api/pos-ui-extensions/2024-07/components/scrollview.txt): The ScrollView component allows content that doesn’t fully fit on screen to scroll. Typically, the ScrollView component serves as the root component of a Screen. - [SearchBar](https://shopify.dev/docs/api/pos-ui-extensions/2024-07/components/searchbar.txt): The search bar lets merchants enter search queries for objects throughout the app. - [Section](https://shopify.dev/docs/api/pos-ui-extensions/2024-07/components/section.txt): A component used to group other components together in a card-like UI. Usually, sections will be used inside a ScrollView. - [SegmentedControl](https://shopify.dev/docs/api/pos-ui-extensions/2024-07/components/segmentedcontrol.txt): The segmented control lets the merchant easily switch between different lists or views on the same page. - [Selectable](https://shopify.dev/docs/api/pos-ui-extensions/2024-07/components/selectable.txt): The selectable component allows you to wrap any non-interactive UI component to make it selectable. - [Spacing](https://shopify.dev/docs/api/pos-ui-extensions/2024-07/components/spacing.txt): Set of spacing constants to be used in the UI Extensions components library. - [Stack](https://shopify.dev/docs/api/pos-ui-extensions/2024-07/components/stack.txt): A container for other components that allows them to be stacked horizontally or vertically. When building complex UIs, this will be your primary building block. - [Stepper](https://shopify.dev/docs/api/pos-ui-extensions/2024-07/components/stepper.txt): A component used for increasing or decreasing quantities. - [Text](https://shopify.dev/docs/api/pos-ui-extensions/2024-07/components/text.txt): Text can be rendered in different sizes and colors in order to structure content. - [TextArea](https://shopify.dev/docs/api/pos-ui-extensions/2024-07/components/textarea.txt): Use a text input to allow merchants to input or modify multiline text. - [TextField](https://shopify.dev/docs/api/pos-ui-extensions/2024-07/components/textfield.txt): Use a text field to allow merchants to enter or edit text. If you want to specify the kind of input, then use a formatted text field. - [Tile](https://shopify.dev/docs/api/pos-ui-extensions/2024-07/components/tile.txt): Tiles are customizable buttons that allow staff to complete actions quickly. Think of them as shortcuts--adding a 10% discount to an order, for example. Tiles provide contextual information and let merchants quickly access workflows, actions, and information from the smart grid and the top of detail pages. They’re dynamic and can change based on surrounding context, such as what’s in the cart. - [TimeField](https://shopify.dev/docs/api/pos-ui-extensions/2024-07/components/timefield.txt): A component that enables users to open a dialog and select a time through a text input. - [TimePicker](https://shopify.dev/docs/api/pos-ui-extensions/2024-07/components/timepicker.txt): A component used to select a time through a dialog. - [pos.customer-details.action.menu-item.render](https://shopify.dev/docs/api/pos-ui-extensions/2024-07/targets/customer-details/pos-customer-details-action-menu-item-render.txt): A static extension target that renders as a menu item on the customer details screen - [pos.customer-details.action.render](https://shopify.dev/docs/api/pos-ui-extensions/2024-07/targets/customer-details/pos-customer-details-action-render.txt): A full-screen extension target that renders when a `pos.customer-details.action.menu-item.render` target calls for it - [pos.draft-order-details.action.menu-item.render](https://shopify.dev/docs/api/pos-ui-extensions/2024-07/targets/draft-order-details/pos-draft-order-details-action-menu-item-render.txt): A static extension target that renders as a menu item on the draft order details screen - [pos.draft-order-details.action.render](https://shopify.dev/docs/api/pos-ui-extensions/2024-07/targets/draft-order-details/pos-draft-order-details-action-render.txt): A full-screen extension target that renders when a `pos.draft-order-details.action.render` target calls for it - [pos.home.modal.render](https://shopify.dev/docs/api/pos-ui-extensions/2024-07/targets/smart-grid/pos-home-modal-render.txt): A full-screen extension target that renders when a `pos.home.tile.render` target calls for it - [pos.home.tile.render](https://shopify.dev/docs/api/pos-ui-extensions/2024-07/targets/smart-grid/pos-home-tile-render.txt): A static extension target that renders as a smart grid tile - [pos.order-details.action.menu-item.render](https://shopify.dev/docs/api/pos-ui-extensions/2024-07/targets/order-details/pos-order-details-action-menu-item-render.txt): A static extension target that renders as a menu item on the order details screen - [pos.order-details.action.render](https://shopify.dev/docs/api/pos-ui-extensions/2024-07/targets/order-details/pos-order-details-action-render.txt): A full-screen extension target that renders when a `pos.order-details.action.menu-item.render` target calls for it - [pos.product-details.action.menu-item.render](https://shopify.dev/docs/api/pos-ui-extensions/2024-07/targets/product-details/pos-product-details-action-menu-item-render.txt): A static extension target that renders as a menu item on the product details screen - [pos.product-details.action.render](https://shopify.dev/docs/api/pos-ui-extensions/2024-07/targets/product-details/pos-product-details-action-render.txt): A full-screen extension target that renders when a `pos.product-details.action.menu-item.render` target calls for it - [pos.purchase.post.action.menu-item.render](https://shopify.dev/docs/api/pos-ui-extensions/2024-07/targets/post-purchase/pos-purchase-post-action-menu-item-render.txt): A static extension target that renders as a menu item on the post-purchase screen - [pos.purchase.post.action.render](https://shopify.dev/docs/api/pos-ui-extensions/2024-07/targets/post-purchase/pos-purchase-post-action-render.txt): A full-screen extension target that renders when a `pos.purchase.post.action.menu-item.render` target calls for it - [Action API](https://shopify.dev/docs/api/pos-ui-extensions/2024-10/apis/action-api.txt): The Action API allows an action extension to modally present its corresponding modal target. #### Supporting targets - [pos.home.tile.render](/docs/api/pos-ui-extensions/targets/smart-grid/pos-home-tile-render) - [pos.purchase.post.action.menu-item.render](/docs/api/pos-ui-extensions/targets/post-purchase/pos-purchase-post-action-menu-item-render) - [pos.purchase.post.block.render](/docs/api/pos-ui-extensions/targets/post-purchase/pos-purchase-post-block-render) - [pos.order-details.action.menu-item.render](/docs/api/pos-ui-extensions/targets/order-details/pos-order-details-action-menu-item-render) - [pos.order-details.block.render](/docs/api/pos-ui-extensions/targets/order-details/pos-order-details-block-render) - [pos.product-details.action.menu-item.render](/docs/api/pos-ui-extensions/targets/product-details/pos-product-details-action-menu-item-render) - [pos.customer-details.action.menu-item.render](/docs/api/pos-ui-extensions/targets/customer-details/pos-customer-details-action-menu-item-render) - [pos.customer-details.block.render](/docs/api/pos-ui-extensions/targets/customer-details/pos-customer-details-block-render) - [pos.draft-order-details.action.menu-item.render](/docs/api/pos-ui-extensions/targets/draft-order-details/pos-draft-order-details-action-menu-item-render) - [pos.draft-order-details.action.render](/docs/api/pos-ui-extensions/targets/draft-order-details/pos-draft-order-details-block-render) - [Cart API](https://shopify.dev/docs/api/pos-ui-extensions/2024-10/apis/cart-api.txt): The Cart API enables UI Extensions to manage and interact with POS cart contents, such as discounts, line items, and customer details. It provides a comprehensive set of functions for adding and removing items, alongside a subscribable object that keeps the UI Extension updated with real-time changes to the cart. #### Supporting targets - [pos.home.tile.render](/docs/api/pos-ui-extensions/targets/smart-grid/pos-home-tile-render) - [pos.home.modal.render](/docs/api/pos-ui-extensions/targets/smart-grid/pos-home-modal-render) - [pos.product-details.action.menu-item.render](/docs/api/pos-ui-extensions/targets/product-details/pos-product-details-action-menu-item-render) - [pos.product-details.action.render](/docs/api/pos-ui-extensions/targets/product-details/pos-product-details-action-render) - [pos.customer-details.action.menu-item.render](/docs/api/pos-ui-extensions/targets/customer-details/pos-customer-details-action-menu-item-render) - [pos.customer-details.action.render](/docs/api/pos-ui-extensions/targets/customer-details/pos-customer-details-action-render) - [pos.customer-details.block.render](/docs/api/pos-ui-extensions/targets/customer-details/pos-customer-details-block-render) - [pos.order-details.action.menu-item.render](/docs/api/pos-ui-extensions/targets/order-details/pos-order-details-action-menu-item-render) - [pos.order-details.action.render](/docs/api/pos-ui-extensions/targets/order-details/pos-order-details-action-render) - [pos.order-details.block.render](/docs/api/pos-ui-extensions/targets/order-details/pos-order-details-block-render) - [pos.draft-order-details.action.menu-item.render](/docs/api/pos-ui-extensions/targets/draft-order-details/pos-draft-order-details-action-menu-item-render) - [pos.draft-order-details.action.render](/docs/api/pos-ui-extensions/targets/draft-order-details/pos-draft-order-details-action-render) - [pos.draft-order-details.action.render](/docs/api/pos-ui-extensions/targets/draft-order-details/pos-draft-order-details-block-render) - [Connectivity API](https://shopify.dev/docs/api/pos-ui-extensions/2024-10/apis/connectivity-api.txt): The Connectivity API enables POS UI extensions to retrieve device connectivity information, such as whether the device has an internet connection. - [Customer API](https://shopify.dev/docs/api/pos-ui-extensions/2024-10/apis/customer-api.txt): The customer API provides an extension with data about the current customer. #### Supporting targets - [pos.customer-details.action.menu-item.render](/docs/api/pos-ui-extensions/targets/customer-details/pos-customer-details-action-menu-item-render) - [pos.customer-details.action.render](/docs/api/pos-ui-extensions/targets/customer-details/pos-customer-details-action-render) - [pos.customer-details.block.render](/docs/api/pos-ui-extensions/targets/customer-details/pos-customer-details-block-render) - [Device API](https://shopify.dev/docs/api/pos-ui-extensions/2024-10/apis/device-api.txt): The Device API allows the UI Extension to retrieve device information including the device name and ID. - [Draft Order API](https://shopify.dev/docs/api/pos-ui-extensions/2024-10/apis/draft-order-api.txt): The Draft Order API provides an extension with data about the current draft order. #### Supporting targets - [pos.draft-order-details.action.menu-item.render](/docs/api/pos-ui-extensions/targets/draft-order-details/pos-draft-order-details-action-menu-item-render) - [pos.draft-order-details.action.render](/docs/api/pos-ui-extensions/targets/draft-order-details/pos-draft-order-details-action-render) - [pos.draft-order-details.action.render](/docs/api/pos-ui-extensions/targets/draft-order-details/pos-draft-order-details-block-render) - [Locale API](https://shopify.dev/docs/api/pos-ui-extensions/2024-10/apis/locale-api.txt): The Locale API allows the extension to retrieve the merchant's locale. - [Navigation API](https://shopify.dev/docs/api/pos-ui-extensions/2024-10/apis/navigation-api.txt): The Navigation API enables POS UI extension to navigate between screens. #### Supporting targets - [pos.home.modal.render](/docs/api/pos-ui-extensions/targets/smart-grid/pos-home-modal-render) - [pos.purchase.post.action.render](/docs/api/pos-ui-extensions/targets/post-purchase/pos-purchase-post-action-render) - [pos.product-details.action.render](/docs/api/pos-ui-extensions/targets/product-details/pos-product-details-action-render) - [pos.order-details.action.render](/docs/api/pos-ui-extensions/targets/order-details/pos-order-details-action-render) - [pos.draft-order-details.action.render](/docs/api/pos-ui-extensions/targets/draft-order-details/pos-draft-order-details-action-render) - [pos.customer-details.action.render](/docs/api/pos-ui-extensions/targets/customer-details/pos-customer-details-action-render) - [Order API](https://shopify.dev/docs/api/pos-ui-extensions/2024-10/apis/order-api.txt): The Order API provides an extension with data about the current order. #### Supporting targets - [pos.purchase.post.action.menu-item.render](/docs/api/pos-ui-extensions/targets/post-purchase/pos-purchase-post-action-menu-item-render) - [pos.purchase.post.action.render](/docs/api/pos-ui-extensions/targets/post-purchase/pos-purchase-post-action-render) - [pos.purchase.post.block.render](/docs/api/pos-ui-extensions/targets/post-purchase/pos-purchase-post-block-render) - [pos.order-details.action.menu-item.render](/docs/api/pos-ui-extensions/targets/order-details/pos-order-details-action-menu-item-render) - [pos.order-details.action.render](/docs/api/pos-ui-extensions/targets/order-details/pos-order-details-action-render) - [pos.order-details.block.render](/docs/api/pos-ui-extensions/targets/order-details/pos-order-details-block-render) - [Product API](https://shopify.dev/docs/api/pos-ui-extensions/2024-10/apis/product-api.txt): The Product API provides an extension with data about the current Product. #### Supporting targets - [pos.product-details.action.menu-item.render](/docs/api/pos-ui-extensions/targets/product-details/pos-product-details-action-menu-item-render) - [pos.product-details.action.render](/docs/api/pos-ui-extensions/targets/product-details/pos-product-details-action-render) - [ProductSearch API](https://shopify.dev/docs/api/pos-ui-extensions/2024-10/apis/productsearch-api.txt): The ProductSearch API gives extensions access to the native product search and fetching functionality of Shopify POS. The interface provides numerous functions to search for products by query, or to fetch the details of one or more products or product variants. - [Scanner API](https://shopify.dev/docs/api/pos-ui-extensions/2024-10/apis/scanner-api.txt): The Scanner API enables an extension to access scanner data and available scanning sources supported by the device. #### Supporting targets - [pos.home.modal.render](/docs/api/pos-ui-extensions/targets/smart-grid/pos-home-modal-render) - [pos.purchase.post.action.render](/docs/api/pos-ui-extensions/targets/post-purchase/pos-purchase-post-action-render) - [pos.product-details.action.render](/docs/api/pos-ui-extensions/targets/product-details/pos-product-details-action-render) - [pos.order-details.action.render](/docs/api/pos-ui-extensions/targets/order-details/pos-order-details-action-render) - [pos.draft-order-details.action.render](/docs/api/pos-ui-extensions/targets/draft-order-details/pos-draft-order-details-action-render) - [pos.customer-details.action.menu-item.render](/docs/api/pos-ui-extensions/targets/customer-details/pos-customer-details-action-menu-item-render) - [Session API](https://shopify.dev/docs/api/pos-ui-extensions/2024-10/apis/session-api.txt): The Session API contains the information about the current user session, and allows to fetch a fresh session token for communication with your apps backend service. - [Toast API](https://shopify.dev/docs/api/pos-ui-extensions/2024-10/apis/toast-api.txt): The Toast API allows the display of a Toast component. - [ActionItem](https://shopify.dev/docs/api/pos-ui-extensions/2024-10/components/actionitem.txt): ActionItem has been deprecated. Please use the [Button Component](/docs/api/pos-ui-extensions/components/) instead. The ActionItem provides a tappable surface on the specified extension target as an entry point to an extension. Note that the text displayed on this 'ActionItem' is dependent on the description of the extension. - [Badge](https://shopify.dev/docs/api/pos-ui-extensions/2024-10/components/badge.txt): Badges are used to inform merchants of the status of an item or action that’s been taken. - [Banner](https://shopify.dev/docs/api/pos-ui-extensions/2024-10/components/banner.txt): A banner informs merchants about important changes or persistent conditions. Use if you need to communicate to merchants in a prominent way, without blocking other actions. - [Button](https://shopify.dev/docs/api/pos-ui-extensions/2024-10/components/button.txt): Buttons enable the merchant to initiate actions, like "add", "save", or "next". - [CameraScanner](https://shopify.dev/docs/api/pos-ui-extensions/2024-10/components/camerascanner.txt): The camera scanner uses the devices camera to scan and decode barcodes or QR codes. It displays a live feed with guidance markers for alignment and triggers actions within the app upon successful recognition. - [DateField](https://shopify.dev/docs/api/pos-ui-extensions/2024-10/components/datefield.txt): A component that enables users to open a dialog and select a date through a text input. - [DatePicker](https://shopify.dev/docs/api/pos-ui-extensions/2024-10/components/datepicker.txt): A component used to select a date through a dialog. - [Dialog](https://shopify.dev/docs/api/pos-ui-extensions/2024-10/components/dialog.txt): A dialog is a high-priority, intentionally disruptive message that requires action from the merchant before they can continue using POS. - [EmailField](https://shopify.dev/docs/api/pos-ui-extensions/2024-10/components/emailfield.txt): Use an email field to conveniently and accurately capture merchant email addresses. - [FormattedTextField](https://shopify.dev/docs/api/pos-ui-extensions/2024-10/components/formattedtextfield.txt): Use a formatted text field when you require additional functionality such as the text field input type or a custom validator. - [Icon](https://shopify.dev/docs/api/pos-ui-extensions/2024-10/components/icon.txt): A component that renders an icon from the POS asset catalog. - [Image](https://shopify.dev/docs/api/pos-ui-extensions/2024-10/components/image.txt): The image component displays an image to a merchant in Shopify POS. - [List](https://shopify.dev/docs/api/pos-ui-extensions/2024-10/components/list.txt): The list is a scrollable component in which the list rows are rendered. - [Navigator](https://shopify.dev/docs/api/pos-ui-extensions/2024-10/components/navigator.txt): A component used to navigate between different screens. - [NumberField](https://shopify.dev/docs/api/pos-ui-extensions/2024-10/components/numberfield.txt): Use a number field to conveniently and accurately capture numerical values. - [POSBlock](https://shopify.dev/docs/api/pos-ui-extensions/2024-10/components/posblock.txt): The `POSBlock` provides a surface on the specified extension target as an entry point to an extension. Note that the title displayed on this `POSBlock` is dependent on the description of the extension. - [POSBlockRow](https://shopify.dev/docs/api/pos-ui-extensions/2024-10/components/posblockrow.txt): Renders a `POSBlockRow` in a `POSBlock`. - [PinPad](https://shopify.dev/docs/api/pos-ui-extensions/2024-10/components/pinpad.txt): A component used to authenticate or identify individuals through a standarized number pad. - [RadioButtonList](https://shopify.dev/docs/api/pos-ui-extensions/2024-10/components/radiobuttonlist.txt): A radio button list lets merchants select from a given set of options. - [Screen](https://shopify.dev/docs/api/pos-ui-extensions/2024-10/components/screen.txt): A component used in the root of a modal extension to define a screen. - [ScrollView](https://shopify.dev/docs/api/pos-ui-extensions/2024-10/components/scrollview.txt): The ScrollView component allows content that doesn’t fully fit on screen to scroll. Typically, the ScrollView component serves as the root component of a Screen. - [SearchBar](https://shopify.dev/docs/api/pos-ui-extensions/2024-10/components/searchbar.txt): The search bar lets merchants enter search queries for objects throughout the app. - [Section](https://shopify.dev/docs/api/pos-ui-extensions/2024-10/components/section.txt): A component used to group other components together in a card-like UI. Usually, sections will be used inside a ScrollView. - [SectionHeader](https://shopify.dev/docs/api/pos-ui-extensions/2024-10/components/sectionheader.txt): A heading style text component with an optional divider line to structure content. - [SegmentedControl](https://shopify.dev/docs/api/pos-ui-extensions/2024-10/components/segmentedcontrol.txt): The segmented control lets the merchant easily switch between different lists or views on the same page. - [Selectable](https://shopify.dev/docs/api/pos-ui-extensions/2024-10/components/selectable.txt): The selectable component allows you to wrap any non-interactive UI component to make it selectable. - [Spacing](https://shopify.dev/docs/api/pos-ui-extensions/2024-10/components/spacing.txt): Set of spacing constants to be used in the UI Extensions components library. - [Stack](https://shopify.dev/docs/api/pos-ui-extensions/2024-10/components/stack.txt): A container for other components that allows them to be stacked horizontally or vertically. When building complex UIs, this will be your primary building block. - [Stepper](https://shopify.dev/docs/api/pos-ui-extensions/2024-10/components/stepper.txt): A component used for increasing or decreasing quantities. - [Text](https://shopify.dev/docs/api/pos-ui-extensions/2024-10/components/text.txt): Text can be rendered in different sizes and colors in order to structure content. - [TextArea](https://shopify.dev/docs/api/pos-ui-extensions/2024-10/components/textarea.txt): Use a text input to allow merchants to input or modify multiline text. - [TextField](https://shopify.dev/docs/api/pos-ui-extensions/2024-10/components/textfield.txt): Use a text field to allow merchants to enter or edit text. If you want to specify the kind of input, then use a formatted text field. - [Tile](https://shopify.dev/docs/api/pos-ui-extensions/2024-10/components/tile.txt): Tiles are customizable buttons that allow staff to complete actions quickly. Think of them as shortcuts--adding a 10% discount to an order, for example. Tiles provide contextual information and let merchants quickly access workflows, actions, and information from the smart grid and the top of detail pages. They’re dynamic and can change based on surrounding context, such as what’s in the cart. - [TimeField](https://shopify.dev/docs/api/pos-ui-extensions/2024-10/components/timefield.txt): A component that enables users to open a dialog and select a time through a text input. - [TimePicker](https://shopify.dev/docs/api/pos-ui-extensions/2024-10/components/timepicker.txt): A component used to select a time through a dialog. - [pos.customer-details.action.menu-item.render](https://shopify.dev/docs/api/pos-ui-extensions/2024-10/targets/customer-details/pos-customer-details-action-menu-item-render.txt): A static extension target that renders as a menu item on the customer details screen - [pos.customer-details.action.render](https://shopify.dev/docs/api/pos-ui-extensions/2024-10/targets/customer-details/pos-customer-details-action-render.txt): A full-screen extension target that renders when a `pos.customer-details.action.menu-item.render` target calls for it - [pos.customer-details.block.render](https://shopify.dev/docs/api/pos-ui-extensions/2024-10/targets/customer-details/pos-customer-details-block-render.txt): Renders a custom section within customer details screen - [pos.draft-order-details.action.menu-item.render](https://shopify.dev/docs/api/pos-ui-extensions/2024-10/targets/draft-order-details/pos-draft-order-details-action-menu-item-render.txt): A static extension target that renders as a menu item on the draft order details screen - [pos.draft-order-details.action.render](https://shopify.dev/docs/api/pos-ui-extensions/2024-10/targets/draft-order-details/pos-draft-order-details-action-render.txt): A full-screen extension target that renders when a `pos.draft-order-details.action.render` target calls for it - [pos.draft-order-details.block.render](https://shopify.dev/docs/api/pos-ui-extensions/2024-10/targets/draft-order-details/pos-draft-order-details-block-render.txt): Renders a custom section within the native draft order details screen - [pos.home.modal.render](https://shopify.dev/docs/api/pos-ui-extensions/2024-10/targets/smart-grid/pos-home-modal-render.txt): A full-screen extension target that renders when a `pos.home.tile.render` target calls for it - [pos.home.tile.render](https://shopify.dev/docs/api/pos-ui-extensions/2024-10/targets/smart-grid/pos-home-tile-render.txt): A static extension target that renders as a smart grid tile - [pos.order-details.action.menu-item.render](https://shopify.dev/docs/api/pos-ui-extensions/2024-10/targets/order-details/pos-order-details-action-menu-item-render.txt): A static extension target that renders as a menu item on the order details screen - [pos.order-details.action.render](https://shopify.dev/docs/api/pos-ui-extensions/2024-10/targets/order-details/pos-order-details-action-render.txt): A full-screen extension target that renders when a `pos.order-details.action.menu-item.render` target calls for it - [pos.order-details.block.render](https://shopify.dev/docs/api/pos-ui-extensions/2024-10/targets/order-details/pos-order-details-block-render.txt): Renders a custom section within the native order details screen - [pos.product-details.action.menu-item.render](https://shopify.dev/docs/api/pos-ui-extensions/2024-10/targets/product-details/pos-product-details-action-menu-item-render.txt): A static extension target that renders as a menu item on the product details screen - [pos.product-details.action.render](https://shopify.dev/docs/api/pos-ui-extensions/2024-10/targets/product-details/pos-product-details-action-render.txt): A full-screen extension target that renders when a `pos.product-details.action.menu-item.render` target calls for it - [pos.product-details.block.render](https://shopify.dev/docs/api/pos-ui-extensions/2024-10/targets/product-details/pos-product-details-block-render.txt): Renders a custom section within the product details screen - [pos.purchase.post.action.menu-item.render](https://shopify.dev/docs/api/pos-ui-extensions/2024-10/targets/post-purchase/pos-purchase-post-action-menu-item-render.txt): A static extension target that renders as a menu item on the post-purchase screen - [pos.purchase.post.action.render](https://shopify.dev/docs/api/pos-ui-extensions/2024-10/targets/post-purchase/pos-purchase-post-action-render.txt): A full-screen extension target that renders when a `pos.purchase.post.action.menu-item.render` target calls for it - [pos.purchase.post.block.render](https://shopify.dev/docs/api/pos-ui-extensions/2024-10/targets/post-purchase/pos-purchase-post-block-render.txt): Renders a custom section within the native post purchase screen - [Action API](https://shopify.dev/docs/api/pos-ui-extensions/2025-01/apis/action-api.txt): The Action API allows an action extension to modally present its corresponding modal target. #### Supporting targets - [pos.home.tile.render](/docs/api/pos-ui-extensions/targets/smart-grid/pos-home-tile-render) - [pos.purchase.post.action.menu-item.render](/docs/api/pos-ui-extensions/targets/post-purchase/pos-purchase-post-action-menu-item-render) - [pos.purchase.post.block.render](/docs/api/pos-ui-extensions/targets/post-purchase/pos-purchase-post-block-render) - [pos.order-details.action.menu-item.render](/docs/api/pos-ui-extensions/targets/order-details/pos-order-details-action-menu-item-render) - [pos.order-details.block.render](/docs/api/pos-ui-extensions/targets/order-details/pos-order-details-block-render) - [pos.product-details.action.menu-item.render](/docs/api/pos-ui-extensions/targets/product-details/pos-product-details-action-menu-item-render) - [pos.customer-details.action.menu-item.render](/docs/api/pos-ui-extensions/targets/customer-details/pos-customer-details-action-menu-item-render) - [pos.customer-details.block.render](/docs/api/pos-ui-extensions/targets/customer-details/pos-customer-details-block-render) - [pos.draft-order-details.action.menu-item.render](/docs/api/pos-ui-extensions/targets/draft-order-details/pos-draft-order-details-action-menu-item-render) - [pos.draft-order-details.block.render](/docs/api/pos-ui-extensions/targets/draft-order-details/pos-draft-order-details-block-render) - [Cart API](https://shopify.dev/docs/api/pos-ui-extensions/2025-01/apis/cart-api.txt): The Cart API enables UI Extensions to manage and interact with POS cart contents, such as discounts, line items, and customer details. It provides a comprehensive set of functions for adding and removing items, alongside a subscribable object that keeps the UI Extension updated with real-time changes to the cart. #### Supporting targets - [pos.home.tile.render](/docs/api/pos-ui-extensions/targets/smart-grid/pos-home-tile-render) - [pos.home.modal.render](/docs/api/pos-ui-extensions/targets/smart-grid/pos-home-modal-render) - [pos.product-details.action.menu-item.render](/docs/api/pos-ui-extensions/targets/product-details/pos-product-details-action-menu-item-render) - [pos.product-details.action.render](/docs/api/pos-ui-extensions/targets/product-details/pos-product-details-action-render) - [pos.customer-details.action.menu-item.render](/docs/api/pos-ui-extensions/targets/customer-details/pos-customer-details-action-menu-item-render) - [pos.customer-details.action.render](/docs/api/pos-ui-extensions/targets/customer-details/pos-customer-details-action-render) - [pos.customer-details.block.render](/docs/api/pos-ui-extensions/targets/customer-details/pos-customer-details-block-render) - [pos.order-details.action.menu-item.render](/docs/api/pos-ui-extensions/targets/order-details/pos-order-details-action-menu-item-render) - [pos.order-details.action.render](/docs/api/pos-ui-extensions/targets/order-details/pos-order-details-action-render) - [pos.order-details.block.render](/docs/api/pos-ui-extensions/targets/order-details/pos-order-details-block-render) - [pos.draft-order-details.action.menu-item.render](/docs/api/pos-ui-extensions/targets/draft-order-details/pos-draft-order-details-action-menu-item-render) - [pos.draft-order-details.action.render](/docs/api/pos-ui-extensions/targets/draft-order-details/pos-draft-order-details-action-render) - [pos.draft-order-details.block.render](/docs/api/pos-ui-extensions/targets/draft-order-details/pos-draft-order-details-block-render) - [Connectivity API](https://shopify.dev/docs/api/pos-ui-extensions/2025-01/apis/connectivity-api.txt): The Connectivity API enables POS UI extensions to retrieve device connectivity information, such as whether the device has an internet connection. - [Customer API](https://shopify.dev/docs/api/pos-ui-extensions/2025-01/apis/customer-api.txt): The customer API provides an extension with data about the current customer. #### Supporting targets - [pos.customer-details.action.menu-item.render](/docs/api/pos-ui-extensions/targets/customer-details/pos-customer-details-action-menu-item-render) - [pos.customer-details.action.render](/docs/api/pos-ui-extensions/targets/customer-details/pos-customer-details-action-render) - [pos.customer-details.block.render](/docs/api/pos-ui-extensions/targets/customer-details/pos-customer-details-block-render) - [Device API](https://shopify.dev/docs/api/pos-ui-extensions/2025-01/apis/device-api.txt): The Device API allows the UI Extension to retrieve device information including the device name and ID. - [Draft Order API](https://shopify.dev/docs/api/pos-ui-extensions/2025-01/apis/draft-order-api.txt): The Draft Order API provides an extension with data about the current draft order. #### Supporting targets - [pos.draft-order-details.action.menu-item.render](/docs/api/pos-ui-extensions/targets/draft-order-details/pos-draft-order-details-action-menu-item-render) - [pos.draft-order-details.action.render](/docs/api/pos-ui-extensions/targets/draft-order-details/pos-draft-order-details-action-render) - [pos.draft-order-details.block.render](/docs/api/pos-ui-extensions/targets/draft-order-details/pos-draft-order-details-block-render) - [Locale API](https://shopify.dev/docs/api/pos-ui-extensions/2025-01/apis/locale-api.txt): The Locale API allows the extension to retrieve the merchant's locale. - [Navigation API](https://shopify.dev/docs/api/pos-ui-extensions/2025-01/apis/navigation-api.txt): The Navigation API enables POS UI extension to navigate between screens. #### Supporting targets - [pos.home.modal.render](/docs/api/pos-ui-extensions/targets/smart-grid/pos-home-modal-render) - [pos.purchase.post.action.render](/docs/api/pos-ui-extensions/targets/post-purchase/pos-purchase-post-action-render) - [pos.product-details.action.render](/docs/api/pos-ui-extensions/targets/product-details/pos-product-details-action-render) - [pos.order-details.action.render](/docs/api/pos-ui-extensions/targets/order-details/pos-order-details-action-render) - [pos.draft-order-details.action.render](/docs/api/pos-ui-extensions/targets/draft-order-details/pos-draft-order-details-action-render) - [pos.customer-details.action.render](/docs/api/pos-ui-extensions/targets/customer-details/pos-customer-details-action-render) - [Order API](https://shopify.dev/docs/api/pos-ui-extensions/2025-01/apis/order-api.txt): The Order API provides an extension with data about the current order. #### Supporting targets - [pos.purchase.post.action.menu-item.render](/docs/api/pos-ui-extensions/targets/post-purchase/pos-purchase-post-action-menu-item-render) - [pos.purchase.post.action.render](/docs/api/pos-ui-extensions/targets/post-purchase/pos-purchase-post-action-render) - [pos.purchase.post.block.render](/docs/api/pos-ui-extensions/targets/post-purchase/pos-purchase-post-block-render) - [pos.order-details.action.menu-item.render](/docs/api/pos-ui-extensions/targets/order-details/pos-order-details-action-menu-item-render) - [pos.order-details.action.render](/docs/api/pos-ui-extensions/targets/order-details/pos-order-details-action-render) - [pos.order-details.block.render](/docs/api/pos-ui-extensions/targets/order-details/pos-order-details-block-render) - [Print API](https://shopify.dev/docs/api/pos-ui-extensions/2025-01/apis/print-api.txt): The Print API enables document printing through the device's native print dialog (such as AirPrint on iOS or the system print dialog on Android). This API is designed for printing documents to standard printers, and does not support direct printing to receipt printers. - [Product API](https://shopify.dev/docs/api/pos-ui-extensions/2025-01/apis/product-api.txt): The Product API provides an extension with data about the current Product. #### Supporting targets - [pos.product-details.action.menu-item.render](/docs/api/pos-ui-extensions/targets/product-details/pos-product-details-action-menu-item-render) - [pos.product-details.action.render](/docs/api/pos-ui-extensions/targets/product-details/pos-product-details-action-render) - [ProductSearch API](https://shopify.dev/docs/api/pos-ui-extensions/2025-01/apis/productsearch-api.txt): The ProductSearch API gives extensions access to the native product search and fetching functionality of Shopify POS. The interface provides numerous functions to search for products by query, or to fetch the details of one or more products or product variants. - [Scanner API](https://shopify.dev/docs/api/pos-ui-extensions/2025-01/apis/scanner-api.txt): The Scanner API enables an extension to access scanner data and available scanning sources supported by the device. #### Supporting targets - [pos.home.modal.render](/docs/api/pos-ui-extensions/targets/smart-grid/pos-home-modal-render) - [pos.purchase.post.action.render](/docs/api/pos-ui-extensions/targets/post-purchase/pos-purchase-post-action-render) - [pos.product-details.action.render](/docs/api/pos-ui-extensions/targets/product-details/pos-product-details-action-render) - [pos.order-details.action.render](/docs/api/pos-ui-extensions/targets/order-details/pos-order-details-action-render) - [pos.draft-order-details.action.render](/docs/api/pos-ui-extensions/targets/draft-order-details/pos-draft-order-details-action-render) - [pos.customer-details.action.menu-item.render](/docs/api/pos-ui-extensions/targets/customer-details/pos-customer-details-action-menu-item-render) - [Session API](https://shopify.dev/docs/api/pos-ui-extensions/2025-01/apis/session-api.txt): The Session API contains the information about the current user session, and allows to fetch a fresh session token for communication with your apps backend service. - [Toast API](https://shopify.dev/docs/api/pos-ui-extensions/2025-01/apis/toast-api.txt): The Toast API allows the display of a Toast component. - [Badge](https://shopify.dev/docs/api/pos-ui-extensions/2025-01/components/badge.txt): Badges are used to inform merchants of the status of an item or action that’s been taken. - [Banner](https://shopify.dev/docs/api/pos-ui-extensions/2025-01/components/banner.txt): A banner informs merchants about important changes or persistent conditions. Use if you need to communicate to merchants in a prominent way, without blocking other actions. - [Box](https://shopify.dev/docs/api/pos-ui-extensions/2025-01/components/box.txt): A box component is a container that can be used to group and display content in a consistent manner. - [Button](https://shopify.dev/docs/api/pos-ui-extensions/2025-01/components/button.txt): Buttons enable the merchant to initiate actions, like "add", "save", or "next". - [CameraScanner](https://shopify.dev/docs/api/pos-ui-extensions/2025-01/components/camerascanner.txt): The camera scanner uses the devices camera to scan and decode barcodes or QR codes. It displays a live feed with guidance markers for alignment and triggers actions within the app upon successful recognition. - [DateField](https://shopify.dev/docs/api/pos-ui-extensions/2025-01/components/datefield.txt): A component that enables users to open a dialog and select a date through a text input. - [DatePicker](https://shopify.dev/docs/api/pos-ui-extensions/2025-01/components/datepicker.txt): A component used to select a date through a dialog. - [Dialog](https://shopify.dev/docs/api/pos-ui-extensions/2025-01/components/dialog.txt): A dialog is a high-priority, intentionally disruptive message that requires action from the merchant before they can continue using POS. - [EmailField](https://shopify.dev/docs/api/pos-ui-extensions/2025-01/components/emailfield.txt): Use an email field to conveniently and accurately capture merchant email addresses. - [FormattedTextField](https://shopify.dev/docs/api/pos-ui-extensions/2025-01/components/formattedtextfield.txt): Use a formatted text field when you require additional functionality such as the text field input type or a custom validator. - [Icon](https://shopify.dev/docs/api/pos-ui-extensions/2025-01/components/icon.txt): A component that renders an icon from the POS asset catalog. - [Image](https://shopify.dev/docs/api/pos-ui-extensions/2025-01/components/image.txt): The image component displays an image to a merchant in Shopify POS. - [List](https://shopify.dev/docs/api/pos-ui-extensions/2025-01/components/list.txt): The list is a scrollable component in which the list rows are rendered. - [Navigator](https://shopify.dev/docs/api/pos-ui-extensions/2025-01/components/navigator.txt): A component used to navigate between different screens. - [NumberField](https://shopify.dev/docs/api/pos-ui-extensions/2025-01/components/numberfield.txt): Use a number field to conveniently and accurately capture numerical values. - [POSBlock](https://shopify.dev/docs/api/pos-ui-extensions/2025-01/components/posblock.txt): The `POSBlock` provides a surface on the specified extension target as an entry point to an extension. Note that the title displayed on this `POSBlock` is dependent on the description of the extension. - [POSBlockRow](https://shopify.dev/docs/api/pos-ui-extensions/2025-01/components/posblockrow.txt): Renders a `POSBlockRow` in a `POSBlock`. - [PinPad](https://shopify.dev/docs/api/pos-ui-extensions/2025-01/components/pinpad.txt): A component used to authenticate or identify individuals through a standarized number pad. - [PrintPreview](https://shopify.dev/docs/api/pos-ui-extensions/2025-01/components/printpreview.txt): A component that displays a preview of a printable document. > Note: > This component must be a direct child of the Screen component and cannot be nested inside any other component. - [RadioButtonList](https://shopify.dev/docs/api/pos-ui-extensions/2025-01/components/radiobuttonlist.txt): A radio button list lets merchants select from a given set of options. - [Screen](https://shopify.dev/docs/api/pos-ui-extensions/2025-01/components/screen.txt): A component used in the root of a modal extension to define a screen. - [ScrollView](https://shopify.dev/docs/api/pos-ui-extensions/2025-01/components/scrollview.txt): The ScrollView component allows content that doesn’t fully fit on screen to scroll. Typically, the ScrollView component serves as the root component of a Screen. - [SearchBar](https://shopify.dev/docs/api/pos-ui-extensions/2025-01/components/searchbar.txt): The search bar lets merchants enter search queries for objects throughout the app. - [Section](https://shopify.dev/docs/api/pos-ui-extensions/2025-01/components/section.txt): A component used to group other components together in a card-like UI. Usually, sections will be used inside a ScrollView. - [SectionHeader](https://shopify.dev/docs/api/pos-ui-extensions/2025-01/components/sectionheader.txt): A heading style text component with an optional divider line to structure content. - [SegmentedControl](https://shopify.dev/docs/api/pos-ui-extensions/2025-01/components/segmentedcontrol.txt): The segmented control lets the merchant easily switch between different lists or views on the same page. - [Selectable](https://shopify.dev/docs/api/pos-ui-extensions/2025-01/components/selectable.txt): The selectable component allows you to wrap any non-interactive UI component to make it selectable. - [Spacing](https://shopify.dev/docs/api/pos-ui-extensions/2025-01/components/spacing.txt): Set of spacing constants to be used in the UI Extensions components library. - [Stack](https://shopify.dev/docs/api/pos-ui-extensions/2025-01/components/stack.txt): A container for other components that allows them to be stacked horizontally or vertically. When building complex UIs, this will be your primary building block. Stacks always wrap the content to the next column or row. - [Stepper](https://shopify.dev/docs/api/pos-ui-extensions/2025-01/components/stepper.txt): A component used for increasing or decreasing quantities. - [Text](https://shopify.dev/docs/api/pos-ui-extensions/2025-01/components/text.txt): Text can be rendered in different sizes and colors in order to structure content. By default, `Text` will always stretch to fill the width of the container, but it can be wrapped in a `Box` to limit its width to what it needs. When the width of `Text` reaches its limit, the `string` will automatically wrap to the next line. - [TextArea](https://shopify.dev/docs/api/pos-ui-extensions/2025-01/components/textarea.txt): Use a text input to allow merchants to input or modify multiline text. - [TextField](https://shopify.dev/docs/api/pos-ui-extensions/2025-01/components/textfield.txt): Use a text field to allow merchants to enter or edit text. If you want to specify the kind of input, then use a formatted text field. - [Tile](https://shopify.dev/docs/api/pos-ui-extensions/2025-01/components/tile.txt): Tiles are customizable buttons that allow staff to complete actions quickly. Think of them as shortcuts--adding a 10% discount to an order, for example. Tiles provide contextual information and let merchants quickly access workflows, actions, and information from the smart grid and the top of detail pages. They’re dynamic and can change based on surrounding context, such as what’s in the cart. - [TimeField](https://shopify.dev/docs/api/pos-ui-extensions/2025-01/components/timefield.txt): A component that enables users to open a dialog and select a time through a text input. - [TimePicker](https://shopify.dev/docs/api/pos-ui-extensions/2025-01/components/timepicker.txt): A component used to select a time through a dialog. - [pos.customer-details.action.menu-item.render](https://shopify.dev/docs/api/pos-ui-extensions/2025-01/targets/customer-details/pos-customer-details-action-menu-item-render.txt): A static extension target that renders as a menu item on the customer details screen - [pos.customer-details.action.render](https://shopify.dev/docs/api/pos-ui-extensions/2025-01/targets/customer-details/pos-customer-details-action-render.txt): A full-screen extension target that renders when a `pos.customer-details.action.menu-item.render` target calls for it - [pos.customer-details.block.render](https://shopify.dev/docs/api/pos-ui-extensions/2025-01/targets/customer-details/pos-customer-details-block-render.txt): Renders a custom section within customer details screen - [pos.draft-order-details.action.menu-item.render](https://shopify.dev/docs/api/pos-ui-extensions/2025-01/targets/draft-order-details/pos-draft-order-details-action-menu-item-render.txt): A static extension target that renders as a menu item on the draft order details screen - [pos.draft-order-details.action.render](https://shopify.dev/docs/api/pos-ui-extensions/2025-01/targets/draft-order-details/pos-draft-order-details-action-render.txt): A full-screen extension target that renders when a `pos.draft-order-details.action.render` target calls for it - [pos.draft-order-details.block.render](https://shopify.dev/docs/api/pos-ui-extensions/2025-01/targets/draft-order-details/pos-draft-order-details-block-render.txt): Renders a custom section within the native draft order details screen - [pos.home.modal.render](https://shopify.dev/docs/api/pos-ui-extensions/2025-01/targets/smart-grid/pos-home-modal-render.txt): A full-screen extension target that renders when a `pos.home.tile.render` target calls for it - [pos.home.tile.render](https://shopify.dev/docs/api/pos-ui-extensions/2025-01/targets/smart-grid/pos-home-tile-render.txt): A static extension target that renders as a smart grid tile - [pos.order-details.action.menu-item.render](https://shopify.dev/docs/api/pos-ui-extensions/2025-01/targets/order-details/pos-order-details-action-menu-item-render.txt): A static extension target that renders as a menu item on the order details screen - [pos.order-details.action.render](https://shopify.dev/docs/api/pos-ui-extensions/2025-01/targets/order-details/pos-order-details-action-render.txt): A full-screen extension target that renders when a `pos.order-details.action.menu-item.render` target calls for it - [pos.order-details.block.render](https://shopify.dev/docs/api/pos-ui-extensions/2025-01/targets/order-details/pos-order-details-block-render.txt): Renders a custom section within the native order details screen - [pos.product-details.action.menu-item.render](https://shopify.dev/docs/api/pos-ui-extensions/2025-01/targets/product-details/pos-product-details-action-menu-item-render.txt): A static extension target that renders as a menu item on the product details screen - [pos.product-details.action.render](https://shopify.dev/docs/api/pos-ui-extensions/2025-01/targets/product-details/pos-product-details-action-render.txt): A full-screen extension target that renders when a `pos.product-details.action.menu-item.render` target calls for it - [pos.product-details.block.render](https://shopify.dev/docs/api/pos-ui-extensions/2025-01/targets/product-details/pos-product-details-block-render.txt): Renders a custom section within the product details screen - [pos.purchase.post.action.menu-item.render](https://shopify.dev/docs/api/pos-ui-extensions/2025-01/targets/post-purchase/pos-purchase-post-action-menu-item-render.txt): A static extension target that renders as a menu item on the post-purchase screen - [pos.purchase.post.action.render](https://shopify.dev/docs/api/pos-ui-extensions/2025-01/targets/post-purchase/pos-purchase-post-action-render.txt): A full-screen extension target that renders when a `pos.purchase.post.action.menu-item.render` target calls for it - [pos.purchase.post.block.render](https://shopify.dev/docs/api/pos-ui-extensions/2025-01/targets/post-purchase/pos-purchase-post-block-render.txt): Renders a custom section within the native post purchase screen - [Action API](https://shopify.dev/docs/api/pos-ui-extensions/unstable/apis/action-api.txt): The Action API allows an action extension to modally present its corresponding modal target. #### Supporting targets - [pos.home.tile.render](/docs/api/pos-ui-extensions/targets/smart-grid/pos-home-tile-render) - [pos.purchase.post.action.menu-item.render](/docs/api/pos-ui-extensions/targets/post-purchase/pos-purchase-post-action-menu-item-render) - [pos.purchase.post.block.render](/docs/api/pos-ui-extensions/targets/post-purchase/pos-purchase-post-block-render) - [pos.order-details.action.menu-item.render](/docs/api/pos-ui-extensions/targets/order-details/pos-order-details-action-menu-item-render) - [pos.order-details.block.render](/docs/api/pos-ui-extensions/targets/order-details/pos-order-details-block-render) - [pos.product-details.action.menu-item.render](/docs/api/pos-ui-extensions/targets/product-details/pos-product-details-action-menu-item-render) - [pos.customer-details.action.menu-item.render](/docs/api/pos-ui-extensions/targets/customer-details/pos-customer-details-action-menu-item-render) - [pos.customer-details.block.render](/docs/api/pos-ui-extensions/targets/customer-details/pos-customer-details-block-render) - [pos.draft-order-details.action.menu-item.render](/docs/api/pos-ui-extensions/targets/draft-order-details/pos-draft-order-details-action-menu-item-render) - [pos.draft-order-details.block.render](/docs/api/pos-ui-extensions/targets/draft-order-details/pos-draft-order-details-block-render) - [Cart API](https://shopify.dev/docs/api/pos-ui-extensions/unstable/apis/cart-api.txt): The Cart API enables UI Extensions to manage and interact with POS cart contents, such as discounts, line items, and customer details. It provides a comprehensive set of functions for adding and removing items, alongside a subscribable object that keeps the UI Extension updated with real-time changes to the cart. #### Supporting targets - [pos.home.tile.render](/docs/api/pos-ui-extensions/targets/smart-grid/pos-home-tile-render) - [pos.home.modal.render](/docs/api/pos-ui-extensions/targets/smart-grid/pos-home-modal-render) - [pos.product-details.action.menu-item.render](/docs/api/pos-ui-extensions/targets/product-details/pos-product-details-action-menu-item-render) - [pos.product-details.action.render](/docs/api/pos-ui-extensions/targets/product-details/pos-product-details-action-render) - [pos.customer-details.action.menu-item.render](/docs/api/pos-ui-extensions/targets/customer-details/pos-customer-details-action-menu-item-render) - [pos.customer-details.action.render](/docs/api/pos-ui-extensions/targets/customer-details/pos-customer-details-action-render) - [pos.customer-details.block.render](/docs/api/pos-ui-extensions/targets/customer-details/pos-customer-details-block-render) - [pos.order-details.action.menu-item.render](/docs/api/pos-ui-extensions/targets/order-details/pos-order-details-action-menu-item-render) - [pos.order-details.action.render](/docs/api/pos-ui-extensions/targets/order-details/pos-order-details-action-render) - [pos.order-details.block.render](/docs/api/pos-ui-extensions/targets/order-details/pos-order-details-block-render) - [pos.draft-order-details.action.menu-item.render](/docs/api/pos-ui-extensions/targets/draft-order-details/pos-draft-order-details-action-menu-item-render) - [pos.draft-order-details.action.render](/docs/api/pos-ui-extensions/targets/draft-order-details/pos-draft-order-details-action-render) - [pos.draft-order-details.block.render](/docs/api/pos-ui-extensions/targets/draft-order-details/pos-draft-order-details-block-render) - [Connectivity API](https://shopify.dev/docs/api/pos-ui-extensions/unstable/apis/connectivity-api.txt): The Connectivity API enables POS UI extensions to retrieve device connectivity information, such as whether the device has an internet connection. - [Customer API](https://shopify.dev/docs/api/pos-ui-extensions/unstable/apis/customer-api.txt): The customer API provides an extension with data about the current customer. #### Supporting targets - [pos.customer-details.action.menu-item.render](/docs/api/pos-ui-extensions/targets/customer-details/pos-customer-details-action-menu-item-render) - [pos.customer-details.action.render](/docs/api/pos-ui-extensions/targets/customer-details/pos-customer-details-action-render) - [pos.customer-details.block.render](/docs/api/pos-ui-extensions/targets/customer-details/pos-customer-details-block-render) - [Device API](https://shopify.dev/docs/api/pos-ui-extensions/unstable/apis/device-api.txt): The Device API allows the UI Extension to retrieve device information including the device name and ID. - [Draft Order API](https://shopify.dev/docs/api/pos-ui-extensions/unstable/apis/draft-order-api.txt): The Draft Order API provides an extension with data about the current draft order. #### Supporting targets - [pos.draft-order-details.action.menu-item.render](/docs/api/pos-ui-extensions/targets/draft-order-details/pos-draft-order-details-action-menu-item-render) - [pos.draft-order-details.action.render](/docs/api/pos-ui-extensions/targets/draft-order-details/pos-draft-order-details-action-render) - [pos.draft-order-details.block.render](/docs/api/pos-ui-extensions/targets/draft-order-details/pos-draft-order-details-block-render) - [Locale API](https://shopify.dev/docs/api/pos-ui-extensions/unstable/apis/locale-api.txt): The Locale API allows the extension to retrieve the merchant's locale. - [Navigation API](https://shopify.dev/docs/api/pos-ui-extensions/unstable/apis/navigation-api.txt): The Navigation API enables POS UI extension to navigate between screens. #### Supporting targets - [pos.home.modal.render](/docs/api/pos-ui-extensions/targets/smart-grid/pos-home-modal-render) - [pos.purchase.post.action.render](/docs/api/pos-ui-extensions/targets/post-purchase/pos-purchase-post-action-render) - [pos.product-details.action.render](/docs/api/pos-ui-extensions/targets/product-details/pos-product-details-action-render) - [pos.order-details.action.render](/docs/api/pos-ui-extensions/targets/order-details/pos-order-details-action-render) - [pos.draft-order-details.action.render](/docs/api/pos-ui-extensions/targets/draft-order-details/pos-draft-order-details-action-render) - [pos.customer-details.action.render](/docs/api/pos-ui-extensions/targets/customer-details/pos-customer-details-action-render) - [Order API](https://shopify.dev/docs/api/pos-ui-extensions/unstable/apis/order-api.txt): The Order API provides an extension with data about the current order. #### Supporting targets - [pos.purchase.post.action.menu-item.render](/docs/api/pos-ui-extensions/targets/post-purchase/pos-purchase-post-action-menu-item-render) - [pos.purchase.post.action.render](/docs/api/pos-ui-extensions/targets/post-purchase/pos-purchase-post-action-render) - [pos.purchase.post.block.render](/docs/api/pos-ui-extensions/targets/post-purchase/pos-purchase-post-block-render) - [pos.order-details.action.menu-item.render](/docs/api/pos-ui-extensions/targets/order-details/pos-order-details-action-menu-item-render) - [pos.order-details.action.render](/docs/api/pos-ui-extensions/targets/order-details/pos-order-details-action-render) - [pos.order-details.block.render](/docs/api/pos-ui-extensions/targets/order-details/pos-order-details-block-render) - [Print API](https://shopify.dev/docs/api/pos-ui-extensions/unstable/apis/print-api.txt): The Print API enables document printing through the device's native print dialog (such as AirPrint on iOS or the system print dialog on Android). This API is designed for printing documents to standard printers, and does not support direct printing to receipt printers. - [Product API](https://shopify.dev/docs/api/pos-ui-extensions/unstable/apis/product-api.txt): The Product API provides an extension with data about the current Product. #### Supporting targets - [pos.product-details.action.menu-item.render](/docs/api/pos-ui-extensions/targets/product-details/pos-product-details-action-menu-item-render) - [pos.product-details.action.render](/docs/api/pos-ui-extensions/targets/product-details/pos-product-details-action-render) - [ProductSearch API](https://shopify.dev/docs/api/pos-ui-extensions/unstable/apis/productsearch-api.txt): The ProductSearch API gives extensions access to the native product search and fetching functionality of Shopify POS. The interface provides numerous functions to search for products by query, or to fetch the details of one or more products or product variants. - [Scanner API](https://shopify.dev/docs/api/pos-ui-extensions/unstable/apis/scanner-api.txt): The Scanner API enables an extension to access scanner data and available scanning sources supported by the device. #### Supporting targets - [pos.home.modal.render](/docs/api/pos-ui-extensions/targets/smart-grid/pos-home-modal-render) - [pos.purchase.post.action.render](/docs/api/pos-ui-extensions/targets/post-purchase/pos-purchase-post-action-render) - [pos.product-details.action.render](/docs/api/pos-ui-extensions/targets/product-details/pos-product-details-action-render) - [pos.order-details.action.render](/docs/api/pos-ui-extensions/targets/order-details/pos-order-details-action-render) - [pos.draft-order-details.action.render](/docs/api/pos-ui-extensions/targets/draft-order-details/pos-draft-order-details-action-render) - [pos.customer-details.action.menu-item.render](/docs/api/pos-ui-extensions/targets/customer-details/pos-customer-details-action-menu-item-render) - [Session API](https://shopify.dev/docs/api/pos-ui-extensions/unstable/apis/session-api.txt): The Session API contains the information about the current user session, and allows to fetch a fresh session token for communication with your apps backend service. - [Toast API](https://shopify.dev/docs/api/pos-ui-extensions/unstable/apis/toast-api.txt): The Toast API allows the display of a Toast component. - [Badge](https://shopify.dev/docs/api/pos-ui-extensions/unstable/components/badge.txt): Badges are used to inform merchants of the status of an item or action that’s been taken. - [Banner](https://shopify.dev/docs/api/pos-ui-extensions/unstable/components/banner.txt): A banner informs merchants about important changes or persistent conditions. Use if you need to communicate to merchants in a prominent way, without blocking other actions. - [Box](https://shopify.dev/docs/api/pos-ui-extensions/unstable/components/box.txt): A box component is a container that can be used to group and display content in a consistent manner. - [Button](https://shopify.dev/docs/api/pos-ui-extensions/unstable/components/button.txt): Buttons enable the merchant to initiate actions, like "add", "save", or "next". - [CameraScanner](https://shopify.dev/docs/api/pos-ui-extensions/unstable/components/camerascanner.txt): The camera scanner uses the devices camera to scan and decode barcodes or QR codes. It displays a live feed with guidance markers for alignment and triggers actions within the app upon successful recognition. - [DateField](https://shopify.dev/docs/api/pos-ui-extensions/unstable/components/datefield.txt): A component that enables users to open a dialog and select a date through a text input. - [DatePicker](https://shopify.dev/docs/api/pos-ui-extensions/unstable/components/datepicker.txt): A component used to select a date through a dialog. - [Dialog](https://shopify.dev/docs/api/pos-ui-extensions/unstable/components/dialog.txt): A dialog is a high-priority, intentionally disruptive message that requires action from the merchant before they can continue using POS. - [EmailField](https://shopify.dev/docs/api/pos-ui-extensions/unstable/components/emailfield.txt): Use an email field to conveniently and accurately capture merchant email addresses. - [FormattedTextField](https://shopify.dev/docs/api/pos-ui-extensions/unstable/components/formattedtextfield.txt): Use a formatted text field when you require additional functionality such as the text field input type or a custom validator. - [Icon](https://shopify.dev/docs/api/pos-ui-extensions/unstable/components/icon.txt): A component that renders an icon from the POS asset catalog. - [Image](https://shopify.dev/docs/api/pos-ui-extensions/unstable/components/image.txt): The image component displays an image to a merchant in Shopify POS. - [List](https://shopify.dev/docs/api/pos-ui-extensions/unstable/components/list.txt): The list is a scrollable component in which the list rows are rendered. - [Navigator](https://shopify.dev/docs/api/pos-ui-extensions/unstable/components/navigator.txt): A component used to navigate between different screens. - [NumberField](https://shopify.dev/docs/api/pos-ui-extensions/unstable/components/numberfield.txt): Use a number field to conveniently and accurately capture numerical values. - [POSBlock](https://shopify.dev/docs/api/pos-ui-extensions/unstable/components/posblock.txt): The `POSBlock` provides a surface on the specified extension target as an entry point to an extension. Note that the title displayed on this `POSBlock` is dependent on the description of the extension. - [POSBlockRow](https://shopify.dev/docs/api/pos-ui-extensions/unstable/components/posblockrow.txt): Renders a `POSBlockRow` in a `POSBlock`. - [POSReceiptBlock](https://shopify.dev/docs/api/pos-ui-extensions/unstable/components/posreceiptblock.txt): A component used to group other components together for display on POS receipts. > Note: > This is part of a POS UI Extensions developer preview. More information to come. > > This component only accepts `Text` and `Image` components as children. - [PinPad](https://shopify.dev/docs/api/pos-ui-extensions/unstable/components/pinpad.txt): A component used to authenticate or identify individuals through a standarized number pad. - [PrintPreview](https://shopify.dev/docs/api/pos-ui-extensions/unstable/components/printpreview.txt): A component that displays a preview of a printable document. > Note: > This component must be a direct child of the Screen component and cannot be nested inside any other component. - [RadioButtonList](https://shopify.dev/docs/api/pos-ui-extensions/unstable/components/radiobuttonlist.txt): A radio button list lets merchants select from a given set of options. - [Screen](https://shopify.dev/docs/api/pos-ui-extensions/unstable/components/screen.txt): A component used in the root of a modal extension to define a screen. - [ScrollView](https://shopify.dev/docs/api/pos-ui-extensions/unstable/components/scrollview.txt): The ScrollView component allows content that doesn’t fully fit on screen to scroll. Typically, the ScrollView component serves as the root component of a Screen. - [SearchBar](https://shopify.dev/docs/api/pos-ui-extensions/unstable/components/searchbar.txt): The search bar lets merchants enter search queries for objects throughout the app. - [Section](https://shopify.dev/docs/api/pos-ui-extensions/unstable/components/section.txt): A component used to group other components together in a card-like UI. Usually, sections will be used inside a ScrollView. - [SectionHeader](https://shopify.dev/docs/api/pos-ui-extensions/unstable/components/sectionheader.txt): A heading style text component with an optional divider line to structure content. - [SegmentedControl](https://shopify.dev/docs/api/pos-ui-extensions/unstable/components/segmentedcontrol.txt): The segmented control lets the merchant easily switch between different lists or views on the same page. - [Selectable](https://shopify.dev/docs/api/pos-ui-extensions/unstable/components/selectable.txt): The selectable component allows you to wrap any non-interactive UI component to make it selectable. - [Spacing](https://shopify.dev/docs/api/pos-ui-extensions/unstable/components/spacing.txt): Set of spacing constants to be used in the UI Extensions components library. - [Stack](https://shopify.dev/docs/api/pos-ui-extensions/unstable/components/stack.txt): A container for other components that allows them to be stacked horizontally or vertically. When building complex UIs, this will be your primary building block. Stacks always wrap the content to the next column or row. - [Stepper](https://shopify.dev/docs/api/pos-ui-extensions/unstable/components/stepper.txt): A component used for increasing or decreasing quantities. - [Text](https://shopify.dev/docs/api/pos-ui-extensions/unstable/components/text.txt): Text can be rendered in different sizes and colors in order to structure content. By default, `Text` will always stretch to fill the width of the container, but it can be wrapped in a `Box` to limit its width to what it needs. When the width of `Text` reaches its limit, the `string` will automatically wrap to the next line. - [TextArea](https://shopify.dev/docs/api/pos-ui-extensions/unstable/components/textarea.txt): Use a text input to allow merchants to input or modify multiline text. - [TextField](https://shopify.dev/docs/api/pos-ui-extensions/unstable/components/textfield.txt): Use a text field to allow merchants to enter or edit text. If you want to specify the kind of input, then use a formatted text field. - [Tile](https://shopify.dev/docs/api/pos-ui-extensions/unstable/components/tile.txt): Tiles are customizable buttons that allow staff to complete actions quickly. Think of them as shortcuts--adding a 10% discount to an order, for example. Tiles provide contextual information and let merchants quickly access workflows, actions, and information from the smart grid and the top of detail pages. They’re dynamic and can change based on surrounding context, such as what’s in the cart. - [TimeField](https://shopify.dev/docs/api/pos-ui-extensions/unstable/components/timefield.txt): A component that enables users to open a dialog and select a time through a text input. - [TimePicker](https://shopify.dev/docs/api/pos-ui-extensions/unstable/components/timepicker.txt): A component used to select a time through a dialog. - [pos.cart-update.event.observe](https://shopify.dev/docs/api/pos-ui-extensions/unstable/targets/cart-details/pos-cart-update-event-observe.txt): An event extension target that observes cart updates - [pos.cash-tracking-session-complete.event.observe](https://shopify.dev/docs/api/pos-ui-extensions/unstable/targets/cash-tracking/pos-cash-tracking-session-complete-event-observe.txt): An event extension target that observes when cash tracking session completes > Note: > This is part of a POS UI Extensions developer preview. More information to come. - [pos.cash-tracking-session-start.event.observe](https://shopify.dev/docs/api/pos-ui-extensions/unstable/targets/cash-tracking/pos-cash-tracking-session-start-event-observe.txt): An event extension target that observes when cash tracking session starts > Note: > This is part of a POS UI Extensions developer preview. More information to come. - [pos.customer-details.action.menu-item.render](https://shopify.dev/docs/api/pos-ui-extensions/unstable/targets/customer-details/pos-customer-details-action-menu-item-render.txt): A static extension target that renders as a menu item on the customer details screen - [pos.customer-details.action.render](https://shopify.dev/docs/api/pos-ui-extensions/unstable/targets/customer-details/pos-customer-details-action-render.txt): A full-screen extension target that renders when a `pos.customer-details.action.menu-item.render` target calls for it - [pos.customer-details.block.render](https://shopify.dev/docs/api/pos-ui-extensions/unstable/targets/customer-details/pos-customer-details-block-render.txt): Renders a custom section within customer details screen - [pos.draft-order-details.action.menu-item.render](https://shopify.dev/docs/api/pos-ui-extensions/unstable/targets/draft-order-details/pos-draft-order-details-action-menu-item-render.txt): A static extension target that renders as a menu item on the draft order details screen - [pos.draft-order-details.action.render](https://shopify.dev/docs/api/pos-ui-extensions/unstable/targets/draft-order-details/pos-draft-order-details-action-render.txt): A full-screen extension target that renders when a `pos.draft-order-details.action.render` target calls for it - [pos.draft-order-details.block.render](https://shopify.dev/docs/api/pos-ui-extensions/unstable/targets/draft-order-details/pos-draft-order-details-block-render.txt): Renders a custom section within the native draft order details screen - [pos.home.modal.render](https://shopify.dev/docs/api/pos-ui-extensions/unstable/targets/smart-grid/pos-home-modal-render.txt): A full-screen extension target that renders when a `pos.home.tile.render` target calls for it - [pos.home.tile.render](https://shopify.dev/docs/api/pos-ui-extensions/unstable/targets/smart-grid/pos-home-tile-render.txt): A static extension target that renders as a smart grid tile - [pos.order-details.action.menu-item.render](https://shopify.dev/docs/api/pos-ui-extensions/unstable/targets/order-details/pos-order-details-action-menu-item-render.txt): A static extension target that renders as a menu item on the order details screen - [pos.order-details.action.render](https://shopify.dev/docs/api/pos-ui-extensions/unstable/targets/order-details/pos-order-details-action-render.txt): A full-screen extension target that renders when a `pos.order-details.action.menu-item.render` target calls for it - [pos.order-details.block.render](https://shopify.dev/docs/api/pos-ui-extensions/unstable/targets/order-details/pos-order-details-block-render.txt): Renders a custom section within the native order details screen - [pos.product-details.action.menu-item.render](https://shopify.dev/docs/api/pos-ui-extensions/unstable/targets/product-details/pos-product-details-action-menu-item-render.txt): A static extension target that renders as a menu item on the product details screen - [pos.product-details.action.render](https://shopify.dev/docs/api/pos-ui-extensions/unstable/targets/product-details/pos-product-details-action-render.txt): A full-screen extension target that renders when a `pos.product-details.action.menu-item.render` target calls for it - [pos.product-details.block.render](https://shopify.dev/docs/api/pos-ui-extensions/unstable/targets/product-details/pos-product-details-block-render.txt): Renders a custom section within the product details screen - [pos.purchase.post.action.menu-item.render](https://shopify.dev/docs/api/pos-ui-extensions/unstable/targets/post-purchase/pos-purchase-post-action-menu-item-render.txt): A static extension target that renders as a menu item on the post-purchase screen - [pos.purchase.post.action.render](https://shopify.dev/docs/api/pos-ui-extensions/unstable/targets/post-purchase/pos-purchase-post-action-render.txt): A full-screen extension target that renders when a `pos.purchase.post.action.menu-item.render` target calls for it - [pos.purchase.post.block.render](https://shopify.dev/docs/api/pos-ui-extensions/unstable/targets/post-purchase/pos-purchase-post-block-render.txt): Renders a custom section within the native post purchase screen - [pos.receipt-footer.block.render](https://shopify.dev/docs/api/pos-ui-extensions/unstable/targets/receipts/pos-receipt-footer-block-render.txt): Renders a custom section within the POS receipt footer > Note: > This is part of a POS UI Extensions developer preview. More information to come. - [pos.transaction-complete.event.observe](https://shopify.dev/docs/api/pos-ui-extensions/unstable/targets/post-purchase/pos-transaction-complete-event-observe.txt): An event extension target that observes completed transactions > Note: > This is part of a POS UI Extensions developer preview. More information to come.