@fluid-app/portal-sdk 0.1.286 → 0.1.288

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 (881) hide show
  1. package/dist/AddressAutocompleteInput-C_H7gSJt.mjs +2214 -0
  2. package/dist/AddressAutocompleteInput-C_H7gSJt.mjs.map +1 -0
  3. package/dist/AddressAutocompleteInput-tZX9kPwb.cjs +2310 -0
  4. package/dist/AddressAutocompleteInput-tZX9kPwb.cjs.map +1 -0
  5. package/dist/ContactsScreen-BaNFVTVX.cjs +10 -0
  6. package/dist/ContactsScreen-CLLyfNru.mjs +3397 -0
  7. package/dist/ContactsScreen-CLLyfNru.mjs.map +1 -0
  8. package/dist/ContactsScreen-D8M6J3nC.cjs +3405 -0
  9. package/dist/ContactsScreen-D8M6J3nC.cjs.map +1 -0
  10. package/dist/ProfileScreen-BDvruZ90.mjs +1232 -0
  11. package/dist/ProfileScreen-BDvruZ90.mjs.map +1 -0
  12. package/dist/ProfileScreen-BH0A6Y3R.mjs +46 -0
  13. package/dist/ProfileScreen-CT5nLt3E.cjs +1244 -0
  14. package/dist/ProfileScreen-CT5nLt3E.cjs.map +1 -0
  15. package/dist/ProfileScreen-DrTa9Boy.cjs +48 -0
  16. package/dist/ShareablesScreen-BT3H1Omb.cjs +13896 -0
  17. package/dist/ShareablesScreen-BT3H1Omb.cjs.map +1 -0
  18. package/dist/ShareablesScreen-BrsJQqia.mjs +13880 -0
  19. package/dist/ShareablesScreen-BrsJQqia.mjs.map +1 -0
  20. package/dist/ShareablesScreen-IU9JBJzD.mjs +14 -0
  21. package/dist/ShareablesScreen-RxdJqjda.cjs +16 -0
  22. package/dist/ShopScreen-BLo9zSmm.mjs +45 -0
  23. package/dist/ShopScreen-BgiNBkIk.cjs +1295 -0
  24. package/dist/ShopScreen-BgiNBkIk.cjs.map +1 -0
  25. package/dist/ShopScreen-Bjo-5mdC.mjs +1282 -0
  26. package/dist/ShopScreen-Bjo-5mdC.mjs.map +1 -0
  27. package/dist/ShopScreen-BzaTY9cV.cjs +47 -0
  28. package/dist/SubscriptionsScreen-5IsYJnvc.cjs +5791 -0
  29. package/dist/SubscriptionsScreen-5IsYJnvc.cjs.map +1 -0
  30. package/dist/SubscriptionsScreen-B9_Cmmrc.mjs +5723 -0
  31. package/dist/SubscriptionsScreen-B9_Cmmrc.mjs.map +1 -0
  32. package/dist/SubscriptionsScreen-BpiWZf9J.cjs +11 -0
  33. package/dist/UpgradeScreen-DjCkknBC.cjs +6 -0
  34. package/dist/UpgradeScreen-Dqe70qIt.cjs +203 -0
  35. package/dist/UpgradeScreen-Dqe70qIt.cjs.map +1 -0
  36. package/dist/UpgradeScreen-WLq4bFhS.mjs +196 -0
  37. package/dist/UpgradeScreen-WLq4bFhS.mjs.map +1 -0
  38. package/dist/de-B2xuRzqB.mjs +125 -0
  39. package/dist/de-B2xuRzqB.mjs.map +1 -0
  40. package/dist/de-BMzN6pvJ.mjs +37 -0
  41. package/dist/de-BMzN6pvJ.mjs.map +1 -0
  42. package/dist/de-BP_BwSkX.mjs +24 -0
  43. package/dist/de-BP_BwSkX.mjs.map +1 -0
  44. package/dist/de-BcjRy6IX.mjs +74 -0
  45. package/dist/de-BcjRy6IX.mjs.map +1 -0
  46. package/dist/de-CA1BpazO.cjs +43 -0
  47. package/dist/de-CA1BpazO.cjs.map +1 -0
  48. package/dist/de-CQojBku3.cjs +131 -0
  49. package/dist/de-CQojBku3.cjs.map +1 -0
  50. package/dist/de-DLKXYoUC.cjs +80 -0
  51. package/dist/de-DLKXYoUC.cjs.map +1 -0
  52. package/dist/de-DLVI44iM.cjs +12 -0
  53. package/dist/de-DLVI44iM.cjs.map +1 -0
  54. package/dist/de-DZXu_Lma.mjs +6 -0
  55. package/dist/de-DZXu_Lma.mjs.map +1 -0
  56. package/dist/de-d5sXuDlc.cjs +12 -0
  57. package/dist/de-d5sXuDlc.cjs.map +1 -0
  58. package/dist/de-hW77cwjn.cjs +30 -0
  59. package/dist/de-hW77cwjn.cjs.map +1 -0
  60. package/dist/de-ndSZ5ykY.mjs +6 -0
  61. package/dist/de-ndSZ5ykY.mjs.map +1 -0
  62. package/dist/el-3T5wNvmF.cjs +12 -0
  63. package/dist/el-3T5wNvmF.cjs.map +1 -0
  64. package/dist/el-BVROkdqG.cjs +43 -0
  65. package/dist/el-BVROkdqG.cjs.map +1 -0
  66. package/dist/el-C1QZdoK1.cjs +131 -0
  67. package/dist/el-C1QZdoK1.cjs.map +1 -0
  68. package/dist/el-CT5RY-mx.mjs +125 -0
  69. package/dist/el-CT5RY-mx.mjs.map +1 -0
  70. package/dist/el-CWq1GFO2.mjs +37 -0
  71. package/dist/el-CWq1GFO2.mjs.map +1 -0
  72. package/dist/el-ChL3zQdm.mjs +6 -0
  73. package/dist/el-ChL3zQdm.mjs.map +1 -0
  74. package/dist/el-Dji5p2km.cjs +80 -0
  75. package/dist/el-Dji5p2km.cjs.map +1 -0
  76. package/dist/el-DtirnL7N.cjs +12 -0
  77. package/dist/el-DtirnL7N.cjs.map +1 -0
  78. package/dist/el-XW2NR7Vh.mjs +74 -0
  79. package/dist/el-XW2NR7Vh.mjs.map +1 -0
  80. package/dist/el-XwgbXcif.cjs +30 -0
  81. package/dist/el-XwgbXcif.cjs.map +1 -0
  82. package/dist/el-epEJkauy.mjs +6 -0
  83. package/dist/el-epEJkauy.mjs.map +1 -0
  84. package/dist/el-xbVPoQUL.mjs +24 -0
  85. package/dist/el-xbVPoQUL.mjs.map +1 -0
  86. package/dist/es-BSkjqnkF.cjs +12 -0
  87. package/dist/es-BSkjqnkF.cjs.map +1 -0
  88. package/dist/es-BX5djVHQ.cjs +30 -0
  89. package/dist/es-BX5djVHQ.cjs.map +1 -0
  90. package/dist/es-Bh1xngyE.mjs +6 -0
  91. package/dist/es-Bh1xngyE.mjs.map +1 -0
  92. package/dist/es-BjDZEneQ.cjs +80 -0
  93. package/dist/es-BjDZEneQ.cjs.map +1 -0
  94. package/dist/es-C2uchKja.cjs +43 -0
  95. package/dist/es-C2uchKja.cjs.map +1 -0
  96. package/dist/es-C2zfJQck.mjs +37 -0
  97. package/dist/es-C2zfJQck.mjs.map +1 -0
  98. package/dist/es-CWW1uLK3.mjs +6 -0
  99. package/dist/es-CWW1uLK3.mjs.map +1 -0
  100. package/dist/es-CyPr-juY.cjs +131 -0
  101. package/dist/es-CyPr-juY.cjs.map +1 -0
  102. package/dist/es-DYAui4cM.cjs +12 -0
  103. package/dist/es-DYAui4cM.cjs.map +1 -0
  104. package/dist/es-DjcSUa7j.mjs +125 -0
  105. package/dist/es-DjcSUa7j.mjs.map +1 -0
  106. package/dist/es-DnX0XFqD.mjs +74 -0
  107. package/dist/es-DnX0XFqD.mjs.map +1 -0
  108. package/dist/es-O3pQS-dk.mjs +24 -0
  109. package/dist/es-O3pQS-dk.mjs.map +1 -0
  110. package/dist/fr-7IjPHZxW.mjs +74 -0
  111. package/dist/fr-7IjPHZxW.mjs.map +1 -0
  112. package/dist/fr-BiJrmc6t.mjs +125 -0
  113. package/dist/fr-BiJrmc6t.mjs.map +1 -0
  114. package/dist/fr-BzVQUMC0.cjs +131 -0
  115. package/dist/fr-BzVQUMC0.cjs.map +1 -0
  116. package/dist/fr-C-2Pj7D2.cjs +43 -0
  117. package/dist/fr-C-2Pj7D2.cjs.map +1 -0
  118. package/dist/fr-CT47eWK_.mjs +6 -0
  119. package/dist/fr-CT47eWK_.mjs.map +1 -0
  120. package/dist/fr-DYML7Hb_.cjs +12 -0
  121. package/dist/fr-DYML7Hb_.cjs.map +1 -0
  122. package/dist/fr-DfMQoI8H.mjs +6 -0
  123. package/dist/fr-DfMQoI8H.mjs.map +1 -0
  124. package/dist/fr-MJsdTksK.mjs +24 -0
  125. package/dist/fr-MJsdTksK.mjs.map +1 -0
  126. package/dist/fr-XWBehwDw.cjs +30 -0
  127. package/dist/fr-XWBehwDw.cjs.map +1 -0
  128. package/dist/fr-_zhbWJHh.cjs +12 -0
  129. package/dist/fr-_zhbWJHh.cjs.map +1 -0
  130. package/dist/fr-jXtwm66y.mjs +37 -0
  131. package/dist/fr-jXtwm66y.mjs.map +1 -0
  132. package/dist/fr-wYZdZtt7.cjs +80 -0
  133. package/dist/fr-wYZdZtt7.cjs.map +1 -0
  134. package/dist/he-BNgtWUzu.cjs +43 -0
  135. package/dist/he-BNgtWUzu.cjs.map +1 -0
  136. package/dist/he-BcBh-9RB.cjs +12 -0
  137. package/dist/he-BcBh-9RB.cjs.map +1 -0
  138. package/dist/he-C4xGY_O5.cjs +30 -0
  139. package/dist/he-C4xGY_O5.cjs.map +1 -0
  140. package/dist/he-CBny3yj_.cjs +131 -0
  141. package/dist/he-CBny3yj_.cjs.map +1 -0
  142. package/dist/he-Cai6j3oW.mjs +6 -0
  143. package/dist/he-Cai6j3oW.mjs.map +1 -0
  144. package/dist/he-CsOIjabt.mjs +24 -0
  145. package/dist/he-CsOIjabt.mjs.map +1 -0
  146. package/dist/he-Cu_YCy1f.cjs +12 -0
  147. package/dist/he-Cu_YCy1f.cjs.map +1 -0
  148. package/dist/he-D-R8pe0L.mjs +125 -0
  149. package/dist/he-D-R8pe0L.mjs.map +1 -0
  150. package/dist/he-Dv0k0pX-.cjs +80 -0
  151. package/dist/he-Dv0k0pX-.cjs.map +1 -0
  152. package/dist/he-OAQhQxWm.mjs +74 -0
  153. package/dist/he-OAQhQxWm.mjs.map +1 -0
  154. package/dist/he-gcmGB1-C.mjs +6 -0
  155. package/dist/he-gcmGB1-C.mjs.map +1 -0
  156. package/dist/he-z0iIyfGu.mjs +37 -0
  157. package/dist/he-z0iIyfGu.mjs.map +1 -0
  158. package/dist/hu-BLBHZrAu.mjs +37 -0
  159. package/dist/hu-BLBHZrAu.mjs.map +1 -0
  160. package/dist/hu-BR0rOtJC.cjs +43 -0
  161. package/dist/hu-BR0rOtJC.cjs.map +1 -0
  162. package/dist/hu-BTBlTUaQ.cjs +131 -0
  163. package/dist/hu-BTBlTUaQ.cjs.map +1 -0
  164. package/dist/hu-BTvnBj9a.cjs +30 -0
  165. package/dist/hu-BTvnBj9a.cjs.map +1 -0
  166. package/dist/hu-CDvVhWXF.mjs +74 -0
  167. package/dist/hu-CDvVhWXF.mjs.map +1 -0
  168. package/dist/hu-CYFjRrQD.cjs +80 -0
  169. package/dist/hu-CYFjRrQD.cjs.map +1 -0
  170. package/dist/hu-Czc1FPg9.cjs +12 -0
  171. package/dist/hu-Czc1FPg9.cjs.map +1 -0
  172. package/dist/hu-D4fy_GxO.mjs +125 -0
  173. package/dist/hu-D4fy_GxO.mjs.map +1 -0
  174. package/dist/hu-DGyykLlw.mjs +24 -0
  175. package/dist/hu-DGyykLlw.mjs.map +1 -0
  176. package/dist/hu-DS-6XHh5.mjs +6 -0
  177. package/dist/hu-DS-6XHh5.mjs.map +1 -0
  178. package/dist/hu-DqI8hdAt.cjs +12 -0
  179. package/dist/hu-DqI8hdAt.cjs.map +1 -0
  180. package/dist/hu-pswRdooT.mjs +6 -0
  181. package/dist/hu-pswRdooT.mjs.map +1 -0
  182. package/dist/id-4tl2Uj7F.mjs +6 -0
  183. package/dist/id-4tl2Uj7F.mjs.map +1 -0
  184. package/dist/id-52itow18.cjs +43 -0
  185. package/dist/id-52itow18.cjs.map +1 -0
  186. package/dist/id-Bbvk8MDA.mjs +125 -0
  187. package/dist/id-Bbvk8MDA.mjs.map +1 -0
  188. package/dist/id-BxQgqmXd.cjs +131 -0
  189. package/dist/id-BxQgqmXd.cjs.map +1 -0
  190. package/dist/id-C4zO4qio.cjs +30 -0
  191. package/dist/id-C4zO4qio.cjs.map +1 -0
  192. package/dist/id-Cdurf_cc.mjs +24 -0
  193. package/dist/id-Cdurf_cc.mjs.map +1 -0
  194. package/dist/id-DGh6JGZ5.mjs +37 -0
  195. package/dist/id-DGh6JGZ5.mjs.map +1 -0
  196. package/dist/id-DP5zxg41.mjs +74 -0
  197. package/dist/id-DP5zxg41.mjs.map +1 -0
  198. package/dist/id-Dhws7LdN.mjs +6 -0
  199. package/dist/id-Dhws7LdN.mjs.map +1 -0
  200. package/dist/id-DqK8hygJ.cjs +12 -0
  201. package/dist/id-DqK8hygJ.cjs.map +1 -0
  202. package/dist/id-Vw9DQ3V1.cjs +12 -0
  203. package/dist/id-Vw9DQ3V1.cjs.map +1 -0
  204. package/dist/id-tlOQCFLJ.cjs +80 -0
  205. package/dist/id-tlOQCFLJ.cjs.map +1 -0
  206. package/dist/index.cjs +152 -61
  207. package/dist/index.cjs.map +1 -1
  208. package/dist/index.d.cts.map +1 -1
  209. package/dist/index.d.mts.map +1 -1
  210. package/dist/index.mjs +152 -61
  211. package/dist/index.mjs.map +1 -1
  212. package/dist/it--DHBKc26.cjs +12 -0
  213. package/dist/it--DHBKc26.cjs.map +1 -0
  214. package/dist/it-BODMi-FY.cjs +30 -0
  215. package/dist/it-BODMi-FY.cjs.map +1 -0
  216. package/dist/it-C34p5klu.mjs +24 -0
  217. package/dist/it-C34p5klu.mjs.map +1 -0
  218. package/dist/it-CPXF5aFi.cjs +80 -0
  219. package/dist/it-CPXF5aFi.cjs.map +1 -0
  220. package/dist/it-CbZjaErj.cjs +43 -0
  221. package/dist/it-CbZjaErj.cjs.map +1 -0
  222. package/dist/it-CfLSq25e.mjs +37 -0
  223. package/dist/it-CfLSq25e.mjs.map +1 -0
  224. package/dist/it-CpnrX6Qu.cjs +12 -0
  225. package/dist/it-CpnrX6Qu.cjs.map +1 -0
  226. package/dist/it-CqvzV23C.mjs +74 -0
  227. package/dist/it-CqvzV23C.mjs.map +1 -0
  228. package/dist/it-ELWZ1sxy.mjs +125 -0
  229. package/dist/it-ELWZ1sxy.mjs.map +1 -0
  230. package/dist/it-Hj3LCvz1.mjs +6 -0
  231. package/dist/it-Hj3LCvz1.mjs.map +1 -0
  232. package/dist/it-L0NVZqjU.cjs +131 -0
  233. package/dist/it-L0NVZqjU.cjs.map +1 -0
  234. package/dist/it-dsOgAn3r.mjs +6 -0
  235. package/dist/it-dsOgAn3r.mjs.map +1 -0
  236. package/dist/ja-B1DQXHgd.mjs +74 -0
  237. package/dist/ja-B1DQXHgd.mjs.map +1 -0
  238. package/dist/ja-B2NQ5sR-.cjs +80 -0
  239. package/dist/ja-B2NQ5sR-.cjs.map +1 -0
  240. package/dist/ja-BYGHlw8d.cjs +30 -0
  241. package/dist/ja-BYGHlw8d.cjs.map +1 -0
  242. package/dist/ja-BaU2QXo2.cjs +43 -0
  243. package/dist/ja-BaU2QXo2.cjs.map +1 -0
  244. package/dist/ja-BqySbP-W.mjs +6 -0
  245. package/dist/ja-BqySbP-W.mjs.map +1 -0
  246. package/dist/ja-C1QZfTGN.mjs +125 -0
  247. package/dist/ja-C1QZfTGN.mjs.map +1 -0
  248. package/dist/ja-C3C0k99E.cjs +12 -0
  249. package/dist/ja-C3C0k99E.cjs.map +1 -0
  250. package/dist/ja-Cft4ODrl.mjs +24 -0
  251. package/dist/ja-Cft4ODrl.mjs.map +1 -0
  252. package/dist/ja-CuLC8KzH.mjs +6 -0
  253. package/dist/ja-CuLC8KzH.mjs.map +1 -0
  254. package/dist/ja-D5fpLCDT.cjs +131 -0
  255. package/dist/ja-D5fpLCDT.cjs.map +1 -0
  256. package/dist/ja-JVcCjBJ9.cjs +12 -0
  257. package/dist/ja-JVcCjBJ9.cjs.map +1 -0
  258. package/dist/ja-kM5CUvdg.mjs +37 -0
  259. package/dist/ja-kM5CUvdg.mjs.map +1 -0
  260. package/dist/ko-BREsc9Rl.mjs +24 -0
  261. package/dist/ko-BREsc9Rl.mjs.map +1 -0
  262. package/dist/ko-BX4GXxaa.mjs +125 -0
  263. package/dist/ko-BX4GXxaa.mjs.map +1 -0
  264. package/dist/ko-C0Q33hJ9.cjs +80 -0
  265. package/dist/ko-C0Q33hJ9.cjs.map +1 -0
  266. package/dist/ko-Cdb4MyCC.mjs +6 -0
  267. package/dist/ko-Cdb4MyCC.mjs.map +1 -0
  268. package/dist/ko-D2TLG_3_.mjs +37 -0
  269. package/dist/ko-D2TLG_3_.mjs.map +1 -0
  270. package/dist/ko-D64no-WM.cjs +131 -0
  271. package/dist/ko-D64no-WM.cjs.map +1 -0
  272. package/dist/ko-DDBkvKT3.mjs +6 -0
  273. package/dist/ko-DDBkvKT3.mjs.map +1 -0
  274. package/dist/ko-DROYufGO.cjs +12 -0
  275. package/dist/ko-DROYufGO.cjs.map +1 -0
  276. package/dist/ko-HEegPkOi.cjs +30 -0
  277. package/dist/ko-HEegPkOi.cjs.map +1 -0
  278. package/dist/ko-PUpIJgsU.mjs +74 -0
  279. package/dist/ko-PUpIJgsU.mjs.map +1 -0
  280. package/dist/ko-WIfVodYY.cjs +12 -0
  281. package/dist/ko-WIfVodYY.cjs.map +1 -0
  282. package/dist/ko-vQjiRfrX.cjs +43 -0
  283. package/dist/ko-vQjiRfrX.cjs.map +1 -0
  284. package/dist/nl-BdRkpB-f.mjs +74 -0
  285. package/dist/nl-BdRkpB-f.mjs.map +1 -0
  286. package/dist/nl-Byk7MZjq.cjs +12 -0
  287. package/dist/nl-Byk7MZjq.cjs.map +1 -0
  288. package/dist/nl-C5U5y6gr.cjs +12 -0
  289. package/dist/nl-C5U5y6gr.cjs.map +1 -0
  290. package/dist/nl-C8T6RqHI.cjs +131 -0
  291. package/dist/nl-C8T6RqHI.cjs.map +1 -0
  292. package/dist/nl-CxaUAerZ.mjs +24 -0
  293. package/dist/nl-CxaUAerZ.mjs.map +1 -0
  294. package/dist/nl-D0dcnS-5.mjs +6 -0
  295. package/dist/nl-D0dcnS-5.mjs.map +1 -0
  296. package/dist/nl-D5y8p_At.cjs +80 -0
  297. package/dist/nl-D5y8p_At.cjs.map +1 -0
  298. package/dist/nl-DFUHK5ta.mjs +6 -0
  299. package/dist/nl-DFUHK5ta.mjs.map +1 -0
  300. package/dist/nl-DRxCBp_v.cjs +43 -0
  301. package/dist/nl-DRxCBp_v.cjs.map +1 -0
  302. package/dist/nl-Dww7O0AO.mjs +37 -0
  303. package/dist/nl-Dww7O0AO.mjs.map +1 -0
  304. package/dist/nl-ayPagHJ_.cjs +30 -0
  305. package/dist/nl-ayPagHJ_.cjs.map +1 -0
  306. package/dist/nl-mL8uL7cu.mjs +125 -0
  307. package/dist/nl-mL8uL7cu.mjs.map +1 -0
  308. package/dist/pl-AsC20yM9.cjs +43 -0
  309. package/dist/pl-AsC20yM9.cjs.map +1 -0
  310. package/dist/pl-Beb7Fiam.mjs +125 -0
  311. package/dist/pl-Beb7Fiam.mjs.map +1 -0
  312. package/dist/pl-BvfqoRfV.cjs +80 -0
  313. package/dist/pl-BvfqoRfV.cjs.map +1 -0
  314. package/dist/pl-COP9NGch.mjs +6 -0
  315. package/dist/pl-COP9NGch.mjs.map +1 -0
  316. package/dist/pl-CcIcOxXb.mjs +6 -0
  317. package/dist/pl-CcIcOxXb.mjs.map +1 -0
  318. package/dist/pl-CgKBvrJr.mjs +24 -0
  319. package/dist/pl-CgKBvrJr.mjs.map +1 -0
  320. package/dist/pl-DJKAFKNJ.cjs +12 -0
  321. package/dist/pl-DJKAFKNJ.cjs.map +1 -0
  322. package/dist/pl-DZZ1e6TM.cjs +12 -0
  323. package/dist/pl-DZZ1e6TM.cjs.map +1 -0
  324. package/dist/pl-DpVEpGL0.cjs +131 -0
  325. package/dist/pl-DpVEpGL0.cjs.map +1 -0
  326. package/dist/pl-LHrd1s6r.cjs +30 -0
  327. package/dist/pl-LHrd1s6r.cjs.map +1 -0
  328. package/dist/pl-PV9rlOz1.mjs +37 -0
  329. package/dist/pl-PV9rlOz1.mjs.map +1 -0
  330. package/dist/pl-XfyC_jQs.mjs +74 -0
  331. package/dist/pl-XfyC_jQs.mjs.map +1 -0
  332. package/dist/pt-B4hr_uJO.mjs +125 -0
  333. package/dist/pt-B4hr_uJO.mjs.map +1 -0
  334. package/dist/pt-BBFH5zDu.cjs +43 -0
  335. package/dist/pt-BBFH5zDu.cjs.map +1 -0
  336. package/dist/pt-BC56DXTY.mjs +37 -0
  337. package/dist/pt-BC56DXTY.mjs.map +1 -0
  338. package/dist/pt-BrnvgQRs.cjs +12 -0
  339. package/dist/pt-BrnvgQRs.cjs.map +1 -0
  340. package/dist/pt-CSvh02ed.mjs +6 -0
  341. package/dist/pt-CSvh02ed.mjs.map +1 -0
  342. package/dist/pt-CW6UZk1v.cjs +30 -0
  343. package/dist/pt-CW6UZk1v.cjs.map +1 -0
  344. package/dist/pt-CifIYahI.cjs +131 -0
  345. package/dist/pt-CifIYahI.cjs.map +1 -0
  346. package/dist/pt-CpQN7iPy.cjs +12 -0
  347. package/dist/pt-CpQN7iPy.cjs.map +1 -0
  348. package/dist/pt-DG1WQnTO.mjs +24 -0
  349. package/dist/pt-DG1WQnTO.mjs.map +1 -0
  350. package/dist/pt-DLFLkEpR.mjs +74 -0
  351. package/dist/pt-DLFLkEpR.mjs.map +1 -0
  352. package/dist/pt-D_Fxu0mz.mjs +6 -0
  353. package/dist/pt-D_Fxu0mz.mjs.map +1 -0
  354. package/dist/pt-Dx69fLab.cjs +80 -0
  355. package/dist/pt-Dx69fLab.cjs.map +1 -0
  356. package/dist/ro-B6ExafZC.cjs +131 -0
  357. package/dist/ro-B6ExafZC.cjs.map +1 -0
  358. package/dist/ro-BY4QQCns.cjs +30 -0
  359. package/dist/ro-BY4QQCns.cjs.map +1 -0
  360. package/dist/ro-CGOwHLvs.cjs +12 -0
  361. package/dist/ro-CGOwHLvs.cjs.map +1 -0
  362. package/dist/ro-CJJKGRs9.mjs +37 -0
  363. package/dist/ro-CJJKGRs9.mjs.map +1 -0
  364. package/dist/ro-Cu3cJnmT.mjs +74 -0
  365. package/dist/ro-Cu3cJnmT.mjs.map +1 -0
  366. package/dist/ro-D2WH48l8.mjs +6 -0
  367. package/dist/ro-D2WH48l8.mjs.map +1 -0
  368. package/dist/ro-DS3mARiW.cjs +43 -0
  369. package/dist/ro-DS3mARiW.cjs.map +1 -0
  370. package/dist/ro-DStH8jqQ.cjs +80 -0
  371. package/dist/ro-DStH8jqQ.cjs.map +1 -0
  372. package/dist/ro-Dg398PV0.mjs +24 -0
  373. package/dist/ro-Dg398PV0.mjs.map +1 -0
  374. package/dist/ro-DhGoI55Z.mjs +125 -0
  375. package/dist/ro-DhGoI55Z.mjs.map +1 -0
  376. package/dist/ro-dpJtFKiA.cjs +12 -0
  377. package/dist/ro-dpJtFKiA.cjs.map +1 -0
  378. package/dist/ro-lFxvLN7R.mjs +6 -0
  379. package/dist/ro-lFxvLN7R.mjs.map +1 -0
  380. package/dist/ru-9zdAxTCI.cjs +30 -0
  381. package/dist/ru-9zdAxTCI.cjs.map +1 -0
  382. package/dist/ru-BCP_P-Kw.mjs +6 -0
  383. package/dist/ru-BCP_P-Kw.mjs.map +1 -0
  384. package/dist/ru-BymfL4lY.mjs +125 -0
  385. package/dist/ru-BymfL4lY.mjs.map +1 -0
  386. package/dist/ru-C9sTu8KO.mjs +74 -0
  387. package/dist/ru-C9sTu8KO.mjs.map +1 -0
  388. package/dist/ru-CKfstS2M.cjs +43 -0
  389. package/dist/ru-CKfstS2M.cjs.map +1 -0
  390. package/dist/ru-CW4wBDfy.cjs +12 -0
  391. package/dist/ru-CW4wBDfy.cjs.map +1 -0
  392. package/dist/ru-CyoLQlWx.cjs +12 -0
  393. package/dist/ru-CyoLQlWx.cjs.map +1 -0
  394. package/dist/ru-DHNcAvHk.mjs +37 -0
  395. package/dist/ru-DHNcAvHk.mjs.map +1 -0
  396. package/dist/ru-DPs8Axnb.cjs +80 -0
  397. package/dist/ru-DPs8Axnb.cjs.map +1 -0
  398. package/dist/ru-JgTYyWIt.mjs +6 -0
  399. package/dist/ru-JgTYyWIt.mjs.map +1 -0
  400. package/dist/ru-fz-F75f4.cjs +131 -0
  401. package/dist/ru-fz-F75f4.cjs.map +1 -0
  402. package/dist/ru-k8yUinAx.mjs +24 -0
  403. package/dist/ru-k8yUinAx.mjs.map +1 -0
  404. package/dist/th-B83Fh-0G.cjs +12 -0
  405. package/dist/th-B83Fh-0G.cjs.map +1 -0
  406. package/dist/th-BVg0Jjgr.cjs +131 -0
  407. package/dist/th-BVg0Jjgr.cjs.map +1 -0
  408. package/dist/th-BYXBW0X2.cjs +43 -0
  409. package/dist/th-BYXBW0X2.cjs.map +1 -0
  410. package/dist/th-C7VrhPP5.cjs +12 -0
  411. package/dist/th-C7VrhPP5.cjs.map +1 -0
  412. package/dist/th-CZxqRIHs.mjs +6 -0
  413. package/dist/th-CZxqRIHs.mjs.map +1 -0
  414. package/dist/th-CmX6_2CM.mjs +74 -0
  415. package/dist/th-CmX6_2CM.mjs.map +1 -0
  416. package/dist/th-D8Prwe8n.cjs +30 -0
  417. package/dist/th-D8Prwe8n.cjs.map +1 -0
  418. package/dist/th-DkjnkI6P.mjs +6 -0
  419. package/dist/th-DkjnkI6P.mjs.map +1 -0
  420. package/dist/th-KyxBje7z.cjs +80 -0
  421. package/dist/th-KyxBje7z.cjs.map +1 -0
  422. package/dist/th-cad5Cap4.mjs +37 -0
  423. package/dist/th-cad5Cap4.mjs.map +1 -0
  424. package/dist/th-ge5FSv6T.mjs +125 -0
  425. package/dist/th-ge5FSv6T.mjs.map +1 -0
  426. package/dist/th-nYdqpaRn.mjs +24 -0
  427. package/dist/th-nYdqpaRn.mjs.map +1 -0
  428. package/dist/tl-B888TBzV.mjs +37 -0
  429. package/dist/tl-B888TBzV.mjs.map +1 -0
  430. package/dist/tl-Bua5-krl.mjs +24 -0
  431. package/dist/tl-Bua5-krl.mjs.map +1 -0
  432. package/dist/tl-CATDGPeB.cjs +12 -0
  433. package/dist/tl-CATDGPeB.cjs.map +1 -0
  434. package/dist/tl-CKjLSF_S.cjs +131 -0
  435. package/dist/tl-CKjLSF_S.cjs.map +1 -0
  436. package/dist/tl-CT5Bevzy.mjs +6 -0
  437. package/dist/tl-CT5Bevzy.mjs.map +1 -0
  438. package/dist/tl-CsRFJOIR.cjs +80 -0
  439. package/dist/tl-CsRFJOIR.cjs.map +1 -0
  440. package/dist/tl-D4iI7i02.cjs +30 -0
  441. package/dist/tl-D4iI7i02.cjs.map +1 -0
  442. package/dist/tl-DCKUBvuV.mjs +6 -0
  443. package/dist/tl-DCKUBvuV.mjs.map +1 -0
  444. package/dist/tl-DI0F6h6a.mjs +74 -0
  445. package/dist/tl-DI0F6h6a.mjs.map +1 -0
  446. package/dist/tl-DzIwhz3k.cjs +12 -0
  447. package/dist/tl-DzIwhz3k.cjs.map +1 -0
  448. package/dist/tl-icpkJ5RY.mjs +125 -0
  449. package/dist/tl-icpkJ5RY.mjs.map +1 -0
  450. package/dist/tl-lZlSu-sM.cjs +43 -0
  451. package/dist/tl-lZlSu-sM.cjs.map +1 -0
  452. package/dist/tr-9nLGvy6N.mjs +24 -0
  453. package/dist/tr-9nLGvy6N.mjs.map +1 -0
  454. package/dist/tr-B96yy4BZ.mjs +37 -0
  455. package/dist/tr-B96yy4BZ.mjs.map +1 -0
  456. package/dist/tr-BdEGICrX.cjs +80 -0
  457. package/dist/tr-BdEGICrX.cjs.map +1 -0
  458. package/dist/tr-Bsdv5dWu.cjs +12 -0
  459. package/dist/tr-Bsdv5dWu.cjs.map +1 -0
  460. package/dist/tr-Bu5HeGRu.cjs +30 -0
  461. package/dist/tr-Bu5HeGRu.cjs.map +1 -0
  462. package/dist/tr-COlHtN47.mjs +6 -0
  463. package/dist/tr-COlHtN47.mjs.map +1 -0
  464. package/dist/tr-CVK6oefd.cjs +12 -0
  465. package/dist/tr-CVK6oefd.cjs.map +1 -0
  466. package/dist/tr-CifdAA_w.cjs +43 -0
  467. package/dist/tr-CifdAA_w.cjs.map +1 -0
  468. package/dist/tr-D1KVbmGI.mjs +74 -0
  469. package/dist/tr-D1KVbmGI.mjs.map +1 -0
  470. package/dist/tr-DMnXKPnI.cjs +131 -0
  471. package/dist/tr-DMnXKPnI.cjs.map +1 -0
  472. package/dist/tr-DuFbZrRu.mjs +6 -0
  473. package/dist/tr-DuFbZrRu.mjs.map +1 -0
  474. package/dist/tr-QaTfqnit.mjs +125 -0
  475. package/dist/tr-QaTfqnit.mjs.map +1 -0
  476. package/dist/zh_CN-2FPc1yGp.mjs +6 -0
  477. package/dist/zh_CN-2FPc1yGp.mjs.map +1 -0
  478. package/dist/zh_CN-BJnhvkc0.mjs +37 -0
  479. package/dist/zh_CN-BJnhvkc0.mjs.map +1 -0
  480. package/dist/zh_CN-BT8zi4ct.mjs +125 -0
  481. package/dist/zh_CN-BT8zi4ct.mjs.map +1 -0
  482. package/dist/zh_CN-BUDga7b8.cjs +12 -0
  483. package/dist/zh_CN-BUDga7b8.cjs.map +1 -0
  484. package/dist/zh_CN-BWIy2qoV.cjs +43 -0
  485. package/dist/zh_CN-BWIy2qoV.cjs.map +1 -0
  486. package/dist/zh_CN-BrkBDK-m.cjs +131 -0
  487. package/dist/zh_CN-BrkBDK-m.cjs.map +1 -0
  488. package/dist/zh_CN-Bzo7sqbA.cjs +12 -0
  489. package/dist/zh_CN-Bzo7sqbA.cjs.map +1 -0
  490. package/dist/zh_CN-CEwzKvT8.mjs +74 -0
  491. package/dist/zh_CN-CEwzKvT8.mjs.map +1 -0
  492. package/dist/zh_CN-CLqN3qJp.mjs +24 -0
  493. package/dist/zh_CN-CLqN3qJp.mjs.map +1 -0
  494. package/dist/zh_CN-DZFGqn6D.cjs +30 -0
  495. package/dist/zh_CN-DZFGqn6D.cjs.map +1 -0
  496. package/dist/zh_CN-oOeDsP-B.mjs +6 -0
  497. package/dist/zh_CN-oOeDsP-B.mjs.map +1 -0
  498. package/dist/zh_CN-wE1DUfsY.cjs +80 -0
  499. package/dist/zh_CN-wE1DUfsY.cjs.map +1 -0
  500. package/dist/zh_TW-BeBQ0pV1.mjs +74 -0
  501. package/dist/zh_TW-BeBQ0pV1.mjs.map +1 -0
  502. package/dist/zh_TW-Bz5_kUpI.mjs +37 -0
  503. package/dist/zh_TW-Bz5_kUpI.mjs.map +1 -0
  504. package/dist/zh_TW-CZhSh3BU.cjs +80 -0
  505. package/dist/zh_TW-CZhSh3BU.cjs.map +1 -0
  506. package/dist/zh_TW-D-xI7JBs.mjs +6 -0
  507. package/dist/zh_TW-D-xI7JBs.mjs.map +1 -0
  508. package/dist/zh_TW-D86GUR9C.cjs +43 -0
  509. package/dist/zh_TW-D86GUR9C.cjs.map +1 -0
  510. package/dist/zh_TW-DPLNY3Sh.cjs +12 -0
  511. package/dist/zh_TW-DPLNY3Sh.cjs.map +1 -0
  512. package/dist/zh_TW-DQdWK1u9.cjs +12 -0
  513. package/dist/zh_TW-DQdWK1u9.cjs.map +1 -0
  514. package/dist/zh_TW-Dg6LeVzh.mjs +24 -0
  515. package/dist/zh_TW-Dg6LeVzh.mjs.map +1 -0
  516. package/dist/zh_TW-DoDLHILX.cjs +30 -0
  517. package/dist/zh_TW-DoDLHILX.cjs.map +1 -0
  518. package/dist/zh_TW-Dqcoo0F5.mjs +6 -0
  519. package/dist/zh_TW-Dqcoo0F5.mjs.map +1 -0
  520. package/dist/zh_TW-DzFlj-kU.cjs +131 -0
  521. package/dist/zh_TW-DzFlj-kU.cjs.map +1 -0
  522. package/dist/zh_TW-idE0Evam.mjs +125 -0
  523. package/dist/zh_TW-idE0Evam.mjs.map +1 -0
  524. package/package.json +16 -16
  525. package/dist/AddressAutocompleteInput-DiXfEThY.mjs +0 -2214
  526. package/dist/AddressAutocompleteInput-DiXfEThY.mjs.map +0 -1
  527. package/dist/AddressAutocompleteInput-DmsSlPVz.cjs +0 -2310
  528. package/dist/AddressAutocompleteInput-DmsSlPVz.cjs.map +0 -1
  529. package/dist/ContactsScreen-9SzNlWEb.cjs +0 -10
  530. package/dist/ContactsScreen-BIPKKITz.mjs +0 -3397
  531. package/dist/ContactsScreen-BIPKKITz.mjs.map +0 -1
  532. package/dist/ContactsScreen-Comv_f_d.cjs +0 -3405
  533. package/dist/ContactsScreen-Comv_f_d.cjs.map +0 -1
  534. package/dist/ProfileScreen-B4OYJdd1.cjs +0 -1244
  535. package/dist/ProfileScreen-B4OYJdd1.cjs.map +0 -1
  536. package/dist/ProfileScreen-Be3RVQ2L.mjs +0 -1232
  537. package/dist/ProfileScreen-Be3RVQ2L.mjs.map +0 -1
  538. package/dist/ProfileScreen-D9YYYFK-.mjs +0 -46
  539. package/dist/ProfileScreen-j7Eyy4tk.cjs +0 -48
  540. package/dist/ShareablesScreen-CPvylNL7.mjs +0 -13
  541. package/dist/ShareablesScreen-CQZBq1Hl.cjs +0 -13457
  542. package/dist/ShareablesScreen-CQZBq1Hl.cjs.map +0 -1
  543. package/dist/ShareablesScreen-DYOIQwK-.mjs +0 -13441
  544. package/dist/ShareablesScreen-DYOIQwK-.mjs.map +0 -1
  545. package/dist/ShareablesScreen-ljPcmGLg.cjs +0 -15
  546. package/dist/ShopScreen-BEKSgvCp.mjs +0 -45
  547. package/dist/ShopScreen-CU0ynA2v.mjs +0 -1282
  548. package/dist/ShopScreen-CU0ynA2v.mjs.map +0 -1
  549. package/dist/ShopScreen-Cr_XcWdY.cjs +0 -1295
  550. package/dist/ShopScreen-Cr_XcWdY.cjs.map +0 -1
  551. package/dist/ShopScreen-QjSfEvCZ.cjs +0 -47
  552. package/dist/SubscriptionsScreen-Ces1Pv8k.mjs +0 -5723
  553. package/dist/SubscriptionsScreen-Ces1Pv8k.mjs.map +0 -1
  554. package/dist/SubscriptionsScreen-Cu-WeJ7L.cjs +0 -11
  555. package/dist/SubscriptionsScreen-DMqKtptN.cjs +0 -5791
  556. package/dist/SubscriptionsScreen-DMqKtptN.cjs.map +0 -1
  557. package/dist/UpgradeScreen-B4CnkCjg.cjs +0 -203
  558. package/dist/UpgradeScreen-B4CnkCjg.cjs.map +0 -1
  559. package/dist/UpgradeScreen-C9TjaPoJ.mjs +0 -196
  560. package/dist/UpgradeScreen-C9TjaPoJ.mjs.map +0 -1
  561. package/dist/UpgradeScreen-jvHU1at7.cjs +0 -6
  562. package/dist/de-14i_YO8a.mjs +0 -125
  563. package/dist/de-14i_YO8a.mjs.map +0 -1
  564. package/dist/de-8f8CBqQz.mjs +0 -74
  565. package/dist/de-8f8CBqQz.mjs.map +0 -1
  566. package/dist/de-C2d-Wmdy.cjs +0 -80
  567. package/dist/de-C2d-Wmdy.cjs.map +0 -1
  568. package/dist/de-CjPctz3q.cjs +0 -43
  569. package/dist/de-CjPctz3q.cjs.map +0 -1
  570. package/dist/de-DBGj2OFs.cjs +0 -30
  571. package/dist/de-DBGj2OFs.cjs.map +0 -1
  572. package/dist/de-DCq1H3bn.mjs +0 -24
  573. package/dist/de-DCq1H3bn.mjs.map +0 -1
  574. package/dist/de-DbKC3CDA.mjs +0 -37
  575. package/dist/de-DbKC3CDA.mjs.map +0 -1
  576. package/dist/de-MxH9dP_P.cjs +0 -131
  577. package/dist/de-MxH9dP_P.cjs.map +0 -1
  578. package/dist/el-B0l-Q1qT.mjs +0 -37
  579. package/dist/el-B0l-Q1qT.mjs.map +0 -1
  580. package/dist/el-B8bnnoKc.mjs +0 -24
  581. package/dist/el-B8bnnoKc.mjs.map +0 -1
  582. package/dist/el-BGxr23AZ.mjs +0 -74
  583. package/dist/el-BGxr23AZ.mjs.map +0 -1
  584. package/dist/el-BKGArK2f.cjs +0 -80
  585. package/dist/el-BKGArK2f.cjs.map +0 -1
  586. package/dist/el-BdbemgXl.cjs +0 -43
  587. package/dist/el-BdbemgXl.cjs.map +0 -1
  588. package/dist/el-C_EpDLLk.mjs +0 -125
  589. package/dist/el-C_EpDLLk.mjs.map +0 -1
  590. package/dist/el-DJbG54c1.cjs +0 -30
  591. package/dist/el-DJbG54c1.cjs.map +0 -1
  592. package/dist/el-v1A4TFkT.cjs +0 -131
  593. package/dist/el-v1A4TFkT.cjs.map +0 -1
  594. package/dist/es-BMW1EA1c.cjs +0 -30
  595. package/dist/es-BMW1EA1c.cjs.map +0 -1
  596. package/dist/es-BaMIh5FA.mjs +0 -125
  597. package/dist/es-BaMIh5FA.mjs.map +0 -1
  598. package/dist/es-CT2hq6ZJ.mjs +0 -24
  599. package/dist/es-CT2hq6ZJ.mjs.map +0 -1
  600. package/dist/es-C_4clFHt.cjs +0 -80
  601. package/dist/es-C_4clFHt.cjs.map +0 -1
  602. package/dist/es-CiGfOfqA.cjs +0 -43
  603. package/dist/es-CiGfOfqA.cjs.map +0 -1
  604. package/dist/es-CtRMRF22.mjs +0 -37
  605. package/dist/es-CtRMRF22.mjs.map +0 -1
  606. package/dist/es-DwVnFc84.mjs +0 -74
  607. package/dist/es-DwVnFc84.mjs.map +0 -1
  608. package/dist/es-OY_6uXf5.cjs +0 -131
  609. package/dist/es-OY_6uXf5.cjs.map +0 -1
  610. package/dist/fr-6k1dLzPa.cjs +0 -30
  611. package/dist/fr-6k1dLzPa.cjs.map +0 -1
  612. package/dist/fr-BXkj4XVE.cjs +0 -43
  613. package/dist/fr-BXkj4XVE.cjs.map +0 -1
  614. package/dist/fr-BcnTVvSD.mjs +0 -24
  615. package/dist/fr-BcnTVvSD.mjs.map +0 -1
  616. package/dist/fr-C0Oj4xnv.mjs +0 -74
  617. package/dist/fr-C0Oj4xnv.mjs.map +0 -1
  618. package/dist/fr-Ce2tevwP.mjs +0 -125
  619. package/dist/fr-Ce2tevwP.mjs.map +0 -1
  620. package/dist/fr-DSG1yVZR.cjs +0 -80
  621. package/dist/fr-DSG1yVZR.cjs.map +0 -1
  622. package/dist/fr-Zh7yPXbQ.cjs +0 -131
  623. package/dist/fr-Zh7yPXbQ.cjs.map +0 -1
  624. package/dist/fr-kd7QtgdA.mjs +0 -37
  625. package/dist/fr-kd7QtgdA.mjs.map +0 -1
  626. package/dist/he-Alro4HT4.cjs +0 -30
  627. package/dist/he-Alro4HT4.cjs.map +0 -1
  628. package/dist/he-B4cg1J00.mjs +0 -74
  629. package/dist/he-B4cg1J00.mjs.map +0 -1
  630. package/dist/he-Bsinkol5.mjs +0 -125
  631. package/dist/he-Bsinkol5.mjs.map +0 -1
  632. package/dist/he-CTOKIYzG.cjs +0 -80
  633. package/dist/he-CTOKIYzG.cjs.map +0 -1
  634. package/dist/he-CdDmyq0k.cjs +0 -43
  635. package/dist/he-CdDmyq0k.cjs.map +0 -1
  636. package/dist/he-CuuLh6US.cjs +0 -131
  637. package/dist/he-CuuLh6US.cjs.map +0 -1
  638. package/dist/he-CvNcU3F-.mjs +0 -24
  639. package/dist/he-CvNcU3F-.mjs.map +0 -1
  640. package/dist/he-oOy2HM0e.mjs +0 -37
  641. package/dist/he-oOy2HM0e.mjs.map +0 -1
  642. package/dist/hu-B84oEeJZ.mjs +0 -125
  643. package/dist/hu-B84oEeJZ.mjs.map +0 -1
  644. package/dist/hu-BSPTfhWR.cjs +0 -43
  645. package/dist/hu-BSPTfhWR.cjs.map +0 -1
  646. package/dist/hu-CF_ikpEl.cjs +0 -80
  647. package/dist/hu-CF_ikpEl.cjs.map +0 -1
  648. package/dist/hu-CYlsbrG1.mjs +0 -24
  649. package/dist/hu-CYlsbrG1.mjs.map +0 -1
  650. package/dist/hu-D5x1eDHD.cjs +0 -30
  651. package/dist/hu-D5x1eDHD.cjs.map +0 -1
  652. package/dist/hu-Dv5s1IMB.mjs +0 -37
  653. package/dist/hu-Dv5s1IMB.mjs.map +0 -1
  654. package/dist/hu-IZ3Wz8XP.mjs +0 -74
  655. package/dist/hu-IZ3Wz8XP.mjs.map +0 -1
  656. package/dist/hu-Vw6dogZo.cjs +0 -131
  657. package/dist/hu-Vw6dogZo.cjs.map +0 -1
  658. package/dist/id-1z_sYwiV.cjs +0 -131
  659. package/dist/id-1z_sYwiV.cjs.map +0 -1
  660. package/dist/id-C30Gd0ig.mjs +0 -24
  661. package/dist/id-C30Gd0ig.mjs.map +0 -1
  662. package/dist/id-C4q84iQs.mjs +0 -37
  663. package/dist/id-C4q84iQs.mjs.map +0 -1
  664. package/dist/id-CKzznQLP.cjs +0 -80
  665. package/dist/id-CKzznQLP.cjs.map +0 -1
  666. package/dist/id-CXL-L1qX.mjs +0 -125
  667. package/dist/id-CXL-L1qX.mjs.map +0 -1
  668. package/dist/id-DI4Mmfx0.mjs +0 -74
  669. package/dist/id-DI4Mmfx0.mjs.map +0 -1
  670. package/dist/id-Duby505w.cjs +0 -30
  671. package/dist/id-Duby505w.cjs.map +0 -1
  672. package/dist/id-NeJHVkY8.cjs +0 -43
  673. package/dist/id-NeJHVkY8.cjs.map +0 -1
  674. package/dist/it-5pXu8eWE.cjs +0 -43
  675. package/dist/it-5pXu8eWE.cjs.map +0 -1
  676. package/dist/it-BSiMXbIw.cjs +0 -30
  677. package/dist/it-BSiMXbIw.cjs.map +0 -1
  678. package/dist/it-BbNDdOME.mjs +0 -37
  679. package/dist/it-BbNDdOME.mjs.map +0 -1
  680. package/dist/it-CQY4tm5S.cjs +0 -131
  681. package/dist/it-CQY4tm5S.cjs.map +0 -1
  682. package/dist/it-CTPG4nXE.mjs +0 -24
  683. package/dist/it-CTPG4nXE.mjs.map +0 -1
  684. package/dist/it-CnIs_n8L.mjs +0 -74
  685. package/dist/it-CnIs_n8L.mjs.map +0 -1
  686. package/dist/it-CwAg1PPt.mjs +0 -125
  687. package/dist/it-CwAg1PPt.mjs.map +0 -1
  688. package/dist/it-IEJYmwzw.cjs +0 -80
  689. package/dist/it-IEJYmwzw.cjs.map +0 -1
  690. package/dist/ja-B-YZ7YHO.mjs +0 -74
  691. package/dist/ja-B-YZ7YHO.mjs.map +0 -1
  692. package/dist/ja-BBOP6z7P.cjs +0 -131
  693. package/dist/ja-BBOP6z7P.cjs.map +0 -1
  694. package/dist/ja-CDnUJv_3.mjs +0 -37
  695. package/dist/ja-CDnUJv_3.mjs.map +0 -1
  696. package/dist/ja-D5845TL0.mjs +0 -24
  697. package/dist/ja-D5845TL0.mjs.map +0 -1
  698. package/dist/ja-DobSeN1K.cjs +0 -43
  699. package/dist/ja-DobSeN1K.cjs.map +0 -1
  700. package/dist/ja-X6HQT0aD.cjs +0 -80
  701. package/dist/ja-X6HQT0aD.cjs.map +0 -1
  702. package/dist/ja-lCgyxNWH.mjs +0 -125
  703. package/dist/ja-lCgyxNWH.mjs.map +0 -1
  704. package/dist/ja-pSbdkRSW.cjs +0 -30
  705. package/dist/ja-pSbdkRSW.cjs.map +0 -1
  706. package/dist/ko-B3Oa-b5c.mjs +0 -24
  707. package/dist/ko-B3Oa-b5c.mjs.map +0 -1
  708. package/dist/ko-B4GjXpnY.mjs +0 -125
  709. package/dist/ko-B4GjXpnY.mjs.map +0 -1
  710. package/dist/ko-BIi-F1dV.cjs +0 -131
  711. package/dist/ko-BIi-F1dV.cjs.map +0 -1
  712. package/dist/ko-BfySQ1ZI.mjs +0 -74
  713. package/dist/ko-BfySQ1ZI.mjs.map +0 -1
  714. package/dist/ko-C-DvBsfj.cjs +0 -80
  715. package/dist/ko-C-DvBsfj.cjs.map +0 -1
  716. package/dist/ko-CuJFyarb.cjs +0 -43
  717. package/dist/ko-CuJFyarb.cjs.map +0 -1
  718. package/dist/ko-ir7yEsoy.cjs +0 -30
  719. package/dist/ko-ir7yEsoy.cjs.map +0 -1
  720. package/dist/ko-o5PlsiO4.mjs +0 -37
  721. package/dist/ko-o5PlsiO4.mjs.map +0 -1
  722. package/dist/nl-B3aJ9t79.cjs +0 -30
  723. package/dist/nl-B3aJ9t79.cjs.map +0 -1
  724. package/dist/nl-B8i6Eran.mjs +0 -125
  725. package/dist/nl-B8i6Eran.mjs.map +0 -1
  726. package/dist/nl-Casz-6t5.mjs +0 -37
  727. package/dist/nl-Casz-6t5.mjs.map +0 -1
  728. package/dist/nl-D6QZWEm6.mjs +0 -74
  729. package/dist/nl-D6QZWEm6.mjs.map +0 -1
  730. package/dist/nl-DOW7O3Ls.cjs +0 -80
  731. package/dist/nl-DOW7O3Ls.cjs.map +0 -1
  732. package/dist/nl-DlW0bd6G.mjs +0 -24
  733. package/dist/nl-DlW0bd6G.mjs.map +0 -1
  734. package/dist/nl-L3QBBaKe.cjs +0 -131
  735. package/dist/nl-L3QBBaKe.cjs.map +0 -1
  736. package/dist/nl-UaKnUkiF.cjs +0 -43
  737. package/dist/nl-UaKnUkiF.cjs.map +0 -1
  738. package/dist/pl-BTpBOJRd.mjs +0 -74
  739. package/dist/pl-BTpBOJRd.mjs.map +0 -1
  740. package/dist/pl-Bc5PLKWA.cjs +0 -30
  741. package/dist/pl-Bc5PLKWA.cjs.map +0 -1
  742. package/dist/pl-BhYoyqAF.mjs +0 -125
  743. package/dist/pl-BhYoyqAF.mjs.map +0 -1
  744. package/dist/pl-CK-QOBHU.cjs +0 -43
  745. package/dist/pl-CK-QOBHU.cjs.map +0 -1
  746. package/dist/pl-CMFgAXzQ.mjs +0 -24
  747. package/dist/pl-CMFgAXzQ.mjs.map +0 -1
  748. package/dist/pl-CuCpTUw8.cjs +0 -80
  749. package/dist/pl-CuCpTUw8.cjs.map +0 -1
  750. package/dist/pl-Dhgn2yX2.cjs +0 -131
  751. package/dist/pl-Dhgn2yX2.cjs.map +0 -1
  752. package/dist/pl-QhF51ZKE.mjs +0 -37
  753. package/dist/pl-QhF51ZKE.mjs.map +0 -1
  754. package/dist/pt-BLHjWaSa.cjs +0 -43
  755. package/dist/pt-BLHjWaSa.cjs.map +0 -1
  756. package/dist/pt-BNcmRTXF.mjs +0 -125
  757. package/dist/pt-BNcmRTXF.mjs.map +0 -1
  758. package/dist/pt-Bk5lU5Bq.cjs +0 -30
  759. package/dist/pt-Bk5lU5Bq.cjs.map +0 -1
  760. package/dist/pt-Bo9r1x0D.cjs +0 -131
  761. package/dist/pt-Bo9r1x0D.cjs.map +0 -1
  762. package/dist/pt-CRWFsKEU.mjs +0 -37
  763. package/dist/pt-CRWFsKEU.mjs.map +0 -1
  764. package/dist/pt-DK2uIFjk.mjs +0 -24
  765. package/dist/pt-DK2uIFjk.mjs.map +0 -1
  766. package/dist/pt-DidvCPJO.mjs +0 -74
  767. package/dist/pt-DidvCPJO.mjs.map +0 -1
  768. package/dist/pt-gwAOG4ye.cjs +0 -80
  769. package/dist/pt-gwAOG4ye.cjs.map +0 -1
  770. package/dist/ro-0CezOHmT.cjs +0 -80
  771. package/dist/ro-0CezOHmT.cjs.map +0 -1
  772. package/dist/ro-B3zGlIxa.cjs +0 -30
  773. package/dist/ro-B3zGlIxa.cjs.map +0 -1
  774. package/dist/ro-D7ttD6wI.mjs +0 -24
  775. package/dist/ro-D7ttD6wI.mjs.map +0 -1
  776. package/dist/ro-DIuZ_x0Y.mjs +0 -125
  777. package/dist/ro-DIuZ_x0Y.mjs.map +0 -1
  778. package/dist/ro-DPmaLEta.cjs +0 -131
  779. package/dist/ro-DPmaLEta.cjs.map +0 -1
  780. package/dist/ro-DeurRKLx.mjs +0 -37
  781. package/dist/ro-DeurRKLx.mjs.map +0 -1
  782. package/dist/ro-nugOenVq.cjs +0 -43
  783. package/dist/ro-nugOenVq.cjs.map +0 -1
  784. package/dist/ro-uWPaYSks.mjs +0 -74
  785. package/dist/ro-uWPaYSks.mjs.map +0 -1
  786. package/dist/ru-AaRaNSOD.cjs +0 -80
  787. package/dist/ru-AaRaNSOD.cjs.map +0 -1
  788. package/dist/ru-B9QN1Xa3.cjs +0 -30
  789. package/dist/ru-B9QN1Xa3.cjs.map +0 -1
  790. package/dist/ru-C127BOjG.mjs +0 -125
  791. package/dist/ru-C127BOjG.mjs.map +0 -1
  792. package/dist/ru-C72sfdMa.mjs +0 -24
  793. package/dist/ru-C72sfdMa.mjs.map +0 -1
  794. package/dist/ru-CYExV0AV.cjs +0 -131
  795. package/dist/ru-CYExV0AV.cjs.map +0 -1
  796. package/dist/ru-D9P2Trsv.mjs +0 -74
  797. package/dist/ru-D9P2Trsv.mjs.map +0 -1
  798. package/dist/ru-DH4xf5h_.cjs +0 -43
  799. package/dist/ru-DH4xf5h_.cjs.map +0 -1
  800. package/dist/ru-DbmM_yGB.mjs +0 -37
  801. package/dist/ru-DbmM_yGB.mjs.map +0 -1
  802. package/dist/th-BFt4w61B.cjs +0 -30
  803. package/dist/th-BFt4w61B.cjs.map +0 -1
  804. package/dist/th-BG8R3dAP.cjs +0 -43
  805. package/dist/th-BG8R3dAP.cjs.map +0 -1
  806. package/dist/th-BJlArNGG.mjs +0 -24
  807. package/dist/th-BJlArNGG.mjs.map +0 -1
  808. package/dist/th-BavxQWOu.cjs +0 -131
  809. package/dist/th-BavxQWOu.cjs.map +0 -1
  810. package/dist/th-CGTuBtiC.mjs +0 -37
  811. package/dist/th-CGTuBtiC.mjs.map +0 -1
  812. package/dist/th-a1Jy5C_d.cjs +0 -80
  813. package/dist/th-a1Jy5C_d.cjs.map +0 -1
  814. package/dist/th-h90suc6n.mjs +0 -125
  815. package/dist/th-h90suc6n.mjs.map +0 -1
  816. package/dist/th-zwlwoiv6.mjs +0 -74
  817. package/dist/th-zwlwoiv6.mjs.map +0 -1
  818. package/dist/tl-BHwQDhWD.mjs +0 -125
  819. package/dist/tl-BHwQDhWD.mjs.map +0 -1
  820. package/dist/tl-BoIi6HWk.cjs +0 -131
  821. package/dist/tl-BoIi6HWk.cjs.map +0 -1
  822. package/dist/tl-BsGu5Py0.mjs +0 -24
  823. package/dist/tl-BsGu5Py0.mjs.map +0 -1
  824. package/dist/tl-ByorVCxH.cjs +0 -43
  825. package/dist/tl-ByorVCxH.cjs.map +0 -1
  826. package/dist/tl-C2azJUgn.mjs +0 -74
  827. package/dist/tl-C2azJUgn.mjs.map +0 -1
  828. package/dist/tl-Ce-0Cpm6.cjs +0 -30
  829. package/dist/tl-Ce-0Cpm6.cjs.map +0 -1
  830. package/dist/tl-DN6DtBpZ.cjs +0 -80
  831. package/dist/tl-DN6DtBpZ.cjs.map +0 -1
  832. package/dist/tl-DytTStSw.mjs +0 -37
  833. package/dist/tl-DytTStSw.mjs.map +0 -1
  834. package/dist/tr-5RnbIa4c.mjs +0 -24
  835. package/dist/tr-5RnbIa4c.mjs.map +0 -1
  836. package/dist/tr-8c97dqrL.cjs +0 -131
  837. package/dist/tr-8c97dqrL.cjs.map +0 -1
  838. package/dist/tr-BT6N_Wus.mjs +0 -74
  839. package/dist/tr-BT6N_Wus.mjs.map +0 -1
  840. package/dist/tr-BedGdI5d.cjs +0 -80
  841. package/dist/tr-BedGdI5d.cjs.map +0 -1
  842. package/dist/tr-BouBqgCB.mjs +0 -125
  843. package/dist/tr-BouBqgCB.mjs.map +0 -1
  844. package/dist/tr-D6eImzZD.mjs +0 -37
  845. package/dist/tr-D6eImzZD.mjs.map +0 -1
  846. package/dist/tr-DcRheecc.cjs +0 -43
  847. package/dist/tr-DcRheecc.cjs.map +0 -1
  848. package/dist/tr-De6vY4Jr.cjs +0 -30
  849. package/dist/tr-De6vY4Jr.cjs.map +0 -1
  850. package/dist/zh_CN-BQsZQZhr.mjs +0 -74
  851. package/dist/zh_CN-BQsZQZhr.mjs.map +0 -1
  852. package/dist/zh_CN-BokVyKnZ.cjs +0 -80
  853. package/dist/zh_CN-BokVyKnZ.cjs.map +0 -1
  854. package/dist/zh_CN-COIJjtl4.mjs +0 -37
  855. package/dist/zh_CN-COIJjtl4.mjs.map +0 -1
  856. package/dist/zh_CN-Cj5fwlCh.mjs +0 -24
  857. package/dist/zh_CN-Cj5fwlCh.mjs.map +0 -1
  858. package/dist/zh_CN-Cr8k96O_.cjs +0 -131
  859. package/dist/zh_CN-Cr8k96O_.cjs.map +0 -1
  860. package/dist/zh_CN-CtrM9Bt7.mjs +0 -125
  861. package/dist/zh_CN-CtrM9Bt7.mjs.map +0 -1
  862. package/dist/zh_CN-CubDPpC6.cjs +0 -43
  863. package/dist/zh_CN-CubDPpC6.cjs.map +0 -1
  864. package/dist/zh_CN-CyFIfnPm.cjs +0 -30
  865. package/dist/zh_CN-CyFIfnPm.cjs.map +0 -1
  866. package/dist/zh_TW-BQjHIF9g.cjs +0 -80
  867. package/dist/zh_TW-BQjHIF9g.cjs.map +0 -1
  868. package/dist/zh_TW-BrH-zluV.cjs +0 -43
  869. package/dist/zh_TW-BrH-zluV.cjs.map +0 -1
  870. package/dist/zh_TW-Cs0GkiU5.cjs +0 -30
  871. package/dist/zh_TW-Cs0GkiU5.cjs.map +0 -1
  872. package/dist/zh_TW-DB4Om9FX.mjs +0 -37
  873. package/dist/zh_TW-DB4Om9FX.mjs.map +0 -1
  874. package/dist/zh_TW-DdCGAeE-.mjs +0 -125
  875. package/dist/zh_TW-DdCGAeE-.mjs.map +0 -1
  876. package/dist/zh_TW-MAOS8yS2.mjs +0 -74
  877. package/dist/zh_TW-MAOS8yS2.mjs.map +0 -1
  878. package/dist/zh_TW-Q6KxkIVE.mjs +0 -24
  879. package/dist/zh_TW-Q6KxkIVE.mjs.map +0 -1
  880. package/dist/zh_TW-jgCKq0gP.cjs +0 -131
  881. package/dist/zh_TW-jgCKq0gP.cjs.map +0 -1
@@ -1,2214 +0,0 @@
1
- import { n as useAddressAutocompleteApi } from "./api-context-3GmfqvIB.mjs";
2
- import { i as createTranslationContext, n as createDomainTranslations, o as useActiveLocale, r as useDomainDict, t as createStaticDictAdapter } from "./static-dict-adapter-OprHuHgs.mjs";
3
- import { B as DropdownMenuContent, C as SelectContent, Cn as cn, E as SelectValue, G as DropdownMenuSeparator, Q as DialogContent, R as Label, S as Select, Sn as useZodForm, T as SelectTrigger, V as DropdownMenuItem, X as Dialog, Y as DropdownMenuTrigger, Z as DialogClose, a as Textarea, et as DialogFooter, it as DialogTitle, k as Input, tt as DialogHeader, vn as Button, w as SelectItem, z as DropdownMenu } from "./src-Dk1FJOX0.mjs";
4
- import { createContext, useCallback, useContext, useEffect, useMemo, useRef, useState } from "react";
5
- import "@tanstack/react-query";
6
- import { Fragment as Fragment$1, jsx, jsxs } from "react/jsx-runtime";
7
- import { Info, Trash2 } from "lucide-react";
8
- import { Controller, useController, useWatch } from "react-hook-form";
9
- import { z } from "zod";
10
- //#region ../../profile/core/src/translation-api-context.ts
11
- const { Provider, useTranslation } = createTranslationContext("Profile");
12
- const ProfileTranslationProvider = Provider;
13
- const useProfileTranslation = useTranslation;
14
- //#endregion
15
- //#region ../../profile/core/src/translation-adapter.ts
16
- const profileDomain = createDomainTranslations({
17
- fallback: {
18
- breadcrumb: "Profile",
19
- edit_profile: "Edit Profile",
20
- first_name: "First Name",
21
- last_name: "Last Name",
22
- phone_number: "Phone Number",
23
- bio: "Bio",
24
- add_a_short_bio: "Add a short bio",
25
- language: "Language",
26
- first_name_is_required: "First name is required",
27
- last_name_is_required: "Last name is required",
28
- language_is_required: "Language is required",
29
- saving: "Saving...",
30
- save_changes: "Save Changes",
31
- select_an_option: "Select an option",
32
- points_history: "Points History",
33
- points_available: "Points Available",
34
- points_awarded: "Points Awarded",
35
- points_redeemed: "Points Redeemed",
36
- transaction: "Transaction",
37
- no_points_history_found: "No points history found",
38
- email: "Email",
39
- shipping_addresses: "Shipping Addresses",
40
- add_an_address: "Add an Address",
41
- delete_address: "Delete Address",
42
- delete_address_message: "Are you sure you want to delete this address? This action cannot be undone.",
43
- delete: "Delete",
44
- no_saved_addresses_found: "No saved addresses found",
45
- add_address: "Add Address",
46
- edit_address: "Edit Address",
47
- set_as_default_address: "Set as default address",
48
- save_address: "Save Address",
49
- card_number: "Card Number",
50
- expiration_date: "Expiration (MM / YY)",
51
- cvc: "CVC",
52
- cardholder_name: "Cardholder Name",
53
- add_credit_card: "Add Credit Card",
54
- save_card: "Save Card",
55
- securing: "Loading secure form...",
56
- payment_methods: "Payment Methods",
57
- add_payment_method: "Add Payment Method",
58
- delete_credit_card: "Delete Credit Card",
59
- delete_credit_card_message: "Are you sure you want to delete this payment method? This action cannot be undone.",
60
- delete_card: "Delete card",
61
- deleting: "Deleting...",
62
- tap_to_confirm: "Tap to confirm",
63
- edit_card: "Card Details",
64
- billing_address: "Billing Address",
65
- country: "Country",
66
- name: "Name",
67
- address_line_1: "Address Line 1",
68
- address_line_2: "Address Line 2",
69
- city: "City",
70
- state: "State",
71
- province: "Province",
72
- zip_code: "Zip Code",
73
- postal_code: "Postal Code",
74
- select_state: "Select state",
75
- set_as_default_payment_method: "Set as default payment method",
76
- cancel: "Cancel",
77
- save: "Save",
78
- close: "Close",
79
- edit: "Edit",
80
- default: "Default",
81
- card_expires: "Expires",
82
- no_billing_address: "No billing address on file",
83
- default_payment_method_updated: "Payment method updated",
84
- failed_to_set_default_payment_method: "Failed to update payment method"
85
- },
86
- loaders: {
87
- de: () => import("./de-8f8CBqQz.mjs").then((m) => m.default),
88
- el: () => import("./el-BGxr23AZ.mjs").then((m) => m.default),
89
- es: () => import("./es-DwVnFc84.mjs").then((m) => m.default),
90
- fr: () => import("./fr-C0Oj4xnv.mjs").then((m) => m.default),
91
- he: () => import("./he-B4cg1J00.mjs").then((m) => m.default),
92
- hu: () => import("./hu-IZ3Wz8XP.mjs").then((m) => m.default),
93
- id: () => import("./id-DI4Mmfx0.mjs").then((m) => m.default),
94
- it: () => import("./it-CnIs_n8L.mjs").then((m) => m.default),
95
- ja: () => import("./ja-B-YZ7YHO.mjs").then((m) => m.default),
96
- ko: () => import("./ko-BfySQ1ZI.mjs").then((m) => m.default),
97
- nl: () => import("./nl-D6QZWEm6.mjs").then((m) => m.default),
98
- pl: () => import("./pl-BTpBOJRd.mjs").then((m) => m.default),
99
- pt: () => import("./pt-DidvCPJO.mjs").then((m) => m.default),
100
- ro: () => import("./ro-uWPaYSks.mjs").then((m) => m.default),
101
- ru: () => import("./ru-D9P2Trsv.mjs").then((m) => m.default),
102
- th: () => import("./th-zwlwoiv6.mjs").then((m) => m.default),
103
- tl: () => import("./tl-C2azJUgn.mjs").then((m) => m.default),
104
- tr: () => import("./tr-BT6N_Wus.mjs").then((m) => m.default),
105
- zh_CN: () => import("./zh_CN-BQsZQZhr.mjs").then((m) => m.default),
106
- zh_TW: () => import("./zh_TW-MAOS8yS2.mjs").then((m) => m.default)
107
- }
108
- });
109
- function createProfileTranslationAdapter(locale, dict) {
110
- return createStaticDictAdapter(locale, dict);
111
- }
112
- //#endregion
113
- //#region src/providers/ProfileTranslationBridge.tsx
114
- function ProfileTranslationBridge({ children }) {
115
- const { locale } = useActiveLocale();
116
- const dict = useDomainDict(profileDomain, locale);
117
- return /* @__PURE__ */ jsx(ProfileTranslationProvider, {
118
- value: useMemo(() => createProfileTranslationAdapter(locale, dict), [locale, dict]),
119
- children
120
- });
121
- }
122
- //#endregion
123
- //#region ../../profile/ui/src/components/ellipses-dropdown.tsx
124
- function EllipsesDropdown({ onDelete, onEdit, onMakeDefault, editLabel = "Edit", deleteLabel = "Delete", makeDefaultLabel = "Make Default", disabled = false }) {
125
- if (disabled) return /* @__PURE__ */ jsx(Button, {
126
- variant: "ghost",
127
- disabled: true,
128
- children: /* @__PURE__ */ jsx("svg", {
129
- xmlns: "http://www.w3.org/2000/svg",
130
- viewBox: "0 0 128 512",
131
- className: "fill-muted-foreground h-4 w-1",
132
- children: /* @__PURE__ */ jsx("path", { d: "M64 360a56 56 0 1 0 0 112 56 56 0 1 0 0-112zm0-160a56 56 0 1 0 0 112 56 56 0 1 0 0-112zM120 96A56 56 0 1 0 8 96a56 56 0 1 0 112 0z" })
133
- })
134
- });
135
- return /* @__PURE__ */ jsxs(DropdownMenu, { children: [/* @__PURE__ */ jsx(DropdownMenuTrigger, {
136
- asChild: true,
137
- children: /* @__PURE__ */ jsx(Button, {
138
- variant: "ghost",
139
- children: /* @__PURE__ */ jsx("svg", {
140
- xmlns: "http://www.w3.org/2000/svg",
141
- viewBox: "0 0 128 512",
142
- className: "fill-muted-foreground h-4 w-1",
143
- children: /* @__PURE__ */ jsx("path", { d: "M64 360a56 56 0 1 0 0 112 56 56 0 1 0 0-112zm0-160a56 56 0 1 0 0 112 56 56 0 1 0 0-112zM120 96A56 56 0 1 0 8 96a56 56 0 1 0 112 0z" })
144
- })
145
- })
146
- }), /* @__PURE__ */ jsxs(DropdownMenuContent, {
147
- className: "text-foreground min-w-28 space-y-1 text-sm",
148
- children: [
149
- onEdit && /* @__PURE__ */ jsxs(Fragment$1, { children: [/* @__PURE__ */ jsxs(DropdownMenuItem, {
150
- className: "hover:bg-muted flex cursor-pointer flex-row items-center gap-x-2 rounded px-2",
151
- onClick: (e) => {
152
- e.stopPropagation();
153
- onEdit();
154
- },
155
- children: [/* @__PURE__ */ jsx("svg", {
156
- xmlns: "http://www.w3.org/2000/svg",
157
- fill: "none",
158
- viewBox: "0 0 24 24",
159
- strokeWidth: 1.5,
160
- stroke: "currentColor",
161
- className: "h-3.5 w-3.5 flex-shrink-0",
162
- children: /* @__PURE__ */ jsx("path", {
163
- strokeLinecap: "round",
164
- strokeLinejoin: "round",
165
- d: "m16.862 4.487 1.687-1.688a1.875 1.875 0 1 1 2.652 2.652L10.582 16.07a4.5 4.5 0 0 1-1.897 1.13L6 18l.8-2.685a4.5 4.5 0 0 1 1.13-1.897l8.932-8.931Zm0 0L19.5 7.125M18 14v4.75A2.25 2.25 0 0 1 15.75 21H5.25A2.25 2.25 0 0 1 3 18.75V8.25A2.25 2.25 0 0 1 5.25 6H10"
166
- })
167
- }), /* @__PURE__ */ jsx("span", { children: editLabel })]
168
- }), /* @__PURE__ */ jsx(DropdownMenuSeparator, {})] }),
169
- onMakeDefault && /* @__PURE__ */ jsxs(Fragment$1, { children: [/* @__PURE__ */ jsxs(DropdownMenuItem, {
170
- className: "hover:bg-muted flex cursor-pointer flex-row items-center gap-x-2 rounded px-2",
171
- onClick: (e) => {
172
- e.stopPropagation();
173
- onMakeDefault();
174
- },
175
- children: [/* @__PURE__ */ jsx("svg", {
176
- xmlns: "http://www.w3.org/2000/svg",
177
- fill: "none",
178
- viewBox: "0 0 24 24",
179
- strokeWidth: 1.5,
180
- stroke: "currentColor",
181
- className: "h-3.5 w-3.5 flex-shrink-0",
182
- children: /* @__PURE__ */ jsx("path", {
183
- strokeLinecap: "round",
184
- strokeLinejoin: "round",
185
- d: "m4.5 12.75 6 6 9-13.5"
186
- })
187
- }), /* @__PURE__ */ jsx("span", { children: makeDefaultLabel })]
188
- }), /* @__PURE__ */ jsx(DropdownMenuSeparator, {})] }),
189
- /* @__PURE__ */ jsxs(DropdownMenuItem, {
190
- className: "text-destructive hover:bg-destructive/10 flex cursor-pointer flex-row items-center gap-x-2 rounded px-2",
191
- onClick: (e) => {
192
- e.stopPropagation();
193
- onDelete?.();
194
- },
195
- children: [/* @__PURE__ */ jsx("svg", {
196
- xmlns: "http://www.w3.org/2000/svg",
197
- fill: "none",
198
- viewBox: "0 0 24 24",
199
- strokeWidth: 1.5,
200
- stroke: "currentColor",
201
- className: "h-3.5 w-3.5 flex-shrink-0",
202
- children: /* @__PURE__ */ jsx("path", {
203
- strokeLinecap: "round",
204
- strokeLinejoin: "round",
205
- d: "m14.74 9-.346 9m-4.788 0L9.26 9m9.968-3.21c.342.052.682.107 1.022.166m-1.022-.165L18.16 19.673a2.25 2.25 0 0 1-2.244 2.077H8.084a2.25 2.25 0 0 1-2.244-2.077L4.772 5.79m14.456 0a48.108 48.108 0 0 0-3.478-.397m-12 .562c.34-.059.68-.114 1.022-.165m0 0a48.11 48.11 0 0 1 3.478-.397m7.5 0v-.916c0-1.18-.91-2.164-2.09-2.201a51.964 51.964 0 0 0-3.32 0c-1.18.037-2.09 1.022-2.09 2.201v.916m7.5 0a48.667 48.667 0 0 0-7.5 0"
206
- })
207
- }), /* @__PURE__ */ jsx("span", { children: deleteLabel })]
208
- })
209
- ]
210
- })] });
211
- }
212
- //#endregion
213
- //#region ../../profile/ui/src/components/confirm-action-dialog.tsx
214
- function ConfirmActionDialog({ title, description, onAction, openDialog, setOpenDialog, errorMsg, isLoading, actionText = "Delete" }) {
215
- const { t } = useProfileTranslation();
216
- return /* @__PURE__ */ jsx(Dialog, {
217
- open: openDialog,
218
- onOpenChange: setOpenDialog,
219
- children: /* @__PURE__ */ jsxs(DialogContent, {
220
- className: "max-w-sm md:w-90",
221
- children: [
222
- /* @__PURE__ */ jsx(DialogHeader, {
223
- className: "flex flex-row justify-between",
224
- children: /* @__PURE__ */ jsx(DialogTitle, {
225
- className: "w-full text-left",
226
- children: title
227
- })
228
- }),
229
- /* @__PURE__ */ jsx("div", {
230
- className: "space-y-4",
231
- children: /* @__PURE__ */ jsx("p", {
232
- className: "text-muted-foreground text-left text-sm",
233
- children: description
234
- })
235
- }),
236
- errorMsg && /* @__PURE__ */ jsx("p", {
237
- className: "text-destructive text-sm",
238
- children: errorMsg
239
- }),
240
- /* @__PURE__ */ jsx(DialogFooter, { children: /* @__PURE__ */ jsxs("div", {
241
- className: "flex w-full flex-row justify-between space-x-2",
242
- children: [/* @__PURE__ */ jsx(DialogClose, {
243
- asChild: true,
244
- children: /* @__PURE__ */ jsx(Button, {
245
- variant: "secondary",
246
- className: "min-w-[70px]",
247
- onClick: () => setOpenDialog(false),
248
- children: t("cancel")
249
- })
250
- }), /* @__PURE__ */ jsx(Button, {
251
- type: "button",
252
- variant: "destructive",
253
- className: "min-w-[70px]",
254
- onClick: onAction,
255
- disabled: isLoading,
256
- children: isLoading ? /* @__PURE__ */ jsx("div", { className: "border-primary-foreground h-5 w-5 animate-spin rounded-full border-4 border-t-4 border-t-transparent" }) : actionText
257
- })]
258
- }) })
259
- ]
260
- })
261
- });
262
- }
263
- //#endregion
264
- //#region ../../profile/ui/src/components/form-fields.tsx
265
- function FormTextField$1({ control, name, label, containerClassName, ...props }) {
266
- const { field, fieldState: { error } } = useController({
267
- name,
268
- control
269
- });
270
- return /* @__PURE__ */ jsxs("div", {
271
- className: cn("space-y-1", containerClassName),
272
- children: [
273
- label && /* @__PURE__ */ jsx(Label, {
274
- htmlFor: name,
275
- className: "mb-1.5 block text-sm font-medium",
276
- children: label
277
- }),
278
- /* @__PURE__ */ jsx(Input, {
279
- ...field,
280
- ...props,
281
- id: name,
282
- value: field.value ?? "",
283
- className: cn(error && "ring-destructive ring-1", props.className)
284
- }),
285
- error && /* @__PURE__ */ jsx("p", {
286
- className: "text-destructive text-sm",
287
- children: error.message
288
- })
289
- ]
290
- });
291
- }
292
- function FormTextareaField({ control, name, label, containerClassName, ...props }) {
293
- const { field, fieldState: { error } } = useController({
294
- name,
295
- control
296
- });
297
- return /* @__PURE__ */ jsxs("div", {
298
- className: cn("space-y-1", containerClassName),
299
- children: [
300
- label && /* @__PURE__ */ jsx(Label, {
301
- htmlFor: name,
302
- className: "mb-1.5 block text-sm font-medium",
303
- children: label
304
- }),
305
- /* @__PURE__ */ jsx(Textarea, {
306
- ...field,
307
- ...props,
308
- id: name,
309
- value: field.value ?? "",
310
- className: cn(error && "ring-destructive ring-1", props.className)
311
- }),
312
- error && /* @__PURE__ */ jsx("p", {
313
- className: "text-destructive text-sm",
314
- children: error.message
315
- })
316
- ]
317
- });
318
- }
319
- function FormSelectField$1({ control, name, label, options, placeholder, containerClassName, onChange }) {
320
- const { field, fieldState: { error } } = useController({
321
- name,
322
- control
323
- });
324
- return /* @__PURE__ */ jsxs("div", {
325
- className: cn("space-y-1", containerClassName),
326
- children: [
327
- label && /* @__PURE__ */ jsx(Label, {
328
- htmlFor: name,
329
- className: "block text-sm font-medium",
330
- children: label
331
- }),
332
- /* @__PURE__ */ jsxs(Select, {
333
- value: field.value?.toString() ?? "",
334
- onValueChange: (val) => {
335
- field.onChange(val);
336
- onChange?.(val);
337
- },
338
- children: [/* @__PURE__ */ jsx(SelectTrigger, {
339
- id: name,
340
- className: cn("w-full", error && "ring-destructive ring-1"),
341
- children: /* @__PURE__ */ jsx(SelectValue, { placeholder })
342
- }), /* @__PURE__ */ jsx(SelectContent, { children: options?.map((opt) => /* @__PURE__ */ jsx(SelectItem, {
343
- value: opt.value.toString(),
344
- children: opt.name
345
- }, `${opt.name}-${opt.value}`)) })]
346
- }),
347
- error && /* @__PURE__ */ jsx("p", {
348
- className: "text-destructive text-sm",
349
- children: error.message
350
- })
351
- ]
352
- });
353
- }
354
- //#endregion
355
- //#region ../../profile/ui/src/components/user-info-dialog.tsx
356
- function UserInfoDialog({ control, isOpen, onSubmit, handleClose, languageOptions, errorMsg, isSubmitting, email, onChangeEmail, isChangingEmail, pendingEmail }) {
357
- const { t } = useProfileTranslation();
358
- const [isEditingEmail, setIsEditingEmail] = useState(false);
359
- const [newEmail, setNewEmail] = useState("");
360
- const [emailError, setEmailError] = useState(void 0);
361
- const handleEmailSubmit = async () => {
362
- setEmailError(void 0);
363
- const trimmed = newEmail.trim();
364
- if (!trimmed) {
365
- setEmailError("Please enter a new email address");
366
- return;
367
- }
368
- if (!/^[^\s@]+@[^\s@]+\.[^\s@]+$/.test(trimmed)) {
369
- setEmailError("Please enter a valid email address");
370
- return;
371
- }
372
- if (email && trimmed.toLowerCase() === email.toLowerCase()) {
373
- setEmailError("New email must be different from your current email");
374
- return;
375
- }
376
- try {
377
- await onChangeEmail?.(trimmed);
378
- setIsEditingEmail(false);
379
- setNewEmail("");
380
- } catch (err) {
381
- setEmailError(err instanceof Error ? err.message : "Failed to initiate email change");
382
- }
383
- };
384
- const handleCancelEmailEdit = () => {
385
- setIsEditingEmail(false);
386
- setNewEmail("");
387
- setEmailError(void 0);
388
- };
389
- const handleDialogClose = () => {
390
- handleCancelEmailEdit();
391
- handleClose();
392
- };
393
- return /* @__PURE__ */ jsx(Dialog, {
394
- open: isOpen,
395
- onOpenChange: (open) => !open && handleDialogClose(),
396
- children: /* @__PURE__ */ jsxs(DialogContent, {
397
- className: "max-w-sm md:max-w-lg",
398
- children: [
399
- /* @__PURE__ */ jsx(DialogHeader, { children: /* @__PURE__ */ jsx(DialogTitle, { children: t("edit_profile") }) }),
400
- /* @__PURE__ */ jsxs("div", {
401
- className: "space-y-4",
402
- children: [
403
- /* @__PURE__ */ jsx(FormTextField$1, {
404
- control,
405
- name: "first_name",
406
- label: t("first_name")
407
- }),
408
- /* @__PURE__ */ jsx(FormTextField$1, {
409
- control,
410
- name: "last_name",
411
- label: t("last_name")
412
- }),
413
- /* @__PURE__ */ jsx(FormTextField$1, {
414
- control,
415
- name: "phone_number",
416
- label: t("phone_number"),
417
- type: "tel"
418
- }),
419
- /* @__PURE__ */ jsx(FormTextareaField, {
420
- control,
421
- name: "bio",
422
- label: t("bio"),
423
- rows: 3,
424
- placeholder: t("add_a_short_bio")
425
- }),
426
- /* @__PURE__ */ jsx(FormSelectField$1, {
427
- control,
428
- name: "language",
429
- label: t("language"),
430
- options: languageOptions,
431
- placeholder: t("select_an_option")
432
- })
433
- ]
434
- }),
435
- email && /* @__PURE__ */ jsxs("div", {
436
- className: "space-y-2",
437
- children: [/* @__PURE__ */ jsx("label", {
438
- className: "text-foreground text-sm font-medium",
439
- children: t("email") || "Email"
440
- }), isEditingEmail ? /* @__PURE__ */ jsxs("div", {
441
- className: "space-y-2",
442
- children: [
443
- /* @__PURE__ */ jsx(Input, {
444
- type: "email",
445
- placeholder: "Enter your new email...",
446
- value: newEmail,
447
- onChange: (e) => {
448
- setNewEmail(e.target.value);
449
- setEmailError(void 0);
450
- },
451
- onKeyDown: (e) => {
452
- if (e.key === "Enter") {
453
- e.preventDefault();
454
- handleEmailSubmit();
455
- }
456
- if (e.key === "Escape") handleCancelEmailEdit();
457
- },
458
- "aria-invalid": !!emailError || void 0,
459
- autoFocus: true
460
- }),
461
- emailError && /* @__PURE__ */ jsx("p", {
462
- className: "text-destructive text-xs",
463
- children: emailError
464
- }),
465
- /* @__PURE__ */ jsxs("div", {
466
- className: "bg-muted flex items-start gap-2.5 rounded-md px-3 py-2.5",
467
- children: [/* @__PURE__ */ jsx(Info, { className: "text-primary mt-0.5 h-4 w-4 shrink-0" }), /* @__PURE__ */ jsx("p", {
468
- className: "text-muted-foreground text-xs",
469
- children: "We'll send a verification link to your new email. Click it to complete the change."
470
- })]
471
- }),
472
- /* @__PURE__ */ jsxs("div", {
473
- className: "flex gap-2",
474
- children: [/* @__PURE__ */ jsx(Button, {
475
- type: "button",
476
- variant: "outline",
477
- size: "sm",
478
- onClick: handleCancelEmailEdit,
479
- children: "Cancel"
480
- }), /* @__PURE__ */ jsxs(Button, {
481
- type: "button",
482
- size: "sm",
483
- onClick: handleEmailSubmit,
484
- disabled: !newEmail.trim() || isChangingEmail,
485
- children: [isChangingEmail && /* @__PURE__ */ jsx("div", { className: "mr-2 h-3.5 w-3.5 animate-spin rounded-full border-2 border-current/30 border-t-current" }), isChangingEmail ? "Sending..." : "Send verification"]
486
- })]
487
- })
488
- ]
489
- }) : pendingEmail ? /* @__PURE__ */ jsxs("div", {
490
- className: "space-y-2",
491
- children: [/* @__PURE__ */ jsx("div", {
492
- className: "bg-muted text-muted-foreground min-w-0 rounded-md px-3 py-2 text-sm",
493
- children: email
494
- }), /* @__PURE__ */ jsxs("div", {
495
- className: "bg-muted flex items-start gap-2.5 rounded-md px-3 py-2.5",
496
- children: [/* @__PURE__ */ jsx(Info, { className: "text-primary mt-0.5 h-4 w-4 shrink-0" }), /* @__PURE__ */ jsxs("p", {
497
- className: "text-muted-foreground text-xs",
498
- children: [
499
- "Changing to",
500
- " ",
501
- /* @__PURE__ */ jsx("span", {
502
- className: "text-foreground font-medium",
503
- children: pendingEmail
504
- }),
505
- ". Check your new email inbox and click the verification link to complete the change."
506
- ]
507
- })]
508
- })]
509
- }) : /* @__PURE__ */ jsxs("div", {
510
- className: "flex items-center gap-2",
511
- children: [/* @__PURE__ */ jsx("div", {
512
- className: "bg-muted text-muted-foreground min-w-0 flex-1 rounded-md px-3 py-2 text-sm",
513
- children: email
514
- }), onChangeEmail && /* @__PURE__ */ jsx(Button, {
515
- type: "button",
516
- variant: "outline",
517
- size: "sm",
518
- onClick: () => setIsEditingEmail(true),
519
- className: "shrink-0",
520
- children: "Change"
521
- })]
522
- })]
523
- }),
524
- errorMsg && /* @__PURE__ */ jsx("p", {
525
- className: "text-destructive text-sm",
526
- children: errorMsg
527
- }),
528
- /* @__PURE__ */ jsx(DialogFooter, {
529
- className: "flex flex-row items-center justify-end",
530
- children: /* @__PURE__ */ jsx("div", {
531
- className: "flex-1 text-right",
532
- children: /* @__PURE__ */ jsxs(Button, {
533
- type: "button",
534
- onClick: onSubmit,
535
- children: [isSubmitting && /* @__PURE__ */ jsx("div", { className: "mr-2 h-4 w-4 animate-spin rounded-full border-2 border-current/30 border-t-current" }), isSubmitting ? t("saving") : t("save_changes")]
536
- })
537
- })
538
- })
539
- ]
540
- })
541
- });
542
- }
543
- //#endregion
544
- //#region ../../profile/ui/src/components/payment-method-card-internals.tsx
545
- const PAYMENT_ICON_BASE = "https://assets.fluid.app/images/payment_icons";
546
- const GENERIC_PAYMENT_ICON = `${PAYMENT_ICON_BASE}/generic.svg`;
547
- function brandIconUrl(brand) {
548
- if (!brand) return GENERIC_PAYMENT_ICON;
549
- return `${PAYMENT_ICON_BASE}/${brand.toLowerCase().replace(/\s+/g, "_")}.svg`;
550
- }
551
- function PaymentIcon({ logoUrl, brand, alt }) {
552
- const computedSrc = logoUrl || brandIconUrl(brand);
553
- const [hasError, setHasError] = useState(false);
554
- return /* @__PURE__ */ jsx("img", {
555
- src: hasError ? GENERIC_PAYMENT_ICON : computedSrc,
556
- alt,
557
- width: 40,
558
- height: 24,
559
- className: "object-contain",
560
- onError: () => setHasError(true)
561
- });
562
- }
563
- function getCardDisplayName(paymentMethod) {
564
- const lastFour = paymentMethod.details.last_four;
565
- if (lastFour != null || paymentMethod.payment_type === "Credit Card") return `${paymentMethod.details.card_type || "Card"} •••• ${lastFour || "••••"}`;
566
- return paymentMethod.payment_type;
567
- }
568
- function getCardExpiry(paymentMethod) {
569
- const { exp_month, exp_year } = paymentMethod.details;
570
- if (exp_month != null && exp_year != null) return `Expires ${exp_month}/${exp_year}`;
571
- return "";
572
- }
573
- //#endregion
574
- //#region ../../profile/core/src/context.ts
575
- const ProfileUIContext = createContext(null);
576
- //#endregion
577
- //#region ../../profile/core/src/provider.tsx
578
- function ProfileUIProvider({ t, children }) {
579
- const value = useMemo(() => ({ t }), [t]);
580
- return /* @__PURE__ */ jsx(ProfileUIContext.Provider, {
581
- value,
582
- children
583
- });
584
- }
585
- //#endregion
586
- //#region ../../fluid-pay/core/src/context.ts
587
- const FluidPayApiContext = createContext(null);
588
- const FluidPayApiProvider = FluidPayApiContext.Provider;
589
- function useFluidPayApi() {
590
- const api = useContext(FluidPayApiContext);
591
- if (!api) throw new Error("useFluidPayApi must be used within a FluidPayCoreProvider");
592
- return api;
593
- }
594
- //#endregion
595
- //#region ../../fluid-pay/core/src/provider.tsx
596
- function FluidPayCoreProvider({ api, children }) {
597
- return /* @__PURE__ */ jsx(FluidPayApiProvider, {
598
- value: api,
599
- children
600
- });
601
- }
602
- //#endregion
603
- //#region ../../fluid-pay/core/src/utils/country-config.ts
604
- const US_STATES = [
605
- {
606
- name: "Alabama",
607
- isoCode: "AL"
608
- },
609
- {
610
- name: "Alaska",
611
- isoCode: "AK"
612
- },
613
- {
614
- name: "Arizona",
615
- isoCode: "AZ"
616
- },
617
- {
618
- name: "Arkansas",
619
- isoCode: "AR"
620
- },
621
- {
622
- name: "California",
623
- isoCode: "CA"
624
- },
625
- {
626
- name: "Colorado",
627
- isoCode: "CO"
628
- },
629
- {
630
- name: "Connecticut",
631
- isoCode: "CT"
632
- },
633
- {
634
- name: "Delaware",
635
- isoCode: "DE"
636
- },
637
- {
638
- name: "Florida",
639
- isoCode: "FL"
640
- },
641
- {
642
- name: "Georgia",
643
- isoCode: "GA"
644
- },
645
- {
646
- name: "Hawaii",
647
- isoCode: "HI"
648
- },
649
- {
650
- name: "Idaho",
651
- isoCode: "ID"
652
- },
653
- {
654
- name: "Illinois",
655
- isoCode: "IL"
656
- },
657
- {
658
- name: "Indiana",
659
- isoCode: "IN"
660
- },
661
- {
662
- name: "Iowa",
663
- isoCode: "IA"
664
- },
665
- {
666
- name: "Kansas",
667
- isoCode: "KS"
668
- },
669
- {
670
- name: "Kentucky",
671
- isoCode: "KY"
672
- },
673
- {
674
- name: "Louisiana",
675
- isoCode: "LA"
676
- },
677
- {
678
- name: "Maine",
679
- isoCode: "ME"
680
- },
681
- {
682
- name: "Maryland",
683
- isoCode: "MD"
684
- },
685
- {
686
- name: "Massachusetts",
687
- isoCode: "MA"
688
- },
689
- {
690
- name: "Michigan",
691
- isoCode: "MI"
692
- },
693
- {
694
- name: "Minnesota",
695
- isoCode: "MN"
696
- },
697
- {
698
- name: "Mississippi",
699
- isoCode: "MS"
700
- },
701
- {
702
- name: "Missouri",
703
- isoCode: "MO"
704
- },
705
- {
706
- name: "Montana",
707
- isoCode: "MT"
708
- },
709
- {
710
- name: "Nebraska",
711
- isoCode: "NE"
712
- },
713
- {
714
- name: "Nevada",
715
- isoCode: "NV"
716
- },
717
- {
718
- name: "New Hampshire",
719
- isoCode: "NH"
720
- },
721
- {
722
- name: "New Jersey",
723
- isoCode: "NJ"
724
- },
725
- {
726
- name: "New Mexico",
727
- isoCode: "NM"
728
- },
729
- {
730
- name: "New York",
731
- isoCode: "NY"
732
- },
733
- {
734
- name: "North Carolina",
735
- isoCode: "NC"
736
- },
737
- {
738
- name: "North Dakota",
739
- isoCode: "ND"
740
- },
741
- {
742
- name: "Ohio",
743
- isoCode: "OH"
744
- },
745
- {
746
- name: "Oklahoma",
747
- isoCode: "OK"
748
- },
749
- {
750
- name: "Oregon",
751
- isoCode: "OR"
752
- },
753
- {
754
- name: "Pennsylvania",
755
- isoCode: "PA"
756
- },
757
- {
758
- name: "Rhode Island",
759
- isoCode: "RI"
760
- },
761
- {
762
- name: "South Carolina",
763
- isoCode: "SC"
764
- },
765
- {
766
- name: "South Dakota",
767
- isoCode: "SD"
768
- },
769
- {
770
- name: "Tennessee",
771
- isoCode: "TN"
772
- },
773
- {
774
- name: "Texas",
775
- isoCode: "TX"
776
- },
777
- {
778
- name: "Utah",
779
- isoCode: "UT"
780
- },
781
- {
782
- name: "Vermont",
783
- isoCode: "VT"
784
- },
785
- {
786
- name: "Virginia",
787
- isoCode: "VA"
788
- },
789
- {
790
- name: "Washington",
791
- isoCode: "WA"
792
- },
793
- {
794
- name: "West Virginia",
795
- isoCode: "WV"
796
- },
797
- {
798
- name: "Wisconsin",
799
- isoCode: "WI"
800
- },
801
- {
802
- name: "Wyoming",
803
- isoCode: "WY"
804
- },
805
- {
806
- name: "District of Columbia",
807
- isoCode: "DC"
808
- }
809
- ];
810
- const COUNTRY_CONFIGS = {
811
- US: {
812
- regionLabel: "State",
813
- postalLabel: "ZIP Code"
814
- },
815
- JP: {
816
- regionLabel: "Prefecture",
817
- postalLabel: "Postal Code"
818
- }
819
- };
820
- const DEFAULT_REGION_CONFIG = {
821
- regionLabel: "Province",
822
- postalLabel: "Postal Code"
823
- };
824
- function getRegionConfig(countryCode) {
825
- return COUNTRY_CONFIGS[countryCode] ?? DEFAULT_REGION_CONFIG;
826
- }
827
- //#endregion
828
- //#region ../../fluid-pay/core/src/hooks/use-country-states.ts
829
- function useCountryStates() {
830
- const [selectedCountry, setSelectedCountry] = useState("US");
831
- const [stateOptions, setStateOptions] = useState(US_STATES);
832
- return {
833
- handleCountryChange: useCallback((selectedCountryCode, fetchStates) => {
834
- setSelectedCountry(selectedCountryCode);
835
- if (selectedCountryCode === "US") setStateOptions(US_STATES);
836
- else if (fetchStates) fetchStates(selectedCountryCode).then((states) => setStateOptions(states)).catch((error) => {
837
- console.error("Failed to fetch states:", error);
838
- setStateOptions([]);
839
- });
840
- else setStateOptions([]);
841
- }, []),
842
- stateOptions,
843
- config: getRegionConfig(selectedCountry),
844
- selectedCountry
845
- };
846
- }
847
- //#endregion
848
- //#region ../../profile/ui/src/components/edit-payment-method-dialog.tsx
849
- const editPaymentMethodFormSchema = z.object({
850
- billing_address: z.object({
851
- name: z.string().min(1, "Name is required"),
852
- address1: z.string().min(1, "Address line 1 is required"),
853
- address2: z.string().optional().nullable(),
854
- city: z.string().min(1, "City is required"),
855
- state: z.string().min(1, "State is required"),
856
- zip: z.string().min(1, "Zip code is required"),
857
- country_code: z.string().min(1, "Country is required")
858
- }),
859
- set_as_default: z.boolean()
860
- });
861
- function EditPaymentMethodDialog({ isOpen, paymentMethod, billingAddress, onClose, onSubmit, isSubmitting, error, countries = [], onDelete, isDeleting = false }) {
862
- const { t } = useProfileTranslation();
863
- const [confirmDelete, setConfirmDelete] = useState(false);
864
- useEffect(() => {
865
- if (!isOpen) setConfirmDelete(false);
866
- }, [isOpen]);
867
- useEffect(() => {
868
- if (!confirmDelete) return;
869
- const timeoutId = setTimeout(() => setConfirmDelete(false), 3e3);
870
- return () => clearTimeout(timeoutId);
871
- }, [confirmDelete]);
872
- const { control, handleSubmit, reset, setValue } = useZodForm(editPaymentMethodFormSchema, { defaultValues: {
873
- billing_address: {
874
- name: "",
875
- address1: "",
876
- address2: "",
877
- city: "",
878
- state: "",
879
- zip: "",
880
- country_code: "US"
881
- },
882
- set_as_default: false
883
- } });
884
- const billingCountry = useWatch({
885
- control,
886
- name: "billing_address.country_code"
887
- });
888
- const setAsDefault = useWatch({
889
- control,
890
- name: "set_as_default"
891
- });
892
- const { stateOptions, config, handleCountryChange } = useCountryStates();
893
- const countryOptions = [...countries].map((country) => ({
894
- name: country.name,
895
- value: country.iso
896
- })).sort((a, b) => {
897
- if (a.value === billingCountry) return -1;
898
- if (b.value === billingCountry) return 1;
899
- return a.name.localeCompare(b.name);
900
- });
901
- const stateSelectOptions = stateOptions.map((state) => ({
902
- name: state.name,
903
- value: state.isoCode
904
- }));
905
- useEffect(() => {
906
- if (paymentMethod && isOpen) reset({
907
- billing_address: {
908
- name: billingAddress?.name ?? "",
909
- address1: billingAddress?.address1 ?? "",
910
- address2: billingAddress?.address2 ?? "",
911
- city: billingAddress?.city ?? "",
912
- state: billingAddress?.state ?? "",
913
- zip: billingAddress?.zip ?? "",
914
- country_code: billingAddress?.country_code ?? "US"
915
- },
916
- set_as_default: paymentMethod.default
917
- });
918
- }, [
919
- paymentMethod,
920
- billingAddress,
921
- isOpen,
922
- reset
923
- ]);
924
- const handleCountrySelect = (countryCode) => {
925
- handleCountryChange(countryCode);
926
- setValue("billing_address.country_code", countryCode, { shouldValidate: true });
927
- };
928
- const handleFormSubmit = handleSubmit((data) => {
929
- onSubmit(data);
930
- });
931
- const deleteButtonLabel = useMemo(() => {
932
- if (isDeleting) return t("deleting");
933
- if (confirmDelete) return t("tap_to_confirm");
934
- return t("delete_card");
935
- }, [
936
- isDeleting,
937
- confirmDelete,
938
- t
939
- ]);
940
- if (!paymentMethod) return null;
941
- const { details } = paymentMethod;
942
- const cardBrand = details.card_type ?? "Card";
943
- const lastFour = details.last_four ?? "****";
944
- const expMonth = details.exp_month;
945
- const expYear = details.exp_year;
946
- return /* @__PURE__ */ jsx(Dialog, {
947
- open: isOpen,
948
- onOpenChange: (open) => !open && onClose(),
949
- children: /* @__PURE__ */ jsxs(DialogContent, {
950
- className: "max-h-[90vh] max-w-sm overflow-y-auto md:max-w-lg",
951
- children: [
952
- /* @__PURE__ */ jsx(DialogHeader, { children: /* @__PURE__ */ jsx(DialogTitle, { children: t("edit_card") }) }),
953
- /* @__PURE__ */ jsxs("div", {
954
- className: "space-y-4",
955
- children: [/* @__PURE__ */ jsx("div", {
956
- className: "bg-muted rounded-lg p-4",
957
- children: /* @__PURE__ */ jsxs("div", {
958
- className: "flex items-center space-x-3",
959
- children: [details.logo_url && /* @__PURE__ */ jsx("div", {
960
- className: "h-6 w-10 flex-shrink-0",
961
- children: /* @__PURE__ */ jsx("img", {
962
- src: details.logo_url,
963
- alt: cardBrand,
964
- width: 40,
965
- height: 24,
966
- className: "object-contain"
967
- })
968
- }), /* @__PURE__ */ jsxs("div", {
969
- className: "flex flex-col",
970
- children: [/* @__PURE__ */ jsxs("span", {
971
- className: "text-foreground text-sm font-medium",
972
- children: [
973
- cardBrand,
974
- " •••• ",
975
- lastFour
976
- ]
977
- }), expMonth != null && expYear != null && /* @__PURE__ */ jsxs("span", {
978
- className: "text-muted-foreground text-sm",
979
- children: [
980
- t("card_expires"),
981
- " ",
982
- expMonth,
983
- "/",
984
- expYear
985
- ]
986
- })]
987
- })]
988
- })
989
- }), /* @__PURE__ */ jsxs("div", { children: [/* @__PURE__ */ jsx("h3", {
990
- className: "text-foreground mb-3 text-sm font-medium",
991
- children: t("billing_address")
992
- }), /* @__PURE__ */ jsxs("div", {
993
- className: "space-y-3",
994
- children: [
995
- /* @__PURE__ */ jsx(FormSelectField$1, {
996
- control,
997
- name: "billing_address.country_code",
998
- label: t("country"),
999
- options: countryOptions,
1000
- placeholder: t("select_an_option"),
1001
- onChange: (val) => {
1002
- handleCountrySelect(val);
1003
- }
1004
- }),
1005
- /* @__PURE__ */ jsx(FormTextField$1, {
1006
- control,
1007
- name: "billing_address.name",
1008
- label: t("name")
1009
- }),
1010
- /* @__PURE__ */ jsx(FormTextField$1, {
1011
- control,
1012
- name: "billing_address.address1",
1013
- label: t("address_line_1")
1014
- }),
1015
- /* @__PURE__ */ jsx(FormTextField$1, {
1016
- control,
1017
- name: "billing_address.address2",
1018
- label: t("address_line_2")
1019
- }),
1020
- /* @__PURE__ */ jsxs("div", {
1021
- className: "grid grid-cols-1 gap-3 sm:grid-cols-3",
1022
- children: [
1023
- /* @__PURE__ */ jsx(FormTextField$1, {
1024
- control,
1025
- name: "billing_address.city",
1026
- label: t("city")
1027
- }),
1028
- /* @__PURE__ */ jsx(FormSelectField$1, {
1029
- control,
1030
- name: "billing_address.state",
1031
- label: config?.regionLabel ? t(config.regionLabel) : t("state"),
1032
- options: stateSelectOptions,
1033
- placeholder: t("select_state")
1034
- }),
1035
- /* @__PURE__ */ jsx(FormTextField$1, {
1036
- control,
1037
- name: "billing_address.zip",
1038
- label: config?.postalLabel ? t(config.postalLabel) : t("zip_code")
1039
- })
1040
- ]
1041
- })
1042
- ]
1043
- })] })]
1044
- }),
1045
- /* @__PURE__ */ jsxs("div", {
1046
- className: "mt-2 flex items-center space-x-2",
1047
- children: [/* @__PURE__ */ jsx("input", {
1048
- type: "checkbox",
1049
- id: "set_as_default",
1050
- checked: setAsDefault,
1051
- onChange: () => setValue("set_as_default", !setAsDefault),
1052
- className: "h-4 w-4"
1053
- }), /* @__PURE__ */ jsx("label", {
1054
- htmlFor: "set_as_default",
1055
- className: "text-sm",
1056
- children: t("set_as_default_payment_method")
1057
- })]
1058
- }),
1059
- error && /* @__PURE__ */ jsx("div", {
1060
- className: "text-destructive text-sm",
1061
- children: error
1062
- }),
1063
- /* @__PURE__ */ jsxs(DialogFooter, {
1064
- className: "flex flex-row items-center justify-between gap-2",
1065
- children: [onDelete ? /* @__PURE__ */ jsxs(Button, {
1066
- type: "button",
1067
- variant: "ghost",
1068
- onClick: () => {
1069
- if (confirmDelete) onDelete();
1070
- else setConfirmDelete(true);
1071
- },
1072
- disabled: isSubmitting || isDeleting,
1073
- className: "text-destructive hover:bg-destructive/10 hover:text-destructive",
1074
- children: [/* @__PURE__ */ jsx(Trash2, { className: "size-4" }), deleteButtonLabel]
1075
- }) : /* @__PURE__ */ jsx("span", {}), /* @__PURE__ */ jsxs("div", {
1076
- className: "flex items-center gap-2",
1077
- children: [/* @__PURE__ */ jsx(Button, {
1078
- type: "button",
1079
- variant: "secondary",
1080
- onClick: onClose,
1081
- disabled: isSubmitting || isDeleting,
1082
- children: t("cancel")
1083
- }), /* @__PURE__ */ jsxs(Button, {
1084
- type: "button",
1085
- onClick: handleFormSubmit,
1086
- disabled: isSubmitting || isDeleting,
1087
- children: [isSubmitting && /* @__PURE__ */ jsx("div", { className: "mr-2 h-4 w-4 animate-spin rounded-full border-2 border-current/30 border-t-current" }), isSubmitting ? t("saving") : t("save_changes")]
1088
- })]
1089
- })]
1090
- })
1091
- ]
1092
- })
1093
- });
1094
- }
1095
- //#endregion
1096
- //#region ../../profile/ui/src/components/my-site-profile-section.tsx
1097
- function normalizeUrl(value) {
1098
- const trimmed = value.trim();
1099
- if (!trimmed) return "";
1100
- if (/^https?:\/\//i.test(trimmed)) return trimmed;
1101
- return `https://${trimmed}`;
1102
- }
1103
- const urlField = z.string().transform(normalizeUrl).pipe(z.string().url().or(z.literal("")));
1104
- z.object({
1105
- bio: z.string().optional(),
1106
- linkedin: urlField,
1107
- facebook: urlField,
1108
- twitter: urlField,
1109
- instagram: urlField,
1110
- youtube: urlField,
1111
- pinterest: urlField,
1112
- tiktok: urlField,
1113
- whatsapp: z.string().optional(),
1114
- wechat: z.string().optional()
1115
- });
1116
- //#endregion
1117
- //#region ../../fluid-pay/ui/src/components/form-fields/FormTextField.tsx
1118
- function FormTextField({ control, name, label, placeholder, containerClassName, type, disabled, inputMode }) {
1119
- const { field, fieldState: { error } } = useController({
1120
- name,
1121
- control
1122
- });
1123
- return /* @__PURE__ */ jsxs("div", {
1124
- className: cn("space-y-1", containerClassName),
1125
- children: [
1126
- label && /* @__PURE__ */ jsx(Label, {
1127
- htmlFor: name,
1128
- className: "mb-1.5 block text-sm font-medium",
1129
- children: label
1130
- }),
1131
- /* @__PURE__ */ jsx(Input, {
1132
- ...field,
1133
- value: field.value ?? "",
1134
- id: name,
1135
- type,
1136
- disabled,
1137
- inputMode,
1138
- placeholder,
1139
- "aria-invalid": !!error
1140
- }),
1141
- error?.message && /* @__PURE__ */ jsx("p", {
1142
- className: "text-destructive text-sm",
1143
- children: error.message
1144
- })
1145
- ]
1146
- });
1147
- }
1148
- //#endregion
1149
- //#region ../../fluid-pay/ui/src/components/form-fields/FormSelectField.tsx
1150
- function FormSelectField({ control, name, label, placeholder = "Select", options, containerClassName, disabled }) {
1151
- return /* @__PURE__ */ jsxs("div", {
1152
- className: cn("space-y-1", containerClassName),
1153
- children: [label && /* @__PURE__ */ jsx(Label, {
1154
- htmlFor: name,
1155
- className: "mb-1.5 block text-sm font-medium",
1156
- children: label
1157
- }), /* @__PURE__ */ jsx(Controller, {
1158
- control,
1159
- name,
1160
- render: ({ field: { onChange, value }, fieldState: { error } }) => /* @__PURE__ */ jsxs(Fragment$1, { children: [/* @__PURE__ */ jsxs(Select, {
1161
- value: value?.toString() ?? "",
1162
- onValueChange: onChange,
1163
- disabled,
1164
- children: [/* @__PURE__ */ jsx(SelectTrigger, {
1165
- id: name,
1166
- "aria-invalid": !!error,
1167
- className: "w-full",
1168
- children: /* @__PURE__ */ jsx(SelectValue, { placeholder })
1169
- }), /* @__PURE__ */ jsx(SelectContent, { children: options && options.length > 0 ? options.map((opt) => /* @__PURE__ */ jsx(SelectItem, {
1170
- value: opt.value.toString(),
1171
- children: opt.name
1172
- }, opt.value.toString())) : /* @__PURE__ */ jsx(SelectItem, {
1173
- value: "__empty",
1174
- disabled: true,
1175
- children: "No available options"
1176
- }) })]
1177
- }), error?.message && /* @__PURE__ */ jsx("p", {
1178
- className: "text-destructive text-sm",
1179
- children: error.message
1180
- })] })
1181
- })]
1182
- });
1183
- }
1184
- //#endregion
1185
- //#region ../../fluid-pay/ui/src/components/AddressFormDialog.tsx
1186
- const addressFormSchema = z.object({
1187
- first_name: z.string().min(1, "First name is required"),
1188
- last_name: z.string().min(1, "Last name is required"),
1189
- address1: z.string().min(1, "Address line 1 is required"),
1190
- address2: z.string().optional().nullable(),
1191
- city: z.string().min(1, "City is required"),
1192
- state: z.string().min(1, "State is required"),
1193
- postal_code: z.string().min(1, "Postal code is required"),
1194
- country_code: z.string().min(1, "Country is required"),
1195
- default: z.boolean()
1196
- });
1197
- function AddressFormDialog({ isOpen, onClose, selectedAddress, onSubmit, isSubmitting, countries = [], error, renderAddressAutocomplete, fetchStates, t, onDelete, isDeleting = false }) {
1198
- const [confirmDelete, setConfirmDelete] = useState(false);
1199
- useEffect(() => {
1200
- if (!isOpen) setConfirmDelete(false);
1201
- }, [isOpen]);
1202
- useEffect(() => {
1203
- if (!confirmDelete) return;
1204
- const timeoutId = setTimeout(() => setConfirmDelete(false), 3e3);
1205
- return () => clearTimeout(timeoutId);
1206
- }, [confirmDelete]);
1207
- const deleteButtonLabel = useMemo(() => {
1208
- if (isDeleting) return t("deleting");
1209
- if (confirmDelete) return t("tap_to_confirm");
1210
- return t("delete_address");
1211
- }, [
1212
- isDeleting,
1213
- confirmDelete,
1214
- t
1215
- ]);
1216
- const { control, handleSubmit, reset, setValue } = useZodForm(addressFormSchema, { defaultValues: {
1217
- first_name: "",
1218
- last_name: "",
1219
- address1: "",
1220
- address2: "",
1221
- city: "",
1222
- state: "",
1223
- postal_code: "",
1224
- country_code: "US",
1225
- default: false
1226
- } });
1227
- const selectedCountryCode = useWatch({
1228
- control,
1229
- name: "country_code"
1230
- });
1231
- const isDefault = useWatch({
1232
- control,
1233
- name: "default"
1234
- });
1235
- const { stateOptions, config, handleCountryChange } = useCountryStates();
1236
- const countrySelectOptions = [...countries].map((country) => ({
1237
- name: country.name,
1238
- value: country.iso
1239
- })).sort((a, b) => {
1240
- if (a.value === selectedCountryCode) return -1;
1241
- if (b.value === selectedCountryCode) return 1;
1242
- return a.name.localeCompare(b.name);
1243
- });
1244
- const stateSelectOptions = stateOptions.map((state) => ({
1245
- name: state.name,
1246
- value: state.isoCode
1247
- }));
1248
- useEffect(() => {
1249
- if (isOpen) if (selectedAddress) {
1250
- const nameParts = (selectedAddress.name ?? "").split(" ");
1251
- reset({
1252
- first_name: nameParts[0] ?? "",
1253
- last_name: nameParts.slice(1).join(" "),
1254
- address1: selectedAddress.address1,
1255
- address2: selectedAddress.address2 ?? "",
1256
- city: selectedAddress.city,
1257
- state: selectedAddress.state,
1258
- postal_code: selectedAddress.postal_code,
1259
- country_code: selectedAddress.country_code ?? "US",
1260
- default: selectedAddress.default
1261
- });
1262
- handleCountryChange(selectedAddress.country_code ?? "US", fetchStates);
1263
- } else {
1264
- reset({
1265
- first_name: "",
1266
- last_name: "",
1267
- address1: "",
1268
- address2: "",
1269
- city: "",
1270
- state: "",
1271
- postal_code: "",
1272
- country_code: "US",
1273
- default: false
1274
- });
1275
- handleCountryChange("US", fetchStates);
1276
- }
1277
- }, [
1278
- selectedAddress,
1279
- isOpen,
1280
- reset,
1281
- handleCountryChange,
1282
- fetchStates
1283
- ]);
1284
- useEffect(() => {
1285
- handleCountryChange(selectedCountryCode, fetchStates);
1286
- }, [
1287
- selectedCountryCode,
1288
- handleCountryChange,
1289
- fetchStates
1290
- ]);
1291
- const handleFormSubmit = handleSubmit((data) => {
1292
- onSubmit({ address: {
1293
- first_name: data.first_name,
1294
- last_name: data.last_name,
1295
- address1: data.address1,
1296
- address2: data.address2 ?? null,
1297
- city: data.city,
1298
- state: data.state,
1299
- postal_code: data.postal_code,
1300
- country_code: data.country_code,
1301
- default: data.default
1302
- } });
1303
- });
1304
- return /* @__PURE__ */ jsx(Dialog, {
1305
- open: isOpen,
1306
- onOpenChange: (open) => !open && onClose(),
1307
- children: /* @__PURE__ */ jsxs(DialogContent, {
1308
- className: "max-h-[90vh] max-w-md overflow-y-auto rounded md:max-w-xl",
1309
- children: [
1310
- /* @__PURE__ */ jsx(DialogHeader, { children: /* @__PURE__ */ jsx(DialogTitle, {
1311
- className: "text-lg font-medium",
1312
- children: selectedAddress !== null ? t("edit_address") : t("add_an_address")
1313
- }) }),
1314
- /* @__PURE__ */ jsxs("div", {
1315
- className: "space-y-3 pt-2",
1316
- children: [
1317
- /* @__PURE__ */ jsx(FormSelectField, {
1318
- control,
1319
- name: "country_code",
1320
- label: t("country"),
1321
- placeholder: t("select_an_option"),
1322
- options: countrySelectOptions,
1323
- disabled: isSubmitting
1324
- }),
1325
- /* @__PURE__ */ jsxs("div", {
1326
- className: "flex gap-3",
1327
- children: [/* @__PURE__ */ jsx(FormTextField, {
1328
- control,
1329
- name: "first_name",
1330
- label: t("first_name"),
1331
- containerClassName: "flex-1",
1332
- disabled: isSubmitting
1333
- }), /* @__PURE__ */ jsx(FormTextField, {
1334
- control,
1335
- name: "last_name",
1336
- label: t("last_name"),
1337
- containerClassName: "flex-1",
1338
- disabled: isSubmitting
1339
- })]
1340
- }),
1341
- renderAddressAutocomplete ? renderAddressAutocomplete({
1342
- control,
1343
- setValue,
1344
- countryCode: selectedCountryCode
1345
- }) : /* @__PURE__ */ jsx(FormTextField, {
1346
- control,
1347
- name: "address1",
1348
- label: t("address_line_1"),
1349
- disabled: isSubmitting
1350
- }),
1351
- /* @__PURE__ */ jsx(FormTextField, {
1352
- control,
1353
- name: "address2",
1354
- label: t("address_line_2"),
1355
- disabled: isSubmitting
1356
- }),
1357
- /* @__PURE__ */ jsxs("div", {
1358
- className: "flex gap-3",
1359
- children: [
1360
- /* @__PURE__ */ jsx(FormTextField, {
1361
- control,
1362
- name: "city",
1363
- label: t("city"),
1364
- containerClassName: "flex-1",
1365
- disabled: isSubmitting
1366
- }),
1367
- /* @__PURE__ */ jsx(FormSelectField, {
1368
- control,
1369
- name: "state",
1370
- label: config?.regionLabel ? t(config.regionLabel) : t("state"),
1371
- placeholder: t("select_state"),
1372
- options: stateSelectOptions,
1373
- containerClassName: "flex-1",
1374
- disabled: isSubmitting
1375
- }),
1376
- /* @__PURE__ */ jsx(FormTextField, {
1377
- control,
1378
- name: "postal_code",
1379
- label: config?.postalLabel ? t(config.postalLabel) : t("zip_code"),
1380
- containerClassName: "flex-1",
1381
- disabled: isSubmitting
1382
- })
1383
- ]
1384
- })
1385
- ]
1386
- }),
1387
- /* @__PURE__ */ jsxs("div", {
1388
- className: "mt-4 flex flex-wrap items-center justify-between gap-3",
1389
- children: [onDelete ? /* @__PURE__ */ jsxs(Button, {
1390
- type: "button",
1391
- variant: "ghost",
1392
- onClick: () => {
1393
- if (confirmDelete) onDelete();
1394
- else setConfirmDelete(true);
1395
- },
1396
- disabled: isSubmitting || isDeleting,
1397
- className: "text-destructive hover:bg-destructive/10 hover:text-destructive",
1398
- children: [/* @__PURE__ */ jsx(Trash2, { className: "size-4" }), deleteButtonLabel]
1399
- }) : /* @__PURE__ */ jsx("span", {}), /* @__PURE__ */ jsxs("div", {
1400
- className: "flex items-center gap-3",
1401
- children: [/* @__PURE__ */ jsxs("div", {
1402
- className: "flex items-center space-x-2",
1403
- children: [/* @__PURE__ */ jsx("input", {
1404
- type: "checkbox",
1405
- id: "set_as_default_address",
1406
- checked: isDefault,
1407
- onChange: () => setValue("default", !isDefault),
1408
- disabled: isSubmitting || isDeleting,
1409
- className: "h-4 w-4"
1410
- }), /* @__PURE__ */ jsx("label", {
1411
- htmlFor: "set_as_default_address",
1412
- className: "text-sm",
1413
- children: t("set_as_default_address")
1414
- })]
1415
- }), /* @__PURE__ */ jsxs(Button, {
1416
- type: "submit",
1417
- onClick: handleFormSubmit,
1418
- disabled: isSubmitting || isDeleting,
1419
- children: [isSubmitting && /* @__PURE__ */ jsx("div", { className: "mr-2 h-4 w-4 animate-spin rounded-full border-2 border-current/30 border-t-current" }), isSubmitting ? t("saving") : t("save_address")]
1420
- })]
1421
- })]
1422
- }),
1423
- error && /* @__PURE__ */ jsx("div", {
1424
- className: "text-destructive mt-2 text-sm",
1425
- children: error
1426
- })
1427
- ]
1428
- })
1429
- });
1430
- }
1431
- //#endregion
1432
- //#region ../../fluid-pay/ui/src/hooks/use-vgs-collect.ts
1433
- const getVGSCollect = () => {
1434
- if (typeof window !== "undefined") return window.VGSCollect || null;
1435
- return null;
1436
- };
1437
- const DEFAULT_FIELD_STATE = {
1438
- card_number: {
1439
- isFocused: false,
1440
- isValid: false,
1441
- isEmpty: true
1442
- },
1443
- card_exp: {
1444
- isFocused: false,
1445
- isValid: false,
1446
- isEmpty: true
1447
- },
1448
- card_cvc: {
1449
- isFocused: false,
1450
- isValid: false,
1451
- isEmpty: true
1452
- },
1453
- card_holder: {
1454
- isFocused: false,
1455
- isValid: false,
1456
- isEmpty: true
1457
- }
1458
- };
1459
- function useVgsCollect() {
1460
- const [isFormReady, setIsFormReady] = useState(false);
1461
- const [isLoading, setIsLoading] = useState(false);
1462
- const [isScriptLoaded, setIsScriptLoaded] = useState(false);
1463
- const [scriptLoadError, setScriptLoadError] = useState(void 0);
1464
- const [vgsFieldState, setVgsFieldState] = useState(DEFAULT_FIELD_STATE);
1465
- const formRef = useRef(null);
1466
- const onSuccessRef = useRef(null);
1467
- const onErrorRef = useRef(null);
1468
- useEffect(() => {
1469
- if (typeof window === "undefined") return;
1470
- if (getVGSCollect()) {
1471
- const timeoutId = window.setTimeout(() => {
1472
- setIsScriptLoaded(true);
1473
- }, 0);
1474
- return () => window.clearTimeout(timeoutId);
1475
- }
1476
- if (isScriptLoaded) return;
1477
- const script = document.createElement("script");
1478
- script.src = "https://js.verygoodvault.com/vgs-collect/3.3.0/vgs-collect.js";
1479
- script.async = true;
1480
- script.onload = () => setIsScriptLoaded(true);
1481
- script.onerror = () => {
1482
- const message = "Failed to load payment form";
1483
- setScriptLoadError(message);
1484
- onErrorRef.current?.(message);
1485
- };
1486
- document.head.appendChild(script);
1487
- }, [isScriptLoaded]);
1488
- const updateFieldState = useCallback((state) => {
1489
- if (!state) return;
1490
- setVgsFieldState((prev) => {
1491
- const newState = { ...prev };
1492
- let hasChanges = false;
1493
- Object.keys(state).forEach((key) => {
1494
- const field = state[key];
1495
- if (!field) return;
1496
- const next = {
1497
- isFocused: !!field.isFocused,
1498
- isValid: !!field.isValid,
1499
- isEmpty: !!field.isEmpty
1500
- };
1501
- if (!newState[key] || JSON.stringify(newState[key]) !== JSON.stringify(next)) {
1502
- newState[key] = next;
1503
- hasChanges = true;
1504
- }
1505
- });
1506
- return hasChanges ? newState : prev;
1507
- });
1508
- }, []);
1509
- const resetVgs = useCallback(() => {
1510
- if (formRef.current) {
1511
- try {
1512
- formRef.current.unmount();
1513
- } catch (e) {
1514
- console.warn("VGS unmount error", e);
1515
- }
1516
- formRef.current = null;
1517
- }
1518
- setIsFormReady(false);
1519
- setVgsFieldState({ ...DEFAULT_FIELD_STATE });
1520
- }, []);
1521
- const initializeForm = useCallback(async (credentials) => {
1522
- if (!isScriptLoaded) return;
1523
- const VGSCollect = getVGSCollect();
1524
- if (!VGSCollect) {
1525
- onErrorRef.current?.("Payment script not loaded");
1526
- return;
1527
- }
1528
- try {
1529
- setIsLoading(true);
1530
- const vgsEnvironment = credentials.vault.environment === "sandbox" ? "sandbox" : "live-eu-1";
1531
- const form = VGSCollect.create(credentials.vault.vault_id, vgsEnvironment, (state) => updateFieldState(state));
1532
- if (credentials.vault.route_id) form.setRouteId(credentials.vault.route_id);
1533
- formRef.current = form;
1534
- let retries = 0;
1535
- const maxRetries = 20;
1536
- const retryDelay = 200;
1537
- const waitForDom = async () => {
1538
- if ([
1539
- "vgs-card-number",
1540
- "vgs-expiration-date",
1541
- "vgs-cvc",
1542
- "vgs-card-holder"
1543
- ].every((id) => {
1544
- const el = document.getElementById(id);
1545
- return el && el.isConnected;
1546
- })) return true;
1547
- if (retries >= maxRetries) return false;
1548
- retries++;
1549
- await new Promise((resolve) => setTimeout(resolve, retryDelay));
1550
- return waitForDom();
1551
- };
1552
- if (!await waitForDom()) throw new Error("Payment form elements not ready");
1553
- const themedNode = document.getElementById("vgs-card-number");
1554
- const probeStyle = themedNode ? getComputedStyle(themedNode) : null;
1555
- const foregroundColor = probeStyle?.getPropertyValue("--color-foreground").trim() || "#0a0a0a";
1556
- const mutedForegroundColor = probeStyle?.getPropertyValue("--color-muted-foreground").trim() || "#737373";
1557
- const css = {
1558
- fontSize: "14px",
1559
- fontFamily: "-apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif",
1560
- color: foregroundColor,
1561
- background: "transparent",
1562
- paddingTop: "0px",
1563
- paddingBottom: "0px",
1564
- paddingLeft: "0px",
1565
- paddingRight: "0px",
1566
- boxSizing: "border-box",
1567
- lineHeight: "26px",
1568
- height: "100%",
1569
- width: "100%",
1570
- "&::placeholder": {
1571
- color: mutedForegroundColor,
1572
- opacity: 1
1573
- },
1574
- "&:focus": { outline: "none" }
1575
- };
1576
- form.field("#vgs-card-number", {
1577
- type: "card-number",
1578
- name: "card_number",
1579
- placeholder: "0000 0000 0000 0000",
1580
- showCardIcon: true,
1581
- css: {
1582
- ...css,
1583
- paddingRight: "40px"
1584
- },
1585
- autoComplete: "cc-number",
1586
- validations: ["required", "validCardNumber"]
1587
- });
1588
- form.field("#vgs-expiration-date", {
1589
- type: "card-expiration-date",
1590
- name: "card_exp",
1591
- yearLength: 2,
1592
- placeholder: "MM / YY",
1593
- css,
1594
- autoComplete: "cc-exp",
1595
- validations: ["required", "validCardExpirationDate"]
1596
- });
1597
- form.field("#vgs-cvc", {
1598
- type: "card-security-code",
1599
- name: "card_cvc",
1600
- placeholder: "123",
1601
- css,
1602
- autoComplete: "cc-csc",
1603
- validations: ["required", "validCardSecurityCode"]
1604
- });
1605
- form.field("#vgs-card-holder", {
1606
- type: "text",
1607
- name: "card_holder",
1608
- placeholder: "Full Name",
1609
- css,
1610
- autoComplete: "cc-name",
1611
- validations: ["required"]
1612
- });
1613
- setIsFormReady(true);
1614
- } catch (error) {
1615
- console.error("Failed to initialize VGS:", error);
1616
- onErrorRef.current?.("Failed to initialize payment form");
1617
- } finally {
1618
- setIsLoading(false);
1619
- }
1620
- }, [isScriptLoaded, updateFieldState]);
1621
- const submitCard = useCallback(() => {
1622
- if (!formRef.current) {
1623
- onErrorRef.current?.("Form not initialized");
1624
- return;
1625
- }
1626
- formRef.current.submit(`/post`, {}, (status, response) => {
1627
- if (status >= 200 && status < 400) onSuccessRef.current?.(response);
1628
- else onErrorRef.current?.("Payment failed");
1629
- }, (errors) => {
1630
- const allErrors = Object.values(errors).flat().filter((msg) => typeof msg === "string" && msg.trim().length > 0 && msg !== "Required");
1631
- const uniqueErrors = Array.from(new Set(allErrors));
1632
- let errorMsg = "Please verify your payment details.";
1633
- if (uniqueErrors.length > 0) errorMsg = uniqueErrors.join(", ");
1634
- else if (Object.values(errors).flat().length > 0) errorMsg = "Please fill in all required fields.";
1635
- onErrorRef.current?.(errorMsg);
1636
- });
1637
- }, []);
1638
- useEffect(() => {
1639
- return () => {
1640
- if (formRef.current) {
1641
- try {
1642
- formRef.current.unmount();
1643
- } catch (e) {
1644
- console.warn("VGS unmount error", e);
1645
- }
1646
- formRef.current = null;
1647
- }
1648
- };
1649
- }, []);
1650
- return {
1651
- isFormReady,
1652
- isLoading,
1653
- isScriptLoaded,
1654
- scriptLoadError,
1655
- initializeForm,
1656
- submitCard,
1657
- vgsFieldState,
1658
- resetVgs,
1659
- onSuccessRef,
1660
- onErrorRef
1661
- };
1662
- }
1663
- //#endregion
1664
- //#region ../../fluid-pay/ui/src/components/CreditCardFormDialog.tsx
1665
- const billingAddressSchema = z.object({
1666
- name: z.string().min(1, "Name is required"),
1667
- address1: z.string().min(1, "Address line 1 is required"),
1668
- address2: z.string().optional().nullable(),
1669
- city: z.string().min(1, "City is required"),
1670
- state: z.string().min(1, "State is required"),
1671
- zip: z.string().min(1, "Zip code is required"),
1672
- country_code: z.string().min(1, "Country is required"),
1673
- set_as_default: z.boolean()
1674
- });
1675
- function VgsInputWrapper({ id, label, fieldState, className }) {
1676
- const isInvalid = fieldState?.isValid === false && !fieldState?.isFocused && !fieldState?.isEmpty;
1677
- const isFocused = !!fieldState?.isFocused;
1678
- return /* @__PURE__ */ jsx("div", {
1679
- id,
1680
- role: "group",
1681
- "aria-label": label,
1682
- "data-invalid": isInvalid ? "" : void 0,
1683
- className: cn("border-input selection:bg-primary selection:text-primary-foreground file:text-foreground placeholder:text-muted-foreground h-9 w-full min-w-0 rounded-md border bg-transparent px-3 py-1 text-base shadow-xs transition-[color,box-shadow] outline-none file:inline-flex file:h-7 file:border-0 file:bg-transparent file:text-sm file:font-medium disabled:pointer-events-none disabled:cursor-not-allowed disabled:opacity-50 md:text-sm", "focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:ring-[3px]", "data-[invalid]:border-destructive data-[invalid]:ring-destructive/20", "[&_iframe]:block! [&_iframe]:h-full! [&_iframe]:w-full! [&_iframe]:border-0!", isFocused && "border-ring ring-ring/50 ring-[3px]", isFocused && isInvalid && "border-destructive ring-destructive/20", className)
1684
- });
1685
- }
1686
- function VgsCardForm({ vgsFieldState, networkError }) {
1687
- return /* @__PURE__ */ jsxs("div", {
1688
- className: "space-y-4",
1689
- "aria-label": "Credit card form",
1690
- children: [
1691
- /* @__PURE__ */ jsx(VgsInputWrapper, {
1692
- id: "vgs-card-number",
1693
- label: "Card number",
1694
- fieldState: vgsFieldState["card_number"]
1695
- }),
1696
- /* @__PURE__ */ jsxs("div", {
1697
- className: "flex gap-3",
1698
- children: [/* @__PURE__ */ jsx("div", {
1699
- className: "flex-1",
1700
- children: /* @__PURE__ */ jsx(VgsInputWrapper, {
1701
- id: "vgs-expiration-date",
1702
- label: "Expiration date",
1703
- fieldState: vgsFieldState["card_exp"]
1704
- })
1705
- }), /* @__PURE__ */ jsx("div", {
1706
- className: "flex-1",
1707
- children: /* @__PURE__ */ jsx(VgsInputWrapper, {
1708
- id: "vgs-cvc",
1709
- label: "CVC",
1710
- fieldState: vgsFieldState["card_cvc"]
1711
- })
1712
- })]
1713
- }),
1714
- /* @__PURE__ */ jsx(VgsInputWrapper, {
1715
- id: "vgs-card-holder",
1716
- label: "Cardholder name",
1717
- fieldState: vgsFieldState["card_holder"]
1718
- }),
1719
- networkError && networkError.trim().length > 0 && /* @__PURE__ */ jsx("div", {
1720
- className: "bg-destructive/10 text-destructive rounded-md p-3 text-sm",
1721
- children: networkError
1722
- })
1723
- ]
1724
- });
1725
- }
1726
- function CreditCardFormDialog({ isOpen, onClose, onSubmit, isSubmitting, countries = [], error, jwt, renderAddressAutocomplete, t }) {
1727
- const api = useFluidPayApi();
1728
- const [cardError, setCardError] = useState(void 0);
1729
- const [isVgsSubmitting, setIsVgsSubmitting] = useState(false);
1730
- const { isFormReady, isLoading: isVgsLoading, isScriptLoaded, scriptLoadError, initializeForm, submitCard, vgsFieldState, resetVgs, onSuccessRef, onErrorRef } = useVgsCollect();
1731
- const { control, handleSubmit, reset, setValue } = useZodForm(billingAddressSchema, { defaultValues: {
1732
- name: "",
1733
- address1: "",
1734
- address2: "",
1735
- city: "",
1736
- state: "",
1737
- zip: "",
1738
- country_code: "US",
1739
- set_as_default: false
1740
- } });
1741
- const billingCountry = useWatch({
1742
- control,
1743
- name: "country_code"
1744
- });
1745
- const setAsDefault = useWatch({
1746
- control,
1747
- name: "set_as_default"
1748
- });
1749
- const { stateOptions, config, handleCountryChange } = useCountryStates();
1750
- const countrySelectOptions = [...countries].map((country) => ({
1751
- name: country.name,
1752
- value: country.iso
1753
- })).sort((a, b) => {
1754
- if (a.value === billingCountry) return -1;
1755
- if (b.value === billingCountry) return 1;
1756
- return a.name.localeCompare(b.name);
1757
- });
1758
- const stateSelectOptions = stateOptions.map((state) => ({
1759
- name: state.name,
1760
- value: state.isoCode
1761
- }));
1762
- useEffect(() => {
1763
- handleCountryChange(billingCountry);
1764
- }, [billingCountry, handleCountryChange]);
1765
- useEffect(() => {
1766
- if (!isOpen || !isScriptLoaded) return;
1767
- let cancelled = false;
1768
- const init = async () => {
1769
- try {
1770
- const credentials = await api.vault.fetchCredentials(jwt);
1771
- if (!cancelled) await initializeForm(credentials);
1772
- } catch (err) {
1773
- console.error("Failed to fetch vault credentials:", err);
1774
- if (!cancelled) setCardError("Failed to initialize payment form");
1775
- }
1776
- };
1777
- init();
1778
- return () => {
1779
- cancelled = true;
1780
- };
1781
- }, [
1782
- isOpen,
1783
- isScriptLoaded,
1784
- jwt,
1785
- api,
1786
- initializeForm
1787
- ]);
1788
- const handleVgsSuccess = useCallback((response) => {
1789
- const expValue = response?.card_exp;
1790
- if (!expValue) {
1791
- setCardError("Missing expiration date from payment form");
1792
- setIsVgsSubmitting(false);
1793
- return;
1794
- }
1795
- const [expMonth, expYearShort] = expValue.replace(/\s+/g, "").split("/");
1796
- if (!expMonth || !expYearShort) {
1797
- setCardError("Invalid expiration date format");
1798
- setIsVgsSubmitting(false);
1799
- return;
1800
- }
1801
- const expYear = expYearShort.length === 2 ? `20${expYearShort}` : expYearShort;
1802
- const cardholderName = response?.card_holder?.trim();
1803
- if (!cardholderName) {
1804
- setCardError("Cardholder name is required");
1805
- setIsVgsSubmitting(false);
1806
- return;
1807
- }
1808
- handleSubmit((formData) => {
1809
- onSubmit({
1810
- type: "credit_card",
1811
- country_code: formData.country_code,
1812
- default_payment_method: formData.set_as_default,
1813
- payment_method: {
1814
- token: response.card_number,
1815
- cvv_token: response.card_cvc,
1816
- exp_month: expMonth,
1817
- exp_year: expYear,
1818
- card_holder: cardholderName,
1819
- billing_zip: formData.zip
1820
- },
1821
- billing_address: {
1822
- name: formData.name,
1823
- address1: formData.address1,
1824
- address2: formData.address2 ?? void 0,
1825
- city: formData.city,
1826
- state: formData.state,
1827
- zip: formData.zip,
1828
- country_code: formData.country_code
1829
- }
1830
- });
1831
- setIsVgsSubmitting(false);
1832
- }, () => {
1833
- setCardError("Please fix the errors in the billing address.");
1834
- setIsVgsSubmitting(false);
1835
- })();
1836
- }, [handleSubmit, onSubmit]);
1837
- const handleVgsError = useCallback((err) => {
1838
- setCardError(err);
1839
- setIsVgsSubmitting(false);
1840
- }, []);
1841
- useEffect(() => {
1842
- onSuccessRef.current = handleVgsSuccess;
1843
- onErrorRef.current = handleVgsError;
1844
- }, [
1845
- handleVgsSuccess,
1846
- handleVgsError,
1847
- onSuccessRef,
1848
- onErrorRef
1849
- ]);
1850
- const handleClose = () => {
1851
- resetVgs();
1852
- reset();
1853
- setCardError(void 0);
1854
- setIsVgsSubmitting(false);
1855
- onClose();
1856
- };
1857
- const handleFormSubmit = handleSubmit(() => {
1858
- setIsVgsSubmitting(true);
1859
- setCardError(void 0);
1860
- submitCard();
1861
- });
1862
- const isBusy = isSubmitting || isVgsSubmitting;
1863
- return /* @__PURE__ */ jsx(Dialog, {
1864
- open: isOpen,
1865
- onOpenChange: (open) => !open && handleClose(),
1866
- children: /* @__PURE__ */ jsx(DialogContent, {
1867
- className: "max-h-[90vh] max-w-md overflow-y-auto p-0 md:max-w-xl",
1868
- children: /* @__PURE__ */ jsxs("div", {
1869
- className: "relative p-6",
1870
- children: [
1871
- (isVgsLoading || !isFormReady) && !scriptLoadError && /* @__PURE__ */ jsx("div", {
1872
- className: "bg-background/80 absolute inset-0 z-10 flex items-center justify-center rounded backdrop-blur-[1px]",
1873
- children: /* @__PURE__ */ jsxs("div", {
1874
- className: "flex items-center justify-center",
1875
- children: [/* @__PURE__ */ jsx("div", { className: "border-primary mr-3 h-5 w-5 animate-spin rounded-full border-2 border-t-2 border-t-transparent" }), /* @__PURE__ */ jsx("p", {
1876
- className: "text-muted-foreground text-sm font-medium",
1877
- children: t("securing")
1878
- })]
1879
- })
1880
- }),
1881
- /* @__PURE__ */ jsx(DialogHeader, { children: /* @__PURE__ */ jsx(DialogTitle, { children: t("add_credit_card") }) }),
1882
- /* @__PURE__ */ jsxs("div", {
1883
- className: "space-y-4 pt-6",
1884
- children: [/* @__PURE__ */ jsx(VgsCardForm, {
1885
- vgsFieldState,
1886
- networkError: cardError ?? scriptLoadError ?? error
1887
- }), /* @__PURE__ */ jsxs("div", {
1888
- className: "space-y-3 pt-2",
1889
- children: [
1890
- /* @__PURE__ */ jsx("h3", {
1891
- className: "text-muted-foreground text-sm font-medium",
1892
- children: t("billing_address")
1893
- }),
1894
- /* @__PURE__ */ jsx(FormSelectField, {
1895
- control,
1896
- name: "country_code",
1897
- label: t("country"),
1898
- placeholder: t("select_an_option"),
1899
- options: countrySelectOptions,
1900
- disabled: isBusy
1901
- }),
1902
- /* @__PURE__ */ jsx(FormTextField, {
1903
- control,
1904
- name: "name",
1905
- label: t("name"),
1906
- disabled: isBusy
1907
- }),
1908
- renderAddressAutocomplete ? renderAddressAutocomplete({
1909
- control,
1910
- setValue,
1911
- countryCode: billingCountry
1912
- }) : /* @__PURE__ */ jsx(FormTextField, {
1913
- control,
1914
- name: "address1",
1915
- label: t("address_line_1"),
1916
- disabled: isBusy
1917
- }),
1918
- /* @__PURE__ */ jsx(FormTextField, {
1919
- control,
1920
- name: "address2",
1921
- label: t("address_line_2"),
1922
- disabled: isBusy
1923
- }),
1924
- /* @__PURE__ */ jsxs("div", {
1925
- className: "flex gap-3",
1926
- children: [
1927
- /* @__PURE__ */ jsx(FormTextField, {
1928
- control,
1929
- name: "city",
1930
- label: t("city"),
1931
- containerClassName: "flex-1",
1932
- disabled: isBusy
1933
- }),
1934
- /* @__PURE__ */ jsx(FormSelectField, {
1935
- control,
1936
- name: "state",
1937
- label: config?.regionLabel ? t(config.regionLabel) : t("state"),
1938
- placeholder: t("select_state"),
1939
- options: stateSelectOptions,
1940
- containerClassName: "flex-1",
1941
- disabled: isBusy
1942
- }),
1943
- /* @__PURE__ */ jsx(FormTextField, {
1944
- control,
1945
- name: "zip",
1946
- label: config?.postalLabel ? t(config.postalLabel) : t("zip_code"),
1947
- containerClassName: "flex-1",
1948
- disabled: isBusy
1949
- })
1950
- ]
1951
- })
1952
- ]
1953
- })]
1954
- }),
1955
- /* @__PURE__ */ jsxs("div", {
1956
- className: "mt-4 flex items-center justify-between",
1957
- children: [/* @__PURE__ */ jsxs("div", {
1958
- className: "flex items-center space-x-2",
1959
- children: [/* @__PURE__ */ jsx("input", {
1960
- type: "checkbox",
1961
- id: "set_as_default_cc",
1962
- checked: setAsDefault,
1963
- onChange: () => setValue("set_as_default", !setAsDefault),
1964
- disabled: isBusy,
1965
- className: "h-4 w-4"
1966
- }), /* @__PURE__ */ jsx("label", {
1967
- htmlFor: "set_as_default_cc",
1968
- className: "text-sm",
1969
- children: t("set_as_default_payment_method")
1970
- })]
1971
- }), /* @__PURE__ */ jsxs(Button, {
1972
- type: "button",
1973
- onClick: handleFormSubmit,
1974
- disabled: isBusy,
1975
- children: [isBusy && /* @__PURE__ */ jsx("div", { className: "mr-2 h-4 w-4 animate-spin rounded-full border-2 border-current/30 border-t-current" }), isBusy ? t("saving") : t("save_card")]
1976
- })]
1977
- })
1978
- ]
1979
- })
1980
- })
1981
- });
1982
- }
1983
- //#endregion
1984
- //#region src/adapters/fluid-pay-api-adapter.ts
1985
- /**
1986
- * Maps a portal-tenant PayPaymentMethod to the fluidPay shape consumed by
1987
- * profile-ui components (PaymentMethodDropdown, CreditCardFormDialog, etc.).
1988
- * Co-located with the adapter because both speak the portal-tenant ↔ fluid-pay
1989
- * boundary.
1990
- */
1991
- function mapToFluidPayPaymentMethod(raw) {
1992
- return {
1993
- id: raw.id,
1994
- created_at: raw.created_at ?? "",
1995
- default: raw.default,
1996
- details: {
1997
- card_type: raw.brand,
1998
- card_brand: raw.brand,
1999
- last_four: raw.last_four,
2000
- exp_month: raw.exp_month ?? void 0,
2001
- exp_year: raw.exp_year ?? void 0
2002
- },
2003
- billing_address: raw.billing_address ? {
2004
- name: raw.billing_address.name,
2005
- address1: raw.billing_address.street1,
2006
- address2: raw.billing_address.street2,
2007
- city: raw.billing_address.city,
2008
- state: raw.billing_address.state,
2009
- zip: raw.billing_address.zip,
2010
- country_code: raw.billing_address.country
2011
- } : null,
2012
- payment_type: raw.type,
2013
- source: "",
2014
- updated_at: raw.updated_at ?? ""
2015
- };
2016
- }
2017
- const notImplemented = () => {
2018
- throw new Error("Not available in portal-tenant context");
2019
- };
2020
- /**
2021
- * Adapts the portal-tenant PayApi to the FluidPayApi shape required by
2022
- * FluidPayCoreProvider. Only `vault.fetchCredentials` is implemented —
2023
- * the rest of the FluidPayApi surface is not used by the profile-ui
2024
- * components that consume this provider in the portal context.
2025
- */
2026
- function createFluidPayApiAdapter(payApi) {
2027
- return {
2028
- customers: {
2029
- fetchAccount: notImplemented,
2030
- update: notImplemented
2031
- },
2032
- addresses: {
2033
- fetchAll: notImplemented,
2034
- create: notImplemented,
2035
- update: notImplemented,
2036
- delete: notImplemented
2037
- },
2038
- paymentMethods: {
2039
- fetchAll: notImplemented,
2040
- addCreditCard: notImplemented,
2041
- delete: notImplemented,
2042
- updateDefault: notImplemented,
2043
- update: notImplemented
2044
- },
2045
- vault: { fetchCredentials: async () => {
2046
- const response = await payApi.fetchVaultCredentials();
2047
- return {
2048
- vault: {
2049
- vault_id: response.vault.vault_id,
2050
- environment: response.vault.environment,
2051
- route_id: response.vault.route_id ?? "",
2052
- requires_3ds: false
2053
- },
2054
- meta: {
2055
- request_id: response.meta?.request_id ?? "",
2056
- timestamp: response.meta?.timestamp ?? ""
2057
- }
2058
- };
2059
- } }
2060
- };
2061
- }
2062
- //#endregion
2063
- //#region ../../platform/address-autocomplete/src/components/AddressAutocompleteInput.tsx
2064
- const SET_OPTS = {
2065
- shouldValidate: true,
2066
- shouldDirty: true,
2067
- shouldTouch: true
2068
- };
2069
- const DEBOUNCE_MS = 250;
2070
- function AddressAutocompleteInput({ control, setValue, countryIso, addressLineField, cityField, stateField, postalCodeField, placeholder = "Start typing your address...", disabled }) {
2071
- const api = useAddressAutocompleteApi();
2072
- const { field } = useController({
2073
- name: addressLineField,
2074
- control
2075
- });
2076
- const [suggestions, setSuggestions] = useState([]);
2077
- const [isOpen, setIsOpen] = useState(false);
2078
- const [needsCountry, setNeedsCountry] = useState(false);
2079
- const containerRef = useRef(null);
2080
- const requestIdRef = useRef(0);
2081
- const debounceTimerRef = useRef(null);
2082
- const isCountrySelected = useMemo(() => Boolean(countryIso && countryIso.trim() !== ""), [countryIso]);
2083
- useEffect(() => {
2084
- function onClickOutside(e) {
2085
- if (containerRef.current && !containerRef.current.contains(e.target)) {
2086
- setIsOpen(false);
2087
- setNeedsCountry(false);
2088
- }
2089
- }
2090
- document.addEventListener("mousedown", onClickOutside);
2091
- return () => document.removeEventListener("mousedown", onClickOutside);
2092
- }, []);
2093
- useEffect(() => () => {
2094
- if (debounceTimerRef.current !== null) clearTimeout(debounceTimerRef.current);
2095
- }, []);
2096
- const populate = useCallback((s) => {
2097
- setValue(addressLineField, s.streetLine, SET_OPTS);
2098
- setValue(cityField, s.city, SET_OPTS);
2099
- setValue(stateField, s.state, SET_OPTS);
2100
- setValue(postalCodeField, s.postalCode, SET_OPTS);
2101
- }, [
2102
- addressLineField,
2103
- cityField,
2104
- postalCodeField,
2105
- setValue,
2106
- stateField
2107
- ]);
2108
- const handleChange = useCallback((e) => {
2109
- const value = e.target.value;
2110
- field.onChange(value);
2111
- if (debounceTimerRef.current !== null) {
2112
- clearTimeout(debounceTimerRef.current);
2113
- debounceTimerRef.current = null;
2114
- }
2115
- if (value.length < 1) {
2116
- setIsOpen(false);
2117
- setNeedsCountry(false);
2118
- setSuggestions([]);
2119
- return;
2120
- }
2121
- if (!isCountrySelected) {
2122
- setNeedsCountry(true);
2123
- setIsOpen(true);
2124
- return;
2125
- }
2126
- setNeedsCountry(false);
2127
- const requestId = ++requestIdRef.current;
2128
- debounceTimerRef.current = setTimeout(() => {
2129
- debounceTimerRef.current = null;
2130
- api.fetchSuggestions({
2131
- query: value,
2132
- countryIso
2133
- }).then((next) => {
2134
- if (requestId !== requestIdRef.current) return;
2135
- setSuggestions(next);
2136
- setIsOpen(true);
2137
- });
2138
- }, DEBOUNCE_MS);
2139
- }, [
2140
- api,
2141
- countryIso,
2142
- field,
2143
- isCountrySelected
2144
- ]);
2145
- const handleClick = useCallback(async (suggestion) => {
2146
- if (debounceTimerRef.current !== null) {
2147
- clearTimeout(debounceTimerRef.current);
2148
- debounceTimerRef.current = null;
2149
- }
2150
- const clickId = ++requestIdRef.current;
2151
- if (!suggestion.needsDetailLookup) {
2152
- populate({
2153
- streetLine: suggestion.streetLine ?? suggestion.text,
2154
- city: suggestion.city ?? "",
2155
- state: suggestion.state ?? "",
2156
- postalCode: suggestion.postalCode ?? ""
2157
- });
2158
- setIsOpen(false);
2159
- return;
2160
- }
2161
- const { details, drilldownSuggestions } = await api.fetchDetails({
2162
- suggestion,
2163
- countryIso
2164
- });
2165
- if (clickId !== requestIdRef.current) return;
2166
- if (details) {
2167
- populate(details);
2168
- setIsOpen(false);
2169
- return;
2170
- }
2171
- setSuggestions(drilldownSuggestions);
2172
- setIsOpen(true);
2173
- }, [
2174
- api,
2175
- countryIso,
2176
- populate
2177
- ]);
2178
- return /* @__PURE__ */ jsxs("div", {
2179
- ref: containerRef,
2180
- className: "relative",
2181
- children: [
2182
- /* @__PURE__ */ jsx(Input, {
2183
- type: "text",
2184
- ref: field.ref,
2185
- value: field.value ?? "",
2186
- onChange: handleChange,
2187
- onBlur: field.onBlur,
2188
- placeholder,
2189
- disabled
2190
- }),
2191
- isOpen && needsCountry && /* @__PURE__ */ jsx("div", {
2192
- className: "bg-muted text-foreground absolute z-50 mt-1 w-full rounded-md px-3 py-2 text-sm shadow-lg",
2193
- children: "Please select a country first to enable address suggestions"
2194
- }),
2195
- isOpen && !needsCountry && suggestions.length > 0 && /* @__PURE__ */ jsx("div", {
2196
- className: "bg-background text-foreground border-border absolute z-50 mt-1 max-h-60 w-full overflow-y-auto rounded-md border shadow-lg",
2197
- children: suggestions.map((s) => /* @__PURE__ */ jsxs("button", {
2198
- type: "button",
2199
- onClick: () => {
2200
- handleClick(s).catch((err) => {
2201
- console.error("Address autocomplete click failed:", err);
2202
- });
2203
- },
2204
- className: "hover:bg-accent block w-full cursor-pointer px-3 py-2 text-left text-sm",
2205
- children: [s.text, s.needsDetailLookup ? " →" : ""]
2206
- }, s.id))
2207
- })
2208
- ]
2209
- });
2210
- }
2211
- //#endregion
2212
- export { AddressFormDialog as a, ProfileUIProvider as c, getCardExpiry as d, UserInfoDialog as f, useProfileTranslation as g, ProfileTranslationBridge as h, CreditCardFormDialog as i, PaymentIcon as l, EllipsesDropdown as m, createFluidPayApiAdapter as n, EditPaymentMethodDialog as o, ConfirmActionDialog as p, mapToFluidPayPaymentMethod as r, FluidPayCoreProvider as s, AddressAutocompleteInput as t, getCardDisplayName as u };
2213
-
2214
- //# sourceMappingURL=AddressAutocompleteInput-DiXfEThY.mjs.map