@primer-io/react-native 2.46.0 → 3.0.0-beta.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (854) hide show
  1. package/android/build.gradle +3 -1
  2. package/android/src/main/java/com/primerioreactnative/DefaultNativePrimerModule.kt +64 -0
  3. package/android/src/main/java/com/primerioreactnative/PrimerRNHeadlessUniversalCheckoutListener.kt +36 -2
  4. package/android/src/main/java/com/primerioreactnative/PrimerSdkPackage.kt +2 -0
  5. package/android/src/main/java/com/primerioreactnative/PrimerViewUtilsImpl.kt +33 -0
  6. package/android/src/main/java/com/primerioreactnative/components/datamodels/manager/raw/billingAddress/PrimerRNAddress.kt +29 -0
  7. package/android/src/main/java/com/primerioreactnative/components/datamodels/manager/raw/card/PrimerRNCardData.kt +3 -0
  8. package/android/src/main/java/com/primerioreactnative/components/manager/asset/PrimerRNHeadlessUniversalCheckoutAssetManager.kt +49 -0
  9. package/android/src/main/java/com/primerioreactnative/components/manager/raw/PrimerRNHeadlessUniversalCheckoutRawManager.kt +61 -3
  10. package/android/src/main/java/com/primerioreactnative/components/manager/vault/PrimerRNHeadlessUniversalCheckoutVaultManager.kt +6 -0
  11. package/android/src/main/java/com/primerioreactnative/datamodels/PrimerClientSessionRN.kt +7 -0
  12. package/android/src/main/java/com/primerioreactnative/datamodels/PrimerErrorRN.kt +1 -0
  13. package/android/src/main/java/com/primerioreactnative/datamodels/PrimerSettingsRN.kt +2 -1
  14. package/android/src/main/java/com/primerioreactnative/extensions/PrimerClientSession.kt +14 -10
  15. package/android/src/main/java/com/primerioreactnative/extensions/PrimerPaymentMethodOptionsRN.kt +3 -10
  16. package/android/src/main/java/com/primerioreactnative/utils/AnalyticsEventMapper.kt +115 -0
  17. package/android/src/newarch/java/com/primerioreactnative/NativePrimerModule.kt +28 -0
  18. package/android/src/newarch/java/com/primerioreactnative/PrimerViewUtilsModule.kt +24 -0
  19. package/android/src/oldarch/java/com/primerioreactnative/NativePrimerModule.kt +32 -0
  20. package/android/src/oldarch/java/com/primerioreactnative/PrimerViewUtilsModule.kt +27 -0
  21. package/android/src/test/java/com/primerioreactnative/utils/AnalyticsEventMapperTest.kt +351 -0
  22. package/ios/Sources/DataModels/PrimerAddress+Extension.swift +35 -0
  23. package/ios/Sources/DataModels/PrimerCardData+Extension.swift +9 -1
  24. package/ios/Sources/DataModels/PrimerSettings+Extensions.swift +2 -16
  25. package/ios/Sources/Headless Universal Checkout/Managers/Assets Manager/RNTAssetsManager.m +7 -0
  26. package/ios/Sources/Headless Universal Checkout/Managers/Assets Manager/RNTAssetsManager.swift +46 -13
  27. package/ios/Sources/Headless Universal Checkout/Managers/Payment Method Managers/RNPrimerHeadlessUniversalCheckoutVaultManager.m +2 -0
  28. package/ios/Sources/Headless Universal Checkout/Managers/Payment Method Managers/RNPrimerHeadlessUniversalCheckoutVaultManager.swift +12 -1
  29. package/ios/Sources/Headless Universal Checkout/Managers/Payment Method Managers/RNTRawDataManager.m +2 -0
  30. package/ios/Sources/Headless Universal Checkout/Managers/Payment Method Managers/RNTRawDataManager.swift +45 -2
  31. package/ios/Sources/Headless Universal Checkout/RNTPrimerHeadlessUniversalCheckout.swift +61 -3
  32. package/ios/Sources/NativePrimer/RCTNativePrimer.mm +47 -1
  33. package/ios/Sources/PrimerViewUtils/RCTPrimerViewUtils.h +10 -0
  34. package/ios/Sources/PrimerViewUtils/RCTPrimerViewUtils.mm +41 -0
  35. package/ios/Sources/PrimerViewUtils/RNTPrimerViewUtils.swift +23 -0
  36. package/ios/Sources/RNTPrimer.swift +88 -3
  37. package/ios/Sources/version.swift +1 -1
  38. package/lib/module/Components/PrimerAcceptedCardNetworks.js +73 -0
  39. package/lib/module/Components/PrimerAcceptedCardNetworks.js.map +1 -0
  40. package/lib/module/Components/PrimerBillingAddressForm.js +167 -0
  41. package/lib/module/Components/PrimerBillingAddressForm.js.map +1 -0
  42. package/lib/module/Components/PrimerCardForm.js +97 -0
  43. package/lib/module/Components/PrimerCardForm.js.map +1 -0
  44. package/lib/module/Components/PrimerCardNetworkSelector.js +164 -0
  45. package/lib/module/Components/PrimerCardNetworkSelector.js.map +1 -0
  46. package/lib/module/Components/PrimerCheckoutProvider.js +1059 -0
  47. package/lib/module/Components/PrimerCheckoutProvider.js.map +1 -0
  48. package/lib/module/Components/PrimerCheckoutSheet.js +28 -0
  49. package/lib/module/Components/PrimerCheckoutSheet.js.map +1 -0
  50. package/lib/module/Components/PrimerPaymentMethodList.js +80 -0
  51. package/lib/module/Components/PrimerPaymentMethodList.js.map +1 -0
  52. package/lib/module/Components/PrimerVaultedPaymentMethod.js +234 -0
  53. package/lib/module/Components/PrimerVaultedPaymentMethod.js.map +1 -0
  54. package/lib/module/Components/analytics.js +18 -0
  55. package/lib/module/Components/analytics.js.map +1 -0
  56. package/lib/module/Components/hooks/useCardNetworkDescriptor.js +25 -0
  57. package/lib/module/Components/hooks/useCardNetworkDescriptor.js.map +1 -0
  58. package/lib/module/Components/hooks/useCardNetworkIcons.js +44 -0
  59. package/lib/module/Components/hooks/useCardNetworkIcons.js.map +1 -0
  60. package/lib/module/Components/hooks/usePrimerBillingAddressForm.js +27 -0
  61. package/lib/module/Components/hooks/usePrimerBillingAddressForm.js.map +1 -0
  62. package/lib/module/Components/hooks/usePrimerCardForm.js +44 -0
  63. package/lib/module/Components/hooks/usePrimerCardForm.js.map +1 -0
  64. package/lib/module/Components/hooks/usePrimerCardNetwork.js +70 -0
  65. package/lib/module/Components/hooks/usePrimerCardNetwork.js.map +1 -0
  66. package/lib/module/Components/hooks/usePrimerCardNetworkSelection.js +70 -0
  67. package/lib/module/Components/hooks/usePrimerCardNetworkSelection.js.map +1 -0
  68. package/lib/module/Components/hooks/usePrimerCheckout.js +12 -0
  69. package/lib/module/Components/hooks/usePrimerCheckout.js.map +1 -0
  70. package/lib/module/Components/hooks/usePrimerPaymentMethod.js +94 -0
  71. package/lib/module/Components/hooks/usePrimerPaymentMethod.js.map +1 -0
  72. package/lib/module/Components/hooks/usePrimerPaymentMethods.js +159 -0
  73. package/lib/module/Components/hooks/usePrimerPaymentMethods.js.map +1 -0
  74. package/lib/module/Components/hooks/usePrimerVaultManager.js +85 -0
  75. package/lib/module/Components/hooks/usePrimerVaultManager.js.map +1 -0
  76. package/lib/module/Components/index.js +22 -0
  77. package/lib/module/Components/index.js.map +1 -0
  78. package/lib/module/Components/inputs/CountrySelectorRow.js +117 -0
  79. package/lib/module/Components/inputs/CountrySelectorRow.js.map +1 -0
  80. package/lib/module/Components/inputs/PrimerCVVInput.js +51 -0
  81. package/lib/module/Components/inputs/PrimerCVVInput.js.map +1 -0
  82. package/lib/module/Components/inputs/PrimerCardNumberInput.js +134 -0
  83. package/lib/module/Components/inputs/PrimerCardNumberInput.js.map +1 -0
  84. package/lib/module/Components/inputs/PrimerCardholderNameInput.js +33 -0
  85. package/lib/module/Components/inputs/PrimerCardholderNameInput.js.map +1 -0
  86. package/lib/module/Components/inputs/PrimerExpiryDateInput.js +92 -0
  87. package/lib/module/Components/inputs/PrimerExpiryDateInput.js.map +1 -0
  88. package/lib/module/Components/inputs/PrimerTextInput.js +182 -0
  89. package/lib/module/Components/inputs/PrimerTextInput.js.map +1 -0
  90. package/lib/module/Components/inputs/caret.js +37 -0
  91. package/lib/module/Components/inputs/caret.js.map +1 -0
  92. package/lib/module/Components/inputs/dimensions.js +18 -0
  93. package/lib/module/Components/inputs/dimensions.js.map +1 -0
  94. package/lib/module/Components/inputs/index.js +9 -0
  95. package/lib/module/Components/inputs/index.js.map +1 -0
  96. package/lib/module/Components/internal/CardNetworkBadge.js +113 -0
  97. package/lib/module/Components/internal/CardNetworkBadge.js.map +1 -0
  98. package/lib/module/Components/internal/Popover.js +85 -0
  99. package/lib/module/Components/internal/Popover.js.map +1 -0
  100. package/lib/module/Components/internal/PrimerCheckoutContext.js +5 -0
  101. package/lib/module/Components/internal/PrimerCheckoutContext.js.map +1 -0
  102. package/lib/module/Components/internal/applePay.js +14 -0
  103. package/lib/module/Components/internal/applePay.js.map +1 -0
  104. package/lib/module/Components/internal/billingAddressOptions.js +29 -0
  105. package/lib/module/Components/internal/billingAddressOptions.js.map +1 -0
  106. package/lib/module/Components/internal/cardFormat.js +41 -0
  107. package/lib/module/Components/internal/cardFormat.js.map +1 -0
  108. package/lib/module/Components/internal/cardNetwork.js +85 -0
  109. package/lib/module/Components/internal/cardNetwork.js.map +1 -0
  110. package/lib/module/Components/internal/cardNetworkIcons.js +28 -0
  111. package/lib/module/Components/internal/cardNetworkIcons.js.map +1 -0
  112. package/lib/module/Components/internal/checkout-flow/CheckoutFlow.js +129 -0
  113. package/lib/module/Components/internal/checkout-flow/CheckoutFlow.js.map +1 -0
  114. package/lib/module/Components/internal/checkout-flow/CheckoutFlowContext.js +12 -0
  115. package/lib/module/Components/internal/checkout-flow/CheckoutFlowContext.js.map +1 -0
  116. package/lib/module/Components/internal/checkout-flow/index.js +4 -0
  117. package/lib/module/Components/internal/checkout-flow/index.js.map +1 -0
  118. package/lib/module/Components/internal/checkout-sheet/CheckoutSheet.js +280 -0
  119. package/lib/module/Components/internal/checkout-sheet/CheckoutSheet.js.map +1 -0
  120. package/lib/module/Components/internal/checkout-sheet/SheetHeightContext.js +12 -0
  121. package/lib/module/Components/internal/checkout-sheet/SheetHeightContext.js.map +1 -0
  122. package/lib/module/Components/internal/checkout-sheet/index.js +5 -0
  123. package/lib/module/Components/internal/checkout-sheet/index.js.map +1 -0
  124. package/lib/module/Components/internal/checkout-sheet/types.js +4 -0
  125. package/lib/module/Components/internal/checkout-sheet/types.js.map +1 -0
  126. package/lib/module/Components/internal/countries.js +795 -0
  127. package/lib/module/Components/internal/countries.js.map +1 -0
  128. package/lib/module/Components/internal/currency/currencies.json +1 -0
  129. package/lib/module/Components/internal/currency/currency-metadata.js +52 -0
  130. package/lib/module/Components/internal/currency/currency-metadata.js.map +1 -0
  131. package/lib/module/Components/internal/currency/formatting.js +28 -0
  132. package/lib/module/Components/internal/currency/formatting.js.map +1 -0
  133. package/lib/module/Components/internal/currency/index.js +5 -0
  134. package/lib/module/Components/internal/currency/index.js.map +1 -0
  135. package/lib/module/Components/internal/debug.js +15 -0
  136. package/lib/module/Components/internal/debug.js.map +1 -0
  137. package/lib/module/Components/internal/flags.js +19 -0
  138. package/lib/module/Components/internal/flags.js.map +1 -0
  139. package/lib/module/Components/internal/form-state/BillingAddressFormStateProvider.js +221 -0
  140. package/lib/module/Components/internal/form-state/BillingAddressFormStateProvider.js.map +1 -0
  141. package/lib/module/Components/internal/form-state/CardFormStateProvider.js +271 -0
  142. package/lib/module/Components/internal/form-state/CardFormStateProvider.js.map +1 -0
  143. package/lib/module/Components/internal/form-state/index.js +5 -0
  144. package/lib/module/Components/internal/form-state/index.js.map +1 -0
  145. package/lib/module/Components/internal/googlePay.js +15 -0
  146. package/lib/module/Components/internal/googlePay.js.map +1 -0
  147. package/lib/module/Components/internal/localization/index.js +6 -0
  148. package/lib/module/Components/internal/localization/index.js.map +1 -0
  149. package/lib/module/Components/internal/localization/interpolation.js +13 -0
  150. package/lib/module/Components/internal/localization/interpolation.js.map +1 -0
  151. package/lib/module/Components/internal/localization/locale-resolver.js +40 -0
  152. package/lib/module/Components/internal/localization/locale-resolver.js.map +1 -0
  153. package/lib/module/Components/internal/localization/strings/ar.json +227 -0
  154. package/lib/module/Components/internal/localization/strings/az.json +227 -0
  155. package/lib/module/Components/internal/localization/strings/bg.json +227 -0
  156. package/lib/module/Components/internal/localization/strings/bs.json +227 -0
  157. package/lib/module/Components/internal/localization/strings/ca.json +227 -0
  158. package/lib/module/Components/internal/localization/strings/cs.json +227 -0
  159. package/lib/module/Components/internal/localization/strings/da.json +227 -0
  160. package/lib/module/Components/internal/localization/strings/de.json +227 -0
  161. package/lib/module/Components/internal/localization/strings/el.json +227 -0
  162. package/lib/module/Components/internal/localization/strings/en.json +256 -0
  163. package/lib/module/Components/internal/localization/strings/es-AR.json +227 -0
  164. package/lib/module/Components/internal/localization/strings/es-MX.json +227 -0
  165. package/lib/module/Components/internal/localization/strings/es.json +227 -0
  166. package/lib/module/Components/internal/localization/strings/et.json +227 -0
  167. package/lib/module/Components/internal/localization/strings/fa.json +227 -0
  168. package/lib/module/Components/internal/localization/strings/fi.json +227 -0
  169. package/lib/module/Components/internal/localization/strings/fil.json +227 -0
  170. package/lib/module/Components/internal/localization/strings/fr.json +227 -0
  171. package/lib/module/Components/internal/localization/strings/he.json +227 -0
  172. package/lib/module/Components/internal/localization/strings/hi.json +227 -0
  173. package/lib/module/Components/internal/localization/strings/hr.json +227 -0
  174. package/lib/module/Components/internal/localization/strings/hu.json +227 -0
  175. package/lib/module/Components/internal/localization/strings/hy.json +227 -0
  176. package/lib/module/Components/internal/localization/strings/id.json +227 -0
  177. package/lib/module/Components/internal/localization/strings/index.js +68 -0
  178. package/lib/module/Components/internal/localization/strings/index.js.map +1 -0
  179. package/lib/module/Components/internal/localization/strings/it.json +227 -0
  180. package/lib/module/Components/internal/localization/strings/ja.json +227 -0
  181. package/lib/module/Components/internal/localization/strings/ka.json +227 -0
  182. package/lib/module/Components/internal/localization/strings/kk.json +227 -0
  183. package/lib/module/Components/internal/localization/strings/ko.json +227 -0
  184. package/lib/module/Components/internal/localization/strings/ku.json +227 -0
  185. package/lib/module/Components/internal/localization/strings/ky.json +227 -0
  186. package/lib/module/Components/internal/localization/strings/lt.json +227 -0
  187. package/lib/module/Components/internal/localization/strings/lv.json +227 -0
  188. package/lib/module/Components/internal/localization/strings/mk.json +227 -0
  189. package/lib/module/Components/internal/localization/strings/ms.json +227 -0
  190. package/lib/module/Components/internal/localization/strings/nb.json +227 -0
  191. package/lib/module/Components/internal/localization/strings/nl-BE.json +227 -0
  192. package/lib/module/Components/internal/localization/strings/nl.json +227 -0
  193. package/lib/module/Components/internal/localization/strings/pl.json +227 -0
  194. package/lib/module/Components/internal/localization/strings/pt-BR.json +227 -0
  195. package/lib/module/Components/internal/localization/strings/pt.json +227 -0
  196. package/lib/module/Components/internal/localization/strings/ro.json +227 -0
  197. package/lib/module/Components/internal/localization/strings/ru.json +227 -0
  198. package/lib/module/Components/internal/localization/strings/sk.json +227 -0
  199. package/lib/module/Components/internal/localization/strings/sl.json +227 -0
  200. package/lib/module/Components/internal/localization/strings/sq.json +227 -0
  201. package/lib/module/Components/internal/localization/strings/sr.json +227 -0
  202. package/lib/module/Components/internal/localization/strings/sv.json +227 -0
  203. package/lib/module/Components/internal/localization/strings/th.json +227 -0
  204. package/lib/module/Components/internal/localization/strings/tr.json +227 -0
  205. package/lib/module/Components/internal/localization/strings/uk.json +227 -0
  206. package/lib/module/Components/internal/localization/strings/ur-PK.json +227 -0
  207. package/lib/module/Components/internal/localization/strings/uz.json +227 -0
  208. package/lib/module/Components/internal/localization/strings/vi.json +227 -0
  209. package/lib/module/Components/internal/localization/strings/zh-CN.json +227 -0
  210. package/lib/module/Components/internal/localization/strings/zh-HK.json +227 -0
  211. package/lib/module/Components/internal/localization/strings/zh-TW.json +227 -0
  212. package/lib/module/Components/internal/localization/translate.js +28 -0
  213. package/lib/module/Components/internal/localization/translate.js.map +1 -0
  214. package/lib/module/Components/internal/localization/types.js +2 -0
  215. package/lib/module/Components/internal/localization/types.js.map +1 -0
  216. package/lib/module/Components/internal/localization/usePrimerLocalization.js +22 -0
  217. package/lib/module/Components/internal/localization/usePrimerLocalization.js.map +1 -0
  218. package/lib/module/Components/internal/navigation/NavigationContainer.js +180 -0
  219. package/lib/module/Components/internal/navigation/NavigationContainer.js.map +1 -0
  220. package/lib/module/Components/internal/navigation/NavigationContext.js +6 -0
  221. package/lib/module/Components/internal/navigation/NavigationContext.js.map +1 -0
  222. package/lib/module/Components/internal/navigation/NavigationHeader.js +185 -0
  223. package/lib/module/Components/internal/navigation/NavigationHeader.js.map +1 -0
  224. package/lib/module/Components/internal/navigation/NavigationProvider.js +92 -0
  225. package/lib/module/Components/internal/navigation/NavigationProvider.js.map +1 -0
  226. package/lib/module/Components/internal/navigation/index.js +9 -0
  227. package/lib/module/Components/internal/navigation/index.js.map +1 -0
  228. package/lib/module/Components/internal/navigation/navigationReducer.js +52 -0
  229. package/lib/module/Components/internal/navigation/navigationReducer.js.map +1 -0
  230. package/lib/module/Components/internal/navigation/types.js +17 -0
  231. package/lib/module/Components/internal/navigation/types.js.map +1 -0
  232. package/lib/module/Components/internal/navigation/useNavigation.js +19 -0
  233. package/lib/module/Components/internal/navigation/useNavigation.js.map +1 -0
  234. package/lib/module/Components/internal/navigation/useRoute.js +17 -0
  235. package/lib/module/Components/internal/navigation/useRoute.js.map +1 -0
  236. package/lib/module/Components/internal/routeMethodSelection.js +30 -0
  237. package/lib/module/Components/internal/routeMethodSelection.js.map +1 -0
  238. package/lib/module/Components/internal/screens/CardFormScreen.js +226 -0
  239. package/lib/module/Components/internal/screens/CardFormScreen.js.map +1 -0
  240. package/lib/module/Components/internal/screens/CountrySelectorScreen.js +252 -0
  241. package/lib/module/Components/internal/screens/CountrySelectorScreen.js.map +1 -0
  242. package/lib/module/Components/internal/screens/ErrorScreen.js +75 -0
  243. package/lib/module/Components/internal/screens/ErrorScreen.js.map +1 -0
  244. package/lib/module/Components/internal/screens/LoadingScreen.js +41 -0
  245. package/lib/module/Components/internal/screens/LoadingScreen.js.map +1 -0
  246. package/lib/module/Components/internal/screens/MethodSelectionScreen.js +252 -0
  247. package/lib/module/Components/internal/screens/MethodSelectionScreen.js.map +1 -0
  248. package/lib/module/Components/internal/screens/SuccessScreen.js +49 -0
  249. package/lib/module/Components/internal/screens/SuccessScreen.js.map +1 -0
  250. package/lib/module/Components/internal/screens/VaultedMethodsScreen.js +525 -0
  251. package/lib/module/Components/internal/screens/VaultedMethodsScreen.js.map +1 -0
  252. package/lib/module/Components/internal/screens/assets/check-circle-large.png +0 -0
  253. package/lib/module/Components/internal/screens/assets/check-circle-large@2x.png +0 -0
  254. package/lib/module/Components/internal/screens/assets/check-circle-large@3x.png +0 -0
  255. package/lib/module/Components/internal/screens/assets/check.png +0 -0
  256. package/lib/module/Components/internal/screens/assets/check@2x.png +0 -0
  257. package/lib/module/Components/internal/screens/assets/check@3x.png +0 -0
  258. package/lib/module/Components/internal/screens/assets/chevron-down.png +0 -0
  259. package/lib/module/Components/internal/screens/assets/chevron-down@2x.png +0 -0
  260. package/lib/module/Components/internal/screens/assets/chevron-down@3x.png +0 -0
  261. package/lib/module/Components/internal/screens/assets/close.png +0 -0
  262. package/lib/module/Components/internal/screens/assets/close@2x.png +0 -0
  263. package/lib/module/Components/internal/screens/assets/close@3x.png +0 -0
  264. package/lib/module/Components/internal/screens/assets/done.png +0 -0
  265. package/lib/module/Components/internal/screens/assets/done@2x.png +0 -0
  266. package/lib/module/Components/internal/screens/assets/done@3x.png +0 -0
  267. package/lib/module/Components/internal/screens/assets/edit.png +0 -0
  268. package/lib/module/Components/internal/screens/assets/edit@2x.png +0 -0
  269. package/lib/module/Components/internal/screens/assets/edit@3x.png +0 -0
  270. package/lib/module/Components/internal/screens/assets/error-large.png +0 -0
  271. package/lib/module/Components/internal/screens/assets/error-large@2x.png +0 -0
  272. package/lib/module/Components/internal/screens/assets/error-large@3x.png +0 -0
  273. package/lib/module/Components/internal/screens/assets/lock.png +0 -0
  274. package/lib/module/Components/internal/screens/assets/lock@2x.png +0 -0
  275. package/lib/module/Components/internal/screens/assets/lock@3x.png +0 -0
  276. package/lib/module/Components/internal/screens/constants.js +4 -0
  277. package/lib/module/Components/internal/screens/constants.js.map +1 -0
  278. package/lib/module/Components/internal/screens/index.js +8 -0
  279. package/lib/module/Components/internal/screens/index.js.map +1 -0
  280. package/lib/module/Components/internal/screens/useBottomSafeArea.js +20 -0
  281. package/lib/module/Components/internal/screens/useBottomSafeArea.js.map +1 -0
  282. package/lib/module/Components/internal/screens/useKeyboardHeight.js +32 -0
  283. package/lib/module/Components/internal/screens/useKeyboardHeight.js.map +1 -0
  284. package/lib/module/Components/internal/screens/useKeyboardPadding.js +28 -0
  285. package/lib/module/Components/internal/screens/useKeyboardPadding.js.map +1 -0
  286. package/lib/module/Components/internal/screens/useStatusScreenHeight.js +14 -0
  287. package/lib/module/Components/internal/screens/useStatusScreenHeight.js.map +1 -0
  288. package/lib/module/Components/internal/theme/ThemeContext.js +5 -0
  289. package/lib/module/Components/internal/theme/ThemeContext.js.map +1 -0
  290. package/lib/module/Components/internal/theme/index.js +6 -0
  291. package/lib/module/Components/internal/theme/index.js.map +1 -0
  292. package/lib/module/Components/internal/theme/merge.js +39 -0
  293. package/lib/module/Components/internal/theme/merge.js.map +1 -0
  294. package/lib/module/Components/internal/theme/tokens/dark.js +108 -0
  295. package/lib/module/Components/internal/theme/tokens/dark.js.map +1 -0
  296. package/lib/module/Components/internal/theme/tokens/index.js +5 -0
  297. package/lib/module/Components/internal/theme/tokens/index.js.map +1 -0
  298. package/lib/module/Components/internal/theme/tokens/light.js +138 -0
  299. package/lib/module/Components/internal/theme/tokens/light.js.map +1 -0
  300. package/lib/module/Components/internal/theme/types.js +2 -0
  301. package/lib/module/Components/internal/theme/types.js.map +1 -0
  302. package/lib/module/Components/internal/theme/usePrimerTheme.js +14 -0
  303. package/lib/module/Components/internal/theme/usePrimerTheme.js.map +1 -0
  304. package/lib/module/Components/internal/ui/CheckoutButton.js +89 -0
  305. package/lib/module/Components/internal/ui/CheckoutButton.js.map +1 -0
  306. package/lib/module/Components/internal/ui/PaymentMethodButton.js +169 -0
  307. package/lib/module/Components/internal/ui/PaymentMethodButton.js.map +1 -0
  308. package/lib/module/Components/internal/ui/VaultedCardCvvRow.js +110 -0
  309. package/lib/module/Components/internal/ui/VaultedCardCvvRow.js.map +1 -0
  310. package/lib/module/Components/internal/ui/index.js +5 -0
  311. package/lib/module/Components/internal/ui/index.js.map +1 -0
  312. package/lib/module/Components/internal/utils/errors.js +12 -0
  313. package/lib/module/Components/internal/utils/errors.js.map +1 -0
  314. package/lib/module/Components/internal/utils/formatting.js +30 -0
  315. package/lib/module/Components/internal/utils/formatting.js.map +1 -0
  316. package/lib/module/Components/status/PrimerErrorScreen.js +69 -0
  317. package/lib/module/Components/status/PrimerErrorScreen.js.map +1 -0
  318. package/lib/module/Components/status/PrimerLoadingScreen.js +48 -0
  319. package/lib/module/Components/status/PrimerLoadingScreen.js.map +1 -0
  320. package/lib/module/Components/status/PrimerStatusScreenLayout.js +85 -0
  321. package/lib/module/Components/status/PrimerStatusScreenLayout.js.map +1 -0
  322. package/lib/module/Components/status/PrimerSuccessScreen.js +43 -0
  323. package/lib/module/Components/status/PrimerSuccessScreen.js.map +1 -0
  324. package/lib/module/Components/status/index.js +7 -0
  325. package/lib/module/Components/status/index.js.map +1 -0
  326. package/lib/module/Components/types/BillingAddressFormTypes.js +4 -0
  327. package/lib/module/Components/types/BillingAddressFormTypes.js.map +1 -0
  328. package/lib/module/Components/types/CardFormTypes.js +4 -0
  329. package/lib/module/Components/types/CardFormTypes.js.map +1 -0
  330. package/lib/module/Components/types/CardInputTypes.js +4 -0
  331. package/lib/module/Components/types/CardInputTypes.js.map +1 -0
  332. package/lib/module/Components/types/CardNetworkSelection.js +4 -0
  333. package/lib/module/Components/types/CardNetworkSelection.js.map +1 -0
  334. package/lib/module/Components/types/PaymentMethodTypes.js +4 -0
  335. package/lib/module/Components/types/PaymentMethodTypes.js.map +1 -0
  336. package/lib/module/Components/types/PrimerCardFormTypes.js +4 -0
  337. package/lib/module/Components/types/PrimerCardFormTypes.js.map +1 -0
  338. package/lib/module/Components/types/PrimerCheckoutProviderTypes.js +4 -0
  339. package/lib/module/Components/types/PrimerCheckoutProviderTypes.js.map +1 -0
  340. package/lib/module/Components/types/PrimerPaymentMethodListTypes.js +4 -0
  341. package/lib/module/Components/types/PrimerPaymentMethodListTypes.js.map +1 -0
  342. package/lib/module/Components/types/PrimerPaymentMethodTypes.js +4 -0
  343. package/lib/module/Components/types/PrimerPaymentMethodTypes.js.map +1 -0
  344. package/lib/module/Components/types/VaultedPaymentMethodTypes.js +4 -0
  345. package/lib/module/Components/types/VaultedPaymentMethodTypes.js.map +1 -0
  346. package/lib/module/HeadlessUniversalCheckout/Managers/AssetsManager.js +22 -0
  347. package/lib/module/HeadlessUniversalCheckout/Managers/AssetsManager.js.map +1 -1
  348. package/lib/module/HeadlessUniversalCheckout/Managers/PaymentMethodManagers/AchManager.js +6 -6
  349. package/lib/module/HeadlessUniversalCheckout/Managers/PaymentMethodManagers/AchManager.js.map +1 -1
  350. package/lib/module/HeadlessUniversalCheckout/Managers/PaymentMethodManagers/ComponentWithRedirectManager.js +6 -6
  351. package/lib/module/HeadlessUniversalCheckout/Managers/PaymentMethodManagers/ComponentWithRedirectManager.js.map +1 -1
  352. package/lib/module/HeadlessUniversalCheckout/Managers/PaymentMethodManagers/RawDataManager.js +23 -0
  353. package/lib/module/HeadlessUniversalCheckout/Managers/PaymentMethodManagers/RawDataManager.js.map +1 -1
  354. package/lib/module/HeadlessUniversalCheckout/Managers/VaultManager.js +11 -0
  355. package/lib/module/HeadlessUniversalCheckout/Managers/VaultManager.js.map +1 -1
  356. package/lib/module/HeadlessUniversalCheckout/PrimerHeadlessUniversalCheckout.js +6 -6
  357. package/lib/module/HeadlessUniversalCheckout/PrimerHeadlessUniversalCheckout.js.map +1 -1
  358. package/lib/module/Primer.js +11 -11
  359. package/lib/module/Primer.js.map +1 -1
  360. package/lib/module/RNPrimer.js +41 -0
  361. package/lib/module/RNPrimer.js.map +1 -1
  362. package/lib/module/assets/images/ic-card-placeholder.png +0 -0
  363. package/lib/module/assets/images/ic-card-placeholder@2x.png +0 -0
  364. package/lib/module/assets/images/ic-card-placeholder@3x.png +0 -0
  365. package/lib/module/assets/images/ic-cvv-hint.png +0 -0
  366. package/lib/module/assets/images/ic-cvv-hint@2x.png +0 -0
  367. package/lib/module/assets/images/ic-cvv-hint@3x.png +0 -0
  368. package/lib/module/assets/images/ic-expiry-calendar.png +0 -0
  369. package/lib/module/assets/images/ic-expiry-calendar@2x.png +0 -0
  370. package/lib/module/assets/images/ic-expiry-calendar@3x.png +0 -0
  371. package/lib/module/index.js +24 -2
  372. package/lib/module/index.js.map +1 -1
  373. package/lib/module/models/PrimerCheckoutData.js.map +1 -1
  374. package/lib/module/specs/NativePrimer.js.map +1 -1
  375. package/lib/module/specs/NativePrimerViewUtils.js +5 -0
  376. package/lib/module/specs/NativePrimerViewUtils.js.map +1 -0
  377. package/lib/module/utils/debounce.js +31 -0
  378. package/lib/module/utils/debounce.js.map +1 -0
  379. package/lib/typescript/src/Components/PrimerAcceptedCardNetworks.d.ts +9 -0
  380. package/lib/typescript/src/Components/PrimerAcceptedCardNetworks.d.ts.map +1 -0
  381. package/lib/typescript/src/Components/PrimerBillingAddressForm.d.ts +3 -0
  382. package/lib/typescript/src/Components/PrimerBillingAddressForm.d.ts.map +1 -0
  383. package/lib/typescript/src/Components/PrimerCardForm.d.ts +3 -0
  384. package/lib/typescript/src/Components/PrimerCardForm.d.ts.map +1 -0
  385. package/lib/typescript/src/Components/PrimerCardNetworkSelector.d.ts +5 -0
  386. package/lib/typescript/src/Components/PrimerCardNetworkSelector.d.ts.map +1 -0
  387. package/lib/typescript/src/Components/PrimerCheckoutProvider.d.ts +3 -0
  388. package/lib/typescript/src/Components/PrimerCheckoutProvider.d.ts.map +1 -0
  389. package/lib/typescript/src/Components/PrimerCheckoutSheet.d.ts +18 -0
  390. package/lib/typescript/src/Components/PrimerCheckoutSheet.d.ts.map +1 -0
  391. package/lib/typescript/src/Components/PrimerPaymentMethodList.d.ts +3 -0
  392. package/lib/typescript/src/Components/PrimerPaymentMethodList.d.ts.map +1 -0
  393. package/lib/typescript/src/Components/PrimerVaultedPaymentMethod.d.ts +5 -0
  394. package/lib/typescript/src/Components/PrimerVaultedPaymentMethod.d.ts.map +1 -0
  395. package/lib/typescript/src/Components/analytics.d.ts +7 -0
  396. package/lib/typescript/src/Components/analytics.d.ts.map +1 -0
  397. package/lib/typescript/src/Components/hooks/useCardNetworkDescriptor.d.ts +8 -0
  398. package/lib/typescript/src/Components/hooks/useCardNetworkDescriptor.d.ts.map +1 -0
  399. package/lib/typescript/src/Components/hooks/useCardNetworkIcons.d.ts +19 -0
  400. package/lib/typescript/src/Components/hooks/useCardNetworkIcons.d.ts.map +1 -0
  401. package/lib/typescript/src/Components/hooks/usePrimerBillingAddressForm.d.ts +13 -0
  402. package/lib/typescript/src/Components/hooks/usePrimerBillingAddressForm.d.ts.map +1 -0
  403. package/lib/typescript/src/Components/hooks/usePrimerCardForm.d.ts +12 -0
  404. package/lib/typescript/src/Components/hooks/usePrimerCardForm.d.ts.map +1 -0
  405. package/lib/typescript/src/Components/hooks/usePrimerCardNetwork.d.ts +21 -0
  406. package/lib/typescript/src/Components/hooks/usePrimerCardNetwork.d.ts.map +1 -0
  407. package/lib/typescript/src/Components/hooks/usePrimerCardNetworkSelection.d.ts +3 -0
  408. package/lib/typescript/src/Components/hooks/usePrimerCardNetworkSelection.d.ts.map +1 -0
  409. package/lib/typescript/src/Components/hooks/usePrimerCheckout.d.ts +3 -0
  410. package/lib/typescript/src/Components/hooks/usePrimerCheckout.d.ts.map +1 -0
  411. package/lib/typescript/src/Components/hooks/usePrimerPaymentMethod.d.ts +9 -0
  412. package/lib/typescript/src/Components/hooks/usePrimerPaymentMethod.d.ts.map +1 -0
  413. package/lib/typescript/src/Components/hooks/usePrimerPaymentMethods.d.ts +3 -0
  414. package/lib/typescript/src/Components/hooks/usePrimerPaymentMethods.d.ts.map +1 -0
  415. package/lib/typescript/src/Components/hooks/usePrimerVaultManager.d.ts +3 -0
  416. package/lib/typescript/src/Components/hooks/usePrimerVaultManager.d.ts.map +1 -0
  417. package/lib/typescript/src/Components/index.d.ts +36 -0
  418. package/lib/typescript/src/Components/index.d.ts.map +1 -0
  419. package/lib/typescript/src/Components/inputs/CountrySelectorRow.d.ts +21 -0
  420. package/lib/typescript/src/Components/inputs/CountrySelectorRow.d.ts.map +1 -0
  421. package/lib/typescript/src/Components/inputs/PrimerCVVInput.d.ts +3 -0
  422. package/lib/typescript/src/Components/inputs/PrimerCVVInput.d.ts.map +1 -0
  423. package/lib/typescript/src/Components/inputs/PrimerCardNumberInput.d.ts +3 -0
  424. package/lib/typescript/src/Components/inputs/PrimerCardNumberInput.d.ts.map +1 -0
  425. package/lib/typescript/src/Components/inputs/PrimerCardholderNameInput.d.ts +3 -0
  426. package/lib/typescript/src/Components/inputs/PrimerCardholderNameInput.d.ts.map +1 -0
  427. package/lib/typescript/src/Components/inputs/PrimerExpiryDateInput.d.ts +3 -0
  428. package/lib/typescript/src/Components/inputs/PrimerExpiryDateInput.d.ts.map +1 -0
  429. package/lib/typescript/src/Components/inputs/PrimerTextInput.d.ts +4 -0
  430. package/lib/typescript/src/Components/inputs/PrimerTextInput.d.ts.map +1 -0
  431. package/lib/typescript/src/Components/inputs/caret.d.ts +5 -0
  432. package/lib/typescript/src/Components/inputs/caret.d.ts.map +1 -0
  433. package/lib/typescript/src/Components/inputs/dimensions.d.ts +7 -0
  434. package/lib/typescript/src/Components/inputs/dimensions.d.ts.map +1 -0
  435. package/lib/typescript/src/Components/inputs/index.d.ts +8 -0
  436. package/lib/typescript/src/Components/inputs/index.d.ts.map +1 -0
  437. package/lib/typescript/src/Components/internal/CardNetworkBadge.d.ts +7 -0
  438. package/lib/typescript/src/Components/internal/CardNetworkBadge.d.ts.map +1 -0
  439. package/lib/typescript/src/Components/internal/Popover.d.ts +15 -0
  440. package/lib/typescript/src/Components/internal/Popover.d.ts.map +1 -0
  441. package/lib/typescript/src/Components/internal/PrimerCheckoutContext.d.ts +3 -0
  442. package/lib/typescript/src/Components/internal/PrimerCheckoutContext.d.ts.map +1 -0
  443. package/lib/typescript/src/Components/internal/applePay.d.ts +11 -0
  444. package/lib/typescript/src/Components/internal/applePay.d.ts.map +1 -0
  445. package/lib/typescript/src/Components/internal/billingAddressOptions.d.ts +9 -0
  446. package/lib/typescript/src/Components/internal/billingAddressOptions.d.ts.map +1 -0
  447. package/lib/typescript/src/Components/internal/cardFormat.d.ts +20 -0
  448. package/lib/typescript/src/Components/internal/cardFormat.d.ts.map +1 -0
  449. package/lib/typescript/src/Components/internal/cardNetwork.d.ts +55 -0
  450. package/lib/typescript/src/Components/internal/cardNetwork.d.ts.map +1 -0
  451. package/lib/typescript/src/Components/internal/cardNetworkIcons.d.ts +10 -0
  452. package/lib/typescript/src/Components/internal/cardNetworkIcons.d.ts.map +1 -0
  453. package/lib/typescript/src/Components/internal/checkout-flow/CheckoutFlow.d.ts +5 -0
  454. package/lib/typescript/src/Components/internal/checkout-flow/CheckoutFlow.d.ts.map +1 -0
  455. package/lib/typescript/src/Components/internal/checkout-flow/CheckoutFlowContext.d.ts +7 -0
  456. package/lib/typescript/src/Components/internal/checkout-flow/CheckoutFlowContext.d.ts.map +1 -0
  457. package/lib/typescript/src/Components/internal/checkout-flow/index.d.ts +2 -0
  458. package/lib/typescript/src/Components/internal/checkout-flow/index.d.ts.map +1 -0
  459. package/lib/typescript/src/Components/internal/checkout-sheet/CheckoutSheet.d.ts +3 -0
  460. package/lib/typescript/src/Components/internal/checkout-sheet/CheckoutSheet.d.ts.map +1 -0
  461. package/lib/typescript/src/Components/internal/checkout-sheet/SheetHeightContext.d.ts +14 -0
  462. package/lib/typescript/src/Components/internal/checkout-sheet/SheetHeightContext.d.ts.map +1 -0
  463. package/lib/typescript/src/Components/internal/checkout-sheet/index.d.ts +5 -0
  464. package/lib/typescript/src/Components/internal/checkout-sheet/index.d.ts.map +1 -0
  465. package/lib/typescript/src/Components/internal/checkout-sheet/types.d.ts +21 -0
  466. package/lib/typescript/src/Components/internal/checkout-sheet/types.d.ts.map +1 -0
  467. package/lib/typescript/src/Components/internal/countries.d.ts +751 -0
  468. package/lib/typescript/src/Components/internal/countries.d.ts.map +1 -0
  469. package/lib/typescript/src/Components/internal/currency/currency-metadata.d.ts +7 -0
  470. package/lib/typescript/src/Components/internal/currency/currency-metadata.d.ts.map +1 -0
  471. package/lib/typescript/src/Components/internal/currency/formatting.d.ts +10 -0
  472. package/lib/typescript/src/Components/internal/currency/formatting.d.ts.map +1 -0
  473. package/lib/typescript/src/Components/internal/currency/index.d.ts +3 -0
  474. package/lib/typescript/src/Components/internal/currency/index.d.ts.map +1 -0
  475. package/lib/typescript/src/Components/internal/debug.d.ts +3 -0
  476. package/lib/typescript/src/Components/internal/debug.d.ts.map +1 -0
  477. package/lib/typescript/src/Components/internal/flags.d.ts +2 -0
  478. package/lib/typescript/src/Components/internal/flags.d.ts.map +1 -0
  479. package/lib/typescript/src/Components/internal/form-state/BillingAddressFormStateProvider.d.ts +13 -0
  480. package/lib/typescript/src/Components/internal/form-state/BillingAddressFormStateProvider.d.ts.map +1 -0
  481. package/lib/typescript/src/Components/internal/form-state/CardFormStateProvider.d.ts +16 -0
  482. package/lib/typescript/src/Components/internal/form-state/CardFormStateProvider.d.ts.map +1 -0
  483. package/lib/typescript/src/Components/internal/form-state/index.d.ts +3 -0
  484. package/lib/typescript/src/Components/internal/form-state/index.d.ts.map +1 -0
  485. package/lib/typescript/src/Components/internal/googlePay.d.ts +12 -0
  486. package/lib/typescript/src/Components/internal/googlePay.d.ts.map +1 -0
  487. package/lib/typescript/src/Components/internal/localization/index.d.ts +6 -0
  488. package/lib/typescript/src/Components/internal/localization/index.d.ts.map +1 -0
  489. package/lib/typescript/src/Components/internal/localization/interpolation.d.ts +3 -0
  490. package/lib/typescript/src/Components/internal/localization/interpolation.d.ts.map +1 -0
  491. package/lib/typescript/src/Components/internal/localization/locale-resolver.d.ts +3 -0
  492. package/lib/typescript/src/Components/internal/localization/locale-resolver.d.ts.map +1 -0
  493. package/lib/typescript/src/Components/internal/localization/strings/index.d.ts +4 -0
  494. package/lib/typescript/src/Components/internal/localization/strings/index.d.ts.map +1 -0
  495. package/lib/typescript/src/Components/internal/localization/translate.d.ts +3 -0
  496. package/lib/typescript/src/Components/internal/localization/translate.d.ts.map +1 -0
  497. package/lib/typescript/src/Components/internal/localization/types.d.ts +7 -0
  498. package/lib/typescript/src/Components/internal/localization/types.d.ts.map +1 -0
  499. package/lib/typescript/src/Components/internal/localization/usePrimerLocalization.d.ts +9 -0
  500. package/lib/typescript/src/Components/internal/localization/usePrimerLocalization.d.ts.map +1 -0
  501. package/lib/typescript/src/Components/internal/navigation/NavigationContainer.d.ts +8 -0
  502. package/lib/typescript/src/Components/internal/navigation/NavigationContainer.d.ts.map +1 -0
  503. package/lib/typescript/src/Components/internal/navigation/NavigationContext.d.ts +12 -0
  504. package/lib/typescript/src/Components/internal/navigation/NavigationContext.d.ts.map +1 -0
  505. package/lib/typescript/src/Components/internal/navigation/NavigationHeader.d.ts +16 -0
  506. package/lib/typescript/src/Components/internal/navigation/NavigationHeader.d.ts.map +1 -0
  507. package/lib/typescript/src/Components/internal/navigation/NavigationProvider.d.ts +10 -0
  508. package/lib/typescript/src/Components/internal/navigation/NavigationProvider.d.ts.map +1 -0
  509. package/lib/typescript/src/Components/internal/navigation/index.d.ts +9 -0
  510. package/lib/typescript/src/Components/internal/navigation/index.d.ts.map +1 -0
  511. package/lib/typescript/src/Components/internal/navigation/navigationReducer.d.ts +3 -0
  512. package/lib/typescript/src/Components/internal/navigation/navigationReducer.d.ts.map +1 -0
  513. package/lib/typescript/src/Components/internal/navigation/types.d.ts +79 -0
  514. package/lib/typescript/src/Components/internal/navigation/types.d.ts.map +1 -0
  515. package/lib/typescript/src/Components/internal/navigation/useNavigation.d.ts +9 -0
  516. package/lib/typescript/src/Components/internal/navigation/useNavigation.d.ts.map +1 -0
  517. package/lib/typescript/src/Components/internal/navigation/useRoute.d.ts +6 -0
  518. package/lib/typescript/src/Components/internal/navigation/useRoute.d.ts.map +1 -0
  519. package/lib/typescript/src/Components/internal/routeMethodSelection.d.ts +17 -0
  520. package/lib/typescript/src/Components/internal/routeMethodSelection.d.ts.map +1 -0
  521. package/lib/typescript/src/Components/internal/screens/CardFormScreen.d.ts +2 -0
  522. package/lib/typescript/src/Components/internal/screens/CardFormScreen.d.ts.map +1 -0
  523. package/lib/typescript/src/Components/internal/screens/CountrySelectorScreen.d.ts +2 -0
  524. package/lib/typescript/src/Components/internal/screens/CountrySelectorScreen.d.ts.map +1 -0
  525. package/lib/typescript/src/Components/internal/screens/ErrorScreen.d.ts +2 -0
  526. package/lib/typescript/src/Components/internal/screens/ErrorScreen.d.ts.map +1 -0
  527. package/lib/typescript/src/Components/internal/screens/LoadingScreen.d.ts +2 -0
  528. package/lib/typescript/src/Components/internal/screens/LoadingScreen.d.ts.map +1 -0
  529. package/lib/typescript/src/Components/internal/screens/MethodSelectionScreen.d.ts +2 -0
  530. package/lib/typescript/src/Components/internal/screens/MethodSelectionScreen.d.ts.map +1 -0
  531. package/lib/typescript/src/Components/internal/screens/SuccessScreen.d.ts +2 -0
  532. package/lib/typescript/src/Components/internal/screens/SuccessScreen.d.ts.map +1 -0
  533. package/lib/typescript/src/Components/internal/screens/VaultedMethodsScreen.d.ts +2 -0
  534. package/lib/typescript/src/Components/internal/screens/VaultedMethodsScreen.d.ts.map +1 -0
  535. package/lib/typescript/src/Components/internal/screens/constants.d.ts +2 -0
  536. package/lib/typescript/src/Components/internal/screens/constants.d.ts.map +1 -0
  537. package/lib/typescript/src/Components/internal/screens/index.d.ts +6 -0
  538. package/lib/typescript/src/Components/internal/screens/index.d.ts.map +1 -0
  539. package/lib/typescript/src/Components/internal/screens/useBottomSafeArea.d.ts +2 -0
  540. package/lib/typescript/src/Components/internal/screens/useBottomSafeArea.d.ts.map +1 -0
  541. package/lib/typescript/src/Components/internal/screens/useKeyboardHeight.d.ts +3 -0
  542. package/lib/typescript/src/Components/internal/screens/useKeyboardHeight.d.ts.map +1 -0
  543. package/lib/typescript/src/Components/internal/screens/useKeyboardPadding.d.ts +2 -0
  544. package/lib/typescript/src/Components/internal/screens/useKeyboardPadding.d.ts.map +1 -0
  545. package/lib/typescript/src/Components/internal/screens/useStatusScreenHeight.d.ts +2 -0
  546. package/lib/typescript/src/Components/internal/screens/useStatusScreenHeight.d.ts.map +1 -0
  547. package/lib/typescript/src/Components/internal/theme/ThemeContext.d.ts +8 -0
  548. package/lib/typescript/src/Components/internal/theme/ThemeContext.d.ts.map +1 -0
  549. package/lib/typescript/src/Components/internal/theme/index.d.ts +3 -0
  550. package/lib/typescript/src/Components/internal/theme/index.d.ts.map +1 -0
  551. package/lib/typescript/src/Components/internal/theme/merge.d.ts +5 -0
  552. package/lib/typescript/src/Components/internal/theme/merge.d.ts.map +1 -0
  553. package/lib/typescript/src/Components/internal/theme/tokens/dark.d.ts +3 -0
  554. package/lib/typescript/src/Components/internal/theme/tokens/dark.d.ts.map +1 -0
  555. package/lib/typescript/src/Components/internal/theme/tokens/index.d.ts +3 -0
  556. package/lib/typescript/src/Components/internal/theme/tokens/index.d.ts.map +1 -0
  557. package/lib/typescript/src/Components/internal/theme/tokens/light.d.ts +3 -0
  558. package/lib/typescript/src/Components/internal/theme/tokens/light.d.ts.map +1 -0
  559. package/lib/typescript/src/Components/internal/theme/types.d.ts +83 -0
  560. package/lib/typescript/src/Components/internal/theme/types.d.ts.map +1 -0
  561. package/lib/typescript/src/Components/internal/theme/usePrimerTheme.d.ts +3 -0
  562. package/lib/typescript/src/Components/internal/theme/usePrimerTheme.d.ts.map +1 -0
  563. package/lib/typescript/src/Components/internal/ui/CheckoutButton.d.ts +9 -0
  564. package/lib/typescript/src/Components/internal/ui/CheckoutButton.d.ts.map +1 -0
  565. package/lib/typescript/src/Components/internal/ui/PaymentMethodButton.d.ts +4 -0
  566. package/lib/typescript/src/Components/internal/ui/PaymentMethodButton.d.ts.map +1 -0
  567. package/lib/typescript/src/Components/internal/ui/VaultedCardCvvRow.d.ts +13 -0
  568. package/lib/typescript/src/Components/internal/ui/VaultedCardCvvRow.d.ts.map +1 -0
  569. package/lib/typescript/src/Components/internal/ui/index.d.ts +5 -0
  570. package/lib/typescript/src/Components/internal/ui/index.d.ts.map +1 -0
  571. package/lib/typescript/src/Components/internal/utils/errors.d.ts +8 -0
  572. package/lib/typescript/src/Components/internal/utils/errors.d.ts.map +1 -0
  573. package/lib/typescript/src/Components/internal/utils/formatting.d.ts +18 -0
  574. package/lib/typescript/src/Components/internal/utils/formatting.d.ts.map +1 -0
  575. package/lib/typescript/src/Components/status/PrimerErrorScreen.d.ts +12 -0
  576. package/lib/typescript/src/Components/status/PrimerErrorScreen.d.ts.map +1 -0
  577. package/lib/typescript/src/Components/status/PrimerLoadingScreen.d.ts +9 -0
  578. package/lib/typescript/src/Components/status/PrimerLoadingScreen.d.ts.map +1 -0
  579. package/lib/typescript/src/Components/status/PrimerStatusScreenLayout.d.ts +9 -0
  580. package/lib/typescript/src/Components/status/PrimerStatusScreenLayout.d.ts.map +1 -0
  581. package/lib/typescript/src/Components/status/PrimerSuccessScreen.d.ts +10 -0
  582. package/lib/typescript/src/Components/status/PrimerSuccessScreen.d.ts.map +1 -0
  583. package/lib/typescript/src/Components/status/index.d.ts +9 -0
  584. package/lib/typescript/src/Components/status/index.d.ts.map +1 -0
  585. package/lib/typescript/src/Components/types/BillingAddressFormTypes.d.ts +59 -0
  586. package/lib/typescript/src/Components/types/BillingAddressFormTypes.d.ts.map +1 -0
  587. package/lib/typescript/src/Components/types/CardFormTypes.d.ts +71 -0
  588. package/lib/typescript/src/Components/types/CardFormTypes.d.ts.map +1 -0
  589. package/lib/typescript/src/Components/types/CardInputTypes.d.ts +82 -0
  590. package/lib/typescript/src/Components/types/CardInputTypes.d.ts.map +1 -0
  591. package/lib/typescript/src/Components/types/CardNetworkSelection.d.ts +62 -0
  592. package/lib/typescript/src/Components/types/CardNetworkSelection.d.ts.map +1 -0
  593. package/lib/typescript/src/Components/types/PaymentMethodTypes.d.ts +37 -0
  594. package/lib/typescript/src/Components/types/PaymentMethodTypes.d.ts.map +1 -0
  595. package/lib/typescript/src/Components/types/PrimerCardFormTypes.d.ts +19 -0
  596. package/lib/typescript/src/Components/types/PrimerCardFormTypes.d.ts.map +1 -0
  597. package/lib/typescript/src/Components/types/PrimerCheckoutProviderTypes.d.ts +149 -0
  598. package/lib/typescript/src/Components/types/PrimerCheckoutProviderTypes.d.ts.map +1 -0
  599. package/lib/typescript/src/Components/types/PrimerPaymentMethodListTypes.d.ts +23 -0
  600. package/lib/typescript/src/Components/types/PrimerPaymentMethodListTypes.d.ts.map +1 -0
  601. package/lib/typescript/src/Components/types/PrimerPaymentMethodTypes.d.ts +51 -0
  602. package/lib/typescript/src/Components/types/PrimerPaymentMethodTypes.d.ts.map +1 -0
  603. package/lib/typescript/src/Components/types/VaultedPaymentMethodTypes.d.ts +71 -0
  604. package/lib/typescript/src/Components/types/VaultedPaymentMethodTypes.d.ts.map +1 -0
  605. package/lib/typescript/src/HeadlessUniversalCheckout/Managers/AssetsManager.d.ts +17 -2
  606. package/lib/typescript/src/HeadlessUniversalCheckout/Managers/AssetsManager.d.ts.map +1 -1
  607. package/lib/typescript/src/HeadlessUniversalCheckout/Managers/PaymentMethodManagers/RawDataManager.d.ts +2 -0
  608. package/lib/typescript/src/HeadlessUniversalCheckout/Managers/PaymentMethodManagers/RawDataManager.d.ts.map +1 -1
  609. package/lib/typescript/src/HeadlessUniversalCheckout/Managers/VaultManager.d.ts +1 -0
  610. package/lib/typescript/src/HeadlessUniversalCheckout/Managers/VaultManager.d.ts.map +1 -1
  611. package/lib/typescript/src/RNPrimer.d.ts +4 -0
  612. package/lib/typescript/src/RNPrimer.d.ts.map +1 -1
  613. package/lib/typescript/src/index.d.ts +39 -2
  614. package/lib/typescript/src/index.d.ts.map +1 -1
  615. package/lib/typescript/src/models/PrimerCheckoutData.d.ts +2 -0
  616. package/lib/typescript/src/models/PrimerCheckoutData.d.ts.map +1 -1
  617. package/lib/typescript/src/models/PrimerClientSession.d.ts +20 -0
  618. package/lib/typescript/src/models/PrimerClientSession.d.ts.map +1 -1
  619. package/lib/typescript/src/models/PrimerHeadlessUniversalCheckoutPaymentMethod.d.ts +4 -2
  620. package/lib/typescript/src/models/PrimerHeadlessUniversalCheckoutPaymentMethod.d.ts.map +1 -1
  621. package/lib/typescript/src/models/PrimerRawData.d.ts +1 -0
  622. package/lib/typescript/src/models/PrimerRawData.d.ts.map +1 -1
  623. package/lib/typescript/src/models/PrimerSettings.d.ts +1 -3
  624. package/lib/typescript/src/models/PrimerSettings.d.ts.map +1 -1
  625. package/lib/typescript/src/specs/NativePrimer.d.ts +4 -0
  626. package/lib/typescript/src/specs/NativePrimer.d.ts.map +1 -1
  627. package/lib/typescript/src/specs/NativePrimerViewUtils.d.ts +7 -0
  628. package/lib/typescript/src/specs/NativePrimerViewUtils.d.ts.map +1 -0
  629. package/lib/typescript/src/utils/debounce.d.ts +6 -0
  630. package/lib/typescript/src/utils/debounce.d.ts.map +1 -0
  631. package/package.json +14 -28
  632. package/primer-io-react-native.podspec +1 -1
  633. package/src/Components/PrimerAcceptedCardNetworks.tsx +73 -0
  634. package/src/Components/PrimerBillingAddressForm.tsx +195 -0
  635. package/src/Components/PrimerCardForm.tsx +102 -0
  636. package/src/Components/PrimerCardNetworkSelector.tsx +164 -0
  637. package/src/Components/PrimerCheckoutProvider.tsx +1092 -0
  638. package/src/Components/PrimerCheckoutSheet.tsx +37 -0
  639. package/src/Components/PrimerPaymentMethodList.tsx +82 -0
  640. package/src/Components/PrimerVaultedPaymentMethod.tsx +234 -0
  641. package/src/Components/analytics.ts +19 -0
  642. package/src/Components/hooks/useCardNetworkDescriptor.ts +27 -0
  643. package/src/Components/hooks/useCardNetworkIcons.ts +57 -0
  644. package/src/Components/hooks/usePrimerBillingAddressForm.ts +37 -0
  645. package/src/Components/hooks/usePrimerCardForm.ts +50 -0
  646. package/src/Components/hooks/usePrimerCardNetwork.ts +74 -0
  647. package/src/Components/hooks/usePrimerCardNetworkSelection.ts +85 -0
  648. package/src/Components/hooks/usePrimerCheckout.ts +14 -0
  649. package/src/Components/hooks/usePrimerPaymentMethod.ts +91 -0
  650. package/src/Components/hooks/usePrimerPaymentMethods.ts +172 -0
  651. package/src/Components/hooks/usePrimerVaultManager.ts +114 -0
  652. package/src/Components/index.ts +77 -0
  653. package/src/Components/inputs/CountrySelectorRow.tsx +127 -0
  654. package/src/Components/inputs/PrimerCVVInput.tsx +53 -0
  655. package/src/Components/inputs/PrimerCardNumberInput.tsx +146 -0
  656. package/src/Components/inputs/PrimerCardholderNameInput.tsx +30 -0
  657. package/src/Components/inputs/PrimerExpiryDateInput.tsx +101 -0
  658. package/src/Components/inputs/PrimerTextInput.tsx +201 -0
  659. package/src/Components/inputs/caret.ts +37 -0
  660. package/src/Components/inputs/dimensions.ts +15 -0
  661. package/src/Components/inputs/index.ts +7 -0
  662. package/src/Components/internal/CardNetworkBadge.tsx +124 -0
  663. package/src/Components/internal/Popover.tsx +95 -0
  664. package/src/Components/internal/PrimerCheckoutContext.ts +4 -0
  665. package/src/Components/internal/applePay.ts +12 -0
  666. package/src/Components/internal/billingAddressOptions.ts +47 -0
  667. package/src/Components/internal/cardFormat.ts +39 -0
  668. package/src/Components/internal/cardNetwork.ts +128 -0
  669. package/src/Components/internal/cardNetworkIcons.ts +27 -0
  670. package/src/Components/internal/checkout-flow/CheckoutFlow.tsx +124 -0
  671. package/src/Components/internal/checkout-flow/CheckoutFlowContext.ts +16 -0
  672. package/src/Components/internal/checkout-flow/index.ts +1 -0
  673. package/src/Components/internal/checkout-sheet/CheckoutSheet.tsx +301 -0
  674. package/src/Components/internal/checkout-sheet/SheetHeightContext.ts +24 -0
  675. package/src/Components/internal/checkout-sheet/index.ts +4 -0
  676. package/src/Components/internal/checkout-sheet/types.ts +27 -0
  677. package/src/Components/internal/countries.ts +302 -0
  678. package/src/Components/internal/currency/currencies.json +1 -0
  679. package/src/Components/internal/currency/currency-metadata.ts +57 -0
  680. package/src/Components/internal/currency/formatting.ts +26 -0
  681. package/src/Components/internal/currency/index.ts +2 -0
  682. package/src/Components/internal/debug.ts +12 -0
  683. package/src/Components/internal/flags.ts +20 -0
  684. package/src/Components/internal/form-state/BillingAddressFormStateProvider.tsx +283 -0
  685. package/src/Components/internal/form-state/CardFormStateProvider.tsx +302 -0
  686. package/src/Components/internal/form-state/index.ts +2 -0
  687. package/src/Components/internal/googlePay.ts +13 -0
  688. package/src/Components/internal/localization/index.ts +5 -0
  689. package/src/Components/internal/localization/interpolation.ts +13 -0
  690. package/src/Components/internal/localization/locale-resolver.ts +37 -0
  691. package/src/Components/internal/localization/strings/ar.json +227 -0
  692. package/src/Components/internal/localization/strings/az.json +227 -0
  693. package/src/Components/internal/localization/strings/bg.json +227 -0
  694. package/src/Components/internal/localization/strings/bs.json +227 -0
  695. package/src/Components/internal/localization/strings/ca.json +227 -0
  696. package/src/Components/internal/localization/strings/cs.json +227 -0
  697. package/src/Components/internal/localization/strings/da.json +227 -0
  698. package/src/Components/internal/localization/strings/de.json +227 -0
  699. package/src/Components/internal/localization/strings/el.json +227 -0
  700. package/src/Components/internal/localization/strings/en.json +256 -0
  701. package/src/Components/internal/localization/strings/es-AR.json +227 -0
  702. package/src/Components/internal/localization/strings/es-MX.json +227 -0
  703. package/src/Components/internal/localization/strings/es.json +227 -0
  704. package/src/Components/internal/localization/strings/et.json +227 -0
  705. package/src/Components/internal/localization/strings/fa.json +227 -0
  706. package/src/Components/internal/localization/strings/fi.json +227 -0
  707. package/src/Components/internal/localization/strings/fil.json +227 -0
  708. package/src/Components/internal/localization/strings/fr.json +227 -0
  709. package/src/Components/internal/localization/strings/he.json +227 -0
  710. package/src/Components/internal/localization/strings/hi.json +227 -0
  711. package/src/Components/internal/localization/strings/hr.json +227 -0
  712. package/src/Components/internal/localization/strings/hu.json +227 -0
  713. package/src/Components/internal/localization/strings/hy.json +227 -0
  714. package/src/Components/internal/localization/strings/id.json +227 -0
  715. package/src/Components/internal/localization/strings/index.ts +69 -0
  716. package/src/Components/internal/localization/strings/it.json +227 -0
  717. package/src/Components/internal/localization/strings/ja.json +227 -0
  718. package/src/Components/internal/localization/strings/ka.json +227 -0
  719. package/src/Components/internal/localization/strings/kk.json +227 -0
  720. package/src/Components/internal/localization/strings/ko.json +227 -0
  721. package/src/Components/internal/localization/strings/ku.json +227 -0
  722. package/src/Components/internal/localization/strings/ky.json +227 -0
  723. package/src/Components/internal/localization/strings/lt.json +227 -0
  724. package/src/Components/internal/localization/strings/lv.json +227 -0
  725. package/src/Components/internal/localization/strings/mk.json +227 -0
  726. package/src/Components/internal/localization/strings/ms.json +227 -0
  727. package/src/Components/internal/localization/strings/nb.json +227 -0
  728. package/src/Components/internal/localization/strings/nl-BE.json +227 -0
  729. package/src/Components/internal/localization/strings/nl.json +227 -0
  730. package/src/Components/internal/localization/strings/pl.json +227 -0
  731. package/src/Components/internal/localization/strings/pt-BR.json +227 -0
  732. package/src/Components/internal/localization/strings/pt.json +227 -0
  733. package/src/Components/internal/localization/strings/ro.json +227 -0
  734. package/src/Components/internal/localization/strings/ru.json +227 -0
  735. package/src/Components/internal/localization/strings/sk.json +227 -0
  736. package/src/Components/internal/localization/strings/sl.json +227 -0
  737. package/src/Components/internal/localization/strings/sq.json +227 -0
  738. package/src/Components/internal/localization/strings/sr.json +227 -0
  739. package/src/Components/internal/localization/strings/sv.json +227 -0
  740. package/src/Components/internal/localization/strings/th.json +227 -0
  741. package/src/Components/internal/localization/strings/tr.json +227 -0
  742. package/src/Components/internal/localization/strings/uk.json +227 -0
  743. package/src/Components/internal/localization/strings/ur-PK.json +227 -0
  744. package/src/Components/internal/localization/strings/uz.json +227 -0
  745. package/src/Components/internal/localization/strings/vi.json +227 -0
  746. package/src/Components/internal/localization/strings/zh-CN.json +227 -0
  747. package/src/Components/internal/localization/strings/zh-HK.json +227 -0
  748. package/src/Components/internal/localization/strings/zh-TW.json +227 -0
  749. package/src/Components/internal/localization/translate.ts +28 -0
  750. package/src/Components/internal/localization/types.ts +8 -0
  751. package/src/Components/internal/localization/usePrimerLocalization.ts +27 -0
  752. package/src/Components/internal/navigation/NavigationContainer.tsx +176 -0
  753. package/src/Components/internal/navigation/NavigationContext.ts +21 -0
  754. package/src/Components/internal/navigation/NavigationHeader.tsx +182 -0
  755. package/src/Components/internal/navigation/NavigationProvider.tsx +94 -0
  756. package/src/Components/internal/navigation/index.ts +8 -0
  757. package/src/Components/internal/navigation/navigationReducer.ts +47 -0
  758. package/src/Components/internal/navigation/types.ts +48 -0
  759. package/src/Components/internal/navigation/useNavigation.ts +18 -0
  760. package/src/Components/internal/navigation/useRoute.ts +18 -0
  761. package/src/Components/internal/routeMethodSelection.ts +35 -0
  762. package/src/Components/internal/screens/CardFormScreen.tsx +223 -0
  763. package/src/Components/internal/screens/CountrySelectorScreen.tsx +253 -0
  764. package/src/Components/internal/screens/ErrorScreen.tsx +57 -0
  765. package/src/Components/internal/screens/LoadingScreen.tsx +43 -0
  766. package/src/Components/internal/screens/MethodSelectionScreen.tsx +251 -0
  767. package/src/Components/internal/screens/SuccessScreen.tsx +32 -0
  768. package/src/Components/internal/screens/VaultedMethodsScreen.tsx +528 -0
  769. package/src/Components/internal/screens/assets/check-circle-large.png +0 -0
  770. package/src/Components/internal/screens/assets/check-circle-large@2x.png +0 -0
  771. package/src/Components/internal/screens/assets/check-circle-large@3x.png +0 -0
  772. package/src/Components/internal/screens/assets/check.png +0 -0
  773. package/src/Components/internal/screens/assets/check@2x.png +0 -0
  774. package/src/Components/internal/screens/assets/check@3x.png +0 -0
  775. package/src/Components/internal/screens/assets/chevron-down.png +0 -0
  776. package/src/Components/internal/screens/assets/chevron-down@2x.png +0 -0
  777. package/src/Components/internal/screens/assets/chevron-down@3x.png +0 -0
  778. package/src/Components/internal/screens/assets/close.png +0 -0
  779. package/src/Components/internal/screens/assets/close@2x.png +0 -0
  780. package/src/Components/internal/screens/assets/close@3x.png +0 -0
  781. package/src/Components/internal/screens/assets/done.png +0 -0
  782. package/src/Components/internal/screens/assets/done@2x.png +0 -0
  783. package/src/Components/internal/screens/assets/done@3x.png +0 -0
  784. package/src/Components/internal/screens/assets/edit.png +0 -0
  785. package/src/Components/internal/screens/assets/edit@2x.png +0 -0
  786. package/src/Components/internal/screens/assets/edit@3x.png +0 -0
  787. package/src/Components/internal/screens/assets/error-large.png +0 -0
  788. package/src/Components/internal/screens/assets/error-large@2x.png +0 -0
  789. package/src/Components/internal/screens/assets/error-large@3x.png +0 -0
  790. package/src/Components/internal/screens/assets/lock.png +0 -0
  791. package/src/Components/internal/screens/assets/lock@2x.png +0 -0
  792. package/src/Components/internal/screens/assets/lock@3x.png +0 -0
  793. package/src/Components/internal/screens/constants.ts +1 -0
  794. package/src/Components/internal/screens/index.ts +5 -0
  795. package/src/Components/internal/screens/useBottomSafeArea.ts +22 -0
  796. package/src/Components/internal/screens/useKeyboardHeight.ts +33 -0
  797. package/src/Components/internal/screens/useKeyboardPadding.ts +29 -0
  798. package/src/Components/internal/screens/useStatusScreenHeight.ts +11 -0
  799. package/src/Components/internal/theme/ThemeContext.ts +9 -0
  800. package/src/Components/internal/theme/index.ts +12 -0
  801. package/src/Components/internal/theme/merge.ts +27 -0
  802. package/src/Components/internal/theme/tokens/dark.ts +89 -0
  803. package/src/Components/internal/theme/tokens/index.ts +2 -0
  804. package/src/Components/internal/theme/tokens/light.ts +88 -0
  805. package/src/Components/internal/theme/types.ts +89 -0
  806. package/src/Components/internal/theme/usePrimerTheme.ts +15 -0
  807. package/src/Components/internal/ui/CheckoutButton.tsx +84 -0
  808. package/src/Components/internal/ui/PaymentMethodButton.tsx +132 -0
  809. package/src/Components/internal/ui/VaultedCardCvvRow.tsx +114 -0
  810. package/src/Components/internal/ui/index.ts +4 -0
  811. package/src/Components/internal/utils/errors.ts +9 -0
  812. package/src/Components/internal/utils/formatting.ts +32 -0
  813. package/src/Components/status/PrimerErrorScreen.tsx +77 -0
  814. package/src/Components/status/PrimerLoadingScreen.tsx +43 -0
  815. package/src/Components/status/PrimerStatusScreenLayout.tsx +77 -0
  816. package/src/Components/status/PrimerSuccessScreen.tsx +39 -0
  817. package/src/Components/status/index.ts +8 -0
  818. package/src/Components/types/BillingAddressFormTypes.ts +77 -0
  819. package/src/Components/types/CardFormTypes.ts +83 -0
  820. package/src/Components/types/CardInputTypes.ts +90 -0
  821. package/src/Components/types/CardNetworkSelection.ts +64 -0
  822. package/src/Components/types/PaymentMethodTypes.ts +51 -0
  823. package/src/Components/types/PrimerCardFormTypes.ts +19 -0
  824. package/src/Components/types/PrimerCheckoutProviderTypes.ts +168 -0
  825. package/src/Components/types/PrimerPaymentMethodListTypes.ts +24 -0
  826. package/src/Components/types/PrimerPaymentMethodTypes.ts +55 -0
  827. package/src/Components/types/VaultedPaymentMethodTypes.ts +74 -0
  828. package/src/HeadlessUniversalCheckout/Managers/AssetsManager.ts +38 -2
  829. package/src/HeadlessUniversalCheckout/Managers/PaymentMethodManagers/AchManager.ts +6 -6
  830. package/src/HeadlessUniversalCheckout/Managers/PaymentMethodManagers/ComponentWithRedirectManager.ts +6 -6
  831. package/src/HeadlessUniversalCheckout/Managers/PaymentMethodManagers/RawDataManager.ts +31 -0
  832. package/src/HeadlessUniversalCheckout/Managers/VaultManager.ts +12 -0
  833. package/src/HeadlessUniversalCheckout/PrimerHeadlessUniversalCheckout.ts +6 -6
  834. package/src/Primer.ts +11 -11
  835. package/src/RNPrimer.ts +45 -0
  836. package/src/assets/images/ic-card-placeholder.png +0 -0
  837. package/src/assets/images/ic-card-placeholder@2x.png +0 -0
  838. package/src/assets/images/ic-card-placeholder@3x.png +0 -0
  839. package/src/assets/images/ic-cvv-hint.png +0 -0
  840. package/src/assets/images/ic-cvv-hint@2x.png +0 -0
  841. package/src/assets/images/ic-cvv-hint@3x.png +0 -0
  842. package/src/assets/images/ic-expiry-calendar.png +0 -0
  843. package/src/assets/images/ic-expiry-calendar@2x.png +0 -0
  844. package/src/assets/images/ic-expiry-calendar@3x.png +0 -0
  845. package/src/index.tsx +102 -2
  846. package/src/models/PrimerCheckoutData.ts +3 -0
  847. package/src/models/PrimerClientSession.ts +30 -0
  848. package/src/models/PrimerHeadlessUniversalCheckoutPaymentMethod.ts +5 -2
  849. package/src/models/PrimerRawData.ts +1 -0
  850. package/src/models/PrimerSettings.ts +1 -4
  851. package/src/specs/NativePrimer.ts +6 -0
  852. package/src/specs/NativePrimerViewUtils.ts +8 -0
  853. package/src/utils/debounce.ts +33 -0
  854. package/android/src/test/java/com/primerioreactnative/extensions/PrimerGooglePayOptionsRNTest.kt +0 -68
@@ -0,0 +1,169 @@
1
+ "use strict";
2
+
3
+ import { useMemo } from 'react';
4
+ import { Image, Text, TouchableOpacity, StyleSheet, View } from 'react-native';
5
+ import { PrimerGooglePayButton as PrimerGooglePayNativeButton } from "../../../HeadlessUniversalCheckout/Components/PrimerGooglePayButton.js";
6
+ import { usePrimerTheme } from "../theme/index.js";
7
+ import { usePrimerLocalization } from "../localization/index.js";
8
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
9
+ export const PAYMENT_METHOD_BUTTON_HEIGHT = 44;
10
+ const BUTTON_HEIGHT = PAYMENT_METHOD_BUTTON_HEIGHT;
11
+ export function PaymentMethodButton({
12
+ item,
13
+ onPress
14
+ }) {
15
+ const tokens = usePrimerTheme();
16
+ const styles = useMemo(() => createStyles(tokens), [tokens]);
17
+ const {
18
+ t
19
+ } = usePrimerLocalization();
20
+
21
+ // Native-view methods (e.g. Google Pay) render the SDK's own display-only button as the whole
22
+ // row; pointerEvents="none" lets the row's TouchableOpacity own the tap, not the native button.
23
+ if (item.nativeViewName === 'PrimerGooglePayButton') {
24
+ return /*#__PURE__*/_jsx(TouchableOpacity, {
25
+ style: styles.nativeButton,
26
+ onPress: onPress,
27
+ activeOpacity: 0.7,
28
+ children: /*#__PURE__*/_jsx(View, {
29
+ style: styles.nativeButton,
30
+ pointerEvents: "none",
31
+ children: /*#__PURE__*/_jsx(PrimerGooglePayNativeButton, {
32
+ style: styles.nativeButton
33
+ })
34
+ })
35
+ });
36
+ }
37
+ const isCard = item.type === 'PAYMENT_CARD';
38
+ // Branded button: full-color background + logo (PayPal, Klarna, iDEAL…).
39
+ // PAYMENT_CARD must never take this path — it always renders outlined with the
40
+ // "Pay with card" label, even if the native resource exposes a logo/background.
41
+ const isColorStyle = !isCard && item.backgroundColor != null && item.logo != null;
42
+ // Only the flat surcharge has a single amount we can display on the button.
43
+ // `perNetwork` (PAYMENT_CARD) depends on the card the user enters — skip here.
44
+ const surchargeLabel = item.surcharge?.kind === 'flat' ? `+${item.surcharge.amount}` : null;
45
+ if (isCard) {
46
+ return /*#__PURE__*/_jsxs(TouchableOpacity, {
47
+ style: [styles.button, styles.outlinedButton],
48
+ onPress: onPress,
49
+ activeOpacity: 0.7,
50
+ children: [item.logo != null && /*#__PURE__*/_jsx(Image, {
51
+ source: {
52
+ uri: item.logo
53
+ },
54
+ style: styles.icon,
55
+ resizeMode: "contain"
56
+ }), /*#__PURE__*/_jsx(Text, {
57
+ style: styles.outlinedText,
58
+ children: t('primer_card_form_title')
59
+ }), surchargeLabel != null && /*#__PURE__*/_jsx(Text, {
60
+ style: styles.surchargeDark,
61
+ children: surchargeLabel
62
+ })]
63
+ });
64
+ }
65
+ if (isColorStyle) {
66
+ return /*#__PURE__*/_jsxs(TouchableOpacity, {
67
+ style: [styles.button, {
68
+ backgroundColor: item.backgroundColor
69
+ }],
70
+ onPress: onPress,
71
+ activeOpacity: 0.7,
72
+ children: [/*#__PURE__*/_jsx(Image, {
73
+ source: {
74
+ uri: item.logo
75
+ },
76
+ style: styles.logo,
77
+ resizeMode: "contain"
78
+ }), surchargeLabel != null && /*#__PURE__*/_jsx(Text, {
79
+ style: styles.surchargeLight,
80
+ children: surchargeLabel
81
+ })]
82
+ });
83
+ }
84
+ return /*#__PURE__*/_jsxs(TouchableOpacity, {
85
+ style: [styles.button, styles.outlinedButton],
86
+ onPress: onPress,
87
+ activeOpacity: 0.7,
88
+ children: [item.logo != null && /*#__PURE__*/_jsx(Image, {
89
+ source: {
90
+ uri: item.logo
91
+ },
92
+ style: styles.logo,
93
+ resizeMode: "contain"
94
+ }), surchargeLabel != null && /*#__PURE__*/_jsx(Text, {
95
+ style: styles.surchargeDark,
96
+ children: surchargeLabel
97
+ })]
98
+ });
99
+ }
100
+ function createStyles(tokens) {
101
+ const {
102
+ colors,
103
+ spacing,
104
+ radii,
105
+ borders,
106
+ typography
107
+ } = tokens;
108
+
109
+ /* eslint-disable react-native/no-unused-styles */
110
+ return StyleSheet.create({
111
+ button: {
112
+ alignItems: 'center',
113
+ borderRadius: radii.medium,
114
+ flexDirection: 'row',
115
+ height: BUTTON_HEIGHT,
116
+ justifyContent: 'center',
117
+ overflow: 'hidden',
118
+ paddingHorizontal: spacing.small,
119
+ width: '100%'
120
+ },
121
+ icon: {
122
+ height: 20,
123
+ marginRight: spacing.small,
124
+ width: 20
125
+ },
126
+ logo: {
127
+ height: BUTTON_HEIGHT * 0.5,
128
+ width: '40%'
129
+ },
130
+ nativeButton: {
131
+ height: BUTTON_HEIGHT,
132
+ width: '100%'
133
+ },
134
+ outlinedButton: {
135
+ backgroundColor: colors.background,
136
+ borderColor: colors.border,
137
+ borderWidth: borders.default
138
+ },
139
+ outlinedText: {
140
+ color: colors.textPrimary,
141
+ fontFamily: typography.titleLarge.fontFamily,
142
+ fontSize: typography.titleLarge.fontSize,
143
+ fontWeight: typography.titleLarge.fontWeight,
144
+ letterSpacing: typography.titleLarge.letterSpacing,
145
+ lineHeight: typography.titleLarge.lineHeight,
146
+ textAlign: 'center'
147
+ },
148
+ surchargeDark: {
149
+ color: colors.textSecondary,
150
+ fontFamily: typography.bodySmall.fontFamily,
151
+ fontSize: typography.bodySmall.fontSize,
152
+ fontWeight: typography.bodySmall.fontWeight,
153
+ marginLeft: spacing.small,
154
+ position: 'absolute',
155
+ right: spacing.small
156
+ },
157
+ surchargeLight: {
158
+ color: colors.background,
159
+ fontFamily: typography.bodySmall.fontFamily,
160
+ fontSize: typography.bodySmall.fontSize,
161
+ fontWeight: typography.bodySmall.fontWeight,
162
+ opacity: 0.8,
163
+ position: 'absolute',
164
+ right: spacing.small
165
+ }
166
+ });
167
+ /* eslint-enable react-native/no-unused-styles */
168
+ }
169
+ //# sourceMappingURL=PaymentMethodButton.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["useMemo","Image","Text","TouchableOpacity","StyleSheet","View","PrimerGooglePayButton","PrimerGooglePayNativeButton","usePrimerTheme","usePrimerLocalization","jsx","_jsx","jsxs","_jsxs","PAYMENT_METHOD_BUTTON_HEIGHT","BUTTON_HEIGHT","PaymentMethodButton","item","onPress","tokens","styles","createStyles","t","nativeViewName","style","nativeButton","activeOpacity","children","pointerEvents","isCard","type","isColorStyle","backgroundColor","logo","surchargeLabel","surcharge","kind","amount","button","outlinedButton","source","uri","icon","resizeMode","outlinedText","surchargeDark","surchargeLight","colors","spacing","radii","borders","typography","create","alignItems","borderRadius","medium","flexDirection","height","justifyContent","overflow","paddingHorizontal","small","width","marginRight","background","borderColor","border","borderWidth","default","color","textPrimary","fontFamily","titleLarge","fontSize","fontWeight","letterSpacing","lineHeight","textAlign","textSecondary","bodySmall","marginLeft","position","right","opacity"],"sourceRoot":"../../../../../src","sources":["Components/internal/ui/PaymentMethodButton.tsx"],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,110 @@
1
+ "use strict";
2
+
3
+ import { useEffect, useMemo, useRef } from 'react';
4
+ import { Image, StyleSheet, Text, View } from 'react-native';
5
+ import { usePrimerLocalization } from "../localization/index.js";
6
+ import { usePrimerTheme } from "../theme/index.js";
7
+ import { PrimerTextInput } from "../../inputs/PrimerTextInput.js";
8
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
9
+ const lockIcon = require('../screens/assets/lock.png');
10
+ const ICON_SIZE = 20;
11
+ const INPUT_WIDTH = 119;
12
+ export function VaultedCardCvvRow({
13
+ value,
14
+ onChangeValue,
15
+ cvvLabel,
16
+ maxLength,
17
+ autoFocus = false,
18
+ error
19
+ }) {
20
+ const tokens = usePrimerTheme();
21
+ const styles = useMemo(() => createStyles(tokens), [tokens]);
22
+ const {
23
+ t
24
+ } = usePrimerLocalization();
25
+ const inputRef = useRef(null);
26
+ useEffect(() => {
27
+ if (!autoFocus) return;
28
+ inputRef.current?.focus();
29
+ }, [autoFocus, maxLength]);
30
+ const handleChangeText = next => {
31
+ onChangeValue(next.replace(/\D/g, ''));
32
+ };
33
+ return /*#__PURE__*/_jsxs(View, {
34
+ style: styles.row,
35
+ children: [/*#__PURE__*/_jsxs(View, {
36
+ style: styles.left,
37
+ children: [/*#__PURE__*/_jsx(Image, {
38
+ source: lockIcon,
39
+ style: styles.icon,
40
+ resizeMode: "contain"
41
+ }), /*#__PURE__*/_jsx(Text, {
42
+ style: styles.caption,
43
+ numberOfLines: 2,
44
+ children: t('primer_vault_cvv_hint_with_label', {
45
+ label: cvvLabel
46
+ })
47
+ })]
48
+ }), /*#__PURE__*/_jsx(View, {
49
+ style: styles.inputWrap,
50
+ children: /*#__PURE__*/_jsx(PrimerTextInput, {
51
+ ref: inputRef,
52
+ value: value,
53
+ onChangeText: handleChangeText,
54
+ keyboardType: "number-pad",
55
+ maxLength: maxLength,
56
+ secureTextEntry: true,
57
+ autoComplete: "cc-csc",
58
+ showLabel: false,
59
+ placeholder: cvvLabel,
60
+ accessibilityLabel: t('accessibility_vaulted_method_cvv', {
61
+ label: cvvLabel
62
+ }),
63
+ error: error
64
+ })
65
+ })]
66
+ });
67
+ }
68
+ function createStyles(tokens) {
69
+ const {
70
+ colors,
71
+ spacing,
72
+ typography
73
+ } = tokens;
74
+
75
+ /* eslint-disable react-native/no-unused-styles */
76
+ return StyleSheet.create({
77
+ caption: {
78
+ color: colors.textSecondary,
79
+ flex: 1,
80
+ fontFamily: typography.bodySmall.fontFamily,
81
+ fontSize: typography.bodySmall.fontSize,
82
+ fontWeight: typography.bodySmall.fontWeight,
83
+ letterSpacing: typography.bodySmall.letterSpacing,
84
+ lineHeight: typography.bodySmall.lineHeight
85
+ },
86
+ icon: {
87
+ height: ICON_SIZE,
88
+ tintColor: colors.textSecondary,
89
+ width: ICON_SIZE
90
+ },
91
+ inputWrap: {
92
+ width: INPUT_WIDTH
93
+ },
94
+ left: {
95
+ alignItems: 'center',
96
+ flex: 1,
97
+ flexDirection: 'row',
98
+ gap: spacing.small,
99
+ minWidth: 0
100
+ },
101
+ row: {
102
+ alignItems: 'center',
103
+ flexDirection: 'row',
104
+ gap: spacing.medium,
105
+ width: '100%'
106
+ }
107
+ });
108
+ /* eslint-enable react-native/no-unused-styles */
109
+ }
110
+ //# sourceMappingURL=VaultedCardCvvRow.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["useEffect","useMemo","useRef","Image","StyleSheet","Text","View","usePrimerLocalization","usePrimerTheme","PrimerTextInput","jsx","_jsx","jsxs","_jsxs","lockIcon","require","ICON_SIZE","INPUT_WIDTH","VaultedCardCvvRow","value","onChangeValue","cvvLabel","maxLength","autoFocus","error","tokens","styles","createStyles","t","inputRef","current","focus","handleChangeText","next","replace","style","row","children","left","source","icon","resizeMode","caption","numberOfLines","label","inputWrap","ref","onChangeText","keyboardType","secureTextEntry","autoComplete","showLabel","placeholder","accessibilityLabel","colors","spacing","typography","create","color","textSecondary","flex","fontFamily","bodySmall","fontSize","fontWeight","letterSpacing","lineHeight","height","tintColor","width","alignItems","flexDirection","gap","small","minWidth","medium"],"sourceRoot":"../../../../../src","sources":["Components/internal/ui/VaultedCardCvvRow.tsx"],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,5 @@
1
+ "use strict";
2
+
3
+ export { CheckoutButton } from "./CheckoutButton.js";
4
+ export { VaultedCardCvvRow } from "./VaultedCardCvvRow.js";
5
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["CheckoutButton","VaultedCardCvvRow"],"sourceRoot":"../../../../../src","sources":["Components/internal/ui/index.ts"],"mappings":";;AAAA,SAASA,cAAc,QAAQ,qBAAkB;AAEjD,SAASC,iBAAiB,QAAQ,wBAAqB","ignoreList":[]}
@@ -0,0 +1,12 @@
1
+ "use strict";
2
+
3
+ /**
4
+ * Normalizes an unknown thrown/rejected value into an `Error` instance.
5
+ *
6
+ * Use at catch/reject boundaries to avoid exposing arbitrary thrown values
7
+ * (strings, objects, `undefined`) through a typed `Error` surface.
8
+ */
9
+ export function toError(value) {
10
+ return value instanceof Error ? value : new Error(String(value));
11
+ }
12
+ //# sourceMappingURL=errors.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["toError","value","Error","String"],"sourceRoot":"../../../../../src","sources":["Components/internal/utils/errors.ts"],"mappings":";;AAAA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,SAASA,OAAOA,CAACC,KAAc,EAAS;EAC7C,OAAOA,KAAK,YAAYC,KAAK,GAAGD,KAAK,GAAG,IAAIC,KAAK,CAACC,MAAM,CAACF,KAAK,CAAC,CAAC;AAClE","ignoreList":[]}
@@ -0,0 +1,30 @@
1
+ "use strict";
2
+
3
+ /**
4
+ * Formats a date for display using locale conventions.
5
+ *
6
+ * @param date - The Date object to format
7
+ * @param locale - BCP 47 locale tag (e.g., "en-US", "de-DE")
8
+ * @param options - Optional Intl.DateTimeFormat options for customization
9
+ * @returns Formatted date string
10
+ */
11
+ export function formatDate(date, locale, options) {
12
+ try {
13
+ return new Intl.DateTimeFormat(locale, options).format(date);
14
+ } catch (error) {
15
+ console.warn(`[Primer] Failed to format date for locale "${locale}"`, error);
16
+ return date.toISOString();
17
+ }
18
+ }
19
+
20
+ /**
21
+ * Converts a SCREAMING_SNAKE_CASE payment method type to a human-readable label.
22
+ *
23
+ * Used as a fallback when a resource-provided `paymentMethodName` is unavailable.
24
+ *
25
+ * @example titleCaseFromType('PAYMENT_CARD') // 'Payment Card'
26
+ */
27
+ export function titleCaseFromType(type) {
28
+ return type.toLowerCase().split(/[_\s]+/).filter(Boolean).map(w => w.charAt(0).toUpperCase() + w.slice(1)).join(' ');
29
+ }
30
+ //# sourceMappingURL=formatting.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["formatDate","date","locale","options","Intl","DateTimeFormat","format","error","console","warn","toISOString","titleCaseFromType","type","toLowerCase","split","filter","Boolean","map","w","charAt","toUpperCase","slice","join"],"sourceRoot":"../../../../../src","sources":["Components/internal/utils/formatting.ts"],"mappings":";;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,SAASA,UAAUA,CAACC,IAAU,EAAEC,MAAc,EAAEC,OAAoC,EAAU;EACnG,IAAI;IACF,OAAO,IAAIC,IAAI,CAACC,cAAc,CAACH,MAAM,EAAEC,OAAO,CAAC,CAACG,MAAM,CAACL,IAAI,CAAC;EAC9D,CAAC,CAAC,OAAOM,KAAK,EAAE;IACdC,OAAO,CAACC,IAAI,CAAC,8CAA8CP,MAAM,GAAG,EAAEK,KAAK,CAAC;IAC5E,OAAON,IAAI,CAACS,WAAW,CAAC,CAAC;EAC3B;AACF;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,SAASC,iBAAiBA,CAACC,IAAY,EAAU;EACtD,OAAOA,IAAI,CACRC,WAAW,CAAC,CAAC,CACbC,KAAK,CAAC,QAAQ,CAAC,CACfC,MAAM,CAACC,OAAO,CAAC,CACfC,GAAG,CAAEC,CAAC,IAAKA,CAAC,CAACC,MAAM,CAAC,CAAC,CAAC,CAACC,WAAW,CAAC,CAAC,GAAGF,CAAC,CAACG,KAAK,CAAC,CAAC,CAAC,CAAC,CAClDC,IAAI,CAAC,GAAG,CAAC;AACd","ignoreList":[]}
@@ -0,0 +1,69 @@
1
+ "use strict";
2
+
3
+ import React, { useMemo } from 'react';
4
+ import { Image, View, StyleSheet } from 'react-native';
5
+ import { usePrimerTheme } from "../internal/theme/index.js";
6
+ import { usePrimerLocalization } from "../internal/localization/index.js";
7
+ import { STATUS_SCREEN_ICON_SIZE } from "../internal/screens/constants.js";
8
+ import { CheckoutButton } from "../internal/ui/index.js";
9
+ import { PrimerStatusScreenLayout } from "./PrimerStatusScreenLayout.js";
10
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
11
+ const errorIcon = require('../internal/screens/assets/error-large.png');
12
+ export function PrimerErrorScreen({
13
+ title,
14
+ subtitle,
15
+ icon,
16
+ onRetry,
17
+ onChooseOtherMethod,
18
+ retryLabel,
19
+ otherMethodLabel
20
+ }) {
21
+ const tokens = usePrimerTheme();
22
+ const {
23
+ t
24
+ } = usePrimerLocalization();
25
+ const styles = useMemo(() => createStyles(tokens), [tokens]);
26
+ const resolvedTitle = title ?? t('primer_checkout_error_title');
27
+ const resolvedSubtitle = subtitle ?? t('primer_checkout_error_subtitle');
28
+ const resolvedIcon = icon ?? /*#__PURE__*/_jsx(Image, {
29
+ source: errorIcon,
30
+ style: styles.icon
31
+ });
32
+ const hasButtons = onRetry != null || onChooseOtherMethod != null;
33
+ return /*#__PURE__*/_jsx(PrimerStatusScreenLayout, {
34
+ icon: resolvedIcon,
35
+ title: resolvedTitle,
36
+ subtitle: resolvedSubtitle,
37
+ children: hasButtons && /*#__PURE__*/_jsxs(View, {
38
+ style: styles.buttonGroup,
39
+ children: [onRetry != null && /*#__PURE__*/_jsx(CheckoutButton, {
40
+ title: retryLabel ?? t('primer_common_button_retry'),
41
+ variant: "primary",
42
+ onPress: onRetry
43
+ }), onChooseOtherMethod != null && /*#__PURE__*/_jsx(CheckoutButton, {
44
+ title: otherMethodLabel ?? t('primer_checkout_error_button_other_methods'),
45
+ variant: "outlined",
46
+ onPress: onChooseOtherMethod
47
+ })]
48
+ })
49
+ });
50
+ }
51
+ function createStyles(tokens) {
52
+ const {
53
+ spacing
54
+ } = tokens;
55
+
56
+ /* eslint-disable react-native/no-unused-styles */
57
+ return StyleSheet.create({
58
+ buttonGroup: {
59
+ gap: spacing.small,
60
+ width: '100%'
61
+ },
62
+ icon: {
63
+ height: STATUS_SCREEN_ICON_SIZE,
64
+ width: STATUS_SCREEN_ICON_SIZE
65
+ }
66
+ });
67
+ /* eslint-enable react-native/no-unused-styles */
68
+ }
69
+ //# sourceMappingURL=PrimerErrorScreen.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["React","useMemo","Image","View","StyleSheet","usePrimerTheme","usePrimerLocalization","STATUS_SCREEN_ICON_SIZE","CheckoutButton","PrimerStatusScreenLayout","jsx","_jsx","jsxs","_jsxs","errorIcon","require","PrimerErrorScreen","title","subtitle","icon","onRetry","onChooseOtherMethod","retryLabel","otherMethodLabel","tokens","t","styles","createStyles","resolvedTitle","resolvedSubtitle","resolvedIcon","source","style","hasButtons","children","buttonGroup","variant","onPress","spacing","create","gap","small","width","height"],"sourceRoot":"../../../../src","sources":["Components/status/PrimerErrorScreen.tsx"],"mappings":";;AAAA,OAAOA,KAAK,IAAIC,OAAO,QAAQ,OAAO;AACtC,SAASC,KAAK,EAAEC,IAAI,EAAEC,UAAU,QAAQ,cAAc;AAEtD,SAASC,cAAc,QAAQ,4BAAmB;AAElD,SAASC,qBAAqB,QAAQ,mCAA0B;AAChE,SAASC,uBAAuB,QAAQ,kCAA+B;AACvE,SAASC,cAAc,QAAQ,yBAAgB;AAC/C,SAASC,wBAAwB,QAAQ,+BAA4B;AAAC,SAAAC,GAAA,IAAAC,IAAA,EAAAC,IAAA,IAAAC,KAAA;AAEtE,MAAMC,SAAS,GAAGC,OAAO,CAAC,4CAA4C,CAAC;AAYvE,OAAO,SAASC,iBAAiBA,CAAC;EAChCC,KAAK;EACLC,QAAQ;EACRC,IAAI;EACJC,OAAO;EACPC,mBAAmB;EACnBC,UAAU;EACVC;AACsB,CAAC,EAAE;EACzB,MAAMC,MAAM,GAAGnB,cAAc,CAAC,CAAC;EAC/B,MAAM;IAAEoB;EAAE,CAAC,GAAGnB,qBAAqB,CAAC,CAAC;EACrC,MAAMoB,MAAM,GAAGzB,OAAO,CAAC,MAAM0B,YAAY,CAACH,MAAM,CAAC,EAAE,CAACA,MAAM,CAAC,CAAC;EAE5D,MAAMI,aAAa,GAAGX,KAAK,IAAIQ,CAAC,CAAC,6BAA6B,CAAC;EAC/D,MAAMI,gBAAgB,GAAGX,QAAQ,IAAIO,CAAC,CAAC,gCAAgC,CAAC;EACxE,MAAMK,YAAY,GAAGX,IAAI,iBAAIR,IAAA,CAACT,KAAK;IAAC6B,MAAM,EAAEjB,SAAU;IAACkB,KAAK,EAAEN,MAAM,CAACP;EAAK,CAAE,CAAC;EAE7E,MAAMc,UAAU,GAAGb,OAAO,IAAI,IAAI,IAAIC,mBAAmB,IAAI,IAAI;EAEjE,oBACEV,IAAA,CAACF,wBAAwB;IAACU,IAAI,EAAEW,YAAa;IAACb,KAAK,EAAEW,aAAc;IAACV,QAAQ,EAAEW,gBAAiB;IAAAK,QAAA,EAC5FD,UAAU,iBACTpB,KAAA,CAACV,IAAI;MAAC6B,KAAK,EAAEN,MAAM,CAACS,WAAY;MAAAD,QAAA,GAC7Bd,OAAO,IAAI,IAAI,iBACdT,IAAA,CAACH,cAAc;QAACS,KAAK,EAAEK,UAAU,IAAIG,CAAC,CAAC,4BAA4B,CAAE;QAACW,OAAO,EAAC,SAAS;QAACC,OAAO,EAAEjB;MAAQ,CAAE,CAC5G,EACAC,mBAAmB,IAAI,IAAI,iBAC1BV,IAAA,CAACH,cAAc;QACbS,KAAK,EAAEM,gBAAgB,IAAIE,CAAC,CAAC,4CAA4C,CAAE;QAC3EW,OAAO,EAAC,UAAU;QAClBC,OAAO,EAAEhB;MAAoB,CAC9B,CACF;IAAA,CACG;EACP,CACuB,CAAC;AAE/B;AAEA,SAASM,YAAYA,CAACH,MAAoB,EAAE;EAC1C,MAAM;IAAEc;EAAQ,CAAC,GAAGd,MAAM;;EAE1B;EACA,OAAOpB,UAAU,CAACmC,MAAM,CAAC;IACvBJ,WAAW,EAAE;MACXK,GAAG,EAAEF,OAAO,CAACG,KAAK;MAClBC,KAAK,EAAE;IACT,CAAC;IACDvB,IAAI,EAAE;MACJwB,MAAM,EAAEpC,uBAAuB;MAC/BmC,KAAK,EAAEnC;IACT;EACF,CAAC,CAAC;EACF;AACF","ignoreList":[]}
@@ -0,0 +1,48 @@
1
+ "use strict";
2
+
3
+ import { ActivityIndicator, View, StyleSheet } from 'react-native';
4
+ import { usePrimerTheme } from "../internal/theme/index.js";
5
+ import { usePrimerLocalization } from "../internal/localization/index.js";
6
+ import { STATUS_SCREEN_ICON_SIZE } from "../internal/screens/constants.js";
7
+ import { PrimerStatusScreenLayout } from "./PrimerStatusScreenLayout.js";
8
+ import { jsx as _jsx } from "react/jsx-runtime";
9
+ const SPINNER_SCALE = 1.1;
10
+ export function PrimerLoadingScreen({
11
+ title,
12
+ subtitle,
13
+ icon
14
+ }) {
15
+ const tokens = usePrimerTheme();
16
+ const {
17
+ t
18
+ } = usePrimerLocalization();
19
+ const resolvedTitle = title ?? t('primer_checkout_loading_indicator');
20
+ const resolvedSubtitle = subtitle ?? t('primer_checkout_loading_subtitle');
21
+ const resolvedIcon = icon ?? /*#__PURE__*/_jsx(View, {
22
+ style: styles.iconWrapper,
23
+ children: /*#__PURE__*/_jsx(ActivityIndicator, {
24
+ size: "large",
25
+ color: tokens.colors.primary,
26
+ style: styles.spinner
27
+ })
28
+ });
29
+ return /*#__PURE__*/_jsx(PrimerStatusScreenLayout, {
30
+ icon: resolvedIcon,
31
+ title: resolvedTitle,
32
+ subtitle: resolvedSubtitle
33
+ });
34
+ }
35
+ const styles = StyleSheet.create({
36
+ iconWrapper: {
37
+ alignItems: 'center',
38
+ height: STATUS_SCREEN_ICON_SIZE,
39
+ justifyContent: 'center',
40
+ width: STATUS_SCREEN_ICON_SIZE
41
+ },
42
+ spinner: {
43
+ transform: [{
44
+ scale: SPINNER_SCALE
45
+ }]
46
+ }
47
+ });
48
+ //# sourceMappingURL=PrimerLoadingScreen.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["ActivityIndicator","View","StyleSheet","usePrimerTheme","usePrimerLocalization","STATUS_SCREEN_ICON_SIZE","PrimerStatusScreenLayout","jsx","_jsx","SPINNER_SCALE","PrimerLoadingScreen","title","subtitle","icon","tokens","t","resolvedTitle","resolvedSubtitle","resolvedIcon","style","styles","iconWrapper","children","size","color","colors","primary","spinner","create","alignItems","height","justifyContent","width","transform","scale"],"sourceRoot":"../../../../src","sources":["Components/status/PrimerLoadingScreen.tsx"],"mappings":";;AACA,SAASA,iBAAiB,EAAEC,IAAI,EAAEC,UAAU,QAAQ,cAAc;AAElE,SAASC,cAAc,QAAQ,4BAAmB;AAClD,SAASC,qBAAqB,QAAQ,mCAA0B;AAChE,SAASC,uBAAuB,QAAQ,kCAA+B;AACvE,SAASC,wBAAwB,QAAQ,+BAA4B;AAAC,SAAAC,GAAA,IAAAC,IAAA;AAEtE,MAAMC,aAAa,GAAG,GAAG;AASzB,OAAO,SAASC,mBAAmBA,CAAC;EAAEC,KAAK;EAAEC,QAAQ;EAAEC;AAA+B,CAAC,EAAE;EACvF,MAAMC,MAAM,GAAGX,cAAc,CAAC,CAAC;EAC/B,MAAM;IAAEY;EAAE,CAAC,GAAGX,qBAAqB,CAAC,CAAC;EAErC,MAAMY,aAAa,GAAGL,KAAK,IAAII,CAAC,CAAC,mCAAmC,CAAC;EACrE,MAAME,gBAAgB,GAAGL,QAAQ,IAAIG,CAAC,CAAC,kCAAkC,CAAC;EAC1E,MAAMG,YAAY,GAAGL,IAAI,iBACvBL,IAAA,CAACP,IAAI;IAACkB,KAAK,EAAEC,MAAM,CAACC,WAAY;IAAAC,QAAA,eAC9Bd,IAAA,CAACR,iBAAiB;MAACuB,IAAI,EAAC,OAAO;MAACC,KAAK,EAAEV,MAAM,CAACW,MAAM,CAACC,OAAQ;MAACP,KAAK,EAAEC,MAAM,CAACO;IAAQ,CAAE;EAAC,CACnF,CACP;EAED,oBAAOnB,IAAA,CAACF,wBAAwB;IAACO,IAAI,EAAEK,YAAa;IAACP,KAAK,EAAEK,aAAc;IAACJ,QAAQ,EAAEK;EAAiB,CAAE,CAAC;AAC3G;AAEA,MAAMG,MAAM,GAAGlB,UAAU,CAAC0B,MAAM,CAAC;EAC/BP,WAAW,EAAE;IACXQ,UAAU,EAAE,QAAQ;IACpBC,MAAM,EAAEzB,uBAAuB;IAC/B0B,cAAc,EAAE,QAAQ;IACxBC,KAAK,EAAE3B;EACT,CAAC;EACDsB,OAAO,EAAE;IACPM,SAAS,EAAE,CAAC;MAAEC,KAAK,EAAEzB;IAAc,CAAC;EACtC;AACF,CAAC,CAAC","ignoreList":[]}
@@ -0,0 +1,85 @@
1
+ "use strict";
2
+
3
+ import React, { useMemo } from 'react';
4
+ import { View, Text, StyleSheet } from 'react-native';
5
+ import { usePrimerTheme } from "../internal/theme/index.js";
6
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
7
+ export function PrimerStatusScreenLayout({
8
+ icon,
9
+ title,
10
+ subtitle,
11
+ children
12
+ }) {
13
+ const tokens = usePrimerTheme();
14
+ const styles = useMemo(() => createStyles(tokens), [tokens]);
15
+ return /*#__PURE__*/_jsxs(View, {
16
+ style: styles.container,
17
+ children: [/*#__PURE__*/_jsxs(View, {
18
+ style: styles.messageArea,
19
+ children: [icon, /*#__PURE__*/_jsxs(View, {
20
+ style: styles.textContent,
21
+ children: [/*#__PURE__*/_jsx(Text, {
22
+ style: styles.title,
23
+ children: title
24
+ }), /*#__PURE__*/_jsx(Text, {
25
+ style: styles.subtitle,
26
+ children: subtitle
27
+ })]
28
+ })]
29
+ }), children != null && /*#__PURE__*/_jsx(View, {
30
+ style: styles.childrenArea,
31
+ children: children
32
+ })]
33
+ });
34
+ }
35
+ function createStyles(tokens) {
36
+ const {
37
+ colors,
38
+ spacing,
39
+ typography
40
+ } = tokens;
41
+
42
+ /* eslint-disable react-native/no-unused-styles */
43
+ return StyleSheet.create({
44
+ childrenArea: {
45
+ paddingHorizontal: spacing.large,
46
+ paddingTop: spacing.large,
47
+ width: '100%'
48
+ },
49
+ container: {
50
+ alignItems: 'center',
51
+ width: '100%'
52
+ },
53
+ messageArea: {
54
+ alignItems: 'center',
55
+ gap: spacing.small,
56
+ paddingHorizontal: spacing.xxxlarge,
57
+ paddingVertical: spacing.xlarge
58
+ },
59
+ subtitle: {
60
+ color: colors.textSecondary,
61
+ fontFamily: typography.bodyMedium.fontFamily,
62
+ fontSize: typography.bodyMedium.fontSize,
63
+ fontWeight: typography.bodyMedium.fontWeight,
64
+ letterSpacing: typography.bodyMedium.letterSpacing,
65
+ lineHeight: typography.bodyMedium.lineHeight,
66
+ textAlign: 'center'
67
+ },
68
+ textContent: {
69
+ alignItems: 'center',
70
+ gap: spacing.xsmall,
71
+ width: '100%'
72
+ },
73
+ title: {
74
+ color: colors.textPrimary,
75
+ fontFamily: typography.bodyLarge.fontFamily,
76
+ fontSize: typography.bodyLarge.fontSize,
77
+ fontWeight: typography.bodyLarge.fontWeight,
78
+ letterSpacing: typography.bodyLarge.letterSpacing,
79
+ lineHeight: typography.bodyLarge.lineHeight,
80
+ textAlign: 'center'
81
+ }
82
+ });
83
+ /* eslint-enable react-native/no-unused-styles */
84
+ }
85
+ //# sourceMappingURL=PrimerStatusScreenLayout.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["React","useMemo","View","Text","StyleSheet","usePrimerTheme","jsx","_jsx","jsxs","_jsxs","PrimerStatusScreenLayout","icon","title","subtitle","children","tokens","styles","createStyles","style","container","messageArea","textContent","childrenArea","colors","spacing","typography","create","paddingHorizontal","large","paddingTop","width","alignItems","gap","small","xxxlarge","paddingVertical","xlarge","color","textSecondary","fontFamily","bodyMedium","fontSize","fontWeight","letterSpacing","lineHeight","textAlign","xsmall","textPrimary","bodyLarge"],"sourceRoot":"../../../../src","sources":["Components/status/PrimerStatusScreenLayout.tsx"],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,43 @@
1
+ "use strict";
2
+
3
+ import React, { useEffect } from 'react';
4
+ import { Image, StyleSheet } from 'react-native';
5
+ import { usePrimerLocalization } from "../internal/localization/index.js";
6
+ import { STATUS_SCREEN_ICON_SIZE } from "../internal/screens/constants.js";
7
+ import { PrimerStatusScreenLayout } from "./PrimerStatusScreenLayout.js";
8
+ import { jsx as _jsx } from "react/jsx-runtime";
9
+ const checkCircleIcon = require('../internal/screens/assets/check-circle-large.png');
10
+ export function PrimerSuccessScreen({
11
+ title,
12
+ subtitle,
13
+ icon,
14
+ onDismiss,
15
+ autoDismissMs
16
+ }) {
17
+ const {
18
+ t
19
+ } = usePrimerLocalization();
20
+ useEffect(() => {
21
+ if (!onDismiss || autoDismissMs == null) return;
22
+ const id = setTimeout(onDismiss, autoDismissMs);
23
+ return () => clearTimeout(id);
24
+ }, [onDismiss, autoDismissMs]);
25
+ const resolvedTitle = title ?? t('primer_checkout_success_title');
26
+ const resolvedSubtitle = subtitle ?? t('primer_checkout_success_subtitle');
27
+ const resolvedIcon = icon ?? /*#__PURE__*/_jsx(Image, {
28
+ source: checkCircleIcon,
29
+ style: styles.icon
30
+ });
31
+ return /*#__PURE__*/_jsx(PrimerStatusScreenLayout, {
32
+ icon: resolvedIcon,
33
+ title: resolvedTitle,
34
+ subtitle: resolvedSubtitle
35
+ });
36
+ }
37
+ const styles = StyleSheet.create({
38
+ icon: {
39
+ height: STATUS_SCREEN_ICON_SIZE,
40
+ width: STATUS_SCREEN_ICON_SIZE
41
+ }
42
+ });
43
+ //# sourceMappingURL=PrimerSuccessScreen.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["React","useEffect","Image","StyleSheet","usePrimerLocalization","STATUS_SCREEN_ICON_SIZE","PrimerStatusScreenLayout","jsx","_jsx","checkCircleIcon","require","PrimerSuccessScreen","title","subtitle","icon","onDismiss","autoDismissMs","t","id","setTimeout","clearTimeout","resolvedTitle","resolvedSubtitle","resolvedIcon","source","style","styles","create","height","width"],"sourceRoot":"../../../../src","sources":["Components/status/PrimerSuccessScreen.tsx"],"mappings":";;AAAA,OAAOA,KAAK,IAAIC,SAAS,QAAQ,OAAO;AACxC,SAASC,KAAK,EAAEC,UAAU,QAAQ,cAAc;AAEhD,SAASC,qBAAqB,QAAQ,mCAA0B;AAChE,SAASC,uBAAuB,QAAQ,kCAA+B;AACvE,SAASC,wBAAwB,QAAQ,+BAA4B;AAAC,SAAAC,GAAA,IAAAC,IAAA;AAEtE,MAAMC,eAAe,GAAGC,OAAO,CAAC,mDAAmD,CAAC;AAUpF,OAAO,SAASC,mBAAmBA,CAAC;EAAEC,KAAK;EAAEC,QAAQ;EAAEC,IAAI;EAAEC,SAAS;EAAEC;AAAwC,CAAC,EAAE;EACjH,MAAM;IAAEC;EAAE,CAAC,GAAGb,qBAAqB,CAAC,CAAC;EAErCH,SAAS,CAAC,MAAM;IACd,IAAI,CAACc,SAAS,IAAIC,aAAa,IAAI,IAAI,EAAE;IACzC,MAAME,EAAE,GAAGC,UAAU,CAACJ,SAAS,EAAEC,aAAa,CAAC;IAC/C,OAAO,MAAMI,YAAY,CAACF,EAAE,CAAC;EAC/B,CAAC,EAAE,CAACH,SAAS,EAAEC,aAAa,CAAC,CAAC;EAE9B,MAAMK,aAAa,GAAGT,KAAK,IAAIK,CAAC,CAAC,+BAA+B,CAAC;EACjE,MAAMK,gBAAgB,GAAGT,QAAQ,IAAII,CAAC,CAAC,kCAAkC,CAAC;EAC1E,MAAMM,YAAY,GAAGT,IAAI,iBAAIN,IAAA,CAACN,KAAK;IAACsB,MAAM,EAAEf,eAAgB;IAACgB,KAAK,EAAEC,MAAM,CAACZ;EAAK,CAAE,CAAC;EAEnF,oBAAON,IAAA,CAACF,wBAAwB;IAACQ,IAAI,EAAES,YAAa;IAACX,KAAK,EAAES,aAAc;IAACR,QAAQ,EAAES;EAAiB,CAAE,CAAC;AAC3G;AAEA,MAAMI,MAAM,GAAGvB,UAAU,CAACwB,MAAM,CAAC;EAC/Bb,IAAI,EAAE;IACJc,MAAM,EAAEvB,uBAAuB;IAC/BwB,KAAK,EAAExB;EACT;AACF,CAAC,CAAC","ignoreList":[]}
@@ -0,0 +1,7 @@
1
+ "use strict";
2
+
3
+ export { PrimerStatusScreenLayout } from "./PrimerStatusScreenLayout.js";
4
+ export { PrimerLoadingScreen } from "./PrimerLoadingScreen.js";
5
+ export { PrimerSuccessScreen } from "./PrimerSuccessScreen.js";
6
+ export { PrimerErrorScreen } from "./PrimerErrorScreen.js";
7
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["PrimerStatusScreenLayout","PrimerLoadingScreen","PrimerSuccessScreen","PrimerErrorScreen"],"sourceRoot":"../../../../src","sources":["Components/status/index.ts"],"mappings":";;AAAA,SAASA,wBAAwB,QAAQ,+BAA4B;AAErE,SAASC,mBAAmB,QAAQ,0BAAuB;AAE3D,SAASC,mBAAmB,QAAQ,0BAAuB;AAE3D,SAASC,iBAAiB,QAAQ,wBAAqB","ignoreList":[]}