@whop/elements-react-native 0.1.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 (339) hide show
  1. package/README.md +179 -0
  2. package/android/build.gradle +64 -0
  3. package/android/consumer-rules.pro +3 -0
  4. package/android/gradle.properties +5 -0
  5. package/android/src/main/java/com/whop/elements/WhopAddressSuggestionsModule.kt +102 -0
  6. package/android/src/main/java/com/whop/elements/WhopAuthSessionModule.kt +126 -0
  7. package/android/src/main/java/com/whop/elements/WhopElementsPackage.kt +39 -0
  8. package/android/src/main/java/com/whop/elements/WhopPayButtonManager.kt +74 -0
  9. package/android/src/main/java/com/whop/elements/WhopPayButtonPressEvent.kt +17 -0
  10. package/android/src/main/java/com/whop/elements/WhopPayButtonView.kt +178 -0
  11. package/android/src/main/java/com/whop/elements/WhopPlatformPayModule.kt +212 -0
  12. package/assets/whop-wordmark-dark.png +0 -0
  13. package/assets/whop-wordmark-dark@2x.png +0 -0
  14. package/assets/whop-wordmark-dark@3x.png +0 -0
  15. package/assets/whop-wordmark-light.png +0 -0
  16. package/assets/whop-wordmark-light@2x.png +0 -0
  17. package/assets/whop-wordmark-light@3x.png +0 -0
  18. package/ios/Package.swift +59 -0
  19. package/ios/Sources/ElementsReactNative/WhopAddressSuggestionsImpl.swift +189 -0
  20. package/ios/Sources/ElementsReactNative/WhopAuthSessionImpl.swift +106 -0
  21. package/ios/Sources/ElementsReactNative/WhopPayButtonImpl.swift +89 -0
  22. package/ios/Sources/ElementsReactNative/WhopPlatformPayImpl.swift +181 -0
  23. package/ios/generated/WhopAddressSuggestionsModule.h +11 -0
  24. package/ios/generated/WhopAddressSuggestionsModule.mm +46 -0
  25. package/ios/generated/WhopAuthSessionModule.h +11 -0
  26. package/ios/generated/WhopAuthSessionModule.mm +45 -0
  27. package/ios/generated/WhopElementsShims.h +35 -0
  28. package/ios/generated/WhopPayButtonComponentView.h +12 -0
  29. package/ios/generated/WhopPayButtonComponentView.mm +82 -0
  30. package/ios/generated/WhopPlatformPayModule.h +11 -0
  31. package/ios/generated/WhopPlatformPayModule.mm +51 -0
  32. package/lib/module/api/client.js +139 -0
  33. package/lib/module/api/client.js.map +1 -0
  34. package/lib/module/api/client.test.js +137 -0
  35. package/lib/module/api/client.test.js.map +1 -0
  36. package/lib/module/api/types.js +2 -0
  37. package/lib/module/api/types.js.map +1 -0
  38. package/lib/module/controller/actions.js +148 -0
  39. package/lib/module/controller/actions.js.map +1 -0
  40. package/lib/module/controller/actions.test.js +102 -0
  41. package/lib/module/controller/actions.test.js.map +1 -0
  42. package/lib/module/controller/store.js +158 -0
  43. package/lib/module/controller/store.js.map +1 -0
  44. package/lib/module/core/address/country-data.js +1370 -0
  45. package/lib/module/core/address/country-data.js.map +1 -0
  46. package/lib/module/core/address/country-name.js +38 -0
  47. package/lib/module/core/address/country-name.js.map +1 -0
  48. package/lib/module/core/address/country-names.generated.js +249 -0
  49. package/lib/module/core/address/country-names.generated.js.map +1 -0
  50. package/lib/module/core/address/engine.js +245 -0
  51. package/lib/module/core/address/engine.js.map +1 -0
  52. package/lib/module/core/address/engine.test.js +216 -0
  53. package/lib/module/core/address/engine.test.js.map +1 -0
  54. package/lib/module/core/address/form-state.js +409 -0
  55. package/lib/module/core/address/form-state.js.map +1 -0
  56. package/lib/module/core/address/form-state.test.js +516 -0
  57. package/lib/module/core/address/form-state.test.js.map +1 -0
  58. package/lib/module/core/address/places.js +36 -0
  59. package/lib/module/core/address/places.js.map +1 -0
  60. package/lib/module/core/address/required-coverage.test.js +57 -0
  61. package/lib/module/core/address/required-coverage.test.js.map +1 -0
  62. package/lib/module/core/address/suggest.js +102 -0
  63. package/lib/module/core/address/suggest.js.map +1 -0
  64. package/lib/module/core/address/suggest.test.js +156 -0
  65. package/lib/module/core/address/suggest.test.js.map +1 -0
  66. package/lib/module/core/address/use-suggestions.js +33 -0
  67. package/lib/module/core/address/use-suggestions.js.map +1 -0
  68. package/lib/module/core/payments/address-change.js +91 -0
  69. package/lib/module/core/payments/address-change.js.map +1 -0
  70. package/lib/module/core/payments/billing-merge.js +62 -0
  71. package/lib/module/core/payments/billing-merge.js.map +1 -0
  72. package/lib/module/core/payments/browser-info.js +42 -0
  73. package/lib/module/core/payments/browser-info.js.map +1 -0
  74. package/lib/module/core/payments/bt.js +151 -0
  75. package/lib/module/core/payments/bt.js.map +1 -0
  76. package/lib/module/core/payments/bt.test.js +23 -0
  77. package/lib/module/core/payments/bt.test.js.map +1 -0
  78. package/lib/module/core/payments/currency.js +37 -0
  79. package/lib/module/core/payments/currency.js.map +1 -0
  80. package/lib/module/core/payments/detail.js +159 -0
  81. package/lib/module/core/payments/detail.js.map +1 -0
  82. package/lib/module/core/payments/detail.test.js +225 -0
  83. package/lib/module/core/payments/detail.test.js.map +1 -0
  84. package/lib/module/core/payments/errors.js +115 -0
  85. package/lib/module/core/payments/errors.js.map +1 -0
  86. package/lib/module/core/payments/mint.js +89 -0
  87. package/lib/module/core/payments/mint.js.map +1 -0
  88. package/lib/module/core/payments/plan.js +131 -0
  89. package/lib/module/core/payments/plan.js.map +1 -0
  90. package/lib/module/core/payments/refusals.js +17 -0
  91. package/lib/module/core/payments/refusals.js.map +1 -0
  92. package/lib/module/core/payments/secure-fields.js +87 -0
  93. package/lib/module/core/payments/secure-fields.js.map +1 -0
  94. package/lib/module/core/payments/tax-id-catalog.js +616 -0
  95. package/lib/module/core/payments/tax-id-catalog.js.map +1 -0
  96. package/lib/module/core/payments/wallet-contact.js +42 -0
  97. package/lib/module/core/payments/wallet-contact.js.map +1 -0
  98. package/lib/module/core/payments/wallet-contact.test.js +77 -0
  99. package/lib/module/core/payments/wallet-contact.test.js.map +1 -0
  100. package/lib/module/elements/address.js +467 -0
  101. package/lib/module/elements/address.js.map +1 -0
  102. package/lib/module/elements/branding.js +114 -0
  103. package/lib/module/elements/branding.js.map +1 -0
  104. package/lib/module/elements/card-fields/context.js +254 -0
  105. package/lib/module/elements/card-fields/context.js.map +1 -0
  106. package/lib/module/elements/card-fields/fields.js +309 -0
  107. package/lib/module/elements/card-fields/fields.js.map +1 -0
  108. package/lib/module/elements/card-fields/index.js +30 -0
  109. package/lib/module/elements/card-fields/index.js.map +1 -0
  110. package/lib/module/elements/card.js +107 -0
  111. package/lib/module/elements/card.js.map +1 -0
  112. package/lib/module/elements/email.js +84 -0
  113. package/lib/module/elements/email.js.map +1 -0
  114. package/lib/module/elements/payment/declared-fields.js +186 -0
  115. package/lib/module/elements/payment/declared-fields.js.map +1 -0
  116. package/lib/module/elements/payment/index.js +448 -0
  117. package/lib/module/elements/payment/index.js.map +1 -0
  118. package/lib/module/elements/payment/wallet.js +132 -0
  119. package/lib/module/elements/payment/wallet.js.map +1 -0
  120. package/lib/module/elements/tax-id.js +100 -0
  121. package/lib/module/elements/tax-id.js.map +1 -0
  122. package/lib/module/i18n/catalogs.js +103 -0
  123. package/lib/module/i18n/catalogs.js.map +1 -0
  124. package/lib/module/i18n/index.js +45 -0
  125. package/lib/module/i18n/index.js.map +1 -0
  126. package/lib/module/index.js +27 -0
  127. package/lib/module/index.js.map +1 -0
  128. package/lib/module/namespace.js +174 -0
  129. package/lib/module/namespace.js.map +1 -0
  130. package/lib/module/native/index.js +128 -0
  131. package/lib/module/native/index.js.map +1 -0
  132. package/lib/module/package.json +1 -0
  133. package/lib/module/provider.js +56 -0
  134. package/lib/module/provider.js.map +1 -0
  135. package/lib/module/specs/NativeWhopAddressSuggestions.js +6 -0
  136. package/lib/module/specs/NativeWhopAddressSuggestions.js.map +1 -0
  137. package/lib/module/specs/NativeWhopAuthSession.js +10 -0
  138. package/lib/module/specs/NativeWhopAuthSession.js.map +1 -0
  139. package/lib/module/specs/NativeWhopPlatformPay.js +10 -0
  140. package/lib/module/specs/NativeWhopPlatformPay.js.map +1 -0
  141. package/lib/module/specs/WhopPayButtonNativeComponent.ts +22 -0
  142. package/lib/module/theme/appearance.js +85 -0
  143. package/lib/module/theme/appearance.js.map +1 -0
  144. package/lib/module/theme/appearance.test.js +124 -0
  145. package/lib/module/theme/appearance.test.js.map +1 -0
  146. package/lib/module/theme/provider.js +25 -0
  147. package/lib/module/theme/provider.js.map +1 -0
  148. package/lib/module/theme/resolve.js +69 -0
  149. package/lib/module/theme/resolve.js.map +1 -0
  150. package/lib/module/theme/scales.generated.js +419 -0
  151. package/lib/module/theme/scales.generated.js.map +1 -0
  152. package/lib/module/ui/element-frame.js +83 -0
  153. package/lib/module/ui/element-frame.js.map +1 -0
  154. package/lib/module/ui/payment-method-icon.js +69 -0
  155. package/lib/module/ui/payment-method-icon.js.map +1 -0
  156. package/lib/module/ui/primitives.js +266 -0
  157. package/lib/module/ui/primitives.js.map +1 -0
  158. package/lib/module/ui/select.js +281 -0
  159. package/lib/module/ui/select.js.map +1 -0
  160. package/lib/module/ui/suggestions.js +71 -0
  161. package/lib/module/ui/suggestions.js.map +1 -0
  162. package/lib/module/ui/whop-logo.js +42 -0
  163. package/lib/module/ui/whop-logo.js.map +1 -0
  164. package/lib/typescript/package.json +1 -0
  165. package/lib/typescript/src/api/client.d.ts +87 -0
  166. package/lib/typescript/src/api/client.d.ts.map +1 -0
  167. package/lib/typescript/src/api/types.d.ts +175 -0
  168. package/lib/typescript/src/api/types.d.ts.map +1 -0
  169. package/lib/typescript/src/controller/actions.d.ts +42 -0
  170. package/lib/typescript/src/controller/actions.d.ts.map +1 -0
  171. package/lib/typescript/src/controller/store.d.ts +90 -0
  172. package/lib/typescript/src/controller/store.d.ts.map +1 -0
  173. package/lib/typescript/src/core/address/country-data.d.ts +4 -0
  174. package/lib/typescript/src/core/address/country-data.d.ts.map +1 -0
  175. package/lib/typescript/src/core/address/country-name.d.ts +2 -0
  176. package/lib/typescript/src/core/address/country-name.d.ts.map +1 -0
  177. package/lib/typescript/src/core/address/country-names.generated.d.ts +2 -0
  178. package/lib/typescript/src/core/address/country-names.generated.d.ts.map +1 -0
  179. package/lib/typescript/src/core/address/engine.d.ts +97 -0
  180. package/lib/typescript/src/core/address/engine.d.ts.map +1 -0
  181. package/lib/typescript/src/core/address/form-state.d.ts +144 -0
  182. package/lib/typescript/src/core/address/form-state.d.ts.map +1 -0
  183. package/lib/typescript/src/core/address/places.d.ts +23 -0
  184. package/lib/typescript/src/core/address/places.d.ts.map +1 -0
  185. package/lib/typescript/src/core/address/suggest.d.ts +47 -0
  186. package/lib/typescript/src/core/address/suggest.d.ts.map +1 -0
  187. package/lib/typescript/src/core/address/use-suggestions.d.ts +3 -0
  188. package/lib/typescript/src/core/address/use-suggestions.d.ts.map +1 -0
  189. package/lib/typescript/src/core/payments/address-change.d.ts +52 -0
  190. package/lib/typescript/src/core/payments/address-change.d.ts.map +1 -0
  191. package/lib/typescript/src/core/payments/billing-merge.d.ts +39 -0
  192. package/lib/typescript/src/core/payments/billing-merge.d.ts.map +1 -0
  193. package/lib/typescript/src/core/payments/browser-info.d.ts +12 -0
  194. package/lib/typescript/src/core/payments/browser-info.d.ts.map +1 -0
  195. package/lib/typescript/src/core/payments/bt.d.ts +55 -0
  196. package/lib/typescript/src/core/payments/bt.d.ts.map +1 -0
  197. package/lib/typescript/src/core/payments/currency.d.ts +7 -0
  198. package/lib/typescript/src/core/payments/currency.d.ts.map +1 -0
  199. package/lib/typescript/src/core/payments/detail.d.ts +53 -0
  200. package/lib/typescript/src/core/payments/detail.d.ts.map +1 -0
  201. package/lib/typescript/src/core/payments/errors.d.ts +62 -0
  202. package/lib/typescript/src/core/payments/errors.d.ts.map +1 -0
  203. package/lib/typescript/src/core/payments/mint.d.ts +74 -0
  204. package/lib/typescript/src/core/payments/mint.d.ts.map +1 -0
  205. package/lib/typescript/src/core/payments/plan.d.ts +69 -0
  206. package/lib/typescript/src/core/payments/plan.d.ts.map +1 -0
  207. package/lib/typescript/src/core/payments/refusals.d.ts +12 -0
  208. package/lib/typescript/src/core/payments/refusals.d.ts.map +1 -0
  209. package/lib/typescript/src/core/payments/secure-fields.d.ts +33 -0
  210. package/lib/typescript/src/core/payments/secure-fields.d.ts.map +1 -0
  211. package/lib/typescript/src/core/payments/tax-id-catalog.d.ts +481 -0
  212. package/lib/typescript/src/core/payments/tax-id-catalog.d.ts.map +1 -0
  213. package/lib/typescript/src/core/payments/wallet-contact.d.ts +40 -0
  214. package/lib/typescript/src/core/payments/wallet-contact.d.ts.map +1 -0
  215. package/lib/typescript/src/elements/address.d.ts +55 -0
  216. package/lib/typescript/src/elements/address.d.ts.map +1 -0
  217. package/lib/typescript/src/elements/branding.d.ts +18 -0
  218. package/lib/typescript/src/elements/branding.d.ts.map +1 -0
  219. package/lib/typescript/src/elements/card-fields/context.d.ts +67 -0
  220. package/lib/typescript/src/elements/card-fields/context.d.ts.map +1 -0
  221. package/lib/typescript/src/elements/card-fields/fields.d.ts +15 -0
  222. package/lib/typescript/src/elements/card-fields/fields.d.ts.map +1 -0
  223. package/lib/typescript/src/elements/card-fields/index.d.ts +21 -0
  224. package/lib/typescript/src/elements/card-fields/index.d.ts.map +1 -0
  225. package/lib/typescript/src/elements/card.d.ts +21 -0
  226. package/lib/typescript/src/elements/card.d.ts.map +1 -0
  227. package/lib/typescript/src/elements/email.d.ts +31 -0
  228. package/lib/typescript/src/elements/email.d.ts.map +1 -0
  229. package/lib/typescript/src/elements/payment/declared-fields.d.ts +43 -0
  230. package/lib/typescript/src/elements/payment/declared-fields.d.ts.map +1 -0
  231. package/lib/typescript/src/elements/payment/index.d.ts +37 -0
  232. package/lib/typescript/src/elements/payment/index.d.ts.map +1 -0
  233. package/lib/typescript/src/elements/payment/wallet.d.ts +39 -0
  234. package/lib/typescript/src/elements/payment/wallet.d.ts.map +1 -0
  235. package/lib/typescript/src/elements/tax-id.d.ts +41 -0
  236. package/lib/typescript/src/elements/tax-id.d.ts.map +1 -0
  237. package/lib/typescript/src/i18n/catalogs.d.ts +7 -0
  238. package/lib/typescript/src/i18n/catalogs.d.ts.map +1 -0
  239. package/lib/typescript/src/i18n/index.d.ts +17 -0
  240. package/lib/typescript/src/i18n/index.d.ts.map +1 -0
  241. package/lib/typescript/src/index.d.ts +42 -0
  242. package/lib/typescript/src/index.d.ts.map +1 -0
  243. package/lib/typescript/src/namespace.d.ts +36 -0
  244. package/lib/typescript/src/namespace.d.ts.map +1 -0
  245. package/lib/typescript/src/native/index.d.ts +62 -0
  246. package/lib/typescript/src/native/index.d.ts.map +1 -0
  247. package/lib/typescript/src/provider.d.ts +37 -0
  248. package/lib/typescript/src/provider.d.ts.map +1 -0
  249. package/lib/typescript/src/specs/NativeWhopAddressSuggestions.d.ts +13 -0
  250. package/lib/typescript/src/specs/NativeWhopAddressSuggestions.d.ts.map +1 -0
  251. package/lib/typescript/src/specs/NativeWhopAuthSession.d.ts +20 -0
  252. package/lib/typescript/src/specs/NativeWhopAuthSession.d.ts.map +1 -0
  253. package/lib/typescript/src/specs/NativeWhopPlatformPay.d.ts +24 -0
  254. package/lib/typescript/src/specs/NativeWhopPlatformPay.d.ts.map +1 -0
  255. package/lib/typescript/src/specs/WhopPayButtonNativeComponent.d.ts +21 -0
  256. package/lib/typescript/src/specs/WhopPayButtonNativeComponent.d.ts.map +1 -0
  257. package/lib/typescript/src/theme/appearance.d.ts +71 -0
  258. package/lib/typescript/src/theme/appearance.d.ts.map +1 -0
  259. package/lib/typescript/src/theme/provider.d.ts +11 -0
  260. package/lib/typescript/src/theme/provider.d.ts.map +1 -0
  261. package/lib/typescript/src/theme/resolve.d.ts +19 -0
  262. package/lib/typescript/src/theme/resolve.d.ts.map +1 -0
  263. package/lib/typescript/src/theme/scales.generated.d.ts +18 -0
  264. package/lib/typescript/src/theme/scales.generated.d.ts.map +1 -0
  265. package/lib/typescript/src/ui/element-frame.d.ts +32 -0
  266. package/lib/typescript/src/ui/element-frame.d.ts.map +1 -0
  267. package/lib/typescript/src/ui/payment-method-icon.d.ts +21 -0
  268. package/lib/typescript/src/ui/payment-method-icon.d.ts.map +1 -0
  269. package/lib/typescript/src/ui/primitives.d.ts +94 -0
  270. package/lib/typescript/src/ui/primitives.d.ts.map +1 -0
  271. package/lib/typescript/src/ui/select.d.ts +25 -0
  272. package/lib/typescript/src/ui/select.d.ts.map +1 -0
  273. package/lib/typescript/src/ui/suggestions.d.ts +15 -0
  274. package/lib/typescript/src/ui/suggestions.d.ts.map +1 -0
  275. package/lib/typescript/src/ui/whop-logo.d.ts +4 -0
  276. package/lib/typescript/src/ui/whop-logo.d.ts.map +1 -0
  277. package/package.json +121 -0
  278. package/scripts/check-swift.sh +27 -0
  279. package/scripts/codegen-shims.mjs +409 -0
  280. package/scripts/gen-country-names.mjs +58 -0
  281. package/scripts/gen-theme.mjs +124 -0
  282. package/scripts/gen-wordmark.mjs +68 -0
  283. package/scripts/mirror.mjs +112 -0
  284. package/src/api/client.ts +202 -0
  285. package/src/api/types.ts +166 -0
  286. package/src/controller/actions.ts +197 -0
  287. package/src/controller/store.ts +201 -0
  288. package/src/core/address/country-data.ts +927 -0
  289. package/src/core/address/country-name.ts +36 -0
  290. package/src/core/address/country-names.generated.ts +246 -0
  291. package/src/core/address/engine.ts +349 -0
  292. package/src/core/address/form-state.ts +479 -0
  293. package/src/core/address/places.ts +39 -0
  294. package/src/core/address/suggest.ts +153 -0
  295. package/src/core/address/use-suggestions.ts +37 -0
  296. package/src/core/payments/address-change.ts +121 -0
  297. package/src/core/payments/billing-merge.ts +91 -0
  298. package/src/core/payments/browser-info.ts +43 -0
  299. package/src/core/payments/bt.ts +176 -0
  300. package/src/core/payments/currency.ts +54 -0
  301. package/src/core/payments/detail.ts +204 -0
  302. package/src/core/payments/errors.ts +171 -0
  303. package/src/core/payments/mint.ts +130 -0
  304. package/src/core/payments/plan.ts +198 -0
  305. package/src/core/payments/refusals.ts +24 -0
  306. package/src/core/payments/secure-fields.ts +85 -0
  307. package/src/core/payments/tax-id-catalog.ts +320 -0
  308. package/src/core/payments/wallet-contact.ts +56 -0
  309. package/src/elements/address.tsx +570 -0
  310. package/src/elements/branding.tsx +87 -0
  311. package/src/elements/card-fields/context.tsx +310 -0
  312. package/src/elements/card-fields/fields.tsx +281 -0
  313. package/src/elements/card-fields/index.tsx +37 -0
  314. package/src/elements/card.tsx +101 -0
  315. package/src/elements/email.tsx +100 -0
  316. package/src/elements/payment/declared-fields.tsx +238 -0
  317. package/src/elements/payment/index.tsx +497 -0
  318. package/src/elements/payment/wallet.tsx +155 -0
  319. package/src/elements/tax-id.tsx +143 -0
  320. package/src/i18n/catalogs.ts +100 -0
  321. package/src/i18n/index.tsx +46 -0
  322. package/src/index.ts +68 -0
  323. package/src/namespace.tsx +231 -0
  324. package/src/native/index.ts +173 -0
  325. package/src/provider.tsx +76 -0
  326. package/src/specs/NativeWhopAddressSuggestions.ts +14 -0
  327. package/src/specs/NativeWhopAuthSession.ts +21 -0
  328. package/src/specs/NativeWhopPlatformPay.ts +25 -0
  329. package/src/specs/WhopPayButtonNativeComponent.ts +22 -0
  330. package/src/theme/appearance.ts +150 -0
  331. package/src/theme/provider.tsx +28 -0
  332. package/src/theme/resolve.ts +68 -0
  333. package/src/theme/scales.generated.ts +427 -0
  334. package/src/ui/element-frame.tsx +94 -0
  335. package/src/ui/payment-method-icon.tsx +55 -0
  336. package/src/ui/primitives.tsx +269 -0
  337. package/src/ui/select.tsx +255 -0
  338. package/src/ui/suggestions.tsx +69 -0
  339. package/src/ui/whop-logo.tsx +37 -0
@@ -0,0 +1,616 @@
1
+ "use strict";
2
+
3
+ // ported verbatim from frontend/apps/web/src/elements/payments/lib/tax-id-catalog.ts — keep in sync when the web element changes
4
+
5
+ import { useMemo } from 'react';
6
+ import { useT } from "../../i18n/index.js";
7
+
8
+ /**
9
+ * The registration types the API accepts for `tax_id.type`. The backend owns the set
10
+ * (`TaxIdentifier::TAX_ID_TYPES`); this package has no generated enum to derive it from, so the
11
+ * catalog below IS the set. `useTaxIdTypeLabels` keeps the half of the exhaustiveness gate that
12
+ * still applies: a catalog row with no label refuses to compile.
13
+ */
14
+
15
+ /** Display metadata per wire type. */
16
+ export const TAX_ID_TYPE_META = {
17
+ ad_nrt: {
18
+ region: 'AD',
19
+ placeholder: 'A-123456-B'
20
+ },
21
+ ae_trn: {
22
+ region: 'AE',
23
+ placeholder: '123456789012345'
24
+ },
25
+ al_tin: {
26
+ region: 'AL',
27
+ placeholder: 'J12345678N'
28
+ },
29
+ am_tin: {
30
+ region: 'AM',
31
+ placeholder: '12345678'
32
+ },
33
+ ao_tin: {
34
+ region: 'AO',
35
+ placeholder: '1234567890'
36
+ },
37
+ ar_cuit: {
38
+ region: 'AR',
39
+ placeholder: '20-12345678-9'
40
+ },
41
+ au_abn: {
42
+ region: 'AU',
43
+ placeholder: '12345678901'
44
+ },
45
+ au_arn: {
46
+ region: 'AU',
47
+ placeholder: '12345678901'
48
+ },
49
+ aw_tin: {
50
+ region: 'AW',
51
+ placeholder: '1234567'
52
+ },
53
+ az_tin: {
54
+ region: 'AZ',
55
+ placeholder: '1234567890'
56
+ },
57
+ ba_tin: {
58
+ region: 'BA',
59
+ placeholder: '1234567890123'
60
+ },
61
+ bb_tin: {
62
+ region: 'BB',
63
+ placeholder: '1234567890'
64
+ },
65
+ bd_bin: {
66
+ region: 'BD',
67
+ placeholder: '123456789'
68
+ },
69
+ bf_ifu: {
70
+ region: 'BF',
71
+ placeholder: '12345678901234'
72
+ },
73
+ bg_uic: {
74
+ region: 'BG',
75
+ placeholder: '123456789'
76
+ },
77
+ bh_vat: {
78
+ region: 'BH',
79
+ placeholder: '123456789012345'
80
+ },
81
+ bj_ifu: {
82
+ region: 'BJ',
83
+ placeholder: '1234567890123'
84
+ },
85
+ bo_tin: {
86
+ region: 'BO',
87
+ placeholder: '1234567'
88
+ },
89
+ br_cnpj: {
90
+ region: 'BR',
91
+ placeholder: '12.345.678/0001-00'
92
+ },
93
+ br_cpf: {
94
+ region: 'BR',
95
+ placeholder: '123.456.789-00'
96
+ },
97
+ bs_tin: {
98
+ region: 'BS',
99
+ placeholder: '123456789'
100
+ },
101
+ by_tin: {
102
+ region: 'BY',
103
+ placeholder: '123456789'
104
+ },
105
+ ca_bn: {
106
+ region: 'CA',
107
+ placeholder: '123456789'
108
+ },
109
+ ca_gst_hst: {
110
+ region: 'CA',
111
+ placeholder: '123456789RT0001'
112
+ },
113
+ ca_pst_bc: {
114
+ region: 'CA',
115
+ placeholder: 'PST-1234-5678'
116
+ },
117
+ ca_pst_mb: {
118
+ region: 'CA',
119
+ placeholder: '123456-7'
120
+ },
121
+ ca_pst_sk: {
122
+ region: 'CA',
123
+ placeholder: '1234567'
124
+ },
125
+ ca_qst: {
126
+ region: 'CA',
127
+ placeholder: '1234567890TQ1234'
128
+ },
129
+ cd_nif: {
130
+ region: 'CD',
131
+ placeholder: 'A1234567B'
132
+ },
133
+ ch_uid: {
134
+ region: 'CH',
135
+ placeholder: 'CHE-123.456.789'
136
+ },
137
+ ch_vat: {
138
+ region: 'CH',
139
+ placeholder: 'CHE-123.456.789 MWST'
140
+ },
141
+ cl_tin: {
142
+ region: 'CL',
143
+ placeholder: '12.345.678-9'
144
+ },
145
+ cm_niu: {
146
+ region: 'CM',
147
+ placeholder: 'M012345678901A'
148
+ },
149
+ cn_tin: {
150
+ region: 'CN',
151
+ placeholder: '123456789012345678'
152
+ },
153
+ co_nit: {
154
+ region: 'CO',
155
+ placeholder: '123.456.789-0'
156
+ },
157
+ cr_tin: {
158
+ region: 'CR',
159
+ placeholder: '1-234-567890'
160
+ },
161
+ cv_nif: {
162
+ region: 'CV',
163
+ placeholder: '123456789'
164
+ },
165
+ de_stn: {
166
+ region: 'DE',
167
+ placeholder: '12/345/67890'
168
+ },
169
+ do_rcn: {
170
+ region: 'DO',
171
+ placeholder: '123-4567890-1'
172
+ },
173
+ ec_ruc: {
174
+ region: 'EC',
175
+ placeholder: '1234567890001'
176
+ },
177
+ eg_tin: {
178
+ region: 'EG',
179
+ placeholder: '123456789'
180
+ },
181
+ es_cif: {
182
+ region: 'ES',
183
+ placeholder: 'A12345678'
184
+ },
185
+ et_tin: {
186
+ region: 'ET',
187
+ placeholder: '1234567890'
188
+ },
189
+ eu_oss_vat: {
190
+ region: 'EU',
191
+ placeholder: 'FR12345678901'
192
+ },
193
+ eu_vat: {
194
+ region: 'EU',
195
+ placeholder: 'DE123456789'
196
+ },
197
+ gb_vat: {
198
+ region: 'GB',
199
+ placeholder: 'GB123456789'
200
+ },
201
+ ge_vat: {
202
+ region: 'GE',
203
+ placeholder: '123456789'
204
+ },
205
+ gh_tin: {
206
+ region: 'GH',
207
+ placeholder: 'C0001234567'
208
+ },
209
+ gn_nif: {
210
+ region: 'GN',
211
+ placeholder: '123456789'
212
+ },
213
+ hk_br: {
214
+ region: 'HK',
215
+ placeholder: '12345678'
216
+ },
217
+ hr_oib: {
218
+ region: 'HR',
219
+ placeholder: '12345678901'
220
+ },
221
+ hu_tin: {
222
+ region: 'HU',
223
+ placeholder: '12345678'
224
+ },
225
+ id_npwp: {
226
+ region: 'ID',
227
+ placeholder: '12.345.678.9-012.345'
228
+ },
229
+ il_vat: {
230
+ region: 'IL',
231
+ placeholder: '123456789'
232
+ },
233
+ in_gst: {
234
+ region: 'IN',
235
+ placeholder: '22AAAAA0000A1Z5'
236
+ },
237
+ is_vat: {
238
+ region: 'IS',
239
+ placeholder: '123456'
240
+ },
241
+ jp_cn: {
242
+ region: 'JP',
243
+ placeholder: '1234-56-7890'
244
+ },
245
+ jp_rn: {
246
+ region: 'JP',
247
+ placeholder: '12345'
248
+ },
249
+ jp_trn: {
250
+ region: 'JP',
251
+ placeholder: 'T1234567890123'
252
+ },
253
+ ke_pin: {
254
+ region: 'KE',
255
+ placeholder: 'P000123456A'
256
+ },
257
+ kg_tin: {
258
+ region: 'KG',
259
+ placeholder: '12345678'
260
+ },
261
+ kh_tin: {
262
+ region: 'KH',
263
+ placeholder: 'K001-234567890'
264
+ },
265
+ kr_brn: {
266
+ region: 'KR',
267
+ placeholder: '123-45-67890'
268
+ },
269
+ kz_bin: {
270
+ region: 'KZ',
271
+ placeholder: '123456789012'
272
+ },
273
+ la_tin: {
274
+ region: 'LA',
275
+ placeholder: '1234567890'
276
+ },
277
+ li_uid: {
278
+ region: 'LI',
279
+ placeholder: 'CHE-123.456.789'
280
+ },
281
+ li_vat: {
282
+ region: 'LI',
283
+ placeholder: '12345'
284
+ },
285
+ ma_vat: {
286
+ region: 'MA',
287
+ placeholder: '12345678'
288
+ },
289
+ md_vat: {
290
+ region: 'MD',
291
+ placeholder: '1234567'
292
+ },
293
+ me_pib: {
294
+ region: 'ME',
295
+ placeholder: '12345678'
296
+ },
297
+ mk_vat: {
298
+ region: 'MK',
299
+ placeholder: 'MK1234567890123'
300
+ },
301
+ mr_nif: {
302
+ region: 'MR',
303
+ placeholder: '12345678'
304
+ },
305
+ mx_rfc: {
306
+ region: 'MX',
307
+ placeholder: 'XAXX010101000'
308
+ },
309
+ my_frp: {
310
+ region: 'MY',
311
+ placeholder: '12345678'
312
+ },
313
+ my_itn: {
314
+ region: 'MY',
315
+ placeholder: 'C1234567890'
316
+ },
317
+ my_sst: {
318
+ region: 'MY',
319
+ placeholder: 'A12-3456-78901234'
320
+ },
321
+ ng_tin: {
322
+ region: 'NG',
323
+ placeholder: '12345678-0001'
324
+ },
325
+ no_vat: {
326
+ region: 'NO',
327
+ placeholder: '123456789MVA'
328
+ },
329
+ no_voec: {
330
+ region: 'NO',
331
+ placeholder: '1234567'
332
+ },
333
+ np_pan: {
334
+ region: 'NP',
335
+ placeholder: '123456789'
336
+ },
337
+ nz_gst: {
338
+ region: 'NZ',
339
+ placeholder: '123456789'
340
+ },
341
+ om_vat: {
342
+ region: 'OM',
343
+ placeholder: 'OM1234567890'
344
+ },
345
+ pe_ruc: {
346
+ region: 'PE',
347
+ placeholder: '12345678901'
348
+ },
349
+ ph_tin: {
350
+ region: 'PH',
351
+ placeholder: '123-456-789-000'
352
+ },
353
+ pl_nip: {
354
+ region: 'PL',
355
+ placeholder: '1234567890'
356
+ },
357
+ ro_tin: {
358
+ region: 'RO',
359
+ placeholder: '1234567890'
360
+ },
361
+ rs_pib: {
362
+ region: 'RS',
363
+ placeholder: '123456789'
364
+ },
365
+ ru_inn: {
366
+ region: 'RU',
367
+ placeholder: '1234567890'
368
+ },
369
+ ru_kpp: {
370
+ region: 'RU',
371
+ placeholder: '123456789'
372
+ },
373
+ sa_vat: {
374
+ region: 'SA',
375
+ placeholder: '123456789012345'
376
+ },
377
+ sg_gst: {
378
+ region: 'SG',
379
+ placeholder: 'M12345678X'
380
+ },
381
+ sg_uen: {
382
+ region: 'SG',
383
+ placeholder: '123456789A'
384
+ },
385
+ si_tin: {
386
+ region: 'SI',
387
+ placeholder: '12345678'
388
+ },
389
+ sn_ninea: {
390
+ region: 'SN',
391
+ placeholder: '12345678901'
392
+ },
393
+ sr_fin: {
394
+ region: 'SR',
395
+ placeholder: '12345678'
396
+ },
397
+ sv_nit: {
398
+ region: 'SV',
399
+ placeholder: '0614-123456-123-4'
400
+ },
401
+ th_vat: {
402
+ region: 'TH',
403
+ placeholder: '1234567890123'
404
+ },
405
+ tj_tin: {
406
+ region: 'TJ',
407
+ placeholder: '123456789'
408
+ },
409
+ tr_tin: {
410
+ region: 'TR',
411
+ placeholder: '1234567890'
412
+ },
413
+ tw_vat: {
414
+ region: 'TW',
415
+ placeholder: '12345678'
416
+ },
417
+ tz_vat: {
418
+ region: 'TZ',
419
+ placeholder: '12-345-6789'
420
+ },
421
+ ua_vat: {
422
+ region: 'UA',
423
+ placeholder: '1234567890'
424
+ },
425
+ ug_tin: {
426
+ region: 'UG',
427
+ placeholder: '1234567890'
428
+ },
429
+ us_ein: {
430
+ region: 'US',
431
+ placeholder: '12-3456789'
432
+ },
433
+ uy_ruc: {
434
+ region: 'UY',
435
+ placeholder: '123456789012'
436
+ },
437
+ uz_tin: {
438
+ region: 'UZ',
439
+ placeholder: '123456789'
440
+ },
441
+ uz_vat: {
442
+ region: 'UZ',
443
+ placeholder: '123456789012'
444
+ },
445
+ ve_rif: {
446
+ region: 'VE',
447
+ placeholder: 'J-12345678-9'
448
+ },
449
+ vn_tin: {
450
+ region: 'VN',
451
+ placeholder: '1234567890'
452
+ },
453
+ xi_vat: {
454
+ region: 'XI',
455
+ placeholder: 'XI123456789'
456
+ },
457
+ za_vat: {
458
+ region: 'ZA',
459
+ placeholder: '4123456789'
460
+ },
461
+ zm_tin: {
462
+ region: 'ZM',
463
+ placeholder: '1234567890'
464
+ },
465
+ zw_tin: {
466
+ region: 'ZW',
467
+ placeholder: '1234567890'
468
+ }
469
+ };
470
+ export const TAX_ID_TYPES = Object.keys(TAX_ID_TYPE_META);
471
+ export function isTaxIdType(value) {
472
+ return Object.prototype.hasOwnProperty.call(TAX_ID_TYPE_META, value);
473
+ }
474
+ const EU_COUNTRIES = new Set(['AT', 'BE', 'BG', 'HR', 'CY', 'CZ', 'DK', 'EE', 'FI', 'FR', 'DE', 'GR', 'HU', 'IE', 'IT', 'LV', 'LT', 'LU', 'MT', 'NL', 'PL', 'PT', 'RO', 'SK', 'SI', 'ES', 'SE']);
475
+
476
+ /**
477
+ * The registration type a buyer country preselects: EU countries stay on `eu_vat` (a member
478
+ * state's domestic registration like `de_stn` is the rarer intent, and `eu_vat` was the only
479
+ * type the surface ever sent, so it is the floor); a country with exactly ONE catalog type
480
+ * preselects it (`AR` → `ar_cuit`, `US` → `us_ein`); everything else — unknown country, or one
481
+ * with several registrations to pick from — falls back to `eu_vat`, today's bare default.
482
+ */
483
+ export function defaultTaxIdType(country) {
484
+ if (!country) return 'eu_vat';
485
+ const iso = country.toUpperCase();
486
+ if (EU_COUNTRIES.has(iso)) return 'eu_vat';
487
+ const matches = TAX_ID_TYPES.filter(type => TAX_ID_TYPE_META[type].region === iso);
488
+ return matches.length === 1 ? matches[0] ?? 'eu_vat' : 'eu_vat';
489
+ }
490
+
491
+ /**
492
+ * The buyer-facing name of each registration, the way the world abbreviates them (`EU VAT`,
493
+ * `AR CUIT`, `US EIN`) — the same labels the dashboard's tax settings use. Localized copy, so a
494
+ * hook: the labels ride the element's message catalog like every other user-facing string. The
495
+ * `Record<TaxIdType, …>` return type is the second half of the exhaustiveness gate — a new wire
496
+ * type without a label refuses to compile.
497
+ */
498
+ export function useTaxIdTypeLabels() {
499
+ const t = useT();
500
+ return useMemo(() => ({
501
+ ad_nrt: t('AD NRT'),
502
+ ae_trn: t('AE TRN'),
503
+ al_tin: t('AL TIN'),
504
+ am_tin: t('AM TIN'),
505
+ ao_tin: t('AO TIN'),
506
+ ar_cuit: t('AR CUIT'),
507
+ au_abn: t('AU ABN'),
508
+ au_arn: t('AU ARN'),
509
+ aw_tin: t('AW TIN'),
510
+ az_tin: t('AZ TIN'),
511
+ ba_tin: t('BA TIN'),
512
+ bb_tin: t('BB TIN'),
513
+ bd_bin: t('BD BIN'),
514
+ bf_ifu: t('BF IFU'),
515
+ bg_uic: t('BG UIC'),
516
+ bh_vat: t('BH VAT'),
517
+ bj_ifu: t('BJ IFU'),
518
+ bo_tin: t('BO TIN'),
519
+ br_cnpj: t('BR CNPJ'),
520
+ br_cpf: t('BR CPF'),
521
+ bs_tin: t('BS TIN'),
522
+ by_tin: t('BY TIN'),
523
+ ca_bn: t('CA BN'),
524
+ ca_gst_hst: t('CA GST/HST'),
525
+ ca_pst_bc: t('CA PST BC'),
526
+ ca_pst_mb: t('CA PST MB'),
527
+ ca_pst_sk: t('CA PST SK'),
528
+ ca_qst: t('CA QST'),
529
+ cd_nif: t('CD NIF'),
530
+ ch_uid: t('CH UID'),
531
+ ch_vat: t('CH VAT'),
532
+ cl_tin: t('CL TIN'),
533
+ cm_niu: t('CM NIU'),
534
+ cn_tin: t('CN TIN'),
535
+ co_nit: t('CO NIT'),
536
+ cr_tin: t('CR TIN'),
537
+ cv_nif: t('CV NIF'),
538
+ de_stn: t('DE STN'),
539
+ do_rcn: t('DO RCN'),
540
+ ec_ruc: t('EC RUC'),
541
+ eg_tin: t('EG TIN'),
542
+ es_cif: t('ES CIF'),
543
+ et_tin: t('ET TIN'),
544
+ eu_oss_vat: t('EU OSS VAT'),
545
+ eu_vat: t('EU VAT'),
546
+ gb_vat: t('GB VAT'),
547
+ ge_vat: t('GE VAT'),
548
+ gh_tin: t('GH TIN'),
549
+ gn_nif: t('GN NIF'),
550
+ hk_br: t('HK BR'),
551
+ hr_oib: t('HR OIB'),
552
+ hu_tin: t('HU TIN'),
553
+ id_npwp: t('ID NPWP'),
554
+ il_vat: t('IL VAT'),
555
+ in_gst: t('IN GST'),
556
+ is_vat: t('IS VAT'),
557
+ jp_cn: t('JP CN'),
558
+ jp_rn: t('JP RN'),
559
+ jp_trn: t('JP TRN'),
560
+ ke_pin: t('KE PIN'),
561
+ kg_tin: t('KG TIN'),
562
+ kh_tin: t('KH TIN'),
563
+ kr_brn: t('KR BRN'),
564
+ kz_bin: t('KZ BIN'),
565
+ la_tin: t('LA TIN'),
566
+ li_uid: t('LI UID'),
567
+ li_vat: t('LI VAT'),
568
+ ma_vat: t('MA VAT'),
569
+ md_vat: t('MD VAT'),
570
+ me_pib: t('ME PIB'),
571
+ mk_vat: t('MK VAT'),
572
+ mr_nif: t('MR NIF'),
573
+ mx_rfc: t('MX RFC'),
574
+ my_frp: t('MY FRP'),
575
+ my_itn: t('MY ITN'),
576
+ my_sst: t('MY SST'),
577
+ ng_tin: t('NG TIN'),
578
+ no_vat: t('NO VAT'),
579
+ no_voec: t('NO VOEC'),
580
+ np_pan: t('NP PAN'),
581
+ nz_gst: t('NZ GST'),
582
+ om_vat: t('OM VAT'),
583
+ pe_ruc: t('PE RUC'),
584
+ ph_tin: t('PH TIN'),
585
+ pl_nip: t('PL NIP'),
586
+ ro_tin: t('RO TIN'),
587
+ rs_pib: t('RS PIB'),
588
+ ru_inn: t('RU INN'),
589
+ ru_kpp: t('RU KPP'),
590
+ sa_vat: t('SA VAT'),
591
+ sg_gst: t('SG GST'),
592
+ sg_uen: t('SG UEN'),
593
+ si_tin: t('SI TIN'),
594
+ sn_ninea: t('SN NINEA'),
595
+ sr_fin: t('SR FIN'),
596
+ sv_nit: t('SV NIT'),
597
+ th_vat: t('TH VAT'),
598
+ tj_tin: t('TJ TIN'),
599
+ tr_tin: t('TR TIN'),
600
+ tw_vat: t('TW VAT'),
601
+ tz_vat: t('TZ VAT'),
602
+ ua_vat: t('UA VAT'),
603
+ ug_tin: t('UG TIN'),
604
+ us_ein: t('US EIN'),
605
+ uy_ruc: t('UY RUC'),
606
+ uz_tin: t('UZ TIN'),
607
+ uz_vat: t('UZ VAT'),
608
+ ve_rif: t('VE RIF'),
609
+ vn_tin: t('VN TIN'),
610
+ xi_vat: t('XI VAT'),
611
+ za_vat: t('ZA VAT'),
612
+ zm_tin: t('ZM TIN'),
613
+ zw_tin: t('ZW TIN')
614
+ }), [t]);
615
+ }
616
+ //# sourceMappingURL=tax-id-catalog.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["useMemo","useT","TAX_ID_TYPE_META","ad_nrt","region","placeholder","ae_trn","al_tin","am_tin","ao_tin","ar_cuit","au_abn","au_arn","aw_tin","az_tin","ba_tin","bb_tin","bd_bin","bf_ifu","bg_uic","bh_vat","bj_ifu","bo_tin","br_cnpj","br_cpf","bs_tin","by_tin","ca_bn","ca_gst_hst","ca_pst_bc","ca_pst_mb","ca_pst_sk","ca_qst","cd_nif","ch_uid","ch_vat","cl_tin","cm_niu","cn_tin","co_nit","cr_tin","cv_nif","de_stn","do_rcn","ec_ruc","eg_tin","es_cif","et_tin","eu_oss_vat","eu_vat","gb_vat","ge_vat","gh_tin","gn_nif","hk_br","hr_oib","hu_tin","id_npwp","il_vat","in_gst","is_vat","jp_cn","jp_rn","jp_trn","ke_pin","kg_tin","kh_tin","kr_brn","kz_bin","la_tin","li_uid","li_vat","ma_vat","md_vat","me_pib","mk_vat","mr_nif","mx_rfc","my_frp","my_itn","my_sst","ng_tin","no_vat","no_voec","np_pan","nz_gst","om_vat","pe_ruc","ph_tin","pl_nip","ro_tin","rs_pib","ru_inn","ru_kpp","sa_vat","sg_gst","sg_uen","si_tin","sn_ninea","sr_fin","sv_nit","th_vat","tj_tin","tr_tin","tw_vat","tz_vat","ua_vat","ug_tin","us_ein","uy_ruc","uz_tin","uz_vat","ve_rif","vn_tin","xi_vat","za_vat","zm_tin","zw_tin","TAX_ID_TYPES","Object","keys","isTaxIdType","value","prototype","hasOwnProperty","call","EU_COUNTRIES","Set","defaultTaxIdType","country","iso","toUpperCase","has","matches","filter","type","length","useTaxIdTypeLabels","t"],"sourceRoot":"../../../../src","sources":["core/payments/tax-id-catalog.ts"],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,42 @@
1
+ "use strict";
2
+
3
+ /** The contact fields an OS wallet sheet collected, in the wire keys the mint sends. */
4
+
5
+ /**
6
+ * The native envelope, read tolerantly.
7
+ *
8
+ * Both platform modules answer with `{ paymentData, email?, name?, address? }`. Anything else is
9
+ * treated as the bare token, so an app whose native side has not been rebuilt still tokenizes — it
10
+ * just gets no contacts, which is exactly the behaviour it had before.
11
+ */
12
+ export function readSheetResult(raw) {
13
+ try {
14
+ const parsed = JSON.parse(raw);
15
+ if (parsed !== null && typeof parsed === 'object' && typeof parsed.paymentData === 'string') {
16
+ return parsed;
17
+ }
18
+ } catch {
19
+ // Not JSON at all: Google Pay's opaque gateway token.
20
+ }
21
+ return {
22
+ paymentData: raw
23
+ };
24
+ }
25
+
26
+ /**
27
+ * Folds the sheet's own contacts under whatever the caller and the mounted elements already supply.
28
+ *
29
+ * Explicit input always wins. The sheet is only ever asked for an email or an address when no
30
+ * element is mounted to collect them, so in practice it fills exactly the gaps — which is the whole
31
+ * point: without this the mint refused a buyer who had just typed their email into Apple Pay.
32
+ */
33
+ export function mergeWalletContact(explicit, contact) {
34
+ const merged = {
35
+ ...explicit
36
+ };
37
+ if (!merged.email && contact.email) merged.email = contact.email;
38
+ if (!merged.name && contact.name) merged.name = contact.name;
39
+ if (contact.address && !merged.address) merged.address = contact.address;
40
+ return merged;
41
+ }
42
+ //# sourceMappingURL=wallet-contact.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["readSheetResult","raw","parsed","JSON","parse","paymentData","mergeWalletContact","explicit","contact","merged","email","name","address"],"sourceRoot":"../../../../src","sources":["core/payments/wallet-contact.ts"],"mappings":";;AAAA;;AAcA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,SAASA,eAAeA,CAACC,GAAW,EAA2C;EACrF,IAAI;IACH,MAAMC,MAAe,GAAGC,IAAI,CAACC,KAAK,CAACH,GAAG,CAAC;IACvC,IACCC,MAAM,KAAK,IAAI,IACf,OAAOA,MAAM,KAAK,QAAQ,IAC1B,OAAQA,MAAM,CAA+BG,WAAW,KAAK,QAAQ,EACpE;MACD,OAAOH,MAAM;IACd;EACD,CAAC,CAAC,MAAM;IACP;EAAA;EAED,OAAO;IAAEG,WAAW,EAAEJ;EAAI,CAAC;AAC5B;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,SAASK,kBAAkBA,CACjCC,QAA8D,EAC9DC,OAAsB,EAC8D;EACpF,MAAMC,MAAyF,GAAG;IACjG,GAAGF;EACJ,CAAC;EACD,IAAI,CAACE,MAAM,CAACC,KAAK,IAAIF,OAAO,CAACE,KAAK,EAAED,MAAM,CAACC,KAAK,GAAGF,OAAO,CAACE,KAAK;EAChE,IAAI,CAACD,MAAM,CAACE,IAAI,IAAIH,OAAO,CAACG,IAAI,EAAEF,MAAM,CAACE,IAAI,GAAGH,OAAO,CAACG,IAAI;EAC5D,IAAIH,OAAO,CAACI,OAAO,IAAI,CAACH,MAAM,CAACG,OAAO,EAAEH,MAAM,CAACG,OAAO,GAAGJ,OAAO,CAACI,OAAO;EACxE,OAAOH,MAAM;AACd","ignoreList":[]}