@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.
Files changed (320) hide show
  1. package/dist/.vite/manifest.json +481 -455
  2. package/dist/TabSelector-BmkzVPXl.js +660 -0
  3. package/dist/TabSelector-BmkzVPXl.js.map +1 -0
  4. package/dist/TabSelector-o_NRBvPQ.cjs +659 -0
  5. package/dist/TabSelector-o_NRBvPQ.cjs.map +1 -0
  6. package/dist/components/Auth/AuthModal/index.cjs +17 -62
  7. package/dist/components/Auth/AuthModal/index.cjs.map +1 -1
  8. package/dist/components/Auth/AuthModal/index.d.ts.map +1 -1
  9. package/dist/components/Auth/AuthModal/index.mjs +17 -62
  10. package/dist/components/Auth/AuthModal/index.mjs.map +1 -1
  11. package/dist/components/Auth/AuthProvider/index.cjs.map +1 -1
  12. package/dist/components/Auth/AuthProvider/index.d.ts +3 -3
  13. package/dist/components/Auth/AuthProvider/index.d.ts.map +1 -1
  14. package/dist/components/Auth/AuthProvider/index.mjs.map +1 -1
  15. package/dist/components/Auth/AuthProvider/useSession.cjs +7 -8
  16. package/dist/components/Auth/AuthProvider/useSession.cjs.map +1 -1
  17. package/dist/components/Auth/AuthProvider/useSession.d.ts.map +1 -1
  18. package/dist/components/Auth/AuthProvider/useSession.mjs +7 -8
  19. package/dist/components/Auth/AuthProvider/useSession.mjs.map +1 -1
  20. package/dist/components/Auth/AuthenticationBarrier/AuthenticationBarrierClient.cjs +2 -2
  21. package/dist/components/Auth/AuthenticationBarrier/AuthenticationBarrierClient.cjs.map +1 -1
  22. package/dist/components/Auth/AuthenticationBarrier/AuthenticationBarrierClient.mjs +1 -1
  23. package/dist/components/Auth/AuthenticationBarrier/AuthenticationBarrierClient.mjs.map +1 -1
  24. package/dist/components/Auth/AuthenticationBarrier/AuthenticationBarrierServer.cjs.map +1 -1
  25. package/dist/components/Auth/AuthenticationBarrier/AuthenticationBarrierServer.d.ts +2 -2
  26. package/dist/components/Auth/AuthenticationBarrier/AuthenticationBarrierServer.d.ts.map +1 -1
  27. package/dist/components/Auth/AuthenticationBarrier/AuthenticationBarrierServer.mjs.map +1 -1
  28. package/dist/components/Auth/AuthenticationBarrier/accessValidation.cjs.map +1 -1
  29. package/dist/components/Auth/AuthenticationBarrier/accessValidation.d.ts +1 -1
  30. package/dist/components/Auth/AuthenticationBarrier/accessValidation.d.ts.map +1 -1
  31. package/dist/components/Auth/AuthenticationBarrier/accessValidation.mjs.map +1 -1
  32. package/dist/components/Auth/AuthenticationBarrier/index.d.ts +3 -3
  33. package/dist/components/Auth/AuthenticationBarrier/index.d.ts.map +1 -1
  34. package/dist/components/Auth/ChangePasswordForm/ChangePasswordForm.cjs +1 -0
  35. package/dist/components/Auth/ChangePasswordForm/ChangePasswordForm.cjs.map +1 -1
  36. package/dist/components/Auth/ChangePasswordForm/ChangePasswordForm.d.ts +1 -1
  37. package/dist/components/Auth/ChangePasswordForm/ChangePasswordForm.d.ts.map +1 -1
  38. package/dist/components/Auth/ChangePasswordForm/ChangePasswordForm.mjs +1 -0
  39. package/dist/components/Auth/ChangePasswordForm/ChangePasswordForm.mjs.map +1 -1
  40. package/dist/components/Auth/ChangePasswordForm/index.content.d.ts +10 -10
  41. package/dist/components/Auth/ExternalsLoginButtons/ExternalsLoginButtons.cjs +3 -2
  42. package/dist/components/Auth/ExternalsLoginButtons/ExternalsLoginButtons.cjs.map +1 -1
  43. package/dist/components/Auth/ExternalsLoginButtons/ExternalsLoginButtons.d.ts.map +1 -1
  44. package/dist/components/Auth/ExternalsLoginButtons/ExternalsLoginButtons.mjs +3 -2
  45. package/dist/components/Auth/ExternalsLoginButtons/ExternalsLoginButtons.mjs.map +1 -1
  46. package/dist/components/Auth/ExternalsLoginButtons/externalsLoginButtons.content.d.ts +5 -5
  47. package/dist/components/Auth/ResetPasswordForm/ResetPasswordForm.cjs +1 -0
  48. package/dist/components/Auth/ResetPasswordForm/ResetPasswordForm.cjs.map +1 -1
  49. package/dist/components/Auth/ResetPasswordForm/ResetPasswordForm.d.ts +1 -1
  50. package/dist/components/Auth/ResetPasswordForm/ResetPasswordForm.d.ts.map +1 -1
  51. package/dist/components/Auth/ResetPasswordForm/ResetPasswordForm.mjs +1 -0
  52. package/dist/components/Auth/ResetPasswordForm/ResetPasswordForm.mjs.map +1 -1
  53. package/dist/components/Auth/ResetPasswordForm/index.content.d.ts +7 -7
  54. package/dist/components/Auth/SignInForm/SignInForm.cjs +4 -3
  55. package/dist/components/Auth/SignInForm/SignInForm.cjs.map +1 -1
  56. package/dist/components/Auth/SignInForm/SignInForm.d.ts +1 -1
  57. package/dist/components/Auth/SignInForm/SignInForm.d.ts.map +1 -1
  58. package/dist/components/Auth/SignInForm/SignInForm.mjs +4 -3
  59. package/dist/components/Auth/SignInForm/SignInForm.mjs.map +1 -1
  60. package/dist/components/Auth/SignInForm/index.content.d.ts +13 -13
  61. package/dist/components/Auth/SignUpForm/SignUpForm.cjs +3 -3
  62. package/dist/components/Auth/SignUpForm/SignUpForm.cjs.map +1 -1
  63. package/dist/components/Auth/SignUpForm/SignUpForm.d.ts +1 -1
  64. package/dist/components/Auth/SignUpForm/SignUpForm.d.ts.map +1 -1
  65. package/dist/components/Auth/SignUpForm/SignUpForm.mjs +3 -3
  66. package/dist/components/Auth/SignUpForm/SignUpForm.mjs.map +1 -1
  67. package/dist/components/Auth/SignUpForm/index.content.d.ts +11 -11
  68. package/dist/components/Auth/index.cjs +2 -4
  69. package/dist/components/Auth/index.cjs.map +1 -1
  70. package/dist/components/Auth/index.d.ts +1 -1
  71. package/dist/components/Auth/index.d.ts.map +1 -1
  72. package/dist/components/Auth/index.mjs +1 -3
  73. package/dist/components/Auth/useAuth/index.cjs +39 -0
  74. package/dist/components/Auth/useAuth/index.cjs.map +1 -0
  75. package/dist/components/Auth/useAuth/index.d.ts +24 -0
  76. package/dist/components/Auth/useAuth/index.d.ts.map +1 -0
  77. package/dist/components/Auth/useAuth/index.mjs +39 -0
  78. package/dist/components/Auth/useAuth/index.mjs.map +1 -0
  79. package/dist/components/Auth/useAuth/useCSRF.cjs +22 -0
  80. package/dist/components/Auth/useAuth/useCSRF.cjs.map +1 -0
  81. package/dist/components/Auth/useAuth/useCSRF.d.ts +5 -0
  82. package/dist/components/Auth/useAuth/useCSRF.d.ts.map +1 -0
  83. package/dist/components/Auth/useAuth/useCSRF.mjs +22 -0
  84. package/dist/components/Auth/useAuth/useCSRF.mjs.map +1 -0
  85. package/dist/components/Auth/useAuth/useOAuth2.cjs +26 -0
  86. package/dist/components/Auth/useAuth/useOAuth2.cjs.map +1 -0
  87. package/dist/components/Auth/useAuth/useOAuth2.d.ts +4 -0
  88. package/dist/components/Auth/useAuth/useOAuth2.d.ts.map +1 -0
  89. package/dist/components/Auth/useAuth/useOAuth2.mjs +26 -0
  90. package/dist/components/Auth/useAuth/useOAuth2.mjs.map +1 -0
  91. package/dist/components/Auth/useAuth/useSession.cjs +60 -0
  92. package/dist/components/Auth/useAuth/useSession.cjs.map +1 -0
  93. package/dist/components/Auth/useAuth/useSession.d.ts +8 -0
  94. package/dist/components/Auth/useAuth/useSession.d.ts.map +1 -0
  95. package/dist/components/Auth/useAuth/useSession.mjs +60 -0
  96. package/dist/components/Auth/useAuth/useSession.mjs.map +1 -0
  97. package/dist/components/Auth/useUser/index.cjs +3 -3
  98. package/dist/components/Auth/useUser/index.cjs.map +1 -1
  99. package/dist/components/Auth/useUser/index.d.ts.map +1 -1
  100. package/dist/components/Auth/useUser/index.mjs +3 -3
  101. package/dist/components/Auth/useUser/index.mjs.map +1 -1
  102. package/dist/components/Badge/index.d.ts +1 -1
  103. package/dist/components/Button/Button.cjs.map +1 -1
  104. package/dist/components/Button/Button.d.ts +1 -2
  105. package/dist/components/Button/Button.d.ts.map +1 -1
  106. package/dist/components/Button/Button.mjs.map +1 -1
  107. package/dist/components/Command/index.d.ts +2 -2
  108. package/dist/components/Command/index.d.ts.map +1 -1
  109. package/dist/components/Container/index.cjs +1 -0
  110. package/dist/components/Container/index.cjs.map +1 -1
  111. package/dist/components/Container/index.d.ts +8 -8
  112. package/dist/components/Container/index.d.ts.map +1 -1
  113. package/dist/components/Container/index.mjs +1 -0
  114. package/dist/components/Container/index.mjs.map +1 -1
  115. package/dist/components/DictionaryEditor/ValidDictionaryChangeButtons.cjs +4 -17
  116. package/dist/components/DictionaryEditor/ValidDictionaryChangeButtons.cjs.map +1 -1
  117. package/dist/components/DictionaryEditor/ValidDictionaryChangeButtons.d.ts.map +1 -1
  118. package/dist/components/DictionaryEditor/ValidDictionaryChangeButtons.mjs +4 -17
  119. package/dist/components/DictionaryEditor/ValidDictionaryChangeButtons.mjs.map +1 -1
  120. package/dist/components/DictionaryEditor/validDictionaryChangeButtons.content.cjs +0 -21
  121. package/dist/components/DictionaryEditor/validDictionaryChangeButtons.content.cjs.map +1 -1
  122. package/dist/components/DictionaryEditor/validDictionaryChangeButtons.content.d.ts +0 -9
  123. package/dist/components/DictionaryEditor/validDictionaryChangeButtons.content.d.ts.map +1 -1
  124. package/dist/components/DictionaryEditor/validDictionaryChangeButtons.content.mjs +0 -21
  125. package/dist/components/DictionaryEditor/validDictionaryChangeButtons.content.mjs.map +1 -1
  126. package/dist/components/DictionaryFieldEditor/DictionariesSelector/DictionariesSelector.cjs +3 -2
  127. package/dist/components/DictionaryFieldEditor/DictionariesSelector/DictionariesSelector.cjs.map +1 -1
  128. package/dist/components/DictionaryFieldEditor/DictionariesSelector/DictionariesSelector.mjs +3 -2
  129. package/dist/components/DictionaryFieldEditor/DictionariesSelector/DictionariesSelector.mjs.map +1 -1
  130. package/dist/components/DictionaryFieldEditor/DictionaryCreationForm/DictionaryCreationForm.cjs +7 -24
  131. package/dist/components/DictionaryFieldEditor/DictionaryCreationForm/DictionaryCreationForm.cjs.map +1 -1
  132. package/dist/components/DictionaryFieldEditor/DictionaryCreationForm/DictionaryCreationForm.d.ts.map +1 -1
  133. package/dist/components/DictionaryFieldEditor/DictionaryCreationForm/DictionaryCreationForm.mjs +6 -23
  134. package/dist/components/DictionaryFieldEditor/DictionaryCreationForm/DictionaryCreationForm.mjs.map +1 -1
  135. package/dist/components/DictionaryFieldEditor/DictionaryCreationForm/dictionaryCreationForm.content.cjs +0 -42
  136. package/dist/components/DictionaryFieldEditor/DictionaryCreationForm/dictionaryCreationForm.content.cjs.map +1 -1
  137. package/dist/components/DictionaryFieldEditor/DictionaryCreationForm/dictionaryCreationForm.content.d.ts +0 -18
  138. package/dist/components/DictionaryFieldEditor/DictionaryCreationForm/dictionaryCreationForm.content.d.ts.map +1 -1
  139. package/dist/components/DictionaryFieldEditor/DictionaryCreationForm/dictionaryCreationForm.content.mjs +0 -42
  140. package/dist/components/DictionaryFieldEditor/DictionaryCreationForm/dictionaryCreationForm.content.mjs.map +1 -1
  141. package/dist/components/DictionaryFieldEditor/DictionaryCreationForm/dictionaryFormSchema.d.ts +2 -2
  142. package/dist/components/DictionaryFieldEditor/DictionaryDetails/DictionaryDetailsForm.cjs +4 -36
  143. package/dist/components/DictionaryFieldEditor/DictionaryDetails/DictionaryDetailsForm.cjs.map +1 -1
  144. package/dist/components/DictionaryFieldEditor/DictionaryDetails/DictionaryDetailsForm.d.ts.map +1 -1
  145. package/dist/components/DictionaryFieldEditor/DictionaryDetails/DictionaryDetailsForm.mjs +3 -35
  146. package/dist/components/DictionaryFieldEditor/DictionaryDetails/DictionaryDetailsForm.mjs.map +1 -1
  147. package/dist/components/DictionaryFieldEditor/DictionaryDetails/DictionaryDetailsSchema.d.ts +4 -4
  148. package/dist/components/DictionaryFieldEditor/DictionaryDetails/dictionaryDetails.content.cjs +0 -47
  149. package/dist/components/DictionaryFieldEditor/DictionaryDetails/dictionaryDetails.content.cjs.map +1 -1
  150. package/dist/components/DictionaryFieldEditor/DictionaryDetails/dictionaryDetails.content.d.ts +0 -19
  151. package/dist/components/DictionaryFieldEditor/DictionaryDetails/dictionaryDetails.content.d.ts.map +1 -1
  152. package/dist/components/DictionaryFieldEditor/DictionaryDetails/dictionaryDetails.content.mjs +0 -47
  153. package/dist/components/DictionaryFieldEditor/DictionaryDetails/dictionaryDetails.content.mjs.map +1 -1
  154. package/dist/components/DictionaryFieldEditor/DictionaryFieldEditor.cjs +3 -2
  155. package/dist/components/DictionaryFieldEditor/DictionaryFieldEditor.cjs.map +1 -1
  156. package/dist/components/DictionaryFieldEditor/DictionaryFieldEditor.mjs +3 -2
  157. package/dist/components/DictionaryFieldEditor/DictionaryFieldEditor.mjs.map +1 -1
  158. package/dist/components/DictionaryFieldEditor/EditorView/EditorView.cjs +3 -2
  159. package/dist/components/DictionaryFieldEditor/EditorView/EditorView.cjs.map +1 -1
  160. package/dist/components/DictionaryFieldEditor/EditorView/EditorView.mjs +3 -2
  161. package/dist/components/DictionaryFieldEditor/EditorView/EditorView.mjs.map +1 -1
  162. package/dist/components/DictionaryFieldEditor/EditorView/TextEditor.cjs +2 -2
  163. package/dist/components/DictionaryFieldEditor/EditorView/TextEditor.mjs +2 -2
  164. package/dist/components/DictionaryFieldEditor/NavigationView/NavigationViewNode.cjs +2 -2
  165. package/dist/components/DictionaryFieldEditor/NavigationView/NavigationViewNode.mjs +2 -2
  166. package/dist/components/DictionaryFieldEditor/NodeTypeSelector.cjs +2 -2
  167. package/dist/components/DictionaryFieldEditor/NodeTypeSelector.mjs +2 -2
  168. package/dist/components/DictionaryFieldEditor/SaveForm/SaveForm.cjs +4 -17
  169. package/dist/components/DictionaryFieldEditor/SaveForm/SaveForm.cjs.map +1 -1
  170. package/dist/components/DictionaryFieldEditor/SaveForm/SaveForm.d.ts.map +1 -1
  171. package/dist/components/DictionaryFieldEditor/SaveForm/SaveForm.mjs +4 -17
  172. package/dist/components/DictionaryFieldEditor/SaveForm/SaveForm.mjs.map +1 -1
  173. package/dist/components/DictionaryFieldEditor/SaveForm/saveForm.content.cjs +0 -21
  174. package/dist/components/DictionaryFieldEditor/SaveForm/saveForm.content.cjs.map +1 -1
  175. package/dist/components/DictionaryFieldEditor/SaveForm/saveForm.content.d.ts +0 -9
  176. package/dist/components/DictionaryFieldEditor/SaveForm/saveForm.content.d.ts.map +1 -1
  177. package/dist/components/DictionaryFieldEditor/SaveForm/saveForm.content.mjs +0 -21
  178. package/dist/components/DictionaryFieldEditor/SaveForm/saveForm.content.mjs.map +1 -1
  179. package/dist/components/Form/FormBase.cjs +4 -1
  180. package/dist/components/Form/FormBase.cjs.map +1 -1
  181. package/dist/components/Form/FormBase.d.ts +1 -1
  182. package/dist/components/Form/FormBase.d.ts.map +1 -1
  183. package/dist/components/Form/FormBase.mjs +4 -1
  184. package/dist/components/Form/FormBase.mjs.map +1 -1
  185. package/dist/components/Input/Checkbox.d.ts +1 -1
  186. package/dist/components/Input/Input.cjs +8 -2
  187. package/dist/components/Input/Input.cjs.map +1 -1
  188. package/dist/components/Input/Input.d.ts +1 -0
  189. package/dist/components/Input/Input.d.ts.map +1 -1
  190. package/dist/components/Input/Input.mjs +8 -2
  191. package/dist/components/Input/Input.mjs.map +1 -1
  192. package/dist/components/Link/Link.d.ts +1 -1
  193. package/dist/components/Modal/Modal.cjs +3 -1
  194. package/dist/components/Modal/Modal.cjs.map +1 -1
  195. package/dist/components/Modal/Modal.mjs +3 -1
  196. package/dist/components/Modal/Modal.mjs.map +1 -1
  197. package/dist/components/Navbar/MobileNavbar.cjs +3 -1
  198. package/dist/components/Navbar/MobileNavbar.cjs.map +1 -1
  199. package/dist/components/Navbar/MobileNavbar.mjs +3 -1
  200. package/dist/components/Navbar/MobileNavbar.mjs.map +1 -1
  201. package/dist/components/Navbar/index.cjs +3 -1
  202. package/dist/components/Navbar/index.cjs.map +1 -1
  203. package/dist/components/Navbar/index.mjs +3 -1
  204. package/dist/components/Navbar/index.mjs.map +1 -1
  205. package/dist/components/Select/Multiselect.d.ts +1 -1
  206. package/dist/components/Select/Multiselect.d.ts.map +1 -1
  207. package/dist/components/SwitchSelector/index.cjs +3 -1
  208. package/dist/components/SwitchSelector/index.cjs.map +1 -1
  209. package/dist/components/SwitchSelector/index.d.ts +1 -1
  210. package/dist/components/SwitchSelector/index.mjs +3 -1
  211. package/dist/components/SwitchSelector/index.mjs.map +1 -1
  212. package/dist/components/TabSelector/TabSelector.cjs +13 -10
  213. package/dist/components/TabSelector/TabSelector.cjs.map +1 -1
  214. package/dist/components/TabSelector/TabSelector.d.ts +1 -1
  215. package/dist/components/TabSelector/TabSelector.d.ts.map +1 -1
  216. package/dist/components/TabSelector/TabSelector.mjs +13 -10
  217. package/dist/components/TabSelector/TabSelector.mjs.map +1 -1
  218. package/dist/components/Tag/index.cjs +79 -0
  219. package/dist/components/Tag/index.cjs.map +1 -0
  220. package/dist/components/Tag/index.d.ts +12 -0
  221. package/dist/components/Tag/index.d.ts.map +1 -0
  222. package/dist/components/Tag/index.mjs +79 -0
  223. package/dist/components/Tag/index.mjs.map +1 -0
  224. package/dist/components/Toaster/Toast.d.ts +1 -1
  225. package/dist/components/index.cjs +4 -4
  226. package/dist/components/index.d.ts +1 -0
  227. package/dist/components/index.d.ts.map +1 -1
  228. package/dist/components/index.mjs +3 -3
  229. package/dist/components/index.mjs.map +1 -1
  230. package/dist/hooks/index.cjs +4 -1
  231. package/dist/hooks/index.cjs.map +1 -1
  232. package/dist/hooks/index.d.ts +1 -0
  233. package/dist/hooks/index.d.ts.map +1 -1
  234. package/dist/hooks/index.mjs +5 -2
  235. package/dist/hooks/index.mjs.map +1 -1
  236. package/dist/hooks/intlayerAPIHooks.cjs +257 -126
  237. package/dist/hooks/intlayerAPIHooks.cjs.map +1 -1
  238. package/dist/hooks/intlayerAPIHooks.d.ts +43 -38
  239. package/dist/hooks/intlayerAPIHooks.d.ts.map +1 -1
  240. package/dist/hooks/intlayerAPIHooks.mjs +258 -127
  241. package/dist/hooks/intlayerAPIHooks.mjs.map +1 -1
  242. package/dist/hooks/useAsync/useAsync.cjs +142 -104
  243. package/dist/hooks/useAsync/useAsync.cjs.map +1 -1
  244. package/dist/hooks/useAsync/useAsync.d.ts +0 -2
  245. package/dist/hooks/useAsync/useAsync.d.ts.map +1 -1
  246. package/dist/hooks/useAsync/useAsync.mjs +143 -105
  247. package/dist/hooks/useAsync/useAsync.mjs.map +1 -1
  248. package/dist/hooks/useAsync/useAsyncStateStore.cjs +50 -112
  249. package/dist/hooks/useAsync/useAsyncStateStore.cjs.map +1 -1
  250. package/dist/hooks/useAsync/useAsyncStateStore.d.ts +3 -9
  251. package/dist/hooks/useAsync/useAsyncStateStore.d.ts.map +1 -1
  252. package/dist/hooks/useAsync/useAsyncStateStore.mjs +50 -112
  253. package/dist/hooks/useAsync/useAsyncStateStore.mjs.map +1 -1
  254. package/dist/hooks/useAsync/useProxyState.d.ts +3 -0
  255. package/dist/hooks/useAsync/useProxyState.d.ts.map +1 -0
  256. package/dist/hooks/useIntlayerAPI.cjs +6 -5
  257. package/dist/hooks/useIntlayerAPI.cjs.map +1 -1
  258. package/dist/hooks/useIntlayerAPI.d.ts +51 -45
  259. package/dist/hooks/useIntlayerAPI.d.ts.map +1 -1
  260. package/dist/hooks/useIntlayerAPI.mjs +5 -4
  261. package/dist/hooks/useIntlayerAPI.mjs.map +1 -1
  262. package/dist/hooks/useItemSelector.cjs +11 -2
  263. package/dist/hooks/useItemSelector.cjs.map +1 -1
  264. package/dist/hooks/useItemSelector.d.ts +3 -2
  265. package/dist/hooks/useItemSelector.d.ts.map +1 -1
  266. package/dist/hooks/useItemSelector.mjs +11 -2
  267. package/dist/hooks/useItemSelector.mjs.map +1 -1
  268. package/dist/hooks/usePersistedStore.cjs +22 -0
  269. package/dist/hooks/usePersistedStore.cjs.map +1 -0
  270. package/dist/hooks/usePersistedStore.d.ts +2 -0
  271. package/dist/hooks/usePersistedStore.d.ts.map +1 -0
  272. package/dist/hooks/usePersistedStore.mjs +22 -0
  273. package/dist/hooks/usePersistedStore.mjs.map +1 -0
  274. package/dist/hooks/usePersistenceStore.cjs +22 -0
  275. package/dist/hooks/usePersistenceStore.cjs.map +1 -0
  276. package/dist/hooks/usePersistenceStore.d.ts +2 -0
  277. package/dist/hooks/usePersistenceStore.d.ts.map +1 -0
  278. package/dist/hooks/usePersistenceStore.mjs +22 -0
  279. package/dist/hooks/usePersistenceStore.mjs.map +1 -0
  280. package/dist/libs/intlayer-api/auth.cjs +14 -2
  281. package/dist/libs/intlayer-api/auth.cjs.map +1 -1
  282. package/dist/libs/intlayer-api/auth.d.ts +7 -3
  283. package/dist/libs/intlayer-api/auth.d.ts.map +1 -1
  284. package/dist/libs/intlayer-api/auth.mjs +14 -2
  285. package/dist/libs/intlayer-api/auth.mjs.map +1 -1
  286. package/dist/libs/intlayer-api/fetcher.cjs +7 -1
  287. package/dist/libs/intlayer-api/fetcher.cjs.map +1 -1
  288. package/dist/libs/intlayer-api/fetcher.d.ts.map +1 -1
  289. package/dist/libs/intlayer-api/fetcher.mjs +7 -1
  290. package/dist/libs/intlayer-api/fetcher.mjs.map +1 -1
  291. package/dist/libs/intlayer-api/index.cjs +3 -1
  292. package/dist/libs/intlayer-api/index.cjs.map +1 -1
  293. package/dist/libs/intlayer-api/index.d.ts +12 -2
  294. package/dist/libs/intlayer-api/index.d.ts.map +1 -1
  295. package/dist/libs/intlayer-api/index.mjs +3 -1
  296. package/dist/libs/intlayer-api/index.mjs.map +1 -1
  297. package/dist/libs/intlayer-api/stripe.cjs +22 -0
  298. package/dist/libs/intlayer-api/stripe.cjs.map +1 -0
  299. package/dist/libs/intlayer-api/stripe.d.ts +6 -0
  300. package/dist/libs/intlayer-api/stripe.d.ts.map +1 -0
  301. package/dist/libs/intlayer-api/stripe.mjs +22 -0
  302. package/dist/libs/intlayer-api/stripe.mjs.map +1 -0
  303. package/dist/stripe-BsI0lJWz.js +22 -0
  304. package/dist/stripe-BsI0lJWz.js.map +1 -0
  305. package/dist/stripe-C-u5RvGh.js +22 -0
  306. package/dist/stripe-C-u5RvGh.js.map +1 -0
  307. package/dist/stripe-CF_E65Vu.js +22 -0
  308. package/dist/stripe-CF_E65Vu.js.map +1 -0
  309. package/dist/stripe-CpGvfq6T.cjs +21 -0
  310. package/dist/stripe-CpGvfq6T.cjs.map +1 -0
  311. package/dist/stripe-DEv4DjAL.cjs +21 -0
  312. package/dist/stripe-DEv4DjAL.cjs.map +1 -0
  313. package/dist/stripe-DuG0uaEn.cjs +21 -0
  314. package/dist/stripe-DuG0uaEn.cjs.map +1 -0
  315. package/dist/tailwind.css +1 -1
  316. package/dist/useProxyState-D5GLrY2y.js +20 -0
  317. package/dist/useProxyState-D5GLrY2y.js.map +1 -0
  318. package/dist/useProxyState-DewdF3no.cjs +19 -0
  319. package/dist/useProxyState-DewdF3no.cjs.map +1 -0
  320. 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":"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"}
@@ -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 { toast } = components_Toaster_useToast.useToast();
35
- const onSubmitSignInSuccess = async ({ email, password }) => {
36
- const response = await login({
37
- email,
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
- const response = await register({
53
- email,
54
- password
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
- const response = await changePassword({
85
- oldPassword: currentPassword,
86
- newPassword
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 { useToast } from '../../Toaster';\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 const { toast } = useToast();\n\n const onSubmitSignInSuccess = async ({ email, password }: SignIn) => {\n const response = await login({\n email,\n password,\n });\n\n if (response.error) {\n toast({\n title: [response.error].flatMap((error) => error).join(', '),\n variant: 'error',\n });\n\n return;\n }\n\n if (response.data) {\n await onSignInSuccess?.(response.data);\n }\n };\n\n const onSubmitSignUpSuccess = async ({ email, password }: SignUp) => {\n const response = await register({\n email,\n password,\n });\n\n if (response.error) {\n toast({\n title: [response.error].flatMap((error) => error).join(', '),\n variant: 'error',\n });\n\n return;\n }\n\n if (response.data) {\n await onSignUpSuccess?.(response.data);\n }\n };\n\n const onSubmitResetPasswordSuccess = async ({ email }: ResetPassword) => {\n const response = await askResetPassword(email);\n\n if (response.error) {\n toast({\n title: [response.error].flatMap((error) => error).join(', '),\n variant: 'error',\n });\n\n return;\n }\n\n if (response.data) {\n await onResetPasswordSuccess?.(response.data);\n }\n };\n\n const onSubmitChangePasswordSuccess = async ({\n currentPassword,\n newPassword,\n }: ChangePassword) => {\n const response = await changePassword({\n oldPassword: currentPassword,\n newPassword,\n });\n\n if (response.error) {\n toast({\n title: [response.error].flatMap((error) => error).join(', '),\n variant: 'error',\n });\n\n return;\n }\n\n if (response.data) {\n await onChangePasswordSuccess?.(response.data);\n }\n };\n\n const onSubmitError = (error: Error) => {\n toast({\n title: error.message,\n variant: 'error',\n });\n };\n\n return (\n <Modal onClose={onClose} isOpen={isOpen}>\n {state === AuthState.SignIn && (\n <SignInForm\n onSubmitSuccess={onSubmitSignInSuccess}\n onSubmitError={onSubmitError}\n onClickForgotPassword={() => setState(AuthState.ResetPassword)}\n onClickSignUp={() => setState(AuthState.SignUp)}\n />\n )}\n {state === AuthState.SignUp && (\n <SignUpForm\n onSubmitSuccess={onSubmitSignUpSuccess}\n onSubmitError={onSubmitError}\n onClickBackToSignIn={() => setState(AuthState.SignIn)}\n />\n )}\n {state === AuthState.ResetPassword && (\n <ResetPasswordForm\n onSubmitSuccess={onSubmitResetPasswordSuccess}\n onSubmitError={onSubmitError}\n onClickBackToLogin={() => setState(AuthState.SignIn)}\n />\n )}\n {state === AuthState.ChangePassword && (\n <ChangePasswordForm\n onSubmitSuccess={onSubmitChangePasswordSuccess}\n onSubmitError={onSubmitError}\n onClickBackToHome={() => setState(AuthState.SignIn)}\n />\n )}\n </Modal>\n );\n};\n"],"names":["useState","useLogin","useRegister","useAskResetPassword","useChangePassword","useToast","jsxs","Modal","jsx","SignInForm","SignUpForm","ResetPasswordForm","ChangePasswordForm"],"mappings":"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"}
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;AAc1C,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,CAwIxC,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 { toast } = useToast();
33
- const onSubmitSignInSuccess = async ({ email, password }) => {
34
- const response = await login({
35
- email,
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
- const response = await register({
51
- email,
52
- password
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
- const response = await changePassword({
83
- oldPassword: currentPassword,
84
- newPassword
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 { useToast } from '../../Toaster';\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 const { toast } = useToast();\n\n const onSubmitSignInSuccess = async ({ email, password }: SignIn) => {\n const response = await login({\n email,\n password,\n });\n\n if (response.error) {\n toast({\n title: [response.error].flatMap((error) => error).join(', '),\n variant: 'error',\n });\n\n return;\n }\n\n if (response.data) {\n await onSignInSuccess?.(response.data);\n }\n };\n\n const onSubmitSignUpSuccess = async ({ email, password }: SignUp) => {\n const response = await register({\n email,\n password,\n });\n\n if (response.error) {\n toast({\n title: [response.error].flatMap((error) => error).join(', '),\n variant: 'error',\n });\n\n return;\n }\n\n if (response.data) {\n await onSignUpSuccess?.(response.data);\n }\n };\n\n const onSubmitResetPasswordSuccess = async ({ email }: ResetPassword) => {\n const response = await askResetPassword(email);\n\n if (response.error) {\n toast({\n title: [response.error].flatMap((error) => error).join(', '),\n variant: 'error',\n });\n\n return;\n }\n\n if (response.data) {\n await onResetPasswordSuccess?.(response.data);\n }\n };\n\n const onSubmitChangePasswordSuccess = async ({\n currentPassword,\n newPassword,\n }: ChangePassword) => {\n const response = await changePassword({\n oldPassword: currentPassword,\n newPassword,\n });\n\n if (response.error) {\n toast({\n title: [response.error].flatMap((error) => error).join(', '),\n variant: 'error',\n });\n\n return;\n }\n\n if (response.data) {\n await onChangePasswordSuccess?.(response.data);\n }\n };\n\n const onSubmitError = (error: Error) => {\n toast({\n title: error.message,\n variant: 'error',\n });\n };\n\n return (\n <Modal onClose={onClose} isOpen={isOpen}>\n {state === AuthState.SignIn && (\n <SignInForm\n onSubmitSuccess={onSubmitSignInSuccess}\n onSubmitError={onSubmitError}\n onClickForgotPassword={() => setState(AuthState.ResetPassword)}\n onClickSignUp={() => setState(AuthState.SignUp)}\n />\n )}\n {state === AuthState.SignUp && (\n <SignUpForm\n onSubmitSuccess={onSubmitSignUpSuccess}\n onSubmitError={onSubmitError}\n onClickBackToSignIn={() => setState(AuthState.SignIn)}\n />\n )}\n {state === AuthState.ResetPassword && (\n <ResetPasswordForm\n onSubmitSuccess={onSubmitResetPasswordSuccess}\n onSubmitError={onSubmitError}\n onClickBackToLogin={() => setState(AuthState.SignIn)}\n />\n )}\n {state === AuthState.ChangePassword && (\n <ChangePasswordForm\n onSubmitSuccess={onSubmitChangePasswordSuccess}\n onSubmitError={onSubmitError}\n onClickBackToHome={() => setState(AuthState.SignIn)}\n />\n )}\n </Modal>\n );\n};\n"],"names":["jsxs","jsx"],"mappings":"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"}
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 Organization,\n Project,\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: Organization | null;\n project: Project | 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
+ {"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, Organization, Project, UserAPI } from '@intlayer/backend';
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: Organization | null;
6
- project: Project | null;
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,YAAY,EACZ,OAAO,EACP,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,YAAY,GAAG,IAAI,CAAC;IAClC,OAAO,EAAE,OAAO,GAAG,IAAI,CAAC;IACxB,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
+ {"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 Organization,\n Project,\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: Organization | null;\n project: Project | 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;"}
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 useGetSession = () => hooks_useAsync_useAsync.useAsync(
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 useGetSession = () =>\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!)) ??\n 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 {\n getSession,\n revalidate,\n data,\n setData: setSession,\n isFetched,\n } = useGetSession();\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;AAC1D,QAAM,gBAAgB,MACpBA,wBAAA;AAAA,IACE;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,MACtD;AAAA,UAAA;AAGG,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;AAGE,QAAA;AAAA,IACJ;AAAA,IACA;AAAA,IACA;AAAA,IACA,SAAS;AAAA,IACT;AAAA,MACE,cAAc;AAEZ,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
+ {"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;;;;;CAgFtD,CAAC"}
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 useGetSession = () => useAsync(
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 useGetSession = () =>\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!)) ??\n 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 {\n getSession,\n revalidate,\n data,\n setData: setSession,\n isFetched,\n } = useGetSession();\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;AAC1D,QAAM,gBAAgB,MACpB;AAAA,IACE;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,MACtD;AAAA,UAAA;AAGG,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;AAGE,QAAA;AAAA,IACJ;AAAA,IACA;AAAA,IACA;AAAA,IACA,SAAS;AAAA,IACT;AAAA,MACE,cAAc;AAEZ,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;"}
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;"}