@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
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import { createStyles, scopeTheme } from '../../../../../utilities/styles.js';
|
|
2
|
+
|
|
3
|
+
const borderRadius = "7px";
|
|
4
|
+
const styles = createStyles({
|
|
5
|
+
attribute: theme => ({
|
|
6
|
+
color: scopeTheme(theme).palette.white,
|
|
7
|
+
padding: `2px ${scopeTheme(theme).spacing()}px`,
|
|
8
|
+
backgroundColor: scopeTheme(theme).palette.info.main,
|
|
9
|
+
display: "flex",
|
|
10
|
+
alignItems: "center",
|
|
11
|
+
":first-of-type": {
|
|
12
|
+
borderTopLeftRadius: borderRadius,
|
|
13
|
+
borderBottomRightRadius: borderRadius
|
|
14
|
+
},
|
|
15
|
+
":not(:first-of-type)": {
|
|
16
|
+
borderBottomLeftRadius: borderRadius,
|
|
17
|
+
borderBottomRightRadius: borderRadius
|
|
18
|
+
}
|
|
19
|
+
}),
|
|
20
|
+
attributeIcon: theme => ({
|
|
21
|
+
marginLeft: scopeTheme(theme).spacing(0.5)
|
|
22
|
+
})
|
|
23
|
+
});
|
|
24
|
+
|
|
25
|
+
export { styles };
|
|
@@ -6,6 +6,7 @@ import { useMemo } from 'react';
|
|
|
6
6
|
import { useTranslation, Trans } from 'react-i18next';
|
|
7
7
|
import { ServiceCardContainer, ServiceCardHeader, ServiceCardFooter } from '../../../service-card/service-card.js';
|
|
8
8
|
import { styles } from './rate-card.styles.js';
|
|
9
|
+
import { RateAttributeItem } from './rate-attribute-item/rate-attribute-item.js';
|
|
9
10
|
import { ServicePoints } from '../../../service-points/service-points.js';
|
|
10
11
|
|
|
11
12
|
const getDeliveryDaysLabel = deliveryDays => {
|
|
@@ -85,6 +86,7 @@ const RateCard = ({
|
|
|
85
86
|
onPaperlessAcknowledgementChange,
|
|
86
87
|
onSelectServicePoint,
|
|
87
88
|
otherAmount,
|
|
89
|
+
rateAttributes,
|
|
88
90
|
rateId,
|
|
89
91
|
requiresAcknowledgement,
|
|
90
92
|
rateAcknowledgementMessage,
|
|
@@ -160,47 +162,56 @@ const RateCard = ({
|
|
|
160
162
|
className: className,
|
|
161
163
|
onClick: onRateCardClick,
|
|
162
164
|
selected: selected,
|
|
163
|
-
children: [
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
css: styles.
|
|
173
|
-
children: jsx(
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
|
|
202
|
-
|
|
203
|
-
|
|
165
|
+
children: [!!(rateAttributes === null || rateAttributes === void 0 ? void 0 : rateAttributes.length) && jsx("ul", {
|
|
166
|
+
css: styles.attributeList,
|
|
167
|
+
children: rateAttributes.map((attr, index) => jsx(RateAttributeItem, {
|
|
168
|
+
attribute: attr,
|
|
169
|
+
tooltipId: `rate-attribute-tooltip-${rateId}-${index}`
|
|
170
|
+
}, attr))
|
|
171
|
+
}), jsxs("div", {
|
|
172
|
+
children: [isPreferredRate && jsx("section", {
|
|
173
|
+
"aria-label": "Rate Savings",
|
|
174
|
+
css: styles.rateSavingsSection,
|
|
175
|
+
children: rateSavings ? jsx("div", {
|
|
176
|
+
css: styles.rateSavings,
|
|
177
|
+
children: t("purchase-label:rates.rateSavings", {
|
|
178
|
+
amount: rateSavings
|
|
179
|
+
})
|
|
180
|
+
}) : selected ? jsx("div", {
|
|
181
|
+
css: styles.rateSavings,
|
|
182
|
+
children: jsx(Icon, {
|
|
183
|
+
name: IconNames.CHECK_MARK,
|
|
184
|
+
size: IconSize.SIZE_SMALL
|
|
185
|
+
})
|
|
186
|
+
}) : null
|
|
187
|
+
}), jsx(ServiceCardHeader, {
|
|
188
|
+
carrierCode: carrierCode,
|
|
189
|
+
carrierFriendlyName: carrierFriendlyName,
|
|
190
|
+
costBreakdownProps: costBreakdownCommonProps,
|
|
191
|
+
hasRateAttributes: !!(rateAttributes === null || rateAttributes === void 0 ? void 0 : rateAttributes.length),
|
|
192
|
+
rateDetailsProps: showRateDetails ? {
|
|
193
|
+
rateDetails
|
|
194
|
+
} : undefined,
|
|
195
|
+
rightContentCss: Object.assign({}, (isPreferredRate && rateSavings || selected && isPreferredRate) && {
|
|
196
|
+
paddingTop: "1rem"
|
|
197
|
+
}),
|
|
198
|
+
serviceInfo: {
|
|
199
|
+
line1: carrierNickname,
|
|
200
|
+
line2: getDeliveryDaysLabel(deliveryDays),
|
|
201
|
+
line3: paperlessDisplaySchemes && paperlessDisplaySchemes.length > 0 ? jsxs("div", {
|
|
202
|
+
"aria-label": t("purchase-label:paperlessAvailable"),
|
|
203
|
+
css: styles.paperlessText,
|
|
204
|
+
children: [jsx(Icon, {
|
|
205
|
+
name: IconNames.SCAN_QR,
|
|
206
|
+
size: IconSize.SIZE_MEDIUM
|
|
207
|
+
}), jsx(Typography, {
|
|
208
|
+
variant: "small",
|
|
209
|
+
children: t("purchase-label:paperlessAvailable")
|
|
210
|
+
})]
|
|
211
|
+
}) : undefined,
|
|
212
|
+
type: serviceType
|
|
213
|
+
}
|
|
214
|
+
})]
|
|
204
215
|
}), servicePoints && jsxs(Fragment, {
|
|
205
216
|
children: [jsx(Divider, {
|
|
206
217
|
css: styles.divider
|
|
@@ -229,7 +240,7 @@ const RateCard = ({
|
|
|
229
240
|
"data-testid": "paperless-acknowledgement",
|
|
230
241
|
label: t("purchase-label:usePaperlessLabel"),
|
|
231
242
|
onChange: e => {
|
|
232
|
-
onPaperlessAcknowledgementChange === null || onPaperlessAcknowledgementChange === void 0 ? void 0 : onPaperlessAcknowledgementChange(e.target.checked, "qr_code");
|
|
243
|
+
onPaperlessAcknowledgementChange === null || onPaperlessAcknowledgementChange === void 0 ? void 0 : onPaperlessAcknowledgementChange(e.target.checked, e.target.checked ? "qr_code" : "label");
|
|
233
244
|
}
|
|
234
245
|
})]
|
|
235
246
|
})]
|
|
@@ -6,6 +6,10 @@ const styles = createStyles({
|
|
|
6
6
|
color: scopeTheme(theme).palette.gray.main,
|
|
7
7
|
display: "flex"
|
|
8
8
|
}),
|
|
9
|
+
attributeList: theme => ({
|
|
10
|
+
display: "flex",
|
|
11
|
+
gap: scopeTheme(theme).spacing(0.5)
|
|
12
|
+
}),
|
|
9
13
|
divider: theme => ({
|
|
10
14
|
borderColor: scopeTheme(theme).palette.primary.main,
|
|
11
15
|
margin: "0 auto",
|
|
@@ -15,6 +15,37 @@ const optionWithEnabledData = option => {
|
|
|
15
15
|
const optionWithEnabledData = __rest(option, ["carrierNickname"]);
|
|
16
16
|
return optionWithEnabledData;
|
|
17
17
|
};
|
|
18
|
+
/**
|
|
19
|
+
* Helper function to determine the priority of a rate attribute
|
|
20
|
+
* Priority order: best_value (0) > cheapest (1) > fastest (2) > none (3)
|
|
21
|
+
*/
|
|
22
|
+
const getAttributePriority = rateAttributes => {
|
|
23
|
+
if (!rateAttributes) return 3;
|
|
24
|
+
if (rateAttributes.includes("best_value")) return 0;
|
|
25
|
+
if (rateAttributes.includes("cheapest")) return 1;
|
|
26
|
+
if (rateAttributes.includes("fastest")) return 2;
|
|
27
|
+
return 3;
|
|
28
|
+
};
|
|
29
|
+
/**
|
|
30
|
+
* Sorts rates by their attributes, placing rates with special attributes first
|
|
31
|
+
* Sort order: best_value > cheapest > fastest > remaining rates
|
|
32
|
+
*/
|
|
33
|
+
const sortRatesByAttributes = rates => {
|
|
34
|
+
const ratesWithAttributes = rates.filter(rate => {
|
|
35
|
+
var _a;
|
|
36
|
+
return !!((_a = rate.rateAttributes) === null || _a === void 0 ? void 0 : _a.length);
|
|
37
|
+
});
|
|
38
|
+
const ratesWithoutAttributes = rates.filter(rate => {
|
|
39
|
+
var _a;
|
|
40
|
+
return !((_a = rate.rateAttributes) === null || _a === void 0 ? void 0 : _a.length);
|
|
41
|
+
});
|
|
42
|
+
ratesWithAttributes.sort((a, b) => {
|
|
43
|
+
const priorityA = getAttributePriority(a.rateAttributes);
|
|
44
|
+
const priorityB = getAttributePriority(b.rateAttributes);
|
|
45
|
+
return priorityA - priorityB;
|
|
46
|
+
});
|
|
47
|
+
return [...ratesWithAttributes, ...ratesWithoutAttributes];
|
|
48
|
+
};
|
|
18
49
|
const RateSelect = _a => {
|
|
19
50
|
var {
|
|
20
51
|
nicknameFeature,
|
|
@@ -35,58 +66,58 @@ const RateSelect = _a => {
|
|
|
35
66
|
options
|
|
36
67
|
} = _a,
|
|
37
68
|
field = __rest(_a, ["options"]);
|
|
69
|
+
// Sort rates by attributes: best_value > cheapest > fastest > remaining
|
|
70
|
+
const sortedOptions = options ? sortRatesByAttributes(options) : [];
|
|
38
71
|
return jsx("div", {
|
|
39
72
|
"aria-label": "Rate Selection",
|
|
40
73
|
role: "radiogroup",
|
|
41
|
-
children:
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
}));
|
|
89
|
-
})
|
|
74
|
+
children: sortedOptions.map(option => createElement(RateCard, Object.assign({
|
|
75
|
+
mapViewEnabled: mapViewEnabled
|
|
76
|
+
}, optionWithEnabledData(option), {
|
|
77
|
+
carrierNickname: nicknameFeature ? option.carrierNickname || `ID: ${option.carrierId}` : undefined,
|
|
78
|
+
css: styles.rateCardOptionStyles,
|
|
79
|
+
isAcknowledged: field.value.isAcknowledged,
|
|
80
|
+
isLoading: isLoading,
|
|
81
|
+
isPreferredRate: preferredServiceCodes && preferredServiceCodes.includes(option.serviceCode),
|
|
82
|
+
key: option.rateId,
|
|
83
|
+
onClick: rateId => {
|
|
84
|
+
var _a;
|
|
85
|
+
onClick === null || onClick === void 0 ? void 0 : onClick(rateId);
|
|
86
|
+
// if the rate supports "label_and_paperless" display scheme, use it by default
|
|
87
|
+
if ((_a = option.paperlessDisplaySchemes) === null || _a === void 0 ? void 0 : _a.includes("label_and_paperless")) {
|
|
88
|
+
field.onChange({
|
|
89
|
+
usePaperlessLabel: true,
|
|
90
|
+
labelDisplayScheme: "label_and_paperless",
|
|
91
|
+
isAcknowledged: !option.requiresAcknowledgement,
|
|
92
|
+
rateId
|
|
93
|
+
});
|
|
94
|
+
} else {
|
|
95
|
+
field.onChange({
|
|
96
|
+
isAcknowledged: !option.requiresAcknowledgement,
|
|
97
|
+
rateId
|
|
98
|
+
});
|
|
99
|
+
}
|
|
100
|
+
setSelectedRateCost(getTotalRateAmount(option));
|
|
101
|
+
},
|
|
102
|
+
onClickAcknowledgement: isAcknowledged => field.onChange(Object.assign(Object.assign({}, field.value), {
|
|
103
|
+
isAcknowledged
|
|
104
|
+
})),
|
|
105
|
+
onPaperlessAcknowledgementChange: (usePaperless, labelDisplayScheme) => {
|
|
106
|
+
field.onChange(Object.assign(Object.assign({}, field.value), {
|
|
107
|
+
usePaperlessLabel: usePaperless,
|
|
108
|
+
labelDisplayScheme
|
|
109
|
+
}));
|
|
110
|
+
onPaperlessAcknowledgementChange === null || onPaperlessAcknowledgementChange === void 0 ? void 0 : onPaperlessAcknowledgementChange(usePaperless, labelDisplayScheme);
|
|
111
|
+
},
|
|
112
|
+
onSelectServicePoint: onSelectServicePoint,
|
|
113
|
+
paperlessDisplaySchemes: option.paperlessDisplaySchemes,
|
|
114
|
+
paperlessLabelChecked: field.value.usePaperlessLabel,
|
|
115
|
+
rateDetails: option.rateDetails,
|
|
116
|
+
selected: option.rateId === field.value.rateId,
|
|
117
|
+
selectedRateCost: selectedRateCost,
|
|
118
|
+
servicePoints: option.servicePoints,
|
|
119
|
+
showVatFeatures: showVatFeatures
|
|
120
|
+
})))
|
|
90
121
|
});
|
|
91
122
|
}
|
|
92
123
|
}));
|
|
@@ -71,7 +71,7 @@ const RegisterFundingSourceInsuranceForm = ({
|
|
|
71
71
|
children: [t(`sections.insuranceProviders.${insuranceProviderProfile === null || insuranceProviderProfile === void 0 ? void 0 : insuranceProviderProfile.provider}.terms`), jsxs(Link, {
|
|
72
72
|
"aria-label": "Opens in a new tab",
|
|
73
73
|
css: styles.termsLink,
|
|
74
|
-
href: insuranceProviderProfile === null || insuranceProviderProfile === void 0 ? void 0 : insuranceProviderProfile.terms.links[0].link,
|
|
74
|
+
href: insuranceProviderProfile === null || insuranceProviderProfile === void 0 ? void 0 : insuranceProviderProfile.terms[0].links[0].link,
|
|
75
75
|
isExternal: true,
|
|
76
76
|
rel: "noreferrer",
|
|
77
77
|
target: "_blank",
|
|
@@ -97,13 +97,22 @@ const WarehouseForm = ({
|
|
|
97
97
|
form: form,
|
|
98
98
|
formatFieldName: fieldName => `originAddress.${fieldName}`,
|
|
99
99
|
optionalFields: ["addressLine2", ...(requireEmail ? [] : ["email"])]
|
|
100
|
-
}), !shouldForceDefault
|
|
100
|
+
}), !shouldForceDefault ? jsx(CheckboxInput, {
|
|
101
101
|
ariaLabel: "Is Default Warehouse",
|
|
102
102
|
checkboxLabel: t("manage-warehouses:isDefault"),
|
|
103
103
|
control: form.control,
|
|
104
104
|
form: formId,
|
|
105
105
|
label: "isDefault",
|
|
106
106
|
name: "isDefault"
|
|
107
|
+
}) : jsx(CheckboxInput, {
|
|
108
|
+
ariaLabel: "Is Default Warehouse",
|
|
109
|
+
checkboxLabel: warehouse ? t("manage-warehouses:forcedDefault") : t("manage-warehouses:forcedDefaultNew"),
|
|
110
|
+
control: form.control,
|
|
111
|
+
defaultValue: true,
|
|
112
|
+
disabled: true,
|
|
113
|
+
form: formId,
|
|
114
|
+
label: "isDefault",
|
|
115
|
+
name: "isDefault"
|
|
107
116
|
}), jsx(CheckboxInput, {
|
|
108
117
|
ariaLabel: "Return To Address Is Different",
|
|
109
118
|
checkboxLabel: t("manage-warehouses:returnToAddressIsDifferent"),
|
|
@@ -35,7 +35,8 @@ const ServiceCardHeader = ({
|
|
|
35
35
|
rateDetailsProps,
|
|
36
36
|
costBreakdownProps,
|
|
37
37
|
rightContentCss,
|
|
38
|
-
voided
|
|
38
|
+
voided,
|
|
39
|
+
hasRateAttributes
|
|
39
40
|
}) => {
|
|
40
41
|
const {
|
|
41
42
|
type,
|
|
@@ -46,7 +47,7 @@ const ServiceCardHeader = ({
|
|
|
46
47
|
return jsxs("div", {
|
|
47
48
|
"data-testid": "service-card-header",
|
|
48
49
|
children: [jsxs("section", {
|
|
49
|
-
css: styles.
|
|
50
|
+
css: styles.getSectionStyles(hasRateAttributes),
|
|
50
51
|
children: [carrierCode && jsx("div", {
|
|
51
52
|
css: styles.carrierImage,
|
|
52
53
|
children: jsx(CarrierIcon, {
|
|
@@ -45,12 +45,14 @@ const styles = createStyles({
|
|
|
45
45
|
headerChildren: theme => ({
|
|
46
46
|
padding: `${scopeTheme(theme).spacing(0)}px ${scopeTheme(theme).spacing(2)}px ${scopeTheme(theme).spacing(2)}px ${scopeTheme(theme).spacing(2)}px`
|
|
47
47
|
}),
|
|
48
|
-
|
|
48
|
+
getSectionStyles: hasRateAttributes => theme => Object.assign({
|
|
49
49
|
alignItems: "flex-start",
|
|
50
50
|
display: "flex",
|
|
51
51
|
flexDirection: "row",
|
|
52
52
|
flexWrap: "nowrap",
|
|
53
|
-
padding: scopeTheme(theme).spacing(
|
|
53
|
+
padding: scopeTheme(theme).spacing(1.5)
|
|
54
|
+
}, hasRateAttributes && {
|
|
55
|
+
paddingTop: scopeTheme(theme).spacing(0.75)
|
|
54
56
|
}),
|
|
55
57
|
serviceInfo: theme => ({
|
|
56
58
|
display: "flex",
|
|
@@ -2,13 +2,18 @@ var parcelguard_terms = {
|
|
|
2
2
|
friendlyName: "ParcelGuard",
|
|
3
3
|
provider: "parcelguard"
|
|
4
4
|
};
|
|
5
|
-
var
|
|
5
|
+
var xcover_terms = {
|
|
6
6
|
friendlyName: "XCover",
|
|
7
|
-
provider: "
|
|
7
|
+
provider: "xcover"
|
|
8
|
+
};
|
|
9
|
+
var xcover_information = {
|
|
10
|
+
friendlyName: "XCover",
|
|
11
|
+
provider: "xcover"
|
|
8
12
|
};
|
|
9
13
|
var _insuranceProviderMetadata = {
|
|
10
14
|
parcelguard_terms: parcelguard_terms,
|
|
11
|
-
|
|
15
|
+
xcover_terms: xcover_terms,
|
|
16
|
+
xcover_information: xcover_information
|
|
12
17
|
};
|
|
13
18
|
|
|
14
|
-
export { _insuranceProviderMetadata as default, parcelguard_terms,
|
|
19
|
+
export { _insuranceProviderMetadata as default, parcelguard_terms, xcover_information, xcover_terms };
|