@shipengine/elements 2.24.1 → 2.25.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +187 -6
- package/dist/cjs/components/field/credit-card-input/credit-card-input.cjs +46 -29
- package/dist/cjs/components/field/rate-select/rate-card/rate-card.cjs +29 -5
- package/dist/cjs/components/field/rate-select/rate-card/rate-card.styles.cjs +8 -3
- package/dist/cjs/components/field/rate-select/rate-select.cjs +26 -5
- package/dist/cjs/components/forms/address-form/address-form-schema.cjs +3 -3
- package/dist/cjs/components/forms/edit-billing-form/edit-billing-form.cjs +57 -4
- package/dist/cjs/components/service-card/service-card.cjs +4 -4
- package/dist/cjs/components/service-card/service-card.styles.cjs +5 -2
- package/dist/cjs/components/service-point-display/service-point-display.cjs +1 -36
- package/dist/cjs/components/service-point-display/service-point-display.styles.cjs +0 -12
- package/dist/cjs/components/shipment-not-found-error/index.cjs +7 -0
- package/dist/cjs/components/shipment-not-found-error/shipment-not-found-error.cjs +40 -0
- package/dist/cjs/components/shipment-not-found-error/shipment-not-found-error.styles.cjs +24 -0
- package/dist/cjs/components/suspend-purchase/suspend-purchase.cjs +11 -3
- package/dist/cjs/elements/purchase-label/components/rate-form/rate-form.cjs +13 -3
- package/dist/cjs/elements/purchase-label/components/rate-form/rate-schema.cjs +7 -2
- package/dist/cjs/elements/purchase-label/components/rate-form/rate-view.cjs +2 -0
- package/dist/cjs/elements/purchase-label/hooks/use-rate-options.cjs +31 -2
- package/dist/cjs/elements/purchase-label/hooks/use-rates-form.cjs +14 -18
- package/dist/cjs/elements/purchase-label/hooks/use-request-rates.cjs +20 -20
- package/dist/cjs/elements/purchase-label/purchase-label.cjs +4 -1
- package/dist/cjs/elements/shipment-summary/components/label-display/label-card.cjs +16 -31
- package/dist/cjs/elements/shipment-summary/components/label-display/label-card.styles.cjs +0 -19
- package/dist/cjs/elements/shipment-summary/components/label-display/paperless-label-display.cjs +54 -0
- package/dist/cjs/elements/shipment-summary/components/label-display/paperless-label-display.styles.cjs +27 -0
- package/dist/cjs/features/payment-method-settings/payment-method-settings.cjs +56 -18
- package/dist/cjs/hooks/use-configure-shipment.cjs +32 -11
- package/dist/cjs/hooks/use-helpers.cjs +4 -1
- package/dist/cjs/index.cjs +15 -12
- package/dist/cjs/locales/en/account-settings.json.cjs +6 -0
- package/dist/cjs/locales/en/common.json.cjs +2 -0
- package/dist/cjs/locales/en/purchase-label.json.cjs +5 -3
- package/dist/cjs/package.json.cjs +1 -1
- package/dist/cjs/utilities/address.cjs +29 -0
- package/dist/cjs/utilities/index.cjs +3 -0
- package/dist/cjs/utilities/money.cjs +14 -0
- package/dist/cjs/utilities/rate-warning-messages.cjs +25 -0
- package/dist/cjs/utilities/shipengine/warehouses.cjs +2 -1
- package/dist/cjs/workflows/connect-external-carrier/connect-external-carrier.cjs +7 -3
- package/dist/cjs/workflows/label-workflow/label-workflow.cjs +11 -3
- package/dist/cjs/workflows/onboarding/components/confirmation-and-submission-step/confirmation-and-submission-step.cjs +1 -1
- package/dist/cjs/workflows/onboarding/components/confirmation-and-submission-step/use-confirmation-and-submission-step.cjs +17 -1
- package/dist/cjs/workflows/onboarding/components/onboarding-wizard/onboarding-wizard.cjs +4 -1
- package/dist/cjs/workflows/onboarding/components/terms-agreement-form/terms-agreement-form.cjs +4 -1
- package/dist/cjs/workflows/onboarding/components/terms-agreement-step/terms-agreement-step.cjs +14 -3
- package/dist/cjs/workflows/onboarding/components/terms-agreement-step/use-terms-agreement-step.cjs +12 -12
- package/dist/esm/components/field/credit-card-input/credit-card-input.js +47 -30
- package/dist/esm/components/field/rate-select/rate-card/rate-card.js +30 -6
- package/dist/esm/components/field/rate-select/rate-card/rate-card.styles.js +8 -3
- package/dist/esm/components/field/rate-select/rate-select.js +26 -5
- package/dist/esm/components/forms/address-form/address-form-schema.js +3 -3
- package/dist/esm/components/forms/edit-billing-form/edit-billing-form.js +58 -5
- package/dist/esm/components/service-card/service-card.js +4 -4
- package/dist/esm/components/service-card/service-card.styles.js +5 -2
- package/dist/esm/components/service-point-display/service-point-display.js +2 -37
- package/dist/esm/components/service-point-display/service-point-display.styles.js +0 -12
- package/dist/esm/components/shipment-not-found-error/index.js +1 -0
- package/dist/esm/components/shipment-not-found-error/shipment-not-found-error.js +38 -0
- package/dist/esm/components/shipment-not-found-error/shipment-not-found-error.styles.js +22 -0
- package/dist/esm/components/suspend-purchase/suspend-purchase.js +11 -3
- package/dist/esm/elements/purchase-label/components/rate-form/rate-form.js +14 -4
- package/dist/esm/elements/purchase-label/components/rate-form/rate-schema.js +7 -2
- package/dist/esm/elements/purchase-label/components/rate-form/rate-view.js +2 -0
- package/dist/esm/elements/purchase-label/hooks/use-rate-options.js +31 -2
- package/dist/esm/elements/purchase-label/hooks/use-rates-form.js +14 -18
- package/dist/esm/elements/purchase-label/hooks/use-request-rates.js +20 -20
- package/dist/esm/elements/purchase-label/purchase-label.js +4 -1
- package/dist/esm/elements/shipment-summary/components/label-display/label-card.js +18 -33
- package/dist/esm/elements/shipment-summary/components/label-display/label-card.styles.js +0 -19
- package/dist/esm/elements/shipment-summary/components/label-display/paperless-label-display.js +52 -0
- package/dist/esm/elements/shipment-summary/components/label-display/paperless-label-display.styles.js +25 -0
- package/dist/esm/features/payment-method-settings/payment-method-settings.js +57 -19
- package/dist/esm/hooks/use-configure-shipment.js +33 -12
- package/dist/esm/hooks/use-helpers.js +4 -1
- package/dist/esm/index.js +1 -0
- package/dist/esm/locales/en/account-settings.json.js +6 -0
- package/dist/esm/locales/en/common.json.js +2 -0
- package/dist/esm/locales/en/purchase-label.json.js +5 -3
- package/dist/esm/package.json.js +1 -1
- package/dist/esm/utilities/address.js +26 -0
- package/dist/esm/utilities/index.js +1 -0
- package/dist/esm/utilities/money.js +14 -1
- package/dist/esm/utilities/rate-warning-messages.js +23 -0
- package/dist/esm/utilities/shipengine/warehouses.js +2 -1
- package/dist/esm/workflows/connect-external-carrier/connect-external-carrier.js +7 -3
- package/dist/esm/workflows/label-workflow/label-workflow.js +11 -3
- package/dist/esm/workflows/onboarding/components/confirmation-and-submission-step/confirmation-and-submission-step.js +1 -1
- package/dist/esm/workflows/onboarding/components/confirmation-and-submission-step/use-confirmation-and-submission-step.js +17 -1
- package/dist/esm/workflows/onboarding/components/onboarding-wizard/onboarding-wizard.js +4 -1
- package/dist/esm/workflows/onboarding/components/terms-agreement-form/terms-agreement-form.js +4 -1
- package/dist/esm/workflows/onboarding/components/terms-agreement-step/terms-agreement-step.js +14 -3
- package/dist/esm/workflows/onboarding/components/terms-agreement-step/use-terms-agreement-step.js +12 -12
- package/dist/types/components/field/credit-card-input/credit-card-input.d.ts.map +1 -1
- package/dist/types/components/field/rate-select/rate-card/rate-card.d.ts +4 -2
- package/dist/types/components/field/rate-select/rate-card/rate-card.d.ts.map +1 -1
- package/dist/types/components/field/rate-select/rate-card/rate-card.styles.d.ts +7 -2
- package/dist/types/components/field/rate-select/rate-card/rate-card.styles.d.ts.map +1 -1
- package/dist/types/components/field/rate-select/rate-select.d.ts +1 -0
- package/dist/types/components/field/rate-select/rate-select.d.ts.map +1 -1
- package/dist/types/components/forms/address-form/address-form-schema.d.ts.map +1 -1
- package/dist/types/components/forms/edit-billing-form/edit-billing-form.d.ts +2 -1
- package/dist/types/components/forms/edit-billing-form/edit-billing-form.d.ts.map +1 -1
- package/dist/types/components/service-card/service-card.d.ts +1 -1
- package/dist/types/components/service-card/service-card.d.ts.map +1 -1
- package/dist/types/components/service-card/service-card.styles.d.ts +4 -1
- package/dist/types/components/service-card/service-card.styles.d.ts.map +1 -1
- package/dist/types/components/service-point-display/service-point-display.d.ts.map +1 -1
- package/dist/types/components/service-point-display/service-point-display.styles.d.ts +0 -12
- package/dist/types/components/service-point-display/service-point-display.styles.d.ts.map +1 -1
- package/dist/types/components/shipment-not-found-error/index.d.ts +2 -0
- package/dist/types/components/shipment-not-found-error/index.d.ts.map +1 -0
- package/dist/types/components/shipment-not-found-error/shipment-not-found-error.d.ts +6 -0
- package/dist/types/components/shipment-not-found-error/shipment-not-found-error.d.ts.map +1 -0
- package/dist/types/components/shipment-not-found-error/shipment-not-found-error.styles.d.ts +19 -0
- package/dist/types/components/shipment-not-found-error/shipment-not-found-error.styles.d.ts.map +1 -0
- package/dist/types/components/suspend-purchase/suspend-purchase.d.ts +4 -2
- package/dist/types/components/suspend-purchase/suspend-purchase.d.ts.map +1 -1
- package/dist/types/elements/labels-grid/labels-grid.d.ts +11 -1
- package/dist/types/elements/labels-grid/labels-grid.d.ts.map +1 -1
- package/dist/types/elements/manage-carriers/manage-carriers.d.ts +11 -1
- package/dist/types/elements/manage-carriers/manage-carriers.d.ts.map +1 -1
- package/dist/types/elements/manage-external-carriers/manage-external-carriers.d.ts +11 -1
- package/dist/types/elements/manage-external-carriers/manage-external-carriers.d.ts.map +1 -1
- package/dist/types/elements/manage-funding/manage-funding-element.d.ts +11 -1
- package/dist/types/elements/manage-funding/manage-funding-element.d.ts.map +1 -1
- package/dist/types/elements/manage-warehouses/manage-warehouses.d.ts +11 -1
- package/dist/types/elements/manage-warehouses/manage-warehouses.d.ts.map +1 -1
- package/dist/types/elements/payment-method-settings/payment-method-settings-element.d.ts +11 -1
- package/dist/types/elements/payment-method-settings/payment-method-settings-element.d.ts.map +1 -1
- package/dist/types/elements/purchase-label/components/rate-form/rate-form.d.ts +1 -1
- package/dist/types/elements/purchase-label/components/rate-form/rate-form.d.ts.map +1 -1
- package/dist/types/elements/purchase-label/components/rate-form/rate-schema.d.ts +10 -1
- package/dist/types/elements/purchase-label/components/rate-form/rate-schema.d.ts.map +1 -1
- package/dist/types/elements/purchase-label/components/rate-form/rate-view.d.ts +2 -1
- package/dist/types/elements/purchase-label/components/rate-form/rate-view.d.ts.map +1 -1
- package/dist/types/elements/purchase-label/hooks/use-rate-options.d.ts.map +1 -1
- package/dist/types/elements/purchase-label/hooks/use-rates-form.d.ts +2 -2
- package/dist/types/elements/purchase-label/hooks/use-rates-form.d.ts.map +1 -1
- package/dist/types/elements/purchase-label/hooks/use-request-rates.d.ts.map +1 -1
- package/dist/types/elements/purchase-label/purchase-label.d.ts +11 -1
- package/dist/types/elements/purchase-label/purchase-label.d.ts.map +1 -1
- package/dist/types/elements/select-label-layout/select-label-layout-element.d.ts +11 -1
- package/dist/types/elements/select-label-layout/select-label-layout-element.d.ts.map +1 -1
- package/dist/types/elements/shipment-summary/components/label-display/label-card.d.ts.map +1 -1
- package/dist/types/elements/shipment-summary/components/label-display/label-card.styles.d.ts +0 -19
- package/dist/types/elements/shipment-summary/components/label-display/label-card.styles.d.ts.map +1 -1
- package/dist/types/elements/shipment-summary/components/label-display/paperless-label-display.d.ts +8 -0
- package/dist/types/elements/shipment-summary/components/label-display/paperless-label-display.d.ts.map +1 -0
- package/dist/types/elements/shipment-summary/components/label-display/paperless-label-display.styles.d.ts +22 -0
- package/dist/types/elements/shipment-summary/components/label-display/paperless-label-display.styles.d.ts.map +1 -0
- package/dist/types/elements/shipment-summary/shipment-summary.d.ts +11 -1
- package/dist/types/elements/shipment-summary/shipment-summary.d.ts.map +1 -1
- package/dist/types/elements/shipments-grid/hooks/use-shipments-grid.d.ts.map +1 -1
- package/dist/types/elements/shipments-grid/shipments-grid.d.ts +11 -1
- package/dist/types/elements/shipments-grid/shipments-grid.d.ts.map +1 -1
- package/dist/types/elements/theme-creator/theme-creator.d.ts +11 -1
- package/dist/types/elements/theme-creator/theme-creator.d.ts.map +1 -1
- package/dist/types/elements/transaction-history/transaction-history-element.d.ts +11 -1
- package/dist/types/elements/transaction-history/transaction-history-element.d.ts.map +1 -1
- package/dist/types/elements/unit-settings/unit-settings-element.d.ts +11 -1
- package/dist/types/elements/unit-settings/unit-settings-element.d.ts.map +1 -1
- package/dist/types/elements/vat-settings/vat-settings-element.d.ts +11 -1
- package/dist/types/elements/vat-settings/vat-settings-element.d.ts.map +1 -1
- package/dist/types/elements/void-label/void-label.d.ts +11 -1
- package/dist/types/elements/void-label/void-label.d.ts.map +1 -1
- package/dist/types/features/payment-method-settings/payment-method-settings.d.ts.map +1 -1
- package/dist/types/hooks/use-configure-shipment.d.ts +1 -0
- package/dist/types/hooks/use-configure-shipment.d.ts.map +1 -1
- package/dist/types/hooks/use-helpers.d.ts +2 -0
- package/dist/types/hooks/use-helpers.d.ts.map +1 -1
- package/dist/types/index.d.ts +1 -1
- package/dist/types/index.d.ts.map +1 -1
- package/dist/types/locales/en/index.d.ts +11 -1
- package/dist/types/locales/en/index.d.ts.map +1 -1
- package/dist/types/types/rates.d.ts +1 -0
- package/dist/types/types/rates.d.ts.map +1 -1
- package/dist/types/utilities/address.d.ts +21 -0
- package/dist/types/utilities/address.d.ts.map +1 -0
- package/dist/types/utilities/feature-flags/types.d.ts +1 -1
- package/dist/types/utilities/feature-flags/types.d.ts.map +1 -1
- package/dist/types/utilities/index.d.ts +1 -0
- package/dist/types/utilities/index.d.ts.map +1 -1
- package/dist/types/utilities/money.d.ts +6 -0
- package/dist/types/utilities/money.d.ts.map +1 -1
- package/dist/types/utilities/rate-warning-messages.d.ts +15 -0
- package/dist/types/utilities/rate-warning-messages.d.ts.map +1 -0
- package/dist/types/workflows/account-settings/account-settings.d.ts +11 -1
- package/dist/types/workflows/account-settings/account-settings.d.ts.map +1 -1
- package/dist/types/workflows/carrier-services/carrier-services.d.ts +11 -1
- package/dist/types/workflows/carrier-services/carrier-services.d.ts.map +1 -1
- package/dist/types/workflows/connect-external-carrier/connect-external-carrier.d.ts +11 -1
- package/dist/types/workflows/connect-external-carrier/connect-external-carrier.d.ts.map +1 -1
- package/dist/types/workflows/label-workflow/label-workflow.d.ts +11 -1
- package/dist/types/workflows/label-workflow/label-workflow.d.ts.map +1 -1
- package/dist/types/workflows/onboarding/components/confirmation-and-submission-step/use-confirmation-and-submission-step.d.ts.map +1 -1
- package/dist/types/workflows/onboarding/components/onboarding-wizard/onboarding-wizard.d.ts.map +1 -1
- package/dist/types/workflows/onboarding/components/terms-agreement-form/terms-agreement-form.d.ts +2 -1
- package/dist/types/workflows/onboarding/components/terms-agreement-form/terms-agreement-form.d.ts.map +1 -1
- package/dist/types/workflows/onboarding/components/terms-agreement-step/terms-agreement-step.d.ts +3 -1
- package/dist/types/workflows/onboarding/components/terms-agreement-step/terms-agreement-step.d.ts.map +1 -1
- package/dist/types/workflows/onboarding/components/terms-agreement-step/use-terms-agreement-step.d.ts +1 -0
- package/dist/types/workflows/onboarding/components/terms-agreement-step/use-terms-agreement-step.d.ts.map +1 -1
- package/dist/types/workflows/onboarding/onboarding.d.ts +11 -1
- package/dist/types/workflows/onboarding/onboarding.d.ts.map +1 -1
- package/package.json +3 -3
|
@@ -19,18 +19,6 @@ const styles = styles$1.createStyles({
|
|
|
19
19
|
gap: styles$1.scopeTheme(theme).spacing(1),
|
|
20
20
|
justifyContent: "space-between"
|
|
21
21
|
}),
|
|
22
|
-
paperlessIcon: theme => ({
|
|
23
|
-
color: styles$1.scopeTheme(theme).palette.gray[600],
|
|
24
|
-
paddingRight: "4px"
|
|
25
|
-
}),
|
|
26
|
-
paperlessText: theme => ({
|
|
27
|
-
color: styles$1.scopeTheme(theme).palette.gray[600],
|
|
28
|
-
paddingLeft: styles$1.scopeTheme(theme).spacing(0.5)
|
|
29
|
-
}),
|
|
30
|
-
paperlessWrapper: () => ({
|
|
31
|
-
display: "flex",
|
|
32
|
-
marginBottom: "12px"
|
|
33
|
-
}),
|
|
34
22
|
selectButton: theme => ({
|
|
35
23
|
backgroundColor: styles$1.scopeTheme(theme).palette.primary.main,
|
|
36
24
|
borderRadius: styles$1.scopeTheme(theme).borderRadius.S,
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
var jsxRuntime = require('@emotion/react/jsx-runtime');
|
|
4
|
+
var giger = require('@shipengine/giger');
|
|
5
|
+
var gigerTheme = require('@shipengine/giger-theme');
|
|
6
|
+
var reactI18next = require('react-i18next');
|
|
7
|
+
var shipmentNotFoundError_styles = require('./shipment-not-found-error.styles.cjs');
|
|
8
|
+
|
|
9
|
+
const ShipmentNotFoundError = ({
|
|
10
|
+
shipmentId,
|
|
11
|
+
onCreateNewShipment
|
|
12
|
+
}) => {
|
|
13
|
+
const {
|
|
14
|
+
t
|
|
15
|
+
} = reactI18next.useTranslation(["common", "purchase-label"]);
|
|
16
|
+
return jsxRuntime.jsxs("div", {
|
|
17
|
+
css: shipmentNotFoundError_styles.styles.container,
|
|
18
|
+
children: [jsxRuntime.jsx("div", {
|
|
19
|
+
css: shipmentNotFoundError_styles.styles.iconContainer,
|
|
20
|
+
children: jsxRuntime.jsx(giger.Icon, {
|
|
21
|
+
name: gigerTheme.IconNames.CANCEL,
|
|
22
|
+
size: giger.IconSize.SIZE_LARGE
|
|
23
|
+
})
|
|
24
|
+
}), jsxRuntime.jsx("div", {
|
|
25
|
+
css: shipmentNotFoundError_styles.styles.message,
|
|
26
|
+
children: t("common:errorMessages.shipmentNotFound", {
|
|
27
|
+
id: shipmentId
|
|
28
|
+
})
|
|
29
|
+
}), jsxRuntime.jsx(giger.Button, {
|
|
30
|
+
"data-testid": "create-new-shipment",
|
|
31
|
+
onClick: () => {
|
|
32
|
+
void (onCreateNewShipment === null || onCreateNewShipment === void 0 ? void 0 : onCreateNewShipment());
|
|
33
|
+
},
|
|
34
|
+
type: "button",
|
|
35
|
+
children: t("purchase-label:actions.createNewShipment")
|
|
36
|
+
})]
|
|
37
|
+
});
|
|
38
|
+
};
|
|
39
|
+
|
|
40
|
+
exports.ShipmentNotFoundError = ShipmentNotFoundError;
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
var styles$1 = require('../../utilities/styles.cjs');
|
|
4
|
+
|
|
5
|
+
const styles = styles$1.createStyles({
|
|
6
|
+
container: {
|
|
7
|
+
alignItems: "center",
|
|
8
|
+
display: "flex",
|
|
9
|
+
flexDirection: "column",
|
|
10
|
+
height: "100%",
|
|
11
|
+
justifyContent: "center",
|
|
12
|
+
textAlign: "center",
|
|
13
|
+
width: "100%"
|
|
14
|
+
},
|
|
15
|
+
iconContainer: theme => ({
|
|
16
|
+
color: styles$1.scopeTheme(theme).palette.error.main,
|
|
17
|
+
marginBottom: styles$1.scopeTheme(theme).spacing(2)
|
|
18
|
+
}),
|
|
19
|
+
message: theme => ({
|
|
20
|
+
marginBottom: styles$1.scopeTheme(theme).spacing(2)
|
|
21
|
+
})
|
|
22
|
+
});
|
|
23
|
+
|
|
24
|
+
exports.styles = styles;
|
|
@@ -2,13 +2,16 @@
|
|
|
2
2
|
|
|
3
3
|
var jsxRuntime = require('@emotion/react/jsx-runtime');
|
|
4
4
|
var reactI18next = require('react-i18next');
|
|
5
|
+
var shipmentNotFoundError = require('../shipment-not-found-error/shipment-not-found-error.cjs');
|
|
5
6
|
var loader = require('../loader/loader.cjs');
|
|
6
7
|
|
|
7
8
|
const SuspendPurchase = ({
|
|
8
9
|
children,
|
|
9
10
|
errors,
|
|
10
11
|
isLoading,
|
|
11
|
-
data
|
|
12
|
+
data,
|
|
13
|
+
onCreateNewShipment,
|
|
14
|
+
shipmentId
|
|
12
15
|
}) => {
|
|
13
16
|
const {
|
|
14
17
|
t
|
|
@@ -17,7 +20,7 @@ const SuspendPurchase = ({
|
|
|
17
20
|
message: t("loading.shipment")
|
|
18
21
|
});
|
|
19
22
|
if (errors) {
|
|
20
|
-
|
|
23
|
+
for (const error of errors) {
|
|
21
24
|
switch (error.message) {
|
|
22
25
|
case "no_carriers":
|
|
23
26
|
throw new Error(t("common:errorMessages.incompleteLabelPurchaseRequirements", {
|
|
@@ -33,8 +36,13 @@ const SuspendPurchase = ({
|
|
|
33
36
|
}));
|
|
34
37
|
case "label_purchased":
|
|
35
38
|
throw new Error(t("common:errorMessages.labelHasBeenPurchased"));
|
|
39
|
+
case "shipment_not_found":
|
|
40
|
+
return jsxRuntime.jsx(shipmentNotFoundError.ShipmentNotFoundError, {
|
|
41
|
+
onCreateNewShipment: onCreateNewShipment,
|
|
42
|
+
shipmentId: shipmentId
|
|
43
|
+
});
|
|
36
44
|
}
|
|
37
|
-
}
|
|
45
|
+
}
|
|
38
46
|
throw new Error(errors.map(e => e.message).join(", "));
|
|
39
47
|
}
|
|
40
48
|
if (!data) throw new Error("errorMessages.unableToLoad.shipment");
|
|
@@ -64,19 +64,28 @@ const RateForm = ({
|
|
|
64
64
|
defaultValues: {
|
|
65
65
|
rate: {
|
|
66
66
|
isAcknowledged: true,
|
|
67
|
-
rateId: undefined
|
|
67
|
+
rateId: undefined,
|
|
68
|
+
labelDisplayScheme: undefined
|
|
68
69
|
}
|
|
69
70
|
},
|
|
70
71
|
mode: "onChange",
|
|
71
72
|
resolver: validation.validationResolver(rateSchema.rateSchema)
|
|
72
73
|
});
|
|
74
|
+
const handlePaperlessAcknowledgementChange = React.useCallback((_usePaperlessLabel, labelDisplayScheme) => {
|
|
75
|
+
form.setValue("rate.labelDisplayScheme", labelDisplayScheme, {
|
|
76
|
+
shouldDirty: true
|
|
77
|
+
});
|
|
78
|
+
}, [form]);
|
|
73
79
|
const {
|
|
74
80
|
rateId: selectedRateId
|
|
75
81
|
} = form.watch("rate");
|
|
76
82
|
const handleSubmit = formLogger.formLogger.capture(form.handleSubmit(values => _tslib.__awaiter(void 0, void 0, void 0, function* () {
|
|
77
|
-
const
|
|
83
|
+
const {
|
|
84
|
+
rateId,
|
|
85
|
+
labelDisplayScheme
|
|
86
|
+
} = values;
|
|
78
87
|
try {
|
|
79
|
-
yield onSubmit === null || onSubmit === void 0 ? void 0 : onSubmit(rateId, selectedServicePoint);
|
|
88
|
+
yield onSubmit === null || onSubmit === void 0 ? void 0 : onSubmit(rateId, selectedServicePoint, labelDisplayScheme);
|
|
80
89
|
} finally {
|
|
81
90
|
// Invalidate carrier queries after the rate form is submitted, regardless of success.
|
|
82
91
|
// This allows the carrier balance to refresh if the purchase failed but funding succeeded.
|
|
@@ -179,6 +188,7 @@ const RateForm = ({
|
|
|
179
188
|
form: form,
|
|
180
189
|
isCalculatingRates: isCalculatingRates,
|
|
181
190
|
isSavingRate: isSavingRate,
|
|
191
|
+
onPaperlessAcknowledgementChange: handlePaperlessAcknowledgementChange,
|
|
182
192
|
onSelectRate: rateId => {
|
|
183
193
|
const selectedRate = rateOptions.find(r => r.rateId === rateId);
|
|
184
194
|
if (selectedRate) {
|
|
@@ -2,11 +2,16 @@
|
|
|
2
2
|
|
|
3
3
|
var zod = require('zod');
|
|
4
4
|
|
|
5
|
+
const labelDisplaySchemeEnum = zod.z.enum(["label", "paperless", "qr_code", "label_and_paperless"]);
|
|
5
6
|
const rateSchema = zod.z.object({
|
|
6
7
|
rate: zod.z.object({
|
|
7
8
|
isAcknowledged: zod.z.boolean().refine(v => v === true, "purchase-label:schemaErrors.needToAcknowledge"),
|
|
8
|
-
rateId: zod.z.string()
|
|
9
|
+
rateId: zod.z.string(),
|
|
10
|
+
labelDisplayScheme: labelDisplaySchemeEnum.optional()
|
|
9
11
|
})
|
|
10
|
-
}).transform(schema =>
|
|
12
|
+
}).transform(schema => ({
|
|
13
|
+
rateId: schema.rate.rateId,
|
|
14
|
+
labelDisplayScheme: schema.rate.labelDisplayScheme
|
|
15
|
+
}));
|
|
11
16
|
|
|
12
17
|
exports.rateSchema = rateSchema;
|
|
@@ -23,6 +23,7 @@ const RateView = ({
|
|
|
23
23
|
form,
|
|
24
24
|
isCalculatingRates,
|
|
25
25
|
isSavingRate,
|
|
26
|
+
onPaperlessAcknowledgementChange,
|
|
26
27
|
onSelectRate,
|
|
27
28
|
preferredServiceCodes,
|
|
28
29
|
pudoServicePointDetails = {
|
|
@@ -196,6 +197,7 @@ const RateView = ({
|
|
|
196
197
|
label: "Rate",
|
|
197
198
|
name: "rate",
|
|
198
199
|
onClick: onSelectRate,
|
|
200
|
+
onPaperlessAcknowledgementChange: onPaperlessAcknowledgementChange,
|
|
199
201
|
onSelectServicePoint: onSelectServicePoint,
|
|
200
202
|
options: showHiddenRates ? expandedRateOptionList : collapsedRateOptionList
|
|
201
203
|
}, rateSelectCommonProps)), expandedRateOptionList.length > COLLAPSED_RATE_VIEW_LIMIT && jsxRuntime.jsx(linkAction.LinkAction, {
|
|
@@ -11,6 +11,22 @@ var useWindsorFramework = require('./use-windsor-framework.cjs');
|
|
|
11
11
|
var pudo$1 = require('../../../types/pudo.cjs');
|
|
12
12
|
var canadaDdp = require('../../../types/canada-ddp.cjs');
|
|
13
13
|
|
|
14
|
+
/* https://auctane.atlassian.net/browse/ENGINE-7329
|
|
15
|
+
* For iteration one we would hardcode services for which it will be available (in the future this data will be in the registry. We will change hardcoding then)
|
|
16
|
+
* carriersWithPaperless and servicesWithPaperless are hardcoded for iteration one
|
|
17
|
+
*/
|
|
18
|
+
const hermesPaperlessSupportedServices = ["hermes_domestic_parcelshop_dropoff", "hermes_domestic_parcelshop_dropoff_next_day", "hermes_postable", "hermes_postable_next_day"];
|
|
19
|
+
const paperlessSupportedCarriers = [{
|
|
20
|
+
carrier: "hermes",
|
|
21
|
+
services: hermesPaperlessSupportedServices,
|
|
22
|
+
displaySchemes: ["label_and_paperless"]
|
|
23
|
+
}, {
|
|
24
|
+
carrier: "usps",
|
|
25
|
+
displaySchemes: ["qr_code"]
|
|
26
|
+
}, {
|
|
27
|
+
carrier: "stamps_com",
|
|
28
|
+
displaySchemes: ["qr_code"]
|
|
29
|
+
}];
|
|
14
30
|
/**
|
|
15
31
|
* @internal
|
|
16
32
|
*
|
|
@@ -37,6 +53,17 @@ const useRateOptions = (rates$1, fundingOrigin, preferredRates, carriers, shipme
|
|
|
37
53
|
var _a;
|
|
38
54
|
return ((_a = shipment === null || shipment === void 0 ? void 0 : shipment.advancedOptions) === null || _a === void 0 ? void 0 : _a.canadaDeliveredDuty) === canadaDdp.CanadaDeliveredDutyOptions.SENDER_PREPAY;
|
|
39
55
|
}, [(_a = shipment === null || shipment === void 0 ? void 0 : shipment.advancedOptions) === null || _a === void 0 ? void 0 : _a.canadaDeliveredDuty]);
|
|
56
|
+
const buildSupportedLabelDisplaySchemes = (carrierCode, serviceCode) => {
|
|
57
|
+
const carrier = paperlessSupportedCarriers.find(c => c.carrier === carrierCode);
|
|
58
|
+
if (!carrier || carrier.services && !carrier.services.includes(serviceCode)) {
|
|
59
|
+
return [];
|
|
60
|
+
}
|
|
61
|
+
// Only return USPS/stamps_com display schemes for domestic shipments
|
|
62
|
+
if ((carrierCode === 'usps' || carrierCode === 'stamps_com') && isInternational) {
|
|
63
|
+
return [];
|
|
64
|
+
}
|
|
65
|
+
return [...carrier.displaySchemes];
|
|
66
|
+
};
|
|
40
67
|
const rateOptionsFilters = React.useCallback(carrierCode => {
|
|
41
68
|
return (
|
|
42
69
|
// Filter out non-USPS carriers for Canada Delivered Duty prepaid shipments
|
|
@@ -59,7 +86,8 @@ const useRateOptions = (rates$1, fundingOrigin, preferredRates, carriers, shipme
|
|
|
59
86
|
messages: r.rate.warningMessages,
|
|
60
87
|
rateAcknowledgementMessage: r.rateAcknowledgementMessage,
|
|
61
88
|
requiresAcknowledgement: !!r.rateAcknowledgementMessage,
|
|
62
|
-
requiresFundedAmount: false
|
|
89
|
+
requiresFundedAmount: false,
|
|
90
|
+
paperlessDisplaySchemes: buildSupportedLabelDisplaySchemes(r.rate.carrierCode, r.rate.serviceCode)
|
|
63
91
|
}));
|
|
64
92
|
}, [preferredRates, rateOptionsFilters]);
|
|
65
93
|
const noRatesForServiceMessage = t("purchase-label:rates.noRateService");
|
|
@@ -75,7 +103,8 @@ const useRateOptions = (rates$1, fundingOrigin, preferredRates, carriers, shipme
|
|
|
75
103
|
balance: fundingOrigin === null || fundingOrigin === void 0 ? void 0 : fundingOrigin.balance,
|
|
76
104
|
messages: r.warningMessages,
|
|
77
105
|
requiresAcknowledgement: rates.getRateRequiresAcknowledgement(r.serviceCode, r.packageType, !!requireDhlTermsAcknowledgement),
|
|
78
|
-
requiresFundedAmount
|
|
106
|
+
requiresFundedAmount,
|
|
107
|
+
paperlessDisplaySchemes: buildSupportedLabelDisplaySchemes(r.carrierCode, r.serviceCode)
|
|
79
108
|
});
|
|
80
109
|
if (r.shippingAmount.amount === 0 && !r.warningMessages.includes(noRatesForServiceMessage)) {
|
|
81
110
|
baseRateOption.messages.push(noRatesForServiceMessage);
|
|
@@ -14,11 +14,6 @@ var useRatesWithCache = require('./use-rates-with-cache.cjs');
|
|
|
14
14
|
var useServicePoints = require('./use-service-points.cjs');
|
|
15
15
|
var elementsContextProvider = require('../../../elements-provider/elements-context-provider.cjs');
|
|
16
16
|
|
|
17
|
-
/* https://auctane.atlassian.net/browse/ENGINE-7329
|
|
18
|
-
* For iteration one we would hardcode services for which it will be available (in the future this data will be in the registry. We will change hardcoding then)
|
|
19
|
-
* carriersWithPaperless and servicesWithPaperless are hardcoded for iteration one
|
|
20
|
-
*/
|
|
21
|
-
const servicesWithPaperless = ["hermes_domestic_parcelshop_dropoff", "hermes_domestic_parcelshop_dropoff_next_day", "hermes_postable", "hermes_postable_next_day"];
|
|
22
17
|
const useRatesForm = ({
|
|
23
18
|
getPreferredRates,
|
|
24
19
|
disabledShippingServices,
|
|
@@ -91,17 +86,11 @@ const useRatesForm = ({
|
|
|
91
86
|
listServicePointsErrors,
|
|
92
87
|
servicePointSearchQuery
|
|
93
88
|
} = useServicePoints.useServicePoints(ratesResponse === null || ratesResponse === void 0 ? void 0 : ratesResponse.rates, shipment);
|
|
94
|
-
const
|
|
95
|
-
if ("hermes" === rate.carrierCode) {
|
|
96
|
-
return !!servicesWithPaperless.find(service => service === rate.serviceCode);
|
|
97
|
-
}
|
|
98
|
-
return false;
|
|
99
|
-
};
|
|
100
|
-
const purchaseLabel = React.useCallback((rateId, shipment, rate, servicePoint) => _tslib.__awaiter(void 0, void 0, void 0, function* () {
|
|
89
|
+
const purchaseLabel = React.useCallback((rateId, shipment, rate, servicePoint, displayScheme) => _tslib.__awaiter(void 0, void 0, void 0, function* () {
|
|
101
90
|
var _a;
|
|
102
91
|
try {
|
|
103
92
|
const label = yield createLabel({
|
|
104
|
-
displayScheme:
|
|
93
|
+
displayScheme: displayScheme !== null && displayScheme !== void 0 ? displayScheme : "label",
|
|
105
94
|
labelDownloadType: "url",
|
|
106
95
|
labelFormat: "pdf",
|
|
107
96
|
labelLayout: (_a = printLabelLayout === null || printLabelLayout === void 0 ? void 0 : printLabelLayout.toLowerCase()) !== null && _a !== void 0 ? _a : "4x6",
|
|
@@ -114,8 +103,15 @@ const useRatesForm = ({
|
|
|
114
103
|
} else {
|
|
115
104
|
yield onLabelCreateFailure === null || onLabelCreateFailure === void 0 ? void 0 : onLabelCreateFailure(rate, shipment);
|
|
116
105
|
}
|
|
117
|
-
} catch (
|
|
118
|
-
|
|
106
|
+
} catch (error) {
|
|
107
|
+
// Only return errors from the createLabel mutation in the callback
|
|
108
|
+
let callbackErrors;
|
|
109
|
+
if (Array.isArray(error)) {
|
|
110
|
+
if (error[0] instanceof reactApi.SE.CodedError) {
|
|
111
|
+
callbackErrors = error;
|
|
112
|
+
}
|
|
113
|
+
}
|
|
114
|
+
yield onLabelCreateFailure === null || onLabelCreateFailure === void 0 ? void 0 : onLabelCreateFailure(rate, shipment, callbackErrors);
|
|
119
115
|
}
|
|
120
116
|
}), [createLabel, onLabelCreateFailure, onLabelCreateSuccess, printLabelLayout]);
|
|
121
117
|
const onUpdatedShipment = React.useCallback(shipment => _tslib.__awaiter(void 0, void 0, void 0, function* () {
|
|
@@ -189,7 +185,7 @@ const useRatesForm = ({
|
|
|
189
185
|
return;
|
|
190
186
|
}
|
|
191
187
|
}), [onBeforeRateSaved, onUpdatedShipment, resetRates, shipment, updateShipment]);
|
|
192
|
-
const handleSubmit = React.useCallback((rateId, servicePoint) => _tslib.__awaiter(void 0, void 0, void 0, function* () {
|
|
188
|
+
const handleSubmit = React.useCallback((rateId, servicePoint, displayScheme) => _tslib.__awaiter(void 0, void 0, void 0, function* () {
|
|
193
189
|
var _a, _b, _c, _d;
|
|
194
190
|
setBeforeCreateError(undefined);
|
|
195
191
|
if (!shipment) return;
|
|
@@ -237,12 +233,12 @@ const useRatesForm = ({
|
|
|
237
233
|
});
|
|
238
234
|
throw new Error("Insufficient funds. Please add funds before purchasing and try again.");
|
|
239
235
|
} else {
|
|
240
|
-
yield purchaseLabel(rate.rateId, updatedShipment !== null && updatedShipment !== void 0 ? updatedShipment : shipment, rate, servicePoint);
|
|
236
|
+
yield purchaseLabel(rate.rateId, updatedShipment !== null && updatedShipment !== void 0 ? updatedShipment : shipment, rate, servicePoint, displayScheme);
|
|
241
237
|
return;
|
|
242
238
|
}
|
|
243
239
|
}
|
|
244
240
|
// The user has selected a standard rate and no further action is required before purchase
|
|
245
|
-
yield purchaseLabel(rateId, shipment, rate, servicePoint);
|
|
241
|
+
yield purchaseLabel(rateId, shipment, rate, servicePoint, displayScheme);
|
|
246
242
|
return;
|
|
247
243
|
} catch (e) {
|
|
248
244
|
if (Array.isArray(e)) {
|
|
@@ -4,7 +4,7 @@ var _tslib = require('../../../_virtual/_tslib.cjs');
|
|
|
4
4
|
var reactApi = require('@shipengine/react-api');
|
|
5
5
|
var date = require('../../../utilities/date.cjs');
|
|
6
6
|
var React = require('react');
|
|
7
|
-
var
|
|
7
|
+
var rateWarningMessages = require('../../../utilities/rate-warning-messages.cjs');
|
|
8
8
|
var useRequestPreferredRates = require('./use-request-preferred-rates.cjs');
|
|
9
9
|
var utils = require('../../../utilities/feature-flags/utils.cjs');
|
|
10
10
|
|
|
@@ -91,26 +91,26 @@ const useRequestRates = ({
|
|
|
91
91
|
}, [ratedShipment]);
|
|
92
92
|
const ratesCalculating = getPreferredRates ? preferredRatesCalculating || standardRatesCalculating : standardRatesCalculating;
|
|
93
93
|
ratesResponse = React.useMemo(() => ratesResponse && Object.assign(Object.assign({}, ratesResponse), {
|
|
94
|
-
rates: ratesResponse.rates.map(rate => {
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
})
|
|
101
|
-
})
|
|
94
|
+
rates: ratesResponse.rates.map(rate => Object.assign(Object.assign({}, rate), {
|
|
95
|
+
warningMessages: rateWarningMessages.buildRateWarningMessages({
|
|
96
|
+
serviceCode: rate.serviceCode,
|
|
97
|
+
packageType: rate.packageType,
|
|
98
|
+
shipDay,
|
|
99
|
+
existingWarningMessages: rate.warningMessages
|
|
100
|
+
})
|
|
101
|
+
}))
|
|
102
102
|
}), [ratesResponse, shipDay]);
|
|
103
|
-
const preferredRatesResponse = React.useMemo(() => preferredResponse && preferredResponse.map(r => {
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
})
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
}), [preferredResponse, shipDay]);
|
|
103
|
+
const preferredRatesResponse = React.useMemo(() => preferredResponse && preferredResponse.map(r => ({
|
|
104
|
+
rate: Object.assign(Object.assign({}, r.rate), {
|
|
105
|
+
warningMessages: rateWarningMessages.buildRateWarningMessages({
|
|
106
|
+
serviceCode: r.rate.serviceCode,
|
|
107
|
+
packageType: r.rate.packageType,
|
|
108
|
+
shipDay,
|
|
109
|
+
existingWarningMessages: r.rate.warningMessages
|
|
110
|
+
})
|
|
111
|
+
}),
|
|
112
|
+
rateAcknowledgementMessage: r.rateAcknowledgementMessage
|
|
113
|
+
})), [preferredResponse, shipDay]);
|
|
114
114
|
return {
|
|
115
115
|
isCalculating: ratesCalculating,
|
|
116
116
|
preferredRatesResponse,
|
|
@@ -65,7 +65,8 @@ const Component = _a => {
|
|
|
65
65
|
salesOrder,
|
|
66
66
|
refetchPendingSalesOrderShipments,
|
|
67
67
|
isLoading,
|
|
68
|
-
errors
|
|
68
|
+
errors,
|
|
69
|
+
createNewShipmentForNotFound
|
|
69
70
|
} = useConfigureShipment.useConfigureShipment({
|
|
70
71
|
errorWhenShipmentCancelled: features === null || features === void 0 ? void 0 : features.enableErrorWhenShipmentCancelled,
|
|
71
72
|
externalOrderId,
|
|
@@ -92,6 +93,8 @@ const Component = _a => {
|
|
|
92
93
|
data: shipment || salesOrder,
|
|
93
94
|
errors: errors,
|
|
94
95
|
isLoading: isLoading || insuranceIsLoading,
|
|
96
|
+
onCreateNewShipment: createNewShipmentForNotFound,
|
|
97
|
+
shipmentId: shipmentId,
|
|
95
98
|
children: jsxRuntime.jsx(configureShipment.ConfigureShipment, Object.assign({
|
|
96
99
|
currency: currency,
|
|
97
100
|
features: features,
|
|
@@ -9,6 +9,7 @@ var trackingFormatter = require('../../../../utilities/tracking-formatter.cjs');
|
|
|
9
9
|
var React = require('react');
|
|
10
10
|
var reactI18next = require('react-i18next');
|
|
11
11
|
var labelCard_styles = require('./label-card.styles.cjs');
|
|
12
|
+
var paperlessLabelDisplay = require('./paperless-label-display.cjs');
|
|
12
13
|
var serviceCard = require('../../../../components/service-card/service-card.cjs');
|
|
13
14
|
var insurancePopover = require('../../../../components/insurance-popover/insurance-popover.cjs');
|
|
14
15
|
var elementsContextProvider = require('../../../../elements-provider/elements-context-provider.cjs');
|
|
@@ -46,7 +47,8 @@ const LabelCard = ({
|
|
|
46
47
|
trackable = undefined,
|
|
47
48
|
trackingNumber = undefined,
|
|
48
49
|
trackingStatus = undefined,
|
|
49
|
-
trackingUrl = undefined
|
|
50
|
+
trackingUrl = undefined,
|
|
51
|
+
qrCodeDownload = undefined
|
|
50
52
|
} = !displayAsVoided ? label : {};
|
|
51
53
|
const carrierCode = carrier === null || carrier === void 0 ? void 0 : carrier.carrierCode;
|
|
52
54
|
const carrierFriendlyName = carrier === null || carrier === void 0 ? void 0 : carrier.friendlyName;
|
|
@@ -144,6 +146,18 @@ const LabelCard = ({
|
|
|
144
146
|
shippingAmount,
|
|
145
147
|
showExtendedData: selected
|
|
146
148
|
};
|
|
149
|
+
const paperlessDownloadProps = React.useMemo(() => {
|
|
150
|
+
// USPS paperless labels populate the qrCodeDownload property instead of paperlessDownload, use qrCodeDownload href if available and paperlessDownload is empty
|
|
151
|
+
if (!paperlessDownload || Object.keys(paperlessDownload).length === 0) {
|
|
152
|
+
if (qrCodeDownload && qrCodeDownload.href) {
|
|
153
|
+
return {
|
|
154
|
+
href: qrCodeDownload.href
|
|
155
|
+
};
|
|
156
|
+
}
|
|
157
|
+
return undefined;
|
|
158
|
+
}
|
|
159
|
+
return paperlessDownload;
|
|
160
|
+
}, [paperlessDownload, qrCodeDownload]);
|
|
147
161
|
return jsxRuntime.jsxs(serviceCard.ServiceCardContainer, {
|
|
148
162
|
selected: selected,
|
|
149
163
|
voided: displayAsVoided,
|
|
@@ -160,36 +174,7 @@ const LabelCard = ({
|
|
|
160
174
|
},
|
|
161
175
|
voided: displayAsVoided,
|
|
162
176
|
children: trackable && jsxRuntime.jsx(TrackingNumberDisplay, {})
|
|
163
|
-
}),
|
|
164
|
-
css: labelCard_styles.styles.paperlessDownloadwrapper,
|
|
165
|
-
children: [jsxRuntime.jsxs("div", {
|
|
166
|
-
css: labelCard_styles.styles.codewrapper,
|
|
167
|
-
children: [jsxRuntime.jsx("img", {
|
|
168
|
-
alt: "paperless code",
|
|
169
|
-
css: labelCard_styles.styles.codeImage,
|
|
170
|
-
src: paperlessDownload === null || paperlessDownload === void 0 ? void 0 : paperlessDownload.href
|
|
171
|
-
}), jsxRuntime.jsx("div", {
|
|
172
|
-
css: labelCard_styles.styles.handoffCode,
|
|
173
|
-
children: paperlessDownload === null || paperlessDownload === void 0 ? void 0 : paperlessDownload.handoffCode.toString()
|
|
174
|
-
}), jsxRuntime.jsxs(giger.Next.Link, {
|
|
175
|
-
buttonProps: {
|
|
176
|
-
variant: giger.ButtonVariant.OUTLINED
|
|
177
|
-
},
|
|
178
|
-
css: labelCard_styles.styles.button,
|
|
179
|
-
download: true,
|
|
180
|
-
href: paperlessDownload === null || paperlessDownload === void 0 ? void 0 : paperlessDownload.href,
|
|
181
|
-
isButton: true,
|
|
182
|
-
children: [jsxRuntime.jsx(giger.Icon, {
|
|
183
|
-
name: gigerTheme.IconNames.PRINTER,
|
|
184
|
-
size: giger.IconSize.SIZE_SMALL
|
|
185
|
-
}), jsxRuntime.jsx("span", {
|
|
186
|
-
children: t("view-shipment:actions.download")
|
|
187
|
-
})]
|
|
188
|
-
})]
|
|
189
|
-
}), jsxRuntime.jsx(giger.Typography, {
|
|
190
|
-
children: paperlessDownload === null || paperlessDownload === void 0 ? void 0 : paperlessDownload.instructions
|
|
191
|
-
})]
|
|
192
|
-
}), showFooter && jsxRuntime.jsx(serviceCard.ServiceCardFooter, {
|
|
177
|
+
}), paperlessDownloadProps && "href" in paperlessDownloadProps && jsxRuntime.jsx(paperlessLabelDisplay.PaperlessLabelDisplay, Object.assign({}, paperlessDownloadProps)), showFooter && jsxRuntime.jsx(serviceCard.ServiceCardFooter, {
|
|
193
178
|
messages: labelMessages
|
|
194
179
|
})]
|
|
195
180
|
});
|
|
@@ -3,31 +3,12 @@
|
|
|
3
3
|
var styles$1 = require('../../../../utilities/styles.cjs');
|
|
4
4
|
|
|
5
5
|
const styles = styles$1.createStyles({
|
|
6
|
-
button: () => ({
|
|
7
|
-
cursor: "pointer"
|
|
8
|
-
}),
|
|
9
|
-
codeImage: () => ({
|
|
10
|
-
height: "120px",
|
|
11
|
-
maxWidth: "200px",
|
|
12
|
-
width: "auto"
|
|
13
|
-
}),
|
|
14
|
-
codewrapper: () => ({
|
|
15
|
-
alignItems: "center",
|
|
16
|
-
display: "flex",
|
|
17
|
-
flexDirection: "column"
|
|
18
|
-
}),
|
|
19
|
-
handoffCode: theme => ({
|
|
20
|
-
margin: `${styles$1.scopeTheme(theme).spacing(2)}px 0`
|
|
21
|
-
}),
|
|
22
6
|
insuranceInfoIcon: theme => ({
|
|
23
7
|
":hover": {
|
|
24
8
|
cursor: "pointer"
|
|
25
9
|
},
|
|
26
10
|
marginLeft: styles$1.scopeTheme(theme).spacing(0.5)
|
|
27
11
|
}),
|
|
28
|
-
paperlessDownloadwrapper: theme => ({
|
|
29
|
-
padding: styles$1.scopeTheme(theme).spacing(2)
|
|
30
|
-
}),
|
|
31
12
|
trackingNumber: () => ({
|
|
32
13
|
maxWidth: "100%",
|
|
33
14
|
overflow: "hidden",
|
package/dist/cjs/elements/shipment-summary/components/label-display/paperless-label-display.cjs
ADDED
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
var jsxRuntime = require('@emotion/react/jsx-runtime');
|
|
4
|
+
var giger = require('@shipengine/giger');
|
|
5
|
+
var gigerTheme = require('@shipengine/giger-theme');
|
|
6
|
+
var reactI18next = require('react-i18next');
|
|
7
|
+
var paperlessLabelDisplay_styles = require('./paperless-label-display.styles.cjs');
|
|
8
|
+
var spacer = require('../../../../components/spacer/spacer.cjs');
|
|
9
|
+
|
|
10
|
+
const PaperlessLabelDisplay = ({
|
|
11
|
+
handoffCode,
|
|
12
|
+
href,
|
|
13
|
+
instructions
|
|
14
|
+
}) => {
|
|
15
|
+
const {
|
|
16
|
+
t
|
|
17
|
+
} = reactI18next.useTranslation();
|
|
18
|
+
return jsxRuntime.jsxs("div", {
|
|
19
|
+
css: paperlessLabelDisplay_styles.styles.paperlessDownloadwrapper,
|
|
20
|
+
children: [jsxRuntime.jsxs("div", {
|
|
21
|
+
css: paperlessLabelDisplay_styles.styles.codewrapper,
|
|
22
|
+
children: [jsxRuntime.jsx("img", {
|
|
23
|
+
alt: "paperless code",
|
|
24
|
+
css: paperlessLabelDisplay_styles.styles.codeImage,
|
|
25
|
+
src: href
|
|
26
|
+
}), handoffCode && jsxRuntime.jsx("div", {
|
|
27
|
+
css: paperlessLabelDisplay_styles.styles.handoffCode,
|
|
28
|
+
children: handoffCode
|
|
29
|
+
}), jsxRuntime.jsxs(giger.Next.Link, {
|
|
30
|
+
buttonProps: {
|
|
31
|
+
variant: giger.ButtonVariant.OUTLINED
|
|
32
|
+
},
|
|
33
|
+
css: paperlessLabelDisplay_styles.styles.button,
|
|
34
|
+
download: true,
|
|
35
|
+
href: href,
|
|
36
|
+
isButton: true,
|
|
37
|
+
children: [jsxRuntime.jsx(giger.Icon, {
|
|
38
|
+
name: gigerTheme.IconNames.PRINTER,
|
|
39
|
+
size: giger.IconSize.SIZE_SMALL
|
|
40
|
+
}), jsxRuntime.jsx("span", {
|
|
41
|
+
children: t("view-shipment:actions.download")
|
|
42
|
+
})]
|
|
43
|
+
})]
|
|
44
|
+
}), instructions && jsxRuntime.jsxs(jsxRuntime.Fragment, {
|
|
45
|
+
children: [jsxRuntime.jsx(spacer.Spacer, {
|
|
46
|
+
multiplier: 2
|
|
47
|
+
}), " ", jsxRuntime.jsx(giger.Typography, {
|
|
48
|
+
children: instructions
|
|
49
|
+
})]
|
|
50
|
+
})]
|
|
51
|
+
});
|
|
52
|
+
};
|
|
53
|
+
|
|
54
|
+
exports.PaperlessLabelDisplay = PaperlessLabelDisplay;
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
var styles$1 = require('../../../../utilities/styles.cjs');
|
|
4
|
+
|
|
5
|
+
const styles = styles$1.createStyles({
|
|
6
|
+
button: () => ({
|
|
7
|
+
cursor: "pointer"
|
|
8
|
+
}),
|
|
9
|
+
codeImage: () => ({
|
|
10
|
+
height: "120px",
|
|
11
|
+
maxWidth: "200px",
|
|
12
|
+
width: "auto"
|
|
13
|
+
}),
|
|
14
|
+
codewrapper: () => ({
|
|
15
|
+
alignItems: "center",
|
|
16
|
+
display: "flex",
|
|
17
|
+
flexDirection: "column"
|
|
18
|
+
}),
|
|
19
|
+
handoffCode: theme => ({
|
|
20
|
+
margin: `${styles$1.scopeTheme(theme).spacing(2)}px 0`
|
|
21
|
+
}),
|
|
22
|
+
paperlessDownloadwrapper: theme => ({
|
|
23
|
+
padding: styles$1.scopeTheme(theme).spacing(2)
|
|
24
|
+
})
|
|
25
|
+
});
|
|
26
|
+
|
|
27
|
+
exports.styles = styles;
|