@aglyn/plugins-commerce 1.0.0-beta.230 → 1.0.0-beta.231

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 (581) hide show
  1. package/package.json +13 -13
  2. package/src/index.d.ts +0 -1
  3. package/src/index.js +0 -1
  4. package/src/index.js.map +1 -1
  5. package/src/lib/barcode/barcode-decode.d.ts +71 -0
  6. package/src/lib/barcode/barcode-decode.js +498 -0
  7. package/src/lib/barcode/barcode-decode.js.map +1 -0
  8. package/src/lib/barcode/barcode-encode.d.ts +44 -0
  9. package/src/lib/barcode/barcode-encode.js +138 -0
  10. package/src/lib/barcode/barcode-encode.js.map +1 -0
  11. package/src/lib/barcode/barcode-scanner.component.d.ts +23 -0
  12. package/src/lib/barcode/barcode-scanner.component.js +260 -0
  13. package/src/lib/barcode/barcode-scanner.component.js.map +1 -0
  14. package/src/lib/barcode/scan-button.component.d.ts +10 -0
  15. package/src/lib/barcode/scan-button.component.js +62 -0
  16. package/src/lib/barcode/scan-button.component.js.map +1 -0
  17. package/src/lib/barcode/scanner-wedge.d.ts +35 -0
  18. package/src/lib/barcode/scanner-wedge.js +108 -0
  19. package/src/lib/barcode/scanner-wedge.js.map +1 -0
  20. package/src/lib/components/account.js +10 -1
  21. package/src/lib/components/account.js.map +1 -1
  22. package/src/lib/components/cart-extras.d.ts +45 -0
  23. package/src/lib/components/cart-extras.js +127 -0
  24. package/src/lib/components/cart-extras.js.map +1 -0
  25. package/src/lib/components/cart.js +82 -15
  26. package/src/lib/components/cart.js.map +1 -1
  27. package/src/lib/components/checkout-return-notice.d.ts +26 -0
  28. package/src/lib/components/checkout-return-notice.js +48 -0
  29. package/src/lib/components/checkout-return-notice.js.map +1 -0
  30. package/src/lib/components/commerce-console-page.js +124 -0
  31. package/src/lib/components/commerce-console-page.js.map +1 -1
  32. package/src/lib/components/commerce-console-sections.d.ts +1 -1
  33. package/src/lib/components/commerce-console-sections.js +4 -0
  34. package/src/lib/components/commerce-console-sections.js.map +1 -1
  35. package/src/lib/components/console/bulk-fulfill.d.ts +44 -0
  36. package/src/lib/components/console/bulk-fulfill.js +84 -0
  37. package/src/lib/components/console/bulk-fulfill.js.map +1 -0
  38. package/src/lib/components/console/customer-notifications-card.component.d.ts +19 -0
  39. package/src/lib/components/console/customer-notifications-card.component.js +149 -0
  40. package/src/lib/components/console/customer-notifications-card.component.js.map +1 -0
  41. package/src/lib/components/console/host-orders-card.component.js +84 -5
  42. package/src/lib/components/console/host-orders-card.component.js.map +1 -1
  43. package/src/lib/components/console/locations-card.component.js +164 -57
  44. package/src/lib/components/console/locations-card.component.js.map +1 -1
  45. package/src/lib/components/console/order-detail-dialog.component.js +209 -61
  46. package/src/lib/components/console/order-detail-dialog.component.js.map +1 -1
  47. package/src/lib/components/console/order-fulfillment-panel.component.d.ts +48 -0
  48. package/src/lib/components/console/order-fulfillment-panel.component.js +542 -0
  49. package/src/lib/components/console/order-fulfillment-panel.component.js.map +1 -0
  50. package/src/lib/components/console/order-invoice.component.d.ts +33 -0
  51. package/src/lib/components/console/order-invoice.component.js +81 -0
  52. package/src/lib/components/console/order-invoice.component.js.map +1 -0
  53. package/src/lib/components/console/order-receipt-resend.component.d.ts +21 -0
  54. package/src/lib/components/console/order-receipt-resend.component.js +203 -0
  55. package/src/lib/components/console/order-receipt-resend.component.js.map +1 -0
  56. package/src/lib/components/console/order-returns.component.d.ts +36 -0
  57. package/src/lib/components/console/order-returns.component.js +142 -0
  58. package/src/lib/components/console/order-returns.component.js.map +1 -0
  59. package/src/lib/components/console/order-shipping-actions.component.d.ts +54 -0
  60. package/src/lib/components/console/order-shipping-actions.component.js +149 -0
  61. package/src/lib/components/console/order-shipping-actions.component.js.map +1 -0
  62. package/src/lib/components/console/order-webhooks-card.component.d.ts +50 -0
  63. package/src/lib/components/console/order-webhooks-card.component.js +623 -0
  64. package/src/lib/components/console/order-webhooks-card.component.js.map +1 -0
  65. package/src/lib/components/console/order-zones.d.ts +155 -0
  66. package/src/lib/components/console/order-zones.js +40 -0
  67. package/src/lib/components/console/order-zones.js.map +1 -0
  68. package/src/lib/components/console/payment-methods-card.component.d.ts +67 -0
  69. package/src/lib/components/console/payment-methods-card.component.js +395 -0
  70. package/src/lib/components/console/payment-methods-card.component.js.map +1 -0
  71. package/src/lib/components/console/pos/pos-api.d.ts +124 -0
  72. package/src/lib/components/console/pos/pos-api.js +101 -0
  73. package/src/lib/components/console/pos/pos-api.js.map +1 -0
  74. package/src/lib/components/console/pos/pos-cart-panel.component.d.ts +36 -0
  75. package/src/lib/components/console/pos/pos-cart-panel.component.js +160 -0
  76. package/src/lib/components/console/pos/pos-cart-panel.component.js.map +1 -0
  77. package/src/lib/components/console/pos/pos-item-dialog.component.d.ts +39 -0
  78. package/src/lib/components/console/pos/pos-item-dialog.component.js +352 -0
  79. package/src/lib/components/console/pos/pos-item-dialog.component.js.map +1 -0
  80. package/src/lib/components/console/pos/pos-product-grid.component.d.ts +47 -0
  81. package/src/lib/components/console/pos/pos-product-grid.component.js +272 -0
  82. package/src/lib/components/console/pos/pos-product-grid.component.js.map +1 -0
  83. package/src/lib/components/console/pos/pos-receipt-panel.component.d.ts +27 -0
  84. package/src/lib/components/console/pos/pos-receipt-panel.component.js +282 -0
  85. package/src/lib/components/console/pos/pos-receipt-panel.component.js.map +1 -0
  86. package/src/lib/components/console/pos/pos-tender-dialogs.component.d.ts +53 -0
  87. package/src/lib/components/console/pos/pos-tender-dialogs.component.js +445 -0
  88. package/src/lib/components/console/pos/pos-tender-dialogs.component.js.map +1 -0
  89. package/src/lib/components/console/pos/pos-tender-panel.component.d.ts +31 -0
  90. package/src/lib/components/console/pos/pos-tender-panel.component.js +640 -0
  91. package/src/lib/components/console/pos/pos-tender-panel.component.js.map +1 -0
  92. package/src/lib/components/console/pos/use-pos-display.d.ts +43 -0
  93. package/src/lib/components/console/pos/use-pos-display.js +161 -0
  94. package/src/lib/components/console/pos/use-pos-display.js.map +1 -0
  95. package/src/lib/components/console/pos-devices-card.component.d.ts +14 -0
  96. package/src/lib/components/console/pos-devices-card.component.js +546 -0
  97. package/src/lib/components/console/pos-devices-card.component.js.map +1 -0
  98. package/src/lib/components/console/pos-display/brand-screen.d.ts +33 -0
  99. package/src/lib/components/console/pos-display/brand-screen.js +85 -0
  100. package/src/lib/components/console/pos-display/brand-screen.js.map +1 -0
  101. package/src/lib/components/console/pos-display/cart-screen.d.ts +29 -0
  102. package/src/lib/components/console/pos-display/cart-screen.js +166 -0
  103. package/src/lib/components/console/pos-display/cart-screen.js.map +1 -0
  104. package/src/lib/components/console/pos-display/pairing-screen.d.ts +24 -0
  105. package/src/lib/components/console/pos-display/pairing-screen.js +127 -0
  106. package/src/lib/components/console/pos-display/pairing-screen.js.map +1 -0
  107. package/src/lib/components/console/pos-display/pos-display-api.d.ts +90 -0
  108. package/src/lib/components/console/pos-display/pos-display-api.js +140 -0
  109. package/src/lib/components/console/pos-display/pos-display-api.js.map +1 -0
  110. package/src/lib/components/console/pos-display/receipt-screen.d.ts +35 -0
  111. package/src/lib/components/console/pos-display/receipt-screen.js +200 -0
  112. package/src/lib/components/console/pos-display/receipt-screen.js.map +1 -0
  113. package/src/lib/components/console/pos-display/tip-screen.d.ts +36 -0
  114. package/src/lib/components/console/pos-display/tip-screen.js +211 -0
  115. package/src/lib/components/console/pos-display/tip-screen.js.map +1 -0
  116. package/src/lib/components/console/pos-display-page.component.d.ts +16 -0
  117. package/src/lib/components/console/pos-display-page.component.js +407 -0
  118. package/src/lib/components/console/pos-display-page.component.js.map +1 -0
  119. package/src/lib/components/console/pos-ops/pos-customer-lookup.component.d.ts +40 -0
  120. package/src/lib/components/console/pos-ops/pos-customer-lookup.component.js +289 -0
  121. package/src/lib/components/console/pos-ops/pos-customer-lookup.component.js.map +1 -0
  122. package/src/lib/components/console/pos-ops/pos-last-receipt.component.d.ts +34 -0
  123. package/src/lib/components/console/pos-ops/pos-last-receipt.component.js +61 -0
  124. package/src/lib/components/console/pos-ops/pos-last-receipt.component.js.map +1 -0
  125. package/src/lib/components/console/pos-ops/pos-operations-bar.component.d.ts +38 -0
  126. package/src/lib/components/console/pos-ops/pos-operations-bar.component.js +129 -0
  127. package/src/lib/components/console/pos-ops/pos-operations-bar.component.js.map +1 -0
  128. package/src/lib/components/console/pos-ops/pos-ops-api.d.ts +37 -0
  129. package/src/lib/components/console/pos-ops/pos-ops-api.js +60 -0
  130. package/src/lib/components/console/pos-ops/pos-ops-api.js.map +1 -0
  131. package/src/lib/components/console/pos-ops/pos-pin-pad.component.d.ts +48 -0
  132. package/src/lib/components/console/pos-ops/pos-pin-pad.component.js +220 -0
  133. package/src/lib/components/console/pos-ops/pos-pin-pad.component.js.map +1 -0
  134. package/src/lib/components/console/pos-ops/pos-receipt-actions.component.d.ts +63 -0
  135. package/src/lib/components/console/pos-ops/pos-receipt-actions.component.js +186 -0
  136. package/src/lib/components/console/pos-ops/pos-receipt-actions.component.js.map +1 -0
  137. package/src/lib/components/console/pos-ops/pos-receipt.d.ts +39 -0
  138. package/src/lib/components/console/pos-ops/pos-receipt.js +182 -0
  139. package/src/lib/components/console/pos-ops/pos-receipt.js.map +1 -0
  140. package/src/lib/components/console/pos-ops/pos-return-dialog.component.d.ts +40 -0
  141. package/src/lib/components/console/pos-ops/pos-return-dialog.component.js +465 -0
  142. package/src/lib/components/console/pos-ops/pos-return-dialog.component.js.map +1 -0
  143. package/src/lib/components/console/pos-ops/pos-shift-history-card.component.d.ts +29 -0
  144. package/src/lib/components/console/pos-ops/pos-shift-history-card.component.js +253 -0
  145. package/src/lib/components/console/pos-ops/pos-shift-history-card.component.js.map +1 -0
  146. package/src/lib/components/console/pos-ops/pos-shift-panel.component.d.ts +34 -0
  147. package/src/lib/components/console/pos-ops/pos-shift-panel.component.js +494 -0
  148. package/src/lib/components/console/pos-ops/pos-shift-panel.component.js.map +1 -0
  149. package/src/lib/components/console/pos-ops/pos-shift-report.component.d.ts +37 -0
  150. package/src/lib/components/console/pos-ops/pos-shift-report.component.js +102 -0
  151. package/src/lib/components/console/pos-ops/pos-shift-report.component.js.map +1 -0
  152. package/src/lib/components/console/pos-ops/pos-staff-pins-card.component.d.ts +30 -0
  153. package/src/lib/components/console/pos-ops/pos-staff-pins-card.component.js +277 -0
  154. package/src/lib/components/console/pos-ops/pos-staff-pins-card.component.js.map +1 -0
  155. package/src/lib/components/console/pos-ops/register-ops.d.ts +28 -0
  156. package/src/lib/components/console/pos-ops/register-ops.js +28 -0
  157. package/src/lib/components/console/pos-ops/register-ops.js.map +1 -0
  158. package/src/lib/components/console/pos-ops/use-pos-cashier.d.ts +46 -0
  159. package/src/lib/components/console/pos-ops/use-pos-cashier.js +128 -0
  160. package/src/lib/components/console/pos-ops/use-pos-cashier.js.map +1 -0
  161. package/src/lib/components/console/pos-ops/use-pos-sale-receipt.d.ts +36 -0
  162. package/src/lib/components/console/pos-ops/use-pos-sale-receipt.js +64 -0
  163. package/src/lib/components/console/pos-ops/use-pos-sale-receipt.js.map +1 -0
  164. package/src/lib/components/console/pos-page.component.d.ts +13 -5
  165. package/src/lib/components/console/pos-page.component.js +729 -657
  166. package/src/lib/components/console/pos-page.component.js.map +1 -1
  167. package/src/lib/components/console/product-editor-dialog.component.js +51 -7
  168. package/src/lib/components/console/product-editor-dialog.component.js.map +1 -1
  169. package/src/lib/components/console/product-labels-dialog.component.d.ts +13 -0
  170. package/src/lib/components/console/product-labels-dialog.component.js +197 -0
  171. package/src/lib/components/console/product-labels-dialog.component.js.map +1 -0
  172. package/src/lib/components/console/product-register-fields.component.d.ts +19 -0
  173. package/src/lib/components/console/product-register-fields.component.js +241 -0
  174. package/src/lib/components/console/product-register-fields.component.js.map +1 -0
  175. package/src/lib/components/console/product-zones.d.ts +44 -0
  176. package/src/lib/components/console/product-zones.js.map +1 -1
  177. package/src/lib/components/console/products-hub-card.component.js +12 -0
  178. package/src/lib/components/console/products-hub-card.component.js.map +1 -1
  179. package/src/lib/components/console/register-hardware-card.component.d.ts +33 -0
  180. package/src/lib/components/console/register-hardware-card.component.js +826 -0
  181. package/src/lib/components/console/register-hardware-card.component.js.map +1 -0
  182. package/src/lib/components/console/registers-card.component.js +24 -5
  183. package/src/lib/components/console/registers-card.component.js.map +1 -1
  184. package/src/lib/components/console/return-actions.d.ts +38 -0
  185. package/src/lib/components/console/return-actions.js +76 -0
  186. package/src/lib/components/console/return-actions.js.map +1 -0
  187. package/src/lib/components/console/return-detail-dialog.component.d.ts +34 -0
  188. package/src/lib/components/console/return-detail-dialog.component.js +718 -0
  189. package/src/lib/components/console/return-detail-dialog.component.js.map +1 -0
  190. package/src/lib/components/console/return-settings-card.component.d.ts +34 -0
  191. package/src/lib/components/console/return-settings-card.component.js +195 -0
  192. package/src/lib/components/console/return-settings-card.component.js.map +1 -0
  193. package/src/lib/components/console/return-zones.d.ts +87 -0
  194. package/src/lib/components/console/return-zones.js +31 -0
  195. package/src/lib/components/console/return-zones.js.map +1 -0
  196. package/src/lib/components/console/returns-card.component.d.ts +45 -0
  197. package/src/lib/components/console/returns-card.component.js +159 -0
  198. package/src/lib/components/console/returns-card.component.js.map +1 -0
  199. package/src/lib/components/console/shipping-settings-card.component.js +161 -5
  200. package/src/lib/components/console/shipping-settings-card.component.js.map +1 -1
  201. package/src/lib/components/console/shippingeasy-card.component.d.ts +59 -0
  202. package/src/lib/components/console/shippingeasy-card.component.js +378 -0
  203. package/src/lib/components/console/shippingeasy-card.component.js.map +1 -0
  204. package/src/lib/components/console/shipstation-card.component.d.ts +35 -0
  205. package/src/lib/components/console/shipstation-card.component.js +345 -0
  206. package/src/lib/components/console/shipstation-card.component.js.map +1 -0
  207. package/src/lib/components/console/start-return-dialog.component.d.ts +40 -0
  208. package/src/lib/components/console/start-return-dialog.component.js +243 -0
  209. package/src/lib/components/console/start-return-dialog.component.js.map +1 -0
  210. package/src/lib/components/console/stock-movements-card.component.js +2 -1
  211. package/src/lib/components/console/stock-movements-card.component.js.map +1 -1
  212. package/src/lib/components/console/store-settings-card.component.js +2 -66
  213. package/src/lib/components/console/store-settings-card.component.js.map +1 -1
  214. package/src/lib/components/console/store-zones.d.ts +42 -0
  215. package/src/lib/components/console/store-zones.js +39 -0
  216. package/src/lib/components/console/store-zones.js.map +1 -0
  217. package/src/lib/components/order-status.d.ts +36 -0
  218. package/src/lib/components/order-status.js +502 -0
  219. package/src/lib/components/order-status.js.map +1 -0
  220. package/src/lib/components/product-detail.js +41 -2
  221. package/src/lib/components/product-detail.js.map +1 -1
  222. package/src/lib/components/return-request.d.ts +32 -0
  223. package/src/lib/components/return-request.js +576 -0
  224. package/src/lib/components/return-request.js.map +1 -0
  225. package/src/lib/components/storefront-payment-appearance.d.ts +32 -0
  226. package/src/lib/components/storefront-payment-appearance.js +114 -0
  227. package/src/lib/components/storefront-payment-appearance.js.map +1 -0
  228. package/src/lib/components/storefront-payment-element.d.ts +57 -1
  229. package/src/lib/components/storefront-payment-element.js +332 -33
  230. package/src/lib/components/storefront-payment-element.js.map +1 -1
  231. package/src/lib/constants/order-status.d.ts +22 -0
  232. package/src/lib/constants/order-status.js +22 -0
  233. package/src/lib/constants/order-status.js.map +1 -0
  234. package/src/lib/constants/return-request.d.ts +27 -0
  235. package/src/lib/constants/return-request.js +32 -0
  236. package/src/lib/constants/return-request.js.map +1 -0
  237. package/src/lib/constants/stock-movement-query.js +2 -1
  238. package/src/lib/constants/stock-movement-query.js.map +1 -1
  239. package/src/lib/declarations.console-server.js +9 -0
  240. package/src/lib/declarations.console-server.js.map +1 -1
  241. package/src/lib/declarations.server.d.ts +2 -1
  242. package/src/lib/declarations.server.js +47 -1
  243. package/src/lib/declarations.server.js.map +1 -1
  244. package/src/lib/model/buyer-notifications.d.ts +59 -0
  245. package/src/lib/model/buyer-notifications.js +97 -0
  246. package/src/lib/model/buyer-notifications.js.map +1 -0
  247. package/src/lib/model/commerce-orders.d.ts +127 -1
  248. package/src/lib/model/commerce-orders.js +24 -15
  249. package/src/lib/model/commerce-orders.js.map +1 -1
  250. package/src/lib/model/commerce-payment-methods.d.ts +146 -0
  251. package/src/lib/model/commerce-payment-methods.js +247 -0
  252. package/src/lib/model/commerce-payment-methods.js.map +1 -0
  253. package/src/lib/model/commerce-pos-ops.d.ts +437 -0
  254. package/src/lib/model/commerce-pos-ops.js +721 -0
  255. package/src/lib/model/commerce-pos-ops.js.map +1 -0
  256. package/src/lib/model/commerce-pos.d.ts +263 -0
  257. package/src/lib/model/commerce-pos.js +375 -0
  258. package/src/lib/model/commerce-pos.js.map +1 -0
  259. package/src/lib/model/commerce-printers.d.ts +211 -0
  260. package/src/lib/model/commerce-printers.js +181 -0
  261. package/src/lib/model/commerce-printers.js.map +1 -0
  262. package/src/lib/model/commerce-receipt.d.ts +97 -0
  263. package/src/lib/model/commerce-receipt.js +180 -0
  264. package/src/lib/model/commerce-receipt.js.map +1 -0
  265. package/src/lib/model/commerce-returns.d.ts +207 -0
  266. package/src/lib/model/commerce-returns.js +300 -0
  267. package/src/lib/model/commerce-returns.js.map +1 -0
  268. package/src/lib/model/commerce-shipping.d.ts +44 -1
  269. package/src/lib/model/commerce-shipping.js +53 -9
  270. package/src/lib/model/commerce-shipping.js.map +1 -1
  271. package/src/lib/model/commerce-tax-engine.d.ts +90 -0
  272. package/src/lib/model/commerce-tax-engine.js +129 -0
  273. package/src/lib/model/commerce-tax-engine.js.map +1 -0
  274. package/src/lib/model/commerce.d.ts +88 -2
  275. package/src/lib/model/commerce.js +89 -1
  276. package/src/lib/model/commerce.js.map +1 -1
  277. package/src/lib/model/index.d.ts +15 -0
  278. package/src/lib/model/index.js +15 -0
  279. package/src/lib/model/index.js.map +1 -1
  280. package/src/lib/model/order-events.d.ts +154 -0
  281. package/src/lib/model/order-events.js +153 -0
  282. package/src/lib/model/order-events.js.map +1 -0
  283. package/src/lib/model/order-fulfillment.d.ts +117 -0
  284. package/src/lib/model/order-fulfillment.js +217 -0
  285. package/src/lib/model/order-fulfillment.js.map +1 -0
  286. package/src/lib/model/order-history.d.ts +58 -0
  287. package/src/lib/model/order-history.js +22 -0
  288. package/src/lib/model/order-history.js.map +1 -0
  289. package/src/lib/model/order-list-fields.d.ts +9 -1
  290. package/src/lib/model/order-list-fields.js +7 -1
  291. package/src/lib/model/order-list-fields.js.map +1 -1
  292. package/src/lib/model/order-shipping-export.d.ts +91 -0
  293. package/src/lib/model/order-shipping-export.js +192 -0
  294. package/src/lib/model/order-shipping-export.js.map +1 -0
  295. package/src/lib/model/order-status-view.d.ts +103 -0
  296. package/src/lib/model/order-status-view.js +156 -0
  297. package/src/lib/model/order-status-view.js.map +1 -0
  298. package/src/lib/model/order-webhooks.d.ts +142 -0
  299. package/src/lib/model/order-webhooks.js +91 -0
  300. package/src/lib/model/order-webhooks.js.map +1 -0
  301. package/src/lib/model/product-channel.d.ts +56 -0
  302. package/src/lib/model/product-channel.js +86 -0
  303. package/src/lib/model/product-channel.js.map +1 -0
  304. package/src/lib/model/product-modifiers.d.ts +80 -0
  305. package/src/lib/model/product-modifiers.js +140 -0
  306. package/src/lib/model/product-modifiers.js.map +1 -0
  307. package/src/lib/model/shippingeasy.d.ts +94 -0
  308. package/src/lib/model/shippingeasy.js +267 -0
  309. package/src/lib/model/shippingeasy.js.map +1 -0
  310. package/src/lib/model/shipstation.d.ts +125 -0
  311. package/src/lib/model/shipstation.js +399 -0
  312. package/src/lib/model/shipstation.js.map +1 -0
  313. package/src/lib/model/smart-collection-reads.d.ts +32 -0
  314. package/src/lib/model/smart-collection-reads.js +63 -0
  315. package/src/lib/model/smart-collection-reads.js.map +1 -0
  316. package/src/lib/model/tracking-url.d.ts +74 -0
  317. package/src/lib/model/tracking-url.js +159 -0
  318. package/src/lib/model/tracking-url.js.map +1 -0
  319. package/src/lib/plugin-config.d.ts +13 -0
  320. package/src/lib/plugin-config.js +77 -5
  321. package/src/lib/plugin-config.js.map +1 -1
  322. package/src/lib/plugin.js +23 -0
  323. package/src/lib/plugin.js.map +1 -1
  324. package/src/lib/pos-ops-config.d.ts +39 -0
  325. package/src/lib/pos-ops-config.js +88 -0
  326. package/src/lib/pos-ops-config.js.map +1 -0
  327. package/src/lib/printing/print-document.d.ts +106 -0
  328. package/src/lib/printing/print-document.js +464 -0
  329. package/src/lib/printing/print-document.js.map +1 -0
  330. package/src/lib/printing/product-labels.d.ts +58 -0
  331. package/src/lib/printing/product-labels.js +116 -0
  332. package/src/lib/printing/product-labels.js.map +1 -0
  333. package/src/lib/printing/render-epson.d.ts +57 -0
  334. package/src/lib/printing/render-epson.js +135 -0
  335. package/src/lib/printing/render-epson.js.map +1 -0
  336. package/src/lib/printing/render-star.d.ts +45 -0
  337. package/src/lib/printing/render-star.js +100 -0
  338. package/src/lib/printing/render-star.js.map +1 -0
  339. package/src/lib/printing/render-text.d.ts +25 -0
  340. package/src/lib/printing/render-text.js +53 -0
  341. package/src/lib/printing/render-text.js.map +1 -0
  342. package/src/lib/server/api-v1/openapi.js +27 -4
  343. package/src/lib/server/api-v1/openapi.js.map +1 -1
  344. package/src/lib/server/api-v1/order-view.d.ts +67 -0
  345. package/src/lib/server/api-v1/order-view.js +120 -0
  346. package/src/lib/server/api-v1/order-view.js.map +1 -0
  347. package/src/lib/server/api-v1/orders-and-products.js +58 -65
  348. package/src/lib/server/api-v1/orders-and-products.js.map +1 -1
  349. package/src/lib/server/billing-webhook.js +135 -28
  350. package/src/lib/server/billing-webhook.js.map +1 -1
  351. package/src/lib/server/cancel-order.js +29 -0
  352. package/src/lib/server/cancel-order.js.map +1 -1
  353. package/src/lib/server/carrier-rates-availability.d.ts +26 -0
  354. package/src/lib/server/carrier-rates-availability.js +76 -0
  355. package/src/lib/server/carrier-rates-availability.js.map +1 -0
  356. package/src/lib/server/carrier-shipping.d.ts +84 -0
  357. package/src/lib/server/carrier-shipping.js +135 -0
  358. package/src/lib/server/carrier-shipping.js.map +1 -0
  359. package/src/lib/server/cart-checkout.d.ts +2 -0
  360. package/src/lib/server/cart-checkout.js +226 -22
  361. package/src/lib/server/cart-checkout.js.map +1 -1
  362. package/src/lib/server/checkout-extras.d.ts +64 -0
  363. package/src/lib/server/checkout-extras.js +157 -0
  364. package/src/lib/server/checkout-extras.js.map +1 -0
  365. package/src/lib/server/{feed.d.ts → checkout-status.d.ts} +2 -7
  366. package/src/lib/server/checkout-status.js +111 -0
  367. package/src/lib/server/checkout-status.js.map +1 -0
  368. package/src/lib/server/checkout.js +86 -9
  369. package/src/lib/server/checkout.js.map +1 -1
  370. package/src/lib/server/draft-order.js +34 -5
  371. package/src/lib/server/draft-order.js.map +1 -1
  372. package/src/lib/server/fulfill-order.d.ts +127 -10
  373. package/src/lib/server/fulfill-order.js +451 -49
  374. package/src/lib/server/fulfill-order.js.map +1 -1
  375. package/src/lib/server/legacy-feed.d.ts +28 -0
  376. package/src/lib/server/legacy-feed.js +52 -0
  377. package/src/lib/server/legacy-feed.js.map +1 -0
  378. package/src/lib/server/native-checkout.d.ts +34 -15
  379. package/src/lib/server/native-checkout.js +32 -17
  380. package/src/lib/server/native-checkout.js.map +1 -1
  381. package/src/lib/server/order-event-host-emit.d.ts +23 -0
  382. package/src/lib/server/order-event-host-emit.js +30 -0
  383. package/src/lib/server/order-event-host-emit.js.map +1 -0
  384. package/src/lib/server/order-event-triggers.d.ts +37 -0
  385. package/src/lib/server/order-event-triggers.js +119 -0
  386. package/src/lib/server/order-event-triggers.js.map +1 -0
  387. package/src/lib/server/order-events.d.ts +62 -0
  388. package/src/lib/server/order-events.js +109 -0
  389. package/src/lib/server/order-events.js.map +1 -0
  390. package/src/lib/server/order-history.d.ts +23 -0
  391. package/src/lib/server/order-history.js +65 -0
  392. package/src/lib/server/order-history.js.map +1 -0
  393. package/src/lib/server/order-notifications.d.ts +185 -0
  394. package/src/lib/server/order-notifications.js +567 -0
  395. package/src/lib/server/order-notifications.js.map +1 -0
  396. package/src/lib/server/order-receipt-send.d.ts +39 -0
  397. package/src/lib/server/order-receipt-send.js +151 -0
  398. package/src/lib/server/order-receipt-send.js.map +1 -0
  399. package/src/lib/server/order-status-token.d.ts +31 -0
  400. package/src/lib/server/order-status-token.js +75 -0
  401. package/src/lib/server/order-status-token.js.map +1 -0
  402. package/src/lib/server/order-status.d.ts +58 -0
  403. package/src/lib/server/order-status.js +141 -0
  404. package/src/lib/server/order-status.js.map +1 -0
  405. package/src/lib/server/order-webhooks.d.ts +108 -0
  406. package/src/lib/server/order-webhooks.js +622 -0
  407. package/src/lib/server/order-webhooks.js.map +1 -0
  408. package/src/lib/server/orders-shipping-prepare.d.ts +26 -0
  409. package/src/lib/server/orders-shipping-prepare.js +121 -0
  410. package/src/lib/server/orders-shipping-prepare.js.map +1 -0
  411. package/src/lib/server/payment-method-domains.d.ts +209 -0
  412. package/src/lib/server/payment-method-domains.js +444 -0
  413. package/src/lib/server/payment-method-domains.js.map +1 -0
  414. package/src/lib/server/payment-methods.d.ts +77 -0
  415. package/src/lib/server/payment-methods.js +284 -0
  416. package/src/lib/server/payment-methods.js.map +1 -0
  417. package/src/lib/server/pos-auth.d.ts +50 -0
  418. package/src/lib/server/pos-auth.js +121 -0
  419. package/src/lib/server/pos-auth.js.map +1 -0
  420. package/src/lib/server/pos-customer.d.ts +49 -0
  421. package/src/lib/server/pos-customer.js +257 -0
  422. package/src/lib/server/pos-customer.js.map +1 -0
  423. package/src/lib/server/pos-display.d.ts +57 -0
  424. package/src/lib/server/pos-display.js +419 -0
  425. package/src/lib/server/pos-display.js.map +1 -0
  426. package/src/lib/server/pos-fee-month.d.ts +34 -0
  427. package/src/lib/server/pos-fee-month.js +36 -0
  428. package/src/lib/server/pos-fee-month.js.map +1 -0
  429. package/src/lib/server/pos-ops-gate.d.ts +161 -0
  430. package/src/lib/server/pos-ops-gate.js +295 -0
  431. package/src/lib/server/pos-ops-gate.js.map +1 -0
  432. package/src/lib/server/pos-ops-routes.d.ts +22 -0
  433. package/src/lib/server/pos-ops-routes.js +36 -0
  434. package/src/lib/server/pos-ops-routes.js.map +1 -0
  435. package/src/lib/server/pos-order.d.ts +1 -18
  436. package/src/lib/server/pos-order.js +222 -42
  437. package/src/lib/server/pos-order.js.map +1 -1
  438. package/src/lib/server/pos-payment.d.ts +39 -0
  439. package/src/lib/server/pos-payment.js +922 -0
  440. package/src/lib/server/pos-payment.js.map +1 -0
  441. package/src/lib/server/pos-print.d.ts +82 -0
  442. package/src/lib/server/pos-print.js +193 -0
  443. package/src/lib/server/pos-print.js.map +1 -0
  444. package/src/lib/server/pos-readers.d.ts +27 -0
  445. package/src/lib/server/pos-readers.js +276 -0
  446. package/src/lib/server/pos-readers.js.map +1 -0
  447. package/src/lib/server/pos-refund-authority.d.ts +60 -0
  448. package/src/lib/server/pos-refund-authority.js +72 -0
  449. package/src/lib/server/pos-refund-authority.js.map +1 -0
  450. package/src/lib/server/pos-return.d.ts +58 -0
  451. package/src/lib/server/pos-return.js +891 -0
  452. package/src/lib/server/pos-return.js.map +1 -0
  453. package/src/lib/server/pos-sale-stamp.d.ts +66 -0
  454. package/src/lib/server/pos-sale-stamp.js +84 -0
  455. package/src/lib/server/pos-sale-stamp.js.map +1 -0
  456. package/src/lib/server/pos-sale.d.ts +170 -0
  457. package/src/lib/server/pos-sale.js +461 -0
  458. package/src/lib/server/pos-sale.js.map +1 -0
  459. package/src/lib/server/pos-shift.d.ts +45 -0
  460. package/src/lib/server/pos-shift.js +484 -0
  461. package/src/lib/server/pos-shift.js.map +1 -0
  462. package/src/lib/server/pos-staff-pin.d.ts +26 -0
  463. package/src/lib/server/pos-staff-pin.js +339 -0
  464. package/src/lib/server/pos-staff-pin.js.map +1 -0
  465. package/src/lib/server/pos-stripe.d.ts +91 -0
  466. package/src/lib/server/pos-stripe.js +129 -0
  467. package/src/lib/server/pos-stripe.js.map +1 -0
  468. package/src/lib/server/pos-terminal-connection-token.d.ts +48 -0
  469. package/src/lib/server/pos-terminal-connection-token.js +166 -0
  470. package/src/lib/server/pos-terminal-connection-token.js.map +1 -0
  471. package/src/lib/server/pos-terminal.d.ts +218 -0
  472. package/src/lib/server/pos-terminal.js +1014 -0
  473. package/src/lib/server/pos-terminal.js.map +1 -0
  474. package/src/lib/server/print-queue.d.ts +124 -0
  475. package/src/lib/server/print-queue.js +301 -0
  476. package/src/lib/server/print-queue.js.map +1 -0
  477. package/src/lib/server/printer-poll.d.ts +75 -0
  478. package/src/lib/server/printer-poll.js +325 -0
  479. package/src/lib/server/printer-poll.js.map +1 -0
  480. package/src/lib/server/printer-secret.d.ts +39 -0
  481. package/src/lib/server/printer-secret.js +56 -0
  482. package/src/lib/server/printer-secret.js.map +1 -0
  483. package/src/lib/server/printers.d.ts +114 -0
  484. package/src/lib/server/printers.js +546 -0
  485. package/src/lib/server/printers.js.map +1 -0
  486. package/src/lib/server/product-catalog.d.ts +42 -0
  487. package/src/lib/server/product-catalog.js +305 -0
  488. package/src/lib/server/product-catalog.js.map +1 -0
  489. package/src/lib/server/refund.js +110 -45
  490. package/src/lib/server/refund.js.map +1 -1
  491. package/src/lib/server/reserve.js +2 -0
  492. package/src/lib/server/reserve.js.map +1 -1
  493. package/src/lib/server/return-status-action.d.ts +37 -0
  494. package/src/lib/server/return-status-action.js +57 -0
  495. package/src/lib/server/return-status-action.js.map +1 -0
  496. package/src/lib/server/returns.d.ts +119 -0
  497. package/src/lib/server/returns.js +938 -0
  498. package/src/lib/server/returns.js.map +1 -0
  499. package/src/lib/server/shipment-records.d.ts +36 -0
  500. package/src/lib/server/shipment-records.js +289 -0
  501. package/src/lib/server/shipment-records.js.map +1 -0
  502. package/src/lib/server/shipping-connector-gates.d.ts +40 -0
  503. package/src/lib/server/shipping-connector-gates.js +97 -0
  504. package/src/lib/server/shipping-connector-gates.js.map +1 -0
  505. package/src/lib/server/shipping-connectors.d.ts +29 -0
  506. package/src/lib/server/shipping-connectors.js +236 -0
  507. package/src/lib/server/shipping-connectors.js.map +1 -0
  508. package/src/lib/server/shippingeasy.d.ts +238 -0
  509. package/src/lib/server/shippingeasy.js +787 -0
  510. package/src/lib/server/shippingeasy.js.map +1 -0
  511. package/src/lib/server/shipstation.d.ts +129 -0
  512. package/src/lib/server/shipstation.js +483 -0
  513. package/src/lib/server/shipstation.js.map +1 -0
  514. package/src/lib/server/site-page-resolver.d.ts +5 -0
  515. package/src/lib/server/site-page-resolver.js +156 -1
  516. package/src/lib/server/site-page-resolver.js.map +1 -1
  517. package/src/lib/server/stock-levels.d.ts +21 -0
  518. package/src/lib/server/stock-levels.js +263 -0
  519. package/src/lib/server/stock-levels.js.map +1 -0
  520. package/src/lib/server/stripe-refund.d.ts +47 -0
  521. package/src/lib/server/stripe-refund.js +87 -0
  522. package/src/lib/server/stripe-refund.js.map +1 -0
  523. package/src/lib/server/supplier-update.js +46 -5
  524. package/src/lib/server/supplier-update.js.map +1 -1
  525. package/src/lib/server/tax-engine-quote.d.ts +47 -0
  526. package/src/lib/server/tax-engine-quote.js +105 -0
  527. package/src/lib/server/tax-engine-quote.js.map +1 -0
  528. package/src/lib/server.js +138 -2
  529. package/src/lib/server.js.map +1 -1
  530. package/src/lib/site.js +12 -0
  531. package/src/lib/site.js.map +1 -1
  532. package/src/lib/subprocessors.d.ts +26 -0
  533. package/src/lib/subprocessors.js +50 -0
  534. package/src/lib/subprocessors.js.map +1 -0
  535. package/src/lib/tenant-emails.js +461 -3
  536. package/src/lib/tenant-emails.js.map +1 -1
  537. package/src/lib/testing/fake-firestore.d.ts +45 -0
  538. package/src/lib/testing/fake-firestore.js +189 -0
  539. package/src/lib/testing/fake-firestore.js.map +1 -0
  540. package/src/lib/testing/memory-firestore.d.ts +123 -0
  541. package/src/lib/testing/memory-firestore.js +274 -0
  542. package/src/lib/testing/memory-firestore.js.map +1 -0
  543. package/src/lib/testing/pos-ops-harness.d.ts +50 -0
  544. package/src/lib/testing/pos-ops-harness.js +184 -0
  545. package/src/lib/testing/pos-ops-harness.js.map +1 -0
  546. package/src/lib/testing/pos-ops-memory-firestore.d.ts +55 -0
  547. package/src/lib/testing/pos-ops-memory-firestore.js +376 -0
  548. package/src/lib/testing/pos-ops-memory-firestore.js.map +1 -0
  549. package/src/lib/transfer/records-transfer.d.ts +11 -1
  550. package/src/lib/transfer/records-transfer.js +127 -5
  551. package/src/lib/transfer/records-transfer.js.map +1 -1
  552. package/src/lib/transfer/records.server.d.ts +9 -2
  553. package/src/lib/transfer/records.server.js +58 -7
  554. package/src/lib/transfer/records.server.js.map +1 -1
  555. package/src/lib/transfer/register-transfer-resources.js +40 -1
  556. package/src/lib/transfer/register-transfer-resources.js.map +1 -1
  557. package/src/lib/transfer/register-transfer-ui.js +4 -1
  558. package/src/lib/transfer/register-transfer-ui.js.map +1 -1
  559. package/src/lib/transfer/shipping-presets.d.ts +23 -0
  560. package/src/lib/transfer/shipping-presets.js +156 -0
  561. package/src/lib/transfer/shipping-presets.js.map +1 -0
  562. package/src/lib/transfer/tracking-transfer.d.ts +101 -0
  563. package/src/lib/transfer/tracking-transfer.js +546 -0
  564. package/src/lib/transfer/tracking-transfer.js.map +1 -0
  565. package/src/lib/transfer/tracking.server.d.ts +37 -0
  566. package/src/lib/transfer/tracking.server.js +393 -0
  567. package/src/lib/transfer/tracking.server.js.map +1 -0
  568. package/src/lib/transfer/transfer-keys.d.ts +2 -1
  569. package/src/lib/transfer/transfer-keys.js +6 -2
  570. package/src/lib/transfer/transfer-keys.js.map +1 -1
  571. package/src/lib/utils/code128.d.ts +37 -0
  572. package/src/lib/utils/code128.js +199 -0
  573. package/src/lib/utils/code128.js.map +1 -0
  574. package/src/lib/utils/order-invoice.d.ts +55 -0
  575. package/src/lib/utils/order-invoice.js +127 -0
  576. package/src/lib/utils/order-invoice.js.map +1 -0
  577. package/src/lib/utils/use-checkout-return-notice.d.ts +34 -0
  578. package/src/lib/utils/use-checkout-return-notice.js +78 -0
  579. package/src/lib/utils/use-checkout-return-notice.js.map +1 -0
  580. package/src/lib/server/feed.js +0 -69
  581. package/src/lib/server/feed.js.map +0 -1
@@ -0,0 +1,101 @@
1
+ import { _ as _extends } from "@swc/helpers/_/_extends";
2
+ /**
3
+ * @license
4
+ * Copyright 2026 Aglyn LLC
5
+ *
6
+ * Licensed under the Apache License, Version 2.0 (the "License");
7
+ * you may not use this file except in compliance with the License.
8
+ * You may obtain a copy of the License at
9
+ *
10
+ * http://www.apache.org/licenses/LICENSE-2.0
11
+ *
12
+ * Unless required by applicable law or agreed to in writing, software
13
+ * distributed under the License is distributed on an "AS IS" BASIS,
14
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
15
+ * See the License for the specific language governing permissions and
16
+ * limitations under the License.
17
+ */ import { authorizedFetch } from "@aglyn/shared-util-http/authorized-token";
18
+ export class PosRequestError extends Error {
19
+ constructor(message, status){
20
+ super(message), this.status = status;
21
+ }
22
+ }
23
+ async function call(user, route, body, options = {}) {
24
+ var _options_method;
25
+ const method = (_options_method = options.method) != null ? _options_method : 'POST';
26
+ const url = method === 'GET' ? `${route}?${new URLSearchParams(Object.entries(body).map(([key, value])=>[
27
+ key,
28
+ String(value)
29
+ ])).toString()}` : route;
30
+ const response = await authorizedFetch(user, url, _extends({
31
+ method,
32
+ headers: _extends({}, method === 'POST' ? {
33
+ 'Content-Type': 'application/json'
34
+ } : {}, options.attemptKey ? {
35
+ 'Idempotency-Key': options.attemptKey
36
+ } : {})
37
+ }, method === 'POST' ? {
38
+ body: JSON.stringify(body)
39
+ } : {}));
40
+ const payload = await response.json().catch(()=>({}));
41
+ if (!response.ok) {
42
+ var _ref;
43
+ throw new PosRequestError(String((_ref = payload == null ? void 0 : payload.error) != null ? _ref : 'Something went wrong'), response.status);
44
+ }
45
+ return payload;
46
+ }
47
+ /** A fresh attempt key, for one press of one tender. */ export function newAttemptKey() {
48
+ var _ref;
49
+ var _globalThis_crypto_randomUUID, _globalThis_crypto;
50
+ return (_ref = (_globalThis_crypto = globalThis.crypto) == null ? void 0 : (_globalThis_crypto_randomUUID = _globalThis_crypto.randomUUID) == null ? void 0 : _globalThis_crypto_randomUUID.call(_globalThis_crypto)) != null ? _ref : `${Date.now()}-${Math.random().toString(36).slice(2)}`;
51
+ }
52
+ export function posRegisterContext(user, hostId) {
53
+ return call(user, '/api/commerce/pos-payment', {
54
+ action: 'context',
55
+ hostId
56
+ }, {
57
+ method: 'GET'
58
+ });
59
+ }
60
+ /** Prices the basket on the server and opens a sale with an empty ledger. */ export function openPosSale(user, attemptKey, body) {
61
+ return call(user, '/api/commerce/pos-order', _extends({}, body, {
62
+ payment: 'open'
63
+ }), {
64
+ attemptKey
65
+ });
66
+ }
67
+ export function posTender(user, hostId, orderId, action, body = {}, attemptKey) {
68
+ return call(user, '/api/commerce/pos-payment', _extends({}, body, {
69
+ action,
70
+ hostId,
71
+ orderId
72
+ }), attemptKey ? {
73
+ attemptKey
74
+ } : {});
75
+ }
76
+ export function posGiftCardBalance(user, hostId, code) {
77
+ return call(user, '/api/commerce/pos-payment', {
78
+ action: 'gift-card-balance',
79
+ hostId,
80
+ code
81
+ });
82
+ }
83
+ export function posDisplayCall(user, body, method = 'POST') {
84
+ return call(user, '/api/commerce/pos-display', body, {
85
+ method
86
+ });
87
+ }
88
+ export function posReadersCall(user, body) {
89
+ return call(user, '/api/commerce/pos-readers', body);
90
+ }
91
+ /** Cents as the register shows them. */ export const usd = (cents)=>`$${(Math.max(0, cents) / 100).toFixed(2)}`;
92
+ /** A dollar string the cashier typed, as whole cents (NaN-safe, never negative). */ export function centsFromInput(value) {
93
+ const number = Math.round(Number(String(value).replace(/[^0-9.]/g, '')) * 100);
94
+ return Number.isFinite(number) && number > 0 ? number : 0;
95
+ }
96
+ export function posNativeBridge() {
97
+ const bridge = globalThis.AglynPosBridge;
98
+ return bridge && typeof bridge.collectCardPayment === 'function' ? bridge : null;
99
+ }
100
+
101
+ //# sourceMappingURL=pos-api.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../../../../../../../libs/plugins/commerce/src/lib/components/console/pos/pos-api.ts"],"sourcesContent":["/**\n * @license\n * Copyright 2026 Aglyn LLC\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport { authorizedFetch } from '@aglyn/shared-util-http/authorized-token'\nimport type * as CommerceModel from '../../../model'\nimport type { PosRegisterSettings } from '../../../plugin-config'\n\n/**\n * The register's client half (AGL-3607): one place that knows the routes, so\n * the components ask \"take cash\" rather than building requests. Every call\n * that starts a payment carries the attempt key it is given; the server\n * derives the payment from it, so a retried press finds the same payment.\n */\n\n/** The open sale as the server reports it after every change. */\nexport interface PosSaleSummary {\n orderId: string\n status: string\n totalCents: number\n paidCents: number\n dueCents: number\n tenderableCents: number\n tipCents: number\n payments: Array<{\n id: string\n method: CommerceModel.OrderPaymentMethod\n amountCents: number\n tipCents?: number\n status: CommerceModel.OrderPaymentStatus\n cardBrand?: string\n last4?: string\n changeCents?: number\n checkoutUrl?: string\n readerId?: string\n failureMessage?: string\n livemode?: boolean\n }>\n}\n\nexport interface PosTenderResult {\n sale: PosSaleSummary\n paymentId?: string\n completed: boolean\n clientSecret?: string\n paymentIntentId?: string\n}\n\nexport interface PosRegisterContext {\n settings: PosRegisterSettings\n terminal: { available: boolean; testMode: boolean }\n readers: Array<{\n id: string\n label: string\n registerId: string | null\n status: string\n livemode: boolean\n }>\n publishableKey: string\n smsReceipts: boolean\n}\n\ntype User = Parameters<typeof authorizedFetch>[0]\n\nexport class PosRequestError extends Error {\n constructor(\n message: string,\n readonly status: number,\n ) {\n super(message)\n }\n}\n\nasync function call<T>(\n user: User,\n route: string,\n body: Record<string, unknown>,\n options: { attemptKey?: string; method?: 'GET' | 'POST' } = {},\n): Promise<T> {\n const method = options.method ?? 'POST'\n const url =\n method === 'GET'\n ? `${route}?${new URLSearchParams(\n Object.entries(body).map(([key, value]) => [key, String(value)]),\n ).toString()}`\n : route\n const response = await authorizedFetch(user, url, {\n method,\n headers: {\n ...(method === 'POST' ? { 'Content-Type': 'application/json' } : {}),\n ...(options.attemptKey ? { 'Idempotency-Key': options.attemptKey } : {}),\n },\n ...(method === 'POST' ? { body: JSON.stringify(body) } : {}),\n })\n const payload = await response.json().catch(() => ({}))\n if (!response.ok) {\n throw new PosRequestError(String(payload?.error ?? 'Something went wrong'), response.status)\n }\n return payload as T\n}\n\n/** A fresh attempt key, for one press of one tender. */\nexport function newAttemptKey(): string {\n return (\n globalThis.crypto?.randomUUID?.() ??\n `${Date.now()}-${Math.random().toString(36).slice(2)}`\n )\n}\n\nexport function posRegisterContext(user: User, hostId: string) {\n return call<PosRegisterContext>(user, '/api/commerce/pos-payment', { action: 'context', hostId }, { method: 'GET' })\n}\n\n/** Prices the basket on the server and opens a sale with an empty ledger. */\nexport function openPosSale(\n user: User,\n attemptKey: string,\n body: {\n hostId: string\n registerId: string\n lines: unknown[]\n discountPct: number\n customerEmail?: string\n /** The person the register's customer lookup attached (AGL-3609). */\n customer?: unknown\n /** A PIN-switched cashier's signed assertion (AGL-3609). */\n cashierAssertion?: string\n locationId?: string\n },\n) {\n return call<{ orderId: string; totals: CommerceModel.OrderTotals; dueCents: number; stockWarnings?: unknown[] }>(\n user,\n '/api/commerce/pos-order',\n { ...body, payment: 'open' },\n { attemptKey },\n )\n}\n\nexport type PosTenderAction =\n | 'cash'\n | 'gift-card'\n | 'folio'\n | 'card-present'\n | 'card-present-sdk'\n | 'card-keyed'\n | 'card-link'\n | 'status'\n | 'cancel'\n | 'retry'\n | 'simulate'\n | 'void'\n | 'receipt'\n\nexport function posTender(\n user: User,\n hostId: string,\n orderId: string,\n action: PosTenderAction,\n body: Record<string, unknown> = {},\n attemptKey?: string,\n) {\n return call<PosTenderResult>(\n user,\n '/api/commerce/pos-payment',\n { ...body, action, hostId, orderId },\n attemptKey ? { attemptKey } : {},\n )\n}\n\nexport function posGiftCardBalance(user: User, hostId: string, code: string) {\n return call<{ availableCents: number; frozen: boolean; voided: boolean; last4: string }>(\n user,\n '/api/commerce/pos-payment',\n { action: 'gift-card-balance', hostId, code },\n )\n}\n\nexport function posDisplayCall<T = any>(\n user: User,\n body: Record<string, unknown>,\n method: 'GET' | 'POST' = 'POST',\n) {\n return call<T>(user, '/api/commerce/pos-display', body, { method })\n}\n\nexport function posReadersCall<T = any>(user: User, body: Record<string, unknown>) {\n return call<T>(user, '/api/commerce/pos-readers', body)\n}\n\n/** Cents as the register shows them. */\nexport const usd = (cents: number) => `$${(Math.max(0, cents) / 100).toFixed(2)}`\n\n/** A dollar string the cashier typed, as whole cents (NaN-safe, never negative). */\nexport function centsFromInput(value: string): number {\n const number = Math.round(Number(String(value).replace(/[^0-9.]/g, '')) * 100)\n return Number.isFinite(number) && number > 0 ? number : 0\n}\n\n/*==========================================\n * THE NATIVE BRIDGE (AGL-3618).\n *\n * The POS companion app loads this register in a WebView and injects\n * `window.AglynPosBridge`. When it is there, the register offers a third\n * card option — Tap to Pay or a Bluetooth reader — and hands the app a\n * PaymentIntent the SERVER created (`card-present-sdk`); the app collects\n * the card with the Stripe Terminal SDK and the register settles it exactly\n * like a smart-reader payment, by asking the server.\n *=========================================*/\n\nexport interface AglynPosBridge {\n collectCardPayment(input: {\n paymentIntentId: string\n clientSecret: string\n amountCents: number\n }): Promise<{ status: 'collected' | 'canceled' | 'failed'; message?: string }>\n}\n\nexport function posNativeBridge(): AglynPosBridge | null {\n const bridge = (globalThis as { AglynPosBridge?: AglynPosBridge }).AglynPosBridge\n return bridge && typeof bridge.collectCardPayment === 'function' ? bridge : null\n}\n"],"names":["authorizedFetch","PosRequestError","Error","message","status","call","user","route","body","options","method","url","URLSearchParams","Object","entries","map","key","value","String","toString","response","headers","attemptKey","JSON","stringify","payload","json","catch","ok","error","newAttemptKey","globalThis","crypto","randomUUID","Date","now","Math","random","slice","posRegisterContext","hostId","action","openPosSale","payment","posTender","orderId","posGiftCardBalance","code","posDisplayCall","posReadersCall","usd","cents","max","toFixed","centsFromInput","number","round","Number","replace","isFinite","posNativeBridge","bridge","AglynPosBridge","collectCardPayment"],"mappings":"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"}
@@ -0,0 +1,36 @@
1
+ import type { ReactNode } from 'react';
2
+ import type { ModifierSelection, StockShortfall } from '../../../model';
3
+ export interface RegisterLine {
4
+ productId: string;
5
+ variantId?: string;
6
+ name: string;
7
+ variantLabel?: string;
8
+ /** Per unit, modifiers included: the register's estimate until the server prices it. */
9
+ unitAmountCents: number;
10
+ quantity: number;
11
+ /** The modifier options picked (AGL-3607); the server prices them. */
12
+ modifiers?: ModifierSelection[];
13
+ }
14
+ export interface PosCartPanelProps {
15
+ lines: RegisterLine[];
16
+ shortfalls: Array<Pick<StockShortfall, 'available'> | null>;
17
+ onQuantity: (index: number, quantity: number) => void;
18
+ onRemove: (index: number) => void;
19
+ /** Opens the line in the item sheet to change its options or quantity. */
20
+ onEdit?: (index: number) => void;
21
+ discountPct: number;
22
+ onDiscountPct: (value: number) => void;
23
+ /** The register's customer lookup (AGL-3609), under the discount. */
24
+ customer?: ReactNode;
25
+ /** Lines can no longer change: a sale is open against them. */
26
+ locked: boolean;
27
+ }
28
+ /**
29
+ * The basket (AGL-3607): lines with large quantity steppers, the stock
30
+ * warning under any line the shelf cannot cover (AGL-2357, said and never
31
+ * enforced), the cashier's discount and the customer the sale is for.
32
+ */
33
+ export declare function PosCartPanel(props: PosCartPanelProps): import("react").JSX.Element;
34
+ export declare namespace PosCartPanel {
35
+ var displayName: string;
36
+ }
@@ -0,0 +1,160 @@
1
+ /**
2
+ * @license
3
+ * Copyright 2026 Aglyn LLC
4
+ *
5
+ * Licensed under the Apache License, Version 2.0 (the "License");
6
+ * you may not use this file except in compliance with the License.
7
+ * You may obtain a copy of the License at
8
+ *
9
+ * http://www.apache.org/licenses/LICENSE-2.0
10
+ *
11
+ * Unless required by applicable law or agreed to in writing, software
12
+ * distributed under the License is distributed on an "AS IS" BASIS,
13
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14
+ * See the License for the specific language governing permissions and
15
+ * limitations under the License.
16
+ */ 'use client';
17
+ import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
18
+ import { Box, Button, ButtonBase, IconButton, Stack, TextField, Typography } from "@mui/material";
19
+ import { POS_TOUCH_PX } from "./pos-product-grid.component.js";
20
+ import { usd } from "./pos-api.js";
21
+ /**
22
+ * The basket (AGL-3607): lines with large quantity steppers, the stock
23
+ * warning under any line the shelf cannot cover (AGL-2357, said and never
24
+ * enforced), the cashier's discount and the customer the sale is for.
25
+ */ export function PosCartPanel(props) {
26
+ const { lines, locked } = props;
27
+ return /*#__PURE__*/ _jsxs(Stack, {
28
+ spacing: 1,
29
+ sx: {
30
+ minHeight: 0
31
+ },
32
+ children: [
33
+ /*#__PURE__*/ _jsx(Box, {
34
+ sx: {
35
+ overflowY: 'auto',
36
+ flex: 1
37
+ },
38
+ children: lines.length === 0 ? /*#__PURE__*/ _jsx(Typography, {
39
+ variant: "body2",
40
+ color: "text.secondary",
41
+ children: 'Tap products to add them.'
42
+ }) : lines.map((line, index)=>{
43
+ var _line_variantId;
44
+ var _props_shortfalls_index;
45
+ return /*#__PURE__*/ _jsxs(Box, {
46
+ sx: {
47
+ py: 0.5
48
+ },
49
+ children: [
50
+ /*#__PURE__*/ _jsxs(Stack, {
51
+ direction: "row",
52
+ spacing: 1,
53
+ sx: {
54
+ alignItems: 'center'
55
+ },
56
+ children: [
57
+ /*#__PURE__*/ _jsx(ButtonBase, {
58
+ disabled: locked || !props.onEdit,
59
+ onClick: ()=>props.onEdit == null ? void 0 : props.onEdit.call(props, index),
60
+ "aria-label": locked ? undefined : `Change ${line.name}`,
61
+ sx: {
62
+ flex: 1,
63
+ minWidth: 0,
64
+ minHeight: POS_TOUCH_PX,
65
+ justifyContent: 'flex-start',
66
+ textAlign: 'left',
67
+ borderRadius: 1
68
+ },
69
+ children: /*#__PURE__*/ _jsxs(Box, {
70
+ sx: {
71
+ minWidth: 0
72
+ },
73
+ children: [
74
+ /*#__PURE__*/ _jsx(Typography, {
75
+ variant: "body2",
76
+ noWrap: true,
77
+ children: `${line.quantity}× ${line.name}`
78
+ }),
79
+ line.variantLabel ? /*#__PURE__*/ _jsx(Typography, {
80
+ variant: "caption",
81
+ color: "text.secondary",
82
+ component: "p",
83
+ noWrap: true,
84
+ children: line.variantLabel
85
+ }) : null
86
+ ]
87
+ })
88
+ }),
89
+ !locked ? /*#__PURE__*/ _jsxs(_Fragment, {
90
+ children: [
91
+ /*#__PURE__*/ _jsx(IconButton, {
92
+ "aria-label": `One fewer ${line.name}`,
93
+ onClick: ()=>props.onQuantity(index, line.quantity - 1),
94
+ sx: {
95
+ width: POS_TOUCH_PX,
96
+ height: POS_TOUCH_PX
97
+ },
98
+ children: '−'
99
+ }),
100
+ /*#__PURE__*/ _jsx(IconButton, {
101
+ "aria-label": `One more ${line.name}`,
102
+ onClick: ()=>props.onQuantity(index, line.quantity + 1),
103
+ sx: {
104
+ width: POS_TOUCH_PX,
105
+ height: POS_TOUCH_PX
106
+ },
107
+ children: '+'
108
+ })
109
+ ]
110
+ }) : null,
111
+ /*#__PURE__*/ _jsx(Typography, {
112
+ variant: "body2",
113
+ children: usd(line.unitAmountCents * line.quantity)
114
+ }),
115
+ !locked ? /*#__PURE__*/ _jsx(Button, {
116
+ color: "error",
117
+ onClick: ()=>props.onRemove(index),
118
+ "aria-label": `Remove ${line.name}`,
119
+ sx: {
120
+ minWidth: POS_TOUCH_PX,
121
+ minHeight: POS_TOUCH_PX
122
+ },
123
+ children: '✕'
124
+ }) : null
125
+ ]
126
+ }),
127
+ props.shortfalls[index] ? /*#__PURE__*/ _jsx(Typography, {
128
+ variant: "caption",
129
+ color: "warning.main",
130
+ children: `Only ${(_props_shortfalls_index = props.shortfalls[index]) == null ? void 0 : _props_shortfalls_index.available} in stock — selling ${line.quantity}`
131
+ }) : null
132
+ ]
133
+ }, `${line.productId}:${(_line_variantId = line.variantId) != null ? _line_variantId : ''}:${index}`);
134
+ })
135
+ }),
136
+ /*#__PURE__*/ _jsx(Stack, {
137
+ direction: "row",
138
+ spacing: 1,
139
+ children: /*#__PURE__*/ _jsx(TextField, {
140
+ label: "Discount %",
141
+ value: props.discountPct || '',
142
+ onChange: (event)=>props.onDiscountPct(Math.min(100, Math.max(0, Number(event.target.value) || 0))),
143
+ disabled: locked,
144
+ sx: {
145
+ width: 120
146
+ },
147
+ slotProps: {
148
+ htmlInput: {
149
+ inputMode: 'numeric'
150
+ }
151
+ }
152
+ })
153
+ }),
154
+ props.customer
155
+ ]
156
+ });
157
+ }
158
+ PosCartPanel.displayName = 'PosCartPanel';
159
+
160
+ //# sourceMappingURL=pos-cart-panel.component.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../../../../../../../libs/plugins/commerce/src/lib/components/console/pos/pos-cart-panel.component.tsx"],"sourcesContent":["/**\n * @license\n * Copyright 2026 Aglyn LLC\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n'use client'\n\nimport type { ReactNode } from 'react'\nimport { Box, Button, ButtonBase, IconButton, Stack, TextField, Typography } from '@mui/material'\nimport type { ModifierSelection, StockShortfall } from '../../../model'\nimport { POS_TOUCH_PX } from './pos-product-grid.component'\nimport { usd } from './pos-api'\n\nexport interface RegisterLine {\n productId: string\n variantId?: string\n name: string\n variantLabel?: string\n /** Per unit, modifiers included: the register's estimate until the server prices it. */\n unitAmountCents: number\n quantity: number\n /** The modifier options picked (AGL-3607); the server prices them. */\n modifiers?: ModifierSelection[]\n}\n\nexport interface PosCartPanelProps {\n lines: RegisterLine[]\n shortfalls: Array<Pick<StockShortfall, 'available'> | null>\n onQuantity: (index: number, quantity: number) => void\n onRemove: (index: number) => void\n /** Opens the line in the item sheet to change its options or quantity. */\n onEdit?: (index: number) => void\n discountPct: number\n onDiscountPct: (value: number) => void\n /** The register's customer lookup (AGL-3609), under the discount. */\n customer?: ReactNode\n /** Lines can no longer change: a sale is open against them. */\n locked: boolean\n}\n\n/**\n * The basket (AGL-3607): lines with large quantity steppers, the stock\n * warning under any line the shelf cannot cover (AGL-2357, said and never\n * enforced), the cashier's discount and the customer the sale is for.\n */\nexport function PosCartPanel(props: PosCartPanelProps) {\n const { lines, locked } = props\n return (\n <Stack spacing={1} sx={{ minHeight: 0 }}>\n <Box sx={{ overflowY: 'auto', flex: 1 }}>\n {lines.length === 0 ? (\n <Typography variant=\"body2\" color=\"text.secondary\">\n {'Tap products to add them.'}\n </Typography>\n ) : (\n lines.map((line, index) => (\n <Box key={`${line.productId}:${line.variantId ?? ''}:${index}`} sx={{ py: 0.5 }}>\n <Stack direction=\"row\" spacing={1} sx={{ alignItems: 'center' }}>\n <ButtonBase\n disabled={locked || !props.onEdit}\n onClick={() => props.onEdit?.(index)}\n aria-label={locked ? undefined : `Change ${line.name}`}\n sx={{\n flex: 1,\n minWidth: 0,\n minHeight: POS_TOUCH_PX,\n justifyContent: 'flex-start',\n textAlign: 'left',\n borderRadius: 1,\n }}\n >\n <Box sx={{ minWidth: 0 }}>\n <Typography variant=\"body2\" noWrap>\n {`${line.quantity}× ${line.name}`}\n </Typography>\n {line.variantLabel ? (\n <Typography variant=\"caption\" color=\"text.secondary\" component=\"p\" noWrap>\n {line.variantLabel}\n </Typography>\n ) : null}\n </Box>\n </ButtonBase>\n {!locked ? (\n <>\n <IconButton\n aria-label={`One fewer ${line.name}`}\n onClick={() => props.onQuantity(index, line.quantity - 1)}\n sx={{ width: POS_TOUCH_PX, height: POS_TOUCH_PX }}\n >\n {'−'}\n </IconButton>\n <IconButton\n aria-label={`One more ${line.name}`}\n onClick={() => props.onQuantity(index, line.quantity + 1)}\n sx={{ width: POS_TOUCH_PX, height: POS_TOUCH_PX }}\n >\n {'+'}\n </IconButton>\n </>\n ) : null}\n <Typography variant=\"body2\">{usd(line.unitAmountCents * line.quantity)}</Typography>\n {!locked ? (\n <Button\n color=\"error\"\n onClick={() => props.onRemove(index)}\n aria-label={`Remove ${line.name}`}\n sx={{ minWidth: POS_TOUCH_PX, minHeight: POS_TOUCH_PX }}\n >\n {'✕'}\n </Button>\n ) : null}\n </Stack>\n {props.shortfalls[index] ? (\n <Typography variant=\"caption\" color=\"warning.main\">\n {`Only ${props.shortfalls[index]?.available} in stock — selling ${line.quantity}`}\n </Typography>\n ) : null}\n </Box>\n ))\n )}\n </Box>\n <Stack direction=\"row\" spacing={1}>\n <TextField\n label=\"Discount %\"\n value={props.discountPct || ''}\n onChange={(event) =>\n props.onDiscountPct(Math.min(100, Math.max(0, Number(event.target.value) || 0)))\n }\n disabled={locked}\n sx={{ width: 120 }}\n slotProps={{ htmlInput: { inputMode: 'numeric' } }}\n />\n </Stack>\n {props.customer}\n </Stack>\n )\n}\nPosCartPanel.displayName = 'PosCartPanel'\n"],"names":["Box","Button","ButtonBase","IconButton","Stack","TextField","Typography","POS_TOUCH_PX","usd","PosCartPanel","props","lines","locked","spacing","sx","minHeight","overflowY","flex","length","variant","color","map","line","index","py","direction","alignItems","disabled","onEdit","onClick","aria-label","undefined","name","minWidth","justifyContent","textAlign","borderRadius","noWrap","quantity","variantLabel","component","onQuantity","width","height","unitAmountCents","onRemove","shortfalls","available","productId","variantId","label","value","discountPct","onChange","event","onDiscountPct","Math","min","max","Number","target","slotProps","htmlInput","inputMode","customer","displayName"],"mappings":"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"}
@@ -0,0 +1,39 @@
1
+ import * as CommerceModel from '../../../model';
2
+ /** What the dialog hands back: one basket line's worth of choices. */
3
+ export interface PosItemChoice {
4
+ variant: CommerceModel.ProductVariant;
5
+ modifiers: CommerceModel.ModifierSelection[];
6
+ quantity: number;
7
+ }
8
+ export interface PosItemDialogProps {
9
+ /** The product being added or edited; `null` closes the dialog. */
10
+ product: (CommerceModel.HostProduct & {
11
+ $id: string;
12
+ }) | null;
13
+ /** An existing line's choices, when the cashier tapped a basket line. */
14
+ initial?: {
15
+ variantId?: string;
16
+ modifiers?: CommerceModel.ModifierSelection[];
17
+ quantity: number;
18
+ };
19
+ onClose: () => void;
20
+ onConfirm: (choice: PosItemChoice) => void;
21
+ /** Editing only: takes the line out of the basket. */
22
+ onRemove?: () => void;
23
+ }
24
+ /** Whether the register must ask before adding: a choice of variant or any modifier. */
25
+ export declare function posItemNeedsChoice(product: CommerceModel.HostProduct): boolean;
26
+ /**
27
+ * The register's item sheet (AGL-3607): the size, color or other variant,
28
+ * then each modifier group — required ones marked, "pick one" groups as a
29
+ * single toggle row and "pick up to N" groups as chips — and the quantity,
30
+ * with the line's price on the Add button as it changes. Full screen on a
31
+ * phone, a dialog on a tablet; every target is at least 44px.
32
+ *
33
+ * The price shown is the register's estimate. The server prices the line
34
+ * again from the product when the sale is charged.
35
+ */
36
+ export declare function PosItemDialog(props: PosItemDialogProps): import("react").JSX.Element;
37
+ export declare namespace PosItemDialog {
38
+ var displayName: string;
39
+ }