@shipengine/elements 0.5.2 → 0.5.5

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.
@@ -3,10 +3,11 @@ import SE from "@shipengine/elements-core";
3
3
  export declare type RateFormProps = {
4
4
  errors?: SE.CodedError[];
5
5
  loading?: boolean;
6
- onLabelCreateFailure?: () => void;
7
- onLabelCreateSuccess?: (label: SE.Label, shipment?: SE.SalesOrderShipment) => void;
8
- onRateSaved?: (shipment: SE.SalesOrderShipment) => void;
6
+ onBeforeLabelCreate?: (rate: SE.Rate, shipment?: SE.SalesOrderShipment) => Promise<void> | void;
7
+ onLabelCreateFailure?: (rate?: SE.Rate, shipment?: SE.SalesOrderShipment) => Promise<void> | void;
8
+ onLabelCreateSuccess?: (label: SE.Label, shipment?: SE.SalesOrderShipment) => Promise<void> | void;
9
+ onRateSaved?: (shipment: SE.SalesOrderShipment) => Promise<void> | void;
9
10
  rates?: SE.Rate[];
10
11
  shipment?: SE.SalesOrderShipment;
11
12
  };
12
- export declare const RateForm: ({ errors, loading, onLabelCreateFailure, onLabelCreateSuccess, onRateSaved, rates, shipment, }: RateFormProps) => JSX.Element;
13
+ export declare const RateForm: ({ errors, loading, onBeforeLabelCreate, onLabelCreateFailure, onLabelCreateSuccess, onRateSaved, rates, shipment, }: RateFormProps) => JSX.Element;
@@ -8,6 +8,7 @@ export declare type SalesOrderProps = {
8
8
  externalOrderNumber?: string;
9
9
  onAddressValidation?: (addressPreference: Templates.AddressPreference) => void;
10
10
  onChangeAddress?: ShipmentFormProps["onChangeAddress"];
11
+ onBeforeLabelCreate?: RateFormProps["onBeforeLabelCreate"];
11
12
  onLabelCreateFailure?: RateFormProps["onLabelCreateFailure"];
12
13
  onLabelCreateSuccess?: RateFormProps["onLabelCreateSuccess"];
13
14
  onLoad?: (salesOrder: SE.SalesOrder, shipments: SE.SalesOrderShipment[]) => void;
@@ -19,4 +20,4 @@ export declare type SalesOrderProps = {
19
20
  salesOrderId?: string;
20
21
  shippingPresets?: UseShippingPresetsOptionsProps;
21
22
  };
22
- export declare const SalesOrder: ({ externalOrderId, externalOrderNumber, onAddressValidation, onChangeAddress, onLabelCreateFailure, onLabelCreateSuccess, onLoad, onRateSaved, onRatesReturned, onChangeShipmentFormMode, onToggleAddressPreferenceDisclosure, orderSourceCode, salesOrderId, shippingPresets, }: SalesOrderProps) => JSX.Element;
23
+ export declare const SalesOrder: ({ externalOrderId, externalOrderNumber, onAddressValidation, onChangeAddress, onBeforeLabelCreate, onLabelCreateFailure, onLabelCreateSuccess, onLoad, onRateSaved, onRatesReturned, onChangeShipmentFormMode, onToggleAddressPreferenceDisclosure, orderSourceCode, salesOrderId, shippingPresets, }: SalesOrderProps) => JSX.Element;
package/index.cjs CHANGED
@@ -2858,6 +2858,7 @@ const ShipmentForm = ({
2858
2858
  const RateForm = ({
2859
2859
  errors,
2860
2860
  loading: _loading = false,
2861
+ onBeforeLabelCreate,
2861
2862
  onLabelCreateFailure,
2862
2863
  onLabelCreateSuccess,
2863
2864
  onRateSaved,
@@ -2870,27 +2871,31 @@ const RateForm = ({
2870
2871
  const updateShipment = elementsCore.useUpdateShipment({
2871
2872
  shipmentId: shipment === null || shipment === void 0 ? void 0 : shipment.shipmentId
2872
2873
  });
2874
+ const handleSubmit = react.useCallback(values => __awaiter(void 0, void 0, void 0, function* () {
2875
+ const rate = rates === null || rates === void 0 ? void 0 : rates.find(r => r.rateId === values.rate.rateId);
2873
2876
 
2874
- const handleSubmit = values => __awaiter(void 0, void 0, void 0, function* () {
2875
- const label = yield createLabel.trigger(values.rate);
2877
+ if (rate) {
2878
+ yield onBeforeLabelCreate === null || onBeforeLabelCreate === void 0 ? void 0 : onBeforeLabelCreate(rate, shipment);
2879
+ const label = yield createLabel.trigger(values.rate);
2876
2880
 
2877
- if (label) {
2878
- onLabelCreateSuccess === null || onLabelCreateSuccess === void 0 ? void 0 : onLabelCreateSuccess(label, shipment);
2881
+ if (label) {
2882
+ yield onLabelCreateSuccess === null || onLabelCreateSuccess === void 0 ? void 0 : onLabelCreateSuccess(label, shipment);
2883
+ } else {
2884
+ yield onLabelCreateFailure === null || onLabelCreateFailure === void 0 ? void 0 : onLabelCreateFailure(rate, shipment);
2885
+ }
2879
2886
  } else {
2880
- onLabelCreateFailure === null || onLabelCreateFailure === void 0 ? void 0 : onLabelCreateFailure();
2887
+ yield onLabelCreateFailure === null || onLabelCreateFailure === void 0 ? void 0 : onLabelCreateFailure(rate, shipment);
2881
2888
  }
2882
- });
2883
-
2884
- const handleSave = rate => __awaiter(void 0, void 0, void 0, function* () {
2889
+ }), [rates, onBeforeLabelCreate, onLabelCreateSuccess, onLabelCreateFailure, createLabel, shipment]);
2890
+ const handleSave = react.useCallback(rate => __awaiter(void 0, void 0, void 0, function* () {
2885
2891
  if (shipment) {
2886
2892
  const updatedShipment = yield updateShipment.trigger(Object.assign(Object.assign({}, shipment), {
2887
2893
  carrierId: rate.carrierId,
2888
2894
  serviceCode: rate.serviceCode
2889
2895
  }));
2890
- if (updatedShipment) onRateSaved === null || onRateSaved === void 0 ? void 0 : onRateSaved(updatedShipment);
2896
+ if (updatedShipment) yield onRateSaved === null || onRateSaved === void 0 ? void 0 : onRateSaved(updatedShipment);
2891
2897
  }
2892
- });
2893
-
2898
+ }), [shipment, updateShipment, onRateSaved]);
2894
2899
  const carriers = elementsCore.useListCarriers();
2895
2900
  return jsxRuntime.jsx(elementsUi.Templates.RateForm, {
2896
2901
  carriers: carriers.data,
@@ -20172,6 +20177,7 @@ const SalesOrder = ({
20172
20177
  externalOrderNumber,
20173
20178
  onAddressValidation,
20174
20179
  onChangeAddress,
20180
+ onBeforeLabelCreate,
20175
20181
  onLabelCreateFailure,
20176
20182
  onLabelCreateSuccess,
20177
20183
  onLoad,
@@ -20379,6 +20385,7 @@ const SalesOrder = ({
20379
20385
  }), jsxRuntime.jsx(RateForm, {
20380
20386
  errors: [...((_b = calculateRates.errors) !== null && _b !== void 0 ? _b : []), ...((_d = (_c = calculateRates.data) === null || _c === void 0 ? void 0 : _c.errors) !== null && _d !== void 0 ? _d : [])],
20381
20387
  loading: calculateRates.isMutating,
20388
+ onBeforeLabelCreate: onBeforeLabelCreate,
20382
20389
  onLabelCreateFailure: onLabelCreateFailure,
20383
20390
  onLabelCreateSuccess: onLabelCreateSuccess,
20384
20391
  onRateSaved: onRateSaved,
package/index.js CHANGED
@@ -2854,6 +2854,7 @@ const ShipmentForm = ({
2854
2854
  const RateForm = ({
2855
2855
  errors,
2856
2856
  loading: _loading = false,
2857
+ onBeforeLabelCreate,
2857
2858
  onLabelCreateFailure,
2858
2859
  onLabelCreateSuccess,
2859
2860
  onRateSaved,
@@ -2866,27 +2867,31 @@ const RateForm = ({
2866
2867
  const updateShipment = useUpdateShipment({
2867
2868
  shipmentId: shipment === null || shipment === void 0 ? void 0 : shipment.shipmentId
2868
2869
  });
2870
+ const handleSubmit = useCallback(values => __awaiter(void 0, void 0, void 0, function* () {
2871
+ const rate = rates === null || rates === void 0 ? void 0 : rates.find(r => r.rateId === values.rate.rateId);
2869
2872
 
2870
- const handleSubmit = values => __awaiter(void 0, void 0, void 0, function* () {
2871
- const label = yield createLabel.trigger(values.rate);
2873
+ if (rate) {
2874
+ yield onBeforeLabelCreate === null || onBeforeLabelCreate === void 0 ? void 0 : onBeforeLabelCreate(rate, shipment);
2875
+ const label = yield createLabel.trigger(values.rate);
2872
2876
 
2873
- if (label) {
2874
- onLabelCreateSuccess === null || onLabelCreateSuccess === void 0 ? void 0 : onLabelCreateSuccess(label, shipment);
2877
+ if (label) {
2878
+ yield onLabelCreateSuccess === null || onLabelCreateSuccess === void 0 ? void 0 : onLabelCreateSuccess(label, shipment);
2879
+ } else {
2880
+ yield onLabelCreateFailure === null || onLabelCreateFailure === void 0 ? void 0 : onLabelCreateFailure(rate, shipment);
2881
+ }
2875
2882
  } else {
2876
- onLabelCreateFailure === null || onLabelCreateFailure === void 0 ? void 0 : onLabelCreateFailure();
2883
+ yield onLabelCreateFailure === null || onLabelCreateFailure === void 0 ? void 0 : onLabelCreateFailure(rate, shipment);
2877
2884
  }
2878
- });
2879
-
2880
- const handleSave = rate => __awaiter(void 0, void 0, void 0, function* () {
2885
+ }), [rates, onBeforeLabelCreate, onLabelCreateSuccess, onLabelCreateFailure, createLabel, shipment]);
2886
+ const handleSave = useCallback(rate => __awaiter(void 0, void 0, void 0, function* () {
2881
2887
  if (shipment) {
2882
2888
  const updatedShipment = yield updateShipment.trigger(Object.assign(Object.assign({}, shipment), {
2883
2889
  carrierId: rate.carrierId,
2884
2890
  serviceCode: rate.serviceCode
2885
2891
  }));
2886
- if (updatedShipment) onRateSaved === null || onRateSaved === void 0 ? void 0 : onRateSaved(updatedShipment);
2892
+ if (updatedShipment) yield onRateSaved === null || onRateSaved === void 0 ? void 0 : onRateSaved(updatedShipment);
2887
2893
  }
2888
- });
2889
-
2894
+ }), [shipment, updateShipment, onRateSaved]);
2890
2895
  const carriers = useListCarriers();
2891
2896
  return jsx(Templates.RateForm, {
2892
2897
  carriers: carriers.data,
@@ -20168,6 +20173,7 @@ const SalesOrder = ({
20168
20173
  externalOrderNumber,
20169
20174
  onAddressValidation,
20170
20175
  onChangeAddress,
20176
+ onBeforeLabelCreate,
20171
20177
  onLabelCreateFailure,
20172
20178
  onLabelCreateSuccess,
20173
20179
  onLoad,
@@ -20375,6 +20381,7 @@ const SalesOrder = ({
20375
20381
  }), jsx(RateForm, {
20376
20382
  errors: [...((_b = calculateRates.errors) !== null && _b !== void 0 ? _b : []), ...((_d = (_c = calculateRates.data) === null || _c === void 0 ? void 0 : _c.errors) !== null && _d !== void 0 ? _d : [])],
20377
20383
  loading: calculateRates.isMutating,
20384
+ onBeforeLabelCreate: onBeforeLabelCreate,
20378
20385
  onLabelCreateFailure: onLabelCreateFailure,
20379
20386
  onLabelCreateSuccess: onLabelCreateSuccess,
20380
20387
  onRateSaved: onRateSaved,
package/package.json CHANGED
@@ -1,18 +1,18 @@
1
1
  {
2
2
  "name": "@shipengine/elements",
3
- "version": "0.5.2",
3
+ "version": "0.5.5",
4
4
  "module": "./index.js",
5
5
  "main": "./index.cjs",
6
6
  "type": "module",
7
7
  "types": "./index.d.ts",
8
8
  "dependencies": {
9
9
  "react": "^18.2.0",
10
- "@shipengine/elements-core": "0.5.2",
10
+ "@shipengine/elements-core": "0.5.5",
11
11
  "react-i18next": "^11.18.4",
12
12
  "i18next": "^21.9.1",
13
13
  "i18next-http-backend": "^1.4.1",
14
14
  "i18next-browser-languagedetector": "^6.1.4",
15
- "@shipengine/elements-ui": "0.5.2"
15
+ "@shipengine/elements-ui": "0.5.5"
16
16
  },
17
17
  "peerDependencies": {}
18
18
  }