@aglyn/plugins-commerce 1.0.0-beta.229 → 1.0.0-beta.231
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/package.json +13 -13
- package/src/index.d.ts +0 -1
- package/src/index.js +0 -1
- package/src/index.js.map +1 -1
- package/src/lib/barcode/barcode-decode.d.ts +71 -0
- package/src/lib/barcode/barcode-decode.js +498 -0
- package/src/lib/barcode/barcode-decode.js.map +1 -0
- package/src/lib/barcode/barcode-encode.d.ts +44 -0
- package/src/lib/barcode/barcode-encode.js +138 -0
- package/src/lib/barcode/barcode-encode.js.map +1 -0
- package/src/lib/barcode/barcode-scanner.component.d.ts +23 -0
- package/src/lib/barcode/barcode-scanner.component.js +260 -0
- package/src/lib/barcode/barcode-scanner.component.js.map +1 -0
- package/src/lib/barcode/scan-button.component.d.ts +10 -0
- package/src/lib/barcode/scan-button.component.js +62 -0
- package/src/lib/barcode/scan-button.component.js.map +1 -0
- package/src/lib/barcode/scanner-wedge.d.ts +35 -0
- package/src/lib/barcode/scanner-wedge.js +108 -0
- package/src/lib/barcode/scanner-wedge.js.map +1 -0
- package/src/lib/components/account.js +10 -1
- package/src/lib/components/account.js.map +1 -1
- package/src/lib/components/cart-extras.d.ts +45 -0
- package/src/lib/components/cart-extras.js +127 -0
- package/src/lib/components/cart-extras.js.map +1 -0
- package/src/lib/components/cart.js +82 -15
- package/src/lib/components/cart.js.map +1 -1
- package/src/lib/components/checkout-return-notice.d.ts +26 -0
- package/src/lib/components/checkout-return-notice.js +48 -0
- package/src/lib/components/checkout-return-notice.js.map +1 -0
- package/src/lib/components/commerce-console-page.js +124 -0
- package/src/lib/components/commerce-console-page.js.map +1 -1
- package/src/lib/components/commerce-console-sections.d.ts +1 -1
- package/src/lib/components/commerce-console-sections.js +4 -0
- package/src/lib/components/commerce-console-sections.js.map +1 -1
- package/src/lib/components/console/bulk-fulfill.d.ts +44 -0
- package/src/lib/components/console/bulk-fulfill.js +84 -0
- package/src/lib/components/console/bulk-fulfill.js.map +1 -0
- package/src/lib/components/console/customer-notifications-card.component.d.ts +19 -0
- package/src/lib/components/console/customer-notifications-card.component.js +149 -0
- package/src/lib/components/console/customer-notifications-card.component.js.map +1 -0
- package/src/lib/components/console/host-orders-card.component.js +84 -5
- package/src/lib/components/console/host-orders-card.component.js.map +1 -1
- package/src/lib/components/console/locations-card.component.js +164 -57
- package/src/lib/components/console/locations-card.component.js.map +1 -1
- package/src/lib/components/console/order-detail-dialog.component.js +209 -61
- package/src/lib/components/console/order-detail-dialog.component.js.map +1 -1
- package/src/lib/components/console/order-fulfillment-panel.component.d.ts +48 -0
- package/src/lib/components/console/order-fulfillment-panel.component.js +542 -0
- package/src/lib/components/console/order-fulfillment-panel.component.js.map +1 -0
- package/src/lib/components/console/order-invoice.component.d.ts +33 -0
- package/src/lib/components/console/order-invoice.component.js +81 -0
- package/src/lib/components/console/order-invoice.component.js.map +1 -0
- package/src/lib/components/console/order-receipt-resend.component.d.ts +21 -0
- package/src/lib/components/console/order-receipt-resend.component.js +203 -0
- package/src/lib/components/console/order-receipt-resend.component.js.map +1 -0
- package/src/lib/components/console/order-returns.component.d.ts +36 -0
- package/src/lib/components/console/order-returns.component.js +142 -0
- package/src/lib/components/console/order-returns.component.js.map +1 -0
- package/src/lib/components/console/order-shipping-actions.component.d.ts +54 -0
- package/src/lib/components/console/order-shipping-actions.component.js +149 -0
- package/src/lib/components/console/order-shipping-actions.component.js.map +1 -0
- package/src/lib/components/console/order-webhooks-card.component.d.ts +50 -0
- package/src/lib/components/console/order-webhooks-card.component.js +623 -0
- package/src/lib/components/console/order-webhooks-card.component.js.map +1 -0
- package/src/lib/components/console/order-zones.d.ts +155 -0
- package/src/lib/components/console/order-zones.js +40 -0
- package/src/lib/components/console/order-zones.js.map +1 -0
- package/src/lib/components/console/payment-methods-card.component.d.ts +67 -0
- package/src/lib/components/console/payment-methods-card.component.js +395 -0
- package/src/lib/components/console/payment-methods-card.component.js.map +1 -0
- package/src/lib/components/console/pos/pos-api.d.ts +124 -0
- package/src/lib/components/console/pos/pos-api.js +101 -0
- package/src/lib/components/console/pos/pos-api.js.map +1 -0
- package/src/lib/components/console/pos/pos-cart-panel.component.d.ts +36 -0
- package/src/lib/components/console/pos/pos-cart-panel.component.js +160 -0
- package/src/lib/components/console/pos/pos-cart-panel.component.js.map +1 -0
- package/src/lib/components/console/pos/pos-item-dialog.component.d.ts +39 -0
- package/src/lib/components/console/pos/pos-item-dialog.component.js +352 -0
- package/src/lib/components/console/pos/pos-item-dialog.component.js.map +1 -0
- package/src/lib/components/console/pos/pos-product-grid.component.d.ts +47 -0
- package/src/lib/components/console/pos/pos-product-grid.component.js +272 -0
- package/src/lib/components/console/pos/pos-product-grid.component.js.map +1 -0
- package/src/lib/components/console/pos/pos-receipt-panel.component.d.ts +27 -0
- package/src/lib/components/console/pos/pos-receipt-panel.component.js +282 -0
- package/src/lib/components/console/pos/pos-receipt-panel.component.js.map +1 -0
- package/src/lib/components/console/pos/pos-tender-dialogs.component.d.ts +53 -0
- package/src/lib/components/console/pos/pos-tender-dialogs.component.js +445 -0
- package/src/lib/components/console/pos/pos-tender-dialogs.component.js.map +1 -0
- package/src/lib/components/console/pos/pos-tender-panel.component.d.ts +31 -0
- package/src/lib/components/console/pos/pos-tender-panel.component.js +640 -0
- package/src/lib/components/console/pos/pos-tender-panel.component.js.map +1 -0
- package/src/lib/components/console/pos/use-pos-display.d.ts +43 -0
- package/src/lib/components/console/pos/use-pos-display.js +161 -0
- package/src/lib/components/console/pos/use-pos-display.js.map +1 -0
- package/src/lib/components/console/pos-devices-card.component.d.ts +14 -0
- package/src/lib/components/console/pos-devices-card.component.js +546 -0
- package/src/lib/components/console/pos-devices-card.component.js.map +1 -0
- package/src/lib/components/console/pos-display/brand-screen.d.ts +33 -0
- package/src/lib/components/console/pos-display/brand-screen.js +85 -0
- package/src/lib/components/console/pos-display/brand-screen.js.map +1 -0
- package/src/lib/components/console/pos-display/cart-screen.d.ts +29 -0
- package/src/lib/components/console/pos-display/cart-screen.js +166 -0
- package/src/lib/components/console/pos-display/cart-screen.js.map +1 -0
- package/src/lib/components/console/pos-display/pairing-screen.d.ts +24 -0
- package/src/lib/components/console/pos-display/pairing-screen.js +127 -0
- package/src/lib/components/console/pos-display/pairing-screen.js.map +1 -0
- package/src/lib/components/console/pos-display/pos-display-api.d.ts +90 -0
- package/src/lib/components/console/pos-display/pos-display-api.js +140 -0
- package/src/lib/components/console/pos-display/pos-display-api.js.map +1 -0
- package/src/lib/components/console/pos-display/receipt-screen.d.ts +35 -0
- package/src/lib/components/console/pos-display/receipt-screen.js +200 -0
- package/src/lib/components/console/pos-display/receipt-screen.js.map +1 -0
- package/src/lib/components/console/pos-display/tip-screen.d.ts +36 -0
- package/src/lib/components/console/pos-display/tip-screen.js +211 -0
- package/src/lib/components/console/pos-display/tip-screen.js.map +1 -0
- package/src/lib/components/console/pos-display-page.component.d.ts +16 -0
- package/src/lib/components/console/pos-display-page.component.js +407 -0
- package/src/lib/components/console/pos-display-page.component.js.map +1 -0
- package/src/lib/components/console/pos-ops/pos-customer-lookup.component.d.ts +40 -0
- package/src/lib/components/console/pos-ops/pos-customer-lookup.component.js +289 -0
- package/src/lib/components/console/pos-ops/pos-customer-lookup.component.js.map +1 -0
- package/src/lib/components/console/pos-ops/pos-last-receipt.component.d.ts +34 -0
- package/src/lib/components/console/pos-ops/pos-last-receipt.component.js +61 -0
- package/src/lib/components/console/pos-ops/pos-last-receipt.component.js.map +1 -0
- package/src/lib/components/console/pos-ops/pos-operations-bar.component.d.ts +38 -0
- package/src/lib/components/console/pos-ops/pos-operations-bar.component.js +129 -0
- package/src/lib/components/console/pos-ops/pos-operations-bar.component.js.map +1 -0
- package/src/lib/components/console/pos-ops/pos-ops-api.d.ts +37 -0
- package/src/lib/components/console/pos-ops/pos-ops-api.js +60 -0
- package/src/lib/components/console/pos-ops/pos-ops-api.js.map +1 -0
- package/src/lib/components/console/pos-ops/pos-pin-pad.component.d.ts +48 -0
- package/src/lib/components/console/pos-ops/pos-pin-pad.component.js +220 -0
- package/src/lib/components/console/pos-ops/pos-pin-pad.component.js.map +1 -0
- package/src/lib/components/console/pos-ops/pos-receipt-actions.component.d.ts +63 -0
- package/src/lib/components/console/pos-ops/pos-receipt-actions.component.js +186 -0
- package/src/lib/components/console/pos-ops/pos-receipt-actions.component.js.map +1 -0
- package/src/lib/components/console/pos-ops/pos-receipt.d.ts +39 -0
- package/src/lib/components/console/pos-ops/pos-receipt.js +182 -0
- package/src/lib/components/console/pos-ops/pos-receipt.js.map +1 -0
- package/src/lib/components/console/pos-ops/pos-return-dialog.component.d.ts +40 -0
- package/src/lib/components/console/pos-ops/pos-return-dialog.component.js +465 -0
- package/src/lib/components/console/pos-ops/pos-return-dialog.component.js.map +1 -0
- package/src/lib/components/console/pos-ops/pos-shift-history-card.component.d.ts +29 -0
- package/src/lib/components/console/pos-ops/pos-shift-history-card.component.js +253 -0
- package/src/lib/components/console/pos-ops/pos-shift-history-card.component.js.map +1 -0
- package/src/lib/components/console/pos-ops/pos-shift-panel.component.d.ts +34 -0
- package/src/lib/components/console/pos-ops/pos-shift-panel.component.js +494 -0
- package/src/lib/components/console/pos-ops/pos-shift-panel.component.js.map +1 -0
- package/src/lib/components/console/pos-ops/pos-shift-report.component.d.ts +37 -0
- package/src/lib/components/console/pos-ops/pos-shift-report.component.js +102 -0
- package/src/lib/components/console/pos-ops/pos-shift-report.component.js.map +1 -0
- package/src/lib/components/console/pos-ops/pos-staff-pins-card.component.d.ts +30 -0
- package/src/lib/components/console/pos-ops/pos-staff-pins-card.component.js +277 -0
- package/src/lib/components/console/pos-ops/pos-staff-pins-card.component.js.map +1 -0
- package/src/lib/components/console/pos-ops/register-ops.d.ts +28 -0
- package/src/lib/components/console/pos-ops/register-ops.js +28 -0
- package/src/lib/components/console/pos-ops/register-ops.js.map +1 -0
- package/src/lib/components/console/pos-ops/use-pos-cashier.d.ts +46 -0
- package/src/lib/components/console/pos-ops/use-pos-cashier.js +128 -0
- package/src/lib/components/console/pos-ops/use-pos-cashier.js.map +1 -0
- package/src/lib/components/console/pos-ops/use-pos-sale-receipt.d.ts +36 -0
- package/src/lib/components/console/pos-ops/use-pos-sale-receipt.js +64 -0
- package/src/lib/components/console/pos-ops/use-pos-sale-receipt.js.map +1 -0
- package/src/lib/components/console/pos-page.component.d.ts +13 -5
- package/src/lib/components/console/pos-page.component.js +729 -657
- package/src/lib/components/console/pos-page.component.js.map +1 -1
- package/src/lib/components/console/product-editor-dialog.component.js +51 -7
- package/src/lib/components/console/product-editor-dialog.component.js.map +1 -1
- package/src/lib/components/console/product-labels-dialog.component.d.ts +13 -0
- package/src/lib/components/console/product-labels-dialog.component.js +197 -0
- package/src/lib/components/console/product-labels-dialog.component.js.map +1 -0
- package/src/lib/components/console/product-register-fields.component.d.ts +19 -0
- package/src/lib/components/console/product-register-fields.component.js +241 -0
- package/src/lib/components/console/product-register-fields.component.js.map +1 -0
- package/src/lib/components/console/product-zones.d.ts +58 -2
- package/src/lib/components/console/product-zones.js +10 -2
- package/src/lib/components/console/product-zones.js.map +1 -1
- package/src/lib/components/console/products-hub-card.component.js +51 -11
- package/src/lib/components/console/products-hub-card.component.js.map +1 -1
- package/src/lib/components/console/register-hardware-card.component.d.ts +33 -0
- package/src/lib/components/console/register-hardware-card.component.js +826 -0
- package/src/lib/components/console/register-hardware-card.component.js.map +1 -0
- package/src/lib/components/console/registers-card.component.js +24 -5
- package/src/lib/components/console/registers-card.component.js.map +1 -1
- package/src/lib/components/console/return-actions.d.ts +38 -0
- package/src/lib/components/console/return-actions.js +76 -0
- package/src/lib/components/console/return-actions.js.map +1 -0
- package/src/lib/components/console/return-detail-dialog.component.d.ts +34 -0
- package/src/lib/components/console/return-detail-dialog.component.js +718 -0
- package/src/lib/components/console/return-detail-dialog.component.js.map +1 -0
- package/src/lib/components/console/return-settings-card.component.d.ts +34 -0
- package/src/lib/components/console/return-settings-card.component.js +195 -0
- package/src/lib/components/console/return-settings-card.component.js.map +1 -0
- package/src/lib/components/console/return-zones.d.ts +87 -0
- package/src/lib/components/console/return-zones.js +31 -0
- package/src/lib/components/console/return-zones.js.map +1 -0
- package/src/lib/components/console/returns-card.component.d.ts +45 -0
- package/src/lib/components/console/returns-card.component.js +159 -0
- package/src/lib/components/console/returns-card.component.js.map +1 -0
- package/src/lib/components/console/shipping-settings-card.component.js +161 -5
- package/src/lib/components/console/shipping-settings-card.component.js.map +1 -1
- package/src/lib/components/console/shippingeasy-card.component.d.ts +59 -0
- package/src/lib/components/console/shippingeasy-card.component.js +378 -0
- package/src/lib/components/console/shippingeasy-card.component.js.map +1 -0
- package/src/lib/components/console/shipstation-card.component.d.ts +35 -0
- package/src/lib/components/console/shipstation-card.component.js +345 -0
- package/src/lib/components/console/shipstation-card.component.js.map +1 -0
- package/src/lib/components/console/start-return-dialog.component.d.ts +40 -0
- package/src/lib/components/console/start-return-dialog.component.js +243 -0
- package/src/lib/components/console/start-return-dialog.component.js.map +1 -0
- package/src/lib/components/console/stock-movements-card.component.js +2 -1
- package/src/lib/components/console/stock-movements-card.component.js.map +1 -1
- package/src/lib/components/console/store-settings-card.component.js +2 -66
- package/src/lib/components/console/store-settings-card.component.js.map +1 -1
- package/src/lib/components/console/store-zones.d.ts +42 -0
- package/src/lib/components/console/store-zones.js +39 -0
- package/src/lib/components/console/store-zones.js.map +1 -0
- package/src/lib/components/order-status.d.ts +36 -0
- package/src/lib/components/order-status.js +502 -0
- package/src/lib/components/order-status.js.map +1 -0
- package/src/lib/components/product-detail.js +44 -2
- package/src/lib/components/product-detail.js.map +1 -1
- package/src/lib/components/return-request.d.ts +32 -0
- package/src/lib/components/return-request.js +576 -0
- package/src/lib/components/return-request.js.map +1 -0
- package/src/lib/components/storefront-payment-appearance.d.ts +32 -0
- package/src/lib/components/storefront-payment-appearance.js +114 -0
- package/src/lib/components/storefront-payment-appearance.js.map +1 -0
- package/src/lib/components/storefront-payment-element.d.ts +57 -1
- package/src/lib/components/storefront-payment-element.js +332 -33
- package/src/lib/components/storefront-payment-element.js.map +1 -1
- package/src/lib/constants/order-status.d.ts +22 -0
- package/src/lib/constants/order-status.js +22 -0
- package/src/lib/constants/order-status.js.map +1 -0
- package/src/lib/constants/return-request.d.ts +27 -0
- package/src/lib/constants/return-request.js +32 -0
- package/src/lib/constants/return-request.js.map +1 -0
- package/src/lib/constants/stock-movement-query.js +2 -1
- package/src/lib/constants/stock-movement-query.js.map +1 -1
- package/src/lib/declarations.console-server.js +9 -0
- package/src/lib/declarations.console-server.js.map +1 -1
- package/src/lib/declarations.server.d.ts +2 -1
- package/src/lib/declarations.server.js +47 -1
- package/src/lib/declarations.server.js.map +1 -1
- package/src/lib/model/buyer-notifications.d.ts +59 -0
- package/src/lib/model/buyer-notifications.js +97 -0
- package/src/lib/model/buyer-notifications.js.map +1 -0
- package/src/lib/model/commerce-orders.d.ts +127 -1
- package/src/lib/model/commerce-orders.js +24 -15
- package/src/lib/model/commerce-orders.js.map +1 -1
- package/src/lib/model/commerce-payment-methods.d.ts +146 -0
- package/src/lib/model/commerce-payment-methods.js +247 -0
- package/src/lib/model/commerce-payment-methods.js.map +1 -0
- package/src/lib/model/commerce-pos-ops.d.ts +437 -0
- package/src/lib/model/commerce-pos-ops.js +721 -0
- package/src/lib/model/commerce-pos-ops.js.map +1 -0
- package/src/lib/model/commerce-pos.d.ts +263 -0
- package/src/lib/model/commerce-pos.js +375 -0
- package/src/lib/model/commerce-pos.js.map +1 -0
- package/src/lib/model/commerce-printers.d.ts +211 -0
- package/src/lib/model/commerce-printers.js +181 -0
- package/src/lib/model/commerce-printers.js.map +1 -0
- package/src/lib/model/commerce-receipt.d.ts +97 -0
- package/src/lib/model/commerce-receipt.js +180 -0
- package/src/lib/model/commerce-receipt.js.map +1 -0
- package/src/lib/model/commerce-returns.d.ts +207 -0
- package/src/lib/model/commerce-returns.js +300 -0
- package/src/lib/model/commerce-returns.js.map +1 -0
- package/src/lib/model/commerce-shipping.d.ts +44 -1
- package/src/lib/model/commerce-shipping.js +53 -9
- package/src/lib/model/commerce-shipping.js.map +1 -1
- package/src/lib/model/commerce-tax-engine.d.ts +90 -0
- package/src/lib/model/commerce-tax-engine.js +129 -0
- package/src/lib/model/commerce-tax-engine.js.map +1 -0
- package/src/lib/model/commerce.d.ts +88 -2
- package/src/lib/model/commerce.js +89 -1
- package/src/lib/model/commerce.js.map +1 -1
- package/src/lib/model/index.d.ts +15 -0
- package/src/lib/model/index.js +15 -0
- package/src/lib/model/index.js.map +1 -1
- package/src/lib/model/order-events.d.ts +154 -0
- package/src/lib/model/order-events.js +153 -0
- package/src/lib/model/order-events.js.map +1 -0
- package/src/lib/model/order-fulfillment.d.ts +117 -0
- package/src/lib/model/order-fulfillment.js +217 -0
- package/src/lib/model/order-fulfillment.js.map +1 -0
- package/src/lib/model/order-history.d.ts +58 -0
- package/src/lib/model/order-history.js +22 -0
- package/src/lib/model/order-history.js.map +1 -0
- package/src/lib/model/order-list-fields.d.ts +9 -1
- package/src/lib/model/order-list-fields.js +7 -1
- package/src/lib/model/order-list-fields.js.map +1 -1
- package/src/lib/model/order-shipping-export.d.ts +91 -0
- package/src/lib/model/order-shipping-export.js +192 -0
- package/src/lib/model/order-shipping-export.js.map +1 -0
- package/src/lib/model/order-status-view.d.ts +103 -0
- package/src/lib/model/order-status-view.js +156 -0
- package/src/lib/model/order-status-view.js.map +1 -0
- package/src/lib/model/order-webhooks.d.ts +142 -0
- package/src/lib/model/order-webhooks.js +91 -0
- package/src/lib/model/order-webhooks.js.map +1 -0
- package/src/lib/model/product-channel.d.ts +56 -0
- package/src/lib/model/product-channel.js +86 -0
- package/src/lib/model/product-channel.js.map +1 -0
- package/src/lib/model/product-modifiers.d.ts +80 -0
- package/src/lib/model/product-modifiers.js +140 -0
- package/src/lib/model/product-modifiers.js.map +1 -0
- package/src/lib/model/shippingeasy.d.ts +94 -0
- package/src/lib/model/shippingeasy.js +267 -0
- package/src/lib/model/shippingeasy.js.map +1 -0
- package/src/lib/model/shipstation.d.ts +125 -0
- package/src/lib/model/shipstation.js +399 -0
- package/src/lib/model/shipstation.js.map +1 -0
- package/src/lib/model/smart-collection-reads.d.ts +32 -0
- package/src/lib/model/smart-collection-reads.js +63 -0
- package/src/lib/model/smart-collection-reads.js.map +1 -0
- package/src/lib/model/tracking-url.d.ts +74 -0
- package/src/lib/model/tracking-url.js +159 -0
- package/src/lib/model/tracking-url.js.map +1 -0
- package/src/lib/plugin-config.d.ts +13 -0
- package/src/lib/plugin-config.js +77 -5
- package/src/lib/plugin-config.js.map +1 -1
- package/src/lib/plugin.js +23 -0
- package/src/lib/plugin.js.map +1 -1
- package/src/lib/pos-ops-config.d.ts +39 -0
- package/src/lib/pos-ops-config.js +88 -0
- package/src/lib/pos-ops-config.js.map +1 -0
- package/src/lib/printing/print-document.d.ts +106 -0
- package/src/lib/printing/print-document.js +464 -0
- package/src/lib/printing/print-document.js.map +1 -0
- package/src/lib/printing/product-labels.d.ts +58 -0
- package/src/lib/printing/product-labels.js +116 -0
- package/src/lib/printing/product-labels.js.map +1 -0
- package/src/lib/printing/render-epson.d.ts +57 -0
- package/src/lib/printing/render-epson.js +135 -0
- package/src/lib/printing/render-epson.js.map +1 -0
- package/src/lib/printing/render-star.d.ts +45 -0
- package/src/lib/printing/render-star.js +100 -0
- package/src/lib/printing/render-star.js.map +1 -0
- package/src/lib/printing/render-text.d.ts +25 -0
- package/src/lib/printing/render-text.js +53 -0
- package/src/lib/printing/render-text.js.map +1 -0
- package/src/lib/server/api-v1/openapi.js +27 -4
- package/src/lib/server/api-v1/openapi.js.map +1 -1
- package/src/lib/server/api-v1/order-view.d.ts +67 -0
- package/src/lib/server/api-v1/order-view.js +120 -0
- package/src/lib/server/api-v1/order-view.js.map +1 -0
- package/src/lib/server/api-v1/orders-and-products.js +58 -65
- package/src/lib/server/api-v1/orders-and-products.js.map +1 -1
- package/src/lib/server/billing-webhook.js +135 -28
- package/src/lib/server/billing-webhook.js.map +1 -1
- package/src/lib/server/cancel-order.js +29 -0
- package/src/lib/server/cancel-order.js.map +1 -1
- package/src/lib/server/carrier-rates-availability.d.ts +26 -0
- package/src/lib/server/carrier-rates-availability.js +76 -0
- package/src/lib/server/carrier-rates-availability.js.map +1 -0
- package/src/lib/server/carrier-shipping.d.ts +84 -0
- package/src/lib/server/carrier-shipping.js +135 -0
- package/src/lib/server/carrier-shipping.js.map +1 -0
- package/src/lib/server/cart-checkout.d.ts +2 -0
- package/src/lib/server/cart-checkout.js +226 -22
- package/src/lib/server/cart-checkout.js.map +1 -1
- package/src/lib/server/checkout-extras.d.ts +64 -0
- package/src/lib/server/checkout-extras.js +157 -0
- package/src/lib/server/checkout-extras.js.map +1 -0
- package/src/lib/server/{feed.d.ts → checkout-status.d.ts} +2 -7
- package/src/lib/server/checkout-status.js +111 -0
- package/src/lib/server/checkout-status.js.map +1 -0
- package/src/lib/server/checkout.js +86 -9
- package/src/lib/server/checkout.js.map +1 -1
- package/src/lib/server/draft-order.js +34 -5
- package/src/lib/server/draft-order.js.map +1 -1
- package/src/lib/server/fulfill-order.d.ts +127 -10
- package/src/lib/server/fulfill-order.js +451 -49
- package/src/lib/server/fulfill-order.js.map +1 -1
- package/src/lib/server/legacy-feed.d.ts +28 -0
- package/src/lib/server/legacy-feed.js +52 -0
- package/src/lib/server/legacy-feed.js.map +1 -0
- package/src/lib/server/native-checkout.d.ts +34 -15
- package/src/lib/server/native-checkout.js +32 -17
- package/src/lib/server/native-checkout.js.map +1 -1
- package/src/lib/server/order-event-host-emit.d.ts +23 -0
- package/src/lib/server/order-event-host-emit.js +30 -0
- package/src/lib/server/order-event-host-emit.js.map +1 -0
- package/src/lib/server/order-event-triggers.d.ts +37 -0
- package/src/lib/server/order-event-triggers.js +119 -0
- package/src/lib/server/order-event-triggers.js.map +1 -0
- package/src/lib/server/order-events.d.ts +62 -0
- package/src/lib/server/order-events.js +109 -0
- package/src/lib/server/order-events.js.map +1 -0
- package/src/lib/server/order-history.d.ts +23 -0
- package/src/lib/server/order-history.js +65 -0
- package/src/lib/server/order-history.js.map +1 -0
- package/src/lib/server/order-notifications.d.ts +185 -0
- package/src/lib/server/order-notifications.js +567 -0
- package/src/lib/server/order-notifications.js.map +1 -0
- package/src/lib/server/order-receipt-send.d.ts +39 -0
- package/src/lib/server/order-receipt-send.js +151 -0
- package/src/lib/server/order-receipt-send.js.map +1 -0
- package/src/lib/server/order-status-token.d.ts +31 -0
- package/src/lib/server/order-status-token.js +75 -0
- package/src/lib/server/order-status-token.js.map +1 -0
- package/src/lib/server/order-status.d.ts +58 -0
- package/src/lib/server/order-status.js +141 -0
- package/src/lib/server/order-status.js.map +1 -0
- package/src/lib/server/order-webhooks.d.ts +108 -0
- package/src/lib/server/order-webhooks.js +622 -0
- package/src/lib/server/order-webhooks.js.map +1 -0
- package/src/lib/server/orders-shipping-prepare.d.ts +26 -0
- package/src/lib/server/orders-shipping-prepare.js +121 -0
- package/src/lib/server/orders-shipping-prepare.js.map +1 -0
- package/src/lib/server/payment-method-domains.d.ts +209 -0
- package/src/lib/server/payment-method-domains.js +444 -0
- package/src/lib/server/payment-method-domains.js.map +1 -0
- package/src/lib/server/payment-methods.d.ts +77 -0
- package/src/lib/server/payment-methods.js +284 -0
- package/src/lib/server/payment-methods.js.map +1 -0
- package/src/lib/server/pos-auth.d.ts +50 -0
- package/src/lib/server/pos-auth.js +121 -0
- package/src/lib/server/pos-auth.js.map +1 -0
- package/src/lib/server/pos-customer.d.ts +49 -0
- package/src/lib/server/pos-customer.js +257 -0
- package/src/lib/server/pos-customer.js.map +1 -0
- package/src/lib/server/pos-display.d.ts +57 -0
- package/src/lib/server/pos-display.js +419 -0
- package/src/lib/server/pos-display.js.map +1 -0
- package/src/lib/server/pos-fee-month.d.ts +34 -0
- package/src/lib/server/pos-fee-month.js +36 -0
- package/src/lib/server/pos-fee-month.js.map +1 -0
- package/src/lib/server/pos-ops-gate.d.ts +161 -0
- package/src/lib/server/pos-ops-gate.js +295 -0
- package/src/lib/server/pos-ops-gate.js.map +1 -0
- package/src/lib/server/pos-ops-routes.d.ts +22 -0
- package/src/lib/server/pos-ops-routes.js +36 -0
- package/src/lib/server/pos-ops-routes.js.map +1 -0
- package/src/lib/server/pos-order.d.ts +1 -18
- package/src/lib/server/pos-order.js +222 -42
- package/src/lib/server/pos-order.js.map +1 -1
- package/src/lib/server/pos-payment.d.ts +39 -0
- package/src/lib/server/pos-payment.js +922 -0
- package/src/lib/server/pos-payment.js.map +1 -0
- package/src/lib/server/pos-print.d.ts +82 -0
- package/src/lib/server/pos-print.js +193 -0
- package/src/lib/server/pos-print.js.map +1 -0
- package/src/lib/server/pos-readers.d.ts +27 -0
- package/src/lib/server/pos-readers.js +276 -0
- package/src/lib/server/pos-readers.js.map +1 -0
- package/src/lib/server/pos-refund-authority.d.ts +60 -0
- package/src/lib/server/pos-refund-authority.js +72 -0
- package/src/lib/server/pos-refund-authority.js.map +1 -0
- package/src/lib/server/pos-return.d.ts +58 -0
- package/src/lib/server/pos-return.js +891 -0
- package/src/lib/server/pos-return.js.map +1 -0
- package/src/lib/server/pos-sale-stamp.d.ts +66 -0
- package/src/lib/server/pos-sale-stamp.js +84 -0
- package/src/lib/server/pos-sale-stamp.js.map +1 -0
- package/src/lib/server/pos-sale.d.ts +170 -0
- package/src/lib/server/pos-sale.js +461 -0
- package/src/lib/server/pos-sale.js.map +1 -0
- package/src/lib/server/pos-shift.d.ts +45 -0
- package/src/lib/server/pos-shift.js +484 -0
- package/src/lib/server/pos-shift.js.map +1 -0
- package/src/lib/server/pos-staff-pin.d.ts +26 -0
- package/src/lib/server/pos-staff-pin.js +339 -0
- package/src/lib/server/pos-staff-pin.js.map +1 -0
- package/src/lib/server/pos-stripe.d.ts +91 -0
- package/src/lib/server/pos-stripe.js +129 -0
- package/src/lib/server/pos-stripe.js.map +1 -0
- package/src/lib/server/pos-terminal-connection-token.d.ts +48 -0
- package/src/lib/server/pos-terminal-connection-token.js +166 -0
- package/src/lib/server/pos-terminal-connection-token.js.map +1 -0
- package/src/lib/server/pos-terminal.d.ts +218 -0
- package/src/lib/server/pos-terminal.js +1014 -0
- package/src/lib/server/pos-terminal.js.map +1 -0
- package/src/lib/server/print-queue.d.ts +124 -0
- package/src/lib/server/print-queue.js +301 -0
- package/src/lib/server/print-queue.js.map +1 -0
- package/src/lib/server/printer-poll.d.ts +75 -0
- package/src/lib/server/printer-poll.js +325 -0
- package/src/lib/server/printer-poll.js.map +1 -0
- package/src/lib/server/printer-secret.d.ts +39 -0
- package/src/lib/server/printer-secret.js +56 -0
- package/src/lib/server/printer-secret.js.map +1 -0
- package/src/lib/server/printers.d.ts +114 -0
- package/src/lib/server/printers.js +546 -0
- package/src/lib/server/printers.js.map +1 -0
- package/src/lib/server/product-ai-capability.d.ts +42 -0
- package/src/lib/server/product-ai-capability.js +159 -0
- package/src/lib/server/product-ai-capability.js.map +1 -0
- package/src/lib/server/product-catalog.d.ts +42 -0
- package/src/lib/server/product-catalog.js +305 -0
- package/src/lib/server/product-catalog.js.map +1 -0
- package/src/lib/server/product-drafts.d.ts +119 -0
- package/src/lib/server/product-drafts.js +384 -0
- package/src/lib/server/product-drafts.js.map +1 -0
- package/src/lib/server/refund.js +110 -45
- package/src/lib/server/refund.js.map +1 -1
- package/src/lib/server/reserve.js +2 -0
- package/src/lib/server/reserve.js.map +1 -1
- package/src/lib/server/return-status-action.d.ts +37 -0
- package/src/lib/server/return-status-action.js +57 -0
- package/src/lib/server/return-status-action.js.map +1 -0
- package/src/lib/server/returns.d.ts +119 -0
- package/src/lib/server/returns.js +938 -0
- package/src/lib/server/returns.js.map +1 -0
- package/src/lib/server/shipment-records.d.ts +36 -0
- package/src/lib/server/shipment-records.js +289 -0
- package/src/lib/server/shipment-records.js.map +1 -0
- package/src/lib/server/shipping-connector-gates.d.ts +40 -0
- package/src/lib/server/shipping-connector-gates.js +97 -0
- package/src/lib/server/shipping-connector-gates.js.map +1 -0
- package/src/lib/server/shipping-connectors.d.ts +29 -0
- package/src/lib/server/shipping-connectors.js +236 -0
- package/src/lib/server/shipping-connectors.js.map +1 -0
- package/src/lib/server/shippingeasy.d.ts +238 -0
- package/src/lib/server/shippingeasy.js +787 -0
- package/src/lib/server/shippingeasy.js.map +1 -0
- package/src/lib/server/shipstation.d.ts +129 -0
- package/src/lib/server/shipstation.js +483 -0
- package/src/lib/server/shipstation.js.map +1 -0
- package/src/lib/server/site-page-resolver.d.ts +5 -0
- package/src/lib/server/site-page-resolver.js +156 -1
- package/src/lib/server/site-page-resolver.js.map +1 -1
- package/src/lib/server/stock-levels.d.ts +21 -0
- package/src/lib/server/stock-levels.js +263 -0
- package/src/lib/server/stock-levels.js.map +1 -0
- package/src/lib/server/stripe-refund.d.ts +47 -0
- package/src/lib/server/stripe-refund.js +87 -0
- package/src/lib/server/stripe-refund.js.map +1 -0
- package/src/lib/server/supplier-update.js +46 -5
- package/src/lib/server/supplier-update.js.map +1 -1
- package/src/lib/server/tax-engine-quote.d.ts +47 -0
- package/src/lib/server/tax-engine-quote.js +105 -0
- package/src/lib/server/tax-engine-quote.js.map +1 -0
- package/src/lib/server.js +146 -2
- package/src/lib/server.js.map +1 -1
- package/src/lib/site.js +12 -0
- package/src/lib/site.js.map +1 -1
- package/src/lib/subprocessors.d.ts +26 -0
- package/src/lib/subprocessors.js +50 -0
- package/src/lib/subprocessors.js.map +1 -0
- package/src/lib/tenant-emails.js +461 -3
- package/src/lib/tenant-emails.js.map +1 -1
- package/src/lib/testing/fake-firestore.d.ts +45 -0
- package/src/lib/testing/fake-firestore.js +189 -0
- package/src/lib/testing/fake-firestore.js.map +1 -0
- package/src/lib/testing/memory-firestore.d.ts +123 -0
- package/src/lib/testing/memory-firestore.js +274 -0
- package/src/lib/testing/memory-firestore.js.map +1 -0
- package/src/lib/testing/pos-ops-harness.d.ts +50 -0
- package/src/lib/testing/pos-ops-harness.js +184 -0
- package/src/lib/testing/pos-ops-harness.js.map +1 -0
- package/src/lib/testing/pos-ops-memory-firestore.d.ts +55 -0
- package/src/lib/testing/pos-ops-memory-firestore.js +376 -0
- package/src/lib/testing/pos-ops-memory-firestore.js.map +1 -0
- package/src/lib/transfer/records-transfer.d.ts +11 -1
- package/src/lib/transfer/records-transfer.js +127 -5
- package/src/lib/transfer/records-transfer.js.map +1 -1
- package/src/lib/transfer/records.server.d.ts +9 -2
- package/src/lib/transfer/records.server.js +58 -7
- package/src/lib/transfer/records.server.js.map +1 -1
- package/src/lib/transfer/register-transfer-resources.js +40 -1
- package/src/lib/transfer/register-transfer-resources.js.map +1 -1
- package/src/lib/transfer/register-transfer-ui.js +4 -1
- package/src/lib/transfer/register-transfer-ui.js.map +1 -1
- package/src/lib/transfer/shipping-presets.d.ts +23 -0
- package/src/lib/transfer/shipping-presets.js +156 -0
- package/src/lib/transfer/shipping-presets.js.map +1 -0
- package/src/lib/transfer/tracking-transfer.d.ts +101 -0
- package/src/lib/transfer/tracking-transfer.js +546 -0
- package/src/lib/transfer/tracking-transfer.js.map +1 -0
- package/src/lib/transfer/tracking.server.d.ts +37 -0
- package/src/lib/transfer/tracking.server.js +393 -0
- package/src/lib/transfer/tracking.server.js.map +1 -0
- package/src/lib/transfer/transfer-keys.d.ts +2 -1
- package/src/lib/transfer/transfer-keys.js +6 -2
- package/src/lib/transfer/transfer-keys.js.map +1 -1
- package/src/lib/utils/code128.d.ts +37 -0
- package/src/lib/utils/code128.js +199 -0
- package/src/lib/utils/code128.js.map +1 -0
- package/src/lib/utils/order-invoice.d.ts +55 -0
- package/src/lib/utils/order-invoice.js +127 -0
- package/src/lib/utils/order-invoice.js.map +1 -0
- package/src/lib/utils/use-checkout-return-notice.d.ts +34 -0
- package/src/lib/utils/use-checkout-return-notice.js +78 -0
- package/src/lib/utils/use-checkout-return-notice.js.map +1 -0
- package/src/lib/utils/use-storefront-purchase-event.js +4 -0
- package/src/lib/utils/use-storefront-purchase-event.js.map +1 -1
- package/src/lib/server/feed.js +0 -69
- package/src/lib/server/feed.js.map +0 -1
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @license
|
|
3
|
+
* Copyright 2026 Aglyn LLC
|
|
4
|
+
*
|
|
5
|
+
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
6
|
+
* you may not use this file except in compliance with the License.
|
|
7
|
+
* You may obtain a copy of the License at
|
|
8
|
+
*
|
|
9
|
+
* http://www.apache.org/licenses/LICENSE-2.0
|
|
10
|
+
*
|
|
11
|
+
* Unless required by applicable law or agreed to in writing, software
|
|
12
|
+
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
13
|
+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
14
|
+
* See the License for the specific language governing permissions and
|
|
15
|
+
* limitations under the License.
|
|
16
|
+
*/ import { definePluginZone, registerPluginZone } from "@aglyn/aglyn/plugin-manager/plugin-zones";
|
|
17
|
+
import { BUNDLE_ID } from "../../constants/bundle-common.js";
|
|
18
|
+
export const ORDERS_BULK_ZONE = definePluginZone('ordersBulk');
|
|
19
|
+
export const COMMERCE_SETTINGS_ZONE = definePluginZone('commerceSettings');
|
|
20
|
+
/** Declares both, from the console registrar. */ export function registerCommerceStoreZones() {
|
|
21
|
+
const owner = {
|
|
22
|
+
pluginId: BUNDLE_ID
|
|
23
|
+
};
|
|
24
|
+
registerPluginZone({
|
|
25
|
+
zone: ORDERS_BULK_ZONE,
|
|
26
|
+
label: 'Orders bulk actions',
|
|
27
|
+
surface: 'console',
|
|
28
|
+
layout: 'bare',
|
|
29
|
+
description: 'Beside the orders list’s bulk actions, while orders are ticked. A widget here acts on the ticked orders through its own routes and writes no order itself.'
|
|
30
|
+
}, owner);
|
|
31
|
+
registerPluginZone({
|
|
32
|
+
zone: COMMERCE_SETTINGS_ZONE,
|
|
33
|
+
label: 'Store settings',
|
|
34
|
+
surface: 'console',
|
|
35
|
+
description: 'At the foot of the store’s Settings. A widget here keeps settings of its own beside the store’s; it writes none of the store’s.'
|
|
36
|
+
}, owner);
|
|
37
|
+
}
|
|
38
|
+
|
|
39
|
+
//# sourceMappingURL=store-zones.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../../../../../../libs/plugins/commerce/src/lib/components/console/store-zones.ts"],"sourcesContent":["/**\n * @license\n * Copyright 2026 Aglyn LLC\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {\n definePluginZone,\n registerPluginZone,\n} from '@aglyn/aglyn/plugin-manager/plugin-zones'\nimport { BUNDLE_ID } from '../../constants/bundle-common'\n\n/**\n * Two more zones the store's console hosts (AGL-3612): `ordersBulk`, beside\n * the orders list's bulk actions, and `commerceSettings`, at the foot of the\n * store's Settings. A shipping plugin's batch labels and its label settings\n * are the first widgets; another plugin restates these props rather than\n * importing this package.\n */\n\n/** What `ordersBulk` hands a widget: the orders ticked in the list. */\nexport interface ConsoleOrdersBulkZoneProps {\n hostId: string\n /** The org the page names; `undefined` where the host does not know it. */\n orgId: string | undefined\n /** The ticked orders' ids, in the list's order. */\n selectedOrderIds: readonly string[]\n /** The store's name, for anything printed. */\n storeName: string\n}\n\n/** What `commerceSettings` hands a widget: the site. */\nexport interface ConsoleCommerceSettingsZoneProps {\n hostId: string\n orgId: string | undefined\n}\n\nexport const ORDERS_BULK_ZONE = definePluginZone<ConsoleOrdersBulkZoneProps>('ordersBulk')\n\nexport const COMMERCE_SETTINGS_ZONE =\n definePluginZone<ConsoleCommerceSettingsZoneProps>('commerceSettings')\n\n/** Declares both, from the console registrar. */\nexport function registerCommerceStoreZones(): void {\n const owner = { pluginId: BUNDLE_ID }\n registerPluginZone(\n {\n zone: ORDERS_BULK_ZONE,\n label: 'Orders bulk actions',\n surface: 'console',\n layout: 'bare',\n description:\n 'Beside the orders list’s bulk actions, while orders are ticked. A widget here acts on the ticked orders through its own routes and writes no order itself.',\n },\n owner,\n )\n registerPluginZone(\n {\n zone: COMMERCE_SETTINGS_ZONE,\n label: 'Store settings',\n surface: 'console',\n description:\n 'At the foot of the store’s Settings. A widget here keeps settings of its own beside the store’s; it writes none of the store’s.',\n },\n owner,\n )\n}\n"],"names":["definePluginZone","registerPluginZone","BUNDLE_ID","ORDERS_BULK_ZONE","COMMERCE_SETTINGS_ZONE","registerCommerceStoreZones","owner","pluginId","zone","label","surface","layout","description"],"mappings":"AAAA;;;;;;;;;;;;;;;CAeC,GAED,SACEA,gBAAgB,EAChBC,kBAAkB,QACb,2CAA0C;AACjD,SAASC,SAAS,QAAQ,mCAA+B;AA2BzD,OAAO,MAAMC,mBAAmBH,iBAA6C,cAAa;AAE1F,OAAO,MAAMI,yBACXJ,iBAAmD,oBAAmB;AAExE,+CAA+C,GAC/C,OAAO,SAASK;IACd,MAAMC,QAAQ;QAAEC,UAAUL;IAAU;IACpCD,mBACE;QACEO,MAAML;QACNM,OAAO;QACPC,SAAS;QACTC,QAAQ;QACRC,aACE;IACJ,GACAN;IAEFL,mBACE;QACEO,MAAMJ;QACNK,OAAO;QACPC,SAAS;QACTE,aACE;IACJ,GACAN;AAEJ"}
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @license
|
|
3
|
+
* Copyright 2026 Aglyn LLC
|
|
4
|
+
*
|
|
5
|
+
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
6
|
+
* you may not use this file except in compliance with the License.
|
|
7
|
+
* You may obtain a copy of the License at
|
|
8
|
+
*
|
|
9
|
+
* http://www.apache.org/licenses/LICENSE-2.0
|
|
10
|
+
*
|
|
11
|
+
* Unless required by applicable law or agreed to in writing, software
|
|
12
|
+
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
13
|
+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
14
|
+
* See the License for the specific language governing permissions and
|
|
15
|
+
* limitations under the License.
|
|
16
|
+
*/
|
|
17
|
+
import * as Aglyn from '@aglyn/aglyn';
|
|
18
|
+
export declare const ID: Aglyn.ComponentId;
|
|
19
|
+
export interface OrderStatusProps {
|
|
20
|
+
heading?: string;
|
|
21
|
+
}
|
|
22
|
+
/**
|
|
23
|
+
* The guest order-status page (AGL-3610): what a buyer sees when they open
|
|
24
|
+
* the "View your order" link in any order email. The commerce page resolver
|
|
25
|
+
* serves it at `/order-status` inside the site's own header and footer; a
|
|
26
|
+
* merchant can also place it on a page of their own design at that address.
|
|
27
|
+
*
|
|
28
|
+
* The order is read AFTER hydration from `?o=&t=` — the page itself is the
|
|
29
|
+
* same for every buyer and may be cached, the order never is — through
|
|
30
|
+
* `/api/commerce/order-status`, which verifies the signed link and returns an
|
|
31
|
+
* allow-listed projection (no email, phone or address).
|
|
32
|
+
*/
|
|
33
|
+
declare const OrderStatus: import("react").ForwardRefExoticComponent<OrderStatusProps & import("react").RefAttributes<HTMLDivElement>>;
|
|
34
|
+
export declare const schema: Aglyn.ComponentSchema<OrderStatusProps>;
|
|
35
|
+
export declare const presets: Aglyn.PresetSchema[];
|
|
36
|
+
export default OrderStatus;
|
|
@@ -0,0 +1,502 @@
|
|
|
1
|
+
import { _ as _extends } from "@swc/helpers/_/_extends";
|
|
2
|
+
import { _ as _object_without_properties_loose } from "@swc/helpers/_/_object_without_properties_loose";
|
|
3
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
4
|
+
/**
|
|
5
|
+
* @license
|
|
6
|
+
* Copyright 2026 Aglyn LLC
|
|
7
|
+
*
|
|
8
|
+
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
9
|
+
* you may not use this file except in compliance with the License.
|
|
10
|
+
* You may obtain a copy of the License at
|
|
11
|
+
*
|
|
12
|
+
* http://www.apache.org/licenses/LICENSE-2.0
|
|
13
|
+
*
|
|
14
|
+
* Unless required by applicable law or agreed to in writing, software
|
|
15
|
+
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
16
|
+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
17
|
+
* See the License for the specific language governing permissions and
|
|
18
|
+
* limitations under the License.
|
|
19
|
+
*/ import * as Aglyn from "@aglyn/aglyn";
|
|
20
|
+
import { mdiTruckCheckOutline } from "@aglyn/shared-data-mdi";
|
|
21
|
+
import Alert from "@mui/material/Alert";
|
|
22
|
+
import Box from "@mui/material/Box";
|
|
23
|
+
import Button from "@mui/material/Button";
|
|
24
|
+
import Chip from "@mui/material/Chip";
|
|
25
|
+
import CircularProgress from "@mui/material/CircularProgress";
|
|
26
|
+
import Divider from "@mui/material/Divider";
|
|
27
|
+
import Link from "@mui/material/Link";
|
|
28
|
+
import Paper from "@mui/material/Paper";
|
|
29
|
+
import Stack from "@mui/material/Stack";
|
|
30
|
+
import Step from "@mui/material/Step";
|
|
31
|
+
import StepLabel from "@mui/material/StepLabel";
|
|
32
|
+
import Stepper from "@mui/material/Stepper";
|
|
33
|
+
import Typography from "@mui/material/Typography";
|
|
34
|
+
import { forwardRef, useEffect, useState } from "react";
|
|
35
|
+
import { BUNDLE_ID } from "../constants/bundle-common.js";
|
|
36
|
+
import { ORDER_STATUS_COMPONENT_ID } from "../constants/order-status.js";
|
|
37
|
+
import { formatOrderMoney } from "../model/index.js";
|
|
38
|
+
import { generatePresetId } from "../utils/generate-preset-id.js";
|
|
39
|
+
// Component ids are persisted in screen documents; never rename.
|
|
40
|
+
export const ID = ORDER_STATUS_COMPONENT_ID;
|
|
41
|
+
function dateLabel(atMs) {
|
|
42
|
+
if (!atMs) return '';
|
|
43
|
+
return new Date(atMs).toLocaleDateString(undefined, {
|
|
44
|
+
month: 'short',
|
|
45
|
+
day: 'numeric',
|
|
46
|
+
year: 'numeric'
|
|
47
|
+
});
|
|
48
|
+
}
|
|
49
|
+
/**
|
|
50
|
+
* The guest order-status page (AGL-3610): what a buyer sees when they open
|
|
51
|
+
* the "View your order" link in any order email. The commerce page resolver
|
|
52
|
+
* serves it at `/order-status` inside the site's own header and footer; a
|
|
53
|
+
* merchant can also place it on a page of their own design at that address.
|
|
54
|
+
*
|
|
55
|
+
* The order is read AFTER hydration from `?o=&t=` — the page itself is the
|
|
56
|
+
* same for every buyer and may be cached, the order never is — through
|
|
57
|
+
* `/api/commerce/order-status`, which verifies the signed link and returns an
|
|
58
|
+
* allow-listed projection (no email, phone or address).
|
|
59
|
+
*/ const OrderStatus = /*#__PURE__*/ forwardRef((props, ref)=>{
|
|
60
|
+
var _view_extras;
|
|
61
|
+
const { heading } = props, rest = _object_without_properties_loose(props, [
|
|
62
|
+
"heading"
|
|
63
|
+
]);
|
|
64
|
+
const nodeSx = Array.isArray(props['sx']) ? props['sx'] : [
|
|
65
|
+
props['sx']
|
|
66
|
+
];
|
|
67
|
+
const { hostId } = Aglyn.useSite();
|
|
68
|
+
const siteFetch = Aglyn.useSiteFetch();
|
|
69
|
+
const [state, setState] = useState({
|
|
70
|
+
kind: 'loading'
|
|
71
|
+
});
|
|
72
|
+
useEffect(()=>{
|
|
73
|
+
var _params_get, _params_get1;
|
|
74
|
+
if (!hostId) return;
|
|
75
|
+
const params = new URLSearchParams(window.location.search);
|
|
76
|
+
const orderId = (_params_get = params.get('o')) != null ? _params_get : '';
|
|
77
|
+
const token = (_params_get1 = params.get('t')) != null ? _params_get1 : '';
|
|
78
|
+
if (!orderId || !token) {
|
|
79
|
+
setState({
|
|
80
|
+
kind: 'missing',
|
|
81
|
+
message: 'Open this page from the link in your order email.'
|
|
82
|
+
});
|
|
83
|
+
return;
|
|
84
|
+
}
|
|
85
|
+
let live = true;
|
|
86
|
+
siteFetch(`/api/commerce/order-status?hostId=${encodeURIComponent(hostId)}` + `&o=${encodeURIComponent(orderId)}&t=${encodeURIComponent(token)}`).then(async (response)=>{
|
|
87
|
+
const payload = await response.json().catch(()=>({}));
|
|
88
|
+
if (!live) return;
|
|
89
|
+
if (!response.ok) {
|
|
90
|
+
var _ref;
|
|
91
|
+
setState({
|
|
92
|
+
kind: 'missing',
|
|
93
|
+
message: String((_ref = payload == null ? void 0 : payload.error) != null ? _ref : 'We could not find that order.')
|
|
94
|
+
});
|
|
95
|
+
return;
|
|
96
|
+
}
|
|
97
|
+
setState({
|
|
98
|
+
kind: 'ready',
|
|
99
|
+
view: payload
|
|
100
|
+
});
|
|
101
|
+
}).catch(()=>{
|
|
102
|
+
if (live) {
|
|
103
|
+
setState({
|
|
104
|
+
kind: 'missing',
|
|
105
|
+
message: 'Your order could not be loaded. Check your connection and try again.'
|
|
106
|
+
});
|
|
107
|
+
}
|
|
108
|
+
});
|
|
109
|
+
return ()=>{
|
|
110
|
+
live = false;
|
|
111
|
+
};
|
|
112
|
+
}, [
|
|
113
|
+
hostId,
|
|
114
|
+
siteFetch
|
|
115
|
+
]);
|
|
116
|
+
if (!hostId) {
|
|
117
|
+
return /*#__PURE__*/ _jsx(Box, _extends({
|
|
118
|
+
ref: ref
|
|
119
|
+
}, rest, {
|
|
120
|
+
sx: [
|
|
121
|
+
{
|
|
122
|
+
p: 3,
|
|
123
|
+
border: '1px dashed',
|
|
124
|
+
borderColor: 'divider',
|
|
125
|
+
borderRadius: 1
|
|
126
|
+
},
|
|
127
|
+
...nodeSx
|
|
128
|
+
],
|
|
129
|
+
children: /*#__PURE__*/ _jsx(Typography, {
|
|
130
|
+
variant: "body2",
|
|
131
|
+
color: "text.secondary",
|
|
132
|
+
children: 'Order status — a buyer’s order, shipments and tracking render here'
|
|
133
|
+
})
|
|
134
|
+
}));
|
|
135
|
+
}
|
|
136
|
+
if (state.kind === 'loading') {
|
|
137
|
+
return /*#__PURE__*/ _jsx(Box, _extends({
|
|
138
|
+
ref: ref
|
|
139
|
+
}, rest, {
|
|
140
|
+
sx: [
|
|
141
|
+
{
|
|
142
|
+
py: 6,
|
|
143
|
+
textAlign: 'center'
|
|
144
|
+
},
|
|
145
|
+
...nodeSx
|
|
146
|
+
],
|
|
147
|
+
children: /*#__PURE__*/ _jsx(CircularProgress, {
|
|
148
|
+
size: 28,
|
|
149
|
+
"aria-label": "Loading your order"
|
|
150
|
+
})
|
|
151
|
+
}));
|
|
152
|
+
}
|
|
153
|
+
if (state.kind === 'missing') {
|
|
154
|
+
return /*#__PURE__*/ _jsxs(Box, _extends({
|
|
155
|
+
ref: ref
|
|
156
|
+
}, rest, {
|
|
157
|
+
sx: [
|
|
158
|
+
{
|
|
159
|
+
maxWidth: 560
|
|
160
|
+
},
|
|
161
|
+
...nodeSx
|
|
162
|
+
],
|
|
163
|
+
children: [
|
|
164
|
+
/*#__PURE__*/ _jsx(Typography, {
|
|
165
|
+
variant: "h4",
|
|
166
|
+
component: "h1",
|
|
167
|
+
gutterBottom: true,
|
|
168
|
+
children: heading || 'Your order'
|
|
169
|
+
}),
|
|
170
|
+
/*#__PURE__*/ _jsx(Alert, {
|
|
171
|
+
severity: "info",
|
|
172
|
+
children: state.message
|
|
173
|
+
})
|
|
174
|
+
]
|
|
175
|
+
}));
|
|
176
|
+
}
|
|
177
|
+
const { view } = state;
|
|
178
|
+
const money = (cents)=>formatOrderMoney(cents, view.currency);
|
|
179
|
+
const activeStep = Math.max(0, view.steps.reduce((last, step, index)=>step.done ? index : last, 0));
|
|
180
|
+
const cancelled = view.status === 'cancelled';
|
|
181
|
+
return /*#__PURE__*/ _jsx(Box, _extends({
|
|
182
|
+
ref: ref
|
|
183
|
+
}, rest, {
|
|
184
|
+
sx: [
|
|
185
|
+
{
|
|
186
|
+
maxWidth: 720
|
|
187
|
+
},
|
|
188
|
+
...nodeSx
|
|
189
|
+
],
|
|
190
|
+
children: /*#__PURE__*/ _jsxs(Stack, {
|
|
191
|
+
spacing: 3,
|
|
192
|
+
children: [
|
|
193
|
+
/*#__PURE__*/ _jsxs(Stack, {
|
|
194
|
+
spacing: 1,
|
|
195
|
+
children: [
|
|
196
|
+
view.storeName ? /*#__PURE__*/ _jsx(Typography, {
|
|
197
|
+
variant: "overline",
|
|
198
|
+
color: "text.secondary",
|
|
199
|
+
children: view.storeName
|
|
200
|
+
}) : null,
|
|
201
|
+
/*#__PURE__*/ _jsxs(Stack, {
|
|
202
|
+
direction: "row",
|
|
203
|
+
spacing: 1.5,
|
|
204
|
+
sx: {
|
|
205
|
+
alignItems: 'center',
|
|
206
|
+
flexWrap: 'wrap'
|
|
207
|
+
},
|
|
208
|
+
children: [
|
|
209
|
+
/*#__PURE__*/ _jsx(Typography, {
|
|
210
|
+
variant: "h4",
|
|
211
|
+
component: "h1",
|
|
212
|
+
children: heading || `Order ${view.number}`
|
|
213
|
+
}),
|
|
214
|
+
/*#__PURE__*/ _jsx(Chip, {
|
|
215
|
+
label: view.statusLabel,
|
|
216
|
+
color: cancelled || view.status === 'refunded' ? 'default' : 'primary',
|
|
217
|
+
size: "small"
|
|
218
|
+
})
|
|
219
|
+
]
|
|
220
|
+
}),
|
|
221
|
+
view.createdAtMs ? /*#__PURE__*/ _jsx(Typography, {
|
|
222
|
+
variant: "body2",
|
|
223
|
+
color: "text.secondary",
|
|
224
|
+
children: `Placed ${dateLabel(view.createdAtMs)}`
|
|
225
|
+
}) : null
|
|
226
|
+
]
|
|
227
|
+
}),
|
|
228
|
+
/*#__PURE__*/ _jsx(Stepper, {
|
|
229
|
+
activeStep: activeStep,
|
|
230
|
+
alternativeLabel: true,
|
|
231
|
+
children: view.steps.map((step)=>/*#__PURE__*/ _jsx(Step, {
|
|
232
|
+
completed: step.done,
|
|
233
|
+
children: /*#__PURE__*/ _jsx(StepLabel, {
|
|
234
|
+
optional: step.atMs ? /*#__PURE__*/ _jsx(Typography, {
|
|
235
|
+
variant: "caption",
|
|
236
|
+
color: "text.secondary",
|
|
237
|
+
children: dateLabel(step.atMs)
|
|
238
|
+
}) : undefined,
|
|
239
|
+
children: step.label
|
|
240
|
+
})
|
|
241
|
+
}, step.key))
|
|
242
|
+
}),
|
|
243
|
+
view.shipments.length ? /*#__PURE__*/ _jsxs(Stack, {
|
|
244
|
+
spacing: 1.5,
|
|
245
|
+
children: [
|
|
246
|
+
/*#__PURE__*/ _jsx(Typography, {
|
|
247
|
+
variant: "h6",
|
|
248
|
+
component: "h2",
|
|
249
|
+
children: view.shipments.length === 1 ? 'Shipment' : 'Shipments'
|
|
250
|
+
}),
|
|
251
|
+
view.shipments.map((shipment, index)=>/*#__PURE__*/ _jsx(Paper, {
|
|
252
|
+
variant: "outlined",
|
|
253
|
+
sx: {
|
|
254
|
+
p: 2
|
|
255
|
+
},
|
|
256
|
+
children: /*#__PURE__*/ _jsxs(Stack, {
|
|
257
|
+
spacing: 1,
|
|
258
|
+
children: [
|
|
259
|
+
/*#__PURE__*/ _jsxs(Stack, {
|
|
260
|
+
direction: "row",
|
|
261
|
+
spacing: 1,
|
|
262
|
+
sx: {
|
|
263
|
+
alignItems: 'center',
|
|
264
|
+
justifyContent: 'space-between',
|
|
265
|
+
flexWrap: 'wrap'
|
|
266
|
+
},
|
|
267
|
+
children: [
|
|
268
|
+
/*#__PURE__*/ _jsx(Typography, {
|
|
269
|
+
variant: "subtitle2",
|
|
270
|
+
children: [
|
|
271
|
+
view.shipments.length > 1 ? `Package ${index + 1}` : 'Package',
|
|
272
|
+
dateLabel(shipment.atMs) ? `shipped ${dateLabel(shipment.atMs)}` : ''
|
|
273
|
+
].filter(Boolean).join(' · ')
|
|
274
|
+
}),
|
|
275
|
+
shipment.trackingUrl ? /*#__PURE__*/ _jsx(Button, {
|
|
276
|
+
size: "small",
|
|
277
|
+
variant: "outlined",
|
|
278
|
+
href: shipment.trackingUrl,
|
|
279
|
+
target: "_blank",
|
|
280
|
+
rel: "noopener noreferrer",
|
|
281
|
+
children: 'Track package'
|
|
282
|
+
}) : null
|
|
283
|
+
]
|
|
284
|
+
}),
|
|
285
|
+
shipment.trackingNumber ? /*#__PURE__*/ _jsx(Typography, {
|
|
286
|
+
variant: "body2",
|
|
287
|
+
color: "text.secondary",
|
|
288
|
+
children: [
|
|
289
|
+
shipment.carrier,
|
|
290
|
+
shipment.trackingNumber
|
|
291
|
+
].filter(Boolean).join(' ')
|
|
292
|
+
}) : null,
|
|
293
|
+
/*#__PURE__*/ _jsx(Typography, {
|
|
294
|
+
variant: "body2",
|
|
295
|
+
children: shipment.lines.map((line)=>`${line.quantity}× ${line.name}`).join(', ')
|
|
296
|
+
})
|
|
297
|
+
]
|
|
298
|
+
})
|
|
299
|
+
}, shipment.id || index))
|
|
300
|
+
]
|
|
301
|
+
}) : null,
|
|
302
|
+
/*#__PURE__*/ _jsxs(Stack, {
|
|
303
|
+
spacing: 1,
|
|
304
|
+
children: [
|
|
305
|
+
/*#__PURE__*/ _jsx(Typography, {
|
|
306
|
+
variant: "h6",
|
|
307
|
+
component: "h2",
|
|
308
|
+
children: 'Items'
|
|
309
|
+
}),
|
|
310
|
+
view.lines.map((line, index)=>/*#__PURE__*/ _jsxs(Stack, {
|
|
311
|
+
direction: "row",
|
|
312
|
+
spacing: 2,
|
|
313
|
+
sx: {
|
|
314
|
+
justifyContent: 'space-between'
|
|
315
|
+
},
|
|
316
|
+
children: [
|
|
317
|
+
/*#__PURE__*/ _jsxs(Box, {
|
|
318
|
+
children: [
|
|
319
|
+
/*#__PURE__*/ _jsxs(Typography, {
|
|
320
|
+
variant: "body2",
|
|
321
|
+
sx: line.refunded ? {
|
|
322
|
+
textDecoration: 'line-through'
|
|
323
|
+
} : undefined,
|
|
324
|
+
children: [
|
|
325
|
+
`${line.quantity}× ${line.name}`,
|
|
326
|
+
line.variantLabel ? ` (${line.variantLabel})` : ''
|
|
327
|
+
]
|
|
328
|
+
}),
|
|
329
|
+
line.refunded ? /*#__PURE__*/ _jsx(Typography, {
|
|
330
|
+
variant: "caption",
|
|
331
|
+
color: "text.secondary",
|
|
332
|
+
children: 'Refunded'
|
|
333
|
+
}) : !cancelled && line.shippedQuantity > 0 && line.shippedQuantity < line.quantity ? /*#__PURE__*/ _jsx(Typography, {
|
|
334
|
+
variant: "caption",
|
|
335
|
+
color: "text.secondary",
|
|
336
|
+
children: `${line.shippedQuantity} of ${line.quantity} shipped`
|
|
337
|
+
}) : null
|
|
338
|
+
]
|
|
339
|
+
}),
|
|
340
|
+
/*#__PURE__*/ _jsx(Typography, {
|
|
341
|
+
variant: "body2",
|
|
342
|
+
children: money(line.amountCents)
|
|
343
|
+
})
|
|
344
|
+
]
|
|
345
|
+
}, index)),
|
|
346
|
+
/*#__PURE__*/ _jsx(Divider, {}),
|
|
347
|
+
[
|
|
348
|
+
[
|
|
349
|
+
'Subtotal',
|
|
350
|
+
view.totals.itemsCents
|
|
351
|
+
],
|
|
352
|
+
[
|
|
353
|
+
'Discount',
|
|
354
|
+
-view.totals.discountCents
|
|
355
|
+
],
|
|
356
|
+
[
|
|
357
|
+
'Shipping',
|
|
358
|
+
view.totals.shippingCents
|
|
359
|
+
],
|
|
360
|
+
// Optional lines the buyer took at checkout (AGL-3635), by name.
|
|
361
|
+
...((_view_extras = view.extras) != null ? _view_extras : []).map((extra)=>[
|
|
362
|
+
extra.label,
|
|
363
|
+
extra.amountCents
|
|
364
|
+
]),
|
|
365
|
+
[
|
|
366
|
+
'Tax',
|
|
367
|
+
view.totals.taxCents
|
|
368
|
+
]
|
|
369
|
+
].filter(([label, cents])=>label === 'Subtotal' || cents !== 0).map(([label, cents])=>/*#__PURE__*/ _jsxs(Stack, {
|
|
370
|
+
direction: "row",
|
|
371
|
+
sx: {
|
|
372
|
+
justifyContent: 'space-between'
|
|
373
|
+
},
|
|
374
|
+
children: [
|
|
375
|
+
/*#__PURE__*/ _jsx(Typography, {
|
|
376
|
+
variant: "body2",
|
|
377
|
+
color: "text.secondary",
|
|
378
|
+
children: label
|
|
379
|
+
}),
|
|
380
|
+
/*#__PURE__*/ _jsx(Typography, {
|
|
381
|
+
variant: "body2",
|
|
382
|
+
color: "text.secondary",
|
|
383
|
+
children: money(cents)
|
|
384
|
+
})
|
|
385
|
+
]
|
|
386
|
+
}, label)),
|
|
387
|
+
/*#__PURE__*/ _jsxs(Stack, {
|
|
388
|
+
direction: "row",
|
|
389
|
+
sx: {
|
|
390
|
+
justifyContent: 'space-between'
|
|
391
|
+
},
|
|
392
|
+
children: [
|
|
393
|
+
/*#__PURE__*/ _jsx(Typography, {
|
|
394
|
+
variant: "subtitle1",
|
|
395
|
+
children: 'Total'
|
|
396
|
+
}),
|
|
397
|
+
/*#__PURE__*/ _jsx(Typography, {
|
|
398
|
+
variant: "subtitle1",
|
|
399
|
+
children: money(view.totals.totalCents)
|
|
400
|
+
})
|
|
401
|
+
]
|
|
402
|
+
}),
|
|
403
|
+
view.totals.refundedCents > 0 ? /*#__PURE__*/ _jsxs(Stack, {
|
|
404
|
+
direction: "row",
|
|
405
|
+
sx: {
|
|
406
|
+
justifyContent: 'space-between'
|
|
407
|
+
},
|
|
408
|
+
children: [
|
|
409
|
+
/*#__PURE__*/ _jsx(Typography, {
|
|
410
|
+
variant: "body2",
|
|
411
|
+
color: "text.secondary",
|
|
412
|
+
children: 'Refunded'
|
|
413
|
+
}),
|
|
414
|
+
/*#__PURE__*/ _jsx(Typography, {
|
|
415
|
+
variant: "body2",
|
|
416
|
+
color: "text.secondary",
|
|
417
|
+
children: money(-view.totals.refundedCents)
|
|
418
|
+
})
|
|
419
|
+
]
|
|
420
|
+
}) : null
|
|
421
|
+
]
|
|
422
|
+
}),
|
|
423
|
+
view.actions.length ? /*#__PURE__*/ _jsx(Stack, {
|
|
424
|
+
direction: "row",
|
|
425
|
+
spacing: 1,
|
|
426
|
+
sx: {
|
|
427
|
+
flexWrap: 'wrap'
|
|
428
|
+
},
|
|
429
|
+
children: view.actions.map((action)=>/*#__PURE__*/ _jsx(Button, {
|
|
430
|
+
variant: "outlined",
|
|
431
|
+
href: action.url,
|
|
432
|
+
children: action.label
|
|
433
|
+
}, action.id))
|
|
434
|
+
}) : null,
|
|
435
|
+
/*#__PURE__*/ _jsxs(Typography, {
|
|
436
|
+
variant: "body2",
|
|
437
|
+
color: "text.secondary",
|
|
438
|
+
children: [
|
|
439
|
+
'Questions about your order? Reply to your order email',
|
|
440
|
+
view.storeName ? ` or contact ${view.storeName}` : '',
|
|
441
|
+
'.'
|
|
442
|
+
]
|
|
443
|
+
}),
|
|
444
|
+
/*#__PURE__*/ _jsx(Link, {
|
|
445
|
+
href: "/",
|
|
446
|
+
variant: "body2",
|
|
447
|
+
children: 'Continue shopping'
|
|
448
|
+
})
|
|
449
|
+
]
|
|
450
|
+
})
|
|
451
|
+
}));
|
|
452
|
+
});
|
|
453
|
+
OrderStatus.displayName = 'OrderStatus';
|
|
454
|
+
export const schema = {
|
|
455
|
+
$id: ID,
|
|
456
|
+
pluginId: BUNDLE_ID,
|
|
457
|
+
displayName: 'Order status',
|
|
458
|
+
description: 'A buyer’s order, shipments and tracking, opened from the link in their order emails.',
|
|
459
|
+
category: Aglyn.ComponentCategory.COMMERCE,
|
|
460
|
+
icon: {
|
|
461
|
+
path: mdiTruckCheckOutline.path,
|
|
462
|
+
sx: {
|
|
463
|
+
color: 'success.main'
|
|
464
|
+
}
|
|
465
|
+
},
|
|
466
|
+
flags: {
|
|
467
|
+
selfClosing: Aglyn.FEATURE_FLAG.ENABLED
|
|
468
|
+
},
|
|
469
|
+
attributes: [
|
|
470
|
+
{
|
|
471
|
+
name: 'heading',
|
|
472
|
+
label: 'Heading',
|
|
473
|
+
description: 'Shown above the order. Defaults to the order number.',
|
|
474
|
+
component: Aglyn.FieldComponentType.TEXT_FIELD
|
|
475
|
+
}
|
|
476
|
+
]
|
|
477
|
+
};
|
|
478
|
+
export const presets = [
|
|
479
|
+
{
|
|
480
|
+
$id: generatePresetId(ID),
|
|
481
|
+
type: Aglyn.NodeType.PRESET,
|
|
482
|
+
displayName: 'Order status',
|
|
483
|
+
pluginId: BUNDLE_ID,
|
|
484
|
+
description: 'The buyer’s order status, for the /order-status page',
|
|
485
|
+
category: Aglyn.ComponentCategory.COMMERCE,
|
|
486
|
+
icon: {
|
|
487
|
+
path: mdiTruckCheckOutline.path,
|
|
488
|
+
sx: {
|
|
489
|
+
color: 'success.main'
|
|
490
|
+
}
|
|
491
|
+
},
|
|
492
|
+
data: {
|
|
493
|
+
$id: null,
|
|
494
|
+
componentId: ID,
|
|
495
|
+
pluginId: BUNDLE_ID,
|
|
496
|
+
props: {}
|
|
497
|
+
}
|
|
498
|
+
}
|
|
499
|
+
];
|
|
500
|
+
export default OrderStatus;
|
|
501
|
+
|
|
502
|
+
//# sourceMappingURL=order-status.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../../../../../libs/plugins/commerce/src/lib/components/order-status.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\nimport * as Aglyn from '@aglyn/aglyn'\nimport { mdiTruckCheckOutline } from '@aglyn/shared-data-mdi'\nimport Alert from '@mui/material/Alert'\nimport Box from '@mui/material/Box'\nimport Button from '@mui/material/Button'\nimport Chip from '@mui/material/Chip'\nimport CircularProgress from '@mui/material/CircularProgress'\nimport Divider from '@mui/material/Divider'\nimport Link from '@mui/material/Link'\nimport Paper from '@mui/material/Paper'\nimport Stack from '@mui/material/Stack'\nimport Step from '@mui/material/Step'\nimport StepLabel from '@mui/material/StepLabel'\nimport Stepper from '@mui/material/Stepper'\nimport Typography from '@mui/material/Typography'\nimport { forwardRef, useEffect, useState } from 'react'\nimport { BUNDLE_ID } from '../constants/bundle-common'\nimport { ORDER_STATUS_COMPONENT_ID } from '../constants/order-status'\nimport {\n formatOrderMoney,\n type OrderStatusView,\n} from '../model'\nimport { generatePresetId } from '../utils/generate-preset-id'\n\n// Component ids are persisted in screen documents; never rename.\nexport const ID: Aglyn.ComponentId = ORDER_STATUS_COMPONENT_ID\n\nexport interface OrderStatusProps {\n heading?: string\n}\n\ntype LoadState =\n | { kind: 'loading' }\n | { kind: 'missing'; message: string }\n | { kind: 'ready'; view: OrderStatusView }\n\nfunction dateLabel(atMs: number | null): string {\n if (!atMs) return ''\n return new Date(atMs).toLocaleDateString(undefined, {\n month: 'short',\n day: 'numeric',\n year: 'numeric',\n })\n}\n\n/**\n * The guest order-status page (AGL-3610): what a buyer sees when they open\n * the \"View your order\" link in any order email. The commerce page resolver\n * serves it at `/order-status` inside the site's own header and footer; a\n * merchant can also place it on a page of their own design at that address.\n *\n * The order is read AFTER hydration from `?o=&t=` — the page itself is the\n * same for every buyer and may be cached, the order never is — through\n * `/api/commerce/order-status`, which verifies the signed link and returns an\n * allow-listed projection (no email, phone or address).\n */\nconst OrderStatus = forwardRef<HTMLDivElement, OrderStatusProps>((props, ref) => {\n const { heading, ...rest } = props\n const nodeSx = Array.isArray(props['sx']) ? props['sx'] : [props['sx']]\n const { hostId } = Aglyn.useSite()\n const siteFetch = Aglyn.useSiteFetch()\n const [state, setState] = useState<LoadState>({ kind: 'loading' })\n\n useEffect(() => {\n if (!hostId) return\n const params = new URLSearchParams(window.location.search)\n const orderId = params.get('o') ?? ''\n const token = params.get('t') ?? ''\n if (!orderId || !token) {\n setState({\n kind: 'missing',\n message: 'Open this page from the link in your order email.',\n })\n return\n }\n let live = true\n siteFetch(\n `/api/commerce/order-status?hostId=${encodeURIComponent(hostId)}` +\n `&o=${encodeURIComponent(orderId)}&t=${encodeURIComponent(token)}`,\n )\n .then(async (response) => {\n const payload = await response.json().catch(() => ({}))\n if (!live) return\n if (!response.ok) {\n setState({\n kind: 'missing',\n message: String(payload?.error ?? 'We could not find that order.'),\n })\n return\n }\n setState({ kind: 'ready', view: payload as OrderStatusView })\n })\n .catch(() => {\n if (live) {\n setState({\n kind: 'missing',\n message: 'Your order could not be loaded. Check your connection and try again.',\n })\n }\n })\n return () => {\n live = false\n }\n }, [hostId, siteFetch])\n\n if (!hostId) {\n return (\n <Box\n ref={ref}\n {...rest}\n sx={[\n { p: 3, border: '1px dashed', borderColor: 'divider', borderRadius: 1 },\n ...nodeSx,\n ]}\n >\n <Typography variant=\"body2\" color=\"text.secondary\">\n {'Order status — a buyer’s order, shipments and tracking render here'}\n </Typography>\n </Box>\n )\n }\n\n if (state.kind === 'loading') {\n return (\n <Box ref={ref} {...rest} sx={[{ py: 6, textAlign: 'center' }, ...nodeSx]}>\n <CircularProgress size={28} aria-label=\"Loading your order\" />\n </Box>\n )\n }\n\n if (state.kind === 'missing') {\n return (\n <Box ref={ref} {...rest} sx={[{ maxWidth: 560 }, ...nodeSx]}>\n <Typography variant=\"h4\" component=\"h1\" gutterBottom>\n {heading || 'Your order'}\n </Typography>\n <Alert severity=\"info\">{state.message}</Alert>\n </Box>\n )\n }\n\n const { view } = state\n const money = (cents: number) => formatOrderMoney(cents, view.currency)\n const activeStep = Math.max(\n 0,\n view.steps.reduce((last, step, index) => (step.done ? index : last), 0),\n )\n const cancelled = view.status === 'cancelled'\n\n return (\n <Box ref={ref} {...rest} sx={[{ maxWidth: 720 }, ...nodeSx]}>\n <Stack spacing={3}>\n <Stack spacing={1}>\n {view.storeName ? (\n <Typography variant=\"overline\" color=\"text.secondary\">\n {view.storeName}\n </Typography>\n ) : null}\n <Stack direction=\"row\" spacing={1.5} sx={{ alignItems: 'center', flexWrap: 'wrap' }}>\n <Typography variant=\"h4\" component=\"h1\">\n {heading || `Order ${view.number}`}\n </Typography>\n <Chip\n label={view.statusLabel}\n color={cancelled || view.status === 'refunded' ? 'default' : 'primary'}\n size=\"small\"\n />\n </Stack>\n {view.createdAtMs ? (\n <Typography variant=\"body2\" color=\"text.secondary\">\n {`Placed ${dateLabel(view.createdAtMs)}`}\n </Typography>\n ) : null}\n </Stack>\n\n <Stepper activeStep={activeStep} alternativeLabel>\n {view.steps.map((step) => (\n <Step key={step.key} completed={step.done}>\n <StepLabel\n optional={\n step.atMs ? (\n <Typography variant=\"caption\" color=\"text.secondary\">\n {dateLabel(step.atMs)}\n </Typography>\n ) : undefined\n }\n >\n {step.label}\n </StepLabel>\n </Step>\n ))}\n </Stepper>\n\n {view.shipments.length ? (\n <Stack spacing={1.5}>\n <Typography variant=\"h6\" component=\"h2\">\n {view.shipments.length === 1 ? 'Shipment' : 'Shipments'}\n </Typography>\n {view.shipments.map((shipment, index) => (\n <Paper key={shipment.id || index} variant=\"outlined\" sx={{ p: 2 }}>\n <Stack spacing={1}>\n <Stack\n direction=\"row\"\n spacing={1}\n sx={{ alignItems: 'center', justifyContent: 'space-between', flexWrap: 'wrap' }}\n >\n <Typography variant=\"subtitle2\">\n {[\n view.shipments.length > 1 ? `Package ${index + 1}` : 'Package',\n dateLabel(shipment.atMs) ? `shipped ${dateLabel(shipment.atMs)}` : '',\n ]\n .filter(Boolean)\n .join(' · ')}\n </Typography>\n {shipment.trackingUrl ? (\n <Button\n size=\"small\"\n variant=\"outlined\"\n href={shipment.trackingUrl}\n target=\"_blank\"\n rel=\"noopener noreferrer\"\n >\n {'Track package'}\n </Button>\n ) : null}\n </Stack>\n {shipment.trackingNumber ? (\n <Typography variant=\"body2\" color=\"text.secondary\">\n {[shipment.carrier, shipment.trackingNumber].filter(Boolean).join(' ')}\n </Typography>\n ) : null}\n <Typography variant=\"body2\">\n {shipment.lines.map((line) => `${line.quantity}× ${line.name}`).join(', ')}\n </Typography>\n </Stack>\n </Paper>\n ))}\n </Stack>\n ) : null}\n\n <Stack spacing={1}>\n <Typography variant=\"h6\" component=\"h2\">\n {'Items'}\n </Typography>\n {view.lines.map((line, index) => (\n <Stack key={index} direction=\"row\" spacing={2} sx={{ justifyContent: 'space-between' }}>\n <Box>\n <Typography\n variant=\"body2\"\n sx={line.refunded ? { textDecoration: 'line-through' } : undefined}\n >\n {`${line.quantity}× ${line.name}`}\n {line.variantLabel ? ` (${line.variantLabel})` : ''}\n </Typography>\n {line.refunded ? (\n <Typography variant=\"caption\" color=\"text.secondary\">\n {'Refunded'}\n </Typography>\n ) : !cancelled && line.shippedQuantity > 0 && line.shippedQuantity < line.quantity ? (\n <Typography variant=\"caption\" color=\"text.secondary\">\n {`${line.shippedQuantity} of ${line.quantity} shipped`}\n </Typography>\n ) : null}\n </Box>\n <Typography variant=\"body2\">{money(line.amountCents)}</Typography>\n </Stack>\n ))}\n <Divider />\n {(\n [\n ['Subtotal', view.totals.itemsCents],\n ['Discount', -view.totals.discountCents],\n ['Shipping', view.totals.shippingCents],\n // Optional lines the buyer took at checkout (AGL-3635), by name.\n ...(view.extras ?? []).map((extra) => [extra.label, extra.amountCents]),\n ['Tax', view.totals.taxCents],\n ] as Array<[string, number]>\n )\n .filter(([label, cents]) => label === 'Subtotal' || cents !== 0)\n .map(([label, cents]) => (\n <Stack key={label} direction=\"row\" sx={{ justifyContent: 'space-between' }}>\n <Typography variant=\"body2\" color=\"text.secondary\">\n {label}\n </Typography>\n <Typography variant=\"body2\" color=\"text.secondary\">\n {money(cents)}\n </Typography>\n </Stack>\n ))}\n <Stack direction=\"row\" sx={{ justifyContent: 'space-between' }}>\n <Typography variant=\"subtitle1\">{'Total'}</Typography>\n <Typography variant=\"subtitle1\">{money(view.totals.totalCents)}</Typography>\n </Stack>\n {view.totals.refundedCents > 0 ? (\n <Stack direction=\"row\" sx={{ justifyContent: 'space-between' }}>\n <Typography variant=\"body2\" color=\"text.secondary\">\n {'Refunded'}\n </Typography>\n <Typography variant=\"body2\" color=\"text.secondary\">\n {money(-view.totals.refundedCents)}\n </Typography>\n </Stack>\n ) : null}\n </Stack>\n\n {view.actions.length ? (\n <Stack direction=\"row\" spacing={1} sx={{ flexWrap: 'wrap' }}>\n {view.actions.map((action) => (\n <Button key={action.id} variant=\"outlined\" href={action.url}>\n {action.label}\n </Button>\n ))}\n </Stack>\n ) : null}\n\n <Typography variant=\"body2\" color=\"text.secondary\">\n {'Questions about your order? Reply to your order email'}\n {view.storeName ? ` or contact ${view.storeName}` : ''}\n {'.'}\n </Typography>\n <Link href=\"/\" variant=\"body2\">\n {'Continue shopping'}\n </Link>\n </Stack>\n </Box>\n )\n})\nOrderStatus.displayName = 'OrderStatus'\n\nexport const schema: Aglyn.ComponentSchema<OrderStatusProps> = {\n $id: ID,\n pluginId: BUNDLE_ID,\n displayName: 'Order status',\n description:\n 'A buyer’s order, shipments and tracking, opened from the link in their order emails.',\n category: Aglyn.ComponentCategory.COMMERCE,\n icon: { path: mdiTruckCheckOutline.path, sx: { color: 'success.main' } },\n flags: { selfClosing: Aglyn.FEATURE_FLAG.ENABLED },\n attributes: [\n {\n name: 'heading',\n label: 'Heading',\n description: 'Shown above the order. Defaults to the order number.',\n component: Aglyn.FieldComponentType.TEXT_FIELD,\n },\n ],\n}\n\nexport const presets: Aglyn.PresetSchema[] = [\n {\n $id: generatePresetId(ID),\n type: Aglyn.NodeType.PRESET,\n displayName: 'Order status',\n pluginId: BUNDLE_ID,\n description: 'The buyer’s order status, for the /order-status page',\n category: Aglyn.ComponentCategory.COMMERCE,\n icon: { path: mdiTruckCheckOutline.path, sx: { color: 'success.main' } },\n data: {\n $id: null,\n componentId: ID,\n pluginId: BUNDLE_ID,\n props: {},\n },\n },\n]\n\nexport default OrderStatus\n"],"names":["Aglyn","mdiTruckCheckOutline","Alert","Box","Button","Chip","CircularProgress","Divider","Link","Paper","Stack","Step","StepLabel","Stepper","Typography","forwardRef","useEffect","useState","BUNDLE_ID","ORDER_STATUS_COMPONENT_ID","formatOrderMoney","generatePresetId","ID","dateLabel","atMs","Date","toLocaleDateString","undefined","month","day","year","OrderStatus","props","ref","view","heading","rest","nodeSx","Array","isArray","hostId","useSite","siteFetch","useSiteFetch","state","setState","kind","params","URLSearchParams","window","location","search","orderId","get","token","message","live","encodeURIComponent","then","response","payload","json","catch","ok","String","error","sx","p","border","borderColor","borderRadius","variant","color","py","textAlign","size","aria-label","maxWidth","component","gutterBottom","severity","money","cents","currency","activeStep","Math","max","steps","reduce","last","step","index","done","cancelled","status","spacing","storeName","direction","alignItems","flexWrap","number","label","statusLabel","createdAtMs","alternativeLabel","map","completed","optional","key","shipments","length","shipment","justifyContent","filter","Boolean","join","trackingUrl","href","target","rel","trackingNumber","carrier","lines","line","quantity","name","id","refunded","textDecoration","variantLabel","shippedQuantity","amountCents","totals","itemsCents","discountCents","shippingCents","extras","extra","taxCents","totalCents","refundedCents","actions","action","url","displayName","schema","$id","pluginId","description","category","ComponentCategory","COMMERCE","icon","path","flags","selfClosing","FEATURE_FLAG","ENABLED","attributes","FieldComponentType","TEXT_FIELD","presets","type","NodeType","PRESET","data","componentId"],"mappings":"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"}
|