@fluid-app/portal-sdk 0.1.265 → 0.1.267
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.
- package/dist/{AddressAutocompleteInput-DDI7GWth.cjs → AddressAutocompleteInput-CAI2D_JY.cjs} +541 -528
- package/dist/AddressAutocompleteInput-CAI2D_JY.cjs.map +1 -0
- package/dist/{AddressAutocompleteInput-Dsclbq-c.mjs → AddressAutocompleteInput-CdNdMAb3.mjs} +515 -514
- package/dist/AddressAutocompleteInput-CdNdMAb3.mjs.map +1 -0
- package/dist/{AppDownloadScreen-Dgo-7tzQ.mjs → AppDownloadScreen-CV_g8OyO.mjs} +1 -1
- package/dist/{AppDownloadScreen-Dgo-7tzQ.mjs.map → AppDownloadScreen-CV_g8OyO.mjs.map} +1 -1
- package/dist/{AppDownloadScreen-D1AKoW98.cjs → AppDownloadScreen-DzqLqMiK.cjs} +1 -1
- package/dist/{AppDownloadScreen-D1AKoW98.cjs.map → AppDownloadScreen-DzqLqMiK.cjs.map} +1 -1
- package/dist/{ContactsScreen-EQy1rIPS.cjs → ContactsScreen-B8xtmxM9.cjs} +5 -4
- package/dist/{ContactsScreen-DHq-iKqA.mjs → ContactsScreen-BX8yb3vp.mjs} +25 -24
- package/dist/{ContactsScreen-DHq-iKqA.mjs.map → ContactsScreen-BX8yb3vp.mjs.map} +1 -1
- package/dist/{ContactsScreen-gkKSReAy.cjs → ContactsScreen-BxXA0o7F.cjs} +26 -25
- package/dist/{ContactsScreen-gkKSReAy.cjs.map → ContactsScreen-BxXA0o7F.cjs.map} +1 -1
- package/dist/{MessagingScreen-ulyB4v7S.mjs → MessagingScreen-CXKk_cc0.mjs} +3 -3
- package/dist/{MessagingScreen-BvNefjAW.cjs → MessagingScreen-CesPwrRv.cjs} +3 -3
- package/dist/{MessagingScreen-B1RaTiK3.cjs → MessagingScreen-ClNKaQE1.cjs} +4 -4
- package/dist/{MessagingScreen-B1RaTiK3.cjs.map → MessagingScreen-ClNKaQE1.cjs.map} +1 -1
- package/dist/{MessagingScreen-I6KNH5mG.mjs → MessagingScreen-uxtPBZ-m.mjs} +3 -3
- package/dist/{MessagingScreen-I6KNH5mG.mjs.map → MessagingScreen-uxtPBZ-m.mjs.map} +1 -1
- package/dist/{MySiteScreen-CjxVYCy3.cjs → MySiteScreen--vVsQvKe.cjs} +3 -3
- package/dist/{MySiteScreen-CjxVYCy3.cjs.map → MySiteScreen--vVsQvKe.cjs.map} +1 -1
- package/dist/{MySiteScreen-BGE15I3O.cjs → MySiteScreen-BvMAX3w3.cjs} +3 -3
- package/dist/{MySiteScreen-UnihGvkl.mjs → MySiteScreen-D0cmmJSt.mjs} +3 -3
- package/dist/{MySiteScreen-UnihGvkl.mjs.map → MySiteScreen-D0cmmJSt.mjs.map} +1 -1
- package/dist/{OrdersScreen-Bkvv2kD8.cjs → OrdersScreen-BWiNX0-n.cjs} +1 -1
- package/dist/{OrdersScreen-Bkvv2kD8.cjs.map → OrdersScreen-BWiNX0-n.cjs.map} +1 -1
- package/dist/{OrdersScreen-D97Q-_Aj.mjs → OrdersScreen-Czr4Km3x.mjs} +1 -1
- package/dist/{OrdersScreen-D97Q-_Aj.mjs.map → OrdersScreen-Czr4Km3x.mjs.map} +1 -1
- package/dist/{OrdersScreen-CiqE8fWy.cjs → OrdersScreen-DGTu7t6N.cjs} +1 -1
- package/dist/{PortalProductsApiProvider-Cbm2vy68.cjs → PortalProductsApiProvider-BiikvmwO.cjs} +1 -1
- package/dist/{PortalProductsApiProvider-Cbm2vy68.cjs.map → PortalProductsApiProvider-BiikvmwO.cjs.map} +1 -1
- package/dist/{PortalProductsApiProvider-BVWCwt5V.mjs → PortalProductsApiProvider-cV7ssBv1.mjs} +1 -1
- package/dist/{PortalProductsApiProvider-BVWCwt5V.mjs.map → PortalProductsApiProvider-cV7ssBv1.mjs.map} +1 -1
- package/dist/{ProfileScreen-B7QchKri.cjs → ProfileScreen-CiNPIOXb.cjs} +5 -3
- package/dist/{ProfileScreen-CLs7I118.mjs → ProfileScreen-DHT21om9.mjs} +5 -3
- package/dist/{ProfileScreen-I7c6sZTN.cjs → ProfileScreen-DKBiSU8m.cjs} +277 -218
- package/dist/ProfileScreen-DKBiSU8m.cjs.map +1 -0
- package/dist/{ProfileScreen-CAyyvXRF.mjs → ProfileScreen-DW2MG_7B.mjs} +277 -218
- package/dist/ProfileScreen-DW2MG_7B.mjs.map +1 -0
- package/dist/{ShareablesScreen-BGjmPCaK.cjs → ShareablesScreen-BA3BO13S.cjs} +7 -7
- package/dist/{ShareablesScreen-BGjmPCaK.cjs.map → ShareablesScreen-BA3BO13S.cjs.map} +1 -1
- package/dist/{ShareablesScreen-C8DEaAbf.mjs → ShareablesScreen-CVQRka74.mjs} +7 -7
- package/dist/{ShareablesScreen-C8DEaAbf.mjs.map → ShareablesScreen-CVQRka74.mjs.map} +1 -1
- package/dist/{ShareablesScreen-CFDMqtbJ.cjs → ShareablesScreen-DIdPNvMN.cjs} +7 -7
- package/dist/{ShareablesScreen-CpMBwPc7.mjs → ShareablesScreen-DNhjtDVp.mjs} +7 -7
- package/dist/{ShopScreen-CyQu9_l4.cjs → ShopScreen-BTDncba3.cjs} +4 -3
- package/dist/{ShopScreen-bybdzvHB.cjs → ShopScreen-C2XsDiFt.cjs} +25 -24
- package/dist/{ShopScreen-bybdzvHB.cjs.map → ShopScreen-C2XsDiFt.cjs.map} +1 -1
- package/dist/{ShopScreen-zGLod99Z.mjs → ShopScreen-D63Jrfb4.mjs} +24 -23
- package/dist/{ShopScreen-zGLod99Z.mjs.map → ShopScreen-D63Jrfb4.mjs.map} +1 -1
- package/dist/{ShopScreen-Dxwt-CT6.mjs → ShopScreen-lm_Nt_b5.mjs} +4 -3
- package/dist/{SubscriptionsScreen-D6ihqFXV.mjs → SubscriptionsScreen-BNXHGFip.mjs} +2 -2
- package/dist/{SubscriptionsScreen-D6ihqFXV.mjs.map → SubscriptionsScreen-BNXHGFip.mjs.map} +1 -1
- package/dist/{SubscriptionsScreen-DJEshlG9.cjs → SubscriptionsScreen-DaqJ_Z-W.cjs} +3 -2
- package/dist/{SubscriptionsScreen-Pbir3_-3.cjs → SubscriptionsScreen-Ed-CnC9d.cjs} +3 -3
- package/dist/{SubscriptionsScreen-Pbir3_-3.cjs.map → SubscriptionsScreen-Ed-CnC9d.cjs.map} +1 -1
- package/dist/{UpgradeScreen-DPJ99rGD.cjs → UpgradeScreen-BubXBFy1.cjs} +1 -1
- package/dist/{UpgradeScreen-DNJwwjqK.cjs → UpgradeScreen-CdMGAasx.cjs} +1 -1
- package/dist/{UpgradeScreen-DNJwwjqK.cjs.map → UpgradeScreen-CdMGAasx.cjs.map} +1 -1
- package/dist/{UpgradeScreen-QDtih375.mjs → UpgradeScreen-Co9Fz5pM.mjs} +1 -1
- package/dist/{UpgradeScreen-QDtih375.mjs.map → UpgradeScreen-Co9Fz5pM.mjs.map} +1 -1
- package/dist/{de-nUbeI_NX.cjs → de-CNENaRs6.cjs} +1 -1
- package/dist/de-CNENaRs6.cjs.map +1 -0
- package/dist/{de-DBIQOqBZ.mjs → de-CYPz9QCN.mjs} +1 -1
- package/dist/de-CYPz9QCN.mjs.map +1 -0
- package/dist/de-DIQXjt52.mjs +6 -0
- package/dist/de-DIQXjt52.mjs.map +1 -0
- package/dist/de-d3VTUeXj.cjs +12 -0
- package/dist/de-d3VTUeXj.cjs.map +1 -0
- package/dist/{de-279qQKkW.cjs → de-dDGfzqFM.cjs} +1 -1
- package/dist/de-dDGfzqFM.cjs.map +1 -0
- package/dist/{de-DIm0Bd7M.mjs → de-eRGaUoRd.mjs} +1 -1
- package/dist/de-eRGaUoRd.mjs.map +1 -0
- package/dist/{dist-PbA1vxAz.mjs → dist-BstXVe25.mjs} +1 -1
- package/dist/{dist-PbA1vxAz.mjs.map → dist-BstXVe25.mjs.map} +1 -1
- package/dist/{dist-o2cjwzIa.mjs → dist-C1en2Zru.mjs} +2 -2
- package/dist/{dist-o2cjwzIa.mjs.map → dist-C1en2Zru.mjs.map} +1 -1
- package/dist/{dist-IdGYDjg_.cjs → dist-CV5FDujs.cjs} +2 -2
- package/dist/{dist-IdGYDjg_.cjs.map → dist-CV5FDujs.cjs.map} +1 -1
- package/dist/{dist-JCbFbdn0.cjs → dist-DSufwDW6.cjs} +1 -1
- package/dist/{dist-JCbFbdn0.cjs.map → dist-DSufwDW6.cjs.map} +1 -1
- package/dist/{dist-DbRTQ2QF.cjs → dist-D_3_ZuC5.cjs} +1 -1
- package/dist/{dist-DbRTQ2QF.cjs.map → dist-D_3_ZuC5.cjs.map} +1 -1
- package/dist/el-4ZddEaz6.cjs +12 -0
- package/dist/el-4ZddEaz6.cjs.map +1 -0
- package/dist/{el-CFPYRWKm.cjs → el-BgL7QVPh.cjs} +1 -1
- package/dist/el-BgL7QVPh.cjs.map +1 -0
- package/dist/el-C2NyoNNn.mjs +6 -0
- package/dist/el-C2NyoNNn.mjs.map +1 -0
- package/dist/{el-Cy89Qwmv.cjs → el-CPSIFx9y.cjs} +1 -1
- package/dist/el-CPSIFx9y.cjs.map +1 -0
- package/dist/{el-CG8xv0Ph.mjs → el-CUtlRAR3.mjs} +1 -1
- package/dist/el-CUtlRAR3.mjs.map +1 -0
- package/dist/{el-ipi9W9Ec.mjs → el-DJZFlGsR.mjs} +1 -1
- package/dist/el-DJZFlGsR.mjs.map +1 -0
- package/dist/{es-UfEBhcZD.cjs → es-B5heQ57j.cjs} +1 -1
- package/dist/{es-UfEBhcZD.cjs.map → es-B5heQ57j.cjs.map} +1 -1
- package/dist/es-Bdq2DwMl.mjs +6 -0
- package/dist/es-Bdq2DwMl.mjs.map +1 -0
- package/dist/{es-DrlfYBqz.mjs → es-BuR3merM.mjs} +1 -1
- package/dist/es-BuR3merM.mjs.map +1 -0
- package/dist/{es-DLfWfxCc.cjs → es-CBv6_uro.cjs} +1 -1
- package/dist/es-CBv6_uro.cjs.map +1 -0
- package/dist/es-CjwVHivN.cjs +12 -0
- package/dist/es-CjwVHivN.cjs.map +1 -0
- package/dist/{es-CKodffz2.cjs → es-DLhCSXKi.cjs} +1 -1
- package/dist/es-DLhCSXKi.cjs.map +1 -0
- package/dist/{es-dXxWYwef.mjs → es-uobF4B0a.mjs} +1 -1
- package/dist/es-uobF4B0a.mjs.map +1 -0
- package/dist/{es-WliQCuZZ.mjs → es-vAAOLrG8.mjs} +1 -1
- package/dist/{es-WliQCuZZ.mjs.map → es-vAAOLrG8.mjs.map} +1 -1
- package/dist/{fr-43gGGs9C.cjs → fr-BIA1FZab.cjs} +1 -1
- package/dist/fr-BIA1FZab.cjs.map +1 -0
- package/dist/fr-Bu2PQQu9.mjs +6 -0
- package/dist/fr-Bu2PQQu9.mjs.map +1 -0
- package/dist/{fr-Cs0GkDod.mjs → fr-CpG8NFm4.mjs} +1 -1
- package/dist/fr-CpG8NFm4.mjs.map +1 -0
- package/dist/{fr-C3IQZmS6.cjs → fr-D5zMgNzm.cjs} +1 -1
- package/dist/fr-D5zMgNzm.cjs.map +1 -0
- package/dist/fr-H86Y8KIi.cjs +12 -0
- package/dist/fr-H86Y8KIi.cjs.map +1 -0
- package/dist/{fr-D5gTH6My.mjs → fr-PBW3pZoV.mjs} +1 -1
- package/dist/fr-PBW3pZoV.mjs.map +1 -0
- package/dist/{he-DBFr6ta3.cjs → he-C0ioUOcX.cjs} +1 -1
- package/dist/he-C0ioUOcX.cjs.map +1 -0
- package/dist/he-CUfyENVz.mjs +6 -0
- package/dist/he-CUfyENVz.mjs.map +1 -0
- package/dist/{he-CAJo3rw8.mjs → he-CjwwozVB.mjs} +1 -1
- package/dist/he-CjwwozVB.mjs.map +1 -0
- package/dist/{he-DIw25bEi.mjs → he-D_8106gq.mjs} +1 -1
- package/dist/he-D_8106gq.mjs.map +1 -0
- package/dist/he-DquTMNPf.cjs +12 -0
- package/dist/he-DquTMNPf.cjs.map +1 -0
- package/dist/{he-XJMTsvul.cjs → he-DzU1g2tp.cjs} +1 -1
- package/dist/he-DzU1g2tp.cjs.map +1 -0
- package/dist/{hu-BFg-TqyH.cjs → hu-B3OSOWUF.cjs} +1 -1
- package/dist/hu-B3OSOWUF.cjs.map +1 -0
- package/dist/hu-CtVrmjcA.cjs +12 -0
- package/dist/hu-CtVrmjcA.cjs.map +1 -0
- package/dist/hu-DXZyVvy9.mjs +6 -0
- package/dist/hu-DXZyVvy9.mjs.map +1 -0
- package/dist/{hu-CA6t6Dw2.mjs → hu-D_NXP2Mc.mjs} +1 -1
- package/dist/hu-D_NXP2Mc.mjs.map +1 -0
- package/dist/{hu-BydB22cZ.cjs → hu-LBMkEJ6f.cjs} +1 -1
- package/dist/hu-LBMkEJ6f.cjs.map +1 -0
- package/dist/{hu-CyNYxEKu.mjs → hu-jiRmkn7U.mjs} +1 -1
- package/dist/hu-jiRmkn7U.mjs.map +1 -0
- package/dist/id-1VGgjWoW.mjs +6 -0
- package/dist/id-1VGgjWoW.mjs.map +1 -0
- package/dist/id-BBpIBsSc.cjs +12 -0
- package/dist/id-BBpIBsSc.cjs.map +1 -0
- package/dist/{id-jnzbhtDN.mjs → id-BFdSDBn3.mjs} +1 -1
- package/dist/id-BFdSDBn3.mjs.map +1 -0
- package/dist/{id-CKbHkJJN.mjs → id-Bq7ibEpx.mjs} +1 -1
- package/dist/id-Bq7ibEpx.mjs.map +1 -0
- package/dist/{id-0CifOwIm.cjs → id-CQkXSdum.cjs} +1 -1
- package/dist/id-CQkXSdum.cjs.map +1 -0
- package/dist/{id-DyVPPnUt.cjs → id-DiJHApIG.cjs} +1 -1
- package/dist/id-DiJHApIG.cjs.map +1 -0
- package/dist/index.cjs +39 -38
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts.map +1 -1
- package/dist/index.d.mts.map +1 -1
- package/dist/index.mjs +39 -38
- package/dist/index.mjs.map +1 -1
- package/dist/{isAfter-CTK8CRWu.cjs → isAfter-DXdeICis.cjs} +1 -1
- package/dist/{isAfter-CTK8CRWu.cjs.map → isAfter-DXdeICis.cjs.map} +1 -1
- package/dist/it-BxJom82F.mjs +6 -0
- package/dist/it-BxJom82F.mjs.map +1 -0
- package/dist/{it-Fm6u9JrC.cjs → it-CgZu2ukV.cjs} +1 -1
- package/dist/it-CgZu2ukV.cjs.map +1 -0
- package/dist/{it-CBdazuIz.cjs → it-D3vAlRc4.cjs} +1 -1
- package/dist/it-D3vAlRc4.cjs.map +1 -0
- package/dist/it-DH6auMRV.cjs +12 -0
- package/dist/it-DH6auMRV.cjs.map +1 -0
- package/dist/{it-B2mg2-zP.mjs → it-DmgqwNhL.mjs} +1 -1
- package/dist/it-DmgqwNhL.mjs.map +1 -0
- package/dist/{it-EYEdku-v.mjs → it-gvKEQfQ3.mjs} +1 -1
- package/dist/it-gvKEQfQ3.mjs.map +1 -0
- package/dist/ja-BA5gMb59.cjs +12 -0
- package/dist/ja-BA5gMb59.cjs.map +1 -0
- package/dist/{ja-CVtC1kDv.cjs → ja-CpuWC83m.cjs} +1 -1
- package/dist/ja-CpuWC83m.cjs.map +1 -0
- package/dist/ja-Dn1Glx9u.mjs +6 -0
- package/dist/ja-Dn1Glx9u.mjs.map +1 -0
- package/dist/{ja-rVIGui_5.mjs → ja-DuK6QB2d.mjs} +1 -1
- package/dist/ja-DuK6QB2d.mjs.map +1 -0
- package/dist/{ja-Lq3rSBfi.cjs → ja-r5xA0to0.cjs} +1 -1
- package/dist/ja-r5xA0to0.cjs.map +1 -0
- package/dist/{ja-kJj7CQLU.mjs → ja-tAMisqD_.mjs} +1 -1
- package/dist/ja-tAMisqD_.mjs.map +1 -0
- package/dist/{ko--luZIaVp.mjs → ko-BqnyX7LX.mjs} +1 -1
- package/dist/ko-BqnyX7LX.mjs.map +1 -0
- package/dist/ko-CR7BWhYE.mjs +6 -0
- package/dist/ko-CR7BWhYE.mjs.map +1 -0
- package/dist/{ko-CHWM5LEi.cjs → ko-DafXD0Sx.cjs} +1 -1
- package/dist/ko-DafXD0Sx.cjs.map +1 -0
- package/dist/ko-DrZ0Re6T.cjs +12 -0
- package/dist/ko-DrZ0Re6T.cjs.map +1 -0
- package/dist/{ko-B9Nql_IM.mjs → ko-m1xOemUI.mjs} +1 -1
- package/dist/ko-m1xOemUI.mjs.map +1 -0
- package/dist/{ko-R-Le9JU8.cjs → ko-qXHFyR5R.cjs} +1 -1
- package/dist/ko-qXHFyR5R.cjs.map +1 -0
- package/dist/{nl-dE66DT9d.cjs → nl-8-U8TV_S.cjs} +1 -1
- package/dist/nl-8-U8TV_S.cjs.map +1 -0
- package/dist/{nl-Cj5lzP8E.mjs → nl-BmRtfSPI.mjs} +1 -1
- package/dist/nl-BmRtfSPI.mjs.map +1 -0
- package/dist/{nl-CWG4gOew.cjs → nl-C2-JEDQW.cjs} +1 -1
- package/dist/nl-C2-JEDQW.cjs.map +1 -0
- package/dist/nl-D9PAaUS3.cjs +12 -0
- package/dist/nl-D9PAaUS3.cjs.map +1 -0
- package/dist/nl-DPQxetE5.mjs +6 -0
- package/dist/nl-DPQxetE5.mjs.map +1 -0
- package/dist/{nl--DzKOwwS.mjs → nl-DYtAo4Qm.mjs} +1 -1
- package/dist/nl-DYtAo4Qm.mjs.map +1 -0
- package/dist/pl-BGCGxbW7.cjs +12 -0
- package/dist/pl-BGCGxbW7.cjs.map +1 -0
- package/dist/pl-BQYA4SFy.mjs +6 -0
- package/dist/pl-BQYA4SFy.mjs.map +1 -0
- package/dist/{pl-D5YTo-A_.cjs → pl-CWsagBg0.cjs} +1 -1
- package/dist/pl-CWsagBg0.cjs.map +1 -0
- package/dist/{pl-d7LeUSmm.cjs → pl-ClFwRC3T.cjs} +1 -1
- package/dist/pl-ClFwRC3T.cjs.map +1 -0
- package/dist/{pl-gQCm9h5x.mjs → pl-DZS5xZcM.mjs} +1 -1
- package/dist/pl-DZS5xZcM.mjs.map +1 -0
- package/dist/{pl-Cc6_gIkp.mjs → pl-Dach9ouY.mjs} +1 -1
- package/dist/pl-Dach9ouY.mjs.map +1 -0
- package/dist/pt-BqaFJl6v.cjs +12 -0
- package/dist/pt-BqaFJl6v.cjs.map +1 -0
- package/dist/{pt-DlWYOQB7.cjs → pt-CMYunTGg.cjs} +1 -1
- package/dist/pt-CMYunTGg.cjs.map +1 -0
- package/dist/{pt-BCUkY9zb.mjs → pt-D3-9DFKK.mjs} +1 -1
- package/dist/pt-D3-9DFKK.mjs.map +1 -0
- package/dist/{pt-7ife3c49.mjs → pt-DRJc_t1S.mjs} +1 -1
- package/dist/pt-DRJc_t1S.mjs.map +1 -0
- package/dist/pt-UsNRAg_h.mjs +6 -0
- package/dist/pt-UsNRAg_h.mjs.map +1 -0
- package/dist/{pt-DR-ZT1U4.cjs → pt-kcThWuXv.cjs} +1 -1
- package/dist/pt-kcThWuXv.cjs.map +1 -0
- package/dist/{ro-2M9BSWec.cjs → ro-BMrjfjVZ.cjs} +1 -1
- package/dist/ro-BMrjfjVZ.cjs.map +1 -0
- package/dist/{ro-CxRERiJd.cjs → ro-CUvCt-sd.cjs} +1 -1
- package/dist/ro-CUvCt-sd.cjs.map +1 -0
- package/dist/ro-DyPqChDY.cjs +12 -0
- package/dist/ro-DyPqChDY.cjs.map +1 -0
- package/dist/{ro-NZvVg-SN.mjs → ro-GqR5Phak.mjs} +1 -1
- package/dist/ro-GqR5Phak.mjs.map +1 -0
- package/dist/ro-VVODjcKq.mjs +6 -0
- package/dist/ro-VVODjcKq.mjs.map +1 -0
- package/dist/{ro-OObk2uNY.mjs → ro-tmWr5klb.mjs} +1 -1
- package/dist/ro-tmWr5klb.mjs.map +1 -0
- package/dist/ru-Cjaz18a6.mjs +6 -0
- package/dist/ru-Cjaz18a6.mjs.map +1 -0
- package/dist/{ru-CG4wTAD9.mjs → ru-CtogmTQ5.mjs} +1 -1
- package/dist/ru-CtogmTQ5.mjs.map +1 -0
- package/dist/ru-CwTEZyeW.cjs +12 -0
- package/dist/ru-CwTEZyeW.cjs.map +1 -0
- package/dist/{ru-DPeKWZMB.mjs → ru-DxA2FuYd.mjs} +1 -1
- package/dist/ru-DxA2FuYd.mjs.map +1 -0
- package/dist/{ru-BaL7GN_2.cjs → ru-WiWCyNW4.cjs} +1 -1
- package/dist/ru-WiWCyNW4.cjs.map +1 -0
- package/dist/{ru-B421lKBb.cjs → ru-_0qz03GA.cjs} +1 -1
- package/dist/ru-_0qz03GA.cjs.map +1 -0
- package/dist/{sortable.esm-BqjLKOgx.mjs → sortable.esm-CTGr-zzO.mjs} +1 -1
- package/dist/{sortable.esm-BqjLKOgx.mjs.map → sortable.esm-CTGr-zzO.mjs.map} +1 -1
- package/dist/{static-dict-adapter-CDqZ0OAW.mjs → static-dict-adapter-BmViGsgo.mjs} +3 -18
- package/dist/static-dict-adapter-BmViGsgo.mjs.map +1 -0
- package/dist/{static-dict-adapter-xbo0bgPs.cjs → static-dict-adapter-Cocq4m7Z.cjs} +1 -22
- package/dist/static-dict-adapter-Cocq4m7Z.cjs.map +1 -0
- package/dist/{th-Co1hoBiY.mjs → th-7ddO04Y7.mjs} +1 -1
- package/dist/th-7ddO04Y7.mjs.map +1 -0
- package/dist/{th-C1kMfGB3.cjs → th-B5BneGRy.cjs} +1 -1
- package/dist/th-B5BneGRy.cjs.map +1 -0
- package/dist/th-B8MvRao5.mjs +6 -0
- package/dist/th-B8MvRao5.mjs.map +1 -0
- package/dist/th-DJv22inI.cjs +12 -0
- package/dist/th-DJv22inI.cjs.map +1 -0
- package/dist/{th-eBfuOCvu.cjs → th-EPBSVsTp.cjs} +1 -1
- package/dist/th-EPBSVsTp.cjs.map +1 -0
- package/dist/{th-R7igtrS_.mjs → th-khTVopkq.mjs} +1 -1
- package/dist/th-khTVopkq.mjs.map +1 -0
- package/dist/tl-C5Wcq65m.cjs +12 -0
- package/dist/tl-C5Wcq65m.cjs.map +1 -0
- package/dist/{tl-CGRnvmA1.mjs → tl-CYAD3ly1.mjs} +1 -1
- package/dist/tl-CYAD3ly1.mjs.map +1 -0
- package/dist/tl-CruXLGbs.mjs +6 -0
- package/dist/tl-CruXLGbs.mjs.map +1 -0
- package/dist/{tl-B4CFGEoY.mjs → tl-D6gwGYF3.mjs} +1 -1
- package/dist/tl-D6gwGYF3.mjs.map +1 -0
- package/dist/{tl-CUYs9-sL.cjs → tl-D_Sjxwp9.cjs} +1 -1
- package/dist/tl-D_Sjxwp9.cjs.map +1 -0
- package/dist/{tl-DorumJMB.cjs → tl-DoMA7n4R.cjs} +1 -1
- package/dist/tl-DoMA7n4R.cjs.map +1 -0
- package/dist/tr-6syTLkPv.mjs +6 -0
- package/dist/tr-6syTLkPv.mjs.map +1 -0
- package/dist/{tr-CPLe40Ae.cjs → tr-BEynTMIt.cjs} +1 -1
- package/dist/tr-BEynTMIt.cjs.map +1 -0
- package/dist/{tr-BC01ZEGi.mjs → tr-BFAJJLOz.mjs} +1 -1
- package/dist/tr-BFAJJLOz.mjs.map +1 -0
- package/dist/{tr-COGCOGtq.cjs → tr-CcHnx1hR.cjs} +1 -1
- package/dist/tr-CcHnx1hR.cjs.map +1 -0
- package/dist/{tr-eGLkz49G.mjs → tr-DSx0wzwc.mjs} +1 -1
- package/dist/tr-DSx0wzwc.mjs.map +1 -0
- package/dist/tr-Do5Qlssg.cjs +12 -0
- package/dist/tr-Do5Qlssg.cjs.map +1 -0
- package/dist/translation-api-context-factory-BH4KNa0H.mjs +19 -0
- package/dist/translation-api-context-factory-BH4KNa0H.mjs.map +1 -0
- package/dist/translation-api-context-factory-Bzw9AErt.cjs +25 -0
- package/dist/translation-api-context-factory-Bzw9AErt.cjs.map +1 -0
- package/dist/{use-mysite-portal-YnHKJ-Y-.cjs → use-mysite-portal-Ch8KXp_I.cjs} +1 -1
- package/dist/{use-mysite-portal-YnHKJ-Y-.cjs.map → use-mysite-portal-Ch8KXp_I.cjs.map} +1 -1
- package/dist/{use-mysite-portal-B7N48vKo.mjs → use-mysite-portal-OOfCj5aP.mjs} +1 -1
- package/dist/{use-mysite-portal-B7N48vKo.mjs.map → use-mysite-portal-OOfCj5aP.mjs.map} +1 -1
- package/dist/{zh_CN-Cd3gmlOa.cjs → zh_CN-B8YangGu.cjs} +1 -1
- package/dist/zh_CN-B8YangGu.cjs.map +1 -0
- package/dist/zh_CN-BeGRsutH.mjs +6 -0
- package/dist/zh_CN-BeGRsutH.mjs.map +1 -0
- package/dist/{zh_CN-DDW3I2NO.mjs → zh_CN-CgSdEiYM.mjs} +1 -1
- package/dist/zh_CN-CgSdEiYM.mjs.map +1 -0
- package/dist/zh_CN-D2UAEoZC.cjs +12 -0
- package/dist/zh_CN-D2UAEoZC.cjs.map +1 -0
- package/dist/{zh_CN-Bvmrqi_G.cjs → zh_CN-DbYDbupi.cjs} +1 -1
- package/dist/zh_CN-DbYDbupi.cjs.map +1 -0
- package/dist/{zh_CN-TJLIUNnD.mjs → zh_CN-DjnCZ8Id.mjs} +1 -1
- package/dist/zh_CN-DjnCZ8Id.mjs.map +1 -0
- package/dist/{zh_TW-CRQAHSFO.mjs → zh_TW-BcuCD-Zm.mjs} +1 -1
- package/dist/zh_TW-BcuCD-Zm.mjs.map +1 -0
- package/dist/zh_TW-BiSU6cB0.cjs +12 -0
- package/dist/zh_TW-BiSU6cB0.cjs.map +1 -0
- package/dist/{zh_TW-DVfX_7Is.cjs → zh_TW-CJVe1kyC.cjs} +1 -1
- package/dist/zh_TW-CJVe1kyC.cjs.map +1 -0
- package/dist/{zh_TW-BV8FGjvy.cjs → zh_TW-CyZB0a6M.cjs} +1 -1
- package/dist/zh_TW-CyZB0a6M.cjs.map +1 -0
- package/dist/{zh_TW-BCknoR17.mjs → zh_TW-KzHZCA67.mjs} +1 -1
- package/dist/zh_TW-KzHZCA67.mjs.map +1 -0
- package/dist/zh_TW-RigLI8QK.mjs +6 -0
- package/dist/zh_TW-RigLI8QK.mjs.map +1 -0
- package/package.json +18 -18
- package/dist/AddressAutocompleteInput-DDI7GWth.cjs.map +0 -1
- package/dist/AddressAutocompleteInput-Dsclbq-c.mjs.map +0 -1
- package/dist/ProfileScreen-CAyyvXRF.mjs.map +0 -1
- package/dist/ProfileScreen-I7c6sZTN.cjs.map +0 -1
- package/dist/de-279qQKkW.cjs.map +0 -1
- package/dist/de-DBIQOqBZ.mjs.map +0 -1
- package/dist/de-DIm0Bd7M.mjs.map +0 -1
- package/dist/de-nUbeI_NX.cjs.map +0 -1
- package/dist/el-CFPYRWKm.cjs.map +0 -1
- package/dist/el-CG8xv0Ph.mjs.map +0 -1
- package/dist/el-Cy89Qwmv.cjs.map +0 -1
- package/dist/el-ipi9W9Ec.mjs.map +0 -1
- package/dist/es-CKodffz2.cjs.map +0 -1
- package/dist/es-DLfWfxCc.cjs.map +0 -1
- package/dist/es-DrlfYBqz.mjs.map +0 -1
- package/dist/es-dXxWYwef.mjs.map +0 -1
- package/dist/fr-43gGGs9C.cjs.map +0 -1
- package/dist/fr-C3IQZmS6.cjs.map +0 -1
- package/dist/fr-Cs0GkDod.mjs.map +0 -1
- package/dist/fr-D5gTH6My.mjs.map +0 -1
- package/dist/he-CAJo3rw8.mjs.map +0 -1
- package/dist/he-DBFr6ta3.cjs.map +0 -1
- package/dist/he-DIw25bEi.mjs.map +0 -1
- package/dist/he-XJMTsvul.cjs.map +0 -1
- package/dist/hu-BFg-TqyH.cjs.map +0 -1
- package/dist/hu-BydB22cZ.cjs.map +0 -1
- package/dist/hu-CA6t6Dw2.mjs.map +0 -1
- package/dist/hu-CyNYxEKu.mjs.map +0 -1
- package/dist/id-0CifOwIm.cjs.map +0 -1
- package/dist/id-CKbHkJJN.mjs.map +0 -1
- package/dist/id-DyVPPnUt.cjs.map +0 -1
- package/dist/id-jnzbhtDN.mjs.map +0 -1
- package/dist/it-B2mg2-zP.mjs.map +0 -1
- package/dist/it-CBdazuIz.cjs.map +0 -1
- package/dist/it-EYEdku-v.mjs.map +0 -1
- package/dist/it-Fm6u9JrC.cjs.map +0 -1
- package/dist/ja-CVtC1kDv.cjs.map +0 -1
- package/dist/ja-Lq3rSBfi.cjs.map +0 -1
- package/dist/ja-kJj7CQLU.mjs.map +0 -1
- package/dist/ja-rVIGui_5.mjs.map +0 -1
- package/dist/ko--luZIaVp.mjs.map +0 -1
- package/dist/ko-B9Nql_IM.mjs.map +0 -1
- package/dist/ko-CHWM5LEi.cjs.map +0 -1
- package/dist/ko-R-Le9JU8.cjs.map +0 -1
- package/dist/nl--DzKOwwS.mjs.map +0 -1
- package/dist/nl-CWG4gOew.cjs.map +0 -1
- package/dist/nl-Cj5lzP8E.mjs.map +0 -1
- package/dist/nl-dE66DT9d.cjs.map +0 -1
- package/dist/pl-Cc6_gIkp.mjs.map +0 -1
- package/dist/pl-D5YTo-A_.cjs.map +0 -1
- package/dist/pl-d7LeUSmm.cjs.map +0 -1
- package/dist/pl-gQCm9h5x.mjs.map +0 -1
- package/dist/pt-7ife3c49.mjs.map +0 -1
- package/dist/pt-BCUkY9zb.mjs.map +0 -1
- package/dist/pt-DR-ZT1U4.cjs.map +0 -1
- package/dist/pt-DlWYOQB7.cjs.map +0 -1
- package/dist/ro-2M9BSWec.cjs.map +0 -1
- package/dist/ro-CxRERiJd.cjs.map +0 -1
- package/dist/ro-NZvVg-SN.mjs.map +0 -1
- package/dist/ro-OObk2uNY.mjs.map +0 -1
- package/dist/ru-B421lKBb.cjs.map +0 -1
- package/dist/ru-BaL7GN_2.cjs.map +0 -1
- package/dist/ru-CG4wTAD9.mjs.map +0 -1
- package/dist/ru-DPeKWZMB.mjs.map +0 -1
- package/dist/static-dict-adapter-CDqZ0OAW.mjs.map +0 -1
- package/dist/static-dict-adapter-xbo0bgPs.cjs.map +0 -1
- package/dist/th-C1kMfGB3.cjs.map +0 -1
- package/dist/th-Co1hoBiY.mjs.map +0 -1
- package/dist/th-R7igtrS_.mjs.map +0 -1
- package/dist/th-eBfuOCvu.cjs.map +0 -1
- package/dist/tl-B4CFGEoY.mjs.map +0 -1
- package/dist/tl-CGRnvmA1.mjs.map +0 -1
- package/dist/tl-CUYs9-sL.cjs.map +0 -1
- package/dist/tl-DorumJMB.cjs.map +0 -1
- package/dist/tr-BC01ZEGi.mjs.map +0 -1
- package/dist/tr-COGCOGtq.cjs.map +0 -1
- package/dist/tr-CPLe40Ae.cjs.map +0 -1
- package/dist/tr-eGLkz49G.mjs.map +0 -1
- package/dist/zh_CN-Bvmrqi_G.cjs.map +0 -1
- package/dist/zh_CN-Cd3gmlOa.cjs.map +0 -1
- package/dist/zh_CN-DDW3I2NO.mjs.map +0 -1
- package/dist/zh_CN-TJLIUNnD.mjs.map +0 -1
- package/dist/zh_TW-BCknoR17.mjs.map +0 -1
- package/dist/zh_TW-BV8FGjvy.cjs.map +0 -1
- package/dist/zh_TW-CRQAHSFO.mjs.map +0 -1
- package/dist/zh_TW-DVfX_7Is.cjs.map +0 -1
package/dist/{AddressAutocompleteInput-DDI7GWth.cjs → AddressAutocompleteInput-CAI2D_JY.cjs}
RENAMED
|
@@ -1,66 +1,518 @@
|
|
|
1
1
|
require("./chunk-9hOWP6kD.cjs");
|
|
2
2
|
const require_api_context = require("./api-context-BkBvyFVK.cjs");
|
|
3
3
|
const require_src = require("./src-DDJ8wCS6.cjs");
|
|
4
|
+
const require_translation_api_context_factory = require("./translation-api-context-factory-Bzw9AErt.cjs");
|
|
4
5
|
let react = require("react");
|
|
5
6
|
require("@tanstack/react-query");
|
|
6
7
|
let react_jsx_runtime = require("react/jsx-runtime");
|
|
7
8
|
let lucide_react = require("lucide-react");
|
|
8
9
|
let react_hook_form = require("react-hook-form");
|
|
9
10
|
let zod = require("zod");
|
|
10
|
-
//#region ../../profile/core/src/context.ts
|
|
11
|
-
const
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
if (!context) throw new Error("useProfileUI must be used within a ProfileUIProvider");
|
|
15
|
-
return context;
|
|
16
|
-
}
|
|
11
|
+
//#region ../../profile/core/src/translation-api-context.ts
|
|
12
|
+
const { Provider, useTranslation } = require_translation_api_context_factory.createTranslationContext("Profile");
|
|
13
|
+
const ProfileTranslationProvider = Provider;
|
|
14
|
+
const useProfileTranslation = useTranslation;
|
|
17
15
|
//#endregion
|
|
18
|
-
//#region ../../profile/
|
|
19
|
-
function
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
children
|
|
16
|
+
//#region ../../profile/ui/src/components/ellipses-dropdown.tsx
|
|
17
|
+
function EllipsesDropdown({ onDelete, onEdit, onMakeDefault, editLabel = "Edit", deleteLabel = "Delete", makeDefaultLabel = "Make Default", disabled = false }) {
|
|
18
|
+
if (disabled) return /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_src.Button, {
|
|
19
|
+
variant: "ghost",
|
|
20
|
+
disabled: true,
|
|
21
|
+
children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)("svg", {
|
|
22
|
+
xmlns: "http://www.w3.org/2000/svg",
|
|
23
|
+
viewBox: "0 0 128 512",
|
|
24
|
+
className: "fill-muted-foreground h-4 w-1",
|
|
25
|
+
children: /* @__PURE__ */ (0, react_jsx_runtime.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" })
|
|
26
|
+
})
|
|
24
27
|
});
|
|
28
|
+
return /* @__PURE__ */ (0, react_jsx_runtime.jsxs)(require_src.DropdownMenu, { children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_src.DropdownMenuTrigger, {
|
|
29
|
+
asChild: true,
|
|
30
|
+
children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_src.Button, {
|
|
31
|
+
variant: "ghost",
|
|
32
|
+
children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)("svg", {
|
|
33
|
+
xmlns: "http://www.w3.org/2000/svg",
|
|
34
|
+
viewBox: "0 0 128 512",
|
|
35
|
+
className: "fill-muted-foreground h-4 w-1",
|
|
36
|
+
children: /* @__PURE__ */ (0, react_jsx_runtime.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" })
|
|
37
|
+
})
|
|
38
|
+
})
|
|
39
|
+
}), /* @__PURE__ */ (0, react_jsx_runtime.jsxs)(require_src.DropdownMenuContent, {
|
|
40
|
+
className: "text-foreground min-w-28 space-y-1 text-sm",
|
|
41
|
+
children: [
|
|
42
|
+
onEdit && /* @__PURE__ */ (0, react_jsx_runtime.jsxs)(react_jsx_runtime.Fragment, { children: [/* @__PURE__ */ (0, react_jsx_runtime.jsxs)(require_src.DropdownMenuItem, {
|
|
43
|
+
className: "hover:bg-muted flex cursor-pointer flex-row items-center gap-x-2 rounded px-2",
|
|
44
|
+
onClick: (e) => {
|
|
45
|
+
e.stopPropagation();
|
|
46
|
+
onEdit();
|
|
47
|
+
},
|
|
48
|
+
children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)("svg", {
|
|
49
|
+
xmlns: "http://www.w3.org/2000/svg",
|
|
50
|
+
fill: "none",
|
|
51
|
+
viewBox: "0 0 24 24",
|
|
52
|
+
strokeWidth: 1.5,
|
|
53
|
+
stroke: "currentColor",
|
|
54
|
+
className: "h-3.5 w-3.5 flex-shrink-0",
|
|
55
|
+
children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)("path", {
|
|
56
|
+
strokeLinecap: "round",
|
|
57
|
+
strokeLinejoin: "round",
|
|
58
|
+
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"
|
|
59
|
+
})
|
|
60
|
+
}), /* @__PURE__ */ (0, react_jsx_runtime.jsx)("span", { children: editLabel })]
|
|
61
|
+
}), /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_src.DropdownMenuSeparator, {})] }),
|
|
62
|
+
onMakeDefault && /* @__PURE__ */ (0, react_jsx_runtime.jsxs)(react_jsx_runtime.Fragment, { children: [/* @__PURE__ */ (0, react_jsx_runtime.jsxs)(require_src.DropdownMenuItem, {
|
|
63
|
+
className: "hover:bg-muted flex cursor-pointer flex-row items-center gap-x-2 rounded px-2",
|
|
64
|
+
onClick: (e) => {
|
|
65
|
+
e.stopPropagation();
|
|
66
|
+
onMakeDefault();
|
|
67
|
+
},
|
|
68
|
+
children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)("svg", {
|
|
69
|
+
xmlns: "http://www.w3.org/2000/svg",
|
|
70
|
+
fill: "none",
|
|
71
|
+
viewBox: "0 0 24 24",
|
|
72
|
+
strokeWidth: 1.5,
|
|
73
|
+
stroke: "currentColor",
|
|
74
|
+
className: "h-3.5 w-3.5 flex-shrink-0",
|
|
75
|
+
children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)("path", {
|
|
76
|
+
strokeLinecap: "round",
|
|
77
|
+
strokeLinejoin: "round",
|
|
78
|
+
d: "m4.5 12.75 6 6 9-13.5"
|
|
79
|
+
})
|
|
80
|
+
}), /* @__PURE__ */ (0, react_jsx_runtime.jsx)("span", { children: makeDefaultLabel })]
|
|
81
|
+
}), /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_src.DropdownMenuSeparator, {})] }),
|
|
82
|
+
/* @__PURE__ */ (0, react_jsx_runtime.jsxs)(require_src.DropdownMenuItem, {
|
|
83
|
+
className: "text-destructive hover:bg-destructive/10 flex cursor-pointer flex-row items-center gap-x-2 rounded px-2",
|
|
84
|
+
onClick: (e) => {
|
|
85
|
+
e.stopPropagation();
|
|
86
|
+
onDelete?.();
|
|
87
|
+
},
|
|
88
|
+
children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)("svg", {
|
|
89
|
+
xmlns: "http://www.w3.org/2000/svg",
|
|
90
|
+
fill: "none",
|
|
91
|
+
viewBox: "0 0 24 24",
|
|
92
|
+
strokeWidth: 1.5,
|
|
93
|
+
stroke: "currentColor",
|
|
94
|
+
className: "h-3.5 w-3.5 flex-shrink-0",
|
|
95
|
+
children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)("path", {
|
|
96
|
+
strokeLinecap: "round",
|
|
97
|
+
strokeLinejoin: "round",
|
|
98
|
+
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"
|
|
99
|
+
})
|
|
100
|
+
}), /* @__PURE__ */ (0, react_jsx_runtime.jsx)("span", { children: deleteLabel })]
|
|
101
|
+
})
|
|
102
|
+
]
|
|
103
|
+
})] });
|
|
25
104
|
}
|
|
26
105
|
//#endregion
|
|
27
|
-
//#region ../../
|
|
28
|
-
|
|
29
|
-
const
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
106
|
+
//#region ../../profile/ui/src/components/confirm-action-dialog.tsx
|
|
107
|
+
function ConfirmActionDialog({ title, description, onAction, openDialog, setOpenDialog, errorMsg, isLoading, actionText = "Delete" }) {
|
|
108
|
+
const { t } = useProfileTranslation();
|
|
109
|
+
return /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_src.Dialog, {
|
|
110
|
+
open: openDialog,
|
|
111
|
+
onOpenChange: setOpenDialog,
|
|
112
|
+
children: /* @__PURE__ */ (0, react_jsx_runtime.jsxs)(require_src.DialogContent, {
|
|
113
|
+
className: "max-w-sm md:w-90",
|
|
114
|
+
children: [
|
|
115
|
+
/* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_src.DialogHeader, {
|
|
116
|
+
className: "flex flex-row justify-between",
|
|
117
|
+
children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_src.DialogTitle, {
|
|
118
|
+
className: "w-full text-left",
|
|
119
|
+
children: title
|
|
120
|
+
})
|
|
121
|
+
}),
|
|
122
|
+
/* @__PURE__ */ (0, react_jsx_runtime.jsx)("div", {
|
|
123
|
+
className: "space-y-4",
|
|
124
|
+
children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)("p", {
|
|
125
|
+
className: "text-muted-foreground text-left text-sm",
|
|
126
|
+
children: description
|
|
127
|
+
})
|
|
128
|
+
}),
|
|
129
|
+
errorMsg && /* @__PURE__ */ (0, react_jsx_runtime.jsx)("p", {
|
|
130
|
+
className: "text-destructive text-sm",
|
|
131
|
+
children: errorMsg
|
|
132
|
+
}),
|
|
133
|
+
/* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_src.DialogFooter, { children: /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("div", {
|
|
134
|
+
className: "flex w-full flex-row justify-between space-x-2",
|
|
135
|
+
children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_src.DialogClose, {
|
|
136
|
+
asChild: true,
|
|
137
|
+
children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_src.Button, {
|
|
138
|
+
variant: "secondary",
|
|
139
|
+
className: "min-w-[70px]",
|
|
140
|
+
onClick: () => setOpenDialog(false),
|
|
141
|
+
children: t("cancel")
|
|
142
|
+
})
|
|
143
|
+
}), /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_src.Button, {
|
|
144
|
+
type: "button",
|
|
145
|
+
variant: "destructive",
|
|
146
|
+
className: "min-w-[70px]",
|
|
147
|
+
onClick: onAction,
|
|
148
|
+
disabled: isLoading,
|
|
149
|
+
children: isLoading ? /* @__PURE__ */ (0, react_jsx_runtime.jsx)("div", { className: "border-primary-foreground h-5 w-5 animate-spin rounded-full border-4 border-t-4 border-t-transparent" }) : actionText
|
|
150
|
+
})]
|
|
151
|
+
}) })
|
|
152
|
+
]
|
|
153
|
+
})
|
|
154
|
+
});
|
|
34
155
|
}
|
|
35
156
|
//#endregion
|
|
36
|
-
//#region ../../
|
|
37
|
-
function
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
157
|
+
//#region ../../profile/ui/src/components/form-fields.tsx
|
|
158
|
+
function FormTextField$1({ control, name, label, containerClassName, ...props }) {
|
|
159
|
+
const { field, fieldState: { error } } = (0, react_hook_form.useController)({
|
|
160
|
+
name,
|
|
161
|
+
control
|
|
162
|
+
});
|
|
163
|
+
return /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("div", {
|
|
164
|
+
className: require_src.cn("space-y-1", containerClassName),
|
|
165
|
+
children: [
|
|
166
|
+
label && /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_src.Label, {
|
|
167
|
+
htmlFor: name,
|
|
168
|
+
className: "mb-1.5 block text-sm font-medium",
|
|
169
|
+
children: label
|
|
170
|
+
}),
|
|
171
|
+
/* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_src.Input, {
|
|
172
|
+
...field,
|
|
173
|
+
...props,
|
|
174
|
+
id: name,
|
|
175
|
+
value: field.value ?? "",
|
|
176
|
+
className: require_src.cn(error && "ring-destructive ring-1", props.className)
|
|
177
|
+
}),
|
|
178
|
+
error && /* @__PURE__ */ (0, react_jsx_runtime.jsx)("p", {
|
|
179
|
+
className: "text-destructive text-sm",
|
|
180
|
+
children: error.message
|
|
181
|
+
})
|
|
182
|
+
]
|
|
183
|
+
});
|
|
184
|
+
}
|
|
185
|
+
function FormTextareaField({ control, name, label, containerClassName, ...props }) {
|
|
186
|
+
const { field, fieldState: { error } } = (0, react_hook_form.useController)({
|
|
187
|
+
name,
|
|
188
|
+
control
|
|
189
|
+
});
|
|
190
|
+
return /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("div", {
|
|
191
|
+
className: require_src.cn("space-y-1", containerClassName),
|
|
192
|
+
children: [
|
|
193
|
+
label && /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_src.Label, {
|
|
194
|
+
htmlFor: name,
|
|
195
|
+
className: "mb-1.5 block text-sm font-medium",
|
|
196
|
+
children: label
|
|
197
|
+
}),
|
|
198
|
+
/* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_src.Textarea, {
|
|
199
|
+
...field,
|
|
200
|
+
...props,
|
|
201
|
+
id: name,
|
|
202
|
+
value: field.value ?? "",
|
|
203
|
+
className: require_src.cn(error && "ring-destructive ring-1", props.className)
|
|
204
|
+
}),
|
|
205
|
+
error && /* @__PURE__ */ (0, react_jsx_runtime.jsx)("p", {
|
|
206
|
+
className: "text-destructive text-sm",
|
|
207
|
+
children: error.message
|
|
208
|
+
})
|
|
209
|
+
]
|
|
210
|
+
});
|
|
211
|
+
}
|
|
212
|
+
function FormSelectField$1({ control, name, label, options, placeholder, containerClassName, onChange }) {
|
|
213
|
+
const { field, fieldState: { error } } = (0, react_hook_form.useController)({
|
|
214
|
+
name,
|
|
215
|
+
control
|
|
216
|
+
});
|
|
217
|
+
return /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("div", {
|
|
218
|
+
className: require_src.cn("space-y-1", containerClassName),
|
|
219
|
+
children: [
|
|
220
|
+
label && /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_src.Label, {
|
|
221
|
+
htmlFor: name,
|
|
222
|
+
className: "block text-sm font-medium",
|
|
223
|
+
children: label
|
|
224
|
+
}),
|
|
225
|
+
/* @__PURE__ */ (0, react_jsx_runtime.jsxs)(require_src.Select, {
|
|
226
|
+
value: field.value?.toString() ?? "",
|
|
227
|
+
onValueChange: (val) => {
|
|
228
|
+
field.onChange(val);
|
|
229
|
+
onChange?.(val);
|
|
230
|
+
},
|
|
231
|
+
children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_src.SelectTrigger, {
|
|
232
|
+
id: name,
|
|
233
|
+
className: require_src.cn("w-full", error && "ring-destructive ring-1"),
|
|
234
|
+
children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_src.SelectValue, { placeholder })
|
|
235
|
+
}), /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_src.SelectContent, { children: options?.map((opt) => /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_src.SelectItem, {
|
|
236
|
+
value: opt.value.toString(),
|
|
237
|
+
children: opt.name
|
|
238
|
+
}, `${opt.name}-${opt.value}`)) })]
|
|
239
|
+
}),
|
|
240
|
+
error && /* @__PURE__ */ (0, react_jsx_runtime.jsx)("p", {
|
|
241
|
+
className: "text-destructive text-sm",
|
|
242
|
+
children: error.message
|
|
243
|
+
})
|
|
244
|
+
]
|
|
41
245
|
});
|
|
42
246
|
}
|
|
43
247
|
//#endregion
|
|
44
|
-
//#region ../../
|
|
45
|
-
|
|
46
|
-
{
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
{
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
248
|
+
//#region ../../profile/ui/src/components/user-info-dialog.tsx
|
|
249
|
+
function UserInfoDialog({ control, isOpen, onSubmit, handleClose, languageOptions, errorMsg, isSubmitting, email, onChangeEmail, isChangingEmail, pendingEmail }) {
|
|
250
|
+
const { t } = useProfileTranslation();
|
|
251
|
+
const [isEditingEmail, setIsEditingEmail] = (0, react.useState)(false);
|
|
252
|
+
const [newEmail, setNewEmail] = (0, react.useState)("");
|
|
253
|
+
const [emailError, setEmailError] = (0, react.useState)(void 0);
|
|
254
|
+
const handleEmailSubmit = async () => {
|
|
255
|
+
setEmailError(void 0);
|
|
256
|
+
const trimmed = newEmail.trim();
|
|
257
|
+
if (!trimmed) {
|
|
258
|
+
setEmailError("Please enter a new email address");
|
|
259
|
+
return;
|
|
260
|
+
}
|
|
261
|
+
if (!/^[^\s@]+@[^\s@]+\.[^\s@]+$/.test(trimmed)) {
|
|
262
|
+
setEmailError("Please enter a valid email address");
|
|
263
|
+
return;
|
|
264
|
+
}
|
|
265
|
+
if (email && trimmed.toLowerCase() === email.toLowerCase()) {
|
|
266
|
+
setEmailError("New email must be different from your current email");
|
|
267
|
+
return;
|
|
268
|
+
}
|
|
269
|
+
try {
|
|
270
|
+
await onChangeEmail?.(trimmed);
|
|
271
|
+
setIsEditingEmail(false);
|
|
272
|
+
setNewEmail("");
|
|
273
|
+
} catch (err) {
|
|
274
|
+
setEmailError(err instanceof Error ? err.message : "Failed to initiate email change");
|
|
275
|
+
}
|
|
276
|
+
};
|
|
277
|
+
const handleCancelEmailEdit = () => {
|
|
278
|
+
setIsEditingEmail(false);
|
|
279
|
+
setNewEmail("");
|
|
280
|
+
setEmailError(void 0);
|
|
281
|
+
};
|
|
282
|
+
const handleDialogClose = () => {
|
|
283
|
+
handleCancelEmailEdit();
|
|
284
|
+
handleClose();
|
|
285
|
+
};
|
|
286
|
+
return /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_src.Dialog, {
|
|
287
|
+
open: isOpen,
|
|
288
|
+
onOpenChange: (open) => !open && handleDialogClose(),
|
|
289
|
+
children: /* @__PURE__ */ (0, react_jsx_runtime.jsxs)(require_src.DialogContent, {
|
|
290
|
+
className: "max-w-sm md:max-w-lg",
|
|
291
|
+
children: [
|
|
292
|
+
/* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_src.DialogHeader, { children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_src.DialogTitle, { children: t("edit_profile") }) }),
|
|
293
|
+
/* @__PURE__ */ (0, react_jsx_runtime.jsxs)("div", {
|
|
294
|
+
className: "space-y-4",
|
|
295
|
+
children: [
|
|
296
|
+
/* @__PURE__ */ (0, react_jsx_runtime.jsx)(FormTextField$1, {
|
|
297
|
+
control,
|
|
298
|
+
name: "first_name",
|
|
299
|
+
label: t("first_name")
|
|
300
|
+
}),
|
|
301
|
+
/* @__PURE__ */ (0, react_jsx_runtime.jsx)(FormTextField$1, {
|
|
302
|
+
control,
|
|
303
|
+
name: "last_name",
|
|
304
|
+
label: t("last_name")
|
|
305
|
+
}),
|
|
306
|
+
/* @__PURE__ */ (0, react_jsx_runtime.jsx)(FormTextField$1, {
|
|
307
|
+
control,
|
|
308
|
+
name: "phone_number",
|
|
309
|
+
label: t("phone_number"),
|
|
310
|
+
type: "tel"
|
|
311
|
+
}),
|
|
312
|
+
/* @__PURE__ */ (0, react_jsx_runtime.jsx)(FormTextareaField, {
|
|
313
|
+
control,
|
|
314
|
+
name: "bio",
|
|
315
|
+
label: t("bio"),
|
|
316
|
+
rows: 3,
|
|
317
|
+
placeholder: t("add_a_short_bio")
|
|
318
|
+
}),
|
|
319
|
+
/* @__PURE__ */ (0, react_jsx_runtime.jsx)(FormSelectField$1, {
|
|
320
|
+
control,
|
|
321
|
+
name: "language",
|
|
322
|
+
label: t("language"),
|
|
323
|
+
options: languageOptions,
|
|
324
|
+
placeholder: t("select_an_option")
|
|
325
|
+
})
|
|
326
|
+
]
|
|
327
|
+
}),
|
|
328
|
+
email && /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("div", {
|
|
329
|
+
className: "space-y-2",
|
|
330
|
+
children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)("label", {
|
|
331
|
+
className: "text-foreground text-sm font-medium",
|
|
332
|
+
children: t("email") || "Email"
|
|
333
|
+
}), isEditingEmail ? /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("div", {
|
|
334
|
+
className: "space-y-2",
|
|
335
|
+
children: [
|
|
336
|
+
/* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_src.Input, {
|
|
337
|
+
type: "email",
|
|
338
|
+
placeholder: "Enter your new email...",
|
|
339
|
+
value: newEmail,
|
|
340
|
+
onChange: (e) => {
|
|
341
|
+
setNewEmail(e.target.value);
|
|
342
|
+
setEmailError(void 0);
|
|
343
|
+
},
|
|
344
|
+
onKeyDown: (e) => {
|
|
345
|
+
if (e.key === "Enter") {
|
|
346
|
+
e.preventDefault();
|
|
347
|
+
handleEmailSubmit();
|
|
348
|
+
}
|
|
349
|
+
if (e.key === "Escape") handleCancelEmailEdit();
|
|
350
|
+
},
|
|
351
|
+
"aria-invalid": !!emailError || void 0,
|
|
352
|
+
autoFocus: true
|
|
353
|
+
}),
|
|
354
|
+
emailError && /* @__PURE__ */ (0, react_jsx_runtime.jsx)("p", {
|
|
355
|
+
className: "text-destructive text-xs",
|
|
356
|
+
children: emailError
|
|
357
|
+
}),
|
|
358
|
+
/* @__PURE__ */ (0, react_jsx_runtime.jsxs)("div", {
|
|
359
|
+
className: "bg-muted flex items-start gap-2.5 rounded-md px-3 py-2.5",
|
|
360
|
+
children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)(lucide_react.Info, { className: "text-primary mt-0.5 h-4 w-4 shrink-0" }), /* @__PURE__ */ (0, react_jsx_runtime.jsx)("p", {
|
|
361
|
+
className: "text-muted-foreground text-xs",
|
|
362
|
+
children: "We'll send a verification link to your new email. Click it to complete the change."
|
|
363
|
+
})]
|
|
364
|
+
}),
|
|
365
|
+
/* @__PURE__ */ (0, react_jsx_runtime.jsxs)("div", {
|
|
366
|
+
className: "flex gap-2",
|
|
367
|
+
children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_src.Button, {
|
|
368
|
+
type: "button",
|
|
369
|
+
variant: "outline",
|
|
370
|
+
size: "sm",
|
|
371
|
+
onClick: handleCancelEmailEdit,
|
|
372
|
+
children: "Cancel"
|
|
373
|
+
}), /* @__PURE__ */ (0, react_jsx_runtime.jsxs)(require_src.Button, {
|
|
374
|
+
type: "button",
|
|
375
|
+
size: "sm",
|
|
376
|
+
onClick: handleEmailSubmit,
|
|
377
|
+
disabled: !newEmail.trim() || isChangingEmail,
|
|
378
|
+
children: [isChangingEmail && /* @__PURE__ */ (0, react_jsx_runtime.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"]
|
|
379
|
+
})]
|
|
380
|
+
})
|
|
381
|
+
]
|
|
382
|
+
}) : pendingEmail ? /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("div", {
|
|
383
|
+
className: "space-y-2",
|
|
384
|
+
children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)("div", {
|
|
385
|
+
className: "bg-muted text-muted-foreground min-w-0 rounded-md px-3 py-2 text-sm",
|
|
386
|
+
children: email
|
|
387
|
+
}), /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("div", {
|
|
388
|
+
className: "bg-muted flex items-start gap-2.5 rounded-md px-3 py-2.5",
|
|
389
|
+
children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)(lucide_react.Info, { className: "text-primary mt-0.5 h-4 w-4 shrink-0" }), /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("p", {
|
|
390
|
+
className: "text-muted-foreground text-xs",
|
|
391
|
+
children: [
|
|
392
|
+
"Changing to",
|
|
393
|
+
" ",
|
|
394
|
+
/* @__PURE__ */ (0, react_jsx_runtime.jsx)("span", {
|
|
395
|
+
className: "text-foreground font-medium",
|
|
396
|
+
children: pendingEmail
|
|
397
|
+
}),
|
|
398
|
+
". Check your new email inbox and click the verification link to complete the change."
|
|
399
|
+
]
|
|
400
|
+
})]
|
|
401
|
+
})]
|
|
402
|
+
}) : /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("div", {
|
|
403
|
+
className: "flex items-center gap-2",
|
|
404
|
+
children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)("div", {
|
|
405
|
+
className: "bg-muted text-muted-foreground min-w-0 flex-1 rounded-md px-3 py-2 text-sm",
|
|
406
|
+
children: email
|
|
407
|
+
}), onChangeEmail && /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_src.Button, {
|
|
408
|
+
type: "button",
|
|
409
|
+
variant: "outline",
|
|
410
|
+
size: "sm",
|
|
411
|
+
onClick: () => setIsEditingEmail(true),
|
|
412
|
+
className: "shrink-0",
|
|
413
|
+
children: "Change"
|
|
414
|
+
})]
|
|
415
|
+
})]
|
|
416
|
+
}),
|
|
417
|
+
errorMsg && /* @__PURE__ */ (0, react_jsx_runtime.jsx)("p", {
|
|
418
|
+
className: "text-destructive text-sm",
|
|
419
|
+
children: errorMsg
|
|
420
|
+
}),
|
|
421
|
+
/* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_src.DialogFooter, {
|
|
422
|
+
className: "flex flex-row items-center justify-end",
|
|
423
|
+
children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)("div", {
|
|
424
|
+
className: "flex-1 text-right",
|
|
425
|
+
children: /* @__PURE__ */ (0, react_jsx_runtime.jsxs)(require_src.Button, {
|
|
426
|
+
type: "button",
|
|
427
|
+
onClick: onSubmit,
|
|
428
|
+
children: [isSubmitting && /* @__PURE__ */ (0, react_jsx_runtime.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")]
|
|
429
|
+
})
|
|
430
|
+
})
|
|
431
|
+
})
|
|
432
|
+
]
|
|
433
|
+
})
|
|
434
|
+
});
|
|
435
|
+
}
|
|
436
|
+
//#endregion
|
|
437
|
+
//#region ../../profile/ui/src/components/payment-method-card-internals.tsx
|
|
438
|
+
const PAYMENT_ICON_BASE = "https://assets.fluid.app/images/payment_icons";
|
|
439
|
+
const GENERIC_PAYMENT_ICON = `${PAYMENT_ICON_BASE}/generic.svg`;
|
|
440
|
+
function brandIconUrl(brand) {
|
|
441
|
+
if (!brand) return GENERIC_PAYMENT_ICON;
|
|
442
|
+
return `${PAYMENT_ICON_BASE}/${brand.toLowerCase().replace(/\s+/g, "_")}.svg`;
|
|
443
|
+
}
|
|
444
|
+
function PaymentIcon({ logoUrl, brand, alt }) {
|
|
445
|
+
const computedSrc = logoUrl || brandIconUrl(brand);
|
|
446
|
+
const [hasError, setHasError] = (0, react.useState)(false);
|
|
447
|
+
return /* @__PURE__ */ (0, react_jsx_runtime.jsx)("img", {
|
|
448
|
+
src: hasError ? GENERIC_PAYMENT_ICON : computedSrc,
|
|
449
|
+
alt,
|
|
450
|
+
width: 40,
|
|
451
|
+
height: 24,
|
|
452
|
+
className: "object-contain",
|
|
453
|
+
onError: () => setHasError(true)
|
|
454
|
+
});
|
|
455
|
+
}
|
|
456
|
+
function getCardDisplayName(paymentMethod) {
|
|
457
|
+
const lastFour = paymentMethod.details.last_four;
|
|
458
|
+
if (lastFour != null || paymentMethod.payment_type === "Credit Card") return `${paymentMethod.details.card_type || "Card"} •••• ${lastFour || "••••"}`;
|
|
459
|
+
return paymentMethod.payment_type;
|
|
460
|
+
}
|
|
461
|
+
function getCardExpiry(paymentMethod) {
|
|
462
|
+
const { exp_month, exp_year } = paymentMethod.details;
|
|
463
|
+
if (exp_month != null && exp_year != null) return `Expires ${exp_month}/${exp_year}`;
|
|
464
|
+
return "";
|
|
465
|
+
}
|
|
466
|
+
//#endregion
|
|
467
|
+
//#region ../../profile/core/src/context.ts
|
|
468
|
+
const ProfileUIContext = (0, react.createContext)(null);
|
|
469
|
+
//#endregion
|
|
470
|
+
//#region ../../profile/core/src/provider.tsx
|
|
471
|
+
function ProfileUIProvider({ t, children }) {
|
|
472
|
+
const value = (0, react.useMemo)(() => ({ t }), [t]);
|
|
473
|
+
return /* @__PURE__ */ (0, react_jsx_runtime.jsx)(ProfileUIContext.Provider, {
|
|
474
|
+
value,
|
|
475
|
+
children
|
|
476
|
+
});
|
|
477
|
+
}
|
|
478
|
+
//#endregion
|
|
479
|
+
//#region ../../fluid-pay/core/src/context.ts
|
|
480
|
+
const FluidPayApiContext = (0, react.createContext)(null);
|
|
481
|
+
const FluidPayApiProvider = FluidPayApiContext.Provider;
|
|
482
|
+
function useFluidPayApi() {
|
|
483
|
+
const api = (0, react.useContext)(FluidPayApiContext);
|
|
484
|
+
if (!api) throw new Error("useFluidPayApi must be used within a FluidPayCoreProvider");
|
|
485
|
+
return api;
|
|
486
|
+
}
|
|
487
|
+
//#endregion
|
|
488
|
+
//#region ../../fluid-pay/core/src/provider.tsx
|
|
489
|
+
function FluidPayCoreProvider({ api, children }) {
|
|
490
|
+
return /* @__PURE__ */ (0, react_jsx_runtime.jsx)(FluidPayApiProvider, {
|
|
491
|
+
value: api,
|
|
492
|
+
children
|
|
493
|
+
});
|
|
494
|
+
}
|
|
495
|
+
//#endregion
|
|
496
|
+
//#region ../../fluid-pay/core/src/utils/country-config.ts
|
|
497
|
+
const US_STATES = [
|
|
58
498
|
{
|
|
59
|
-
name: "
|
|
60
|
-
isoCode: "
|
|
499
|
+
name: "Alabama",
|
|
500
|
+
isoCode: "AL"
|
|
61
501
|
},
|
|
62
502
|
{
|
|
63
|
-
name: "
|
|
503
|
+
name: "Alaska",
|
|
504
|
+
isoCode: "AK"
|
|
505
|
+
},
|
|
506
|
+
{
|
|
507
|
+
name: "Arizona",
|
|
508
|
+
isoCode: "AZ"
|
|
509
|
+
},
|
|
510
|
+
{
|
|
511
|
+
name: "Arkansas",
|
|
512
|
+
isoCode: "AR"
|
|
513
|
+
},
|
|
514
|
+
{
|
|
515
|
+
name: "California",
|
|
64
516
|
isoCode: "CA"
|
|
65
517
|
},
|
|
66
518
|
{
|
|
@@ -248,493 +700,42 @@ const US_STATES = [
|
|
|
248
700
|
isoCode: "DC"
|
|
249
701
|
}
|
|
250
702
|
];
|
|
251
|
-
const COUNTRY_CONFIGS = {
|
|
252
|
-
US: {
|
|
253
|
-
regionLabel: "State",
|
|
254
|
-
postalLabel: "ZIP Code"
|
|
255
|
-
},
|
|
256
|
-
JP: {
|
|
257
|
-
regionLabel: "Prefecture",
|
|
258
|
-
postalLabel: "Postal Code"
|
|
259
|
-
}
|
|
260
|
-
};
|
|
261
|
-
const DEFAULT_REGION_CONFIG = {
|
|
262
|
-
regionLabel: "Province",
|
|
263
|
-
postalLabel: "Postal Code"
|
|
264
|
-
};
|
|
265
|
-
function getRegionConfig(countryCode) {
|
|
266
|
-
return COUNTRY_CONFIGS[countryCode] ?? DEFAULT_REGION_CONFIG;
|
|
267
|
-
}
|
|
268
|
-
//#endregion
|
|
269
|
-
//#region ../../fluid-pay/core/src/hooks/use-country-states.ts
|
|
270
|
-
function useCountryStates() {
|
|
271
|
-
const [selectedCountry, setSelectedCountry] = (0, react.useState)("US");
|
|
272
|
-
const [stateOptions, setStateOptions] = (0, react.useState)(US_STATES);
|
|
273
|
-
return {
|
|
274
|
-
handleCountryChange: (0, react.useCallback)((selectedCountryCode, fetchStates) => {
|
|
275
|
-
setSelectedCountry(selectedCountryCode);
|
|
276
|
-
if (selectedCountryCode === "US") setStateOptions(US_STATES);
|
|
277
|
-
else if (fetchStates) fetchStates(selectedCountryCode).then((states) => setStateOptions(states)).catch((error) => {
|
|
278
|
-
console.error("Failed to fetch states:", error);
|
|
279
|
-
setStateOptions([]);
|
|
280
|
-
});
|
|
281
|
-
else setStateOptions([]);
|
|
282
|
-
}, []),
|
|
283
|
-
stateOptions,
|
|
284
|
-
config: getRegionConfig(selectedCountry),
|
|
285
|
-
selectedCountry
|
|
286
|
-
};
|
|
287
|
-
}
|
|
288
|
-
//#endregion
|
|
289
|
-
//#region ../../profile/ui/src/components/ellipses-dropdown.tsx
|
|
290
|
-
function EllipsesDropdown({ onDelete, onEdit, onMakeDefault, editLabel = "Edit", deleteLabel = "Delete", makeDefaultLabel = "Make Default", disabled = false }) {
|
|
291
|
-
if (disabled) return /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_src.Button, {
|
|
292
|
-
variant: "ghost",
|
|
293
|
-
disabled: true,
|
|
294
|
-
children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)("svg", {
|
|
295
|
-
xmlns: "http://www.w3.org/2000/svg",
|
|
296
|
-
viewBox: "0 0 128 512",
|
|
297
|
-
className: "fill-muted-foreground h-4 w-1",
|
|
298
|
-
children: /* @__PURE__ */ (0, react_jsx_runtime.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" })
|
|
299
|
-
})
|
|
300
|
-
});
|
|
301
|
-
return /* @__PURE__ */ (0, react_jsx_runtime.jsxs)(require_src.DropdownMenu, { children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_src.DropdownMenuTrigger, {
|
|
302
|
-
asChild: true,
|
|
303
|
-
children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_src.Button, {
|
|
304
|
-
variant: "ghost",
|
|
305
|
-
children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)("svg", {
|
|
306
|
-
xmlns: "http://www.w3.org/2000/svg",
|
|
307
|
-
viewBox: "0 0 128 512",
|
|
308
|
-
className: "fill-muted-foreground h-4 w-1",
|
|
309
|
-
children: /* @__PURE__ */ (0, react_jsx_runtime.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" })
|
|
310
|
-
})
|
|
311
|
-
})
|
|
312
|
-
}), /* @__PURE__ */ (0, react_jsx_runtime.jsxs)(require_src.DropdownMenuContent, {
|
|
313
|
-
className: "text-foreground min-w-28 space-y-1 text-sm",
|
|
314
|
-
children: [
|
|
315
|
-
onEdit && /* @__PURE__ */ (0, react_jsx_runtime.jsxs)(react_jsx_runtime.Fragment, { children: [/* @__PURE__ */ (0, react_jsx_runtime.jsxs)(require_src.DropdownMenuItem, {
|
|
316
|
-
className: "hover:bg-muted flex cursor-pointer flex-row items-center gap-x-2 rounded px-2",
|
|
317
|
-
onClick: (e) => {
|
|
318
|
-
e.stopPropagation();
|
|
319
|
-
onEdit();
|
|
320
|
-
},
|
|
321
|
-
children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)("svg", {
|
|
322
|
-
xmlns: "http://www.w3.org/2000/svg",
|
|
323
|
-
fill: "none",
|
|
324
|
-
viewBox: "0 0 24 24",
|
|
325
|
-
strokeWidth: 1.5,
|
|
326
|
-
stroke: "currentColor",
|
|
327
|
-
className: "h-3.5 w-3.5 flex-shrink-0",
|
|
328
|
-
children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)("path", {
|
|
329
|
-
strokeLinecap: "round",
|
|
330
|
-
strokeLinejoin: "round",
|
|
331
|
-
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"
|
|
332
|
-
})
|
|
333
|
-
}), /* @__PURE__ */ (0, react_jsx_runtime.jsx)("span", { children: editLabel })]
|
|
334
|
-
}), /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_src.DropdownMenuSeparator, {})] }),
|
|
335
|
-
onMakeDefault && /* @__PURE__ */ (0, react_jsx_runtime.jsxs)(react_jsx_runtime.Fragment, { children: [/* @__PURE__ */ (0, react_jsx_runtime.jsxs)(require_src.DropdownMenuItem, {
|
|
336
|
-
className: "hover:bg-muted flex cursor-pointer flex-row items-center gap-x-2 rounded px-2",
|
|
337
|
-
onClick: (e) => {
|
|
338
|
-
e.stopPropagation();
|
|
339
|
-
onMakeDefault();
|
|
340
|
-
},
|
|
341
|
-
children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)("svg", {
|
|
342
|
-
xmlns: "http://www.w3.org/2000/svg",
|
|
343
|
-
fill: "none",
|
|
344
|
-
viewBox: "0 0 24 24",
|
|
345
|
-
strokeWidth: 1.5,
|
|
346
|
-
stroke: "currentColor",
|
|
347
|
-
className: "h-3.5 w-3.5 flex-shrink-0",
|
|
348
|
-
children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)("path", {
|
|
349
|
-
strokeLinecap: "round",
|
|
350
|
-
strokeLinejoin: "round",
|
|
351
|
-
d: "m4.5 12.75 6 6 9-13.5"
|
|
352
|
-
})
|
|
353
|
-
}), /* @__PURE__ */ (0, react_jsx_runtime.jsx)("span", { children: makeDefaultLabel })]
|
|
354
|
-
}), /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_src.DropdownMenuSeparator, {})] }),
|
|
355
|
-
/* @__PURE__ */ (0, react_jsx_runtime.jsxs)(require_src.DropdownMenuItem, {
|
|
356
|
-
className: "text-destructive hover:bg-destructive/10 flex cursor-pointer flex-row items-center gap-x-2 rounded px-2",
|
|
357
|
-
onClick: (e) => {
|
|
358
|
-
e.stopPropagation();
|
|
359
|
-
onDelete?.();
|
|
360
|
-
},
|
|
361
|
-
children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)("svg", {
|
|
362
|
-
xmlns: "http://www.w3.org/2000/svg",
|
|
363
|
-
fill: "none",
|
|
364
|
-
viewBox: "0 0 24 24",
|
|
365
|
-
strokeWidth: 1.5,
|
|
366
|
-
stroke: "currentColor",
|
|
367
|
-
className: "h-3.5 w-3.5 flex-shrink-0",
|
|
368
|
-
children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)("path", {
|
|
369
|
-
strokeLinecap: "round",
|
|
370
|
-
strokeLinejoin: "round",
|
|
371
|
-
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"
|
|
372
|
-
})
|
|
373
|
-
}), /* @__PURE__ */ (0, react_jsx_runtime.jsx)("span", { children: deleteLabel })]
|
|
374
|
-
})
|
|
375
|
-
]
|
|
376
|
-
})] });
|
|
377
|
-
}
|
|
378
|
-
//#endregion
|
|
379
|
-
//#region ../../profile/ui/src/components/confirm-action-dialog.tsx
|
|
380
|
-
function ConfirmActionDialog({ title, description, onAction, openDialog, setOpenDialog, errorMsg, isLoading, actionText = "Delete" }) {
|
|
381
|
-
const { t } = useProfileUI();
|
|
382
|
-
return /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_src.Dialog, {
|
|
383
|
-
open: openDialog,
|
|
384
|
-
onOpenChange: setOpenDialog,
|
|
385
|
-
children: /* @__PURE__ */ (0, react_jsx_runtime.jsxs)(require_src.DialogContent, {
|
|
386
|
-
className: "max-w-sm md:w-90",
|
|
387
|
-
children: [
|
|
388
|
-
/* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_src.DialogHeader, {
|
|
389
|
-
className: "flex flex-row justify-between",
|
|
390
|
-
children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_src.DialogTitle, {
|
|
391
|
-
className: "w-full text-left",
|
|
392
|
-
children: title
|
|
393
|
-
})
|
|
394
|
-
}),
|
|
395
|
-
/* @__PURE__ */ (0, react_jsx_runtime.jsx)("div", {
|
|
396
|
-
className: "space-y-4",
|
|
397
|
-
children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)("p", {
|
|
398
|
-
className: "text-muted-foreground text-left text-sm",
|
|
399
|
-
children: description
|
|
400
|
-
})
|
|
401
|
-
}),
|
|
402
|
-
errorMsg && /* @__PURE__ */ (0, react_jsx_runtime.jsx)("p", {
|
|
403
|
-
className: "text-destructive text-sm",
|
|
404
|
-
children: errorMsg
|
|
405
|
-
}),
|
|
406
|
-
/* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_src.DialogFooter, { children: /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("div", {
|
|
407
|
-
className: "flex w-full flex-row justify-between space-x-2",
|
|
408
|
-
children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_src.DialogClose, {
|
|
409
|
-
asChild: true,
|
|
410
|
-
children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_src.Button, {
|
|
411
|
-
variant: "secondary",
|
|
412
|
-
className: "min-w-[70px]",
|
|
413
|
-
onClick: () => setOpenDialog(false),
|
|
414
|
-
children: t("cancel")
|
|
415
|
-
})
|
|
416
|
-
}), /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_src.Button, {
|
|
417
|
-
type: "button",
|
|
418
|
-
variant: "destructive",
|
|
419
|
-
className: "min-w-[70px]",
|
|
420
|
-
onClick: onAction,
|
|
421
|
-
disabled: isLoading,
|
|
422
|
-
children: isLoading ? /* @__PURE__ */ (0, react_jsx_runtime.jsx)("div", { className: "border-primary-foreground h-5 w-5 animate-spin rounded-full border-4 border-t-4 border-t-transparent" }) : actionText
|
|
423
|
-
})]
|
|
424
|
-
}) })
|
|
425
|
-
]
|
|
426
|
-
})
|
|
427
|
-
});
|
|
428
|
-
}
|
|
429
|
-
//#endregion
|
|
430
|
-
//#region ../../profile/ui/src/components/form-fields.tsx
|
|
431
|
-
function FormTextField$1({ control, name, label, containerClassName, ...props }) {
|
|
432
|
-
const { field, fieldState: { error } } = (0, react_hook_form.useController)({
|
|
433
|
-
name,
|
|
434
|
-
control
|
|
435
|
-
});
|
|
436
|
-
return /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("div", {
|
|
437
|
-
className: require_src.cn("space-y-1", containerClassName),
|
|
438
|
-
children: [
|
|
439
|
-
label && /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_src.Label, {
|
|
440
|
-
htmlFor: name,
|
|
441
|
-
className: "mb-1.5 block text-sm font-medium",
|
|
442
|
-
children: label
|
|
443
|
-
}),
|
|
444
|
-
/* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_src.Input, {
|
|
445
|
-
...field,
|
|
446
|
-
...props,
|
|
447
|
-
id: name,
|
|
448
|
-
value: field.value ?? "",
|
|
449
|
-
className: require_src.cn(error && "ring-destructive ring-1", props.className)
|
|
450
|
-
}),
|
|
451
|
-
error && /* @__PURE__ */ (0, react_jsx_runtime.jsx)("p", {
|
|
452
|
-
className: "text-destructive text-sm",
|
|
453
|
-
children: error.message
|
|
454
|
-
})
|
|
455
|
-
]
|
|
456
|
-
});
|
|
457
|
-
}
|
|
458
|
-
function FormTextareaField({ control, name, label, containerClassName, ...props }) {
|
|
459
|
-
const { field, fieldState: { error } } = (0, react_hook_form.useController)({
|
|
460
|
-
name,
|
|
461
|
-
control
|
|
462
|
-
});
|
|
463
|
-
return /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("div", {
|
|
464
|
-
className: require_src.cn("space-y-1", containerClassName),
|
|
465
|
-
children: [
|
|
466
|
-
label && /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_src.Label, {
|
|
467
|
-
htmlFor: name,
|
|
468
|
-
className: "mb-1.5 block text-sm font-medium",
|
|
469
|
-
children: label
|
|
470
|
-
}),
|
|
471
|
-
/* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_src.Textarea, {
|
|
472
|
-
...field,
|
|
473
|
-
...props,
|
|
474
|
-
id: name,
|
|
475
|
-
value: field.value ?? "",
|
|
476
|
-
className: require_src.cn(error && "ring-destructive ring-1", props.className)
|
|
477
|
-
}),
|
|
478
|
-
error && /* @__PURE__ */ (0, react_jsx_runtime.jsx)("p", {
|
|
479
|
-
className: "text-destructive text-sm",
|
|
480
|
-
children: error.message
|
|
481
|
-
})
|
|
482
|
-
]
|
|
483
|
-
});
|
|
484
|
-
}
|
|
485
|
-
function FormSelectField$1({ control, name, label, options, placeholder, containerClassName, onChange }) {
|
|
486
|
-
const { field, fieldState: { error } } = (0, react_hook_form.useController)({
|
|
487
|
-
name,
|
|
488
|
-
control
|
|
489
|
-
});
|
|
490
|
-
return /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("div", {
|
|
491
|
-
className: require_src.cn("space-y-1", containerClassName),
|
|
492
|
-
children: [
|
|
493
|
-
label && /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_src.Label, {
|
|
494
|
-
htmlFor: name,
|
|
495
|
-
className: "block text-sm font-medium",
|
|
496
|
-
children: label
|
|
497
|
-
}),
|
|
498
|
-
/* @__PURE__ */ (0, react_jsx_runtime.jsxs)(require_src.Select, {
|
|
499
|
-
value: field.value?.toString() ?? "",
|
|
500
|
-
onValueChange: (val) => {
|
|
501
|
-
field.onChange(val);
|
|
502
|
-
onChange?.(val);
|
|
503
|
-
},
|
|
504
|
-
children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_src.SelectTrigger, {
|
|
505
|
-
id: name,
|
|
506
|
-
className: require_src.cn("w-full", error && "ring-destructive ring-1"),
|
|
507
|
-
children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_src.SelectValue, { placeholder })
|
|
508
|
-
}), /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_src.SelectContent, { children: options?.map((opt) => /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_src.SelectItem, {
|
|
509
|
-
value: opt.value.toString(),
|
|
510
|
-
children: opt.name
|
|
511
|
-
}, `${opt.name}-${opt.value}`)) })]
|
|
512
|
-
}),
|
|
513
|
-
error && /* @__PURE__ */ (0, react_jsx_runtime.jsx)("p", {
|
|
514
|
-
className: "text-destructive text-sm",
|
|
515
|
-
children: error.message
|
|
516
|
-
})
|
|
517
|
-
]
|
|
518
|
-
});
|
|
703
|
+
const COUNTRY_CONFIGS = {
|
|
704
|
+
US: {
|
|
705
|
+
regionLabel: "State",
|
|
706
|
+
postalLabel: "ZIP Code"
|
|
707
|
+
},
|
|
708
|
+
JP: {
|
|
709
|
+
regionLabel: "Prefecture",
|
|
710
|
+
postalLabel: "Postal Code"
|
|
711
|
+
}
|
|
712
|
+
};
|
|
713
|
+
const DEFAULT_REGION_CONFIG = {
|
|
714
|
+
regionLabel: "Province",
|
|
715
|
+
postalLabel: "Postal Code"
|
|
716
|
+
};
|
|
717
|
+
function getRegionConfig(countryCode) {
|
|
718
|
+
return COUNTRY_CONFIGS[countryCode] ?? DEFAULT_REGION_CONFIG;
|
|
519
719
|
}
|
|
520
720
|
//#endregion
|
|
521
|
-
//#region ../../
|
|
522
|
-
function
|
|
523
|
-
const
|
|
524
|
-
const [
|
|
525
|
-
|
|
526
|
-
|
|
527
|
-
|
|
528
|
-
|
|
529
|
-
|
|
530
|
-
|
|
531
|
-
|
|
532
|
-
|
|
533
|
-
|
|
534
|
-
|
|
535
|
-
|
|
536
|
-
|
|
537
|
-
|
|
538
|
-
if (email && trimmed.toLowerCase() === email.toLowerCase()) {
|
|
539
|
-
setEmailError("New email must be different from your current email");
|
|
540
|
-
return;
|
|
541
|
-
}
|
|
542
|
-
try {
|
|
543
|
-
await onChangeEmail?.(trimmed);
|
|
544
|
-
setIsEditingEmail(false);
|
|
545
|
-
setNewEmail("");
|
|
546
|
-
} catch (err) {
|
|
547
|
-
setEmailError(err instanceof Error ? err.message : "Failed to initiate email change");
|
|
548
|
-
}
|
|
549
|
-
};
|
|
550
|
-
const handleCancelEmailEdit = () => {
|
|
551
|
-
setIsEditingEmail(false);
|
|
552
|
-
setNewEmail("");
|
|
553
|
-
setEmailError(void 0);
|
|
554
|
-
};
|
|
555
|
-
const handleDialogClose = () => {
|
|
556
|
-
handleCancelEmailEdit();
|
|
557
|
-
handleClose();
|
|
721
|
+
//#region ../../fluid-pay/core/src/hooks/use-country-states.ts
|
|
722
|
+
function useCountryStates() {
|
|
723
|
+
const [selectedCountry, setSelectedCountry] = (0, react.useState)("US");
|
|
724
|
+
const [stateOptions, setStateOptions] = (0, react.useState)(US_STATES);
|
|
725
|
+
return {
|
|
726
|
+
handleCountryChange: (0, react.useCallback)((selectedCountryCode, fetchStates) => {
|
|
727
|
+
setSelectedCountry(selectedCountryCode);
|
|
728
|
+
if (selectedCountryCode === "US") setStateOptions(US_STATES);
|
|
729
|
+
else if (fetchStates) fetchStates(selectedCountryCode).then((states) => setStateOptions(states)).catch((error) => {
|
|
730
|
+
console.error("Failed to fetch states:", error);
|
|
731
|
+
setStateOptions([]);
|
|
732
|
+
});
|
|
733
|
+
else setStateOptions([]);
|
|
734
|
+
}, []),
|
|
735
|
+
stateOptions,
|
|
736
|
+
config: getRegionConfig(selectedCountry),
|
|
737
|
+
selectedCountry
|
|
558
738
|
};
|
|
559
|
-
return /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_src.Dialog, {
|
|
560
|
-
open: isOpen,
|
|
561
|
-
onOpenChange: (open) => !open && handleDialogClose(),
|
|
562
|
-
children: /* @__PURE__ */ (0, react_jsx_runtime.jsxs)(require_src.DialogContent, {
|
|
563
|
-
className: "max-w-sm md:max-w-lg",
|
|
564
|
-
children: [
|
|
565
|
-
/* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_src.DialogHeader, { children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_src.DialogTitle, { children: t("edit_profile") }) }),
|
|
566
|
-
/* @__PURE__ */ (0, react_jsx_runtime.jsxs)("div", {
|
|
567
|
-
className: "space-y-4",
|
|
568
|
-
children: [
|
|
569
|
-
/* @__PURE__ */ (0, react_jsx_runtime.jsx)(FormTextField$1, {
|
|
570
|
-
control,
|
|
571
|
-
name: "first_name",
|
|
572
|
-
label: t("first_name")
|
|
573
|
-
}),
|
|
574
|
-
/* @__PURE__ */ (0, react_jsx_runtime.jsx)(FormTextField$1, {
|
|
575
|
-
control,
|
|
576
|
-
name: "last_name",
|
|
577
|
-
label: t("last_name")
|
|
578
|
-
}),
|
|
579
|
-
/* @__PURE__ */ (0, react_jsx_runtime.jsx)(FormTextField$1, {
|
|
580
|
-
control,
|
|
581
|
-
name: "phone_number",
|
|
582
|
-
label: t("phone_number"),
|
|
583
|
-
type: "tel"
|
|
584
|
-
}),
|
|
585
|
-
/* @__PURE__ */ (0, react_jsx_runtime.jsx)(FormTextareaField, {
|
|
586
|
-
control,
|
|
587
|
-
name: "bio",
|
|
588
|
-
label: t("bio"),
|
|
589
|
-
rows: 3,
|
|
590
|
-
placeholder: t("add_a_short_bio")
|
|
591
|
-
}),
|
|
592
|
-
/* @__PURE__ */ (0, react_jsx_runtime.jsx)(FormSelectField$1, {
|
|
593
|
-
control,
|
|
594
|
-
name: "language",
|
|
595
|
-
label: t("language"),
|
|
596
|
-
options: languageOptions,
|
|
597
|
-
placeholder: t("select_an_option")
|
|
598
|
-
})
|
|
599
|
-
]
|
|
600
|
-
}),
|
|
601
|
-
email && /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("div", {
|
|
602
|
-
className: "space-y-2",
|
|
603
|
-
children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)("label", {
|
|
604
|
-
className: "text-foreground text-sm font-medium",
|
|
605
|
-
children: t("email") || "Email"
|
|
606
|
-
}), isEditingEmail ? /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("div", {
|
|
607
|
-
className: "space-y-2",
|
|
608
|
-
children: [
|
|
609
|
-
/* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_src.Input, {
|
|
610
|
-
type: "email",
|
|
611
|
-
placeholder: "Enter your new email...",
|
|
612
|
-
value: newEmail,
|
|
613
|
-
onChange: (e) => {
|
|
614
|
-
setNewEmail(e.target.value);
|
|
615
|
-
setEmailError(void 0);
|
|
616
|
-
},
|
|
617
|
-
onKeyDown: (e) => {
|
|
618
|
-
if (e.key === "Enter") {
|
|
619
|
-
e.preventDefault();
|
|
620
|
-
handleEmailSubmit();
|
|
621
|
-
}
|
|
622
|
-
if (e.key === "Escape") handleCancelEmailEdit();
|
|
623
|
-
},
|
|
624
|
-
"aria-invalid": !!emailError || void 0,
|
|
625
|
-
autoFocus: true
|
|
626
|
-
}),
|
|
627
|
-
emailError && /* @__PURE__ */ (0, react_jsx_runtime.jsx)("p", {
|
|
628
|
-
className: "text-destructive text-xs",
|
|
629
|
-
children: emailError
|
|
630
|
-
}),
|
|
631
|
-
/* @__PURE__ */ (0, react_jsx_runtime.jsxs)("div", {
|
|
632
|
-
className: "bg-muted flex items-start gap-2.5 rounded-md px-3 py-2.5",
|
|
633
|
-
children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)(lucide_react.Info, { className: "text-primary mt-0.5 h-4 w-4 shrink-0" }), /* @__PURE__ */ (0, react_jsx_runtime.jsx)("p", {
|
|
634
|
-
className: "text-muted-foreground text-xs",
|
|
635
|
-
children: "We'll send a verification link to your new email. Click it to complete the change."
|
|
636
|
-
})]
|
|
637
|
-
}),
|
|
638
|
-
/* @__PURE__ */ (0, react_jsx_runtime.jsxs)("div", {
|
|
639
|
-
className: "flex gap-2",
|
|
640
|
-
children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_src.Button, {
|
|
641
|
-
type: "button",
|
|
642
|
-
variant: "outline",
|
|
643
|
-
size: "sm",
|
|
644
|
-
onClick: handleCancelEmailEdit,
|
|
645
|
-
children: "Cancel"
|
|
646
|
-
}), /* @__PURE__ */ (0, react_jsx_runtime.jsxs)(require_src.Button, {
|
|
647
|
-
type: "button",
|
|
648
|
-
size: "sm",
|
|
649
|
-
onClick: handleEmailSubmit,
|
|
650
|
-
disabled: !newEmail.trim() || isChangingEmail,
|
|
651
|
-
children: [isChangingEmail && /* @__PURE__ */ (0, react_jsx_runtime.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"]
|
|
652
|
-
})]
|
|
653
|
-
})
|
|
654
|
-
]
|
|
655
|
-
}) : pendingEmail ? /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("div", {
|
|
656
|
-
className: "space-y-2",
|
|
657
|
-
children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)("div", {
|
|
658
|
-
className: "bg-muted text-muted-foreground min-w-0 rounded-md px-3 py-2 text-sm",
|
|
659
|
-
children: email
|
|
660
|
-
}), /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("div", {
|
|
661
|
-
className: "bg-muted flex items-start gap-2.5 rounded-md px-3 py-2.5",
|
|
662
|
-
children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)(lucide_react.Info, { className: "text-primary mt-0.5 h-4 w-4 shrink-0" }), /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("p", {
|
|
663
|
-
className: "text-muted-foreground text-xs",
|
|
664
|
-
children: [
|
|
665
|
-
"Changing to",
|
|
666
|
-
" ",
|
|
667
|
-
/* @__PURE__ */ (0, react_jsx_runtime.jsx)("span", {
|
|
668
|
-
className: "text-foreground font-medium",
|
|
669
|
-
children: pendingEmail
|
|
670
|
-
}),
|
|
671
|
-
". Check your new email inbox and click the verification link to complete the change."
|
|
672
|
-
]
|
|
673
|
-
})]
|
|
674
|
-
})]
|
|
675
|
-
}) : /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("div", {
|
|
676
|
-
className: "flex items-center gap-2",
|
|
677
|
-
children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)("div", {
|
|
678
|
-
className: "bg-muted text-muted-foreground min-w-0 flex-1 rounded-md px-3 py-2 text-sm",
|
|
679
|
-
children: email
|
|
680
|
-
}), onChangeEmail && /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_src.Button, {
|
|
681
|
-
type: "button",
|
|
682
|
-
variant: "outline",
|
|
683
|
-
size: "sm",
|
|
684
|
-
onClick: () => setIsEditingEmail(true),
|
|
685
|
-
className: "shrink-0",
|
|
686
|
-
children: "Change"
|
|
687
|
-
})]
|
|
688
|
-
})]
|
|
689
|
-
}),
|
|
690
|
-
errorMsg && /* @__PURE__ */ (0, react_jsx_runtime.jsx)("p", {
|
|
691
|
-
className: "text-destructive text-sm",
|
|
692
|
-
children: errorMsg
|
|
693
|
-
}),
|
|
694
|
-
/* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_src.DialogFooter, {
|
|
695
|
-
className: "flex flex-row items-center justify-end",
|
|
696
|
-
children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)("div", {
|
|
697
|
-
className: "flex-1 text-right",
|
|
698
|
-
children: /* @__PURE__ */ (0, react_jsx_runtime.jsxs)(require_src.Button, {
|
|
699
|
-
type: "button",
|
|
700
|
-
onClick: onSubmit,
|
|
701
|
-
children: [isSubmitting && /* @__PURE__ */ (0, react_jsx_runtime.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")]
|
|
702
|
-
})
|
|
703
|
-
})
|
|
704
|
-
})
|
|
705
|
-
]
|
|
706
|
-
})
|
|
707
|
-
});
|
|
708
|
-
}
|
|
709
|
-
//#endregion
|
|
710
|
-
//#region ../../profile/ui/src/components/payment-method-card-internals.tsx
|
|
711
|
-
const PAYMENT_ICON_BASE = "https://assets.fluid.app/images/payment_icons";
|
|
712
|
-
const GENERIC_PAYMENT_ICON = `${PAYMENT_ICON_BASE}/generic.svg`;
|
|
713
|
-
function brandIconUrl(brand) {
|
|
714
|
-
if (!brand) return GENERIC_PAYMENT_ICON;
|
|
715
|
-
return `${PAYMENT_ICON_BASE}/${brand.toLowerCase().replace(/\s+/g, "_")}.svg`;
|
|
716
|
-
}
|
|
717
|
-
function PaymentIcon({ logoUrl, brand, alt }) {
|
|
718
|
-
const computedSrc = logoUrl || brandIconUrl(brand);
|
|
719
|
-
const [hasError, setHasError] = (0, react.useState)(false);
|
|
720
|
-
return /* @__PURE__ */ (0, react_jsx_runtime.jsx)("img", {
|
|
721
|
-
src: hasError ? GENERIC_PAYMENT_ICON : computedSrc,
|
|
722
|
-
alt,
|
|
723
|
-
width: 40,
|
|
724
|
-
height: 24,
|
|
725
|
-
className: "object-contain",
|
|
726
|
-
onError: () => setHasError(true)
|
|
727
|
-
});
|
|
728
|
-
}
|
|
729
|
-
function getCardDisplayName(paymentMethod) {
|
|
730
|
-
const lastFour = paymentMethod.details.last_four;
|
|
731
|
-
if (lastFour != null || paymentMethod.payment_type === "Credit Card") return `${paymentMethod.details.card_type || "Card"} •••• ${lastFour || "••••"}`;
|
|
732
|
-
return paymentMethod.payment_type;
|
|
733
|
-
}
|
|
734
|
-
function getCardExpiry(paymentMethod) {
|
|
735
|
-
const { exp_month, exp_year } = paymentMethod.details;
|
|
736
|
-
if (exp_month != null && exp_year != null) return `Expires ${exp_month}/${exp_year}`;
|
|
737
|
-
return "";
|
|
738
739
|
}
|
|
739
740
|
//#endregion
|
|
740
741
|
//#region ../../profile/ui/src/components/edit-payment-method-dialog.tsx
|
|
@@ -751,7 +752,7 @@ const editPaymentMethodFormSchema = zod.z.object({
|
|
|
751
752
|
set_as_default: zod.z.boolean()
|
|
752
753
|
});
|
|
753
754
|
function EditPaymentMethodDialog({ isOpen, paymentMethod, billingAddress, onClose, onSubmit, isSubmitting, error, countries = [], onDelete, isDeleting = false }) {
|
|
754
|
-
const { t } =
|
|
755
|
+
const { t } = useProfileTranslation();
|
|
755
756
|
const [confirmDelete, setConfirmDelete] = (0, react.useState)(false);
|
|
756
757
|
(0, react.useEffect)(() => {
|
|
757
758
|
if (!isOpen) setConfirmDelete(false);
|
|
@@ -2118,6 +2119,12 @@ Object.defineProperty(exports, "PaymentIcon", {
|
|
|
2118
2119
|
return PaymentIcon;
|
|
2119
2120
|
}
|
|
2120
2121
|
});
|
|
2122
|
+
Object.defineProperty(exports, "ProfileTranslationProvider", {
|
|
2123
|
+
enumerable: true,
|
|
2124
|
+
get: function() {
|
|
2125
|
+
return ProfileTranslationProvider;
|
|
2126
|
+
}
|
|
2127
|
+
});
|
|
2121
2128
|
Object.defineProperty(exports, "ProfileUIProvider", {
|
|
2122
2129
|
enumerable: true,
|
|
2123
2130
|
get: function() {
|
|
@@ -2154,5 +2161,11 @@ Object.defineProperty(exports, "mapToFluidPayPaymentMethod", {
|
|
|
2154
2161
|
return mapToFluidPayPaymentMethod;
|
|
2155
2162
|
}
|
|
2156
2163
|
});
|
|
2164
|
+
Object.defineProperty(exports, "useProfileTranslation", {
|
|
2165
|
+
enumerable: true,
|
|
2166
|
+
get: function() {
|
|
2167
|
+
return useProfileTranslation;
|
|
2168
|
+
}
|
|
2169
|
+
});
|
|
2157
2170
|
|
|
2158
|
-
//# sourceMappingURL=AddressAutocompleteInput-
|
|
2171
|
+
//# sourceMappingURL=AddressAutocompleteInput-CAI2D_JY.cjs.map
|