@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,7 +1,7 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
3
|
var react = require('@emotion/react');
|
|
4
|
-
var
|
|
4
|
+
var useGetServiceData = require('../../../hooks/use-get-service-data.cjs');
|
|
5
5
|
var reactApi = require('@shipengine/react-api');
|
|
6
6
|
var files = require('../../../utilities/files.cjs');
|
|
7
7
|
var styles = require('../../../utilities/styles.cjs');
|
|
@@ -42,7 +42,7 @@ const useLabelsGrid = ({
|
|
|
42
42
|
const theme = react.useTheme();
|
|
43
43
|
const {
|
|
44
44
|
getServiceName
|
|
45
|
-
} =
|
|
45
|
+
} = useGetServiceData.useGetServiceData();
|
|
46
46
|
const {
|
|
47
47
|
page,
|
|
48
48
|
pageSize,
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
3
|
var jsxRuntime = require('@emotion/react/jsx-runtime');
|
|
4
|
+
var useGetServiceData = require('../../hooks/use-get-service-data.cjs');
|
|
4
5
|
var useSortableQuery = require('../../hooks/use-sortable-query.cjs');
|
|
5
6
|
var giger = require('@shipengine/giger');
|
|
6
7
|
var formatString = require('../../utilities/formatString.cjs');
|
|
@@ -21,6 +22,7 @@ var elementsContextProvider = require('../../elements-provider/elements-context-
|
|
|
21
22
|
var spacer = require('../../components/spacer/spacer.cjs');
|
|
22
23
|
var poweredByShipengine = require('../../components/powered-by-shipengine/powered-by-shipengine.cjs');
|
|
23
24
|
var errorFallback = require('../../components/error-fallback/error-fallback.cjs');
|
|
25
|
+
var carrierIcon = require('../../components/carrier-icon/carrier-icon.cjs');
|
|
24
26
|
|
|
25
27
|
const Component = ({
|
|
26
28
|
labelStatus,
|
|
@@ -106,6 +108,10 @@ const Component = ({
|
|
|
106
108
|
sortDir: sortState.dir,
|
|
107
109
|
columns: columnsArray
|
|
108
110
|
});
|
|
111
|
+
const {
|
|
112
|
+
getServiceInfo,
|
|
113
|
+
isLoadingCarriers
|
|
114
|
+
} = useGetServiceData.useGetServiceData();
|
|
109
115
|
React.useEffect(() => {
|
|
110
116
|
if (prevStatus.current !== labelStatus) {
|
|
111
117
|
pageConfig.pagerProps.resetCurrentPage();
|
|
@@ -292,14 +298,22 @@ const Component = ({
|
|
|
292
298
|
}
|
|
293
299
|
},
|
|
294
300
|
shippingService: {
|
|
295
|
-
headerContent: t("list-labels:headers.
|
|
301
|
+
headerContent: t("list-labels:headers.service"),
|
|
296
302
|
renderCellContent: label => {
|
|
303
|
+
const serviceInfo = getServiceInfo(label);
|
|
297
304
|
return jsxRuntime.jsxs(jsxRuntime.Fragment, {
|
|
298
|
-
children: [jsxRuntime.jsx(giger.
|
|
299
|
-
|
|
300
|
-
|
|
301
|
-
|
|
302
|
-
|
|
305
|
+
children: [isLoadingCarriers ? jsxRuntime.jsx(giger.Skeleton, {}) : jsxRuntime.jsxs("div", {
|
|
306
|
+
css: labelsGrid_styles.styles.serviceCell,
|
|
307
|
+
children: [serviceInfo.hasCarrierIcon && serviceInfo.carrierCode && jsxRuntime.jsx(carrierIcon.CarrierIcon, {
|
|
308
|
+
carrierCode: serviceInfo.carrierCode,
|
|
309
|
+
carrierName: serviceInfo.serviceName || serviceInfo.carrierCode,
|
|
310
|
+
size: giger.IconSize.SIZE_SMALL
|
|
311
|
+
}), jsxRuntime.jsx(giger.Typography, {
|
|
312
|
+
component: "p",
|
|
313
|
+
css: labelsGrid_styles.styles.tableParagraph,
|
|
314
|
+
variant: "body2",
|
|
315
|
+
children: serviceInfo.serviceName || t("list-labels:none")
|
|
316
|
+
})]
|
|
303
317
|
}), label.trackable && jsxRuntime.jsx(giger.Next.Link, {
|
|
304
318
|
bold: false,
|
|
305
319
|
href: label.trackingUrl,
|
|
@@ -352,17 +366,23 @@ const Component = ({
|
|
|
352
366
|
}
|
|
353
367
|
}
|
|
354
368
|
});
|
|
369
|
+
const labelExpired = label => {
|
|
370
|
+
const ninetyDaysAgo = new Date();
|
|
371
|
+
ninetyDaysAgo.setDate(ninetyDaysAgo.getDate() - 90);
|
|
372
|
+
return new Date(label.createdAt) < ninetyDaysAgo;
|
|
373
|
+
};
|
|
355
374
|
// Actual actions are only allowed for completed labels
|
|
356
375
|
if ((features === null || features === void 0 ? void 0 : features.showActions) && labels.some(label => label.status === "completed")) {
|
|
357
376
|
cols.push({
|
|
358
377
|
headerContent: "",
|
|
359
378
|
renderCellContent: label => {
|
|
360
379
|
var _a, _b;
|
|
380
|
+
const isLabelExpired = labelExpired(label);
|
|
361
381
|
const isLabelDelivered = label.trackingStatus === "delivered";
|
|
362
|
-
const isReprintAllowed = !!((_a = label.labelDownload) === null || _a === void 0 ? void 0 : _a.href) && label.status === "completed";
|
|
363
382
|
const isVoidAllowed = !!onClickVoidLabel && label.status === "completed";
|
|
364
|
-
const isPrintFormsAllowed = !!((_b = label.formDownload) === null || _b === void 0 ? void 0 : _b.href) && label.status === "completed";
|
|
365
383
|
const isViewDetailsAllowed = !!onClickViewDetails;
|
|
384
|
+
const isReprintAllowed = !!((_a = label.labelDownload) === null || _a === void 0 ? void 0 : _a.href) && label.status === "completed" && !isLabelExpired;
|
|
385
|
+
const isPrintFormsAllowed = !!((_b = label.formDownload) === null || _b === void 0 ? void 0 : _b.href) && label.status === "completed" && !isLabelExpired;
|
|
366
386
|
const allowActionsMenu = isReprintAllowed || isVoidAllowed || isPrintFormsAllowed || isViewDetailsAllowed;
|
|
367
387
|
if (isLabelDelivered || !allowActionsMenu) {
|
|
368
388
|
return null;
|
|
@@ -391,7 +411,7 @@ const Component = ({
|
|
|
391
411
|
});
|
|
392
412
|
}
|
|
393
413
|
return cols;
|
|
394
|
-
}, [t, toggleCreatedDateSort, sortState.createdAtDir, features === null || features === void 0 ? void 0 : features.columns, features === null || features === void 0 ? void 0 : features.showActions, labels, onClickExternalOrderId, onClickExternalShipmentId, onClickShipmentNumber, onClickTrackingNumber, onClickVoidLabel, onClickViewDetails, onClickPrintLabel, onClickPrintForms]);
|
|
414
|
+
}, [t, toggleCreatedDateSort, sortState.createdAtDir, features === null || features === void 0 ? void 0 : features.columns, features === null || features === void 0 ? void 0 : features.showActions, labels, onClickExternalOrderId, onClickExternalShipmentId, onClickShipmentNumber, getServiceInfo, isLoadingCarriers, onClickTrackingNumber, onClickVoidLabel, onClickViewDetails, onClickPrintLabel, onClickPrintForms]);
|
|
395
415
|
const emptyContentComponent = React.useMemo(() => {
|
|
396
416
|
if (isLoading) {
|
|
397
417
|
return undefined;
|
|
@@ -6,8 +6,8 @@ var reactApi = require('@shipengine/react-api');
|
|
|
6
6
|
var React = require('react');
|
|
7
7
|
var createElement = require('../../create-element/create-element.cjs');
|
|
8
8
|
var manageCarriers = require('../../features/manage-carriers/manage-carriers.cjs');
|
|
9
|
-
var index = require('../../locales/en/index.cjs');
|
|
10
9
|
var errorFallback = require('../../components/error-fallback/error-fallback.cjs');
|
|
10
|
+
var index = require('../../locales/en/index.cjs');
|
|
11
11
|
|
|
12
12
|
/**
|
|
13
13
|
* # Manage-Carriers Element
|
|
@@ -129,7 +129,7 @@ const TaxIds = ({
|
|
|
129
129
|
})]
|
|
130
130
|
}), jsxRuntime.jsxs(giger.Grid, {
|
|
131
131
|
noPadding: true,
|
|
132
|
-
children: [((_a = shipment.taxIdentifiers) === null || _a === void 0 ? void 0 : _a.length) && jsxRuntime.jsx(giger.GridChild, {
|
|
132
|
+
children: [!!((_a = shipment.taxIdentifiers) === null || _a === void 0 ? void 0 : _a.length) && jsxRuntime.jsx(giger.GridChild, {
|
|
133
133
|
colSpan: 12,
|
|
134
134
|
children: jsxRuntime.jsx(taxIdList.TaxIdList, {
|
|
135
135
|
handleActionsClick: handleActionsClick,
|
|
@@ -2,8 +2,10 @@
|
|
|
2
2
|
|
|
3
3
|
var rateForm = require('./rate-form/rate-form.cjs');
|
|
4
4
|
var shipmentForm = require('./shipment-form/shipment-form.cjs');
|
|
5
|
+
var customsForms = require('./customs-forms/customs-forms.cjs');
|
|
5
6
|
|
|
6
7
|
|
|
7
8
|
|
|
8
9
|
exports.RateForm = rateForm.RateForm;
|
|
9
10
|
exports.ShipmentForm = shipmentForm.ShipmentForm;
|
|
11
|
+
exports.CustomsForms = customsForms.CustomsForms;
|
|
@@ -34,7 +34,6 @@ const RateView = ({
|
|
|
34
34
|
rateOptions,
|
|
35
35
|
rates,
|
|
36
36
|
salesOrder: salesOrder$1,
|
|
37
|
-
selectedRate,
|
|
38
37
|
shipment,
|
|
39
38
|
showVatFeatures
|
|
40
39
|
}) => {
|
|
@@ -78,9 +77,8 @@ const RateView = ({
|
|
|
78
77
|
}, [features === null || features === void 0 ? void 0 : features.enablePudoUI, pudoRateOptions, rateOptions]);
|
|
79
78
|
const {
|
|
80
79
|
collapsedRateOptionList,
|
|
81
|
-
COLLAPSED_RATE_VIEW_LIMIT,
|
|
82
80
|
filterVisibleRateOptions
|
|
83
|
-
} = useFilterVisibleRateOptions.useFilterVisibleRateOptions(expandedRateOptionList,
|
|
81
|
+
} = useFilterVisibleRateOptions.useFilterVisibleRateOptions(expandedRateOptionList, features);
|
|
84
82
|
const handleShowMoreRates = React.useCallback(() => {
|
|
85
83
|
var _a;
|
|
86
84
|
setShowHiddenRates === null || setShowHiddenRates === void 0 ? void 0 : setShowHiddenRates(!showHiddenRates);
|
|
@@ -199,8 +197,8 @@ const RateView = ({
|
|
|
199
197
|
onClick: onSelectRate,
|
|
200
198
|
onPaperlessAcknowledgementChange: onPaperlessAcknowledgementChange,
|
|
201
199
|
onSelectServicePoint: onSelectServicePoint,
|
|
202
|
-
options: showHiddenRates ? expandedRateOptionList : collapsedRateOptionList
|
|
203
|
-
}, rateSelectCommonProps)), expandedRateOptionList.length >
|
|
200
|
+
options: showHiddenRates || !collapsedRateOptionList.length ? expandedRateOptionList : collapsedRateOptionList
|
|
201
|
+
}, rateSelectCommonProps)), expandedRateOptionList.length > collapsedRateOptionList.length && !!collapsedRateOptionList.length && jsxRuntime.jsx(linkAction.LinkAction, {
|
|
204
202
|
css: rateForm_styles.styles.showMoreOrLessRatesButton,
|
|
205
203
|
icon: showHiddenRates ? "chevronTop" : "chevronBottom",
|
|
206
204
|
iconPlacement: "right",
|
|
@@ -106,7 +106,8 @@ const ShipmentForm = ({
|
|
|
106
106
|
const {
|
|
107
107
|
locale: defaultLocale,
|
|
108
108
|
globalFeatures: {
|
|
109
|
-
enableParcelGuard
|
|
109
|
+
enableParcelGuard,
|
|
110
|
+
enableXCover
|
|
110
111
|
}
|
|
111
112
|
} = elementsContextProvider.useElements();
|
|
112
113
|
const {
|
|
@@ -516,13 +517,15 @@ const ShipmentForm = ({
|
|
|
516
517
|
React.useEffect(() => {
|
|
517
518
|
hasShipFromAddressErrors && toggleIsEditShipFromAddressFormOpen();
|
|
518
519
|
}, [hasShipFromAddressErrors, toggleIsEditShipFromAddressFormOpen]);
|
|
520
|
+
const warehouseToEdit = React.useMemo(() => warehouses$1 === null || warehouses$1 === void 0 ? void 0 : warehouses$1.find(w => w.warehouseId === editShipFromAddressId), [editShipFromAddressId, warehouses$1]);
|
|
519
521
|
const [editWarehouseForm, isEditWarehouseFormOpen, toggleIsEditWarehouseFormOpen] = useNestedForm.useNestedForm(warehouseForm.WarehouseForm, {
|
|
520
522
|
formId: "edit-warehouse-form",
|
|
521
523
|
onSubmit: payload => _tslib.__awaiter(void 0, void 0, void 0, function* () {
|
|
522
524
|
editShipFromAddressId && (yield handleSubmitEditWarehouse(payload, editShipFromAddressId));
|
|
523
525
|
}),
|
|
524
526
|
submitButtonTitle: t("actions.save"),
|
|
525
|
-
warehouse:
|
|
527
|
+
warehouse: warehouseToEdit,
|
|
528
|
+
shouldForceDefault: warehouseToEdit === null || warehouseToEdit === void 0 ? void 0 : warehouseToEdit.isDefault
|
|
526
529
|
});
|
|
527
530
|
const getFundingSourceInsuranceProviderKey = React.useCallback(provider => {
|
|
528
531
|
if (provider === "parcelguard") {
|
|
@@ -534,7 +537,7 @@ const ShipmentForm = ({
|
|
|
534
537
|
}, []);
|
|
535
538
|
const insuranceProviderKey = React.useMemo(() => {
|
|
536
539
|
var _a, _b, _c;
|
|
537
|
-
if (enableParcelGuard && !hasInsuranceToRegister) {
|
|
540
|
+
if ((enableParcelGuard || enableXCover) && !hasInsuranceToRegister) {
|
|
538
541
|
const provider = (_a = insuranceProviderProfiles === null || insuranceProviderProfiles === void 0 ? void 0 : insuranceProviderProfiles[0]) === null || _a === void 0 ? void 0 : _a.provider;
|
|
539
542
|
const fundingSourceProviderKey = getFundingSourceInsuranceProviderKey(provider);
|
|
540
543
|
if (fundingSourceProviderKey) {
|
|
@@ -542,7 +545,7 @@ const ShipmentForm = ({
|
|
|
542
545
|
}
|
|
543
546
|
}
|
|
544
547
|
return (_c = (_b = insuranceProviderOptions[0]) === null || _b === void 0 ? void 0 : _b.value.toUpperCase()) !== null && _c !== void 0 ? _c : "NONE";
|
|
545
|
-
}, [enableParcelGuard, hasInsuranceToRegister, insuranceProviderOptions, insuranceProviderProfiles, getFundingSourceInsuranceProviderKey]);
|
|
548
|
+
}, [enableParcelGuard, enableXCover, hasInsuranceToRegister, insuranceProviderOptions, insuranceProviderProfiles, getFundingSourceInsuranceProviderKey]);
|
|
546
549
|
const [registerInsuranceForm, isRegisterInsuranceFormOpen, toggleisRegisterInsuranceFormOpen] = useNestedForm.useNestedForm(registerFundingSourceInsuranceForm.RegisterFundingSourceInsuranceForm, {
|
|
547
550
|
formId: "register-funding-source-insurance-form",
|
|
548
551
|
insuranceProviderProfile: insuranceProviderProfiles === null || insuranceProviderProfiles === void 0 ? void 0 : insuranceProviderProfiles[0],
|
|
@@ -3,24 +3,48 @@
|
|
|
3
3
|
var React = require('react');
|
|
4
4
|
|
|
5
5
|
const COLLAPSED_RATE_VIEW_LIMIT = 4;
|
|
6
|
-
const filterRateOptions = (rateOptions,
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
const
|
|
13
|
-
|
|
6
|
+
const filterRateOptions = (rateOptions, showMediaMail) => {
|
|
7
|
+
const hasRateAttributes = option => {
|
|
8
|
+
var _a;
|
|
9
|
+
return !!((_a = option.rateAttributes) === null || _a === void 0 ? void 0 : _a.length);
|
|
10
|
+
};
|
|
11
|
+
const isMediaMail = option => option.serviceCode === "usps_media_mail";
|
|
12
|
+
const result = [];
|
|
13
|
+
const ratesWithAttributes = [];
|
|
14
|
+
const ratesWithoutAttributes = [];
|
|
15
|
+
// Classify rates (excluding Media Mail from both categories)
|
|
16
|
+
for (const option of rateOptions) {
|
|
17
|
+
if (!showMediaMail && isMediaMail(option)) {
|
|
18
|
+
continue; // Skip Media Mail entirely - it will only show in "Show more"
|
|
19
|
+
}
|
|
20
|
+
if (hasRateAttributes(option)) {
|
|
21
|
+
ratesWithAttributes.push(option);
|
|
22
|
+
} else {
|
|
23
|
+
ratesWithoutAttributes.push(option);
|
|
24
|
+
}
|
|
25
|
+
}
|
|
26
|
+
// Add up to 3 rates with attributes
|
|
27
|
+
const attributedRatesToShow = ratesWithAttributes.slice(0, 3);
|
|
28
|
+
result.push(...attributedRatesToShow);
|
|
29
|
+
// Fill remaining slots up to COLLAPSED_RATE_VIEW_LIMIT (4) with regular rates
|
|
30
|
+
const remainingSlots = COLLAPSED_RATE_VIEW_LIMIT - result.length;
|
|
31
|
+
const regularRatesToShow = ratesWithoutAttributes.slice(0, remainingSlots);
|
|
32
|
+
result.push(...regularRatesToShow);
|
|
33
|
+
return result;
|
|
14
34
|
};
|
|
15
35
|
/**
|
|
16
36
|
* @internal
|
|
17
37
|
*
|
|
18
38
|
* # Filter Visible Rate Options Hook
|
|
19
39
|
*
|
|
40
|
+
* Filters rate options for the collapsed view, showing up to 4 rates:
|
|
41
|
+
* - Up to 3 rates with attributes (best_value, cheapest, fastest)
|
|
42
|
+
* - Fill remaining slots with regular rates
|
|
43
|
+
* - Media Mail is always excluded from the collapsed view
|
|
20
44
|
*/
|
|
21
|
-
const useFilterVisibleRateOptions = (rateOptions,
|
|
22
|
-
const collapsedRateOptionList = React.useMemo(() => filterRateOptions(rateOptions,
|
|
23
|
-
const filterVisibleRateOptions = React.useCallback(options => filterRateOptions(options,
|
|
45
|
+
const useFilterVisibleRateOptions = (rateOptions, features) => {
|
|
46
|
+
const collapsedRateOptionList = React.useMemo(() => filterRateOptions(rateOptions, features === null || features === void 0 ? void 0 : features.showMediaMail), [rateOptions, features]);
|
|
47
|
+
const filterVisibleRateOptions = React.useCallback(options => filterRateOptions(options, features === null || features === void 0 ? void 0 : features.showMediaMail), [features]);
|
|
24
48
|
return {
|
|
25
49
|
COLLAPSED_RATE_VIEW_LIMIT,
|
|
26
50
|
collapsedRateOptionList,
|
|
@@ -45,11 +45,11 @@ const useInsuranceProviderOptions = (insuranceAccount, features) => {
|
|
|
45
45
|
refetchInsuranceAcceptedTerms
|
|
46
46
|
} = useGetFundingSourceInsuranceProvider.useGetFundingSourceInsuranceProvider();
|
|
47
47
|
const insuranceProviderOptions = React.useMemo(() => Object.values(reactApi.SE.InsuranceProviderType).flatMap(v => {
|
|
48
|
-
return v === "none" || v === "funding_source" || v === "parcelguard" && (v !== fundingSourceInsuranceProvider || !globalFeatures.enableParcelGuard) || v === "x_cover" && v !== fundingSourceInsuranceProvider || v === "carrier" && !(features === null || features === void 0 ? void 0 : features.includeCarrierInsurance) || v === "third_party" && !(features === null || features === void 0 ? void 0 : features.includeThirdPartyInsurance) || v === "shipsurance" && (!(insuranceAccount === null || insuranceAccount === void 0 ? void 0 : insuranceAccount.amount) || !(features === null || features === void 0 ? void 0 : features.includeShipsuranceInsurance)) ? [] : {
|
|
48
|
+
return v === "none" || v === "funding_source" || v === "parcelguard" && (v !== fundingSourceInsuranceProvider || !globalFeatures.enableParcelGuard) || v === "x_cover" && (v !== fundingSourceInsuranceProvider || !globalFeatures.enableXCover) || v === "carrier" && !(features === null || features === void 0 ? void 0 : features.includeCarrierInsurance) || v === "third_party" && !(features === null || features === void 0 ? void 0 : features.includeThirdPartyInsurance) || v === "shipsurance" && (!(insuranceAccount === null || insuranceAccount === void 0 ? void 0 : insuranceAccount.amount) || !(features === null || features === void 0 ? void 0 : features.includeShipsuranceInsurance)) ? [] : {
|
|
49
49
|
label: t(`insuranceProviders.${humps__namespace.camelize(v)}`),
|
|
50
50
|
value: v
|
|
51
51
|
};
|
|
52
|
-
}), [fundingSourceInsuranceProvider, globalFeatures.enableParcelGuard, features, insuranceAccount === null || insuranceAccount === void 0 ? void 0 : insuranceAccount.amount, t]);
|
|
52
|
+
}), [fundingSourceInsuranceProvider, globalFeatures.enableParcelGuard, globalFeatures.enableXCover, features, insuranceAccount === null || insuranceAccount === void 0 ? void 0 : insuranceAccount.amount, t]);
|
|
53
53
|
return {
|
|
54
54
|
fundingSourceInsuranceProvider,
|
|
55
55
|
insuranceProviderOptions,
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
|
-
var
|
|
3
|
+
var useGetServiceData = require('../../../hooks/use-get-service-data.cjs');
|
|
4
4
|
var reactApi = require('@shipengine/react-api');
|
|
5
5
|
var files = require('../../../utilities/files.cjs');
|
|
6
6
|
var React = require('react');
|
|
@@ -30,7 +30,7 @@ const useShipmentsGrid = ({
|
|
|
30
30
|
const initialFilters = getInitialFilters(showShipmentIdFilter, showCreatedDateFilter);
|
|
31
31
|
const {
|
|
32
32
|
getServiceName
|
|
33
|
-
} =
|
|
33
|
+
} = useGetServiceData.useGetServiceData();
|
|
34
34
|
const {
|
|
35
35
|
page,
|
|
36
36
|
pageSize,
|
|
@@ -2,6 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
var _tslib = require('../../_virtual/_tslib.cjs');
|
|
4
4
|
var jsxRuntime = require('@emotion/react/jsx-runtime');
|
|
5
|
+
var useGetServiceData = require('../../hooks/use-get-service-data.cjs');
|
|
5
6
|
var useSortableQuery = require('../../hooks/use-sortable-query.cjs');
|
|
6
7
|
var giger = require('@shipengine/giger');
|
|
7
8
|
var React = require('react');
|
|
@@ -14,6 +15,7 @@ var index = require('../../locales/en/index.cjs');
|
|
|
14
15
|
var createElement = require('../../create-element/create-element.cjs');
|
|
15
16
|
var elementsContextProvider = require('../../elements-provider/elements-context-provider.cjs');
|
|
16
17
|
var errorState = require('../../components/error-state/error-state.cjs');
|
|
18
|
+
var carrierIcon = require('../../components/carrier-icon/carrier-icon.cjs');
|
|
17
19
|
var cellFormattedDate = require('../../components/grid-controller/cell-formatted-date.cjs');
|
|
18
20
|
var sortableHeader = require('../../components/grid-controller/sortable-header/sortable-header.cjs');
|
|
19
21
|
var gridController = require('../../components/grid-controller/grid-controller.cjs');
|
|
@@ -87,6 +89,10 @@ const Component = ({
|
|
|
87
89
|
sortBy: sortState.by,
|
|
88
90
|
sortDir: sortState.dir
|
|
89
91
|
});
|
|
92
|
+
const {
|
|
93
|
+
getServiceInfo,
|
|
94
|
+
isLoadingCarriers
|
|
95
|
+
} = useGetServiceData.useGetServiceData();
|
|
90
96
|
const onRowClick = shipment => _tslib.__awaiter(void 0, void 0, void 0, function* () {
|
|
91
97
|
setActiveShipmentId(shipment.shipmentId);
|
|
92
98
|
yield onRowClickProp === null || onRowClickProp === void 0 ? void 0 : onRowClickProp(shipment);
|
|
@@ -190,13 +196,21 @@ const Component = ({
|
|
|
190
196
|
}) : "--";
|
|
191
197
|
}
|
|
192
198
|
}, {
|
|
193
|
-
headerContent: t("list-shipments:headers.
|
|
199
|
+
headerContent: t("list-shipments:headers.service"),
|
|
194
200
|
renderCellContent: shipment => {
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
css: shipmentsGrid_styles.styles.
|
|
198
|
-
|
|
199
|
-
|
|
201
|
+
const serviceInfo = getServiceInfo(shipment);
|
|
202
|
+
return isLoadingCarriers ? jsxRuntime.jsx(giger.Skeleton, {}) : jsxRuntime.jsxs("div", {
|
|
203
|
+
css: shipmentsGrid_styles.styles.serviceCell,
|
|
204
|
+
children: [serviceInfo.hasCarrierIcon && serviceInfo.carrierCode && jsxRuntime.jsx(carrierIcon.CarrierIcon, {
|
|
205
|
+
carrierCode: serviceInfo.carrierCode,
|
|
206
|
+
carrierName: serviceInfo.serviceName || serviceInfo.carrierCode,
|
|
207
|
+
size: giger.IconSize.SIZE_SMALL
|
|
208
|
+
}), jsxRuntime.jsx(giger.Typography, {
|
|
209
|
+
component: "p",
|
|
210
|
+
css: shipmentsGrid_styles.styles.tableParagraph,
|
|
211
|
+
variant: "body2",
|
|
212
|
+
children: serviceInfo.serviceName || t("list-shipments:none")
|
|
213
|
+
})]
|
|
200
214
|
});
|
|
201
215
|
}
|
|
202
216
|
}, {
|
|
@@ -0,0 +1,114 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
var faker = require('@faker-js/faker');
|
|
4
|
+
var fishery = require('fishery');
|
|
5
|
+
|
|
6
|
+
/**
|
|
7
|
+
* @category Factories
|
|
8
|
+
*/
|
|
9
|
+
const addressFactory = fishery.Factory.define(({
|
|
10
|
+
params,
|
|
11
|
+
transientParams
|
|
12
|
+
}) => {
|
|
13
|
+
var _a, _b, _c, _d;
|
|
14
|
+
const addressLine2 = (_a = params.addressLine2) !== null && _a !== void 0 ? _a : faker.faker.helpers.maybe(() => faker.faker.address.secondaryAddress(), {
|
|
15
|
+
probability: 0.25
|
|
16
|
+
});
|
|
17
|
+
const addressLine3 = (_b = params.addressLine3) !== null && _b !== void 0 ? _b : addressLine2 && faker.faker.helpers.maybe(() => faker.faker.address.secondaryAddress());
|
|
18
|
+
let countryCode = (_c = params.countryCode) !== null && _c !== void 0 ? _c : "US";
|
|
19
|
+
// Random country code could still be US
|
|
20
|
+
while (transientParams.isInternational && countryCode === "US") {
|
|
21
|
+
countryCode = faker.faker.address.countryCode();
|
|
22
|
+
}
|
|
23
|
+
const stateProvince = (_d = params.stateProvince) !== null && _d !== void 0 ? _d : faker.faker.address.stateAbbr();
|
|
24
|
+
return {
|
|
25
|
+
addressLine1: faker.faker.address.streetAddress(),
|
|
26
|
+
addressLine2,
|
|
27
|
+
addressLine3,
|
|
28
|
+
addressResidentialIndicator: faker.faker.helpers.maybe(() => faker.faker.helpers.arrayElement(["yes", "no"])),
|
|
29
|
+
cityLocality: faker.faker.address.city(),
|
|
30
|
+
companyName: faker.faker.helpers.maybe(() => faker.faker.company.name()),
|
|
31
|
+
countryCode,
|
|
32
|
+
name: faker.faker.name.fullName(),
|
|
33
|
+
phone: faker.faker.phone.number(),
|
|
34
|
+
postalCode: faker.faker.address.zipCodeByState(stateProvince),
|
|
35
|
+
stateProvince
|
|
36
|
+
};
|
|
37
|
+
});
|
|
38
|
+
/**
|
|
39
|
+
* @category Factories
|
|
40
|
+
*/
|
|
41
|
+
const addressValidationFactory = fishery.Factory.define(({
|
|
42
|
+
associations,
|
|
43
|
+
params
|
|
44
|
+
}) => {
|
|
45
|
+
var _a, _b;
|
|
46
|
+
const status = params.status || faker.faker.helpers.arrayElement(["unverified", "verified", "warning", "error"]);
|
|
47
|
+
return {
|
|
48
|
+
matchedAddress: (_a = associations.matchedAddress) !== null && _a !== void 0 ? _a : faker.faker.helpers.maybe(() => addressFactory.build(), {
|
|
49
|
+
probability: ["verified", "error"].includes(status) ? 0 : 0.8
|
|
50
|
+
}),
|
|
51
|
+
messages: [],
|
|
52
|
+
originalAddress: (_b = associations.originalAddress) !== null && _b !== void 0 ? _b : addressFactory.build(),
|
|
53
|
+
status
|
|
54
|
+
};
|
|
55
|
+
});
|
|
56
|
+
/**
|
|
57
|
+
* Mock the addressValidation object used to hyrdate address valiation feature
|
|
58
|
+
* on the shipment form.
|
|
59
|
+
* @category Factory
|
|
60
|
+
*/
|
|
61
|
+
fishery.Factory.define(({
|
|
62
|
+
params
|
|
63
|
+
}) => {
|
|
64
|
+
const addressValidation = addressValidationFactory.build({
|
|
65
|
+
status: params.status
|
|
66
|
+
}, {
|
|
67
|
+
associations: {
|
|
68
|
+
matchedAddress: addressFactory.build()
|
|
69
|
+
}
|
|
70
|
+
});
|
|
71
|
+
if (!addressValidation.matchedAddress) throw new Error("addressPreferenceFactory did not generate a matchedAddress");
|
|
72
|
+
return Object.assign(Object.assign({}, addressValidation), {
|
|
73
|
+
alternative: addressValidation.originalAddress,
|
|
74
|
+
alternativeSource: "originalAddress",
|
|
75
|
+
isModified: true,
|
|
76
|
+
selection: addressValidation.matchedAddress,
|
|
77
|
+
selectionSource: "matchedAddress",
|
|
78
|
+
toggle: () => addressFactory.build()
|
|
79
|
+
});
|
|
80
|
+
});
|
|
81
|
+
/**
|
|
82
|
+
* Mock the addressValidationPreference object used to hyrdate the address valiation feature
|
|
83
|
+
* used for warehouse management and onboarding.
|
|
84
|
+
* @category Factory
|
|
85
|
+
*/
|
|
86
|
+
fishery.Factory.define(() => {
|
|
87
|
+
const addressValidation = addressValidationFactory.build();
|
|
88
|
+
const address = addressFactory.build();
|
|
89
|
+
const validationType = faker.faker.helpers.arrayElement(["EXACT", "SOFT", "SUGGESTED", "ERROR"]);
|
|
90
|
+
switch (validationType) {
|
|
91
|
+
case "EXACT":
|
|
92
|
+
case "SOFT":
|
|
93
|
+
return {
|
|
94
|
+
address: address,
|
|
95
|
+
validationType: faker.faker.helpers.arrayElement(["EXACT", "SOFT"])
|
|
96
|
+
};
|
|
97
|
+
case "SUGGESTED":
|
|
98
|
+
case "ERROR":
|
|
99
|
+
return {
|
|
100
|
+
validation: addressValidation,
|
|
101
|
+
validationType: faker.faker.helpers.arrayElement(["SUGGESTED", "ERROR"])
|
|
102
|
+
};
|
|
103
|
+
default:
|
|
104
|
+
{
|
|
105
|
+
return {
|
|
106
|
+
validation: addressValidation,
|
|
107
|
+
validationType: "ERROR"
|
|
108
|
+
};
|
|
109
|
+
}
|
|
110
|
+
}
|
|
111
|
+
});
|
|
112
|
+
|
|
113
|
+
exports.addressFactory = addressFactory;
|
|
114
|
+
exports.addressValidationFactory = addressValidationFactory;
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
var faker = require('@faker-js/faker');
|
|
4
|
+
var reactApi = require('@shipengine/react-api');
|
|
5
|
+
var fishery = require('fishery');
|
|
6
|
+
|
|
7
|
+
/**
|
|
8
|
+
* @category Factories
|
|
9
|
+
*/
|
|
10
|
+
const moneyFactory = fishery.Factory.define(({
|
|
11
|
+
transientParams
|
|
12
|
+
}) => ({
|
|
13
|
+
amount: faker.faker.datatype.number({
|
|
14
|
+
max: 1000,
|
|
15
|
+
min: 5,
|
|
16
|
+
precision: 0.01
|
|
17
|
+
}),
|
|
18
|
+
currency: (transientParams === null || transientParams === void 0 ? void 0 : transientParams.isInternational) ? faker.faker.helpers.arrayElement(Object.values(reactApi.SE.Currency)) : reactApi.SE.Currency.USD
|
|
19
|
+
}));
|
|
20
|
+
|
|
21
|
+
exports.moneyFactory = moneyFactory;
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
var faker = require('@faker-js/faker');
|
|
4
|
+
var fishery = require('fishery');
|
|
5
|
+
|
|
6
|
+
const randomOrderSourceCode = () => faker.faker.helpers.arrayElement(["3dcart", "abantecart", "acumatica", "acumatica_v2", "alibaba", "amazon", "amazon_au", "amazon_ca", "amazon_de", "amazon_es", "amazon_fr", "amazon_it", "amazon_jp", "amazon_mx", "amazon_uk", "americommerce", "auctane-orders", "back-market", "bandcamp", "big_cartel", "bigcommerce", "bigcommerce_v3", "bigcommerce_v2", "bizelo", "bluepark", "bonanza", "brightpearl", "cdiscount", "celery", "channeladvisor", "channelsale", "choxi", "cin7", "commerceinterface", "corecommerce", "coupang", "cratejoy", "cs-cart", "custom_store", "dear_systems", "dummy-marketplace", "ebay", "ebay_au", "ebay_ca", "ebay_uk", "ebay_fr", "ebay_v2", "ecwid", "ecwid_v1", "edesk", "ekm", "etsy", "facebook", "fnac", "foxycart", "freestyle", "fullscreen_direct", "geekseller", "goodsie", "google", "google_checkout", "gorgias", "groopdealz", "groupon_goods", "handshake", "hatch", "highwire", "homeroots", "houzz", "idealo_de", "inksoft", "jane", "jet", "kaufland", "labelapi", "lemonstand", "lengow", "liftoff", "linnworks", "listingmirror", "magento", "zoey", "magento_go", "memberly", "mercado_libre", "mijoshop", "best_buy_ca", "catch", "darty", "fanatics", "kohls", "kroger", "urbn", "miva_merchant", "morecommerce", "mozu", "neto", "newegg", "newegg_business", "newegg_ca", "notonthehighstreet", "oauth_dummy", "odbc", "onbuy", "opencart", "order_time", "ordersource_api", "oscommerce", "overstock", "oxatis", "paypal", "paypal_v2", "payvment", "penny", "prestashop", "rakuten", "best_buy", "rakuten-fr", "rate_browser", "redditgifts", "reverb", "revolutionparts", "salesforce_commerce_cloud", "salesforce_core", "sap_anywhere", "scout_topshelf", "sears", "securestore", "sellbrite", "selleractive", "shipengine_api", "shipengine_merchant", "shipstation", "shop_premium_outlets", "shopify", "shoppingfeed", "shopware_de", "simplepart", "skuvault", "soldsie", "sophio", "spark_shipping", "spree", "spreesy", "square", "squarespace", "stitch_labs", "storenvy", "stripe", "suredone", "tanga", "tophatter", "trade_me", "tradegecko", "ultracart", "unbranded_ecommerce_store", "unleashed", "vault", "visualsoft", "volo", "volusion", "vtex", "walmart", "walmart_ca", "wayfair", "webflow", "weebly", "wish", "wix", "woocommerce", "woocommerce_v2", "woot", "x-cart", "yahoo", "sec_yumbles", "zen_cart", "zonos"]);
|
|
7
|
+
/**
|
|
8
|
+
* @category Factories
|
|
9
|
+
*/
|
|
10
|
+
const orderSourceRefreshInfoFactory = fishery.Factory.define(() => {
|
|
11
|
+
const lastRefreshAttempt = faker.faker.date.recent();
|
|
12
|
+
return {
|
|
13
|
+
lastRefreshAttempt: lastRefreshAttempt.toISOString(),
|
|
14
|
+
refreshDate: faker.faker.date.recent(1, lastRefreshAttempt).toISOString(),
|
|
15
|
+
status: faker.faker.helpers.arrayElement(["idle", "preparing_update", "updating", "error", "unknown"])
|
|
16
|
+
};
|
|
17
|
+
});
|
|
18
|
+
/**
|
|
19
|
+
* @category Factories
|
|
20
|
+
*/
|
|
21
|
+
fishery.Factory.define(({
|
|
22
|
+
associations,
|
|
23
|
+
params
|
|
24
|
+
}) => {
|
|
25
|
+
var _a;
|
|
26
|
+
return {
|
|
27
|
+
active: faker.faker.datatype.boolean(),
|
|
28
|
+
orderSourceCode: randomOrderSourceCode(),
|
|
29
|
+
orderSourceFriendlyName: faker.faker.company.name(),
|
|
30
|
+
orderSourceId: faker.faker.datatype.uuid(),
|
|
31
|
+
orderSourceNickname: faker.faker.random.words(),
|
|
32
|
+
refreshInfo: (_a = associations.refreshInfo) !== null && _a !== void 0 ? _a : orderSourceRefreshInfoFactory.build(params.refreshInfo)
|
|
33
|
+
};
|
|
34
|
+
});
|
|
35
|
+
|
|
36
|
+
exports.orderSourceRefreshInfoFactory = orderSourceRefreshInfoFactory;
|
|
37
|
+
exports.randomOrderSourceCode = randomOrderSourceCode;
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
var faker = require('@faker-js/faker');
|
|
4
|
+
var fishery = require('fishery');
|
|
5
|
+
var utils = require('../utils.cjs');
|
|
6
|
+
|
|
7
|
+
/**
|
|
8
|
+
* @internal
|
|
9
|
+
*
|
|
10
|
+
* # Package Factory
|
|
11
|
+
*
|
|
12
|
+
* @category Factories
|
|
13
|
+
*/
|
|
14
|
+
const packageFactory = fishery.Factory.define(({
|
|
15
|
+
transientParams
|
|
16
|
+
}) => ({
|
|
17
|
+
description: faker.faker.lorem.sentence(),
|
|
18
|
+
dimensions: (transientParams === null || transientParams === void 0 ? void 0 : transientParams.noDimensions) ? undefined : {
|
|
19
|
+
height: faker.faker.datatype.number({
|
|
20
|
+
max: 50,
|
|
21
|
+
min: 1,
|
|
22
|
+
precision: 0.1
|
|
23
|
+
}),
|
|
24
|
+
length: faker.faker.datatype.number({
|
|
25
|
+
max: 50,
|
|
26
|
+
min: 1,
|
|
27
|
+
precision: 0.1
|
|
28
|
+
}),
|
|
29
|
+
unit: faker.faker.helpers.arrayElement(["inch", "centimeter"]),
|
|
30
|
+
width: faker.faker.datatype.number({
|
|
31
|
+
max: 50,
|
|
32
|
+
min: 1,
|
|
33
|
+
precision: 0.1
|
|
34
|
+
})
|
|
35
|
+
},
|
|
36
|
+
name: faker.faker.random.words(),
|
|
37
|
+
packageCode: utils.randomShipengineSlug(2),
|
|
38
|
+
packageId: utils.randomShipengineSlug(3)
|
|
39
|
+
}));
|
|
40
|
+
|
|
41
|
+
exports.packageFactory = packageFactory;
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
var faker = require('@faker-js/faker');
|
|
4
|
+
var fishery = require('fishery');
|
|
5
|
+
|
|
6
|
+
/**
|
|
7
|
+
* @category Factories
|
|
8
|
+
*/
|
|
9
|
+
const downloadFactory = fishery.Factory.define(() => ({
|
|
10
|
+
href: faker.faker.internet.url(),
|
|
11
|
+
pdf: faker.faker.internet.url(),
|
|
12
|
+
png: faker.faker.internet.url(),
|
|
13
|
+
zpl: faker.faker.internet.url()
|
|
14
|
+
}));
|
|
15
|
+
/**
|
|
16
|
+
* @category Factories
|
|
17
|
+
*/
|
|
18
|
+
fishery.Factory.define(() => ({
|
|
19
|
+
href: faker.faker.internet.url(),
|
|
20
|
+
type: faker.faker.word.noun()
|
|
21
|
+
}));
|
|
22
|
+
|
|
23
|
+
exports.downloadFactory = downloadFactory;
|