@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
@@ -8,9 +8,9 @@ var inputGroup = require('./input-group/input-group.cjs');
8
8
  var moneyInput = require('./money-input/money-input.cjs');
9
9
  var numberInput = require('./number-input/number-input.cjs');
10
10
  var rateSelect = require('./rate-select/rate-select.cjs');
11
- var selectAutoComplete = require('./select-auto-complete/select-auto-complete.cjs');
12
11
  var select = require('./select/select.cjs');
13
12
  var selectWithCategories = require('./select/select-with-categories.cjs');
13
+ var selectAutoComplete = require('./select-auto-complete/select-auto-complete.cjs');
14
14
  var submitButton = require('./submit-button/submit-button.cjs');
15
15
  var _switch = require('./switch/switch.cjs');
16
16
  var textArea = require('./text-area/text-area.cjs');
@@ -27,9 +27,9 @@ exports.MoneyInput = moneyInput.MoneyInput;
27
27
  exports.transform = moneyInput.transform;
28
28
  exports.NumberInput = numberInput.NumberInput;
29
29
  exports.RateSelect = rateSelect.RateSelect;
30
- exports.SelectAutoComplete = selectAutoComplete.SelectAutoComplete;
31
30
  exports.Select = select.Select;
32
31
  exports.SelectWithCategories = selectWithCategories.SelectWithCategories;
32
+ exports.SelectAutoComplete = selectAutoComplete.SelectAutoComplete;
33
33
  exports.SubmitButton = submitButton.SubmitButton;
34
34
  exports.Switch = _switch.Switch;
35
35
  exports.TextArea = textArea.TextArea;
@@ -13,8 +13,8 @@ var reactI18next = require('react-i18next');
13
13
  var addFundsForm_styles = require('./add-funds-form.styles.cjs');
14
14
  var addFundsSchema = require('./add-funds-schema.cjs');
15
15
  var formPortal = require('../../form-portal/form-portal.cjs');
16
- var spacer = require('../../spacer/spacer.cjs');
17
16
  var buttonGroup = require('../../button-group/button-group.cjs');
17
+ var spacer = require('../../spacer/spacer.cjs');
18
18
  var moneyInput = require('../../field/money-input/money-input.cjs');
19
19
  var submitButton = require('../../field/submit-button/submit-button.cjs');
20
20
 
@@ -10,8 +10,8 @@ var React = require('react');
10
10
  var reactHookForm = require('react-hook-form');
11
11
  var reactI18next = require('react-i18next');
12
12
  var addressFields = require('./address-fields.cjs');
13
- var addressFormSchema = require('./address-form-schema.cjs');
14
13
  var addressForm_styles = require('./address-form.styles.cjs');
14
+ var addressFormSchema = require('./address-form-schema.cjs');
15
15
  var addressParser = require('../../address-parser/address-parser.cjs');
16
16
  var linkAction = require('../../link-action/link-action.cjs');
17
17
  var buttonGroup = require('../../button-group/button-group.cjs');
@@ -1,15 +1,15 @@
1
1
  'use strict';
2
2
 
3
+ var addressFields = require('./address-fields.cjs');
3
4
  var addressForm = require('./address-form.cjs');
4
5
  var addressFormSchema = require('./address-form-schema.cjs');
5
- var addressFields = require('./address-fields.cjs');
6
6
  var addressSchema = require('./address-schema.cjs');
7
7
 
8
8
 
9
9
 
10
+ exports.AddressFields = addressFields.AddressFields;
10
11
  exports.AddressForm = addressForm.AddressForm;
11
12
  exports.addressFormSchema = addressFormSchema.addressFormSchema;
12
- exports.AddressFields = addressFields.AddressFields;
13
13
  exports.addressLine1Schema = addressSchema.addressLine1Schema;
14
14
  exports.addressLine2Schema = addressSchema.addressLine2Schema;
15
15
  exports.addressSchema = addressSchema.addressSchema;
@@ -10,9 +10,9 @@ var reactHookForm = require('react-hook-form');
10
10
  var reactI18next = require('react-i18next');
11
11
  var autoFundingForm_styles = require('./auto-funding-form.styles.cjs');
12
12
  var autoFundingSchema = require('./auto-funding-schema.cjs');
13
- var loader = require('../../loader/loader.cjs');
14
13
  var spread = require('../../spread/spread.cjs');
15
14
  var moneyInput = require('../../field/money-input/money-input.cjs');
15
+ var loader = require('../../loader/loader.cjs');
16
16
  var _switch = require('../../field/switch/switch.cjs');
17
17
  var linkAction = require('../../link-action/link-action.cjs');
18
18
  var spacer = require('../../spacer/spacer.cjs');
@@ -1,16 +1,21 @@
1
1
  'use strict';
2
2
 
3
+ var _tslib = require('../../../_virtual/_tslib.cjs');
3
4
  var jsxRuntime = require('@emotion/react/jsx-runtime');
5
+ var auctanePaySessionContext = require('../../../contexts/auctane-pay-session-context.cjs');
4
6
  var useToggle = require('../../../hooks/use-toggle.cjs');
5
7
  var giger = require('@shipengine/giger');
6
8
  var formLogger = require('../../../utilities/form-logger.cjs');
7
9
  var validation = require('../../../utilities/validation.cjs');
10
+ var React = require('react');
8
11
  var reactHookForm = require('react-hook-form');
9
12
  var reactI18next = require('react-i18next');
10
- var billingFields = require('../wallet-form/billing-fields.cjs');
11
13
  var editBillingForm_styles = require('./edit-billing-form.styles.cjs');
12
14
  var walletSchema = require('../wallet-form/wallet-schema.cjs');
15
+ var useFinancialService = require('../../../hooks/financial-services/use-financial-service.cjs');
13
16
  var addressFields = require('../address-form/address-fields.cjs');
17
+ var elementsContextProvider = require('../../../elements-provider/elements-context-provider.cjs');
18
+ var spacer = require('../../spacer/spacer.cjs');
14
19
  var addressDisplay = require('../../address-display/address-display.cjs');
15
20
  var linkAction = require('../../link-action/link-action.cjs');
16
21
  var buttonGroup = require('../../button-group/button-group.cjs');
@@ -26,7 +31,13 @@ const EditBillingForm = ({
26
31
  const {
27
32
  t
28
33
  } = reactI18next.useTranslation();
34
+ const {
35
+ locale
36
+ } = elementsContextProvider.useElements();
37
+ const [isAdyenReady, setIsAdyenReady] = React.useState(false);
29
38
  const [editBillingInfo, toggleEditBillingInfo] = useToggle.useToggle(false);
39
+ const [paymentError, setPaymentError] = React.useState(null);
40
+ const sessionContext = auctanePaySessionContext.useAuctanePaySession();
30
41
  const form = reactHookForm.useForm({
31
42
  resolver: validation.validationResolver(walletSchema.getWalletSchema("emailRequired", "blackboxOptional"), ["creditCard"]),
32
43
  defaultValues: {
@@ -44,35 +55,99 @@ const EditBillingForm = ({
44
55
  }
45
56
  }
46
57
  });
47
- const handleSubmit = form.handleSubmit(values => {
58
+ const {
59
+ adyenRef,
60
+ submit: adyenSubmit,
61
+ getSessionData
62
+ } = useFinancialService.useFinancialService({
63
+ getAdyenSessionData: sessionContext.getSessionData,
64
+ paymentMethod: "credit_card",
65
+ options: {
66
+ showPayButton: false,
67
+ locale: locale || "en-US",
68
+ onChange: () => {
69
+ setPaymentError(null);
70
+ },
71
+ creditCardOptions: {
72
+ onLoad: event => {
73
+ if (event.iframesLoaded) {
74
+ setIsAdyenReady(true);
75
+ }
76
+ }
77
+ }
78
+ }
79
+ });
80
+ const handleSubmit = form.handleSubmit(values => _tslib.__awaiter(void 0, void 0, void 0, function* () {
48
81
  const {
49
- address,
50
- creditCard
82
+ address
51
83
  } = values;
52
84
  const billingInfo = Object.assign(Object.assign({}, address), {
53
85
  company: address.companyName ? address.companyName : "",
54
86
  email: address.email,
55
87
  fullName: address.name
56
88
  });
57
- onSubmit(billingInfo, creditCard);
58
- });
89
+ const processPayment = () => _tslib.__awaiter(void 0, void 0, void 0, function* () {
90
+ try {
91
+ const paymentResult = yield adyenSubmit();
92
+ if (!paymentResult.success) {
93
+ // Payment failed - show error and allow retry
94
+ setPaymentError(paymentResult.error || "Payment failed");
95
+ form.reset(undefined, {
96
+ keepValues: true
97
+ });
98
+ return;
99
+ }
100
+ if ((paymentResult === null || paymentResult === void 0 ? void 0 : paymentResult.resultCode) === "Authorised") {
101
+ // Payment was successful, proceed with form submission
102
+ const sessionData = getSessionData();
103
+ onSubmit(billingInfo, {
104
+ sessionId: sessionData === null || sessionData === void 0 ? void 0 : sessionData.id
105
+ });
106
+ }
107
+ } catch (error) {
108
+ // Payment processing error
109
+ const errorMessage = error instanceof Error ? error.message : "Payment processing failed";
110
+ setPaymentError(errorMessage);
111
+ }
112
+ });
113
+ yield processPayment();
114
+ }));
59
115
  return jsxRuntime.jsx("form", {
60
116
  onSubmit: formLogger.formLogger.capture(handleSubmit),
61
117
  children: jsxRuntime.jsxs(giger.Grid, {
62
118
  css: editBillingForm_styles.styles.container,
63
- children: [jsxRuntime.jsx(giger.GridChild, {
119
+ children: [paymentError && jsxRuntime.jsxs(jsxRuntime.Fragment, {
120
+ children: [jsxRuntime.jsx(giger.GridChild, {
121
+ colSpan: 12,
122
+ children: jsxRuntime.jsx(giger.InlineNotification, {
123
+ title: t("register-wallet:sections.notifications.error.title"),
124
+ type: giger.NotificationType.ERROR,
125
+ children: paymentError
126
+ })
127
+ }), jsxRuntime.jsx(spacer.Spacer, {
128
+ multiplier: 2
129
+ })]
130
+ }), jsxRuntime.jsx(giger.GridChild, {
64
131
  colSpan: 12,
65
132
  css: editBillingForm_styles.styles.subtitle,
66
133
  children: jsxRuntime.jsx(giger.Typography, {
67
134
  variant: "subtitle1",
68
135
  children: t("register-wallet:settings.billing.subtitleCard")
69
136
  })
70
- }), jsxRuntime.jsx(giger.GridChild, {
137
+ }), jsxRuntime.jsxs(giger.GridChild, {
71
138
  colSpan: 12,
72
- children: jsxRuntime.jsx(billingFields.BillingFields, {
73
- form: form
74
- })
75
- }), jsxRuntime.jsx(giger.GridChild, {
139
+ children: [!isAdyenReady && jsxRuntime.jsx("div", {
140
+ css: editBillingForm_styles.styles.loadingContainer,
141
+ children: jsxRuntime.jsx(giger.Spinner, {
142
+ size: giger.SpinnerSize.SIZE_LARGE
143
+ })
144
+ }), jsxRuntime.jsx("div", {
145
+ css: editBillingForm_styles.styles.adyenContainer,
146
+ "data-ready": isAdyenReady,
147
+ "data-testid": "adyen-div",
148
+ ref: adyenRef
149
+ })]
150
+ }), jsxRuntime.jsx(spacer.Spacer, {}), jsxRuntime.jsx(giger.GridChild, {
76
151
  colSpan: 12,
77
152
  css: editBillingForm_styles.styles.subtitle,
78
153
  children: jsxRuntime.jsx(giger.Typography, {
@@ -16,6 +16,21 @@ const styles = styles$1.createStyles({
16
16
  subtitle: theme => ({
17
17
  paddingBottom: styles$1.scopeTheme(theme).spacing(2),
18
18
  textAlign: "left"
19
+ }),
20
+ loadingContainer: theme => ({
21
+ display: "flex",
22
+ justifyContent: "center",
23
+ paddingTop: styles$1.scopeTheme(theme).spacing(2),
24
+ paddingBottom: styles$1.scopeTheme(theme).spacing(2)
25
+ }),
26
+ adyenContainer: () => ({
27
+ "&:not([data-ready='true'])": {
28
+ display: "none"
29
+ },
30
+ // Hide Adyen's "All fields are required" instruction text
31
+ "& .adyen-checkout-form-instruction": {
32
+ display: "none"
33
+ }
19
34
  })
20
35
  });
21
36
 
@@ -10,8 +10,8 @@ var isEqual = require('lodash/isEqual.js');
10
10
  var React = require('react');
11
11
  var reactHookForm = require('react-hook-form');
12
12
  var reactI18next = require('react-i18next');
13
- var shipFromAddressFormSchema = require('./ship-from-address-form-schema.cjs');
14
13
  var shipFromAddressForm_styles = require('./ship-from-address-form.styles.cjs');
14
+ var shipFromAddressFormSchema = require('./ship-from-address-form-schema.cjs');
15
15
  var addressFields = require('../address-form/address-fields.cjs');
16
16
  var addressPreferenceContext = require('../../address-preference-context/address-preference-context.cjs');
17
17
  var addressParser = require('../../address-parser/address-parser.cjs');
@@ -9,8 +9,8 @@ var formLogger = require('../../../utilities/form-logger.cjs');
9
9
  var validation = require('../../../utilities/validation.cjs');
10
10
  var reactHookForm = require('react-hook-form');
11
11
  var reactI18next = require('react-i18next');
12
- var vatFormSchema = require('./vat-form-schema.cjs');
13
12
  var vatForm_styles = require('./vat-form.styles.cjs');
13
+ var vatFormSchema = require('./vat-form-schema.cjs');
14
14
  var vatTypes = require('./vat-types.cjs');
15
15
  var inputGroup = require('../../field/input-group/input-group.cjs');
16
16
  var select = require('../../field/select/select.cjs');
@@ -2,7 +2,6 @@
2
2
 
3
3
  var walletForm = require('./wallet-form.cjs');
4
4
  var walletSchema = require('./wallet-schema.cjs');
5
- var billingFields = require('./billing-fields.cjs');
6
5
 
7
6
 
8
7
 
@@ -11,4 +10,3 @@ exports.getBillingAddressSchema = walletSchema.getBillingAddressSchema;
11
10
  exports.getWalletSchema = walletSchema.getWalletSchema;
12
11
  exports.walletBlackboxSchemas = walletSchema.walletBlackboxSchemas;
13
12
  exports.walletEmailSchemas = walletSchema.walletEmailSchemas;
14
- exports.BillingFields = billingFields.BillingFields;
@@ -2,6 +2,7 @@
2
2
 
3
3
  var _tslib = require('../../../_virtual/_tslib.cjs');
4
4
  var jsxRuntime = require('@emotion/react/jsx-runtime');
5
+ var auctanePaySessionContext = require('../../../contexts/auctane-pay-session-context.cjs');
5
6
  var useBlackBoxDetection = require('../../../hooks/use-black-box-detection.cjs');
6
7
  var useNestedForm = require('../../../hooks/use-nested-form.cjs');
7
8
  var giger = require('@shipengine/giger');
@@ -12,11 +13,13 @@ var React = require('react');
12
13
  var reactHookForm = require('react-hook-form');
13
14
  var reactI18next = require('react-i18next');
14
15
  var editWalletAddressForm = require('../edit-wallet-address-form/edit-wallet-address-form.cjs');
15
- var billingFields = require('./billing-fields.cjs');
16
16
  var walletForm_styles = require('./wallet-form.styles.cjs');
17
17
  var walletSchema = require('./wallet-schema.cjs');
18
+ var useFinancialService = require('../../../hooks/financial-services/use-financial-service.cjs');
19
+ var paymentMethodSelector = require('../../payment/payment-method-selector/payment-method-selector.cjs');
18
20
  var addressFields = require('../address-form/address-fields.cjs');
19
21
  var vatSettings = require('../../../features/vat-settings/vat-settings.cjs');
22
+ var elementsContextProvider = require('../../../elements-provider/elements-context-provider.cjs');
20
23
  var addressPreferenceContext = require('../../address-preference-context/address-preference-context.cjs');
21
24
  var spacer = require('../../spacer/spacer.cjs');
22
25
  var addressDisplay = require('../../address-display/address-display.cjs');
@@ -29,27 +32,38 @@ const WalletForm = ({
29
32
  onSubmit,
30
33
  showVatSettings
31
34
  }) => {
35
+ var _a, _b;
32
36
  const {
33
37
  t
34
38
  } = reactI18next.useTranslation(["register-wallet", "common"]);
39
+ const {
40
+ locale
41
+ } = elementsContextProvider.useElements();
35
42
  const defaultWarehouseIsPoBox = address.isPoBoxAddress(address$1);
36
43
  const {
37
44
  validateAddress
38
45
  } = addressPreferenceContext.useAddressPreference();
39
46
  const [codedErrors, setCodedErrors] = React.useState(errors);
47
+ const [isSubmitting, setIsSubmitting] = React.useState(false);
48
+ const [paymentError, setPaymentError] = React.useState(null);
49
+ const [isAdyenReady, setIsAdyenReady] = React.useState(false);
50
+ const [cardBrand, setCardBrand] = React.useState();
51
+ const sessionContext = auctanePaySessionContext.useAuctanePaySession();
40
52
  const form = reactHookForm.useForm({
41
53
  defaultValues:
42
54
  // If the warehouse address is a PO Box they cannot use it as their billing address
43
55
  defaultWarehouseIsPoBox ? {
44
56
  address: {
45
57
  countryCode: "US"
46
- }
58
+ },
59
+ paymentMethod: "credit_card"
47
60
  } : {
48
61
  address: Object.assign(Object.assign({}, address$1), {
49
62
  countryCode: address$1.countryCode
50
- })
63
+ }),
64
+ paymentMethod: "credit_card"
51
65
  },
52
- resolver: validation.validationResolver(walletSchema.getWalletSchema("emailOptional", "blackboxRequired"), ["creditCard"])
66
+ resolver: validation.validationResolver(walletSchema.getWalletSchema("emailOptional", "blackboxRequired"))
53
67
  });
54
68
  const formSetValue = form.setValue;
55
69
  useBlackBoxDetection.useBlackboxDetection({
@@ -67,24 +81,104 @@ const WalletForm = ({
67
81
  onSuccess: React.useCallback(bb => formSetValue("iovationBlackbox", bb), [formSetValue])
68
82
  });
69
83
  const watchAddress = form.watch("address");
84
+ const watchPaymentMethod = form.watch("paymentMethod");
85
+ const adyenOptions = React.useMemo(() => ({
86
+ showPayButton: false,
87
+ locale: locale || "en-US",
88
+ onChange: () => {
89
+ setPaymentError(null);
90
+ },
91
+ creditCardOptions: {
92
+ onLoad: event => {
93
+ if (event.iframesLoaded) {
94
+ setIsAdyenReady(true);
95
+ }
96
+ },
97
+ onBinLookup: event => {
98
+ var _a, _b;
99
+ // Some cards return multiple brands (e.g., ['star', 'visa']), so prioritize major brands
100
+ const majorBrands = ["visa", "mc", "amex", "discover"];
101
+ 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]);
102
+ setCardBrand(brand);
103
+ }
104
+ }
105
+ }), [locale]);
106
+ const {
107
+ adyenRef,
108
+ submit: adyenSubmit,
109
+ getSessionData
110
+ } = useFinancialService.useFinancialService({
111
+ getAdyenSessionData: sessionContext.getSessionData,
112
+ paymentMethod: watchPaymentMethod || "credit_card",
113
+ options: adyenOptions
114
+ });
115
+ // Reset Adyen ready state when payment method changes
116
+ React.useEffect(() => {
117
+ setIsAdyenReady(false);
118
+ }, [watchPaymentMethod]);
70
119
  const handleSubmit = form.handleSubmit(values => _tslib.__awaiter(void 0, void 0, void 0, function* () {
71
120
  const payload = values;
72
- yield validateAddress({
73
- addresses: {
74
- originAddress: payload.address
75
- },
76
- data: {
77
- creditCard: payload.creditCard,
78
- iovationBlackbox: payload.iovationBlackbox
79
- },
80
- onValid: validatedAddressesPayload => {
81
- onSubmit({
82
- address: validatedAddressesPayload.originAddress,
83
- creditCard: payload.creditCard,
121
+ setIsSubmitting(true);
122
+ try {
123
+ yield validateAddress({
124
+ addresses: {
125
+ originAddress: payload.address
126
+ },
127
+ data: {
84
128
  iovationBlackbox: payload.iovationBlackbox
85
- });
86
- }
87
- });
129
+ },
130
+ onValid: validatedAddressesPayload => {
131
+ const processPayment = () => _tslib.__awaiter(void 0, void 0, void 0, function* () {
132
+ try {
133
+ const walletPayload = {
134
+ address: validatedAddressesPayload.originAddress,
135
+ iovationBlackbox: payload.iovationBlackbox,
136
+ paymentMethod: payload.paymentMethod
137
+ };
138
+ if (payload.paymentMethod === "credit_card") {
139
+ // For credit card, await Adyen payment completion
140
+ const paymentResult = yield adyenSubmit();
141
+ if (!paymentResult.success) {
142
+ // Payment failed - show error and allow retry
143
+ setPaymentError(paymentResult.error || "Payment failed");
144
+ form.reset(undefined, {
145
+ keepValues: true
146
+ });
147
+ return;
148
+ }
149
+ // Payment succeeded - get session data and add to payload
150
+ const sessionData = getSessionData();
151
+ if (sessionData) {
152
+ walletPayload.auctanePaySessionId = sessionData.id;
153
+ }
154
+ if (cardBrand) {
155
+ walletPayload.cardBrand = cardBrand;
156
+ }
157
+ }
158
+ // Payment successful or non-credit-card method - proceed to next step
159
+ onSubmit(walletPayload);
160
+ } catch (error) {
161
+ // Payment processing error
162
+ const errorMessage = error instanceof Error ? error.message : "Payment processing failed";
163
+ setPaymentError(errorMessage);
164
+ } finally {
165
+ setIsSubmitting(false);
166
+ }
167
+ });
168
+ void processPayment();
169
+ }
170
+ });
171
+ } catch (error) {
172
+ // Address validation error
173
+ const errorMessage = error instanceof Error ? error.message : "An error occurred";
174
+ setCodedErrors([{
175
+ errorCode: "unspecified",
176
+ errorSource: "client",
177
+ errorType: "validation",
178
+ message: errorMessage
179
+ }]);
180
+ setIsSubmitting(false);
181
+ }
88
182
  }));
89
183
  const [editWalletAddressForm$1, isEditWalletAddressFormOpen, toggleIsEditWalletAddressFormOpen] = useNestedForm.useNestedForm(editWalletAddressForm.EditWalletAddressForm, {
90
184
  address: watchAddress,
@@ -99,9 +193,9 @@ const WalletForm = ({
99
193
  children: jsxRuntime.jsxs("form", {
100
194
  id: "wallet-form",
101
195
  onSubmit: formLogger.formLogger.capture(handleSubmit),
102
- children: [jsxRuntime.jsx(giger.GridChild, {
196
+ children: [jsxRuntime.jsxs(giger.GridChild, {
103
197
  colSpan: 12,
104
- children: !!(codedErrors === null || codedErrors === void 0 ? void 0 : codedErrors.length) && jsxRuntime.jsxs(jsxRuntime.Fragment, {
198
+ children: [!!(codedErrors === null || codedErrors === void 0 ? void 0 : codedErrors.length) && jsxRuntime.jsxs(jsxRuntime.Fragment, {
105
199
  children: [jsxRuntime.jsx(giger.InlineNotification, {
106
200
  title: t("register-wallet:sections.notifications.error.title"),
107
201
  type: giger.NotificationType.ERROR,
@@ -111,12 +205,47 @@ const WalletForm = ({
111
205
  }), jsxRuntime.jsx(spacer.Spacer, {
112
206
  multiplier: 2
113
207
  })]
208
+ }), paymentError && jsxRuntime.jsxs(jsxRuntime.Fragment, {
209
+ children: [jsxRuntime.jsx(giger.InlineNotification, {
210
+ title: t("register-wallet:sections.notifications.error.title"),
211
+ type: giger.NotificationType.ERROR,
212
+ children: paymentError
213
+ }), jsxRuntime.jsx(spacer.Spacer, {
214
+ multiplier: 2
215
+ })]
216
+ })]
217
+ }), jsxRuntime.jsx(giger.GridChild, {
218
+ colSpan: 12,
219
+ children: jsxRuntime.jsx(giger.Typography, {
220
+ variant: "subtitle1",
221
+ children: t("register-wallet:sections.paymentMethod.title")
114
222
  })
223
+ }), jsxRuntime.jsx(spacer.Spacer, {
224
+ multiplier: 1
115
225
  }), jsxRuntime.jsx(giger.GridChild, {
116
226
  colSpan: 12,
117
- children: jsxRuntime.jsx(billingFields.BillingFields, {
118
- form: form
227
+ children: jsxRuntime.jsx(paymentMethodSelector.PaymentMethodSelector, {
228
+ onChange: method => form.setValue("paymentMethod", method),
229
+ payByBankEnabled: (_b = (_a = getSessionData()) === null || _a === void 0 ? void 0 : _a.eligiblePaymentMethodTypes) === null || _b === void 0 ? void 0 : _b.includes("pay_by_bank_us"),
230
+ value: watchPaymentMethod || "credit_card"
119
231
  })
232
+ }), jsxRuntime.jsx(spacer.Spacer, {
233
+ multiplier: 2
234
+ }), jsxRuntime.jsxs(giger.GridChild, {
235
+ colSpan: 12,
236
+ children: [!isAdyenReady && jsxRuntime.jsx("div", {
237
+ css: walletForm_styles.styles.loadingContainer,
238
+ children: jsxRuntime.jsx(giger.Spinner, {
239
+ size: giger.SpinnerSize.SIZE_LARGE
240
+ })
241
+ }), jsxRuntime.jsx("div", {
242
+ css: walletForm_styles.styles.adyenContainer,
243
+ "data-ready": isAdyenReady,
244
+ "data-testid": "adyen-div",
245
+ ref: adyenRef
246
+ })]
247
+ }), jsxRuntime.jsx(spacer.Spacer, {
248
+ multiplier: 2
120
249
  }), jsxRuntime.jsx(giger.GridChild, {
121
250
  colSpan: 12,
122
251
  children: jsxRuntime.jsx(giger.Typography, {
@@ -167,6 +296,7 @@ const WalletForm = ({
167
296
  children: jsxRuntime.jsx(submitButton.SubmitButton, {
168
297
  control: form.control,
169
298
  form: "wallet-form",
299
+ isLoading: isSubmitting,
170
300
  variant: giger.ButtonVariant.FILLED,
171
301
  children: t("actions.continue")
172
302
  })
@@ -8,6 +8,21 @@ const styles = styles$1.createStyles({
8
8
  }),
9
9
  grid: theme => ({
10
10
  margin: styles$1.scopeTheme(theme).spacing(1)
11
+ }),
12
+ loadingContainer: theme => ({
13
+ display: "flex",
14
+ justifyContent: "center",
15
+ paddingTop: styles$1.scopeTheme(theme).spacing(2),
16
+ paddingBottom: styles$1.scopeTheme(theme).spacing(2)
17
+ }),
18
+ adyenContainer: () => ({
19
+ "&:not([data-ready='true'])": {
20
+ display: "none"
21
+ },
22
+ // Hide Adyen's "All fields are required" instruction text
23
+ "& .adyen-checkout-form-instruction": {
24
+ display: "none"
25
+ }
11
26
  })
12
27
  });
13
28
 
@@ -1,17 +1,11 @@
1
1
  'use strict';
2
2
 
3
- var _tslib = require('../../../_virtual/_tslib.cjs');
4
- var date = require('../../../utilities/date.cjs');
5
- var address$1 = require('../../../utilities/shipengine/address.cjs');
6
- var cardValidator = require('card-validator');
3
+ var address = require('../../../utilities/shipengine/address.cjs');
7
4
  var min = require('libphonenumber-js/min');
8
5
  var zod = require('zod');
9
6
  var addressSchema = require('../address-form/address-schema.cjs');
10
- var address = require('../../../constants/shipengine/address.cjs');
7
+ var address$1 = require('../../../constants/shipengine/address.cjs');
11
8
 
12
- const expirationYears = date.getExpirationYears(15);
13
- const creditCardTypes = ["visa", "mastercard", "american-express", "discover"];
14
- const expirationMonths = ["01", "02", "03", "04", "05", "06", "07", "08", "09", "10", "11", "12"];
15
9
  const walletEmailSchemas = {
16
10
  emailOptional: addressSchema.addressSchema.shape.email,
17
11
  emailRequired: zod.z.string().trim().email().min(1)
@@ -22,12 +16,12 @@ const walletBlackboxSchemas = {
22
16
  };
23
17
  const getBillingAddressSchema = emailRequirement => {
24
18
  return addressSchema.addressSchema.extend({
25
- addressLine1: addressSchema.addressLine1Schema.refine(v => !address$1.isPoBox(v), "schemaErrors.invalidAddressPoBox"),
26
- addressLine2: addressSchema.addressLine2Schema.refine(v => !v || !address$1.isPoBox(v), "schemaErrors.invalidAddressPoBox"),
19
+ addressLine1: addressSchema.addressLine1Schema.refine(v => !address.isPoBox(v), "schemaErrors.invalidAddressPoBox"),
20
+ addressLine2: addressSchema.addressLine2Schema.refine(v => !v || !address.isPoBox(v), "schemaErrors.invalidAddressPoBox"),
27
21
  companyName: zod.z.string().trim().min(1),
28
22
  email: walletEmailSchemas[emailRequirement],
29
23
  phone: zod.z.string().trim().min(1)
30
- }).refine(schema => schema.name.match(address.addressNameRegex), {
24
+ }).refine(schema => schema.name.match(address$1.addressNameRegex), {
31
25
  message: "schemaErrors.invalidAddressNameOnboarding",
32
26
  path: ["name"]
33
27
  }).refine(schema => !schema.phone || min.isValidPhoneNumber(schema.phone, schema.countryCode), {
@@ -35,7 +29,7 @@ const getBillingAddressSchema = emailRequirement => {
35
29
  path: ["phone"]
36
30
  }).refine(schema => {
37
31
  if (schema.countryCode === "US") {
38
- return schema.stateProvince && address.usStateCodes.includes(schema.stateProvince);
32
+ return schema.stateProvince && address$1.usStateCodes.includes(schema.stateProvince);
39
33
  }
40
34
  return true;
41
35
  }, {
@@ -43,7 +37,7 @@ const getBillingAddressSchema = emailRequirement => {
43
37
  path: ["stateProvince"]
44
38
  }).refine(schema => {
45
39
  if (schema.countryCode === "US") {
46
- return address.postalCodeRegex.test(schema.postalCode);
40
+ return address$1.postalCodeRegex.test(schema.postalCode);
47
41
  }
48
42
  return true;
49
43
  }, {
@@ -51,40 +45,11 @@ const getBillingAddressSchema = emailRequirement => {
51
45
  path: ["postalCode"]
52
46
  });
53
47
  };
54
- const creditCardSchema = zod.z.object({
55
- cvv: zod.z.string().trim().refine(cvv => cardValidator.cvv(cvv, [3, 4]).isValid, "Invalid CVV"),
56
- expiration: zod.z.string().trim().refine(expiration => {
57
- const [expirationMonth, expirationYear] = expiration.split("/");
58
- return expirationMonths.includes(expirationMonth) && expirationYears.includes(expirationYear);
59
- }, "schemaErrors.invalidExpirationDate"),
60
- name: addressSchema.addressSchema.shape.name.refine(name => name.match(address.addressNameRegex), "schemaErrors.invalidAddressNameOnboarding"),
61
- number: zod.z.string().trim().refine(number => cardValidator.number(number).isValid, "Invalid card number").refine(number => {
62
- var _a, _b;
63
- 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);
64
- }, "schemaErrors.invalidCreditCardType")
65
- }).transform(schema => {
66
- var _a;
67
- const {
68
- cvv,
69
- expiration
70
- } = schema,
71
- creditCard = _tslib.__rest(schema, ["cvv", "expiration"]);
72
- const creditCardVendor = (_a = cardValidator.number(creditCard.number).card) === null || _a === void 0 ? void 0 : _a.type;
73
- const [expirationMonth, expirationYear] = expiration.split("/").map(v => parseInt(v, 10));
74
- return {
75
- cardNumber: creditCard.number,
76
- cvv: cvv,
77
- expirationMonth: expirationMonth,
78
- expirationYear: expirationYear,
79
- name: creditCard.name,
80
- provider: creditCardVendor === "american-express" ? "american_express" : creditCardVendor
81
- };
82
- });
83
48
  const getWalletSchema = (emailRequirement, blackboxRequirement) => {
84
49
  const billingAddressSchema = getBillingAddressSchema(emailRequirement);
85
50
  return zod.z.object({
86
51
  address: billingAddressSchema,
87
- creditCard: creditCardSchema,
52
+ paymentMethod: zod.z.enum(["credit_card", "pay_by_bank_us"]).default("credit_card"),
88
53
  iovationBlackbox: walletBlackboxSchemas[blackboxRequirement]
89
54
  });
90
55
  };