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

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 (609) 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/catalog-organization-card.component.js +1 -0
  39. package/src/lib/components/console/catalog-organization-card.component.js.map +1 -1
  40. package/src/lib/components/console/customer-notifications-card.component.d.ts +19 -0
  41. package/src/lib/components/console/customer-notifications-card.component.js +149 -0
  42. package/src/lib/components/console/customer-notifications-card.component.js.map +1 -0
  43. package/src/lib/components/console/host-orders-card.component.js +88 -6
  44. package/src/lib/components/console/host-orders-card.component.js.map +1 -1
  45. package/src/lib/components/console/locations-card.component.js +164 -57
  46. package/src/lib/components/console/locations-card.component.js.map +1 -1
  47. package/src/lib/components/console/order-detail-dialog.component.js +209 -61
  48. package/src/lib/components/console/order-detail-dialog.component.js.map +1 -1
  49. package/src/lib/components/console/order-fulfillment-panel.component.d.ts +48 -0
  50. package/src/lib/components/console/order-fulfillment-panel.component.js +542 -0
  51. package/src/lib/components/console/order-fulfillment-panel.component.js.map +1 -0
  52. package/src/lib/components/console/order-invoice.component.d.ts +33 -0
  53. package/src/lib/components/console/order-invoice.component.js +81 -0
  54. package/src/lib/components/console/order-invoice.component.js.map +1 -0
  55. package/src/lib/components/console/order-receipt-resend.component.d.ts +21 -0
  56. package/src/lib/components/console/order-receipt-resend.component.js +203 -0
  57. package/src/lib/components/console/order-receipt-resend.component.js.map +1 -0
  58. package/src/lib/components/console/order-returns.component.d.ts +36 -0
  59. package/src/lib/components/console/order-returns.component.js +142 -0
  60. package/src/lib/components/console/order-returns.component.js.map +1 -0
  61. package/src/lib/components/console/order-shipping-actions.component.d.ts +54 -0
  62. package/src/lib/components/console/order-shipping-actions.component.js +149 -0
  63. package/src/lib/components/console/order-shipping-actions.component.js.map +1 -0
  64. package/src/lib/components/console/order-webhooks-card.component.d.ts +50 -0
  65. package/src/lib/components/console/order-webhooks-card.component.js +623 -0
  66. package/src/lib/components/console/order-webhooks-card.component.js.map +1 -0
  67. package/src/lib/components/console/order-zones.d.ts +155 -0
  68. package/src/lib/components/console/order-zones.js +40 -0
  69. package/src/lib/components/console/order-zones.js.map +1 -0
  70. package/src/lib/components/console/payment-methods-card.component.d.ts +67 -0
  71. package/src/lib/components/console/payment-methods-card.component.js +395 -0
  72. package/src/lib/components/console/payment-methods-card.component.js.map +1 -0
  73. package/src/lib/components/console/pos/pos-api.d.ts +124 -0
  74. package/src/lib/components/console/pos/pos-api.js +101 -0
  75. package/src/lib/components/console/pos/pos-api.js.map +1 -0
  76. package/src/lib/components/console/pos/pos-cart-panel.component.d.ts +36 -0
  77. package/src/lib/components/console/pos/pos-cart-panel.component.js +160 -0
  78. package/src/lib/components/console/pos/pos-cart-panel.component.js.map +1 -0
  79. package/src/lib/components/console/pos/pos-item-dialog.component.d.ts +39 -0
  80. package/src/lib/components/console/pos/pos-item-dialog.component.js +352 -0
  81. package/src/lib/components/console/pos/pos-item-dialog.component.js.map +1 -0
  82. package/src/lib/components/console/pos/pos-product-grid.component.d.ts +47 -0
  83. package/src/lib/components/console/pos/pos-product-grid.component.js +272 -0
  84. package/src/lib/components/console/pos/pos-product-grid.component.js.map +1 -0
  85. package/src/lib/components/console/pos/pos-receipt-panel.component.d.ts +27 -0
  86. package/src/lib/components/console/pos/pos-receipt-panel.component.js +282 -0
  87. package/src/lib/components/console/pos/pos-receipt-panel.component.js.map +1 -0
  88. package/src/lib/components/console/pos/pos-tender-dialogs.component.d.ts +53 -0
  89. package/src/lib/components/console/pos/pos-tender-dialogs.component.js +445 -0
  90. package/src/lib/components/console/pos/pos-tender-dialogs.component.js.map +1 -0
  91. package/src/lib/components/console/pos/pos-tender-panel.component.d.ts +31 -0
  92. package/src/lib/components/console/pos/pos-tender-panel.component.js +640 -0
  93. package/src/lib/components/console/pos/pos-tender-panel.component.js.map +1 -0
  94. package/src/lib/components/console/pos/use-pos-display.d.ts +43 -0
  95. package/src/lib/components/console/pos/use-pos-display.js +161 -0
  96. package/src/lib/components/console/pos/use-pos-display.js.map +1 -0
  97. package/src/lib/components/console/pos-devices-card.component.d.ts +14 -0
  98. package/src/lib/components/console/pos-devices-card.component.js +546 -0
  99. package/src/lib/components/console/pos-devices-card.component.js.map +1 -0
  100. package/src/lib/components/console/pos-display/brand-screen.d.ts +33 -0
  101. package/src/lib/components/console/pos-display/brand-screen.js +85 -0
  102. package/src/lib/components/console/pos-display/brand-screen.js.map +1 -0
  103. package/src/lib/components/console/pos-display/cart-screen.d.ts +29 -0
  104. package/src/lib/components/console/pos-display/cart-screen.js +166 -0
  105. package/src/lib/components/console/pos-display/cart-screen.js.map +1 -0
  106. package/src/lib/components/console/pos-display/pairing-screen.d.ts +24 -0
  107. package/src/lib/components/console/pos-display/pairing-screen.js +127 -0
  108. package/src/lib/components/console/pos-display/pairing-screen.js.map +1 -0
  109. package/src/lib/components/console/pos-display/pos-display-api.d.ts +90 -0
  110. package/src/lib/components/console/pos-display/pos-display-api.js +140 -0
  111. package/src/lib/components/console/pos-display/pos-display-api.js.map +1 -0
  112. package/src/lib/components/console/pos-display/receipt-screen.d.ts +35 -0
  113. package/src/lib/components/console/pos-display/receipt-screen.js +200 -0
  114. package/src/lib/components/console/pos-display/receipt-screen.js.map +1 -0
  115. package/src/lib/components/console/pos-display/tip-screen.d.ts +36 -0
  116. package/src/lib/components/console/pos-display/tip-screen.js +211 -0
  117. package/src/lib/components/console/pos-display/tip-screen.js.map +1 -0
  118. package/src/lib/components/console/pos-display-page.component.d.ts +16 -0
  119. package/src/lib/components/console/pos-display-page.component.js +407 -0
  120. package/src/lib/components/console/pos-display-page.component.js.map +1 -0
  121. package/src/lib/components/console/pos-ops/pos-customer-lookup.component.d.ts +40 -0
  122. package/src/lib/components/console/pos-ops/pos-customer-lookup.component.js +289 -0
  123. package/src/lib/components/console/pos-ops/pos-customer-lookup.component.js.map +1 -0
  124. package/src/lib/components/console/pos-ops/pos-last-receipt.component.d.ts +34 -0
  125. package/src/lib/components/console/pos-ops/pos-last-receipt.component.js +61 -0
  126. package/src/lib/components/console/pos-ops/pos-last-receipt.component.js.map +1 -0
  127. package/src/lib/components/console/pos-ops/pos-operations-bar.component.d.ts +38 -0
  128. package/src/lib/components/console/pos-ops/pos-operations-bar.component.js +129 -0
  129. package/src/lib/components/console/pos-ops/pos-operations-bar.component.js.map +1 -0
  130. package/src/lib/components/console/pos-ops/pos-ops-api.d.ts +37 -0
  131. package/src/lib/components/console/pos-ops/pos-ops-api.js +60 -0
  132. package/src/lib/components/console/pos-ops/pos-ops-api.js.map +1 -0
  133. package/src/lib/components/console/pos-ops/pos-pin-pad.component.d.ts +48 -0
  134. package/src/lib/components/console/pos-ops/pos-pin-pad.component.js +220 -0
  135. package/src/lib/components/console/pos-ops/pos-pin-pad.component.js.map +1 -0
  136. package/src/lib/components/console/pos-ops/pos-receipt-actions.component.d.ts +63 -0
  137. package/src/lib/components/console/pos-ops/pos-receipt-actions.component.js +186 -0
  138. package/src/lib/components/console/pos-ops/pos-receipt-actions.component.js.map +1 -0
  139. package/src/lib/components/console/pos-ops/pos-receipt.d.ts +39 -0
  140. package/src/lib/components/console/pos-ops/pos-receipt.js +182 -0
  141. package/src/lib/components/console/pos-ops/pos-receipt.js.map +1 -0
  142. package/src/lib/components/console/pos-ops/pos-return-dialog.component.d.ts +40 -0
  143. package/src/lib/components/console/pos-ops/pos-return-dialog.component.js +465 -0
  144. package/src/lib/components/console/pos-ops/pos-return-dialog.component.js.map +1 -0
  145. package/src/lib/components/console/pos-ops/pos-shift-history-card.component.d.ts +29 -0
  146. package/src/lib/components/console/pos-ops/pos-shift-history-card.component.js +253 -0
  147. package/src/lib/components/console/pos-ops/pos-shift-history-card.component.js.map +1 -0
  148. package/src/lib/components/console/pos-ops/pos-shift-panel.component.d.ts +34 -0
  149. package/src/lib/components/console/pos-ops/pos-shift-panel.component.js +494 -0
  150. package/src/lib/components/console/pos-ops/pos-shift-panel.component.js.map +1 -0
  151. package/src/lib/components/console/pos-ops/pos-shift-report.component.d.ts +37 -0
  152. package/src/lib/components/console/pos-ops/pos-shift-report.component.js +102 -0
  153. package/src/lib/components/console/pos-ops/pos-shift-report.component.js.map +1 -0
  154. package/src/lib/components/console/pos-ops/pos-staff-pins-card.component.d.ts +30 -0
  155. package/src/lib/components/console/pos-ops/pos-staff-pins-card.component.js +277 -0
  156. package/src/lib/components/console/pos-ops/pos-staff-pins-card.component.js.map +1 -0
  157. package/src/lib/components/console/pos-ops/register-ops.d.ts +28 -0
  158. package/src/lib/components/console/pos-ops/register-ops.js +28 -0
  159. package/src/lib/components/console/pos-ops/register-ops.js.map +1 -0
  160. package/src/lib/components/console/pos-ops/use-pos-cashier.d.ts +46 -0
  161. package/src/lib/components/console/pos-ops/use-pos-cashier.js +128 -0
  162. package/src/lib/components/console/pos-ops/use-pos-cashier.js.map +1 -0
  163. package/src/lib/components/console/pos-ops/use-pos-sale-receipt.d.ts +36 -0
  164. package/src/lib/components/console/pos-ops/use-pos-sale-receipt.js +64 -0
  165. package/src/lib/components/console/pos-ops/use-pos-sale-receipt.js.map +1 -0
  166. package/src/lib/components/console/pos-page.component.d.ts +13 -5
  167. package/src/lib/components/console/pos-page.component.js +756 -654
  168. package/src/lib/components/console/pos-page.component.js.map +1 -1
  169. package/src/lib/components/console/pos-zones.d.ts +23 -0
  170. package/src/lib/components/console/pos-zones.js +31 -0
  171. package/src/lib/components/console/pos-zones.js.map +1 -0
  172. package/src/lib/components/console/product-editor-dialog.component.js +61 -71
  173. package/src/lib/components/console/product-editor-dialog.component.js.map +1 -1
  174. package/src/lib/components/console/product-labels-dialog.component.d.ts +13 -0
  175. package/src/lib/components/console/product-labels-dialog.component.js +197 -0
  176. package/src/lib/components/console/product-labels-dialog.component.js.map +1 -0
  177. package/src/lib/components/console/product-register-fields.component.d.ts +19 -0
  178. package/src/lib/components/console/product-register-fields.component.js +241 -0
  179. package/src/lib/components/console/product-register-fields.component.js.map +1 -0
  180. package/src/lib/components/console/product-zones.d.ts +44 -0
  181. package/src/lib/components/console/product-zones.js.map +1 -1
  182. package/src/lib/components/console/products-hub-card.component.js +23 -20
  183. package/src/lib/components/console/products-hub-card.component.js.map +1 -1
  184. package/src/lib/components/console/register-hardware-card.component.d.ts +33 -0
  185. package/src/lib/components/console/register-hardware-card.component.js +826 -0
  186. package/src/lib/components/console/register-hardware-card.component.js.map +1 -0
  187. package/src/lib/components/console/registers-card.component.js +24 -5
  188. package/src/lib/components/console/registers-card.component.js.map +1 -1
  189. package/src/lib/components/console/return-actions.d.ts +38 -0
  190. package/src/lib/components/console/return-actions.js +76 -0
  191. package/src/lib/components/console/return-actions.js.map +1 -0
  192. package/src/lib/components/console/return-detail-dialog.component.d.ts +34 -0
  193. package/src/lib/components/console/return-detail-dialog.component.js +718 -0
  194. package/src/lib/components/console/return-detail-dialog.component.js.map +1 -0
  195. package/src/lib/components/console/return-settings-card.component.d.ts +34 -0
  196. package/src/lib/components/console/return-settings-card.component.js +195 -0
  197. package/src/lib/components/console/return-settings-card.component.js.map +1 -0
  198. package/src/lib/components/console/return-zones.d.ts +87 -0
  199. package/src/lib/components/console/return-zones.js +31 -0
  200. package/src/lib/components/console/return-zones.js.map +1 -0
  201. package/src/lib/components/console/returns-card.component.d.ts +45 -0
  202. package/src/lib/components/console/returns-card.component.js +159 -0
  203. package/src/lib/components/console/returns-card.component.js.map +1 -0
  204. package/src/lib/components/console/shipping-settings-card.component.js +161 -5
  205. package/src/lib/components/console/shipping-settings-card.component.js.map +1 -1
  206. package/src/lib/components/console/shippingeasy-card.component.d.ts +59 -0
  207. package/src/lib/components/console/shippingeasy-card.component.js +378 -0
  208. package/src/lib/components/console/shippingeasy-card.component.js.map +1 -0
  209. package/src/lib/components/console/shipstation-card.component.d.ts +35 -0
  210. package/src/lib/components/console/shipstation-card.component.js +345 -0
  211. package/src/lib/components/console/shipstation-card.component.js.map +1 -0
  212. package/src/lib/components/console/start-return-dialog.component.d.ts +40 -0
  213. package/src/lib/components/console/start-return-dialog.component.js +243 -0
  214. package/src/lib/components/console/start-return-dialog.component.js.map +1 -0
  215. package/src/lib/components/console/stock-movements-card.component.js +2 -1
  216. package/src/lib/components/console/stock-movements-card.component.js.map +1 -1
  217. package/src/lib/components/console/store-settings-card.component.js +2 -66
  218. package/src/lib/components/console/store-settings-card.component.js.map +1 -1
  219. package/src/lib/components/console/store-zones.d.ts +42 -0
  220. package/src/lib/components/console/store-zones.js +39 -0
  221. package/src/lib/components/console/store-zones.js.map +1 -0
  222. package/src/lib/components/console/storefront-tax-summary-card.component.js +1 -0
  223. package/src/lib/components/console/storefront-tax-summary-card.component.js.map +1 -1
  224. package/src/lib/components/order-status.d.ts +36 -0
  225. package/src/lib/components/order-status.js +502 -0
  226. package/src/lib/components/order-status.js.map +1 -0
  227. package/src/lib/components/product-detail.js +41 -2
  228. package/src/lib/components/product-detail.js.map +1 -1
  229. package/src/lib/components/return-request.d.ts +32 -0
  230. package/src/lib/components/return-request.js +576 -0
  231. package/src/lib/components/return-request.js.map +1 -0
  232. package/src/lib/components/storefront-payment-appearance.d.ts +32 -0
  233. package/src/lib/components/storefront-payment-appearance.js +114 -0
  234. package/src/lib/components/storefront-payment-appearance.js.map +1 -0
  235. package/src/lib/components/storefront-payment-element.d.ts +57 -1
  236. package/src/lib/components/storefront-payment-element.js +332 -33
  237. package/src/lib/components/storefront-payment-element.js.map +1 -1
  238. package/src/lib/constants/order-status.d.ts +22 -0
  239. package/src/lib/constants/order-status.js +22 -0
  240. package/src/lib/constants/order-status.js.map +1 -0
  241. package/src/lib/constants/return-request.d.ts +27 -0
  242. package/src/lib/constants/return-request.js +32 -0
  243. package/src/lib/constants/return-request.js.map +1 -0
  244. package/src/lib/constants/stock-movement-query.js +2 -1
  245. package/src/lib/constants/stock-movement-query.js.map +1 -1
  246. package/src/lib/declarations.console-server.js +9 -0
  247. package/src/lib/declarations.console-server.js.map +1 -1
  248. package/src/lib/declarations.server.d.ts +2 -1
  249. package/src/lib/declarations.server.js +68 -1
  250. package/src/lib/declarations.server.js.map +1 -1
  251. package/src/lib/model/buyer-notifications.d.ts +59 -0
  252. package/src/lib/model/buyer-notifications.js +97 -0
  253. package/src/lib/model/buyer-notifications.js.map +1 -0
  254. package/src/lib/model/commerce-orders.d.ts +171 -2
  255. package/src/lib/model/commerce-orders.js +26 -16
  256. package/src/lib/model/commerce-orders.js.map +1 -1
  257. package/src/lib/model/commerce-payment-methods.d.ts +146 -0
  258. package/src/lib/model/commerce-payment-methods.js +247 -0
  259. package/src/lib/model/commerce-payment-methods.js.map +1 -0
  260. package/src/lib/model/commerce-pos-ops.d.ts +437 -0
  261. package/src/lib/model/commerce-pos-ops.js +721 -0
  262. package/src/lib/model/commerce-pos-ops.js.map +1 -0
  263. package/src/lib/model/commerce-pos.d.ts +263 -0
  264. package/src/lib/model/commerce-pos.js +375 -0
  265. package/src/lib/model/commerce-pos.js.map +1 -0
  266. package/src/lib/model/commerce-printers.d.ts +211 -0
  267. package/src/lib/model/commerce-printers.js +181 -0
  268. package/src/lib/model/commerce-printers.js.map +1 -0
  269. package/src/lib/model/commerce-receipt.d.ts +97 -0
  270. package/src/lib/model/commerce-receipt.js +180 -0
  271. package/src/lib/model/commerce-receipt.js.map +1 -0
  272. package/src/lib/model/commerce-returns.d.ts +207 -0
  273. package/src/lib/model/commerce-returns.js +300 -0
  274. package/src/lib/model/commerce-returns.js.map +1 -0
  275. package/src/lib/model/commerce-shipping.d.ts +44 -1
  276. package/src/lib/model/commerce-shipping.js +53 -9
  277. package/src/lib/model/commerce-shipping.js.map +1 -1
  278. package/src/lib/model/commerce-tax-engine.d.ts +90 -0
  279. package/src/lib/model/commerce-tax-engine.js +129 -0
  280. package/src/lib/model/commerce-tax-engine.js.map +1 -0
  281. package/src/lib/model/commerce.d.ts +91 -2
  282. package/src/lib/model/commerce.js +89 -1
  283. package/src/lib/model/commerce.js.map +1 -1
  284. package/src/lib/model/index.d.ts +16 -0
  285. package/src/lib/model/index.js +16 -0
  286. package/src/lib/model/index.js.map +1 -1
  287. package/src/lib/model/order-events.d.ts +154 -0
  288. package/src/lib/model/order-events.js +153 -0
  289. package/src/lib/model/order-events.js.map +1 -0
  290. package/src/lib/model/order-fulfillment.d.ts +117 -0
  291. package/src/lib/model/order-fulfillment.js +217 -0
  292. package/src/lib/model/order-fulfillment.js.map +1 -0
  293. package/src/lib/model/order-history.d.ts +58 -0
  294. package/src/lib/model/order-history.js +22 -0
  295. package/src/lib/model/order-history.js.map +1 -0
  296. package/src/lib/model/order-list-fields.d.ts +9 -1
  297. package/src/lib/model/order-list-fields.js +7 -1
  298. package/src/lib/model/order-list-fields.js.map +1 -1
  299. package/src/lib/model/order-shipping-export.d.ts +91 -0
  300. package/src/lib/model/order-shipping-export.js +192 -0
  301. package/src/lib/model/order-shipping-export.js.map +1 -0
  302. package/src/lib/model/order-status-view.d.ts +103 -0
  303. package/src/lib/model/order-status-view.js +156 -0
  304. package/src/lib/model/order-status-view.js.map +1 -0
  305. package/src/lib/model/order-webhooks.d.ts +142 -0
  306. package/src/lib/model/order-webhooks.js +91 -0
  307. package/src/lib/model/order-webhooks.js.map +1 -0
  308. package/src/lib/model/product-channel.d.ts +56 -0
  309. package/src/lib/model/product-channel.js +86 -0
  310. package/src/lib/model/product-channel.js.map +1 -0
  311. package/src/lib/model/product-modifiers.d.ts +80 -0
  312. package/src/lib/model/product-modifiers.js +140 -0
  313. package/src/lib/model/product-modifiers.js.map +1 -0
  314. package/src/lib/model/product-write.d.ts +186 -0
  315. package/src/lib/model/product-write.js +116 -0
  316. package/src/lib/model/product-write.js.map +1 -0
  317. package/src/lib/model/shippingeasy.d.ts +94 -0
  318. package/src/lib/model/shippingeasy.js +267 -0
  319. package/src/lib/model/shippingeasy.js.map +1 -0
  320. package/src/lib/model/shipstation.d.ts +125 -0
  321. package/src/lib/model/shipstation.js +399 -0
  322. package/src/lib/model/shipstation.js.map +1 -0
  323. package/src/lib/model/smart-collection-reads.d.ts +32 -0
  324. package/src/lib/model/smart-collection-reads.js +63 -0
  325. package/src/lib/model/smart-collection-reads.js.map +1 -0
  326. package/src/lib/model/tracking-url.d.ts +74 -0
  327. package/src/lib/model/tracking-url.js +159 -0
  328. package/src/lib/model/tracking-url.js.map +1 -0
  329. package/src/lib/plugin-config.d.ts +13 -0
  330. package/src/lib/plugin-config.js +77 -5
  331. package/src/lib/plugin-config.js.map +1 -1
  332. package/src/lib/plugin.js +26 -0
  333. package/src/lib/plugin.js.map +1 -1
  334. package/src/lib/pos-ops-config.d.ts +39 -0
  335. package/src/lib/pos-ops-config.js +88 -0
  336. package/src/lib/pos-ops-config.js.map +1 -0
  337. package/src/lib/printing/print-document.d.ts +106 -0
  338. package/src/lib/printing/print-document.js +464 -0
  339. package/src/lib/printing/print-document.js.map +1 -0
  340. package/src/lib/printing/product-labels.d.ts +58 -0
  341. package/src/lib/printing/product-labels.js +116 -0
  342. package/src/lib/printing/product-labels.js.map +1 -0
  343. package/src/lib/printing/render-epson.d.ts +57 -0
  344. package/src/lib/printing/render-epson.js +135 -0
  345. package/src/lib/printing/render-epson.js.map +1 -0
  346. package/src/lib/printing/render-star.d.ts +45 -0
  347. package/src/lib/printing/render-star.js +100 -0
  348. package/src/lib/printing/render-star.js.map +1 -0
  349. package/src/lib/printing/render-text.d.ts +25 -0
  350. package/src/lib/printing/render-text.js +53 -0
  351. package/src/lib/printing/render-text.js.map +1 -0
  352. package/src/lib/server/api-v1/openapi.js +27 -4
  353. package/src/lib/server/api-v1/openapi.js.map +1 -1
  354. package/src/lib/server/api-v1/order-view.d.ts +67 -0
  355. package/src/lib/server/api-v1/order-view.js +120 -0
  356. package/src/lib/server/api-v1/order-view.js.map +1 -0
  357. package/src/lib/server/api-v1/orders-and-products.js +58 -65
  358. package/src/lib/server/api-v1/orders-and-products.js.map +1 -1
  359. package/src/lib/server/billing-webhook.js +135 -28
  360. package/src/lib/server/billing-webhook.js.map +1 -1
  361. package/src/lib/server/cancel-order.js +29 -0
  362. package/src/lib/server/cancel-order.js.map +1 -1
  363. package/src/lib/server/carrier-rates-availability.d.ts +26 -0
  364. package/src/lib/server/carrier-rates-availability.js +76 -0
  365. package/src/lib/server/carrier-rates-availability.js.map +1 -0
  366. package/src/lib/server/carrier-shipping.d.ts +84 -0
  367. package/src/lib/server/carrier-shipping.js +135 -0
  368. package/src/lib/server/carrier-shipping.js.map +1 -0
  369. package/src/lib/server/cart-checkout.d.ts +2 -0
  370. package/src/lib/server/cart-checkout.js +226 -22
  371. package/src/lib/server/cart-checkout.js.map +1 -1
  372. package/src/lib/server/channel-order-updates.d.ts +50 -0
  373. package/src/lib/server/channel-order-updates.js +290 -0
  374. package/src/lib/server/channel-order-updates.js.map +1 -0
  375. package/src/lib/server/channel-orders.d.ts +85 -0
  376. package/src/lib/server/channel-orders.js +543 -0
  377. package/src/lib/server/channel-orders.js.map +1 -0
  378. package/src/lib/server/checkout-extras.d.ts +64 -0
  379. package/src/lib/server/checkout-extras.js +157 -0
  380. package/src/lib/server/checkout-extras.js.map +1 -0
  381. package/src/lib/server/{feed.d.ts → checkout-status.d.ts} +2 -7
  382. package/src/lib/server/checkout-status.js +111 -0
  383. package/src/lib/server/checkout-status.js.map +1 -0
  384. package/src/lib/server/checkout.js +86 -9
  385. package/src/lib/server/checkout.js.map +1 -1
  386. package/src/lib/server/draft-order.js +34 -5
  387. package/src/lib/server/draft-order.js.map +1 -1
  388. package/src/lib/server/fulfill-order.d.ts +127 -10
  389. package/src/lib/server/fulfill-order.js +451 -49
  390. package/src/lib/server/fulfill-order.js.map +1 -1
  391. package/src/lib/server/legacy-feed.d.ts +28 -0
  392. package/src/lib/server/legacy-feed.js +52 -0
  393. package/src/lib/server/legacy-feed.js.map +1 -0
  394. package/src/lib/server/native-checkout.d.ts +34 -15
  395. package/src/lib/server/native-checkout.js +32 -17
  396. package/src/lib/server/native-checkout.js.map +1 -1
  397. package/src/lib/server/order-event-host-emit.d.ts +23 -0
  398. package/src/lib/server/order-event-host-emit.js +30 -0
  399. package/src/lib/server/order-event-host-emit.js.map +1 -0
  400. package/src/lib/server/order-event-triggers.d.ts +37 -0
  401. package/src/lib/server/order-event-triggers.js +119 -0
  402. package/src/lib/server/order-event-triggers.js.map +1 -0
  403. package/src/lib/server/order-events.d.ts +62 -0
  404. package/src/lib/server/order-events.js +109 -0
  405. package/src/lib/server/order-events.js.map +1 -0
  406. package/src/lib/server/order-history.d.ts +23 -0
  407. package/src/lib/server/order-history.js +65 -0
  408. package/src/lib/server/order-history.js.map +1 -0
  409. package/src/lib/server/order-notifications.d.ts +185 -0
  410. package/src/lib/server/order-notifications.js +567 -0
  411. package/src/lib/server/order-notifications.js.map +1 -0
  412. package/src/lib/server/order-receipt-send.d.ts +39 -0
  413. package/src/lib/server/order-receipt-send.js +151 -0
  414. package/src/lib/server/order-receipt-send.js.map +1 -0
  415. package/src/lib/server/order-status-token.d.ts +31 -0
  416. package/src/lib/server/order-status-token.js +75 -0
  417. package/src/lib/server/order-status-token.js.map +1 -0
  418. package/src/lib/server/order-status.d.ts +58 -0
  419. package/src/lib/server/order-status.js +141 -0
  420. package/src/lib/server/order-status.js.map +1 -0
  421. package/src/lib/server/order-webhooks.d.ts +108 -0
  422. package/src/lib/server/order-webhooks.js +622 -0
  423. package/src/lib/server/order-webhooks.js.map +1 -0
  424. package/src/lib/server/orders-shipping-prepare.d.ts +26 -0
  425. package/src/lib/server/orders-shipping-prepare.js +121 -0
  426. package/src/lib/server/orders-shipping-prepare.js.map +1 -0
  427. package/src/lib/server/payment-method-domains.d.ts +209 -0
  428. package/src/lib/server/payment-method-domains.js +444 -0
  429. package/src/lib/server/payment-method-domains.js.map +1 -0
  430. package/src/lib/server/payment-methods.d.ts +77 -0
  431. package/src/lib/server/payment-methods.js +284 -0
  432. package/src/lib/server/payment-methods.js.map +1 -0
  433. package/src/lib/server/pos-auth.d.ts +50 -0
  434. package/src/lib/server/pos-auth.js +121 -0
  435. package/src/lib/server/pos-auth.js.map +1 -0
  436. package/src/lib/server/pos-customer.d.ts +49 -0
  437. package/src/lib/server/pos-customer.js +257 -0
  438. package/src/lib/server/pos-customer.js.map +1 -0
  439. package/src/lib/server/pos-display.d.ts +57 -0
  440. package/src/lib/server/pos-display.js +419 -0
  441. package/src/lib/server/pos-display.js.map +1 -0
  442. package/src/lib/server/pos-fee-month.d.ts +34 -0
  443. package/src/lib/server/pos-fee-month.js +36 -0
  444. package/src/lib/server/pos-fee-month.js.map +1 -0
  445. package/src/lib/server/pos-ops-gate.d.ts +161 -0
  446. package/src/lib/server/pos-ops-gate.js +295 -0
  447. package/src/lib/server/pos-ops-gate.js.map +1 -0
  448. package/src/lib/server/pos-ops-routes.d.ts +22 -0
  449. package/src/lib/server/pos-ops-routes.js +36 -0
  450. package/src/lib/server/pos-ops-routes.js.map +1 -0
  451. package/src/lib/server/pos-order.d.ts +1 -18
  452. package/src/lib/server/pos-order.js +222 -42
  453. package/src/lib/server/pos-order.js.map +1 -1
  454. package/src/lib/server/pos-payment.d.ts +39 -0
  455. package/src/lib/server/pos-payment.js +922 -0
  456. package/src/lib/server/pos-payment.js.map +1 -0
  457. package/src/lib/server/pos-print.d.ts +82 -0
  458. package/src/lib/server/pos-print.js +193 -0
  459. package/src/lib/server/pos-print.js.map +1 -0
  460. package/src/lib/server/pos-readers.d.ts +27 -0
  461. package/src/lib/server/pos-readers.js +276 -0
  462. package/src/lib/server/pos-readers.js.map +1 -0
  463. package/src/lib/server/pos-refund-authority.d.ts +60 -0
  464. package/src/lib/server/pos-refund-authority.js +72 -0
  465. package/src/lib/server/pos-refund-authority.js.map +1 -0
  466. package/src/lib/server/pos-return.d.ts +58 -0
  467. package/src/lib/server/pos-return.js +891 -0
  468. package/src/lib/server/pos-return.js.map +1 -0
  469. package/src/lib/server/pos-sale-stamp.d.ts +66 -0
  470. package/src/lib/server/pos-sale-stamp.js +84 -0
  471. package/src/lib/server/pos-sale-stamp.js.map +1 -0
  472. package/src/lib/server/pos-sale.d.ts +170 -0
  473. package/src/lib/server/pos-sale.js +461 -0
  474. package/src/lib/server/pos-sale.js.map +1 -0
  475. package/src/lib/server/pos-shift.d.ts +45 -0
  476. package/src/lib/server/pos-shift.js +484 -0
  477. package/src/lib/server/pos-shift.js.map +1 -0
  478. package/src/lib/server/pos-staff-pin.d.ts +26 -0
  479. package/src/lib/server/pos-staff-pin.js +339 -0
  480. package/src/lib/server/pos-staff-pin.js.map +1 -0
  481. package/src/lib/server/pos-stripe.d.ts +91 -0
  482. package/src/lib/server/pos-stripe.js +129 -0
  483. package/src/lib/server/pos-stripe.js.map +1 -0
  484. package/src/lib/server/pos-terminal-connection-token.d.ts +48 -0
  485. package/src/lib/server/pos-terminal-connection-token.js +166 -0
  486. package/src/lib/server/pos-terminal-connection-token.js.map +1 -0
  487. package/src/lib/server/pos-terminal.d.ts +218 -0
  488. package/src/lib/server/pos-terminal.js +1014 -0
  489. package/src/lib/server/pos-terminal.js.map +1 -0
  490. package/src/lib/server/print-queue.d.ts +124 -0
  491. package/src/lib/server/print-queue.js +301 -0
  492. package/src/lib/server/print-queue.js.map +1 -0
  493. package/src/lib/server/printer-poll.d.ts +75 -0
  494. package/src/lib/server/printer-poll.js +325 -0
  495. package/src/lib/server/printer-poll.js.map +1 -0
  496. package/src/lib/server/printer-secret.d.ts +39 -0
  497. package/src/lib/server/printer-secret.js +56 -0
  498. package/src/lib/server/printer-secret.js.map +1 -0
  499. package/src/lib/server/printers.d.ts +114 -0
  500. package/src/lib/server/printers.js +546 -0
  501. package/src/lib/server/printers.js.map +1 -0
  502. package/src/lib/server/product-catalog.d.ts +42 -0
  503. package/src/lib/server/product-catalog.js +309 -0
  504. package/src/lib/server/product-catalog.js.map +1 -0
  505. package/src/lib/server/product-drafts.d.ts +5 -1
  506. package/src/lib/server/product-drafts.js +3 -3
  507. package/src/lib/server/product-drafts.js.map +1 -1
  508. package/src/lib/server/product-writer.d.ts +19 -0
  509. package/src/lib/server/product-writer.js +261 -0
  510. package/src/lib/server/product-writer.js.map +1 -0
  511. package/src/lib/server/products-write.d.ts +61 -0
  512. package/src/lib/server/products-write.js +375 -0
  513. package/src/lib/server/products-write.js.map +1 -0
  514. package/src/lib/server/refund.js +110 -45
  515. package/src/lib/server/refund.js.map +1 -1
  516. package/src/lib/server/reserve.js +2 -0
  517. package/src/lib/server/reserve.js.map +1 -1
  518. package/src/lib/server/return-status-action.d.ts +37 -0
  519. package/src/lib/server/return-status-action.js +57 -0
  520. package/src/lib/server/return-status-action.js.map +1 -0
  521. package/src/lib/server/returns.d.ts +119 -0
  522. package/src/lib/server/returns.js +938 -0
  523. package/src/lib/server/returns.js.map +1 -0
  524. package/src/lib/server/shipment-records.d.ts +36 -0
  525. package/src/lib/server/shipment-records.js +289 -0
  526. package/src/lib/server/shipment-records.js.map +1 -0
  527. package/src/lib/server/shipping-connector-gates.d.ts +40 -0
  528. package/src/lib/server/shipping-connector-gates.js +97 -0
  529. package/src/lib/server/shipping-connector-gates.js.map +1 -0
  530. package/src/lib/server/shipping-connectors.d.ts +29 -0
  531. package/src/lib/server/shipping-connectors.js +236 -0
  532. package/src/lib/server/shipping-connectors.js.map +1 -0
  533. package/src/lib/server/shippingeasy.d.ts +238 -0
  534. package/src/lib/server/shippingeasy.js +787 -0
  535. package/src/lib/server/shippingeasy.js.map +1 -0
  536. package/src/lib/server/shipstation.d.ts +129 -0
  537. package/src/lib/server/shipstation.js +483 -0
  538. package/src/lib/server/shipstation.js.map +1 -0
  539. package/src/lib/server/site-page-resolver.d.ts +5 -0
  540. package/src/lib/server/site-page-resolver.js +156 -1
  541. package/src/lib/server/site-page-resolver.js.map +1 -1
  542. package/src/lib/server/stock-levels.d.ts +21 -0
  543. package/src/lib/server/stock-levels.js +263 -0
  544. package/src/lib/server/stock-levels.js.map +1 -0
  545. package/src/lib/server/stripe-refund.d.ts +47 -0
  546. package/src/lib/server/stripe-refund.js +87 -0
  547. package/src/lib/server/stripe-refund.js.map +1 -0
  548. package/src/lib/server/supplier-update.js +46 -5
  549. package/src/lib/server/supplier-update.js.map +1 -1
  550. package/src/lib/server/tax-engine-quote.d.ts +47 -0
  551. package/src/lib/server/tax-engine-quote.js +105 -0
  552. package/src/lib/server/tax-engine-quote.js.map +1 -0
  553. package/src/lib/server.js +143 -2
  554. package/src/lib/server.js.map +1 -1
  555. package/src/lib/site.js +12 -0
  556. package/src/lib/site.js.map +1 -1
  557. package/src/lib/subprocessors.d.ts +26 -0
  558. package/src/lib/subprocessors.js +50 -0
  559. package/src/lib/subprocessors.js.map +1 -0
  560. package/src/lib/tenant-emails.js +461 -3
  561. package/src/lib/tenant-emails.js.map +1 -1
  562. package/src/lib/testing/fake-firestore.d.ts +45 -0
  563. package/src/lib/testing/fake-firestore.js +189 -0
  564. package/src/lib/testing/fake-firestore.js.map +1 -0
  565. package/src/lib/testing/memory-firestore.d.ts +136 -0
  566. package/src/lib/testing/memory-firestore.js +282 -0
  567. package/src/lib/testing/memory-firestore.js.map +1 -0
  568. package/src/lib/testing/pos-ops-harness.d.ts +50 -0
  569. package/src/lib/testing/pos-ops-harness.js +184 -0
  570. package/src/lib/testing/pos-ops-harness.js.map +1 -0
  571. package/src/lib/testing/pos-ops-memory-firestore.d.ts +55 -0
  572. package/src/lib/testing/pos-ops-memory-firestore.js +376 -0
  573. package/src/lib/testing/pos-ops-memory-firestore.js.map +1 -0
  574. package/src/lib/transfer/products.server.d.ts +5 -0
  575. package/src/lib/transfer/products.server.js +2 -2
  576. package/src/lib/transfer/products.server.js.map +1 -1
  577. package/src/lib/transfer/records-transfer.d.ts +11 -1
  578. package/src/lib/transfer/records-transfer.js +127 -5
  579. package/src/lib/transfer/records-transfer.js.map +1 -1
  580. package/src/lib/transfer/records.server.d.ts +9 -2
  581. package/src/lib/transfer/records.server.js +58 -7
  582. package/src/lib/transfer/records.server.js.map +1 -1
  583. package/src/lib/transfer/register-transfer-resources.js +40 -1
  584. package/src/lib/transfer/register-transfer-resources.js.map +1 -1
  585. package/src/lib/transfer/register-transfer-ui.js +4 -1
  586. package/src/lib/transfer/register-transfer-ui.js.map +1 -1
  587. package/src/lib/transfer/shipping-presets.d.ts +23 -0
  588. package/src/lib/transfer/shipping-presets.js +156 -0
  589. package/src/lib/transfer/shipping-presets.js.map +1 -0
  590. package/src/lib/transfer/tracking-transfer.d.ts +101 -0
  591. package/src/lib/transfer/tracking-transfer.js +546 -0
  592. package/src/lib/transfer/tracking-transfer.js.map +1 -0
  593. package/src/lib/transfer/tracking.server.d.ts +37 -0
  594. package/src/lib/transfer/tracking.server.js +393 -0
  595. package/src/lib/transfer/tracking.server.js.map +1 -0
  596. package/src/lib/transfer/transfer-keys.d.ts +2 -1
  597. package/src/lib/transfer/transfer-keys.js +6 -2
  598. package/src/lib/transfer/transfer-keys.js.map +1 -1
  599. package/src/lib/utils/code128.d.ts +37 -0
  600. package/src/lib/utils/code128.js +199 -0
  601. package/src/lib/utils/code128.js.map +1 -0
  602. package/src/lib/utils/order-invoice.d.ts +55 -0
  603. package/src/lib/utils/order-invoice.js +127 -0
  604. package/src/lib/utils/order-invoice.js.map +1 -0
  605. package/src/lib/utils/use-checkout-return-notice.d.ts +34 -0
  606. package/src/lib/utils/use-checkout-return-notice.js +78 -0
  607. package/src/lib/utils/use-checkout-return-notice.js.map +1 -0
  608. package/src/lib/server/feed.js +0 -69
  609. package/src/lib/server/feed.js.map +0 -1
@@ -0,0 +1,623 @@
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 { _ as _extends } from "@swc/helpers/_/_extends";
18
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
19
+ import { pluginDocsHelp } from "@aglyn/aglyn";
20
+ import { CardDisplay, useConfirmationContext } from "@aglyn/shared-ui-jsx";
21
+ import { ListPagination } from "@aglyn/shared-ui-jsx/components/list-pagination.component";
22
+ import { useSnackbar } from "@aglyn/shared-ui-snackstack";
23
+ import { authorizedFetch } from "@aglyn/shared-util-http/authorized-token";
24
+ import { useFirestore, useFirestoreCollection, usePagedCollection, useUser } from "@aglyn/tenant-feature-instance";
25
+ import { Alert, Button, Checkbox, Chip, Dialog, DialogActions, DialogContent, DialogTitle, FormControlLabel, FormGroup, MenuItem, Stack, TextField, Typography } from "@mui/material";
26
+ import { collection, limit, orderBy, query, where } from "firebase/firestore";
27
+ import { useCallback, useEffect, useState } from "react";
28
+ import * as Webhooks from "../../model/order-webhooks.js";
29
+ const ROUTE = '/api/commerce/order-webhooks';
30
+ /** POSTs one action to the webhooks route; answers the body or throws its error. */ export async function callOrderWebhooks(user, hostId, body) {
31
+ var _payload_error;
32
+ const response = await authorizedFetch(user, ROUTE, {
33
+ method: 'POST',
34
+ headers: {
35
+ 'content-type': 'application/json'
36
+ },
37
+ body: JSON.stringify(_extends({
38
+ hostId
39
+ }, body))
40
+ });
41
+ const payload = await response.json().catch(()=>({}));
42
+ if (!response.ok) throw Object.assign(new Error(String((_payload_error = payload.error) != null ? _payload_error : 'Request failed')), {
43
+ status: response.status
44
+ });
45
+ return payload;
46
+ }
47
+ /**
48
+ * Order webhooks (AGL-3611): the store's endpoints for order and return
49
+ * events, each with its signing secret, a test event and a delivery log. Shown
50
+ * only to the people who may manage them — the route answers who — and only
51
+ * where the deployment can sign.
52
+ */ export function OrderWebhooksCard(props) {
53
+ const { hostId } = props;
54
+ const firestore = useFirestore();
55
+ const { data: user } = useUser();
56
+ const { enqueueSnackbar } = useSnackbar();
57
+ const { confirm } = useConfirmationContext();
58
+ const [status, setStatus] = useState(null);
59
+ const [editing, setEditing] = useState(null);
60
+ const [secret, setSecret] = useState(null);
61
+ const [logFor, setLogFor] = useState(null);
62
+ const [busy, setBusy] = useState(false);
63
+ useEffect(()=>{
64
+ if (!user) return;
65
+ let active = true;
66
+ callOrderWebhooks(user, hostId, {
67
+ action: 'status'
68
+ }).then((payload)=>{
69
+ if (active) setStatus(payload);
70
+ }).catch(()=>{
71
+ // Not an admin of the whole workspace, or the route is down: the
72
+ // card is not this person's to use.
73
+ if (active) setStatus(null);
74
+ });
75
+ return ()=>{
76
+ active = false;
77
+ };
78
+ }, [
79
+ user,
80
+ hostId
81
+ ]);
82
+ const { data: endpointDocs } = useFirestoreCollection(()=>query(collection(firestore, 'hosts', hostId, 'orderWebhooks'), orderBy('createdAtMs', 'desc'), limit(Webhooks.ORDER_WEBHOOK_MAX_ENDPOINTS)), [
83
+ firestore,
84
+ hostId
85
+ ], {
86
+ idField: '$id'
87
+ });
88
+ const endpoints = endpointDocs != null ? endpointDocs : [];
89
+ const run = useCallback(async (body, success)=>{
90
+ setBusy(true);
91
+ try {
92
+ const payload = await callOrderWebhooks(user, hostId, body);
93
+ if (success) enqueueSnackbar(success, {
94
+ variant: 'success'
95
+ });
96
+ return payload;
97
+ } catch (error) {
98
+ enqueueSnackbar(String(error.message), {
99
+ variant: 'error'
100
+ });
101
+ return null;
102
+ } finally{
103
+ setBusy(false);
104
+ }
105
+ }, [
106
+ user,
107
+ hostId,
108
+ enqueueSnackbar
109
+ ]);
110
+ const handleTest = useCallback(async (endpoint)=>{
111
+ var _ref;
112
+ var _payload_attempt;
113
+ const payload = await run({
114
+ action: 'test',
115
+ endpointId: endpoint.$id
116
+ });
117
+ if (!payload) return;
118
+ enqueueSnackbar(payload.delivered ? 'Test event delivered' : `Test event not delivered: ${(_ref = (_payload_attempt = payload.attempt) == null ? void 0 : _payload_attempt.error) != null ? _ref : 'no answer'}`, {
119
+ variant: payload.delivered ? 'success' : 'warning'
120
+ });
121
+ }, [
122
+ run,
123
+ enqueueSnackbar
124
+ ]);
125
+ const handleRoll = useCallback(async (endpoint)=>{
126
+ const confirmed = await confirm({
127
+ title: 'Roll the signing secret?',
128
+ description: 'A new secret signs every event from now on. Update your endpoint before ' + 'the next order, or it will reject what it is sent.',
129
+ confirmationText: 'Roll secret'
130
+ }).then(()=>true).catch(()=>false);
131
+ if (!confirmed) return;
132
+ const payload = await run({
133
+ action: 'roll-secret',
134
+ endpointId: endpoint.$id
135
+ });
136
+ if (payload == null ? void 0 : payload.secret) setSecret(String(payload.secret));
137
+ }, [
138
+ confirm,
139
+ run
140
+ ]);
141
+ const handleDelete = useCallback(async (endpoint)=>{
142
+ const confirmed = await confirm({
143
+ title: 'Delete this endpoint?',
144
+ description: `${endpoint.url} stops receiving order events. Its delivery log is kept for 30 days.`,
145
+ confirmationText: 'Delete',
146
+ confirmationButtonProps: {
147
+ color: 'error'
148
+ }
149
+ }).then(()=>true).catch(()=>false);
150
+ if (!confirmed) return;
151
+ await run({
152
+ action: 'delete',
153
+ endpointId: endpoint.$id
154
+ }, 'Endpoint deleted');
155
+ }, [
156
+ confirm,
157
+ run
158
+ ]);
159
+ if (!(status == null ? void 0 : status.configured)) return null;
160
+ const labelFor = (event)=>{
161
+ var _ref;
162
+ var _status_events_find;
163
+ return (_ref = (_status_events_find = status.events.find((entry)=>entry.event === event)) == null ? void 0 : _status_events_find.label) != null ? _ref : event;
164
+ };
165
+ const atMax = endpoints.length >= status.maxEndpoints;
166
+ return /*#__PURE__*/ _jsxs(CardDisplay, {
167
+ header: 'Order webhooks',
168
+ help: pluginDocsHelp('ordersAndReturns', {
169
+ anchor: '#order-webhooks'
170
+ }),
171
+ contentGutterX: true,
172
+ contentGutterY: true,
173
+ HeaderProps: {
174
+ action: /*#__PURE__*/ _jsx(Button, {
175
+ size: "small",
176
+ disabled: atMax || busy,
177
+ onClick: ()=>setEditing('new'),
178
+ children: 'Add endpoint'
179
+ })
180
+ },
181
+ children: [
182
+ /*#__PURE__*/ _jsxs(Stack, {
183
+ spacing: 2,
184
+ children: [
185
+ endpoints.length === 0 ? /*#__PURE__*/ _jsx(Typography, {
186
+ variant: "body2",
187
+ color: "text.secondary",
188
+ children: 'Send order and return events to your own systems — a warehouse, an ERP or a ' + 'script. Each event is signed so your endpoint can check it came from this store.'
189
+ }) : endpoints.map((endpoint)=>/*#__PURE__*/ _jsxs(Stack, {
190
+ spacing: 1,
191
+ "data-testid": "order-webhook-endpoint",
192
+ children: [
193
+ /*#__PURE__*/ _jsxs(Stack, {
194
+ direction: "row",
195
+ spacing: 1,
196
+ sx: {
197
+ alignItems: 'center',
198
+ flexWrap: 'wrap'
199
+ },
200
+ children: [
201
+ /*#__PURE__*/ _jsx(Typography, {
202
+ variant: "subtitle2",
203
+ sx: {
204
+ flex: 1,
205
+ minWidth: 0,
206
+ wordBreak: 'break-all'
207
+ },
208
+ children: endpoint.description ? `${endpoint.description} · ${endpoint.url}` : endpoint.url
209
+ }),
210
+ /*#__PURE__*/ _jsx(Chip, {
211
+ size: "small",
212
+ label: endpoint.enabled ? 'On' : 'Paused',
213
+ color: endpoint.enabled ? 'success' : 'default',
214
+ variant: "outlined"
215
+ }),
216
+ endpoint.lastDeliveryStatus ? /*#__PURE__*/ _jsx(Chip, {
217
+ size: "small",
218
+ label: `Last: ${Webhooks.ORDER_WEBHOOK_DELIVERY_STATUS_LABELS[endpoint.lastDeliveryStatus]}`,
219
+ color: Webhooks.ORDER_WEBHOOK_DELIVERY_STATUS_COLOR[endpoint.lastDeliveryStatus],
220
+ variant: "outlined"
221
+ }) : null
222
+ ]
223
+ }),
224
+ /*#__PURE__*/ _jsx(Typography, {
225
+ variant: "caption",
226
+ color: "text.secondary",
227
+ children: `${endpoint.events.map(labelFor).join(', ')} · secret ends ${endpoint.secretHint}`
228
+ }),
229
+ /*#__PURE__*/ _jsxs(Stack, {
230
+ direction: "row",
231
+ spacing: 1,
232
+ sx: {
233
+ flexWrap: 'wrap'
234
+ },
235
+ children: [
236
+ /*#__PURE__*/ _jsx(Button, {
237
+ size: "small",
238
+ disabled: busy || !endpoint.enabled,
239
+ onClick: ()=>handleTest(endpoint),
240
+ children: 'Send test event'
241
+ }),
242
+ /*#__PURE__*/ _jsx(Button, {
243
+ size: "small",
244
+ onClick: ()=>setLogFor(endpoint),
245
+ children: 'Deliveries'
246
+ }),
247
+ /*#__PURE__*/ _jsx(Button, {
248
+ size: "small",
249
+ disabled: busy,
250
+ onClick: ()=>setEditing(endpoint),
251
+ children: 'Edit'
252
+ }),
253
+ /*#__PURE__*/ _jsx(Button, {
254
+ size: "small",
255
+ disabled: busy,
256
+ onClick: ()=>run({
257
+ action: 'update',
258
+ endpointId: endpoint.$id,
259
+ enabled: !endpoint.enabled
260
+ }),
261
+ children: endpoint.enabled ? 'Pause' : 'Resume'
262
+ }),
263
+ /*#__PURE__*/ _jsx(Button, {
264
+ size: "small",
265
+ disabled: busy,
266
+ onClick: ()=>handleRoll(endpoint),
267
+ children: 'Roll secret'
268
+ }),
269
+ /*#__PURE__*/ _jsx(Button, {
270
+ size: "small",
271
+ color: "error",
272
+ disabled: busy,
273
+ onClick: ()=>handleDelete(endpoint),
274
+ children: 'Delete'
275
+ })
276
+ ]
277
+ })
278
+ ]
279
+ }, endpoint.$id)),
280
+ /*#__PURE__*/ _jsx(Typography, {
281
+ variant: "caption",
282
+ color: "text.secondary",
283
+ children: `${endpoints.length}/${status.maxEndpoints} endpoints. A failed delivery is retried for about a day.`
284
+ })
285
+ ]
286
+ }),
287
+ editing ? /*#__PURE__*/ _jsx(EndpointDialog, {
288
+ endpoint: editing === 'new' ? null : editing,
289
+ events: status.events,
290
+ busy: busy,
291
+ onClose: ()=>setEditing(null),
292
+ onSave: async (values)=>{
293
+ const payload = editing === 'new' ? await run(_extends({
294
+ action: 'create'
295
+ }, values)) : await run(_extends({
296
+ action: 'update',
297
+ endpointId: editing.$id
298
+ }, values), 'Endpoint saved');
299
+ if (!payload) return;
300
+ setEditing(null);
301
+ if (payload.secret) setSecret(String(payload.secret));
302
+ }
303
+ }) : null,
304
+ secret ? /*#__PURE__*/ _jsx(SecretDialog, {
305
+ secret: secret,
306
+ onClose: ()=>setSecret(null)
307
+ }) : null,
308
+ logFor ? /*#__PURE__*/ _jsx(DeliveriesDialog, {
309
+ hostId: hostId,
310
+ endpoint: logFor,
311
+ labelFor: labelFor,
312
+ busy: busy,
313
+ onResend: async (delivery)=>{
314
+ const payload = await run({
315
+ action: 'resend',
316
+ deliveryId: delivery.$id
317
+ });
318
+ if (payload) {
319
+ var _ref;
320
+ var _payload_attempt;
321
+ enqueueSnackbar(payload.delivered ? 'Delivered' : `Not delivered: ${(_ref = (_payload_attempt = payload.attempt) == null ? void 0 : _payload_attempt.error) != null ? _ref : 'no answer'}`, {
322
+ variant: payload.delivered ? 'success' : 'warning'
323
+ });
324
+ }
325
+ },
326
+ onClose: ()=>setLogFor(null)
327
+ }) : null
328
+ ]
329
+ });
330
+ }
331
+ OrderWebhooksCard.displayName = 'OrderWebhooksCard';
332
+ function EndpointDialog(props) {
333
+ var _ref, _ref1, _ref2;
334
+ const { endpoint, events, busy, onClose, onSave } = props;
335
+ const [url, setUrl] = useState((_ref = endpoint == null ? void 0 : endpoint.url) != null ? _ref : '');
336
+ const [description, setDescription] = useState((_ref1 = endpoint == null ? void 0 : endpoint.description) != null ? _ref1 : '');
337
+ const [chosen, setChosen] = useState((_ref2 = endpoint == null ? void 0 : endpoint.events) != null ? _ref2 : events.map((entry)=>entry.event));
338
+ const toggle = (event)=>setChosen((current)=>current.includes(event) ? current.filter((entry)=>entry !== event) : [
339
+ ...current,
340
+ event
341
+ ]);
342
+ const valid = /^https:\/\//i.test(url.trim()) && chosen.length > 0;
343
+ return /*#__PURE__*/ _jsxs(Dialog, {
344
+ open: true,
345
+ onClose: onClose,
346
+ fullWidth: true,
347
+ maxWidth: "sm",
348
+ children: [
349
+ /*#__PURE__*/ _jsx(DialogTitle, {
350
+ children: endpoint ? 'Edit endpoint' : 'Add endpoint'
351
+ }),
352
+ /*#__PURE__*/ _jsx(DialogContent, {
353
+ children: /*#__PURE__*/ _jsxs(Stack, {
354
+ spacing: 2,
355
+ sx: {
356
+ pt: 1
357
+ },
358
+ children: [
359
+ /*#__PURE__*/ _jsx(TextField, {
360
+ label: "Endpoint URL",
361
+ value: url,
362
+ onChange: (event)=>setUrl(event.target.value),
363
+ placeholder: "https://example.com/aglyn-webhooks",
364
+ helperText: "An https address on a public server. Redirects are not followed.",
365
+ fullWidth: true,
366
+ autoFocus: true
367
+ }),
368
+ /*#__PURE__*/ _jsx(TextField, {
369
+ label: "Description",
370
+ value: description,
371
+ onChange: (event)=>setDescription(event.target.value),
372
+ placeholder: "Warehouse",
373
+ fullWidth: true
374
+ }),
375
+ /*#__PURE__*/ _jsxs(FormGroup, {
376
+ children: [
377
+ /*#__PURE__*/ _jsx(Typography, {
378
+ variant: "subtitle2",
379
+ children: 'Events'
380
+ }),
381
+ events.map((entry)=>/*#__PURE__*/ _jsx(FormControlLabel, {
382
+ control: /*#__PURE__*/ _jsx(Checkbox, {
383
+ checked: chosen.includes(entry.event),
384
+ onChange: ()=>toggle(entry.event)
385
+ }),
386
+ label: /*#__PURE__*/ _jsxs(Stack, {
387
+ children: [
388
+ /*#__PURE__*/ _jsx(Typography, {
389
+ variant: "body2",
390
+ children: `${entry.label} (${entry.event})`
391
+ }),
392
+ /*#__PURE__*/ _jsx(Typography, {
393
+ variant: "caption",
394
+ color: "text.secondary",
395
+ children: entry.description
396
+ })
397
+ ]
398
+ })
399
+ }, entry.event))
400
+ ]
401
+ })
402
+ ]
403
+ })
404
+ }),
405
+ /*#__PURE__*/ _jsxs(DialogActions, {
406
+ children: [
407
+ /*#__PURE__*/ _jsx(Button, {
408
+ onClick: onClose,
409
+ children: 'Cancel'
410
+ }),
411
+ /*#__PURE__*/ _jsx(Button, {
412
+ variant: "contained",
413
+ disabled: !valid || busy,
414
+ onClick: ()=>onSave({
415
+ url: url.trim(),
416
+ description: description.trim(),
417
+ events: chosen
418
+ }),
419
+ children: endpoint ? 'Save' : 'Add endpoint'
420
+ })
421
+ ]
422
+ })
423
+ ]
424
+ });
425
+ }
426
+ function SecretDialog(props) {
427
+ const { secret, onClose } = props;
428
+ const { enqueueSnackbar } = useSnackbar();
429
+ return /*#__PURE__*/ _jsxs(Dialog, {
430
+ open: true,
431
+ onClose: onClose,
432
+ fullWidth: true,
433
+ maxWidth: "sm",
434
+ children: [
435
+ /*#__PURE__*/ _jsx(DialogTitle, {
436
+ children: 'Signing secret'
437
+ }),
438
+ /*#__PURE__*/ _jsx(DialogContent, {
439
+ children: /*#__PURE__*/ _jsxs(Stack, {
440
+ spacing: 2,
441
+ children: [
442
+ /*#__PURE__*/ _jsx(Alert, {
443
+ severity: "warning",
444
+ children: 'Copy it now. It is not shown again; roll a new one if it is lost.'
445
+ }),
446
+ /*#__PURE__*/ _jsx(TextField, {
447
+ value: secret,
448
+ fullWidth: true,
449
+ slotProps: {
450
+ input: {
451
+ readOnly: true
452
+ }
453
+ },
454
+ label: "Secret"
455
+ }),
456
+ /*#__PURE__*/ _jsx(Typography, {
457
+ variant: "body2",
458
+ color: "text.secondary",
459
+ children: `Each request carries an ${Webhooks.ORDER_WEBHOOK_SIGNATURE_HEADER} header, t=<timestamp>,v1=<signature>. ` + 'The signature is the HMAC-SHA256, in hex, of the timestamp, a period and the raw body, ' + `keyed with this secret. ${Webhooks.ORDER_WEBHOOK_EVENT_ID_HEADER} is the same on every retry.`
460
+ })
461
+ ]
462
+ })
463
+ }),
464
+ /*#__PURE__*/ _jsxs(DialogActions, {
465
+ children: [
466
+ /*#__PURE__*/ _jsx(Button, {
467
+ onClick: ()=>{
468
+ var _navigator_clipboard;
469
+ void ((_navigator_clipboard = navigator.clipboard) == null ? void 0 : _navigator_clipboard.writeText(secret).then(()=>enqueueSnackbar('Secret copied', {
470
+ variant: 'success'
471
+ })));
472
+ },
473
+ children: 'Copy'
474
+ }),
475
+ /*#__PURE__*/ _jsx(Button, {
476
+ variant: "contained",
477
+ onClick: onClose,
478
+ children: 'Done'
479
+ })
480
+ ]
481
+ })
482
+ ]
483
+ });
484
+ }
485
+ /** The endpoint's delivery log, newest first, filtered and paged by a Firestore query. */ export function DeliveriesDialog(props) {
486
+ const { hostId, endpoint, labelFor, busy, onResend, onClose } = props;
487
+ const firestore = useFirestore();
488
+ const [statusFilter, setStatusFilter] = useState('');
489
+ const [openBody, setOpenBody] = useState(null);
490
+ const { rows: deliveries, hasMore, page, setPage, pageSize, setPageSize } = usePagedCollection((pageLimit)=>query(collection(firestore, 'hosts', hostId, 'orderWebhookDeliveries'), where('endpointId', '==', endpoint.$id), ...statusFilter ? [
491
+ where('status', '==', statusFilter)
492
+ ] : [], orderBy('createdAtMs', 'desc'), limit(pageLimit)), [
493
+ firestore,
494
+ hostId,
495
+ endpoint.$id,
496
+ statusFilter
497
+ ], {
498
+ idField: '$id'
499
+ });
500
+ return /*#__PURE__*/ _jsxs(Dialog, {
501
+ open: true,
502
+ onClose: onClose,
503
+ fullWidth: true,
504
+ maxWidth: "md",
505
+ children: [
506
+ /*#__PURE__*/ _jsx(DialogTitle, {
507
+ children: `Deliveries · ${endpoint.url}`
508
+ }),
509
+ /*#__PURE__*/ _jsx(DialogContent, {
510
+ children: /*#__PURE__*/ _jsxs(Stack, {
511
+ spacing: 2,
512
+ sx: {
513
+ pt: 1
514
+ },
515
+ children: [
516
+ /*#__PURE__*/ _jsxs(TextField, {
517
+ select: true,
518
+ size: "small",
519
+ label: "Status",
520
+ value: statusFilter,
521
+ onChange: (event)=>setStatusFilter(event.target.value),
522
+ sx: {
523
+ maxWidth: 200
524
+ },
525
+ children: [
526
+ /*#__PURE__*/ _jsx(MenuItem, {
527
+ value: "",
528
+ children: 'All'
529
+ }),
530
+ Object.keys(Webhooks.ORDER_WEBHOOK_DELIVERY_STATUS_LABELS).map((key)=>/*#__PURE__*/ _jsx(MenuItem, {
531
+ value: key,
532
+ children: Webhooks.ORDER_WEBHOOK_DELIVERY_STATUS_LABELS[key]
533
+ }, key))
534
+ ]
535
+ }),
536
+ deliveries.length === 0 ? /*#__PURE__*/ _jsx(Typography, {
537
+ variant: "body2",
538
+ color: "text.secondary",
539
+ children: 'No deliveries in the last 30 days.'
540
+ }) : deliveries.map((delivery)=>{
541
+ var _ref, _last_httpStatus;
542
+ var _delivery_attempts, _delivery_attempts1, _delivery_attempts2;
543
+ const last = (_delivery_attempts = delivery.attempts) == null ? void 0 : _delivery_attempts[delivery.attempts.length - 1];
544
+ return /*#__PURE__*/ _jsxs(Stack, {
545
+ spacing: 0.5,
546
+ "data-testid": "order-webhook-delivery",
547
+ children: [
548
+ /*#__PURE__*/ _jsxs(Stack, {
549
+ direction: "row",
550
+ spacing: 1,
551
+ sx: {
552
+ alignItems: 'center',
553
+ flexWrap: 'wrap'
554
+ },
555
+ children: [
556
+ /*#__PURE__*/ _jsx(Typography, {
557
+ variant: "body2",
558
+ sx: {
559
+ flex: 1
560
+ },
561
+ children: `${delivery.test ? 'Test event' : labelFor(delivery.event)} · ${new Date(delivery.createdAtMs).toLocaleString()}`
562
+ }),
563
+ /*#__PURE__*/ _jsx(Chip, {
564
+ size: "small",
565
+ variant: "outlined",
566
+ label: Webhooks.ORDER_WEBHOOK_DELIVERY_STATUS_LABELS[delivery.status],
567
+ color: Webhooks.ORDER_WEBHOOK_DELIVERY_STATUS_COLOR[delivery.status]
568
+ }),
569
+ /*#__PURE__*/ _jsx(Button, {
570
+ size: "small",
571
+ onClick: ()=>setOpenBody(openBody === delivery.$id ? null : delivery.$id),
572
+ children: openBody === delivery.$id ? 'Hide body' : 'Body'
573
+ }),
574
+ /*#__PURE__*/ _jsx(Button, {
575
+ size: "small",
576
+ disabled: busy,
577
+ onClick: ()=>onResend(delivery),
578
+ children: 'Resend'
579
+ })
580
+ ]
581
+ }),
582
+ /*#__PURE__*/ _jsx(Typography, {
583
+ variant: "caption",
584
+ color: "text.secondary",
585
+ children: `${(_ref = (_delivery_attempts1 = delivery.attempts) == null ? void 0 : _delivery_attempts1.length) != null ? _ref : 0} attempt${((_delivery_attempts2 = delivery.attempts) == null ? void 0 : _delivery_attempts2.length) === 1 ? '' : 's'}` + (last ? ` · last ${(_last_httpStatus = last.httpStatus) != null ? _last_httpStatus : 'no answer'}${last.error ? ` — ${last.error}` : ''}` : '')
586
+ }),
587
+ openBody === delivery.$id ? /*#__PURE__*/ _jsx(TextField, {
588
+ value: delivery.body,
589
+ multiline: true,
590
+ maxRows: 12,
591
+ fullWidth: true,
592
+ slotProps: {
593
+ input: {
594
+ readOnly: true
595
+ }
596
+ }
597
+ }) : null
598
+ ]
599
+ }, delivery.$id);
600
+ }),
601
+ /*#__PURE__*/ _jsx(ListPagination, {
602
+ page: page,
603
+ pageSize: pageSize,
604
+ rowCount: deliveries.length,
605
+ hasMore: hasMore,
606
+ onPageChange: setPage,
607
+ onPageSizeChange: setPageSize
608
+ })
609
+ ]
610
+ })
611
+ }),
612
+ /*#__PURE__*/ _jsx(DialogActions, {
613
+ children: /*#__PURE__*/ _jsx(Button, {
614
+ onClick: onClose,
615
+ children: 'Close'
616
+ })
617
+ })
618
+ ]
619
+ });
620
+ }
621
+ export default OrderWebhooksCard;
622
+
623
+ //# sourceMappingURL=order-webhooks-card.component.js.map