@shipengine/elements 2.24.1 → 2.26.0
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 +187 -6
- package/dist/cjs/components/display-term/display-term.cjs +13 -4
- package/dist/cjs/components/field/credit-card-input/credit-card-input.cjs +46 -29
- package/dist/cjs/components/field/rate-select/rate-card/rate-card.cjs +29 -5
- package/dist/cjs/components/field/rate-select/rate-card/rate-card.styles.cjs +8 -3
- package/dist/cjs/components/field/rate-select/rate-select.cjs +26 -5
- package/dist/cjs/components/forms/address-form/address-form-schema.cjs +3 -3
- package/dist/cjs/components/forms/edit-billing-form/edit-billing-form.cjs +57 -4
- package/dist/cjs/components/grid-controller/error-banner/error-banner.cjs +74 -0
- package/dist/cjs/components/{error-display/error-display.styles.cjs → grid-controller/error-banner/error-banner.styles.cjs} +8 -4
- package/dist/cjs/components/grid-controller/error-banner/index.cjs +7 -0
- package/dist/cjs/components/grid-controller/grid-controller.cjs +49 -3
- package/dist/cjs/components/grid-controller/grid-controller.styles.cjs +11 -1
- package/dist/cjs/components/history/history-card/history-card.cjs +1 -1
- package/dist/cjs/components/history/history-card-extension/history-card-extension.cjs +0 -1
- package/dist/cjs/components/service-card/service-card.cjs +4 -4
- package/dist/cjs/components/service-card/service-card.styles.cjs +5 -2
- package/dist/cjs/components/service-point-display/service-point-display.cjs +1 -36
- package/dist/cjs/components/service-point-display/service-point-display.styles.cjs +0 -12
- package/dist/cjs/components/shipment-not-found-error/index.cjs +7 -0
- package/dist/cjs/components/shipment-not-found-error/shipment-not-found-error.cjs +40 -0
- package/dist/cjs/components/shipment-not-found-error/shipment-not-found-error.styles.cjs +24 -0
- package/dist/cjs/components/suspend-purchase/suspend-purchase.cjs +11 -3
- package/dist/cjs/components/ups-terms-disclosure/index.cjs +7 -0
- package/dist/cjs/components/ups-terms-disclosure/ups-terms-disclosure.cjs +35 -0
- package/dist/cjs/elements/labels-grid/hooks/use-labels-grid.cjs +45 -5
- package/dist/cjs/elements/labels-grid/labels-grid.cjs +24 -6
- package/dist/cjs/elements/purchase-label/components/rate-form/rate-form.cjs +13 -3
- package/dist/cjs/elements/purchase-label/components/rate-form/rate-schema.cjs +7 -2
- package/dist/cjs/elements/purchase-label/components/rate-form/rate-view.cjs +2 -0
- package/dist/cjs/elements/purchase-label/hooks/use-rate-options.cjs +31 -2
- package/dist/cjs/elements/purchase-label/hooks/use-rates-form.cjs +14 -18
- package/dist/cjs/elements/purchase-label/hooks/use-request-rates.cjs +20 -20
- package/dist/cjs/elements/purchase-label/purchase-label.cjs +4 -1
- package/dist/cjs/elements/shipment-summary/components/label-display/label-card.cjs +16 -31
- package/dist/cjs/elements/shipment-summary/components/label-display/label-card.styles.cjs +0 -19
- package/dist/cjs/elements/shipment-summary/components/label-display/paperless-label-display.cjs +54 -0
- package/dist/cjs/elements/shipment-summary/components/label-display/paperless-label-display.styles.cjs +27 -0
- package/dist/cjs/elements/shipments-grid/hooks/use-shipments-grid.cjs +41 -3
- package/dist/cjs/elements/shipments-grid/shipments-grid.cjs +18 -3
- package/dist/cjs/features/manage-carriers/hooks/use-list-funding-source-carriers.cjs +9 -10
- package/dist/cjs/features/manage-carriers/manage-carriers-row/manage-carriers-row.cjs +6 -1
- package/dist/cjs/features/manage-carriers/register-funding-source-carrier-form/register-funding-source-carrier-form.cjs +3 -3
- package/dist/cjs/features/payment-method-settings/payment-method-settings.cjs +56 -18
- package/dist/cjs/hooks/use-configure-shipment.cjs +32 -11
- package/dist/cjs/hooks/use-helpers.cjs +4 -1
- package/dist/cjs/index.cjs +15 -12
- package/dist/cjs/locales/en/account-settings.json.cjs +6 -0
- package/dist/cjs/locales/en/common.json.cjs +2 -0
- package/dist/cjs/locales/en/grid-controller.json.cjs +13 -0
- package/dist/cjs/locales/en/index.cjs +2 -1
- package/dist/cjs/locales/en/onboarding.json.cjs +5 -0
- package/dist/cjs/locales/en/purchase-label.json.cjs +5 -3
- package/dist/cjs/package.json.cjs +1 -1
- package/dist/cjs/utilities/address.cjs +29 -0
- package/dist/cjs/utilities/files.cjs +35 -0
- package/dist/cjs/utilities/formatString.cjs +9 -0
- package/dist/cjs/utilities/index.cjs +5 -0
- package/dist/cjs/utilities/money.cjs +14 -0
- package/dist/cjs/utilities/rate-warning-messages.cjs +25 -0
- package/dist/cjs/utilities/shipengine/warehouses.cjs +2 -1
- package/dist/cjs/workflows/connect-external-carrier/connect-external-carrier.cjs +7 -3
- package/dist/cjs/workflows/label-workflow/label-workflow.cjs +11 -3
- package/dist/cjs/workflows/onboarding/components/confirmation-and-submission-step/confirmation-and-submission-step.cjs +1 -1
- package/dist/cjs/workflows/onboarding/components/confirmation-and-submission-step/use-confirmation-and-submission-step.cjs +17 -1
- package/dist/cjs/workflows/onboarding/components/onboarding-wizard/onboarding-wizard.cjs +4 -1
- package/dist/cjs/workflows/onboarding/components/terms-agreement-form/terms-agreement-form.cjs +18 -11
- package/dist/cjs/workflows/onboarding/components/terms-agreement-form/terms-agreement-form.styles.cjs +0 -3
- package/dist/cjs/workflows/onboarding/components/terms-agreement-step/terms-agreement-step.cjs +36 -12
- package/dist/cjs/workflows/onboarding/components/terms-agreement-step/terms-agreement-step.styles.cjs +10 -4
- package/dist/cjs/workflows/onboarding/components/terms-agreement-step/use-terms-agreement-step.cjs +12 -12
- package/dist/esm/components/display-term/display-term.js +14 -5
- package/dist/esm/components/field/credit-card-input/credit-card-input.js +47 -30
- package/dist/esm/components/field/rate-select/rate-card/rate-card.js +30 -6
- package/dist/esm/components/field/rate-select/rate-card/rate-card.styles.js +8 -3
- package/dist/esm/components/field/rate-select/rate-select.js +26 -5
- package/dist/esm/components/forms/address-form/address-form-schema.js +3 -3
- package/dist/esm/components/forms/edit-billing-form/edit-billing-form.js +58 -5
- package/dist/esm/components/grid-controller/error-banner/error-banner.js +72 -0
- package/dist/esm/components/{error-display/error-display.styles.js → grid-controller/error-banner/error-banner.styles.js} +8 -4
- package/dist/esm/components/grid-controller/error-banner/index.js +1 -0
- package/dist/esm/components/grid-controller/grid-controller.js +51 -5
- package/dist/esm/components/grid-controller/grid-controller.styles.js +11 -1
- package/dist/esm/components/history/history-card/history-card.js +1 -1
- package/dist/esm/components/history/history-card-extension/history-card-extension.js +0 -1
- package/dist/esm/components/service-card/service-card.js +4 -4
- package/dist/esm/components/service-card/service-card.styles.js +5 -2
- package/dist/esm/components/service-point-display/service-point-display.js +2 -37
- package/dist/esm/components/service-point-display/service-point-display.styles.js +0 -12
- package/dist/esm/components/shipment-not-found-error/index.js +1 -0
- package/dist/esm/components/shipment-not-found-error/shipment-not-found-error.js +38 -0
- package/dist/esm/components/shipment-not-found-error/shipment-not-found-error.styles.js +22 -0
- package/dist/esm/components/suspend-purchase/suspend-purchase.js +11 -3
- package/dist/esm/components/ups-terms-disclosure/index.js +1 -0
- package/dist/esm/components/ups-terms-disclosure/ups-terms-disclosure.js +33 -0
- package/dist/esm/elements/labels-grid/hooks/use-labels-grid.js +46 -6
- package/dist/esm/elements/labels-grid/labels-grid.js +24 -6
- package/dist/esm/elements/purchase-label/components/rate-form/rate-form.js +14 -4
- package/dist/esm/elements/purchase-label/components/rate-form/rate-schema.js +7 -2
- package/dist/esm/elements/purchase-label/components/rate-form/rate-view.js +2 -0
- package/dist/esm/elements/purchase-label/hooks/use-rate-options.js +31 -2
- package/dist/esm/elements/purchase-label/hooks/use-rates-form.js +14 -18
- package/dist/esm/elements/purchase-label/hooks/use-request-rates.js +20 -20
- package/dist/esm/elements/purchase-label/purchase-label.js +4 -1
- package/dist/esm/elements/shipment-summary/components/label-display/label-card.js +18 -33
- package/dist/esm/elements/shipment-summary/components/label-display/label-card.styles.js +0 -19
- package/dist/esm/elements/shipment-summary/components/label-display/paperless-label-display.js +52 -0
- package/dist/esm/elements/shipment-summary/components/label-display/paperless-label-display.styles.js +25 -0
- package/dist/esm/elements/shipments-grid/hooks/use-shipments-grid.js +42 -4
- package/dist/esm/elements/shipments-grid/shipments-grid.js +18 -3
- package/dist/esm/features/manage-carriers/hooks/use-list-funding-source-carriers.js +9 -10
- package/dist/esm/features/manage-carriers/manage-carriers-row/manage-carriers-row.js +7 -2
- package/dist/esm/features/manage-carriers/register-funding-source-carrier-form/register-funding-source-carrier-form.js +3 -3
- package/dist/esm/features/payment-method-settings/payment-method-settings.js +57 -19
- package/dist/esm/hooks/use-configure-shipment.js +33 -12
- package/dist/esm/hooks/use-helpers.js +4 -1
- package/dist/esm/index.js +1 -0
- package/dist/esm/locales/en/account-settings.json.js +6 -0
- package/dist/esm/locales/en/common.json.js +2 -0
- package/dist/esm/locales/en/grid-controller.json.js +11 -0
- package/dist/esm/locales/en/index.js +2 -1
- package/dist/esm/locales/en/onboarding.json.js +5 -0
- package/dist/esm/locales/en/purchase-label.json.js +5 -3
- package/dist/esm/package.json.js +1 -1
- package/dist/esm/utilities/address.js +26 -0
- package/dist/esm/utilities/files.js +32 -0
- package/dist/esm/utilities/formatString.js +9 -1
- package/dist/esm/utilities/index.js +2 -0
- package/dist/esm/utilities/money.js +14 -1
- package/dist/esm/utilities/rate-warning-messages.js +23 -0
- package/dist/esm/utilities/shipengine/warehouses.js +2 -1
- package/dist/esm/workflows/connect-external-carrier/connect-external-carrier.js +7 -3
- package/dist/esm/workflows/label-workflow/label-workflow.js +11 -3
- package/dist/esm/workflows/onboarding/components/confirmation-and-submission-step/confirmation-and-submission-step.js +1 -1
- package/dist/esm/workflows/onboarding/components/confirmation-and-submission-step/use-confirmation-and-submission-step.js +17 -1
- package/dist/esm/workflows/onboarding/components/onboarding-wizard/onboarding-wizard.js +4 -1
- package/dist/esm/workflows/onboarding/components/terms-agreement-form/terms-agreement-form.js +18 -11
- package/dist/esm/workflows/onboarding/components/terms-agreement-form/terms-agreement-form.styles.js +0 -3
- package/dist/esm/workflows/onboarding/components/terms-agreement-step/terms-agreement-step.js +37 -13
- package/dist/esm/workflows/onboarding/components/terms-agreement-step/terms-agreement-step.styles.js +10 -4
- package/dist/esm/workflows/onboarding/components/terms-agreement-step/use-terms-agreement-step.js +12 -12
- package/dist/types/components/display-term/display-term.d.ts +3 -3
- package/dist/types/components/display-term/display-term.d.ts.map +1 -1
- package/dist/types/components/field/credit-card-input/credit-card-input.d.ts.map +1 -1
- package/dist/types/components/field/rate-select/rate-card/rate-card.d.ts +4 -2
- package/dist/types/components/field/rate-select/rate-card/rate-card.d.ts.map +1 -1
- package/dist/types/components/field/rate-select/rate-card/rate-card.styles.d.ts +7 -2
- package/dist/types/components/field/rate-select/rate-card/rate-card.styles.d.ts.map +1 -1
- package/dist/types/components/field/rate-select/rate-select.d.ts +1 -0
- package/dist/types/components/field/rate-select/rate-select.d.ts.map +1 -1
- package/dist/types/components/forms/address-form/address-form-schema.d.ts.map +1 -1
- package/dist/types/components/forms/edit-billing-form/edit-billing-form.d.ts +2 -1
- package/dist/types/components/forms/edit-billing-form/edit-billing-form.d.ts.map +1 -1
- package/dist/types/components/grid-controller/error-banner/error-banner.d.ts +10 -0
- package/dist/types/components/grid-controller/error-banner/error-banner.d.ts.map +1 -0
- package/dist/types/components/grid-controller/error-banner/error-banner.styles.d.ts +24 -0
- package/dist/types/components/grid-controller/error-banner/error-banner.styles.d.ts.map +1 -0
- package/dist/types/components/grid-controller/error-banner/index.d.ts +2 -0
- package/dist/types/components/grid-controller/error-banner/index.d.ts.map +1 -0
- package/dist/types/components/grid-controller/grid-controller.d.ts +8 -1
- package/dist/types/components/grid-controller/grid-controller.d.ts.map +1 -1
- package/dist/types/components/grid-controller/grid-controller.styles.d.ts +10 -0
- package/dist/types/components/grid-controller/grid-controller.styles.d.ts.map +1 -1
- package/dist/types/components/history/history-card-extension/history-card-extension.d.ts.map +1 -1
- package/dist/types/components/service-card/service-card.d.ts +1 -1
- package/dist/types/components/service-card/service-card.d.ts.map +1 -1
- package/dist/types/components/service-card/service-card.styles.d.ts +4 -1
- package/dist/types/components/service-card/service-card.styles.d.ts.map +1 -1
- package/dist/types/components/service-point-display/service-point-display.d.ts.map +1 -1
- package/dist/types/components/service-point-display/service-point-display.styles.d.ts +0 -12
- package/dist/types/components/service-point-display/service-point-display.styles.d.ts.map +1 -1
- package/dist/types/components/shipment-not-found-error/index.d.ts +2 -0
- package/dist/types/components/shipment-not-found-error/index.d.ts.map +1 -0
- package/dist/types/components/shipment-not-found-error/shipment-not-found-error.d.ts +6 -0
- package/dist/types/components/shipment-not-found-error/shipment-not-found-error.d.ts.map +1 -0
- package/dist/types/components/shipment-not-found-error/shipment-not-found-error.styles.d.ts +19 -0
- package/dist/types/components/shipment-not-found-error/shipment-not-found-error.styles.d.ts.map +1 -0
- package/dist/types/components/suspend-purchase/suspend-purchase.d.ts +4 -2
- package/dist/types/components/suspend-purchase/suspend-purchase.d.ts.map +1 -1
- package/dist/types/components/ups-terms-disclosure/index.d.ts +2 -0
- package/dist/types/components/ups-terms-disclosure/index.d.ts.map +1 -0
- package/dist/types/components/ups-terms-disclosure/ups-terms-disclosure.d.ts +2 -0
- package/dist/types/components/ups-terms-disclosure/ups-terms-disclosure.d.ts.map +1 -0
- package/dist/types/elements/labels-grid/hooks/use-labels-grid.d.ts +7 -2
- package/dist/types/elements/labels-grid/hooks/use-labels-grid.d.ts.map +1 -1
- package/dist/types/elements/labels-grid/labels-grid.d.ts +29 -3
- package/dist/types/elements/labels-grid/labels-grid.d.ts.map +1 -1
- package/dist/types/elements/manage-carriers/manage-carriers.d.ts +23 -1
- package/dist/types/elements/manage-carriers/manage-carriers.d.ts.map +1 -1
- package/dist/types/elements/manage-external-carriers/manage-external-carriers.d.ts +23 -1
- package/dist/types/elements/manage-external-carriers/manage-external-carriers.d.ts.map +1 -1
- package/dist/types/elements/manage-funding/manage-funding-element.d.ts +23 -1
- package/dist/types/elements/manage-funding/manage-funding-element.d.ts.map +1 -1
- package/dist/types/elements/manage-warehouses/manage-warehouses.d.ts +23 -1
- package/dist/types/elements/manage-warehouses/manage-warehouses.d.ts.map +1 -1
- package/dist/types/elements/payment-method-settings/payment-method-settings-element.d.ts +23 -1
- package/dist/types/elements/payment-method-settings/payment-method-settings-element.d.ts.map +1 -1
- package/dist/types/elements/purchase-label/components/rate-form/rate-form.d.ts +1 -1
- package/dist/types/elements/purchase-label/components/rate-form/rate-form.d.ts.map +1 -1
- package/dist/types/elements/purchase-label/components/rate-form/rate-schema.d.ts +10 -1
- package/dist/types/elements/purchase-label/components/rate-form/rate-schema.d.ts.map +1 -1
- package/dist/types/elements/purchase-label/components/rate-form/rate-view.d.ts +2 -1
- package/dist/types/elements/purchase-label/components/rate-form/rate-view.d.ts.map +1 -1
- package/dist/types/elements/purchase-label/hooks/use-rate-options.d.ts.map +1 -1
- package/dist/types/elements/purchase-label/hooks/use-rates-form.d.ts +2 -2
- package/dist/types/elements/purchase-label/hooks/use-rates-form.d.ts.map +1 -1
- package/dist/types/elements/purchase-label/hooks/use-request-rates.d.ts.map +1 -1
- package/dist/types/elements/purchase-label/purchase-label.d.ts +23 -1
- package/dist/types/elements/purchase-label/purchase-label.d.ts.map +1 -1
- package/dist/types/elements/select-label-layout/select-label-layout-element.d.ts +23 -1
- package/dist/types/elements/select-label-layout/select-label-layout-element.d.ts.map +1 -1
- package/dist/types/elements/shipment-summary/components/label-display/label-card.d.ts.map +1 -1
- package/dist/types/elements/shipment-summary/components/label-display/label-card.styles.d.ts +0 -19
- package/dist/types/elements/shipment-summary/components/label-display/label-card.styles.d.ts.map +1 -1
- package/dist/types/elements/shipment-summary/components/label-display/paperless-label-display.d.ts +8 -0
- package/dist/types/elements/shipment-summary/components/label-display/paperless-label-display.d.ts.map +1 -0
- package/dist/types/elements/shipment-summary/components/label-display/paperless-label-display.styles.d.ts +22 -0
- package/dist/types/elements/shipment-summary/components/label-display/paperless-label-display.styles.d.ts.map +1 -0
- package/dist/types/elements/shipment-summary/shipment-summary.d.ts +23 -1
- package/dist/types/elements/shipment-summary/shipment-summary.d.ts.map +1 -1
- package/dist/types/elements/shipments-grid/hooks/use-shipments-grid.d.ts +6 -1
- package/dist/types/elements/shipments-grid/hooks/use-shipments-grid.d.ts.map +1 -1
- package/dist/types/elements/shipments-grid/shipments-grid.d.ts +32 -2
- package/dist/types/elements/shipments-grid/shipments-grid.d.ts.map +1 -1
- package/dist/types/elements/theme-creator/theme-creator.d.ts +23 -1
- package/dist/types/elements/theme-creator/theme-creator.d.ts.map +1 -1
- package/dist/types/elements/transaction-history/transaction-history-element.d.ts +23 -1
- package/dist/types/elements/transaction-history/transaction-history-element.d.ts.map +1 -1
- package/dist/types/elements/unit-settings/unit-settings-element.d.ts +23 -1
- package/dist/types/elements/unit-settings/unit-settings-element.d.ts.map +1 -1
- package/dist/types/elements/vat-settings/vat-settings-element.d.ts +23 -1
- package/dist/types/elements/vat-settings/vat-settings-element.d.ts.map +1 -1
- package/dist/types/elements/void-label/void-label.d.ts +23 -1
- package/dist/types/elements/void-label/void-label.d.ts.map +1 -1
- package/dist/types/features/manage-carriers/hooks/use-list-funding-source-carriers.d.ts.map +1 -1
- package/dist/types/features/manage-carriers/manage-carriers-row/manage-carriers-row.d.ts.map +1 -1
- package/dist/types/features/manage-carriers/register-funding-source-carrier-form/register-funding-source-carrier-form.d.ts +3 -2
- package/dist/types/features/manage-carriers/register-funding-source-carrier-form/register-funding-source-carrier-form.d.ts.map +1 -1
- package/dist/types/features/payment-method-settings/payment-method-settings.d.ts.map +1 -1
- package/dist/types/hooks/use-configure-shipment.d.ts +1 -0
- package/dist/types/hooks/use-configure-shipment.d.ts.map +1 -1
- package/dist/types/hooks/use-helpers.d.ts +2 -0
- package/dist/types/hooks/use-helpers.d.ts.map +1 -1
- package/dist/types/index.d.ts +1 -1
- package/dist/types/index.d.ts.map +1 -1
- package/dist/types/locales/en/index.d.ts +23 -1
- package/dist/types/locales/en/index.d.ts.map +1 -1
- package/dist/types/types/index.d.ts +5 -4
- package/dist/types/types/index.d.ts.map +1 -1
- package/dist/types/types/rates.d.ts +1 -0
- package/dist/types/types/rates.d.ts.map +1 -1
- package/dist/types/types/terms-with-disclosure.d.ts +7 -0
- package/dist/types/types/terms-with-disclosure.d.ts.map +1 -0
- package/dist/types/utilities/address.d.ts +21 -0
- package/dist/types/utilities/address.d.ts.map +1 -0
- package/dist/types/utilities/feature-flags/types.d.ts +5 -1
- package/dist/types/utilities/feature-flags/types.d.ts.map +1 -1
- package/dist/types/utilities/files.d.ts +12 -0
- package/dist/types/utilities/files.d.ts.map +1 -0
- package/dist/types/utilities/formatString.d.ts +8 -0
- package/dist/types/utilities/formatString.d.ts.map +1 -1
- package/dist/types/utilities/index.d.ts +2 -0
- package/dist/types/utilities/index.d.ts.map +1 -1
- package/dist/types/utilities/money.d.ts +6 -0
- package/dist/types/utilities/money.d.ts.map +1 -1
- package/dist/types/utilities/rate-warning-messages.d.ts +15 -0
- package/dist/types/utilities/rate-warning-messages.d.ts.map +1 -0
- package/dist/types/workflows/account-settings/account-settings.d.ts +23 -1
- package/dist/types/workflows/account-settings/account-settings.d.ts.map +1 -1
- package/dist/types/workflows/carrier-services/carrier-services.d.ts +23 -1
- package/dist/types/workflows/carrier-services/carrier-services.d.ts.map +1 -1
- package/dist/types/workflows/connect-external-carrier/connect-external-carrier.d.ts +23 -1
- package/dist/types/workflows/connect-external-carrier/connect-external-carrier.d.ts.map +1 -1
- package/dist/types/workflows/label-workflow/label-workflow.d.ts +23 -1
- package/dist/types/workflows/label-workflow/label-workflow.d.ts.map +1 -1
- package/dist/types/workflows/onboarding/components/confirmation-and-submission-step/use-confirmation-and-submission-step.d.ts.map +1 -1
- package/dist/types/workflows/onboarding/components/onboarding-wizard/onboarding-wizard.d.ts.map +1 -1
- package/dist/types/workflows/onboarding/components/terms-agreement-form/terms-agreement-form.d.ts +4 -2
- package/dist/types/workflows/onboarding/components/terms-agreement-form/terms-agreement-form.d.ts.map +1 -1
- package/dist/types/workflows/onboarding/components/terms-agreement-form/terms-agreement-form.styles.d.ts +0 -3
- package/dist/types/workflows/onboarding/components/terms-agreement-form/terms-agreement-form.styles.d.ts.map +1 -1
- package/dist/types/workflows/onboarding/components/terms-agreement-step/terms-agreement-step.d.ts +3 -1
- package/dist/types/workflows/onboarding/components/terms-agreement-step/terms-agreement-step.d.ts.map +1 -1
- package/dist/types/workflows/onboarding/components/terms-agreement-step/terms-agreement-step.styles.d.ts +8 -2
- package/dist/types/workflows/onboarding/components/terms-agreement-step/terms-agreement-step.styles.d.ts.map +1 -1
- package/dist/types/workflows/onboarding/components/terms-agreement-step/use-terms-agreement-step.d.ts +1 -0
- package/dist/types/workflows/onboarding/components/terms-agreement-step/use-terms-agreement-step.d.ts.map +1 -1
- package/dist/types/workflows/onboarding/onboarding.d.ts +23 -1
- package/dist/types/workflows/onboarding/onboarding.d.ts.map +1 -1
- package/package.json +3 -3
- package/dist/cjs/components/error-display/error-display.cjs +0 -34
- package/dist/cjs/components/error-display/index.cjs +0 -7
- package/dist/esm/components/error-display/error-display.js +0 -32
- package/dist/esm/components/error-display/index.js +0 -1
- package/dist/types/components/error-display/error-display.d.ts +0 -7
- package/dist/types/components/error-display/error-display.d.ts.map +0 -1
- package/dist/types/components/error-display/error-display.styles.d.ts +0 -20
- package/dist/types/components/error-display/error-display.styles.d.ts.map +0 -1
- package/dist/types/components/error-display/index.d.ts +0 -2
- package/dist/types/components/error-display/index.d.ts.map +0 -1
package/dist/esm/elements/shipment-summary/components/label-display/paperless-label-display.js
ADDED
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
import { jsxs, jsx, Fragment } from '@emotion/react/jsx-runtime';
|
|
2
|
+
import { Next, ButtonVariant, Icon, IconSize, Typography } from '@shipengine/giger';
|
|
3
|
+
import { IconNames } from '@shipengine/giger-theme';
|
|
4
|
+
import { useTranslation } from 'react-i18next';
|
|
5
|
+
import { styles } from './paperless-label-display.styles.js';
|
|
6
|
+
import { Spacer } from '../../../../components/spacer/spacer.js';
|
|
7
|
+
|
|
8
|
+
const PaperlessLabelDisplay = ({
|
|
9
|
+
handoffCode,
|
|
10
|
+
href,
|
|
11
|
+
instructions
|
|
12
|
+
}) => {
|
|
13
|
+
const {
|
|
14
|
+
t
|
|
15
|
+
} = useTranslation();
|
|
16
|
+
return jsxs("div", {
|
|
17
|
+
css: styles.paperlessDownloadwrapper,
|
|
18
|
+
children: [jsxs("div", {
|
|
19
|
+
css: styles.codewrapper,
|
|
20
|
+
children: [jsx("img", {
|
|
21
|
+
alt: "paperless code",
|
|
22
|
+
css: styles.codeImage,
|
|
23
|
+
src: href
|
|
24
|
+
}), handoffCode && jsx("div", {
|
|
25
|
+
css: styles.handoffCode,
|
|
26
|
+
children: handoffCode
|
|
27
|
+
}), jsxs(Next.Link, {
|
|
28
|
+
buttonProps: {
|
|
29
|
+
variant: ButtonVariant.OUTLINED
|
|
30
|
+
},
|
|
31
|
+
css: styles.button,
|
|
32
|
+
download: true,
|
|
33
|
+
href: href,
|
|
34
|
+
isButton: true,
|
|
35
|
+
children: [jsx(Icon, {
|
|
36
|
+
name: IconNames.PRINTER,
|
|
37
|
+
size: IconSize.SIZE_SMALL
|
|
38
|
+
}), jsx("span", {
|
|
39
|
+
children: t("view-shipment:actions.download")
|
|
40
|
+
})]
|
|
41
|
+
})]
|
|
42
|
+
}), instructions && jsxs(Fragment, {
|
|
43
|
+
children: [jsx(Spacer, {
|
|
44
|
+
multiplier: 2
|
|
45
|
+
}), " ", jsx(Typography, {
|
|
46
|
+
children: instructions
|
|
47
|
+
})]
|
|
48
|
+
})]
|
|
49
|
+
});
|
|
50
|
+
};
|
|
51
|
+
|
|
52
|
+
export { PaperlessLabelDisplay };
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import { createStyles, scopeTheme } from '../../../../utilities/styles.js';
|
|
2
|
+
|
|
3
|
+
const styles = createStyles({
|
|
4
|
+
button: () => ({
|
|
5
|
+
cursor: "pointer"
|
|
6
|
+
}),
|
|
7
|
+
codeImage: () => ({
|
|
8
|
+
height: "120px",
|
|
9
|
+
maxWidth: "200px",
|
|
10
|
+
width: "auto"
|
|
11
|
+
}),
|
|
12
|
+
codewrapper: () => ({
|
|
13
|
+
alignItems: "center",
|
|
14
|
+
display: "flex",
|
|
15
|
+
flexDirection: "column"
|
|
16
|
+
}),
|
|
17
|
+
handoffCode: theme => ({
|
|
18
|
+
margin: `${scopeTheme(theme).spacing(2)}px 0`
|
|
19
|
+
}),
|
|
20
|
+
paperlessDownloadwrapper: theme => ({
|
|
21
|
+
padding: scopeTheme(theme).spacing(2)
|
|
22
|
+
})
|
|
23
|
+
});
|
|
24
|
+
|
|
25
|
+
export { styles };
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { useGetServiceName } from '../../../hooks/use-get-service-name.js';
|
|
2
|
-
import { useListShipments, useGetShipment } from '@shipengine/react-api';
|
|
2
|
+
import { useListShipments, useExportShipments, useGetShipment } from '@shipengine/react-api';
|
|
3
|
+
import { createLocalFileFromBlobResponse } from '../../../utilities/files.js';
|
|
3
4
|
import { useState, useEffect, useMemo } from 'react';
|
|
4
5
|
import { getCreatedDateFilterValue, filterDateAndShipmentDateIsSameOrWithinInterval } from '../utils/created-date-value.js';
|
|
5
6
|
import { usePager } from '../../../components/pager/usePager.js';
|
|
@@ -20,9 +21,10 @@ const useShipmentsGrid = ({
|
|
|
20
21
|
showShipmentIdFilter = true,
|
|
21
22
|
showCreatedDateFilter = true,
|
|
22
23
|
sortBy,
|
|
23
|
-
sortDir
|
|
24
|
+
sortDir,
|
|
25
|
+
columns
|
|
24
26
|
}) => {
|
|
25
|
-
var _a, _b, _c, _d;
|
|
27
|
+
var _a, _b, _c, _d, _e, _f, _g, _h;
|
|
26
28
|
const initialFilters = getInitialFilters(showShipmentIdFilter, showCreatedDateFilter);
|
|
27
29
|
const {
|
|
28
30
|
getServiceName
|
|
@@ -33,6 +35,7 @@ const useShipmentsGrid = ({
|
|
|
33
35
|
pagerProps
|
|
34
36
|
} = usePager(PAGE_SIZE);
|
|
35
37
|
const [activeShipmentId, setActiveShipmentId] = useState();
|
|
38
|
+
const [enabled, setEnabled] = useState(false);
|
|
36
39
|
const [filters, setFilters] = useState(initialFilters);
|
|
37
40
|
const clearAllFilters = () => {
|
|
38
41
|
setFilters(initialFilters);
|
|
@@ -64,6 +67,37 @@ const useShipmentsGrid = ({
|
|
|
64
67
|
sortBy: sortBy,
|
|
65
68
|
sortDir: sortDir
|
|
66
69
|
}, getCreatedDateFilterValue((_b = (_a = filters.createdDate) === null || _a === void 0 ? void 0 : _a.value) === null || _b === void 0 ? void 0 : _b.start, (_d = (_c = filters.createdDate) === null || _c === void 0 ? void 0 : _c.value) === null || _d === void 0 ? void 0 : _d.end)));
|
|
70
|
+
const {
|
|
71
|
+
data: exportShipmentsData,
|
|
72
|
+
isInitialLoading: isExportShipmentsinitialLoading,
|
|
73
|
+
isRefetching,
|
|
74
|
+
isError: isExportShipmentsError
|
|
75
|
+
} = useExportShipments({
|
|
76
|
+
enabled,
|
|
77
|
+
queryFnParams: Object.assign({
|
|
78
|
+
shipmentId: filters.shipmentId.value || undefined,
|
|
79
|
+
sortDir: sortDir !== null && sortDir !== void 0 ? sortDir : "desc",
|
|
80
|
+
columns
|
|
81
|
+
}, getCreatedDateFilterValue((_f = (_e = filters.createdDate) === null || _e === void 0 ? void 0 : _e.value) === null || _f === void 0 ? void 0 : _f.start, (_h = (_g = filters.createdDate) === null || _g === void 0 ? void 0 : _g.value) === null || _h === void 0 ? void 0 : _h.end))
|
|
82
|
+
});
|
|
83
|
+
useEffect(() => {
|
|
84
|
+
if (exportShipmentsData && !isExportShipmentsinitialLoading && !isRefetching) {
|
|
85
|
+
createLocalFileFromBlobResponse("shipment", exportShipmentsData);
|
|
86
|
+
setEnabled(false);
|
|
87
|
+
}
|
|
88
|
+
}, [isExportShipmentsinitialLoading, isRefetching, exportShipmentsData]);
|
|
89
|
+
// This function will be called when the error display duration ends
|
|
90
|
+
const onExportErrorDurationEnd = () => {
|
|
91
|
+
setEnabled(false);
|
|
92
|
+
};
|
|
93
|
+
const onClickDownloadShipmentsCSV = () => {
|
|
94
|
+
if (exportShipmentsData) {
|
|
95
|
+
createLocalFileFromBlobResponse("shipment", exportShipmentsData);
|
|
96
|
+
setEnabled(false);
|
|
97
|
+
} else {
|
|
98
|
+
setEnabled(true);
|
|
99
|
+
}
|
|
100
|
+
};
|
|
67
101
|
const shipments = useMemo(() => data === null || data === void 0 ? void 0 : data.shipments.map(shipment => Object.assign(Object.assign({}, shipment), {
|
|
68
102
|
disableOnRowClick: shipment.shipmentStatus === "cancelled",
|
|
69
103
|
isLoading: activeShipmentId === shipment.shipmentId,
|
|
@@ -120,12 +154,15 @@ const useShipmentsGrid = ({
|
|
|
120
154
|
return [];
|
|
121
155
|
};
|
|
122
156
|
return {
|
|
157
|
+
onClickDownloadShipmentsCSV,
|
|
123
158
|
clearAllFilters,
|
|
124
159
|
filters,
|
|
125
160
|
getGridData,
|
|
126
161
|
isAnyFilterActive,
|
|
162
|
+
isExportShipmentsError,
|
|
127
163
|
isError,
|
|
128
164
|
isLoading: isLoadingShipments || isLoadingShipment,
|
|
165
|
+
onExportErrorDurationEnd,
|
|
129
166
|
pageConfig: {
|
|
130
167
|
currentPage: shipmentFilteredById ? 1 : (data === null || data === void 0 ? void 0 : data.page) || 0,
|
|
131
168
|
pagerProps,
|
|
@@ -137,7 +174,8 @@ const useShipmentsGrid = ({
|
|
|
137
174
|
setActiveShipmentId,
|
|
138
175
|
setFilters: onSetFilters,
|
|
139
176
|
shipments,
|
|
140
|
-
shouldShowFilters: isAnyFilterEnabled
|
|
177
|
+
shouldShowFilters: isAnyFilterEnabled,
|
|
178
|
+
isExportShipmentsLoading: isExportShipmentsinitialLoading || isRefetching
|
|
141
179
|
};
|
|
142
180
|
};
|
|
143
181
|
|
|
@@ -46,7 +46,9 @@ const Component = ({
|
|
|
46
46
|
onClickCancelShipment,
|
|
47
47
|
shipmentStatus,
|
|
48
48
|
showShipmentIdFilter = true,
|
|
49
|
-
showCreatedDateFilter = true
|
|
49
|
+
showCreatedDateFilter = true,
|
|
50
|
+
onShipmentsCSVExportClick,
|
|
51
|
+
showExportCSVButton = false
|
|
50
52
|
}) => {
|
|
51
53
|
const {
|
|
52
54
|
globalFeatures
|
|
@@ -71,7 +73,11 @@ const Component = ({
|
|
|
71
73
|
isAnyFilterActive,
|
|
72
74
|
shouldShowFilters,
|
|
73
75
|
clearAllFilters,
|
|
74
|
-
setActiveShipmentId
|
|
76
|
+
setActiveShipmentId,
|
|
77
|
+
onClickDownloadShipmentsCSV,
|
|
78
|
+
isExportShipmentsError,
|
|
79
|
+
isExportShipmentsLoading,
|
|
80
|
+
onExportErrorDurationEnd
|
|
75
81
|
} = useShipmentsGrid({
|
|
76
82
|
shipmentStatus,
|
|
77
83
|
showCreatedDateFilter,
|
|
@@ -254,8 +260,17 @@ const Component = ({
|
|
|
254
260
|
showPagination: pageConfig.showPagination,
|
|
255
261
|
total: pageConfig.totalElements
|
|
256
262
|
}),
|
|
263
|
+
hasExportCSVError: isExportShipmentsError,
|
|
264
|
+
isExportCSVLoading: isExportShipmentsLoading,
|
|
257
265
|
isLoading: isLoading,
|
|
258
|
-
|
|
266
|
+
onClickExportCSV: () => {
|
|
267
|
+
onClickDownloadShipmentsCSV();
|
|
268
|
+
onShipmentsCSVExportClick === null || onShipmentsCSVExportClick === void 0 ? void 0 : onShipmentsCSVExportClick();
|
|
269
|
+
},
|
|
270
|
+
onExportErrorDurationEnd: onExportErrorDurationEnd,
|
|
271
|
+
onRowClick: onRowClick,
|
|
272
|
+
showExportCSV: showExportCSVButton,
|
|
273
|
+
totalAmountGridItems: pageConfig.totalElements
|
|
259
274
|
}), globalFeatures.poweredByShipEngine && jsxs(Fragment, {
|
|
260
275
|
children: [jsx(Spacer, {}), jsx(PoweredByShipEngine, {})]
|
|
261
276
|
})]
|
|
@@ -43,22 +43,21 @@ const useListFundingSourceCarriers = () => {
|
|
|
43
43
|
}, getInsuranceProviderWithFriendlyName(t.termType));
|
|
44
44
|
});
|
|
45
45
|
}, [optionalTerms, insuranceProviderAcceptedTerms]);
|
|
46
|
-
const
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
}));
|
|
50
|
-
const fundingSourceCarrierMetadata = carrierProfiles === null || carrierProfiles === void 0 ? void 0 : carrierProfiles.map(cp => {
|
|
46
|
+
const normalizeCarrierCode = (carrierCode, nickname) => carrierCode === "usps" || (nickname === null || nickname === void 0 ? void 0 : nickname.includes("free")) ? "stamps_com" : carrierCode;
|
|
47
|
+
const normalizeConnectedCarrierCodes = new Set(connectedCarriers === null || connectedCarriers === void 0 ? void 0 : connectedCarriers.map(c => normalizeCarrierCode(c.carrierCode, c.nickname)));
|
|
48
|
+
const fundingSourceCarriersData = carrierProfiles === null || carrierProfiles === void 0 ? void 0 : carrierProfiles.map(cp => {
|
|
51
49
|
var _a, _b;
|
|
52
|
-
|
|
50
|
+
const carrier = {
|
|
53
51
|
carrierProfile: cp,
|
|
54
52
|
friendlyName: (_b = (_a = carrierMetadata[cp.carrierCode]) === null || _a === void 0 ? void 0 : _a.name) !== null && _b !== void 0 ? _b : cp.carrierCode
|
|
55
53
|
};
|
|
54
|
+
return {
|
|
55
|
+
carrier,
|
|
56
|
+
isConnected: normalizeConnectedCarrierCodes.has(cp.carrierCode)
|
|
57
|
+
};
|
|
56
58
|
});
|
|
57
59
|
return {
|
|
58
|
-
data:
|
|
59
|
-
carrier: m,
|
|
60
|
-
isConnected: normalizeConnectedCarrierCodes.has(m.carrierProfile.carrierCode)
|
|
61
|
-
})),
|
|
60
|
+
data: fundingSourceCarriersData,
|
|
62
61
|
error: error,
|
|
63
62
|
insuranceProviderProfiles,
|
|
64
63
|
isLoading: isInitialLoading || isFundingSourceMetadataLoading || isInsuranceProviderAcceptedTermsLoading,
|
|
@@ -1,10 +1,11 @@
|
|
|
1
1
|
import { __awaiter, __rest } from '../../../_virtual/_tslib.js';
|
|
2
|
-
import {
|
|
2
|
+
import { jsx, jsxs } from '@emotion/react/jsx-runtime';
|
|
3
3
|
import { IconSize, Typography } from '@shipengine/giger';
|
|
4
4
|
import { SE } from '@shipengine/react-api';
|
|
5
5
|
import { useState } from 'react';
|
|
6
6
|
import { useTranslation } from 'react-i18next';
|
|
7
7
|
import { styles } from './manage-carriers-row.styles.js';
|
|
8
|
+
import { UPSTermsDisclosure } from '../../../components/ups-terms-disclosure/ups-terms-disclosure.js';
|
|
8
9
|
import { AddressPreferenceProvider } from '../../../components/address-preference-context/address-preference-context.js';
|
|
9
10
|
import { RegisterFundingSourceCarrierForm } from '../register-funding-source-carrier-form/register-funding-source-carrier-form.js';
|
|
10
11
|
import { CarrierIcon } from '../../../components/carrier-icon/carrier-icon.js';
|
|
@@ -32,6 +33,10 @@ const ManageCarriersRow = ({
|
|
|
32
33
|
const requirementTypes = carrierProfile.registrationRequirements.map(r => r.requirementType);
|
|
33
34
|
const requiresAddress = requirementTypes.includes(SE.MetadataRequirement.PickupAddress);
|
|
34
35
|
const requiresTermsAcceptance = carrierProfile.requiredTerms.length > 0;
|
|
36
|
+
const requiredCarrierTerms = {
|
|
37
|
+
links: carrierProfile.requiredTerms.flatMap(term => term.links),
|
|
38
|
+
disclosure: carrierProfile.carrierCode === "ups_walleted" ? jsx(UPSTermsDisclosure, {}) : undefined
|
|
39
|
+
};
|
|
35
40
|
const handleRegister = values => __awaiter(void 0, void 0, void 0, function* () {
|
|
36
41
|
setIsSubmitting(true);
|
|
37
42
|
showDropDown && setShowDropDown(false);
|
|
@@ -94,7 +99,7 @@ const ManageCarriersRow = ({
|
|
|
94
99
|
onCancel: () => setShowDropDown(false),
|
|
95
100
|
onSubmit: handleRegister,
|
|
96
101
|
requirementTypes: requirementTypes,
|
|
97
|
-
terms:
|
|
102
|
+
terms: requiredCarrierTerms
|
|
98
103
|
})
|
|
99
104
|
})
|
|
100
105
|
})]
|
|
@@ -149,9 +149,9 @@ const RegisterFundingSourceCarrierForm = ({
|
|
|
149
149
|
children: [jsx(Typography, {
|
|
150
150
|
variant: "heading4",
|
|
151
151
|
children: t("terms.carriersTitle")
|
|
152
|
-
}),
|
|
153
|
-
|
|
154
|
-
}
|
|
152
|
+
}), jsx(DisplayTerm, {
|
|
153
|
+
terms: terms
|
|
154
|
+
})]
|
|
155
155
|
}), jsx(ButtonGroup, {
|
|
156
156
|
justify: "end",
|
|
157
157
|
children: jsx(Button, {
|
|
@@ -1,11 +1,14 @@
|
|
|
1
1
|
import { __awaiter } from '../../_virtual/_tslib.js';
|
|
2
|
-
import { jsx } from '@emotion/react/jsx-runtime';
|
|
2
|
+
import { jsxs, Fragment, jsx } from '@emotion/react/jsx-runtime';
|
|
3
3
|
import { useToggle } from '../../hooks/use-toggle.js';
|
|
4
|
+
import { InlineNotification, NotificationType } from '@shipengine/giger';
|
|
4
5
|
import { useUpdateFundingSource, useListFundingSources } from '@shipengine/react-api';
|
|
5
6
|
import { useState } from 'react';
|
|
6
7
|
import { useTranslation } from 'react-i18next';
|
|
7
8
|
import { EditBillingForm } from '../../components/forms/edit-billing-form/edit-billing-form.js';
|
|
8
9
|
import { WalletCard } from '../../components/wallet-card/wallet-card.js';
|
|
10
|
+
import { useElements } from '../../elements-provider/elements-context-provider.js';
|
|
11
|
+
import { Spacer } from '../../components/spacer/spacer.js';
|
|
9
12
|
import { Loader } from '../../components/loader/loader.js';
|
|
10
13
|
import { ZeroState } from '../../components/zero-state/zero-state.js';
|
|
11
14
|
|
|
@@ -16,37 +19,72 @@ const PaymentMethodSettings = ({
|
|
|
16
19
|
const {
|
|
17
20
|
t
|
|
18
21
|
} = useTranslation();
|
|
22
|
+
const {
|
|
23
|
+
globalFeatures
|
|
24
|
+
} = useElements();
|
|
25
|
+
const {
|
|
26
|
+
supportEmailAddress
|
|
27
|
+
} = globalFeatures;
|
|
19
28
|
const [showEditBilling, toggleShowEditBilling] = useToggle(false);
|
|
20
29
|
const [isUpdatingBilling, setIsUpdatingBilling] = useState(false);
|
|
21
30
|
const {
|
|
22
|
-
|
|
31
|
+
error: updateBillingError,
|
|
32
|
+
mutateAsync: updateBilling,
|
|
33
|
+
reset: resetUpdateFundingSource
|
|
23
34
|
} = useUpdateFundingSource();
|
|
24
35
|
const {
|
|
25
36
|
data: fundingSources,
|
|
26
37
|
refetch: refetchFundingSources,
|
|
27
38
|
isLoading: fundingSourceLoading
|
|
28
39
|
} = useListFundingSources();
|
|
29
|
-
const
|
|
40
|
+
const {
|
|
41
|
+
fundingSourceId,
|
|
42
|
+
billingInfo
|
|
43
|
+
} = (_a = fundingSources === null || fundingSources === void 0 ? void 0 : fundingSources[0]) !== null && _a !== void 0 ? _a : {};
|
|
30
44
|
const handleUpdateBilling = (billingInfo, creditCardInfo) => __awaiter(void 0, void 0, void 0, function* () {
|
|
31
45
|
if (fundingSourceId) {
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
46
|
+
try {
|
|
47
|
+
setIsUpdatingBilling(true);
|
|
48
|
+
yield updateBilling({
|
|
49
|
+
billingInfo,
|
|
50
|
+
creditCardInfo,
|
|
51
|
+
fundingSourceId
|
|
52
|
+
});
|
|
53
|
+
yield refetchFundingSources();
|
|
54
|
+
toggleShowEditBilling(false);
|
|
55
|
+
} catch (error) {
|
|
56
|
+
console.error("Error updating billing:", error);
|
|
57
|
+
// error is handled by the mutation
|
|
58
|
+
} finally {
|
|
59
|
+
setIsUpdatingBilling(false);
|
|
60
|
+
}
|
|
41
61
|
}
|
|
42
62
|
});
|
|
43
|
-
if (showEditBilling) return
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
63
|
+
if (showEditBilling) return jsxs(Fragment, {
|
|
64
|
+
children: [jsx(EditBillingForm, {
|
|
65
|
+
billingInfo: billingInfo,
|
|
66
|
+
isLoading: isUpdatingBilling,
|
|
67
|
+
onCancel: () => {
|
|
68
|
+
toggleShowEditBilling(false);
|
|
69
|
+
resetUpdateFundingSource();
|
|
70
|
+
},
|
|
71
|
+
onSubmit: (billingInfo, creditCardInfo) => {
|
|
72
|
+
void handleUpdateBilling(billingInfo, creditCardInfo);
|
|
73
|
+
}
|
|
74
|
+
}), (updateBillingError === null || updateBillingError === void 0 ? void 0 : updateBillingError.length) && jsxs(Fragment, {
|
|
75
|
+
children: [jsx(Spacer, {
|
|
76
|
+
multiplier: 2
|
|
77
|
+
}), jsx(InlineNotification, {
|
|
78
|
+
css: {
|
|
79
|
+
textAlign: "left"
|
|
80
|
+
},
|
|
81
|
+
title: t("account-settings:errors.paymentMethod.title"),
|
|
82
|
+
type: NotificationType.ERROR,
|
|
83
|
+
children: t("account-settings:errors.paymentMethod.description", {
|
|
84
|
+
email: supportEmailAddress
|
|
85
|
+
})
|
|
86
|
+
})]
|
|
87
|
+
})]
|
|
50
88
|
});else {
|
|
51
89
|
if (fundingSourceLoading) return jsx(Loader, {
|
|
52
90
|
message: t("loading.paymentMethod")
|
|
@@ -4,7 +4,7 @@ import { getDefaultShipFromAddress } from '../utilities/shipengine/address.js';
|
|
|
4
4
|
import { getIsCustomsRequiredForSalesOrder, getCustomsFromSalesOrder } from '../utilities/shipengine/sales-order.js';
|
|
5
5
|
import { getShipmentByStatus } from '../utilities/shipengine/shipment.js';
|
|
6
6
|
import { getDefaultWarehouse, getWarehouseById } from '../utilities/shipengine/warehouses.js';
|
|
7
|
-
import { useMemo, useCallback, useEffect } from 'react';
|
|
7
|
+
import { useState, useMemo, useCallback, useEffect } from 'react';
|
|
8
8
|
import { useImportSalesOrder } from './use-import-sales-order.js';
|
|
9
9
|
|
|
10
10
|
const useConfigureShipment = ({
|
|
@@ -20,6 +20,8 @@ const useConfigureShipment = ({
|
|
|
20
20
|
warehouseId,
|
|
21
21
|
useWarehouses = true
|
|
22
22
|
}) => {
|
|
23
|
+
// Track when we've created a replacement shipment for a "not found" case
|
|
24
|
+
const [replacementShipmentId, setReplacementShipmentId] = useState();
|
|
23
25
|
// Queue of incomplete requirement keys (i.e., Ship From addresses, Warehouses, Carriers)
|
|
24
26
|
const incompleteRequirementsKeys = useMemo(() => [], []);
|
|
25
27
|
const {
|
|
@@ -75,7 +77,7 @@ const useConfigureShipment = ({
|
|
|
75
77
|
salesOrderIds: salesOrderId ? [salesOrderId] : salesOrder ? [salesOrder.salesOrderId] :
|
|
76
78
|
// TODO: current workaround - revert to being undefined rather than empty list
|
|
77
79
|
[],
|
|
78
|
-
shipmentIds: shipmentId ? [shipmentId] : externalShipment ? [externalShipment.shipmentId] : newV1Shipment ? [newV1Shipment.shipments[0].shipmentId] : undefined
|
|
80
|
+
shipmentIds: replacementShipmentId ? [replacementShipmentId] : shipmentId ? [shipmentId] : externalShipment ? [externalShipment.shipmentId] : newV1Shipment ? [newV1Shipment.shipments[0].shipmentId] : undefined
|
|
79
81
|
});
|
|
80
82
|
const {
|
|
81
83
|
error: createSalesOrderShipmentErrors,
|
|
@@ -88,6 +90,19 @@ const useConfigureShipment = ({
|
|
|
88
90
|
const cancelledShipment = getShipmentByStatus("cancelled", salesOrderShipments);
|
|
89
91
|
const defaultWarehouse = getDefaultWarehouse(warehouses);
|
|
90
92
|
const defaultShipFromAddress = getDefaultShipFromAddress(shipFromAddresses);
|
|
93
|
+
// Common function to create a V1 shipment
|
|
94
|
+
const createV1ShipmentWithDefaults = useCallback(() => __awaiter(void 0, void 0, void 0, function* () {
|
|
95
|
+
const v1Shipment = yield createV1Shipment(Object.assign({}, (defaultShipFromAddress === null || defaultShipFromAddress === void 0 ? void 0 : defaultShipFromAddress.originAddress) ? {
|
|
96
|
+
shipFrom: defaultShipFromAddress.originAddress
|
|
97
|
+
} : {
|
|
98
|
+
warehouseId: warehouseId ? warehouseId : defaultWarehouse.warehouseId
|
|
99
|
+
}));
|
|
100
|
+
if (v1Shipment) {
|
|
101
|
+
yield refetchSalesOrderShipments();
|
|
102
|
+
return v1Shipment;
|
|
103
|
+
}
|
|
104
|
+
return null;
|
|
105
|
+
}), [createV1Shipment, defaultShipFromAddress, defaultWarehouse, warehouseId, refetchSalesOrderShipments]);
|
|
91
106
|
// Handles the creation of new shipments for the sales order flow and one-off flow
|
|
92
107
|
const handleShipmentCreation = useCallback(() => __awaiter(void 0, void 0, void 0, function* () {
|
|
93
108
|
var _a, _b, _c;
|
|
@@ -137,16 +152,17 @@ const useConfigureShipment = ({
|
|
|
137
152
|
}
|
|
138
153
|
// Create a Shipment for one-off flow
|
|
139
154
|
if (!salesOrderId && !externalOrderId && !externalOrderNumber && !orderSourceCode && !shipmentId && !externalShipmentId) {
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
155
|
+
yield createV1ShipmentWithDefaults();
|
|
156
|
+
}
|
|
157
|
+
}), [createSalesOrderShipment, createV1ShipmentWithDefaults, creatingSalesOrderShipment, creatingV1Shipment, defaultShipFromAddress, defaultWarehouse, externalOrderId, externalOrderNumber, externalShipmentId, incompleteRequirementsKeys, isExternalShipmentFetching, isExternalShipmentInitialLoading, isFetchingWarehouses, isInitialLoadingWarehouses, labelPurchasedSalesOrderShipment, listSalesOrderShipmentsInitiallyLoading, listSalesOrderShipmentsIsFetching, orderSourceCode, pendingSalesOrderShipment, salesOrder, salesOrderId, salesOrderShipmentCreated, shipFromAddresses === null || shipFromAddresses === void 0 ? void 0 : shipFromAddresses.length, shipmentId, useWarehouses, v1shipmentCreated, warehouseId, warehouses]);
|
|
158
|
+
const createNewShipmentForNotFound = useCallback(() => __awaiter(void 0, void 0, void 0, function* () {
|
|
159
|
+
// Force create a new shipment even if shipmentId exists (for shipment_not_found case)
|
|
160
|
+
const v1Shipment = yield createV1ShipmentWithDefaults();
|
|
161
|
+
if (v1Shipment) {
|
|
162
|
+
// Store the new shipment ID to override the stale one
|
|
163
|
+
setReplacementShipmentId(v1Shipment.shipments[0].shipmentId);
|
|
148
164
|
}
|
|
149
|
-
}), [
|
|
165
|
+
}), [createV1ShipmentWithDefaults]);
|
|
150
166
|
const refetchPendingSalesOrderShipments = useCallback(() => __awaiter(void 0, void 0, void 0, function* () {
|
|
151
167
|
const {
|
|
152
168
|
data: shipments
|
|
@@ -178,13 +194,18 @@ const useConfigureShipment = ({
|
|
|
178
194
|
errorCode: "invalid_status",
|
|
179
195
|
errorSource: "elements",
|
|
180
196
|
errorType: "business_rules"
|
|
181
|
-
})] : []), ...(incompleteRequirementsKeys.length > 0 ? [new CodedError(incompleteRequirementsKeys.length
|
|
197
|
+
})] : []), ...(incompleteRequirementsKeys.length > 0 ? [new CodedError(incompleteRequirementsKeys.length === 1 ? "no_carriers_and_warehouses" : incompleteRequirementsKeys[0], {
|
|
182
198
|
errorCode: "unknown",
|
|
183
199
|
errorSource: "elements",
|
|
184
200
|
errorType: "business_rules"
|
|
201
|
+
})] : []), ...((salesOrderShipments === null || salesOrderShipments === void 0 ? void 0 : salesOrderShipments.length) === 0 && shipmentId ? [new CodedError("shipment_not_found", {
|
|
202
|
+
errorCode: "invalid_status",
|
|
203
|
+
errorSource: "elements",
|
|
204
|
+
errorType: "business_rules"
|
|
185
205
|
})] : [])];
|
|
186
206
|
return {
|
|
187
207
|
carriers,
|
|
208
|
+
createNewShipmentForNotFound,
|
|
188
209
|
errors: errors.length > 0 ? errors : undefined,
|
|
189
210
|
isLoading: (isSalesOrderLoading || !(salesOrderShipments === null || salesOrderShipments === void 0 ? void 0 : salesOrderShipments.length) || creatingSalesOrderShipment) && errors.length === 0,
|
|
190
211
|
refetchPendingSalesOrderShipments,
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { useListCarriers, useListWarehouses } from '@shipengine/react-api';
|
|
2
|
+
import { getUsStates, getCountries } from '../utilities/address.js';
|
|
2
3
|
import { isOnboarded, validateShipFromAddress } from '../utilities/checks.js';
|
|
3
4
|
|
|
4
5
|
const useHelpers = () => {
|
|
@@ -15,7 +16,9 @@ const useHelpers = () => {
|
|
|
15
16
|
return {
|
|
16
17
|
helpersReady,
|
|
17
18
|
sellerOnboarded,
|
|
18
|
-
validateShipFromAddress
|
|
19
|
+
validateShipFromAddress,
|
|
20
|
+
getCountries,
|
|
21
|
+
getUsStates
|
|
19
22
|
};
|
|
20
23
|
};
|
|
21
24
|
|
package/dist/esm/index.js
CHANGED
|
@@ -2,6 +2,7 @@ export * from '@shipengine/react-api';
|
|
|
2
2
|
export { createStyles, scopeTheme } from './utilities/styles.js';
|
|
3
3
|
export { getDefaultFeatures } from './utilities/feature-flags/feature-flags.js';
|
|
4
4
|
export { getSellerIdFromToken, isOnboarded, validateShipFromAddress } from './utilities/checks.js';
|
|
5
|
+
export { getCountries, getUsStates } from './utilities/address.js';
|
|
5
6
|
export { Country, UsState, UsaCity, addressNameRegex, countries, countryCodes, euCountryCodes, postalCodeRegex, usCities, usStateCodes, usStates } from './constants/shipengine/address.js';
|
|
6
7
|
import * as manageCarriers from './elements/manage-carriers/manage-carriers.js';
|
|
7
8
|
export { manageCarriers as ManageCarriers };
|
|
@@ -24,6 +24,12 @@ var accoutSettings = {
|
|
|
24
24
|
labelLayout: "Shipping Label Layout",
|
|
25
25
|
unitSettings: "Units of Measure",
|
|
26
26
|
vatSettings: "Tax Settings"
|
|
27
|
+
},
|
|
28
|
+
errors: {
|
|
29
|
+
paymentMethod: {
|
|
30
|
+
title: "Error Updating Payment Method",
|
|
31
|
+
description: "There was an error updating your payment method. Ensure your payment information is correct and try again. If the problem persists, contact support at {{email}}."
|
|
32
|
+
}
|
|
27
33
|
}
|
|
28
34
|
}
|
|
29
35
|
};
|
|
@@ -161,10 +161,12 @@ var common = {
|
|
|
161
161
|
total: "Total"
|
|
162
162
|
},
|
|
163
163
|
errorMessages: {
|
|
164
|
+
fundingSourceCreationFailed: "Please check your payment and billing details, and confirm that your bank hasn’t blocked the payment method. If the issue persists, please contact support at {{email}}.",
|
|
164
165
|
contactSupport: "Your transaction may not have processed as expected. Please contact support at {{email}}.",
|
|
165
166
|
invalidNameOrCompany: "Recipient name and company name (if provided) must have two characters in first and last name.",
|
|
166
167
|
parsingFailure: "Parsing failed. Please check address and try again.",
|
|
167
168
|
incompleteLabelPurchaseRequirements: "Please add your {{requirements}} to continue purchasing a label.",
|
|
169
|
+
shipmentNotFound: "Cannot find shipment with ID: {{id}}.",
|
|
168
170
|
shipmentCancelled: "This shipment is Cancelled in ShipStation. Log into ShipStation to restore the order to Awaiting Shipment status.",
|
|
169
171
|
unableToLoad: {
|
|
170
172
|
accountSettings: "Unable to load account settings",
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
var gridController = {
|
|
2
|
+
"grid-controller": {
|
|
3
|
+
showExportCSV: {
|
|
4
|
+
button: "Export CSV",
|
|
5
|
+
"generic-error-message": "We couldn’t export your CSV. Please try again.",
|
|
6
|
+
"limit-error": "We're sorry, but exporting more than {{LIMIT_GRID_ITEMS_EXPORT}} items is not supported at this time."
|
|
7
|
+
}
|
|
8
|
+
}
|
|
9
|
+
};
|
|
10
|
+
|
|
11
|
+
export { gridController as default };
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import accoutSettings from './account-settings.json.js';
|
|
2
2
|
import common from './common.json.js';
|
|
3
3
|
import connectCarriers from './connect-carrier.json.js';
|
|
4
|
+
import gridController from './grid-controller.json.js';
|
|
4
5
|
import listLabels from './list-labels.json.js';
|
|
5
6
|
import listShipments from './list-shipments.json.js';
|
|
6
7
|
import manageCarriers from './manage-carriers.json.js';
|
|
@@ -18,6 +19,6 @@ import viewShipment from './view-shipment.json.js';
|
|
|
18
19
|
import voidLabel from './void-label.json.js';
|
|
19
20
|
import walletHistory from './wallet-history.json.js';
|
|
20
21
|
|
|
21
|
-
var en = Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign({}, accoutSettings), common), connectCarriers), listLabels), listShipments), manageDefaults), manageDefaults), manageFunding), manageWarehouses), onboarding), paymentMethod), purchaseLabel), rateDetails), registerCarrier), registerWallet), manageCarriers), vatSettings), viewShipment), voidLabel), walletHistory);
|
|
22
|
+
var en = Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign({}, accoutSettings), common), connectCarriers), listLabels), listShipments), manageDefaults), manageDefaults), manageFunding), manageWarehouses), onboarding), paymentMethod), purchaseLabel), rateDetails), registerCarrier), registerWallet), manageCarriers), vatSettings), viewShipment), voidLabel), walletHistory), gridController);
|
|
22
23
|
|
|
23
24
|
export { en as default };
|
|
@@ -22,6 +22,11 @@ var onboarding = {
|
|
|
22
22
|
title: "Activate ShipEngine Services",
|
|
23
23
|
subtitle: "Your account includes access to services from these partners."
|
|
24
24
|
},
|
|
25
|
+
upsDisclosure: {
|
|
26
|
+
title: "UPS Promotional Rates and Technology Agreements",
|
|
27
|
+
line1: "I have read and agree to the Terms and Conditions and the Privacy Policy, and I confirm that information I have provided is accurate and truthful.",
|
|
28
|
+
line2: "To start shipping with UPS, you must first agree to the following: UPS®, the UPS brandmark, UPS Ready® and the color brown are trademarks of the United Parcel Service of America, Inc. All Rights Reserved."
|
|
29
|
+
},
|
|
25
30
|
warehouse: {
|
|
26
31
|
title: "Ship From Address",
|
|
27
32
|
subtitle: "Enter your default Ship From Address",
|
|
@@ -10,7 +10,8 @@ var purchaseLabel = {
|
|
|
10
10
|
showItems: "Show items",
|
|
11
11
|
showMoreRates: "Show more rates",
|
|
12
12
|
showFewerRates: "Show fewer rates",
|
|
13
|
-
saveRate: "Save Rate"
|
|
13
|
+
saveRate: "Save Rate",
|
|
14
|
+
createNewShipment: "Create New Shipment"
|
|
14
15
|
},
|
|
15
16
|
balance: {
|
|
16
17
|
currentBalance: "Available Funds:",
|
|
@@ -127,7 +128,6 @@ var purchaseLabel = {
|
|
|
127
128
|
otherLocations: "Other drop off points near you:",
|
|
128
129
|
noServicePointsForService: "There are no drop off locations for this service within 10km of your search area.",
|
|
129
130
|
error: "Unable to find drop off locations within 10km of your search area.",
|
|
130
|
-
paperless: "Print & Paperless",
|
|
131
131
|
localTimeDisclaimer: "Hours shown in local time"
|
|
132
132
|
},
|
|
133
133
|
shipToAddressFormFields: "Ship To Address Form Fields",
|
|
@@ -141,7 +141,9 @@ var purchaseLabel = {
|
|
|
141
141
|
},
|
|
142
142
|
warnings: {
|
|
143
143
|
parcelGuardShipDate: "ParcelGuard must be purchased within 48 hours of the ship date. Please update the ship date to continue."
|
|
144
|
-
}
|
|
144
|
+
},
|
|
145
|
+
paperlessAvailable: "Paperless available",
|
|
146
|
+
usePaperlessLabel: "Use Paperless Label (QR Code)"
|
|
145
147
|
}
|
|
146
148
|
};
|
|
147
149
|
|
package/dist/esm/package.json.js
CHANGED