@shopify/ui-extensions 2026.10.0-rc.9 → 2026.10.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (329) hide show
  1. package/build/cjs/surfaces/customer-account/preact/authenticated-account.js +1 -1
  2. package/build/cjs/surfaces/point-of-sale/events.js +39 -22
  3. package/build/cjs/surfaces/point-of-sale/pos-list-template.js +339 -0
  4. package/build/cjs/surfaces/point-of-sale.js +2 -0
  5. package/build/esm/surfaces/customer-account/preact/authenticated-account.mjs +1 -1
  6. package/build/esm/surfaces/point-of-sale/events.mjs +39 -22
  7. package/build/esm/surfaces/point-of-sale/pos-list-template.mjs +331 -0
  8. package/build/esm/surfaces/point-of-sale.mjs +1 -0
  9. package/build/esnext/surfaces/customer-account/preact/authenticated-account.esnext +1 -1
  10. package/build/esnext/surfaces/point-of-sale/events.esnext +39 -22
  11. package/build/esnext/surfaces/point-of-sale/pos-list-template.esnext +331 -0
  12. package/build/esnext/surfaces/point-of-sale.esnext +1 -0
  13. package/build/ts/shared.d.ts +6 -20
  14. package/build/ts/shared.d.ts.map +1 -1
  15. package/build/ts/surfaces/admin/api/picker/picker.d.ts +2 -2
  16. package/build/ts/surfaces/admin/api/picker/picker.d.ts.map +1 -1
  17. package/build/ts/surfaces/admin/components/AdminAction.d.ts +2 -2
  18. package/build/ts/surfaces/admin/components/AdminBlock.d.ts +3 -3
  19. package/build/ts/surfaces/admin/components/AdminPrintAction.d.ts +2 -2
  20. package/build/ts/surfaces/admin/components/AppNav.d.ts +1 -1
  21. package/build/ts/surfaces/admin/components/Avatar.d.ts +1 -1
  22. package/build/ts/surfaces/admin/components/Badge.d.ts +1 -1
  23. package/build/ts/surfaces/admin/components/Banner.d.ts +1 -1
  24. package/build/ts/surfaces/admin/components/Box.d.ts +1 -1
  25. package/build/ts/surfaces/admin/components/Button.d.ts +1 -1
  26. package/build/ts/surfaces/admin/components/ButtonGroup.d.ts +1 -1
  27. package/build/ts/surfaces/admin/components/Checkbox.d.ts +3 -3
  28. package/build/ts/surfaces/admin/components/Chip.d.ts +1 -1
  29. package/build/ts/surfaces/admin/components/Choice.d.ts +3 -3
  30. package/build/ts/surfaces/admin/components/ChoiceList.d.ts +3 -3
  31. package/build/ts/surfaces/admin/components/Clickable.d.ts +1 -1
  32. package/build/ts/surfaces/admin/components/ClickableChip.d.ts +1 -1
  33. package/build/ts/surfaces/admin/components/ColorField.d.ts +1 -1
  34. package/build/ts/surfaces/admin/components/ColorPicker.d.ts +1 -1
  35. package/build/ts/surfaces/admin/components/DateField.d.ts +1 -1
  36. package/build/ts/surfaces/admin/components/DatePicker.d.ts +1 -1
  37. package/build/ts/surfaces/admin/components/Divider.d.ts +1 -1
  38. package/build/ts/surfaces/admin/components/DropZone.d.ts +1 -1
  39. package/build/ts/surfaces/admin/components/EmailField.d.ts +1 -1
  40. package/build/ts/surfaces/admin/components/EmptyState.d.ts +1 -1
  41. package/build/ts/surfaces/admin/components/Form.d.ts +1 -1
  42. package/build/ts/surfaces/admin/components/FunctionSettings.d.ts +1 -1
  43. package/build/ts/surfaces/admin/components/Grid.d.ts +1 -1
  44. package/build/ts/surfaces/admin/components/GridItem.d.ts +1 -1
  45. package/build/ts/surfaces/admin/components/Heading.d.ts +1 -1
  46. package/build/ts/surfaces/admin/components/Icon.d.ts +1 -1
  47. package/build/ts/surfaces/admin/components/Image.d.ts +1 -1
  48. package/build/ts/surfaces/admin/components/Link.d.ts +1 -1
  49. package/build/ts/surfaces/admin/components/ListItem.d.ts +1 -1
  50. package/build/ts/surfaces/admin/components/Menu.d.ts +1 -1
  51. package/build/ts/surfaces/admin/components/Modal.d.ts +1 -1
  52. package/build/ts/surfaces/admin/components/MoneyField.d.ts +1 -1
  53. package/build/ts/surfaces/admin/components/Number.d.ts +1 -1
  54. package/build/ts/surfaces/admin/components/NumberField.d.ts +1 -1
  55. package/build/ts/surfaces/admin/components/Option.d.ts +3 -3
  56. package/build/ts/surfaces/admin/components/OptionGroup.d.ts +1 -1
  57. package/build/ts/surfaces/admin/components/OrderedList.d.ts +1 -1
  58. package/build/ts/surfaces/admin/components/Page.d.ts +1 -1
  59. package/build/ts/surfaces/admin/components/Paragraph.d.ts +1 -1
  60. package/build/ts/surfaces/admin/components/PasswordField.d.ts +1 -1
  61. package/build/ts/surfaces/admin/components/Popover.d.ts +1 -1
  62. package/build/ts/surfaces/admin/components/Progress.d.ts +155 -0
  63. package/build/ts/surfaces/admin/components/QueryContainer.d.ts +1 -1
  64. package/build/ts/surfaces/admin/components/SearchField.d.ts +1 -1
  65. package/build/ts/surfaces/admin/components/Section.d.ts +11 -3
  66. package/build/ts/surfaces/admin/components/Select.d.ts +1 -1
  67. package/build/ts/surfaces/admin/components/Spinner.d.ts +1 -1
  68. package/build/ts/surfaces/admin/components/Stack.d.ts +1 -1
  69. package/build/ts/surfaces/admin/components/StandardComponents.d.ts +1 -1
  70. package/build/ts/surfaces/admin/components/StandardComponents.d.ts.map +1 -1
  71. package/build/ts/surfaces/admin/components/Switch.d.ts +3 -3
  72. package/build/ts/surfaces/admin/components/Table.d.ts +1 -1
  73. package/build/ts/surfaces/admin/components/TableBody.d.ts +1 -1
  74. package/build/ts/surfaces/admin/components/TableCell.d.ts +1 -1
  75. package/build/ts/surfaces/admin/components/TableHeader.d.ts +1 -1
  76. package/build/ts/surfaces/admin/components/TableHeaderRow.d.ts +1 -1
  77. package/build/ts/surfaces/admin/components/TableRow.d.ts +1 -1
  78. package/build/ts/surfaces/admin/components/Text.d.ts +1 -1
  79. package/build/ts/surfaces/admin/components/TextArea.d.ts +1 -1
  80. package/build/ts/surfaces/admin/components/TextField.d.ts +1 -1
  81. package/build/ts/surfaces/admin/components/Thumbnail.d.ts +1 -1
  82. package/build/ts/surfaces/admin/components/Tooltip.d.ts +1 -1
  83. package/build/ts/surfaces/admin/components/URLField.d.ts +1 -1
  84. package/build/ts/surfaces/admin/components/UnorderedList.d.ts +1 -1
  85. package/build/ts/surfaces/admin/components/shared.d.ts +47 -7
  86. package/build/ts/surfaces/admin/targets/admin.abandoned-checkout-details.action.render.d.ts +3 -0
  87. package/build/ts/surfaces/admin/targets/admin.abandoned-checkout-details.block.render.d.ts +3 -0
  88. package/build/ts/surfaces/admin/targets/admin.abandoned-checkout-index.action.render.d.ts +3 -0
  89. package/build/ts/surfaces/admin/targets/admin.app.home.render.d.ts +3 -0
  90. package/build/ts/surfaces/admin/targets/admin.app.intent.render.d.ts +3 -0
  91. package/build/ts/surfaces/admin/targets/admin.catalog-details.action.render.d.ts +3 -0
  92. package/build/ts/surfaces/admin/targets/admin.catalog-details.block.render.d.ts +3 -0
  93. package/build/ts/surfaces/admin/targets/admin.collection-details.action.render.d.ts +3 -0
  94. package/build/ts/surfaces/admin/targets/admin.collection-details.block.render.d.ts +3 -0
  95. package/build/ts/surfaces/admin/targets/admin.collection-index.action.render.d.ts +3 -0
  96. package/build/ts/surfaces/admin/targets/admin.company-details.action.render.d.ts +3 -0
  97. package/build/ts/surfaces/admin/targets/admin.company-details.block.render.d.ts +3 -0
  98. package/build/ts/surfaces/admin/targets/admin.company-location-details.block.render.d.ts +3 -0
  99. package/build/ts/surfaces/admin/targets/admin.customer-details.action.render.d.ts +3 -0
  100. package/build/ts/surfaces/admin/targets/admin.customer-details.block.render.d.ts +3 -0
  101. package/build/ts/surfaces/admin/targets/admin.customer-index.action.render.d.ts +3 -0
  102. package/build/ts/surfaces/admin/targets/admin.customer-index.selection-action.render.d.ts +3 -0
  103. package/build/ts/surfaces/admin/targets/admin.customer-segment-details.action.render.d.ts +3 -0
  104. package/build/ts/surfaces/admin/targets/admin.discount-details.action.render.d.ts +3 -0
  105. package/build/ts/surfaces/admin/targets/admin.discount-details.function-settings.render.d.ts +3 -0
  106. package/build/ts/surfaces/admin/targets/admin.discount-index.action.render.d.ts +3 -0
  107. package/build/ts/surfaces/admin/targets/admin.discount-index.selection-action.render.d.ts +3 -0
  108. package/build/ts/surfaces/admin/targets/admin.draft-order-details.action.render.d.ts +3 -0
  109. package/build/ts/surfaces/admin/targets/admin.draft-order-details.block.render.d.ts +3 -0
  110. package/build/ts/surfaces/admin/targets/admin.draft-order-index.action.render.d.ts +3 -0
  111. package/build/ts/surfaces/admin/targets/admin.draft-order-index.selection-action.render.d.ts +3 -0
  112. package/build/ts/surfaces/admin/targets/admin.gift-card-details.action.render.d.ts +3 -0
  113. package/build/ts/surfaces/admin/targets/admin.gift-card-details.block.render.d.ts +3 -0
  114. package/build/ts/surfaces/admin/targets/admin.order-details.action.render.d.ts +3 -0
  115. package/build/ts/surfaces/admin/targets/admin.order-details.block.render.d.ts +3 -0
  116. package/build/ts/surfaces/admin/targets/admin.order-details.print-action.render.d.ts +3 -0
  117. package/build/ts/surfaces/admin/targets/admin.order-fulfilled-card.action.render.d.ts +3 -0
  118. package/build/ts/surfaces/admin/targets/admin.order-index.action.render.d.ts +3 -0
  119. package/build/ts/surfaces/admin/targets/admin.order-index.selection-action.render.d.ts +3 -0
  120. package/build/ts/surfaces/admin/targets/admin.order-index.selection-print-action.render.d.ts +3 -0
  121. package/build/ts/surfaces/admin/targets/admin.product-details.action.render.d.ts +3 -0
  122. package/build/ts/surfaces/admin/targets/admin.product-details.block.render.d.ts +3 -0
  123. package/build/ts/surfaces/admin/targets/admin.product-details.configuration.render.d.ts +3 -0
  124. package/build/ts/surfaces/admin/targets/admin.product-details.print-action.render.d.ts +3 -0
  125. package/build/ts/surfaces/admin/targets/admin.product-details.reorder.render.d.ts +3 -0
  126. package/build/ts/surfaces/admin/targets/admin.product-index.action.render.d.ts +3 -0
  127. package/build/ts/surfaces/admin/targets/admin.product-index.selection-action.render.d.ts +3 -0
  128. package/build/ts/surfaces/admin/targets/admin.product-index.selection-print-action.render.d.ts +3 -0
  129. package/build/ts/surfaces/admin/targets/admin.product-purchase-option.action.render.d.ts +3 -0
  130. package/build/ts/surfaces/admin/targets/admin.product-variant-details.action.render.d.ts +3 -0
  131. package/build/ts/surfaces/admin/targets/admin.product-variant-details.block.render.d.ts +3 -0
  132. package/build/ts/surfaces/admin/targets/admin.product-variant-details.configuration.render.d.ts +3 -0
  133. package/build/ts/surfaces/admin/targets/admin.product-variant-purchase-option.action.render.d.ts +3 -0
  134. package/build/ts/surfaces/admin/targets/admin.settings.internal-order-routing-rule.render.d.ts +3 -0
  135. package/build/ts/surfaces/admin/targets/admin.settings.order-routing-rule.render.d.ts +3 -0
  136. package/build/ts/surfaces/admin/targets/admin.settings.validation.render.d.ts +3 -0
  137. package/build/ts/surfaces/checkout/api/address-autocomplete/format-suggestion.d.ts +7 -0
  138. package/build/ts/surfaces/checkout/api/address-autocomplete/format-suggestion.d.ts.map +1 -1
  139. package/build/ts/surfaces/checkout/api/address-autocomplete/shared.d.ts +8 -1
  140. package/build/ts/surfaces/checkout/api/address-autocomplete/shared.d.ts.map +1 -1
  141. package/build/ts/surfaces/checkout/api/address-autocomplete/standard.d.ts +2 -2
  142. package/build/ts/surfaces/checkout/api/address-autocomplete/standard.d.ts.map +1 -1
  143. package/build/ts/surfaces/checkout/api/address-autocomplete/suggest.d.ts +7 -0
  144. package/build/ts/surfaces/checkout/api/address-autocomplete/suggest.d.ts.map +1 -1
  145. package/build/ts/surfaces/checkout/api/checkout/checkout.d.ts +15 -4
  146. package/build/ts/surfaces/checkout/api/checkout/checkout.d.ts.map +1 -1
  147. package/build/ts/surfaces/checkout/api/shared.d.ts +102 -1
  148. package/build/ts/surfaces/checkout/api/shared.d.ts.map +1 -1
  149. package/build/ts/surfaces/checkout/api/standard/standard.d.ts +8 -2
  150. package/build/ts/surfaces/checkout/api/standard/standard.d.ts.map +1 -1
  151. package/build/ts/surfaces/checkout/components/MoneyField.d.ts +3 -1
  152. package/build/ts/surfaces/checkout/components/NumberField.d.ts +3 -1
  153. package/build/ts/surfaces/checkout/components/components-shared.d.ts +1 -1
  154. package/build/ts/surfaces/checkout/preact/country.d.ts +1 -1
  155. package/build/ts/surfaces/checkout/preact/country.d.ts.map +1 -1
  156. package/build/ts/surfaces/checkout.d.ts +2 -2
  157. package/build/ts/surfaces/checkout.d.ts.map +1 -1
  158. package/build/ts/surfaces/customer-account/api/shared.d.ts +26 -7
  159. package/build/ts/surfaces/customer-account/api/shared.d.ts.map +1 -1
  160. package/build/ts/surfaces/customer-account/api.d.ts +1 -1
  161. package/build/ts/surfaces/customer-account/api.d.ts.map +1 -1
  162. package/build/ts/surfaces/customer-account/components/MoneyField.d.ts +3 -1
  163. package/build/ts/surfaces/customer-account/components/NumberField.d.ts +3 -1
  164. package/build/ts/surfaces/customer-account/components/components-shared.d.ts +1 -1
  165. package/build/ts/surfaces/customer-account/preact/authenticated-account.d.ts +3 -3
  166. package/build/ts/surfaces/customer-account/preact/authenticated-account.d.ts.map +1 -1
  167. package/build/ts/surfaces/point-of-sale/api/cart-api/cart-api.d.ts +13 -0
  168. package/build/ts/surfaces/point-of-sale/api/cart-api/cart-api.d.ts.map +1 -1
  169. package/build/ts/surfaces/point-of-sale/api/device-api/device-api.d.ts +4 -0
  170. package/build/ts/surfaces/point-of-sale/api/device-api/device-api.d.ts.map +1 -1
  171. package/build/ts/surfaces/point-of-sale/api/docs.d.ts +7 -0
  172. package/build/ts/surfaces/point-of-sale/api/docs.d.ts.map +1 -1
  173. package/build/ts/surfaces/point-of-sale/api/extension-api/extension-api.d.ts +25 -5
  174. package/build/ts/surfaces/point-of-sale/api/extension-api/extension-api.d.ts.map +1 -1
  175. package/build/ts/surfaces/point-of-sale/api/navigation-api/navigation-api.d.ts +19 -7
  176. package/build/ts/surfaces/point-of-sale/api/navigation-api/navigation-api.d.ts.map +1 -1
  177. package/build/ts/surfaces/point-of-sale/api/resolution-api/resolution-api.d.ts +28 -3
  178. package/build/ts/surfaces/point-of-sale/api/resolution-api/resolution-api.d.ts.map +1 -1
  179. package/build/ts/surfaces/point-of-sale/api/session-api/session-api.d.ts +1 -1
  180. package/build/ts/surfaces/point-of-sale/api.d.ts +2 -2
  181. package/build/ts/surfaces/point-of-sale/api.d.ts.map +1 -1
  182. package/build/ts/surfaces/point-of-sale/components/POSList.d.ts +179 -0
  183. package/build/ts/surfaces/point-of-sale/components/targets/BlockExtensionComponents.d.ts +1 -1
  184. package/build/ts/surfaces/point-of-sale/components/targets/BlockExtensionComponents.d.ts.map +1 -1
  185. package/build/ts/surfaces/point-of-sale/components/targets/ResolutionComponents.d.ts +1 -1
  186. package/build/ts/surfaces/point-of-sale/components/targets/ResolutionComponents.d.ts.map +1 -1
  187. package/build/ts/surfaces/point-of-sale/components/targets/StandardComponents.d.ts +1 -1
  188. package/build/ts/surfaces/point-of-sale/components/targets/StandardComponents.d.ts.map +1 -1
  189. package/build/ts/surfaces/point-of-sale/event/data/BaseData.d.ts +12 -1
  190. package/build/ts/surfaces/point-of-sale/event/data/BaseData.d.ts.map +1 -1
  191. package/build/ts/surfaces/point-of-sale/event/data.d.ts +1 -1
  192. package/build/ts/surfaces/point-of-sale/event/data.d.ts.map +1 -1
  193. package/build/ts/surfaces/point-of-sale/events/scan-event.d.ts +34 -0
  194. package/build/ts/surfaces/point-of-sale/events/scan-event.d.ts.map +1 -0
  195. package/build/ts/surfaces/point-of-sale/events.d.ts +58 -28
  196. package/build/ts/surfaces/point-of-sale/events.d.ts.map +1 -1
  197. package/build/ts/surfaces/point-of-sale/extension-targets.d.ts +4 -4
  198. package/build/ts/surfaces/point-of-sale/extension-targets.d.ts.map +1 -1
  199. package/build/ts/surfaces/point-of-sale/globals.d.ts +0 -2
  200. package/build/ts/surfaces/point-of-sale/globals.d.ts.map +1 -1
  201. package/build/ts/surfaces/point-of-sale/pos-list-template.d.ts +36 -0
  202. package/build/ts/surfaces/point-of-sale/pos-list-template.d.ts.map +1 -0
  203. package/build/ts/surfaces/point-of-sale/targets/pos.cart.line-item-details.action.render.d.ts +1 -0
  204. package/build/ts/surfaces/point-of-sale/targets/pos.cart.validations.resolution.render.d.ts +1 -0
  205. package/build/ts/surfaces/point-of-sale/targets/pos.customer-details.action.render.d.ts +1 -0
  206. package/build/ts/surfaces/point-of-sale/targets/pos.draft-order-details.action.render.d.ts +1 -0
  207. package/build/ts/surfaces/point-of-sale/targets/pos.exchange.post.action.render.d.ts +1 -0
  208. package/build/ts/surfaces/point-of-sale/targets/pos.home.modal.render.d.ts +1 -0
  209. package/build/ts/surfaces/point-of-sale/targets/pos.order-details.action.render.d.ts +1 -0
  210. package/build/ts/surfaces/point-of-sale/targets/pos.payment.validations.resolution.render.d.ts +1 -0
  211. package/build/ts/surfaces/point-of-sale/targets/pos.product-details.action.render.d.ts +1 -0
  212. package/build/ts/surfaces/point-of-sale/targets/pos.purchase.post.action.render.d.ts +1 -0
  213. package/build/ts/surfaces/point-of-sale/targets/pos.register-details.action.render.d.ts +1 -0
  214. package/build/ts/surfaces/point-of-sale/targets/pos.return.post.action.render.d.ts +1 -0
  215. package/build/ts/surfaces/point-of-sale/types/session.d.ts +0 -6
  216. package/build/ts/surfaces/point-of-sale/types/session.d.ts.map +1 -1
  217. package/build/ts/surfaces/point-of-sale.d.ts +1 -0
  218. package/build/ts/surfaces/point-of-sale.d.ts.map +1 -1
  219. package/build/tsconfig.tsbuildinfo +1 -1
  220. package/package.json +2 -1
  221. package/src/shared.ts +22 -21
  222. package/src/surfaces/admin/api/picker/picker.ts +5 -2
  223. package/src/surfaces/admin/components/AdminAction.d.ts +2 -2
  224. package/src/surfaces/admin/components/AdminBlock.d.ts +3 -3
  225. package/src/surfaces/admin/components/AdminPrintAction.d.ts +2 -2
  226. package/src/surfaces/admin/components/AppNav.d.ts +1 -1
  227. package/src/surfaces/admin/components/Avatar.d.ts +1 -1
  228. package/src/surfaces/admin/components/Badge.d.ts +1 -1
  229. package/src/surfaces/admin/components/Banner.d.ts +1 -1
  230. package/src/surfaces/admin/components/Box.d.ts +1 -1
  231. package/src/surfaces/admin/components/Button.d.ts +1 -1
  232. package/src/surfaces/admin/components/ButtonGroup.d.ts +1 -1
  233. package/src/surfaces/admin/components/Checkbox.d.ts +3 -3
  234. package/src/surfaces/admin/components/Chip.d.ts +1 -1
  235. package/src/surfaces/admin/components/Choice.d.ts +3 -3
  236. package/src/surfaces/admin/components/ChoiceList.d.ts +3 -3
  237. package/src/surfaces/admin/components/Clickable.d.ts +1 -1
  238. package/src/surfaces/admin/components/ClickableChip.d.ts +1 -1
  239. package/src/surfaces/admin/components/ColorField.d.ts +1 -1
  240. package/src/surfaces/admin/components/ColorPicker.d.ts +1 -1
  241. package/src/surfaces/admin/components/DateField.d.ts +1 -1
  242. package/src/surfaces/admin/components/DatePicker.d.ts +1 -1
  243. package/src/surfaces/admin/components/Divider.d.ts +1 -1
  244. package/src/surfaces/admin/components/DropZone.d.ts +1 -1
  245. package/src/surfaces/admin/components/EmailField.d.ts +1 -1
  246. package/src/surfaces/admin/components/EmptyState.d.ts +1 -1
  247. package/src/surfaces/admin/components/Form.d.ts +1 -1
  248. package/src/surfaces/admin/components/FunctionSettings.d.ts +1 -1
  249. package/src/surfaces/admin/components/Grid.d.ts +1 -1
  250. package/src/surfaces/admin/components/GridItem.d.ts +1 -1
  251. package/src/surfaces/admin/components/Heading.d.ts +1 -1
  252. package/src/surfaces/admin/components/Icon.d.ts +1 -1
  253. package/src/surfaces/admin/components/Image.d.ts +1 -1
  254. package/src/surfaces/admin/components/Link.d.ts +1 -1
  255. package/src/surfaces/admin/components/ListItem.d.ts +1 -1
  256. package/src/surfaces/admin/components/Menu.d.ts +1 -1
  257. package/src/surfaces/admin/components/Modal.d.ts +1 -1
  258. package/src/surfaces/admin/components/MoneyField.d.ts +1 -1
  259. package/src/surfaces/admin/components/Number.d.ts +1 -1
  260. package/src/surfaces/admin/components/NumberField.d.ts +1 -1
  261. package/src/surfaces/admin/components/Option.d.ts +3 -3
  262. package/src/surfaces/admin/components/OptionGroup.d.ts +1 -1
  263. package/src/surfaces/admin/components/OrderedList.d.ts +1 -1
  264. package/src/surfaces/admin/components/Page.d.ts +1 -1
  265. package/src/surfaces/admin/components/Paragraph.d.ts +1 -1
  266. package/src/surfaces/admin/components/PasswordField.d.ts +1 -1
  267. package/src/surfaces/admin/components/Popover.d.ts +1 -1
  268. package/src/surfaces/admin/components/Progress.d.ts +155 -0
  269. package/src/surfaces/admin/components/QueryContainer.d.ts +1 -1
  270. package/src/surfaces/admin/components/SearchField.d.ts +1 -1
  271. package/src/surfaces/admin/components/Section.d.ts +11 -3
  272. package/src/surfaces/admin/components/Select.d.ts +1 -1
  273. package/src/surfaces/admin/components/Spinner.d.ts +1 -1
  274. package/src/surfaces/admin/components/Stack.d.ts +1 -1
  275. package/src/surfaces/admin/components/StandardComponents.ts +3 -0
  276. package/src/surfaces/admin/components/Switch.d.ts +3 -3
  277. package/src/surfaces/admin/components/Table.d.ts +1 -1
  278. package/src/surfaces/admin/components/TableBody.d.ts +1 -1
  279. package/src/surfaces/admin/components/TableCell.d.ts +1 -1
  280. package/src/surfaces/admin/components/TableHeader.d.ts +1 -1
  281. package/src/surfaces/admin/components/TableHeaderRow.d.ts +1 -1
  282. package/src/surfaces/admin/components/TableRow.d.ts +1 -1
  283. package/src/surfaces/admin/components/Text.d.ts +1 -1
  284. package/src/surfaces/admin/components/TextArea.d.ts +1 -1
  285. package/src/surfaces/admin/components/TextField.d.ts +1 -1
  286. package/src/surfaces/admin/components/Thumbnail.d.ts +1 -1
  287. package/src/surfaces/admin/components/Tooltip.d.ts +1 -1
  288. package/src/surfaces/admin/components/URLField.d.ts +1 -1
  289. package/src/surfaces/admin/components/UnorderedList.d.ts +1 -1
  290. package/src/surfaces/admin/components/shared.d.ts +47 -7
  291. package/src/surfaces/admin/components.d.ts +8216 -2635
  292. package/src/surfaces/checkout/api/address-autocomplete/format-suggestion.ts +9 -0
  293. package/src/surfaces/checkout/api/address-autocomplete/shared.ts +9 -0
  294. package/src/surfaces/checkout/api/address-autocomplete/standard.ts +1 -2
  295. package/src/surfaces/checkout/api/address-autocomplete/suggest.ts +8 -0
  296. package/src/surfaces/checkout/api/checkout/checkout.ts +19 -9
  297. package/src/surfaces/checkout/api/shared.ts +110 -1
  298. package/src/surfaces/checkout/api/standard/standard.ts +11 -1
  299. package/src/surfaces/checkout/components/MoneyField.d.ts +3 -1
  300. package/src/surfaces/checkout/components/NumberField.d.ts +3 -1
  301. package/src/surfaces/checkout/components/components-shared.d.ts +1 -1
  302. package/src/surfaces/checkout/preact/country.ts +1 -1
  303. package/src/surfaces/checkout.ts +3 -0
  304. package/src/surfaces/customer-account/api/shared.ts +25 -7
  305. package/src/surfaces/customer-account/api.ts +1 -0
  306. package/src/surfaces/customer-account/preact/authenticated-account.ts +3 -3
  307. package/src/surfaces/point-of-sale/api/cart-api/cart-api.ts +14 -0
  308. package/src/surfaces/point-of-sale/api/device-api/device-api.ts +4 -0
  309. package/src/surfaces/point-of-sale/api/docs.ts +8 -0
  310. package/src/surfaces/point-of-sale/api/extension-api/extension-api.ts +25 -5
  311. package/src/surfaces/point-of-sale/api/navigation-api/navigation-api.ts +22 -7
  312. package/src/surfaces/point-of-sale/api/resolution-api/resolution-api.ts +30 -3
  313. package/src/surfaces/point-of-sale/api/session-api/session-api.ts +1 -1
  314. package/src/surfaces/point-of-sale/api.ts +2 -0
  315. package/src/surfaces/point-of-sale/components/POSList.d.ts +179 -0
  316. package/src/surfaces/point-of-sale/components/targets/BlockExtensionComponents.ts +0 -4
  317. package/src/surfaces/point-of-sale/components/targets/ResolutionComponents.ts +1 -1
  318. package/src/surfaces/point-of-sale/components/targets/StandardComponents.ts +1 -3
  319. package/src/surfaces/point-of-sale/components.d.ts +194 -0
  320. package/src/surfaces/point-of-sale/event/data/BaseData.ts +13 -1
  321. package/src/surfaces/point-of-sale/event/data.ts +1 -1
  322. package/src/surfaces/point-of-sale/events/scan-event.ts +34 -0
  323. package/src/surfaces/point-of-sale/events.ts +58 -27
  324. package/src/surfaces/point-of-sale/extension-targets.ts +4 -4
  325. package/src/surfaces/point-of-sale/globals.ts +0 -2
  326. package/src/surfaces/point-of-sale/pos-list-template.ts +351 -0
  327. package/src/surfaces/point-of-sale/tests/pos-list-template.test.ts +306 -0
  328. package/src/surfaces/point-of-sale/types/session.ts +0 -7
  329. package/src/surfaces/point-of-sale.ts +1 -0
@@ -8,17 +8,44 @@ import type {ReadonlySignalLike} from '../../../../shared';
8
8
  * @private
9
9
  */
10
10
  export interface ResolutionApi<TEventData> {
11
+ /** The intercepted event data and save handler for the active resolution target. */
11
12
  resolution: ResolutionApiContent<TEventData>;
12
13
  }
13
14
 
14
15
  /**
15
- * @private
16
+ * Runs when staff advance the resolution flow. Return a promise to have POS
17
+ * wait for pending work to finish before it re-runs validation.
18
+ *
19
+ * @publicDocs
20
+ */
21
+ export type ResolutionSaveHandler = () => void | Promise<void>;
22
+
23
+ /**
24
+ * The intercepted event data and save handler available to a validation
25
+ * resolution target through `shopify.resolution`.
26
+ *
27
+ * @publicDocs
16
28
  */
17
29
  export interface ResolutionApiContent<TEventData> {
18
30
  /**
19
31
  * The data of the intercepted event this resolution target was opened for.
20
- * The `value` property provides the current data, and `subscribe` allows
21
- * listening for host-owned revalidation updates.
32
+ * The `value` property provides the current data, and `subscribe` receives
33
+ * Shopify POS revalidation updates.
22
34
  */
23
35
  event: ReadonlySignalLike<TEventData>;
36
+
37
+ /**
38
+ * Registers a handler that runs when staff advance the resolution flow
39
+ * (Save, Next, or Done). POS awaits the handler before it re-runs the
40
+ * intercepted validation, so use it to commit any pending work, for example
41
+ * cart updates or storage writes, and `await` those calls inside the handler.
42
+ * A rejected promise does not stop the flow; POS still re-runs validation and
43
+ * the interceptor result decides what happens next.
44
+ *
45
+ * Only the most recent handler is kept.
46
+ *
47
+ * @returns A promise that resolves to an async cleanup function that
48
+ * unregisters the handler.
49
+ */
50
+ onSave(handler: ResolutionSaveHandler): Promise<() => Promise<void>>;
24
51
  }
@@ -7,7 +7,7 @@ import type {Session, StaffMember} from '../../types/session';
7
7
  */
8
8
  export interface SessionApiContent {
9
9
  /**
10
- * Provides comprehensive information about the current POS session including shop details, user authentication, location data, staff member information, currency settings, and POS version. This data is static for the duration of the session and updates when users switch locations or staff members change.
10
+ * Provides information about the current POS session including shop details, user authentication, location data, currency settings, and POS version. Use `session.staffMember` to access the staff member currently pinned into POS and subscribe to staff member changes.
11
11
  */
12
12
  currentSession: Session;
13
13
  /**
@@ -24,11 +24,13 @@ export type {DataTargetApi} from './api/data-target-api/data-target-api';
24
24
  export type {
25
25
  ResolutionApi,
26
26
  ResolutionApiContent,
27
+ ResolutionSaveHandler,
27
28
  } from './api/resolution-api/resolution-api';
28
29
  export type {
29
30
  TransactionCompleteEvent,
30
31
  CashTrackingSessionStartEvent,
31
32
  CashTrackingSessionCompleteEvent,
33
+ ScanEvent,
32
34
  ShopifyEventMap,
33
35
  } from './events';
34
36
 
@@ -0,0 +1,179 @@
1
+ /** VERSION: undefined **/
2
+ /* eslint-disable import-x/extensions */
3
+ /* eslint-disable @typescript-eslint/no-namespace */
4
+ /* eslint-disable @typescript-eslint/member-ordering */
5
+ /* eslint-disable line-comment-position */
6
+ /* eslint-disable @typescript-eslint/unified-signatures */
7
+ /* eslint-disable no-var */
8
+ /* eslint-disable import-x/namespace */
9
+ // eslint-disable-next-line @typescript-eslint/triple-slash-reference, spaced-comment
10
+ /// <reference lib="DOM" />
11
+ import type {Key, Ref, ComponentChild} from './components-shared.d.ts';
12
+
13
+ export type ComponentChildren = any;
14
+ /**
15
+ * Used when an element does not have children.
16
+ */
17
+ export interface BaseElementProps<TClass = HTMLElement> {
18
+ key?: Key;
19
+ ref?: Ref<TClass>;
20
+ slot?: Lowercase<string>;
21
+ }
22
+ /**
23
+ * Used when an element has children.
24
+ */
25
+ export interface BaseElementPropsWithChildren<TClass = HTMLElement>
26
+ extends BaseElementProps<TClass> {
27
+ children?: ComponentChildren;
28
+ }
29
+ export type IntrinsicElementProps<T> = T &
30
+ BaseElementPropsWithChildren<T & HTMLElement>;
31
+ export type HtmlElementTagNameProps<T> = T & HTMLElement;
32
+ export type ElementForTag<T extends string> =
33
+ T extends keyof HTMLElementTagNameMap
34
+ ? HTMLElementTagNameMap[T]
35
+ : HTMLElement;
36
+ export interface CallbackEvent<T extends string> {
37
+ currentTarget: ElementForTag<T>;
38
+ bubbles?: boolean;
39
+ cancelable?: boolean;
40
+ composed?: boolean;
41
+ detail?: any;
42
+ eventPhase: number;
43
+ target: ElementForTag<T> | null;
44
+ }
45
+
46
+ /**
47
+ * The serialized template AST carried by `s-pos-list`'s `itemTemplates`
48
+ * property.
49
+ *
50
+ * Templates are authored in the extension sandbox with the `posListTemplate`
51
+ * tagged template, compiled once into this plain-JSON shape, and shipped
52
+ * across the bridge as a single property. The host hydrates the AST per
53
+ * visible row, so no RemoteDOM nodes exist for template content and no
54
+ * extension code runs while scrolling.
55
+ */
56
+ /** A literal string piece or a row-field lookup within interpolated text. */
57
+ export type POSListTemplateSegment =
58
+ | string
59
+ | {
60
+ path: string;
61
+ };
62
+ export type POSListTemplateProp =
63
+ /** A static value. Web component attributes yield strings, or `true` when valueless. */
64
+ | {
65
+ kind: 'literal';
66
+ value: string | boolean;
67
+ }
68
+ /** The row field at `path`, passed through with its original type (`bind:prop="path"`). */
69
+ | {
70
+ kind: 'field';
71
+ path: string;
72
+ }
73
+ /** A string built from literal pieces and `{{path}}` lookups. */
74
+ | {
75
+ kind: 'segments';
76
+ segments: POSListTemplateSegment[];
77
+ };
78
+ export type POSListTemplateNode =
79
+ | {
80
+ kind: 'element';
81
+ tag: string;
82
+ props?: Record<string, POSListTemplateProp>;
83
+ children?: POSListTemplateNode[];
84
+ }
85
+ /** Literal text, possibly interpolated with `{{path}}` lookups. */
86
+ | {
87
+ kind: 'text';
88
+ segments: POSListTemplateSegment[];
89
+ }
90
+ /** `{{#if path}}…{{/if}}`: children render only when the field is truthy. */
91
+ | {
92
+ kind: 'if';
93
+ path: string;
94
+ children: POSListTemplateNode[];
95
+ };
96
+ /** One `<s-pos-list-item templateId="…">` root. */
97
+ export interface POSListItemTemplate {
98
+ templateId: string;
99
+ /** `button` rows fire `rowclick`; `text` rows are static content. */
100
+ type: 'button' | 'text';
101
+ children: POSListTemplateNode[];
102
+ }
103
+ export interface POSListTemplates {
104
+ templates: POSListItemTemplate[];
105
+ }
106
+
107
+ declare const tagName = 's-pos-list';
108
+ /**
109
+ * A row supplied to `s-pos-list`. Rows are plain data; every member other than `id` and
110
+ * `templateFor` is available to the row's item template through `{{path}}`, `bind:prop`,
111
+ * and `{{#if path}}` bindings.
112
+ */
113
+ export interface POSListRow {
114
+ /** A unique identifier for the row. Keys virtualization and identity across incremental loads. */
115
+ id: string;
116
+ /** The `templateId` of the item template that renders this row. */
117
+ templateFor: string;
118
+ /** Any additional data the row's template reads. */
119
+ [field: string]: unknown;
120
+ }
121
+ /**
122
+ * The event fired when a `button` row is activated. `event.detail.item` is the activated row, and
123
+ * `event.detail.index` is its position in `rows`.
124
+ */
125
+ export type POSListRowClickEvent = CallbackEvent<'s-pos-list'> & {
126
+ detail: {
127
+ item: POSListRow;
128
+ index: number;
129
+ };
130
+ };
131
+ /**
132
+ * Displays a virtualized list of rows rendered from plain data and item templates compiled with
133
+ * `posListTemplate`.
134
+ *
135
+ * @publicDocs
136
+ */
137
+ export interface POSListJSXProps {
138
+ /** A unique identifier for the element. */
139
+ id?: string;
140
+ /** An array of POSListRow objects that define the content of each row in the list. */
141
+ rows?: POSListRow[];
142
+ /**
143
+ * Reusable templates that define the layout of list rows. Use `posListTemplate` to define one or
144
+ * more `<s-pos-list-item>` templates.
145
+ */
146
+ itemTemplates?: POSListTemplates;
147
+ /**
148
+ * Whether more data is being loaded. Set to `true` when paginating and fetching additional data
149
+ * for the list. POS shows a progress indicator after the last row.
150
+ *
151
+ * @default false
152
+ */
153
+ loadingMore?: boolean;
154
+ /**
155
+ * Callback when a `button` row is activated. `event.detail.item` is the row and
156
+ * `event.detail.index` its position in `rows`. Rows rendered by a `text` template never fire it.
157
+ */
158
+ onRowClick?: ((event: POSListRowClickEvent) => void) | null;
159
+ /** Callback when the list has scrolled near its end and more rows should be loaded. */
160
+ onLoadMore?: ((event: CallbackEvent<typeof tagName>) => void) | null;
161
+ /** Content displayed before the rows as part of the list's scrollable content. */
162
+ header?: ComponentChild;
163
+ }
164
+ export type ElementProps = Omit<POSListJSXProps, 'header'>;
165
+ declare global {
166
+ interface HTMLElementTagNameMap {
167
+ [tagName]: HtmlElementTagNameProps<ElementProps>;
168
+ }
169
+ }
170
+ declare module 'preact' {
171
+ namespace createElement.JSX {
172
+ interface IntrinsicElements {
173
+ [tagName]: IntrinsicElementProps<ElementProps>;
174
+ }
175
+ }
176
+ }
177
+
178
+ export {tagName};
179
+ export type {ElementProps, POSListJSXProps, POSListRow, POSListRowClickEvent};
@@ -7,15 +7,11 @@ export type BlockExtensionComponents =
7
7
  | 'Button'
8
8
  | 'DatePicker'
9
9
  | 'DateSpinner'
10
- | 'Dialog'
11
10
  | 'Heading'
12
11
  | 'Icon'
13
12
  | 'Image'
14
13
  | 'Modal'
15
- | 'POSBlock'
16
14
  | 'PosBlock' // Case is important in 2025-10
17
- | 'POSBlockRow'
18
- | 'PrintPreview'
19
15
  | 'Section'
20
16
  | 'Stack'
21
17
  | 'Text'
@@ -9,5 +9,5 @@ import type {StandardComponents} from './StandardComponents';
9
9
  */
10
10
  export type ResolutionComponents = Exclude<
11
11
  StandardComponents,
12
- 'Page' | 'POSBlock' | 'PosBlock' | 'Tile'
12
+ 'Page' | 'PosBlock' | 'Tile'
13
13
  >;
@@ -23,10 +23,8 @@ export type StandardComponents =
23
23
  | 'Modal'
24
24
  | 'NumberField'
25
25
  | 'Page'
26
- | 'POSBlock'
26
+ | 'POSList'
27
27
  | 'PosBlock' // Case is important in 2025-10
28
- | 'Route'
29
- | 'Router'
30
28
  | 'ScrollBox'
31
29
  | 'SearchField'
32
30
  | 'Section'
@@ -5435,6 +5435,138 @@ declare module 'preact' {
5435
5435
  }
5436
5436
  }
5437
5437
 
5438
+ /**
5439
+ * The serialized template AST carried by `s-pos-list`'s `itemTemplates`
5440
+ * property.
5441
+ *
5442
+ * Templates are authored in the extension sandbox with the `posListTemplate`
5443
+ * tagged template, compiled once into this plain-JSON shape, and shipped
5444
+ * across the bridge as a single property. The host hydrates the AST per
5445
+ * visible row, so no RemoteDOM nodes exist for template content and no
5446
+ * extension code runs while scrolling.
5447
+ */
5448
+ /** A literal string piece or a row-field lookup within interpolated text. */
5449
+ type POSListTemplateSegment =
5450
+ | string
5451
+ | {
5452
+ path: string;
5453
+ };
5454
+ type POSListTemplateProp =
5455
+ /** A static value. Web component attributes yield strings, or `true` when valueless. */
5456
+ | {
5457
+ kind: 'literal';
5458
+ value: string | boolean;
5459
+ }
5460
+ /** The row field at `path`, passed through with its original type (`bind:prop="path"`). */
5461
+ | {
5462
+ kind: 'field';
5463
+ path: string;
5464
+ }
5465
+ /** A string built from literal pieces and `{{path}}` lookups. */
5466
+ | {
5467
+ kind: 'segments';
5468
+ segments: POSListTemplateSegment[];
5469
+ };
5470
+ type POSListTemplateNode =
5471
+ | {
5472
+ kind: 'element';
5473
+ tag: string;
5474
+ props?: Record<string, POSListTemplateProp>;
5475
+ children?: POSListTemplateNode[];
5476
+ }
5477
+ /** Literal text, possibly interpolated with `{{path}}` lookups. */
5478
+ | {
5479
+ kind: 'text';
5480
+ segments: POSListTemplateSegment[];
5481
+ }
5482
+ /** `{{#if path}}…{{/if}}`: children render only when the field is truthy. */
5483
+ | {
5484
+ kind: 'if';
5485
+ path: string;
5486
+ children: POSListTemplateNode[];
5487
+ };
5488
+ /** One `<s-pos-list-item templateId="…">` root. */
5489
+ interface POSListItemTemplate {
5490
+ templateId: string;
5491
+ /** `button` rows fire `rowclick`; `text` rows are static content. */
5492
+ type: 'button' | 'text';
5493
+ children: POSListTemplateNode[];
5494
+ }
5495
+ interface POSListTemplates {
5496
+ templates: POSListItemTemplate[];
5497
+ }
5498
+
5499
+ declare const posListTagName = 's-pos-list';
5500
+ /**
5501
+ * A row supplied to `s-pos-list`. Rows are plain data; every member other than `id` and
5502
+ * `templateFor` is available to the row's item template through `{{path}}`, `bind:prop`,
5503
+ * and `{{#if path}}` bindings.
5504
+ */
5505
+ interface POSListRow {
5506
+ /** A unique identifier for the row. Keys virtualization and identity across incremental loads. */
5507
+ id: string;
5508
+ /** The `templateId` of the item template that renders this row. */
5509
+ templateFor: string;
5510
+ /** Any additional data the row's template reads. */
5511
+ [field: string]: unknown;
5512
+ }
5513
+ /**
5514
+ * The event fired when a `button` row is activated. `event.detail.item` is the activated row, and
5515
+ * `event.detail.index` is its position in `rows`.
5516
+ */
5517
+ type POSListRowClickEvent = CallbackEvent<'s-pos-list'> & {
5518
+ detail: {
5519
+ item: POSListRow;
5520
+ index: number;
5521
+ };
5522
+ };
5523
+ /**
5524
+ * Displays a virtualized list of rows rendered from plain data and item templates compiled with
5525
+ * `posListTemplate`.
5526
+ *
5527
+ * @publicDocs
5528
+ */
5529
+ interface POSListJSXProps {
5530
+ /** A unique identifier for the element. */
5531
+ id?: string;
5532
+ /** An array of POSListRow objects that define the content of each row in the list. */
5533
+ rows?: POSListRow[];
5534
+ /**
5535
+ * Reusable templates that define the layout of list rows. Use `posListTemplate` to define one or
5536
+ * more `<s-pos-list-item>` templates.
5537
+ */
5538
+ itemTemplates?: POSListTemplates;
5539
+ /**
5540
+ * Whether more data is being loaded. Set to `true` when paginating and fetching additional data
5541
+ * for the list. POS shows a progress indicator after the last row.
5542
+ *
5543
+ * @default false
5544
+ */
5545
+ loadingMore?: boolean;
5546
+ /**
5547
+ * Callback when a `button` row is activated. `event.detail.item` is the row and
5548
+ * `event.detail.index` its position in `rows`. Rows rendered by a `text` template never fire it.
5549
+ */
5550
+ onRowClick?: ((event: POSListRowClickEvent) => void) | null;
5551
+ /** Callback when the list has scrolled near its end and more rows should be loaded. */
5552
+ onLoadMore?: ((event: CallbackEvent<typeof posListTagName>) => void) | null;
5553
+ /** Content displayed before the rows as part of the list's scrollable content. */
5554
+ header?: ComponentChild;
5555
+ }
5556
+ type POSListElementProps = Omit<POSListJSXProps, 'header'>;
5557
+ declare global {
5558
+ interface HTMLElementTagNameMap {
5559
+ [posListTagName]: HtmlElementTagNameProps<POSListElementProps>;
5560
+ }
5561
+ }
5562
+ declare module 'preact' {
5563
+ namespace createElement.JSX {
5564
+ interface IntrinsicElements {
5565
+ [posListTagName]: IntrinsicElementProps<POSListElementProps>;
5566
+ }
5567
+ }
5568
+ }
5569
+
5438
5570
  export type {
5439
5571
  BadgeJSXProps,
5440
5572
  BannerJSXProps,
@@ -5457,6 +5589,7 @@ export type {
5457
5589
  ModalJSXProps,
5458
5590
  NumberFieldJSXProps,
5459
5591
  PageJSXProps,
5592
+ POSListJSXProps,
5460
5593
  PosBlockJSXProps,
5461
5594
  QrCodeJSXProps,
5462
5595
  ScrollBoxJSXProps,
@@ -5477,6 +5610,52 @@ export type {
5477
5610
  TimePickerJSXProps,
5478
5611
  };
5479
5612
 
5613
+ /**
5614
+ * The POS list component provides event callbacks for handling user interactions. Learn more about [handling events](/docs/api/polaris/using-polaris-web-components#handling-events).
5615
+ * @publicDocs
5616
+ */
5617
+ interface POSListEvents {
5618
+ /**
5619
+ * Callback when a `button` row is activated. `event.detail.item` is the row and
5620
+ * `event.detail.index` its position in `rows`. Rows rendered by a `text` template never fire it.
5621
+ */
5622
+ rowclick?: (event: POSListRowClickEvent) => void;
5623
+ /** Callback when the list has scrolled near its end and more rows should be loaded. */
5624
+ loadmore?: (event: CallbackEvent<typeof posListTagName>) => void;
5625
+ }
5626
+
5627
+ /**
5628
+ * Content slots for the POS list.
5629
+ * @publicDocs
5630
+ */
5631
+ interface POSListSlots {
5632
+ /** Content displayed before the rows as part of the list's scrollable content. */
5633
+ header?: HTMLElement;
5634
+ }
5635
+
5636
+ /**
5637
+ * Displays a virtualized list of rows rendered from plain data and item templates compiled with
5638
+ * `posListTemplate`.
5639
+ * @publicDocs
5640
+ */
5641
+ interface POSList {
5642
+ /** A unique identifier for the element. */
5643
+ id?: string;
5644
+ /** An array of POSListRow objects that define the content of each row in the list. */
5645
+ rows?: POSListRow[];
5646
+ /**
5647
+ * Reusable templates that define the layout of list rows. Use `posListTemplate` to define one or
5648
+ * more `<s-pos-list-item>` templates.
5649
+ */
5650
+ itemTemplates?: POSListTemplates;
5651
+ /**
5652
+ * Whether more data is being loaded. Set to `true` when paginating and fetching additional data
5653
+ * for the list. POS shows a progress indicator after the last row.
5654
+ * @default false
5655
+ */
5656
+ loadingMore?: boolean;
5657
+ }
5658
+
5480
5659
  /**
5481
5660
  * The link component provides event callbacks for handling user interactions. Learn more about [handling events](/docs/api/polaris/using-polaris-web-components#handling-events).
5482
5661
  * @publicDocs
@@ -7809,3 +7988,18 @@ declare global {
7809
7988
  }
7810
7989
  }
7811
7990
  }
7991
+
7992
+ declare module 'react' {
7993
+ namespace JSX {
7994
+ interface IntrinsicElements {
7995
+ [posListTagName]: IntrinsicElementProps<POSListElementProps>;
7996
+ }
7997
+ }
7998
+ }
7999
+ declare global {
8000
+ namespace JSX {
8001
+ interface IntrinsicElements {
8002
+ [posListTagName]: IntrinsicElementProps<POSListElementProps>;
8003
+ }
8004
+ }
8005
+ }
@@ -4,6 +4,18 @@ import type {
4
4
  Session,
5
5
  } from '../../../point-of-sale';
6
6
 
7
+ /**
8
+ * A snapshot of the POS session provided to receipt targets.
9
+ * @publicDocs
10
+ */
11
+ export interface BaseDataSession extends Session {
12
+ /**
13
+ * The ID of the staff member pinned into POS for this receipt event. This
14
+ * snapshot is separate from the reactive `session.staffMember` on the Session API.
15
+ */
16
+ staffMemberId?: number;
17
+ }
18
+
7
19
  /**
8
20
  * Base data object provided to all extension targets containing device information, session context, and connectivity state. This data is available at extension initialization and provides essential context about the runtime environment.
9
21
  * @publicDocs
@@ -24,5 +36,5 @@ export interface BaseData {
24
36
  /**
25
37
  * Comprehensive information about the current POS session including shop ID and domain, authenticated user, pinned staff member, active location, currency settings, and POS version. This session data remains constant for the session duration and provides critical context for business logic, permissions, API authentication, and transaction processing. Session data updates when users switch locations or change pinned staff members.
26
38
  */
27
- session: Session;
39
+ session: BaseDataSession;
28
40
  }
@@ -1,4 +1,4 @@
1
- export type {BaseData} from './data/BaseData';
1
+ export type {BaseData, BaseDataSession} from './data/BaseData';
2
2
  export type {BaseApi} from './data/BaseApi';
3
3
  export type {ReprintReceiptData} from './data/ReprintReceiptData';
4
4
  export type {TransactionCompleteWithReprintData} from './data/TransactionCompleteData';
@@ -0,0 +1,34 @@
1
+ import type {ScannerSource} from '../api/scanner-api/scanner-api';
2
+
3
+ /**
4
+ * Dispatched once for each successful scan captured by a camera, external,
5
+ * or embedded scanner. Every event carries a decoded `data` value and its
6
+ * `source`; no event is dispatched for initial or empty scanner state.
7
+ *
8
+ * The event is delivered only after POS has finished handling the scan
9
+ * itself.
10
+ *
11
+ * @example
12
+ * ```ts
13
+ * shopify.addEventListener('scan', (event) => {
14
+ * handleScan(event.data, event.source);
15
+ * });
16
+ * ```
17
+ * @publicDocs
18
+ */
19
+ export interface ScanEvent {
20
+ /** The event name. */
21
+ readonly type: 'scan';
22
+ /**
23
+ * The decoded string captured by the scan. Contains the scanned barcode, QR code, or other scannable data. Always present: an event is only dispatched for a successful scan.
24
+ */
25
+ readonly data: string;
26
+ /**
27
+ * The scanner source that captured the scan. One of the following scanner types:
28
+ *
29
+ * • `'camera'` - Built-in device camera used for scanning
30
+ * • `'external'` - External scanner hardware connected to the device
31
+ * • `'embedded'` - Embedded scanner hardware built into the device
32
+ */
33
+ readonly source: ScannerSource;
34
+ }