@aglyn/plugins-commerce 1.0.0-beta.285 → 1.0.0-beta.287
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.
- package/README.md +1 -1
- package/package.json +13 -13
- package/src/lib/components/cart.js +25 -12
- package/src/lib/components/cart.js.map +1 -1
- package/src/lib/components/commerce-console-page.js +70 -13
- package/src/lib/components/commerce-console-page.js.map +1 -1
- package/src/lib/components/console/order-detail-dialog.component.js +2 -1
- package/src/lib/components/console/order-detail-dialog.component.js.map +1 -1
- package/src/lib/components/console/payment-methods-card.component.js +1 -1
- package/src/lib/components/console/payment-methods-card.component.js.map +1 -1
- package/src/lib/components/console/pos/pos-cart-panel.component.d.ts +5 -0
- package/src/lib/components/console/pos/pos-cart-panel.component.js +18 -12
- package/src/lib/components/console/pos/pos-cart-panel.component.js.map +1 -1
- package/src/lib/components/console/pos/pos-hardware-api.d.ts +76 -5
- package/src/lib/components/console/pos/pos-hardware-api.js +53 -11
- package/src/lib/components/console/pos/pos-hardware-api.js.map +1 -1
- package/src/lib/components/console/pos/pos-hardware-buyer.component.d.ts +18 -0
- package/src/lib/components/console/pos/pos-hardware-buyer.component.js +629 -0
- package/src/lib/components/console/pos/pos-hardware-buyer.component.js.map +1 -0
- package/src/lib/components/console/pos/pos-hardware-sale-api.d.ts +162 -0
- package/src/lib/components/console/pos/pos-hardware-sale-api.js +122 -0
- package/src/lib/components/console/pos/pos-hardware-sale-api.js.map +1 -0
- package/src/lib/components/console/pos/pos-hardware-sale-terms.component.d.ts +39 -0
- package/src/lib/components/console/pos/pos-hardware-sale-terms.component.js +251 -0
- package/src/lib/components/console/pos/pos-hardware-sale-terms.component.js.map +1 -0
- package/src/lib/components/console/pos/use-pos-display.js +50 -0
- package/src/lib/components/console/pos/use-pos-display.js.map +1 -1
- package/src/lib/components/console/pos-cellular-control.component.d.ts +41 -0
- package/src/lib/components/console/pos-cellular-control.component.js +211 -0
- package/src/lib/components/console/pos-cellular-control.component.js.map +1 -0
- package/src/lib/components/console/pos-devices-card.component.d.ts +9 -1
- package/src/lib/components/console/pos-devices-card.component.js +47 -15
- package/src/lib/components/console/pos-devices-card.component.js.map +1 -1
- package/src/lib/components/console/pos-display/pos-display-api.d.ts +6 -0
- package/src/lib/components/console/pos-display/pos-display-api.js +8 -1
- package/src/lib/components/console/pos-display/pos-display-api.js.map +1 -1
- package/src/lib/components/console/pos-display-page.component.d.ts +13 -0
- package/src/lib/components/console/pos-display-page.component.js +44 -2
- package/src/lib/components/console/pos-display-page.component.js.map +1 -1
- package/src/lib/components/console/pos-hardware-card.component.d.ts +12 -4
- package/src/lib/components/console/pos-hardware-card.component.js +157 -36
- package/src/lib/components/console/pos-hardware-card.component.js.map +1 -1
- package/src/lib/components/console/pos-hardware-orders-staff-page.component.js +360 -80
- package/src/lib/components/console/pos-hardware-orders-staff-page.component.js.map +1 -1
- package/src/lib/components/console/pos-hardware-terms-page.component.d.ts +34 -0
- package/src/lib/components/console/pos-hardware-terms-page.component.js +257 -0
- package/src/lib/components/console/pos-hardware-terms-page.component.js.map +1 -0
- package/src/lib/components/console/pos-hardware-terms-sign-page.component.d.ts +27 -0
- package/src/lib/components/console/pos-hardware-terms-sign-page.component.js +104 -0
- package/src/lib/components/console/pos-hardware-terms-sign-page.component.js.map +1 -0
- package/src/lib/components/console/pos-hardware-waiting-card.component.d.ts +24 -0
- package/src/lib/components/console/pos-hardware-waiting-card.component.js +205 -0
- package/src/lib/components/console/pos-hardware-waiting-card.component.js.map +1 -0
- package/src/lib/components/console/pos-ops/pos-check-in-dialog.component.js +297 -201
- package/src/lib/components/console/pos-ops/pos-check-in-dialog.component.js.map +1 -1
- package/src/lib/components/console/pos-ops/pos-check-ins-card.component.d.ts +3 -0
- package/src/lib/components/console/pos-ops/pos-check-ins-card.component.js +260 -92
- package/src/lib/components/console/pos-ops/pos-check-ins-card.component.js.map +1 -1
- package/src/lib/components/console/pos-ops/pos-operations-bar.component.d.ts +9 -0
- package/src/lib/components/console/pos-ops/pos-operations-bar.component.js +15 -6
- package/src/lib/components/console/pos-ops/pos-operations-bar.component.js.map +1 -1
- package/src/lib/components/console/pos-ops/pos-rain-check-dialog.component.d.ts +25 -0
- package/src/lib/components/console/pos-ops/pos-rain-check-dialog.component.js +136 -0
- package/src/lib/components/console/pos-ops/pos-rain-check-dialog.component.js.map +1 -0
- package/src/lib/components/console/pos-ops/pos-shift-panel.component.d.ts +6 -0
- package/src/lib/components/console/pos-ops/pos-shift-panel.component.js +48 -31
- package/src/lib/components/console/pos-ops/pos-shift-panel.component.js.map +1 -1
- package/src/lib/components/console/pos-page.component.d.ts +1 -1
- package/src/lib/components/console/pos-page.component.js +63 -12
- package/src/lib/components/console/pos-page.component.js.map +1 -1
- package/src/lib/components/console/pos-reader-splash-setting.component.js +1 -1
- package/src/lib/components/console/pos-reader-splash-setting.component.js.map +1 -1
- package/src/lib/components/console/product-check-in-fields.component.d.ts +4 -2
- package/src/lib/components/console/product-check-in-fields.component.js +60 -14
- package/src/lib/components/console/product-check-in-fields.component.js.map +1 -1
- package/src/lib/components/console/product-editor-dialog.component.js +44 -1
- package/src/lib/components/console/product-editor-dialog.component.js.map +1 -1
- package/src/lib/components/console/product-hardware-sku-field.component.d.ts +19 -0
- package/src/lib/components/console/product-hardware-sku-field.component.js +92 -0
- package/src/lib/components/console/product-hardware-sku-field.component.js.map +1 -0
- package/src/lib/components/console/product-kiosk-offer-field.component.d.ts +22 -0
- package/src/lib/components/console/product-kiosk-offer-field.component.js +94 -0
- package/src/lib/components/console/product-kiosk-offer-field.component.js.map +1 -0
- package/src/lib/components/console/product-register-fields.component.d.ts +4 -0
- package/src/lib/components/console/product-register-fields.component.js +31 -2
- package/src/lib/components/console/product-register-fields.component.js.map +1 -1
- package/src/lib/components/console/products-hub-card.component.js +11 -2
- package/src/lib/components/console/products-hub-card.component.js.map +1 -1
- package/src/lib/components/console/register-hardware-card.component.d.ts +11 -0
- package/src/lib/components/console/register-hardware-card.component.js +56 -27
- package/src/lib/components/console/register-hardware-card.component.js.map +1 -1
- package/src/lib/components/console/reservation-guests-dialog.component.d.ts +28 -0
- package/src/lib/components/console/reservation-guests-dialog.component.js +189 -0
- package/src/lib/components/console/reservation-guests-dialog.component.js.map +1 -0
- package/src/lib/components/console/reservations-card.component.d.ts +9 -0
- package/src/lib/components/console/reservations-card.component.js +158 -23
- package/src/lib/components/console/reservations-card.component.js.map +1 -1
- package/src/lib/components/console/shippingeasy-card.component.js +1 -1
- package/src/lib/components/console/shippingeasy-card.component.js.map +1 -1
- package/src/lib/components/console/shipstation-card.component.d.ts +1 -1
- package/src/lib/components/console/shipstation-card.component.js +3 -3
- package/src/lib/components/console/shipstation-card.component.js.map +1 -1
- package/src/lib/components/product-detail.d.ts +4 -0
- package/src/lib/components/product-detail.js +40 -5
- package/src/lib/components/product-detail.js.map +1 -1
- package/src/lib/components/product-reviews.js +28 -11
- package/src/lib/components/product-reviews.js.map +1 -1
- package/src/lib/components/reservation-widget.js +28 -5
- package/src/lib/components/reservation-widget.js.map +1 -1
- package/src/lib/components/use-day-picker.d.ts +25 -0
- package/src/lib/components/use-day-picker.js +57 -0
- package/src/lib/components/use-day-picker.js.map +1 -0
- package/src/lib/constants/operator-alerts.d.ts +55 -0
- package/src/lib/constants/operator-alerts.js +156 -1
- package/src/lib/constants/operator-alerts.js.map +1 -1
- package/src/lib/declarations.console-server.js +54 -1
- package/src/lib/declarations.console-server.js.map +1 -1
- package/src/lib/declarations.d.ts +4 -2
- package/src/lib/declarations.js +11 -4
- package/src/lib/declarations.js.map +1 -1
- package/src/lib/declarations.server.js +9 -0
- package/src/lib/declarations.server.js.map +1 -1
- package/src/lib/model/commerce-cart.d.ts +9 -1
- package/src/lib/model/commerce-cart.js +4 -3
- package/src/lib/model/commerce-cart.js.map +1 -1
- package/src/lib/model/commerce-check-in-product.d.ts +26 -0
- package/src/lib/model/commerce-check-in-product.js +64 -2
- package/src/lib/model/commerce-check-in-product.js.map +1 -1
- package/src/lib/model/commerce-check-in-record.d.ts +127 -0
- package/src/lib/model/commerce-check-in-record.js +36 -0
- package/src/lib/model/commerce-check-in-record.js.map +1 -0
- package/src/lib/model/commerce-check-in.d.ts +91 -87
- package/src/lib/model/commerce-check-in.js +186 -62
- package/src/lib/model/commerce-check-in.js.map +1 -1
- package/src/lib/model/commerce-kiosk-offer.d.ts +31 -0
- package/src/lib/model/commerce-kiosk-offer.js +35 -0
- package/src/lib/model/commerce-kiosk-offer.js.map +1 -0
- package/src/lib/model/commerce-orders.d.ts +76 -0
- package/src/lib/model/commerce-orders.js +6 -0
- package/src/lib/model/commerce-orders.js.map +1 -1
- package/src/lib/model/commerce-pos-day-report.d.ts +54 -1
- package/src/lib/model/commerce-pos-day-report.js +39 -2
- package/src/lib/model/commerce-pos-day-report.js.map +1 -1
- package/src/lib/model/commerce-pos-offline.d.ts +1 -1
- package/src/lib/model/commerce-pos-offline.js +6 -1
- package/src/lib/model/commerce-pos-offline.js.map +1 -1
- package/src/lib/model/commerce-pos-ops.js +3 -2
- package/src/lib/model/commerce-pos-ops.js.map +1 -1
- package/src/lib/model/commerce-pos.d.ts +36 -3
- package/src/lib/model/commerce-pos.js +14 -6
- package/src/lib/model/commerce-pos.js.map +1 -1
- package/src/lib/model/commerce-receipt.js +3 -2
- package/src/lib/model/commerce-receipt.js.map +1 -1
- package/src/lib/model/commerce-reservations.d.ts +69 -4
- package/src/lib/model/commerce-reservations.js +57 -5
- package/src/lib/model/commerce-reservations.js.map +1 -1
- package/src/lib/model/commerce.d.ts +66 -0
- package/src/lib/model/commerce.js +15 -0
- package/src/lib/model/commerce.js.map +1 -1
- package/src/lib/model/order-list-fields.d.ts +11 -0
- package/src/lib/model/order-list-fields.js +17 -1
- package/src/lib/model/order-list-fields.js.map +1 -1
- package/src/lib/model/own-store-tax-summary.d.ts +152 -0
- package/src/lib/model/own-store-tax-summary.js +288 -0
- package/src/lib/model/own-store-tax-summary.js.map +1 -0
- package/src/lib/model/plugin-permissions.d.ts +67 -0
- package/src/lib/model/plugin-permissions.js +224 -7
- package/src/lib/model/plugin-permissions.js.map +1 -1
- package/src/lib/model/pos-cellular.d.ts +223 -0
- package/src/lib/model/pos-cellular.js +293 -0
- package/src/lib/model/pos-cellular.js.map +1 -0
- package/src/lib/model/pos-hardware-in-person.d.ts +98 -0
- package/src/lib/model/pos-hardware-in-person.js +224 -0
- package/src/lib/model/pos-hardware-in-person.js.map +1 -0
- package/src/lib/model/pos-hardware-tax-summary.d.ts +166 -0
- package/src/lib/model/pos-hardware-tax-summary.js +225 -0
- package/src/lib/model/pos-hardware-tax-summary.js.map +1 -0
- package/src/lib/model/pos-hardware-terms.d.ts +74 -0
- package/src/lib/model/pos-hardware-terms.js +115 -0
- package/src/lib/model/pos-hardware-terms.js.map +1 -0
- package/src/lib/model/pos-hardware.d.ts +349 -7
- package/src/lib/model/pos-hardware.js +291 -20
- package/src/lib/model/pos-hardware.js.map +1 -1
- package/src/lib/model/product-write.d.ts +10 -0
- package/src/lib/model/product-write.js +4 -2
- package/src/lib/model/product-write.js.map +1 -1
- package/src/lib/plugin.js +16 -0
- package/src/lib/plugin.js.map +1 -1
- package/src/lib/server/billing-webhook.js +25 -1
- package/src/lib/server/billing-webhook.js.map +1 -1
- package/src/lib/server/cancel-order.js +7 -5
- package/src/lib/server/cancel-order.js.map +1 -1
- package/src/lib/server/cart-checkout.js +20 -8
- package/src/lib/server/cart-checkout.js.map +1 -1
- package/src/lib/server/cart.js +29 -0
- package/src/lib/server/cart.js.map +1 -1
- package/src/lib/server/checkout.js +42 -13
- package/src/lib/server/checkout.js.map +1 -1
- package/src/lib/server/collection-membership.d.ts +4 -0
- package/src/lib/server/collection-membership.js +5 -10
- package/src/lib/server/collection-membership.js.map +1 -1
- package/src/lib/server/commerce-site-keys.d.ts +29 -0
- package/src/lib/server/commerce-site-keys.js +40 -0
- package/src/lib/server/commerce-site-keys.js.map +1 -0
- package/src/lib/server/draft-order.js +8 -5
- package/src/lib/server/draft-order.js.map +1 -1
- package/src/lib/server/fulfill-order.js +7 -5
- package/src/lib/server/fulfill-order.js.map +1 -1
- package/src/lib/server/gift-cards.js +8 -5
- package/src/lib/server/gift-cards.js.map +1 -1
- package/src/lib/server/local-fulfillment-status.js +9 -6
- package/src/lib/server/local-fulfillment-status.js.map +1 -1
- package/src/lib/server/member-post.js +6 -5
- package/src/lib/server/member-post.js.map +1 -1
- package/src/lib/server/membership-admin-password.d.ts +4 -2
- package/src/lib/server/membership-admin-password.js +10 -8
- package/src/lib/server/membership-admin-password.js.map +1 -1
- package/src/lib/server/membership-admin-remove.d.ts +7 -5
- package/src/lib/server/membership-admin-remove.js +9 -9
- package/src/lib/server/membership-admin-remove.js.map +1 -1
- package/src/lib/server/order-notifications.js +5 -2
- package/src/lib/server/order-notifications.js.map +1 -1
- package/src/lib/server/order-print.js +7 -5
- package/src/lib/server/order-print.js.map +1 -1
- package/src/lib/server/order-receipt-send.js +8 -5
- package/src/lib/server/order-receipt-send.js.map +1 -1
- package/src/lib/server/orders-shipping-prepare.js +9 -6
- package/src/lib/server/orders-shipping-prepare.js.map +1 -1
- package/src/lib/server/own-store-tax-return-source.d.ts +47 -0
- package/src/lib/server/own-store-tax-return-source.js +312 -0
- package/src/lib/server/own-store-tax-return-source.js.map +1 -0
- package/src/lib/server/payment-methods.js +13 -9
- package/src/lib/server/payment-methods.js.map +1 -1
- package/src/lib/server/pos-auth.d.ts +37 -6
- package/src/lib/server/pos-auth.js +40 -15
- package/src/lib/server/pos-auth.js.map +1 -1
- package/src/lib/server/pos-cellular-billing.d.ts +81 -0
- package/src/lib/server/pos-cellular-billing.js +711 -0
- package/src/lib/server/pos-cellular-billing.js.map +1 -0
- package/src/lib/server/pos-cellular-notify.d.ts +47 -0
- package/src/lib/server/pos-cellular-notify.js +150 -0
- package/src/lib/server/pos-cellular-notify.js.map +1 -0
- package/src/lib/server/pos-cellular.d.ts +88 -0
- package/src/lib/server/pos-cellular.js +339 -0
- package/src/lib/server/pos-cellular.js.map +1 -0
- package/src/lib/server/pos-check-in.d.ts +5 -1
- package/src/lib/server/pos-check-in.js +296 -28
- package/src/lib/server/pos-check-in.js.map +1 -1
- package/src/lib/server/pos-day-report.js +29 -3
- package/src/lib/server/pos-day-report.js.map +1 -1
- package/src/lib/server/pos-display.d.ts +16 -0
- package/src/lib/server/pos-display.js +129 -2
- package/src/lib/server/pos-display.js.map +1 -1
- package/src/lib/server/pos-hardware-admin.d.ts +10 -1
- package/src/lib/server/pos-hardware-admin.js +250 -84
- package/src/lib/server/pos-hardware-admin.js.map +1 -1
- package/src/lib/server/pos-hardware-attach.d.ts +105 -0
- package/src/lib/server/pos-hardware-attach.js +443 -0
- package/src/lib/server/pos-hardware-attach.js.map +1 -0
- package/src/lib/server/pos-hardware-buyer-lookup.d.ts +58 -0
- package/src/lib/server/pos-hardware-buyer-lookup.js +180 -0
- package/src/lib/server/pos-hardware-buyer-lookup.js.map +1 -0
- package/src/lib/server/pos-hardware-buyer-record.d.ts +29 -0
- package/src/lib/server/pos-hardware-buyer-record.js +86 -0
- package/src/lib/server/pos-hardware-buyer-record.js.map +1 -0
- package/src/lib/server/pos-hardware-cancel.d.ts +58 -0
- package/src/lib/server/pos-hardware-cancel.js +147 -0
- package/src/lib/server/pos-hardware-cancel.js.map +1 -0
- package/src/lib/server/pos-hardware-closure-notices.d.ts +27 -0
- package/src/lib/server/pos-hardware-closure-notices.js +85 -0
- package/src/lib/server/pos-hardware-closure-notices.js.map +1 -0
- package/src/lib/server/pos-hardware-closure.d.ts +60 -0
- package/src/lib/server/pos-hardware-closure.js +153 -0
- package/src/lib/server/pos-hardware-closure.js.map +1 -0
- package/src/lib/server/pos-hardware-in-person.d.ts +61 -0
- package/src/lib/server/pos-hardware-in-person.js +236 -0
- package/src/lib/server/pos-hardware-in-person.js.map +1 -0
- package/src/lib/server/pos-hardware-notify.d.ts +40 -2
- package/src/lib/server/pos-hardware-notify.js +195 -14
- package/src/lib/server/pos-hardware-notify.js.map +1 -1
- package/src/lib/server/pos-hardware-readers.d.ts +115 -0
- package/src/lib/server/pos-hardware-readers.js +430 -0
- package/src/lib/server/pos-hardware-readers.js.map +1 -0
- package/src/lib/server/pos-hardware-returns.d.ts +116 -0
- package/src/lib/server/pos-hardware-returns.js +502 -0
- package/src/lib/server/pos-hardware-returns.js.map +1 -0
- package/src/lib/server/pos-hardware-sale-fields.d.ts +28 -0
- package/src/lib/server/pos-hardware-sale-fields.js +44 -0
- package/src/lib/server/pos-hardware-sale-fields.js.map +1 -0
- package/src/lib/server/pos-hardware-sale.d.ts +54 -0
- package/src/lib/server/pos-hardware-sale.js +369 -0
- package/src/lib/server/pos-hardware-sale.js.map +1 -0
- package/src/lib/server/pos-hardware-tax-return-source.d.ts +99 -0
- package/src/lib/server/pos-hardware-tax-return-source.js +462 -0
- package/src/lib/server/pos-hardware-tax-return-source.js.map +1 -0
- package/src/lib/server/pos-hardware-terms.d.ts +64 -0
- package/src/lib/server/pos-hardware-terms.js +154 -0
- package/src/lib/server/pos-hardware-terms.js.map +1 -0
- package/src/lib/server/pos-hardware-user-eraser.d.ts +3 -0
- package/src/lib/server/pos-hardware-user-eraser.js +31 -7
- package/src/lib/server/pos-hardware-user-eraser.js.map +1 -1
- package/src/lib/server/pos-hardware-webhook.d.ts +5 -0
- package/src/lib/server/pos-hardware-webhook.js +51 -6
- package/src/lib/server/pos-hardware-webhook.js.map +1 -1
- package/src/lib/server/pos-hardware.d.ts +74 -1
- package/src/lib/server/pos-hardware.js +175 -10
- package/src/lib/server/pos-hardware.js.map +1 -1
- package/src/lib/server/pos-kiosk.d.ts +2 -0
- package/src/lib/server/pos-kiosk.js +17 -12
- package/src/lib/server/pos-kiosk.js.map +1 -1
- package/src/lib/server/pos-offline-card-order.d.ts +64 -0
- package/src/lib/server/pos-offline-card-order.js +102 -0
- package/src/lib/server/pos-offline-card-order.js.map +1 -0
- package/src/lib/server/pos-offline-card-reconcile.d.ts +67 -1
- package/src/lib/server/pos-offline-card-reconcile.js +215 -18
- package/src/lib/server/pos-offline-card-reconcile.js.map +1 -1
- package/src/lib/server/pos-offline-sync.d.ts +39 -0
- package/src/lib/server/pos-offline-sync.js +190 -55
- package/src/lib/server/pos-offline-sync.js.map +1 -1
- package/src/lib/server/pos-ops-gate.d.ts +15 -4
- package/src/lib/server/pos-ops-gate.js +42 -9
- package/src/lib/server/pos-ops-gate.js.map +1 -1
- package/src/lib/server/pos-ops-routes.js +24 -0
- package/src/lib/server/pos-ops-routes.js.map +1 -1
- package/src/lib/server/pos-order-refund-ids.d.ts +28 -0
- package/src/lib/server/pos-order-refund-ids.js +31 -0
- package/src/lib/server/pos-order-refund-ids.js.map +1 -0
- package/src/lib/server/pos-order.js +52 -49
- package/src/lib/server/pos-order.js.map +1 -1
- package/src/lib/server/pos-payment.js +1 -1
- package/src/lib/server/pos-payment.js.map +1 -1
- package/src/lib/server/pos-reader-splash-admin.js +30 -32
- package/src/lib/server/pos-reader-splash-admin.js.map +1 -1
- package/src/lib/server/pos-reader-splash-images-route.d.ts +17 -0
- package/src/lib/server/pos-reader-splash-images-route.js +113 -0
- package/src/lib/server/pos-reader-splash-images-route.js.map +1 -0
- package/src/lib/server/pos-reader-splash-images.d.ts +51 -0
- package/src/lib/server/pos-reader-splash-images.js +123 -0
- package/src/lib/server/pos-reader-splash-images.js.map +1 -0
- package/src/lib/server/pos-reader-splash.d.ts +68 -1
- package/src/lib/server/pos-reader-splash.js +182 -11
- package/src/lib/server/pos-reader-splash.js.map +1 -1
- package/src/lib/server/pos-readers.d.ts +29 -0
- package/src/lib/server/pos-readers.js +134 -35
- package/src/lib/server/pos-readers.js.map +1 -1
- package/src/lib/server/pos-return.d.ts +10 -0
- package/src/lib/server/pos-return.js +26 -1
- package/src/lib/server/pos-return.js.map +1 -1
- package/src/lib/server/pos-sale.js +6 -1
- package/src/lib/server/pos-sale.js.map +1 -1
- package/src/lib/server/pos-shift.js +11 -0
- package/src/lib/server/pos-shift.js.map +1 -1
- package/src/lib/server/pos-staff-pin.js +25 -20
- package/src/lib/server/pos-staff-pin.js.map +1 -1
- package/src/lib/server/pos-terminal.d.ts +14 -4
- package/src/lib/server/pos-terminal.js +34 -38
- package/src/lib/server/pos-terminal.js.map +1 -1
- package/src/lib/server/printers.d.ts +7 -3
- package/src/lib/server/printers.js +18 -12
- package/src/lib/server/printers.js.map +1 -1
- package/src/lib/server/product-drafts.d.ts +11 -1
- package/src/lib/server/product-drafts.js +12 -8
- package/src/lib/server/product-drafts.js.map +1 -1
- package/src/lib/server/product.d.ts +15 -1
- package/src/lib/server/product.js +16 -3
- package/src/lib/server/product.js.map +1 -1
- package/src/lib/server/products-write.d.ts +26 -2
- package/src/lib/server/products-write.js +19 -7
- package/src/lib/server/products-write.js.map +1 -1
- package/src/lib/server/refund.js +34 -11
- package/src/lib/server/refund.js.map +1 -1
- package/src/lib/server/reservation-availability-query.d.ts +8 -0
- package/src/lib/server/reservation-availability-query.js +11 -1
- package/src/lib/server/reservation-availability-query.js.map +1 -1
- package/src/lib/server/reservation-availability.d.ts +1 -1
- package/src/lib/server/reservation-availability.js +7 -2
- package/src/lib/server/reservation-availability.js.map +1 -1
- package/src/lib/server/reservation-guests.d.ts +32 -0
- package/src/lib/server/reservation-guests.js +285 -0
- package/src/lib/server/reservation-guests.js.map +1 -0
- package/src/lib/server/reservation-walk-in.d.ts +11 -1
- package/src/lib/server/reservation-walk-in.js +56 -12
- package/src/lib/server/reservation-walk-in.js.map +1 -1
- package/src/lib/server/reserve.js +18 -5
- package/src/lib/server/reserve.js.map +1 -1
- package/src/lib/server/returns.js +9 -6
- package/src/lib/server/returns.js.map +1 -1
- package/src/lib/server/reviews.d.ts +22 -2
- package/src/lib/server/reviews.js +88 -20
- package/src/lib/server/reviews.js.map +1 -1
- package/src/lib/server/shipping-connectors.js +10 -11
- package/src/lib/server/shipping-connectors.js.map +1 -1
- package/src/lib/server/site-page-resolver.js +20 -3
- package/src/lib/server/site-page-resolver.js.map +1 -1
- package/src/lib/server/store-day.d.ts +33 -0
- package/src/lib/server/store-day.js +46 -0
- package/src/lib/server/store-day.js.map +1 -0
- package/src/lib/server/store-setup-ai-writer.d.ts +2 -1
- package/src/lib/server/store-setup-ai-writer.js +5 -6
- package/src/lib/server/store-setup-ai-writer.js.map +1 -1
- package/src/lib/server/storefront-tax.d.ts +13 -0
- package/src/lib/server/storefront-tax.js +8 -1
- package/src/lib/server/storefront-tax.js.map +1 -1
- package/src/lib/server/tax-return-source.d.ts +32 -3
- package/src/lib/server/tax-return-source.js +99 -20
- package/src/lib/server/tax-return-source.js.map +1 -1
- package/src/lib/server.js +100 -2
- package/src/lib/server.js.map +1 -1
- package/src/lib/testing/fake-firestore.js +58 -16
- package/src/lib/testing/fake-firestore.js.map +1 -1
- package/src/lib/testing/pos-ops-memory-firestore.js +18 -4
- package/src/lib/testing/pos-ops-memory-firestore.js.map +1 -1
- package/src/lib/testing/site-register-permissions.d.ts +29 -0
- package/src/lib/testing/site-register-permissions.js +38 -0
- package/src/lib/testing/site-register-permissions.js.map +1 -0
- package/src/lib/transfer/tracking.server.js +8 -5
- package/src/lib/transfer/tracking.server.js.map +1 -1
- package/src/lib/utils/add-to-cart.d.ts +2 -0
- package/src/lib/utils/add-to-cart.js +6 -3
- package/src/lib/utils/add-to-cart.js.map +1 -1
|
@@ -0,0 +1,104 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @license
|
|
3
|
+
* Copyright 2026 Aglyn LLC
|
|
4
|
+
*
|
|
5
|
+
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
6
|
+
* you may not use this file except in compliance with the License.
|
|
7
|
+
* You may obtain a copy of the License at
|
|
8
|
+
*
|
|
9
|
+
* http://www.apache.org/licenses/LICENSE-2.0
|
|
10
|
+
*
|
|
11
|
+
* Unless required by applicable law or agreed to in writing, software
|
|
12
|
+
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
13
|
+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
14
|
+
* See the License for the specific language governing permissions and
|
|
15
|
+
* limitations under the License.
|
|
16
|
+
*/ 'use client';
|
|
17
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
18
|
+
import { PLATFORM_BRAND_NAME } from "@aglyn/aglyn/app-utils/platform-brand";
|
|
19
|
+
import { Box, Button, Container, GlobalStyles, Stack, Typography } from "@mui/material";
|
|
20
|
+
import { posHardwareTermsAddress, POS_HARDWARE_TERMS_SECTIONS, POS_HARDWARE_TERMS_SUMMARY } from "../../model/pos-hardware-terms.js";
|
|
21
|
+
/**
|
|
22
|
+
* `/kiosk/commerce/hardware-terms-sign` (AGL-4038): the sign that stands
|
|
23
|
+
* where the platform sells card readers in person, for when the buyer can't
|
|
24
|
+
* accept the terms of sale on a screen (Terms 4.28): which terms the sale is
|
|
25
|
+
* made under, where to read them, and that paying is agreeing. A public page
|
|
26
|
+
* with nothing on it but the published terms' address and summary, so the
|
|
27
|
+
* register opens it in a new tab and prints it. Only the sign prints.
|
|
28
|
+
*/ export function PosHardwareTermsSignPage(_props) {
|
|
29
|
+
const address = posHardwareTermsAddress();
|
|
30
|
+
return /*#__PURE__*/ _jsxs(Box, {
|
|
31
|
+
sx: {
|
|
32
|
+
minHeight: '100dvh',
|
|
33
|
+
bgcolor: 'background.paper',
|
|
34
|
+
py: {
|
|
35
|
+
xs: 2,
|
|
36
|
+
sm: 6
|
|
37
|
+
}
|
|
38
|
+
},
|
|
39
|
+
children: [
|
|
40
|
+
/*#__PURE__*/ _jsx(GlobalStyles, {
|
|
41
|
+
styles: {
|
|
42
|
+
'@media print': {
|
|
43
|
+
'.no-print': {
|
|
44
|
+
display: 'none !important'
|
|
45
|
+
}
|
|
46
|
+
}
|
|
47
|
+
}
|
|
48
|
+
}),
|
|
49
|
+
/*#__PURE__*/ _jsx(Container, {
|
|
50
|
+
maxWidth: "md",
|
|
51
|
+
children: /*#__PURE__*/ _jsxs(Stack, {
|
|
52
|
+
spacing: 3,
|
|
53
|
+
children: [
|
|
54
|
+
/*#__PURE__*/ _jsx(Stack, {
|
|
55
|
+
direction: "row",
|
|
56
|
+
className: "no-print",
|
|
57
|
+
sx: {
|
|
58
|
+
justifyContent: 'flex-end'
|
|
59
|
+
},
|
|
60
|
+
children: /*#__PURE__*/ _jsx(Button, {
|
|
61
|
+
variant: "contained",
|
|
62
|
+
onClick: ()=>window.print(),
|
|
63
|
+
children: 'Print'
|
|
64
|
+
})
|
|
65
|
+
}),
|
|
66
|
+
/*#__PURE__*/ _jsx(Typography, {
|
|
67
|
+
variant: "h3",
|
|
68
|
+
component: "h1",
|
|
69
|
+
children: `Card reader hardware sold here is sold by ${PLATFORM_BRAND_NAME} under its Terms of Sale`
|
|
70
|
+
}),
|
|
71
|
+
/*#__PURE__*/ _jsx(Typography, {
|
|
72
|
+
variant: "h5",
|
|
73
|
+
component: "p",
|
|
74
|
+
children: `The Terms are at ${address}, Sections ${POS_HARDWARE_TERMS_SECTIONS}. By paying for card reader hardware here, you agree to those terms for that purchase.`
|
|
75
|
+
}),
|
|
76
|
+
/*#__PURE__*/ _jsx(Typography, {
|
|
77
|
+
variant: "h6",
|
|
78
|
+
component: "h2",
|
|
79
|
+
children: 'In short'
|
|
80
|
+
}),
|
|
81
|
+
/*#__PURE__*/ _jsx(Box, {
|
|
82
|
+
component: "ul",
|
|
83
|
+
sx: {
|
|
84
|
+
m: 0,
|
|
85
|
+
pl: 4,
|
|
86
|
+
display: 'flex',
|
|
87
|
+
flexDirection: 'column',
|
|
88
|
+
gap: 1.5
|
|
89
|
+
},
|
|
90
|
+
children: POS_HARDWARE_TERMS_SUMMARY.map((line)=>/*#__PURE__*/ _jsx(Typography, {
|
|
91
|
+
component: "li",
|
|
92
|
+
variant: "body1",
|
|
93
|
+
children: line
|
|
94
|
+
}, line))
|
|
95
|
+
})
|
|
96
|
+
]
|
|
97
|
+
})
|
|
98
|
+
})
|
|
99
|
+
]
|
|
100
|
+
});
|
|
101
|
+
}
|
|
102
|
+
export default PosHardwareTermsSignPage;
|
|
103
|
+
|
|
104
|
+
//# sourceMappingURL=pos-hardware-terms-sign-page.component.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../../../../../../libs/plugins/commerce/src/lib/components/console/pos-hardware-terms-sign-page.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\n'use client'\n\nimport type { ConsolePublicPageProps } from '@aglyn/aglyn'\nimport { PLATFORM_BRAND_NAME } from '@aglyn/aglyn/app-utils/platform-brand'\nimport { Box, Button, Container, GlobalStyles, Stack, Typography } from '@mui/material'\nimport {\n posHardwareTermsAddress,\n POS_HARDWARE_TERMS_SECTIONS,\n POS_HARDWARE_TERMS_SUMMARY,\n} from '../../model/pos-hardware-terms'\n\n/**\n * `/kiosk/commerce/hardware-terms-sign` (AGL-4038): the sign that stands\n * where the platform sells card readers in person, for when the buyer can't\n * accept the terms of sale on a screen (Terms 4.28): which terms the sale is\n * made under, where to read them, and that paying is agreeing. A public page\n * with nothing on it but the published terms' address and summary, so the\n * register opens it in a new tab and prints it. Only the sign prints.\n */\nexport function PosHardwareTermsSignPage(_props: ConsolePublicPageProps) {\n const address = posHardwareTermsAddress()\n return (\n <Box sx={{ minHeight: '100dvh', bgcolor: 'background.paper', py: { xs: 2, sm: 6 } }}>\n <GlobalStyles styles={{ '@media print': { '.no-print': { display: 'none !important' } } }} />\n <Container maxWidth=\"md\">\n <Stack spacing={3}>\n <Stack direction=\"row\" className=\"no-print\" sx={{ justifyContent: 'flex-end' }}>\n <Button variant=\"contained\" onClick={() => window.print()}>\n {'Print'}\n </Button>\n </Stack>\n <Typography variant=\"h3\" component=\"h1\">\n {`Card reader hardware sold here is sold by ${PLATFORM_BRAND_NAME} under its Terms of Sale`}\n </Typography>\n <Typography variant=\"h5\" component=\"p\">\n {`The Terms are at ${address}, Sections ${POS_HARDWARE_TERMS_SECTIONS}. By paying for card reader hardware here, you agree to those terms for that purchase.`}\n </Typography>\n <Typography variant=\"h6\" component=\"h2\">\n {'In short'}\n </Typography>\n <Box component=\"ul\" sx={{ m: 0, pl: 4, display: 'flex', flexDirection: 'column', gap: 1.5 }}>\n {POS_HARDWARE_TERMS_SUMMARY.map((line) => (\n <Typography key={line} component=\"li\" variant=\"body1\">\n {line}\n </Typography>\n ))}\n </Box>\n </Stack>\n </Container>\n </Box>\n )\n}\n\nexport default PosHardwareTermsSignPage\n"],"names":["PLATFORM_BRAND_NAME","Box","Button","Container","GlobalStyles","Stack","Typography","posHardwareTermsAddress","POS_HARDWARE_TERMS_SECTIONS","POS_HARDWARE_TERMS_SUMMARY","PosHardwareTermsSignPage","_props","address","sx","minHeight","bgcolor","py","xs","sm","styles","display","maxWidth","spacing","direction","className","justifyContent","variant","onClick","window","print","component","m","pl","flexDirection","gap","map","line"],"mappings":"AAAA;;;;;;;;;;;;;;;CAeC,GAED;;AAGA,SAASA,mBAAmB,QAAQ,wCAAuC;AAC3E,SAASC,GAAG,EAAEC,MAAM,EAAEC,SAAS,EAAEC,YAAY,EAAEC,KAAK,EAAEC,UAAU,QAAQ,gBAAe;AACvF,SACEC,uBAAuB,EACvBC,2BAA2B,EAC3BC,0BAA0B,QACrB,oCAAgC;AAEvC;;;;;;;CAOC,GACD,OAAO,SAASC,yBAAyBC,MAA8B;IACrE,MAAMC,UAAUL;IAChB,qBACE,MAACN;QAAIY,IAAI;YAAEC,WAAW;YAAUC,SAAS;YAAoBC,IAAI;gBAAEC,IAAI;gBAAGC,IAAI;YAAE;QAAE;;0BAChF,KAACd;gBAAae,QAAQ;oBAAE,gBAAgB;wBAAE,aAAa;4BAAEC,SAAS;wBAAkB;oBAAE;gBAAE;;0BACxF,KAACjB;gBAAUkB,UAAS;0BAClB,cAAA,MAAChB;oBAAMiB,SAAS;;sCACd,KAACjB;4BAAMkB,WAAU;4BAAMC,WAAU;4BAAWX,IAAI;gCAAEY,gBAAgB;4BAAW;sCAC3E,cAAA,KAACvB;gCAAOwB,SAAQ;gCAAYC,SAAS,IAAMC,OAAOC,KAAK;0CACpD;;;sCAGL,KAACvB;4BAAWoB,SAAQ;4BAAKI,WAAU;sCAChC,CAAC,0CAA0C,EAAE9B,oBAAoB,wBAAwB,CAAC;;sCAE7F,KAACM;4BAAWoB,SAAQ;4BAAKI,WAAU;sCAChC,CAAC,iBAAiB,EAAElB,QAAQ,WAAW,EAAEJ,4BAA4B,sFAAsF,CAAC;;sCAE/J,KAACF;4BAAWoB,SAAQ;4BAAKI,WAAU;sCAChC;;sCAEH,KAAC7B;4BAAI6B,WAAU;4BAAKjB,IAAI;gCAAEkB,GAAG;gCAAGC,IAAI;gCAAGZ,SAAS;gCAAQa,eAAe;gCAAUC,KAAK;4BAAI;sCACvFzB,2BAA2B0B,GAAG,CAAC,CAACC,qBAC/B,KAAC9B;oCAAsBwB,WAAU;oCAAKJ,SAAQ;8CAC3CU;mCADcA;;;;;;;AAS/B;AAEA,eAAe1B,yBAAwB"}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
export interface PosHardwareWaitingCardProps {
|
|
2
|
+
hostId: string;
|
|
3
|
+
/**
|
|
4
|
+
* Why the member may not set up devices on this store (`posDevices`), or
|
|
5
|
+
* nothing when they may. Passed in, not resolved here: this card is its own
|
|
6
|
+
* chunk, and reaching into the permissions model from it would pull that
|
|
7
|
+
* eagerly loaded module apart.
|
|
8
|
+
*/
|
|
9
|
+
devicesBlockedReason?: string;
|
|
10
|
+
}
|
|
11
|
+
/**
|
|
12
|
+
* Card readers this workspace bought in person, waiting to be set up
|
|
13
|
+
* (AGL-4038). Each says the one thing it still needs, in order:
|
|
14
|
+
*
|
|
15
|
+
* 1. a plan with the point of sale, which registering a reader needs;
|
|
16
|
+
* 2. the store it is for, when nobody chose one at the sale;
|
|
17
|
+
* 3. adding it on that store's POS devices card by the code it shows —
|
|
18
|
+
* by itself it then moves to Set up when its serial was taken at the
|
|
19
|
+
* sale, and otherwise "Mark set up" says it is done.
|
|
20
|
+
*
|
|
21
|
+
* Drawn only while there is such a reader. Loaded on its own.
|
|
22
|
+
*/
|
|
23
|
+
declare function PosHardwareWaitingCard(props: PosHardwareWaitingCardProps): import("react").JSX.Element;
|
|
24
|
+
export default PosHardwareWaitingCard;
|
|
@@ -0,0 +1,205 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @license
|
|
3
|
+
* Copyright 2026 Aglyn LLC
|
|
4
|
+
*
|
|
5
|
+
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
6
|
+
* you may not use this file except in compliance with the License.
|
|
7
|
+
* You may obtain a copy of the License at
|
|
8
|
+
*
|
|
9
|
+
* http://www.apache.org/licenses/LICENSE-2.0
|
|
10
|
+
*
|
|
11
|
+
* Unless required by applicable law or agreed to in writing, software
|
|
12
|
+
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
13
|
+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
14
|
+
* See the License for the specific language governing permissions and
|
|
15
|
+
* limitations under the License.
|
|
16
|
+
*/ 'use client';
|
|
17
|
+
import { _ as _extends } from "@swc/helpers/_/_extends";
|
|
18
|
+
import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
|
|
19
|
+
import { pluginDocsHelp } from "@aglyn/aglyn";
|
|
20
|
+
import { CardDisplay } from "@aglyn/shared-ui-jsx";
|
|
21
|
+
import { BlockedControl } from "@aglyn/shared-ui-jsx/components/blocked-control.component";
|
|
22
|
+
import { useSnackbar } from "@aglyn/shared-ui-snackstack";
|
|
23
|
+
import { useUser } from "@aglyn/tenant-feature-instance";
|
|
24
|
+
import { Button, Divider, MenuItem, Stack, TextField, Typography } from "@mui/material";
|
|
25
|
+
import { useCallback, useEffect, useState } from "react";
|
|
26
|
+
import { EntitlementUpsell, useCommerceEntitlement } from "./entitlement-gate.component.js";
|
|
27
|
+
import { PosHardwareRequestError, posHardwareChooseStore, posHardwareMarkSetUp, posHardwareWaiting } from "./pos/pos-hardware-api.js";
|
|
28
|
+
const items = (order)=>order.lines.map((line)=>`${line.quantity} × ${line.name}`).join(', ');
|
|
29
|
+
/**
|
|
30
|
+
* Card readers this workspace bought in person, waiting to be set up
|
|
31
|
+
* (AGL-4038). Each says the one thing it still needs, in order:
|
|
32
|
+
*
|
|
33
|
+
* 1. a plan with the point of sale, which registering a reader needs;
|
|
34
|
+
* 2. the store it is for, when nobody chose one at the sale;
|
|
35
|
+
* 3. adding it on that store's POS devices card by the code it shows —
|
|
36
|
+
* by itself it then moves to Set up when its serial was taken at the
|
|
37
|
+
* sale, and otherwise "Mark set up" says it is done.
|
|
38
|
+
*
|
|
39
|
+
* Drawn only while there is such a reader. Loaded on its own.
|
|
40
|
+
*/ function PosHardwareWaitingCard(props) {
|
|
41
|
+
var _ref;
|
|
42
|
+
const { hostId, devicesBlockedReason } = props;
|
|
43
|
+
const { data: user } = useUser();
|
|
44
|
+
const { enqueueSnackbar } = useSnackbar();
|
|
45
|
+
const plan = useCommerceEntitlement(hostId, 'pos');
|
|
46
|
+
const [waiting, setWaiting] = useState(null);
|
|
47
|
+
const [chosen, setChosen] = useState({});
|
|
48
|
+
const [busy, setBusy] = useState('');
|
|
49
|
+
const uid = (_ref = user == null ? void 0 : user.uid) != null ? _ref : '';
|
|
50
|
+
const load = useCallback(async ()=>{
|
|
51
|
+
if (!user) return;
|
|
52
|
+
try {
|
|
53
|
+
setWaiting(await posHardwareWaiting(user, hostId));
|
|
54
|
+
} catch (unused) {
|
|
55
|
+
setWaiting(null);
|
|
56
|
+
}
|
|
57
|
+
// Keyed on the person, not the session object.
|
|
58
|
+
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
59
|
+
}, [
|
|
60
|
+
uid,
|
|
61
|
+
hostId
|
|
62
|
+
]);
|
|
63
|
+
useEffect(()=>{
|
|
64
|
+
void load();
|
|
65
|
+
}, [
|
|
66
|
+
load
|
|
67
|
+
]);
|
|
68
|
+
const act = async (orderId, run, done)=>{
|
|
69
|
+
setBusy(orderId);
|
|
70
|
+
try {
|
|
71
|
+
await run();
|
|
72
|
+
enqueueSnackbar(done, {
|
|
73
|
+
variant: 'success',
|
|
74
|
+
persist: false
|
|
75
|
+
});
|
|
76
|
+
await load();
|
|
77
|
+
} catch (error) {
|
|
78
|
+
enqueueSnackbar(error instanceof PosHardwareRequestError ? error.message : 'That did not work. Try again.', {
|
|
79
|
+
variant: 'warning',
|
|
80
|
+
persist: false
|
|
81
|
+
});
|
|
82
|
+
} finally{
|
|
83
|
+
setBusy('');
|
|
84
|
+
}
|
|
85
|
+
};
|
|
86
|
+
if (!user || !(waiting == null ? void 0 : waiting.orders.length)) return null;
|
|
87
|
+
const devicesReason = devicesBlockedReason || undefined;
|
|
88
|
+
const planReason = waiting.posPlan ? undefined : 'Add a plan with the point of sale first.';
|
|
89
|
+
return /*#__PURE__*/ _jsx(CardDisplay, {
|
|
90
|
+
header: 'Card readers to set up',
|
|
91
|
+
subheader: 'Bought in person, ready for your store',
|
|
92
|
+
help: pluginDocsHelp('posHardware', {
|
|
93
|
+
anchor: '#card-readers-to-set-up'
|
|
94
|
+
}),
|
|
95
|
+
contentGutterX: true,
|
|
96
|
+
contentGutterY: true,
|
|
97
|
+
children: /*#__PURE__*/ _jsxs(Stack, {
|
|
98
|
+
spacing: 2,
|
|
99
|
+
divider: /*#__PURE__*/ _jsx(Divider, {
|
|
100
|
+
flexItem: true
|
|
101
|
+
}),
|
|
102
|
+
children: [
|
|
103
|
+
waiting.posPlan ? null : /*#__PURE__*/ _jsx(EntitlementUpsell, {
|
|
104
|
+
planLabel: plan.planLabel,
|
|
105
|
+
upgradeHref: plan.upgradeHref,
|
|
106
|
+
children: 'A card reader takes payments at the register, which comes with the point of sale. Add it, then set the reader up here.'
|
|
107
|
+
}),
|
|
108
|
+
waiting.orders.map((order)=>{
|
|
109
|
+
var _ref, _chosen_order_id, _ref1, _ref2;
|
|
110
|
+
var _waiting_stores_;
|
|
111
|
+
const store = waiting.stores.find((candidate)=>candidate.hostId === order.hostId);
|
|
112
|
+
const pick = (_ref = (_chosen_order_id = chosen[order.id]) != null ? _chosen_order_id : (_waiting_stores_ = waiting.stores[0]) == null ? void 0 : _waiting_stores_.hostId) != null ? _ref : '';
|
|
113
|
+
return /*#__PURE__*/ _jsxs(Stack, {
|
|
114
|
+
spacing: 1,
|
|
115
|
+
children: [
|
|
116
|
+
/*#__PURE__*/ _jsx(Typography, {
|
|
117
|
+
variant: "subtitle2",
|
|
118
|
+
children: items(order)
|
|
119
|
+
}),
|
|
120
|
+
/*#__PURE__*/ _jsx(Typography, {
|
|
121
|
+
variant: "body2",
|
|
122
|
+
color: "text.secondary",
|
|
123
|
+
children: `Order ${order.number} · bought ${new Date(order.createdAtMs).toLocaleDateString()}`
|
|
124
|
+
}),
|
|
125
|
+
store ? /*#__PURE__*/ _jsxs(_Fragment, {
|
|
126
|
+
children: [
|
|
127
|
+
/*#__PURE__*/ _jsxs(Typography, {
|
|
128
|
+
variant: "body2",
|
|
129
|
+
children: [
|
|
130
|
+
order.serialsTaken ? `For ${store.name}. Add it on the POS devices card with the code it shows, and it is set up: we know its serial number.` : `For ${store.name}. Add it on the POS devices card with the code it shows, then mark it set up.`,
|
|
131
|
+
store.hasLocation ? '' : ' The first reader asks for the store’s address.'
|
|
132
|
+
]
|
|
133
|
+
}),
|
|
134
|
+
/*#__PURE__*/ _jsxs(Stack, {
|
|
135
|
+
direction: "row",
|
|
136
|
+
spacing: 1,
|
|
137
|
+
children: [
|
|
138
|
+
/*#__PURE__*/ _jsx(BlockedControl, {
|
|
139
|
+
blocked: Boolean(planReason != null ? planReason : devicesReason),
|
|
140
|
+
reason: (_ref1 = planReason != null ? planReason : devicesReason) != null ? _ref1 : '',
|
|
141
|
+
children: /*#__PURE__*/ _jsx(Button, {
|
|
142
|
+
variant: "contained",
|
|
143
|
+
size: "small",
|
|
144
|
+
href: store.setupUrl,
|
|
145
|
+
children: 'Open POS devices'
|
|
146
|
+
})
|
|
147
|
+
}),
|
|
148
|
+
/*#__PURE__*/ _jsx(BlockedControl, {
|
|
149
|
+
blocked: Boolean(planReason != null ? planReason : devicesReason),
|
|
150
|
+
reason: (_ref2 = planReason != null ? planReason : devicesReason) != null ? _ref2 : '',
|
|
151
|
+
children: /*#__PURE__*/ _jsx(Button, {
|
|
152
|
+
size: "small",
|
|
153
|
+
disabled: busy === order.id,
|
|
154
|
+
onClick: ()=>void act(order.id, ()=>posHardwareMarkSetUp(user, order.hostId, order.id), 'Marked set up'),
|
|
155
|
+
children: 'Mark set up'
|
|
156
|
+
})
|
|
157
|
+
})
|
|
158
|
+
]
|
|
159
|
+
})
|
|
160
|
+
]
|
|
161
|
+
}) : /*#__PURE__*/ _jsxs(Stack, {
|
|
162
|
+
direction: "row",
|
|
163
|
+
spacing: 1,
|
|
164
|
+
sx: {
|
|
165
|
+
alignItems: 'center'
|
|
166
|
+
},
|
|
167
|
+
children: [
|
|
168
|
+
/*#__PURE__*/ _jsx(TextField, {
|
|
169
|
+
select: true,
|
|
170
|
+
size: "small",
|
|
171
|
+
label: "Which store is it for?",
|
|
172
|
+
value: pick,
|
|
173
|
+
onChange: (event)=>setChosen(_extends({}, chosen, {
|
|
174
|
+
[order.id]: event.target.value
|
|
175
|
+
})),
|
|
176
|
+
sx: {
|
|
177
|
+
minWidth: (theme)=>theme.spacing(30)
|
|
178
|
+
},
|
|
179
|
+
children: waiting.stores.map((candidate)=>/*#__PURE__*/ _jsx(MenuItem, {
|
|
180
|
+
value: candidate.hostId,
|
|
181
|
+
children: candidate.name
|
|
182
|
+
}, candidate.hostId))
|
|
183
|
+
}),
|
|
184
|
+
/*#__PURE__*/ _jsx(BlockedControl, {
|
|
185
|
+
blocked: Boolean(planReason),
|
|
186
|
+
reason: planReason != null ? planReason : '',
|
|
187
|
+
children: /*#__PURE__*/ _jsx(Button, {
|
|
188
|
+
size: "small",
|
|
189
|
+
disabled: !pick || busy === order.id,
|
|
190
|
+
onClick: ()=>void act(order.id, ()=>posHardwareChooseStore(user, pick, order.id), 'Store chosen'),
|
|
191
|
+
children: 'Choose'
|
|
192
|
+
})
|
|
193
|
+
})
|
|
194
|
+
]
|
|
195
|
+
})
|
|
196
|
+
]
|
|
197
|
+
}, order.id);
|
|
198
|
+
})
|
|
199
|
+
]
|
|
200
|
+
})
|
|
201
|
+
});
|
|
202
|
+
}
|
|
203
|
+
export default PosHardwareWaitingCard;
|
|
204
|
+
|
|
205
|
+
//# sourceMappingURL=pos-hardware-waiting-card.component.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../../../../../../libs/plugins/commerce/src/lib/components/console/pos-hardware-waiting-card.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 { pluginDocsHelp } from '@aglyn/aglyn'\nimport { CardDisplay } from '@aglyn/shared-ui-jsx'\nimport { BlockedControl } from '@aglyn/shared-ui-jsx/components/blocked-control.component'\nimport { useSnackbar } from '@aglyn/shared-ui-snackstack'\nimport { useUser } from '@aglyn/tenant-feature-instance'\nimport { Button, Divider, MenuItem, Stack, TextField, Typography } from '@mui/material'\nimport { useCallback, useEffect, useState } from 'react'\nimport { EntitlementUpsell, useCommerceEntitlement } from './entitlement-gate.component'\nimport {\n PosHardwareRequestError,\n posHardwareChooseStore,\n posHardwareMarkSetUp,\n posHardwareWaiting,\n type WaitingReaderOrder,\n type WaitingReaders,\n} from './pos/pos-hardware-api'\n\nexport interface PosHardwareWaitingCardProps {\n hostId: string\n /**\n * Why the member may not set up devices on this store (`posDevices`), or\n * nothing when they may. Passed in, not resolved here: this card is its own\n * chunk, and reaching into the permissions model from it would pull that\n * eagerly loaded module apart.\n */\n devicesBlockedReason?: string\n}\n\nconst items = (order: WaitingReaderOrder) => order.lines.map((line) => `${line.quantity} × ${line.name}`).join(', ')\n\n/**\n * Card readers this workspace bought in person, waiting to be set up\n * (AGL-4038). Each says the one thing it still needs, in order:\n *\n * 1. a plan with the point of sale, which registering a reader needs;\n * 2. the store it is for, when nobody chose one at the sale;\n * 3. adding it on that store's POS devices card by the code it shows —\n * by itself it then moves to Set up when its serial was taken at the\n * sale, and otherwise \"Mark set up\" says it is done.\n *\n * Drawn only while there is such a reader. Loaded on its own.\n */\nfunction PosHardwareWaitingCard(props: PosHardwareWaitingCardProps) {\n const { hostId, devicesBlockedReason } = props\n const { data: user } = useUser()\n const { enqueueSnackbar } = useSnackbar()\n const plan = useCommerceEntitlement(hostId, 'pos')\n const [waiting, setWaiting] = useState<WaitingReaders | null>(null)\n const [chosen, setChosen] = useState<Record<string, string>>({})\n const [busy, setBusy] = useState('')\n const uid = user?.uid ?? ''\n\n const load = useCallback(async () => {\n if (!user) return\n try {\n setWaiting(await posHardwareWaiting(user, hostId))\n } catch {\n setWaiting(null)\n }\n // Keyed on the person, not the session object.\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [uid, hostId])\n\n useEffect(() => {\n void load()\n }, [load])\n\n const act = async (orderId: string, run: () => Promise<unknown>, done: string) => {\n setBusy(orderId)\n try {\n await run()\n enqueueSnackbar(done, { variant: 'success', persist: false })\n await load()\n } catch (error) {\n enqueueSnackbar(error instanceof PosHardwareRequestError ? error.message : 'That did not work. Try again.', {\n variant: 'warning',\n persist: false,\n })\n } finally {\n setBusy('')\n }\n }\n\n if (!user || !waiting?.orders.length) return null\n const devicesReason = devicesBlockedReason || undefined\n const planReason = waiting.posPlan ? undefined : 'Add a plan with the point of sale first.'\n\n return (\n <CardDisplay\n header={'Card readers to set up'}\n subheader={'Bought in person, ready for your store'}\n help={pluginDocsHelp('posHardware', { anchor: '#card-readers-to-set-up' })}\n contentGutterX\n contentGutterY\n >\n <Stack spacing={2} divider={<Divider flexItem />}>\n {waiting.posPlan ? null : (\n <EntitlementUpsell planLabel={plan.planLabel} upgradeHref={plan.upgradeHref}>\n {'A card reader takes payments at the register, which comes with the point of sale. Add it, then set the reader up here.'}\n </EntitlementUpsell>\n )}\n {waiting.orders.map((order) => {\n const store = waiting.stores.find((candidate) => candidate.hostId === order.hostId)\n const pick = chosen[order.id] ?? waiting.stores[0]?.hostId ?? ''\n return (\n <Stack key={order.id} spacing={1}>\n <Typography variant=\"subtitle2\">{items(order)}</Typography>\n <Typography variant=\"body2\" color=\"text.secondary\">\n {`Order ${order.number} · bought ${new Date(order.createdAtMs).toLocaleDateString()}`}\n </Typography>\n {store ? (\n <>\n <Typography variant=\"body2\">\n {order.serialsTaken\n ? `For ${store.name}. Add it on the POS devices card with the code it shows, and it is set up: we know its serial number.`\n : `For ${store.name}. Add it on the POS devices card with the code it shows, then mark it set up.`}\n {store.hasLocation ? '' : ' The first reader asks for the store’s address.'}\n </Typography>\n <Stack direction=\"row\" spacing={1}>\n <BlockedControl blocked={Boolean(planReason ?? devicesReason)} reason={planReason ?? devicesReason ?? ''}>\n <Button variant=\"contained\" size=\"small\" href={store.setupUrl}>\n {'Open POS devices'}\n </Button>\n </BlockedControl>\n <BlockedControl blocked={Boolean(planReason ?? devicesReason)} reason={planReason ?? devicesReason ?? ''}>\n <Button\n size=\"small\"\n disabled={busy === order.id}\n onClick={() =>\n void act(order.id, () => posHardwareMarkSetUp(user, order.hostId, order.id), 'Marked set up')\n }\n >\n {'Mark set up'}\n </Button>\n </BlockedControl>\n </Stack>\n </>\n ) : (\n <Stack direction=\"row\" spacing={1} sx={{ alignItems: 'center' }}>\n <TextField\n select\n size=\"small\"\n label=\"Which store is it for?\"\n value={pick}\n onChange={(event) => setChosen({ ...chosen, [order.id]: event.target.value })}\n sx={{ minWidth: (theme) => theme.spacing(30) }}\n >\n {waiting.stores.map((candidate) => (\n <MenuItem key={candidate.hostId} value={candidate.hostId}>\n {candidate.name}\n </MenuItem>\n ))}\n </TextField>\n <BlockedControl blocked={Boolean(planReason)} reason={planReason ?? ''}>\n <Button\n size=\"small\"\n disabled={!pick || busy === order.id}\n onClick={() =>\n void act(order.id, () => posHardwareChooseStore(user, pick, order.id), 'Store chosen')\n }\n >\n {'Choose'}\n </Button>\n </BlockedControl>\n </Stack>\n )}\n </Stack>\n )\n })}\n </Stack>\n </CardDisplay>\n )\n}\n\nexport default PosHardwareWaitingCard\n"],"names":["pluginDocsHelp","CardDisplay","BlockedControl","useSnackbar","useUser","Button","Divider","MenuItem","Stack","TextField","Typography","useCallback","useEffect","useState","EntitlementUpsell","useCommerceEntitlement","PosHardwareRequestError","posHardwareChooseStore","posHardwareMarkSetUp","posHardwareWaiting","items","order","lines","map","line","quantity","name","join","PosHardwareWaitingCard","props","hostId","devicesBlockedReason","data","user","enqueueSnackbar","plan","waiting","setWaiting","chosen","setChosen","busy","setBusy","uid","load","act","orderId","run","done","variant","persist","error","message","orders","length","devicesReason","undefined","planReason","posPlan","header","subheader","help","anchor","contentGutterX","contentGutterY","spacing","divider","flexItem","planLabel","upgradeHref","store","stores","find","candidate","pick","id","color","number","Date","createdAtMs","toLocaleDateString","serialsTaken","hasLocation","direction","blocked","Boolean","reason","size","href","setupUrl","disabled","onClick","sx","alignItems","select","label","value","onChange","event","target","minWidth","theme"],"mappings":"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"}
|