@shipengine/elements 2.26.5 → 2.28.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/dist/cjs/assets/xcover/logo.svg.cjs +44 -0
- package/dist/cjs/components/field/rate-select/rate-card/rate-attribute-item/index.cjs +7 -0
- package/dist/cjs/components/field/rate-select/rate-card/rate-attribute-item/rate-attribute-item.cjs +56 -0
- package/dist/cjs/components/field/rate-select/rate-card/rate-attribute-item/rate-attribute-item.styles.cjs +27 -0
- package/dist/cjs/components/field/rate-select/rate-card/rate-card.cjs +53 -42
- package/dist/cjs/components/field/rate-select/rate-card/rate-card.styles.cjs +4 -0
- package/dist/cjs/components/field/rate-select/rate-select.cjs +80 -49
- package/dist/cjs/components/forms/register-funding-source-insurance-form/register-funding-source-insurance-form.cjs +1 -1
- package/dist/cjs/components/forms/warehouse-form/warehouse-form.cjs +10 -1
- package/dist/cjs/components/service-card/service-card.cjs +3 -2
- package/dist/cjs/components/service-card/service-card.styles.cjs +4 -2
- package/dist/cjs/data/insurance-provider-metadatas.json.cjs +10 -4
- package/dist/cjs/elements/customs-form/customs-form-element.cjs +294 -0
- package/dist/cjs/elements/customs-form/customs-form-element.stories.cjs +243 -0
- package/dist/cjs/elements/customs-form/customs-form-schema.cjs +59 -0
- package/dist/cjs/elements/customs-form/customs-form-types.cjs +63 -0
- package/dist/cjs/elements/customs-form/index.cjs +10 -0
- package/dist/cjs/elements/index.cjs +5 -0
- package/dist/cjs/elements/labels-grid/hooks/use-labels-grid.cjs +2 -2
- package/dist/cjs/elements/labels-grid/labels-grid.cjs +29 -9
- package/dist/cjs/elements/labels-grid/labels-grid.styles.cjs +5 -0
- package/dist/cjs/elements/manage-carriers/manage-carriers.cjs +1 -1
- package/dist/cjs/elements/purchase-label/components/customs-forms/tax-ids/tax-ids.cjs +1 -1
- package/dist/cjs/elements/purchase-label/components/index.cjs +2 -0
- package/dist/cjs/elements/purchase-label/components/rate-form/rate-view.cjs +3 -5
- package/dist/cjs/elements/purchase-label/components/shipment-form/shipment-form.cjs +7 -4
- package/dist/cjs/elements/purchase-label/hooks/use-filter-visible-rate-options/use-filter-visible-rate-options.cjs +35 -11
- package/dist/cjs/elements/purchase-label/hooks/use-insurance-provider-options.cjs +2 -2
- package/dist/cjs/elements/shipments-grid/hooks/use-shipments-grid.cjs +2 -2
- package/dist/cjs/elements/shipments-grid/shipments-grid.cjs +20 -6
- package/dist/cjs/elements/shipments-grid/shipments-grid.styles.cjs +5 -0
- package/dist/cjs/factories/shipengine/address.cjs +114 -0
- package/dist/cjs/factories/shipengine/money.cjs +21 -0
- package/dist/cjs/factories/shipengine/order-source.cjs +37 -0
- package/dist/cjs/factories/shipengine/package.cjs +41 -0
- package/dist/cjs/factories/shipengine/resource.cjs +23 -0
- package/dist/cjs/factories/shipengine/shipment.cjs +176 -0
- package/dist/cjs/factories/shipengine/weight.cjs +44 -0
- package/dist/cjs/factories/utils.cjs +19 -0
- package/dist/cjs/features/manage-carriers/hooks/use-list-funding-source-carriers.cjs +4 -6
- package/dist/cjs/features/manage-carriers/manage-carriers.cjs +8 -6
- package/dist/cjs/features/manage-warehouses/manage-warehouses.cjs +9 -5
- package/dist/cjs/hooks/use-configure-shipment.cjs +55 -14
- package/dist/cjs/hooks/use-get-funding-source-insurance-provider.cjs +7 -7
- package/dist/cjs/hooks/use-get-service-data.cjs +60 -0
- package/dist/cjs/hooks/use-import-sales-order.cjs +45 -20
- package/dist/cjs/hooks/use-manage-funding-source-insurance.cjs +15 -23
- package/dist/cjs/index.cjs +5 -0
- package/dist/cjs/locales/en/common.json.cjs +1 -1
- package/dist/cjs/locales/en/list-labels.json.cjs +2 -1
- package/dist/cjs/locales/en/list-shipments.json.cjs +1 -1
- package/dist/cjs/locales/en/manage-warehouses.json.cjs +2 -0
- package/dist/cjs/locales/en/purchase-label.json.cjs +9 -1
- package/dist/cjs/package.json.cjs +1 -1
- package/dist/cjs/utilities/feature-flags/feature-flags.cjs +3 -1
- package/dist/cjs/utilities/shipengine/carrier.cjs +4 -0
- package/dist/cjs/utilities/shipengine/index.cjs +3 -0
- package/dist/cjs/utilities/shipengine/insurance.cjs +63 -0
- package/dist/cjs/workflows/onboarding/components/confirmation-and-submission-step/use-confirmation-and-submission-step.cjs +9 -9
- package/dist/cjs/workflows/onboarding/components/ship-from-address-step/ship-from-address-step.cjs +1 -1
- package/dist/cjs/workflows/onboarding/components/terms-agreement-form/terms-agreement-form.cjs +3 -2
- package/dist/cjs/workflows/onboarding/components/terms-agreement-step/terms-agreement-step.cjs +8 -6
- package/dist/cjs/workflows/onboarding/components/terms-agreement-step/use-terms-agreement-step.cjs +4 -19
- package/dist/esm/assets/xcover/logo.svg.js +23 -0
- package/dist/esm/components/field/rate-select/rate-card/rate-attribute-item/index.js +1 -0
- package/dist/esm/components/field/rate-select/rate-card/rate-attribute-item/rate-attribute-item.js +54 -0
- package/dist/esm/components/field/rate-select/rate-card/rate-attribute-item/rate-attribute-item.styles.js +25 -0
- package/dist/esm/components/field/rate-select/rate-card/rate-card.js +53 -42
- package/dist/esm/components/field/rate-select/rate-card/rate-card.styles.js +4 -0
- package/dist/esm/components/field/rate-select/rate-select.js +80 -49
- package/dist/esm/components/forms/register-funding-source-insurance-form/register-funding-source-insurance-form.js +1 -1
- package/dist/esm/components/forms/warehouse-form/warehouse-form.js +10 -1
- package/dist/esm/components/service-card/service-card.js +3 -2
- package/dist/esm/components/service-card/service-card.styles.js +4 -2
- package/dist/esm/data/insurance-provider-metadatas.json.js +9 -4
- package/dist/esm/elements/customs-form/customs-form-element.js +291 -0
- package/dist/esm/elements/customs-form/customs-form-element.stories.js +232 -0
- package/dist/esm/elements/customs-form/customs-form-schema.js +56 -0
- package/dist/esm/elements/customs-form/customs-form-types.js +60 -0
- package/dist/esm/elements/customs-form/index.js +3 -0
- package/dist/esm/elements/index.js +3 -0
- package/dist/esm/elements/labels-grid/hooks/use-labels-grid.js +2 -2
- package/dist/esm/elements/labels-grid/labels-grid.js +30 -10
- package/dist/esm/elements/labels-grid/labels-grid.styles.js +5 -0
- package/dist/esm/elements/manage-carriers/manage-carriers.js +1 -1
- package/dist/esm/elements/purchase-label/components/customs-forms/tax-ids/tax-ids.js +1 -1
- package/dist/esm/elements/purchase-label/components/index.js +1 -0
- package/dist/esm/elements/purchase-label/components/rate-form/rate-view.js +3 -5
- package/dist/esm/elements/purchase-label/components/shipment-form/shipment-form.js +7 -4
- package/dist/esm/elements/purchase-label/hooks/use-filter-visible-rate-options/use-filter-visible-rate-options.js +35 -11
- package/dist/esm/elements/purchase-label/hooks/use-insurance-provider-options.js +2 -2
- package/dist/esm/elements/shipments-grid/hooks/use-shipments-grid.js +2 -2
- package/dist/esm/elements/shipments-grid/shipments-grid.js +21 -7
- package/dist/esm/elements/shipments-grid/shipments-grid.styles.js +5 -0
- package/dist/esm/elements-provider/elements-context-provider.js +1 -1
- package/dist/esm/factories/shipengine/address.js +111 -0
- package/dist/esm/factories/shipengine/money.js +19 -0
- package/dist/esm/factories/shipengine/order-source.js +34 -0
- package/dist/esm/factories/shipengine/package.js +39 -0
- package/dist/esm/factories/shipengine/resource.js +21 -0
- package/dist/esm/factories/shipengine/shipment.js +168 -0
- package/dist/esm/factories/shipengine/weight.js +40 -0
- package/dist/esm/factories/utils.js +15 -0
- package/dist/esm/features/manage-carriers/hooks/use-list-funding-source-carriers.js +5 -7
- package/dist/esm/features/manage-carriers/manage-carriers.js +8 -6
- package/dist/esm/features/manage-warehouses/manage-warehouses.js +9 -5
- package/dist/esm/hooks/use-configure-shipment.js +55 -14
- package/dist/esm/hooks/use-get-funding-source-insurance-provider.js +7 -7
- package/dist/esm/hooks/use-get-service-data.js +58 -0
- package/dist/esm/hooks/use-import-sales-order.js +47 -22
- package/dist/esm/hooks/use-manage-funding-source-insurance.js +15 -23
- package/dist/esm/index.js +3 -0
- package/dist/esm/locales/en/common.json.js +1 -1
- package/dist/esm/locales/en/list-labels.json.js +2 -1
- package/dist/esm/locales/en/list-shipments.json.js +1 -1
- package/dist/esm/locales/en/manage-warehouses.json.js +2 -0
- package/dist/esm/locales/en/purchase-label.json.js +9 -1
- package/dist/esm/package.json.js +1 -1
- package/dist/esm/utilities/feature-flags/feature-flags.js +3 -1
- package/dist/esm/utilities/shipengine/carrier.js +4 -0
- package/dist/esm/utilities/shipengine/index.js +1 -1
- package/dist/esm/utilities/shipengine/insurance.js +61 -1
- package/dist/esm/workflows/onboarding/components/confirmation-and-submission-step/use-confirmation-and-submission-step.js +9 -9
- package/dist/esm/workflows/onboarding/components/ship-from-address-step/ship-from-address-step.js +1 -1
- package/dist/esm/workflows/onboarding/components/terms-agreement-form/terms-agreement-form.js +3 -2
- package/dist/esm/workflows/onboarding/components/terms-agreement-step/terms-agreement-step.js +8 -6
- package/dist/esm/workflows/onboarding/components/terms-agreement-step/use-terms-agreement-step.js +5 -20
- package/dist/types/components/field/rate-select/rate-card/rate-attribute-item/index.d.ts +2 -0
- package/dist/types/components/field/rate-select/rate-card/rate-attribute-item/index.d.ts.map +1 -0
- package/dist/types/components/field/rate-select/rate-card/rate-attribute-item/rate-attribute-item.d.ts +8 -0
- package/dist/types/components/field/rate-select/rate-card/rate-attribute-item/rate-attribute-item.d.ts.map +1 -0
- package/dist/types/components/field/rate-select/rate-card/rate-attribute-item/rate-attribute-item.styles.d.ts +22 -0
- package/dist/types/components/field/rate-select/rate-card/rate-attribute-item/rate-attribute-item.styles.d.ts.map +1 -0
- package/dist/types/components/field/rate-select/rate-card/rate-card.d.ts +3 -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 +4 -0
- 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.map +1 -1
- package/dist/types/components/forms/register-funding-source-insurance-form/register-funding-source-insurance-form.d.ts.map +1 -1
- package/dist/types/components/forms/warehouse-form/warehouse-form.d.ts.map +1 -1
- package/dist/types/components/service-card/service-card.d.ts +2 -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 +2 -1
- package/dist/types/components/service-card/service-card.styles.d.ts.map +1 -1
- package/dist/types/elements/customs-form/customs-form-element.d.ts +1222 -0
- package/dist/types/elements/customs-form/customs-form-element.d.ts.map +1 -0
- package/dist/types/elements/customs-form/customs-form-element.stories.d.ts +12 -0
- package/dist/types/elements/customs-form/customs-form-element.stories.d.ts.map +1 -0
- package/dist/types/elements/customs-form/customs-form-schema.d.ts +398 -0
- package/dist/types/elements/customs-form/customs-form-schema.d.ts.map +1 -0
- package/dist/types/elements/customs-form/customs-form-types.d.ts +139 -0
- package/dist/types/elements/customs-form/customs-form-types.d.ts.map +1 -0
- package/dist/types/elements/customs-form/index.d.ts +4 -0
- package/dist/types/elements/customs-form/index.d.ts.map +1 -0
- package/dist/types/elements/index.d.ts +1 -0
- package/dist/types/elements/index.d.ts.map +1 -1
- package/dist/types/elements/labels-grid/labels-grid.d.ts +14 -3
- package/dist/types/elements/labels-grid/labels-grid.d.ts.map +1 -1
- package/dist/types/elements/labels-grid/labels-grid.styles.d.ts +5 -0
- package/dist/types/elements/labels-grid/labels-grid.styles.d.ts.map +1 -1
- package/dist/types/elements/manage-carriers/manage-carriers.d.ts +14 -3
- 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 +14 -3
- 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 +14 -3
- package/dist/types/elements/manage-funding/manage-funding-element.d.ts.map +1 -1
- package/dist/types/elements/manage-warehouses/manage-warehouses.d.ts +14 -3
- 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 +14 -3
- package/dist/types/elements/payment-method-settings/payment-method-settings-element.d.ts.map +1 -1
- package/dist/types/elements/purchase-label/components/index.d.ts +1 -0
- package/dist/types/elements/purchase-label/components/index.d.ts.map +1 -1
- package/dist/types/elements/purchase-label/components/rate-form/rate-view.d.ts +1 -1
- package/dist/types/elements/purchase-label/components/rate-form/rate-view.d.ts.map +1 -1
- package/dist/types/elements/purchase-label/components/shipment-form/shipment-form.d.ts.map +1 -1
- package/dist/types/elements/purchase-label/hooks/use-filter-visible-rate-options/use-filter-visible-rate-options.d.ts +6 -1
- package/dist/types/elements/purchase-label/hooks/use-filter-visible-rate-options/use-filter-visible-rate-options.d.ts.map +1 -1
- package/dist/types/elements/purchase-label/hooks/use-insurance-provider-options.d.ts.map +1 -1
- package/dist/types/elements/purchase-label/purchase-label.d.ts +14 -3
- 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 +14 -3
- package/dist/types/elements/select-label-layout/select-label-layout-element.d.ts.map +1 -1
- package/dist/types/elements/shipment-summary/shipment-summary.d.ts +14 -3
- package/dist/types/elements/shipment-summary/shipment-summary.d.ts.map +1 -1
- package/dist/types/elements/shipments-grid/shipments-grid.d.ts +14 -3
- package/dist/types/elements/shipments-grid/shipments-grid.d.ts.map +1 -1
- package/dist/types/elements/shipments-grid/shipments-grid.styles.d.ts +5 -0
- package/dist/types/elements/shipments-grid/shipments-grid.styles.d.ts.map +1 -1
- package/dist/types/elements/theme-creator/theme-creator.d.ts +14 -3
- package/dist/types/elements/theme-creator/theme-creator.d.ts.map +1 -1
- package/dist/types/elements/transaction-history/transaction-history-element.d.ts +14 -3
- 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 +14 -3
- 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 +14 -3
- package/dist/types/elements/vat-settings/vat-settings-element.d.ts.map +1 -1
- package/dist/types/elements/void-label/void-label.d.ts +14 -3
- 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.d.ts.map +1 -1
- package/dist/types/features/manage-warehouses/manage-warehouses.d.ts.map +1 -1
- package/dist/types/hooks/use-configure-shipment.d.ts.map +1 -1
- package/dist/types/hooks/use-get-funding-source-insurance-provider.d.ts.map +1 -1
- package/dist/types/hooks/use-get-service-data.d.ts +14 -0
- package/dist/types/hooks/use-get-service-data.d.ts.map +1 -0
- package/dist/types/hooks/use-import-sales-order.d.ts +20 -1
- package/dist/types/hooks/use-import-sales-order.d.ts.map +1 -1
- package/dist/types/hooks/use-manage-funding-source-insurance.d.ts +3 -4
- package/dist/types/hooks/use-manage-funding-source-insurance.d.ts.map +1 -1
- package/dist/types/locales/en/index.d.ts +14 -3
- package/dist/types/locales/en/index.d.ts.map +1 -1
- package/dist/types/types/insurance-metadata.d.ts +1 -1
- package/dist/types/types/insurance-metadata.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/utilities/feature-flags/feature-flags.d.ts.map +1 -1
- package/dist/types/utilities/feature-flags/types.d.ts +8 -0
- package/dist/types/utilities/feature-flags/types.d.ts.map +1 -1
- package/dist/types/utilities/shipengine/carrier.d.ts.map +1 -1
- package/dist/types/utilities/shipengine/insurance.d.ts +31 -0
- package/dist/types/utilities/shipengine/insurance.d.ts.map +1 -1
- package/dist/types/workflows/account-settings/account-settings.d.ts +14 -3
- package/dist/types/workflows/account-settings/account-settings.d.ts.map +1 -1
- package/dist/types/workflows/carrier-services/carrier-services.d.ts +14 -3
- 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 +14 -3
- 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 +14 -3
- 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/ship-from-address-step/ship-from-address-step.d.ts.map +1 -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/use-terms-agreement-step.d.ts +1 -5
- 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 +14 -3
- package/dist/types/workflows/onboarding/onboarding.d.ts.map +1 -1
- package/package.json +3 -3
- package/dist/cjs/hooks/use-get-service-name.cjs +0 -22
- package/dist/esm/hooks/use-get-service-name.js +0 -20
- package/dist/types/hooks/use-get-service-name.d.ts +0 -5
- package/dist/types/hooks/use-get-service-name.d.ts.map +0 -1
|
@@ -1,28 +1,51 @@
|
|
|
1
1
|
import { __awaiter } from '../_virtual/_tslib.js';
|
|
2
|
-
import {
|
|
2
|
+
import { useListSalesOrders, useGetSalesOrder, useListOrderSources, useRefreshOrderSource } from '@shipengine/react-api';
|
|
3
3
|
import { useQueryClient } from '@tanstack/react-query';
|
|
4
|
-
import { useState, useMemo, useEffect } from 'react';
|
|
4
|
+
import { useState, useMemo, useCallback, useEffect } from 'react';
|
|
5
5
|
|
|
6
|
+
/**
|
|
7
|
+
* Imports and retrieves sales orders by either:
|
|
8
|
+
* - Sales order ID lookup
|
|
9
|
+
* - External order ID/number search
|
|
10
|
+
*
|
|
11
|
+
* 1. First attempts to find the sales order using provided identifiers
|
|
12
|
+
* 2. If no order is found and initial fetches have run, automatically refreshes order sources
|
|
13
|
+
* 3. Invalidates relevant queries after successful refresh to refetch updated data
|
|
14
|
+
*
|
|
15
|
+
* @returns Object:
|
|
16
|
+
* - `salesOrder`: The found sales order, or undefined
|
|
17
|
+
* - `isLoading`: Boolean indicating if the hook is currently loading data
|
|
18
|
+
* - `errors`: Array of errors from failed queries, or undefined
|
|
19
|
+
*/
|
|
6
20
|
const useImportSalesOrder = ({
|
|
7
21
|
enabled,
|
|
8
22
|
externalOrderId,
|
|
23
|
+
externalOrderNumber,
|
|
9
24
|
orderSourceCode,
|
|
10
25
|
salesOrderId
|
|
11
26
|
}) => {
|
|
12
27
|
var _a, _b, _c;
|
|
13
28
|
const queryClient = useQueryClient();
|
|
14
29
|
const [refreshAttempted, setRefreshAttempted] = useState(false);
|
|
15
|
-
//
|
|
16
|
-
const
|
|
17
|
-
|
|
30
|
+
// Fetch sales order by External Order ID or External Order Number
|
|
31
|
+
const salesOrderByExternalIdQuery = useListSalesOrders({
|
|
32
|
+
externalOrderId,
|
|
33
|
+
externalOrderNumber
|
|
18
34
|
});
|
|
19
35
|
// if an order was found through external search disable this query
|
|
20
|
-
const
|
|
36
|
+
const salesOrderByIdQuery = useGetSalesOrder(salesOrderId, {
|
|
21
37
|
enabled: enabled && !!salesOrderId
|
|
22
38
|
});
|
|
23
|
-
const salesOrder = useMemo(() =>
|
|
39
|
+
const salesOrder = useMemo(() => {
|
|
40
|
+
if (salesOrderId) {
|
|
41
|
+
return salesOrderByIdQuery.data;
|
|
42
|
+
} else if (salesOrderByExternalIdQuery.data && salesOrderByExternalIdQuery.data.length > 0) {
|
|
43
|
+
return salesOrderByExternalIdQuery.data[0];
|
|
44
|
+
}
|
|
45
|
+
return undefined;
|
|
46
|
+
}, [salesOrderId, salesOrderByIdQuery.data, salesOrderByExternalIdQuery.data]);
|
|
24
47
|
// Determine if the initial fetch attempts (if applicable) have settled without finding data
|
|
25
|
-
const initialFetchSettled = (salesOrderId ? !
|
|
48
|
+
const initialFetchSettled = (salesOrderId ? !salesOrderByIdQuery.isInitialLoading && !salesOrderByIdQuery.isFetching : true) && ((externalOrderNumber || externalOrderId) && !salesOrderId ? !salesOrderByExternalIdQuery.isLoading && !salesOrderByExternalIdQuery.isFetching : true);
|
|
26
49
|
const shouldAttemptRefresh = enabled && initialFetchSettled && !salesOrder && !refreshAttempted;
|
|
27
50
|
const listOrderSourcesQuery = useListOrderSources({
|
|
28
51
|
enabled: shouldAttemptRefresh
|
|
@@ -32,6 +55,17 @@ const useImportSalesOrder = ({
|
|
|
32
55
|
isLoading: isRefreshingOrderSource,
|
|
33
56
|
mutateAsync: refreshOrderSource
|
|
34
57
|
} = useRefreshOrderSource();
|
|
58
|
+
const invalidateSalesOrderQueries = useCallback(() => {
|
|
59
|
+
if (salesOrderId) {
|
|
60
|
+
void queryClient.invalidateQueries({
|
|
61
|
+
queryKey: ["useGetSalesOrder", salesOrderId]
|
|
62
|
+
});
|
|
63
|
+
} else if (externalOrderId || externalOrderNumber) {
|
|
64
|
+
void queryClient.invalidateQueries({
|
|
65
|
+
queryKey: ["useListSalesOrders", externalOrderId, externalOrderNumber]
|
|
66
|
+
});
|
|
67
|
+
}
|
|
68
|
+
}, [queryClient, salesOrderId, externalOrderId, externalOrderNumber]);
|
|
35
69
|
useEffect(() => {
|
|
36
70
|
if (listOrderSourcesQuery.isSuccess && listOrderSourcesQuery.data && shouldAttemptRefresh && !isRefreshingOrderSource) {
|
|
37
71
|
const orderSourcesToRefresh = orderSourceCode ? listOrderSourcesQuery.data.filter(o => o.orderSourceCode.includes(orderSourceCode) && o.active) : listOrderSourcesQuery.data.filter(o => o.active);
|
|
@@ -39,29 +73,20 @@ const useImportSalesOrder = ({
|
|
|
39
73
|
setRefreshAttempted(true);
|
|
40
74
|
void (() => __awaiter(void 0, void 0, void 0, function* () {
|
|
41
75
|
yield Promise.all(orderSourcesToRefresh.map(o => refreshOrderSource(o.orderSourceId, {
|
|
42
|
-
// Invalidate relevant queries
|
|
76
|
+
// Invalidate relevant queries
|
|
43
77
|
onSuccess: () => {
|
|
44
|
-
|
|
45
|
-
void queryClient.invalidateQueries({
|
|
46
|
-
queryKey: ["useGetSalesOrder", salesOrderId]
|
|
47
|
-
});
|
|
48
|
-
}
|
|
49
|
-
if (externalOrderId && !salesOrderId) {
|
|
50
|
-
void queryClient.invalidateQueries({
|
|
51
|
-
queryKey: ["useGetSalesOrderByExternalOrderId", externalOrderId]
|
|
52
|
-
});
|
|
53
|
-
}
|
|
78
|
+
invalidateSalesOrderQueries();
|
|
54
79
|
}
|
|
55
80
|
})));
|
|
56
81
|
}))();
|
|
57
82
|
}
|
|
58
83
|
}
|
|
59
84
|
}, [externalOrderId, isRefreshingOrderSource, listOrderSourcesQuery.data, listOrderSourcesQuery.isSuccess, orderSourceCode, queryClient, refreshOrderSource, salesOrderId, shouldAttemptRefresh]);
|
|
60
|
-
const isLoading =
|
|
61
|
-
const errors = [...((_a =
|
|
85
|
+
const isLoading = salesOrderByIdQuery.isInitialLoading || salesOrderByExternalIdQuery.isInitialLoading || listOrderSourcesQuery.isInitialLoading || isRefreshingOrderSource;
|
|
86
|
+
const errors = [...((_a = salesOrderByIdQuery.error) !== null && _a !== void 0 ? _a : []), ...((_b = salesOrderByExternalIdQuery.error) !== null && _b !== void 0 ? _b : []), ...((_c = listOrderSourcesQuery.error) !== null && _c !== void 0 ? _c : []), ...(refreshOrderSourceErrors !== null && refreshOrderSourceErrors !== void 0 ? refreshOrderSourceErrors : [])];
|
|
62
87
|
return {
|
|
63
88
|
errors: errors.length > 0 ? errors : undefined,
|
|
64
|
-
isLoading,
|
|
89
|
+
isLoading: isLoading && errors.length === 0,
|
|
65
90
|
salesOrder
|
|
66
91
|
};
|
|
67
92
|
};
|
|
@@ -1,13 +1,15 @@
|
|
|
1
1
|
import { __awaiter } from '../_virtual/_tslib.js';
|
|
2
2
|
import { useListFundingSources, useGetFundingSourceMetadata, useGetInsuranceFundingSourceAcceptedTerms, useRegisterCarrier } from '@shipengine/react-api';
|
|
3
|
+
import { groupTermsByProvider, getIsFundingSourceInsuranceProviderEnabledAndSupported } from '../utilities/shipengine/insurance.js';
|
|
3
4
|
import { useMemo, useCallback } from 'react';
|
|
4
5
|
import { useElements } from '../elements-provider/elements-context-provider.js';
|
|
5
6
|
|
|
6
7
|
const useManageFundingSourceInsurance = () => {
|
|
7
|
-
var _a;
|
|
8
|
+
var _a, _b;
|
|
8
9
|
const {
|
|
9
10
|
globalFeatures: {
|
|
10
|
-
enableParcelGuard
|
|
11
|
+
enableParcelGuard,
|
|
12
|
+
enableXCover
|
|
11
13
|
}
|
|
12
14
|
} = useElements();
|
|
13
15
|
const {
|
|
@@ -19,25 +21,12 @@ const useManageFundingSourceInsurance = () => {
|
|
|
19
21
|
data: insuranceAcceptedTerms,
|
|
20
22
|
isLoading: loadingInsuranceAcceptedTerms
|
|
21
23
|
} = useGetInsuranceFundingSourceAcceptedTerms({
|
|
22
|
-
enabled: enableParcelGuard
|
|
24
|
+
enabled: enableParcelGuard || enableXCover
|
|
23
25
|
});
|
|
24
26
|
const insuranceProviderProfiles = useMemo(() => {
|
|
25
27
|
var _a;
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
parcelguard_terms: "parcelguard"
|
|
29
|
-
};
|
|
30
|
-
const friendlyNameLookup = {
|
|
31
|
-
parcelguard_terms: "ParcelGuard"
|
|
32
|
-
};
|
|
33
|
-
const provider = providerLookup[terms.termType];
|
|
34
|
-
const friendlyName = friendlyNameLookup[terms.termType];
|
|
35
|
-
return {
|
|
36
|
-
friendlyName,
|
|
37
|
-
provider,
|
|
38
|
-
terms
|
|
39
|
-
};
|
|
40
|
-
});
|
|
28
|
+
const optionalTerms = (_a = fundingSourceMetadata === null || fundingSourceMetadata === void 0 ? void 0 : fundingSourceMetadata.data) === null || _a === void 0 ? void 0 : _a.defaultFundingSourceProfile.optionalTerms;
|
|
29
|
+
return groupTermsByProvider(optionalTerms);
|
|
41
30
|
}, [fundingSourceMetadata]);
|
|
42
31
|
const {
|
|
43
32
|
mutateAsync: registerCarrier
|
|
@@ -77,12 +66,15 @@ const useManageFundingSourceInsurance = () => {
|
|
|
77
66
|
}
|
|
78
67
|
}), [fundingSources, insuranceProviderProfiles, registerCarrier]);
|
|
79
68
|
const hasInsuranceToRegister = useMemo(() => {
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
69
|
+
var _a, _b;
|
|
70
|
+
const isProviderEnabled = getIsFundingSourceInsuranceProviderEnabledAndSupported(insuranceProviderProfiles, enableXCover, enableParcelGuard);
|
|
71
|
+
const hasProfiles = Boolean(insuranceProviderProfiles === null || insuranceProviderProfiles === void 0 ? void 0 : insuranceProviderProfiles.length);
|
|
72
|
+
const hasNoAcceptedTerms = ((_b = (_a = insuranceAcceptedTerms === null || insuranceAcceptedTerms === void 0 ? void 0 : insuranceAcceptedTerms.acceptedTerms) === null || _a === void 0 ? void 0 : _a.length) !== null && _b !== void 0 ? _b : 0) === 0;
|
|
73
|
+
const hasFundingSources = Boolean(fundingSources === null || fundingSources === void 0 ? void 0 : fundingSources.length);
|
|
74
|
+
return isProviderEnabled && hasProfiles && hasNoAcceptedTerms && hasFundingSources;
|
|
75
|
+
}, [insuranceProviderProfiles, enableXCover, enableParcelGuard, (_a = insuranceAcceptedTerms === null || insuranceAcceptedTerms === void 0 ? void 0 : insuranceAcceptedTerms.acceptedTerms) === null || _a === void 0 ? void 0 : _a.length, fundingSources === null || fundingSources === void 0 ? void 0 : fundingSources.length]);
|
|
84
76
|
return {
|
|
85
|
-
fundingSourceCountryCode: (
|
|
77
|
+
fundingSourceCountryCode: (_b = fundingSourceMetadata === null || fundingSourceMetadata === void 0 ? void 0 : fundingSourceMetadata.data) === null || _b === void 0 ? void 0 : _b.defaultFundingSourceProfile.countryCode,
|
|
86
78
|
hasInsuranceToRegister,
|
|
87
79
|
insuranceAcceptedTerms: insuranceAcceptedTerms === null || insuranceAcceptedTerms === void 0 ? void 0 : insuranceAcceptedTerms.acceptedTerms,
|
|
88
80
|
insuranceProviderProfiles,
|
package/dist/esm/index.js
CHANGED
|
@@ -35,6 +35,9 @@ import * as carrierServices from './workflows/carrier-services/carrier-services.
|
|
|
35
35
|
export { carrierServices as CarrierServices };
|
|
36
36
|
import * as transactionHistoryElement from './elements/transaction-history/transaction-history-element.js';
|
|
37
37
|
export { transactionHistoryElement as TransactionHistory };
|
|
38
|
+
import * as customsFormElement from './elements/customs-form/customs-form-element.js';
|
|
39
|
+
export { customsFormElement as CustomsForm };
|
|
40
|
+
export { extractCustomsFormData, getDefaultCustomsFormValues } from './elements/customs-form/customs-form-types.js';
|
|
38
41
|
export { useAddressValidation } from './hooks/use-address-validation.js';
|
|
39
42
|
export { useHelpers } from './hooks/use-helpers.js';
|
|
40
43
|
export { useConfigureShipment } from './hooks/use-configure-shipment.js';
|
|
@@ -1,12 +1,13 @@
|
|
|
1
1
|
var listLabels = {
|
|
2
2
|
"list-labels": {
|
|
3
3
|
title: "List Labels",
|
|
4
|
+
none: "None",
|
|
4
5
|
headers: {
|
|
5
6
|
created: "Created Date",
|
|
6
7
|
shipmentId: "Shipment ID",
|
|
7
8
|
parcels: "Parcels",
|
|
8
9
|
recipient: "Recipient",
|
|
9
|
-
|
|
10
|
+
service: "Service",
|
|
10
11
|
shipDate: "Ship Date",
|
|
11
12
|
status: "Label Status",
|
|
12
13
|
trackingStatus: "Delivery Status",
|
|
@@ -5,6 +5,8 @@ var manageWarehouses = {
|
|
|
5
5
|
editWarehouse: "Edit Address",
|
|
6
6
|
contactName: "Contact Name",
|
|
7
7
|
"default": "Default",
|
|
8
|
+
forcedDefault: "This is your default Ship From Address",
|
|
9
|
+
forcedDefaultNew: "This will be your default Ship From Address",
|
|
8
10
|
isDefault: "Set as default Ship From address",
|
|
9
11
|
locationName: "Location Name",
|
|
10
12
|
residentialAddress: "Residential Address",
|
|
@@ -91,7 +91,15 @@ var purchaseLabel = {
|
|
|
91
91
|
rateSavings: "Save ${{amount}}",
|
|
92
92
|
upsGroundSaverTermsAcknowledgement: "To start shipping with UPS Ground Saver, you are confirming that you have agreed to the <1>terms and conditions</1>",
|
|
93
93
|
dhlExpressTermsAcknowledgement: "To start shipping with DHL, you are confirming that you have agreed to the <1>terms and conditions</1>",
|
|
94
|
-
noRateService: "Rate and services will be billed based on carrier."
|
|
94
|
+
noRateService: "Rate and services will be billed based on carrier.",
|
|
95
|
+
rateAttributes: {
|
|
96
|
+
bestValue: "Best Value",
|
|
97
|
+
cheapest: "Cheapest",
|
|
98
|
+
fastest: "Fastest",
|
|
99
|
+
bestValueTooltip: "Lowest cost option arriving on a specified date within 4 days, with free carrier coverage up to $100 and a free dropoff option.",
|
|
100
|
+
cheapestTooltip: "Lowest cost option.",
|
|
101
|
+
fastestTooltip: "Fastest delivery option."
|
|
102
|
+
}
|
|
95
103
|
},
|
|
96
104
|
windsorFramework: {
|
|
97
105
|
movementIndicator: "Movement Indicator",
|
package/dist/esm/package.json.js
CHANGED
|
@@ -26,6 +26,7 @@ const defaultFeatureFlags = {
|
|
|
26
26
|
globalFeatures: {
|
|
27
27
|
disableShadowDOM: false,
|
|
28
28
|
enableParcelGuard: true,
|
|
29
|
+
enableXCover: false,
|
|
29
30
|
isSandbox: false,
|
|
30
31
|
poweredByShipEngine: true,
|
|
31
32
|
showVatSettings: false,
|
|
@@ -48,7 +49,8 @@ const defaultFeatureFlags = {
|
|
|
48
49
|
labelLayout: false,
|
|
49
50
|
nicknameRate: true,
|
|
50
51
|
requireDhlTermsAcknowledgement: false,
|
|
51
|
-
saveRate: true
|
|
52
|
+
saveRate: true,
|
|
53
|
+
showMediaMail: false
|
|
52
54
|
},
|
|
53
55
|
shipmentForm: {
|
|
54
56
|
addOns: true,
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import SvgIcon from '../../assets/parcelguard/icon.svg.js';
|
|
2
2
|
import SvgLogo from '../../assets/parcelguard/logo.svg.js';
|
|
3
|
+
import SvgLogo$1 from '../../assets/xcover/logo.svg.js';
|
|
3
4
|
|
|
4
5
|
const USPS_CARRIER_CODES = ["usps", "stamps_com"];
|
|
5
6
|
/**
|
|
@@ -57,6 +58,9 @@ const getLogoOrIconByCarrierCode = (carrierCode, type) => {
|
|
|
57
58
|
if (carrierCode === "parcelguard") {
|
|
58
59
|
return type === "logo" ? SvgLogo : SvgIcon;
|
|
59
60
|
}
|
|
61
|
+
if (carrierCode === "xcover") {
|
|
62
|
+
return SvgLogo$1;
|
|
63
|
+
}
|
|
60
64
|
const carrierCodeOverrides = {
|
|
61
65
|
stamps_com: "stamps_com_wl",
|
|
62
66
|
usps: "stamps_com_wl"
|
|
@@ -6,4 +6,4 @@ export { getCancelledShipment, getIsCustomsRequiredForShipment, getIsInternation
|
|
|
6
6
|
export { convertDecimalWeightToFractionalWeight, convertFractionalWeightToDecimalWeight, convertPoundsAndOuncesToOunces, convertWeight, formatFractionalWeight, isDecimalWeight, isMetricWeightUnit } from './weight.js';
|
|
7
7
|
export { isFlatRatePackageCode } from './package.js';
|
|
8
8
|
export { getDefaultWarehouse, getWarehouseById } from './warehouses.js';
|
|
9
|
-
export { getInsuranceProviderWithFriendlyName, getIsInsuraceProviderAccepted } from './insurance.js';
|
|
9
|
+
export { filterProfilesByAcceptedTerms, getInsuranceProviderWithFriendlyName, getIsFundingSourceInsuranceProviderEnabledAndSupported, getIsInsuraceProviderAccepted, groupTermsByProvider } from './insurance.js';
|
|
@@ -10,6 +10,22 @@ import _insuranceProviderMetadata from '../../data/insurance-provider-metadatas.
|
|
|
10
10
|
const getInsuranceProviderWithFriendlyName = termType => {
|
|
11
11
|
return _insuranceProviderMetadata[termType];
|
|
12
12
|
};
|
|
13
|
+
/**
|
|
14
|
+
* @internal
|
|
15
|
+
*
|
|
16
|
+
* # Insurance Utilities - getIsFundingSourceInsuranceProviderEnabledAndSupported
|
|
17
|
+
*
|
|
18
|
+
* Determines if any insurance providers are enabled and supported based on feature flags and funding source data.
|
|
19
|
+
*
|
|
20
|
+
* @category Utilities
|
|
21
|
+
*/
|
|
22
|
+
const getIsFundingSourceInsuranceProviderEnabledAndSupported = (insuranceProviders, xcoverEnabled, parcelguardEnabled) => {
|
|
23
|
+
if (!(insuranceProviders === null || insuranceProviders === void 0 ? void 0 : insuranceProviders.length)) return false;
|
|
24
|
+
const supportedProviders = insuranceProviders.map(p => p.provider);
|
|
25
|
+
if (xcoverEnabled && supportedProviders.includes("xcover")) return true;
|
|
26
|
+
if (parcelguardEnabled && supportedProviders.includes("parcelguard")) return true;
|
|
27
|
+
return false;
|
|
28
|
+
};
|
|
13
29
|
/**
|
|
14
30
|
* @internal
|
|
15
31
|
*
|
|
@@ -20,5 +36,49 @@ const getInsuranceProviderWithFriendlyName = termType => {
|
|
|
20
36
|
const getIsInsuraceProviderAccepted = (termType, acceptedTerms) => {
|
|
21
37
|
return !!(acceptedTerms === null || acceptedTerms === void 0 ? void 0 : acceptedTerms.map(t => t.termType).includes(termType));
|
|
22
38
|
};
|
|
39
|
+
/**
|
|
40
|
+
* @internal
|
|
41
|
+
*
|
|
42
|
+
* # Insurance Utilities - groupTermsByProvider
|
|
43
|
+
*
|
|
44
|
+
* Groups optional terms by insurance provider, creating InsuranceProviderProfile objects.
|
|
45
|
+
*
|
|
46
|
+
* @category Utilities
|
|
47
|
+
*/
|
|
48
|
+
const groupTermsByProvider = optionalTerms => {
|
|
49
|
+
if (!optionalTerms) return [];
|
|
50
|
+
// Group terms by provider
|
|
51
|
+
const providerTermsMap = new Map();
|
|
52
|
+
optionalTerms.forEach(term => {
|
|
53
|
+
const providerInfo = getInsuranceProviderWithFriendlyName(term.termType);
|
|
54
|
+
if (providerInfo === null || providerInfo === void 0 ? void 0 : providerInfo.provider) {
|
|
55
|
+
const existingTerms = providerTermsMap.get(providerInfo.provider) || [];
|
|
56
|
+
providerTermsMap.set(providerInfo.provider, [...existingTerms, term]);
|
|
57
|
+
}
|
|
58
|
+
});
|
|
59
|
+
// Convert Map to InsuranceProviderProfile array
|
|
60
|
+
return Array.from(providerTermsMap.entries()).map(([, terms]) => {
|
|
61
|
+
const providerInfo = getInsuranceProviderWithFriendlyName(terms[0].termType);
|
|
62
|
+
return Object.assign(Object.assign({}, providerInfo), {
|
|
63
|
+
terms
|
|
64
|
+
});
|
|
65
|
+
});
|
|
66
|
+
};
|
|
67
|
+
/**
|
|
68
|
+
* @internal
|
|
69
|
+
*
|
|
70
|
+
* # Insurance Utilities - filterProfilesByAcceptedTerms
|
|
71
|
+
*
|
|
72
|
+
* Filters insurance provider profiles to exclude those that have already been accepted.
|
|
73
|
+
*
|
|
74
|
+
* @category Utilities
|
|
75
|
+
*/
|
|
76
|
+
const filterProfilesByAcceptedTerms = (profiles, acceptedTerms) => {
|
|
77
|
+
if (!(acceptedTerms === null || acceptedTerms === void 0 ? void 0 : acceptedTerms.length)) return profiles;
|
|
78
|
+
const connectedTermTypes = new Set(acceptedTerms.map(t => t.termType));
|
|
79
|
+
return profiles.filter(profile => {
|
|
80
|
+
return !profile.terms.some(term => connectedTermTypes.has(term.termType));
|
|
81
|
+
});
|
|
82
|
+
};
|
|
23
83
|
|
|
24
|
-
export { getInsuranceProviderWithFriendlyName, getIsInsuraceProviderAccepted };
|
|
84
|
+
export { filterProfilesByAcceptedTerms, getInsuranceProviderWithFriendlyName, getIsFundingSourceInsuranceProviderEnabledAndSupported, getIsInsuraceProviderAccepted, groupTermsByProvider };
|
|
@@ -105,12 +105,12 @@ const useConfirmationAndSubmissionStep = ({
|
|
|
105
105
|
iovationBlackbox
|
|
106
106
|
}) {
|
|
107
107
|
const addressToRegister = address !== null && address !== void 0 ? address : defaultWarehouse.originAddress;
|
|
108
|
-
//
|
|
109
|
-
const insuranceProviders = globalFeatures.enableParcelGuard ? insuranceProviderProfiles === null || insuranceProviderProfiles === void 0 ? void 0 : insuranceProviderProfiles.map(p => ({
|
|
110
|
-
acceptedTerms:
|
|
111
|
-
termType:
|
|
112
|
-
version:
|
|
113
|
-
}
|
|
108
|
+
// funding source insurance check
|
|
109
|
+
const insuranceProviders = globalFeatures.enableParcelGuard || globalFeatures.enableXCover ? insuranceProviderProfiles === null || insuranceProviderProfiles === void 0 ? void 0 : insuranceProviderProfiles.map(p => ({
|
|
110
|
+
acceptedTerms: p.terms.map(term => ({
|
|
111
|
+
termType: term.termType,
|
|
112
|
+
version: term.version
|
|
113
|
+
})),
|
|
114
114
|
agreeToTerms: true,
|
|
115
115
|
fundingSourceId,
|
|
116
116
|
provider: p.provider
|
|
@@ -144,7 +144,7 @@ const useConfirmationAndSubmissionStep = ({
|
|
|
144
144
|
console.error(error);
|
|
145
145
|
throw error;
|
|
146
146
|
}
|
|
147
|
-
}), [
|
|
147
|
+
}), [globalFeatures.enableParcelGuard, globalFeatures.enableXCover, registerCarrier]);
|
|
148
148
|
const onboardSeller = useCallback(({
|
|
149
149
|
carrierProfiles,
|
|
150
150
|
fundingSourceRequiredTerms,
|
|
@@ -203,7 +203,7 @@ const useConfirmationAndSubmissionStep = ({
|
|
|
203
203
|
yield createHandleCarrierConnections({
|
|
204
204
|
carrierProfiles,
|
|
205
205
|
defaultWarehouse: warehouse,
|
|
206
|
-
insuranceProviderProfiles
|
|
206
|
+
insuranceProviderProfiles
|
|
207
207
|
})(fundingSource.fundingSource.fundingSourceId, {
|
|
208
208
|
iovationBlackbox
|
|
209
209
|
});
|
|
@@ -213,7 +213,7 @@ const useConfirmationAndSubmissionStep = ({
|
|
|
213
213
|
}
|
|
214
214
|
}
|
|
215
215
|
}
|
|
216
|
-
}), [addSandboxCarriers, createFundingSource, createHandleCarrierConnections, createOrUpdateWarehouse, getToken, globalFeatures.
|
|
216
|
+
}), [addSandboxCarriers, createFundingSource, createHandleCarrierConnections, createOrUpdateWarehouse, getToken, globalFeatures.isSandbox]);
|
|
217
217
|
const updateExistingFundingSource = useCallback(({
|
|
218
218
|
carrierProfiles,
|
|
219
219
|
fundingSource,
|
package/dist/esm/workflows/onboarding/components/ship-from-address-step/ship-from-address-step.js
CHANGED
|
@@ -43,7 +43,7 @@ const ShipFromAddressStep = ({
|
|
|
43
43
|
}), jsx(WarehouseForm, {
|
|
44
44
|
onSubmit: onSubmit,
|
|
45
45
|
requireEmail: true,
|
|
46
|
-
shouldForceDefault:
|
|
46
|
+
shouldForceDefault: true,
|
|
47
47
|
submitButtonTitle: t("actions.continue"),
|
|
48
48
|
useStrictSchema: true,
|
|
49
49
|
warehouse: pendingWarehouse !== null && pendingWarehouse !== void 0 ? pendingWarehouse : pendingShipFrom
|
package/dist/esm/workflows/onboarding/components/terms-agreement-form/terms-agreement-form.js
CHANGED
|
@@ -28,7 +28,8 @@ const TermsAgreementForm = ({
|
|
|
28
28
|
} = useTranslation();
|
|
29
29
|
const {
|
|
30
30
|
globalFeatures: {
|
|
31
|
-
enableParcelGuard
|
|
31
|
+
enableParcelGuard,
|
|
32
|
+
enableXCover
|
|
32
33
|
}
|
|
33
34
|
} = useElements();
|
|
34
35
|
const [showTerms, setShowTerms] = useState(false);
|
|
@@ -107,7 +108,7 @@ const TermsAgreementForm = ({
|
|
|
107
108
|
}), carrierTerms.map((term, idx) => jsx(DisplayTerm, {
|
|
108
109
|
terms: term
|
|
109
110
|
}, idx))]
|
|
110
|
-
}), enableParcelGuard && !!insuranceProviderTerms.length && jsxs(Fragment, {
|
|
111
|
+
}), (enableParcelGuard || enableXCover) && !!insuranceProviderTerms.length && jsxs(Fragment, {
|
|
111
112
|
children: [jsx(Spacer, {}), jsx(Typography, {
|
|
112
113
|
bold: true,
|
|
113
114
|
variant: "body1",
|
package/dist/esm/workflows/onboarding/components/terms-agreement-step/terms-agreement-step.js
CHANGED
|
@@ -20,13 +20,14 @@ const TermsAgreementStep = ({
|
|
|
20
20
|
fundingSourceRequiredTerms,
|
|
21
21
|
showStampsLogo = false
|
|
22
22
|
}) => {
|
|
23
|
-
var _a, _b, _c, _d, _e;
|
|
23
|
+
var _a, _b, _c, _d, _e, _f;
|
|
24
24
|
const {
|
|
25
25
|
t
|
|
26
26
|
} = useTranslation("onboarding");
|
|
27
27
|
const {
|
|
28
28
|
globalFeatures: {
|
|
29
|
-
enableParcelGuard
|
|
29
|
+
enableParcelGuard,
|
|
30
|
+
enableXCover
|
|
30
31
|
}
|
|
31
32
|
} = useElements();
|
|
32
33
|
const carrierFriendlyNames = useCarrierMetadata();
|
|
@@ -39,11 +40,12 @@ const TermsAgreementStep = ({
|
|
|
39
40
|
};
|
|
40
41
|
});
|
|
41
42
|
const insuranceProviderTerms = (_a = insuranceProviderProfiles === null || insuranceProviderProfiles === void 0 ? void 0 : insuranceProviderProfiles.flatMap(p => p.terms)) !== null && _a !== void 0 ? _a : [];
|
|
42
|
-
const showParcelGuard = enableParcelGuard && ((_b = insuranceProviderProfiles === null || insuranceProviderProfiles === void 0 ? void 0 : insuranceProviderProfiles
|
|
43
|
-
const
|
|
43
|
+
const showParcelGuard = enableParcelGuard && ((_b = insuranceProviderProfiles === null || insuranceProviderProfiles === void 0 ? void 0 : insuranceProviderProfiles[0]) === null || _b === void 0 ? void 0 : _b.friendlyName) === "ParcelGuard";
|
|
44
|
+
const showXCover = enableXCover && ((_c = insuranceProviderProfiles === null || insuranceProviderProfiles === void 0 ? void 0 : insuranceProviderProfiles[0]) === null || _c === void 0 ? void 0 : _c.friendlyName) === "XCover";
|
|
45
|
+
const hasInsuranceToRegister = (showParcelGuard || showXCover) && ((_d = insuranceProviderProfiles === null || insuranceProviderProfiles === void 0 ? void 0 : insuranceProviderProfiles.length) !== null && _d !== void 0 ? _d : 0) > 0;
|
|
44
46
|
const hasEnabledCarriersConfigurationError = !showStampsLogo && (!enabledCarrierProfiles || (enabledCarrierProfiles === null || enabledCarrierProfiles === void 0 ? void 0 : enabledCarrierProfiles.length) === 0);
|
|
45
|
-
const hasAlreadyConnectedCarriers = ((
|
|
46
|
-
const hasCarriersToRegister = ((
|
|
47
|
+
const hasAlreadyConnectedCarriers = ((_e = enabledCarrierProfiles === null || enabledCarrierProfiles === void 0 ? void 0 : enabledCarrierProfiles.length) !== null && _e !== void 0 ? _e : 0) > 0 && carrierProfilesToRegister.length === 0 && (insuranceProviderProfiles === null || insuranceProviderProfiles === void 0 ? void 0 : insuranceProviderProfiles.length) === 0;
|
|
48
|
+
const hasCarriersToRegister = ((_f = enabledCarrierProfiles === null || enabledCarrierProfiles === void 0 ? void 0 : enabledCarrierProfiles.length) !== null && _f !== void 0 ? _f : 0) > 0 && carrierProfilesToRegister.length > 0;
|
|
47
49
|
// Handle case where partner has not correctly enabled carriers and there is no insurance to register
|
|
48
50
|
// Insurance does not get set in the same enabled carriers list and should bypass this check
|
|
49
51
|
if (hasEnabledCarriersConfigurationError && !hasInsuranceToRegister) {
|
package/dist/esm/workflows/onboarding/components/terms-agreement-step/use-terms-agreement-step.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { useListFundingSources, useListCarriers, useGetFundingSourceMetadata, useGetInsuranceFundingSourceAcceptedTerms } from '@shipengine/react-api';
|
|
2
2
|
import { filterFundingSourceCarriers } from '../../../../utilities/shipengine/carrier.js';
|
|
3
|
-
import {
|
|
3
|
+
import { groupTermsByProvider, filterProfilesByAcceptedTerms } from '../../../../utilities/shipengine/insurance.js';
|
|
4
4
|
import { useMemo, useCallback } from 'react';
|
|
5
5
|
|
|
6
6
|
const useTermsAgreementStep = ({
|
|
@@ -67,25 +67,10 @@ const useTermsAgreementStep = ({
|
|
|
67
67
|
});
|
|
68
68
|
}, [fundingSourceRequiredTerms, fundingSources, carriers, enabledCarrierProfiles]);
|
|
69
69
|
const insuranceProviderProfiles = useMemo(() => {
|
|
70
|
-
const
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
});
|
|
75
|
-
if (!insuranceProfiles) return [];
|
|
76
|
-
// filter out insurance profiles that are already connected from insurance accepted terms
|
|
77
|
-
const connectedInsuranceProfiles = insuranceAcceptedTerms === null || insuranceAcceptedTerms === void 0 ? void 0 : insuranceAcceptedTerms.acceptedTerms.map(terms => {
|
|
78
|
-
return Object.assign(Object.assign({}, getInsuranceProviderWithFriendlyName(terms.termType)), {
|
|
79
|
-
terms
|
|
80
|
-
});
|
|
81
|
-
});
|
|
82
|
-
return insuranceProfiles.filter(profile => {
|
|
83
|
-
const isConnected = connectedInsuranceProfiles === null || connectedInsuranceProfiles === void 0 ? void 0 : connectedInsuranceProfiles.some(c => c.terms.termType === profile.terms.termType);
|
|
84
|
-
if (isConnected) {
|
|
85
|
-
return false;
|
|
86
|
-
}
|
|
87
|
-
return true;
|
|
88
|
-
});
|
|
70
|
+
const optionalTerms = fundingSourceMetadata === null || fundingSourceMetadata === void 0 ? void 0 : fundingSourceMetadata.defaultFundingSourceProfile.optionalTerms;
|
|
71
|
+
const acceptedTerms = insuranceAcceptedTerms === null || insuranceAcceptedTerms === void 0 ? void 0 : insuranceAcceptedTerms.acceptedTerms;
|
|
72
|
+
const profiles = groupTermsByProvider(optionalTerms);
|
|
73
|
+
return filterProfilesByAcceptedTerms(profiles, acceptedTerms);
|
|
89
74
|
}, [fundingSourceMetadata, insuranceAcceptedTerms]);
|
|
90
75
|
const handleSubmitTermsAgreement = useCallback(() => {
|
|
91
76
|
onStepComplete();
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../../../src/components/field/rate-select/rate-card/rate-attribute-item/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import type { SE } from "@shipengine/react-api";
|
|
2
|
+
type RateAttributeItemProps = {
|
|
3
|
+
attribute: SE.RateAttributes;
|
|
4
|
+
tooltipId: string;
|
|
5
|
+
};
|
|
6
|
+
export declare const RateAttributeItem: ({ attribute, tooltipId }: RateAttributeItemProps) => import("@emotion/react/jsx-runtime").JSX.Element;
|
|
7
|
+
export {};
|
|
8
|
+
//# sourceMappingURL=rate-attribute-item.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"rate-attribute-item.d.ts","sourceRoot":"","sources":["../../../../../../../src/components/field/rate-select/rate-card/rate-attribute-item/rate-attribute-item.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,EAAE,EAAE,MAAM,uBAAuB,CAAC;AAMhD,KAAK,sBAAsB,GAAG;IAC5B,SAAS,EAAE,EAAE,CAAC,cAAc,CAAC;IAC7B,SAAS,EAAE,MAAM,CAAC;CACnB,CAAC;AAEF,eAAO,MAAM,iBAAiB,GAAI,0BAA0B,sBAAsB,qDA0CjF,CAAC"}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import type { Theme } from "@emotion/react";
|
|
2
|
+
export declare const styles: {
|
|
3
|
+
attribute: (theme: Theme) => {
|
|
4
|
+
color: string;
|
|
5
|
+
padding: string;
|
|
6
|
+
backgroundColor: string;
|
|
7
|
+
display: string;
|
|
8
|
+
alignItems: string;
|
|
9
|
+
":first-of-type": {
|
|
10
|
+
borderTopLeftRadius: string;
|
|
11
|
+
borderBottomRightRadius: string;
|
|
12
|
+
};
|
|
13
|
+
":not(:first-of-type)": {
|
|
14
|
+
borderBottomLeftRadius: string;
|
|
15
|
+
borderBottomRightRadius: string;
|
|
16
|
+
};
|
|
17
|
+
};
|
|
18
|
+
attributeIcon: (theme: Theme) => {
|
|
19
|
+
marginLeft: number;
|
|
20
|
+
};
|
|
21
|
+
};
|
|
22
|
+
//# sourceMappingURL=rate-attribute-item.styles.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"rate-attribute-item.styles.d.ts","sourceRoot":"","sources":["../../../../../../../src/components/field/rate-select/rate-card/rate-attribute-item/rate-attribute-item.styles.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,gBAAgB,CAAC;AAK5C,eAAO,MAAM,MAAM;uBACE,KAAK;;;;;;;;;;;;;;;2BAkBD,KAAK;;;CAG5B,CAAC"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import type { WithCommonProps } from "@shipengine/giger";
|
|
2
|
-
import type { LabelDisplayScheme, ServicePoint } from "@shipengine/react-api";
|
|
2
|
+
import type { LabelDisplayScheme, SE, ServicePoint } from "@shipengine/react-api";
|
|
3
3
|
import type { RateOption } from "@types";
|
|
4
4
|
export type RateCardProps = Partial<RateOption> & WithCommonProps<{
|
|
5
5
|
isAcknowledged?: boolean;
|
|
@@ -14,6 +14,7 @@ export type RateCardProps = Partial<RateOption> & WithCommonProps<{
|
|
|
14
14
|
selectedRateCost?: number;
|
|
15
15
|
showVatFeatures?: boolean;
|
|
16
16
|
paperlessLabelChecked?: boolean;
|
|
17
|
+
rateAttributes?: SE.RateAttributes[];
|
|
17
18
|
}>;
|
|
18
|
-
export declare const RateCard: ({ carrierCode, carrierFriendlyName, carrierNickname, className, confirmationAmount, deliveryDays, insuranceAmount, isAcknowledged, messages, onClick, onClickAcknowledgement, onPaperlessAcknowledgementChange, onSelectServicePoint, otherAmount, rateId, requiresAcknowledgement, rateAcknowledgementMessage, selected, serviceCode, packageType, serviceType, shippingAmount, taxAmount, showVatFeatures, isLoading: servicePointsLoading, isPreferredRate, selectedRateCost, servicePoints, mapViewEnabled, rateDetails, paperlessDisplaySchemes, paperlessLabelChecked, }: RateCardProps) => import("@emotion/react/jsx-runtime").JSX.Element;
|
|
19
|
+
export declare const RateCard: ({ carrierCode, carrierFriendlyName, carrierNickname, className, confirmationAmount, deliveryDays, insuranceAmount, isAcknowledged, messages, onClick, onClickAcknowledgement, onPaperlessAcknowledgementChange, onSelectServicePoint, otherAmount, rateAttributes, rateId, requiresAcknowledgement, rateAcknowledgementMessage, selected, serviceCode, packageType, serviceType, shippingAmount, taxAmount, showVatFeatures, isLoading: servicePointsLoading, isPreferredRate, selectedRateCost, servicePoints, mapViewEnabled, rateDetails, paperlessDisplaySchemes, paperlessLabelChecked, }: RateCardProps) => import("@emotion/react/jsx-runtime").JSX.Element;
|
|
19
20
|
//# sourceMappingURL=rate-card.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"rate-card.d.ts","sourceRoot":"","sources":["../../../../../../src/components/field/rate-select/rate-card/rate-card.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAGzD,OAAO,KAAK,EAAE,kBAAkB,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;
|
|
1
|
+
{"version":3,"file":"rate-card.d.ts","sourceRoot":"","sources":["../../../../../../src/components/field/rate-select/rate-card/rate-card.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAGzD,OAAO,KAAK,EAAE,kBAAkB,EAAE,EAAE,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AAClF,OAAO,KAAK,EAAuC,UAAU,EAAE,MAAM,QAAQ,CAAC;AA4F9E,MAAM,MAAM,aAAa,GAAG,OAAO,CAAC,UAAU,CAAC,GAC7C,eAAe,CAAC;IACd,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,OAAO,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,IAAI,CAAC;IACnC,sBAAsB,CAAC,EAAE,CAAC,cAAc,EAAE,OAAO,KAAK,IAAI,CAAC;IAC3D,gCAAgC,CAAC,EAAE,CACjC,YAAY,CAAC,EAAE,OAAO,EACtB,kBAAkB,CAAC,EAAE,kBAAkB,KACpC,IAAI,CAAC;IACV,oBAAoB,CAAC,EAAE,CAAC,YAAY,CAAC,EAAE,YAAY,KAAK,IAAI,CAAC;IAC7D,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,qBAAqB,CAAC,EAAE,OAAO,CAAC;IAChC,cAAc,CAAC,EAAE,EAAE,CAAC,cAAc,EAAE,CAAC;CACtC,CAAC,CAAC;AAEL,eAAO,MAAM,QAAQ,GAAI,gkBAkCtB,aAAa,qDAmLf,CAAC"}
|
|
@@ -5,6 +5,10 @@ export declare const styles: {
|
|
|
5
5
|
color: string;
|
|
6
6
|
display: string;
|
|
7
7
|
};
|
|
8
|
+
attributeList: (theme: import("../../../../../typings/emotion").ScopedGigerTheme) => {
|
|
9
|
+
display: string;
|
|
10
|
+
gap: number;
|
|
11
|
+
};
|
|
8
12
|
divider: (theme: import("../../../../../typings/emotion").ScopedGigerTheme) => {
|
|
9
13
|
borderColor: string;
|
|
10
14
|
margin: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"rate-card.styles.d.ts","sourceRoot":"","sources":["../../../../../../src/components/field/rate-select/rate-card/rate-card.styles.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,gBAAgB,CAAC;AAG5C,eAAO,MAAM,wBAAwB,GAAI,OAAO,KAAK,WAA2C,CAAC;AAEjG,eAAO,MAAM,MAAM
|
|
1
|
+
{"version":3,"file":"rate-card.styles.d.ts","sourceRoot":"","sources":["../../../../../../src/components/field/rate-select/rate-card/rate-card.styles.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,gBAAgB,CAAC;AAG5C,eAAO,MAAM,wBAAwB,GAAI,OAAO,KAAK,WAA2C,CAAC;AAEjG,eAAO,MAAM,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAyCjB,CAAC"}
|