@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.
Files changed (199) hide show
  1. package/dist/cjs/components/field/rate-select/rate-card/rate-card.cjs +1 -0
  2. package/dist/cjs/components/forms/edit-billing-form/edit-billing-form.cjs +87 -12
  3. package/dist/cjs/components/forms/edit-billing-form/edit-billing-form.styles.cjs +15 -0
  4. package/dist/cjs/components/forms/wallet-form/index.cjs +0 -2
  5. package/dist/cjs/components/forms/wallet-form/wallet-form.cjs +153 -23
  6. package/dist/cjs/components/forms/wallet-form/wallet-form.styles.cjs +15 -0
  7. package/dist/cjs/components/forms/wallet-form/wallet-schema.cjs +8 -43
  8. package/dist/cjs/components/forms/warehouse-form/warehouse-form.cjs +10 -1
  9. package/dist/cjs/components/payment/payment-method-selector/index.cjs +7 -0
  10. package/dist/cjs/components/payment/payment-method-selector/payment-method-selector.cjs +55 -0
  11. package/dist/cjs/components/payment/payment-method-selector/payment-method-selector.styles.cjs +58 -0
  12. package/dist/cjs/components/service-card/service-card.cjs +3 -2
  13. package/dist/cjs/components/service-card/service-card.styles.cjs +4 -2
  14. package/dist/cjs/contexts/auctane-pay-session-context.cjs +158 -0
  15. package/dist/cjs/contexts/index.cjs +8 -0
  16. package/dist/cjs/elements/labels-grid/hooks/use-labels-grid.cjs +2 -2
  17. package/dist/cjs/elements/labels-grid/labels-grid.cjs +29 -9
  18. package/dist/cjs/elements/labels-grid/labels-grid.styles.cjs +5 -0
  19. package/dist/cjs/elements/purchase-label/components/rate-form/rate-view.cjs +3 -5
  20. package/dist/cjs/elements/purchase-label/components/shipment-form/shipment-form.cjs +3 -1
  21. package/dist/cjs/elements/purchase-label/hooks/use-filter-visible-rate-options/use-filter-visible-rate-options.cjs +5 -5
  22. package/dist/cjs/elements/shipments-grid/hooks/use-shipments-grid.cjs +2 -2
  23. package/dist/cjs/elements/shipments-grid/shipments-grid.cjs +20 -6
  24. package/dist/cjs/elements/shipments-grid/shipments-grid.styles.cjs +5 -0
  25. package/dist/cjs/features/manage-warehouses/manage-warehouses.cjs +9 -5
  26. package/dist/cjs/features/payment-method-settings/payment-method-settings.cjs +4 -3
  27. package/dist/cjs/hooks/financial-services/financial-service.cjs +464 -0
  28. package/dist/cjs/hooks/financial-services/index.cjs +9 -0
  29. package/dist/cjs/hooks/financial-services/use-financial-service.cjs +188 -0
  30. package/dist/cjs/hooks/use-configure-shipment.cjs +8 -0
  31. package/dist/cjs/hooks/use-get-service-data.cjs +60 -0
  32. package/dist/cjs/locales/en/list-labels.json.cjs +2 -1
  33. package/dist/cjs/locales/en/list-shipments.json.cjs +1 -1
  34. package/dist/cjs/locales/en/manage-warehouses.json.cjs +2 -0
  35. package/dist/cjs/locales/en/register-wallet.json.cjs +5 -0
  36. package/dist/cjs/package.json.cjs +1 -1
  37. package/dist/cjs/utilities/feature-flags/feature-flags.cjs +2 -1
  38. package/dist/cjs/workflows/onboarding/components/confirmation-and-submission-step/confirmation-and-submission-step.cjs +16 -5
  39. package/dist/cjs/workflows/onboarding/components/confirmation-and-submission-step/use-confirmation-and-submission-step.cjs +6 -6
  40. package/dist/cjs/workflows/onboarding/components/funding-step/funding-step.cjs +7 -3
  41. package/dist/cjs/workflows/onboarding/components/ship-from-address-step/ship-from-address-step.cjs +1 -1
  42. package/dist/cjs/workflows/onboarding/onboarding.cjs +8 -5
  43. package/dist/esm/components/field/rate-select/rate-card/rate-card.js +1 -0
  44. package/dist/esm/components/forms/edit-billing-form/edit-billing-form.js +88 -13
  45. package/dist/esm/components/forms/edit-billing-form/edit-billing-form.styles.js +15 -0
  46. package/dist/esm/components/forms/wallet-form/index.js +0 -1
  47. package/dist/esm/components/forms/wallet-form/wallet-form.js +155 -25
  48. package/dist/esm/components/forms/wallet-form/wallet-form.styles.js +15 -0
  49. package/dist/esm/components/forms/wallet-form/wallet-schema.js +1 -36
  50. package/dist/esm/components/forms/warehouse-form/warehouse-form.js +10 -1
  51. package/dist/esm/components/payment/payment-method-selector/index.js +1 -0
  52. package/dist/esm/components/payment/payment-method-selector/payment-method-selector.js +53 -0
  53. package/dist/esm/components/payment/payment-method-selector/payment-method-selector.styles.js +56 -0
  54. package/dist/esm/components/service-card/service-card.js +3 -2
  55. package/dist/esm/components/service-card/service-card.styles.js +4 -2
  56. package/dist/esm/contexts/auctane-pay-session-context.js +155 -0
  57. package/dist/esm/contexts/index.js +1 -0
  58. package/dist/esm/elements/labels-grid/hooks/use-labels-grid.js +2 -2
  59. package/dist/esm/elements/labels-grid/labels-grid.js +30 -10
  60. package/dist/esm/elements/labels-grid/labels-grid.styles.js +5 -0
  61. package/dist/esm/elements/purchase-label/components/rate-form/rate-view.js +3 -5
  62. package/dist/esm/elements/purchase-label/components/shipment-form/shipment-form.js +3 -1
  63. package/dist/esm/elements/purchase-label/hooks/use-filter-visible-rate-options/use-filter-visible-rate-options.js +5 -5
  64. package/dist/esm/elements/shipments-grid/hooks/use-shipments-grid.js +2 -2
  65. package/dist/esm/elements/shipments-grid/shipments-grid.js +21 -7
  66. package/dist/esm/elements/shipments-grid/shipments-grid.styles.js +5 -0
  67. package/dist/esm/features/manage-warehouses/manage-warehouses.js +9 -5
  68. package/dist/esm/features/payment-method-settings/payment-method-settings.js +5 -4
  69. package/dist/esm/hooks/financial-services/financial-service.js +462 -0
  70. package/dist/esm/hooks/financial-services/index.js +2 -0
  71. package/dist/esm/hooks/financial-services/use-financial-service.js +186 -0
  72. package/dist/esm/hooks/use-configure-shipment.js +8 -0
  73. package/dist/esm/hooks/use-get-service-data.js +58 -0
  74. package/dist/esm/locales/en/list-labels.json.js +2 -1
  75. package/dist/esm/locales/en/list-shipments.json.js +1 -1
  76. package/dist/esm/locales/en/manage-warehouses.json.js +2 -0
  77. package/dist/esm/locales/en/register-wallet.json.js +5 -0
  78. package/dist/esm/package.json.js +1 -1
  79. package/dist/esm/utilities/feature-flags/feature-flags.js +2 -1
  80. package/dist/esm/workflows/onboarding/components/confirmation-and-submission-step/confirmation-and-submission-step.js +16 -5
  81. package/dist/esm/workflows/onboarding/components/confirmation-and-submission-step/use-confirmation-and-submission-step.js +6 -6
  82. package/dist/esm/workflows/onboarding/components/funding-step/funding-step.js +7 -3
  83. package/dist/esm/workflows/onboarding/components/ship-from-address-step/ship-from-address-step.js +1 -1
  84. package/dist/esm/workflows/onboarding/onboarding.js +8 -5
  85. package/dist/types/components/address-preference-context/address-preference-context.d.ts +0 -1
  86. package/dist/types/components/address-preference-context/address-preference-context.d.ts.map +1 -1
  87. package/dist/types/components/field/rate-select/rate-card/rate-card.d.ts.map +1 -1
  88. package/dist/types/components/forms/edit-billing-form/edit-billing-form.d.ts +2 -2
  89. package/dist/types/components/forms/edit-billing-form/edit-billing-form.d.ts.map +1 -1
  90. package/dist/types/components/forms/edit-billing-form/edit-billing-form.styles.d.ts +14 -0
  91. package/dist/types/components/forms/edit-billing-form/edit-billing-form.styles.d.ts.map +1 -1
  92. package/dist/types/components/forms/wallet-form/index.d.ts +0 -1
  93. package/dist/types/components/forms/wallet-form/index.d.ts.map +1 -1
  94. package/dist/types/components/forms/wallet-form/wallet-form.d.ts +4 -1
  95. package/dist/types/components/forms/wallet-form/wallet-form.d.ts.map +1 -1
  96. package/dist/types/components/forms/wallet-form/wallet-form.styles.d.ts +14 -0
  97. package/dist/types/components/forms/wallet-form/wallet-form.styles.d.ts.map +1 -1
  98. package/dist/types/components/forms/wallet-form/wallet-schema.d.ts +3 -43
  99. package/dist/types/components/forms/wallet-form/wallet-schema.d.ts.map +1 -1
  100. package/dist/types/components/forms/warehouse-form/warehouse-form.d.ts.map +1 -1
  101. package/dist/types/components/payment/payment-method-selector/index.d.ts +2 -0
  102. package/dist/types/components/payment/payment-method-selector/index.d.ts.map +1 -0
  103. package/dist/types/components/payment/payment-method-selector/payment-method-selector.d.ts +11 -0
  104. package/dist/types/components/payment/payment-method-selector/payment-method-selector.d.ts.map +1 -0
  105. package/dist/types/components/payment/payment-method-selector/payment-method-selector.styles.d.ts +52 -0
  106. package/dist/types/components/payment/payment-method-selector/payment-method-selector.styles.d.ts.map +1 -0
  107. package/dist/types/components/service-card/service-card.d.ts +2 -1
  108. package/dist/types/components/service-card/service-card.d.ts.map +1 -1
  109. package/dist/types/components/service-card/service-card.styles.d.ts +2 -1
  110. package/dist/types/components/service-card/service-card.styles.d.ts.map +1 -1
  111. package/dist/types/contexts/auctane-pay-session-context.d.ts +54 -0
  112. package/dist/types/contexts/auctane-pay-session-context.d.ts.map +1 -0
  113. package/dist/types/contexts/index.d.ts +3 -0
  114. package/dist/types/contexts/index.d.ts.map +1 -0
  115. package/dist/types/elements/customs-form/customs-form-element.d.ts +10 -2
  116. package/dist/types/elements/customs-form/customs-form-element.d.ts.map +1 -1
  117. package/dist/types/elements/labels-grid/labels-grid.d.ts +10 -2
  118. package/dist/types/elements/labels-grid/labels-grid.d.ts.map +1 -1
  119. package/dist/types/elements/labels-grid/labels-grid.styles.d.ts +5 -0
  120. package/dist/types/elements/labels-grid/labels-grid.styles.d.ts.map +1 -1
  121. package/dist/types/elements/manage-carriers/manage-carriers.d.ts +10 -2
  122. package/dist/types/elements/manage-carriers/manage-carriers.d.ts.map +1 -1
  123. package/dist/types/elements/manage-external-carriers/manage-external-carriers.d.ts +10 -2
  124. package/dist/types/elements/manage-external-carriers/manage-external-carriers.d.ts.map +1 -1
  125. package/dist/types/elements/manage-funding/manage-funding-element.d.ts +10 -2
  126. package/dist/types/elements/manage-funding/manage-funding-element.d.ts.map +1 -1
  127. package/dist/types/elements/manage-warehouses/manage-warehouses.d.ts +10 -2
  128. package/dist/types/elements/manage-warehouses/manage-warehouses.d.ts.map +1 -1
  129. package/dist/types/elements/payment-method-settings/payment-method-settings-element.d.ts +10 -2
  130. package/dist/types/elements/payment-method-settings/payment-method-settings-element.d.ts.map +1 -1
  131. package/dist/types/elements/purchase-label/components/rate-form/rate-view.d.ts +1 -1
  132. package/dist/types/elements/purchase-label/components/rate-form/rate-view.d.ts.map +1 -1
  133. package/dist/types/elements/purchase-label/components/shipment-form/shipment-form.d.ts.map +1 -1
  134. package/dist/types/elements/purchase-label/hooks/use-filter-visible-rate-options/use-filter-visible-rate-options.d.ts +2 -1
  135. package/dist/types/elements/purchase-label/hooks/use-filter-visible-rate-options/use-filter-visible-rate-options.d.ts.map +1 -1
  136. package/dist/types/elements/purchase-label/purchase-label.d.ts +10 -2
  137. package/dist/types/elements/purchase-label/purchase-label.d.ts.map +1 -1
  138. package/dist/types/elements/select-label-layout/select-label-layout-element.d.ts +10 -2
  139. package/dist/types/elements/select-label-layout/select-label-layout-element.d.ts.map +1 -1
  140. package/dist/types/elements/shipment-summary/shipment-summary.d.ts +10 -2
  141. package/dist/types/elements/shipment-summary/shipment-summary.d.ts.map +1 -1
  142. package/dist/types/elements/shipments-grid/shipments-grid.d.ts +10 -2
  143. package/dist/types/elements/shipments-grid/shipments-grid.d.ts.map +1 -1
  144. package/dist/types/elements/shipments-grid/shipments-grid.styles.d.ts +5 -0
  145. package/dist/types/elements/shipments-grid/shipments-grid.styles.d.ts.map +1 -1
  146. package/dist/types/elements/theme-creator/theme-creator.d.ts +10 -2
  147. package/dist/types/elements/theme-creator/theme-creator.d.ts.map +1 -1
  148. package/dist/types/elements/transaction-history/transaction-history-element.d.ts +10 -2
  149. package/dist/types/elements/transaction-history/transaction-history-element.d.ts.map +1 -1
  150. package/dist/types/elements/unit-settings/unit-settings-element.d.ts +10 -2
  151. package/dist/types/elements/unit-settings/unit-settings-element.d.ts.map +1 -1
  152. package/dist/types/elements/vat-settings/vat-settings-element.d.ts +10 -2
  153. package/dist/types/elements/vat-settings/vat-settings-element.d.ts.map +1 -1
  154. package/dist/types/elements/void-label/void-label.d.ts +10 -2
  155. package/dist/types/elements/void-label/void-label.d.ts.map +1 -1
  156. package/dist/types/elements-provider/elements-provider.d.ts.map +1 -1
  157. package/dist/types/features/manage-warehouses/manage-warehouses.d.ts.map +1 -1
  158. package/dist/types/features/payment-method-settings/payment-method-settings.d.ts.map +1 -1
  159. package/dist/types/hooks/financial-services/financial-service.d.ts +279 -0
  160. package/dist/types/hooks/financial-services/financial-service.d.ts.map +1 -0
  161. package/dist/types/hooks/financial-services/index.d.ts +5 -0
  162. package/dist/types/hooks/financial-services/index.d.ts.map +1 -0
  163. package/dist/types/hooks/financial-services/use-financial-service.d.ts +40 -0
  164. package/dist/types/hooks/financial-services/use-financial-service.d.ts.map +1 -0
  165. package/dist/types/hooks/use-configure-shipment.d.ts.map +1 -1
  166. package/dist/types/hooks/use-get-service-data.d.ts +14 -0
  167. package/dist/types/hooks/use-get-service-data.d.ts.map +1 -0
  168. package/dist/types/locales/en/index.d.ts +10 -2
  169. package/dist/types/locales/en/index.d.ts.map +1 -1
  170. package/dist/types/types/financial-services.d.ts +34 -0
  171. package/dist/types/types/financial-services.d.ts.map +1 -0
  172. package/dist/types/types/index.d.ts +1 -1
  173. package/dist/types/types/index.d.ts.map +1 -1
  174. package/dist/types/utilities/feature-flags/feature-flags.d.ts.map +1 -1
  175. package/dist/types/utilities/feature-flags/types.d.ts +4 -0
  176. package/dist/types/utilities/feature-flags/types.d.ts.map +1 -1
  177. package/dist/types/workflows/account-settings/account-settings.d.ts +10 -2
  178. package/dist/types/workflows/account-settings/account-settings.d.ts.map +1 -1
  179. package/dist/types/workflows/carrier-services/carrier-services.d.ts +10 -2
  180. package/dist/types/workflows/carrier-services/carrier-services.d.ts.map +1 -1
  181. package/dist/types/workflows/connect-external-carrier/connect-external-carrier.d.ts +10 -2
  182. package/dist/types/workflows/connect-external-carrier/connect-external-carrier.d.ts.map +1 -1
  183. package/dist/types/workflows/label-workflow/label-workflow.d.ts +10 -2
  184. package/dist/types/workflows/label-workflow/label-workflow.d.ts.map +1 -1
  185. package/dist/types/workflows/onboarding/components/confirmation-and-submission-step/confirmation-and-submission-step.d.ts.map +1 -1
  186. package/dist/types/workflows/onboarding/components/confirmation-and-submission-step/use-confirmation-and-submission-step.d.ts.map +1 -1
  187. package/dist/types/workflows/onboarding/components/funding-step/funding-step.d.ts.map +1 -1
  188. package/dist/types/workflows/onboarding/components/ship-from-address-step/ship-from-address-step.d.ts.map +1 -1
  189. package/dist/types/workflows/onboarding/onboarding.d.ts +10 -2
  190. package/dist/types/workflows/onboarding/onboarding.d.ts.map +1 -1
  191. package/package.json +5 -5
  192. package/dist/cjs/components/forms/wallet-form/billing-fields.cjs +0 -71
  193. package/dist/cjs/hooks/use-get-service-name.cjs +0 -22
  194. package/dist/esm/components/forms/wallet-form/billing-fields.js +0 -69
  195. package/dist/esm/hooks/use-get-service-name.js +0 -20
  196. package/dist/types/components/forms/wallet-form/billing-fields.d.ts +0 -7
  197. package/dist/types/components/forms/wallet-form/billing-fields.d.ts.map +0 -1
  198. package/dist/types/hooks/use-get-service-name.d.ts +0 -5
  199. package/dist/types/hooks/use-get-service-name.d.ts.map +0 -1
@@ -0,0 +1,60 @@
1
+ 'use strict';
2
+
3
+ var reactApi = require('@shipengine/react-api');
4
+ var React = require('react');
5
+
6
+ const formatServiceCode = serviceCode => {
7
+ return serviceCode.split("_").map((word, index) => {
8
+ if (index === 0) return word.toUpperCase();
9
+ return word.charAt(0).toUpperCase() + word.slice(1).toLowerCase();
10
+ }).join(" ");
11
+ };
12
+ const useGetServiceData = () => {
13
+ const {
14
+ data: carrierList,
15
+ isLoading,
16
+ isError
17
+ } = reactApi.useListCarriers();
18
+ const getServiceInfo = React.useCallback(item => {
19
+ const {
20
+ serviceCode,
21
+ carrierId
22
+ } = item;
23
+ const labelCarrierCode = item.carrierCode;
24
+ // Error fetching carriers
25
+ if (isError) {
26
+ return {
27
+ serviceName: serviceCode !== null && serviceCode !== void 0 ? serviceCode : undefined,
28
+ carrierCode: undefined,
29
+ hasCarrierIcon: false
30
+ };
31
+ }
32
+ const carrier = carrierList === null || carrierList === void 0 ? void 0 : carrierList.find(c => c.carrierId === carrierId || c.carrierCode === labelCarrierCode);
33
+ // No carrier found for the given carrierId or carrierCode
34
+ if (!carrier) {
35
+ const serviceName = serviceCode ? formatServiceCode(serviceCode) : undefined;
36
+ const carrierCode = labelCarrierCode || undefined;
37
+ return {
38
+ serviceName,
39
+ carrierCode,
40
+ hasCarrierIcon: !!carrierCode
41
+ };
42
+ }
43
+ const service = carrier.services.find(s => s.serviceCode === serviceCode);
44
+ const carrierCode = labelCarrierCode || carrier.carrierCode;
45
+ const serviceName = (service === null || service === void 0 ? void 0 : service.name) || serviceCode || undefined;
46
+ return {
47
+ serviceName,
48
+ carrierCode,
49
+ hasCarrierIcon: !!service && !!carrierCode
50
+ };
51
+ }, [carrierList, isError]);
52
+ const getServiceName = React.useCallback(item => getServiceInfo(item).serviceName, [getServiceInfo]);
53
+ return {
54
+ getServiceInfo,
55
+ getServiceName,
56
+ isLoadingCarriers: isLoading
57
+ };
58
+ };
59
+
60
+ exports.useGetServiceData = useGetServiceData;
@@ -3,12 +3,13 @@
3
3
  var listLabels = {
4
4
  "list-labels": {
5
5
  title: "List Labels",
6
+ none: "None",
6
7
  headers: {
7
8
  created: "Created Date",
8
9
  shipmentId: "Shipment ID",
9
10
  parcels: "Parcels",
10
11
  recipient: "Recipient",
11
- shipping: "Shipping",
12
+ service: "Service",
12
13
  shipDate: "Ship Date",
13
14
  status: "Label Status",
14
15
  trackingStatus: "Delivery Status",
@@ -7,7 +7,7 @@ var listShipments = {
7
7
  headers: {
8
8
  created: "Created Date",
9
9
  modified: "Modified Date",
10
- shipping: "Shipping",
10
+ service: "Service",
11
11
  shipmentId: "Shipment ID",
12
12
  parcels: "Parcels",
13
13
  recipient: "Recipient",
@@ -7,6 +7,8 @@ var manageWarehouses = {
7
7
  editWarehouse: "Edit Address",
8
8
  contactName: "Contact Name",
9
9
  "default": "Default",
10
+ forcedDefault: "This is your default Ship From Address",
11
+ forcedDefaultNew: "This will be your default Ship From Address",
10
12
  isDefault: "Set as default Ship From address",
11
13
  locationName: "Location Name",
12
14
  residentialAddress: "Residential Address",
@@ -8,6 +8,11 @@ var registerWallet = {
8
8
  cardSubTitle: "Enter your payment details",
9
9
  addressSubTitle: "Billing Address"
10
10
  },
11
+ paymentMethod: {
12
+ title: "Payment Method",
13
+ creditCard: "Credit Card",
14
+ payByBank: "Pay by Bank"
15
+ },
11
16
  vatSettings: {
12
17
  title: "Tax Settings"
13
18
  },
@@ -1,5 +1,5 @@
1
1
  'use strict';
2
2
 
3
- var version = "2.27.0";
3
+ var version = "2.29.0";
4
4
 
5
5
  exports.version = version;
@@ -51,7 +51,8 @@ const defaultFeatureFlags = {
51
51
  labelLayout: false,
52
52
  nicknameRate: true,
53
53
  requireDhlTermsAcknowledgement: false,
54
- saveRate: true
54
+ saveRate: true,
55
+ showMediaMail: false
55
56
  },
56
57
  shipmentForm: {
57
58
  addOns: true,
@@ -72,22 +72,33 @@ const ConfirmationAndSubmissionStep = ({
72
72
  marginTop: styles.scopeTheme(theme).spacing(1)
73
73
  }),
74
74
  children: [jsxRuntime.jsx(ccProviderLogo.CcProviderLogo, {
75
- provider: provider,
76
- width: 56
75
+ provider: provider
77
76
  }), jsxRuntime.jsx(giger.Typography, {
78
77
  variant: "body2",
79
78
  children: `**** **** **** ${last4 !== null && last4 !== void 0 ? last4 : "****"}`
80
79
  })]
81
80
  });
82
81
  };
82
+ const mapAdyenBrandToProvider = brand => {
83
+ if (!brand) return undefined;
84
+ const brandMap = {
85
+ visa: "visa",
86
+ mc: "mastercard",
87
+ amex: "american_express",
88
+ discover: "discover"
89
+ };
90
+ return brandMap[brand.toLowerCase()];
91
+ };
83
92
  const PaymentInfoDisplay = () => {
84
93
  var _a, _b;
85
94
  return jsxRuntime.jsx(giger.GridChild, {
86
95
  colSpan: 9,
87
96
  children: walletPayload ? jsxRuntime.jsxs(jsxRuntime.Fragment, {
88
- children: [jsxRuntime.jsx(CreditCardDisplay, {
89
- last4: walletPayload.creditCard.cardNumber.slice(-4),
90
- provider: walletPayload.creditCard.provider
97
+ children: [walletPayload.paymentMethod === "credit_card" ? jsxRuntime.jsx(CreditCardDisplay, {
98
+ provider: mapAdyenBrandToProvider(walletPayload.cardBrand)
99
+ }) : jsxRuntime.jsx(giger.Typography, {
100
+ variant: "body2",
101
+ children: "Pay by Bank"
91
102
  }), showBillingAddress && jsxRuntime.jsxs(jsxRuntime.Fragment, {
92
103
  children: [jsxRuntime.jsx(spacer.Spacer, {
93
104
  multiplier: 1
@@ -153,8 +153,8 @@ const useConfirmationAndSubmissionStep = ({
153
153
  insuranceProviderProfiles
154
154
  }) => (_a, warehousePayload_1) => _tslib.__awaiter(void 0, [_a, warehousePayload_1], void 0, function* ({
155
155
  address,
156
- creditCard,
157
- iovationBlackbox
156
+ iovationBlackbox,
157
+ auctanePaySessionId
158
158
  }, warehousePayload) {
159
159
  var _b, _c;
160
160
  const warehouse = yield createOrUpdateWarehouse(warehousePayload);
@@ -175,7 +175,7 @@ const useConfirmationAndSubmissionStep = ({
175
175
  // Standard seller
176
176
  let fundingSource;
177
177
  try {
178
- fundingSource = yield createFundingSource({
178
+ const fundingSourcePayload = {
179
179
  acceptedTerms: fundingSourceRequiredTerms.map(({
180
180
  termType,
181
181
  version
@@ -191,9 +191,10 @@ const useConfirmationAndSubmissionStep = ({
191
191
  }),
192
192
  iovationBlackBox: iovationBlackbox,
193
193
  paymentMethod: {
194
- creditCardInfo: Object.assign({}, creditCard)
194
+ sessionId: auctanePaySessionId
195
195
  }
196
- });
196
+ };
197
+ fundingSource = yield createFundingSource(fundingSourcePayload);
197
198
  } catch (error) {
198
199
  console.error(error);
199
200
  throw error;
@@ -248,7 +249,6 @@ const useConfirmationAndSubmissionStep = ({
248
249
  email: (_a = walletPayload.address.email) !== null && _a !== void 0 ? _a : "",
249
250
  fullName: walletPayload.address.name
250
251
  }),
251
- creditCardInfo: walletPayload.creditCard,
252
252
  fundingSourceId
253
253
  });
254
254
  }
@@ -29,9 +29,13 @@ const FundingStep = ({
29
29
  passengerData
30
30
  } = _a,
31
31
  rest = _tslib.__rest(_a, ["passengerData"]);
32
- return onSubmit(Object.assign(Object.assign({}, passengerData), {
33
- address: rest.originAddress
34
- }));
32
+ const walletData = passengerData;
33
+ const walletPayload = {
34
+ address: rest.originAddress,
35
+ iovationBlackbox: walletData.iovationBlackbox,
36
+ paymentMethod: "credit_card"
37
+ };
38
+ onSubmit(walletPayload);
35
39
  },
36
40
  children: jsxRuntime.jsx(walletForm.WalletForm, {
37
41
  address: address,
@@ -45,7 +45,7 @@ const ShipFromAddressStep = ({
45
45
  }), jsxRuntime.jsx(warehouseForm.WarehouseForm, {
46
46
  onSubmit: onSubmit,
47
47
  requireEmail: true,
48
- shouldForceDefault: (pendingWarehouse === null || pendingWarehouse === void 0 ? void 0 : pendingWarehouse.isDefault) || (pendingShipFrom === null || pendingShipFrom === void 0 ? void 0 : pendingShipFrom.isDefault),
48
+ shouldForceDefault: true,
49
49
  submitButtonTitle: t("actions.continue"),
50
50
  useStrictSchema: true,
51
51
  warehouse: pendingWarehouse !== null && pendingWarehouse !== void 0 ? pendingWarehouse : pendingShipFrom
@@ -1,6 +1,7 @@
1
1
  'use strict';
2
2
 
3
3
  var jsxRuntime = require('@emotion/react/jsx-runtime');
4
+ var auctanePaySessionContext = require('../../contexts/auctane-pay-session-context.cjs');
4
5
  var onboardingWizard = require('./components/onboarding-wizard/onboarding-wizard.cjs');
5
6
  var index = require('../../locales/en/index.cjs');
6
7
  var createElement = require('../../create-element/create-element.cjs');
@@ -45,11 +46,13 @@ const Component = ({
45
46
  onSellerOnboarded,
46
47
  skipWelcomePage
47
48
  }) => {
48
- return jsxRuntime.jsx(onboardingWizard.OnboardingWizard, {
49
- defaultShipFromAddress: defaultShipFromAddress,
50
- onComplete: onComplete,
51
- onSellerOnboarded: onSellerOnboarded,
52
- skipWelcomePage: skipWelcomePage
49
+ return jsxRuntime.jsx(auctanePaySessionContext.AuctanePaySessionProvider, {
50
+ children: jsxRuntime.jsx(onboardingWizard.OnboardingWizard, {
51
+ defaultShipFromAddress: defaultShipFromAddress,
52
+ onComplete: onComplete,
53
+ onSellerOnboarded: onSellerOnboarded,
54
+ skipWelcomePage: skipWelcomePage
55
+ })
53
56
  });
54
57
  };
55
58
  /**
@@ -188,6 +188,7 @@ const RateCard = ({
188
188
  carrierCode: carrierCode,
189
189
  carrierFriendlyName: carrierFriendlyName,
190
190
  costBreakdownProps: costBreakdownCommonProps,
191
+ hasRateAttributes: !!(rateAttributes === null || rateAttributes === void 0 ? void 0 : rateAttributes.length),
191
192
  rateDetailsProps: showRateDetails ? {
192
193
  rateDetails
193
194
  } : undefined,
@@ -1,14 +1,19 @@
1
+ import { __awaiter } from '../../../_virtual/_tslib.js';
1
2
  import { jsx, jsxs, Fragment } from '@emotion/react/jsx-runtime';
3
+ import { useAuctanePaySession } from '../../../contexts/auctane-pay-session-context.js';
2
4
  import { useToggle } from '../../../hooks/use-toggle.js';
3
- import { Grid, GridChild, Typography, Button, ButtonVariant, ButtonColor } from '@shipengine/giger';
5
+ import { Grid, GridChild, InlineNotification, NotificationType, Typography, Spinner, SpinnerSize, Button, ButtonVariant, ButtonColor } from '@shipengine/giger';
4
6
  import { formLogger } from '../../../utilities/form-logger.js';
5
7
  import { validationResolver } from '../../../utilities/validation.js';
8
+ import { useState } from 'react';
6
9
  import { useForm } from 'react-hook-form';
7
10
  import { useTranslation } from 'react-i18next';
8
- import { BillingFields } from '../wallet-form/billing-fields.js';
9
11
  import { styles } from './edit-billing-form.styles.js';
10
12
  import { getWalletSchema } from '../wallet-form/wallet-schema.js';
13
+ import { useFinancialService } from '../../../hooks/financial-services/use-financial-service.js';
11
14
  import { AddressFields } from '../address-form/address-fields.js';
15
+ import { useElements } from '../../../elements-provider/elements-context-provider.js';
16
+ import { Spacer } from '../../spacer/spacer.js';
12
17
  import { AddressDisplay } from '../../address-display/address-display.js';
13
18
  import { LinkAction } from '../../link-action/link-action.js';
14
19
  import { ButtonGroup } from '../../button-group/button-group.js';
@@ -24,7 +29,13 @@ const EditBillingForm = ({
24
29
  const {
25
30
  t
26
31
  } = useTranslation();
32
+ const {
33
+ locale
34
+ } = useElements();
35
+ const [isAdyenReady, setIsAdyenReady] = useState(false);
27
36
  const [editBillingInfo, toggleEditBillingInfo] = useToggle(false);
37
+ const [paymentError, setPaymentError] = useState(null);
38
+ const sessionContext = useAuctanePaySession();
28
39
  const form = useForm({
29
40
  resolver: validationResolver(getWalletSchema("emailRequired", "blackboxOptional"), ["creditCard"]),
30
41
  defaultValues: {
@@ -42,35 +53,99 @@ const EditBillingForm = ({
42
53
  }
43
54
  }
44
55
  });
45
- const handleSubmit = form.handleSubmit(values => {
56
+ const {
57
+ adyenRef,
58
+ submit: adyenSubmit,
59
+ getSessionData
60
+ } = useFinancialService({
61
+ getAdyenSessionData: sessionContext.getSessionData,
62
+ paymentMethod: "credit_card",
63
+ options: {
64
+ showPayButton: false,
65
+ locale: locale || "en-US",
66
+ onChange: () => {
67
+ setPaymentError(null);
68
+ },
69
+ creditCardOptions: {
70
+ onLoad: event => {
71
+ if (event.iframesLoaded) {
72
+ setIsAdyenReady(true);
73
+ }
74
+ }
75
+ }
76
+ }
77
+ });
78
+ const handleSubmit = form.handleSubmit(values => __awaiter(void 0, void 0, void 0, function* () {
46
79
  const {
47
- address,
48
- creditCard
80
+ address
49
81
  } = values;
50
82
  const billingInfo = Object.assign(Object.assign({}, address), {
51
83
  company: address.companyName ? address.companyName : "",
52
84
  email: address.email,
53
85
  fullName: address.name
54
86
  });
55
- onSubmit(billingInfo, creditCard);
56
- });
87
+ const processPayment = () => __awaiter(void 0, void 0, void 0, function* () {
88
+ try {
89
+ const paymentResult = yield adyenSubmit();
90
+ if (!paymentResult.success) {
91
+ // Payment failed - show error and allow retry
92
+ setPaymentError(paymentResult.error || "Payment failed");
93
+ form.reset(undefined, {
94
+ keepValues: true
95
+ });
96
+ return;
97
+ }
98
+ if ((paymentResult === null || paymentResult === void 0 ? void 0 : paymentResult.resultCode) === "Authorised") {
99
+ // Payment was successful, proceed with form submission
100
+ const sessionData = getSessionData();
101
+ onSubmit(billingInfo, {
102
+ sessionId: sessionData === null || sessionData === void 0 ? void 0 : sessionData.id
103
+ });
104
+ }
105
+ } catch (error) {
106
+ // Payment processing error
107
+ const errorMessage = error instanceof Error ? error.message : "Payment processing failed";
108
+ setPaymentError(errorMessage);
109
+ }
110
+ });
111
+ yield processPayment();
112
+ }));
57
113
  return jsx("form", {
58
114
  onSubmit: formLogger.capture(handleSubmit),
59
115
  children: jsxs(Grid, {
60
116
  css: styles.container,
61
- children: [jsx(GridChild, {
117
+ children: [paymentError && jsxs(Fragment, {
118
+ children: [jsx(GridChild, {
119
+ colSpan: 12,
120
+ children: jsx(InlineNotification, {
121
+ title: t("register-wallet:sections.notifications.error.title"),
122
+ type: NotificationType.ERROR,
123
+ children: paymentError
124
+ })
125
+ }), jsx(Spacer, {
126
+ multiplier: 2
127
+ })]
128
+ }), jsx(GridChild, {
62
129
  colSpan: 12,
63
130
  css: styles.subtitle,
64
131
  children: jsx(Typography, {
65
132
  variant: "subtitle1",
66
133
  children: t("register-wallet:settings.billing.subtitleCard")
67
134
  })
68
- }), jsx(GridChild, {
135
+ }), jsxs(GridChild, {
69
136
  colSpan: 12,
70
- children: jsx(BillingFields, {
71
- form: form
72
- })
73
- }), jsx(GridChild, {
137
+ children: [!isAdyenReady && jsx("div", {
138
+ css: styles.loadingContainer,
139
+ children: jsx(Spinner, {
140
+ size: SpinnerSize.SIZE_LARGE
141
+ })
142
+ }), jsx("div", {
143
+ css: styles.adyenContainer,
144
+ "data-ready": isAdyenReady,
145
+ "data-testid": "adyen-div",
146
+ ref: adyenRef
147
+ })]
148
+ }), jsx(Spacer, {}), jsx(GridChild, {
74
149
  colSpan: 12,
75
150
  css: styles.subtitle,
76
151
  children: jsx(Typography, {
@@ -14,6 +14,21 @@ const styles = createStyles({
14
14
  subtitle: theme => ({
15
15
  paddingBottom: scopeTheme(theme).spacing(2),
16
16
  textAlign: "left"
17
+ }),
18
+ loadingContainer: theme => ({
19
+ display: "flex",
20
+ justifyContent: "center",
21
+ paddingTop: scopeTheme(theme).spacing(2),
22
+ paddingBottom: scopeTheme(theme).spacing(2)
23
+ }),
24
+ adyenContainer: () => ({
25
+ "&:not([data-ready='true'])": {
26
+ display: "none"
27
+ },
28
+ // Hide Adyen's "All fields are required" instruction text
29
+ "& .adyen-checkout-form-instruction": {
30
+ display: "none"
31
+ }
17
32
  })
18
33
  });
19
34
 
@@ -1,3 +1,2 @@
1
1
  export { WalletForm } from './wallet-form.js';
2
2
  export { getBillingAddressSchema, getWalletSchema, walletBlackboxSchemas, walletEmailSchemas } from './wallet-schema.js';
3
- export { BillingFields } from './billing-fields.js';