@shipengine/elements 2.28.0 → 2.29.1

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 (370) hide show
  1. package/dist/cjs/components/field/fields.cjs +2 -2
  2. package/dist/cjs/components/forms/add-funds-form/add-funds-form.cjs +1 -1
  3. package/dist/cjs/components/forms/address-form/address-form.cjs +1 -1
  4. package/dist/cjs/components/forms/address-form/index.cjs +2 -2
  5. package/dist/cjs/components/forms/auto-funding-form/auto-funding-form.cjs +1 -1
  6. package/dist/cjs/components/forms/edit-billing-form/edit-billing-form.cjs +87 -12
  7. package/dist/cjs/components/forms/edit-billing-form/edit-billing-form.styles.cjs +15 -0
  8. package/dist/cjs/components/forms/ship-from-address-form/ship-from-address-form.cjs +1 -1
  9. package/dist/cjs/components/forms/vat-form/vat-form.cjs +1 -1
  10. package/dist/cjs/components/forms/wallet-form/index.cjs +0 -2
  11. package/dist/cjs/components/forms/wallet-form/wallet-form.cjs +153 -23
  12. package/dist/cjs/components/forms/wallet-form/wallet-form.styles.cjs +15 -0
  13. package/dist/cjs/components/forms/wallet-form/wallet-schema.cjs +8 -43
  14. package/dist/cjs/components/grid-controller/index.cjs +2 -2
  15. package/dist/cjs/components/grid-filters/components/index.cjs +2 -2
  16. package/dist/cjs/components/grid-filters/components/label-id-filter/label-id-filter.cjs +1 -1
  17. package/dist/cjs/components/grid-filters/components/label-status-filter/label-status-filter.cjs +1 -1
  18. package/dist/cjs/components/grid-filters/components/shipment-id-filter/shipment-id-filter.cjs +1 -1
  19. package/dist/cjs/components/grid-filters/components/tracking-status-filter/tracking-status-filter.cjs +1 -1
  20. package/dist/cjs/components/history/history-card/history-card.cjs +1 -1
  21. package/dist/cjs/components/modal/index.cjs +2 -2
  22. package/dist/cjs/components/modal/modal.cjs +1 -1
  23. package/dist/cjs/components/payment/payment-method-selector/index.cjs +7 -0
  24. package/dist/cjs/components/payment/payment-method-selector/payment-method-selector.cjs +55 -0
  25. package/dist/cjs/components/payment/payment-method-selector/payment-method-selector.styles.cjs +58 -0
  26. package/dist/cjs/components/wallet-card/wallet-card.cjs +1 -1
  27. package/dist/cjs/contexts/auctane-pay-session-context.cjs +158 -0
  28. package/dist/cjs/contexts/index.cjs +8 -0
  29. package/dist/cjs/create-element/element/element.cjs +1 -1
  30. package/dist/cjs/elements/customs-form/customs-form-element.stories.cjs +2 -2
  31. package/dist/cjs/elements/index.cjs +23 -23
  32. package/dist/cjs/elements/labels-grid/labels-grid.cjs +1 -1
  33. package/dist/cjs/elements/manage-carriers/manage-carriers.cjs +1 -1
  34. package/dist/cjs/elements/manage-external-carriers/manage-external-carriers.cjs +4 -2
  35. package/dist/cjs/elements/purchase-label/components/customs-forms/customs-forms.cjs +1 -1
  36. package/dist/cjs/elements/purchase-label/components/customs-forms/product-form/product-form.cjs +1 -1
  37. package/dist/cjs/elements/purchase-label/components/rate-form/rate-form.cjs +2 -2
  38. package/dist/cjs/elements/purchase-label/hooks/index.cjs +25 -25
  39. package/dist/cjs/elements/purchase-label/hooks/use-rate-options.cjs +1 -1
  40. package/dist/cjs/elements/shipment-summary/components/label-display/label-card.cjs +1 -1
  41. package/dist/cjs/elements/theme-creator/components/configure-theme/configure-theme.cjs +1 -1
  42. package/dist/cjs/elements/theme-creator/index.cjs +2 -2
  43. package/dist/cjs/features/manage-external-carriers/manage-external-carriers.cjs +3 -1
  44. package/dist/cjs/features/manage-warehouses/manage-warehouses.cjs +1 -1
  45. package/dist/cjs/features/payment-method-settings/payment-method-settings.cjs +4 -3
  46. package/dist/cjs/hooks/financial-services/financial-service.cjs +464 -0
  47. package/dist/cjs/hooks/financial-services/index.cjs +9 -0
  48. package/dist/cjs/hooks/financial-services/use-financial-service.cjs +188 -0
  49. package/dist/cjs/hooks/index.cjs +4 -4
  50. package/dist/cjs/index.cjs +44 -44
  51. package/dist/cjs/locales/en/register-wallet.json.cjs +5 -0
  52. package/dist/cjs/package.json.cjs +1 -1
  53. package/dist/cjs/utilities/form-logger.cjs +4 -4
  54. package/dist/cjs/utilities/index.cjs +6 -6
  55. package/dist/cjs/utilities/shipengine/index.cjs +11 -11
  56. package/dist/cjs/workflows/carrier-services/carrier-services.cjs +3 -3
  57. package/dist/cjs/workflows/index.cjs +6 -6
  58. package/dist/cjs/workflows/onboarding/components/carrier-recovery-form/carrier-recovery-form.cjs +1 -1
  59. package/dist/cjs/workflows/onboarding/components/confirmation-and-submission-step/confirmation-and-submission-step.cjs +16 -5
  60. package/dist/cjs/workflows/onboarding/components/confirmation-and-submission-step/use-confirmation-and-submission-step.cjs +6 -6
  61. package/dist/cjs/workflows/onboarding/components/funding-step/funding-step.cjs +7 -3
  62. package/dist/cjs/workflows/onboarding/components/terms-agreement-form/terms-agreement-form.cjs +1 -1
  63. package/dist/cjs/workflows/onboarding/onboarding.cjs +8 -5
  64. package/dist/esm/components/field/fields.js +1 -1
  65. package/dist/esm/components/forms/add-funds-form/add-funds-form.js +1 -1
  66. package/dist/esm/components/forms/address-form/address-form.js +1 -1
  67. package/dist/esm/components/forms/address-form/index.js +1 -1
  68. package/dist/esm/components/forms/auto-funding-form/auto-funding-form.js +1 -1
  69. package/dist/esm/components/forms/edit-billing-form/edit-billing-form.js +88 -13
  70. package/dist/esm/components/forms/edit-billing-form/edit-billing-form.styles.js +15 -0
  71. package/dist/esm/components/forms/ship-from-address-form/ship-from-address-form.js +1 -1
  72. package/dist/esm/components/forms/vat-form/vat-form.js +1 -1
  73. package/dist/esm/components/forms/wallet-form/index.js +0 -1
  74. package/dist/esm/components/forms/wallet-form/wallet-form.js +155 -25
  75. package/dist/esm/components/forms/wallet-form/wallet-form.styles.js +15 -0
  76. package/dist/esm/components/forms/wallet-form/wallet-schema.js +1 -36
  77. package/dist/esm/components/grid-controller/index.js +1 -1
  78. package/dist/esm/components/grid-filters/components/index.js +1 -1
  79. package/dist/esm/components/grid-filters/components/label-id-filter/label-id-filter.js +1 -1
  80. package/dist/esm/components/grid-filters/components/label-status-filter/label-status-filter.js +1 -1
  81. package/dist/esm/components/grid-filters/components/shipment-id-filter/shipment-id-filter.js +1 -1
  82. package/dist/esm/components/grid-filters/components/tracking-status-filter/tracking-status-filter.js +1 -1
  83. package/dist/esm/components/history/history-card/history-card.js +1 -1
  84. package/dist/esm/components/modal/index.js +1 -1
  85. package/dist/esm/components/modal/modal.js +1 -1
  86. package/dist/esm/components/payment/payment-method-selector/index.js +1 -0
  87. package/dist/esm/components/payment/payment-method-selector/payment-method-selector.js +53 -0
  88. package/dist/esm/components/payment/payment-method-selector/payment-method-selector.styles.js +56 -0
  89. package/dist/esm/components/wallet-card/wallet-card.js +1 -1
  90. package/dist/esm/contexts/auctane-pay-session-context.js +155 -0
  91. package/dist/esm/contexts/index.js +1 -0
  92. package/dist/esm/create-element/element/element.js +1 -1
  93. package/dist/esm/elements/customs-form/customs-form-element.stories.js +2 -2
  94. package/dist/esm/elements/index.js +21 -21
  95. package/dist/esm/elements/labels-grid/labels-grid.js +1 -1
  96. package/dist/esm/elements/manage-carriers/manage-carriers.js +1 -1
  97. package/dist/esm/elements/manage-external-carriers/manage-external-carriers.js +4 -2
  98. package/dist/esm/elements/purchase-label/components/customs-forms/customs-forms.js +1 -1
  99. package/dist/esm/elements/purchase-label/components/customs-forms/product-form/product-form.js +1 -1
  100. package/dist/esm/elements/purchase-label/components/rate-form/rate-form.js +2 -2
  101. package/dist/esm/elements/purchase-label/hooks/index.js +12 -12
  102. package/dist/esm/elements/purchase-label/hooks/use-rate-options.js +1 -1
  103. package/dist/esm/elements/shipment-summary/components/label-display/label-card.js +1 -1
  104. package/dist/esm/elements/theme-creator/components/configure-theme/configure-theme.js +1 -1
  105. package/dist/esm/elements/theme-creator/index.js +1 -1
  106. package/dist/esm/features/manage-external-carriers/manage-external-carriers.js +3 -1
  107. package/dist/esm/features/manage-warehouses/manage-warehouses.js +1 -1
  108. package/dist/esm/features/payment-method-settings/payment-method-settings.js +5 -4
  109. package/dist/esm/hooks/financial-services/financial-service.js +462 -0
  110. package/dist/esm/hooks/financial-services/index.js +2 -0
  111. package/dist/esm/hooks/financial-services/use-financial-service.js +186 -0
  112. package/dist/esm/hooks/index.js +2 -2
  113. package/dist/esm/index.js +32 -32
  114. package/dist/esm/locales/en/register-wallet.json.js +5 -0
  115. package/dist/esm/package.json.js +1 -1
  116. package/dist/esm/utilities/form-logger.js +4 -4
  117. package/dist/esm/utilities/index.js +2 -2
  118. package/dist/esm/utilities/shipengine/index.js +3 -3
  119. package/dist/esm/workflows/carrier-services/carrier-services.js +3 -3
  120. package/dist/esm/workflows/index.js +6 -6
  121. package/dist/esm/workflows/onboarding/components/carrier-recovery-form/carrier-recovery-form.js +1 -1
  122. package/dist/esm/workflows/onboarding/components/confirmation-and-submission-step/confirmation-and-submission-step.js +16 -5
  123. package/dist/esm/workflows/onboarding/components/confirmation-and-submission-step/use-confirmation-and-submission-step.js +6 -6
  124. package/dist/esm/workflows/onboarding/components/funding-step/funding-step.js +7 -3
  125. package/dist/esm/workflows/onboarding/components/terms-agreement-form/terms-agreement-form.js +1 -1
  126. package/dist/esm/workflows/onboarding/onboarding.js +8 -5
  127. package/dist/types/components/actions-menu/actions-menu.d.ts.map +1 -1
  128. package/dist/types/components/actions-menu/index.d.ts +1 -1
  129. package/dist/types/components/actions-menu/index.d.ts.map +1 -1
  130. package/dist/types/components/address-preference-context/address-preference-context.d.ts +0 -1
  131. package/dist/types/components/address-preference-context/address-preference-context.d.ts.map +1 -1
  132. package/dist/types/components/carrier-balance/carrier-balance.d.ts.map +1 -1
  133. package/dist/types/components/disclosure/disclosure.d.ts.map +1 -1
  134. package/dist/types/components/drawer/drawer.d.ts.map +1 -1
  135. package/dist/types/components/enable-insurance-banner/enable-insurance-banner.d.ts.map +1 -1
  136. package/dist/types/components/field/checkbox-input/checkbox-input.d.ts.map +1 -1
  137. package/dist/types/components/field/expiration-input/expiration-input.d.ts.map +1 -1
  138. package/dist/types/components/field/fields.d.ts +1 -1
  139. package/dist/types/components/field/fields.d.ts.map +1 -1
  140. package/dist/types/components/field/input-group/input-group.d.ts.map +1 -1
  141. package/dist/types/components/field/number-input/number-input.d.ts.map +1 -1
  142. package/dist/types/components/field/rate-select/rate-card/cost-breakdown/cost-breakdown.d.ts.map +1 -1
  143. package/dist/types/components/field/rate-select/rate-card/rate-detail-cost-breakdown/rate-detail-cost-breakdown.d.ts.map +1 -1
  144. package/dist/types/components/field/select/select.d.ts.map +1 -1
  145. package/dist/types/components/field/submit-button/submit-button.d.ts.map +1 -1
  146. package/dist/types/components/field/text-area/text-area.d.ts.map +1 -1
  147. package/dist/types/components/field/text-input/text-input.d.ts.map +1 -1
  148. package/dist/types/components/field-label/field-label.d.ts.map +1 -1
  149. package/dist/types/components/forms/add-funds-form/add-funds-form.d.ts.map +1 -1
  150. package/dist/types/components/forms/add-funds-form/index.d.ts +1 -1
  151. package/dist/types/components/forms/add-funds-form/index.d.ts.map +1 -1
  152. package/dist/types/components/forms/address-form/index.d.ts +3 -3
  153. package/dist/types/components/forms/address-form/index.d.ts.map +1 -1
  154. package/dist/types/components/forms/edit-billing-form/edit-billing-form.d.ts +2 -2
  155. package/dist/types/components/forms/edit-billing-form/edit-billing-form.d.ts.map +1 -1
  156. package/dist/types/components/forms/edit-billing-form/edit-billing-form.styles.d.ts +14 -0
  157. package/dist/types/components/forms/edit-billing-form/edit-billing-form.styles.d.ts.map +1 -1
  158. package/dist/types/components/forms/ship-from-address-form/ship-from-address-form.d.ts.map +1 -1
  159. package/dist/types/components/forms/vat-form/vat-form.d.ts.map +1 -1
  160. package/dist/types/components/forms/wallet-form/index.d.ts +1 -2
  161. package/dist/types/components/forms/wallet-form/index.d.ts.map +1 -1
  162. package/dist/types/components/forms/wallet-form/wallet-form.d.ts +4 -1
  163. package/dist/types/components/forms/wallet-form/wallet-form.d.ts.map +1 -1
  164. package/dist/types/components/forms/wallet-form/wallet-form.styles.d.ts +14 -0
  165. package/dist/types/components/forms/wallet-form/wallet-form.styles.d.ts.map +1 -1
  166. package/dist/types/components/forms/wallet-form/wallet-schema.d.ts +3 -43
  167. package/dist/types/components/forms/wallet-form/wallet-schema.d.ts.map +1 -1
  168. package/dist/types/components/forms/warehouse-form/index.d.ts +1 -1
  169. package/dist/types/components/forms/warehouse-form/index.d.ts.map +1 -1
  170. package/dist/types/components/grid-controller/cell-formatted-date.d.ts.map +1 -1
  171. package/dist/types/components/grid-controller/index.d.ts +2 -2
  172. package/dist/types/components/grid-controller/index.d.ts.map +1 -1
  173. package/dist/types/components/grid-filters/components/created-date-filter/created-date-filter.d.ts.map +1 -1
  174. package/dist/types/components/grid-filters/components/index.d.ts +1 -1
  175. package/dist/types/components/grid-filters/components/index.d.ts.map +1 -1
  176. package/dist/types/components/grid-filters/components/label-id-filter/label-id-filter.d.ts.map +1 -1
  177. package/dist/types/components/grid-filters/components/label-status-filter/label-status-filter-schema.d.ts.map +1 -1
  178. package/dist/types/components/grid-filters/components/label-status-filter/label-status-filter.d.ts.map +1 -1
  179. package/dist/types/components/grid-filters/components/shipment-id-filter/shipment-id-filter.d.ts.map +1 -1
  180. package/dist/types/components/grid-filters/components/tracking-status-filter/tracking-status-filter.d.ts.map +1 -1
  181. package/dist/types/components/grid-filters/index.d.ts +1 -1
  182. package/dist/types/components/grid-filters/index.d.ts.map +1 -1
  183. package/dist/types/components/inline-label/inline-label.d.ts.map +1 -1
  184. package/dist/types/components/insurance-popover/insurance-popover.d.ts.map +1 -1
  185. package/dist/types/components/items-breakdown/items-breakdown.d.ts.map +1 -1
  186. package/dist/types/components/loader/loader.d.ts.map +1 -1
  187. package/dist/types/components/modal/index.d.ts +1 -1
  188. package/dist/types/components/modal/index.d.ts.map +1 -1
  189. package/dist/types/components/modal/modal.d.ts.map +1 -1
  190. package/dist/types/components/pager/pager.d.ts.map +1 -1
  191. package/dist/types/components/payment/payment-method-selector/index.d.ts +2 -0
  192. package/dist/types/components/payment/payment-method-selector/index.d.ts.map +1 -0
  193. package/dist/types/components/payment/payment-method-selector/payment-method-selector.d.ts +11 -0
  194. package/dist/types/components/payment/payment-method-selector/payment-method-selector.d.ts.map +1 -0
  195. package/dist/types/components/payment/payment-method-selector/payment-method-selector.styles.d.ts +52 -0
  196. package/dist/types/components/payment/payment-method-selector/payment-method-selector.styles.d.ts.map +1 -0
  197. package/dist/types/components/section/section.d.ts.map +1 -1
  198. package/dist/types/components/suspend/suspend-text.d.ts.map +1 -1
  199. package/dist/types/contexts/auctane-pay-session-context.d.ts +54 -0
  200. package/dist/types/contexts/auctane-pay-session-context.d.ts.map +1 -0
  201. package/dist/types/contexts/index.d.ts +3 -0
  202. package/dist/types/contexts/index.d.ts.map +1 -0
  203. package/dist/types/create-element/element/element.d.ts.map +1 -1
  204. package/dist/types/elements/customs-form/customs-form-element.d.ts +5 -0
  205. package/dist/types/elements/customs-form/customs-form-element.d.ts.map +1 -1
  206. package/dist/types/elements/customs-form/customs-form-element.stories.d.ts.map +1 -1
  207. package/dist/types/elements/customs-form/customs-form-types.d.ts +1 -1
  208. package/dist/types/elements/customs-form/customs-form-types.d.ts.map +1 -1
  209. package/dist/types/elements/index.d.ts +11 -11
  210. package/dist/types/elements/index.d.ts.map +1 -1
  211. package/dist/types/elements/labels-grid/index.d.ts +1 -1
  212. package/dist/types/elements/labels-grid/index.d.ts.map +1 -1
  213. package/dist/types/elements/labels-grid/labels-grid.d.ts +5 -0
  214. package/dist/types/elements/labels-grid/labels-grid.d.ts.map +1 -1
  215. package/dist/types/elements/manage-carriers/manage-carriers.d.ts +5 -0
  216. package/dist/types/elements/manage-carriers/manage-carriers.d.ts.map +1 -1
  217. package/dist/types/elements/manage-external-carriers/manage-external-carriers.d.ts +7 -2
  218. package/dist/types/elements/manage-external-carriers/manage-external-carriers.d.ts.map +1 -1
  219. package/dist/types/elements/manage-funding/manage-funding-element.d.ts +5 -0
  220. package/dist/types/elements/manage-funding/manage-funding-element.d.ts.map +1 -1
  221. package/dist/types/elements/manage-warehouses/manage-warehouses.d.ts +5 -0
  222. package/dist/types/elements/manage-warehouses/manage-warehouses.d.ts.map +1 -1
  223. package/dist/types/elements/payment-method-settings/payment-method-settings-element.d.ts +5 -0
  224. package/dist/types/elements/payment-method-settings/payment-method-settings-element.d.ts.map +1 -1
  225. package/dist/types/elements/purchase-label/components/customs-forms/product-form/product-form.d.ts.map +1 -1
  226. package/dist/types/elements/purchase-label/components/customs-forms/tax-ids/form/index.d.ts +1 -1
  227. package/dist/types/elements/purchase-label/components/customs-forms/tax-ids/form/index.d.ts.map +1 -1
  228. package/dist/types/elements/purchase-label/components/customs-forms/tax-ids/form/schema.d.ts.map +1 -1
  229. package/dist/types/elements/purchase-label/components/customs-forms/tax-ids/index.d.ts +1 -1
  230. package/dist/types/elements/purchase-label/components/customs-forms/tax-ids/index.d.ts.map +1 -1
  231. package/dist/types/elements/purchase-label/components/customs-forms/windsor-framework/windsor-framework.d.ts.map +1 -1
  232. package/dist/types/elements/purchase-label/components/index.d.ts +2 -2
  233. package/dist/types/elements/purchase-label/components/index.d.ts.map +1 -1
  234. package/dist/types/elements/purchase-label/components/preset-descriptor/preset-descriptor.d.ts.map +1 -1
  235. package/dist/types/elements/purchase-label/components/pudo/here-map/here-map.d.ts.map +1 -1
  236. package/dist/types/elements/purchase-label/components/pudo/here-map/use-here-map.d.ts.map +1 -1
  237. package/dist/types/elements/purchase-label/components/pudo/pudo-rate-tabs/pudo-rate-tabs.d.ts.map +1 -1
  238. package/dist/types/elements/purchase-label/components/rate-form/rate-view.d.ts.map +1 -1
  239. package/dist/types/elements/purchase-label/components/shipment-form/shipment-schema.d.ts.map +1 -1
  240. package/dist/types/elements/purchase-label/hooks/index.d.ts +13 -13
  241. package/dist/types/elements/purchase-label/hooks/index.d.ts.map +1 -1
  242. package/dist/types/elements/purchase-label/hooks/use-confirmation-options.d.ts.map +1 -1
  243. package/dist/types/elements/purchase-label/hooks/use-customs-contents-options.d.ts.map +1 -1
  244. package/dist/types/elements/purchase-label/hooks/use-customs-non-delivery-options.d.ts.map +1 -1
  245. package/dist/types/elements/purchase-label/hooks/use-customs.d.ts.map +1 -1
  246. package/dist/types/elements/purchase-label/hooks/use-movement-indicator-options.d.ts.map +1 -1
  247. package/dist/types/elements/purchase-label/hooks/use-package-options/use-package-options.d.ts.map +1 -1
  248. package/dist/types/elements/purchase-label/hooks/use-presets.d.ts.map +1 -1
  249. package/dist/types/elements/purchase-label/hooks/use-request-preferred-rates.d.ts.map +1 -1
  250. package/dist/types/elements/purchase-label/hooks/use-service-code-options/use-service-code-options.d.ts.map +1 -1
  251. package/dist/types/elements/purchase-label/hooks/use-service-points.d.ts.map +1 -1
  252. package/dist/types/elements/purchase-label/hooks/use-ship-from-address-options.d.ts.map +1 -1
  253. package/dist/types/elements/purchase-label/hooks/use-shipment-form.d.ts.map +1 -1
  254. package/dist/types/elements/purchase-label/hooks/use-shipping-presets-options.d.ts.map +1 -1
  255. package/dist/types/elements/purchase-label/hooks/use-windsor-framework.d.ts.map +1 -1
  256. package/dist/types/elements/purchase-label/purchase-label.d.ts +5 -0
  257. package/dist/types/elements/purchase-label/purchase-label.d.ts.map +1 -1
  258. package/dist/types/elements/select-label-layout/select-label-layout-element.d.ts +5 -0
  259. package/dist/types/elements/select-label-layout/select-label-layout-element.d.ts.map +1 -1
  260. package/dist/types/elements/shipment-summary/components/label-display/label-display.d.ts.map +1 -1
  261. package/dist/types/elements/shipment-summary/shipment-summary.d.ts +5 -0
  262. package/dist/types/elements/shipment-summary/shipment-summary.d.ts.map +1 -1
  263. package/dist/types/elements/shipments-grid/shipments-grid.d.ts +5 -0
  264. package/dist/types/elements/shipments-grid/shipments-grid.d.ts.map +1 -1
  265. package/dist/types/elements/shipments-grid/utils/index.d.ts +1 -1
  266. package/dist/types/elements/shipments-grid/utils/index.d.ts.map +1 -1
  267. package/dist/types/elements/theme-creator/components/color-palette-editor/color-palette-editor.d.ts.map +1 -1
  268. package/dist/types/elements/theme-creator/index.d.ts +1 -1
  269. package/dist/types/elements/theme-creator/index.d.ts.map +1 -1
  270. package/dist/types/elements/theme-creator/theme-creator-provider.d.ts.map +1 -1
  271. package/dist/types/elements/theme-creator/theme-creator.d.ts +5 -0
  272. package/dist/types/elements/theme-creator/theme-creator.d.ts.map +1 -1
  273. package/dist/types/elements/transaction-history/transaction-history-element.d.ts +5 -0
  274. package/dist/types/elements/transaction-history/transaction-history-element.d.ts.map +1 -1
  275. package/dist/types/elements/unit-settings/unit-settings-element.d.ts +5 -0
  276. package/dist/types/elements/unit-settings/unit-settings-element.d.ts.map +1 -1
  277. package/dist/types/elements/vat-settings/vat-settings-element.d.ts +5 -0
  278. package/dist/types/elements/vat-settings/vat-settings-element.d.ts.map +1 -1
  279. package/dist/types/elements/void-label/components/message/message.d.ts.map +1 -1
  280. package/dist/types/elements/void-label/void-label.d.ts +5 -0
  281. package/dist/types/elements/void-label/void-label.d.ts.map +1 -1
  282. package/dist/types/elements-provider/elements-context-provider.d.ts.map +1 -1
  283. package/dist/types/elements-provider/elements-provider.d.ts.map +1 -1
  284. package/dist/types/elements-provider/elements-test-provider.d.ts.map +1 -1
  285. package/dist/types/factories/shipengine/carrier.d.ts.map +1 -1
  286. package/dist/types/factories/shipengine/index.d.ts +1 -1
  287. package/dist/types/factories/shipengine/index.d.ts.map +1 -1
  288. package/dist/types/factories/shipengine/label.d.ts.map +1 -1
  289. package/dist/types/factories/shipengine/money.d.ts.map +1 -1
  290. package/dist/types/factories/shipengine/order-source.d.ts.map +1 -1
  291. package/dist/types/factories/shipengine/package.d.ts.map +1 -1
  292. package/dist/types/factories/shipengine/resource.d.ts.map +1 -1
  293. package/dist/types/factories/shipengine/sales-order.d.ts.map +1 -1
  294. package/dist/types/factories/shipengine/service.d.ts.map +1 -1
  295. package/dist/types/factories/shipengine/transaction-history.d.ts.map +1 -1
  296. package/dist/types/factories/shipengine/warehouse.d.ts.map +1 -1
  297. package/dist/types/factories/shipengine/weight.d.ts.map +1 -1
  298. package/dist/types/features/manage-carriers/hooks/index.d.ts +1 -1
  299. package/dist/types/features/manage-carriers/hooks/index.d.ts.map +1 -1
  300. package/dist/types/features/manage-carriers/use-manage-carriers.d.ts.map +1 -1
  301. package/dist/types/features/manage-external-carriers/carrier-settings-form/carrier-specific-settings-fields/ups-settings-fields/index.d.ts +1 -2
  302. package/dist/types/features/manage-external-carriers/carrier-settings-form/carrier-specific-settings-fields/ups-settings-fields/index.d.ts.map +1 -1
  303. package/dist/types/features/manage-external-carriers/carrier-settings-form/index.d.ts +2 -2
  304. package/dist/types/features/manage-external-carriers/carrier-settings-form/index.d.ts.map +1 -1
  305. package/dist/types/features/manage-external-carriers/manage-external-carriers.d.ts +3 -1
  306. package/dist/types/features/manage-external-carriers/manage-external-carriers.d.ts.map +1 -1
  307. package/dist/types/features/manage-funding/manage-funding.d.ts.map +1 -1
  308. package/dist/types/features/payment-method-settings/payment-method-settings.d.ts.map +1 -1
  309. package/dist/types/features/select-label-layout/use-label-layout.d.ts.map +1 -1
  310. package/dist/types/features/transaction-history/components/date-range-combo/date-range-combo.d.ts.map +1 -1
  311. package/dist/types/features/transaction-history/components/date-range-select/date-range-select.d.ts.map +1 -1
  312. package/dist/types/features/unit-settings/use-unit-settings.d.ts.map +1 -1
  313. package/dist/types/hooks/financial-services/financial-service.d.ts +279 -0
  314. package/dist/types/hooks/financial-services/financial-service.d.ts.map +1 -0
  315. package/dist/types/hooks/financial-services/index.d.ts +5 -0
  316. package/dist/types/hooks/financial-services/index.d.ts.map +1 -0
  317. package/dist/types/hooks/financial-services/use-financial-service.d.ts +40 -0
  318. package/dist/types/hooks/financial-services/use-financial-service.d.ts.map +1 -0
  319. package/dist/types/hooks/index.d.ts +2 -2
  320. package/dist/types/hooks/index.d.ts.map +1 -1
  321. package/dist/types/hooks/options/format-carrier-label.d.ts.map +1 -1
  322. package/dist/types/hooks/options/use-country-code-options.d.ts.map +1 -1
  323. package/dist/types/hooks/options/use-shipment-metadata.d.ts.map +1 -1
  324. package/dist/types/hooks/use-address-validation.d.ts.map +1 -1
  325. package/dist/types/hooks/use-helpers.stories.d.ts.map +1 -1
  326. package/dist/types/hooks/use-scrub-errors.d.ts.map +1 -1
  327. package/dist/types/hooks/use-sortable-query.d.ts.map +1 -1
  328. package/dist/types/index.d.ts +7 -7
  329. package/dist/types/index.d.ts.map +1 -1
  330. package/dist/types/locales/en/index.d.ts +5 -0
  331. package/dist/types/locales/en/index.d.ts.map +1 -1
  332. package/dist/types/schemas/shipengine/money.d.ts.map +1 -1
  333. package/dist/types/schemas/shipengine/phone.d.ts.map +1 -1
  334. package/dist/types/types/financial-services.d.ts +34 -0
  335. package/dist/types/types/financial-services.d.ts.map +1 -0
  336. package/dist/types/types/index.d.ts +1 -1
  337. package/dist/types/types/index.d.ts.map +1 -1
  338. package/dist/types/utilities/checks.d.ts.map +1 -1
  339. package/dist/types/utilities/index.d.ts +3 -3
  340. package/dist/types/utilities/index.d.ts.map +1 -1
  341. package/dist/types/utilities/rate-warning-messages.d.ts.map +1 -1
  342. package/dist/types/utilities/shipengine/index.d.ts +3 -3
  343. package/dist/types/utilities/shipengine/index.d.ts.map +1 -1
  344. package/dist/types/workflows/account-settings/account-settings.d.ts +5 -0
  345. package/dist/types/workflows/account-settings/account-settings.d.ts.map +1 -1
  346. package/dist/types/workflows/account-settings/use-get-panel-props.d.ts.map +1 -1
  347. package/dist/types/workflows/carrier-services/carrier-services.d.ts +5 -0
  348. package/dist/types/workflows/carrier-services/carrier-services.d.ts.map +1 -1
  349. package/dist/types/workflows/carrier-services/use-get-wallet-panel-props.d.ts.map +1 -1
  350. package/dist/types/workflows/connect-external-carrier/components/available-carriers-list/available-carriers-list.d.ts.map +1 -1
  351. package/dist/types/workflows/connect-external-carrier/connect-external-carrier.d.ts +5 -0
  352. package/dist/types/workflows/connect-external-carrier/connect-external-carrier.d.ts.map +1 -1
  353. package/dist/types/workflows/index.d.ts +3 -3
  354. package/dist/types/workflows/index.d.ts.map +1 -1
  355. package/dist/types/workflows/label-workflow/label-workflow.d.ts +5 -0
  356. package/dist/types/workflows/label-workflow/label-workflow.d.ts.map +1 -1
  357. package/dist/types/workflows/onboarding/components/carrier-recovery-form/carrier-recovery-form.d.ts.map +1 -1
  358. package/dist/types/workflows/onboarding/components/completion-page/completion-page.d.ts.map +1 -1
  359. package/dist/types/workflows/onboarding/components/confirmation-and-submission-step/confirmation-and-submission-step.d.ts.map +1 -1
  360. package/dist/types/workflows/onboarding/components/confirmation-and-submission-step/use-confirmation-and-submission-step.d.ts.map +1 -1
  361. package/dist/types/workflows/onboarding/components/funding-step/funding-step.d.ts.map +1 -1
  362. package/dist/types/workflows/onboarding/components/terms-agreement-form/terms-agreement-form.d.ts.map +1 -1
  363. package/dist/types/workflows/onboarding/components/terms-agreement-step/terms-agreement-step.styles.d.ts.map +1 -1
  364. package/dist/types/workflows/onboarding/onboarding.d.ts +5 -0
  365. package/dist/types/workflows/onboarding/onboarding.d.ts.map +1 -1
  366. package/package.json +8 -5
  367. package/dist/cjs/components/forms/wallet-form/billing-fields.cjs +0 -71
  368. package/dist/esm/components/forms/wallet-form/billing-fields.js +0 -69
  369. package/dist/types/components/forms/wallet-form/billing-fields.d.ts +0 -7
  370. package/dist/types/components/forms/wallet-form/billing-fields.d.ts.map +0 -1
@@ -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
  /**
@@ -6,9 +6,9 @@ export { InputGroup } from './input-group/input-group.js';
6
6
  export { MoneyInput, transform } from './money-input/money-input.js';
7
7
  export { NumberInput } from './number-input/number-input.js';
8
8
  export { RateSelect } from './rate-select/rate-select.js';
9
- export { SelectAutoComplete } from './select-auto-complete/select-auto-complete.js';
10
9
  export { Select } from './select/select.js';
11
10
  export { SelectWithCategories } from './select/select-with-categories.js';
11
+ export { SelectAutoComplete } from './select-auto-complete/select-auto-complete.js';
12
12
  export { SubmitButton } from './submit-button/submit-button.js';
13
13
  export { Switch } from './switch/switch.js';
14
14
  export { TextArea } from './text-area/text-area.js';
@@ -11,8 +11,8 @@ import { useTranslation } from 'react-i18next';
11
11
  import { styles } from './add-funds-form.styles.js';
12
12
  import { getAddFundsSchema } from './add-funds-schema.js';
13
13
  import { FormPortal } from '../../form-portal/form-portal.js';
14
- import { Spacer } from '../../spacer/spacer.js';
15
14
  import { ButtonGroup } from '../../button-group/button-group.js';
15
+ import { Spacer } from '../../spacer/spacer.js';
16
16
  import { MoneyInput } from '../../field/money-input/money-input.js';
17
17
  import { SubmitButton } from '../../field/submit-button/submit-button.js';
18
18
 
@@ -8,8 +8,8 @@ import { useCallback } from 'react';
8
8
  import { useForm } from 'react-hook-form';
9
9
  import { useTranslation } from 'react-i18next';
10
10
  import { AddressFields } from './address-fields.js';
11
- import { shipToAddressSchema, addressFormSchema } from './address-form-schema.js';
12
11
  import { styles } from './address-form.styles.js';
12
+ import { shipToAddressSchema, addressFormSchema } from './address-form-schema.js';
13
13
  import { AddressParser } from '../../address-parser/address-parser.js';
14
14
  import { LinkAction } from '../../link-action/link-action.js';
15
15
  import { ButtonGroup } from '../../button-group/button-group.js';
@@ -1,4 +1,4 @@
1
+ export { AddressFields } from './address-fields.js';
1
2
  export { AddressForm } from './address-form.js';
2
3
  export { addressFormSchema } from './address-form-schema.js';
3
- export { AddressFields } from './address-fields.js';
4
4
  export { addressLine1Schema, addressLine2Schema, addressSchema, companyNameSchema } from './address-schema.js';
@@ -8,9 +8,9 @@ import { useForm } from 'react-hook-form';
8
8
  import { useTranslation } from 'react-i18next';
9
9
  import { styles } from './auto-funding-form.styles.js';
10
10
  import { autoFundingSchema } from './auto-funding-schema.js';
11
- import { Loader } from '../../loader/loader.js';
12
11
  import { Spread } from '../../spread/spread.js';
13
12
  import { transform, MoneyInput } from '../../field/money-input/money-input.js';
13
+ import { Loader } from '../../loader/loader.js';
14
14
  import { Switch } from '../../field/switch/switch.js';
15
15
  import { LinkAction } from '../../link-action/link-action.js';
16
16
  import { Spacer } from '../../spacer/spacer.js';
@@ -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
 
@@ -8,8 +8,8 @@ import isEqual from 'lodash/isEqual.js';
8
8
  import { useCallback, useEffect } from 'react';
9
9
  import { useForm } from 'react-hook-form';
10
10
  import { useTranslation } from 'react-i18next';
11
- import { shipFromAddressFormSchema } from './ship-from-address-form-schema.js';
12
11
  import { styles } from './ship-from-address-form.styles.js';
12
+ import { shipFromAddressFormSchema } from './ship-from-address-form-schema.js';
13
13
  import { AddressFields } from '../address-form/address-fields.js';
14
14
  import { useAddressPreference } from '../../address-preference-context/address-preference-context.js';
15
15
  import { AddressParser } from '../../address-parser/address-parser.js';
@@ -7,8 +7,8 @@ import { formLogger } from '../../../utilities/form-logger.js';
7
7
  import { validationResolver } from '../../../utilities/validation.js';
8
8
  import { useForm } from 'react-hook-form';
9
9
  import { useTranslation } from 'react-i18next';
10
- import { vatSchema } from './vat-form-schema.js';
11
10
  import { styles } from './vat-form.styles.js';
11
+ import { vatSchema } from './vat-form-schema.js';
12
12
  import { vatTypesSelectOptions } from './vat-types.js';
13
13
  import { InputGroup } from '../../field/input-group/input-group.js';
14
14
  import { Select } from '../../field/select/select.js';
@@ -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';
@@ -1,20 +1,23 @@
1
1
  import { __awaiter } from '../../../_virtual/_tslib.js';
2
2
  import { jsxs, jsx, Fragment } from '@emotion/react/jsx-runtime';
3
+ import { useAuctanePaySession } from '../../../contexts/auctane-pay-session-context.js';
3
4
  import { useBlackboxDetection } from '../../../hooks/use-black-box-detection.js';
4
5
  import { useNestedForm } from '../../../hooks/use-nested-form.js';
5
- import { Grid, GridChild, InlineNotification, NotificationType, Typography, ButtonVariant } from '@shipengine/giger';
6
+ import { Grid, GridChild, InlineNotification, NotificationType, Typography, Spinner, SpinnerSize, ButtonVariant } from '@shipengine/giger';
6
7
  import { formLogger } from '../../../utilities/form-logger.js';
7
8
  import { isPoBoxAddress } from '../../../utilities/shipengine/address.js';
8
9
  import { validationResolver } from '../../../utilities/validation.js';
9
- import { useState, useCallback } from 'react';
10
+ import { useState, useCallback, useMemo, useEffect } from 'react';
10
11
  import { useForm } from 'react-hook-form';
11
12
  import { useTranslation } from 'react-i18next';
12
13
  import { EditWalletAddressForm } from '../edit-wallet-address-form/edit-wallet-address-form.js';
13
- import { BillingFields } from './billing-fields.js';
14
14
  import { styles } from './wallet-form.styles.js';
15
15
  import { getWalletSchema } from './wallet-schema.js';
16
+ import { useFinancialService } from '../../../hooks/financial-services/use-financial-service.js';
17
+ import { PaymentMethodSelector } from '../../payment/payment-method-selector/payment-method-selector.js';
16
18
  import { AddressFields } from '../address-form/address-fields.js';
17
19
  import { VatSettings } from '../../../features/vat-settings/vat-settings.js';
20
+ import { useElements } from '../../../elements-provider/elements-context-provider.js';
18
21
  import { useAddressPreference } from '../../address-preference-context/address-preference-context.js';
19
22
  import { Spacer } from '../../spacer/spacer.js';
20
23
  import { AddressDisplay } from '../../address-display/address-display.js';
@@ -27,27 +30,38 @@ const WalletForm = ({
27
30
  onSubmit,
28
31
  showVatSettings
29
32
  }) => {
33
+ var _a, _b;
30
34
  const {
31
35
  t
32
36
  } = useTranslation(["register-wallet", "common"]);
37
+ const {
38
+ locale
39
+ } = useElements();
33
40
  const defaultWarehouseIsPoBox = isPoBoxAddress(address);
34
41
  const {
35
42
  validateAddress
36
43
  } = useAddressPreference();
37
44
  const [codedErrors, setCodedErrors] = useState(errors);
45
+ const [isSubmitting, setIsSubmitting] = useState(false);
46
+ const [paymentError, setPaymentError] = useState(null);
47
+ const [isAdyenReady, setIsAdyenReady] = useState(false);
48
+ const [cardBrand, setCardBrand] = useState();
49
+ const sessionContext = useAuctanePaySession();
38
50
  const form = useForm({
39
51
  defaultValues:
40
52
  // If the warehouse address is a PO Box they cannot use it as their billing address
41
53
  defaultWarehouseIsPoBox ? {
42
54
  address: {
43
55
  countryCode: "US"
44
- }
56
+ },
57
+ paymentMethod: "credit_card"
45
58
  } : {
46
59
  address: Object.assign(Object.assign({}, address), {
47
60
  countryCode: address.countryCode
48
- })
61
+ }),
62
+ paymentMethod: "credit_card"
49
63
  },
50
- resolver: validationResolver(getWalletSchema("emailOptional", "blackboxRequired"), ["creditCard"])
64
+ resolver: validationResolver(getWalletSchema("emailOptional", "blackboxRequired"))
51
65
  });
52
66
  const formSetValue = form.setValue;
53
67
  useBlackboxDetection({
@@ -65,24 +79,104 @@ const WalletForm = ({
65
79
  onSuccess: useCallback(bb => formSetValue("iovationBlackbox", bb), [formSetValue])
66
80
  });
67
81
  const watchAddress = form.watch("address");
82
+ const watchPaymentMethod = form.watch("paymentMethod");
83
+ const adyenOptions = useMemo(() => ({
84
+ showPayButton: false,
85
+ locale: locale || "en-US",
86
+ onChange: () => {
87
+ setPaymentError(null);
88
+ },
89
+ creditCardOptions: {
90
+ onLoad: event => {
91
+ if (event.iframesLoaded) {
92
+ setIsAdyenReady(true);
93
+ }
94
+ },
95
+ onBinLookup: event => {
96
+ var _a, _b;
97
+ // Some cards return multiple brands (e.g., ['star', 'visa']), so prioritize major brands
98
+ const majorBrands = ["visa", "mc", "amex", "discover"];
99
+ const brand = ((_a = event.detectedBrands) === null || _a === void 0 ? void 0 : _a.find(b => majorBrands.includes(b.toLowerCase()))) || ((_b = event.detectedBrands) === null || _b === void 0 ? void 0 : _b[0]);
100
+ setCardBrand(brand);
101
+ }
102
+ }
103
+ }), [locale]);
104
+ const {
105
+ adyenRef,
106
+ submit: adyenSubmit,
107
+ getSessionData
108
+ } = useFinancialService({
109
+ getAdyenSessionData: sessionContext.getSessionData,
110
+ paymentMethod: watchPaymentMethod || "credit_card",
111
+ options: adyenOptions
112
+ });
113
+ // Reset Adyen ready state when payment method changes
114
+ useEffect(() => {
115
+ setIsAdyenReady(false);
116
+ }, [watchPaymentMethod]);
68
117
  const handleSubmit = form.handleSubmit(values => __awaiter(void 0, void 0, void 0, function* () {
69
118
  const payload = values;
70
- yield validateAddress({
71
- addresses: {
72
- originAddress: payload.address
73
- },
74
- data: {
75
- creditCard: payload.creditCard,
76
- iovationBlackbox: payload.iovationBlackbox
77
- },
78
- onValid: validatedAddressesPayload => {
79
- onSubmit({
80
- address: validatedAddressesPayload.originAddress,
81
- creditCard: payload.creditCard,
119
+ setIsSubmitting(true);
120
+ try {
121
+ yield validateAddress({
122
+ addresses: {
123
+ originAddress: payload.address
124
+ },
125
+ data: {
82
126
  iovationBlackbox: payload.iovationBlackbox
83
- });
84
- }
85
- });
127
+ },
128
+ onValid: validatedAddressesPayload => {
129
+ const processPayment = () => __awaiter(void 0, void 0, void 0, function* () {
130
+ try {
131
+ const walletPayload = {
132
+ address: validatedAddressesPayload.originAddress,
133
+ iovationBlackbox: payload.iovationBlackbox,
134
+ paymentMethod: payload.paymentMethod
135
+ };
136
+ if (payload.paymentMethod === "credit_card") {
137
+ // For credit card, await Adyen payment completion
138
+ const paymentResult = yield adyenSubmit();
139
+ if (!paymentResult.success) {
140
+ // Payment failed - show error and allow retry
141
+ setPaymentError(paymentResult.error || "Payment failed");
142
+ form.reset(undefined, {
143
+ keepValues: true
144
+ });
145
+ return;
146
+ }
147
+ // Payment succeeded - get session data and add to payload
148
+ const sessionData = getSessionData();
149
+ if (sessionData) {
150
+ walletPayload.auctanePaySessionId = sessionData.id;
151
+ }
152
+ if (cardBrand) {
153
+ walletPayload.cardBrand = cardBrand;
154
+ }
155
+ }
156
+ // Payment successful or non-credit-card method - proceed to next step
157
+ onSubmit(walletPayload);
158
+ } catch (error) {
159
+ // Payment processing error
160
+ const errorMessage = error instanceof Error ? error.message : "Payment processing failed";
161
+ setPaymentError(errorMessage);
162
+ } finally {
163
+ setIsSubmitting(false);
164
+ }
165
+ });
166
+ void processPayment();
167
+ }
168
+ });
169
+ } catch (error) {
170
+ // Address validation error
171
+ const errorMessage = error instanceof Error ? error.message : "An error occurred";
172
+ setCodedErrors([{
173
+ errorCode: "unspecified",
174
+ errorSource: "client",
175
+ errorType: "validation",
176
+ message: errorMessage
177
+ }]);
178
+ setIsSubmitting(false);
179
+ }
86
180
  }));
87
181
  const [editWalletAddressForm, isEditWalletAddressFormOpen, toggleIsEditWalletAddressFormOpen] = useNestedForm(EditWalletAddressForm, {
88
182
  address: watchAddress,
@@ -97,9 +191,9 @@ const WalletForm = ({
97
191
  children: jsxs("form", {
98
192
  id: "wallet-form",
99
193
  onSubmit: formLogger.capture(handleSubmit),
100
- children: [jsx(GridChild, {
194
+ children: [jsxs(GridChild, {
101
195
  colSpan: 12,
102
- children: !!(codedErrors === null || codedErrors === void 0 ? void 0 : codedErrors.length) && jsxs(Fragment, {
196
+ children: [!!(codedErrors === null || codedErrors === void 0 ? void 0 : codedErrors.length) && jsxs(Fragment, {
103
197
  children: [jsx(InlineNotification, {
104
198
  title: t("register-wallet:sections.notifications.error.title"),
105
199
  type: NotificationType.ERROR,
@@ -109,12 +203,47 @@ const WalletForm = ({
109
203
  }), jsx(Spacer, {
110
204
  multiplier: 2
111
205
  })]
206
+ }), paymentError && jsxs(Fragment, {
207
+ children: [jsx(InlineNotification, {
208
+ title: t("register-wallet:sections.notifications.error.title"),
209
+ type: NotificationType.ERROR,
210
+ children: paymentError
211
+ }), jsx(Spacer, {
212
+ multiplier: 2
213
+ })]
214
+ })]
215
+ }), jsx(GridChild, {
216
+ colSpan: 12,
217
+ children: jsx(Typography, {
218
+ variant: "subtitle1",
219
+ children: t("register-wallet:sections.paymentMethod.title")
112
220
  })
221
+ }), jsx(Spacer, {
222
+ multiplier: 1
113
223
  }), jsx(GridChild, {
114
224
  colSpan: 12,
115
- children: jsx(BillingFields, {
116
- form: form
225
+ children: jsx(PaymentMethodSelector, {
226
+ onChange: method => form.setValue("paymentMethod", method),
227
+ payByBankEnabled: (_b = (_a = getSessionData()) === null || _a === void 0 ? void 0 : _a.eligiblePaymentMethodTypes) === null || _b === void 0 ? void 0 : _b.includes("pay_by_bank_us"),
228
+ value: watchPaymentMethod || "credit_card"
117
229
  })
230
+ }), jsx(Spacer, {
231
+ multiplier: 2
232
+ }), jsxs(GridChild, {
233
+ colSpan: 12,
234
+ children: [!isAdyenReady && jsx("div", {
235
+ css: styles.loadingContainer,
236
+ children: jsx(Spinner, {
237
+ size: SpinnerSize.SIZE_LARGE
238
+ })
239
+ }), jsx("div", {
240
+ css: styles.adyenContainer,
241
+ "data-ready": isAdyenReady,
242
+ "data-testid": "adyen-div",
243
+ ref: adyenRef
244
+ })]
245
+ }), jsx(Spacer, {
246
+ multiplier: 2
118
247
  }), jsx(GridChild, {
119
248
  colSpan: 12,
120
249
  children: jsx(Typography, {
@@ -165,6 +294,7 @@ const WalletForm = ({
165
294
  children: jsx(SubmitButton, {
166
295
  control: form.control,
167
296
  form: "wallet-form",
297
+ isLoading: isSubmitting,
168
298
  variant: ButtonVariant.FILLED,
169
299
  children: t("actions.continue")
170
300
  })
@@ -6,6 +6,21 @@ const styles = createStyles({
6
6
  }),
7
7
  grid: theme => ({
8
8
  margin: scopeTheme(theme).spacing(1)
9
+ }),
10
+ loadingContainer: theme => ({
11
+ display: "flex",
12
+ justifyContent: "center",
13
+ paddingTop: scopeTheme(theme).spacing(2),
14
+ paddingBottom: scopeTheme(theme).spacing(2)
15
+ }),
16
+ adyenContainer: () => ({
17
+ "&:not([data-ready='true'])": {
18
+ display: "none"
19
+ },
20
+ // Hide Adyen's "All fields are required" instruction text
21
+ "& .adyen-checkout-form-instruction": {
22
+ display: "none"
23
+ }
9
24
  })
10
25
  });
11
26
 
@@ -1,15 +1,9 @@
1
- import { __rest } from '../../../_virtual/_tslib.js';
2
- import { getExpirationYears } from '../../../utilities/date.js';
3
1
  import { isPoBox } from '../../../utilities/shipengine/address.js';
4
- import cardValidator from 'card-validator';
5
2
  import { isValidPhoneNumber } from 'libphonenumber-js/min';
6
3
  import { z } from 'zod';
7
4
  import { addressSchema, addressLine2Schema, addressLine1Schema } from '../address-form/address-schema.js';
8
5
  import { addressNameRegex, usStateCodes, postalCodeRegex } from '../../../constants/shipengine/address.js';
9
6
 
10
- const expirationYears = getExpirationYears(15);
11
- const creditCardTypes = ["visa", "mastercard", "american-express", "discover"];
12
- const expirationMonths = ["01", "02", "03", "04", "05", "06", "07", "08", "09", "10", "11", "12"];
13
7
  const walletEmailSchemas = {
14
8
  emailOptional: addressSchema.shape.email,
15
9
  emailRequired: z.string().trim().email().min(1)
@@ -49,40 +43,11 @@ const getBillingAddressSchema = emailRequirement => {
49
43
  path: ["postalCode"]
50
44
  });
51
45
  };
52
- const creditCardSchema = z.object({
53
- cvv: z.string().trim().refine(cvv => cardValidator.cvv(cvv, [3, 4]).isValid, "Invalid CVV"),
54
- expiration: z.string().trim().refine(expiration => {
55
- const [expirationMonth, expirationYear] = expiration.split("/");
56
- return expirationMonths.includes(expirationMonth) && expirationYears.includes(expirationYear);
57
- }, "schemaErrors.invalidExpirationDate"),
58
- name: addressSchema.shape.name.refine(name => name.match(addressNameRegex), "schemaErrors.invalidAddressNameOnboarding"),
59
- number: z.string().trim().refine(number => cardValidator.number(number).isValid, "Invalid card number").refine(number => {
60
- var _a, _b;
61
- return !((_a = cardValidator.number(number).card) === null || _a === void 0 ? void 0 : _a.type) || creditCardTypes.includes((_b = cardValidator.number(number).card) === null || _b === void 0 ? void 0 : _b.type);
62
- }, "schemaErrors.invalidCreditCardType")
63
- }).transform(schema => {
64
- var _a;
65
- const {
66
- cvv,
67
- expiration
68
- } = schema,
69
- creditCard = __rest(schema, ["cvv", "expiration"]);
70
- const creditCardVendor = (_a = cardValidator.number(creditCard.number).card) === null || _a === void 0 ? void 0 : _a.type;
71
- const [expirationMonth, expirationYear] = expiration.split("/").map(v => parseInt(v, 10));
72
- return {
73
- cardNumber: creditCard.number,
74
- cvv: cvv,
75
- expirationMonth: expirationMonth,
76
- expirationYear: expirationYear,
77
- name: creditCard.name,
78
- provider: creditCardVendor === "american-express" ? "american_express" : creditCardVendor
79
- };
80
- });
81
46
  const getWalletSchema = (emailRequirement, blackboxRequirement) => {
82
47
  const billingAddressSchema = getBillingAddressSchema(emailRequirement);
83
48
  return z.object({
84
49
  address: billingAddressSchema,
85
- creditCard: creditCardSchema,
50
+ paymentMethod: z.enum(["credit_card", "pay_by_bank_us"]).default("credit_card"),
86
51
  iovationBlackbox: walletBlackboxSchemas[blackboxRequirement]
87
52
  });
88
53
  };
@@ -1,4 +1,4 @@
1
- export { GridController } from './grid-controller.js';
2
1
  export { CellFormattedDate } from './cell-formatted-date.js';
2
+ export { GridController } from './grid-controller.js';
3
3
  export { GridFooter } from './grid-footer.js';
4
4
  export { SortableHeader } from './sortable-header/sortable-header.js';
@@ -1,5 +1,5 @@
1
- export { ShipmentIdFilter } from './shipment-id-filter/shipment-id-filter.js';
2
1
  export { CreatedDateFilter } from './created-date-filter/created-date-filter.js';
3
2
  export { LabelIdFilter } from './label-id-filter/label-id-filter.js';
4
3
  export { LabelStatusFilter } from './label-status-filter/label-status-filter.js';
4
+ export { ShipmentIdFilter } from './shipment-id-filter/shipment-id-filter.js';
5
5
  export { TrackingStatusFilter } from './tracking-status-filter/tracking-status-filter.js';
@@ -7,8 +7,8 @@ import { useRef } from 'react';
7
7
  import { useForm } from 'react-hook-form';
8
8
  import { useTranslation, Trans } from 'react-i18next';
9
9
  import * as reactUse from 'react-use';
10
- import { labelIdFormSchema } from './label-id-filter-shema.js';
11
10
  import { styles } from './label-id-filter.styles.js';
11
+ import { labelIdFormSchema } from './label-id-filter-shema.js';
12
12
  import { TextInput } from '../../../field/text-input/text-input.js';
13
13
  import { SubmitButton } from '../../../field/submit-button/submit-button.js';
14
14
 
@@ -6,8 +6,8 @@ import { useState, useRef, useCallback, useEffect } from 'react';
6
6
  import { useForm } from 'react-hook-form';
7
7
  import { useTranslation } from 'react-i18next';
8
8
  import * as reactUse from 'react-use';
9
- import { labelStatusFormSchema } from './label-status-filter-schema.js';
10
9
  import { styles } from './label-status-filter.styles.js';
10
+ import { labelStatusFormSchema } from './label-status-filter-schema.js';
11
11
 
12
12
  /**
13
13
  * @internal