@aglyn/plugins-commerce 1.0.0-beta.284 → 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
|
@@ -15,7 +15,7 @@
|
|
|
15
15
|
* limitations under the License.
|
|
16
16
|
*/ 'use client';
|
|
17
17
|
import { _ as _extends } from "@swc/helpers/_/_extends";
|
|
18
|
-
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
18
|
+
import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
|
|
19
19
|
import { pluginDocsHelp } from "@aglyn/aglyn";
|
|
20
20
|
import { resolveStaffRoleGate } from "@aglyn/aglyn/app-utils/staff-role-gate";
|
|
21
21
|
import { CardDisplay, useConfirmationContext } from "@aglyn/shared-ui-jsx";
|
|
@@ -24,7 +24,7 @@ import { ListPagination } from "@aglyn/shared-ui-jsx/components/list-pagination.
|
|
|
24
24
|
import { ListTable } from "@aglyn/shared-ui-jsx/components/list-table.component";
|
|
25
25
|
import { useSnackbar } from "@aglyn/shared-ui-snackstack";
|
|
26
26
|
import { useUser } from "@aglyn/tenant-feature-instance";
|
|
27
|
-
import { Alert, Button, Chip, Dialog, DialogActions, DialogContent, DialogTitle, Link, MenuItem, Stack, TextField, Typography } from "@mui/material";
|
|
27
|
+
import { Alert, Button, Chip, Dialog, DialogActions, DialogContent, DialogContentText, DialogTitle, FormControlLabel, FormHelperText, Link, MenuItem, Stack, Switch, TextField, Typography } from "@mui/material";
|
|
28
28
|
import { useCallback, useEffect, useMemo, useState } from "react";
|
|
29
29
|
import { formatPosHardwareCents, nextPosHardwareStatus, POS_HARDWARE_ORDER_STATUSES, POS_HARDWARE_STAFF_STATUS_LABELS, posHardwareRefundable, posHardwareSku } from "../../model/pos-hardware.js";
|
|
30
30
|
import { POS_HARDWARE_STATUS_COLOR } from "./pos-hardware-card.component.js";
|
|
@@ -34,7 +34,14 @@ const WRITE_ROLES = [
|
|
|
34
34
|
'billing'
|
|
35
35
|
];
|
|
36
36
|
const NOT_REFUNDABLE = 'Only an order that has not shipped can be canceled or refunded.';
|
|
37
|
+
/** Dollars typed by staff as whole cents; empty is 0, anything else unreadable is null. */ function centsOf(text) {
|
|
38
|
+
const trimmed = text.trim().replace(/^\$/, '');
|
|
39
|
+
if (!trimmed) return 0;
|
|
40
|
+
if (!/^\d+(\.\d{1,2})?$/.test(trimmed)) return null;
|
|
41
|
+
return Math.round(Number(trimmed) * 100);
|
|
42
|
+
}
|
|
37
43
|
const CLOSED = 'A canceled or refunded order can no longer change.';
|
|
44
|
+
const REFUNDED = 'This order is refunded in full.';
|
|
38
45
|
/** A control disabled with its reason, or passed through when there is none. */ function Guarded(props) {
|
|
39
46
|
var _props_reason;
|
|
40
47
|
return /*#__PURE__*/ _jsx(BlockedControl, {
|
|
@@ -44,6 +51,24 @@ const CLOSED = 'A canceled or refunded order can no longer change.';
|
|
|
44
51
|
});
|
|
45
52
|
}
|
|
46
53
|
const when = (ms)=>ms ? new Date(ms).toLocaleString() : '—';
|
|
54
|
+
/** How a register sale was paid, as staff read it (AGL-4038). */ const TENDER_LABELS = {
|
|
55
|
+
cash: 'cash',
|
|
56
|
+
card_present: 'card on a reader',
|
|
57
|
+
card_keyed: 'typed card',
|
|
58
|
+
card_link: 'payment link',
|
|
59
|
+
gift_card: 'gift card',
|
|
60
|
+
folio: 'room charge',
|
|
61
|
+
credit: 'store credit'
|
|
62
|
+
};
|
|
63
|
+
/** Whose an in-person order is, in a line (AGL-4038). */ function attachedTo(order) {
|
|
64
|
+
var _attachment_orgId;
|
|
65
|
+
const attachment = order.attachment;
|
|
66
|
+
if (!attachment) return '—';
|
|
67
|
+
if (attachment.state === 'attached') return `Workspace ${(_attachment_orgId = attachment.orgId) != null ? _attachment_orgId : order.orgId}`;
|
|
68
|
+
if (attachment.uid) return 'To attach: has an account, no workspace yet';
|
|
69
|
+
if (attachment.email) return `To attach: invited ${attachment.email}`;
|
|
70
|
+
return 'To attach';
|
|
71
|
+
}
|
|
47
72
|
function shipTo(order) {
|
|
48
73
|
var _order_shipping, _order_shipping1;
|
|
49
74
|
const address = (_order_shipping = order.shipping) == null ? void 0 : _order_shipping.address;
|
|
@@ -75,8 +100,8 @@ function shipTo(order) {
|
|
|
75
100
|
* as it ships and is delivered. Canceling or refunding returns the whole
|
|
76
101
|
* payment and is offered only before the order ships.
|
|
77
102
|
*/ export function PosHardwareOrdersStaffPage(props) {
|
|
78
|
-
var _ref, _ref1;
|
|
79
|
-
var _open_shipping, _open_shipping1;
|
|
103
|
+
var _ref, _ref1, _open_returnRequest_reason, _ref2, _centsOf, _returning_restockingFee, _returning_restockingFee1, _returning_restockingFee2, _returning_restockingFee3, _ref3, _returning_restockingFee4;
|
|
104
|
+
var _open_returnRequest, _open_shipping, _open_posSale, _open_posSale1, _open_posSale2, _open_paidTo, _open_paidTo1, _open_attachment, _open_shipping1, _open_shipping2, _open_attachment1, _open_attachment2;
|
|
80
105
|
const { staffRole = null, staffPaths } = props;
|
|
81
106
|
const { data: user } = useUser();
|
|
82
107
|
const { enqueueSnackbar } = useSnackbar();
|
|
@@ -101,6 +126,11 @@ function shipTo(order) {
|
|
|
101
126
|
number: '',
|
|
102
127
|
url: ''
|
|
103
128
|
});
|
|
129
|
+
/** The note for declining a return request, while its dialog is open. */ const [declineNote, setDeclineNote] = useState(null);
|
|
130
|
+
/**
|
|
131
|
+
* The cancel or refund being confirmed, and whether to email the buyer
|
|
132
|
+
* about it (AGL-4038): on unless staff turn it off.
|
|
133
|
+
*/ const [returning, setReturning] = useState(null);
|
|
104
134
|
const gate = resolveStaffRoleGate(staffRole, WRITE_ROLES);
|
|
105
135
|
const uid = (_ref = user == null ? void 0 : user.uid) != null ? _ref : '';
|
|
106
136
|
const load = useCallback(async (targetPage = 0, after = null)=>{
|
|
@@ -149,12 +179,12 @@ function shipTo(order) {
|
|
|
149
179
|
setBusy(true);
|
|
150
180
|
try {
|
|
151
181
|
var _cursors_page;
|
|
152
|
-
const
|
|
182
|
+
const answer = await staffHardwareOrderAction(user, _extends({}, body, {
|
|
153
183
|
orgId: open.orgId,
|
|
154
184
|
orderId: open.id
|
|
155
185
|
}));
|
|
156
|
-
setOpen(order);
|
|
157
|
-
enqueueSnackbar(done, {
|
|
186
|
+
setOpen(answer.order);
|
|
187
|
+
enqueueSnackbar(typeof done === 'string' ? done : done(answer), {
|
|
158
188
|
variant: 'success',
|
|
159
189
|
persist: false
|
|
160
190
|
});
|
|
@@ -185,19 +215,50 @@ function shipTo(order) {
|
|
|
185
215
|
status: advance
|
|
186
216
|
} : {}), advance ? `Marked ${POS_HARDWARE_STAFF_STATUS_LABELS[advance].toLowerCase()}` : 'Saved');
|
|
187
217
|
};
|
|
188
|
-
const
|
|
218
|
+
const forgetBuyer = async ()=>{
|
|
189
219
|
if (!open) return;
|
|
190
220
|
const confirmed = await confirm({
|
|
191
|
-
title:
|
|
192
|
-
description:
|
|
193
|
-
confirmationText:
|
|
221
|
+
title: "Remove the buyer's details?",
|
|
222
|
+
description: 'The address and account are taken off this order for good. The order, its amounts and where it was taxed stay.',
|
|
223
|
+
confirmationText: 'Remove',
|
|
194
224
|
confirmationButtonProps: {
|
|
195
225
|
color: 'error'
|
|
196
226
|
}
|
|
197
227
|
}).then(()=>true).catch(()=>false);
|
|
198
228
|
if (confirmed) await act({
|
|
199
|
-
action
|
|
200
|
-
},
|
|
229
|
+
action: 'forget-buyer'
|
|
230
|
+
}, "Buyer's details removed");
|
|
231
|
+
};
|
|
232
|
+
const declineReturn = async ()=>{
|
|
233
|
+
if (!open || declineNote === null) return;
|
|
234
|
+
await act({
|
|
235
|
+
action: 'decline-return',
|
|
236
|
+
note: declineNote.trim()
|
|
237
|
+
}, 'Return request declined');
|
|
238
|
+
setDeclineNote(null);
|
|
239
|
+
};
|
|
240
|
+
/** Opens the confirm for a cancel or a refund, emailing the buyer by default. */ const returnMoney = (action)=>{
|
|
241
|
+
if (open) setReturning(_extends({
|
|
242
|
+
action,
|
|
243
|
+
notifyBuyer: true
|
|
244
|
+
}, action === 'refund-return' ? {
|
|
245
|
+
restockingFee: ''
|
|
246
|
+
} : {}));
|
|
247
|
+
};
|
|
248
|
+
const confirmReturn = async ()=>{
|
|
249
|
+
var _returning_restockingFee;
|
|
250
|
+
if (!open || !returning) return;
|
|
251
|
+
const { action, notifyBuyer } = returning;
|
|
252
|
+
const verb = action === 'cancel' && open.source !== 'in_person' ? 'Canceled and refunded' : 'Refunded';
|
|
253
|
+
const restockingFeeCents = action === 'refund-return' ? centsOf((_returning_restockingFee = returning.restockingFee) != null ? _returning_restockingFee : '') : undefined;
|
|
254
|
+
if (restockingFeeCents === null) return;
|
|
255
|
+
await act(_extends({
|
|
256
|
+
action,
|
|
257
|
+
notifyBuyer
|
|
258
|
+
}, restockingFeeCents ? {
|
|
259
|
+
restockingFeeCents
|
|
260
|
+
} : {}), ({ buyerEmail })=>buyerEmail === 'sent' ? `${verb}. The buyer was emailed.` : buyerEmail === 'already' ? `${verb}. The buyer had already been emailed.` : buyerEmail === 'skipped' ? `${verb}. The buyer has no address to email.` : buyerEmail === 'failed' ? `${verb}. The email to the buyer did not send; press again to retry it.` : `${verb}. The buyer was not emailed.`);
|
|
261
|
+
setReturning(null);
|
|
201
262
|
};
|
|
202
263
|
const columns = useMemo(()=>[
|
|
203
264
|
{
|
|
@@ -205,6 +266,15 @@ function shipTo(order) {
|
|
|
205
266
|
headerName: 'Order',
|
|
206
267
|
minWidth: 110
|
|
207
268
|
},
|
|
269
|
+
{
|
|
270
|
+
field: 'source',
|
|
271
|
+
headerName: 'Sold',
|
|
272
|
+
minWidth: 110,
|
|
273
|
+
valueGetter: (_value, row)=>{
|
|
274
|
+
var _row_attachment;
|
|
275
|
+
return row.source === 'in_person' ? ((_row_attachment = row.attachment) == null ? void 0 : _row_attachment.state) === 'pending' ? 'In person · to attach' : 'In person' : 'Online';
|
|
276
|
+
}
|
|
277
|
+
},
|
|
208
278
|
{
|
|
209
279
|
field: 'createdAtMs',
|
|
210
280
|
headerName: 'Placed',
|
|
@@ -281,9 +351,21 @@ function shipTo(order) {
|
|
|
281
351
|
], [
|
|
282
352
|
staffPaths
|
|
283
353
|
]);
|
|
354
|
+
const inPerson = (open == null ? void 0 : open.source) === 'in_person';
|
|
284
355
|
const next = open ? nextPosHardwareStatus(open.status) : null;
|
|
285
356
|
const closed = open ? open.status === 'canceled' || open.status === 'refunded' : true;
|
|
286
|
-
|
|
357
|
+
// A reader sold in person refunds what is left of it, its own way, until
|
|
358
|
+
// it is refunded in full (AGL-4038).
|
|
359
|
+
const refundable = open ? inPerson ? open.status !== 'refunded' && open.status !== 'canceled' && open.refundedCents < open.totalCents : posHardwareRefundable(open.status) && !open.refundPending : false;
|
|
360
|
+
const returnRequested = (open == null ? void 0 : (_open_returnRequest = open.returnRequest) == null ? void 0 : _open_returnRequest.state) === 'requested';
|
|
361
|
+
// An online order sent back after its return was requested (AGL-4038):
|
|
362
|
+
// refunded as a return, the items and their tax less any restocking fee.
|
|
363
|
+
const onlineReturn = Boolean(open) && !inPerson && returnRequested && [
|
|
364
|
+
'shipped',
|
|
365
|
+
'delivered',
|
|
366
|
+
'registered'
|
|
367
|
+
].includes(String(open == null ? void 0 : open.status));
|
|
368
|
+
const returnCents = open ? Math.max(0, open.totalCents - ((_ref1 = (_open_shipping = open.shipping) == null ? void 0 : _open_shipping.cents) != null ? _ref1 : 0)) : 0;
|
|
287
369
|
const writeReason = gate.blocked ? gate.reason : undefined;
|
|
288
370
|
return /*#__PURE__*/ _jsxs(CardDisplay, {
|
|
289
371
|
header: 'Hardware orders',
|
|
@@ -303,6 +385,14 @@ function shipTo(order) {
|
|
|
303
385
|
value: "",
|
|
304
386
|
children: 'All'
|
|
305
387
|
}),
|
|
388
|
+
/*#__PURE__*/ _jsx(MenuItem, {
|
|
389
|
+
value: "to-attach",
|
|
390
|
+
children: 'Sold in person, to attach'
|
|
391
|
+
}),
|
|
392
|
+
/*#__PURE__*/ _jsx(MenuItem, {
|
|
393
|
+
value: "returns",
|
|
394
|
+
children: 'Return requested'
|
|
395
|
+
}),
|
|
306
396
|
POS_HARDWARE_ORDER_STATUSES.map((value)=>/*#__PURE__*/ _jsx(MenuItem, {
|
|
307
397
|
value: value,
|
|
308
398
|
children: POS_HARDWARE_STAFF_STATUS_LABELS[value]
|
|
@@ -323,7 +413,7 @@ function shipTo(order) {
|
|
|
323
413
|
orders && orders.length === 0 && !error ? /*#__PURE__*/ _jsx(Typography, {
|
|
324
414
|
variant: "body2",
|
|
325
415
|
color: "text.secondary",
|
|
326
|
-
children: status ? `No orders are ${POS_HARDWARE_STAFF_STATUS_LABELS[status].toLowerCase()}.` : 'No hardware orders yet.'
|
|
416
|
+
children: status === 'to-attach' ? 'Every card reader sold in person is attached to a workspace.' : status === 'returns' ? 'No return requests are waiting.' : status ? `No orders are ${POS_HARDWARE_STAFF_STATUS_LABELS[status].toLowerCase()}.` : 'No hardware orders yet.'
|
|
327
417
|
}) : /*#__PURE__*/ _jsx(ListTable, {
|
|
328
418
|
rows: (orders != null ? orders : []).map((order)=>_extends({}, order, {
|
|
329
419
|
$id: order.id
|
|
@@ -361,7 +451,7 @@ function shipTo(order) {
|
|
|
361
451
|
gap: 2
|
|
362
452
|
},
|
|
363
453
|
children: [
|
|
364
|
-
/*#__PURE__*/ _jsxs(Stack, {
|
|
454
|
+
inPerson ? /*#__PURE__*/ _jsxs(Stack, {
|
|
365
455
|
spacing: 0.5,
|
|
366
456
|
sx: {
|
|
367
457
|
mt: 1
|
|
@@ -369,92 +459,154 @@ function shipTo(order) {
|
|
|
369
459
|
children: [
|
|
370
460
|
/*#__PURE__*/ _jsx(Typography, {
|
|
371
461
|
variant: "subtitle2",
|
|
372
|
-
children: '
|
|
462
|
+
children: 'Sold in person'
|
|
373
463
|
}),
|
|
374
|
-
open.lines.map((line)
|
|
375
|
-
var _ref;
|
|
376
|
-
var _posHardwareSku;
|
|
377
|
-
return /*#__PURE__*/ _jsx(Typography, {
|
|
464
|
+
open.lines.map((line)=>/*#__PURE__*/ _jsx(Typography, {
|
|
378
465
|
variant: "body2",
|
|
379
|
-
children: `${line.quantity} × ${
|
|
380
|
-
}, line.sku)
|
|
381
|
-
}),
|
|
466
|
+
children: `${line.quantity} × ${line.name}`
|
|
467
|
+
}, line.sku)),
|
|
382
468
|
/*#__PURE__*/ _jsx(Typography, {
|
|
383
469
|
variant: "body2",
|
|
384
470
|
color: "text.secondary",
|
|
385
|
-
children:
|
|
386
|
-
|
|
387
|
-
|
|
388
|
-
|
|
389
|
-
|
|
390
|
-
|
|
391
|
-
|
|
392
|
-
|
|
393
|
-
|
|
394
|
-
|
|
471
|
+
children: [
|
|
472
|
+
((_open_posSale = open.posSale) == null ? void 0 : _open_posSale.number) ? `Register sale #${open.posSale.number}` : 'Register sale',
|
|
473
|
+
((_open_posSale1 = open.posSale) == null ? void 0 : _open_posSale1.kiosk) ? 'at the kiosk' : null,
|
|
474
|
+
((_open_posSale2 = open.posSale) == null ? void 0 : _open_posSale2.offline) ? 'rung offline' : null,
|
|
475
|
+
`paid ${formatPosHardwareCents(open.totalCents)}`,
|
|
476
|
+
((_open_paidTo = open.paidTo) == null ? void 0 : _open_paidTo.tenders.length) ? `by ${open.paidTo.tenders.map((tender)=>{
|
|
477
|
+
var _TENDER_LABELS_tender;
|
|
478
|
+
return (_TENDER_LABELS_tender = TENDER_LABELS[tender]) != null ? _TENDER_LABELS_tender : tender;
|
|
479
|
+
}).join(' and ')}` : null
|
|
480
|
+
].filter(Boolean).join(' · ')
|
|
395
481
|
}),
|
|
396
482
|
/*#__PURE__*/ _jsx(Typography, {
|
|
397
483
|
variant: "body2",
|
|
398
|
-
|
|
399
|
-
|
|
400
|
-
},
|
|
401
|
-
children: shipTo(open)
|
|
484
|
+
color: "text.secondary",
|
|
485
|
+
children: `Into the store's own account${((_open_paidTo1 = open.paidTo) == null ? void 0 : _open_paidTo1.stripeAccountId) ? ` (${open.paidTo.stripeAccountId})` : ''}, not the platform's.`
|
|
402
486
|
}),
|
|
403
487
|
/*#__PURE__*/ _jsx(Typography, {
|
|
488
|
+
variant: "body2",
|
|
489
|
+
children: attachedTo(open)
|
|
490
|
+
}),
|
|
491
|
+
((_open_attachment = open.attachment) == null ? void 0 : _open_attachment.state) === 'pending' ? /*#__PURE__*/ _jsx(Typography, {
|
|
404
492
|
variant: "body2",
|
|
405
493
|
color: "text.secondary",
|
|
406
|
-
children:
|
|
407
|
-
|
|
408
|
-
|
|
409
|
-
|
|
410
|
-
|
|
494
|
+
children: 'Attach it from the selling store’s register, under To attach, with the buyer’s email, name or workspace.'
|
|
495
|
+
}) : null,
|
|
496
|
+
open.refundedCents ? /*#__PURE__*/ _jsx(Typography, {
|
|
497
|
+
variant: "body2",
|
|
498
|
+
color: "text.secondary",
|
|
499
|
+
children: `Refunded ${formatPosHardwareCents(open.refundedCents)}${open.refunds.some((refund)=>refund.via === 'register') ? ', partly as a return at the register' : ''}`
|
|
500
|
+
}) : null,
|
|
501
|
+
open.returnRequest ? /*#__PURE__*/ _jsx(Alert, {
|
|
502
|
+
severity: returnRequested ? 'warning' : 'info',
|
|
503
|
+
children: returnRequested ? `Return requested ${when(open.returnRequest.requestedAtMs)}: “${(_open_returnRequest_reason = open.returnRequest.reason) != null ? _open_returnRequest_reason : ''}”. Refund it, or decline it with a note.` : `Return request ${open.returnRequest.state}${open.returnRequest.note ? `: ${open.returnRequest.note}` : ''}.`
|
|
504
|
+
}) : null,
|
|
505
|
+
open.contactEmail ? /*#__PURE__*/ _jsx(Typography, {
|
|
506
|
+
variant: "body2",
|
|
507
|
+
color: "text.secondary",
|
|
508
|
+
children: open.contactEmail
|
|
509
|
+
}) : null
|
|
411
510
|
]
|
|
412
|
-
}),
|
|
413
|
-
/*#__PURE__*/
|
|
414
|
-
label: "Stripe hardware order id",
|
|
415
|
-
value: form.stripeHardwareOrderId,
|
|
416
|
-
disabled: closed,
|
|
417
|
-
onChange: (event)=>setForm(_extends({}, form, {
|
|
418
|
-
stripeHardwareOrderId: event.target.value
|
|
419
|
-
}))
|
|
420
|
-
}),
|
|
421
|
-
/*#__PURE__*/ _jsxs(Stack, {
|
|
422
|
-
direction: {
|
|
423
|
-
xs: 'column',
|
|
424
|
-
sm: 'row'
|
|
425
|
-
},
|
|
426
|
-
spacing: 2,
|
|
511
|
+
}) : null,
|
|
512
|
+
inPerson ? null : /*#__PURE__*/ _jsxs(_Fragment, {
|
|
427
513
|
children: [
|
|
514
|
+
/*#__PURE__*/ _jsxs(Stack, {
|
|
515
|
+
spacing: 0.5,
|
|
516
|
+
sx: {
|
|
517
|
+
mt: 1
|
|
518
|
+
},
|
|
519
|
+
children: [
|
|
520
|
+
/*#__PURE__*/ _jsx(Typography, {
|
|
521
|
+
variant: "subtitle2",
|
|
522
|
+
children: 'Order in the Stripe hardware shop'
|
|
523
|
+
}),
|
|
524
|
+
open.lines.map((line)=>{
|
|
525
|
+
var _ref;
|
|
526
|
+
var _posHardwareSku;
|
|
527
|
+
return /*#__PURE__*/ _jsx(Typography, {
|
|
528
|
+
variant: "body2",
|
|
529
|
+
children: `${line.quantity} × ${(_ref = (_posHardwareSku = posHardwareSku(line.sku)) == null ? void 0 : _posHardwareSku.stripeProductName) != null ? _ref : line.name}`
|
|
530
|
+
}, line.sku);
|
|
531
|
+
}),
|
|
532
|
+
/*#__PURE__*/ _jsx(Typography, {
|
|
533
|
+
variant: "body2",
|
|
534
|
+
color: "text.secondary",
|
|
535
|
+
children: `${(_ref2 = (_open_shipping1 = open.shipping) == null ? void 0 : _open_shipping1.label) != null ? _ref2 : 'Shipping'} · paid ${formatPosHardwareCents(open.totalCents)}`
|
|
536
|
+
})
|
|
537
|
+
]
|
|
538
|
+
}),
|
|
539
|
+
/*#__PURE__*/ _jsxs(Stack, {
|
|
540
|
+
spacing: 0.5,
|
|
541
|
+
children: [
|
|
542
|
+
/*#__PURE__*/ _jsx(Typography, {
|
|
543
|
+
variant: "subtitle2",
|
|
544
|
+
children: 'Ship to'
|
|
545
|
+
}),
|
|
546
|
+
/*#__PURE__*/ _jsx(Typography, {
|
|
547
|
+
variant: "body2",
|
|
548
|
+
sx: {
|
|
549
|
+
whiteSpace: 'pre-line'
|
|
550
|
+
},
|
|
551
|
+
children: shipTo(open)
|
|
552
|
+
}),
|
|
553
|
+
/*#__PURE__*/ _jsx(Typography, {
|
|
554
|
+
variant: "body2",
|
|
555
|
+
color: "text.secondary",
|
|
556
|
+
children: [
|
|
557
|
+
(_open_shipping2 = open.shipping) == null ? void 0 : _open_shipping2.phone,
|
|
558
|
+
open.contactEmail
|
|
559
|
+
].filter(Boolean).join(' · ')
|
|
560
|
+
})
|
|
561
|
+
]
|
|
562
|
+
}),
|
|
428
563
|
/*#__PURE__*/ _jsx(TextField, {
|
|
429
|
-
label: "
|
|
430
|
-
value: form.
|
|
564
|
+
label: "Stripe hardware order id",
|
|
565
|
+
value: form.stripeHardwareOrderId,
|
|
431
566
|
disabled: closed,
|
|
432
567
|
onChange: (event)=>setForm(_extends({}, form, {
|
|
433
|
-
|
|
568
|
+
stripeHardwareOrderId: event.target.value
|
|
434
569
|
}))
|
|
435
570
|
}),
|
|
571
|
+
/*#__PURE__*/ _jsxs(Stack, {
|
|
572
|
+
direction: {
|
|
573
|
+
xs: 'column',
|
|
574
|
+
sm: 'row'
|
|
575
|
+
},
|
|
576
|
+
spacing: 2,
|
|
577
|
+
children: [
|
|
578
|
+
/*#__PURE__*/ _jsx(TextField, {
|
|
579
|
+
label: "Carrier",
|
|
580
|
+
value: form.carrier,
|
|
581
|
+
disabled: closed,
|
|
582
|
+
onChange: (event)=>setForm(_extends({}, form, {
|
|
583
|
+
carrier: event.target.value
|
|
584
|
+
}))
|
|
585
|
+
}),
|
|
586
|
+
/*#__PURE__*/ _jsx(TextField, {
|
|
587
|
+
label: "Tracking number",
|
|
588
|
+
value: form.number,
|
|
589
|
+
disabled: closed,
|
|
590
|
+
onChange: (event)=>setForm(_extends({}, form, {
|
|
591
|
+
number: event.target.value
|
|
592
|
+
})),
|
|
593
|
+
sx: {
|
|
594
|
+
flex: 1
|
|
595
|
+
}
|
|
596
|
+
})
|
|
597
|
+
]
|
|
598
|
+
}),
|
|
436
599
|
/*#__PURE__*/ _jsx(TextField, {
|
|
437
|
-
label: "Tracking
|
|
438
|
-
|
|
600
|
+
label: "Tracking link (optional)",
|
|
601
|
+
helperText: "Built from the carrier when left empty",
|
|
602
|
+
value: form.url,
|
|
439
603
|
disabled: closed,
|
|
440
604
|
onChange: (event)=>setForm(_extends({}, form, {
|
|
441
|
-
|
|
442
|
-
}))
|
|
443
|
-
sx: {
|
|
444
|
-
flex: 1
|
|
445
|
-
}
|
|
605
|
+
url: event.target.value
|
|
606
|
+
}))
|
|
446
607
|
})
|
|
447
608
|
]
|
|
448
609
|
}),
|
|
449
|
-
/*#__PURE__*/ _jsx(TextField, {
|
|
450
|
-
label: "Tracking link (optional)",
|
|
451
|
-
helperText: "Built from the carrier when left empty",
|
|
452
|
-
value: form.url,
|
|
453
|
-
disabled: closed,
|
|
454
|
-
onChange: (event)=>setForm(_extends({}, form, {
|
|
455
|
-
url: event.target.value
|
|
456
|
-
}))
|
|
457
|
-
}),
|
|
458
610
|
open.refundPending ? /*#__PURE__*/ _jsx(Alert, {
|
|
459
611
|
severity: "warning",
|
|
460
612
|
children: 'A refund is in progress.'
|
|
@@ -467,7 +619,24 @@ function shipTo(order) {
|
|
|
467
619
|
gap: 1
|
|
468
620
|
},
|
|
469
621
|
children: [
|
|
470
|
-
/*#__PURE__*/ _jsx(Guarded, {
|
|
622
|
+
returnRequested ? /*#__PURE__*/ _jsx(Guarded, {
|
|
623
|
+
reason: writeReason,
|
|
624
|
+
children: /*#__PURE__*/ _jsx(Button, {
|
|
625
|
+
disabled: busy,
|
|
626
|
+
onClick: ()=>setDeclineNote(''),
|
|
627
|
+
children: 'Decline return'
|
|
628
|
+
})
|
|
629
|
+
}) : null,
|
|
630
|
+
inPerson && ((open == null ? void 0 : open.contactEmail) || (open == null ? void 0 : (_open_attachment1 = open.attachment) == null ? void 0 : _open_attachment1.email) || (open == null ? void 0 : (_open_attachment2 = open.attachment) == null ? void 0 : _open_attachment2.uid)) ? /*#__PURE__*/ _jsx(Guarded, {
|
|
631
|
+
reason: writeReason,
|
|
632
|
+
children: /*#__PURE__*/ _jsx(Button, {
|
|
633
|
+
color: "error",
|
|
634
|
+
disabled: busy,
|
|
635
|
+
onClick: ()=>void forgetBuyer(),
|
|
636
|
+
children: "Remove buyer's details"
|
|
637
|
+
})
|
|
638
|
+
}) : null,
|
|
639
|
+
inPerson ? null : /*#__PURE__*/ _jsx(Guarded, {
|
|
471
640
|
reason: writeReason != null ? writeReason : refundable ? undefined : NOT_REFUNDABLE,
|
|
472
641
|
children: /*#__PURE__*/ _jsx(Button, {
|
|
473
642
|
color: "error",
|
|
@@ -476,8 +645,16 @@ function shipTo(order) {
|
|
|
476
645
|
children: 'Cancel and refund'
|
|
477
646
|
})
|
|
478
647
|
}),
|
|
479
|
-
/*#__PURE__*/ _jsx(Guarded, {
|
|
480
|
-
reason: writeReason != null ? writeReason :
|
|
648
|
+
onlineReturn ? /*#__PURE__*/ _jsx(Guarded, {
|
|
649
|
+
reason: writeReason != null ? writeReason : (open == null ? void 0 : open.refundPending) ? 'A refund is in progress.' : undefined,
|
|
650
|
+
children: /*#__PURE__*/ _jsx(Button, {
|
|
651
|
+
color: "error",
|
|
652
|
+
disabled: busy,
|
|
653
|
+
onClick: ()=>void returnMoney('refund-return'),
|
|
654
|
+
children: 'Refund return'
|
|
655
|
+
})
|
|
656
|
+
}) : /*#__PURE__*/ _jsx(Guarded, {
|
|
657
|
+
reason: writeReason != null ? writeReason : refundable ? undefined : inPerson ? REFUNDED : NOT_REFUNDABLE,
|
|
481
658
|
children: /*#__PURE__*/ _jsx(Button, {
|
|
482
659
|
color: "error",
|
|
483
660
|
disabled: busy,
|
|
@@ -509,6 +686,109 @@ function shipTo(order) {
|
|
|
509
686
|
]
|
|
510
687
|
})
|
|
511
688
|
]
|
|
689
|
+
}),
|
|
690
|
+
/*#__PURE__*/ _jsxs(Dialog, {
|
|
691
|
+
open: returning !== null,
|
|
692
|
+
onClose: ()=>setReturning(null),
|
|
693
|
+
maxWidth: "xs",
|
|
694
|
+
fullWidth: true,
|
|
695
|
+
children: [
|
|
696
|
+
/*#__PURE__*/ _jsx(DialogTitle, {
|
|
697
|
+
children: (returning == null ? void 0 : returning.action) === 'cancel' && (open == null ? void 0 : open.source) !== 'in_person' ? 'Cancel and refund this order?' : 'Refund this order?'
|
|
698
|
+
}),
|
|
699
|
+
/*#__PURE__*/ _jsx(DialogContent, {
|
|
700
|
+
children: /*#__PURE__*/ _jsxs(Stack, {
|
|
701
|
+
spacing: 2,
|
|
702
|
+
children: [
|
|
703
|
+
/*#__PURE__*/ _jsx(DialogContentText, {
|
|
704
|
+
children: (returning == null ? void 0 : returning.action) === 'refund-return' && open ? `${formatPosHardwareCents(Math.max(0, returnCents - ((_centsOf = centsOf((_returning_restockingFee = returning.restockingFee) != null ? _returning_restockingFee : '')) != null ? _centsOf : 0)))} goes back to the card it was paid with: the items and their tax. The original shipping is not refunded, and a restocking fee Stripe charged for the return comes off.` : (open == null ? void 0 : open.source) === 'in_person' ? `${formatPosHardwareCents(open.totalCents - open.refundedCents)} goes back to the card the register sale was paid with, from the selling store's own account. Under the hardware terms of sale the buyer sends the reader back at their cost.` : open ? `${formatPosHardwareCents(open.totalCents)} goes back to the card it was paid with. Cancel the order in the Stripe Dashboard too if it was already placed there.` : ''
|
|
705
|
+
}),
|
|
706
|
+
(returning == null ? void 0 : returning.action) === 'refund-return' ? /*#__PURE__*/ _jsx(TextField, {
|
|
707
|
+
label: "Restocking fee Stripe charged (optional)",
|
|
708
|
+
value: (_returning_restockingFee1 = returning.restockingFee) != null ? _returning_restockingFee1 : '',
|
|
709
|
+
onChange: (event)=>setReturning((current)=>current ? _extends({}, current, {
|
|
710
|
+
restockingFee: event.target.value
|
|
711
|
+
}) : current),
|
|
712
|
+
error: centsOf((_returning_restockingFee2 = returning.restockingFee) != null ? _returning_restockingFee2 : '') === null,
|
|
713
|
+
helperText: centsOf((_returning_restockingFee3 = returning.restockingFee) != null ? _returning_restockingFee3 : '') === null ? 'Enter an amount like 15.00, or leave it empty.' : 'In dollars. Leave it empty when Stripe charged none.',
|
|
714
|
+
slotProps: {
|
|
715
|
+
htmlInput: {
|
|
716
|
+
inputMode: 'decimal'
|
|
717
|
+
}
|
|
718
|
+
}
|
|
719
|
+
}) : null,
|
|
720
|
+
/*#__PURE__*/ _jsxs(Stack, {
|
|
721
|
+
children: [
|
|
722
|
+
/*#__PURE__*/ _jsx(FormControlLabel, {
|
|
723
|
+
control: /*#__PURE__*/ _jsx(Switch, {
|
|
724
|
+
checked: (_ref3 = returning == null ? void 0 : returning.notifyBuyer) != null ? _ref3 : true,
|
|
725
|
+
onChange: (event)=>setReturning((current)=>current ? _extends({}, current, {
|
|
726
|
+
notifyBuyer: event.target.checked
|
|
727
|
+
}) : current)
|
|
728
|
+
}),
|
|
729
|
+
label: "Email the buyer"
|
|
730
|
+
}),
|
|
731
|
+
/*#__PURE__*/ _jsx(FormHelperText, {
|
|
732
|
+
children: (returning == null ? void 0 : returning.action) === 'refund-return' ? 'Sends the buyer the return refund email with what came back and what did not.' : (open == null ? void 0 : open.source) === 'in_person' ? 'Sends the buyer the refund email with what came back to their card.' : 'Sends the buyer the canceled-and-refunded email. They get it once, even if their workspace or account later closes.'
|
|
733
|
+
})
|
|
734
|
+
]
|
|
735
|
+
})
|
|
736
|
+
]
|
|
737
|
+
})
|
|
738
|
+
}),
|
|
739
|
+
/*#__PURE__*/ _jsxs(DialogActions, {
|
|
740
|
+
children: [
|
|
741
|
+
/*#__PURE__*/ _jsx(Button, {
|
|
742
|
+
onClick: ()=>setReturning(null),
|
|
743
|
+
children: 'Keep the order'
|
|
744
|
+
}),
|
|
745
|
+
/*#__PURE__*/ _jsx(Button, {
|
|
746
|
+
color: "error",
|
|
747
|
+
disabled: busy || (returning == null ? void 0 : returning.action) === 'refund-return' && centsOf((_returning_restockingFee4 = returning.restockingFee) != null ? _returning_restockingFee4 : '') === null,
|
|
748
|
+
onClick: ()=>void confirmReturn(),
|
|
749
|
+
children: (returning == null ? void 0 : returning.action) === 'cancel' && (open == null ? void 0 : open.source) !== 'in_person' ? 'Cancel and refund' : (returning == null ? void 0 : returning.action) === 'refund-return' ? 'Refund return' : 'Refund'
|
|
750
|
+
})
|
|
751
|
+
]
|
|
752
|
+
})
|
|
753
|
+
]
|
|
754
|
+
}),
|
|
755
|
+
/*#__PURE__*/ _jsxs(Dialog, {
|
|
756
|
+
open: declineNote !== null,
|
|
757
|
+
onClose: ()=>setDeclineNote(null),
|
|
758
|
+
maxWidth: "xs",
|
|
759
|
+
fullWidth: true,
|
|
760
|
+
children: [
|
|
761
|
+
/*#__PURE__*/ _jsx(DialogTitle, {
|
|
762
|
+
children: 'Decline this return?'
|
|
763
|
+
}),
|
|
764
|
+
/*#__PURE__*/ _jsx(DialogContent, {
|
|
765
|
+
children: /*#__PURE__*/ _jsx(TextField, {
|
|
766
|
+
label: "Note for the buyer (optional)",
|
|
767
|
+
value: declineNote != null ? declineNote : '',
|
|
768
|
+
onChange: (event)=>setDeclineNote(event.target.value),
|
|
769
|
+
multiline: true,
|
|
770
|
+
minRows: 2,
|
|
771
|
+
fullWidth: true,
|
|
772
|
+
sx: {
|
|
773
|
+
mt: 1
|
|
774
|
+
}
|
|
775
|
+
})
|
|
776
|
+
}),
|
|
777
|
+
/*#__PURE__*/ _jsxs(DialogActions, {
|
|
778
|
+
children: [
|
|
779
|
+
/*#__PURE__*/ _jsx(Button, {
|
|
780
|
+
onClick: ()=>setDeclineNote(null),
|
|
781
|
+
children: 'Keep it open'
|
|
782
|
+
}),
|
|
783
|
+
/*#__PURE__*/ _jsx(Button, {
|
|
784
|
+
color: "error",
|
|
785
|
+
disabled: busy,
|
|
786
|
+
onClick: ()=>void declineReturn(),
|
|
787
|
+
children: 'Decline'
|
|
788
|
+
})
|
|
789
|
+
]
|
|
790
|
+
})
|
|
791
|
+
]
|
|
512
792
|
})
|
|
513
793
|
]
|
|
514
794
|
});
|