@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,88 @@
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
+ * HOW THE REGISTER IS RUN (AGL-3609): shifts, refunds at the till, the
18
+ * staff lock and what the receipt prints. Pure data, spread into
19
+ * `COMMERCE_CONFIG_SCHEMA`, so the settings form, the routes and the
20
+ * register read one set of keys with one set of bounds.
21
+ *=========================================*/ /**
22
+ * The most a register refund may be without a manager's PIN, by default:
23
+ * nothing. Before this, only an admin of the whole workspace could refund at
24
+ * all, so a default above zero would hand every cashier refunds on the day it
25
+ * shipped. A merchant who trusts the till raises it.
26
+ */ export const POS_REFUND_LIMIT_DEFAULT = 0;
27
+ export const POS_OPS_CONFIG_FIELDS = [
28
+ {
29
+ key: 'posRequireOpenShift',
30
+ label: 'Require an open shift to sell',
31
+ type: 'boolean',
32
+ description: 'A register refuses sales and cash refunds until someone opens a shift ' + 'with a starting float, so every sale is counted in a drawer.'
33
+ },
34
+ {
35
+ key: 'posRefundLimit',
36
+ label: 'Cashier refund limit ($)',
37
+ type: 'number',
38
+ min: 0,
39
+ max: 100000,
40
+ description: 'The largest return a cashier may refund at the register without a ' + 'manager entering their PIN. Workspace admins have no limit. Set to 0 to ' + 'have a manager approve every register refund.'
41
+ },
42
+ {
43
+ key: 'posAutoLockMinutes',
44
+ label: 'Lock the register after (minutes idle)',
45
+ type: 'number',
46
+ min: 0,
47
+ max: 240,
48
+ description: 'After this many minutes without a tap the register locks and asks for ' + 'a staff PIN. Set to 0 to never lock.'
49
+ },
50
+ {
51
+ key: 'posReceiptAddress',
52
+ label: 'Address on printed receipts',
53
+ type: 'string',
54
+ description: 'Printed under your store name. Put each line on its own line.'
55
+ },
56
+ {
57
+ key: 'posReturnPolicy',
58
+ label: 'Return policy on printed receipts',
59
+ type: 'string',
60
+ description: 'Printed at the foot of every receipt and gift receipt.'
61
+ }
62
+ ];
63
+ export const POS_OPS_CONFIG_DEFAULTS = {
64
+ posRequireOpenShift: false,
65
+ posRefundLimit: POS_REFUND_LIMIT_DEFAULT,
66
+ posAutoLockMinutes: 0,
67
+ posReceiptAddress: '',
68
+ posReturnPolicy: ''
69
+ };
70
+ /**
71
+ * Read defensively: the framework has already clamped a schema'd value, and
72
+ * this second bound is for a config read without the schema.
73
+ */ export function posOpsSettings(config) {
74
+ var _ref, _ref1;
75
+ const number = (key, max, fallback)=>{
76
+ const raw = Number(config == null ? void 0 : config[key]);
77
+ return Number.isFinite(raw) ? Math.min(max, Math.max(0, raw)) : fallback;
78
+ };
79
+ return {
80
+ requireOpenShift: (config == null ? void 0 : config['posRequireOpenShift']) === true,
81
+ refundLimitCents: Math.round(number('posRefundLimit', 100000, POS_REFUND_LIMIT_DEFAULT) * 100),
82
+ autoLockMinutes: Math.round(number('posAutoLockMinutes', 240, 0)),
83
+ receiptAddress: String((_ref = config == null ? void 0 : config['posReceiptAddress']) != null ? _ref : '').slice(0, 500),
84
+ returnPolicy: String((_ref1 = config == null ? void 0 : config['posReturnPolicy']) != null ? _ref1 : '').slice(0, 1000)
85
+ };
86
+ }
87
+
88
+ //# sourceMappingURL=pos-ops-config.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../../../../libs/plugins/commerce/src/lib/pos-ops-config.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 type { PluginConfigField } from '@aglyn/aglyn'\n\n/*==========================================\n * HOW THE REGISTER IS RUN (AGL-3609): shifts, refunds at the till, the\n * staff lock and what the receipt prints. Pure data, spread into\n * `COMMERCE_CONFIG_SCHEMA`, so the settings form, the routes and the\n * register read one set of keys with one set of bounds.\n *=========================================*/\n\n/**\n * The most a register refund may be without a manager's PIN, by default:\n * nothing. Before this, only an admin of the whole workspace could refund at\n * all, so a default above zero would hand every cashier refunds on the day it\n * shipped. A merchant who trusts the till raises it.\n */\nexport const POS_REFUND_LIMIT_DEFAULT = 0\n\nexport const POS_OPS_CONFIG_FIELDS: PluginConfigField[] = [\n {\n key: 'posRequireOpenShift',\n label: 'Require an open shift to sell',\n type: 'boolean',\n description:\n 'A register refuses sales and cash refunds until someone opens a shift ' +\n 'with a starting float, so every sale is counted in a drawer.',\n },\n {\n key: 'posRefundLimit',\n label: 'Cashier refund limit ($)',\n type: 'number',\n min: 0,\n max: 100000,\n description:\n 'The largest return a cashier may refund at the register without a ' +\n 'manager entering their PIN. Workspace admins have no limit. Set to 0 to ' +\n 'have a manager approve every register refund.',\n },\n {\n key: 'posAutoLockMinutes',\n label: 'Lock the register after (minutes idle)',\n type: 'number',\n min: 0,\n max: 240,\n description:\n 'After this many minutes without a tap the register locks and asks for ' +\n 'a staff PIN. Set to 0 to never lock.',\n },\n {\n key: 'posReceiptAddress',\n label: 'Address on printed receipts',\n type: 'string',\n description: 'Printed under your store name. Put each line on its own line.',\n },\n {\n key: 'posReturnPolicy',\n label: 'Return policy on printed receipts',\n type: 'string',\n description: 'Printed at the foot of every receipt and gift receipt.',\n },\n]\n\nexport const POS_OPS_CONFIG_DEFAULTS: Record<string, unknown> = {\n posRequireOpenShift: false,\n posRefundLimit: POS_REFUND_LIMIT_DEFAULT,\n posAutoLockMinutes: 0,\n posReceiptAddress: '',\n posReturnPolicy: '',\n}\n\n/** The register settings, typed and bounded, for one site's merged config. */\nexport interface PosOpsSettings {\n requireOpenShift: boolean\n refundLimitCents: number\n autoLockMinutes: number\n receiptAddress: string\n returnPolicy: string\n}\n\n/**\n * Read defensively: the framework has already clamped a schema'd value, and\n * this second bound is for a config read without the schema.\n */\nexport function posOpsSettings(config: Record<string, unknown> | null | undefined): PosOpsSettings {\n const number = (key: string, max: number, fallback: number) => {\n const raw = Number(config?.[key])\n return Number.isFinite(raw) ? Math.min(max, Math.max(0, raw)) : fallback\n }\n return {\n requireOpenShift: config?.['posRequireOpenShift'] === true,\n refundLimitCents: Math.round(number('posRefundLimit', 100000, POS_REFUND_LIMIT_DEFAULT) * 100),\n autoLockMinutes: Math.round(number('posAutoLockMinutes', 240, 0)),\n receiptAddress: String(config?.['posReceiptAddress'] ?? '').slice(0, 500),\n returnPolicy: String(config?.['posReturnPolicy'] ?? '').slice(0, 1000),\n }\n}\n"],"names":["POS_REFUND_LIMIT_DEFAULT","POS_OPS_CONFIG_FIELDS","key","label","type","description","min","max","POS_OPS_CONFIG_DEFAULTS","posRequireOpenShift","posRefundLimit","posAutoLockMinutes","posReceiptAddress","posReturnPolicy","posOpsSettings","config","number","fallback","raw","Number","isFinite","Math","requireOpenShift","refundLimitCents","round","autoLockMinutes","receiptAddress","String","slice","returnPolicy"],"mappings":"AAAA;;;;;;;;;;;;;;;CAeC,GAID;;;;;2CAK2C,GAE3C;;;;;CAKC,GACD,OAAO,MAAMA,2BAA2B,EAAC;AAEzC,OAAO,MAAMC,wBAA6C;IACxD;QACEC,KAAK;QACLC,OAAO;QACPC,MAAM;QACNC,aACE,2EACA;IACJ;IACA;QACEH,KAAK;QACLC,OAAO;QACPC,MAAM;QACNE,KAAK;QACLC,KAAK;QACLF,aACE,uEACA,6EACA;IACJ;IACA;QACEH,KAAK;QACLC,OAAO;QACPC,MAAM;QACNE,KAAK;QACLC,KAAK;QACLF,aACE,2EACA;IACJ;IACA;QACEH,KAAK;QACLC,OAAO;QACPC,MAAM;QACNC,aAAa;IACf;IACA;QACEH,KAAK;QACLC,OAAO;QACPC,MAAM;QACNC,aAAa;IACf;CACD,CAAA;AAED,OAAO,MAAMG,0BAAmD;IAC9DC,qBAAqB;IACrBC,gBAAgBV;IAChBW,oBAAoB;IACpBC,mBAAmB;IACnBC,iBAAiB;AACnB,EAAC;AAWD;;;CAGC,GACD,OAAO,SAASC,eAAeC,MAAkD;;IAC/E,MAAMC,SAAS,CAACd,KAAaK,KAAaU;QACxC,MAAMC,MAAMC,OAAOJ,0BAAAA,MAAQ,CAACb,IAAI;QAChC,OAAOiB,OAAOC,QAAQ,CAACF,OAAOG,KAAKf,GAAG,CAACC,KAAKc,KAAKd,GAAG,CAAC,GAAGW,QAAQD;IAClE;IACA,OAAO;QACLK,kBAAkBP,CAAAA,0BAAAA,MAAQ,CAAC,sBAAsB,MAAK;QACtDQ,kBAAkBF,KAAKG,KAAK,CAACR,OAAO,kBAAkB,QAAQhB,4BAA4B;QAC1FyB,iBAAiBJ,KAAKG,KAAK,CAACR,OAAO,sBAAsB,KAAK;QAC9DU,gBAAgBC,eAAOZ,0BAAAA,MAAQ,CAAC,oBAAoB,mBAAI,IAAIa,KAAK,CAAC,GAAG;QACrEC,cAAcF,gBAAOZ,0BAAAA,MAAQ,CAAC,kBAAkB,oBAAI,IAAIa,KAAK,CAAC,GAAG;IACnE;AACF"}
@@ -0,0 +1,106 @@
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 ReceiptData } from '../model/commerce-receipt';
18
+ import type { PrintReport } from '../model/commerce-printers';
19
+ /**
20
+ * A printer-neutral document (AGL-3619): what a receipt, a test page or a
21
+ * drawer kick IS, laid out in fixed columns, before any vendor's bytes. Each
22
+ * renderer (`render-star.ts`, `render-epson.ts`, `render-text.ts`) translates
23
+ * these operations one for one, so the layout is decided once and a Star and
24
+ * an Epson print the same receipt.
25
+ *
26
+ * Text operations are one printed LINE each and already fit the paper: the
27
+ * layout wraps and pads here, because a thermal printer's own wrapping breaks
28
+ * mid-word and cannot right-align a price.
29
+ */
30
+ export type PrintAlign = 'left' | 'center' | 'right';
31
+ export type PrintOp = {
32
+ op: 'text';
33
+ text: string;
34
+ align?: PrintAlign;
35
+ bold?: boolean;
36
+ size?: 1 | 2;
37
+ } | {
38
+ op: 'feed';
39
+ lines: number;
40
+ } | {
41
+ op: 'barcode';
42
+ data: string;
43
+ } | {
44
+ op: 'logo';
45
+ } | {
46
+ op: 'drawer';
47
+ } | {
48
+ op: 'cut';
49
+ };
50
+ export interface PrintDocument {
51
+ /** Characters per line at size 1. */
52
+ columns: number;
53
+ ops: PrintOp[];
54
+ }
55
+ /**
56
+ * Text as the printer's built-in ASCII font can print it. Accents are folded
57
+ * (`Crème brûlée` → `Creme brulee`), the punctuation a product name or a money
58
+ * format carries is spelled in ASCII, and anything left becomes `?` rather
59
+ * than the mojibake a raw UTF-8 byte prints as on a code-page printer.
60
+ */
61
+ export declare function toPrintable(value: unknown): string;
62
+ /** Words wrapped to `width`, breaking a word only when it alone is too long. */
63
+ export declare function wrapText(text: string, width: number): string[];
64
+ /**
65
+ * A left label and a right amount on one line; a label too long to share the
66
+ * line wraps above, so the amount always lands flush right.
67
+ */
68
+ export declare function twoColumnLines(left: string, right: string, width: number): string[];
69
+ export interface LayoutOptions {
70
+ columns: number;
71
+ /** Print the logo stored in the printer. */
72
+ logo?: boolean;
73
+ /** Kick the cash drawer as the receipt starts printing. */
74
+ openDrawer?: boolean;
75
+ }
76
+ /** The customer receipt. */
77
+ export declare function layoutReceipt(receipt: ReceiptData, options: LayoutOptions): PrintDocument;
78
+ /**
79
+ * The ticket the kitchen, the bar or the packing bench works from: the order
80
+ * number large enough to call out, when it was rung and on which register,
81
+ * then each item with its quantity and options. No prices, no tenders and no
82
+ * barcode: the people reading it are making the order, not paying for it.
83
+ */
84
+ export declare function layoutKitchenTicket(receipt: ReceiptData, options: {
85
+ columns: number;
86
+ }): PrintDocument;
87
+ /**
88
+ * Code128 code set B carries printable ASCII, and a scanner reads a short
89
+ * symbol more reliably than a long one, so the data is the order number
90
+ * reduced to those characters and capped well under a receipt's width.
91
+ */
92
+ export declare function code128Printable(value: unknown): string;
93
+ /** The page "Print test" sends: proves the URL, the paper, the cutter and, if asked, the drawer. */
94
+ export declare function layoutTestPage(input: {
95
+ columns: number;
96
+ printerName: string;
97
+ storeName: string;
98
+ atMs: number;
99
+ timeZone?: string;
100
+ logo?: boolean;
101
+ openDrawer?: boolean;
102
+ }): PrintDocument;
103
+ /** A titled report on the receipt roll: a shift's X or Z report (AGL-3609). */
104
+ export declare function layoutReport(report: PrintReport, options: Pick<LayoutOptions, 'columns' | 'logo'>): PrintDocument;
105
+ /** A drawer kick with nothing printed: a paid-out, a cash refund, "Open drawer". */
106
+ export declare function layoutDrawerKick(columns: number): PrintDocument;
@@ -0,0 +1,464 @@
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 { formatReceiptMoney, formatReceiptTime } from "../model/commerce-receipt.js";
17
+ const SYMBOLS = {
18
+ '•': '*',
19
+ '·': '*',
20
+ '–': '-',
21
+ '—': '-',
22
+ '‘': "'",
23
+ '’': "'",
24
+ '“': '"',
25
+ '”': '"',
26
+ '…': '...',
27
+ ' ': ' ',
28
+ ' ': ' ',
29
+ '€': 'EUR',
30
+ '£': 'GBP',
31
+ '¥': 'JPY',
32
+ '₹': 'INR'
33
+ };
34
+ /**
35
+ * Text as the printer's built-in ASCII font can print it. Accents are folded
36
+ * (`Crème brûlée` → `Creme brulee`), the punctuation a product name or a money
37
+ * format carries is spelled in ASCII, and anything left becomes `?` rather
38
+ * than the mojibake a raw UTF-8 byte prints as on a code-page printer.
39
+ */ export function toPrintable(value) {
40
+ return String(value != null ? value : '').normalize('NFKD').replace(/[̀-ͯ]/g, '').replace(/[^\x20-\x7e]/g, (char)=>{
41
+ var _SYMBOLS_char;
42
+ return (_SYMBOLS_char = SYMBOLS[char]) != null ? _SYMBOLS_char : /\s/.test(char) ? ' ' : '?';
43
+ });
44
+ }
45
+ /** Words wrapped to `width`, breaking a word only when it alone is too long. */ export function wrapText(text, width) {
46
+ const lines = [];
47
+ let current = '';
48
+ for (const word of toPrintable(text).split(/\s+/).filter(Boolean)){
49
+ let rest = word;
50
+ while(rest.length > width){
51
+ if (current) {
52
+ lines.push(current);
53
+ current = '';
54
+ }
55
+ lines.push(rest.slice(0, width));
56
+ rest = rest.slice(width);
57
+ }
58
+ if (!rest) continue;
59
+ if (!current) current = rest;
60
+ else if (current.length + 1 + rest.length <= width) current += ` ${rest}`;
61
+ else {
62
+ lines.push(current);
63
+ current = rest;
64
+ }
65
+ }
66
+ if (current) lines.push(current);
67
+ return lines.length ? lines : [
68
+ ''
69
+ ];
70
+ }
71
+ /**
72
+ * A left label and a right amount on one line; a label too long to share the
73
+ * line wraps above, so the amount always lands flush right.
74
+ */ export function twoColumnLines(left, right, width) {
75
+ var _wrapped_pop;
76
+ const amount = toPrintable(right);
77
+ const room = Math.max(1, width - amount.length - 1);
78
+ const wrapped = wrapText(left, room);
79
+ const last = (_wrapped_pop = wrapped.pop()) != null ? _wrapped_pop : '';
80
+ return [
81
+ ...wrapped,
82
+ `${last}${' '.repeat(Math.max(1, width - last.length - amount.length))}${amount}`
83
+ ];
84
+ }
85
+ const rule = (columns)=>({
86
+ op: 'text',
87
+ text: '-'.repeat(columns)
88
+ });
89
+ /** The customer receipt. */ export function layoutReceipt(receipt, options) {
90
+ var _receipt_storeLines, _receipt_tenders, _receipt_barcode;
91
+ var _receipt_tenders1;
92
+ const { columns } = options;
93
+ const money = (cents)=>formatReceiptMoney(cents, receipt.currency);
94
+ const ops = [];
95
+ const line = (left, right, bold = false)=>{
96
+ for (const text of twoColumnLines(left, right, columns))ops.push({
97
+ op: 'text',
98
+ text,
99
+ bold
100
+ });
101
+ };
102
+ // The drawer first: the cashier makes change while the receipt prints.
103
+ if (options.openDrawer) ops.push({
104
+ op: 'drawer'
105
+ });
106
+ if (options.logo) ops.push({
107
+ op: 'logo'
108
+ });
109
+ if (receipt.banner) {
110
+ ops.push({
111
+ op: 'text',
112
+ text: toPrintable(receipt.banner).slice(0, Math.floor(columns / 2)),
113
+ align: 'center',
114
+ bold: true,
115
+ size: 2
116
+ });
117
+ }
118
+ for (const text of wrapText(receipt.storeName, Math.floor(columns / 2))){
119
+ ops.push({
120
+ op: 'text',
121
+ text,
122
+ align: 'center',
123
+ bold: true,
124
+ size: 2
125
+ });
126
+ }
127
+ for (const storeLine of (_receipt_storeLines = receipt.storeLines) != null ? _receipt_storeLines : []){
128
+ for (const text of wrapText(storeLine, columns))ops.push({
129
+ op: 'text',
130
+ text,
131
+ align: 'center'
132
+ });
133
+ }
134
+ ops.push({
135
+ op: 'feed',
136
+ lines: 1
137
+ });
138
+ line(`Order #${receipt.orderNumber}`, formatReceiptTime(receipt.createdAtMs, receipt.timeZone));
139
+ const who = [
140
+ receipt.registerName,
141
+ receipt.cashierName
142
+ ].filter(Boolean).join(' - ');
143
+ if (who) for (const text of wrapText(who, columns))ops.push({
144
+ op: 'text',
145
+ text
146
+ });
147
+ ops.push(rule(columns));
148
+ for (const item of receipt.lines){
149
+ const label = item.quantity > 1 ? `${item.quantity} x ${item.name}` : item.name;
150
+ line(label, money(item.totalCents));
151
+ if (item.detail) {
152
+ for (const text of wrapText(item.detail, columns - 2))ops.push({
153
+ op: 'text',
154
+ text: ` ${text}`
155
+ });
156
+ }
157
+ if (item.quantity > 1) {
158
+ ops.push({
159
+ op: 'text',
160
+ text: toPrintable(` @ ${money(item.unitCents)} each`).slice(0, columns)
161
+ });
162
+ }
163
+ }
164
+ ops.push(rule(columns));
165
+ line('Subtotal', money(receipt.subtotalCents));
166
+ if (receipt.discountCents) line('Discount', `-${money(receipt.discountCents)}`);
167
+ if (receipt.shippingCents) line('Shipping', money(receipt.shippingCents));
168
+ if (receipt.taxCents) line('Tax', money(receipt.taxCents));
169
+ if (receipt.tipCents) line('Tip', money(receipt.tipCents));
170
+ for (const text of twoColumnLines('TOTAL', money(receipt.totalCents), Math.floor(columns / 2))){
171
+ ops.push({
172
+ op: 'text',
173
+ text,
174
+ bold: true,
175
+ size: 2
176
+ });
177
+ }
178
+ if (((_receipt_tenders1 = receipt.tenders) == null ? void 0 : _receipt_tenders1.length) || receipt.changeCents) ops.push({
179
+ op: 'feed',
180
+ lines: 1
181
+ });
182
+ for (const tender of (_receipt_tenders = receipt.tenders) != null ? _receipt_tenders : [])line(tender.label, money(tender.amountCents));
183
+ if (receipt.changeCents) line('Change', money(receipt.changeCents), true);
184
+ if (receipt.refundedCents) line('Refunded', `-${money(receipt.refundedCents)}`);
185
+ const barcode = code128Printable((_receipt_barcode = receipt.barcode) != null ? _receipt_barcode : receipt.orderNumber);
186
+ if (barcode) {
187
+ ops.push({
188
+ op: 'feed',
189
+ lines: 1
190
+ });
191
+ ops.push({
192
+ op: 'barcode',
193
+ data: barcode
194
+ });
195
+ }
196
+ if (receipt.footer) {
197
+ ops.push({
198
+ op: 'feed',
199
+ lines: 1
200
+ });
201
+ for (const text of wrapText(receipt.footer, columns))ops.push({
202
+ op: 'text',
203
+ text,
204
+ align: 'center'
205
+ });
206
+ }
207
+ ops.push({
208
+ op: 'feed',
209
+ lines: 2
210
+ });
211
+ ops.push({
212
+ op: 'cut'
213
+ });
214
+ return {
215
+ columns,
216
+ ops
217
+ };
218
+ }
219
+ /**
220
+ * The ticket the kitchen, the bar or the packing bench works from: the order
221
+ * number large enough to call out, when it was rung and on which register,
222
+ * then each item with its quantity and options. No prices, no tenders and no
223
+ * barcode: the people reading it are making the order, not paying for it.
224
+ */ export function layoutKitchenTicket(receipt, options) {
225
+ var _receipt_registerName;
226
+ const { columns } = options;
227
+ const half = Math.floor(columns / 2);
228
+ const ops = [];
229
+ if (receipt.banner) {
230
+ ops.push({
231
+ op: 'text',
232
+ text: toPrintable(receipt.banner).slice(0, half),
233
+ align: 'center',
234
+ bold: true,
235
+ size: 2
236
+ });
237
+ }
238
+ ops.push({
239
+ op: 'text',
240
+ text: toPrintable(`#${receipt.orderNumber}`).slice(0, half),
241
+ align: 'center',
242
+ bold: true,
243
+ size: 2
244
+ });
245
+ for (const text of twoColumnLines((_receipt_registerName = receipt.registerName) != null ? _receipt_registerName : '', formatReceiptTime(receipt.createdAtMs, receipt.timeZone), columns)){
246
+ ops.push({
247
+ op: 'text',
248
+ text
249
+ });
250
+ }
251
+ ops.push(rule(columns));
252
+ for (const item of receipt.lines){
253
+ // Quantity first and large: "2 x Latte" read across a kitchen.
254
+ for (const text of wrapText(`${item.quantity} x ${item.name}`, half)){
255
+ ops.push({
256
+ op: 'text',
257
+ text,
258
+ bold: true,
259
+ size: 2
260
+ });
261
+ }
262
+ if (item.detail) {
263
+ for (const text of wrapText(item.detail, columns - 2))ops.push({
264
+ op: 'text',
265
+ text: ` ${text}`
266
+ });
267
+ }
268
+ }
269
+ ops.push(rule(columns));
270
+ const count = receipt.lines.reduce((sum, item)=>sum + item.quantity, 0);
271
+ ops.push({
272
+ op: 'text',
273
+ text: `${count} ${count === 1 ? 'item' : 'items'}`,
274
+ align: 'right'
275
+ });
276
+ ops.push({
277
+ op: 'feed',
278
+ lines: 2
279
+ });
280
+ ops.push({
281
+ op: 'cut'
282
+ });
283
+ return {
284
+ columns,
285
+ ops
286
+ };
287
+ }
288
+ /**
289
+ * Code128 code set B carries printable ASCII, and a scanner reads a short
290
+ * symbol more reliably than a long one, so the data is the order number
291
+ * reduced to those characters and capped well under a receipt's width.
292
+ */ export function code128Printable(value) {
293
+ return toPrintable(value).replace(/[^\x21-\x7e]/g, '').slice(0, 20);
294
+ }
295
+ /** The page "Print test" sends: proves the URL, the paper, the cutter and, if asked, the drawer. */ export function layoutTestPage(input) {
296
+ const { columns } = input;
297
+ const ops = [];
298
+ if (input.openDrawer) ops.push({
299
+ op: 'drawer'
300
+ });
301
+ if (input.logo) ops.push({
302
+ op: 'logo'
303
+ });
304
+ ops.push({
305
+ op: 'text',
306
+ text: 'TEST PRINT',
307
+ align: 'center',
308
+ bold: true,
309
+ size: 2
310
+ });
311
+ for (const text of wrapText(input.storeName, columns))ops.push({
312
+ op: 'text',
313
+ text,
314
+ align: 'center'
315
+ });
316
+ ops.push({
317
+ op: 'feed',
318
+ lines: 1
319
+ });
320
+ for (const text of twoColumnLines('Printer', input.printerName, columns))ops.push({
321
+ op: 'text',
322
+ text
323
+ });
324
+ for (const text of twoColumnLines('Sent', formatReceiptTime(input.atMs, input.timeZone), columns)){
325
+ ops.push({
326
+ op: 'text',
327
+ text
328
+ });
329
+ }
330
+ ops.push({
331
+ op: 'text',
332
+ text: '-'.repeat(columns)
333
+ });
334
+ ops.push({
335
+ op: 'text',
336
+ text: 'Left aligned'
337
+ });
338
+ ops.push({
339
+ op: 'text',
340
+ text: 'Centered',
341
+ align: 'center'
342
+ });
343
+ ops.push({
344
+ op: 'text',
345
+ text: 'Right aligned',
346
+ align: 'right'
347
+ });
348
+ ops.push({
349
+ op: 'text',
350
+ text: 'Bold text',
351
+ bold: true
352
+ });
353
+ ops.push({
354
+ op: 'text',
355
+ text: 'Large',
356
+ size: 2
357
+ });
358
+ ops.push({
359
+ op: 'text',
360
+ text: '0123456789'.repeat(Math.ceil(columns / 10)).slice(0, columns)
361
+ });
362
+ ops.push({
363
+ op: 'feed',
364
+ lines: 1
365
+ });
366
+ ops.push({
367
+ op: 'barcode',
368
+ data: 'TEST-PRINT'
369
+ });
370
+ ops.push({
371
+ op: 'feed',
372
+ lines: 1
373
+ });
374
+ for (const text of wrapText('If you can read this, receipts will print here.', columns)){
375
+ ops.push({
376
+ op: 'text',
377
+ text,
378
+ align: 'center'
379
+ });
380
+ }
381
+ ops.push({
382
+ op: 'feed',
383
+ lines: 2
384
+ });
385
+ ops.push({
386
+ op: 'cut'
387
+ });
388
+ return {
389
+ columns,
390
+ ops
391
+ };
392
+ }
393
+ /** A titled report on the receipt roll: a shift's X or Z report (AGL-3609). */ export function layoutReport(report, options) {
394
+ const { columns } = options;
395
+ const ops = [];
396
+ if (options.logo) ops.push({
397
+ op: 'logo'
398
+ });
399
+ for (const text of wrapText(report.storeName, Math.floor(columns / 2))){
400
+ ops.push({
401
+ op: 'text',
402
+ text,
403
+ align: 'center',
404
+ bold: true,
405
+ size: 2
406
+ });
407
+ }
408
+ for (const text of wrapText(report.title, Math.floor(columns / 2))){
409
+ ops.push({
410
+ op: 'text',
411
+ text,
412
+ align: 'center',
413
+ bold: true,
414
+ size: 2
415
+ });
416
+ }
417
+ if (report.subtitle) {
418
+ for (const text of wrapText(report.subtitle, columns))ops.push({
419
+ op: 'text',
420
+ text,
421
+ align: 'center'
422
+ });
423
+ }
424
+ for (const section of report.sections){
425
+ ops.push(rule(columns));
426
+ ops.push({
427
+ op: 'text',
428
+ text: toPrintable(section.section.toUpperCase()).slice(0, columns),
429
+ bold: true
430
+ });
431
+ for (const row of section.rows){
432
+ for (const text of twoColumnLines(row.label, row.value, columns)){
433
+ ops.push({
434
+ op: 'text',
435
+ text,
436
+ bold: row.strong === true
437
+ });
438
+ }
439
+ }
440
+ }
441
+ ops.push({
442
+ op: 'feed',
443
+ lines: 2
444
+ });
445
+ ops.push({
446
+ op: 'cut'
447
+ });
448
+ return {
449
+ columns,
450
+ ops
451
+ };
452
+ }
453
+ /** A drawer kick with nothing printed: a paid-out, a cash refund, "Open drawer". */ export function layoutDrawerKick(columns) {
454
+ return {
455
+ columns,
456
+ ops: [
457
+ {
458
+ op: 'drawer'
459
+ }
460
+ ]
461
+ };
462
+ }
463
+
464
+ //# sourceMappingURL=print-document.js.map