@aglyn/plugins-commerce 1.0.0-beta.285 → 1.0.0-beta.288

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 (430) hide show
  1. package/README.md +1 -1
  2. package/package.json +13 -13
  3. package/src/lib/components/cart.js +25 -12
  4. package/src/lib/components/cart.js.map +1 -1
  5. package/src/lib/components/commerce-console-page.js +70 -13
  6. package/src/lib/components/commerce-console-page.js.map +1 -1
  7. package/src/lib/components/console/order-detail-dialog.component.js +2 -1
  8. package/src/lib/components/console/order-detail-dialog.component.js.map +1 -1
  9. package/src/lib/components/console/order-webhooks-card.component.js +1 -1
  10. package/src/lib/components/console/order-webhooks-card.component.js.map +1 -1
  11. package/src/lib/components/console/payment-methods-card.component.js +1 -1
  12. package/src/lib/components/console/payment-methods-card.component.js.map +1 -1
  13. package/src/lib/components/console/pos/pos-cart-panel.component.d.ts +5 -0
  14. package/src/lib/components/console/pos/pos-cart-panel.component.js +18 -12
  15. package/src/lib/components/console/pos/pos-cart-panel.component.js.map +1 -1
  16. package/src/lib/components/console/pos/pos-hardware-api.d.ts +76 -5
  17. package/src/lib/components/console/pos/pos-hardware-api.js +53 -11
  18. package/src/lib/components/console/pos/pos-hardware-api.js.map +1 -1
  19. package/src/lib/components/console/pos/pos-hardware-buyer.component.d.ts +18 -0
  20. package/src/lib/components/console/pos/pos-hardware-buyer.component.js +629 -0
  21. package/src/lib/components/console/pos/pos-hardware-buyer.component.js.map +1 -0
  22. package/src/lib/components/console/pos/pos-hardware-sale-api.d.ts +162 -0
  23. package/src/lib/components/console/pos/pos-hardware-sale-api.js +122 -0
  24. package/src/lib/components/console/pos/pos-hardware-sale-api.js.map +1 -0
  25. package/src/lib/components/console/pos/pos-hardware-sale-terms.component.d.ts +39 -0
  26. package/src/lib/components/console/pos/pos-hardware-sale-terms.component.js +251 -0
  27. package/src/lib/components/console/pos/pos-hardware-sale-terms.component.js.map +1 -0
  28. package/src/lib/components/console/pos/use-pos-display.js +50 -0
  29. package/src/lib/components/console/pos/use-pos-display.js.map +1 -1
  30. package/src/lib/components/console/pos-cellular-control.component.d.ts +41 -0
  31. package/src/lib/components/console/pos-cellular-control.component.js +211 -0
  32. package/src/lib/components/console/pos-cellular-control.component.js.map +1 -0
  33. package/src/lib/components/console/pos-devices-card.component.d.ts +9 -1
  34. package/src/lib/components/console/pos-devices-card.component.js +47 -15
  35. package/src/lib/components/console/pos-devices-card.component.js.map +1 -1
  36. package/src/lib/components/console/pos-display/pos-display-api.d.ts +6 -0
  37. package/src/lib/components/console/pos-display/pos-display-api.js +8 -1
  38. package/src/lib/components/console/pos-display/pos-display-api.js.map +1 -1
  39. package/src/lib/components/console/pos-display-page.component.d.ts +13 -0
  40. package/src/lib/components/console/pos-display-page.component.js +44 -2
  41. package/src/lib/components/console/pos-display-page.component.js.map +1 -1
  42. package/src/lib/components/console/pos-hardware-card.component.d.ts +12 -4
  43. package/src/lib/components/console/pos-hardware-card.component.js +157 -36
  44. package/src/lib/components/console/pos-hardware-card.component.js.map +1 -1
  45. package/src/lib/components/console/pos-hardware-orders-staff-page.component.js +360 -80
  46. package/src/lib/components/console/pos-hardware-orders-staff-page.component.js.map +1 -1
  47. package/src/lib/components/console/pos-hardware-terms-page.component.d.ts +34 -0
  48. package/src/lib/components/console/pos-hardware-terms-page.component.js +257 -0
  49. package/src/lib/components/console/pos-hardware-terms-page.component.js.map +1 -0
  50. package/src/lib/components/console/pos-hardware-terms-sign-page.component.d.ts +27 -0
  51. package/src/lib/components/console/pos-hardware-terms-sign-page.component.js +104 -0
  52. package/src/lib/components/console/pos-hardware-terms-sign-page.component.js.map +1 -0
  53. package/src/lib/components/console/pos-hardware-waiting-card.component.d.ts +24 -0
  54. package/src/lib/components/console/pos-hardware-waiting-card.component.js +205 -0
  55. package/src/lib/components/console/pos-hardware-waiting-card.component.js.map +1 -0
  56. package/src/lib/components/console/pos-ops/pos-check-in-dialog.component.js +297 -201
  57. package/src/lib/components/console/pos-ops/pos-check-in-dialog.component.js.map +1 -1
  58. package/src/lib/components/console/pos-ops/pos-check-ins-card.component.d.ts +3 -0
  59. package/src/lib/components/console/pos-ops/pos-check-ins-card.component.js +260 -92
  60. package/src/lib/components/console/pos-ops/pos-check-ins-card.component.js.map +1 -1
  61. package/src/lib/components/console/pos-ops/pos-operations-bar.component.d.ts +9 -0
  62. package/src/lib/components/console/pos-ops/pos-operations-bar.component.js +15 -6
  63. package/src/lib/components/console/pos-ops/pos-operations-bar.component.js.map +1 -1
  64. package/src/lib/components/console/pos-ops/pos-rain-check-dialog.component.d.ts +25 -0
  65. package/src/lib/components/console/pos-ops/pos-rain-check-dialog.component.js +136 -0
  66. package/src/lib/components/console/pos-ops/pos-rain-check-dialog.component.js.map +1 -0
  67. package/src/lib/components/console/pos-ops/pos-shift-panel.component.d.ts +6 -0
  68. package/src/lib/components/console/pos-ops/pos-shift-panel.component.js +48 -31
  69. package/src/lib/components/console/pos-ops/pos-shift-panel.component.js.map +1 -1
  70. package/src/lib/components/console/pos-page.component.d.ts +1 -1
  71. package/src/lib/components/console/pos-page.component.js +63 -12
  72. package/src/lib/components/console/pos-page.component.js.map +1 -1
  73. package/src/lib/components/console/pos-reader-splash-setting.component.js +1 -1
  74. package/src/lib/components/console/pos-reader-splash-setting.component.js.map +1 -1
  75. package/src/lib/components/console/product-check-in-fields.component.d.ts +4 -2
  76. package/src/lib/components/console/product-check-in-fields.component.js +60 -14
  77. package/src/lib/components/console/product-check-in-fields.component.js.map +1 -1
  78. package/src/lib/components/console/product-editor-dialog.component.js +44 -1
  79. package/src/lib/components/console/product-editor-dialog.component.js.map +1 -1
  80. package/src/lib/components/console/product-hardware-sku-field.component.d.ts +19 -0
  81. package/src/lib/components/console/product-hardware-sku-field.component.js +92 -0
  82. package/src/lib/components/console/product-hardware-sku-field.component.js.map +1 -0
  83. package/src/lib/components/console/product-kiosk-offer-field.component.d.ts +22 -0
  84. package/src/lib/components/console/product-kiosk-offer-field.component.js +94 -0
  85. package/src/lib/components/console/product-kiosk-offer-field.component.js.map +1 -0
  86. package/src/lib/components/console/product-register-fields.component.d.ts +4 -0
  87. package/src/lib/components/console/product-register-fields.component.js +31 -2
  88. package/src/lib/components/console/product-register-fields.component.js.map +1 -1
  89. package/src/lib/components/console/products-hub-card.component.js +11 -2
  90. package/src/lib/components/console/products-hub-card.component.js.map +1 -1
  91. package/src/lib/components/console/register-hardware-card.component.d.ts +11 -0
  92. package/src/lib/components/console/register-hardware-card.component.js +56 -27
  93. package/src/lib/components/console/register-hardware-card.component.js.map +1 -1
  94. package/src/lib/components/console/reservation-guests-dialog.component.d.ts +28 -0
  95. package/src/lib/components/console/reservation-guests-dialog.component.js +189 -0
  96. package/src/lib/components/console/reservation-guests-dialog.component.js.map +1 -0
  97. package/src/lib/components/console/reservations-card.component.d.ts +9 -0
  98. package/src/lib/components/console/reservations-card.component.js +158 -23
  99. package/src/lib/components/console/reservations-card.component.js.map +1 -1
  100. package/src/lib/components/console/shippingeasy-card.component.js +1 -1
  101. package/src/lib/components/console/shippingeasy-card.component.js.map +1 -1
  102. package/src/lib/components/console/shipstation-card.component.d.ts +1 -1
  103. package/src/lib/components/console/shipstation-card.component.js +3 -3
  104. package/src/lib/components/console/shipstation-card.component.js.map +1 -1
  105. package/src/lib/components/product-detail.d.ts +4 -0
  106. package/src/lib/components/product-detail.js +40 -5
  107. package/src/lib/components/product-detail.js.map +1 -1
  108. package/src/lib/components/product-reviews.js +28 -11
  109. package/src/lib/components/product-reviews.js.map +1 -1
  110. package/src/lib/components/reservation-widget.js +28 -5
  111. package/src/lib/components/reservation-widget.js.map +1 -1
  112. package/src/lib/components/use-day-picker.d.ts +25 -0
  113. package/src/lib/components/use-day-picker.js +57 -0
  114. package/src/lib/components/use-day-picker.js.map +1 -0
  115. package/src/lib/constants/operator-alerts.d.ts +55 -0
  116. package/src/lib/constants/operator-alerts.js +156 -1
  117. package/src/lib/constants/operator-alerts.js.map +1 -1
  118. package/src/lib/declarations.console-server.js +54 -1
  119. package/src/lib/declarations.console-server.js.map +1 -1
  120. package/src/lib/declarations.d.ts +4 -2
  121. package/src/lib/declarations.js +15 -4
  122. package/src/lib/declarations.js.map +1 -1
  123. package/src/lib/declarations.server.js +9 -0
  124. package/src/lib/declarations.server.js.map +1 -1
  125. package/src/lib/model/commerce-cart.d.ts +9 -1
  126. package/src/lib/model/commerce-cart.js +4 -3
  127. package/src/lib/model/commerce-cart.js.map +1 -1
  128. package/src/lib/model/commerce-check-in-product.d.ts +26 -0
  129. package/src/lib/model/commerce-check-in-product.js +64 -2
  130. package/src/lib/model/commerce-check-in-product.js.map +1 -1
  131. package/src/lib/model/commerce-check-in-record.d.ts +127 -0
  132. package/src/lib/model/commerce-check-in-record.js +36 -0
  133. package/src/lib/model/commerce-check-in-record.js.map +1 -0
  134. package/src/lib/model/commerce-check-in.d.ts +91 -87
  135. package/src/lib/model/commerce-check-in.js +186 -62
  136. package/src/lib/model/commerce-check-in.js.map +1 -1
  137. package/src/lib/model/commerce-kiosk-offer.d.ts +31 -0
  138. package/src/lib/model/commerce-kiosk-offer.js +35 -0
  139. package/src/lib/model/commerce-kiosk-offer.js.map +1 -0
  140. package/src/lib/model/commerce-orders.d.ts +76 -0
  141. package/src/lib/model/commerce-orders.js +6 -0
  142. package/src/lib/model/commerce-orders.js.map +1 -1
  143. package/src/lib/model/commerce-pos-day-report.d.ts +54 -1
  144. package/src/lib/model/commerce-pos-day-report.js +39 -2
  145. package/src/lib/model/commerce-pos-day-report.js.map +1 -1
  146. package/src/lib/model/commerce-pos-offline.d.ts +1 -1
  147. package/src/lib/model/commerce-pos-offline.js +6 -1
  148. package/src/lib/model/commerce-pos-offline.js.map +1 -1
  149. package/src/lib/model/commerce-pos-ops.js +3 -2
  150. package/src/lib/model/commerce-pos-ops.js.map +1 -1
  151. package/src/lib/model/commerce-pos.d.ts +36 -3
  152. package/src/lib/model/commerce-pos.js +14 -6
  153. package/src/lib/model/commerce-pos.js.map +1 -1
  154. package/src/lib/model/commerce-receipt.js +3 -2
  155. package/src/lib/model/commerce-receipt.js.map +1 -1
  156. package/src/lib/model/commerce-reservations.d.ts +69 -4
  157. package/src/lib/model/commerce-reservations.js +57 -5
  158. package/src/lib/model/commerce-reservations.js.map +1 -1
  159. package/src/lib/model/commerce.d.ts +66 -0
  160. package/src/lib/model/commerce.js +15 -0
  161. package/src/lib/model/commerce.js.map +1 -1
  162. package/src/lib/model/order-list-fields.d.ts +11 -0
  163. package/src/lib/model/order-list-fields.js +17 -1
  164. package/src/lib/model/order-list-fields.js.map +1 -1
  165. package/src/lib/model/own-store-tax-summary.d.ts +152 -0
  166. package/src/lib/model/own-store-tax-summary.js +288 -0
  167. package/src/lib/model/own-store-tax-summary.js.map +1 -0
  168. package/src/lib/model/plugin-permissions.d.ts +74 -0
  169. package/src/lib/model/plugin-permissions.js +224 -7
  170. package/src/lib/model/plugin-permissions.js.map +1 -1
  171. package/src/lib/model/pos-cellular.d.ts +223 -0
  172. package/src/lib/model/pos-cellular.js +293 -0
  173. package/src/lib/model/pos-cellular.js.map +1 -0
  174. package/src/lib/model/pos-hardware-in-person.d.ts +98 -0
  175. package/src/lib/model/pos-hardware-in-person.js +224 -0
  176. package/src/lib/model/pos-hardware-in-person.js.map +1 -0
  177. package/src/lib/model/pos-hardware-tax-summary.d.ts +166 -0
  178. package/src/lib/model/pos-hardware-tax-summary.js +225 -0
  179. package/src/lib/model/pos-hardware-tax-summary.js.map +1 -0
  180. package/src/lib/model/pos-hardware-terms.d.ts +74 -0
  181. package/src/lib/model/pos-hardware-terms.js +115 -0
  182. package/src/lib/model/pos-hardware-terms.js.map +1 -0
  183. package/src/lib/model/pos-hardware.d.ts +349 -7
  184. package/src/lib/model/pos-hardware.js +291 -20
  185. package/src/lib/model/pos-hardware.js.map +1 -1
  186. package/src/lib/model/product-write.d.ts +10 -0
  187. package/src/lib/model/product-write.js +4 -2
  188. package/src/lib/model/product-write.js.map +1 -1
  189. package/src/lib/model/workspace-site-permissions.d.ts +26 -0
  190. package/src/lib/model/workspace-site-permissions.js +81 -0
  191. package/src/lib/model/workspace-site-permissions.js.map +1 -0
  192. package/src/lib/plugin.js +16 -0
  193. package/src/lib/plugin.js.map +1 -1
  194. package/src/lib/server/billing-webhook.js +25 -1
  195. package/src/lib/server/billing-webhook.js.map +1 -1
  196. package/src/lib/server/cancel-order.js +7 -5
  197. package/src/lib/server/cancel-order.js.map +1 -1
  198. package/src/lib/server/cart-checkout.js +20 -8
  199. package/src/lib/server/cart-checkout.js.map +1 -1
  200. package/src/lib/server/cart.js +29 -0
  201. package/src/lib/server/cart.js.map +1 -1
  202. package/src/lib/server/checkout.js +42 -13
  203. package/src/lib/server/checkout.js.map +1 -1
  204. package/src/lib/server/collection-membership.d.ts +4 -0
  205. package/src/lib/server/collection-membership.js +5 -10
  206. package/src/lib/server/collection-membership.js.map +1 -1
  207. package/src/lib/server/commerce-site-keys.d.ts +48 -0
  208. package/src/lib/server/commerce-site-keys.js +61 -0
  209. package/src/lib/server/commerce-site-keys.js.map +1 -0
  210. package/src/lib/server/draft-order.js +8 -5
  211. package/src/lib/server/draft-order.js.map +1 -1
  212. package/src/lib/server/fulfill-order.js +7 -5
  213. package/src/lib/server/fulfill-order.js.map +1 -1
  214. package/src/lib/server/gift-cards.js +8 -5
  215. package/src/lib/server/gift-cards.js.map +1 -1
  216. package/src/lib/server/local-fulfillment-status.js +9 -6
  217. package/src/lib/server/local-fulfillment-status.js.map +1 -1
  218. package/src/lib/server/member-post.js +6 -5
  219. package/src/lib/server/member-post.js.map +1 -1
  220. package/src/lib/server/membership-admin-password.d.ts +4 -2
  221. package/src/lib/server/membership-admin-password.js +10 -8
  222. package/src/lib/server/membership-admin-password.js.map +1 -1
  223. package/src/lib/server/membership-admin-remove.d.ts +7 -5
  224. package/src/lib/server/membership-admin-remove.js +9 -9
  225. package/src/lib/server/membership-admin-remove.js.map +1 -1
  226. package/src/lib/server/order-notifications.js +5 -2
  227. package/src/lib/server/order-notifications.js.map +1 -1
  228. package/src/lib/server/order-print.js +7 -5
  229. package/src/lib/server/order-print.js.map +1 -1
  230. package/src/lib/server/order-receipt-send.js +8 -5
  231. package/src/lib/server/order-receipt-send.js.map +1 -1
  232. package/src/lib/server/order-webhooks.js +8 -8
  233. package/src/lib/server/order-webhooks.js.map +1 -1
  234. package/src/lib/server/orders-shipping-prepare.js +9 -6
  235. package/src/lib/server/orders-shipping-prepare.js.map +1 -1
  236. package/src/lib/server/own-store-tax-return-source.d.ts +47 -0
  237. package/src/lib/server/own-store-tax-return-source.js +312 -0
  238. package/src/lib/server/own-store-tax-return-source.js.map +1 -0
  239. package/src/lib/server/payment-methods.js +13 -9
  240. package/src/lib/server/payment-methods.js.map +1 -1
  241. package/src/lib/server/pos-auth.d.ts +37 -6
  242. package/src/lib/server/pos-auth.js +40 -15
  243. package/src/lib/server/pos-auth.js.map +1 -1
  244. package/src/lib/server/pos-cellular-billing.d.ts +81 -0
  245. package/src/lib/server/pos-cellular-billing.js +711 -0
  246. package/src/lib/server/pos-cellular-billing.js.map +1 -0
  247. package/src/lib/server/pos-cellular-notify.d.ts +47 -0
  248. package/src/lib/server/pos-cellular-notify.js +150 -0
  249. package/src/lib/server/pos-cellular-notify.js.map +1 -0
  250. package/src/lib/server/pos-cellular.d.ts +88 -0
  251. package/src/lib/server/pos-cellular.js +339 -0
  252. package/src/lib/server/pos-cellular.js.map +1 -0
  253. package/src/lib/server/pos-check-in.d.ts +5 -1
  254. package/src/lib/server/pos-check-in.js +296 -28
  255. package/src/lib/server/pos-check-in.js.map +1 -1
  256. package/src/lib/server/pos-day-report.js +29 -3
  257. package/src/lib/server/pos-day-report.js.map +1 -1
  258. package/src/lib/server/pos-display.d.ts +16 -0
  259. package/src/lib/server/pos-display.js +129 -2
  260. package/src/lib/server/pos-display.js.map +1 -1
  261. package/src/lib/server/pos-hardware-admin.d.ts +10 -1
  262. package/src/lib/server/pos-hardware-admin.js +250 -84
  263. package/src/lib/server/pos-hardware-admin.js.map +1 -1
  264. package/src/lib/server/pos-hardware-attach.d.ts +105 -0
  265. package/src/lib/server/pos-hardware-attach.js +443 -0
  266. package/src/lib/server/pos-hardware-attach.js.map +1 -0
  267. package/src/lib/server/pos-hardware-buyer-lookup.d.ts +58 -0
  268. package/src/lib/server/pos-hardware-buyer-lookup.js +180 -0
  269. package/src/lib/server/pos-hardware-buyer-lookup.js.map +1 -0
  270. package/src/lib/server/pos-hardware-buyer-record.d.ts +29 -0
  271. package/src/lib/server/pos-hardware-buyer-record.js +86 -0
  272. package/src/lib/server/pos-hardware-buyer-record.js.map +1 -0
  273. package/src/lib/server/pos-hardware-cancel.d.ts +58 -0
  274. package/src/lib/server/pos-hardware-cancel.js +147 -0
  275. package/src/lib/server/pos-hardware-cancel.js.map +1 -0
  276. package/src/lib/server/pos-hardware-closure-notices.d.ts +27 -0
  277. package/src/lib/server/pos-hardware-closure-notices.js +85 -0
  278. package/src/lib/server/pos-hardware-closure-notices.js.map +1 -0
  279. package/src/lib/server/pos-hardware-closure.d.ts +60 -0
  280. package/src/lib/server/pos-hardware-closure.js +153 -0
  281. package/src/lib/server/pos-hardware-closure.js.map +1 -0
  282. package/src/lib/server/pos-hardware-in-person.d.ts +61 -0
  283. package/src/lib/server/pos-hardware-in-person.js +236 -0
  284. package/src/lib/server/pos-hardware-in-person.js.map +1 -0
  285. package/src/lib/server/pos-hardware-notify.d.ts +40 -2
  286. package/src/lib/server/pos-hardware-notify.js +195 -14
  287. package/src/lib/server/pos-hardware-notify.js.map +1 -1
  288. package/src/lib/server/pos-hardware-readers.d.ts +115 -0
  289. package/src/lib/server/pos-hardware-readers.js +430 -0
  290. package/src/lib/server/pos-hardware-readers.js.map +1 -0
  291. package/src/lib/server/pos-hardware-returns.d.ts +116 -0
  292. package/src/lib/server/pos-hardware-returns.js +502 -0
  293. package/src/lib/server/pos-hardware-returns.js.map +1 -0
  294. package/src/lib/server/pos-hardware-sale-fields.d.ts +28 -0
  295. package/src/lib/server/pos-hardware-sale-fields.js +44 -0
  296. package/src/lib/server/pos-hardware-sale-fields.js.map +1 -0
  297. package/src/lib/server/pos-hardware-sale.d.ts +54 -0
  298. package/src/lib/server/pos-hardware-sale.js +369 -0
  299. package/src/lib/server/pos-hardware-sale.js.map +1 -0
  300. package/src/lib/server/pos-hardware-tax-return-source.d.ts +99 -0
  301. package/src/lib/server/pos-hardware-tax-return-source.js +462 -0
  302. package/src/lib/server/pos-hardware-tax-return-source.js.map +1 -0
  303. package/src/lib/server/pos-hardware-terms.d.ts +64 -0
  304. package/src/lib/server/pos-hardware-terms.js +154 -0
  305. package/src/lib/server/pos-hardware-terms.js.map +1 -0
  306. package/src/lib/server/pos-hardware-user-eraser.d.ts +3 -0
  307. package/src/lib/server/pos-hardware-user-eraser.js +31 -7
  308. package/src/lib/server/pos-hardware-user-eraser.js.map +1 -1
  309. package/src/lib/server/pos-hardware-webhook.d.ts +5 -0
  310. package/src/lib/server/pos-hardware-webhook.js +51 -6
  311. package/src/lib/server/pos-hardware-webhook.js.map +1 -1
  312. package/src/lib/server/pos-hardware.d.ts +74 -1
  313. package/src/lib/server/pos-hardware.js +175 -10
  314. package/src/lib/server/pos-hardware.js.map +1 -1
  315. package/src/lib/server/pos-kiosk.d.ts +2 -0
  316. package/src/lib/server/pos-kiosk.js +17 -12
  317. package/src/lib/server/pos-kiosk.js.map +1 -1
  318. package/src/lib/server/pos-offline-card-order.d.ts +64 -0
  319. package/src/lib/server/pos-offline-card-order.js +102 -0
  320. package/src/lib/server/pos-offline-card-order.js.map +1 -0
  321. package/src/lib/server/pos-offline-card-reconcile.d.ts +67 -1
  322. package/src/lib/server/pos-offline-card-reconcile.js +215 -18
  323. package/src/lib/server/pos-offline-card-reconcile.js.map +1 -1
  324. package/src/lib/server/pos-offline-sync.d.ts +39 -0
  325. package/src/lib/server/pos-offline-sync.js +190 -55
  326. package/src/lib/server/pos-offline-sync.js.map +1 -1
  327. package/src/lib/server/pos-ops-gate.d.ts +28 -9
  328. package/src/lib/server/pos-ops-gate.js +50 -19
  329. package/src/lib/server/pos-ops-gate.js.map +1 -1
  330. package/src/lib/server/pos-ops-routes.js +24 -0
  331. package/src/lib/server/pos-ops-routes.js.map +1 -1
  332. package/src/lib/server/pos-order-refund-ids.d.ts +28 -0
  333. package/src/lib/server/pos-order-refund-ids.js +31 -0
  334. package/src/lib/server/pos-order-refund-ids.js.map +1 -0
  335. package/src/lib/server/pos-order.js +52 -49
  336. package/src/lib/server/pos-order.js.map +1 -1
  337. package/src/lib/server/pos-payment.js +1 -1
  338. package/src/lib/server/pos-payment.js.map +1 -1
  339. package/src/lib/server/pos-reader-splash-admin.js +30 -32
  340. package/src/lib/server/pos-reader-splash-admin.js.map +1 -1
  341. package/src/lib/server/pos-reader-splash-images-route.d.ts +17 -0
  342. package/src/lib/server/pos-reader-splash-images-route.js +113 -0
  343. package/src/lib/server/pos-reader-splash-images-route.js.map +1 -0
  344. package/src/lib/server/pos-reader-splash-images.d.ts +51 -0
  345. package/src/lib/server/pos-reader-splash-images.js +123 -0
  346. package/src/lib/server/pos-reader-splash-images.js.map +1 -0
  347. package/src/lib/server/pos-reader-splash.d.ts +68 -1
  348. package/src/lib/server/pos-reader-splash.js +182 -11
  349. package/src/lib/server/pos-reader-splash.js.map +1 -1
  350. package/src/lib/server/pos-readers.d.ts +29 -0
  351. package/src/lib/server/pos-readers.js +134 -35
  352. package/src/lib/server/pos-readers.js.map +1 -1
  353. package/src/lib/server/pos-refund-authority.d.ts +3 -1
  354. package/src/lib/server/pos-refund-authority.js +3 -2
  355. package/src/lib/server/pos-refund-authority.js.map +1 -1
  356. package/src/lib/server/pos-return.d.ts +10 -0
  357. package/src/lib/server/pos-return.js +29 -7
  358. package/src/lib/server/pos-return.js.map +1 -1
  359. package/src/lib/server/pos-sale.js +6 -1
  360. package/src/lib/server/pos-sale.js.map +1 -1
  361. package/src/lib/server/pos-shift.js +11 -0
  362. package/src/lib/server/pos-shift.js.map +1 -1
  363. package/src/lib/server/pos-staff-pin.js +29 -24
  364. package/src/lib/server/pos-staff-pin.js.map +1 -1
  365. package/src/lib/server/pos-terminal.d.ts +14 -4
  366. package/src/lib/server/pos-terminal.js +34 -38
  367. package/src/lib/server/pos-terminal.js.map +1 -1
  368. package/src/lib/server/printers.d.ts +7 -3
  369. package/src/lib/server/printers.js +18 -12
  370. package/src/lib/server/printers.js.map +1 -1
  371. package/src/lib/server/product-drafts.d.ts +11 -1
  372. package/src/lib/server/product-drafts.js +12 -8
  373. package/src/lib/server/product-drafts.js.map +1 -1
  374. package/src/lib/server/product.d.ts +15 -1
  375. package/src/lib/server/product.js +16 -3
  376. package/src/lib/server/product.js.map +1 -1
  377. package/src/lib/server/products-write.d.ts +26 -2
  378. package/src/lib/server/products-write.js +19 -7
  379. package/src/lib/server/products-write.js.map +1 -1
  380. package/src/lib/server/refund.js +55 -42
  381. package/src/lib/server/refund.js.map +1 -1
  382. package/src/lib/server/reservation-availability-query.d.ts +8 -0
  383. package/src/lib/server/reservation-availability-query.js +11 -1
  384. package/src/lib/server/reservation-availability-query.js.map +1 -1
  385. package/src/lib/server/reservation-availability.d.ts +1 -1
  386. package/src/lib/server/reservation-availability.js +7 -2
  387. package/src/lib/server/reservation-availability.js.map +1 -1
  388. package/src/lib/server/reservation-guests.d.ts +32 -0
  389. package/src/lib/server/reservation-guests.js +285 -0
  390. package/src/lib/server/reservation-guests.js.map +1 -0
  391. package/src/lib/server/reservation-walk-in.d.ts +11 -1
  392. package/src/lib/server/reservation-walk-in.js +56 -12
  393. package/src/lib/server/reservation-walk-in.js.map +1 -1
  394. package/src/lib/server/reserve.js +18 -5
  395. package/src/lib/server/reserve.js.map +1 -1
  396. package/src/lib/server/returns.js +9 -6
  397. package/src/lib/server/returns.js.map +1 -1
  398. package/src/lib/server/reviews.d.ts +22 -2
  399. package/src/lib/server/reviews.js +88 -20
  400. package/src/lib/server/reviews.js.map +1 -1
  401. package/src/lib/server/shipping-connectors.js +10 -11
  402. package/src/lib/server/shipping-connectors.js.map +1 -1
  403. package/src/lib/server/site-page-resolver.js +20 -3
  404. package/src/lib/server/site-page-resolver.js.map +1 -1
  405. package/src/lib/server/store-day.d.ts +33 -0
  406. package/src/lib/server/store-day.js +46 -0
  407. package/src/lib/server/store-day.js.map +1 -0
  408. package/src/lib/server/store-setup-ai-writer.d.ts +2 -1
  409. package/src/lib/server/store-setup-ai-writer.js +5 -6
  410. package/src/lib/server/store-setup-ai-writer.js.map +1 -1
  411. package/src/lib/server/storefront-tax.d.ts +13 -0
  412. package/src/lib/server/storefront-tax.js +8 -1
  413. package/src/lib/server/storefront-tax.js.map +1 -1
  414. package/src/lib/server/tax-return-source.d.ts +32 -3
  415. package/src/lib/server/tax-return-source.js +99 -20
  416. package/src/lib/server/tax-return-source.js.map +1 -1
  417. package/src/lib/server.js +100 -2
  418. package/src/lib/server.js.map +1 -1
  419. package/src/lib/testing/fake-firestore.js +58 -16
  420. package/src/lib/testing/fake-firestore.js.map +1 -1
  421. package/src/lib/testing/pos-ops-memory-firestore.js +18 -4
  422. package/src/lib/testing/pos-ops-memory-firestore.js.map +1 -1
  423. package/src/lib/testing/site-register-permissions.d.ts +29 -0
  424. package/src/lib/testing/site-register-permissions.js +38 -0
  425. package/src/lib/testing/site-register-permissions.js.map +1 -0
  426. package/src/lib/transfer/tracking.server.js +8 -5
  427. package/src/lib/transfer/tracking.server.js.map +1 -1
  428. package/src/lib/utils/add-to-cart.d.ts +2 -0
  429. package/src/lib/utils/add-to-cart.js +6 -3
  430. package/src/lib/utils/add-to-cart.js.map +1 -1
@@ -31,10 +31,12 @@ function variantLabel(variant) {
31
31
  }
32
32
  /**
33
33
  * Check-in at the window (AGL-4043): whether each item sold of this product
34
- * is somebody to check in on the day it was bought — a day pass, a camping
34
+ * is somebody to check in on the day it is for — a day pass, a camping
35
35
  * spot, parking — and how many people one item admits. A product with
36
36
  * options can turn it on or off per variant ("Spectator" needs no
37
- * wristband) and give a variant its own number of people.
37
+ * wristband) and give a variant its own number of people. "Ask the buyer
38
+ * which day" lets an online buyer pick the day (a pass bought ahead);
39
+ * without an answer it is the day they buy.
38
40
  *
39
41
  * Memoized on its own props like every section of this editor (AGL-3423).
40
42
  */ export const ProductCheckInFields = /*#__PURE__*/ memo(function ProductCheckInFields(props) {
@@ -42,6 +44,13 @@ function variantLabel(variant) {
42
44
  const { checkIn, variants, update } = props;
43
45
  const enabled = (checkIn == null ? void 0 : checkIn.enabled) === true;
44
46
  const headcount = (_ref = checkIn == null ? void 0 : checkIn.headcount) != null ? _ref : 1;
47
+ const askUseDate = (checkIn == null ? void 0 : checkIn.askUseDate) === true;
48
+ /** The product's setting with one part changed, keeping the others. */ const productOn = (patch)=>_extends({
49
+ enabled: true,
50
+ headcount
51
+ }, askUseDate ? {
52
+ askUseDate: true
53
+ } : {}, patch);
45
54
  const setProduct = (next)=>update({
46
55
  checkIn: next
47
56
  });
@@ -68,10 +77,7 @@ function variantLabel(variant) {
68
77
  /*#__PURE__*/ _jsx(FormControlLabel, {
69
78
  control: /*#__PURE__*/ _jsx(Switch, {
70
79
  checked: enabled,
71
- onChange: (event)=>setProduct(event.target.checked ? {
72
- enabled: true,
73
- headcount
74
- } : {
80
+ onChange: (event)=>setProduct(event.target.checked ? productOn({}) : {
75
81
  enabled: false
76
82
  })
77
83
  }),
@@ -80,16 +86,15 @@ function variantLabel(variant) {
80
86
  /*#__PURE__*/ _jsx(Typography, {
81
87
  variant: "body2",
82
88
  color: "text.secondary",
83
- children: 'Each one sold, online or at the register, is somebody to check in at the window on the day it was bought, ' + 'with an optional wristband number or color.'
89
+ children: 'Each one sold, online or at the register, is somebody to check in at the window on the day it is for, ' + 'with an optional wristband number or color.'
84
90
  }),
85
91
  enabled ? /*#__PURE__*/ _jsx(TextField, {
86
92
  label: "People per item",
87
93
  size: "small",
88
94
  value: headcount,
89
- onChange: (event)=>setProduct({
90
- enabled: true,
95
+ onChange: (event)=>setProduct(productOn({
91
96
  headcount: headcountFrom(event.target.value)
92
- }),
97
+ })),
93
98
  helperText: headcount > 1 ? `Buying 3 makes ${3 * headcount} check-ins` : 'Buying 3 makes 3 check-ins',
94
99
  slotProps: {
95
100
  htmlInput: {
@@ -100,6 +105,25 @@ function variantLabel(variant) {
100
105
  maxWidth: (theme)=>theme.spacing(28)
101
106
  }
102
107
  }) : null,
108
+ enabled ? /*#__PURE__*/ _jsx(FormControlLabel, {
109
+ control: /*#__PURE__*/ _jsx(Switch, {
110
+ checked: askUseDate,
111
+ onChange: (event)=>{
112
+ const _productOn = productOn({}), { askUseDate: _was } = _productOn, rest = _object_without_properties_loose(_productOn, [
113
+ "askUseDate"
114
+ ]);
115
+ setProduct(event.target.checked ? _extends({}, rest, {
116
+ askUseDate: true
117
+ }) : rest);
118
+ }
119
+ }),
120
+ label: "Ask the buyer which day"
121
+ }) : null,
122
+ enabled ? /*#__PURE__*/ _jsx(Typography, {
123
+ variant: "body2",
124
+ color: "text.secondary",
125
+ children: askUseDate ? 'Buyers online can pick the day they will use it, from today on. If they skip it, it is for the day they buy.' : 'It is for the day it is bought. Turn this on to sell passes ahead for a day the buyer picks.'
126
+ }) : null,
103
127
  variants.length > 1 ? variants.map((variant)=>{
104
128
  var _ref;
105
129
  const own = CommerceModel.normalizeProductCheckIn(variant.checkIn);
@@ -119,10 +143,12 @@ function variantLabel(variant) {
119
143
  onChange: (event)=>{
120
144
  var _ref;
121
145
  const picked = event.target.value;
122
- setVariant(variant.id, picked === 'product' ? undefined : picked === 'on' ? {
146
+ setVariant(variant.id, picked === 'product' ? undefined : picked === 'on' ? _extends({
123
147
  enabled: true,
124
148
  headcount: (_ref = own == null ? void 0 : own.headcount) != null ? _ref : headcount
125
- } : {
149
+ }, askUseDate ? {
150
+ askUseDate: true
151
+ } : {}) : {
126
152
  enabled: false
127
153
  });
128
154
  },
@@ -148,10 +174,12 @@ function variantLabel(variant) {
148
174
  label: "People per item",
149
175
  size: "small",
150
176
  value: (_ref = own == null ? void 0 : own.headcount) != null ? _ref : 1,
151
- onChange: (event)=>setVariant(variant.id, {
177
+ onChange: (event)=>setVariant(variant.id, _extends({
152
178
  enabled: true,
153
179
  headcount: headcountFrom(event.target.value)
154
- }),
180
+ }, (own == null ? void 0 : own.askUseDate) ? {
181
+ askUseDate: true
182
+ } : {})),
155
183
  slotProps: {
156
184
  htmlInput: {
157
185
  inputMode: 'numeric'
@@ -160,6 +188,24 @@ function variantLabel(variant) {
160
188
  sx: {
161
189
  flex: 1
162
190
  }
191
+ }) : null,
192
+ choice === 'on' ? /*#__PURE__*/ _jsx(FormControlLabel, {
193
+ control: /*#__PURE__*/ _jsx(Switch, {
194
+ checked: (own == null ? void 0 : own.askUseDate) === true,
195
+ onChange: (event)=>{
196
+ var _ref;
197
+ return setVariant(variant.id, _extends({
198
+ enabled: true,
199
+ headcount: (_ref = own == null ? void 0 : own.headcount) != null ? _ref : 1
200
+ }, event.target.checked ? {
201
+ askUseDate: true
202
+ } : {}));
203
+ }
204
+ }),
205
+ label: "Ask which day",
206
+ sx: {
207
+ flex: 1
208
+ }
163
209
  }) : null
164
210
  ]
165
211
  }, variant.id);
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../../../../../libs/plugins/commerce/src/lib/components/console/product-check-in-fields.component.tsx"],"sourcesContent":["/**\n * @license\n * Copyright 2026 Aglyn LLC\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n'use client'\n\nimport { FormControlLabel, MenuItem, Stack, Switch, TextField, Typography } from '@mui/material'\nimport { memo } from 'react'\nimport * as CommerceModel from '../../model'\n\ntype Patch = Partial<CommerceModel.HostProduct>\n\n/** What the section reads of a variant: never its price or SKU, so typing those does not redraw it. */\nexport type CheckInVariant = Pick<CommerceModel.ProductVariant, 'id' | 'options' | 'checkIn'>\n\nexport interface ProductCheckInFieldsProps {\n checkIn: CommerceModel.ProductCheckIn | undefined\n variants: readonly CheckInVariant[]\n update: (patch: Patch | ((at: CommerceModel.HostProduct) => Patch)) => void\n}\n\ntype VariantChoice = 'product' | 'on' | 'off'\n\n/** A whole number of people from 1 to the ceiling, from what was typed; blank is 1. */\nfunction headcountFrom(value: string): number {\n const count = Math.round(Number(value))\n return Number.isFinite(count) && count >= 1 ? Math.min(count, CommerceModel.CHECK_IN_MAX_HEADCOUNT) : 1\n}\n\nfunction variantLabel(variant: CheckInVariant): string {\n const values = Object.values(variant.options ?? {})\n return values.length ? values.join(' / ') : 'Default'\n}\n\n/**\n * Check-in at the window (AGL-4043): whether each item sold of this product\n * is somebody to check in on the day it was bought — a day pass, a camping\n * spot, parking — and how many people one item admits. A product with\n * options can turn it on or off per variant (\"Spectator\" needs no\n * wristband) and give a variant its own number of people.\n *\n * Memoized on its own props like every section of this editor (AGL-3423).\n */\nexport const ProductCheckInFields = memo(function ProductCheckInFields(props: ProductCheckInFieldsProps) {\n const { checkIn, variants, update } = props\n const enabled = checkIn?.enabled === true\n const headcount = checkIn?.headcount ?? 1\n\n const setProduct = (next: CommerceModel.ProductCheckIn) => update({ checkIn: next })\n // Written against the draft as it stands, so a price typed meanwhile is kept.\n const setVariant = (id: string, next: CommerceModel.ProductCheckIn | undefined) =>\n update((at) => ({\n variants: at.variants.map((variant) => {\n if (variant.id !== id) return variant\n const { checkIn: _previous, ...rest } = variant\n return next ? { ...rest, checkIn: next } : rest\n }),\n }))\n\n return (\n <Stack spacing={1.5}>\n <Typography variant=\"subtitle1\" component=\"h3\">\n {'Check-in'}\n </Typography>\n <FormControlLabel\n control={\n <Switch\n checked={enabled}\n onChange={(event) =>\n setProduct(event.target.checked ? { enabled: true, headcount } : { enabled: false })\n }\n />\n }\n label=\"Needs check-in\"\n />\n <Typography variant=\"body2\" color=\"text.secondary\">\n {'Each one sold, online or at the register, is somebody to check in at the window on the day it was bought, ' +\n 'with an optional wristband number or color.'}\n </Typography>\n {enabled ? (\n <TextField\n label=\"People per item\"\n size=\"small\"\n value={headcount}\n onChange={(event) => setProduct({ enabled: true, headcount: headcountFrom(event.target.value) })}\n helperText={headcount > 1 ? `Buying 3 makes ${3 * headcount} check-ins` : 'Buying 3 makes 3 check-ins'}\n slotProps={{ htmlInput: { inputMode: 'numeric' } }}\n sx={{ maxWidth: (theme) => theme.spacing(28) }}\n />\n ) : null}\n {variants.length > 1\n ? variants.map((variant) => {\n const own = CommerceModel.normalizeProductCheckIn(variant.checkIn)\n const choice: VariantChoice = own ? (own.enabled ? 'on' : 'off') : 'product'\n return (\n <Stack key={variant.id} direction={{ xs: 'column', sm: 'row' }} spacing={1}>\n <TextField\n select\n size=\"small\"\n label={variantLabel(variant)}\n value={choice}\n onChange={(event) => {\n const picked = event.target.value as VariantChoice\n setVariant(\n variant.id,\n picked === 'product'\n ? undefined\n : picked === 'on'\n ? { enabled: true, headcount: own?.headcount ?? headcount }\n : { enabled: false },\n )\n }}\n sx={{ flex: 1 }}\n >\n <MenuItem value=\"product\">{enabled ? 'Same as the product (needs check-in)' : 'Same as the product (no check-in)'}</MenuItem>\n <MenuItem value=\"on\">{'Needs check-in'}</MenuItem>\n <MenuItem value=\"off\">{'No check-in'}</MenuItem>\n </TextField>\n {choice === 'on' ? (\n <TextField\n label=\"People per item\"\n size=\"small\"\n value={own?.headcount ?? 1}\n onChange={(event) =>\n setVariant(variant.id, { enabled: true, headcount: headcountFrom(event.target.value) })\n }\n slotProps={{ htmlInput: { inputMode: 'numeric' } }}\n sx={{ flex: 1 }}\n />\n ) : null}\n </Stack>\n )\n })\n : null}\n </Stack>\n )\n})\n\nProductCheckInFields.displayName = 'ProductCheckInFields'\n"],"names":["FormControlLabel","MenuItem","Stack","Switch","TextField","Typography","memo","CommerceModel","headcountFrom","value","count","Math","round","Number","isFinite","min","CHECK_IN_MAX_HEADCOUNT","variantLabel","variant","values","Object","options","length","join","ProductCheckInFields","props","checkIn","variants","update","enabled","headcount","setProduct","next","setVariant","id","at","map","_previous","rest","spacing","component","control","checked","onChange","event","target","label","color","size","helperText","slotProps","htmlInput","inputMode","sx","maxWidth","theme","own","normalizeProductCheckIn","choice","direction","xs","sm","select","picked","undefined","flex","displayName"],"mappings":"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"}
1
+ {"version":3,"sources":["../../../../../../../../libs/plugins/commerce/src/lib/components/console/product-check-in-fields.component.tsx"],"sourcesContent":["/**\n * @license\n * Copyright 2026 Aglyn LLC\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n'use client'\n\nimport { FormControlLabel, MenuItem, Stack, Switch, TextField, Typography } from '@mui/material'\nimport { memo } from 'react'\nimport * as CommerceModel from '../../model'\n\ntype Patch = Partial<CommerceModel.HostProduct>\n\n/** What the section reads of a variant: never its price or SKU, so typing those does not redraw it. */\nexport type CheckInVariant = Pick<CommerceModel.ProductVariant, 'id' | 'options' | 'checkIn'>\n\nexport interface ProductCheckInFieldsProps {\n checkIn: CommerceModel.ProductCheckIn | undefined\n variants: readonly CheckInVariant[]\n update: (patch: Patch | ((at: CommerceModel.HostProduct) => Patch)) => void\n}\n\ntype VariantChoice = 'product' | 'on' | 'off'\n\n/** A whole number of people from 1 to the ceiling, from what was typed; blank is 1. */\nfunction headcountFrom(value: string): number {\n const count = Math.round(Number(value))\n return Number.isFinite(count) && count >= 1 ? Math.min(count, CommerceModel.CHECK_IN_MAX_HEADCOUNT) : 1\n}\n\nfunction variantLabel(variant: CheckInVariant): string {\n const values = Object.values(variant.options ?? {})\n return values.length ? values.join(' / ') : 'Default'\n}\n\n/**\n * Check-in at the window (AGL-4043): whether each item sold of this product\n * is somebody to check in on the day it is for — a day pass, a camping\n * spot, parking — and how many people one item admits. A product with\n * options can turn it on or off per variant (\"Spectator\" needs no\n * wristband) and give a variant its own number of people. \"Ask the buyer\n * which day\" lets an online buyer pick the day (a pass bought ahead);\n * without an answer it is the day they buy.\n *\n * Memoized on its own props like every section of this editor (AGL-3423).\n */\nexport const ProductCheckInFields = memo(function ProductCheckInFields(props: ProductCheckInFieldsProps) {\n const { checkIn, variants, update } = props\n const enabled = checkIn?.enabled === true\n const headcount = checkIn?.headcount ?? 1\n const askUseDate = checkIn?.askUseDate === true\n /** The product's setting with one part changed, keeping the others. */\n const productOn = (patch: Partial<CommerceModel.ProductCheckIn>): CommerceModel.ProductCheckIn => ({\n enabled: true,\n headcount,\n ...(askUseDate ? { askUseDate: true } : {}),\n ...patch,\n })\n\n const setProduct = (next: CommerceModel.ProductCheckIn) => update({ checkIn: next })\n // Written against the draft as it stands, so a price typed meanwhile is kept.\n const setVariant = (id: string, next: CommerceModel.ProductCheckIn | undefined) =>\n update((at) => ({\n variants: at.variants.map((variant) => {\n if (variant.id !== id) return variant\n const { checkIn: _previous, ...rest } = variant\n return next ? { ...rest, checkIn: next } : rest\n }),\n }))\n\n return (\n <Stack spacing={1.5}>\n <Typography variant=\"subtitle1\" component=\"h3\">\n {'Check-in'}\n </Typography>\n <FormControlLabel\n control={\n <Switch\n checked={enabled}\n onChange={(event) => setProduct(event.target.checked ? productOn({}) : { enabled: false })}\n />\n }\n label=\"Needs check-in\"\n />\n <Typography variant=\"body2\" color=\"text.secondary\">\n {'Each one sold, online or at the register, is somebody to check in at the window on the day it is for, ' +\n 'with an optional wristband number or color.'}\n </Typography>\n {enabled ? (\n <TextField\n label=\"People per item\"\n size=\"small\"\n value={headcount}\n onChange={(event) => setProduct(productOn({ headcount: headcountFrom(event.target.value) }))}\n helperText={headcount > 1 ? `Buying 3 makes ${3 * headcount} check-ins` : 'Buying 3 makes 3 check-ins'}\n slotProps={{ htmlInput: { inputMode: 'numeric' } }}\n sx={{ maxWidth: (theme) => theme.spacing(28) }}\n />\n ) : null}\n {enabled ? (\n <FormControlLabel\n control={\n <Switch\n checked={askUseDate}\n onChange={(event) => {\n const { askUseDate: _was, ...rest } = productOn({})\n setProduct(event.target.checked ? { ...rest, askUseDate: true } : rest)\n }}\n />\n }\n label=\"Ask the buyer which day\"\n />\n ) : null}\n {enabled ? (\n <Typography variant=\"body2\" color=\"text.secondary\">\n {askUseDate\n ? 'Buyers online can pick the day they will use it, from today on. If they skip it, it is for the day they buy.'\n : 'It is for the day it is bought. Turn this on to sell passes ahead for a day the buyer picks.'}\n </Typography>\n ) : null}\n {variants.length > 1\n ? variants.map((variant) => {\n const own = CommerceModel.normalizeProductCheckIn(variant.checkIn)\n const choice: VariantChoice = own ? (own.enabled ? 'on' : 'off') : 'product'\n return (\n <Stack key={variant.id} direction={{ xs: 'column', sm: 'row' }} spacing={1}>\n <TextField\n select\n size=\"small\"\n label={variantLabel(variant)}\n value={choice}\n onChange={(event) => {\n const picked = event.target.value as VariantChoice\n setVariant(\n variant.id,\n picked === 'product'\n ? undefined\n : picked === 'on'\n ? {\n enabled: true,\n headcount: own?.headcount ?? headcount,\n ...(askUseDate ? { askUseDate: true } : {}),\n }\n : { enabled: false },\n )\n }}\n sx={{ flex: 1 }}\n >\n <MenuItem value=\"product\">{enabled ? 'Same as the product (needs check-in)' : 'Same as the product (no check-in)'}</MenuItem>\n <MenuItem value=\"on\">{'Needs check-in'}</MenuItem>\n <MenuItem value=\"off\">{'No check-in'}</MenuItem>\n </TextField>\n {choice === 'on' ? (\n <TextField\n label=\"People per item\"\n size=\"small\"\n value={own?.headcount ?? 1}\n onChange={(event) =>\n setVariant(variant.id, {\n enabled: true,\n headcount: headcountFrom(event.target.value),\n ...(own?.askUseDate ? { askUseDate: true } : {}),\n })\n }\n slotProps={{ htmlInput: { inputMode: 'numeric' } }}\n sx={{ flex: 1 }}\n />\n ) : null}\n {choice === 'on' ? (\n <FormControlLabel\n control={\n <Switch\n checked={own?.askUseDate === true}\n onChange={(event) =>\n setVariant(variant.id, {\n enabled: true,\n headcount: own?.headcount ?? 1,\n ...(event.target.checked ? { askUseDate: true } : {}),\n })\n }\n />\n }\n label=\"Ask which day\"\n sx={{ flex: 1 }}\n />\n ) : null}\n </Stack>\n )\n })\n : null}\n </Stack>\n )\n})\n\nProductCheckInFields.displayName = 'ProductCheckInFields'\n"],"names":["FormControlLabel","MenuItem","Stack","Switch","TextField","Typography","memo","CommerceModel","headcountFrom","value","count","Math","round","Number","isFinite","min","CHECK_IN_MAX_HEADCOUNT","variantLabel","variant","values","Object","options","length","join","ProductCheckInFields","props","checkIn","variants","update","enabled","headcount","askUseDate","productOn","patch","setProduct","next","setVariant","id","at","map","_previous","rest","spacing","component","control","checked","onChange","event","target","label","color","size","helperText","slotProps","htmlInput","inputMode","sx","maxWidth","theme","_was","own","normalizeProductCheckIn","choice","direction","xs","sm","select","picked","undefined","flex","displayName"],"mappings":"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"}
@@ -18,13 +18,14 @@ import { _ as _extends } from "@swc/helpers/_/_extends";
18
18
  import { _ as _object_without_properties_loose } from "@swc/helpers/_/_object_without_properties_loose";
19
19
  import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
20
20
  import * as CommerceModel from "../../model/index.js";
21
+ import { productOfferedOnKiosk } from "../../model/commerce-kiosk-offer.js";
21
22
  import { useSnackbar } from "@aglyn/shared-ui-snackstack";
22
23
  import { Timestamp } from "@aglyn/shared-util-timestamp";
23
24
  import { Alert, Autocomplete, Box, Button, Dialog, DialogActions, DialogContent, DialogTitle, Divider, IconButton, MenuItem, Stack, TableBody, TableCell, TableHead, TableRow, TextField, Typography } from "@mui/material";
24
25
  import { collection, doc, getDoc } from "firebase/firestore";
25
26
  import { ScanAdornment } from "../../barcode/scan-button.component.js";
26
27
  import { productCollectionFields } from "./smart-collections.js";
27
- import { memo, useCallback, useMemo, useRef, useState } from "react";
28
+ import { lazy, memo, Suspense, useCallback, useMemo, useRef, useState } from "react";
28
29
  import { ceilingedWindow, collectionCeiling, useFirestore, useFirestoreCollection, useHostResourceApi, writeGuardedBySeed, useUser } from "@aglyn/tenant-feature-instance";
29
30
  import { writeSiteWideChange } from "@aglyn/tenant-feature-instance/hooks/helpers/site-wide-change";
30
31
  import { useMediaPicker } from "@aglyn/aglyn";
@@ -37,6 +38,12 @@ import { PRODUCT_EDITOR_ZONE } from "./product-zones.js";
37
38
  import { MembersVideosField, PaidDownloadAddButton, PaidMediaProtection } from "./paid-media.js";
38
39
  import { ProductCheckInFields } from "./product-check-in-fields.component.js";
39
40
  import { ProductRegisterFields, ProductSellOnlineField } from "./product-register-fields.component.js";
41
+ import { ProductKioskOfferField } from "./product-kiosk-offer-field.component.js";
42
+ /**
43
+ * The platform's own store's "Point of sale hardware" choice (AGL-4038),
44
+ * loaded only when the register section is drawn; it asks the server whether
45
+ * this store is the hardware seller and draws nothing anywhere else.
46
+ */ const ProductHardwareSkuField = /*#__PURE__*/ lazy(()=>import("./product-hardware-sku-field.component.js"));
40
47
  /**
41
48
  * What each picker in this dialog will offer.
42
49
  *
@@ -1213,6 +1220,23 @@ const MemoPaidDownloadAddButton = /*#__PURE__*/ memo(PaidDownloadAddButton);
1213
1220
  [
1214
1221
  checkInVariantsKey
1215
1222
  ]);
1223
+ // The kiosk choice's view of the variants (AGL-4038), kept apart the same way.
1224
+ const kioskVariantsKey = JSON.stringify(current.variants.map((variant)=>{
1225
+ var _variant_options, _variant_offerOnKiosk;
1226
+ return [
1227
+ variant.id,
1228
+ (_variant_options = variant.options) != null ? _variant_options : null,
1229
+ (_variant_offerOnKiosk = variant.offerOnKiosk) != null ? _variant_offerOnKiosk : null
1230
+ ];
1231
+ }));
1232
+ const kioskVariants = useMemo(()=>current.variants.map(({ id, options, offerOnKiosk })=>({
1233
+ id,
1234
+ options,
1235
+ offerOnKiosk
1236
+ })), // eslint-disable-next-line react-hooks/exhaustive-deps
1237
+ [
1238
+ kioskVariantsKey
1239
+ ]);
1216
1240
  const setTags = useCallback((tags)=>update({
1217
1241
  tags: tags.map((tag)=>String(tag).trim()).filter(Boolean)
1218
1242
  }), [
@@ -1602,6 +1626,10 @@ const MemoPaidDownloadAddButton = /*#__PURE__*/ memo(PaidDownloadAddButton);
1602
1626
  gap: 2
1603
1627
  },
1604
1628
  children: [
1629
+ CommerceModel.productIsSample(current) ? /*#__PURE__*/ _jsx(Alert, {
1630
+ severity: "info",
1631
+ children: CommerceModel.PRODUCT_SAMPLE_NOTE
1632
+ }) : null,
1605
1633
  /*#__PURE__*/ _jsx(ProductBasicsFields, {
1606
1634
  name: current.name,
1607
1635
  slug: current.slug,
@@ -1708,9 +1736,23 @@ const MemoPaidDownloadAddButton = /*#__PURE__*/ memo(PaidDownloadAddButton);
1708
1736
  /*#__PURE__*/ _jsx(ProductRegisterFields, {
1709
1737
  posQuickKey: Boolean(current.posQuickKey),
1710
1738
  sellOnline: CommerceModel.productSellsOnline(current),
1739
+ inStoreReviews: current.inStoreReviews,
1711
1740
  modifierGroups: (_current_modifierGroups = current.modifierGroups) != null ? _current_modifierGroups : NO_MODIFIER_GROUPS,
1712
1741
  update: update
1713
1742
  }),
1743
+ /*#__PURE__*/ _jsx(ProductKioskOfferField, {
1744
+ offerOnKiosk: productOfferedOnKiosk(current),
1745
+ variants: kioskVariants,
1746
+ update: update
1747
+ }),
1748
+ /*#__PURE__*/ _jsx(Suspense, {
1749
+ fallback: null,
1750
+ children: /*#__PURE__*/ _jsx(ProductHardwareSkuField, {
1751
+ hostId: hostId,
1752
+ hardwareSku: current.hardwareSku,
1753
+ update: update
1754
+ })
1755
+ }),
1714
1756
  /*#__PURE__*/ _jsx(ProductCheckInFields, {
1715
1757
  checkIn: current.checkIn,
1716
1758
  variants: checkInVariants,
@@ -1726,6 +1768,7 @@ const MemoPaidDownloadAddButton = /*#__PURE__*/ memo(PaidDownloadAddButton);
1726
1768
  }),
1727
1769
  !CommerceModel.productSellsOnline(current) ? /*#__PURE__*/ _jsx(ProductSellOnlineField, {
1728
1770
  sellOnline: false,
1771
+ inStoreReviews: current.inStoreReviews,
1729
1772
  update: update
1730
1773
  }) : null
1731
1774
  ]