@intlayer/design-system 3.0.3 → 3.1.0

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 (482) hide show
  1. package/dist/.vite/manifest.json +521 -395
  2. package/dist/Form-2XHQV7F_.cjs +295 -0
  3. package/dist/Form-2XHQV7F_.cjs.map +1 -0
  4. package/dist/Form-BO0i3nT9.js +300 -0
  5. package/dist/Form-BO0i3nT9.js.map +1 -0
  6. package/dist/Form-BaHDK0RZ.cjs +298 -0
  7. package/dist/Form-BaHDK0RZ.cjs.map +1 -0
  8. package/dist/Form-BfZMqK2D.js +300 -0
  9. package/dist/Form-BfZMqK2D.js.map +1 -0
  10. package/dist/Form-C13KWSZs.cjs +299 -0
  11. package/dist/Form-C13KWSZs.cjs.map +1 -0
  12. package/dist/Form-C8K2f8ph.js +300 -0
  13. package/dist/Form-C8K2f8ph.js.map +1 -0
  14. package/dist/Form-CKvCgz8c.cjs +299 -0
  15. package/dist/Form-CKvCgz8c.cjs.map +1 -0
  16. package/dist/Form-Cbk5Lhpd.js +299 -0
  17. package/dist/Form-Cbk5Lhpd.js.map +1 -0
  18. package/dist/Form-CiAgFAPb.cjs +300 -0
  19. package/dist/Form-CiAgFAPb.cjs.map +1 -0
  20. package/dist/Form-CnBKDneQ.js +296 -0
  21. package/dist/Form-CnBKDneQ.js.map +1 -0
  22. package/dist/Form-DERuauvB.cjs +300 -0
  23. package/dist/Form-DERuauvB.cjs.map +1 -0
  24. package/dist/Form-DhlDf3ML.cjs +299 -0
  25. package/dist/Form-DhlDf3ML.cjs.map +1 -0
  26. package/dist/Form-DkAZ0Jdf.cjs +299 -0
  27. package/dist/Form-DkAZ0Jdf.cjs.map +1 -0
  28. package/dist/Form-DqnNP4DA.js +300 -0
  29. package/dist/Form-DqnNP4DA.js.map +1 -0
  30. package/dist/Form-DyFBmVya.js +301 -0
  31. package/dist/Form-DyFBmVya.js.map +1 -0
  32. package/dist/Form-FW4Odjfm.js +301 -0
  33. package/dist/Form-FW4Odjfm.js.map +1 -0
  34. package/dist/components/Accordion/Accordion.d.ts +0 -1
  35. package/dist/components/Auth/AuthModal/index.d.ts +0 -1
  36. package/dist/components/Auth/AuthProvider/index.cjs +5 -21
  37. package/dist/components/Auth/AuthProvider/index.cjs.map +1 -1
  38. package/dist/components/Auth/AuthProvider/index.d.ts +4 -3
  39. package/dist/components/Auth/AuthProvider/index.d.ts.map +1 -1
  40. package/dist/components/Auth/AuthProvider/index.mjs +6 -22
  41. package/dist/components/Auth/AuthProvider/index.mjs.map +1 -1
  42. package/dist/components/Auth/AuthProvider/useSession.cjs +7 -3
  43. package/dist/components/Auth/AuthProvider/useSession.cjs.map +1 -1
  44. package/dist/components/Auth/AuthProvider/useSession.d.ts +0 -1
  45. package/dist/components/Auth/AuthProvider/useSession.d.ts.map +1 -1
  46. package/dist/components/Auth/AuthProvider/useSession.mjs +7 -3
  47. package/dist/components/Auth/AuthProvider/useSession.mjs.map +1 -1
  48. package/dist/components/Auth/AuthenticationBarrier/AuthenticationBarrierClient.d.ts +0 -1
  49. package/dist/components/Auth/AuthenticationBarrier/AuthenticationBarrierServer.d.ts +0 -1
  50. package/dist/components/Auth/AuthenticationBarrier/accessValidation.d.ts +0 -1
  51. package/dist/components/Auth/AuthenticationBarrier/index.d.ts +0 -1
  52. package/dist/components/Auth/ChangePasswordForm/ChangePasswordForm.cjs +1 -1
  53. package/dist/components/Auth/ChangePasswordForm/ChangePasswordForm.d.ts +0 -1
  54. package/dist/components/Auth/ChangePasswordForm/ChangePasswordForm.mjs +1 -1
  55. package/dist/components/Auth/ChangePasswordForm/ChangePasswordSchema.cjs.map +1 -1
  56. package/dist/components/Auth/ChangePasswordForm/ChangePasswordSchema.d.ts +0 -1
  57. package/dist/components/Auth/ChangePasswordForm/ChangePasswordSchema.mjs.map +1 -1
  58. package/dist/components/Auth/ChangePasswordForm/index.content.cjs.map +1 -1
  59. package/dist/components/Auth/ChangePasswordForm/index.content.d.ts +10 -10
  60. package/dist/components/Auth/ChangePasswordForm/index.content.mjs.map +1 -1
  61. package/dist/components/Auth/ExternalsLoginButtons/ExternalsLoginButtons.d.ts +0 -1
  62. package/dist/components/Auth/ExternalsLoginButtons/assets/GithubLogo.d.ts +0 -1
  63. package/dist/components/Auth/ExternalsLoginButtons/assets/GoogleLogo.d.ts +0 -1
  64. package/dist/components/Auth/ExternalsLoginButtons/externalsLoginButtons.content.cjs.map +1 -1
  65. package/dist/components/Auth/ExternalsLoginButtons/externalsLoginButtons.content.d.ts +5 -5
  66. package/dist/components/Auth/ExternalsLoginButtons/externalsLoginButtons.content.mjs.map +1 -1
  67. package/dist/components/Auth/ResetPasswordForm/ResetPasswordForm.cjs +1 -1
  68. package/dist/components/Auth/ResetPasswordForm/ResetPasswordForm.d.ts +0 -1
  69. package/dist/components/Auth/ResetPasswordForm/ResetPasswordForm.mjs +1 -1
  70. package/dist/components/Auth/ResetPasswordForm/ResetPasswordSchema.cjs.map +1 -1
  71. package/dist/components/Auth/ResetPasswordForm/ResetPasswordSchema.d.ts +0 -1
  72. package/dist/components/Auth/ResetPasswordForm/ResetPasswordSchema.mjs.map +1 -1
  73. package/dist/components/Auth/ResetPasswordForm/index.content.cjs.map +1 -1
  74. package/dist/components/Auth/ResetPasswordForm/index.content.d.ts +7 -7
  75. package/dist/components/Auth/ResetPasswordForm/index.content.mjs.map +1 -1
  76. package/dist/components/Auth/SignInForm/SignInForm.cjs +1 -1
  77. package/dist/components/Auth/SignInForm/SignInForm.d.ts +0 -1
  78. package/dist/components/Auth/SignInForm/SignInForm.mjs +1 -1
  79. package/dist/components/Auth/SignInForm/SignInSchema.cjs.map +1 -1
  80. package/dist/components/Auth/SignInForm/SignInSchema.d.ts +0 -1
  81. package/dist/components/Auth/SignInForm/SignInSchema.mjs.map +1 -1
  82. package/dist/components/Auth/SignInForm/index.content.cjs.map +1 -1
  83. package/dist/components/Auth/SignInForm/index.content.d.ts +13 -13
  84. package/dist/components/Auth/SignInForm/index.content.mjs.map +1 -1
  85. package/dist/components/Auth/SignUpForm/SignUpForm.cjs +1 -1
  86. package/dist/components/Auth/SignUpForm/SignUpForm.d.ts +0 -1
  87. package/dist/components/Auth/SignUpForm/SignUpForm.mjs +1 -1
  88. package/dist/components/Auth/SignUpForm/SignUpSchema.cjs.map +1 -1
  89. package/dist/components/Auth/SignUpForm/SignUpSchema.d.ts +0 -1
  90. package/dist/components/Auth/SignUpForm/SignUpSchema.mjs.map +1 -1
  91. package/dist/components/Auth/SignUpForm/index.content.cjs.map +1 -1
  92. package/dist/components/Auth/SignUpForm/index.content.d.ts +11 -11
  93. package/dist/components/Auth/SignUpForm/index.content.mjs.map +1 -1
  94. package/dist/components/Avatar/index.d.ts +0 -1
  95. package/dist/components/Badge/index.d.ts +1 -2
  96. package/dist/components/Breadcrumb/index.d.ts +0 -1
  97. package/dist/components/Button/Button.cjs +1 -0
  98. package/dist/components/Button/Button.cjs.map +1 -1
  99. package/dist/components/Button/Button.d.ts +2 -3
  100. package/dist/components/Button/Button.d.ts.map +1 -1
  101. package/dist/components/Button/Button.mjs +1 -0
  102. package/dist/components/Button/Button.mjs.map +1 -1
  103. package/dist/components/Command/index.d.ts +9 -10
  104. package/dist/components/Command/index.d.ts.map +1 -1
  105. package/dist/components/Container/index.cjs.map +1 -1
  106. package/dist/components/Container/index.d.ts +16 -3
  107. package/dist/components/Container/index.d.ts.map +1 -1
  108. package/dist/components/Container/index.mjs.map +1 -1
  109. package/dist/components/ContentEditor/ContentEditor.d.ts +0 -1
  110. package/dist/components/ContentEditor/ContentEditorTextArea.d.ts +0 -1
  111. package/dist/components/ContentSelector/ContentSelector.d.ts +0 -1
  112. package/dist/components/CopyToClipboard/index.d.ts +0 -1
  113. package/dist/components/DictionaryEditor/DictionaryEditor.cjs +30 -24
  114. package/dist/components/DictionaryEditor/DictionaryEditor.cjs.map +1 -1
  115. package/dist/components/DictionaryEditor/DictionaryEditor.d.ts +0 -7
  116. package/dist/components/DictionaryEditor/DictionaryEditor.d.ts.map +1 -1
  117. package/dist/components/DictionaryEditor/DictionaryEditor.mjs +30 -24
  118. package/dist/components/DictionaryEditor/DictionaryEditor.mjs.map +1 -1
  119. package/dist/components/DictionaryEditor/ItemLayout.cjs +1 -0
  120. package/dist/components/DictionaryEditor/ItemLayout.cjs.map +1 -1
  121. package/dist/components/DictionaryEditor/ItemLayout.d.ts +0 -1
  122. package/dist/components/DictionaryEditor/ItemLayout.d.ts.map +1 -1
  123. package/dist/components/DictionaryEditor/ItemLayout.mjs +1 -0
  124. package/dist/components/DictionaryEditor/ItemLayout.mjs.map +1 -1
  125. package/dist/components/DictionaryEditor/NodeWrapper/ArrayWrapper.d.ts +0 -1
  126. package/dist/components/DictionaryEditor/NodeWrapper/EnumerationWrapper.d.ts +0 -1
  127. package/dist/components/DictionaryEditor/NodeWrapper/NestedObjectWrapper.d.ts +0 -1
  128. package/dist/components/DictionaryEditor/NodeWrapper/StringWrapper.cjs +7 -5
  129. package/dist/components/DictionaryEditor/NodeWrapper/StringWrapper.cjs.map +1 -1
  130. package/dist/components/DictionaryEditor/NodeWrapper/StringWrapper.d.ts +0 -1
  131. package/dist/components/DictionaryEditor/NodeWrapper/StringWrapper.mjs +7 -5
  132. package/dist/components/DictionaryEditor/NodeWrapper/StringWrapper.mjs.map +1 -1
  133. package/dist/components/DictionaryEditor/NodeWrapper/TranslationWrapper.d.ts +0 -1
  134. package/dist/components/DictionaryEditor/NodeWrapper/index.d.ts +0 -1
  135. package/dist/components/DictionaryEditor/ValidDictionaryChangeButtons.cjs +111 -19
  136. package/dist/components/DictionaryEditor/ValidDictionaryChangeButtons.cjs.map +1 -1
  137. package/dist/components/DictionaryEditor/ValidDictionaryChangeButtons.d.ts +1 -5
  138. package/dist/components/DictionaryEditor/ValidDictionaryChangeButtons.d.ts.map +1 -1
  139. package/dist/components/DictionaryEditor/ValidDictionaryChangeButtons.mjs +112 -20
  140. package/dist/components/DictionaryEditor/ValidDictionaryChangeButtons.mjs.map +1 -1
  141. package/dist/components/DictionaryEditor/useEditedContentStore.cjs +18 -20
  142. package/dist/components/DictionaryEditor/useEditedContentStore.cjs.map +1 -1
  143. package/dist/components/DictionaryEditor/useEditedContentStore.d.ts +0 -1
  144. package/dist/components/DictionaryEditor/useEditedContentStore.d.ts.map +1 -1
  145. package/dist/components/DictionaryEditor/useEditedContentStore.mjs +19 -21
  146. package/dist/components/DictionaryEditor/useEditedContentStore.mjs.map +1 -1
  147. package/dist/components/DictionaryEditor/useEditionPanelStore.d.ts +0 -1
  148. package/dist/components/DictionaryEditor/validDictionaryChangeButtons.content.cjs +67 -0
  149. package/dist/components/DictionaryEditor/validDictionaryChangeButtons.content.cjs.map +1 -0
  150. package/dist/components/DictionaryEditor/validDictionaryChangeButtons.content.d.ts +27 -0
  151. package/dist/components/DictionaryEditor/validDictionaryChangeButtons.content.d.ts.map +1 -0
  152. package/dist/components/DictionaryEditor/validDictionaryChangeButtons.content.mjs +67 -0
  153. package/dist/components/DictionaryEditor/validDictionaryChangeButtons.content.mjs.map +1 -0
  154. package/dist/components/DictionaryEditor/validDictionaryChangeButtonsSchema.cjs +8 -0
  155. package/dist/components/DictionaryEditor/validDictionaryChangeButtonsSchema.cjs.map +1 -0
  156. package/dist/components/DictionaryEditor/validDictionaryChangeButtonsSchema.d.ts +4 -0
  157. package/dist/components/DictionaryEditor/validDictionaryChangeButtonsSchema.d.ts.map +1 -0
  158. package/dist/components/DictionaryEditor/validDictionaryChangeButtonsSchema.mjs +8 -0
  159. package/dist/components/DictionaryEditor/validDictionaryChangeButtonsSchema.mjs.map +1 -0
  160. package/dist/components/DictionaryFieldEditor/DictionariesSelector/DictionariesSelector.cjs +8 -2
  161. package/dist/components/DictionaryFieldEditor/DictionariesSelector/DictionariesSelector.cjs.map +1 -1
  162. package/dist/components/DictionaryFieldEditor/DictionariesSelector/DictionariesSelector.d.ts +0 -1
  163. package/dist/components/DictionaryFieldEditor/DictionariesSelector/DictionariesSelector.d.ts.map +1 -1
  164. package/dist/components/DictionaryFieldEditor/DictionariesSelector/DictionariesSelector.mjs +8 -2
  165. package/dist/components/DictionaryFieldEditor/DictionariesSelector/DictionariesSelector.mjs.map +1 -1
  166. package/dist/components/DictionaryFieldEditor/DictionaryCreationForm/DictionaryCreationForm.cjs +1 -1
  167. package/dist/components/DictionaryFieldEditor/DictionaryCreationForm/DictionaryCreationForm.cjs.map +1 -1
  168. package/dist/components/DictionaryFieldEditor/DictionaryCreationForm/DictionaryCreationForm.d.ts +0 -1
  169. package/dist/components/DictionaryFieldEditor/DictionaryCreationForm/DictionaryCreationForm.d.ts.map +1 -1
  170. package/dist/components/DictionaryFieldEditor/DictionaryCreationForm/DictionaryCreationForm.mjs +1 -1
  171. package/dist/components/DictionaryFieldEditor/DictionaryCreationForm/DictionaryCreationForm.mjs.map +1 -1
  172. package/dist/components/DictionaryFieldEditor/DictionaryCreationForm/dictionaryFormSchema.cjs.map +1 -1
  173. package/dist/components/DictionaryFieldEditor/DictionaryCreationForm/dictionaryFormSchema.d.ts +2 -3
  174. package/dist/components/DictionaryFieldEditor/DictionaryCreationForm/dictionaryFormSchema.d.ts.map +1 -1
  175. package/dist/components/DictionaryFieldEditor/DictionaryCreationForm/dictionaryFormSchema.mjs.map +1 -1
  176. package/dist/components/DictionaryFieldEditor/DictionaryDetails/DictionaryDetailsForm.cjs +1 -1
  177. package/dist/components/DictionaryFieldEditor/DictionaryDetails/DictionaryDetailsForm.cjs.map +1 -1
  178. package/dist/components/DictionaryFieldEditor/DictionaryDetails/DictionaryDetailsForm.d.ts +0 -1
  179. package/dist/components/DictionaryFieldEditor/DictionaryDetails/DictionaryDetailsForm.d.ts.map +1 -1
  180. package/dist/components/DictionaryFieldEditor/DictionaryDetails/DictionaryDetailsForm.mjs +1 -1
  181. package/dist/components/DictionaryFieldEditor/DictionaryDetails/DictionaryDetailsForm.mjs.map +1 -1
  182. package/dist/components/DictionaryFieldEditor/DictionaryDetails/DictionaryDetailsSchema.cjs.map +1 -1
  183. package/dist/components/DictionaryFieldEditor/DictionaryDetails/DictionaryDetailsSchema.d.ts +2 -3
  184. package/dist/components/DictionaryFieldEditor/DictionaryDetails/DictionaryDetailsSchema.d.ts.map +1 -1
  185. package/dist/components/DictionaryFieldEditor/DictionaryDetails/DictionaryDetailsSchema.mjs.map +1 -1
  186. package/dist/components/DictionaryFieldEditor/DictionaryDetails/dictionaryDetails.content.cjs +2 -2
  187. package/dist/components/DictionaryFieldEditor/DictionaryDetails/dictionaryDetails.content.cjs.map +1 -1
  188. package/dist/components/DictionaryFieldEditor/DictionaryDetails/dictionaryDetails.content.mjs +2 -2
  189. package/dist/components/DictionaryFieldEditor/DictionaryDetails/dictionaryDetails.content.mjs.map +1 -1
  190. package/dist/components/DictionaryFieldEditor/DictionaryFieldEditor.cjs +37 -13
  191. package/dist/components/DictionaryFieldEditor/DictionaryFieldEditor.cjs.map +1 -1
  192. package/dist/components/DictionaryFieldEditor/DictionaryFieldEditor.d.ts +0 -1
  193. package/dist/components/DictionaryFieldEditor/DictionaryFieldEditor.d.ts.map +1 -1
  194. package/dist/components/DictionaryFieldEditor/DictionaryFieldEditor.mjs +37 -13
  195. package/dist/components/DictionaryFieldEditor/DictionaryFieldEditor.mjs.map +1 -1
  196. package/dist/components/DictionaryFieldEditor/EditorView/EditorView.cjs +21 -6
  197. package/dist/components/DictionaryFieldEditor/EditorView/EditorView.cjs.map +1 -1
  198. package/dist/components/DictionaryFieldEditor/EditorView/EditorView.d.ts +0 -1
  199. package/dist/components/DictionaryFieldEditor/EditorView/EditorView.d.ts.map +1 -1
  200. package/dist/components/DictionaryFieldEditor/EditorView/EditorView.mjs +21 -6
  201. package/dist/components/DictionaryFieldEditor/EditorView/EditorView.mjs.map +1 -1
  202. package/dist/components/DictionaryFieldEditor/EditorView/TextEditor.cjs +29 -14
  203. package/dist/components/DictionaryFieldEditor/EditorView/TextEditor.cjs.map +1 -1
  204. package/dist/components/DictionaryFieldEditor/EditorView/TextEditor.d.ts +0 -1
  205. package/dist/components/DictionaryFieldEditor/EditorView/TextEditor.d.ts.map +1 -1
  206. package/dist/components/DictionaryFieldEditor/EditorView/TextEditor.mjs +29 -14
  207. package/dist/components/DictionaryFieldEditor/EditorView/TextEditor.mjs.map +1 -1
  208. package/dist/components/DictionaryFieldEditor/EnumKeyInput.cjs +1 -0
  209. package/dist/components/DictionaryFieldEditor/EnumKeyInput.cjs.map +1 -1
  210. package/dist/components/DictionaryFieldEditor/EnumKeyInput.d.ts +0 -1
  211. package/dist/components/DictionaryFieldEditor/EnumKeyInput.mjs +1 -0
  212. package/dist/components/DictionaryFieldEditor/EnumKeyInput.mjs.map +1 -1
  213. package/dist/components/DictionaryFieldEditor/KeyPathBreadcrumb.d.ts +0 -1
  214. package/dist/components/DictionaryFieldEditor/NavigationView/NavigationViewNode.cjs +18 -2
  215. package/dist/components/DictionaryFieldEditor/NavigationView/NavigationViewNode.cjs.map +1 -1
  216. package/dist/components/DictionaryFieldEditor/NavigationView/NavigationViewNode.d.ts +0 -1
  217. package/dist/components/DictionaryFieldEditor/NavigationView/NavigationViewNode.d.ts.map +1 -1
  218. package/dist/components/DictionaryFieldEditor/NavigationView/NavigationViewNode.mjs +18 -2
  219. package/dist/components/DictionaryFieldEditor/NavigationView/NavigationViewNode.mjs.map +1 -1
  220. package/dist/components/DictionaryFieldEditor/NodeTypeSelector.cjs +18 -2
  221. package/dist/components/DictionaryFieldEditor/NodeTypeSelector.cjs.map +1 -1
  222. package/dist/components/DictionaryFieldEditor/NodeTypeSelector.d.ts +0 -1
  223. package/dist/components/DictionaryFieldEditor/NodeTypeSelector.d.ts.map +1 -1
  224. package/dist/components/DictionaryFieldEditor/NodeTypeSelector.mjs +18 -2
  225. package/dist/components/DictionaryFieldEditor/NodeTypeSelector.mjs.map +1 -1
  226. package/dist/components/DictionaryFieldEditor/SaveForm/SaveForm.cjs +14 -15
  227. package/dist/components/DictionaryFieldEditor/SaveForm/SaveForm.cjs.map +1 -1
  228. package/dist/components/DictionaryFieldEditor/SaveForm/SaveForm.d.ts +0 -1
  229. package/dist/components/DictionaryFieldEditor/SaveForm/SaveForm.d.ts.map +1 -1
  230. package/dist/components/DictionaryFieldEditor/SaveForm/SaveForm.mjs +14 -15
  231. package/dist/components/DictionaryFieldEditor/SaveForm/SaveForm.mjs.map +1 -1
  232. package/dist/components/DictionaryFieldEditor/SaveForm/SaveFormSchema.d.ts +0 -1
  233. package/dist/components/DictionaryFieldEditor/SaveForm/saveForm.content.cjs +12 -12
  234. package/dist/components/DictionaryFieldEditor/SaveForm/saveForm.content.cjs.map +1 -1
  235. package/dist/components/DictionaryFieldEditor/SaveForm/saveForm.content.d.ts +1 -1
  236. package/dist/components/DictionaryFieldEditor/SaveForm/saveForm.content.mjs +12 -12
  237. package/dist/components/DictionaryFieldEditor/SaveForm/saveForm.content.mjs.map +1 -1
  238. package/dist/components/DictionaryFieldEditor/getIsEditableSection.d.ts +0 -1
  239. package/dist/components/DropDown/index.d.ts +0 -1
  240. package/dist/components/DropDown/types.d.ts +0 -1
  241. package/dist/components/EditableField/EditableFieldInput.cjs +12 -5
  242. package/dist/components/EditableField/EditableFieldInput.cjs.map +1 -1
  243. package/dist/components/EditableField/EditableFieldInput.d.ts +2 -4
  244. package/dist/components/EditableField/EditableFieldInput.d.ts.map +1 -1
  245. package/dist/components/EditableField/EditableFieldInput.mjs +13 -6
  246. package/dist/components/EditableField/EditableFieldInput.mjs.map +1 -1
  247. package/dist/components/EditableField/EditableFieldLayout.d.ts +0 -1
  248. package/dist/components/EditableField/EditableFieldTextArea.cjs +17 -4
  249. package/dist/components/EditableField/EditableFieldTextArea.cjs.map +1 -1
  250. package/dist/components/EditableField/EditableFieldTextArea.d.ts +6 -3
  251. package/dist/components/EditableField/EditableFieldTextArea.d.ts.map +1 -1
  252. package/dist/components/EditableField/EditableFieldTextArea.mjs +18 -5
  253. package/dist/components/EditableField/EditableFieldTextArea.mjs.map +1 -1
  254. package/dist/components/Flags/Flag.d.ts +0 -1
  255. package/dist/components/Footer/index.d.ts +0 -1
  256. package/dist/components/Form/Form.cjs +1 -1
  257. package/dist/components/Form/Form.d.ts +2 -1
  258. package/dist/components/Form/Form.d.ts.map +1 -1
  259. package/dist/components/Form/Form.mjs +1 -1
  260. package/dist/components/Form/FormBase.d.ts +0 -1
  261. package/dist/components/Form/FormBase.d.ts.map +1 -1
  262. package/dist/components/Form/FormDescription.d.ts +0 -1
  263. package/dist/components/Form/FormField.d.ts +0 -1
  264. package/dist/components/Form/FormItem.d.ts +0 -1
  265. package/dist/components/Form/FormMessage.d.ts +0 -1
  266. package/dist/components/Form/elements/CheckboxElement.cjs +10 -0
  267. package/dist/components/Form/elements/CheckboxElement.cjs.map +1 -0
  268. package/dist/components/Form/elements/CheckboxElement.d.ts +10 -0
  269. package/dist/components/Form/elements/CheckboxElement.d.ts.map +1 -0
  270. package/dist/components/Form/elements/CheckboxElement.mjs +10 -0
  271. package/dist/components/Form/elements/CheckboxElement.mjs.map +1 -0
  272. package/dist/components/Form/elements/EditableFieldInputElement.cjs +1 -1
  273. package/dist/components/Form/elements/EditableFieldInputElement.d.ts +0 -1
  274. package/dist/components/Form/elements/EditableFieldInputElement.mjs +1 -1
  275. package/dist/components/Form/elements/EditableFieldTextAreaElement.cjs +1 -1
  276. package/dist/components/Form/elements/EditableFieldTextAreaElement.d.ts +0 -1
  277. package/dist/components/Form/elements/EditableFieldTextAreaElement.mjs +1 -1
  278. package/dist/components/Form/elements/FormElement.cjs +1 -1
  279. package/dist/components/Form/elements/FormElement.d.ts +0 -1
  280. package/dist/components/Form/elements/FormElement.mjs +1 -1
  281. package/dist/components/Form/elements/FormElementWrapper.d.ts +0 -1
  282. package/dist/components/Form/elements/InputElement.cjs +2 -1
  283. package/dist/components/Form/elements/InputElement.cjs.map +1 -1
  284. package/dist/components/Form/elements/InputElement.d.ts +2 -3
  285. package/dist/components/Form/elements/InputElement.d.ts.map +1 -1
  286. package/dist/components/Form/elements/InputElement.mjs +2 -1
  287. package/dist/components/Form/elements/InputElement.mjs.map +1 -1
  288. package/dist/components/Form/elements/InputPasswordElement.cjs +2 -1
  289. package/dist/components/Form/elements/InputPasswordElement.cjs.map +1 -1
  290. package/dist/components/Form/elements/InputPasswordElement.d.ts +2 -3
  291. package/dist/components/Form/elements/InputPasswordElement.d.ts.map +1 -1
  292. package/dist/components/Form/elements/InputPasswordElement.mjs +2 -1
  293. package/dist/components/Form/elements/InputPasswordElement.mjs.map +1 -1
  294. package/dist/components/Form/elements/MultiselectElement.cjs +1 -1
  295. package/dist/components/Form/elements/MultiselectElement.d.ts +0 -1
  296. package/dist/components/Form/elements/MultiselectElement.mjs +1 -1
  297. package/dist/components/Form/elements/SelectElement.cjs +1 -1
  298. package/dist/components/Form/elements/SelectElement.d.ts +0 -1
  299. package/dist/components/Form/elements/SelectElement.mjs +1 -1
  300. package/dist/components/Form/elements/SwitchSelectorElement.cjs +1 -1
  301. package/dist/components/Form/elements/SwitchSelectorElement.d.ts +0 -1
  302. package/dist/components/Form/elements/SwitchSelectorElement.mjs +1 -1
  303. package/dist/components/Form/elements/TextAreaElement.cjs +1 -1
  304. package/dist/components/Form/elements/TextAreaElement.d.ts +0 -1
  305. package/dist/components/Form/elements/TextAreaElement.mjs +1 -1
  306. package/dist/components/Form/elements/index.cjs +1 -1
  307. package/dist/components/Form/elements/index.mjs +1 -1
  308. package/dist/components/Form/index.cjs +1 -1
  309. package/dist/components/Form/index.mjs +1 -1
  310. package/dist/components/Form/layout/FormItemLayout.cjs +1 -1
  311. package/dist/components/Form/layout/FormItemLayout.d.ts +1 -2
  312. package/dist/components/Form/layout/FormItemLayout.d.ts.map +1 -1
  313. package/dist/components/Form/layout/FormItemLayout.mjs +1 -1
  314. package/dist/components/Form/layout/FormLabelLayout.d.ts +0 -1
  315. package/dist/components/Form/layout/RequiredStar.d.ts +0 -1
  316. package/dist/components/Form/layout/index.cjs +1 -1
  317. package/dist/components/Form/layout/index.mjs +1 -1
  318. package/dist/components/Headers/index.d.ts +0 -1
  319. package/dist/components/IDE/CodeRender.cjs.map +1 -1
  320. package/dist/components/IDE/CodeRender.d.ts +0 -1
  321. package/dist/components/IDE/CodeRender.mjs.map +1 -1
  322. package/dist/components/IDE/FileList.d.ts +0 -1
  323. package/dist/components/IDE/FileTree.d.ts +0 -1
  324. package/dist/components/IDE/IDE.d.ts +0 -1
  325. package/dist/components/IDE/MarkDownRender.d.ts +0 -1
  326. package/dist/components/InformationTag/index.d.ts +0 -1
  327. package/dist/components/Input/Checkbox.cjs +80 -0
  328. package/dist/components/Input/Checkbox.cjs.map +1 -0
  329. package/dist/components/Input/Checkbox.d.ts +14 -0
  330. package/dist/components/Input/Checkbox.d.ts.map +1 -0
  331. package/dist/components/Input/Checkbox.mjs +80 -0
  332. package/dist/components/Input/Checkbox.mjs.map +1 -0
  333. package/dist/components/Input/Input.d.ts +0 -1
  334. package/dist/components/Input/InputPassword.d.ts +0 -1
  335. package/dist/components/Input/index.cjs +3 -0
  336. package/dist/components/Input/index.cjs.map +1 -1
  337. package/dist/components/Input/index.d.ts +1 -0
  338. package/dist/components/Input/index.d.ts.map +1 -1
  339. package/dist/components/Input/index.mjs +3 -0
  340. package/dist/components/Input/index.mjs.map +1 -1
  341. package/dist/components/Label/index.d.ts +0 -1
  342. package/dist/components/Link/Link.cjs +7 -2
  343. package/dist/components/Link/Link.cjs.map +1 -1
  344. package/dist/components/Link/Link.d.ts +3 -3
  345. package/dist/components/Link/Link.d.ts.map +1 -1
  346. package/dist/components/Link/Link.mjs +7 -2
  347. package/dist/components/Link/Link.mjs.map +1 -1
  348. package/dist/components/Loader/index.d.ts +0 -1
  349. package/dist/components/Loader/spinner.d.ts +0 -1
  350. package/dist/components/LocaleSwitcherDropDown/LocaleSwitcher.d.ts +0 -1
  351. package/dist/components/Logo/LogoCircle.d.ts +0 -1
  352. package/dist/components/Logo/LogoNoFrame.d.ts +0 -1
  353. package/dist/components/Logo/LogoSquare.d.ts +0 -1
  354. package/dist/components/Logo/LogoSquircle.d.ts +0 -1
  355. package/dist/components/Logo/LogoTextOnly.d.ts +0 -1
  356. package/dist/components/Logo/LogoWithTextBelowCircle.d.ts +0 -1
  357. package/dist/components/Logo/LogoWithTextBelowNoFrame.d.ts +0 -1
  358. package/dist/components/Logo/LogoWithTextBelowSquircle.d.ts +0 -1
  359. package/dist/components/Logo/LogoWithTextCircle.d.ts +0 -1
  360. package/dist/components/Logo/LogoWithTextNoFrame.d.ts +0 -1
  361. package/dist/components/Logo/LogoWithTextSquircle.d.ts +0 -1
  362. package/dist/components/Logo/index.d.ts +0 -1
  363. package/dist/components/MarkDownRender/index.d.ts +0 -1
  364. package/dist/components/MaxHeightSmoother/index.d.ts +0 -1
  365. package/dist/components/MaxWidthSmoother/index.d.ts +0 -1
  366. package/dist/components/Modal/Modal.cjs +19 -15
  367. package/dist/components/Modal/Modal.cjs.map +1 -1
  368. package/dist/components/Modal/Modal.d.ts +3 -3
  369. package/dist/components/Modal/Modal.d.ts.map +1 -1
  370. package/dist/components/Modal/Modal.mjs +19 -15
  371. package/dist/components/Modal/Modal.mjs.map +1 -1
  372. package/dist/components/Navbar/Burger.d.ts +0 -1
  373. package/dist/components/Navbar/DesktopNavbar.cjs +10 -26
  374. package/dist/components/Navbar/DesktopNavbar.cjs.map +1 -1
  375. package/dist/components/Navbar/DesktopNavbar.d.ts +6 -6
  376. package/dist/components/Navbar/DesktopNavbar.d.ts.map +1 -1
  377. package/dist/components/Navbar/DesktopNavbar.mjs +10 -26
  378. package/dist/components/Navbar/DesktopNavbar.mjs.map +1 -1
  379. package/dist/components/Navbar/MobileNavbar.cjs +3 -57
  380. package/dist/components/Navbar/MobileNavbar.cjs.map +1 -1
  381. package/dist/components/Navbar/MobileNavbar.d.ts +6 -7
  382. package/dist/components/Navbar/MobileNavbar.d.ts.map +1 -1
  383. package/dist/components/Navbar/MobileNavbar.mjs +3 -57
  384. package/dist/components/Navbar/MobileNavbar.mjs.map +1 -1
  385. package/dist/components/Navbar/index.cjs +4 -2
  386. package/dist/components/Navbar/index.cjs.map +1 -1
  387. package/dist/components/Navbar/index.d.ts +9 -15
  388. package/dist/components/Navbar/index.d.ts.map +1 -1
  389. package/dist/components/Navbar/index.mjs +4 -2
  390. package/dist/components/Navbar/index.mjs.map +1 -1
  391. package/dist/components/Pattern/DotPattern.d.ts +0 -1
  392. package/dist/components/Pattern/GridPattern.d.ts +0 -1
  393. package/dist/components/Pattern/SpotLight.d.ts +0 -1
  394. package/dist/components/Popover/index.d.ts +0 -1
  395. package/dist/components/PressableSpan/PressableSpan.d.ts +0 -1
  396. package/dist/components/ProfileDropDown/index.d.ts +0 -1
  397. package/dist/components/RightDrawer/RightDrawer.d.ts +0 -1
  398. package/dist/components/Select/Multiselect.d.ts +2 -3
  399. package/dist/components/Select/Multiselect.d.ts.map +1 -1
  400. package/dist/components/SwitchSelector/index.d.ts +1 -2
  401. package/dist/components/TabSelector/TabSelector.cjs +2 -0
  402. package/dist/components/TabSelector/TabSelector.cjs.map +1 -1
  403. package/dist/components/TabSelector/TabSelector.d.ts +2 -3
  404. package/dist/components/TabSelector/TabSelector.d.ts.map +1 -1
  405. package/dist/components/TabSelector/TabSelector.mjs +2 -0
  406. package/dist/components/TabSelector/TabSelector.mjs.map +1 -1
  407. package/dist/components/TextArea/AutoSizeTextArea.d.ts +0 -1
  408. package/dist/components/TextArea/TextArea.cjs +1 -0
  409. package/dist/components/TextArea/TextArea.cjs.map +1 -1
  410. package/dist/components/TextArea/TextArea.d.ts +0 -1
  411. package/dist/components/TextArea/TextArea.mjs +1 -0
  412. package/dist/components/TextArea/TextArea.mjs.map +1 -1
  413. package/dist/components/ThemeSwitcherDropDown/DesktopThemeSwitcher.d.ts +0 -1
  414. package/dist/components/ThemeSwitcherDropDown/MobileThemeSwitcher.d.ts +0 -1
  415. package/dist/components/Toaster/Toast.d.ts +1 -1
  416. package/dist/components/Toaster/useToast.d.ts +0 -1
  417. package/dist/components/WithResizer/index.d.ts +0 -1
  418. package/dist/components/index.cjs +4 -3
  419. package/dist/components/index.cjs.map +1 -1
  420. package/dist/components/index.d.ts +0 -1
  421. package/dist/components/index.d.ts.map +1 -1
  422. package/dist/components/index.mjs +4 -3
  423. package/dist/hooks/intlayerAPIHooks.cjs +16 -3
  424. package/dist/hooks/intlayerAPIHooks.cjs.map +1 -1
  425. package/dist/hooks/intlayerAPIHooks.d.ts +0 -1
  426. package/dist/hooks/intlayerAPIHooks.d.ts.map +1 -1
  427. package/dist/hooks/intlayerAPIHooks.mjs +16 -3
  428. package/dist/hooks/intlayerAPIHooks.mjs.map +1 -1
  429. package/dist/hooks/useAsync/useAsync.cjs +1 -5
  430. package/dist/hooks/useAsync/useAsync.cjs.map +1 -1
  431. package/dist/hooks/useAsync/useAsync.d.ts.map +1 -1
  432. package/dist/hooks/useAsync/useAsync.mjs +1 -5
  433. package/dist/hooks/useAsync/useAsync.mjs.map +1 -1
  434. package/dist/hooks/useAsync/useAsyncWrapper.d.ts +0 -1
  435. package/dist/hooks/useGetAllDictionaries.d.ts +0 -1
  436. package/dist/hooks/useItemSelector.d.ts +0 -1
  437. package/dist/index-BUDsCMdX.cjs +204 -0
  438. package/dist/index-BUDsCMdX.cjs.map +1 -0
  439. package/dist/index-C09rI9kw.js +205 -0
  440. package/dist/index-C09rI9kw.js.map +1 -0
  441. package/dist/libs/intlayer-api/auth.d.ts +0 -1
  442. package/dist/libs/intlayer-api/dictionary.d.ts +0 -1
  443. package/dist/libs/intlayer-api/fetcher.cjs +1 -6
  444. package/dist/libs/intlayer-api/fetcher.cjs.map +1 -1
  445. package/dist/libs/intlayer-api/fetcher.d.ts.map +1 -1
  446. package/dist/libs/intlayer-api/fetcher.mjs +1 -6
  447. package/dist/libs/intlayer-api/fetcher.mjs.map +1 -1
  448. package/dist/libs/intlayer-api/index.d.ts +0 -1
  449. package/dist/libs/intlayer-api/organization.d.ts +0 -1
  450. package/dist/libs/intlayer-api/project.d.ts +0 -1
  451. package/dist/libs/intlayer-api/user.d.ts +0 -1
  452. package/dist/tailwind.css +1 -1
  453. package/dist/utils/cn.d.ts +0 -1
  454. package/dist/utils/dictionary.cjs +37 -1
  455. package/dist/utils/dictionary.cjs.map +1 -1
  456. package/dist/utils/dictionary.d.ts +1 -1
  457. package/dist/utils/dictionary.d.ts.map +1 -1
  458. package/dist/utils/dictionary.mjs +38 -2
  459. package/dist/utils/dictionary.mjs.map +1 -1
  460. package/dist/validDictionaryChangeButtons.content-BK9QaXPm.cjs +66 -0
  461. package/dist/validDictionaryChangeButtons.content-BK9QaXPm.cjs.map +1 -0
  462. package/dist/validDictionaryChangeButtons.content-CAAscqJI.cjs +66 -0
  463. package/dist/validDictionaryChangeButtons.content-CAAscqJI.cjs.map +1 -0
  464. package/dist/validDictionaryChangeButtons.content-D7AvoBdl.js +67 -0
  465. package/dist/validDictionaryChangeButtons.content-D7AvoBdl.js.map +1 -0
  466. package/dist/validDictionaryChangeButtons.content-DQwoUNCC.cjs +45 -0
  467. package/dist/validDictionaryChangeButtons.content-DQwoUNCC.cjs.map +1 -0
  468. package/dist/validDictionaryChangeButtons.content-DQxPoIe6.js +67 -0
  469. package/dist/validDictionaryChangeButtons.content-DQxPoIe6.js.map +1 -0
  470. package/dist/validDictionaryChangeButtons.content-JUcjGdBx.cjs +66 -0
  471. package/dist/validDictionaryChangeButtons.content-JUcjGdBx.cjs.map +1 -0
  472. package/dist/validDictionaryChangeButtons.content-ejY3-sbG.js +67 -0
  473. package/dist/validDictionaryChangeButtons.content-ejY3-sbG.js.map +1 -0
  474. package/dist/validDictionaryChangeButtons.content-iyT0lKy7.js +46 -0
  475. package/dist/validDictionaryChangeButtons.content-iyT0lKy7.js.map +1 -0
  476. package/dist/validDictionaryChangeButtons.content-u4qShrQh.cjs +66 -0
  477. package/dist/validDictionaryChangeButtons.content-u4qShrQh.cjs.map +1 -0
  478. package/dist/validDictionaryChangeButtons.content-y4up9NU8.js +67 -0
  479. package/dist/validDictionaryChangeButtons.content-y4up9NU8.js.map +1 -0
  480. package/dist/zod-BV4nCGJE.js.map +1 -1
  481. package/dist/zod-DSrtTSD_.cjs.map +1 -1
  482. package/package.json +81 -54
@@ -0,0 +1,301 @@
1
+ "use client";
2
+ import { Button } from "./components/Button/Button.mjs";
3
+ import { j as jsxRuntimeExports } from "./jsx-runtime-BgSF1HG2.js";
4
+ import { useFormContext } from "react-hook-form";
5
+ import { Input } from "./components/Input/Input.mjs";
6
+ import { InputPassword } from "./components/Input/InputPassword.mjs";
7
+ import { Checkbox } from "./components/Input/Checkbox.mjs";
8
+ import { TextArea } from "./components/TextArea/TextArea.mjs";
9
+ import { EditableFieldInput } from "./components/EditableField/EditableFieldInput.mjs";
10
+ import { EditableFieldTextArea } from "./components/EditableField/EditableFieldTextArea.mjs";
11
+ import { forwardRef } from "react";
12
+ import { MultiSelect } from "./components/Select/Multiselect.mjs";
13
+ import { useFormField, FormField } from "./components/Form/FormField.mjs";
14
+ import { FormLabelLayout } from "./components/Form/layout/FormLabelLayout.mjs";
15
+ import { Select } from "./components/Select/Select.mjs";
16
+ import { SwitchSelector } from "./components/SwitchSelector/index.mjs";
17
+ import { Form as Form$1 } from "./components/Form/FormBase.mjs";
18
+ import { FormControl } from "./components/Form/FormControl.mjs";
19
+ import { FormDescription } from "./components/Form/FormDescription.mjs";
20
+ import { FormItem } from "./components/Form/FormItem.mjs";
21
+ import { FormMessage } from "./components/Form/FormMessage.mjs";
22
+ import "clsx";
23
+ import "tailwind-merge";
24
+ import "./components/Form/FormLabel.mjs";
25
+ const FormItemLayout = ({
26
+ label,
27
+ description,
28
+ isRequired,
29
+ info,
30
+ children,
31
+ showErrorMessage = true,
32
+ htmlFor
33
+ }) => /* @__PURE__ */ jsxRuntimeExports.jsxs(Form.Item, { className: "w-full space-y-2", children: [
34
+ /* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: "space-y-1 leading-none", children: [
35
+ /* @__PURE__ */ jsxRuntimeExports.jsx(FormLabelLayout, { isRequired, info, htmlFor, children: label }),
36
+ description && /* @__PURE__ */ jsxRuntimeExports.jsx(Form.Description, { children: description })
37
+ ] }),
38
+ /* @__PURE__ */ jsxRuntimeExports.jsx(Form.Control, { children }),
39
+ showErrorMessage && /* @__PURE__ */ jsxRuntimeExports.jsx(Form.Message, { "data-testid": "error-message" })
40
+ ] });
41
+ const FormFieldElement = ({
42
+ field,
43
+ name,
44
+ label,
45
+ Element,
46
+ isRequired = false,
47
+ info,
48
+ description,
49
+ showErrorMessage = true,
50
+ ...props
51
+ }) => {
52
+ const { error } = useFormField();
53
+ return /* @__PURE__ */ jsxRuntimeExports.jsx(
54
+ FormItemLayout,
55
+ {
56
+ htmlFor: name,
57
+ label,
58
+ description,
59
+ isRequired,
60
+ info,
61
+ showErrorMessage,
62
+ "aria-invalid": !!error,
63
+ children: /* @__PURE__ */ jsxRuntimeExports.jsx(Element, { "data-testid": "element", id: name, ...field, ...props, children: props.children })
64
+ }
65
+ );
66
+ };
67
+ const FormElement = (props) => {
68
+ const { control } = useFormContext();
69
+ return /* @__PURE__ */ jsxRuntimeExports.jsx(
70
+ Form.Field,
71
+ {
72
+ control,
73
+ name: props.name,
74
+ render: ({ field }) => /* @__PURE__ */ jsxRuntimeExports.jsx(FormFieldElement, { ...props, field })
75
+ }
76
+ );
77
+ };
78
+ const InputElement = (props) => /* @__PURE__ */ jsxRuntimeExports.jsx(
79
+ FormElement,
80
+ {
81
+ id: props.name,
82
+ "data-testid": props.name,
83
+ Element: Input,
84
+ ...props
85
+ }
86
+ );
87
+ const InputPasswordElement = ({
88
+ autoComplete,
89
+ ...props
90
+ }) => /* @__PURE__ */ jsxRuntimeExports.jsx(
91
+ FormElement,
92
+ {
93
+ Element: InputPassword,
94
+ id: props.name,
95
+ "data-testid": props.name,
96
+ autoComplete,
97
+ minLength: 6,
98
+ maxLength: 255,
99
+ ...props
100
+ }
101
+ );
102
+ const TextAreaElement = (props) => /* @__PURE__ */ jsxRuntimeExports.jsx(
103
+ FormElement,
104
+ {
105
+ Element: TextArea,
106
+ id: props.name,
107
+ "data-testid": props.name,
108
+ ...props
109
+ }
110
+ );
111
+ const EditableFieldInputElement = (props) => /* @__PURE__ */ jsxRuntimeExports.jsx(
112
+ FormElement,
113
+ {
114
+ id: props.name,
115
+ "data-testid": props.name,
116
+ Element: EditableFieldInput,
117
+ ...props
118
+ }
119
+ );
120
+ const EditableFieldTextAreaElement = (props) => /* @__PURE__ */ jsxRuntimeExports.jsx(
121
+ FormElement,
122
+ {
123
+ id: props.name,
124
+ "data-testid": props.name,
125
+ Element: EditableFieldTextArea,
126
+ ...props
127
+ }
128
+ );
129
+ const CheckboxComponent = forwardRef(
130
+ ({ inputLabel, ...props }, ref) => /* @__PURE__ */ jsxRuntimeExports.jsx(Checkbox, { ref, ...props, label: inputLabel })
131
+ );
132
+ const CheckboxElement = ({
133
+ autoComplete,
134
+ ...props
135
+ }) => /* @__PURE__ */ jsxRuntimeExports.jsx(
136
+ FormElement,
137
+ {
138
+ Element: CheckboxComponent,
139
+ id: props.name,
140
+ "data-testid": props.name,
141
+ autoComplete,
142
+ minLength: 6,
143
+ size: "md",
144
+ maxLength: 255,
145
+ ...props
146
+ }
147
+ );
148
+ const MultiSelectElement = ({
149
+ name,
150
+ description,
151
+ label,
152
+ isRequired,
153
+ info,
154
+ showErrorMessage,
155
+ children,
156
+ ...props
157
+ }) => {
158
+ const { control } = useFormContext();
159
+ return /* @__PURE__ */ jsxRuntimeExports.jsx(
160
+ Form.Field,
161
+ {
162
+ control,
163
+ name,
164
+ render: ({ field }) => {
165
+ const { error } = useFormField();
166
+ return /* @__PURE__ */ jsxRuntimeExports.jsx(
167
+ FormItemLayout,
168
+ {
169
+ htmlFor: name,
170
+ label,
171
+ description,
172
+ isRequired,
173
+ info,
174
+ showErrorMessage,
175
+ "aria-invalid": !!error,
176
+ children: /* @__PURE__ */ jsxRuntimeExports.jsx(
177
+ MultiSelect,
178
+ {
179
+ onValueChange: field.onChange,
180
+ values: field.value,
181
+ ...props,
182
+ children
183
+ }
184
+ )
185
+ }
186
+ );
187
+ }
188
+ }
189
+ );
190
+ };
191
+ const SelectElement = ({
192
+ name,
193
+ description,
194
+ label,
195
+ isRequired,
196
+ info,
197
+ showErrorMessage,
198
+ children,
199
+ ...props
200
+ }) => {
201
+ const { control } = useFormContext();
202
+ return /* @__PURE__ */ jsxRuntimeExports.jsx(
203
+ Form.Field,
204
+ {
205
+ control,
206
+ name,
207
+ render: ({ field }) => {
208
+ const { error } = useFormField();
209
+ return /* @__PURE__ */ jsxRuntimeExports.jsx(
210
+ FormItemLayout,
211
+ {
212
+ htmlFor: name,
213
+ label,
214
+ description,
215
+ isRequired,
216
+ info,
217
+ showErrorMessage,
218
+ "aria-invalid": !!error,
219
+ children: /* @__PURE__ */ jsxRuntimeExports.jsx(
220
+ Select,
221
+ {
222
+ onValueChange: field.onChange,
223
+ defaultValue: field.value,
224
+ ...props,
225
+ children
226
+ }
227
+ )
228
+ }
229
+ );
230
+ }
231
+ }
232
+ );
233
+ };
234
+ const SwitchSelectorElement = ({
235
+ name,
236
+ description,
237
+ label,
238
+ isRequired,
239
+ info,
240
+ showErrorMessage,
241
+ children,
242
+ ...props
243
+ }) => {
244
+ const { control } = useFormContext();
245
+ return /* @__PURE__ */ jsxRuntimeExports.jsx(
246
+ Form.Field,
247
+ {
248
+ control,
249
+ name,
250
+ render: ({ field }) => {
251
+ const { error } = useFormField();
252
+ return /* @__PURE__ */ jsxRuntimeExports.jsx(
253
+ FormItemLayout,
254
+ {
255
+ htmlFor: name,
256
+ label,
257
+ description,
258
+ isRequired,
259
+ info,
260
+ showErrorMessage,
261
+ "aria-invalid": !!error,
262
+ children: /* @__PURE__ */ jsxRuntimeExports.jsx(SwitchSelector, { ...field, ...props, children })
263
+ }
264
+ );
265
+ }
266
+ }
267
+ );
268
+ };
269
+ const Form = Form$1;
270
+ Form.Description = FormDescription;
271
+ Form.Control = FormControl;
272
+ Form.Field = FormField;
273
+ Form.Item = FormItem;
274
+ Form.Label = FormLabelLayout;
275
+ Form.Message = FormMessage;
276
+ Form.Element = FormElement;
277
+ Form.Input = InputElement;
278
+ Form.InputPassword = InputPasswordElement;
279
+ Form.Checkbox = CheckboxElement;
280
+ Form.TextArea = TextAreaElement;
281
+ Form.Button = Button;
282
+ Form.Select = SelectElement;
283
+ Form.MultiSelect = MultiSelectElement;
284
+ Form.EditableFieldInput = EditableFieldInputElement;
285
+ Form.EditableFieldTextArea = EditableFieldTextAreaElement;
286
+ Form.SwitchSelector = SwitchSelectorElement;
287
+ export {
288
+ CheckboxElement as C,
289
+ EditableFieldInputElement as E,
290
+ Form as F,
291
+ InputElement as I,
292
+ MultiSelectElement as M,
293
+ SelectElement as S,
294
+ TextAreaElement as T,
295
+ FormItemLayout as a,
296
+ FormElement as b,
297
+ InputPasswordElement as c,
298
+ EditableFieldTextAreaElement as d,
299
+ SwitchSelectorElement as e
300
+ };
301
+ //# sourceMappingURL=Form-FW4Odjfm.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Form-FW4Odjfm.js","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/Form/elements/SwitchSelectorElement.tsx","../src/components/Form/Form.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);\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 size=\"md\"\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","/* 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"],"names":["jsxs","jsx","FormRoot"],"mappings":"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"}
@@ -1,6 +1,5 @@
1
1
  import { FC, ReactNode } from 'react';
2
2
  import { ButtonProps } from '../Button';
3
-
4
3
  type AccordionProps = {
5
4
  identifier: string;
6
5
  header: ReactNode;
@@ -1,6 +1,5 @@
1
1
  import { UserAPI } from '@intlayer/backend';
2
2
  import { FC } from 'react';
3
-
4
3
  declare enum AuthState {
5
4
  SignIn = 0,
6
5
  SignUp = 1,
@@ -14,8 +14,8 @@ const AuthContext = require$$0.createContext({
14
14
  csrfToken: null,
15
15
  csrfTokenFetched: false,
16
16
  oAuth2AccessToken: null,
17
- isProjectAdmin: false,
18
- isOrganizationAdmin: false
17
+ isProjectAdmin: null,
18
+ isOrganizationAdmin: null
19
19
  });
20
20
  const useAuth = () => require$$0.useContext(AuthContext);
21
21
  const AuthProvider = ({
@@ -25,20 +25,6 @@ const AuthProvider = ({
25
25
  const { csrfToken, csrfTokenFetched } = components_Auth_AuthProvider_useCSRF.useCSRF();
26
26
  const { session, fetchSession, revalidateSession, setSession } = components_Auth_AuthProvider_useSession.useSession(sessionProp);
27
27
  const { oAuth2AccessToken } = components_Auth_AuthProvider_useOAuth2.useOAuth2(csrfToken);
28
- const [isProjectAdmin, setIsProjectAdmin] = require$$0.useState(false);
29
- const [isOrganizationAdmin, setIsOrganizationAdmin] = require$$0.useState(false);
30
- require$$0.useEffect(() => {
31
- if (session?.user && session.organization) {
32
- setIsOrganizationAdmin(
33
- session.organization.adminsIds.includes(session.user._id)
34
- );
35
- }
36
- if (session?.user && session.project) {
37
- setIsProjectAdmin(
38
- session.project?.adminsIds.includes(session.user._id) ?? false
39
- );
40
- }
41
- }, [session]);
42
28
  const memoValue = require$$0.useMemo(
43
29
  () => ({
44
30
  session,
@@ -48,8 +34,8 @@ const AuthProvider = ({
48
34
  csrfToken,
49
35
  csrfTokenFetched,
50
36
  oAuth2AccessToken,
51
- isProjectAdmin,
52
- isOrganizationAdmin
37
+ isProjectAdmin: session?.isProjectAdmin,
38
+ isOrganizationAdmin: session?.isOrganizationAdmin
53
39
  }),
54
40
  [
55
41
  session,
@@ -58,9 +44,7 @@ const AuthProvider = ({
58
44
  revalidateSession,
59
45
  csrfToken,
60
46
  csrfTokenFetched,
61
- oAuth2AccessToken,
62
- isProjectAdmin,
63
- isOrganizationAdmin
47
+ oAuth2AccessToken
64
48
  ]
65
49
  );
66
50
  return /* @__PURE__ */ jsxRuntime.jsxRuntimeExports.jsx(AuthContext.Provider, { value: memoValue, children });
@@ -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 useState,\n useEffect,\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};\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;\n isOrganizationAdmin: boolean;\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: false,\n isOrganizationAdmin: false,\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 const [isProjectAdmin, setIsProjectAdmin] = useState<boolean>(false);\n const [isOrganizationAdmin, setIsOrganizationAdmin] =\n useState<boolean>(false);\n\n useEffect(() => {\n if (session?.user && session.organization) {\n setIsOrganizationAdmin(\n session.organization.adminsIds.includes(session.user._id)\n );\n }\n if (session?.user && session.project) {\n setIsProjectAdmin(\n session.project?.adminsIds.includes(session.user._id) ?? false\n );\n }\n }, [session]);\n\n const memoValue: SessionContextProps = useMemo(\n () => ({\n session,\n fetchSession,\n setSession,\n revalidateSession,\n csrfToken,\n csrfTokenFetched,\n oAuth2AccessToken,\n isProjectAdmin,\n isOrganizationAdmin,\n }),\n [\n session,\n setSession,\n fetchSession,\n revalidateSession,\n csrfToken,\n csrfTokenFetched,\n oAuth2AccessToken,\n isProjectAdmin,\n isOrganizationAdmin,\n ]\n );\n\n return (\n <AuthContext.Provider value={memoValue}>{children}</AuthContext.Provider>\n );\n};\n"],"names":["createContext","useContext","useCSRF","useSession","useOAuth2","useState","useEffect","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;AACjD,QAAM,CAAC,gBAAgB,iBAAiB,IAAIC,oBAAkB,KAAK;AACnE,QAAM,CAAC,qBAAqB,sBAAsB,IAChDA,oBAAkB,KAAK;AAEzBC,aAAAA,UAAU,MAAM;AACV,QAAA,SAAS,QAAQ,QAAQ,cAAc;AACzC;AAAA,QACE,QAAQ,aAAa,UAAU,SAAS,QAAQ,KAAK,GAAG;AAAA,MAAA;AAAA,IAE5D;AACI,QAAA,SAAS,QAAQ,QAAQ,SAAS;AACpC;AAAA,QACE,QAAQ,SAAS,UAAU,SAAS,QAAQ,KAAK,GAAG,KAAK;AAAA,MAAA;AAAA,IAE7D;AAAA,EAAA,GACC,CAAC,OAAO,CAAC;AAEZ,QAAM,YAAiCC,WAAA;AAAA,IACrC,OAAO;AAAA,MACL;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,IAAA;AAAA,IAEF;AAAA,MACE;AAAA,MACA;AAAA,MACA;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 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,10 +1,11 @@
1
1
  import { OAuth2Token, Organization, Project, UserAPI } from '@intlayer/backend';
2
2
  import { PropsWithChildren, FC } from 'react';
3
-
4
3
  export type Session = {
5
4
  user: UserAPI | null;
6
5
  organization: Organization | null;
7
6
  project: Project | null;
7
+ isOrganizationAdmin: boolean;
8
+ isProjectAdmin: boolean;
8
9
  };
9
10
  type SessionContextProps = {
10
11
  session: Session | null | undefined;
@@ -14,8 +15,8 @@ type SessionContextProps = {
14
15
  csrfToken: string | null | undefined;
15
16
  csrfTokenFetched: boolean;
16
17
  oAuth2AccessToken: OAuth2Token | null | undefined;
17
- isProjectAdmin: boolean;
18
- isOrganizationAdmin: boolean;
18
+ isProjectAdmin: boolean | null | undefined;
19
+ isOrganizationAdmin: boolean | null | undefined;
19
20
  };
20
21
  export declare const AuthContext: import('react').Context<SessionContextProps>;
21
22
  export declare const useAuth: () => SessionContextProps;
@@ -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,EAMR,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;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,CAAC;IACxB,mBAAmB,EAAE,OAAO,CAAC;CAC9B,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,CAqDjE,CAAC"}
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,6 +1,6 @@
1
1
  "use client";
2
2
  import { j as jsxRuntimeExports } from "../../../jsx-runtime-BgSF1HG2.js";
3
- import { createContext, useContext, useState, useEffect, useMemo } from "react";
3
+ import { createContext, useContext, useMemo } from "react";
4
4
  import { useCSRF } from "./useCSRF.mjs";
5
5
  import { useOAuth2 } from "./useOAuth2.mjs";
6
6
  import { useSession } from "./useSession.mjs";
@@ -12,8 +12,8 @@ const AuthContext = createContext({
12
12
  csrfToken: null,
13
13
  csrfTokenFetched: false,
14
14
  oAuth2AccessToken: null,
15
- isProjectAdmin: false,
16
- isOrganizationAdmin: false
15
+ isProjectAdmin: null,
16
+ isOrganizationAdmin: null
17
17
  });
18
18
  const useAuth = () => useContext(AuthContext);
19
19
  const AuthProvider = ({
@@ -23,20 +23,6 @@ const AuthProvider = ({
23
23
  const { csrfToken, csrfTokenFetched } = useCSRF();
24
24
  const { session, fetchSession, revalidateSession, setSession } = useSession(sessionProp);
25
25
  const { oAuth2AccessToken } = useOAuth2(csrfToken);
26
- const [isProjectAdmin, setIsProjectAdmin] = useState(false);
27
- const [isOrganizationAdmin, setIsOrganizationAdmin] = useState(false);
28
- useEffect(() => {
29
- if (session?.user && session.organization) {
30
- setIsOrganizationAdmin(
31
- session.organization.adminsIds.includes(session.user._id)
32
- );
33
- }
34
- if (session?.user && session.project) {
35
- setIsProjectAdmin(
36
- session.project?.adminsIds.includes(session.user._id) ?? false
37
- );
38
- }
39
- }, [session]);
40
26
  const memoValue = useMemo(
41
27
  () => ({
42
28
  session,
@@ -46,8 +32,8 @@ const AuthProvider = ({
46
32
  csrfToken,
47
33
  csrfTokenFetched,
48
34
  oAuth2AccessToken,
49
- isProjectAdmin,
50
- isOrganizationAdmin
35
+ isProjectAdmin: session?.isProjectAdmin,
36
+ isOrganizationAdmin: session?.isOrganizationAdmin
51
37
  }),
52
38
  [
53
39
  session,
@@ -56,9 +42,7 @@ const AuthProvider = ({
56
42
  revalidateSession,
57
43
  csrfToken,
58
44
  csrfTokenFetched,
59
- oAuth2AccessToken,
60
- isProjectAdmin,
61
- isOrganizationAdmin
45
+ oAuth2AccessToken
62
46
  ]
63
47
  );
64
48
  return /* @__PURE__ */ jsxRuntimeExports.jsx(AuthContext.Provider, { value: memoValue, children });
@@ -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 useState,\n useEffect,\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};\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;\n isOrganizationAdmin: boolean;\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: false,\n isOrganizationAdmin: false,\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 const [isProjectAdmin, setIsProjectAdmin] = useState<boolean>(false);\n const [isOrganizationAdmin, setIsOrganizationAdmin] =\n useState<boolean>(false);\n\n useEffect(() => {\n if (session?.user && session.organization) {\n setIsOrganizationAdmin(\n session.organization.adminsIds.includes(session.user._id)\n );\n }\n if (session?.user && session.project) {\n setIsProjectAdmin(\n session.project?.adminsIds.includes(session.user._id) ?? false\n );\n }\n }, [session]);\n\n const memoValue: SessionContextProps = useMemo(\n () => ({\n session,\n fetchSession,\n setSession,\n revalidateSession,\n csrfToken,\n csrfTokenFetched,\n oAuth2AccessToken,\n isProjectAdmin,\n isOrganizationAdmin,\n }),\n [\n session,\n setSession,\n fetchSession,\n revalidateSession,\n csrfToken,\n csrfTokenFetched,\n oAuth2AccessToken,\n isProjectAdmin,\n isOrganizationAdmin,\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;AACjD,QAAM,CAAC,gBAAgB,iBAAiB,IAAI,SAAkB,KAAK;AACnE,QAAM,CAAC,qBAAqB,sBAAsB,IAChD,SAAkB,KAAK;AAEzB,YAAU,MAAM;AACV,QAAA,SAAS,QAAQ,QAAQ,cAAc;AACzC;AAAA,QACE,QAAQ,aAAa,UAAU,SAAS,QAAQ,KAAK,GAAG;AAAA,MAAA;AAAA,IAE5D;AACI,QAAA,SAAS,QAAQ,QAAQ,SAAS;AACpC;AAAA,QACE,QAAQ,SAAS,UAAU,SAAS,QAAQ,KAAK,GAAG,KAAK;AAAA,MAAA;AAAA,IAE7D;AAAA,EAAA,GACC,CAAC,OAAO,CAAC;AAEZ,QAAM,YAAiC;AAAA,IACrC,OAAO;AAAA,MACL;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,IAAA;AAAA,IAEF;AAAA,MACE;AAAA,MACA;AAAA,MACA;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 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;"}
@@ -11,14 +11,18 @@ const useSession = (sessionProp) => {
11
11
  try {
12
12
  const result = await libs_intlayerApi_index.getIntlayerAPI().auth.getSession();
13
13
  if (result.data) {
14
+ const { user, organization, project } = result.data;
14
15
  const formattedSession = {
15
- user: result.data.user,
16
- organization: result.data.organization,
17
- project: result.data.project
16
+ user,
17
+ organization,
18
+ isOrganizationAdmin: (user && (organization?.adminsIds ?? []).includes(user._id)) ?? false,
19
+ project,
20
+ isProjectAdmin: (user && (project?.adminsIds ?? []).includes(user._id)) ?? false
18
21
  };
19
22
  return formattedSession;
20
23
  }
21
24
  } catch (_error) {
25
+ console.error(_error);
22
26
  }
23
27
  return null;
24
28
  },
@@ -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 formattedSession: Session = {\n user: result.data.user,\n organization: result.data.organization,\n project: result.data.project,\n };\n\n return formattedSession;\n }\n } catch (_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,mBAA4B;AAAA,YAChC,MAAM,OAAO,KAAK;AAAA,YAClB,cAAc,OAAO,KAAK;AAAA,YAC1B,SAAS,OAAO,KAAK;AAAA,UAAA;AAGhB,iBAAA;AAAA,QACT;AAAA,eACO,QAAQ;AAAA,MAEjB;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 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,5 +1,4 @@
1
1
  import { Session } from './index';
2
-
3
2
  export declare const useSession: (sessionProp?: Session | null) => {
4
3
  session: Session | null | undefined;
5
4
  fetchSession: () => Promise<Session | null | undefined>;
@@ -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;;;;;CAuEtD,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;;;;;CAgFtD,CAAC"}
@@ -9,14 +9,18 @@ const useSession = (sessionProp) => {
9
9
  try {
10
10
  const result = await getIntlayerAPI().auth.getSession();
11
11
  if (result.data) {
12
+ const { user, organization, project } = result.data;
12
13
  const formattedSession = {
13
- user: result.data.user,
14
- organization: result.data.organization,
15
- project: result.data.project
14
+ user,
15
+ organization,
16
+ isOrganizationAdmin: (user && (organization?.adminsIds ?? []).includes(user._id)) ?? false,
17
+ project,
18
+ isProjectAdmin: (user && (project?.adminsIds ?? []).includes(user._id)) ?? false
16
19
  };
17
20
  return formattedSession;
18
21
  }
19
22
  } catch (_error) {
23
+ console.error(_error);
20
24
  }
21
25
  return null;
22
26
  },
@@ -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 formattedSession: Session = {\n user: result.data.user,\n organization: result.data.organization,\n project: result.data.project,\n };\n\n return formattedSession;\n }\n } catch (_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,mBAA4B;AAAA,YAChC,MAAM,OAAO,KAAK;AAAA,YAClB,cAAc,OAAO,KAAK;AAAA,YAC1B,SAAS,OAAO,KAAK;AAAA,UAAA;AAGhB,iBAAA;AAAA,QACT;AAAA,eACO,QAAQ;AAAA,MAEjB;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 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;"}