@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
@@ -0,0 +1,2214 @@
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-BcjRy6IX.mjs").then((m) => m.default),
88
+ el: () => import("./el-XW2NR7Vh.mjs").then((m) => m.default),
89
+ es: () => import("./es-DnX0XFqD.mjs").then((m) => m.default),
90
+ fr: () => import("./fr-7IjPHZxW.mjs").then((m) => m.default),
91
+ he: () => import("./he-OAQhQxWm.mjs").then((m) => m.default),
92
+ hu: () => import("./hu-CDvVhWXF.mjs").then((m) => m.default),
93
+ id: () => import("./id-DP5zxg41.mjs").then((m) => m.default),
94
+ it: () => import("./it-CqvzV23C.mjs").then((m) => m.default),
95
+ ja: () => import("./ja-B1DQXHgd.mjs").then((m) => m.default),
96
+ ko: () => import("./ko-PUpIJgsU.mjs").then((m) => m.default),
97
+ nl: () => import("./nl-BdRkpB-f.mjs").then((m) => m.default),
98
+ pl: () => import("./pl-XfyC_jQs.mjs").then((m) => m.default),
99
+ pt: () => import("./pt-DLFLkEpR.mjs").then((m) => m.default),
100
+ ro: () => import("./ro-Cu3cJnmT.mjs").then((m) => m.default),
101
+ ru: () => import("./ru-C9sTu8KO.mjs").then((m) => m.default),
102
+ th: () => import("./th-CmX6_2CM.mjs").then((m) => m.default),
103
+ tl: () => import("./tl-DI0F6h6a.mjs").then((m) => m.default),
104
+ tr: () => import("./tr-D1KVbmGI.mjs").then((m) => m.default),
105
+ zh_CN: () => import("./zh_CN-CEwzKvT8.mjs").then((m) => m.default),
106
+ zh_TW: () => import("./zh_TW-BeBQ0pV1.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-C_H7gSJt.mjs.map