@intlayer/design-system 3.1.0 → 3.2.1
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/.vite/manifest.json +481 -455
- package/dist/TabSelector-BmkzVPXl.js +660 -0
- package/dist/TabSelector-BmkzVPXl.js.map +1 -0
- package/dist/TabSelector-o_NRBvPQ.cjs +659 -0
- package/dist/TabSelector-o_NRBvPQ.cjs.map +1 -0
- package/dist/components/Auth/AuthModal/index.cjs +17 -62
- package/dist/components/Auth/AuthModal/index.cjs.map +1 -1
- package/dist/components/Auth/AuthModal/index.d.ts.map +1 -1
- package/dist/components/Auth/AuthModal/index.mjs +17 -62
- package/dist/components/Auth/AuthModal/index.mjs.map +1 -1
- package/dist/components/Auth/AuthProvider/index.cjs.map +1 -1
- package/dist/components/Auth/AuthProvider/index.d.ts +3 -3
- package/dist/components/Auth/AuthProvider/index.d.ts.map +1 -1
- package/dist/components/Auth/AuthProvider/index.mjs.map +1 -1
- package/dist/components/Auth/AuthProvider/useSession.cjs +7 -8
- package/dist/components/Auth/AuthProvider/useSession.cjs.map +1 -1
- package/dist/components/Auth/AuthProvider/useSession.d.ts.map +1 -1
- package/dist/components/Auth/AuthProvider/useSession.mjs +7 -8
- package/dist/components/Auth/AuthProvider/useSession.mjs.map +1 -1
- package/dist/components/Auth/AuthenticationBarrier/AuthenticationBarrierClient.cjs +2 -2
- package/dist/components/Auth/AuthenticationBarrier/AuthenticationBarrierClient.cjs.map +1 -1
- package/dist/components/Auth/AuthenticationBarrier/AuthenticationBarrierClient.mjs +1 -1
- package/dist/components/Auth/AuthenticationBarrier/AuthenticationBarrierClient.mjs.map +1 -1
- package/dist/components/Auth/AuthenticationBarrier/AuthenticationBarrierServer.cjs.map +1 -1
- package/dist/components/Auth/AuthenticationBarrier/AuthenticationBarrierServer.d.ts +2 -2
- package/dist/components/Auth/AuthenticationBarrier/AuthenticationBarrierServer.d.ts.map +1 -1
- package/dist/components/Auth/AuthenticationBarrier/AuthenticationBarrierServer.mjs.map +1 -1
- package/dist/components/Auth/AuthenticationBarrier/accessValidation.cjs.map +1 -1
- package/dist/components/Auth/AuthenticationBarrier/accessValidation.d.ts +1 -1
- package/dist/components/Auth/AuthenticationBarrier/accessValidation.d.ts.map +1 -1
- package/dist/components/Auth/AuthenticationBarrier/accessValidation.mjs.map +1 -1
- package/dist/components/Auth/AuthenticationBarrier/index.d.ts +3 -3
- package/dist/components/Auth/AuthenticationBarrier/index.d.ts.map +1 -1
- package/dist/components/Auth/ChangePasswordForm/ChangePasswordForm.cjs +1 -0
- package/dist/components/Auth/ChangePasswordForm/ChangePasswordForm.cjs.map +1 -1
- package/dist/components/Auth/ChangePasswordForm/ChangePasswordForm.d.ts +1 -1
- package/dist/components/Auth/ChangePasswordForm/ChangePasswordForm.d.ts.map +1 -1
- package/dist/components/Auth/ChangePasswordForm/ChangePasswordForm.mjs +1 -0
- package/dist/components/Auth/ChangePasswordForm/ChangePasswordForm.mjs.map +1 -1
- package/dist/components/Auth/ChangePasswordForm/index.content.d.ts +10 -10
- package/dist/components/Auth/ExternalsLoginButtons/ExternalsLoginButtons.cjs +3 -2
- package/dist/components/Auth/ExternalsLoginButtons/ExternalsLoginButtons.cjs.map +1 -1
- package/dist/components/Auth/ExternalsLoginButtons/ExternalsLoginButtons.d.ts.map +1 -1
- package/dist/components/Auth/ExternalsLoginButtons/ExternalsLoginButtons.mjs +3 -2
- package/dist/components/Auth/ExternalsLoginButtons/ExternalsLoginButtons.mjs.map +1 -1
- package/dist/components/Auth/ExternalsLoginButtons/externalsLoginButtons.content.d.ts +5 -5
- package/dist/components/Auth/ResetPasswordForm/ResetPasswordForm.cjs +1 -0
- package/dist/components/Auth/ResetPasswordForm/ResetPasswordForm.cjs.map +1 -1
- package/dist/components/Auth/ResetPasswordForm/ResetPasswordForm.d.ts +1 -1
- package/dist/components/Auth/ResetPasswordForm/ResetPasswordForm.d.ts.map +1 -1
- package/dist/components/Auth/ResetPasswordForm/ResetPasswordForm.mjs +1 -0
- package/dist/components/Auth/ResetPasswordForm/ResetPasswordForm.mjs.map +1 -1
- package/dist/components/Auth/ResetPasswordForm/index.content.d.ts +7 -7
- package/dist/components/Auth/SignInForm/SignInForm.cjs +4 -3
- package/dist/components/Auth/SignInForm/SignInForm.cjs.map +1 -1
- package/dist/components/Auth/SignInForm/SignInForm.d.ts +1 -1
- package/dist/components/Auth/SignInForm/SignInForm.d.ts.map +1 -1
- package/dist/components/Auth/SignInForm/SignInForm.mjs +4 -3
- package/dist/components/Auth/SignInForm/SignInForm.mjs.map +1 -1
- package/dist/components/Auth/SignInForm/index.content.d.ts +13 -13
- package/dist/components/Auth/SignUpForm/SignUpForm.cjs +3 -3
- package/dist/components/Auth/SignUpForm/SignUpForm.cjs.map +1 -1
- package/dist/components/Auth/SignUpForm/SignUpForm.d.ts +1 -1
- package/dist/components/Auth/SignUpForm/SignUpForm.d.ts.map +1 -1
- package/dist/components/Auth/SignUpForm/SignUpForm.mjs +3 -3
- package/dist/components/Auth/SignUpForm/SignUpForm.mjs.map +1 -1
- package/dist/components/Auth/SignUpForm/index.content.d.ts +11 -11
- package/dist/components/Auth/index.cjs +2 -4
- package/dist/components/Auth/index.cjs.map +1 -1
- package/dist/components/Auth/index.d.ts +1 -1
- package/dist/components/Auth/index.d.ts.map +1 -1
- package/dist/components/Auth/index.mjs +1 -3
- package/dist/components/Auth/useAuth/index.cjs +39 -0
- package/dist/components/Auth/useAuth/index.cjs.map +1 -0
- package/dist/components/Auth/useAuth/index.d.ts +24 -0
- package/dist/components/Auth/useAuth/index.d.ts.map +1 -0
- package/dist/components/Auth/useAuth/index.mjs +39 -0
- package/dist/components/Auth/useAuth/index.mjs.map +1 -0
- package/dist/components/Auth/useAuth/useCSRF.cjs +22 -0
- package/dist/components/Auth/useAuth/useCSRF.cjs.map +1 -0
- package/dist/components/Auth/useAuth/useCSRF.d.ts +5 -0
- package/dist/components/Auth/useAuth/useCSRF.d.ts.map +1 -0
- package/dist/components/Auth/useAuth/useCSRF.mjs +22 -0
- package/dist/components/Auth/useAuth/useCSRF.mjs.map +1 -0
- package/dist/components/Auth/useAuth/useOAuth2.cjs +26 -0
- package/dist/components/Auth/useAuth/useOAuth2.cjs.map +1 -0
- package/dist/components/Auth/useAuth/useOAuth2.d.ts +4 -0
- package/dist/components/Auth/useAuth/useOAuth2.d.ts.map +1 -0
- package/dist/components/Auth/useAuth/useOAuth2.mjs +26 -0
- package/dist/components/Auth/useAuth/useOAuth2.mjs.map +1 -0
- package/dist/components/Auth/useAuth/useSession.cjs +60 -0
- package/dist/components/Auth/useAuth/useSession.cjs.map +1 -0
- package/dist/components/Auth/useAuth/useSession.d.ts +8 -0
- package/dist/components/Auth/useAuth/useSession.d.ts.map +1 -0
- package/dist/components/Auth/useAuth/useSession.mjs +60 -0
- package/dist/components/Auth/useAuth/useSession.mjs.map +1 -0
- package/dist/components/Auth/useUser/index.cjs +3 -3
- package/dist/components/Auth/useUser/index.cjs.map +1 -1
- package/dist/components/Auth/useUser/index.d.ts.map +1 -1
- package/dist/components/Auth/useUser/index.mjs +3 -3
- package/dist/components/Auth/useUser/index.mjs.map +1 -1
- package/dist/components/Badge/index.d.ts +1 -1
- package/dist/components/Button/Button.cjs.map +1 -1
- package/dist/components/Button/Button.d.ts +1 -2
- package/dist/components/Button/Button.d.ts.map +1 -1
- package/dist/components/Button/Button.mjs.map +1 -1
- package/dist/components/Command/index.d.ts +2 -2
- package/dist/components/Command/index.d.ts.map +1 -1
- package/dist/components/Container/index.cjs +1 -0
- package/dist/components/Container/index.cjs.map +1 -1
- package/dist/components/Container/index.d.ts +8 -8
- package/dist/components/Container/index.d.ts.map +1 -1
- package/dist/components/Container/index.mjs +1 -0
- package/dist/components/Container/index.mjs.map +1 -1
- package/dist/components/DictionaryEditor/ValidDictionaryChangeButtons.cjs +4 -17
- package/dist/components/DictionaryEditor/ValidDictionaryChangeButtons.cjs.map +1 -1
- package/dist/components/DictionaryEditor/ValidDictionaryChangeButtons.d.ts.map +1 -1
- package/dist/components/DictionaryEditor/ValidDictionaryChangeButtons.mjs +4 -17
- package/dist/components/DictionaryEditor/ValidDictionaryChangeButtons.mjs.map +1 -1
- package/dist/components/DictionaryEditor/validDictionaryChangeButtons.content.cjs +0 -21
- package/dist/components/DictionaryEditor/validDictionaryChangeButtons.content.cjs.map +1 -1
- package/dist/components/DictionaryEditor/validDictionaryChangeButtons.content.d.ts +0 -9
- package/dist/components/DictionaryEditor/validDictionaryChangeButtons.content.d.ts.map +1 -1
- package/dist/components/DictionaryEditor/validDictionaryChangeButtons.content.mjs +0 -21
- package/dist/components/DictionaryEditor/validDictionaryChangeButtons.content.mjs.map +1 -1
- package/dist/components/DictionaryFieldEditor/DictionariesSelector/DictionariesSelector.cjs +3 -2
- package/dist/components/DictionaryFieldEditor/DictionariesSelector/DictionariesSelector.cjs.map +1 -1
- package/dist/components/DictionaryFieldEditor/DictionariesSelector/DictionariesSelector.mjs +3 -2
- package/dist/components/DictionaryFieldEditor/DictionariesSelector/DictionariesSelector.mjs.map +1 -1
- package/dist/components/DictionaryFieldEditor/DictionaryCreationForm/DictionaryCreationForm.cjs +7 -24
- package/dist/components/DictionaryFieldEditor/DictionaryCreationForm/DictionaryCreationForm.cjs.map +1 -1
- package/dist/components/DictionaryFieldEditor/DictionaryCreationForm/DictionaryCreationForm.d.ts.map +1 -1
- package/dist/components/DictionaryFieldEditor/DictionaryCreationForm/DictionaryCreationForm.mjs +6 -23
- package/dist/components/DictionaryFieldEditor/DictionaryCreationForm/DictionaryCreationForm.mjs.map +1 -1
- package/dist/components/DictionaryFieldEditor/DictionaryCreationForm/dictionaryCreationForm.content.cjs +0 -42
- package/dist/components/DictionaryFieldEditor/DictionaryCreationForm/dictionaryCreationForm.content.cjs.map +1 -1
- package/dist/components/DictionaryFieldEditor/DictionaryCreationForm/dictionaryCreationForm.content.d.ts +0 -18
- package/dist/components/DictionaryFieldEditor/DictionaryCreationForm/dictionaryCreationForm.content.d.ts.map +1 -1
- package/dist/components/DictionaryFieldEditor/DictionaryCreationForm/dictionaryCreationForm.content.mjs +0 -42
- package/dist/components/DictionaryFieldEditor/DictionaryCreationForm/dictionaryCreationForm.content.mjs.map +1 -1
- package/dist/components/DictionaryFieldEditor/DictionaryCreationForm/dictionaryFormSchema.d.ts +2 -2
- package/dist/components/DictionaryFieldEditor/DictionaryDetails/DictionaryDetailsForm.cjs +4 -36
- package/dist/components/DictionaryFieldEditor/DictionaryDetails/DictionaryDetailsForm.cjs.map +1 -1
- package/dist/components/DictionaryFieldEditor/DictionaryDetails/DictionaryDetailsForm.d.ts.map +1 -1
- package/dist/components/DictionaryFieldEditor/DictionaryDetails/DictionaryDetailsForm.mjs +3 -35
- package/dist/components/DictionaryFieldEditor/DictionaryDetails/DictionaryDetailsForm.mjs.map +1 -1
- package/dist/components/DictionaryFieldEditor/DictionaryDetails/DictionaryDetailsSchema.d.ts +4 -4
- package/dist/components/DictionaryFieldEditor/DictionaryDetails/dictionaryDetails.content.cjs +0 -47
- package/dist/components/DictionaryFieldEditor/DictionaryDetails/dictionaryDetails.content.cjs.map +1 -1
- package/dist/components/DictionaryFieldEditor/DictionaryDetails/dictionaryDetails.content.d.ts +0 -19
- package/dist/components/DictionaryFieldEditor/DictionaryDetails/dictionaryDetails.content.d.ts.map +1 -1
- package/dist/components/DictionaryFieldEditor/DictionaryDetails/dictionaryDetails.content.mjs +0 -47
- package/dist/components/DictionaryFieldEditor/DictionaryDetails/dictionaryDetails.content.mjs.map +1 -1
- package/dist/components/DictionaryFieldEditor/DictionaryFieldEditor.cjs +3 -2
- package/dist/components/DictionaryFieldEditor/DictionaryFieldEditor.cjs.map +1 -1
- package/dist/components/DictionaryFieldEditor/DictionaryFieldEditor.mjs +3 -2
- package/dist/components/DictionaryFieldEditor/DictionaryFieldEditor.mjs.map +1 -1
- package/dist/components/DictionaryFieldEditor/EditorView/EditorView.cjs +3 -2
- package/dist/components/DictionaryFieldEditor/EditorView/EditorView.cjs.map +1 -1
- package/dist/components/DictionaryFieldEditor/EditorView/EditorView.mjs +3 -2
- package/dist/components/DictionaryFieldEditor/EditorView/EditorView.mjs.map +1 -1
- package/dist/components/DictionaryFieldEditor/EditorView/TextEditor.cjs +2 -2
- package/dist/components/DictionaryFieldEditor/EditorView/TextEditor.mjs +2 -2
- package/dist/components/DictionaryFieldEditor/NavigationView/NavigationViewNode.cjs +2 -2
- package/dist/components/DictionaryFieldEditor/NavigationView/NavigationViewNode.mjs +2 -2
- package/dist/components/DictionaryFieldEditor/NodeTypeSelector.cjs +2 -2
- package/dist/components/DictionaryFieldEditor/NodeTypeSelector.mjs +2 -2
- package/dist/components/DictionaryFieldEditor/SaveForm/SaveForm.cjs +4 -17
- package/dist/components/DictionaryFieldEditor/SaveForm/SaveForm.cjs.map +1 -1
- package/dist/components/DictionaryFieldEditor/SaveForm/SaveForm.d.ts.map +1 -1
- package/dist/components/DictionaryFieldEditor/SaveForm/SaveForm.mjs +4 -17
- package/dist/components/DictionaryFieldEditor/SaveForm/SaveForm.mjs.map +1 -1
- package/dist/components/DictionaryFieldEditor/SaveForm/saveForm.content.cjs +0 -21
- package/dist/components/DictionaryFieldEditor/SaveForm/saveForm.content.cjs.map +1 -1
- package/dist/components/DictionaryFieldEditor/SaveForm/saveForm.content.d.ts +0 -9
- package/dist/components/DictionaryFieldEditor/SaveForm/saveForm.content.d.ts.map +1 -1
- package/dist/components/DictionaryFieldEditor/SaveForm/saveForm.content.mjs +0 -21
- package/dist/components/DictionaryFieldEditor/SaveForm/saveForm.content.mjs.map +1 -1
- package/dist/components/Form/FormBase.cjs +4 -1
- package/dist/components/Form/FormBase.cjs.map +1 -1
- package/dist/components/Form/FormBase.d.ts +1 -1
- package/dist/components/Form/FormBase.d.ts.map +1 -1
- package/dist/components/Form/FormBase.mjs +4 -1
- package/dist/components/Form/FormBase.mjs.map +1 -1
- package/dist/components/Input/Checkbox.d.ts +1 -1
- package/dist/components/Input/Input.cjs +8 -2
- package/dist/components/Input/Input.cjs.map +1 -1
- package/dist/components/Input/Input.d.ts +1 -0
- package/dist/components/Input/Input.d.ts.map +1 -1
- package/dist/components/Input/Input.mjs +8 -2
- package/dist/components/Input/Input.mjs.map +1 -1
- package/dist/components/Link/Link.d.ts +1 -1
- package/dist/components/Modal/Modal.cjs +3 -1
- package/dist/components/Modal/Modal.cjs.map +1 -1
- package/dist/components/Modal/Modal.mjs +3 -1
- package/dist/components/Modal/Modal.mjs.map +1 -1
- package/dist/components/Navbar/MobileNavbar.cjs +3 -1
- package/dist/components/Navbar/MobileNavbar.cjs.map +1 -1
- package/dist/components/Navbar/MobileNavbar.mjs +3 -1
- package/dist/components/Navbar/MobileNavbar.mjs.map +1 -1
- package/dist/components/Navbar/index.cjs +3 -1
- package/dist/components/Navbar/index.cjs.map +1 -1
- package/dist/components/Navbar/index.mjs +3 -1
- package/dist/components/Navbar/index.mjs.map +1 -1
- package/dist/components/Select/Multiselect.d.ts +1 -1
- package/dist/components/Select/Multiselect.d.ts.map +1 -1
- package/dist/components/SwitchSelector/index.cjs +3 -1
- package/dist/components/SwitchSelector/index.cjs.map +1 -1
- package/dist/components/SwitchSelector/index.d.ts +1 -1
- package/dist/components/SwitchSelector/index.mjs +3 -1
- package/dist/components/SwitchSelector/index.mjs.map +1 -1
- package/dist/components/TabSelector/TabSelector.cjs +13 -10
- package/dist/components/TabSelector/TabSelector.cjs.map +1 -1
- package/dist/components/TabSelector/TabSelector.d.ts +1 -1
- package/dist/components/TabSelector/TabSelector.d.ts.map +1 -1
- package/dist/components/TabSelector/TabSelector.mjs +13 -10
- package/dist/components/TabSelector/TabSelector.mjs.map +1 -1
- package/dist/components/Tag/index.cjs +79 -0
- package/dist/components/Tag/index.cjs.map +1 -0
- package/dist/components/Tag/index.d.ts +12 -0
- package/dist/components/Tag/index.d.ts.map +1 -0
- package/dist/components/Tag/index.mjs +79 -0
- package/dist/components/Tag/index.mjs.map +1 -0
- package/dist/components/Toaster/Toast.d.ts +1 -1
- package/dist/components/index.cjs +4 -4
- package/dist/components/index.d.ts +1 -0
- package/dist/components/index.d.ts.map +1 -1
- package/dist/components/index.mjs +3 -3
- package/dist/components/index.mjs.map +1 -1
- package/dist/hooks/index.cjs +4 -1
- package/dist/hooks/index.cjs.map +1 -1
- package/dist/hooks/index.d.ts +1 -0
- package/dist/hooks/index.d.ts.map +1 -1
- package/dist/hooks/index.mjs +5 -2
- package/dist/hooks/index.mjs.map +1 -1
- package/dist/hooks/intlayerAPIHooks.cjs +257 -126
- package/dist/hooks/intlayerAPIHooks.cjs.map +1 -1
- package/dist/hooks/intlayerAPIHooks.d.ts +43 -38
- package/dist/hooks/intlayerAPIHooks.d.ts.map +1 -1
- package/dist/hooks/intlayerAPIHooks.mjs +258 -127
- package/dist/hooks/intlayerAPIHooks.mjs.map +1 -1
- package/dist/hooks/useAsync/useAsync.cjs +142 -104
- package/dist/hooks/useAsync/useAsync.cjs.map +1 -1
- package/dist/hooks/useAsync/useAsync.d.ts +0 -2
- package/dist/hooks/useAsync/useAsync.d.ts.map +1 -1
- package/dist/hooks/useAsync/useAsync.mjs +143 -105
- package/dist/hooks/useAsync/useAsync.mjs.map +1 -1
- package/dist/hooks/useAsync/useAsyncStateStore.cjs +50 -112
- package/dist/hooks/useAsync/useAsyncStateStore.cjs.map +1 -1
- package/dist/hooks/useAsync/useAsyncStateStore.d.ts +3 -9
- package/dist/hooks/useAsync/useAsyncStateStore.d.ts.map +1 -1
- package/dist/hooks/useAsync/useAsyncStateStore.mjs +50 -112
- package/dist/hooks/useAsync/useAsyncStateStore.mjs.map +1 -1
- package/dist/hooks/useAsync/useProxyState.d.ts +3 -0
- package/dist/hooks/useAsync/useProxyState.d.ts.map +1 -0
- package/dist/hooks/useIntlayerAPI.cjs +6 -5
- package/dist/hooks/useIntlayerAPI.cjs.map +1 -1
- package/dist/hooks/useIntlayerAPI.d.ts +51 -45
- package/dist/hooks/useIntlayerAPI.d.ts.map +1 -1
- package/dist/hooks/useIntlayerAPI.mjs +5 -4
- package/dist/hooks/useIntlayerAPI.mjs.map +1 -1
- package/dist/hooks/useItemSelector.cjs +11 -2
- package/dist/hooks/useItemSelector.cjs.map +1 -1
- package/dist/hooks/useItemSelector.d.ts +3 -2
- package/dist/hooks/useItemSelector.d.ts.map +1 -1
- package/dist/hooks/useItemSelector.mjs +11 -2
- package/dist/hooks/useItemSelector.mjs.map +1 -1
- package/dist/hooks/usePersistedStore.cjs +22 -0
- package/dist/hooks/usePersistedStore.cjs.map +1 -0
- package/dist/hooks/usePersistedStore.d.ts +2 -0
- package/dist/hooks/usePersistedStore.d.ts.map +1 -0
- package/dist/hooks/usePersistedStore.mjs +22 -0
- package/dist/hooks/usePersistedStore.mjs.map +1 -0
- package/dist/hooks/usePersistenceStore.cjs +22 -0
- package/dist/hooks/usePersistenceStore.cjs.map +1 -0
- package/dist/hooks/usePersistenceStore.d.ts +2 -0
- package/dist/hooks/usePersistenceStore.d.ts.map +1 -0
- package/dist/hooks/usePersistenceStore.mjs +22 -0
- package/dist/hooks/usePersistenceStore.mjs.map +1 -0
- package/dist/libs/intlayer-api/auth.cjs +14 -2
- package/dist/libs/intlayer-api/auth.cjs.map +1 -1
- package/dist/libs/intlayer-api/auth.d.ts +7 -3
- package/dist/libs/intlayer-api/auth.d.ts.map +1 -1
- package/dist/libs/intlayer-api/auth.mjs +14 -2
- package/dist/libs/intlayer-api/auth.mjs.map +1 -1
- package/dist/libs/intlayer-api/fetcher.cjs +7 -1
- package/dist/libs/intlayer-api/fetcher.cjs.map +1 -1
- package/dist/libs/intlayer-api/fetcher.d.ts.map +1 -1
- package/dist/libs/intlayer-api/fetcher.mjs +7 -1
- package/dist/libs/intlayer-api/fetcher.mjs.map +1 -1
- package/dist/libs/intlayer-api/index.cjs +3 -1
- package/dist/libs/intlayer-api/index.cjs.map +1 -1
- package/dist/libs/intlayer-api/index.d.ts +12 -2
- package/dist/libs/intlayer-api/index.d.ts.map +1 -1
- package/dist/libs/intlayer-api/index.mjs +3 -1
- package/dist/libs/intlayer-api/index.mjs.map +1 -1
- package/dist/libs/intlayer-api/stripe.cjs +22 -0
- package/dist/libs/intlayer-api/stripe.cjs.map +1 -0
- package/dist/libs/intlayer-api/stripe.d.ts +6 -0
- package/dist/libs/intlayer-api/stripe.d.ts.map +1 -0
- package/dist/libs/intlayer-api/stripe.mjs +22 -0
- package/dist/libs/intlayer-api/stripe.mjs.map +1 -0
- package/dist/stripe-BsI0lJWz.js +22 -0
- package/dist/stripe-BsI0lJWz.js.map +1 -0
- package/dist/stripe-C-u5RvGh.js +22 -0
- package/dist/stripe-C-u5RvGh.js.map +1 -0
- package/dist/stripe-CF_E65Vu.js +22 -0
- package/dist/stripe-CF_E65Vu.js.map +1 -0
- package/dist/stripe-CpGvfq6T.cjs +21 -0
- package/dist/stripe-CpGvfq6T.cjs.map +1 -0
- package/dist/stripe-DEv4DjAL.cjs +21 -0
- package/dist/stripe-DEv4DjAL.cjs.map +1 -0
- package/dist/stripe-DuG0uaEn.cjs +21 -0
- package/dist/stripe-DuG0uaEn.cjs.map +1 -0
- package/dist/tailwind.css +1 -1
- package/dist/useProxyState-D5GLrY2y.js +20 -0
- package/dist/useProxyState-D5GLrY2y.js.map +1 -0
- package/dist/useProxyState-DewdF3no.cjs +19 -0
- package/dist/useProxyState-DewdF3no.cjs.map +1 -0
- package/package.json +15 -11
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"TabSelector-o_NRBvPQ.cjs","sources":["../src/components/Form/layout/FormItemLayout.tsx","../src/components/Form/elements/FormElement.tsx","../src/components/Form/elements/InputElement.tsx","../src/components/Form/elements/InputPasswordElement.tsx","../src/components/Form/elements/TextAreaElement.tsx","../src/components/Form/elements/EditableFieldInputElement.tsx","../src/components/Form/elements/EditableFieldTextAreaElement.tsx","../src/components/Form/elements/CheckboxElement.tsx","../src/components/Form/elements/MultiselectElement.tsx","../src/components/Form/elements/SelectElement.tsx","../src/components/SwitchSelector/index.tsx","../src/components/Form/elements/SwitchSelectorElement.tsx","../src/components/Form/Form.tsx","../src/components/Modal/Modal.tsx","../src/components/TabSelector/TabSelector.tsx"],"sourcesContent":["/* eslint-disable import/no-cycle */\nimport type { FC, ReactNode } from 'react';\nimport { Form } from '../Form';\nimport { FormLabelLayout, type FormLabelLayoutProps } from './FormLabelLayout';\n\nexport type FormItemLayoutProps = Omit<FormLabelLayoutProps, 'children'> & {\n label?: ReactNode;\n description?: ReactNode;\n children: ReactNode;\n showErrorMessage?: boolean;\n};\n\nexport const FormItemLayout: FC<FormItemLayoutProps> = ({\n label,\n description,\n isRequired,\n info,\n children,\n showErrorMessage = true,\n htmlFor,\n}) => (\n <Form.Item className=\"w-full space-y-2\">\n <div className=\"space-y-1 leading-none\">\n <FormLabelLayout isRequired={isRequired} info={info} htmlFor={htmlFor}>\n {label}\n </FormLabelLayout>\n {description && <Form.Description>{description}</Form.Description>}\n </div>\n <Form.Control>{children}</Form.Control>\n\n {showErrorMessage && <Form.Message data-testid=\"error-message\" />}\n </Form.Item>\n);\n","/* eslint-disable import/no-cycle */\n'use client';\n\nimport type { ComponentProps, ElementType, ReactNode } from 'react';\nimport {\n useFormContext,\n type ControllerRenderProps,\n type FieldValues,\n} from 'react-hook-form';\nimport { Form } from '../Form';\nimport { useFormField } from '../FormField';\nimport { FormItemLayout, FormItemLayoutProps } from '../layout';\n\nexport type FormElementProps<T extends ElementType> = {\n name: string;\n Element: T;\n label?: ReactNode;\n isRequired?: boolean;\n info?: string;\n showErrorMessage?: boolean;\n focus?: boolean;\n} & Omit<FormItemLayoutProps, 'children'>;\n\ntype FormFieldElementProps<T extends ElementType> = FormElementProps<T> &\n ComponentProps<T> & {\n field: ControllerRenderProps<FieldValues, string>;\n };\n\nconst FormFieldElement = <T extends ElementType>({\n field,\n name,\n label,\n Element,\n isRequired = false,\n info,\n description,\n showErrorMessage = true,\n ...props\n}: FormFieldElementProps<T>) => {\n const { error } = useFormField();\n\n return (\n <FormItemLayout\n htmlFor={name}\n label={label}\n description={description}\n isRequired={isRequired}\n info={info}\n showErrorMessage={showErrorMessage}\n aria-invalid={!!error}\n >\n <Element data-testid=\"element\" id={name} {...field} {...props}>\n {props.children}\n </Element>\n </FormItemLayout>\n );\n};\n\n/**\n * FormElement is a component that allows you to create a form element with a label, description, error message, and validation.\n *\n * The Element prop is the type of the element that will be rendered.\n * This element will interact with the FormContext and will be controlled by the FormControl component.\n * The props used to control the element will be `value` and `onChange`.\n */\nexport const FormElement = <T extends ElementType>(\n props: FormElementProps<T> & ComponentProps<T>\n) => {\n const { control } = useFormContext();\n\n return (\n <Form.Field\n control={control}\n name={props.name}\n render={({ field }) => <FormFieldElement {...props} field={field} />}\n />\n );\n};\n","/* eslint-disable import/no-cycle */\nimport type { ComponentProps, FC } from 'react';\nimport { Input } from '../../../components/Input';\nimport { FormElementProps, FormElement } from './FormElement';\n\ntype InputElementProps = Omit<FormElementProps<typeof Input>, 'Element'> &\n ComponentProps<typeof Input> & {\n name: string;\n };\n\nexport const InputElement: FC<InputElementProps> = (props) => (\n <FormElement\n id={props.name}\n data-testid={props.name}\n Element={Input}\n {...props}\n />\n);\n","/* eslint-disable import/no-cycle */\nimport type { ComponentProps, FC } from 'react';\nimport { InputPassword } from '../../Input';\nimport { FormElementProps, FormElement } from './FormElement';\n\ntype InputPasswordElementProps = Omit<\n FormElementProps<typeof InputPassword>,\n 'Element'\n> &\n ComponentProps<typeof InputPassword> & {\n name: string;\n autoComplete: 'current-password' | 'new-password';\n };\n\nexport const InputPasswordElement: FC<InputPasswordElementProps> = ({\n autoComplete,\n ...props\n}) => (\n <FormElement\n Element={InputPassword}\n id={props.name}\n data-testid={props.name}\n autoComplete={autoComplete}\n minLength={6}\n maxLength={255}\n {...props}\n />\n);\n","/* eslint-disable import/no-cycle */\nimport type { FC } from 'react';\nimport { TextArea } from '../../TextArea/TextArea';\nimport { FormElement, type FormElementProps } from './FormElement';\n\ntype TextAreaElementsProps = Omit<\n FormElementProps<typeof TextArea>,\n 'Element'\n> &\n React.ComponentProps<typeof TextArea> & {\n name: string;\n };\n\nexport const TextAreaElement: FC<TextAreaElementsProps> = (props) => (\n <FormElement\n Element={TextArea}\n id={props.name}\n data-testid={props.name}\n {...props}\n />\n);\n","/* eslint-disable import/no-cycle */\nimport type { ComponentProps, ReactNode } from 'react';\nimport { EditableFieldInput } from '../../EditableField/EditableFieldInput';\nimport { FormElement, type FormElementProps } from './FormElement';\n\ntype EditableFieldInputElementProps = Omit<\n FormElementProps<typeof EditableFieldInput>,\n 'Element'\n> &\n Omit<ComponentProps<typeof EditableFieldInput>, 'onChange'> & {\n name: string;\n description?: string;\n placeholder?: string;\n className?: string;\n children?: ReactNode;\n };\n\nexport const EditableFieldInputElement = (\n props: EditableFieldInputElementProps\n) => (\n <FormElement\n id={props.name}\n data-testid={props.name}\n Element={EditableFieldInput}\n {...props}\n />\n);\n","/* eslint-disable import/no-cycle */\n\nimport type { ComponentProps, ReactNode } from 'react';\nimport { EditableFieldTextArea } from '../../EditableField/EditableFieldTextArea';\nimport { FormElement, type FormElementProps } from './FormElement';\n\ntype EditableFieldTextAreaElementProps = Omit<\n FormElementProps<typeof EditableFieldTextArea>,\n 'Element'\n> &\n Omit<ComponentProps<typeof EditableFieldTextArea>, 'onChange'> & {\n name: string;\n description?: string;\n placeholder?: string;\n className?: string;\n children?: ReactNode;\n };\n\nexport const EditableFieldTextAreaElement = (\n props: EditableFieldTextAreaElementProps\n) => (\n <FormElement\n id={props.name}\n data-testid={props.name}\n Element={EditableFieldTextArea}\n {...props}\n />\n);\n","/* eslint-disable import/no-cycle */\nimport { forwardRef, type ComponentProps, type FC } from 'react';\nimport { Checkbox } from '../../Input';\nimport { FormElementProps, FormElement } from './FormElement';\n\ntype CheckboxElementProps = Omit<FormElementProps<typeof Checkbox>, 'Element'> &\n ComponentProps<typeof Checkbox> & {\n name: string;\n inputLabel?: string;\n };\n\ntype CheckboxComponentProps = Omit<ComponentProps<typeof Checkbox>, 'label'> & {\n name: string;\n inputLabel?: ComponentProps<typeof Checkbox>['label'];\n};\n\nconst CheckboxComponent = forwardRef<HTMLInputElement, CheckboxComponentProps>(\n ({ inputLabel, ...props }, ref) => (\n <Checkbox ref={ref} {...props} label={inputLabel} />\n )\n);\nCheckboxComponent.displayName = 'CheckboxComponent';\n\nexport const CheckboxElement: FC<CheckboxElementProps> = ({\n autoComplete,\n ...props\n}) => (\n <FormElement\n Element={CheckboxComponent}\n id={props.name}\n data-testid={props.name}\n autoComplete={autoComplete}\n minLength={6}\n maxLength={255}\n {...props}\n />\n);\n","/* eslint-disable import/no-cycle */\nimport type { ComponentProps, ReactNode } from 'react';\nimport { useFormContext } from 'react-hook-form';\nimport { MultiSelect } from '../../Select/Multiselect';\nimport { Form } from '../Form';\nimport { useFormField } from '../FormField';\nimport { FormItemLayout } from '../layout/FormItemLayout';\nimport type { FormElementProps } from './FormElement';\n\ntype SelectElementsProps = Omit<\n FormElementProps<typeof MultiSelect>,\n 'Element'\n> &\n ComponentProps<typeof MultiSelect> & {\n name: string;\n description?: string;\n placeholder?: string;\n className?: string;\n children?: ReactNode;\n };\n\nexport const MultiSelectElement = ({\n name,\n description,\n label,\n isRequired,\n info,\n showErrorMessage,\n children,\n ...props\n}: SelectElementsProps) => {\n const { control } = useFormContext();\n\n return (\n <Form.Field\n control={control}\n name={name}\n render={({ field }) => {\n // eslint-disable-next-line react-hooks/rules-of-hooks, sonarjs/rules-of-hooks\n const { error } = useFormField();\n\n return (\n <FormItemLayout\n htmlFor={name}\n label={label}\n description={description}\n isRequired={isRequired}\n info={info}\n showErrorMessage={showErrorMessage}\n aria-invalid={!!error}\n >\n <MultiSelect\n onValueChange={field.onChange}\n values={field.value}\n {...props}\n >\n {children}\n </MultiSelect>\n </FormItemLayout>\n );\n }}\n />\n );\n};\n","/* eslint-disable import/no-cycle */\nimport type { ComponentProps, ReactNode } from 'react';\nimport { useFormContext } from 'react-hook-form';\nimport { Select } from '../../Select/Select';\nimport { Form } from '../Form';\nimport { useFormField } from '../FormField';\nimport { FormItemLayout } from '../layout/FormItemLayout';\nimport type { FormElementProps } from './FormElement';\n\ntype SelectElementsProps = Omit<FormElementProps<typeof Select>, 'Element'> &\n ComponentProps<typeof Select> & {\n name: string;\n description?: string;\n placeholder?: string;\n className?: string;\n children?: ReactNode;\n };\n\nexport const SelectElement = ({\n name,\n description,\n label,\n isRequired,\n info,\n showErrorMessage,\n children,\n ...props\n}: SelectElementsProps) => {\n const { control } = useFormContext();\n\n return (\n <Form.Field\n control={control}\n name={name}\n render={({ field }) => {\n // eslint-disable-next-line react-hooks/rules-of-hooks, sonarjs/rules-of-hooks\n const { error } = useFormField();\n\n return (\n <FormItemLayout\n htmlFor={name}\n label={label}\n description={description}\n isRequired={isRequired}\n info={info}\n showErrorMessage={showErrorMessage}\n aria-invalid={!!error}\n >\n <Select\n onValueChange={field.onChange}\n defaultValue={field.value}\n {...props}\n >\n {children}\n </Select>\n </FormItemLayout>\n );\n }}\n />\n );\n};\n","'use client';\n\nimport { cva, type VariantProps } from 'class-variance-authority';\nimport { useRef, type ReactNode, type HTMLAttributes, useState } from 'react';\nimport { useItemSelector } from '../../hooks';\nimport { cn } from '../../utils/cn';\n\nexport type SwitchSelectorChoice<T = boolean> = {\n content: ReactNode;\n value: T;\n} & HTMLAttributes<HTMLButtonElement>;\nexport type SwitchSelectorChoices<T> = SwitchSelectorChoice<T>[];\n\nconst defaultChoices: SwitchSelectorChoices<boolean> = [\n { content: 'Off', value: false },\n { content: 'On', value: true },\n];\n\ntype SwitchSelectorProps<T = boolean> = {\n choices?: SwitchSelectorChoices<T>;\n value?: T;\n defaultValue?: T;\n onChange?: (choice: T) => void;\n className?: string;\n} & VariantProps<typeof switchSelectorVariant> &\n VariantProps<typeof choiceVariant>;\n\nconst switchSelectorVariant = cva(\n 'flex flex-row gap-2 rounded-full w-fit border-[1.5px] p-[1.5px]',\n {\n variants: {\n color: {\n primary:\n 'border-primary text-primary dark:border-primary-dark dark:text-primary-dark',\n secondary:\n 'border-secondary text-secondary dark:border-secondary-dark dark:text-secondary-dark',\n destructive:\n 'border-destructive bg-destructive text-destructive dark:border-destructive-dark dark:bg-destructive-dark',\n neutral:\n 'border-neutral text-neutral dark:border-neutral-dark dark:text-neutral-dark',\n light: 'border-white text-white',\n dark: 'border-neutral-800 text-neutral-800',\n text: 'border-text text-text dark:border-text-dark dark:text-text-dark',\n },\n },\n defaultVariants: {\n color: 'primary',\n },\n }\n);\n\nconst choiceVariant = cva(\n 'z-1 text-sm font-medium transition-all duration-300 ease-in-out aria-selected:cursor-default aria-selected:text-text-dark motion-reduce:transition-none dark:aria-selected:text-text',\n {\n variants: {\n size: {\n sm: 'py-1 px-2 text-xs',\n md: 'p-2 text-sm',\n lg: 'p-4 text-base',\n },\n },\n defaultVariants: {\n size: 'md',\n },\n }\n);\n\nconst indicatorVariant = cva(\n 'absolute top-0 z-[-1] h-full w-auto rounded-full transition-[left,width] duration-300 ease-in-out motion-reduce:transition-none',\n {\n variants: {\n color: {\n primary:\n 'bg-primary aria-selected:text-text dark:bg-primary-dark dark:aria-selected:text-text-dark',\n secondary:\n 'bg-secondary aria-selected:text-text dark:bg-secondary-dark dark:aria-selected:text-text-dark',\n destructive:\n 'bg-destructive aria-selected:text-text dark:bg-destructive-dark dark:aria-selected:text-text-dark',\n neutral:\n 'bg-neutral aria-selected:text-white dark:bg-neutral-dark dark:aria-selected:text-text',\n light: 'bg-white aria-selected:text-black',\n dark: 'bg-neutral-800 aria-selected:text-white',\n text: 'bg-text aria-selected:text-text-dark dark:bg-text-dark dark:aria-selected:text-text',\n },\n },\n }\n);\n\n/**\n *\n * Component that allows the user to select one of the provided choices.\n *\n * Example:\n * ```jsx\n * <SwitchSelector\n * choices={[\n * { content: 'Option 1', value: 'option1' },\n * { content: 'Option 2', value: 'option2' },\n * { content: 'Option 3', value: 'option3' },\n * ]}\n * value=\"option1\"\n * onChange={(choice) => console.log(choice)}\n * />\n * ```\n */\nexport const SwitchSelector = <T,>({\n choices = defaultChoices as SwitchSelectorChoices<T>,\n value,\n defaultValue,\n onChange,\n color = 'primary',\n size = 'md',\n className,\n}: SwitchSelectorProps<T>) => {\n const [valueState, setValue] = useState<T>(\n value ?? defaultValue ?? choices[0].value\n );\n const optionsRefs = useRef<HTMLButtonElement[]>([]);\n const indicatorRef = useRef<HTMLDivElement | null>(null);\n const { choiceIndicatorPosition } = useItemSelector(optionsRefs);\n\n const handleChange = (newValue: T) => {\n setValue(newValue);\n onChange?.(newValue);\n };\n\n return (\n <div\n className={switchSelectorVariant({\n color,\n className,\n })}\n role=\"tablist\"\n >\n <div className=\"relative flex size-full flex-row items-center justify-center\">\n {choices.map((choice, index) => {\n const { content, value, ...buttonProps } = choice;\n\n const isKeyOfKey =\n typeof value === 'string' || typeof value === 'number';\n\n const isSelected = value === valueState;\n\n return (\n <button\n {...buttonProps}\n className={cn(\n choiceVariant({\n size,\n })\n )}\n key={isKeyOfKey ? value : index}\n role=\"tab\"\n onClick={() => handleChange(value)}\n aria-selected={isSelected}\n disabled={isSelected}\n ref={(el) => {\n optionsRefs.current[index] = el!;\n }}\n >\n {content}\n </button>\n );\n })}\n {choiceIndicatorPosition && (\n <div\n className={cn(\n indicatorVariant({\n color,\n })\n )}\n style={choiceIndicatorPosition}\n ref={indicatorRef}\n />\n )}\n </div>\n </div>\n );\n};\n","/* eslint-disable import/no-cycle */\nimport type { ComponentProps, ReactNode } from 'react';\nimport { useFormContext } from 'react-hook-form';\nimport { SwitchSelector } from '../../SwitchSelector';\nimport { Form } from '../Form';\nimport { useFormField } from '../FormField';\nimport { FormItemLayout } from '../layout/FormItemLayout';\nimport type { FormElementProps } from './FormElement';\n\ntype SwitchSelectorElementProps = Omit<\n FormElementProps<typeof SwitchSelector>,\n 'Element'\n> &\n ComponentProps<typeof SwitchSelector> & {\n name: string;\n description?: string;\n placeholder?: string;\n className?: string;\n children?: ReactNode;\n };\n\nexport const SwitchSelectorElement = ({\n name,\n description,\n label,\n isRequired,\n info,\n showErrorMessage,\n children,\n ...props\n}: SwitchSelectorElementProps) => {\n const { control } = useFormContext();\n\n return (\n <Form.Field\n control={control}\n name={name}\n render={({ field }) => {\n // eslint-disable-next-line react-hooks/rules-of-hooks\n const { error } = useFormField();\n\n return (\n <FormItemLayout\n htmlFor={name}\n label={label}\n description={description}\n isRequired={isRequired}\n info={info}\n showErrorMessage={showErrorMessage}\n aria-invalid={!!error}\n >\n <SwitchSelector {...field} {...props}>\n {children}\n </SwitchSelector>\n </FormItemLayout>\n );\n }}\n />\n );\n};\n","/* eslint-disable import/no-cycle */\nimport { Button } from '../Button';\nimport {\n FormElement,\n InputElement,\n InputPasswordElement,\n TextAreaElement,\n} from './elements';\nimport { CheckboxElement } from './elements/CheckboxElement';\nimport { EditableFieldInputElement } from './elements/EditableFieldInputElement';\nimport { EditableFieldTextAreaElement } from './elements/EditableFieldTextAreaElement';\nimport { MultiSelectElement } from './elements/MultiselectElement';\nimport { SelectElement } from './elements/SelectElement';\nimport { SwitchSelectorElement } from './elements/SwitchSelectorElement';\nimport { Form as FormRoot } from './FormBase';\nimport { FormControl } from './FormControl';\nimport { FormDescription } from './FormDescription';\nimport { FormField } from './FormField';\nimport { FormItem } from './FormItem';\nimport { FormMessage } from './FormMessage';\nimport { FormLabelLayout } from './layout';\n\ntype FormType = typeof FormRoot & {\n Description: typeof FormDescription;\n Control: typeof FormControl;\n Field: typeof FormField;\n Item: typeof FormItem;\n Label: typeof FormLabelLayout;\n Message: typeof FormMessage;\n Element: typeof FormElement;\n Button: typeof Button;\n Input: typeof InputElement;\n InputPassword: typeof InputPasswordElement;\n Checkbox: typeof CheckboxElement;\n TextArea: typeof TextAreaElement;\n MultiSelect: typeof MultiSelectElement;\n Select: typeof SelectElement;\n EditableFieldInput: typeof EditableFieldInputElement;\n EditableFieldTextArea: typeof EditableFieldTextAreaElement;\n SwitchSelector: typeof SwitchSelectorElement;\n};\n\n/**\n * Form components\n *\n * Example of usage:\n * ```jsx\n * <Form\n * schema={ZodSchema}\n * onSubmitSuccess={onSubmitSuccess}\n * onSubmitError={onSubmitError}\n * autoComplete\n * >\n * <Form.Input name=\"name\" label=\"Name\" />\n * <Form.Button type=\"submit\" label=\"Click to submit\">\n * Submit\n * </Form.Button>\n * </Form>\n * ```\n */\nexport const Form = FormRoot as FormType;\nForm.Description = FormDescription;\nForm.Control = FormControl;\nForm.Field = FormField;\nForm.Item = FormItem;\nForm.Label = FormLabelLayout;\nForm.Message = FormMessage;\nForm.Element = FormElement;\nForm.Input = InputElement;\nForm.InputPassword = InputPasswordElement;\nForm.Checkbox = CheckboxElement;\nForm.TextArea = TextAreaElement;\nForm.Button = Button;\nForm.Select = SelectElement;\nForm.MultiSelect = MultiSelectElement;\nForm.EditableFieldInput = EditableFieldInputElement;\nForm.EditableFieldTextArea = EditableFieldTextAreaElement;\nForm.SwitchSelector = SwitchSelectorElement;\n","'use client';\n\nimport { cva } from 'class-variance-authority';\nimport { motion } from 'framer-motion';\nimport { X } from 'lucide-react';\nimport type { FC } from 'react';\nimport { createPortal } from 'react-dom';\nimport { useGetElementOrWindow, useScrollBlockage } from '../../hooks/index';\nimport { cn } from '../../utils/cn';\nimport { Container, type ContainerProps } from '../Container';\nimport { H3 } from '../Headers';\n\ntype ModalProps = {\n children: React.ReactNode;\n isOpen: boolean;\n onClose: () => void;\n container?: HTMLElement;\n disableScroll?: boolean;\n hasCloseButton?: boolean;\n title?: string;\n size?: Size;\n} & Pick<ContainerProps, 'transparency'>;\n\nconst modalVariants = cva(\n 'cursor-default overflow-auto p-3 shadow justify-center',\n {\n variants: {\n variant: {\n sm: 'w-full max-h-[30vh] max-w-[30vw]',\n md: 'w-full max-h-[50vh] max-w-[50vw]',\n lg: 'w-full max-h-[70vh] max-w-[70vw]',\n xl: 'w-full max-h-[95vh] max-w-[95vw]',\n unset: 'max-h-[95vh] max-w-[95vw]',\n },\n },\n defaultVariants: {\n variant: 'unset',\n },\n }\n);\n\ntype Size = 'sm' | 'md' | 'lg' | 'xl' | 'unset';\n\nconst MotionModal = motion.create(Container);\n\n/**\n * Usage example:\n * ```jsx\n * <Modal isOpen={isOpen} onClose={onClose}>\n * Modal content\n * </Modal>\n * ```\n */\nexport const Modal: FC<ModalProps> = ({\n children,\n isOpen,\n container,\n\n disableScroll = false,\n onClose,\n hasCloseButton = false,\n title,\n size = 'unset',\n ...props\n}) => {\n const containerElement = useGetElementOrWindow(container);\n\n useScrollBlockage({ key: 'modal', disableScroll: isOpen && disableScroll });\n\n if (!containerElement) return <></>;\n\n const hasTitle = typeof title === 'string';\n\n return createPortal(\n <motion.div\n className={cn(\n 'bg-background/40 dark:bg-background-dark/40 fixed left-0 top-0 z-50 flex size-full cursor-pointer items-center justify-center overflow-auto backdrop-blur',\n isOpen ? 'visible' : 'hidden'\n )}\n initial={{ opacity: isOpen ? 0 : 1 }}\n animate={{ opacity: isOpen ? 1 : 0 }}\n transition={{ duration: 0.1 }}\n onClick={(e) => {\n e.stopPropagation();\n onClose();\n }}\n aria-hidden={!isOpen}\n >\n <MotionModal\n onClick={(e) => e.stopPropagation()}\n initial={{ scale: isOpen ? 0.5 : 1 }}\n animate={{ scale: isOpen ? 1 : 0.5 }}\n transition={{ duration: 0.3 }}\n className={cn(\n modalVariants({\n variant: size,\n })\n )}\n role=\"dialog\"\n aria-modal\n roundedSize=\"2xl\"\n {...props}\n >\n <div\n className={cn(\n hasCloseButton && hasTitle\n ? `flex items-center justify-center`\n : hasCloseButton\n ? `flex items-center justify-end`\n : hasTitle\n ? `items-center`\n : `hidden`\n )}\n >\n {hasTitle && (\n <H3 className=\"flex items-center justify-center text-lg font-bold\">\n {title}\n </H3>\n )}\n {hasCloseButton && (\n <X\n role=\"button\"\n aria-label=\"Close modal\"\n className=\"right-2 top-2 ml-auto cursor-pointer\"\n onClick={(e) => {\n e.stopPropagation();\n onClose();\n }}\n />\n )}\n </div>\n <div className=\"mx-2 my-4 flex flex-1 flex-col items-center overflow-auto\">\n {children}\n </div>\n </MotionModal>\n </motion.div>,\n containerElement\n );\n};\n","'use client';\n\nimport { cva, type VariantProps } from 'class-variance-authority';\nimport {\n useRef,\n type HTMLAttributes,\n type ReactElement,\n cloneElement,\n} from 'react';\nimport { useItemSelector } from '../../hooks';\nimport { cn } from '../../utils/cn';\n\nconst tabSelectorVariant = cva(\n 'relative flex size-full flex-row items-center gap-2',\n {\n variants: {\n color: {\n primary:\n 'border-primary text-primary dark:border-primary-dark dark:text-primary-dark',\n secondary:\n 'border-secondary text-secondary dark:border-secondary-dark dark:text-secondary-dark',\n destructive:\n 'border-destructive bg-destructive text-destructive dark:border-destructive-dark dark:bg-destructive-dark',\n neutral:\n 'border-neutral text-neutral dark:border-neutral-dark dark:text-neutral-dark',\n light: 'border-white text-white',\n dark: 'border-neutral-800 text-neutral-800',\n text: 'border-text text-text dark:border-text-dark dark:text-text-dark',\n },\n },\n defaultVariants: {\n color: 'primary',\n },\n }\n);\n\nconst indicatorVariant = cva(\n 'absolute top-0 z-[-1] h-full w-auto rounded-lg opacity-10 transition-[left,width] duration-300 ease-in-out motion-reduce:transition-none',\n {\n variants: {\n color: {\n primary:\n 'bg-primary aria-selected:text-text dark:bg-primary-dark dark:aria-selected:text-text-dark',\n secondary:\n 'bg-secondary aria-selected:text-text dark:bg-secondary-dark dark:aria-selected:text-text-dark',\n destructive:\n 'bg-destructive aria-selected:text-text dark:bg-destructive-dark dark:aria-selected:text-text-dark',\n neutral:\n 'bg-neutral aria-selected:text-white dark:bg-neutral-dark dark:aria-selected:text-text',\n light: 'bg-white aria-selected:text-black',\n dark: 'bg-neutral-800 aria-selected:text-white',\n text: 'bg-text aria-selected:text-text-dark dark:bg-text-dark dark:aria-selected:text-text',\n },\n },\n }\n);\n\nexport type TabProps = HTMLAttributes<HTMLElement> & {\n key: string | number;\n};\n\ntype TabSelectorProps<T extends TabProps> = {\n tabs: ReactElement<T>[];\n selectedChoice: T['key'];\n onTabClick?: (choice: T['key']) => void;\n hoverable?: boolean;\n} & HTMLAttributes<HTMLElement> &\n VariantProps<typeof tabSelectorVariant>;\n\n/**\n *\n * Component that allows the user to select one of the provided choices.\n *\n * Example:\n * ```jsx\n * <TabSelector\n * selectedChoice=\"option1\"\n * onTabClick={(choice) => console.log(choice)}\n * hoverable={true}\n * >\n * <Button key=\"option1\"/>\n * <Button key=\"option2\"/>\n * <Button key=\"option3\"/>\n * </TabSelector>\n * ```\n */\nexport const TabSelector = <T extends TabProps>({\n tabs,\n selectedChoice,\n onTabClick,\n color = 'primary',\n hoverable = false,\n className,\n}: TabSelectorProps<T>) => {\n const optionsRefs = useRef<HTMLElement[]>([]);\n const indicatorRef = useRef<HTMLDivElement | null>(null);\n const { choiceIndicatorPosition } = useItemSelector(\n optionsRefs,\n undefined,\n hoverable\n );\n\n return (\n <div\n className={cn(\n tabSelectorVariant({\n color,\n }),\n className\n )}\n aria-orientation=\"horizontal\"\n aria-multiselectable=\"false\"\n role=\"tablist\"\n >\n {tabs.map((Tab, index) => {\n const key = Tab.key!;\n\n const isSelected = selectedChoice === key;\n\n return cloneElement(Tab, {\n key: key ?? index,\n role: 'tab',\n onClick: () => onTabClick?.(key),\n 'aria-selected': isSelected,\n ref: (el: HTMLElement) => {\n optionsRefs.current[index] = el!;\n },\n } as unknown as T);\n })}\n {choiceIndicatorPosition && (\n <div\n className={indicatorVariant({\n color,\n })}\n style={choiceIndicatorPosition}\n ref={indicatorRef}\n />\n )}\n </div>\n );\n};\n"],"names":["jsxs","jsx","FormLabelLayout","useFormField","useFormContext","Input","InputPassword","TextArea","EditableFieldInput","EditableFieldTextArea","forwardRef","Checkbox","MultiSelect","Select","cva","indicatorVariant","useState","useRef","useItemSelector","value","createElement","cn","FormRoot","FormDescription","FormControl","FormField","FormItem","FormMessage","Button","motion","Container","useGetElementOrWindow","useScrollBlockage","Fragment","createPortal","H3","X","cloneElement"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAYO,MAAM,iBAA0C,CAAC;AAAA,EACtD;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA,mBAAmB;AAAA,EACnB;AACF,MACGA,2BAAAA,kBAAAA,KAAA,KAAK,MAAL,EAAU,WAAU,oBACnB,UAAA;AAAA,EAACA,2BAAAA,kBAAAA,KAAA,OAAA,EAAI,WAAU,0BACb,UAAA;AAAA,IAAAC,2BAAA,kBAAA,IAACC,uCAAgB,iBAAA,EAAA,YAAwB,MAAY,SAClD,UACH,OAAA;AAAA,IACC,eAAeD,2BAAA,kBAAA,IAAC,KAAK,aAAL,EAAkB,UAAY,aAAA;AAAA,EAAA,GACjD;AAAA,EACCA,2BAAAA,kBAAAA,IAAA,KAAK,SAAL,EAAc,SAAS,CAAA;AAAA,EAEvB,oBAAqBA,2BAAA,kBAAA,IAAA,KAAK,SAAL,EAAa,eAAY,iBAAgB;AAAA,EACjE,CAAA;ACHF,MAAM,mBAAmB,CAAwB;AAAA,EAC/C;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA,aAAa;AAAA,EACb;AAAA,EACA;AAAA,EACA,mBAAmB;AAAA,EACnB,GAAG;AACL,MAAgC;AACxB,QAAA,EAAE,UAAUE,0BAAAA;AAGhB,SAAAF,2BAAA,kBAAA;AAAA,IAAC;AAAA,IAAA;AAAA,MACC,SAAS;AAAA,MACT;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA,gBAAc,CAAC,CAAC;AAAA,MAEhB,UAAAA,2BAAAA,kBAAAA,IAAC,SAAQ,EAAA,eAAY,WAAU,IAAI,MAAO,GAAG,OAAQ,GAAG,OACrD,UAAA,MAAM,SACT,CAAA;AAAA,IAAA;AAAA,EAAA;AAGN;AASa,MAAA,cAAc,CACzB,UACG;AACG,QAAA,EAAE,YAAYG,cAAAA;AAGlB,SAAAH,2BAAA,kBAAA;AAAA,IAAC,KAAK;AAAA,IAAL;AAAA,MACC;AAAA,MACA,MAAM,MAAM;AAAA,MACZ,QAAQ,CAAC,EAAE,YAAaA,2BAAAA,kBAAAA,IAAA,kBAAA,EAAkB,GAAG,OAAO,OAAc;AAAA,IAAA;AAAA,EAAA;AAGxE;ACnEa,MAAA,eAAsC,CAAC,UAClDA,2BAAA,kBAAA;AAAA,EAAC;AAAA,EAAA;AAAA,IACC,IAAI,MAAM;AAAA,IACV,eAAa,MAAM;AAAA,IACnB,SAASI,uBAAA;AAAA,IACR,GAAG;AAAA,EAAA;AACN;ACFK,MAAM,uBAAsD,CAAC;AAAA,EAClE;AAAA,EACA,GAAG;AACL,MACEJ,2BAAA,kBAAA;AAAA,EAAC;AAAA,EAAA;AAAA,IACC,SAASK,+BAAA;AAAA,IACT,IAAI,MAAM;AAAA,IACV,eAAa,MAAM;AAAA,IACnB;AAAA,IACA,WAAW;AAAA,IACX,WAAW;AAAA,IACV,GAAG;AAAA,EAAA;AACN;ACbW,MAAA,kBAA6C,CAAC,UACzDL,2BAAA,kBAAA;AAAA,EAAC;AAAA,EAAA;AAAA,IACC,SAASM,6BAAA;AAAA,IACT,IAAI,MAAM;AAAA,IACV,eAAa,MAAM;AAAA,IAClB,GAAG;AAAA,EAAA;AACN;ACFW,MAAA,4BAA4B,CACvC,UAEAN,2BAAA,kBAAA;AAAA,EAAC;AAAA,EAAA;AAAA,IACC,IAAI,MAAM;AAAA,IACV,eAAa,MAAM;AAAA,IACnB,SAASO,4CAAA;AAAA,IACR,GAAG;AAAA,EAAA;AACN;ACPW,MAAA,+BAA+B,CAC1C,UAEAP,2BAAA,kBAAA;AAAA,EAAC;AAAA,EAAA;AAAA,IACC,IAAI,MAAM;AAAA,IACV,eAAa,MAAM;AAAA,IACnB,SAASQ,+CAAA;AAAA,IACR,GAAG;AAAA,EAAA;AACN;ACVF,MAAM,oBAAoBC,WAAA;AAAA,EACxB,CAAC,EAAE,YAAY,GAAG,MAAM,GAAG,QACzBT,2BAAA,kBAAA,IAACU,oCAAS,EAAA,KAAW,GAAG,OAAO,OAAO,WAAY,CAAA;AAEtD;AACA,kBAAkB,cAAc;AAEzB,MAAM,kBAA4C,CAAC;AAAA,EACxD;AAAA,EACA,GAAG;AACL,MACEV,2BAAA,kBAAA;AAAA,EAAC;AAAA,EAAA;AAAA,IACC,SAAS;AAAA,IACT,IAAI,MAAM;AAAA,IACV,eAAa,MAAM;AAAA,IACnB;AAAA,IACA,WAAW;AAAA,IACX,WAAW;AAAA,IACV,GAAG;AAAA,EAAA;AACN;ACdK,MAAM,qBAAqB,CAAC;AAAA,EACjC;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA,GAAG;AACL,MAA2B;AACnB,QAAA,EAAE,YAAYG,cAAAA;AAGlB,SAAAH,2BAAA,kBAAA;AAAA,IAAC,KAAK;AAAA,IAAL;AAAA,MACC;AAAA,MACA;AAAA,MACA,QAAQ,CAAC,EAAE,YAAY;AAEf,cAAA,EAAE,UAAUE,0BAAAA;AAGhB,eAAAF,2BAAA,kBAAA;AAAA,UAAC;AAAA,UAAA;AAAA,YACC,SAAS;AAAA,YACT;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA,gBAAc,CAAC,CAAC;AAAA,YAEhB,UAAAA,2BAAA,kBAAA;AAAA,cAACW,8BAAA;AAAA,cAAA;AAAA,gBACC,eAAe,MAAM;AAAA,gBACrB,QAAQ,MAAM;AAAA,gBACb,GAAG;AAAA,gBAEH;AAAA,cAAA;AAAA,YACH;AAAA,UAAA;AAAA,QAAA;AAAA,MAGN;AAAA,IAAA;AAAA,EAAA;AAGN;AC7CO,MAAM,gBAAgB,CAAC;AAAA,EAC5B;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA,GAAG;AACL,MAA2B;AACnB,QAAA,EAAE,YAAYR,cAAAA;AAGlB,SAAAH,2BAAA,kBAAA;AAAA,IAAC,KAAK;AAAA,IAAL;AAAA,MACC;AAAA,MACA;AAAA,MACA,QAAQ,CAAC,EAAE,YAAY;AAEf,cAAA,EAAE,UAAUE,0BAAAA;AAGhB,eAAAF,2BAAA,kBAAA;AAAA,UAAC;AAAA,UAAA;AAAA,YACC,SAAS;AAAA,YACT;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA,gBAAc,CAAC,CAAC;AAAA,YAEhB,UAAAA,2BAAA,kBAAA;AAAA,cAACY,yBAAA;AAAA,cAAA;AAAA,gBACC,eAAe,MAAM;AAAA,gBACrB,cAAc,MAAM;AAAA,gBACnB,GAAG;AAAA,gBAEH;AAAA,cAAA;AAAA,YACH;AAAA,UAAA;AAAA,QAAA;AAAA,MAGN;AAAA,IAAA;AAAA,EAAA;AAGN;AC/CA,MAAM,iBAAiD;AAAA,EACrD,EAAE,SAAS,OAAO,OAAO,MAAM;AAAA,EAC/B,EAAE,SAAS,MAAM,OAAO,KAAK;AAC/B;AAWA,MAAM,wBAAwBC,uBAAA;AAAA,EAC5B;AAAA,EACA;AAAA,IACE,UAAU;AAAA,MACR,OAAO;AAAA,QACL,SACE;AAAA,QACF,WACE;AAAA,QACF,aACE;AAAA,QACF,SACE;AAAA,QACF,OAAO;AAAA,QACP,MAAM;AAAA,QACN,MAAM;AAAA,MACR;AAAA,IACF;AAAA,IACA,iBAAiB;AAAA,MACf,OAAO;AAAA,IACT;AAAA,EACF;AACF;AAEA,MAAM,gBAAgBA,uBAAA;AAAA,EACpB;AAAA,EACA;AAAA,IACE,UAAU;AAAA,MACR,MAAM;AAAA,QACJ,IAAI;AAAA,QACJ,IAAI;AAAA,QACJ,IAAI;AAAA,MACN;AAAA,IACF;AAAA,IACA,iBAAiB;AAAA,MACf,MAAM;AAAA,IACR;AAAA,EACF;AACF;AAEA,MAAMC,qBAAmBD,uBAAA;AAAA,EACvB;AAAA,EACA;AAAA,IACE,UAAU;AAAA,MACR,OAAO;AAAA,QACL,SACE;AAAA,QACF,WACE;AAAA,QACF,aACE;AAAA,QACF,SACE;AAAA,QACF,OAAO;AAAA,QACP,MAAM;AAAA,QACN,MAAM;AAAA,MACR;AAAA,IACF;AAAA,EACF;AACF;AAmBO,MAAM,iBAAiB,CAAK;AAAA,EACjC,UAAU;AAAA,EACV;AAAA,EACA;AAAA,EACA;AAAA,EACA,QAAQ;AAAA,EACR,OAAO;AAAA,EACP;AACF,MAA8B;AACtB,QAAA,CAAC,YAAY,QAAQ,IAAIE,WAAA;AAAA,IAC7B,SAAS,gBAAgB,QAAQ,CAAC,EAAE;AAAA,EAAA;AAEhC,QAAA,cAAcC,kBAA4B,CAAA,CAAE;AAC5C,QAAA,eAAeA,kBAA8B,IAAI;AACvD,QAAM,EAAE,wBAAA,IAA4BC,sBAAA,gBAAgB,WAAW;AAEzD,QAAA,eAAe,CAAC,aAAgB;AACpC,aAAS,QAAQ;AACjB,eAAW,QAAQ;AAAA,EAAA;AAInB,SAAAjB,2BAAA,kBAAA;AAAA,IAAC;AAAA,IAAA;AAAA,MACC,WAAW,sBAAsB;AAAA,QAC/B;AAAA,QACA;AAAA,MAAA,CACD;AAAA,MACD,MAAK;AAAA,MAEL,UAAAD,2BAAA,kBAAA,KAAC,OAAI,EAAA,WAAU,gEACZ,UAAA;AAAA,QAAQ,QAAA,IAAI,CAAC,QAAQ,UAAU;AAC9B,gBAAM,EAAE,SAAS,OAAAmB,QAAO,GAAG,YAAgB,IAAA;AAE3C,gBAAM,aACJ,OAAOA,WAAU,YAAY,OAAOA,WAAU;AAEhD,gBAAM,aAAaA,WAAU;AAG3B,iBAAAC,2BAAA;AAAA,YAAC;AAAA,YAAA;AAAA,cACE,GAAG;AAAA,cACJ,WAAWC,SAAA;AAAA,gBACT,cAAc;AAAA,kBACZ;AAAA,gBAAA,CACD;AAAA,cACH;AAAA,cACA,KAAK,aAAaF,SAAQ;AAAA,cAC1B,MAAK;AAAA,cACL,SAAS,MAAM,aAAaA,MAAK;AAAA,cACjC,iBAAe;AAAA,cACf,UAAU;AAAA,cACV,KAAK,CAAC,OAAO;AACC,4BAAA,QAAQ,KAAK,IAAI;AAAA,cAC/B;AAAA,YAAA;AAAA,YAEC;AAAA,UAAA;AAAA,QACH,CAEH;AAAA,QACA,2BACClB,2BAAA,kBAAA;AAAA,UAAC;AAAA,UAAA;AAAA,YACC,WAAWoB,SAAA;AAAA,cACTN,mBAAiB;AAAA,gBACf;AAAA,cAAA,CACD;AAAA,YACH;AAAA,YACA,OAAO;AAAA,YACP,KAAK;AAAA,UAAA;AAAA,QACP;AAAA,MAAA,GAEJ;AAAA,IAAA;AAAA,EAAA;AAGN;AC7JO,MAAM,wBAAwB,CAAC;AAAA,EACpC;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA,GAAG;AACL,MAAkC;AAC1B,QAAA,EAAE,YAAYX,cAAAA;AAGlB,SAAAH,2BAAA,kBAAA;AAAA,IAAC,KAAK;AAAA,IAAL;AAAA,MACC;AAAA,MACA;AAAA,MACA,QAAQ,CAAC,EAAE,YAAY;AAEf,cAAA,EAAE,UAAUE,0BAAAA;AAGhB,eAAAF,2BAAA,kBAAA;AAAA,UAAC;AAAA,UAAA;AAAA,YACC,SAAS;AAAA,YACT;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA,gBAAc,CAAC,CAAC;AAAA,YAEhB,2DAAC,gBAAgB,EAAA,GAAG,OAAQ,GAAG,OAC5B,UACH;AAAA,UAAA;AAAA,QAAA;AAAA,MAGN;AAAA,IAAA;AAAA,EAAA;AAGN;ACCO,MAAM,OAAOqB,yBAAA;AACpB,KAAK,cAAcC,gCAAAA;AACnB,KAAK,UAAUC,4BAAAA;AACf,KAAK,QAAQC,0BAAAA;AACb,KAAK,OAAOC,yBAAAA;AACZ,KAAK,QAAQxB,uCAAAA;AACb,KAAK,UAAUyB,4BAAAA;AACf,KAAK,UAAU;AACf,KAAK,QAAQ;AACb,KAAK,gBAAgB;AACrB,KAAK,WAAW;AAChB,KAAK,WAAW;AAChB,KAAK,SAASC,yBAAAA;AACd,KAAK,SAAS;AACd,KAAK,cAAc;AACnB,KAAK,qBAAqB;AAC1B,KAAK,wBAAwB;AAC7B,KAAK,iBAAiB;ACtDtB,MAAM,gBAAgBd,uBAAA;AAAA,EACpB;AAAA,EACA;AAAA,IACE,UAAU;AAAA,MACR,SAAS;AAAA,QACP,IAAI;AAAA,QACJ,IAAI;AAAA,QACJ,IAAI;AAAA,QACJ,IAAI;AAAA,QACJ,OAAO;AAAA,MACT;AAAA,IACF;AAAA,IACA,iBAAiB;AAAA,MACf,SAAS;AAAA,IACX;AAAA,EACF;AACF;AAIA,MAAM,cAAce,aAAO,OAAA,OAAOC,2BAAAA,SAAS;AAUpC,MAAM,QAAwB,CAAC;AAAA,EACpC;AAAA,EACA;AAAA,EACA;AAAA,EAEA,gBAAgB;AAAA,EAChB;AAAA,EACA,iBAAiB;AAAA,EACjB;AAAA,EACA,OAAO;AAAA,EACP,GAAG;AACL,MAAM;AACE,QAAA,mBAAmBC,kDAAsB,SAAS;AAExDC,gCAAA,kBAAkB,EAAE,KAAK,SAAS,eAAe,UAAU,eAAe;AAEtE,MAAA,CAAC,iBAAkB,QAAS/B,2BAAA,kBAAA,IAAAgC,WAAA,kBAAA,UAAA,CAAA,CAAA;AAE1B,QAAA,WAAW,OAAO,UAAU;AAE3B,SAAAC,SAAA;AAAA,IACLjC,2BAAA,kBAAA;AAAA,MAAC4B,aAAAA,OAAO;AAAA,MAAP;AAAA,QACC,WAAWR,SAAA;AAAA,UACT;AAAA,UACA,SAAS,YAAY;AAAA,QACvB;AAAA,QACA,SAAS,EAAE,SAAS,SAAS,IAAI,EAAE;AAAA,QACnC,SAAS,EAAE,SAAS,SAAS,IAAI,EAAE;AAAA,QACnC,YAAY,EAAE,UAAU,IAAI;AAAA,QAC5B,SAAS,CAAC,MAAM;AACd,YAAE,gBAAgB;AACV;QACV;AAAA,QACA,eAAa,CAAC;AAAA,QAEd,UAAArB,2BAAA,kBAAA;AAAA,UAAC;AAAA,UAAA;AAAA,YACC,SAAS,CAAC,MAAM,EAAE,gBAAgB;AAAA,YAClC,SAAS,EAAE,OAAO,SAAS,MAAM,EAAE;AAAA,YACnC,SAAS,EAAE,OAAO,SAAS,IAAI,IAAI;AAAA,YACnC,YAAY,EAAE,UAAU,IAAI;AAAA,YAC5B,WAAWqB,SAAA;AAAA,cACT,cAAc;AAAA,gBACZ,SAAS;AAAA,cAAA,CACV;AAAA,YACH;AAAA,YACA,MAAK;AAAA,YACL,cAAU;AAAA,YACV,aAAY;AAAA,YACX,GAAG;AAAA,YAEJ,UAAA;AAAA,cAAArB,2BAAA,kBAAA;AAAA,gBAAC;AAAA,gBAAA;AAAA,kBACC,WAAWqB,SAAA;AAAA,oBACT,kBAAkB,WACd,qCACA,iBACE,kCACA,WACE,iBACA;AAAA,kBACV;AAAA,kBAEC,UAAA;AAAA,oBAAA,YACEpB,2BAAA,kBAAA,IAAAkC,6BAAA,EAAG,WAAU,sDACX,UACH,OAAA;AAAA,oBAED,kBACClC,2BAAA,kBAAA;AAAA,sBAACmC,YAAA;AAAA,sBAAA;AAAA,wBACC,MAAK;AAAA,wBACL,cAAW;AAAA,wBACX,WAAU;AAAA,wBACV,SAAS,CAAC,MAAM;AACd,4BAAE,gBAAgB;AACV;wBACV;AAAA,sBAAA;AAAA,oBACF;AAAA,kBAAA;AAAA,gBAAA;AAAA,cAEJ;AAAA,cACCnC,2BAAAA,kBAAAA,IAAA,OAAA,EAAI,WAAU,6DACZ,SACH,CAAA;AAAA,YAAA;AAAA,UAAA;AAAA,QACF;AAAA,MAAA;AAAA,IACF;AAAA,IACA;AAAA,EAAA;AAEJ;AC9HA,MAAM,qBAAqBa,uBAAA;AAAA,EACzB;AAAA,EACA;AAAA,IACE,UAAU;AAAA,MACR,OAAO;AAAA,QACL,SACE;AAAA,QACF,WACE;AAAA,QACF,aACE;AAAA,QACF,SACE;AAAA,QACF,OAAO;AAAA,QACP,MAAM;AAAA,QACN,MAAM;AAAA,MACR;AAAA,IACF;AAAA,IACA,iBAAiB;AAAA,MACf,OAAO;AAAA,IACT;AAAA,EACF;AACF;AAEA,MAAM,mBAAmBA,uBAAA;AAAA,EACvB;AAAA,EACA;AAAA,IACE,UAAU;AAAA,MACR,OAAO;AAAA,QACL,SACE;AAAA,QACF,WACE;AAAA,QACF,aACE;AAAA,QACF,SACE;AAAA,QACF,OAAO;AAAA,QACP,MAAM;AAAA,QACN,MAAM;AAAA,MACR;AAAA,IACF;AAAA,EACF;AACF;AA+BO,MAAM,cAAc,CAAqB;AAAA,EAC9C;AAAA,EACA;AAAA,EACA;AAAA,EACA,QAAQ;AAAA,EACR,YAAY;AAAA,EACZ;AACF,MAA2B;AACnB,QAAA,cAAcG,kBAAsB,CAAA,CAAE;AACtC,QAAA,eAAeA,kBAA8B,IAAI;AACjD,QAAA,EAAE,4BAA4BC,sBAAA;AAAA,IAClC;AAAA,IACA;AAAA,IACA;AAAA,EAAA;AAIA,SAAAlB,2BAAA,kBAAA;AAAA,IAAC;AAAA,IAAA;AAAA,MACC,WAAWqB,SAAA;AAAA,QACT,mBAAmB;AAAA,UACjB;AAAA,QAAA,CACD;AAAA,QACD;AAAA,MACF;AAAA,MACA,oBAAiB;AAAA,MACjB,wBAAqB;AAAA,MACrB,MAAK;AAAA,MAEJ,UAAA;AAAA,QAAK,KAAA,IAAI,CAAC,KAAK,UAAU;AACxB,gBAAM,MAAM,IAAI;AAEhB,gBAAM,aAAa,mBAAmB;AAEtC,iBAAOgB,WAAAA,aAAa,KAAK;AAAA,YACvB,KAAK,OAAO;AAAA,YACZ,MAAM;AAAA,YACN,SAAS,MAAM,aAAa,GAAG;AAAA,YAC/B,iBAAiB;AAAA,YACjB,KAAK,CAAC,OAAoB;AACZ,0BAAA,QAAQ,KAAK,IAAI;AAAA,YAC/B;AAAA,UAAA,CACe;AAAA,QAAA,CAClB;AAAA,QACA,2BACCpC,2BAAA,kBAAA;AAAA,UAAC;AAAA,UAAA;AAAA,YACC,WAAW,iBAAiB;AAAA,cAC1B;AAAA,YAAA,CACD;AAAA,YACD,OAAO;AAAA,YACP,KAAK;AAAA,UAAA;AAAA,QACP;AAAA,MAAA;AAAA,IAAA;AAAA,EAAA;AAIR;;;;;;;;;;;;;;;;"}
|
|
@@ -9,8 +9,6 @@ const hooks_intlayerAPIHooks = require("../../../hooks/intlayerAPIHooks.cjs");
|
|
|
9
9
|
require("@intlayer/dictionaries-entry");
|
|
10
10
|
require("deepmerge");
|
|
11
11
|
const components_Modal_Modal = require("../../Modal/Modal.cjs");
|
|
12
|
-
require("../../Toaster/Toast.cjs");
|
|
13
|
-
const components_Toaster_useToast = require("../../Toaster/useToast.cjs");
|
|
14
12
|
const components_Auth_ChangePasswordForm_ChangePasswordForm = require("../ChangePasswordForm/ChangePasswordForm.cjs");
|
|
15
13
|
require("react-intlayer");
|
|
16
14
|
require("zod");
|
|
@@ -31,83 +29,43 @@ const AuthModal = ({
|
|
|
31
29
|
const { register } = hooks_intlayerAPIHooks.useRegister();
|
|
32
30
|
const { askResetPassword } = hooks_intlayerAPIHooks.useAskResetPassword();
|
|
33
31
|
const { changePassword } = hooks_intlayerAPIHooks.useChangePassword();
|
|
34
|
-
const {
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
password
|
|
39
|
-
});
|
|
40
|
-
if (response.error) {
|
|
41
|
-
toast({
|
|
42
|
-
title: [response.error].flatMap((error) => error).join(", "),
|
|
43
|
-
variant: "error"
|
|
44
|
-
});
|
|
45
|
-
return;
|
|
46
|
-
}
|
|
32
|
+
const onSubmitSignInSuccess = async ({ email, password }) => await login({
|
|
33
|
+
email,
|
|
34
|
+
password
|
|
35
|
+
}).then(async (response) => {
|
|
47
36
|
if (response.data) {
|
|
48
37
|
await onSignInSuccess?.(response.data);
|
|
49
38
|
}
|
|
50
|
-
};
|
|
51
|
-
const onSubmitSignUpSuccess = async ({ email, password }) => {
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
});
|
|
56
|
-
if (response.error) {
|
|
57
|
-
toast({
|
|
58
|
-
title: [response.error].flatMap((error) => error).join(", "),
|
|
59
|
-
variant: "error"
|
|
60
|
-
});
|
|
61
|
-
return;
|
|
62
|
-
}
|
|
39
|
+
});
|
|
40
|
+
const onSubmitSignUpSuccess = async ({ email, password }) => await register({
|
|
41
|
+
email,
|
|
42
|
+
password
|
|
43
|
+
}).then(async (response) => {
|
|
63
44
|
if (response.data) {
|
|
64
45
|
await onSignUpSuccess?.(response.data);
|
|
65
46
|
}
|
|
66
|
-
};
|
|
67
|
-
const onSubmitResetPasswordSuccess = async ({ email }) => {
|
|
68
|
-
const response = await askResetPassword(email);
|
|
69
|
-
if (response.error) {
|
|
70
|
-
toast({
|
|
71
|
-
title: [response.error].flatMap((error) => error).join(", "),
|
|
72
|
-
variant: "error"
|
|
73
|
-
});
|
|
74
|
-
return;
|
|
75
|
-
}
|
|
47
|
+
});
|
|
48
|
+
const onSubmitResetPasswordSuccess = async ({ email }) => await askResetPassword(email).then(async (response) => {
|
|
76
49
|
if (response.data) {
|
|
77
50
|
await onResetPasswordSuccess?.(response.data);
|
|
78
51
|
}
|
|
79
|
-
};
|
|
52
|
+
});
|
|
80
53
|
const onSubmitChangePasswordSuccess = async ({
|
|
81
54
|
currentPassword,
|
|
82
55
|
newPassword
|
|
83
|
-
}) => {
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
});
|
|
88
|
-
if (response.error) {
|
|
89
|
-
toast({
|
|
90
|
-
title: [response.error].flatMap((error) => error).join(", "),
|
|
91
|
-
variant: "error"
|
|
92
|
-
});
|
|
93
|
-
return;
|
|
94
|
-
}
|
|
56
|
+
}) => await changePassword({
|
|
57
|
+
oldPassword: currentPassword,
|
|
58
|
+
newPassword
|
|
59
|
+
}).then(async (response) => {
|
|
95
60
|
if (response.data) {
|
|
96
61
|
await onChangePasswordSuccess?.(response.data);
|
|
97
62
|
}
|
|
98
|
-
};
|
|
99
|
-
const onSubmitError = (error) => {
|
|
100
|
-
toast({
|
|
101
|
-
title: error.message,
|
|
102
|
-
variant: "error"
|
|
103
|
-
});
|
|
104
|
-
};
|
|
63
|
+
});
|
|
105
64
|
return /* @__PURE__ */ jsxRuntime.jsxRuntimeExports.jsxs(components_Modal_Modal.Modal, { onClose, isOpen, children: [
|
|
106
65
|
state === 0 && /* @__PURE__ */ jsxRuntime.jsxRuntimeExports.jsx(
|
|
107
66
|
components_Auth_SignInForm_SignInForm.SignInForm,
|
|
108
67
|
{
|
|
109
68
|
onSubmitSuccess: onSubmitSignInSuccess,
|
|
110
|
-
onSubmitError,
|
|
111
69
|
onClickForgotPassword: () => setState(
|
|
112
70
|
2
|
|
113
71
|
/* ResetPassword */
|
|
@@ -122,7 +80,6 @@ const AuthModal = ({
|
|
|
122
80
|
components_Auth_SignUpForm_SignUpForm.SignUpForm,
|
|
123
81
|
{
|
|
124
82
|
onSubmitSuccess: onSubmitSignUpSuccess,
|
|
125
|
-
onSubmitError,
|
|
126
83
|
onClickBackToSignIn: () => setState(
|
|
127
84
|
0
|
|
128
85
|
/* SignIn */
|
|
@@ -133,7 +90,6 @@ const AuthModal = ({
|
|
|
133
90
|
components_Auth_ResetPasswordForm_ResetPasswordForm.ResetPasswordForm,
|
|
134
91
|
{
|
|
135
92
|
onSubmitSuccess: onSubmitResetPasswordSuccess,
|
|
136
|
-
onSubmitError,
|
|
137
93
|
onClickBackToLogin: () => setState(
|
|
138
94
|
0
|
|
139
95
|
/* SignIn */
|
|
@@ -144,7 +100,6 @@ const AuthModal = ({
|
|
|
144
100
|
components_Auth_ChangePasswordForm_ChangePasswordForm.ChangePasswordForm,
|
|
145
101
|
{
|
|
146
102
|
onSubmitSuccess: onSubmitChangePasswordSuccess,
|
|
147
|
-
onSubmitError,
|
|
148
103
|
onClickBackToHome: () => setState(
|
|
149
104
|
0
|
|
150
105
|
/* SignIn */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.cjs","sources":["../../../../src/components/Auth/AuthModal/index.tsx"],"sourcesContent":["'use client';\n\nimport type { UserAPI } from '@intlayer/backend';\nimport { useState, type FC } from 'react';\nimport {\n useAskResetPassword,\n useChangePassword,\n useLogin,\n useRegister,\n} from '../../../hooks';\nimport { Modal } from '../../Modal/Modal';\nimport {
|
|
1
|
+
{"version":3,"file":"index.cjs","sources":["../../../../src/components/Auth/AuthModal/index.tsx"],"sourcesContent":["'use client';\n\nimport type { UserAPI } from '@intlayer/backend';\nimport { useState, type FC } from 'react';\nimport {\n useAskResetPassword,\n useChangePassword,\n useLogin,\n useRegister,\n} from '../../../hooks';\nimport { Modal } from '../../Modal/Modal';\nimport { type ChangePassword, ChangePasswordForm } from '../ChangePasswordForm';\nimport { type ResetPassword, ResetPasswordForm } from '../ResetPasswordForm';\nimport { type SignIn, SignInForm } from '../SignInForm';\nimport { type SignUp, SignUpForm } from '../SignUpForm';\n\nenum AuthState {\n SignIn,\n SignUp,\n ResetPassword,\n ChangePassword,\n}\n\ntype AuthModalProps = {\n onClose: () => void;\n isOpen: boolean;\n state?: AuthState.SignIn;\n onSignInSuccess?: (data: UserAPI) => Promise<void>;\n onSignUpSuccess?: (data: UserAPI) => Promise<void>;\n onResetPasswordSuccess?: (data: UserAPI) => Promise<void>;\n onChangePasswordSuccess?: (data: UserAPI) => Promise<void>;\n};\n\nexport const AuthModal: FC<AuthModalProps> = ({\n onClose,\n isOpen,\n state: initialState = AuthState.SignIn,\n onSignInSuccess,\n onSignUpSuccess,\n onResetPasswordSuccess,\n onChangePasswordSuccess,\n}) => {\n const [state, setState] = useState<AuthState>(initialState);\n const { login } = useLogin();\n const { register } = useRegister();\n const { askResetPassword } = useAskResetPassword();\n const { changePassword } = useChangePassword();\n\n const onSubmitSignInSuccess = async ({ email, password }: SignIn) =>\n await login({\n email,\n password,\n }).then(async (response) => {\n if (response.data) {\n await onSignInSuccess?.(response.data);\n }\n });\n\n const onSubmitSignUpSuccess = async ({ email, password }: SignUp) =>\n await register({\n email,\n password,\n }).then(async (response) => {\n if (response.data) {\n await onSignUpSuccess?.(response.data);\n }\n });\n\n const onSubmitResetPasswordSuccess = async ({ email }: ResetPassword) =>\n await askResetPassword(email).then(async (response) => {\n if (response.data) {\n await onResetPasswordSuccess?.(response.data);\n }\n });\n\n const onSubmitChangePasswordSuccess = async ({\n currentPassword,\n newPassword,\n }: ChangePassword) =>\n await changePassword({\n oldPassword: currentPassword,\n newPassword,\n }).then(async (response) => {\n if (response.data) {\n await onChangePasswordSuccess?.(response.data);\n }\n });\n\n return (\n <Modal onClose={onClose} isOpen={isOpen}>\n {state === AuthState.SignIn && (\n <SignInForm\n onSubmitSuccess={onSubmitSignInSuccess}\n onClickForgotPassword={() => setState(AuthState.ResetPassword)}\n onClickSignUp={() => setState(AuthState.SignUp)}\n />\n )}\n {state === AuthState.SignUp && (\n <SignUpForm\n onSubmitSuccess={onSubmitSignUpSuccess}\n onClickBackToSignIn={() => setState(AuthState.SignIn)}\n />\n )}\n {state === AuthState.ResetPassword && (\n <ResetPasswordForm\n onSubmitSuccess={onSubmitResetPasswordSuccess}\n onClickBackToLogin={() => setState(AuthState.SignIn)}\n />\n )}\n {state === AuthState.ChangePassword && (\n <ChangePasswordForm\n onSubmitSuccess={onSubmitChangePasswordSuccess}\n onClickBackToHome={() => setState(AuthState.SignIn)}\n />\n )}\n </Modal>\n );\n};\n"],"names":["useState","useLogin","useRegister","useAskResetPassword","useChangePassword","jsxs","Modal","jsx","SignInForm","SignUpForm","ResetPasswordForm","ChangePasswordForm"],"mappings":";;;;;;;;;;;;;;;;;AAiCO,MAAM,YAAgC,CAAC;AAAA,EAC5C;AAAA,EACA;AAAA,EACA,OAAO,eAAe;AAAA,EACtB;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF,MAAM;AACJ,QAAM,CAAC,OAAO,QAAQ,IAAIA,oBAAoB,YAAY;AACpD,QAAA,EAAE,UAAUC,uBAAAA;AACZ,QAAA,EAAE,aAAaC,uBAAAA;AACf,QAAA,EAAE,qBAAqBC,uBAAAA;AACvB,QAAA,EAAE,mBAAmBC,uBAAAA;AAE3B,QAAM,wBAAwB,OAAO,EAAE,OAAO,SAAS,MACrD,MAAM,MAAM;AAAA,IACV;AAAA,IACA;AAAA,EAAA,CACD,EAAE,KAAK,OAAO,aAAa;AAC1B,QAAI,SAAS,MAAM;AACX,YAAA,kBAAkB,SAAS,IAAI;AAAA,IACvC;AAAA,EAAA,CACD;AAEH,QAAM,wBAAwB,OAAO,EAAE,OAAO,SAAS,MACrD,MAAM,SAAS;AAAA,IACb;AAAA,IACA;AAAA,EAAA,CACD,EAAE,KAAK,OAAO,aAAa;AAC1B,QAAI,SAAS,MAAM;AACX,YAAA,kBAAkB,SAAS,IAAI;AAAA,IACvC;AAAA,EAAA,CACD;AAEG,QAAA,+BAA+B,OAAO,EAAE,YAC5C,MAAM,iBAAiB,KAAK,EAAE,KAAK,OAAO,aAAa;AACrD,QAAI,SAAS,MAAM;AACX,YAAA,yBAAyB,SAAS,IAAI;AAAA,IAC9C;AAAA,EAAA,CACD;AAEH,QAAM,gCAAgC,OAAO;AAAA,IAC3C;AAAA,IACA;AAAA,EACF,MACE,MAAM,eAAe;AAAA,IACnB,aAAa;AAAA,IACb;AAAA,EAAA,CACD,EAAE,KAAK,OAAO,aAAa;AAC1B,QAAI,SAAS,MAAM;AACX,YAAA,0BAA0B,SAAS,IAAI;AAAA,IAC/C;AAAA,EAAA,CACD;AAGD,SAAAC,2BAAA,kBAAA,KAACC,uBAAM,OAAA,EAAA,SAAkB,QACtB,UAAA;AAAA,IAAA,UAAU,KACTC,2BAAA,kBAAA;AAAA,MAACC,sCAAA;AAAA,MAAA;AAAA,QACC,iBAAiB;AAAA,QACjB,uBAAuB,MAAM;AAAA,UAAS;AAAA;AAAA,QAAuB;AAAA,QAC7D,eAAe,MAAM;AAAA,UAAS;AAAA;AAAA,QAAgB;AAAA,MAAA;AAAA,IAChD;AAAA,IAED,UAAU,KACTD,2BAAA,kBAAA;AAAA,MAACE,sCAAA;AAAA,MAAA;AAAA,QACC,iBAAiB;AAAA,QACjB,qBAAqB,MAAM;AAAA,UAAS;AAAA;AAAA,QAAgB;AAAA,MAAA;AAAA,IACtD;AAAA,IAED,UAAU,KACTF,2BAAA,kBAAA;AAAA,MAACG,oDAAA;AAAA,MAAA;AAAA,QACC,iBAAiB;AAAA,QACjB,oBAAoB,MAAM;AAAA,UAAS;AAAA;AAAA,QAAgB;AAAA,MAAA;AAAA,IACrD;AAAA,IAED,UAAU,KACTH,2BAAA,kBAAA;AAAA,MAACI,sDAAA;AAAA,MAAA;AAAA,QACC,iBAAiB;AAAA,QACjB,mBAAmB,MAAM;AAAA,UAAS;AAAA;AAAA,QAAgB;AAAA,MAAA;AAAA,IACpD;AAAA,EAEJ,EAAA,CAAA;AAEJ;;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/components/Auth/AuthModal/index.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAC;AACjD,OAAO,EAAY,KAAK,EAAE,EAAE,MAAM,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/components/Auth/AuthModal/index.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAC;AACjD,OAAO,EAAY,KAAK,EAAE,EAAE,MAAM,OAAO,CAAC;AAa1C,aAAK,SAAS;IACZ,MAAM,IAAA;IACN,MAAM,IAAA;IACN,aAAa,IAAA;IACb,cAAc,IAAA;CACf;AAED,KAAK,cAAc,GAAG;IACpB,OAAO,EAAE,MAAM,IAAI,CAAC;IACpB,MAAM,EAAE,OAAO,CAAC;IAChB,KAAK,CAAC,EAAE,SAAS,CAAC,MAAM,CAAC;IACzB,eAAe,CAAC,EAAE,CAAC,IAAI,EAAE,OAAO,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IACnD,eAAe,CAAC,EAAE,CAAC,IAAI,EAAE,OAAO,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IACnD,sBAAsB,CAAC,EAAE,CAAC,IAAI,EAAE,OAAO,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IAC1D,uBAAuB,CAAC,EAAE,CAAC,IAAI,EAAE,OAAO,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;CAC5D,CAAC;AAEF,eAAO,MAAM,SAAS,EAAE,EAAE,CAAC,cAAc,CAoFxC,CAAC"}
|
|
@@ -7,8 +7,6 @@ import { useLogin, useRegister, useAskResetPassword, useChangePassword } from ".
|
|
|
7
7
|
import "@intlayer/dictionaries-entry";
|
|
8
8
|
import "deepmerge";
|
|
9
9
|
import { Modal } from "../../Modal/Modal.mjs";
|
|
10
|
-
import "../../Toaster/Toast.mjs";
|
|
11
|
-
import { useToast } from "../../Toaster/useToast.mjs";
|
|
12
10
|
import { ChangePasswordForm } from "../ChangePasswordForm/ChangePasswordForm.mjs";
|
|
13
11
|
import "react-intlayer";
|
|
14
12
|
import "zod";
|
|
@@ -29,83 +27,43 @@ const AuthModal = ({
|
|
|
29
27
|
const { register } = useRegister();
|
|
30
28
|
const { askResetPassword } = useAskResetPassword();
|
|
31
29
|
const { changePassword } = useChangePassword();
|
|
32
|
-
const {
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
password
|
|
37
|
-
});
|
|
38
|
-
if (response.error) {
|
|
39
|
-
toast({
|
|
40
|
-
title: [response.error].flatMap((error) => error).join(", "),
|
|
41
|
-
variant: "error"
|
|
42
|
-
});
|
|
43
|
-
return;
|
|
44
|
-
}
|
|
30
|
+
const onSubmitSignInSuccess = async ({ email, password }) => await login({
|
|
31
|
+
email,
|
|
32
|
+
password
|
|
33
|
+
}).then(async (response) => {
|
|
45
34
|
if (response.data) {
|
|
46
35
|
await onSignInSuccess?.(response.data);
|
|
47
36
|
}
|
|
48
|
-
};
|
|
49
|
-
const onSubmitSignUpSuccess = async ({ email, password }) => {
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
});
|
|
54
|
-
if (response.error) {
|
|
55
|
-
toast({
|
|
56
|
-
title: [response.error].flatMap((error) => error).join(", "),
|
|
57
|
-
variant: "error"
|
|
58
|
-
});
|
|
59
|
-
return;
|
|
60
|
-
}
|
|
37
|
+
});
|
|
38
|
+
const onSubmitSignUpSuccess = async ({ email, password }) => await register({
|
|
39
|
+
email,
|
|
40
|
+
password
|
|
41
|
+
}).then(async (response) => {
|
|
61
42
|
if (response.data) {
|
|
62
43
|
await onSignUpSuccess?.(response.data);
|
|
63
44
|
}
|
|
64
|
-
};
|
|
65
|
-
const onSubmitResetPasswordSuccess = async ({ email }) => {
|
|
66
|
-
const response = await askResetPassword(email);
|
|
67
|
-
if (response.error) {
|
|
68
|
-
toast({
|
|
69
|
-
title: [response.error].flatMap((error) => error).join(", "),
|
|
70
|
-
variant: "error"
|
|
71
|
-
});
|
|
72
|
-
return;
|
|
73
|
-
}
|
|
45
|
+
});
|
|
46
|
+
const onSubmitResetPasswordSuccess = async ({ email }) => await askResetPassword(email).then(async (response) => {
|
|
74
47
|
if (response.data) {
|
|
75
48
|
await onResetPasswordSuccess?.(response.data);
|
|
76
49
|
}
|
|
77
|
-
};
|
|
50
|
+
});
|
|
78
51
|
const onSubmitChangePasswordSuccess = async ({
|
|
79
52
|
currentPassword,
|
|
80
53
|
newPassword
|
|
81
|
-
}) => {
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
});
|
|
86
|
-
if (response.error) {
|
|
87
|
-
toast({
|
|
88
|
-
title: [response.error].flatMap((error) => error).join(", "),
|
|
89
|
-
variant: "error"
|
|
90
|
-
});
|
|
91
|
-
return;
|
|
92
|
-
}
|
|
54
|
+
}) => await changePassword({
|
|
55
|
+
oldPassword: currentPassword,
|
|
56
|
+
newPassword
|
|
57
|
+
}).then(async (response) => {
|
|
93
58
|
if (response.data) {
|
|
94
59
|
await onChangePasswordSuccess?.(response.data);
|
|
95
60
|
}
|
|
96
|
-
};
|
|
97
|
-
const onSubmitError = (error) => {
|
|
98
|
-
toast({
|
|
99
|
-
title: error.message,
|
|
100
|
-
variant: "error"
|
|
101
|
-
});
|
|
102
|
-
};
|
|
61
|
+
});
|
|
103
62
|
return /* @__PURE__ */ jsxRuntimeExports.jsxs(Modal, { onClose, isOpen, children: [
|
|
104
63
|
state === 0 && /* @__PURE__ */ jsxRuntimeExports.jsx(
|
|
105
64
|
SignInForm,
|
|
106
65
|
{
|
|
107
66
|
onSubmitSuccess: onSubmitSignInSuccess,
|
|
108
|
-
onSubmitError,
|
|
109
67
|
onClickForgotPassword: () => setState(
|
|
110
68
|
2
|
|
111
69
|
/* ResetPassword */
|
|
@@ -120,7 +78,6 @@ const AuthModal = ({
|
|
|
120
78
|
SignUpForm,
|
|
121
79
|
{
|
|
122
80
|
onSubmitSuccess: onSubmitSignUpSuccess,
|
|
123
|
-
onSubmitError,
|
|
124
81
|
onClickBackToSignIn: () => setState(
|
|
125
82
|
0
|
|
126
83
|
/* SignIn */
|
|
@@ -131,7 +88,6 @@ const AuthModal = ({
|
|
|
131
88
|
ResetPasswordForm,
|
|
132
89
|
{
|
|
133
90
|
onSubmitSuccess: onSubmitResetPasswordSuccess,
|
|
134
|
-
onSubmitError,
|
|
135
91
|
onClickBackToLogin: () => setState(
|
|
136
92
|
0
|
|
137
93
|
/* SignIn */
|
|
@@ -142,7 +98,6 @@ const AuthModal = ({
|
|
|
142
98
|
ChangePasswordForm,
|
|
143
99
|
{
|
|
144
100
|
onSubmitSuccess: onSubmitChangePasswordSuccess,
|
|
145
|
-
onSubmitError,
|
|
146
101
|
onClickBackToHome: () => setState(
|
|
147
102
|
0
|
|
148
103
|
/* SignIn */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.mjs","sources":["../../../../src/components/Auth/AuthModal/index.tsx"],"sourcesContent":["'use client';\n\nimport type { UserAPI } from '@intlayer/backend';\nimport { useState, type FC } from 'react';\nimport {\n useAskResetPassword,\n useChangePassword,\n useLogin,\n useRegister,\n} from '../../../hooks';\nimport { Modal } from '../../Modal/Modal';\nimport {
|
|
1
|
+
{"version":3,"file":"index.mjs","sources":["../../../../src/components/Auth/AuthModal/index.tsx"],"sourcesContent":["'use client';\n\nimport type { UserAPI } from '@intlayer/backend';\nimport { useState, type FC } from 'react';\nimport {\n useAskResetPassword,\n useChangePassword,\n useLogin,\n useRegister,\n} from '../../../hooks';\nimport { Modal } from '../../Modal/Modal';\nimport { type ChangePassword, ChangePasswordForm } from '../ChangePasswordForm';\nimport { type ResetPassword, ResetPasswordForm } from '../ResetPasswordForm';\nimport { type SignIn, SignInForm } from '../SignInForm';\nimport { type SignUp, SignUpForm } from '../SignUpForm';\n\nenum AuthState {\n SignIn,\n SignUp,\n ResetPassword,\n ChangePassword,\n}\n\ntype AuthModalProps = {\n onClose: () => void;\n isOpen: boolean;\n state?: AuthState.SignIn;\n onSignInSuccess?: (data: UserAPI) => Promise<void>;\n onSignUpSuccess?: (data: UserAPI) => Promise<void>;\n onResetPasswordSuccess?: (data: UserAPI) => Promise<void>;\n onChangePasswordSuccess?: (data: UserAPI) => Promise<void>;\n};\n\nexport const AuthModal: FC<AuthModalProps> = ({\n onClose,\n isOpen,\n state: initialState = AuthState.SignIn,\n onSignInSuccess,\n onSignUpSuccess,\n onResetPasswordSuccess,\n onChangePasswordSuccess,\n}) => {\n const [state, setState] = useState<AuthState>(initialState);\n const { login } = useLogin();\n const { register } = useRegister();\n const { askResetPassword } = useAskResetPassword();\n const { changePassword } = useChangePassword();\n\n const onSubmitSignInSuccess = async ({ email, password }: SignIn) =>\n await login({\n email,\n password,\n }).then(async (response) => {\n if (response.data) {\n await onSignInSuccess?.(response.data);\n }\n });\n\n const onSubmitSignUpSuccess = async ({ email, password }: SignUp) =>\n await register({\n email,\n password,\n }).then(async (response) => {\n if (response.data) {\n await onSignUpSuccess?.(response.data);\n }\n });\n\n const onSubmitResetPasswordSuccess = async ({ email }: ResetPassword) =>\n await askResetPassword(email).then(async (response) => {\n if (response.data) {\n await onResetPasswordSuccess?.(response.data);\n }\n });\n\n const onSubmitChangePasswordSuccess = async ({\n currentPassword,\n newPassword,\n }: ChangePassword) =>\n await changePassword({\n oldPassword: currentPassword,\n newPassword,\n }).then(async (response) => {\n if (response.data) {\n await onChangePasswordSuccess?.(response.data);\n }\n });\n\n return (\n <Modal onClose={onClose} isOpen={isOpen}>\n {state === AuthState.SignIn && (\n <SignInForm\n onSubmitSuccess={onSubmitSignInSuccess}\n onClickForgotPassword={() => setState(AuthState.ResetPassword)}\n onClickSignUp={() => setState(AuthState.SignUp)}\n />\n )}\n {state === AuthState.SignUp && (\n <SignUpForm\n onSubmitSuccess={onSubmitSignUpSuccess}\n onClickBackToSignIn={() => setState(AuthState.SignIn)}\n />\n )}\n {state === AuthState.ResetPassword && (\n <ResetPasswordForm\n onSubmitSuccess={onSubmitResetPasswordSuccess}\n onClickBackToLogin={() => setState(AuthState.SignIn)}\n />\n )}\n {state === AuthState.ChangePassword && (\n <ChangePasswordForm\n onSubmitSuccess={onSubmitChangePasswordSuccess}\n onClickBackToHome={() => setState(AuthState.SignIn)}\n />\n )}\n </Modal>\n );\n};\n"],"names":["jsxs","jsx"],"mappings":";;;;;;;;;;;;;;;AAiCO,MAAM,YAAgC,CAAC;AAAA,EAC5C;AAAA,EACA;AAAA,EACA,OAAO,eAAe;AAAA,EACtB;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF,MAAM;AACJ,QAAM,CAAC,OAAO,QAAQ,IAAI,SAAoB,YAAY;AACpD,QAAA,EAAE,UAAU;AACZ,QAAA,EAAE,aAAa;AACf,QAAA,EAAE,qBAAqB;AACvB,QAAA,EAAE,mBAAmB;AAE3B,QAAM,wBAAwB,OAAO,EAAE,OAAO,SAAS,MACrD,MAAM,MAAM;AAAA,IACV;AAAA,IACA;AAAA,EAAA,CACD,EAAE,KAAK,OAAO,aAAa;AAC1B,QAAI,SAAS,MAAM;AACX,YAAA,kBAAkB,SAAS,IAAI;AAAA,IACvC;AAAA,EAAA,CACD;AAEH,QAAM,wBAAwB,OAAO,EAAE,OAAO,SAAS,MACrD,MAAM,SAAS;AAAA,IACb;AAAA,IACA;AAAA,EAAA,CACD,EAAE,KAAK,OAAO,aAAa;AAC1B,QAAI,SAAS,MAAM;AACX,YAAA,kBAAkB,SAAS,IAAI;AAAA,IACvC;AAAA,EAAA,CACD;AAEG,QAAA,+BAA+B,OAAO,EAAE,YAC5C,MAAM,iBAAiB,KAAK,EAAE,KAAK,OAAO,aAAa;AACrD,QAAI,SAAS,MAAM;AACX,YAAA,yBAAyB,SAAS,IAAI;AAAA,IAC9C;AAAA,EAAA,CACD;AAEH,QAAM,gCAAgC,OAAO;AAAA,IAC3C;AAAA,IACA;AAAA,EACF,MACE,MAAM,eAAe;AAAA,IACnB,aAAa;AAAA,IACb;AAAA,EAAA,CACD,EAAE,KAAK,OAAO,aAAa;AAC1B,QAAI,SAAS,MAAM;AACX,YAAA,0BAA0B,SAAS,IAAI;AAAA,IAC/C;AAAA,EAAA,CACD;AAGD,SAAAA,kCAAA,KAAC,OAAM,EAAA,SAAkB,QACtB,UAAA;AAAA,IAAA,UAAU,KACTC,kCAAA;AAAA,MAAC;AAAA,MAAA;AAAA,QACC,iBAAiB;AAAA,QACjB,uBAAuB,MAAM;AAAA,UAAS;AAAA;AAAA,QAAuB;AAAA,QAC7D,eAAe,MAAM;AAAA,UAAS;AAAA;AAAA,QAAgB;AAAA,MAAA;AAAA,IAChD;AAAA,IAED,UAAU,KACTA,kCAAA;AAAA,MAAC;AAAA,MAAA;AAAA,QACC,iBAAiB;AAAA,QACjB,qBAAqB,MAAM;AAAA,UAAS;AAAA;AAAA,QAAgB;AAAA,MAAA;AAAA,IACtD;AAAA,IAED,UAAU,KACTA,kCAAA;AAAA,MAAC;AAAA,MAAA;AAAA,QACC,iBAAiB;AAAA,QACjB,oBAAoB,MAAM;AAAA,UAAS;AAAA;AAAA,QAAgB;AAAA,MAAA;AAAA,IACrD;AAAA,IAED,UAAU,KACTA,kCAAA;AAAA,MAAC;AAAA,MAAA;AAAA,QACC,iBAAiB;AAAA,QACjB,mBAAmB,MAAM;AAAA,UAAS;AAAA;AAAA,QAAgB;AAAA,MAAA;AAAA,IACpD;AAAA,EAEJ,EAAA,CAAA;AAEJ;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.cjs","sources":["../../../../src/components/Auth/AuthProvider/index.tsx"],"sourcesContent":["'use client';\n\nimport type {\n OAuth2Token,\n
|
|
1
|
+
{"version":3,"file":"index.cjs","sources":["../../../../src/components/Auth/AuthProvider/index.tsx"],"sourcesContent":["'use client';\n\nimport type {\n OAuth2Token,\n OrganizationAPI,\n ProjectAPI,\n UserAPI,\n} from '@intlayer/backend';\nimport {\n type PropsWithChildren,\n type FC,\n createContext,\n useContext,\n useMemo,\n} from 'react';\nimport { useCSRF } from './useCSRF';\nimport { useOAuth2 } from './useOAuth2';\nimport { useSession } from './useSession';\n\nexport type Session = {\n user: UserAPI | null;\n organization: OrganizationAPI | null;\n project: ProjectAPI | null;\n isOrganizationAdmin: boolean;\n isProjectAdmin: boolean;\n};\n\ntype SessionContextProps = {\n session: Session | null | undefined;\n setSession: (session: Session | null) => void;\n fetchSession: () => Promise<Session | null | undefined>;\n revalidateSession: () => Promise<Session | null | undefined>;\n csrfToken: string | null | undefined;\n csrfTokenFetched: boolean;\n oAuth2AccessToken: OAuth2Token | null | undefined;\n isProjectAdmin: boolean | null | undefined;\n isOrganizationAdmin: boolean | null | undefined;\n};\n\nexport const AuthContext = createContext<SessionContextProps>({\n session: undefined,\n setSession: () => null,\n fetchSession: () => Promise.resolve(undefined),\n revalidateSession: () => Promise.resolve(undefined),\n csrfToken: null,\n csrfTokenFetched: false,\n oAuth2AccessToken: null,\n isProjectAdmin: null,\n isOrganizationAdmin: null,\n});\n\nexport const useAuth = () => useContext(AuthContext);\n\nexport type AuthProviderProps = PropsWithChildren<{\n /**\n * auth session\n */\n session?: Session | null;\n}>;\n\nexport const AuthProvider: FC<PropsWithChildren<AuthProviderProps>> = ({\n children,\n session: sessionProp,\n}) => {\n const { csrfToken, csrfTokenFetched } = useCSRF();\n const { session, fetchSession, revalidateSession, setSession } =\n useSession(sessionProp);\n const { oAuth2AccessToken } = useOAuth2(csrfToken);\n\n const memoValue: SessionContextProps = useMemo(\n () => ({\n session,\n fetchSession,\n setSession,\n revalidateSession,\n csrfToken,\n csrfTokenFetched,\n oAuth2AccessToken,\n isProjectAdmin: session?.isProjectAdmin,\n isOrganizationAdmin: session?.isOrganizationAdmin,\n }),\n [\n session,\n setSession,\n fetchSession,\n revalidateSession,\n csrfToken,\n csrfTokenFetched,\n oAuth2AccessToken,\n ]\n );\n\n return (\n <AuthContext.Provider value={memoValue}>{children}</AuthContext.Provider>\n );\n};\n"],"names":["createContext","useContext","useCSRF","useSession","useOAuth2","useMemo"],"mappings":";;;;;;;;AAuCO,MAAM,cAAcA,WAAAA,cAAmC;AAAA,EAC5D,SAAS;AAAA,EACT,YAAY,MAAM;AAAA,EAClB,cAAc,MAAM,QAAQ,QAAQ,MAAS;AAAA,EAC7C,mBAAmB,MAAM,QAAQ,QAAQ,MAAS;AAAA,EAClD,WAAW;AAAA,EACX,kBAAkB;AAAA,EAClB,mBAAmB;AAAA,EACnB,gBAAgB;AAAA,EAChB,qBAAqB;AACvB,CAAC;AAEY,MAAA,UAAU,MAAMC,WAAA,WAAW,WAAW;AAS5C,MAAM,eAAyD,CAAC;AAAA,EACrE;AAAA,EACA,SAAS;AACX,MAAM;AACJ,QAAM,EAAE,WAAW,iBAAiB,IAAIC,qCAAQ,QAAA;AAChD,QAAM,EAAE,SAAS,cAAc,mBAAmB,eAChDC,wCAAAA,WAAW,WAAW;AACxB,QAAM,EAAE,kBAAA,IAAsBC,uCAAA,UAAU,SAAS;AAEjD,QAAM,YAAiCC,WAAA;AAAA,IACrC,OAAO;AAAA,MACL;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA,gBAAgB,SAAS;AAAA,MACzB,qBAAqB,SAAS;AAAA,IAAA;AAAA,IAEhC;AAAA,MACE;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,IACF;AAAA,EAAA;AAGF,0DACG,YAAY,UAAZ,EAAqB,OAAO,WAAY,SAAS,CAAA;AAEtD;;;;"}
|
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
import { OAuth2Token,
|
|
1
|
+
import { OAuth2Token, OrganizationAPI, ProjectAPI, UserAPI } from '@intlayer/backend';
|
|
2
2
|
import { PropsWithChildren, FC } from 'react';
|
|
3
3
|
export type Session = {
|
|
4
4
|
user: UserAPI | null;
|
|
5
|
-
organization:
|
|
6
|
-
project:
|
|
5
|
+
organization: OrganizationAPI | null;
|
|
6
|
+
project: ProjectAPI | null;
|
|
7
7
|
isOrganizationAdmin: boolean;
|
|
8
8
|
isProjectAdmin: boolean;
|
|
9
9
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/components/Auth/AuthProvider/index.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EACV,WAAW,EACX,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/components/Auth/AuthProvider/index.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EACV,WAAW,EACX,eAAe,EACf,UAAU,EACV,OAAO,EACR,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EACL,KAAK,iBAAiB,EACtB,KAAK,EAAE,EAIR,MAAM,OAAO,CAAC;AAKf,MAAM,MAAM,OAAO,GAAG;IACpB,IAAI,EAAE,OAAO,GAAG,IAAI,CAAC;IACrB,YAAY,EAAE,eAAe,GAAG,IAAI,CAAC;IACrC,OAAO,EAAE,UAAU,GAAG,IAAI,CAAC;IAC3B,mBAAmB,EAAE,OAAO,CAAC;IAC7B,cAAc,EAAE,OAAO,CAAC;CACzB,CAAC;AAEF,KAAK,mBAAmB,GAAG;IACzB,OAAO,EAAE,OAAO,GAAG,IAAI,GAAG,SAAS,CAAC;IACpC,UAAU,EAAE,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,KAAK,IAAI,CAAC;IAC9C,YAAY,EAAE,MAAM,OAAO,CAAC,OAAO,GAAG,IAAI,GAAG,SAAS,CAAC,CAAC;IACxD,iBAAiB,EAAE,MAAM,OAAO,CAAC,OAAO,GAAG,IAAI,GAAG,SAAS,CAAC,CAAC;IAC7D,SAAS,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,CAAC;IACrC,gBAAgB,EAAE,OAAO,CAAC;IAC1B,iBAAiB,EAAE,WAAW,GAAG,IAAI,GAAG,SAAS,CAAC;IAClD,cAAc,EAAE,OAAO,GAAG,IAAI,GAAG,SAAS,CAAC;IAC3C,mBAAmB,EAAE,OAAO,GAAG,IAAI,GAAG,SAAS,CAAC;CACjD,CAAC;AAEF,eAAO,MAAM,WAAW,8CAUtB,CAAC;AAEH,eAAO,MAAM,OAAO,2BAAgC,CAAC;AAErD,MAAM,MAAM,iBAAiB,GAAG,iBAAiB,CAAC;IAChD;;OAEG;IACH,OAAO,CAAC,EAAE,OAAO,GAAG,IAAI,CAAC;CAC1B,CAAC,CAAC;AAEH,eAAO,MAAM,YAAY,EAAE,EAAE,CAAC,iBAAiB,CAAC,iBAAiB,CAAC,CAmCjE,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.mjs","sources":["../../../../src/components/Auth/AuthProvider/index.tsx"],"sourcesContent":["'use client';\n\nimport type {\n OAuth2Token,\n
|
|
1
|
+
{"version":3,"file":"index.mjs","sources":["../../../../src/components/Auth/AuthProvider/index.tsx"],"sourcesContent":["'use client';\n\nimport type {\n OAuth2Token,\n OrganizationAPI,\n ProjectAPI,\n UserAPI,\n} from '@intlayer/backend';\nimport {\n type PropsWithChildren,\n type FC,\n createContext,\n useContext,\n useMemo,\n} from 'react';\nimport { useCSRF } from './useCSRF';\nimport { useOAuth2 } from './useOAuth2';\nimport { useSession } from './useSession';\n\nexport type Session = {\n user: UserAPI | null;\n organization: OrganizationAPI | null;\n project: ProjectAPI | null;\n isOrganizationAdmin: boolean;\n isProjectAdmin: boolean;\n};\n\ntype SessionContextProps = {\n session: Session | null | undefined;\n setSession: (session: Session | null) => void;\n fetchSession: () => Promise<Session | null | undefined>;\n revalidateSession: () => Promise<Session | null | undefined>;\n csrfToken: string | null | undefined;\n csrfTokenFetched: boolean;\n oAuth2AccessToken: OAuth2Token | null | undefined;\n isProjectAdmin: boolean | null | undefined;\n isOrganizationAdmin: boolean | null | undefined;\n};\n\nexport const AuthContext = createContext<SessionContextProps>({\n session: undefined,\n setSession: () => null,\n fetchSession: () => Promise.resolve(undefined),\n revalidateSession: () => Promise.resolve(undefined),\n csrfToken: null,\n csrfTokenFetched: false,\n oAuth2AccessToken: null,\n isProjectAdmin: null,\n isOrganizationAdmin: null,\n});\n\nexport const useAuth = () => useContext(AuthContext);\n\nexport type AuthProviderProps = PropsWithChildren<{\n /**\n * auth session\n */\n session?: Session | null;\n}>;\n\nexport const AuthProvider: FC<PropsWithChildren<AuthProviderProps>> = ({\n children,\n session: sessionProp,\n}) => {\n const { csrfToken, csrfTokenFetched } = useCSRF();\n const { session, fetchSession, revalidateSession, setSession } =\n useSession(sessionProp);\n const { oAuth2AccessToken } = useOAuth2(csrfToken);\n\n const memoValue: SessionContextProps = useMemo(\n () => ({\n session,\n fetchSession,\n setSession,\n revalidateSession,\n csrfToken,\n csrfTokenFetched,\n oAuth2AccessToken,\n isProjectAdmin: session?.isProjectAdmin,\n isOrganizationAdmin: session?.isOrganizationAdmin,\n }),\n [\n session,\n setSession,\n fetchSession,\n revalidateSession,\n csrfToken,\n csrfTokenFetched,\n oAuth2AccessToken,\n ]\n );\n\n return (\n <AuthContext.Provider value={memoValue}>{children}</AuthContext.Provider>\n );\n};\n"],"names":[],"mappings":";;;;;;AAuCO,MAAM,cAAc,cAAmC;AAAA,EAC5D,SAAS;AAAA,EACT,YAAY,MAAM;AAAA,EAClB,cAAc,MAAM,QAAQ,QAAQ,MAAS;AAAA,EAC7C,mBAAmB,MAAM,QAAQ,QAAQ,MAAS;AAAA,EAClD,WAAW;AAAA,EACX,kBAAkB;AAAA,EAClB,mBAAmB;AAAA,EACnB,gBAAgB;AAAA,EAChB,qBAAqB;AACvB,CAAC;AAEY,MAAA,UAAU,MAAM,WAAW,WAAW;AAS5C,MAAM,eAAyD,CAAC;AAAA,EACrE;AAAA,EACA,SAAS;AACX,MAAM;AACJ,QAAM,EAAE,WAAW,iBAAiB,IAAI,QAAQ;AAChD,QAAM,EAAE,SAAS,cAAc,mBAAmB,eAChD,WAAW,WAAW;AACxB,QAAM,EAAE,kBAAA,IAAsB,UAAU,SAAS;AAEjD,QAAM,YAAiC;AAAA,IACrC,OAAO;AAAA,MACL;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA,gBAAgB,SAAS;AAAA,MACzB,qBAAqB,SAAS;AAAA,IAAA;AAAA,IAEhC;AAAA,MACE;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,IACF;AAAA,EAAA;AAGF,+CACG,YAAY,UAAZ,EAAqB,OAAO,WAAY,SAAS,CAAA;AAEtD;"}
|
|
@@ -5,7 +5,13 @@ const require$$0 = require("react");
|
|
|
5
5
|
const hooks_useAsync_useAsync = require("../../../hooks/useAsync/useAsync.cjs");
|
|
6
6
|
const libs_intlayerApi_index = require("../../../libs/intlayer-api/index.cjs");
|
|
7
7
|
const useSession = (sessionProp) => {
|
|
8
|
-
const
|
|
8
|
+
const {
|
|
9
|
+
getSession,
|
|
10
|
+
revalidate,
|
|
11
|
+
data,
|
|
12
|
+
setData: setSession,
|
|
13
|
+
isFetched
|
|
14
|
+
} = hooks_useAsync_useAsync.useAsync(
|
|
9
15
|
"getSession",
|
|
10
16
|
async () => {
|
|
11
17
|
try {
|
|
@@ -39,13 +45,6 @@ const useSession = (sessionProp) => {
|
|
|
39
45
|
]
|
|
40
46
|
}
|
|
41
47
|
);
|
|
42
|
-
const {
|
|
43
|
-
getSession,
|
|
44
|
-
revalidate,
|
|
45
|
-
data,
|
|
46
|
-
setData: setSession,
|
|
47
|
-
isFetched
|
|
48
|
-
} = useGetSession();
|
|
49
48
|
const fetchSession = require$$0.useCallback(async () => {
|
|
50
49
|
if (sessionProp) {
|
|
51
50
|
return;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useSession.cjs","sources":["../../../../src/components/Auth/AuthProvider/useSession.ts"],"sourcesContent":["'use client';\n\nimport { useEffect, useCallback, useMemo } from 'react';\nimport { useAsync } from '../../../hooks/useAsync';\nimport { getIntlayerAPI } from '../../../libs/intlayer-api';\nimport type { Session } from './index';\n\nexport const useSession = (sessionProp?: Session | null) => {\n const
|
|
1
|
+
{"version":3,"file":"useSession.cjs","sources":["../../../../src/components/Auth/AuthProvider/useSession.ts"],"sourcesContent":["'use client';\n\nimport { useEffect, useCallback, useMemo } from 'react';\nimport { useAsync } from '../../../hooks/useAsync';\nimport { getIntlayerAPI } from '../../../libs/intlayer-api';\nimport type { Session } from './index';\n\nexport const useSession = (sessionProp?: Session | null) => {\n const {\n getSession,\n revalidate,\n data,\n setData: setSession,\n isFetched,\n } = useAsync(\n 'getSession',\n async () => {\n try {\n const result = await getIntlayerAPI().auth.getSession();\n\n if (result.data) {\n const { user, organization, project } = result.data;\n\n const formattedSession: Session = {\n user,\n organization,\n isOrganizationAdmin:\n (user && (organization?.adminsIds ?? []).includes(user._id!)) ??\n false,\n project,\n isProjectAdmin:\n (user && (project?.adminsIds ?? []).includes(user._id!)) ?? false,\n };\n\n return formattedSession;\n }\n } catch (_error) {\n console.error(_error);\n // Failed to fetch session\n }\n\n return null;\n },\n {\n cache: true,\n store: true,\n autoFetch: true,\n enable: !sessionProp,\n invalidateQueries: [\n 'getOrganizations',\n 'getProjects',\n 'getUsers',\n 'getDictionaries',\n ],\n }\n );\n\n const fetchSession = useCallback(async () => {\n if (sessionProp) {\n return;\n }\n\n return await getSession();\n }, [sessionProp]);\n\n const revalidateSession = revalidate;\n\n useEffect(() => {\n // Fetch session if sessionProp is not provided when the component is mounted\n fetchSession();\n }, [fetchSession]);\n\n const session = useMemo(\n () => data ?? (isFetched ? null : undefined),\n [data, isFetched]\n );\n\n return {\n session,\n fetchSession,\n revalidateSession,\n setSession,\n };\n};\n"],"names":["useAsync","getIntlayerAPI","useCallback","useEffect","useMemo"],"mappings":";;;;;;AAOa,MAAA,aAAa,CAAC,gBAAiC;AACpD,QAAA;AAAA,IACJ;AAAA,IACA;AAAA,IACA;AAAA,IACA,SAAS;AAAA,IACT;AAAA,EAAA,IACEA,wBAAA;AAAA,IACF;AAAA,IACA,YAAY;AACN,UAAA;AACF,cAAM,SAAS,MAAMC,uBAAAA,eAAe,EAAE,KAAK,WAAW;AAEtD,YAAI,OAAO,MAAM;AACf,gBAAM,EAAE,MAAM,cAAc,QAAA,IAAY,OAAO;AAE/C,gBAAM,mBAA4B;AAAA,YAChC;AAAA,YACA;AAAA,YACA,sBACG,SAAS,cAAc,aAAa,CAAI,GAAA,SAAS,KAAK,GAAI,MAC3D;AAAA,YACF;AAAA,YACA,iBACG,SAAS,SAAS,aAAa,CAAI,GAAA,SAAS,KAAK,GAAI,MAAM;AAAA,UAAA;AAGzD,iBAAA;AAAA,QACT;AAAA,eACO,QAAQ;AACf,gBAAQ,MAAM,MAAM;AAAA,MAEtB;AAEO,aAAA;AAAA,IACT;AAAA,IACA;AAAA,MACE,OAAO;AAAA,MACP,OAAO;AAAA,MACP,WAAW;AAAA,MACX,QAAQ,CAAC;AAAA,MACT,mBAAmB;AAAA,QACjB;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,MACF;AAAA,IACF;AAAA,EAAA;AAGI,QAAA,eAAeC,WAAAA,YAAY,YAAY;AAC3C,QAAI,aAAa;AACf;AAAA,IACF;AAEA,WAAO,MAAM,WAAW;AAAA,EAAA,GACvB,CAAC,WAAW,CAAC;AAEhB,QAAM,oBAAoB;AAE1BC,aAAAA,UAAU,MAAM;AAED;EAAA,GACZ,CAAC,YAAY,CAAC;AAEjB,QAAM,UAAUC,WAAA;AAAA,IACd,MAAM,SAAS,YAAY,OAAO;AAAA,IAClC,CAAC,MAAM,SAAS;AAAA,EAAA;AAGX,SAAA;AAAA,IACL;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EAAA;AAEJ;;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useSession.d.ts","sourceRoot":"","sources":["../../../../src/components/Auth/AuthProvider/useSession.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAEvC,eAAO,MAAM,UAAU,iBAAkB,OAAO,GAAG,IAAI;;;;;
|
|
1
|
+
{"version":3,"file":"useSession.d.ts","sourceRoot":"","sources":["../../../../src/components/Auth/AuthProvider/useSession.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAEvC,eAAO,MAAM,UAAU,iBAAkB,OAAO,GAAG,IAAI;;;;;CA4EtD,CAAC"}
|
|
@@ -3,7 +3,13 @@ import { useCallback, useEffect, useMemo } from "react";
|
|
|
3
3
|
import { useAsync } from "../../../hooks/useAsync/useAsync.mjs";
|
|
4
4
|
import { getIntlayerAPI } from "../../../libs/intlayer-api/index.mjs";
|
|
5
5
|
const useSession = (sessionProp) => {
|
|
6
|
-
const
|
|
6
|
+
const {
|
|
7
|
+
getSession,
|
|
8
|
+
revalidate,
|
|
9
|
+
data,
|
|
10
|
+
setData: setSession,
|
|
11
|
+
isFetched
|
|
12
|
+
} = useAsync(
|
|
7
13
|
"getSession",
|
|
8
14
|
async () => {
|
|
9
15
|
try {
|
|
@@ -37,13 +43,6 @@ const useSession = (sessionProp) => {
|
|
|
37
43
|
]
|
|
38
44
|
}
|
|
39
45
|
);
|
|
40
|
-
const {
|
|
41
|
-
getSession,
|
|
42
|
-
revalidate,
|
|
43
|
-
data,
|
|
44
|
-
setData: setSession,
|
|
45
|
-
isFetched
|
|
46
|
-
} = useGetSession();
|
|
47
46
|
const fetchSession = useCallback(async () => {
|
|
48
47
|
if (sessionProp) {
|
|
49
48
|
return;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useSession.mjs","sources":["../../../../src/components/Auth/AuthProvider/useSession.ts"],"sourcesContent":["'use client';\n\nimport { useEffect, useCallback, useMemo } from 'react';\nimport { useAsync } from '../../../hooks/useAsync';\nimport { getIntlayerAPI } from '../../../libs/intlayer-api';\nimport type { Session } from './index';\n\nexport const useSession = (sessionProp?: Session | null) => {\n const
|
|
1
|
+
{"version":3,"file":"useSession.mjs","sources":["../../../../src/components/Auth/AuthProvider/useSession.ts"],"sourcesContent":["'use client';\n\nimport { useEffect, useCallback, useMemo } from 'react';\nimport { useAsync } from '../../../hooks/useAsync';\nimport { getIntlayerAPI } from '../../../libs/intlayer-api';\nimport type { Session } from './index';\n\nexport const useSession = (sessionProp?: Session | null) => {\n const {\n getSession,\n revalidate,\n data,\n setData: setSession,\n isFetched,\n } = useAsync(\n 'getSession',\n async () => {\n try {\n const result = await getIntlayerAPI().auth.getSession();\n\n if (result.data) {\n const { user, organization, project } = result.data;\n\n const formattedSession: Session = {\n user,\n organization,\n isOrganizationAdmin:\n (user && (organization?.adminsIds ?? []).includes(user._id!)) ??\n false,\n project,\n isProjectAdmin:\n (user && (project?.adminsIds ?? []).includes(user._id!)) ?? false,\n };\n\n return formattedSession;\n }\n } catch (_error) {\n console.error(_error);\n // Failed to fetch session\n }\n\n return null;\n },\n {\n cache: true,\n store: true,\n autoFetch: true,\n enable: !sessionProp,\n invalidateQueries: [\n 'getOrganizations',\n 'getProjects',\n 'getUsers',\n 'getDictionaries',\n ],\n }\n );\n\n const fetchSession = useCallback(async () => {\n if (sessionProp) {\n return;\n }\n\n return await getSession();\n }, [sessionProp]);\n\n const revalidateSession = revalidate;\n\n useEffect(() => {\n // Fetch session if sessionProp is not provided when the component is mounted\n fetchSession();\n }, [fetchSession]);\n\n const session = useMemo(\n () => data ?? (isFetched ? null : undefined),\n [data, isFetched]\n );\n\n return {\n session,\n fetchSession,\n revalidateSession,\n setSession,\n };\n};\n"],"names":[],"mappings":";;;;AAOa,MAAA,aAAa,CAAC,gBAAiC;AACpD,QAAA;AAAA,IACJ;AAAA,IACA;AAAA,IACA;AAAA,IACA,SAAS;AAAA,IACT;AAAA,EAAA,IACE;AAAA,IACF;AAAA,IACA,YAAY;AACN,UAAA;AACF,cAAM,SAAS,MAAM,eAAe,EAAE,KAAK,WAAW;AAEtD,YAAI,OAAO,MAAM;AACf,gBAAM,EAAE,MAAM,cAAc,QAAA,IAAY,OAAO;AAE/C,gBAAM,mBAA4B;AAAA,YAChC;AAAA,YACA;AAAA,YACA,sBACG,SAAS,cAAc,aAAa,CAAI,GAAA,SAAS,KAAK,GAAI,MAC3D;AAAA,YACF;AAAA,YACA,iBACG,SAAS,SAAS,aAAa,CAAI,GAAA,SAAS,KAAK,GAAI,MAAM;AAAA,UAAA;AAGzD,iBAAA;AAAA,QACT;AAAA,eACO,QAAQ;AACf,gBAAQ,MAAM,MAAM;AAAA,MAEtB;AAEO,aAAA;AAAA,IACT;AAAA,IACA;AAAA,MACE,OAAO;AAAA,MACP,OAAO;AAAA,MACP,WAAW;AAAA,MACX,QAAQ,CAAC;AAAA,MACT,mBAAmB;AAAA,QACjB;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,MACF;AAAA,IACF;AAAA,EAAA;AAGI,QAAA,eAAe,YAAY,YAAY;AAC3C,QAAI,aAAa;AACf;AAAA,IACF;AAEA,WAAO,MAAM,WAAW;AAAA,EAAA,GACvB,CAAC,WAAW,CAAC;AAEhB,QAAM,oBAAoB;AAE1B,YAAU,MAAM;AAED;EAAA,GACZ,CAAC,YAAY,CAAC;AAEjB,QAAM,UAAU;AAAA,IACd,MAAM,SAAS,YAAY,OAAO;AAAA,IAClC,CAAC,MAAM,SAAS;AAAA,EAAA;AAGX,SAAA;AAAA,IACL;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EAAA;AAEJ;"}
|