@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,39 @@
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
+ */
17
+ import { type PosReceipt } from '../../../model/commerce-pos-ops';
18
+ export declare const POS_RECEIPT_STYLES = "\n@page { size: 80mm auto; margin: 0; }\n* { box-sizing: border-box; }\nhtml, body { margin: 0; padding: 0; background: #fff; color: #000; }\nbody { width: 80mm; padding: 4mm; font: 12px/1.35 ui-monospace, 'SFMono-Regular', Menlo, Consolas, 'Liberation Mono', monospace; }\n.receipt { width: 72mm; }\n.center { text-align: center; }\n.logo { display: block; max-width: 48mm; max-height: 20mm; margin: 0 auto 2mm; }\n.store { font-size: 15px; font-weight: 700; }\n.muted { font-size: 11px; }\n.rule { border: 0; border-top: 1px dashed #000; margin: 2mm 0; }\n.row { display: flex; justify-content: space-between; gap: 2mm; }\n.row > span:first-child { flex: 1; overflow-wrap: anywhere; }\n.row > span:last-child { white-space: nowrap; }\n.item { margin-bottom: 1mm; }\n.total { font-size: 14px; font-weight: 700; }\n.barcode { margin: 3mm auto 1mm; text-align: center; }\n.barcode svg { width: 60mm; height: 12mm; }\n.title { font-weight: 700; letter-spacing: 0.1em; }\n@media screen { body { margin: 0 auto; } }\n";
19
+ /**
20
+ * The logo a receipt prints, from the site's stored `logoUrl`.
21
+ *
22
+ * A logo picked from the media library is stored as a `media:` reference,
23
+ * which the customer display resolves through `resolveMediaSrc`. The receipt
24
+ * resolves it the same way and makes it absolute against the console's
25
+ * origin, because the print window is not the page the reference was read on.
26
+ * Only an `https:` URL is printed: anything else is a stored value no resolver
27
+ * recognized, or a page served over plain HTTP.
28
+ */
29
+ export declare function posReceiptLogoUrl(stored: unknown, hostId: string, origin: string | null | undefined): string | undefined;
30
+ /** The receipt's body as HTML, every value escaped. */
31
+ export declare function posReceiptHtml(receipt: PosReceipt): string;
32
+ /** A whole printable document: the receipt and its 80 mm page. */
33
+ export declare function posReceiptDocument(receipt: PosReceipt): string;
34
+ /**
35
+ * Prints the receipt through the browser's print dialog from a hidden frame,
36
+ * so the register page itself never reflows. Waits for the logo (if any) so
37
+ * the first print is not missing it, and removes the frame afterwards.
38
+ */
39
+ export declare function printPosReceipt(receipt: PosReceipt): void;
@@ -0,0 +1,182 @@
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
+ */ import { absoluteMediaSrc } from "@aglyn/aglyn/app-utils/media-ref";
17
+ import { posMoney } from "../../../model/commerce-pos-ops.js";
18
+ import { code128Svg } from "../../../utils/code128.js";
19
+ import { escapeHtml } from "../../../utils/escape-html.js";
20
+ /*==========================================
21
+ * THE THERMAL RECEIPT (AGL-3609).
22
+ *
23
+ * An 80 mm roll prints a 72 mm column. The page is sized to the roll and has
24
+ * no margin, so the printer driver feeds exactly as much paper as the receipt
25
+ * needs; everything is black on white because a thermal head prints nothing
26
+ * else, and the type is the printer's own monospace stack so columns line up.
27
+ *
28
+ * Most network receipt printers open the cash drawer wired to them when they
29
+ * print, so printing the receipt for a cash sale is also what opens the
30
+ * drawer. That is the printer's setting, not this page's.
31
+ *=========================================*/ // Thermal paper prints one ink, so the receipt is black on white and never
32
+ // takes the console theme's colors.
33
+ export const POS_RECEIPT_STYLES = `
34
+ @page { size: 80mm auto; margin: 0; }
35
+ * { box-sizing: border-box; }
36
+ html, body { margin: 0; padding: 0; background: #fff; color: #000; }
37
+ body { width: 80mm; padding: 4mm; font: 12px/1.35 ui-monospace, 'SFMono-Regular', Menlo, Consolas, 'Liberation Mono', monospace; }
38
+ .receipt { width: 72mm; }
39
+ .center { text-align: center; }
40
+ .logo { display: block; max-width: 48mm; max-height: 20mm; margin: 0 auto 2mm; }
41
+ .store { font-size: 15px; font-weight: 700; }
42
+ .muted { font-size: 11px; }
43
+ .rule { border: 0; border-top: 1px dashed #000; margin: 2mm 0; }
44
+ .row { display: flex; justify-content: space-between; gap: 2mm; }
45
+ .row > span:first-child { flex: 1; overflow-wrap: anywhere; }
46
+ .row > span:last-child { white-space: nowrap; }
47
+ .item { margin-bottom: 1mm; }
48
+ .total { font-size: 14px; font-weight: 700; }
49
+ .barcode { margin: 3mm auto 1mm; text-align: center; }
50
+ .barcode svg { width: 60mm; height: 12mm; }
51
+ .title { font-weight: 700; letter-spacing: 0.1em; }
52
+ @media screen { body { margin: 0 auto; } }
53
+ `;
54
+ const row = (left, right, className = 'row')=>`<div class="${className}"><span>${escapeHtml(left)}</span><span>${escapeHtml(right)}</span></div>`;
55
+ /**
56
+ * The logo a receipt prints, from the site's stored `logoUrl`.
57
+ *
58
+ * A logo picked from the media library is stored as a `media:` reference,
59
+ * which the customer display resolves through `resolveMediaSrc`. The receipt
60
+ * resolves it the same way and makes it absolute against the console's
61
+ * origin, because the print window is not the page the reference was read on.
62
+ * Only an `https:` URL is printed: anything else is a stored value no resolver
63
+ * recognized, or a page served over plain HTTP.
64
+ */ export function posReceiptLogoUrl(stored, hostId, origin) {
65
+ if (typeof stored !== 'string' || !stored) return undefined;
66
+ const url = absoluteMediaSrc(stored, {
67
+ hostId,
68
+ origin: origin != null ? origin : null
69
+ });
70
+ return url && /^https:\/\//.test(url) ? url : undefined;
71
+ }
72
+ /** The receipt's body as HTML, every value escaped. */ export function posReceiptHtml(receipt) {
73
+ const parts = [
74
+ '<div class="receipt">',
75
+ '<div class="center">'
76
+ ];
77
+ if (receipt.logoUrl && /^https:\/\//.test(receipt.logoUrl)) {
78
+ parts.push(`<img class="logo" src="${escapeHtml(receipt.logoUrl)}" alt="">`);
79
+ }
80
+ parts.push(`<div class="store">${escapeHtml(receipt.storeName)}</div>`);
81
+ for (const line of receipt.addressLines)parts.push(`<div class="muted">${escapeHtml(line)}</div>`);
82
+ if (receipt.gift) parts.push('<div class="title">GIFT RECEIPT</div>');
83
+ parts.push('</div><hr class="rule">');
84
+ parts.push(row(`Order ${receipt.orderNumber}`, receipt.dateLabel, 'row muted'));
85
+ if (receipt.registerName) parts.push(row('Register', receipt.registerName, 'row muted'));
86
+ if (receipt.cashierName) parts.push(row('Cashier', receipt.cashierName, 'row muted'));
87
+ if (receipt.customerName) parts.push(row('Customer', receipt.customerName, 'row muted'));
88
+ parts.push('<hr class="rule">');
89
+ for (const line of receipt.lines){
90
+ const label = `${line.quantity} × ${line.name}${line.variantLabel ? ` (${line.variantLabel})` : ''}`;
91
+ parts.push(receipt.gift ? `<div class="item">${escapeHtml(label)}</div>` : `<div class="item">${row(label, posMoney(line.lineCents))}${line.quantity > 1 ? `<div class="muted">&nbsp;&nbsp;${escapeHtml(posMoney(line.unitAmountCents))} each</div>` : ''}</div>`);
92
+ }
93
+ if (!receipt.gift) {
94
+ parts.push('<hr class="rule">');
95
+ parts.push(row('Subtotal', posMoney(receipt.subtotalCents)));
96
+ if (receipt.discountCents > 0) parts.push(row('Discount', `-${posMoney(receipt.discountCents)}`));
97
+ if (receipt.taxCents > 0) parts.push(row('Tax', posMoney(receipt.taxCents)));
98
+ parts.push(row('Total', posMoney(receipt.totalCents), 'row total'));
99
+ if (receipt.tipCents > 0) parts.push(row('Tip', posMoney(receipt.tipCents)));
100
+ if (receipt.tenders.length) {
101
+ parts.push('<hr class="rule">');
102
+ for (const tender of receipt.tenders)parts.push(row(tender.label, posMoney(tender.amountCents)));
103
+ if (receipt.changeCents > 0) parts.push(row('Change', posMoney(receipt.changeCents)));
104
+ }
105
+ if (receipt.refundedCents > 0) parts.push(row('Refunded', `-${posMoney(receipt.refundedCents)}`));
106
+ }
107
+ try {
108
+ parts.push(`<div class="barcode">${code128Svg(receipt.barcodeValue, {
109
+ height: 48,
110
+ moduleWidth: 2,
111
+ title: receipt.orderNumber
112
+ })}<div class="muted">${escapeHtml(receipt.orderNumber)}</div></div>`);
113
+ } catch (unused) {
114
+ // An order id code 128 cannot carry prints its number alone.
115
+ }
116
+ if (receipt.footer || receipt.returnPolicy) parts.push('<hr class="rule">');
117
+ if (receipt.footer) parts.push(`<div class="center muted">${escapeHtml(receipt.footer)}</div>`);
118
+ if (receipt.returnPolicy) {
119
+ parts.push(`<div class="center muted">${escapeHtml(receipt.returnPolicy)}</div>`);
120
+ }
121
+ parts.push('</div>');
122
+ return parts.join('');
123
+ }
124
+ /** A whole printable document: the receipt and its 80 mm page. */ export function posReceiptDocument(receipt) {
125
+ return '<!doctype html><html><head><meta charset="utf-8">' + `<title>${escapeHtml(`Receipt ${receipt.orderNumber}`)}</title>` + `<style>${POS_RECEIPT_STYLES}</style></head><body>${posReceiptHtml(receipt)}</body></html>`;
126
+ }
127
+ /**
128
+ * Prints the receipt through the browser's print dialog from a hidden frame,
129
+ * so the register page itself never reflows. Waits for the logo (if any) so
130
+ * the first print is not missing it, and removes the frame afterwards.
131
+ */ export function printPosReceipt(receipt) {
132
+ var _frame_contentDocument;
133
+ if (typeof document === 'undefined') return;
134
+ const frame = document.createElement('iframe');
135
+ frame.setAttribute('aria-hidden', 'true');
136
+ frame.style.position = 'fixed';
137
+ frame.style.width = '0';
138
+ frame.style.height = '0';
139
+ frame.style.border = '0';
140
+ frame.style.right = '0';
141
+ frame.style.bottom = '0';
142
+ document.body.appendChild(frame);
143
+ const win = frame.contentWindow;
144
+ const doc = (_frame_contentDocument = frame.contentDocument) != null ? _frame_contentDocument : win == null ? void 0 : win.document;
145
+ if (!win || !doc) {
146
+ frame.remove();
147
+ return;
148
+ }
149
+ doc.open();
150
+ doc.write(posReceiptDocument(receipt));
151
+ doc.close();
152
+ const cleanup = ()=>window.setTimeout(()=>frame.remove(), 1000);
153
+ const go = ()=>{
154
+ win.addEventListener('afterprint', cleanup, {
155
+ once: true
156
+ });
157
+ win.focus();
158
+ win.print();
159
+ // Browsers that never fire `afterprint` still drop the frame.
160
+ window.setTimeout(()=>frame.isConnected && frame.remove(), 60000);
161
+ };
162
+ const images = Array.from(doc.images);
163
+ if (!images.length) return go();
164
+ let waiting = images.length;
165
+ const done = ()=>{
166
+ waiting -= 1;
167
+ if (waiting === 0) go();
168
+ };
169
+ for (const image of images){
170
+ if (image.complete) done();
171
+ else {
172
+ image.addEventListener('load', done, {
173
+ once: true
174
+ });
175
+ image.addEventListener('error', done, {
176
+ once: true
177
+ });
178
+ }
179
+ }
180
+ }
181
+
182
+ //# sourceMappingURL=pos-receipt.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../../../../../../../libs/plugins/commerce/src/lib/components/console/pos-ops/pos-receipt.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 { absoluteMediaSrc } from '@aglyn/aglyn/app-utils/media-ref'\nimport { posMoney, type PosReceipt } from '../../../model/commerce-pos-ops'\nimport { code128Svg } from '../../../utils/code128'\nimport { escapeHtml } from '../../../utils/escape-html'\n\n/*==========================================\n * THE THERMAL RECEIPT (AGL-3609).\n *\n * An 80 mm roll prints a 72 mm column. The page is sized to the roll and has\n * no margin, so the printer driver feeds exactly as much paper as the receipt\n * needs; everything is black on white because a thermal head prints nothing\n * else, and the type is the printer's own monospace stack so columns line up.\n *\n * Most network receipt printers open the cash drawer wired to them when they\n * print, so printing the receipt for a cash sale is also what opens the\n * drawer. That is the printer's setting, not this page's.\n *=========================================*/\n\n// Thermal paper prints one ink, so the receipt is black on white and never\n// takes the console theme's colors.\nexport const POS_RECEIPT_STYLES = `\n@page { size: 80mm auto; margin: 0; }\n* { box-sizing: border-box; }\nhtml, body { margin: 0; padding: 0; background: #fff; color: #000; }\nbody { width: 80mm; padding: 4mm; font: 12px/1.35 ui-monospace, 'SFMono-Regular', Menlo, Consolas, 'Liberation Mono', monospace; }\n.receipt { width: 72mm; }\n.center { text-align: center; }\n.logo { display: block; max-width: 48mm; max-height: 20mm; margin: 0 auto 2mm; }\n.store { font-size: 15px; font-weight: 700; }\n.muted { font-size: 11px; }\n.rule { border: 0; border-top: 1px dashed #000; margin: 2mm 0; }\n.row { display: flex; justify-content: space-between; gap: 2mm; }\n.row > span:first-child { flex: 1; overflow-wrap: anywhere; }\n.row > span:last-child { white-space: nowrap; }\n.item { margin-bottom: 1mm; }\n.total { font-size: 14px; font-weight: 700; }\n.barcode { margin: 3mm auto 1mm; text-align: center; }\n.barcode svg { width: 60mm; height: 12mm; }\n.title { font-weight: 700; letter-spacing: 0.1em; }\n@media screen { body { margin: 0 auto; } }\n`\n\nconst row = (left: string, right: string, className = 'row') =>\n `<div class=\"${className}\"><span>${escapeHtml(left)}</span><span>${escapeHtml(right)}</span></div>`\n\n/**\n * The logo a receipt prints, from the site's stored `logoUrl`.\n *\n * A logo picked from the media library is stored as a `media:` reference,\n * which the customer display resolves through `resolveMediaSrc`. The receipt\n * resolves it the same way and makes it absolute against the console's\n * origin, because the print window is not the page the reference was read on.\n * Only an `https:` URL is printed: anything else is a stored value no resolver\n * recognized, or a page served over plain HTTP.\n */\nexport function posReceiptLogoUrl(\n stored: unknown,\n hostId: string,\n origin: string | null | undefined,\n): string | undefined {\n if (typeof stored !== 'string' || !stored) return undefined\n const url = absoluteMediaSrc(stored, { hostId, origin: origin ?? null })\n return url && /^https:\\/\\//.test(url) ? url : undefined\n}\n\n/** The receipt's body as HTML, every value escaped. */\nexport function posReceiptHtml(receipt: PosReceipt): string {\n const parts: string[] = ['<div class=\"receipt\">', '<div class=\"center\">']\n if (receipt.logoUrl && /^https:\\/\\//.test(receipt.logoUrl)) {\n parts.push(`<img class=\"logo\" src=\"${escapeHtml(receipt.logoUrl)}\" alt=\"\">`)\n }\n parts.push(`<div class=\"store\">${escapeHtml(receipt.storeName)}</div>`)\n for (const line of receipt.addressLines) parts.push(`<div class=\"muted\">${escapeHtml(line)}</div>`)\n if (receipt.gift) parts.push('<div class=\"title\">GIFT RECEIPT</div>')\n parts.push('</div><hr class=\"rule\">')\n parts.push(row(`Order ${receipt.orderNumber}`, receipt.dateLabel, 'row muted'))\n if (receipt.registerName) parts.push(row('Register', receipt.registerName, 'row muted'))\n if (receipt.cashierName) parts.push(row('Cashier', receipt.cashierName, 'row muted'))\n if (receipt.customerName) parts.push(row('Customer', receipt.customerName, 'row muted'))\n parts.push('<hr class=\"rule\">')\n for (const line of receipt.lines) {\n const label = `${line.quantity} × ${line.name}${line.variantLabel ? ` (${line.variantLabel})` : ''}`\n parts.push(\n receipt.gift\n ? `<div class=\"item\">${escapeHtml(label)}</div>`\n : `<div class=\"item\">${row(label, posMoney(line.lineCents))}${\n line.quantity > 1\n ? `<div class=\"muted\">&nbsp;&nbsp;${escapeHtml(posMoney(line.unitAmountCents))} each</div>`\n : ''\n }</div>`,\n )\n }\n if (!receipt.gift) {\n parts.push('<hr class=\"rule\">')\n parts.push(row('Subtotal', posMoney(receipt.subtotalCents)))\n if (receipt.discountCents > 0) parts.push(row('Discount', `-${posMoney(receipt.discountCents)}`))\n if (receipt.taxCents > 0) parts.push(row('Tax', posMoney(receipt.taxCents)))\n parts.push(row('Total', posMoney(receipt.totalCents), 'row total'))\n if (receipt.tipCents > 0) parts.push(row('Tip', posMoney(receipt.tipCents)))\n if (receipt.tenders.length) {\n parts.push('<hr class=\"rule\">')\n for (const tender of receipt.tenders) parts.push(row(tender.label, posMoney(tender.amountCents)))\n if (receipt.changeCents > 0) parts.push(row('Change', posMoney(receipt.changeCents)))\n }\n if (receipt.refundedCents > 0) parts.push(row('Refunded', `-${posMoney(receipt.refundedCents)}`))\n }\n try {\n parts.push(\n `<div class=\"barcode\">${code128Svg(receipt.barcodeValue, {\n height: 48,\n moduleWidth: 2,\n title: receipt.orderNumber,\n })}<div class=\"muted\">${escapeHtml(receipt.orderNumber)}</div></div>`,\n )\n } catch {\n // An order id code 128 cannot carry prints its number alone.\n }\n if (receipt.footer || receipt.returnPolicy) parts.push('<hr class=\"rule\">')\n if (receipt.footer) parts.push(`<div class=\"center muted\">${escapeHtml(receipt.footer)}</div>`)\n if (receipt.returnPolicy) {\n parts.push(`<div class=\"center muted\">${escapeHtml(receipt.returnPolicy)}</div>`)\n }\n parts.push('</div>')\n return parts.join('')\n}\n\n/** A whole printable document: the receipt and its 80 mm page. */\nexport function posReceiptDocument(receipt: PosReceipt): string {\n return (\n '<!doctype html><html><head><meta charset=\"utf-8\">' +\n `<title>${escapeHtml(`Receipt ${receipt.orderNumber}`)}</title>` +\n `<style>${POS_RECEIPT_STYLES}</style></head><body>${posReceiptHtml(receipt)}</body></html>`\n )\n}\n\n/**\n * Prints the receipt through the browser's print dialog from a hidden frame,\n * so the register page itself never reflows. Waits for the logo (if any) so\n * the first print is not missing it, and removes the frame afterwards.\n */\nexport function printPosReceipt(receipt: PosReceipt): void {\n if (typeof document === 'undefined') return\n const frame = document.createElement('iframe')\n frame.setAttribute('aria-hidden', 'true')\n frame.style.position = 'fixed'\n frame.style.width = '0'\n frame.style.height = '0'\n frame.style.border = '0'\n frame.style.right = '0'\n frame.style.bottom = '0'\n document.body.appendChild(frame)\n const win = frame.contentWindow\n const doc = frame.contentDocument ?? win?.document\n if (!win || !doc) {\n frame.remove()\n return\n }\n doc.open()\n doc.write(posReceiptDocument(receipt))\n doc.close()\n const cleanup = () => window.setTimeout(() => frame.remove(), 1000)\n const go = () => {\n win.addEventListener('afterprint', cleanup, { once: true })\n win.focus()\n win.print()\n // Browsers that never fire `afterprint` still drop the frame.\n window.setTimeout(() => frame.isConnected && frame.remove(), 60_000)\n }\n const images = Array.from(doc.images)\n if (!images.length) return go()\n let waiting = images.length\n const done = () => {\n waiting -= 1\n if (waiting === 0) go()\n }\n for (const image of images) {\n if (image.complete) done()\n else {\n image.addEventListener('load', done, { once: true })\n image.addEventListener('error', done, { once: true })\n }\n }\n}\n"],"names":["absoluteMediaSrc","posMoney","code128Svg","escapeHtml","POS_RECEIPT_STYLES","row","left","right","className","posReceiptLogoUrl","stored","hostId","origin","undefined","url","test","posReceiptHtml","receipt","parts","logoUrl","push","storeName","line","addressLines","gift","orderNumber","dateLabel","registerName","cashierName","customerName","lines","label","quantity","name","variantLabel","lineCents","unitAmountCents","subtotalCents","discountCents","taxCents","totalCents","tipCents","tenders","length","tender","amountCents","changeCents","refundedCents","barcodeValue","height","moduleWidth","title","footer","returnPolicy","join","posReceiptDocument","printPosReceipt","frame","document","createElement","setAttribute","style","position","width","border","bottom","body","appendChild","win","contentWindow","doc","contentDocument","remove","open","write","close","cleanup","window","setTimeout","go","addEventListener","once","focus","print","isConnected","images","Array","from","waiting","done","image","complete"],"mappings":"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"}
@@ -0,0 +1,40 @@
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
+ */
17
+ export interface PosReturnDialogProps {
18
+ open: boolean;
19
+ hostId: string;
20
+ registerId: string;
21
+ cashierAssertion?: string;
22
+ onClose: () => void;
23
+ /** Ring the exchange: a new sale for the same customer. */
24
+ onExchange?: (customer: {
25
+ email: string | null;
26
+ name: string | null;
27
+ }) => void;
28
+ }
29
+ /**
30
+ * A return at the register (AGL-3609): find the sale by its number — typed or
31
+ * scanned off the receipt's barcode — or by the customer's email, pick what
32
+ * came back, and refund it to the payments the sale was made with. Above
33
+ * the cashier's limit it asks for a manager's PIN, and when it is done it
34
+ * says exactly how much cash to hand over.
35
+ */
36
+ export declare function PosReturnDialog(props: PosReturnDialogProps): import("react").JSX.Element;
37
+ export declare namespace PosReturnDialog {
38
+ var displayName: string;
39
+ }
40
+ export default PosReturnDialog;