@shipengine/elements 2.27.0 → 2.29.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/components/field/rate-select/rate-card/rate-card.cjs +1 -0
- package/dist/cjs/components/forms/edit-billing-form/edit-billing-form.cjs +87 -12
- package/dist/cjs/components/forms/edit-billing-form/edit-billing-form.styles.cjs +15 -0
- package/dist/cjs/components/forms/wallet-form/index.cjs +0 -2
- package/dist/cjs/components/forms/wallet-form/wallet-form.cjs +153 -23
- package/dist/cjs/components/forms/wallet-form/wallet-form.styles.cjs +15 -0
- package/dist/cjs/components/forms/wallet-form/wallet-schema.cjs +8 -43
- package/dist/cjs/components/forms/warehouse-form/warehouse-form.cjs +10 -1
- package/dist/cjs/components/payment/payment-method-selector/index.cjs +7 -0
- package/dist/cjs/components/payment/payment-method-selector/payment-method-selector.cjs +55 -0
- package/dist/cjs/components/payment/payment-method-selector/payment-method-selector.styles.cjs +58 -0
- 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/contexts/auctane-pay-session-context.cjs +158 -0
- package/dist/cjs/contexts/index.cjs +8 -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/purchase-label/components/rate-form/rate-view.cjs +3 -5
- package/dist/cjs/elements/purchase-label/components/shipment-form/shipment-form.cjs +3 -1
- package/dist/cjs/elements/purchase-label/hooks/use-filter-visible-rate-options/use-filter-visible-rate-options.cjs +5 -5
- 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/features/manage-warehouses/manage-warehouses.cjs +9 -5
- package/dist/cjs/features/payment-method-settings/payment-method-settings.cjs +4 -3
- package/dist/cjs/hooks/financial-services/financial-service.cjs +464 -0
- package/dist/cjs/hooks/financial-services/index.cjs +9 -0
- package/dist/cjs/hooks/financial-services/use-financial-service.cjs +188 -0
- package/dist/cjs/hooks/use-configure-shipment.cjs +8 -0
- package/dist/cjs/hooks/use-get-service-data.cjs +60 -0
- 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/register-wallet.json.cjs +5 -0
- package/dist/cjs/package.json.cjs +1 -1
- package/dist/cjs/utilities/feature-flags/feature-flags.cjs +2 -1
- package/dist/cjs/workflows/onboarding/components/confirmation-and-submission-step/confirmation-and-submission-step.cjs +16 -5
- package/dist/cjs/workflows/onboarding/components/confirmation-and-submission-step/use-confirmation-and-submission-step.cjs +6 -6
- package/dist/cjs/workflows/onboarding/components/funding-step/funding-step.cjs +7 -3
- package/dist/cjs/workflows/onboarding/components/ship-from-address-step/ship-from-address-step.cjs +1 -1
- package/dist/cjs/workflows/onboarding/onboarding.cjs +8 -5
- package/dist/esm/components/field/rate-select/rate-card/rate-card.js +1 -0
- package/dist/esm/components/forms/edit-billing-form/edit-billing-form.js +88 -13
- package/dist/esm/components/forms/edit-billing-form/edit-billing-form.styles.js +15 -0
- package/dist/esm/components/forms/wallet-form/index.js +0 -1
- package/dist/esm/components/forms/wallet-form/wallet-form.js +155 -25
- package/dist/esm/components/forms/wallet-form/wallet-form.styles.js +15 -0
- package/dist/esm/components/forms/wallet-form/wallet-schema.js +1 -36
- package/dist/esm/components/forms/warehouse-form/warehouse-form.js +10 -1
- package/dist/esm/components/payment/payment-method-selector/index.js +1 -0
- package/dist/esm/components/payment/payment-method-selector/payment-method-selector.js +53 -0
- package/dist/esm/components/payment/payment-method-selector/payment-method-selector.styles.js +56 -0
- 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/contexts/auctane-pay-session-context.js +155 -0
- package/dist/esm/contexts/index.js +1 -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/purchase-label/components/rate-form/rate-view.js +3 -5
- package/dist/esm/elements/purchase-label/components/shipment-form/shipment-form.js +3 -1
- package/dist/esm/elements/purchase-label/hooks/use-filter-visible-rate-options/use-filter-visible-rate-options.js +5 -5
- 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/features/manage-warehouses/manage-warehouses.js +9 -5
- package/dist/esm/features/payment-method-settings/payment-method-settings.js +5 -4
- package/dist/esm/hooks/financial-services/financial-service.js +462 -0
- package/dist/esm/hooks/financial-services/index.js +2 -0
- package/dist/esm/hooks/financial-services/use-financial-service.js +186 -0
- package/dist/esm/hooks/use-configure-shipment.js +8 -0
- package/dist/esm/hooks/use-get-service-data.js +58 -0
- 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/register-wallet.json.js +5 -0
- package/dist/esm/package.json.js +1 -1
- package/dist/esm/utilities/feature-flags/feature-flags.js +2 -1
- package/dist/esm/workflows/onboarding/components/confirmation-and-submission-step/confirmation-and-submission-step.js +16 -5
- package/dist/esm/workflows/onboarding/components/confirmation-and-submission-step/use-confirmation-and-submission-step.js +6 -6
- package/dist/esm/workflows/onboarding/components/funding-step/funding-step.js +7 -3
- package/dist/esm/workflows/onboarding/components/ship-from-address-step/ship-from-address-step.js +1 -1
- package/dist/esm/workflows/onboarding/onboarding.js +8 -5
- package/dist/types/components/address-preference-context/address-preference-context.d.ts +0 -1
- package/dist/types/components/address-preference-context/address-preference-context.d.ts.map +1 -1
- package/dist/types/components/field/rate-select/rate-card/rate-card.d.ts.map +1 -1
- package/dist/types/components/forms/edit-billing-form/edit-billing-form.d.ts +2 -2
- package/dist/types/components/forms/edit-billing-form/edit-billing-form.d.ts.map +1 -1
- package/dist/types/components/forms/edit-billing-form/edit-billing-form.styles.d.ts +14 -0
- package/dist/types/components/forms/edit-billing-form/edit-billing-form.styles.d.ts.map +1 -1
- package/dist/types/components/forms/wallet-form/index.d.ts +0 -1
- package/dist/types/components/forms/wallet-form/index.d.ts.map +1 -1
- package/dist/types/components/forms/wallet-form/wallet-form.d.ts +4 -1
- package/dist/types/components/forms/wallet-form/wallet-form.d.ts.map +1 -1
- package/dist/types/components/forms/wallet-form/wallet-form.styles.d.ts +14 -0
- package/dist/types/components/forms/wallet-form/wallet-form.styles.d.ts.map +1 -1
- package/dist/types/components/forms/wallet-form/wallet-schema.d.ts +3 -43
- package/dist/types/components/forms/wallet-form/wallet-schema.d.ts.map +1 -1
- package/dist/types/components/forms/warehouse-form/warehouse-form.d.ts.map +1 -1
- package/dist/types/components/payment/payment-method-selector/index.d.ts +2 -0
- package/dist/types/components/payment/payment-method-selector/index.d.ts.map +1 -0
- package/dist/types/components/payment/payment-method-selector/payment-method-selector.d.ts +11 -0
- package/dist/types/components/payment/payment-method-selector/payment-method-selector.d.ts.map +1 -0
- package/dist/types/components/payment/payment-method-selector/payment-method-selector.styles.d.ts +52 -0
- package/dist/types/components/payment/payment-method-selector/payment-method-selector.styles.d.ts.map +1 -0
- 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/contexts/auctane-pay-session-context.d.ts +54 -0
- package/dist/types/contexts/auctane-pay-session-context.d.ts.map +1 -0
- package/dist/types/contexts/index.d.ts +3 -0
- package/dist/types/contexts/index.d.ts.map +1 -0
- package/dist/types/elements/customs-form/customs-form-element.d.ts +10 -2
- package/dist/types/elements/customs-form/customs-form-element.d.ts.map +1 -1
- package/dist/types/elements/labels-grid/labels-grid.d.ts +10 -2
- 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 +10 -2
- 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 +10 -2
- 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 +10 -2
- package/dist/types/elements/manage-funding/manage-funding-element.d.ts.map +1 -1
- package/dist/types/elements/manage-warehouses/manage-warehouses.d.ts +10 -2
- 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 +10 -2
- 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-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 +2 -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/purchase-label.d.ts +10 -2
- 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 +10 -2
- 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 +10 -2
- package/dist/types/elements/shipment-summary/shipment-summary.d.ts.map +1 -1
- package/dist/types/elements/shipments-grid/shipments-grid.d.ts +10 -2
- 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 +10 -2
- package/dist/types/elements/theme-creator/theme-creator.d.ts.map +1 -1
- package/dist/types/elements/transaction-history/transaction-history-element.d.ts +10 -2
- 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 +10 -2
- 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 +10 -2
- package/dist/types/elements/vat-settings/vat-settings-element.d.ts.map +1 -1
- package/dist/types/elements/void-label/void-label.d.ts +10 -2
- package/dist/types/elements/void-label/void-label.d.ts.map +1 -1
- package/dist/types/elements-provider/elements-provider.d.ts.map +1 -1
- package/dist/types/features/manage-warehouses/manage-warehouses.d.ts.map +1 -1
- package/dist/types/features/payment-method-settings/payment-method-settings.d.ts.map +1 -1
- package/dist/types/hooks/financial-services/financial-service.d.ts +279 -0
- package/dist/types/hooks/financial-services/financial-service.d.ts.map +1 -0
- package/dist/types/hooks/financial-services/index.d.ts +5 -0
- package/dist/types/hooks/financial-services/index.d.ts.map +1 -0
- package/dist/types/hooks/financial-services/use-financial-service.d.ts +40 -0
- package/dist/types/hooks/financial-services/use-financial-service.d.ts.map +1 -0
- package/dist/types/hooks/use-configure-shipment.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/locales/en/index.d.ts +10 -2
- package/dist/types/locales/en/index.d.ts.map +1 -1
- package/dist/types/types/financial-services.d.ts +34 -0
- package/dist/types/types/financial-services.d.ts.map +1 -0
- package/dist/types/types/index.d.ts +1 -1
- package/dist/types/types/index.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 +4 -0
- package/dist/types/utilities/feature-flags/types.d.ts.map +1 -1
- package/dist/types/workflows/account-settings/account-settings.d.ts +10 -2
- package/dist/types/workflows/account-settings/account-settings.d.ts.map +1 -1
- package/dist/types/workflows/carrier-services/carrier-services.d.ts +10 -2
- 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 +10 -2
- 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 +10 -2
- package/dist/types/workflows/label-workflow/label-workflow.d.ts.map +1 -1
- package/dist/types/workflows/onboarding/components/confirmation-and-submission-step/confirmation-and-submission-step.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/funding-step/funding-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/onboarding.d.ts +10 -2
- package/dist/types/workflows/onboarding/onboarding.d.ts.map +1 -1
- package/package.json +5 -5
- package/dist/cjs/components/forms/wallet-form/billing-fields.cjs +0 -71
- package/dist/cjs/hooks/use-get-service-name.cjs +0 -22
- package/dist/esm/components/forms/wallet-form/billing-fields.js +0 -69
- package/dist/esm/hooks/use-get-service-name.js +0 -20
- package/dist/types/components/forms/wallet-form/billing-fields.d.ts +0 -7
- package/dist/types/components/forms/wallet-form/billing-fields.d.ts.map +0 -1
- 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,5 +1,5 @@
|
|
|
1
1
|
import { useTheme } from '@emotion/react';
|
|
2
|
-
import {
|
|
2
|
+
import { useGetServiceData } from '../../../hooks/use-get-service-data.js';
|
|
3
3
|
import { useListLabels, useExportLabels, useListSalesOrderShipments, useGetLabel } from '@shipengine/react-api';
|
|
4
4
|
import { createLocalFileFromBlobResponse } from '../../../utilities/files.js';
|
|
5
5
|
import { scopeTheme } from '../../../utilities/styles.js';
|
|
@@ -40,7 +40,7 @@ const useLabelsGrid = ({
|
|
|
40
40
|
const theme = useTheme();
|
|
41
41
|
const {
|
|
42
42
|
getServiceName
|
|
43
|
-
} =
|
|
43
|
+
} = useGetServiceData();
|
|
44
44
|
const {
|
|
45
45
|
page,
|
|
46
46
|
pageSize,
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { jsx, jsxs, Fragment } from '@emotion/react/jsx-runtime';
|
|
2
|
+
import { useGetServiceData } from '../../hooks/use-get-service-data.js';
|
|
2
3
|
import { useSortableQuery } from '../../hooks/use-sortable-query.js';
|
|
3
|
-
import { EmptyState, Button, Tag, TagColor, TagVariant, Typography, Next } from '@shipengine/giger';
|
|
4
|
+
import { EmptyState, Button, Tag, TagColor, TagVariant, Skeleton, IconSize, Typography, Next } from '@shipengine/giger';
|
|
4
5
|
import { toSnakeCase } from '../../utilities/formatString.js';
|
|
5
6
|
import { useRef, useMemo, useEffect, useCallback } from 'react';
|
|
6
7
|
import { useTranslation } from 'react-i18next';
|
|
@@ -19,6 +20,7 @@ import { useElements } from '../../elements-provider/elements-context-provider.j
|
|
|
19
20
|
import { Spacer } from '../../components/spacer/spacer.js';
|
|
20
21
|
import { PoweredByShipEngine } from '../../components/powered-by-shipengine/powered-by-shipengine.js';
|
|
21
22
|
import { ErrorFallback } from '../../components/error-fallback/error-fallback.js';
|
|
23
|
+
import { CarrierIcon } from '../../components/carrier-icon/carrier-icon.js';
|
|
22
24
|
|
|
23
25
|
const Component = ({
|
|
24
26
|
labelStatus,
|
|
@@ -104,6 +106,10 @@ const Component = ({
|
|
|
104
106
|
sortDir: sortState.dir,
|
|
105
107
|
columns: columnsArray
|
|
106
108
|
});
|
|
109
|
+
const {
|
|
110
|
+
getServiceInfo,
|
|
111
|
+
isLoadingCarriers
|
|
112
|
+
} = useGetServiceData();
|
|
107
113
|
useEffect(() => {
|
|
108
114
|
if (prevStatus.current !== labelStatus) {
|
|
109
115
|
pageConfig.pagerProps.resetCurrentPage();
|
|
@@ -290,14 +296,22 @@ const Component = ({
|
|
|
290
296
|
}
|
|
291
297
|
},
|
|
292
298
|
shippingService: {
|
|
293
|
-
headerContent: t("list-labels:headers.
|
|
299
|
+
headerContent: t("list-labels:headers.service"),
|
|
294
300
|
renderCellContent: label => {
|
|
301
|
+
const serviceInfo = getServiceInfo(label);
|
|
295
302
|
return jsxs(Fragment, {
|
|
296
|
-
children: [jsx(
|
|
297
|
-
|
|
298
|
-
|
|
299
|
-
|
|
300
|
-
|
|
303
|
+
children: [isLoadingCarriers ? jsx(Skeleton, {}) : jsxs("div", {
|
|
304
|
+
css: styles.serviceCell,
|
|
305
|
+
children: [serviceInfo.hasCarrierIcon && serviceInfo.carrierCode && jsx(CarrierIcon, {
|
|
306
|
+
carrierCode: serviceInfo.carrierCode,
|
|
307
|
+
carrierName: serviceInfo.serviceName || serviceInfo.carrierCode,
|
|
308
|
+
size: IconSize.SIZE_SMALL
|
|
309
|
+
}), jsx(Typography, {
|
|
310
|
+
component: "p",
|
|
311
|
+
css: styles.tableParagraph,
|
|
312
|
+
variant: "body2",
|
|
313
|
+
children: serviceInfo.serviceName || t("list-labels:none")
|
|
314
|
+
})]
|
|
301
315
|
}), label.trackable && jsx(Next.Link, {
|
|
302
316
|
bold: false,
|
|
303
317
|
href: label.trackingUrl,
|
|
@@ -350,17 +364,23 @@ const Component = ({
|
|
|
350
364
|
}
|
|
351
365
|
}
|
|
352
366
|
});
|
|
367
|
+
const labelExpired = label => {
|
|
368
|
+
const ninetyDaysAgo = new Date();
|
|
369
|
+
ninetyDaysAgo.setDate(ninetyDaysAgo.getDate() - 90);
|
|
370
|
+
return new Date(label.createdAt) < ninetyDaysAgo;
|
|
371
|
+
};
|
|
353
372
|
// Actual actions are only allowed for completed labels
|
|
354
373
|
if ((features === null || features === void 0 ? void 0 : features.showActions) && labels.some(label => label.status === "completed")) {
|
|
355
374
|
cols.push({
|
|
356
375
|
headerContent: "",
|
|
357
376
|
renderCellContent: label => {
|
|
358
377
|
var _a, _b;
|
|
378
|
+
const isLabelExpired = labelExpired(label);
|
|
359
379
|
const isLabelDelivered = label.trackingStatus === "delivered";
|
|
360
|
-
const isReprintAllowed = !!((_a = label.labelDownload) === null || _a === void 0 ? void 0 : _a.href) && label.status === "completed";
|
|
361
380
|
const isVoidAllowed = !!onClickVoidLabel && label.status === "completed";
|
|
362
|
-
const isPrintFormsAllowed = !!((_b = label.formDownload) === null || _b === void 0 ? void 0 : _b.href) && label.status === "completed";
|
|
363
381
|
const isViewDetailsAllowed = !!onClickViewDetails;
|
|
382
|
+
const isReprintAllowed = !!((_a = label.labelDownload) === null || _a === void 0 ? void 0 : _a.href) && label.status === "completed" && !isLabelExpired;
|
|
383
|
+
const isPrintFormsAllowed = !!((_b = label.formDownload) === null || _b === void 0 ? void 0 : _b.href) && label.status === "completed" && !isLabelExpired;
|
|
364
384
|
const allowActionsMenu = isReprintAllowed || isVoidAllowed || isPrintFormsAllowed || isViewDetailsAllowed;
|
|
365
385
|
if (isLabelDelivered || !allowActionsMenu) {
|
|
366
386
|
return null;
|
|
@@ -389,7 +409,7 @@ const Component = ({
|
|
|
389
409
|
});
|
|
390
410
|
}
|
|
391
411
|
return cols;
|
|
392
|
-
}, [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]);
|
|
412
|
+
}, [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]);
|
|
393
413
|
const emptyContentComponent = useMemo(() => {
|
|
394
414
|
if (isLoading) {
|
|
395
415
|
return undefined;
|
|
@@ -32,7 +32,6 @@ const RateView = ({
|
|
|
32
32
|
rateOptions,
|
|
33
33
|
rates,
|
|
34
34
|
salesOrder,
|
|
35
|
-
selectedRate,
|
|
36
35
|
shipment,
|
|
37
36
|
showVatFeatures
|
|
38
37
|
}) => {
|
|
@@ -76,9 +75,8 @@ const RateView = ({
|
|
|
76
75
|
}, [features === null || features === void 0 ? void 0 : features.enablePudoUI, pudoRateOptions, rateOptions]);
|
|
77
76
|
const {
|
|
78
77
|
collapsedRateOptionList,
|
|
79
|
-
COLLAPSED_RATE_VIEW_LIMIT,
|
|
80
78
|
filterVisibleRateOptions
|
|
81
|
-
} = useFilterVisibleRateOptions(expandedRateOptionList);
|
|
79
|
+
} = useFilterVisibleRateOptions(expandedRateOptionList, features);
|
|
82
80
|
const handleShowMoreRates = useCallback(() => {
|
|
83
81
|
var _a;
|
|
84
82
|
setShowHiddenRates === null || setShowHiddenRates === void 0 ? void 0 : setShowHiddenRates(!showHiddenRates);
|
|
@@ -197,8 +195,8 @@ const RateView = ({
|
|
|
197
195
|
onClick: onSelectRate,
|
|
198
196
|
onPaperlessAcknowledgementChange: onPaperlessAcknowledgementChange,
|
|
199
197
|
onSelectServicePoint: onSelectServicePoint,
|
|
200
|
-
options: showHiddenRates ? expandedRateOptionList : collapsedRateOptionList
|
|
201
|
-
}, rateSelectCommonProps)), expandedRateOptionList.length >
|
|
198
|
+
options: showHiddenRates || !collapsedRateOptionList.length ? expandedRateOptionList : collapsedRateOptionList
|
|
199
|
+
}, rateSelectCommonProps)), expandedRateOptionList.length > collapsedRateOptionList.length && !!collapsedRateOptionList.length && jsx(LinkAction, {
|
|
202
200
|
css: styles.showMoreOrLessRatesButton,
|
|
203
201
|
icon: showHiddenRates ? "chevronTop" : "chevronBottom",
|
|
204
202
|
iconPlacement: "right",
|
|
@@ -515,13 +515,15 @@ const ShipmentForm = ({
|
|
|
515
515
|
useEffect(() => {
|
|
516
516
|
hasShipFromAddressErrors && toggleIsEditShipFromAddressFormOpen();
|
|
517
517
|
}, [hasShipFromAddressErrors, toggleIsEditShipFromAddressFormOpen]);
|
|
518
|
+
const warehouseToEdit = useMemo(() => warehouses === null || warehouses === void 0 ? void 0 : warehouses.find(w => w.warehouseId === editShipFromAddressId), [editShipFromAddressId, warehouses]);
|
|
518
519
|
const [editWarehouseForm, isEditWarehouseFormOpen, toggleIsEditWarehouseFormOpen] = useNestedForm(WarehouseForm, {
|
|
519
520
|
formId: "edit-warehouse-form",
|
|
520
521
|
onSubmit: payload => __awaiter(void 0, void 0, void 0, function* () {
|
|
521
522
|
editShipFromAddressId && (yield handleSubmitEditWarehouse(payload, editShipFromAddressId));
|
|
522
523
|
}),
|
|
523
524
|
submitButtonTitle: t("actions.save"),
|
|
524
|
-
warehouse:
|
|
525
|
+
warehouse: warehouseToEdit,
|
|
526
|
+
shouldForceDefault: warehouseToEdit === null || warehouseToEdit === void 0 ? void 0 : warehouseToEdit.isDefault
|
|
525
527
|
});
|
|
526
528
|
const getFundingSourceInsuranceProviderKey = useCallback(provider => {
|
|
527
529
|
if (provider === "parcelguard") {
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { useMemo, useCallback } from 'react';
|
|
2
2
|
|
|
3
3
|
const COLLAPSED_RATE_VIEW_LIMIT = 4;
|
|
4
|
-
const filterRateOptions = rateOptions => {
|
|
4
|
+
const filterRateOptions = (rateOptions, showMediaMail) => {
|
|
5
5
|
const hasRateAttributes = option => {
|
|
6
6
|
var _a;
|
|
7
7
|
return !!((_a = option.rateAttributes) === null || _a === void 0 ? void 0 : _a.length);
|
|
@@ -12,7 +12,7 @@ const filterRateOptions = rateOptions => {
|
|
|
12
12
|
const ratesWithoutAttributes = [];
|
|
13
13
|
// Classify rates (excluding Media Mail from both categories)
|
|
14
14
|
for (const option of rateOptions) {
|
|
15
|
-
if (isMediaMail(option)) {
|
|
15
|
+
if (!showMediaMail && isMediaMail(option)) {
|
|
16
16
|
continue; // Skip Media Mail entirely - it will only show in "Show more"
|
|
17
17
|
}
|
|
18
18
|
if (hasRateAttributes(option)) {
|
|
@@ -40,9 +40,9 @@ const filterRateOptions = rateOptions => {
|
|
|
40
40
|
* - Fill remaining slots with regular rates
|
|
41
41
|
* - Media Mail is always excluded from the collapsed view
|
|
42
42
|
*/
|
|
43
|
-
const useFilterVisibleRateOptions = rateOptions => {
|
|
44
|
-
const collapsedRateOptionList = useMemo(() => filterRateOptions(rateOptions), [rateOptions]);
|
|
45
|
-
const filterVisibleRateOptions = useCallback(options => filterRateOptions(options), []);
|
|
43
|
+
const useFilterVisibleRateOptions = (rateOptions, features) => {
|
|
44
|
+
const collapsedRateOptionList = useMemo(() => filterRateOptions(rateOptions, features === null || features === void 0 ? void 0 : features.showMediaMail), [rateOptions, features]);
|
|
45
|
+
const filterVisibleRateOptions = useCallback(options => filterRateOptions(options, features === null || features === void 0 ? void 0 : features.showMediaMail), [features]);
|
|
46
46
|
return {
|
|
47
47
|
COLLAPSED_RATE_VIEW_LIMIT,
|
|
48
48
|
collapsedRateOptionList,
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { useGetServiceData } from '../../../hooks/use-get-service-data.js';
|
|
2
2
|
import { useListShipments, useExportShipments, useGetShipment } from '@shipengine/react-api';
|
|
3
3
|
import { createLocalFileFromBlobResponse } from '../../../utilities/files.js';
|
|
4
4
|
import { useState, useEffect, useMemo } from 'react';
|
|
@@ -28,7 +28,7 @@ const useShipmentsGrid = ({
|
|
|
28
28
|
const initialFilters = getInitialFilters(showShipmentIdFilter, showCreatedDateFilter);
|
|
29
29
|
const {
|
|
30
30
|
getServiceName
|
|
31
|
-
} =
|
|
31
|
+
} = useGetServiceData();
|
|
32
32
|
const {
|
|
33
33
|
page,
|
|
34
34
|
pageSize,
|
|
@@ -1,7 +1,8 @@
|
|
|
1
1
|
import { __awaiter } from '../../_virtual/_tslib.js';
|
|
2
2
|
import { jsx, jsxs, Fragment } from '@emotion/react/jsx-runtime';
|
|
3
|
+
import { useGetServiceData } from '../../hooks/use-get-service-data.js';
|
|
3
4
|
import { useSortableQuery } from '../../hooks/use-sortable-query.js';
|
|
4
|
-
import { EmptyState, Button, Typography, Tag, TagColor, TagVariant } from '@shipengine/giger';
|
|
5
|
+
import { EmptyState, Button, Typography, Skeleton, IconSize, Tag, TagColor, TagVariant } from '@shipengine/giger';
|
|
5
6
|
import { useMemo } from 'react';
|
|
6
7
|
import { useTranslation } from 'react-i18next';
|
|
7
8
|
import { useShipmentsGrid } from './hooks/use-shipments-grid.js';
|
|
@@ -12,6 +13,7 @@ import en from '../../locales/en/index.js';
|
|
|
12
13
|
import { createElement } from '../../create-element/create-element.js';
|
|
13
14
|
import { useElements } from '../../elements-provider/elements-context-provider.js';
|
|
14
15
|
import { ErrorState } from '../../components/error-state/error-state.js';
|
|
16
|
+
import { CarrierIcon } from '../../components/carrier-icon/carrier-icon.js';
|
|
15
17
|
import { CellFormattedDate } from '../../components/grid-controller/cell-formatted-date.js';
|
|
16
18
|
import { SortableHeader } from '../../components/grid-controller/sortable-header/sortable-header.js';
|
|
17
19
|
import { GridController } from '../../components/grid-controller/grid-controller.js';
|
|
@@ -85,6 +87,10 @@ const Component = ({
|
|
|
85
87
|
sortBy: sortState.by,
|
|
86
88
|
sortDir: sortState.dir
|
|
87
89
|
});
|
|
90
|
+
const {
|
|
91
|
+
getServiceInfo,
|
|
92
|
+
isLoadingCarriers
|
|
93
|
+
} = useGetServiceData();
|
|
88
94
|
const onRowClick = shipment => __awaiter(void 0, void 0, void 0, function* () {
|
|
89
95
|
setActiveShipmentId(shipment.shipmentId);
|
|
90
96
|
yield onRowClickProp === null || onRowClickProp === void 0 ? void 0 : onRowClickProp(shipment);
|
|
@@ -188,13 +194,21 @@ const Component = ({
|
|
|
188
194
|
}) : "--";
|
|
189
195
|
}
|
|
190
196
|
}, {
|
|
191
|
-
headerContent: t("list-shipments:headers.
|
|
197
|
+
headerContent: t("list-shipments:headers.service"),
|
|
192
198
|
renderCellContent: shipment => {
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
css: styles.
|
|
196
|
-
|
|
197
|
-
|
|
199
|
+
const serviceInfo = getServiceInfo(shipment);
|
|
200
|
+
return isLoadingCarriers ? jsx(Skeleton, {}) : jsxs("div", {
|
|
201
|
+
css: styles.serviceCell,
|
|
202
|
+
children: [serviceInfo.hasCarrierIcon && serviceInfo.carrierCode && jsx(CarrierIcon, {
|
|
203
|
+
carrierCode: serviceInfo.carrierCode,
|
|
204
|
+
carrierName: serviceInfo.serviceName || serviceInfo.carrierCode,
|
|
205
|
+
size: IconSize.SIZE_SMALL
|
|
206
|
+
}), jsx(Typography, {
|
|
207
|
+
component: "p",
|
|
208
|
+
css: styles.tableParagraph,
|
|
209
|
+
variant: "body2",
|
|
210
|
+
children: serviceInfo.serviceName || t("list-shipments:none")
|
|
211
|
+
})]
|
|
198
212
|
});
|
|
199
213
|
}
|
|
200
214
|
}, {
|
|
@@ -105,6 +105,7 @@ const ManageWarehouses = ({
|
|
|
105
105
|
yield handleSubmitAddNewWarehouse(payload);
|
|
106
106
|
toggleShowAddNewWarehouseForm(false);
|
|
107
107
|
}),
|
|
108
|
+
shouldForceDefault: !(warehouses === null || warehouses === void 0 ? void 0 : warehouses.length),
|
|
108
109
|
submitButtonTitle: t("actions.save")
|
|
109
110
|
})
|
|
110
111
|
}) : jsx(ButtonGroup, {
|
|
@@ -139,17 +140,20 @@ const ManageWarehouses = ({
|
|
|
139
140
|
yield handleSubmitEditWarehouse(Object.assign(Object.assign({}, rest), warehouseData), warehouse.warehouseId);
|
|
140
141
|
setEditWarehouseId(undefined);
|
|
141
142
|
}),
|
|
142
|
-
children: jsx(WarehouseForm
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
onDelete: warehouse.isDefault ? undefined : () => handleDeleteWarehouse(warehouse.warehouseId),
|
|
143
|
+
children: jsx(WarehouseForm
|
|
144
|
+
// eslint-disable-next-line @typescript-eslint/no-misused-promises
|
|
145
|
+
, {
|
|
146
146
|
// eslint-disable-next-line @typescript-eslint/no-misused-promises
|
|
147
147
|
onSubmit: payload => __awaiter(void 0, void 0, void 0, function* () {
|
|
148
148
|
yield handleSubmitEditWarehouse(payload, warehouse.warehouseId);
|
|
149
149
|
setEditWarehouseId(undefined);
|
|
150
150
|
}),
|
|
151
|
+
shouldForceDefault: warehouse.isDefault,
|
|
151
152
|
submitButtonTitle: t("actions.save"),
|
|
152
|
-
warehouse: warehouse
|
|
153
|
+
warehouse: warehouse,
|
|
154
|
+
onCancel: () => setEditWarehouseId(undefined),
|
|
155
|
+
// eslint-disable-next-line @typescript-eslint/no-misused-promises
|
|
156
|
+
onDelete: warehouse.isDefault ? undefined : () => handleDeleteWarehouse(warehouse.warehouseId)
|
|
153
157
|
})
|
|
154
158
|
}, warehouse.warehouseId);
|
|
155
159
|
} else {
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { __awaiter } from '../../_virtual/_tslib.js';
|
|
2
|
-
import { jsxs,
|
|
2
|
+
import { jsxs, jsx, Fragment } from '@emotion/react/jsx-runtime';
|
|
3
|
+
import { AuctanePaySessionProvider } from '../../contexts/auctane-pay-session-context.js';
|
|
3
4
|
import { useToggle } from '../../hooks/use-toggle.js';
|
|
4
5
|
import { InlineNotification, NotificationType } from '@shipengine/giger';
|
|
5
6
|
import { useUpdateFundingSource, useListFundingSources } from '@shipengine/react-api';
|
|
@@ -41,13 +42,13 @@ const PaymentMethodSettings = ({
|
|
|
41
42
|
fundingSourceId,
|
|
42
43
|
billingInfo
|
|
43
44
|
} = (_a = fundingSources === null || fundingSources === void 0 ? void 0 : fundingSources[0]) !== null && _a !== void 0 ? _a : {};
|
|
44
|
-
const handleUpdateBilling = (billingInfo,
|
|
45
|
+
const handleUpdateBilling = (billingInfo, auctanePayInfo) => __awaiter(void 0, void 0, void 0, function* () {
|
|
45
46
|
if (fundingSourceId) {
|
|
46
47
|
try {
|
|
47
48
|
setIsUpdatingBilling(true);
|
|
48
49
|
yield updateBilling({
|
|
49
50
|
billingInfo,
|
|
50
|
-
|
|
51
|
+
auctanePayInfo,
|
|
51
52
|
fundingSourceId
|
|
52
53
|
});
|
|
53
54
|
yield refetchFundingSources();
|
|
@@ -60,7 +61,7 @@ const PaymentMethodSettings = ({
|
|
|
60
61
|
}
|
|
61
62
|
}
|
|
62
63
|
});
|
|
63
|
-
if (showEditBilling) return jsxs(
|
|
64
|
+
if (showEditBilling) return jsxs(AuctanePaySessionProvider, {
|
|
64
65
|
children: [jsx(EditBillingForm, {
|
|
65
66
|
billingInfo: billingInfo,
|
|
66
67
|
isLoading: isUpdatingBilling,
|